diff --git a/admin/build/index.js b/admin/build/index.js index b7aad071..364e3d50 100644 --- a/admin/build/index.js +++ b/admin/build/index.js @@ -1,36 +1,63 @@ -"use strict";(()=>{var Tle=Object.create;var Fg=Object.defineProperty;var Sle=Object.getOwnPropertyDescriptor;var wle=Object.getOwnPropertyNames;var _le=Object.getPrototypeOf,Cle=Object.prototype.hasOwnProperty;var Ole=(e,t,r)=>t in e?Fg(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Or=(e,t)=>()=>(e&&(t=e(e=0)),t);var F=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Xk=(e,t)=>{for(var r in t)Fg(e,r,{get:t[r],enumerable:!0})},mL=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of wle(t))!Cle.call(e,a)&&a!==r&&Fg(e,a,{get:()=>t[a],enumerable:!(o=Sle(t,a))||o.enumerable});return e};var y=(e,t,r)=>(r=e!=null?Tle(_le(e)):{},mL(t||!e||!e.__esModule?Fg(r,"default",{value:e,enumerable:!0}):r,e)),Bg=e=>mL(Fg({},"__esModule",{value:!0}),e);var A=(e,t,r)=>(Ole(e,typeof t!="symbol"?t+"":t,r),r),kle=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)};var hL=(e,t,r)=>(kle(e,t,"read from private field"),r?r.call(e):t.get(e)),xL=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)};var sS=F((SVe,yL)=>{"use strict";var gL=Object.getOwnPropertySymbols,Ele=Object.prototype.hasOwnProperty,Ple=Object.prototype.propertyIsEnumerable;function Rle(e){if(e==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function Dle(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de",Object.getOwnPropertyNames(e)[0]==="5")return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;var o=Object.getOwnPropertyNames(t).map(function(n){return t[n]});if(o.join("")!=="0123456789")return!1;var a={};return"abcdefghijklmnopqrst".split("").forEach(function(n){a[n]=n}),Object.keys(Object.assign({},a)).join("")==="abcdefghijklmnopqrst"}catch(n){return!1}}yL.exports=Dle()?Object.assign:function(e,t){for(var r,o=Rle(e),a,n=1;n{"use strict";var Yk=sS(),lm=60103,TL=60106;zt.Fragment=60107;zt.StrictMode=60108;zt.Profiler=60114;var SL=60109,wL=60110,_L=60112;zt.Suspense=60113;var CL=60115,OL=60116;typeof Symbol=="function"&&Symbol.for&&(ps=Symbol.for,lm=ps("react.element"),TL=ps("react.portal"),zt.Fragment=ps("react.fragment"),zt.StrictMode=ps("react.strict_mode"),zt.Profiler=ps("react.profiler"),SL=ps("react.provider"),wL=ps("react.context"),_L=ps("react.forward_ref"),zt.Suspense=ps("react.suspense"),CL=ps("react.memo"),OL=ps("react.lazy"));var ps,bL=typeof Symbol=="function"&&Symbol.iterator;function Ale(e){return e===null||typeof e!="object"?null:(e=bL&&e[bL]||e["@@iterator"],typeof e=="function"?e:null)}function jg(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r{"use strict";IL.exports=NL()});var WL=F(Yt=>{"use strict";var um,Wg,fS,lE;typeof performance=="object"&&typeof performance.now=="function"?(FL=performance,Yt.unstable_now=function(){return FL.now()}):(rE=Date,BL=rE.now(),Yt.unstable_now=function(){return rE.now()-BL});var FL,rE,BL;typeof window=="undefined"||typeof MessageChannel!="function"?(dm=null,oE=null,aE=function(){if(dm!==null)try{var e=Yt.unstable_now();dm(!0,e),dm=null}catch(t){throw setTimeout(aE,0),t}},um=function(e){dm!==null?setTimeout(um,0,e):(dm=e,setTimeout(aE,0))},Wg=function(e,t){oE=setTimeout(e,t)},fS=function(){clearTimeout(oE)},Yt.unstable_shouldYield=function(){return!1},lE=Yt.unstable_forceFrameRate=function(){}):(jL=window.setTimeout,LL=window.clearTimeout,typeof console!="undefined"&&(zL=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),typeof zL!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")),Lg=!1,zg=null,pS=-1,nE=5,sE=0,Yt.unstable_shouldYield=function(){return Yt.unstable_now()>=sE},lE=function(){},Yt.unstable_forceFrameRate=function(e){0>e||125>>1,a=e[o];if(a!==void 0&&0uS(s,r))p!==void 0&&0>uS(p,s)?(e[o]=p,e[i]=r,o=i):(e[o]=s,e[n]=r,o=n);else if(p!==void 0&&0>uS(p,r))e[o]=p,e[i]=r,o=i;else break e}}return t}return null}function uS(e,t){var r=e.sortIndex-t.sortIndex;return r!==0?r:e.id-t.id}var Wi=[],Wp=[],Ble=1,ds=null,Oa=3,mS=!1,Lu=!1,Ug=!1;function dE(e){for(var t=ti(Wp);t!==null;){if(t.callback===null)cS(Wp);else if(t.startTime<=e)cS(Wp),t.sortIndex=t.expirationTime,pE(Wi,t);else break;t=ti(Wp)}}function uE(e){if(Ug=!1,dE(e),!Lu)if(ti(Wi)!==null)Lu=!0,um(fE);else{var t=ti(Wp);t!==null&&Wg(uE,t.startTime-e)}}function fE(e,t){Lu=!1,Ug&&(Ug=!1,fS()),mS=!0;var r=Oa;try{for(dE(t),ds=ti(Wi);ds!==null&&(!(ds.expirationTime>t)||e&&!Yt.unstable_shouldYield());){var o=ds.callback;if(typeof o=="function"){ds.callback=null,Oa=ds.priorityLevel;var a=o(ds.expirationTime<=t);t=Yt.unstable_now(),typeof a=="function"?ds.callback=a:ds===ti(Wi)&&cS(Wi),dE(t)}else cS(Wi);ds=ti(Wi)}if(ds!==null)var n=!0;else{var s=ti(Wp);s!==null&&Wg(uE,s.startTime-t),n=!1}return n}finally{ds=null,Oa=r,mS=!1}}var jle=lE;Yt.unstable_IdlePriority=5;Yt.unstable_ImmediatePriority=1;Yt.unstable_LowPriority=4;Yt.unstable_NormalPriority=3;Yt.unstable_Profiling=null;Yt.unstable_UserBlockingPriority=2;Yt.unstable_cancelCallback=function(e){e.callback=null};Yt.unstable_continueExecution=function(){Lu||mS||(Lu=!0,um(fE))};Yt.unstable_getCurrentPriorityLevel=function(){return Oa};Yt.unstable_getFirstCallbackNode=function(){return ti(Wi)};Yt.unstable_next=function(e){switch(Oa){case 1:case 2:case 3:var t=3;break;default:t=Oa}var r=Oa;Oa=t;try{return e()}finally{Oa=r}};Yt.unstable_pauseExecution=function(){};Yt.unstable_requestPaint=jle;Yt.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var r=Oa;Oa=e;try{return t()}finally{Oa=r}};Yt.unstable_scheduleCallback=function(e,t,r){var o=Yt.unstable_now();switch(typeof r=="object"&&r!==null?(r=r.delay,r=typeof r=="number"&&0o?(e.sortIndex=r,pE(Wp,e),ti(Wi)===null&&e===ti(Wp)&&(Ug?fS():Ug=!0,Wg(uE,r-o))):(e.sortIndex=a,pE(Wi,e),Lu||mS||(Lu=!0,um(fE))),e};Yt.unstable_wrapCallback=function(e){var t=Oa;return function(){var r=Oa;Oa=t;try{return e.apply(this,arguments)}finally{Oa=r}}}});var VL=F((OVe,UL)=>{"use strict";UL.exports=WL()});var P4=F(xs=>{"use strict";var iw=P(),zr=sS(),ta=VL();function we(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;rt}return!1}function za(e,t,r,o,a,n,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=o,this.attributeNamespace=a,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=n,this.removeEmptyString=s}var fa={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){fa[e]=new za(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];fa[t]=new za(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){fa[e]=new za(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){fa[e]=new za(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){fa[e]=new za(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){fa[e]=new za(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){fa[e]=new za(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){fa[e]=new za(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){fa[e]=new za(e,5,!1,e.toLowerCase(),null,!1,!1)});var TP=/[\-:]([a-z])/g;function SP(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(TP,SP);fa[t]=new za(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(TP,SP);fa[t]=new za(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(TP,SP);fa[t]=new za(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){fa[e]=new za(e,1,!1,e.toLowerCase(),null,!1,!1)});fa.xlinkHref=new za("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){fa[e]=new za(e,1,!1,e.toLowerCase(),null,!0,!0)});function wP(e,t,r,o){var a=fa.hasOwnProperty(t)?fa[t]:null,n=a!==null?a.type===0:o?!1:!(!(2{var HQ=Object.create;var kC=Object.defineProperty;var VQ=Object.getOwnPropertyDescriptor;var $Q=Object.getOwnPropertyNames;var GQ=Object.getPrototypeOf,qQ=Object.prototype.hasOwnProperty;var KQ=(e,t,r)=>t in e?kC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var L=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var JQ=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of $Q(t))!qQ.call(e,a)&&a!==r&&kC(e,a,{get:()=>t[a],enumerable:!(o=VQ(t,a))||o.enumerable});return e};var y=(e,t,r)=>(r=e!=null?HQ(GQ(e)):{},JQ(t||!e||!e.__esModule?kC(r,"default",{value:e,enumerable:!0}):r,e));var A=(e,t,r)=>(KQ(e,typeof t!="symbol"?t+"":t,r),r),XQ=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)};var ZM=(e,t,r)=>(XQ(e,t,"read from private field"),r?r.call(e):t.get(e)),QM=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)};var Hv=L((mNe,tN)=>{"use strict";var eN=Object.getOwnPropertySymbols,YQ=Object.prototype.hasOwnProperty,ZQ=Object.prototype.propertyIsEnumerable;function QQ(e){if(e==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function eee(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de",Object.getOwnPropertyNames(e)[0]==="5")return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;var o=Object.getOwnPropertyNames(t).map(function(n){return t[n]});if(o.join("")!=="0123456789")return!1;var a={};return"abcdefghijklmnopqrst".split("").forEach(function(n){a[n]=n}),Object.keys(Object.assign({},a)).join("")==="abcdefghijklmnopqrst"}catch(n){return!1}}tN.exports=eee()?Object.assign:function(e,t){for(var r,o=QQ(e),a,n=1;n{"use strict";var PC=Hv(),Uf=60103,aN=60106;Et.Fragment=60107;Et.StrictMode=60108;Et.Profiler=60114;var nN=60109,sN=60110,iN=60112;Et.Suspense=60113;var lN=60115,pN=60116;typeof Symbol=="function"&&Symbol.for&&(Bn=Symbol.for,Uf=Bn("react.element"),aN=Bn("react.portal"),Et.Fragment=Bn("react.fragment"),Et.StrictMode=Bn("react.strict_mode"),Et.Profiler=Bn("react.profiler"),nN=Bn("react.provider"),sN=Bn("react.context"),iN=Bn("react.forward_ref"),Et.Suspense=Bn("react.suspense"),lN=Bn("react.memo"),pN=Bn("react.lazy"));var Bn,rN=typeof Symbol=="function"&&Symbol.iterator;function tee(e){return e===null||typeof e!="object"?null:(e=rN&&e[rN]||e["@@iterator"],typeof e=="function"?e:null)}function Kh(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r{"use strict";yN.exports=gN()});var _N=L(Lt=>{"use strict";var $f,Yh,Jv,zC;typeof performance=="object"&&typeof performance.now=="function"?(vN=performance,Lt.unstable_now=function(){return vN.now()}):(NC=Date,bN=NC.now(),Lt.unstable_now=function(){return NC.now()-bN});var vN,NC,bN;typeof window=="undefined"||typeof MessageChannel!="function"?(Vf=null,IC=null,FC=function(){if(Vf!==null)try{var e=Lt.unstable_now();Vf(!0,e),Vf=null}catch(t){throw setTimeout(FC,0),t}},$f=function(e){Vf!==null?setTimeout($f,0,e):(Vf=e,setTimeout(FC,0))},Yh=function(e,t){IC=setTimeout(e,t)},Jv=function(){clearTimeout(IC)},Lt.unstable_shouldYield=function(){return!1},zC=Lt.unstable_forceFrameRate=function(){}):(TN=window.setTimeout,SN=window.clearTimeout,typeof console!="undefined"&&(wN=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),typeof wN!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")),Jh=!1,Xh=null,Gv=-1,BC=5,LC=0,Lt.unstable_shouldYield=function(){return Lt.unstable_now()>=LC},zC=function(){},Lt.unstable_forceFrameRate=function(e){0>e||125>>1,a=e[o];if(a!==void 0&&0Kv(s,r))p!==void 0&&0>Kv(p,s)?(e[o]=p,e[i]=r,o=i):(e[o]=s,e[n]=r,o=n);else if(p!==void 0&&0>Kv(p,r))e[o]=p,e[i]=r,o=i;else break e}}return t}return null}function Kv(e,t){var r=e.sortIndex-t.sortIndex;return r!==0?r:e.id-t.id}var li=[],Kl=[],see=1,Ln=null,aa=3,Yv=!1,Wd=!1,Zh=!1;function UC(e){for(var t=Ts(Kl);t!==null;){if(t.callback===null)Xv(Kl);else if(t.startTime<=e)Xv(Kl),t.sortIndex=t.expirationTime,WC(li,t);else break;t=Ts(Kl)}}function HC(e){if(Zh=!1,UC(e),!Wd)if(Ts(li)!==null)Wd=!0,$f(VC);else{var t=Ts(Kl);t!==null&&Yh(HC,t.startTime-e)}}function VC(e,t){Wd=!1,Zh&&(Zh=!1,Jv()),Yv=!0;var r=aa;try{for(UC(t),Ln=Ts(li);Ln!==null&&(!(Ln.expirationTime>t)||e&&!Lt.unstable_shouldYield());){var o=Ln.callback;if(typeof o=="function"){Ln.callback=null,aa=Ln.priorityLevel;var a=o(Ln.expirationTime<=t);t=Lt.unstable_now(),typeof a=="function"?Ln.callback=a:Ln===Ts(li)&&Xv(li),UC(t)}else Xv(li);Ln=Ts(li)}if(Ln!==null)var n=!0;else{var s=Ts(Kl);s!==null&&Yh(HC,s.startTime-t),n=!1}return n}finally{Ln=null,aa=r,Yv=!1}}var iee=zC;Lt.unstable_IdlePriority=5;Lt.unstable_ImmediatePriority=1;Lt.unstable_LowPriority=4;Lt.unstable_NormalPriority=3;Lt.unstable_Profiling=null;Lt.unstable_UserBlockingPriority=2;Lt.unstable_cancelCallback=function(e){e.callback=null};Lt.unstable_continueExecution=function(){Wd||Yv||(Wd=!0,$f(VC))};Lt.unstable_getCurrentPriorityLevel=function(){return aa};Lt.unstable_getFirstCallbackNode=function(){return Ts(li)};Lt.unstable_next=function(e){switch(aa){case 1:case 2:case 3:var t=3;break;default:t=aa}var r=aa;aa=t;try{return e()}finally{aa=r}};Lt.unstable_pauseExecution=function(){};Lt.unstable_requestPaint=iee;Lt.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var r=aa;aa=e;try{return t()}finally{aa=r}};Lt.unstable_scheduleCallback=function(e,t,r){var o=Lt.unstable_now();switch(typeof r=="object"&&r!==null?(r=r.delay,r=typeof r=="number"&&0o?(e.sortIndex=r,WC(Kl,e),Ts(li)===null&&e===Ts(Kl)&&(Zh?Jv():Zh=!0,Yh(HC,r-o))):(e.sortIndex=a,WC(li,e),Wd||Yv||(Wd=!0,$f(VC))),e};Lt.unstable_wrapCallback=function(e){var t=aa;return function(){var r=aa;aa=t;try{return e.apply(this,arguments)}finally{aa=r}}}});var ON=L((yNe,CN)=>{"use strict";CN.exports=_N()});var fB=L(Vn=>{"use strict";var Vb=D(),_r=Hv(),Ao=ON();function Te(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;rt}return!1}function ga(e,t,r,o,a,n,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=o,this.attributeNamespace=a,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=n,this.removeEmptyString=s}var Ho={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Ho[e]=new ga(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Ho[t]=new ga(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Ho[e]=new ga(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Ho[e]=new ga(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Ho[e]=new ga(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Ho[e]=new ga(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Ho[e]=new ga(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Ho[e]=new ga(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Ho[e]=new ga(e,5,!1,e.toLowerCase(),null,!1,!1)});var QO=/[\-:]([a-z])/g;function e1(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(QO,e1);Ho[t]=new ga(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(QO,e1);Ho[t]=new ga(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(QO,e1);Ho[t]=new ga(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Ho[e]=new ga(e,1,!1,e.toLowerCase(),null,!1,!1)});Ho.xlinkHref=new ga("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Ho[e]=new ga(e,1,!1,e.toLowerCase(),null,!0,!0)});function t1(e,t,r,o){var a=Ho.hasOwnProperty(t)?Ho[t]:null,n=a!==null?a.type===0:o?!1:!(!(2i||a[s]!==n[i])return` -`+a[s].replace(" at new "," at ");while(1<=s&&0<=i);break}}}finally{mE=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?ry(e):""}function Vle(e){switch(e.tag){case 5:return ry(e.type);case 16:return ry("Lazy");case 13:return ry("Suspense");case 19:return ry("SuspenseList");case 0:case 2:case 15:return e=hS(e.type,!1),e;case 11:return e=hS(e.type.render,!1),e;case 22:return e=hS(e.type._render,!1),e;case 1:return e=hS(e.type,!0),e;default:return""}}function Sm(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Vp:return"Fragment";case Wu:return"Portal";case sy:return"Profiler";case _P:return"StrictMode";case iy:return"Suspense";case jS:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case OP:return(e.displayName||"Context")+".Consumer";case CP:return(e._context.displayName||"Context")+".Provider";case lw:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case pw:return Sm(e.type);case EP:return Sm(e._render);case kP:t=e._payload,e=e._init;try{return Sm(e(t))}catch(r){}}return null}function td(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function a3(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Hle(e){var t=a3(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),o=""+e[t];if(!e.hasOwnProperty(t)&&typeof r!="undefined"&&typeof r.get=="function"&&typeof r.set=="function"){var a=r.get,n=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(s){o=""+s,n.call(this,s)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return o},setValue:function(s){o=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function xS(e){e._valueTracker||(e._valueTracker=Hle(e))}function n3(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),o="";return e&&(o=a3(e)?e.checked?"true":"false":e.value),e=o,e!==r?(t.setValue(e),!0):!1}function LS(e){if(e=e||(typeof document!="undefined"?document:void 0),typeof e=="undefined")return null;try{return e.activeElement||e.body}catch(t){return e.body}}function FE(e,t){var r=t.checked;return zr({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r!=null?r:e._wrapperState.initialChecked})}function KL(e,t){var r=t.defaultValue==null?"":t.defaultValue,o=t.checked!=null?t.checked:t.defaultChecked;r=td(t.value!=null?t.value:r),e._wrapperState={initialChecked:o,initialValue:r,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function s3(e,t){t=t.checked,t!=null&&wP(e,"checked",t,!1)}function BE(e,t){s3(e,t);var r=td(t.value),o=t.type;if(r!=null)o==="number"?(r===0&&e.value===""||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if(o==="submit"||o==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?jE(e,t.type,r):t.hasOwnProperty("defaultValue")&&jE(e,t.type,td(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function XL(e,t,r){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var o=t.type;if(!(o!=="submit"&&o!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}r=e.name,r!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,r!==""&&(e.name=r)}function jE(e,t,r){(t!=="number"||LS(e.ownerDocument)!==e)&&(r==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}function $le(e){var t="";return iw.Children.forEach(e,function(r){r!=null&&(t+=r)}),t}function LE(e,t){return e=zr({children:void 0},t),(t=$le(t.children))&&(e.children=t),e}function wm(e,t,r,o){if(e=e.options,t){t={};for(var a=0;a=r.length))throw Error(we(93));r=r[0]}t=r}t==null&&(t=""),r=t}e._wrapperState={initialValue:td(r)}}function i3(e,t){var r=td(t.value),o=td(t.defaultValue);r!=null&&(r=""+r,r!==e.value&&(e.value=r),t.defaultValue==null&&e.defaultValue!==r&&(e.defaultValue=r)),o!=null&&(e.defaultValue=""+o)}function YL(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}var WE={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function l3(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function UE(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?l3(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var gS,p3=function(e){return typeof MSApp!="undefined"&&MSApp.execUnsafeLocalFunction?function(t,r,o,a){MSApp.execUnsafeLocalFunction(function(){return e(t,r,o,a)})}:e}(function(e,t){if(e.namespaceURI!==WE.svg||"innerHTML"in e)e.innerHTML=t;else{for(gS=gS||document.createElement("div"),gS.innerHTML=""+t.valueOf().toString()+"",t=gS.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function by(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=t;return}}e.textContent=t}var ly={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Gle=["Webkit","ms","Moz","O"];Object.keys(ly).forEach(function(e){Gle.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),ly[t]=ly[e]})});function d3(e,t,r){return t==null||typeof t=="boolean"||t===""?"":r||typeof t!="number"||t===0||ly.hasOwnProperty(e)&&ly[e]?(""+t).trim():t+"px"}function u3(e,t){e=e.style;for(var r in t)if(t.hasOwnProperty(r)){var o=r.indexOf("--")===0,a=d3(r,t[r],o);r==="float"&&(r="cssFloat"),o?e.setProperty(r,a):e[r]=a}}var qle=zr({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function VE(e,t){if(t){if(qle[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(we(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(we(60));if(!(typeof t.dangerouslySetInnerHTML=="object"&&"__html"in t.dangerouslySetInnerHTML))throw Error(we(61))}if(t.style!=null&&typeof t.style!="object")throw Error(we(62))}}function HE(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function DP(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var $E=null,_m=null,Cm=null;function ZL(e){if(e=My(e)){if(typeof $E!="function")throw Error(we(280));var t=e.stateNode;t&&(t=hw(t),$E(e.stateNode,e.type,t))}}function f3(e){_m?Cm?Cm.push(e):Cm=[e]:_m=e}function c3(){if(_m){var e=_m,t=Cm;if(Cm=_m=null,ZL(e),t)for(e=0;eo?0:1<r;r++)t.push(e);return t}function uw(e,t,r){e.pendingLanes|=t;var o=t-1;e.suspendedLanes&=o,e.pingedLanes&=o,e=e.eventTimes,t=31-rd(t),e[t]=r}var rd=Math.clz32?Math.clz32:ppe,ipe=Math.log,lpe=Math.LN2;function ppe(e){return e===0?32:31-(ipe(e)/lpe|0)|0}var dpe=ta.unstable_UserBlockingPriority,upe=ta.unstable_runWithPriority,PS=!0;function fpe(e,t,r,o){Uu||MP();var a=jP,n=Uu;Uu=!0;try{m3(a,e,t,r,o)}finally{(Uu=n)||NP()}}function cpe(e,t,r,o){upe(dpe,jP.bind(null,e,t,r,o))}function jP(e,t,r,o){if(PS){var a;if((a=(t&4)===0)&&0=dy),l5=" ",p5=!1;function D3(e,t){switch(e){case"keyup":return Fpe.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function A3(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var gm=!1;function jpe(e,t){switch(e){case"compositionend":return A3(t);case"keypress":return t.which!==32?null:(p5=!0,l5);case"textInput":return e=t.data,e===l5&&p5?null:e;default:return null}}function Lpe(e,t){if(gm)return e==="compositionend"||!VP&&D3(e,t)?(e=P3(),RS=zP=Hp=null,gm=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:r,offset:t-e};e=o}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=f5(r)}}function F3(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?F3(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function m5(){for(var e=window,t=LS();t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href=="string"}catch(o){r=!1}if(r)e=t.contentWindow;else break;t=LS(e.document)}return t}function JE(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var Xpe=zl&&"documentMode"in document&&11>=document.documentMode,ym=null,YE=null,fy=null,ZE=!1;function h5(e,t,r){var o=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;ZE||ym==null||ym!==LS(o)||(o=ym,"selectionStart"in o&&JE(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),fy&&Cy(fy,o)||(fy=o,o=VS(YE,"onSelect"),0vm||(e.current=eP[vm],eP[vm]=null,vm--)}function io(e,t){vm++,eP[vm]=e.current,e.current=t}var od={},Ra=sd(od),hn=sd(!1),qu=od;function Mm(e,t){var r=e.type.contextTypes;if(!r)return od;var o=e.stateNode;if(o&&o.__reactInternalMemoizedUnmaskedChildContext===t)return o.__reactInternalMemoizedMaskedChildContext;var a={},n;for(n in r)a[n]=t[n];return o&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function xn(e){return e=e.childContextTypes,e!=null}function GS(){Ar(hn),Ar(Ra)}function w5(e,t,r){if(Ra.current!==od)throw Error(we(168));io(Ra,t),io(hn,r)}function H3(e,t,r){var o=e.stateNode;if(e=t.childContextTypes,typeof o.getChildContext!="function")return r;o=o.getChildContext();for(var a in o)if(!(a in e))throw Error(we(108,Sm(t)||"Unknown",a));return zr({},r,o)}function AS(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||od,qu=Ra.current,io(Ra,e),io(hn,hn.current),!0}function _5(e,t,r){var o=e.stateNode;if(!o)throw Error(we(169));r?(e=H3(e,t,qu),o.__reactInternalMemoizedMergedChildContext=e,Ar(hn),Ar(Ra),io(Ra,e)):Ar(hn),io(hn,r)}var $P=null,Gu=null,Zpe=ta.unstable_runWithPriority,GP=ta.unstable_scheduleCallback,tP=ta.unstable_cancelCallback,Qpe=ta.unstable_shouldYield,C5=ta.unstable_requestPaint,rP=ta.unstable_now,ede=ta.unstable_getCurrentPriorityLevel,xw=ta.unstable_ImmediatePriority,$3=ta.unstable_UserBlockingPriority,G3=ta.unstable_NormalPriority,q3=ta.unstable_LowPriority,K3=ta.unstable_IdlePriority,OE={},tde=C5!==void 0?C5:function(){},Il=null,MS=null,kE=!1,O5=rP(),Ea=1e4>O5?rP:function(){return rP()-O5};function Nm(){switch(ede()){case xw:return 99;case $3:return 98;case G3:return 97;case q3:return 96;case K3:return 95;default:throw Error(we(332))}}function X3(e){switch(e){case 99:return xw;case 98:return $3;case 97:return G3;case 96:return q3;case 95:return K3;default:throw Error(we(332))}}function Ku(e,t){return e=X3(e),Zpe(e,t)}function ky(e,t,r){return e=X3(e),GP(e,t,r)}function qi(){if(MS!==null){var e=MS;MS=null,tP(e)}J3()}function J3(){if(!kE&&Il!==null){kE=!0;var e=0;try{var t=Il;Ku(99,function(){for(;ek?(M=O,O=null):M=O.sibling;var N=f(h,O,T[k],v);if(N===null){O===null&&(O=M);break}e&&O&&N.alternate===null&&t(h,O),x=n(N,x,k),w===null?b=N:w.sibling=N,w=N,O=M}if(k===T.length)return r(h,O),b;if(O===null){for(;kk?(M=O,O=null):M=O.sibling;var S=f(h,O,N.value,v);if(S===null){O===null&&(O=M);break}e&&O&&S.alternate===null&&t(h,O),x=n(S,x,k),w===null?b=S:w.sibling=S,w=S,O=M}if(N.done)return r(h,O),b;if(O===null){for(;!N.done;k++,N=T.next())N=u(h,N.value,v),N!==null&&(x=n(N,x,k),w===null?b=N:w.sibling=N,w=N);return b}for(O=o(h,O);!N.done;k++,N=T.next())N=c(O,h,k,N.value,v),N!==null&&(e&&N.alternate!==null&&O.delete(N.key===null?k:N.key),x=n(N,x,k),w===null?b=N:w.sibling=N,w=N);return e&&O.forEach(function(B){return t(h,B)}),b}return function(h,x,T,v){var b=typeof T=="object"&&T!==null&&T.type===Vp&&T.key===null;b&&(T=T.props.children);var w=typeof T=="object"&&T!==null;if(w)switch(T.$$typeof){case ty:e:{for(w=T.key,b=x;b!==null;){if(b.key===w){switch(b.tag){case 7:if(T.type===Vp){r(h,b.sibling),x=a(b,T.props.children),x.return=h,h=x;break e}break;default:if(b.elementType===T.type){r(h,b.sibling),x=a(b,T.props),x.ref=Kg(h,b,T),x.return=h,h=x;break e}}r(h,b);break}else t(h,b);b=b.sibling}T.type===Vp?(x=Dm(T.props.children,h.mode,v,T.key),x.return=h,h=x):(v=BS(T.type,T.key,T.props,null,h.mode,v),v.ref=Kg(h,x,T),v.return=h,h=v)}return s(h);case Wu:e:{for(b=T.key;x!==null;){if(x.key===b)if(x.tag===4&&x.stateNode.containerInfo===T.containerInfo&&x.stateNode.implementation===T.implementation){r(h,x.sibling),x=a(x,T.children||[]),x.return=h,h=x;break e}else{r(h,x);break}else t(h,x);x=x.sibling}x=ME(T,h.mode,v),x.return=h,h=x}return s(h)}if(typeof T=="string"||typeof T=="number")return T=""+T,x!==null&&x.tag===6?(r(h,x.sibling),x=a(x,T),x.return=h,h=x):(r(h,x),x=AE(T,h.mode,v),x.return=h,h=x),s(h);if(wS(T))return m(h,x,T,v);if(Vg(T))return g(h,x,T,v);if(w&&_S(h,T),typeof T=="undefined"&&!b)switch(h.tag){case 1:case 22:case 0:case 11:case 15:throw Error(we(152,Sm(h.type)||"Component"))}return r(h,x)}}var YS=t4(!0),r4=t4(!1),Ny={},$i=sd(Ny),Py=sd(Ny),Ry=sd(Ny);function Hu(e){if(e===Ny)throw Error(we(174));return e}function aP(e,t){switch(io(Ry,t),io(Py,e),io($i,Ny),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:UE(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=UE(t,e)}Ar($i),io($i,t)}function Im(){Ar($i),Ar(Py),Ar(Ry)}function D5(e){Hu(Ry.current);var t=Hu($i.current),r=UE(t,e.type);t!==r&&(io(Py,e),io($i,r))}function JP(e){Py.current===e&&(Ar($i),Ar(Py))}var so=sd(0);function ZS(e){for(var t=e;t!==null;){if(t.tag===13){var r=t.memoizedState;if(r!==null&&(r=r.dehydrated,r===null||r.data==="$?"||r.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&64)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Bl=null,Gp=null,Gi=!1;function o4(e,t){var r=fs(5,null,null,0);r.elementType="DELETED",r.type="DELETED",r.stateNode=t,r.return=e,r.flags=8,e.lastEffect!==null?(e.lastEffect.nextEffect=r,e.lastEffect=r):e.firstEffect=e.lastEffect=r}function A5(e,t){switch(e.tag){case 5:var r=e.type;return t=t.nodeType!==1||r.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,!0):!1;case 13:return!1;default:return!1}}function nP(e){if(Gi){var t=Gp;if(t){var r=t;if(!A5(e,t)){if(t=Om(r.nextSibling),!t||!A5(e,t)){e.flags=e.flags&-1025|2,Gi=!1,Bl=e;return}o4(Bl,r)}Bl=e,Gp=Om(t.firstChild)}else e.flags=e.flags&-1025|2,Gi=!1,Bl=e}}function M5(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Bl=e}function CS(e){if(e!==Bl)return!1;if(!Gi)return M5(e),Gi=!0,!1;var t=e.type;if(e.tag!==5||t!=="head"&&t!=="body"&&!QE(t,e.memoizedProps))for(t=Gp;t;)o4(e,t),t=Om(t.nextSibling);if(M5(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(we(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var r=e.data;if(r==="/$"){if(t===0){Gp=Om(e.nextSibling);break e}t--}else r!=="$"&&r!=="$!"&&r!=="$?"||t++}e=e.nextSibling}Gp=null}}else Gp=Bl?Om(e.stateNode.nextSibling):null;return!0}function EE(){Gp=Bl=null,Gi=!1}var Em=[];function YP(){for(var e=0;en))throw Error(we(301));n+=1,da=ka=null,t.updateQueue=null,cy.current=sde,e=r(o,a)}while(my)}if(cy.current=ow,t=ka!==null&&ka.next!==null,Dy=0,da=ka=bo=null,QS=!1,t)throw Error(we(300));return e}function $u(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return da===null?bo.memoizedState=da=e:da=da.next=e,da}function Qu(){if(ka===null){var e=bo.alternate;e=e!==null?e.memoizedState:null}else e=ka.next;var t=da===null?bo.memoizedState:da.next;if(t!==null)da=t,ka=e;else{if(e===null)throw Error(we(310));ka=e,e={memoizedState:ka.memoizedState,baseState:ka.baseState,baseQueue:ka.baseQueue,queue:ka.queue,next:null},da===null?bo.memoizedState=da=e:da=da.next=e}return da}function Vi(e,t){return typeof t=="function"?t(e):t}function Xg(e){var t=Qu(),r=t.queue;if(r===null)throw Error(we(311));r.lastRenderedReducer=e;var o=ka,a=o.baseQueue,n=r.pending;if(n!==null){if(a!==null){var s=a.next;a.next=n.next,n.next=s}o.baseQueue=a=n,r.pending=null}if(a!==null){a=a.next,o=o.baseState;var i=s=n=null,p=a;do{var l=p.lane;if((Dy&l)===l)i!==null&&(i=i.next={lane:0,action:p.action,eagerReducer:p.eagerReducer,eagerState:p.eagerState,next:null}),o=p.eagerReducer===e?p.eagerState:e(o,p.action);else{var d={lane:l,action:p.action,eagerReducer:p.eagerReducer,eagerState:p.eagerState,next:null};i===null?(s=i=d,n=o):i=i.next=d,bo.lanes|=l,Iy|=l}p=p.next}while(p!==null&&p!==a);i===null?n=o:i.next=s,us(o,t.memoizedState)||(oi=!0),t.memoizedState=o,t.baseState=n,t.baseQueue=i,r.lastRenderedState=o}return[t.memoizedState,r.dispatch]}function Jg(e){var t=Qu(),r=t.queue;if(r===null)throw Error(we(311));r.lastRenderedReducer=e;var o=r.dispatch,a=r.pending,n=t.memoizedState;if(a!==null){r.pending=null;var s=a=a.next;do n=e(n,s.action),s=s.next;while(s!==a);us(n,t.memoizedState)||(oi=!0),t.memoizedState=n,t.baseQueue===null&&(t.baseState=n),r.lastRenderedState=n}return[n,o]}function N5(e,t,r){var o=t._getVersion;o=o(t._source);var a=t._workInProgressVersionPrimary;if(a!==null?e=a===o:(e=e.mutableReadLanes,(e=(Dy&e)===e)&&(t._workInProgressVersionPrimary=o,Em.push(t))),e)return r(t._source);throw Em.push(t),Error(we(350))}function a4(e,t,r,o){var a=La;if(a===null)throw Error(we(349));var n=t._getVersion,s=n(t._source),i=cy.current,p=i.useState(function(){return N5(a,t,r)}),l=p[1],d=p[0];p=da;var u=e.memoizedState,f=u.refs,c=f.getSnapshot,m=u.source;u=u.subscribe;var g=bo;return e.memoizedState={refs:f,source:t,subscribe:o},i.useEffect(function(){f.getSnapshot=r,f.setSnapshot=l;var h=n(t._source);if(!us(s,h)){h=r(t._source),us(d,h)||(l(h),h=Zp(g),a.mutableReadLanes|=h&a.pendingLanes),h=a.mutableReadLanes,a.entangledLanes|=h;for(var x=a.entanglements,T=h;0r?98:r,function(){e(!0)}),Ku(97<\/script>",e=e.removeChild(e.firstChild)):typeof o.is=="string"?e=s.createElement(r,{is:o.is}):(e=s.createElement(r),r==="select"&&(s=e,o.multiple?s.multiple=!0:o.size&&(s.size=o.size))):e=s.createElementNS(e,r),e[$p]=t,e[$S]=o,c4(e,t,!1,!1),t.stateNode=e,s=HE(r,o),r){case"dialog":Dr("cancel",e),Dr("close",e),a=o;break;case"iframe":case"object":case"embed":Dr("load",e),a=o;break;case"video":case"audio":for(a=0;ahP&&(t.flags|=64,n=!0,Zg(o,!1),t.lanes=33554432)}else{if(!n)if(e=ZS(s),e!==null){if(t.flags|=64,n=!0,r=e.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),Zg(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!Gi)return t=t.lastEffect=o.lastEffect,t!==null&&(t.nextEffect=null),null}else 2*Ea()-o.renderingStartTime>hP&&r!==1073741824&&(t.flags|=64,n=!0,Zg(o,!1),t.lanes=33554432);o.isBackwards?(s.sibling=t.child,t.child=s):(r=o.last,r!==null?r.sibling=s:t.child=s,o.last=s)}return o.tail!==null?(r=o.tail,o.rendering=r,o.tail=r.sibling,o.lastEffect=t.lastEffect,o.renderingStartTime=Ea(),r.sibling=null,t=so.current,io(so,n?t&1|2:t&1),r):null;case 23:case 24:return iR(),e!==null&&e.memoizedState!==null!=(t.memoizedState!==null)&&o.mode!=="unstable-defer-without-hiding"&&(t.flags|=4),null}throw Error(we(156,t.tag))}function pde(e){switch(e.tag){case 1:xn(e.type)&&GS();var t=e.flags;return t&4096?(e.flags=t&-4097|64,e):null;case 3:if(Im(),Ar(hn),Ar(Ra),YP(),t=e.flags,t&64)throw Error(we(285));return e.flags=t&-4097|64,e;case 5:return JP(e),null;case 13:return Ar(so),t=e.flags,t&4096?(e.flags=t&-4097|64,e):null;case 19:return Ar(so),null;case 4:return Im(),null;case 10:return KP(e),null;case 23:case 24:return iR(),null;default:return null}}function oR(e,t){try{var r="",o=t;do r+=Vle(o),o=o.return;while(o);var a=r}catch(n){a=` +`+a[s].replace(" at new "," at ");while(1<=s&&0<=i);break}}}finally{GC=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?fx(e):""}function fee(e){switch(e.tag){case 5:return fx(e.type);case 16:return fx("Lazy");case 13:return fx("Suspense");case 19:return fx("SuspenseList");case 0:case 2:case 15:return e=Zv(e.type,!1),e;case 11:return e=Zv(e.type.render,!1),e;case 22:return e=Zv(e.type._render,!1),e;case 1:return e=Zv(e.type,!0),e;default:return""}}function rc(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Xl:return"Fragment";case Hd:return"Portal";case xx:return"Profiler";case r1:return"StrictMode";case gx:return"Suspense";case Tb:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case a1:return(e.displayName||"Context")+".Consumer";case o1:return(e._context.displayName||"Context")+".Provider";case $b:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case Gb:return rc(e.type);case s1:return rc(e._render);case n1:t=e._payload,e=e._init;try{return rc(e(t))}catch(r){}}return null}function lp(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function WI(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function cee(e){var t=WI(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),o=""+e[t];if(!e.hasOwnProperty(t)&&typeof r!="undefined"&&typeof r.get=="function"&&typeof r.set=="function"){var a=r.get,n=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(s){o=""+s,n.call(this,s)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return o},setValue:function(s){o=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Qv(e){e._valueTracker||(e._valueTracker=cee(e))}function UI(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),o="";return e&&(o=WI(e)?e.checked?"true":"false":e.value),e=o,e!==r?(t.setValue(e),!0):!1}function Sb(e){if(e=e||(typeof document!="undefined"?document:void 0),typeof e=="undefined")return null;try{return e.activeElement||e.body}catch(t){return e.body}}function mO(e,t){var r=t.checked;return _r({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r!=null?r:e._wrapperState.initialChecked})}function DN(e,t){var r=t.defaultValue==null?"":t.defaultValue,o=t.checked!=null?t.checked:t.defaultChecked;r=lp(t.value!=null?t.value:r),e._wrapperState={initialChecked:o,initialValue:r,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function HI(e,t){t=t.checked,t!=null&&t1(e,"checked",t,!1)}function hO(e,t){HI(e,t);var r=lp(t.value),o=t.type;if(r!=null)o==="number"?(r===0&&e.value===""||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if(o==="submit"||o==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?xO(e,t.type,r):t.hasOwnProperty("defaultValue")&&xO(e,t.type,lp(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function AN(e,t,r){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var o=t.type;if(!(o!=="submit"&&o!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}r=e.name,r!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,r!==""&&(e.name=r)}function xO(e,t,r){(t!=="number"||Sb(e.ownerDocument)!==e)&&(r==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}function mee(e){var t="";return Vb.Children.forEach(e,function(r){r!=null&&(t+=r)}),t}function gO(e,t){return e=_r({children:void 0},t),(t=mee(t.children))&&(e.children=t),e}function oc(e,t,r,o){if(e=e.options,t){t={};for(var a=0;a=r.length))throw Error(Te(93));r=r[0]}t=r}t==null&&(t=""),r=t}e._wrapperState={initialValue:lp(r)}}function VI(e,t){var r=lp(t.value),o=lp(t.defaultValue);r!=null&&(r=""+r,r!==e.value&&(e.value=r),t.defaultValue==null&&e.defaultValue!==r&&(e.defaultValue=r)),o!=null&&(e.defaultValue=""+o)}function NN(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}var vO={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function $I(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function bO(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?$I(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var eb,GI=function(e){return typeof MSApp!="undefined"&&MSApp.execUnsafeLocalFunction?function(t,r,o,a){MSApp.execUnsafeLocalFunction(function(){return e(t,r,o,a)})}:e}(function(e,t){if(e.namespaceURI!==vO.svg||"innerHTML"in e)e.innerHTML=t;else{for(eb=eb||document.createElement("div"),eb.innerHTML=""+t.valueOf().toString()+"",t=eb.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Px(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=t;return}}e.textContent=t}var yx={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},hee=["Webkit","ms","Moz","O"];Object.keys(yx).forEach(function(e){hee.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),yx[t]=yx[e]})});function qI(e,t,r){return t==null||typeof t=="boolean"||t===""?"":r||typeof t!="number"||t===0||yx.hasOwnProperty(e)&&yx[e]?(""+t).trim():t+"px"}function KI(e,t){e=e.style;for(var r in t)if(t.hasOwnProperty(r)){var o=r.indexOf("--")===0,a=qI(r,t[r],o);r==="float"&&(r="cssFloat"),o?e.setProperty(r,a):e[r]=a}}var xee=_r({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function TO(e,t){if(t){if(xee[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Te(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Te(60));if(!(typeof t.dangerouslySetInnerHTML=="object"&&"__html"in t.dangerouslySetInnerHTML))throw Error(Te(61))}if(t.style!=null&&typeof t.style!="object")throw Error(Te(62))}}function SO(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function p1(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var wO=null,ac=null,nc=null;function IN(e){if(e=Hx(e)){if(typeof wO!="function")throw Error(Te(280));var t=e.stateNode;t&&(t=Zb(t),wO(e.stateNode,e.type,t))}}function JI(e){ac?nc?nc.push(e):nc=[e]:ac=e}function XI(){if(ac){var e=ac,t=nc;if(nc=ac=null,IN(e),t)for(e=0;eo?0:1<r;r++)t.push(e);return t}function Kb(e,t,r){e.pendingLanes|=t;var o=t-1;e.suspendedLanes&=o,e.pingedLanes&=o,e=e.eventTimes,t=31-pp(t),e[t]=r}var pp=Math.clz32?Math.clz32:Aee,Ree=Math.log,Dee=Math.LN2;function Aee(e){return e===0?32:31-(Ree(e)/Dee|0)|0}var Mee=Ao.unstable_UserBlockingPriority,Nee=Ao.unstable_runWithPriority,fb=!0;function Iee(e,t,r,o){Vd||u1();var a=x1,n=Vd;Vd=!0;try{YI(a,e,t,r,o)}finally{(Vd=n)||f1()}}function Fee(e,t,r,o){Nee(Mee,x1.bind(null,e,t,r,o))}function x1(e,t,r,o){if(fb){var a;if((a=(t&4)===0)&&0=bx),$N=" ",GN=!1;function mF(e,t){switch(e){case"keyup":return nte.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function hF(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Yf=!1;function ite(e,t){switch(e){case"compositionend":return hF(t);case"keypress":return t.which!==32?null:(GN=!0,$N);case"textInput":return e=t.data,e===$N&&GN?null:e;default:return null}}function lte(e,t){if(Yf)return e==="compositionend"||!T1&&mF(e,t)?(e=fF(),cb=y1=Yl=null,Yf=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:r,offset:t-e};e=o}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=JN(r)}}function vF(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?vF(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function YN(){for(var e=window,t=Sb();t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href=="string"}catch(o){r=!1}if(r)e=t.contentWindow;else break;t=Sb(e.document)}return t}function EO(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var yte=nl&&"documentMode"in document&&11>=document.documentMode,Zf=null,PO=null,Sx=null,RO=!1;function ZN(e,t,r){var o=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;RO||Zf==null||Zf!==Sb(o)||(o=Zf,"selectionStart"in o&&EO(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),Sx&&Ix(Sx,o)||(Sx=o,o=Ob(PO,"onSelect"),0ec||(e.current=AO[ec],AO[ec]=null,ec--)}function Wr(e,t){ec++,AO[ec]=e.current,e.current=t}var dp={},la=cp(dp),Va=cp(!1),Jd=dp;function cc(e,t){var r=e.type.contextTypes;if(!r)return dp;var o=e.stateNode;if(o&&o.__reactInternalMemoizedUnmaskedChildContext===t)return o.__reactInternalMemoizedMaskedChildContext;var a={},n;for(n in r)a[n]=t[n];return o&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function $a(e){return e=e.childContextTypes,e!=null}function Pb(){gr(Va),gr(la)}function sI(e,t,r){if(la.current!==dp)throw Error(Te(168));Wr(la,t),Wr(Va,r)}function kF(e,t,r){var o=e.stateNode;if(e=t.childContextTypes,typeof o.getChildContext!="function")return r;o=o.getChildContext();for(var a in o)if(!(a in e))throw Error(Te(108,rc(t)||"Unknown",a));return _r({},r,o)}function hb(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||dp,Jd=la.current,Wr(la,e),Wr(Va,Va.current),!0}function iI(e,t,r){var o=e.stateNode;if(!o)throw Error(Te(169));r?(e=kF(e,t,Jd),o.__reactInternalMemoizedMergedChildContext=e,gr(Va),gr(la),Wr(la,e)):gr(Va),Wr(Va,r)}var w1=null,Kd=null,Tte=Ao.unstable_runWithPriority,_1=Ao.unstable_scheduleCallback,MO=Ao.unstable_cancelCallback,Ste=Ao.unstable_shouldYield,lI=Ao.unstable_requestPaint,NO=Ao.unstable_now,wte=Ao.unstable_getCurrentPriorityLevel,Qb=Ao.unstable_ImmediatePriority,EF=Ao.unstable_UserBlockingPriority,PF=Ao.unstable_NormalPriority,RF=Ao.unstable_LowPriority,DF=Ao.unstable_IdlePriority,aO={},_te=lI!==void 0?lI:function(){},el=null,xb=null,nO=!1,pI=NO(),sa=1e4>pI?NO:function(){return NO()-pI};function mc(){switch(wte()){case Qb:return 99;case EF:return 98;case PF:return 97;case RF:return 96;case DF:return 95;default:throw Error(Te(332))}}function AF(e){switch(e){case 99:return Qb;case 98:return EF;case 97:return PF;case 96:return RF;case 95:return DF;default:throw Error(Te(332))}}function Xd(e,t){return e=AF(e),Tte(e,t)}function Bx(e,t,r){return e=AF(e),_1(e,t,r)}function mi(){if(xb!==null){var e=xb;xb=null,MO(e)}MF()}function MF(){if(!nO&&el!==null){nO=!0;var e=0;try{var t=el;Xd(99,function(){for(;ek?(M=O,O=null):M=O.sibling;var N=f(m,O,T[k],b);if(N===null){O===null&&(O=M);break}e&&O&&N.alternate===null&&t(m,O),x=n(N,x,k),w===null?v=N:w.sibling=N,w=N,O=M}if(k===T.length)return r(m,O),v;if(O===null){for(;kk?(M=O,O=null):M=O.sibling;var S=f(m,O,N.value,b);if(S===null){O===null&&(O=M);break}e&&O&&S.alternate===null&&t(m,O),x=n(S,x,k),w===null?v=S:w.sibling=S,w=S,O=M}if(N.done)return r(m,O),v;if(O===null){for(;!N.done;k++,N=T.next())N=u(m,N.value,b),N!==null&&(x=n(N,x,k),w===null?v=N:w.sibling=N,w=N);return v}for(O=o(m,O);!N.done;k++,N=T.next())N=c(O,m,k,N.value,b),N!==null&&(e&&N.alternate!==null&&O.delete(N.key===null?k:N.key),x=n(N,x,k),w===null?v=N:w.sibling=N,w=N);return e&&O.forEach(function(B){return t(m,B)}),v}return function(m,x,T,b){var v=typeof T=="object"&&T!==null&&T.type===Xl&&T.key===null;v&&(T=T.props.children);var w=typeof T=="object"&&T!==null;if(w)switch(T.$$typeof){case ux:e:{for(w=T.key,v=x;v!==null;){if(v.key===w){switch(v.tag){case 7:if(T.type===Xl){r(m,v.sibling),x=a(v,T.props.children),x.return=m,m=x;break e}break;default:if(v.elementType===T.type){r(m,v.sibling),x=a(v,T.props),x.ref=ax(m,v,T),x.return=m,m=x;break e}}r(m,v);break}else t(m,v);v=v.sibling}T.type===Xl?(x=uc(T.props.children,m.mode,b,T.key),x.return=m,m=x):(b=bb(T.type,T.key,T.props,null,m.mode,b),b.ref=ax(m,x,T),b.return=m,m=b)}return s(m);case Hd:e:{for(v=T.key;x!==null;){if(x.key===v)if(x.tag===4&&x.stateNode.containerInfo===T.containerInfo&&x.stateNode.implementation===T.implementation){r(m,x.sibling),x=a(x,T.children||[]),x.return=m,m=x;break e}else{r(m,x);break}else t(m,x);x=x.sibling}x=uO(T,m.mode,b),x.return=m,m=x}return s(m)}if(typeof T=="string"||typeof T=="number")return T=""+T,x!==null&&x.tag===6?(r(m,x.sibling),x=a(x,T),x.return=m,m=x):(r(m,x),x=dO(T,m.mode,b),x.return=m,m=x),s(m);if(sb(T))return h(m,x,T,b);if(Qh(T))return g(m,x,T,b);if(w&&ib(m,T),typeof T=="undefined"&&!v)switch(m.tag){case 1:case 22:case 0:case 11:case 15:throw Error(Te(152,rc(m.type)||"Component"))}return r(m,x)}}var Nb=LF(!0),jF=LF(!1),Vx={},fi=cp(Vx),jx=cp(Vx),zx=cp(Vx);function Gd(e){if(e===Vx)throw Error(Te(174));return e}function FO(e,t){switch(Wr(zx,t),Wr(jx,e),Wr(fi,Vx),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:bO(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=bO(t,e)}gr(fi),Wr(fi,t)}function hc(){gr(fi),gr(jx),gr(zx)}function mI(e){Gd(zx.current);var t=Gd(fi.current),r=bO(t,e.type);t!==r&&(Wr(jx,e),Wr(fi,r))}function E1(e){jx.current===e&&(gr(fi),gr(jx))}var zr=cp(0);function Ib(e){for(var t=e;t!==null;){if(t.tag===13){var r=t.memoizedState;if(r!==null&&(r=r.dehydrated,r===null||r.data==="$?"||r.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&64)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var rl=null,Ql=null,ci=!1;function zF(e,t){var r=zn(5,null,null,0);r.elementType="DELETED",r.type="DELETED",r.stateNode=t,r.return=e,r.flags=8,e.lastEffect!==null?(e.lastEffect.nextEffect=r,e.lastEffect=r):e.firstEffect=e.lastEffect=r}function hI(e,t){switch(e.tag){case 5:var r=e.type;return t=t.nodeType!==1||r.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,!0):!1;case 13:return!1;default:return!1}}function BO(e){if(ci){var t=Ql;if(t){var r=t;if(!hI(e,t)){if(t=sc(r.nextSibling),!t||!hI(e,t)){e.flags=e.flags&-1025|2,ci=!1,rl=e;return}zF(rl,r)}rl=e,Ql=sc(t.firstChild)}else e.flags=e.flags&-1025|2,ci=!1,rl=e}}function xI(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;rl=e}function lb(e){if(e!==rl)return!1;if(!ci)return xI(e),ci=!0,!1;var t=e.type;if(e.tag!==5||t!=="head"&&t!=="body"&&!DO(t,e.memoizedProps))for(t=Ql;t;)zF(e,t),t=sc(t.nextSibling);if(xI(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(Te(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var r=e.data;if(r==="/$"){if(t===0){Ql=sc(e.nextSibling);break e}t--}else r!=="$"&&r!=="$!"&&r!=="$?"||t++}e=e.nextSibling}Ql=null}}else Ql=rl?sc(e.stateNode.nextSibling):null;return!0}function sO(){Ql=rl=null,ci=!1}var lc=[];function P1(){for(var e=0;en))throw Error(Te(301));n+=1,Wo=na=null,t.updateQueue=null,wx.current=Pte,e=r(o,a)}while(_x)}if(wx.current=zb,t=na!==null&&na.next!==null,Wx=0,Wo=na=Jr=null,Fb=!1,t)throw Error(Te(300));return e}function qd(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Wo===null?Jr.memoizedState=Wo=e:Wo=Wo.next=e,Wo}function tu(){if(na===null){var e=Jr.alternate;e=e!==null?e.memoizedState:null}else e=na.next;var t=Wo===null?Jr.memoizedState:Wo.next;if(t!==null)Wo=t,na=e;else{if(e===null)throw Error(Te(310));na=e,e={memoizedState:na.memoizedState,baseState:na.baseState,baseQueue:na.baseQueue,queue:na.queue,next:null},Wo===null?Jr.memoizedState=Wo=e:Wo=Wo.next=e}return Wo}function di(e,t){return typeof t=="function"?t(e):t}function nx(e){var t=tu(),r=t.queue;if(r===null)throw Error(Te(311));r.lastRenderedReducer=e;var o=na,a=o.baseQueue,n=r.pending;if(n!==null){if(a!==null){var s=a.next;a.next=n.next,n.next=s}o.baseQueue=a=n,r.pending=null}if(a!==null){a=a.next,o=o.baseState;var i=s=n=null,p=a;do{var l=p.lane;if((Wx&l)===l)i!==null&&(i=i.next={lane:0,action:p.action,eagerReducer:p.eagerReducer,eagerState:p.eagerState,next:null}),o=p.eagerReducer===e?p.eagerState:e(o,p.action);else{var d={lane:l,action:p.action,eagerReducer:p.eagerReducer,eagerState:p.eagerState,next:null};i===null?(s=i=d,n=o):i=i.next=d,Jr.lanes|=l,$x|=l}p=p.next}while(p!==null&&p!==a);i===null?n=o:i.next=s,jn(o,t.memoizedState)||(ws=!0),t.memoizedState=o,t.baseState=n,t.baseQueue=i,r.lastRenderedState=o}return[t.memoizedState,r.dispatch]}function sx(e){var t=tu(),r=t.queue;if(r===null)throw Error(Te(311));r.lastRenderedReducer=e;var o=r.dispatch,a=r.pending,n=t.memoizedState;if(a!==null){r.pending=null;var s=a=a.next;do n=e(n,s.action),s=s.next;while(s!==a);jn(n,t.memoizedState)||(ws=!0),t.memoizedState=n,t.baseQueue===null&&(t.baseState=n),r.lastRenderedState=n}return[n,o]}function gI(e,t,r){var o=t._getVersion;o=o(t._source);var a=t._workInProgressVersionPrimary;if(a!==null?e=a===o:(e=e.mutableReadLanes,(e=(Wx&e)===e)&&(t._workInProgressVersionPrimary=o,lc.push(t))),e)return r(t._source);throw lc.push(t),Error(Te(350))}function WF(e,t,r,o){var a=xa;if(a===null)throw Error(Te(349));var n=t._getVersion,s=n(t._source),i=wx.current,p=i.useState(function(){return gI(a,t,r)}),l=p[1],d=p[0];p=Wo;var u=e.memoizedState,f=u.refs,c=f.getSnapshot,h=u.source;u=u.subscribe;var g=Jr;return e.memoizedState={refs:f,source:t,subscribe:o},i.useEffect(function(){f.getSnapshot=r,f.setSnapshot=l;var m=n(t._source);if(!jn(s,m)){m=r(t._source),jn(d,m)||(l(m),m=np(g),a.mutableReadLanes|=m&a.pendingLanes),m=a.mutableReadLanes,a.entangledLanes|=m;for(var x=a.entanglements,T=m;0r?98:r,function(){e(!0)}),Xd(97<\/script>",e=e.removeChild(e.firstChild)):typeof o.is=="string"?e=s.createElement(r,{is:o.is}):(e=s.createElement(r),r==="select"&&(s=e,o.multiple?s.multiple=!0:o.size&&(s.size=o.size))):e=s.createElementNS(e,r),e[Zl]=t,e[Eb]=o,XF(e,t,!1,!1),t.stateNode=e,s=SO(r,o),r){case"dialog":xr("cancel",e),xr("close",e),a=o;break;case"iframe":case"object":case"embed":xr("load",e),a=o;break;case"video":case"audio":for(a=0;aqO&&(t.flags|=64,n=!0,lx(o,!1),t.lanes=33554432)}else{if(!n)if(e=Ib(s),e!==null){if(t.flags|=64,n=!0,r=e.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),lx(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!ci)return t=t.lastEffect=o.lastEffect,t!==null&&(t.nextEffect=null),null}else 2*sa()-o.renderingStartTime>qO&&r!==1073741824&&(t.flags|=64,n=!0,lx(o,!1),t.lanes=33554432);o.isBackwards?(s.sibling=t.child,t.child=s):(r=o.last,r!==null?r.sibling=s:t.child=s,o.last=s)}return o.tail!==null?(r=o.tail,o.rendering=r,o.tail=r.sibling,o.lastEffect=t.lastEffect,o.renderingStartTime=sa(),r.sibling=null,t=zr.current,Wr(zr,n?t&1|2:t&1),r):null;case 23:case 24:return j1(),e!==null&&e.memoizedState!==null!=(t.memoizedState!==null)&&o.mode!=="unstable-defer-without-hiding"&&(t.flags|=4),null}throw Error(Te(156,t.tag))}function Ate(e){switch(e.tag){case 1:$a(e.type)&&Pb();var t=e.flags;return t&4096?(e.flags=t&-4097|64,e):null;case 3:if(hc(),gr(Va),gr(la),P1(),t=e.flags,t&64)throw Error(Te(285));return e.flags=t&-4097|64,e;case 5:return E1(e),null;case 13:return gr(zr),t=e.flags,t&4096?(e.flags=t&-4097|64,e):null;case 19:return gr(zr),null;case 4:return hc(),null;case 10:return O1(e),null;case 23:case 24:return j1(),null;default:return null}}function I1(e,t){try{var r="",o=t;do r+=fee(o),o=o.return;while(o);var a=r}catch(n){a=` Error generating stack: `+n.message+` -`+n.stack}return{value:e,source:t,stack:a}}function dP(e,t){try{console.error(t.value)}catch(r){setTimeout(function(){throw r})}}var dde=typeof WeakMap=="function"?WeakMap:Map;function x4(e,t,r){r=Jp(-1,r),r.tag=3,r.payload={element:null};var o=t.value;return r.callback=function(){nw||(nw=!0,xP=o),dP(e,t)},r}function g4(e,t,r){r=Jp(-1,r),r.tag=3;var o=e.type.getDerivedStateFromError;if(typeof o=="function"){var a=t.value;r.payload=function(){return dP(e,t),o(a)}}var n=e.stateNode;return n!==null&&typeof n.componentDidCatch=="function"&&(r.callback=function(){typeof o!="function"&&(Hi===null?Hi=new Set([this]):Hi.add(this),dP(e,t));var s=t.stack;this.componentDidCatch(t.value,{componentStack:s!==null?s:""})}),r}var ude=typeof WeakSet=="function"?WeakSet:Set;function q5(e){var t=e.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(r){ed(e,r)}else t.current=null}function fde(e,t){switch(t.tag){case 0:case 11:case 15:case 22:return;case 1:if(t.flags&256&&e!==null){var r=e.memoizedProps,o=e.memoizedState;e=t.stateNode,t=e.getSnapshotBeforeUpdate(t.elementType===t.type?r:ri(t.type,r),o),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:t.flags&256&&HP(t.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(we(163))}function cde(e,t,r){switch(r.tag){case 0:case 11:case 15:case 22:if(t=r.updateQueue,t=t!==null?t.lastEffect:null,t!==null){e=t=t.next;do{if((e.tag&3)===3){var o=e.create;e.destroy=o()}e=e.next}while(e!==t)}if(t=r.updateQueue,t=t!==null?t.lastEffect:null,t!==null){e=t=t.next;do{var a=e;o=a.next,a=a.tag,a&4&&a&1&&(O4(r,e),Tde(r,e)),e=o}while(e!==t)}return;case 1:e=r.stateNode,r.flags&4&&(t===null?e.componentDidMount():(o=r.elementType===r.type?t.memoizedProps:ri(r.type,t.memoizedProps),e.componentDidUpdate(o,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),t=r.updateQueue,t!==null&&E5(r,t,e);return;case 3:if(t=r.updateQueue,t!==null){if(e=null,r.child!==null)switch(r.child.tag){case 5:e=r.child.stateNode;break;case 1:e=r.child.stateNode}E5(r,t,e)}return;case 5:e=r.stateNode,t===null&&r.flags&4&&U3(r.type,r.memoizedProps)&&e.focus();return;case 6:return;case 4:return;case 12:return;case 13:r.memoizedState===null&&(r=r.alternate,r!==null&&(r=r.memoizedState,r!==null&&(r=r.dehydrated,r!==null&&T3(r))));return;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(we(163))}function K5(e,t){for(var r=e;;){if(r.tag===5){var o=r.stateNode;if(t)o=o.style,typeof o.setProperty=="function"?o.setProperty("display","none","important"):o.display="none";else{o=r.stateNode;var a=r.memoizedProps.style;a=a!=null&&a.hasOwnProperty("display")?a.display:null,o.style.display=d3("display",a)}}else if(r.tag===6)r.stateNode.nodeValue=t?"":r.memoizedProps;else if((r.tag!==23&&r.tag!==24||r.memoizedState===null||r===e)&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===e)break;for(;r.sibling===null;){if(r.return===null||r.return===e)return;r=r.return}r.sibling.return=r.return,r=r.sibling}}function X5(e,t){if(Gu&&typeof Gu.onCommitFiberUnmount=="function")try{Gu.onCommitFiberUnmount($P,t)}catch(n){}switch(t.tag){case 0:case 11:case 14:case 15:case 22:if(e=t.updateQueue,e!==null&&(e=e.lastEffect,e!==null)){var r=e=e.next;do{var o=r,a=o.destroy;if(o=o.tag,a!==void 0)if(o&4)O4(t,r);else{o=t;try{a()}catch(n){ed(o,n)}}r=r.next}while(r!==e)}break;case 1:if(q5(t),e=t.stateNode,typeof e.componentWillUnmount=="function")try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(n){ed(t,n)}break;case 5:q5(t);break;case 4:y4(e,t)}}function J5(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function Y5(e){return e.tag===5||e.tag===3||e.tag===4}function Z5(e){e:{for(var t=e.return;t!==null;){if(Y5(t))break e;t=t.return}throw Error(we(160))}var r=t;switch(t=r.stateNode,r.tag){case 5:var o=!1;break;case 3:t=t.containerInfo,o=!0;break;case 4:t=t.containerInfo,o=!0;break;default:throw Error(we(161))}r.flags&16&&(by(t,""),r.flags&=-17);e:t:for(r=e;;){for(;r.sibling===null;){if(r.return===null||Y5(r.return)){r=null;break e}r=r.return}for(r.sibling.return=r.return,r=r.sibling;r.tag!==5&&r.tag!==6&&r.tag!==18;){if(r.flags&2||r.child===null||r.tag===4)continue t;r.child.return=r,r=r.child}if(!(r.flags&2)){r=r.stateNode;break e}}o?uP(e,r,t):fP(e,r,t)}function uP(e,t,r){var o=e.tag,a=o===5||o===6;if(a)e=a?e.stateNode:e.stateNode.instance,t?r.nodeType===8?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(r.nodeType===8?(t=r.parentNode,t.insertBefore(e,r)):(t=r,t.appendChild(e)),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=HS));else if(o!==4&&(e=e.child,e!==null))for(uP(e,t,r),e=e.sibling;e!==null;)uP(e,t,r),e=e.sibling}function fP(e,t,r){var o=e.tag,a=o===5||o===6;if(a)e=a?e.stateNode:e.stateNode.instance,t?r.insertBefore(e,t):r.appendChild(e);else if(o!==4&&(e=e.child,e!==null))for(fP(e,t,r),e=e.sibling;e!==null;)fP(e,t,r),e=e.sibling}function y4(e,t){for(var r=t,o=!1,a,n;;){if(!o){o=r.return;e:for(;;){if(o===null)throw Error(we(160));switch(a=o.stateNode,o.tag){case 5:n=!1;break e;case 3:a=a.containerInfo,n=!0;break e;case 4:a=a.containerInfo,n=!0;break e}o=o.return}o=!0}if(r.tag===5||r.tag===6){e:for(var s=e,i=r,p=i;;)if(X5(s,p),p.child!==null&&p.tag!==4)p.child.return=p,p=p.child;else{if(p===i)break e;for(;p.sibling===null;){if(p.return===null||p.return===i)break e;p=p.return}p.sibling.return=p.return,p=p.sibling}n?(s=a,i=r.stateNode,s.nodeType===8?s.parentNode.removeChild(i):s.removeChild(i)):a.removeChild(r.stateNode)}else if(r.tag===4){if(r.child!==null){a=r.stateNode.containerInfo,n=!0,r.child.return=r,r=r.child;continue}}else if(X5(e,r),r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break;for(;r.sibling===null;){if(r.return===null||r.return===t)return;r=r.return,r.tag===4&&(o=!1)}r.sibling.return=r.return,r=r.sibling}}function DE(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do(o.tag&3)===3&&(e=o.destroy,o.destroy=void 0,e!==void 0&&e()),o=o.next;while(o!==r)}return;case 1:return;case 5:if(r=t.stateNode,r!=null){o=t.memoizedProps;var a=e!==null?e.memoizedProps:o;e=t.type;var n=t.updateQueue;if(t.updateQueue=null,n!==null){for(r[$S]=o,e==="input"&&o.type==="radio"&&o.name!=null&&s3(r,o),HE(e,a),t=HE(e,o),a=0;aa&&(a=s),r&=~n}if(r=a,r=Ea()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*hde(r/1960))-r,10 component higher in the tree to provide a loading indicator or placeholder to display.`)}ua!==5&&(ua=2),p=oR(p,i),f=s;do{switch(f.tag){case 3:n=p,f.flags|=4096,t&=-t,f.lanes|=t;var w=x4(f,n,t);k5(f,w);break e;case 1:n=p;var O=f.type,k=f.stateNode;if(!(f.flags&64)&&(typeof O.getDerivedStateFromError=="function"||k!==null&&typeof k.componentDidCatch=="function"&&(Hi===null||!Hi.has(k)))){f.flags|=4096,t&=-t,f.lanes|=t;var M=g4(f,n,t);k5(f,M);break e}}f=f.return}while(f!==null)}C4(r)}catch(N){t=N,Lo===r&&r!==null&&(Lo=r=r.return);continue}break}while(!0)}function w4(){var e=aw.current;return aw.current=ow,e===null?ow:e}function ny(e,t){var r=lt;lt|=16;var o=w4();La===e&&Pa===t||Rm(e,t);do try{gde();break}catch(a){S4(e,a)}while(!0);if(qP(),lt=r,aw.current=o,Lo!==null)throw Error(we(261));return La=null,Pa=0,ua}function gde(){for(;Lo!==null;)_4(Lo)}function yde(){for(;Lo!==null&&!Qpe();)_4(Lo)}function _4(e){var t=k4(e.alternate,e,Xu);e.memoizedProps=e.pendingProps,t===null?C4(e):Lo=t,aR.current=null}function C4(e){var t=e;do{var r=t.alternate;if(e=t.return,t.flags&2048){if(r=pde(t),r!==null){r.flags&=2047,Lo=r;return}e!==null&&(e.firstEffect=e.lastEffect=null,e.flags|=2048)}else{if(r=lde(r,t,Xu),r!==null){Lo=r;return}if(r=t,r.tag!==24&&r.tag!==23||r.memoizedState===null||Xu&1073741824||!(r.mode&4)){for(var o=0,a=r.child;a!==null;)o|=a.lanes|a.childLanes,a=a.sibling;r.childLanes=o}e!==null&&!(e.flags&2048)&&(e.firstEffect===null&&(e.firstEffect=t.firstEffect),t.lastEffect!==null&&(e.lastEffect!==null&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1s&&(i=s,s=w,w=i),i=c5(T,w),n=c5(T,s),i&&n&&(b.rangeCount!==1||b.anchorNode!==i.node||b.anchorOffset!==i.offset||b.focusNode!==n.node||b.focusOffset!==n.offset)&&(v=v.createRange(),v.setStart(i.node,i.offset),b.removeAllRanges(),w>s?(b.addRange(v),b.extend(n.node,n.offset)):(v.setEnd(n.node,n.offset),b.addRange(v)))))),v=[],b=T;b=b.parentNode;)b.nodeType===1&&v.push({element:b,left:b.scrollLeft,top:b.scrollTop});for(typeof T.focus=="function"&&T.focus(),T=0;TEa()-sR?Rm(e,0):nR|=r),hs(e,t)}function _de(e,t){var r=e.stateNode;r!==null&&r.delete(t),t=0,t===0&&(t=e.mode,t&2?t&4?(Fl===0&&(Fl=jm),t=hm(62914560&~Fl),t===0&&(t=4194304)):t=Nm()===99?1:2:t=1),r=Fn(),e=bw(e,t),e!==null&&(uw(e,t,r),hs(e,r))}var k4;k4=function(e,t,r){var o=t.lanes;if(e!==null)if(e.memoizedProps!==t.pendingProps||hn.current)oi=!0;else if(r&o)oi=!!(e.flags&16384);else{switch(oi=!1,t.tag){case 3:z5(t),EE();break;case 5:D5(t);break;case 1:xn(t.type)&&AS(t);break;case 4:aP(t,t.stateNode.containerInfo);break;case 10:o=t.memoizedProps.value;var a=t.type._context;io(qS,a._currentValue),a._currentValue=o;break;case 13:if(t.memoizedState!==null)return r&t.child.childLanes?W5(e,t,r):(io(so,so.current&1),t=jl(e,t,r),t!==null?t.sibling:null);io(so,so.current&1);break;case 19:if(o=(r&t.childLanes)!==0,e.flags&64){if(o)return G5(e,t,r);t.flags|=64}if(a=t.memoizedState,a!==null&&(a.rendering=null,a.tail=null,a.lastEffect=null),io(so,so.current),o)break;return null;case 23:case 24:return t.lanes=0,PE(e,t,r)}return jl(e,t,r)}else oi=!1;switch(t.lanes=0,t.tag){case 2:if(o=t.type,e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,a=Mm(t,Ra.current),km(t,r),a=QP(null,t,o,e,a,r),t.flags|=1,typeof a=="object"&&a!==null&&typeof a.render=="function"&&a.$$typeof===void 0){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,xn(o)){var n=!0;AS(t)}else n=!1;t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,XP(t);var s=o.getDerivedStateFromProps;typeof s=="function"&&JS(t,o,s,e),a.updater=gw,t.stateNode=a,a._reactInternals=t,oP(t,o,e,r),t=lP(null,t,o,!0,n,r)}else t.tag=0,mn(null,t,a,r),t=t.child;return t;case 16:a=t.elementType;e:{switch(e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,n=a._init,a=n(a._payload),t.type=a,n=t.tag=Ode(a),e=ri(a,e),n){case 0:t=iP(null,t,a,e,r);break e;case 1:t=L5(null,t,a,e,r);break e;case 11:t=B5(null,t,a,e,r);break e;case 14:t=j5(null,t,a,ri(a.type,e),o,r);break e}throw Error(we(306,a,""))}return t;case 0:return o=t.type,a=t.pendingProps,a=t.elementType===o?a:ri(o,a),iP(e,t,o,a,r);case 1:return o=t.type,a=t.pendingProps,a=t.elementType===o?a:ri(o,a),L5(e,t,o,a,r);case 3:if(z5(t),o=t.updateQueue,e===null||o===null)throw Error(we(282));if(o=t.pendingProps,a=t.memoizedState,a=a!==null?a.element:null,Z3(e,t),Ey(t,o,null,r),o=t.memoizedState.element,o===a)EE(),t=jl(e,t,r);else{if(a=t.stateNode,(n=a.hydrate)&&(Gp=Om(t.stateNode.containerInfo.firstChild),Bl=t,n=Gi=!0),n){if(e=a.mutableSourceEagerHydrationData,e!=null)for(a=0;a{"use strict";function R4(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__=="undefined"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(R4)}catch(e){console.error(e)}}R4(),D4.exports=P4()});var rr=F((PVe,By)=>{"use strict";function Mde(e){return e&&e.__esModule?e:{default:e}}By.exports=Mde,By.exports.__esModule=!0,By.exports.default=By.exports});var A4=F(fR=>{"use strict";Object.defineProperty(fR,"__esModule",{value:!0});fR.default=Nde;function Nde(e){let t="https://mui.com/production-error/?code="+e;for(let r=1;r{"use strict";var Ide=rr();Object.defineProperty(cR,"__esModule",{value:!0});Object.defineProperty(cR,"default",{enumerable:!0,get:function(){return Fde.default}});var Fde=Ide(A4())});function Z(){return Z=Object.assign?Object.assign.bind():function(e){for(var t=1;t{"use strict"});function M4(e){var t=Object.create(null);return function(r){return t[r]===void 0&&(t[r]=e(r)),t[r]}}var N4=Or(()=>{"use strict"});var Bde,I4,mR=Or(()=>{"use strict";N4();Bde=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,I4=M4(function(e){return Bde.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91})});function Lde(e){if(e.sheet)return e.sheet;for(var t=0;t{"use strict";jde=!1;F4=function(){function e(r){var o=this;this._insertTag=function(a){var n;o.tags.length===0?o.insertionPoint?n=o.insertionPoint.nextSibling:o.prepend?n=o.container.firstChild:n=o.before:n=o.tags[o.tags.length-1].nextSibling,o.container.insertBefore(a,n),o.tags.push(a)},this.isSpeedy=r.speedy===void 0?!jde:r.speedy,this.tags=[],this.ctr=0,this.nonce=r.nonce,this.key=r.key,this.container=r.container,this.prepend=r.prepend,this.insertionPoint=r.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(o){o.forEach(this._insertTag)},t.insert=function(o){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(zde(this));var a=this.tags[this.tags.length-1];if(this.isSpeedy){var n=Lde(a);try{n.insertRule(o,n.cssRules.length)}catch(s){}}else a.appendChild(document.createTextNode(o));this.ctr++},t.flush=function(){this.tags.forEach(function(o){var a;return(a=o.parentNode)==null?void 0:a.removeChild(o)}),this.tags=[],this.ctr=0},e}()});var ca,Ly,Wt,Sw,Wm,Um,j4,ww,L4,_w=Or(()=>{"use strict";ca="-ms-",Ly="-moz-",Wt="-webkit-",Sw="comm",Wm="rule",Um="decl",j4="@import",ww="@keyframes",L4="@layer"});function U4(e,t){return vo(e,0)^45?(((t<<2^vo(e,0))<<2^vo(e,1))<<2^vo(e,2))<<2^vo(e,3):0}function Cw(e){return e.trim()}function hR(e,t){return(e=t.exec(e))?e[0]:e}function jt(e,t,r){return e.replace(t,r)}function zy(e,t){return e.indexOf(t)}function vo(e,t){return e.charCodeAt(t)|0}function ld(e,t,r){return e.slice(t,r)}function Wa(e){return e.length}function Vm(e){return e.length}function Hm(e,t){return t.push(e),e}function xR(e,t){return e.map(t).join("")}var z4,ef,W4,$m=Or(()=>{"use strict";z4=Math.abs,ef=String.fromCharCode,W4=Object.assign});function Wy(e,t,r,o,a,n,s){return{value:e,root:t,parent:r,type:o,props:a,children:n,line:Ow,column:Gm,length:s,return:""}}function Xm(e,t){return W4(Wy("",null,null,"",null,null,0),e,{length:-e.length},t)}function H4(){return Oo}function $4(){return Oo=Ua>0?vo(Km,--Ua):0,Gm--,Oo===10&&(Gm=1,Ow--),Oo}function Va(){return Oo=Ua2||qm(Oo)>3?"":" "}function q4(e,t){for(;--t&&Va()&&!(Oo<48||Oo>102||Oo>57&&Oo<65||Oo>70&&Oo<97););return Jm(e,Uy()+(t<6&&gs()==32&&Va()==32))}function gR(e){for(;Va();)switch(Oo){case e:return Ua;case 34:case 39:e!==34&&e!==39&&gR(Oo);break;case 40:e===41&&gR(e);break;case 92:Va();break}return Ua}function K4(e,t){for(;Va()&&e+Oo!==57;)if(e+Oo===84&&gs()===47)break;return"/*"+Jm(t,Ua-1)+"*"+ef(e===47?e:Va())}function X4(e){for(;!qm(gs());)Va();return Jm(e,Ua)}var Ow,Gm,V4,Ua,Oo,Km,yR=Or(()=>{"use strict";$m();Ow=1,Gm=1,V4=0,Ua=0,Oo=0,Km=""});function Z4(e){return Ew(Pw("",null,null,null,[""],e=kw(e),0,[0],e))}function Pw(e,t,r,o,a,n,s,i,p){for(var l=0,d=0,u=s,f=0,c=0,m=0,g=1,h=1,x=1,T=0,v="",b=a,w=n,O=o,k=v;h;)switch(m=T,T=Va()){case 40:if(m!=108&&vo(k,u-1)==58){zy(k+=jt(Ym(T),"&","&\f"),"&\f")!=-1&&(x=-1);break}case 34:case 39:case 91:k+=Ym(T);break;case 9:case 10:case 13:case 32:k+=G4(m);break;case 92:k+=q4(Uy()-1,7);continue;case 47:switch(gs()){case 42:case 47:Hm(Wde(K4(Va(),Uy()),t,r),p);break;default:k+="/"}break;case 123*g:i[l++]=Wa(k)*x;case 125*g:case 59:case 0:switch(T){case 0:case 125:h=0;case 59+d:x==-1&&(k=jt(k,/\f/g,"")),c>0&&Wa(k)-u&&Hm(c>32?Y4(k+";",o,r,u-1):Y4(jt(k," ","")+";",o,r,u-2),p);break;case 59:k+=";";default:if(Hm(O=J4(k,t,r,l,d,a,i,v,b=[],w=[],u),n),T===123)if(d===0)Pw(k,t,O,O,b,n,u,i,w);else switch(f===99&&vo(k,3)===110?100:f){case 100:case 108:case 109:case 115:Pw(e,O,O,o&&Hm(J4(e,O,O,0,0,a,i,v,a,b=[],u),w),a,w,u,i,o?b:w);break;default:Pw(k,O,O,O,[""],w,0,i,w)}}l=d=c=0,g=x=1,v=k="",u=s;break;case 58:u=1+Wa(k),c=m;default:if(g<1){if(T==123)--g;else if(T==125&&g++==0&&$4()==125)continue}switch(k+=ef(T),T*g){case 38:x=d>0?1:(k+="\f",-1);break;case 44:i[l++]=(Wa(k)-1)*x,x=1;break;case 64:gs()===45&&(k+=Ym(Va())),f=gs(),d=u=Wa(v=k+=X4(Uy())),T++;break;case 45:m===45&&Wa(k)==2&&(g=0)}}return n}function J4(e,t,r,o,a,n,s,i,p,l,d){for(var u=a-1,f=a===0?n:[""],c=Vm(f),m=0,g=0,h=0;m0?f[x]+" "+T:jt(T,/&\f/g,f[x])))&&(p[h++]=v);return Wy(e,t,r,a===0?Wm:i,p,l,d)}function Wde(e,t,r){return Wy(e,t,r,Sw,ef(H4()),ld(e,2,-2),0)}function Y4(e,t,r,o){return Wy(e,t,r,Um,ld(e,0,o),ld(e,o+1,-1),o)}var Q4=Or(()=>{"use strict";_w();$m();yR()});var ez=Or(()=>{"use strict"});function tf(e,t){for(var r="",o=Vm(e),a=0;a{"use strict";_w();$m()});function oz(e){var t=Vm(e);return function(r,o,a,n){for(var s="",i=0;i{"use strict";$m()});var sz=Or(()=>{"use strict";_w();$m();Q4();ez();yR();rz();nz()});var bR,Rw=Or(()=>{"use strict";bR=function(t){var r=new WeakMap;return function(o){if(r.has(o))return r.get(o);var a=t(o);return r.set(o,a),a}}});var iz=Or(()=>{"use strict"});var dz={};Xk(dz,{default:()=>vR});function pz(e,t){switch(U4(e,t)){case 5103:return Wt+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return Wt+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return Wt+e+Ly+e+ca+e+e;case 6828:case 4268:return Wt+e+ca+e+e;case 6165:return Wt+e+ca+"flex-"+e+e;case 5187:return Wt+e+jt(e,/(\w+).+(:[^]+)/,Wt+"box-$1$2"+ca+"flex-$1$2")+e;case 5443:return Wt+e+ca+"flex-item-"+jt(e,/flex-|-self/,"")+e;case 4675:return Wt+e+ca+"flex-line-pack"+jt(e,/align-content|flex-|-self/,"")+e;case 5548:return Wt+e+ca+jt(e,"shrink","negative")+e;case 5292:return Wt+e+ca+jt(e,"basis","preferred-size")+e;case 6060:return Wt+"box-"+jt(e,"-grow","")+Wt+e+ca+jt(e,"grow","positive")+e;case 4554:return Wt+jt(e,/([^-])(transform)/g,"$1"+Wt+"$2")+e;case 6187:return jt(jt(jt(e,/(zoom-|grab)/,Wt+"$1"),/(image-set)/,Wt+"$1"),e,"")+e;case 5495:case 3959:return jt(e,/(image-set\([^]*)/,Wt+"$1$`$1");case 4968:return jt(jt(e,/(.+:)(flex-)?(.*)/,Wt+"box-pack:$3"+ca+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Wt+e+e;case 4095:case 3583:case 4068:case 2532:return jt(e,/(.+)-inline(.+)/,Wt+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(Wa(e)-1-t>6)switch(vo(e,t+1)){case 109:if(vo(e,t+4)!==45)break;case 102:return jt(e,/(.+:)(.+)-([^]+)/,"$1"+Wt+"$2-$3$1"+Ly+(vo(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~zy(e,"stretch")?pz(jt(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(vo(e,t+1)!==115)break;case 6444:switch(vo(e,Wa(e)-3-(~zy(e,"!important")&&10))){case 107:return jt(e,":",":"+Wt)+e;case 101:return jt(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Wt+(vo(e,14)===45?"inline-":"")+"box$3$1"+Wt+"$2$3$1"+ca+"$2box$3")+e}break;case 5936:switch(vo(e,t+11)){case 114:return Wt+e+ca+jt(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Wt+e+ca+jt(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Wt+e+ca+jt(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Wt+e+ca+e+e}return e}var Ude,Vde,Hde,lz,$de,Gde,qde,Kde,vR,Dw=Or(()=>{"use strict";B4();sz();Rw();iz();Ude=function(t,r,o){for(var a=0,n=0;a=n,n=gs(),a===38&&n===12&&(r[o]=1),!qm(n);)Va();return Jm(t,Ua)},Vde=function(t,r){var o=-1,a=44;do switch(qm(a)){case 0:a===38&&gs()===12&&(r[o]=1),t[o]+=Ude(Ua-1,r,o);break;case 2:t[o]+=Ym(a);break;case 4:if(a===44){t[++o]=gs()===58?"&\f":"",r[o]=t[o].length;break}default:t[o]+=ef(a)}while(a=Va());return t},Hde=function(t,r){return Ew(Vde(kw(t),r))},lz=new WeakMap,$de=function(t){if(!(t.type!=="rule"||!t.parent||t.length<1)){for(var r=t.value,o=t.parent,a=t.column===o.column&&t.line===o.line;o.type!=="rule";)if(o=o.parent,!o)return;if(!(t.props.length===1&&r.charCodeAt(0)!==58&&!lz.get(o))&&!a){lz.set(t,!0);for(var n=[],s=Hde(r,n),i=o.props,p=0,l=0;p-1&&!t.return)switch(t.type){case Um:t.return=pz(t.value,t.length);break;case ww:return tf([Xm(t,{value:jt(t.value,"@","@"+Wt)})],a);case Wm:if(t.length)return xR(t.props,function(n){switch(hR(n,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return tf([Xm(t,{props:[jt(n,/:(read-\w+)/,":"+Ly+"$1")]})],a);case"::placeholder":return tf([Xm(t,{props:[jt(n,/:(plac\w+)/,":"+Wt+"input-$1")]}),Xm(t,{props:[jt(n,/:(plac\w+)/,":"+Ly+"$1")]}),Xm(t,{props:[jt(n,/:(plac\w+)/,ca+"input-$1")]})],a)}return""})}},Kde=[qde],vR=function(t){var r=t.key;if(r==="css"){var o=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(o,function(g){var h=g.getAttribute("data-emotion");h.indexOf(" ")!==-1&&(document.head.appendChild(g),g.setAttribute("data-s",""))})}var a=t.stylisPlugins||Kde,n={},s,i=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+r+' "]'),function(g){for(var h=g.getAttribute("data-emotion").split(" "),x=1;x{"use strict";var ra=typeof Symbol=="function"&&Symbol.for,TR=ra?Symbol.for("react.element"):60103,SR=ra?Symbol.for("react.portal"):60106,Aw=ra?Symbol.for("react.fragment"):60107,Mw=ra?Symbol.for("react.strict_mode"):60108,Nw=ra?Symbol.for("react.profiler"):60114,Iw=ra?Symbol.for("react.provider"):60109,Fw=ra?Symbol.for("react.context"):60110,wR=ra?Symbol.for("react.async_mode"):60111,Bw=ra?Symbol.for("react.concurrent_mode"):60111,jw=ra?Symbol.for("react.forward_ref"):60112,Lw=ra?Symbol.for("react.suspense"):60113,Xde=ra?Symbol.for("react.suspense_list"):60120,zw=ra?Symbol.for("react.memo"):60115,Ww=ra?Symbol.for("react.lazy"):60116,Jde=ra?Symbol.for("react.block"):60121,Yde=ra?Symbol.for("react.fundamental"):60117,Zde=ra?Symbol.for("react.responder"):60118,Qde=ra?Symbol.for("react.scope"):60119;function jn(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case TR:switch(e=e.type,e){case wR:case Bw:case Aw:case Nw:case Mw:case Lw:return e;default:switch(e=e&&e.$$typeof,e){case Fw:case jw:case Ww:case zw:case Iw:return e;default:return t}}case SR:return t}}}function uz(e){return jn(e)===Bw}or.AsyncMode=wR;or.ConcurrentMode=Bw;or.ContextConsumer=Fw;or.ContextProvider=Iw;or.Element=TR;or.ForwardRef=jw;or.Fragment=Aw;or.Lazy=Ww;or.Memo=zw;or.Portal=SR;or.Profiler=Nw;or.StrictMode=Mw;or.Suspense=Lw;or.isAsyncMode=function(e){return uz(e)||jn(e)===wR};or.isConcurrentMode=uz;or.isContextConsumer=function(e){return jn(e)===Fw};or.isContextProvider=function(e){return jn(e)===Iw};or.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===TR};or.isForwardRef=function(e){return jn(e)===jw};or.isFragment=function(e){return jn(e)===Aw};or.isLazy=function(e){return jn(e)===Ww};or.isMemo=function(e){return jn(e)===zw};or.isPortal=function(e){return jn(e)===SR};or.isProfiler=function(e){return jn(e)===Nw};or.isStrictMode=function(e){return jn(e)===Mw};or.isSuspense=function(e){return jn(e)===Lw};or.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Aw||e===Bw||e===Nw||e===Mw||e===Lw||e===Xde||typeof e=="object"&&e!==null&&(e.$$typeof===Ww||e.$$typeof===zw||e.$$typeof===Iw||e.$$typeof===Fw||e.$$typeof===jw||e.$$typeof===Yde||e.$$typeof===Zde||e.$$typeof===Qde||e.$$typeof===Jde)};or.typeOf=jn});var mz=F((mHe,cz)=>{"use strict";cz.exports=fz()});var OR=F((hHe,vz)=>{"use strict";var _R=mz(),eue={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},tue={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},rue={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},yz={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},CR={};CR[_R.ForwardRef]=rue;CR[_R.Memo]=yz;function hz(e){return _R.isMemo(e)?yz:CR[e.$$typeof]||eue}var oue=Object.defineProperty,aue=Object.getOwnPropertyNames,xz=Object.getOwnPropertySymbols,nue=Object.getOwnPropertyDescriptor,sue=Object.getPrototypeOf,gz=Object.prototype;function bz(e,t,r){if(typeof t!="string"){if(gz){var o=sue(t);o&&o!==gz&&bz(e,o,r)}var a=aue(t);xz&&(a=a.concat(xz(t)));for(var n=hz(e),s=hz(t),i=0;i{"use strict";Tz=y(OR()),Sz=function(e,t){return(0,Tz.default)(e,t)}});function Zm(e,t,r){var o="";return r.split(" ").forEach(function(a){e[a]!==void 0?t.push(e[a]+";"):a&&(o+=a+" ")}),o}var iue,rf,of,Vy=Or(()=>{"use strict";iue=!0;rf=function(t,r,o){var a=t.key+"-"+r.name;(o===!1||iue===!1)&&t.registered[a]===void 0&&(t.registered[a]=r.styles)},of=function(t,r,o){rf(t,r,o);var a=t.key+"-"+r.name;if(t.inserted[r.name]===void 0){var n=r;do t.insert(r===n?"."+a:"",n,t.sheet,!0),n=n.next;while(n!==void 0)}}});function _z(e){for(var t=0,r,o=0,a=e.length;a>=4;++o,a-=4)r=e.charCodeAt(o)&255|(e.charCodeAt(++o)&255)<<8|(e.charCodeAt(++o)&255)<<16|(e.charCodeAt(++o)&255)<<24,r=(r&65535)*1540483477+((r>>>16)*59797<<16),r^=r>>>24,t=(r&65535)*1540483477+((r>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(a){case 3:t^=(e.charCodeAt(o+2)&255)<<16;case 2:t^=(e.charCodeAt(o+1)&255)<<8;case 1:t^=e.charCodeAt(o)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var Cz=Or(()=>{"use strict"});var Oz,kz=Or(()=>{"use strict";Oz={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1}});function Ez(e){var t=Object.create(null);return function(r){return t[r]===void 0&&(t[r]=e(r)),t[r]}}var Pz=Or(()=>{"use strict"});function Hy(e,t,r){if(r==null)return"";var o=r;if(o.__emotion_styles!==void 0)return o;switch(typeof r){case"boolean":return"";case"object":{var a=r;if(a.anim===1)return Ki={name:a.name,styles:a.styles,next:Ki},a.name;var n=r;if(n.styles!==void 0){var s=n.next;if(s!==void 0)for(;s!==void 0;)Ki={name:s.name,styles:s.styles,next:Ki},s=s.next;var i=n.styles+";";return i}return fue(e,t,r)}case"function":{if(e!==void 0){var p=Ki,l=r(e);return Ki=p,Hy(e,t,l)}break}}var d=r;if(t==null)return d;var u=t[d];return u!==void 0?u:d}function fue(e,t,r){var o="";if(Array.isArray(r))for(var a=0;a{"use strict";Cz();kz();Pz();lue=!1,pue=/[A-Z]|^ms/g,due=/_EMO_([^_]+?)_([^]*?)_EMO_/g,Mz=function(t){return t.charCodeAt(1)===45},Rz=function(t){return t!=null&&typeof t!="boolean"},kR=Ez(function(e){return Mz(e)?e:e.replace(pue,"-$&").toLowerCase()}),Dz=function(t,r){switch(t){case"animation":case"animationName":if(typeof r=="string")return r.replace(due,function(o,a,n){return Ki={name:a,styles:n,next:Ki},a})}return Oz[t]!==1&&!Mz(t)&&typeof r=="number"&&r!==0?r+"px":r},uue="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";Az=/label:\s*([^\s;{]+)\s*(;|$)/g});var $y,cue,Nz,eh,ER,Gy=Or(()=>{"use strict";$y=y(P()),cue=function(t){return t()},Nz=$y.useInsertionEffect?$y.useInsertionEffect:!1,eh=Nz||cue,ER=Nz||$y.useLayoutEffect});function Lz(e){var t=e.displayName||e.name||"Component",r=function(n,s){var i=oa.useContext(Ha);return oa.createElement(e,Z({theme:i,ref:s},n))},o=oa.forwardRef(r);return o.displayName="WithTheme("+t+")",Sz(o,e)}var oa,qy,Uw,RR,Iz,Fz,pd,Ha,Bz,mue,hue,jz,Vw,PR,zz,xue,gue,Wz,DR=Or(()=>{"use strict";oa=y(P()),qy=y(P());Dw();pt();Rw();wz();Vy();Qm();Gy();Uw=!1,RR=oa.createContext(typeof HTMLElement!="undefined"?vR({key:"css"}):null),Iz=RR.Provider,Fz=function(){return(0,qy.useContext)(RR)},pd=function(t){return(0,qy.forwardRef)(function(r,o){var a=(0,qy.useContext)(RR);return t(r,a,o)})},Ha=oa.createContext({}),Bz=function(){return oa.useContext(Ha)},mue=function(t,r){if(typeof r=="function"){var o=r(t);return o}return Z({},t,r)},hue=bR(function(e){return bR(function(t){return mue(e,t)})}),jz=function(t){var r=oa.useContext(Ha);return t.theme!==r&&(r=hue(r)(t.theme)),oa.createElement(Ha.Provider,{value:r},t.children)};Vw={}.hasOwnProperty,PR="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",zz=function(t,r){var o={};for(var a in r)Vw.call(r,a)&&(o[a]=r[a]);return o[PR]=t,o},xue=function(t){var r=t.cache,o=t.serialized,a=t.isStringTag;return rf(r,o,a),eh(function(){return of(r,o,a)}),null},gue=pd(function(e,t,r){var o=e.css;typeof o=="string"&&t.registered[o]!==void 0&&(o=t.registered[o]);var a=e[PR],n=[o],s="";typeof e.className=="string"?s=Zm(t.registered,n,e.className):e.className!=null&&(s=e.className+" ");var i=Xi(n,void 0,oa.useContext(Ha));s+=t.key+"-"+i.name;var p={};for(var l in e)Vw.call(e,l)&&l!=="css"&&l!==PR&&!Uw&&(p[l]=e[l]);return p.className=s,r&&(p.ref=r),oa.createElement(oa.Fragment,null,oa.createElement(xue,{cache:t,serialized:i,isStringTag:typeof a=="string"}),oa.createElement(a,p))}),Wz=gue});var Hw={};Xk(Hw,{CacheProvider:()=>Iz,ClassNames:()=>Sue,Global:()=>AR,ThemeContext:()=>Ha,ThemeProvider:()=>jz,__unsafe_useEmotionCache:()=>Fz,createElement:()=>yue,css:()=>Ln,jsx:()=>yue,keyframes:()=>Da,useTheme:()=>Bz,withEmotionCache:()=>pd,withTheme:()=>Lz});function Ln(){for(var e=arguments.length,t=new Array(e),r=0;r{"use strict";DR();DR();ys=y(P());Vy();Gy();Qm();Dw();pt();Rw();WHe=y(OR()),yue=function(t,r){var o=arguments;if(r==null||!Vw.call(r,"css"))return ys.createElement.apply(void 0,o);var a=o.length,n=new Array(a);n[0]=Wz,n[1]=zz(t,r);for(var s=2;s{"use strict";pt();dd=y(P());mR();af();Vy();Qm();Gy();wue=I4,_ue=function(t){return t!=="theme"},Uz=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?wue:_ue},Vz=function(t,r,o){var a;if(r){var n=r.shouldForwardProp;a=t.__emotion_forwardProp&&n?function(s){return t.__emotion_forwardProp(s)&&n(s)}:n}return typeof a!="function"&&o&&(a=t.__emotion_forwardProp),a},Cue=!1,Oue=function(t){var r=t.cache,o=t.serialized,a=t.isStringTag;return rf(r,o,a),eh(function(){return of(r,o,a)}),null},Hz=function e(t,r){var o=t.__emotion_real===t,a=o&&t.__emotion_base||t,n,s;r!==void 0&&(n=r.label,s=r.target);var i=Vz(t,r,o),p=i||Uz(a),l=!p("as");return function(){var d=arguments,u=o&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(n!==void 0&&u.push("label:"+n+";"),d[0]==null||d[0].raw===void 0)u.push.apply(u,d);else{u.push(d[0][0]);for(var f=d.length,c=1;cKy});var ZHe,kue,Ky,MR=Or(()=>{"use strict";$z();pt();ZHe=y(P());mR();Vy();Qm();Gy();kue=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"],Ky=Hz.bind();kue.forEach(function(e){Ky[e]=Ky(e)})});var Kz=F((o$e,qz)=>{"use strict";var Eue="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";qz.exports=Eue});var Zz=F((a$e,Yz)=>{"use strict";var Pue=Kz();function Xz(){}function Jz(){}Jz.resetWarningCache=Xz;Yz.exports=function(){function e(o,a,n,s,i,p){if(p!==Pue){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}e.isRequired=e;function t(){return e}var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:Jz,resetWarningCache:Xz};return r.PropTypes=r,r}});var lo=F((i$e,Qz)=>{"use strict";Qz.exports=Zz()();var n$e,s$e});var r6=F(Xy=>{"use strict";sS();var Rue=P(),e6=60103;Xy.Fragment=60107;typeof Symbol=="function"&&Symbol.for&&(NR=Symbol.for,e6=NR("react.element"),Xy.Fragment=NR("react.fragment"));var NR,Due=Rue.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Aue=Object.prototype.hasOwnProperty,Mue={key:!0,ref:!0,__self:!0,__source:!0};function t6(e,t,r){var o,a={},n=null,s=null;r!==void 0&&(n=""+r),t.key!==void 0&&(n=""+t.key),t.ref!==void 0&&(s=t.ref);for(o in t)Aue.call(t,o)&&!Mue.hasOwnProperty(o)&&(a[o]=t[o]);if(e&&e.defaultProps)for(o in t=e.defaultProps,t)a[o]===void 0&&(a[o]=t[o]);return{$$typeof:e6,type:e,key:n,ref:s,props:a,_owner:Due.current}}Xy.jsx=t6;Xy.jsxs=t6});var U=F((p$e,o6)=>{"use strict";o6.exports=r6()});var s6=F(FR=>{"use strict";"use client";var a6=rr();Object.defineProperty(FR,"__esModule",{value:!0});FR.default=jue;var d$e=Bue(P()),u$e=a6(lo()),Nue=(af(),Bg(Hw)),Iue=a6((Dw(),Bg(dz))),Fue=U();function n6(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return(n6=function(o){return o?r:t})(e)}function Bue(e,t){if(!t&&e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var r=n6(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)){var s=a?Object.getOwnPropertyDescriptor(e,n):null;s&&(s.get||s.set)?Object.defineProperty(o,n,s):o[n]=e[n]}return o.default=e,r&&r.set(e,o),o}var IR;typeof document=="object"&&(IR=(0,Iue.default)({key:"css",prepend:!0}));function jue(e){let{injectFirst:t,children:r}=e;return t&&IR?(0,Fue.jsx)(Nue.CacheProvider,{value:IR,children:r}):r}});var i6=F(BR=>{"use strict";"use client";var Lue=rr();Object.defineProperty(BR,"__esModule",{value:!0});Object.defineProperty(BR,"default",{enumerable:!0,get:function(){return zue.default}});var zue=Lue(s6())});var p6=F(jR=>{"use strict";"use client";var Wue=rr();Object.defineProperty(jR,"__esModule",{value:!0});jR.default=Gue;var m$e=Hue(P()),h$e=Wue(lo()),Uue=(af(),Bg(Hw)),Vue=U();function l6(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return(l6=function(o){return o?r:t})(e)}function Hue(e,t){if(!t&&e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var r=l6(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)){var s=a?Object.getOwnPropertyDescriptor(e,n):null;s&&(s.get||s.set)?Object.defineProperty(o,n,s):o[n]=e[n]}return o.default=e,r&&r.set(e,o),o}function $ue(e){return e==null||Object.keys(e).length===0}function Gue(e){let{styles:t,defaultTheme:r={}}=e,o=typeof t=="function"?a=>t($ue(a)?r:a):t;return(0,Vue.jsx)(Uue.Global,{styles:o})}});var d6=F(LR=>{"use strict";"use client";var que=rr();Object.defineProperty(LR,"__esModule",{value:!0});Object.defineProperty(LR,"default",{enumerable:!0,get:function(){return Kue.default}});var Kue=que(p6())});var th=F(Ji=>{"use strict";"use client";var zR=rr();Object.defineProperty(Ji,"__esModule",{value:!0});Object.defineProperty(Ji,"GlobalStyles",{enumerable:!0,get:function(){return Yue.default}});Object.defineProperty(Ji,"StyledEngineProvider",{enumerable:!0,get:function(){return Jue.default}});Object.defineProperty(Ji,"ThemeContext",{enumerable:!0,get:function(){return WR.ThemeContext}});Object.defineProperty(Ji,"css",{enumerable:!0,get:function(){return WR.css}});Ji.default=Zue;Ji.internal_processStyles=void 0;Object.defineProperty(Ji,"keyframes",{enumerable:!0,get:function(){return WR.keyframes}});var Xue=zR((MR(),Bg(Gz))),WR=(af(),Bg(Hw)),Jue=zR(i6()),Yue=zR(d6());function Zue(e,t){return(0,Xue.default)(e,t)}var Que=(e,t)=>{Array.isArray(e.__emotion_styles)&&(e.__emotion_styles=t(e.__emotion_styles))};Ji.internal_processStyles=Que});var nf=F((b$e,Wl)=>{"use strict";function UR(){return Wl.exports=UR=Object.assign?Object.assign.bind():function(e){for(var t=1;t{"use strict";var efe=rr();Object.defineProperty($w,"__esModule",{value:!0});$w.default=m6;$w.isPlainObject=sf;var tfe=efe(nf()),u6=rfe(P());function f6(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return(f6=function(o){return o?r:t})(e)}function rfe(e,t){if(!t&&e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var r=f6(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)){var s=a?Object.getOwnPropertyDescriptor(e,n):null;s&&(s.get||s.set)?Object.defineProperty(o,n,s):o[n]=e[n]}return o.default=e,r&&r.set(e,o),o}function sf(e){if(typeof e!="object"||e===null)return!1;let t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function c6(e){if(u6.isValidElement(e)||!sf(e))return e;let t={};return Object.keys(e).forEach(r=>{t[r]=c6(e[r])}),t}function m6(e,t,r={clone:!0}){let o=r.clone?(0,tfe.default)({},e):e;return sf(e)&&sf(t)&&Object.keys(t).forEach(a=>{u6.isValidElement(t[a])?o[a]=t[a]:sf(t[a])&&Object.prototype.hasOwnProperty.call(e,a)&&sf(e[a])?o[a]=m6(e[a],t[a],r):r.clone?o[a]=sf(t[a])?c6(t[a]):t[a]:o[a]=t[a]}),o}});var bs=F(rh=>{"use strict";Object.defineProperty(rh,"__esModule",{value:!0});var ofe={};Object.defineProperty(rh,"default",{enumerable:!0,get:function(){return Gw.default}});var Gw=afe(h6());Object.keys(Gw).forEach(function(e){e==="default"||e==="__esModule"||Object.prototype.hasOwnProperty.call(ofe,e)||e in rh&&rh[e]===Gw[e]||Object.defineProperty(rh,e,{enumerable:!0,get:function(){return Gw[e]}})});function x6(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return(x6=function(o){return o?r:t})(e)}function afe(e,t){if(!t&&e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var r=x6(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)){var s=a?Object.getOwnPropertyDescriptor(e,n):null;s&&(s.get||s.set)?Object.defineProperty(o,n,s):o[n]=e[n]}return o.default=e,r&&r.set(e,o),o}});var S6=F(HR=>{"use strict";var dfe=rr();Object.defineProperty(HR,"__esModule",{value:!0});HR.default=ffe;var ufe=dfe(jy());function ffe(e){if(typeof e!="string")throw new Error((0,ufe.default)(7));return e.charAt(0).toUpperCase()+e.slice(1)}});var lf=F($R=>{"use strict";var cfe=rr();Object.defineProperty($R,"__esModule",{value:!0});Object.defineProperty($R,"default",{enumerable:!0,get:function(){return mfe.default}});var mfe=cfe(S6())});var j6=F(ar=>{"use strict";var tD=Symbol.for("react.element"),rD=Symbol.for("react.portal"),Zw=Symbol.for("react.fragment"),Qw=Symbol.for("react.strict_mode"),e0=Symbol.for("react.profiler"),t0=Symbol.for("react.provider"),r0=Symbol.for("react.context"),hce=Symbol.for("react.server_context"),o0=Symbol.for("react.forward_ref"),a0=Symbol.for("react.suspense"),n0=Symbol.for("react.suspense_list"),s0=Symbol.for("react.memo"),i0=Symbol.for("react.lazy"),xce=Symbol.for("react.offscreen"),B6;B6=Symbol.for("react.module.reference");function Ts(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case tD:switch(e=e.type,e){case Zw:case e0:case Qw:case a0:case n0:return e;default:switch(e=e&&e.$$typeof,e){case hce:case r0:case o0:case i0:case s0:case t0:return e;default:return t}}case rD:return t}}}ar.ContextConsumer=r0;ar.ContextProvider=t0;ar.Element=tD;ar.ForwardRef=o0;ar.Fragment=Zw;ar.Lazy=i0;ar.Memo=s0;ar.Portal=rD;ar.Profiler=e0;ar.StrictMode=Qw;ar.Suspense=a0;ar.SuspenseList=n0;ar.isAsyncMode=function(){return!1};ar.isConcurrentMode=function(){return!1};ar.isContextConsumer=function(e){return Ts(e)===r0};ar.isContextProvider=function(e){return Ts(e)===t0};ar.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===tD};ar.isForwardRef=function(e){return Ts(e)===o0};ar.isFragment=function(e){return Ts(e)===Zw};ar.isLazy=function(e){return Ts(e)===i0};ar.isMemo=function(e){return Ts(e)===s0};ar.isPortal=function(e){return Ts(e)===rD};ar.isProfiler=function(e){return Ts(e)===e0};ar.isStrictMode=function(e){return Ts(e)===Qw};ar.isSuspense=function(e){return Ts(e)===a0};ar.isSuspenseList=function(e){return Ts(e)===n0};ar.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Zw||e===e0||e===Qw||e===a0||e===n0||e===xce||typeof e=="object"&&e!==null&&(e.$$typeof===i0||e.$$typeof===s0||e.$$typeof===t0||e.$$typeof===r0||e.$$typeof===o0||e.$$typeof===B6||e.getModuleId!==void 0)};ar.typeOf=Ts});var cd=F((fGe,L6)=>{"use strict";L6.exports=j6()});var H6=F(l0=>{"use strict";Object.defineProperty(l0,"__esModule",{value:!0});l0.default=yce;l0.getFunctionName=U6;var z6=cd(),gce=/^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^(\s/]*)\s*/;function U6(e){let t=`${e}`.match(gce);return t&&t[1]||""}function V6(e,t=""){return e.displayName||e.name||U6(e)||t}function W6(e,t,r){let o=V6(t);return e.displayName||(o!==""?`${r}(${o})`:r)}function yce(e){if(e!=null){if(typeof e=="string")return e;if(typeof e=="function")return V6(e,"Component");if(typeof e=="object")switch(e.$$typeof){case z6.ForwardRef:return W6(e,e.render,"ForwardRef");case z6.Memo:return W6(e,e.type,"memo");default:return}}}});var G6=F(sh=>{"use strict";Object.defineProperty(sh,"__esModule",{value:!0});var bce={};Object.defineProperty(sh,"default",{enumerable:!0,get:function(){return p0.default}});var p0=vce(H6());Object.keys(p0).forEach(function(e){e==="default"||e==="__esModule"||Object.prototype.hasOwnProperty.call(bce,e)||e in sh&&sh[e]===p0[e]||Object.defineProperty(sh,e,{enumerable:!0,get:function(){return p0[e]}})});function $6(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return($6=function(o){return o?r:t})(e)}function vce(e,t){if(!t&&e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var r=$6(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)){var s=a?Object.getOwnPropertyDescriptor(e,n):null;s&&(s.get||s.set)?Object.defineProperty(o,n,s):o[n]=e[n]}return o.default=e,r&&r.set(e,o),o}});var q6=F(f0=>{"use strict";Object.defineProperty(f0,"__esModule",{value:!0});f0.default=void 0;function Sce(e,t=Number.MIN_SAFE_INTEGER,r=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,r))}var PGe=f0.default=Sce});var K6=F(aD=>{"use strict";var wce=rr();Object.defineProperty(aD,"__esModule",{value:!0});Object.defineProperty(aD,"default",{enumerable:!0,get:function(){return _ce.default}});var _ce=wce(q6())});var sb=F(D0=>{"use strict";var Yce=rr();Object.defineProperty(D0,"__esModule",{value:!0});D0.default=void 0;var Zce=Yce(bs());function Qce(e,t){return t?(0,Zce.default)(e,t,{clone:!1}):e}var sXe=D0.default=Qce});var ib=F(A0=>{"use strict";var eme=rr();Object.defineProperty(A0,"__esModule",{value:!0});A0.default=void 0;var lXe=eme(lo()),tme={},pXe=A0.default=tme});var yf=F(Ss=>{"use strict";var M0=rr();Object.defineProperty(Ss,"__esModule",{value:!0});Ss.computeBreakpointsBase=hW;Ss.createEmptyBreakpointObject=cW;Ss.default=void 0;Ss.handleBreakpoints=nme;Ss.mergeBreakpointsInOrder=ime;Ss.removeUnusedBreakpoints=mW;Ss.resolveBreakpointValues=lme;Ss.values=void 0;var rme=M0(nf()),uXe=M0(lo()),ome=M0(bs()),ame=M0(sb()),fW=Ss.values={xs:0,sm:600,md:900,lg:1200,xl:1536},yD={keys:["xs","sm","md","lg","xl"],up:e=>`@media (min-width:${fW[e]}px)`};function nme(e,t,r){let o=e.theme||{};if(Array.isArray(t)){let n=o.breakpoints||yD;return t.reduce((s,i,p)=>(s[n.up(n.keys[p])]=r(t[p]),s),{})}if(typeof t=="object"){let n=o.breakpoints||yD;return Object.keys(t).reduce((s,i)=>{if(Object.keys(n.values||fW).indexOf(i)!==-1){let p=n.up(i);s[p]=r(t[i],i)}else{let p=i;s[p]=t[p]}return s},{})}return r(t)}function sme(e){let t=r=>{let o=r.theme||{},a=e(r),n=o.breakpoints||yD,s=n.keys.reduce((i,p)=>(r[p]&&(i=i||{},i[n.up(p)]=e((0,rme.default)({theme:o},r[p]))),i),null);return(0,ame.default)(a,s)};return t.propTypes={},t.filterProps=["xs","sm","md","lg","xl",...e.filterProps],t}function cW(e={}){var t;return((t=e.keys)==null?void 0:t.reduce((o,a)=>{let n=e.up(a);return o[n]={},o},{}))||{}}function mW(e,t){return e.reduce((r,o)=>{let a=r[o];return(!a||Object.keys(a).length===0)&&delete r[o],r},t)}function ime(e,...t){let r=cW(e),o=[r,...t].reduce((a,n)=>(0,ome.default)(a,n),{});return mW(Object.keys(r),o)}function hW(e,t){if(typeof e!="object")return{};let r={},o=Object.keys(t);return Array.isArray(e)?o.forEach((a,n)=>{n{e[a]!=null&&(r[a]=!0)}),r}function lme({values:e,breakpoints:t,base:r}){let o=r||hW(e,t),a=Object.keys(o);if(a.length===0)return e;let n;return a.reduce((s,i,p)=>(Array.isArray(e)?(s[i]=e[p]!=null?e[p]:e[n],n=p):typeof e=="object"?(s[i]=e[i]!=null?e[i]:e[n],n=i):s[i]=e,s),{})}var fXe=Ss.default=sme});var bf=F(dh=>{"use strict";var xW=rr();Object.defineProperty(dh,"__esModule",{value:!0});dh.default=void 0;dh.getPath=vD;dh.getStyleValue=bD;var pme=xW(lf()),mXe=xW(ib()),dme=yf();function vD(e,t,r=!0){if(!t||typeof t!="string")return null;if(e&&e.vars&&r){let o=`vars.${t}`.split(".").reduce((a,n)=>a&&a[n]?a[n]:null,e);if(o!=null)return o}return t.split(".").reduce((o,a)=>o&&o[a]!=null?o[a]:null,e)}function bD(e,t,r,o=r){let a;return typeof e=="function"?a=e(r):Array.isArray(e)?a=e[r]||o:a=vD(e,r)||o,t&&(a=t(a,o,e)),a}function ume(e){let{prop:t,cssProperty:r=e.prop,themeKey:o,transform:a}=e,n=s=>{if(s[t]==null)return null;let i=s[t],p=s.theme,l=vD(p,o)||{},d=u=>{let f=bD(l,a,u);return u===f&&typeof u=="string"&&(f=bD(l,a,`${t}${u==="default"?"":(0,pme.default)(u)}`,u)),r===!1?f:{[r]:f}};return(0,dme.handleBreakpoints)(s,i,d)};return n.propTypes={},n.filterProps=[t],n}var hXe=dh.default=ume});var gW=F(TD=>{"use strict";Object.defineProperty(TD,"__esModule",{value:!0});TD.default=fme;function fme(e){let t={};return r=>(t[r]===void 0&&(t[r]=e(r)),t[r])}});var lb=F(yn=>{"use strict";var SD=rr();Object.defineProperty(yn,"__esModule",{value:!0});yn.createUnarySpacing=TW;yn.createUnaryUnit=vW;yn.default=void 0;yn.getStyleFromPropValue=wW;yn.getValue=SW;yn.margin=OD;yn.marginKeys=void 0;yn.padding=kD;yn.paddingKeys=void 0;var yXe=SD(ib()),cme=yf(),mme=bf(),hme=SD(sb()),xme=SD(gW()),gme={m:"margin",p:"padding"},yme={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},yW={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},bme=(0,xme.default)(e=>{if(e.length>2)if(yW[e])e=yW[e];else return[e];let[t,r]=e.split(""),o=gme[t],a=yme[r]||"";return Array.isArray(a)?a.map(n=>o+n):[o+a]}),wD=yn.marginKeys=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],_D=yn.paddingKeys=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"],bW=[...wD,..._D];function vW(e,t,r,o){var a;let n=(a=(0,mme.getPath)(e,t,!1))!=null?a:r;return typeof n=="number"?s=>typeof s=="string"?s:n*s:Array.isArray(n)?s=>typeof s=="string"?s:n[s]:typeof n=="function"?n:()=>{}}function TW(e){return vW(e,"spacing",8,"spacing")}function SW(e,t){if(typeof t=="string"||t==null)return t;let r=Math.abs(t),o=e(r);return t>=0?o:typeof o=="number"?-o:`-${o}`}function wW(e,t){return r=>e.reduce((o,a)=>(o[a]=SW(t,r),o),{})}function vme(e,t,r,o){if(t.indexOf(r)===-1)return null;let a=bme(r),n=wW(a,o),s=e[r];return(0,cme.handleBreakpoints)(e,s,n)}function CD(e,t){let r=TW(e.theme);return Object.keys(e).map(o=>vme(e,t,o,r)).reduce(hme.default,{})}function OD(e){return CD(e,wD)}OD.propTypes={};OD.filterProps=wD;function kD(e){return CD(e,_D)}kD.propTypes={};kD.filterProps=_D;function ED(e){return CD(e,bW)}ED.propTypes={};ED.filterProps=bW;var bXe=yn.default=ED});var pb=F(N0=>{"use strict";var Tme=rr();Object.defineProperty(N0,"__esModule",{value:!0});N0.default=void 0;var Sme=Tme(sb());function wme(...e){let t=e.reduce((o,a)=>(a.filterProps.forEach(n=>{o[n]=a}),o),{}),r=o=>Object.keys(o).reduce((a,n)=>t[n]?(0,Sme.default)(a,t[n](o)):a,{});return r.propTypes={},r.filterProps=e.reduce((o,a)=>o.concat(a.filterProps),[]),r}var TXe=N0.default=wme});var CW=F(Ht=>{"use strict";var PD=rr();Object.defineProperty(Ht,"__esModule",{value:!0});Ht.borderTopColor=Ht.borderTop=Ht.borderRightColor=Ht.borderRight=Ht.borderRadius=Ht.borderLeftColor=Ht.borderLeft=Ht.borderColor=Ht.borderBottomColor=Ht.borderBottom=Ht.border=void 0;Ht.borderTransform=vf;Ht.outlineColor=Ht.outline=Ht.default=void 0;var wXe=PD(ib()),_me=PD(bf()),Cme=PD(pb()),_W=lb(),Ome=yf();function vf(e){return typeof e!="number"?e:`${e}px solid`}function ws(e,t){return(0,_me.default)({prop:e,themeKey:"borders",transform:t})}var kme=Ht.border=ws("border",vf),Eme=Ht.borderTop=ws("borderTop",vf),Pme=Ht.borderRight=ws("borderRight",vf),Rme=Ht.borderBottom=ws("borderBottom",vf),Dme=Ht.borderLeft=ws("borderLeft",vf),Ame=Ht.borderColor=ws("borderColor"),Mme=Ht.borderTopColor=ws("borderTopColor"),Nme=Ht.borderRightColor=ws("borderRightColor"),Ime=Ht.borderBottomColor=ws("borderBottomColor"),Fme=Ht.borderLeftColor=ws("borderLeftColor"),Bme=Ht.outline=ws("outline",vf),jme=Ht.outlineColor=ws("outlineColor"),I0=e=>{if(e.borderRadius!==void 0&&e.borderRadius!==null){let t=(0,_W.createUnaryUnit)(e.theme,"shape.borderRadius",4,"borderRadius"),r=o=>({borderRadius:(0,_W.getValue)(t,o)});return(0,Ome.handleBreakpoints)(e,e.borderRadius,r)}return null};Ht.borderRadius=I0;I0.propTypes={};I0.filterProps=["borderRadius"];var Lme=(0,Cme.default)(kme,Eme,Pme,Rme,Dme,Ame,Mme,Nme,Ime,Fme,I0,Bme,jme),_Xe=Ht.default=Lme});var OW=F(lr=>{"use strict";var RD=rr();Object.defineProperty(lr,"__esModule",{value:!0});lr.rowGap=lr.gridTemplateRows=lr.gridTemplateColumns=lr.gridTemplateAreas=lr.gridRow=lr.gridColumn=lr.gridAutoRows=lr.gridAutoFlow=lr.gridAutoColumns=lr.gridArea=lr.gap=lr.default=lr.columnGap=void 0;var Ul=RD(bf()),zme=RD(pb()),uh=lb(),DD=yf(),OXe=RD(ib()),F0=e=>{if(e.gap!==void 0&&e.gap!==null){let t=(0,uh.createUnaryUnit)(e.theme,"spacing",8,"gap"),r=o=>({gap:(0,uh.getValue)(t,o)});return(0,DD.handleBreakpoints)(e,e.gap,r)}return null};lr.gap=F0;F0.propTypes={};F0.filterProps=["gap"];var B0=e=>{if(e.columnGap!==void 0&&e.columnGap!==null){let t=(0,uh.createUnaryUnit)(e.theme,"spacing",8,"columnGap"),r=o=>({columnGap:(0,uh.getValue)(t,o)});return(0,DD.handleBreakpoints)(e,e.columnGap,r)}return null};lr.columnGap=B0;B0.propTypes={};B0.filterProps=["columnGap"];var j0=e=>{if(e.rowGap!==void 0&&e.rowGap!==null){let t=(0,uh.createUnaryUnit)(e.theme,"spacing",8,"rowGap"),r=o=>({rowGap:(0,uh.getValue)(t,o)});return(0,DD.handleBreakpoints)(e,e.rowGap,r)}return null};lr.rowGap=j0;j0.propTypes={};j0.filterProps=["rowGap"];var Wme=lr.gridColumn=(0,Ul.default)({prop:"gridColumn"}),Ume=lr.gridRow=(0,Ul.default)({prop:"gridRow"}),Vme=lr.gridAutoFlow=(0,Ul.default)({prop:"gridAutoFlow"}),Hme=lr.gridAutoColumns=(0,Ul.default)({prop:"gridAutoColumns"}),$me=lr.gridAutoRows=(0,Ul.default)({prop:"gridAutoRows"}),Gme=lr.gridTemplateColumns=(0,Ul.default)({prop:"gridTemplateColumns"}),qme=lr.gridTemplateRows=(0,Ul.default)({prop:"gridTemplateRows"}),Kme=lr.gridTemplateAreas=(0,Ul.default)({prop:"gridTemplateAreas"}),Xme=lr.gridArea=(0,Ul.default)({prop:"gridArea"}),Jme=(0,zme.default)(F0,B0,j0,Wme,Ume,Vme,Hme,$me,Gme,qme,Kme,Xme),kXe=lr.default=Jme});var EW=F(ni=>{"use strict";var kW=rr();Object.defineProperty(ni,"__esModule",{value:!0});ni.default=ni.color=ni.bgcolor=ni.backgroundColor=void 0;ni.paletteTransform=L0;var AD=kW(bf()),Yme=kW(pb());function L0(e,t){return t==="grey"?t:e}var Zme=ni.color=(0,AD.default)({prop:"color",themeKey:"palette",transform:L0}),Qme=ni.bgcolor=(0,AD.default)({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:L0}),ehe=ni.backgroundColor=(0,AD.default)({prop:"backgroundColor",themeKey:"palette",transform:L0}),the=(0,Yme.default)(Zme,Qme,ehe),PXe=ni.default=the});var DW=F(Xr=>{"use strict";var RW=rr();Object.defineProperty(Xr,"__esModule",{value:!0});Xr.sizeWidth=Xr.sizeHeight=Xr.minWidth=Xr.minHeight=Xr.maxWidth=Xr.maxHeight=Xr.height=Xr.default=Xr.boxSizing=void 0;Xr.sizingTransform=Vl;Xr.width=void 0;var hd=RW(bf()),rhe=RW(pb()),PW=yf();function Vl(e){return e<=1&&e!==0?`${e*100}%`:e}var ohe=Xr.width=(0,hd.default)({prop:"width",transform:Vl}),MD=e=>{if(e.maxWidth!==void 0&&e.maxWidth!==null){let t=r=>{var o,a;let n=((o=e.theme)==null||(o=o.breakpoints)==null||(o=o.values)==null?void 0:o[r])||PW.values[r];return n?((a=e.theme)==null||(a=a.breakpoints)==null?void 0:a.unit)!=="px"?{maxWidth:`${n}${e.theme.breakpoints.unit}`}:{maxWidth:n}:{maxWidth:Vl(r)}};return(0,PW.handleBreakpoints)(e,e.maxWidth,t)}return null};Xr.maxWidth=MD;MD.filterProps=["maxWidth"];var ahe=Xr.minWidth=(0,hd.default)({prop:"minWidth",transform:Vl}),nhe=Xr.height=(0,hd.default)({prop:"height",transform:Vl}),she=Xr.maxHeight=(0,hd.default)({prop:"maxHeight",transform:Vl}),ihe=Xr.minHeight=(0,hd.default)({prop:"minHeight",transform:Vl}),DXe=Xr.sizeWidth=(0,hd.default)({prop:"size",cssProperty:"width",transform:Vl}),AXe=Xr.sizeHeight=(0,hd.default)({prop:"size",cssProperty:"height",transform:Vl}),lhe=Xr.boxSizing=(0,hd.default)({prop:"boxSizing"}),phe=(0,rhe.default)(ohe,MD,ahe,nhe,she,ihe,lhe),MXe=Xr.default=phe});var db=F(z0=>{"use strict";Object.defineProperty(z0,"__esModule",{value:!0});z0.default=void 0;var Tt=lb(),Tf=CW(),ND=OW(),ID=EW(),fh=DW(),dhe={border:{themeKey:"borders",transform:Tf.borderTransform},borderTop:{themeKey:"borders",transform:Tf.borderTransform},borderRight:{themeKey:"borders",transform:Tf.borderTransform},borderBottom:{themeKey:"borders",transform:Tf.borderTransform},borderLeft:{themeKey:"borders",transform:Tf.borderTransform},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:Tf.borderTransform},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:Tf.borderRadius},color:{themeKey:"palette",transform:ID.paletteTransform},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:ID.paletteTransform},backgroundColor:{themeKey:"palette",transform:ID.paletteTransform},p:{style:Tt.padding},pt:{style:Tt.padding},pr:{style:Tt.padding},pb:{style:Tt.padding},pl:{style:Tt.padding},px:{style:Tt.padding},py:{style:Tt.padding},padding:{style:Tt.padding},paddingTop:{style:Tt.padding},paddingRight:{style:Tt.padding},paddingBottom:{style:Tt.padding},paddingLeft:{style:Tt.padding},paddingX:{style:Tt.padding},paddingY:{style:Tt.padding},paddingInline:{style:Tt.padding},paddingInlineStart:{style:Tt.padding},paddingInlineEnd:{style:Tt.padding},paddingBlock:{style:Tt.padding},paddingBlockStart:{style:Tt.padding},paddingBlockEnd:{style:Tt.padding},m:{style:Tt.margin},mt:{style:Tt.margin},mr:{style:Tt.margin},mb:{style:Tt.margin},ml:{style:Tt.margin},mx:{style:Tt.margin},my:{style:Tt.margin},margin:{style:Tt.margin},marginTop:{style:Tt.margin},marginRight:{style:Tt.margin},marginBottom:{style:Tt.margin},marginLeft:{style:Tt.margin},marginX:{style:Tt.margin},marginY:{style:Tt.margin},marginInline:{style:Tt.margin},marginInlineStart:{style:Tt.margin},marginInlineEnd:{style:Tt.margin},marginBlock:{style:Tt.margin},marginBlockStart:{style:Tt.margin},marginBlockEnd:{style:Tt.margin},displayPrint:{cssProperty:!1,transform:e=>({"@media print":{display:e}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:ND.gap},rowGap:{style:ND.rowGap},columnGap:{style:ND.columnGap},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:fh.sizingTransform},maxWidth:{style:fh.maxWidth},minWidth:{transform:fh.sizingTransform},height:{transform:fh.sizingTransform},maxHeight:{transform:fh.sizingTransform},minHeight:{transform:fh.sizingTransform},boxSizing:{},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}},IXe=z0.default=dhe});var LD=F(ub=>{"use strict";var jD=rr();Object.defineProperty(ub,"__esModule",{value:!0});ub.default=void 0;ub.unstable_createStyleFunctionSx=AW;var uhe=jD(lf()),FD=jD(sb()),BD=bf(),W0=yf(),fhe=jD(db());function che(...e){let t=e.reduce((o,a)=>o.concat(Object.keys(a)),[]),r=new Set(t);return e.every(o=>r.size===Object.keys(o).length)}function mhe(e,t){return typeof e=="function"?e(t):e}function AW(){function e(r,o,a,n){let s={[r]:o,theme:a},i=n[r];if(!i)return{[r]:o};let{cssProperty:p=r,themeKey:l,transform:d,style:u}=i;if(o==null)return null;if(l==="typography"&&o==="inherit")return{[r]:o};let f=(0,BD.getPath)(a,l)||{};if(u)return u(s);let c=m=>{let g=(0,BD.getStyleValue)(f,d,m);return m===g&&typeof m=="string"&&(g=(0,BD.getStyleValue)(f,d,`${r}${m==="default"?"":(0,uhe.default)(m)}`,m)),p===!1?g:{[p]:g}};return(0,W0.handleBreakpoints)(s,o,c)}function t(r){var o;let{sx:a,theme:n={}}=r||{};if(!a)return null;let s=(o=n.unstable_sxConfig)!=null?o:fhe.default;function i(p){let l=p;if(typeof p=="function")l=p(n);else if(typeof p!="object")return p;if(!l)return null;let d=(0,W0.createEmptyBreakpointObject)(n.breakpoints),u=Object.keys(d),f=d;return Object.keys(l).forEach(c=>{let m=mhe(l[c],n);if(m!=null)if(typeof m=="object")if(s[c])f=(0,FD.default)(f,e(c,m,n,s));else{let g=(0,W0.handleBreakpoints)({theme:n},m,h=>({[c]:h}));che(g,m)?f[c]=t({sx:m,theme:n}):f=(0,FD.default)(f,g)}else f=(0,FD.default)(f,e(c,m,n,s))}),(0,W0.removeUnusedBreakpoints)(u,f)}return Array.isArray(a)?a.map(i):i(a)}return t}var MW=AW();MW.filterProps=["sx"];var BXe=ub.default=MW});var cb=F((LXe,fb)=>{"use strict";function hhe(e,t){if(e==null)return{};var r={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(t.includes(o))continue;r[o]=e[o]}return r}fb.exports=hhe,fb.exports.__esModule=!0,fb.exports.default=fb.exports});var NW=F(UD=>{"use strict";var WD=rr();Object.defineProperty(UD,"__esModule",{value:!0});UD.default=The;var zD=WD(nf()),xhe=WD(cb()),ghe=bs(),yhe=WD(db()),bhe=["sx"],vhe=e=>{var t,r;let o={systemProps:{},otherProps:{}},a=(t=e==null||(r=e.theme)==null?void 0:r.unstable_sxConfig)!=null?t:yhe.default;return Object.keys(e).forEach(n=>{a[n]?o.systemProps[n]=e[n]:o.otherProps[n]=e[n]}),o};function The(e){let{sx:t}=e,r=(0,xhe.default)(e,bhe),{systemProps:o,otherProps:a}=vhe(r),n;return Array.isArray(t)?n=[o,...t]:typeof t=="function"?n=(...s)=>{let i=t(...s);return(0,ghe.isPlainObject)(i)?(0,zD.default)({},o,i):o}:n=(0,zD.default)({},o,t),(0,zD.default)({},a,{sx:n})}});var U0=F(ch=>{"use strict";var IW=rr();Object.defineProperty(ch,"__esModule",{value:!0});Object.defineProperty(ch,"default",{enumerable:!0,get:function(){return FW.default}});Object.defineProperty(ch,"extendSxProp",{enumerable:!0,get:function(){return She.default}});Object.defineProperty(ch,"unstable_createStyleFunctionSx",{enumerable:!0,get:function(){return FW.unstable_createStyleFunctionSx}});Object.defineProperty(ch,"unstable_defaultSxConfig",{enumerable:!0,get:function(){return whe.default}});var FW=_he(LD()),She=IW(NW()),whe=IW(db());function BW(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return(BW=function(o){return o?r:t})(e)}function _he(e,t){if(!t&&e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var r=BW(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)){var s=a?Object.getOwnPropertyDescriptor(e,n):null;s&&(s.get||s.set)?Object.defineProperty(o,n,s):o[n]=e[n]}return o.default=e,r&&r.set(e,o),o}});var VD=F(mb=>{"use strict";var jW=rr();Object.defineProperty(mb,"__esModule",{value:!0});mb.breakpointKeys=void 0;mb.default=Ehe;var Che=jW(cb()),LW=jW(nf()),Ohe=["values","unit","step"],UXe=mb.breakpointKeys=["xs","sm","md","lg","xl"],khe=e=>{let t=Object.keys(e).map(r=>({key:r,val:e[r]}))||[];return t.sort((r,o)=>r.val-o.val),t.reduce((r,o)=>(0,LW.default)({},r,{[o.key]:o.val}),{})};function Ehe(e){let{values:t={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:r="px",step:o=5}=e,a=(0,Che.default)(e,Ohe),n=khe(t),s=Object.keys(n);function i(f){return`@media (min-width:${typeof t[f]=="number"?t[f]:f}${r})`}function p(f){return`@media (max-width:${(typeof t[f]=="number"?t[f]:f)-o/100}${r})`}function l(f,c){let m=s.indexOf(c);return`@media (min-width:${typeof t[f]=="number"?t[f]:f}${r}) and (max-width:${(m!==-1&&typeof t[s[m]]=="number"?t[s[m]]:c)-o/100}${r})`}function d(f){return s.indexOf(f)+1{"use strict";Object.defineProperty(V0,"__esModule",{value:!0});V0.default=void 0;var Phe={borderRadius:4},HXe=V0.default=Phe});var WW=F(HD=>{"use strict";Object.defineProperty(HD,"__esModule",{value:!0});HD.default=Dhe;var Rhe=lb();function Dhe(e=8){if(e.mui)return e;let t=(0,Rhe.createUnarySpacing)({spacing:e}),r=(...o)=>(o.length===0?[1]:o).map(n=>{let s=t(n);return typeof s=="number"?`${s}px`:s}).join(" ");return r.mui=!0,r}});var GD=F($D=>{"use strict";Object.defineProperty($D,"__esModule",{value:!0});$D.default=Ahe;function Ahe(e,t){let r=this;return r.vars&&typeof r.getColorSchemeSelector=="function"?{[r.getColorSchemeSelector(e).replace(/(\[[^\]]+\])/,"*:where($1)")]:t}:r.palette.mode===e?t:{}}});var VW=F(H0=>{"use strict";var Hl=rr();Object.defineProperty(H0,"__esModule",{value:!0});H0.default=void 0;var qD=Hl(nf()),Mhe=Hl(cb()),UW=Hl(bs()),Nhe=Hl(VD()),Ihe=Hl(zW()),Fhe=Hl(WW()),Bhe=Hl(LD()),jhe=Hl(db()),Lhe=Hl(GD()),zhe=["breakpoints","palette","spacing","shape"];function Whe(e={},...t){let{breakpoints:r={},palette:o={},spacing:a,shape:n={}}=e,s=(0,Mhe.default)(e,zhe),i=(0,Nhe.default)(r),p=(0,Fhe.default)(a),l=(0,UW.default)({breakpoints:i,direction:"ltr",components:{},palette:(0,qD.default)({mode:"light"},o),spacing:p,shape:(0,qD.default)({},Ihe.default,n)},s);return l.applyStyles=Lhe.default,l=t.reduce((d,u)=>(0,UW.default)(d,u),l),l.unstable_sxConfig=(0,qD.default)({},jhe.default,s==null?void 0:s.unstable_sxConfig),l.unstable_sx=function(u){return(0,Bhe.default)({sx:u,theme:this})},l}var KXe=H0.default=Whe});var XD=F(hb=>{"use strict";var KD=rr();Object.defineProperty(hb,"__esModule",{value:!0});Object.defineProperty(hb,"default",{enumerable:!0,get:function(){return Uhe.default}});Object.defineProperty(hb,"private_createBreakpoints",{enumerable:!0,get:function(){return Vhe.default}});Object.defineProperty(hb,"unstable_applyStyles",{enumerable:!0,get:function(){return Hhe.default}});var Uhe=KD(VW()),Vhe=KD(VD()),Hhe=KD(GD())});var hh=F(po=>{"use strict";var $W=rr();Object.defineProperty(po,"__esModule",{value:!0});po.alpha=XW;po.blend=exe;po.colorChannel=void 0;po.darken=ZD;po.decomposeColor=_s;po.emphasize=JW;po.getContrastRatio=Xhe;po.getLuminance=$0;po.hexToRgb=GW;po.hslToRgb=KW;po.lighten=QD;po.private_safeAlpha=Jhe;po.private_safeColorChannel=void 0;po.private_safeDarken=Yhe;po.private_safeEmphasize=Qhe;po.private_safeLighten=Zhe;po.recomposeColor=mh;po.rgbToHex=Khe;var HW=$W(jy()),$he=$W(K6());function YD(e,t=0,r=1){return(0,$he.default)(e,t,r)}function GW(e){e=e.slice(1);let t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g"),r=e.match(t);return r&&r[0].length===1&&(r=r.map(o=>o+o)),r?`rgb${r.length===4?"a":""}(${r.map((o,a)=>a<3?parseInt(o,16):Math.round(parseInt(o,16)/255*1e3)/1e3).join(", ")})`:""}function Ghe(e){let t=e.toString(16);return t.length===1?`0${t}`:t}function _s(e){if(e.type)return e;if(e.charAt(0)==="#")return _s(GW(e));let t=e.indexOf("("),r=e.substring(0,t);if(["rgb","rgba","hsl","hsla","color"].indexOf(r)===-1)throw new Error((0,HW.default)(9,e));let o=e.substring(t+1,e.length-1),a;if(r==="color"){if(o=o.split(" "),a=o.shift(),o.length===4&&o[3].charAt(0)==="/"&&(o[3]=o[3].slice(1)),["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(a)===-1)throw new Error((0,HW.default)(10,a))}else o=o.split(",");return o=o.map(n=>parseFloat(n)),{type:r,values:o,colorSpace:a}}var qW=e=>{let t=_s(e);return t.values.slice(0,3).map((r,o)=>t.type.indexOf("hsl")!==-1&&o!==0?`${r}%`:r).join(" ")};po.colorChannel=qW;var qhe=(e,t)=>{try{return qW(e)}catch(r){return e}};po.private_safeColorChannel=qhe;function mh(e){let{type:t,colorSpace:r}=e,{values:o}=e;return t.indexOf("rgb")!==-1?o=o.map((a,n)=>n<3?parseInt(a,10):a):t.indexOf("hsl")!==-1&&(o[1]=`${o[1]}%`,o[2]=`${o[2]}%`),t.indexOf("color")!==-1?o=`${r} ${o.join(" ")}`:o=`${o.join(", ")}`,`${t}(${o})`}function Khe(e){if(e.indexOf("#")===0)return e;let{values:t}=_s(e);return`#${t.map((r,o)=>Ghe(o===3?Math.round(255*r):r)).join("")}`}function KW(e){e=_s(e);let{values:t}=e,r=t[0],o=t[1]/100,a=t[2]/100,n=o*Math.min(a,1-a),s=(l,d=(l+r/30)%12)=>a-n*Math.max(Math.min(d-3,9-d,1),-1),i="rgb",p=[Math.round(s(0)*255),Math.round(s(8)*255),Math.round(s(4)*255)];return e.type==="hsla"&&(i+="a",p.push(t[3])),mh({type:i,values:p})}function $0(e){e=_s(e);let t=e.type==="hsl"||e.type==="hsla"?_s(KW(e)).values:e.values;return t=t.map(r=>(e.type!=="color"&&(r/=255),r<=.03928?r/12.92:((r+.055)/1.055)**2.4)),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function Xhe(e,t){let r=$0(e),o=$0(t);return(Math.max(r,o)+.05)/(Math.min(r,o)+.05)}function XW(e,t){return e=_s(e),t=YD(t),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${t}`:e.values[3]=t,mh(e)}function Jhe(e,t,r){try{return XW(e,t)}catch(o){return e}}function ZD(e,t){if(e=_s(e),t=YD(t),e.type.indexOf("hsl")!==-1)e.values[2]*=1-t;else if(e.type.indexOf("rgb")!==-1||e.type.indexOf("color")!==-1)for(let r=0;r<3;r+=1)e.values[r]*=1-t;return mh(e)}function Yhe(e,t,r){try{return ZD(e,t)}catch(o){return e}}function QD(e,t){if(e=_s(e),t=YD(t),e.type.indexOf("hsl")!==-1)e.values[2]+=(100-e.values[2])*t;else if(e.type.indexOf("rgb")!==-1)for(let r=0;r<3;r+=1)e.values[r]+=(255-e.values[r])*t;else if(e.type.indexOf("color")!==-1)for(let r=0;r<3;r+=1)e.values[r]+=(1-e.values[r])*t;return mh(e)}function Zhe(e,t,r){try{return QD(e,t)}catch(o){return e}}function JW(e,t=.15){return $0(e)>.5?ZD(e,t):QD(e,t)}function Qhe(e,t,r){try{return JW(e,t)}catch(o){return e}}function exe(e,t,r,o=1){let a=(p,l)=>Math.round((p**(1/o)*(1-r)+l**(1/o)*r)**o),n=_s(e),s=_s(t),i=[a(n.values[0],s.values[0]),a(n.values[1],s.values[1]),a(n.values[2],s.values[2])];return mh({type:"rgb",values:i})}});var u9=F(Th=>{"use strict";var vh=rr();Object.defineProperty(Th,"__esModule",{value:!0});Th.default=zxe;Th.shouldForwardProp=J0;Th.systemDefaultTheme=void 0;var Cs=vh(nf()),nA=vh(cb()),p9=Nxe(th()),Exe=bs(),GJe=vh(lf()),qJe=vh(G6()),Pxe=vh(XD()),Rxe=vh(U0()),Dxe=["ownerState"],Axe=["variants"],Mxe=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function d9(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return(d9=function(o){return o?r:t})(e)}function Nxe(e,t){if(!t&&e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var r=d9(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)){var s=a?Object.getOwnPropertyDescriptor(e,n):null;s&&(s.get||s.set)?Object.defineProperty(o,n,s):o[n]=e[n]}return o.default=e,r&&r.set(e,o),o}function Ixe(e){return Object.keys(e).length===0}function Fxe(e){return typeof e=="string"&&e.charCodeAt(0)>96}function J0(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}var Bxe=Th.systemDefaultTheme=(0,Pxe.default)(),jxe=e=>e&&e.charAt(0).toLowerCase()+e.slice(1);function X0({defaultTheme:e,theme:t,themeId:r}){return Ixe(t)?e:t[r]||t}function Lxe(e){return e?(t,r)=>r[e]:null}function Y0(e,t){let{ownerState:r}=t,o=(0,nA.default)(t,Dxe),a=typeof e=="function"?e((0,Cs.default)({ownerState:r},o)):e;if(Array.isArray(a))return a.flatMap(n=>Y0(n,(0,Cs.default)({ownerState:r},o)));if(a&&typeof a=="object"&&Array.isArray(a.variants)){let{variants:n=[]}=a,i=(0,nA.default)(a,Axe);return n.forEach(p=>{let l=!0;typeof p.props=="function"?l=p.props((0,Cs.default)({ownerState:r},o,r)):Object.keys(p.props).forEach(d=>{(r==null?void 0:r[d])!==p.props[d]&&o[d]!==p.props[d]&&(l=!1)}),l&&(Array.isArray(i)||(i=[i]),i.push(typeof p.style=="function"?p.style((0,Cs.default)({ownerState:r},o,r)):p.style))}),i}return a}function zxe(e={}){let{themeId:t,defaultTheme:r=Bxe,rootShouldForwardProp:o=J0,slotShouldForwardProp:a=J0}=e,n=s=>(0,Rxe.default)((0,Cs.default)({},s,{theme:X0((0,Cs.default)({},s,{defaultTheme:r,themeId:t}))}));return n.__mui_systemSx=!0,(s,i={})=>{(0,p9.internal_processStyles)(s,w=>w.filter(O=>!(O!=null&&O.__mui_systemSx)));let{name:p,slot:l,skipVariantsResolver:d,skipSx:u,overridesResolver:f=Lxe(jxe(l))}=i,c=(0,nA.default)(i,Mxe),m=d!==void 0?d:l&&l!=="Root"&&l!=="root"||!1,g=u||!1,h,x=J0;l==="Root"||l==="root"?x=o:l?x=a:Fxe(s)&&(x=void 0);let T=(0,p9.default)(s,(0,Cs.default)({shouldForwardProp:x,label:h},c)),v=w=>typeof w=="function"&&w.__emotion_real!==w||(0,Exe.isPlainObject)(w)?O=>Y0(w,(0,Cs.default)({},O,{theme:X0({theme:O.theme,defaultTheme:r,themeId:t})})):w,b=(w,...O)=>{let k=v(w),M=O?O.map(v):[];p&&f&&M.push(B=>{let $=X0((0,Cs.default)({},B,{defaultTheme:r,themeId:t}));if(!$.components||!$.components[p]||!$.components[p].styleOverrides)return null;let K=$.components[p].styleOverrides,G={};return Object.entries(K).forEach(([L,Y])=>{G[L]=Y0(Y,(0,Cs.default)({},B,{theme:$}))}),f(B,G)}),p&&!m&&M.push(B=>{var $;let K=X0((0,Cs.default)({},B,{defaultTheme:r,themeId:t})),G=K==null||($=K.components)==null||($=$[p])==null?void 0:$.variants;return Y0({variants:G},(0,Cs.default)({},B,{theme:K}))}),g||M.push(n);let N=M.length-O.length;if(Array.isArray(w)&&N>0){let B=new Array(N).fill("");k=[...w,...B],k.raw=[...w.raw,...B]}let S=T(k,...M);return s.muiName&&(S.muiName=s.muiName),S};return T.withConfig&&(b.withConfig=T.withConfig),b}}});var YN=F((y6t,ZG)=>{"use strict";var rke=typeof global=="object"&&global&&global.Object===Object&&global;ZG.exports=rke});var _i=F((b6t,QG)=>{"use strict";var oke=YN(),ake=typeof self=="object"&&self&&self.Object===Object&&self,nke=oke||ake||Function("return this")();QG.exports=nke});var kx=F((v6t,eq)=>{"use strict";var ske=_i(),ike=ske.Symbol;eq.exports=ike});var aq=F((T6t,oq)=>{"use strict";var tq=kx(),rq=Object.prototype,lke=rq.hasOwnProperty,pke=rq.toString,$v=tq?tq.toStringTag:void 0;function dke(e){var t=lke.call(e,$v),r=e[$v];try{e[$v]=void 0;var o=!0}catch(n){}var a=pke.call(e);return o&&(t?e[$v]=r:delete e[$v]),a}oq.exports=dke});var sq=F((S6t,nq)=>{"use strict";var uke=Object.prototype,fke=uke.toString;function cke(e){return fke.call(e)}nq.exports=cke});var Ld=F((w6t,pq)=>{"use strict";var iq=kx(),mke=aq(),hke=sq(),xke="[object Null]",gke="[object Undefined]",lq=iq?iq.toStringTag:void 0;function yke(e){return e==null?e===void 0?gke:xke:lq&&lq in Object(e)?mke(e):hke(e)}pq.exports=yke});var Vs=F((_6t,dq)=>{"use strict";var bke=Array.isArray;dq.exports=bke});var yl=F((C6t,uq)=>{"use strict";function vke(e){return e!=null&&typeof e=="object"}uq.exports=vke});var cq=F((O6t,fq)=>{"use strict";var Tke=Ld(),Ske=Vs(),wke=yl(),_ke="[object String]";function Cke(e){return typeof e=="string"||!Ske(e)&&wke(e)&&Tke(e)==_ke}fq.exports=Cke});var hq=F((k6t,mq)=>{"use strict";function Oke(e){return function(t,r,o){for(var a=-1,n=Object(t),s=o(t),i=s.length;i--;){var p=s[e?i:++a];if(r(n[p],p,n)===!1)break}return t}}mq.exports=Oke});var gq=F((E6t,xq)=>{"use strict";var kke=hq(),Eke=kke();xq.exports=Eke});var bq=F((P6t,yq)=>{"use strict";function Pke(e,t){for(var r=-1,o=Array(e);++r{"use strict";var Rke=Ld(),Dke=yl(),Ake="[object Arguments]";function Mke(e){return Dke(e)&&Rke(e)==Ake}vq.exports=Mke});var ZN=F((D6t,_q)=>{"use strict";var Sq=Tq(),Nke=yl(),wq=Object.prototype,Ike=wq.hasOwnProperty,Fke=wq.propertyIsEnumerable,Bke=Sq(function(){return arguments}())?Sq:function(e){return Nke(e)&&Ike.call(e,"callee")&&!Fke.call(e,"callee")};_q.exports=Bke});var Oq=F((A6t,Cq)=>{"use strict";function jke(){return!1}Cq.exports=jke});var TO=F((Gv,Ex)=>{"use strict";var Lke=_i(),zke=Oq(),Pq=typeof Gv=="object"&&Gv&&!Gv.nodeType&&Gv,kq=Pq&&typeof Ex=="object"&&Ex&&!Ex.nodeType&&Ex,Wke=kq&&kq.exports===Pq,Eq=Wke?Lke.Buffer:void 0,Uke=Eq?Eq.isBuffer:void 0,Vke=Uke||zke;Ex.exports=Vke});var QN=F((M6t,Rq)=>{"use strict";var Hke=9007199254740991,$ke=/^(?:0|[1-9]\d*)$/;function Gke(e,t){var r=typeof e;return t=t==null?Hke:t,!!t&&(r=="number"||r!="symbol"&&$ke.test(e))&&e>-1&&e%1==0&&e{"use strict";var qke=9007199254740991;function Kke(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=qke}Dq.exports=Kke});var Mq=F((I6t,Aq)=>{"use strict";var Xke=Ld(),Jke=SO(),Yke=yl(),Zke="[object Arguments]",Qke="[object Array]",eEe="[object Boolean]",tEe="[object Date]",rEe="[object Error]",oEe="[object Function]",aEe="[object Map]",nEe="[object Number]",sEe="[object Object]",iEe="[object RegExp]",lEe="[object Set]",pEe="[object String]",dEe="[object WeakMap]",uEe="[object ArrayBuffer]",fEe="[object DataView]",cEe="[object Float32Array]",mEe="[object Float64Array]",hEe="[object Int8Array]",xEe="[object Int16Array]",gEe="[object Int32Array]",yEe="[object Uint8Array]",bEe="[object Uint8ClampedArray]",vEe="[object Uint16Array]",TEe="[object Uint32Array]",Fr={};Fr[cEe]=Fr[mEe]=Fr[hEe]=Fr[xEe]=Fr[gEe]=Fr[yEe]=Fr[bEe]=Fr[vEe]=Fr[TEe]=!0;Fr[Zke]=Fr[Qke]=Fr[uEe]=Fr[eEe]=Fr[fEe]=Fr[tEe]=Fr[rEe]=Fr[oEe]=Fr[aEe]=Fr[nEe]=Fr[sEe]=Fr[iEe]=Fr[lEe]=Fr[pEe]=Fr[dEe]=!1;function SEe(e){return Yke(e)&&Jke(e.length)&&!!Fr[Xke(e)]}Aq.exports=SEe});var wO=F((F6t,Nq)=>{"use strict";function wEe(e){return function(t){return e(t)}}Nq.exports=wEe});var _O=F((qv,Px)=>{"use strict";var _Ee=YN(),Iq=typeof qv=="object"&&qv&&!qv.nodeType&&qv,Kv=Iq&&typeof Px=="object"&&Px&&!Px.nodeType&&Px,CEe=Kv&&Kv.exports===Iq,eI=CEe&&_Ee.process,OEe=function(){try{var e=Kv&&Kv.require&&Kv.require("util").types;return e||eI&&eI.binding&&eI.binding("util")}catch(t){}}();Px.exports=OEe});var tI=F((B6t,jq)=>{"use strict";var kEe=Mq(),EEe=wO(),Fq=_O(),Bq=Fq&&Fq.isTypedArray,PEe=Bq?EEe(Bq):kEe;jq.exports=PEe});var rI=F((j6t,Lq)=>{"use strict";var REe=bq(),DEe=ZN(),AEe=Vs(),MEe=TO(),NEe=QN(),IEe=tI(),FEe=Object.prototype,BEe=FEe.hasOwnProperty;function jEe(e,t){var r=AEe(e),o=!r&&DEe(e),a=!r&&!o&&MEe(e),n=!r&&!o&&!a&&IEe(e),s=r||o||a||n,i=s?REe(e.length,String):[],p=i.length;for(var l in e)(t||BEe.call(e,l))&&!(s&&(l=="length"||a&&(l=="offset"||l=="parent")||n&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||NEe(l,p)))&&i.push(l);return i}Lq.exports=jEe});var CO=F((L6t,zq)=>{"use strict";var LEe=Object.prototype;function zEe(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||LEe;return e===r}zq.exports=zEe});var oI=F((z6t,Wq)=>{"use strict";function WEe(e,t){return function(r){return e(t(r))}}Wq.exports=WEe});var Vq=F((W6t,Uq)=>{"use strict";var UEe=oI(),VEe=UEe(Object.keys,Object);Uq.exports=VEe});var $q=F((U6t,Hq)=>{"use strict";var HEe=CO(),$Ee=Vq(),GEe=Object.prototype,qEe=GEe.hasOwnProperty;function KEe(e){if(!HEe(e))return $Ee(e);var t=[];for(var r in Object(e))qEe.call(e,r)&&r!="constructor"&&t.push(r);return t}Hq.exports=KEe});var kc=F((V6t,Gq)=>{"use strict";function XEe(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}Gq.exports=XEe});var aI=F((H6t,qq)=>{"use strict";var JEe=Ld(),YEe=kc(),ZEe="[object AsyncFunction]",QEe="[object Function]",ePe="[object GeneratorFunction]",tPe="[object Proxy]";function rPe(e){if(!YEe(e))return!1;var t=JEe(e);return t==QEe||t==ePe||t==ZEe||t==tPe}qq.exports=rPe});var Xv=F(($6t,Kq)=>{"use strict";var oPe=aI(),aPe=SO();function nPe(e){return e!=null&&aPe(e.length)&&!oPe(e)}Kq.exports=nPe});var Rx=F((G6t,Xq)=>{"use strict";var sPe=rI(),iPe=$q(),lPe=Xv();function pPe(e){return lPe(e)?sPe(e):iPe(e)}Xq.exports=pPe});var nI=F((q6t,Jq)=>{"use strict";var dPe=gq(),uPe=Rx();function fPe(e,t){return e&&dPe(e,t,uPe)}Jq.exports=fPe});var sI=F((K6t,Yq)=>{"use strict";function cPe(e){return e}Yq.exports=cPe});var Qq=F((X6t,Zq)=>{"use strict";var mPe=sI();function hPe(e){return typeof e=="function"?e:mPe}Zq.exports=hPe});var OO=F((J6t,eK)=>{"use strict";var xPe=nI(),gPe=Qq();function yPe(e,t){return e&&xPe(e,gPe(t))}eK.exports=yPe});var kO=F((Y6t,tK)=>{"use strict";var bPe=oI(),vPe=bPe(Object.getPrototypeOf,Object);tK.exports=vPe});var aK=F((Z6t,oK)=>{"use strict";var TPe=Ld(),SPe=kO(),wPe=yl(),_Pe="[object Object]",CPe=Function.prototype,OPe=Object.prototype,rK=CPe.toString,kPe=OPe.hasOwnProperty,EPe=rK.call(Object);function PPe(e){if(!wPe(e)||TPe(e)!=_Pe)return!1;var t=SPe(e);if(t===null)return!0;var r=kPe.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&rK.call(r)==EPe}oK.exports=PPe});var iI=F((Q6t,nK)=>{"use strict";function RPe(e,t){for(var r=-1,o=e==null?0:e.length,a=Array(o);++r{"use strict";function DPe(){this.__data__=[],this.size=0}sK.exports=DPe});var EO=F((tWt,lK)=>{"use strict";function APe(e,t){return e===t||e!==e&&t!==t}lK.exports=APe});var Jv=F((rWt,pK)=>{"use strict";var MPe=EO();function NPe(e,t){for(var r=e.length;r--;)if(MPe(e[r][0],t))return r;return-1}pK.exports=NPe});var uK=F((oWt,dK)=>{"use strict";var IPe=Jv(),FPe=Array.prototype,BPe=FPe.splice;function jPe(e){var t=this.__data__,r=IPe(t,e);if(r<0)return!1;var o=t.length-1;return r==o?t.pop():BPe.call(t,r,1),--this.size,!0}dK.exports=jPe});var cK=F((aWt,fK)=>{"use strict";var LPe=Jv();function zPe(e){var t=this.__data__,r=LPe(t,e);return r<0?void 0:t[r][1]}fK.exports=zPe});var hK=F((nWt,mK)=>{"use strict";var WPe=Jv();function UPe(e){return WPe(this.__data__,e)>-1}mK.exports=UPe});var gK=F((sWt,xK)=>{"use strict";var VPe=Jv();function HPe(e,t){var r=this.__data__,o=VPe(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}xK.exports=HPe});var Yv=F((iWt,yK)=>{"use strict";var $Pe=iK(),GPe=uK(),qPe=cK(),KPe=hK(),XPe=gK();function Dx(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t{"use strict";var JPe=Yv();function YPe(){this.__data__=new JPe,this.size=0}bK.exports=YPe});var SK=F((pWt,TK)=>{"use strict";function ZPe(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}TK.exports=ZPe});var _K=F((dWt,wK)=>{"use strict";function QPe(e){return this.__data__.get(e)}wK.exports=QPe});var OK=F((uWt,CK)=>{"use strict";function eRe(e){return this.__data__.has(e)}CK.exports=eRe});var EK=F((fWt,kK)=>{"use strict";var tRe=_i(),rRe=tRe["__core-js_shared__"];kK.exports=rRe});var DK=F((cWt,RK)=>{"use strict";var lI=EK(),PK=function(){var e=/[^.]+$/.exec(lI&&lI.keys&&lI.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function oRe(e){return!!PK&&PK in e}RK.exports=oRe});var pI=F((mWt,AK)=>{"use strict";var aRe=Function.prototype,nRe=aRe.toString;function sRe(e){if(e!=null){try{return nRe.call(e)}catch(t){}try{return e+""}catch(t){}}return""}AK.exports=sRe});var NK=F((hWt,MK)=>{"use strict";var iRe=aI(),lRe=DK(),pRe=kc(),dRe=pI(),uRe=/[\\^$.*+?()[\]{}|]/g,fRe=/^\[object .+?Constructor\]$/,cRe=Function.prototype,mRe=Object.prototype,hRe=cRe.toString,xRe=mRe.hasOwnProperty,gRe=RegExp("^"+hRe.call(xRe).replace(uRe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function yRe(e){if(!pRe(e)||lRe(e))return!1;var t=iRe(e)?gRe:fRe;return t.test(dRe(e))}MK.exports=yRe});var FK=F((xWt,IK)=>{"use strict";function bRe(e,t){return e==null?void 0:e[t]}IK.exports=bRe});var zd=F((gWt,BK)=>{"use strict";var vRe=NK(),TRe=FK();function SRe(e,t){var r=TRe(e,t);return vRe(r)?r:void 0}BK.exports=SRe});var PO=F((yWt,jK)=>{"use strict";var wRe=zd(),_Re=_i(),CRe=wRe(_Re,"Map");jK.exports=CRe});var Zv=F((bWt,LK)=>{"use strict";var ORe=zd(),kRe=ORe(Object,"create");LK.exports=kRe});var UK=F((vWt,WK)=>{"use strict";var zK=Zv();function ERe(){this.__data__=zK?zK(null):{},this.size=0}WK.exports=ERe});var HK=F((TWt,VK)=>{"use strict";function PRe(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}VK.exports=PRe});var GK=F((SWt,$K)=>{"use strict";var RRe=Zv(),DRe="__lodash_hash_undefined__",ARe=Object.prototype,MRe=ARe.hasOwnProperty;function NRe(e){var t=this.__data__;if(RRe){var r=t[e];return r===DRe?void 0:r}return MRe.call(t,e)?t[e]:void 0}$K.exports=NRe});var KK=F((wWt,qK)=>{"use strict";var IRe=Zv(),FRe=Object.prototype,BRe=FRe.hasOwnProperty;function jRe(e){var t=this.__data__;return IRe?t[e]!==void 0:BRe.call(t,e)}qK.exports=jRe});var JK=F((_Wt,XK)=>{"use strict";var LRe=Zv(),zRe="__lodash_hash_undefined__";function WRe(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=LRe&&t===void 0?zRe:t,this}XK.exports=WRe});var ZK=F((CWt,YK)=>{"use strict";var URe=UK(),VRe=HK(),HRe=GK(),$Re=KK(),GRe=JK();function Ax(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t{"use strict";var QK=ZK(),qRe=Yv(),KRe=PO();function XRe(){this.size=0,this.__data__={hash:new QK,map:new(KRe||qRe),string:new QK}}eX.exports=XRe});var oX=F((kWt,rX)=>{"use strict";function JRe(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}rX.exports=JRe});var Qv=F((EWt,aX)=>{"use strict";var YRe=oX();function ZRe(e,t){var r=e.__data__;return YRe(t)?r[typeof t=="string"?"string":"hash"]:r.map}aX.exports=ZRe});var sX=F((PWt,nX)=>{"use strict";var QRe=Qv();function eDe(e){var t=QRe(this,e).delete(e);return this.size-=t?1:0,t}nX.exports=eDe});var lX=F((RWt,iX)=>{"use strict";var tDe=Qv();function rDe(e){return tDe(this,e).get(e)}iX.exports=rDe});var dX=F((DWt,pX)=>{"use strict";var oDe=Qv();function aDe(e){return oDe(this,e).has(e)}pX.exports=aDe});var fX=F((AWt,uX)=>{"use strict";var nDe=Qv();function sDe(e,t){var r=nDe(this,e),o=r.size;return r.set(e,t),this.size+=r.size==o?0:1,this}uX.exports=sDe});var RO=F((MWt,cX)=>{"use strict";var iDe=tX(),lDe=sX(),pDe=lX(),dDe=dX(),uDe=fX();function Mx(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t{"use strict";var fDe=Yv(),cDe=PO(),mDe=RO(),hDe=200;function xDe(e,t){var r=this.__data__;if(r instanceof fDe){var o=r.__data__;if(!cDe||o.length{"use strict";var gDe=Yv(),yDe=vK(),bDe=SK(),vDe=_K(),TDe=OK(),SDe=hX();function Nx(e){var t=this.__data__=new gDe(e);this.size=t.size}Nx.prototype.clear=yDe;Nx.prototype.delete=bDe;Nx.prototype.get=vDe;Nx.prototype.has=TDe;Nx.prototype.set=SDe;xX.exports=Nx});var yX=F((FWt,gX)=>{"use strict";var wDe="__lodash_hash_undefined__";function _De(e){return this.__data__.set(e,wDe),this}gX.exports=_De});var vX=F((BWt,bX)=>{"use strict";function CDe(e){return this.__data__.has(e)}bX.exports=CDe});var SX=F((jWt,TX)=>{"use strict";var ODe=RO(),kDe=yX(),EDe=vX();function AO(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new ODe;++t{"use strict";function PDe(e,t){for(var r=-1,o=e==null?0:e.length;++r{"use strict";function RDe(e,t){return e.has(t)}CX.exports=RDe});var dI=F((WWt,kX)=>{"use strict";var DDe=SX(),ADe=_X(),MDe=OX(),NDe=1,IDe=2;function FDe(e,t,r,o,a,n){var s=r&NDe,i=e.length,p=t.length;if(i!=p&&!(s&&p>i))return!1;var l=n.get(e),d=n.get(t);if(l&&d)return l==t&&d==e;var u=-1,f=!0,c=r&IDe?new DDe:void 0;for(n.set(e,t),n.set(t,e);++u{"use strict";var BDe=_i(),jDe=BDe.Uint8Array;EX.exports=jDe});var RX=F((VWt,PX)=>{"use strict";function LDe(e){var t=-1,r=Array(e.size);return e.forEach(function(o,a){r[++t]=[a,o]}),r}PX.exports=LDe});var AX=F((HWt,DX)=>{"use strict";function zDe(e){var t=-1,r=Array(e.size);return e.forEach(function(o){r[++t]=o}),r}DX.exports=zDe});var BX=F(($Wt,FX)=>{"use strict";var MX=kx(),NX=uI(),WDe=EO(),UDe=dI(),VDe=RX(),HDe=AX(),$De=1,GDe=2,qDe="[object Boolean]",KDe="[object Date]",XDe="[object Error]",JDe="[object Map]",YDe="[object Number]",ZDe="[object RegExp]",QDe="[object Set]",eAe="[object String]",tAe="[object Symbol]",rAe="[object ArrayBuffer]",oAe="[object DataView]",IX=MX?MX.prototype:void 0,fI=IX?IX.valueOf:void 0;function aAe(e,t,r,o,a,n,s){switch(r){case oAe:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case rAe:return!(e.byteLength!=t.byteLength||!n(new NX(e),new NX(t)));case qDe:case KDe:case YDe:return WDe(+e,+t);case XDe:return e.name==t.name&&e.message==t.message;case ZDe:case eAe:return e==t+"";case JDe:var i=VDe;case QDe:var p=o&$De;if(i||(i=HDe),e.size!=t.size&&!p)return!1;var l=s.get(e);if(l)return l==t;o|=GDe,s.set(e,t);var d=UDe(i(e),i(t),o,a,n,s);return s.delete(e),d;case tAe:if(fI)return fI.call(e)==fI.call(t)}return!1}FX.exports=aAe});var cI=F((GWt,jX)=>{"use strict";function nAe(e,t){for(var r=-1,o=t.length,a=e.length;++r{"use strict";var sAe=cI(),iAe=Vs();function lAe(e,t,r){var o=t(e);return iAe(e)?o:sAe(o,r(e))}LX.exports=lAe});var WX=F((KWt,zX)=>{"use strict";function pAe(e,t){for(var r=-1,o=e==null?0:e.length,a=0,n=[];++r{"use strict";function dAe(){return[]}UX.exports=dAe});var MO=F((JWt,HX)=>{"use strict";var uAe=WX(),fAe=hI(),cAe=Object.prototype,mAe=cAe.propertyIsEnumerable,VX=Object.getOwnPropertySymbols,hAe=VX?function(e){return e==null?[]:(e=Object(e),uAe(VX(e),function(t){return mAe.call(e,t)}))}:fAe;HX.exports=hAe});var xI=F((YWt,$X)=>{"use strict";var xAe=mI(),gAe=MO(),yAe=Rx();function bAe(e){return xAe(e,yAe,gAe)}$X.exports=bAe});var KX=F((ZWt,qX)=>{"use strict";var GX=xI(),vAe=1,TAe=Object.prototype,SAe=TAe.hasOwnProperty;function wAe(e,t,r,o,a,n){var s=r&vAe,i=GX(e),p=i.length,l=GX(t),d=l.length;if(p!=d&&!s)return!1;for(var u=p;u--;){var f=i[u];if(!(s?f in t:SAe.call(t,f)))return!1}var c=n.get(e),m=n.get(t);if(c&&m)return c==t&&m==e;var g=!0;n.set(e,t),n.set(t,e);for(var h=s;++u{"use strict";var _Ae=zd(),CAe=_i(),OAe=_Ae(CAe,"DataView");XX.exports=OAe});var ZX=F((e9t,YX)=>{"use strict";var kAe=zd(),EAe=_i(),PAe=kAe(EAe,"Promise");YX.exports=PAe});var eJ=F((t9t,QX)=>{"use strict";var RAe=zd(),DAe=_i(),AAe=RAe(DAe,"Set");QX.exports=AAe});var rJ=F((r9t,tJ)=>{"use strict";var MAe=zd(),NAe=_i(),IAe=MAe(NAe,"WeakMap");tJ.exports=IAe});var eT=F((o9t,pJ)=>{"use strict";var gI=JX(),yI=PO(),bI=ZX(),vI=eJ(),TI=rJ(),lJ=Ld(),Ix=pI(),oJ="[object Map]",FAe="[object Object]",aJ="[object Promise]",nJ="[object Set]",sJ="[object WeakMap]",iJ="[object DataView]",BAe=Ix(gI),jAe=Ix(yI),LAe=Ix(bI),zAe=Ix(vI),WAe=Ix(TI),Ec=lJ;(gI&&Ec(new gI(new ArrayBuffer(1)))!=iJ||yI&&Ec(new yI)!=oJ||bI&&Ec(bI.resolve())!=aJ||vI&&Ec(new vI)!=nJ||TI&&Ec(new TI)!=sJ)&&(Ec=function(e){var t=lJ(e),r=t==FAe?e.constructor:void 0,o=r?Ix(r):"";if(o)switch(o){case BAe:return iJ;case jAe:return oJ;case LAe:return aJ;case zAe:return nJ;case WAe:return sJ}return t});pJ.exports=Ec});var gJ=F((a9t,xJ)=>{"use strict";var SI=DO(),UAe=dI(),VAe=BX(),HAe=KX(),dJ=eT(),uJ=Vs(),fJ=TO(),$Ae=tI(),GAe=1,cJ="[object Arguments]",mJ="[object Array]",NO="[object Object]",qAe=Object.prototype,hJ=qAe.hasOwnProperty;function KAe(e,t,r,o,a,n){var s=uJ(e),i=uJ(t),p=s?mJ:dJ(e),l=i?mJ:dJ(t);p=p==cJ?NO:p,l=l==cJ?NO:l;var d=p==NO,u=l==NO,f=p==l;if(f&&fJ(e)){if(!fJ(t))return!1;s=!0,d=!1}if(f&&!d)return n||(n=new SI),s||$Ae(e)?UAe(e,t,r,o,a,n):VAe(e,t,p,r,o,a,n);if(!(r&GAe)){var c=d&&hJ.call(e,"__wrapped__"),m=u&&hJ.call(t,"__wrapped__");if(c||m){var g=c?e.value():e,h=m?t.value():t;return n||(n=new SI),a(g,h,r,o,n)}}return f?(n||(n=new SI),HAe(e,t,r,o,a,n)):!1}xJ.exports=KAe});var wI=F((n9t,vJ)=>{"use strict";var XAe=gJ(),yJ=yl();function bJ(e,t,r,o,a){return e===t?!0:e==null||t==null||!yJ(e)&&!yJ(t)?e!==e&&t!==t:XAe(e,t,r,o,bJ,a)}vJ.exports=bJ});var SJ=F((s9t,TJ)=>{"use strict";var JAe=DO(),YAe=wI(),ZAe=1,QAe=2;function e2e(e,t,r,o){var a=r.length,n=a,s=!o;if(e==null)return!n;for(e=Object(e);a--;){var i=r[a];if(s&&i[2]?i[1]!==e[i[0]]:!(i[0]in e))return!1}for(;++a{"use strict";var t2e=kc();function r2e(e){return e===e&&!t2e(e)}wJ.exports=r2e});var CJ=F((l9t,_J)=>{"use strict";var o2e=_I(),a2e=Rx();function n2e(e){for(var t=a2e(e),r=t.length;r--;){var o=t[r],a=e[o];t[r]=[o,a,o2e(a)]}return t}_J.exports=n2e});var CI=F((p9t,OJ)=>{"use strict";function s2e(e,t){return function(r){return r==null?!1:r[e]===t&&(t!==void 0||e in Object(r))}}OJ.exports=s2e});var EJ=F((d9t,kJ)=>{"use strict";var i2e=SJ(),l2e=CJ(),p2e=CI();function d2e(e){var t=l2e(e);return t.length==1&&t[0][2]?p2e(t[0][0],t[0][1]):function(r){return r===e||i2e(r,e,t)}}kJ.exports=d2e});var IO=F((u9t,PJ)=>{"use strict";var u2e=Ld(),f2e=yl(),c2e="[object Symbol]";function m2e(e){return typeof e=="symbol"||f2e(e)&&u2e(e)==c2e}PJ.exports=m2e});var FO=F((f9t,RJ)=>{"use strict";var h2e=Vs(),x2e=IO(),g2e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,y2e=/^\w*$/;function b2e(e,t){if(h2e(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||x2e(e)?!0:y2e.test(e)||!g2e.test(e)||t!=null&&e in Object(t)}RJ.exports=b2e});var MJ=F((c9t,AJ)=>{"use strict";var DJ=RO(),v2e="Expected a function";function OI(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(v2e);var r=function(){var o=arguments,a=t?t.apply(this,o):o[0],n=r.cache;if(n.has(a))return n.get(a);var s=e.apply(this,o);return r.cache=n.set(a,s)||n,s};return r.cache=new(OI.Cache||DJ),r}OI.Cache=DJ;AJ.exports=OI});var IJ=F((m9t,NJ)=>{"use strict";var T2e=MJ(),S2e=500;function w2e(e){var t=T2e(e,function(o){return r.size===S2e&&r.clear(),o}),r=t.cache;return t}NJ.exports=w2e});var BJ=F((h9t,FJ)=>{"use strict";var _2e=IJ(),C2e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,O2e=/\\(\\)?/g,k2e=_2e(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(C2e,function(r,o,a,n){t.push(a?n.replace(O2e,"$1"):o||r)}),t});FJ.exports=k2e});var VJ=F((x9t,UJ)=>{"use strict";var jJ=kx(),E2e=iI(),P2e=Vs(),R2e=IO(),D2e=1/0,LJ=jJ?jJ.prototype:void 0,zJ=LJ?LJ.toString:void 0;function WJ(e){if(typeof e=="string")return e;if(P2e(e))return E2e(e,WJ)+"";if(R2e(e))return zJ?zJ.call(e):"";var t=e+"";return t=="0"&&1/e==-D2e?"-0":t}UJ.exports=WJ});var $J=F((g9t,HJ)=>{"use strict";var A2e=VJ();function M2e(e){return e==null?"":A2e(e)}HJ.exports=M2e});var kI=F((y9t,GJ)=>{"use strict";var N2e=Vs(),I2e=FO(),F2e=BJ(),B2e=$J();function j2e(e,t){return N2e(e)?e:I2e(e,t)?[e]:F2e(B2e(e))}GJ.exports=j2e});var tT=F((b9t,qJ)=>{"use strict";var L2e=IO(),z2e=1/0;function W2e(e){if(typeof e=="string"||L2e(e))return e;var t=e+"";return t=="0"&&1/e==-z2e?"-0":t}qJ.exports=W2e});var EI=F((v9t,KJ)=>{"use strict";var U2e=kI(),V2e=tT();function H2e(e,t){t=U2e(t,e);for(var r=0,o=t.length;e!=null&&r{"use strict";var $2e=EI();function G2e(e,t,r){var o=e==null?void 0:$2e(e,t);return o===void 0?r:o}XJ.exports=G2e});var ZJ=F((S9t,YJ)=>{"use strict";function q2e(e,t){return e!=null&&t in Object(e)}YJ.exports=q2e});var eY=F((w9t,QJ)=>{"use strict";var K2e=kI(),X2e=ZN(),J2e=Vs(),Y2e=QN(),Z2e=SO(),Q2e=tT();function eMe(e,t,r){t=K2e(t,e);for(var o=-1,a=t.length,n=!1;++o{"use strict";var tMe=ZJ(),rMe=eY();function oMe(e,t){return e!=null&&rMe(e,t,tMe)}tY.exports=oMe});var aY=F((C9t,oY)=>{"use strict";var aMe=wI(),nMe=JJ(),sMe=rY(),iMe=FO(),lMe=_I(),pMe=CI(),dMe=tT(),uMe=1,fMe=2;function cMe(e,t){return iMe(e)&&lMe(t)?pMe(dMe(e),t):function(r){var o=nMe(r,e);return o===void 0&&o===t?sMe(r,e):aMe(t,o,uMe|fMe)}}oY.exports=cMe});var sY=F((O9t,nY)=>{"use strict";function mMe(e){return function(t){return t==null?void 0:t[e]}}nY.exports=mMe});var lY=F((k9t,iY)=>{"use strict";var hMe=EI();function xMe(e){return function(t){return hMe(t,e)}}iY.exports=xMe});var dY=F((E9t,pY)=>{"use strict";var gMe=sY(),yMe=lY(),bMe=FO(),vMe=tT();function TMe(e){return bMe(e)?gMe(vMe(e)):yMe(e)}pY.exports=TMe});var fY=F((P9t,uY)=>{"use strict";var SMe=EJ(),wMe=aY(),_Me=sI(),CMe=Vs(),OMe=dY();function kMe(e){return typeof e=="function"?e:e==null?_Me:typeof e=="object"?CMe(e)?wMe(e[0],e[1]):SMe(e):OMe(e)}uY.exports=kMe});var mY=F((R9t,cY)=>{"use strict";var EMe=Xv();function PMe(e,t){return function(r,o){if(r==null)return r;if(!EMe(r))return e(r,o);for(var a=r.length,n=t?a:-1,s=Object(r);(t?n--:++n{"use strict";var RMe=nI(),DMe=mY(),AMe=DMe(RMe);hY.exports=AMe});var yY=F((A9t,gY)=>{"use strict";var MMe=xY(),NMe=Xv();function IMe(e,t){var r=-1,o=NMe(e)?Array(e.length):[];return MMe(e,function(a,n,s){o[++r]=t(a,n,s)}),o}gY.exports=IMe});var vY=F((M9t,bY)=>{"use strict";var FMe=iI(),BMe=fY(),jMe=yY(),LMe=Vs();function zMe(e,t){var r=LMe(e)?FMe:jMe;return r(e,BMe(t,3))}bY.exports=zMe});var TY=F(rT=>{"use strict";Object.defineProperty(rT,"__esModule",{value:!0});rT.flattenNames=void 0;var WMe=cq(),UMe=BO(WMe),VMe=OO(),HMe=BO(VMe),$Me=aK(),GMe=BO($Me),qMe=vY(),KMe=BO(qMe);function BO(e){return e&&e.__esModule?e:{default:e}}var XMe=rT.flattenNames=function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=[];return(0,KMe.default)(t,function(o){Array.isArray(o)?e(o).map(function(a){return r.push(a)}):(0,GMe.default)(o)?(0,HMe.default)(o,function(a,n){a===!0&&r.push(n),r.push(n+"-"+a)}):(0,UMe.default)(o)&&r.push(o)}),r};rT.default=XMe});var wY=F((I9t,SY)=>{"use strict";function JMe(e,t){for(var r=-1,o=e==null?0:e.length;++r{"use strict";var YMe=zd(),ZMe=function(){try{var e=YMe(Object,"defineProperty");return e({},"",{}),e}catch(t){}}();_Y.exports=ZMe});var PI=F((B9t,kY)=>{"use strict";var OY=CY();function QMe(e,t,r){t=="__proto__"&&OY?OY(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}kY.exports=QMe});var RI=F((j9t,EY)=>{"use strict";var eNe=PI(),tNe=EO(),rNe=Object.prototype,oNe=rNe.hasOwnProperty;function aNe(e,t,r){var o=e[t];(!(oNe.call(e,t)&&tNe(o,r))||r===void 0&&!(t in e))&&eNe(e,t,r)}EY.exports=aNe});var oT=F((L9t,PY)=>{"use strict";var nNe=RI(),sNe=PI();function iNe(e,t,r,o){var a=!r;r||(r={});for(var n=-1,s=t.length;++n{"use strict";var lNe=oT(),pNe=Rx();function dNe(e,t){return e&&lNe(t,pNe(t),e)}RY.exports=dNe});var MY=F((W9t,AY)=>{"use strict";function uNe(e){var t=[];if(e!=null)for(var r in Object(e))t.push(r);return t}AY.exports=uNe});var IY=F((U9t,NY)=>{"use strict";var fNe=kc(),cNe=CO(),mNe=MY(),hNe=Object.prototype,xNe=hNe.hasOwnProperty;function gNe(e){if(!fNe(e))return mNe(e);var t=cNe(e),r=[];for(var o in e)o=="constructor"&&(t||!xNe.call(e,o))||r.push(o);return r}NY.exports=gNe});var jO=F((V9t,FY)=>{"use strict";var yNe=rI(),bNe=IY(),vNe=Xv();function TNe(e){return vNe(e)?yNe(e,!0):bNe(e)}FY.exports=TNe});var jY=F((H9t,BY)=>{"use strict";var SNe=oT(),wNe=jO();function _Ne(e,t){return e&&SNe(t,wNe(t),e)}BY.exports=_Ne});var VY=F((aT,Fx)=>{"use strict";var CNe=_i(),UY=typeof aT=="object"&&aT&&!aT.nodeType&&aT,LY=UY&&typeof Fx=="object"&&Fx&&!Fx.nodeType&&Fx,ONe=LY&&LY.exports===UY,zY=ONe?CNe.Buffer:void 0,WY=zY?zY.allocUnsafe:void 0;function kNe(e,t){if(t)return e.slice();var r=e.length,o=WY?WY(r):new e.constructor(r);return e.copy(o),o}Fx.exports=kNe});var $Y=F(($9t,HY)=>{"use strict";function ENe(e,t){var r=-1,o=e.length;for(t||(t=Array(o));++r{"use strict";var PNe=oT(),RNe=MO();function DNe(e,t){return PNe(e,RNe(e),t)}GY.exports=DNe});var DI=F((q9t,KY)=>{"use strict";var ANe=cI(),MNe=kO(),NNe=MO(),INe=hI(),FNe=Object.getOwnPropertySymbols,BNe=FNe?function(e){for(var t=[];e;)ANe(t,NNe(e)),e=MNe(e);return t}:INe;KY.exports=BNe});var JY=F((K9t,XY)=>{"use strict";var jNe=oT(),LNe=DI();function zNe(e,t){return jNe(e,LNe(e),t)}XY.exports=zNe});var ZY=F((X9t,YY)=>{"use strict";var WNe=mI(),UNe=DI(),VNe=jO();function HNe(e){return WNe(e,VNe,UNe)}YY.exports=HNe});var eZ=F((J9t,QY)=>{"use strict";var $Ne=Object.prototype,GNe=$Ne.hasOwnProperty;function qNe(e){var t=e.length,r=new e.constructor(t);return t&&typeof e[0]=="string"&&GNe.call(e,"index")&&(r.index=e.index,r.input=e.input),r}QY.exports=qNe});var LO=F((Y9t,rZ)=>{"use strict";var tZ=uI();function KNe(e){var t=new e.constructor(e.byteLength);return new tZ(t).set(new tZ(e)),t}rZ.exports=KNe});var aZ=F((Z9t,oZ)=>{"use strict";var XNe=LO();function JNe(e,t){var r=t?XNe(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}oZ.exports=JNe});var sZ=F((Q9t,nZ)=>{"use strict";var YNe=/\w*$/;function ZNe(e){var t=new e.constructor(e.source,YNe.exec(e));return t.lastIndex=e.lastIndex,t}nZ.exports=ZNe});var uZ=F((e8t,dZ)=>{"use strict";var iZ=kx(),lZ=iZ?iZ.prototype:void 0,pZ=lZ?lZ.valueOf:void 0;function QNe(e){return pZ?Object(pZ.call(e)):{}}dZ.exports=QNe});var cZ=F((t8t,fZ)=>{"use strict";var eIe=LO();function tIe(e,t){var r=t?eIe(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}fZ.exports=tIe});var hZ=F((r8t,mZ)=>{"use strict";var rIe=LO(),oIe=aZ(),aIe=sZ(),nIe=uZ(),sIe=cZ(),iIe="[object Boolean]",lIe="[object Date]",pIe="[object Map]",dIe="[object Number]",uIe="[object RegExp]",fIe="[object Set]",cIe="[object String]",mIe="[object Symbol]",hIe="[object ArrayBuffer]",xIe="[object DataView]",gIe="[object Float32Array]",yIe="[object Float64Array]",bIe="[object Int8Array]",vIe="[object Int16Array]",TIe="[object Int32Array]",SIe="[object Uint8Array]",wIe="[object Uint8ClampedArray]",_Ie="[object Uint16Array]",CIe="[object Uint32Array]";function OIe(e,t,r){var o=e.constructor;switch(t){case hIe:return rIe(e);case iIe:case lIe:return new o(+e);case xIe:return oIe(e,r);case gIe:case yIe:case bIe:case vIe:case TIe:case SIe:case wIe:case _Ie:case CIe:return sIe(e,r);case pIe:return new o;case dIe:case cIe:return new o(e);case uIe:return aIe(e);case fIe:return new o;case mIe:return nIe(e)}}mZ.exports=OIe});var yZ=F((o8t,gZ)=>{"use strict";var kIe=kc(),xZ=Object.create,EIe=function(){function e(){}return function(t){if(!kIe(t))return{};if(xZ)return xZ(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();gZ.exports=EIe});var vZ=F((a8t,bZ)=>{"use strict";var PIe=yZ(),RIe=kO(),DIe=CO();function AIe(e){return typeof e.constructor=="function"&&!DIe(e)?PIe(RIe(e)):{}}bZ.exports=AIe});var SZ=F((n8t,TZ)=>{"use strict";var MIe=eT(),NIe=yl(),IIe="[object Map]";function FIe(e){return NIe(e)&&MIe(e)==IIe}TZ.exports=FIe});var OZ=F((s8t,CZ)=>{"use strict";var BIe=SZ(),jIe=wO(),wZ=_O(),_Z=wZ&&wZ.isMap,LIe=_Z?jIe(_Z):BIe;CZ.exports=LIe});var EZ=F((i8t,kZ)=>{"use strict";var zIe=eT(),WIe=yl(),UIe="[object Set]";function VIe(e){return WIe(e)&&zIe(e)==UIe}kZ.exports=VIe});var AZ=F((l8t,DZ)=>{"use strict";var HIe=EZ(),$Ie=wO(),PZ=_O(),RZ=PZ&&PZ.isSet,GIe=RZ?$Ie(RZ):HIe;DZ.exports=GIe});var BZ=F((p8t,FZ)=>{"use strict";var qIe=DO(),KIe=wY(),XIe=RI(),JIe=DY(),YIe=jY(),ZIe=VY(),QIe=$Y(),eFe=qY(),tFe=JY(),rFe=xI(),oFe=ZY(),aFe=eT(),nFe=eZ(),sFe=hZ(),iFe=vZ(),lFe=Vs(),pFe=TO(),dFe=OZ(),uFe=kc(),fFe=AZ(),cFe=Rx(),mFe=jO(),hFe=1,xFe=2,gFe=4,MZ="[object Arguments]",yFe="[object Array]",bFe="[object Boolean]",vFe="[object Date]",TFe="[object Error]",NZ="[object Function]",SFe="[object GeneratorFunction]",wFe="[object Map]",_Fe="[object Number]",IZ="[object Object]",CFe="[object RegExp]",OFe="[object Set]",kFe="[object String]",EFe="[object Symbol]",PFe="[object WeakMap]",RFe="[object ArrayBuffer]",DFe="[object DataView]",AFe="[object Float32Array]",MFe="[object Float64Array]",NFe="[object Int8Array]",IFe="[object Int16Array]",FFe="[object Int32Array]",BFe="[object Uint8Array]",jFe="[object Uint8ClampedArray]",LFe="[object Uint16Array]",zFe="[object Uint32Array]",Pr={};Pr[MZ]=Pr[yFe]=Pr[RFe]=Pr[DFe]=Pr[bFe]=Pr[vFe]=Pr[AFe]=Pr[MFe]=Pr[NFe]=Pr[IFe]=Pr[FFe]=Pr[wFe]=Pr[_Fe]=Pr[IZ]=Pr[CFe]=Pr[OFe]=Pr[kFe]=Pr[EFe]=Pr[BFe]=Pr[jFe]=Pr[LFe]=Pr[zFe]=!0;Pr[TFe]=Pr[NZ]=Pr[PFe]=!1;function zO(e,t,r,o,a,n){var s,i=t&hFe,p=t&xFe,l=t&gFe;if(r&&(s=a?r(e,o,a,n):r(e)),s!==void 0)return s;if(!uFe(e))return e;var d=lFe(e);if(d){if(s=nFe(e),!i)return QIe(e,s)}else{var u=aFe(e),f=u==NZ||u==SFe;if(pFe(e))return ZIe(e,i);if(u==IZ||u==MZ||f&&!a){if(s=p||f?{}:iFe(e),!i)return p?tFe(e,YIe(s,e)):eFe(e,JIe(s,e))}else{if(!Pr[u])return a?e:{};s=sFe(e,u,i)}}n||(n=new qIe);var c=n.get(e);if(c)return c;n.set(e,s),fFe(e)?e.forEach(function(h){s.add(zO(h,t,r,h,e,n))}):dFe(e)&&e.forEach(function(h,x){s.set(x,zO(h,t,r,x,e,n))});var m=l?p?oFe:rFe:p?mFe:cFe,g=d?void 0:m(e);return KIe(g||e,function(h,x){g&&(x=h,h=e[x]),XIe(s,x,zO(h,t,r,x,e,n))}),s}FZ.exports=zO});var LZ=F((d8t,jZ)=>{"use strict";var WFe=BZ(),UFe=1,VFe=4;function HFe(e){return WFe(e,UFe|VFe)}jZ.exports=HFe});var WZ=F(nT=>{"use strict";Object.defineProperty(nT,"__esModule",{value:!0});nT.mergeClasses=void 0;var $Fe=OO(),GFe=zZ($Fe),qFe=LZ(),KFe=zZ(qFe),XFe=Object.assign||function(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:[],o=t.default&&(0,KFe.default)(t.default)||{};return r.map(function(a){var n=t[a];return n&&(0,GFe.default)(n,function(s,i){o[i]||(o[i]={}),o[i]=XFe({},o[i],n[i])}),a}),o};nT.default=JFe});var VZ=F(sT=>{"use strict";Object.defineProperty(sT,"__esModule",{value:!0});sT.autoprefix=void 0;var YFe=OO(),UZ=QFe(YFe),ZFe=Object.assign||function(e){for(var t=1;t{"use strict";Object.defineProperty(iT,"__esModule",{value:!0});iT.hover=void 0;var rBe=Object.assign||function(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:"span";return function(o){sBe(a,o);function a(){var n,s,i,p;nBe(this,a);for(var l=arguments.length,d=Array(l),u=0;u{"use strict";Object.defineProperty(lT,"__esModule",{value:!0});lT.active=void 0;var lBe=Object.assign||function(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:"span";return function(o){fBe(a,o);function a(){var n,s,i,p;uBe(this,a);for(var l=arguments.length,d=Array(l),u=0;u{"use strict";Object.defineProperty(NI,"__esModule",{value:!0});var mBe=function(t,r){var o={},a=function(s){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;o[s]=i};return t===0&&a("first-child"),t===r-1&&a("last-child"),(t===0||t%2===0)&&a("even"),Math.abs(t%2)===1&&a("odd"),a("nth-child",t),o};NI.default=mBe});var it=F(Xn=>{"use strict";Object.defineProperty(Xn,"__esModule",{value:!0});Xn.ReactCSS=Xn.loop=Xn.handleActive=Xn.handleHover=Xn.hover=void 0;var hBe=TY(),xBe=Bx(hBe),gBe=WZ(),yBe=Bx(gBe),bBe=VZ(),vBe=Bx(bBe),TBe=$Z(),XZ=Bx(TBe),SBe=qZ(),wBe=Bx(SBe),_Be=KZ(),CBe=Bx(_Be);function Bx(e){return e&&e.__esModule?e:{default:e}}Xn.hover=XZ.default;Xn.handleHover=XZ.default;Xn.handleActive=wBe.default;Xn.loop=CBe.default;var OBe=Xn.ReactCSS=function(t){for(var r=arguments.length,o=Array(r>1?r-1:0),a=1;a{"use strict";Object.defineProperty(rF,"__esModule",{value:!0});var rre=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=e[o]);return r}var g1=24;rF.default=function(e){var t=e.fill,r=t===void 0?"currentColor":t,o=e.width,a=o===void 0?g1:o,n=e.height,s=n===void 0?g1:n,i=e.style,p=i===void 0?{}:i,l=i6e(e,["fill","width","height","style"]);return ore.default.createElement("svg",rre({viewBox:"0 0 "+g1+" "+g1,style:rre({fill:r,width:a,height:s},p)},l),ore.default.createElement("path",{d:"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z"}))}});var ooe=F(gF=>{"use strict";Object.defineProperty(gF,"__esModule",{value:!0});var toe=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=e[o]);return r}var T1=24;gF.default=function(e){var t=e.fill,r=t===void 0?"currentColor":t,o=e.width,a=o===void 0?T1:o,n=e.height,s=n===void 0?T1:n,i=e.style,p=i===void 0?{}:i,l=H6e(e,["fill","width","height","style"]);return roe.default.createElement("svg",toe({viewBox:"0 0 "+T1+" "+T1,style:toe({fill:r,width:a,height:s},p)},l),roe.default.createElement("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))}});var Mo=F((w1,_F)=>{"use strict";(function(t,r){typeof w1=="object"&&typeof _F=="object"?_F.exports=r():typeof define=="function"&&define.amd?define("cronstrue",[],r):typeof w1=="object"?w1.cronstrue=r():t.cronstrue=r()})(globalThis,()=>(()=>{"use strict";var e={949:(a,n,s)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.CronParser=void 0;var i=s(515),p=function(){function l(d,u,f){u===void 0&&(u=!0),f===void 0&&(f=!1),this.expression=d,this.dayOfWeekStartIndexZero=u,this.monthStartIndexZero=f}return l.prototype.parse=function(){var d,u,f=(d=this.expression)!==null&&d!==void 0?d:"";if(f.startsWith("@")){var c=this.parseSpecial(this.expression);u=this.extractParts(c)}else u=this.extractParts(this.expression);return this.normalize(u),this.validate(u),u},l.prototype.parseSpecial=function(d){var u={"@yearly":"0 0 1 1 *","@annually":"0 0 1 1 *","@monthly":"0 0 1 * *","@weekly":"0 0 * * 0","@daily":"0 0 * * *","@midnight":"0 0 * * *","@hourly":"0 * * * *"},f=u[d];if(!f)throw new Error("Unknown special expression.");return f},l.prototype.extractParts=function(d){if(!this.expression)throw new Error("cron expression is empty");for(var u=d.trim().split(/[ ]+/),f=0;f7)throw new Error("Expression has ".concat(u.length," parts; too many!"));return u},l.prototype.normalize=function(d){var u=this;if(d[3]=d[3].replace("?","*"),d[5]=d[5].replace("?","*"),d[2]=d[2].replace("?","*"),d[0].indexOf("0/")==0&&(d[0]=d[0].replace("0/","*/")),d[1].indexOf("0/")==0&&(d[1]=d[1].replace("0/","*/")),d[2].indexOf("0/")==0&&(d[2]=d[2].replace("0/","*/")),d[3].indexOf("1/")==0&&(d[3]=d[3].replace("1/","*/")),d[4].indexOf("1/")==0&&(d[4]=d[4].replace("1/","*/")),d[6].indexOf("1/")==0&&(d[6]=d[6].replace("1/","*/")),d[5]=d[5].replace(/(^\d)|([^#/\s]\d)/g,function(v){var b=v.replace(/\D/,""),w=b;return u.dayOfWeekStartIndexZero?b=="7"&&(w="0"):w=(parseInt(b)-1).toString(),v.replace(b,w)}),d[5]=="L"&&(d[5]="6"),d[3]=="?"&&(d[3]="*"),d[3].indexOf("W")>-1&&(d[3].indexOf(",")>-1||d[3].indexOf("-")>-1))throw new Error("The 'W' character can be specified only when the day-of-month is a single day, not a range or list of days.");var f={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};for(var c in f)d[5]=d[5].replace(new RegExp(c,"gi"),f[c].toString());d[4]=d[4].replace(/(^\d{1,2})|([^#/\s]\d{1,2})/g,function(v){var b=v.replace(/\D/,""),w=b;return u.monthStartIndexZero&&(w=(parseInt(b)+1).toString()),v.replace(b,w)});var m={JAN:1,FEB:2,MAR:3,APR:4,MAY:5,JUN:6,JUL:7,AUG:8,SEP:9,OCT:10,NOV:11,DEC:12};for(var g in m)d[4]=d[4].replace(new RegExp(g,"gi"),m[g].toString());d[0]=="0"&&(d[0]=""),!/\*|\-|\,|\//.test(d[2])&&(/\*|\//.test(d[1])||/\*|\//.test(d[0]))&&(d[2]+="-".concat(d[2]));for(var h=0;h-1&&!/^\*|\-|\,/.test(d[h])){var x=null;switch(h){case 4:x="12";break;case 5:x="6";break;case 6:x="9999";break;default:x=null;break}if(x!==null){var T=d[h].split("/");d[h]="".concat(T[0],"-").concat(x,"/").concat(T[1])}}},l.prototype.validate=function(d){this.assertNoInvalidCharacters("DOW",d[5]),this.assertNoInvalidCharacters("DOM",d[3]),this.validateRange(d)},l.prototype.validateRange=function(d){i.default.secondRange(d[0]),i.default.minuteRange(d[1]),i.default.hourRange(d[2]),i.default.dayOfMonthRange(d[3]),i.default.monthRange(d[4],this.monthStartIndexZero),i.default.dayOfWeekRange(d[5],this.dayOfWeekStartIndexZero)},l.prototype.assertNoInvalidCharacters=function(d,u){var f=u.match(/[A-KM-VX-Z]+/gi);if(f&&f.length)throw new Error("".concat(d," part contains invalid values: '").concat(f.toString(),"'"))},l}();n.CronParser=p},333:(a,n,s)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.ExpressionDescriptor=void 0;var i=s(823),p=s(949),l=function(){function d(u,f){if(this.expression=u,this.options=f,this.expressionParts=new Array(5),!this.options.locale&&d.defaultLocale&&(this.options.locale=d.defaultLocale),!d.locales[this.options.locale]){var c=Object.keys(d.locales)[0];console.warn("Locale '".concat(this.options.locale,"' could not be found; falling back to '").concat(c,"'.")),this.options.locale=c}this.i18n=d.locales[this.options.locale],f.use24HourTimeFormat===void 0&&(f.use24HourTimeFormat=this.i18n.use24HourTimeFormatByDefault())}return d.toString=function(u,f){var c=f===void 0?{}:f,m=c.throwExceptionOnParseError,g=m===void 0?!0:m,h=c.verbose,x=h===void 0?!1:h,T=c.dayOfWeekStartIndexZero,v=T===void 0?!0:T,b=c.monthStartIndexZero,w=b===void 0?!1:b,O=c.use24HourTimeFormat,k=c.locale,M=k===void 0?null:k,N=c.tzOffset,S=N===void 0?0:N,B={throwExceptionOnParseError:g,verbose:x,dayOfWeekStartIndexZero:v,monthStartIndexZero:w,use24HourTimeFormat:O,locale:M,tzOffset:S},$=new d(u,B);return $.getFullDescription()},d.initialize=function(u,f){f===void 0&&(f="en"),d.specialCharacters=["/","-",",","*"],d.defaultLocale=f,u.load(d.locales)},d.prototype.getFullDescription=function(){var u="";try{var f=new p.CronParser(this.expression,this.options.dayOfWeekStartIndexZero,this.options.monthStartIndexZero);this.expressionParts=f.parse();var c=this.getTimeOfDayDescription(),m=this.getDayOfMonthDescription(),g=this.getMonthDescription(),h=this.getDayOfWeekDescription(),x=this.getYearDescription();u+=c+m+h+g+x,u=this.transformVerbosity(u,!!this.options.verbose),u=u.charAt(0).toLocaleUpperCase()+u.substr(1)}catch(T){if(!this.options.throwExceptionOnParseError)u=this.i18n.anErrorOccuredWhenGeneratingTheExpressionD();else throw"".concat(T)}return u},d.prototype.getTimeOfDayDescription=function(){var u=this.expressionParts[0],f=this.expressionParts[1],c=this.expressionParts[2],m="";if(!i.StringUtilities.containsAny(f,d.specialCharacters)&&!i.StringUtilities.containsAny(c,d.specialCharacters)&&!i.StringUtilities.containsAny(u,d.specialCharacters))m+=this.i18n.atSpace()+this.formatTime(c,f,u);else if(!u&&f.indexOf("-")>-1&&!(f.indexOf(",")>-1)&&!(f.indexOf("/")>-1)&&!i.StringUtilities.containsAny(c,d.specialCharacters)){var g=f.split("-");m+=i.StringUtilities.format(this.i18n.everyMinuteBetweenX0AndX1(),this.formatTime(c,g[0],""),this.formatTime(c,g[1],""))}else if(!u&&c.indexOf(",")>-1&&c.indexOf("-")==-1&&c.indexOf("/")==-1&&!i.StringUtilities.containsAny(f,d.specialCharacters)){var h=c.split(",");m+=this.i18n.at();for(var x=0;x1){var g=m[m.length-1].index;c=c.substring(0,g)+":59"+c.substring(g+3)}}return c},d.prototype.getDayOfWeekDescription=function(){var u=this,f=this.i18n.daysOfTheWeek(),c=null;return this.expressionParts[5]=="*"?c="":c=this.getSegmentDescription(this.expressionParts[5],this.i18n.commaEveryDay(),function(m,g){var h=m;m.indexOf("#")>-1?h=m.substring(0,m.indexOf("#")):m.indexOf("L")>-1&&(h=h.replace("L",""));var x=parseInt(h);if(u.options.tzOffset){var T=u.expressionParts[2],v=parseInt(T)+(u.options.tzOffset?u.options.tzOffset:0);v>=24?x++:v<0&&x--,x>6?x=0:x<0&&(x=6)}var b=u.i18n.daysOfTheWeekInCase?u.i18n.daysOfTheWeekInCase(g)[x]:f[x];if(m.indexOf("#")>-1){var w=null,O=m.substring(m.indexOf("#")+1),k=m.substring(0,m.indexOf("#"));switch(O){case"1":w=u.i18n.first(k);break;case"2":w=u.i18n.second(k);break;case"3":w=u.i18n.third(k);break;case"4":w=u.i18n.fourth(k);break;case"5":w=u.i18n.fifth(k);break}b=w+" "+b}return b},function(m){return parseInt(m)==1?"":i.StringUtilities.format(u.i18n.commaEveryX0DaysOfTheWeek(m),m)},function(m){var g=m.substring(0,m.indexOf("-")),h=u.expressionParts[3]!="*";return h?u.i18n.commaAndX0ThroughX1(g):u.i18n.commaX0ThroughX1(g)},function(m){var g=null;if(m.indexOf("#")>-1){var h=m.substring(m.indexOf("#")+1),x=m.substring(0,m.indexOf("#"));g=u.i18n.commaOnThe(h,x).trim()+u.i18n.spaceX0OfTheMonth()}else if(m.indexOf("L")>-1)g=u.i18n.commaOnTheLastX0OfTheMonth(m.replace("L",""));else{var T=u.expressionParts[3]!="*";g=T?u.i18n.commaAndOnX0():u.i18n.commaOnlyOnX0(m)}return g}),c},d.prototype.getMonthDescription=function(){var u=this,f=this.i18n.monthsOfTheYear(),c=this.getSegmentDescription(this.expressionParts[4],"",function(m,g){return g&&u.i18n.monthsOfTheYearInCase?u.i18n.monthsOfTheYearInCase(g)[parseInt(m)-1]:f[parseInt(m)-1]},function(m){return parseInt(m)==1?"":i.StringUtilities.format(u.i18n.commaEveryX0Months(m),m)},function(m){return u.i18n.commaMonthX0ThroughMonthX1()||u.i18n.commaX0ThroughX1()},function(m){return u.i18n.commaOnlyInMonthX0?u.i18n.commaOnlyInMonthX0():u.i18n.commaOnlyInX0()});return c},d.prototype.getDayOfMonthDescription=function(){var u=this,f=null,c=this.expressionParts[3];switch(c){case"L":f=this.i18n.commaOnTheLastDayOfTheMonth();break;case"WL":case"LW":f=this.i18n.commaOnTheLastWeekdayOfTheMonth();break;default:var m=c.match(/(\d{1,2}W)|(W\d{1,2})/);if(m){var g=parseInt(m[0].replace("W","")),h=g==1?this.i18n.firstWeekday():i.StringUtilities.format(this.i18n.weekdayNearestDayX0(),g.toString());f=i.StringUtilities.format(this.i18n.commaOnTheX0OfTheMonth(),h);break}else{var x=c.match(/L-(\d{1,2})/);if(x){var T=x[1];f=i.StringUtilities.format(this.i18n.commaDaysBeforeTheLastDayOfTheMonth(T),T);break}else{if(c=="*"&&this.expressionParts[5]!="*")return"";f=this.getSegmentDescription(c,this.i18n.commaEveryDay(),function(v){return v=="L"?u.i18n.lastDay():u.i18n.dayX0?i.StringUtilities.format(u.i18n.dayX0(),v):v},function(v){return v=="1"?u.i18n.commaEveryDay():u.i18n.commaEveryX0Days(v)},function(v){return u.i18n.commaBetweenDayX0AndX1OfTheMonth(v)},function(v){return u.i18n.commaOnDayX0OfTheMonth(v)})}break}}return f},d.prototype.getYearDescription=function(){var u=this,f=this.getSegmentDescription(this.expressionParts[6],"",function(c){return/^\d+$/.test(c)?new Date(parseInt(c),1).getFullYear().toString():c},function(c){return i.StringUtilities.format(u.i18n.commaEveryX0Years(c),c)},function(c){return u.i18n.commaYearX0ThroughYearX1()||u.i18n.commaX0ThroughX1()},function(c){return u.i18n.commaOnlyInYearX0?u.i18n.commaOnlyInYearX0():u.i18n.commaOnlyInX0()});return f},d.prototype.getSegmentDescription=function(u,f,c,m,g,h){var x=null,T=u.indexOf("/")>-1,v=u.indexOf("-")>-1,b=u.indexOf(",")>-1;if(!u)x="";else if(u==="*")x=f;else if(!T&&!v&&!b)x=i.StringUtilities.format(h(u),c(u));else if(b){for(var w=u.split(","),O="",k=0;k0&&w.length>2&&(O+=",",k0&&w.length>1&&(k==w.length-1||w.length==2)&&(O+="".concat(this.i18n.spaceAnd()," ")),w[k].indexOf("/")>-1||w[k].indexOf("-")>-1){var M=w[k].indexOf("-")>-1&&w[k].indexOf("/")==-1,N=this.getSegmentDescription(w[k],f,c,m,M?this.i18n.commaX0ThroughX1:g,h);M&&(N=N.replace(", ","")),O+=N}else T?O+=this.getSegmentDescription(w[k],f,c,m,g,h):O+=c(w[k]);T?x=O:x=i.StringUtilities.format(h(u),O)}else if(T){var w=u.split("/");if(x=i.StringUtilities.format(m(w[1]),w[1]),w[0].indexOf("-")>-1){var S=this.generateRangeSegmentDescription(w[0],g,c);S.indexOf(", ")!=0&&(x+=", "),x+=S}else if(w[0].indexOf("*")==-1){var B=i.StringUtilities.format(h(w[0]),c(w[0]));B=B.replace(", ",""),x+=i.StringUtilities.format(this.i18n.commaStartingX0(),B)}}else v&&(x=this.generateRangeSegmentDescription(u,g,c));return x},d.prototype.generateRangeSegmentDescription=function(u,f,c){var m="",g=u.split("-"),h=c(g[0],1),x=c(g[1],2),T=f(u);return m+=i.StringUtilities.format(T,h,x),m},d.prototype.formatTime=function(u,f,c){var m=0,g=0;this.options.tzOffset&&(m=this.options.tzOffset>0?Math.floor(this.options.tzOffset):Math.ceil(this.options.tzOffset),g=parseFloat((this.options.tzOffset%1).toFixed(2)),g!=0&&(g*=60));var h=parseInt(u)+m,x=parseInt(f)+g;x>=60?(x-=60,h+=1):x<0&&(x+=60,h-=1),h>=24?h=h-24:h<0&&(h=24+h);var T="",v=!1;this.options.use24HourTimeFormat||(v=!!(this.i18n.setPeriodBeforeTime&&this.i18n.setPeriodBeforeTime()),T=v?"".concat(this.getPeriod(h)," "):" ".concat(this.getPeriod(h)),h>12&&(h-=12),h===0&&(h=12));var b="";return c&&(b=":".concat(("00"+c).substring(c.length))),"".concat(v?T:"").concat(("00"+h.toString()).substring(h.toString().length),":").concat(("00"+x.toString()).substring(x.toString().length)).concat(b).concat(v?"":T)},d.prototype.transformVerbosity=function(u,f){return f||(u=u.replace(new RegExp(", ".concat(this.i18n.everyMinute()),"g"),""),u=u.replace(new RegExp(", ".concat(this.i18n.everyHour()),"g"),""),u=u.replace(new RegExp(this.i18n.commaEveryDay(),"g"),""),u=u.replace(/\, ?$/,"")),u},d.prototype.getPeriod=function(u){return u>=12?this.i18n.pm&&this.i18n.pm()||"PM":this.i18n.am&&this.i18n.am()||"AM"},d.locales={},d}();n.ExpressionDescriptor=l},747:(a,n,s)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.enLocaleLoader=void 0;var i=s(486),p=function(){function l(){}return l.prototype.load=function(d){d.en=new i.en},l}();n.enLocaleLoader=p},486:(a,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.en=void 0;var s=function(){function i(){}return i.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},i.prototype.atX0MinutesPastTheHourGt20=function(){return null},i.prototype.commaMonthX0ThroughMonthX1=function(){return null},i.prototype.commaYearX0ThroughYearX1=function(){return null},i.prototype.use24HourTimeFormatByDefault=function(){return!1},i.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"An error occured when generating the expression description. Check the cron expression syntax."},i.prototype.everyMinute=function(){return"every minute"},i.prototype.everyHour=function(){return"every hour"},i.prototype.atSpace=function(){return"At "},i.prototype.everyMinuteBetweenX0AndX1=function(){return"Every minute between %s and %s"},i.prototype.at=function(){return"At"},i.prototype.spaceAnd=function(){return" and"},i.prototype.everySecond=function(){return"every second"},i.prototype.everyX0Seconds=function(){return"every %s seconds"},i.prototype.secondsX0ThroughX1PastTheMinute=function(){return"seconds %s through %s past the minute"},i.prototype.atX0SecondsPastTheMinute=function(){return"at %s seconds past the minute"},i.prototype.everyX0Minutes=function(){return"every %s minutes"},i.prototype.minutesX0ThroughX1PastTheHour=function(){return"minutes %s through %s past the hour"},i.prototype.atX0MinutesPastTheHour=function(){return"at %s minutes past the hour"},i.prototype.everyX0Hours=function(){return"every %s hours"},i.prototype.betweenX0AndX1=function(){return"between %s and %s"},i.prototype.atX0=function(){return"at %s"},i.prototype.commaEveryDay=function(){return", every day"},i.prototype.commaEveryX0DaysOfTheWeek=function(){return", every %s days of the week"},i.prototype.commaX0ThroughX1=function(){return", %s through %s"},i.prototype.commaAndX0ThroughX1=function(){return", %s through %s"},i.prototype.first=function(){return"first"},i.prototype.second=function(){return"second"},i.prototype.third=function(){return"third"},i.prototype.fourth=function(){return"fourth"},i.prototype.fifth=function(){return"fifth"},i.prototype.commaOnThe=function(){return", on the "},i.prototype.spaceX0OfTheMonth=function(){return" %s of the month"},i.prototype.lastDay=function(){return"the last day"},i.prototype.commaOnTheLastX0OfTheMonth=function(){return", on the last %s of the month"},i.prototype.commaOnlyOnX0=function(){return", only on %s"},i.prototype.commaAndOnX0=function(){return", and on %s"},i.prototype.commaEveryX0Months=function(){return", every %s months"},i.prototype.commaOnlyInX0=function(){return", only in %s"},i.prototype.commaOnTheLastDayOfTheMonth=function(){return", on the last day of the month"},i.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", on the last weekday of the month"},i.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s days before the last day of the month"},i.prototype.firstWeekday=function(){return"first weekday"},i.prototype.weekdayNearestDayX0=function(){return"weekday nearest day %s"},i.prototype.commaOnTheX0OfTheMonth=function(){return", on the %s of the month"},i.prototype.commaEveryX0Days=function(){return", every %s days"},i.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", between day %s and %s of the month"},i.prototype.commaOnDayX0OfTheMonth=function(){return", on day %s of the month"},i.prototype.commaEveryHour=function(){return", every hour"},i.prototype.commaEveryX0Years=function(){return", every %s years"},i.prototype.commaStartingX0=function(){return", starting %s"},i.prototype.daysOfTheWeek=function(){return["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},i.prototype.monthsOfTheYear=function(){return["January","February","March","April","May","June","July","August","September","October","November","December"]},i}();n.en=s},515:(a,n)=>{Object.defineProperty(n,"__esModule",{value:!0});function s(p,l){if(!p)throw new Error(l)}var i=function(){function p(){}return p.secondRange=function(l){for(var d=l.split(","),u=0;u=0&&f<=59,"seconds part must be >= 0 and <= 59")}},p.minuteRange=function(l){for(var d=l.split(","),u=0;u=0&&f<=59,"minutes part must be >= 0 and <= 59")}},p.hourRange=function(l){for(var d=l.split(","),u=0;u=0&&f<=23,"hours part must be >= 0 and <= 23")}},p.dayOfMonthRange=function(l){for(var d=l.split(","),u=0;u=1&&f<=31,"DOM part must be >= 1 and <= 31")}},p.monthRange=function(l,d){for(var u=l.split(","),f=0;f=1&&c<=12,d?"month part must be >= 0 and <= 11":"month part must be >= 1 and <= 12")}},p.dayOfWeekRange=function(l,d){for(var u=l.split(","),f=0;f=0&&c<=6,d?"DOW part must be >= 0 and <= 6":"DOW part must be >= 1 and <= 7")}},p}();n.default=i},823:(a,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.StringUtilities=void 0;var s=function(){function i(){}return i.format=function(p){for(var l=[],d=1;d-1})},i}();n.StringUtilities=s}},t={};function r(a){var n=t[a];if(n!==void 0)return n.exports;var s=t[a]={exports:{}};return e[a](s,s.exports,r),s.exports}var o={};return(()=>{var a=o;Object.defineProperty(a,"__esModule",{value:!0}),a.toString=void 0;var n=r(333),s=r(747);n.ExpressionDescriptor.initialize(new s.enLocaleLoader),a.default=n.ExpressionDescriptor;var i=n.ExpressionDescriptor.toString;a.toString=i})(),o})())});var Toe=F((_1,CF)=>{"use strict";(function(t,r){typeof _1=="object"&&typeof CF=="object"?CF.exports=r(Mo()):typeof define=="function"&&define.amd?define("locales/fr",["cronstrue"],r):typeof _1=="object"?_1["locales/fr"]=r(Mo()):t["locales/fr"]=r(t.cronstrue)})(globalThis,e=>(()=>{"use strict";var t={93:l=>{l.exports=e}},r={};function o(l){var d=r[l];if(d!==void 0)return d.exports;var u=r[l]={exports:{}};return t[l](u,u.exports,o),u.exports}o.n=l=>{var d=l&&l.__esModule?()=>l.default:()=>l;return o.d(d,{a:d}),d},o.d=(l,d)=>{for(var u in d)o.o(d,u)&&!o.o(l,u)&&Object.defineProperty(l,u,{enumerable:!0,get:d[u]})},o.o=(l,d)=>Object.prototype.hasOwnProperty.call(l,d),o.r=l=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})};var a={};o.r(a);var n=o(93),s=o.n(n),i=a;Object.defineProperty(i,"__esModule",{value:!0}),i.fr=void 0;var p=function(){function l(){}return l.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},l.prototype.atX0MinutesPastTheHourGt20=function(){return null},l.prototype.commaMonthX0ThroughMonthX1=function(){return null},l.prototype.commaYearX0ThroughYearX1=function(){return null},l.prototype.use24HourTimeFormatByDefault=function(){return!0},l.prototype.everyMinute=function(){return"toutes les minutes"},l.prototype.everyHour=function(){return"toutes les heures"},l.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Une erreur est survenue en g\xE9n\xE9rant la description de l'expression cron. V\xE9rifiez sa syntaxe."},l.prototype.atSpace=function(){return"\xC0 "},l.prototype.everyMinuteBetweenX0AndX1=function(){return"Toutes les minutes entre %s et %s"},l.prototype.at=function(){return"\xC0"},l.prototype.spaceAnd=function(){return" et"},l.prototype.everySecond=function(){return"toutes les secondes"},l.prototype.everyX0Seconds=function(){return"toutes les %s secondes"},l.prototype.secondsX0ThroughX1PastTheMinute=function(){return"les secondes entre %s et %s apr\xE8s la minute"},l.prototype.atX0SecondsPastTheMinute=function(){return"%s secondes apr\xE8s la minute"},l.prototype.everyX0Minutes=function(){return"toutes les %s minutes"},l.prototype.minutesX0ThroughX1PastTheHour=function(){return"les minutes entre %s et %s apr\xE8s l'heure"},l.prototype.atX0MinutesPastTheHour=function(){return"%s minutes apr\xE8s l'heure"},l.prototype.everyX0Hours=function(){return"toutes les %s heures"},l.prototype.betweenX0AndX1=function(){return"de %s \xE0 %s"},l.prototype.atX0=function(){return"\xE0 %s"},l.prototype.commaEveryDay=function(){return", tous les jours"},l.prototype.commaEveryX0DaysOfTheWeek=function(){return", tous les %s jours de la semaine"},l.prototype.commaX0ThroughX1=function(){return", de %s \xE0 %s"},l.prototype.commaAndX0ThroughX1=function(){return", et de %s \xE0 %s"},l.prototype.first=function(){return"premier"},l.prototype.second=function(){return"second"},l.prototype.third=function(){return"troisi\xE8me"},l.prototype.fourth=function(){return"quatri\xE8me"},l.prototype.fifth=function(){return"cinqui\xE8me"},l.prototype.commaOnThe=function(){return", le "},l.prototype.spaceX0OfTheMonth=function(){return" %s du mois"},l.prototype.lastDay=function(){return"le dernier jour"},l.prototype.commaOnTheLastX0OfTheMonth=function(){return", le dernier %s du mois"},l.prototype.commaOnlyOnX0=function(){return", uniquement le %s"},l.prototype.commaAndOnX0=function(){return", et %s"},l.prototype.commaEveryX0Months=function(){return", tous les %s mois"},l.prototype.commaOnlyInX0=function(){return", uniquement en %s"},l.prototype.commaOnTheLastDayOfTheMonth=function(){return", le dernier jour du mois"},l.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", le dernier jour ouvrable du mois"},l.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s jours avant le dernier jour du mois"},l.prototype.firstWeekday=function(){return"premier jour ouvrable"},l.prototype.weekdayNearestDayX0=function(){return"jour ouvrable le plus proche du %s"},l.prototype.commaOnTheX0OfTheMonth=function(){return", le %s du mois"},l.prototype.commaEveryX0Days=function(){return", tous les %s jours"},l.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", du %s au %s du mois"},l.prototype.commaOnDayX0OfTheMonth=function(){return", le %s du mois"},l.prototype.commaEveryX0Years=function(){return", tous les %s ans"},l.prototype.commaDaysX0ThroughX1=function(){return", du %s au %s"},l.prototype.commaStartingX0=function(){return", \xE0 partir de %s"},l.prototype.daysOfTheWeek=function(){return["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},l.prototype.monthsOfTheYear=function(){return["janvier","f\xE9vrier","mars","avril","mai","juin","juillet","ao\xFBt","septembre","octobre","novembre","d\xE9cembre"]},l}();return i.fr=p,s().locales.fr=new p,a})())});var Soe=F((C1,OF)=>{"use strict";(function(t,r){typeof C1=="object"&&typeof OF=="object"?OF.exports=r(Mo()):typeof define=="function"&&define.amd?define("locales/es",["cronstrue"],r):typeof C1=="object"?C1["locales/es"]=r(Mo()):t["locales/es"]=r(t.cronstrue)})(globalThis,e=>(()=>{"use strict";var t={93:l=>{l.exports=e}},r={};function o(l){var d=r[l];if(d!==void 0)return d.exports;var u=r[l]={exports:{}};return t[l](u,u.exports,o),u.exports}o.n=l=>{var d=l&&l.__esModule?()=>l.default:()=>l;return o.d(d,{a:d}),d},o.d=(l,d)=>{for(var u in d)o.o(d,u)&&!o.o(l,u)&&Object.defineProperty(l,u,{enumerable:!0,get:d[u]})},o.o=(l,d)=>Object.prototype.hasOwnProperty.call(l,d),o.r=l=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})};var a={};o.r(a);var n=o(93),s=o.n(n),i=a;Object.defineProperty(i,"__esModule",{value:!0}),i.es=void 0;var p=function(){function l(){}return l.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},l.prototype.atX0MinutesPastTheHourGt20=function(){return null},l.prototype.commaMonthX0ThroughMonthX1=function(){return null},l.prototype.commaYearX0ThroughYearX1=function(){return null},l.prototype.use24HourTimeFormatByDefault=function(){return!0},l.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Ocurri\xF3 un error mientras se generaba la descripci\xF3n de la expresi\xF3n. Revise la sintaxis de la expresi\xF3n de cron."},l.prototype.at=function(){return"A las"},l.prototype.atSpace=function(){return"A las "},l.prototype.atX0=function(){return"a las %s"},l.prototype.atX0MinutesPastTheHour=function(){return"a los %s minutos de la hora"},l.prototype.atX0SecondsPastTheMinute=function(){return"a los %s segundos del minuto"},l.prototype.betweenX0AndX1=function(){return"entre las %s y las %s"},l.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", entre los d\xEDas %s y %s del mes"},l.prototype.commaEveryDay=function(){return", cada d\xEDa"},l.prototype.commaEveryX0Days=function(){return", cada %s d\xEDas"},l.prototype.commaEveryX0DaysOfTheWeek=function(){return", cada %s d\xEDas de la semana"},l.prototype.commaEveryX0Months=function(){return", cada %s meses"},l.prototype.commaOnDayX0OfTheMonth=function(){return", el d\xEDa %s del mes"},l.prototype.commaOnlyInX0=function(){return", s\xF3lo en %s"},l.prototype.commaOnlyOnX0=function(){return", s\xF3lo el %s"},l.prototype.commaAndOnX0=function(){return", y el %s"},l.prototype.commaOnThe=function(){return", en el "},l.prototype.commaOnTheLastDayOfTheMonth=function(){return", en el \xFAltimo d\xEDa del mes"},l.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", en el \xFAltimo d\xEDa de la semana del mes"},l.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s d\xEDas antes del \xFAltimo d\xEDa del mes"},l.prototype.commaOnTheLastX0OfTheMonth=function(){return", en el \xFAltimo %s del mes"},l.prototype.commaOnTheX0OfTheMonth=function(){return", en el %s del mes"},l.prototype.commaX0ThroughX1=function(){return", de %s a %s"},l.prototype.commaAndX0ThroughX1=function(){return", y de %s a %s"},l.prototype.everyHour=function(){return"cada hora"},l.prototype.everyMinute=function(){return"cada minuto"},l.prototype.everyMinuteBetweenX0AndX1=function(){return"cada minuto entre las %s y las %s"},l.prototype.everySecond=function(){return"cada segundo"},l.prototype.everyX0Hours=function(){return"cada %s horas"},l.prototype.everyX0Minutes=function(){return"cada %s minutos"},l.prototype.everyX0Seconds=function(){return"cada %s segundos"},l.prototype.fifth=function(){return"quinto"},l.prototype.first=function(){return"primero"},l.prototype.firstWeekday=function(){return"primer d\xEDa de la semana"},l.prototype.fourth=function(){return"cuarto"},l.prototype.minutesX0ThroughX1PastTheHour=function(){return"del minuto %s al %s pasada la hora"},l.prototype.second=function(){return"segundo"},l.prototype.secondsX0ThroughX1PastTheMinute=function(){return"En los segundos %s al %s de cada minuto"},l.prototype.spaceAnd=function(){return" y"},l.prototype.spaceX0OfTheMonth=function(){return" %s del mes"},l.prototype.lastDay=function(){return"el \xFAltimo d\xEDa"},l.prototype.third=function(){return"tercer"},l.prototype.weekdayNearestDayX0=function(){return"d\xEDa de la semana m\xE1s pr\xF3ximo al %s"},l.prototype.commaEveryX0Years=function(){return", cada %s a\xF1os"},l.prototype.commaStartingX0=function(){return", comenzando %s"},l.prototype.daysOfTheWeek=function(){return["domingo","lunes","martes","mi\xE9rcoles","jueves","viernes","s\xE1bado"]},l.prototype.monthsOfTheYear=function(){return["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"]},l}();return i.es=p,s().locales.es=new p,a})())});var woe=F((O1,kF)=>{"use strict";(function(t,r){typeof O1=="object"&&typeof kF=="object"?kF.exports=r(Mo()):typeof define=="function"&&define.amd?define("locales/de",["cronstrue"],r):typeof O1=="object"?O1["locales/de"]=r(Mo()):t["locales/de"]=r(t.cronstrue)})(globalThis,e=>(()=>{"use strict";var t={93:l=>{l.exports=e}},r={};function o(l){var d=r[l];if(d!==void 0)return d.exports;var u=r[l]={exports:{}};return t[l](u,u.exports,o),u.exports}o.n=l=>{var d=l&&l.__esModule?()=>l.default:()=>l;return o.d(d,{a:d}),d},o.d=(l,d)=>{for(var u in d)o.o(d,u)&&!o.o(l,u)&&Object.defineProperty(l,u,{enumerable:!0,get:d[u]})},o.o=(l,d)=>Object.prototype.hasOwnProperty.call(l,d),o.r=l=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})};var a={};o.r(a);var n=o(93),s=o.n(n),i=a;Object.defineProperty(i,"__esModule",{value:!0}),i.de=void 0;var p=function(){function l(){}return l.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},l.prototype.atX0MinutesPastTheHourGt20=function(){return null},l.prototype.commaMonthX0ThroughMonthX1=function(){return null},l.prototype.commaYearX0ThroughYearX1=function(){return null},l.prototype.use24HourTimeFormatByDefault=function(){return!0},l.prototype.everyMinute=function(){return"jede Minute"},l.prototype.everyHour=function(){return"jede Stunde"},l.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Beim Generieren der Ausdrucksbeschreibung ist ein Fehler aufgetreten. \xDCberpr\xFCfen Sie die Syntax des Cron-Ausdrucks."},l.prototype.atSpace=function(){return"Um "},l.prototype.everyMinuteBetweenX0AndX1=function(){return"Jede Minute zwischen %s und %s"},l.prototype.at=function(){return"Um"},l.prototype.spaceAnd=function(){return" und"},l.prototype.everySecond=function(){return"Jede Sekunde"},l.prototype.everyX0Seconds=function(){return"alle %s Sekunden"},l.prototype.secondsX0ThroughX1PastTheMinute=function(){return"Sekunden %s bis %s"},l.prototype.atX0SecondsPastTheMinute=function(){return"bei Sekunde %s"},l.prototype.everyX0Minutes=function(){return"alle %s Minuten"},l.prototype.minutesX0ThroughX1PastTheHour=function(){return"Minuten %s bis %s"},l.prototype.atX0MinutesPastTheHour=function(){return"bei Minute %s"},l.prototype.everyX0Hours=function(){return"alle %s Stunden"},l.prototype.betweenX0AndX1=function(){return"zwischen %s und %s"},l.prototype.atX0=function(){return"um %s"},l.prototype.commaEveryDay=function(){return", jeden Tag"},l.prototype.commaEveryX0DaysOfTheWeek=function(){return", alle %s Tage der Woche"},l.prototype.commaX0ThroughX1=function(){return", %s bis %s"},l.prototype.commaAndX0ThroughX1=function(){return", und %s bis %s"},l.prototype.first=function(){return"ersten"},l.prototype.second=function(){return"zweiten"},l.prototype.third=function(){return"dritten"},l.prototype.fourth=function(){return"vierten"},l.prototype.fifth=function(){return"f\xFCnften"},l.prototype.commaOnThe=function(){return", am "},l.prototype.spaceX0OfTheMonth=function(){return" %s des Monats"},l.prototype.lastDay=function(){return"der letzte Tag"},l.prototype.commaOnTheLastX0OfTheMonth=function(){return", am letzten %s des Monats"},l.prototype.commaOnlyOnX0=function(){return", nur jeden %s"},l.prototype.commaAndOnX0=function(){return", und jeden %s"},l.prototype.commaEveryX0Months=function(){return", alle %s Monate"},l.prototype.commaOnlyInX0=function(){return", nur im %s"},l.prototype.commaOnTheLastDayOfTheMonth=function(){return", am letzten Tag des Monats"},l.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", am letzten Werktag des Monats"},l.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s tage vor dem letzten Tag des Monats"},l.prototype.firstWeekday=function(){return"ersten Werktag"},l.prototype.weekdayNearestDayX0=function(){return"Werktag am n\xE4chsten zum %s Tag"},l.prototype.commaOnTheX0OfTheMonth=function(){return", am %s des Monats"},l.prototype.commaEveryX0Days=function(){return", alle %s Tage"},l.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", zwischen Tag %s und %s des Monats"},l.prototype.commaOnDayX0OfTheMonth=function(){return", an Tag %s des Monats"},l.prototype.commaEveryX0Years=function(){return", alle %s Jahre"},l.prototype.commaStartingX0=function(){return", beginnend %s"},l.prototype.daysOfTheWeek=function(){return["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},l.prototype.monthsOfTheYear=function(){return["Januar","Februar","M\xE4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},l}();return i.de=p,s().locales.de=new p,a})())});var _oe=F((k1,EF)=>{"use strict";(function(t,r){typeof k1=="object"&&typeof EF=="object"?EF.exports=r(Mo()):typeof define=="function"&&define.amd?define("locales/it",["cronstrue"],r):typeof k1=="object"?k1["locales/it"]=r(Mo()):t["locales/it"]=r(t.cronstrue)})(globalThis,e=>(()=>{"use strict";var t={93:l=>{l.exports=e}},r={};function o(l){var d=r[l];if(d!==void 0)return d.exports;var u=r[l]={exports:{}};return t[l](u,u.exports,o),u.exports}o.n=l=>{var d=l&&l.__esModule?()=>l.default:()=>l;return o.d(d,{a:d}),d},o.d=(l,d)=>{for(var u in d)o.o(d,u)&&!o.o(l,u)&&Object.defineProperty(l,u,{enumerable:!0,get:d[u]})},o.o=(l,d)=>Object.prototype.hasOwnProperty.call(l,d),o.r=l=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})};var a={};o.r(a);var n=o(93),s=o.n(n),i=a;Object.defineProperty(i,"__esModule",{value:!0}),i.it=void 0;var p=function(){function l(){}return l.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},l.prototype.atX0MinutesPastTheHourGt20=function(){return null},l.prototype.commaMonthX0ThroughMonthX1=function(){return null},l.prototype.commaYearX0ThroughYearX1=function(){return null},l.prototype.use24HourTimeFormatByDefault=function(){return!0},l.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"\xC8 verificato un errore durante la generazione la descrizione espressione. Controllare la sintassi delle espressioni cron."},l.prototype.at=function(){return"Alle"},l.prototype.atSpace=function(){return"Alle "},l.prototype.atX0=function(){return"alle %s"},l.prototype.atX0MinutesPastTheHour=function(){return"al %s minuto passata l'ora"},l.prototype.atX0SecondsPastTheMinute=function(){return"al %s secondo passato il minuto"},l.prototype.betweenX0AndX1=function(){return"tra le %s e le %s"},l.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", tra il giorno %s e %s del mese"},l.prototype.commaEveryDay=function(){return", ogni giorno"},l.prototype.commaEveryX0Days=function(){return", ogni %s giorni"},l.prototype.commaEveryX0DaysOfTheWeek=function(){return", ogni %s giorni della settimana"},l.prototype.commaEveryX0Months=function(){return", ogni %s mesi"},l.prototype.commaEveryX0Years=function(){return", ogni %s anni"},l.prototype.commaOnDayX0OfTheMonth=function(){return", il giorno %s del mese"},l.prototype.commaOnlyInX0=function(){return", solo in %s"},l.prototype.commaOnlyOnX0=function(){return", solo il %s"},l.prototype.commaAndOnX0=function(){return", e il %s"},l.prototype.commaOnThe=function(){return", il "},l.prototype.commaOnTheLastDayOfTheMonth=function(){return", l'ultimo giorno del mese"},l.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", nell'ultima settimana del mese"},l.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s giorni prima dell'ultimo giorno del mese"},l.prototype.commaOnTheLastX0OfTheMonth=function(){return", l'ultimo %s del mese"},l.prototype.commaOnTheX0OfTheMonth=function(){return", il %s del mese"},l.prototype.commaX0ThroughX1=function(){return", %s al %s"},l.prototype.commaAndX0ThroughX1=function(){return", e %s al %s"},l.prototype.everyHour=function(){return"ogni ora"},l.prototype.everyMinute=function(){return"ogni minuto"},l.prototype.everyMinuteBetweenX0AndX1=function(){return"Ogni minuto tra le %s e le %s"},l.prototype.everySecond=function(){return"ogni secondo"},l.prototype.everyX0Hours=function(){return"ogni %s ore"},l.prototype.everyX0Minutes=function(){return"ogni %s minuti"},l.prototype.everyX0Seconds=function(){return"ogni %s secondi"},l.prototype.fifth=function(){return"quinto"},l.prototype.first=function(){return"primo"},l.prototype.firstWeekday=function(){return"primo giorno della settimana"},l.prototype.fourth=function(){return"quarto"},l.prototype.minutesX0ThroughX1PastTheHour=function(){return"minuti %s al %s dopo l'ora"},l.prototype.second=function(){return"secondo"},l.prototype.secondsX0ThroughX1PastTheMinute=function(){return"secondi %s al %s oltre il minuto"},l.prototype.spaceAnd=function(){return" e"},l.prototype.spaceX0OfTheMonth=function(){return" %s del mese"},l.prototype.lastDay=function(){return"l'ultimo giorno"},l.prototype.third=function(){return"terzo"},l.prototype.weekdayNearestDayX0=function(){return"giorno della settimana pi\xF9 vicino al %s"},l.prototype.commaStartingX0=function(){return", a partire %s"},l.prototype.daysOfTheWeek=function(){return["domenica","luned\xEC","marted\xEC","mercoled\xEC","gioved\xEC","venerd\xEC","sabato"]},l.prototype.monthsOfTheYear=function(){return["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"]},l}();return i.it=p,s().locales.it=new p,a})())});var Coe=F((E1,PF)=>{"use strict";(function(t,r){typeof E1=="object"&&typeof PF=="object"?PF.exports=r(Mo()):typeof define=="function"&&define.amd?define("locales/ru",["cronstrue"],r):typeof E1=="object"?E1["locales/ru"]=r(Mo()):t["locales/ru"]=r(t.cronstrue)})(globalThis,e=>(()=>{"use strict";var t={93:u=>{u.exports=e}},r={};function o(u){var f=r[u];if(f!==void 0)return f.exports;var c=r[u]={exports:{}};return t[u](c,c.exports,o),c.exports}o.n=u=>{var f=u&&u.__esModule?()=>u.default:()=>u;return o.d(f,{a:f}),f},o.d=(u,f)=>{for(var c in f)o.o(f,c)&&!o.o(u,c)&&Object.defineProperty(u,c,{enumerable:!0,get:f[c]})},o.o=(u,f)=>Object.prototype.hasOwnProperty.call(u,f),o.r=u=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var a={};o.r(a);var n=o(93),s=o.n(n),i=a;Object.defineProperty(i,"__esModule",{value:!0}),i.ru=void 0;var p=function(u,f){var c=Number(u);return c!==void 0?f[c%100>4&&c%100<20?2:[2,0,1,1,1,2][c%10<5?Math.abs(c)%10:5]]:f[2]},l=function(u,f){var c=Number(u);return c!==void 0?f[c===0?0:c===1||c===2||c===4?1:2]:f[1]},d=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"\u043A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443"},u.prototype.everyHour=function(){return"\u043A\u0430\u0436\u0434\u044B\u0439 \u0447\u0430\u0441"},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"\u041F\u0440\u043E\u0438\u0437\u043E\u0448\u043B\u0430 \u043E\u0448\u0438\u0431\u043A\u0430 \u0432\u043E \u0432\u0440\u0435\u043C\u044F \u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u0438 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u044F \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u044F. \u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0441 \u043A\u0440\u043E\u043D-\u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u044F."},u.prototype.atSpace=function(){return"\u0412 "},u.prototype.everyMinuteBetweenX0AndX1=function(){return"\u041A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443 \u0441 %s \u043F\u043E %s"},u.prototype.at=function(){return"\u0412"},u.prototype.spaceAnd=function(){return" \u0438"},u.prototype.everySecond=function(){return"\u043A\u0430\u0436\u0434\u0443\u044E \u0441\u0435\u043A\u0443\u043D\u0434\u0443"},u.prototype.everyX0Seconds=function(f){return p(f,["\u043A\u0430\u0436\u0434\u0443\u044E %s \u0441\u0435\u043A\u0443\u043D\u0434\u0443","\u043A\u0430\u0436\u0434\u044B\u0435 %s \u0441\u0435\u043A\u0443\u043D\u0434\u044B","\u043A\u0430\u0436\u0434\u044B\u0435 %s \u0441\u0435\u043A\u0443\u043D\u0434"])},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"\u0441\u0435\u043A\u0443\u043D\u0434\u044B \u0441 %s \u043F\u043E %s"},u.prototype.atX0SecondsPastTheMinute=function(f){return p(f,["\u0432 %s \u0441\u0435\u043A\u0443\u043D\u0434\u0443","\u0432 %s \u0441\u0435\u043A\u0443\u043D\u0434\u044B","\u0432 %s \u0441\u0435\u043A\u0443\u043D\u0434"])},u.prototype.everyX0Minutes=function(f){return p(f,["\u043A\u0430\u0436\u0434\u0443\u044E %s \u043C\u0438\u043D\u0443\u0442\u0443","\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0438\u043D\u0443\u0442\u044B","\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0438\u043D\u0443\u0442"])},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"\u043C\u0438\u043D\u0443\u0442\u044B \u0441 %s \u043F\u043E %s"},u.prototype.atX0MinutesPastTheHour=function(f){return p(f,["\u0432 %s \u043C\u0438\u043D\u0443\u0442\u0443","\u0432 %s \u043C\u0438\u043D\u0443\u0442\u044B","\u0432 %s \u043C\u0438\u043D\u0443\u0442"])},u.prototype.everyX0Hours=function(f){return p(f,["\u043A\u0430\u0436\u0434\u044B\u0439 %s \u0447\u0430\u0441","\u043A\u0430\u0436\u0434\u044B\u0435 %s \u0447\u0430\u0441\u0430","\u043A\u0430\u0436\u0434\u044B\u0435 %s \u0447\u0430\u0441\u043E\u0432"])},u.prototype.betweenX0AndX1=function(){return"\u0441 %s \u043F\u043E %s"},u.prototype.atX0=function(){return"\u0432 %s"},u.prototype.commaEveryDay=function(){return", \u043A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C"},u.prototype.commaEveryX0DaysOfTheWeek=function(f){return p(f,["",", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u0434\u043D\u044F \u043D\u0435\u0434\u0435\u043B\u0438",", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u0434\u043D\u0435\u0439 \u043D\u0435\u0434\u0435\u043B\u0438"])},u.prototype.commaX0ThroughX1=function(f){return f&&(f[0]=="2"||f[0]=="3")?", \u0441\u043E %s \u043F\u043E %s":", \u0441 %s \u043F\u043E %s"},u.prototype.commaAndX0ThroughX1=function(f){return f&&(f[0]=="2"||f[0]=="3")?" \u0438 \u0441\u043E %s \u043F\u043E %s":" \u0438 \u0441 %s \u043F\u043E %s"},u.prototype.first=function(f){return l(f,["\u043F\u0435\u0440\u0432\u043E\u0435","\u043F\u0435\u0440\u0432\u044B\u0439","\u043F\u0435\u0440\u0432\u0443\u044E"])},u.prototype.second=function(f){return l(f,["\u0432\u0442\u043E\u0440\u043E\u0435","\u0432\u0442\u043E\u0440\u043E\u0439","\u0432\u0442\u043E\u0440\u0443\u044E"])},u.prototype.third=function(f){return l(f,["\u0442\u0440\u0435\u0442\u044C\u0435","\u0442\u0440\u0435\u0442\u0438\u0439","\u0442\u0440\u0435\u0442\u044C\u044E"])},u.prototype.fourth=function(f){return l(f,["\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043E\u0435","\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u044B\u0439","\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0443\u044E"])},u.prototype.fifth=function(f){return l(f,["\u043F\u044F\u0442\u043E\u0435","\u043F\u044F\u0442\u044B\u0439","\u043F\u044F\u0442\u0443\u044E"])},u.prototype.commaOnThe=function(f){return f==="2"?", \u0432\u043E ":", \u0432 "},u.prototype.spaceX0OfTheMonth=function(){return" %s \u043C\u0435\u0441\u044F\u0446\u0430"},u.prototype.lastDay=function(){return"\u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0434\u0435\u043D\u044C"},u.prototype.commaOnTheLastX0OfTheMonth=function(f){return l(f,[", \u0432 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435 %s \u043C\u0435\u0441\u044F\u0446\u0430",", \u0432 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 %s \u043C\u0435\u0441\u044F\u0446\u0430",", \u0432 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E %s \u043C\u0435\u0441\u044F\u0446\u0430"])},u.prototype.commaOnlyOnX0=function(f){return f&&f[0]==="2"?", \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u043E %s":", \u0442\u043E\u043B\u044C\u043A\u043E \u0432 %s"},u.prototype.commaAndOnX0=function(){return", \u0438 %s"},u.prototype.commaEveryX0Months=function(f){return p(f,[""," \u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0435\u0441\u044F\u0446\u0430"," \u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0435\u0441\u044F\u0446\u0435\u0432"])},u.prototype.commaOnlyInMonthX0=function(){return", \u0442\u043E\u043B\u044C\u043A\u043E %s"},u.prototype.commaOnlyInX0=function(){return", \u0442\u043E\u043B\u044C\u043A\u043E \u0432 %s"},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", \u0432 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0434\u0435\u043D\u044C \u043C\u0435\u0441\u044F\u0446\u0430"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", \u0432 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0431\u0443\u0434\u043D\u0438\u0439 \u0434\u0435\u043D\u044C \u043C\u0435\u0441\u044F\u0446\u0430"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(f){return p(f,[", \u0437\u0430 %s \u0434\u0435\u043D\u044C \u0434\u043E \u043A\u043E\u043D\u0446\u0430 \u043C\u0435\u0441\u044F\u0446\u0430",", \u0437\u0430 %s \u0434\u043D\u044F \u0434\u043E \u043A\u043E\u043D\u0446\u0430 \u043C\u0435\u0441\u044F\u0446\u0430",", \u0437\u0430 %s \u0434\u043D\u0435\u0439 \u0434\u043E \u043A\u043E\u043D\u0446\u0430 \u043C\u0435\u0441\u044F\u0446\u0430"])},u.prototype.firstWeekday=function(){return"\u043F\u0435\u0440\u0432\u044B\u0439 \u0431\u0443\u0434\u043D\u0438\u0439 \u0434\u0435\u043D\u044C"},u.prototype.weekdayNearestDayX0=function(){return"\u0431\u043B\u0438\u0436\u0430\u0439\u0448\u0438\u0439 \u0431\u0443\u0434\u043D\u0438\u0439 \u0434\u0435\u043D\u044C \u043A %s \u0447\u0438\u0441\u043B\u0443"},u.prototype.commaOnTheX0OfTheMonth=function(){return", \u0432 %s \u043C\u0435\u0441\u044F\u0446\u0430"},u.prototype.commaEveryX0Days=function(f){return p(f,[", \u043A\u0430\u0436\u0434\u044B\u0439 %s \u0434\u0435\u043D\u044C",", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u0434\u043D\u044F",", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u0434\u043D\u0435\u0439"])},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(f){return f&&f.substring(0,f.indexOf("-"))=="2"?", \u0441\u043E %s \u043F\u043E %s \u0447\u0438\u0441\u043B\u043E \u043C\u0435\u0441\u044F\u0446\u0430":", \u0441 %s \u043F\u043E %s \u0447\u0438\u0441\u043B\u043E \u043C\u0435\u0441\u044F\u0446\u0430"},u.prototype.commaOnDayX0OfTheMonth=function(f){return f&&f[0]=="2"?", \u0432\u043E %s \u0447\u0438\u0441\u043B\u043E \u043C\u0435\u0441\u044F\u0446\u0430":", \u0432 %s \u0447\u0438\u0441\u043B\u043E \u043C\u0435\u0441\u044F\u0446\u0430"},u.prototype.commaEveryX0Years=function(f){return p(f,[", \u043A\u0430\u0436\u0434\u044B\u0439 %s \u0433\u043E\u0434",", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u0433\u043E\u0434\u0430",", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u043B\u0435\u0442"])},u.prototype.commaStartingX0=function(){return", \u043D\u0430\u0447\u0430\u043B\u043E %s"},u.prototype.daysOfTheWeek=function(){return["\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435","\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A","\u0432\u0442\u043E\u0440\u043D\u0438\u043A","\u0441\u0440\u0435\u0434\u0430","\u0447\u0435\u0442\u0432\u0435\u0440\u0433","\u043F\u044F\u0442\u043D\u0438\u0446\u0430","\u0441\u0443\u0431\u0431\u043E\u0442\u0430"]},u.prototype.daysOfTheWeekInCase=function(f){return f===void 0&&(f=2),f==1?["\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u044F","\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A\u0430","\u0432\u0442\u043E\u0440\u043D\u0438\u043A\u0430","\u0441\u0440\u0435\u0434\u044B","\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430","\u043F\u044F\u0442\u043D\u0438\u0446\u044B","\u0441\u0443\u0431\u0431\u043E\u0442\u044B"]:["\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435","\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A","\u0432\u0442\u043E\u0440\u043D\u0438\u043A","\u0441\u0440\u0435\u0434\u0443","\u0447\u0435\u0442\u0432\u0435\u0440\u0433","\u043F\u044F\u0442\u043D\u0438\u0446\u0443","\u0441\u0443\u0431\u0431\u043E\u0442\u0443"]},u.prototype.monthsOfTheYear=function(){return["\u044F\u043D\u0432\u0430\u0440\u044C","\u0444\u0435\u0432\u0440\u0430\u043B\u044C","\u043C\u0430\u0440\u0442","\u0430\u043F\u0440\u0435\u043B\u044C","\u043C\u0430\u0439","\u0438\u044E\u043D\u044C","\u0438\u044E\u043B\u044C","\u0430\u0432\u0433\u0443\u0441\u0442","\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044C","\u043E\u043A\u0442\u044F\u0431\u0440\u044C","\u043D\u043E\u044F\u0431\u0440\u044C","\u0434\u0435\u043A\u0430\u0431\u0440\u044C"]},u.prototype.monthsOfTheYearInCase=function(f){return f==1?["\u044F\u043D\u0432\u0430\u0440\u044F","\u0444\u0435\u0432\u0440\u0430\u043B\u044F","\u043C\u0430\u0440\u0442\u0430","\u0430\u043F\u0440\u0435\u043B\u044F","\u043C\u0430\u044F","\u0438\u044E\u043D\u044F","\u0438\u044E\u043B\u044F","\u0430\u0432\u0433\u0443\u0441\u0442\u0430","\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044F","\u043E\u043A\u0442\u044F\u0431\u0440\u044F","\u043D\u043E\u044F\u0431\u0440\u044F","\u0434\u0435\u043A\u0430\u0431\u0440\u044F"]:this.monthsOfTheYear()},u}();return i.ru=d,s().locales.ru=new d,a})())});var Ooe=F((P1,RF)=>{"use strict";(function(t,r){typeof P1=="object"&&typeof RF=="object"?RF.exports=r(Mo()):typeof define=="function"&&define.amd?define("locales/zh_CN",["cronstrue"],r):typeof P1=="object"?P1["locales/zh_CN"]=r(Mo()):t["locales/zh_CN"]=r(t.cronstrue)})(globalThis,e=>(()=>{"use strict";var t={93:l=>{l.exports=e}},r={};function o(l){var d=r[l];if(d!==void 0)return d.exports;var u=r[l]={exports:{}};return t[l](u,u.exports,o),u.exports}o.n=l=>{var d=l&&l.__esModule?()=>l.default:()=>l;return o.d(d,{a:d}),d},o.d=(l,d)=>{for(var u in d)o.o(d,u)&&!o.o(l,u)&&Object.defineProperty(l,u,{enumerable:!0,get:d[u]})},o.o=(l,d)=>Object.prototype.hasOwnProperty.call(l,d),o.r=l=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})};var a={};o.r(a);var n=o(93),s=o.n(n),i=a;Object.defineProperty(i,"__esModule",{value:!0}),i.zh_CN=void 0;var p=function(){function l(){}return l.prototype.setPeriodBeforeTime=function(){return!0},l.prototype.pm=function(){return"\u4E0B\u5348"},l.prototype.am=function(){return"\u4E0A\u5348"},l.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},l.prototype.atX0MinutesPastTheHourGt20=function(){return null},l.prototype.commaMonthX0ThroughMonthX1=function(){return null},l.prototype.commaYearX0ThroughYearX1=function(){return", \u4ECE%s\u5E74\u81F3%s\u5E74"},l.prototype.use24HourTimeFormatByDefault=function(){return!1},l.prototype.everyMinute=function(){return"\u6BCF\u5206\u949F"},l.prototype.everyHour=function(){return"\u6BCF\u5C0F\u65F6"},l.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"\u751F\u6210\u8868\u8FBE\u5F0F\u63CF\u8FF0\u65F6\u53D1\u751F\u4E86\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5cron\u8868\u8FBE\u5F0F\u8BED\u6CD5\u3002"},l.prototype.atSpace=function(){return"\u5728"},l.prototype.everyMinuteBetweenX0AndX1=function(){return"\u5728 %s \u81F3 %s \u4E4B\u95F4\u7684\u6BCF\u5206\u949F"},l.prototype.at=function(){return"\u5728"},l.prototype.spaceAnd=function(){return" \u548C"},l.prototype.everySecond=function(){return"\u6BCF\u79D2"},l.prototype.everyX0Seconds=function(){return"\u6BCF\u9694 %s \u79D2"},l.prototype.secondsX0ThroughX1PastTheMinute=function(){return"\u5728\u6BCF\u5206\u949F\u7684\u7B2C %s \u5230 %s \u79D2"},l.prototype.atX0SecondsPastTheMinute=function(){return"\u5728\u6BCF\u5206\u949F\u7684\u7B2C %s \u79D2"},l.prototype.everyX0Minutes=function(){return"\u6BCF\u9694 %s \u5206\u949F"},l.prototype.minutesX0ThroughX1PastTheHour=function(){return"\u5728\u6BCF\u5C0F\u65F6\u7684\u7B2C %s \u5230 %s \u5206\u949F"},l.prototype.atX0MinutesPastTheHour=function(){return"\u5728\u6BCF\u5C0F\u65F6\u7684\u7B2C %s \u5206\u949F"},l.prototype.everyX0Hours=function(){return"\u6BCF\u9694 %s \u5C0F\u65F6"},l.prototype.betweenX0AndX1=function(){return"\u5728 %s \u548C %s \u4E4B\u95F4"},l.prototype.atX0=function(){return"\u5728%s"},l.prototype.commaEveryDay=function(){return", \u6BCF\u5929"},l.prototype.commaEveryX0DaysOfTheWeek=function(){return", \u6BCF\u5468\u7684\u6BCF %s \u5929"},l.prototype.commaX0ThroughX1=function(){return", %s\u81F3%s"},l.prototype.commaAndX0ThroughX1=function(){return", \u548C%s\u81F3%s"},l.prototype.first=function(){return"\u7B2C\u4E00\u4E2A"},l.prototype.second=function(){return"\u7B2C\u4E8C\u4E2A"},l.prototype.third=function(){return"\u7B2C\u4E09\u4E2A"},l.prototype.fourth=function(){return"\u7B2C\u56DB\u4E2A"},l.prototype.fifth=function(){return"\u7B2C\u4E94\u4E2A"},l.prototype.commaOnThe=function(){return", \u9650\u6BCF\u6708\u7684"},l.prototype.spaceX0OfTheMonth=function(){return"%s"},l.prototype.lastDay=function(){return"\u672C\u6708\u6700\u540E\u4E00\u5929"},l.prototype.commaOnTheLastX0OfTheMonth=function(){return", \u9650\u6BCF\u6708\u7684\u6700\u540E\u4E00\u4E2A%s"},l.prototype.commaOnlyOnX0=function(){return", \u4EC5%s"},l.prototype.commaAndOnX0=function(){return", \u6216\u8005\u4E3A%s"},l.prototype.commaEveryX0Months=function(){return", \u6BCF\u9694 %s \u4E2A\u6708"},l.prototype.commaOnlyInX0=function(){return", \u4EC5\u9650%s"},l.prototype.commaOnlyInMonthX0=function(){return", \u4EC5\u4E8E%s\u4EFD"},l.prototype.commaOnlyInYearX0=function(){return", \u4EC5\u4E8E %s \u5E74"},l.prototype.commaOnTheLastDayOfTheMonth=function(){return", \u9650\u6BCF\u6708\u7684\u6700\u540E\u4E00\u5929"},l.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", \u9650\u6BCF\u6708\u7684\u6700\u540E\u4E00\u4E2A\u5DE5\u4F5C\u65E5"},l.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", \u9650\u6BCF\u6708\u6700\u540E%s\u5929"},l.prototype.firstWeekday=function(){return"\u7B2C\u4E00\u4E2A\u5DE5\u4F5C\u65E5"},l.prototype.weekdayNearestDayX0=function(){return"\u6700\u63A5\u8FD1 %s \u53F7\u7684\u5DE5\u4F5C\u65E5"},l.prototype.commaOnTheX0OfTheMonth=function(){return", \u9650\u6BCF\u6708\u7684%s"},l.prototype.commaEveryX0Days=function(){return", \u6BCF\u9694 %s \u5929"},l.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", \u9650\u6BCF\u6708\u7684 %s \u81F3 %s \u4E4B\u95F4"},l.prototype.commaOnDayX0OfTheMonth=function(){return", \u9650\u6BCF\u6708%s"},l.prototype.commaEveryX0Years=function(){return", \u6BCF\u9694 %s \u5E74"},l.prototype.commaStartingX0=function(){return", %s\u5F00\u59CB"},l.prototype.dayX0=function(){return" %s \u53F7"},l.prototype.daysOfTheWeek=function(){return["\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"]},l.prototype.monthsOfTheYear=function(){return["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"]},l}();return i.zh_CN=p,s().locales.zh_CN=new p,a})())});var koe=F((R1,DF)=>{"use strict";(function(t,r){typeof R1=="object"&&typeof DF=="object"?DF.exports=r(Mo()):typeof define=="function"&&define.amd?define("locales/uk",["cronstrue"],r):typeof R1=="object"?R1["locales/uk"]=r(Mo()):t["locales/uk"]=r(t.cronstrue)})(globalThis,e=>(()=>{"use strict";var t={93:l=>{l.exports=e}},r={};function o(l){var d=r[l];if(d!==void 0)return d.exports;var u=r[l]={exports:{}};return t[l](u,u.exports,o),u.exports}o.n=l=>{var d=l&&l.__esModule?()=>l.default:()=>l;return o.d(d,{a:d}),d},o.d=(l,d)=>{for(var u in d)o.o(d,u)&&!o.o(l,u)&&Object.defineProperty(l,u,{enumerable:!0,get:d[u]})},o.o=(l,d)=>Object.prototype.hasOwnProperty.call(l,d),o.r=l=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})};var a={};o.r(a);var n=o(93),s=o.n(n),i=a;Object.defineProperty(i,"__esModule",{value:!0}),i.uk=void 0;var p=function(){function l(){}return l.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},l.prototype.atX0MinutesPastTheHourGt20=function(){return null},l.prototype.commaMonthX0ThroughMonthX1=function(){return null},l.prototype.commaYearX0ThroughYearX1=function(){return null},l.prototype.use24HourTimeFormatByDefault=function(){return!0},l.prototype.everyMinute=function(){return"\u0449\u043E\u0445\u0432\u0438\u043B\u0438\u043D\u0438"},l.prototype.everyHour=function(){return"\u0449\u043E\u0433\u043E\u0434\u0438\u043D\u0438"},l.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"\u0412\u0406\u0434\u0431\u0443\u043B\u0430\u0441\u044F \u043F\u043E\u043C\u0438\u043B\u043A\u0430 \u043F\u0456\u0434\u0447\u0430\u0441 \u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0456\u0457 \u043E\u043F\u0438\u0441\u0443. \u041F\u0435\u0440\u0435\u0432\u0456\u0440\u0442\u0430 \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456\u0441\u0442\u044C \u043D\u0430\u043F\u0438\u0441\u0430\u043D\u043D\u044F cron \u0432\u0438\u0440\u0430\u0437\u0443."},l.prototype.atSpace=function(){return"\u041E "},l.prototype.everyMinuteBetweenX0AndX1=function(){return"\u0429\u043E\u0445\u0432\u0438\u043B\u0438\u043D\u0438 \u043C\u0456\u0436 %s \u0442\u0430 %s"},l.prototype.at=function(){return"\u041E"},l.prototype.spaceAnd=function(){return" \u0442\u0430"},l.prototype.everySecond=function(){return"\u0429\u043E\u0441\u0435\u043A\u0443\u043D\u0434\u0438"},l.prototype.everyX0Seconds=function(){return"\u043A\u043E\u0436\u043D\u0456 %s \u0441\u0435\u043A\u0443\u043D\u0434"},l.prototype.secondsX0ThroughX1PastTheMinute=function(){return"\u0437 %s \u043F\u043E %s \u0441\u0435\u043A\u0443\u043D\u0434\u0443"},l.prototype.atX0SecondsPastTheMinute=function(){return"\u043E %s \u0441\u0435\u043A\u0443\u043D\u0434\u0456"},l.prototype.everyX0Minutes=function(){return"\u043A\u043E\u0436\u043D\u0456 %s \u0445\u0432\u0438\u043B\u0438\u043D"},l.prototype.minutesX0ThroughX1PastTheHour=function(){return"\u0437 %s \u043F\u043E %s \u0445\u0432\u0438\u043B\u0438\u043D\u0443"},l.prototype.atX0MinutesPastTheHour=function(){return"\u043E %s \u0445\u0432\u0438\u043B\u0438\u043D\u0456"},l.prototype.everyX0Hours=function(){return"\u043A\u043E\u0436\u043D\u0456 %s \u0433\u043E\u0434\u0438\u043D"},l.prototype.betweenX0AndX1=function(){return"\u043C\u0456\u0436 %s \u0442\u0430 %s"},l.prototype.atX0=function(){return"\u043E %s"},l.prototype.commaEveryDay=function(){return", \u0449\u043E\u0434\u0435\u043D\u043D\u043E"},l.prototype.commaEveryX0DaysOfTheWeek=function(){return", \u043A\u043E\u0436\u0435\u043D %s \u0434\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F"},l.prototype.commaX0ThroughX1=function(){return", %s \u043F\u043E %s"},l.prototype.commaAndX0ThroughX1=function(){return", \u0442\u0430 %s \u043F\u043E %s"},l.prototype.first=function(){return"\u043F\u0435\u0440\u0448\u0438\u0439"},l.prototype.second=function(){return"\u0434\u0440\u0443\u0433\u0438\u0439"},l.prototype.third=function(){return"\u0442\u0440\u0435\u0442\u0456\u0439"},l.prototype.fourth=function(){return"\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0438\u0439"},l.prototype.fifth=function(){return"\u043F'\u044F\u0442\u0438\u0439"},l.prototype.commaOnThe=function(){return", \u0432 "},l.prototype.spaceX0OfTheMonth=function(){return" %s \u043C\u0456\u0441\u044F\u0446\u044F"},l.prototype.lastDay=function(){return"\u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0439 \u0434\u0435\u043D\u044C"},l.prototype.commaOnTheLastX0OfTheMonth=function(){return", \u0432 \u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0439 %s \u043C\u0456\u0441\u044F\u0446\u044F"},l.prototype.commaOnlyOnX0=function(){return", \u0442\u0456\u043B\u044C\u043A\u0438 \u0432 %s"},l.prototype.commaAndOnX0=function(){return", \u0456 \u0432 %s"},l.prototype.commaEveryX0Months=function(){return", \u043A\u043E\u0436\u0435\u043D %s \u043C\u0456\u0441\u044F\u0446\u044C"},l.prototype.commaOnlyInX0=function(){return", \u0442\u0456\u043B\u044C\u043A\u0438 \u0432 %s"},l.prototype.commaOnTheLastDayOfTheMonth=function(){return", \u0432 \u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0439 \u0434\u0435\u043D\u044C \u043C\u0456\u0441\u044F\u0446\u044F"},l.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", \u0432 \u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0439 \u0431\u0443\u0434\u0435\u043D\u044C \u043C\u0456\u0441\u044F\u0446\u044F"},l.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s \u0434\u043D\u0456\u0432 \u0434\u043E \u043E\u0441\u0442\u0430\u043D\u043D\u044C\u043E\u0433\u043E \u0434\u043D\u044F \u043C\u0456\u0441\u044F\u0446\u044F"},l.prototype.firstWeekday=function(){return"\u043F\u0435\u0440\u0448\u0438\u0439 \u0431\u0443\u0434\u0435\u043D\u044C"},l.prototype.weekdayNearestDayX0=function(){return"\u0431\u0443\u0434\u0435\u043D\u044C \u043D\u0430\u0439\u0431\u043B\u0438\u0436\u0447\u0438\u0439 \u0434\u043E %s \u0434\u043D\u044F"},l.prototype.commaOnTheX0OfTheMonth=function(){return", \u0432 %s \u043C\u0456\u0441\u044F\u0446\u044F"},l.prototype.commaEveryX0Days=function(){return", \u043A\u043E\u0436\u0435\u043D %s \u0434\u0435\u043D\u044C"},l.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", \u043C\u0456\u0436 %s \u0442\u0430 %s \u0434\u043D\u044F\u043C\u0438 \u043C\u0456\u0441\u044F\u0446\u044F"},l.prototype.commaOnDayX0OfTheMonth=function(){return", \u043D\u0430 %s \u0434\u0435\u043D\u044C \u043C\u0456\u0441\u044F\u0446\u044F"},l.prototype.commaEveryX0Years=function(){return", \u043A\u043E\u0436\u043D\u0456 %s \u0440\u043E\u043A\u0438"},l.prototype.commaStartingX0=function(){return", \u043F\u043E\u0447\u0430\u0442\u043E\u043A %s"},l.prototype.daysOfTheWeek=function(){return["\u043D\u0435\u0434\u0456\u043B\u044F","\u043F\u043E\u043D\u0435\u0434\u0456\u043B\u043E\u043A","\u0432\u0456\u0432\u0442\u043E\u0440\u043E\u043A","\u0441\u0435\u0440\u0435\u0434\u0430","\u0447\u0435\u0442\u0432\u0435\u0440","\u043F'\u044F\u0442\u043D\u0438\u0446\u044F","\u0441\u0443\u0431\u043E\u0442\u0430"]},l.prototype.monthsOfTheYear=function(){return["\u0441\u0456\u0447\u0435\u043D\u044C","\u043B\u044E\u0442\u0438\u0439","\u0431\u0435\u0440\u0435\u0437\u0435\u043D\u044C","\u043A\u0432\u0456\u0442\u0435\u043D\u044C","\u0442\u0440\u0430\u0432\u0435\u043D\u044C","\u0447\u0435\u0440\u0432\u0435\u043D\u044C","\u043B\u0438\u043F\u0435\u043D\u044C","\u0441\u0435\u0440\u043F\u0435\u043D\u044C","\u0432\u0435\u0440\u0435\u0441\u0435\u043D\u044C","\u0436\u043E\u0432\u0442\u0435\u043D\u044C","\u043B\u0438\u0441\u0442\u043E\u043F\u0430\u0434","\u0433\u0440\u0443\u0434\u0435\u043D\u044C"]},l}();return i.uk=p,s().locales.uk=new p,a})())});var Eoe=F((D1,AF)=>{"use strict";(function(t,r){typeof D1=="object"&&typeof AF=="object"?AF.exports=r(Mo()):typeof define=="function"&&define.amd?define("locales/pt_BR",["cronstrue"],r):typeof D1=="object"?D1["locales/pt_BR"]=r(Mo()):t["locales/pt_BR"]=r(t.cronstrue)})(globalThis,e=>(()=>{"use strict";var t={93:l=>{l.exports=e}},r={};function o(l){var d=r[l];if(d!==void 0)return d.exports;var u=r[l]={exports:{}};return t[l](u,u.exports,o),u.exports}o.n=l=>{var d=l&&l.__esModule?()=>l.default:()=>l;return o.d(d,{a:d}),d},o.d=(l,d)=>{for(var u in d)o.o(d,u)&&!o.o(l,u)&&Object.defineProperty(l,u,{enumerable:!0,get:d[u]})},o.o=(l,d)=>Object.prototype.hasOwnProperty.call(l,d),o.r=l=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})};var a={};o.r(a);var n=o(93),s=o.n(n),i=a;Object.defineProperty(i,"__esModule",{value:!0}),i.pt_BR=void 0;var p=function(){function l(){}return l.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},l.prototype.atX0MinutesPastTheHourGt20=function(){return null},l.prototype.commaMonthX0ThroughMonthX1=function(){return null},l.prototype.commaYearX0ThroughYearX1=function(){return null},l.prototype.use24HourTimeFormatByDefault=function(){return!0},l.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Ocorreu um erro ao gerar a descri\xE7\xE3o da express\xE3o Cron."},l.prototype.at=function(){return"\xE0s"},l.prototype.atSpace=function(){return"\xE0s "},l.prototype.atX0=function(){return"\xC0s %s"},l.prototype.atX0MinutesPastTheHour=function(){return"aos %s minutos da hora"},l.prototype.atX0SecondsPastTheMinute=function(){return"aos %s segundos do minuto"},l.prototype.betweenX0AndX1=function(){return"entre %s e %s"},l.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", entre os dias %s e %s do m\xEAs"},l.prototype.commaEveryDay=function(){return", a cada dia"},l.prototype.commaEveryX0Days=function(){return", a cada %s dias"},l.prototype.commaEveryX0DaysOfTheWeek=function(){return", a cada %s dias de semana"},l.prototype.commaEveryX0Months=function(){return", a cada %s meses"},l.prototype.commaOnDayX0OfTheMonth=function(){return", no dia %s do m\xEAs"},l.prototype.commaOnlyInX0=function(d){return d&&d.length>1&&d[1]==="-"?"somente %s":", somente em %s"},l.prototype.commaOnlyOnX0=function(d){return d&&d.length>1&&d[1]==="-"?", somente %s":", somente de %s"},l.prototype.commaAndOnX0=function(){return", e de %s"},l.prototype.commaOnThe=function(d,u){return u==="6"||u==="0"?", no":", na "},l.prototype.commaOnTheLastDayOfTheMonth=function(){return", no \xFAltimo dia do m\xEAs"},l.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", no \xFAltimo dia da semana do m\xEAs"},l.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s dias antes do \xFAltimo dia do m\xEAs"},l.prototype.commaOnTheLastX0OfTheMonth=function(){return", na \xFAltima %s do m\xEAs"},l.prototype.commaOnTheX0OfTheMonth=function(){return", no %s do m\xEAs"},l.prototype.commaX0ThroughX1=function(){return", de %s a %s"},l.prototype.commaAndX0ThroughX1=function(){return", e de %s a %s"},l.prototype.everyHour=function(){return"a cada hora"},l.prototype.everyMinute=function(){return"a cada minuto"},l.prototype.everyMinuteBetweenX0AndX1=function(){return"a cada minuto entre %s e %s"},l.prototype.everySecond=function(){return"a cada segundo"},l.prototype.everyX0Hours=function(){return"a cada %s horas"},l.prototype.everyX0Minutes=function(){return"a cada %s minutos"},l.prototype.everyX0Seconds=function(){return"a cada %s segundos"},l.prototype.fifth=function(d){return d==="6"||d==="0"?"quinto":"quinta"},l.prototype.first=function(d){return d==="6"||d==="0"?"primeiro":"primeira"},l.prototype.firstWeekday=function(){return"primeiro dia da semana"},l.prototype.fourth=function(d){return d==="6"||d==="0"?"quarto":"quarta"},l.prototype.minutesX0ThroughX1PastTheHour=function(){return"do minuto %s at\xE9 %s de cada hora"},l.prototype.second=function(d){return d==="6"||d==="0"?"segundo":"segunda"},l.prototype.secondsX0ThroughX1PastTheMinute=function(){return"No segundo %s at\xE9 %s de cada minuto"},l.prototype.spaceAnd=function(){return" e"},l.prototype.spaceX0OfTheMonth=function(){return" %s do m\xEAs"},l.prototype.lastDay=function(){return"o \xFAltimo dia"},l.prototype.third=function(d){return d==="6"||d==="0"?"terceiro":"terceira"},l.prototype.weekdayNearestDayX0=function(){return"dia da semana mais pr\xF3ximo do dia %s"},l.prototype.commaEveryX0Years=function(){return", a cada %s anos"},l.prototype.commaStartingX0=function(){return", iniciando %s"},l.prototype.daysOfTheWeek=function(){return["domingo","segunda-feira","ter\xE7a-feira","quarta-feira","quinta-feira","sexta-feira","s\xE1bado"]},l.prototype.monthsOfTheYear=function(){return["janeiro","fevereiro","mar\xE7o","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"]},l}();return i.pt_BR=p,s().locales.pt_BR=new p,a})())});var Poe=F((A1,MF)=>{"use strict";(function(t,r){typeof A1=="object"&&typeof MF=="object"?MF.exports=r(Mo()):typeof define=="function"&&define.amd?define("locales/pl",["cronstrue"],r):typeof A1=="object"?A1["locales/pl"]=r(Mo()):t["locales/pl"]=r(t.cronstrue)})(globalThis,e=>(()=>{"use strict";var t={93:l=>{l.exports=e}},r={};function o(l){var d=r[l];if(d!==void 0)return d.exports;var u=r[l]={exports:{}};return t[l](u,u.exports,o),u.exports}o.n=l=>{var d=l&&l.__esModule?()=>l.default:()=>l;return o.d(d,{a:d}),d},o.d=(l,d)=>{for(var u in d)o.o(d,u)&&!o.o(l,u)&&Object.defineProperty(l,u,{enumerable:!0,get:d[u]})},o.o=(l,d)=>Object.prototype.hasOwnProperty.call(l,d),o.r=l=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})};var a={};o.r(a);var n=o(93),s=o.n(n),i=a;Object.defineProperty(i,"__esModule",{value:!0}),i.pl=void 0;var p=function(){function l(){}return l.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},l.prototype.atX0MinutesPastTheHourGt20=function(){return null},l.prototype.commaMonthX0ThroughMonthX1=function(){return null},l.prototype.commaYearX0ThroughYearX1=function(){return null},l.prototype.use24HourTimeFormatByDefault=function(){return!0},l.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Wyst\u0105pi\u0142 b\u0142\u0105d podczas generowania opisu wyra\u017Cenia cron. Sprawd\u017A sk\u0142adni\u0119 wyra\u017Cenia cron."},l.prototype.at=function(){return"O"},l.prototype.atSpace=function(){return"O "},l.prototype.atX0=function(){return"o %s"},l.prototype.atX0MinutesPastTheHour=function(){return"w %s minucie"},l.prototype.atX0SecondsPastTheMinute=function(){return"w %s sekundzie"},l.prototype.betweenX0AndX1=function(){return"od %s do %s"},l.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", od %s-ego do %s-ego dnia miesi\u0105ca"},l.prototype.commaEveryDay=function(){return", co dzie\u0144"},l.prototype.commaEveryX0Days=function(){return", co %s dni"},l.prototype.commaEveryX0DaysOfTheWeek=function(){return", co %s dni tygodnia"},l.prototype.commaEveryX0Months=function(){return", co %s miesi\u0119cy"},l.prototype.commaEveryX0Years=function(){return", co %s lat"},l.prototype.commaOnDayX0OfTheMonth=function(){return", %s-ego dnia miesi\u0105ca"},l.prototype.commaOnlyInX0=function(){return", tylko %s"},l.prototype.commaOnlyOnX0=function(){return", tylko %s"},l.prototype.commaAndOnX0=function(){return", i %s"},l.prototype.commaOnThe=function(){return", "},l.prototype.commaOnTheLastDayOfTheMonth=function(){return", ostatni dzie\u0144 miesi\u0105ca"},l.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", ostatni dzie\u0144 roboczy miesi\u0105ca"},l.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s dni przed ostatnim dniem miesi\u0105ca"},l.prototype.commaOnTheLastX0OfTheMonth=function(){return", ostatni %s miesi\u0105ca"},l.prototype.commaOnTheX0OfTheMonth=function(){return", %s miesi\u0105ca"},l.prototype.commaX0ThroughX1=function(){return", od %s do %s"},l.prototype.commaAndX0ThroughX1=function(){return", i od %s do %s"},l.prototype.everyHour=function(){return"co godzin\u0119"},l.prototype.everyMinute=function(){return"co minut\u0119"},l.prototype.everyMinuteBetweenX0AndX1=function(){return"Co minut\u0119 od %s do %s"},l.prototype.everySecond=function(){return"co sekund\u0119"},l.prototype.everyX0Hours=function(){return"co %s godzin"},l.prototype.everyX0Minutes=function(){return"co %s minut"},l.prototype.everyX0Seconds=function(){return"co %s sekund"},l.prototype.fifth=function(){return"pi\u0105ty"},l.prototype.first=function(){return"pierwszy"},l.prototype.firstWeekday=function(){return"pierwszy dzie\u0144 roboczy"},l.prototype.fourth=function(){return"czwarty"},l.prototype.minutesX0ThroughX1PastTheHour=function(){return"minuty od %s do %s"},l.prototype.second=function(){return"drugi"},l.prototype.secondsX0ThroughX1PastTheMinute=function(){return"sekundy od %s do %s"},l.prototype.spaceAnd=function(){return" i"},l.prototype.spaceX0OfTheMonth=function(){return" %s miesi\u0105ca"},l.prototype.lastDay=function(){return"ostatni dzie\u0144"},l.prototype.third=function(){return"trzeci"},l.prototype.weekdayNearestDayX0=function(){return"dzie\u0144 roboczy najbli\u017Cszy %s-ego dnia"},l.prototype.commaStartingX0=function(){return", startowy %s"},l.prototype.daysOfTheWeek=function(){return["niedziela","poniedzia\u0142ek","wtorek","\u015Broda","czwartek","pi\u0105tek","sobota"]},l.prototype.monthsOfTheYear=function(){return["stycze\u0144","luty","marzec","kwiecie\u0144","maj","czerwiec","lipiec","sierpie\u0144","wrzesie\u0144","pa\u017Adziernik","listopad","grudzie\u0144"]},l}();return i.pl=p,s().locales.pl=new p,a})())});var joe=F(BF=>{"use strict";BF.__esModule=!0;BF.default=function(e,t){if(e&&t){var r=Array.isArray(t)?t:t.split(",");if(r.length===0)return!0;var o=e.name||"",a=(e.type||"").toLowerCase(),n=a.replace(/\/.*$/,"");return r.some(function(s){var i=s.trim().toLowerCase();return i.charAt(0)==="."?o.toLowerCase().endsWith(i):i.endsWith("/*")?n===i.replace(/\/.*$/,""):a===i})}return!0}});var Gae=F((OB,kB)=>{"use strict";(function(e,t){typeof OB=="object"&&typeof kB!="undefined"?kB.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis!="undefined"?globalThis:e||self,e.Cropper=t())})(OB,function(){"use strict";function e(I,_){var R=Object.keys(I);if(Object.getOwnPropertySymbols){var E=Object.getOwnPropertySymbols(I);_&&(E=E.filter(function(V){return Object.getOwnPropertyDescriptor(I,V).enumerable})),R.push.apply(R,E)}return R}function t(I){for(var _=1;_I.length)&&(_=I.length);for(var R=0,E=new Array(_);R<_;R++)E[R]=I[R];return E}function m(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var g=typeof window!="undefined"&&typeof window.document!="undefined",h=g?window:{},x=g&&h.document.documentElement?"ontouchstart"in h.document.documentElement:!1,T=g?"PointerEvent"in h:!1,v="cropper",b="all",w="crop",O="move",k="zoom",M="e",N="w",S="s",B="n",$="ne",K="nw",G="se",L="sw",Y="".concat(v,"-crop"),oe="".concat(v,"-disabled"),ee="".concat(v,"-hidden"),se="".concat(v,"-hide"),Ae="".concat(v,"-invisible"),Me="".concat(v,"-modal"),Ge="".concat(v,"-move"),Le="".concat(v,"Action"),ke="".concat(v,"Preview"),Ve="crop",Ee="move",nt="none",Ze="crop",qe="cropend",ct="cropmove",We="cropstart",Ne="dblclick",tt=x?"touchstart":"mousedown",Xe=x?"touchmove":"mousemove",rt=x?"touchend touchcancel":"mouseup",ue=T?"pointerdown":tt,Ce=T?"pointermove":Xe,He=T?"pointerup pointercancel":rt,Ke="ready",ot="resize",yt="wheel",bt="zoom",Ie="image/jpeg",he=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,De=/^data:/,gt=/^data:image\/jpeg;base64,/,vt=/^img|canvas$/i,Et=200,Pe=100,qt={viewMode:0,dragMode:Ve,initialAspectRatio:NaN,aspectRatio:NaN,data:null,preview:"",responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,modal:!0,guides:!0,center:!0,highlight:!0,background:!0,autoCrop:!0,autoCropArea:.8,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,wheelZoomRatio:.1,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,minCanvasWidth:0,minCanvasHeight:0,minCropBoxWidth:0,minCropBoxHeight:0,minContainerWidth:Et,minContainerHeight:Pe,ready:null,cropstart:null,cropmove:null,cropend:null,crop:null,zoom:null},Pt='
',ht=Number.isNaN||h.isNaN;function $e(I){return typeof I=="number"&&!ht(I)}var At=function(_){return _>0&&_<1/0};function q(I){return typeof I=="undefined"}function Q(I){return a(I)==="object"&&I!==null}var Se=Object.prototype.hasOwnProperty;function _e(I){if(!Q(I))return!1;try{var _=I.constructor,R=_.prototype;return _&&R&&Se.call(R,"isPrototypeOf")}catch(E){return!1}}function Fe(I){return typeof I=="function"}var Kt=Array.prototype.slice;function Gr(I){return Array.from?Array.from(I):Kt.call(I)}function Ft(I,_){return I&&Fe(_)&&(Array.isArray(I)||$e(I.length)?Gr(I).forEach(function(R,E){_.call(I,R,E,I)}):Q(I)&&Object.keys(I).forEach(function(R){_.call(I,I[R],R,I)})),I}var _t=Object.assign||function(_){for(var R=arguments.length,E=new Array(R>1?R-1:0),V=1;V0&&E.forEach(function(j){Q(j)&&Object.keys(j).forEach(function(W){_[W]=j[W]})}),_},Zs=/\.\d*(?:0|9){12}\d*$/;function jp(I){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return Zs.test(I)?Math.round(I*_)/_:I}var Vk=/^width|height|left|top|marginLeft|marginTop$/;function Qs(I,_){var R=I.style;Ft(_,function(E,V){Vk.test(V)&&$e(E)&&(E="".concat(E,"px")),R[V]=E})}function rS(I,_){return I.classList?I.classList.contains(_):I.className.indexOf(_)>-1}function yo(I,_){if(_){if($e(I.length)){Ft(I,function(E){yo(E,_)});return}if(I.classList){I.classList.add(_);return}var R=I.className.trim();R?R.indexOf(_)<0&&(I.className="".concat(R," ").concat(_)):I.className=_}}function Qe(I,_){if(_){if($e(I.length)){Ft(I,function(R){Qe(R,_)});return}if(I.classList){I.classList.remove(_);return}I.className.indexOf(_)>=0&&(I.className=I.className.replace(_,""))}}function Qo(I,_,R){if(_){if($e(I.length)){Ft(I,function(E){Qo(E,_,R)});return}R?yo(I,_):Qe(I,_)}}var oS=/([a-z\d])([A-Z])/g;function Hk(I){return I.replace(oS,"$1-$2").toLowerCase()}function $k(I,_){return Q(I[_])?I[_]:I.dataset?I.dataset[_]:I.getAttribute("data-".concat(Hk(_)))}function Ng(I,_,R){Q(R)?I[_]=R:I.dataset?I.dataset[_]=R:I.setAttribute("data-".concat(Hk(_)),R)}function ele(I,_){if(Q(I[_]))try{delete I[_]}catch(R){I[_]=void 0}else if(I.dataset)try{delete I.dataset[_]}catch(R){I.dataset[_]=void 0}else I.removeAttribute("data-".concat(Hk(_)))}var oL=/\s\s*/,aL=function(){var I=!1;if(g){var _=!1,R=function(){},E=Object.defineProperty({},"once",{get:function(){return I=!0,_},set:function(j){_=j}});h.addEventListener("test",R,E),h.removeEventListener("test",R,E)}return I}();function ei(I,_,R){var E=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},V=R;_.trim().split(oL).forEach(function(j){if(!aL){var W=I.listeners;W&&W[j]&&W[j][R]&&(V=W[j][R],delete W[j][R],Object.keys(W[j]).length===0&&delete W[j],Object.keys(W).length===0&&delete I.listeners)}I.removeEventListener(j,V,E)})}function is(I,_,R){var E=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},V=R;_.trim().split(oL).forEach(function(j){if(E.once&&!aL){var W=I.listeners,re=W===void 0?{}:W;V=function(){delete re[j][R],I.removeEventListener(j,V,E);for(var xe=arguments.length,ie=new Array(xe),le=0;leMath.abs(R)&&(R=ye)})}),R}function aS(I,_){var R=I.pageX,E=I.pageY,V={endX:R,endY:E};return _?V:t({startX:R,startY:E},V)}function ole(I){var _=0,R=0,E=0;return Ft(I,function(V){var j=V.startX,W=V.startY;_+=j,R+=W,E+=1}),_/=E,R/=E,{pageX:_,pageY:R}}function Lp(I){var _=I.aspectRatio,R=I.height,E=I.width,V=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"contain",j=At(E),W=At(R);if(j&&W){var re=R*_;V==="contain"&&re>E||V==="cover"&&re90?{width:Te,height:re}:{width:re,height:Te}}function nle(I,_,R,E){var V=_.aspectRatio,j=_.naturalWidth,W=_.naturalHeight,re=_.rotate,Te=re===void 0?0:re,xe=_.scaleX,ie=xe===void 0?1:xe,le=_.scaleY,ye=le===void 0?1:le,Bt=R.aspectRatio,Mt=R.naturalWidth,Lr=R.naturalHeight,Xt=E.fillColor,Fo=Xt===void 0?"transparent":Xt,ea=E.imageSmoothingEnabled,Co=ea===void 0?!0:ea,Al=E.imageSmoothingQuality,In=Al===void 0?"low":Al,Oe=E.maxWidth,Jt=Oe===void 0?1/0:Oe,Bo=E.maxHeight,ls=Bo===void 0?1/0:Bo,Ml=E.minWidth,Fu=Ml===void 0?0:Ml,Bu=E.minHeight,zp=Bu===void 0?0:Bu,zi=document.createElement("canvas"),fn=zi.getContext("2d"),ju=Lp({aspectRatio:Bt,width:Jt,height:ls}),nS=Lp({aspectRatio:Bt,width:Fu,height:zp},"cover"),qk=Math.min(ju.width,Math.max(nS.width,Mt)),Kk=Math.min(ju.height,Math.max(nS.height,Lr)),dL=Lp({aspectRatio:V,width:Jt,height:ls}),uL=Lp({aspectRatio:V,width:Fu,height:zp},"cover"),fL=Math.min(dL.width,Math.max(uL.width,j)),cL=Math.min(dL.height,Math.max(uL.height,W)),ble=[-fL/2,-cL/2,fL,cL];return zi.width=jp(qk),zi.height=jp(Kk),fn.fillStyle=Fo,fn.fillRect(0,0,qk,Kk),fn.save(),fn.translate(qk/2,Kk/2),fn.rotate(Te*Math.PI/180),fn.scale(ie,ye),fn.imageSmoothingEnabled=Co,fn.imageSmoothingQuality=In,fn.drawImage.apply(fn,[I].concat(l(ble.map(function(vle){return Math.floor(jp(vle))})))),fn.restore(),zi}var lL=String.fromCharCode;function sle(I,_,R){var E="";R+=_;for(var V=_;V0;)R.push(lL.apply(null,Gr(V.subarray(0,E)))),V=V.subarray(E);return"data:".concat(_,";base64,").concat(btoa(R.join("")))}function dle(I){var _=new DataView(I),R;try{var E,V,j;if(_.getUint8(0)===255&&_.getUint8(1)===216)for(var W=_.byteLength,re=2;re+1=8&&(j=xe+le)}}}if(j){var ye=_.getUint16(j,E),Bt,Mt;for(Mt=0;Mt=0?j:Et),height:Math.max(E.offsetHeight,W>=0?W:Pe)};this.containerData=re,Qs(V,{width:re.width,height:re.height}),yo(_,ee),Qe(V,ee)},initCanvas:function(){var _=this.containerData,R=this.imageData,E=this.options.viewMode,V=Math.abs(R.rotate)%180===90,j=V?R.naturalHeight:R.naturalWidth,W=V?R.naturalWidth:R.naturalHeight,re=j/W,Te=_.width,xe=_.height;_.height*re>_.width?E===3?Te=_.height*re:xe=_.width/re:E===3?xe=_.width/re:Te=_.height*re;var ie={aspectRatio:re,naturalWidth:j,naturalHeight:W,width:Te,height:xe};this.canvasData=ie,this.limited=E===1||E===2,this.limitCanvas(!0,!0),ie.width=Math.min(Math.max(ie.width,ie.minWidth),ie.maxWidth),ie.height=Math.min(Math.max(ie.height,ie.minHeight),ie.maxHeight),ie.left=(_.width-ie.width)/2,ie.top=(_.height-ie.height)/2,ie.oldLeft=ie.left,ie.oldTop=ie.top,this.initialCanvasData=_t({},ie)},limitCanvas:function(_,R){var E=this.options,V=this.containerData,j=this.canvasData,W=this.cropBoxData,re=E.viewMode,Te=j.aspectRatio,xe=this.cropped&&W;if(_){var ie=Number(E.minCanvasWidth)||0,le=Number(E.minCanvasHeight)||0;re>1?(ie=Math.max(ie,V.width),le=Math.max(le,V.height),re===3&&(le*Te>ie?ie=le*Te:le=ie/Te)):re>0&&(ie?ie=Math.max(ie,xe?W.width:0):le?le=Math.max(le,xe?W.height:0):xe&&(ie=W.width,le=W.height,le*Te>ie?ie=le*Te:le=ie/Te));var ye=Lp({aspectRatio:Te,width:ie,height:le});ie=ye.width,le=ye.height,j.minWidth=ie,j.minHeight=le,j.maxWidth=1/0,j.maxHeight=1/0}if(R)if(re>(xe?0:1)){var Bt=V.width-j.width,Mt=V.height-j.height;j.minLeft=Math.min(0,Bt),j.minTop=Math.min(0,Mt),j.maxLeft=Math.max(0,Bt),j.maxTop=Math.max(0,Mt),xe&&this.limited&&(j.minLeft=Math.min(W.left,W.left+(W.width-j.width)),j.minTop=Math.min(W.top,W.top+(W.height-j.height)),j.maxLeft=W.left,j.maxTop=W.top,re===2&&(j.width>=V.width&&(j.minLeft=Math.min(0,Bt),j.maxLeft=Math.max(0,Bt)),j.height>=V.height&&(j.minTop=Math.min(0,Mt),j.maxTop=Math.max(0,Mt))))}else j.minLeft=-j.width,j.minTop=-j.height,j.maxLeft=V.width,j.maxTop=V.height},renderCanvas:function(_,R){var E=this.canvasData,V=this.imageData;if(R){var j=ale({width:V.naturalWidth*Math.abs(V.scaleX||1),height:V.naturalHeight*Math.abs(V.scaleY||1),degree:V.rotate||0}),W=j.width,re=j.height,Te=E.width*(W/E.naturalWidth),xe=E.height*(re/E.naturalHeight);E.left-=(Te-E.width)/2,E.top-=(xe-E.height)/2,E.width=Te,E.height=xe,E.aspectRatio=W/re,E.naturalWidth=W,E.naturalHeight=re,this.limitCanvas(!0,!1)}(E.width>E.maxWidth||E.widthE.maxHeight||E.heightR.width?j.height=j.width/E:j.width=j.height*E),this.cropBoxData=j,this.limitCropBox(!0,!0),j.width=Math.min(Math.max(j.width,j.minWidth),j.maxWidth),j.height=Math.min(Math.max(j.height,j.minHeight),j.maxHeight),j.width=Math.max(j.minWidth,j.width*V),j.height=Math.max(j.minHeight,j.height*V),j.left=R.left+(R.width-j.width)/2,j.top=R.top+(R.height-j.height)/2,j.oldLeft=j.left,j.oldTop=j.top,this.initialCropBoxData=_t({},j)},limitCropBox:function(_,R){var E=this.options,V=this.containerData,j=this.canvasData,W=this.cropBoxData,re=this.limited,Te=E.aspectRatio;if(_){var xe=Number(E.minCropBoxWidth)||0,ie=Number(E.minCropBoxHeight)||0,le=re?Math.min(V.width,j.width,j.width+j.left,V.width-j.left):V.width,ye=re?Math.min(V.height,j.height,j.height+j.top,V.height-j.top):V.height;xe=Math.min(xe,V.width),ie=Math.min(ie,V.height),Te&&(xe&&ie?ie*Te>xe?ie=xe/Te:xe=ie*Te:xe?ie=xe/Te:ie&&(xe=ie*Te),ye*Te>le?ye=le/Te:le=ye*Te),W.minWidth=Math.min(xe,le),W.minHeight=Math.min(ie,ye),W.maxWidth=le,W.maxHeight=ye}R&&(re?(W.minLeft=Math.max(0,j.left),W.minTop=Math.max(0,j.top),W.maxLeft=Math.min(V.width,j.left+j.width)-W.width,W.maxTop=Math.min(V.height,j.top+j.height)-W.height):(W.minLeft=0,W.minTop=0,W.maxLeft=V.width-W.width,W.maxTop=V.height-W.height))},renderCropBox:function(){var _=this.options,R=this.containerData,E=this.cropBoxData;(E.width>E.maxWidth||E.widthE.maxHeight||E.height=R.width&&E.height>=R.height?O:b),Qs(this.cropBox,_t({width:E.width,height:E.height},Ig({translateX:E.left,translateY:E.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),im(this.element,Ze,this.getData())}},cle={initPreview:function(){var _=this.element,R=this.crossOrigin,E=this.options.preview,V=R?this.crossOriginUrl:this.url,j=_.alt||"The image to preview",W=document.createElement("img");if(R&&(W.crossOrigin=R),W.src=V,W.alt=j,this.viewBox.appendChild(W),this.viewBoxImage=W,!!E){var re=E;typeof E=="string"?re=_.ownerDocument.querySelectorAll(E):E.querySelector&&(re=[E]),this.previews=re,Ft(re,function(Te){var xe=document.createElement("img");Ng(Te,ke,{width:Te.offsetWidth,height:Te.offsetHeight,html:Te.innerHTML}),R&&(xe.crossOrigin=R),xe.src=V,xe.alt=j,xe.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',Te.innerHTML="",Te.appendChild(xe)})}},resetPreview:function(){Ft(this.previews,function(_){var R=$k(_,ke);Qs(_,{width:R.width,height:R.height}),_.innerHTML=R.html,ele(_,ke)})},preview:function(){var _=this.imageData,R=this.canvasData,E=this.cropBoxData,V=E.width,j=E.height,W=_.width,re=_.height,Te=E.left-R.left-_.left,xe=E.top-R.top-_.top;!this.cropped||this.disabled||(Qs(this.viewBoxImage,_t({width:W,height:re},Ig(_t({translateX:-Te,translateY:-xe},_)))),Ft(this.previews,function(ie){var le=$k(ie,ke),ye=le.width,Bt=le.height,Mt=ye,Lr=Bt,Xt=1;V&&(Xt=ye/V,Lr=j*Xt),j&&Lr>Bt&&(Xt=Bt/j,Mt=V*Xt,Lr=Bt),Qs(ie,{width:Mt,height:Lr}),Qs(ie.getElementsByTagName("img")[0],_t({width:W*Xt,height:re*Xt},Ig(_t({translateX:-Te*Xt,translateY:-xe*Xt},_))))}))}},mle={bind:function(){var _=this.element,R=this.options,E=this.cropper;Fe(R.cropstart)&&is(_,We,R.cropstart),Fe(R.cropmove)&&is(_,ct,R.cropmove),Fe(R.cropend)&&is(_,qe,R.cropend),Fe(R.crop)&&is(_,Ze,R.crop),Fe(R.zoom)&&is(_,bt,R.zoom),is(E,ue,this.onCropStart=this.cropStart.bind(this)),R.zoomable&&R.zoomOnWheel&&is(E,yt,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),R.toggleDragModeOnDblclick&&is(E,Ne,this.onDblclick=this.dblclick.bind(this)),is(_.ownerDocument,Ce,this.onCropMove=this.cropMove.bind(this)),is(_.ownerDocument,He,this.onCropEnd=this.cropEnd.bind(this)),R.responsive&&is(window,ot,this.onResize=this.resize.bind(this))},unbind:function(){var _=this.element,R=this.options,E=this.cropper;Fe(R.cropstart)&&ei(_,We,R.cropstart),Fe(R.cropmove)&&ei(_,ct,R.cropmove),Fe(R.cropend)&&ei(_,qe,R.cropend),Fe(R.crop)&&ei(_,Ze,R.crop),Fe(R.zoom)&&ei(_,bt,R.zoom),ei(E,ue,this.onCropStart),R.zoomable&&R.zoomOnWheel&&ei(E,yt,this.onWheel,{passive:!1,capture:!0}),R.toggleDragModeOnDblclick&&ei(E,Ne,this.onDblclick),ei(_.ownerDocument,Ce,this.onCropMove),ei(_.ownerDocument,He,this.onCropEnd),R.responsive&&ei(window,ot,this.onResize)}},hle={resize:function(){if(!this.disabled){var _=this.options,R=this.container,E=this.containerData,V=R.offsetWidth/E.width,j=R.offsetHeight/E.height,W=Math.abs(V-1)>Math.abs(j-1)?V:j;if(W!==1){var re,Te;_.restore&&(re=this.getCanvasData(),Te=this.getCropBoxData()),this.render(),_.restore&&(this.setCanvasData(Ft(re,function(xe,ie){re[ie]=xe*W})),this.setCropBoxData(Ft(Te,function(xe,ie){Te[ie]=xe*W})))}}},dblclick:function(){this.disabled||this.options.dragMode===nt||this.setDragMode(rS(this.dragBox,Y)?Ee:Ve)},wheel:function(_){var R=this,E=Number(this.options.wheelZoomRatio)||.1,V=1;this.disabled||(_.preventDefault(),!this.wheeling&&(this.wheeling=!0,setTimeout(function(){R.wheeling=!1},50),_.deltaY?V=_.deltaY>0?1:-1:_.wheelDelta?V=-_.wheelDelta/120:_.detail&&(V=_.detail>0?1:-1),this.zoom(-V*E,_)))},cropStart:function(_){var R=_.buttons,E=_.button;if(!(this.disabled||(_.type==="mousedown"||_.type==="pointerdown"&&_.pointerType==="mouse")&&($e(R)&&R!==1||$e(E)&&E!==0||_.ctrlKey))){var V=this.options,j=this.pointers,W;_.changedTouches?Ft(_.changedTouches,function(re){j[re.identifier]=aS(re)}):j[_.pointerId||0]=aS(_),Object.keys(j).length>1&&V.zoomable&&V.zoomOnTouch?W=k:W=$k(_.target,Le),he.test(W)&&im(this.element,We,{originalEvent:_,action:W})!==!1&&(_.preventDefault(),this.action=W,this.cropping=!1,W===w&&(this.cropping=!0,yo(this.dragBox,Me)))}},cropMove:function(_){var R=this.action;if(!(this.disabled||!R)){var E=this.pointers;_.preventDefault(),im(this.element,ct,{originalEvent:_,action:R})!==!1&&(_.changedTouches?Ft(_.changedTouches,function(V){_t(E[V.identifier]||{},aS(V,!0))}):_t(E[_.pointerId||0]||{},aS(_,!0)),this.change(_))}},cropEnd:function(_){if(!this.disabled){var R=this.action,E=this.pointers;_.changedTouches?Ft(_.changedTouches,function(V){delete E[V.identifier]}):delete E[_.pointerId||0],R&&(_.preventDefault(),Object.keys(E).length||(this.action=""),this.cropping&&(this.cropping=!1,Qo(this.dragBox,Me,this.cropped&&this.options.modal)),im(this.element,qe,{originalEvent:_,action:R}))}}},xle={change:function(_){var R=this.options,E=this.canvasData,V=this.containerData,j=this.cropBoxData,W=this.pointers,re=this.action,Te=R.aspectRatio,xe=j.left,ie=j.top,le=j.width,ye=j.height,Bt=xe+le,Mt=ie+ye,Lr=0,Xt=0,Fo=V.width,ea=V.height,Co=!0,Al;!Te&&_.shiftKey&&(Te=le&&ye?le/ye:1),this.limited&&(Lr=j.minLeft,Xt=j.minTop,Fo=Lr+Math.min(V.width,E.width,E.left+E.width),ea=Xt+Math.min(V.height,E.height,E.top+E.height));var In=W[Object.keys(W)[0]],Oe={x:In.endX-In.startX,y:In.endY-In.startY},Jt=function(ls){switch(ls){case M:Bt+Oe.x>Fo&&(Oe.x=Fo-Bt);break;case N:xe+Oe.xea&&(Oe.y=ea-Mt);break}};switch(re){case b:xe+=Oe.x,ie+=Oe.y;break;case M:if(Oe.x>=0&&(Bt>=Fo||Te&&(ie<=Xt||Mt>=ea))){Co=!1;break}Jt(M),le+=Oe.x,le<0&&(re=N,le=-le,xe-=le),Te&&(ye=le/Te,ie+=(j.height-ye)/2);break;case B:if(Oe.y<=0&&(ie<=Xt||Te&&(xe<=Lr||Bt>=Fo))){Co=!1;break}Jt(B),ye-=Oe.y,ie+=Oe.y,ye<0&&(re=S,ye=-ye,ie-=ye),Te&&(le=ye*Te,xe+=(j.width-le)/2);break;case N:if(Oe.x<=0&&(xe<=Lr||Te&&(ie<=Xt||Mt>=ea))){Co=!1;break}Jt(N),le-=Oe.x,xe+=Oe.x,le<0&&(re=M,le=-le,xe-=le),Te&&(ye=le/Te,ie+=(j.height-ye)/2);break;case S:if(Oe.y>=0&&(Mt>=ea||Te&&(xe<=Lr||Bt>=Fo))){Co=!1;break}Jt(S),ye+=Oe.y,ye<0&&(re=B,ye=-ye,ie-=ye),Te&&(le=ye*Te,xe+=(j.width-le)/2);break;case $:if(Te){if(Oe.y<=0&&(ie<=Xt||Bt>=Fo)){Co=!1;break}Jt(B),ye-=Oe.y,ie+=Oe.y,le=ye*Te}else Jt(B),Jt(M),Oe.x>=0?BtXt&&(ye-=Oe.y,ie+=Oe.y):(ye-=Oe.y,ie+=Oe.y);le<0&&ye<0?(re=L,ye=-ye,le=-le,ie-=ye,xe-=le):le<0?(re=K,le=-le,xe-=le):ye<0&&(re=G,ye=-ye,ie-=ye);break;case K:if(Te){if(Oe.y<=0&&(ie<=Xt||xe<=Lr)){Co=!1;break}Jt(B),ye-=Oe.y,ie+=Oe.y,le=ye*Te,xe+=j.width-le}else Jt(B),Jt(N),Oe.x<=0?xe>Lr?(le-=Oe.x,xe+=Oe.x):Oe.y<=0&&ie<=Xt&&(Co=!1):(le-=Oe.x,xe+=Oe.x),Oe.y<=0?ie>Xt&&(ye-=Oe.y,ie+=Oe.y):(ye-=Oe.y,ie+=Oe.y);le<0&&ye<0?(re=G,ye=-ye,le=-le,ie-=ye,xe-=le):le<0?(re=$,le=-le,xe-=le):ye<0&&(re=L,ye=-ye,ie-=ye);break;case L:if(Te){if(Oe.x<=0&&(xe<=Lr||Mt>=ea)){Co=!1;break}Jt(N),le-=Oe.x,xe+=Oe.x,ye=le/Te}else Jt(S),Jt(N),Oe.x<=0?xe>Lr?(le-=Oe.x,xe+=Oe.x):Oe.y>=0&&Mt>=ea&&(Co=!1):(le-=Oe.x,xe+=Oe.x),Oe.y>=0?Mt=0&&(Bt>=Fo||Mt>=ea)){Co=!1;break}Jt(M),le+=Oe.x,ye=le/Te}else Jt(S),Jt(M),Oe.x>=0?Bt=0&&Mt>=ea&&(Co=!1):le+=Oe.x,Oe.y>=0?Mt0?re=Oe.y>0?G:$:Oe.x<0&&(xe-=le,re=Oe.y>0?L:K),Oe.y<0&&(ie-=ye),this.cropped||(Qe(this.cropBox,ee),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0));break}Co&&(j.width=le,j.height=ye,j.left=xe,j.top=ie,this.action=re,this.renderCropBox()),Ft(W,function(Bo){Bo.startX=Bo.endX,Bo.startY=Bo.endY})}},gle={crop:function(){return this.ready&&!this.cropped&&!this.disabled&&(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&yo(this.dragBox,Me),Qe(this.cropBox,ee),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=_t({},this.initialImageData),this.canvasData=_t({},this.initialCanvasData),this.cropBoxData=_t({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(_t(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),Qe(this.dragBox,Me),yo(this.cropBox,ee)),this},replace:function(_){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return!this.disabled&&_&&(this.isImg&&(this.element.src=_),R?(this.url=_,this.image.src=_,this.ready&&(this.viewBoxImage.src=_,Ft(this.previews,function(E){E.getElementsByTagName("img")[0].src=_}))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(_))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,Qe(this.cropper,oe)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,yo(this.cropper,oe)),this},destroy:function(){var _=this.element;return _[v]?(_[v]=void 0,this.isImg&&this.replaced&&(_.src=this.originalUrl),this.uncreate(),this):this},move:function(_){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_,E=this.canvasData,V=E.left,j=E.top;return this.moveTo(q(_)?_:V+Number(_),q(R)?R:j+Number(R))},moveTo:function(_){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_,E=this.canvasData,V=!1;return _=Number(_),R=Number(R),this.ready&&!this.disabled&&this.options.movable&&($e(_)&&(E.left=_,V=!0),$e(R)&&(E.top=R,V=!0),V&&this.renderCanvas(!0)),this},zoom:function(_,R){var E=this.canvasData;return _=Number(_),_<0?_=1/(1-_):_=1+_,this.zoomTo(E.width*_/E.naturalWidth,null,R)},zoomTo:function(_,R,E){var V=this.options,j=this.canvasData,W=j.width,re=j.height,Te=j.naturalWidth,xe=j.naturalHeight;if(_=Number(_),_>=0&&this.ready&&!this.disabled&&V.zoomable){var ie=Te*_,le=xe*_;if(im(this.element,bt,{ratio:_,oldRatio:W/Te,originalEvent:E})===!1)return this;if(E){var ye=this.pointers,Bt=nL(this.cropper),Mt=ye&&Object.keys(ye).length?ole(ye):{pageX:E.pageX,pageY:E.pageY};j.left-=(ie-W)*((Mt.pageX-Bt.left-j.left)/W),j.top-=(le-re)*((Mt.pageY-Bt.top-j.top)/re)}else _e(R)&&$e(R.x)&&$e(R.y)?(j.left-=(ie-W)*((R.x-j.left)/W),j.top-=(le-re)*((R.y-j.top)/re)):(j.left-=(ie-W)/2,j.top-=(le-re)/2);j.width=ie,j.height=le,this.renderCanvas(!0)}return this},rotate:function(_){return this.rotateTo((this.imageData.rotate||0)+Number(_))},rotateTo:function(_){return _=Number(_),$e(_)&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=_%360,this.renderCanvas(!0,!0)),this},scaleX:function(_){var R=this.imageData.scaleY;return this.scale(_,$e(R)?R:1)},scaleY:function(_){var R=this.imageData.scaleX;return this.scale($e(R)?R:1,_)},scale:function(_){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_,E=this.imageData,V=!1;return _=Number(_),R=Number(R),this.ready&&!this.disabled&&this.options.scalable&&($e(_)&&(E.scaleX=_,V=!0),$e(R)&&(E.scaleY=R,V=!0),V&&this.renderCanvas(!0,!0)),this},getData:function(){var _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,R=this.options,E=this.imageData,V=this.canvasData,j=this.cropBoxData,W;if(this.ready&&this.cropped){W={x:j.left-V.left,y:j.top-V.top,width:j.width,height:j.height};var re=E.width/E.naturalWidth;if(Ft(W,function(ie,le){W[le]=ie/re}),_){var Te=Math.round(W.y+W.height),xe=Math.round(W.x+W.width);W.x=Math.round(W.x),W.y=Math.round(W.y),W.width=xe-W.x,W.height=Te-W.y}}else W={x:0,y:0,width:0,height:0};return R.rotatable&&(W.rotate=E.rotate||0),R.scalable&&(W.scaleX=E.scaleX||1,W.scaleY=E.scaleY||1),W},setData:function(_){var R=this.options,E=this.imageData,V=this.canvasData,j={};if(this.ready&&!this.disabled&&_e(_)){var W=!1;R.rotatable&&$e(_.rotate)&&_.rotate!==E.rotate&&(E.rotate=_.rotate,W=!0),R.scalable&&($e(_.scaleX)&&_.scaleX!==E.scaleX&&(E.scaleX=_.scaleX,W=!0),$e(_.scaleY)&&_.scaleY!==E.scaleY&&(E.scaleY=_.scaleY,W=!0)),W&&this.renderCanvas(!0,!0);var re=E.width/E.naturalWidth;$e(_.x)&&(j.left=_.x*re+V.left),$e(_.y)&&(j.top=_.y*re+V.top),$e(_.width)&&(j.width=_.width*re),$e(_.height)&&(j.height=_.height*re),this.setCropBoxData(j)}return this},getContainerData:function(){return this.ready?_t({},this.containerData):{}},getImageData:function(){return this.sized?_t({},this.imageData):{}},getCanvasData:function(){var _=this.canvasData,R={};return this.ready&&Ft(["left","top","width","height","naturalWidth","naturalHeight"],function(E){R[E]=_[E]}),R},setCanvasData:function(_){var R=this.canvasData,E=R.aspectRatio;return this.ready&&!this.disabled&&_e(_)&&($e(_.left)&&(R.left=_.left),$e(_.top)&&(R.top=_.top),$e(_.width)?(R.width=_.width,R.height=_.width/E):$e(_.height)&&(R.height=_.height,R.width=_.height*E),this.renderCanvas(!0)),this},getCropBoxData:function(){var _=this.cropBoxData,R;return this.ready&&this.cropped&&(R={left:_.left,top:_.top,width:_.width,height:_.height}),R||{}},setCropBoxData:function(_){var R=this.cropBoxData,E=this.options.aspectRatio,V,j;return this.ready&&this.cropped&&!this.disabled&&_e(_)&&($e(_.left)&&(R.left=_.left),$e(_.top)&&(R.top=_.top),$e(_.width)&&_.width!==R.width&&(V=!0,R.width=_.width),$e(_.height)&&_.height!==R.height&&(j=!0,R.height=_.height),E&&(V?R.height=R.width/E:j&&(R.width=R.height*E)),this.renderCropBox()),this},getCroppedCanvas:function(){var _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var R=this.canvasData,E=nle(this.image,this.imageData,R,_);if(!this.cropped)return E;var V=this.getData(_.rounded),j=V.x,W=V.y,re=V.width,Te=V.height,xe=E.width/Math.floor(R.naturalWidth);xe!==1&&(j*=xe,W*=xe,re*=xe,Te*=xe);var ie=re/Te,le=Lp({aspectRatio:ie,width:_.maxWidth||1/0,height:_.maxHeight||1/0}),ye=Lp({aspectRatio:ie,width:_.minWidth||0,height:_.minHeight||0},"cover"),Bt=Lp({aspectRatio:ie,width:_.width||(xe!==1?E.width:re),height:_.height||(xe!==1?E.height:Te)}),Mt=Bt.width,Lr=Bt.height;Mt=Math.min(le.width,Math.max(ye.width,Mt)),Lr=Math.min(le.height,Math.max(ye.height,Lr));var Xt=document.createElement("canvas"),Fo=Xt.getContext("2d");Xt.width=jp(Mt),Xt.height=jp(Lr),Fo.fillStyle=_.fillColor||"transparent",Fo.fillRect(0,0,Mt,Lr);var ea=_.imageSmoothingEnabled,Co=ea===void 0?!0:ea,Al=_.imageSmoothingQuality;Fo.imageSmoothingEnabled=Co,Al&&(Fo.imageSmoothingQuality=Al);var In=E.width,Oe=E.height,Jt=j,Bo=W,ls,Ml,Fu,Bu,zp,zi;Jt<=-re||Jt>In?(Jt=0,ls=0,Fu=0,zp=0):Jt<=0?(Fu=-Jt,Jt=0,ls=Math.min(In,re+Jt),zp=ls):Jt<=In&&(Fu=0,ls=Math.min(re,In-Jt),zp=ls),ls<=0||Bo<=-Te||Bo>Oe?(Bo=0,Ml=0,Bu=0,zi=0):Bo<=0?(Bu=-Bo,Bo=0,Ml=Math.min(Oe,Te+Bo),zi=Ml):Bo<=Oe&&(Bu=0,Ml=Math.min(Te,Oe-Bo),zi=Ml);var fn=[Jt,Bo,ls,Ml];if(zp>0&&zi>0){var ju=Mt/re;fn.push(Fu*ju,Bu*ju,zp*ju,zi*ju)}return Fo.drawImage.apply(Fo,[E].concat(l(fn.map(function(nS){return Math.floor(jp(nS))})))),Xt},setAspectRatio:function(_){var R=this.options;return!this.disabled&&!q(_)&&(R.aspectRatio=Math.max(0,_)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(_){var R=this.options,E=this.dragBox,V=this.face;if(this.ready&&!this.disabled){var j=_===Ve,W=R.movable&&_===Ee;_=j||W?_:nt,R.dragMode=_,Ng(E,Le,_),Qo(E,Y,j),Qo(E,Ge,W),R.cropBoxMovable||(Ng(V,Le,_),Qo(V,Y,j),Qo(V,Ge,W))}return this}},yle=h.Cropper,pL=function(){function I(_){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(n(this,I),!_||!vt.test(_.tagName))throw new Error("The first argument is required and must be an or element.");this.element=_,this.options=_t({},qt,_e(R)&&R),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return i(I,[{key:"init",value:function(){var R=this.element,E=R.tagName.toLowerCase(),V;if(!R[v]){if(R[v]=this,E==="img"){if(this.isImg=!0,V=R.getAttribute("src")||"",this.originalUrl=V,!V)return;V=R.src}else E==="canvas"&&window.HTMLCanvasElement&&(V=R.toDataURL());this.load(V)}}},{key:"load",value:function(R){var E=this;if(R){this.url=R,this.imageData={};var V=this.element,j=this.options;if(!j.rotatable&&!j.scalable&&(j.checkOrientation=!1),!j.checkOrientation||!window.ArrayBuffer){this.clone();return}if(De.test(R)){gt.test(R)?this.read(lle(R)):this.clone();return}var W=new XMLHttpRequest,re=this.clone.bind(this);this.reloading=!0,this.xhr=W,W.onabort=re,W.onerror=re,W.ontimeout=re,W.onprogress=function(){W.getResponseHeader("content-type")!==Ie&&W.abort()},W.onload=function(){E.read(W.response)},W.onloadend=function(){E.reloading=!1,E.xhr=null},j.checkCrossOrigin&&sL(R)&&V.crossOrigin&&(R=iL(R)),W.open("GET",R,!0),W.responseType="arraybuffer",W.withCredentials=V.crossOrigin==="use-credentials",W.send()}}},{key:"read",value:function(R){var E=this.options,V=this.imageData,j=dle(R),W=0,re=1,Te=1;if(j>1){this.url=ple(R,Ie);var xe=ule(j);W=xe.rotate,re=xe.scaleX,Te=xe.scaleY}E.rotatable&&(V.rotate=W),E.scalable&&(V.scaleX=re,V.scaleY=Te),this.clone()}},{key:"clone",value:function(){var R=this.element,E=this.url,V=R.crossOrigin,j=E;this.options.checkCrossOrigin&&sL(E)&&(V||(V="anonymous"),j=iL(E)),this.crossOrigin=V,this.crossOriginUrl=j;var W=document.createElement("img");V&&(W.crossOrigin=V),W.src=j||E,W.alt=R.alt||"The image to crop",this.image=W,W.onload=this.start.bind(this),W.onerror=this.stop.bind(this),yo(W,se),R.parentNode.insertBefore(W,R.nextSibling)}},{key:"start",value:function(){var R=this,E=this.image;E.onload=null,E.onerror=null,this.sizing=!0;var V=h.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(h.navigator.userAgent),j=function(xe,ie){_t(R.imageData,{naturalWidth:xe,naturalHeight:ie,aspectRatio:xe/ie}),R.initialImageData=_t({},R.imageData),R.sizing=!1,R.sized=!0,R.build()};if(E.naturalWidth&&!V){j(E.naturalWidth,E.naturalHeight);return}var W=document.createElement("img"),re=document.body||document.documentElement;this.sizingImage=W,W.onload=function(){j(W.width,W.height),V||re.removeChild(W)},W.src=E.src,V||(W.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",re.appendChild(W))}},{key:"stop",value:function(){var R=this.image;R.onload=null,R.onerror=null,R.parentNode.removeChild(R),this.image=null}},{key:"build",value:function(){if(!(!this.sized||this.ready)){var R=this.element,E=this.options,V=this.image,j=R.parentNode,W=document.createElement("div");W.innerHTML=Pt;var re=W.querySelector(".".concat(v,"-container")),Te=re.querySelector(".".concat(v,"-canvas")),xe=re.querySelector(".".concat(v,"-drag-box")),ie=re.querySelector(".".concat(v,"-crop-box")),le=ie.querySelector(".".concat(v,"-face"));this.container=j,this.cropper=re,this.canvas=Te,this.dragBox=xe,this.cropBox=ie,this.viewBox=re.querySelector(".".concat(v,"-view-box")),this.face=le,Te.appendChild(V),yo(R,ee),j.insertBefore(re,R.nextSibling),Qe(V,se),this.initPreview(),this.bind(),E.initialAspectRatio=Math.max(0,E.initialAspectRatio)||NaN,E.aspectRatio=Math.max(0,E.aspectRatio)||NaN,E.viewMode=Math.max(0,Math.min(3,Math.round(E.viewMode)))||0,yo(ie,ee),E.guides||yo(ie.getElementsByClassName("".concat(v,"-dashed")),ee),E.center||yo(ie.getElementsByClassName("".concat(v,"-center")),ee),E.background&&yo(re,"".concat(v,"-bg")),E.highlight||yo(le,Ae),E.cropBoxMovable&&(yo(le,Ge),Ng(le,Le,b)),E.cropBoxResizable||(yo(ie.getElementsByClassName("".concat(v,"-line")),ee),yo(ie.getElementsByClassName("".concat(v,"-point")),ee)),this.render(),this.ready=!0,this.setDragMode(E.dragMode),E.autoCrop&&this.crop(),this.setData(E.data),Fe(E.ready)&&is(R,Ke,E.ready,{once:!0}),im(R,Ke)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var R=this.cropper.parentNode;R&&R.removeChild(this.cropper),Qe(this.element,ee)}}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}],[{key:"noConflict",value:function(){return window.Cropper=yle,I}},{key:"setDefaults",value:function(R){_t(qt,_e(R)&&R)}}])}();return _t(pL.prototype,fle,cle,mle,hle,xle,gle),pL})});var rL=y(P()),Zie=y(Tw());var ai="$$material";function ze(e,t){if(e==null)return{};var r={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(t.includes(o))continue;r[o]=e[o]}return r}var gf=y(th());pt();var QR=y(bs());pt();var nfe=["values","unit","step"];var sfe=e=>{let t=Object.keys(e).map(r=>({key:r,val:e[r]}))||[];return t.sort((r,o)=>r.val-o.val),t.reduce((r,o)=>Z({},r,{[o.key]:o.val}),{})};function VR(e){let{values:t={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:r="px",step:o=5}=e,a=ze(e,nfe),n=sfe(t),s=Object.keys(n);function i(f){return`@media (min-width:${typeof t[f]=="number"?t[f]:f}${r})`}function p(f){return`@media (max-width:${(typeof t[f]=="number"?t[f]:f)-o/100}${r})`}function l(f,c){let m=s.indexOf(c);return`@media (min-width:${typeof t[f]=="number"?t[f]:f}${r}) and (max-width:${(m!==-1&&typeof t[s[m]]=="number"?t[s[m]]:c)-o/100}${r})`}function d(f){return s.indexOf(f)+1`@media (min-width:${qw[e]}px)`};function ko(e,t,r){let o=e.theme||{};if(Array.isArray(t)){let n=o.breakpoints||b6;return t.reduce((s,i,p)=>(s[n.up(n.keys[p])]=r(t[p]),s),{})}if(typeof t=="object"){let n=o.breakpoints||b6;return Object.keys(t).reduce((s,i)=>{if(Object.keys(n.values||qw).indexOf(i)!==-1){let p=n.up(i);s[p]=r(t[i],i)}else{let p=i;s[p]=t[p]}return s},{})}return r(t)}function v6(e={}){var t;return((t=e.keys)==null?void 0:t.reduce((o,a)=>{let n=e.up(a);return o[n]={},o},{}))||{}}function T6(e,t){return e.reduce((r,o)=>{let a=r[o];return(!a||Object.keys(a).length===0)&&delete r[o],r},t)}function pfe(e,t){if(typeof e!="object")return{};let r={},o=Object.keys(t);return Array.isArray(e)?o.forEach((a,n)=>{n{e[a]!=null&&(r[a]=!0)}),r}function oh({values:e,breakpoints:t,base:r}){let o=r||pfe(e,t),a=Object.keys(o);if(a.length===0)return e;let n;return a.reduce((s,i,p)=>(Array.isArray(e)?(s[i]=e[p]!=null?e[p]:e[n],n=p):typeof e=="object"?(s[i]=e[i]!=null?e[i]:e[n],n=i):s[i]=e,s),{})}var w6=y(lf());function ah(e,t,r=!0){if(!t||typeof t!="string")return null;if(e&&e.vars&&r){let o=`vars.${t}`.split(".").reduce((a,n)=>a&&a[n]?a[n]:null,e);if(o!=null)return o}return t.split(".").reduce((o,a)=>o&&o[a]!=null?o[a]:null,e)}function Jy(e,t,r,o=r){let a;return typeof e=="function"?a=e(r):Array.isArray(e)?a=e[r]||o:a=ah(e,r)||o,t&&(a=t(a,o,e)),a}function hfe(e){let{prop:t,cssProperty:r=e.prop,themeKey:o,transform:a}=e,n=s=>{if(s[t]==null)return null;let i=s[t],p=s.theme,l=ah(p,o)||{};return ko(s,i,u=>{let f=Jy(l,a,u);return u===f&&typeof u=="string"&&(f=Jy(l,a,`${t}${u==="default"?"":(0,w6.default)(u)}`,u)),r===!1?f:{[r]:f}})};return n.propTypes={},n.filterProps=[t],n}var Mr=hfe;function GR(e){let t={};return r=>(t[r]===void 0&&(t[r]=e(r)),t[r])}var xfe={m:"margin",p:"padding"},gfe={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},_6={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},yfe=GR(e=>{if(e.length>2)if(_6[e])e=_6[e];else return[e];let[t,r]=e.split(""),o=xfe[t],a=gfe[r]||"";return Array.isArray(a)?a.map(n=>o+n):[o+a]}),qR=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],KR=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"],C6=[...qR,...KR];function pf(e,t,r,o){var a;let n=(a=ah(e,t,!1))!=null?a:r;return typeof n=="number"?s=>typeof s=="string"?s:n*s:Array.isArray(n)?s=>typeof s=="string"?s:n[s]:typeof n=="function"?n:()=>{}}function XR(e){return pf(e,"spacing",8,"spacing")}function df(e,t){if(typeof t=="string"||t==null)return t;let r=Math.abs(t),o=e(r);return t>=0?o:typeof o=="number"?-o:`-${o}`}function bfe(e,t){return r=>e.reduce((o,a)=>(o[a]=df(t,r),o),{})}function vfe(e,t,r,o){if(t.indexOf(r)===-1)return null;let a=yfe(r),n=bfe(a,o),s=e[r];return ko(e,s,n)}function JR(e,t){let r=XR(e.theme);return Object.keys(e).map(o=>vfe(e,t,o,r)).reduce(ud,{})}function qr(e){return JR(e,qR)}qr.propTypes={};qr.filterProps=qR;function Kr(e){return JR(e,KR)}Kr.propTypes={};Kr.filterProps=KR;function O6(e){return JR(e,C6)}O6.propTypes={};O6.filterProps=C6;function YR(e=8){if(e.mui)return e;let t=XR({spacing:e}),r=(...o)=>(o.length===0?[1]:o).map(n=>{let s=t(n);return typeof s=="number"?`${s}px`:s}).join(" ");return r.mui=!0,r}var k6=y(lf());function Tfe(...e){let t=e.reduce((o,a)=>(a.filterProps.forEach(n=>{o[n]=a}),o),{}),r=o=>Object.keys(o).reduce((a,n)=>t[n]?ud(a,t[n](o)):a,{});return r.propTypes={},r.filterProps=e.reduce((o,a)=>o.concat(a.filterProps),[]),r}var fd=Tfe;function zn(e){return typeof e!="number"?e:`${e}px solid`}function vs(e,t){return Mr({prop:e,themeKey:"borders",transform:t})}var Sfe=vs("border",zn),wfe=vs("borderTop",zn),_fe=vs("borderRight",zn),Cfe=vs("borderBottom",zn),Ofe=vs("borderLeft",zn),kfe=vs("borderColor"),Efe=vs("borderTopColor"),Pfe=vs("borderRightColor"),Rfe=vs("borderBottomColor"),Dfe=vs("borderLeftColor"),Afe=vs("outline",zn),Mfe=vs("outlineColor"),Yy=e=>{if(e.borderRadius!==void 0&&e.borderRadius!==null){let t=pf(e.theme,"shape.borderRadius",4,"borderRadius"),r=o=>({borderRadius:df(t,o)});return ko(e,e.borderRadius,r)}return null};Yy.propTypes={};Yy.filterProps=["borderRadius"];var q$e=fd(Sfe,wfe,_fe,Cfe,Ofe,kfe,Efe,Pfe,Rfe,Dfe,Yy,Afe,Mfe);var Zy=e=>{if(e.gap!==void 0&&e.gap!==null){let t=pf(e.theme,"spacing",8,"gap"),r=o=>({gap:df(t,o)});return ko(e,e.gap,r)}return null};Zy.propTypes={};Zy.filterProps=["gap"];var Qy=e=>{if(e.columnGap!==void 0&&e.columnGap!==null){let t=pf(e.theme,"spacing",8,"columnGap"),r=o=>({columnGap:df(t,o)});return ko(e,e.columnGap,r)}return null};Qy.propTypes={};Qy.filterProps=["columnGap"];var eb=e=>{if(e.rowGap!==void 0&&e.rowGap!==null){let t=pf(e.theme,"spacing",8,"rowGap"),r=o=>({rowGap:df(t,o)});return ko(e,e.rowGap,r)}return null};eb.propTypes={};eb.filterProps=["rowGap"];var Nfe=Mr({prop:"gridColumn"}),Ife=Mr({prop:"gridRow"}),Ffe=Mr({prop:"gridAutoFlow"}),Bfe=Mr({prop:"gridAutoColumns"}),jfe=Mr({prop:"gridAutoRows"}),Lfe=Mr({prop:"gridTemplateColumns"}),zfe=Mr({prop:"gridTemplateRows"}),Wfe=Mr({prop:"gridTemplateAreas"}),Ufe=Mr({prop:"gridArea"}),Q$e=fd(Zy,Qy,eb,Nfe,Ife,Ffe,Bfe,jfe,Lfe,zfe,Wfe,Ufe);function uf(e,t){return t==="grey"?t:e}var Vfe=Mr({prop:"color",themeKey:"palette",transform:uf}),Hfe=Mr({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:uf}),$fe=Mr({prop:"backgroundColor",themeKey:"palette",transform:uf}),o7e=fd(Vfe,Hfe,$fe);function gn(e){return e<=1&&e!==0?`${e*100}%`:e}var Gfe=Mr({prop:"width",transform:gn}),Kw=e=>{if(e.maxWidth!==void 0&&e.maxWidth!==null){let t=r=>{var o,a;let n=((o=e.theme)==null||(o=o.breakpoints)==null||(o=o.values)==null?void 0:o[r])||qw[r];return n?((a=e.theme)==null||(a=a.breakpoints)==null?void 0:a.unit)!=="px"?{maxWidth:`${n}${e.theme.breakpoints.unit}`}:{maxWidth:n}:{maxWidth:gn(r)}};return ko(e,e.maxWidth,t)}return null};Kw.filterProps=["maxWidth"];var qfe=Mr({prop:"minWidth",transform:gn}),Kfe=Mr({prop:"height",transform:gn}),Xfe=Mr({prop:"maxHeight",transform:gn}),Jfe=Mr({prop:"minHeight",transform:gn}),l7e=Mr({prop:"size",cssProperty:"width",transform:gn}),p7e=Mr({prop:"size",cssProperty:"height",transform:gn}),Yfe=Mr({prop:"boxSizing"}),d7e=fd(Gfe,Kw,qfe,Kfe,Xfe,Jfe,Yfe);var Zfe={border:{themeKey:"borders",transform:zn},borderTop:{themeKey:"borders",transform:zn},borderRight:{themeKey:"borders",transform:zn},borderBottom:{themeKey:"borders",transform:zn},borderLeft:{themeKey:"borders",transform:zn},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:zn},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:Yy},color:{themeKey:"palette",transform:uf},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:uf},backgroundColor:{themeKey:"palette",transform:uf},p:{style:Kr},pt:{style:Kr},pr:{style:Kr},pb:{style:Kr},pl:{style:Kr},px:{style:Kr},py:{style:Kr},padding:{style:Kr},paddingTop:{style:Kr},paddingRight:{style:Kr},paddingBottom:{style:Kr},paddingLeft:{style:Kr},paddingX:{style:Kr},paddingY:{style:Kr},paddingInline:{style:Kr},paddingInlineStart:{style:Kr},paddingInlineEnd:{style:Kr},paddingBlock:{style:Kr},paddingBlockStart:{style:Kr},paddingBlockEnd:{style:Kr},m:{style:qr},mt:{style:qr},mr:{style:qr},mb:{style:qr},ml:{style:qr},mx:{style:qr},my:{style:qr},margin:{style:qr},marginTop:{style:qr},marginRight:{style:qr},marginBottom:{style:qr},marginLeft:{style:qr},marginX:{style:qr},marginY:{style:qr},marginInline:{style:qr},marginInlineStart:{style:qr},marginInlineEnd:{style:qr},marginBlock:{style:qr},marginBlockStart:{style:qr},marginBlockEnd:{style:qr},displayPrint:{cssProperty:!1,transform:e=>({"@media print":{display:e}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:Zy},rowGap:{style:eb},columnGap:{style:Qy},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:gn},maxWidth:{style:Kw},minWidth:{transform:gn},height:{transform:gn},maxHeight:{transform:gn},minHeight:{transform:gn},boxSizing:{},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}},nh=Zfe;function Qfe(...e){let t=e.reduce((o,a)=>o.concat(Object.keys(a)),[]),r=new Set(t);return e.every(o=>r.size===Object.keys(o).length)}function ece(e,t){return typeof e=="function"?e(t):e}function tce(){function e(r,o,a,n){let s={[r]:o,theme:a},i=n[r];if(!i)return{[r]:o};let{cssProperty:p=r,themeKey:l,transform:d,style:u}=i;if(o==null)return null;if(l==="typography"&&o==="inherit")return{[r]:o};let f=ah(a,l)||{};return u?u(s):ko(s,o,m=>{let g=Jy(f,d,m);return m===g&&typeof m=="string"&&(g=Jy(f,d,`${r}${m==="default"?"":(0,k6.default)(m)}`,m)),p===!1?g:{[p]:g}})}function t(r){var o;let{sx:a,theme:n={}}=r||{};if(!a)return null;let s=(o=n.unstable_sxConfig)!=null?o:nh;function i(p){let l=p;if(typeof p=="function")l=p(n);else if(typeof p!="object")return p;if(!l)return null;let d=v6(n.breakpoints),u=Object.keys(d),f=d;return Object.keys(l).forEach(c=>{let m=ece(l[c],n);if(m!=null)if(typeof m=="object")if(s[c])f=ud(f,e(c,m,n,s));else{let g=ko({theme:n},m,h=>({[c]:h}));Qfe(g,m)?f[c]=t({sx:m,theme:n}):f=ud(f,g)}else f=ud(f,e(c,m,n,s))}),T6(u,f)}return Array.isArray(a)?a.map(i):i(a)}return t}var E6=tce();E6.filterProps=["sx"];var tb=E6;function ZR(e,t){let r=this;return r.vars&&typeof r.getColorSchemeSelector=="function"?{[r.getColorSchemeSelector(e).replace(/(\[[^\]]+\])/,"*:where($1)")]:t}:r.palette.mode===e?t:{}}var rce=["breakpoints","palette","spacing","shape"];function oce(e={},...t){let{breakpoints:r={},palette:o={},spacing:a,shape:n={}}=e,s=ze(e,rce),i=VR(r),p=YR(a),l=(0,QR.default)({breakpoints:i,direction:"ltr",components:{},palette:Z({mode:"light"},o),spacing:p,shape:Z({},g6,n)},s);return l.applyStyles=ZR,l=t.reduce((d,u)=>(0,QR.default)(d,u),l),l.unstable_sxConfig=Z({},nh,s==null?void 0:s.unstable_sxConfig),l.unstable_sx=function(u){return tb({sx:u,theme:this})},l}var eD=oce;var P6=y(P()),R6=y(th());function ace(e){return Object.keys(e).length===0}function nce(e=null){let t=P6.useContext(R6.ThemeContext);return!t||ace(t)?e:t}var Xw=nce;var sce=eD();function ice(e=sce){return Xw(e)}var ff=ice;pt();var D6=y(bs());var lce=["sx"],pce=e=>{var t,r;let o={systemProps:{},otherProps:{}},a=(t=e==null||(r=e.theme)==null?void 0:r.unstable_sxConfig)!=null?t:nh;return Object.keys(e).forEach(n=>{a[n]?o.systemProps[n]=e[n]:o.otherProps[n]=e[n]}),o};function Jw(e){let{sx:t}=e,r=ze(e,lce),{systemProps:o,otherProps:a}=pce(r),n;return Array.isArray(t)?n=[o,...t]:typeof t=="function"?n=(...s)=>{let i=t(...s);return(0,D6.isPlainObject)(i)?Z({},o,i):o}:n=Z({},o,t),Z({},a,{sx:n})}var A6=e=>e,dce=()=>{let e=A6;return{configure(t){e=t},generate(t){return e(t)},reset(){e=A6}}},uce=dce(),cf=uce;pt();var N6=y(P());function M6(e){var t,r,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;ti!=="theme"&&i!=="sx"&&i!=="as"})(tb);return N6.forwardRef(function(p,l){let d=ff(r),u=Jw(p),{className:f,component:c="div"}=u,m=ze(u,cce);return(0,F6.jsx)(n,Z({as:c,ref:l,className:z(f,a?a(o):o),theme:t&&d[t]||d},m))})}var mce={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function Rt(e,t,r="Mui"){let o=mce[t];return o?`${r}-${o}`:`${cf.generate(e)}-${t}`}function Ct(e,t,r="Mui"){let o={};return t.forEach(a=>{o[a]=Rt(e,a,r)}),o}pt();function md(e,t){let r=Z({},t);return Object.keys(e).forEach(o=>{if(o.toString().match(/^(components|slots)$/))r[o]=Z({},e[o],r[o]);else if(o.toString().match(/^(componentsProps|slotProps)$/)){let a=e[o]||{},n=t[o];r[o]={},!n||!Object.keys(n)?r[o]=a:!a||!Object.keys(a)?r[o]=n:(r[o]=Z({},n),Object.keys(a).forEach(s=>{r[o][s]=md(a[s],n[s])}))}else r[o]===void 0&&(r[o]=e[o])}),r}function oD(e){let{theme:t,name:r,props:o}=e;return!t||!t.components||!t.components[r]||!t.components[r].defaultProps?o:md(t.components[r].defaultProps,o)}function d0({props:e,name:t,defaultTheme:r,themeId:o}){let a=ff(r);return o&&(a=a[o]||a),oD({theme:a,name:t,props:e})}var u0=y(P()),Tce=typeof window!="undefined"?u0.useLayoutEffect:u0.useEffect,rb=Tce;pt();var dW=y(P());pt();var tW=y(P());function c0(...e){return e.reduce((t,r)=>r==null?t:function(...a){t.apply(this,a),r.apply(this,a)},()=>{})}function m0(e,t=166){let r;function o(...a){let n=()=>{e.apply(this,a)};clearTimeout(r),r=setTimeout(n,t)}return o.clear=()=>{clearTimeout(r)},o}function ih(e){return e&&e.ownerDocument||document}function h0(e){return ih(e).defaultView||window}function x0(e,t){typeof e=="function"?e(t):e&&(e.current=t)}var mf=y(P());function g0({controlled:e,default:t,name:r,state:o="value"}){let{current:a}=mf.useRef(e!==void 0),[n,s]=mf.useState(t),i=a?e:n,p=mf.useCallback(l=>{a||s(l)},[]);return[i,p]}var nD=y(P());function Cce(e){let t=nD.useRef(e);return rb(()=>{t.current=e}),nD.useRef((...r)=>(0,t.current)(...r)).current}var sD=Cce;var X6=y(P());function lh(...e){return X6.useMemo(()=>e.every(t=>t==null)?null:t=>{e.forEach(r=>{x0(r,t)})},e)}var Y6=y(P()),J6={};function iD(e,t){let r=Y6.useRef(J6);return r.current===J6&&(r.current=e(t)),r}var Z6=y(P()),Oce=[];function lD(e){Z6.useEffect(e,Oce)}var ob=class e{constructor(){this.currentId=null,this.clear=()=>{this.currentId!==null&&(clearTimeout(this.currentId),this.currentId=null)},this.disposeEffect=()=>this.clear}static create(){return new e}start(t,r){this.clear(),this.currentId=setTimeout(()=>{this.currentId=null,r()},t)}};function y0(){let e=iD(ob.create).current;return lD(e.disposeEffect),e}var b0=y(P());var v0=!0,dD=!1,kce=new ob,Ece={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function Pce(e){let{type:t,tagName:r}=e;return!!(r==="INPUT"&&Ece[t]&&!e.readOnly||r==="TEXTAREA"&&!e.readOnly||e.isContentEditable)}function Rce(e){e.metaKey||e.altKey||e.ctrlKey||(v0=!0)}function pD(){v0=!1}function Dce(){this.visibilityState==="hidden"&&dD&&(v0=!0)}function Ace(e){e.addEventListener("keydown",Rce,!0),e.addEventListener("mousedown",pD,!0),e.addEventListener("pointerdown",pD,!0),e.addEventListener("touchstart",pD,!0),e.addEventListener("visibilitychange",Dce,!0)}function Mce(e){let{target:t}=e;try{return t.matches(":focus-visible")}catch(r){}return v0||Pce(t)}function T0(){let e=b0.useCallback(a=>{a!=null&&Ace(a.ownerDocument)},[]),t=b0.useRef(!1);function r(){return t.current?(dD=!0,kce.start(100,()=>{dD=!1}),t.current=!1,!0):!1}function o(a){return Mce(a)?(t.current=!0,!0):!1}return{isFocusVisibleRef:t,onFocus:o,onBlur:r,ref:e}}var ph;function ab(){if(ph)return ph;let e=document.createElement("div"),t=document.createElement("div");return t.style.width="10px",t.style.height="1px",e.appendChild(t),e.dir="rtl",e.style.fontSize="14px",e.style.width="4px",e.style.height="1px",e.style.position="absolute",e.style.top="-1000px",e.style.overflow="scroll",document.body.appendChild(e),ph="reverse",e.scrollLeft>0?ph="default":(e.scrollLeft=1,e.scrollLeft===0&&(ph="negative")),document.body.removeChild(e),ph}function S0(e,t){let r=e.scrollLeft;if(t!=="rtl")return r;switch(ab()){case"negative":return e.scrollWidth-e.clientWidth+r;case"reverse":return e.scrollWidth-e.clientWidth-r;default:return r}}function Dt(e,t,r=void 0){let o={};return Object.keys(e).forEach(a=>{o[a]=e[a].reduce((n,s)=>{if(s){let i=t(s);i!==""&&n.push(i),r&&r[s]&&n.push(r[s])}return n},[]).join(" ")}),o}pt();pt();function Nce(e){return typeof e=="string"}var uD=Nce;function Ice(e,t,r){return e===void 0||uD(e)?t:Z({},t,{ownerState:Z({},t.ownerState,r)})}var fD=Ice;pt();function Fce(e,t=[]){if(e===void 0)return{};let r={};return Object.keys(e).filter(o=>o.match(/^on[A-Z]/)&&typeof e[o]=="function"&&!t.includes(o)).forEach(o=>{r[o]=e[o]}),r}var cD=Fce;function Bce(e){if(e===void 0)return{};let t={};return Object.keys(e).filter(r=>!(r.match(/^on[A-Z]/)&&typeof e[r]=="function")).forEach(r=>{t[r]=e[r]}),t}var w0=Bce;function jce(e){let{getSlotProps:t,additionalProps:r,externalSlotProps:o,externalForwardedProps:a,className:n}=e;if(!t){let c=z(r==null?void 0:r.className,n,a==null?void 0:a.className,o==null?void 0:o.className),m=Z({},r==null?void 0:r.style,a==null?void 0:a.style,o==null?void 0:o.style),g=Z({},r,a,o);return c.length>0&&(g.className=c),Object.keys(m).length>0&&(g.style=m),{props:g,internalRef:void 0}}let s=cD(Z({},a,o)),i=w0(o),p=w0(a),l=t(s),d=z(l==null?void 0:l.className,r==null?void 0:r.className,n,a==null?void 0:a.className,o==null?void 0:o.className),u=Z({},l==null?void 0:l.style,r==null?void 0:r.style,a==null?void 0:a.style,o==null?void 0:o.style),f=Z({},l,r,p,i);return d.length>0&&(f.className=d),Object.keys(u).length>0&&(f.style=u),{props:f,internalRef:l.ref}}var mD=jce;function Lce(e,t,r){return typeof e=="function"?e(t,r):e}var hD=Lce;var zce=["elementType","externalSlotProps","ownerState","skipResolvingSlotProps"];function Wce(e){var t;let{elementType:r,externalSlotProps:o,ownerState:a,skipResolvingSlotProps:n=!1}=e,s=ze(e,zce),i=n?{}:hD(o,a),{props:p,internalRef:l}=mD(Z({},s,{externalSlotProps:i})),d=lh(l,i==null?void 0:i.ref,(t=e.additionalProps)==null?void 0:t.ref);return fD(r,Z({},p,{ref:d}),a)}var hf=Wce;var Q6=y(P()),Uce=Q6.createContext(null),_0=Uce;var xD=y(P());function xf(){return xD.useContext(_0)}var Vce=typeof Symbol=="function"&&Symbol.for,eW=Vce?Symbol.for("mui.nested"):"__THEME_NESTED__";var rW=y(U());function Hce(e,t){return typeof t=="function"?t(e):Z({},e,t)}function $ce(e){let{children:t,theme:r}=e,o=xf(),a=tW.useMemo(()=>{let n=o===null?r:Hce(o,r);return n!=null&&(n[eW]=o!==null),n},[r,o]);return(0,rW.jsx)(_0.Provider,{value:a,children:t})}var C0=$ce;var uW=y(th());pt();var O0=y(P());var oW=y(U()),Gce=["value"],aW=O0.createContext();function qce(e){let{value:t}=e,r=ze(e,Gce);return(0,oW.jsx)(aW.Provider,Z({value:t!=null?t:!0},r))}var k0=()=>{let e=O0.useContext(aW);return e!=null?e:!1},nW=qce;var E0=y(P());var sW=y(U()),iW=E0.createContext(void 0);function Kce({value:e,children:t}){return(0,sW.jsx)(iW.Provider,{value:e,children:t})}function Xce(e){let{theme:t,name:r,props:o}=e;if(!t||!t.components||!t.components[r])return o;let a=t.components[r];return a.defaultProps?md(a.defaultProps,o):!a.styleOverrides&&!a.variants?md(a,o):o}function gD({props:e,name:t}){let r=E0.useContext(iW);return Xce({props:e,name:t,theme:{components:r}})}var P0=Kce;var nb=y(U()),lW={};function pW(e,t,r,o=!1){return dW.useMemo(()=>{let a=e&&t[e]||t;if(typeof r=="function"){let n=r(a),s=e?Z({},t,{[e]:n}):n;return o?()=>s:s}return e?Z({},t,{[e]:r}):Z({},t,r)},[e,t,r,o])}function Jce(e){let{children:t,theme:r,themeId:o}=e,a=Xw(lW),n=xf()||lW,s=pW(o,a,r),i=pW(o,n,r,!0),p=s.direction==="rtl";return(0,nb.jsx)(C0,{theme:i,children:(0,nb.jsx)(uW.ThemeContext.Provider,{value:s,children:(0,nb.jsx)(nW,{value:p,children:(0,nb.jsx)(P0,{value:s==null?void 0:s.components,children:t})})})})}var R0=Jce;pt();var i9=y(jy()),G0=y(bs()),q0=y(U0()),l9=y(XD());pt();function JD(e,t){return Z({toolbar:{minHeight:56,[e.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[e.up("sm")]:{minHeight:64}}},t)}pt();var tA=y(jy()),e9=y(bs()),yh=y(hh());var txe={black:"#000",white:"#fff"},xh=txe;var rxe={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},YW=rxe;var oxe={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},Sf=oxe;var axe={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},wf=axe;var nxe={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},gh=nxe;var sxe={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},_f=sxe;var ixe={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},Cf=ixe;var lxe={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},Of=lxe;var pxe=["mode","contrastThreshold","tonalOffset"],ZW={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:xh.white,default:xh.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},eA={text:{primary:xh.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:xh.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function QW(e,t,r,o){let a=o.light||o,n=o.dark||o*1.5;e[t]||(e.hasOwnProperty(r)?e[t]=e[r]:t==="light"?e.light=(0,yh.lighten)(e.main,a):t==="dark"&&(e.dark=(0,yh.darken)(e.main,n)))}function dxe(e="light"){return e==="dark"?{main:_f[200],light:_f[50],dark:_f[400]}:{main:_f[700],light:_f[400],dark:_f[800]}}function uxe(e="light"){return e==="dark"?{main:Sf[200],light:Sf[50],dark:Sf[400]}:{main:Sf[500],light:Sf[300],dark:Sf[700]}}function fxe(e="light"){return e==="dark"?{main:wf[500],light:wf[300],dark:wf[700]}:{main:wf[700],light:wf[400],dark:wf[800]}}function cxe(e="light"){return e==="dark"?{main:Cf[400],light:Cf[300],dark:Cf[700]}:{main:Cf[700],light:Cf[500],dark:Cf[900]}}function mxe(e="light"){return e==="dark"?{main:Of[400],light:Of[300],dark:Of[700]}:{main:Of[800],light:Of[500],dark:Of[900]}}function hxe(e="light"){return e==="dark"?{main:gh[400],light:gh[300],dark:gh[700]}:{main:"#ed6c02",light:gh[500],dark:gh[900]}}function rA(e){let{mode:t="light",contrastThreshold:r=3,tonalOffset:o=.2}=e,a=ze(e,pxe),n=e.primary||dxe(t),s=e.secondary||uxe(t),i=e.error||fxe(t),p=e.info||cxe(t),l=e.success||mxe(t),d=e.warning||hxe(t);function u(g){return(0,yh.getContrastRatio)(g,eA.text.primary)>=r?eA.text.primary:ZW.text.primary}let f=({color:g,name:h,mainShade:x=500,lightShade:T=300,darkShade:v=700})=>{if(g=Z({},g),!g.main&&g[x]&&(g.main=g[x]),!g.hasOwnProperty("main"))throw new Error((0,tA.default)(11,h?` (${h})`:"",x));if(typeof g.main!="string")throw new Error((0,tA.default)(12,h?` (${h})`:"",JSON.stringify(g.main)));return QW(g,"light",T,o),QW(g,"dark",v,o),g.contrastText||(g.contrastText=u(g.main)),g},c={dark:eA,light:ZW};return(0,e9.default)(Z({common:Z({},xh),mode:t,primary:f({color:n,name:"primary"}),secondary:f({color:s,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:f({color:i,name:"error"}),warning:f({color:d,name:"warning"}),info:f({color:p,name:"info"}),success:f({color:l,name:"success"}),grey:YW,contrastThreshold:r,getContrastText:u,augmentColor:f,tonalOffset:o},c[t]),a)}pt();var o9=y(bs()),xxe=["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"];function gxe(e){return Math.round(e*1e5)/1e5}var t9={textTransform:"uppercase"},r9='"Roboto", "Helvetica", "Arial", sans-serif';function oA(e,t){let r=typeof t=="function"?t(e):t,{fontFamily:o=r9,fontSize:a=14,fontWeightLight:n=300,fontWeightRegular:s=400,fontWeightMedium:i=500,fontWeightBold:p=700,htmlFontSize:l=16,allVariants:d,pxToRem:u}=r,f=ze(r,xxe),c=a/14,m=u||(x=>`${x/l*c}rem`),g=(x,T,v,b,w)=>Z({fontFamily:o,fontWeight:x,fontSize:m(T),lineHeight:v},o===r9?{letterSpacing:`${gxe(b/T)}em`}:{},w,d),h={h1:g(n,96,1.167,-1.5),h2:g(n,60,1.2,-.5),h3:g(s,48,1.167,0),h4:g(s,34,1.235,.25),h5:g(s,24,1.334,0),h6:g(i,20,1.6,.15),subtitle1:g(s,16,1.75,.15),subtitle2:g(i,14,1.57,.1),body1:g(s,16,1.5,.15),body2:g(s,14,1.43,.15),button:g(i,14,1.75,.4,t9),caption:g(s,12,1.66,.4),overline:g(s,12,2.66,1,t9),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return(0,o9.default)(Z({htmlFontSize:l,pxToRem:m,fontFamily:o,fontSize:a,fontWeightLight:n,fontWeightRegular:s,fontWeightMedium:i,fontWeightBold:p},h),f,{clone:!1})}function Wr(...e){return[`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,${.2})`,`${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,${.14})`,`${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,${.12})`].join(",")}var yxe=["none",Wr(0,2,1,-1,0,1,1,0,0,1,3,0),Wr(0,3,1,-2,0,2,2,0,0,1,5,0),Wr(0,3,3,-2,0,3,4,0,0,1,8,0),Wr(0,2,4,-1,0,4,5,0,0,1,10,0),Wr(0,3,5,-1,0,5,8,0,0,1,14,0),Wr(0,3,5,-1,0,6,10,0,0,1,18,0),Wr(0,4,5,-2,0,7,10,1,0,2,16,1),Wr(0,5,5,-3,0,8,10,1,0,3,14,2),Wr(0,5,6,-3,0,9,12,1,0,3,16,2),Wr(0,6,6,-3,0,10,14,1,0,4,18,3),Wr(0,6,7,-4,0,11,15,1,0,4,20,3),Wr(0,7,8,-4,0,12,17,2,0,5,22,4),Wr(0,7,8,-4,0,13,19,2,0,5,24,4),Wr(0,7,9,-4,0,14,21,2,0,5,26,4),Wr(0,8,9,-5,0,15,22,2,0,6,28,5),Wr(0,8,10,-5,0,16,24,2,0,6,30,5),Wr(0,8,11,-5,0,17,26,2,0,6,32,5),Wr(0,9,11,-5,0,18,28,2,0,7,34,6),Wr(0,9,12,-6,0,19,29,2,0,7,36,6),Wr(0,10,13,-6,0,20,31,3,0,8,38,7),Wr(0,10,13,-6,0,21,33,3,0,8,40,7),Wr(0,10,14,-6,0,22,35,3,0,8,42,7),Wr(0,11,14,-7,0,23,36,3,0,9,44,8),Wr(0,11,15,-7,0,24,38,3,0,9,46,8)],a9=yxe;pt();var bxe=["duration","easing","delay"],vxe={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},Txe={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function n9(e){return`${Math.round(e)}ms`}function Sxe(e){if(!e)return 0;let t=e/36;return Math.round((4+15*t**.25+t/5)*10)}function aA(e){let t=Z({},vxe,e.easing),r=Z({},Txe,e.duration);return Z({getAutoHeightDuration:Sxe,create:(a=["all"],n={})=>{let{duration:s=r.standard,easing:i=t.easeInOut,delay:p=0}=n,l=ze(n,bxe);return(Array.isArray(a)?a:[a]).map(d=>`${d} ${typeof s=="string"?s:n9(s)} ${i} ${typeof p=="string"?p:n9(p)}`).join(",")}},e,{easing:t,duration:r})}var wxe={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500},s9=wxe;var _xe=["breakpoints","mixins","spacing","palette","transitions","typography","shape"];function Cxe(e={},...t){let{mixins:r={},palette:o={},transitions:a={},typography:n={}}=e,s=ze(e,_xe);if(e.vars)throw new Error((0,i9.default)(18));let i=rA(o),p=(0,l9.default)(e),l=(0,G0.default)(p,{mixins:JD(p.breakpoints,r),palette:i,shadows:a9.slice(),typography:oA(i,n),transitions:aA(a),zIndex:Z({},s9)});return l=(0,G0.default)(l,s),l=t.reduce((d,u)=>(0,G0.default)(d,u),l),l.unstable_sxConfig=Z({},q0.unstable_defaultSxConfig,s==null?void 0:s.unstable_sxConfig),l.unstable_sx=function(u){return(0,q0.default)({sx:u,theme:this})},l}var xb=Cxe;var kxe=y(P());var Oxe=xb(),bh=Oxe;function gb(){let e=ff(bh);return e[ai]||e}function K0({props:e,name:t}){return d0({props:e,name:t,defaultTheme:bh,themeId:ai})}var c9=y(u9());function Wxe(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}var f9=Wxe;var Uxe=e=>f9(e)&&e!=="classes",$l=Uxe;var Vxe=(0,c9.default)({themeId:ai,defaultTheme:bh,rootShouldForwardProp:$l}),ut=Vxe;pt();var nYe=y(P());var m9=y(U()),Hxe=["theme"];function Z0(e){let{theme:t}=e,r=ze(e,Hxe),o=t[ai];return(0,m9.jsx)(R0,Z({},r,{themeId:o?ai:void 0,theme:o||t}))}var $xe=e=>{let t;return e<1?t=5.11916*e**2:t=4.5*Math.log(e+1)+2,(t/100).toFixed(2)},sA=$xe;function aa(e,...t){let r=new URL(`https://mui.com/production-error/?code=${e}`);return t.forEach(o=>r.searchParams.append("args[]",o)),`Minified MUI error #${e}; visit ${r} for the full message.`}var Yi="$$material";MR();Qm();af();var TYe=y(P());af();var h9=y(U());function Gxe(e){return e==null||Object.keys(e).length===0}function yb(e){let{styles:t,defaultTheme:r={}}=e;return(0,h9.jsx)(AR,{styles:typeof t=="function"?a=>t(Gxe(a)?r:a):t})}function bb(e,t){return Ky(e,t)}function g9(e,t){Array.isArray(e.__emotion_styles)&&(e.__emotion_styles=t(e.__emotion_styles))}var x9=[];function iA(e){return x9[0]=e,Xi(x9)}var TQe=y(P());var lA=y(P());function Wn(e){if(typeof e!="object"||e===null)return!1;let t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function y9(e){if(lA.isValidElement(e)||!Wn(e))return e;let t={};return Object.keys(e).forEach(r=>{t[r]=y9(e[r])}),t}function pr(e,t,r={clone:!0}){let o=r.clone?{...e}:e;return Wn(e)&&Wn(t)&&Object.keys(t).forEach(a=>{lA.isValidElement(t[a])?o[a]=t[a]:Wn(t[a])&&Object.prototype.hasOwnProperty.call(e,a)&&Wn(e[a])?o[a]=pr(e[a],t[a],r):r.clone?o[a]=Wn(t[a])?y9(t[a]):t[a]:o[a]=t[a]}),o}var qxe=e=>{let t=Object.keys(e).map(r=>({key:r,val:e[r]}))||[];return t.sort((r,o)=>r.val-o.val),t.reduce((r,o)=>({...r,[o.key]:o.val}),{})};function pA(e){let{values:t={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:r="px",step:o=5,...a}=e,n=qxe(t),s=Object.keys(n);function i(f){return`@media (min-width:${typeof t[f]=="number"?t[f]:f}${r})`}function p(f){return`@media (max-width:${(typeof t[f]=="number"?t[f]:f)-o/100}${r})`}function l(f,c){let m=s.indexOf(c);return`@media (min-width:${typeof t[f]=="number"?t[f]:f}${r}) and (max-width:${(m!==-1&&typeof t[s[m]]=="number"?t[s[m]]:c)-o/100}${r})`}function d(f){return s.indexOf(f)+1o.startsWith("@container")).sort((o,a)=>{var s,i;let n=/min-width:\s*([0-9.]+)/;return+(((s=o.match(n))==null?void 0:s[1])||0)-+(((i=a.match(n))==null?void 0:i[1])||0)});return r.length?r.reduce((o,a)=>{let n=t[a];return delete o[a],o[a]=n,o},{...t}):t}function uA(e,t){return t==="@"||t.startsWith("@")&&(e.some(r=>t.startsWith(`@${r}`))||!!t.match(/^@\d/))}function fA(e,t){let r=t.match(/^@([^/]+)?\/?(.+)?$/);if(!r)return null;let[,o,a]=r,n=Number.isNaN(+o)?o||0:+o;return e.containerQueries(a).up(n)}function Q0(e){let t=(n,s)=>n.replace("@media",s?`@container ${s}`:"@container");function r(n,s){n.up=(...i)=>t(e.breakpoints.up(...i),s),n.down=(...i)=>t(e.breakpoints.down(...i),s),n.between=(...i)=>t(e.breakpoints.between(...i),s),n.only=(...i)=>t(e.breakpoints.only(...i),s),n.not=(...i)=>{let p=t(e.breakpoints.not(...i),s);return p.includes("not all and")?p.replace("not all and ","").replace("min-width:","width<").replace("max-width:","width>").replace("and","or"):p}}let o={},a=n=>(r(o,n),o);return r(a),{...e,containerQueries:a}}var Kxe={borderRadius:4},b9=Kxe;function Xxe(e,t){return t?pr(e,t,{clone:!1}):e}var Gl=Xxe;var vb={xs:0,sm:600,md:900,lg:1200,xl:1536},v9={keys:["xs","sm","md","lg","xl"],up:e=>`@media (min-width:${vb[e]}px)`},Jxe={containerQueries:e=>({up:t=>{let r=typeof t=="number"?t:vb[t]||t;return typeof r=="number"&&(r=`${r}px`),e?`@container ${e} (min-width:${r})`:`@container (min-width:${r})`}})};function $a(e,t,r){let o=e.theme||{};if(Array.isArray(t)){let n=o.breakpoints||v9;return t.reduce((s,i,p)=>(s[n.up(n.keys[p])]=r(t[p]),s),{})}if(typeof t=="object"){let n=o.breakpoints||v9;return Object.keys(t).reduce((s,i)=>{if(uA(n.keys,i)){let p=fA(o.containerQueries?o:Jxe,i);p&&(s[p]=r(t[i],i))}else if(Object.keys(n.values||vb).includes(i)){let p=n.up(i);s[p]=r(t[i],i)}else{let p=i;s[p]=t[p]}return s},{})}return r(t)}function T9(e={}){var r;return((r=e.keys)==null?void 0:r.reduce((o,a)=>{let n=e.up(a);return o[n]={},o},{}))||{}}function S9(e,t){return e.reduce((r,o)=>{let a=r[o];return(!a||Object.keys(a).length===0)&&delete r[o],r},t)}function xd(e){if(typeof e!="string")throw new Error(aa(7));return e.charAt(0).toUpperCase()+e.slice(1)}function Sh(e,t,r=!0){if(!t||typeof t!="string")return null;if(e&&e.vars&&r){let o=`vars.${t}`.split(".").reduce((a,n)=>a&&a[n]?a[n]:null,e);if(o!=null)return o}return t.split(".").reduce((o,a)=>o&&o[a]!=null?o[a]:null,e)}function Tb(e,t,r,o=r){let a;return typeof e=="function"?a=e(r):Array.isArray(e)?a=e[r]||o:a=Sh(e,r)||o,t&&(a=t(a,o,e)),a}function Yxe(e){let{prop:t,cssProperty:r=e.prop,themeKey:o,transform:a}=e,n=s=>{if(s[t]==null)return null;let i=s[t],p=s.theme,l=Sh(p,o)||{};return $a(s,i,u=>{let f=Tb(l,a,u);return u===f&&typeof u=="string"&&(f=Tb(l,a,`${t}${u==="default"?"":xd(u)}`,u)),r===!1?f:{[r]:f}})};return n.propTypes={},n.filterProps=[t],n}var Er=Yxe;function e_(e){let t={};return r=>(t[r]===void 0&&(t[r]=e(r)),t[r])}var Zxe={m:"margin",p:"padding"},Qxe={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},w9={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},ege=e_(e=>{if(e.length>2)if(w9[e])e=w9[e];else return[e];let[t,r]=e.split(""),o=Zxe[t],a=Qxe[r]||"";return Array.isArray(a)?a.map(n=>o+n):[o+a]}),cA=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],mA=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"],_9=[...cA,...mA];function kf(e,t,r,o){var n;let a=(n=Sh(e,t,!0))!=null?n:r;return typeof a=="number"||typeof a=="string"?s=>typeof s=="string"?s:typeof a=="string"?`calc(${s} * ${a})`:a*s:Array.isArray(a)?s=>{if(typeof s=="string")return s;let i=Math.abs(s),p=a[i];return s>=0?p:typeof p=="number"?-p:`-${p}`}:typeof a=="function"?a:()=>{}}function Sb(e){return kf(e,"spacing",8,"spacing")}function Ef(e,t){return typeof t=="string"||t==null?t:e(t)}function tge(e,t){return r=>e.reduce((o,a)=>(o[a]=Ef(t,r),o),{})}function rge(e,t,r,o){if(!t.includes(r))return null;let a=ege(r),n=tge(a,o),s=e[r];return $a(e,s,n)}function hA(e,t){let r=Sb(e.theme);return Object.keys(e).map(o=>rge(e,t,o,r)).reduce(Gl,{})}function Jr(e){return hA(e,cA)}Jr.propTypes={};Jr.filterProps=cA;function Yr(e){return hA(e,mA)}Yr.propTypes={};Yr.filterProps=mA;function C9(e){return hA(e,_9)}C9.propTypes={};C9.filterProps=_9;function wh(e=8,t=Sb({spacing:e})){if(e.mui)return e;let r=(...o)=>(o.length===0?[1]:o).map(n=>{let s=t(n);return typeof s=="number"?`${s}px`:s}).join(" ");return r.mui=!0,r}function oge(...e){let t=e.reduce((o,a)=>(a.filterProps.forEach(n=>{o[n]=a}),o),{}),r=o=>Object.keys(o).reduce((a,n)=>t[n]?Gl(a,t[n](o)):a,{});return r.propTypes={},r.filterProps=e.reduce((o,a)=>o.concat(a.filterProps),[]),r}var ql=oge;function Un(e){return typeof e!="number"?e:`${e}px solid`}function Os(e,t){return Er({prop:e,themeKey:"borders",transform:t})}var age=Os("border",Un),nge=Os("borderTop",Un),sge=Os("borderRight",Un),ige=Os("borderBottom",Un),lge=Os("borderLeft",Un),pge=Os("borderColor"),dge=Os("borderTopColor"),uge=Os("borderRightColor"),fge=Os("borderBottomColor"),cge=Os("borderLeftColor"),mge=Os("outline",Un),hge=Os("outlineColor"),wb=e=>{if(e.borderRadius!==void 0&&e.borderRadius!==null){let t=kf(e.theme,"shape.borderRadius",4,"borderRadius"),r=o=>({borderRadius:Ef(t,o)});return $a(e,e.borderRadius,r)}return null};wb.propTypes={};wb.filterProps=["borderRadius"];var TZe=ql(age,nge,sge,ige,lge,pge,dge,uge,fge,cge,wb,mge,hge);var _b=e=>{if(e.gap!==void 0&&e.gap!==null){let t=kf(e.theme,"spacing",8,"gap"),r=o=>({gap:Ef(t,o)});return $a(e,e.gap,r)}return null};_b.propTypes={};_b.filterProps=["gap"];var Cb=e=>{if(e.columnGap!==void 0&&e.columnGap!==null){let t=kf(e.theme,"spacing",8,"columnGap"),r=o=>({columnGap:Ef(t,o)});return $a(e,e.columnGap,r)}return null};Cb.propTypes={};Cb.filterProps=["columnGap"];var Ob=e=>{if(e.rowGap!==void 0&&e.rowGap!==null){let t=kf(e.theme,"spacing",8,"rowGap"),r=o=>({rowGap:Ef(t,o)});return $a(e,e.rowGap,r)}return null};Ob.propTypes={};Ob.filterProps=["rowGap"];var xge=Er({prop:"gridColumn"}),gge=Er({prop:"gridRow"}),yge=Er({prop:"gridAutoFlow"}),bge=Er({prop:"gridAutoColumns"}),vge=Er({prop:"gridAutoRows"}),Tge=Er({prop:"gridTemplateColumns"}),Sge=Er({prop:"gridTemplateRows"}),wge=Er({prop:"gridTemplateAreas"}),_ge=Er({prop:"gridArea"}),kZe=ql(_b,Cb,Ob,xge,gge,yge,bge,vge,Tge,Sge,wge,_ge);function Pf(e,t){return t==="grey"?t:e}var Cge=Er({prop:"color",themeKey:"palette",transform:Pf}),Oge=Er({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:Pf}),kge=Er({prop:"backgroundColor",themeKey:"palette",transform:Pf}),DZe=ql(Cge,Oge,kge);function bn(e){return e<=1&&e!==0?`${e*100}%`:e}var Ege=Er({prop:"width",transform:bn}),t_=e=>{if(e.maxWidth!==void 0&&e.maxWidth!==null){let t=r=>{var a,n,s,i,p;let o=((s=(n=(a=e.theme)==null?void 0:a.breakpoints)==null?void 0:n.values)==null?void 0:s[r])||vb[r];return o?((p=(i=e.theme)==null?void 0:i.breakpoints)==null?void 0:p.unit)!=="px"?{maxWidth:`${o}${e.theme.breakpoints.unit}`}:{maxWidth:o}:{maxWidth:bn(r)}};return $a(e,e.maxWidth,t)}return null};t_.filterProps=["maxWidth"];var Pge=Er({prop:"minWidth",transform:bn}),Rge=Er({prop:"height",transform:bn}),Dge=Er({prop:"maxHeight",transform:bn}),Age=Er({prop:"minHeight",transform:bn}),FZe=Er({prop:"size",cssProperty:"width",transform:bn}),BZe=Er({prop:"size",cssProperty:"height",transform:bn}),Mge=Er({prop:"boxSizing"}),jZe=ql(Ege,t_,Pge,Rge,Dge,Age,Mge);var Nge={border:{themeKey:"borders",transform:Un},borderTop:{themeKey:"borders",transform:Un},borderRight:{themeKey:"borders",transform:Un},borderBottom:{themeKey:"borders",transform:Un},borderLeft:{themeKey:"borders",transform:Un},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:Un},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:wb},color:{themeKey:"palette",transform:Pf},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:Pf},backgroundColor:{themeKey:"palette",transform:Pf},p:{style:Yr},pt:{style:Yr},pr:{style:Yr},pb:{style:Yr},pl:{style:Yr},px:{style:Yr},py:{style:Yr},padding:{style:Yr},paddingTop:{style:Yr},paddingRight:{style:Yr},paddingBottom:{style:Yr},paddingLeft:{style:Yr},paddingX:{style:Yr},paddingY:{style:Yr},paddingInline:{style:Yr},paddingInlineStart:{style:Yr},paddingInlineEnd:{style:Yr},paddingBlock:{style:Yr},paddingBlockStart:{style:Yr},paddingBlockEnd:{style:Yr},m:{style:Jr},mt:{style:Jr},mr:{style:Jr},mb:{style:Jr},ml:{style:Jr},mx:{style:Jr},my:{style:Jr},margin:{style:Jr},marginTop:{style:Jr},marginRight:{style:Jr},marginBottom:{style:Jr},marginLeft:{style:Jr},marginX:{style:Jr},marginY:{style:Jr},marginInline:{style:Jr},marginInlineStart:{style:Jr},marginInlineEnd:{style:Jr},marginBlock:{style:Jr},marginBlockStart:{style:Jr},marginBlockEnd:{style:Jr},displayPrint:{cssProperty:!1,transform:e=>({"@media print":{display:e}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:_b},rowGap:{style:Ob},columnGap:{style:Cb},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:bn},maxWidth:{style:t_},minWidth:{transform:bn},height:{transform:bn},maxHeight:{transform:bn},minHeight:{transform:bn},boxSizing:{},font:{themeKey:"font"},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}},si=Nge;function Ige(...e){let t=e.reduce((o,a)=>o.concat(Object.keys(a)),[]),r=new Set(t);return e.every(o=>r.size===Object.keys(o).length)}function Fge(e,t){return typeof e=="function"?e(t):e}function Bge(){function e(r,o,a,n){let s={[r]:o,theme:a},i=n[r];if(!i)return{[r]:o};let{cssProperty:p=r,themeKey:l,transform:d,style:u}=i;if(o==null)return null;if(l==="typography"&&o==="inherit")return{[r]:o};let f=Sh(a,l)||{};return u?u(s):$a(s,o,m=>{let g=Tb(f,d,m);return m===g&&typeof m=="string"&&(g=Tb(f,d,`${r}${m==="default"?"":xd(m)}`,m)),p===!1?g:{[p]:g}})}function t(r){var i;let{sx:o,theme:a={}}=r||{};if(!o)return null;let n=(i=a.unstable_sxConfig)!=null?i:si;function s(p){let l=p;if(typeof p=="function")l=p(a);else if(typeof p!="object")return p;if(!l)return null;let d=T9(a.breakpoints),u=Object.keys(d),f=d;return Object.keys(l).forEach(c=>{let m=Fge(l[c],a);if(m!=null)if(typeof m=="object")if(n[c])f=Gl(f,e(c,m,a,n));else{let g=$a({theme:a},m,h=>({[c]:h}));Ige(g,m)?f[c]=t({sx:m,theme:a}):f=Gl(f,g)}else f=Gl(f,e(c,m,a,n))}),dA(a,S9(u,f))}return Array.isArray(o)?o.map(s):s(o)}return t}var O9=Bge();O9.filterProps=["sx"];var ks=O9;function xA(e,t){var o;let r=this;if(r.vars){if(!((o=r.colorSchemes)!=null&&o[e])||typeof r.getColorSchemeSelector!="function")return{};let a=r.getColorSchemeSelector(e);return a==="&"?t:((a.includes("data-")||a.includes("."))&&(a=`*:where(${a.replace(/\s*&$/,"")}) &`),{[a]:t})}return r.palette.mode===e?t:{}}function jge(e={},...t){let{breakpoints:r={},palette:o={},spacing:a,shape:n={},...s}=e,i=pA(r),p=wh(a),l=pr({breakpoints:i,direction:"ltr",components:{},palette:{mode:"light",...o},spacing:p,shape:{...b9,...n}},s);return l=Q0(l),l.applyStyles=xA,l=t.reduce((d,u)=>pr(d,u),l),l.unstable_sxConfig={...si,...s==null?void 0:s.unstable_sxConfig},l.unstable_sx=function(u){return ks({sx:u,theme:this})},l}var Kl=jge;var k9=y(P());function Lge(e){return Object.keys(e).length===0}function zge(e=null){let t=k9.useContext(Ha);return!t||Lge(t)?e:t}var kb=zge;var Wge=Kl();function Uge(e=Wge){return kb(e)}var Es=Uge;var E9=y(U());function Vge({styles:e,themeId:t,defaultTheme:r={}}){let o=Es(r),a=typeof e=="function"?e(t&&o[t]||o):e;return(0,E9.jsx)(yb,{styles:a})}var r_=Vge;var Hge=e=>{var o,a;let t={systemProps:{},otherProps:{}},r=(a=(o=e==null?void 0:e.theme)==null?void 0:o.unstable_sxConfig)!=null?a:si;return Object.keys(e).forEach(n=>{r[n]?t.systemProps[n]=e[n]:t.otherProps[n]=e[n]}),t};function gd(e){let{sx:t,...r}=e,{systemProps:o,otherProps:a}=Hge(r),n;return Array.isArray(t)?n=[o,...t]:typeof t=="function"?n=(...s)=>{let i=t(...s);return Wn(i)?{...o,...i}:o}:n={...o,...t},{...a,sx:n}}var P9=e=>e,$ge=()=>{let e=P9;return{configure(t){e=t},generate(t){return e(t)},reset(){e=P9}}},Gge=$ge(),Rf=Gge;var R9=y(P());var D9=y(U());function Eb(e={}){let{themeId:t,defaultTheme:r,defaultClassName:o="MuiBox-root",generateClassName:a}=e,n=bb("div",{shouldForwardProp:i=>i!=="theme"&&i!=="sx"&&i!=="as"})(ks);return R9.forwardRef(function(p,l){let d=Es(r),{className:u,component:f="div",...c}=gd(p);return(0,D9.jsx)(n,{as:f,ref:l,className:z(u,a?a(o):o),theme:t&&d[t]||d,...c})})}var qge={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function de(e,t,r="Mui"){let o=qge[t];return o?`${r}-${o}`:`${Rf.generate(e)}-${t}`}function pe(e,t,r="Mui"){let o={};return t.forEach(a=>{o[a]=de(e,a,r)}),o}function Pb(e){let{variants:t,...r}=e,o={variants:t,style:iA(r),isProcessed:!0};return o.style===r||t&&t.forEach(a=>{typeof a.style!="function"&&(a.style=iA(a.style))}),o}var Kge=Kl();function gA(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}function Xge(e){return e?(t,r)=>r[e]:null}function Jge(e,t,r){e.theme=Zge(e.theme)?r:e.theme[t]||e.theme}function o_(e,t){let r=typeof t=="function"?t(e):t;if(Array.isArray(r))return r.flatMap(o=>o_(e,o));if(Array.isArray(r==null?void 0:r.variants)){let o;if(r.isProcessed)o=r.style;else{let{variants:a,...n}=r;o=n}return A9(e,r.variants,[o])}return r!=null&&r.isProcessed?r.style:r}function A9(e,t,r=[]){var a;let o;e:for(let n=0;n{g9(i,w=>w.filter(O=>O!==ks));let{name:l,slot:d,skipVariantsResolver:u,skipSx:f,overridesResolver:c=Xge(eye(d)),...m}=p,g=u!==void 0?u:d&&d!=="Root"&&d!=="root"||!1,h=f||!1,x=gA;d==="Root"||d==="root"?x=o:d?x=a:Qge(i)&&(x=void 0);let T=bb(i,{shouldForwardProp:x,label:Yge(l,d),...m}),v=w=>{if(typeof w=="function"&&w.__emotion_real!==w)return function(k){return o_(k,w)};if(Wn(w)){let O=Pb(w);return O.variants?function(M){return o_(M,O)}:O.style}return w},b=(...w)=>{let O=[],k=w.map(v),M=[];if(O.push(n),l&&c&&M.push(function($){var Y,oe;let G=(oe=(Y=$.theme.components)==null?void 0:Y[l])==null?void 0:oe.styleOverrides;if(!G)return null;let L={};for(let ee in G)L[ee]=o_($,G[ee]);return c($,L)}),l&&!g&&M.push(function($){var L,Y;let K=$.theme,G=(Y=(L=K==null?void 0:K.components)==null?void 0:L[l])==null?void 0:Y.variants;return G?A9($,G):null}),h||M.push(ks),Array.isArray(k[0])){let B=k.shift(),$=new Array(O.length).fill(""),K=new Array(M.length).fill(""),G;G=[...$,...B,...K],G.raw=[...$,...B.raw,...K],O.unshift(G)}let N=[...O,...k,...M],S=T(...N);return i.muiName&&(S.muiName=i.muiName),S};return T.withConfig&&(b.withConfig=T.withConfig),b}}function Yge(e,t){return void 0}function Zge(e){for(let t in e)return!1;return!0}function Qge(e){return typeof e=="string"&&e.charCodeAt(0)>96}function eye(e){return e&&e.charAt(0).toLowerCase()+e.slice(1)}var tye=_h(),yA=tye;function Zi(e,t){let r={...t};for(let o in e)if(Object.prototype.hasOwnProperty.call(e,o)){let a=o;if(a==="components"||a==="slots")r[a]={...e[a],...r[a]};else if(a==="componentsProps"||a==="slotProps"){let n=e[a],s=t[a];if(!s)r[a]=n||{};else if(!n)r[a]=s;else{r[a]={...s};for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let p=i;r[a][p]=Zi(n[p],s[p])}}}else r[a]===void 0&&(r[a]=e[a])}return r}function Ch(e){let{theme:t,name:r,props:o}=e;return!t||!t.components||!t.components[r]||!t.components[r].defaultProps?o:Zi(t.components[r].defaultProps,o)}function a_({props:e,name:t,defaultTheme:r,themeId:o}){let a=Es(r);return o&&(a=a[o]||a),Ch({theme:a,name:t,props:e})}var Xl=y(P());var n_=y(P()),rye=typeof window!="undefined"?n_.useLayoutEffect:n_.useEffect,ma=rye;function oye(e,t,r,o,a){let[n,s]=Xl.useState(()=>a&&r?r(e).matches:o?o(e).matches:t);return ma(()=>{if(!r)return;let i=r(e),p=()=>{s(i.matches)};return p(),i.addEventListener("change",p),()=>{i.removeEventListener("change",p)}},[e,r]),n}var aye={...Xl},M9=aye.useSyncExternalStore;function nye(e,t,r,o,a){let n=Xl.useCallback(()=>t,[t]),s=Xl.useMemo(()=>{if(a&&r)return()=>r(e).matches;if(o!==null){let{matches:d}=o(e);return()=>d}return n},[n,e,o,a,r]),[i,p]=Xl.useMemo(()=>{if(r===null)return[n,()=>()=>{}];let d=r(e);return[()=>d.matches,u=>(d.addEventListener("change",u),()=>{d.removeEventListener("change",u)})]},[n,r,e]);return M9(p,i,s)}function bA(e={}){let{themeId:t}=e;return function(o,a={}){let n=kb();n&&t&&(n=n[t]||n);let s=typeof window!="undefined"&&typeof window.matchMedia!="undefined",{defaultMatches:i=!1,matchMedia:p=s?window.matchMedia:null,ssrMatchMedia:l=null,noSsr:d=!1}=Ch({name:"MuiUseMediaQuery",props:a,theme:n}),u=typeof o=="function"?o(n):o;return u=u.replace(/^@media( ?)/m,""),(M9!==void 0?nye:oye)(u,i,p,l,d)}}var Net=bA();function sye(e,t=Number.MIN_SAFE_INTEGER,r=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,r))}var vA=sye;function TA(e,t=0,r=1){return vA(e,t,r)}function N9(e){e=e.slice(1);let t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g"),r=e.match(t);return r&&r[0].length===1&&(r=r.map(o=>o+o)),r?`rgb${r.length===4?"a":""}(${r.map((o,a)=>a<3?parseInt(o,16):Math.round(parseInt(o,16)/255*1e3)/1e3).join(", ")})`:""}function Jl(e){if(e.type)return e;if(e.charAt(0)==="#")return Jl(N9(e));let t=e.indexOf("("),r=e.substring(0,t);if(!["rgb","rgba","hsl","hsla","color"].includes(r))throw new Error(aa(9,e));let o=e.substring(t+1,e.length-1),a;if(r==="color"){if(o=o.split(" "),a=o.shift(),o.length===4&&o[3].charAt(0)==="/"&&(o[3]=o[3].slice(1)),!["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].includes(a))throw new Error(aa(10,a))}else o=o.split(",");return o=o.map(n=>parseFloat(n)),{type:r,values:o,colorSpace:a}}var iye=e=>{let t=Jl(e);return t.values.slice(0,3).map((r,o)=>t.type.includes("hsl")&&o!==0?`${r}%`:r).join(" ")},Oh=(e,t)=>{try{return iye(e)}catch(r){return e}};function Rb(e){let{type:t,colorSpace:r}=e,{values:o}=e;return t.includes("rgb")?o=o.map((a,n)=>n<3?parseInt(a,10):a):t.includes("hsl")&&(o[1]=`${o[1]}%`,o[2]=`${o[2]}%`),t.includes("color")?o=`${r} ${o.join(" ")}`:o=`${o.join(", ")}`,`${t}(${o})`}function i_(e){e=Jl(e);let{values:t}=e,r=t[0],o=t[1]/100,a=t[2]/100,n=o*Math.min(a,1-a),s=(l,d=(l+r/30)%12)=>a-n*Math.max(Math.min(d-3,9-d,1),-1),i="rgb",p=[Math.round(s(0)*255),Math.round(s(8)*255),Math.round(s(4)*255)];return e.type==="hsla"&&(i+="a",p.push(t[3])),Rb({type:i,values:p})}function s_(e){e=Jl(e);let t=e.type==="hsl"||e.type==="hsla"?Jl(i_(e)).values:e.values;return t=t.map(r=>(e.type!=="color"&&(r/=255),r<=.03928?r/12.92:((r+.055)/1.055)**2.4)),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function SA(e,t){let r=s_(e),o=s_(t);return(Math.max(r,o)+.05)/(Math.min(r,o)+.05)}function St(e,t){return e=Jl(e),t=TA(t),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${t}`:e.values[3]=t,Rb(e)}function Db(e,t,r){try{return St(e,t)}catch(o){return e}}function Yl(e,t){if(e=Jl(e),t=TA(t),e.type.includes("hsl"))e.values[2]*=1-t;else if(e.type.includes("rgb")||e.type.includes("color"))for(let r=0;r<3;r+=1)e.values[r]*=1-t;return Rb(e)}function dr(e,t,r){try{return Yl(e,t)}catch(o){return e}}function Zl(e,t){if(e=Jl(e),t=TA(t),e.type.includes("hsl"))e.values[2]+=(100-e.values[2])*t;else if(e.type.includes("rgb"))for(let r=0;r<3;r+=1)e.values[r]+=(255-e.values[r])*t;else if(e.type.includes("color"))for(let r=0;r<3;r+=1)e.values[r]+=(1-e.values[r])*t;return Rb(e)}function ur(e,t,r){try{return Zl(e,t)}catch(o){return e}}function Df(e,t=.15){return s_(e)>.5?Yl(e,t):Zl(e,t)}function Ab(e,t,r){try{return Df(e,t)}catch(o){return e}}function yd(...e){return e.reduce((t,r)=>r==null?t:function(...a){t.apply(this,a),r.apply(this,a)},()=>{})}function Af(e,t=166){let r;function o(...a){let n=()=>{e.apply(this,a)};clearTimeout(r),r=setTimeout(n,t)}return o.clear=()=>{clearTimeout(r)},o}var I9=y(P());function kh(e,t){var r,o,a,n;return I9.isValidElement(e)&&t.indexOf((n=e.type.muiName)!=null?n:(a=(o=(r=e.type)==null?void 0:r._payload)==null?void 0:o.value)==null?void 0:a.muiName)!==-1}function Zr(e){return e&&e.ownerDocument||document}function Vn(e){return Zr(e).defaultView||window}function bd(e,t){typeof e=="function"?e(t):e&&(e.current=t)}var Mb=y(P()),F9=0;function lye(e){let[t,r]=Mb.useState(e),o=e||t;return Mb.useEffect(()=>{t==null&&(F9+=1,r(`mui-${F9}`))},[t]),o}var pye={...Mb},B9=pye.useId;function Qi(e){if(B9!==void 0){let t=B9();return e!=null?e:t}return lye(e)}var Mf=y(P());function l_({controlled:e,default:t,name:r,state:o="value"}){let{current:a}=Mf.useRef(e!==void 0),[n,s]=Mf.useState(t),i=a?e:n,p=Mf.useCallback(l=>{a||s(l)},[]);return[i,p]}var wA=y(P());function dye(e){let t=wA.useRef(e);return ma(()=>{t.current=e}),wA.useRef((...r)=>(0,t.current)(...r)).current}var Ps=dye;var j9=y(P());function uo(...e){return j9.useMemo(()=>e.every(t=>t==null)?null:t=>{e.forEach(r=>{bd(r,t)})},e)}var z9=y(P()),L9={};function Eh(e,t){let r=z9.useRef(L9);return r.current===L9&&(r.current=e(t)),r}var W9=y(P()),uye=[];function _A(e){W9.useEffect(e,uye)}var Nf=class e{constructor(){A(this,"currentId",null);A(this,"clear",()=>{this.currentId!==null&&(clearTimeout(this.currentId),this.currentId=null)});A(this,"disposeEffect",()=>this.clear)}static create(){return new e}start(t,r){this.clear(),this.currentId=setTimeout(()=>{this.currentId=null,r()},t)}};function vn(){let e=Eh(Nf.create).current;return _A(e.disposeEffect),e}function vd(e){try{return e.matches(":focus-visible")}catch(t){}return!1}function If(e=window){let t=e.document.documentElement.clientWidth;return e.innerWidth-t}var p_=y(P()),fye=e=>{let t=p_.useRef({});return p_.useEffect(()=>{t.current=e}),t.current},Ph=fye;function fe(e,t,r=void 0){let o={};for(let a in e){let n=e[a],s="",i=!0;for(let p=0;po.match(/^on[A-Z]/)&&typeof e[o]=="function"&&!t.includes(o)).forEach(o=>{r[o]=e[o]}),r}var Td=hye;function xye(e){if(e===void 0)return{};let t={};return Object.keys(e).filter(r=>!(r.match(/^on[A-Z]/)&&typeof e[r]=="function")).forEach(r=>{t[r]=e[r]}),t}var d_=xye;function gye(e){let{getSlotProps:t,additionalProps:r,externalSlotProps:o,externalForwardedProps:a,className:n}=e;if(!t){let c=z(r==null?void 0:r.className,n,a==null?void 0:a.className,o==null?void 0:o.className),m={...r==null?void 0:r.style,...a==null?void 0:a.style,...o==null?void 0:o.style},g={...r,...a,...o};return c.length>0&&(g.className=c),Object.keys(m).length>0&&(g.style=m),{props:g,internalRef:void 0}}let s=Td({...a,...o}),i=d_(o),p=d_(a),l=t(s),d=z(l==null?void 0:l.className,r==null?void 0:r.className,n,a==null?void 0:a.className,o==null?void 0:o.className),u={...l==null?void 0:l.style,...r==null?void 0:r.style,...a==null?void 0:a.style,...o==null?void 0:o.style},f={...l,...r,...p,...i};return d.length>0&&(f.className=d),Object.keys(u).length>0&&(f.style=u),{props:f,internalRef:l.ref}}var Ib=gye;function yye(e,t,r){return typeof e=="function"?e(t,r):e}var Fb=yye;function bye(e){var u;let{elementType:t,externalSlotProps:r,ownerState:o,skipResolvingSlotProps:a=!1,...n}=e,s=a?{}:Fb(r,o),{props:i,internalRef:p}=Ib({...n,externalSlotProps:s}),l=uo(p,s==null?void 0:s.ref,(u=e.additionalProps)==null?void 0:u.ref);return Nb(t,{...i,ref:l},o)}var zo=bye;var U9=y(P());function ha(e){var t;return parseInt(U9.version,10)>=19?((t=e==null?void 0:e.props)==null?void 0:t.ref)||null:(e==null?void 0:e.ref)||null}var u_=y(P());var vye=y(U()),Tye=u_.createContext();var Rs=()=>{let e=u_.useContext(Tye);return e!=null?e:!1};var f_=y(P());var Sye=y(U()),wye=f_.createContext(void 0);function _ye(e){let{theme:t,name:r,props:o}=e;if(!t||!t.components||!t.components[r])return o;let a=t.components[r];return a.defaultProps?Zi(a.defaultProps,o):!a.styleOverrides&&!a.variants?Zi(a,o):o}function OA({props:e,name:t}){let r=f_.useContext(wye);return _ye({props:e,name:t,theme:{components:r}})}var V9={theme:void 0};function c_(e){let t,r;return function(a){let n=t;return(n===void 0||a.theme!==r)&&(V9.theme=a.theme,n=Pb(e(V9)),t=n,r=a.theme),n}}function m_(e=""){function t(...o){if(!o.length)return"";let a=o[0];return typeof a=="string"&&!a.match(/(#|\(|\)|(-?(\d*\.)?\d+)(px|em|%|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc))|^(-?(\d*\.)?\d+)$|(\d+ \d+ \d+)/)?`, var(--${e?`${e}-`:""}${a}${t(...o.slice(1))})`:`, ${a}`}return(o,...a)=>`var(--${e?`${e}-`:""}${o}${t(...a)})`}var H9=(e,t,r,o=[])=>{let a=e;t.forEach((n,s)=>{s===t.length-1?Array.isArray(a)?a[Number(n)]=r:a&&typeof a=="object"&&(a[n]=r):a&&typeof a=="object"&&(a[n]||(a[n]=o.includes(n)?[]:{}),a=a[n])})},Oye=(e,t,r)=>{function o(a,n=[],s=[]){Object.entries(a).forEach(([i,p])=>{(!r||r&&!r([...n,i]))&&p!=null&&(typeof p=="object"&&Object.keys(p).length>0?o(p,[...n,i],Array.isArray(p)?[...s,i]:s):t([...n,i],p,s))})}o(e)},kye=(e,t)=>typeof t=="number"?["lineHeight","fontWeight","opacity","zIndex"].some(o=>e.includes(o))||e[e.length-1].toLowerCase().includes("opacity")?t:`${t}px`:t;function Bb(e,t){let{prefix:r,shouldSkipGeneratingVar:o}=t||{},a={},n={},s={};return Oye(e,(i,p,l)=>{if((typeof p=="string"||typeof p=="number")&&(!o||!o(i,p))){let d=`--${r?`${r}-`:""}${i.join("-")}`,u=kye(i,p);Object.assign(a,{[d]:u}),H9(n,i,`var(${d})`,l),H9(s,i,`var(${d}, ${u})`,l)}},i=>i[0]==="vars"),{css:a,vars:n,varsWithDefaults:s}}function Eye(e,t={}){let{getSelector:r=h,disableCssColorScheme:o,colorSchemeSelector:a}=t,{colorSchemes:n={},components:s,defaultColorScheme:i="light",...p}=e,{vars:l,css:d,varsWithDefaults:u}=Bb(p,t),f=u,c={},{[i]:m,...g}=n;if(Object.entries(g||{}).forEach(([v,b])=>{let{vars:w,css:O,varsWithDefaults:k}=Bb(b,t);f=pr(f,k),c[v]={css:O,vars:w}}),m){let{css:v,vars:b,varsWithDefaults:w}=Bb(m,t);f=pr(f,w),c[i]={css:v,vars:b}}function h(v,b){var O,k;let w=a;if(a==="class"&&(w=".%s"),a==="data"&&(w="[data-%s]"),a!=null&&a.startsWith("data-")&&!a.includes("%s")&&(w=`[${a}="%s"]`),v){if(w==="media")return e.defaultColorScheme===v?":root":{[`@media (prefers-color-scheme: ${((k=(O=n[v])==null?void 0:O.palette)==null?void 0:k.mode)||v})`]:{":root":b}};if(w)return e.defaultColorScheme===v?`:root, ${w.replace("%s",String(v))}`:w.replace("%s",String(v))}return":root"}return{vars:f,generateThemeVars:()=>{let v={...l};return Object.entries(c).forEach(([,{vars:b}])=>{v=pr(v,b)}),v},generateStyleSheets:()=>{var M,N;let v=[],b=e.defaultColorScheme||"light";function w(S,B){Object.keys(B).length&&v.push(typeof S=="string"?{[S]:{...B}}:S)}w(r(void 0,{...d}),d);let{[b]:O,...k}=c;if(O){let{css:S}=O,B=(N=(M=n[b])==null?void 0:M.palette)==null?void 0:N.mode,$=!o&&B?{colorScheme:B,...S}:{...S};w(r(b,{...$}),$)}return Object.entries(k).forEach(([S,{css:B}])=>{var G,L;let $=(L=(G=n[S])==null?void 0:G.palette)==null?void 0:L.mode,K=!o&&$?{colorScheme:$,...B}:{...B};w(r(S,{...K}),K)}),v}}}var kA=Eye;function EA(e){return function(r){return e==="media"?`@media (prefers-color-scheme: ${r})`:e?e.startsWith("data-")&&!e.includes("%s")?`[${e}="${r}"] &`:e==="class"?`.${r} &`:e==="data"?`[data-${r}] &`:`${e.replace("%s",r)} &`:"&"}}var Sd=y(P());var Pye=(e,t)=>e.filter(r=>t.includes(r)),Ff=(e,t,r)=>{let o=e.keys[0];Array.isArray(t)?t.forEach((a,n)=>{r((s,i)=>{n<=e.keys.length-1&&(n===0?Object.assign(s,i):s[e.up(e.keys[n])]=i)},a)}):t&&typeof t=="object"?(Object.keys(t).length>e.keys.length?e.keys:Pye(e.keys,Object.keys(t))).forEach(n=>{if(e.keys.includes(n)){let s=t[n];s!==void 0&&r((i,p)=>{o===n?Object.assign(i,p):i[e.up(n)]=p},s)}}):(typeof t=="number"||typeof t=="string")&&r((a,n)=>{Object.assign(a,n)},t)};function h_(e){return`--Grid-${e}Spacing`}function x_(e){return`--Grid-parent-${e}Spacing`}var $9="--Grid-columns",Rh="--Grid-parent-columns",G9=({theme:e,ownerState:t})=>{let r={};return Ff(e.breakpoints,t.size,(o,a)=>{let n={};a==="grow"&&(n={flexBasis:0,flexGrow:1,maxWidth:"100%"}),a==="auto"&&(n={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"}),typeof a=="number"&&(n={flexGrow:0,flexBasis:"auto",width:`calc(100% * ${a} / var(${Rh}) - (var(${Rh}) - ${a}) * (var(${x_("column")}) / var(${Rh})))`}),o(r,n)}),r},q9=({theme:e,ownerState:t})=>{let r={};return Ff(e.breakpoints,t.offset,(o,a)=>{let n={};a==="auto"&&(n={marginLeft:"auto"}),typeof a=="number"&&(n={marginLeft:a===0?"0px":`calc(100% * ${a} / var(${Rh}) + var(${x_("column")}) * ${a} / var(${Rh}))`}),o(r,n)}),r},K9=({theme:e,ownerState:t})=>{if(!t.container)return{};let r={[$9]:12};return Ff(e.breakpoints,t.columns,(o,a)=>{let n=a!=null?a:12;o(r,{[$9]:n,"> *":{[Rh]:n}})}),r},X9=({theme:e,ownerState:t})=>{if(!t.container)return{};let r={};return Ff(e.breakpoints,t.rowSpacing,(o,a)=>{var s;let n=typeof a=="string"?a:(s=e.spacing)==null?void 0:s.call(e,a);o(r,{[h_("row")]:n,"> *":{[x_("row")]:n}})}),r},J9=({theme:e,ownerState:t})=>{if(!t.container)return{};let r={};return Ff(e.breakpoints,t.columnSpacing,(o,a)=>{var s;let n=typeof a=="string"?a:(s=e.spacing)==null?void 0:s.call(e,a);o(r,{[h_("column")]:n,"> *":{[x_("column")]:n}})}),r},Y9=({theme:e,ownerState:t})=>{if(!t.container)return{};let r={};return Ff(e.breakpoints,t.direction,(o,a)=>{o(r,{flexDirection:a})}),r},Z9=({ownerState:e})=>({minWidth:0,boxSizing:"border-box",...e.container&&{display:"flex",flexWrap:"wrap",...e.wrap&&e.wrap!=="wrap"&&{flexWrap:e.wrap},gap:`var(${h_("row")}) var(${h_("column")})`}}),Q9=e=>{let t=[];return Object.entries(e).forEach(([r,o])=>{o!==!1&&o!==void 0&&t.push(`grid-${r}-${String(o)}`)}),t},e8=(e,t="xs")=>{function r(o){return o===void 0?!1:typeof o=="string"&&!Number.isNaN(Number(o))||typeof o=="number"&&o>0}if(r(e))return[`spacing-${t}-${String(e)}`];if(typeof e=="object"&&!Array.isArray(e)){let o=[];return Object.entries(e).forEach(([a,n])=>{r(n)&&o.push(`spacing-${a}-${String(n)}`)}),o}return[]},t8=e=>e===void 0?[]:typeof e=="object"?Object.entries(e).map(([t,r])=>`direction-${t}-${r}`):[`direction-xs-${String(e)}`];var r8=y(U()),Rye=Kl(),Dye=yA("div",{name:"MuiGrid",slot:"Root",overridesResolver:(e,t)=>t.root});function Aye(e){return a_({props:e,name:"MuiGrid",defaultTheme:Rye})}function g_(e={}){let{createStyledComponent:t=Dye,useThemeProps:r=Aye,componentName:o="MuiGrid"}=e,a=(p,l)=>{let{container:d,direction:u,spacing:f,wrap:c,size:m}=p,g={root:["root",d&&"container",c!=="wrap"&&`wrap-xs-${String(c)}`,...t8(u),...Q9(m),...d?e8(f,l.breakpoints.keys[0]):[]]};return fe(g,h=>de(o,h),{})};function n(p,l,d=()=>!0){let u={};return p===null||(Array.isArray(p)?p.forEach((f,c)=>{f!==null&&d(f)&&l.keys[c]&&(u[l.keys[c]]=f)}):typeof p=="object"?Object.keys(p).forEach(f=>{let c=p[f];c!=null&&d(c)&&(u[f]=c)}):u[l.keys[0]]=p),u}let s=t(K9,J9,X9,G9,Y9,Z9,q9),i=Sd.forwardRef(function(l,d){var Ae,Me,Ge,Le,ke,Ve;let u=Es(),f=r(l),c=gd(f),{className:m,children:g,columns:h=12,container:x=!1,component:T="div",direction:v="row",wrap:b="wrap",size:w={},offset:O={},spacing:k=0,rowSpacing:M=k,columnSpacing:N=k,unstable_level:S=0,...B}=c,$=n(w,u.breakpoints,Ee=>Ee!==!1),K=n(O,u.breakpoints),G=(Ae=l.columns)!=null?Ae:S?void 0:h,L=(Me=l.spacing)!=null?Me:S?void 0:k,Y=(Le=(Ge=l.rowSpacing)!=null?Ge:l.spacing)!=null?Le:S?void 0:M,oe=(Ve=(ke=l.columnSpacing)!=null?ke:l.spacing)!=null?Ve:S?void 0:N,ee={...c,level:S,columns:G,container:x,direction:v,wrap:b,spacing:L,rowSpacing:Y,columnSpacing:oe,size:$,offset:K},se=a(ee,u);return(0,r8.jsx)(s,{ref:d,as:T,ownerState:ee,className:z(se.root,m),...B,children:Sd.Children.map(g,Ee=>{var nt,Ze;return Sd.isValidElement(Ee)&&kh(Ee,["Grid"])&&x&&Ee.props.container?Sd.cloneElement(Ee,{unstable_level:(Ze=(nt=Ee.props)==null?void 0:nt.unstable_level)!=null?Ze:S+1}):Ee})})});return i.muiName="Grid",i}var Mye={black:"#000",white:"#fff"},Dh=Mye;var Nye={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},Ah=Nye;var Iye={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},Bf=Iye;var Fye={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},jf=Fye;var Bye={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},Eo=Bye;var jye={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},Lf=jye;var Lye={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},zf=Lye;var zye={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},Wf=zye;function n8(){return{text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:Dh.white,default:Dh.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}}}var Wye=n8();function s8(){return{text:{primary:Dh.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:Dh.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}}}var o8=s8();function a8(e,t,r,o){let a=o.light||o,n=o.dark||o*1.5;e[t]||(e.hasOwnProperty(r)?e[t]=e[r]:t==="light"?e.light=Zl(e.main,a):t==="dark"&&(e.dark=Yl(e.main,n)))}function Uye(e="light"){return e==="dark"?{main:Lf[200],light:Lf[50],dark:Lf[400]}:{main:Lf[700],light:Lf[400],dark:Lf[800]}}function Vye(e="light"){return e==="dark"?{main:Bf[200],light:Bf[50],dark:Bf[400]}:{main:Bf[500],light:Bf[300],dark:Bf[700]}}function Hye(e="light"){return e==="dark"?{main:jf[500],light:jf[300],dark:jf[700]}:{main:jf[700],light:jf[400],dark:jf[800]}}function $ye(e="light"){return e==="dark"?{main:zf[400],light:zf[300],dark:zf[700]}:{main:zf[700],light:zf[500],dark:zf[900]}}function Gye(e="light"){return e==="dark"?{main:Wf[400],light:Wf[300],dark:Wf[700]}:{main:Wf[800],light:Wf[500],dark:Wf[900]}}function qye(e="light"){return e==="dark"?{main:Eo[400],light:Eo[300],dark:Eo[700]}:{main:"#ed6c02",light:Eo[500],dark:Eo[900]}}function Uf(e){let{mode:t="light",contrastThreshold:r=3,tonalOffset:o=.2,...a}=e,n=e.primary||Uye(t),s=e.secondary||Vye(t),i=e.error||Hye(t),p=e.info||$ye(t),l=e.success||Gye(t),d=e.warning||qye(t);function u(g){return SA(g,o8.text.primary)>=r?o8.text.primary:Wye.text.primary}let f=({color:g,name:h,mainShade:x=500,lightShade:T=300,darkShade:v=700})=>{if(g={...g},!g.main&&g[x]&&(g.main=g[x]),!g.hasOwnProperty("main"))throw new Error(aa(11,h?` (${h})`:"",x));if(typeof g.main!="string")throw new Error(aa(12,h?` (${h})`:"",JSON.stringify(g.main)));return a8(g,"light",T,o),a8(g,"dark",v,o),g.contrastText||(g.contrastText=u(g.main)),g},c;return t==="light"?c=n8():t==="dark"&&(c=s8()),pr({common:{...Dh},mode:t,primary:f({color:n,name:"primary"}),secondary:f({color:s,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:f({color:i,name:"error"}),warning:f({color:d,name:"warning"}),info:f({color:p,name:"info"}),success:f({color:l,name:"success"}),grey:Ah,contrastThreshold:r,getContrastText:u,augmentColor:f,tonalOffset:o,...c},a)}function y_(e){let t={};return Object.entries(e).forEach(o=>{let[a,n]=o;typeof n=="object"&&(t[a]=`${n.fontStyle?`${n.fontStyle} `:""}${n.fontVariant?`${n.fontVariant} `:""}${n.fontWeight?`${n.fontWeight} `:""}${n.fontStretch?`${n.fontStretch} `:""}${n.fontSize||""}${n.lineHeight?`/${n.lineHeight} `:""}${n.fontFamily||""}`)}),t}function PA(e,t){return{toolbar:{minHeight:56,[e.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[e.up("sm")]:{minHeight:64}},...t}}function Kye(e){return Math.round(e*1e5)/1e5}var i8={textTransform:"uppercase"},l8='"Roboto", "Helvetica", "Arial", sans-serif';function RA(e,t){let{fontFamily:r=l8,fontSize:o=14,fontWeightLight:a=300,fontWeightRegular:n=400,fontWeightMedium:s=500,fontWeightBold:i=700,htmlFontSize:p=16,allVariants:l,pxToRem:d,...u}=typeof t=="function"?t(e):t,f=o/14,c=d||(h=>`${h/p*f}rem`),m=(h,x,T,v,b)=>({fontFamily:r,fontWeight:h,fontSize:c(x),lineHeight:T,...r===l8?{letterSpacing:`${Kye(v/x)}em`}:{},...b,...l}),g={h1:m(a,96,1.167,-1.5),h2:m(a,60,1.2,-.5),h3:m(n,48,1.167,0),h4:m(n,34,1.235,.25),h5:m(n,24,1.334,0),h6:m(s,20,1.6,.15),subtitle1:m(n,16,1.75,.15),subtitle2:m(s,14,1.57,.1),body1:m(n,16,1.5,.15),body2:m(n,14,1.43,.15),button:m(s,14,1.75,.4,i8),caption:m(n,12,1.66,.4),overline:m(n,12,2.66,1,i8),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return pr({htmlFontSize:p,pxToRem:c,fontFamily:r,fontSize:o,fontWeightLight:a,fontWeightRegular:n,fontWeightMedium:s,fontWeightBold:i,...g},u,{clone:!1})}function Ur(...e){return[`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,${.2})`,`${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,${.14})`,`${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,${.12})`].join(",")}var Xye=["none",Ur(0,2,1,-1,0,1,1,0,0,1,3,0),Ur(0,3,1,-2,0,2,2,0,0,1,5,0),Ur(0,3,3,-2,0,3,4,0,0,1,8,0),Ur(0,2,4,-1,0,4,5,0,0,1,10,0),Ur(0,3,5,-1,0,5,8,0,0,1,14,0),Ur(0,3,5,-1,0,6,10,0,0,1,18,0),Ur(0,4,5,-2,0,7,10,1,0,2,16,1),Ur(0,5,5,-3,0,8,10,1,0,3,14,2),Ur(0,5,6,-3,0,9,12,1,0,3,16,2),Ur(0,6,6,-3,0,10,14,1,0,4,18,3),Ur(0,6,7,-4,0,11,15,1,0,4,20,3),Ur(0,7,8,-4,0,12,17,2,0,5,22,4),Ur(0,7,8,-4,0,13,19,2,0,5,24,4),Ur(0,7,9,-4,0,14,21,2,0,5,26,4),Ur(0,8,9,-5,0,15,22,2,0,6,28,5),Ur(0,8,10,-5,0,16,24,2,0,6,30,5),Ur(0,8,11,-5,0,17,26,2,0,6,32,5),Ur(0,9,11,-5,0,18,28,2,0,7,34,6),Ur(0,9,12,-6,0,19,29,2,0,7,36,6),Ur(0,10,13,-6,0,20,31,3,0,8,38,7),Ur(0,10,13,-6,0,21,33,3,0,8,40,7),Ur(0,10,14,-6,0,22,35,3,0,8,42,7),Ur(0,11,14,-7,0,23,36,3,0,9,44,8),Ur(0,11,15,-7,0,24,38,3,0,9,46,8)],p8=Xye;var Jye={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},Yye={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function d8(e){return`${Math.round(e)}ms`}function Zye(e){if(!e)return 0;let t=e/36;return Math.min(Math.round((4+15*t**.25+t/5)*10),3e3)}function DA(e){let t={...Jye,...e.easing},r={...Yye,...e.duration};return{getAutoHeightDuration:Zye,create:(a=["all"],n={})=>{let{duration:s=r.standard,easing:i=t.easeInOut,delay:p=0,...l}=n;return(Array.isArray(a)?a:[a]).map(d=>`${d} ${typeof s=="string"?s:d8(s)} ${i} ${typeof p=="string"?p:d8(p)}`).join(",")},...e,easing:t,duration:r}}var Qye={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500},u8=Qye;function ebe(e){return Wn(e)||typeof e=="undefined"||typeof e=="string"||typeof e=="boolean"||typeof e=="number"||Array.isArray(e)}function b_(e={}){let t={...e};function r(o){let a=Object.entries(o);for(let n=0;na&&(a=s),r&=~n}if(r=a,r=sa()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Lte(r/1960))-r,10 component higher in the tree to provide a loading indicator or placeholder to display.`)}Uo!==5&&(Uo=2),p=I1(p,i),f=s;do{switch(f.tag){case 3:n=p,f.flags|=4096,t&=-t,f.lanes|=t;var w=QF(f,n,t);dI(f,w);break e;case 1:n=p;var O=f.type,k=f.stateNode;if(!(f.flags&64)&&(typeof O.getDerivedStateFromError=="function"||k!==null&&typeof k.componentDidCatch=="function"&&(ui===null||!ui.has(k)))){f.flags|=4096,t&=-t,f.lanes|=t;var M=eB(f,n,t);dI(f,M);break e}}f=f.return}while(f!==null)}lB(r)}catch(N){t=N,yo===r&&r!==null&&(yo=r=r.return);continue}break}while(!0)}function sB(){var e=Wb.current;return Wb.current=zb,e===null?zb:e}function hx(e,t){var r=at;at|=16;var o=sB();xa===e&&ia===t||dc(e,t);do try{zte();break}catch(a){nB(e,a)}while(!0);if(C1(),at=r,Wb.current=o,yo!==null)throw Error(Te(261));return xa=null,ia=0,Uo}function zte(){for(;yo!==null;)iB(yo)}function Wte(){for(;yo!==null&&!Ste();)iB(yo)}function iB(e){var t=dB(e.alternate,e,Yd);e.memoizedProps=e.pendingProps,t===null?lB(e):yo=t,F1.current=null}function lB(e){var t=e;do{var r=t.alternate;if(e=t.return,t.flags&2048){if(r=Ate(t),r!==null){r.flags&=2047,yo=r;return}e!==null&&(e.firstEffect=e.lastEffect=null,e.flags|=2048)}else{if(r=Dte(r,t,Yd),r!==null){yo=r;return}if(r=t,r.tag!==24&&r.tag!==23||r.memoizedState===null||Yd&1073741824||!(r.mode&4)){for(var o=0,a=r.child;a!==null;)o|=a.lanes|a.childLanes,a=a.sibling;r.childLanes=o}e!==null&&!(e.flags&2048)&&(e.firstEffect===null&&(e.firstEffect=t.firstEffect),t.lastEffect!==null&&(e.lastEffect!==null&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1s&&(i=s,s=w,w=i),i=XN(T,w),n=XN(T,s),i&&n&&(v.rangeCount!==1||v.anchorNode!==i.node||v.anchorOffset!==i.offset||v.focusNode!==n.node||v.focusOffset!==n.offset)&&(b=b.createRange(),b.setStart(i.node,i.offset),v.removeAllRanges(),w>s?(v.addRange(b),v.extend(n.node,n.offset)):(b.setEnd(n.node,n.offset),v.addRange(b)))))),b=[],v=T;v=v.parentNode;)v.nodeType===1&&b.push({element:v,left:v.scrollLeft,top:v.scrollTop});for(typeof T.focus=="function"&&T.focus(),T=0;Tsa()-L1?dc(e,0):B1|=r),Hn(e,t)}function qte(e,t){var r=e.stateNode;r!==null&&r.delete(t),t=0,t===0&&(t=e.mode,t&2?t&4?(tl===0&&(tl=yc),t=Jf(62914560&~tl),t===0&&(t=4194304)):t=mc()===99?1:2:t=1),r=dn(),e=rT(e,t),e!==null&&(Kb(e,t,r),Hn(e,r))}var dB;dB=function(e,t,r){var o=t.lanes;if(e!==null)if(e.memoizedProps!==t.pendingProps||Va.current)ws=!0;else if(r&o)ws=!!(e.flags&16384);else{switch(ws=!1,t.tag){case 3:wI(t),sO();break;case 5:mI(t);break;case 1:$a(t.type)&&hb(t);break;case 4:FO(t,t.stateNode.containerInfo);break;case 10:o=t.memoizedProps.value;var a=t.type._context;Wr(Rb,a._currentValue),a._currentValue=o;break;case 13:if(t.memoizedState!==null)return r&t.child.childLanes?_I(e,t,r):(Wr(zr,zr.current&1),t=ol(e,t,r),t!==null?t.sibling:null);Wr(zr,zr.current&1);break;case 19:if(o=(r&t.childLanes)!==0,e.flags&64){if(o)return PI(e,t,r);t.flags|=64}if(a=t.memoizedState,a!==null&&(a.rendering=null,a.tail=null,a.lastEffect=null),Wr(zr,zr.current),o)break;return null;case 23:case 24:return t.lanes=0,iO(e,t,r)}return ol(e,t,r)}else ws=!1;switch(t.lanes=0,t.tag){case 2:if(o=t.type,e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,a=cc(t,la.current),ic(t,r),a=D1(null,t,o,e,a,r),t.flags|=1,typeof a=="object"&&a!==null&&typeof a.render=="function"&&a.$$typeof===void 0){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,$a(o)){var n=!0;hb(t)}else n=!1;t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,k1(t);var s=o.getDerivedStateFromProps;typeof s=="function"&&Mb(t,o,s,e),a.updater=eT,t.stateNode=a,a._reactInternals=t,IO(t,o,e,r),t=zO(null,t,o,!0,n,r)}else t.tag=0,Ha(null,t,a,r),t=t.child;return t;case 16:a=t.elementType;e:{switch(e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,n=a._init,a=n(a._payload),t.type=a,n=t.tag=Jte(a),e=Ss(a,e),n){case 0:t=jO(null,t,a,e,r);break e;case 1:t=SI(null,t,a,e,r);break e;case 11:t=bI(null,t,a,e,r);break e;case 14:t=TI(null,t,a,Ss(a.type,e),o,r);break e}throw Error(Te(306,a,""))}return t;case 0:return o=t.type,a=t.pendingProps,a=t.elementType===o?a:Ss(o,a),jO(e,t,o,a,r);case 1:return o=t.type,a=t.pendingProps,a=t.elementType===o?a:Ss(o,a),SI(e,t,o,a,r);case 3:if(wI(t),o=t.updateQueue,e===null||o===null)throw Error(Te(282));if(o=t.pendingProps,a=t.memoizedState,a=a!==null?a.element:null,IF(e,t),Lx(t,o,null,r),o=t.memoizedState.element,o===a)sO(),t=ol(e,t,r);else{if(a=t.stateNode,(n=a.hydrate)&&(Ql=sc(t.stateNode.containerInfo.firstChild),rl=t,n=ci=!0),n){if(e=a.mutableSourceEagerHydrationData,e!=null)for(a=0;a{"use strict";function cB(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__=="undefined"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(cB)}catch(e){console.error(e)}}cB(),mB.exports=fB()});var zB=L(Vt=>{"use strict";var No=typeof Symbol=="function"&&Symbol.for,q1=No?Symbol.for("react.element"):60103,K1=No?Symbol.for("react.portal"):60106,fT=No?Symbol.for("react.fragment"):60107,cT=No?Symbol.for("react.strict_mode"):60108,mT=No?Symbol.for("react.profiler"):60114,hT=No?Symbol.for("react.provider"):60109,xT=No?Symbol.for("react.context"):60110,J1=No?Symbol.for("react.async_mode"):60111,gT=No?Symbol.for("react.concurrent_mode"):60111,yT=No?Symbol.for("react.forward_ref"):60112,vT=No?Symbol.for("react.suspense"):60113,mre=No?Symbol.for("react.suspense_list"):60120,bT=No?Symbol.for("react.memo"):60115,TT=No?Symbol.for("react.lazy"):60116,hre=No?Symbol.for("react.block"):60121,xre=No?Symbol.for("react.fundamental"):60117,gre=No?Symbol.for("react.responder"):60118,yre=No?Symbol.for("react.scope"):60119;function fn(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case q1:switch(e=e.type,e){case J1:case gT:case fT:case mT:case cT:case vT:return e;default:switch(e=e&&e.$$typeof,e){case xT:case yT:case TT:case bT:case hT:return e;default:return t}}case K1:return t}}}function jB(e){return fn(e)===gT}Vt.AsyncMode=J1;Vt.ConcurrentMode=gT;Vt.ContextConsumer=xT;Vt.ContextProvider=hT;Vt.Element=q1;Vt.ForwardRef=yT;Vt.Fragment=fT;Vt.Lazy=TT;Vt.Memo=bT;Vt.Portal=K1;Vt.Profiler=mT;Vt.StrictMode=cT;Vt.Suspense=vT;Vt.isAsyncMode=function(e){return jB(e)||fn(e)===J1};Vt.isConcurrentMode=jB;Vt.isContextConsumer=function(e){return fn(e)===xT};Vt.isContextProvider=function(e){return fn(e)===hT};Vt.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===q1};Vt.isForwardRef=function(e){return fn(e)===yT};Vt.isFragment=function(e){return fn(e)===fT};Vt.isLazy=function(e){return fn(e)===TT};Vt.isMemo=function(e){return fn(e)===bT};Vt.isPortal=function(e){return fn(e)===K1};Vt.isProfiler=function(e){return fn(e)===mT};Vt.isStrictMode=function(e){return fn(e)===cT};Vt.isSuspense=function(e){return fn(e)===vT};Vt.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===fT||e===gT||e===mT||e===cT||e===vT||e===mre||typeof e=="object"&&e!==null&&(e.$$typeof===TT||e.$$typeof===bT||e.$$typeof===hT||e.$$typeof===xT||e.$$typeof===yT||e.$$typeof===xre||e.$$typeof===gre||e.$$typeof===yre||e.$$typeof===hre)};Vt.typeOf=fn});var UB=L((YNe,WB)=>{"use strict";WB.exports=zB()});var JB=L((ZNe,KB)=>{"use strict";var X1=UB(),vre={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},bre={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},Tre={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},GB={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},Y1={};Y1[X1.ForwardRef]=Tre;Y1[X1.Memo]=GB;function HB(e){return X1.isMemo(e)?GB:Y1[e.$$typeof]||vre}var Sre=Object.defineProperty,wre=Object.getOwnPropertyNames,VB=Object.getOwnPropertySymbols,_re=Object.getOwnPropertyDescriptor,Cre=Object.getPrototypeOf,$B=Object.prototype;function qB(e,t,r){if(typeof t!="string"){if($B){var o=Cre(t);o&&o!==$B&&qB(e,o,r)}var a=wre(t);VB&&(a=a.concat(VB(t)));for(var n=HB(e),s=HB(t),i=0;i{"use strict";var zre="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";pL.exports=zre});var mL=L((JIe,cL)=>{"use strict";var Wre=dL();function uL(){}function fL(){}fL.resetWarningCache=uL;cL.exports=function(){function e(o,a,n,s,i,p){if(p!==Wre){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}e.isRequired=e;function t(){return e}var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:fL,resetWarningCache:uL};return r.PropTypes=r,r}});var Io=L((ZIe,hL)=>{"use strict";hL.exports=mL()();var XIe,YIe});var yL=L(rg=>{"use strict";Hv();var Ure=D(),xL=60103;rg.Fragment=60107;typeof Symbol=="function"&&Symbol.for&&(ek=Symbol.for,xL=ek("react.element"),rg.Fragment=ek("react.fragment"));var ek,Hre=Ure.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Vre=Object.prototype.hasOwnProperty,$re={key:!0,ref:!0,__self:!0,__source:!0};function gL(e,t,r){var o,a={},n=null,s=null;r!==void 0&&(n=""+r),t.key!==void 0&&(n=""+t.key),t.ref!==void 0&&(s=t.ref);for(o in t)Vre.call(t,o)&&!$re.hasOwnProperty(o)&&(a[o]=t[o]);if(e&&e.defaultProps)for(o in t=e.defaultProps,t)a[o]===void 0&&(a[o]=t[o]);return{$$typeof:xL,type:e,key:n,ref:s,props:a,_owner:Hre.current}}rg.jsx=gL;rg.jsxs=gL});var $=L((eFe,vL)=>{"use strict";vL.exports=yL()});var jL=L($t=>{"use strict";var uk=Symbol.for("react.element"),fk=Symbol.for("react.portal"),RT=Symbol.for("react.fragment"),DT=Symbol.for("react.strict_mode"),AT=Symbol.for("react.profiler"),MT=Symbol.for("react.provider"),NT=Symbol.for("react.context"),Xoe=Symbol.for("react.server_context"),IT=Symbol.for("react.forward_ref"),FT=Symbol.for("react.suspense"),BT=Symbol.for("react.suspense_list"),LT=Symbol.for("react.memo"),jT=Symbol.for("react.lazy"),Yoe=Symbol.for("react.offscreen"),LL;LL=Symbol.for("react.module.reference");function Jn(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case uk:switch(e=e.type,e){case RT:case AT:case DT:case FT:case BT:return e;default:switch(e=e&&e.$$typeof,e){case Xoe:case NT:case IT:case jT:case LT:case MT:return e;default:return t}}case fk:return t}}}$t.ContextConsumer=NT;$t.ContextProvider=MT;$t.Element=uk;$t.ForwardRef=IT;$t.Fragment=RT;$t.Lazy=jT;$t.Memo=LT;$t.Portal=fk;$t.Profiler=AT;$t.StrictMode=DT;$t.Suspense=FT;$t.SuspenseList=BT;$t.isAsyncMode=function(){return!1};$t.isConcurrentMode=function(){return!1};$t.isContextConsumer=function(e){return Jn(e)===NT};$t.isContextProvider=function(e){return Jn(e)===MT};$t.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===uk};$t.isForwardRef=function(e){return Jn(e)===IT};$t.isFragment=function(e){return Jn(e)===RT};$t.isLazy=function(e){return Jn(e)===jT};$t.isMemo=function(e){return Jn(e)===LT};$t.isPortal=function(e){return Jn(e)===fk};$t.isProfiler=function(e){return Jn(e)===AT};$t.isStrictMode=function(e){return Jn(e)===DT};$t.isSuspense=function(e){return Jn(e)===FT};$t.isSuspenseList=function(e){return Jn(e)===BT};$t.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===RT||e===AT||e===DT||e===FT||e===BT||e===Yoe||typeof e=="object"&&e!==null&&(e.$$typeof===jT||e.$$typeof===LT||e.$$typeof===MT||e.$$typeof===NT||e.$$typeof===IT||e.$$typeof===LL||e.getModuleId!==void 0)};$t.typeOf=Jn});var Ic=L((FLe,zL)=>{"use strict";zL.exports=jL()});var oD=L((b1t,G9)=>{"use strict";var Zhe=typeof global=="object"&&global&&global.Object===Object&&global;G9.exports=Zhe});var $s=L((T1t,q9)=>{"use strict";var Qhe=oD(),exe=typeof self=="object"&&self&&self.Object===Object&&self,txe=Qhe||exe||Function("return this")();q9.exports=txe});var Hm=L((S1t,K9)=>{"use strict";var rxe=$s(),oxe=rxe.Symbol;K9.exports=oxe});var Z9=L((w1t,Y9)=>{"use strict";var J9=Hm(),X9=Object.prototype,axe=X9.hasOwnProperty,nxe=X9.toString,Ny=J9?J9.toStringTag:void 0;function sxe(e){var t=axe.call(e,Ny),r=e[Ny];try{e[Ny]=void 0;var o=!0}catch(n){}var a=nxe.call(e);return o&&(t?e[Ny]=r:delete e[Ny]),a}Y9.exports=sxe});var e8=L((_1t,Q9)=>{"use strict";var ixe=Object.prototype,lxe=ixe.toString;function pxe(e){return lxe.call(e)}Q9.exports=pxe});var Up=L((C1t,o8)=>{"use strict";var t8=Hm(),dxe=Z9(),uxe=e8(),fxe="[object Null]",cxe="[object Undefined]",r8=t8?t8.toStringTag:void 0;function mxe(e){return e==null?e===void 0?cxe:fxe:r8&&r8 in Object(e)?dxe(e):uxe(e)}o8.exports=mxe});var us=L((O1t,a8)=>{"use strict";var hxe=Array.isArray;a8.exports=hxe});var ji=L((k1t,n8)=>{"use strict";function xxe(e){return e!=null&&typeof e=="object"}n8.exports=xxe});var i8=L((E1t,s8)=>{"use strict";var gxe=Up(),yxe=us(),vxe=ji(),bxe="[object String]";function Txe(e){return typeof e=="string"||!yxe(e)&&vxe(e)&&gxe(e)==bxe}s8.exports=Txe});var p8=L((P1t,l8)=>{"use strict";function Sxe(e){return function(t,r,o){for(var a=-1,n=Object(t),s=o(t),i=s.length;i--;){var p=s[e?i:++a];if(r(n[p],p,n)===!1)break}return t}}l8.exports=Sxe});var u8=L((R1t,d8)=>{"use strict";var wxe=p8(),_xe=wxe();d8.exports=_xe});var c8=L((D1t,f8)=>{"use strict";function Cxe(e,t){for(var r=-1,o=Array(e);++r{"use strict";var Oxe=Up(),kxe=ji(),Exe="[object Arguments]";function Pxe(e){return kxe(e)&&Oxe(e)==Exe}m8.exports=Pxe});var aD=L((M1t,y8)=>{"use strict";var x8=h8(),Rxe=ji(),g8=Object.prototype,Dxe=g8.hasOwnProperty,Axe=g8.propertyIsEnumerable,Mxe=x8(function(){return arguments}())?x8:function(e){return Rxe(e)&&Dxe.call(e,"callee")&&!Axe.call(e,"callee")};y8.exports=Mxe});var b8=L((N1t,v8)=>{"use strict";function Nxe(){return!1}v8.exports=Nxe});var h_=L((Iy,Vm)=>{"use strict";var Ixe=$s(),Fxe=b8(),w8=typeof Iy=="object"&&Iy&&!Iy.nodeType&&Iy,T8=w8&&typeof Vm=="object"&&Vm&&!Vm.nodeType&&Vm,Bxe=T8&&T8.exports===w8,S8=Bxe?Ixe.Buffer:void 0,Lxe=S8?S8.isBuffer:void 0,jxe=Lxe||Fxe;Vm.exports=jxe});var nD=L((I1t,_8)=>{"use strict";var zxe=9007199254740991,Wxe=/^(?:0|[1-9]\d*)$/;function Uxe(e,t){var r=typeof e;return t=t==null?zxe:t,!!t&&(r=="number"||r!="symbol"&&Wxe.test(e))&&e>-1&&e%1==0&&e{"use strict";var Hxe=9007199254740991;function Vxe(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Hxe}C8.exports=Vxe});var k8=L((B1t,O8)=>{"use strict";var $xe=Up(),Gxe=x_(),qxe=ji(),Kxe="[object Arguments]",Jxe="[object Array]",Xxe="[object Boolean]",Yxe="[object Date]",Zxe="[object Error]",Qxe="[object Function]",ege="[object Map]",tge="[object Number]",rge="[object Object]",oge="[object RegExp]",age="[object Set]",nge="[object String]",sge="[object WeakMap]",ige="[object ArrayBuffer]",lge="[object DataView]",pge="[object Float32Array]",dge="[object Float64Array]",uge="[object Int8Array]",fge="[object Int16Array]",cge="[object Int32Array]",mge="[object Uint8Array]",hge="[object Uint8ClampedArray]",xge="[object Uint16Array]",gge="[object Uint32Array]",br={};br[pge]=br[dge]=br[uge]=br[fge]=br[cge]=br[mge]=br[hge]=br[xge]=br[gge]=!0;br[Kxe]=br[Jxe]=br[ige]=br[Xxe]=br[lge]=br[Yxe]=br[Zxe]=br[Qxe]=br[ege]=br[tge]=br[rge]=br[oge]=br[age]=br[nge]=br[sge]=!1;function yge(e){return qxe(e)&&Gxe(e.length)&&!!br[$xe(e)]}O8.exports=yge});var g_=L((L1t,E8)=>{"use strict";function vge(e){return function(t){return e(t)}}E8.exports=vge});var y_=L((Fy,$m)=>{"use strict";var bge=oD(),P8=typeof Fy=="object"&&Fy&&!Fy.nodeType&&Fy,By=P8&&typeof $m=="object"&&$m&&!$m.nodeType&&$m,Tge=By&&By.exports===P8,sD=Tge&&bge.process,Sge=function(){try{var e=By&&By.require&&By.require("util").types;return e||sD&&sD.binding&&sD.binding("util")}catch(t){}}();$m.exports=Sge});var iD=L((j1t,A8)=>{"use strict";var wge=k8(),_ge=g_(),R8=y_(),D8=R8&&R8.isTypedArray,Cge=D8?_ge(D8):wge;A8.exports=Cge});var lD=L((z1t,M8)=>{"use strict";var Oge=c8(),kge=aD(),Ege=us(),Pge=h_(),Rge=nD(),Dge=iD(),Age=Object.prototype,Mge=Age.hasOwnProperty;function Nge(e,t){var r=Ege(e),o=!r&&kge(e),a=!r&&!o&&Pge(e),n=!r&&!o&&!a&&Dge(e),s=r||o||a||n,i=s?Oge(e.length,String):[],p=i.length;for(var l in e)(t||Mge.call(e,l))&&!(s&&(l=="length"||a&&(l=="offset"||l=="parent")||n&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||Rge(l,p)))&&i.push(l);return i}M8.exports=Nge});var v_=L((W1t,N8)=>{"use strict";var Ige=Object.prototype;function Fge(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||Ige;return e===r}N8.exports=Fge});var pD=L((U1t,I8)=>{"use strict";function Bge(e,t){return function(r){return e(t(r))}}I8.exports=Bge});var B8=L((H1t,F8)=>{"use strict";var Lge=pD(),jge=Lge(Object.keys,Object);F8.exports=jge});var j8=L((V1t,L8)=>{"use strict";var zge=v_(),Wge=B8(),Uge=Object.prototype,Hge=Uge.hasOwnProperty;function Vge(e){if(!zge(e))return Wge(e);var t=[];for(var r in Object(e))Hge.call(e,r)&&r!="constructor"&&t.push(r);return t}L8.exports=Vge});var pf=L(($1t,z8)=>{"use strict";function $ge(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}z8.exports=$ge});var dD=L((G1t,W8)=>{"use strict";var Gge=Up(),qge=pf(),Kge="[object AsyncFunction]",Jge="[object Function]",Xge="[object GeneratorFunction]",Yge="[object Proxy]";function Zge(e){if(!qge(e))return!1;var t=Gge(e);return t==Jge||t==Xge||t==Kge||t==Yge}W8.exports=Zge});var Ly=L((q1t,U8)=>{"use strict";var Qge=dD(),eye=x_();function tye(e){return e!=null&&eye(e.length)&&!Qge(e)}U8.exports=tye});var Gm=L((K1t,H8)=>{"use strict";var rye=lD(),oye=j8(),aye=Ly();function nye(e){return aye(e)?rye(e):oye(e)}H8.exports=nye});var uD=L((J1t,V8)=>{"use strict";var sye=u8(),iye=Gm();function lye(e,t){return e&&sye(e,t,iye)}V8.exports=lye});var fD=L((X1t,$8)=>{"use strict";function pye(e){return e}$8.exports=pye});var q8=L((Y1t,G8)=>{"use strict";var dye=fD();function uye(e){return typeof e=="function"?e:dye}G8.exports=uye});var b_=L((Z1t,K8)=>{"use strict";var fye=uD(),cye=q8();function mye(e,t){return e&&fye(e,cye(t))}K8.exports=mye});var T_=L((Q1t,J8)=>{"use strict";var hye=pD(),xye=hye(Object.getPrototypeOf,Object);J8.exports=xye});var Z8=L((ekt,Y8)=>{"use strict";var gye=Up(),yye=T_(),vye=ji(),bye="[object Object]",Tye=Function.prototype,Sye=Object.prototype,X8=Tye.toString,wye=Sye.hasOwnProperty,_ye=X8.call(Object);function Cye(e){if(!vye(e)||gye(e)!=bye)return!1;var t=yye(e);if(t===null)return!0;var r=wye.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&X8.call(r)==_ye}Y8.exports=Cye});var cD=L((tkt,Q8)=>{"use strict";function Oye(e,t){for(var r=-1,o=e==null?0:e.length,a=Array(o);++r{"use strict";function kye(){this.__data__=[],this.size=0}eU.exports=kye});var S_=L((okt,rU)=>{"use strict";function Eye(e,t){return e===t||e!==e&&t!==t}rU.exports=Eye});var jy=L((akt,oU)=>{"use strict";var Pye=S_();function Rye(e,t){for(var r=e.length;r--;)if(Pye(e[r][0],t))return r;return-1}oU.exports=Rye});var nU=L((nkt,aU)=>{"use strict";var Dye=jy(),Aye=Array.prototype,Mye=Aye.splice;function Nye(e){var t=this.__data__,r=Dye(t,e);if(r<0)return!1;var o=t.length-1;return r==o?t.pop():Mye.call(t,r,1),--this.size,!0}aU.exports=Nye});var iU=L((skt,sU)=>{"use strict";var Iye=jy();function Fye(e){var t=this.__data__,r=Iye(t,e);return r<0?void 0:t[r][1]}sU.exports=Fye});var pU=L((ikt,lU)=>{"use strict";var Bye=jy();function Lye(e){return Bye(this.__data__,e)>-1}lU.exports=Lye});var uU=L((lkt,dU)=>{"use strict";var jye=jy();function zye(e,t){var r=this.__data__,o=jye(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}dU.exports=zye});var zy=L((pkt,fU)=>{"use strict";var Wye=tU(),Uye=nU(),Hye=iU(),Vye=pU(),$ye=uU();function qm(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t{"use strict";var Gye=zy();function qye(){this.__data__=new Gye,this.size=0}cU.exports=qye});var xU=L((ukt,hU)=>{"use strict";function Kye(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}hU.exports=Kye});var yU=L((fkt,gU)=>{"use strict";function Jye(e){return this.__data__.get(e)}gU.exports=Jye});var bU=L((ckt,vU)=>{"use strict";function Xye(e){return this.__data__.has(e)}vU.exports=Xye});var SU=L((mkt,TU)=>{"use strict";var Yye=$s(),Zye=Yye["__core-js_shared__"];TU.exports=Zye});var CU=L((hkt,_U)=>{"use strict";var mD=SU(),wU=function(){var e=/[^.]+$/.exec(mD&&mD.keys&&mD.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Qye(e){return!!wU&&wU in e}_U.exports=Qye});var hD=L((xkt,OU)=>{"use strict";var eve=Function.prototype,tve=eve.toString;function rve(e){if(e!=null){try{return tve.call(e)}catch(t){}try{return e+""}catch(t){}}return""}OU.exports=rve});var EU=L((gkt,kU)=>{"use strict";var ove=dD(),ave=CU(),nve=pf(),sve=hD(),ive=/[\\^$.*+?()[\]{}|]/g,lve=/^\[object .+?Constructor\]$/,pve=Function.prototype,dve=Object.prototype,uve=pve.toString,fve=dve.hasOwnProperty,cve=RegExp("^"+uve.call(fve).replace(ive,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function mve(e){if(!nve(e)||ave(e))return!1;var t=ove(e)?cve:lve;return t.test(sve(e))}kU.exports=mve});var RU=L((ykt,PU)=>{"use strict";function hve(e,t){return e==null?void 0:e[t]}PU.exports=hve});var Hp=L((vkt,DU)=>{"use strict";var xve=EU(),gve=RU();function yve(e,t){var r=gve(e,t);return xve(r)?r:void 0}DU.exports=yve});var w_=L((bkt,AU)=>{"use strict";var vve=Hp(),bve=$s(),Tve=vve(bve,"Map");AU.exports=Tve});var Wy=L((Tkt,MU)=>{"use strict";var Sve=Hp(),wve=Sve(Object,"create");MU.exports=wve});var FU=L((Skt,IU)=>{"use strict";var NU=Wy();function _ve(){this.__data__=NU?NU(null):{},this.size=0}IU.exports=_ve});var LU=L((wkt,BU)=>{"use strict";function Cve(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}BU.exports=Cve});var zU=L((_kt,jU)=>{"use strict";var Ove=Wy(),kve="__lodash_hash_undefined__",Eve=Object.prototype,Pve=Eve.hasOwnProperty;function Rve(e){var t=this.__data__;if(Ove){var r=t[e];return r===kve?void 0:r}return Pve.call(t,e)?t[e]:void 0}jU.exports=Rve});var UU=L((Ckt,WU)=>{"use strict";var Dve=Wy(),Ave=Object.prototype,Mve=Ave.hasOwnProperty;function Nve(e){var t=this.__data__;return Dve?t[e]!==void 0:Mve.call(t,e)}WU.exports=Nve});var VU=L((Okt,HU)=>{"use strict";var Ive=Wy(),Fve="__lodash_hash_undefined__";function Bve(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ive&&t===void 0?Fve:t,this}HU.exports=Bve});var GU=L((kkt,$U)=>{"use strict";var Lve=FU(),jve=LU(),zve=zU(),Wve=UU(),Uve=VU();function Km(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t{"use strict";var qU=GU(),Hve=zy(),Vve=w_();function $ve(){this.size=0,this.__data__={hash:new qU,map:new(Vve||Hve),string:new qU}}KU.exports=$ve});var YU=L((Pkt,XU)=>{"use strict";function Gve(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}XU.exports=Gve});var Uy=L((Rkt,ZU)=>{"use strict";var qve=YU();function Kve(e,t){var r=e.__data__;return qve(t)?r[typeof t=="string"?"string":"hash"]:r.map}ZU.exports=Kve});var eH=L((Dkt,QU)=>{"use strict";var Jve=Uy();function Xve(e){var t=Jve(this,e).delete(e);return this.size-=t?1:0,t}QU.exports=Xve});var rH=L((Akt,tH)=>{"use strict";var Yve=Uy();function Zve(e){return Yve(this,e).get(e)}tH.exports=Zve});var aH=L((Mkt,oH)=>{"use strict";var Qve=Uy();function ebe(e){return Qve(this,e).has(e)}oH.exports=ebe});var sH=L((Nkt,nH)=>{"use strict";var tbe=Uy();function rbe(e,t){var r=tbe(this,e),o=r.size;return r.set(e,t),this.size+=r.size==o?0:1,this}nH.exports=rbe});var __=L((Ikt,iH)=>{"use strict";var obe=JU(),abe=eH(),nbe=rH(),sbe=aH(),ibe=sH();function Jm(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t{"use strict";var lbe=zy(),pbe=w_(),dbe=__(),ube=200;function fbe(e,t){var r=this.__data__;if(r instanceof lbe){var o=r.__data__;if(!pbe||o.length{"use strict";var cbe=zy(),mbe=mU(),hbe=xU(),xbe=yU(),gbe=bU(),ybe=pH();function Xm(e){var t=this.__data__=new cbe(e);this.size=t.size}Xm.prototype.clear=mbe;Xm.prototype.delete=hbe;Xm.prototype.get=xbe;Xm.prototype.has=gbe;Xm.prototype.set=ybe;dH.exports=Xm});var fH=L((Lkt,uH)=>{"use strict";var vbe="__lodash_hash_undefined__";function bbe(e){return this.__data__.set(e,vbe),this}uH.exports=bbe});var mH=L((jkt,cH)=>{"use strict";function Tbe(e){return this.__data__.has(e)}cH.exports=Tbe});var xH=L((zkt,hH)=>{"use strict";var Sbe=__(),wbe=fH(),_be=mH();function O_(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Sbe;++t{"use strict";function Cbe(e,t){for(var r=-1,o=e==null?0:e.length;++r{"use strict";function Obe(e,t){return e.has(t)}vH.exports=Obe});var xD=L((Hkt,TH)=>{"use strict";var kbe=xH(),Ebe=yH(),Pbe=bH(),Rbe=1,Dbe=2;function Abe(e,t,r,o,a,n){var s=r&Rbe,i=e.length,p=t.length;if(i!=p&&!(s&&p>i))return!1;var l=n.get(e),d=n.get(t);if(l&&d)return l==t&&d==e;var u=-1,f=!0,c=r&Dbe?new kbe:void 0;for(n.set(e,t),n.set(t,e);++u{"use strict";var Mbe=$s(),Nbe=Mbe.Uint8Array;SH.exports=Nbe});var _H=L(($kt,wH)=>{"use strict";function Ibe(e){var t=-1,r=Array(e.size);return e.forEach(function(o,a){r[++t]=[a,o]}),r}wH.exports=Ibe});var OH=L((Gkt,CH)=>{"use strict";function Fbe(e){var t=-1,r=Array(e.size);return e.forEach(function(o){r[++t]=o}),r}CH.exports=Fbe});var DH=L((qkt,RH)=>{"use strict";var kH=Hm(),EH=gD(),Bbe=S_(),Lbe=xD(),jbe=_H(),zbe=OH(),Wbe=1,Ube=2,Hbe="[object Boolean]",Vbe="[object Date]",$be="[object Error]",Gbe="[object Map]",qbe="[object Number]",Kbe="[object RegExp]",Jbe="[object Set]",Xbe="[object String]",Ybe="[object Symbol]",Zbe="[object ArrayBuffer]",Qbe="[object DataView]",PH=kH?kH.prototype:void 0,yD=PH?PH.valueOf:void 0;function eTe(e,t,r,o,a,n,s){switch(r){case Qbe:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Zbe:return!(e.byteLength!=t.byteLength||!n(new EH(e),new EH(t)));case Hbe:case Vbe:case qbe:return Bbe(+e,+t);case $be:return e.name==t.name&&e.message==t.message;case Kbe:case Xbe:return e==t+"";case Gbe:var i=jbe;case Jbe:var p=o&Wbe;if(i||(i=zbe),e.size!=t.size&&!p)return!1;var l=s.get(e);if(l)return l==t;o|=Ube,s.set(e,t);var d=Lbe(i(e),i(t),o,a,n,s);return s.delete(e),d;case Ybe:if(yD)return yD.call(e)==yD.call(t)}return!1}RH.exports=eTe});var vD=L((Kkt,AH)=>{"use strict";function tTe(e,t){for(var r=-1,o=t.length,a=e.length;++r{"use strict";var rTe=vD(),oTe=us();function aTe(e,t,r){var o=t(e);return oTe(e)?o:rTe(o,r(e))}MH.exports=aTe});var IH=L((Xkt,NH)=>{"use strict";function nTe(e,t){for(var r=-1,o=e==null?0:e.length,a=0,n=[];++r{"use strict";function sTe(){return[]}FH.exports=sTe});var k_=L((Zkt,LH)=>{"use strict";var iTe=IH(),lTe=TD(),pTe=Object.prototype,dTe=pTe.propertyIsEnumerable,BH=Object.getOwnPropertySymbols,uTe=BH?function(e){return e==null?[]:(e=Object(e),iTe(BH(e),function(t){return dTe.call(e,t)}))}:lTe;LH.exports=uTe});var SD=L((Qkt,jH)=>{"use strict";var fTe=bD(),cTe=k_(),mTe=Gm();function hTe(e){return fTe(e,mTe,cTe)}jH.exports=hTe});var UH=L((eEt,WH)=>{"use strict";var zH=SD(),xTe=1,gTe=Object.prototype,yTe=gTe.hasOwnProperty;function vTe(e,t,r,o,a,n){var s=r&xTe,i=zH(e),p=i.length,l=zH(t),d=l.length;if(p!=d&&!s)return!1;for(var u=p;u--;){var f=i[u];if(!(s?f in t:yTe.call(t,f)))return!1}var c=n.get(e),h=n.get(t);if(c&&h)return c==t&&h==e;var g=!0;n.set(e,t),n.set(t,e);for(var m=s;++u{"use strict";var bTe=Hp(),TTe=$s(),STe=bTe(TTe,"DataView");HH.exports=STe});var GH=L((rEt,$H)=>{"use strict";var wTe=Hp(),_Te=$s(),CTe=wTe(_Te,"Promise");$H.exports=CTe});var KH=L((oEt,qH)=>{"use strict";var OTe=Hp(),kTe=$s(),ETe=OTe(kTe,"Set");qH.exports=ETe});var XH=L((aEt,JH)=>{"use strict";var PTe=Hp(),RTe=$s(),DTe=PTe(RTe,"WeakMap");JH.exports=DTe});var Hy=L((nEt,oV)=>{"use strict";var wD=VH(),_D=w_(),CD=GH(),OD=KH(),kD=XH(),rV=Up(),Ym=hD(),YH="[object Map]",ATe="[object Object]",ZH="[object Promise]",QH="[object Set]",eV="[object WeakMap]",tV="[object DataView]",MTe=Ym(wD),NTe=Ym(_D),ITe=Ym(CD),FTe=Ym(OD),BTe=Ym(kD),df=rV;(wD&&df(new wD(new ArrayBuffer(1)))!=tV||_D&&df(new _D)!=YH||CD&&df(CD.resolve())!=ZH||OD&&df(new OD)!=QH||kD&&df(new kD)!=eV)&&(df=function(e){var t=rV(e),r=t==ATe?e.constructor:void 0,o=r?Ym(r):"";if(o)switch(o){case MTe:return tV;case NTe:return YH;case ITe:return ZH;case FTe:return QH;case BTe:return eV}return t});oV.exports=df});var uV=L((sEt,dV)=>{"use strict";var ED=C_(),LTe=xD(),jTe=DH(),zTe=UH(),aV=Hy(),nV=us(),sV=h_(),WTe=iD(),UTe=1,iV="[object Arguments]",lV="[object Array]",E_="[object Object]",HTe=Object.prototype,pV=HTe.hasOwnProperty;function VTe(e,t,r,o,a,n){var s=nV(e),i=nV(t),p=s?lV:aV(e),l=i?lV:aV(t);p=p==iV?E_:p,l=l==iV?E_:l;var d=p==E_,u=l==E_,f=p==l;if(f&&sV(e)){if(!sV(t))return!1;s=!0,d=!1}if(f&&!d)return n||(n=new ED),s||WTe(e)?LTe(e,t,r,o,a,n):jTe(e,t,p,r,o,a,n);if(!(r&UTe)){var c=d&&pV.call(e,"__wrapped__"),h=u&&pV.call(t,"__wrapped__");if(c||h){var g=c?e.value():e,m=h?t.value():t;return n||(n=new ED),a(g,m,r,o,n)}}return f?(n||(n=new ED),zTe(e,t,r,o,a,n)):!1}dV.exports=VTe});var PD=L((iEt,mV)=>{"use strict";var $Te=uV(),fV=ji();function cV(e,t,r,o,a){return e===t?!0:e==null||t==null||!fV(e)&&!fV(t)?e!==e&&t!==t:$Te(e,t,r,o,cV,a)}mV.exports=cV});var xV=L((lEt,hV)=>{"use strict";var GTe=C_(),qTe=PD(),KTe=1,JTe=2;function XTe(e,t,r,o){var a=r.length,n=a,s=!o;if(e==null)return!n;for(e=Object(e);a--;){var i=r[a];if(s&&i[2]?i[1]!==e[i[0]]:!(i[0]in e))return!1}for(;++a{"use strict";var YTe=pf();function ZTe(e){return e===e&&!YTe(e)}gV.exports=ZTe});var vV=L((dEt,yV)=>{"use strict";var QTe=RD(),eSe=Gm();function tSe(e){for(var t=eSe(e),r=t.length;r--;){var o=t[r],a=e[o];t[r]=[o,a,QTe(a)]}return t}yV.exports=tSe});var DD=L((uEt,bV)=>{"use strict";function rSe(e,t){return function(r){return r==null?!1:r[e]===t&&(t!==void 0||e in Object(r))}}bV.exports=rSe});var SV=L((fEt,TV)=>{"use strict";var oSe=xV(),aSe=vV(),nSe=DD();function sSe(e){var t=aSe(e);return t.length==1&&t[0][2]?nSe(t[0][0],t[0][1]):function(r){return r===e||oSe(r,e,t)}}TV.exports=sSe});var P_=L((cEt,wV)=>{"use strict";var iSe=Up(),lSe=ji(),pSe="[object Symbol]";function dSe(e){return typeof e=="symbol"||lSe(e)&&iSe(e)==pSe}wV.exports=dSe});var R_=L((mEt,_V)=>{"use strict";var uSe=us(),fSe=P_(),cSe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,mSe=/^\w*$/;function hSe(e,t){if(uSe(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||fSe(e)?!0:mSe.test(e)||!cSe.test(e)||t!=null&&e in Object(t)}_V.exports=hSe});var kV=L((hEt,OV)=>{"use strict";var CV=__(),xSe="Expected a function";function AD(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(xSe);var r=function(){var o=arguments,a=t?t.apply(this,o):o[0],n=r.cache;if(n.has(a))return n.get(a);var s=e.apply(this,o);return r.cache=n.set(a,s)||n,s};return r.cache=new(AD.Cache||CV),r}AD.Cache=CV;OV.exports=AD});var PV=L((xEt,EV)=>{"use strict";var gSe=kV(),ySe=500;function vSe(e){var t=gSe(e,function(o){return r.size===ySe&&r.clear(),o}),r=t.cache;return t}EV.exports=vSe});var DV=L((gEt,RV)=>{"use strict";var bSe=PV(),TSe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,SSe=/\\(\\)?/g,wSe=bSe(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(TSe,function(r,o,a,n){t.push(a?n.replace(SSe,"$1"):o||r)}),t});RV.exports=wSe});var BV=L((yEt,FV)=>{"use strict";var AV=Hm(),_Se=cD(),CSe=us(),OSe=P_(),kSe=1/0,MV=AV?AV.prototype:void 0,NV=MV?MV.toString:void 0;function IV(e){if(typeof e=="string")return e;if(CSe(e))return _Se(e,IV)+"";if(OSe(e))return NV?NV.call(e):"";var t=e+"";return t=="0"&&1/e==-kSe?"-0":t}FV.exports=IV});var jV=L((vEt,LV)=>{"use strict";var ESe=BV();function PSe(e){return e==null?"":ESe(e)}LV.exports=PSe});var MD=L((bEt,zV)=>{"use strict";var RSe=us(),DSe=R_(),ASe=DV(),MSe=jV();function NSe(e,t){return RSe(e)?e:DSe(e,t)?[e]:ASe(MSe(e))}zV.exports=NSe});var Vy=L((TEt,WV)=>{"use strict";var ISe=P_(),FSe=1/0;function BSe(e){if(typeof e=="string"||ISe(e))return e;var t=e+"";return t=="0"&&1/e==-FSe?"-0":t}WV.exports=BSe});var ND=L((SEt,UV)=>{"use strict";var LSe=MD(),jSe=Vy();function zSe(e,t){t=LSe(t,e);for(var r=0,o=t.length;e!=null&&r{"use strict";var WSe=ND();function USe(e,t,r){var o=e==null?void 0:WSe(e,t);return o===void 0?r:o}HV.exports=USe});var GV=L((_Et,$V)=>{"use strict";function HSe(e,t){return e!=null&&t in Object(e)}$V.exports=HSe});var KV=L((CEt,qV)=>{"use strict";var VSe=MD(),$Se=aD(),GSe=us(),qSe=nD(),KSe=x_(),JSe=Vy();function XSe(e,t,r){t=VSe(t,e);for(var o=-1,a=t.length,n=!1;++o{"use strict";var YSe=GV(),ZSe=KV();function QSe(e,t){return e!=null&&ZSe(e,t,YSe)}JV.exports=QSe});var ZV=L((kEt,YV)=>{"use strict";var ewe=PD(),twe=VV(),rwe=XV(),owe=R_(),awe=RD(),nwe=DD(),swe=Vy(),iwe=1,lwe=2;function pwe(e,t){return owe(e)&&awe(t)?nwe(swe(e),t):function(r){var o=twe(r,e);return o===void 0&&o===t?rwe(r,e):ewe(t,o,iwe|lwe)}}YV.exports=pwe});var e$=L((EEt,QV)=>{"use strict";function dwe(e){return function(t){return t==null?void 0:t[e]}}QV.exports=dwe});var r$=L((PEt,t$)=>{"use strict";var uwe=ND();function fwe(e){return function(t){return uwe(t,e)}}t$.exports=fwe});var a$=L((REt,o$)=>{"use strict";var cwe=e$(),mwe=r$(),hwe=R_(),xwe=Vy();function gwe(e){return hwe(e)?cwe(xwe(e)):mwe(e)}o$.exports=gwe});var s$=L((DEt,n$)=>{"use strict";var ywe=SV(),vwe=ZV(),bwe=fD(),Twe=us(),Swe=a$();function wwe(e){return typeof e=="function"?e:e==null?bwe:typeof e=="object"?Twe(e)?vwe(e[0],e[1]):ywe(e):Swe(e)}n$.exports=wwe});var l$=L((AEt,i$)=>{"use strict";var _we=Ly();function Cwe(e,t){return function(r,o){if(r==null)return r;if(!_we(r))return e(r,o);for(var a=r.length,n=t?a:-1,s=Object(r);(t?n--:++n{"use strict";var Owe=uD(),kwe=l$(),Ewe=kwe(Owe);p$.exports=Ewe});var f$=L((NEt,u$)=>{"use strict";var Pwe=d$(),Rwe=Ly();function Dwe(e,t){var r=-1,o=Rwe(e)?Array(e.length):[];return Pwe(e,function(a,n,s){o[++r]=t(a,n,s)}),o}u$.exports=Dwe});var m$=L((IEt,c$)=>{"use strict";var Awe=cD(),Mwe=s$(),Nwe=f$(),Iwe=us();function Fwe(e,t){var r=Iwe(e)?Awe:Nwe;return r(e,Mwe(t,3))}c$.exports=Fwe});var h$=L($y=>{"use strict";Object.defineProperty($y,"__esModule",{value:!0});$y.flattenNames=void 0;var Bwe=i8(),Lwe=D_(Bwe),jwe=b_(),zwe=D_(jwe),Wwe=Z8(),Uwe=D_(Wwe),Hwe=m$(),Vwe=D_(Hwe);function D_(e){return e&&e.__esModule?e:{default:e}}var $we=$y.flattenNames=function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=[];return(0,Vwe.default)(t,function(o){Array.isArray(o)?e(o).map(function(a){return r.push(a)}):(0,Uwe.default)(o)?(0,zwe.default)(o,function(a,n){a===!0&&r.push(n),r.push(n+"-"+a)}):(0,Lwe.default)(o)&&r.push(o)}),r};$y.default=$we});var g$=L((BEt,x$)=>{"use strict";function Gwe(e,t){for(var r=-1,o=e==null?0:e.length;++r{"use strict";var qwe=Hp(),Kwe=function(){try{var e=qwe(Object,"defineProperty");return e({},"",{}),e}catch(t){}}();y$.exports=Kwe});var ID=L((jEt,T$)=>{"use strict";var b$=v$();function Jwe(e,t,r){t=="__proto__"&&b$?b$(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}T$.exports=Jwe});var FD=L((zEt,S$)=>{"use strict";var Xwe=ID(),Ywe=S_(),Zwe=Object.prototype,Qwe=Zwe.hasOwnProperty;function e_e(e,t,r){var o=e[t];(!(Qwe.call(e,t)&&Ywe(o,r))||r===void 0&&!(t in e))&&Xwe(e,t,r)}S$.exports=e_e});var Gy=L((WEt,w$)=>{"use strict";var t_e=FD(),r_e=ID();function o_e(e,t,r,o){var a=!r;r||(r={});for(var n=-1,s=t.length;++n{"use strict";var a_e=Gy(),n_e=Gm();function s_e(e,t){return e&&a_e(t,n_e(t),e)}_$.exports=s_e});var k$=L((HEt,O$)=>{"use strict";function i_e(e){var t=[];if(e!=null)for(var r in Object(e))t.push(r);return t}O$.exports=i_e});var P$=L((VEt,E$)=>{"use strict";var l_e=pf(),p_e=v_(),d_e=k$(),u_e=Object.prototype,f_e=u_e.hasOwnProperty;function c_e(e){if(!l_e(e))return d_e(e);var t=p_e(e),r=[];for(var o in e)o=="constructor"&&(t||!f_e.call(e,o))||r.push(o);return r}E$.exports=c_e});var A_=L(($Et,R$)=>{"use strict";var m_e=lD(),h_e=P$(),x_e=Ly();function g_e(e){return x_e(e)?m_e(e,!0):h_e(e)}R$.exports=g_e});var A$=L((GEt,D$)=>{"use strict";var y_e=Gy(),v_e=A_();function b_e(e,t){return e&&y_e(t,v_e(t),e)}D$.exports=b_e});var B$=L((qy,Zm)=>{"use strict";var T_e=$s(),F$=typeof qy=="object"&&qy&&!qy.nodeType&&qy,M$=F$&&typeof Zm=="object"&&Zm&&!Zm.nodeType&&Zm,S_e=M$&&M$.exports===F$,N$=S_e?T_e.Buffer:void 0,I$=N$?N$.allocUnsafe:void 0;function w_e(e,t){if(t)return e.slice();var r=e.length,o=I$?I$(r):new e.constructor(r);return e.copy(o),o}Zm.exports=w_e});var j$=L((qEt,L$)=>{"use strict";function __e(e,t){var r=-1,o=e.length;for(t||(t=Array(o));++r{"use strict";var C_e=Gy(),O_e=k_();function k_e(e,t){return C_e(e,O_e(e),t)}z$.exports=k_e});var BD=L((JEt,U$)=>{"use strict";var E_e=vD(),P_e=T_(),R_e=k_(),D_e=TD(),A_e=Object.getOwnPropertySymbols,M_e=A_e?function(e){for(var t=[];e;)E_e(t,R_e(e)),e=P_e(e);return t}:D_e;U$.exports=M_e});var V$=L((XEt,H$)=>{"use strict";var N_e=Gy(),I_e=BD();function F_e(e,t){return N_e(e,I_e(e),t)}H$.exports=F_e});var G$=L((YEt,$$)=>{"use strict";var B_e=bD(),L_e=BD(),j_e=A_();function z_e(e){return B_e(e,j_e,L_e)}$$.exports=z_e});var K$=L((ZEt,q$)=>{"use strict";var W_e=Object.prototype,U_e=W_e.hasOwnProperty;function H_e(e){var t=e.length,r=new e.constructor(t);return t&&typeof e[0]=="string"&&U_e.call(e,"index")&&(r.index=e.index,r.input=e.input),r}q$.exports=H_e});var M_=L((QEt,X$)=>{"use strict";var J$=gD();function V_e(e){var t=new e.constructor(e.byteLength);return new J$(t).set(new J$(e)),t}X$.exports=V_e});var Z$=L((ePt,Y$)=>{"use strict";var $_e=M_();function G_e(e,t){var r=t?$_e(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}Y$.exports=G_e});var e7=L((tPt,Q$)=>{"use strict";var q_e=/\w*$/;function K_e(e){var t=new e.constructor(e.source,q_e.exec(e));return t.lastIndex=e.lastIndex,t}Q$.exports=K_e});var n7=L((rPt,a7)=>{"use strict";var t7=Hm(),r7=t7?t7.prototype:void 0,o7=r7?r7.valueOf:void 0;function J_e(e){return o7?Object(o7.call(e)):{}}a7.exports=J_e});var i7=L((oPt,s7)=>{"use strict";var X_e=M_();function Y_e(e,t){var r=t?X_e(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}s7.exports=Y_e});var p7=L((aPt,l7)=>{"use strict";var Z_e=M_(),Q_e=Z$(),e0e=e7(),t0e=n7(),r0e=i7(),o0e="[object Boolean]",a0e="[object Date]",n0e="[object Map]",s0e="[object Number]",i0e="[object RegExp]",l0e="[object Set]",p0e="[object String]",d0e="[object Symbol]",u0e="[object ArrayBuffer]",f0e="[object DataView]",c0e="[object Float32Array]",m0e="[object Float64Array]",h0e="[object Int8Array]",x0e="[object Int16Array]",g0e="[object Int32Array]",y0e="[object Uint8Array]",v0e="[object Uint8ClampedArray]",b0e="[object Uint16Array]",T0e="[object Uint32Array]";function S0e(e,t,r){var o=e.constructor;switch(t){case u0e:return Z_e(e);case o0e:case a0e:return new o(+e);case f0e:return Q_e(e,r);case c0e:case m0e:case h0e:case x0e:case g0e:case y0e:case v0e:case b0e:case T0e:return r0e(e,r);case n0e:return new o;case s0e:case p0e:return new o(e);case i0e:return e0e(e);case l0e:return new o;case d0e:return t0e(e)}}l7.exports=S0e});var f7=L((nPt,u7)=>{"use strict";var w0e=pf(),d7=Object.create,_0e=function(){function e(){}return function(t){if(!w0e(t))return{};if(d7)return d7(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();u7.exports=_0e});var m7=L((sPt,c7)=>{"use strict";var C0e=f7(),O0e=T_(),k0e=v_();function E0e(e){return typeof e.constructor=="function"&&!k0e(e)?C0e(O0e(e)):{}}c7.exports=E0e});var x7=L((iPt,h7)=>{"use strict";var P0e=Hy(),R0e=ji(),D0e="[object Map]";function A0e(e){return R0e(e)&&P0e(e)==D0e}h7.exports=A0e});var b7=L((lPt,v7)=>{"use strict";var M0e=x7(),N0e=g_(),g7=y_(),y7=g7&&g7.isMap,I0e=y7?N0e(y7):M0e;v7.exports=I0e});var S7=L((pPt,T7)=>{"use strict";var F0e=Hy(),B0e=ji(),L0e="[object Set]";function j0e(e){return B0e(e)&&F0e(e)==L0e}T7.exports=j0e});var O7=L((dPt,C7)=>{"use strict";var z0e=S7(),W0e=g_(),w7=y_(),_7=w7&&w7.isSet,U0e=_7?W0e(_7):z0e;C7.exports=U0e});var D7=L((uPt,R7)=>{"use strict";var H0e=C_(),V0e=g$(),$0e=FD(),G0e=C$(),q0e=A$(),K0e=B$(),J0e=j$(),X0e=W$(),Y0e=V$(),Z0e=SD(),Q0e=G$(),eCe=Hy(),tCe=K$(),rCe=p7(),oCe=m7(),aCe=us(),nCe=h_(),sCe=b7(),iCe=pf(),lCe=O7(),pCe=Gm(),dCe=A_(),uCe=1,fCe=2,cCe=4,k7="[object Arguments]",mCe="[object Array]",hCe="[object Boolean]",xCe="[object Date]",gCe="[object Error]",E7="[object Function]",yCe="[object GeneratorFunction]",vCe="[object Map]",bCe="[object Number]",P7="[object Object]",TCe="[object RegExp]",SCe="[object Set]",wCe="[object String]",_Ce="[object Symbol]",CCe="[object WeakMap]",OCe="[object ArrayBuffer]",kCe="[object DataView]",ECe="[object Float32Array]",PCe="[object Float64Array]",RCe="[object Int8Array]",DCe="[object Int16Array]",ACe="[object Int32Array]",MCe="[object Uint8Array]",NCe="[object Uint8ClampedArray]",ICe="[object Uint16Array]",FCe="[object Uint32Array]",mr={};mr[k7]=mr[mCe]=mr[OCe]=mr[kCe]=mr[hCe]=mr[xCe]=mr[ECe]=mr[PCe]=mr[RCe]=mr[DCe]=mr[ACe]=mr[vCe]=mr[bCe]=mr[P7]=mr[TCe]=mr[SCe]=mr[wCe]=mr[_Ce]=mr[MCe]=mr[NCe]=mr[ICe]=mr[FCe]=!0;mr[gCe]=mr[E7]=mr[CCe]=!1;function N_(e,t,r,o,a,n){var s,i=t&uCe,p=t&fCe,l=t&cCe;if(r&&(s=a?r(e,o,a,n):r(e)),s!==void 0)return s;if(!iCe(e))return e;var d=aCe(e);if(d){if(s=tCe(e),!i)return J0e(e,s)}else{var u=eCe(e),f=u==E7||u==yCe;if(nCe(e))return K0e(e,i);if(u==P7||u==k7||f&&!a){if(s=p||f?{}:oCe(e),!i)return p?Y0e(e,q0e(s,e)):X0e(e,G0e(s,e))}else{if(!mr[u])return a?e:{};s=rCe(e,u,i)}}n||(n=new H0e);var c=n.get(e);if(c)return c;n.set(e,s),lCe(e)?e.forEach(function(m){s.add(N_(m,t,r,m,e,n))}):sCe(e)&&e.forEach(function(m,x){s.set(x,N_(m,t,r,x,e,n))});var h=l?p?Q0e:Z0e:p?dCe:pCe,g=d?void 0:h(e);return V0e(g||e,function(m,x){g&&(x=m,m=e[x]),$0e(s,x,N_(m,t,r,x,e,n))}),s}R7.exports=N_});var M7=L((fPt,A7)=>{"use strict";var BCe=D7(),LCe=1,jCe=4;function zCe(e){return BCe(e,LCe|jCe)}A7.exports=zCe});var I7=L(Ky=>{"use strict";Object.defineProperty(Ky,"__esModule",{value:!0});Ky.mergeClasses=void 0;var WCe=b_(),UCe=N7(WCe),HCe=M7(),VCe=N7(HCe),$Ce=Object.assign||function(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:[],o=t.default&&(0,VCe.default)(t.default)||{};return r.map(function(a){var n=t[a];return n&&(0,UCe.default)(n,function(s,i){o[i]||(o[i]={}),o[i]=$Ce({},o[i],n[i])}),a}),o};Ky.default=GCe});var B7=L(Jy=>{"use strict";Object.defineProperty(Jy,"__esModule",{value:!0});Jy.autoprefix=void 0;var qCe=b_(),F7=JCe(qCe),KCe=Object.assign||function(e){for(var t=1;t{"use strict";Object.defineProperty(Xy,"__esModule",{value:!0});Xy.hover=void 0;var ZCe=Object.assign||function(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:"span";return function(o){rOe(a,o);function a(){var n,s,i,p;tOe(this,a);for(var l=arguments.length,d=Array(l),u=0;u{"use strict";Object.defineProperty(Yy,"__esModule",{value:!0});Yy.active=void 0;var aOe=Object.assign||function(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:"span";return function(o){lOe(a,o);function a(){var n,s,i,p;iOe(this,a);for(var l=arguments.length,d=Array(l),u=0;u{"use strict";Object.defineProperty(zD,"__esModule",{value:!0});var dOe=function(t,r){var o={},a=function(s){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;o[s]=i};return t===0&&a("first-child"),t===r-1&&a("last-child"),(t===0||t%2===0)&&a("even"),Math.abs(t%2)===1&&a("odd"),a("nth-child",t),o};zD.default=dOe});var rt=L(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.ReactCSS=wn.loop=wn.handleActive=wn.handleHover=wn.hover=void 0;var uOe=h$(),fOe=Qm(uOe),cOe=I7(),mOe=Qm(cOe),hOe=B7(),xOe=Qm(hOe),gOe=j7(),H7=Qm(gOe),yOe=W7(),vOe=Qm(yOe),bOe=U7(),TOe=Qm(bOe);function Qm(e){return e&&e.__esModule?e:{default:e}}wn.hover=H7.default;wn.handleHover=H7.default;wn.handleActive=vOe.default;wn.loop=TOe.default;var SOe=wn.ReactCSS=function(t){for(var r=arguments.length,o=Array(r>1?r-1:0),a=1;a{"use strict";Object.defineProperty(lA,"__esModule",{value:!0});var XK=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=e[o]);return r}var u0=24;lA.default=function(e){var t=e.fill,r=t===void 0?"currentColor":t,o=e.width,a=o===void 0?u0:o,n=e.height,s=n===void 0?u0:n,i=e.style,p=i===void 0?{}:i,l=oAe(e,["fill","width","height","style"]);return YK.default.createElement("svg",XK({viewBox:"0 0 "+u0+" "+u0,style:XK({fill:r,width:a,height:s},p)},l),YK.default.createElement("path",{d:"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z"}))}});var YJ=L(wA=>{"use strict";Object.defineProperty(wA,"__esModule",{value:!0});var JJ=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=e[o]);return r}var h0=24;wA.default=function(e){var t=e.fill,r=t===void 0?"currentColor":t,o=e.width,a=o===void 0?h0:o,n=e.height,s=n===void 0?h0:n,i=e.style,p=i===void 0?{}:i,l=zAe(e,["fill","width","height","style"]);return XJ.default.createElement("svg",JJ({viewBox:"0 0 "+h0+" "+h0,style:JJ({fill:r,width:a,height:s},p)},l),XJ.default.createElement("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))}});var fo=L((g0,RA)=>{"use strict";(function(t,r){typeof g0=="object"&&typeof RA=="object"?RA.exports=r():typeof define=="function"&&define.amd?define("cronstrue",[],r):typeof g0=="object"?g0.cronstrue=r():t.cronstrue=r()})(globalThis,()=>(()=>{"use strict";var e={949:(a,n,s)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.CronParser=void 0;var i=s(515),p=function(){function l(d,u,f){u===void 0&&(u=!0),f===void 0&&(f=!1),this.expression=d,this.dayOfWeekStartIndexZero=u,this.monthStartIndexZero=f}return l.prototype.parse=function(){var d,u,f=(d=this.expression)!==null&&d!==void 0?d:"";if(f.startsWith("@")){var c=this.parseSpecial(this.expression);u=this.extractParts(c)}else u=this.extractParts(this.expression);return this.normalize(u),this.validate(u),u},l.prototype.parseSpecial=function(d){var u={"@yearly":"0 0 1 1 *","@annually":"0 0 1 1 *","@monthly":"0 0 1 * *","@weekly":"0 0 * * 0","@daily":"0 0 * * *","@midnight":"0 0 * * *","@hourly":"0 * * * *"},f=u[d];if(!f)throw new Error("Unknown special expression.");return f},l.prototype.extractParts=function(d){if(!this.expression)throw new Error("cron expression is empty");for(var u=d.trim().split(/[ ]+/),f=0;f7)throw new Error("Expression has ".concat(u.length," parts; too many!"));return u},l.prototype.normalize=function(d){var u=this;if(d[3]=d[3].replace("?","*"),d[5]=d[5].replace("?","*"),d[2]=d[2].replace("?","*"),d[0].indexOf("0/")==0&&(d[0]=d[0].replace("0/","*/")),d[1].indexOf("0/")==0&&(d[1]=d[1].replace("0/","*/")),d[2].indexOf("0/")==0&&(d[2]=d[2].replace("0/","*/")),d[3].indexOf("1/")==0&&(d[3]=d[3].replace("1/","*/")),d[4].indexOf("1/")==0&&(d[4]=d[4].replace("1/","*/")),d[6].indexOf("1/")==0&&(d[6]=d[6].replace("1/","*/")),d[5]=d[5].replace(/(^\d)|([^#/\s]\d)/g,function(b){var v=b.replace(/\D/,""),w=v;return u.dayOfWeekStartIndexZero?v=="7"&&(w="0"):w=(parseInt(v)-1).toString(),b.replace(v,w)}),d[5]=="L"&&(d[5]="6"),d[3]=="?"&&(d[3]="*"),d[3].indexOf("W")>-1&&(d[3].indexOf(",")>-1||d[3].indexOf("-")>-1))throw new Error("The 'W' character can be specified only when the day-of-month is a single day, not a range or list of days.");var f={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};for(var c in f)d[5]=d[5].replace(new RegExp(c,"gi"),f[c].toString());d[4]=d[4].replace(/(^\d{1,2})|([^#/\s]\d{1,2})/g,function(b){var v=b.replace(/\D/,""),w=v;return u.monthStartIndexZero&&(w=(parseInt(v)+1).toString()),b.replace(v,w)});var h={JAN:1,FEB:2,MAR:3,APR:4,MAY:5,JUN:6,JUL:7,AUG:8,SEP:9,OCT:10,NOV:11,DEC:12};for(var g in h)d[4]=d[4].replace(new RegExp(g,"gi"),h[g].toString());d[0]=="0"&&(d[0]=""),!/\*|\-|\,|\//.test(d[2])&&(/\*|\//.test(d[1])||/\*|\//.test(d[0]))&&(d[2]+="-".concat(d[2]));for(var m=0;m-1&&!/^\*|\-|\,/.test(d[m])){var x=null;switch(m){case 4:x="12";break;case 5:x="6";break;case 6:x="9999";break;default:x=null;break}if(x!==null){var T=d[m].split("/");d[m]="".concat(T[0],"-").concat(x,"/").concat(T[1])}}},l.prototype.validate=function(d){this.assertNoInvalidCharacters("DOW",d[5]),this.assertNoInvalidCharacters("DOM",d[3]),this.validateRange(d)},l.prototype.validateRange=function(d){i.default.secondRange(d[0]),i.default.minuteRange(d[1]),i.default.hourRange(d[2]),i.default.dayOfMonthRange(d[3]),i.default.monthRange(d[4],this.monthStartIndexZero),i.default.dayOfWeekRange(d[5],this.dayOfWeekStartIndexZero)},l.prototype.assertNoInvalidCharacters=function(d,u){var f=u.match(/[A-KM-VX-Z]+/gi);if(f&&f.length)throw new Error("".concat(d," part contains invalid values: '").concat(f.toString(),"'"))},l}();n.CronParser=p},333:(a,n,s)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.ExpressionDescriptor=void 0;var i=s(823),p=s(949),l=function(){function d(u,f){if(this.expression=u,this.options=f,this.expressionParts=new Array(5),!this.options.locale&&d.defaultLocale&&(this.options.locale=d.defaultLocale),!d.locales[this.options.locale]){var c=Object.keys(d.locales)[0];console.warn("Locale '".concat(this.options.locale,"' could not be found; falling back to '").concat(c,"'.")),this.options.locale=c}this.i18n=d.locales[this.options.locale],f.use24HourTimeFormat===void 0&&(f.use24HourTimeFormat=this.i18n.use24HourTimeFormatByDefault())}return d.toString=function(u,f){var c=f===void 0?{}:f,h=c.throwExceptionOnParseError,g=h===void 0?!0:h,m=c.verbose,x=m===void 0?!1:m,T=c.dayOfWeekStartIndexZero,b=T===void 0?!0:T,v=c.monthStartIndexZero,w=v===void 0?!1:v,O=c.use24HourTimeFormat,k=c.locale,M=k===void 0?null:k,N=c.tzOffset,S=N===void 0?0:N,B={throwExceptionOnParseError:g,verbose:x,dayOfWeekStartIndexZero:b,monthStartIndexZero:w,use24HourTimeFormat:O,locale:M,tzOffset:S},G=new d(u,B);return G.getFullDescription()},d.initialize=function(u,f){f===void 0&&(f="en"),d.specialCharacters=["/","-",",","*"],d.defaultLocale=f,u.load(d.locales)},d.prototype.getFullDescription=function(){var u="";try{var f=new p.CronParser(this.expression,this.options.dayOfWeekStartIndexZero,this.options.monthStartIndexZero);this.expressionParts=f.parse();var c=this.getTimeOfDayDescription(),h=this.getDayOfMonthDescription(),g=this.getMonthDescription(),m=this.getDayOfWeekDescription(),x=this.getYearDescription();u+=c+h+m+g+x,u=this.transformVerbosity(u,!!this.options.verbose),u=u.charAt(0).toLocaleUpperCase()+u.substr(1)}catch(T){if(!this.options.throwExceptionOnParseError)u=this.i18n.anErrorOccuredWhenGeneratingTheExpressionD();else throw"".concat(T)}return u},d.prototype.getTimeOfDayDescription=function(){var u=this.expressionParts[0],f=this.expressionParts[1],c=this.expressionParts[2],h="";if(!i.StringUtilities.containsAny(f,d.specialCharacters)&&!i.StringUtilities.containsAny(c,d.specialCharacters)&&!i.StringUtilities.containsAny(u,d.specialCharacters))h+=this.i18n.atSpace()+this.formatTime(c,f,u);else if(!u&&f.indexOf("-")>-1&&!(f.indexOf(",")>-1)&&!(f.indexOf("/")>-1)&&!i.StringUtilities.containsAny(c,d.specialCharacters)){var g=f.split("-");h+=i.StringUtilities.format(this.i18n.everyMinuteBetweenX0AndX1(),this.formatTime(c,g[0],""),this.formatTime(c,g[1],""))}else if(!u&&c.indexOf(",")>-1&&c.indexOf("-")==-1&&c.indexOf("/")==-1&&!i.StringUtilities.containsAny(f,d.specialCharacters)){var m=c.split(",");h+=this.i18n.at();for(var x=0;x1){var g=h[h.length-1].index;c=c.substring(0,g)+":59"+c.substring(g+3)}}return c},d.prototype.getDayOfWeekDescription=function(){var u=this,f=this.i18n.daysOfTheWeek(),c=null;return this.expressionParts[5]=="*"?c="":c=this.getSegmentDescription(this.expressionParts[5],this.i18n.commaEveryDay(),function(h,g){var m=h;h.indexOf("#")>-1?m=h.substring(0,h.indexOf("#")):h.indexOf("L")>-1&&(m=m.replace("L",""));var x=parseInt(m);if(u.options.tzOffset){var T=u.expressionParts[2],b=parseInt(T)+(u.options.tzOffset?u.options.tzOffset:0);b>=24?x++:b<0&&x--,x>6?x=0:x<0&&(x=6)}var v=u.i18n.daysOfTheWeekInCase?u.i18n.daysOfTheWeekInCase(g)[x]:f[x];if(h.indexOf("#")>-1){var w=null,O=h.substring(h.indexOf("#")+1),k=h.substring(0,h.indexOf("#"));switch(O){case"1":w=u.i18n.first(k);break;case"2":w=u.i18n.second(k);break;case"3":w=u.i18n.third(k);break;case"4":w=u.i18n.fourth(k);break;case"5":w=u.i18n.fifth(k);break}v=w+" "+v}return v},function(h){return parseInt(h)==1?"":i.StringUtilities.format(u.i18n.commaEveryX0DaysOfTheWeek(h),h)},function(h){var g=h.substring(0,h.indexOf("-")),m=u.expressionParts[3]!="*";return m?u.i18n.commaAndX0ThroughX1(g):u.i18n.commaX0ThroughX1(g)},function(h){var g=null;if(h.indexOf("#")>-1){var m=h.substring(h.indexOf("#")+1),x=h.substring(0,h.indexOf("#"));g=u.i18n.commaOnThe(m,x).trim()+u.i18n.spaceX0OfTheMonth()}else if(h.indexOf("L")>-1)g=u.i18n.commaOnTheLastX0OfTheMonth(h.replace("L",""));else{var T=u.expressionParts[3]!="*";g=T?u.i18n.commaAndOnX0():u.i18n.commaOnlyOnX0(h)}return g}),c},d.prototype.getMonthDescription=function(){var u=this,f=this.i18n.monthsOfTheYear(),c=this.getSegmentDescription(this.expressionParts[4],"",function(h,g){return g&&u.i18n.monthsOfTheYearInCase?u.i18n.monthsOfTheYearInCase(g)[parseInt(h)-1]:f[parseInt(h)-1]},function(h){return parseInt(h)==1?"":i.StringUtilities.format(u.i18n.commaEveryX0Months(h),h)},function(h){return u.i18n.commaMonthX0ThroughMonthX1()||u.i18n.commaX0ThroughX1()},function(h){return u.i18n.commaOnlyInMonthX0?u.i18n.commaOnlyInMonthX0():u.i18n.commaOnlyInX0()});return c},d.prototype.getDayOfMonthDescription=function(){var u=this,f=null,c=this.expressionParts[3];switch(c){case"L":f=this.i18n.commaOnTheLastDayOfTheMonth();break;case"WL":case"LW":f=this.i18n.commaOnTheLastWeekdayOfTheMonth();break;default:var h=c.match(/(\d{1,2}W)|(W\d{1,2})/);if(h){var g=parseInt(h[0].replace("W","")),m=g==1?this.i18n.firstWeekday():i.StringUtilities.format(this.i18n.weekdayNearestDayX0(),g.toString());f=i.StringUtilities.format(this.i18n.commaOnTheX0OfTheMonth(),m);break}else{var x=c.match(/L-(\d{1,2})/);if(x){var T=x[1];f=i.StringUtilities.format(this.i18n.commaDaysBeforeTheLastDayOfTheMonth(T),T);break}else{if(c=="*"&&this.expressionParts[5]!="*")return"";f=this.getSegmentDescription(c,this.i18n.commaEveryDay(),function(b){return b=="L"?u.i18n.lastDay():u.i18n.dayX0?i.StringUtilities.format(u.i18n.dayX0(),b):b},function(b){return b=="1"?u.i18n.commaEveryDay():u.i18n.commaEveryX0Days(b)},function(b){return u.i18n.commaBetweenDayX0AndX1OfTheMonth(b)},function(b){return u.i18n.commaOnDayX0OfTheMonth(b)})}break}}return f},d.prototype.getYearDescription=function(){var u=this,f=this.getSegmentDescription(this.expressionParts[6],"",function(c){return/^\d+$/.test(c)?new Date(parseInt(c),1).getFullYear().toString():c},function(c){return i.StringUtilities.format(u.i18n.commaEveryX0Years(c),c)},function(c){return u.i18n.commaYearX0ThroughYearX1()||u.i18n.commaX0ThroughX1()},function(c){return u.i18n.commaOnlyInYearX0?u.i18n.commaOnlyInYearX0():u.i18n.commaOnlyInX0()});return f},d.prototype.getSegmentDescription=function(u,f,c,h,g,m){var x=null,T=u.indexOf("/")>-1,b=u.indexOf("-")>-1,v=u.indexOf(",")>-1;if(!u)x="";else if(u==="*")x=f;else if(!T&&!b&&!v)x=i.StringUtilities.format(m(u),c(u));else if(v){for(var w=u.split(","),O="",k=0;k0&&w.length>2&&(O+=",",k0&&w.length>1&&(k==w.length-1||w.length==2)&&(O+="".concat(this.i18n.spaceAnd()," ")),w[k].indexOf("/")>-1||w[k].indexOf("-")>-1){var M=w[k].indexOf("-")>-1&&w[k].indexOf("/")==-1,N=this.getSegmentDescription(w[k],f,c,h,M?this.i18n.commaX0ThroughX1:g,m);M&&(N=N.replace(", ","")),O+=N}else T?O+=this.getSegmentDescription(w[k],f,c,h,g,m):O+=c(w[k]);T?x=O:x=i.StringUtilities.format(m(u),O)}else if(T){var w=u.split("/");if(x=i.StringUtilities.format(h(w[1]),w[1]),w[0].indexOf("-")>-1){var S=this.generateRangeSegmentDescription(w[0],g,c);S.indexOf(", ")!=0&&(x+=", "),x+=S}else if(w[0].indexOf("*")==-1){var B=i.StringUtilities.format(m(w[0]),c(w[0]));B=B.replace(", ",""),x+=i.StringUtilities.format(this.i18n.commaStartingX0(),B)}}else b&&(x=this.generateRangeSegmentDescription(u,g,c));return x},d.prototype.generateRangeSegmentDescription=function(u,f,c){var h="",g=u.split("-"),m=c(g[0],1),x=c(g[1],2),T=f(u);return h+=i.StringUtilities.format(T,m,x),h},d.prototype.formatTime=function(u,f,c){var h=0,g=0;this.options.tzOffset&&(h=this.options.tzOffset>0?Math.floor(this.options.tzOffset):Math.ceil(this.options.tzOffset),g=parseFloat((this.options.tzOffset%1).toFixed(2)),g!=0&&(g*=60));var m=parseInt(u)+h,x=parseInt(f)+g;x>=60?(x-=60,m+=1):x<0&&(x+=60,m-=1),m>=24?m=m-24:m<0&&(m=24+m);var T="",b=!1;this.options.use24HourTimeFormat||(b=!!(this.i18n.setPeriodBeforeTime&&this.i18n.setPeriodBeforeTime()),T=b?"".concat(this.getPeriod(m)," "):" ".concat(this.getPeriod(m)),m>12&&(m-=12),m===0&&(m=12));var v="";return c&&(v=":".concat(("00"+c).substring(c.length))),"".concat(b?T:"").concat(("00"+m.toString()).substring(m.toString().length),":").concat(("00"+x.toString()).substring(x.toString().length)).concat(v).concat(b?"":T)},d.prototype.transformVerbosity=function(u,f){return f||(u=u.replace(new RegExp(", ".concat(this.i18n.everyMinute()),"g"),""),u=u.replace(new RegExp(", ".concat(this.i18n.everyHour()),"g"),""),u=u.replace(new RegExp(this.i18n.commaEveryDay(),"g"),""),u=u.replace(/\, ?$/,"")),u},d.prototype.getPeriod=function(u){return u>=12?this.i18n.pm&&this.i18n.pm()||"PM":this.i18n.am&&this.i18n.am()||"AM"},d.locales={},d}();n.ExpressionDescriptor=l},747:(a,n,s)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.enLocaleLoader=void 0;var i=s(486),p=function(){function l(){}return l.prototype.load=function(d){d.en=new i.en},l}();n.enLocaleLoader=p},486:(a,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.en=void 0;var s=function(){function i(){}return i.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},i.prototype.atX0MinutesPastTheHourGt20=function(){return null},i.prototype.commaMonthX0ThroughMonthX1=function(){return null},i.prototype.commaYearX0ThroughYearX1=function(){return null},i.prototype.use24HourTimeFormatByDefault=function(){return!1},i.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"An error occured when generating the expression description. Check the cron expression syntax."},i.prototype.everyMinute=function(){return"every minute"},i.prototype.everyHour=function(){return"every hour"},i.prototype.atSpace=function(){return"At "},i.prototype.everyMinuteBetweenX0AndX1=function(){return"Every minute between %s and %s"},i.prototype.at=function(){return"At"},i.prototype.spaceAnd=function(){return" and"},i.prototype.everySecond=function(){return"every second"},i.prototype.everyX0Seconds=function(){return"every %s seconds"},i.prototype.secondsX0ThroughX1PastTheMinute=function(){return"seconds %s through %s past the minute"},i.prototype.atX0SecondsPastTheMinute=function(){return"at %s seconds past the minute"},i.prototype.everyX0Minutes=function(){return"every %s minutes"},i.prototype.minutesX0ThroughX1PastTheHour=function(){return"minutes %s through %s past the hour"},i.prototype.atX0MinutesPastTheHour=function(){return"at %s minutes past the hour"},i.prototype.everyX0Hours=function(){return"every %s hours"},i.prototype.betweenX0AndX1=function(){return"between %s and %s"},i.prototype.atX0=function(){return"at %s"},i.prototype.commaEveryDay=function(){return", every day"},i.prototype.commaEveryX0DaysOfTheWeek=function(){return", every %s days of the week"},i.prototype.commaX0ThroughX1=function(){return", %s through %s"},i.prototype.commaAndX0ThroughX1=function(){return", %s through %s"},i.prototype.first=function(){return"first"},i.prototype.second=function(){return"second"},i.prototype.third=function(){return"third"},i.prototype.fourth=function(){return"fourth"},i.prototype.fifth=function(){return"fifth"},i.prototype.commaOnThe=function(){return", on the "},i.prototype.spaceX0OfTheMonth=function(){return" %s of the month"},i.prototype.lastDay=function(){return"the last day"},i.prototype.commaOnTheLastX0OfTheMonth=function(){return", on the last %s of the month"},i.prototype.commaOnlyOnX0=function(){return", only on %s"},i.prototype.commaAndOnX0=function(){return", and on %s"},i.prototype.commaEveryX0Months=function(){return", every %s months"},i.prototype.commaOnlyInX0=function(){return", only in %s"},i.prototype.commaOnTheLastDayOfTheMonth=function(){return", on the last day of the month"},i.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", on the last weekday of the month"},i.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s days before the last day of the month"},i.prototype.firstWeekday=function(){return"first weekday"},i.prototype.weekdayNearestDayX0=function(){return"weekday nearest day %s"},i.prototype.commaOnTheX0OfTheMonth=function(){return", on the %s of the month"},i.prototype.commaEveryX0Days=function(){return", every %s days"},i.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", between day %s and %s of the month"},i.prototype.commaOnDayX0OfTheMonth=function(){return", on day %s of the month"},i.prototype.commaEveryHour=function(){return", every hour"},i.prototype.commaEveryX0Years=function(){return", every %s years"},i.prototype.commaStartingX0=function(){return", starting %s"},i.prototype.daysOfTheWeek=function(){return["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},i.prototype.monthsOfTheYear=function(){return["January","February","March","April","May","June","July","August","September","October","November","December"]},i}();n.en=s},515:(a,n)=>{Object.defineProperty(n,"__esModule",{value:!0});function s(p,l){if(!p)throw new Error(l)}var i=function(){function p(){}return p.secondRange=function(l){for(var d=l.split(","),u=0;u=0&&f<=59,"seconds part must be >= 0 and <= 59")}},p.minuteRange=function(l){for(var d=l.split(","),u=0;u=0&&f<=59,"minutes part must be >= 0 and <= 59")}},p.hourRange=function(l){for(var d=l.split(","),u=0;u=0&&f<=23,"hours part must be >= 0 and <= 23")}},p.dayOfMonthRange=function(l){for(var d=l.split(","),u=0;u=1&&f<=31,"DOM part must be >= 1 and <= 31")}},p.monthRange=function(l,d){for(var u=l.split(","),f=0;f=1&&c<=12,d?"month part must be >= 0 and <= 11":"month part must be >= 1 and <= 12")}},p.dayOfWeekRange=function(l,d){for(var u=l.split(","),f=0;f=0&&c<=6,d?"DOW part must be >= 0 and <= 6":"DOW part must be >= 1 and <= 7")}},p}();n.default=i},823:(a,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.StringUtilities=void 0;var s=function(){function i(){}return i.format=function(p){for(var l=[],d=1;d-1})},i}();n.StringUtilities=s}},t={};function r(a){var n=t[a];if(n!==void 0)return n.exports;var s=t[a]={exports:{}};return e[a](s,s.exports,r),s.exports}var o={};return(()=>{var a=o;Object.defineProperty(a,"__esModule",{value:!0}),a.toString=void 0;var n=r(333),s=r(747);n.ExpressionDescriptor.initialize(new s.enLocaleLoader),a.default=n.ExpressionDescriptor;var i=n.ExpressionDescriptor.toString;a.toString=i})(),o})())});var hX=L((y0,DA)=>{"use strict";(function(t,r){typeof y0=="object"&&typeof DA=="object"?DA.exports=r(fo()):typeof define=="function"&&define.amd?define("locales/fr",["cronstrue"],r):typeof y0=="object"?y0["locales/fr"]=r(fo()):t["locales/fr"]=r(t.cronstrue)})(globalThis,e=>(()=>{"use strict";var t={93:l=>{l.exports=e}},r={};function o(l){var d=r[l];if(d!==void 0)return d.exports;var u=r[l]={exports:{}};return t[l](u,u.exports,o),u.exports}o.n=l=>{var d=l&&l.__esModule?()=>l.default:()=>l;return o.d(d,{a:d}),d},o.d=(l,d)=>{for(var u in d)o.o(d,u)&&!o.o(l,u)&&Object.defineProperty(l,u,{enumerable:!0,get:d[u]})},o.o=(l,d)=>Object.prototype.hasOwnProperty.call(l,d),o.r=l=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})};var a={};o.r(a);var n=o(93),s=o.n(n),i=a;Object.defineProperty(i,"__esModule",{value:!0}),i.fr=void 0;var p=function(){function l(){}return l.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},l.prototype.atX0MinutesPastTheHourGt20=function(){return null},l.prototype.commaMonthX0ThroughMonthX1=function(){return null},l.prototype.commaYearX0ThroughYearX1=function(){return null},l.prototype.use24HourTimeFormatByDefault=function(){return!0},l.prototype.everyMinute=function(){return"toutes les minutes"},l.prototype.everyHour=function(){return"toutes les heures"},l.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Une erreur est survenue en g\xE9n\xE9rant la description de l'expression cron. V\xE9rifiez sa syntaxe."},l.prototype.atSpace=function(){return"\xC0 "},l.prototype.everyMinuteBetweenX0AndX1=function(){return"Toutes les minutes entre %s et %s"},l.prototype.at=function(){return"\xC0"},l.prototype.spaceAnd=function(){return" et"},l.prototype.everySecond=function(){return"toutes les secondes"},l.prototype.everyX0Seconds=function(){return"toutes les %s secondes"},l.prototype.secondsX0ThroughX1PastTheMinute=function(){return"les secondes entre %s et %s apr\xE8s la minute"},l.prototype.atX0SecondsPastTheMinute=function(){return"%s secondes apr\xE8s la minute"},l.prototype.everyX0Minutes=function(){return"toutes les %s minutes"},l.prototype.minutesX0ThroughX1PastTheHour=function(){return"les minutes entre %s et %s apr\xE8s l'heure"},l.prototype.atX0MinutesPastTheHour=function(){return"%s minutes apr\xE8s l'heure"},l.prototype.everyX0Hours=function(){return"toutes les %s heures"},l.prototype.betweenX0AndX1=function(){return"de %s \xE0 %s"},l.prototype.atX0=function(){return"\xE0 %s"},l.prototype.commaEveryDay=function(){return", tous les jours"},l.prototype.commaEveryX0DaysOfTheWeek=function(){return", tous les %s jours de la semaine"},l.prototype.commaX0ThroughX1=function(){return", de %s \xE0 %s"},l.prototype.commaAndX0ThroughX1=function(){return", et de %s \xE0 %s"},l.prototype.first=function(){return"premier"},l.prototype.second=function(){return"second"},l.prototype.third=function(){return"troisi\xE8me"},l.prototype.fourth=function(){return"quatri\xE8me"},l.prototype.fifth=function(){return"cinqui\xE8me"},l.prototype.commaOnThe=function(){return", le "},l.prototype.spaceX0OfTheMonth=function(){return" %s du mois"},l.prototype.lastDay=function(){return"le dernier jour"},l.prototype.commaOnTheLastX0OfTheMonth=function(){return", le dernier %s du mois"},l.prototype.commaOnlyOnX0=function(){return", uniquement le %s"},l.prototype.commaAndOnX0=function(){return", et %s"},l.prototype.commaEveryX0Months=function(){return", tous les %s mois"},l.prototype.commaOnlyInX0=function(){return", uniquement en %s"},l.prototype.commaOnTheLastDayOfTheMonth=function(){return", le dernier jour du mois"},l.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", le dernier jour ouvrable du mois"},l.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s jours avant le dernier jour du mois"},l.prototype.firstWeekday=function(){return"premier jour ouvrable"},l.prototype.weekdayNearestDayX0=function(){return"jour ouvrable le plus proche du %s"},l.prototype.commaOnTheX0OfTheMonth=function(){return", le %s du mois"},l.prototype.commaEveryX0Days=function(){return", tous les %s jours"},l.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", du %s au %s du mois"},l.prototype.commaOnDayX0OfTheMonth=function(){return", le %s du mois"},l.prototype.commaEveryX0Years=function(){return", tous les %s ans"},l.prototype.commaDaysX0ThroughX1=function(){return", du %s au %s"},l.prototype.commaStartingX0=function(){return", \xE0 partir de %s"},l.prototype.daysOfTheWeek=function(){return["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},l.prototype.monthsOfTheYear=function(){return["janvier","f\xE9vrier","mars","avril","mai","juin","juillet","ao\xFBt","septembre","octobre","novembre","d\xE9cembre"]},l}();return i.fr=p,s().locales.fr=new p,a})())});var xX=L((v0,AA)=>{"use strict";(function(t,r){typeof v0=="object"&&typeof AA=="object"?AA.exports=r(fo()):typeof define=="function"&&define.amd?define("locales/es",["cronstrue"],r):typeof v0=="object"?v0["locales/es"]=r(fo()):t["locales/es"]=r(t.cronstrue)})(globalThis,e=>(()=>{"use strict";var t={93:l=>{l.exports=e}},r={};function o(l){var d=r[l];if(d!==void 0)return d.exports;var u=r[l]={exports:{}};return t[l](u,u.exports,o),u.exports}o.n=l=>{var d=l&&l.__esModule?()=>l.default:()=>l;return o.d(d,{a:d}),d},o.d=(l,d)=>{for(var u in d)o.o(d,u)&&!o.o(l,u)&&Object.defineProperty(l,u,{enumerable:!0,get:d[u]})},o.o=(l,d)=>Object.prototype.hasOwnProperty.call(l,d),o.r=l=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})};var a={};o.r(a);var n=o(93),s=o.n(n),i=a;Object.defineProperty(i,"__esModule",{value:!0}),i.es=void 0;var p=function(){function l(){}return l.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},l.prototype.atX0MinutesPastTheHourGt20=function(){return null},l.prototype.commaMonthX0ThroughMonthX1=function(){return null},l.prototype.commaYearX0ThroughYearX1=function(){return null},l.prototype.use24HourTimeFormatByDefault=function(){return!0},l.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Ocurri\xF3 un error mientras se generaba la descripci\xF3n de la expresi\xF3n. Revise la sintaxis de la expresi\xF3n de cron."},l.prototype.at=function(){return"A las"},l.prototype.atSpace=function(){return"A las "},l.prototype.atX0=function(){return"a las %s"},l.prototype.atX0MinutesPastTheHour=function(){return"a los %s minutos de la hora"},l.prototype.atX0SecondsPastTheMinute=function(){return"a los %s segundos del minuto"},l.prototype.betweenX0AndX1=function(){return"entre las %s y las %s"},l.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", entre los d\xEDas %s y %s del mes"},l.prototype.commaEveryDay=function(){return", cada d\xEDa"},l.prototype.commaEveryX0Days=function(){return", cada %s d\xEDas"},l.prototype.commaEveryX0DaysOfTheWeek=function(){return", cada %s d\xEDas de la semana"},l.prototype.commaEveryX0Months=function(){return", cada %s meses"},l.prototype.commaOnDayX0OfTheMonth=function(){return", el d\xEDa %s del mes"},l.prototype.commaOnlyInX0=function(){return", s\xF3lo en %s"},l.prototype.commaOnlyOnX0=function(){return", s\xF3lo el %s"},l.prototype.commaAndOnX0=function(){return", y el %s"},l.prototype.commaOnThe=function(){return", en el "},l.prototype.commaOnTheLastDayOfTheMonth=function(){return", en el \xFAltimo d\xEDa del mes"},l.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", en el \xFAltimo d\xEDa de la semana del mes"},l.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s d\xEDas antes del \xFAltimo d\xEDa del mes"},l.prototype.commaOnTheLastX0OfTheMonth=function(){return", en el \xFAltimo %s del mes"},l.prototype.commaOnTheX0OfTheMonth=function(){return", en el %s del mes"},l.prototype.commaX0ThroughX1=function(){return", de %s a %s"},l.prototype.commaAndX0ThroughX1=function(){return", y de %s a %s"},l.prototype.everyHour=function(){return"cada hora"},l.prototype.everyMinute=function(){return"cada minuto"},l.prototype.everyMinuteBetweenX0AndX1=function(){return"cada minuto entre las %s y las %s"},l.prototype.everySecond=function(){return"cada segundo"},l.prototype.everyX0Hours=function(){return"cada %s horas"},l.prototype.everyX0Minutes=function(){return"cada %s minutos"},l.prototype.everyX0Seconds=function(){return"cada %s segundos"},l.prototype.fifth=function(){return"quinto"},l.prototype.first=function(){return"primero"},l.prototype.firstWeekday=function(){return"primer d\xEDa de la semana"},l.prototype.fourth=function(){return"cuarto"},l.prototype.minutesX0ThroughX1PastTheHour=function(){return"del minuto %s al %s pasada la hora"},l.prototype.second=function(){return"segundo"},l.prototype.secondsX0ThroughX1PastTheMinute=function(){return"En los segundos %s al %s de cada minuto"},l.prototype.spaceAnd=function(){return" y"},l.prototype.spaceX0OfTheMonth=function(){return" %s del mes"},l.prototype.lastDay=function(){return"el \xFAltimo d\xEDa"},l.prototype.third=function(){return"tercer"},l.prototype.weekdayNearestDayX0=function(){return"d\xEDa de la semana m\xE1s pr\xF3ximo al %s"},l.prototype.commaEveryX0Years=function(){return", cada %s a\xF1os"},l.prototype.commaStartingX0=function(){return", comenzando %s"},l.prototype.daysOfTheWeek=function(){return["domingo","lunes","martes","mi\xE9rcoles","jueves","viernes","s\xE1bado"]},l.prototype.monthsOfTheYear=function(){return["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"]},l}();return i.es=p,s().locales.es=new p,a})())});var gX=L((b0,MA)=>{"use strict";(function(t,r){typeof b0=="object"&&typeof MA=="object"?MA.exports=r(fo()):typeof define=="function"&&define.amd?define("locales/de",["cronstrue"],r):typeof b0=="object"?b0["locales/de"]=r(fo()):t["locales/de"]=r(t.cronstrue)})(globalThis,e=>(()=>{"use strict";var t={93:l=>{l.exports=e}},r={};function o(l){var d=r[l];if(d!==void 0)return d.exports;var u=r[l]={exports:{}};return t[l](u,u.exports,o),u.exports}o.n=l=>{var d=l&&l.__esModule?()=>l.default:()=>l;return o.d(d,{a:d}),d},o.d=(l,d)=>{for(var u in d)o.o(d,u)&&!o.o(l,u)&&Object.defineProperty(l,u,{enumerable:!0,get:d[u]})},o.o=(l,d)=>Object.prototype.hasOwnProperty.call(l,d),o.r=l=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})};var a={};o.r(a);var n=o(93),s=o.n(n),i=a;Object.defineProperty(i,"__esModule",{value:!0}),i.de=void 0;var p=function(){function l(){}return l.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},l.prototype.atX0MinutesPastTheHourGt20=function(){return null},l.prototype.commaMonthX0ThroughMonthX1=function(){return null},l.prototype.commaYearX0ThroughYearX1=function(){return null},l.prototype.use24HourTimeFormatByDefault=function(){return!0},l.prototype.everyMinute=function(){return"jede Minute"},l.prototype.everyHour=function(){return"jede Stunde"},l.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Beim Generieren der Ausdrucksbeschreibung ist ein Fehler aufgetreten. \xDCberpr\xFCfen Sie die Syntax des Cron-Ausdrucks."},l.prototype.atSpace=function(){return"Um "},l.prototype.everyMinuteBetweenX0AndX1=function(){return"Jede Minute zwischen %s und %s"},l.prototype.at=function(){return"Um"},l.prototype.spaceAnd=function(){return" und"},l.prototype.everySecond=function(){return"Jede Sekunde"},l.prototype.everyX0Seconds=function(){return"alle %s Sekunden"},l.prototype.secondsX0ThroughX1PastTheMinute=function(){return"Sekunden %s bis %s"},l.prototype.atX0SecondsPastTheMinute=function(){return"bei Sekunde %s"},l.prototype.everyX0Minutes=function(){return"alle %s Minuten"},l.prototype.minutesX0ThroughX1PastTheHour=function(){return"Minuten %s bis %s"},l.prototype.atX0MinutesPastTheHour=function(){return"bei Minute %s"},l.prototype.everyX0Hours=function(){return"alle %s Stunden"},l.prototype.betweenX0AndX1=function(){return"zwischen %s und %s"},l.prototype.atX0=function(){return"um %s"},l.prototype.commaEveryDay=function(){return", jeden Tag"},l.prototype.commaEveryX0DaysOfTheWeek=function(){return", alle %s Tage der Woche"},l.prototype.commaX0ThroughX1=function(){return", %s bis %s"},l.prototype.commaAndX0ThroughX1=function(){return", und %s bis %s"},l.prototype.first=function(){return"ersten"},l.prototype.second=function(){return"zweiten"},l.prototype.third=function(){return"dritten"},l.prototype.fourth=function(){return"vierten"},l.prototype.fifth=function(){return"f\xFCnften"},l.prototype.commaOnThe=function(){return", am "},l.prototype.spaceX0OfTheMonth=function(){return" %s des Monats"},l.prototype.lastDay=function(){return"der letzte Tag"},l.prototype.commaOnTheLastX0OfTheMonth=function(){return", am letzten %s des Monats"},l.prototype.commaOnlyOnX0=function(){return", nur jeden %s"},l.prototype.commaAndOnX0=function(){return", und jeden %s"},l.prototype.commaEveryX0Months=function(){return", alle %s Monate"},l.prototype.commaOnlyInX0=function(){return", nur im %s"},l.prototype.commaOnTheLastDayOfTheMonth=function(){return", am letzten Tag des Monats"},l.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", am letzten Werktag des Monats"},l.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s tage vor dem letzten Tag des Monats"},l.prototype.firstWeekday=function(){return"ersten Werktag"},l.prototype.weekdayNearestDayX0=function(){return"Werktag am n\xE4chsten zum %s Tag"},l.prototype.commaOnTheX0OfTheMonth=function(){return", am %s des Monats"},l.prototype.commaEveryX0Days=function(){return", alle %s Tage"},l.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", zwischen Tag %s und %s des Monats"},l.prototype.commaOnDayX0OfTheMonth=function(){return", an Tag %s des Monats"},l.prototype.commaEveryX0Years=function(){return", alle %s Jahre"},l.prototype.commaStartingX0=function(){return", beginnend %s"},l.prototype.daysOfTheWeek=function(){return["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},l.prototype.monthsOfTheYear=function(){return["Januar","Februar","M\xE4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},l}();return i.de=p,s().locales.de=new p,a})())});var yX=L((T0,NA)=>{"use strict";(function(t,r){typeof T0=="object"&&typeof NA=="object"?NA.exports=r(fo()):typeof define=="function"&&define.amd?define("locales/it",["cronstrue"],r):typeof T0=="object"?T0["locales/it"]=r(fo()):t["locales/it"]=r(t.cronstrue)})(globalThis,e=>(()=>{"use strict";var t={93:l=>{l.exports=e}},r={};function o(l){var d=r[l];if(d!==void 0)return d.exports;var u=r[l]={exports:{}};return t[l](u,u.exports,o),u.exports}o.n=l=>{var d=l&&l.__esModule?()=>l.default:()=>l;return o.d(d,{a:d}),d},o.d=(l,d)=>{for(var u in d)o.o(d,u)&&!o.o(l,u)&&Object.defineProperty(l,u,{enumerable:!0,get:d[u]})},o.o=(l,d)=>Object.prototype.hasOwnProperty.call(l,d),o.r=l=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})};var a={};o.r(a);var n=o(93),s=o.n(n),i=a;Object.defineProperty(i,"__esModule",{value:!0}),i.it=void 0;var p=function(){function l(){}return l.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},l.prototype.atX0MinutesPastTheHourGt20=function(){return null},l.prototype.commaMonthX0ThroughMonthX1=function(){return null},l.prototype.commaYearX0ThroughYearX1=function(){return null},l.prototype.use24HourTimeFormatByDefault=function(){return!0},l.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"\xC8 verificato un errore durante la generazione la descrizione espressione. Controllare la sintassi delle espressioni cron."},l.prototype.at=function(){return"Alle"},l.prototype.atSpace=function(){return"Alle "},l.prototype.atX0=function(){return"alle %s"},l.prototype.atX0MinutesPastTheHour=function(){return"al %s minuto passata l'ora"},l.prototype.atX0SecondsPastTheMinute=function(){return"al %s secondo passato il minuto"},l.prototype.betweenX0AndX1=function(){return"tra le %s e le %s"},l.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", tra il giorno %s e %s del mese"},l.prototype.commaEveryDay=function(){return", ogni giorno"},l.prototype.commaEveryX0Days=function(){return", ogni %s giorni"},l.prototype.commaEveryX0DaysOfTheWeek=function(){return", ogni %s giorni della settimana"},l.prototype.commaEveryX0Months=function(){return", ogni %s mesi"},l.prototype.commaEveryX0Years=function(){return", ogni %s anni"},l.prototype.commaOnDayX0OfTheMonth=function(){return", il giorno %s del mese"},l.prototype.commaOnlyInX0=function(){return", solo in %s"},l.prototype.commaOnlyOnX0=function(){return", solo il %s"},l.prototype.commaAndOnX0=function(){return", e il %s"},l.prototype.commaOnThe=function(){return", il "},l.prototype.commaOnTheLastDayOfTheMonth=function(){return", l'ultimo giorno del mese"},l.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", nell'ultima settimana del mese"},l.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s giorni prima dell'ultimo giorno del mese"},l.prototype.commaOnTheLastX0OfTheMonth=function(){return", l'ultimo %s del mese"},l.prototype.commaOnTheX0OfTheMonth=function(){return", il %s del mese"},l.prototype.commaX0ThroughX1=function(){return", %s al %s"},l.prototype.commaAndX0ThroughX1=function(){return", e %s al %s"},l.prototype.everyHour=function(){return"ogni ora"},l.prototype.everyMinute=function(){return"ogni minuto"},l.prototype.everyMinuteBetweenX0AndX1=function(){return"Ogni minuto tra le %s e le %s"},l.prototype.everySecond=function(){return"ogni secondo"},l.prototype.everyX0Hours=function(){return"ogni %s ore"},l.prototype.everyX0Minutes=function(){return"ogni %s minuti"},l.prototype.everyX0Seconds=function(){return"ogni %s secondi"},l.prototype.fifth=function(){return"quinto"},l.prototype.first=function(){return"primo"},l.prototype.firstWeekday=function(){return"primo giorno della settimana"},l.prototype.fourth=function(){return"quarto"},l.prototype.minutesX0ThroughX1PastTheHour=function(){return"minuti %s al %s dopo l'ora"},l.prototype.second=function(){return"secondo"},l.prototype.secondsX0ThroughX1PastTheMinute=function(){return"secondi %s al %s oltre il minuto"},l.prototype.spaceAnd=function(){return" e"},l.prototype.spaceX0OfTheMonth=function(){return" %s del mese"},l.prototype.lastDay=function(){return"l'ultimo giorno"},l.prototype.third=function(){return"terzo"},l.prototype.weekdayNearestDayX0=function(){return"giorno della settimana pi\xF9 vicino al %s"},l.prototype.commaStartingX0=function(){return", a partire %s"},l.prototype.daysOfTheWeek=function(){return["domenica","luned\xEC","marted\xEC","mercoled\xEC","gioved\xEC","venerd\xEC","sabato"]},l.prototype.monthsOfTheYear=function(){return["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"]},l}();return i.it=p,s().locales.it=new p,a})())});var vX=L((S0,IA)=>{"use strict";(function(t,r){typeof S0=="object"&&typeof IA=="object"?IA.exports=r(fo()):typeof define=="function"&&define.amd?define("locales/ru",["cronstrue"],r):typeof S0=="object"?S0["locales/ru"]=r(fo()):t["locales/ru"]=r(t.cronstrue)})(globalThis,e=>(()=>{"use strict";var t={93:u=>{u.exports=e}},r={};function o(u){var f=r[u];if(f!==void 0)return f.exports;var c=r[u]={exports:{}};return t[u](c,c.exports,o),c.exports}o.n=u=>{var f=u&&u.__esModule?()=>u.default:()=>u;return o.d(f,{a:f}),f},o.d=(u,f)=>{for(var c in f)o.o(f,c)&&!o.o(u,c)&&Object.defineProperty(u,c,{enumerable:!0,get:f[c]})},o.o=(u,f)=>Object.prototype.hasOwnProperty.call(u,f),o.r=u=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var a={};o.r(a);var n=o(93),s=o.n(n),i=a;Object.defineProperty(i,"__esModule",{value:!0}),i.ru=void 0;var p=function(u,f){var c=Number(u);return c!==void 0?f[c%100>4&&c%100<20?2:[2,0,1,1,1,2][c%10<5?Math.abs(c)%10:5]]:f[2]},l=function(u,f){var c=Number(u);return c!==void 0?f[c===0?0:c===1||c===2||c===4?1:2]:f[1]},d=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"\u043A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443"},u.prototype.everyHour=function(){return"\u043A\u0430\u0436\u0434\u044B\u0439 \u0447\u0430\u0441"},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"\u041F\u0440\u043E\u0438\u0437\u043E\u0448\u043B\u0430 \u043E\u0448\u0438\u0431\u043A\u0430 \u0432\u043E \u0432\u0440\u0435\u043C\u044F \u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u0438 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u044F \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u044F. \u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0441 \u043A\u0440\u043E\u043D-\u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u044F."},u.prototype.atSpace=function(){return"\u0412 "},u.prototype.everyMinuteBetweenX0AndX1=function(){return"\u041A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443 \u0441 %s \u043F\u043E %s"},u.prototype.at=function(){return"\u0412"},u.prototype.spaceAnd=function(){return" \u0438"},u.prototype.everySecond=function(){return"\u043A\u0430\u0436\u0434\u0443\u044E \u0441\u0435\u043A\u0443\u043D\u0434\u0443"},u.prototype.everyX0Seconds=function(f){return p(f,["\u043A\u0430\u0436\u0434\u0443\u044E %s \u0441\u0435\u043A\u0443\u043D\u0434\u0443","\u043A\u0430\u0436\u0434\u044B\u0435 %s \u0441\u0435\u043A\u0443\u043D\u0434\u044B","\u043A\u0430\u0436\u0434\u044B\u0435 %s \u0441\u0435\u043A\u0443\u043D\u0434"])},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"\u0441\u0435\u043A\u0443\u043D\u0434\u044B \u0441 %s \u043F\u043E %s"},u.prototype.atX0SecondsPastTheMinute=function(f){return p(f,["\u0432 %s \u0441\u0435\u043A\u0443\u043D\u0434\u0443","\u0432 %s \u0441\u0435\u043A\u0443\u043D\u0434\u044B","\u0432 %s \u0441\u0435\u043A\u0443\u043D\u0434"])},u.prototype.everyX0Minutes=function(f){return p(f,["\u043A\u0430\u0436\u0434\u0443\u044E %s \u043C\u0438\u043D\u0443\u0442\u0443","\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0438\u043D\u0443\u0442\u044B","\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0438\u043D\u0443\u0442"])},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"\u043C\u0438\u043D\u0443\u0442\u044B \u0441 %s \u043F\u043E %s"},u.prototype.atX0MinutesPastTheHour=function(f){return p(f,["\u0432 %s \u043C\u0438\u043D\u0443\u0442\u0443","\u0432 %s \u043C\u0438\u043D\u0443\u0442\u044B","\u0432 %s \u043C\u0438\u043D\u0443\u0442"])},u.prototype.everyX0Hours=function(f){return p(f,["\u043A\u0430\u0436\u0434\u044B\u0439 %s \u0447\u0430\u0441","\u043A\u0430\u0436\u0434\u044B\u0435 %s \u0447\u0430\u0441\u0430","\u043A\u0430\u0436\u0434\u044B\u0435 %s \u0447\u0430\u0441\u043E\u0432"])},u.prototype.betweenX0AndX1=function(){return"\u0441 %s \u043F\u043E %s"},u.prototype.atX0=function(){return"\u0432 %s"},u.prototype.commaEveryDay=function(){return", \u043A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C"},u.prototype.commaEveryX0DaysOfTheWeek=function(f){return p(f,["",", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u0434\u043D\u044F \u043D\u0435\u0434\u0435\u043B\u0438",", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u0434\u043D\u0435\u0439 \u043D\u0435\u0434\u0435\u043B\u0438"])},u.prototype.commaX0ThroughX1=function(f){return f&&(f[0]=="2"||f[0]=="3")?", \u0441\u043E %s \u043F\u043E %s":", \u0441 %s \u043F\u043E %s"},u.prototype.commaAndX0ThroughX1=function(f){return f&&(f[0]=="2"||f[0]=="3")?" \u0438 \u0441\u043E %s \u043F\u043E %s":" \u0438 \u0441 %s \u043F\u043E %s"},u.prototype.first=function(f){return l(f,["\u043F\u0435\u0440\u0432\u043E\u0435","\u043F\u0435\u0440\u0432\u044B\u0439","\u043F\u0435\u0440\u0432\u0443\u044E"])},u.prototype.second=function(f){return l(f,["\u0432\u0442\u043E\u0440\u043E\u0435","\u0432\u0442\u043E\u0440\u043E\u0439","\u0432\u0442\u043E\u0440\u0443\u044E"])},u.prototype.third=function(f){return l(f,["\u0442\u0440\u0435\u0442\u044C\u0435","\u0442\u0440\u0435\u0442\u0438\u0439","\u0442\u0440\u0435\u0442\u044C\u044E"])},u.prototype.fourth=function(f){return l(f,["\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043E\u0435","\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u044B\u0439","\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0443\u044E"])},u.prototype.fifth=function(f){return l(f,["\u043F\u044F\u0442\u043E\u0435","\u043F\u044F\u0442\u044B\u0439","\u043F\u044F\u0442\u0443\u044E"])},u.prototype.commaOnThe=function(f){return f==="2"?", \u0432\u043E ":", \u0432 "},u.prototype.spaceX0OfTheMonth=function(){return" %s \u043C\u0435\u0441\u044F\u0446\u0430"},u.prototype.lastDay=function(){return"\u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0434\u0435\u043D\u044C"},u.prototype.commaOnTheLastX0OfTheMonth=function(f){return l(f,[", \u0432 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435 %s \u043C\u0435\u0441\u044F\u0446\u0430",", \u0432 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 %s \u043C\u0435\u0441\u044F\u0446\u0430",", \u0432 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E %s \u043C\u0435\u0441\u044F\u0446\u0430"])},u.prototype.commaOnlyOnX0=function(f){return f&&f[0]==="2"?", \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u043E %s":", \u0442\u043E\u043B\u044C\u043A\u043E \u0432 %s"},u.prototype.commaAndOnX0=function(){return", \u0438 %s"},u.prototype.commaEveryX0Months=function(f){return p(f,[""," \u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0435\u0441\u044F\u0446\u0430"," \u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0435\u0441\u044F\u0446\u0435\u0432"])},u.prototype.commaOnlyInMonthX0=function(){return", \u0442\u043E\u043B\u044C\u043A\u043E %s"},u.prototype.commaOnlyInX0=function(){return", \u0442\u043E\u043B\u044C\u043A\u043E \u0432 %s"},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", \u0432 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0434\u0435\u043D\u044C \u043C\u0435\u0441\u044F\u0446\u0430"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", \u0432 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0431\u0443\u0434\u043D\u0438\u0439 \u0434\u0435\u043D\u044C \u043C\u0435\u0441\u044F\u0446\u0430"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(f){return p(f,[", \u0437\u0430 %s \u0434\u0435\u043D\u044C \u0434\u043E \u043A\u043E\u043D\u0446\u0430 \u043C\u0435\u0441\u044F\u0446\u0430",", \u0437\u0430 %s \u0434\u043D\u044F \u0434\u043E \u043A\u043E\u043D\u0446\u0430 \u043C\u0435\u0441\u044F\u0446\u0430",", \u0437\u0430 %s \u0434\u043D\u0435\u0439 \u0434\u043E \u043A\u043E\u043D\u0446\u0430 \u043C\u0435\u0441\u044F\u0446\u0430"])},u.prototype.firstWeekday=function(){return"\u043F\u0435\u0440\u0432\u044B\u0439 \u0431\u0443\u0434\u043D\u0438\u0439 \u0434\u0435\u043D\u044C"},u.prototype.weekdayNearestDayX0=function(){return"\u0431\u043B\u0438\u0436\u0430\u0439\u0448\u0438\u0439 \u0431\u0443\u0434\u043D\u0438\u0439 \u0434\u0435\u043D\u044C \u043A %s \u0447\u0438\u0441\u043B\u0443"},u.prototype.commaOnTheX0OfTheMonth=function(){return", \u0432 %s \u043C\u0435\u0441\u044F\u0446\u0430"},u.prototype.commaEveryX0Days=function(f){return p(f,[", \u043A\u0430\u0436\u0434\u044B\u0439 %s \u0434\u0435\u043D\u044C",", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u0434\u043D\u044F",", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u0434\u043D\u0435\u0439"])},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(f){return f&&f.substring(0,f.indexOf("-"))=="2"?", \u0441\u043E %s \u043F\u043E %s \u0447\u0438\u0441\u043B\u043E \u043C\u0435\u0441\u044F\u0446\u0430":", \u0441 %s \u043F\u043E %s \u0447\u0438\u0441\u043B\u043E \u043C\u0435\u0441\u044F\u0446\u0430"},u.prototype.commaOnDayX0OfTheMonth=function(f){return f&&f[0]=="2"?", \u0432\u043E %s \u0447\u0438\u0441\u043B\u043E \u043C\u0435\u0441\u044F\u0446\u0430":", \u0432 %s \u0447\u0438\u0441\u043B\u043E \u043C\u0435\u0441\u044F\u0446\u0430"},u.prototype.commaEveryX0Years=function(f){return p(f,[", \u043A\u0430\u0436\u0434\u044B\u0439 %s \u0433\u043E\u0434",", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u0433\u043E\u0434\u0430",", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u043B\u0435\u0442"])},u.prototype.commaStartingX0=function(){return", \u043D\u0430\u0447\u0430\u043B\u043E %s"},u.prototype.daysOfTheWeek=function(){return["\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435","\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A","\u0432\u0442\u043E\u0440\u043D\u0438\u043A","\u0441\u0440\u0435\u0434\u0430","\u0447\u0435\u0442\u0432\u0435\u0440\u0433","\u043F\u044F\u0442\u043D\u0438\u0446\u0430","\u0441\u0443\u0431\u0431\u043E\u0442\u0430"]},u.prototype.daysOfTheWeekInCase=function(f){return f===void 0&&(f=2),f==1?["\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u044F","\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A\u0430","\u0432\u0442\u043E\u0440\u043D\u0438\u043A\u0430","\u0441\u0440\u0435\u0434\u044B","\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430","\u043F\u044F\u0442\u043D\u0438\u0446\u044B","\u0441\u0443\u0431\u0431\u043E\u0442\u044B"]:["\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435","\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A","\u0432\u0442\u043E\u0440\u043D\u0438\u043A","\u0441\u0440\u0435\u0434\u0443","\u0447\u0435\u0442\u0432\u0435\u0440\u0433","\u043F\u044F\u0442\u043D\u0438\u0446\u0443","\u0441\u0443\u0431\u0431\u043E\u0442\u0443"]},u.prototype.monthsOfTheYear=function(){return["\u044F\u043D\u0432\u0430\u0440\u044C","\u0444\u0435\u0432\u0440\u0430\u043B\u044C","\u043C\u0430\u0440\u0442","\u0430\u043F\u0440\u0435\u043B\u044C","\u043C\u0430\u0439","\u0438\u044E\u043D\u044C","\u0438\u044E\u043B\u044C","\u0430\u0432\u0433\u0443\u0441\u0442","\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044C","\u043E\u043A\u0442\u044F\u0431\u0440\u044C","\u043D\u043E\u044F\u0431\u0440\u044C","\u0434\u0435\u043A\u0430\u0431\u0440\u044C"]},u.prototype.monthsOfTheYearInCase=function(f){return f==1?["\u044F\u043D\u0432\u0430\u0440\u044F","\u0444\u0435\u0432\u0440\u0430\u043B\u044F","\u043C\u0430\u0440\u0442\u0430","\u0430\u043F\u0440\u0435\u043B\u044F","\u043C\u0430\u044F","\u0438\u044E\u043D\u044F","\u0438\u044E\u043B\u044F","\u0430\u0432\u0433\u0443\u0441\u0442\u0430","\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044F","\u043E\u043A\u0442\u044F\u0431\u0440\u044F","\u043D\u043E\u044F\u0431\u0440\u044F","\u0434\u0435\u043A\u0430\u0431\u0440\u044F"]:this.monthsOfTheYear()},u}();return i.ru=d,s().locales.ru=new d,a})())});var bX=L((w0,FA)=>{"use strict";(function(t,r){typeof w0=="object"&&typeof FA=="object"?FA.exports=r(fo()):typeof define=="function"&&define.amd?define("locales/zh_CN",["cronstrue"],r):typeof w0=="object"?w0["locales/zh_CN"]=r(fo()):t["locales/zh_CN"]=r(t.cronstrue)})(globalThis,e=>(()=>{"use strict";var t={93:l=>{l.exports=e}},r={};function o(l){var d=r[l];if(d!==void 0)return d.exports;var u=r[l]={exports:{}};return t[l](u,u.exports,o),u.exports}o.n=l=>{var d=l&&l.__esModule?()=>l.default:()=>l;return o.d(d,{a:d}),d},o.d=(l,d)=>{for(var u in d)o.o(d,u)&&!o.o(l,u)&&Object.defineProperty(l,u,{enumerable:!0,get:d[u]})},o.o=(l,d)=>Object.prototype.hasOwnProperty.call(l,d),o.r=l=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})};var a={};o.r(a);var n=o(93),s=o.n(n),i=a;Object.defineProperty(i,"__esModule",{value:!0}),i.zh_CN=void 0;var p=function(){function l(){}return l.prototype.setPeriodBeforeTime=function(){return!0},l.prototype.pm=function(){return"\u4E0B\u5348"},l.prototype.am=function(){return"\u4E0A\u5348"},l.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},l.prototype.atX0MinutesPastTheHourGt20=function(){return null},l.prototype.commaMonthX0ThroughMonthX1=function(){return null},l.prototype.commaYearX0ThroughYearX1=function(){return", \u4ECE%s\u5E74\u81F3%s\u5E74"},l.prototype.use24HourTimeFormatByDefault=function(){return!1},l.prototype.everyMinute=function(){return"\u6BCF\u5206\u949F"},l.prototype.everyHour=function(){return"\u6BCF\u5C0F\u65F6"},l.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"\u751F\u6210\u8868\u8FBE\u5F0F\u63CF\u8FF0\u65F6\u53D1\u751F\u4E86\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5cron\u8868\u8FBE\u5F0F\u8BED\u6CD5\u3002"},l.prototype.atSpace=function(){return"\u5728"},l.prototype.everyMinuteBetweenX0AndX1=function(){return"\u5728 %s \u81F3 %s \u4E4B\u95F4\u7684\u6BCF\u5206\u949F"},l.prototype.at=function(){return"\u5728"},l.prototype.spaceAnd=function(){return" \u548C"},l.prototype.everySecond=function(){return"\u6BCF\u79D2"},l.prototype.everyX0Seconds=function(){return"\u6BCF\u9694 %s \u79D2"},l.prototype.secondsX0ThroughX1PastTheMinute=function(){return"\u5728\u6BCF\u5206\u949F\u7684\u7B2C %s \u5230 %s \u79D2"},l.prototype.atX0SecondsPastTheMinute=function(){return"\u5728\u6BCF\u5206\u949F\u7684\u7B2C %s \u79D2"},l.prototype.everyX0Minutes=function(){return"\u6BCF\u9694 %s \u5206\u949F"},l.prototype.minutesX0ThroughX1PastTheHour=function(){return"\u5728\u6BCF\u5C0F\u65F6\u7684\u7B2C %s \u5230 %s \u5206\u949F"},l.prototype.atX0MinutesPastTheHour=function(){return"\u5728\u6BCF\u5C0F\u65F6\u7684\u7B2C %s \u5206\u949F"},l.prototype.everyX0Hours=function(){return"\u6BCF\u9694 %s \u5C0F\u65F6"},l.prototype.betweenX0AndX1=function(){return"\u5728 %s \u548C %s \u4E4B\u95F4"},l.prototype.atX0=function(){return"\u5728%s"},l.prototype.commaEveryDay=function(){return", \u6BCF\u5929"},l.prototype.commaEveryX0DaysOfTheWeek=function(){return", \u6BCF\u5468\u7684\u6BCF %s \u5929"},l.prototype.commaX0ThroughX1=function(){return", %s\u81F3%s"},l.prototype.commaAndX0ThroughX1=function(){return", \u548C%s\u81F3%s"},l.prototype.first=function(){return"\u7B2C\u4E00\u4E2A"},l.prototype.second=function(){return"\u7B2C\u4E8C\u4E2A"},l.prototype.third=function(){return"\u7B2C\u4E09\u4E2A"},l.prototype.fourth=function(){return"\u7B2C\u56DB\u4E2A"},l.prototype.fifth=function(){return"\u7B2C\u4E94\u4E2A"},l.prototype.commaOnThe=function(){return", \u9650\u6BCF\u6708\u7684"},l.prototype.spaceX0OfTheMonth=function(){return"%s"},l.prototype.lastDay=function(){return"\u672C\u6708\u6700\u540E\u4E00\u5929"},l.prototype.commaOnTheLastX0OfTheMonth=function(){return", \u9650\u6BCF\u6708\u7684\u6700\u540E\u4E00\u4E2A%s"},l.prototype.commaOnlyOnX0=function(){return", \u4EC5%s"},l.prototype.commaAndOnX0=function(){return", \u6216\u8005\u4E3A%s"},l.prototype.commaEveryX0Months=function(){return", \u6BCF\u9694 %s \u4E2A\u6708"},l.prototype.commaOnlyInX0=function(){return", \u4EC5\u9650%s"},l.prototype.commaOnlyInMonthX0=function(){return", \u4EC5\u4E8E%s\u4EFD"},l.prototype.commaOnlyInYearX0=function(){return", \u4EC5\u4E8E %s \u5E74"},l.prototype.commaOnTheLastDayOfTheMonth=function(){return", \u9650\u6BCF\u6708\u7684\u6700\u540E\u4E00\u5929"},l.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", \u9650\u6BCF\u6708\u7684\u6700\u540E\u4E00\u4E2A\u5DE5\u4F5C\u65E5"},l.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", \u9650\u6BCF\u6708\u6700\u540E%s\u5929"},l.prototype.firstWeekday=function(){return"\u7B2C\u4E00\u4E2A\u5DE5\u4F5C\u65E5"},l.prototype.weekdayNearestDayX0=function(){return"\u6700\u63A5\u8FD1 %s \u53F7\u7684\u5DE5\u4F5C\u65E5"},l.prototype.commaOnTheX0OfTheMonth=function(){return", \u9650\u6BCF\u6708\u7684%s"},l.prototype.commaEveryX0Days=function(){return", \u6BCF\u9694 %s \u5929"},l.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", \u9650\u6BCF\u6708\u7684 %s \u81F3 %s \u4E4B\u95F4"},l.prototype.commaOnDayX0OfTheMonth=function(){return", \u9650\u6BCF\u6708%s"},l.prototype.commaEveryX0Years=function(){return", \u6BCF\u9694 %s \u5E74"},l.prototype.commaStartingX0=function(){return", %s\u5F00\u59CB"},l.prototype.dayX0=function(){return" %s \u53F7"},l.prototype.daysOfTheWeek=function(){return["\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"]},l.prototype.monthsOfTheYear=function(){return["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"]},l}();return i.zh_CN=p,s().locales.zh_CN=new p,a})())});var TX=L((_0,BA)=>{"use strict";(function(t,r){typeof _0=="object"&&typeof BA=="object"?BA.exports=r(fo()):typeof define=="function"&&define.amd?define("locales/uk",["cronstrue"],r):typeof _0=="object"?_0["locales/uk"]=r(fo()):t["locales/uk"]=r(t.cronstrue)})(globalThis,e=>(()=>{"use strict";var t={93:l=>{l.exports=e}},r={};function o(l){var d=r[l];if(d!==void 0)return d.exports;var u=r[l]={exports:{}};return t[l](u,u.exports,o),u.exports}o.n=l=>{var d=l&&l.__esModule?()=>l.default:()=>l;return o.d(d,{a:d}),d},o.d=(l,d)=>{for(var u in d)o.o(d,u)&&!o.o(l,u)&&Object.defineProperty(l,u,{enumerable:!0,get:d[u]})},o.o=(l,d)=>Object.prototype.hasOwnProperty.call(l,d),o.r=l=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})};var a={};o.r(a);var n=o(93),s=o.n(n),i=a;Object.defineProperty(i,"__esModule",{value:!0}),i.uk=void 0;var p=function(){function l(){}return l.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},l.prototype.atX0MinutesPastTheHourGt20=function(){return null},l.prototype.commaMonthX0ThroughMonthX1=function(){return null},l.prototype.commaYearX0ThroughYearX1=function(){return null},l.prototype.use24HourTimeFormatByDefault=function(){return!0},l.prototype.everyMinute=function(){return"\u0449\u043E\u0445\u0432\u0438\u043B\u0438\u043D\u0438"},l.prototype.everyHour=function(){return"\u0449\u043E\u0433\u043E\u0434\u0438\u043D\u0438"},l.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"\u0412\u0406\u0434\u0431\u0443\u043B\u0430\u0441\u044F \u043F\u043E\u043C\u0438\u043B\u043A\u0430 \u043F\u0456\u0434\u0447\u0430\u0441 \u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0456\u0457 \u043E\u043F\u0438\u0441\u0443. \u041F\u0435\u0440\u0435\u0432\u0456\u0440\u0442\u0430 \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456\u0441\u0442\u044C \u043D\u0430\u043F\u0438\u0441\u0430\u043D\u043D\u044F cron \u0432\u0438\u0440\u0430\u0437\u0443."},l.prototype.atSpace=function(){return"\u041E "},l.prototype.everyMinuteBetweenX0AndX1=function(){return"\u0429\u043E\u0445\u0432\u0438\u043B\u0438\u043D\u0438 \u043C\u0456\u0436 %s \u0442\u0430 %s"},l.prototype.at=function(){return"\u041E"},l.prototype.spaceAnd=function(){return" \u0442\u0430"},l.prototype.everySecond=function(){return"\u0429\u043E\u0441\u0435\u043A\u0443\u043D\u0434\u0438"},l.prototype.everyX0Seconds=function(){return"\u043A\u043E\u0436\u043D\u0456 %s \u0441\u0435\u043A\u0443\u043D\u0434"},l.prototype.secondsX0ThroughX1PastTheMinute=function(){return"\u0437 %s \u043F\u043E %s \u0441\u0435\u043A\u0443\u043D\u0434\u0443"},l.prototype.atX0SecondsPastTheMinute=function(){return"\u043E %s \u0441\u0435\u043A\u0443\u043D\u0434\u0456"},l.prototype.everyX0Minutes=function(){return"\u043A\u043E\u0436\u043D\u0456 %s \u0445\u0432\u0438\u043B\u0438\u043D"},l.prototype.minutesX0ThroughX1PastTheHour=function(){return"\u0437 %s \u043F\u043E %s \u0445\u0432\u0438\u043B\u0438\u043D\u0443"},l.prototype.atX0MinutesPastTheHour=function(){return"\u043E %s \u0445\u0432\u0438\u043B\u0438\u043D\u0456"},l.prototype.everyX0Hours=function(){return"\u043A\u043E\u0436\u043D\u0456 %s \u0433\u043E\u0434\u0438\u043D"},l.prototype.betweenX0AndX1=function(){return"\u043C\u0456\u0436 %s \u0442\u0430 %s"},l.prototype.atX0=function(){return"\u043E %s"},l.prototype.commaEveryDay=function(){return", \u0449\u043E\u0434\u0435\u043D\u043D\u043E"},l.prototype.commaEveryX0DaysOfTheWeek=function(){return", \u043A\u043E\u0436\u0435\u043D %s \u0434\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F"},l.prototype.commaX0ThroughX1=function(){return", %s \u043F\u043E %s"},l.prototype.commaAndX0ThroughX1=function(){return", \u0442\u0430 %s \u043F\u043E %s"},l.prototype.first=function(){return"\u043F\u0435\u0440\u0448\u0438\u0439"},l.prototype.second=function(){return"\u0434\u0440\u0443\u0433\u0438\u0439"},l.prototype.third=function(){return"\u0442\u0440\u0435\u0442\u0456\u0439"},l.prototype.fourth=function(){return"\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0438\u0439"},l.prototype.fifth=function(){return"\u043F'\u044F\u0442\u0438\u0439"},l.prototype.commaOnThe=function(){return", \u0432 "},l.prototype.spaceX0OfTheMonth=function(){return" %s \u043C\u0456\u0441\u044F\u0446\u044F"},l.prototype.lastDay=function(){return"\u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0439 \u0434\u0435\u043D\u044C"},l.prototype.commaOnTheLastX0OfTheMonth=function(){return", \u0432 \u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0439 %s \u043C\u0456\u0441\u044F\u0446\u044F"},l.prototype.commaOnlyOnX0=function(){return", \u0442\u0456\u043B\u044C\u043A\u0438 \u0432 %s"},l.prototype.commaAndOnX0=function(){return", \u0456 \u0432 %s"},l.prototype.commaEveryX0Months=function(){return", \u043A\u043E\u0436\u0435\u043D %s \u043C\u0456\u0441\u044F\u0446\u044C"},l.prototype.commaOnlyInX0=function(){return", \u0442\u0456\u043B\u044C\u043A\u0438 \u0432 %s"},l.prototype.commaOnTheLastDayOfTheMonth=function(){return", \u0432 \u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0439 \u0434\u0435\u043D\u044C \u043C\u0456\u0441\u044F\u0446\u044F"},l.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", \u0432 \u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0439 \u0431\u0443\u0434\u0435\u043D\u044C \u043C\u0456\u0441\u044F\u0446\u044F"},l.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s \u0434\u043D\u0456\u0432 \u0434\u043E \u043E\u0441\u0442\u0430\u043D\u043D\u044C\u043E\u0433\u043E \u0434\u043D\u044F \u043C\u0456\u0441\u044F\u0446\u044F"},l.prototype.firstWeekday=function(){return"\u043F\u0435\u0440\u0448\u0438\u0439 \u0431\u0443\u0434\u0435\u043D\u044C"},l.prototype.weekdayNearestDayX0=function(){return"\u0431\u0443\u0434\u0435\u043D\u044C \u043D\u0430\u0439\u0431\u043B\u0438\u0436\u0447\u0438\u0439 \u0434\u043E %s \u0434\u043D\u044F"},l.prototype.commaOnTheX0OfTheMonth=function(){return", \u0432 %s \u043C\u0456\u0441\u044F\u0446\u044F"},l.prototype.commaEveryX0Days=function(){return", \u043A\u043E\u0436\u0435\u043D %s \u0434\u0435\u043D\u044C"},l.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", \u043C\u0456\u0436 %s \u0442\u0430 %s \u0434\u043D\u044F\u043C\u0438 \u043C\u0456\u0441\u044F\u0446\u044F"},l.prototype.commaOnDayX0OfTheMonth=function(){return", \u043D\u0430 %s \u0434\u0435\u043D\u044C \u043C\u0456\u0441\u044F\u0446\u044F"},l.prototype.commaEveryX0Years=function(){return", \u043A\u043E\u0436\u043D\u0456 %s \u0440\u043E\u043A\u0438"},l.prototype.commaStartingX0=function(){return", \u043F\u043E\u0447\u0430\u0442\u043E\u043A %s"},l.prototype.daysOfTheWeek=function(){return["\u043D\u0435\u0434\u0456\u043B\u044F","\u043F\u043E\u043D\u0435\u0434\u0456\u043B\u043E\u043A","\u0432\u0456\u0432\u0442\u043E\u0440\u043E\u043A","\u0441\u0435\u0440\u0435\u0434\u0430","\u0447\u0435\u0442\u0432\u0435\u0440","\u043F'\u044F\u0442\u043D\u0438\u0446\u044F","\u0441\u0443\u0431\u043E\u0442\u0430"]},l.prototype.monthsOfTheYear=function(){return["\u0441\u0456\u0447\u0435\u043D\u044C","\u043B\u044E\u0442\u0438\u0439","\u0431\u0435\u0440\u0435\u0437\u0435\u043D\u044C","\u043A\u0432\u0456\u0442\u0435\u043D\u044C","\u0442\u0440\u0430\u0432\u0435\u043D\u044C","\u0447\u0435\u0440\u0432\u0435\u043D\u044C","\u043B\u0438\u043F\u0435\u043D\u044C","\u0441\u0435\u0440\u043F\u0435\u043D\u044C","\u0432\u0435\u0440\u0435\u0441\u0435\u043D\u044C","\u0436\u043E\u0432\u0442\u0435\u043D\u044C","\u043B\u0438\u0441\u0442\u043E\u043F\u0430\u0434","\u0433\u0440\u0443\u0434\u0435\u043D\u044C"]},l}();return i.uk=p,s().locales.uk=new p,a})())});var SX=L((C0,LA)=>{"use strict";(function(t,r){typeof C0=="object"&&typeof LA=="object"?LA.exports=r(fo()):typeof define=="function"&&define.amd?define("locales/pt_BR",["cronstrue"],r):typeof C0=="object"?C0["locales/pt_BR"]=r(fo()):t["locales/pt_BR"]=r(t.cronstrue)})(globalThis,e=>(()=>{"use strict";var t={93:l=>{l.exports=e}},r={};function o(l){var d=r[l];if(d!==void 0)return d.exports;var u=r[l]={exports:{}};return t[l](u,u.exports,o),u.exports}o.n=l=>{var d=l&&l.__esModule?()=>l.default:()=>l;return o.d(d,{a:d}),d},o.d=(l,d)=>{for(var u in d)o.o(d,u)&&!o.o(l,u)&&Object.defineProperty(l,u,{enumerable:!0,get:d[u]})},o.o=(l,d)=>Object.prototype.hasOwnProperty.call(l,d),o.r=l=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})};var a={};o.r(a);var n=o(93),s=o.n(n),i=a;Object.defineProperty(i,"__esModule",{value:!0}),i.pt_BR=void 0;var p=function(){function l(){}return l.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},l.prototype.atX0MinutesPastTheHourGt20=function(){return null},l.prototype.commaMonthX0ThroughMonthX1=function(){return null},l.prototype.commaYearX0ThroughYearX1=function(){return null},l.prototype.use24HourTimeFormatByDefault=function(){return!0},l.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Ocorreu um erro ao gerar a descri\xE7\xE3o da express\xE3o Cron."},l.prototype.at=function(){return"\xE0s"},l.prototype.atSpace=function(){return"\xE0s "},l.prototype.atX0=function(){return"\xC0s %s"},l.prototype.atX0MinutesPastTheHour=function(){return"aos %s minutos da hora"},l.prototype.atX0SecondsPastTheMinute=function(){return"aos %s segundos do minuto"},l.prototype.betweenX0AndX1=function(){return"entre %s e %s"},l.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", entre os dias %s e %s do m\xEAs"},l.prototype.commaEveryDay=function(){return", a cada dia"},l.prototype.commaEveryX0Days=function(){return", a cada %s dias"},l.prototype.commaEveryX0DaysOfTheWeek=function(){return", a cada %s dias de semana"},l.prototype.commaEveryX0Months=function(){return", a cada %s meses"},l.prototype.commaOnDayX0OfTheMonth=function(){return", no dia %s do m\xEAs"},l.prototype.commaOnlyInX0=function(d){return d&&d.length>1&&d[1]==="-"?"somente %s":", somente em %s"},l.prototype.commaOnlyOnX0=function(d){return d&&d.length>1&&d[1]==="-"?", somente %s":", somente de %s"},l.prototype.commaAndOnX0=function(){return", e de %s"},l.prototype.commaOnThe=function(d,u){return u==="6"||u==="0"?", no":", na "},l.prototype.commaOnTheLastDayOfTheMonth=function(){return", no \xFAltimo dia do m\xEAs"},l.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", no \xFAltimo dia da semana do m\xEAs"},l.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s dias antes do \xFAltimo dia do m\xEAs"},l.prototype.commaOnTheLastX0OfTheMonth=function(){return", na \xFAltima %s do m\xEAs"},l.prototype.commaOnTheX0OfTheMonth=function(){return", no %s do m\xEAs"},l.prototype.commaX0ThroughX1=function(){return", de %s a %s"},l.prototype.commaAndX0ThroughX1=function(){return", e de %s a %s"},l.prototype.everyHour=function(){return"a cada hora"},l.prototype.everyMinute=function(){return"a cada minuto"},l.prototype.everyMinuteBetweenX0AndX1=function(){return"a cada minuto entre %s e %s"},l.prototype.everySecond=function(){return"a cada segundo"},l.prototype.everyX0Hours=function(){return"a cada %s horas"},l.prototype.everyX0Minutes=function(){return"a cada %s minutos"},l.prototype.everyX0Seconds=function(){return"a cada %s segundos"},l.prototype.fifth=function(d){return d==="6"||d==="0"?"quinto":"quinta"},l.prototype.first=function(d){return d==="6"||d==="0"?"primeiro":"primeira"},l.prototype.firstWeekday=function(){return"primeiro dia da semana"},l.prototype.fourth=function(d){return d==="6"||d==="0"?"quarto":"quarta"},l.prototype.minutesX0ThroughX1PastTheHour=function(){return"do minuto %s at\xE9 %s de cada hora"},l.prototype.second=function(d){return d==="6"||d==="0"?"segundo":"segunda"},l.prototype.secondsX0ThroughX1PastTheMinute=function(){return"No segundo %s at\xE9 %s de cada minuto"},l.prototype.spaceAnd=function(){return" e"},l.prototype.spaceX0OfTheMonth=function(){return" %s do m\xEAs"},l.prototype.lastDay=function(){return"o \xFAltimo dia"},l.prototype.third=function(d){return d==="6"||d==="0"?"terceiro":"terceira"},l.prototype.weekdayNearestDayX0=function(){return"dia da semana mais pr\xF3ximo do dia %s"},l.prototype.commaEveryX0Years=function(){return", a cada %s anos"},l.prototype.commaStartingX0=function(){return", iniciando %s"},l.prototype.daysOfTheWeek=function(){return["domingo","segunda-feira","ter\xE7a-feira","quarta-feira","quinta-feira","sexta-feira","s\xE1bado"]},l.prototype.monthsOfTheYear=function(){return["janeiro","fevereiro","mar\xE7o","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"]},l}();return i.pt_BR=p,s().locales.pt_BR=new p,a})())});var wX=L((O0,jA)=>{"use strict";(function(t,r){typeof O0=="object"&&typeof jA=="object"?jA.exports=r(fo()):typeof define=="function"&&define.amd?define("locales/pl",["cronstrue"],r):typeof O0=="object"?O0["locales/pl"]=r(fo()):t["locales/pl"]=r(t.cronstrue)})(globalThis,e=>(()=>{"use strict";var t={93:l=>{l.exports=e}},r={};function o(l){var d=r[l];if(d!==void 0)return d.exports;var u=r[l]={exports:{}};return t[l](u,u.exports,o),u.exports}o.n=l=>{var d=l&&l.__esModule?()=>l.default:()=>l;return o.d(d,{a:d}),d},o.d=(l,d)=>{for(var u in d)o.o(d,u)&&!o.o(l,u)&&Object.defineProperty(l,u,{enumerable:!0,get:d[u]})},o.o=(l,d)=>Object.prototype.hasOwnProperty.call(l,d),o.r=l=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})};var a={};o.r(a);var n=o(93),s=o.n(n),i=a;Object.defineProperty(i,"__esModule",{value:!0}),i.pl=void 0;var p=function(){function l(){}return l.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},l.prototype.atX0MinutesPastTheHourGt20=function(){return null},l.prototype.commaMonthX0ThroughMonthX1=function(){return null},l.prototype.commaYearX0ThroughYearX1=function(){return null},l.prototype.use24HourTimeFormatByDefault=function(){return!0},l.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Wyst\u0105pi\u0142 b\u0142\u0105d podczas generowania opisu wyra\u017Cenia cron. Sprawd\u017A sk\u0142adni\u0119 wyra\u017Cenia cron."},l.prototype.at=function(){return"O"},l.prototype.atSpace=function(){return"O "},l.prototype.atX0=function(){return"o %s"},l.prototype.atX0MinutesPastTheHour=function(){return"w %s minucie"},l.prototype.atX0SecondsPastTheMinute=function(){return"w %s sekundzie"},l.prototype.betweenX0AndX1=function(){return"od %s do %s"},l.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", od %s-ego do %s-ego dnia miesi\u0105ca"},l.prototype.commaEveryDay=function(){return", co dzie\u0144"},l.prototype.commaEveryX0Days=function(){return", co %s dni"},l.prototype.commaEveryX0DaysOfTheWeek=function(){return", co %s dni tygodnia"},l.prototype.commaEveryX0Months=function(){return", co %s miesi\u0119cy"},l.prototype.commaEveryX0Years=function(){return", co %s lat"},l.prototype.commaOnDayX0OfTheMonth=function(){return", %s-ego dnia miesi\u0105ca"},l.prototype.commaOnlyInX0=function(){return", tylko %s"},l.prototype.commaOnlyOnX0=function(){return", tylko %s"},l.prototype.commaAndOnX0=function(){return", i %s"},l.prototype.commaOnThe=function(){return", "},l.prototype.commaOnTheLastDayOfTheMonth=function(){return", ostatni dzie\u0144 miesi\u0105ca"},l.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", ostatni dzie\u0144 roboczy miesi\u0105ca"},l.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s dni przed ostatnim dniem miesi\u0105ca"},l.prototype.commaOnTheLastX0OfTheMonth=function(){return", ostatni %s miesi\u0105ca"},l.prototype.commaOnTheX0OfTheMonth=function(){return", %s miesi\u0105ca"},l.prototype.commaX0ThroughX1=function(){return", od %s do %s"},l.prototype.commaAndX0ThroughX1=function(){return", i od %s do %s"},l.prototype.everyHour=function(){return"co godzin\u0119"},l.prototype.everyMinute=function(){return"co minut\u0119"},l.prototype.everyMinuteBetweenX0AndX1=function(){return"Co minut\u0119 od %s do %s"},l.prototype.everySecond=function(){return"co sekund\u0119"},l.prototype.everyX0Hours=function(){return"co %s godzin"},l.prototype.everyX0Minutes=function(){return"co %s minut"},l.prototype.everyX0Seconds=function(){return"co %s sekund"},l.prototype.fifth=function(){return"pi\u0105ty"},l.prototype.first=function(){return"pierwszy"},l.prototype.firstWeekday=function(){return"pierwszy dzie\u0144 roboczy"},l.prototype.fourth=function(){return"czwarty"},l.prototype.minutesX0ThroughX1PastTheHour=function(){return"minuty od %s do %s"},l.prototype.second=function(){return"drugi"},l.prototype.secondsX0ThroughX1PastTheMinute=function(){return"sekundy od %s do %s"},l.prototype.spaceAnd=function(){return" i"},l.prototype.spaceX0OfTheMonth=function(){return" %s miesi\u0105ca"},l.prototype.lastDay=function(){return"ostatni dzie\u0144"},l.prototype.third=function(){return"trzeci"},l.prototype.weekdayNearestDayX0=function(){return"dzie\u0144 roboczy najbli\u017Cszy %s-ego dnia"},l.prototype.commaStartingX0=function(){return", startowy %s"},l.prototype.daysOfTheWeek=function(){return["niedziela","poniedzia\u0142ek","wtorek","\u015Broda","czwartek","pi\u0105tek","sobota"]},l.prototype.monthsOfTheYear=function(){return["stycze\u0144","luty","marzec","kwiecie\u0144","maj","czerwiec","lipiec","sierpie\u0144","wrzesie\u0144","pa\u017Adziernik","listopad","grudzie\u0144"]},l}();return i.pl=p,s().locales.pl=new p,a})())});var AX=L(HA=>{"use strict";HA.__esModule=!0;HA.default=function(e,t){if(e&&t){var r=Array.isArray(t)?t:t.split(",");if(r.length===0)return!0;var o=e.name||"",a=(e.type||"").toLowerCase(),n=a.replace(/\/.*$/,"");return r.some(function(s){var i=s.trim().toLowerCase();return i.charAt(0)==="."?o.toLowerCase().endsWith(i):i.endsWith("/*")?n===i.replace(/\/.*$/,""):a===i})}return!0}});var zY=L((A2,M2)=>{"use strict";(function(e,t){typeof A2=="object"&&typeof M2!="undefined"?M2.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis!="undefined"?globalThis:e||self,e.Cropper=t())})(A2,function(){"use strict";function e(I,_){var P=Object.keys(I);if(Object.getOwnPropertySymbols){var E=Object.getOwnPropertySymbols(I);_&&(E=E.filter(function(U){return Object.getOwnPropertyDescriptor(I,U).enumerable})),P.push.apply(P,E)}return P}function t(I){for(var _=1;_I.length)&&(_=I.length);for(var P=0,E=new Array(_);P<_;P++)E[P]=I[P];return E}function h(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var g=typeof window!="undefined"&&typeof window.document!="undefined",m=g?window:{},x=g&&m.document.documentElement?"ontouchstart"in m.document.documentElement:!1,T=g?"PointerEvent"in m:!1,b="cropper",v="all",w="crop",O="move",k="zoom",M="e",N="w",S="s",B="n",G="ne",J="nw",q="se",j="sw",X="".concat(b,"-crop"),le="".concat(b,"-disabled"),ae="".concat(b,"-hidden"),de="".concat(b,"-hide"),Be="".concat(b,"-invisible"),Oe="".concat(b,"-modal"),We="".concat(b,"-move"),ke="".concat(b,"Action"),_e="".concat(b,"Preview"),He="crop",Me="move",lt="none",Ye="crop",ot="cropend",ft="cropmove",Fe="cropstart",Pe="dblclick",Ze=x?"touchstart":"mousedown",qe=x?"touchmove":"mousemove",Ue=x?"touchend touchcancel":"mouseup",ue=T?"pointerdown":Ze,we=T?"pointermove":qe,Ne=T?"pointerup pointercancel":Ue,Ve="ready",ht="resize",Tt="wheel",xt="zoom",Ee="image/jpeg",me=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,Re=/^data:/,mt=/^data:image\/jpeg;base64,/,gt=/^img|canvas$/i,Ge=200,et=100,Ut={viewMode:0,dragMode:He,initialAspectRatio:NaN,aspectRatio:NaN,data:null,preview:"",responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,modal:!0,guides:!0,center:!0,highlight:!0,background:!0,autoCrop:!0,autoCropArea:.8,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,wheelZoomRatio:.1,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,minCanvasWidth:0,minCanvasHeight:0,minCropBoxWidth:0,minCropBoxHeight:0,minContainerWidth:Ge,minContainerHeight:et,ready:null,cropstart:null,cropmove:null,cropend:null,crop:null,zoom:null},Rt='
',ct=Number.isNaN||m.isNaN;function je(I){return typeof I=="number"&&!ct(I)}var Nt=function(_){return _>0&&_<1/0};function pe(I){return typeof I=="undefined"}function he(I){return a(I)==="object"&&I!==null}var ze=Object.prototype.hasOwnProperty;function $e(I){if(!he(I))return!1;try{var _=I.constructor,P=_.prototype;return _&&P&&ze.call(P,"isPrototypeOf")}catch(E){return!1}}function pt(I){return typeof I=="function"}var za=Array.prototype.slice;function Nn(I){return Array.from?Array.from(I):za.call(I)}function Jt(I,_){return I&&pt(_)&&(Array.isArray(I)||je(I.length)?Nn(I).forEach(function(P,E){_.call(I,P,E,I)}):he(I)&&Object.keys(I).forEach(function(P){_.call(I,I[P],P,I)})),I}var Ht=Object.assign||function(_){for(var P=arguments.length,E=new Array(P>1?P-1:0),U=1;U0&&E.forEach(function(F){he(F)&&Object.keys(F).forEach(function(z){_[z]=F[z]})}),_},Bd=/\.\d*(?:0|9){12}\d*$/;function $l(I){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return Bd.test(I)?Math.round(I*_)/_:I}var TC=/^width|height|left|top|marginLeft|marginTop$/;function vs(I,_){var P=I.style;Jt(_,function(E,U){TC.test(U)&&je(E)&&(E="".concat(E,"px")),P[U]=E})}function jv(I,_){return I.classList?I.classList.contains(_):I.className.indexOf(_)>-1}function Kr(I,_){if(_){if(je(I.length)){Jt(I,function(E){Kr(E,_)});return}if(I.classList){I.classList.add(_);return}var P=I.className.trim();P?P.indexOf(_)<0&&(I.className="".concat(P," ").concat(_)):I.className=_}}function Je(I,_){if(_){if(je(I.length)){Jt(I,function(P){Je(P,_)});return}if(I.classList){I.classList.remove(_);return}I.className.indexOf(_)>=0&&(I.className=I.className.replace(_,""))}}function Ro(I,_,P){if(_){if(je(I.length)){Jt(I,function(E){Ro(E,_,P)});return}P?Kr(I,_):Je(I,_)}}var zv=/([a-z\d])([A-Z])/g;function SC(I){return I.replace(zv,"$1-$2").toLowerCase()}function wC(I,_){return he(I[_])?I[_]:I.dataset?I.dataset[_]:I.getAttribute("data-".concat(SC(_)))}function Gh(I,_,P){he(P)?I[_]=P:I.dataset?I.dataset[_]=P:I.setAttribute("data-".concat(SC(_)),P)}function SQ(I,_){if(he(I[_]))try{delete I[_]}catch(P){I[_]=void 0}else if(I.dataset)try{delete I.dataset[_]}catch(P){I.dataset[_]=void 0}else I.removeAttribute("data-".concat(SC(_)))}var WM=/\s\s*/,UM=function(){var I=!1;if(g){var _=!1,P=function(){},E=Object.defineProperty({},"once",{get:function(){return I=!0,_},set:function(F){_=F}});m.addEventListener("test",P,E),m.removeEventListener("test",P,E)}return I}();function bs(I,_,P){var E=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},U=P;_.trim().split(WM).forEach(function(F){if(!UM){var z=I.listeners;z&&z[F]&&z[F][P]&&(U=z[F][P],delete z[F][P],Object.keys(z[F]).length===0&&delete z[F],Object.keys(z).length===0&&delete I.listeners)}I.removeEventListener(F,U,E)})}function In(I,_,P){var E=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},U=P;_.trim().split(WM).forEach(function(F){if(E.once&&!UM){var z=I.listeners,ee=z===void 0?{}:z;U=function(){delete ee[F][P],I.removeEventListener(F,U,E);for(var ce=arguments.length,ne=new Array(ce),se=0;seMath.abs(P)&&(P=ye)})}),P}function Wv(I,_){var P=I.pageX,E=I.pageY,U={endX:P,endY:E};return _?U:t({startX:P,startY:E},U)}function CQ(I){var _=0,P=0,E=0;return Jt(I,function(U){var F=U.startX,z=U.startY;_+=F,P+=z,E+=1}),_/=E,P/=E,{pageX:_,pageY:P}}function Gl(I){var _=I.aspectRatio,P=I.height,E=I.width,U=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"contain",F=Nt(E),z=Nt(P);if(F&&z){var ee=P*_;U==="contain"&&ee>E||U==="cover"&&ee90?{width:be,height:ee}:{width:ee,height:be}}function kQ(I,_,P,E){var U=_.aspectRatio,F=_.naturalWidth,z=_.naturalHeight,ee=_.rotate,be=ee===void 0?0:ee,ce=_.scaleX,ne=ce===void 0?1:ce,se=_.scaleY,ye=se===void 0?1:se,Ct=P.aspectRatio,St=P.naturalWidth,wr=P.naturalHeight,Ft=E.fillColor,ho=Ft===void 0?"transparent":Ft,Do=E.imageSmoothingEnabled,oo=Do===void 0?!0:Do,Yi=E.imageSmoothingQuality,pn=Yi===void 0?"low":Yi,Se=E.maxWidth,Bt=Se===void 0?1/0:Se,xo=E.maxHeight,Fn=xo===void 0?1/0:xo,Zi=E.minWidth,Ld=Zi===void 0?0:Zi,jd=E.minHeight,ql=jd===void 0?0:jd,ii=document.createElement("canvas"),Wa=ii.getContext("2d"),zd=Gl({aspectRatio:Ct,width:Bt,height:Fn}),Uv=Gl({aspectRatio:Ct,width:Ld,height:ql},"cover"),CC=Math.min(zd.width,Math.max(Uv.width,St)),OC=Math.min(zd.height,Math.max(Uv.height,wr)),KM=Gl({aspectRatio:U,width:Bt,height:Fn}),JM=Gl({aspectRatio:U,width:Ld,height:ql},"cover"),XM=Math.min(KM.width,Math.max(JM.width,F)),YM=Math.min(KM.height,Math.max(JM.height,z)),WQ=[-XM/2,-YM/2,XM,YM];return ii.width=$l(CC),ii.height=$l(OC),Wa.fillStyle=ho,Wa.fillRect(0,0,CC,OC),Wa.save(),Wa.translate(CC/2,OC/2),Wa.rotate(be*Math.PI/180),Wa.scale(ne,ye),Wa.imageSmoothingEnabled=oo,Wa.imageSmoothingQuality=pn,Wa.drawImage.apply(Wa,[I].concat(l(WQ.map(function(UQ){return Math.floor($l(UQ))})))),Wa.restore(),ii}var GM=String.fromCharCode;function EQ(I,_,P){var E="";P+=_;for(var U=_;U0;)P.push(GM.apply(null,Nn(U.subarray(0,E)))),U=U.subarray(E);return"data:".concat(_,";base64,").concat(btoa(P.join("")))}function AQ(I){var _=new DataView(I),P;try{var E,U,F;if(_.getUint8(0)===255&&_.getUint8(1)===216)for(var z=_.byteLength,ee=2;ee+1=8&&(F=ce+se)}}}if(F){var ye=_.getUint16(F,E),Ct,St;for(St=0;St=0?F:Ge),height:Math.max(E.offsetHeight,z>=0?z:et)};this.containerData=ee,vs(U,{width:ee.width,height:ee.height}),Kr(_,ae),Je(U,ae)},initCanvas:function(){var _=this.containerData,P=this.imageData,E=this.options.viewMode,U=Math.abs(P.rotate)%180===90,F=U?P.naturalHeight:P.naturalWidth,z=U?P.naturalWidth:P.naturalHeight,ee=F/z,be=_.width,ce=_.height;_.height*ee>_.width?E===3?be=_.height*ee:ce=_.width/ee:E===3?ce=_.width/ee:be=_.height*ee;var ne={aspectRatio:ee,naturalWidth:F,naturalHeight:z,width:be,height:ce};this.canvasData=ne,this.limited=E===1||E===2,this.limitCanvas(!0,!0),ne.width=Math.min(Math.max(ne.width,ne.minWidth),ne.maxWidth),ne.height=Math.min(Math.max(ne.height,ne.minHeight),ne.maxHeight),ne.left=(_.width-ne.width)/2,ne.top=(_.height-ne.height)/2,ne.oldLeft=ne.left,ne.oldTop=ne.top,this.initialCanvasData=Ht({},ne)},limitCanvas:function(_,P){var E=this.options,U=this.containerData,F=this.canvasData,z=this.cropBoxData,ee=E.viewMode,be=F.aspectRatio,ce=this.cropped&&z;if(_){var ne=Number(E.minCanvasWidth)||0,se=Number(E.minCanvasHeight)||0;ee>1?(ne=Math.max(ne,U.width),se=Math.max(se,U.height),ee===3&&(se*be>ne?ne=se*be:se=ne/be)):ee>0&&(ne?ne=Math.max(ne,ce?z.width:0):se?se=Math.max(se,ce?z.height:0):ce&&(ne=z.width,se=z.height,se*be>ne?ne=se*be:se=ne/be));var ye=Gl({aspectRatio:be,width:ne,height:se});ne=ye.width,se=ye.height,F.minWidth=ne,F.minHeight=se,F.maxWidth=1/0,F.maxHeight=1/0}if(P)if(ee>(ce?0:1)){var Ct=U.width-F.width,St=U.height-F.height;F.minLeft=Math.min(0,Ct),F.minTop=Math.min(0,St),F.maxLeft=Math.max(0,Ct),F.maxTop=Math.max(0,St),ce&&this.limited&&(F.minLeft=Math.min(z.left,z.left+(z.width-F.width)),F.minTop=Math.min(z.top,z.top+(z.height-F.height)),F.maxLeft=z.left,F.maxTop=z.top,ee===2&&(F.width>=U.width&&(F.minLeft=Math.min(0,Ct),F.maxLeft=Math.max(0,Ct)),F.height>=U.height&&(F.minTop=Math.min(0,St),F.maxTop=Math.max(0,St))))}else F.minLeft=-F.width,F.minTop=-F.height,F.maxLeft=U.width,F.maxTop=U.height},renderCanvas:function(_,P){var E=this.canvasData,U=this.imageData;if(P){var F=OQ({width:U.naturalWidth*Math.abs(U.scaleX||1),height:U.naturalHeight*Math.abs(U.scaleY||1),degree:U.rotate||0}),z=F.width,ee=F.height,be=E.width*(z/E.naturalWidth),ce=E.height*(ee/E.naturalHeight);E.left-=(be-E.width)/2,E.top-=(ce-E.height)/2,E.width=be,E.height=ce,E.aspectRatio=z/ee,E.naturalWidth=z,E.naturalHeight=ee,this.limitCanvas(!0,!1)}(E.width>E.maxWidth||E.widthE.maxHeight||E.heightP.width?F.height=F.width/E:F.width=F.height*E),this.cropBoxData=F,this.limitCropBox(!0,!0),F.width=Math.min(Math.max(F.width,F.minWidth),F.maxWidth),F.height=Math.min(Math.max(F.height,F.minHeight),F.maxHeight),F.width=Math.max(F.minWidth,F.width*U),F.height=Math.max(F.minHeight,F.height*U),F.left=P.left+(P.width-F.width)/2,F.top=P.top+(P.height-F.height)/2,F.oldLeft=F.left,F.oldTop=F.top,this.initialCropBoxData=Ht({},F)},limitCropBox:function(_,P){var E=this.options,U=this.containerData,F=this.canvasData,z=this.cropBoxData,ee=this.limited,be=E.aspectRatio;if(_){var ce=Number(E.minCropBoxWidth)||0,ne=Number(E.minCropBoxHeight)||0,se=ee?Math.min(U.width,F.width,F.width+F.left,U.width-F.left):U.width,ye=ee?Math.min(U.height,F.height,F.height+F.top,U.height-F.top):U.height;ce=Math.min(ce,U.width),ne=Math.min(ne,U.height),be&&(ce&&ne?ne*be>ce?ne=ce/be:ce=ne*be:ce?ne=ce/be:ne&&(ce=ne*be),ye*be>se?ye=se/be:se=ye*be),z.minWidth=Math.min(ce,se),z.minHeight=Math.min(ne,ye),z.maxWidth=se,z.maxHeight=ye}P&&(ee?(z.minLeft=Math.max(0,F.left),z.minTop=Math.max(0,F.top),z.maxLeft=Math.min(U.width,F.left+F.width)-z.width,z.maxTop=Math.min(U.height,F.top+F.height)-z.height):(z.minLeft=0,z.minTop=0,z.maxLeft=U.width-z.width,z.maxTop=U.height-z.height))},renderCropBox:function(){var _=this.options,P=this.containerData,E=this.cropBoxData;(E.width>E.maxWidth||E.widthE.maxHeight||E.height=P.width&&E.height>=P.height?O:v),vs(this.cropBox,Ht({width:E.width,height:E.height},qh({translateX:E.left,translateY:E.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),Wf(this.element,Ye,this.getData())}},IQ={initPreview:function(){var _=this.element,P=this.crossOrigin,E=this.options.preview,U=P?this.crossOriginUrl:this.url,F=_.alt||"The image to preview",z=document.createElement("img");if(P&&(z.crossOrigin=P),z.src=U,z.alt=F,this.viewBox.appendChild(z),this.viewBoxImage=z,!!E){var ee=E;typeof E=="string"?ee=_.ownerDocument.querySelectorAll(E):E.querySelector&&(ee=[E]),this.previews=ee,Jt(ee,function(be){var ce=document.createElement("img");Gh(be,_e,{width:be.offsetWidth,height:be.offsetHeight,html:be.innerHTML}),P&&(ce.crossOrigin=P),ce.src=U,ce.alt=F,ce.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',be.innerHTML="",be.appendChild(ce)})}},resetPreview:function(){Jt(this.previews,function(_){var P=wC(_,_e);vs(_,{width:P.width,height:P.height}),_.innerHTML=P.html,SQ(_,_e)})},preview:function(){var _=this.imageData,P=this.canvasData,E=this.cropBoxData,U=E.width,F=E.height,z=_.width,ee=_.height,be=E.left-P.left-_.left,ce=E.top-P.top-_.top;!this.cropped||this.disabled||(vs(this.viewBoxImage,Ht({width:z,height:ee},qh(Ht({translateX:-be,translateY:-ce},_)))),Jt(this.previews,function(ne){var se=wC(ne,_e),ye=se.width,Ct=se.height,St=ye,wr=Ct,Ft=1;U&&(Ft=ye/U,wr=F*Ft),F&&wr>Ct&&(Ft=Ct/F,St=U*Ft,wr=Ct),vs(ne,{width:St,height:wr}),vs(ne.getElementsByTagName("img")[0],Ht({width:z*Ft,height:ee*Ft},qh(Ht({translateX:-be*Ft,translateY:-ce*Ft},_))))}))}},FQ={bind:function(){var _=this.element,P=this.options,E=this.cropper;pt(P.cropstart)&&In(_,Fe,P.cropstart),pt(P.cropmove)&&In(_,ft,P.cropmove),pt(P.cropend)&&In(_,ot,P.cropend),pt(P.crop)&&In(_,Ye,P.crop),pt(P.zoom)&&In(_,xt,P.zoom),In(E,ue,this.onCropStart=this.cropStart.bind(this)),P.zoomable&&P.zoomOnWheel&&In(E,Tt,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),P.toggleDragModeOnDblclick&&In(E,Pe,this.onDblclick=this.dblclick.bind(this)),In(_.ownerDocument,we,this.onCropMove=this.cropMove.bind(this)),In(_.ownerDocument,Ne,this.onCropEnd=this.cropEnd.bind(this)),P.responsive&&In(window,ht,this.onResize=this.resize.bind(this))},unbind:function(){var _=this.element,P=this.options,E=this.cropper;pt(P.cropstart)&&bs(_,Fe,P.cropstart),pt(P.cropmove)&&bs(_,ft,P.cropmove),pt(P.cropend)&&bs(_,ot,P.cropend),pt(P.crop)&&bs(_,Ye,P.crop),pt(P.zoom)&&bs(_,xt,P.zoom),bs(E,ue,this.onCropStart),P.zoomable&&P.zoomOnWheel&&bs(E,Tt,this.onWheel,{passive:!1,capture:!0}),P.toggleDragModeOnDblclick&&bs(E,Pe,this.onDblclick),bs(_.ownerDocument,we,this.onCropMove),bs(_.ownerDocument,Ne,this.onCropEnd),P.responsive&&bs(window,ht,this.onResize)}},BQ={resize:function(){if(!this.disabled){var _=this.options,P=this.container,E=this.containerData,U=P.offsetWidth/E.width,F=P.offsetHeight/E.height,z=Math.abs(U-1)>Math.abs(F-1)?U:F;if(z!==1){var ee,be;_.restore&&(ee=this.getCanvasData(),be=this.getCropBoxData()),this.render(),_.restore&&(this.setCanvasData(Jt(ee,function(ce,ne){ee[ne]=ce*z})),this.setCropBoxData(Jt(be,function(ce,ne){be[ne]=ce*z})))}}},dblclick:function(){this.disabled||this.options.dragMode===lt||this.setDragMode(jv(this.dragBox,X)?Me:He)},wheel:function(_){var P=this,E=Number(this.options.wheelZoomRatio)||.1,U=1;this.disabled||(_.preventDefault(),!this.wheeling&&(this.wheeling=!0,setTimeout(function(){P.wheeling=!1},50),_.deltaY?U=_.deltaY>0?1:-1:_.wheelDelta?U=-_.wheelDelta/120:_.detail&&(U=_.detail>0?1:-1),this.zoom(-U*E,_)))},cropStart:function(_){var P=_.buttons,E=_.button;if(!(this.disabled||(_.type==="mousedown"||_.type==="pointerdown"&&_.pointerType==="mouse")&&(je(P)&&P!==1||je(E)&&E!==0||_.ctrlKey))){var U=this.options,F=this.pointers,z;_.changedTouches?Jt(_.changedTouches,function(ee){F[ee.identifier]=Wv(ee)}):F[_.pointerId||0]=Wv(_),Object.keys(F).length>1&&U.zoomable&&U.zoomOnTouch?z=k:z=wC(_.target,ke),me.test(z)&&Wf(this.element,Fe,{originalEvent:_,action:z})!==!1&&(_.preventDefault(),this.action=z,this.cropping=!1,z===w&&(this.cropping=!0,Kr(this.dragBox,Oe)))}},cropMove:function(_){var P=this.action;if(!(this.disabled||!P)){var E=this.pointers;_.preventDefault(),Wf(this.element,ft,{originalEvent:_,action:P})!==!1&&(_.changedTouches?Jt(_.changedTouches,function(U){Ht(E[U.identifier]||{},Wv(U,!0))}):Ht(E[_.pointerId||0]||{},Wv(_,!0)),this.change(_))}},cropEnd:function(_){if(!this.disabled){var P=this.action,E=this.pointers;_.changedTouches?Jt(_.changedTouches,function(U){delete E[U.identifier]}):delete E[_.pointerId||0],P&&(_.preventDefault(),Object.keys(E).length||(this.action=""),this.cropping&&(this.cropping=!1,Ro(this.dragBox,Oe,this.cropped&&this.options.modal)),Wf(this.element,ot,{originalEvent:_,action:P}))}}},LQ={change:function(_){var P=this.options,E=this.canvasData,U=this.containerData,F=this.cropBoxData,z=this.pointers,ee=this.action,be=P.aspectRatio,ce=F.left,ne=F.top,se=F.width,ye=F.height,Ct=ce+se,St=ne+ye,wr=0,Ft=0,ho=U.width,Do=U.height,oo=!0,Yi;!be&&_.shiftKey&&(be=se&&ye?se/ye:1),this.limited&&(wr=F.minLeft,Ft=F.minTop,ho=wr+Math.min(U.width,E.width,E.left+E.width),Do=Ft+Math.min(U.height,E.height,E.top+E.height));var pn=z[Object.keys(z)[0]],Se={x:pn.endX-pn.startX,y:pn.endY-pn.startY},Bt=function(Fn){switch(Fn){case M:Ct+Se.x>ho&&(Se.x=ho-Ct);break;case N:ce+Se.xDo&&(Se.y=Do-St);break}};switch(ee){case v:ce+=Se.x,ne+=Se.y;break;case M:if(Se.x>=0&&(Ct>=ho||be&&(ne<=Ft||St>=Do))){oo=!1;break}Bt(M),se+=Se.x,se<0&&(ee=N,se=-se,ce-=se),be&&(ye=se/be,ne+=(F.height-ye)/2);break;case B:if(Se.y<=0&&(ne<=Ft||be&&(ce<=wr||Ct>=ho))){oo=!1;break}Bt(B),ye-=Se.y,ne+=Se.y,ye<0&&(ee=S,ye=-ye,ne-=ye),be&&(se=ye*be,ce+=(F.width-se)/2);break;case N:if(Se.x<=0&&(ce<=wr||be&&(ne<=Ft||St>=Do))){oo=!1;break}Bt(N),se-=Se.x,ce+=Se.x,se<0&&(ee=M,se=-se,ce-=se),be&&(ye=se/be,ne+=(F.height-ye)/2);break;case S:if(Se.y>=0&&(St>=Do||be&&(ce<=wr||Ct>=ho))){oo=!1;break}Bt(S),ye+=Se.y,ye<0&&(ee=B,ye=-ye,ne-=ye),be&&(se=ye*be,ce+=(F.width-se)/2);break;case G:if(be){if(Se.y<=0&&(ne<=Ft||Ct>=ho)){oo=!1;break}Bt(B),ye-=Se.y,ne+=Se.y,se=ye*be}else Bt(B),Bt(M),Se.x>=0?CtFt&&(ye-=Se.y,ne+=Se.y):(ye-=Se.y,ne+=Se.y);se<0&&ye<0?(ee=j,ye=-ye,se=-se,ne-=ye,ce-=se):se<0?(ee=J,se=-se,ce-=se):ye<0&&(ee=q,ye=-ye,ne-=ye);break;case J:if(be){if(Se.y<=0&&(ne<=Ft||ce<=wr)){oo=!1;break}Bt(B),ye-=Se.y,ne+=Se.y,se=ye*be,ce+=F.width-se}else Bt(B),Bt(N),Se.x<=0?ce>wr?(se-=Se.x,ce+=Se.x):Se.y<=0&&ne<=Ft&&(oo=!1):(se-=Se.x,ce+=Se.x),Se.y<=0?ne>Ft&&(ye-=Se.y,ne+=Se.y):(ye-=Se.y,ne+=Se.y);se<0&&ye<0?(ee=q,ye=-ye,se=-se,ne-=ye,ce-=se):se<0?(ee=G,se=-se,ce-=se):ye<0&&(ee=j,ye=-ye,ne-=ye);break;case j:if(be){if(Se.x<=0&&(ce<=wr||St>=Do)){oo=!1;break}Bt(N),se-=Se.x,ce+=Se.x,ye=se/be}else Bt(S),Bt(N),Se.x<=0?ce>wr?(se-=Se.x,ce+=Se.x):Se.y>=0&&St>=Do&&(oo=!1):(se-=Se.x,ce+=Se.x),Se.y>=0?St=0&&(Ct>=ho||St>=Do)){oo=!1;break}Bt(M),se+=Se.x,ye=se/be}else Bt(S),Bt(M),Se.x>=0?Ct=0&&St>=Do&&(oo=!1):se+=Se.x,Se.y>=0?St0?ee=Se.y>0?q:G:Se.x<0&&(ce-=se,ee=Se.y>0?j:J),Se.y<0&&(ne-=ye),this.cropped||(Je(this.cropBox,ae),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0));break}oo&&(F.width=se,F.height=ye,F.left=ce,F.top=ne,this.action=ee,this.renderCropBox()),Jt(z,function(xo){xo.startX=xo.endX,xo.startY=xo.endY})}},jQ={crop:function(){return this.ready&&!this.cropped&&!this.disabled&&(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&Kr(this.dragBox,Oe),Je(this.cropBox,ae),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=Ht({},this.initialImageData),this.canvasData=Ht({},this.initialCanvasData),this.cropBoxData=Ht({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(Ht(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),Je(this.dragBox,Oe),Kr(this.cropBox,ae)),this},replace:function(_){var P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return!this.disabled&&_&&(this.isImg&&(this.element.src=_),P?(this.url=_,this.image.src=_,this.ready&&(this.viewBoxImage.src=_,Jt(this.previews,function(E){E.getElementsByTagName("img")[0].src=_}))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(_))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,Je(this.cropper,le)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,Kr(this.cropper,le)),this},destroy:function(){var _=this.element;return _[b]?(_[b]=void 0,this.isImg&&this.replaced&&(_.src=this.originalUrl),this.uncreate(),this):this},move:function(_){var P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_,E=this.canvasData,U=E.left,F=E.top;return this.moveTo(pe(_)?_:U+Number(_),pe(P)?P:F+Number(P))},moveTo:function(_){var P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_,E=this.canvasData,U=!1;return _=Number(_),P=Number(P),this.ready&&!this.disabled&&this.options.movable&&(je(_)&&(E.left=_,U=!0),je(P)&&(E.top=P,U=!0),U&&this.renderCanvas(!0)),this},zoom:function(_,P){var E=this.canvasData;return _=Number(_),_<0?_=1/(1-_):_=1+_,this.zoomTo(E.width*_/E.naturalWidth,null,P)},zoomTo:function(_,P,E){var U=this.options,F=this.canvasData,z=F.width,ee=F.height,be=F.naturalWidth,ce=F.naturalHeight;if(_=Number(_),_>=0&&this.ready&&!this.disabled&&U.zoomable){var ne=be*_,se=ce*_;if(Wf(this.element,xt,{ratio:_,oldRatio:z/be,originalEvent:E})===!1)return this;if(E){var ye=this.pointers,Ct=HM(this.cropper),St=ye&&Object.keys(ye).length?CQ(ye):{pageX:E.pageX,pageY:E.pageY};F.left-=(ne-z)*((St.pageX-Ct.left-F.left)/z),F.top-=(se-ee)*((St.pageY-Ct.top-F.top)/ee)}else $e(P)&&je(P.x)&&je(P.y)?(F.left-=(ne-z)*((P.x-F.left)/z),F.top-=(se-ee)*((P.y-F.top)/ee)):(F.left-=(ne-z)/2,F.top-=(se-ee)/2);F.width=ne,F.height=se,this.renderCanvas(!0)}return this},rotate:function(_){return this.rotateTo((this.imageData.rotate||0)+Number(_))},rotateTo:function(_){return _=Number(_),je(_)&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=_%360,this.renderCanvas(!0,!0)),this},scaleX:function(_){var P=this.imageData.scaleY;return this.scale(_,je(P)?P:1)},scaleY:function(_){var P=this.imageData.scaleX;return this.scale(je(P)?P:1,_)},scale:function(_){var P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_,E=this.imageData,U=!1;return _=Number(_),P=Number(P),this.ready&&!this.disabled&&this.options.scalable&&(je(_)&&(E.scaleX=_,U=!0),je(P)&&(E.scaleY=P,U=!0),U&&this.renderCanvas(!0,!0)),this},getData:function(){var _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,P=this.options,E=this.imageData,U=this.canvasData,F=this.cropBoxData,z;if(this.ready&&this.cropped){z={x:F.left-U.left,y:F.top-U.top,width:F.width,height:F.height};var ee=E.width/E.naturalWidth;if(Jt(z,function(ne,se){z[se]=ne/ee}),_){var be=Math.round(z.y+z.height),ce=Math.round(z.x+z.width);z.x=Math.round(z.x),z.y=Math.round(z.y),z.width=ce-z.x,z.height=be-z.y}}else z={x:0,y:0,width:0,height:0};return P.rotatable&&(z.rotate=E.rotate||0),P.scalable&&(z.scaleX=E.scaleX||1,z.scaleY=E.scaleY||1),z},setData:function(_){var P=this.options,E=this.imageData,U=this.canvasData,F={};if(this.ready&&!this.disabled&&$e(_)){var z=!1;P.rotatable&&je(_.rotate)&&_.rotate!==E.rotate&&(E.rotate=_.rotate,z=!0),P.scalable&&(je(_.scaleX)&&_.scaleX!==E.scaleX&&(E.scaleX=_.scaleX,z=!0),je(_.scaleY)&&_.scaleY!==E.scaleY&&(E.scaleY=_.scaleY,z=!0)),z&&this.renderCanvas(!0,!0);var ee=E.width/E.naturalWidth;je(_.x)&&(F.left=_.x*ee+U.left),je(_.y)&&(F.top=_.y*ee+U.top),je(_.width)&&(F.width=_.width*ee),je(_.height)&&(F.height=_.height*ee),this.setCropBoxData(F)}return this},getContainerData:function(){return this.ready?Ht({},this.containerData):{}},getImageData:function(){return this.sized?Ht({},this.imageData):{}},getCanvasData:function(){var _=this.canvasData,P={};return this.ready&&Jt(["left","top","width","height","naturalWidth","naturalHeight"],function(E){P[E]=_[E]}),P},setCanvasData:function(_){var P=this.canvasData,E=P.aspectRatio;return this.ready&&!this.disabled&&$e(_)&&(je(_.left)&&(P.left=_.left),je(_.top)&&(P.top=_.top),je(_.width)?(P.width=_.width,P.height=_.width/E):je(_.height)&&(P.height=_.height,P.width=_.height*E),this.renderCanvas(!0)),this},getCropBoxData:function(){var _=this.cropBoxData,P;return this.ready&&this.cropped&&(P={left:_.left,top:_.top,width:_.width,height:_.height}),P||{}},setCropBoxData:function(_){var P=this.cropBoxData,E=this.options.aspectRatio,U,F;return this.ready&&this.cropped&&!this.disabled&&$e(_)&&(je(_.left)&&(P.left=_.left),je(_.top)&&(P.top=_.top),je(_.width)&&_.width!==P.width&&(U=!0,P.width=_.width),je(_.height)&&_.height!==P.height&&(F=!0,P.height=_.height),E&&(U?P.height=P.width/E:F&&(P.width=P.height*E)),this.renderCropBox()),this},getCroppedCanvas:function(){var _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var P=this.canvasData,E=kQ(this.image,this.imageData,P,_);if(!this.cropped)return E;var U=this.getData(_.rounded),F=U.x,z=U.y,ee=U.width,be=U.height,ce=E.width/Math.floor(P.naturalWidth);ce!==1&&(F*=ce,z*=ce,ee*=ce,be*=ce);var ne=ee/be,se=Gl({aspectRatio:ne,width:_.maxWidth||1/0,height:_.maxHeight||1/0}),ye=Gl({aspectRatio:ne,width:_.minWidth||0,height:_.minHeight||0},"cover"),Ct=Gl({aspectRatio:ne,width:_.width||(ce!==1?E.width:ee),height:_.height||(ce!==1?E.height:be)}),St=Ct.width,wr=Ct.height;St=Math.min(se.width,Math.max(ye.width,St)),wr=Math.min(se.height,Math.max(ye.height,wr));var Ft=document.createElement("canvas"),ho=Ft.getContext("2d");Ft.width=$l(St),Ft.height=$l(wr),ho.fillStyle=_.fillColor||"transparent",ho.fillRect(0,0,St,wr);var Do=_.imageSmoothingEnabled,oo=Do===void 0?!0:Do,Yi=_.imageSmoothingQuality;ho.imageSmoothingEnabled=oo,Yi&&(ho.imageSmoothingQuality=Yi);var pn=E.width,Se=E.height,Bt=F,xo=z,Fn,Zi,Ld,jd,ql,ii;Bt<=-ee||Bt>pn?(Bt=0,Fn=0,Ld=0,ql=0):Bt<=0?(Ld=-Bt,Bt=0,Fn=Math.min(pn,ee+Bt),ql=Fn):Bt<=pn&&(Ld=0,Fn=Math.min(ee,pn-Bt),ql=Fn),Fn<=0||xo<=-be||xo>Se?(xo=0,Zi=0,jd=0,ii=0):xo<=0?(jd=-xo,xo=0,Zi=Math.min(Se,be+xo),ii=Zi):xo<=Se&&(jd=0,Zi=Math.min(be,Se-xo),ii=Zi);var Wa=[Bt,xo,Fn,Zi];if(ql>0&&ii>0){var zd=St/ee;Wa.push(Ld*zd,jd*zd,ql*zd,ii*zd)}return ho.drawImage.apply(ho,[E].concat(l(Wa.map(function(Uv){return Math.floor($l(Uv))})))),Ft},setAspectRatio:function(_){var P=this.options;return!this.disabled&&!pe(_)&&(P.aspectRatio=Math.max(0,_)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(_){var P=this.options,E=this.dragBox,U=this.face;if(this.ready&&!this.disabled){var F=_===He,z=P.movable&&_===Me;_=F||z?_:lt,P.dragMode=_,Gh(E,ke,_),Ro(E,X,F),Ro(E,We,z),P.cropBoxMovable||(Gh(U,ke,_),Ro(U,X,F),Ro(U,We,z))}return this}},zQ=m.Cropper,qM=function(){function I(_){var P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(n(this,I),!_||!gt.test(_.tagName))throw new Error("The first argument is required and must be an or element.");this.element=_,this.options=Ht({},Ut,$e(P)&&P),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return i(I,[{key:"init",value:function(){var P=this.element,E=P.tagName.toLowerCase(),U;if(!P[b]){if(P[b]=this,E==="img"){if(this.isImg=!0,U=P.getAttribute("src")||"",this.originalUrl=U,!U)return;U=P.src}else E==="canvas"&&window.HTMLCanvasElement&&(U=P.toDataURL());this.load(U)}}},{key:"load",value:function(P){var E=this;if(P){this.url=P,this.imageData={};var U=this.element,F=this.options;if(!F.rotatable&&!F.scalable&&(F.checkOrientation=!1),!F.checkOrientation||!window.ArrayBuffer){this.clone();return}if(Re.test(P)){mt.test(P)?this.read(RQ(P)):this.clone();return}var z=new XMLHttpRequest,ee=this.clone.bind(this);this.reloading=!0,this.xhr=z,z.onabort=ee,z.onerror=ee,z.ontimeout=ee,z.onprogress=function(){z.getResponseHeader("content-type")!==Ee&&z.abort()},z.onload=function(){E.read(z.response)},z.onloadend=function(){E.reloading=!1,E.xhr=null},F.checkCrossOrigin&&VM(P)&&U.crossOrigin&&(P=$M(P)),z.open("GET",P,!0),z.responseType="arraybuffer",z.withCredentials=U.crossOrigin==="use-credentials",z.send()}}},{key:"read",value:function(P){var E=this.options,U=this.imageData,F=AQ(P),z=0,ee=1,be=1;if(F>1){this.url=DQ(P,Ee);var ce=MQ(F);z=ce.rotate,ee=ce.scaleX,be=ce.scaleY}E.rotatable&&(U.rotate=z),E.scalable&&(U.scaleX=ee,U.scaleY=be),this.clone()}},{key:"clone",value:function(){var P=this.element,E=this.url,U=P.crossOrigin,F=E;this.options.checkCrossOrigin&&VM(E)&&(U||(U="anonymous"),F=$M(E)),this.crossOrigin=U,this.crossOriginUrl=F;var z=document.createElement("img");U&&(z.crossOrigin=U),z.src=F||E,z.alt=P.alt||"The image to crop",this.image=z,z.onload=this.start.bind(this),z.onerror=this.stop.bind(this),Kr(z,de),P.parentNode.insertBefore(z,P.nextSibling)}},{key:"start",value:function(){var P=this,E=this.image;E.onload=null,E.onerror=null,this.sizing=!0;var U=m.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(m.navigator.userAgent),F=function(ce,ne){Ht(P.imageData,{naturalWidth:ce,naturalHeight:ne,aspectRatio:ce/ne}),P.initialImageData=Ht({},P.imageData),P.sizing=!1,P.sized=!0,P.build()};if(E.naturalWidth&&!U){F(E.naturalWidth,E.naturalHeight);return}var z=document.createElement("img"),ee=document.body||document.documentElement;this.sizingImage=z,z.onload=function(){F(z.width,z.height),U||ee.removeChild(z)},z.src=E.src,U||(z.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",ee.appendChild(z))}},{key:"stop",value:function(){var P=this.image;P.onload=null,P.onerror=null,P.parentNode.removeChild(P),this.image=null}},{key:"build",value:function(){if(!(!this.sized||this.ready)){var P=this.element,E=this.options,U=this.image,F=P.parentNode,z=document.createElement("div");z.innerHTML=Rt;var ee=z.querySelector(".".concat(b,"-container")),be=ee.querySelector(".".concat(b,"-canvas")),ce=ee.querySelector(".".concat(b,"-drag-box")),ne=ee.querySelector(".".concat(b,"-crop-box")),se=ne.querySelector(".".concat(b,"-face"));this.container=F,this.cropper=ee,this.canvas=be,this.dragBox=ce,this.cropBox=ne,this.viewBox=ee.querySelector(".".concat(b,"-view-box")),this.face=se,be.appendChild(U),Kr(P,ae),F.insertBefore(ee,P.nextSibling),Je(U,de),this.initPreview(),this.bind(),E.initialAspectRatio=Math.max(0,E.initialAspectRatio)||NaN,E.aspectRatio=Math.max(0,E.aspectRatio)||NaN,E.viewMode=Math.max(0,Math.min(3,Math.round(E.viewMode)))||0,Kr(ne,ae),E.guides||Kr(ne.getElementsByClassName("".concat(b,"-dashed")),ae),E.center||Kr(ne.getElementsByClassName("".concat(b,"-center")),ae),E.background&&Kr(ee,"".concat(b,"-bg")),E.highlight||Kr(se,Be),E.cropBoxMovable&&(Kr(se,We),Gh(se,ke,v)),E.cropBoxResizable||(Kr(ne.getElementsByClassName("".concat(b,"-line")),ae),Kr(ne.getElementsByClassName("".concat(b,"-point")),ae)),this.render(),this.ready=!0,this.setDragMode(E.dragMode),E.autoCrop&&this.crop(),this.setData(E.data),pt(E.ready)&&In(P,Ve,E.ready,{once:!0}),Wf(P,Ve)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var P=this.cropper.parentNode;P&&P.removeChild(this.cropper),Je(this.element,ae)}}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}],[{key:"noConflict",value:function(){return window.Cropper=zQ,I}},{key:"setDefaults",value:function(P){Ht(Ut,$e(P)&&P)}}])}();return Ht(qM.prototype,NQ,IQ,FQ,BQ,LQ,jQ),qM})});var zM=y(D()),bQ=y(aT());function Mo(e,...t){let r=new URL(`https://mui.com/production-error/?code=${e}`);return t.forEach(o=>r.searchParams.append("args[]",o)),`Minified MUI error #${e}; visit ${r} for the full message.`}var Xr="$$material";function ru(){return ru=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?Yr(kc,--va):0,Cc--,ao===10&&(Cc=1,lT--),ao}function ba(){return ao=va2||Oc(ao)>3?"":" "}function kB(e,t){for(;--t&&ba()&&!(ao<48||ao>102||ao>57&&ao<65||ao>70&&ao<97););return Pc(e,Xx()+(t<6&&$n()==32&&ba()==32))}function G1(e){for(;ba();)switch(ao){case e:return va;case 34:case 39:e!==34&&e!==39&&G1(ao);break;case 40:e===41&&G1(e);break;case 92:ba();break}return va}function EB(e,t){for(;ba()&&e+ao!==57;)if(e+ao===84&&$n()===47)break;return"/*"+Pc(t,va-1)+"*"+ou(e===47?e:ba())}function PB(e){for(;!Oc($n());)ba();return Pc(e,va)}function AB(e){return dT(uT("",null,null,null,[""],e=pT(e),0,[0],e))}function uT(e,t,r,o,a,n,s,i,p){for(var l=0,d=0,u=s,f=0,c=0,h=0,g=1,m=1,x=1,T=0,b="",v=a,w=n,O=o,k=b;m;)switch(h=T,T=ba()){case 40:if(h!=108&&Yr(k,u-1)==58){Kx(k+=Ot(Rc(T),"&","&\f"),"&\f")!=-1&&(x=-1);break}case 34:case 39:case 91:k+=Rc(T);break;case 9:case 10:case 13:case 32:k+=OB(h);break;case 92:k+=kB(Xx()-1,7);continue;case 47:switch($n()){case 42:case 47:_c(sre(EB(ba(),Xx()),t,r),p);break;default:k+="/"}break;case 123*g:i[l++]=ya(k)*x;case 125*g:case 59:case 0:switch(T){case 0:case 125:m=0;case 59+d:x==-1&&(k=Ot(k,/\f/g,"")),c>0&&ya(k)-u&&_c(c>32?DB(k+";",o,r,u-1):DB(Ot(k," ","")+";",o,r,u-2),p);break;case 59:k+=";";default:if(_c(O=RB(k,t,r,l,d,a,i,b,v=[],w=[],u),n),T===123)if(d===0)uT(k,t,O,O,v,n,u,i,w);else switch(f===99&&Yr(k,3)===110?100:f){case 100:case 108:case 109:case 115:uT(e,O,O,o&&_c(RB(e,O,O,0,0,a,i,b,a,v=[],u),w),a,w,u,i,o?v:w);break;default:uT(k,O,O,O,[""],w,0,i,w)}}l=d=c=0,g=x=1,b=k="",u=s;break;case 58:u=1+ya(k),c=h;default:if(g<1){if(T==123)--g;else if(T==125&&g++==0&&CB()==125)continue}switch(k+=ou(T),T*g){case 38:x=d>0?1:(k+="\f",-1);break;case 44:i[l++]=(ya(k)-1)*x,x=1;break;case 64:$n()===45&&(k+=Rc(ba())),f=$n(),d=u=ya(b=k+=PB(Xx())),T++;break;case 45:h===45&&ya(k)==2&&(g=0)}}return n}function RB(e,t,r,o,a,n,s,i,p,l,d){for(var u=a-1,f=a===0?n:[""],c=wc(f),h=0,g=0,m=0;h0?f[x]+" "+T:Ot(T,/&\f/g,f[x])))&&(p[m++]=b);return Jx(e,t,r,a===0?Tc:i,p,l,d)}function sre(e,t,r){return Jx(e,t,r,nT,ou(_B()),hp(e,2,-2),0)}function DB(e,t,r,o){return Jx(e,t,r,Sc,hp(e,0,o),hp(e,o+1,-1),o)}function au(e,t){for(var r="",o=wc(e),a=0;a6)switch(Yr(e,t+1)){case 109:if(Yr(e,t+4)!==45)break;case 102:return Ot(e,/(.+:)(.+)-([^]+)/,"$1"+Dt+"$2-$3$1"+qx+(Yr(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~Kx(e,"stretch")?BB(Ot(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Yr(e,t+1)!==115)break;case 6444:switch(Yr(e,ya(e)-3-(~Kx(e,"!important")&&10))){case 107:return Ot(e,":",":"+Dt)+e;case 101:return Ot(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Dt+(Yr(e,14)===45?"inline-":"")+"box$3$1"+Dt+"$2$3$1"+Vo+"$2box$3")+e}break;case 5936:switch(Yr(e,t+11)){case 114:return Dt+e+Vo+Ot(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Dt+e+Vo+Ot(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Dt+e+Vo+Ot(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Dt+e+Vo+e+e}return e}var fre=function(t,r,o,a){if(t.length>-1&&!t.return)switch(t.type){case Sc:t.return=BB(t.value,t.length);break;case sT:return au([Ec(t,{value:Ot(t.value,"@","@"+Dt)})],a);case Tc:if(t.length)return $1(t.props,function(n){switch(V1(n,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return au([Ec(t,{props:[Ot(n,/:(read-\w+)/,":"+qx+"$1")]})],a);case"::placeholder":return au([Ec(t,{props:[Ot(n,/:(plac\w+)/,":"+Dt+"input-$1")]}),Ec(t,{props:[Ot(n,/:(plac\w+)/,":"+qx+"$1")]}),Ec(t,{props:[Ot(n,/:(plac\w+)/,Vo+"input-$1")]})],a)}return""})}},cre=[fre],LB=function(t){var r=t.key;if(r==="css"){var o=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(o,function(g){var m=g.getAttribute("data-emotion");m.indexOf(" ")!==-1&&(document.head.appendChild(g),g.setAttribute("data-s",""))})}var a=t.stylisPlugins||cre,n={},s,i=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+r+' "]'),function(g){for(var m=g.getAttribute("data-emotion").split(" "),x=1;x=4;++o,a-=4)r=e.charCodeAt(o)&255|(e.charCodeAt(++o)&255)<<8|(e.charCodeAt(++o)&255)<<16|(e.charCodeAt(++o)&255)<<24,r=(r&65535)*1540483477+((r>>>16)*59797<<16),r^=r>>>24,t=(r&65535)*1540483477+((r>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(a){case 3:t^=(e.charCodeAt(o+2)&255)<<16;case 2:t^=(e.charCodeAt(o+1)&255)<<8;case 1:t^=e.charCodeAt(o)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var YB={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};function ZB(e){var t=Object.create(null);return function(r){return t[r]===void 0&&(t[r]=e(r)),t[r]}}var kre=!1,Ere=/[A-Z]|^ms/g,Pre=/_EMO_([^_]+?)_([^]*?)_EMO_/g,rL=function(t){return t.charCodeAt(1)===45},QB=function(t){return t!=null&&typeof t!="boolean"},Z1=ZB(function(e){return rL(e)?e:e.replace(Ere,"-$&").toLowerCase()}),eL=function(t,r){switch(t){case"animation":case"animationName":if(typeof r=="string")return r.replace(Pre,function(o,a,n){return hi={name:a,styles:n,next:hi},a})}return YB[t]!==1&&!rL(t)&&typeof r=="number"&&r!==0?r+"px":r},Rre="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";function Qx(e,t,r){if(r==null)return"";var o=r;if(o.__emotion_styles!==void 0)return o;switch(typeof r){case"boolean":return"";case"object":{var a=r;if(a.anim===1)return hi={name:a.name,styles:a.styles,next:hi},a.name;var n=r;if(n.styles!==void 0){var s=n.next;if(s!==void 0)for(;s!==void 0;)hi={name:s.name,styles:s.styles,next:hi},s=s.next;var i=n.styles+";";return i}return Dre(e,t,r)}case"function":{if(e!==void 0){var p=hi,l=r(e);return hi=p,Qx(e,t,l)}break}}var d=r;if(t==null)return d;var u=t[d];return u!==void 0?u:d}function Dre(e,t,r){var o="";if(Array.isArray(r))for(var a=0;a96?Ire:Fre},iL=function(t,r,o){var a;if(r){var n=r.shouldForwardProp;a=t.__emotion_forwardProp&&n?function(s){return t.__emotion_forwardProp(s)&&n(s)}:n}return typeof a!="function"&&o&&(a=t.__emotion_forwardProp),a},Bre=!1,Lre=function(t){var r=t.cache,o=t.serialized,a=t.isStringTag;return Yx(r,o,a),wT(function(){return Zx(r,o,a)}),null},lL=function e(t,r){var o=t.__emotion_real===t,a=o&&t.__emotion_base||t,n,s;r!==void 0&&(n=r.label,s=r.target);var i=iL(t,r,o),p=i||sL(a),l=!p("as");return function(){var d=arguments,u=o&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(n!==void 0&&u.push("label:"+n+";"),d[0]==null||d[0].raw===void 0)u.push.apply(u,d);else{u.push(d[0][0]);for(var f=d.length,c=1;ct(Gre(a)?r:a):t})}function og(e,t){return CT(e,t)}function SL(e,t){Array.isArray(e.__emotion_styles)&&(e.__emotion_styles=t(e.__emotion_styles))}var TL=[];function tk(e){return TL[0]=e,xp(TL)}var tLe=y(D());var rk=y(D());function cn(e){if(typeof e!="object"||e===null)return!1;let t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function wL(e){if(rk.isValidElement(e)||!cn(e))return e;let t={};return Object.keys(e).forEach(r=>{t[r]=wL(e[r])}),t}function Xt(e,t,r={clone:!0}){let o=r.clone?{...e}:e;return cn(e)&&cn(t)&&Object.keys(t).forEach(a=>{rk.isValidElement(t[a])?o[a]=t[a]:cn(t[a])&&Object.prototype.hasOwnProperty.call(e,a)&&cn(e[a])?o[a]=Xt(e[a],t[a],r):r.clone?o[a]=cn(t[a])?wL(t[a]):t[a]:o[a]=t[a]}),o}var qre=e=>{let t=Object.keys(e).map(r=>({key:r,val:e[r]}))||[];return t.sort((r,o)=>r.val-o.val),t.reduce((r,o)=>({...r,[o.key]:o.val}),{})};function ok(e){let{values:t={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:r="px",step:o=5,...a}=e,n=qre(t),s=Object.keys(n);function i(f){return`@media (min-width:${typeof t[f]=="number"?t[f]:f}${r})`}function p(f){return`@media (max-width:${(typeof t[f]=="number"?t[f]:f)-o/100}${r})`}function l(f,c){let h=s.indexOf(c);return`@media (min-width:${typeof t[f]=="number"?t[f]:f}${r}) and (max-width:${(h!==-1&&typeof t[s[h]]=="number"?t[s[h]]:c)-o/100}${r})`}function d(f){return s.indexOf(f)+1o.startsWith("@container")).sort((o,a)=>{var s,i;let n=/min-width:\s*([0-9.]+)/;return+(((s=o.match(n))==null?void 0:s[1])||0)-+(((i=a.match(n))==null?void 0:i[1])||0)});return r.length?r.reduce((o,a)=>{let n=t[a];return delete o[a],o[a]=n,o},{...t}):t}function nk(e,t){return t==="@"||t.startsWith("@")&&(e.some(r=>t.startsWith(`@${r}`))||!!t.match(/^@\d/))}function sk(e,t){let r=t.match(/^@([^/]+)?\/?(.+)?$/);if(!r)return null;let[,o,a]=r,n=Number.isNaN(+o)?o||0:+o;return e.containerQueries(a).up(n)}function OT(e){let t=(n,s)=>n.replace("@media",s?`@container ${s}`:"@container");function r(n,s){n.up=(...i)=>t(e.breakpoints.up(...i),s),n.down=(...i)=>t(e.breakpoints.down(...i),s),n.between=(...i)=>t(e.breakpoints.between(...i),s),n.only=(...i)=>t(e.breakpoints.only(...i),s),n.not=(...i)=>{let p=t(e.breakpoints.not(...i),s);return p.includes("not all and")?p.replace("not all and ","").replace("min-width:","width<").replace("max-width:","width>").replace("and","or"):p}}let o={},a=n=>(r(o,n),o);return r(a),{...e,containerQueries:a}}var Kre={borderRadius:4},_L=Kre;function Jre(e,t){return t?Xt(e,t,{clone:!1}):e}var sl=Jre;var ag={xs:0,sm:600,md:900,lg:1200,xl:1536},CL={keys:["xs","sm","md","lg","xl"],up:e=>`@media (min-width:${ag[e]}px)`},Xre={containerQueries:e=>({up:t=>{let r=typeof t=="number"?t:ag[t]||t;return typeof r=="number"&&(r=`${r}px`),e?`@container ${e} (min-width:${r})`:`@container (min-width:${r})`}})};function no(e,t,r){let o=e.theme||{};if(Array.isArray(t)){let n=o.breakpoints||CL;return t.reduce((s,i,p)=>(s[n.up(n.keys[p])]=r(t[p]),s),{})}if(typeof t=="object"){let n=o.breakpoints||CL;return Object.keys(t).reduce((s,i)=>{if(nk(n.keys,i)){let p=sk(o.containerQueries?o:Xre,i);p&&(s[p]=r(t[i],i))}else if(Object.keys(n.values||ag).includes(i)){let p=n.up(i);s[p]=r(t[i],i)}else{let p=i;s[p]=t[p]}return s},{})}return r(t)}function OL(e={}){var r;return((r=e.keys)==null?void 0:r.reduce((o,a)=>{let n=e.up(a);return o[n]={},o},{}))||{}}function kL(e,t){return e.reduce((r,o)=>{let a=r[o];return(!a||Object.keys(a).length===0)&&delete r[o],r},t)}function Yre(e,t){if(typeof e!="object")return{};let r={},o=Object.keys(t);return Array.isArray(e)?o.forEach((a,n)=>{n{e[a]!=null&&(r[a]=!0)}),r}function Ac({values:e,breakpoints:t,base:r}){let o=r||Yre(e,t),a=Object.keys(o);if(a.length===0)return e;let n;return a.reduce((s,i,p)=>(Array.isArray(e)?(s[i]=e[p]!=null?e[p]:e[n],n=p):typeof e=="object"?(s[i]=e[i]!=null?e[i]:e[n],n=i):s[i]=e,s),{})}function yp(e){if(typeof e!="string")throw new Error(Mo(7));return e.charAt(0).toUpperCase()+e.slice(1)}function Mc(e,t,r=!0){if(!t||typeof t!="string")return null;if(e&&e.vars&&r){let o=`vars.${t}`.split(".").reduce((a,n)=>a&&a[n]?a[n]:null,e);if(o!=null)return o}return t.split(".").reduce((o,a)=>o&&o[a]!=null?o[a]:null,e)}function ng(e,t,r,o=r){let a;return typeof e=="function"?a=e(r):Array.isArray(e)?a=e[r]||o:a=Mc(e,r)||o,t&&(a=t(a,o,e)),a}function Zre(e){let{prop:t,cssProperty:r=e.prop,themeKey:o,transform:a}=e,n=s=>{if(s[t]==null)return null;let i=s[t],p=s.theme,l=Mc(p,o)||{};return no(s,i,u=>{let f=ng(l,a,u);return u===f&&typeof u=="string"&&(f=ng(l,a,`${t}${u==="default"?"":yp(u)}`,u)),r===!1?f:{[r]:f}})};return n.propTypes={},n.filterProps=[t],n}var cr=Zre;function kT(e){let t={};return r=>(t[r]===void 0&&(t[r]=e(r)),t[r])}var Qre={m:"margin",p:"padding"},eoe={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},EL={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},toe=kT(e=>{if(e.length>2)if(EL[e])e=EL[e];else return[e];let[t,r]=e.split(""),o=Qre[t],a=eoe[r]||"";return Array.isArray(a)?a.map(n=>o+n):[o+a]}),ik=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],lk=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"],PL=[...ik,...lk];function iu(e,t,r,o){var n;let a=(n=Mc(e,t,!0))!=null?n:r;return typeof a=="number"||typeof a=="string"?s=>typeof s=="string"?s:typeof a=="string"?`calc(${s} * ${a})`:a*s:Array.isArray(a)?s=>{if(typeof s=="string")return s;let i=Math.abs(s),p=a[i];return s>=0?p:typeof p=="number"?-p:`-${p}`}:typeof a=="function"?a:()=>{}}function sg(e){return iu(e,"spacing",8,"spacing")}function lu(e,t){return typeof t=="string"||t==null?t:e(t)}function roe(e,t){return r=>e.reduce((o,a)=>(o[a]=lu(t,r),o),{})}function ooe(e,t,r,o){if(!t.includes(r))return null;let a=toe(r),n=roe(a,o),s=e[r];return no(e,s,n)}function pk(e,t){let r=sg(e.theme);return Object.keys(e).map(o=>ooe(e,t,o,r)).reduce(sl,{})}function Pr(e){return pk(e,ik)}Pr.propTypes={};Pr.filterProps=ik;function Rr(e){return pk(e,lk)}Rr.propTypes={};Rr.filterProps=lk;function RL(e){return pk(e,PL)}RL.propTypes={};RL.filterProps=PL;function Nc(e=8,t=sg({spacing:e})){if(e.mui)return e;let r=(...o)=>(o.length===0?[1]:o).map(n=>{let s=t(n);return typeof s=="number"?`${s}px`:s}).join(" ");return r.mui=!0,r}function aoe(...e){let t=e.reduce((o,a)=>(a.filterProps.forEach(n=>{o[n]=a}),o),{}),r=o=>Object.keys(o).reduce((a,n)=>t[n]?sl(a,t[n](o)):a,{});return r.propTypes={},r.filterProps=e.reduce((o,a)=>o.concat(a.filterProps),[]),r}var il=aoe;function mn(e){return typeof e!="number"?e:`${e}px solid`}function qn(e,t){return cr({prop:e,themeKey:"borders",transform:t})}var noe=qn("border",mn),soe=qn("borderTop",mn),ioe=qn("borderRight",mn),loe=qn("borderBottom",mn),poe=qn("borderLeft",mn),doe=qn("borderColor"),uoe=qn("borderTopColor"),foe=qn("borderRightColor"),coe=qn("borderBottomColor"),moe=qn("borderLeftColor"),hoe=qn("outline",mn),xoe=qn("outlineColor"),ig=e=>{if(e.borderRadius!==void 0&&e.borderRadius!==null){let t=iu(e.theme,"shape.borderRadius",4,"borderRadius"),r=o=>({borderRadius:lu(t,o)});return no(e,e.borderRadius,r)}return null};ig.propTypes={};ig.filterProps=["borderRadius"];var tBe=il(noe,soe,ioe,loe,poe,doe,uoe,foe,coe,moe,ig,hoe,xoe);var lg=e=>{if(e.gap!==void 0&&e.gap!==null){let t=iu(e.theme,"spacing",8,"gap"),r=o=>({gap:lu(t,o)});return no(e,e.gap,r)}return null};lg.propTypes={};lg.filterProps=["gap"];var pg=e=>{if(e.columnGap!==void 0&&e.columnGap!==null){let t=iu(e.theme,"spacing",8,"columnGap"),r=o=>({columnGap:lu(t,o)});return no(e,e.columnGap,r)}return null};pg.propTypes={};pg.filterProps=["columnGap"];var dg=e=>{if(e.rowGap!==void 0&&e.rowGap!==null){let t=iu(e.theme,"spacing",8,"rowGap"),r=o=>({rowGap:lu(t,o)});return no(e,e.rowGap,r)}return null};dg.propTypes={};dg.filterProps=["rowGap"];var goe=cr({prop:"gridColumn"}),yoe=cr({prop:"gridRow"}),voe=cr({prop:"gridAutoFlow"}),boe=cr({prop:"gridAutoColumns"}),Toe=cr({prop:"gridAutoRows"}),Soe=cr({prop:"gridTemplateColumns"}),woe=cr({prop:"gridTemplateRows"}),_oe=cr({prop:"gridTemplateAreas"}),Coe=cr({prop:"gridArea"}),iBe=il(lg,pg,dg,goe,yoe,voe,boe,Toe,Soe,woe,_oe,Coe);function pu(e,t){return t==="grey"?t:e}var Ooe=cr({prop:"color",themeKey:"palette",transform:pu}),koe=cr({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:pu}),Eoe=cr({prop:"backgroundColor",themeKey:"palette",transform:pu}),uBe=il(Ooe,koe,Eoe);function Ga(e){return e<=1&&e!==0?`${e*100}%`:e}var Poe=cr({prop:"width",transform:Ga}),ET=e=>{if(e.maxWidth!==void 0&&e.maxWidth!==null){let t=r=>{var a,n,s,i,p;let o=((s=(n=(a=e.theme)==null?void 0:a.breakpoints)==null?void 0:n.values)==null?void 0:s[r])||ag[r];return o?((p=(i=e.theme)==null?void 0:i.breakpoints)==null?void 0:p.unit)!=="px"?{maxWidth:`${o}${e.theme.breakpoints.unit}`}:{maxWidth:o}:{maxWidth:Ga(r)}};return no(e,e.maxWidth,t)}return null};ET.filterProps=["maxWidth"];var Roe=cr({prop:"minWidth",transform:Ga}),Doe=cr({prop:"height",transform:Ga}),Aoe=cr({prop:"maxHeight",transform:Ga}),Moe=cr({prop:"minHeight",transform:Ga}),xBe=cr({prop:"size",cssProperty:"width",transform:Ga}),gBe=cr({prop:"size",cssProperty:"height",transform:Ga}),Noe=cr({prop:"boxSizing"}),yBe=il(Poe,ET,Roe,Doe,Aoe,Moe,Noe);var Ioe={border:{themeKey:"borders",transform:mn},borderTop:{themeKey:"borders",transform:mn},borderRight:{themeKey:"borders",transform:mn},borderBottom:{themeKey:"borders",transform:mn},borderLeft:{themeKey:"borders",transform:mn},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:mn},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:ig},color:{themeKey:"palette",transform:pu},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:pu},backgroundColor:{themeKey:"palette",transform:pu},p:{style:Rr},pt:{style:Rr},pr:{style:Rr},pb:{style:Rr},pl:{style:Rr},px:{style:Rr},py:{style:Rr},padding:{style:Rr},paddingTop:{style:Rr},paddingRight:{style:Rr},paddingBottom:{style:Rr},paddingLeft:{style:Rr},paddingX:{style:Rr},paddingY:{style:Rr},paddingInline:{style:Rr},paddingInlineStart:{style:Rr},paddingInlineEnd:{style:Rr},paddingBlock:{style:Rr},paddingBlockStart:{style:Rr},paddingBlockEnd:{style:Rr},m:{style:Pr},mt:{style:Pr},mr:{style:Pr},mb:{style:Pr},ml:{style:Pr},mx:{style:Pr},my:{style:Pr},margin:{style:Pr},marginTop:{style:Pr},marginRight:{style:Pr},marginBottom:{style:Pr},marginLeft:{style:Pr},marginX:{style:Pr},marginY:{style:Pr},marginInline:{style:Pr},marginInlineStart:{style:Pr},marginInlineEnd:{style:Pr},marginBlock:{style:Pr},marginBlockStart:{style:Pr},marginBlockEnd:{style:Pr},displayPrint:{cssProperty:!1,transform:e=>({"@media print":{display:e}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:lg},rowGap:{style:dg},columnGap:{style:pg},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:Ga},maxWidth:{style:ET},minWidth:{transform:Ga},height:{transform:Ga},maxHeight:{transform:Ga},minHeight:{transform:Ga},boxSizing:{},font:{themeKey:"font"},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}},_s=Ioe;function Foe(...e){let t=e.reduce((o,a)=>o.concat(Object.keys(a)),[]),r=new Set(t);return e.every(o=>r.size===Object.keys(o).length)}function Boe(e,t){return typeof e=="function"?e(t):e}function Loe(){function e(r,o,a,n){let s={[r]:o,theme:a},i=n[r];if(!i)return{[r]:o};let{cssProperty:p=r,themeKey:l,transform:d,style:u}=i;if(o==null)return null;if(l==="typography"&&o==="inherit")return{[r]:o};let f=Mc(a,l)||{};return u?u(s):no(s,o,h=>{let g=ng(f,d,h);return h===g&&typeof h=="string"&&(g=ng(f,d,`${r}${h==="default"?"":yp(h)}`,h)),p===!1?g:{[p]:g}})}function t(r){var i;let{sx:o,theme:a={}}=r||{};if(!o)return null;let n=(i=a.unstable_sxConfig)!=null?i:_s;function s(p){let l=p;if(typeof p=="function")l=p(a);else if(typeof p!="object")return p;if(!l)return null;let d=OL(a.breakpoints),u=Object.keys(d),f=d;return Object.keys(l).forEach(c=>{let h=Boe(l[c],a);if(h!=null)if(typeof h=="object")if(n[c])f=sl(f,e(c,h,a,n));else{let g=no({theme:a},h,m=>({[c]:m}));Foe(g,h)?f[c]=t({sx:h,theme:a}):f=sl(f,g)}else f=sl(f,e(c,h,a,n))}),ak(a,kL(u,f))}return Array.isArray(o)?o.map(s):s(o)}return t}var DL=Loe();DL.filterProps=["sx"];var qa=DL;function dk(e,t){var o;let r=this;if(r.vars){if(!((o=r.colorSchemes)!=null&&o[e])||typeof r.getColorSchemeSelector!="function")return{};let a=r.getColorSchemeSelector(e);return a==="&"?t:((a.includes("data-")||a.includes("."))&&(a=`*:where(${a.replace(/\s*&$/,"")}) &`),{[a]:t})}return r.palette.mode===e?t:{}}function joe(e={},...t){let{breakpoints:r={},palette:o={},spacing:a,shape:n={},...s}=e,i=ok(r),p=Nc(a),l=Xt({breakpoints:i,direction:"ltr",components:{},palette:{mode:"light",...o},spacing:p,shape:{..._L,...n}},s);return l=OT(l),l.applyStyles=dk,l=t.reduce((d,u)=>Xt(d,u),l),l.unstable_sxConfig={..._s,...s==null?void 0:s.unstable_sxConfig},l.unstable_sx=function(u){return qa({sx:u,theme:this})},l}var ll=joe;var AL=y(D());function zoe(e){return Object.keys(e).length===0}function Woe(e=null){let t=AL.useContext(xi);return!t||zoe(t)?e:t}var du=Woe;var Uoe=ll();function Hoe(e=Uoe){return du(e)}var Kn=Hoe;var ML=y($());function Voe({styles:e,themeId:t,defaultTheme:r={}}){let o=Kn(r),a=typeof e=="function"?e(t&&o[t]||o):e;return(0,ML.jsx)(su,{styles:a})}var PT=Voe;var $oe=e=>{var o,a;let t={systemProps:{},otherProps:{}},r=(a=(o=e==null?void 0:e.theme)==null?void 0:o.unstable_sxConfig)!=null?a:_s;return Object.keys(e).forEach(n=>{r[n]?t.systemProps[n]=e[n]:t.otherProps[n]=e[n]}),t};function gi(e){let{sx:t,...r}=e,{systemProps:o,otherProps:a}=$oe(r),n;return Array.isArray(t)?n=[o,...t]:typeof t=="function"?n=(...s)=>{let i=t(...s);return cn(i)?{...o,...i}:o}:n={...o,...t},{...a,sx:n}}var NL=e=>e,Goe=()=>{let e=NL;return{configure(t){e=t},generate(t){return e(t)},reset(){e=NL}}},qoe=Goe(),uu=qoe;var FL=y(D());function IL(e){var t,r,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;ti!=="theme"&&i!=="sx"&&i!=="as"})(qa);return FL.forwardRef(function(p,l){let d=Kn(r),{className:u,component:f="div",...c}=gi(p);return(0,BL.jsx)(n,{as:f,ref:l,className:K(u,a?a(o):o),theme:t&&d[t]||d,...c})})}var Joe={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function te(e,t,r="Mui"){let o=Joe[t];return o?`${r}-${o}`:`${uu.generate(e)}-${t}`}function Q(e,t,r="Mui"){let o={};return t.forEach(a=>{o[a]=te(e,a,r)}),o}function fg(e){let{variants:t,...r}=e,o={variants:t,style:tk(r),isProcessed:!0};return o.style===r||t&&t.forEach(a=>{typeof a.style!="function"&&(a.style=tk(a.style))}),o}var Zoe=ll();function ck(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}function Qoe(e){return e?(t,r)=>r[e]:null}function eae(e,t,r){e.theme=rae(e.theme)?r:e.theme[t]||e.theme}function zT(e,t){let r=typeof t=="function"?t(e):t;if(Array.isArray(r))return r.flatMap(o=>zT(e,o));if(Array.isArray(r==null?void 0:r.variants)){let o;if(r.isProcessed)o=r.style;else{let{variants:a,...n}=r;o=n}return WL(e,r.variants,[o])}return r!=null&&r.isProcessed?r.style:r}function WL(e,t,r=[]){var a;let o;e:for(let n=0;n{SL(i,w=>w.filter(O=>O!==qa));let{name:l,slot:d,skipVariantsResolver:u,skipSx:f,overridesResolver:c=Qoe(aae(d)),...h}=p,g=u!==void 0?u:d&&d!=="Root"&&d!=="root"||!1,m=f||!1,x=ck;d==="Root"||d==="root"?x=o:d?x=a:oae(i)&&(x=void 0);let T=og(i,{shouldForwardProp:x,label:tae(l,d),...h}),b=w=>{if(typeof w=="function"&&w.__emotion_real!==w)return function(k){return zT(k,w)};if(cn(w)){let O=fg(w);return O.variants?function(M){return zT(M,O)}:O.style}return w},v=(...w)=>{let O=[],k=w.map(b),M=[];if(O.push(n),l&&c&&M.push(function(G){var X,le;let q=(le=(X=G.theme.components)==null?void 0:X[l])==null?void 0:le.styleOverrides;if(!q)return null;let j={};for(let ae in q)j[ae]=zT(G,q[ae]);return c(G,j)}),l&&!g&&M.push(function(G){var j,X;let J=G.theme,q=(X=(j=J==null?void 0:J.components)==null?void 0:j[l])==null?void 0:X.variants;return q?WL(G,q):null}),m||M.push(qa),Array.isArray(k[0])){let B=k.shift(),G=new Array(O.length).fill(""),J=new Array(M.length).fill(""),q;q=[...G,...B,...J],q.raw=[...G,...B.raw,...J],O.unshift(q)}let N=[...O,...k,...M],S=T(...N);return i.muiName&&(S.muiName=i.muiName),S};return T.withConfig&&(v.withConfig=T.withConfig),v}}function tae(e,t){return void 0}function rae(e){for(let t in e)return!1;return!0}function oae(e){return typeof e=="string"&&e.charCodeAt(0)>96}function aae(e){return e&&e.charAt(0).toLowerCase()+e.slice(1)}var nae=Fc(),mk=nae;function yi(e,t){let r={...t};for(let o in e)if(Object.prototype.hasOwnProperty.call(e,o)){let a=o;if(a==="components"||a==="slots")r[a]={...e[a],...r[a]};else if(a==="componentsProps"||a==="slotProps"){let n=e[a],s=t[a];if(!s)r[a]=n||{};else if(!n)r[a]=s;else{r[a]={...s};for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let p=i;r[a][p]=yi(n[p],s[p])}}}else r[a]===void 0&&(r[a]=e[a])}return r}function Bc(e){let{theme:t,name:r,props:o}=e;return!t||!t.components||!t.components[r]||!t.components[r].defaultProps?o:yi(t.components[r].defaultProps,o)}function Lc({props:e,name:t,defaultTheme:r,themeId:o}){let a=Kn(r);return o&&(a=a[o]||a),Bc({theme:a,name:t,props:e})}var pl=y(D());var WT=y(D()),sae=typeof window!="undefined"?WT.useLayoutEffect:WT.useEffect,$o=sae;function iae(e,t,r,o,a){let[n,s]=pl.useState(()=>a&&r?r(e).matches:o?o(e).matches:t);return $o(()=>{if(!r)return;let i=r(e),p=()=>{s(i.matches)};return p(),i.addEventListener("change",p),()=>{i.removeEventListener("change",p)}},[e,r]),n}var lae={...pl},UL=lae.useSyncExternalStore;function pae(e,t,r,o,a){let n=pl.useCallback(()=>t,[t]),s=pl.useMemo(()=>{if(a&&r)return()=>r(e).matches;if(o!==null){let{matches:d}=o(e);return()=>d}return n},[n,e,o,a,r]),[i,p]=pl.useMemo(()=>{if(r===null)return[n,()=>()=>{}];let d=r(e);return[()=>d.matches,u=>(d.addEventListener("change",u),()=>{d.removeEventListener("change",u)})]},[n,r,e]);return UL(p,i,s)}function hk(e={}){let{themeId:t}=e;return function(o,a={}){let n=du();n&&t&&(n=n[t]||n);let s=typeof window!="undefined"&&typeof window.matchMedia!="undefined",{defaultMatches:i=!1,matchMedia:p=s?window.matchMedia:null,ssrMatchMedia:l=null,noSsr:d=!1}=Bc({name:"MuiUseMediaQuery",props:a,theme:n}),u=typeof o=="function"?o(n):o;return u=u.replace(/^@media( ?)/m,""),(UL!==void 0?pae:iae)(u,i,p,l,d)}}var hje=hk();function dae(e,t=Number.MIN_SAFE_INTEGER,r=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,r))}var xk=dae;function gk(e,t=0,r=1){return xk(e,t,r)}function HL(e){e=e.slice(1);let t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g"),r=e.match(t);return r&&r[0].length===1&&(r=r.map(o=>o+o)),r?`rgb${r.length===4?"a":""}(${r.map((o,a)=>a<3?parseInt(o,16):Math.round(parseInt(o,16)/255*1e3)/1e3).join(", ")})`:""}function dl(e){if(e.type)return e;if(e.charAt(0)==="#")return dl(HL(e));let t=e.indexOf("("),r=e.substring(0,t);if(!["rgb","rgba","hsl","hsla","color"].includes(r))throw new Error(Mo(9,e));let o=e.substring(t+1,e.length-1),a;if(r==="color"){if(o=o.split(" "),a=o.shift(),o.length===4&&o[3].charAt(0)==="/"&&(o[3]=o[3].slice(1)),!["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].includes(a))throw new Error(Mo(10,a))}else o=o.split(",");return o=o.map(n=>parseFloat(n)),{type:r,values:o,colorSpace:a}}var uae=e=>{let t=dl(e);return t.values.slice(0,3).map((r,o)=>t.type.includes("hsl")&&o!==0?`${r}%`:r).join(" ")},jc=(e,t)=>{try{return uae(e)}catch(r){return e}};function cg(e){let{type:t,colorSpace:r}=e,{values:o}=e;return t.includes("rgb")?o=o.map((a,n)=>n<3?parseInt(a,10):a):t.includes("hsl")&&(o[1]=`${o[1]}%`,o[2]=`${o[2]}%`),t.includes("color")?o=`${r} ${o.join(" ")}`:o=`${o.join(", ")}`,`${t}(${o})`}function HT(e){e=dl(e);let{values:t}=e,r=t[0],o=t[1]/100,a=t[2]/100,n=o*Math.min(a,1-a),s=(l,d=(l+r/30)%12)=>a-n*Math.max(Math.min(d-3,9-d,1),-1),i="rgb",p=[Math.round(s(0)*255),Math.round(s(8)*255),Math.round(s(4)*255)];return e.type==="hsla"&&(i+="a",p.push(t[3])),cg({type:i,values:p})}function UT(e){e=dl(e);let t=e.type==="hsl"||e.type==="hsla"?dl(HT(e)).values:e.values;return t=t.map(r=>(e.type!=="color"&&(r/=255),r<=.03928?r/12.92:((r+.055)/1.055)**2.4)),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function yk(e,t){let r=UT(e),o=UT(t);return(Math.max(r,o)+.05)/(Math.min(r,o)+.05)}function st(e,t){return e=dl(e),t=gk(t),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${t}`:e.values[3]=t,cg(e)}function mg(e,t,r){try{return st(e,t)}catch(o){return e}}function Cs(e,t){if(e=dl(e),t=gk(t),e.type.includes("hsl"))e.values[2]*=1-t;else if(e.type.includes("rgb")||e.type.includes("color"))for(let r=0;r<3;r+=1)e.values[r]*=1-t;return cg(e)}function Yt(e,t,r){try{return Cs(e,t)}catch(o){return e}}function Os(e,t){if(e=dl(e),t=gk(t),e.type.includes("hsl"))e.values[2]+=(100-e.values[2])*t;else if(e.type.includes("rgb"))for(let r=0;r<3;r+=1)e.values[r]+=(255-e.values[r])*t;else if(e.type.includes("color"))for(let r=0;r<3;r+=1)e.values[r]+=(1-e.values[r])*t;return cg(e)}function Zt(e,t,r){try{return Os(e,t)}catch(o){return e}}function fu(e,t=.15){return UT(e)>.5?Cs(e,t):Os(e,t)}function hg(e,t,r){try{return fu(e,t)}catch(o){return e}}var pj=y(D());var ej=y(D());function vp(...e){return e.reduce((t,r)=>r==null?t:function(...a){t.apply(this,a),r.apply(this,a)},()=>{})}function cu(e,t=166){let r;function o(...a){let n=()=>{e.apply(this,a)};clearTimeout(r),r=setTimeout(n,t)}return o.clear=()=>{clearTimeout(r)},o}var VL=y(D());function zc(e,t){var r,o,a,n;return VL.isValidElement(e)&&t.indexOf((n=e.type.muiName)!=null?n:(a=(o=(r=e.type)==null?void 0:r._payload)==null?void 0:o.value)==null?void 0:a.muiName)!==-1}function Dr(e){return e&&e.ownerDocument||document}function hn(e){return Dr(e).defaultView||window}function bp(e,t){typeof e=="function"?e(t):e&&(e.current=t)}var xg=y(D()),$L=0;function fae(e){let[t,r]=xg.useState(e),o=e||t;return xg.useEffect(()=>{t==null&&($L+=1,r(`mui-${$L}`))},[t]),o}var cae={...xg},GL=cae.useId;function vi(e){if(GL!==void 0){let t=GL();return e!=null?e:t}return fae(e)}var mu=y(D());function VT({controlled:e,default:t,name:r,state:o="value"}){let{current:a}=mu.useRef(e!==void 0),[n,s]=mu.useState(t),i=a?e:n,p=mu.useCallback(l=>{a||s(l)},[]);return[i,p]}var vk=y(D());function mae(e){let t=vk.useRef(e);return $o(()=>{t.current=e}),vk.useRef((...r)=>(0,t.current)(...r)).current}var Xn=mae;var qL=y(D());function Ur(...e){return qL.useMemo(()=>e.every(t=>t==null)?null:t=>{e.forEach(r=>{bp(r,t)})},e)}var JL=y(D()),KL={};function Wc(e,t){let r=JL.useRef(KL);return r.current===KL&&(r.current=e(t)),r}var XL=y(D()),hae=[];function bk(e){XL.useEffect(e,hae)}var hu=class e{constructor(){A(this,"currentId",null);A(this,"clear",()=>{this.currentId!==null&&(clearTimeout(this.currentId),this.currentId=null)});A(this,"disposeEffect",()=>this.clear)}static create(){return new e}start(t,r){this.clear(),this.currentId=setTimeout(()=>{this.currentId=null,r()},t)}};function Ka(){let e=Wc(hu.create).current;return bk(e.disposeEffect),e}function Tp(e){try{return e.matches(":focus-visible")}catch(t){}return!1}function xu(e=window){let t=e.document.documentElement.clientWidth;return e.innerWidth-t}var $T=y(D()),xae=e=>{let t=$T.useRef({});return $T.useEffect(()=>{t.current=e}),t.current},Uc=xae;function re(e,t,r=void 0){let o={};for(let a in e){let n=e[a],s="",i=!0;for(let p=0;po.match(/^on[A-Z]/)&&typeof e[o]=="function"&&!t.includes(o)).forEach(o=>{r[o]=e[o]}),r}var Sp=vae;function bae(e){if(e===void 0)return{};let t={};return Object.keys(e).filter(r=>!(r.match(/^on[A-Z]/)&&typeof e[r]=="function")).forEach(r=>{t[r]=e[r]}),t}var GT=bae;function Tae(e){let{getSlotProps:t,additionalProps:r,externalSlotProps:o,externalForwardedProps:a,className:n}=e;if(!t){let c=K(r==null?void 0:r.className,n,a==null?void 0:a.className,o==null?void 0:o.className),h={...r==null?void 0:r.style,...a==null?void 0:a.style,...o==null?void 0:o.style},g={...r,...a,...o};return c.length>0&&(g.className=c),Object.keys(h).length>0&&(g.style=h),{props:g,internalRef:void 0}}let s=Sp({...a,...o}),i=GT(o),p=GT(a),l=t(s),d=K(l==null?void 0:l.className,r==null?void 0:r.className,n,a==null?void 0:a.className,o==null?void 0:o.className),u={...l==null?void 0:l.style,...r==null?void 0:r.style,...a==null?void 0:a.style,...o==null?void 0:o.style},f={...l,...r,...p,...i};return d.length>0&&(f.className=d),Object.keys(u).length>0&&(f.style=u),{props:f,internalRef:l.ref}}var yg=Tae;function Sae(e,t,r){return typeof e=="function"?e(t,r):e}var vg=Sae;function wae(e){var u;let{elementType:t,externalSlotProps:r,ownerState:o,skipResolvingSlotProps:a=!1,...n}=e,s=a?{}:vg(r,o),{props:i,internalRef:p}=yg({...n,externalSlotProps:s}),l=Ur(p,s==null?void 0:s.ref,(u=e.additionalProps)==null?void 0:u.ref);return gg(t,{...i,ref:l},o)}var vo=wae;var YL=y(D());function Go(e){var t;return parseInt(YL.version,10)>=19?((t=e==null?void 0:e.props)==null?void 0:t.ref)||null:(e==null?void 0:e.ref)||null}var ZL=y(D()),_ae=ZL.createContext(null),qT=_ae;var Sk=y(D());function ul(){return Sk.useContext(qT)}var Cae=typeof Symbol=="function"&&Symbol.for,QL=Cae?Symbol.for("mui.nested"):"__THEME_NESTED__";var tj=y($());function Oae(e,t){return typeof t=="function"?t(e):{...e,...t}}function kae(e){let{children:t,theme:r}=e,o=ul(),a=ej.useMemo(()=>{let n=o===null?{...r}:Oae(o,r);return n!=null&&(n[QL]=o!==null),n},[r,o]);return(0,tj.jsx)(qT.Provider,{value:a,children:t})}var KT=kae;var JT=y(D());var rj=y($()),oj=JT.createContext();function Eae({value:e,...t}){return(0,rj.jsx)(oj.Provider,{value:e!=null?e:!0,...t})}var Yn=()=>{let e=JT.useContext(oj);return e!=null?e:!1},aj=Eae;var XT=y(D());var nj=y($()),sj=XT.createContext(void 0);function Pae({value:e,children:t}){return(0,nj.jsx)(sj.Provider,{value:e,children:t})}function Rae(e){let{theme:t,name:r,props:o}=e;if(!t||!t.components||!t.components[r])return o;let a=t.components[r];return a.defaultProps?yi(a.defaultProps,o):!a.styleOverrides&&!a.variants?yi(a,o):o}function wk({props:e,name:t}){let r=XT.useContext(sj);return Rae({props:e,name:t,theme:{components:r}})}var YT=Pae;var bg=y($()),ij={};function lj(e,t,r,o=!1){return pj.useMemo(()=>{let a=e&&t[e]||t;if(typeof r=="function"){let n=r(a),s=e?{...t,[e]:n}:n;return o?()=>s:s}return e?{...t,[e]:r}:{...t,...r}},[e,t,r,o])}function Dae(e){let{children:t,theme:r,themeId:o}=e,a=du(ij),n=ul()||ij,s=lj(o,a,r),i=lj(o,n,r,!0),p=(o?s[o]:s).direction==="rtl";return(0,bg.jsx)(KT,{theme:i,children:(0,bg.jsx)(xi.Provider,{value:s,children:(0,bg.jsx)(aj,{value:p,children:(0,bg.jsx)(YT,{value:o?s[o].components:s.components,children:t})})})})}var Hc=Dae;var dj={theme:void 0};function ZT(e){let t,r;return function(a){let n=t;return(n===void 0||a.theme!==r)&&(dj.theme=a.theme,n=fg(e(dj)),t=n,r=a.theme),n}}var qo=y(D());var Z3e=y(D()),uj=y($()),Tg="mode",Sg="color-scheme",Aae="data-color-scheme";function _k(e){let{defaultMode:t="system",defaultLightColorScheme:r="light",defaultDarkColorScheme:o="dark",modeStorageKey:a=Tg,colorSchemeStorageKey:n=Sg,attribute:s=Aae,colorSchemeNode:i="document.documentElement",nonce:p}=e||{},l="",d=s;if(s==="class"&&(d=".%s"),s==="data"&&(d="[data-%s]"),d.startsWith(".")){let f=d.substring(1);l+=`${i}.classList.remove('${f}'.replace('%s', light), '${f}'.replace('%s', dark)); + ${i}.classList.add('${f}'.replace('%s', colorScheme));`}let u=d.match(/\[([^\]]+)\]/);if(u){let[f,c]=u[1].split("=");c||(l+=`${i}.removeAttribute('${f}'.replace('%s', light)); + ${i}.removeAttribute('${f}'.replace('%s', dark));`),l+=` + ${i}.setAttribute('${f}'.replace('%s', colorScheme), ${c?`${c}.replace('%s', colorScheme)`:'""'});`}else l+=`${i}.setAttribute('${d}', colorScheme);`;return(0,uj.jsx)("script",{suppressHydrationWarning:!0,nonce:typeof window=="undefined"?p:"",dangerouslySetInnerHTML:{__html:`(function() { +try { + let colorScheme = ''; + const mode = localStorage.getItem('${a}') || '${t}'; + const dark = localStorage.getItem('${n}-dark') || '${o}'; + const light = localStorage.getItem('${n}-light') || '${r}'; + if (mode === 'system') { + // handle system mode + const mql = window.matchMedia('(prefers-color-scheme: dark)'); + if (mql.matches) { + colorScheme = dark + } else { + colorScheme = light + } + } + if (mode === 'light') { + colorScheme = light; + } + if (mode === 'dark') { + colorScheme = dark; + } + if (colorScheme) { + ${l} + } +} catch(e){}})();`}},"mui-color-scheme-init")}var xn=y(D());function fj(e){if(typeof window!="undefined"&&typeof window.matchMedia=="function"&&e==="system")return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function cj(e,t){if(e.mode==="light"||e.mode==="system"&&e.systemMode==="light")return t("light");if(e.mode==="dark"||e.mode==="system"&&e.systemMode==="dark")return t("dark")}function Mae(e){return cj(e,t=>{if(t==="light")return e.lightColorScheme;if(t==="dark")return e.darkColorScheme})}function Ck(e,t){if(typeof window=="undefined")return;let r;try{r=localStorage.getItem(e)||void 0,r||localStorage.setItem(e,t)}catch(o){}return r||t}function Ok(e){let{defaultMode:t="light",defaultLightColorScheme:r,defaultDarkColorScheme:o,supportedColorSchemes:a=[],modeStorageKey:n=Tg,colorSchemeStorageKey:s=Sg,storageWindow:i=typeof window=="undefined"?void 0:window,noSsr:p=!1}=e,l=a.join(","),d=a.length>1,[u,f]=xn.useState(()=>{let v=Ck(n,t),w=Ck(`${s}-light`,r),O=Ck(`${s}-dark`,o);return{mode:v,systemMode:fj(v),lightColorScheme:w,darkColorScheme:O}}),[c,h]=xn.useState(p||!d);xn.useEffect(()=>{h(!0)},[]);let g=Mae(u),m=xn.useCallback(v=>{f(w=>{if(v===w.mode)return w;let O=v!=null?v:t;try{localStorage.setItem(n,O)}catch(k){}return{...w,mode:O,systemMode:fj(O)}})},[n,t]),x=xn.useCallback(v=>{v?typeof v=="string"?v&&!l.includes(v)?console.error(`\`${v}\` does not exist in \`theme.colorSchemes\`.`):f(w=>{let O={...w};return cj(w,k=>{try{localStorage.setItem(`${s}-${k}`,v)}catch(M){}k==="light"&&(O.lightColorScheme=v),k==="dark"&&(O.darkColorScheme=v)}),O}):f(w=>{let O={...w},k=v.light===null?r:v.light,M=v.dark===null?o:v.dark;if(k)if(!l.includes(k))console.error(`\`${k}\` does not exist in \`theme.colorSchemes\`.`);else{O.lightColorScheme=k;try{localStorage.setItem(`${s}-light`,k)}catch(N){}}if(M)if(!l.includes(M))console.error(`\`${M}\` does not exist in \`theme.colorSchemes\`.`);else{O.darkColorScheme=M;try{localStorage.setItem(`${s}-dark`,M)}catch(N){}}return O}):f(w=>{try{localStorage.setItem(`${s}-light`,r),localStorage.setItem(`${s}-dark`,o)}catch(O){}return{...w,lightColorScheme:r,darkColorScheme:o}})},[l,s,r,o]),T=xn.useCallback(v=>{u.mode==="system"&&f(w=>{let O=v!=null&&v.matches?"dark":"light";return w.systemMode===O?w:{...w,systemMode:O}})},[u.mode]),b=xn.useRef(T);return b.current=T,xn.useEffect(()=>{if(typeof window.matchMedia!="function"||!d)return;let v=(...O)=>b.current(...O),w=window.matchMedia("(prefers-color-scheme: dark)");return w.addListener(v),v(w),()=>{w.removeListener(v)}},[d]),xn.useEffect(()=>{if(i&&d){let v=w=>{let O=w.newValue;typeof w.key=="string"&&w.key.startsWith(s)&&(!O||l.match(O))&&(w.key.endsWith("light")&&x({light:O}),w.key.endsWith("dark")&&x({dark:O})),w.key===n&&(!O||["light","dark","system"].includes(O))&&m(O||t)};return i.addEventListener("storage",v),()=>{i.removeEventListener("storage",v)}}},[x,m,n,s,l,t,i,d]),{...u,mode:c?u.mode:void 0,systemMode:c?u.systemMode:void 0,colorScheme:c?g:void 0,setMode:m,setColorScheme:x}}var Vc=y($()),Nae="*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";function QT(e){let{themeId:t,theme:r={},modeStorageKey:o=Tg,colorSchemeStorageKey:a=Sg,disableTransitionOnChange:n=!1,defaultColorScheme:s,resolveTheme:i}=e,p={allColorSchemes:[],colorScheme:void 0,darkColorScheme:void 0,lightColorScheme:void 0,mode:void 0,setColorScheme:()=>{},setMode:()=>{},systemMode:void 0},l=qo.createContext(void 0),d=()=>qo.useContext(l)||p;function u(g){var Ee,me,Re,mt,gt;let{children:m,theme:x,modeStorageKey:T=o,colorSchemeStorageKey:b=a,disableTransitionOnChange:v=n,storageWindow:w=typeof window=="undefined"?void 0:window,documentNode:O=typeof document=="undefined"?void 0:document,colorSchemeNode:k=typeof document=="undefined"?void 0:document.documentElement,disableNestedContext:M=!1,disableStyleSheetGeneration:N=!1,defaultMode:S="system",noSsr:B}=g,G=qo.useRef(!1),J=ul(),q=qo.useContext(l),j=!!q&&!M,X=qo.useMemo(()=>x||(typeof r=="function"?r():r),[x]),le=X[t],{colorSchemes:ae={},components:de={},cssVarPrefix:Be,...Oe}=le||X,We=Object.keys(ae).filter(Ge=>!!ae[Ge]).join(","),ke=qo.useMemo(()=>We.split(","),[We]),_e=typeof s=="string"?s:s.light,He=typeof s=="string"?s:s.dark,Me=ae[_e]&&ae[He]?S:((me=(Ee=ae[Oe.defaultColorScheme])==null?void 0:Ee.palette)==null?void 0:me.mode)||((Re=Oe.palette)==null?void 0:Re.mode),{mode:lt,setMode:Ye,systemMode:ot,lightColorScheme:ft,darkColorScheme:Fe,colorScheme:Pe,setColorScheme:Ze}=Ok({supportedColorSchemes:ke,defaultLightColorScheme:_e,defaultDarkColorScheme:He,modeStorageKey:T,colorSchemeStorageKey:b,defaultMode:Me,storageWindow:w,noSsr:B}),qe=lt,Ue=Pe;j&&(qe=q.mode,Ue=q.colorScheme);let ue=Ue||Oe.defaultColorScheme,we=((mt=Oe.generateThemeVars)==null?void 0:mt.call(Oe))||Oe.vars,Ne={...Oe,components:de,colorSchemes:ae,cssVarPrefix:Be,vars:we};if(typeof Ne.generateSpacing=="function"&&(Ne.spacing=Ne.generateSpacing()),ue){let Ge=ae[ue];Ge&&typeof Ge=="object"&&Object.keys(Ge).forEach(et=>{Ge[et]&&typeof Ge[et]=="object"?Ne[et]={...Ne[et],...Ge[et]}:Ne[et]=Ge[et]})}let Ve=Oe.colorSchemeSelector;qo.useEffect(()=>{if(Ue&&k&&Ve&&Ve!=="media"){let Ge=Ve,et=Ve;if(Ge==="class"&&(et=".%s"),Ge==="data"&&(et="[data-%s]"),Ge!=null&&Ge.startsWith("data-")&&!Ge.includes("%s")&&(et=`[${Ge}="%s"]`),et.startsWith("."))k.classList.remove(...ke.map(Ut=>et.substring(1).replace("%s",Ut))),k.classList.add(et.substring(1).replace("%s",Ue));else{let Ut=et.replace("%s",Ue).match(/\[([^\]]+)\]/);if(Ut){let[Rt,ct]=Ut[1].split("=");ct||ke.forEach(je=>{k.removeAttribute(Rt.replace(Ue,je))}),k.setAttribute(Rt,ct?ct.replace(/"|'/g,""):"")}else k.setAttribute(et,Ue)}}},[Ue,Ve,k,ke]),qo.useEffect(()=>{let Ge;if(v&&G.current&&O){let et=O.createElement("style");et.appendChild(O.createTextNode(Nae)),O.head.appendChild(et),window.getComputedStyle(O.body),Ge=setTimeout(()=>{O.head.removeChild(et)},1)}return()=>{clearTimeout(Ge)}},[Ue,v,O]),qo.useEffect(()=>(G.current=!0,()=>{G.current=!1}),[]);let ht=qo.useMemo(()=>({allColorSchemes:ke,colorScheme:Ue,darkColorScheme:Fe,lightColorScheme:ft,mode:qe,setColorScheme:Ze,setMode:Ye,systemMode:ot}),[ke,Ue,Fe,ft,qe,Ze,Ye,ot,Ne.colorSchemeSelector]),Tt=!0;(N||Oe.cssVariables===!1||j&&(J==null?void 0:J.cssVarPrefix)===Be)&&(Tt=!1);let xt=(0,Vc.jsxs)(qo.Fragment,{children:[(0,Vc.jsx)(Hc,{themeId:le?t:void 0,theme:i?i(Ne):Ne,children:m}),Tt&&(0,Vc.jsx)(su,{styles:((gt=Ne.generateStyleSheets)==null?void 0:gt.call(Ne))||[]})]});return j?xt:(0,Vc.jsx)(l.Provider,{value:ht,children:xt})}let f=typeof s=="string"?s:s.light,c=typeof s=="string"?s:s.dark;return{CssVarsProvider:u,useColorScheme:d,getInitColorSchemeScript:g=>_k({colorSchemeStorageKey:a,defaultLightColorScheme:f,defaultDarkColorScheme:c,modeStorageKey:o,...g})}}function eS(e=""){function t(...o){if(!o.length)return"";let a=o[0];return typeof a=="string"&&!a.match(/(#|\(|\)|(-?(\d*\.)?\d+)(px|em|%|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc))|^(-?(\d*\.)?\d+)$|(\d+ \d+ \d+)/)?`, var(--${e?`${e}-`:""}${a}${t(...o.slice(1))})`:`, ${a}`}return(o,...a)=>`var(--${e?`${e}-`:""}${o}${t(...a)})`}var mj=(e,t,r,o=[])=>{let a=e;t.forEach((n,s)=>{s===t.length-1?Array.isArray(a)?a[Number(n)]=r:a&&typeof a=="object"&&(a[n]=r):a&&typeof a=="object"&&(a[n]||(a[n]=o.includes(n)?[]:{}),a=a[n])})},Iae=(e,t,r)=>{function o(a,n=[],s=[]){Object.entries(a).forEach(([i,p])=>{(!r||r&&!r([...n,i]))&&p!=null&&(typeof p=="object"&&Object.keys(p).length>0?o(p,[...n,i],Array.isArray(p)?[...s,i]:s):t([...n,i],p,s))})}o(e)},Fae=(e,t)=>typeof t=="number"?["lineHeight","fontWeight","opacity","zIndex"].some(o=>e.includes(o))||e[e.length-1].toLowerCase().includes("opacity")?t:`${t}px`:t;function wg(e,t){let{prefix:r,shouldSkipGeneratingVar:o}=t||{},a={},n={},s={};return Iae(e,(i,p,l)=>{if((typeof p=="string"||typeof p=="number")&&(!o||!o(i,p))){let d=`--${r?`${r}-`:""}${i.join("-")}`,u=Fae(i,p);Object.assign(a,{[d]:u}),mj(n,i,`var(${d})`,l),mj(s,i,`var(${d}, ${u})`,l)}},i=>i[0]==="vars"),{css:a,vars:n,varsWithDefaults:s}}function Bae(e,t={}){let{getSelector:r=m,disableCssColorScheme:o,colorSchemeSelector:a}=t,{colorSchemes:n={},components:s,defaultColorScheme:i="light",...p}=e,{vars:l,css:d,varsWithDefaults:u}=wg(p,t),f=u,c={},{[i]:h,...g}=n;if(Object.entries(g||{}).forEach(([b,v])=>{let{vars:w,css:O,varsWithDefaults:k}=wg(v,t);f=Xt(f,k),c[b]={css:O,vars:w}}),h){let{css:b,vars:v,varsWithDefaults:w}=wg(h,t);f=Xt(f,w),c[i]={css:b,vars:v}}function m(b,v){var O,k;let w=a;if(a==="class"&&(w=".%s"),a==="data"&&(w="[data-%s]"),a!=null&&a.startsWith("data-")&&!a.includes("%s")&&(w=`[${a}="%s"]`),b){if(w==="media")return e.defaultColorScheme===b?":root":{[`@media (prefers-color-scheme: ${((k=(O=n[b])==null?void 0:O.palette)==null?void 0:k.mode)||b})`]:{":root":v}};if(w)return e.defaultColorScheme===b?`:root, ${w.replace("%s",String(b))}`:w.replace("%s",String(b))}return":root"}return{vars:f,generateThemeVars:()=>{let b={...l};return Object.entries(c).forEach(([,{vars:v}])=>{b=Xt(b,v)}),b},generateStyleSheets:()=>{var M,N;let b=[],v=e.defaultColorScheme||"light";function w(S,B){Object.keys(B).length&&b.push(typeof S=="string"?{[S]:{...B}}:S)}w(r(void 0,{...d}),d);let{[v]:O,...k}=c;if(O){let{css:S}=O,B=(N=(M=n[v])==null?void 0:M.palette)==null?void 0:N.mode,G=!o&&B?{colorScheme:B,...S}:{...S};w(r(v,{...G}),G)}return Object.entries(k).forEach(([S,{css:B}])=>{var q,j;let G=(j=(q=n[S])==null?void 0:q.palette)==null?void 0:j.mode,J=!o&&G?{colorScheme:G,...B}:{...B};w(r(S,{...J}),J)}),b}}}var kk=Bae;function Ek(e){return function(r){return e==="media"?`@media (prefers-color-scheme: ${r})`:e?e.startsWith("data-")&&!e.includes("%s")?`[${e}="${r}"] &`:e==="class"?`.${r} &`:e==="data"?`[data-${r}] &`:`${e.replace("%s",r)} &`:"&"}}var wp=y(D());var Lae=(e,t)=>e.filter(r=>t.includes(r)),gu=(e,t,r)=>{let o=e.keys[0];Array.isArray(t)?t.forEach((a,n)=>{r((s,i)=>{n<=e.keys.length-1&&(n===0?Object.assign(s,i):s[e.up(e.keys[n])]=i)},a)}):t&&typeof t=="object"?(Object.keys(t).length>e.keys.length?e.keys:Lae(e.keys,Object.keys(t))).forEach(n=>{if(e.keys.includes(n)){let s=t[n];s!==void 0&&r((i,p)=>{o===n?Object.assign(i,p):i[e.up(n)]=p},s)}}):(typeof t=="number"||typeof t=="string")&&r((a,n)=>{Object.assign(a,n)},t)};function tS(e){return`--Grid-${e}Spacing`}function rS(e){return`--Grid-parent-${e}Spacing`}var hj="--Grid-columns",$c="--Grid-parent-columns",xj=({theme:e,ownerState:t})=>{let r={};return gu(e.breakpoints,t.size,(o,a)=>{let n={};a==="grow"&&(n={flexBasis:0,flexGrow:1,maxWidth:"100%"}),a==="auto"&&(n={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"}),typeof a=="number"&&(n={flexGrow:0,flexBasis:"auto",width:`calc(100% * ${a} / var(${$c}) - (var(${$c}) - ${a}) * (var(${rS("column")}) / var(${$c})))`}),o(r,n)}),r},gj=({theme:e,ownerState:t})=>{let r={};return gu(e.breakpoints,t.offset,(o,a)=>{let n={};a==="auto"&&(n={marginLeft:"auto"}),typeof a=="number"&&(n={marginLeft:a===0?"0px":`calc(100% * ${a} / var(${$c}) + var(${rS("column")}) * ${a} / var(${$c}))`}),o(r,n)}),r},yj=({theme:e,ownerState:t})=>{if(!t.container)return{};let r={[hj]:12};return gu(e.breakpoints,t.columns,(o,a)=>{let n=a!=null?a:12;o(r,{[hj]:n,"> *":{[$c]:n}})}),r},vj=({theme:e,ownerState:t})=>{if(!t.container)return{};let r={};return gu(e.breakpoints,t.rowSpacing,(o,a)=>{var s;let n=typeof a=="string"?a:(s=e.spacing)==null?void 0:s.call(e,a);o(r,{[tS("row")]:n,"> *":{[rS("row")]:n}})}),r},bj=({theme:e,ownerState:t})=>{if(!t.container)return{};let r={};return gu(e.breakpoints,t.columnSpacing,(o,a)=>{var s;let n=typeof a=="string"?a:(s=e.spacing)==null?void 0:s.call(e,a);o(r,{[tS("column")]:n,"> *":{[rS("column")]:n}})}),r},Tj=({theme:e,ownerState:t})=>{if(!t.container)return{};let r={};return gu(e.breakpoints,t.direction,(o,a)=>{o(r,{flexDirection:a})}),r},Sj=({ownerState:e})=>({minWidth:0,boxSizing:"border-box",...e.container&&{display:"flex",flexWrap:"wrap",...e.wrap&&e.wrap!=="wrap"&&{flexWrap:e.wrap},gap:`var(${tS("row")}) var(${tS("column")})`}}),wj=e=>{let t=[];return Object.entries(e).forEach(([r,o])=>{o!==!1&&o!==void 0&&t.push(`grid-${r}-${String(o)}`)}),t},_j=(e,t="xs")=>{function r(o){return o===void 0?!1:typeof o=="string"&&!Number.isNaN(Number(o))||typeof o=="number"&&o>0}if(r(e))return[`spacing-${t}-${String(e)}`];if(typeof e=="object"&&!Array.isArray(e)){let o=[];return Object.entries(e).forEach(([a,n])=>{r(n)&&o.push(`spacing-${a}-${String(n)}`)}),o}return[]},Cj=e=>e===void 0?[]:typeof e=="object"?Object.entries(e).map(([t,r])=>`direction-${t}-${r}`):[`direction-xs-${String(e)}`];var Oj=y($()),jae=ll(),zae=mk("div",{name:"MuiGrid",slot:"Root",overridesResolver:(e,t)=>t.root});function Wae(e){return Lc({props:e,name:"MuiGrid",defaultTheme:jae})}function oS(e={}){let{createStyledComponent:t=zae,useThemeProps:r=Wae,componentName:o="MuiGrid"}=e,a=(p,l)=>{let{container:d,direction:u,spacing:f,wrap:c,size:h}=p,g={root:["root",d&&"container",c!=="wrap"&&`wrap-xs-${String(c)}`,...Cj(u),...wj(h),...d?_j(f,l.breakpoints.keys[0]):[]]};return re(g,m=>te(o,m),{})};function n(p,l,d=()=>!0){let u={};return p===null||(Array.isArray(p)?p.forEach((f,c)=>{f!==null&&d(f)&&l.keys[c]&&(u[l.keys[c]]=f)}):typeof p=="object"?Object.keys(p).forEach(f=>{let c=p[f];c!=null&&d(c)&&(u[f]=c)}):u[l.keys[0]]=p),u}let s=t(yj,bj,vj,xj,Tj,Sj,gj),i=wp.forwardRef(function(l,d){var Be,Oe,We,ke,_e,He;let u=Kn(),f=r(l),c=gi(f),{className:h,children:g,columns:m=12,container:x=!1,component:T="div",direction:b="row",wrap:v="wrap",size:w={},offset:O={},spacing:k=0,rowSpacing:M=k,columnSpacing:N=k,unstable_level:S=0,...B}=c,G=n(w,u.breakpoints,Me=>Me!==!1),J=n(O,u.breakpoints),q=(Be=l.columns)!=null?Be:S?void 0:m,j=(Oe=l.spacing)!=null?Oe:S?void 0:k,X=(ke=(We=l.rowSpacing)!=null?We:l.spacing)!=null?ke:S?void 0:M,le=(He=(_e=l.columnSpacing)!=null?_e:l.spacing)!=null?He:S?void 0:N,ae={...c,level:S,columns:q,container:x,direction:b,wrap:v,spacing:j,rowSpacing:X,columnSpacing:le,size:G,offset:J},de=a(ae,u);return(0,Oj.jsx)(s,{ref:d,as:T,ownerState:ae,className:K(de.root,h),...B,children:wp.Children.map(g,Me=>{var lt,Ye;return wp.isValidElement(Me)&&zc(Me,["Grid"])&&x&&Me.props.container?wp.cloneElement(Me,{unstable_level:(Ye=(lt=Me.props)==null?void 0:lt.unstable_level)!=null?Ye:S+1}):Me})})});return i.muiName="Grid",i}var Uae={black:"#000",white:"#fff"},Gc=Uae;var Hae={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},qc=Hae;var Vae={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},yu=Vae;var $ae={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},vu=$ae;var Gae={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},so=Gae;var qae={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},bu=qae;var Kae={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},Tu=Kae;var Jae={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},Su=Jae;function Pj(){return{text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:Gc.white,default:Gc.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}}}var Xae=Pj();function Rj(){return{text:{primary:Gc.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:Gc.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}}}var kj=Rj();function Ej(e,t,r,o){let a=o.light||o,n=o.dark||o*1.5;e[t]||(e.hasOwnProperty(r)?e[t]=e[r]:t==="light"?e.light=Os(e.main,a):t==="dark"&&(e.dark=Cs(e.main,n)))}function Yae(e="light"){return e==="dark"?{main:bu[200],light:bu[50],dark:bu[400]}:{main:bu[700],light:bu[400],dark:bu[800]}}function Zae(e="light"){return e==="dark"?{main:yu[200],light:yu[50],dark:yu[400]}:{main:yu[500],light:yu[300],dark:yu[700]}}function Qae(e="light"){return e==="dark"?{main:vu[500],light:vu[300],dark:vu[700]}:{main:vu[700],light:vu[400],dark:vu[800]}}function ene(e="light"){return e==="dark"?{main:Tu[400],light:Tu[300],dark:Tu[700]}:{main:Tu[700],light:Tu[500],dark:Tu[900]}}function tne(e="light"){return e==="dark"?{main:Su[400],light:Su[300],dark:Su[700]}:{main:Su[800],light:Su[500],dark:Su[900]}}function rne(e="light"){return e==="dark"?{main:so[400],light:so[300],dark:so[700]}:{main:"#ed6c02",light:so[500],dark:so[900]}}function wu(e){let{mode:t="light",contrastThreshold:r=3,tonalOffset:o=.2,...a}=e,n=e.primary||Yae(t),s=e.secondary||Zae(t),i=e.error||Qae(t),p=e.info||ene(t),l=e.success||tne(t),d=e.warning||rne(t);function u(g){return yk(g,kj.text.primary)>=r?kj.text.primary:Xae.text.primary}let f=({color:g,name:m,mainShade:x=500,lightShade:T=300,darkShade:b=700})=>{if(g={...g},!g.main&&g[x]&&(g.main=g[x]),!g.hasOwnProperty("main"))throw new Error(Mo(11,m?` (${m})`:"",x));if(typeof g.main!="string")throw new Error(Mo(12,m?` (${m})`:"",JSON.stringify(g.main)));return Ej(g,"light",T,o),Ej(g,"dark",b,o),g.contrastText||(g.contrastText=u(g.main)),g},c;return t==="light"?c=Pj():t==="dark"&&(c=Rj()),Xt({common:{...Gc},mode:t,primary:f({color:n,name:"primary"}),secondary:f({color:s,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:f({color:i,name:"error"}),warning:f({color:d,name:"warning"}),info:f({color:p,name:"info"}),success:f({color:l,name:"success"}),grey:qc,contrastThreshold:r,getContrastText:u,augmentColor:f,tonalOffset:o,...c},a)}function aS(e){let t={};return Object.entries(e).forEach(o=>{let[a,n]=o;typeof n=="object"&&(t[a]=`${n.fontStyle?`${n.fontStyle} `:""}${n.fontVariant?`${n.fontVariant} `:""}${n.fontWeight?`${n.fontWeight} `:""}${n.fontStretch?`${n.fontStretch} `:""}${n.fontSize||""}${n.lineHeight?`/${n.lineHeight} `:""}${n.fontFamily||""}`)}),t}function Pk(e,t){return{toolbar:{minHeight:56,[e.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[e.up("sm")]:{minHeight:64}},...t}}function one(e){return Math.round(e*1e5)/1e5}var Dj={textTransform:"uppercase"},Aj='"Roboto", "Helvetica", "Arial", sans-serif';function _g(e,t){let{fontFamily:r=Aj,fontSize:o=14,fontWeightLight:a=300,fontWeightRegular:n=400,fontWeightMedium:s=500,fontWeightBold:i=700,htmlFontSize:p=16,allVariants:l,pxToRem:d,...u}=typeof t=="function"?t(e):t,f=o/14,c=d||(m=>`${m/p*f}rem`),h=(m,x,T,b,v)=>({fontFamily:r,fontWeight:m,fontSize:c(x),lineHeight:T,...r===Aj?{letterSpacing:`${one(b/x)}em`}:{},...v,...l}),g={h1:h(a,96,1.167,-1.5),h2:h(a,60,1.2,-.5),h3:h(n,48,1.167,0),h4:h(n,34,1.235,.25),h5:h(n,24,1.334,0),h6:h(s,20,1.6,.15),subtitle1:h(n,16,1.75,.15),subtitle2:h(s,14,1.57,.1),body1:h(n,16,1.5,.15),body2:h(n,14,1.43,.15),button:h(s,14,1.75,.4,Dj),caption:h(n,12,1.66,.4),overline:h(n,12,2.66,1,Dj),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return Xt({htmlFontSize:p,pxToRem:c,fontFamily:r,fontSize:o,fontWeightLight:a,fontWeightRegular:n,fontWeightMedium:s,fontWeightBold:i,...g},u,{clone:!1})}function Cr(...e){return[`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,${.2})`,`${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,${.14})`,`${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,${.12})`].join(",")}var ane=["none",Cr(0,2,1,-1,0,1,1,0,0,1,3,0),Cr(0,3,1,-2,0,2,2,0,0,1,5,0),Cr(0,3,3,-2,0,3,4,0,0,1,8,0),Cr(0,2,4,-1,0,4,5,0,0,1,10,0),Cr(0,3,5,-1,0,5,8,0,0,1,14,0),Cr(0,3,5,-1,0,6,10,0,0,1,18,0),Cr(0,4,5,-2,0,7,10,1,0,2,16,1),Cr(0,5,5,-3,0,8,10,1,0,3,14,2),Cr(0,5,6,-3,0,9,12,1,0,3,16,2),Cr(0,6,6,-3,0,10,14,1,0,4,18,3),Cr(0,6,7,-4,0,11,15,1,0,4,20,3),Cr(0,7,8,-4,0,12,17,2,0,5,22,4),Cr(0,7,8,-4,0,13,19,2,0,5,24,4),Cr(0,7,9,-4,0,14,21,2,0,5,26,4),Cr(0,8,9,-5,0,15,22,2,0,6,28,5),Cr(0,8,10,-5,0,16,24,2,0,6,30,5),Cr(0,8,11,-5,0,17,26,2,0,6,32,5),Cr(0,9,11,-5,0,18,28,2,0,7,34,6),Cr(0,9,12,-6,0,19,29,2,0,7,36,6),Cr(0,10,13,-6,0,20,31,3,0,8,38,7),Cr(0,10,13,-6,0,21,33,3,0,8,40,7),Cr(0,10,14,-6,0,22,35,3,0,8,42,7),Cr(0,11,14,-7,0,23,36,3,0,9,44,8),Cr(0,11,15,-7,0,24,38,3,0,9,46,8)],Mj=ane;var nne={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},sne={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function Nj(e){return`${Math.round(e)}ms`}function ine(e){if(!e)return 0;let t=e/36;return Math.min(Math.round((4+15*t**.25+t/5)*10),3e3)}function Rk(e){let t={...nne,...e.easing},r={...sne,...e.duration};return{getAutoHeightDuration:ine,create:(a=["all"],n={})=>{let{duration:s=r.standard,easing:i=t.easeInOut,delay:p=0,...l}=n;return(Array.isArray(a)?a:[a]).map(d=>`${d} ${typeof s=="string"?s:Nj(s)} ${i} ${typeof p=="string"?p:Nj(p)}`).join(",")},...e,easing:t,duration:r}}var lne={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500},Ij=lne;function pne(e){return cn(e)||typeof e=="undefined"||typeof e=="string"||typeof e=="boolean"||typeof e=="number"||Array.isArray(e)}function nS(e={}){let t={...e};function r(o){let a=Object.entries(o);for(let n=0;npr(c,m),f),f.unstable_sxConfig={...si,...l==null?void 0:l.unstable_sxConfig},f.unstable_sx=function(m){return ks({sx:m,theme:this})},f.toRuntimeSource=b_,f}var jb=tbe;function Mh(e){let t;return e<1?t=5.11916*e**2:t=4.5*Math.log(e+1)+2,Math.round(t*10)/1e3}var rbe=[...Array(25)].map((e,t)=>{if(t===0)return"none";let r=Mh(t);return`linear-gradient(rgba(255 255 255 / ${r}), rgba(255 255 255 / ${r}))`});function AA(e){return{inputPlaceholder:e==="dark"?.5:.42,inputUnderline:e==="dark"?.7:.42,switchTrackDisabled:e==="dark"?.2:.12,switchTrack:e==="dark"?.3:.38}}function MA(e){return e==="dark"?rbe:[]}function NA(e){let{palette:t={mode:"light"},opacity:r,overlays:o,...a}=e,n=Uf(t);return{palette:n,opacity:{...AA(n.mode),...r},overlays:o||MA(n.mode),...a}}function IA(e){var t;return!!e[0].match(/(cssVarPrefix|colorSchemeSelector|rootSelector|typography|mixins|breakpoints|direction|transitions)/)||!!e[0].match(/sxConfig$/)||e[0]==="palette"&&!!((t=e[1])!=null&&t.match(/(mode|contrastThreshold|tonalOffset)/))}var obe=e=>[...[...Array(25)].map((t,r)=>`--${e?`${e}-`:""}overlays-${r}`),`--${e?`${e}-`:""}palette-AppBar-darkBg`,`--${e?`${e}-`:""}palette-AppBar-darkColor`],f8=obe;var c8=e=>(t,r)=>{let o=e.rootSelector||":root",a=e.colorSchemeSelector,n=a;if(a==="class"&&(n=".%s"),a==="data"&&(n="[data-%s]"),a!=null&&a.startsWith("data-")&&!a.includes("%s")&&(n=`[${a}="%s"]`),e.defaultColorScheme===t){if(t==="dark"){let s={};return f8(e.cssVarPrefix).forEach(i=>{s[i]=r[i],delete r[i]}),n==="media"?{[o]:r,"@media (prefers-color-scheme: dark)":{[o]:s}}:n?{[n.replace("%s",t)]:s,[`${o}, ${n.replace("%s",t)}`]:r}:{[o]:{...r,...s}}}if(n&&n!=="media")return`${o}, ${n.replace("%s",String(t))}`}else if(t){if(n==="media")return{[`@media (prefers-color-scheme: ${String(t)})`]:{[o]:r}};if(n)return n.replace("%s",String(t))}return o};function abe(e,t){t.forEach(r=>{e[r]||(e[r]={})})}function ne(e,t,r){!e[t]&&r&&(e[t]=r)}function Lb(e){return!e||!e.startsWith("hsl")?e:i_(e)}function Ql(e,t){`${t}Channel`in e||(e[`${t}Channel`]=Oh(Lb(e[t]),`MUI: Can't create \`palette.${t}Channel\` because \`palette.${t}\` is not one of these formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color(). -To suppress this warning, you need to explicitly provide the \`palette.${t}Channel\` as a string (in rgb format, for example "12 12 12") or undefined if you want to remove the channel token.`))}function nbe(e){return typeof e=="number"?`${e}px`:typeof e=="string"||typeof e=="function"||Array.isArray(e)?e:"8px"}var el=e=>{try{return e()}catch(t){}},sbe=(e="mui")=>m_(e);function FA(e,t,r,o){if(!t)return;t=t===!0?{}:t;let a=o==="dark"?"dark":"light";if(!r){e[o]=NA({...t,palette:{mode:a,...t==null?void 0:t.palette}});return}let{palette:n,...s}=jb({...r,palette:{mode:a,...t==null?void 0:t.palette}});return e[o]={...t,palette:n,opacity:{...AA(a),...t==null?void 0:t.opacity},overlays:(t==null?void 0:t.overlays)||MA(a)},s}function BA(e={},...t){let{colorSchemes:r={light:!0},defaultColorScheme:o,disableCssColorScheme:a=!1,cssVarPrefix:n="mui",shouldSkipGeneratingVar:s=IA,colorSchemeSelector:i=r.light&&r.dark?"media":void 0,rootSelector:p=":root",...l}=e,d=Object.keys(r)[0],u=o||(r.light&&d!=="light"?"light":d),f=sbe(n),{[u]:c,light:m,dark:g,...h}=r,x={...h},T=c;if((u==="dark"&&!("dark"in r)||u==="light"&&!("light"in r))&&(T=!0),!T)throw new Error(aa(21,u));let v=FA(x,T,l,u);m&&!x.light&&FA(x,m,void 0,"light"),g&&!x.dark&&FA(x,g,void 0,"dark");let b={defaultColorScheme:u,...v,cssVarPrefix:n,colorSchemeSelector:i,rootSelector:p,getCssVar:f,colorSchemes:x,font:{...y_(v.typography),...v.font},spacing:nbe(l.spacing)};Object.keys(b.colorSchemes).forEach(N=>{let S=b.colorSchemes[N].palette,B=$=>{let K=$.split("-"),G=K[1],L=K[2];return f($,S[G][L])};if(S.mode==="light"&&(ne(S.common,"background","#fff"),ne(S.common,"onBackground","#000")),S.mode==="dark"&&(ne(S.common,"background","#000"),ne(S.common,"onBackground","#fff")),abe(S,["Alert","AppBar","Avatar","Button","Chip","FilledInput","LinearProgress","Skeleton","Slider","SnackbarContent","SpeedDialAction","StepConnector","StepContent","Switch","TableCell","Tooltip"]),S.mode==="light"){ne(S.Alert,"errorColor",dr(S.error.light,.6)),ne(S.Alert,"infoColor",dr(S.info.light,.6)),ne(S.Alert,"successColor",dr(S.success.light,.6)),ne(S.Alert,"warningColor",dr(S.warning.light,.6)),ne(S.Alert,"errorFilledBg",B("palette-error-main")),ne(S.Alert,"infoFilledBg",B("palette-info-main")),ne(S.Alert,"successFilledBg",B("palette-success-main")),ne(S.Alert,"warningFilledBg",B("palette-warning-main")),ne(S.Alert,"errorFilledColor",el(()=>S.getContrastText(S.error.main))),ne(S.Alert,"infoFilledColor",el(()=>S.getContrastText(S.info.main))),ne(S.Alert,"successFilledColor",el(()=>S.getContrastText(S.success.main))),ne(S.Alert,"warningFilledColor",el(()=>S.getContrastText(S.warning.main))),ne(S.Alert,"errorStandardBg",ur(S.error.light,.9)),ne(S.Alert,"infoStandardBg",ur(S.info.light,.9)),ne(S.Alert,"successStandardBg",ur(S.success.light,.9)),ne(S.Alert,"warningStandardBg",ur(S.warning.light,.9)),ne(S.Alert,"errorIconColor",B("palette-error-main")),ne(S.Alert,"infoIconColor",B("palette-info-main")),ne(S.Alert,"successIconColor",B("palette-success-main")),ne(S.Alert,"warningIconColor",B("palette-warning-main")),ne(S.AppBar,"defaultBg",B("palette-grey-100")),ne(S.Avatar,"defaultBg",B("palette-grey-400")),ne(S.Button,"inheritContainedBg",B("palette-grey-300")),ne(S.Button,"inheritContainedHoverBg",B("palette-grey-A100")),ne(S.Chip,"defaultBorder",B("palette-grey-400")),ne(S.Chip,"defaultAvatarColor",B("palette-grey-700")),ne(S.Chip,"defaultIconColor",B("palette-grey-700")),ne(S.FilledInput,"bg","rgba(0, 0, 0, 0.06)"),ne(S.FilledInput,"hoverBg","rgba(0, 0, 0, 0.09)"),ne(S.FilledInput,"disabledBg","rgba(0, 0, 0, 0.12)"),ne(S.LinearProgress,"primaryBg",ur(S.primary.main,.62)),ne(S.LinearProgress,"secondaryBg",ur(S.secondary.main,.62)),ne(S.LinearProgress,"errorBg",ur(S.error.main,.62)),ne(S.LinearProgress,"infoBg",ur(S.info.main,.62)),ne(S.LinearProgress,"successBg",ur(S.success.main,.62)),ne(S.LinearProgress,"warningBg",ur(S.warning.main,.62)),ne(S.Skeleton,"bg",`rgba(${B("palette-text-primaryChannel")} / 0.11)`),ne(S.Slider,"primaryTrack",ur(S.primary.main,.62)),ne(S.Slider,"secondaryTrack",ur(S.secondary.main,.62)),ne(S.Slider,"errorTrack",ur(S.error.main,.62)),ne(S.Slider,"infoTrack",ur(S.info.main,.62)),ne(S.Slider,"successTrack",ur(S.success.main,.62)),ne(S.Slider,"warningTrack",ur(S.warning.main,.62));let $=Ab(S.background.default,.8);ne(S.SnackbarContent,"bg",$),ne(S.SnackbarContent,"color",el(()=>S.getContrastText($))),ne(S.SpeedDialAction,"fabHoverBg",Ab(S.background.paper,.15)),ne(S.StepConnector,"border",B("palette-grey-400")),ne(S.StepContent,"border",B("palette-grey-400")),ne(S.Switch,"defaultColor",B("palette-common-white")),ne(S.Switch,"defaultDisabledColor",B("palette-grey-100")),ne(S.Switch,"primaryDisabledColor",ur(S.primary.main,.62)),ne(S.Switch,"secondaryDisabledColor",ur(S.secondary.main,.62)),ne(S.Switch,"errorDisabledColor",ur(S.error.main,.62)),ne(S.Switch,"infoDisabledColor",ur(S.info.main,.62)),ne(S.Switch,"successDisabledColor",ur(S.success.main,.62)),ne(S.Switch,"warningDisabledColor",ur(S.warning.main,.62)),ne(S.TableCell,"border",ur(Db(S.divider,1),.88)),ne(S.Tooltip,"bg",Db(S.grey[700],.92))}if(S.mode==="dark"){ne(S.Alert,"errorColor",ur(S.error.light,.6)),ne(S.Alert,"infoColor",ur(S.info.light,.6)),ne(S.Alert,"successColor",ur(S.success.light,.6)),ne(S.Alert,"warningColor",ur(S.warning.light,.6)),ne(S.Alert,"errorFilledBg",B("palette-error-dark")),ne(S.Alert,"infoFilledBg",B("palette-info-dark")),ne(S.Alert,"successFilledBg",B("palette-success-dark")),ne(S.Alert,"warningFilledBg",B("palette-warning-dark")),ne(S.Alert,"errorFilledColor",el(()=>S.getContrastText(S.error.dark))),ne(S.Alert,"infoFilledColor",el(()=>S.getContrastText(S.info.dark))),ne(S.Alert,"successFilledColor",el(()=>S.getContrastText(S.success.dark))),ne(S.Alert,"warningFilledColor",el(()=>S.getContrastText(S.warning.dark))),ne(S.Alert,"errorStandardBg",dr(S.error.light,.9)),ne(S.Alert,"infoStandardBg",dr(S.info.light,.9)),ne(S.Alert,"successStandardBg",dr(S.success.light,.9)),ne(S.Alert,"warningStandardBg",dr(S.warning.light,.9)),ne(S.Alert,"errorIconColor",B("palette-error-main")),ne(S.Alert,"infoIconColor",B("palette-info-main")),ne(S.Alert,"successIconColor",B("palette-success-main")),ne(S.Alert,"warningIconColor",B("palette-warning-main")),ne(S.AppBar,"defaultBg",B("palette-grey-900")),ne(S.AppBar,"darkBg",B("palette-background-paper")),ne(S.AppBar,"darkColor",B("palette-text-primary")),ne(S.Avatar,"defaultBg",B("palette-grey-600")),ne(S.Button,"inheritContainedBg",B("palette-grey-800")),ne(S.Button,"inheritContainedHoverBg",B("palette-grey-700")),ne(S.Chip,"defaultBorder",B("palette-grey-700")),ne(S.Chip,"defaultAvatarColor",B("palette-grey-300")),ne(S.Chip,"defaultIconColor",B("palette-grey-300")),ne(S.FilledInput,"bg","rgba(255, 255, 255, 0.09)"),ne(S.FilledInput,"hoverBg","rgba(255, 255, 255, 0.13)"),ne(S.FilledInput,"disabledBg","rgba(255, 255, 255, 0.12)"),ne(S.LinearProgress,"primaryBg",dr(S.primary.main,.5)),ne(S.LinearProgress,"secondaryBg",dr(S.secondary.main,.5)),ne(S.LinearProgress,"errorBg",dr(S.error.main,.5)),ne(S.LinearProgress,"infoBg",dr(S.info.main,.5)),ne(S.LinearProgress,"successBg",dr(S.success.main,.5)),ne(S.LinearProgress,"warningBg",dr(S.warning.main,.5)),ne(S.Skeleton,"bg",`rgba(${B("palette-text-primaryChannel")} / 0.13)`),ne(S.Slider,"primaryTrack",dr(S.primary.main,.5)),ne(S.Slider,"secondaryTrack",dr(S.secondary.main,.5)),ne(S.Slider,"errorTrack",dr(S.error.main,.5)),ne(S.Slider,"infoTrack",dr(S.info.main,.5)),ne(S.Slider,"successTrack",dr(S.success.main,.5)),ne(S.Slider,"warningTrack",dr(S.warning.main,.5));let $=Ab(S.background.default,.98);ne(S.SnackbarContent,"bg",$),ne(S.SnackbarContent,"color",el(()=>S.getContrastText($))),ne(S.SpeedDialAction,"fabHoverBg",Ab(S.background.paper,.15)),ne(S.StepConnector,"border",B("palette-grey-600")),ne(S.StepContent,"border",B("palette-grey-600")),ne(S.Switch,"defaultColor",B("palette-grey-300")),ne(S.Switch,"defaultDisabledColor",B("palette-grey-600")),ne(S.Switch,"primaryDisabledColor",dr(S.primary.main,.55)),ne(S.Switch,"secondaryDisabledColor",dr(S.secondary.main,.55)),ne(S.Switch,"errorDisabledColor",dr(S.error.main,.55)),ne(S.Switch,"infoDisabledColor",dr(S.info.main,.55)),ne(S.Switch,"successDisabledColor",dr(S.success.main,.55)),ne(S.Switch,"warningDisabledColor",dr(S.warning.main,.55)),ne(S.TableCell,"border",dr(Db(S.divider,1),.68)),ne(S.Tooltip,"bg",Db(S.grey[700],.92))}Ql(S.background,"default"),Ql(S.background,"paper"),Ql(S.common,"background"),Ql(S.common,"onBackground"),Ql(S,"divider"),Object.keys(S).forEach($=>{let K=S[$];K&&typeof K=="object"&&(K.main&&ne(S[$],"mainChannel",Oh(Lb(K.main))),K.light&&ne(S[$],"lightChannel",Oh(Lb(K.light))),K.dark&&ne(S[$],"darkChannel",Oh(Lb(K.dark))),K.contrastText&&ne(S[$],"contrastTextChannel",Oh(Lb(K.contrastText))),$==="text"&&(Ql(S[$],"primary"),Ql(S[$],"secondary")),$==="action"&&(K.active&&Ql(S[$],"active"),K.selected&&Ql(S[$],"selected")))})}),b=t.reduce((N,S)=>pr(N,S),b);let w={prefix:n,disableCssColorScheme:a,shouldSkipGeneratingVar:s,getSelector:c8(b)},{vars:O,generateThemeVars:k,generateStyleSheets:M}=kA(b,w);return b.vars=O,Object.entries(b.colorSchemes[b.defaultColorScheme]).forEach(([N,S])=>{b[N]=S}),b.generateThemeVars=k,b.generateStyleSheets=M,b.generateSpacing=function(){return wh(l.spacing,Sb(this))},b.getColorSchemeSelector=EA(i),b.spacing=b.generateSpacing(),b.shouldSkipGeneratingVar=s,b.unstable_sxConfig={...si,...l==null?void 0:l.unstable_sxConfig},b.unstable_sx=function(S){return ks({sx:S,theme:this})},b.toRuntimeSource=b_,b}function m8(e,t,r){e.colorSchemes&&r&&(e.colorSchemes[t]={...r!==!0&&r,palette:Uf({...r===!0?{}:r.palette,mode:t})})}function ep(e={},...t){let{palette:r,cssVariables:o=!1,colorSchemes:a=r?void 0:{light:!0},defaultColorScheme:n=r==null?void 0:r.mode,...s}=e,i=n||"light",p=a==null?void 0:a[i],l={...a,...r?{[i]:{...typeof p!="boolean"&&p,palette:r}}:void 0};if(o===!1){if(!("colorSchemes"in e))return jb(e,...t);let d=r;"palette"in e||l[i]&&(l[i]!==!0?d=l[i].palette:i==="dark"&&(d={mode:"dark"}));let u=jb({...e,palette:d},...t);return u.defaultColorScheme=i,u.colorSchemes=l,u.palette.mode==="light"&&(u.colorSchemes.light={...l.light!==!0&&l.light,palette:u.palette},m8(u,"dark",l.dark)),u.palette.mode==="dark"&&(u.colorSchemes.dark={...l.dark!==!0&&l.dark,palette:u.palette},m8(u,"light",l.light)),u}return!r&&!("light"in l)&&i==="light"&&(l.light=!0),BA({...s,colorSchemes:l,defaultColorScheme:i,...typeof o!="boolean"&&o},...t)}var lbe=y(P());var ibe=ep(),Nh=ibe;function Wo(){let e=Es(Nh);return e[Yi]||e}function pbe(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}var v_=pbe;var dbe=e=>v_(e)&&e!=="classes",kt=dbe;var ube=_h({themeId:Yi,defaultTheme:Nh,rootShouldForwardProp:kt}),X=ube;var jA=11/23/100;function h8(e){let t={r:0,g:0,b:0};if(e.length===7)t.r=parseInt(e.substr(1,2),16),t.g=parseInt(e.substr(3,2),16),t.b=parseInt(e.substr(5,2),16);else if(e.length===4){let r=e.substr(1,1),o=e.substr(2,1),a=e.substr(3,1);t.r=parseInt(r+r,16),t.g=parseInt(o+o,16),t.b=parseInt(a+a,16)}return t}function fbe(e){return`#${Math.round(e.r).toString(16)}${Math.round(e.g).toString(16)}${Math.round(e.b).toString(16)}`}function cbe(e,t,r){let o=h8(e),a=h8(t);return o.r+=a.r*(.05+jA*(r-1)),o.g+=a.g*(.05+jA*(r-1)),o.b+=a.b*(.05+jA*(r-1)),fbe(o)}function x8(e,t){let r={};for(let o=1;o<=24;o++)r[`elevation${o}`]={backgroundColor:cbe(e,t,o)};return r}function tp(e,t){var s,i,p,l,d,u,f,c,m,g,h;let r,o;e==="dark"?(o={MuiAppBar:{colorDefault:{backgroundColor:"#272727"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:Eo[200],"&:hover":{color:Eo[100]}}},MuiPaper:x8("#121212","#fff")},r={name:e,palette:{mode:"dark",background:{paper:"#121212",default:"#121212"},primary:{main:"#4dabf5"},secondary:{main:"#436a93"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):e==="blue"?(o={MuiAppBar:{colorDefault:{backgroundColor:"#3399CC"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:Eo[400],"&:hover":{color:Eo[300]}}}},r={name:e,palette:{mode:"dark",background:{paper:"#151d21",default:"#151d21"},primary:{main:"#4dabf5"},secondary:{main:"#436a93"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):e==="colored"?(o={MuiAppBar:{colorDefault:{backgroundColor:"#2a3135"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:Eo[200],"&:hover":{color:Eo[100]}}},MuiPaper:x8("#151d21","#fff")},r={name:e,palette:{mode:"light",primary:{main:"#3399CC"},secondary:{main:"#164477"},expert:"#96fc96"}}):e==="PT"?(o={MuiAppBar:{colorDefault:{backgroundColor:"#0F99DE"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:Eo[400],"&:hover":{color:Eo[300]}}}},r={name:e,palette:{mode:"light",primary:{main:"#0F99DE"},secondary:{main:"#88A536"},expert:"#BD1B24"}}):e==="DX"?(o={MuiAppBar:{colorDefault:{backgroundColor:"#a9a9a9"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:Eo[400],"&:hover":{color:Eo[300]}}}},r={name:e,palette:{mode:"light",primary:{main:"#F5F5F7"},secondary:{main:"#a9a9a9"},expert:"#BD1B24",text:{primary:"#007AFE",secondary:"#007AFE",disabled:"#007AFEAA"}}}):(o={MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:Eo[400],"&:hover":{color:Eo[300]}}}},r={name:e,palette:{mode:"light",primary:{main:"#3399CC",dark:"#256c97",light:"#76d0fd"},secondary:{main:"#164477"},expert:"#14bb00"}}),r.toolbar={height:48},r.saveToolbar={background:(i=(s=r.palette)==null?void 0:s.primary)==null?void 0:i.main,button:{borderRadius:3,height:32}},r.palette&&(r.palette.grey={main:Ah[300],dark:Ah[400]});let a=ep(r),n=a.palette;return ep(a,{...t||void 0,components:{...o,MuiButton:{variants:[{props:{variant:"contained",color:"grey"},style:{backgroundColor:(p=n.grey)==null?void 0:p[300],color:n.getContrastText&&((l=n.grey)!=null&&l[300])?n.getContrastText(n.grey[300]):void 0}},{props:{variant:"outlined",color:"grey"},style:{color:(d=n.text)==null?void 0:d.primary,borderColor:n.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)","&.Mui-disabled":{border:`1px solid ${(u=n.action)==null?void 0:u.disabledBackground}`},"&:hover":{borderColor:n.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)",backgroundColor:St(((f=n.text)==null?void 0:f.primary)||"",((c=n.action)==null?void 0:c.hoverOpacity)||.04)}}},{props:{variant:"text",color:"grey"},style:{color:(m=n.text)==null?void 0:m.primary,"&:hover":{backgroundColor:St(((g=n.text)==null?void 0:g.primary)||"",((h=n.action)==null?void 0:h.hoverOpacity)||.04)}}}]},...(t==null?void 0:t.components)||void 0}})}var tn=y(P());function g8(){let e,t,r=new Promise((o,a)=>{e=o,t=a});return r.resolve=e,r.reject=t,r}function zb(e){var t;return(t=e==null?void 0:e.rows.map(r=>r.value).filter(r=>!!r))!=null?t:[]}function ii(e){return e!=null&&e.startsWith("system.host.")||(e=`system.host.${e}`),e}function Ih(e){return e!=null&&e.startsWith("system.host.")&&(e=e.substring(12)),e}function LA(e){return new Promise(t=>{setTimeout(t,e)})}function Wb(e){e=(e||"").toString();let t=e[0]==="*",r=e[e.length-1]==="*";return e=e.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(t?"":"^")+e+(r?"":"$")}var Tn;(function(e){e[e.CONNECTING=0]="CONNECTING",e[e.CONNECTED=1]="CONNECTED",e[e.OBJECTS_LOADED=2]="OBJECTS_LOADED",e[e.READY=3]="READY"})(Tn||(Tn={}));var Po;(function(e){e.PERMISSION_ERROR="permissionError",e.NOT_CONNECTED="notConnectedError",e.TIMEOUT="timeout",e.NOT_ADMIN="Allowed only in admin",e.NOT_SUPPORTED="Not supported"})(Po||(Po={}));var zA=Po.PERMISSION_ERROR,mbe=Po.NOT_CONNECTED,hbe=["material","echarts","vis"],li=class e{constructor(t){A(this,"props");A(this,"ignoreState","");A(this,"connected",!1);A(this,"subscribed",!1);A(this,"firstConnect",!0);A(this,"waitForRestart",!1);A(this,"loaded",!1);A(this,"simStates",{});A(this,"statesSubscribes",{});A(this,"filesSubscribes",{});A(this,"objectsSubscribes",{});A(this,"objects",{});A(this,"states",{});A(this,"acl",null);A(this,"isSecure",!1);A(this,"onReadyDone",!1);A(this,"onConnectionHandlers",[]);A(this,"onLogHandlers",[]);A(this,"onCmdStdoutHandler");A(this,"onCmdStderrHandler");A(this,"onCmdExitHandler");A(this,"_socket");A(this,"_waitForSocketPromise");A(this,"_waitForFirstConnectionPromise",g8());A(this,"_instanceSubscriptions",{});A(this,"_promises",{});A(this,"_authTimer");A(this,"_systemConfig");A(this,"systemLang","en");this.props=this.applyDefaultProps(t),this.waitForSocketLib().then(()=>this.startSocket()).catch(r=>{alert(`Socket connection could not be initialized: ${r}`)})}applyDefaultProps(t){var r,o,a,n;return{...t,protocol:t.protocol||window.location.protocol,host:t.host||window.location.hostname,port:t.port||(window.location.port==="3000"?8081:window.location.port),ioTimeout:Math.max(t.ioTimeout||2e4,2e4),cmdTimeout:Math.max(t.cmdTimeout||5e3,5e3),admin5only:t.admin5only||!1,autoSubscribes:(r=t.autoSubscribes)!=null?r:[],autoSubscribeLog:(o=t.autoSubscribeLog)!=null?o:!1,doNotLoadACL:(a=t.doNotLoadACL)!=null?a:!0,doNotLoadAllObjects:(n=t.doNotLoadAllObjects)!=null?n:!0}}onError(t){var r;((r=this.props.onError)!=null?r:console.error)(t)}get systemConfig(){return this._systemConfig}static isWeb(){return window.socketUrl!==void 0}waitForSocketLib(){return this._waitForSocketPromise?this._waitForSocketPromise:(this._waitForSocketPromise=new Promise(async(t,r)=>{if(typeof window.io=="undefined"&&typeof window.iob=="undefined")if(typeof window.registerSocketOnLoad=="function")window.registerSocketOnLoad(()=>t());else{for(let o=1;o<=30;o++){if(window.io||window.iob)return t();await LA(100)}r(new Error("Socket library could not be loaded!"))}else t()}),this._waitForSocketPromise)}async startSocket(){if(this._socket)return;let t=this.props.host,r=this.props.port,o=(this.props.protocol||window.location.protocol).replace(":",""),a=window.location.pathname;if(window.location.hostname==="iobroker.net"||window.location.hostname==="iobroker.pro")a="";else{if(window.socketUrl){let i=new URL(window.socketUrl);t=i.hostname,r=i.port,o=i.protocol.replace(":","")}let s=a.lastIndexOf("/");if(s!==-1&&(a=a.substring(0,s+1)),e.isWeb()){let i=a.split("/");i.length>2&&(i.pop(),i.pop(),hbe.includes(i[i.length-1])&&i.pop(),a=i.join("/"),a.endsWith("/")||(a+="/"))}}let n=r?`${o}://${t}:${r}`:`${o}://${t}`;return this._socket=(window.io||window.iob).connect(n,{path:a.endsWith("/")?`${a}socket.io`:`${a}/socket.io`,query:"ws=true",name:this.props.name,timeout:this.props.ioTimeout,uuid:this.props.uuid,token:this.props.token}),this._socket.on("connect",s=>{this.onReadyDone=!1,s!==!0?(this.connected=!0,setTimeout(()=>this.getVersion().then(i=>{let[p,l,d]=i.version.split(".");parseInt(p,10)*1e4+parseInt(l,10)*100+parseInt(d,10)<40102?(this._authTimer=null,this.onPreConnect(!1,!1)):this._socket.emit("authenticate",(f,c)=>this.onPreConnect(f,c))}).catch(i=>this.onError({message:i.toString(),operation:"getVersion"})),500)):this._socket.emit("authenticate",(i,p)=>{this.onPreConnect(i,p)})}),this._socket.on("reconnect",()=>{var s,i;this.onReadyDone=!1,(i=(s=this.props).onProgress)==null||i.call(s,Tn.READY),this.connected=!0,this.waitForRestart?window.location.reload():(this._subscribe(!0),this.onConnectionHandlers.forEach(p=>p(!0)))}),this._socket.on("disconnect",()=>{var s,i;this.onReadyDone=!1,this.connected=!1,this.subscribed=!1,(i=(s=this.props).onProgress)==null||i.call(s,Tn.CONNECTING),this.onConnectionHandlers.forEach(p=>p(!1))}),this._socket.on("reauthenticate",()=>this.authenticate()),this._socket.on("log",s=>{var i,p;(p=(i=this.props).onLog)==null||p.call(i,s),this.onLogHandlers.forEach(l=>l(s))}),this._socket.on("error",s=>{let i;s==null?i="":typeof s.toString=="function"?i=s.toString():(i=JSON.stringify(s),console.error(`Received strange error: ${i}`)),i.includes("User not authorized")?this.authenticate():i.includes("websocket error")?(console.error(`Socket Error => reload: ${s}`),window.location.reload()):console.error(`Socket Error: ${s}`)}),this._socket.on("connect_error",s=>console.error(`Connect error: ${s}`)),this._socket.on("permissionError",s=>this.onError({message:"no permission",operation:s.operation,type:s.type,id:s.id||""})),this._socket.on("objectChange",(s,i)=>{setTimeout(()=>this.objectChange(s,i),0)}),this._socket.on("stateChange",(s,i)=>{setTimeout(()=>this.stateChange(s,i),0)}),this._socket.on("im",(s,i,p)=>{setTimeout(()=>this.instanceMessage(s,i,p),0)}),this._socket.on("fileChange",(s,i,p)=>{setTimeout(()=>this.fileChange(s,i,p),0)}),this._socket.on("cmdStdout",(s,i)=>{var p;(p=this.onCmdStdoutHandler)==null||p.call(this,s,i)}),this._socket.on("cmdStderr",(s,i)=>{var p;(p=this.onCmdStderrHandler)==null||p.call(this,s,i)}),this._socket.on("cmdExit",(s,i)=>{var p;(p=this.onCmdExitHandler)==null||p.call(this,s,i)}),Promise.resolve()}onPreConnect(t,r){var o,a;this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this.connected=!0,this.isSecure=r,this.waitForRestart?window.location.reload():(this.firstConnect?this.loadData().catch(n=>console.error(`Cannot load data: ${n}`)):(a=(o=this.props).onProgress)==null||a.call(o,Tn.READY),this._subscribe(!0),this.onConnectionHandlers.forEach(n=>n(!0))),this._waitForFirstConnectionPromise.resolve()}static isCloud(){return window.location.hostname.includes("amazonaws.com")||window.location.hostname.includes("iobroker.in")?!0:typeof window.socketUrl=="undefined"?!1:window.socketUrl.includes("iobroker.in")||window.socketUrl.includes("amazonaws")}isConnected(){return this.connected}waitForFirstConnection(){return this._waitForFirstConnectionPromise}async getUserPermissions(){return this.request({commandTimeout:!1,executor:(t,r)=>{this._socket.emit("getUserPermissions",(o,a)=>{o?r(o):t(a)})}})}async loadData(){if(this.loaded)return;let t=10;for(let r=1;r<=t;r++){if(this.doLoadData().catch(o=>console.error(`Cannot load data: ${o}`)),this.loaded)return;await LA(e.isCloud()?5e3:1e3)}}async doLoadData(){var t,r,o,a,n,s,i,p,l;if(!this.loaded){if(!this.props.doNotLoadACL)try{this.acl=await this.getUserPermissions()}catch(d){this.onError(`Cannot read user permissions: ${d}`);return}try{this.props.admin5only&&!e.isWeb()&&(!window.vendorPrefix||window.vendorPrefix==="@@vendorPrefix@@")?this._systemConfig=await this.getCompactSystemConfig():this._systemConfig=await this.getSystemConfig()}catch(d){this.onError(`Cannot read system config: ${d}`);return}this._systemConfig&&(this.systemLang=(t=this._systemConfig.common)==null?void 0:t.language,this.systemLang||(this.systemLang=window.navigator.userLanguage||window.navigator.language,/^(en|de|ru|pt|nl|fr|it|es|pl|uk)-?/.test(this.systemLang)?this.systemLang=this.systemLang.substring(0,2):/^(en|de|ru|pt|nl|fr|it|es|pl|uk|zh-cn)$/.test(this.systemLang)||(this.systemLang="en"),this._systemConfig.common.language=this.systemLang)),(o=(r=this.props).onLanguage)==null||o.call(r,this.systemLang),this.loaded=!0,(n=(a=this.props).onProgress)==null||n.call(a,Tn.CONNECTED),this.firstConnect=!1,this.props.doNotLoadAllObjects?this.props.admin5only?this.objects={}:this.objects={"system.config":this._systemConfig}:this.objects=await this.getObjects(),(i=(s=this.props).onProgress)==null||i.call(s,Tn.READY),this.onReadyDone||(this.onReadyDone=!0,(l=(p=this.props).onReady)==null||l.call(p,this.objects))}}authenticate(){window.location.search.includes("&href=")?window.location.href=`${window.location.protocol}//${window.location.host}${window.location.pathname}${window.location.search}${window.location.hash}`:window.location.href=`${window.location.protocol}//${window.location.host}${window.location.pathname}?login&href=${window.location.search}${window.location.hash}`}async subscribeState(...t){let r,o,a;t.length===3?[r,o,a]=t:([r,a]=t,o=!1);let n;if(Array.isArray(r)?n=r:n=[r],typeof a!="function")throw new Error("The state change handler must be a function!");let s=[];for(let i=0;ii.includes("*"))){let i;for(let p=0;pconsole.error(`Cannot call state change handler: ${f}`))}}}else try{let i=await(e.isWeb()?this.getStates(n):this.getForeignStates(n));if(i)for(let[p,l]of Object.entries(i)){let d=a(p,l);d instanceof Promise&&d.catch(u=>console.error(`Cannot call state change handler: ${u}`))}}catch(i){console.error(`Cannot getState "${n.join(", ")}": ${i.message}`);return}}async subscribeStateAsync(t,r){return this.subscribeState(t,r)}unsubscribeState(t,r){var n;let o;Array.isArray(t)?o=t:o=[t];let a=[];for(let s=0;s{try{let d=l(t,r,o);d instanceof Promise&&d.catch(u=>console.error(`Cannot call object change handler: ${u}`))}catch(d){console.error(`Error by callback of objectChange: ${d}`)}});if(a){let i=(s=(n=this.props).onObjectChange)==null?void 0:s.call(n,t,r);i instanceof Promise&&i.catch(p=>console.error(`Cannot call object change handler: ${p}`))}}stateChange(t,r){for(let o of Object.values(this.statesSubscribes))if(o.reg.test(t))for(let a of o.cbs)try{let n=a(t,r!=null?r:null);n instanceof Promise&&n.catch(s=>console.error(`Cannot call state change handler: ${s}`))}catch(n){console.error(`Error by callback of stateChanged: ${n}`)}}instanceMessage(t,r,o){var a;(a=this._instanceSubscriptions[r])==null||a.forEach(n=>{if(n.messageType===t){let s=n.callback(o,r,t);s instanceof Promise&&s.catch(i=>console.error(`Cannot call instance message handler: ${i}`))}})}fileChange(t,r,o){for(let a of Object.values(this.filesSubscribes))if(a.regId.test(t)&&a.regFilePattern.test(r))for(let n of a.cbs)try{n(t,r,o)}catch(s){console.error(`Error by callback of fileChange: ${s}`)}}async subscribeFiles(t,r,o){if(typeof o!="function")throw new Error("The state change handler must be a function!");let a;Array.isArray(r)?a=r:a=[r];let n=[];for(let s=0;s{let u={elapsed:!1,clearTimeout:()=>{}},f;o!==!1&&(f=setTimeout(()=>{u.elapsed=!0,a==null||a(),t&&this._promises[t]instanceof Promise&&delete this._promises[t],d(new Error(Po.TIMEOUT))},o!=null?o:this.props.cmdTimeout),u.clearTimeout=()=>{clearTimeout(f)});try{await i(l,d,u)}catch(c){t&&this._promises[t]instanceof Promise&&delete this._promises[t],d(new Error(c.toString()))}});return t&&(this._promises[t]=p),p}resetCache(t,r){r?Object.keys(this._promises).filter(o=>o.startsWith(t)).forEach(o=>{delete this._promises[o]}):delete this._promises[t]}getStates(t){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("getStates",t,(a,n)=>{this.states=n!=null?n:{},a?o(a):r(this.states)})}})}getState(t){return this.request({commandTimeout:!1,executor:(r,o)=>{if(t&&t===this.ignoreState){r(this.simStates[t]||{val:null,ack:!0});return}this._socket.emit("getState",t,(a,n)=>{a?o(a):r(n)})}})}getBinaryState(t){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("getBinaryState",t,(a,n)=>{a?o(a):r(n)})}})}setBinaryState(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("setBinaryState",t,r,n=>{n?a(n):o()})}})}setState(t,r,o){return typeof o=="boolean"&&(r={val:r,ack:o}),this.request({commandTimeout:!1,executor:(a,n)=>{if(t&&t===this.ignoreState){let s;if(typeof o=="boolean"||typeof r=="object"&&r.val!==void 0?s=r:s={val:r,ack:!1,ts:Date.now(),lc:Date.now(),from:"system.adapter.vis.0"},this.simStates[t]=s,this.statesSubscribes[t])for(let i of this.statesSubscribes[t].cbs)try{let p=i(t,s);p instanceof Promise&&p.catch(l=>console.error(`Cannot call state change handler: ${l}`))}catch(p){console.error(`Error by callback of stateChanged: ${p}`)}a();return}this._socket.emit("setState",t,r,s=>{s?n(s):a()})}})}getObjects(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{if(!t&&this.objects){o(this.objects);return}this._socket.emit(e.isWeb()?"getObjects":"getAllObjects",(n,s)=>{var i,p;r||(p=(i=this.props).onProgress)==null||p.call(i,Tn.OBJECTS_LOADED),n?a(n):(this.objects=s!=null?s:{},o(this.objects))})}})}getObjectsById(t){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("getObjects",t,(a,n)=>{a?o(a):r(n)})}})}_subscribe(t){var r,o;if(t&&!this.subscribed){this.subscribed=!0,(r=this.props.autoSubscribes)!=null&&r.length&&this._socket.emit("subscribeObjects",this.props.autoSubscribes);let a=Object.keys(this.objectsSubscribes);a.length&&this._socket.emit("subscribeObjects",a),Object.keys(this.objectsSubscribes).forEach(n=>this._socket.emit("subscribeObjects",n)),this.props.autoSubscribeLog&&this._socket.emit("requireLog",!0),Object.keys(this.statesSubscribes).forEach(n=>this._socket.emit("subscribe",n)),Object.keys(this.filesSubscribes).forEach(n=>{let[s,i]=n.split("$%$");this._socket.emit("subscribeFiles",s,i)})}else if(!t&&this.subscribed){this.subscribed=!1,(o=this.props.autoSubscribes)!=null&&o.length&&this._socket.emit("unsubscribeObjects",this.props.autoSubscribes);let a=Object.keys(this.objectsSubscribes);a.length&&this._socket.emit("unsubscribeObjects",a),this.props.autoSubscribeLog&&this._socket.emit("requireLog",!1),Object.keys(this.statesSubscribes).forEach(n=>this._socket.emit("unsubscribe",n)),Object.keys(this.filesSubscribes).forEach(n=>{let[s,i]=n.split("$%$");this._socket.emit("unsubscribeFiles",s,i)})}}requireLog(t){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("requireLog",t,a=>{a?o(a):r()})}})}delObject(t,r=!1){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("delObject",t,{maintenance:r},n=>{n?a(n):o()})}})}delObjects(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("delObjects",t,{maintenance:r},n=>{n?a(n):o()})}})}setObject(t,r){return r?(r=JSON.parse(JSON.stringify(r)),delete r.from,delete r.user,delete r.ts,this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("setObject",t,r,n=>{n?a(n):o()})}})):Promise.reject(new Error("Null object is not allowed"))}getObject(t){return this.request({commandTimeout:!1,executor:(r,o)=>{if(t&&t===this.ignoreState){r({_id:this.ignoreState,type:"state",common:{name:"ignored state",type:"mixed"}});return}this._socket.emit("getObject",t,(a,n)=>{a?o(a):r(n)})}})}sendTo(t,r,o){return this.request({commandTimeout:!1,executor:a=>{this._socket.emit("sendTo",t,r,o,n=>{a(n)})}})}extendObject(t,r){return r?(r=JSON.parse(JSON.stringify(r)),delete r.from,delete r.user,delete r.ts,this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("extendObject",t,r,n=>{n?a(n):o()})}})):Promise.reject(new Error("Null object is not allowed"))}registerLogHandler(t){this.onLogHandlers.includes(t)||this.onLogHandlers.push(t)}unregisterLogHandler(t){let r=this.onLogHandlers.indexOf(t);r!==-1&&this.onLogHandlers.splice(r,1)}registerConnectionHandler(t){this.onConnectionHandlers.includes(t)||this.onConnectionHandlers.push(t)}unregisterConnectionHandler(t){let r=this.onConnectionHandlers.indexOf(t);r!==-1&&this.onConnectionHandlers.splice(r,1)}registerCmdStdoutHandler(t){this.onCmdStdoutHandler=t}unregisterCmdStdoutHandler(){this.onCmdStdoutHandler=void 0}registerCmdStderrHandler(t){this.onCmdStderrHandler=t}unregisterCmdStderrHandler(){this.onCmdStderrHandler=void 0}registerCmdExitHandler(t){this.onCmdExitHandler=t}unregisterCmdExitHandler(){this.onCmdExitHandler=void 0}getEnums(t,r){return this.request({cacheKey:`enums_${t||"all"}`,forceUpdate:r,commandTimeout:!1,executor:(o,a)=>{this._socket.emit("getObjectView","system","enum",{startkey:`enum.${t||""}`,endkey:t?`enum.${t}.\u9999`:"enum.\u9999"},(n,s)=>{if(n)a(n);else{let i={};if(s)for(let p=0;p{o=o||"",a=a||"\u9999",this._socket.emit("getObjectView",t,r,{startkey:o,endkey:a},(i,p)=>{if(i)s(i);else{let l={};if(p&&p.rows)for(let d=0;d{this._socket.emit("getObjectView","system","meta",{startkey:"",endkey:"\u9999"},(o,a)=>{var n;o?r(o):t((n=a.rows)==null?void 0:n.map(s=>s.value).filter(s=>!!s))})}})}readDir(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("readDir",t,r,(n,s)=>{n?a(n):o(s)})}})}readFile(t,r,o){return this.request({commandTimeout:!1,executor:(a,n)=>{this._socket.emit(o?"readFile64":"readFile",t,r,(s,i,p)=>{s?n(s):a({file:i,mimeType:p})})}})}writeFile64(t,r,o){return this.request({commandTimeout:!1,executor:(a,n)=>{if(typeof o=="string")this._socket.emit("writeFile",t,r,o,s=>{s?n(s):a()});else{let s=btoa(new Uint8Array(o).reduce((i,p)=>i+String.fromCharCode(p),""));this._socket.emit("writeFile64",t,r,s,i=>{i?n(i):a()})}}})}deleteFile(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("deleteFile",t,r,n=>{n?a(n):o()})}})}deleteFolder(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("deleteFolder",t,r,n=>{n?a(n):o()})}})}rename(t,r,o){return this.request({commandTimeout:!1,executor:(a,n)=>{this._socket.emit("rename",t,r,o,s=>{s?n(s):a()})}})}renameFile(t,r,o){return this.request({commandTimeout:!1,executor:(a,n)=>{this._socket.emit("renameFile",t,r,o,s=>{s?n(s):a()})}})}cmdExec(t,r,o,a){return this.request({commandTimeout:a,executor:(n,s,i)=>{t=ii(t),this._socket.emit("cmdExec",t,o,r,p=>{i.elapsed||(i.clearTimeout(),p?s(p):n())})}})}getSystemConfig(t){return this.request({cacheKey:"systemConfig",forceUpdate:t,commandTimeout:!1,executor:async r=>{var a,n;let o=await this.getObject("system.config");o!=null||(o={}),(a=o.common)!=null||(o.common={}),(n=o.native)!=null||(o.native={}),r(o)}})}getCompactSystemConfig(t){return this.request({cacheKey:"systemConfigCommon",forceUpdate:t,commandTimeout:!1,requireAdmin:!0,executor:(r,o)=>{this._socket.emit("getCompactSystemConfig",(a,n)=>{var s,i;a?o(a):(n!=null||(n={}),(s=n.common)!=null||(n.common={}),(i=n.native)!=null||(n.native={}),r(n))})}})}getForeignStates(t){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("getForeignStates",t||"*",(a,n)=>{a?o(a):r(n!=null?n:{})})}})}getForeignObjects(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("getForeignObjects",t||"*",r,(n,s)=>{n?a(n):o(s)})}})}setSystemConfig(t){return this.setObject("system.config",t)}getRawSocket(){return this._socket}getHistory(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("getHistory",t,r,(n,s)=>{n?a(n):o(s)})}})}getHistoryEx(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("getHistory",t,r,(n,s,i,p)=>{n?a(n):o({values:s,sessionId:p,stepIgnore:i})})}})}getIpAddresses(t,r){return t=ii(t),this.request({cacheKey:`IPs_${t}`,forceUpdate:r,commandTimeout:!1,executor:async o=>{var n;let a=await this.getObject(t);o((n=a==null?void 0:a.common.address)!=null?n:[])}})}getVersion(t){return this.request({cacheKey:"version",forceUpdate:t,commandTimeout:!1,executor:(r,o)=>{this._socket.emit("getVersion",(a,n,s)=>{a&&!n&&typeof a=="string"&&a.match(/\d+\.\d+\.\d+/)?r({version:a,serverName:"socketio"}):a?o(a):r({version:n,serverName:s})})}})}getWebServerName(){return this.request({cacheKey:"webName",commandTimeout:!1,executor:(t,r)=>{this._socket.emit("getAdapterName",(o,a)=>{o?r(o):t(a)})}})}fileExists(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("fileExists",t,r,(n,s)=>{n?a(n):o(!!s)})}})}getCurrentUser(){return this.request({commandTimeout:!1,executor:t=>{this._socket.emit("authEnabled",(r,o)=>{t(o)})}})}getUuid(){return this.request({cacheKey:"uuid",commandTimeout:!1,executor:async t=>{var o;let r=await this.getObject("system.meta.uuid");t((o=r==null?void 0:r.native)==null?void 0:o.uuid)}})}checkFeatureSupported(t,r){return this.request({cacheKey:`supportedFeatures_${t}`,forceUpdate:r,commandTimeout:!1,executor:(o,a)=>{this._socket.emit("checkFeatureSupported",t,(n,s)=>{n?a(n):o(s)})}})}getAdapterInstances(t,r){return typeof t=="boolean"&&(r=t,t=""),t=t||"",this.request({cacheKey:`instances_${t}`,forceUpdate:r,commandTimeout:!1,executor:async o=>{let a=t?`system.adapter.${t}.`:"system.adapter.",n=`${a}\u9999`,s=await this.getObjectViewSystem("instance",a,n),i=Object.values(s);o(t?i.filter(p=>p.common.name===t):i)}})}getAdapters(t,r){return typeof t=="boolean"&&(r=t,t=""),t=t||"",this.request({cacheKey:`adapter_${t}`,forceUpdate:r,commandTimeout:!1,executor:async o=>{let a=await this.getObjectViewSystem("adapter",`system.adapter.${t||""}`,`system.adapter.${t||"\u9999"}`),n=Object.values(a);o(t?n.filter(s=>s.common.name===t):n)}})}getGroups(t){return this.request({cacheKey:"groups",forceUpdate:t,commandTimeout:!1,executor:(r,o)=>{this._socket.emit("getObjectView","system","group",{startkey:"system.group.",endkey:"system.group.\u9999"},(a,n)=>{a?o(a):r(zb(n))})}})}logout(){return this.request({commandTimeout:!1,executor:(t,r)=>{this._socket.emit("logout",o=>{o?r(o):t(null)})}})}subscribeOnInstance(t,r,o,a){return this.request({commandTimeout:!1,executor:(n,s)=>{this._socket.emit("clientSubscribe",t,r,o,(i,p)=>{i?s(i):p&&(p.error?s(p.error):(t.startsWith("system.adapter.")||(t=`system.adapter.${t}`),this._instanceSubscriptions[t]=this._instanceSubscriptions[t]||[],this._instanceSubscriptions[t].find(l=>l.messageType===r&&l.callback===a)||this._instanceSubscriptions[t].push({messageType:r,callback:a}),n(p)))})}})}unsubscribeFromInstance(t,r,o){var s;t.startsWith("system.adapter.")||(t=`system.adapter.${t}`);let a,n=[];do{a=!1;let i=(s=this._instanceSubscriptions[t])==null?void 0:s.findIndex(p=>(!r||p.messageType===r)&&(!o||p.callback===o));if(i!=null&&i!==-1){a=!0;let p=this._instanceSubscriptions[t][i].messageType;this._instanceSubscriptions[t].splice(i,1),this._instanceSubscriptions[t].length||delete this._instanceSubscriptions[t],this._instanceSubscriptions[t]&&this._instanceSubscriptions[t].find(d=>d.messageType===p)||n.push(this.request({commandTimeout:!1,executor:(d,u)=>{this._socket.emit("clientUnsubscribe",t,r,(f,c)=>f?u(f):d(c))}}))}}while(a&&(!o||!r));return n.length?Promise.all(n).then(i=>!!i.find(p=>p)):Promise.resolve(!1)}log(t,r){return t?this.request({commandTimeout:!1,executor:o=>(this._socket.emit("log",t,r),o(null))}):Promise.resolve(null)}setStateToIgnore(t){this.ignoreState=t}};function xbe(e,t){if(!t)return;let r;if(t.length<700&&(t.indexOf("/")!==-1||t.indexOf("\\")!==-1))if(e.toLowerCase().includes("private"))r="private";else if(t.toLowerCase().includes("private"))r="private";else if(e.toLowerCase().includes("public"))r="public";else if(t.toLowerCase().includes("public"))r="public";else if(e.toLowerCase().includes("chain"))r="chained";else if(t.toLowerCase().includes("chain"))r="chained";else return;else r=t.substring(0,26)==="-----BEGIN RSA PRIVATE KEY"||t.substring(0,22)==="-----BEGIN PRIVATE KEY"?"private":"public",r==="public"&&t.split("-----END CERTIFICATE-----").filter(a=>a.replace(/\r\n|\r|\n/,"").trim()).length>1&&(r="chained");return{name:e,type:r}}function gbe(e){var o,a;let t=[{name:"[IPv4] 0.0.0.0 - Listen on all IPs",address:"0.0.0.0",family:"ipv4"}],r=[{name:"[IPv6] :: - Listen on all IPs",address:"::",family:"ipv6"}];if((a=(o=e.native)==null?void 0:o.hardware)!=null&&a.networkInterfaces){for(let[n,s]of Object.entries(e.native.hardware.networkInterfaces))if(s)for(let i of s)i.family!=="IPv6"?t.push({name:`[${i.family}] ${i.address} - ${n}`,address:i.address,family:"ipv4"}):r.push({name:`[${i.family}] ${i.address} - ${n}`,address:i.address,family:"ipv6"})}return{IPs4:t,IPs6:r}}var Vf=class extends li{constructor(t){super(t)}request(t){return super.request({requireAdmin:!0,...t})}getCertificates(t){return this.request({cacheKey:"cert",forceUpdate:t,commandTimeout:!1,executor:async r=>{var a;let o=await this.getObject("system.certificates");(a=o==null?void 0:o.native)!=null&&a.certificates?r(Object.entries(o.native.certificates).map(([n,s])=>xbe(n,s)).filter(n=>!!n)):r([])}})}getLogs(t,r=200){return this.request({commandTimeout:!1,executor:o=>{this._socket.emit("sendToHost",t,"getLogs",r||200,a=>{o(a)})}})}upgradeAdapterWithWebserver(t,r){return this.request({commandTimeout:!1,executor:o=>{this._socket.emit("sendToHost",t,"upgradeAdapterWithWebserver",r,a=>{o(a)})}})}upgradeController(t,r,o){return this.request({commandTimeout:!1,executor:(a,n)=>{this._socket.emit("sendToHost",t,"upgradeController",{version:r,adminInstance:o},s=>{let i=s;i.error?n(i.error):a(i.result)})}})}updateLicenses(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("updateLicenses",t,r,(n,s)=>{n?a(n):o(s)})}})}upgradeOsPackages(t,r,o){return this.request({commandTimeout:!1,executor:a=>{this._socket.emit("sendToHost",t,"upgradeOsPackages",{packages:r,restart:!!o},n=>{a(n)})}})}getLogsFiles(t){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("readLogs",t,(a,n)=>{a&&o(a),r(n)})}})}delLogs(t){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("sendToHost",t,"delLogs",null,a=>{a&&o(a),r()})}})}deleteFile(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("deleteFile",t,r,n=>{n&&a(n),o()})}})}deleteFolder(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("deleteFolder",t,r,n=>{n&&a(n),o()})}})}rename(t,r,o){return this.request({commandTimeout:!1,executor:(a,n)=>{this._socket.emit("rename",t,r,o,s=>{s&&n(s),a()})}})}renameFile(t,r,o){return this.request({commandTimeout:!1,executor:(a,n)=>{this._socket.emit("renameFile",t,r,o,s=>{s&&n(s),a()})}})}getHosts(t){return this.request({cacheKey:"hosts",forceUpdate:t,commandTimeout:!1,executor:(r,o)=>{this._socket.emit("getObjectView","system","host",{startkey:"system.host.",endkey:"system.host.\u9999"},(a,n)=>{a?o(a):r(zb(n))})}})}getUsers(t){return this.request({cacheKey:"users",forceUpdate:t,commandTimeout:!1,executor:(r,o)=>{this._socket.emit("getObjectView","system","user",{startkey:"system.user.",endkey:"system.user.\u9999"},(a,n)=>{a?o(a):r(zb(n))})}})}renameGroup(t,r,o){return this.request({commandTimeout:!1,executor:async a=>{var p;let n=await this.getGroups(!0),s=n.filter(l=>l._id.startsWith(`${t}.`));for(let l of s){let d=l._id,u=r+l._id.substring(t.length);l._id=u,await this.setObject(u,l),await this.delObject(d)}let i=n.find(l=>l._id===t);if(i){let l=i._id;i._id=r,o!==void 0&&((p=i.common)!=null||(i.common={}),i.common.name=o),await this.setObject(r,i),await this.delObject(l)}a()}})}getHostInfo(t,r,o){return t=ii(t),this.request({cacheKey:`hostInfo_${t}`,forceUpdate:r,commandTimeout:o,executor:(a,n,s)=>{this._socket.emit("sendToHost",t,"getHostInfo",null,i=>{s.elapsed||(s.clearTimeout(),i===Po.PERMISSION_ERROR?n('May not read "getHostInfo"'):i?a(i):n('Cannot read "getHostInfo"'))})}})}getHostInfoShort(t,r,o){return t=ii(t),this.request({cacheKey:`hostInfoShort_${t}`,forceUpdate:r,commandTimeout:o,executor:(a,n,s)=>{this._socket.emit("sendToHost",t,"getHostInfoShort",null,i=>{s.elapsed||(s.clearTimeout(),i===Po.PERMISSION_ERROR?n('May not read "getHostInfoShort"'):i?a(i):n('Cannot read "getHostInfoShort"'))})}})}getRepository(t,r,o,a){return this.request({cacheKey:`repository_${t}`,forceUpdate:o,commandTimeout:a,executor:(n,s,i)=>{this._socket.emit("sendToHost",t,"getRepository",r,p=>{i.elapsed||(i.clearTimeout(),p===Po.PERMISSION_ERROR?s('May not read "getRepository"'):p?n(p):s('Cannot read "getRepository"'))})}})}getInstalled(t,r,o){return t=ii(t),this.request({cacheKey:`installed_${t}`,forceUpdate:r,commandTimeout:o,executor:(a,n,s)=>{this._socket.emit("sendToHost",t,"getInstalled",null,i=>{s.elapsed||(s.clearTimeout(),i===Po.PERMISSION_ERROR?n('May not read "getInstalled"'):i?a(i):n('Cannot read "getInstalled"'))})}})}cmdExec(t,r,o,a){return this.request({commandTimeout:a,executor:(n,s,i)=>{t=ii(t),this._socket.emit("cmdExec",t,o,r,p=>{i.elapsed||(i.clearTimeout(),p&&s(p),n())})}})}readBaseSettings(t){return t=Ih(t),this.request({requireFeatures:["CONTROLLER_READWRITE_BASE_SETTINGS"],executor:(r,o,a)=>{this._socket.emit("sendToHost",t,"readBaseSettings",null,n=>{a.elapsed||(a.clearTimeout(),n===Po.PERMISSION_ERROR?o('May not read "BaseSettings"'):n?n.error?o(new Error(n.error)):r(n):o('Cannot read "BaseSettings"'))})}})}writeBaseSettings(t,r){return t=Ih(t),this.request({requireFeatures:["CONTROLLER_READWRITE_BASE_SETTINGS"],executor:(o,a,n)=>{this._socket.emit("sendToHost",t,"writeBaseSettings",r,s=>{n.elapsed||(n.clearTimeout(),s===Po.PERMISSION_ERROR?a('May not write "BaseSettings"'):s?o(s):a('Cannot write "BaseSettings"'))})}})}restartController(t){return t=Ih(t),this.request({executor:(r,o,a)=>{this._socket.emit("sendToHost",t,"restartController",null,()=>{a.elapsed||(a.clearTimeout(),r(!0))})}})}getDiagData(t,r){return t=Ih(t),this.request({executor:(o,a,n)=>{this._socket.emit("sendToHost",t,"getDiagData",r,s=>{n.elapsed||(n.clearTimeout(),o(s||null))})}})}changePassword(t,r){return this.request({executor:(o,a,n)=>{this._socket.emit("changePassword",t,r,s=>{n.elapsed||(n.clearTimeout(),s&&a(s),o())})}})}getIpAddresses(t,r){return t=ii(t),this.request({cacheKey:`IPs_${t}`,forceUpdate:r,commandTimeout:!1,executor:async o=>{var n;let a=await this.getObject(t);o((n=a==null?void 0:a.common.address)!=null?n:[])}})}getHostByIp(t,r){return t=Ih(t),this.request({cacheKey:`rIPs_${t}`,forceUpdate:r,executor:(o,a,n)=>{this._socket.emit("getHostByIp",t,(s,i)=>{if(n.elapsed)return;n.clearTimeout();let{IPs4:p,IPs6:l}=gbe(i);o([...p,...l])})}})}encrypt(t){return this.request({executor:(r,o,a)=>{this._socket.emit("encrypt",t,(n,s)=>{a.elapsed||(a.clearTimeout(),n&&o(n),r(s))})}})}decrypt(t){return this.request({executor:(r,o,a)=>{this._socket.emit("decrypt",t,(n,s)=>{a.elapsed||(a.clearTimeout(),n&&o(n),r(s))})}})}chmodFile(t,r,o){return this.request({executor:(a,n,s)=>{this._socket.emit("chmodFile",t,r,o,(i,p)=>{s.elapsed||(s.clearTimeout(),i&&n(i),a(p))})}})}chownFile(t,r,o){return this.request({executor:(a,n,s)=>{this._socket.emit("chownFile",t,r,o,(i,p)=>{s.elapsed||(s.clearTimeout(),i&&n(i),a(p))})}})}getNotifications(t,r){return this.request({executor:(o,a,n)=>{this._socket.emit("sendToHost",t,"getNotifications",{category:r},s=>{n.elapsed||(n.clearTimeout(),o(s))})}})}clearNotifications(t,r){return this.request({executor:(o,a,n)=>{this._socket.emit("sendToHost",t,"clearNotifications",{category:r},s=>{n.elapsed||(n.clearTimeout(),o(s))})}})}getIsEasyModeStrict(){return this.request({executor:(t,r,o)=>{this._socket.emit("getIsEasyModeStrict",(a,n)=>{o.elapsed||(o.clearTimeout(),a&&r(a),t(!!n))})}})}getEasyMode(){return this.request({executor:(t,r,o)=>{this._socket.emit("getEasyMode",(a,n)=>{o.elapsed||(o.clearTimeout(),a?r(new Error(a)):t(n))})}})}getRatings(t){return this.request({executor:(r,o,a)=>{this._socket.emit("getRatings",!!t,(n,s)=>{a.elapsed||(a.clearTimeout(),n?o(new Error(n)):r(s))})}})}getCurrentSession(t){let r=new AbortController;return this.request({commandTimeout:t||5e3,onTimeout:()=>{r.abort()},executor:async(o,a,n)=>{try{let s=await fetch("./session",{signal:r.signal});if(n.elapsed)return;n.clearTimeout(),o(s.json())}catch(s){a(`getCurrentSession: ${s}`)}}})}getCurrentInstance(){return this.request({cacheKey:"currentInstance",executor:(t,r,o)=>{this._socket.emit("getCurrentInstance",(a,n)=>{o.elapsed||(o.clearTimeout(),a&&r(a),t(n))})}})}getAdapterInstances(t,r){let o;return typeof t=="boolean"?(r=t,o=""):o=t||"",this.request({cacheKey:`instances_${o}`,forceUpdate:r,executor:(a,n,s)=>{this._socket.emit("getAdapterInstances",o,(i,p)=>{s.elapsed||(s.clearTimeout(),i&&n(i),a(p))})}})}getAdapters(t,r){let o;return typeof t=="boolean"?(r=t,o=""):o=t||"",this.request({cacheKey:`adapter_${o}`,forceUpdate:r,executor:(a,n,s)=>{this._socket.emit("getAdapters",o,(i,p)=>{s.elapsed||(s.clearTimeout(),i&&n(i),a(p))})}})}getCompactAdapters(t){return this.request({cacheKey:"compactAdapters",forceUpdate:t,executor:(r,o,a)=>{this._socket.emit("getCompactAdapters",(n,s)=>{a.elapsed||(a.clearTimeout(),n&&o(n),r(s))})}})}getAdaptersResetCache(t){t=t!=null?t:"",this.resetCache(`adapter_${t}`),this.resetCache("compactAdapters")}getCompactInstances(t){return this.request({cacheKey:"compactInstances",forceUpdate:t,executor:(r,o,a)=>{this._socket.emit("getCompactInstances",(n,s)=>{a.elapsed||(a.clearTimeout(),n&&o(n),r(s))})}})}getAdapterInstancesResetCache(t){t=t!=null?t:"",this.resetCache(`instances_${t}`),this.resetCache("compactInstances")}getCompactInstalled(t,r,o){return t=ii(t),this.request({cacheKey:`installedCompact_${t}`,forceUpdate:r,commandTimeout:o,executor:(a,n,s)=>{this._socket.emit("getCompactInstalled",t,i=>{s.elapsed||(s.clearTimeout(),i===Po.PERMISSION_ERROR?n('May not read "getCompactInstalled"'):i?a(i):n('Cannot read "getCompactInstalled"'))})}})}getInstalledResetCache(t){t?(this.resetCache(`installedCompact_${t}`),this.resetCache(`installed_${t}`)):(this.resetCache("installedCompact_",!0),this.resetCache("installed_",!0))}getCompactRepository(t,r,o){return t=ii(t),this.request({cacheKey:`repositoryCompact_${t}`,forceUpdate:r,commandTimeout:o,executor:(a,n,s)=>{this._socket.emit("getCompactRepository",t,i=>{s.elapsed||(s.clearTimeout(),i===Po.PERMISSION_ERROR?n('May not read "getCompactRepository"'):i?a(i):n('Cannot read "getCompactRepository"'))})}})}getRepositoryResetCache(t){t?(this.resetCache(`repositoryCompact_${t}`),this.resetCache(`repository_${t}`)):(this.resetCache("repositoryCompact_",!0),this.resetCache("repository_",!0))}getCompactHosts(t){return this.request({cacheKey:"hostsCompact",forceUpdate:t,executor:(r,o,a)=>{this._socket.emit("getCompactHosts",(n,s)=>{a.elapsed||(a.clearTimeout(),n&&o(n),r(s))})}})}getCompactSystemRepositories(t){return this.request({cacheKey:"repositoriesCompact",forceUpdate:t,executor:(r,o,a)=>{this._socket.emit("getCompactSystemRepositories",(n,s)=>{a.elapsed||(a.clearTimeout(),n&&o(n),r(s))})}})}};var Nt=typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__;var pi="8.41.0";var at=globalThis;function wd(e,t,r){let o=r||at,a=o.__SENTRY__=o.__SENTRY__||{},n=a[pi]=a[pi]||{};return n[e]||(n[e]=t())}var Ds=typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__;var ybe="Sentry Logger ",Ub=["debug","info","warn","error","log","assert","trace"],Fh={};function Sn(e){if(!("console"in at))return e();let t=at.console,r={},o=Object.keys(Fh);o.forEach(a=>{let n=Fh[a];r[a]=t[a],t[a]=n});try{return e()}finally{o.forEach(a=>{t[a]=r[a]})}}function bbe(){let e=!1,t={enable:()=>{e=!0},disable:()=>{e=!1},isEnabled:()=>e};return Ds?Ub.forEach(r=>{t[r]=(...o)=>{e&&Sn(()=>{at.console[r](`${ybe}[${r}]:`,...o)})}}):Ub.forEach(r=>{t[r]=()=>{}}),t}var je=wd("logger",bbe);var tl="?",y8=/\(error: (.*)\)/,b8=/captureMessage|captureException/;function S_(...e){let t=e.sort((r,o)=>r[0]-o[0]).map(r=>r[1]);return(r,o=0,a=0)=>{let n=[],s=r.split(` -`);for(let i=o;i1024)continue;let l=y8.test(p)?p.replace(y8,"$1"):p;if(!l.match(/\S*Error: /)){for(let d of t){let u=d(l);if(u){n.push(u);break}}if(n.length>=50+a)break}}return v8(n.slice(a))}}function UA(e){return Array.isArray(e)?S_(...e):e}function v8(e){if(!e.length)return[];let t=Array.from(e);return/sentryWrapped/.test(T_(t).function||"")&&t.pop(),t.reverse(),b8.test(T_(t).function||"")&&(t.pop(),b8.test(T_(t).function||"")&&t.pop()),t.slice(0,50).map(r=>({...r,filename:r.filename||T_(t).filename,function:r.function||tl}))}function T_(e){return e[e.length-1]||{}}var WA="";function As(e){try{return!e||typeof e!="function"?WA:e.name||WA}catch(t){return WA}}function w_(e){let t=e.exception;if(t){let r=[];try{return t.values.forEach(o=>{o.stacktrace.frames&&r.push(...o.stacktrace.frames)}),r}catch(o){return}}}var __={},T8={};function Ga(e,t){__[e]=__[e]||[],__[e].push(t)}function qa(e,t){if(!T8[e]){T8[e]=!0;try{t()}catch(r){Ds&&je.error(`Error while instrumenting ${e}`,r)}}}function Uo(e,t){let r=e&&__[e];if(r)for(let o of r)try{o(t)}catch(a){Ds&&je.error(`Error while triggering instrumentation handler. +export default theme;`}function dne(e={},...t){let{breakpoints:r,mixins:o={},spacing:a,palette:n={},transitions:s={},typography:i={},shape:p,...l}=e;if(e.vars)throw new Error(Mo(20));let d=wu(n),u=ll(e),f=Xt(u,{mixins:Pk(u.breakpoints,o),palette:d,shadows:Mj.slice(),typography:_g(d,i),transitions:Rk(s),zIndex:{...Ij}});return f=Xt(f,l),f=t.reduce((c,h)=>Xt(c,h),f),f.unstable_sxConfig={..._s,...l==null?void 0:l.unstable_sxConfig},f.unstable_sx=function(h){return qa({sx:h,theme:this})},f.toRuntimeSource=nS,f}var Cg=dne;function Kc(e){let t;return e<1?t=5.11916*e**2:t=4.5*Math.log(e+1)+2,Math.round(t*10)/1e3}var une=[...Array(25)].map((e,t)=>{if(t===0)return"none";let r=Kc(t);return`linear-gradient(rgba(255 255 255 / ${r}), rgba(255 255 255 / ${r}))`});function Dk(e){return{inputPlaceholder:e==="dark"?.5:.42,inputUnderline:e==="dark"?.7:.42,switchTrackDisabled:e==="dark"?.2:.12,switchTrack:e==="dark"?.3:.38}}function Ak(e){return e==="dark"?une:[]}function Mk(e){let{palette:t={mode:"light"},opacity:r,overlays:o,...a}=e,n=wu(t);return{palette:n,opacity:{...Dk(n.mode),...r},overlays:o||Ak(n.mode),...a}}function Nk(e){var t;return!!e[0].match(/(cssVarPrefix|colorSchemeSelector|rootSelector|typography|mixins|breakpoints|direction|transitions)/)||!!e[0].match(/sxConfig$/)||e[0]==="palette"&&!!((t=e[1])!=null&&t.match(/(mode|contrastThreshold|tonalOffset)/))}var fne=e=>[...[...Array(25)].map((t,r)=>`--${e?`${e}-`:""}overlays-${r}`),`--${e?`${e}-`:""}palette-AppBar-darkBg`,`--${e?`${e}-`:""}palette-AppBar-darkColor`],Fj=fne;var Bj=e=>(t,r)=>{let o=e.rootSelector||":root",a=e.colorSchemeSelector,n=a;if(a==="class"&&(n=".%s"),a==="data"&&(n="[data-%s]"),a!=null&&a.startsWith("data-")&&!a.includes("%s")&&(n=`[${a}="%s"]`),e.defaultColorScheme===t){if(t==="dark"){let s={};return Fj(e.cssVarPrefix).forEach(i=>{s[i]=r[i],delete r[i]}),n==="media"?{[o]:r,"@media (prefers-color-scheme: dark)":{[o]:s}}:n?{[n.replace("%s",t)]:s,[`${o}, ${n.replace("%s",t)}`]:r}:{[o]:{...r,...s}}}if(n&&n!=="media")return`${o}, ${n.replace("%s",String(t))}`}else if(t){if(n==="media")return{[`@media (prefers-color-scheme: ${String(t)})`]:{[o]:r}};if(n)return n.replace("%s",String(t))}return o};function cne(e,t){t.forEach(r=>{e[r]||(e[r]={})})}function oe(e,t,r){!e[t]&&r&&(e[t]=r)}function Og(e){return!e||!e.startsWith("hsl")?e:HT(e)}function fl(e,t){`${t}Channel`in e||(e[`${t}Channel`]=jc(Og(e[t]),`MUI: Can't create \`palette.${t}Channel\` because \`palette.${t}\` is not one of these formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color(). +To suppress this warning, you need to explicitly provide the \`palette.${t}Channel\` as a string (in rgb format, for example "12 12 12") or undefined if you want to remove the channel token.`))}function mne(e){return typeof e=="number"?`${e}px`:typeof e=="string"||typeof e=="function"||Array.isArray(e)?e:"8px"}var bi=e=>{try{return e()}catch(t){}},hne=(e="mui")=>eS(e);function Ik(e,t,r,o){if(!t)return;t=t===!0?{}:t;let a=o==="dark"?"dark":"light";if(!r){e[o]=Mk({...t,palette:{mode:a,...t==null?void 0:t.palette}});return}let{palette:n,...s}=Cg({...r,palette:{mode:a,...t==null?void 0:t.palette}});return e[o]={...t,palette:n,opacity:{...Dk(a),...t==null?void 0:t.opacity},overlays:(t==null?void 0:t.overlays)||Ak(a)},s}function Fk(e={},...t){let{colorSchemes:r={light:!0},defaultColorScheme:o,disableCssColorScheme:a=!1,cssVarPrefix:n="mui",shouldSkipGeneratingVar:s=Nk,colorSchemeSelector:i=r.light&&r.dark?"media":void 0,rootSelector:p=":root",...l}=e,d=Object.keys(r)[0],u=o||(r.light&&d!=="light"?"light":d),f=hne(n),{[u]:c,light:h,dark:g,...m}=r,x={...m},T=c;if((u==="dark"&&!("dark"in r)||u==="light"&&!("light"in r))&&(T=!0),!T)throw new Error(Mo(21,u));let b=Ik(x,T,l,u);h&&!x.light&&Ik(x,h,void 0,"light"),g&&!x.dark&&Ik(x,g,void 0,"dark");let v={defaultColorScheme:u,...b,cssVarPrefix:n,colorSchemeSelector:i,rootSelector:p,getCssVar:f,colorSchemes:x,font:{...aS(b.typography),...b.font},spacing:mne(l.spacing)};Object.keys(v.colorSchemes).forEach(N=>{let S=v.colorSchemes[N].palette,B=G=>{let J=G.split("-"),q=J[1],j=J[2];return f(G,S[q][j])};if(S.mode==="light"&&(oe(S.common,"background","#fff"),oe(S.common,"onBackground","#000")),S.mode==="dark"&&(oe(S.common,"background","#000"),oe(S.common,"onBackground","#fff")),cne(S,["Alert","AppBar","Avatar","Button","Chip","FilledInput","LinearProgress","Skeleton","Slider","SnackbarContent","SpeedDialAction","StepConnector","StepContent","Switch","TableCell","Tooltip"]),S.mode==="light"){oe(S.Alert,"errorColor",Yt(S.error.light,.6)),oe(S.Alert,"infoColor",Yt(S.info.light,.6)),oe(S.Alert,"successColor",Yt(S.success.light,.6)),oe(S.Alert,"warningColor",Yt(S.warning.light,.6)),oe(S.Alert,"errorFilledBg",B("palette-error-main")),oe(S.Alert,"infoFilledBg",B("palette-info-main")),oe(S.Alert,"successFilledBg",B("palette-success-main")),oe(S.Alert,"warningFilledBg",B("palette-warning-main")),oe(S.Alert,"errorFilledColor",bi(()=>S.getContrastText(S.error.main))),oe(S.Alert,"infoFilledColor",bi(()=>S.getContrastText(S.info.main))),oe(S.Alert,"successFilledColor",bi(()=>S.getContrastText(S.success.main))),oe(S.Alert,"warningFilledColor",bi(()=>S.getContrastText(S.warning.main))),oe(S.Alert,"errorStandardBg",Zt(S.error.light,.9)),oe(S.Alert,"infoStandardBg",Zt(S.info.light,.9)),oe(S.Alert,"successStandardBg",Zt(S.success.light,.9)),oe(S.Alert,"warningStandardBg",Zt(S.warning.light,.9)),oe(S.Alert,"errorIconColor",B("palette-error-main")),oe(S.Alert,"infoIconColor",B("palette-info-main")),oe(S.Alert,"successIconColor",B("palette-success-main")),oe(S.Alert,"warningIconColor",B("palette-warning-main")),oe(S.AppBar,"defaultBg",B("palette-grey-100")),oe(S.Avatar,"defaultBg",B("palette-grey-400")),oe(S.Button,"inheritContainedBg",B("palette-grey-300")),oe(S.Button,"inheritContainedHoverBg",B("palette-grey-A100")),oe(S.Chip,"defaultBorder",B("palette-grey-400")),oe(S.Chip,"defaultAvatarColor",B("palette-grey-700")),oe(S.Chip,"defaultIconColor",B("palette-grey-700")),oe(S.FilledInput,"bg","rgba(0, 0, 0, 0.06)"),oe(S.FilledInput,"hoverBg","rgba(0, 0, 0, 0.09)"),oe(S.FilledInput,"disabledBg","rgba(0, 0, 0, 0.12)"),oe(S.LinearProgress,"primaryBg",Zt(S.primary.main,.62)),oe(S.LinearProgress,"secondaryBg",Zt(S.secondary.main,.62)),oe(S.LinearProgress,"errorBg",Zt(S.error.main,.62)),oe(S.LinearProgress,"infoBg",Zt(S.info.main,.62)),oe(S.LinearProgress,"successBg",Zt(S.success.main,.62)),oe(S.LinearProgress,"warningBg",Zt(S.warning.main,.62)),oe(S.Skeleton,"bg",`rgba(${B("palette-text-primaryChannel")} / 0.11)`),oe(S.Slider,"primaryTrack",Zt(S.primary.main,.62)),oe(S.Slider,"secondaryTrack",Zt(S.secondary.main,.62)),oe(S.Slider,"errorTrack",Zt(S.error.main,.62)),oe(S.Slider,"infoTrack",Zt(S.info.main,.62)),oe(S.Slider,"successTrack",Zt(S.success.main,.62)),oe(S.Slider,"warningTrack",Zt(S.warning.main,.62));let G=hg(S.background.default,.8);oe(S.SnackbarContent,"bg",G),oe(S.SnackbarContent,"color",bi(()=>S.getContrastText(G))),oe(S.SpeedDialAction,"fabHoverBg",hg(S.background.paper,.15)),oe(S.StepConnector,"border",B("palette-grey-400")),oe(S.StepContent,"border",B("palette-grey-400")),oe(S.Switch,"defaultColor",B("palette-common-white")),oe(S.Switch,"defaultDisabledColor",B("palette-grey-100")),oe(S.Switch,"primaryDisabledColor",Zt(S.primary.main,.62)),oe(S.Switch,"secondaryDisabledColor",Zt(S.secondary.main,.62)),oe(S.Switch,"errorDisabledColor",Zt(S.error.main,.62)),oe(S.Switch,"infoDisabledColor",Zt(S.info.main,.62)),oe(S.Switch,"successDisabledColor",Zt(S.success.main,.62)),oe(S.Switch,"warningDisabledColor",Zt(S.warning.main,.62)),oe(S.TableCell,"border",Zt(mg(S.divider,1),.88)),oe(S.Tooltip,"bg",mg(S.grey[700],.92))}if(S.mode==="dark"){oe(S.Alert,"errorColor",Zt(S.error.light,.6)),oe(S.Alert,"infoColor",Zt(S.info.light,.6)),oe(S.Alert,"successColor",Zt(S.success.light,.6)),oe(S.Alert,"warningColor",Zt(S.warning.light,.6)),oe(S.Alert,"errorFilledBg",B("palette-error-dark")),oe(S.Alert,"infoFilledBg",B("palette-info-dark")),oe(S.Alert,"successFilledBg",B("palette-success-dark")),oe(S.Alert,"warningFilledBg",B("palette-warning-dark")),oe(S.Alert,"errorFilledColor",bi(()=>S.getContrastText(S.error.dark))),oe(S.Alert,"infoFilledColor",bi(()=>S.getContrastText(S.info.dark))),oe(S.Alert,"successFilledColor",bi(()=>S.getContrastText(S.success.dark))),oe(S.Alert,"warningFilledColor",bi(()=>S.getContrastText(S.warning.dark))),oe(S.Alert,"errorStandardBg",Yt(S.error.light,.9)),oe(S.Alert,"infoStandardBg",Yt(S.info.light,.9)),oe(S.Alert,"successStandardBg",Yt(S.success.light,.9)),oe(S.Alert,"warningStandardBg",Yt(S.warning.light,.9)),oe(S.Alert,"errorIconColor",B("palette-error-main")),oe(S.Alert,"infoIconColor",B("palette-info-main")),oe(S.Alert,"successIconColor",B("palette-success-main")),oe(S.Alert,"warningIconColor",B("palette-warning-main")),oe(S.AppBar,"defaultBg",B("palette-grey-900")),oe(S.AppBar,"darkBg",B("palette-background-paper")),oe(S.AppBar,"darkColor",B("palette-text-primary")),oe(S.Avatar,"defaultBg",B("palette-grey-600")),oe(S.Button,"inheritContainedBg",B("palette-grey-800")),oe(S.Button,"inheritContainedHoverBg",B("palette-grey-700")),oe(S.Chip,"defaultBorder",B("palette-grey-700")),oe(S.Chip,"defaultAvatarColor",B("palette-grey-300")),oe(S.Chip,"defaultIconColor",B("palette-grey-300")),oe(S.FilledInput,"bg","rgba(255, 255, 255, 0.09)"),oe(S.FilledInput,"hoverBg","rgba(255, 255, 255, 0.13)"),oe(S.FilledInput,"disabledBg","rgba(255, 255, 255, 0.12)"),oe(S.LinearProgress,"primaryBg",Yt(S.primary.main,.5)),oe(S.LinearProgress,"secondaryBg",Yt(S.secondary.main,.5)),oe(S.LinearProgress,"errorBg",Yt(S.error.main,.5)),oe(S.LinearProgress,"infoBg",Yt(S.info.main,.5)),oe(S.LinearProgress,"successBg",Yt(S.success.main,.5)),oe(S.LinearProgress,"warningBg",Yt(S.warning.main,.5)),oe(S.Skeleton,"bg",`rgba(${B("palette-text-primaryChannel")} / 0.13)`),oe(S.Slider,"primaryTrack",Yt(S.primary.main,.5)),oe(S.Slider,"secondaryTrack",Yt(S.secondary.main,.5)),oe(S.Slider,"errorTrack",Yt(S.error.main,.5)),oe(S.Slider,"infoTrack",Yt(S.info.main,.5)),oe(S.Slider,"successTrack",Yt(S.success.main,.5)),oe(S.Slider,"warningTrack",Yt(S.warning.main,.5));let G=hg(S.background.default,.98);oe(S.SnackbarContent,"bg",G),oe(S.SnackbarContent,"color",bi(()=>S.getContrastText(G))),oe(S.SpeedDialAction,"fabHoverBg",hg(S.background.paper,.15)),oe(S.StepConnector,"border",B("palette-grey-600")),oe(S.StepContent,"border",B("palette-grey-600")),oe(S.Switch,"defaultColor",B("palette-grey-300")),oe(S.Switch,"defaultDisabledColor",B("palette-grey-600")),oe(S.Switch,"primaryDisabledColor",Yt(S.primary.main,.55)),oe(S.Switch,"secondaryDisabledColor",Yt(S.secondary.main,.55)),oe(S.Switch,"errorDisabledColor",Yt(S.error.main,.55)),oe(S.Switch,"infoDisabledColor",Yt(S.info.main,.55)),oe(S.Switch,"successDisabledColor",Yt(S.success.main,.55)),oe(S.Switch,"warningDisabledColor",Yt(S.warning.main,.55)),oe(S.TableCell,"border",Yt(mg(S.divider,1),.68)),oe(S.Tooltip,"bg",mg(S.grey[700],.92))}fl(S.background,"default"),fl(S.background,"paper"),fl(S.common,"background"),fl(S.common,"onBackground"),fl(S,"divider"),Object.keys(S).forEach(G=>{let J=S[G];J&&typeof J=="object"&&(J.main&&oe(S[G],"mainChannel",jc(Og(J.main))),J.light&&oe(S[G],"lightChannel",jc(Og(J.light))),J.dark&&oe(S[G],"darkChannel",jc(Og(J.dark))),J.contrastText&&oe(S[G],"contrastTextChannel",jc(Og(J.contrastText))),G==="text"&&(fl(S[G],"primary"),fl(S[G],"secondary")),G==="action"&&(J.active&&fl(S[G],"active"),J.selected&&fl(S[G],"selected")))})}),v=t.reduce((N,S)=>Xt(N,S),v);let w={prefix:n,disableCssColorScheme:a,shouldSkipGeneratingVar:s,getSelector:Bj(v)},{vars:O,generateThemeVars:k,generateStyleSheets:M}=kk(v,w);return v.vars=O,Object.entries(v.colorSchemes[v.defaultColorScheme]).forEach(([N,S])=>{v[N]=S}),v.generateThemeVars=k,v.generateStyleSheets=M,v.generateSpacing=function(){return Nc(l.spacing,sg(this))},v.getColorSchemeSelector=Ek(i),v.spacing=v.generateSpacing(),v.shouldSkipGeneratingVar=s,v.unstable_sxConfig={..._s,...l==null?void 0:l.unstable_sxConfig},v.unstable_sx=function(S){return qa({sx:S,theme:this})},v.toRuntimeSource=nS,v}function Lj(e,t,r){e.colorSchemes&&r&&(e.colorSchemes[t]={...r!==!0&&r,palette:wu({...r===!0?{}:r.palette,mode:t})})}function ks(e={},...t){let{palette:r,cssVariables:o=!1,colorSchemes:a=r?void 0:{light:!0},defaultColorScheme:n=r==null?void 0:r.mode,...s}=e,i=n||"light",p=a==null?void 0:a[i],l={...a,...r?{[i]:{...typeof p!="boolean"&&p,palette:r}}:void 0};if(o===!1){if(!("colorSchemes"in e))return Cg(e,...t);let d=r;"palette"in e||l[i]&&(l[i]!==!0?d=l[i].palette:i==="dark"&&(d={mode:"dark"}));let u=Cg({...e,palette:d},...t);return u.defaultColorScheme=i,u.colorSchemes=l,u.palette.mode==="light"&&(u.colorSchemes.light={...l.light!==!0&&l.light,palette:u.palette},Lj(u,"dark",l.dark)),u.palette.mode==="dark"&&(u.colorSchemes.dark={...l.dark!==!0&&l.dark,palette:u.palette},Lj(u,"light",l.light)),u}return!r&&!("light"in l)&&i==="light"&&(l.light=!0),Fk({...s,colorSchemes:l,defaultColorScheme:i,...typeof o!="boolean"&&o},...t)}var gne=y(D());var xne=ks(),_p=xne;function Zr(){let e=Kn(_p);return e[Xr]||e}function sS({props:e,name:t}){return Lc({props:e,name:t,defaultTheme:_p,themeId:Xr})}function yne(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}var iS=yne;var vne=e=>iS(e)&&e!=="classes",bt=vne;var bne=Fc({themeId:Xr,defaultTheme:_p,rootShouldForwardProp:bt}),W=bne;var rWe=y(D());var z6e=y(D());var jj=y($());function lS({theme:e,...t}){let r=Xr in e?e[Xr]:void 0;return(0,jj.jsx)(Hc,{...t,themeId:r?Xr:void 0,theme:r||e})}var G6e=y(D());var V6e=y(D());var Tne=y($()),kg={attribute:"data-mui-color-scheme",colorSchemeStorageKey:"mui-color-scheme",defaultLightColorScheme:"light",defaultDarkColorScheme:"dark",modeStorageKey:"mui-mode"};var Sne=y($()),{CssVarsProvider:wne,useColorScheme:Q6e,getInitColorSchemeScript:eWe}=QT({themeId:Xr,theme:()=>ks({cssVariables:!0}),colorSchemeStorageKey:kg.colorSchemeStorageKey,modeStorageKey:kg.modeStorageKey,defaultColorScheme:{light:kg.defaultLightColorScheme,dark:kg.defaultDarkColorScheme},resolveTheme:e=>{let t={...e,typography:_g(e.palette,e.typography)};return t.unstable_sx=function(o){return qa({sx:o,theme:this})},t}});var zj=wne;var pS=y($());function dS({theme:e,...t}){return typeof e=="function"?(0,pS.jsx)(lS,{theme:e,...t}):"colorSchemes"in(Xr in e?e[Xr]:e)?(0,pS.jsx)(zj,{theme:e,...t}):(0,pS.jsx)(lS,{theme:e,...t})}var Bk=11/23/100;function Wj(e){let t={r:0,g:0,b:0};if(e.length===7)t.r=parseInt(e.substr(1,2),16),t.g=parseInt(e.substr(3,2),16),t.b=parseInt(e.substr(5,2),16);else if(e.length===4){let r=e.substr(1,1),o=e.substr(2,1),a=e.substr(3,1);t.r=parseInt(r+r,16),t.g=parseInt(o+o,16),t.b=parseInt(a+a,16)}return t}function _ne(e){return`#${Math.round(e.r).toString(16)}${Math.round(e.g).toString(16)}${Math.round(e.b).toString(16)}`}function Cne(e,t,r){let o=Wj(e),a=Wj(t);return o.r+=a.r*(.05+Bk*(r-1)),o.g+=a.g*(.05+Bk*(r-1)),o.b+=a.b*(.05+Bk*(r-1)),_ne(o)}function Uj(e,t){let r={};for(let o=1;o<=24;o++)r[`elevation${o}`]={backgroundColor:Cne(e,t,o)};return r}function cl(e,t){var s,i,p,l,d,u,f,c,h,g,m;let r,o;e==="dark"?(o={MuiAppBar:{colorDefault:{backgroundColor:"#272727"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:so[200],"&:hover":{color:so[100]}}},MuiPaper:Uj("#121212","#fff")},r={name:e,palette:{mode:"dark",background:{paper:"#121212",default:"#121212"},primary:{main:"#4dabf5"},secondary:{main:"#436a93"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):e==="blue"?(o={MuiAppBar:{colorDefault:{backgroundColor:"#3399CC"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:so[400],"&:hover":{color:so[300]}}}},r={name:e,palette:{mode:"dark",background:{paper:"#151d21",default:"#151d21"},primary:{main:"#4dabf5"},secondary:{main:"#436a93"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):e==="colored"?(o={MuiAppBar:{colorDefault:{backgroundColor:"#2a3135"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:so[200],"&:hover":{color:so[100]}}},MuiPaper:Uj("#151d21","#fff")},r={name:e,palette:{mode:"light",primary:{main:"#3399CC"},secondary:{main:"#164477"},expert:"#96fc96"}}):e==="PT"?(o={MuiAppBar:{colorDefault:{backgroundColor:"#0F99DE"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:so[400],"&:hover":{color:so[300]}}}},r={name:e,palette:{mode:"light",primary:{main:"#0F99DE"},secondary:{main:"#88A536"},expert:"#BD1B24"}}):e==="DX"?(o={MuiAppBar:{colorDefault:{backgroundColor:"#a9a9a9"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:so[400],"&:hover":{color:so[300]}}}},r={name:e,palette:{mode:"light",primary:{main:"#F5F5F7"},secondary:{main:"#a9a9a9"},expert:"#BD1B24",text:{primary:"#007AFE",secondary:"#007AFE",disabled:"#007AFEAA"}}}):(o={MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:so[400],"&:hover":{color:so[300]}}}},r={name:e,palette:{mode:"light",primary:{main:"#3399CC",dark:"#256c97",light:"#76d0fd"},secondary:{main:"#164477"},expert:"#14bb00"}}),r.toolbar={height:48},r.saveToolbar={background:(i=(s=r.palette)==null?void 0:s.primary)==null?void 0:i.main,button:{borderRadius:3,height:32}},r.palette&&(r.palette.grey={main:qc[300],dark:qc[400]});let a=ks(r),n=a.palette;return ks(a,{...t||void 0,components:{...o,MuiButton:{variants:[{props:{variant:"contained",color:"grey"},style:{backgroundColor:(p=n.grey)==null?void 0:p[300],color:n.getContrastText&&((l=n.grey)!=null&&l[300])?n.getContrastText(n.grey[300]):void 0}},{props:{variant:"outlined",color:"grey"},style:{color:(d=n.text)==null?void 0:d.primary,borderColor:n.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)","&.Mui-disabled":{border:`1px solid ${(u=n.action)==null?void 0:u.disabledBackground}`},"&:hover":{borderColor:n.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)",backgroundColor:st(((f=n.text)==null?void 0:f.primary)||"",((c=n.action)==null?void 0:c.hoverOpacity)||.04)}}},{props:{variant:"text",color:"grey"},style:{color:(h=n.text)==null?void 0:h.primary,"&:hover":{backgroundColor:st(((g=n.text)==null?void 0:g.primary)||"",((m=n.action)==null?void 0:m.hoverOpacity)||.04)}}}]},...(t==null?void 0:t.components)||void 0}})}var Aa=y(D());function Hj(){let e,t,r=new Promise((o,a)=>{e=o,t=a});return r.resolve=e,r.reject=t,r}function Eg(e){var t;return(t=e==null?void 0:e.rows.map(r=>r.value).filter(r=>!!r))!=null?t:[]}function Es(e){return e!=null&&e.startsWith("system.host.")||(e=`system.host.${e}`),e}function Jc(e){return e!=null&&e.startsWith("system.host.")&&(e=e.substring(12)),e}function Lk(e){return new Promise(t=>{setTimeout(t,e)})}function Pg(e){e=(e||"").toString();let t=e[0]==="*",r=e[e.length-1]==="*";return e=e.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(t?"":"^")+e+(r?"":"$")}var Ja;(function(e){e[e.CONNECTING=0]="CONNECTING",e[e.CONNECTED=1]="CONNECTED",e[e.OBJECTS_LOADED=2]="OBJECTS_LOADED",e[e.READY=3]="READY"})(Ja||(Ja={}));var io;(function(e){e.PERMISSION_ERROR="permissionError",e.NOT_CONNECTED="notConnectedError",e.TIMEOUT="timeout",e.NOT_ADMIN="Allowed only in admin",e.NOT_SUPPORTED="Not supported"})(io||(io={}));var jk=io.PERMISSION_ERROR,One=io.NOT_CONNECTED,kne=["material","echarts","vis"],Ps=class e{constructor(t){A(this,"props");A(this,"ignoreState","");A(this,"connected",!1);A(this,"subscribed",!1);A(this,"firstConnect",!0);A(this,"waitForRestart",!1);A(this,"loaded",!1);A(this,"simStates",{});A(this,"statesSubscribes",{});A(this,"filesSubscribes",{});A(this,"objectsSubscribes",{});A(this,"objects",{});A(this,"states",{});A(this,"acl",null);A(this,"isSecure",!1);A(this,"onReadyDone",!1);A(this,"onConnectionHandlers",[]);A(this,"onLogHandlers",[]);A(this,"onCmdStdoutHandler");A(this,"onCmdStderrHandler");A(this,"onCmdExitHandler");A(this,"_socket");A(this,"_waitForSocketPromise");A(this,"_waitForFirstConnectionPromise",Hj());A(this,"_instanceSubscriptions",{});A(this,"_promises",{});A(this,"_authTimer");A(this,"_systemConfig");A(this,"systemLang","en");this.props=this.applyDefaultProps(t),this.waitForSocketLib().then(()=>this.startSocket()).catch(r=>{alert(`Socket connection could not be initialized: ${r}`)})}applyDefaultProps(t){var r,o,a,n;return{...t,protocol:t.protocol||window.location.protocol,host:t.host||window.location.hostname,port:t.port||(window.location.port==="3000"?8081:window.location.port),ioTimeout:Math.max(t.ioTimeout||2e4,2e4),cmdTimeout:Math.max(t.cmdTimeout||5e3,5e3),admin5only:t.admin5only||!1,autoSubscribes:(r=t.autoSubscribes)!=null?r:[],autoSubscribeLog:(o=t.autoSubscribeLog)!=null?o:!1,doNotLoadACL:(a=t.doNotLoadACL)!=null?a:!0,doNotLoadAllObjects:(n=t.doNotLoadAllObjects)!=null?n:!0}}onError(t){var r;((r=this.props.onError)!=null?r:console.error)(t)}get systemConfig(){return this._systemConfig}static isWeb(){return window.socketUrl!==void 0}waitForSocketLib(){return this._waitForSocketPromise?this._waitForSocketPromise:(this._waitForSocketPromise=new Promise(async(t,r)=>{if(typeof window.io=="undefined"&&typeof window.iob=="undefined")if(typeof window.registerSocketOnLoad=="function")window.registerSocketOnLoad(()=>t());else{for(let o=1;o<=30;o++){if(window.io||window.iob)return t();await Lk(100)}r(new Error("Socket library could not be loaded!"))}else t()}),this._waitForSocketPromise)}async startSocket(){if(this._socket)return;let t=this.props.host,r=this.props.port,o=(this.props.protocol||window.location.protocol).replace(":",""),a=window.location.pathname;if(window.location.hostname==="iobroker.net"||window.location.hostname==="iobroker.pro")a="";else{if(window.socketUrl){let i=new URL(window.socketUrl);t=i.hostname,r=i.port,o=i.protocol.replace(":","")}let s=a.lastIndexOf("/");if(s!==-1&&(a=a.substring(0,s+1)),e.isWeb()){let i=a.split("/");i.length>2&&(i.pop(),i.pop(),kne.includes(i[i.length-1])&&i.pop(),a=i.join("/"),a.endsWith("/")||(a+="/"))}}let n=r?`${o}://${t}:${r}`:`${o}://${t}`;return this._socket=(window.io||window.iob).connect(n,{path:a.endsWith("/")?`${a}socket.io`:`${a}/socket.io`,query:"ws=true",name:this.props.name,timeout:this.props.ioTimeout,uuid:this.props.uuid,token:this.props.token}),this._socket.on("connect",s=>{this.onReadyDone=!1,s!==!0?(this.connected=!0,setTimeout(()=>this.getVersion().then(i=>{let[p,l,d]=i.version.split(".");parseInt(p,10)*1e4+parseInt(l,10)*100+parseInt(d,10)<40102?(this._authTimer=null,this.onPreConnect(!1,!1)):this._socket.emit("authenticate",(f,c)=>this.onPreConnect(f,c))}).catch(i=>this.onError({message:i.toString(),operation:"getVersion"})),500)):this._socket.emit("authenticate",(i,p)=>{this.onPreConnect(i,p)})}),this._socket.on("reconnect",()=>{var s,i;this.onReadyDone=!1,(i=(s=this.props).onProgress)==null||i.call(s,Ja.READY),this.connected=!0,this.waitForRestart?window.location.reload():(this._subscribe(!0),this.onConnectionHandlers.forEach(p=>p(!0)))}),this._socket.on("disconnect",()=>{var s,i;this.onReadyDone=!1,this.connected=!1,this.subscribed=!1,(i=(s=this.props).onProgress)==null||i.call(s,Ja.CONNECTING),this.onConnectionHandlers.forEach(p=>p(!1))}),this._socket.on("reauthenticate",()=>this.authenticate()),this._socket.on("log",s=>{var i,p;(p=(i=this.props).onLog)==null||p.call(i,s),this.onLogHandlers.forEach(l=>l(s))}),this._socket.on("error",s=>{let i;s==null?i="":typeof s.toString=="function"?i=s.toString():(i=JSON.stringify(s),console.error(`Received strange error: ${i}`)),i.includes("User not authorized")?this.authenticate():i.includes("websocket error")?(console.error(`Socket Error => reload: ${s}`),window.location.reload()):console.error(`Socket Error: ${s}`)}),this._socket.on("connect_error",s=>console.error(`Connect error: ${s}`)),this._socket.on("permissionError",s=>this.onError({message:"no permission",operation:s.operation,type:s.type,id:s.id||""})),this._socket.on("objectChange",(s,i)=>{setTimeout(()=>this.objectChange(s,i),0)}),this._socket.on("stateChange",(s,i)=>{setTimeout(()=>this.stateChange(s,i),0)}),this._socket.on("im",(s,i,p)=>{setTimeout(()=>this.instanceMessage(s,i,p),0)}),this._socket.on("fileChange",(s,i,p)=>{setTimeout(()=>this.fileChange(s,i,p),0)}),this._socket.on("cmdStdout",(s,i)=>{var p;(p=this.onCmdStdoutHandler)==null||p.call(this,s,i)}),this._socket.on("cmdStderr",(s,i)=>{var p;(p=this.onCmdStderrHandler)==null||p.call(this,s,i)}),this._socket.on("cmdExit",(s,i)=>{var p;(p=this.onCmdExitHandler)==null||p.call(this,s,i)}),Promise.resolve()}onPreConnect(t,r){var o,a;this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this.connected=!0,this.isSecure=r,this.waitForRestart?window.location.reload():(this.firstConnect?this.loadData().catch(n=>console.error(`Cannot load data: ${n}`)):(a=(o=this.props).onProgress)==null||a.call(o,Ja.READY),this._subscribe(!0),this.onConnectionHandlers.forEach(n=>n(!0))),this._waitForFirstConnectionPromise.resolve()}static isCloud(){return window.location.hostname.includes("amazonaws.com")||window.location.hostname.includes("iobroker.in")?!0:typeof window.socketUrl=="undefined"?!1:window.socketUrl.includes("iobroker.in")||window.socketUrl.includes("amazonaws")}isConnected(){return this.connected}waitForFirstConnection(){return this._waitForFirstConnectionPromise}async getUserPermissions(){return this.request({commandTimeout:!1,executor:(t,r)=>{this._socket.emit("getUserPermissions",(o,a)=>{o?r(o):t(a)})}})}async loadData(){if(this.loaded)return;let t=10;for(let r=1;r<=t;r++){if(this.doLoadData().catch(o=>console.error(`Cannot load data: ${o}`)),this.loaded)return;await Lk(e.isCloud()?5e3:1e3)}}async doLoadData(){var t,r,o,a,n,s,i,p,l;if(!this.loaded){if(!this.props.doNotLoadACL)try{this.acl=await this.getUserPermissions()}catch(d){this.onError(`Cannot read user permissions: ${d}`);return}try{this.props.admin5only&&!e.isWeb()&&(!window.vendorPrefix||window.vendorPrefix==="@@vendorPrefix@@")?this._systemConfig=await this.getCompactSystemConfig():this._systemConfig=await this.getSystemConfig()}catch(d){this.onError(`Cannot read system config: ${d}`);return}this._systemConfig&&(this.systemLang=(t=this._systemConfig.common)==null?void 0:t.language,this.systemLang||(this.systemLang=window.navigator.userLanguage||window.navigator.language,/^(en|de|ru|pt|nl|fr|it|es|pl|uk)-?/.test(this.systemLang)?this.systemLang=this.systemLang.substring(0,2):/^(en|de|ru|pt|nl|fr|it|es|pl|uk|zh-cn)$/.test(this.systemLang)||(this.systemLang="en"),this._systemConfig.common.language=this.systemLang)),(o=(r=this.props).onLanguage)==null||o.call(r,this.systemLang),this.loaded=!0,(n=(a=this.props).onProgress)==null||n.call(a,Ja.CONNECTED),this.firstConnect=!1,this.props.doNotLoadAllObjects?this.props.admin5only?this.objects={}:this.objects={"system.config":this._systemConfig}:this.objects=await this.getObjects(),(i=(s=this.props).onProgress)==null||i.call(s,Ja.READY),this.onReadyDone||(this.onReadyDone=!0,(l=(p=this.props).onReady)==null||l.call(p,this.objects))}}authenticate(){window.location.search.includes("&href=")?window.location.href=`${window.location.protocol}//${window.location.host}${window.location.pathname}${window.location.search}${window.location.hash}`:window.location.href=`${window.location.protocol}//${window.location.host}${window.location.pathname}?login&href=${window.location.search}${window.location.hash}`}async subscribeState(...t){let r,o,a;t.length===3?[r,o,a]=t:([r,a]=t,o=!1);let n;if(Array.isArray(r)?n=r:n=[r],typeof a!="function")throw new Error("The state change handler must be a function!");let s=[];for(let i=0;ii.includes("*"))){let i;for(let p=0;pconsole.error(`Cannot call state change handler: ${f}`))}}}else try{let i=await(e.isWeb()?this.getStates(n):this.getForeignStates(n));if(i)for(let[p,l]of Object.entries(i)){let d=a(p,l);d instanceof Promise&&d.catch(u=>console.error(`Cannot call state change handler: ${u}`))}}catch(i){console.error(`Cannot getState "${n.join(", ")}": ${i.message}`);return}}async subscribeStateAsync(t,r){return this.subscribeState(t,r)}unsubscribeState(t,r){var n;let o;Array.isArray(t)?o=t:o=[t];let a=[];for(let s=0;s{try{let d=l(t,r,o);d instanceof Promise&&d.catch(u=>console.error(`Cannot call object change handler: ${u}`))}catch(d){console.error(`Error by callback of objectChange: ${d}`)}});if(a){let i=(s=(n=this.props).onObjectChange)==null?void 0:s.call(n,t,r);i instanceof Promise&&i.catch(p=>console.error(`Cannot call object change handler: ${p}`))}}stateChange(t,r){for(let o of Object.values(this.statesSubscribes))if(o.reg.test(t))for(let a of o.cbs)try{let n=a(t,r!=null?r:null);n instanceof Promise&&n.catch(s=>console.error(`Cannot call state change handler: ${s}`))}catch(n){console.error(`Error by callback of stateChanged: ${n}`)}}instanceMessage(t,r,o){var a;(a=this._instanceSubscriptions[r])==null||a.forEach(n=>{if(n.messageType===t){let s=n.callback(o,r,t);s instanceof Promise&&s.catch(i=>console.error(`Cannot call instance message handler: ${i}`))}})}fileChange(t,r,o){for(let a of Object.values(this.filesSubscribes))if(a.regId.test(t)&&a.regFilePattern.test(r))for(let n of a.cbs)try{n(t,r,o)}catch(s){console.error(`Error by callback of fileChange: ${s}`)}}async subscribeFiles(t,r,o){if(typeof o!="function")throw new Error("The state change handler must be a function!");let a;Array.isArray(r)?a=r:a=[r];let n=[];for(let s=0;s{let u={elapsed:!1,clearTimeout:()=>{}},f;o!==!1&&(f=setTimeout(()=>{u.elapsed=!0,a==null||a(),t&&this._promises[t]instanceof Promise&&delete this._promises[t],d(new Error(io.TIMEOUT))},o!=null?o:this.props.cmdTimeout),u.clearTimeout=()=>{clearTimeout(f)});try{await i(l,d,u)}catch(c){t&&this._promises[t]instanceof Promise&&delete this._promises[t],d(new Error(c.toString()))}});return t&&(this._promises[t]=p),p}resetCache(t,r){r?Object.keys(this._promises).filter(o=>o.startsWith(t)).forEach(o=>{delete this._promises[o]}):delete this._promises[t]}getStates(t){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("getStates",t,(a,n)=>{this.states=n!=null?n:{},a?o(a):r(this.states)})}})}getState(t){return this.request({commandTimeout:!1,executor:(r,o)=>{if(t&&t===this.ignoreState){r(this.simStates[t]||{val:null,ack:!0});return}this._socket.emit("getState",t,(a,n)=>{a?o(a):r(n)})}})}getBinaryState(t){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("getBinaryState",t,(a,n)=>{a?o(a):r(n)})}})}setBinaryState(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("setBinaryState",t,r,n=>{n?a(n):o()})}})}setState(t,r,o){return typeof o=="boolean"&&(r={val:r,ack:o}),this.request({commandTimeout:!1,executor:(a,n)=>{if(t&&t===this.ignoreState){let s;if(typeof o=="boolean"||typeof r=="object"&&r.val!==void 0?s=r:s={val:r,ack:!1,ts:Date.now(),lc:Date.now(),from:"system.adapter.vis.0"},this.simStates[t]=s,this.statesSubscribes[t])for(let i of this.statesSubscribes[t].cbs)try{let p=i(t,s);p instanceof Promise&&p.catch(l=>console.error(`Cannot call state change handler: ${l}`))}catch(p){console.error(`Error by callback of stateChanged: ${p}`)}a();return}this._socket.emit("setState",t,r,s=>{s?n(s):a()})}})}getObjects(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{if(!t&&this.objects){o(this.objects);return}this._socket.emit(e.isWeb()?"getObjects":"getAllObjects",(n,s)=>{var i,p;r||(p=(i=this.props).onProgress)==null||p.call(i,Ja.OBJECTS_LOADED),n?a(n):(this.objects=s!=null?s:{},o(this.objects))})}})}getObjectsById(t){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("getObjects",t,(a,n)=>{a?o(a):r(n)})}})}_subscribe(t){var r,o;if(t&&!this.subscribed){this.subscribed=!0,(r=this.props.autoSubscribes)!=null&&r.length&&this._socket.emit("subscribeObjects",this.props.autoSubscribes);let a=Object.keys(this.objectsSubscribes);a.length&&this._socket.emit("subscribeObjects",a),Object.keys(this.objectsSubscribes).forEach(n=>this._socket.emit("subscribeObjects",n)),this.props.autoSubscribeLog&&this._socket.emit("requireLog",!0),Object.keys(this.statesSubscribes).forEach(n=>this._socket.emit("subscribe",n)),Object.keys(this.filesSubscribes).forEach(n=>{let[s,i]=n.split("$%$");this._socket.emit("subscribeFiles",s,i)})}else if(!t&&this.subscribed){this.subscribed=!1,(o=this.props.autoSubscribes)!=null&&o.length&&this._socket.emit("unsubscribeObjects",this.props.autoSubscribes);let a=Object.keys(this.objectsSubscribes);a.length&&this._socket.emit("unsubscribeObjects",a),this.props.autoSubscribeLog&&this._socket.emit("requireLog",!1),Object.keys(this.statesSubscribes).forEach(n=>this._socket.emit("unsubscribe",n)),Object.keys(this.filesSubscribes).forEach(n=>{let[s,i]=n.split("$%$");this._socket.emit("unsubscribeFiles",s,i)})}}requireLog(t){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("requireLog",t,a=>{a?o(a):r()})}})}delObject(t,r=!1){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("delObject",t,{maintenance:r},n=>{n?a(n):o()})}})}delObjects(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("delObjects",t,{maintenance:r},n=>{n?a(n):o()})}})}setObject(t,r){return r?(r=JSON.parse(JSON.stringify(r)),delete r.from,delete r.user,delete r.ts,this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("setObject",t,r,n=>{n?a(n):o()})}})):Promise.reject(new Error("Null object is not allowed"))}getObject(t){return this.request({commandTimeout:!1,executor:(r,o)=>{if(t&&t===this.ignoreState){r({_id:this.ignoreState,type:"state",common:{name:"ignored state",type:"mixed"}});return}this._socket.emit("getObject",t,(a,n)=>{a?o(a):r(n)})}})}sendTo(t,r,o){return this.request({commandTimeout:!1,executor:a=>{this._socket.emit("sendTo",t,r,o,n=>{a(n)})}})}extendObject(t,r){return r?(r=JSON.parse(JSON.stringify(r)),delete r.from,delete r.user,delete r.ts,this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("extendObject",t,r,n=>{n?a(n):o()})}})):Promise.reject(new Error("Null object is not allowed"))}registerLogHandler(t){this.onLogHandlers.includes(t)||this.onLogHandlers.push(t)}unregisterLogHandler(t){let r=this.onLogHandlers.indexOf(t);r!==-1&&this.onLogHandlers.splice(r,1)}registerConnectionHandler(t){this.onConnectionHandlers.includes(t)||this.onConnectionHandlers.push(t)}unregisterConnectionHandler(t){let r=this.onConnectionHandlers.indexOf(t);r!==-1&&this.onConnectionHandlers.splice(r,1)}registerCmdStdoutHandler(t){this.onCmdStdoutHandler=t}unregisterCmdStdoutHandler(){this.onCmdStdoutHandler=void 0}registerCmdStderrHandler(t){this.onCmdStderrHandler=t}unregisterCmdStderrHandler(){this.onCmdStderrHandler=void 0}registerCmdExitHandler(t){this.onCmdExitHandler=t}unregisterCmdExitHandler(){this.onCmdExitHandler=void 0}getEnums(t,r){return this.request({cacheKey:`enums_${t||"all"}`,forceUpdate:r,commandTimeout:!1,executor:(o,a)=>{this._socket.emit("getObjectView","system","enum",{startkey:`enum.${t||""}`,endkey:t?`enum.${t}.\u9999`:"enum.\u9999"},(n,s)=>{if(n)a(n);else{let i={};if(s)for(let p=0;p{o=o||"",a=a||"\u9999",this._socket.emit("getObjectView",t,r,{startkey:o,endkey:a},(i,p)=>{if(i)s(i);else{let l={};if(p&&p.rows)for(let d=0;d{this._socket.emit("getObjectView","system","meta",{startkey:"",endkey:"\u9999"},(o,a)=>{var n;o?r(o):t((n=a.rows)==null?void 0:n.map(s=>s.value).filter(s=>!!s))})}})}readDir(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("readDir",t,r,(n,s)=>{n?a(n):o(s)})}})}readFile(t,r,o){return this.request({commandTimeout:!1,executor:(a,n)=>{this._socket.emit(o?"readFile64":"readFile",t,r,(s,i,p)=>{s?n(s):a({file:i,mimeType:p})})}})}writeFile64(t,r,o){return this.request({commandTimeout:!1,executor:(a,n)=>{if(typeof o=="string")this._socket.emit("writeFile",t,r,o,s=>{s?n(s):a()});else{let s=btoa(new Uint8Array(o).reduce((i,p)=>i+String.fromCharCode(p),""));this._socket.emit("writeFile64",t,r,s,i=>{i?n(i):a()})}}})}deleteFile(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("deleteFile",t,r,n=>{n?a(n):o()})}})}deleteFolder(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("deleteFolder",t,r,n=>{n?a(n):o()})}})}rename(t,r,o){return this.request({commandTimeout:!1,executor:(a,n)=>{this._socket.emit("rename",t,r,o,s=>{s?n(s):a()})}})}renameFile(t,r,o){return this.request({commandTimeout:!1,executor:(a,n)=>{this._socket.emit("renameFile",t,r,o,s=>{s?n(s):a()})}})}cmdExec(t,r,o,a){return this.request({commandTimeout:a,executor:(n,s,i)=>{t=Es(t),this._socket.emit("cmdExec",t,o,r,p=>{i.elapsed||(i.clearTimeout(),p?s(p):n())})}})}getSystemConfig(t){return this.request({cacheKey:"systemConfig",forceUpdate:t,commandTimeout:!1,executor:async r=>{var a,n;let o=await this.getObject("system.config");o!=null||(o={}),(a=o.common)!=null||(o.common={}),(n=o.native)!=null||(o.native={}),r(o)}})}getCompactSystemConfig(t){return this.request({cacheKey:"systemConfigCommon",forceUpdate:t,commandTimeout:!1,requireAdmin:!0,executor:(r,o)=>{this._socket.emit("getCompactSystemConfig",(a,n)=>{var s,i;a?o(a):(n!=null||(n={}),(s=n.common)!=null||(n.common={}),(i=n.native)!=null||(n.native={}),r(n))})}})}getForeignStates(t){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("getForeignStates",t||"*",(a,n)=>{a?o(a):r(n!=null?n:{})})}})}getForeignObjects(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("getForeignObjects",t||"*",r,(n,s)=>{n?a(n):o(s)})}})}setSystemConfig(t){return this.setObject("system.config",t)}getRawSocket(){return this._socket}getHistory(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("getHistory",t,r,(n,s)=>{n?a(n):o(s)})}})}getHistoryEx(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("getHistory",t,r,(n,s,i,p)=>{n?a(n):o({values:s,sessionId:p,stepIgnore:i})})}})}getIpAddresses(t,r){return t=Es(t),this.request({cacheKey:`IPs_${t}`,forceUpdate:r,commandTimeout:!1,executor:async o=>{var n;let a=await this.getObject(t);o((n=a==null?void 0:a.common.address)!=null?n:[])}})}getVersion(t){return this.request({cacheKey:"version",forceUpdate:t,commandTimeout:!1,executor:(r,o)=>{this._socket.emit("getVersion",(a,n,s)=>{a&&!n&&typeof a=="string"&&a.match(/\d+\.\d+\.\d+/)?r({version:a,serverName:"socketio"}):a?o(a):r({version:n,serverName:s})})}})}getWebServerName(){return this.request({cacheKey:"webName",commandTimeout:!1,executor:(t,r)=>{this._socket.emit("getAdapterName",(o,a)=>{o?r(o):t(a)})}})}fileExists(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("fileExists",t,r,(n,s)=>{n?a(n):o(!!s)})}})}getCurrentUser(){return this.request({commandTimeout:!1,executor:t=>{this._socket.emit("authEnabled",(r,o)=>{t(o)})}})}getUuid(){return this.request({cacheKey:"uuid",commandTimeout:!1,executor:async t=>{var o;let r=await this.getObject("system.meta.uuid");t((o=r==null?void 0:r.native)==null?void 0:o.uuid)}})}checkFeatureSupported(t,r){return this.request({cacheKey:`supportedFeatures_${t}`,forceUpdate:r,commandTimeout:!1,executor:(o,a)=>{this._socket.emit("checkFeatureSupported",t,(n,s)=>{n?a(n):o(s)})}})}getAdapterInstances(t,r){return typeof t=="boolean"&&(r=t,t=""),t=t||"",this.request({cacheKey:`instances_${t}`,forceUpdate:r,commandTimeout:!1,executor:async o=>{let a=t?`system.adapter.${t}.`:"system.adapter.",n=`${a}\u9999`,s=await this.getObjectViewSystem("instance",a,n),i=Object.values(s);o(t?i.filter(p=>p.common.name===t):i)}})}getAdapters(t,r){return typeof t=="boolean"&&(r=t,t=""),t=t||"",this.request({cacheKey:`adapter_${t}`,forceUpdate:r,commandTimeout:!1,executor:async o=>{let a=await this.getObjectViewSystem("adapter",`system.adapter.${t||""}`,`system.adapter.${t||"\u9999"}`),n=Object.values(a);o(t?n.filter(s=>s.common.name===t):n)}})}getGroups(t){return this.request({cacheKey:"groups",forceUpdate:t,commandTimeout:!1,executor:(r,o)=>{this._socket.emit("getObjectView","system","group",{startkey:"system.group.",endkey:"system.group.\u9999"},(a,n)=>{a?o(a):r(Eg(n))})}})}logout(){return this.request({commandTimeout:!1,executor:(t,r)=>{this._socket.emit("logout",o=>{o?r(o):t(null)})}})}subscribeOnInstance(t,r,o,a){return this.request({commandTimeout:!1,executor:(n,s)=>{this._socket.emit("clientSubscribe",t,r,o,(i,p)=>{i?s(i):p&&(p.error?s(p.error):(t.startsWith("system.adapter.")||(t=`system.adapter.${t}`),this._instanceSubscriptions[t]=this._instanceSubscriptions[t]||[],this._instanceSubscriptions[t].find(l=>l.messageType===r&&l.callback===a)||this._instanceSubscriptions[t].push({messageType:r,callback:a}),n(p)))})}})}unsubscribeFromInstance(t,r,o){var s;t.startsWith("system.adapter.")||(t=`system.adapter.${t}`);let a,n=[];do{a=!1;let i=(s=this._instanceSubscriptions[t])==null?void 0:s.findIndex(p=>(!r||p.messageType===r)&&(!o||p.callback===o));if(i!=null&&i!==-1){a=!0;let p=this._instanceSubscriptions[t][i].messageType;this._instanceSubscriptions[t].splice(i,1),this._instanceSubscriptions[t].length||delete this._instanceSubscriptions[t],this._instanceSubscriptions[t]&&this._instanceSubscriptions[t].find(d=>d.messageType===p)||n.push(this.request({commandTimeout:!1,executor:(d,u)=>{this._socket.emit("clientUnsubscribe",t,r,(f,c)=>f?u(f):d(c))}}))}}while(a&&(!o||!r));return n.length?Promise.all(n).then(i=>!!i.find(p=>p)):Promise.resolve(!1)}log(t,r){return t?this.request({commandTimeout:!1,executor:o=>(this._socket.emit("log",t,r),o(null))}):Promise.resolve(null)}setStateToIgnore(t){this.ignoreState=t}};function Ene(e,t){if(!t)return;let r;if(t.length<700&&(t.indexOf("/")!==-1||t.indexOf("\\")!==-1))if(e.toLowerCase().includes("private"))r="private";else if(t.toLowerCase().includes("private"))r="private";else if(e.toLowerCase().includes("public"))r="public";else if(t.toLowerCase().includes("public"))r="public";else if(e.toLowerCase().includes("chain"))r="chained";else if(t.toLowerCase().includes("chain"))r="chained";else return;else r=t.substring(0,26)==="-----BEGIN RSA PRIVATE KEY"||t.substring(0,22)==="-----BEGIN PRIVATE KEY"?"private":"public",r==="public"&&t.split("-----END CERTIFICATE-----").filter(a=>a.replace(/\r\n|\r|\n/,"").trim()).length>1&&(r="chained");return{name:e,type:r}}function Pne(e){var o,a;let t=[{name:"[IPv4] 0.0.0.0 - Listen on all IPs",address:"0.0.0.0",family:"ipv4"}],r=[{name:"[IPv6] :: - Listen on all IPs",address:"::",family:"ipv6"}];if((a=(o=e.native)==null?void 0:o.hardware)!=null&&a.networkInterfaces){for(let[n,s]of Object.entries(e.native.hardware.networkInterfaces))if(s)for(let i of s)i.family!=="IPv6"?t.push({name:`[${i.family}] ${i.address} - ${n}`,address:i.address,family:"ipv4"}):r.push({name:`[${i.family}] ${i.address} - ${n}`,address:i.address,family:"ipv6"})}return{IPs4:t,IPs6:r}}var _u=class extends Ps{constructor(t){super(t)}request(t){return super.request({requireAdmin:!0,...t})}getCertificates(t){return this.request({cacheKey:"cert",forceUpdate:t,commandTimeout:!1,executor:async r=>{var a;let o=await this.getObject("system.certificates");(a=o==null?void 0:o.native)!=null&&a.certificates?r(Object.entries(o.native.certificates).map(([n,s])=>Ene(n,s)).filter(n=>!!n)):r([])}})}getLogs(t,r=200){return this.request({commandTimeout:!1,executor:o=>{this._socket.emit("sendToHost",t,"getLogs",r||200,a=>{o(a)})}})}upgradeAdapterWithWebserver(t,r){return this.request({commandTimeout:!1,executor:o=>{this._socket.emit("sendToHost",t,"upgradeAdapterWithWebserver",r,a=>{o(a)})}})}upgradeController(t,r,o){return this.request({commandTimeout:!1,executor:(a,n)=>{this._socket.emit("sendToHost",t,"upgradeController",{version:r,adminInstance:o},s=>{let i=s;i.error?n(i.error):a(i.result)})}})}updateLicenses(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("updateLicenses",t,r,(n,s)=>{n?a(n):o(s)})}})}upgradeOsPackages(t,r,o){return this.request({commandTimeout:!1,executor:a=>{this._socket.emit("sendToHost",t,"upgradeOsPackages",{packages:r,restart:!!o},n=>{a(n)})}})}getLogsFiles(t){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("readLogs",t,(a,n)=>{a&&o(a),r(n)})}})}delLogs(t){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("sendToHost",t,"delLogs",null,a=>{a&&o(a),r()})}})}deleteFile(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("deleteFile",t,r,n=>{n&&a(n),o()})}})}deleteFolder(t,r){return this.request({commandTimeout:!1,executor:(o,a)=>{this._socket.emit("deleteFolder",t,r,n=>{n&&a(n),o()})}})}rename(t,r,o){return this.request({commandTimeout:!1,executor:(a,n)=>{this._socket.emit("rename",t,r,o,s=>{s&&n(s),a()})}})}renameFile(t,r,o){return this.request({commandTimeout:!1,executor:(a,n)=>{this._socket.emit("renameFile",t,r,o,s=>{s&&n(s),a()})}})}getHosts(t){return this.request({cacheKey:"hosts",forceUpdate:t,commandTimeout:!1,executor:(r,o)=>{this._socket.emit("getObjectView","system","host",{startkey:"system.host.",endkey:"system.host.\u9999"},(a,n)=>{a?o(a):r(Eg(n))})}})}getUsers(t){return this.request({cacheKey:"users",forceUpdate:t,commandTimeout:!1,executor:(r,o)=>{this._socket.emit("getObjectView","system","user",{startkey:"system.user.",endkey:"system.user.\u9999"},(a,n)=>{a?o(a):r(Eg(n))})}})}renameGroup(t,r,o){return this.request({commandTimeout:!1,executor:async a=>{var p;let n=await this.getGroups(!0),s=n.filter(l=>l._id.startsWith(`${t}.`));for(let l of s){let d=l._id,u=r+l._id.substring(t.length);l._id=u,await this.setObject(u,l),await this.delObject(d)}let i=n.find(l=>l._id===t);if(i){let l=i._id;i._id=r,o!==void 0&&((p=i.common)!=null||(i.common={}),i.common.name=o),await this.setObject(r,i),await this.delObject(l)}a()}})}getHostInfo(t,r,o){return t=Es(t),this.request({cacheKey:`hostInfo_${t}`,forceUpdate:r,commandTimeout:o,executor:(a,n,s)=>{this._socket.emit("sendToHost",t,"getHostInfo",null,i=>{s.elapsed||(s.clearTimeout(),i===io.PERMISSION_ERROR?n('May not read "getHostInfo"'):i?a(i):n('Cannot read "getHostInfo"'))})}})}getHostInfoShort(t,r,o){return t=Es(t),this.request({cacheKey:`hostInfoShort_${t}`,forceUpdate:r,commandTimeout:o,executor:(a,n,s)=>{this._socket.emit("sendToHost",t,"getHostInfoShort",null,i=>{s.elapsed||(s.clearTimeout(),i===io.PERMISSION_ERROR?n('May not read "getHostInfoShort"'):i?a(i):n('Cannot read "getHostInfoShort"'))})}})}getRepository(t,r,o,a){return this.request({cacheKey:`repository_${t}`,forceUpdate:o,commandTimeout:a,executor:(n,s,i)=>{this._socket.emit("sendToHost",t,"getRepository",r,p=>{i.elapsed||(i.clearTimeout(),p===io.PERMISSION_ERROR?s('May not read "getRepository"'):p?n(p):s('Cannot read "getRepository"'))})}})}getInstalled(t,r,o){return t=Es(t),this.request({cacheKey:`installed_${t}`,forceUpdate:r,commandTimeout:o,executor:(a,n,s)=>{this._socket.emit("sendToHost",t,"getInstalled",null,i=>{s.elapsed||(s.clearTimeout(),i===io.PERMISSION_ERROR?n('May not read "getInstalled"'):i?a(i):n('Cannot read "getInstalled"'))})}})}cmdExec(t,r,o,a){return this.request({commandTimeout:a,executor:(n,s,i)=>{t=Es(t),this._socket.emit("cmdExec",t,o,r,p=>{i.elapsed||(i.clearTimeout(),p&&s(p),n())})}})}readBaseSettings(t){return t=Jc(t),this.request({requireFeatures:["CONTROLLER_READWRITE_BASE_SETTINGS"],executor:(r,o,a)=>{this._socket.emit("sendToHost",t,"readBaseSettings",null,n=>{a.elapsed||(a.clearTimeout(),n===io.PERMISSION_ERROR?o('May not read "BaseSettings"'):n?n.error?o(new Error(n.error)):r(n):o('Cannot read "BaseSettings"'))})}})}writeBaseSettings(t,r){return t=Jc(t),this.request({requireFeatures:["CONTROLLER_READWRITE_BASE_SETTINGS"],executor:(o,a,n)=>{this._socket.emit("sendToHost",t,"writeBaseSettings",r,s=>{n.elapsed||(n.clearTimeout(),s===io.PERMISSION_ERROR?a('May not write "BaseSettings"'):s?o(s):a('Cannot write "BaseSettings"'))})}})}restartController(t){return t=Jc(t),this.request({executor:(r,o,a)=>{this._socket.emit("sendToHost",t,"restartController",null,()=>{a.elapsed||(a.clearTimeout(),r(!0))})}})}getDiagData(t,r){return t=Jc(t),this.request({executor:(o,a,n)=>{this._socket.emit("sendToHost",t,"getDiagData",r,s=>{n.elapsed||(n.clearTimeout(),o(s||null))})}})}changePassword(t,r){return this.request({executor:(o,a,n)=>{this._socket.emit("changePassword",t,r,s=>{n.elapsed||(n.clearTimeout(),s&&a(s),o())})}})}getIpAddresses(t,r){return t=Es(t),this.request({cacheKey:`IPs_${t}`,forceUpdate:r,commandTimeout:!1,executor:async o=>{var n;let a=await this.getObject(t);o((n=a==null?void 0:a.common.address)!=null?n:[])}})}getHostByIp(t,r){return t=Jc(t),this.request({cacheKey:`rIPs_${t}`,forceUpdate:r,executor:(o,a,n)=>{this._socket.emit("getHostByIp",t,(s,i)=>{if(n.elapsed)return;n.clearTimeout();let{IPs4:p,IPs6:l}=Pne(i);o([...p,...l])})}})}encrypt(t){return this.request({executor:(r,o,a)=>{this._socket.emit("encrypt",t,(n,s)=>{a.elapsed||(a.clearTimeout(),n&&o(n),r(s))})}})}decrypt(t){return this.request({executor:(r,o,a)=>{this._socket.emit("decrypt",t,(n,s)=>{a.elapsed||(a.clearTimeout(),n&&o(n),r(s))})}})}chmodFile(t,r,o){return this.request({executor:(a,n,s)=>{this._socket.emit("chmodFile",t,r,o,(i,p)=>{s.elapsed||(s.clearTimeout(),i&&n(i),a(p))})}})}chownFile(t,r,o){return this.request({executor:(a,n,s)=>{this._socket.emit("chownFile",t,r,o,(i,p)=>{s.elapsed||(s.clearTimeout(),i&&n(i),a(p))})}})}getNotifications(t,r){return this.request({executor:(o,a,n)=>{this._socket.emit("sendToHost",t,"getNotifications",{category:r},s=>{n.elapsed||(n.clearTimeout(),o(s))})}})}clearNotifications(t,r){return this.request({executor:(o,a,n)=>{this._socket.emit("sendToHost",t,"clearNotifications",{category:r},s=>{n.elapsed||(n.clearTimeout(),o(s))})}})}getIsEasyModeStrict(){return this.request({executor:(t,r,o)=>{this._socket.emit("getIsEasyModeStrict",(a,n)=>{o.elapsed||(o.clearTimeout(),a&&r(a),t(!!n))})}})}getEasyMode(){return this.request({executor:(t,r,o)=>{this._socket.emit("getEasyMode",(a,n)=>{o.elapsed||(o.clearTimeout(),a?r(new Error(a)):t(n))})}})}getRatings(t){return this.request({executor:(r,o,a)=>{this._socket.emit("getRatings",!!t,(n,s)=>{a.elapsed||(a.clearTimeout(),n?o(new Error(n)):r(s))})}})}getCurrentSession(t){let r=new AbortController;return this.request({commandTimeout:t||5e3,onTimeout:()=>{r.abort()},executor:async(o,a,n)=>{try{let s=await fetch("./session",{signal:r.signal});if(n.elapsed)return;n.clearTimeout(),o(s.json())}catch(s){a(`getCurrentSession: ${s}`)}}})}getCurrentInstance(){return this.request({cacheKey:"currentInstance",executor:(t,r,o)=>{this._socket.emit("getCurrentInstance",(a,n)=>{o.elapsed||(o.clearTimeout(),a&&r(a),t(n))})}})}getAdapterInstances(t,r){let o;return typeof t=="boolean"?(r=t,o=""):o=t||"",this.request({cacheKey:`instances_${o}`,forceUpdate:r,executor:(a,n,s)=>{this._socket.emit("getAdapterInstances",o,(i,p)=>{s.elapsed||(s.clearTimeout(),i&&n(i),a(p))})}})}getAdapters(t,r){let o;return typeof t=="boolean"?(r=t,o=""):o=t||"",this.request({cacheKey:`adapter_${o}`,forceUpdate:r,executor:(a,n,s)=>{this._socket.emit("getAdapters",o,(i,p)=>{s.elapsed||(s.clearTimeout(),i&&n(i),a(p))})}})}getCompactAdapters(t){return this.request({cacheKey:"compactAdapters",forceUpdate:t,executor:(r,o,a)=>{this._socket.emit("getCompactAdapters",(n,s)=>{a.elapsed||(a.clearTimeout(),n&&o(n),r(s))})}})}getAdaptersResetCache(t){t=t!=null?t:"",this.resetCache(`adapter_${t}`),this.resetCache("compactAdapters")}getCompactInstances(t){return this.request({cacheKey:"compactInstances",forceUpdate:t,executor:(r,o,a)=>{this._socket.emit("getCompactInstances",(n,s)=>{a.elapsed||(a.clearTimeout(),n&&o(n),r(s))})}})}getAdapterInstancesResetCache(t){t=t!=null?t:"",this.resetCache(`instances_${t}`),this.resetCache("compactInstances")}getCompactInstalled(t,r,o){return t=Es(t),this.request({cacheKey:`installedCompact_${t}`,forceUpdate:r,commandTimeout:o,executor:(a,n,s)=>{this._socket.emit("getCompactInstalled",t,i=>{s.elapsed||(s.clearTimeout(),i===io.PERMISSION_ERROR?n('May not read "getCompactInstalled"'):i?a(i):n('Cannot read "getCompactInstalled"'))})}})}getInstalledResetCache(t){t?(this.resetCache(`installedCompact_${t}`),this.resetCache(`installed_${t}`)):(this.resetCache("installedCompact_",!0),this.resetCache("installed_",!0))}getCompactRepository(t,r,o){return t=Es(t),this.request({cacheKey:`repositoryCompact_${t}`,forceUpdate:r,commandTimeout:o,executor:(a,n,s)=>{this._socket.emit("getCompactRepository",t,i=>{s.elapsed||(s.clearTimeout(),i===io.PERMISSION_ERROR?n('May not read "getCompactRepository"'):i?a(i):n('Cannot read "getCompactRepository"'))})}})}getRepositoryResetCache(t){t?(this.resetCache(`repositoryCompact_${t}`),this.resetCache(`repository_${t}`)):(this.resetCache("repositoryCompact_",!0),this.resetCache("repository_",!0))}getCompactHosts(t){return this.request({cacheKey:"hostsCompact",forceUpdate:t,executor:(r,o,a)=>{this._socket.emit("getCompactHosts",(n,s)=>{a.elapsed||(a.clearTimeout(),n&&o(n),r(s))})}})}getCompactSystemRepositories(t){return this.request({cacheKey:"repositoriesCompact",forceUpdate:t,executor:(r,o,a)=>{this._socket.emit("getCompactSystemRepositories",(n,s)=>{a.elapsed||(a.clearTimeout(),n&&o(n),r(s))})}})}};var wt=typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__;var Rs="8.41.0";var Qe=globalThis;function Cp(e,t,r){let o=r||Qe,a=o.__SENTRY__=o.__SENTRY__||{},n=a[Rs]=a[Rs]||{};return n[e]||(n[e]=t())}var Zn=typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__;var Rne="Sentry Logger ",Rg=["debug","info","warn","error","log","assert","trace"],Xc={};function Xa(e){if(!("console"in Qe))return e();let t=Qe.console,r={},o=Object.keys(Xc);o.forEach(a=>{let n=Xc[a];r[a]=t[a],t[a]=n});try{return e()}finally{o.forEach(a=>{t[a]=r[a]})}}function Dne(){let e=!1,t={enable:()=>{e=!0},disable:()=>{e=!1},isEnabled:()=>e};return Zn?Rg.forEach(r=>{t[r]=(...o)=>{e&&Xa(()=>{Qe.console[r](`${Rne}[${r}]:`,...o)})}}):Rg.forEach(r=>{t[r]=()=>{}}),t}var Ae=Cp("logger",Dne);var Ti="?",Vj=/\(error: (.*)\)/,$j=/captureMessage|captureException/;function fS(...e){let t=e.sort((r,o)=>r[0]-o[0]).map(r=>r[1]);return(r,o=0,a=0)=>{let n=[],s=r.split(` +`);for(let i=o;i1024)continue;let l=Vj.test(p)?p.replace(Vj,"$1"):p;if(!l.match(/\S*Error: /)){for(let d of t){let u=d(l);if(u){n.push(u);break}}if(n.length>=50+a)break}}return Gj(n.slice(a))}}function Wk(e){return Array.isArray(e)?fS(...e):e}function Gj(e){if(!e.length)return[];let t=Array.from(e);return/sentryWrapped/.test(uS(t).function||"")&&t.pop(),t.reverse(),$j.test(uS(t).function||"")&&(t.pop(),$j.test(uS(t).function||"")&&t.pop()),t.slice(0,50).map(r=>({...r,filename:r.filename||uS(t).filename,function:r.function||Ti}))}function uS(e){return e[e.length-1]||{}}var zk="";function Qn(e){try{return!e||typeof e!="function"?zk:e.name||zk}catch(t){return zk}}function cS(e){let t=e.exception;if(t){let r=[];try{return t.values.forEach(o=>{o.stacktrace.frames&&r.push(...o.stacktrace.frames)}),r}catch(o){return}}}var mS={},qj={};function Sa(e,t){mS[e]=mS[e]||[],mS[e].push(t)}function wa(e,t){if(!qj[e]){qj[e]=!0;try{t()}catch(r){Zn&&Ae.error(`Error while instrumenting ${e}`,r)}}}function bo(e,t){let r=e&&mS[e];if(r)for(let o of r)try{o(t)}catch(a){Zn&&Ae.error(`Error while triggering instrumentation handler. Type: ${e} -Name: ${As(o)} -Error:`,a)}}var C_=null;function VA(e){let t="error";Ga(t,e),qa(t,vbe)}function vbe(){C_=at.onerror,at.onerror=function(e,t,r,o,a){return Uo("error",{column:o,error:a,line:r,msg:e,url:t}),C_&&!C_.__SENTRY_LOADER__?C_.apply(this,arguments):!1},at.onerror.__SENTRY_INSTRUMENTED__=!0}var O_=null;function HA(e){let t="unhandledrejection";Ga(t,e),qa(t,Tbe)}function Tbe(){O_=at.onunhandledrejection,at.onunhandledrejection=function(e){return Uo("unhandledrejection",e),O_&&!O_.__SENTRY_LOADER__?O_.apply(this,arguments):!0},at.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}function Hf(){return Vb(at),at}function Vb(e){let t=e.__SENTRY__=e.__SENTRY__||{};return t.version=t.version||pi,t[pi]=t[pi]||{}}var S8=Object.prototype.toString;function $f(e){switch(S8.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":case"[object WebAssembly.Exception]":return!0;default:return rl(e,Error)}}function Bh(e,t){return S8.call(e)===`[object ${t}]`}function k_(e){return Bh(e,"ErrorEvent")}function E_(e){return Bh(e,"DOMError")}function $A(e){return Bh(e,"DOMException")}function Ka(e){return Bh(e,"String")}function jh(e){return typeof e=="object"&&e!==null&&"__sentry_template_string__"in e&&"__sentry_template_values__"in e}function Gf(e){return e===null||jh(e)||typeof e!="object"&&typeof e!="function"}function di(e){return Bh(e,"Object")}function qf(e){return typeof Event!="undefined"&&rl(e,Event)}function GA(e){return typeof Element!="undefined"&&rl(e,Element)}function qA(e){return Bh(e,"RegExp")}function rp(e){return!!(e&&e.then&&typeof e.then=="function")}function KA(e){return di(e)&&"nativeEvent"in e&&"preventDefault"in e&&"stopPropagation"in e}function rl(e,t){try{return e instanceof t}catch(r){return!1}}function Hb(e){return!!(typeof e=="object"&&e!==null&&(e.__isVue||e._isVue))}var XA=at,Sbe=80;function $b(e,t={}){if(!e)return"";try{let r=e,o=5,a=[],n=0,s=0,i=" > ",p=i.length,l,d=Array.isArray(t)?t:t.keyAttrs,u=!Array.isArray(t)&&t.maxStringLength||Sbe;for(;r&&n++1&&s+a.length*p+l.length>=u));)a.push(l),s+=l.length,r=r.parentNode;return a.reverse().join(i)}catch(r){return""}}function wbe(e,t){let r=e,o=[];if(!r||!r.tagName)return"";if(XA.HTMLElement&&r instanceof HTMLElement&&r.dataset){if(r.dataset.sentryComponent)return r.dataset.sentryComponent;if(r.dataset.sentryElement)return r.dataset.sentryElement}o.push(r.tagName.toLowerCase());let a=t&&t.length?t.filter(s=>r.getAttribute(s)).map(s=>[s,r.getAttribute(s)]):null;if(a&&a.length)a.forEach(s=>{o.push(`[${s[0]}="${s[1]}"]`)});else{r.id&&o.push(`#${r.id}`);let s=r.className;if(s&&Ka(s)){let i=s.split(/\s+/);for(let p of i)o.push(`.${p}`)}}let n=["aria-label","type","name","title","alt"];for(let s of n){let i=r.getAttribute(s);i&&o.push(`[${s}="${i}"]`)}return o.join("")}function JA(){try{return XA.document.location.href}catch(e){return""}}function YA(e){if(!XA.HTMLElement)return null;let t=e,r=5;for(let o=0;ow8(e,o,r))}function Vo(e,t,r){if(!(t in e))return;let o=e[t],a=r(o);typeof a=="function"&&R_(a,o);try{e[t]=a}catch(n){Ds&&je.log(`Failed to replace method "${t}" in object`,e)}}function Xa(e,t,r){try{Object.defineProperty(e,t,{value:r,writable:!0,configurable:!0})}catch(o){Ds&&je.log(`Failed to add non-enumerable property "${t}" to object`,e)}}function R_(e,t){try{let r=t.prototype||{};e.prototype=t.prototype=r,Xa(e,"__sentry_original__",t)}catch(r){}}function Kf(e){return e.__sentry_original__}function D_(e){if($f(e))return{message:e.message,name:e.name,stack:e.stack,...C8(e)};if(qf(e)){let t={type:e.type,target:_8(e.target),currentTarget:_8(e.currentTarget),...C8(e)};return typeof CustomEvent!="undefined"&&rl(e,CustomEvent)&&(t.detail=e.detail),t}else return e}function _8(e){try{return GA(e)?$b(e):Object.prototype.toString.call(e)}catch(t){return""}}function C8(e){if(typeof e=="object"&&e!==null){let t={};for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}else return{}}function QA(e,t=40){let r=Object.keys(D_(e));r.sort();let o=r[0];if(!o)return"[object has no keys]";if(o.length>=t)return ol(o,t);for(let a=r.length;a>0;a--){let n=r.slice(0,a).join(", ");if(!(n.length>t))return a===r.length?n:ol(n,t)}return""}function Ro(e){return ZA(e,new Map)}function ZA(e,t){if(_be(e)){let r=t.get(e);if(r!==void 0)return r;let o={};t.set(e,o);for(let a of Object.getOwnPropertyNames(e))typeof e[a]!="undefined"&&(o[a]=ZA(e[a],t));return o}if(Array.isArray(e)){let r=t.get(e);if(r!==void 0)return r;let o=[];return t.set(e,o),e.forEach(a=>{o.push(ZA(a,t))}),o}return e}function _be(e){if(!di(e))return!1;try{let t=Object.getPrototypeOf(e).constructor.name;return!t||t==="Object"}catch(t){return!0}}var O8=1e3;function al(){return Date.now()/O8}function Cbe(){let{performance:e}=at;if(!e||!e.now)return al;let t=Date.now()-e.now(),r=e.timeOrigin==null?t:e.timeOrigin;return()=>(r+e.now())/O8}var wn=Cbe(),Gb,Obe=(()=>{let{performance:e}=at;if(!e||!e.now){Gb="none";return}let t=3600*1e3,r=e.now(),o=Date.now(),a=e.timeOrigin?Math.abs(e.timeOrigin+r-o):t,n=aMath.random()*16;try{if(t&&t.randomUUID)return t.randomUUID().replace(/-/g,"");t&&t.getRandomValues&&(r=()=>{let o=new Uint8Array(1);return t.getRandomValues(o),o[0]})}catch(o){}return("10000000100040008000"+1e11).replace(/[018]/g,o=>(o^(r()&15)>>o/4).toString(16))}function k8(e){return e.exception&&e.exception.values?e.exception.values[0]:void 0}function ui(e){let{message:t,event_id:r}=e;if(t)return t;let o=k8(e);return o?o.type&&o.value?`${o.type}: ${o.value}`:o.type||o.value||r||"":r||""}function zh(e,t,r){let o=e.exception=e.exception||{},a=o.values=o.values||[],n=a[0]=a[0]||{};n.value||(n.value=t||""),n.type||(n.type=r||"Error")}function op(e,t){let r=k8(e);if(!r)return;let o={type:"generic",handled:!0},a=r.mechanism;if(r.mechanism={...o,...a,...t},t&&"data"in t){let n={...a&&a.data,...t.data};r.mechanism.data=n}}function A_(e){if(e&&e.__sentry_captured__)return!0;try{Xa(e,"__sentry_captured__",!0)}catch(t){}return!1}var ap;(function(e){e[e.PENDING=0]="PENDING";let r=1;e[e.RESOLVED=r]="RESOLVED";let o=2;e[e.REJECTED=o]="REJECTED"})(ap||(ap={}));function Ms(e){return new fi(t=>{t(e)})}function _d(e){return new fi((t,r)=>{r(e)})}var fi=class e{constructor(t){e.prototype.__init.call(this),e.prototype.__init2.call(this),e.prototype.__init3.call(this),e.prototype.__init4.call(this),this._state=ap.PENDING,this._handlers=[];try{t(this._resolve,this._reject)}catch(r){this._reject(r)}}then(t,r){return new e((o,a)=>{this._handlers.push([!1,n=>{if(!t)o(n);else try{o(t(n))}catch(s){a(s)}},n=>{if(!r)a(n);else try{o(r(n))}catch(s){a(s)}}]),this._executeHandlers()})}catch(t){return this.then(r=>r,t)}finally(t){return new e((r,o)=>{let a,n;return this.then(s=>{n=!1,a=s,t&&t()},s=>{n=!0,a=s,t&&t()}).then(()=>{if(n){o(a);return}r(a)})})}__init(){this._resolve=t=>{this._setResult(ap.RESOLVED,t)}}__init2(){this._reject=t=>{this._setResult(ap.REJECTED,t)}}__init3(){this._setResult=(t,r)=>{if(this._state===ap.PENDING){if(rp(r)){r.then(this._resolve,this._reject);return}this._state=t,this._value=r,this._executeHandlers()}}}__init4(){this._executeHandlers=()=>{if(this._state===ap.PENDING)return;let t=this._handlers.slice();this._handlers=[],t.forEach(r=>{r[0]||(this._state===ap.RESOLVED&&r[1](this._value),this._state===ap.REJECTED&&r[2](this._value),r[0]=!0)})}}};function E8(e){let t=wn(),r={sid:Ho(),init:!0,timestamp:t,started:t,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>kbe(r)};return e&&np(r,e),r}function np(e,t={}){if(t.user&&(!e.ipAddress&&t.user.ip_address&&(e.ipAddress=t.user.ip_address),!e.did&&!t.did&&(e.did=t.user.id||t.user.email||t.user.username)),e.timestamp=t.timestamp||wn(),t.abnormal_mechanism&&(e.abnormal_mechanism=t.abnormal_mechanism),t.ignoreDuration&&(e.ignoreDuration=t.ignoreDuration),t.sid&&(e.sid=t.sid.length===32?t.sid:Ho()),t.init!==void 0&&(e.init=t.init),!e.did&&t.did&&(e.did=`${t.did}`),typeof t.started=="number"&&(e.started=t.started),e.ignoreDuration)e.duration=void 0;else if(typeof t.duration=="number")e.duration=t.duration;else{let r=e.timestamp-e.started;e.duration=r>=0?r:0}t.release&&(e.release=t.release),t.environment&&(e.environment=t.environment),!e.ipAddress&&t.ipAddress&&(e.ipAddress=t.ipAddress),!e.userAgent&&t.userAgent&&(e.userAgent=t.userAgent),typeof t.errors=="number"&&(e.errors=t.errors),t.status&&(e.status=t.status)}function P8(e,t){let r={};t?r={status:t}:e.status==="ok"&&(r={status:"exited"}),np(e,r)}function kbe(e){return Ro({sid:`${e.sid}`,init:e.init,started:new Date(e.started*1e3).toISOString(),timestamp:new Date(e.timestamp*1e3).toISOString(),status:e.status,errors:e.errors,did:typeof e.did=="number"||typeof e.did=="string"?`${e.did}`:void 0,duration:e.duration,abnormal_mechanism:e.abnormal_mechanism,attrs:{release:e.release,environment:e.environment,ip_address:e.ipAddress,user_agent:e.userAgent}})}function e2(){return{traceId:Ho(),spanId:Ho().substring(16)}}function Wh(e,t,r=2){if(!t||typeof t!="object"||r<=0)return t;if(e&&t&&Object.keys(t).length===0)return e;let o={...e};for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&(o[a]=Wh(o[a],t[a],r-1));return o}var t2="_sentrySpan";function r2(e,t){t?Xa(e,t2,t):delete e[t2]}function o2(e){return e[t2]}var Ebe=100,a2=class e{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext=e2()}clone(){let t=new e;return t._breadcrumbs=[...this._breadcrumbs],t._tags={...this._tags},t._extra={...this._extra},t._contexts={...this._contexts},t._user=this._user,t._level=this._level,t._session=this._session,t._transactionName=this._transactionName,t._fingerprint=this._fingerprint,t._eventProcessors=[...this._eventProcessors],t._requestSession=this._requestSession,t._attachments=[...this._attachments],t._sdkProcessingMetadata={...this._sdkProcessingMetadata},t._propagationContext={...this._propagationContext},t._client=this._client,t._lastEventId=this._lastEventId,r2(t,o2(this)),t}setClient(t){this._client=t}setLastEventId(t){this._lastEventId=t}getClient(){return this._client}lastEventId(){return this._lastEventId}addScopeListener(t){this._scopeListeners.push(t)}addEventProcessor(t){return this._eventProcessors.push(t),this}setUser(t){return this._user=t||{email:void 0,id:void 0,ip_address:void 0,username:void 0},this._session&&np(this._session,{user:t}),this._notifyScopeListeners(),this}getUser(){return this._user}getRequestSession(){return this._requestSession}setRequestSession(t){return this._requestSession=t,this}setTags(t){return this._tags={...this._tags,...t},this._notifyScopeListeners(),this}setTag(t,r){return this._tags={...this._tags,[t]:r},this._notifyScopeListeners(),this}setExtras(t){return this._extra={...this._extra,...t},this._notifyScopeListeners(),this}setExtra(t,r){return this._extra={...this._extra,[t]:r},this._notifyScopeListeners(),this}setFingerprint(t){return this._fingerprint=t,this._notifyScopeListeners(),this}setLevel(t){return this._level=t,this._notifyScopeListeners(),this}setTransactionName(t){return this._transactionName=t,this._notifyScopeListeners(),this}setContext(t,r){return r===null?delete this._contexts[t]:this._contexts[t]=r,this._notifyScopeListeners(),this}setSession(t){return t?this._session=t:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(t){if(!t)return this;let r=typeof t=="function"?t(this):t,[o,a]=r instanceof Hn?[r.getScopeData(),r.getRequestSession()]:di(r)?[t,t.requestSession]:[],{tags:n,extra:s,user:i,contexts:p,level:l,fingerprint:d=[],propagationContext:u}=o||{};return this._tags={...this._tags,...n},this._extra={...this._extra,...s},this._contexts={...this._contexts,...p},i&&Object.keys(i).length&&(this._user=i),l&&(this._level=l),d.length&&(this._fingerprint=d),u&&(this._propagationContext=u),a&&(this._requestSession=a),this}clear(){return this._breadcrumbs=[],this._tags={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._requestSession=void 0,this._session=void 0,r2(this,void 0),this._attachments=[],this._propagationContext=e2(),this._notifyScopeListeners(),this}addBreadcrumb(t,r){let o=typeof r=="number"?r:Ebe;if(o<=0)return this;let a={timestamp:al(),...t},n=this._breadcrumbs;return n.push(a),this._breadcrumbs=n.length>o?n.slice(-o):n,this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(t){return this._attachments.push(t),this}clearAttachments(){return this._attachments=[],this}getScopeData(){return{breadcrumbs:this._breadcrumbs,attachments:this._attachments,contexts:this._contexts,tags:this._tags,extra:this._extra,user:this._user,level:this._level,fingerprint:this._fingerprint||[],eventProcessors:this._eventProcessors,propagationContext:this._propagationContext,sdkProcessingMetadata:this._sdkProcessingMetadata,transactionName:this._transactionName,span:o2(this)}}setSDKProcessingMetadata(t){return this._sdkProcessingMetadata=Wh(this._sdkProcessingMetadata,t,2),this}setPropagationContext(t){return this._propagationContext=t,this}getPropagationContext(){return this._propagationContext}captureException(t,r){let o=r&&r.event_id?r.event_id:Ho();if(!this._client)return je.warn("No client configured on scope - will not capture exception!"),o;let a=new Error("Sentry syntheticException");return this._client.captureException(t,{originalException:t,syntheticException:a,...r,event_id:o},this),o}captureMessage(t,r,o){let a=o&&o.event_id?o.event_id:Ho();if(!this._client)return je.warn("No client configured on scope - will not capture message!"),a;let n=new Error(t);return this._client.captureMessage(t,r,{originalException:t,syntheticException:n,...o,event_id:a},this),a}captureEvent(t,r){let o=r&&r.event_id?r.event_id:Ho();return this._client?(this._client.captureEvent(t,{...r,event_id:o},this),o):(je.warn("No client configured on scope - will not capture event!"),o)}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(t=>{t(this)}),this._notifyingListeners=!1)}},Hn=a2;function R8(){return wd("defaultCurrentScope",()=>new Hn)}function D8(){return wd("defaultIsolationScope",()=>new Hn)}var n2=class{constructor(t,r){let o;t?o=t:o=new Hn;let a;r?a=r:a=new Hn,this._stack=[{scope:o}],this._isolationScope=a}withScope(t){let r=this._pushScope(),o;try{o=t(r)}catch(a){throw this._popScope(),a}return rp(o)?o.then(a=>(this._popScope(),a),a=>{throw this._popScope(),a}):(this._popScope(),o)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStackTop(){return this._stack[this._stack.length-1]}_pushScope(){let t=this.getScope().clone();return this._stack.push({client:this.getClient(),scope:t}),t}_popScope(){return this._stack.length<=1?!1:!!this._stack.pop()}};function Uh(){let e=Hf(),t=Vb(e);return t.stack=t.stack||new n2(R8(),D8())}function Pbe(e){return Uh().withScope(e)}function Rbe(e,t){let r=Uh();return r.withScope(()=>(r.getStackTop().scope=e,t(e)))}function A8(e){return Uh().withScope(()=>e(Uh().getIsolationScope()))}function M8(){return{withIsolationScope:A8,withScope:Pbe,withSetScope:Rbe,withSetIsolationScope:(e,t)=>A8(t),getCurrentScope:()=>Uh().getScope(),getIsolationScope:()=>Uh().getIsolationScope()}}function M_(e){let t=Vb(e);return t.acs?t.acs:M8()}function xa(){let e=Hf();return M_(e).getCurrentScope()}function nl(){let e=Hf();return M_(e).getIsolationScope()}function N_(){return wd("globalScope",()=>new Hn)}function I_(...e){let t=Hf(),r=M_(t);if(e.length===2){let[o,a]=e;return o?r.withSetScope(o,a):r.withScope(a)}return r.withScope(e[0])}function br(){return xa().getClient()}function s2(e){let t=e.getPropagationContext(),{traceId:r,spanId:o,parentSpanId:a}=t;return Ro({trace_id:r,span_id:o,parent_span_id:a})}var Dbe="_sentryMetrics";function N8(e){let t=e[Dbe];if(!t)return;let r={};for(let[,[o,a]]of t)(r[o]||(r[o]=[])).push(Ro(a));return r}var i2="sentry.source",l2="sentry.sample_rate",p2="sentry.op",d2="sentry.origin";var Abe="sentry-",Mbe=/^sentry-/;function F8(e){let t=Nbe(e);if(!t)return;let r=Object.entries(t).reduce((o,[a,n])=>{if(a.match(Mbe)){let s=a.slice(Abe.length);o[s]=n}return o},{});if(Object.keys(r).length>0)return r}function Nbe(e){if(!(!e||!Ka(e)&&!Array.isArray(e)))return Array.isArray(e)?e.reduce((t,r)=>{let o=I8(r);return Object.entries(o).forEach(([a,n])=>{t[a]=n}),t},{}):I8(e)}function I8(e){return e.split(",").map(t=>t.split("=").map(r=>decodeURIComponent(r.trim()))).reduce((t,[r,o])=>(r&&o&&(t[r]=o),t),{})}var Ibe=1,B8=!1;function z8(e){let{spanId:t,traceId:r}=e.spanContext(),{parent_span_id:o}=Vh(e);return Ro({parent_span_id:o,span_id:t,trace_id:r})}function j8(e){return typeof e=="number"?L8(e):Array.isArray(e)?e[0]+e[1]/1e9:e instanceof Date?L8(e.getTime()):wn()}function L8(e){return e>9999999999?e/1e3:e}function Vh(e){if(Bbe(e))return e.getSpanJSON();try{let{spanId:t,traceId:r}=e.spanContext();if(Fbe(e)){let{attributes:o,startTime:a,name:n,endTime:s,parentSpanId:i,status:p}=e;return Ro({span_id:t,trace_id:r,data:o,description:n,parent_span_id:i,start_timestamp:j8(a),timestamp:j8(s)||void 0,status:jbe(p),op:o[p2],origin:o[d2],_metrics_summary:N8(e)})}return{span_id:t,trace_id:r}}catch(t){return{}}}function Fbe(e){let t=e;return!!t.attributes&&!!t.startTime&&!!t.name&&!!t.endTime&&!!t.status}function Bbe(e){return typeof e.getSpanJSON=="function"}function W8(e){let{traceFlags:t}=e.spanContext();return t===Ibe}function jbe(e){if(!(!e||e.code===0))return e.code===1?"ok":e.message||"unknown_error"}var Lbe="_sentryRootSpan";function qb(e){return e[Lbe]||e}function U8(){B8||(Sn(()=>{console.warn("[Sentry] Deprecation warning: Returning null from `beforeSendSpan` will be disallowed from SDK version 9.0.0 onwards. The callback will only support mutating spans. To drop certain spans, configure the respective integrations directly.")}),B8=!0)}function V8(e){if(typeof __SENTRY_TRACING__=="boolean"&&!__SENTRY_TRACING__)return!1;let t=br(),r=e||t&&t.getOptions();return!!r&&(r.enableTracing||"tracesSampleRate"in r||"tracesSampler"in r)}var Hh="production";var zbe="_frozenDsc";function H8(e,t){let r=t.getOptions(),{publicKey:o}=t.getDsn()||{},a=Ro({environment:r.environment||Hh,release:r.release,public_key:o,trace_id:e});return t.emit("createDsc",a),a}function $8(e,t){let r=t.getPropagationContext();return r.dsc||H8(r.traceId,e)}function G8(e){let t=br();if(!t)return{};let r=qb(e),o=r[zbe];if(o)return o;let a=r.spanContext().traceState,n=a&&a.get("sentry.dsc"),s=n&&F8(n);if(s)return s;let i=H8(e.spanContext().traceId,t),p=Vh(r),l=p.data||{},d=l[l2];d!=null&&(i.sample_rate=`${d}`);let u=l[i2],f=p.description;return u!=="url"&&f&&(i.transaction=f),V8()&&(i.sampled=String(W8(r))),t.emit("createDsc",i,r),i}function q8(e){if(typeof e=="boolean")return Number(e);let t=typeof e=="string"?parseFloat(e):e;if(typeof t!="number"||isNaN(t)||t<0||t>1){Nt&&je.warn(`[Tracing] Given sample rate is invalid. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(e)} of type ${JSON.stringify(typeof e)}.`);return}return t}var Wbe=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)([\w.-]+)(?::(\d+))?\/(.+)/;function Ube(e){return e==="http"||e==="https"}function sp(e,t=!1){let{host:r,path:o,pass:a,port:n,projectId:s,protocol:i,publicKey:p}=e;return`${i}://${p}${t&&a?`:${a}`:""}@${r}${n?`:${n}`:""}/${o&&`${o}/`}${s}`}function K8(e){let t=Wbe.exec(e);if(!t){Sn(()=>{console.error(`Invalid Sentry Dsn: ${e}`)});return}let[r,o,a="",n="",s="",i=""]=t.slice(1),p="",l=i,d=l.split("/");if(d.length>1&&(p=d.slice(0,-1).join("/"),l=d.pop()),l){let u=l.match(/^\d+/);u&&(l=u[0])}return X8({host:n,pass:a,path:p,projectId:l,port:s,protocol:r,publicKey:o})}function X8(e){return{protocol:e.protocol,publicKey:e.publicKey||"",pass:e.pass||"",host:e.host,port:e.port||"",path:e.path||"",projectId:e.projectId}}function Vbe(e){if(!Ds)return!0;let{port:t,projectId:r,protocol:o}=e;return["protocol","publicKey","host","projectId"].find(s=>e[s]?!1:(je.error(`Invalid Sentry Dsn: ${s} missing`),!0))?!1:r.match(/^\d+$/)?Ube(o)?t&&isNaN(parseInt(t,10))?(je.error(`Invalid Sentry Dsn: Invalid port ${t}`),!1):!0:(je.error(`Invalid Sentry Dsn: Invalid protocol ${o}`),!1):(je.error(`Invalid Sentry Dsn: Invalid projectId ${r}`),!1)}function u2(e){let t=typeof e=="string"?K8(e):X8(e);if(!(!t||!Vbe(t)))return t}function J8(){let e=typeof WeakSet=="function",t=e?new WeakSet:[];function r(a){if(e)return t.has(a)?!0:(t.add(a),!1);for(let n=0;nr?F_(e,t-1,r):o}function f2(e,t,r=1/0,o=1/0,a=J8()){let[n,s]=a;if(t==null||["boolean","string"].includes(typeof t)||typeof t=="number"&&Number.isFinite(t))return t;let i=Hbe(e,t);if(!i.startsWith("[object "))return i;if(t.__sentry_skip_normalization__)return t;let p=typeof t.__sentry_override_normalization_depth__=="number"?t.__sentry_override_normalization_depth__:r;if(p===0)return i.replace("object ","");if(n(t))return"[Circular ~]";let l=t;if(l&&typeof l.toJSON=="function")try{let c=l.toJSON();return f2("",c,p-1,o,a)}catch(c){}let d=Array.isArray(t)?[]:{},u=0,f=D_(t);for(let c in f){if(!Object.prototype.hasOwnProperty.call(f,c))continue;if(u>=o){d[c]="[MaxProperties ~]";break}let m=f[c];d[c]=f2(c,m,p-1,o,a),u++}return s(t),d}function Hbe(e,t){try{if(e==="domain"&&t&&typeof t=="object"&&t._events)return"[Domain]";if(e==="domainEmitter")return"[DomainEmitter]";if(typeof global!="undefined"&&t===global)return"[Global]";if(typeof window!="undefined"&&t===window)return"[Window]";if(typeof document!="undefined"&&t===document)return"[Document]";if(Hb(t))return"[VueViewModel]";if(KA(t))return"[SyntheticEvent]";if(typeof t=="number"&&!Number.isFinite(t))return`[${t}]`;if(typeof t=="function")return`[Function: ${As(t)}]`;if(typeof t=="symbol")return`[${String(t)}]`;if(typeof t=="bigint")return`[BigInt: ${String(t)}]`;let r=$be(t);return/^HTML(\w*)Element$/.test(r)?`[HTMLElement: ${r}]`:`[object ${r}]`}catch(r){return`**non-serializable** (${r})`}}function $be(e){let t=Object.getPrototypeOf(e);return t?t.constructor.name:"null prototype"}function Gbe(e){return~-encodeURI(e).split(/%..|./).length}function qbe(e){return Gbe(JSON.stringify(e))}function sl(e,t=[]){return[e,t]}function m2(e,t){let[r,o]=e;return[r,[...o,t]]}function B_(e,t){let r=e[1];for(let o of r){let a=o[0].type;if(t(o,a))return!0}return!1}function c2(e){return at.__SENTRY__&&at.__SENTRY__.encodePolyfill?at.__SENTRY__.encodePolyfill(e):new TextEncoder().encode(e)}function h2(e){let[t,r]=e,o=JSON.stringify(t);function a(n){typeof o=="string"?o=typeof n=="string"?o+n:[c2(o),n]:o.push(typeof n=="string"?c2(n):n)}for(let n of r){let[s,i]=n;if(a(` +Name: ${Qn(o)} +Error:`,a)}}var hS=null;function Uk(e){let t="error";Sa(t,e),wa(t,Ane)}function Ane(){hS=Qe.onerror,Qe.onerror=function(e,t,r,o,a){return bo("error",{column:o,error:a,line:r,msg:e,url:t}),hS&&!hS.__SENTRY_LOADER__?hS.apply(this,arguments):!1},Qe.onerror.__SENTRY_INSTRUMENTED__=!0}var xS=null;function Hk(e){let t="unhandledrejection";Sa(t,e),wa(t,Mne)}function Mne(){xS=Qe.onunhandledrejection,Qe.onunhandledrejection=function(e){return bo("unhandledrejection",e),xS&&!xS.__SENTRY_LOADER__?xS.apply(this,arguments):!0},Qe.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}function Cu(){return Dg(Qe),Qe}function Dg(e){let t=e.__SENTRY__=e.__SENTRY__||{};return t.version=t.version||Rs,t[Rs]=t[Rs]||{}}var Kj=Object.prototype.toString;function Ou(e){switch(Kj.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":case"[object WebAssembly.Exception]":return!0;default:return Si(e,Error)}}function Yc(e,t){return Kj.call(e)===`[object ${t}]`}function gS(e){return Yc(e,"ErrorEvent")}function yS(e){return Yc(e,"DOMError")}function Vk(e){return Yc(e,"DOMException")}function _a(e){return Yc(e,"String")}function Zc(e){return typeof e=="object"&&e!==null&&"__sentry_template_string__"in e&&"__sentry_template_values__"in e}function ku(e){return e===null||Zc(e)||typeof e!="object"&&typeof e!="function"}function Ds(e){return Yc(e,"Object")}function Eu(e){return typeof Event!="undefined"&&Si(e,Event)}function $k(e){return typeof Element!="undefined"&&Si(e,Element)}function Gk(e){return Yc(e,"RegExp")}function ml(e){return!!(e&&e.then&&typeof e.then=="function")}function qk(e){return Ds(e)&&"nativeEvent"in e&&"preventDefault"in e&&"stopPropagation"in e}function Si(e,t){try{return e instanceof t}catch(r){return!1}}function Ag(e){return!!(typeof e=="object"&&e!==null&&(e.__isVue||e._isVue))}var Kk=Qe,Nne=80;function Mg(e,t={}){if(!e)return"";try{let r=e,o=5,a=[],n=0,s=0,i=" > ",p=i.length,l,d=Array.isArray(t)?t:t.keyAttrs,u=!Array.isArray(t)&&t.maxStringLength||Nne;for(;r&&n++1&&s+a.length*p+l.length>=u));)a.push(l),s+=l.length,r=r.parentNode;return a.reverse().join(i)}catch(r){return""}}function Ine(e,t){let r=e,o=[];if(!r||!r.tagName)return"";if(Kk.HTMLElement&&r instanceof HTMLElement&&r.dataset){if(r.dataset.sentryComponent)return r.dataset.sentryComponent;if(r.dataset.sentryElement)return r.dataset.sentryElement}o.push(r.tagName.toLowerCase());let a=t&&t.length?t.filter(s=>r.getAttribute(s)).map(s=>[s,r.getAttribute(s)]):null;if(a&&a.length)a.forEach(s=>{o.push(`[${s[0]}="${s[1]}"]`)});else{r.id&&o.push(`#${r.id}`);let s=r.className;if(s&&_a(s)){let i=s.split(/\s+/);for(let p of i)o.push(`.${p}`)}}let n=["aria-label","type","name","title","alt"];for(let s of n){let i=r.getAttribute(s);i&&o.push(`[${s}="${i}"]`)}return o.join("")}function Jk(){try{return Kk.document.location.href}catch(e){return""}}function Xk(e){if(!Kk.HTMLElement)return null;let t=e,r=5;for(let o=0;oJj(e,o,r))}function To(e,t,r){if(!(t in e))return;let o=e[t],a=r(o);typeof a=="function"&&bS(a,o);try{e[t]=a}catch(n){Zn&&Ae.log(`Failed to replace method "${t}" in object`,e)}}function Ca(e,t,r){try{Object.defineProperty(e,t,{value:r,writable:!0,configurable:!0})}catch(o){Zn&&Ae.log(`Failed to add non-enumerable property "${t}" to object`,e)}}function bS(e,t){try{let r=t.prototype||{};e.prototype=t.prototype=r,Ca(e,"__sentry_original__",t)}catch(r){}}function Pu(e){return e.__sentry_original__}function TS(e){if(Ou(e))return{message:e.message,name:e.name,stack:e.stack,...Yj(e)};if(Eu(e)){let t={type:e.type,target:Xj(e.target),currentTarget:Xj(e.currentTarget),...Yj(e)};return typeof CustomEvent!="undefined"&&Si(e,CustomEvent)&&(t.detail=e.detail),t}else return e}function Xj(e){try{return $k(e)?Mg(e):Object.prototype.toString.call(e)}catch(t){return""}}function Yj(e){if(typeof e=="object"&&e!==null){let t={};for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}else return{}}function Zk(e,t=40){let r=Object.keys(TS(e));r.sort();let o=r[0];if(!o)return"[object has no keys]";if(o.length>=t)return wi(o,t);for(let a=r.length;a>0;a--){let n=r.slice(0,a).join(", ");if(!(n.length>t))return a===r.length?n:wi(n,t)}return""}function lo(e){return Yk(e,new Map)}function Yk(e,t){if(Fne(e)){let r=t.get(e);if(r!==void 0)return r;let o={};t.set(e,o);for(let a of Object.getOwnPropertyNames(e))typeof e[a]!="undefined"&&(o[a]=Yk(e[a],t));return o}if(Array.isArray(e)){let r=t.get(e);if(r!==void 0)return r;let o=[];return t.set(e,o),e.forEach(a=>{o.push(Yk(a,t))}),o}return e}function Fne(e){if(!Ds(e))return!1;try{let t=Object.getPrototypeOf(e).constructor.name;return!t||t==="Object"}catch(t){return!0}}var Zj=1e3;function _i(){return Date.now()/Zj}function Bne(){let{performance:e}=Qe;if(!e||!e.now)return _i;let t=Date.now()-e.now(),r=e.timeOrigin==null?t:e.timeOrigin;return()=>(r+e.now())/Zj}var Ya=Bne(),Ng,Lne=(()=>{let{performance:e}=Qe;if(!e||!e.now){Ng="none";return}let t=3600*1e3,r=e.now(),o=Date.now(),a=e.timeOrigin?Math.abs(e.timeOrigin+r-o):t,n=aMath.random()*16;try{if(t&&t.randomUUID)return t.randomUUID().replace(/-/g,"");t&&t.getRandomValues&&(r=()=>{let o=new Uint8Array(1);return t.getRandomValues(o),o[0]})}catch(o){}return("10000000100040008000"+1e11).replace(/[018]/g,o=>(o^(r()&15)>>o/4).toString(16))}function Qj(e){return e.exception&&e.exception.values?e.exception.values[0]:void 0}function As(e){let{message:t,event_id:r}=e;if(t)return t;let o=Qj(e);return o?o.type&&o.value?`${o.type}: ${o.value}`:o.type||o.value||r||"":r||""}function em(e,t,r){let o=e.exception=e.exception||{},a=o.values=o.values||[],n=a[0]=a[0]||{};n.value||(n.value=t||""),n.type||(n.type=r||"Error")}function hl(e,t){let r=Qj(e);if(!r)return;let o={type:"generic",handled:!0},a=r.mechanism;if(r.mechanism={...o,...a,...t},t&&"data"in t){let n={...a&&a.data,...t.data};r.mechanism.data=n}}function SS(e){if(e&&e.__sentry_captured__)return!0;try{Ca(e,"__sentry_captured__",!0)}catch(t){}return!1}var xl;(function(e){e[e.PENDING=0]="PENDING";let r=1;e[e.RESOLVED=r]="RESOLVED";let o=2;e[e.REJECTED=o]="REJECTED"})(xl||(xl={}));function es(e){return new Ms(t=>{t(e)})}function Op(e){return new Ms((t,r)=>{r(e)})}var Ms=class e{constructor(t){e.prototype.__init.call(this),e.prototype.__init2.call(this),e.prototype.__init3.call(this),e.prototype.__init4.call(this),this._state=xl.PENDING,this._handlers=[];try{t(this._resolve,this._reject)}catch(r){this._reject(r)}}then(t,r){return new e((o,a)=>{this._handlers.push([!1,n=>{if(!t)o(n);else try{o(t(n))}catch(s){a(s)}},n=>{if(!r)a(n);else try{o(r(n))}catch(s){a(s)}}]),this._executeHandlers()})}catch(t){return this.then(r=>r,t)}finally(t){return new e((r,o)=>{let a,n;return this.then(s=>{n=!1,a=s,t&&t()},s=>{n=!0,a=s,t&&t()}).then(()=>{if(n){o(a);return}r(a)})})}__init(){this._resolve=t=>{this._setResult(xl.RESOLVED,t)}}__init2(){this._reject=t=>{this._setResult(xl.REJECTED,t)}}__init3(){this._setResult=(t,r)=>{if(this._state===xl.PENDING){if(ml(r)){r.then(this._resolve,this._reject);return}this._state=t,this._value=r,this._executeHandlers()}}}__init4(){this._executeHandlers=()=>{if(this._state===xl.PENDING)return;let t=this._handlers.slice();this._handlers=[],t.forEach(r=>{r[0]||(this._state===xl.RESOLVED&&r[1](this._value),this._state===xl.REJECTED&&r[2](this._value),r[0]=!0)})}}};function e5(e){let t=Ya(),r={sid:So(),init:!0,timestamp:t,started:t,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>jne(r)};return e&&gl(r,e),r}function gl(e,t={}){if(t.user&&(!e.ipAddress&&t.user.ip_address&&(e.ipAddress=t.user.ip_address),!e.did&&!t.did&&(e.did=t.user.id||t.user.email||t.user.username)),e.timestamp=t.timestamp||Ya(),t.abnormal_mechanism&&(e.abnormal_mechanism=t.abnormal_mechanism),t.ignoreDuration&&(e.ignoreDuration=t.ignoreDuration),t.sid&&(e.sid=t.sid.length===32?t.sid:So()),t.init!==void 0&&(e.init=t.init),!e.did&&t.did&&(e.did=`${t.did}`),typeof t.started=="number"&&(e.started=t.started),e.ignoreDuration)e.duration=void 0;else if(typeof t.duration=="number")e.duration=t.duration;else{let r=e.timestamp-e.started;e.duration=r>=0?r:0}t.release&&(e.release=t.release),t.environment&&(e.environment=t.environment),!e.ipAddress&&t.ipAddress&&(e.ipAddress=t.ipAddress),!e.userAgent&&t.userAgent&&(e.userAgent=t.userAgent),typeof t.errors=="number"&&(e.errors=t.errors),t.status&&(e.status=t.status)}function t5(e,t){let r={};t?r={status:t}:e.status==="ok"&&(r={status:"exited"}),gl(e,r)}function jne(e){return lo({sid:`${e.sid}`,init:e.init,started:new Date(e.started*1e3).toISOString(),timestamp:new Date(e.timestamp*1e3).toISOString(),status:e.status,errors:e.errors,did:typeof e.did=="number"||typeof e.did=="string"?`${e.did}`:void 0,duration:e.duration,abnormal_mechanism:e.abnormal_mechanism,attrs:{release:e.release,environment:e.environment,ip_address:e.ipAddress,user_agent:e.userAgent}})}function Qk(){return{traceId:So(),spanId:So().substring(16)}}function tm(e,t,r=2){if(!t||typeof t!="object"||r<=0)return t;if(e&&t&&Object.keys(t).length===0)return e;let o={...e};for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&(o[a]=tm(o[a],t[a],r-1));return o}var eE="_sentrySpan";function tE(e,t){t?Ca(e,eE,t):delete e[eE]}function rE(e){return e[eE]}var zne=100,oE=class e{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext=Qk()}clone(){let t=new e;return t._breadcrumbs=[...this._breadcrumbs],t._tags={...this._tags},t._extra={...this._extra},t._contexts={...this._contexts},t._user=this._user,t._level=this._level,t._session=this._session,t._transactionName=this._transactionName,t._fingerprint=this._fingerprint,t._eventProcessors=[...this._eventProcessors],t._requestSession=this._requestSession,t._attachments=[...this._attachments],t._sdkProcessingMetadata={...this._sdkProcessingMetadata},t._propagationContext={...this._propagationContext},t._client=this._client,t._lastEventId=this._lastEventId,tE(t,rE(this)),t}setClient(t){this._client=t}setLastEventId(t){this._lastEventId=t}getClient(){return this._client}lastEventId(){return this._lastEventId}addScopeListener(t){this._scopeListeners.push(t)}addEventProcessor(t){return this._eventProcessors.push(t),this}setUser(t){return this._user=t||{email:void 0,id:void 0,ip_address:void 0,username:void 0},this._session&&gl(this._session,{user:t}),this._notifyScopeListeners(),this}getUser(){return this._user}getRequestSession(){return this._requestSession}setRequestSession(t){return this._requestSession=t,this}setTags(t){return this._tags={...this._tags,...t},this._notifyScopeListeners(),this}setTag(t,r){return this._tags={...this._tags,[t]:r},this._notifyScopeListeners(),this}setExtras(t){return this._extra={...this._extra,...t},this._notifyScopeListeners(),this}setExtra(t,r){return this._extra={...this._extra,[t]:r},this._notifyScopeListeners(),this}setFingerprint(t){return this._fingerprint=t,this._notifyScopeListeners(),this}setLevel(t){return this._level=t,this._notifyScopeListeners(),this}setTransactionName(t){return this._transactionName=t,this._notifyScopeListeners(),this}setContext(t,r){return r===null?delete this._contexts[t]:this._contexts[t]=r,this._notifyScopeListeners(),this}setSession(t){return t?this._session=t:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(t){if(!t)return this;let r=typeof t=="function"?t(this):t,[o,a]=r instanceof gn?[r.getScopeData(),r.getRequestSession()]:Ds(r)?[t,t.requestSession]:[],{tags:n,extra:s,user:i,contexts:p,level:l,fingerprint:d=[],propagationContext:u}=o||{};return this._tags={...this._tags,...n},this._extra={...this._extra,...s},this._contexts={...this._contexts,...p},i&&Object.keys(i).length&&(this._user=i),l&&(this._level=l),d.length&&(this._fingerprint=d),u&&(this._propagationContext=u),a&&(this._requestSession=a),this}clear(){return this._breadcrumbs=[],this._tags={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._requestSession=void 0,this._session=void 0,tE(this,void 0),this._attachments=[],this._propagationContext=Qk(),this._notifyScopeListeners(),this}addBreadcrumb(t,r){let o=typeof r=="number"?r:zne;if(o<=0)return this;let a={timestamp:_i(),...t},n=this._breadcrumbs;return n.push(a),this._breadcrumbs=n.length>o?n.slice(-o):n,this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(t){return this._attachments.push(t),this}clearAttachments(){return this._attachments=[],this}getScopeData(){return{breadcrumbs:this._breadcrumbs,attachments:this._attachments,contexts:this._contexts,tags:this._tags,extra:this._extra,user:this._user,level:this._level,fingerprint:this._fingerprint||[],eventProcessors:this._eventProcessors,propagationContext:this._propagationContext,sdkProcessingMetadata:this._sdkProcessingMetadata,transactionName:this._transactionName,span:rE(this)}}setSDKProcessingMetadata(t){return this._sdkProcessingMetadata=tm(this._sdkProcessingMetadata,t,2),this}setPropagationContext(t){return this._propagationContext=t,this}getPropagationContext(){return this._propagationContext}captureException(t,r){let o=r&&r.event_id?r.event_id:So();if(!this._client)return Ae.warn("No client configured on scope - will not capture exception!"),o;let a=new Error("Sentry syntheticException");return this._client.captureException(t,{originalException:t,syntheticException:a,...r,event_id:o},this),o}captureMessage(t,r,o){let a=o&&o.event_id?o.event_id:So();if(!this._client)return Ae.warn("No client configured on scope - will not capture message!"),a;let n=new Error(t);return this._client.captureMessage(t,r,{originalException:t,syntheticException:n,...o,event_id:a},this),a}captureEvent(t,r){let o=r&&r.event_id?r.event_id:So();return this._client?(this._client.captureEvent(t,{...r,event_id:o},this),o):(Ae.warn("No client configured on scope - will not capture event!"),o)}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(t=>{t(this)}),this._notifyingListeners=!1)}},gn=oE;function r5(){return Cp("defaultCurrentScope",()=>new gn)}function o5(){return Cp("defaultIsolationScope",()=>new gn)}var aE=class{constructor(t,r){let o;t?o=t:o=new gn;let a;r?a=r:a=new gn,this._stack=[{scope:o}],this._isolationScope=a}withScope(t){let r=this._pushScope(),o;try{o=t(r)}catch(a){throw this._popScope(),a}return ml(o)?o.then(a=>(this._popScope(),a),a=>{throw this._popScope(),a}):(this._popScope(),o)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStackTop(){return this._stack[this._stack.length-1]}_pushScope(){let t=this.getScope().clone();return this._stack.push({client:this.getClient(),scope:t}),t}_popScope(){return this._stack.length<=1?!1:!!this._stack.pop()}};function rm(){let e=Cu(),t=Dg(e);return t.stack=t.stack||new aE(r5(),o5())}function Wne(e){return rm().withScope(e)}function Une(e,t){let r=rm();return r.withScope(()=>(r.getStackTop().scope=e,t(e)))}function a5(e){return rm().withScope(()=>e(rm().getIsolationScope()))}function n5(){return{withIsolationScope:a5,withScope:Wne,withSetScope:Une,withSetIsolationScope:(e,t)=>a5(t),getCurrentScope:()=>rm().getScope(),getIsolationScope:()=>rm().getIsolationScope()}}function wS(e){let t=Dg(e);return t.acs?t.acs:n5()}function Ko(){let e=Cu();return wS(e).getCurrentScope()}function Ci(){let e=Cu();return wS(e).getIsolationScope()}function _S(){return Cp("globalScope",()=>new gn)}function CS(...e){let t=Cu(),r=wS(t);if(e.length===2){let[o,a]=e;return o?r.withSetScope(o,a):r.withScope(a)}return r.withScope(e[0])}function nr(){return Ko().getClient()}function nE(e){let t=e.getPropagationContext(),{traceId:r,spanId:o,parentSpanId:a}=t;return lo({trace_id:r,span_id:o,parent_span_id:a})}var Hne="_sentryMetrics";function s5(e){let t=e[Hne];if(!t)return;let r={};for(let[,[o,a]]of t)(r[o]||(r[o]=[])).push(lo(a));return r}var sE="sentry.source",iE="sentry.sample_rate",lE="sentry.op",pE="sentry.origin";var Vne="sentry-",$ne=/^sentry-/;function l5(e){let t=Gne(e);if(!t)return;let r=Object.entries(t).reduce((o,[a,n])=>{if(a.match($ne)){let s=a.slice(Vne.length);o[s]=n}return o},{});if(Object.keys(r).length>0)return r}function Gne(e){if(!(!e||!_a(e)&&!Array.isArray(e)))return Array.isArray(e)?e.reduce((t,r)=>{let o=i5(r);return Object.entries(o).forEach(([a,n])=>{t[a]=n}),t},{}):i5(e)}function i5(e){return e.split(",").map(t=>t.split("=").map(r=>decodeURIComponent(r.trim()))).reduce((t,[r,o])=>(r&&o&&(t[r]=o),t),{})}var qne=1,p5=!1;function f5(e){let{spanId:t,traceId:r}=e.spanContext(),{parent_span_id:o}=om(e);return lo({parent_span_id:o,span_id:t,trace_id:r})}function d5(e){return typeof e=="number"?u5(e):Array.isArray(e)?e[0]+e[1]/1e9:e instanceof Date?u5(e.getTime()):Ya()}function u5(e){return e>9999999999?e/1e3:e}function om(e){if(Jne(e))return e.getSpanJSON();try{let{spanId:t,traceId:r}=e.spanContext();if(Kne(e)){let{attributes:o,startTime:a,name:n,endTime:s,parentSpanId:i,status:p}=e;return lo({span_id:t,trace_id:r,data:o,description:n,parent_span_id:i,start_timestamp:d5(a),timestamp:d5(s)||void 0,status:Xne(p),op:o[lE],origin:o[pE],_metrics_summary:s5(e)})}return{span_id:t,trace_id:r}}catch(t){return{}}}function Kne(e){let t=e;return!!t.attributes&&!!t.startTime&&!!t.name&&!!t.endTime&&!!t.status}function Jne(e){return typeof e.getSpanJSON=="function"}function c5(e){let{traceFlags:t}=e.spanContext();return t===qne}function Xne(e){if(!(!e||e.code===0))return e.code===1?"ok":e.message||"unknown_error"}var Yne="_sentryRootSpan";function Ig(e){return e[Yne]||e}function m5(){p5||(Xa(()=>{console.warn("[Sentry] Deprecation warning: Returning null from `beforeSendSpan` will be disallowed from SDK version 9.0.0 onwards. The callback will only support mutating spans. To drop certain spans, configure the respective integrations directly.")}),p5=!0)}function h5(e){if(typeof __SENTRY_TRACING__=="boolean"&&!__SENTRY_TRACING__)return!1;let t=nr(),r=e||t&&t.getOptions();return!!r&&(r.enableTracing||"tracesSampleRate"in r||"tracesSampler"in r)}var am="production";var Zne="_frozenDsc";function x5(e,t){let r=t.getOptions(),{publicKey:o}=t.getDsn()||{},a=lo({environment:r.environment||am,release:r.release,public_key:o,trace_id:e});return t.emit("createDsc",a),a}function g5(e,t){let r=t.getPropagationContext();return r.dsc||x5(r.traceId,e)}function y5(e){let t=nr();if(!t)return{};let r=Ig(e),o=r[Zne];if(o)return o;let a=r.spanContext().traceState,n=a&&a.get("sentry.dsc"),s=n&&l5(n);if(s)return s;let i=x5(e.spanContext().traceId,t),p=om(r),l=p.data||{},d=l[iE];d!=null&&(i.sample_rate=`${d}`);let u=l[sE],f=p.description;return u!=="url"&&f&&(i.transaction=f),h5()&&(i.sampled=String(c5(r))),t.emit("createDsc",i,r),i}function v5(e){if(typeof e=="boolean")return Number(e);let t=typeof e=="string"?parseFloat(e):e;if(typeof t!="number"||isNaN(t)||t<0||t>1){wt&&Ae.warn(`[Tracing] Given sample rate is invalid. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(e)} of type ${JSON.stringify(typeof e)}.`);return}return t}var Qne=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)([\w.-]+)(?::(\d+))?\/(.+)/;function ese(e){return e==="http"||e==="https"}function yl(e,t=!1){let{host:r,path:o,pass:a,port:n,projectId:s,protocol:i,publicKey:p}=e;return`${i}://${p}${t&&a?`:${a}`:""}@${r}${n?`:${n}`:""}/${o&&`${o}/`}${s}`}function b5(e){let t=Qne.exec(e);if(!t){Xa(()=>{console.error(`Invalid Sentry Dsn: ${e}`)});return}let[r,o,a="",n="",s="",i=""]=t.slice(1),p="",l=i,d=l.split("/");if(d.length>1&&(p=d.slice(0,-1).join("/"),l=d.pop()),l){let u=l.match(/^\d+/);u&&(l=u[0])}return T5({host:n,pass:a,path:p,projectId:l,port:s,protocol:r,publicKey:o})}function T5(e){return{protocol:e.protocol,publicKey:e.publicKey||"",pass:e.pass||"",host:e.host,port:e.port||"",path:e.path||"",projectId:e.projectId}}function tse(e){if(!Zn)return!0;let{port:t,projectId:r,protocol:o}=e;return["protocol","publicKey","host","projectId"].find(s=>e[s]?!1:(Ae.error(`Invalid Sentry Dsn: ${s} missing`),!0))?!1:r.match(/^\d+$/)?ese(o)?t&&isNaN(parseInt(t,10))?(Ae.error(`Invalid Sentry Dsn: Invalid port ${t}`),!1):!0:(Ae.error(`Invalid Sentry Dsn: Invalid protocol ${o}`),!1):(Ae.error(`Invalid Sentry Dsn: Invalid projectId ${r}`),!1)}function dE(e){let t=typeof e=="string"?b5(e):T5(e);if(!(!t||!tse(t)))return t}function S5(){let e=typeof WeakSet=="function",t=e?new WeakSet:[];function r(a){if(e)return t.has(a)?!0:(t.add(a),!1);for(let n=0;nr?OS(e,t-1,r):o}function uE(e,t,r=1/0,o=1/0,a=S5()){let[n,s]=a;if(t==null||["boolean","string"].includes(typeof t)||typeof t=="number"&&Number.isFinite(t))return t;let i=rse(e,t);if(!i.startsWith("[object "))return i;if(t.__sentry_skip_normalization__)return t;let p=typeof t.__sentry_override_normalization_depth__=="number"?t.__sentry_override_normalization_depth__:r;if(p===0)return i.replace("object ","");if(n(t))return"[Circular ~]";let l=t;if(l&&typeof l.toJSON=="function")try{let c=l.toJSON();return uE("",c,p-1,o,a)}catch(c){}let d=Array.isArray(t)?[]:{},u=0,f=TS(t);for(let c in f){if(!Object.prototype.hasOwnProperty.call(f,c))continue;if(u>=o){d[c]="[MaxProperties ~]";break}let h=f[c];d[c]=uE(c,h,p-1,o,a),u++}return s(t),d}function rse(e,t){try{if(e==="domain"&&t&&typeof t=="object"&&t._events)return"[Domain]";if(e==="domainEmitter")return"[DomainEmitter]";if(typeof global!="undefined"&&t===global)return"[Global]";if(typeof window!="undefined"&&t===window)return"[Window]";if(typeof document!="undefined"&&t===document)return"[Document]";if(Ag(t))return"[VueViewModel]";if(qk(t))return"[SyntheticEvent]";if(typeof t=="number"&&!Number.isFinite(t))return`[${t}]`;if(typeof t=="function")return`[Function: ${Qn(t)}]`;if(typeof t=="symbol")return`[${String(t)}]`;if(typeof t=="bigint")return`[BigInt: ${String(t)}]`;let r=ose(t);return/^HTML(\w*)Element$/.test(r)?`[HTMLElement: ${r}]`:`[object ${r}]`}catch(r){return`**non-serializable** (${r})`}}function ose(e){let t=Object.getPrototypeOf(e);return t?t.constructor.name:"null prototype"}function ase(e){return~-encodeURI(e).split(/%..|./).length}function nse(e){return ase(JSON.stringify(e))}function Oi(e,t=[]){return[e,t]}function cE(e,t){let[r,o]=e;return[r,[...o,t]]}function kS(e,t){let r=e[1];for(let o of r){let a=o[0].type;if(t(o,a))return!0}return!1}function fE(e){return Qe.__SENTRY__&&Qe.__SENTRY__.encodePolyfill?Qe.__SENTRY__.encodePolyfill(e):new TextEncoder().encode(e)}function mE(e){let[t,r]=e,o=JSON.stringify(t);function a(n){typeof o=="string"?o=typeof n=="string"?o+n:[fE(o),n]:o.push(typeof n=="string"?fE(n):n)}for(let n of r){let[s,i]=n;if(a(` ${JSON.stringify(s)} -`),typeof i=="string"||i instanceof Uint8Array)a(i);else{let p;try{p=JSON.stringify(i)}catch(l){p=JSON.stringify(ci(i))}a(p)}}return typeof o=="string"?o:Kbe(o)}function Kbe(e){let t=e.reduce((a,n)=>a+n.length,0),r=new Uint8Array(t),o=0;for(let a of e)r.set(a,o),o+=a.length;return r}function x2(e){let t=typeof e.data=="string"?c2(e.data):e.data;return[Ro({type:"attachment",length:t.length,filename:e.filename,content_type:e.contentType,attachment_type:e.attachmentType}),t]}var Xbe={session:"session",sessions:"session",attachment:"attachment",transaction:"transaction",event:"error",client_report:"internal",user_report:"default",profile:"profile",profile_chunk:"profile",replay_event:"replay",replay_recording:"replay",check_in:"monitor",feedback:"feedback",span:"span",statsd:"metric_bucket"};function j_(e){return Xbe[e]}function L_(e){if(!e||!e.sdk)return;let{name:t,version:r}=e.sdk;return{name:t,version:r}}function g2(e,t,r,o){let a=e.sdkProcessingMetadata&&e.sdkProcessingMetadata.dynamicSamplingContext;return{event_id:e.event_id,sent_at:new Date().toISOString(),...t&&{sdk:t},...!!r&&o&&{dsn:sp(o)},...a&&{trace:Ro({...a})}}}function Ybe(e,t){return t&&(e.sdk=e.sdk||{},e.sdk.name=e.sdk.name||t.name,e.sdk.version=e.sdk.version||t.version,e.sdk.integrations=[...e.sdk.integrations||[],...t.integrations||[]],e.sdk.packages=[...e.sdk.packages||[],...t.packages||[]]),e}function Y8(e,t,r,o){let a=L_(r),n={sent_at:new Date().toISOString(),...a&&{sdk:a},...!!o&&t&&{dsn:sp(t)}},s="aggregates"in e?[{type:"sessions"},e]:[{type:"session"},e.toJSON()];return sl(n,[s])}function Z8(e,t,r,o){let a=L_(r),n=e.type&&e.type!=="replay_event"?e.type:"event";Ybe(e,r&&r.sdk);let s=g2(e,a,o,t);return delete e.sdkProcessingMetadata,sl(s,[[{type:n},e]])}function z_(e,t,r,o=0){return new fi((a,n)=>{let s=e[o];if(t===null||typeof s!="function")a(t);else{let i=s({...t},r);Nt&&s.id&&i===null&&je.log(`Event processor "${s.id}" dropped event`),rp(i)?i.then(p=>z_(e,p,r,o+1).then(a)).then(null,n):z_(e,i,r,o+1).then(a).then(null,n)}})}var W_,Q8,U_;function eU(e){let t=at._sentryDebugIds;if(!t)return{};let r=Object.keys(t);return U_&&r.length===Q8||(Q8=r.length,U_=r.reduce((o,a)=>{W_||(W_={});let n=W_[a];if(n)o[n[0]]=n[1];else{let s=e(a);for(let i=s.length-1;i>=0;i--){let p=s[i],l=p&&p.filename,d=t[a];if(l&&d){o[l]=d,W_[a]=[l,d];break}}}return o},{})),U_}function tU(e,t){let{fingerprint:r,span:o,breadcrumbs:a,sdkProcessingMetadata:n}=t;Zbe(e,t),o&&tve(e,o),rve(e,r),Qbe(e,a),eve(e,n)}function y2(e,t){let{extra:r,tags:o,user:a,contexts:n,level:s,sdkProcessingMetadata:i,breadcrumbs:p,fingerprint:l,eventProcessors:d,attachments:u,propagationContext:f,transactionName:c,span:m}=t;V_(e,"extra",r),V_(e,"tags",o),V_(e,"user",a),V_(e,"contexts",n),e.sdkProcessingMetadata=Wh(e.sdkProcessingMetadata,i,2),s&&(e.level=s),c&&(e.transactionName=c),m&&(e.span=m),p.length&&(e.breadcrumbs=[...e.breadcrumbs,...p]),l.length&&(e.fingerprint=[...e.fingerprint,...l]),d.length&&(e.eventProcessors=[...e.eventProcessors,...d]),u.length&&(e.attachments=[...e.attachments,...u]),e.propagationContext={...e.propagationContext,...f}}function V_(e,t,r){e[t]=Wh(e[t],r,1)}function Zbe(e,t){let{extra:r,tags:o,user:a,contexts:n,level:s,transactionName:i}=t,p=Ro(r);p&&Object.keys(p).length&&(e.extra={...p,...e.extra});let l=Ro(o);l&&Object.keys(l).length&&(e.tags={...l,...e.tags});let d=Ro(a);d&&Object.keys(d).length&&(e.user={...d,...e.user});let u=Ro(n);u&&Object.keys(u).length&&(e.contexts={...u,...e.contexts}),s&&(e.level=s),i&&e.type!=="transaction"&&(e.transaction=i)}function Qbe(e,t){let r=[...e.breadcrumbs||[],...t];e.breadcrumbs=r.length?r:void 0}function eve(e,t){e.sdkProcessingMetadata={...e.sdkProcessingMetadata,...t}}function tve(e,t){e.contexts={trace:z8(t),...e.contexts},e.sdkProcessingMetadata={dynamicSamplingContext:G8(t),...e.sdkProcessingMetadata};let r=qb(t),o=Vh(r).description;o&&!e.transaction&&e.type==="transaction"&&(e.transaction=o)}function rve(e,t){e.fingerprint=e.fingerprint?Array.isArray(e.fingerprint)?e.fingerprint:[e.fingerprint]:[],t&&(e.fingerprint=e.fingerprint.concat(t)),e.fingerprint&&!e.fingerprint.length&&delete e.fingerprint}function rU(e,t,r,o,a,n){let{normalizeDepth:s=3,normalizeMaxBreadth:i=1e3}=e,p={...t,event_id:t.event_id||r.event_id||Ho(),timestamp:t.timestamp||al()},l=r.integrations||e.integrations.map(h=>h.name);ove(p,e),sve(p,l),a&&a.emit("applyFrameMetadata",t),t.type===void 0&&ave(p,e.stackParser);let d=lve(o,r.captureContext);r.mechanism&&op(p,r.mechanism);let u=a?a.getEventProcessors():[],f=N_().getScopeData();if(n){let h=n.getScopeData();y2(f,h)}if(d){let h=d.getScopeData();y2(f,h)}let c=[...r.attachments||[],...f.attachments];c.length&&(r.attachments=c),tU(p,f);let m=[...u,...f.eventProcessors];return z_(m,p,r).then(h=>(h&&nve(h),typeof s=="number"&&s>0?ive(h,s,i):h))}function ove(e,t){let{environment:r,release:o,dist:a,maxValueLength:n=250}=t;e.environment=e.environment||r||Hh,!e.release&&o&&(e.release=o),!e.dist&&a&&(e.dist=a),e.message&&(e.message=ol(e.message,n));let s=e.exception&&e.exception.values&&e.exception.values[0];s&&s.value&&(s.value=ol(s.value,n));let i=e.request;i&&i.url&&(i.url=ol(i.url,n))}function ave(e,t){let r=eU(t);try{e.exception.values.forEach(o=>{o.stacktrace.frames.forEach(a=>{r&&a.filename&&(a.debug_id=r[a.filename])})})}catch(o){}}function nve(e){let t={};try{e.exception.values.forEach(o=>{o.stacktrace.frames.forEach(a=>{a.debug_id&&(a.abs_path?t[a.abs_path]=a.debug_id:a.filename&&(t[a.filename]=a.debug_id),delete a.debug_id)})})}catch(o){}if(Object.keys(t).length===0)return;e.debug_meta=e.debug_meta||{},e.debug_meta.images=e.debug_meta.images||[];let r=e.debug_meta.images;Object.entries(t).forEach(([o,a])=>{r.push({type:"sourcemap",code_file:o,debug_id:a})})}function sve(e,t){t.length>0&&(e.sdk=e.sdk||{},e.sdk.integrations=[...e.sdk.integrations||[],...t])}function ive(e,t,r){if(!e)return null;let o={...e,...e.breadcrumbs&&{breadcrumbs:e.breadcrumbs.map(a=>({...a,...a.data&&{data:ci(a.data,t,r)}}))},...e.user&&{user:ci(e.user,t,r)},...e.contexts&&{contexts:ci(e.contexts,t,r)},...e.extra&&{extra:ci(e.extra,t,r)}};return e.contexts&&e.contexts.trace&&o.contexts&&(o.contexts.trace=e.contexts.trace,e.contexts.trace.data&&(o.contexts.trace.data=ci(e.contexts.trace.data,t,r))),e.spans&&(o.spans=e.spans.map(a=>({...a,...a.data&&{data:ci(a.data,t,r)}}))),o}function lve(e,t){if(!t)return e;let r=e?e.clone():new Hn;return r.update(t),r}function oU(e){if(e)return pve(e)?{captureContext:e}:uve(e)?{captureContext:e}:e}function pve(e){return e instanceof Hn||typeof e=="function"}var dve=["user","level","extra","contexts","tags","fingerprint","requestSession","propagationContext"];function uve(e){return Object.keys(e).some(t=>dve.includes(t))}function H_(e,t){return xa().captureException(e,oU(t))}function Kb(e,t){return xa().captureEvent(e,t)}function Xb(e){let t=br(),r=nl(),o=xa(),{release:a,environment:n=Hh}=t&&t.getOptions()||{},{userAgent:s}=at.navigator||{},i=E8({release:a,environment:n,user:o.getUser()||r.getUser(),...s&&{userAgent:s},...e}),p=r.getSession();return p&&p.status==="ok"&&np(p,{status:"exited"}),$_(),r.setSession(i),o.setSession(i),i}function $_(){let e=nl(),t=xa(),r=t.getSession()||e.getSession();r&&P8(r),nU(),e.setSession(),t.setSession()}function nU(){let e=nl(),t=xa(),r=br(),o=t.getSession()||e.getSession();o&&r&&r.captureSession(o)}function Jb(e=!1){if(e){$_();return}nU()}var fve="7";function cve(e){let t=e.protocol?`${e.protocol}:`:"",r=e.port?`:${e.port}`:"";return`${t}//${e.host}${r}${e.path?`/${e.path}`:""}/api/`}function mve(e){return`${cve(e)}${e.projectId}/envelope/`}function hve(e,t){let r={sentry_version:fve};return e.publicKey&&(r.sentry_key=e.publicKey),t&&(r.sentry_client=`${t.name}/${t.version}`),new URLSearchParams(r).toString()}function sU(e,t,r){return t||`${mve(e)}?${hve(e,r)}`}var iU=[];function xve(e){let t={};return e.forEach(r=>{let{name:o}=r,a=t[o];a&&!a.isDefaultInstance&&r.isDefaultInstance||(t[o]=r)}),Object.values(t)}function b2(e){let t=e.defaultIntegrations||[],r=e.integrations;t.forEach(s=>{s.isDefaultInstance=!0});let o;if(Array.isArray(r))o=[...t,...r];else if(typeof r=="function"){let s=r(t);o=Array.isArray(s)?s:[s]}else o=t;let a=xve(o),n=a.findIndex(s=>s.name==="Debug");if(n>-1){let[s]=a.splice(n,1);a.push(s)}return a}function lU(e,t){let r={};return t.forEach(o=>{o&&T2(e,o,r)}),r}function v2(e,t){for(let r of t)r&&r.afterAllSetup&&r.afterAllSetup(e)}function T2(e,t,r){if(r[t.name]){Nt&&je.log(`Integration skipped because it was already installed: ${t.name}`);return}if(r[t.name]=t,iU.indexOf(t.name)===-1&&typeof t.setupOnce=="function"&&(t.setupOnce(),iU.push(t.name)),t.setup&&typeof t.setup=="function"&&t.setup(e),typeof t.preprocessEvent=="function"){let o=t.preprocessEvent.bind(t);e.on("preprocessEvent",(a,n)=>o(a,n,e))}if(typeof t.processEvent=="function"){let o=t.processEvent.bind(t),a=Object.assign((n,s)=>o(n,s,e),{id:t.name});e.addEventProcessor(a)}Nt&&je.log(`Integration installed: ${t.name}`)}function pU(e,t,r){let o=[{type:"client_report"},{timestamp:r||al(),discarded_events:e}];return sl(t?{dsn:t}:{},[o])}var Ja=class extends Error{constructor(t,r="warn"){super(t),this.message=t,this.name=new.target.prototype.constructor.name,Object.setPrototypeOf(this,new.target.prototype),this.logLevel=r}};var dU="Not capturing exception because it's already been captured.",Yb=class{constructor(t){if(this._options=t,this._integrations={},this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],t.dsn?this._dsn=u2(t.dsn):Nt&&je.warn("No DSN provided, client will not send events."),this._dsn){let a=sU(this._dsn,t.tunnel,t._metadata?t._metadata.sdk:void 0);this._transport=t.transport({tunnel:this._options.tunnel,recordDroppedEvent:this.recordDroppedEvent.bind(this),...t.transportOptions,url:a})}let o=["enableTracing","tracesSampleRate","tracesSampler"].find(a=>a in t&&t[a]==null);o&&Sn(()=>{console.warn(`[Sentry] Deprecation warning: \`${o}\` is set to undefined, which leads to tracing being enabled. In v9, a value of \`undefined\` will result in tracing being disabled.`)})}captureException(t,r,o){let a=Ho();if(A_(t))return Nt&&je.log(dU),a;let n={event_id:a,...r};return this._process(this.eventFromException(t,n).then(s=>this._captureEvent(s,n,o))),n.event_id}captureMessage(t,r,o,a){let n={event_id:Ho(),...o},s=jh(t)?t:String(t),i=Gf(t)?this.eventFromMessage(s,r,n):this.eventFromException(t,n);return this._process(i.then(p=>this._captureEvent(p,n,a))),n.event_id}captureEvent(t,r,o){let a=Ho();if(r&&r.originalException&&A_(r.originalException))return Nt&&je.log(dU),a;let n={event_id:a,...r},i=(t.sdkProcessingMetadata||{}).capturedSpanScope;return this._process(this._captureEvent(t,n,i||o)),n.event_id}captureSession(t){typeof t.release!="string"?Nt&&je.warn("Discarded session because of missing or non-string release"):(this.sendSession(t),np(t,{init:!1}))}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}flush(t){let r=this._transport;return r?(this.emit("flush"),this._isClientDoneProcessing(t).then(o=>r.flush(t).then(a=>o&&a))):Ms(!0)}close(t){return this.flush(t).then(r=>(this.getOptions().enabled=!1,this.emit("close"),r))}getEventProcessors(){return this._eventProcessors}addEventProcessor(t){this._eventProcessors.push(t)}init(){(this._isEnabled()||this._options.integrations.some(({name:t})=>t.startsWith("Spotlight")))&&this._setupIntegrations()}getIntegrationByName(t){return this._integrations[t]}addIntegration(t){let r=this._integrations[t.name];T2(this,t,this._integrations),r||v2(this,[t])}sendEvent(t,r={}){this.emit("beforeSendEvent",t,r);let o=Z8(t,this._dsn,this._options._metadata,this._options.tunnel);for(let n of r.attachments||[])o=m2(o,x2(n));let a=this.sendEnvelope(o);a&&a.then(n=>this.emit("afterSendEvent",t,n),null)}sendSession(t){let r=Y8(t,this._dsn,this._options._metadata,this._options.tunnel);this.sendEnvelope(r)}recordDroppedEvent(t,r,o){if(this._options.sendClientReports){let a=typeof o=="number"?o:1,n=`${t}:${r}`;Nt&&je.log(`Recording outcome: "${n}"${a>1?` (${a} times)`:""}`),this._outcomes[n]=(this._outcomes[n]||0)+a}}on(t,r){let o=this._hooks[t]=this._hooks[t]||[];return o.push(r),()=>{let a=o.indexOf(r);a>-1&&o.splice(a,1)}}emit(t,...r){let o=this._hooks[t];o&&o.forEach(a=>a(...r))}sendEnvelope(t){return this.emit("beforeEnvelope",t),this._isEnabled()&&this._transport?this._transport.send(t).then(null,r=>(Nt&&je.error("Error while sending envelope:",r),r)):(Nt&&je.error("Transport disabled"),Ms({}))}_setupIntegrations(){let{integrations:t}=this._options;this._integrations=lU(this,t),v2(this,t)}_updateSessionFromEvent(t,r){let o=!1,a=!1,n=r.exception&&r.exception.values;if(n){a=!0;for(let p of n){let l=p.mechanism;if(l&&l.handled===!1){o=!0;break}}}let s=t.status==="ok";(s&&t.errors===0||s&&o)&&(np(t,{...o&&{status:"crashed"},errors:t.errors||Number(a||o)}),this.captureSession(t))}_isClientDoneProcessing(t){return new fi(r=>{let o=0,a=1,n=setInterval(()=>{this._numProcessing==0?(clearInterval(n),r(!0)):(o+=a,t&&o>=t&&(clearInterval(n),r(!1)))},a)})}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(t,r,o=xa(),a=nl()){let n=this.getOptions(),s=Object.keys(this._integrations);return!r.integrations&&s.length>0&&(r.integrations=s),this.emit("preprocessEvent",t,r),t.type||a.setLastEventId(t.event_id||r.event_id),rU(n,t,r,o,this,a).then(i=>{if(i===null)return i;i.contexts={trace:s2(o),...i.contexts};let p=$8(this,o);return i.sdkProcessingMetadata={dynamicSamplingContext:p,...i.sdkProcessingMetadata},i})}_captureEvent(t,r={},o){return this._processEvent(t,r,o).then(a=>a.event_id,a=>{if(Nt){let n=a;n.logLevel==="log"?je.log(n.message):je.warn(n)}})}_processEvent(t,r,o){let a=this.getOptions(),{sampleRate:n}=a,s=fU(t),i=uU(t),p=t.type||"error",l=`before send for type \`${p}\``,d=typeof n=="undefined"?void 0:q8(n);if(i&&typeof d=="number"&&Math.random()>d)return this.recordDroppedEvent("sample_rate","error",t),_d(new Ja(`Discarding event because it's not included in the random sample (sampling rate = ${n})`,"log"));let u=p==="replay_event"?"replay":p,c=(t.sdkProcessingMetadata||{}).capturedSpanIsolationScope;return this._prepareEvent(t,r,o,c).then(m=>{if(m===null)throw this.recordDroppedEvent("event_processor",u,t),new Ja("An event processor returned `null`, will not send event.","log");if(r.data&&r.data.__sentry__===!0)return m;let h=yve(this,a,m,r);return gve(h,l)}).then(m=>{if(m===null){if(this.recordDroppedEvent("before_send",u,t),s){let T=1+(t.spans||[]).length;this.recordDroppedEvent("before_send","span",T)}throw new Ja(`${l} returned \`null\`, will not send event.`,"log")}let g=o&&o.getSession();if(!s&&g&&this._updateSessionFromEvent(g,m),s){let x=m.sdkProcessingMetadata&&m.sdkProcessingMetadata.spanCountBeforeProcessing||0,T=m.spans?m.spans.length:0,v=x-T;v>0&&this.recordDroppedEvent("before_send","span",v)}let h=m.transaction_info;if(s&&h&&m.transaction!==t.transaction){let x="custom";m.transaction_info={...h,source:x}}return this.sendEvent(m,r),m}).then(null,m=>{throw m instanceof Ja?m:(this.captureException(m,{data:{__sentry__:!0},originalException:m}),new Ja(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event. -Reason: ${m}`))})}_process(t){this._numProcessing++,t.then(r=>(this._numProcessing--,r),r=>(this._numProcessing--,r))}_clearOutcomes(){let t=this._outcomes;return this._outcomes={},Object.entries(t).map(([r,o])=>{let[a,n]=r.split(":");return{reason:a,category:n,quantity:o}})}_flushOutcomes(){Nt&&je.log("Flushing outcomes...");let t=this._clearOutcomes();if(t.length===0){Nt&&je.log("No outcomes to send");return}if(!this._dsn){Nt&&je.log("No dsn provided, will not send outcomes");return}Nt&&je.log("Sending outcomes:",t);let r=pU(t,this._options.tunnel&&sp(this._dsn));this.sendEnvelope(r)}};function gve(e,t){let r=`${t} must return \`null\` or a valid event.`;if(rp(e))return e.then(o=>{if(!di(o)&&o!==null)throw new Ja(r);return o},o=>{throw new Ja(`${t} rejected with ${o}`)});if(!di(e)&&e!==null)throw new Ja(r);return e}function yve(e,t,r,o){let{beforeSend:a,beforeSendTransaction:n,beforeSendSpan:s}=t;if(uU(r)&&a)return a(r,o);if(fU(r)){if(r.spans&&s){let i=[];for(let p of r.spans){let l=s(p);l?i.push(l):(U8(),e.recordDroppedEvent("before_send","span"))}r.spans=i}if(n){if(r.spans){let i=r.spans.length;r.sdkProcessingMetadata={...r.sdkProcessingMetadata,spanCountBeforeProcessing:i}}return n(r,o)}}return r}function uU(e){return e.type===void 0}function fU(e){return e.type==="transaction"}function S2(e,t){t.debug===!0&&(Nt?je.enable():Sn(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")})),xa().update(t.initialScope);let o=new e(t);return w2(o),o.init(),o}function w2(e){xa().setClient(e)}function cU(e){let t=[];function r(){return e===void 0||t.lengtho(i)).then(null,()=>o(i).then(null,()=>{})),i}function n(s){return new fi((i,p)=>{let l=t.length;if(!l)return i(!0);let d=setTimeout(()=>{s&&s>0&&i(!1)},s);t.forEach(u=>{Ms(u).then(()=>{--l||(clearTimeout(d),i(!0))},p)})})}return{$:t,add:a,drain:n}}function bve(e,t=Date.now()){let r=parseInt(`${e}`,10);if(!isNaN(r))return r*1e3;let o=Date.parse(`${e}`);return isNaN(o)?6e4:o-t}function vve(e,t){return e[t]||e.all||0}function mU(e,t,r=Date.now()){return vve(e,t)>r}function hU(e,{statusCode:t,headers:r},o=Date.now()){let a={...e},n=r&&r["x-sentry-rate-limits"],s=r&&r["retry-after"];if(n)for(let i of n.trim().split(",")){let[p,l,,,d]=i.split(":",5),u=parseInt(p,10),f=(isNaN(u)?60:u)*1e3;if(!l)a.all=o+f;else for(let c of l.split(";"))c==="metric_bucket"?(!d||d.split(";").includes("custom"))&&(a[c]=o+f):a[c]=o+f}else s?a.all=o+bve(s,o):t===429&&(a.all=o+60*1e3);return a}var Tve=64;function G_(e,t,r=cU(e.bufferSize||Tve)){let o={},a=s=>r.drain(s);function n(s){let i=[];if(B_(s,(u,f)=>{let c=j_(f);if(mU(o,c)){let m=xU(u,f);e.recordDroppedEvent("ratelimit_backoff",c,m)}else i.push(u)}),i.length===0)return Ms({});let p=sl(s[0],i),l=u=>{B_(p,(f,c)=>{let m=xU(f,c);e.recordDroppedEvent(u,j_(c),m)})},d=()=>t({body:h2(p)}).then(u=>(u.statusCode!==void 0&&(u.statusCode<200||u.statusCode>=300)&&Nt&&je.warn(`Sentry responded with status code ${u.statusCode} to sent event.`),o=hU(o,u),u),u=>{throw l("network_error"),u});return r.add(d).then(u=>u,u=>{if(u instanceof Ja)return Nt&&je.error("Skipped sending event because buffer is full."),l("queue_overflow"),Ms({});throw u})}return{send:n,flush:a}}function xU(e,t){if(!(t!=="event"&&t!=="transaction"))return Array.isArray(e)?e[1]:void 0}function _2(e,t,r=[t],o="npm"){let a=e._metadata||{};a.sdk||(a.sdk={name:`sentry.javascript.${t}`,packages:r.map(n=>({name:`${o}:@sentry/${n}`,version:pi})),version:pi}),e._metadata=a}var Sve=100;function il(e,t){let r=br(),o=nl();if(!r)return;let{beforeBreadcrumb:a=null,maxBreadcrumbs:n=Sve}=r.getOptions();if(n<=0)return;let i={timestamp:al(),...e},p=a?Sn(()=>a(i,t)):i;p!==null&&(r.emit&&r.emit("beforeAddBreadcrumb",p,t),o.addBreadcrumb(p,n))}var gU,wve="FunctionToString",yU=new WeakMap,_ve=()=>({name:wve,setupOnce(){gU=Function.prototype.toString;try{Function.prototype.toString=function(...e){let t=Kf(this),r=yU.has(br())&&t!==void 0?t:this;return gU.apply(r,e)}}catch(e){}},setup(e){yU.set(e,!0)}}),q_=_ve;var Cve=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/,/^ResizeObserver loop completed with undelivered notifications.$/,/^Cannot redefine property: googletag$/,"undefined is not an object (evaluating 'a.L')",`can't redefine non-configurable property "solana"`,"vv().getRestrictions is not a function. (In 'vv().getRestrictions(1,a)', 'vv().getRestrictions' is undefined)","Can't find variable: _AutofillCallbackHandler"],Ove="InboundFilters",kve=(e={})=>({name:Ove,processEvent(t,r,o){let a=o.getOptions(),n=Eve(e,a);return Pve(t,n)?null:t}}),X_=kve;function Eve(e={},t={}){return{allowUrls:[...e.allowUrls||[],...t.allowUrls||[]],denyUrls:[...e.denyUrls||[],...t.denyUrls||[]],ignoreErrors:[...e.ignoreErrors||[],...t.ignoreErrors||[],...e.disableErrorDefaults?[]:Cve],ignoreTransactions:[...e.ignoreTransactions||[],...t.ignoreTransactions||[]],ignoreInternal:e.ignoreInternal!==void 0?e.ignoreInternal:!0}}function Pve(e,t){return t.ignoreInternal&&Ive(e)?(Nt&&je.warn(`Event dropped due to being internal Sentry Error. -Event: ${ui(e)}`),!0):Rve(e,t.ignoreErrors)?(Nt&&je.warn(`Event dropped due to being matched by \`ignoreErrors\` option. -Event: ${ui(e)}`),!0):Bve(e)?(Nt&&je.warn(`Event dropped due to not having an error message, error type or stacktrace. -Event: ${ui(e)}`),!0):Dve(e,t.ignoreTransactions)?(Nt&&je.warn(`Event dropped due to being matched by \`ignoreTransactions\` option. -Event: ${ui(e)}`),!0):Ave(e,t.denyUrls)?(Nt&&je.warn(`Event dropped due to being matched by \`denyUrls\` option. -Event: ${ui(e)}. -Url: ${K_(e)}`),!0):Mve(e,t.allowUrls)?!1:(Nt&&je.warn(`Event dropped due to not being matched by \`allowUrls\` option. -Event: ${ui(e)}. -Url: ${K_(e)}`),!0)}function Rve(e,t){return e.type||!t||!t.length?!1:Nve(e).some(r=>Lh(r,t))}function Dve(e,t){if(e.type!=="transaction"||!t||!t.length)return!1;let r=e.transaction;return r?Lh(r,t):!1}function Ave(e,t){if(!t||!t.length)return!1;let r=K_(e);return r?Lh(r,t):!1}function Mve(e,t){if(!t||!t.length)return!0;let r=K_(e);return r?Lh(r,t):!0}function Nve(e){let t=[];e.message&&t.push(e.message);let r;try{r=e.exception.values[e.exception.values.length-1]}catch(o){}return r&&r.value&&(t.push(r.value),r.type&&t.push(`${r.type}: ${r.value}`)),t}function Ive(e){try{return e.exception.values[0].type==="SentryError"}catch(t){}return!1}function Fve(e=[]){for(let t=e.length-1;t>=0;t--){let r=e[t];if(r&&r.filename!==""&&r.filename!=="[native code]")return r.filename||null}return null}function K_(e){try{let t;try{t=e.exception.values[0].stacktrace.frames}catch(r){}return t?Fve(t):null}catch(t){return Nt&&je.error(`Cannot extract url for event ${ui(e)}`),null}}function Bve(e){return e.type||!e.exception||!e.exception.values||e.exception.values.length===0?!1:!e.message&&!e.exception.values.some(t=>t.stacktrace||t.type&&t.type!=="Error"||t.value)}function O2(e,t,r=250,o,a,n,s){if(!n.exception||!n.exception.values||!s||!rl(s.originalException,Error))return;let i=n.exception.values.length>0?n.exception.values[n.exception.values.length-1]:void 0;i&&(n.exception.values=jve(C2(e,t,a,s.originalException,o,n.exception.values,i,0),r))}function C2(e,t,r,o,a,n,s,i){if(n.length>=r+1)return n;let p=[...n];if(rl(o[a],Error)){bU(s,i);let l=e(t,o[a]),d=p.length;vU(l,a,d,i),p=C2(e,t,r,o[a],a,[l,...p],l,d)}return Array.isArray(o.errors)&&o.errors.forEach((l,d)=>{if(rl(l,Error)){bU(s,i);let u=e(t,l),f=p.length;vU(u,`errors[${d}]`,f,i),p=C2(e,t,r,l,a,[u,...p],u,f)}}),p}function bU(e,t){e.mechanism=e.mechanism||{type:"generic",handled:!0},e.mechanism={...e.mechanism,...e.type==="AggregateError"&&{is_exception_group:!0},exception_id:t}}function vU(e,t,r,o){e.mechanism=e.mechanism||{type:"generic",handled:!0},e.mechanism={...e.mechanism,type:"chained",source:t,exception_id:r,parent_id:o}}function jve(e,t){return e.map(r=>(r.value&&(r.value=ol(r.value,t)),r))}function Zb(e){if(!e)return{};let t=e.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!t)return{};let r=t[6]||"",o=t[8]||"";return{host:t[4],path:t[5],protocol:t[2],search:r,hash:o,relative:t[5]+r+o}}function k2(e){let t="console";Ga(t,e),qa(t,Lve)}function Lve(){"console"in at&&Ub.forEach(function(e){e in at.console&&Vo(at.console,e,function(t){return Fh[e]=t,function(...r){Uo("console",{args:r,level:e});let a=Fh[e];a&&a.apply(at.console,r)}})})}function E2(e){return e==="warn"?"warning":["fatal","error","warning","log","info","debug"].includes(e)?e:"log"}var zve="Dedupe",Wve=()=>{let e;return{name:zve,processEvent(t){if(t.type)return t;try{if(Uve(t,e))return Nt&&je.warn("Event dropped due to being a duplicate of previously captured event."),null}catch(r){}return e=t}}},$h=Wve;function Uve(e,t){return t?!!(Vve(e,t)||Hve(e,t)):!1}function Vve(e,t){let r=e.message,o=t.message;return!(!r&&!o||r&&!o||!r&&o||r!==o||!wU(e,t)||!SU(e,t))}function Hve(e,t){let r=TU(t),o=TU(e);return!(!r||!o||r.type!==o.type||r.value!==o.value||!wU(e,t)||!SU(e,t))}function SU(e,t){let r=w_(e),o=w_(t);if(!r&&!o)return!0;if(r&&!o||!r&&o||(r=r,o=o,o.length!==r.length))return!1;for(let a=0;a=400&&e<500?"warning":e>=500?"error":void 0}var P2=at;function Y_(){if(!("fetch"in P2))return!1;try{return new Headers,new Request("http://www.example.com"),new Response,!0}catch(e){return!1}}function Qb(e){return e&&/^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())}function R2(){if(typeof EdgeRuntime=="string")return!0;if(!Y_())return!1;if(Qb(P2.fetch))return!0;let e=!1,t=P2.document;if(t&&typeof t.createElement=="function")try{let r=t.createElement("iframe");r.hidden=!0,t.head.appendChild(r),r.contentWindow&&r.contentWindow.fetch&&(e=Qb(r.contentWindow.fetch)),t.head.removeChild(r)}catch(r){Ds&&je.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",r)}return e}function A2(e,t){let r="fetch";Ga(r,e),qa(r,()=>$ve(void 0,t))}function $ve(e,t=!1){t&&!R2()||Vo(at,"fetch",function(r){return function(...o){let{method:a,url:n}=Gve(o),s={args:o,fetchData:{method:a,url:n},startTimestamp:wn()*1e3};e||Uo("fetch",{...s});let i=new Error().stack;return r.apply(at,o).then(async p=>(e?e(p):Uo("fetch",{...s,endTimestamp:wn()*1e3,response:p}),p),p=>{throw Uo("fetch",{...s,endTimestamp:wn()*1e3,error:p}),$f(p)&&p.stack===void 0&&(p.stack=i,Xa(p,"framesToPop",1)),p})}})}function D2(e,t){return!!e&&typeof e=="object"&&!!e[t]}function _U(e){return typeof e=="string"?e:e?D2(e,"url")?e.url:e.toString?e.toString():"":""}function Gve(e){if(e.length===0)return{method:"GET",url:""};if(e.length===2){let[r,o]=e;return{url:_U(r),method:D2(o,"method")?String(o.method).toUpperCase():"GET"}}let t=e[0];return{url:_U(t),method:D2(t,"method")?String(t.method).toUpperCase():"GET"}}function M2(){return"npm"}var Z_=at;function N2(){let e=Z_.chrome,t=e&&e.app&&e.app.runtime,r="history"in Z_&&!!Z_.history.pushState&&!!Z_.history.replaceState;return!t&&r}var Ut=at,I2=0;function F2(){return I2>0}function nTe(){I2++,setTimeout(()=>{I2--})}function Xf(e,t={},r){if(typeof e!="function")return e;try{let a=e.__sentry_wrapped__;if(a)return typeof a=="function"?a:e;if(Kf(e))return e}catch(a){return e}let o=function(){let a=Array.prototype.slice.call(arguments);try{let n=a.map(s=>Xf(s,t));return e.apply(this,n)}catch(n){throw nTe(),I_(s=>{s.addEventProcessor(i=>(t.mechanism&&(zh(i,void 0,void 0),op(i,t.mechanism)),i.extra={...i.extra,arguments:a},i)),H_(n)}),n}};try{for(let a in e)Object.prototype.hasOwnProperty.call(e,a)&&(o[a]=e[a])}catch(a){}R_(o,e),Xa(e,"__sentry_wrapped__",o);try{Object.getOwnPropertyDescriptor(o,"name").configurable&&Object.defineProperty(o,"name",{get(){return e.name}})}catch(a){}return o}var ip=typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__;function eC(e,t){let r=L2(e,t),o={type:dTe(t),value:uTe(t)};return r.length&&(o.stacktrace={frames:r}),o.type===void 0&&o.value===""&&(o.value="Unrecoverable error caught"),o}function sTe(e,t,r,o){let a=br(),n=a&&a.getOptions().normalizeDepth,s=mTe(t),i={__serialized__:F_(t,n)};if(s)return{exception:{values:[eC(e,s)]},extra:i};let p={exception:{values:[{type:qf(t)?t.constructor.name:o?"UnhandledRejection":"Error",value:fTe(t,{isUnhandledRejection:o})}]},extra:i};if(r){let l=L2(e,r);l.length&&(p.exception.values[0].stacktrace={frames:l})}return p}function B2(e,t){return{exception:{values:[eC(e,t)]}}}function L2(e,t){let r=t.stacktrace||t.stack||"",o=lTe(t),a=pTe(t);try{return e(r,o,a)}catch(n){}return[]}var iTe=/Minified React error #\d+;/i;function lTe(e){return e&&iTe.test(e.message)?1:0}function pTe(e){return typeof e.framesToPop=="number"?e.framesToPop:0}function OU(e){return typeof WebAssembly!="undefined"&&typeof WebAssembly.Exception!="undefined"?e instanceof WebAssembly.Exception:!1}function dTe(e){let t=e&&e.name;return!t&&OU(e)?e.message&&Array.isArray(e.message)&&e.message.length==2?e.message[0]:"WebAssembly.Exception":t}function uTe(e){let t=e&&e.message;return t?t.error&&typeof t.error.message=="string"?t.error.message:OU(e)&&Array.isArray(e.message)&&e.message.length==2?e.message[1]:t:"No error message"}function kU(e,t,r,o){let a=r&&r.syntheticException||void 0,n=tC(e,t,a,o);return op(n),n.level="error",r&&r.event_id&&(n.event_id=r.event_id),Ms(n)}function EU(e,t,r="info",o,a){let n=o&&o.syntheticException||void 0,s=j2(e,t,n,a);return s.level=r,o&&o.event_id&&(s.event_id=o.event_id),Ms(s)}function tC(e,t,r,o,a){let n;if(k_(t)&&t.error)return B2(e,t.error);if(E_(t)||$A(t)){let s=t;if("stack"in t)n=B2(e,t);else{let i=s.name||(E_(s)?"DOMError":"DOMException"),p=s.message?`${i}: ${s.message}`:i;n=j2(e,p,r,o),zh(n,p)}return"code"in s&&(n.tags={...n.tags,"DOMException.code":`${s.code}`}),n}return $f(t)?B2(e,t):di(t)||qf(t)?(n=sTe(e,t,r,a),op(n,{synthetic:!0}),n):(n=j2(e,t,r,o),zh(n,`${t}`,void 0),op(n,{synthetic:!0}),n)}function j2(e,t,r,o){let a={};if(o&&r){let n=L2(e,r);n.length&&(a.exception={values:[{value:t,stacktrace:{frames:n}}]})}if(jh(t)){let{__sentry_template_string__:n,__sentry_template_values__:s}=t;return a.logentry={message:n,params:s},a}return a.message=t,a}function fTe(e,{isUnhandledRejection:t}){let r=QA(e),o=t?"promise rejection":"exception";return k_(e)?`Event \`ErrorEvent\` captured as ${o} with message \`${e.message}\``:qf(e)?`Event \`${cTe(e)}\` (type=${e.type}) captured as ${o}`:`Object captured as ${o} with keys: ${r}`}function cTe(e){try{let t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch(t){}}function mTe(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)){let r=e[t];if(r instanceof Error)return r}}function PU(e,{metadata:t,tunnel:r,dsn:o}){let a={event_id:e.event_id,sent_at:new Date().toISOString(),...t&&t.sdk&&{sdk:{name:t.sdk.name,version:t.sdk.version}},...!!r&&!!o&&{dsn:sp(o)}},n=hTe(e);return sl(a,[n])}function hTe(e){return[{type:"user_report"},e]}var rC=class extends Yb{constructor(t){let r={parentSpanIsAlwaysRootSpan:!0,...t},o=Ut.SENTRY_SDK_SOURCE||M2();_2(r,"browser",["browser"],o),super(r),r.sendClientReports&&Ut.document&&Ut.document.addEventListener("visibilitychange",()=>{Ut.document.visibilityState==="hidden"&&this._flushOutcomes()})}eventFromException(t,r){return kU(this._options.stackParser,t,r,this._options.attachStacktrace)}eventFromMessage(t,r="info",o){return EU(this._options.stackParser,t,r,o,this._options.attachStacktrace)}captureUserFeedback(t){if(!this._isEnabled()){ip&&je.warn("SDK not enabled, will not capture user feedback.");return}let r=PU(t,{metadata:this.getSdkMetadata(),dsn:this.getDsn(),tunnel:this.getOptions().tunnel});this.sendEnvelope(r)}_prepareEvent(t,r,o){return t.platform=t.platform||"javascript",super._prepareEvent(t,r,o)}};var RU=typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__;var Do=at;var xTe=1e3,DU,z2,W2;function U2(e){let t="dom";Ga(t,e),qa(t,gTe)}function gTe(){if(!Do.document)return;let e=Uo.bind(null,"dom"),t=AU(e,!0);Do.document.addEventListener("click",t,!1),Do.document.addEventListener("keypress",t,!1),["EventTarget","Node"].forEach(r=>{let o=Do[r]&&Do[r].prototype;!o||!o.hasOwnProperty||!o.hasOwnProperty("addEventListener")||(Vo(o,"addEventListener",function(a){return function(n,s,i){if(n==="click"||n=="keypress")try{let p=this,l=p.__sentry_instrumentation_handlers__=p.__sentry_instrumentation_handlers__||{},d=l[n]=l[n]||{refCount:0};if(!d.handler){let u=AU(e);d.handler=u,a.call(this,n,u,i)}d.refCount++}catch(p){}return a.call(this,n,s,i)}}),Vo(o,"removeEventListener",function(a){return function(n,s,i){if(n==="click"||n=="keypress")try{let p=this,l=p.__sentry_instrumentation_handlers__||{},d=l[n];d&&(d.refCount--,d.refCount<=0&&(a.call(this,n,d.handler,i),d.handler=void 0,delete l[n]),Object.keys(l).length===0&&delete p.__sentry_instrumentation_handlers__)}catch(p){}return a.call(this,n,s,i)}}))})}function yTe(e){if(e.type!==z2)return!1;try{if(!e.target||e.target._sentryId!==W2)return!1}catch(t){}return!0}function bTe(e,t){return e!=="keypress"?!1:!t||!t.tagName?!0:!(t.tagName==="INPUT"||t.tagName==="TEXTAREA"||t.isContentEditable)}function AU(e,t=!1){return r=>{if(!r||r._sentryCaptured)return;let o=vTe(r);if(bTe(r.type,o))return;Xa(r,"_sentryCaptured",!0),o&&!o._sentryId&&Xa(o,"_sentryId",Ho());let a=r.type==="keypress"?"input":r.type;yTe(r)||(e({event:r,name:a,global:t}),z2=r.type,W2=o?o._sentryId:void 0),clearTimeout(DU),DU=Do.setTimeout(()=>{W2=void 0,z2=void 0},xTe)}}function vTe(e){try{return e.target}catch(t){return null}}var oC;function ev(e){let t="history";Ga(t,e),qa(t,TTe)}function TTe(){if(!N2())return;let e=Do.onpopstate;Do.onpopstate=function(...r){let o=Do.location.href,a=oC;if(oC=o,Uo("history",{from:a,to:o}),e)try{return e.apply(this,r)}catch(s){}};function t(r){return function(...o){let a=o.length>2?o[2]:void 0;if(a){let n=oC,s=String(a);oC=s,Uo("history",{from:n,to:s})}return r.apply(this,o)}}Vo(Do.history,"pushState",t),Vo(Do.history,"replaceState",t)}var aC={};function V2(e){let t=aC[e];if(t)return t;let r=Do[e];if(Qb(r))return aC[e]=r.bind(Do);let o=Do.document;if(o&&typeof o.createElement=="function")try{let a=o.createElement("iframe");a.hidden=!0,o.head.appendChild(a);let n=a.contentWindow;n&&n[e]&&(r=n[e]),o.head.removeChild(a)}catch(a){RU&&je.warn(`Could not create sandbox iframe for ${e} check, bailing to window.${e}: `,a)}return r&&(aC[e]=r.bind(Do))}function nC(e){aC[e]=void 0}var Jf="__sentry_xhr_v3__";function H2(e){let t="xhr";Ga(t,e),qa(t,STe)}function STe(){if(!Do.XMLHttpRequest)return;let e=XMLHttpRequest.prototype;e.open=new Proxy(e.open,{apply(t,r,o){let a=wn()*1e3,n=Ka(o[0])?o[0].toUpperCase():void 0,s=wTe(o[1]);if(!n||!s)return t.apply(r,o);r[Jf]={method:n,url:s,request_headers:{}},n==="POST"&&s.match(/sentry_key/)&&(r.__sentry_own_request__=!0);let i=()=>{let p=r[Jf];if(p&&r.readyState===4){try{p.status_code=r.status}catch(d){}let l={endTimestamp:wn()*1e3,startTimestamp:a,xhr:r};Uo("xhr",l)}};return"onreadystatechange"in r&&typeof r.onreadystatechange=="function"?r.onreadystatechange=new Proxy(r.onreadystatechange,{apply(p,l,d){return i(),p.apply(l,d)}}):r.addEventListener("readystatechange",i),r.setRequestHeader=new Proxy(r.setRequestHeader,{apply(p,l,d){let[u,f]=d,c=l[Jf];return c&&Ka(u)&&Ka(f)&&(c.request_headers[u.toLowerCase()]=f),p.apply(l,d)}}),t.apply(r,o)}}),e.send=new Proxy(e.send,{apply(t,r,o){let a=r[Jf];if(!a)return t.apply(r,o);o[0]!==void 0&&(a.body=o[0]);let n={startTimestamp:wn()*1e3,xhr:r};return Uo("xhr",n),t.apply(r,o)}})}function wTe(e){if(Ka(e))return e;try{return e.toString()}catch(t){}}function MU(e,t=V2("fetch")){let r=0,o=0;function a(n){let s=n.body.length;r+=s,o++;let i={body:n.body,method:"POST",referrerPolicy:"origin",headers:e.headers,keepalive:r<=6e4&&o<15,...e.fetchOptions};if(!t)return nC("fetch"),_d("No fetch implementation available");try{return t(e.url,i).then(p=>(r-=s,o--,{statusCode:p.status,headers:{"x-sentry-rate-limits":p.headers.get("X-Sentry-Rate-Limits"),"retry-after":p.headers.get("Retry-After")}}))}catch(p){return nC("fetch"),r-=s,o--,_d(p)}}return G_(e,a)}var _Te=30;var CTe=50;function $2(e,t,r,o){let a={filename:e,function:t===""?tl:t,in_app:!0};return r!==void 0&&(a.lineno=r),o!==void 0&&(a.colno=o),a}var OTe=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,kTe=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,ETe=/\((\S*)(?::(\d+))(?::(\d+))\)/,PTe=e=>{let t=OTe.exec(e);if(t){let[,o,a,n]=t;return $2(o,tl,+a,+n)}let r=kTe.exec(e);if(r){if(r[2]&&r[2].indexOf("eval")===0){let s=ETe.exec(r[2]);s&&(r[2]=s[1],r[3]=s[2],r[4]=s[3])}let[a,n]=IU(r[1]||tl,r[2]);return $2(n,a,r[3]?+r[3]:void 0,r[4]?+r[4]:void 0)}},RTe=[_Te,PTe],DTe=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,ATe=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,MTe=e=>{let t=DTe.exec(e);if(t){if(t[3]&&t[3].indexOf(" > eval")>-1){let n=ATe.exec(t[3]);n&&(t[1]=t[1]||"eval",t[3]=n[1],t[4]=n[2],t[5]="")}let o=t[3],a=t[1]||tl;return[a,o]=IU(a,o),$2(o,a,t[4]?+t[4]:void 0,t[5]?+t[5]:void 0)}},NTe=[CTe,MTe];var ITe=[RTe,NTe],NU=S_(...ITe),IU=(e,t)=>{let r=e.indexOf("safari-extension")!==-1,o=e.indexOf("safari-web-extension")!==-1;return r||o?[e.indexOf("@")!==-1?e.split("@")[0]:tl,r?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]};var sC=1024,FTe="Breadcrumbs",BTe=(e={})=>{let t={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...e};return{name:FTe,setup(r){t.console&&k2(zTe(r)),t.dom&&U2(LTe(r,t.dom)),t.xhr&&H2(WTe(r)),t.fetch&&A2(UTe(r)),t.history&&ev(VTe(r)),t.sentry&&r.on("beforeSendEvent",jTe(r))}}},FU=BTe;function jTe(e){return function(r){br()===e&&il({category:`sentry.${r.type==="transaction"?"transaction":"event"}`,event_id:r.event_id,level:r.level,message:ui(r)},{event:r})}}function LTe(e,t){return function(o){if(br()!==e)return;let a,n,s=typeof t=="object"?t.serializeAttribute:void 0,i=typeof t=="object"&&typeof t.maxStringLength=="number"?t.maxStringLength:void 0;i&&i>sC&&(ip&&je.warn(`\`dom.maxStringLength\` cannot exceed ${sC}, but a value of ${i} was configured. Sentry will use ${sC} instead.`),i=sC),typeof s=="string"&&(s=[s]);try{let l=o.event,d=HTe(l)?l.target:l;a=$b(d,{keyAttrs:s,maxStringLength:i}),n=YA(d)}catch(l){a=""}if(a.length===0)return;let p={category:`ui.${o.name}`,message:a};n&&(p.data={"ui.component_name":n}),il(p,{event:o.event,name:o.name,global:o.global})}}function zTe(e){return function(r){if(br()!==e)return;let o={category:"console",data:{arguments:r.args,logger:"console"},level:E2(r.level),message:P_(r.args," ")};if(r.level==="assert")if(r.args[0]===!1)o.message=`Assertion failed: ${P_(r.args.slice(1)," ")||"console.assert"}`,o.data.arguments=r.args.slice(1);else return;il(o,{input:r.args,level:r.level})}}function WTe(e){return function(r){if(br()!==e)return;let{startTimestamp:o,endTimestamp:a}=r,n=r.xhr[Jf];if(!o||!a||!n)return;let{method:s,url:i,status_code:p,body:l}=n,d={method:s,url:i,status_code:p},u={xhr:r.xhr,input:l,startTimestamp:o,endTimestamp:a},f=J_(p);il({category:"xhr",data:d,type:"http",level:f},u)}}function UTe(e){return function(r){if(br()!==e)return;let{startTimestamp:o,endTimestamp:a}=r;if(a&&!(r.fetchData.url.match(/sentry_key/)&&r.fetchData.method==="POST"))if(r.error){let n=r.fetchData,s={data:r.error,input:r.args,startTimestamp:o,endTimestamp:a};il({category:"fetch",data:n,level:"error",type:"http"},s)}else{let n=r.response,s={...r.fetchData,status_code:n&&n.status},i={input:r.args,response:n,startTimestamp:o,endTimestamp:a},p=J_(s.status_code);il({category:"fetch",data:s,type:"http",level:p},i)}}}function VTe(e){return function(r){if(br()!==e)return;let o=r.from,a=r.to,n=Zb(Ut.location.href),s=o?Zb(o):void 0,i=Zb(a);(!s||!s.path)&&(s=n),n.protocol===i.protocol&&n.host===i.host&&(a=i.relative),n.protocol===s.protocol&&n.host===s.host&&(o=s.relative),il({category:"navigation",data:{from:o,to:a}})}}function HTe(e){return!!e&&!!e.target}var $Te=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","BroadcastChannel","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","SharedWorker","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],GTe="BrowserApiErrors",qTe=(e={})=>{let t={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,...e};return{name:GTe,setupOnce(){t.setTimeout&&Vo(Ut,"setTimeout",BU),t.setInterval&&Vo(Ut,"setInterval",BU),t.requestAnimationFrame&&Vo(Ut,"requestAnimationFrame",KTe),t.XMLHttpRequest&&"XMLHttpRequest"in Ut&&Vo(XMLHttpRequest.prototype,"send",XTe);let r=t.eventTarget;r&&(Array.isArray(r)?r:$Te).forEach(JTe)}}},jU=qTe;function BU(e){return function(...t){let r=t[0];return t[0]=Xf(r,{mechanism:{data:{function:As(e)},handled:!1,type:"instrument"}}),e.apply(this,t)}}function KTe(e){return function(t){return e.apply(this,[Xf(t,{mechanism:{data:{function:"requestAnimationFrame",handler:As(e)},handled:!1,type:"instrument"}})])}}function XTe(e){return function(...t){let r=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(a=>{a in r&&typeof r[a]=="function"&&Vo(r,a,function(n){let s={mechanism:{data:{function:a,handler:As(n)},handled:!1,type:"instrument"}},i=Kf(n);return i&&(s.mechanism.data.handler=As(i)),Xf(n,s)})}),e.apply(this,t)}}function JTe(e){let t=Ut,r=t[e]&&t[e].prototype;!r||!r.hasOwnProperty||!r.hasOwnProperty("addEventListener")||(Vo(r,"addEventListener",function(o){return function(a,n,s){try{typeof n.handleEvent=="function"&&(n.handleEvent=Xf(n.handleEvent,{mechanism:{data:{function:"handleEvent",handler:As(n),target:e},handled:!1,type:"instrument"}}))}catch(i){}return o.apply(this,[a,Xf(n,{mechanism:{data:{function:"addEventListener",handler:As(n),target:e},handled:!1,type:"instrument"}}),s])}}),Vo(r,"removeEventListener",function(o){return function(a,n,s){let i=n;try{let p=i&&i.__sentry_wrapped__;p&&o.call(this,a,p,s)}catch(p){}return o.call(this,a,i,s)}}))}var YTe="GlobalHandlers",ZTe=(e={})=>{let t={onerror:!0,onunhandledrejection:!0,...e};return{name:YTe,setupOnce(){Error.stackTraceLimit=50},setup(r){t.onerror&&(QTe(r),LU("onerror")),t.onunhandledrejection&&(eSe(r),LU("onunhandledrejection"))}}},zU=ZTe;function QTe(e){VA(t=>{let{stackParser:r,attachStacktrace:o}=WU();if(br()!==e||F2())return;let{msg:a,url:n,line:s,column:i,error:p}=t,l=oSe(tC(r,p||a,void 0,o,!1),n,s,i);l.level="error",Kb(l,{originalException:p,mechanism:{handled:!1,type:"onerror"}})})}function eSe(e){HA(t=>{let{stackParser:r,attachStacktrace:o}=WU();if(br()!==e||F2())return;let a=tSe(t),n=Gf(a)?rSe(a):tC(r,a,void 0,o,!0);n.level="error",Kb(n,{originalException:a,mechanism:{handled:!1,type:"onunhandledrejection"}})})}function tSe(e){if(Gf(e))return e;try{if("reason"in e)return e.reason;if("detail"in e&&"reason"in e.detail)return e.detail.reason}catch(t){}return e}function rSe(e){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(e)}`}]}}}function oSe(e,t,r,o){let a=e.exception=e.exception||{},n=a.values=a.values||[],s=n[0]=n[0]||{},i=s.stacktrace=s.stacktrace||{},p=i.frames=i.frames||[],l=isNaN(parseInt(o,10))?void 0:o,d=isNaN(parseInt(r,10))?void 0:r,u=Ka(t)&&t.length>0?t:JA();return p.length===0&&p.push({colno:l,filename:u,function:tl,in_app:!0,lineno:d}),e}function LU(e){ip&&je.log(`Global Handler attached: ${e}`)}function WU(){let e=br();return e&&e.getOptions()||{stackParser:()=>[],attachStacktrace:!1}}var UU=()=>({name:"HttpContext",preprocessEvent(e){if(!Ut.navigator&&!Ut.location&&!Ut.document)return;let t=e.request&&e.request.url||Ut.location&&Ut.location.href,{referrer:r}=Ut.document||{},{userAgent:o}=Ut.navigator||{},a={...e.request&&e.request.headers,...r&&{Referer:r},...o&&{"User-Agent":o}},n={...e.request,...t&&{url:t},headers:a};e.request=n}});var aSe="cause",nSe=5,sSe="LinkedErrors",iSe=(e={})=>{let t=e.limit||nSe,r=e.key||aSe;return{name:sSe,preprocessEvent(o,a,n){let s=n.getOptions();O2(eC,s.stackParser,s.maxValueLength,r,t,o,a)}}},VU=iSe;function HU(e){return[X_(),q_(),jU(),FU(),zU(),VU(),$h(),UU()]}function lSe(e={}){let t={defaultIntegrations:HU(),release:typeof __SENTRY_RELEASE__=="string"?__SENTRY_RELEASE__:Ut.SENTRY_RELEASE&&Ut.SENTRY_RELEASE.id?Ut.SENTRY_RELEASE.id:void 0,autoSessionTracking:!0,sendClientReports:!0};return e.defaultIntegrations==null&&delete e.defaultIntegrations,{...t,...e}}function pSe(){let e=typeof Ut.window!="undefined"&&Ut;if(!e)return!1;let t=e.chrome?"chrome":"browser",r=e[t],o=r&&r.runtime&&r.runtime.id,a=Ut.location&&Ut.location.href||"",n=["chrome-extension:","moz-extension:","ms-browser-extension:","safari-web-extension:"],s=!!o&&Ut===Ut.top&&n.some(p=>a.startsWith(`${p}//`)),i=typeof e.nw!="undefined";return!!o&&!s&&!i}function G2(e={}){let t=lSe(e);if(!t.skipBrowserExtensionCheck&&pSe()){Sn(()=>{console.error("[Sentry] You cannot run Sentry this way in a browser extension, check: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/")});return}ip&&(Y_()||je.warn("No Fetch API detected. The Sentry SDK requires a Fetch API compatible environment to send events. Please add a Fetch API polyfill."));let r={...t,stackParser:UA(t.stackParser||NU),integrations:b2(t),transport:t.transport||MU},o=S2(rC,r);return t.autoSessionTracking&&dSe(),o}function dSe(){if(typeof Ut.document=="undefined"){ip&&je.warn("Session tracking in non-browser environment with @sentry/browser is not supported.");return}Xb({ignoreDuration:!0}),Jb(),ev(({from:e,to:t})=>{e!==void 0&&e!==t&&(Xb({ignoreDuration:!0}),Jb())})}var ae=xd;var $U=yd;var dC=y(P());var iC=y(P());var kct=y(P());var vct=y(P());var GU=y(U());function fSe(e){return(0,GU.jsx)(r_,{...e,defaultTheme:Nh,themeId:Yi})}var q2=fSe;var qU=y(U());function KU(e){return function(r){return(0,qU.jsx)(q2,{styles:typeof e=="function"?o=>e({theme:o,...r}):e})}}function XU(){return gd}var cSe=c_,be=cSe;var Fct=y(P());var mSe=y(U());function ce(e){return OA(e)}function JU(e){return de("MuiSvgIcon",e)}var Hct=pe("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);var lC=y(U()),hSe=e=>{let{color:t,fontSize:r,classes:o}=e,a={root:["root",t!=="inherit"&&`color${ae(t)}`,`fontSize${ae(r)}`]};return fe(a,JU,o)},xSe=X("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.color!=="inherit"&&t[`color${ae(r.color)}`],t[`fontSize${ae(r.fontSize)}`]]}})(be(({theme:e})=>{var t,r,o,a,n,s,i,p,l,d,u,f,c,m,g,h,x,T;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",flexShrink:0,transition:(n=(t=e.transitions)==null?void 0:t.create)==null?void 0:n.call(t,"fill",{duration:(a=(o=((r=e.vars)!=null?r:e).transitions)==null?void 0:o.duration)==null?void 0:a.shorter}),variants:[{props:v=>!v.hasSvgAsChild,style:{fill:"currentColor"}},{props:{fontSize:"inherit"},style:{fontSize:"inherit"}},{props:{fontSize:"small"},style:{fontSize:((i=(s=e.typography)==null?void 0:s.pxToRem)==null?void 0:i.call(s,20))||"1.25rem"}},{props:{fontSize:"medium"},style:{fontSize:((l=(p=e.typography)==null?void 0:p.pxToRem)==null?void 0:l.call(p,24))||"1.5rem"}},{props:{fontSize:"large"},style:{fontSize:((u=(d=e.typography)==null?void 0:d.pxToRem)==null?void 0:u.call(d,35))||"2.1875rem"}},...Object.entries(((f=e.vars)!=null?f:e).palette).filter(([,v])=>v&&v.main).map(([v])=>{var b,w,O;return{props:{color:v},style:{color:(O=(w=((b=e.vars)!=null?b:e).palette)==null?void 0:w[v])==null?void 0:O.main}}}),{props:{color:"action"},style:{color:(g=(m=((c=e.vars)!=null?c:e).palette)==null?void 0:m.action)==null?void 0:g.active}},{props:{color:"disabled"},style:{color:(T=(x=((h=e.vars)!=null?h:e).palette)==null?void 0:x.action)==null?void 0:T.disabled}},{props:{color:"inherit"},style:{color:void 0}}]}})),K2=iC.forwardRef(function(t,r){let o=ce({props:t,name:"MuiSvgIcon"}),{children:a,className:n,color:s="inherit",component:i="svg",fontSize:p="medium",htmlColor:l,inheritViewBox:d=!1,titleAccess:u,viewBox:f="0 0 24 24",...c}=o,m=iC.isValidElement(a)&&a.type==="svg",g={...o,color:s,component:i,fontSize:p,instanceFontSize:t.fontSize,inheritViewBox:d,viewBox:f,hasSvgAsChild:m},h={};d||(h.viewBox=f);let x=hSe(g);return(0,lC.jsxs)(xSe,{as:i,className:z(x.root,n),focusable:"false",color:l,"aria-hidden":u?void 0:!0,role:u?"img":void 0,ref:r,...h,...c,...m&&a.props,ownerState:g,children:[m?a.props.children:a,u?(0,lC.jsx)("title",{children:u}):null]})});K2&&(K2.muiName="SvgIcon");var pC=K2;var YU=y(U());function te(e,t){function r(o,a){return(0,YU.jsx)(pC,{"data-testid":`${t}Icon`,ref:a,...o,children:e})}return r.muiName=pC.muiName,dC.memo(dC.forwardRef(r))}var Gh=Af;var qh=kh;var lp=Zr;var ll=Vn;var mi=ma;var ZU=Qi;var Yf=l_;var Ns=Ps;var fr=uo;function uC(e,t){return uC=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,o){return r.__proto__=o,r},uC(e,t)}function fC(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,uC(e,t)}var tv=y(P()),rv=y(Tw());var X2={disabled:!1};var QU=y(P()),Kh=QU.default.createContext(null);var eV=function(t){return t.scrollTop};var ov="unmounted",Zf="exited",Qf="entering",Jh="entered",J2="exiting",pp=function(e){fC(t,e);function t(o,a){var n;n=e.call(this,o,a)||this;var s=a,i=s&&!s.isMounting?o.enter:o.appear,p;return n.appearStatus=null,o.in?i?(p=Zf,n.appearStatus=Qf):p=Jh:o.unmountOnExit||o.mountOnEnter?p=ov:p=Zf,n.state={status:p},n.nextCallback=null,n}t.getDerivedStateFromProps=function(a,n){var s=a.in;return s&&n.status===ov?{status:Zf}:null};var r=t.prototype;return r.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},r.componentDidUpdate=function(a){var n=null;if(a!==this.props){var s=this.state.status;this.props.in?s!==Qf&&s!==Jh&&(n=Qf):(s===Qf||s===Jh)&&(n=J2)}this.updateStatus(!1,n)},r.componentWillUnmount=function(){this.cancelNextCallback()},r.getTimeouts=function(){var a=this.props.timeout,n,s,i;return n=s=i=a,a!=null&&typeof a!="number"&&(n=a.exit,s=a.enter,i=a.appear!==void 0?a.appear:s),{exit:n,enter:s,appear:i}},r.updateStatus=function(a,n){if(a===void 0&&(a=!1),n!==null)if(this.cancelNextCallback(),n===Qf){if(this.props.unmountOnExit||this.props.mountOnEnter){var s=this.props.nodeRef?this.props.nodeRef.current:rv.default.findDOMNode(this);s&&eV(s)}this.performEnter(a)}else this.performExit();else this.props.unmountOnExit&&this.state.status===Zf&&this.setState({status:ov})},r.performEnter=function(a){var n=this,s=this.props.enter,i=this.context?this.context.isMounting:a,p=this.props.nodeRef?[i]:[rv.default.findDOMNode(this),i],l=p[0],d=p[1],u=this.getTimeouts(),f=i?u.appear:u.enter;if(!a&&!s||X2.disabled){this.safeSetState({status:Jh},function(){n.props.onEntered(l)});return}this.props.onEnter(l,d),this.safeSetState({status:Qf},function(){n.props.onEntering(l,d),n.onTransitionEnd(f,function(){n.safeSetState({status:Jh},function(){n.props.onEntered(l,d)})})})},r.performExit=function(){var a=this,n=this.props.exit,s=this.getTimeouts(),i=this.props.nodeRef?void 0:rv.default.findDOMNode(this);if(!n||X2.disabled){this.safeSetState({status:Zf},function(){a.props.onExited(i)});return}this.props.onExit(i),this.safeSetState({status:J2},function(){a.props.onExiting(i),a.onTransitionEnd(s.exit,function(){a.safeSetState({status:Zf},function(){a.props.onExited(i)})})})},r.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},r.safeSetState=function(a,n){n=this.setNextCallback(n),this.setState(a,n)},r.setNextCallback=function(a){var n=this,s=!0;return this.nextCallback=function(i){s&&(s=!1,n.nextCallback=null,a(i))},this.nextCallback.cancel=function(){s=!1},this.nextCallback},r.onTransitionEnd=function(a,n){this.setNextCallback(n);var s=this.props.nodeRef?this.props.nodeRef.current:rv.default.findDOMNode(this),i=a==null&&!this.props.addEndListener;if(!s||i){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var p=this.props.nodeRef?[this.nextCallback]:[s,this.nextCallback],l=p[0],d=p[1];this.props.addEndListener(l,d)}a!=null&&setTimeout(this.nextCallback,a)},r.render=function(){var a=this.state.status;if(a===ov)return null;var n=this.props,s=n.children,i=n.in,p=n.mountOnEnter,l=n.unmountOnExit,d=n.appear,u=n.enter,f=n.exit,c=n.timeout,m=n.addEndListener,g=n.onEnter,h=n.onEntering,x=n.onEntered,T=n.onExit,v=n.onExiting,b=n.onExited,w=n.nodeRef,O=ze(n,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return tv.default.createElement(Kh.Provider,{value:null},typeof s=="function"?s(a,O):tv.default.cloneElement(tv.default.Children.only(s),O))},t}(tv.default.Component);pp.contextType=Kh;pp.propTypes={};function Xh(){}pp.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:Xh,onEntering:Xh,onEntered:Xh,onExit:Xh,onExiting:Xh,onExited:Xh};pp.UNMOUNTED=ov;pp.EXITED=Zf;pp.ENTERING=Qf;pp.ENTERED=Jh;pp.EXITING=J2;var av=pp;pt();function tV(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var nv=y(P());var Is=y(P());function cC(e,t){var r=function(n){return t&&(0,Is.isValidElement)(n)?t(n):n},o=Object.create(null);return e&&Is.Children.map(e,function(a){return a}).forEach(function(a){o[a.key]=r(a)}),o}function gSe(e,t){e=e||{},t=t||{};function r(d){return d in t?t[d]:e[d]}var o=Object.create(null),a=[];for(var n in e)n in t?a.length&&(o[n]=a,a=[]):a.push(n);var s,i={};for(var p in t){if(o[p])for(s=0;se.scrollTop;function Yh(e,t){var n,s;let{timeout:r,easing:o,style:a={}}=e;return{duration:(n=a.transitionDuration)!=null?n:typeof r=="number"?r:r[t.mode]||0,easing:(s=a.transitionTimingFunction)!=null?s:typeof o=="object"?o[t.mode]:o,delay:a.transitionDelay}}var nV=y(P());function aV(e){return de("MuiPaper",e)}var rht=pe("MuiPaper",["root","rounded","outlined","elevation","elevation0","elevation1","elevation2","elevation3","elevation4","elevation5","elevation6","elevation7","elevation8","elevation9","elevation10","elevation11","elevation12","elevation13","elevation14","elevation15","elevation16","elevation17","elevation18","elevation19","elevation20","elevation21","elevation22","elevation23","elevation24"]);var sV=y(U()),vSe=e=>{let{square:t,elevation:r,variant:o,classes:a}=e,n={root:["root",o,!t&&"rounded",o==="elevation"&&`elevation${r}`]};return fe(n,aV,a)},TSe=X("div",{name:"MuiPaper",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[r.variant],!r.square&&t.rounded,r.variant==="elevation"&&t[`elevation${r.elevation}`]]}})(be(({theme:e})=>({backgroundColor:(e.vars||e).palette.background.paper,color:(e.vars||e).palette.text.primary,transition:e.transitions.create("box-shadow"),variants:[{props:({ownerState:t})=>!t.square,style:{borderRadius:e.shape.borderRadius}},{props:{variant:"outlined"},style:{border:`1px solid ${(e.vars||e).palette.divider}`}},{props:{variant:"elevation"},style:{boxShadow:"var(--Paper-shadow)",backgroundImage:"var(--Paper-overlay)"}}]}))),SSe=nV.forwardRef(function(t,r){var c;let o=ce({props:t,name:"MuiPaper"}),a=Wo(),{className:n,component:s="div",elevation:i=1,square:p=!1,variant:l="elevation",...d}=o,u={...o,component:s,elevation:i,square:p,variant:l},f=vSe(u);return(0,sV.jsx)(TSe,{as:s,ownerState:u,className:z(f.root,n),ref:r,...d,style:{...l==="elevation"&&{"--Paper-shadow":(a.vars||a).shadows[i],...a.vars&&{"--Paper-overlay":(c=a.vars.overlays)==null?void 0:c[i]},...!a.vars&&a.palette.mode==="dark"&&{"--Paper-overlay":`linear-gradient(${St("#fff",Mh(i))}, ${St("#fff",Mh(i))})`}},...d.style}})}),Ya=SSe;function Qr(e,t){let{className:r,elementType:o,ownerState:a,externalForwardedProps:n,getSlotOwnerState:s,internalForwardedProps:i,...p}=t,{component:l,slots:d={[e]:void 0},slotProps:u={[e]:void 0},...f}=n,c=d[e]||o,m=Fb(u[e],a),{props:{component:g,...h},internalRef:x}=Ib({className:r,...p,externalForwardedProps:e==="root"?f:void 0,externalSlotProps:m}),T=uo(x,m==null?void 0:m.ref,t.ref),v=s?s(h):{},b={...a,...v},w=e==="root"?g||l:g,O=Nb(c,{...e==="root"&&!l&&!d[e]&&i,...e!=="root"&&!d[e]&&i,...h,...w&&{as:w},ref:T},b);return Object.keys(v).forEach(k=>{delete O[k]}),[c,O]}var pl=y(P());var hC=y(P());var Z2=class e{constructor(){A(this,"mountEffect",()=>{this.shouldMount&&!this.didMount&&this.ref.current!==null&&(this.didMount=!0,this.mounted.resolve())});this.ref={current:null},this.mounted=null,this.didMount=!1,this.shouldMount=!1,this.setShouldMount=null}static create(){return new e}static use(){let t=Eh(e.create).current,[r,o]=hC.useState(!1);return t.shouldMount=r,t.setShouldMount=o,hC.useEffect(t.mountEffect,[r]),t}mount(){return this.mounted||(this.mounted=wSe(),this.shouldMount=!0,this.setShouldMount(this.shouldMount)),this.mounted}start(...t){this.mount().then(()=>{var r;return(r=this.ref.current)==null?void 0:r.start(...t)})}stop(...t){this.mount().then(()=>{var r;return(r=this.ref.current)==null?void 0:r.stop(...t)})}pulsate(...t){this.mount().then(()=>{var r;return(r=this.ref.current)==null?void 0:r.pulsate(...t)})}};function xC(){return Z2.use()}function wSe(){let e,t,r=new Promise((o,a)=>{e=o,t=a});return r.resolve=e,r.reject=t,r}var $o=y(P());var gC=y(P());var Q2=y(U());function _Se(e){let{className:t,classes:r,pulsate:o=!1,rippleX:a,rippleY:n,rippleSize:s,in:i,onExited:p,timeout:l}=e,[d,u]=gC.useState(!1),f=z(t,r.ripple,r.rippleVisible,o&&r.ripplePulsate),c={width:s,height:s,top:-(s/2)+n,left:-(s/2)+a},m=z(r.child,d&&r.childLeaving,o&&r.childPulsate);return!i&&!d&&u(!0),gC.useEffect(()=>{if(!i&&p!=null){let g=setTimeout(p,l);return()=>{clearTimeout(g)}}},[p,i,l]),(0,Q2.jsx)("span",{className:f,style:c,children:(0,Q2.jsx)("span",{className:m})})}var iV=_Se;var CSe=pe("MuiTouchRipple",["root","ripple","rippleVisible","ripplePulsate","child","childLeaving","childPulsate"]),$n=CSe;var yC=y(U()),eM=550,OSe=80,kSe=Da` +`),typeof i=="string"||i instanceof Uint8Array)a(i);else{let p;try{p=JSON.stringify(i)}catch(l){p=JSON.stringify(Ns(i))}a(p)}}return typeof o=="string"?o:sse(o)}function sse(e){let t=e.reduce((a,n)=>a+n.length,0),r=new Uint8Array(t),o=0;for(let a of e)r.set(a,o),o+=a.length;return r}function hE(e){let t=typeof e.data=="string"?fE(e.data):e.data;return[lo({type:"attachment",length:t.length,filename:e.filename,content_type:e.contentType,attachment_type:e.attachmentType}),t]}var ise={session:"session",sessions:"session",attachment:"attachment",transaction:"transaction",event:"error",client_report:"internal",user_report:"default",profile:"profile",profile_chunk:"profile",replay_event:"replay",replay_recording:"replay",check_in:"monitor",feedback:"feedback",span:"span",statsd:"metric_bucket"};function ES(e){return ise[e]}function PS(e){if(!e||!e.sdk)return;let{name:t,version:r}=e.sdk;return{name:t,version:r}}function xE(e,t,r,o){let a=e.sdkProcessingMetadata&&e.sdkProcessingMetadata.dynamicSamplingContext;return{event_id:e.event_id,sent_at:new Date().toISOString(),...t&&{sdk:t},...!!r&&o&&{dsn:yl(o)},...a&&{trace:lo({...a})}}}function pse(e,t){return t&&(e.sdk=e.sdk||{},e.sdk.name=e.sdk.name||t.name,e.sdk.version=e.sdk.version||t.version,e.sdk.integrations=[...e.sdk.integrations||[],...t.integrations||[]],e.sdk.packages=[...e.sdk.packages||[],...t.packages||[]]),e}function w5(e,t,r,o){let a=PS(r),n={sent_at:new Date().toISOString(),...a&&{sdk:a},...!!o&&t&&{dsn:yl(t)}},s="aggregates"in e?[{type:"sessions"},e]:[{type:"session"},e.toJSON()];return Oi(n,[s])}function _5(e,t,r,o){let a=PS(r),n=e.type&&e.type!=="replay_event"?e.type:"event";pse(e,r&&r.sdk);let s=xE(e,a,o,t);return delete e.sdkProcessingMetadata,Oi(s,[[{type:n},e]])}function RS(e,t,r,o=0){return new Ms((a,n)=>{let s=e[o];if(t===null||typeof s!="function")a(t);else{let i=s({...t},r);wt&&s.id&&i===null&&Ae.log(`Event processor "${s.id}" dropped event`),ml(i)?i.then(p=>RS(e,p,r,o+1).then(a)).then(null,n):RS(e,i,r,o+1).then(a).then(null,n)}})}var DS,C5,AS;function O5(e){let t=Qe._sentryDebugIds;if(!t)return{};let r=Object.keys(t);return AS&&r.length===C5||(C5=r.length,AS=r.reduce((o,a)=>{DS||(DS={});let n=DS[a];if(n)o[n[0]]=n[1];else{let s=e(a);for(let i=s.length-1;i>=0;i--){let p=s[i],l=p&&p.filename,d=t[a];if(l&&d){o[l]=d,DS[a]=[l,d];break}}}return o},{})),AS}function k5(e,t){let{fingerprint:r,span:o,breadcrumbs:a,sdkProcessingMetadata:n}=t;dse(e,t),o&&cse(e,o),mse(e,r),use(e,a),fse(e,n)}function gE(e,t){let{extra:r,tags:o,user:a,contexts:n,level:s,sdkProcessingMetadata:i,breadcrumbs:p,fingerprint:l,eventProcessors:d,attachments:u,propagationContext:f,transactionName:c,span:h}=t;MS(e,"extra",r),MS(e,"tags",o),MS(e,"user",a),MS(e,"contexts",n),e.sdkProcessingMetadata=tm(e.sdkProcessingMetadata,i,2),s&&(e.level=s),c&&(e.transactionName=c),h&&(e.span=h),p.length&&(e.breadcrumbs=[...e.breadcrumbs,...p]),l.length&&(e.fingerprint=[...e.fingerprint,...l]),d.length&&(e.eventProcessors=[...e.eventProcessors,...d]),u.length&&(e.attachments=[...e.attachments,...u]),e.propagationContext={...e.propagationContext,...f}}function MS(e,t,r){e[t]=tm(e[t],r,1)}function dse(e,t){let{extra:r,tags:o,user:a,contexts:n,level:s,transactionName:i}=t,p=lo(r);p&&Object.keys(p).length&&(e.extra={...p,...e.extra});let l=lo(o);l&&Object.keys(l).length&&(e.tags={...l,...e.tags});let d=lo(a);d&&Object.keys(d).length&&(e.user={...d,...e.user});let u=lo(n);u&&Object.keys(u).length&&(e.contexts={...u,...e.contexts}),s&&(e.level=s),i&&e.type!=="transaction"&&(e.transaction=i)}function use(e,t){let r=[...e.breadcrumbs||[],...t];e.breadcrumbs=r.length?r:void 0}function fse(e,t){e.sdkProcessingMetadata={...e.sdkProcessingMetadata,...t}}function cse(e,t){e.contexts={trace:f5(t),...e.contexts},e.sdkProcessingMetadata={dynamicSamplingContext:y5(t),...e.sdkProcessingMetadata};let r=Ig(t),o=om(r).description;o&&!e.transaction&&e.type==="transaction"&&(e.transaction=o)}function mse(e,t){e.fingerprint=e.fingerprint?Array.isArray(e.fingerprint)?e.fingerprint:[e.fingerprint]:[],t&&(e.fingerprint=e.fingerprint.concat(t)),e.fingerprint&&!e.fingerprint.length&&delete e.fingerprint}function E5(e,t,r,o,a,n){let{normalizeDepth:s=3,normalizeMaxBreadth:i=1e3}=e,p={...t,event_id:t.event_id||r.event_id||So(),timestamp:t.timestamp||_i()},l=r.integrations||e.integrations.map(m=>m.name);hse(p,e),yse(p,l),a&&a.emit("applyFrameMetadata",t),t.type===void 0&&xse(p,e.stackParser);let d=bse(o,r.captureContext);r.mechanism&&hl(p,r.mechanism);let u=a?a.getEventProcessors():[],f=_S().getScopeData();if(n){let m=n.getScopeData();gE(f,m)}if(d){let m=d.getScopeData();gE(f,m)}let c=[...r.attachments||[],...f.attachments];c.length&&(r.attachments=c),k5(p,f);let h=[...u,...f.eventProcessors];return RS(h,p,r).then(m=>(m&&gse(m),typeof s=="number"&&s>0?vse(m,s,i):m))}function hse(e,t){let{environment:r,release:o,dist:a,maxValueLength:n=250}=t;e.environment=e.environment||r||am,!e.release&&o&&(e.release=o),!e.dist&&a&&(e.dist=a),e.message&&(e.message=wi(e.message,n));let s=e.exception&&e.exception.values&&e.exception.values[0];s&&s.value&&(s.value=wi(s.value,n));let i=e.request;i&&i.url&&(i.url=wi(i.url,n))}function xse(e,t){let r=O5(t);try{e.exception.values.forEach(o=>{o.stacktrace.frames.forEach(a=>{r&&a.filename&&(a.debug_id=r[a.filename])})})}catch(o){}}function gse(e){let t={};try{e.exception.values.forEach(o=>{o.stacktrace.frames.forEach(a=>{a.debug_id&&(a.abs_path?t[a.abs_path]=a.debug_id:a.filename&&(t[a.filename]=a.debug_id),delete a.debug_id)})})}catch(o){}if(Object.keys(t).length===0)return;e.debug_meta=e.debug_meta||{},e.debug_meta.images=e.debug_meta.images||[];let r=e.debug_meta.images;Object.entries(t).forEach(([o,a])=>{r.push({type:"sourcemap",code_file:o,debug_id:a})})}function yse(e,t){t.length>0&&(e.sdk=e.sdk||{},e.sdk.integrations=[...e.sdk.integrations||[],...t])}function vse(e,t,r){if(!e)return null;let o={...e,...e.breadcrumbs&&{breadcrumbs:e.breadcrumbs.map(a=>({...a,...a.data&&{data:Ns(a.data,t,r)}}))},...e.user&&{user:Ns(e.user,t,r)},...e.contexts&&{contexts:Ns(e.contexts,t,r)},...e.extra&&{extra:Ns(e.extra,t,r)}};return e.contexts&&e.contexts.trace&&o.contexts&&(o.contexts.trace=e.contexts.trace,e.contexts.trace.data&&(o.contexts.trace.data=Ns(e.contexts.trace.data,t,r))),e.spans&&(o.spans=e.spans.map(a=>({...a,...a.data&&{data:Ns(a.data,t,r)}}))),o}function bse(e,t){if(!t)return e;let r=e?e.clone():new gn;return r.update(t),r}function P5(e){if(e)return Tse(e)?{captureContext:e}:wse(e)?{captureContext:e}:e}function Tse(e){return e instanceof gn||typeof e=="function"}var Sse=["user","level","extra","contexts","tags","fingerprint","requestSession","propagationContext"];function wse(e){return Object.keys(e).some(t=>Sse.includes(t))}function NS(e,t){return Ko().captureException(e,P5(t))}function Fg(e,t){return Ko().captureEvent(e,t)}function Bg(e){let t=nr(),r=Ci(),o=Ko(),{release:a,environment:n=am}=t&&t.getOptions()||{},{userAgent:s}=Qe.navigator||{},i=e5({release:a,environment:n,user:o.getUser()||r.getUser(),...s&&{userAgent:s},...e}),p=r.getSession();return p&&p.status==="ok"&&gl(p,{status:"exited"}),IS(),r.setSession(i),o.setSession(i),i}function IS(){let e=Ci(),t=Ko(),r=t.getSession()||e.getSession();r&&t5(r),D5(),e.setSession(),t.setSession()}function D5(){let e=Ci(),t=Ko(),r=nr(),o=t.getSession()||e.getSession();o&&r&&r.captureSession(o)}function Lg(e=!1){if(e){IS();return}D5()}var _se="7";function Cse(e){let t=e.protocol?`${e.protocol}:`:"",r=e.port?`:${e.port}`:"";return`${t}//${e.host}${r}${e.path?`/${e.path}`:""}/api/`}function Ose(e){return`${Cse(e)}${e.projectId}/envelope/`}function kse(e,t){let r={sentry_version:_se};return e.publicKey&&(r.sentry_key=e.publicKey),t&&(r.sentry_client=`${t.name}/${t.version}`),new URLSearchParams(r).toString()}function A5(e,t,r){return t||`${Ose(e)}?${kse(e,r)}`}var M5=[];function Ese(e){let t={};return e.forEach(r=>{let{name:o}=r,a=t[o];a&&!a.isDefaultInstance&&r.isDefaultInstance||(t[o]=r)}),Object.values(t)}function yE(e){let t=e.defaultIntegrations||[],r=e.integrations;t.forEach(s=>{s.isDefaultInstance=!0});let o;if(Array.isArray(r))o=[...t,...r];else if(typeof r=="function"){let s=r(t);o=Array.isArray(s)?s:[s]}else o=t;let a=Ese(o),n=a.findIndex(s=>s.name==="Debug");if(n>-1){let[s]=a.splice(n,1);a.push(s)}return a}function N5(e,t){let r={};return t.forEach(o=>{o&&bE(e,o,r)}),r}function vE(e,t){for(let r of t)r&&r.afterAllSetup&&r.afterAllSetup(e)}function bE(e,t,r){if(r[t.name]){wt&&Ae.log(`Integration skipped because it was already installed: ${t.name}`);return}if(r[t.name]=t,M5.indexOf(t.name)===-1&&typeof t.setupOnce=="function"&&(t.setupOnce(),M5.push(t.name)),t.setup&&typeof t.setup=="function"&&t.setup(e),typeof t.preprocessEvent=="function"){let o=t.preprocessEvent.bind(t);e.on("preprocessEvent",(a,n)=>o(a,n,e))}if(typeof t.processEvent=="function"){let o=t.processEvent.bind(t),a=Object.assign((n,s)=>o(n,s,e),{id:t.name});e.addEventProcessor(a)}wt&&Ae.log(`Integration installed: ${t.name}`)}function I5(e,t,r){let o=[{type:"client_report"},{timestamp:r||_i(),discarded_events:e}];return Oi(t?{dsn:t}:{},[o])}var Oa=class extends Error{constructor(t,r="warn"){super(t),this.message=t,this.name=new.target.prototype.constructor.name,Object.setPrototypeOf(this,new.target.prototype),this.logLevel=r}};var F5="Not capturing exception because it's already been captured.",jg=class{constructor(t){if(this._options=t,this._integrations={},this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],t.dsn?this._dsn=dE(t.dsn):wt&&Ae.warn("No DSN provided, client will not send events."),this._dsn){let a=A5(this._dsn,t.tunnel,t._metadata?t._metadata.sdk:void 0);this._transport=t.transport({tunnel:this._options.tunnel,recordDroppedEvent:this.recordDroppedEvent.bind(this),...t.transportOptions,url:a})}let o=["enableTracing","tracesSampleRate","tracesSampler"].find(a=>a in t&&t[a]==null);o&&Xa(()=>{console.warn(`[Sentry] Deprecation warning: \`${o}\` is set to undefined, which leads to tracing being enabled. In v9, a value of \`undefined\` will result in tracing being disabled.`)})}captureException(t,r,o){let a=So();if(SS(t))return wt&&Ae.log(F5),a;let n={event_id:a,...r};return this._process(this.eventFromException(t,n).then(s=>this._captureEvent(s,n,o))),n.event_id}captureMessage(t,r,o,a){let n={event_id:So(),...o},s=Zc(t)?t:String(t),i=ku(t)?this.eventFromMessage(s,r,n):this.eventFromException(t,n);return this._process(i.then(p=>this._captureEvent(p,n,a))),n.event_id}captureEvent(t,r,o){let a=So();if(r&&r.originalException&&SS(r.originalException))return wt&&Ae.log(F5),a;let n={event_id:a,...r},i=(t.sdkProcessingMetadata||{}).capturedSpanScope;return this._process(this._captureEvent(t,n,i||o)),n.event_id}captureSession(t){typeof t.release!="string"?wt&&Ae.warn("Discarded session because of missing or non-string release"):(this.sendSession(t),gl(t,{init:!1}))}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}flush(t){let r=this._transport;return r?(this.emit("flush"),this._isClientDoneProcessing(t).then(o=>r.flush(t).then(a=>o&&a))):es(!0)}close(t){return this.flush(t).then(r=>(this.getOptions().enabled=!1,this.emit("close"),r))}getEventProcessors(){return this._eventProcessors}addEventProcessor(t){this._eventProcessors.push(t)}init(){(this._isEnabled()||this._options.integrations.some(({name:t})=>t.startsWith("Spotlight")))&&this._setupIntegrations()}getIntegrationByName(t){return this._integrations[t]}addIntegration(t){let r=this._integrations[t.name];bE(this,t,this._integrations),r||vE(this,[t])}sendEvent(t,r={}){this.emit("beforeSendEvent",t,r);let o=_5(t,this._dsn,this._options._metadata,this._options.tunnel);for(let n of r.attachments||[])o=cE(o,hE(n));let a=this.sendEnvelope(o);a&&a.then(n=>this.emit("afterSendEvent",t,n),null)}sendSession(t){let r=w5(t,this._dsn,this._options._metadata,this._options.tunnel);this.sendEnvelope(r)}recordDroppedEvent(t,r,o){if(this._options.sendClientReports){let a=typeof o=="number"?o:1,n=`${t}:${r}`;wt&&Ae.log(`Recording outcome: "${n}"${a>1?` (${a} times)`:""}`),this._outcomes[n]=(this._outcomes[n]||0)+a}}on(t,r){let o=this._hooks[t]=this._hooks[t]||[];return o.push(r),()=>{let a=o.indexOf(r);a>-1&&o.splice(a,1)}}emit(t,...r){let o=this._hooks[t];o&&o.forEach(a=>a(...r))}sendEnvelope(t){return this.emit("beforeEnvelope",t),this._isEnabled()&&this._transport?this._transport.send(t).then(null,r=>(wt&&Ae.error("Error while sending envelope:",r),r)):(wt&&Ae.error("Transport disabled"),es({}))}_setupIntegrations(){let{integrations:t}=this._options;this._integrations=N5(this,t),vE(this,t)}_updateSessionFromEvent(t,r){let o=!1,a=!1,n=r.exception&&r.exception.values;if(n){a=!0;for(let p of n){let l=p.mechanism;if(l&&l.handled===!1){o=!0;break}}}let s=t.status==="ok";(s&&t.errors===0||s&&o)&&(gl(t,{...o&&{status:"crashed"},errors:t.errors||Number(a||o)}),this.captureSession(t))}_isClientDoneProcessing(t){return new Ms(r=>{let o=0,a=1,n=setInterval(()=>{this._numProcessing==0?(clearInterval(n),r(!0)):(o+=a,t&&o>=t&&(clearInterval(n),r(!1)))},a)})}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(t,r,o=Ko(),a=Ci()){let n=this.getOptions(),s=Object.keys(this._integrations);return!r.integrations&&s.length>0&&(r.integrations=s),this.emit("preprocessEvent",t,r),t.type||a.setLastEventId(t.event_id||r.event_id),E5(n,t,r,o,this,a).then(i=>{if(i===null)return i;i.contexts={trace:nE(o),...i.contexts};let p=g5(this,o);return i.sdkProcessingMetadata={dynamicSamplingContext:p,...i.sdkProcessingMetadata},i})}_captureEvent(t,r={},o){return this._processEvent(t,r,o).then(a=>a.event_id,a=>{if(wt){let n=a;n.logLevel==="log"?Ae.log(n.message):Ae.warn(n)}})}_processEvent(t,r,o){let a=this.getOptions(),{sampleRate:n}=a,s=L5(t),i=B5(t),p=t.type||"error",l=`before send for type \`${p}\``,d=typeof n=="undefined"?void 0:v5(n);if(i&&typeof d=="number"&&Math.random()>d)return this.recordDroppedEvent("sample_rate","error",t),Op(new Oa(`Discarding event because it's not included in the random sample (sampling rate = ${n})`,"log"));let u=p==="replay_event"?"replay":p,c=(t.sdkProcessingMetadata||{}).capturedSpanIsolationScope;return this._prepareEvent(t,r,o,c).then(h=>{if(h===null)throw this.recordDroppedEvent("event_processor",u,t),new Oa("An event processor returned `null`, will not send event.","log");if(r.data&&r.data.__sentry__===!0)return h;let m=Rse(this,a,h,r);return Pse(m,l)}).then(h=>{if(h===null){if(this.recordDroppedEvent("before_send",u,t),s){let T=1+(t.spans||[]).length;this.recordDroppedEvent("before_send","span",T)}throw new Oa(`${l} returned \`null\`, will not send event.`,"log")}let g=o&&o.getSession();if(!s&&g&&this._updateSessionFromEvent(g,h),s){let x=h.sdkProcessingMetadata&&h.sdkProcessingMetadata.spanCountBeforeProcessing||0,T=h.spans?h.spans.length:0,b=x-T;b>0&&this.recordDroppedEvent("before_send","span",b)}let m=h.transaction_info;if(s&&m&&h.transaction!==t.transaction){let x="custom";h.transaction_info={...m,source:x}}return this.sendEvent(h,r),h}).then(null,h=>{throw h instanceof Oa?h:(this.captureException(h,{data:{__sentry__:!0},originalException:h}),new Oa(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event. +Reason: ${h}`))})}_process(t){this._numProcessing++,t.then(r=>(this._numProcessing--,r),r=>(this._numProcessing--,r))}_clearOutcomes(){let t=this._outcomes;return this._outcomes={},Object.entries(t).map(([r,o])=>{let[a,n]=r.split(":");return{reason:a,category:n,quantity:o}})}_flushOutcomes(){wt&&Ae.log("Flushing outcomes...");let t=this._clearOutcomes();if(t.length===0){wt&&Ae.log("No outcomes to send");return}if(!this._dsn){wt&&Ae.log("No dsn provided, will not send outcomes");return}wt&&Ae.log("Sending outcomes:",t);let r=I5(t,this._options.tunnel&&yl(this._dsn));this.sendEnvelope(r)}};function Pse(e,t){let r=`${t} must return \`null\` or a valid event.`;if(ml(e))return e.then(o=>{if(!Ds(o)&&o!==null)throw new Oa(r);return o},o=>{throw new Oa(`${t} rejected with ${o}`)});if(!Ds(e)&&e!==null)throw new Oa(r);return e}function Rse(e,t,r,o){let{beforeSend:a,beforeSendTransaction:n,beforeSendSpan:s}=t;if(B5(r)&&a)return a(r,o);if(L5(r)){if(r.spans&&s){let i=[];for(let p of r.spans){let l=s(p);l?i.push(l):(m5(),e.recordDroppedEvent("before_send","span"))}r.spans=i}if(n){if(r.spans){let i=r.spans.length;r.sdkProcessingMetadata={...r.sdkProcessingMetadata,spanCountBeforeProcessing:i}}return n(r,o)}}return r}function B5(e){return e.type===void 0}function L5(e){return e.type==="transaction"}function TE(e,t){t.debug===!0&&(wt?Ae.enable():Xa(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")})),Ko().update(t.initialScope);let o=new e(t);return SE(o),o.init(),o}function SE(e){Ko().setClient(e)}function j5(e){let t=[];function r(){return e===void 0||t.lengtho(i)).then(null,()=>o(i).then(null,()=>{})),i}function n(s){return new Ms((i,p)=>{let l=t.length;if(!l)return i(!0);let d=setTimeout(()=>{s&&s>0&&i(!1)},s);t.forEach(u=>{es(u).then(()=>{--l||(clearTimeout(d),i(!0))},p)})})}return{$:t,add:a,drain:n}}function Dse(e,t=Date.now()){let r=parseInt(`${e}`,10);if(!isNaN(r))return r*1e3;let o=Date.parse(`${e}`);return isNaN(o)?6e4:o-t}function Ase(e,t){return e[t]||e.all||0}function z5(e,t,r=Date.now()){return Ase(e,t)>r}function W5(e,{statusCode:t,headers:r},o=Date.now()){let a={...e},n=r&&r["x-sentry-rate-limits"],s=r&&r["retry-after"];if(n)for(let i of n.trim().split(",")){let[p,l,,,d]=i.split(":",5),u=parseInt(p,10),f=(isNaN(u)?60:u)*1e3;if(!l)a.all=o+f;else for(let c of l.split(";"))c==="metric_bucket"?(!d||d.split(";").includes("custom"))&&(a[c]=o+f):a[c]=o+f}else s?a.all=o+Dse(s,o):t===429&&(a.all=o+60*1e3);return a}var Mse=64;function FS(e,t,r=j5(e.bufferSize||Mse)){let o={},a=s=>r.drain(s);function n(s){let i=[];if(kS(s,(u,f)=>{let c=ES(f);if(z5(o,c)){let h=U5(u,f);e.recordDroppedEvent("ratelimit_backoff",c,h)}else i.push(u)}),i.length===0)return es({});let p=Oi(s[0],i),l=u=>{kS(p,(f,c)=>{let h=U5(f,c);e.recordDroppedEvent(u,ES(c),h)})},d=()=>t({body:mE(p)}).then(u=>(u.statusCode!==void 0&&(u.statusCode<200||u.statusCode>=300)&&wt&&Ae.warn(`Sentry responded with status code ${u.statusCode} to sent event.`),o=W5(o,u),u),u=>{throw l("network_error"),u});return r.add(d).then(u=>u,u=>{if(u instanceof Oa)return wt&&Ae.error("Skipped sending event because buffer is full."),l("queue_overflow"),es({});throw u})}return{send:n,flush:a}}function U5(e,t){if(!(t!=="event"&&t!=="transaction"))return Array.isArray(e)?e[1]:void 0}function wE(e,t,r=[t],o="npm"){let a=e._metadata||{};a.sdk||(a.sdk={name:`sentry.javascript.${t}`,packages:r.map(n=>({name:`${o}:@sentry/${n}`,version:Rs})),version:Rs}),e._metadata=a}var Nse=100;function ki(e,t){let r=nr(),o=Ci();if(!r)return;let{beforeBreadcrumb:a=null,maxBreadcrumbs:n=Nse}=r.getOptions();if(n<=0)return;let i={timestamp:_i(),...e},p=a?Xa(()=>a(i,t)):i;p!==null&&(r.emit&&r.emit("beforeAddBreadcrumb",p,t),o.addBreadcrumb(p,n))}var H5,Ise="FunctionToString",V5=new WeakMap,Fse=()=>({name:Ise,setupOnce(){H5=Function.prototype.toString;try{Function.prototype.toString=function(...e){let t=Pu(this),r=V5.has(nr())&&t!==void 0?t:this;return H5.apply(r,e)}}catch(e){}},setup(e){V5.set(e,!0)}}),BS=Fse;var Bse=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/,/^ResizeObserver loop completed with undelivered notifications.$/,/^Cannot redefine property: googletag$/,"undefined is not an object (evaluating 'a.L')",`can't redefine non-configurable property "solana"`,"vv().getRestrictions is not a function. (In 'vv().getRestrictions(1,a)', 'vv().getRestrictions' is undefined)","Can't find variable: _AutofillCallbackHandler"],Lse="InboundFilters",jse=(e={})=>({name:Lse,processEvent(t,r,o){let a=o.getOptions(),n=zse(e,a);return Wse(t,n)?null:t}}),jS=jse;function zse(e={},t={}){return{allowUrls:[...e.allowUrls||[],...t.allowUrls||[]],denyUrls:[...e.denyUrls||[],...t.denyUrls||[]],ignoreErrors:[...e.ignoreErrors||[],...t.ignoreErrors||[],...e.disableErrorDefaults?[]:Bse],ignoreTransactions:[...e.ignoreTransactions||[],...t.ignoreTransactions||[]],ignoreInternal:e.ignoreInternal!==void 0?e.ignoreInternal:!0}}function Wse(e,t){return t.ignoreInternal&&qse(e)?(wt&&Ae.warn(`Event dropped due to being internal Sentry Error. +Event: ${As(e)}`),!0):Use(e,t.ignoreErrors)?(wt&&Ae.warn(`Event dropped due to being matched by \`ignoreErrors\` option. +Event: ${As(e)}`),!0):Jse(e)?(wt&&Ae.warn(`Event dropped due to not having an error message, error type or stacktrace. +Event: ${As(e)}`),!0):Hse(e,t.ignoreTransactions)?(wt&&Ae.warn(`Event dropped due to being matched by \`ignoreTransactions\` option. +Event: ${As(e)}`),!0):Vse(e,t.denyUrls)?(wt&&Ae.warn(`Event dropped due to being matched by \`denyUrls\` option. +Event: ${As(e)}. +Url: ${LS(e)}`),!0):$se(e,t.allowUrls)?!1:(wt&&Ae.warn(`Event dropped due to not being matched by \`allowUrls\` option. +Event: ${As(e)}. +Url: ${LS(e)}`),!0)}function Use(e,t){return e.type||!t||!t.length?!1:Gse(e).some(r=>Qc(r,t))}function Hse(e,t){if(e.type!=="transaction"||!t||!t.length)return!1;let r=e.transaction;return r?Qc(r,t):!1}function Vse(e,t){if(!t||!t.length)return!1;let r=LS(e);return r?Qc(r,t):!1}function $se(e,t){if(!t||!t.length)return!0;let r=LS(e);return r?Qc(r,t):!0}function Gse(e){let t=[];e.message&&t.push(e.message);let r;try{r=e.exception.values[e.exception.values.length-1]}catch(o){}return r&&r.value&&(t.push(r.value),r.type&&t.push(`${r.type}: ${r.value}`)),t}function qse(e){try{return e.exception.values[0].type==="SentryError"}catch(t){}return!1}function Kse(e=[]){for(let t=e.length-1;t>=0;t--){let r=e[t];if(r&&r.filename!==""&&r.filename!=="[native code]")return r.filename||null}return null}function LS(e){try{let t;try{t=e.exception.values[0].stacktrace.frames}catch(r){}return t?Kse(t):null}catch(t){return wt&&Ae.error(`Cannot extract url for event ${As(e)}`),null}}function Jse(e){return e.type||!e.exception||!e.exception.values||e.exception.values.length===0?!1:!e.message&&!e.exception.values.some(t=>t.stacktrace||t.type&&t.type!=="Error"||t.value)}function CE(e,t,r=250,o,a,n,s){if(!n.exception||!n.exception.values||!s||!Si(s.originalException,Error))return;let i=n.exception.values.length>0?n.exception.values[n.exception.values.length-1]:void 0;i&&(n.exception.values=Xse(_E(e,t,a,s.originalException,o,n.exception.values,i,0),r))}function _E(e,t,r,o,a,n,s,i){if(n.length>=r+1)return n;let p=[...n];if(Si(o[a],Error)){$5(s,i);let l=e(t,o[a]),d=p.length;G5(l,a,d,i),p=_E(e,t,r,o[a],a,[l,...p],l,d)}return Array.isArray(o.errors)&&o.errors.forEach((l,d)=>{if(Si(l,Error)){$5(s,i);let u=e(t,l),f=p.length;G5(u,`errors[${d}]`,f,i),p=_E(e,t,r,l,a,[u,...p],u,f)}}),p}function $5(e,t){e.mechanism=e.mechanism||{type:"generic",handled:!0},e.mechanism={...e.mechanism,...e.type==="AggregateError"&&{is_exception_group:!0},exception_id:t}}function G5(e,t,r,o){e.mechanism=e.mechanism||{type:"generic",handled:!0},e.mechanism={...e.mechanism,type:"chained",source:t,exception_id:r,parent_id:o}}function Xse(e,t){return e.map(r=>(r.value&&(r.value=wi(r.value,t)),r))}function zg(e){if(!e)return{};let t=e.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!t)return{};let r=t[6]||"",o=t[8]||"";return{host:t[4],path:t[5],protocol:t[2],search:r,hash:o,relative:t[5]+r+o}}function OE(e){let t="console";Sa(t,e),wa(t,Yse)}function Yse(){"console"in Qe&&Rg.forEach(function(e){e in Qe.console&&To(Qe.console,e,function(t){return Xc[e]=t,function(...r){bo("console",{args:r,level:e});let a=Xc[e];a&&a.apply(Qe.console,r)}})})}function kE(e){return e==="warn"?"warning":["fatal","error","warning","log","info","debug"].includes(e)?e:"log"}var Zse="Dedupe",Qse=()=>{let e;return{name:Zse,processEvent(t){if(t.type)return t;try{if(eie(t,e))return wt&&Ae.warn("Event dropped due to being a duplicate of previously captured event."),null}catch(r){}return e=t}}},nm=Qse;function eie(e,t){return t?!!(tie(e,t)||rie(e,t)):!1}function tie(e,t){let r=e.message,o=t.message;return!(!r&&!o||r&&!o||!r&&o||r!==o||!J5(e,t)||!K5(e,t))}function rie(e,t){let r=q5(t),o=q5(e);return!(!r||!o||r.type!==o.type||r.value!==o.value||!J5(e,t)||!K5(e,t))}function K5(e,t){let r=cS(e),o=cS(t);if(!r&&!o)return!0;if(r&&!o||!r&&o||(r=r,o=o,o.length!==r.length))return!1;for(let a=0;a=400&&e<500?"warning":e>=500?"error":void 0}var EE=Qe;function WS(){if(!("fetch"in EE))return!1;try{return new Headers,new Request("http://www.example.com"),new Response,!0}catch(e){return!1}}function Wg(e){return e&&/^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())}function PE(){if(typeof EdgeRuntime=="string")return!0;if(!WS())return!1;if(Wg(EE.fetch))return!0;let e=!1,t=EE.document;if(t&&typeof t.createElement=="function")try{let r=t.createElement("iframe");r.hidden=!0,t.head.appendChild(r),r.contentWindow&&r.contentWindow.fetch&&(e=Wg(r.contentWindow.fetch)),t.head.removeChild(r)}catch(r){Zn&&Ae.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",r)}return e}function DE(e,t){let r="fetch";Sa(r,e),wa(r,()=>oie(void 0,t))}function oie(e,t=!1){t&&!PE()||To(Qe,"fetch",function(r){return function(...o){let{method:a,url:n}=aie(o),s={args:o,fetchData:{method:a,url:n},startTimestamp:Ya()*1e3};e||bo("fetch",{...s});let i=new Error().stack;return r.apply(Qe,o).then(async p=>(e?e(p):bo("fetch",{...s,endTimestamp:Ya()*1e3,response:p}),p),p=>{throw bo("fetch",{...s,endTimestamp:Ya()*1e3,error:p}),Ou(p)&&p.stack===void 0&&(p.stack=i,Ca(p,"framesToPop",1)),p})}})}function RE(e,t){return!!e&&typeof e=="object"&&!!e[t]}function X5(e){return typeof e=="string"?e:e?RE(e,"url")?e.url:e.toString?e.toString():"":""}function aie(e){if(e.length===0)return{method:"GET",url:""};if(e.length===2){let[r,o]=e;return{url:X5(r),method:RE(o,"method")?String(o.method).toUpperCase():"GET"}}let t=e[0];return{url:X5(t),method:RE(t,"method")?String(t.method).toUpperCase():"GET"}}function AE(){return"npm"}var US=Qe;function ME(){let e=US.chrome,t=e&&e.app&&e.app.runtime,r="history"in US&&!!US.history.pushState&&!!US.history.replaceState;return!t&&r}var At=Qe,NE=0;function IE(){return NE>0}function gie(){NE++,setTimeout(()=>{NE--})}function Ru(e,t={},r){if(typeof e!="function")return e;try{let a=e.__sentry_wrapped__;if(a)return typeof a=="function"?a:e;if(Pu(e))return e}catch(a){return e}let o=function(){let a=Array.prototype.slice.call(arguments);try{let n=a.map(s=>Ru(s,t));return e.apply(this,n)}catch(n){throw gie(),CS(s=>{s.addEventProcessor(i=>(t.mechanism&&(em(i,void 0,void 0),hl(i,t.mechanism)),i.extra={...i.extra,arguments:a},i)),NS(n)}),n}};try{for(let a in e)Object.prototype.hasOwnProperty.call(e,a)&&(o[a]=e[a])}catch(a){}bS(o,e),Ca(e,"__sentry_wrapped__",o);try{Object.getOwnPropertyDescriptor(o,"name").configurable&&Object.defineProperty(o,"name",{get(){return e.name}})}catch(a){}return o}var vl=typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__;function VS(e,t){let r=LE(e,t),o={type:Sie(t),value:wie(t)};return r.length&&(o.stacktrace={frames:r}),o.type===void 0&&o.value===""&&(o.value="Unrecoverable error caught"),o}function yie(e,t,r,o){let a=nr(),n=a&&a.getOptions().normalizeDepth,s=Oie(t),i={__serialized__:OS(t,n)};if(s)return{exception:{values:[VS(e,s)]},extra:i};let p={exception:{values:[{type:Eu(t)?t.constructor.name:o?"UnhandledRejection":"Error",value:_ie(t,{isUnhandledRejection:o})}]},extra:i};if(r){let l=LE(e,r);l.length&&(p.exception.values[0].stacktrace={frames:l})}return p}function FE(e,t){return{exception:{values:[VS(e,t)]}}}function LE(e,t){let r=t.stacktrace||t.stack||"",o=bie(t),a=Tie(t);try{return e(r,o,a)}catch(n){}return[]}var vie=/Minified React error #\d+;/i;function bie(e){return e&&vie.test(e.message)?1:0}function Tie(e){return typeof e.framesToPop=="number"?e.framesToPop:0}function Z5(e){return typeof WebAssembly!="undefined"&&typeof WebAssembly.Exception!="undefined"?e instanceof WebAssembly.Exception:!1}function Sie(e){let t=e&&e.name;return!t&&Z5(e)?e.message&&Array.isArray(e.message)&&e.message.length==2?e.message[0]:"WebAssembly.Exception":t}function wie(e){let t=e&&e.message;return t?t.error&&typeof t.error.message=="string"?t.error.message:Z5(e)&&Array.isArray(e.message)&&e.message.length==2?e.message[1]:t:"No error message"}function Q5(e,t,r,o){let a=r&&r.syntheticException||void 0,n=$S(e,t,a,o);return hl(n),n.level="error",r&&r.event_id&&(n.event_id=r.event_id),es(n)}function e3(e,t,r="info",o,a){let n=o&&o.syntheticException||void 0,s=BE(e,t,n,a);return s.level=r,o&&o.event_id&&(s.event_id=o.event_id),es(s)}function $S(e,t,r,o,a){let n;if(gS(t)&&t.error)return FE(e,t.error);if(yS(t)||Vk(t)){let s=t;if("stack"in t)n=FE(e,t);else{let i=s.name||(yS(s)?"DOMError":"DOMException"),p=s.message?`${i}: ${s.message}`:i;n=BE(e,p,r,o),em(n,p)}return"code"in s&&(n.tags={...n.tags,"DOMException.code":`${s.code}`}),n}return Ou(t)?FE(e,t):Ds(t)||Eu(t)?(n=yie(e,t,r,a),hl(n,{synthetic:!0}),n):(n=BE(e,t,r,o),em(n,`${t}`,void 0),hl(n,{synthetic:!0}),n)}function BE(e,t,r,o){let a={};if(o&&r){let n=LE(e,r);n.length&&(a.exception={values:[{value:t,stacktrace:{frames:n}}]})}if(Zc(t)){let{__sentry_template_string__:n,__sentry_template_values__:s}=t;return a.logentry={message:n,params:s},a}return a.message=t,a}function _ie(e,{isUnhandledRejection:t}){let r=Zk(e),o=t?"promise rejection":"exception";return gS(e)?`Event \`ErrorEvent\` captured as ${o} with message \`${e.message}\``:Eu(e)?`Event \`${Cie(e)}\` (type=${e.type}) captured as ${o}`:`Object captured as ${o} with keys: ${r}`}function Cie(e){try{let t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch(t){}}function Oie(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)){let r=e[t];if(r instanceof Error)return r}}function t3(e,{metadata:t,tunnel:r,dsn:o}){let a={event_id:e.event_id,sent_at:new Date().toISOString(),...t&&t.sdk&&{sdk:{name:t.sdk.name,version:t.sdk.version}},...!!r&&!!o&&{dsn:yl(o)}},n=kie(e);return Oi(a,[n])}function kie(e){return[{type:"user_report"},e]}var GS=class extends jg{constructor(t){let r={parentSpanIsAlwaysRootSpan:!0,...t},o=At.SENTRY_SDK_SOURCE||AE();wE(r,"browser",["browser"],o),super(r),r.sendClientReports&&At.document&&At.document.addEventListener("visibilitychange",()=>{At.document.visibilityState==="hidden"&&this._flushOutcomes()})}eventFromException(t,r){return Q5(this._options.stackParser,t,r,this._options.attachStacktrace)}eventFromMessage(t,r="info",o){return e3(this._options.stackParser,t,r,o,this._options.attachStacktrace)}captureUserFeedback(t){if(!this._isEnabled()){vl&&Ae.warn("SDK not enabled, will not capture user feedback.");return}let r=t3(t,{metadata:this.getSdkMetadata(),dsn:this.getDsn(),tunnel:this.getOptions().tunnel});this.sendEnvelope(r)}_prepareEvent(t,r,o){return t.platform=t.platform||"javascript",super._prepareEvent(t,r,o)}};var r3=typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__;var po=Qe;var Eie=1e3,o3,jE,zE;function WE(e){let t="dom";Sa(t,e),wa(t,Pie)}function Pie(){if(!po.document)return;let e=bo.bind(null,"dom"),t=a3(e,!0);po.document.addEventListener("click",t,!1),po.document.addEventListener("keypress",t,!1),["EventTarget","Node"].forEach(r=>{let o=po[r]&&po[r].prototype;!o||!o.hasOwnProperty||!o.hasOwnProperty("addEventListener")||(To(o,"addEventListener",function(a){return function(n,s,i){if(n==="click"||n=="keypress")try{let p=this,l=p.__sentry_instrumentation_handlers__=p.__sentry_instrumentation_handlers__||{},d=l[n]=l[n]||{refCount:0};if(!d.handler){let u=a3(e);d.handler=u,a.call(this,n,u,i)}d.refCount++}catch(p){}return a.call(this,n,s,i)}}),To(o,"removeEventListener",function(a){return function(n,s,i){if(n==="click"||n=="keypress")try{let p=this,l=p.__sentry_instrumentation_handlers__||{},d=l[n];d&&(d.refCount--,d.refCount<=0&&(a.call(this,n,d.handler,i),d.handler=void 0,delete l[n]),Object.keys(l).length===0&&delete p.__sentry_instrumentation_handlers__)}catch(p){}return a.call(this,n,s,i)}}))})}function Rie(e){if(e.type!==jE)return!1;try{if(!e.target||e.target._sentryId!==zE)return!1}catch(t){}return!0}function Die(e,t){return e!=="keypress"?!1:!t||!t.tagName?!0:!(t.tagName==="INPUT"||t.tagName==="TEXTAREA"||t.isContentEditable)}function a3(e,t=!1){return r=>{if(!r||r._sentryCaptured)return;let o=Aie(r);if(Die(r.type,o))return;Ca(r,"_sentryCaptured",!0),o&&!o._sentryId&&Ca(o,"_sentryId",So());let a=r.type==="keypress"?"input":r.type;Rie(r)||(e({event:r,name:a,global:t}),jE=r.type,zE=o?o._sentryId:void 0),clearTimeout(o3),o3=po.setTimeout(()=>{zE=void 0,jE=void 0},Eie)}}function Aie(e){try{return e.target}catch(t){return null}}var qS;function Ug(e){let t="history";Sa(t,e),wa(t,Mie)}function Mie(){if(!ME())return;let e=po.onpopstate;po.onpopstate=function(...r){let o=po.location.href,a=qS;if(qS=o,bo("history",{from:a,to:o}),e)try{return e.apply(this,r)}catch(s){}};function t(r){return function(...o){let a=o.length>2?o[2]:void 0;if(a){let n=qS,s=String(a);qS=s,bo("history",{from:n,to:s})}return r.apply(this,o)}}To(po.history,"pushState",t),To(po.history,"replaceState",t)}var KS={};function UE(e){let t=KS[e];if(t)return t;let r=po[e];if(Wg(r))return KS[e]=r.bind(po);let o=po.document;if(o&&typeof o.createElement=="function")try{let a=o.createElement("iframe");a.hidden=!0,o.head.appendChild(a);let n=a.contentWindow;n&&n[e]&&(r=n[e]),o.head.removeChild(a)}catch(a){r3&&Ae.warn(`Could not create sandbox iframe for ${e} check, bailing to window.${e}: `,a)}return r&&(KS[e]=r.bind(po))}function JS(e){KS[e]=void 0}var Du="__sentry_xhr_v3__";function HE(e){let t="xhr";Sa(t,e),wa(t,Nie)}function Nie(){if(!po.XMLHttpRequest)return;let e=XMLHttpRequest.prototype;e.open=new Proxy(e.open,{apply(t,r,o){let a=Ya()*1e3,n=_a(o[0])?o[0].toUpperCase():void 0,s=Iie(o[1]);if(!n||!s)return t.apply(r,o);r[Du]={method:n,url:s,request_headers:{}},n==="POST"&&s.match(/sentry_key/)&&(r.__sentry_own_request__=!0);let i=()=>{let p=r[Du];if(p&&r.readyState===4){try{p.status_code=r.status}catch(d){}let l={endTimestamp:Ya()*1e3,startTimestamp:a,xhr:r};bo("xhr",l)}};return"onreadystatechange"in r&&typeof r.onreadystatechange=="function"?r.onreadystatechange=new Proxy(r.onreadystatechange,{apply(p,l,d){return i(),p.apply(l,d)}}):r.addEventListener("readystatechange",i),r.setRequestHeader=new Proxy(r.setRequestHeader,{apply(p,l,d){let[u,f]=d,c=l[Du];return c&&_a(u)&&_a(f)&&(c.request_headers[u.toLowerCase()]=f),p.apply(l,d)}}),t.apply(r,o)}}),e.send=new Proxy(e.send,{apply(t,r,o){let a=r[Du];if(!a)return t.apply(r,o);o[0]!==void 0&&(a.body=o[0]);let n={startTimestamp:Ya()*1e3,xhr:r};return bo("xhr",n),t.apply(r,o)}})}function Iie(e){if(_a(e))return e;try{return e.toString()}catch(t){}}function n3(e,t=UE("fetch")){let r=0,o=0;function a(n){let s=n.body.length;r+=s,o++;let i={body:n.body,method:"POST",referrerPolicy:"origin",headers:e.headers,keepalive:r<=6e4&&o<15,...e.fetchOptions};if(!t)return JS("fetch"),Op("No fetch implementation available");try{return t(e.url,i).then(p=>(r-=s,o--,{statusCode:p.status,headers:{"x-sentry-rate-limits":p.headers.get("X-Sentry-Rate-Limits"),"retry-after":p.headers.get("Retry-After")}}))}catch(p){return JS("fetch"),r-=s,o--,Op(p)}}return FS(e,a)}var Fie=30;var Bie=50;function VE(e,t,r,o){let a={filename:e,function:t===""?Ti:t,in_app:!0};return r!==void 0&&(a.lineno=r),o!==void 0&&(a.colno=o),a}var Lie=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,jie=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,zie=/\((\S*)(?::(\d+))(?::(\d+))\)/,Wie=e=>{let t=Lie.exec(e);if(t){let[,o,a,n]=t;return VE(o,Ti,+a,+n)}let r=jie.exec(e);if(r){if(r[2]&&r[2].indexOf("eval")===0){let s=zie.exec(r[2]);s&&(r[2]=s[1],r[3]=s[2],r[4]=s[3])}let[a,n]=i3(r[1]||Ti,r[2]);return VE(n,a,r[3]?+r[3]:void 0,r[4]?+r[4]:void 0)}},Uie=[Fie,Wie],Hie=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,Vie=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,$ie=e=>{let t=Hie.exec(e);if(t){if(t[3]&&t[3].indexOf(" > eval")>-1){let n=Vie.exec(t[3]);n&&(t[1]=t[1]||"eval",t[3]=n[1],t[4]=n[2],t[5]="")}let o=t[3],a=t[1]||Ti;return[a,o]=i3(a,o),VE(o,a,t[4]?+t[4]:void 0,t[5]?+t[5]:void 0)}},Gie=[Bie,$ie];var qie=[Uie,Gie],s3=fS(...qie),i3=(e,t)=>{let r=e.indexOf("safari-extension")!==-1,o=e.indexOf("safari-web-extension")!==-1;return r||o?[e.indexOf("@")!==-1?e.split("@")[0]:Ti,r?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]};var XS=1024,Kie="Breadcrumbs",Jie=(e={})=>{let t={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...e};return{name:Kie,setup(r){t.console&&OE(Zie(r)),t.dom&&WE(Yie(r,t.dom)),t.xhr&&HE(Qie(r)),t.fetch&&DE(ele(r)),t.history&&Ug(tle(r)),t.sentry&&r.on("beforeSendEvent",Xie(r))}}},l3=Jie;function Xie(e){return function(r){nr()===e&&ki({category:`sentry.${r.type==="transaction"?"transaction":"event"}`,event_id:r.event_id,level:r.level,message:As(r)},{event:r})}}function Yie(e,t){return function(o){if(nr()!==e)return;let a,n,s=typeof t=="object"?t.serializeAttribute:void 0,i=typeof t=="object"&&typeof t.maxStringLength=="number"?t.maxStringLength:void 0;i&&i>XS&&(vl&&Ae.warn(`\`dom.maxStringLength\` cannot exceed ${XS}, but a value of ${i} was configured. Sentry will use ${XS} instead.`),i=XS),typeof s=="string"&&(s=[s]);try{let l=o.event,d=rle(l)?l.target:l;a=Mg(d,{keyAttrs:s,maxStringLength:i}),n=Xk(d)}catch(l){a=""}if(a.length===0)return;let p={category:`ui.${o.name}`,message:a};n&&(p.data={"ui.component_name":n}),ki(p,{event:o.event,name:o.name,global:o.global})}}function Zie(e){return function(r){if(nr()!==e)return;let o={category:"console",data:{arguments:r.args,logger:"console"},level:kE(r.level),message:vS(r.args," ")};if(r.level==="assert")if(r.args[0]===!1)o.message=`Assertion failed: ${vS(r.args.slice(1)," ")||"console.assert"}`,o.data.arguments=r.args.slice(1);else return;ki(o,{input:r.args,level:r.level})}}function Qie(e){return function(r){if(nr()!==e)return;let{startTimestamp:o,endTimestamp:a}=r,n=r.xhr[Du];if(!o||!a||!n)return;let{method:s,url:i,status_code:p,body:l}=n,d={method:s,url:i,status_code:p},u={xhr:r.xhr,input:l,startTimestamp:o,endTimestamp:a},f=zS(p);ki({category:"xhr",data:d,type:"http",level:f},u)}}function ele(e){return function(r){if(nr()!==e)return;let{startTimestamp:o,endTimestamp:a}=r;if(a&&!(r.fetchData.url.match(/sentry_key/)&&r.fetchData.method==="POST"))if(r.error){let n=r.fetchData,s={data:r.error,input:r.args,startTimestamp:o,endTimestamp:a};ki({category:"fetch",data:n,level:"error",type:"http"},s)}else{let n=r.response,s={...r.fetchData,status_code:n&&n.status},i={input:r.args,response:n,startTimestamp:o,endTimestamp:a},p=zS(s.status_code);ki({category:"fetch",data:s,type:"http",level:p},i)}}}function tle(e){return function(r){if(nr()!==e)return;let o=r.from,a=r.to,n=zg(At.location.href),s=o?zg(o):void 0,i=zg(a);(!s||!s.path)&&(s=n),n.protocol===i.protocol&&n.host===i.host&&(a=i.relative),n.protocol===s.protocol&&n.host===s.host&&(o=s.relative),ki({category:"navigation",data:{from:o,to:a}})}}function rle(e){return!!e&&!!e.target}var ole=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","BroadcastChannel","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","SharedWorker","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],ale="BrowserApiErrors",nle=(e={})=>{let t={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,...e};return{name:ale,setupOnce(){t.setTimeout&&To(At,"setTimeout",p3),t.setInterval&&To(At,"setInterval",p3),t.requestAnimationFrame&&To(At,"requestAnimationFrame",sle),t.XMLHttpRequest&&"XMLHttpRequest"in At&&To(XMLHttpRequest.prototype,"send",ile);let r=t.eventTarget;r&&(Array.isArray(r)?r:ole).forEach(lle)}}},d3=nle;function p3(e){return function(...t){let r=t[0];return t[0]=Ru(r,{mechanism:{data:{function:Qn(e)},handled:!1,type:"instrument"}}),e.apply(this,t)}}function sle(e){return function(t){return e.apply(this,[Ru(t,{mechanism:{data:{function:"requestAnimationFrame",handler:Qn(e)},handled:!1,type:"instrument"}})])}}function ile(e){return function(...t){let r=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(a=>{a in r&&typeof r[a]=="function"&&To(r,a,function(n){let s={mechanism:{data:{function:a,handler:Qn(n)},handled:!1,type:"instrument"}},i=Pu(n);return i&&(s.mechanism.data.handler=Qn(i)),Ru(n,s)})}),e.apply(this,t)}}function lle(e){let t=At,r=t[e]&&t[e].prototype;!r||!r.hasOwnProperty||!r.hasOwnProperty("addEventListener")||(To(r,"addEventListener",function(o){return function(a,n,s){try{typeof n.handleEvent=="function"&&(n.handleEvent=Ru(n.handleEvent,{mechanism:{data:{function:"handleEvent",handler:Qn(n),target:e},handled:!1,type:"instrument"}}))}catch(i){}return o.apply(this,[a,Ru(n,{mechanism:{data:{function:"addEventListener",handler:Qn(n),target:e},handled:!1,type:"instrument"}}),s])}}),To(r,"removeEventListener",function(o){return function(a,n,s){let i=n;try{let p=i&&i.__sentry_wrapped__;p&&o.call(this,a,p,s)}catch(p){}return o.call(this,a,i,s)}}))}var ple="GlobalHandlers",dle=(e={})=>{let t={onerror:!0,onunhandledrejection:!0,...e};return{name:ple,setupOnce(){Error.stackTraceLimit=50},setup(r){t.onerror&&(ule(r),u3("onerror")),t.onunhandledrejection&&(fle(r),u3("onunhandledrejection"))}}},f3=dle;function ule(e){Uk(t=>{let{stackParser:r,attachStacktrace:o}=c3();if(nr()!==e||IE())return;let{msg:a,url:n,line:s,column:i,error:p}=t,l=hle($S(r,p||a,void 0,o,!1),n,s,i);l.level="error",Fg(l,{originalException:p,mechanism:{handled:!1,type:"onerror"}})})}function fle(e){Hk(t=>{let{stackParser:r,attachStacktrace:o}=c3();if(nr()!==e||IE())return;let a=cle(t),n=ku(a)?mle(a):$S(r,a,void 0,o,!0);n.level="error",Fg(n,{originalException:a,mechanism:{handled:!1,type:"onunhandledrejection"}})})}function cle(e){if(ku(e))return e;try{if("reason"in e)return e.reason;if("detail"in e&&"reason"in e.detail)return e.detail.reason}catch(t){}return e}function mle(e){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(e)}`}]}}}function hle(e,t,r,o){let a=e.exception=e.exception||{},n=a.values=a.values||[],s=n[0]=n[0]||{},i=s.stacktrace=s.stacktrace||{},p=i.frames=i.frames||[],l=isNaN(parseInt(o,10))?void 0:o,d=isNaN(parseInt(r,10))?void 0:r,u=_a(t)&&t.length>0?t:Jk();return p.length===0&&p.push({colno:l,filename:u,function:Ti,in_app:!0,lineno:d}),e}function u3(e){vl&&Ae.log(`Global Handler attached: ${e}`)}function c3(){let e=nr();return e&&e.getOptions()||{stackParser:()=>[],attachStacktrace:!1}}var m3=()=>({name:"HttpContext",preprocessEvent(e){if(!At.navigator&&!At.location&&!At.document)return;let t=e.request&&e.request.url||At.location&&At.location.href,{referrer:r}=At.document||{},{userAgent:o}=At.navigator||{},a={...e.request&&e.request.headers,...r&&{Referer:r},...o&&{"User-Agent":o}},n={...e.request,...t&&{url:t},headers:a};e.request=n}});var xle="cause",gle=5,yle="LinkedErrors",vle=(e={})=>{let t=e.limit||gle,r=e.key||xle;return{name:yle,preprocessEvent(o,a,n){let s=n.getOptions();CE(VS,s.stackParser,s.maxValueLength,r,t,o,a)}}},h3=vle;function x3(e){return[jS(),BS(),d3(),l3(),f3(),h3(),nm(),m3()]}function ble(e={}){let t={defaultIntegrations:x3(),release:typeof __SENTRY_RELEASE__=="string"?__SENTRY_RELEASE__:At.SENTRY_RELEASE&&At.SENTRY_RELEASE.id?At.SENTRY_RELEASE.id:void 0,autoSessionTracking:!0,sendClientReports:!0};return e.defaultIntegrations==null&&delete e.defaultIntegrations,{...t,...e}}function Tle(){let e=typeof At.window!="undefined"&&At;if(!e)return!1;let t=e.chrome?"chrome":"browser",r=e[t],o=r&&r.runtime&&r.runtime.id,a=At.location&&At.location.href||"",n=["chrome-extension:","moz-extension:","ms-browser-extension:","safari-web-extension:"],s=!!o&&At===At.top&&n.some(p=>a.startsWith(`${p}//`)),i=typeof e.nw!="undefined";return!!o&&!s&&!i}function $E(e={}){let t=ble(e);if(!t.skipBrowserExtensionCheck&&Tle()){Xa(()=>{console.error("[Sentry] You cannot run Sentry this way in a browser extension, check: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/")});return}vl&&(WS()||Ae.warn("No Fetch API detected. The Sentry SDK requires a Fetch API compatible environment to send events. Please add a Fetch API polyfill."));let r={...t,stackParser:Wk(t.stackParser||s3),integrations:yE(t),transport:t.transport||n3},o=TE(GS,r);return t.autoSessionTracking&&Sle(),o}function Sle(){if(typeof At.document=="undefined"){vl&&Ae.warn("Session tracking in non-browser environment with @sentry/browser is not supported.");return}Bg({ignoreDuration:!0}),Lg(),Ug(({from:e,to:t})=>{e!==void 0&&e!==t&&(Bg({ignoreDuration:!0}),Lg())})}var Y=yp;var g3=vp;var ew=y(D());var YS=y(D());var bGe=y(D());var cGe=y(D());var y3=y($());function _le(e){return(0,y3.jsx)(PT,{...e,defaultTheme:_p,themeId:Xr})}var GE=_le;var v3=y($());function b3(e){return function(r){return(0,v3.jsx)(GE,{styles:typeof e=="function"?o=>e({theme:o,...r}):e})}}function T3(){return gi}var Cle=ZT,ge=Cle;var PGe=y(D());var Ole=y($());function ie(e){return wk(e)}function S3(e){return te("MuiSvgIcon",e)}var BGe=Q("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);var ZS=y($()),kle=e=>{let{color:t,fontSize:r,classes:o}=e,a={root:["root",t!=="inherit"&&`color${Y(t)}`,`fontSize${Y(r)}`]};return re(a,S3,o)},Ele=W("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.color!=="inherit"&&t[`color${Y(r.color)}`],t[`fontSize${Y(r.fontSize)}`]]}})(ge(({theme:e})=>{var t,r,o,a,n,s,i,p,l,d,u,f,c,h,g,m,x,T;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",flexShrink:0,transition:(n=(t=e.transitions)==null?void 0:t.create)==null?void 0:n.call(t,"fill",{duration:(a=(o=((r=e.vars)!=null?r:e).transitions)==null?void 0:o.duration)==null?void 0:a.shorter}),variants:[{props:b=>!b.hasSvgAsChild,style:{fill:"currentColor"}},{props:{fontSize:"inherit"},style:{fontSize:"inherit"}},{props:{fontSize:"small"},style:{fontSize:((i=(s=e.typography)==null?void 0:s.pxToRem)==null?void 0:i.call(s,20))||"1.25rem"}},{props:{fontSize:"medium"},style:{fontSize:((l=(p=e.typography)==null?void 0:p.pxToRem)==null?void 0:l.call(p,24))||"1.5rem"}},{props:{fontSize:"large"},style:{fontSize:((u=(d=e.typography)==null?void 0:d.pxToRem)==null?void 0:u.call(d,35))||"2.1875rem"}},...Object.entries(((f=e.vars)!=null?f:e).palette).filter(([,b])=>b&&b.main).map(([b])=>{var v,w,O;return{props:{color:b},style:{color:(O=(w=((v=e.vars)!=null?v:e).palette)==null?void 0:w[b])==null?void 0:O.main}}}),{props:{color:"action"},style:{color:(g=(h=((c=e.vars)!=null?c:e).palette)==null?void 0:h.action)==null?void 0:g.active}},{props:{color:"disabled"},style:{color:(T=(x=((m=e.vars)!=null?m:e).palette)==null?void 0:x.action)==null?void 0:T.disabled}},{props:{color:"inherit"},style:{color:void 0}}]}})),qE=YS.forwardRef(function(t,r){let o=ie({props:t,name:"MuiSvgIcon"}),{children:a,className:n,color:s="inherit",component:i="svg",fontSize:p="medium",htmlColor:l,inheritViewBox:d=!1,titleAccess:u,viewBox:f="0 0 24 24",...c}=o,h=YS.isValidElement(a)&&a.type==="svg",g={...o,color:s,component:i,fontSize:p,instanceFontSize:t.fontSize,inheritViewBox:d,viewBox:f,hasSvgAsChild:h},m={};d||(m.viewBox=f);let x=kle(g);return(0,ZS.jsxs)(Ele,{as:i,className:K(x.root,n),focusable:"false",color:l,"aria-hidden":u?void 0:!0,role:u?"img":void 0,ref:r,...m,...c,...h&&a.props,ownerState:g,children:[h?a.props.children:a,u?(0,ZS.jsx)("title",{children:u}):null]})});qE&&(qE.muiName="SvgIcon");var QS=qE;var w3=y($());function Z(e,t){function r(o,a){return(0,w3.jsx)(QS,{"data-testid":`${t}Icon`,ref:a,...o,children:e})}return r.muiName=QS.muiName,ew.memo(ew.forwardRef(r))}var sm=cu;var im=zc;var bl=Dr;var Ei=hn;var Is=$o;var _3=vi;var Au=VT;var ts=Xn;var Qt=Ur;function tw(e,t){if(e==null)return{};var r={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(t.includes(o))continue;r[o]=e[o]}return r}function rw(e,t){return rw=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,o){return r.__proto__=o,r},rw(e,t)}function ow(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,rw(e,t)}var Hg=y(D()),Vg=y(aT());var KE={disabled:!1};var C3=y(D()),lm=C3.default.createContext(null);var O3=function(t){return t.scrollTop};var $g="unmounted",Mu="exited",Nu="entering",dm="entered",JE="exiting",Tl=function(e){ow(t,e);function t(o,a){var n;n=e.call(this,o,a)||this;var s=a,i=s&&!s.isMounting?o.enter:o.appear,p;return n.appearStatus=null,o.in?i?(p=Mu,n.appearStatus=Nu):p=dm:o.unmountOnExit||o.mountOnEnter?p=$g:p=Mu,n.state={status:p},n.nextCallback=null,n}t.getDerivedStateFromProps=function(a,n){var s=a.in;return s&&n.status===$g?{status:Mu}:null};var r=t.prototype;return r.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},r.componentDidUpdate=function(a){var n=null;if(a!==this.props){var s=this.state.status;this.props.in?s!==Nu&&s!==dm&&(n=Nu):(s===Nu||s===dm)&&(n=JE)}this.updateStatus(!1,n)},r.componentWillUnmount=function(){this.cancelNextCallback()},r.getTimeouts=function(){var a=this.props.timeout,n,s,i;return n=s=i=a,a!=null&&typeof a!="number"&&(n=a.exit,s=a.enter,i=a.appear!==void 0?a.appear:s),{exit:n,enter:s,appear:i}},r.updateStatus=function(a,n){if(a===void 0&&(a=!1),n!==null)if(this.cancelNextCallback(),n===Nu){if(this.props.unmountOnExit||this.props.mountOnEnter){var s=this.props.nodeRef?this.props.nodeRef.current:Vg.default.findDOMNode(this);s&&O3(s)}this.performEnter(a)}else this.performExit();else this.props.unmountOnExit&&this.state.status===Mu&&this.setState({status:$g})},r.performEnter=function(a){var n=this,s=this.props.enter,i=this.context?this.context.isMounting:a,p=this.props.nodeRef?[i]:[Vg.default.findDOMNode(this),i],l=p[0],d=p[1],u=this.getTimeouts(),f=i?u.appear:u.enter;if(!a&&!s||KE.disabled){this.safeSetState({status:dm},function(){n.props.onEntered(l)});return}this.props.onEnter(l,d),this.safeSetState({status:Nu},function(){n.props.onEntering(l,d),n.onTransitionEnd(f,function(){n.safeSetState({status:dm},function(){n.props.onEntered(l,d)})})})},r.performExit=function(){var a=this,n=this.props.exit,s=this.getTimeouts(),i=this.props.nodeRef?void 0:Vg.default.findDOMNode(this);if(!n||KE.disabled){this.safeSetState({status:Mu},function(){a.props.onExited(i)});return}this.props.onExit(i),this.safeSetState({status:JE},function(){a.props.onExiting(i),a.onTransitionEnd(s.exit,function(){a.safeSetState({status:Mu},function(){a.props.onExited(i)})})})},r.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},r.safeSetState=function(a,n){n=this.setNextCallback(n),this.setState(a,n)},r.setNextCallback=function(a){var n=this,s=!0;return this.nextCallback=function(i){s&&(s=!1,n.nextCallback=null,a(i))},this.nextCallback.cancel=function(){s=!1},this.nextCallback},r.onTransitionEnd=function(a,n){this.setNextCallback(n);var s=this.props.nodeRef?this.props.nodeRef.current:Vg.default.findDOMNode(this),i=a==null&&!this.props.addEndListener;if(!s||i){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var p=this.props.nodeRef?[this.nextCallback]:[s,this.nextCallback],l=p[0],d=p[1];this.props.addEndListener(l,d)}a!=null&&setTimeout(this.nextCallback,a)},r.render=function(){var a=this.state.status;if(a===$g)return null;var n=this.props,s=n.children,i=n.in,p=n.mountOnEnter,l=n.unmountOnExit,d=n.appear,u=n.enter,f=n.exit,c=n.timeout,h=n.addEndListener,g=n.onEnter,m=n.onEntering,x=n.onEntered,T=n.onExit,b=n.onExiting,v=n.onExited,w=n.nodeRef,O=tw(n,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return Hg.default.createElement(lm.Provider,{value:null},typeof s=="function"?s(a,O):Hg.default.cloneElement(Hg.default.Children.only(s),O))},t}(Hg.default.Component);Tl.contextType=lm;Tl.propTypes={};function pm(){}Tl.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:pm,onEntering:pm,onEntered:pm,onExit:pm,onExiting:pm,onExited:pm};Tl.UNMOUNTED=$g;Tl.EXITED=Mu;Tl.ENTERING=Nu;Tl.ENTERED=dm;Tl.EXITING=JE;var Gg=Tl;function k3(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var qg=y(D());var rs=y(D());function aw(e,t){var r=function(n){return t&&(0,rs.isValidElement)(n)?t(n):n},o=Object.create(null);return e&&rs.Children.map(e,function(a){return a}).forEach(function(a){o[a.key]=r(a)}),o}function Ple(e,t){e=e||{},t=t||{};function r(d){return d in t?t[d]:e[d]}var o=Object.create(null),a=[];for(var n in e)n in t?a.length&&(o[n]=a,a=[]):a.push(n);var s,i={};for(var p in t){if(o[p])for(s=0;se.scrollTop;function um(e,t){var n,s;let{timeout:r,easing:o,style:a={}}=e;return{duration:(n=a.transitionDuration)!=null?n:typeof r=="number"?r:r[t.mode]||0,easing:(s=a.transitionTimingFunction)!=null?s:typeof o=="object"?o[t.mode]:o,delay:a.transitionDelay}}var D3=y(D());function R3(e){return te("MuiPaper",e)}var Xqe=Q("MuiPaper",["root","rounded","outlined","elevation","elevation0","elevation1","elevation2","elevation3","elevation4","elevation5","elevation6","elevation7","elevation8","elevation9","elevation10","elevation11","elevation12","elevation13","elevation14","elevation15","elevation16","elevation17","elevation18","elevation19","elevation20","elevation21","elevation22","elevation23","elevation24"]);var A3=y($()),Ale=e=>{let{square:t,elevation:r,variant:o,classes:a}=e,n={root:["root",o,!t&&"rounded",o==="elevation"&&`elevation${r}`]};return re(n,R3,a)},Mle=W("div",{name:"MuiPaper",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[r.variant],!r.square&&t.rounded,r.variant==="elevation"&&t[`elevation${r.elevation}`]]}})(ge(({theme:e})=>({backgroundColor:(e.vars||e).palette.background.paper,color:(e.vars||e).palette.text.primary,transition:e.transitions.create("box-shadow"),variants:[{props:({ownerState:t})=>!t.square,style:{borderRadius:e.shape.borderRadius}},{props:{variant:"outlined"},style:{border:`1px solid ${(e.vars||e).palette.divider}`}},{props:{variant:"elevation"},style:{boxShadow:"var(--Paper-shadow)",backgroundImage:"var(--Paper-overlay)"}}]}))),Nle=D3.forwardRef(function(t,r){var c;let o=ie({props:t,name:"MuiPaper"}),a=Zr(),{className:n,component:s="div",elevation:i=1,square:p=!1,variant:l="elevation",...d}=o,u={...o,component:s,elevation:i,square:p,variant:l},f=Ale(u);return(0,A3.jsx)(Mle,{as:s,ownerState:u,className:K(f.root,n),ref:r,...d,style:{...l==="elevation"&&{"--Paper-shadow":(a.vars||a).shadows[i],...a.vars&&{"--Paper-overlay":(c=a.vars.overlays)==null?void 0:c[i]},...!a.vars&&a.palette.mode==="dark"&&{"--Paper-overlay":`linear-gradient(${st("#fff",Kc(i))}, ${st("#fff",Kc(i))})`}},...d.style}})}),Ar=Nle;function Mr(e,t){let{className:r,elementType:o,ownerState:a,externalForwardedProps:n,getSlotOwnerState:s,internalForwardedProps:i,...p}=t,{component:l,slots:d={[e]:void 0},slotProps:u={[e]:void 0},...f}=n,c=d[e]||o,h=vg(u[e],a),{props:{component:g,...m},internalRef:x}=yg({className:r,...p,externalForwardedProps:e==="root"?f:void 0,externalSlotProps:h}),T=Ur(x,h==null?void 0:h.ref,t.ref),b=s?s(m):{},v={...a,...b},w=e==="root"?g||l:g,O=gg(c,{...e==="root"&&!l&&!d[e]&&i,...e!=="root"&&!d[e]&&i,...m,...w&&{as:w},ref:T},v);return Object.keys(b).forEach(k=>{delete O[k]}),[c,O]}var Pi=y(D());var sw=y(D());var ZE=class e{constructor(){A(this,"mountEffect",()=>{this.shouldMount&&!this.didMount&&this.ref.current!==null&&(this.didMount=!0,this.mounted.resolve())});this.ref={current:null},this.mounted=null,this.didMount=!1,this.shouldMount=!1,this.setShouldMount=null}static create(){return new e}static use(){let t=Wc(e.create).current,[r,o]=sw.useState(!1);return t.shouldMount=r,t.setShouldMount=o,sw.useEffect(t.mountEffect,[r]),t}mount(){return this.mounted||(this.mounted=Ile(),this.shouldMount=!0,this.setShouldMount(this.shouldMount)),this.mounted}start(...t){this.mount().then(()=>{var r;return(r=this.ref.current)==null?void 0:r.start(...t)})}stop(...t){this.mount().then(()=>{var r;return(r=this.ref.current)==null?void 0:r.stop(...t)})}pulsate(...t){this.mount().then(()=>{var r;return(r=this.ref.current)==null?void 0:r.pulsate(...t)})}};function iw(){return ZE.use()}function Ile(){let e,t,r=new Promise((o,a)=>{e=o,t=a});return r.resolve=e,r.reject=t,r}var wo=y(D());var lw=y(D());var QE=y($());function Fle(e){let{className:t,classes:r,pulsate:o=!1,rippleX:a,rippleY:n,rippleSize:s,in:i,onExited:p,timeout:l}=e,[d,u]=lw.useState(!1),f=K(t,r.ripple,r.rippleVisible,o&&r.ripplePulsate),c={width:s,height:s,top:-(s/2)+n,left:-(s/2)+a},h=K(r.child,d&&r.childLeaving,o&&r.childPulsate);return!i&&!d&&u(!0),lw.useEffect(()=>{if(!i&&p!=null){let g=setTimeout(p,l);return()=>{clearTimeout(g)}}},[p,i,l]),(0,QE.jsx)("span",{className:f,style:c,children:(0,QE.jsx)("span",{className:h})})}var M3=Fle;var Ble=Q("MuiTouchRipple",["root","ripple","rippleVisible","ripplePulsate","child","childLeaving","childPulsate"]),yn=Ble;var pw=y($()),eP=550,Lle=80,jle=Ta` 0% { transform: scale(0); opacity: 0.1; @@ -40,7 +67,7 @@ Url: ${K_(e)}`),!0)}function Rve(e,t){return e.type||!t||!t.length?!1:Nve(e).som transform: scale(1); opacity: 0.3; } -`,ESe=Da` +`,zle=Ta` 0% { opacity: 1; } @@ -48,7 +75,7 @@ Url: ${K_(e)}`),!0)}function Rve(e,t){return e.type||!t||!t.length?!1:Nve(e).som 100% { opacity: 0; } -`,PSe=Da` +`,Wle=Ta` 0% { transform: scale(1); } @@ -60,23 +87,23 @@ Url: ${K_(e)}`),!0)}function Rve(e,t){return e.type||!t||!t.length?!1:Nve(e).som 100% { transform: scale(1); } -`,RSe=X("span",{name:"MuiTouchRipple",slot:"Root"})({overflow:"hidden",pointerEvents:"none",position:"absolute",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:"inherit"}),DSe=X(iV,{name:"MuiTouchRipple",slot:"Ripple"})` +`,Ule=W("span",{name:"MuiTouchRipple",slot:"Root"})({overflow:"hidden",pointerEvents:"none",position:"absolute",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:"inherit"}),Hle=W(M3,{name:"MuiTouchRipple",slot:"Ripple"})` opacity: 0; position: absolute; - &.${$n.rippleVisible} { + &.${yn.rippleVisible} { opacity: 0.3; transform: scale(1); - animation-name: ${kSe}; - animation-duration: ${eM}ms; + animation-name: ${jle}; + animation-duration: ${eP}ms; animation-timing-function: ${({theme:e})=>e.transitions.easing.easeInOut}; } - &.${$n.ripplePulsate} { + &.${yn.ripplePulsate} { animation-duration: ${({theme:e})=>e.transitions.duration.shorter}ms; } - & .${$n.child} { + & .${yn.child} { opacity: 1; display: block; width: 100%; @@ -85,26 +112,26 @@ Url: ${K_(e)}`),!0)}function Rve(e,t){return e.type||!t||!t.length?!1:Nve(e).som background-color: currentColor; } - & .${$n.childLeaving} { + & .${yn.childLeaving} { opacity: 0; - animation-name: ${ESe}; - animation-duration: ${eM}ms; + animation-name: ${zle}; + animation-duration: ${eP}ms; animation-timing-function: ${({theme:e})=>e.transitions.easing.easeInOut}; } - & .${$n.childPulsate} { + & .${yn.childPulsate} { position: absolute; /* @noflip */ left: 0px; top: 0; - animation-name: ${PSe}; + animation-name: ${Wle}; animation-duration: 2500ms; animation-timing-function: ${({theme:e})=>e.transitions.easing.easeInOut}; animation-iteration-count: infinite; animation-delay: 200ms; } -`,ASe=$o.forwardRef(function(t,r){let o=ce({props:t,name:"MuiTouchRipple"}),{center:a=!1,classes:n={},className:s,...i}=o,[p,l]=$o.useState([]),d=$o.useRef(0),u=$o.useRef(null);$o.useEffect(()=>{u.current&&(u.current(),u.current=null)},[p]);let f=$o.useRef(!1),c=vn(),m=$o.useRef(null),g=$o.useRef(null),h=$o.useCallback(b=>{let{pulsate:w,rippleX:O,rippleY:k,rippleSize:M,cb:N}=b;l(S=>[...S,(0,yC.jsx)(DSe,{classes:{ripple:z(n.ripple,$n.ripple),rippleVisible:z(n.rippleVisible,$n.rippleVisible),ripplePulsate:z(n.ripplePulsate,$n.ripplePulsate),child:z(n.child,$n.child),childLeaving:z(n.childLeaving,$n.childLeaving),childPulsate:z(n.childPulsate,$n.childPulsate)},timeout:eM,pulsate:w,rippleX:O,rippleY:k,rippleSize:M},d.current)]),d.current+=1,u.current=N},[n]),x=$o.useCallback((b={},w={},O=()=>{})=>{let{pulsate:k=!1,center:M=a||w.pulsate,fakeElement:N=!1}=w;if((b==null?void 0:b.type)==="mousedown"&&f.current){f.current=!1;return}(b==null?void 0:b.type)==="touchstart"&&(f.current=!0);let S=N?null:g.current,B=S?S.getBoundingClientRect():{width:0,height:0,left:0,top:0},$,K,G;if(M||b===void 0||b.clientX===0&&b.clientY===0||!b.clientX&&!b.touches)$=Math.round(B.width/2),K=Math.round(B.height/2);else{let{clientX:L,clientY:Y}=b.touches&&b.touches.length>0?b.touches[0]:b;$=Math.round(L-B.left),K=Math.round(Y-B.top)}if(M)G=Math.sqrt((2*B.width**2+B.height**2)/3),G%2===0&&(G+=1);else{let L=Math.max(Math.abs((S?S.clientWidth:0)-$),$)*2+2,Y=Math.max(Math.abs((S?S.clientHeight:0)-K),K)*2+2;G=Math.sqrt(L**2+Y**2)}b!=null&&b.touches?m.current===null&&(m.current=()=>{h({pulsate:k,rippleX:$,rippleY:K,rippleSize:G,cb:O})},c.start(OSe,()=>{m.current&&(m.current(),m.current=null)})):h({pulsate:k,rippleX:$,rippleY:K,rippleSize:G,cb:O})},[a,h,c]),T=$o.useCallback(()=>{x({},{pulsate:!0})},[x]),v=$o.useCallback((b,w)=>{if(c.clear(),(b==null?void 0:b.type)==="touchend"&&m.current){m.current(),m.current=null,c.start(0,()=>{v(b,w)});return}m.current=null,l(O=>O.length>0?O.slice(1):O),u.current=w},[c]);return $o.useImperativeHandle(r,()=>({pulsate:T,start:x,stop:v}),[T,x,v]),(0,yC.jsx)(RSe,{className:z($n.root,n.root,s),ref:g,...i,children:(0,yC.jsx)(sv,{component:null,exit:!0,children:p})})}),lV=ASe;function pV(e){return de("MuiButtonBase",e)}var MSe=pe("MuiButtonBase",["root","disabled","focusVisible"]),dV=MSe;var bC=y(U()),NSe=e=>{let{disabled:t,focusVisible:r,focusVisibleClassName:o,classes:a}=e,s=fe({root:["root",t&&"disabled",r&&"focusVisible"]},pV,a);return r&&o&&(s.root+=` ${o}`),s},ISe=X("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},[`&.${dV.disabled}`]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}}),FSe=pl.forwardRef(function(t,r){let o=ce({props:t,name:"MuiButtonBase"}),{action:a,centerRipple:n=!1,children:s,className:i,component:p="button",disabled:l=!1,disableRipple:d=!1,disableTouchRipple:u=!1,focusRipple:f=!1,focusVisibleClassName:c,LinkComponent:m="a",onBlur:g,onClick:h,onContextMenu:x,onDragLeave:T,onFocus:v,onFocusVisible:b,onKeyDown:w,onKeyUp:O,onMouseDown:k,onMouseLeave:M,onMouseUp:N,onTouchEnd:S,onTouchMove:B,onTouchStart:$,tabIndex:K=0,TouchRippleProps:G,touchRippleRef:L,type:Y,...oe}=o,ee=pl.useRef(null),se=xC(),Ae=fr(se.ref,L),[Me,Ge]=pl.useState(!1);l&&Me&&Ge(!1),pl.useImperativeHandle(a,()=>({focusVisible:()=>{Ge(!0),ee.current.focus()}}),[]);let Le=se.shouldMount&&!d&&!l;pl.useEffect(()=>{Me&&f&&!d&&se.pulsate()},[d,f,Me,se]);function ke(Ie,he,De=u){return Ns(gt=>(he&&he(gt),De||se[Ie](gt),!0))}let Ve=ke("start",k),Ee=ke("stop",x),nt=ke("stop",T),Ze=ke("stop",N),qe=ke("stop",Ie=>{Me&&Ie.preventDefault(),M&&M(Ie)}),ct=ke("start",$),We=ke("stop",S),Ne=ke("stop",B),tt=ke("stop",Ie=>{vd(Ie.target)||Ge(!1),g&&g(Ie)},!1),Xe=Ns(Ie=>{ee.current||(ee.current=Ie.currentTarget),vd(Ie.target)&&(Ge(!0),b&&b(Ie)),v&&v(Ie)}),rt=()=>{let Ie=ee.current;return p&&p!=="button"&&!(Ie.tagName==="A"&&Ie.href)},ue=Ns(Ie=>{f&&!Ie.repeat&&Me&&Ie.key===" "&&se.stop(Ie,()=>{se.start(Ie)}),Ie.target===Ie.currentTarget&&rt()&&Ie.key===" "&&Ie.preventDefault(),w&&w(Ie),Ie.target===Ie.currentTarget&&rt()&&Ie.key==="Enter"&&!l&&(Ie.preventDefault(),h&&h(Ie))}),Ce=Ns(Ie=>{f&&Ie.key===" "&&Me&&!Ie.defaultPrevented&&se.stop(Ie,()=>{se.pulsate(Ie)}),O&&O(Ie),h&&Ie.target===Ie.currentTarget&&rt()&&Ie.key===" "&&!Ie.defaultPrevented&&h(Ie)}),He=p;He==="button"&&(oe.href||oe.to)&&(He=m);let Ke={};He==="button"?(Ke.type=Y===void 0?"button":Y,Ke.disabled=l):(!oe.href&&!oe.to&&(Ke.role="button"),l&&(Ke["aria-disabled"]=l));let ot=fr(r,ee),yt={...o,centerRipple:n,component:p,disabled:l,disableRipple:d,disableTouchRipple:u,focusRipple:f,tabIndex:K,focusVisible:Me},bt=NSe(yt);return(0,bC.jsxs)(ISe,{as:He,className:z(bt.root,i),ownerState:yt,onBlur:tt,onClick:h,onContextMenu:Ee,onFocus:Xe,onKeyDown:ue,onKeyUp:Ce,onMouseDown:Ve,onMouseLeave:qe,onMouseUp:Ze,onDragLeave:nt,onTouchEnd:We,onTouchMove:Ne,onTouchStart:ct,ref:ot,tabIndex:l?-1:K,type:Y,...Ke,...oe,children:[s,Le?(0,bC.jsx)(lV,{ref:Ae,center:n,...G}):null]})}),Go=FSe;function BSe(e){return typeof e.main=="string"}function jSe(e,t=[]){if(!BSe(e))return!1;for(let r of t)if(!e.hasOwnProperty(r)||typeof e[r]!="string")return!1;return!0}function Ot(e=[]){return([,t])=>t&&jSe(t,e)}var vC=y(P());function uV(e){return de("MuiIconButton",e)}var LSe=pe("MuiIconButton",["root","disabled","colorInherit","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","edgeStart","edgeEnd","sizeSmall","sizeMedium","sizeLarge"]),fV=LSe;var cV=y(U()),zSe=e=>{let{classes:t,disabled:r,color:o,edge:a,size:n}=e,s={root:["root",r&&"disabled",o!=="default"&&`color${ae(o)}`,a&&`edge${ae(a)}`,`size${ae(n)}`]};return fe(s,uV,t)},WSe=X(Go,{name:"MuiIconButton",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.color!=="default"&&t[`color${ae(r.color)}`],r.edge&&t[`edge${ae(r.edge)}`],t[`size${ae(r.size)}`]]}})(be(({theme:e})=>({textAlign:"center",flex:"0 0 auto",fontSize:e.typography.pxToRem(24),padding:8,borderRadius:"50%",color:(e.vars||e).palette.action.active,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),variants:[{props:t=>!t.disableRipple,style:{"--IconButton-hoverBg":e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})`:St(e.palette.action.active,e.palette.action.hoverOpacity),"&:hover":{backgroundColor:"var(--IconButton-hoverBg)","@media (hover: none)":{backgroundColor:"transparent"}}}},{props:{edge:"start"},style:{marginLeft:-12}},{props:{edge:"start",size:"small"},style:{marginLeft:-3}},{props:{edge:"end"},style:{marginRight:-12}},{props:{edge:"end",size:"small"},style:{marginRight:-3}}]})),be(({theme:e})=>({variants:[{props:{color:"inherit"},style:{color:"inherit"}},...Object.entries(e.palette).filter(Ot()).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].main}})),...Object.entries(e.palette).filter(Ot()).map(([t])=>({props:{color:t},style:{"--IconButton-hoverBg":e.vars?`rgba(${(e.vars||e).palette[t].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:St((e.vars||e).palette[t].main,e.palette.action.hoverOpacity)}})),{props:{size:"small"},style:{padding:5,fontSize:e.typography.pxToRem(18)}},{props:{size:"large"},style:{padding:12,fontSize:e.typography.pxToRem(28)}}],[`&.${fV.disabled}`]:{backgroundColor:"transparent",color:(e.vars||e).palette.action.disabled}}))),USe=vC.forwardRef(function(t,r){let o=ce({props:t,name:"MuiIconButton"}),{edge:a=!1,children:n,className:s,color:i="default",disabled:p=!1,disableFocusRipple:l=!1,size:d="medium",...u}=o,f={...o,edge:a,color:i,disabled:p,disableFocusRipple:l,size:d},c=zSe(f);return(0,cV.jsx)(WSe,{className:z(c.root,s),centerRipple:!0,focusRipple:!l,disabled:p,ref:r,...u,ownerState:f,children:n})}),dt=USe;var xV=y(P());function mV(e){return de("MuiTypography",e)}var VSe=pe("MuiTypography",["root","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","inherit","button","caption","overline","alignLeft","alignRight","alignCenter","alignJustify","noWrap","gutterBottom","paragraph"]),TC=VSe;var gV=y(U()),HSe={primary:!0,secondary:!0,error:!0,info:!0,success:!0,warning:!0,textPrimary:!0,textSecondary:!0,textDisabled:!0},$Se=XU(),GSe=e=>{let{align:t,gutterBottom:r,noWrap:o,paragraph:a,variant:n,classes:s}=e,i={root:["root",n,e.align!=="inherit"&&`align${ae(t)}`,r&&"gutterBottom",o&&"noWrap",a&&"paragraph"]};return fe(i,mV,s)},qSe=X("span",{name:"MuiTypography",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.variant&&t[r.variant],r.align!=="inherit"&&t[`align${ae(r.align)}`],r.noWrap&&t.noWrap,r.gutterBottom&&t.gutterBottom,r.paragraph&&t.paragraph]}})(be(({theme:e})=>{var t;return{margin:0,variants:[{props:{variant:"inherit"},style:{font:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}},...Object.entries(e.typography).filter(([r,o])=>r!=="inherit"&&o&&typeof o=="object").map(([r,o])=>({props:{variant:r},style:o})),...Object.entries(e.palette).filter(Ot()).map(([r])=>({props:{color:r},style:{color:(e.vars||e).palette[r].main}})),...Object.entries(((t=e.palette)==null?void 0:t.text)||{}).filter(([,r])=>typeof r=="string").map(([r])=>({props:{color:`text${ae(r)}`},style:{color:(e.vars||e).palette.text[r]}})),{props:({ownerState:r})=>r.align!=="inherit",style:{textAlign:"var(--Typography-textAlign)"}},{props:({ownerState:r})=>r.noWrap,style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},{props:({ownerState:r})=>r.gutterBottom,style:{marginBottom:"0.35em"}},{props:({ownerState:r})=>r.paragraph,style:{marginBottom:16}}]}})),hV={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p",inherit:"p"},KSe=xV.forwardRef(function(t,r){let{color:o,...a}=ce({props:t,name:"MuiTypography"}),n=!HSe[o],s=$Se({...a,...n&&{color:o}}),{align:i="inherit",className:p,component:l,gutterBottom:d=!1,noWrap:u=!1,paragraph:f=!1,variant:c="body1",variantMapping:m=hV,...g}=s,h={...s,align:i,color:o,className:p,component:l,gutterBottom:d,noWrap:u,paragraph:f,variant:c,variantMapping:m},x=l||(f?"p":m[c]||hV[c])||"span",T=GSe(h);return(0,gV.jsx)(qSe,{as:x,ref:r,className:z(T.root,p),...g,ownerState:h,style:{...i!=="inherit"&&{"--Typography-textAlign":i},...g.style}})}),Za=KSe;var vV=y(P());function yV(e){return de("MuiAppBar",e)}var jxt=pe("MuiAppBar",["root","positionFixed","positionAbsolute","positionSticky","positionStatic","positionRelative","colorDefault","colorPrimary","colorSecondary","colorInherit","colorTransparent","colorError","colorInfo","colorSuccess","colorWarning"]);var TV=y(U()),XSe=e=>{let{color:t,position:r,classes:o}=e,a={root:["root",`color${ae(t)}`,`position${ae(r)}`]};return fe(a,yV,o)},bV=(e,t)=>e?`${e==null?void 0:e.replace(")","")}, ${t})`:t,JSe=X(Ya,{name:"MuiAppBar",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[`position${ae(r.position)}`],t[`color${ae(r.color)}`]]}})(be(({theme:e})=>({display:"flex",flexDirection:"column",width:"100%",boxSizing:"border-box",flexShrink:0,variants:[{props:{position:"fixed"},style:{position:"fixed",zIndex:(e.vars||e).zIndex.appBar,top:0,left:"auto",right:0,"@media print":{position:"absolute"}}},{props:{position:"absolute"},style:{position:"absolute",zIndex:(e.vars||e).zIndex.appBar,top:0,left:"auto",right:0}},{props:{position:"sticky"},style:{position:"sticky",zIndex:(e.vars||e).zIndex.appBar,top:0,left:"auto",right:0}},{props:{position:"static"},style:{position:"static"}},{props:{position:"relative"},style:{position:"relative"}},{props:{color:"inherit"},style:{"--AppBar-color":"inherit"}},{props:{color:"default"},style:{"--AppBar-background":e.vars?e.vars.palette.AppBar.defaultBg:e.palette.grey[100],"--AppBar-color":e.vars?e.vars.palette.text.primary:e.palette.getContrastText(e.palette.grey[100]),...e.applyStyles("dark",{"--AppBar-background":e.vars?e.vars.palette.AppBar.defaultBg:e.palette.grey[900],"--AppBar-color":e.vars?e.vars.palette.text.primary:e.palette.getContrastText(e.palette.grey[900])})}},...Object.entries(e.palette).filter(Ot(["contrastText"])).map(([t])=>{var r,o;return{props:{color:t},style:{"--AppBar-background":((r=e.vars)!=null?r:e).palette[t].main,"--AppBar-color":((o=e.vars)!=null?o:e).palette[t].contrastText}}}),{props:t=>t.enableColorOnDark===!0&&!["inherit","transparent"].includes(t.color),style:{backgroundColor:"var(--AppBar-background)",color:"var(--AppBar-color)"}},{props:t=>t.enableColorOnDark===!1&&!["inherit","transparent"].includes(t.color),style:{backgroundColor:"var(--AppBar-background)",color:"var(--AppBar-color)",...e.applyStyles("dark",{backgroundColor:e.vars?bV(e.vars.palette.AppBar.darkBg,"var(--AppBar-background)"):null,color:e.vars?bV(e.vars.palette.AppBar.darkColor,"var(--AppBar-color)"):null})}},{props:{color:"transparent"},style:{"--AppBar-background":"transparent","--AppBar-color":"inherit",backgroundColor:"var(--AppBar-background)",color:"var(--AppBar-color)",...e.applyStyles("dark",{backgroundImage:"none"})}}]}))),YSe=vV.forwardRef(function(t,r){let o=ce({props:t,name:"MuiAppBar"}),{className:a,color:n="primary",enableColorOnDark:s=!1,position:i="fixed",...p}=o,l={...o,color:n,position:i,enableColorOnDark:s},d=XSe(l);return(0,TV.jsx)(JSe,{square:!0,component:"header",ownerState:l,elevation:4,className:z(d.root,a,i==="fixed"&&"mui-fixed"),ref:r,...p})}),SC=YSe;var GV=y(P());var Aa=y(P());var fo="top",qo="bottom",Ao="right",To="left",wC="auto",Cd=[fo,qo,Ao,To],dp="start",tc="end",SV="clippingParents",_C="viewport",Zh="popper",wV="reference",tM=Cd.reduce(function(e,t){return e.concat([t+"-"+dp,t+"-"+tc])},[]),CC=[].concat(Cd,[wC]).reduce(function(e,t){return e.concat([t,t+"-"+dp,t+"-"+tc])},[]),ZSe="beforeRead",QSe="read",ewe="afterRead",twe="beforeMain",rwe="main",owe="afterMain",awe="beforeWrite",nwe="write",swe="afterWrite",_V=[ZSe,QSe,ewe,twe,rwe,owe,awe,nwe,swe];function na(e){return e?(e.nodeName||"").toLowerCase():null}function Vr(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Fs(e){var t=Vr(e).Element;return e instanceof t||e instanceof Element}function Ko(e){var t=Vr(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Qh(e){if(typeof ShadowRoot=="undefined")return!1;var t=Vr(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function iwe(e){var t=e.state;Object.keys(t.elements).forEach(function(r){var o=t.styles[r]||{},a=t.attributes[r]||{},n=t.elements[r];!Ko(n)||!na(n)||(Object.assign(n.style,o),Object.keys(a).forEach(function(s){var i=a[s];i===!1?n.removeAttribute(s):n.setAttribute(s,i===!0?"":i)}))})}function lwe(e){var t=e.state,r={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,r.popper),t.styles=r,t.elements.arrow&&Object.assign(t.elements.arrow.style,r.arrow),function(){Object.keys(t.elements).forEach(function(o){var a=t.elements[o],n=t.attributes[o]||{},s=Object.keys(t.styles.hasOwnProperty(o)?t.styles[o]:r[o]),i=s.reduce(function(p,l){return p[l]="",p},{});!Ko(a)||!na(a)||(Object.assign(a.style,i),Object.keys(n).forEach(function(p){a.removeAttribute(p)}))})}}var CV={name:"applyStyles",enabled:!0,phase:"write",fn:iwe,effect:lwe,requires:["computeStyles"]};function sa(e){return e.split("-")[0]}var hi=Math.max,rc=Math.min,up=Math.round;function ex(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function iv(){return!/^((?!chrome|android).)*safari/i.test(ex())}function Bs(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!1);var o=e.getBoundingClientRect(),a=1,n=1;t&&Ko(e)&&(a=e.offsetWidth>0&&up(o.width)/e.offsetWidth||1,n=e.offsetHeight>0&&up(o.height)/e.offsetHeight||1);var s=Fs(e)?Vr(e):window,i=s.visualViewport,p=!iv()&&r,l=(o.left+(p&&i?i.offsetLeft:0))/a,d=(o.top+(p&&i?i.offsetTop:0))/n,u=o.width/a,f=o.height/n;return{width:u,height:f,top:d,right:l+u,bottom:d+f,left:l,x:l,y:d}}function oc(e){var t=Bs(e),r=e.offsetWidth,o=e.offsetHeight;return Math.abs(t.width-r)<=1&&(r=t.width),Math.abs(t.height-o)<=1&&(o=t.height),{x:e.offsetLeft,y:e.offsetTop,width:r,height:o}}function lv(e,t){var r=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(r&&Qh(r)){var o=t;do{if(o&&e.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function Qa(e){return Vr(e).getComputedStyle(e)}function rM(e){return["table","td","th"].indexOf(na(e))>=0}function ga(e){return((Fs(e)?e.ownerDocument:e.document)||window.document).documentElement}function fp(e){return na(e)==="html"?e:e.assignedSlot||e.parentNode||(Qh(e)?e.host:null)||ga(e)}function OV(e){return!Ko(e)||Qa(e).position==="fixed"?null:e.offsetParent}function pwe(e){var t=/firefox/i.test(ex()),r=/Trident/i.test(ex());if(r&&Ko(e)){var o=Qa(e);if(o.position==="fixed")return null}var a=fp(e);for(Qh(a)&&(a=a.host);Ko(a)&&["html","body"].indexOf(na(a))<0;){var n=Qa(a);if(n.transform!=="none"||n.perspective!=="none"||n.contain==="paint"||["transform","perspective"].indexOf(n.willChange)!==-1||t&&n.willChange==="filter"||t&&n.filter&&n.filter!=="none")return a;a=a.parentNode}return null}function xi(e){for(var t=Vr(e),r=OV(e);r&&rM(r)&&Qa(r).position==="static";)r=OV(r);return r&&(na(r)==="html"||na(r)==="body"&&Qa(r).position==="static")?t:r||pwe(e)||t}function ac(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function nc(e,t,r){return hi(e,rc(t,r))}function kV(e,t,r){var o=nc(e,t,r);return o>r?r:o}function pv(){return{top:0,right:0,bottom:0,left:0}}function dv(e){return Object.assign({},pv(),e)}function uv(e,t){return t.reduce(function(r,o){return r[o]=e,r},{})}var dwe=function(t,r){return t=typeof t=="function"?t(Object.assign({},r.rects,{placement:r.placement})):t,dv(typeof t!="number"?t:uv(t,Cd))};function uwe(e){var t,r=e.state,o=e.name,a=e.options,n=r.elements.arrow,s=r.modifiersData.popperOffsets,i=sa(r.placement),p=ac(i),l=[To,Ao].indexOf(i)>=0,d=l?"height":"width";if(!(!n||!s)){var u=dwe(a.padding,r),f=oc(n),c=p==="y"?fo:To,m=p==="y"?qo:Ao,g=r.rects.reference[d]+r.rects.reference[p]-s[p]-r.rects.popper[d],h=s[p]-r.rects.reference[p],x=xi(n),T=x?p==="y"?x.clientHeight||0:x.clientWidth||0:0,v=g/2-h/2,b=u[c],w=T-f[d]-u[m],O=T/2-f[d]/2+v,k=nc(b,O,w),M=p;r.modifiersData[o]=(t={},t[M]=k,t.centerOffset=k-O,t)}}function fwe(e){var t=e.state,r=e.options,o=r.element,a=o===void 0?"[data-popper-arrow]":o;a!=null&&(typeof a=="string"&&(a=t.elements.popper.querySelector(a),!a)||lv(t.elements.popper,a)&&(t.elements.arrow=a))}var EV={name:"arrow",enabled:!0,phase:"main",fn:uwe,effect:fwe,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function js(e){return e.split("-")[1]}var cwe={top:"auto",right:"auto",bottom:"auto",left:"auto"};function mwe(e,t){var r=e.x,o=e.y,a=t.devicePixelRatio||1;return{x:up(r*a)/a||0,y:up(o*a)/a||0}}function PV(e){var t,r=e.popper,o=e.popperRect,a=e.placement,n=e.variation,s=e.offsets,i=e.position,p=e.gpuAcceleration,l=e.adaptive,d=e.roundOffsets,u=e.isFixed,f=s.x,c=f===void 0?0:f,m=s.y,g=m===void 0?0:m,h=typeof d=="function"?d({x:c,y:g}):{x:c,y:g};c=h.x,g=h.y;var x=s.hasOwnProperty("x"),T=s.hasOwnProperty("y"),v=To,b=fo,w=window;if(l){var O=xi(r),k="clientHeight",M="clientWidth";if(O===Vr(r)&&(O=ga(r),Qa(O).position!=="static"&&i==="absolute"&&(k="scrollHeight",M="scrollWidth")),O=O,a===fo||(a===To||a===Ao)&&n===tc){b=qo;var N=u&&O===w&&w.visualViewport?w.visualViewport.height:O[k];g-=N-o.height,g*=p?1:-1}if(a===To||(a===fo||a===qo)&&n===tc){v=Ao;var S=u&&O===w&&w.visualViewport?w.visualViewport.width:O[M];c-=S-o.width,c*=p?1:-1}}var B=Object.assign({position:i},l&&cwe),$=d===!0?mwe({x:c,y:g},Vr(r)):{x:c,y:g};if(c=$.x,g=$.y,p){var K;return Object.assign({},B,(K={},K[b]=T?"0":"",K[v]=x?"0":"",K.transform=(w.devicePixelRatio||1)<=1?"translate("+c+"px, "+g+"px)":"translate3d("+c+"px, "+g+"px, 0)",K))}return Object.assign({},B,(t={},t[b]=T?g+"px":"",t[v]=x?c+"px":"",t.transform="",t))}function hwe(e){var t=e.state,r=e.options,o=r.gpuAcceleration,a=o===void 0?!0:o,n=r.adaptive,s=n===void 0?!0:n,i=r.roundOffsets,p=i===void 0?!0:i,l={placement:sa(t.placement),variation:js(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:a,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,PV(Object.assign({},l,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:p})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,PV(Object.assign({},l,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:p})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var RV={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:hwe,data:{}};var OC={passive:!0};function xwe(e){var t=e.state,r=e.instance,o=e.options,a=o.scroll,n=a===void 0?!0:a,s=o.resize,i=s===void 0?!0:s,p=Vr(t.elements.popper),l=[].concat(t.scrollParents.reference,t.scrollParents.popper);return n&&l.forEach(function(d){d.addEventListener("scroll",r.update,OC)}),i&&p.addEventListener("resize",r.update,OC),function(){n&&l.forEach(function(d){d.removeEventListener("scroll",r.update,OC)}),i&&p.removeEventListener("resize",r.update,OC)}}var DV={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:xwe,data:{}};var gwe={left:"right",right:"left",bottom:"top",top:"bottom"};function tx(e){return e.replace(/left|right|bottom|top/g,function(t){return gwe[t]})}var ywe={start:"end",end:"start"};function kC(e){return e.replace(/start|end/g,function(t){return ywe[t]})}function sc(e){var t=Vr(e),r=t.pageXOffset,o=t.pageYOffset;return{scrollLeft:r,scrollTop:o}}function ic(e){return Bs(ga(e)).left+sc(e).scrollLeft}function oM(e,t){var r=Vr(e),o=ga(e),a=r.visualViewport,n=o.clientWidth,s=o.clientHeight,i=0,p=0;if(a){n=a.width,s=a.height;var l=iv();(l||!l&&t==="fixed")&&(i=a.offsetLeft,p=a.offsetTop)}return{width:n,height:s,x:i+ic(e),y:p}}function aM(e){var t,r=ga(e),o=sc(e),a=(t=e.ownerDocument)==null?void 0:t.body,n=hi(r.scrollWidth,r.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0),s=hi(r.scrollHeight,r.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0),i=-o.scrollLeft+ic(e),p=-o.scrollTop;return Qa(a||r).direction==="rtl"&&(i+=hi(r.clientWidth,a?a.clientWidth:0)-n),{width:n,height:s,x:i,y:p}}function lc(e){var t=Qa(e),r=t.overflow,o=t.overflowX,a=t.overflowY;return/auto|scroll|overlay|hidden/.test(r+a+o)}function EC(e){return["html","body","#document"].indexOf(na(e))>=0?e.ownerDocument.body:Ko(e)&&lc(e)?e:EC(fp(e))}function Od(e,t){var r;t===void 0&&(t=[]);var o=EC(e),a=o===((r=e.ownerDocument)==null?void 0:r.body),n=Vr(o),s=a?[n].concat(n.visualViewport||[],lc(o)?o:[]):o,i=t.concat(s);return a?i:i.concat(Od(fp(s)))}function rx(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function bwe(e,t){var r=Bs(e,!1,t==="fixed");return r.top=r.top+e.clientTop,r.left=r.left+e.clientLeft,r.bottom=r.top+e.clientHeight,r.right=r.left+e.clientWidth,r.width=e.clientWidth,r.height=e.clientHeight,r.x=r.left,r.y=r.top,r}function AV(e,t,r){return t===_C?rx(oM(e,r)):Fs(t)?bwe(t,r):rx(aM(ga(e)))}function vwe(e){var t=Od(fp(e)),r=["absolute","fixed"].indexOf(Qa(e).position)>=0,o=r&&Ko(e)?xi(e):e;return Fs(o)?t.filter(function(a){return Fs(a)&&lv(a,o)&&na(a)!=="body"}):[]}function nM(e,t,r,o){var a=t==="clippingParents"?vwe(e):[].concat(t),n=[].concat(a,[r]),s=n[0],i=n.reduce(function(p,l){var d=AV(e,l,o);return p.top=hi(d.top,p.top),p.right=rc(d.right,p.right),p.bottom=rc(d.bottom,p.bottom),p.left=hi(d.left,p.left),p},AV(e,s,o));return i.width=i.right-i.left,i.height=i.bottom-i.top,i.x=i.left,i.y=i.top,i}function fv(e){var t=e.reference,r=e.element,o=e.placement,a=o?sa(o):null,n=o?js(o):null,s=t.x+t.width/2-r.width/2,i=t.y+t.height/2-r.height/2,p;switch(a){case fo:p={x:s,y:t.y-r.height};break;case qo:p={x:s,y:t.y+t.height};break;case Ao:p={x:t.x+t.width,y:i};break;case To:p={x:t.x-r.width,y:i};break;default:p={x:t.x,y:t.y}}var l=a?ac(a):null;if(l!=null){var d=l==="y"?"height":"width";switch(n){case dp:p[l]=p[l]-(t[d]/2-r[d]/2);break;case tc:p[l]=p[l]+(t[d]/2-r[d]/2);break;default:}}return p}function gi(e,t){t===void 0&&(t={});var r=t,o=r.placement,a=o===void 0?e.placement:o,n=r.strategy,s=n===void 0?e.strategy:n,i=r.boundary,p=i===void 0?SV:i,l=r.rootBoundary,d=l===void 0?_C:l,u=r.elementContext,f=u===void 0?Zh:u,c=r.altBoundary,m=c===void 0?!1:c,g=r.padding,h=g===void 0?0:g,x=dv(typeof h!="number"?h:uv(h,Cd)),T=f===Zh?wV:Zh,v=e.rects.popper,b=e.elements[m?T:f],w=nM(Fs(b)?b:b.contextElement||ga(e.elements.popper),p,d,s),O=Bs(e.elements.reference),k=fv({reference:O,element:v,strategy:"absolute",placement:a}),M=rx(Object.assign({},v,k)),N=f===Zh?M:O,S={top:w.top-N.top+x.top,bottom:N.bottom-w.bottom+x.bottom,left:w.left-N.left+x.left,right:N.right-w.right+x.right},B=e.modifiersData.offset;if(f===Zh&&B){var $=B[a];Object.keys(S).forEach(function(K){var G=[Ao,qo].indexOf(K)>=0?1:-1,L=[fo,qo].indexOf(K)>=0?"y":"x";S[K]+=$[L]*G})}return S}function sM(e,t){t===void 0&&(t={});var r=t,o=r.placement,a=r.boundary,n=r.rootBoundary,s=r.padding,i=r.flipVariations,p=r.allowedAutoPlacements,l=p===void 0?CC:p,d=js(o),u=d?i?tM:tM.filter(function(m){return js(m)===d}):Cd,f=u.filter(function(m){return l.indexOf(m)>=0});f.length===0&&(f=u);var c=f.reduce(function(m,g){return m[g]=gi(e,{placement:g,boundary:a,rootBoundary:n,padding:s})[sa(g)],m},{});return Object.keys(c).sort(function(m,g){return c[m]-c[g]})}function Twe(e){if(sa(e)===wC)return[];var t=tx(e);return[kC(e),t,kC(t)]}function Swe(e){var t=e.state,r=e.options,o=e.name;if(!t.modifiersData[o]._skip){for(var a=r.mainAxis,n=a===void 0?!0:a,s=r.altAxis,i=s===void 0?!0:s,p=r.fallbackPlacements,l=r.padding,d=r.boundary,u=r.rootBoundary,f=r.altBoundary,c=r.flipVariations,m=c===void 0?!0:c,g=r.allowedAutoPlacements,h=t.options.placement,x=sa(h),T=x===h,v=p||(T||!m?[tx(h)]:Twe(h)),b=[h].concat(v).reduce(function(ke,Ve){return ke.concat(sa(Ve)===wC?sM(t,{placement:Ve,boundary:d,rootBoundary:u,padding:l,flipVariations:m,allowedAutoPlacements:g}):Ve)},[]),w=t.rects.reference,O=t.rects.popper,k=new Map,M=!0,N=b[0],S=0;S=0,L=G?"width":"height",Y=gi(t,{placement:B,boundary:d,rootBoundary:u,altBoundary:f,padding:l}),oe=G?K?Ao:To:K?qo:fo;w[L]>O[L]&&(oe=tx(oe));var ee=tx(oe),se=[];if(n&&se.push(Y[$]<=0),i&&se.push(Y[oe]<=0,Y[ee]<=0),se.every(function(ke){return ke})){N=B,M=!1;break}k.set(B,se)}if(M)for(var Ae=m?3:1,Me=function(Ve){var Ee=b.find(function(nt){var Ze=k.get(nt);if(Ze)return Ze.slice(0,Ve).every(function(qe){return qe})});if(Ee)return N=Ee,"break"},Ge=Ae;Ge>0;Ge--){var Le=Me(Ge);if(Le==="break")break}t.placement!==N&&(t.modifiersData[o]._skip=!0,t.placement=N,t.reset=!0)}}var MV={name:"flip",enabled:!0,phase:"main",fn:Swe,requiresIfExists:["offset"],data:{_skip:!1}};function NV(e,t,r){return r===void 0&&(r={x:0,y:0}),{top:e.top-t.height-r.y,right:e.right-t.width+r.x,bottom:e.bottom-t.height+r.y,left:e.left-t.width-r.x}}function IV(e){return[fo,Ao,qo,To].some(function(t){return e[t]>=0})}function wwe(e){var t=e.state,r=e.name,o=t.rects.reference,a=t.rects.popper,n=t.modifiersData.preventOverflow,s=gi(t,{elementContext:"reference"}),i=gi(t,{altBoundary:!0}),p=NV(s,o),l=NV(i,a,n),d=IV(p),u=IV(l);t.modifiersData[r]={referenceClippingOffsets:p,popperEscapeOffsets:l,isReferenceHidden:d,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":u})}var FV={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:wwe};function _we(e,t,r){var o=sa(e),a=[To,fo].indexOf(o)>=0?-1:1,n=typeof r=="function"?r(Object.assign({},t,{placement:e})):r,s=n[0],i=n[1];return s=s||0,i=(i||0)*a,[To,Ao].indexOf(o)>=0?{x:i,y:s}:{x:s,y:i}}function Cwe(e){var t=e.state,r=e.options,o=e.name,a=r.offset,n=a===void 0?[0,0]:a,s=CC.reduce(function(d,u){return d[u]=_we(u,t.rects,n),d},{}),i=s[t.placement],p=i.x,l=i.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=p,t.modifiersData.popperOffsets.y+=l),t.modifiersData[o]=s}var BV={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Cwe};function Owe(e){var t=e.state,r=e.name;t.modifiersData[r]=fv({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}var jV={name:"popperOffsets",enabled:!0,phase:"read",fn:Owe,data:{}};function iM(e){return e==="x"?"y":"x"}function kwe(e){var t=e.state,r=e.options,o=e.name,a=r.mainAxis,n=a===void 0?!0:a,s=r.altAxis,i=s===void 0?!1:s,p=r.boundary,l=r.rootBoundary,d=r.altBoundary,u=r.padding,f=r.tether,c=f===void 0?!0:f,m=r.tetherOffset,g=m===void 0?0:m,h=gi(t,{boundary:p,rootBoundary:l,padding:u,altBoundary:d}),x=sa(t.placement),T=js(t.placement),v=!T,b=ac(x),w=iM(b),O=t.modifiersData.popperOffsets,k=t.rects.reference,M=t.rects.popper,N=typeof g=="function"?g(Object.assign({},t.rects,{placement:t.placement})):g,S=typeof N=="number"?{mainAxis:N,altAxis:N}:Object.assign({mainAxis:0,altAxis:0},N),B=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,$={x:0,y:0};if(O){if(n){var K,G=b==="y"?fo:To,L=b==="y"?qo:Ao,Y=b==="y"?"height":"width",oe=O[b],ee=oe+h[G],se=oe-h[L],Ae=c?-M[Y]/2:0,Me=T===dp?k[Y]:M[Y],Ge=T===dp?-M[Y]:-k[Y],Le=t.elements.arrow,ke=c&&Le?oc(Le):{width:0,height:0},Ve=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:pv(),Ee=Ve[G],nt=Ve[L],Ze=nc(0,k[Y],ke[Y]),qe=v?k[Y]/2-Ae-Ze-Ee-S.mainAxis:Me-Ze-Ee-S.mainAxis,ct=v?-k[Y]/2+Ae+Ze+nt+S.mainAxis:Ge+Ze+nt+S.mainAxis,We=t.elements.arrow&&xi(t.elements.arrow),Ne=We?b==="y"?We.clientTop||0:We.clientLeft||0:0,tt=(K=B==null?void 0:B[b])!=null?K:0,Xe=oe+qe-tt-Ne,rt=oe+ct-tt,ue=nc(c?rc(ee,Xe):ee,oe,c?hi(se,rt):se);O[b]=ue,$[b]=ue-oe}if(i){var Ce,He=b==="x"?fo:To,Ke=b==="x"?qo:Ao,ot=O[w],yt=w==="y"?"height":"width",bt=ot+h[He],Ie=ot-h[Ke],he=[fo,To].indexOf(x)!==-1,De=(Ce=B==null?void 0:B[w])!=null?Ce:0,gt=he?bt:ot-k[yt]-M[yt]-De+S.altAxis,vt=he?ot+k[yt]+M[yt]-De-S.altAxis:Ie,Et=c&&he?kV(gt,ot,vt):nc(c?gt:bt,ot,c?vt:Ie);O[w]=Et,$[w]=Et-ot}t.modifiersData[o]=$}}var LV={name:"preventOverflow",enabled:!0,phase:"main",fn:kwe,requiresIfExists:["offset"]};function lM(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function pM(e){return e===Vr(e)||!Ko(e)?sc(e):lM(e)}function Ewe(e){var t=e.getBoundingClientRect(),r=up(t.width)/e.offsetWidth||1,o=up(t.height)/e.offsetHeight||1;return r!==1||o!==1}function dM(e,t,r){r===void 0&&(r=!1);var o=Ko(t),a=Ko(t)&&Ewe(t),n=ga(t),s=Bs(e,a,r),i={scrollLeft:0,scrollTop:0},p={x:0,y:0};return(o||!o&&!r)&&((na(t)!=="body"||lc(n))&&(i=pM(t)),Ko(t)?(p=Bs(t,!0),p.x+=t.clientLeft,p.y+=t.clientTop):n&&(p.x=ic(n))),{x:s.left+i.scrollLeft-p.x,y:s.top+i.scrollTop-p.y,width:s.width,height:s.height}}function Pwe(e){var t=new Map,r=new Set,o=[];e.forEach(function(n){t.set(n.name,n)});function a(n){r.add(n.name);var s=[].concat(n.requires||[],n.requiresIfExists||[]);s.forEach(function(i){if(!r.has(i)){var p=t.get(i);p&&a(p)}}),o.push(n)}return e.forEach(function(n){r.has(n.name)||a(n)}),o}function uM(e){var t=Pwe(e);return _V.reduce(function(r,o){return r.concat(t.filter(function(a){return a.phase===o}))},[])}function fM(e){var t;return function(){return t||(t=new Promise(function(r){Promise.resolve().then(function(){t=void 0,r(e())})})),t}}function cM(e){var t=e.reduce(function(r,o){var a=r[o.name];return r[o.name]=a?Object.assign({},a,o,{options:Object.assign({},a.options,o.options),data:Object.assign({},a.data,o.data)}):o,r},{});return Object.keys(t).map(function(r){return t[r]})}var zV={placement:"bottom",modifiers:[],strategy:"absolute"};function WV(){for(var e=arguments.length,t=new Array(e),r=0;r{n||i(Dwe(a)||document.body)},[a,n]),ma(()=>{if(s&&!n)return bd(r,s),()=>{bd(r,null)}},[r,s,n]),n?Ls.isValidElement(o)?Ls.cloneElement(o,{ref:p}):(0,hM.jsx)(Ls.Fragment,{children:o}):(0,hM.jsx)(Ls.Fragment,{children:s&&VV.createPortal(o,s)})}),cv=Awe;function HV(e){return de("MuiPopper",e)}var eTt=pe("MuiPopper",["root"]);var PC=y(U());function Mwe(e,t){if(t==="ltr")return e;switch(e){case"bottom-end":return"bottom-start";case"bottom-start":return"bottom-end";case"top-end":return"top-start";case"top-start":return"top-end";default:return e}}function xM(e){return typeof e=="function"?e():e}function Nwe(e){return e.nodeType!==void 0}var Iwe=e=>{let{classes:t}=e;return fe({root:["root"]},HV,t)},Fwe={},Bwe=Aa.forwardRef(function(t,r){var L;let{anchorEl:o,children:a,direction:n,disablePortal:s,modifiers:i,open:p,placement:l,popperOptions:d,popperRef:u,slotProps:f={},slots:c={},TransitionProps:m,ownerState:g,...h}=t,x=Aa.useRef(null),T=uo(x,r),v=Aa.useRef(null),b=uo(v,u),w=Aa.useRef(b);ma(()=>{w.current=b},[b]),Aa.useImperativeHandle(u,()=>v.current,[]);let O=Mwe(l,n),[k,M]=Aa.useState(O),[N,S]=Aa.useState(xM(o));Aa.useEffect(()=>{v.current&&v.current.forceUpdate()}),Aa.useEffect(()=>{o&&S(xM(o))},[o]),ma(()=>{if(!N||!p)return;let Y=se=>{M(se.placement)},oe=[{name:"preventOverflow",options:{altBoundary:s}},{name:"flip",options:{altBoundary:s}},{name:"onUpdate",enabled:!0,phase:"afterWrite",fn:({state:se})=>{Y(se)}}];i!=null&&(oe=oe.concat(i)),d&&d.modifiers!=null&&(oe=oe.concat(d.modifiers));let ee=mM(N,x.current,{placement:O,...d,modifiers:oe});return w.current(ee),()=>{ee.destroy(),w.current(null)}},[N,s,i,p,d,O]);let B={placement:k};m!==null&&(B.TransitionProps=m);let $=Iwe(t),K=(L=c.root)!=null?L:"div",G=zo({elementType:K,externalSlotProps:f.root,externalForwardedProps:h,additionalProps:{role:"tooltip",ref:T},ownerState:t,className:$.root});return(0,PC.jsx)(K,{...G,children:typeof a=="function"?a(B):a})}),jwe=Aa.forwardRef(function(t,r){let{anchorEl:o,children:a,container:n,direction:s="ltr",disablePortal:i=!1,keepMounted:p=!1,modifiers:l,open:d,placement:u="bottom",popperOptions:f=Fwe,popperRef:c,style:m,transition:g=!1,slotProps:h={},slots:x={},...T}=t,[v,b]=Aa.useState(!0),w=()=>{b(!1)},O=()=>{b(!0)};if(!p&&!d&&(!g||v))return null;let k;if(n)k=n;else if(o){let S=xM(o);k=S&&Nwe(S)?Zr(S).body:Zr(null).body}let M=!d&&p&&(!g||v)?"none":void 0,N=g?{in:d,onEnter:w,onExited:O}:void 0;return(0,PC.jsx)(cv,{disablePortal:i,container:k,children:(0,PC.jsx)(Bwe,{anchorEl:o,direction:s,disablePortal:i,modifiers:l,ref:r,open:g?!v:d,placement:u,popperOptions:f,popperRef:c,slotProps:h,slots:x,...T,style:{position:"fixed",top:0,left:0,display:M,...m},TransitionProps:N,children:a})})}),$V=jwe;var qV=y(U()),Lwe=X($V,{name:"MuiPopper",slot:"Root",overridesResolver:(e,t)=>t.root})({}),zwe=GV.forwardRef(function(t,r){var k;let o=Rs(),a=ce({props:t,name:"MuiPopper"}),{anchorEl:n,component:s,components:i,componentsProps:p,container:l,disablePortal:d,keepMounted:u,modifiers:f,open:c,placement:m,popperOptions:g,popperRef:h,transition:x,slots:T,slotProps:v,...b}=a,w=(k=T==null?void 0:T.root)!=null?k:i==null?void 0:i.Root,O={anchorEl:n,container:l,disablePortal:d,keepMounted:u,modifiers:f,open:c,placement:m,popperOptions:g,popperRef:h,transition:x,...b};return(0,qV.jsx)(Lwe,{as:s,direction:o?"rtl":"ltr",slots:{root:w},slotProps:v!=null?v:p,...O,ref:r})}),RC=zwe;var Ma=y(P());var zs=y(P());var mv=y(U());function DC(e){return parseInt(e,10)||0}var Wwe={shadow:{visibility:"hidden",position:"absolute",overflow:"hidden",height:0,top:0,left:0,transform:"translateZ(0)"}};function Uwe(e){return e==null||Object.keys(e).length===0||e.outerHeightStyle===0&&!e.overflowing}var Vwe=zs.forwardRef(function(t,r){let{onChange:o,maxRows:a,minRows:n=1,style:s,value:i,...p}=t,{current:l}=zs.useRef(i!=null),d=zs.useRef(null),u=uo(r,d),f=zs.useRef(null),c=zs.useRef(null),m=zs.useCallback(()=>{let x=d.current,v=Vn(x).getComputedStyle(x);if(v.width==="0px")return{outerHeightStyle:0,overflowing:!1};let b=c.current;b.style.width=v.width,b.value=x.value||t.placeholder||"x",b.value.slice(-1)===` -`&&(b.value+=" ");let w=v.boxSizing,O=DC(v.paddingBottom)+DC(v.paddingTop),k=DC(v.borderBottomWidth)+DC(v.borderTopWidth),M=b.scrollHeight;b.value="x";let N=b.scrollHeight,S=M;n&&(S=Math.max(Number(n)*N,S)),a&&(S=Math.min(Number(a)*N,S)),S=Math.max(S,N);let B=S+(w==="border-box"?O+k:0),$=Math.abs(S-M)<=1;return{outerHeightStyle:B,overflowing:$}},[a,n,t.placeholder]),g=zs.useCallback(()=>{let x=m();if(Uwe(x))return;let T=x.outerHeightStyle,v=d.current;f.current!==T&&(f.current=T,v.style.height=`${T}px`),v.style.overflow=x.overflowing?"hidden":""},[m]);return ma(()=>{let x=()=>{g()},T,v=()=>{cancelAnimationFrame(T),T=requestAnimationFrame(()=>{x()})},b=Af(x),w=d.current,O=Vn(w);O.addEventListener("resize",b);let k;return typeof ResizeObserver!="undefined"&&(k=new ResizeObserver(x),k.observe(w)),()=>{b.clear(),cancelAnimationFrame(T),O.removeEventListener("resize",b),k&&k.disconnect()}},[m,g]),ma(()=>{g()}),(0,mv.jsxs)(zs.Fragment,{children:[(0,mv.jsx)("textarea",{value:i,onChange:x=>{l||g(),o&&o(x)},ref:u,rows:n,style:s,...p}),(0,mv.jsx)("textarea",{"aria-hidden":!0,className:t.className,readOnly:!0,ref:c,tabIndex:-1,style:{...Wwe.shadow,...s,paddingTop:0,paddingBottom:0}})]})}),gM=Vwe;function Hwe(e){return typeof e=="string"}var kd=Hwe;function ya({props:e,states:t,muiFormControl:r}){return t.reduce((o,a)=>(o[a]=e[a],r&&typeof e[a]=="undefined"&&(o[a]=r[a]),o),{})}var KV=y(P()),$we=KV.createContext(void 0),ox=$we;var XV=y(P());function co(){return XV.useContext(ox)}function JV(e){return e!=null&&!(Array.isArray(e)&&e.length===0)}function pc(e,t=!1){return e&&(JV(e.value)&&e.value!==""||t&&JV(e.defaultValue)&&e.defaultValue!=="")}function YV(e){return e.startAdornment}function ZV(e){return de("MuiInputBase",e)}var Gwe=pe("MuiInputBase",["root","formControl","focused","disabled","adornedStart","adornedEnd","error","sizeSmall","multiline","colorSecondary","fullWidth","hiddenLabel","readOnly","input","inputSizeSmall","inputMultiline","inputTypeSearch","inputAdornedStart","inputAdornedEnd","inputHiddenLabel"]),yi=Gwe;var dc=y(U()),QV,uc=(e,t)=>{let{ownerState:r}=e;return[t.root,r.formControl&&t.formControl,r.startAdornment&&t.adornedStart,r.endAdornment&&t.adornedEnd,r.error&&t.error,r.size==="small"&&t.sizeSmall,r.multiline&&t.multiline,r.color&&t[`color${ae(r.color)}`],r.fullWidth&&t.fullWidth,r.hiddenLabel&&t.hiddenLabel]},fc=(e,t)=>{let{ownerState:r}=e;return[t.input,r.size==="small"&&t.inputSizeSmall,r.multiline&&t.inputMultiline,r.type==="search"&&t.inputTypeSearch,r.startAdornment&&t.inputAdornedStart,r.endAdornment&&t.inputAdornedEnd,r.hiddenLabel&&t.inputHiddenLabel]},qwe=e=>{let{classes:t,color:r,disabled:o,error:a,endAdornment:n,focused:s,formControl:i,fullWidth:p,hiddenLabel:l,multiline:d,readOnly:u,size:f,startAdornment:c,type:m}=e,g={root:["root",`color${ae(r)}`,o&&"disabled",a&&"error",p&&"fullWidth",s&&"focused",i&&"formControl",f&&f!=="medium"&&`size${ae(f)}`,d&&"multiline",c&&"adornedStart",n&&"adornedEnd",l&&"hiddenLabel",u&&"readOnly"],input:["input",o&&"disabled",m==="search"&&"inputTypeSearch",d&&"inputMultiline",f==="small"&&"inputSizeSmall",l&&"inputHiddenLabel",c&&"inputAdornedStart",n&&"inputAdornedEnd",u&&"readOnly"]};return fe(g,ZV,t)},cc=X("div",{name:"MuiInputBase",slot:"Root",overridesResolver:uc})(be(({theme:e})=>({...e.typography.body1,color:(e.vars||e).palette.text.primary,lineHeight:"1.4375em",boxSizing:"border-box",position:"relative",cursor:"text",display:"inline-flex",alignItems:"center",[`&.${yi.disabled}`]:{color:(e.vars||e).palette.text.disabled,cursor:"default"},variants:[{props:({ownerState:t})=>t.multiline,style:{padding:"4px 0 5px"}},{props:({ownerState:t,size:r})=>t.multiline&&r==="small",style:{paddingTop:1}},{props:({ownerState:t})=>t.fullWidth,style:{width:"100%"}}]}))),mc=X("input",{name:"MuiInputBase",slot:"Input",overridesResolver:fc})(be(({theme:e})=>{let t=e.palette.mode==="light",r={color:"currentColor",...e.vars?{opacity:e.vars.opacity.inputPlaceholder}:{opacity:t?.42:.5},transition:e.transitions.create("opacity",{duration:e.transitions.duration.shorter})},o={opacity:"0 !important"},a=e.vars?{opacity:e.vars.opacity.inputPlaceholder}:{opacity:t?.42:.5};return{font:"inherit",letterSpacing:"inherit",color:"currentColor",padding:"4px 0 5px",border:0,boxSizing:"content-box",background:"none",height:"1.4375em",margin:0,WebkitTapHighlightColor:"transparent",display:"block",minWidth:0,width:"100%","&::-webkit-input-placeholder":r,"&::-moz-placeholder":r,"&::-ms-input-placeholder":r,"&:focus":{outline:0},"&:invalid":{boxShadow:"none"},"&::-webkit-search-decoration":{WebkitAppearance:"none"},[`label[data-shrink=false] + .${yi.formControl} &`]:{"&::-webkit-input-placeholder":o,"&::-moz-placeholder":o,"&::-ms-input-placeholder":o,"&:focus::-webkit-input-placeholder":a,"&:focus::-moz-placeholder":a,"&:focus::-ms-input-placeholder":a},[`&.${yi.disabled}`]:{opacity:1,WebkitTextFillColor:(e.vars||e).palette.text.disabled},variants:[{props:({ownerState:n})=>!n.disableInjectingGlobalStyles,style:{animationName:"mui-auto-fill-cancel",animationDuration:"10ms","&:-webkit-autofill":{animationDuration:"5000s",animationName:"mui-auto-fill"}}},{props:{size:"small"},style:{paddingTop:1}},{props:({ownerState:n})=>n.multiline,style:{height:"auto",resize:"none",padding:0,paddingTop:0}},{props:{type:"search"},style:{MozAppearance:"textfield"}}]}})),eH=KU({"@keyframes mui-auto-fill":{from:{display:"block"}},"@keyframes mui-auto-fill-cancel":{from:{display:"block"}}}),Kwe=Ma.forwardRef(function(t,r){var Pt;let o=ce({props:t,name:"MuiInputBase"}),{"aria-describedby":a,autoComplete:n,autoFocus:s,className:i,color:p,components:l={},componentsProps:d={},defaultValue:u,disabled:f,disableInjectingGlobalStyles:c,endAdornment:m,error:g,fullWidth:h=!1,id:x,inputComponent:T="input",inputProps:v={},inputRef:b,margin:w,maxRows:O,minRows:k,multiline:M=!1,name:N,onBlur:S,onChange:B,onClick:$,onFocus:K,onKeyDown:G,onKeyUp:L,placeholder:Y,readOnly:oe,renderSuffix:ee,rows:se,size:Ae,slotProps:Me={},slots:Ge={},startAdornment:Le,type:ke="text",value:Ve,...Ee}=o,nt=v.value!=null?v.value:Ve,{current:Ze}=Ma.useRef(nt!=null),qe=Ma.useRef(),ct=Ma.useCallback(ht=>{},[]),We=fr(qe,b,v.ref,ct),[Ne,tt]=Ma.useState(!1),Xe=co(),rt=ya({props:o,muiFormControl:Xe,states:["color","disabled","error","hiddenLabel","size","required","filled"]});rt.focused=Xe?Xe.focused:Ne,Ma.useEffect(()=>{!Xe&&f&&Ne&&(tt(!1),S&&S())},[Xe,f,Ne,S]);let ue=Xe&&Xe.onFilled,Ce=Xe&&Xe.onEmpty,He=Ma.useCallback(ht=>{pc(ht)?ue&&ue():Ce&&Ce()},[ue,Ce]);mi(()=>{Ze&&He({value:nt})},[nt,He,Ze]);let Ke=ht=>{K&&K(ht),v.onFocus&&v.onFocus(ht),Xe&&Xe.onFocus?Xe.onFocus(ht):tt(!0)},ot=ht=>{S&&S(ht),v.onBlur&&v.onBlur(ht),Xe&&Xe.onBlur?Xe.onBlur(ht):tt(!1)},yt=(ht,...$e)=>{if(!Ze){let At=ht.target||qe.current;if(At==null)throw new Error(aa(1));He({value:At.value})}v.onChange&&v.onChange(ht,...$e),B&&B(ht,...$e)};Ma.useEffect(()=>{He(qe.current)},[]);let bt=ht=>{qe.current&&ht.currentTarget===ht.target&&qe.current.focus(),$&&$(ht)},Ie=T,he=v;M&&Ie==="input"&&(se?he={type:void 0,minRows:se,maxRows:se,...he}:he={type:void 0,maxRows:O,minRows:k,...he},Ie=gM);let De=ht=>{He(ht.animationName==="mui-auto-fill-cancel"?qe.current:{value:"x"})};Ma.useEffect(()=>{Xe&&Xe.setAdornedStart(!!Le)},[Xe,Le]);let gt={...o,color:rt.color||"primary",disabled:rt.disabled,endAdornment:m,error:rt.error,focused:rt.focused,formControl:Xe,fullWidth:h,hiddenLabel:rt.hiddenLabel,multiline:M,size:rt.size,startAdornment:Le,type:ke},vt=qwe(gt),Et=Ge.root||l.Root||cc,Pe=Me.root||d.root||{},qt=Ge.input||l.Input||mc;return he={...he,...(Pt=Me.input)!=null?Pt:d.input},(0,dc.jsxs)(Ma.Fragment,{children:[!c&&typeof eH=="function"&&(QV||(QV=(0,dc.jsx)(eH,{}))),(0,dc.jsxs)(Et,{...Pe,ref:r,onClick:bt,...Ee,...!kd(Et)&&{ownerState:{...gt,...Pe.ownerState}},className:z(vt.root,Pe.className,i,oe&&"MuiInputBase-readOnly"),children:[Le,(0,dc.jsx)(ox.Provider,{value:null,children:(0,dc.jsx)(qt,{"aria-invalid":rt.error,"aria-describedby":a,autoComplete:n,autoFocus:s,defaultValue:u,disabled:rt.disabled,id:x,onAnimationStart:De,name:N,placeholder:Y,readOnly:oe,required:rt.required,rows:se,value:nt,onKeyDown:G,onKeyUp:L,type:ke,...he,...!kd(qt)&&{as:Ie,ownerState:{...gt,...he.ownerState}},ref:We,className:z(vt.input,he.className,oe&&"MuiInputBase-readOnly"),onBlur:ot,onChange:yt,onFocus:Ke})}),m,ee?ee({...rt,startAdornment:Le}):null]})]})}),hc=Kwe;function tH(e){return de("MuiInput",e)}var Xwe={...yi,...pe("MuiInput",["root","underline","input"])},ax=Xwe;function rH(e){return de("MuiOutlinedInput",e)}var Jwe={...yi,...pe("MuiOutlinedInput",["root","notchedOutline","input"])},bi=Jwe;function oH(e){return de("MuiFilledInput",e)}var Ywe={...yi,...pe("MuiFilledInput",["root","underline","input","adornedStart","adornedEnd","sizeSmall","multiline","hiddenLabel"])},Ed=Ywe;var fSt=y(P());var aH=y(U()),nH=te((0,aH.jsx)("path",{d:"M7 10l5 5 5-5z"}),"ArrowDropDown");var lH=y(P());var nx=y(P());var sH=y(U()),Zwe={entering:{opacity:1},entered:{opacity:1}},Qwe=nx.forwardRef(function(t,r){let o=Wo(),a={enter:o.transitions.duration.enteringScreen,exit:o.transitions.duration.leavingScreen},{addEndListener:n,appear:s=!0,children:i,easing:p,in:l,onEnter:d,onEntered:u,onEntering:f,onExit:c,onExited:m,onExiting:g,style:h,timeout:x=a,TransitionComponent:T=av,...v}=t,b=!0,w=nx.useRef(null),O=fr(w,ha(i),r),k=L=>Y=>{if(L){let oe=w.current;Y===void 0?L(oe):L(oe,Y)}},M=k(f),N=k((L,Y)=>{mC(L);let oe=Yh({style:h,timeout:x,easing:p},{mode:"enter"});L.style.webkitTransition=o.transitions.create("opacity",oe),L.style.transition=o.transitions.create("opacity",oe),d&&d(L,Y)}),S=k(u),B=k(g),$=k(L=>{let Y=Yh({style:h,timeout:x,easing:p},{mode:"exit"});L.style.webkitTransition=o.transitions.create("opacity",Y),L.style.transition=o.transitions.create("opacity",Y),c&&c(L)}),K=k(m);return(0,sH.jsx)(T,{appear:s,in:l,nodeRef:b?w:void 0,onEnter:N,onEntered:S,onEntering:M,onExit:$,onExited:K,onExiting:B,addEndListener:L=>{n&&n(w.current,L)},timeout:x,...v,children:(L,Y)=>nx.cloneElement(i,{style:{opacity:0,visibility:L==="exited"&&!l?"hidden":void 0,...Zwe[L],...h,...i.props.style},ref:O,...Y})})}),hv=Qwe;function iH(e){return de("MuiBackdrop",e)}var CSt=pe("MuiBackdrop",["root","invisible"]);var yM=y(U()),e0e=e=>{let{ownerState:t,...r}=e;return r},t0e=e=>{let{classes:t,invisible:r}=e;return fe({root:["root",r&&"invisible"]},iH,t)},r0e=X("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.invisible&&t.invisible]}})({position:"fixed",display:"flex",alignItems:"center",justifyContent:"center",right:0,bottom:0,top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.5)",WebkitTapHighlightColor:"transparent",variants:[{props:{invisible:!0},style:{backgroundColor:"transparent"}}]}),o0e=lH.forwardRef(function(t,r){let o=ce({props:t,name:"MuiBackdrop"}),{children:a,className:n,component:s="div",invisible:i=!1,open:p,components:l={},componentsProps:d={},slotProps:u={},slots:f={},TransitionComponent:c,transitionDuration:m,...g}=o,h={...o,component:s,invisible:i},x=t0e(h),T={transition:c,root:l.Root,...f},v={...d,...u},b={slots:T,slotProps:v},[w,O]=Qr("root",{elementType:r0e,externalForwardedProps:b,className:z(x.root,n),ownerState:h}),[k,M]=Qr("transition",{elementType:hv,externalForwardedProps:b,ownerState:h}),N=e0e(M);return(0,yM.jsx)(k,{in:p,timeout:m,...g,...N,children:(0,yM.jsx)(w,{"aria-hidden":!0,...O,classes:x,ref:r,children:a})})}),xv=o0e;var fH=y(P());function a0e(e){let{badgeContent:t,invisible:r=!1,max:o=99,showZero:a=!1}=e,n=Ph({badgeContent:t,max:o}),s=r;r===!1&&t===0&&!a&&(s=!0);let{badgeContent:i,max:p=o}=s?n:e,l=i&&Number(i)>p?`${p}+`:i;return{badgeContent:i,invisible:s,max:p,displayValue:l}}var pH=a0e;function dH(e){return de("MuiBadge",e)}var n0e=pe("MuiBadge",["root","badge","dot","standard","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft","invisible","colorError","colorInfo","colorPrimary","colorSecondary","colorSuccess","colorWarning","overlapRectangular","overlapCircular","anchorOriginTopLeftCircular","anchorOriginTopLeftRectangular","anchorOriginTopRightCircular","anchorOriginTopRightRectangular","anchorOriginBottomLeftCircular","anchorOriginBottomLeftRectangular","anchorOriginBottomRightCircular","anchorOriginBottomRightRectangular"]),cp=n0e;var AC=y(U()),bM=10,vM=4,s0e=e=>{let{color:t,anchorOrigin:r,invisible:o,overlap:a,variant:n,classes:s={}}=e,i={root:["root"],badge:["badge",n,o&&"invisible",`anchorOrigin${ae(r.vertical)}${ae(r.horizontal)}`,`anchorOrigin${ae(r.vertical)}${ae(r.horizontal)}${ae(a)}`,`overlap${ae(a)}`,t!=="default"&&`color${ae(t)}`]};return fe(i,dH,s)},i0e=X("span",{name:"MuiBadge",slot:"Root",overridesResolver:(e,t)=>t.root})({position:"relative",display:"inline-flex",verticalAlign:"middle",flexShrink:0}),l0e=X("span",{name:"MuiBadge",slot:"Badge",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.badge,t[r.variant],t[`anchorOrigin${ae(r.anchorOrigin.vertical)}${ae(r.anchorOrigin.horizontal)}${ae(r.overlap)}`],r.color!=="default"&&t[`color${ae(r.color)}`],r.invisible&&t.invisible]}})(be(({theme:e})=>({display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"center",alignContent:"center",alignItems:"center",position:"absolute",boxSizing:"border-box",fontFamily:e.typography.fontFamily,fontWeight:e.typography.fontWeightMedium,fontSize:e.typography.pxToRem(12),minWidth:bM*2,lineHeight:1,padding:"0 6px",height:bM*2,borderRadius:bM,zIndex:1,transition:e.transitions.create("transform",{easing:e.transitions.easing.easeInOut,duration:e.transitions.duration.enteringScreen}),variants:[...Object.entries(e.palette).filter(Ot(["contrastText"])).map(([t])=>({props:{color:t},style:{backgroundColor:(e.vars||e).palette[t].main,color:(e.vars||e).palette[t].contrastText}})),{props:{variant:"dot"},style:{borderRadius:vM,height:vM*2,minWidth:vM*2,padding:0}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="top"&&t.anchorOrigin.horizontal==="right"&&t.overlap==="rectangular",style:{top:0,right:0,transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%",[`&.${cp.invisible}`]:{transform:"scale(0) translate(50%, -50%)"}}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="bottom"&&t.anchorOrigin.horizontal==="right"&&t.overlap==="rectangular",style:{bottom:0,right:0,transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%",[`&.${cp.invisible}`]:{transform:"scale(0) translate(50%, 50%)"}}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="top"&&t.anchorOrigin.horizontal==="left"&&t.overlap==="rectangular",style:{top:0,left:0,transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%",[`&.${cp.invisible}`]:{transform:"scale(0) translate(-50%, -50%)"}}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="bottom"&&t.anchorOrigin.horizontal==="left"&&t.overlap==="rectangular",style:{bottom:0,left:0,transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%",[`&.${cp.invisible}`]:{transform:"scale(0) translate(-50%, 50%)"}}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="top"&&t.anchorOrigin.horizontal==="right"&&t.overlap==="circular",style:{top:"14%",right:"14%",transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%",[`&.${cp.invisible}`]:{transform:"scale(0) translate(50%, -50%)"}}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="bottom"&&t.anchorOrigin.horizontal==="right"&&t.overlap==="circular",style:{bottom:"14%",right:"14%",transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%",[`&.${cp.invisible}`]:{transform:"scale(0) translate(50%, 50%)"}}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="top"&&t.anchorOrigin.horizontal==="left"&&t.overlap==="circular",style:{top:"14%",left:"14%",transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%",[`&.${cp.invisible}`]:{transform:"scale(0) translate(-50%, -50%)"}}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="bottom"&&t.anchorOrigin.horizontal==="left"&&t.overlap==="circular",style:{bottom:"14%",left:"14%",transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%",[`&.${cp.invisible}`]:{transform:"scale(0) translate(-50%, 50%)"}}},{props:{invisible:!0},style:{transition:e.transitions.create("transform",{easing:e.transitions.easing.easeInOut,duration:e.transitions.duration.leavingScreen})}}]})));function uH(e){var t,r;return{vertical:(t=e==null?void 0:e.vertical)!=null?t:"top",horizontal:(r=e==null?void 0:e.horizontal)!=null?r:"right"}}var p0e=fH.forwardRef(function(t,r){var Ve,Ee,nt,Ze,qe,ct;let o=ce({props:t,name:"MuiBadge"}),{anchorOrigin:a,className:n,classes:s,component:i,components:p={},componentsProps:l={},children:d,overlap:u="rectangular",color:f="default",invisible:c=!1,max:m=99,badgeContent:g,slots:h,slotProps:x,showZero:T=!1,variant:v="standard",...b}=o,{badgeContent:w,invisible:O,max:k,displayValue:M}=pH({max:m,invisible:c,badgeContent:g,showZero:T}),N=Ph({anchorOrigin:uH(a),color:f,overlap:u,variant:v,badgeContent:g}),S=O||w==null&&v!=="dot",{color:B=f,overlap:$=u,anchorOrigin:K,variant:G=v}=S?N:o,L=uH(K),Y=G!=="dot"?M:void 0,oe={...o,badgeContent:w,invisible:S,max:k,displayValue:Y,showZero:T,anchorOrigin:L,color:B,overlap:$,variant:G},ee=s0e(oe),se=(Ee=(Ve=h==null?void 0:h.root)!=null?Ve:p.Root)!=null?Ee:i0e,Ae=(Ze=(nt=h==null?void 0:h.badge)!=null?nt:p.Badge)!=null?Ze:l0e,Me=(qe=x==null?void 0:x.root)!=null?qe:l.root,Ge=(ct=x==null?void 0:x.badge)!=null?ct:l.badge,Le=zo({elementType:se,externalSlotProps:Me,externalForwardedProps:b,additionalProps:{ref:r,as:i},ownerState:oe,className:z(Me==null?void 0:Me.className,ee.root,n)}),ke=zo({elementType:Ae,externalSlotProps:Ge,ownerState:oe,className:z(ee.badge,Ge==null?void 0:Ge.className)});return(0,AC.jsxs)(se,{...Le,children:[d,(0,AC.jsx)(Ae,{...ke,children:Y})]})}),gv=p0e;var d0e=pe("MuiBox",["root"]),cH=d0e;var u0e=ep(),f0e=Eb({themeId:Yi,defaultTheme:u0e,defaultClassName:cH.root,generateClassName:Rf.generate}),Je=f0e;var dl=y(P()),Rwt=y(cd());var vwt=y(P());var gwt=y(P());var mH=y(U()),hH=te((0,mH.jsx)("path",{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"MoreHoriz");var MC=y(U()),c0e=X(Go)(be(({theme:e})=>({display:"flex",marginLeft:`calc(${e.spacing(1)} * 0.5)`,marginRight:`calc(${e.spacing(1)} * 0.5)`,...e.palette.mode==="light"?{backgroundColor:e.palette.grey[100],color:e.palette.grey[700]}:{backgroundColor:e.palette.grey[700],color:e.palette.grey[100]},borderRadius:2,"&:hover, &:focus":{...e.palette.mode==="light"?{backgroundColor:e.palette.grey[200]}:{backgroundColor:e.palette.grey[600]}},"&:active":{boxShadow:e.shadows[0],...e.palette.mode==="light"?{backgroundColor:Df(e.palette.grey[200],.12)}:{backgroundColor:Df(e.palette.grey[600],.12)}}}))),m0e=X(hH)({width:24,height:16});function h0e(e){let{slots:t={},slotProps:r={},...o}=e,a=e;return(0,MC.jsx)("li",{children:(0,MC.jsx)(c0e,{focusRipple:!0,...o,ownerState:a,children:(0,MC.jsx)(m0e,{as:t.CollapsedIcon,ownerState:a,...r.collapsedIcon})})})}var xH=h0e;function gH(e){return de("MuiBreadcrumbs",e)}var x0e=pe("MuiBreadcrumbs",["root","ol","li","separator"]),yH=x0e;var sx=y(U()),g0e=e=>{let{classes:t}=e;return fe({root:["root"],li:["li"],ol:["ol"],separator:["separator"]},gH,t)},y0e=X(Za,{name:"MuiBreadcrumbs",slot:"Root",overridesResolver:(e,t)=>[{[`& .${yH.li}`]:t.li},t.root]})({}),b0e=X("ol",{name:"MuiBreadcrumbs",slot:"Ol",overridesResolver:(e,t)=>t.ol})({display:"flex",flexWrap:"wrap",alignItems:"center",padding:0,margin:0,listStyle:"none"}),v0e=X("li",{name:"MuiBreadcrumbs",slot:"Separator",overridesResolver:(e,t)=>t.separator})({display:"flex",userSelect:"none",marginLeft:8,marginRight:8});function T0e(e,t,r,o){return e.reduce((a,n,s)=>(s{let M=()=>{h(!0);let N=b.current.querySelector("a[href],button,[tabindex]");N&&N.focus()};return u+d>=k.length?k:[...k.slice(0,u),(0,sx.jsx)(xH,{"aria-label":l,slots:{CollapsedIcon:i.CollapsedIcon},slotProps:{collapsedIcon:v},onClick:M},"ellipsis"),...k.slice(k.length-d,k.length)]},O=dl.Children.toArray(a).filter(k=>dl.isValidElement(k)).map((k,M)=>(0,sx.jsx)("li",{className:T.li,children:k},`child-${M}`));return(0,sx.jsx)(y0e,{ref:r,component:s,color:"textSecondary",className:z(T.root,n),ownerState:x,...m,children:(0,sx.jsx)(b0e,{className:T.ol,ref:b,ownerState:x,children:T0e(g||f&&O.length<=f?O:w(O),T.separator,c,x)})})}),NC=S0e;var yv=y(P());function bH(e){return de("MuiButton",e)}var w0e=pe("MuiButton",["root","text","textInherit","textPrimary","textSecondary","textSuccess","textError","textInfo","textWarning","outlined","outlinedInherit","outlinedPrimary","outlinedSecondary","outlinedSuccess","outlinedError","outlinedInfo","outlinedWarning","contained","containedInherit","containedPrimary","containedSecondary","containedSuccess","containedError","containedInfo","containedWarning","disableElevation","focusVisible","disabled","colorInherit","colorPrimary","colorSecondary","colorSuccess","colorError","colorInfo","colorWarning","textSizeSmall","textSizeMedium","textSizeLarge","outlinedSizeSmall","outlinedSizeMedium","outlinedSizeLarge","containedSizeSmall","containedSizeMedium","containedSizeLarge","sizeMedium","sizeSmall","sizeLarge","fullWidth","startIcon","endIcon","icon","iconSizeSmall","iconSizeMedium","iconSizeLarge"]),xc=w0e;var vH=y(P()),_0e=vH.createContext({}),TH=_0e;var SH=y(P()),C0e=SH.createContext(void 0),wH=C0e;var bv=y(U()),O0e=e=>{let{color:t,disableElevation:r,fullWidth:o,size:a,variant:n,classes:s}=e,i={root:["root",n,`${n}${ae(t)}`,`size${ae(a)}`,`${n}Size${ae(a)}`,`color${ae(t)}`,r&&"disableElevation",o&&"fullWidth"],label:["label"],startIcon:["icon","startIcon",`iconSize${ae(a)}`],endIcon:["icon","endIcon",`iconSize${ae(a)}`]},p=fe(i,bH,s);return{...s,...p}},_H=[{props:{size:"small"},style:{"& > *:nth-of-type(1)":{fontSize:18}}},{props:{size:"medium"},style:{"& > *:nth-of-type(1)":{fontSize:20}}},{props:{size:"large"},style:{"& > *:nth-of-type(1)":{fontSize:22}}}],k0e=X(Go,{shouldForwardProp:e=>kt(e)||e==="classes",name:"MuiButton",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[r.variant],t[`${r.variant}${ae(r.color)}`],t[`size${ae(r.size)}`],t[`${r.variant}Size${ae(r.size)}`],r.color==="inherit"&&t.colorInherit,r.disableElevation&&t.disableElevation,r.fullWidth&&t.fullWidth]}})(be(({theme:e})=>{let t=e.palette.mode==="light"?e.palette.grey[300]:e.palette.grey[800],r=e.palette.mode==="light"?e.palette.grey.A100:e.palette.grey[700];return{...e.typography.button,minWidth:64,padding:"6px 16px",border:0,borderRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create(["background-color","box-shadow","border-color","color"],{duration:e.transitions.duration.short}),"&:hover":{textDecoration:"none"},[`&.${xc.disabled}`]:{color:(e.vars||e).palette.action.disabled},variants:[{props:{variant:"contained"},style:{color:"var(--variant-containedColor)",backgroundColor:"var(--variant-containedBg)",boxShadow:(e.vars||e).shadows[2],"&:hover":{boxShadow:(e.vars||e).shadows[4],"@media (hover: none)":{boxShadow:(e.vars||e).shadows[2]}},"&:active":{boxShadow:(e.vars||e).shadows[8]},[`&.${xc.focusVisible}`]:{boxShadow:(e.vars||e).shadows[6]},[`&.${xc.disabled}`]:{color:(e.vars||e).palette.action.disabled,boxShadow:(e.vars||e).shadows[0],backgroundColor:(e.vars||e).palette.action.disabledBackground}}},{props:{variant:"outlined"},style:{padding:"5px 15px",border:"1px solid currentColor",borderColor:"var(--variant-outlinedBorder, currentColor)",backgroundColor:"var(--variant-outlinedBg)",color:"var(--variant-outlinedColor)",[`&.${xc.disabled}`]:{border:`1px solid ${(e.vars||e).palette.action.disabledBackground}`}}},{props:{variant:"text"},style:{padding:"6px 8px",color:"var(--variant-textColor)",backgroundColor:"var(--variant-textBg)"}},...Object.entries(e.palette).filter(Ot()).map(([o])=>({props:{color:o},style:{"--variant-textColor":(e.vars||e).palette[o].main,"--variant-outlinedColor":(e.vars||e).palette[o].main,"--variant-outlinedBorder":e.vars?`rgba(${e.vars.palette[o].mainChannel} / 0.5)`:St(e.palette[o].main,.5),"--variant-containedColor":(e.vars||e).palette[o].contrastText,"--variant-containedBg":(e.vars||e).palette[o].main,"@media (hover: hover)":{"&:hover":{"--variant-containedBg":(e.vars||e).palette[o].dark,"--variant-textBg":e.vars?`rgba(${e.vars.palette[o].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:St(e.palette[o].main,e.palette.action.hoverOpacity),"--variant-outlinedBorder":(e.vars||e).palette[o].main,"--variant-outlinedBg":e.vars?`rgba(${e.vars.palette[o].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:St(e.palette[o].main,e.palette.action.hoverOpacity)}}}})),{props:{color:"inherit"},style:{color:"inherit",borderColor:"currentColor","--variant-containedBg":e.vars?e.vars.palette.Button.inheritContainedBg:t,"@media (hover: hover)":{"&:hover":{"--variant-containedBg":e.vars?e.vars.palette.Button.inheritContainedHoverBg:r,"--variant-textBg":e.vars?`rgba(${e.vars.palette.text.primaryChannel} / ${e.vars.palette.action.hoverOpacity})`:St(e.palette.text.primary,e.palette.action.hoverOpacity),"--variant-outlinedBg":e.vars?`rgba(${e.vars.palette.text.primaryChannel} / ${e.vars.palette.action.hoverOpacity})`:St(e.palette.text.primary,e.palette.action.hoverOpacity)}}}},{props:{size:"small",variant:"text"},style:{padding:"4px 5px",fontSize:e.typography.pxToRem(13)}},{props:{size:"large",variant:"text"},style:{padding:"8px 11px",fontSize:e.typography.pxToRem(15)}},{props:{size:"small",variant:"outlined"},style:{padding:"3px 9px",fontSize:e.typography.pxToRem(13)}},{props:{size:"large",variant:"outlined"},style:{padding:"7px 21px",fontSize:e.typography.pxToRem(15)}},{props:{size:"small",variant:"contained"},style:{padding:"4px 10px",fontSize:e.typography.pxToRem(13)}},{props:{size:"large",variant:"contained"},style:{padding:"8px 22px",fontSize:e.typography.pxToRem(15)}},{props:{disableElevation:!0},style:{boxShadow:"none","&:hover":{boxShadow:"none"},[`&.${xc.focusVisible}`]:{boxShadow:"none"},"&:active":{boxShadow:"none"},[`&.${xc.disabled}`]:{boxShadow:"none"}}},{props:{fullWidth:!0},style:{width:"100%"}}]}})),E0e=X("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.startIcon,t[`iconSize${ae(r.size)}`]]}})({display:"inherit",marginRight:8,marginLeft:-4,variants:[{props:{size:"small"},style:{marginLeft:-2}},..._H]}),P0e=X("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.endIcon,t[`iconSize${ae(r.size)}`]]}})({display:"inherit",marginRight:-4,marginLeft:8,variants:[{props:{size:"small"},style:{marginRight:-2}},..._H]}),R0e=yv.forwardRef(function(t,r){let o=yv.useContext(TH),a=yv.useContext(wH),n=Zi(o,t),s=ce({props:n,name:"MuiButton"}),{children:i,color:p="primary",component:l="button",className:d,disabled:u=!1,disableElevation:f=!1,disableFocusRipple:c=!1,endIcon:m,focusVisibleClassName:g,fullWidth:h=!1,size:x="medium",startIcon:T,type:v,variant:b="text",...w}=s,O={...s,color:p,component:l,disabled:u,disableElevation:f,disableFocusRipple:c,fullWidth:h,size:x,type:v,variant:b},k=O0e(O),M=T&&(0,bv.jsx)(E0e,{className:k.startIcon,ownerState:O,children:T}),N=m&&(0,bv.jsx)(P0e,{className:k.endIcon,ownerState:O,children:m}),S=a||"";return(0,bv.jsxs)(k0e,{ownerState:O,className:z(o.className,k.root,d,S),component:l,disabled:u,focusRipple:!c,focusVisibleClassName:z(k.focusVisible,g),ref:r,type:v,...w,classes:k,children:[M,i,N]})}),st=R0e;var vv=y(P());var OH=y(P());function CH(e){return de("PrivateSwitchBase",e)}var h0t=pe("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);var IC=y(U()),D0e=e=>{let{classes:t,checked:r,disabled:o,edge:a}=e,n={root:["root",r&&"checked",o&&"disabled",a&&`edge${ae(a)}`],input:["input"]};return fe(n,CH,t)},A0e=X(Go)({padding:9,borderRadius:"50%",variants:[{props:{edge:"start",size:"small"},style:{marginLeft:-3}},{props:({edge:e,ownerState:t})=>e==="start"&&t.size!=="small",style:{marginLeft:-12}},{props:{edge:"end",size:"small"},style:{marginRight:-3}},{props:({edge:e,ownerState:t})=>e==="end"&&t.size!=="small",style:{marginRight:-12}}]}),M0e=X("input",{shouldForwardProp:kt})({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),N0e=OH.forwardRef(function(t,r){let{autoFocus:o,checked:a,checkedIcon:n,className:s,defaultChecked:i,disabled:p,disableFocusRipple:l=!1,edge:d=!1,icon:u,id:f,inputProps:c,inputRef:m,name:g,onBlur:h,onChange:x,onFocus:T,readOnly:v,required:b=!1,tabIndex:w,type:O,value:k,...M}=t,[N,S]=Yf({controlled:a,default:!!i,name:"SwitchBase",state:"checked"}),B=co(),$=se=>{T&&T(se),B&&B.onFocus&&B.onFocus(se)},K=se=>{h&&h(se),B&&B.onBlur&&B.onBlur(se)},G=se=>{if(se.nativeEvent.defaultPrevented)return;let Ae=se.target.checked;S(Ae),x&&x(se,Ae)},L=p;B&&typeof L=="undefined"&&(L=B.disabled);let Y=O==="checkbox"||O==="radio",oe={...t,checked:N,disabled:L,disableFocusRipple:l,edge:d},ee=D0e(oe);return(0,IC.jsxs)(A0e,{component:"span",className:z(ee.root,s),centerRipple:!0,focusRipple:!l,disabled:L,tabIndex:null,role:void 0,onFocus:$,onBlur:K,ownerState:oe,ref:r,...M,children:[(0,IC.jsx)(M0e,{autoFocus:o,checked:a,defaultChecked:i,className:ee.input,disabled:L,id:Y?f:void 0,name:g,onChange:G,readOnly:v,ref:m,required:b,ownerState:oe,tabIndex:w,type:O,...O==="checkbox"&&k===void 0?{}:{value:k},...c}),N?n:u]})}),ix=N0e;var k0t=y(P());var kH=y(U()),EH=te((0,kH.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank");var R0t=y(P());var PH=y(U()),RH=te((0,PH.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox");var M0t=y(P());var DH=y(U()),AH=te((0,DH.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox");function MH(e){return de("MuiCheckbox",e)}var I0e=pe("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary","sizeSmall","sizeMedium"]),FC=I0e;var Tv=y(U()),F0e=e=>{let{classes:t,indeterminate:r,color:o,size:a}=e,n={root:["root",r&&"indeterminate",`color${ae(o)}`,`size${ae(a)}`]},s=fe(n,MH,t);return{...t,...s}},B0e=X(ix,{shouldForwardProp:e=>kt(e)||e==="classes",name:"MuiCheckbox",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.indeterminate&&t.indeterminate,t[`size${ae(r.size)}`],r.color!=="default"&&t[`color${ae(r.color)}`]]}})(be(({theme:e})=>({color:(e.vars||e).palette.text.secondary,variants:[{props:{color:"default",disableRipple:!1},style:{"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})`:St(e.palette.action.active,e.palette.action.hoverOpacity)}}},...Object.entries(e.palette).filter(Ot()).map(([t])=>({props:{color:t,disableRipple:!1},style:{"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette[t].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:St(e.palette[t].main,e.palette.action.hoverOpacity)}}})),...Object.entries(e.palette).filter(Ot()).map(([t])=>({props:{color:t},style:{[`&.${FC.checked}, &.${FC.indeterminate}`]:{color:(e.vars||e).palette[t].main},[`&.${FC.disabled}`]:{color:(e.vars||e).palette.action.disabled}}})),{props:{disableRipple:!1},style:{"&:hover":{"@media (hover: none)":{backgroundColor:"transparent"}}}}]}))),j0e=(0,Tv.jsx)(RH,{}),L0e=(0,Tv.jsx)(EH,{}),z0e=(0,Tv.jsx)(AH,{}),W0e=vv.forwardRef(function(t,r){var T,v;let o=ce({props:t,name:"MuiCheckbox"}),{checkedIcon:a=j0e,color:n="primary",icon:s=L0e,indeterminate:i=!1,indeterminateIcon:p=z0e,inputProps:l,size:d="medium",disableRipple:u=!1,className:f,...c}=o,m=i?p:s,g=i?p:a,h={...o,disableRipple:u,color:n,indeterminate:i,size:d},x=F0e(h);return(0,Tv.jsx)(B0e,{type:"checkbox",inputProps:{"data-indeterminate":i,...l},icon:vv.cloneElement(m,{fontSize:(T=m.props.fontSize)!=null?T:d}),checkedIcon:vv.cloneElement(g,{fontSize:(v=g.props.fontSize)!=null?v:d}),ownerState:h,ref:r,className:z(x.root,f),disableRipple:u,...c,classes:x})}),Zt=W0e;var IH=y(P());function NH(e){return de("MuiCircularProgress",e)}var n_t=pe("MuiCircularProgress",["root","determinate","indeterminate","colorPrimary","colorSecondary","svg","circle","circleDeterminate","circleIndeterminate","circleDisableShrink"]);var BC=y(U()),Pd=44,TM=Da` +`,Vle=wo.forwardRef(function(t,r){let o=ie({props:t,name:"MuiTouchRipple"}),{center:a=!1,classes:n={},className:s,...i}=o,[p,l]=wo.useState([]),d=wo.useRef(0),u=wo.useRef(null);wo.useEffect(()=>{u.current&&(u.current(),u.current=null)},[p]);let f=wo.useRef(!1),c=Ka(),h=wo.useRef(null),g=wo.useRef(null),m=wo.useCallback(v=>{let{pulsate:w,rippleX:O,rippleY:k,rippleSize:M,cb:N}=v;l(S=>[...S,(0,pw.jsx)(Hle,{classes:{ripple:K(n.ripple,yn.ripple),rippleVisible:K(n.rippleVisible,yn.rippleVisible),ripplePulsate:K(n.ripplePulsate,yn.ripplePulsate),child:K(n.child,yn.child),childLeaving:K(n.childLeaving,yn.childLeaving),childPulsate:K(n.childPulsate,yn.childPulsate)},timeout:eP,pulsate:w,rippleX:O,rippleY:k,rippleSize:M},d.current)]),d.current+=1,u.current=N},[n]),x=wo.useCallback((v={},w={},O=()=>{})=>{let{pulsate:k=!1,center:M=a||w.pulsate,fakeElement:N=!1}=w;if((v==null?void 0:v.type)==="mousedown"&&f.current){f.current=!1;return}(v==null?void 0:v.type)==="touchstart"&&(f.current=!0);let S=N?null:g.current,B=S?S.getBoundingClientRect():{width:0,height:0,left:0,top:0},G,J,q;if(M||v===void 0||v.clientX===0&&v.clientY===0||!v.clientX&&!v.touches)G=Math.round(B.width/2),J=Math.round(B.height/2);else{let{clientX:j,clientY:X}=v.touches&&v.touches.length>0?v.touches[0]:v;G=Math.round(j-B.left),J=Math.round(X-B.top)}if(M)q=Math.sqrt((2*B.width**2+B.height**2)/3),q%2===0&&(q+=1);else{let j=Math.max(Math.abs((S?S.clientWidth:0)-G),G)*2+2,X=Math.max(Math.abs((S?S.clientHeight:0)-J),J)*2+2;q=Math.sqrt(j**2+X**2)}v!=null&&v.touches?h.current===null&&(h.current=()=>{m({pulsate:k,rippleX:G,rippleY:J,rippleSize:q,cb:O})},c.start(Lle,()=>{h.current&&(h.current(),h.current=null)})):m({pulsate:k,rippleX:G,rippleY:J,rippleSize:q,cb:O})},[a,m,c]),T=wo.useCallback(()=>{x({},{pulsate:!0})},[x]),b=wo.useCallback((v,w)=>{if(c.clear(),(v==null?void 0:v.type)==="touchend"&&h.current){h.current(),h.current=null,c.start(0,()=>{b(v,w)});return}h.current=null,l(O=>O.length>0?O.slice(1):O),u.current=w},[c]);return wo.useImperativeHandle(r,()=>({pulsate:T,start:x,stop:b}),[T,x,b]),(0,pw.jsx)(Ule,{className:K(yn.root,n.root,s),ref:g,...i,children:(0,pw.jsx)(YE,{component:null,exit:!0,children:p})})}),N3=Vle;function I3(e){return te("MuiButtonBase",e)}var $le=Q("MuiButtonBase",["root","disabled","focusVisible"]),F3=$le;var dw=y($()),Gle=e=>{let{disabled:t,focusVisible:r,focusVisibleClassName:o,classes:a}=e,s=re({root:["root",t&&"disabled",r&&"focusVisible"]},I3,a);return r&&o&&(s.root+=` ${o}`),s},qle=W("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},[`&.${F3.disabled}`]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}}),Kle=Pi.forwardRef(function(t,r){let o=ie({props:t,name:"MuiButtonBase"}),{action:a,centerRipple:n=!1,children:s,className:i,component:p="button",disabled:l=!1,disableRipple:d=!1,disableTouchRipple:u=!1,focusRipple:f=!1,focusVisibleClassName:c,LinkComponent:h="a",onBlur:g,onClick:m,onContextMenu:x,onDragLeave:T,onFocus:b,onFocusVisible:v,onKeyDown:w,onKeyUp:O,onMouseDown:k,onMouseLeave:M,onMouseUp:N,onTouchEnd:S,onTouchMove:B,onTouchStart:G,tabIndex:J=0,TouchRippleProps:q,touchRippleRef:j,type:X,...le}=o,ae=Pi.useRef(null),de=iw(),Be=Qt(de.ref,j),[Oe,We]=Pi.useState(!1);l&&Oe&&We(!1),Pi.useImperativeHandle(a,()=>({focusVisible:()=>{We(!0),ae.current.focus()}}),[]);let ke=de.shouldMount&&!d&&!l;Pi.useEffect(()=>{Oe&&f&&!d&&de.pulsate()},[d,f,Oe,de]);function _e(Ee,me,Re=u){return ts(mt=>(me&&me(mt),Re||de[Ee](mt),!0))}let He=_e("start",k),Me=_e("stop",x),lt=_e("stop",T),Ye=_e("stop",N),ot=_e("stop",Ee=>{Oe&&Ee.preventDefault(),M&&M(Ee)}),ft=_e("start",G),Fe=_e("stop",S),Pe=_e("stop",B),Ze=_e("stop",Ee=>{Tp(Ee.target)||We(!1),g&&g(Ee)},!1),qe=ts(Ee=>{ae.current||(ae.current=Ee.currentTarget),Tp(Ee.target)&&(We(!0),v&&v(Ee)),b&&b(Ee)}),Ue=()=>{let Ee=ae.current;return p&&p!=="button"&&!(Ee.tagName==="A"&&Ee.href)},ue=ts(Ee=>{f&&!Ee.repeat&&Oe&&Ee.key===" "&&de.stop(Ee,()=>{de.start(Ee)}),Ee.target===Ee.currentTarget&&Ue()&&Ee.key===" "&&Ee.preventDefault(),w&&w(Ee),Ee.target===Ee.currentTarget&&Ue()&&Ee.key==="Enter"&&!l&&(Ee.preventDefault(),m&&m(Ee))}),we=ts(Ee=>{f&&Ee.key===" "&&Oe&&!Ee.defaultPrevented&&de.stop(Ee,()=>{de.pulsate(Ee)}),O&&O(Ee),m&&Ee.target===Ee.currentTarget&&Ue()&&Ee.key===" "&&!Ee.defaultPrevented&&m(Ee)}),Ne=p;Ne==="button"&&(le.href||le.to)&&(Ne=h);let Ve={};Ne==="button"?(Ve.type=X===void 0?"button":X,Ve.disabled=l):(!le.href&&!le.to&&(Ve.role="button"),l&&(Ve["aria-disabled"]=l));let ht=Qt(r,ae),Tt={...o,centerRipple:n,component:p,disabled:l,disableRipple:d,disableTouchRipple:u,focusRipple:f,tabIndex:J,focusVisible:Oe},xt=Gle(Tt);return(0,dw.jsxs)(qle,{as:Ne,className:K(xt.root,i),ownerState:Tt,onBlur:Ze,onClick:m,onContextMenu:Me,onFocus:qe,onKeyDown:ue,onKeyUp:we,onMouseDown:He,onMouseLeave:ot,onMouseUp:Ye,onDragLeave:lt,onTouchEnd:Fe,onTouchMove:Pe,onTouchStart:ft,ref:ht,tabIndex:l?-1:J,type:X,...Ve,...le,children:[s,ke?(0,dw.jsx)(N3,{ref:Be,center:n,...q}):null]})}),_o=Kle;function Jle(e){return typeof e.main=="string"}function Xle(e,t=[]){if(!Jle(e))return!1;for(let r of t)if(!e.hasOwnProperty(r)||typeof e[r]!="string")return!1;return!0}function vt(e=[]){return([,t])=>t&&Xle(t,e)}var uw=y(D());function B3(e){return te("MuiIconButton",e)}var Yle=Q("MuiIconButton",["root","disabled","colorInherit","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","edgeStart","edgeEnd","sizeSmall","sizeMedium","sizeLarge"]),L3=Yle;var j3=y($()),Zle=e=>{let{classes:t,disabled:r,color:o,edge:a,size:n}=e,s={root:["root",r&&"disabled",o!=="default"&&`color${Y(o)}`,a&&`edge${Y(a)}`,`size${Y(n)}`]};return re(s,B3,t)},Qle=W(_o,{name:"MuiIconButton",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.color!=="default"&&t[`color${Y(r.color)}`],r.edge&&t[`edge${Y(r.edge)}`],t[`size${Y(r.size)}`]]}})(ge(({theme:e})=>({textAlign:"center",flex:"0 0 auto",fontSize:e.typography.pxToRem(24),padding:8,borderRadius:"50%",color:(e.vars||e).palette.action.active,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),variants:[{props:t=>!t.disableRipple,style:{"--IconButton-hoverBg":e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})`:st(e.palette.action.active,e.palette.action.hoverOpacity),"&:hover":{backgroundColor:"var(--IconButton-hoverBg)","@media (hover: none)":{backgroundColor:"transparent"}}}},{props:{edge:"start"},style:{marginLeft:-12}},{props:{edge:"start",size:"small"},style:{marginLeft:-3}},{props:{edge:"end"},style:{marginRight:-12}},{props:{edge:"end",size:"small"},style:{marginRight:-3}}]})),ge(({theme:e})=>({variants:[{props:{color:"inherit"},style:{color:"inherit"}},...Object.entries(e.palette).filter(vt()).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].main}})),...Object.entries(e.palette).filter(vt()).map(([t])=>({props:{color:t},style:{"--IconButton-hoverBg":e.vars?`rgba(${(e.vars||e).palette[t].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:st((e.vars||e).palette[t].main,e.palette.action.hoverOpacity)}})),{props:{size:"small"},style:{padding:5,fontSize:e.typography.pxToRem(18)}},{props:{size:"large"},style:{padding:12,fontSize:e.typography.pxToRem(28)}}],[`&.${L3.disabled}`]:{backgroundColor:"transparent",color:(e.vars||e).palette.action.disabled}}))),epe=uw.forwardRef(function(t,r){let o=ie({props:t,name:"MuiIconButton"}),{edge:a=!1,children:n,className:s,color:i="default",disabled:p=!1,disableFocusRipple:l=!1,size:d="medium",...u}=o,f={...o,edge:a,color:i,disabled:p,disableFocusRipple:l,size:d},c=Zle(f);return(0,j3.jsx)(Qle,{className:K(c.root,s),centerRipple:!0,focusRipple:!l,disabled:p,ref:r,...u,ownerState:f,children:n})}),nt=epe;var U3=y(D());function z3(e){return te("MuiTypography",e)}var tpe=Q("MuiTypography",["root","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","inherit","button","caption","overline","alignLeft","alignRight","alignCenter","alignJustify","noWrap","gutterBottom","paragraph"]),fw=tpe;var H3=y($()),rpe={primary:!0,secondary:!0,error:!0,info:!0,success:!0,warning:!0,textPrimary:!0,textSecondary:!0,textDisabled:!0},ope=T3(),ape=e=>{let{align:t,gutterBottom:r,noWrap:o,paragraph:a,variant:n,classes:s}=e,i={root:["root",n,e.align!=="inherit"&&`align${Y(t)}`,r&&"gutterBottom",o&&"noWrap",a&&"paragraph"]};return re(i,z3,s)},npe=W("span",{name:"MuiTypography",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.variant&&t[r.variant],r.align!=="inherit"&&t[`align${Y(r.align)}`],r.noWrap&&t.noWrap,r.gutterBottom&&t.gutterBottom,r.paragraph&&t.paragraph]}})(ge(({theme:e})=>{var t;return{margin:0,variants:[{props:{variant:"inherit"},style:{font:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}},...Object.entries(e.typography).filter(([r,o])=>r!=="inherit"&&o&&typeof o=="object").map(([r,o])=>({props:{variant:r},style:o})),...Object.entries(e.palette).filter(vt()).map(([r])=>({props:{color:r},style:{color:(e.vars||e).palette[r].main}})),...Object.entries(((t=e.palette)==null?void 0:t.text)||{}).filter(([,r])=>typeof r=="string").map(([r])=>({props:{color:`text${Y(r)}`},style:{color:(e.vars||e).palette.text[r]}})),{props:({ownerState:r})=>r.align!=="inherit",style:{textAlign:"var(--Typography-textAlign)"}},{props:({ownerState:r})=>r.noWrap,style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},{props:({ownerState:r})=>r.gutterBottom,style:{marginBottom:"0.35em"}},{props:({ownerState:r})=>r.paragraph,style:{marginBottom:16}}]}})),W3={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p",inherit:"p"},spe=U3.forwardRef(function(t,r){let{color:o,...a}=ie({props:t,name:"MuiTypography"}),n=!rpe[o],s=ope({...a,...n&&{color:o}}),{align:i="inherit",className:p,component:l,gutterBottom:d=!1,noWrap:u=!1,paragraph:f=!1,variant:c="body1",variantMapping:h=W3,...g}=s,m={...s,align:i,color:o,className:p,component:l,gutterBottom:d,noWrap:u,paragraph:f,variant:c,variantMapping:h},x=l||(f?"p":h[c]||W3[c])||"span",T=ape(m);return(0,H3.jsx)(npe,{as:x,ref:r,className:K(T.root,p),...g,ownerState:m,style:{...i!=="inherit"&&{"--Typography-textAlign":i},...g.style}})}),ka=spe;var G3=y(D());function V3(e){return te("MuiAppBar",e)}var AJe=Q("MuiAppBar",["root","positionFixed","positionAbsolute","positionSticky","positionStatic","positionRelative","colorDefault","colorPrimary","colorSecondary","colorInherit","colorTransparent","colorError","colorInfo","colorSuccess","colorWarning"]);var q3=y($()),ipe=e=>{let{color:t,position:r,classes:o}=e,a={root:["root",`color${Y(t)}`,`position${Y(r)}`]};return re(a,V3,o)},$3=(e,t)=>e?`${e==null?void 0:e.replace(")","")}, ${t})`:t,lpe=W(Ar,{name:"MuiAppBar",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[`position${Y(r.position)}`],t[`color${Y(r.color)}`]]}})(ge(({theme:e})=>({display:"flex",flexDirection:"column",width:"100%",boxSizing:"border-box",flexShrink:0,variants:[{props:{position:"fixed"},style:{position:"fixed",zIndex:(e.vars||e).zIndex.appBar,top:0,left:"auto",right:0,"@media print":{position:"absolute"}}},{props:{position:"absolute"},style:{position:"absolute",zIndex:(e.vars||e).zIndex.appBar,top:0,left:"auto",right:0}},{props:{position:"sticky"},style:{position:"sticky",zIndex:(e.vars||e).zIndex.appBar,top:0,left:"auto",right:0}},{props:{position:"static"},style:{position:"static"}},{props:{position:"relative"},style:{position:"relative"}},{props:{color:"inherit"},style:{"--AppBar-color":"inherit"}},{props:{color:"default"},style:{"--AppBar-background":e.vars?e.vars.palette.AppBar.defaultBg:e.palette.grey[100],"--AppBar-color":e.vars?e.vars.palette.text.primary:e.palette.getContrastText(e.palette.grey[100]),...e.applyStyles("dark",{"--AppBar-background":e.vars?e.vars.palette.AppBar.defaultBg:e.palette.grey[900],"--AppBar-color":e.vars?e.vars.palette.text.primary:e.palette.getContrastText(e.palette.grey[900])})}},...Object.entries(e.palette).filter(vt(["contrastText"])).map(([t])=>{var r,o;return{props:{color:t},style:{"--AppBar-background":((r=e.vars)!=null?r:e).palette[t].main,"--AppBar-color":((o=e.vars)!=null?o:e).palette[t].contrastText}}}),{props:t=>t.enableColorOnDark===!0&&!["inherit","transparent"].includes(t.color),style:{backgroundColor:"var(--AppBar-background)",color:"var(--AppBar-color)"}},{props:t=>t.enableColorOnDark===!1&&!["inherit","transparent"].includes(t.color),style:{backgroundColor:"var(--AppBar-background)",color:"var(--AppBar-color)",...e.applyStyles("dark",{backgroundColor:e.vars?$3(e.vars.palette.AppBar.darkBg,"var(--AppBar-background)"):null,color:e.vars?$3(e.vars.palette.AppBar.darkColor,"var(--AppBar-color)"):null})}},{props:{color:"transparent"},style:{"--AppBar-background":"transparent","--AppBar-color":"inherit",backgroundColor:"var(--AppBar-background)",color:"var(--AppBar-color)",...e.applyStyles("dark",{backgroundImage:"none"})}}]}))),ppe=G3.forwardRef(function(t,r){let o=ie({props:t,name:"MuiAppBar"}),{className:a,color:n="primary",enableColorOnDark:s=!1,position:i="fixed",...p}=o,l={...o,color:n,position:i,enableColorOnDark:s},d=ipe(l);return(0,q3.jsx)(lpe,{square:!0,component:"header",ownerState:l,elevation:4,className:K(d.root,a,i==="fixed"&&"mui-fixed"),ref:r,...p})}),cw=ppe;var y4=y(D());var pa=y(D());var Hr="top",Co="bottom",uo="right",Qr="left",mw="auto",kp=[Hr,Co,uo,Qr],Sl="start",Fu="end",K3="clippingParents",hw="viewport",fm="popper",J3="reference",tP=kp.reduce(function(e,t){return e.concat([t+"-"+Sl,t+"-"+Fu])},[]),xw=[].concat(kp,[mw]).reduce(function(e,t){return e.concat([t,t+"-"+Sl,t+"-"+Fu])},[]),dpe="beforeRead",upe="read",fpe="afterRead",cpe="beforeMain",mpe="main",hpe="afterMain",xpe="beforeWrite",gpe="write",ype="afterWrite",X3=[dpe,upe,fpe,cpe,mpe,hpe,xpe,gpe,ype];function Fo(e){return e?(e.nodeName||"").toLowerCase():null}function Or(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function os(e){var t=Or(e).Element;return e instanceof t||e instanceof Element}function Oo(e){var t=Or(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function cm(e){if(typeof ShadowRoot=="undefined")return!1;var t=Or(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function vpe(e){var t=e.state;Object.keys(t.elements).forEach(function(r){var o=t.styles[r]||{},a=t.attributes[r]||{},n=t.elements[r];!Oo(n)||!Fo(n)||(Object.assign(n.style,o),Object.keys(a).forEach(function(s){var i=a[s];i===!1?n.removeAttribute(s):n.setAttribute(s,i===!0?"":i)}))})}function bpe(e){var t=e.state,r={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,r.popper),t.styles=r,t.elements.arrow&&Object.assign(t.elements.arrow.style,r.arrow),function(){Object.keys(t.elements).forEach(function(o){var a=t.elements[o],n=t.attributes[o]||{},s=Object.keys(t.styles.hasOwnProperty(o)?t.styles[o]:r[o]),i=s.reduce(function(p,l){return p[l]="",p},{});!Oo(a)||!Fo(a)||(Object.assign(a.style,i),Object.keys(n).forEach(function(p){a.removeAttribute(p)}))})}}var Y3={name:"applyStyles",enabled:!0,phase:"write",fn:vpe,effect:bpe,requires:["computeStyles"]};function Bo(e){return e.split("-")[0]}var Fs=Math.max,Bu=Math.min,wl=Math.round;function mm(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Kg(){return!/^((?!chrome|android).)*safari/i.test(mm())}function as(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!1);var o=e.getBoundingClientRect(),a=1,n=1;t&&Oo(e)&&(a=e.offsetWidth>0&&wl(o.width)/e.offsetWidth||1,n=e.offsetHeight>0&&wl(o.height)/e.offsetHeight||1);var s=os(e)?Or(e):window,i=s.visualViewport,p=!Kg()&&r,l=(o.left+(p&&i?i.offsetLeft:0))/a,d=(o.top+(p&&i?i.offsetTop:0))/n,u=o.width/a,f=o.height/n;return{width:u,height:f,top:d,right:l+u,bottom:d+f,left:l,x:l,y:d}}function Lu(e){var t=as(e),r=e.offsetWidth,o=e.offsetHeight;return Math.abs(t.width-r)<=1&&(r=t.width),Math.abs(t.height-o)<=1&&(o=t.height),{x:e.offsetLeft,y:e.offsetTop,width:r,height:o}}function Jg(e,t){var r=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(r&&cm(r)){var o=t;do{if(o&&e.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function Ea(e){return Or(e).getComputedStyle(e)}function rP(e){return["table","td","th"].indexOf(Fo(e))>=0}function Jo(e){return((os(e)?e.ownerDocument:e.document)||window.document).documentElement}function _l(e){return Fo(e)==="html"?e:e.assignedSlot||e.parentNode||(cm(e)?e.host:null)||Jo(e)}function Z3(e){return!Oo(e)||Ea(e).position==="fixed"?null:e.offsetParent}function Tpe(e){var t=/firefox/i.test(mm()),r=/Trident/i.test(mm());if(r&&Oo(e)){var o=Ea(e);if(o.position==="fixed")return null}var a=_l(e);for(cm(a)&&(a=a.host);Oo(a)&&["html","body"].indexOf(Fo(a))<0;){var n=Ea(a);if(n.transform!=="none"||n.perspective!=="none"||n.contain==="paint"||["transform","perspective"].indexOf(n.willChange)!==-1||t&&n.willChange==="filter"||t&&n.filter&&n.filter!=="none")return a;a=a.parentNode}return null}function Bs(e){for(var t=Or(e),r=Z3(e);r&&rP(r)&&Ea(r).position==="static";)r=Z3(r);return r&&(Fo(r)==="html"||Fo(r)==="body"&&Ea(r).position==="static")?t:r||Tpe(e)||t}function ju(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function zu(e,t,r){return Fs(e,Bu(t,r))}function Q3(e,t,r){var o=zu(e,t,r);return o>r?r:o}function Xg(){return{top:0,right:0,bottom:0,left:0}}function Yg(e){return Object.assign({},Xg(),e)}function Zg(e,t){return t.reduce(function(r,o){return r[o]=e,r},{})}var Spe=function(t,r){return t=typeof t=="function"?t(Object.assign({},r.rects,{placement:r.placement})):t,Yg(typeof t!="number"?t:Zg(t,kp))};function wpe(e){var t,r=e.state,o=e.name,a=e.options,n=r.elements.arrow,s=r.modifiersData.popperOffsets,i=Bo(r.placement),p=ju(i),l=[Qr,uo].indexOf(i)>=0,d=l?"height":"width";if(!(!n||!s)){var u=Spe(a.padding,r),f=Lu(n),c=p==="y"?Hr:Qr,h=p==="y"?Co:uo,g=r.rects.reference[d]+r.rects.reference[p]-s[p]-r.rects.popper[d],m=s[p]-r.rects.reference[p],x=Bs(n),T=x?p==="y"?x.clientHeight||0:x.clientWidth||0:0,b=g/2-m/2,v=u[c],w=T-f[d]-u[h],O=T/2-f[d]/2+b,k=zu(v,O,w),M=p;r.modifiersData[o]=(t={},t[M]=k,t.centerOffset=k-O,t)}}function _pe(e){var t=e.state,r=e.options,o=r.element,a=o===void 0?"[data-popper-arrow]":o;a!=null&&(typeof a=="string"&&(a=t.elements.popper.querySelector(a),!a)||Jg(t.elements.popper,a)&&(t.elements.arrow=a))}var e4={name:"arrow",enabled:!0,phase:"main",fn:wpe,effect:_pe,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ns(e){return e.split("-")[1]}var Cpe={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Ope(e,t){var r=e.x,o=e.y,a=t.devicePixelRatio||1;return{x:wl(r*a)/a||0,y:wl(o*a)/a||0}}function t4(e){var t,r=e.popper,o=e.popperRect,a=e.placement,n=e.variation,s=e.offsets,i=e.position,p=e.gpuAcceleration,l=e.adaptive,d=e.roundOffsets,u=e.isFixed,f=s.x,c=f===void 0?0:f,h=s.y,g=h===void 0?0:h,m=typeof d=="function"?d({x:c,y:g}):{x:c,y:g};c=m.x,g=m.y;var x=s.hasOwnProperty("x"),T=s.hasOwnProperty("y"),b=Qr,v=Hr,w=window;if(l){var O=Bs(r),k="clientHeight",M="clientWidth";if(O===Or(r)&&(O=Jo(r),Ea(O).position!=="static"&&i==="absolute"&&(k="scrollHeight",M="scrollWidth")),O=O,a===Hr||(a===Qr||a===uo)&&n===Fu){v=Co;var N=u&&O===w&&w.visualViewport?w.visualViewport.height:O[k];g-=N-o.height,g*=p?1:-1}if(a===Qr||(a===Hr||a===Co)&&n===Fu){b=uo;var S=u&&O===w&&w.visualViewport?w.visualViewport.width:O[M];c-=S-o.width,c*=p?1:-1}}var B=Object.assign({position:i},l&&Cpe),G=d===!0?Ope({x:c,y:g},Or(r)):{x:c,y:g};if(c=G.x,g=G.y,p){var J;return Object.assign({},B,(J={},J[v]=T?"0":"",J[b]=x?"0":"",J.transform=(w.devicePixelRatio||1)<=1?"translate("+c+"px, "+g+"px)":"translate3d("+c+"px, "+g+"px, 0)",J))}return Object.assign({},B,(t={},t[v]=T?g+"px":"",t[b]=x?c+"px":"",t.transform="",t))}function kpe(e){var t=e.state,r=e.options,o=r.gpuAcceleration,a=o===void 0?!0:o,n=r.adaptive,s=n===void 0?!0:n,i=r.roundOffsets,p=i===void 0?!0:i,l={placement:Bo(t.placement),variation:ns(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:a,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,t4(Object.assign({},l,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:p})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,t4(Object.assign({},l,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:p})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var r4={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:kpe,data:{}};var gw={passive:!0};function Epe(e){var t=e.state,r=e.instance,o=e.options,a=o.scroll,n=a===void 0?!0:a,s=o.resize,i=s===void 0?!0:s,p=Or(t.elements.popper),l=[].concat(t.scrollParents.reference,t.scrollParents.popper);return n&&l.forEach(function(d){d.addEventListener("scroll",r.update,gw)}),i&&p.addEventListener("resize",r.update,gw),function(){n&&l.forEach(function(d){d.removeEventListener("scroll",r.update,gw)}),i&&p.removeEventListener("resize",r.update,gw)}}var o4={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Epe,data:{}};var Ppe={left:"right",right:"left",bottom:"top",top:"bottom"};function hm(e){return e.replace(/left|right|bottom|top/g,function(t){return Ppe[t]})}var Rpe={start:"end",end:"start"};function yw(e){return e.replace(/start|end/g,function(t){return Rpe[t]})}function Wu(e){var t=Or(e),r=t.pageXOffset,o=t.pageYOffset;return{scrollLeft:r,scrollTop:o}}function Uu(e){return as(Jo(e)).left+Wu(e).scrollLeft}function oP(e,t){var r=Or(e),o=Jo(e),a=r.visualViewport,n=o.clientWidth,s=o.clientHeight,i=0,p=0;if(a){n=a.width,s=a.height;var l=Kg();(l||!l&&t==="fixed")&&(i=a.offsetLeft,p=a.offsetTop)}return{width:n,height:s,x:i+Uu(e),y:p}}function aP(e){var t,r=Jo(e),o=Wu(e),a=(t=e.ownerDocument)==null?void 0:t.body,n=Fs(r.scrollWidth,r.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0),s=Fs(r.scrollHeight,r.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0),i=-o.scrollLeft+Uu(e),p=-o.scrollTop;return Ea(a||r).direction==="rtl"&&(i+=Fs(r.clientWidth,a?a.clientWidth:0)-n),{width:n,height:s,x:i,y:p}}function Hu(e){var t=Ea(e),r=t.overflow,o=t.overflowX,a=t.overflowY;return/auto|scroll|overlay|hidden/.test(r+a+o)}function vw(e){return["html","body","#document"].indexOf(Fo(e))>=0?e.ownerDocument.body:Oo(e)&&Hu(e)?e:vw(_l(e))}function Ep(e,t){var r;t===void 0&&(t=[]);var o=vw(e),a=o===((r=e.ownerDocument)==null?void 0:r.body),n=Or(o),s=a?[n].concat(n.visualViewport||[],Hu(o)?o:[]):o,i=t.concat(s);return a?i:i.concat(Ep(_l(s)))}function xm(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Dpe(e,t){var r=as(e,!1,t==="fixed");return r.top=r.top+e.clientTop,r.left=r.left+e.clientLeft,r.bottom=r.top+e.clientHeight,r.right=r.left+e.clientWidth,r.width=e.clientWidth,r.height=e.clientHeight,r.x=r.left,r.y=r.top,r}function a4(e,t,r){return t===hw?xm(oP(e,r)):os(t)?Dpe(t,r):xm(aP(Jo(e)))}function Ape(e){var t=Ep(_l(e)),r=["absolute","fixed"].indexOf(Ea(e).position)>=0,o=r&&Oo(e)?Bs(e):e;return os(o)?t.filter(function(a){return os(a)&&Jg(a,o)&&Fo(a)!=="body"}):[]}function nP(e,t,r,o){var a=t==="clippingParents"?Ape(e):[].concat(t),n=[].concat(a,[r]),s=n[0],i=n.reduce(function(p,l){var d=a4(e,l,o);return p.top=Fs(d.top,p.top),p.right=Bu(d.right,p.right),p.bottom=Bu(d.bottom,p.bottom),p.left=Fs(d.left,p.left),p},a4(e,s,o));return i.width=i.right-i.left,i.height=i.bottom-i.top,i.x=i.left,i.y=i.top,i}function Qg(e){var t=e.reference,r=e.element,o=e.placement,a=o?Bo(o):null,n=o?ns(o):null,s=t.x+t.width/2-r.width/2,i=t.y+t.height/2-r.height/2,p;switch(a){case Hr:p={x:s,y:t.y-r.height};break;case Co:p={x:s,y:t.y+t.height};break;case uo:p={x:t.x+t.width,y:i};break;case Qr:p={x:t.x-r.width,y:i};break;default:p={x:t.x,y:t.y}}var l=a?ju(a):null;if(l!=null){var d=l==="y"?"height":"width";switch(n){case Sl:p[l]=p[l]-(t[d]/2-r[d]/2);break;case Fu:p[l]=p[l]+(t[d]/2-r[d]/2);break;default:}}return p}function Ls(e,t){t===void 0&&(t={});var r=t,o=r.placement,a=o===void 0?e.placement:o,n=r.strategy,s=n===void 0?e.strategy:n,i=r.boundary,p=i===void 0?K3:i,l=r.rootBoundary,d=l===void 0?hw:l,u=r.elementContext,f=u===void 0?fm:u,c=r.altBoundary,h=c===void 0?!1:c,g=r.padding,m=g===void 0?0:g,x=Yg(typeof m!="number"?m:Zg(m,kp)),T=f===fm?J3:fm,b=e.rects.popper,v=e.elements[h?T:f],w=nP(os(v)?v:v.contextElement||Jo(e.elements.popper),p,d,s),O=as(e.elements.reference),k=Qg({reference:O,element:b,strategy:"absolute",placement:a}),M=xm(Object.assign({},b,k)),N=f===fm?M:O,S={top:w.top-N.top+x.top,bottom:N.bottom-w.bottom+x.bottom,left:w.left-N.left+x.left,right:N.right-w.right+x.right},B=e.modifiersData.offset;if(f===fm&&B){var G=B[a];Object.keys(S).forEach(function(J){var q=[uo,Co].indexOf(J)>=0?1:-1,j=[Hr,Co].indexOf(J)>=0?"y":"x";S[J]+=G[j]*q})}return S}function sP(e,t){t===void 0&&(t={});var r=t,o=r.placement,a=r.boundary,n=r.rootBoundary,s=r.padding,i=r.flipVariations,p=r.allowedAutoPlacements,l=p===void 0?xw:p,d=ns(o),u=d?i?tP:tP.filter(function(h){return ns(h)===d}):kp,f=u.filter(function(h){return l.indexOf(h)>=0});f.length===0&&(f=u);var c=f.reduce(function(h,g){return h[g]=Ls(e,{placement:g,boundary:a,rootBoundary:n,padding:s})[Bo(g)],h},{});return Object.keys(c).sort(function(h,g){return c[h]-c[g]})}function Mpe(e){if(Bo(e)===mw)return[];var t=hm(e);return[yw(e),t,yw(t)]}function Npe(e){var t=e.state,r=e.options,o=e.name;if(!t.modifiersData[o]._skip){for(var a=r.mainAxis,n=a===void 0?!0:a,s=r.altAxis,i=s===void 0?!0:s,p=r.fallbackPlacements,l=r.padding,d=r.boundary,u=r.rootBoundary,f=r.altBoundary,c=r.flipVariations,h=c===void 0?!0:c,g=r.allowedAutoPlacements,m=t.options.placement,x=Bo(m),T=x===m,b=p||(T||!h?[hm(m)]:Mpe(m)),v=[m].concat(b).reduce(function(_e,He){return _e.concat(Bo(He)===mw?sP(t,{placement:He,boundary:d,rootBoundary:u,padding:l,flipVariations:h,allowedAutoPlacements:g}):He)},[]),w=t.rects.reference,O=t.rects.popper,k=new Map,M=!0,N=v[0],S=0;S=0,j=q?"width":"height",X=Ls(t,{placement:B,boundary:d,rootBoundary:u,altBoundary:f,padding:l}),le=q?J?uo:Qr:J?Co:Hr;w[j]>O[j]&&(le=hm(le));var ae=hm(le),de=[];if(n&&de.push(X[G]<=0),i&&de.push(X[le]<=0,X[ae]<=0),de.every(function(_e){return _e})){N=B,M=!1;break}k.set(B,de)}if(M)for(var Be=h?3:1,Oe=function(He){var Me=v.find(function(lt){var Ye=k.get(lt);if(Ye)return Ye.slice(0,He).every(function(ot){return ot})});if(Me)return N=Me,"break"},We=Be;We>0;We--){var ke=Oe(We);if(ke==="break")break}t.placement!==N&&(t.modifiersData[o]._skip=!0,t.placement=N,t.reset=!0)}}var n4={name:"flip",enabled:!0,phase:"main",fn:Npe,requiresIfExists:["offset"],data:{_skip:!1}};function s4(e,t,r){return r===void 0&&(r={x:0,y:0}),{top:e.top-t.height-r.y,right:e.right-t.width+r.x,bottom:e.bottom-t.height+r.y,left:e.left-t.width-r.x}}function i4(e){return[Hr,uo,Co,Qr].some(function(t){return e[t]>=0})}function Ipe(e){var t=e.state,r=e.name,o=t.rects.reference,a=t.rects.popper,n=t.modifiersData.preventOverflow,s=Ls(t,{elementContext:"reference"}),i=Ls(t,{altBoundary:!0}),p=s4(s,o),l=s4(i,a,n),d=i4(p),u=i4(l);t.modifiersData[r]={referenceClippingOffsets:p,popperEscapeOffsets:l,isReferenceHidden:d,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":u})}var l4={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Ipe};function Fpe(e,t,r){var o=Bo(e),a=[Qr,Hr].indexOf(o)>=0?-1:1,n=typeof r=="function"?r(Object.assign({},t,{placement:e})):r,s=n[0],i=n[1];return s=s||0,i=(i||0)*a,[Qr,uo].indexOf(o)>=0?{x:i,y:s}:{x:s,y:i}}function Bpe(e){var t=e.state,r=e.options,o=e.name,a=r.offset,n=a===void 0?[0,0]:a,s=xw.reduce(function(d,u){return d[u]=Fpe(u,t.rects,n),d},{}),i=s[t.placement],p=i.x,l=i.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=p,t.modifiersData.popperOffsets.y+=l),t.modifiersData[o]=s}var p4={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Bpe};function Lpe(e){var t=e.state,r=e.name;t.modifiersData[r]=Qg({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}var d4={name:"popperOffsets",enabled:!0,phase:"read",fn:Lpe,data:{}};function iP(e){return e==="x"?"y":"x"}function jpe(e){var t=e.state,r=e.options,o=e.name,a=r.mainAxis,n=a===void 0?!0:a,s=r.altAxis,i=s===void 0?!1:s,p=r.boundary,l=r.rootBoundary,d=r.altBoundary,u=r.padding,f=r.tether,c=f===void 0?!0:f,h=r.tetherOffset,g=h===void 0?0:h,m=Ls(t,{boundary:p,rootBoundary:l,padding:u,altBoundary:d}),x=Bo(t.placement),T=ns(t.placement),b=!T,v=ju(x),w=iP(v),O=t.modifiersData.popperOffsets,k=t.rects.reference,M=t.rects.popper,N=typeof g=="function"?g(Object.assign({},t.rects,{placement:t.placement})):g,S=typeof N=="number"?{mainAxis:N,altAxis:N}:Object.assign({mainAxis:0,altAxis:0},N),B=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,G={x:0,y:0};if(O){if(n){var J,q=v==="y"?Hr:Qr,j=v==="y"?Co:uo,X=v==="y"?"height":"width",le=O[v],ae=le+m[q],de=le-m[j],Be=c?-M[X]/2:0,Oe=T===Sl?k[X]:M[X],We=T===Sl?-M[X]:-k[X],ke=t.elements.arrow,_e=c&&ke?Lu(ke):{width:0,height:0},He=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:Xg(),Me=He[q],lt=He[j],Ye=zu(0,k[X],_e[X]),ot=b?k[X]/2-Be-Ye-Me-S.mainAxis:Oe-Ye-Me-S.mainAxis,ft=b?-k[X]/2+Be+Ye+lt+S.mainAxis:We+Ye+lt+S.mainAxis,Fe=t.elements.arrow&&Bs(t.elements.arrow),Pe=Fe?v==="y"?Fe.clientTop||0:Fe.clientLeft||0:0,Ze=(J=B==null?void 0:B[v])!=null?J:0,qe=le+ot-Ze-Pe,Ue=le+ft-Ze,ue=zu(c?Bu(ae,qe):ae,le,c?Fs(de,Ue):de);O[v]=ue,G[v]=ue-le}if(i){var we,Ne=v==="x"?Hr:Qr,Ve=v==="x"?Co:uo,ht=O[w],Tt=w==="y"?"height":"width",xt=ht+m[Ne],Ee=ht-m[Ve],me=[Hr,Qr].indexOf(x)!==-1,Re=(we=B==null?void 0:B[w])!=null?we:0,mt=me?xt:ht-k[Tt]-M[Tt]-Re+S.altAxis,gt=me?ht+k[Tt]+M[Tt]-Re-S.altAxis:Ee,Ge=c&&me?Q3(mt,ht,gt):zu(c?mt:xt,ht,c?gt:Ee);O[w]=Ge,G[w]=Ge-ht}t.modifiersData[o]=G}}var u4={name:"preventOverflow",enabled:!0,phase:"main",fn:jpe,requiresIfExists:["offset"]};function lP(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function pP(e){return e===Or(e)||!Oo(e)?Wu(e):lP(e)}function zpe(e){var t=e.getBoundingClientRect(),r=wl(t.width)/e.offsetWidth||1,o=wl(t.height)/e.offsetHeight||1;return r!==1||o!==1}function dP(e,t,r){r===void 0&&(r=!1);var o=Oo(t),a=Oo(t)&&zpe(t),n=Jo(t),s=as(e,a,r),i={scrollLeft:0,scrollTop:0},p={x:0,y:0};return(o||!o&&!r)&&((Fo(t)!=="body"||Hu(n))&&(i=pP(t)),Oo(t)?(p=as(t,!0),p.x+=t.clientLeft,p.y+=t.clientTop):n&&(p.x=Uu(n))),{x:s.left+i.scrollLeft-p.x,y:s.top+i.scrollTop-p.y,width:s.width,height:s.height}}function Wpe(e){var t=new Map,r=new Set,o=[];e.forEach(function(n){t.set(n.name,n)});function a(n){r.add(n.name);var s=[].concat(n.requires||[],n.requiresIfExists||[]);s.forEach(function(i){if(!r.has(i)){var p=t.get(i);p&&a(p)}}),o.push(n)}return e.forEach(function(n){r.has(n.name)||a(n)}),o}function uP(e){var t=Wpe(e);return X3.reduce(function(r,o){return r.concat(t.filter(function(a){return a.phase===o}))},[])}function fP(e){var t;return function(){return t||(t=new Promise(function(r){Promise.resolve().then(function(){t=void 0,r(e())})})),t}}function cP(e){var t=e.reduce(function(r,o){var a=r[o.name];return r[o.name]=a?Object.assign({},a,o,{options:Object.assign({},a.options,o.options),data:Object.assign({},a.data,o.data)}):o,r},{});return Object.keys(t).map(function(r){return t[r]})}var f4={placement:"bottom",modifiers:[],strategy:"absolute"};function c4(){for(var e=arguments.length,t=new Array(e),r=0;r{n||i(Hpe(a)||document.body)},[a,n]),$o(()=>{if(s&&!n)return bp(r,s),()=>{bp(r,null)}},[r,s,n]),n?ss.isValidElement(o)?ss.cloneElement(o,{ref:p}):(0,hP.jsx)(ss.Fragment,{children:o}):(0,hP.jsx)(ss.Fragment,{children:s&&h4.createPortal(o,s)})}),ey=Vpe;function x4(e){return te("MuiPopper",e)}var KQe=Q("MuiPopper",["root"]);var bw=y($());function $pe(e,t){if(t==="ltr")return e;switch(e){case"bottom-end":return"bottom-start";case"bottom-start":return"bottom-end";case"top-end":return"top-start";case"top-start":return"top-end";default:return e}}function xP(e){return typeof e=="function"?e():e}function Gpe(e){return e.nodeType!==void 0}var qpe=e=>{let{classes:t}=e;return re({root:["root"]},x4,t)},Kpe={},Jpe=pa.forwardRef(function(t,r){var j;let{anchorEl:o,children:a,direction:n,disablePortal:s,modifiers:i,open:p,placement:l,popperOptions:d,popperRef:u,slotProps:f={},slots:c={},TransitionProps:h,ownerState:g,...m}=t,x=pa.useRef(null),T=Ur(x,r),b=pa.useRef(null),v=Ur(b,u),w=pa.useRef(v);$o(()=>{w.current=v},[v]),pa.useImperativeHandle(u,()=>b.current,[]);let O=$pe(l,n),[k,M]=pa.useState(O),[N,S]=pa.useState(xP(o));pa.useEffect(()=>{b.current&&b.current.forceUpdate()}),pa.useEffect(()=>{o&&S(xP(o))},[o]),$o(()=>{if(!N||!p)return;let X=de=>{M(de.placement)},le=[{name:"preventOverflow",options:{altBoundary:s}},{name:"flip",options:{altBoundary:s}},{name:"onUpdate",enabled:!0,phase:"afterWrite",fn:({state:de})=>{X(de)}}];i!=null&&(le=le.concat(i)),d&&d.modifiers!=null&&(le=le.concat(d.modifiers));let ae=mP(N,x.current,{placement:O,...d,modifiers:le});return w.current(ae),()=>{ae.destroy(),w.current(null)}},[N,s,i,p,d,O]);let B={placement:k};h!==null&&(B.TransitionProps=h);let G=qpe(t),J=(j=c.root)!=null?j:"div",q=vo({elementType:J,externalSlotProps:f.root,externalForwardedProps:m,additionalProps:{role:"tooltip",ref:T},ownerState:t,className:G.root});return(0,bw.jsx)(J,{...q,children:typeof a=="function"?a(B):a})}),Xpe=pa.forwardRef(function(t,r){let{anchorEl:o,children:a,container:n,direction:s="ltr",disablePortal:i=!1,keepMounted:p=!1,modifiers:l,open:d,placement:u="bottom",popperOptions:f=Kpe,popperRef:c,style:h,transition:g=!1,slotProps:m={},slots:x={},...T}=t,[b,v]=pa.useState(!0),w=()=>{v(!1)},O=()=>{v(!0)};if(!p&&!d&&(!g||b))return null;let k;if(n)k=n;else if(o){let S=xP(o);k=S&&Gpe(S)?Dr(S).body:Dr(null).body}let M=!d&&p&&(!g||b)?"none":void 0,N=g?{in:d,onEnter:w,onExited:O}:void 0;return(0,bw.jsx)(ey,{disablePortal:i,container:k,children:(0,bw.jsx)(Jpe,{anchorEl:o,direction:s,disablePortal:i,modifiers:l,ref:r,open:g?!b:d,placement:u,popperOptions:f,popperRef:c,slotProps:m,slots:x,...T,style:{position:"fixed",top:0,left:0,display:M,...h},TransitionProps:N,children:a})})}),g4=Xpe;var v4=y($()),Ype=W(g4,{name:"MuiPopper",slot:"Root",overridesResolver:(e,t)=>t.root})({}),Zpe=y4.forwardRef(function(t,r){var k;let o=Yn(),a=ie({props:t,name:"MuiPopper"}),{anchorEl:n,component:s,components:i,componentsProps:p,container:l,disablePortal:d,keepMounted:u,modifiers:f,open:c,placement:h,popperOptions:g,popperRef:m,transition:x,slots:T,slotProps:b,...v}=a,w=(k=T==null?void 0:T.root)!=null?k:i==null?void 0:i.Root,O={anchorEl:n,container:l,disablePortal:d,keepMounted:u,modifiers:f,open:c,placement:h,popperOptions:g,popperRef:m,transition:x,...v};return(0,v4.jsx)(Ype,{as:s,direction:o?"rtl":"ltr",slots:{root:w},slotProps:b!=null?b:p,...O,ref:r})}),Tw=Zpe;var da=y(D());var is=y(D());var ty=y($());function Sw(e){return parseInt(e,10)||0}var Qpe={shadow:{visibility:"hidden",position:"absolute",overflow:"hidden",height:0,top:0,left:0,transform:"translateZ(0)"}};function ede(e){return e==null||Object.keys(e).length===0||e.outerHeightStyle===0&&!e.overflowing}var tde=is.forwardRef(function(t,r){let{onChange:o,maxRows:a,minRows:n=1,style:s,value:i,...p}=t,{current:l}=is.useRef(i!=null),d=is.useRef(null),u=Ur(r,d),f=is.useRef(null),c=is.useRef(null),h=is.useCallback(()=>{let x=d.current,b=hn(x).getComputedStyle(x);if(b.width==="0px")return{outerHeightStyle:0,overflowing:!1};let v=c.current;v.style.width=b.width,v.value=x.value||t.placeholder||"x",v.value.slice(-1)===` +`&&(v.value+=" ");let w=b.boxSizing,O=Sw(b.paddingBottom)+Sw(b.paddingTop),k=Sw(b.borderBottomWidth)+Sw(b.borderTopWidth),M=v.scrollHeight;v.value="x";let N=v.scrollHeight,S=M;n&&(S=Math.max(Number(n)*N,S)),a&&(S=Math.min(Number(a)*N,S)),S=Math.max(S,N);let B=S+(w==="border-box"?O+k:0),G=Math.abs(S-M)<=1;return{outerHeightStyle:B,overflowing:G}},[a,n,t.placeholder]),g=is.useCallback(()=>{let x=h();if(ede(x))return;let T=x.outerHeightStyle,b=d.current;f.current!==T&&(f.current=T,b.style.height=`${T}px`),b.style.overflow=x.overflowing?"hidden":""},[h]);return $o(()=>{let x=()=>{g()},T,b=()=>{cancelAnimationFrame(T),T=requestAnimationFrame(()=>{x()})},v=cu(x),w=d.current,O=hn(w);O.addEventListener("resize",v);let k;return typeof ResizeObserver!="undefined"&&(k=new ResizeObserver(x),k.observe(w)),()=>{v.clear(),cancelAnimationFrame(T),O.removeEventListener("resize",v),k&&k.disconnect()}},[h,g]),$o(()=>{g()}),(0,ty.jsxs)(is.Fragment,{children:[(0,ty.jsx)("textarea",{value:i,onChange:x=>{l||g(),o&&o(x)},ref:u,rows:n,style:s,...p}),(0,ty.jsx)("textarea",{"aria-hidden":!0,className:t.className,readOnly:!0,ref:c,tabIndex:-1,style:{...Qpe.shadow,...s,paddingTop:0,paddingBottom:0}})]})}),gP=tde;function rde(e){return typeof e=="string"}var Pp=rde;function Xo({props:e,states:t,muiFormControl:r}){return t.reduce((o,a)=>(o[a]=e[a],r&&typeof e[a]=="undefined"&&(o[a]=r[a]),o),{})}var b4=y(D()),ode=b4.createContext(void 0),gm=ode;var T4=y(D());function Vr(){return T4.useContext(gm)}function S4(e){return e!=null&&!(Array.isArray(e)&&e.length===0)}function Vu(e,t=!1){return e&&(S4(e.value)&&e.value!==""||t&&S4(e.defaultValue)&&e.defaultValue!=="")}function w4(e){return e.startAdornment}function _4(e){return te("MuiInputBase",e)}var ade=Q("MuiInputBase",["root","formControl","focused","disabled","adornedStart","adornedEnd","error","sizeSmall","multiline","colorSecondary","fullWidth","hiddenLabel","readOnly","input","inputSizeSmall","inputMultiline","inputTypeSearch","inputAdornedStart","inputAdornedEnd","inputHiddenLabel"]),js=ade;var $u=y($()),C4,Gu=(e,t)=>{let{ownerState:r}=e;return[t.root,r.formControl&&t.formControl,r.startAdornment&&t.adornedStart,r.endAdornment&&t.adornedEnd,r.error&&t.error,r.size==="small"&&t.sizeSmall,r.multiline&&t.multiline,r.color&&t[`color${Y(r.color)}`],r.fullWidth&&t.fullWidth,r.hiddenLabel&&t.hiddenLabel]},qu=(e,t)=>{let{ownerState:r}=e;return[t.input,r.size==="small"&&t.inputSizeSmall,r.multiline&&t.inputMultiline,r.type==="search"&&t.inputTypeSearch,r.startAdornment&&t.inputAdornedStart,r.endAdornment&&t.inputAdornedEnd,r.hiddenLabel&&t.inputHiddenLabel]},nde=e=>{let{classes:t,color:r,disabled:o,error:a,endAdornment:n,focused:s,formControl:i,fullWidth:p,hiddenLabel:l,multiline:d,readOnly:u,size:f,startAdornment:c,type:h}=e,g={root:["root",`color${Y(r)}`,o&&"disabled",a&&"error",p&&"fullWidth",s&&"focused",i&&"formControl",f&&f!=="medium"&&`size${Y(f)}`,d&&"multiline",c&&"adornedStart",n&&"adornedEnd",l&&"hiddenLabel",u&&"readOnly"],input:["input",o&&"disabled",h==="search"&&"inputTypeSearch",d&&"inputMultiline",f==="small"&&"inputSizeSmall",l&&"inputHiddenLabel",c&&"inputAdornedStart",n&&"inputAdornedEnd",u&&"readOnly"]};return re(g,_4,t)},Ku=W("div",{name:"MuiInputBase",slot:"Root",overridesResolver:Gu})(ge(({theme:e})=>({...e.typography.body1,color:(e.vars||e).palette.text.primary,lineHeight:"1.4375em",boxSizing:"border-box",position:"relative",cursor:"text",display:"inline-flex",alignItems:"center",[`&.${js.disabled}`]:{color:(e.vars||e).palette.text.disabled,cursor:"default"},variants:[{props:({ownerState:t})=>t.multiline,style:{padding:"4px 0 5px"}},{props:({ownerState:t,size:r})=>t.multiline&&r==="small",style:{paddingTop:1}},{props:({ownerState:t})=>t.fullWidth,style:{width:"100%"}}]}))),Ju=W("input",{name:"MuiInputBase",slot:"Input",overridesResolver:qu})(ge(({theme:e})=>{let t=e.palette.mode==="light",r={color:"currentColor",...e.vars?{opacity:e.vars.opacity.inputPlaceholder}:{opacity:t?.42:.5},transition:e.transitions.create("opacity",{duration:e.transitions.duration.shorter})},o={opacity:"0 !important"},a=e.vars?{opacity:e.vars.opacity.inputPlaceholder}:{opacity:t?.42:.5};return{font:"inherit",letterSpacing:"inherit",color:"currentColor",padding:"4px 0 5px",border:0,boxSizing:"content-box",background:"none",height:"1.4375em",margin:0,WebkitTapHighlightColor:"transparent",display:"block",minWidth:0,width:"100%","&::-webkit-input-placeholder":r,"&::-moz-placeholder":r,"&::-ms-input-placeholder":r,"&:focus":{outline:0},"&:invalid":{boxShadow:"none"},"&::-webkit-search-decoration":{WebkitAppearance:"none"},[`label[data-shrink=false] + .${js.formControl} &`]:{"&::-webkit-input-placeholder":o,"&::-moz-placeholder":o,"&::-ms-input-placeholder":o,"&:focus::-webkit-input-placeholder":a,"&:focus::-moz-placeholder":a,"&:focus::-ms-input-placeholder":a},[`&.${js.disabled}`]:{opacity:1,WebkitTextFillColor:(e.vars||e).palette.text.disabled},variants:[{props:({ownerState:n})=>!n.disableInjectingGlobalStyles,style:{animationName:"mui-auto-fill-cancel",animationDuration:"10ms","&:-webkit-autofill":{animationDuration:"5000s",animationName:"mui-auto-fill"}}},{props:{size:"small"},style:{paddingTop:1}},{props:({ownerState:n})=>n.multiline,style:{height:"auto",resize:"none",padding:0,paddingTop:0}},{props:{type:"search"},style:{MozAppearance:"textfield"}}]}})),O4=b3({"@keyframes mui-auto-fill":{from:{display:"block"}},"@keyframes mui-auto-fill-cancel":{from:{display:"block"}}}),sde=da.forwardRef(function(t,r){var Rt;let o=ie({props:t,name:"MuiInputBase"}),{"aria-describedby":a,autoComplete:n,autoFocus:s,className:i,color:p,components:l={},componentsProps:d={},defaultValue:u,disabled:f,disableInjectingGlobalStyles:c,endAdornment:h,error:g,fullWidth:m=!1,id:x,inputComponent:T="input",inputProps:b={},inputRef:v,margin:w,maxRows:O,minRows:k,multiline:M=!1,name:N,onBlur:S,onChange:B,onClick:G,onFocus:J,onKeyDown:q,onKeyUp:j,placeholder:X,readOnly:le,renderSuffix:ae,rows:de,size:Be,slotProps:Oe={},slots:We={},startAdornment:ke,type:_e="text",value:He,...Me}=o,lt=b.value!=null?b.value:He,{current:Ye}=da.useRef(lt!=null),ot=da.useRef(),ft=da.useCallback(ct=>{},[]),Fe=Qt(ot,v,b.ref,ft),[Pe,Ze]=da.useState(!1),qe=Vr(),Ue=Xo({props:o,muiFormControl:qe,states:["color","disabled","error","hiddenLabel","size","required","filled"]});Ue.focused=qe?qe.focused:Pe,da.useEffect(()=>{!qe&&f&&Pe&&(Ze(!1),S&&S())},[qe,f,Pe,S]);let ue=qe&&qe.onFilled,we=qe&&qe.onEmpty,Ne=da.useCallback(ct=>{Vu(ct)?ue&&ue():we&&we()},[ue,we]);Is(()=>{Ye&&Ne({value:lt})},[lt,Ne,Ye]);let Ve=ct=>{J&&J(ct),b.onFocus&&b.onFocus(ct),qe&&qe.onFocus?qe.onFocus(ct):Ze(!0)},ht=ct=>{S&&S(ct),b.onBlur&&b.onBlur(ct),qe&&qe.onBlur?qe.onBlur(ct):Ze(!1)},Tt=(ct,...je)=>{if(!Ye){let Nt=ct.target||ot.current;if(Nt==null)throw new Error(Mo(1));Ne({value:Nt.value})}b.onChange&&b.onChange(ct,...je),B&&B(ct,...je)};da.useEffect(()=>{Ne(ot.current)},[]);let xt=ct=>{ot.current&&ct.currentTarget===ct.target&&ot.current.focus(),G&&G(ct)},Ee=T,me=b;M&&Ee==="input"&&(de?me={type:void 0,minRows:de,maxRows:de,...me}:me={type:void 0,maxRows:O,minRows:k,...me},Ee=gP);let Re=ct=>{Ne(ct.animationName==="mui-auto-fill-cancel"?ot.current:{value:"x"})};da.useEffect(()=>{qe&&qe.setAdornedStart(!!ke)},[qe,ke]);let mt={...o,color:Ue.color||"primary",disabled:Ue.disabled,endAdornment:h,error:Ue.error,focused:Ue.focused,formControl:qe,fullWidth:m,hiddenLabel:Ue.hiddenLabel,multiline:M,size:Ue.size,startAdornment:ke,type:_e},gt=nde(mt),Ge=We.root||l.Root||Ku,et=Oe.root||d.root||{},Ut=We.input||l.Input||Ju;return me={...me,...(Rt=Oe.input)!=null?Rt:d.input},(0,$u.jsxs)(da.Fragment,{children:[!c&&typeof O4=="function"&&(C4||(C4=(0,$u.jsx)(O4,{}))),(0,$u.jsxs)(Ge,{...et,ref:r,onClick:xt,...Me,...!Pp(Ge)&&{ownerState:{...mt,...et.ownerState}},className:K(gt.root,et.className,i,le&&"MuiInputBase-readOnly"),children:[ke,(0,$u.jsx)(gm.Provider,{value:null,children:(0,$u.jsx)(Ut,{"aria-invalid":Ue.error,"aria-describedby":a,autoComplete:n,autoFocus:s,defaultValue:u,disabled:Ue.disabled,id:x,onAnimationStart:Re,name:N,placeholder:X,readOnly:le,required:Ue.required,rows:de,value:lt,onKeyDown:q,onKeyUp:j,type:_e,...me,...!Pp(Ut)&&{as:Ee,ownerState:{...mt,...me.ownerState}},ref:Fe,className:K(gt.input,me.className,le&&"MuiInputBase-readOnly"),onBlur:ht,onChange:Tt,onFocus:Ve})}),h,ae?ae({...Ue,startAdornment:ke}):null]})]})}),Xu=sde;function k4(e){return te("MuiInput",e)}var ide={...js,...Q("MuiInput",["root","underline","input"])},ym=ide;function E4(e){return te("MuiOutlinedInput",e)}var lde={...js,...Q("MuiOutlinedInput",["root","notchedOutline","input"])},zs=lde;function P4(e){return te("MuiFilledInput",e)}var pde={...js,...Q("MuiFilledInput",["root","underline","input","adornedStart","adornedEnd","sizeSmall","multiline","hiddenLabel"])},Rp=pde;var ltt=y(D());var R4=y($()),D4=Z((0,R4.jsx)("path",{d:"M7 10l5 5 5-5z"}),"ArrowDropDown");var N4=y(D());var vm=y(D());var A4=y($()),dde={entering:{opacity:1},entered:{opacity:1}},ude=vm.forwardRef(function(t,r){let o=Zr(),a={enter:o.transitions.duration.enteringScreen,exit:o.transitions.duration.leavingScreen},{addEndListener:n,appear:s=!0,children:i,easing:p,in:l,onEnter:d,onEntered:u,onEntering:f,onExit:c,onExited:h,onExiting:g,style:m,timeout:x=a,TransitionComponent:T=Gg,...b}=t,v=!0,w=vm.useRef(null),O=Qt(w,Go(i),r),k=j=>X=>{if(j){let le=w.current;X===void 0?j(le):j(le,X)}},M=k(f),N=k((j,X)=>{nw(j);let le=um({style:m,timeout:x,easing:p},{mode:"enter"});j.style.webkitTransition=o.transitions.create("opacity",le),j.style.transition=o.transitions.create("opacity",le),d&&d(j,X)}),S=k(u),B=k(g),G=k(j=>{let X=um({style:m,timeout:x,easing:p},{mode:"exit"});j.style.webkitTransition=o.transitions.create("opacity",X),j.style.transition=o.transitions.create("opacity",X),c&&c(j)}),J=k(h);return(0,A4.jsx)(T,{appear:s,in:l,nodeRef:v?w:void 0,onEnter:N,onEntered:S,onEntering:M,onExit:G,onExited:J,onExiting:B,addEndListener:j=>{n&&n(w.current,j)},timeout:x,...b,children:(j,X)=>vm.cloneElement(i,{style:{opacity:0,visibility:j==="exited"&&!l?"hidden":void 0,...dde[j],...m,...i.props.style},ref:O,...X})})}),ry=ude;function M4(e){return te("MuiBackdrop",e)}var Ttt=Q("MuiBackdrop",["root","invisible"]);var yP=y($()),fde=e=>{let{ownerState:t,...r}=e;return r},cde=e=>{let{classes:t,invisible:r}=e;return re({root:["root",r&&"invisible"]},M4,t)},mde=W("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.invisible&&t.invisible]}})({position:"fixed",display:"flex",alignItems:"center",justifyContent:"center",right:0,bottom:0,top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.5)",WebkitTapHighlightColor:"transparent",variants:[{props:{invisible:!0},style:{backgroundColor:"transparent"}}]}),hde=N4.forwardRef(function(t,r){let o=ie({props:t,name:"MuiBackdrop"}),{children:a,className:n,component:s="div",invisible:i=!1,open:p,components:l={},componentsProps:d={},slotProps:u={},slots:f={},TransitionComponent:c,transitionDuration:h,...g}=o,m={...o,component:s,invisible:i},x=cde(m),T={transition:c,root:l.Root,...f},b={...d,...u},v={slots:T,slotProps:b},[w,O]=Mr("root",{elementType:mde,externalForwardedProps:v,className:K(x.root,n),ownerState:m}),[k,M]=Mr("transition",{elementType:ry,externalForwardedProps:v,ownerState:m}),N=fde(M);return(0,yP.jsx)(k,{in:p,timeout:h,...g,...N,children:(0,yP.jsx)(w,{"aria-hidden":!0,...O,classes:x,ref:r,children:a})})}),oy=hde;var L4=y(D());function xde(e){let{badgeContent:t,invisible:r=!1,max:o=99,showZero:a=!1}=e,n=Uc({badgeContent:t,max:o}),s=r;r===!1&&t===0&&!a&&(s=!0);let{badgeContent:i,max:p=o}=s?n:e,l=i&&Number(i)>p?`${p}+`:i;return{badgeContent:i,invisible:s,max:p,displayValue:l}}var I4=xde;function F4(e){return te("MuiBadge",e)}var gde=Q("MuiBadge",["root","badge","dot","standard","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft","invisible","colorError","colorInfo","colorPrimary","colorSecondary","colorSuccess","colorWarning","overlapRectangular","overlapCircular","anchorOriginTopLeftCircular","anchorOriginTopLeftRectangular","anchorOriginTopRightCircular","anchorOriginTopRightRectangular","anchorOriginBottomLeftCircular","anchorOriginBottomLeftRectangular","anchorOriginBottomRightCircular","anchorOriginBottomRightRectangular"]),Cl=gde;var ww=y($()),vP=10,bP=4,yde=e=>{let{color:t,anchorOrigin:r,invisible:o,overlap:a,variant:n,classes:s={}}=e,i={root:["root"],badge:["badge",n,o&&"invisible",`anchorOrigin${Y(r.vertical)}${Y(r.horizontal)}`,`anchorOrigin${Y(r.vertical)}${Y(r.horizontal)}${Y(a)}`,`overlap${Y(a)}`,t!=="default"&&`color${Y(t)}`]};return re(i,F4,s)},vde=W("span",{name:"MuiBadge",slot:"Root",overridesResolver:(e,t)=>t.root})({position:"relative",display:"inline-flex",verticalAlign:"middle",flexShrink:0}),bde=W("span",{name:"MuiBadge",slot:"Badge",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.badge,t[r.variant],t[`anchorOrigin${Y(r.anchorOrigin.vertical)}${Y(r.anchorOrigin.horizontal)}${Y(r.overlap)}`],r.color!=="default"&&t[`color${Y(r.color)}`],r.invisible&&t.invisible]}})(ge(({theme:e})=>({display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"center",alignContent:"center",alignItems:"center",position:"absolute",boxSizing:"border-box",fontFamily:e.typography.fontFamily,fontWeight:e.typography.fontWeightMedium,fontSize:e.typography.pxToRem(12),minWidth:vP*2,lineHeight:1,padding:"0 6px",height:vP*2,borderRadius:vP,zIndex:1,transition:e.transitions.create("transform",{easing:e.transitions.easing.easeInOut,duration:e.transitions.duration.enteringScreen}),variants:[...Object.entries(e.palette).filter(vt(["contrastText"])).map(([t])=>({props:{color:t},style:{backgroundColor:(e.vars||e).palette[t].main,color:(e.vars||e).palette[t].contrastText}})),{props:{variant:"dot"},style:{borderRadius:bP,height:bP*2,minWidth:bP*2,padding:0}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="top"&&t.anchorOrigin.horizontal==="right"&&t.overlap==="rectangular",style:{top:0,right:0,transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%",[`&.${Cl.invisible}`]:{transform:"scale(0) translate(50%, -50%)"}}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="bottom"&&t.anchorOrigin.horizontal==="right"&&t.overlap==="rectangular",style:{bottom:0,right:0,transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%",[`&.${Cl.invisible}`]:{transform:"scale(0) translate(50%, 50%)"}}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="top"&&t.anchorOrigin.horizontal==="left"&&t.overlap==="rectangular",style:{top:0,left:0,transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%",[`&.${Cl.invisible}`]:{transform:"scale(0) translate(-50%, -50%)"}}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="bottom"&&t.anchorOrigin.horizontal==="left"&&t.overlap==="rectangular",style:{bottom:0,left:0,transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%",[`&.${Cl.invisible}`]:{transform:"scale(0) translate(-50%, 50%)"}}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="top"&&t.anchorOrigin.horizontal==="right"&&t.overlap==="circular",style:{top:"14%",right:"14%",transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%",[`&.${Cl.invisible}`]:{transform:"scale(0) translate(50%, -50%)"}}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="bottom"&&t.anchorOrigin.horizontal==="right"&&t.overlap==="circular",style:{bottom:"14%",right:"14%",transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%",[`&.${Cl.invisible}`]:{transform:"scale(0) translate(50%, 50%)"}}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="top"&&t.anchorOrigin.horizontal==="left"&&t.overlap==="circular",style:{top:"14%",left:"14%",transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%",[`&.${Cl.invisible}`]:{transform:"scale(0) translate(-50%, -50%)"}}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="bottom"&&t.anchorOrigin.horizontal==="left"&&t.overlap==="circular",style:{bottom:"14%",left:"14%",transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%",[`&.${Cl.invisible}`]:{transform:"scale(0) translate(-50%, 50%)"}}},{props:{invisible:!0},style:{transition:e.transitions.create("transform",{easing:e.transitions.easing.easeInOut,duration:e.transitions.duration.leavingScreen})}}]})));function B4(e){var t,r;return{vertical:(t=e==null?void 0:e.vertical)!=null?t:"top",horizontal:(r=e==null?void 0:e.horizontal)!=null?r:"right"}}var Tde=L4.forwardRef(function(t,r){var He,Me,lt,Ye,ot,ft;let o=ie({props:t,name:"MuiBadge"}),{anchorOrigin:a,className:n,classes:s,component:i,components:p={},componentsProps:l={},children:d,overlap:u="rectangular",color:f="default",invisible:c=!1,max:h=99,badgeContent:g,slots:m,slotProps:x,showZero:T=!1,variant:b="standard",...v}=o,{badgeContent:w,invisible:O,max:k,displayValue:M}=I4({max:h,invisible:c,badgeContent:g,showZero:T}),N=Uc({anchorOrigin:B4(a),color:f,overlap:u,variant:b,badgeContent:g}),S=O||w==null&&b!=="dot",{color:B=f,overlap:G=u,anchorOrigin:J,variant:q=b}=S?N:o,j=B4(J),X=q!=="dot"?M:void 0,le={...o,badgeContent:w,invisible:S,max:k,displayValue:X,showZero:T,anchorOrigin:j,color:B,overlap:G,variant:q},ae=yde(le),de=(Me=(He=m==null?void 0:m.root)!=null?He:p.Root)!=null?Me:vde,Be=(Ye=(lt=m==null?void 0:m.badge)!=null?lt:p.Badge)!=null?Ye:bde,Oe=(ot=x==null?void 0:x.root)!=null?ot:l.root,We=(ft=x==null?void 0:x.badge)!=null?ft:l.badge,ke=vo({elementType:de,externalSlotProps:Oe,externalForwardedProps:v,additionalProps:{ref:r,as:i},ownerState:le,className:K(Oe==null?void 0:Oe.className,ae.root,n)}),_e=vo({elementType:Be,externalSlotProps:We,ownerState:le,className:K(ae.badge,We==null?void 0:We.className)});return(0,ww.jsxs)(de,{...ke,children:[d,(0,ww.jsx)(Be,{..._e,children:X})]})}),ay=Tde;var Sde=Q("MuiBox",["root"]),j4=Sde;var wde=ks(),_de=ug({themeId:Xr,defaultTheme:wde,defaultClassName:j4.root,generateClassName:uu.generate}),Le=_de;var Ri=y(D()),Ort=y(Ic());var xrt=y(D());var crt=y(D());var z4=y($()),W4=Z((0,z4.jsx)("path",{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"MoreHoriz");var _w=y($()),Cde=W(_o)(ge(({theme:e})=>({display:"flex",marginLeft:`calc(${e.spacing(1)} * 0.5)`,marginRight:`calc(${e.spacing(1)} * 0.5)`,...e.palette.mode==="light"?{backgroundColor:e.palette.grey[100],color:e.palette.grey[700]}:{backgroundColor:e.palette.grey[700],color:e.palette.grey[100]},borderRadius:2,"&:hover, &:focus":{...e.palette.mode==="light"?{backgroundColor:e.palette.grey[200]}:{backgroundColor:e.palette.grey[600]}},"&:active":{boxShadow:e.shadows[0],...e.palette.mode==="light"?{backgroundColor:fu(e.palette.grey[200],.12)}:{backgroundColor:fu(e.palette.grey[600],.12)}}}))),Ode=W(W4)({width:24,height:16});function kde(e){let{slots:t={},slotProps:r={},...o}=e,a=e;return(0,_w.jsx)("li",{children:(0,_w.jsx)(Cde,{focusRipple:!0,...o,ownerState:a,children:(0,_w.jsx)(Ode,{as:t.CollapsedIcon,ownerState:a,...r.collapsedIcon})})})}var U4=kde;function H4(e){return te("MuiBreadcrumbs",e)}var Ede=Q("MuiBreadcrumbs",["root","ol","li","separator"]),V4=Ede;var bm=y($()),Pde=e=>{let{classes:t}=e;return re({root:["root"],li:["li"],ol:["ol"],separator:["separator"]},H4,t)},Rde=W(ka,{name:"MuiBreadcrumbs",slot:"Root",overridesResolver:(e,t)=>[{[`& .${V4.li}`]:t.li},t.root]})({}),Dde=W("ol",{name:"MuiBreadcrumbs",slot:"Ol",overridesResolver:(e,t)=>t.ol})({display:"flex",flexWrap:"wrap",alignItems:"center",padding:0,margin:0,listStyle:"none"}),Ade=W("li",{name:"MuiBreadcrumbs",slot:"Separator",overridesResolver:(e,t)=>t.separator})({display:"flex",userSelect:"none",marginLeft:8,marginRight:8});function Mde(e,t,r,o){return e.reduce((a,n,s)=>(s{let M=()=>{m(!0);let N=v.current.querySelector("a[href],button,[tabindex]");N&&N.focus()};return u+d>=k.length?k:[...k.slice(0,u),(0,bm.jsx)(U4,{"aria-label":l,slots:{CollapsedIcon:i.CollapsedIcon},slotProps:{collapsedIcon:b},onClick:M},"ellipsis"),...k.slice(k.length-d,k.length)]},O=Ri.Children.toArray(a).filter(k=>Ri.isValidElement(k)).map((k,M)=>(0,bm.jsx)("li",{className:T.li,children:k},`child-${M}`));return(0,bm.jsx)(Rde,{ref:r,component:s,color:"textSecondary",className:K(T.root,n),ownerState:x,...h,children:(0,bm.jsx)(Dde,{className:T.ol,ref:v,ownerState:x,children:Mde(g||f&&O.length<=f?O:w(O),T.separator,c,x)})})}),Cw=Nde;var ny=y(D());function $4(e){return te("MuiButton",e)}var Ide=Q("MuiButton",["root","text","textInherit","textPrimary","textSecondary","textSuccess","textError","textInfo","textWarning","outlined","outlinedInherit","outlinedPrimary","outlinedSecondary","outlinedSuccess","outlinedError","outlinedInfo","outlinedWarning","contained","containedInherit","containedPrimary","containedSecondary","containedSuccess","containedError","containedInfo","containedWarning","disableElevation","focusVisible","disabled","colorInherit","colorPrimary","colorSecondary","colorSuccess","colorError","colorInfo","colorWarning","textSizeSmall","textSizeMedium","textSizeLarge","outlinedSizeSmall","outlinedSizeMedium","outlinedSizeLarge","containedSizeSmall","containedSizeMedium","containedSizeLarge","sizeMedium","sizeSmall","sizeLarge","fullWidth","startIcon","endIcon","icon","iconSizeSmall","iconSizeMedium","iconSizeLarge"]),Yu=Ide;var G4=y(D()),Fde=G4.createContext({}),q4=Fde;var K4=y(D()),Bde=K4.createContext(void 0),J4=Bde;var sy=y($()),Lde=e=>{let{color:t,disableElevation:r,fullWidth:o,size:a,variant:n,classes:s}=e,i={root:["root",n,`${n}${Y(t)}`,`size${Y(a)}`,`${n}Size${Y(a)}`,`color${Y(t)}`,r&&"disableElevation",o&&"fullWidth"],label:["label"],startIcon:["icon","startIcon",`iconSize${Y(a)}`],endIcon:["icon","endIcon",`iconSize${Y(a)}`]},p=re(i,$4,s);return{...s,...p}},X4=[{props:{size:"small"},style:{"& > *:nth-of-type(1)":{fontSize:18}}},{props:{size:"medium"},style:{"& > *:nth-of-type(1)":{fontSize:20}}},{props:{size:"large"},style:{"& > *:nth-of-type(1)":{fontSize:22}}}],jde=W(_o,{shouldForwardProp:e=>bt(e)||e==="classes",name:"MuiButton",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[r.variant],t[`${r.variant}${Y(r.color)}`],t[`size${Y(r.size)}`],t[`${r.variant}Size${Y(r.size)}`],r.color==="inherit"&&t.colorInherit,r.disableElevation&&t.disableElevation,r.fullWidth&&t.fullWidth]}})(ge(({theme:e})=>{let t=e.palette.mode==="light"?e.palette.grey[300]:e.palette.grey[800],r=e.palette.mode==="light"?e.palette.grey.A100:e.palette.grey[700];return{...e.typography.button,minWidth:64,padding:"6px 16px",border:0,borderRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create(["background-color","box-shadow","border-color","color"],{duration:e.transitions.duration.short}),"&:hover":{textDecoration:"none"},[`&.${Yu.disabled}`]:{color:(e.vars||e).palette.action.disabled},variants:[{props:{variant:"contained"},style:{color:"var(--variant-containedColor)",backgroundColor:"var(--variant-containedBg)",boxShadow:(e.vars||e).shadows[2],"&:hover":{boxShadow:(e.vars||e).shadows[4],"@media (hover: none)":{boxShadow:(e.vars||e).shadows[2]}},"&:active":{boxShadow:(e.vars||e).shadows[8]},[`&.${Yu.focusVisible}`]:{boxShadow:(e.vars||e).shadows[6]},[`&.${Yu.disabled}`]:{color:(e.vars||e).palette.action.disabled,boxShadow:(e.vars||e).shadows[0],backgroundColor:(e.vars||e).palette.action.disabledBackground}}},{props:{variant:"outlined"},style:{padding:"5px 15px",border:"1px solid currentColor",borderColor:"var(--variant-outlinedBorder, currentColor)",backgroundColor:"var(--variant-outlinedBg)",color:"var(--variant-outlinedColor)",[`&.${Yu.disabled}`]:{border:`1px solid ${(e.vars||e).palette.action.disabledBackground}`}}},{props:{variant:"text"},style:{padding:"6px 8px",color:"var(--variant-textColor)",backgroundColor:"var(--variant-textBg)"}},...Object.entries(e.palette).filter(vt()).map(([o])=>({props:{color:o},style:{"--variant-textColor":(e.vars||e).palette[o].main,"--variant-outlinedColor":(e.vars||e).palette[o].main,"--variant-outlinedBorder":e.vars?`rgba(${e.vars.palette[o].mainChannel} / 0.5)`:st(e.palette[o].main,.5),"--variant-containedColor":(e.vars||e).palette[o].contrastText,"--variant-containedBg":(e.vars||e).palette[o].main,"@media (hover: hover)":{"&:hover":{"--variant-containedBg":(e.vars||e).palette[o].dark,"--variant-textBg":e.vars?`rgba(${e.vars.palette[o].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:st(e.palette[o].main,e.palette.action.hoverOpacity),"--variant-outlinedBorder":(e.vars||e).palette[o].main,"--variant-outlinedBg":e.vars?`rgba(${e.vars.palette[o].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:st(e.palette[o].main,e.palette.action.hoverOpacity)}}}})),{props:{color:"inherit"},style:{color:"inherit",borderColor:"currentColor","--variant-containedBg":e.vars?e.vars.palette.Button.inheritContainedBg:t,"@media (hover: hover)":{"&:hover":{"--variant-containedBg":e.vars?e.vars.palette.Button.inheritContainedHoverBg:r,"--variant-textBg":e.vars?`rgba(${e.vars.palette.text.primaryChannel} / ${e.vars.palette.action.hoverOpacity})`:st(e.palette.text.primary,e.palette.action.hoverOpacity),"--variant-outlinedBg":e.vars?`rgba(${e.vars.palette.text.primaryChannel} / ${e.vars.palette.action.hoverOpacity})`:st(e.palette.text.primary,e.palette.action.hoverOpacity)}}}},{props:{size:"small",variant:"text"},style:{padding:"4px 5px",fontSize:e.typography.pxToRem(13)}},{props:{size:"large",variant:"text"},style:{padding:"8px 11px",fontSize:e.typography.pxToRem(15)}},{props:{size:"small",variant:"outlined"},style:{padding:"3px 9px",fontSize:e.typography.pxToRem(13)}},{props:{size:"large",variant:"outlined"},style:{padding:"7px 21px",fontSize:e.typography.pxToRem(15)}},{props:{size:"small",variant:"contained"},style:{padding:"4px 10px",fontSize:e.typography.pxToRem(13)}},{props:{size:"large",variant:"contained"},style:{padding:"8px 22px",fontSize:e.typography.pxToRem(15)}},{props:{disableElevation:!0},style:{boxShadow:"none","&:hover":{boxShadow:"none"},[`&.${Yu.focusVisible}`]:{boxShadow:"none"},"&:active":{boxShadow:"none"},[`&.${Yu.disabled}`]:{boxShadow:"none"}}},{props:{fullWidth:!0},style:{width:"100%"}}]}})),zde=W("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.startIcon,t[`iconSize${Y(r.size)}`]]}})({display:"inherit",marginRight:8,marginLeft:-4,variants:[{props:{size:"small"},style:{marginLeft:-2}},...X4]}),Wde=W("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.endIcon,t[`iconSize${Y(r.size)}`]]}})({display:"inherit",marginRight:-4,marginLeft:8,variants:[{props:{size:"small"},style:{marginRight:-2}},...X4]}),Ude=ny.forwardRef(function(t,r){let o=ny.useContext(q4),a=ny.useContext(J4),n=yi(o,t),s=ie({props:n,name:"MuiButton"}),{children:i,color:p="primary",component:l="button",className:d,disabled:u=!1,disableElevation:f=!1,disableFocusRipple:c=!1,endIcon:h,focusVisibleClassName:g,fullWidth:m=!1,size:x="medium",startIcon:T,type:b,variant:v="text",...w}=s,O={...s,color:p,component:l,disabled:u,disableElevation:f,disableFocusRipple:c,fullWidth:m,size:x,type:b,variant:v},k=Lde(O),M=T&&(0,sy.jsx)(zde,{className:k.startIcon,ownerState:O,children:T}),N=h&&(0,sy.jsx)(Wde,{className:k.endIcon,ownerState:O,children:h}),S=a||"";return(0,sy.jsxs)(jde,{ownerState:O,className:K(o.className,k.root,d,S),component:l,disabled:u,focusRipple:!c,focusVisibleClassName:K(k.focusVisible,g),ref:r,type:b,...w,classes:k,children:[M,i,N]})}),tt=Ude;var iy=y(D());var Z4=y(D());function Y4(e){return te("PrivateSwitchBase",e)}var uot=Q("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);var Ow=y($()),Hde=e=>{let{classes:t,checked:r,disabled:o,edge:a}=e,n={root:["root",r&&"checked",o&&"disabled",a&&`edge${Y(a)}`],input:["input"]};return re(n,Y4,t)},Vde=W(_o)({padding:9,borderRadius:"50%",variants:[{props:{edge:"start",size:"small"},style:{marginLeft:-3}},{props:({edge:e,ownerState:t})=>e==="start"&&t.size!=="small",style:{marginLeft:-12}},{props:{edge:"end",size:"small"},style:{marginRight:-3}},{props:({edge:e,ownerState:t})=>e==="end"&&t.size!=="small",style:{marginRight:-12}}]}),$de=W("input",{shouldForwardProp:bt})({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),Gde=Z4.forwardRef(function(t,r){let{autoFocus:o,checked:a,checkedIcon:n,className:s,defaultChecked:i,disabled:p,disableFocusRipple:l=!1,edge:d=!1,icon:u,id:f,inputProps:c,inputRef:h,name:g,onBlur:m,onChange:x,onFocus:T,readOnly:b,required:v=!1,tabIndex:w,type:O,value:k,...M}=t,[N,S]=Au({controlled:a,default:!!i,name:"SwitchBase",state:"checked"}),B=Vr(),G=de=>{T&&T(de),B&&B.onFocus&&B.onFocus(de)},J=de=>{m&&m(de),B&&B.onBlur&&B.onBlur(de)},q=de=>{if(de.nativeEvent.defaultPrevented)return;let Be=de.target.checked;S(Be),x&&x(de,Be)},j=p;B&&typeof j=="undefined"&&(j=B.disabled);let X=O==="checkbox"||O==="radio",le={...t,checked:N,disabled:j,disableFocusRipple:l,edge:d},ae=Hde(le);return(0,Ow.jsxs)(Vde,{component:"span",className:K(ae.root,s),centerRipple:!0,focusRipple:!l,disabled:j,tabIndex:null,role:void 0,onFocus:G,onBlur:J,ownerState:le,ref:r,...M,children:[(0,Ow.jsx)($de,{autoFocus:o,checked:a,defaultChecked:i,className:ae.input,disabled:j,id:X?f:void 0,name:g,onChange:q,readOnly:b,ref:h,required:v,ownerState:le,tabIndex:w,type:O,...O==="checkbox"&&k===void 0?{}:{value:k},...c}),N?n:u]})}),Tm=Gde;var wot=y(D());var Q4=y($()),ez=Z((0,Q4.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank");var Oot=y(D());var tz=y($()),rz=Z((0,tz.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox");var Pot=y(D());var oz=y($()),az=Z((0,oz.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox");function nz(e){return te("MuiCheckbox",e)}var qde=Q("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary","sizeSmall","sizeMedium"]),kw=qde;var ly=y($()),Kde=e=>{let{classes:t,indeterminate:r,color:o,size:a}=e,n={root:["root",r&&"indeterminate",`color${Y(o)}`,`size${Y(a)}`]},s=re(n,nz,t);return{...t,...s}},Jde=W(Tm,{shouldForwardProp:e=>bt(e)||e==="classes",name:"MuiCheckbox",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.indeterminate&&t.indeterminate,t[`size${Y(r.size)}`],r.color!=="default"&&t[`color${Y(r.color)}`]]}})(ge(({theme:e})=>({color:(e.vars||e).palette.text.secondary,variants:[{props:{color:"default",disableRipple:!1},style:{"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})`:st(e.palette.action.active,e.palette.action.hoverOpacity)}}},...Object.entries(e.palette).filter(vt()).map(([t])=>({props:{color:t,disableRipple:!1},style:{"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette[t].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:st(e.palette[t].main,e.palette.action.hoverOpacity)}}})),...Object.entries(e.palette).filter(vt()).map(([t])=>({props:{color:t},style:{[`&.${kw.checked}, &.${kw.indeterminate}`]:{color:(e.vars||e).palette[t].main},[`&.${kw.disabled}`]:{color:(e.vars||e).palette.action.disabled}}})),{props:{disableRipple:!1},style:{"&:hover":{"@media (hover: none)":{backgroundColor:"transparent"}}}}]}))),Xde=(0,ly.jsx)(rz,{}),Yde=(0,ly.jsx)(ez,{}),Zde=(0,ly.jsx)(az,{}),Qde=iy.forwardRef(function(t,r){var T,b;let o=ie({props:t,name:"MuiCheckbox"}),{checkedIcon:a=Xde,color:n="primary",icon:s=Yde,indeterminate:i=!1,indeterminateIcon:p=Zde,inputProps:l,size:d="medium",disableRipple:u=!1,className:f,...c}=o,h=i?p:s,g=i?p:a,m={...o,disableRipple:u,color:n,indeterminate:i,size:d},x=Kde(m);return(0,ly.jsx)(Jde,{type:"checkbox",inputProps:{"data-indeterminate":i,...l},icon:iy.cloneElement(h,{fontSize:(T=h.props.fontSize)!=null?T:d}),checkedIcon:iy.cloneElement(g,{fontSize:(b=g.props.fontSize)!=null?b:d}),ownerState:m,ref:r,className:K(x.root,f),disableRipple:u,...c,classes:x})}),jt=Qde;var iz=y(D());function sz(e){return te("MuiCircularProgress",e)}var tat=Q("MuiCircularProgress",["root","determinate","indeterminate","colorPrimary","colorSecondary","svg","circle","circleDeterminate","circleIndeterminate","circleDisableShrink"]);var Ew=y($()),Dp=44,TP=Ta` 0% { transform: rotate(0deg); } @@ -112,7 +139,7 @@ Url: ${K_(e)}`),!0)}function Rve(e,t){return e.type||!t||!t.length?!1:Nve(e).som 100% { transform: rotate(360deg); } -`,SM=Da` +`,SP=Ta` 0% { stroke-dasharray: 1px, 200px; stroke-dashoffset: 0; @@ -127,11 +154,11 @@ Url: ${K_(e)}`),!0)}function Rve(e,t){return e.type||!t||!t.length?!1:Nve(e).som stroke-dasharray: 100px, 200px; stroke-dashoffset: -125px; } -`,U0e=typeof TM!="string"?Ln` - animation: ${TM} 1.4s linear infinite; - `:null,V0e=typeof SM!="string"?Ln` - animation: ${SM} 1.4s ease-in-out infinite; - `:null,H0e=e=>{let{classes:t,variant:r,color:o,disableShrink:a}=e,n={root:["root",r,`color${ae(o)}`],svg:["svg"],circle:["circle",`circle${ae(r)}`,a&&"circleDisableShrink"]};return fe(n,NH,t)},$0e=X("span",{name:"MuiCircularProgress",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[r.variant],t[`color${ae(r.color)}`]]}})(be(({theme:e})=>({display:"inline-block",variants:[{props:{variant:"determinate"},style:{transition:e.transitions.create("transform")}},{props:{variant:"indeterminate"},style:U0e||{animation:`${TM} 1.4s linear infinite`}},...Object.entries(e.palette).filter(Ot()).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].main}}))]}))),G0e=X("svg",{name:"MuiCircularProgress",slot:"Svg",overridesResolver:(e,t)=>t.svg})({display:"block"}),q0e=X("circle",{name:"MuiCircularProgress",slot:"Circle",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.circle,t[`circle${ae(r.variant)}`],r.disableShrink&&t.circleDisableShrink]}})(be(({theme:e})=>({stroke:"currentColor",variants:[{props:{variant:"determinate"},style:{transition:e.transitions.create("stroke-dashoffset")}},{props:{variant:"indeterminate"},style:{strokeDasharray:"80px, 200px",strokeDashoffset:0}},{props:({ownerState:t})=>t.variant==="indeterminate"&&!t.disableShrink,style:V0e||{animation:`${SM} 1.4s ease-in-out infinite`}}]}))),K0e=IH.forwardRef(function(t,r){let o=ce({props:t,name:"MuiCircularProgress"}),{className:a,color:n="primary",disableShrink:s=!1,size:i=40,style:p,thickness:l=3.6,value:d=0,variant:u="indeterminate",...f}=o,c={...o,color:n,disableShrink:s,size:i,thickness:l,value:d,variant:u},m=H0e(c),g={},h={},x={};if(u==="determinate"){let T=2*Math.PI*((Pd-l)/2);g.strokeDasharray=T.toFixed(3),x["aria-valuenow"]=Math.round(d),g.strokeDashoffset=`${((100-d)/100*T).toFixed(3)}px`,h.transform="rotate(-90deg)"}return(0,BC.jsx)($0e,{className:z(m.root,a),style:{width:i,height:i,...h,...p},ownerState:c,ref:r,role:"progressbar",...x,...f,children:(0,BC.jsx)(G0e,{className:m.svg,ownerState:c,viewBox:`${Pd/2} ${Pd/2} ${Pd} ${Pd}`,children:(0,BC.jsx)(q0e,{className:m.circle,style:g,ownerState:c,cx:Pd,cy:Pd,r:(Pd-l)/2,fill:"none",strokeWidth:l})})})}),lx=K0e;var Gn=y(P());var BH=y(U());function FH(e){return e.substring(2).toLowerCase()}function X0e(e,t){return t.documentElement.clientWidth(setTimeout(()=>{p.current=!0},0),()=>{p.current=!1}),[]);let d=uo(ha(t),i),u=Ps(m=>{let g=l.current;l.current=!1;let h=Zr(i.current);if(!p.current||!i.current||"clientX"in m&&X0e(m,h))return;if(s.current){s.current=!1;return}let x;m.composedPath?x=m.composedPath().includes(i.current):x=!h.documentElement.contains(m.target)||i.current.contains(m.target),!x&&(r||!g)&&a(m)}),f=m=>g=>{l.current=!0;let h=t.props[m];h&&h(g)},c={ref:d};return n!==!1&&(c[n]=f(n)),Gn.useEffect(()=>{if(n!==!1){let m=FH(n),g=Zr(i.current),h=()=>{s.current=!0};return g.addEventListener(m,u),g.addEventListener("touchmove",h),()=>{g.removeEventListener(m,u),g.removeEventListener("touchmove",h)}}},[u,n]),o!==!1&&(c[o]=f(o)),Gn.useEffect(()=>{if(o!==!1){let m=FH(o),g=Zr(i.current);return g.addEventListener(m,u),()=>{g.removeEventListener(m,u)}}},[u,o]),(0,BH.jsx)(Gn.Fragment,{children:Gn.cloneElement(t,c)})}var fx=y(P());function J0e(e){let t=Zr(e);return t.body===e?Vn(e).innerWidth>t.documentElement.clientWidth:e.scrollHeight>e.clientHeight}function px(e,t){t?e.setAttribute("aria-hidden","true"):e.removeAttribute("aria-hidden")}function jH(e){return parseInt(Vn(e).getComputedStyle(e).paddingRight,10)||0}function Y0e(e){let r=["TEMPLATE","SCRIPT","STYLE","LINK","MAP","META","NOSCRIPT","PICTURE","COL","COLGROUP","PARAM","SLOT","SOURCE","TRACK"].includes(e.tagName),o=e.tagName==="INPUT"&&e.getAttribute("type")==="hidden";return r||o}function LH(e,t,r,o,a){let n=[t,r,...o];[].forEach.call(e.children,s=>{let i=!n.includes(s),p=!Y0e(s);i&&p&&px(s,a)})}function _M(e,t){let r=-1;return e.some((o,a)=>t(o)?(r=a,!0):!1),r}function Z0e(e,t){let r=[],o=e.container;if(!t.disableScrollLock){if(J0e(o)){let s=If(Vn(o));r.push({value:o.style.paddingRight,property:"padding-right",el:o}),o.style.paddingRight=`${jH(o)+s}px`;let i=Zr(o).querySelectorAll(".mui-fixed");[].forEach.call(i,p=>{r.push({value:p.style.paddingRight,property:"padding-right",el:p}),p.style.paddingRight=`${jH(p)+s}px`})}let n;if(o.parentNode instanceof DocumentFragment)n=Zr(o).body;else{let s=o.parentElement,i=Vn(o);n=(s==null?void 0:s.nodeName)==="HTML"&&i.getComputedStyle(s).overflowY==="scroll"?s:o}r.push({value:n.style.overflow,property:"overflow",el:n},{value:n.style.overflowX,property:"overflow-x",el:n},{value:n.style.overflowY,property:"overflow-y",el:n}),n.style.overflow="hidden"}return()=>{r.forEach(({value:n,el:s,property:i})=>{n?s.style.setProperty(i,n):s.style.removeProperty(i)})}}function Q0e(e){let t=[];return[].forEach.call(e.children,r=>{r.getAttribute("aria-hidden")==="true"&&t.push(r)}),t}var jC=class{constructor(){this.modals=[],this.containers=[]}add(t,r){let o=this.modals.indexOf(t);if(o!==-1)return o;o=this.modals.length,this.modals.push(t),t.modalRef&&px(t.modalRef,!1);let a=Q0e(r);LH(r,t.mount,t.modalRef,a,!0);let n=_M(this.containers,s=>s.container===r);return n!==-1?(this.containers[n].modals.push(t),o):(this.containers.push({modals:[t],container:r,restore:null,hiddenSiblings:a}),o)}mount(t,r){let o=_M(this.containers,n=>n.modals.includes(t)),a=this.containers[o];a.restore||(a.restore=Z0e(a,r))}remove(t,r=!0){let o=this.modals.indexOf(t);if(o===-1)return o;let a=_M(this.containers,s=>s.modals.includes(t)),n=this.containers[a];if(n.modals.splice(n.modals.indexOf(t),1),this.modals.splice(o,1),n.modals.length===0)n.restore&&n.restore(),t.modalRef&&px(t.modalRef,r),LH(n.container,t.mount,t.modalRef,n.hiddenSiblings,!1),this.containers.splice(a,1);else{let s=n.modals[n.modals.length-1];s.modalRef&&px(s.modalRef,!1)}return o}isTopModal(t){return this.modals.length>0&&this.modals[this.modals.length-1]===t}};var zC=y(P());var ba=y(P());var Sv=y(U()),e_e=["input","select","textarea","a[href]","button","[tabindex]","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])'].join(",");function t_e(e){let t=parseInt(e.getAttribute("tabindex")||"",10);return Number.isNaN(t)?e.contentEditable==="true"||(e.nodeName==="AUDIO"||e.nodeName==="VIDEO"||e.nodeName==="DETAILS")&&e.getAttribute("tabindex")===null?0:e.tabIndex:t}function r_e(e){if(e.tagName!=="INPUT"||e.type!=="radio"||!e.name)return!1;let t=o=>e.ownerDocument.querySelector(`input[type="radio"]${o}`),r=t(`[name="${e.name}"]:checked`);return r||(r=t(`[name="${e.name}"]`)),r!==e}function o_e(e){return!(e.disabled||e.tagName==="INPUT"&&e.type==="hidden"||r_e(e))}function a_e(e){let t=[],r=[];return Array.from(e.querySelectorAll(e_e)).forEach((o,a)=>{let n=t_e(o);n===-1||!o_e(o)||(n===0?t.push(o):r.push({documentOrder:a,tabIndex:n,node:o}))}),r.sort((o,a)=>o.tabIndex===a.tabIndex?o.documentOrder-a.documentOrder:o.tabIndex-a.tabIndex).map(o=>o.node).concat(t)}function n_e(){return!0}function s_e(e){let{children:t,disableAutoFocus:r=!1,disableEnforceFocus:o=!1,disableRestoreFocus:a=!1,getTabbable:n=a_e,isEnabled:s=n_e,open:i}=e,p=ba.useRef(!1),l=ba.useRef(null),d=ba.useRef(null),u=ba.useRef(null),f=ba.useRef(null),c=ba.useRef(!1),m=ba.useRef(null),g=uo(ha(t),m),h=ba.useRef(null);ba.useEffect(()=>{!i||!m.current||(c.current=!r)},[r,i]),ba.useEffect(()=>{if(!i||!m.current)return;let v=Zr(m.current);return m.current.contains(v.activeElement)||(m.current.hasAttribute("tabIndex")||m.current.setAttribute("tabIndex","-1"),c.current&&m.current.focus()),()=>{a||(u.current&&u.current.focus&&(p.current=!0,u.current.focus()),u.current=null)}},[i]),ba.useEffect(()=>{if(!i||!m.current)return;let v=Zr(m.current),b=k=>{h.current=k,!(o||!s()||k.key!=="Tab")&&v.activeElement===m.current&&k.shiftKey&&(p.current=!0,d.current&&d.current.focus())},w=()=>{var N,S;let k=m.current;if(k===null)return;if(!v.hasFocus()||!s()||p.current){p.current=!1;return}if(k.contains(v.activeElement)||o&&v.activeElement!==l.current&&v.activeElement!==d.current)return;if(v.activeElement!==f.current)f.current=null;else if(f.current!==null)return;if(!c.current)return;let M=[];if((v.activeElement===l.current||v.activeElement===d.current)&&(M=n(m.current)),M.length>0){let B=!!((N=h.current)!=null&&N.shiftKey&&((S=h.current)==null?void 0:S.key)==="Tab"),$=M[0],K=M[M.length-1];typeof $!="string"&&typeof K!="string"&&(B?K.focus():$.focus())}else k.focus()};v.addEventListener("focusin",w),v.addEventListener("keydown",b,!0);let O=setInterval(()=>{v.activeElement&&v.activeElement.tagName==="BODY"&&w()},50);return()=>{clearInterval(O),v.removeEventListener("focusin",w),v.removeEventListener("keydown",b,!0)}},[r,o,a,s,i,n]);let x=v=>{u.current===null&&(u.current=v.relatedTarget),c.current=!0,f.current=v.target;let b=t.props.onFocus;b&&b(v)},T=v=>{u.current===null&&(u.current=v.relatedTarget),c.current=!0};return(0,Sv.jsxs)(ba.Fragment,{children:[(0,Sv.jsx)("div",{tabIndex:i?0:-1,onFocus:T,ref:l,"data-testid":"sentinelStart"}),ba.cloneElement(t,{ref:g,onFocus:x}),(0,Sv.jsx)("div",{tabIndex:i?0:-1,onFocus:T,ref:d,"data-testid":"sentinelEnd"})]})}var CM=s_e;var vi=y(P());function i_e(e){return typeof e=="function"?e():e}function l_e(e){return e?e.props.hasOwnProperty("in"):!1}var LC=new jC;function p_e(e){let{container:t,disableEscapeKeyDown:r=!1,disableScrollLock:o=!1,closeAfterTransition:a=!1,onTransitionEnter:n,onTransitionExited:s,children:i,onClose:p,open:l,rootRef:d}=e,u=vi.useRef({}),f=vi.useRef(null),c=vi.useRef(null),m=uo(c,d),[g,h]=vi.useState(!l),x=l_e(i),T=!0;(e["aria-hidden"]==="false"||e["aria-hidden"]===!1)&&(T=!1);let v=()=>Zr(f.current),b=()=>(u.current.modalRef=c.current,u.current.mount=f.current,u.current),w=()=>{LC.mount(b(),{disableScrollLock:o}),c.current&&(c.current.scrollTop=0)},O=Ps(()=>{let L=i_e(t)||v().body;LC.add(b(),L),c.current&&w()}),k=()=>LC.isTopModal(b()),M=Ps(L=>{f.current=L,L&&(l&&k()?w():c.current&&px(c.current,T))}),N=vi.useCallback(()=>{LC.remove(b(),T)},[T]);vi.useEffect(()=>()=>{N()},[N]),vi.useEffect(()=>{l?O():(!x||!a)&&N()},[l,N,x,a,O]);let S=L=>Y=>{var oe;(oe=L.onKeyDown)==null||oe.call(L,Y),!(Y.key!=="Escape"||Y.which===229||!k())&&(r||(Y.stopPropagation(),p&&p(Y,"escapeKeyDown")))},B=L=>Y=>{var oe;(oe=L.onClick)==null||oe.call(L,Y),Y.target===Y.currentTarget&&p&&p(Y,"backdropClick")};return{getRootProps:(L={})=>{let Y=Td(e);delete Y.onTransitionEnter,delete Y.onTransitionExited;let oe={...Y,...L};return{role:"presentation",...oe,onKeyDown:S(oe),ref:m}},getBackdropProps:(L={})=>{let Y=L;return{"aria-hidden":!0,...Y,onClick:B(Y),open:l}},getTransitionProps:()=>{let L=()=>{h(!1),n&&n()},Y=()=>{h(!0),s&&s(),a&&N()};return{onEnter:yd(L,i==null?void 0:i.props.onEnter),onExited:yd(Y,i==null?void 0:i.props.onExited)}},rootRef:m,portalRef:M,isTopModal:k,exited:g,hasTransition:x}}var zH=p_e;function WH(e){return de("MuiModal",e)}var z_t=pe("MuiModal",["root","hidden","backdrop"]);var dx=y(U()),d_e=e=>{let{open:t,exited:r,classes:o}=e;return fe({root:["root",!t&&r&&"hidden"],backdrop:["backdrop"]},WH,o)},u_e=X("div",{name:"MuiModal",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,!r.open&&r.exited&&t.hidden]}})(be(({theme:e})=>({position:"fixed",zIndex:(e.vars||e).zIndex.modal,right:0,bottom:0,top:0,left:0,variants:[{props:({ownerState:t})=>!t.open&&t.exited,style:{visibility:"hidden"}}]}))),f_e=X(xv,{name:"MuiModal",slot:"Backdrop",overridesResolver:(e,t)=>t.backdrop})({zIndex:-1}),c_e=zC.forwardRef(function(t,r){let o=ce({name:"MuiModal",props:t}),{BackdropComponent:a=f_e,BackdropProps:n,classes:s,className:i,closeAfterTransition:p=!1,children:l,container:d,component:u,components:f={},componentsProps:c={},disableAutoFocus:m=!1,disableEnforceFocus:g=!1,disableEscapeKeyDown:h=!1,disablePortal:x=!1,disableRestoreFocus:T=!1,disableScrollLock:v=!1,hideBackdrop:b=!1,keepMounted:w=!1,onBackdropClick:O,onClose:k,onTransitionEnter:M,onTransitionExited:N,open:S,slotProps:B={},slots:$={},theme:K,...G}=o,L={...o,closeAfterTransition:p,disableAutoFocus:m,disableEnforceFocus:g,disableEscapeKeyDown:h,disablePortal:x,disableRestoreFocus:T,disableScrollLock:v,hideBackdrop:b,keepMounted:w},{getRootProps:Y,getBackdropProps:oe,getTransitionProps:ee,portalRef:se,isTopModal:Ae,exited:Me,hasTransition:Ge}=zH({...L,rootRef:r}),Le={...L,exited:Me},ke=d_e(Le),Ve={};if(l.props.tabIndex===void 0&&(Ve.tabIndex="-1"),Ge){let{onEnter:Ne,onExited:tt}=ee();Ve.onEnter=Ne,Ve.onExited=tt}let Ee={...G,slots:{root:f.Root,backdrop:f.Backdrop,...$},slotProps:{...c,...B}},[nt,Ze]=Qr("root",{elementType:u_e,externalForwardedProps:Ee,getSlotProps:Y,additionalProps:{ref:r,as:u},ownerState:Le,className:z(i,ke==null?void 0:ke.root,!Le.open&&Le.exited&&(ke==null?void 0:ke.hidden))}),[qe,ct]=Qr("backdrop",{elementType:a,externalForwardedProps:Ee,additionalProps:n,getSlotProps:Ne=>oe({...Ne,onClick:tt=>{O&&O(tt),Ne!=null&&Ne.onClick&&Ne.onClick(tt)}}),className:z(n==null?void 0:n.className,ke==null?void 0:ke.backdrop),ownerState:Le}),We=fr(n==null?void 0:n.ref,ct.ref);return!w&&!S&&(!Ge||Me)?null:(0,dx.jsx)(cv,{ref:se,container:d,disablePortal:x,children:(0,dx.jsxs)(nt,{...Ze,children:[!b&&a?(0,dx.jsx)(qe,{...ct,ref:We}):null,(0,dx.jsx)(CM,{disableEnforceFocus:g,disableAutoFocus:m,disableRestoreFocus:T,isEnabled:Ae,open:S,children:zC.cloneElement(l,Ve)})]})})}),wv=c_e;function UH(e){return de("MuiDialog",e)}var m_e=pe("MuiDialog",["root","scrollPaper","scrollBody","container","paper","paperScrollPaper","paperScrollBody","paperWidthFalse","paperWidthXs","paperWidthSm","paperWidthMd","paperWidthLg","paperWidthXl","paperFullWidth","paperFullScreen"]),WC=m_e;var VH=y(P()),h_e=VH.createContext({}),UC=h_e;var ux=y(U()),x_e=X(xv,{name:"MuiDialog",slot:"Backdrop",overrides:(e,t)=>t.backdrop})({zIndex:-1}),g_e=e=>{let{classes:t,scroll:r,maxWidth:o,fullWidth:a,fullScreen:n}=e,s={root:["root"],container:["container",`scroll${ae(r)}`],paper:["paper",`paperScroll${ae(r)}`,`paperWidth${ae(String(o))}`,a&&"paperFullWidth",n&&"paperFullScreen"]};return fe(s,UH,t)},y_e=X(wv,{name:"MuiDialog",slot:"Root",overridesResolver:(e,t)=>t.root})({"@media print":{position:"absolute !important"}}),b_e=X("div",{name:"MuiDialog",slot:"Container",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.container,t[`scroll${ae(r.scroll)}`]]}})({height:"100%","@media print":{height:"auto"},outline:0,variants:[{props:{scroll:"paper"},style:{display:"flex",justifyContent:"center",alignItems:"center"}},{props:{scroll:"body"},style:{overflowY:"auto",overflowX:"hidden",textAlign:"center","&::after":{content:'""',display:"inline-block",verticalAlign:"middle",height:"100%",width:"0"}}}]}),v_e=X(Ya,{name:"MuiDialog",slot:"Paper",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.paper,t[`scrollPaper${ae(r.scroll)}`],t[`paperWidth${ae(String(r.maxWidth))}`],r.fullWidth&&t.paperFullWidth,r.fullScreen&&t.paperFullScreen]}})(be(({theme:e})=>({margin:32,position:"relative",overflowY:"auto","@media print":{overflowY:"visible",boxShadow:"none"},variants:[{props:{scroll:"paper"},style:{display:"flex",flexDirection:"column",maxHeight:"calc(100% - 64px)"}},{props:{scroll:"body"},style:{display:"inline-block",verticalAlign:"middle",textAlign:"initial"}},{props:({ownerState:t})=>!t.maxWidth,style:{maxWidth:"calc(100% - 64px)"}},{props:{maxWidth:"xs"},style:{maxWidth:e.breakpoints.unit==="px"?Math.max(e.breakpoints.values.xs,444):`max(${e.breakpoints.values.xs}${e.breakpoints.unit}, 444px)`,[`&.${WC.paperScrollBody}`]:{[e.breakpoints.down(Math.max(e.breakpoints.values.xs,444)+32*2)]:{maxWidth:"calc(100% - 64px)"}}}},...Object.keys(e.breakpoints.values).filter(t=>t!=="xs").map(t=>({props:{maxWidth:t},style:{maxWidth:`${e.breakpoints.values[t]}${e.breakpoints.unit}`,[`&.${WC.paperScrollBody}`]:{[e.breakpoints.down(e.breakpoints.values[t]+32*2)]:{maxWidth:"calc(100% - 64px)"}}}})),{props:({ownerState:t})=>t.fullWidth,style:{width:"calc(100% - 64px)"}},{props:({ownerState:t})=>t.fullScreen,style:{margin:0,width:"100%",maxWidth:"100%",height:"100%",maxHeight:"none",borderRadius:0,[`&.${WC.paperScrollBody}`]:{margin:0,maxWidth:"100%"}}}]}))),T_e=fx.forwardRef(function(t,r){let o=ce({props:t,name:"MuiDialog"}),a=Wo(),n={enter:a.transitions.duration.enteringScreen,exit:a.transitions.duration.leavingScreen},{"aria-describedby":s,"aria-labelledby":i,"aria-modal":p=!0,BackdropComponent:l,BackdropProps:d,children:u,className:f,disableEscapeKeyDown:c=!1,fullScreen:m=!1,fullWidth:g=!1,maxWidth:h="sm",onBackdropClick:x,onClick:T,onClose:v,open:b,PaperComponent:w=Ya,PaperProps:O={},scroll:k="paper",TransitionComponent:M=hv,transitionDuration:N=n,TransitionProps:S,...B}=o,$={...o,disableEscapeKeyDown:c,fullScreen:m,fullWidth:g,maxWidth:h,scroll:k},K=g_e($),G=fx.useRef(),L=se=>{G.current=se.target===se.currentTarget},Y=se=>{T&&T(se),G.current&&(G.current=null,x&&x(se),v&&v(se,"backdropClick"))},oe=Qi(i),ee=fx.useMemo(()=>({titleId:oe}),[oe]);return(0,ux.jsx)(y_e,{className:z(K.root,f),closeAfterTransition:!0,components:{Backdrop:x_e},componentsProps:{backdrop:{transitionDuration:N,as:l,...d}},disableEscapeKeyDown:c,onClose:v,open:b,ref:r,onClick:Y,ownerState:$,...B,children:(0,ux.jsx)(M,{appear:!0,in:b,timeout:N,role:"presentation",...S,children:(0,ux.jsx)(b_e,{className:z(K.container),onMouseDown:L,ownerState:$,children:(0,ux.jsx)(v_e,{as:w,elevation:24,role:"dialog","aria-describedby":s,"aria-labelledby":oe,"aria-modal":p,...O,className:z(K.paper,O.className),ownerState:$,children:(0,ux.jsx)(UC.Provider,{value:ee,children:u})})})})})}),cr=T_e;var $H=y(P());function HH(e){return de("MuiDialogActions",e)}var kCt=pe("MuiDialogActions",["root","spacing"]);var GH=y(U()),S_e=e=>{let{classes:t,disableSpacing:r}=e;return fe({root:["root",!r&&"spacing"]},HH,t)},w_e=X("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,!r.disableSpacing&&t.spacing]}})({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto",variants:[{props:({ownerState:e})=>!e.disableSpacing,style:{"& > :not(style) ~ :not(style)":{marginLeft:8}}}]}),__e=$H.forwardRef(function(t,r){let o=ce({props:t,name:"MuiDialogActions"}),{className:a,disableSpacing:n=!1,...s}=o,i={...o,disableSpacing:n},p=S_e(i);return(0,GH.jsx)(w_e,{className:z(p.root,a),ownerState:i,ref:r,...s})}),vr=__e;var JH=y(P());function qH(e){return de("MuiDialogContent",e)}var zCt=pe("MuiDialogContent",["root","dividers"]);function KH(e){return de("MuiDialogTitle",e)}var C_e=pe("MuiDialogTitle",["root"]),XH=C_e;var YH=y(U()),O_e=e=>{let{classes:t,dividers:r}=e;return fe({root:["root",r&&"dividers"]},qH,t)},k_e=X("div",{name:"MuiDialogContent",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.dividers&&t.dividers]}})(be(({theme:e})=>({flex:"1 1 auto",WebkitOverflowScrolling:"touch",overflowY:"auto",padding:"20px 24px",variants:[{props:({ownerState:t})=>t.dividers,style:{padding:"16px 24px",borderTop:`1px solid ${(e.vars||e).palette.divider}`,borderBottom:`1px solid ${(e.vars||e).palette.divider}`}},{props:({ownerState:t})=>!t.dividers,style:{[`.${XH.root} + &`]:{paddingTop:0}}}]}))),E_e=JH.forwardRef(function(t,r){let o=ce({props:t,name:"MuiDialogContent"}),{className:a,dividers:n=!1,...s}=o,i={...o,dividers:n},p=O_e(i);return(0,YH.jsx)(k_e,{className:z(p.root,a),ownerState:i,ref:r,...s})}),Tr=E_e;var QH=y(P());function ZH(e){return de("MuiDialogContentText",e)}var aOt=pe("MuiDialogContentText",["root"]);var e$=y(U()),P_e=e=>{let{classes:t}=e,o=fe({root:["root"]},ZH,t);return{...t,...o}},R_e=X(Za,{shouldForwardProp:e=>kt(e)||e==="classes",name:"MuiDialogContentText",slot:"Root",overridesResolver:(e,t)=>t.root})({}),D_e=QH.forwardRef(function(t,r){let o=ce({props:t,name:"MuiDialogContentText"}),{children:a,className:n,...s}=o,i=P_e(s);return(0,e$.jsx)(R_e,{component:"p",variant:"body1",color:"textSecondary",ref:r,ownerState:s,className:z(i.root,n),...o,classes:i})}),_n=D_e;var VC=y(P());var t$=y(U()),A_e=e=>{let{classes:t}=e;return fe({root:["root"]},KH,t)},M_e=X(Za,{name:"MuiDialogTitle",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:"16px 24px",flex:"0 0 auto"}),N_e=VC.forwardRef(function(t,r){let o=ce({props:t,name:"MuiDialogTitle"}),{className:a,id:n,...s}=o,i=o,p=A_e(i),{titleId:l=n}=VC.useContext(UC);return(0,t$.jsx)(M_e,{component:"h2",className:z(p.root,a),ownerState:i,ref:r,variant:"h6",id:n!=null?n:l,...s})}),mr=N_e;var I_e=pe("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]),HC=I_e;var o$=y(P());function r$(e){return de("MuiFab",e)}var F_e=pe("MuiFab",["root","primary","secondary","extended","circular","focusVisible","disabled","colorInherit","sizeSmall","sizeMedium","sizeLarge","info","error","warning","success"]),OM=F_e;var a$=y(U()),B_e=e=>{let{color:t,variant:r,classes:o,size:a}=e,n={root:["root",r,`size${ae(a)}`,t==="inherit"?"colorInherit":t]},s=fe(n,r$,o);return{...o,...s}},j_e=X(Go,{name:"MuiFab",slot:"Root",shouldForwardProp:e=>kt(e)||e==="classes",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[r.variant],t[`size${ae(r.size)}`],r.color==="inherit"&&t.colorInherit,t[ae(r.size)],t[r.color]]}})(be(({theme:e})=>{var t,r;return{...e.typography.button,minHeight:36,transition:e.transitions.create(["background-color","box-shadow","border-color"],{duration:e.transitions.duration.short}),borderRadius:"50%",padding:0,minWidth:0,width:56,height:56,zIndex:(e.vars||e).zIndex.fab,boxShadow:(e.vars||e).shadows[6],"&:active":{boxShadow:(e.vars||e).shadows[12]},color:e.vars?e.vars.palette.text.primary:(r=(t=e.palette).getContrastText)==null?void 0:r.call(t,e.palette.grey[300]),backgroundColor:(e.vars||e).palette.grey[300],"&:hover":{backgroundColor:(e.vars||e).palette.grey.A100,"@media (hover: none)":{backgroundColor:(e.vars||e).palette.grey[300]},textDecoration:"none"},[`&.${OM.focusVisible}`]:{boxShadow:(e.vars||e).shadows[6]},variants:[{props:{size:"small"},style:{width:40,height:40}},{props:{size:"medium"},style:{width:48,height:48}},{props:{variant:"extended"},style:{borderRadius:48/2,padding:"0 16px",width:"auto",minHeight:"auto",minWidth:48,height:48}},{props:{variant:"extended",size:"small"},style:{width:"auto",padding:"0 8px",borderRadius:34/2,minWidth:34,height:34}},{props:{variant:"extended",size:"medium"},style:{width:"auto",padding:"0 16px",borderRadius:40/2,minWidth:40,height:40}},{props:{color:"inherit"},style:{color:"inherit"}}]}}),be(({theme:e})=>({variants:[...Object.entries(e.palette).filter(Ot(["dark","contrastText"])).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].contrastText,backgroundColor:(e.vars||e).palette[t].main,"&:hover":{backgroundColor:(e.vars||e).palette[t].dark,"@media (hover: none)":{backgroundColor:(e.vars||e).palette[t].main}}}}))]})),be(({theme:e})=>({[`&.${OM.disabled}`]:{color:(e.vars||e).palette.action.disabled,boxShadow:(e.vars||e).shadows[0],backgroundColor:(e.vars||e).palette.action.disabledBackground}}))),L_e=o$.forwardRef(function(t,r){let o=ce({props:t,name:"MuiFab"}),{children:a,className:n,color:s="default",component:i="button",disabled:p=!1,disableFocusRipple:l=!1,focusVisibleClassName:d,size:u="large",variant:f="circular",...c}=o,m={...o,color:s,component:i,disabled:p,disableFocusRipple:l,size:u,variant:f},g=B_e(m);return(0,a$.jsx)(j_e,{className:z(g.root,n),component:i,disabled:p,focusRipple:!l,focusVisibleClassName:z(g.focusVisible,d),ownerState:m,ref:r,...c,classes:g,children:a})}),Cn=L_e;var n$=y(P());var s$=y(U()),z_e=e=>{let{classes:t,disableUnderline:r,startAdornment:o,endAdornment:a,size:n,hiddenLabel:s,multiline:i}=e,p={root:["root",!r&&"underline",o&&"adornedStart",a&&"adornedEnd",n==="small"&&`size${ae(n)}`,s&&"hiddenLabel",i&&"multiline"],input:["input"]},l=fe(p,oH,t);return{...t,...l}},W_e=X(cc,{shouldForwardProp:e=>kt(e)||e==="classes",name:"MuiFilledInput",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[...uc(e,t),!r.disableUnderline&&t.underline]}})(be(({theme:e})=>{let t=e.palette.mode==="light",r=t?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)",o=t?"rgba(0, 0, 0, 0.06)":"rgba(255, 255, 255, 0.09)",a=t?"rgba(0, 0, 0, 0.09)":"rgba(255, 255, 255, 0.13)",n=t?"rgba(0, 0, 0, 0.12)":"rgba(255, 255, 255, 0.12)";return{position:"relative",backgroundColor:e.vars?e.vars.palette.FilledInput.bg:o,borderTopLeftRadius:(e.vars||e).shape.borderRadius,borderTopRightRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),"&:hover":{backgroundColor:e.vars?e.vars.palette.FilledInput.hoverBg:a,"@media (hover: none)":{backgroundColor:e.vars?e.vars.palette.FilledInput.bg:o}},[`&.${Ed.focused}`]:{backgroundColor:e.vars?e.vars.palette.FilledInput.bg:o},[`&.${Ed.disabled}`]:{backgroundColor:e.vars?e.vars.palette.FilledInput.disabledBg:n},variants:[{props:({ownerState:s})=>!s.disableUnderline,style:{"&::after":{left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${Ed.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${Ed.error}`]:{"&::before, &::after":{borderBottomColor:(e.vars||e).palette.error.main}},"&::before":{borderBottom:`1px solid ${e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})`:r}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:e.transitions.create("border-bottom-color",{duration:e.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${Ed.disabled}, .${Ed.error}):before`]:{borderBottom:`1px solid ${(e.vars||e).palette.text.primary}`},[`&.${Ed.disabled}:before`]:{borderBottomStyle:"dotted"}}},...Object.entries(e.palette).filter(Ot()).map(([s])=>{var i;return{props:{disableUnderline:!1,color:s},style:{"&::after":{borderBottom:`2px solid ${(i=(e.vars||e).palette[s])==null?void 0:i.main}`}}}}),{props:({ownerState:s})=>s.startAdornment,style:{paddingLeft:12}},{props:({ownerState:s})=>s.endAdornment,style:{paddingRight:12}},{props:({ownerState:s})=>s.multiline,style:{padding:"25px 12px 8px"}},{props:({ownerState:s,size:i})=>s.multiline&&i==="small",style:{paddingTop:21,paddingBottom:4}},{props:({ownerState:s})=>s.multiline&&s.hiddenLabel,style:{paddingTop:16,paddingBottom:17}},{props:({ownerState:s})=>s.multiline&&s.hiddenLabel&&s.size==="small",style:{paddingTop:8,paddingBottom:9}}]}})),U_e=X(mc,{name:"MuiFilledInput",slot:"Input",overridesResolver:fc})(be(({theme:e})=>({paddingTop:25,paddingRight:12,paddingBottom:8,paddingLeft:12,...!e.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:e.palette.mode==="light"?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:e.palette.mode==="light"?null:"#fff",caretColor:e.palette.mode==="light"?null:"#fff",borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"}},...e.vars&&{"&:-webkit-autofill":{borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"},[e.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},variants:[{props:{size:"small"},style:{paddingTop:21,paddingBottom:4}},{props:({ownerState:t})=>t.hiddenLabel,style:{paddingTop:16,paddingBottom:17}},{props:({ownerState:t})=>t.startAdornment,style:{paddingLeft:0}},{props:({ownerState:t})=>t.endAdornment,style:{paddingRight:0}},{props:({ownerState:t})=>t.hiddenLabel&&t.size==="small",style:{paddingTop:8,paddingBottom:9}},{props:({ownerState:t})=>t.multiline,style:{paddingTop:0,paddingBottom:0,paddingLeft:0,paddingRight:0}}]}))),kM=n$.forwardRef(function(t,r){var w,O,k,M;let o=ce({props:t,name:"MuiFilledInput"}),{disableUnderline:a=!1,components:n={},componentsProps:s,fullWidth:i=!1,hiddenLabel:p,inputComponent:l="input",multiline:d=!1,slotProps:u,slots:f={},type:c="text",...m}=o,g={...o,disableUnderline:a,fullWidth:i,inputComponent:l,multiline:d,type:c},h=z_e(o),x={root:{ownerState:g},input:{ownerState:g}},T=(u!=null?u:s)?pr(x,u!=null?u:s):x,v=(O=(w=f.root)!=null?w:n.Root)!=null?O:W_e,b=(M=(k=f.input)!=null?k:n.Input)!=null?M:U_e;return(0,s$.jsx)(hc,{slots:{root:v,input:b},componentsProps:T,fullWidth:i,inputComponent:l,multiline:d,ref:r,type:c,...m,classes:h})});kM&&(kM.muiName="Input");var _v=kM;var qn=y(P());function i$(e){return de("MuiFormControl",e)}var c1t=pe("MuiFormControl",["root","marginNone","marginNormal","marginDense","fullWidth","disabled"]);var EM=y(U()),V_e=e=>{let{classes:t,margin:r,fullWidth:o}=e,a={root:["root",r!=="none"&&`margin${ae(r)}`,o&&"fullWidth"]};return fe(a,i$,t)},H_e=X("div",{name:"MuiFormControl",slot:"Root",overridesResolver:({ownerState:e},t)=>({...t.root,...t[`margin${ae(e.margin)}`],...e.fullWidth&&t.fullWidth})})({display:"inline-flex",flexDirection:"column",position:"relative",minWidth:0,padding:0,margin:0,border:0,verticalAlign:"top",variants:[{props:{margin:"normal"},style:{marginTop:16,marginBottom:8}},{props:{margin:"dense"},style:{marginTop:8,marginBottom:4}},{props:{fullWidth:!0},style:{width:"100%"}}]}),$_e=qn.forwardRef(function(t,r){let o=ce({props:t,name:"MuiFormControl"}),{children:a,className:n,color:s="primary",component:i="div",disabled:p=!1,error:l=!1,focused:d,fullWidth:u=!1,hiddenLabel:f=!1,margin:c="none",required:m=!1,size:g="medium",variant:h="outlined",...x}=o,T={...o,color:s,component:i,disabled:p,error:l,fullWidth:u,hiddenLabel:f,margin:c,required:m,size:g,variant:h},v=V_e(T),[b,w]=qn.useState(()=>{let G=!1;return a&&qn.Children.forEach(a,L=>{if(!qh(L,["Input","Select"]))return;let Y=qh(L,["Select"])?L.props.input:L;Y&&YV(Y.props)&&(G=!0)}),G}),[O,k]=qn.useState(()=>{let G=!1;return a&&qn.Children.forEach(a,L=>{qh(L,["Input","Select"])&&(pc(L.props,!0)||pc(L.props.inputProps,!0))&&(G=!0)}),G}),[M,N]=qn.useState(!1);p&&M&&N(!1);let S=d!==void 0&&!p?d:M,B,$=qn.useRef(!1),K=qn.useMemo(()=>({adornedStart:b,setAdornedStart:w,color:s,disabled:p,error:l,filled:O,focused:S,fullWidth:u,hiddenLabel:f,size:g,onBlur:()=>{N(!1)},onEmpty:()=>{k(!1)},onFilled:()=>{k(!0)},onFocus:()=>{N(!0)},registerEffect:B,required:m,variant:h}),[b,s,p,l,O,S,u,f,B,m,g,h]);return(0,EM.jsx)(ox.Provider,{value:K,children:(0,EM.jsx)(H_e,{as:i,ownerState:T,className:z(v.root,n),ref:r,...x,children:a})})}),Ws=$_e;var $C=y(P());function l$(e){return de("MuiFormControlLabel",e)}var G_e=pe("MuiFormControlLabel",["root","labelPlacementStart","labelPlacementTop","labelPlacementBottom","disabled","label","error","required","asterisk"]),cx=G_e;var mx=y(U()),q_e=e=>{let{classes:t,disabled:r,labelPlacement:o,error:a,required:n}=e,s={root:["root",r&&"disabled",`labelPlacement${ae(o)}`,a&&"error",n&&"required"],label:["label",r&&"disabled"],asterisk:["asterisk",a&&"error"]};return fe(s,l$,t)},K_e=X("label",{name:"MuiFormControlLabel",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[{[`& .${cx.label}`]:t.label},t.root,t[`labelPlacement${ae(r.labelPlacement)}`]]}})(be(({theme:e})=>({display:"inline-flex",alignItems:"center",cursor:"pointer",verticalAlign:"middle",WebkitTapHighlightColor:"transparent",marginLeft:-11,marginRight:16,[`&.${cx.disabled}`]:{cursor:"default"},[`& .${cx.label}`]:{[`&.${cx.disabled}`]:{color:(e.vars||e).palette.text.disabled}},variants:[{props:{labelPlacement:"start"},style:{flexDirection:"row-reverse",marginRight:-11}},{props:{labelPlacement:"top"},style:{flexDirection:"column-reverse"}},{props:{labelPlacement:"bottom"},style:{flexDirection:"column"}},{props:({labelPlacement:t})=>t==="start"||t==="top"||t==="bottom",style:{marginLeft:16}}]}))),X_e=X("span",{name:"MuiFormControlLabel",slot:"Asterisk",overridesResolver:(e,t)=>t.asterisk})(be(({theme:e})=>({[`&.${cx.error}`]:{color:(e.vars||e).palette.error.main}}))),J_e=$C.forwardRef(function(t,r){var L;let o=ce({props:t,name:"MuiFormControlLabel"}),{checked:a,className:n,componentsProps:s={},control:i,disabled:p,disableTypography:l,inputRef:d,label:u,labelPlacement:f="end",name:c,onChange:m,required:g,slots:h={},slotProps:x={},value:T,...v}=o,b=co(),w=(L=p!=null?p:i.props.disabled)!=null?L:b==null?void 0:b.disabled,O=g!=null?g:i.props.required,k={disabled:w,required:O};["checked","name","onChange","value","inputRef"].forEach(Y=>{typeof i.props[Y]=="undefined"&&typeof o[Y]!="undefined"&&(k[Y]=o[Y])});let M=ya({props:o,muiFormControl:b,states:["error"]}),N={...o,disabled:w,labelPlacement:f,required:O,error:M.error},S=q_e(N),B={slots:h,slotProps:{...s,...x}},[$,K]=Qr("typography",{elementType:Za,externalForwardedProps:B,ownerState:N}),G=u;return G!=null&&G.type!==Za&&!l&&(G=(0,mx.jsx)($,{component:"span",...K,className:z(S.label,K==null?void 0:K.className),children:G})),(0,mx.jsxs)(K_e,{className:z(S.root,n),ownerState:N,ref:r,...v,children:[$C.cloneElement(i,k),O?(0,mx.jsxs)("div",{children:[G,(0,mx.jsxs)(X_e,{ownerState:N,"aria-hidden":!0,className:S.asterisk,children:["\u2009","*"]})]}):G]})}),Ye=J_e;var d$=y(P());function p$(e){return de("MuiFormGroup",e)}var X1t=pe("MuiFormGroup",["root","row","error"]);var u$=y(U()),Y_e=e=>{let{classes:t,row:r,error:o}=e;return fe({root:["root",r&&"row",o&&"error"]},p$,t)},Z_e=X("div",{name:"MuiFormGroup",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.row&&t.row]}})({display:"flex",flexDirection:"column",flexWrap:"wrap",variants:[{props:{row:!0},style:{flexDirection:"row"}}]}),Q_e=d$.forwardRef(function(t,r){let o=ce({props:t,name:"MuiFormGroup"}),{className:a,row:n=!1,...s}=o,i=co(),p=ya({props:o,muiFormControl:i,states:["error"]}),l={...o,row:n,error:p.error},d=Y_e(l);return(0,u$.jsx)(Z_e,{className:z(d.root,a),ownerState:l,ref:r,...s})}),hx=Q_e;var m$=y(P());function f$(e){return de("MuiFormHelperText",e)}var eCe=pe("MuiFormHelperText",["root","error","disabled","sizeSmall","sizeMedium","contained","focused","filled","required"]),PM=eCe;var RM=y(U()),c$,tCe=e=>{let{classes:t,contained:r,size:o,disabled:a,error:n,filled:s,focused:i,required:p}=e,l={root:["root",a&&"disabled",n&&"error",o&&`size${ae(o)}`,r&&"contained",i&&"focused",s&&"filled",p&&"required"]};return fe(l,f$,t)},rCe=X("p",{name:"MuiFormHelperText",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.size&&t[`size${ae(r.size)}`],r.contained&&t.contained,r.filled&&t.filled]}})(be(({theme:e})=>({color:(e.vars||e).palette.text.secondary,...e.typography.caption,textAlign:"left",marginTop:3,marginRight:0,marginBottom:0,marginLeft:0,[`&.${PM.disabled}`]:{color:(e.vars||e).palette.text.disabled},[`&.${PM.error}`]:{color:(e.vars||e).palette.error.main},variants:[{props:{size:"small"},style:{marginTop:4}},{props:({ownerState:t})=>t.contained,style:{marginLeft:14,marginRight:14}}]}))),oCe=m$.forwardRef(function(t,r){let o=ce({props:t,name:"MuiFormHelperText"}),{children:a,className:n,component:s="p",disabled:i,error:p,filled:l,focused:d,margin:u,required:f,variant:c,...m}=o,g=co(),h=ya({props:o,muiFormControl:g,states:["variant","size","disabled","error","filled","focused","required"]}),x={...o,component:s,contained:h.variant==="filled"||h.variant==="outlined",variant:h.variant,size:h.size,disabled:h.disabled,error:h.error,filled:h.filled,focused:h.focused,required:h.required};delete x.ownerState;let T=tCe(x);return(0,RM.jsx)(rCe,{as:s,className:z(T.root,n),ref:r,...m,ownerState:x,children:a===" "?c$||(c$=(0,RM.jsx)("span",{className:"notranslate",children:"\u200B"})):a})}),DM=oCe;var x$=y(P());function h$(e){return de("MuiFormLabel",e)}var aCe=pe("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]),Rd=aCe;var AM=y(U()),nCe=e=>{let{classes:t,color:r,focused:o,disabled:a,error:n,filled:s,required:i}=e,p={root:["root",`color${ae(r)}`,a&&"disabled",n&&"error",s&&"filled",o&&"focused",i&&"required"],asterisk:["asterisk",n&&"error"]};return fe(p,h$,t)},sCe=X("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:({ownerState:e},t)=>({...t.root,...e.color==="secondary"&&t.colorSecondary,...e.filled&&t.filled})})(be(({theme:e})=>({color:(e.vars||e).palette.text.secondary,...e.typography.body1,lineHeight:"1.4375em",padding:0,position:"relative",variants:[...Object.entries(e.palette).filter(Ot()).map(([t])=>({props:{color:t},style:{[`&.${Rd.focused}`]:{color:(e.vars||e).palette[t].main}}})),{props:{},style:{[`&.${Rd.disabled}`]:{color:(e.vars||e).palette.text.disabled},[`&.${Rd.error}`]:{color:(e.vars||e).palette.error.main}}}]}))),iCe=X("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:(e,t)=>t.asterisk})(be(({theme:e})=>({[`&.${Rd.error}`]:{color:(e.vars||e).palette.error.main}}))),lCe=x$.forwardRef(function(t,r){let o=ce({props:t,name:"MuiFormLabel"}),{children:a,className:n,color:s,component:i="label",disabled:p,error:l,filled:d,focused:u,required:f,...c}=o,m=co(),g=ya({props:o,muiFormControl:m,states:["color","required","focused","disabled","error","filled"]}),h={...o,color:g.color||"primary",component:i,disabled:g.disabled,error:g.error,filled:g.filled,focused:g.focused,required:g.required},x=nCe(h);return(0,AM.jsxs)(sCe,{as:i,ownerState:h,className:z(x.root,n),ref:r,...c,children:[a,g.required&&(0,AM.jsxs)(iCe,{ownerState:h,"aria-hidden":!0,className:x.asterisk,children:["\u2009","*"]})]})}),MM=lCe;var pCe=g_({createStyledComponent:X("div",{name:"MuiGrid2",slot:"Root",overridesResolver:(e,t)=>t.root}),componentName:"MuiGrid2",useThemeProps:e=>ce({props:e,name:"MuiGrid2"})}),On=pCe;var gc=y(P());var g$=y(U());function IM(e){return`scale(${e}, ${e**2})`}var dCe={entering:{opacity:1,transform:IM(1)},entered:{opacity:1,transform:"none"}},NM=typeof navigator!="undefined"&&/^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent)&&/(os |version\/)15(.|_)4/i.test(navigator.userAgent),FM=gc.forwardRef(function(t,r){let{addEndListener:o,appear:a=!0,children:n,easing:s,in:i,onEnter:p,onEntered:l,onEntering:d,onExit:u,onExited:f,onExiting:c,style:m,timeout:g="auto",TransitionComponent:h=av,...x}=t,T=vn(),v=gc.useRef(),b=Wo(),w=gc.useRef(null),O=fr(w,ha(n),r),k=L=>Y=>{if(L){let oe=w.current;Y===void 0?L(oe):L(oe,Y)}},M=k(d),N=k((L,Y)=>{mC(L);let{duration:oe,delay:ee,easing:se}=Yh({style:m,timeout:g,easing:s},{mode:"enter"}),Ae;g==="auto"?(Ae=b.transitions.getAutoHeightDuration(L.clientHeight),v.current=Ae):Ae=oe,L.style.transition=[b.transitions.create("opacity",{duration:Ae,delay:ee}),b.transitions.create("transform",{duration:NM?Ae:Ae*.666,delay:ee,easing:se})].join(","),p&&p(L,Y)}),S=k(l),B=k(c),$=k(L=>{let{duration:Y,delay:oe,easing:ee}=Yh({style:m,timeout:g,easing:s},{mode:"exit"}),se;g==="auto"?(se=b.transitions.getAutoHeightDuration(L.clientHeight),v.current=se):se=Y,L.style.transition=[b.transitions.create("opacity",{duration:se,delay:oe}),b.transitions.create("transform",{duration:NM?se:se*.666,delay:NM?oe:oe||se*.333,easing:ee})].join(","),L.style.opacity=0,L.style.transform=IM(.75),u&&u(L)}),K=k(f);return(0,g$.jsx)(h,{appear:a,in:i,nodeRef:w,onEnter:N,onEntered:S,onEntering:M,onExit:$,onExited:K,onExiting:B,addEndListener:L=>{g==="auto"&&T.start(v.current||0,L),o&&o(w.current,L)},timeout:g==="auto"?null:g,...x,children:(L,Y)=>gc.cloneElement(n,{style:{opacity:0,transform:IM(.75),visibility:L==="exited"&&!i?"hidden":void 0,...dCe[L],...m,...n.props.style},ref:O,...Y})})});FM&&(FM.muiSupportAuto=!0);var yc=FM;var uCe=bA({themeId:Yi}),BM=uCe;var y$=y(P());var b$=y(U()),fCe=e=>{let{classes:t,disableUnderline:r}=e,a=fe({root:["root",!r&&"underline"],input:["input"]},tH,t);return{...t,...a}},cCe=X(cc,{shouldForwardProp:e=>kt(e)||e==="classes",name:"MuiInput",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[...uc(e,t),!r.disableUnderline&&t.underline]}})(be(({theme:e})=>{let r=e.palette.mode==="light"?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)";return e.vars&&(r=`rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})`),{position:"relative",variants:[{props:({ownerState:o})=>o.formControl,style:{"label + &":{marginTop:16}}},{props:({ownerState:o})=>!o.disableUnderline,style:{"&::after":{left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${ax.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${ax.error}`]:{"&::before, &::after":{borderBottomColor:(e.vars||e).palette.error.main}},"&::before":{borderBottom:`1px solid ${r}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:e.transitions.create("border-bottom-color",{duration:e.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${ax.disabled}, .${ax.error}):before`]:{borderBottom:`2px solid ${(e.vars||e).palette.text.primary}`,"@media (hover: none)":{borderBottom:`1px solid ${r}`}},[`&.${ax.disabled}:before`]:{borderBottomStyle:"dotted"}}},...Object.entries(e.palette).filter(Ot()).map(([o])=>({props:{color:o,disableUnderline:!1},style:{"&::after":{borderBottom:`2px solid ${(e.vars||e).palette[o].main}`}}}))]}})),mCe=X(mc,{name:"MuiInput",slot:"Input",overridesResolver:fc})({}),jM=y$.forwardRef(function(t,r){var b,w,O,k;let o=ce({props:t,name:"MuiInput"}),{disableUnderline:a=!1,components:n={},componentsProps:s,fullWidth:i=!1,inputComponent:p="input",multiline:l=!1,slotProps:d,slots:u={},type:f="text",...c}=o,m=fCe(o),h={root:{ownerState:{disableUnderline:a}}},x=(d!=null?d:s)?pr(d!=null?d:s,h):h,T=(w=(b=u.root)!=null?b:n.Root)!=null?w:cCe,v=(k=(O=u.input)!=null?O:n.Input)!=null?k:mCe;return(0,b$.jsx)(hc,{slots:{root:T,input:v},slotProps:x,fullWidth:i,inputComponent:p,multiline:l,ref:r,type:f,...c,classes:m})});jM&&(jM.muiName="Input");var va=jM;var T$=y(P());function v$(e){return de("MuiInputLabel",e)}var CEt=pe("MuiInputLabel",["root","focused","disabled","error","required","asterisk","formControl","sizeSmall","shrink","animated","standard","filled","outlined"]);var S$=y(U()),hCe=e=>{let{classes:t,formControl:r,size:o,shrink:a,disableAnimation:n,variant:s,required:i}=e,p={root:["root",r&&"formControl",!n&&"animated",a&&"shrink",o&&o!=="normal"&&`size${ae(o)}`,s],asterisk:[i&&"asterisk"]},l=fe(p,v$,t);return{...t,...l}},xCe=X(MM,{shouldForwardProp:e=>kt(e)||e==="classes",name:"MuiInputLabel",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[{[`& .${Rd.asterisk}`]:t.asterisk},t.root,r.formControl&&t.formControl,r.size==="small"&&t.sizeSmall,r.shrink&&t.shrink,!r.disableAnimation&&t.animated,r.focused&&t.focused,t[r.variant]]}})(be(({theme:e})=>({display:"block",transformOrigin:"top left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%",variants:[{props:({ownerState:t})=>t.formControl,style:{position:"absolute",left:0,top:0,transform:"translate(0, 20px) scale(1)"}},{props:{size:"small"},style:{transform:"translate(0, 17px) scale(1)"}},{props:({ownerState:t})=>t.shrink,style:{transform:"translate(0, -1.5px) scale(0.75)",transformOrigin:"top left",maxWidth:"133%"}},{props:({ownerState:t})=>!t.disableAnimation,style:{transition:e.transitions.create(["color","transform","max-width"],{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut})}},{props:{variant:"filled"},style:{zIndex:1,pointerEvents:"none",transform:"translate(12px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"}},{props:{variant:"filled",size:"small"},style:{transform:"translate(12px, 13px) scale(1)"}},{props:({variant:t,ownerState:r})=>t==="filled"&&r.shrink,style:{userSelect:"none",pointerEvents:"auto",transform:"translate(12px, 7px) scale(0.75)",maxWidth:"calc(133% - 24px)"}},{props:({variant:t,ownerState:r,size:o})=>t==="filled"&&r.shrink&&o==="small",style:{transform:"translate(12px, 4px) scale(0.75)"}},{props:{variant:"outlined"},style:{zIndex:1,pointerEvents:"none",transform:"translate(14px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"}},{props:{variant:"outlined",size:"small"},style:{transform:"translate(14px, 9px) scale(1)"}},{props:({variant:t,ownerState:r})=>t==="outlined"&&r.shrink,style:{userSelect:"none",pointerEvents:"auto",maxWidth:"calc(133% - 32px)",transform:"translate(14px, -9px) scale(0.75)"}}]}))),gCe=T$.forwardRef(function(t,r){let o=ce({name:"MuiInputLabel",props:t}),{disableAnimation:a=!1,margin:n,shrink:s,variant:i,className:p,...l}=o,d=co(),u=s;typeof u=="undefined"&&d&&(u=d.filled||d.focused||d.adornedStart);let f=ya({props:o,muiFormControl:d,states:["size","variant","required","focused"]}),c={...o,disableAnimation:a,formControl:d,shrink:u,size:f.size,variant:f.variant,required:f.required,focused:f.focused},m=hCe(c);return(0,S$.jsx)(xCe,{"data-shrink":u,ref:r,className:z(m.root,p),...l,ownerState:c,classes:m})}),Dd=gCe;var _$=y(P());function w$(e){return de("MuiLinearProgress",e)}var HEt=pe("MuiLinearProgress",["root","colorPrimary","colorSecondary","determinate","indeterminate","buffer","query","dashed","dashedColorPrimary","dashedColorSecondary","bar","barColorPrimary","barColorSecondary","bar1Indeterminate","bar1Determinate","bar1Buffer","bar2Indeterminate","bar2Buffer"]);var xx=y(U()),LM=4,zM=Da` +`,eue=typeof TP!="string"?Gn` + animation: ${TP} 1.4s linear infinite; + `:null,tue=typeof SP!="string"?Gn` + animation: ${SP} 1.4s ease-in-out infinite; + `:null,rue=e=>{let{classes:t,variant:r,color:o,disableShrink:a}=e,n={root:["root",r,`color${Y(o)}`],svg:["svg"],circle:["circle",`circle${Y(r)}`,a&&"circleDisableShrink"]};return re(n,sz,t)},oue=W("span",{name:"MuiCircularProgress",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[r.variant],t[`color${Y(r.color)}`]]}})(ge(({theme:e})=>({display:"inline-block",variants:[{props:{variant:"determinate"},style:{transition:e.transitions.create("transform")}},{props:{variant:"indeterminate"},style:eue||{animation:`${TP} 1.4s linear infinite`}},...Object.entries(e.palette).filter(vt()).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].main}}))]}))),aue=W("svg",{name:"MuiCircularProgress",slot:"Svg",overridesResolver:(e,t)=>t.svg})({display:"block"}),nue=W("circle",{name:"MuiCircularProgress",slot:"Circle",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.circle,t[`circle${Y(r.variant)}`],r.disableShrink&&t.circleDisableShrink]}})(ge(({theme:e})=>({stroke:"currentColor",variants:[{props:{variant:"determinate"},style:{transition:e.transitions.create("stroke-dashoffset")}},{props:{variant:"indeterminate"},style:{strokeDasharray:"80px, 200px",strokeDashoffset:0}},{props:({ownerState:t})=>t.variant==="indeterminate"&&!t.disableShrink,style:tue||{animation:`${SP} 1.4s ease-in-out infinite`}}]}))),sue=iz.forwardRef(function(t,r){let o=ie({props:t,name:"MuiCircularProgress"}),{className:a,color:n="primary",disableShrink:s=!1,size:i=40,style:p,thickness:l=3.6,value:d=0,variant:u="indeterminate",...f}=o,c={...o,color:n,disableShrink:s,size:i,thickness:l,value:d,variant:u},h=rue(c),g={},m={},x={};if(u==="determinate"){let T=2*Math.PI*((Dp-l)/2);g.strokeDasharray=T.toFixed(3),x["aria-valuenow"]=Math.round(d),g.strokeDashoffset=`${((100-d)/100*T).toFixed(3)}px`,m.transform="rotate(-90deg)"}return(0,Ew.jsx)(oue,{className:K(h.root,a),style:{width:i,height:i,...m,...p},ownerState:c,ref:r,role:"progressbar",...x,...f,children:(0,Ew.jsx)(aue,{className:h.svg,ownerState:c,viewBox:`${Dp/2} ${Dp/2} ${Dp} ${Dp}`,children:(0,Ew.jsx)(nue,{className:h.circle,style:g,ownerState:c,cx:Dp,cy:Dp,r:(Dp-l)/2,fill:"none",strokeWidth:l})})})}),Sm=sue;var vn=y(D());var pz=y($());function lz(e){return e.substring(2).toLowerCase()}function iue(e,t){return t.documentElement.clientWidth(setTimeout(()=>{p.current=!0},0),()=>{p.current=!1}),[]);let d=Ur(Go(t),i),u=Xn(h=>{let g=l.current;l.current=!1;let m=Dr(i.current);if(!p.current||!i.current||"clientX"in h&&iue(h,m))return;if(s.current){s.current=!1;return}let x;h.composedPath?x=h.composedPath().includes(i.current):x=!m.documentElement.contains(h.target)||i.current.contains(h.target),!x&&(r||!g)&&a(h)}),f=h=>g=>{l.current=!0;let m=t.props[h];m&&m(g)},c={ref:d};return n!==!1&&(c[n]=f(n)),vn.useEffect(()=>{if(n!==!1){let h=lz(n),g=Dr(i.current),m=()=>{s.current=!0};return g.addEventListener(h,u),g.addEventListener("touchmove",m),()=>{g.removeEventListener(h,u),g.removeEventListener("touchmove",m)}}},[u,n]),o!==!1&&(c[o]=f(o)),vn.useEffect(()=>{if(o!==!1){let h=lz(o),g=Dr(i.current);return g.addEventListener(h,u),()=>{g.removeEventListener(h,u)}}},[u,o]),(0,pz.jsx)(vn.Fragment,{children:vn.cloneElement(t,c)})}var Om=y(D());function lue(e){let t=Dr(e);return t.body===e?hn(e).innerWidth>t.documentElement.clientWidth:e.scrollHeight>e.clientHeight}function wm(e,t){t?e.setAttribute("aria-hidden","true"):e.removeAttribute("aria-hidden")}function dz(e){return parseInt(hn(e).getComputedStyle(e).paddingRight,10)||0}function pue(e){let r=["TEMPLATE","SCRIPT","STYLE","LINK","MAP","META","NOSCRIPT","PICTURE","COL","COLGROUP","PARAM","SLOT","SOURCE","TRACK"].includes(e.tagName),o=e.tagName==="INPUT"&&e.getAttribute("type")==="hidden";return r||o}function uz(e,t,r,o,a){let n=[t,r,...o];[].forEach.call(e.children,s=>{let i=!n.includes(s),p=!pue(s);i&&p&&wm(s,a)})}function _P(e,t){let r=-1;return e.some((o,a)=>t(o)?(r=a,!0):!1),r}function due(e,t){let r=[],o=e.container;if(!t.disableScrollLock){if(lue(o)){let s=xu(hn(o));r.push({value:o.style.paddingRight,property:"padding-right",el:o}),o.style.paddingRight=`${dz(o)+s}px`;let i=Dr(o).querySelectorAll(".mui-fixed");[].forEach.call(i,p=>{r.push({value:p.style.paddingRight,property:"padding-right",el:p}),p.style.paddingRight=`${dz(p)+s}px`})}let n;if(o.parentNode instanceof DocumentFragment)n=Dr(o).body;else{let s=o.parentElement,i=hn(o);n=(s==null?void 0:s.nodeName)==="HTML"&&i.getComputedStyle(s).overflowY==="scroll"?s:o}r.push({value:n.style.overflow,property:"overflow",el:n},{value:n.style.overflowX,property:"overflow-x",el:n},{value:n.style.overflowY,property:"overflow-y",el:n}),n.style.overflow="hidden"}return()=>{r.forEach(({value:n,el:s,property:i})=>{n?s.style.setProperty(i,n):s.style.removeProperty(i)})}}function uue(e){let t=[];return[].forEach.call(e.children,r=>{r.getAttribute("aria-hidden")==="true"&&t.push(r)}),t}var Pw=class{constructor(){this.modals=[],this.containers=[]}add(t,r){let o=this.modals.indexOf(t);if(o!==-1)return o;o=this.modals.length,this.modals.push(t),t.modalRef&&wm(t.modalRef,!1);let a=uue(r);uz(r,t.mount,t.modalRef,a,!0);let n=_P(this.containers,s=>s.container===r);return n!==-1?(this.containers[n].modals.push(t),o):(this.containers.push({modals:[t],container:r,restore:null,hiddenSiblings:a}),o)}mount(t,r){let o=_P(this.containers,n=>n.modals.includes(t)),a=this.containers[o];a.restore||(a.restore=due(a,r))}remove(t,r=!0){let o=this.modals.indexOf(t);if(o===-1)return o;let a=_P(this.containers,s=>s.modals.includes(t)),n=this.containers[a];if(n.modals.splice(n.modals.indexOf(t),1),this.modals.splice(o,1),n.modals.length===0)n.restore&&n.restore(),t.modalRef&&wm(t.modalRef,r),uz(n.container,t.mount,t.modalRef,n.hiddenSiblings,!1),this.containers.splice(a,1);else{let s=n.modals[n.modals.length-1];s.modalRef&&wm(s.modalRef,!1)}return o}isTopModal(t){return this.modals.length>0&&this.modals[this.modals.length-1]===t}};var Dw=y(D());var Yo=y(D());var py=y($()),fue=["input","select","textarea","a[href]","button","[tabindex]","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])'].join(",");function cue(e){let t=parseInt(e.getAttribute("tabindex")||"",10);return Number.isNaN(t)?e.contentEditable==="true"||(e.nodeName==="AUDIO"||e.nodeName==="VIDEO"||e.nodeName==="DETAILS")&&e.getAttribute("tabindex")===null?0:e.tabIndex:t}function mue(e){if(e.tagName!=="INPUT"||e.type!=="radio"||!e.name)return!1;let t=o=>e.ownerDocument.querySelector(`input[type="radio"]${o}`),r=t(`[name="${e.name}"]:checked`);return r||(r=t(`[name="${e.name}"]`)),r!==e}function hue(e){return!(e.disabled||e.tagName==="INPUT"&&e.type==="hidden"||mue(e))}function xue(e){let t=[],r=[];return Array.from(e.querySelectorAll(fue)).forEach((o,a)=>{let n=cue(o);n===-1||!hue(o)||(n===0?t.push(o):r.push({documentOrder:a,tabIndex:n,node:o}))}),r.sort((o,a)=>o.tabIndex===a.tabIndex?o.documentOrder-a.documentOrder:o.tabIndex-a.tabIndex).map(o=>o.node).concat(t)}function gue(){return!0}function yue(e){let{children:t,disableAutoFocus:r=!1,disableEnforceFocus:o=!1,disableRestoreFocus:a=!1,getTabbable:n=xue,isEnabled:s=gue,open:i}=e,p=Yo.useRef(!1),l=Yo.useRef(null),d=Yo.useRef(null),u=Yo.useRef(null),f=Yo.useRef(null),c=Yo.useRef(!1),h=Yo.useRef(null),g=Ur(Go(t),h),m=Yo.useRef(null);Yo.useEffect(()=>{!i||!h.current||(c.current=!r)},[r,i]),Yo.useEffect(()=>{if(!i||!h.current)return;let b=Dr(h.current);return h.current.contains(b.activeElement)||(h.current.hasAttribute("tabIndex")||h.current.setAttribute("tabIndex","-1"),c.current&&h.current.focus()),()=>{a||(u.current&&u.current.focus&&(p.current=!0,u.current.focus()),u.current=null)}},[i]),Yo.useEffect(()=>{if(!i||!h.current)return;let b=Dr(h.current),v=k=>{m.current=k,!(o||!s()||k.key!=="Tab")&&b.activeElement===h.current&&k.shiftKey&&(p.current=!0,d.current&&d.current.focus())},w=()=>{var N,S;let k=h.current;if(k===null)return;if(!b.hasFocus()||!s()||p.current){p.current=!1;return}if(k.contains(b.activeElement)||o&&b.activeElement!==l.current&&b.activeElement!==d.current)return;if(b.activeElement!==f.current)f.current=null;else if(f.current!==null)return;if(!c.current)return;let M=[];if((b.activeElement===l.current||b.activeElement===d.current)&&(M=n(h.current)),M.length>0){let B=!!((N=m.current)!=null&&N.shiftKey&&((S=m.current)==null?void 0:S.key)==="Tab"),G=M[0],J=M[M.length-1];typeof G!="string"&&typeof J!="string"&&(B?J.focus():G.focus())}else k.focus()};b.addEventListener("focusin",w),b.addEventListener("keydown",v,!0);let O=setInterval(()=>{b.activeElement&&b.activeElement.tagName==="BODY"&&w()},50);return()=>{clearInterval(O),b.removeEventListener("focusin",w),b.removeEventListener("keydown",v,!0)}},[r,o,a,s,i,n]);let x=b=>{u.current===null&&(u.current=b.relatedTarget),c.current=!0,f.current=b.target;let v=t.props.onFocus;v&&v(b)},T=b=>{u.current===null&&(u.current=b.relatedTarget),c.current=!0};return(0,py.jsxs)(Yo.Fragment,{children:[(0,py.jsx)("div",{tabIndex:i?0:-1,onFocus:T,ref:l,"data-testid":"sentinelStart"}),Yo.cloneElement(t,{ref:g,onFocus:x}),(0,py.jsx)("div",{tabIndex:i?0:-1,onFocus:T,ref:d,"data-testid":"sentinelEnd"})]})}var CP=yue;var Ws=y(D());function vue(e){return typeof e=="function"?e():e}function bue(e){return e?e.props.hasOwnProperty("in"):!1}var Rw=new Pw;function Tue(e){let{container:t,disableEscapeKeyDown:r=!1,disableScrollLock:o=!1,closeAfterTransition:a=!1,onTransitionEnter:n,onTransitionExited:s,children:i,onClose:p,open:l,rootRef:d}=e,u=Ws.useRef({}),f=Ws.useRef(null),c=Ws.useRef(null),h=Ur(c,d),[g,m]=Ws.useState(!l),x=bue(i),T=!0;(e["aria-hidden"]==="false"||e["aria-hidden"]===!1)&&(T=!1);let b=()=>Dr(f.current),v=()=>(u.current.modalRef=c.current,u.current.mount=f.current,u.current),w=()=>{Rw.mount(v(),{disableScrollLock:o}),c.current&&(c.current.scrollTop=0)},O=Xn(()=>{let j=vue(t)||b().body;Rw.add(v(),j),c.current&&w()}),k=()=>Rw.isTopModal(v()),M=Xn(j=>{f.current=j,j&&(l&&k()?w():c.current&&wm(c.current,T))}),N=Ws.useCallback(()=>{Rw.remove(v(),T)},[T]);Ws.useEffect(()=>()=>{N()},[N]),Ws.useEffect(()=>{l?O():(!x||!a)&&N()},[l,N,x,a,O]);let S=j=>X=>{var le;(le=j.onKeyDown)==null||le.call(j,X),!(X.key!=="Escape"||X.which===229||!k())&&(r||(X.stopPropagation(),p&&p(X,"escapeKeyDown")))},B=j=>X=>{var le;(le=j.onClick)==null||le.call(j,X),X.target===X.currentTarget&&p&&p(X,"backdropClick")};return{getRootProps:(j={})=>{let X=Sp(e);delete X.onTransitionEnter,delete X.onTransitionExited;let le={...X,...j};return{role:"presentation",...le,onKeyDown:S(le),ref:h}},getBackdropProps:(j={})=>{let X=j;return{"aria-hidden":!0,...X,onClick:B(X),open:l}},getTransitionProps:()=>{let j=()=>{m(!1),n&&n()},X=()=>{m(!0),s&&s(),a&&N()};return{onEnter:vp(j,i==null?void 0:i.props.onEnter),onExited:vp(X,i==null?void 0:i.props.onExited)}},rootRef:h,portalRef:M,isTopModal:k,exited:g,hasTransition:x}}var fz=Tue;function cz(e){return te("MuiModal",e)}var Fat=Q("MuiModal",["root","hidden","backdrop"]);var _m=y($()),Sue=e=>{let{open:t,exited:r,classes:o}=e;return re({root:["root",!t&&r&&"hidden"],backdrop:["backdrop"]},cz,o)},wue=W("div",{name:"MuiModal",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,!r.open&&r.exited&&t.hidden]}})(ge(({theme:e})=>({position:"fixed",zIndex:(e.vars||e).zIndex.modal,right:0,bottom:0,top:0,left:0,variants:[{props:({ownerState:t})=>!t.open&&t.exited,style:{visibility:"hidden"}}]}))),_ue=W(oy,{name:"MuiModal",slot:"Backdrop",overridesResolver:(e,t)=>t.backdrop})({zIndex:-1}),Cue=Dw.forwardRef(function(t,r){let o=ie({name:"MuiModal",props:t}),{BackdropComponent:a=_ue,BackdropProps:n,classes:s,className:i,closeAfterTransition:p=!1,children:l,container:d,component:u,components:f={},componentsProps:c={},disableAutoFocus:h=!1,disableEnforceFocus:g=!1,disableEscapeKeyDown:m=!1,disablePortal:x=!1,disableRestoreFocus:T=!1,disableScrollLock:b=!1,hideBackdrop:v=!1,keepMounted:w=!1,onBackdropClick:O,onClose:k,onTransitionEnter:M,onTransitionExited:N,open:S,slotProps:B={},slots:G={},theme:J,...q}=o,j={...o,closeAfterTransition:p,disableAutoFocus:h,disableEnforceFocus:g,disableEscapeKeyDown:m,disablePortal:x,disableRestoreFocus:T,disableScrollLock:b,hideBackdrop:v,keepMounted:w},{getRootProps:X,getBackdropProps:le,getTransitionProps:ae,portalRef:de,isTopModal:Be,exited:Oe,hasTransition:We}=fz({...j,rootRef:r}),ke={...j,exited:Oe},_e=Sue(ke),He={};if(l.props.tabIndex===void 0&&(He.tabIndex="-1"),We){let{onEnter:Pe,onExited:Ze}=ae();He.onEnter=Pe,He.onExited=Ze}let Me={...q,slots:{root:f.Root,backdrop:f.Backdrop,...G},slotProps:{...c,...B}},[lt,Ye]=Mr("root",{elementType:wue,externalForwardedProps:Me,getSlotProps:X,additionalProps:{ref:r,as:u},ownerState:ke,className:K(i,_e==null?void 0:_e.root,!ke.open&&ke.exited&&(_e==null?void 0:_e.hidden))}),[ot,ft]=Mr("backdrop",{elementType:a,externalForwardedProps:Me,additionalProps:n,getSlotProps:Pe=>le({...Pe,onClick:Ze=>{O&&O(Ze),Pe!=null&&Pe.onClick&&Pe.onClick(Ze)}}),className:K(n==null?void 0:n.className,_e==null?void 0:_e.backdrop),ownerState:ke}),Fe=Qt(n==null?void 0:n.ref,ft.ref);return!w&&!S&&(!We||Oe)?null:(0,_m.jsx)(ey,{ref:de,container:d,disablePortal:x,children:(0,_m.jsxs)(lt,{...Ye,children:[!v&&a?(0,_m.jsx)(ot,{...ft,ref:Fe}):null,(0,_m.jsx)(CP,{disableEnforceFocus:g,disableAutoFocus:h,disableRestoreFocus:T,isEnabled:Be,open:S,children:Dw.cloneElement(l,He)})]})})}),dy=Cue;function mz(e){return te("MuiDialog",e)}var Oue=Q("MuiDialog",["root","scrollPaper","scrollBody","container","paper","paperScrollPaper","paperScrollBody","paperWidthFalse","paperWidthXs","paperWidthSm","paperWidthMd","paperWidthLg","paperWidthXl","paperFullWidth","paperFullScreen"]),Aw=Oue;var hz=y(D()),kue=hz.createContext({}),Mw=kue;var Cm=y($()),Eue=W(oy,{name:"MuiDialog",slot:"Backdrop",overrides:(e,t)=>t.backdrop})({zIndex:-1}),Pue=e=>{let{classes:t,scroll:r,maxWidth:o,fullWidth:a,fullScreen:n}=e,s={root:["root"],container:["container",`scroll${Y(r)}`],paper:["paper",`paperScroll${Y(r)}`,`paperWidth${Y(String(o))}`,a&&"paperFullWidth",n&&"paperFullScreen"]};return re(s,mz,t)},Rue=W(dy,{name:"MuiDialog",slot:"Root",overridesResolver:(e,t)=>t.root})({"@media print":{position:"absolute !important"}}),Due=W("div",{name:"MuiDialog",slot:"Container",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.container,t[`scroll${Y(r.scroll)}`]]}})({height:"100%","@media print":{height:"auto"},outline:0,variants:[{props:{scroll:"paper"},style:{display:"flex",justifyContent:"center",alignItems:"center"}},{props:{scroll:"body"},style:{overflowY:"auto",overflowX:"hidden",textAlign:"center","&::after":{content:'""',display:"inline-block",verticalAlign:"middle",height:"100%",width:"0"}}}]}),Aue=W(Ar,{name:"MuiDialog",slot:"Paper",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.paper,t[`scrollPaper${Y(r.scroll)}`],t[`paperWidth${Y(String(r.maxWidth))}`],r.fullWidth&&t.paperFullWidth,r.fullScreen&&t.paperFullScreen]}})(ge(({theme:e})=>({margin:32,position:"relative",overflowY:"auto","@media print":{overflowY:"visible",boxShadow:"none"},variants:[{props:{scroll:"paper"},style:{display:"flex",flexDirection:"column",maxHeight:"calc(100% - 64px)"}},{props:{scroll:"body"},style:{display:"inline-block",verticalAlign:"middle",textAlign:"initial"}},{props:({ownerState:t})=>!t.maxWidth,style:{maxWidth:"calc(100% - 64px)"}},{props:{maxWidth:"xs"},style:{maxWidth:e.breakpoints.unit==="px"?Math.max(e.breakpoints.values.xs,444):`max(${e.breakpoints.values.xs}${e.breakpoints.unit}, 444px)`,[`&.${Aw.paperScrollBody}`]:{[e.breakpoints.down(Math.max(e.breakpoints.values.xs,444)+32*2)]:{maxWidth:"calc(100% - 64px)"}}}},...Object.keys(e.breakpoints.values).filter(t=>t!=="xs").map(t=>({props:{maxWidth:t},style:{maxWidth:`${e.breakpoints.values[t]}${e.breakpoints.unit}`,[`&.${Aw.paperScrollBody}`]:{[e.breakpoints.down(e.breakpoints.values[t]+32*2)]:{maxWidth:"calc(100% - 64px)"}}}})),{props:({ownerState:t})=>t.fullWidth,style:{width:"calc(100% - 64px)"}},{props:({ownerState:t})=>t.fullScreen,style:{margin:0,width:"100%",maxWidth:"100%",height:"100%",maxHeight:"none",borderRadius:0,[`&.${Aw.paperScrollBody}`]:{margin:0,maxWidth:"100%"}}}]}))),Mue=Om.forwardRef(function(t,r){let o=ie({props:t,name:"MuiDialog"}),a=Zr(),n={enter:a.transitions.duration.enteringScreen,exit:a.transitions.duration.leavingScreen},{"aria-describedby":s,"aria-labelledby":i,"aria-modal":p=!0,BackdropComponent:l,BackdropProps:d,children:u,className:f,disableEscapeKeyDown:c=!1,fullScreen:h=!1,fullWidth:g=!1,maxWidth:m="sm",onBackdropClick:x,onClick:T,onClose:b,open:v,PaperComponent:w=Ar,PaperProps:O={},scroll:k="paper",TransitionComponent:M=ry,transitionDuration:N=n,TransitionProps:S,...B}=o,G={...o,disableEscapeKeyDown:c,fullScreen:h,fullWidth:g,maxWidth:m,scroll:k},J=Pue(G),q=Om.useRef(),j=de=>{q.current=de.target===de.currentTarget},X=de=>{T&&T(de),q.current&&(q.current=null,x&&x(de),b&&b(de,"backdropClick"))},le=vi(i),ae=Om.useMemo(()=>({titleId:le}),[le]);return(0,Cm.jsx)(Rue,{className:K(J.root,f),closeAfterTransition:!0,components:{Backdrop:Eue},componentsProps:{backdrop:{transitionDuration:N,as:l,...d}},disableEscapeKeyDown:c,onClose:b,open:v,ref:r,onClick:X,ownerState:G,...B,children:(0,Cm.jsx)(M,{appear:!0,in:v,timeout:N,role:"presentation",...S,children:(0,Cm.jsx)(Due,{className:K(J.container),onMouseDown:j,ownerState:G,children:(0,Cm.jsx)(Aue,{as:w,elevation:24,role:"dialog","aria-describedby":s,"aria-labelledby":le,"aria-modal":p,...O,className:K(J.paper,O.className),ownerState:G,children:(0,Cm.jsx)(Mw.Provider,{value:ae,children:u})})})})})}),er=Mue;var gz=y(D());function xz(e){return te("MuiDialogActions",e)}var wnt=Q("MuiDialogActions",["root","spacing"]);var yz=y($()),Nue=e=>{let{classes:t,disableSpacing:r}=e;return re({root:["root",!r&&"spacing"]},xz,t)},Iue=W("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,!r.disableSpacing&&t.spacing]}})({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto",variants:[{props:({ownerState:e})=>!e.disableSpacing,style:{"& > :not(style) ~ :not(style)":{marginLeft:8}}}]}),Fue=gz.forwardRef(function(t,r){let o=ie({props:t,name:"MuiDialogActions"}),{className:a,disableSpacing:n=!1,...s}=o,i={...o,disableSpacing:n},p=Nue(i);return(0,yz.jsx)(Iue,{className:K(p.root,a),ownerState:i,ref:r,...s})}),sr=Fue;var Sz=y(D());function vz(e){return te("MuiDialogContent",e)}var Fnt=Q("MuiDialogContent",["root","dividers"]);function bz(e){return te("MuiDialogTitle",e)}var Bue=Q("MuiDialogTitle",["root"]),Tz=Bue;var wz=y($()),Lue=e=>{let{classes:t,dividers:r}=e;return re({root:["root",r&&"dividers"]},vz,t)},jue=W("div",{name:"MuiDialogContent",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.dividers&&t.dividers]}})(ge(({theme:e})=>({flex:"1 1 auto",WebkitOverflowScrolling:"touch",overflowY:"auto",padding:"20px 24px",variants:[{props:({ownerState:t})=>t.dividers,style:{padding:"16px 24px",borderTop:`1px solid ${(e.vars||e).palette.divider}`,borderBottom:`1px solid ${(e.vars||e).palette.divider}`}},{props:({ownerState:t})=>!t.dividers,style:{[`.${Tz.root} + &`]:{paddingTop:0}}}]}))),zue=Sz.forwardRef(function(t,r){let o=ie({props:t,name:"MuiDialogContent"}),{className:a,dividers:n=!1,...s}=o,i={...o,dividers:n},p=Lue(i);return(0,wz.jsx)(jue,{className:K(p.root,a),ownerState:i,ref:r,...s})}),ir=zue;var Cz=y(D());function _z(e){return te("MuiDialogContentText",e)}var est=Q("MuiDialogContentText",["root"]);var Oz=y($()),Wue=e=>{let{classes:t}=e,o=re({root:["root"]},_z,t);return{...t,...o}},Uue=W(ka,{shouldForwardProp:e=>bt(e)||e==="classes",name:"MuiDialogContentText",slot:"Root",overridesResolver:(e,t)=>t.root})({}),Hue=Cz.forwardRef(function(t,r){let o=ie({props:t,name:"MuiDialogContentText"}),{children:a,className:n,...s}=o,i=Wue(s);return(0,Oz.jsx)(Uue,{component:"p",variant:"body1",color:"textSecondary",ref:r,ownerState:s,className:K(i.root,n),...o,classes:i})}),Za=Hue;var Nw=y(D());var kz=y($()),Vue=e=>{let{classes:t}=e;return re({root:["root"]},bz,t)},$ue=W(ka,{name:"MuiDialogTitle",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:"16px 24px",flex:"0 0 auto"}),Gue=Nw.forwardRef(function(t,r){let o=ie({props:t,name:"MuiDialogTitle"}),{className:a,id:n,...s}=o,i=o,p=Vue(i),{titleId:l=n}=Nw.useContext(Mw);return(0,kz.jsx)($ue,{component:"h2",className:K(p.root,a),ownerState:i,ref:r,variant:"h6",id:n!=null?n:l,...s})}),tr=Gue;var que=Q("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]),Iw=que;var Pz=y(D());function Ez(e){return te("MuiFab",e)}var Kue=Q("MuiFab",["root","primary","secondary","extended","circular","focusVisible","disabled","colorInherit","sizeSmall","sizeMedium","sizeLarge","info","error","warning","success"]),OP=Kue;var Rz=y($()),Jue=e=>{let{color:t,variant:r,classes:o,size:a}=e,n={root:["root",r,`size${Y(a)}`,t==="inherit"?"colorInherit":t]},s=re(n,Ez,o);return{...o,...s}},Xue=W(_o,{name:"MuiFab",slot:"Root",shouldForwardProp:e=>bt(e)||e==="classes",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[r.variant],t[`size${Y(r.size)}`],r.color==="inherit"&&t.colorInherit,t[Y(r.size)],t[r.color]]}})(ge(({theme:e})=>{var t,r;return{...e.typography.button,minHeight:36,transition:e.transitions.create(["background-color","box-shadow","border-color"],{duration:e.transitions.duration.short}),borderRadius:"50%",padding:0,minWidth:0,width:56,height:56,zIndex:(e.vars||e).zIndex.fab,boxShadow:(e.vars||e).shadows[6],"&:active":{boxShadow:(e.vars||e).shadows[12]},color:e.vars?e.vars.palette.text.primary:(r=(t=e.palette).getContrastText)==null?void 0:r.call(t,e.palette.grey[300]),backgroundColor:(e.vars||e).palette.grey[300],"&:hover":{backgroundColor:(e.vars||e).palette.grey.A100,"@media (hover: none)":{backgroundColor:(e.vars||e).palette.grey[300]},textDecoration:"none"},[`&.${OP.focusVisible}`]:{boxShadow:(e.vars||e).shadows[6]},variants:[{props:{size:"small"},style:{width:40,height:40}},{props:{size:"medium"},style:{width:48,height:48}},{props:{variant:"extended"},style:{borderRadius:48/2,padding:"0 16px",width:"auto",minHeight:"auto",minWidth:48,height:48}},{props:{variant:"extended",size:"small"},style:{width:"auto",padding:"0 8px",borderRadius:34/2,minWidth:34,height:34}},{props:{variant:"extended",size:"medium"},style:{width:"auto",padding:"0 16px",borderRadius:40/2,minWidth:40,height:40}},{props:{color:"inherit"},style:{color:"inherit"}}]}}),ge(({theme:e})=>({variants:[...Object.entries(e.palette).filter(vt(["dark","contrastText"])).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].contrastText,backgroundColor:(e.vars||e).palette[t].main,"&:hover":{backgroundColor:(e.vars||e).palette[t].dark,"@media (hover: none)":{backgroundColor:(e.vars||e).palette[t].main}}}}))]})),ge(({theme:e})=>({[`&.${OP.disabled}`]:{color:(e.vars||e).palette.action.disabled,boxShadow:(e.vars||e).shadows[0],backgroundColor:(e.vars||e).palette.action.disabledBackground}}))),Yue=Pz.forwardRef(function(t,r){let o=ie({props:t,name:"MuiFab"}),{children:a,className:n,color:s="default",component:i="button",disabled:p=!1,disableFocusRipple:l=!1,focusVisibleClassName:d,size:u="large",variant:f="circular",...c}=o,h={...o,color:s,component:i,disabled:p,disableFocusRipple:l,size:u,variant:f},g=Jue(h);return(0,Rz.jsx)(Xue,{className:K(g.root,n),component:i,disabled:p,focusRipple:!l,focusVisibleClassName:K(g.focusVisible,d),ownerState:h,ref:r,...c,classes:g,children:a})}),Qa=Yue;var Dz=y(D());var Az=y($()),Zue=e=>{let{classes:t,disableUnderline:r,startAdornment:o,endAdornment:a,size:n,hiddenLabel:s,multiline:i}=e,p={root:["root",!r&&"underline",o&&"adornedStart",a&&"adornedEnd",n==="small"&&`size${Y(n)}`,s&&"hiddenLabel",i&&"multiline"],input:["input"]},l=re(p,P4,t);return{...t,...l}},Que=W(Ku,{shouldForwardProp:e=>bt(e)||e==="classes",name:"MuiFilledInput",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[...Gu(e,t),!r.disableUnderline&&t.underline]}})(ge(({theme:e})=>{let t=e.palette.mode==="light",r=t?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)",o=t?"rgba(0, 0, 0, 0.06)":"rgba(255, 255, 255, 0.09)",a=t?"rgba(0, 0, 0, 0.09)":"rgba(255, 255, 255, 0.13)",n=t?"rgba(0, 0, 0, 0.12)":"rgba(255, 255, 255, 0.12)";return{position:"relative",backgroundColor:e.vars?e.vars.palette.FilledInput.bg:o,borderTopLeftRadius:(e.vars||e).shape.borderRadius,borderTopRightRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),"&:hover":{backgroundColor:e.vars?e.vars.palette.FilledInput.hoverBg:a,"@media (hover: none)":{backgroundColor:e.vars?e.vars.palette.FilledInput.bg:o}},[`&.${Rp.focused}`]:{backgroundColor:e.vars?e.vars.palette.FilledInput.bg:o},[`&.${Rp.disabled}`]:{backgroundColor:e.vars?e.vars.palette.FilledInput.disabledBg:n},variants:[{props:({ownerState:s})=>!s.disableUnderline,style:{"&::after":{left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${Rp.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${Rp.error}`]:{"&::before, &::after":{borderBottomColor:(e.vars||e).palette.error.main}},"&::before":{borderBottom:`1px solid ${e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})`:r}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:e.transitions.create("border-bottom-color",{duration:e.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${Rp.disabled}, .${Rp.error}):before`]:{borderBottom:`1px solid ${(e.vars||e).palette.text.primary}`},[`&.${Rp.disabled}:before`]:{borderBottomStyle:"dotted"}}},...Object.entries(e.palette).filter(vt()).map(([s])=>{var i;return{props:{disableUnderline:!1,color:s},style:{"&::after":{borderBottom:`2px solid ${(i=(e.vars||e).palette[s])==null?void 0:i.main}`}}}}),{props:({ownerState:s})=>s.startAdornment,style:{paddingLeft:12}},{props:({ownerState:s})=>s.endAdornment,style:{paddingRight:12}},{props:({ownerState:s})=>s.multiline,style:{padding:"25px 12px 8px"}},{props:({ownerState:s,size:i})=>s.multiline&&i==="small",style:{paddingTop:21,paddingBottom:4}},{props:({ownerState:s})=>s.multiline&&s.hiddenLabel,style:{paddingTop:16,paddingBottom:17}},{props:({ownerState:s})=>s.multiline&&s.hiddenLabel&&s.size==="small",style:{paddingTop:8,paddingBottom:9}}]}})),efe=W(Ju,{name:"MuiFilledInput",slot:"Input",overridesResolver:qu})(ge(({theme:e})=>({paddingTop:25,paddingRight:12,paddingBottom:8,paddingLeft:12,...!e.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:e.palette.mode==="light"?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:e.palette.mode==="light"?null:"#fff",caretColor:e.palette.mode==="light"?null:"#fff",borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"}},...e.vars&&{"&:-webkit-autofill":{borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"},[e.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},variants:[{props:{size:"small"},style:{paddingTop:21,paddingBottom:4}},{props:({ownerState:t})=>t.hiddenLabel,style:{paddingTop:16,paddingBottom:17}},{props:({ownerState:t})=>t.startAdornment,style:{paddingLeft:0}},{props:({ownerState:t})=>t.endAdornment,style:{paddingRight:0}},{props:({ownerState:t})=>t.hiddenLabel&&t.size==="small",style:{paddingTop:8,paddingBottom:9}},{props:({ownerState:t})=>t.multiline,style:{paddingTop:0,paddingBottom:0,paddingLeft:0,paddingRight:0}}]}))),kP=Dz.forwardRef(function(t,r){var w,O,k,M;let o=ie({props:t,name:"MuiFilledInput"}),{disableUnderline:a=!1,components:n={},componentsProps:s,fullWidth:i=!1,hiddenLabel:p,inputComponent:l="input",multiline:d=!1,slotProps:u,slots:f={},type:c="text",...h}=o,g={...o,disableUnderline:a,fullWidth:i,inputComponent:l,multiline:d,type:c},m=Zue(o),x={root:{ownerState:g},input:{ownerState:g}},T=(u!=null?u:s)?Xt(x,u!=null?u:s):x,b=(O=(w=f.root)!=null?w:n.Root)!=null?O:Que,v=(M=(k=f.input)!=null?k:n.Input)!=null?M:efe;return(0,Az.jsx)(Xu,{slots:{root:b,input:v},componentsProps:T,fullWidth:i,inputComponent:l,multiline:d,ref:r,type:c,...h,classes:m})});kP&&(kP.muiName="Input");var uy=kP;var bn=y(D());function Mz(e){return te("MuiFormControl",e)}var pit=Q("MuiFormControl",["root","marginNone","marginNormal","marginDense","fullWidth","disabled"]);var EP=y($()),tfe=e=>{let{classes:t,margin:r,fullWidth:o}=e,a={root:["root",r!=="none"&&`margin${Y(r)}`,o&&"fullWidth"]};return re(a,Mz,t)},rfe=W("div",{name:"MuiFormControl",slot:"Root",overridesResolver:({ownerState:e},t)=>({...t.root,...t[`margin${Y(e.margin)}`],...e.fullWidth&&t.fullWidth})})({display:"inline-flex",flexDirection:"column",position:"relative",minWidth:0,padding:0,margin:0,border:0,verticalAlign:"top",variants:[{props:{margin:"normal"},style:{marginTop:16,marginBottom:8}},{props:{margin:"dense"},style:{marginTop:8,marginBottom:4}},{props:{fullWidth:!0},style:{width:"100%"}}]}),ofe=bn.forwardRef(function(t,r){let o=ie({props:t,name:"MuiFormControl"}),{children:a,className:n,color:s="primary",component:i="div",disabled:p=!1,error:l=!1,focused:d,fullWidth:u=!1,hiddenLabel:f=!1,margin:c="none",required:h=!1,size:g="medium",variant:m="outlined",...x}=o,T={...o,color:s,component:i,disabled:p,error:l,fullWidth:u,hiddenLabel:f,margin:c,required:h,size:g,variant:m},b=tfe(T),[v,w]=bn.useState(()=>{let q=!1;return a&&bn.Children.forEach(a,j=>{if(!im(j,["Input","Select"]))return;let X=im(j,["Select"])?j.props.input:j;X&&w4(X.props)&&(q=!0)}),q}),[O,k]=bn.useState(()=>{let q=!1;return a&&bn.Children.forEach(a,j=>{im(j,["Input","Select"])&&(Vu(j.props,!0)||Vu(j.props.inputProps,!0))&&(q=!0)}),q}),[M,N]=bn.useState(!1);p&&M&&N(!1);let S=d!==void 0&&!p?d:M,B,G=bn.useRef(!1),J=bn.useMemo(()=>({adornedStart:v,setAdornedStart:w,color:s,disabled:p,error:l,filled:O,focused:S,fullWidth:u,hiddenLabel:f,size:g,onBlur:()=>{N(!1)},onEmpty:()=>{k(!1)},onFilled:()=>{k(!0)},onFocus:()=>{N(!0)},registerEffect:B,required:h,variant:m}),[v,s,p,l,O,S,u,f,B,h,g,m]);return(0,EP.jsx)(gm.Provider,{value:J,children:(0,EP.jsx)(rfe,{as:i,ownerState:T,className:K(b.root,n),ref:r,...x,children:a})})}),ls=ofe;var Fw=y(D());function Nz(e){return te("MuiFormControlLabel",e)}var afe=Q("MuiFormControlLabel",["root","labelPlacementStart","labelPlacementTop","labelPlacementBottom","disabled","label","error","required","asterisk"]),km=afe;var Em=y($()),nfe=e=>{let{classes:t,disabled:r,labelPlacement:o,error:a,required:n}=e,s={root:["root",r&&"disabled",`labelPlacement${Y(o)}`,a&&"error",n&&"required"],label:["label",r&&"disabled"],asterisk:["asterisk",a&&"error"]};return re(s,Nz,t)},sfe=W("label",{name:"MuiFormControlLabel",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[{[`& .${km.label}`]:t.label},t.root,t[`labelPlacement${Y(r.labelPlacement)}`]]}})(ge(({theme:e})=>({display:"inline-flex",alignItems:"center",cursor:"pointer",verticalAlign:"middle",WebkitTapHighlightColor:"transparent",marginLeft:-11,marginRight:16,[`&.${km.disabled}`]:{cursor:"default"},[`& .${km.label}`]:{[`&.${km.disabled}`]:{color:(e.vars||e).palette.text.disabled}},variants:[{props:{labelPlacement:"start"},style:{flexDirection:"row-reverse",marginRight:-11}},{props:{labelPlacement:"top"},style:{flexDirection:"column-reverse"}},{props:{labelPlacement:"bottom"},style:{flexDirection:"column"}},{props:({labelPlacement:t})=>t==="start"||t==="top"||t==="bottom",style:{marginLeft:16}}]}))),ife=W("span",{name:"MuiFormControlLabel",slot:"Asterisk",overridesResolver:(e,t)=>t.asterisk})(ge(({theme:e})=>({[`&.${km.error}`]:{color:(e.vars||e).palette.error.main}}))),lfe=Fw.forwardRef(function(t,r){var j;let o=ie({props:t,name:"MuiFormControlLabel"}),{checked:a,className:n,componentsProps:s={},control:i,disabled:p,disableTypography:l,inputRef:d,label:u,labelPlacement:f="end",name:c,onChange:h,required:g,slots:m={},slotProps:x={},value:T,...b}=o,v=Vr(),w=(j=p!=null?p:i.props.disabled)!=null?j:v==null?void 0:v.disabled,O=g!=null?g:i.props.required,k={disabled:w,required:O};["checked","name","onChange","value","inputRef"].forEach(X=>{typeof i.props[X]=="undefined"&&typeof o[X]!="undefined"&&(k[X]=o[X])});let M=Xo({props:o,muiFormControl:v,states:["error"]}),N={...o,disabled:w,labelPlacement:f,required:O,error:M.error},S=nfe(N),B={slots:m,slotProps:{...s,...x}},[G,J]=Mr("typography",{elementType:ka,externalForwardedProps:B,ownerState:N}),q=u;return q!=null&&q.type!==ka&&!l&&(q=(0,Em.jsx)(G,{component:"span",...J,className:K(S.label,J==null?void 0:J.className),children:q})),(0,Em.jsxs)(sfe,{className:K(S.root,n),ownerState:N,ref:r,...b,children:[Fw.cloneElement(i,k),O?(0,Em.jsxs)("div",{children:[q,(0,Em.jsxs)(ife,{ownerState:N,"aria-hidden":!0,className:S.asterisk,children:["\u2009","*"]})]}):q]})}),Ke=lfe;var Fz=y(D());function Iz(e){return te("MuiFormGroup",e)}var $it=Q("MuiFormGroup",["root","row","error"]);var Bz=y($()),pfe=e=>{let{classes:t,row:r,error:o}=e;return re({root:["root",r&&"row",o&&"error"]},Iz,t)},dfe=W("div",{name:"MuiFormGroup",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.row&&t.row]}})({display:"flex",flexDirection:"column",flexWrap:"wrap",variants:[{props:{row:!0},style:{flexDirection:"row"}}]}),ufe=Fz.forwardRef(function(t,r){let o=ie({props:t,name:"MuiFormGroup"}),{className:a,row:n=!1,...s}=o,i=Vr(),p=Xo({props:o,muiFormControl:i,states:["error"]}),l={...o,row:n,error:p.error},d=pfe(l);return(0,Bz.jsx)(dfe,{className:K(d.root,a),ownerState:l,ref:r,...s})}),Pm=ufe;var zz=y(D());function Lz(e){return te("MuiFormHelperText",e)}var ffe=Q("MuiFormHelperText",["root","error","disabled","sizeSmall","sizeMedium","contained","focused","filled","required"]),PP=ffe;var RP=y($()),jz,cfe=e=>{let{classes:t,contained:r,size:o,disabled:a,error:n,filled:s,focused:i,required:p}=e,l={root:["root",a&&"disabled",n&&"error",o&&`size${Y(o)}`,r&&"contained",i&&"focused",s&&"filled",p&&"required"]};return re(l,Lz,t)},mfe=W("p",{name:"MuiFormHelperText",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.size&&t[`size${Y(r.size)}`],r.contained&&t.contained,r.filled&&t.filled]}})(ge(({theme:e})=>({color:(e.vars||e).palette.text.secondary,...e.typography.caption,textAlign:"left",marginTop:3,marginRight:0,marginBottom:0,marginLeft:0,[`&.${PP.disabled}`]:{color:(e.vars||e).palette.text.disabled},[`&.${PP.error}`]:{color:(e.vars||e).palette.error.main},variants:[{props:{size:"small"},style:{marginTop:4}},{props:({ownerState:t})=>t.contained,style:{marginLeft:14,marginRight:14}}]}))),hfe=zz.forwardRef(function(t,r){let o=ie({props:t,name:"MuiFormHelperText"}),{children:a,className:n,component:s="p",disabled:i,error:p,filled:l,focused:d,margin:u,required:f,variant:c,...h}=o,g=Vr(),m=Xo({props:o,muiFormControl:g,states:["variant","size","disabled","error","filled","focused","required"]}),x={...o,component:s,contained:m.variant==="filled"||m.variant==="outlined",variant:m.variant,size:m.size,disabled:m.disabled,error:m.error,filled:m.filled,focused:m.focused,required:m.required};delete x.ownerState;let T=cfe(x);return(0,RP.jsx)(mfe,{as:s,className:K(T.root,n),ref:r,...h,ownerState:x,children:a===" "?jz||(jz=(0,RP.jsx)("span",{className:"notranslate",children:"\u200B"})):a})}),DP=hfe;var Uz=y(D());function Wz(e){return te("MuiFormLabel",e)}var xfe=Q("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]),Ap=xfe;var AP=y($()),gfe=e=>{let{classes:t,color:r,focused:o,disabled:a,error:n,filled:s,required:i}=e,p={root:["root",`color${Y(r)}`,a&&"disabled",n&&"error",s&&"filled",o&&"focused",i&&"required"],asterisk:["asterisk",n&&"error"]};return re(p,Wz,t)},yfe=W("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:({ownerState:e},t)=>({...t.root,...e.color==="secondary"&&t.colorSecondary,...e.filled&&t.filled})})(ge(({theme:e})=>({color:(e.vars||e).palette.text.secondary,...e.typography.body1,lineHeight:"1.4375em",padding:0,position:"relative",variants:[...Object.entries(e.palette).filter(vt()).map(([t])=>({props:{color:t},style:{[`&.${Ap.focused}`]:{color:(e.vars||e).palette[t].main}}})),{props:{},style:{[`&.${Ap.disabled}`]:{color:(e.vars||e).palette.text.disabled},[`&.${Ap.error}`]:{color:(e.vars||e).palette.error.main}}}]}))),vfe=W("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:(e,t)=>t.asterisk})(ge(({theme:e})=>({[`&.${Ap.error}`]:{color:(e.vars||e).palette.error.main}}))),bfe=Uz.forwardRef(function(t,r){let o=ie({props:t,name:"MuiFormLabel"}),{children:a,className:n,color:s,component:i="label",disabled:p,error:l,filled:d,focused:u,required:f,...c}=o,h=Vr(),g=Xo({props:o,muiFormControl:h,states:["color","required","focused","disabled","error","filled"]}),m={...o,color:g.color||"primary",component:i,disabled:g.disabled,error:g.error,filled:g.filled,focused:g.focused,required:g.required},x=gfe(m);return(0,AP.jsxs)(yfe,{as:i,ownerState:m,className:K(x.root,n),ref:r,...c,children:[a,g.required&&(0,AP.jsxs)(vfe,{ownerState:m,"aria-hidden":!0,className:x.asterisk,children:["\u2009","*"]})]})}),MP=bfe;var Bw=y(D());var Hz=y(D()),Tfe=Hz.createContext(),NP=Tfe;function Vz(e){return te("MuiGrid",e)}var Sfe=[0,1,2,3,4,5,6,7,8,9,10],wfe=["column-reverse","column","row-reverse","row"],_fe=["nowrap","wrap-reverse","wrap"],fy=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],Cfe=Q("MuiGrid",["root","container","item","zeroMinWidth",...Sfe.map(e=>`spacing-xs-${e}`),...wfe.map(e=>`direction-xs-${e}`),..._fe.map(e=>`wrap-xs-${e}`),...fy.map(e=>`grid-xs-${e}`),...fy.map(e=>`grid-sm-${e}`),...fy.map(e=>`grid-md-${e}`),...fy.map(e=>`grid-lg-${e}`),...fy.map(e=>`grid-xl-${e}`)]),Rm=Cfe;var IP=y($());function Ofe({theme:e,ownerState:t}){let r;return e.breakpoints.keys.reduce((o,a)=>{let n={};if(t[a]&&(r=t[a]),!r)return o;if(r===!0)n={flexBasis:0,flexGrow:1,maxWidth:"100%"};else if(r==="auto")n={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"};else{let s=Ac({values:t.columns,breakpoints:e.breakpoints.values}),i=typeof s=="object"?s[a]:s;if(i==null)return o;let p=`${Math.round(r/i*1e8)/1e6}%`,l={};if(t.container&&t.item&&t.columnSpacing!==0){let d=e.spacing(t.columnSpacing);if(d!=="0px"){let u=`calc(${p} + ${d})`;l={flexBasis:u,maxWidth:u}}}n={flexBasis:p,flexGrow:0,maxWidth:p,...l}}return e.breakpoints.values[a]===0?Object.assign(o,n):o[e.breakpoints.up(a)]=n,o},{})}function kfe({theme:e,ownerState:t}){let r=Ac({values:t.direction,breakpoints:e.breakpoints.values});return no({theme:e},r,o=>{let a={flexDirection:o};return o.startsWith("column")&&(a[`& > .${Rm.item}`]={maxWidth:"none"}),a})}function $z({breakpoints:e,values:t}){let r="";Object.keys(t).forEach(a=>{r===""&&t[a]!==0&&(r=a)});let o=Object.keys(e).sort((a,n)=>e[a]-e[n]);return o.slice(0,o.indexOf(r))}function Efe({theme:e,ownerState:t}){let{container:r,rowSpacing:o}=t,a={};if(r&&o!==0){let n=Ac({values:o,breakpoints:e.breakpoints.values}),s;typeof n=="object"&&(s=$z({breakpoints:e.breakpoints.values,values:n})),a=no({theme:e},n,(i,p)=>{let l=e.spacing(i);return l!=="0px"?{marginTop:`-${l}`,[`& > .${Rm.item}`]:{paddingTop:l}}:s!=null&&s.includes(p)?{}:{marginTop:0,[`& > .${Rm.item}`]:{paddingTop:0}}})}return a}function Pfe({theme:e,ownerState:t}){let{container:r,columnSpacing:o}=t,a={};if(r&&o!==0){let n=Ac({values:o,breakpoints:e.breakpoints.values}),s;typeof n=="object"&&(s=$z({breakpoints:e.breakpoints.values,values:n})),a=no({theme:e},n,(i,p)=>{let l=e.spacing(i);if(l!=="0px"){let d=`-${l}`;return{width:`calc(100% + ${l})`,marginLeft:d,[`& > .${Rm.item}`]:{paddingLeft:l}}}return s!=null&&s.includes(p)?{}:{width:"100%",marginLeft:0,[`& > .${Rm.item}`]:{paddingLeft:0}}})}return a}function Rfe(e,t,r={}){if(!e||e<=0)return[];if(typeof e=="string"&&!Number.isNaN(Number(e))||typeof e=="number")return[r[`spacing-xs-${String(e)}`]];let o=[];return t.forEach(a=>{let n=e[a];Number(n)>0&&o.push(r[`spacing-${a}-${String(n)}`])}),o}var Dfe=W("div",{name:"MuiGrid",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e,{container:o,direction:a,item:n,spacing:s,wrap:i,zeroMinWidth:p,breakpoints:l}=r,d=[];o&&(d=Rfe(s,l,t));let u=[];return l.forEach(f=>{let c=r[f];c&&u.push(t[`grid-${f}-${String(c)}`])}),[t.root,o&&t.container,n&&t.item,p&&t.zeroMinWidth,...d,a!=="row"&&t[`direction-xs-${String(a)}`],i!=="wrap"&&t[`wrap-xs-${String(i)}`],...u]}})(({ownerState:e})=>({boxSizing:"border-box",...e.container&&{display:"flex",flexWrap:"wrap",width:"100%"},...e.item&&{margin:0},...e.zeroMinWidth&&{minWidth:0},...e.wrap!=="wrap"&&{flexWrap:e.wrap}}),kfe,Efe,Pfe,Ofe);function Afe(e,t){if(!e||e<=0)return[];if(typeof e=="string"&&!Number.isNaN(Number(e))||typeof e=="number")return[`spacing-xs-${String(e)}`];let r=[];return t.forEach(o=>{let a=e[o];if(Number(a)>0){let n=`spacing-${o}-${String(a)}`;r.push(n)}}),r}var Mfe=e=>{let{classes:t,container:r,direction:o,item:a,spacing:n,wrap:s,zeroMinWidth:i,breakpoints:p}=e,l=[];r&&(l=Afe(n,p));let d=[];p.forEach(f=>{let c=e[f];c&&d.push(`grid-${f}-${String(c)}`)});let u={root:["root",r&&"container",a&&"item",i&&"zeroMinWidth",...l,o!=="row"&&`direction-xs-${String(o)}`,s!=="wrap"&&`wrap-xs-${String(s)}`,...d]};return re(u,Vz,t)},Nfe=Bw.forwardRef(function(t,r){let o=ie({props:t,name:"MuiGrid"}),{breakpoints:a}=Zr(),n=gi(o),{className:s,columns:i,columnSpacing:p,component:l="div",container:d=!1,direction:u="row",item:f=!1,rowSpacing:c,spacing:h=0,wrap:g="wrap",zeroMinWidth:m=!1,...x}=n,T=c||h,b=p||h,v=Bw.useContext(NP),w=d?i||12:v,O={},k={...x};a.keys.forEach(S=>{x[S]!=null&&(O[S]=x[S],delete k[S])});let M={...n,columns:w,container:d,direction:u,item:f,rowSpacing:T,columnSpacing:b,wrap:g,zeroMinWidth:m,spacing:h,...O,breakpoints:a.keys},N=Mfe(M);return(0,IP.jsx)(NP.Provider,{value:w,children:(0,IP.jsx)(Dfe,{ownerState:M,className:K(N.root,s),as:l,ref:r,...k})})}),zt=Nfe;var Ife=oS({createStyledComponent:W("div",{name:"MuiGrid2",slot:"Root",overridesResolver:(e,t)=>t.root}),componentName:"MuiGrid2",useThemeProps:e=>ie({props:e,name:"MuiGrid2"})}),en=Ife;var Zu=y(D());var Gz=y($());function BP(e){return`scale(${e}, ${e**2})`}var Ffe={entering:{opacity:1,transform:BP(1)},entered:{opacity:1,transform:"none"}},FP=typeof navigator!="undefined"&&/^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent)&&/(os |version\/)15(.|_)4/i.test(navigator.userAgent),LP=Zu.forwardRef(function(t,r){let{addEndListener:o,appear:a=!0,children:n,easing:s,in:i,onEnter:p,onEntered:l,onEntering:d,onExit:u,onExited:f,onExiting:c,style:h,timeout:g="auto",TransitionComponent:m=Gg,...x}=t,T=Ka(),b=Zu.useRef(),v=Zr(),w=Zu.useRef(null),O=Qt(w,Go(n),r),k=j=>X=>{if(j){let le=w.current;X===void 0?j(le):j(le,X)}},M=k(d),N=k((j,X)=>{nw(j);let{duration:le,delay:ae,easing:de}=um({style:h,timeout:g,easing:s},{mode:"enter"}),Be;g==="auto"?(Be=v.transitions.getAutoHeightDuration(j.clientHeight),b.current=Be):Be=le,j.style.transition=[v.transitions.create("opacity",{duration:Be,delay:ae}),v.transitions.create("transform",{duration:FP?Be:Be*.666,delay:ae,easing:de})].join(","),p&&p(j,X)}),S=k(l),B=k(c),G=k(j=>{let{duration:X,delay:le,easing:ae}=um({style:h,timeout:g,easing:s},{mode:"exit"}),de;g==="auto"?(de=v.transitions.getAutoHeightDuration(j.clientHeight),b.current=de):de=X,j.style.transition=[v.transitions.create("opacity",{duration:de,delay:le}),v.transitions.create("transform",{duration:FP?de:de*.666,delay:FP?le:le||de*.333,easing:ae})].join(","),j.style.opacity=0,j.style.transform=BP(.75),u&&u(j)}),J=k(f);return(0,Gz.jsx)(m,{appear:a,in:i,nodeRef:w,onEnter:N,onEntered:S,onEntering:M,onExit:G,onExited:J,onExiting:B,addEndListener:j=>{g==="auto"&&T.start(b.current||0,j),o&&o(w.current,j)},timeout:g==="auto"?null:g,...x,children:(j,X)=>Zu.cloneElement(n,{style:{opacity:0,transform:BP(.75),visibility:j==="exited"&&!i?"hidden":void 0,...Ffe[j],...h,...n.props.style},ref:O,...X})})});LP&&(LP.muiSupportAuto=!0);var Qu=LP;var Bfe=hk({themeId:Xr}),jP=Bfe;var qz=y(D());var Kz=y($()),Lfe=e=>{let{classes:t,disableUnderline:r}=e,a=re({root:["root",!r&&"underline"],input:["input"]},k4,t);return{...t,...a}},jfe=W(Ku,{shouldForwardProp:e=>bt(e)||e==="classes",name:"MuiInput",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[...Gu(e,t),!r.disableUnderline&&t.underline]}})(ge(({theme:e})=>{let r=e.palette.mode==="light"?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)";return e.vars&&(r=`rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})`),{position:"relative",variants:[{props:({ownerState:o})=>o.formControl,style:{"label + &":{marginTop:16}}},{props:({ownerState:o})=>!o.disableUnderline,style:{"&::after":{left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${ym.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${ym.error}`]:{"&::before, &::after":{borderBottomColor:(e.vars||e).palette.error.main}},"&::before":{borderBottom:`1px solid ${r}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:e.transitions.create("border-bottom-color",{duration:e.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${ym.disabled}, .${ym.error}):before`]:{borderBottom:`2px solid ${(e.vars||e).palette.text.primary}`,"@media (hover: none)":{borderBottom:`1px solid ${r}`}},[`&.${ym.disabled}:before`]:{borderBottomStyle:"dotted"}}},...Object.entries(e.palette).filter(vt()).map(([o])=>({props:{color:o,disableUnderline:!1},style:{"&::after":{borderBottom:`2px solid ${(e.vars||e).palette[o].main}`}}}))]}})),zfe=W(Ju,{name:"MuiInput",slot:"Input",overridesResolver:qu})({}),zP=qz.forwardRef(function(t,r){var v,w,O,k;let o=ie({props:t,name:"MuiInput"}),{disableUnderline:a=!1,components:n={},componentsProps:s,fullWidth:i=!1,inputComponent:p="input",multiline:l=!1,slotProps:d,slots:u={},type:f="text",...c}=o,h=Lfe(o),m={root:{ownerState:{disableUnderline:a}}},x=(d!=null?d:s)?Xt(d!=null?d:s,m):m,T=(w=(v=u.root)!=null?v:n.Root)!=null?w:jfe,b=(k=(O=u.input)!=null?O:n.Input)!=null?k:zfe;return(0,Kz.jsx)(Xu,{slots:{root:T,input:b},slotProps:x,fullWidth:i,inputComponent:p,multiline:l,ref:r,type:f,...c,classes:h})});zP&&(zP.muiName="Input");var Zo=zP;var Xz=y(D());function Jz(e){return te("MuiInputLabel",e)}var Lpt=Q("MuiInputLabel",["root","focused","disabled","error","required","asterisk","formControl","sizeSmall","shrink","animated","standard","filled","outlined"]);var Yz=y($()),Wfe=e=>{let{classes:t,formControl:r,size:o,shrink:a,disableAnimation:n,variant:s,required:i}=e,p={root:["root",r&&"formControl",!n&&"animated",a&&"shrink",o&&o!=="normal"&&`size${Y(o)}`,s],asterisk:[i&&"asterisk"]},l=re(p,Jz,t);return{...t,...l}},Ufe=W(MP,{shouldForwardProp:e=>bt(e)||e==="classes",name:"MuiInputLabel",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[{[`& .${Ap.asterisk}`]:t.asterisk},t.root,r.formControl&&t.formControl,r.size==="small"&&t.sizeSmall,r.shrink&&t.shrink,!r.disableAnimation&&t.animated,r.focused&&t.focused,t[r.variant]]}})(ge(({theme:e})=>({display:"block",transformOrigin:"top left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%",variants:[{props:({ownerState:t})=>t.formControl,style:{position:"absolute",left:0,top:0,transform:"translate(0, 20px) scale(1)"}},{props:{size:"small"},style:{transform:"translate(0, 17px) scale(1)"}},{props:({ownerState:t})=>t.shrink,style:{transform:"translate(0, -1.5px) scale(0.75)",transformOrigin:"top left",maxWidth:"133%"}},{props:({ownerState:t})=>!t.disableAnimation,style:{transition:e.transitions.create(["color","transform","max-width"],{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut})}},{props:{variant:"filled"},style:{zIndex:1,pointerEvents:"none",transform:"translate(12px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"}},{props:{variant:"filled",size:"small"},style:{transform:"translate(12px, 13px) scale(1)"}},{props:({variant:t,ownerState:r})=>t==="filled"&&r.shrink,style:{userSelect:"none",pointerEvents:"auto",transform:"translate(12px, 7px) scale(0.75)",maxWidth:"calc(133% - 24px)"}},{props:({variant:t,ownerState:r,size:o})=>t==="filled"&&r.shrink&&o==="small",style:{transform:"translate(12px, 4px) scale(0.75)"}},{props:{variant:"outlined"},style:{zIndex:1,pointerEvents:"none",transform:"translate(14px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"}},{props:{variant:"outlined",size:"small"},style:{transform:"translate(14px, 9px) scale(1)"}},{props:({variant:t,ownerState:r})=>t==="outlined"&&r.shrink,style:{userSelect:"none",pointerEvents:"auto",maxWidth:"calc(133% - 32px)",transform:"translate(14px, -9px) scale(0.75)"}}]}))),Hfe=Xz.forwardRef(function(t,r){let o=ie({name:"MuiInputLabel",props:t}),{disableAnimation:a=!1,margin:n,shrink:s,variant:i,className:p,...l}=o,d=Vr(),u=s;typeof u=="undefined"&&d&&(u=d.filled||d.focused||d.adornedStart);let f=Xo({props:o,muiFormControl:d,states:["size","variant","required","focused"]}),c={...o,disableAnimation:a,formControl:d,shrink:u,size:f.size,variant:f.variant,required:f.required,focused:f.focused},h=Wfe(c);return(0,Yz.jsx)(Ufe,{"data-shrink":u,ref:r,className:K(h.root,p),...l,ownerState:c,classes:h})}),Mp=Hfe;var Qz=y(D());function Zz(e){return te("MuiLinearProgress",e)}var odt=Q("MuiLinearProgress",["root","colorPrimary","colorSecondary","determinate","indeterminate","buffer","query","dashed","dashedColorPrimary","dashedColorSecondary","bar","barColorPrimary","barColorSecondary","bar1Indeterminate","bar1Determinate","bar1Buffer","bar2Indeterminate","bar2Buffer"]);var Dm=y($()),WP=4,UP=Ta` 0% { left: -35%; right: 100%; @@ -146,9 +173,9 @@ Url: ${K_(e)}`),!0)}function Rve(e,t){return e.type||!t||!t.length?!1:Nve(e).som left: 100%; right: -90%; } -`,yCe=typeof zM!="string"?Ln` - animation: ${zM} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; - `:null,WM=Da` +`,Vfe=typeof UP!="string"?Gn` + animation: ${UP} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; + `:null,HP=Ta` 0% { left: -200%; right: 100%; @@ -163,9 +190,9 @@ Url: ${K_(e)}`),!0)}function Rve(e,t){return e.type||!t||!t.length?!1:Nve(e).som left: 107%; right: -8%; } -`,bCe=typeof WM!="string"?Ln` - animation: ${WM} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite; - `:null,UM=Da` +`,$fe=typeof HP!="string"?Gn` + animation: ${HP} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite; + `:null,VP=Ta` 0% { opacity: 1; background-position: 0 -23px; @@ -180,16 +207,17 @@ Url: ${K_(e)}`),!0)}function Rve(e,t){return e.type||!t||!t.length?!1:Nve(e).som opacity: 1; background-position: -200px -23px; } -`,vCe=typeof UM!="string"?Ln` - animation: ${UM} 3s infinite linear; - `:null,TCe=e=>{let{classes:t,variant:r,color:o}=e,a={root:["root",`color${ae(o)}`,r],dashed:["dashed",`dashedColor${ae(o)}`],bar1:["bar",`barColor${ae(o)}`,(r==="indeterminate"||r==="query")&&"bar1Indeterminate",r==="determinate"&&"bar1Determinate",r==="buffer"&&"bar1Buffer"],bar2:["bar",r!=="buffer"&&`barColor${ae(o)}`,r==="buffer"&&`color${ae(o)}`,(r==="indeterminate"||r==="query")&&"bar2Indeterminate",r==="buffer"&&"bar2Buffer"]};return fe(a,w$,t)},VM=(e,t)=>e.vars?e.vars.palette.LinearProgress[`${t}Bg`]:e.palette.mode==="light"?Zl(e.palette[t].main,.62):Yl(e.palette[t].main,.5),SCe=X("span",{name:"MuiLinearProgress",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[`color${ae(r.color)}`],t[r.variant]]}})(be(({theme:e})=>({position:"relative",overflow:"hidden",display:"block",height:4,zIndex:0,"@media print":{colorAdjust:"exact"},variants:[...Object.entries(e.palette).filter(Ot()).map(([t])=>({props:{color:t},style:{backgroundColor:VM(e,t)}})),{props:({ownerState:t})=>t.color==="inherit"&&t.variant!=="buffer",style:{"&::before":{content:'""',position:"absolute",left:0,top:0,right:0,bottom:0,backgroundColor:"currentColor",opacity:.3}}},{props:{variant:"buffer"},style:{backgroundColor:"transparent"}},{props:{variant:"query"},style:{transform:"rotate(180deg)"}}]}))),wCe=X("span",{name:"MuiLinearProgress",slot:"Dashed",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.dashed,t[`dashedColor${ae(r.color)}`]]}})(be(({theme:e})=>({position:"absolute",marginTop:0,height:"100%",width:"100%",backgroundSize:"10px 10px",backgroundPosition:"0 -23px",variants:[{props:{color:"inherit"},style:{opacity:.3,backgroundImage:"radial-gradient(currentColor 0%, currentColor 16%, transparent 42%)"}},...Object.entries(e.palette).filter(Ot()).map(([t])=>{let r=VM(e,t);return{props:{color:t},style:{backgroundImage:`radial-gradient(${r} 0%, ${r} 16%, transparent 42%)`}}})]})),vCe||{animation:`${UM} 3s infinite linear`}),_Ce=X("span",{name:"MuiLinearProgress",slot:"Bar1",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.bar,t[`barColor${ae(r.color)}`],(r.variant==="indeterminate"||r.variant==="query")&&t.bar1Indeterminate,r.variant==="determinate"&&t.bar1Determinate,r.variant==="buffer"&&t.bar1Buffer]}})(be(({theme:e})=>({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",variants:[{props:{color:"inherit"},style:{backgroundColor:"currentColor"}},...Object.entries(e.palette).filter(Ot()).map(([t])=>({props:{color:t},style:{backgroundColor:(e.vars||e).palette[t].main}})),{props:{variant:"determinate"},style:{transition:`transform .${LM}s linear`}},{props:{variant:"buffer"},style:{zIndex:1,transition:`transform .${LM}s linear`}},{props:({ownerState:t})=>t.variant==="indeterminate"||t.variant==="query",style:{width:"auto"}},{props:({ownerState:t})=>t.variant==="indeterminate"||t.variant==="query",style:yCe||{animation:`${zM} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite`}}]}))),CCe=X("span",{name:"MuiLinearProgress",slot:"Bar2",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.bar,t[`barColor${ae(r.color)}`],(r.variant==="indeterminate"||r.variant==="query")&&t.bar2Indeterminate,r.variant==="buffer"&&t.bar2Buffer]}})(be(({theme:e})=>({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",variants:[...Object.entries(e.palette).filter(Ot()).map(([t])=>({props:{color:t},style:{"--LinearProgressBar2-barColor":(e.vars||e).palette[t].main}})),{props:({ownerState:t})=>t.variant!=="buffer"&&t.color!=="inherit",style:{backgroundColor:"var(--LinearProgressBar2-barColor, currentColor)"}},{props:({ownerState:t})=>t.variant!=="buffer"&&t.color==="inherit",style:{backgroundColor:"currentColor"}},{props:{color:"inherit"},style:{opacity:.3}},...Object.entries(e.palette).filter(Ot()).map(([t])=>({props:{color:t,variant:"buffer"},style:{backgroundColor:VM(e,t),transition:`transform .${LM}s linear`}})),{props:({ownerState:t})=>t.variant==="indeterminate"||t.variant==="query",style:{width:"auto"}},{props:({ownerState:t})=>t.variant==="indeterminate"||t.variant==="query",style:bCe||{animation:`${WM} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite`}}]}))),OCe=_$.forwardRef(function(t,r){let o=ce({props:t,name:"MuiLinearProgress"}),{className:a,color:n="primary",value:s,valueBuffer:i,variant:p="indeterminate",...l}=o,d={...o,color:n,variant:p},u=TCe(d),f=Rs(),c={},m={bar1:{},bar2:{}};if((p==="determinate"||p==="buffer")&&s!==void 0){c["aria-valuenow"]=Math.round(s),c["aria-valuemin"]=0,c["aria-valuemax"]=100;let g=s-100;f&&(g=-g),m.bar1.transform=`translateX(${g}%)`}if(p==="buffer"&&i!==void 0){let g=(i||0)-100;f&&(g=-g),m.bar2.transform=`translateX(${g}%)`}return(0,xx.jsxs)(SCe,{className:z(u.root,a),ownerState:d,role:"progressbar",...c,ref:r,...l,children:[p==="buffer"?(0,xx.jsx)(wCe,{className:u.dashed,ownerState:d}):null,(0,xx.jsx)(_Ce,{className:u.bar1,ownerState:d,style:m.bar1}),p==="determinate"?null:(0,xx.jsx)(CCe,{className:u.bar2,ownerState:d,style:m.bar2})]})}),GC=OCe;var qC=y(P());var C$=y(P()),kCe=C$.createContext({}),ia=kCe;function O$(e){return de("MuiList",e)}var pPt=pe("MuiList",["root","padding","dense","subheader"]);var KC=y(U()),ECe=e=>{let{classes:t,disablePadding:r,dense:o,subheader:a}=e;return fe({root:["root",!r&&"padding",o&&"dense",a&&"subheader"]},O$,t)},PCe=X("ul",{name:"MuiList",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,!r.disablePadding&&t.padding,r.dense&&t.dense,r.subheader&&t.subheader]}})({listStyle:"none",margin:0,padding:0,position:"relative",variants:[{props:({ownerState:e})=>!e.disablePadding,style:{paddingTop:8,paddingBottom:8}},{props:({ownerState:e})=>e.subheader,style:{paddingTop:0}}]}),RCe=qC.forwardRef(function(t,r){let o=ce({props:t,name:"MuiList"}),{children:a,className:n,component:s="ul",dense:i=!1,disablePadding:p=!1,subheader:l,...d}=o,u=qC.useMemo(()=>({dense:i}),[i]),f={...o,component:s,dense:i,disablePadding:p},c=ECe(f);return(0,KC.jsx)(ia.Provider,{value:u,children:(0,KC.jsxs)(PCe,{as:s,className:z(c.root,n),ref:r,ownerState:f,...d,children:[l,a]})})}),bc=RCe;var ul=y(P());function k$(e){return de("MuiListItem",e)}var wPt=pe("MuiListItem",["root","container","dense","alignItemsFlexStart","divider","gutters","padding","secondaryAction"]);var Ad=y(P());function E$(e){return de("MuiListItemButton",e)}var DCe=pe("MuiListItemButton",["root","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","selected"]),mp=DCe;var HM=y(U()),ACe=(e,t)=>{let{ownerState:r}=e;return[t.root,r.dense&&t.dense,r.alignItems==="flex-start"&&t.alignItemsFlexStart,r.divider&&t.divider,!r.disableGutters&&t.gutters]},MCe=e=>{let{alignItems:t,classes:r,dense:o,disabled:a,disableGutters:n,divider:s,selected:i}=e,l=fe({root:["root",o&&"dense",!n&&"gutters",s&&"divider",a&&"disabled",t==="flex-start"&&"alignItemsFlexStart",i&&"selected"]},E$,r);return{...r,...l}},NCe=X(Go,{shouldForwardProp:e=>kt(e)||e==="classes",name:"MuiListItemButton",slot:"Root",overridesResolver:ACe})(be(({theme:e})=>({display:"flex",flexGrow:1,justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minWidth:0,boxSizing:"border-box",textAlign:"left",paddingTop:8,paddingBottom:8,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${mp.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:St(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${mp.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:St(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${mp.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:St(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:St(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${mp.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${mp.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},variants:[{props:({ownerState:t})=>t.divider,style:{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"}},{props:{alignItems:"flex-start"},style:{alignItems:"flex-start"}},{props:({ownerState:t})=>!t.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:t})=>t.dense,style:{paddingTop:4,paddingBottom:4}}]}))),ICe=Ad.forwardRef(function(t,r){let o=ce({props:t,name:"MuiListItemButton"}),{alignItems:a="center",autoFocus:n=!1,component:s="div",children:i,dense:p=!1,disableGutters:l=!1,divider:d=!1,focusVisibleClassName:u,selected:f=!1,className:c,...m}=o,g=Ad.useContext(ia),h=Ad.useMemo(()=>({dense:p||g.dense||!1,alignItems:a,disableGutters:l}),[a,g.dense,p,l]),x=Ad.useRef(null);mi(()=>{n&&x.current&&x.current.focus()},[n]);let T={...o,alignItems:a,dense:h.dense,disableGutters:l,divider:d,selected:f},v=MCe(T),b=fr(x,r);return(0,HM.jsx)(ia.Provider,{value:h,children:(0,HM.jsx)(NCe,{ref:b,href:m.href||m.to,component:(m.href||m.to)&&s==="div"?"button":s,focusVisibleClassName:z(v.focusVisible,u),ownerState:T,className:z(v.root,c),...m,classes:v,children:i})})}),Cv=ICe;var XC=y(P());function P$(e){return de("MuiListItemSecondaryAction",e)}var qPt=pe("MuiListItemSecondaryAction",["root","disableGutters"]);var R$=y(U()),FCe=e=>{let{disableGutters:t,classes:r}=e;return fe({root:["root",t&&"disableGutters"]},P$,r)},BCe=X("div",{name:"MuiListItemSecondaryAction",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.disableGutters&&t.disableGutters]}})({position:"absolute",right:16,top:"50%",transform:"translateY(-50%)",variants:[{props:({ownerState:e})=>e.disableGutters,style:{right:0}}]}),D$=XC.forwardRef(function(t,r){let o=ce({props:t,name:"MuiListItemSecondaryAction"}),{className:a,...n}=o,s=XC.useContext(ia),i={...o,disableGutters:s.disableGutters},p=FCe(i);return(0,R$.jsx)(BCe,{className:z(p.root,a),ownerState:i,ref:r,...n})});D$.muiName="ListItemSecondaryAction";var $M=D$;var Md=y(U()),jCe=(e,t)=>{let{ownerState:r}=e;return[t.root,r.dense&&t.dense,r.alignItems==="flex-start"&&t.alignItemsFlexStart,r.divider&&t.divider,!r.disableGutters&&t.gutters,!r.disablePadding&&t.padding,r.hasSecondaryAction&&t.secondaryAction]},LCe=e=>{let{alignItems:t,classes:r,dense:o,disableGutters:a,disablePadding:n,divider:s,hasSecondaryAction:i}=e;return fe({root:["root",o&&"dense",!a&&"gutters",!n&&"padding",s&&"divider",t==="flex-start"&&"alignItemsFlexStart",i&&"secondaryAction"],container:["container"]},k$,r)},zCe=X("div",{name:"MuiListItem",slot:"Root",overridesResolver:jCe})(be(({theme:e})=>({display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",width:"100%",boxSizing:"border-box",textAlign:"left",variants:[{props:({ownerState:t})=>!t.disablePadding,style:{paddingTop:8,paddingBottom:8}},{props:({ownerState:t})=>!t.disablePadding&&t.dense,style:{paddingTop:4,paddingBottom:4}},{props:({ownerState:t})=>!t.disablePadding&&!t.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:t})=>!t.disablePadding&&!!t.secondaryAction,style:{paddingRight:48}},{props:({ownerState:t})=>!!t.secondaryAction,style:{[`& > .${mp.root}`]:{paddingRight:48}}},{props:{alignItems:"flex-start"},style:{alignItems:"flex-start"}},{props:({ownerState:t})=>t.divider,style:{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"}},{props:({ownerState:t})=>t.button,style:{transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}}},{props:({ownerState:t})=>t.hasSecondaryAction,style:{paddingRight:48}}]}))),WCe=X("li",{name:"MuiListItem",slot:"Container",overridesResolver:(e,t)=>t.container})({position:"relative"}),UCe=ul.forwardRef(function(t,r){let o=ce({props:t,name:"MuiListItem"}),{alignItems:a="center",children:n,className:s,component:i,components:p={},componentsProps:l={},ContainerComponent:d="li",ContainerProps:{className:u,...f}={},dense:c=!1,disableGutters:m=!1,disablePadding:g=!1,divider:h=!1,secondaryAction:x,slotProps:T={},slots:v={},...b}=o,w=ul.useContext(ia),O=ul.useMemo(()=>({dense:c||w.dense||!1,alignItems:a,disableGutters:m}),[a,w.dense,c,m]),k=ul.useRef(null),M=ul.Children.toArray(n),N=M.length&&qh(M[M.length-1],["ListItemSecondaryAction"]),S={...o,alignItems:a,dense:O.dense,disableGutters:m,disablePadding:g,divider:h,hasSecondaryAction:N},B=LCe(S),$=fr(k,r),K=v.root||p.Root||zCe,G=T.root||l.root||{},L={className:z(B.root,G.className,s),...b},Y=i||"li";return N?(Y=!L.component&&!i?"div":Y,d==="li"&&(Y==="li"?Y="div":L.component==="li"&&(L.component="div")),(0,Md.jsx)(ia.Provider,{value:O,children:(0,Md.jsxs)(WCe,{as:d,className:z(B.container,u),ref:$,ownerState:S,...f,children:[(0,Md.jsx)(K,{...G,...!kd(K)&&{as:Y,ownerState:{...S,...G.ownerState}},...L,children:M}),M.pop()]})})):(0,Md.jsx)(ia.Provider,{value:O,children:(0,Md.jsxs)(K,{...G,as:Y,ref:$,...!kd(K)&&{ownerState:{...S,...G.ownerState}},...L,children:[M,x&&(0,Md.jsx)($M,{children:x})]})})}),JC=UCe;var ZC=y(P());function A$(e){return de("MuiListItemIcon",e)}var VCe=pe("MuiListItemIcon",["root","alignItemsFlexStart"]),YC=VCe;var M$=y(U()),HCe=e=>{let{alignItems:t,classes:r}=e;return fe({root:["root",t==="flex-start"&&"alignItemsFlexStart"]},A$,r)},$Ce=X("div",{name:"MuiListItemIcon",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.alignItems==="flex-start"&&t.alignItemsFlexStart]}})(be(({theme:e})=>({minWidth:56,color:(e.vars||e).palette.action.active,flexShrink:0,display:"inline-flex",variants:[{props:{alignItems:"flex-start"},style:{marginTop:8}}]}))),GCe=ZC.forwardRef(function(t,r){let o=ce({props:t,name:"MuiListItemIcon"}),{className:a,...n}=o,s=ZC.useContext(ia),i={...o,alignItems:s.alignItems},p=HCe(i);return(0,M$.jsx)($Ce,{className:z(p.root,a),ownerState:i,ref:r,...n})}),fl=GCe;var QC=y(P());function N$(e){return de("MuiListItemText",e)}var qCe=pe("MuiListItemText",["root","multiline","dense","inset","primary","secondary"]),hp=qCe;var Ov=y(U()),KCe=e=>{let{classes:t,inset:r,primary:o,secondary:a,dense:n}=e;return fe({root:["root",r&&"inset",n&&"dense",o&&a&&"multiline"],primary:["primary"],secondary:["secondary"]},N$,t)},XCe=X("div",{name:"MuiListItemText",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[{[`& .${hp.primary}`]:t.primary},{[`& .${hp.secondary}`]:t.secondary},t.root,r.inset&&t.inset,r.primary&&r.secondary&&t.multiline,r.dense&&t.dense]}})({flex:"1 1 auto",minWidth:0,marginTop:4,marginBottom:4,[`.${TC.root}:where(& .${hp.primary})`]:{display:"block"},[`.${TC.root}:where(& .${hp.secondary})`]:{display:"block"},variants:[{props:({ownerState:e})=>e.primary&&e.secondary,style:{marginTop:6,marginBottom:6}},{props:({ownerState:e})=>e.inset,style:{paddingLeft:56}}]}),JCe=QC.forwardRef(function(t,r){let o=ce({props:t,name:"MuiListItemText"}),{children:a,className:n,disableTypography:s=!1,inset:i=!1,primary:p,primaryTypographyProps:l,secondary:d,secondaryTypographyProps:u,...f}=o,{dense:c}=QC.useContext(ia),m=p!=null?p:a,g=d,h={...o,disableTypography:s,inset:i,primary:!!m,secondary:!!g,dense:c},x=KCe(h);return m!=null&&m.type!==Za&&!s&&(m=(0,Ov.jsx)(Za,{variant:c?"body2":"body1",className:x.primary,component:l!=null&&l.variant?void 0:"span",...l,children:m})),g!=null&&g.type!==Za&&!s&&(g=(0,Ov.jsx)(Za,{variant:"body2",className:x.secondary,color:"textSecondary",...u,children:g})),(0,Ov.jsxs)(XCe,{className:z(x.root,n),ownerState:h,ref:r,...f,children:[m,g]})}),Us=JCe;var Nd=y(P()),BDt=y(cd());var kn=y(P()),QRt=y(cd());var I$=If;var B$=y(U());function GM(e,t,r){return e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:r?null:e.firstChild}function F$(e,t,r){return e===t?r?e.firstChild:e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:r?null:e.lastChild}function j$(e,t){if(t===void 0)return!0;let r=e.innerText;return r===void 0&&(r=e.textContent),r=r.trim().toLowerCase(),r.length===0?!1:t.repeating?r[0]===t.keys[0]:r.startsWith(t.keys.join(""))}function kv(e,t,r,o,a,n){let s=!1,i=a(e,t,t?r:!1);for(;i;){if(i===e.firstChild){if(s)return!1;s=!0}let p=o?!1:i.disabled||i.getAttribute("aria-disabled")==="true";if(!i.hasAttribute("tabindex")||!j$(i,n)||p)i=a(e,i,r);else return i.focus(),!0}return!1}var YCe=kn.forwardRef(function(t,r){let{actions:o,autoFocus:a=!1,autoFocusItem:n=!1,children:s,className:i,disabledItemsFocusable:p=!1,disableListWrap:l=!1,onKeyDown:d,variant:u="selectedMenu",...f}=t,c=kn.useRef(null),m=kn.useRef({keys:[],repeating:!0,previousKeyMatched:!0,lastTime:null});mi(()=>{a&&c.current.focus()},[a]),kn.useImperativeHandle(o,()=>({adjustStyleForScrollbar:(v,{direction:b})=>{let w=!c.current.style.width;if(v.clientHeight{let b=c.current,w=v.key;if(v.ctrlKey||v.metaKey||v.altKey){d&&d(v);return}let k=lp(b).activeElement;if(w==="ArrowDown")v.preventDefault(),kv(b,k,l,p,GM);else if(w==="ArrowUp")v.preventDefault(),kv(b,k,l,p,F$);else if(w==="Home")v.preventDefault(),kv(b,null,l,p,GM);else if(w==="End")v.preventDefault(),kv(b,null,l,p,F$);else if(w.length===1){let M=m.current,N=w.toLowerCase(),S=performance.now();M.keys.length>0&&(S-M.lastTime>500?(M.keys=[],M.repeating=!0,M.previousKeyMatched=!0):M.repeating&&N!==M.keys[0]&&(M.repeating=!1)),M.lastTime=S,M.keys.push(N);let B=k&&!M.repeating&&j$(k,M);M.previousKeyMatched&&(B||kv(b,k,!1,p,GM,M))?v.preventDefault():M.previousKeyMatched=!1}d&&d(v)},h=fr(c,r),x=-1;kn.Children.forEach(s,(v,b)=>{if(!kn.isValidElement(v)){x===b&&(x+=1,x>=s.length&&(x=-1));return}v.props.disabled||(u==="selectedMenu"&&v.props.selected||x===-1)&&(x=b),x===b&&(v.props.disabled||v.props.muiSkipListHighlight||v.type.muiSkipListHighlight)&&(x+=1,x>=s.length&&(x=-1))});let T=kn.Children.map(s,(v,b)=>{if(b===x){let w={};return n&&(w.autoFocus=!0),v.props.tabIndex===void 0&&u==="selectedMenu"&&(w.tabIndex=0),kn.cloneElement(v,w)}return v});return(0,B$.jsx)(bc,{role:"menu",ref:h,className:i,onKeyDown:g,tabIndex:a?0:-1,...f,children:T})}),qM=YCe;var Ta=y(P());function L$(e){return de("MuiPopover",e)}var fDt=pe("MuiPopover",["root","paper"]);var eO=y(U());function z$(e,t){let r=0;return typeof t=="number"?r=t:t==="center"?r=e.height/2:t==="bottom"&&(r=e.height),r}function W$(e,t){let r=0;return typeof t=="number"?r=t:t==="center"?r=e.width/2:t==="right"&&(r=e.width),r}function U$(e){return[e.horizontal,e.vertical].map(t=>typeof t=="number"?`${t}px`:t).join(" ")}function KM(e){return typeof e=="function"?e():e}var ZCe=e=>{let{classes:t}=e;return fe({root:["root"],paper:["paper"]},L$,t)},QCe=X(wv,{name:"MuiPopover",slot:"Root",overridesResolver:(e,t)=>t.root})({}),XM=X(Ya,{name:"MuiPopover",slot:"Paper",overridesResolver:(e,t)=>t.paper})({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:16,minHeight:16,maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0}),eOe=Ta.forwardRef(function(t,r){var ct;let o=ce({props:t,name:"MuiPopover"}),{action:a,anchorEl:n,anchorOrigin:s={vertical:"top",horizontal:"left"},anchorPosition:i,anchorReference:p="anchorEl",children:l,className:d,container:u,elevation:f=8,marginThreshold:c=16,open:m,PaperProps:g={},slots:h={},slotProps:x={},transformOrigin:T={vertical:"top",horizontal:"left"},TransitionComponent:v=yc,transitionDuration:b="auto",TransitionProps:{onEntering:w,...O}={},disableScrollLock:k=!1,...M}=o,N=(ct=x==null?void 0:x.paper)!=null?ct:g,S=Ta.useRef(),B={...o,anchorOrigin:s,anchorReference:p,elevation:f,marginThreshold:c,externalPaperSlotProps:N,transformOrigin:T,TransitionComponent:v,transitionDuration:b,TransitionProps:O},$=ZCe(B),K=Ta.useCallback(()=>{if(p==="anchorPosition")return i;let We=KM(n),tt=(We&&We.nodeType===1?We:lp(S.current).body).getBoundingClientRect();return{top:tt.top+z$(tt,s.vertical),left:tt.left+W$(tt,s.horizontal)}},[n,s.horizontal,s.vertical,i,p]),G=Ta.useCallback(We=>({vertical:z$(We,T.vertical),horizontal:W$(We,T.horizontal)}),[T.horizontal,T.vertical]),L=Ta.useCallback(We=>{let Ne={width:We.offsetWidth,height:We.offsetHeight},tt=G(Ne);if(p==="none")return{top:null,left:null,transformOrigin:U$(tt)};let Xe=K(),rt=Xe.top-tt.vertical,ue=Xe.left-tt.horizontal,Ce=rt+Ne.height,He=ue+Ne.width,Ke=ll(KM(n)),ot=Ke.innerHeight-c,yt=Ke.innerWidth-c;if(c!==null&&rtot){let bt=Ce-ot;rt-=bt,tt.vertical+=bt}if(c!==null&&ueyt){let bt=He-yt;ue-=bt,tt.horizontal+=bt}return{top:`${Math.round(rt)}px`,left:`${Math.round(ue)}px`,transformOrigin:U$(tt)}},[n,p,K,G,c]),[Y,oe]=Ta.useState(m),ee=Ta.useCallback(()=>{let We=S.current;if(!We)return;let Ne=L(We);Ne.top!==null&&We.style.setProperty("top",Ne.top),Ne.left!==null&&(We.style.left=Ne.left),We.style.transformOrigin=Ne.transformOrigin,oe(!0)},[L]);Ta.useEffect(()=>(k&&window.addEventListener("scroll",ee),()=>window.removeEventListener("scroll",ee)),[n,k,ee]);let se=(We,Ne)=>{w&&w(We,Ne),ee()},Ae=()=>{oe(!1)};Ta.useEffect(()=>{m&&ee()}),Ta.useImperativeHandle(a,()=>m?{updatePosition:()=>{ee()}}:null,[m,ee]),Ta.useEffect(()=>{if(!m)return;let We=Gh(()=>{ee()}),Ne=ll(n);return Ne.addEventListener("resize",We),()=>{We.clear(),Ne.removeEventListener("resize",We)}},[n,m,ee]);let Me=b;b==="auto"&&!v.muiSupportAuto&&(Me=void 0);let Ge=u||(n?lp(KM(n)).body:void 0),Le={slots:h,slotProps:{...x,paper:N}},[ke,Ve]=Qr("paper",{elementType:XM,externalForwardedProps:Le,additionalProps:{elevation:f,className:z($.paper,N==null?void 0:N.className),style:Y?N.style:{...N.style,opacity:0}},ownerState:B}),[Ee,{slotProps:nt,...Ze}]=Qr("root",{elementType:QCe,externalForwardedProps:Le,additionalProps:{slotProps:{backdrop:{invisible:!0}},container:Ge,open:m},ownerState:B,className:z($.root,d)}),qe=fr(S,Ve.ref);return(0,eO.jsx)(Ee,{...Ze,...!kd(Ee)&&{slotProps:nt,disableScrollLock:k},...M,ref:r,children:(0,eO.jsx)(v,{appear:!0,in:m,onEntering:se,onExited:Ae,timeout:Me,...O,children:(0,eO.jsx)(ke,{...Ve,ref:qe,children:l})})})}),JM=eOe;function V$(e){return de("MuiMenu",e)}var IDt=pe("MuiMenu",["root","paper","list"]);var YM=y(U()),tOe={vertical:"top",horizontal:"right"},rOe={vertical:"top",horizontal:"left"},oOe=e=>{let{classes:t}=e;return fe({root:["root"],paper:["paper"],list:["list"]},V$,t)},aOe=X(JM,{shouldForwardProp:e=>kt(e)||e==="classes",name:"MuiMenu",slot:"Root",overridesResolver:(e,t)=>t.root})({}),nOe=X(XM,{name:"MuiMenu",slot:"Paper",overridesResolver:(e,t)=>t.paper})({maxHeight:"calc(100% - 96px)",WebkitOverflowScrolling:"touch"}),sOe=X(qM,{name:"MuiMenu",slot:"List",overridesResolver:(e,t)=>t.list})({outline:0}),iOe=Nd.forwardRef(function(t,r){var Y,oe;let o=ce({props:t,name:"MuiMenu"}),{autoFocus:a=!0,children:n,className:s,disableAutoFocusItem:i=!1,MenuListProps:p={},onClose:l,open:d,PaperProps:u={},PopoverClasses:f,transitionDuration:c="auto",TransitionProps:{onEntering:m,...g}={},variant:h="selectedMenu",slots:x={},slotProps:T={},...v}=o,b=Rs(),w={...o,autoFocus:a,disableAutoFocusItem:i,MenuListProps:p,onEntering:m,PaperProps:u,transitionDuration:c,TransitionProps:g,variant:h},O=oOe(w),k=a&&!i&&d,M=Nd.useRef(null),N=(ee,se)=>{M.current&&M.current.adjustStyleForScrollbar(ee,{direction:b?"rtl":"ltr"}),m&&m(ee,se)},S=ee=>{ee.key==="Tab"&&(ee.preventDefault(),l&&l(ee,"tabKeyDown"))},B=-1;Nd.Children.map(n,(ee,se)=>{Nd.isValidElement(ee)&&(ee.props.disabled||(h==="selectedMenu"&&ee.props.selected||B===-1)&&(B=se))});let $=(Y=x.paper)!=null?Y:nOe,K=(oe=T.paper)!=null?oe:u,G=zo({elementType:x.root,externalSlotProps:T.root,ownerState:w,className:[O.root,s]}),L=zo({elementType:$,externalSlotProps:K,ownerState:w,className:O.paper});return(0,YM.jsx)(aOe,{onClose:l,anchorOrigin:{vertical:"bottom",horizontal:b?"right":"left"},transformOrigin:b?tOe:rOe,slots:{paper:$,root:x.root},slotProps:{root:G,paper:L},open:d,ref:r,transitionDuration:c,TransitionProps:{onEntering:N,...g},ownerState:w,...v,classes:f,children:(0,YM.jsx)(sOe,{onKeyDown:S,actions:M,autoFocus:a&&(B===-1||i),autoFocusItem:k,variant:h,...p,className:z(O.list,p.className),children:n})})}),cl=iOe;var Id=y(P());function H$(e){return de("MuiMenuItem",e)}var lOe=pe("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),gx=lOe;var ZM=y(U()),pOe=(e,t)=>{let{ownerState:r}=e;return[t.root,r.dense&&t.dense,r.divider&&t.divider,!r.disableGutters&&t.gutters]},dOe=e=>{let{disabled:t,dense:r,divider:o,disableGutters:a,selected:n,classes:s}=e,p=fe({root:["root",r&&"dense",t&&"disabled",!a&&"gutters",o&&"divider",n&&"selected"]},H$,s);return{...s,...p}},uOe=X(Go,{shouldForwardProp:e=>kt(e)||e==="classes",name:"MuiMenuItem",slot:"Root",overridesResolver:pOe})(be(({theme:e})=>({...e.typography.body1,display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap","&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${gx.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:St(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${gx.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:St(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${gx.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:St(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:St(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${gx.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${gx.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},[`& + .${HC.root}`]:{marginTop:e.spacing(1),marginBottom:e.spacing(1)},[`& + .${HC.inset}`]:{marginLeft:52},[`& .${hp.root}`]:{marginTop:0,marginBottom:0},[`& .${hp.inset}`]:{paddingLeft:36},[`& .${YC.root}`]:{minWidth:36},variants:[{props:({ownerState:t})=>!t.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:t})=>t.divider,style:{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"}},{props:({ownerState:t})=>!t.dense,style:{[e.breakpoints.up("sm")]:{minHeight:"auto"}}},{props:({ownerState:t})=>t.dense,style:{minHeight:32,paddingTop:4,paddingBottom:4,...e.typography.body2,[`& .${YC.root} svg`]:{fontSize:"1.25rem"}}}]}))),fOe=Id.forwardRef(function(t,r){let o=ce({props:t,name:"MuiMenuItem"}),{autoFocus:a=!1,component:n="li",dense:s=!1,divider:i=!1,disableGutters:p=!1,focusVisibleClassName:l,role:d="menuitem",tabIndex:u,className:f,...c}=o,m=Id.useContext(ia),g=Id.useMemo(()=>({dense:s||m.dense||!1,disableGutters:p}),[m.dense,s,p]),h=Id.useRef(null);mi(()=>{a&&h.current&&h.current.focus()},[a]);let x={...o,dense:g.dense,divider:i,disableGutters:p},T=dOe(o),v=fr(h,r),b;return o.disabled||(b=u!==void 0?u:-1),(0,ZM.jsx)(ia.Provider,{value:g,children:(0,ZM.jsx)(uOe,{ref:v,role:d,tabIndex:b,component:n,focusVisibleClassName:z(T.focusVisible,l),className:z(T.root,f),...c,ownerState:x,classes:T})})}),Vt=fOe;var rO=y(P());function $$(e){return de("MuiNativeSelect",e)}var cOe=pe("MuiNativeSelect",["root","select","multiple","filled","outlined","standard","disabled","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]),tO=cOe;var Ev=y(U()),mOe=e=>{let{classes:t,variant:r,disabled:o,multiple:a,open:n,error:s}=e,i={select:["select",r,o&&"disabled",a&&"multiple",s&&"error"],icon:["icon",`icon${ae(r)}`,n&&"iconOpen",o&&"disabled"]};return fe(i,$$,t)},QM=X("select")(({theme:e})=>({MozAppearance:"none",WebkitAppearance:"none",userSelect:"none",borderRadius:0,cursor:"pointer","&:focus":{borderRadius:0},[`&.${tO.disabled}`]:{cursor:"default"},"&[multiple]":{height:"auto"},"&:not([multiple]) option, &:not([multiple]) optgroup":{backgroundColor:(e.vars||e).palette.background.paper},variants:[{props:({ownerState:t})=>t.variant!=="filled"&&t.variant!=="outlined",style:{"&&&":{paddingRight:24,minWidth:16}}},{props:{variant:"filled"},style:{"&&&":{paddingRight:32}}},{props:{variant:"outlined"},style:{borderRadius:(e.vars||e).shape.borderRadius,"&:focus":{borderRadius:(e.vars||e).shape.borderRadius},"&&&":{paddingRight:32}}}]})),hOe=X(QM,{name:"MuiNativeSelect",slot:"Select",shouldForwardProp:kt,overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.select,t[r.variant],r.error&&t.error,{[`&.${tO.multiple}`]:t.multiple}]}})({}),eN=X("svg")(({theme:e})=>({position:"absolute",right:0,top:"calc(50% - .5em)",pointerEvents:"none",color:(e.vars||e).palette.action.active,[`&.${tO.disabled}`]:{color:(e.vars||e).palette.action.disabled},variants:[{props:({ownerState:t})=>t.open,style:{transform:"rotate(180deg)"}},{props:{variant:"filled"},style:{right:7}},{props:{variant:"outlined"},style:{right:7}}]})),xOe=X(eN,{name:"MuiNativeSelect",slot:"Icon",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.icon,r.variant&&t[`icon${ae(r.variant)}`],r.open&&t.iconOpen]}})({}),gOe=rO.forwardRef(function(t,r){let{className:o,disabled:a,error:n,IconComponent:s,inputRef:i,variant:p="standard",...l}=t,d={...t,disabled:a,variant:p,error:n},u=mOe(d);return(0,Ev.jsxs)(rO.Fragment,{children:[(0,Ev.jsx)(hOe,{ownerState:d,className:z(u.select,o),disabled:a,ref:i||r,...l}),t.multiple?null:(0,Ev.jsx)(xOe,{as:s,ownerState:d,className:u.icon})]})}),G$=gOe;var oO=y(P());var DAt=y(P());var Pv=y(U()),q$,yOe=X("fieldset",{shouldForwardProp:kt})({textAlign:"left",position:"absolute",bottom:0,right:0,top:-5,left:0,margin:0,padding:"0 8px",pointerEvents:"none",borderRadius:"inherit",borderStyle:"solid",borderWidth:1,overflow:"hidden",minWidth:"0%"}),bOe=X("legend",{shouldForwardProp:kt})(be(({theme:e})=>({float:"unset",width:"auto",overflow:"hidden",variants:[{props:({ownerState:t})=>!t.withLabel,style:{padding:0,lineHeight:"11px",transition:e.transitions.create("width",{duration:150,easing:e.transitions.easing.easeOut})}},{props:({ownerState:t})=>t.withLabel,style:{display:"block",padding:0,height:11,fontSize:"0.75em",visibility:"hidden",maxWidth:.01,transition:e.transitions.create("max-width",{duration:50,easing:e.transitions.easing.easeOut}),whiteSpace:"nowrap","& > span":{paddingLeft:5,paddingRight:5,display:"inline-block",opacity:0,visibility:"visible"}}},{props:({ownerState:t})=>t.withLabel&&t.notched,style:{maxWidth:"100%",transition:e.transitions.create("max-width",{duration:100,easing:e.transitions.easing.easeOut,delay:50})}}]})));function tN(e){let{children:t,classes:r,className:o,label:a,notched:n,...s}=e,i=a!=null&&a!=="",p={...e,notched:n,withLabel:i};return(0,Pv.jsx)(yOe,{"aria-hidden":!0,className:o,ownerState:p,...s,children:(0,Pv.jsx)(bOe,{ownerState:p,children:i?(0,Pv.jsx)("span",{children:a}):q$||(q$=(0,Pv.jsx)("span",{className:"notranslate",children:"\u200B"}))})})}var Rv=y(U()),vOe=e=>{let{classes:t}=e,o=fe({root:["root"],notchedOutline:["notchedOutline"],input:["input"]},rH,t);return{...t,...o}},TOe=X(cc,{shouldForwardProp:e=>kt(e)||e==="classes",name:"MuiOutlinedInput",slot:"Root",overridesResolver:uc})(be(({theme:e})=>{let t=e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{position:"relative",borderRadius:(e.vars||e).shape.borderRadius,[`&:hover .${bi.notchedOutline}`]:{borderColor:(e.vars||e).palette.text.primary},"@media (hover: none)":{[`&:hover .${bi.notchedOutline}`]:{borderColor:e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:t}},[`&.${bi.focused} .${bi.notchedOutline}`]:{borderWidth:2},variants:[...Object.entries(e.palette).filter(Ot()).map(([r])=>({props:{color:r},style:{[`&.${bi.focused} .${bi.notchedOutline}`]:{borderColor:(e.vars||e).palette[r].main}}})),{props:{},style:{[`&.${bi.error} .${bi.notchedOutline}`]:{borderColor:(e.vars||e).palette.error.main},[`&.${bi.disabled} .${bi.notchedOutline}`]:{borderColor:(e.vars||e).palette.action.disabled}}},{props:({ownerState:r})=>r.startAdornment,style:{paddingLeft:14}},{props:({ownerState:r})=>r.endAdornment,style:{paddingRight:14}},{props:({ownerState:r})=>r.multiline,style:{padding:"16.5px 14px"}},{props:({ownerState:r,size:o})=>r.multiline&&o==="small",style:{padding:"8.5px 14px"}}]}})),SOe=X(tN,{name:"MuiOutlinedInput",slot:"NotchedOutline",overridesResolver:(e,t)=>t.notchedOutline})(be(({theme:e})=>{let t=e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{borderColor:e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:t}})),wOe=X(mc,{name:"MuiOutlinedInput",slot:"Input",overridesResolver:fc})(be(({theme:e})=>({padding:"16.5px 14px",...!e.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:e.palette.mode==="light"?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:e.palette.mode==="light"?null:"#fff",caretColor:e.palette.mode==="light"?null:"#fff",borderRadius:"inherit"}},...e.vars&&{"&:-webkit-autofill":{borderRadius:"inherit"},[e.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},variants:[{props:{size:"small"},style:{padding:"8.5px 14px"}},{props:({ownerState:t})=>t.multiline,style:{padding:0}},{props:({ownerState:t})=>t.startAdornment,style:{paddingLeft:0}},{props:({ownerState:t})=>t.endAdornment,style:{paddingRight:0}}]}))),rN=oO.forwardRef(function(t,r){var b,w,O,k;var o;let a=ce({props:t,name:"MuiOutlinedInput"}),{components:n={},fullWidth:s=!1,inputComponent:i="input",label:p,multiline:l=!1,notched:d,slots:u={},type:f="text",...c}=a,m=vOe(a),g=co(),h=ya({props:a,muiFormControl:g,states:["color","disabled","error","focused","hiddenLabel","size","required"]}),x={...a,color:h.color||"primary",disabled:h.disabled,error:h.error,focused:h.focused,formControl:g,fullWidth:s,hiddenLabel:h.hiddenLabel,multiline:l,size:h.size,type:f},T=(w=(b=u.root)!=null?b:n.Root)!=null?w:TOe,v=(k=(O=u.input)!=null?O:n.Input)!=null?k:wOe;return(0,Rv.jsx)(hc,{slots:{root:T,input:v},renderSuffix:M=>(0,Rv.jsx)(SOe,{ownerState:x,className:m.notchedOutline,label:p!=null&&p!==""&&h.required?o||(o=(0,Rv.jsxs)(oO.Fragment,{children:[p,"\u2009","*"]})):p,notched:typeof d!="undefined"?d:!!(M.startAdornment||M.filled||M.focused)}),fullWidth:s,inputComponent:i,multiline:l,ref:r,type:f,...c,classes:{...m,notchedOutline:null}})});rN&&(rN.muiName="Input");var Dv=rN;var Mv=y(P());var o2t=y(P());var YAt=y(P());var K$=y(U()),X$=te((0,K$.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"RadioButtonUnchecked");var e2t=y(P());var J$=y(U()),Y$=te((0,J$.jsx)("path",{d:"M8.465 8.465C9.37 7.56 10.62 7 12 7C14.76 7 17 9.24 17 12C17 13.38 16.44 14.63 15.535 15.535C14.63 16.44 13.38 17 12 17C9.24 17 7 14.76 7 12C7 10.62 7.56 9.37 8.465 8.465Z"}),"RadioButtonChecked");var Av=y(U()),_Oe=X("span",{shouldForwardProp:kt})({position:"relative",display:"flex"}),COe=X(X$)({transform:"scale(1)"}),OOe=X(Y$)(be(({theme:e})=>({left:0,position:"absolute",transform:"scale(0)",transition:e.transitions.create("transform",{easing:e.transitions.easing.easeIn,duration:e.transitions.duration.shortest}),variants:[{props:{checked:!0},style:{transform:"scale(1)",transition:e.transitions.create("transform",{easing:e.transitions.easing.easeOut,duration:e.transitions.duration.shortest})}}]})));function kOe(e){let{checked:t=!1,classes:r={},fontSize:o}=e,a={...e,checked:t};return(0,Av.jsxs)(_Oe,{className:r.root,ownerState:a,children:[(0,Av.jsx)(COe,{fontSize:o,className:r.background,ownerState:a}),(0,Av.jsx)(OOe,{fontSize:o,className:r.dot,ownerState:a})]})}var oN=kOe;var e7=y(P());var Z$=y(P()),EOe=Z$.createContext(void 0),Q$=EOe;function aN(){return e7.useContext(Q$)}function t7(e){return de("MuiRadio",e)}var POe=pe("MuiRadio",["root","checked","disabled","colorPrimary","colorSecondary","sizeSmall"]),nN=POe;var aO=y(U()),ROe=e=>{let{classes:t,color:r,size:o}=e,a={root:["root",`color${ae(r)}`,o!=="medium"&&`size${ae(o)}`]};return{...t,...fe(a,t7,t)}},DOe=X(ix,{shouldForwardProp:e=>kt(e)||e==="classes",name:"MuiRadio",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.size!=="medium"&&t[`size${ae(r.size)}`],t[`color${ae(r.color)}`]]}})(be(({theme:e})=>({color:(e.vars||e).palette.text.secondary,[`&.${nN.disabled}`]:{color:(e.vars||e).palette.action.disabled},variants:[{props:{color:"default",disabled:!1,disableRipple:!1},style:{"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})`:St(e.palette.action.active,e.palette.action.hoverOpacity)}}},...Object.entries(e.palette).filter(Ot()).map(([t])=>({props:{color:t,disabled:!1,disableRipple:!1},style:{"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette[t].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:St(e.palette[t].main,e.palette.action.hoverOpacity)}}})),...Object.entries(e.palette).filter(Ot()).map(([t])=>({props:{color:t,disabled:!1},style:{[`&.${nN.checked}`]:{color:(e.vars||e).palette[t].main}}})),{props:{disableRipple:!1},style:{"&:hover":{"@media (hover: none)":{backgroundColor:"transparent"}}}}]})));function AOe(e,t){return typeof t=="object"&&t!==null?e===t:String(e)===String(t)}var r7=(0,aO.jsx)(oN,{checked:!0}),o7=(0,aO.jsx)(oN,{}),MOe=Mv.forwardRef(function(t,r){var k,M;let o=ce({props:t,name:"MuiRadio"}),{checked:a,checkedIcon:n=r7,color:s="primary",icon:i=o7,name:p,onChange:l,size:d="medium",className:u,disabled:f,disableRipple:c=!1,...m}=o,g=co(),h=f;g&&typeof h=="undefined"&&(h=g.disabled),h!=null||(h=!1);let x={...o,disabled:h,disableRipple:c,color:s,size:d},T=ROe(x),v=aN(),b=a,w=$U(l,v&&v.onChange),O=p;return v&&(typeof b=="undefined"&&(b=AOe(v.value,o.value)),typeof O=="undefined"&&(O=v.name)),(0,aO.jsx)(DOe,{type:"radio",icon:Mv.cloneElement(i,{fontSize:(k=o7.props.fontSize)!=null?k:d}),checkedIcon:Mv.cloneElement(n,{fontSize:(M=r7.props.fontSize)!=null?M:d}),disabled:h,ownerState:x,classes:T,name:O,checked:b,onChange:w,ref:r,className:z(T.root,u),...m})}),Qt=MOe;var bx=y(P());var Nr=y(P()),L2t=y(cd());function a7(e){return de("MuiSelect",e)}var NOe=pe("MuiSelect",["root","select","multiple","filled","outlined","standard","disabled","focused","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]),yx=NOe;var Fd=y(U()),n7,IOe=X(QM,{name:"MuiSelect",slot:"Select",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[{[`&.${yx.select}`]:t.select},{[`&.${yx.select}`]:t[r.variant]},{[`&.${yx.error}`]:t.error},{[`&.${yx.multiple}`]:t.multiple}]}})({[`&.${yx.select}`]:{height:"auto",minHeight:"1.4375em",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"}}),FOe=X(eN,{name:"MuiSelect",slot:"Icon",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.icon,r.variant&&t[`icon${ae(r.variant)}`],r.open&&t.iconOpen]}})({}),BOe=X("input",{shouldForwardProp:e=>v_(e)&&e!=="classes",name:"MuiSelect",slot:"NativeInput",overridesResolver:(e,t)=>t.nativeInput})({bottom:0,left:0,position:"absolute",opacity:0,pointerEvents:"none",width:"100%",boxSizing:"border-box"});function s7(e,t){return typeof t=="object"&&t!==null?e===t:String(e)===String(t)}function jOe(e){return e==null||typeof e=="string"&&!e.trim()}var LOe=e=>{let{classes:t,variant:r,disabled:o,multiple:a,open:n,error:s}=e,i={select:["select",r,o&&"disabled",a&&"multiple",s&&"error"],icon:["icon",`icon${ae(r)}`,n&&"iconOpen",o&&"disabled"],nativeInput:["nativeInput"]};return fe(i,a7,t)},zOe=Nr.forwardRef(function(t,r){var At;let{"aria-describedby":o,"aria-label":a,autoFocus:n,autoWidth:s,children:i,className:p,defaultOpen:l,defaultValue:d,disabled:u,displayEmpty:f,error:c=!1,IconComponent:m,inputRef:g,labelId:h,MenuProps:x={},multiple:T,name:v,onBlur:b,onChange:w,onClose:O,onFocus:k,onOpen:M,open:N,readOnly:S,renderValue:B,SelectDisplayProps:$={},tabIndex:K,type:G,value:L,variant:Y="standard",...oe}=t,[ee,se]=Yf({controlled:L,default:d,name:"Select"}),[Ae,Me]=Yf({controlled:N,default:l,name:"Select"}),Ge=Nr.useRef(null),Le=Nr.useRef(null),[ke,Ve]=Nr.useState(null),{current:Ee}=Nr.useRef(N!=null),[nt,Ze]=Nr.useState(),qe=fr(r,g),ct=Nr.useCallback(q=>{Le.current=q,q&&Ve(q)},[]),We=ke==null?void 0:ke.parentNode;Nr.useImperativeHandle(qe,()=>({focus:()=>{Le.current.focus()},node:Ge.current,value:ee}),[ee]),Nr.useEffect(()=>{l&&Ae&&ke&&!Ee&&(Ze(s?null:We.clientWidth),Le.current.focus())},[ke,s]),Nr.useEffect(()=>{n&&Le.current.focus()},[n]),Nr.useEffect(()=>{if(!h)return;let q=lp(Le.current).getElementById(h);if(q){let Q=()=>{getSelection().isCollapsed&&Le.current.focus()};return q.addEventListener("click",Q),()=>{q.removeEventListener("click",Q)}}},[h]);let Ne=(q,Q)=>{q?M&&M(Q):O&&O(Q),Ee||(Ze(s?null:We.clientWidth),Me(q))},tt=q=>{q.button===0&&(q.preventDefault(),Le.current.focus(),Ne(!0,q))},Xe=q=>{Ne(!1,q)},rt=Nr.Children.toArray(i),ue=q=>{let Q=rt.find(Se=>Se.props.value===q.target.value);Q!==void 0&&(se(Q.props.value),w&&w(q,Q))},Ce=q=>Q=>{let Se;if(Q.currentTarget.hasAttribute("tabindex")){if(T){Se=Array.isArray(ee)?ee.slice():[];let _e=ee.indexOf(q.props.value);_e===-1?Se.push(q.props.value):Se.splice(_e,1)}else Se=q.props.value;if(q.props.onClick&&q.props.onClick(Q),ee!==Se&&(se(Se),w)){let _e=Q.nativeEvent||Q,Fe=new _e.constructor(_e.type,_e);Object.defineProperty(Fe,"target",{writable:!0,value:{value:Se,name:v}}),w(Fe,q)}T||Ne(!1,Q)}},He=q=>{S||[" ","ArrowUp","ArrowDown","Enter"].includes(q.key)&&(q.preventDefault(),Ne(!0,q))},Ke=ke!==null&&Ae,ot=q=>{!Ke&&b&&(Object.defineProperty(q,"target",{writable:!0,value:{value:ee,name:v}}),b(q))};delete oe["aria-invalid"];let yt,bt,Ie=[],he=!1,De=!1;(pc({value:ee})||f)&&(B?yt=B(ee):he=!0);let gt=rt.map(q=>{if(!Nr.isValidElement(q))return null;let Q;if(T){if(!Array.isArray(ee))throw new Error(aa(2));Q=ee.some(Se=>s7(Se,q.props.value)),Q&&he&&Ie.push(q.props.children)}else Q=s7(ee,q.props.value),Q&&he&&(bt=q.props.children);return Q&&(De=!0),Nr.cloneElement(q,{"aria-selected":Q?"true":"false",onClick:Ce(q),onKeyUp:Se=>{Se.key===" "&&Se.preventDefault(),q.props.onKeyUp&&q.props.onKeyUp(Se)},role:"option",selected:Q,value:void 0,"data-value":q.props.value})});he&&(T?Ie.length===0?yt=null:yt=Ie.reduce((q,Q,Se)=>(q.push(Q),Se{let{classes:t}=e;return t},sN={name:"MuiSelect",overridesResolver:(e,t)=>t.root,shouldForwardProp:e=>kt(e)&&e!=="variant",slot:"Root"},UOe=X(va,sN)(""),VOe=X(Dv,sN)(""),HOe=X(_v,sN)(""),l7=bx.forwardRef(function(t,r){let o=ce({name:"MuiSelect",props:t}),{autoWidth:a=!1,children:n,classes:s={},className:i,defaultOpen:p=!1,displayEmpty:l=!1,IconComponent:d=nH,id:u,input:f,inputProps:c,label:m,labelId:g,MenuProps:h,multiple:x=!1,native:T=!1,onClose:v,onOpen:b,open:w,renderValue:O,SelectDisplayProps:k,variant:M="outlined",...N}=o,S=T?G$:i7,B=co(),$=ya({props:o,muiFormControl:B,states:["variant","error"]}),K=$.variant||M,G={...o,variant:K,classes:s},L=WOe(G),{root:Y,...oe}=L,ee=f||{standard:(0,Nv.jsx)(UOe,{ownerState:G}),outlined:(0,Nv.jsx)(VOe,{label:m,ownerState:G}),filled:(0,Nv.jsx)(HOe,{ownerState:G})}[K],se=fr(r,ha(ee));return(0,Nv.jsx)(bx.Fragment,{children:bx.cloneElement(ee,{inputComponent:S,inputProps:{children:n,error:$.error,IconComponent:d,variant:K,type:void 0,multiple:x,...T?{id:u}:{autoWidth:a,defaultOpen:p,displayEmpty:l,labelId:g,MenuProps:h,onClose:v,onOpen:b,open:w,renderValue:O,SelectDisplayProps:{id:u,...k}},...c,classes:c?pr(oe,c.classes):oe,...f?f.props.inputProps:{}},...(x&&T||l)&&K==="outlined"?{notched:!0}:{},ref:se,className:z(ee.props.className,i,L.root),...!f&&{variant:K},...N})})});l7.muiName="Select";var Sa=l7;var nO=y(P());var vx=y(P());function $Oe(e={}){let{autoHideDuration:t=null,disableWindowBlurListener:r=!1,onClose:o,open:a,resumeHideDuration:n}=e,s=vn();vx.useEffect(()=>{if(!a)return;function x(T){T.defaultPrevented||T.key==="Escape"&&(o==null||o(T,"escapeKeyDown"))}return document.addEventListener("keydown",x),()=>{document.removeEventListener("keydown",x)}},[a,o]);let i=Ps((x,T)=>{o==null||o(x,T)}),p=Ps(x=>{!o||x==null||s.start(x,()=>{i(null,"timeout")})});vx.useEffect(()=>(a&&p(t),s.clear),[a,t,p,s]);let l=x=>{o==null||o(x,"clickaway")},d=s.clear,u=vx.useCallback(()=>{t!=null&&p(n!=null?n:t*.5)},[t,n,p]),f=x=>T=>{let v=x.onBlur;v==null||v(T),u()},c=x=>T=>{let v=x.onFocus;v==null||v(T),d()},m=x=>T=>{let v=x.onMouseEnter;v==null||v(T),d()},g=x=>T=>{let v=x.onMouseLeave;v==null||v(T),u()};return vx.useEffect(()=>{if(!r&&a)return window.addEventListener("focus",u),window.addEventListener("blur",d),()=>{window.removeEventListener("focus",u),window.removeEventListener("blur",d)}},[r,a,u,d]),{getRootProps:(x={})=>{let T={...Td(e),...Td(x)};return{role:"presentation",...x,...T,onBlur:f(T),onFocus:c(T),onMouseEnter:m(T),onMouseLeave:g(T)}},onClickAway:l}}var p7=$Oe;var u7=y(P());function d7(e){return de("MuiSnackbarContent",e)}var CMt=pe("MuiSnackbarContent",["root","message","action"]);var Iv=y(U()),GOe=e=>{let{classes:t}=e;return fe({root:["root"],action:["action"],message:["message"]},d7,t)},qOe=X(Ya,{name:"MuiSnackbarContent",slot:"Root",overridesResolver:(e,t)=>t.root})(be(({theme:e})=>{let t=e.palette.mode==="light"?.8:.98,r=Df(e.palette.background.default,t);return{...e.typography.body2,color:e.vars?e.vars.palette.SnackbarContent.color:e.palette.getContrastText(r),backgroundColor:e.vars?e.vars.palette.SnackbarContent.bg:r,display:"flex",alignItems:"center",flexWrap:"wrap",padding:"6px 16px",borderRadius:(e.vars||e).shape.borderRadius,flexGrow:1,[e.breakpoints.up("sm")]:{flexGrow:"initial",minWidth:288}}})),KOe=X("div",{name:"MuiSnackbarContent",slot:"Message",overridesResolver:(e,t)=>t.message})({padding:"8px 0"}),XOe=X("div",{name:"MuiSnackbarContent",slot:"Action",overridesResolver:(e,t)=>t.action})({display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:16,marginRight:-8}),JOe=u7.forwardRef(function(t,r){let o=ce({props:t,name:"MuiSnackbarContent"}),{action:a,className:n,message:s,role:i="alert",...p}=o,l=o,d=GOe(l);return(0,Iv.jsxs)(qOe,{role:i,square:!0,elevation:6,className:z(d.root,n),ownerState:l,ref:r,...p,children:[(0,Iv.jsx)(KOe,{className:d.message,ownerState:l,children:s}),a?(0,Iv.jsx)(XOe,{className:d.action,ownerState:l,children:a}):null]})}),iN=JOe;function f7(e){return de("MuiSnackbar",e)}var WMt=pe("MuiSnackbar",["root","anchorOriginTopCenter","anchorOriginBottomCenter","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft"]);var Fv=y(U()),YOe=e=>{let{classes:t,anchorOrigin:r}=e,o={root:["root",`anchorOrigin${ae(r.vertical)}${ae(r.horizontal)}`]};return fe(o,f7,t)},c7=X("div",{name:"MuiSnackbar",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[`anchorOrigin${ae(r.anchorOrigin.vertical)}${ae(r.anchorOrigin.horizontal)}`]]}})(be(({theme:e})=>({zIndex:(e.vars||e).zIndex.snackbar,position:"fixed",display:"flex",left:8,right:8,justifyContent:"center",alignItems:"center",variants:[{props:({ownerState:t})=>t.anchorOrigin.vertical==="top",style:{top:8,[e.breakpoints.up("sm")]:{top:24}}},{props:({ownerState:t})=>t.anchorOrigin.vertical!=="top",style:{bottom:8,[e.breakpoints.up("sm")]:{bottom:24}}},{props:({ownerState:t})=>t.anchorOrigin.horizontal==="left",style:{justifyContent:"flex-start",[e.breakpoints.up("sm")]:{left:24,right:"auto"}}},{props:({ownerState:t})=>t.anchorOrigin.horizontal==="right",style:{justifyContent:"flex-end",[e.breakpoints.up("sm")]:{right:24,left:"auto"}}},{props:({ownerState:t})=>t.anchorOrigin.horizontal==="center",style:{[e.breakpoints.up("sm")]:{left:"50%",right:"auto",transform:"translateX(-50%)"}}}]}))),ZOe=nO.forwardRef(function(t,r){let o=ce({props:t,name:"MuiSnackbar"}),a=Wo(),n={enter:a.transitions.duration.enteringScreen,exit:a.transitions.duration.leavingScreen},{action:s,anchorOrigin:{vertical:i,horizontal:p}={vertical:"bottom",horizontal:"left"},autoHideDuration:l=null,children:d,className:u,ClickAwayListenerProps:f,ContentProps:c,disableWindowBlurListener:m=!1,message:g,onBlur:h,onClose:x,onFocus:T,onMouseEnter:v,onMouseLeave:b,open:w,resumeHideDuration:O,TransitionComponent:k=yc,transitionDuration:M=n,TransitionProps:{onEnter:N,onExited:S,...B}={},...$}=o,K={...o,anchorOrigin:{vertical:i,horizontal:p},autoHideDuration:l,disableWindowBlurListener:m,TransitionComponent:k,transitionDuration:M},G=YOe(K),{getRootProps:L,onClickAway:Y}=p7({...K}),[oe,ee]=nO.useState(!0),se=zo({elementType:c7,getSlotProps:L,externalForwardedProps:$,ownerState:K,additionalProps:{ref:r},className:[G.root,u]}),Ae=Ge=>{ee(!0),S&&S(Ge)},Me=(Ge,Le)=>{ee(!1),N&&N(Ge,Le)};return!w&&oe?null:(0,Fv.jsx)(wM,{onClickAway:Y,...f,children:(0,Fv.jsx)(c7,{...se,children:(0,Fv.jsx)(k,{appear:!0,in:w,timeout:M,direction:i==="top"?"down":"up",onEnter:Me,onExited:Ae,...B,children:d||(0,Fv.jsx)(iN,{message:g,action:s,...c})})})})}),vc=ZOe;var So=y(P());function m7(e){return de("MuiTooltip",e)}var QOe=pe("MuiTooltip",["popper","popperInteractive","popperArrow","popperClose","tooltip","tooltipArrow","touch","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","arrow"]),eo=QOe;var Bd=y(U());function e1e(e){return Math.round(e*1e5)/1e5}var t1e=e=>{let{classes:t,disableInteractive:r,arrow:o,touch:a,placement:n}=e,s={popper:["popper",!r&&"popperInteractive",o&&"popperArrow"],tooltip:["tooltip",o&&"tooltipArrow",a&&"touch",`tooltipPlacement${ae(n.split("-")[0])}`],arrow:["arrow"]};return fe(s,m7,t)},r1e=X(RC,{name:"MuiTooltip",slot:"Popper",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.popper,!r.disableInteractive&&t.popperInteractive,r.arrow&&t.popperArrow,!r.open&&t.popperClose]}})(be(({theme:e})=>({zIndex:(e.vars||e).zIndex.tooltip,pointerEvents:"none",variants:[{props:({ownerState:t})=>!t.disableInteractive,style:{pointerEvents:"auto"}},{props:({open:t})=>!t,style:{pointerEvents:"none"}},{props:({ownerState:t})=>t.arrow,style:{[`&[data-popper-placement*="bottom"] .${eo.arrow}`]:{top:0,marginTop:"-0.71em","&::before":{transformOrigin:"0 100%"}},[`&[data-popper-placement*="top"] .${eo.arrow}`]:{bottom:0,marginBottom:"-0.71em","&::before":{transformOrigin:"100% 0"}},[`&[data-popper-placement*="right"] .${eo.arrow}`]:{height:"1em",width:"0.71em","&::before":{transformOrigin:"100% 100%"}},[`&[data-popper-placement*="left"] .${eo.arrow}`]:{height:"1em",width:"0.71em","&::before":{transformOrigin:"0 0"}}}},{props:({ownerState:t})=>t.arrow&&!t.isRtl,style:{[`&[data-popper-placement*="right"] .${eo.arrow}`]:{left:0,marginLeft:"-0.71em"}}},{props:({ownerState:t})=>t.arrow&&!!t.isRtl,style:{[`&[data-popper-placement*="right"] .${eo.arrow}`]:{right:0,marginRight:"-0.71em"}}},{props:({ownerState:t})=>t.arrow&&!t.isRtl,style:{[`&[data-popper-placement*="left"] .${eo.arrow}`]:{right:0,marginRight:"-0.71em"}}},{props:({ownerState:t})=>t.arrow&&!!t.isRtl,style:{[`&[data-popper-placement*="left"] .${eo.arrow}`]:{left:0,marginLeft:"-0.71em"}}}]}))),o1e=X("div",{name:"MuiTooltip",slot:"Tooltip",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.tooltip,r.touch&&t.touch,r.arrow&&t.tooltipArrow,t[`tooltipPlacement${ae(r.placement.split("-")[0])}`]]}})(be(({theme:e})=>({backgroundColor:e.vars?e.vars.palette.Tooltip.bg:St(e.palette.grey[700],.92),borderRadius:(e.vars||e).shape.borderRadius,color:(e.vars||e).palette.common.white,fontFamily:e.typography.fontFamily,padding:"4px 8px",fontSize:e.typography.pxToRem(11),maxWidth:300,margin:2,wordWrap:"break-word",fontWeight:e.typography.fontWeightMedium,[`.${eo.popper}[data-popper-placement*="left"] &`]:{transformOrigin:"right center"},[`.${eo.popper}[data-popper-placement*="right"] &`]:{transformOrigin:"left center"},[`.${eo.popper}[data-popper-placement*="top"] &`]:{transformOrigin:"center bottom",marginBottom:"14px"},[`.${eo.popper}[data-popper-placement*="bottom"] &`]:{transformOrigin:"center top",marginTop:"14px"},variants:[{props:({ownerState:t})=>t.arrow,style:{position:"relative",margin:0}},{props:({ownerState:t})=>t.touch,style:{padding:"8px 16px",fontSize:e.typography.pxToRem(14),lineHeight:`${e1e(16/14)}em`,fontWeight:e.typography.fontWeightRegular}},{props:({ownerState:t})=>!t.isRtl,style:{[`.${eo.popper}[data-popper-placement*="left"] &`]:{marginRight:"14px"},[`.${eo.popper}[data-popper-placement*="right"] &`]:{marginLeft:"14px"}}},{props:({ownerState:t})=>!t.isRtl&&t.touch,style:{[`.${eo.popper}[data-popper-placement*="left"] &`]:{marginRight:"24px"},[`.${eo.popper}[data-popper-placement*="right"] &`]:{marginLeft:"24px"}}},{props:({ownerState:t})=>!!t.isRtl,style:{[`.${eo.popper}[data-popper-placement*="left"] &`]:{marginLeft:"14px"},[`.${eo.popper}[data-popper-placement*="right"] &`]:{marginRight:"14px"}}},{props:({ownerState:t})=>!!t.isRtl&&t.touch,style:{[`.${eo.popper}[data-popper-placement*="left"] &`]:{marginLeft:"24px"},[`.${eo.popper}[data-popper-placement*="right"] &`]:{marginRight:"24px"}}},{props:({ownerState:t})=>t.touch,style:{[`.${eo.popper}[data-popper-placement*="top"] &`]:{marginBottom:"24px"}}},{props:({ownerState:t})=>t.touch,style:{[`.${eo.popper}[data-popper-placement*="bottom"] &`]:{marginTop:"24px"}}}]}))),a1e=X("span",{name:"MuiTooltip",slot:"Arrow",overridesResolver:(e,t)=>t.arrow})(be(({theme:e})=>({overflow:"hidden",position:"absolute",width:"1em",height:"0.71em",boxSizing:"border-box",color:e.vars?e.vars.palette.Tooltip.bg:St(e.palette.grey[700],.9),"&::before":{content:'""',margin:"auto",display:"block",width:"100%",height:"100%",backgroundColor:"currentColor",transform:"rotate(45deg)"}}))),sO=!1,h7=new Nf,Bv={x:0,y:0};function iO(e,t){return(r,...o)=>{t&&t(r,...o),e(r,...o)}}var n1e=So.forwardRef(function(t,r){var Qs,rS,yo;let o=ce({props:t,name:"MuiTooltip"}),{arrow:a=!1,children:n,classes:s,components:i={},componentsProps:p={},describeChild:l=!1,disableFocusListener:d=!1,disableHoverListener:u=!1,disableInteractive:f=!1,disableTouchListener:c=!1,enterDelay:m=100,enterNextDelay:g=0,enterTouchDelay:h=700,followCursor:x=!1,id:T,leaveDelay:v=0,leaveTouchDelay:b=1500,onClose:w,onOpen:O,open:k,placement:M="bottom",PopperComponent:N,PopperProps:S={},slotProps:B={},slots:$={},title:K,TransitionComponent:G,TransitionProps:L,...Y}=o,oe=So.isValidElement(n)?n:(0,Bd.jsx)("span",{children:n}),ee=Wo(),se=Rs(),[Ae,Me]=So.useState(),[Ge,Le]=So.useState(null),ke=So.useRef(!1),Ve=f||x,Ee=vn(),nt=vn(),Ze=vn(),qe=vn(),[ct,We]=Yf({controlled:k,default:!1,name:"Tooltip",state:"open"}),Ne=ct,tt=ZU(T),Xe=So.useRef(),rt=Ns(()=>{Xe.current!==void 0&&(document.body.style.WebkitUserSelect=Xe.current,Xe.current=void 0),qe.clear()});So.useEffect(()=>rt,[rt]);let ue=Qe=>{h7.clear(),sO=!0,We(!0),O&&!Ne&&O(Qe)},Ce=Ns(Qe=>{h7.start(800+v,()=>{sO=!1}),We(!1),w&&Ne&&w(Qe),Ee.start(ee.transitions.duration.shortest,()=>{ke.current=!1})}),He=Qe=>{ke.current&&Qe.type!=="touchstart"||(Ae&&Ae.removeAttribute("title"),nt.clear(),Ze.clear(),m||sO&&g?nt.start(sO?g:m,()=>{ue(Qe)}):ue(Qe))},Ke=Qe=>{nt.clear(),Ze.start(v,()=>{Ce(Qe)})},[,ot]=So.useState(!1),yt=Qe=>{vd(Qe.target)||(ot(!1),Ke(Qe))},bt=Qe=>{Ae||Me(Qe.currentTarget),vd(Qe.target)&&(ot(!0),He(Qe))},Ie=Qe=>{ke.current=!0;let Qo=oe.props;Qo.onTouchStart&&Qo.onTouchStart(Qe)},he=Qe=>{Ie(Qe),Ze.clear(),Ee.clear(),rt(),Xe.current=document.body.style.WebkitUserSelect,document.body.style.WebkitUserSelect="none",qe.start(h,()=>{document.body.style.WebkitUserSelect=Xe.current,He(Qe)})},De=Qe=>{oe.props.onTouchEnd&&oe.props.onTouchEnd(Qe),rt(),Ze.start(b,()=>{Ce(Qe)})};So.useEffect(()=>{if(!Ne)return;function Qe(Qo){Qo.key==="Escape"&&Ce(Qo)}return document.addEventListener("keydown",Qe),()=>{document.removeEventListener("keydown",Qe)}},[Ce,Ne]);let gt=fr(ha(oe),Me,r);!K&&K!==0&&(Ne=!1);let vt=So.useRef(),Et=Qe=>{let Qo=oe.props;Qo.onMouseMove&&Qo.onMouseMove(Qe),Bv={x:Qe.clientX,y:Qe.clientY},vt.current&&vt.current.update()},Pe={},qt=typeof K=="string";l?(Pe.title=!Ne&&qt&&!u?K:null,Pe["aria-describedby"]=Ne?tt:null):(Pe["aria-label"]=qt?K:null,Pe["aria-labelledby"]=Ne&&!qt?tt:null);let Pt={...Pe,...Y,...oe.props,className:z(Y.className,oe.props.className),onTouchStart:Ie,ref:gt,...x?{onMouseMove:Et}:{}},ht={};c||(Pt.onTouchStart=he,Pt.onTouchEnd=De),u||(Pt.onMouseOver=iO(He,Pt.onMouseOver),Pt.onMouseLeave=iO(Ke,Pt.onMouseLeave),Ve||(ht.onMouseOver=He,ht.onMouseLeave=Ke)),d||(Pt.onFocus=iO(bt,Pt.onFocus),Pt.onBlur=iO(yt,Pt.onBlur),Ve||(ht.onFocus=bt,ht.onBlur=yt));let $e={...o,isRtl:se,arrow:a,disableInteractive:Ve,placement:M,PopperComponentProp:N,touch:ke.current},At=typeof B.popper=="function"?B.popper($e):B.popper,q=So.useMemo(()=>{var Qo,oS;let Qe=[{name:"arrow",enabled:!!Ge,options:{element:Ge,padding:4}}];return(Qo=S.popperOptions)!=null&&Qo.modifiers&&(Qe=Qe.concat(S.popperOptions.modifiers)),(oS=At==null?void 0:At.popperOptions)!=null&&oS.modifiers&&(Qe=Qe.concat(At.popperOptions.modifiers)),{...S.popperOptions,...At==null?void 0:At.popperOptions,modifiers:Qe}},[Ge,S.popperOptions,At==null?void 0:At.popperOptions]),Q=t1e($e),Se=typeof B.transition=="function"?B.transition($e):B.transition,_e={slots:{popper:i.Popper,transition:(Qs=i.Transition)!=null?Qs:G,tooltip:i.Tooltip,arrow:i.Arrow,...$},slotProps:{arrow:(rS=B.arrow)!=null?rS:p.arrow,popper:{...S,...At!=null?At:p.popper},tooltip:(yo=B.tooltip)!=null?yo:p.tooltip,transition:{...L,...Se!=null?Se:p.transition}}},[Fe,Kt]=Qr("popper",{elementType:r1e,externalForwardedProps:_e,ownerState:$e,className:z(Q.popper,S==null?void 0:S.className)}),[Gr,Ft]=Qr("transition",{elementType:yc,externalForwardedProps:_e,ownerState:$e}),[_t,Zs]=Qr("tooltip",{elementType:o1e,className:Q.tooltip,externalForwardedProps:_e,ownerState:$e}),[jp,Vk]=Qr("arrow",{elementType:a1e,className:Q.arrow,externalForwardedProps:_e,ownerState:$e,ref:Le});return(0,Bd.jsxs)(So.Fragment,{children:[So.cloneElement(oe,Pt),(0,Bd.jsx)(Fe,{as:N!=null?N:RC,placement:M,anchorEl:x?{getBoundingClientRect:()=>({top:Bv.y,left:Bv.x,right:Bv.x,bottom:Bv.y,width:0,height:0})}:Ae,popperRef:vt,open:Ae?Ne:!1,id:tt,transition:!0,...ht,...Kt,popperOptions:q,children:({TransitionProps:Qe})=>(0,Bd.jsx)(Gr,{timeout:ee.transitions.duration.shorter,...Qe,...Ft,children:(0,Bd.jsxs)(_t,{...Zs,children:[K,a?(0,Bd.jsx)(jp,{...Vk}):null]})})})]})}),to=n1e;var g7=y(P());function x7(e){return de("MuiSwitch",e)}var s1e=pe("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),Na=s1e;var Tx=y(U()),i1e=e=>{let{classes:t,edge:r,size:o,color:a,checked:n,disabled:s}=e,i={root:["root",r&&`edge${ae(r)}`,`size${ae(o)}`],switchBase:["switchBase",`color${ae(a)}`,n&&"checked",s&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},p=fe(i,x7,t);return{...t,...p}},l1e=X("span",{name:"MuiSwitch",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.edge&&t[`edge${ae(r.edge)}`],t[`size${ae(r.size)}`]]}})({display:"inline-flex",width:34+12*2,height:14+12*2,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"},variants:[{props:{edge:"start"},style:{marginLeft:-8}},{props:{edge:"end"},style:{marginRight:-8}},{props:{size:"small"},style:{width:40,height:24,padding:7,[`& .${Na.thumb}`]:{width:16,height:16},[`& .${Na.switchBase}`]:{padding:4,[`&.${Na.checked}`]:{transform:"translateX(16px)"}}}}]}),p1e=X(ix,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.switchBase,{[`& .${Na.input}`]:t.input},r.color!=="default"&&t[`color${ae(r.color)}`]]}})(be(({theme:e})=>({position:"absolute",top:0,left:0,zIndex:1,color:e.vars?e.vars.palette.Switch.defaultColor:`${e.palette.mode==="light"?e.palette.common.white:e.palette.grey[300]}`,transition:e.transitions.create(["left","transform"],{duration:e.transitions.duration.shortest}),[`&.${Na.checked}`]:{transform:"translateX(20px)"},[`&.${Na.disabled}`]:{color:e.vars?e.vars.palette.Switch.defaultDisabledColor:`${e.palette.mode==="light"?e.palette.grey[100]:e.palette.grey[600]}`},[`&.${Na.checked} + .${Na.track}`]:{opacity:.5},[`&.${Na.disabled} + .${Na.track}`]:{opacity:e.vars?e.vars.opacity.switchTrackDisabled:`${e.palette.mode==="light"?.12:.2}`},[`& .${Na.input}`]:{left:"-100%",width:"300%"}})),be(({theme:e})=>({"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})`:St(e.palette.action.active,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},variants:[...Object.entries(e.palette).filter(Ot(["light"])).map(([t])=>({props:{color:t},style:{[`&.${Na.checked}`]:{color:(e.vars||e).palette[t].main,"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette[t].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:St(e.palette[t].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Na.disabled}`]:{color:e.vars?e.vars.palette.Switch[`${t}DisabledColor`]:`${e.palette.mode==="light"?Zl(e.palette[t].main,.62):Yl(e.palette[t].main,.55)}`}},[`&.${Na.checked} + .${Na.track}`]:{backgroundColor:(e.vars||e).palette[t].main}}}))]}))),d1e=X("span",{name:"MuiSwitch",slot:"Track",overridesResolver:(e,t)=>t.track})(be(({theme:e})=>({height:"100%",width:"100%",borderRadius:14/2,zIndex:-1,transition:e.transitions.create(["opacity","background-color"],{duration:e.transitions.duration.shortest}),backgroundColor:e.vars?e.vars.palette.common.onBackground:`${e.palette.mode==="light"?e.palette.common.black:e.palette.common.white}`,opacity:e.vars?e.vars.opacity.switchTrack:`${e.palette.mode==="light"?.38:.3}`}))),u1e=X("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:(e,t)=>t.thumb})(be(({theme:e})=>({boxShadow:(e.vars||e).shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}))),f1e=g7.forwardRef(function(t,r){let o=ce({props:t,name:"MuiSwitch"}),{className:a,color:n="primary",edge:s=!1,size:i="medium",sx:p,...l}=o,d={...o,color:n,edge:s,size:i},u=i1e(d),f=(0,Tx.jsx)(u1e,{className:u.thumb,ownerState:d});return(0,Tx.jsxs)(l1e,{className:z(u.root,a),sx:p,ownerState:d,children:[(0,Tx.jsx)(p1e,{type:"checkbox",icon:f,checkedIcon:f,ref:r,ownerState:d,...l,classes:{...u,root:u.switchBase}}),(0,Tx.jsx)(d1e,{className:u.track,ownerState:d})]})}),Tc=f1e;var xp=y(P());function y7(e){return de("MuiTab",e)}var c1e=pe("MuiTab",["root","labelIcon","textColorInherit","textColorPrimary","textColorSecondary","selected","disabled","fullWidth","wrapped","iconWrapper","icon"]),Kn=c1e;var lO=y(U()),m1e=e=>{let{classes:t,textColor:r,fullWidth:o,wrapped:a,icon:n,label:s,selected:i,disabled:p}=e,l={root:["root",n&&s&&"labelIcon",`textColor${ae(r)}`,o&&"fullWidth",a&&"wrapped",i&&"selected",p&&"disabled"],icon:["iconWrapper","icon"]};return fe(l,y7,t)},h1e=X(Go,{name:"MuiTab",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.label&&r.icon&&t.labelIcon,t[`textColor${ae(r.textColor)}`],r.fullWidth&&t.fullWidth,r.wrapped&&t.wrapped,{[`& .${Kn.iconWrapper}`]:t.iconWrapper},{[`& .${Kn.icon}`]:t.icon}]}})(be(({theme:e})=>({...e.typography.button,maxWidth:360,minWidth:90,position:"relative",minHeight:48,flexShrink:0,padding:"12px 16px",overflow:"hidden",whiteSpace:"normal",textAlign:"center",lineHeight:1.25,variants:[{props:({ownerState:t})=>t.label&&(t.iconPosition==="top"||t.iconPosition==="bottom"),style:{flexDirection:"column"}},{props:({ownerState:t})=>t.label&&t.iconPosition!=="top"&&t.iconPosition!=="bottom",style:{flexDirection:"row"}},{props:({ownerState:t})=>t.icon&&t.label,style:{minHeight:72,paddingTop:9,paddingBottom:9}},{props:({ownerState:t,iconPosition:r})=>t.icon&&t.label&&r==="top",style:{[`& > .${Kn.icon}`]:{marginBottom:6}}},{props:({ownerState:t,iconPosition:r})=>t.icon&&t.label&&r==="bottom",style:{[`& > .${Kn.icon}`]:{marginTop:6}}},{props:({ownerState:t,iconPosition:r})=>t.icon&&t.label&&r==="start",style:{[`& > .${Kn.icon}`]:{marginRight:e.spacing(1)}}},{props:({ownerState:t,iconPosition:r})=>t.icon&&t.label&&r==="end",style:{[`& > .${Kn.icon}`]:{marginLeft:e.spacing(1)}}},{props:{textColor:"inherit"},style:{color:"inherit",opacity:.6,[`&.${Kn.selected}`]:{opacity:1},[`&.${Kn.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity}}},{props:{textColor:"primary"},style:{color:(e.vars||e).palette.text.secondary,[`&.${Kn.selected}`]:{color:(e.vars||e).palette.primary.main},[`&.${Kn.disabled}`]:{color:(e.vars||e).palette.text.disabled}}},{props:{textColor:"secondary"},style:{color:(e.vars||e).palette.text.secondary,[`&.${Kn.selected}`]:{color:(e.vars||e).palette.secondary.main},[`&.${Kn.disabled}`]:{color:(e.vars||e).palette.text.disabled}}},{props:({ownerState:t})=>t.fullWidth,style:{flexShrink:1,flexGrow:1,flexBasis:0,maxWidth:"none"}},{props:({ownerState:t})=>t.wrapped,style:{fontSize:e.typography.pxToRem(12)}}]}))),x1e=xp.forwardRef(function(t,r){let o=ce({props:t,name:"MuiTab"}),{className:a,disabled:n=!1,disableFocusRipple:s=!1,fullWidth:i,icon:p,iconPosition:l="top",indicator:d,label:u,onChange:f,onClick:c,onFocus:m,selected:g,selectionFollowsFocus:h,textColor:x="inherit",value:T,wrapped:v=!1,...b}=o,w={...o,disabled:n,disableFocusRipple:s,selected:g,icon:!!p,iconPosition:l,label:!!u,fullWidth:i,textColor:x,wrapped:v},O=m1e(w),k=p&&u&&xp.isValidElement(p)?xp.cloneElement(p,{className:z(O.icon,p.props.className)}):p,M=S=>{!g&&f&&f(S,T),c&&c(S)},N=S=>{h&&!g&&f&&f(S,T),m&&m(S)};return(0,lO.jsxs)(h1e,{focusRipple:!s,className:z(O.root,a),ref:r,role:"tab","aria-selected":g,disabled:n,onClick:M,onFocus:N,ownerState:w,tabIndex:g?0:-1,...b,children:[l==="top"||l==="start"?(0,lO.jsxs)(xp.Fragment,{children:[k,u]}):(0,lO.jsxs)(xp.Fragment,{children:[u,k]}),d]})}),gp=x1e;var v7=y(P());function b7(e){return de("MuiToolbar",e)}var dIt=pe("MuiToolbar",["root","gutters","regular","dense"]);var T7=y(U()),g1e=e=>{let{classes:t,disableGutters:r,variant:o}=e;return fe({root:["root",!r&&"gutters",o]},b7,t)},y1e=X("div",{name:"MuiToolbar",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,!r.disableGutters&&t.gutters,t[r.variant]]}})(be(({theme:e})=>({position:"relative",display:"flex",alignItems:"center",variants:[{props:({ownerState:t})=>!t.disableGutters,style:{paddingLeft:e.spacing(2),paddingRight:e.spacing(2),[e.breakpoints.up("sm")]:{paddingLeft:e.spacing(3),paddingRight:e.spacing(3)}}},{props:{variant:"dense"},style:{minHeight:48}},{props:{variant:"regular"},style:e.mixins.toolbar}]}))),b1e=v7.forwardRef(function(t,r){let o=ce({props:t,name:"MuiToolbar"}),{className:a,component:n="div",disableGutters:s=!1,variant:i="regular",...p}=o,l={...o,component:n,disableGutters:s,variant:i},d=g1e(l);return(0,T7.jsx)(y1e,{as:n,className:z(d.root,a),ref:r,ownerState:l,...p})}),Sx=b1e;var SIt=y(P());var S7=y(U()),w7=te((0,S7.jsx)("path",{d:"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"}),"KeyboardArrowLeft");var CIt=y(P());var _7=y(U()),C7=te((0,_7.jsx)("path",{d:"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"}),"KeyboardArrowRight");var hr=y(P()),ZIt=y(cd());function v1e(e){return(1+Math.sin(Math.PI*e-Math.PI/2))/2}function lN(e,t,r,o={},a=()=>{}){let{ease:n=v1e,duration:s=300}=o,i=null,p=t[e],l=!1,d=()=>{l=!0},u=f=>{if(l){a(new Error("Animation cancelled"));return}i===null&&(i=f);let c=Math.min(1,(f-i)/s);if(t[e]=n(c)*(r-p)+p,c>=1){requestAnimationFrame(()=>{a(null)});return}requestAnimationFrame(u)};return p===r?(a(new Error("Element already at target position")),d):(requestAnimationFrame(u),d)}var jv=y(P());var O7=y(U()),T1e={width:99,height:99,position:"absolute",top:-9999,overflow:"scroll"};function pN(e){let{onChange:t,...r}=e,o=jv.useRef(),a=jv.useRef(null),n=()=>{o.current=a.current.offsetHeight-a.current.clientHeight};return mi(()=>{let s=Gh(()=>{let p=o.current;n(),p!==o.current&&t(o.current)}),i=ll(a.current);return i.addEventListener("resize",s),()=>{s.clear(),i.removeEventListener("resize",s)}},[t]),jv.useEffect(()=>{n(),t(o.current)},[t]),(0,O7.jsx)("div",{style:T1e,ref:a,...r})}var P7=y(P());function k7(e){return de("MuiTabScrollButton",e)}var S1e=pe("MuiTabScrollButton",["root","vertical","horizontal","disabled"]),E7=S1e;var pO=y(U()),w1e=e=>{let{classes:t,orientation:r,disabled:o}=e;return fe({root:["root",r,o&&"disabled"]},k7,t)},_1e=X(Go,{name:"MuiTabScrollButton",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.orientation&&t[r.orientation]]}})({width:40,flexShrink:0,opacity:.8,[`&.${E7.disabled}`]:{opacity:0},variants:[{props:{orientation:"vertical"},style:{width:"100%",height:40,"& svg":{transform:"var(--TabScrollButton-svgRotate)"}}}]}),C1e=P7.forwardRef(function(t,r){var T,v;let o=ce({props:t,name:"MuiTabScrollButton"}),{className:a,slots:n={},slotProps:s={},direction:i,orientation:p,disabled:l,...d}=o,u=Rs(),f={isRtl:u,...o},c=w1e(f),m=(T=n.StartScrollButtonIcon)!=null?T:w7,g=(v=n.EndScrollButtonIcon)!=null?v:C7,h=zo({elementType:m,externalSlotProps:s.startScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:f}),x=zo({elementType:g,externalSlotProps:s.endScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:f});return(0,pO.jsx)(_1e,{component:"div",className:z(c.root,a),ref:r,role:null,ownerState:f,tabIndex:null,...d,style:{...d.style,...p==="vertical"&&{"--TabScrollButton-svgRotate":`rotate(${u?-90:90}deg)`}},children:i==="left"?(0,pO.jsx)(m,{...h}):(0,pO.jsx)(g,{...x})})}),dN=C1e;function R7(e){return de("MuiTabs",e)}var O1e=pe("MuiTabs",["root","vertical","flexContainer","flexContainerVertical","centered","scroller","fixed","scrollableX","scrollableY","hideScrollbar","scrollButtons","scrollButtonsHideMobile","indicator"]),dO=O1e;var yp=y(U()),D7=(e,t)=>e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:e.firstChild,A7=(e,t)=>e===t?e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:e.lastChild,uO=(e,t,r)=>{let o=!1,a=r(e,t);for(;a;){if(a===e.firstChild){if(o)return;o=!0}let n=a.disabled||a.getAttribute("aria-disabled")==="true";if(!a.hasAttribute("tabindex")||n)a=r(e,a);else{a.focus();return}}},k1e=e=>{let{vertical:t,fixed:r,hideScrollbar:o,scrollableX:a,scrollableY:n,centered:s,scrollButtonsHideMobile:i,classes:p}=e;return fe({root:["root",t&&"vertical"],scroller:["scroller",r&&"fixed",o&&"hideScrollbar",a&&"scrollableX",n&&"scrollableY"],flexContainer:["flexContainer",t&&"flexContainerVertical",s&&"centered"],indicator:["indicator"],scrollButtons:["scrollButtons",i&&"scrollButtonsHideMobile"],scrollableX:[a&&"scrollableX"],hideScrollbar:[o&&"hideScrollbar"]},R7,p)},E1e=X("div",{name:"MuiTabs",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[{[`& .${dO.scrollButtons}`]:t.scrollButtons},{[`& .${dO.scrollButtons}`]:r.scrollButtonsHideMobile&&t.scrollButtonsHideMobile},t.root,r.vertical&&t.vertical]}})(be(({theme:e})=>({overflow:"hidden",minHeight:48,WebkitOverflowScrolling:"touch",display:"flex",variants:[{props:({ownerState:t})=>t.vertical,style:{flexDirection:"column"}},{props:({ownerState:t})=>t.scrollButtonsHideMobile,style:{[`& .${dO.scrollButtons}`]:{[e.breakpoints.down("sm")]:{display:"none"}}}}]}))),P1e=X("div",{name:"MuiTabs",slot:"Scroller",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.scroller,r.fixed&&t.fixed,r.hideScrollbar&&t.hideScrollbar,r.scrollableX&&t.scrollableX,r.scrollableY&&t.scrollableY]}})({position:"relative",display:"inline-block",flex:"1 1 auto",whiteSpace:"nowrap",variants:[{props:({ownerState:e})=>e.fixed,style:{overflowX:"hidden",width:"100%"}},{props:({ownerState:e})=>e.hideScrollbar,style:{scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}},{props:({ownerState:e})=>e.scrollableX,style:{overflowX:"auto",overflowY:"hidden"}},{props:({ownerState:e})=>e.scrollableY,style:{overflowY:"auto",overflowX:"hidden"}}]}),R1e=X("div",{name:"MuiTabs",slot:"FlexContainer",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.flexContainer,r.vertical&&t.flexContainerVertical,r.centered&&t.centered]}})({display:"flex",variants:[{props:({ownerState:e})=>e.vertical,style:{flexDirection:"column"}},{props:({ownerState:e})=>e.centered,style:{justifyContent:"center"}}]}),D1e=X("span",{name:"MuiTabs",slot:"Indicator",overridesResolver:(e,t)=>t.indicator})(be(({theme:e})=>({position:"absolute",height:2,bottom:0,width:"100%",transition:e.transitions.create(),variants:[{props:{indicatorColor:"primary"},style:{backgroundColor:(e.vars||e).palette.primary.main}},{props:{indicatorColor:"secondary"},style:{backgroundColor:(e.vars||e).palette.secondary.main}},{props:({ownerState:t})=>t.vertical,style:{height:"100%",width:2,right:0}}]}))),A1e=X(pN)({overflowX:"auto",overflowY:"hidden",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}),M7={};var M1e=hr.forwardRef(function(t,r){let o=ce({props:t,name:"MuiTabs"}),a=Wo(),n=Rs(),{"aria-label":s,"aria-labelledby":i,action:p,centered:l=!1,children:d,className:u,component:f="div",allowScrollButtonsMobile:c=!1,indicatorColor:m="primary",onChange:g,orientation:h="horizontal",ScrollButtonComponent:x=dN,scrollButtons:T="auto",selectionFollowsFocus:v,slots:b={},slotProps:w={},TabIndicatorProps:O={},TabScrollButtonProps:k={},textColor:M="primary",value:N,variant:S="standard",visibleScrollbar:B=!1,...$}=o,K=S==="scrollable",G=h==="vertical",L=G?"scrollTop":"scrollLeft",Y=G?"top":"left",oe=G?"bottom":"right",ee=G?"clientHeight":"clientWidth",se=G?"height":"width",Ae={...o,component:f,allowScrollButtonsMobile:c,indicatorColor:m,orientation:h,vertical:G,scrollButtons:T,textColor:M,variant:S,visibleScrollbar:B,fixed:!K,hideScrollbar:K&&!B,scrollableX:K&&!G,scrollableY:K&&G,centered:l&&!K,scrollButtonsHideMobile:!c},Me=k1e(Ae),Ge=zo({elementType:b.StartScrollButtonIcon,externalSlotProps:w.startScrollButtonIcon,ownerState:Ae}),Le=zo({elementType:b.EndScrollButtonIcon,externalSlotProps:w.endScrollButtonIcon,ownerState:Ae}),[ke,Ve]=hr.useState(!1),[Ee,nt]=hr.useState(M7),[Ze,qe]=hr.useState(!1),[ct,We]=hr.useState(!1),[Ne,tt]=hr.useState(!1),[Xe,rt]=hr.useState({overflow:"hidden",scrollbarWidth:0}),ue=new Map,Ce=hr.useRef(null),He=hr.useRef(null),Ke=()=>{let q=Ce.current,Q;if(q){let _e=q.getBoundingClientRect();Q={clientWidth:q.clientWidth,scrollLeft:q.scrollLeft,scrollTop:q.scrollTop,scrollWidth:q.scrollWidth,top:_e.top,bottom:_e.bottom,left:_e.left,right:_e.right}}let Se;if(q&&N!==!1){let _e=He.current.children;if(_e.length>0){let Fe=_e[ue.get(N)];Se=Fe?Fe.getBoundingClientRect():null}}return{tabsMeta:Q,tabMeta:Se}},ot=Ns(()=>{let{tabsMeta:q,tabMeta:Q}=Ke(),Se=0,_e;G?(_e="top",Q&&q&&(Se=Q.top-q.top+q.scrollTop)):(_e=n?"right":"left",Q&&q&&(Se=(n?-1:1)*(Q[_e]-q[_e]+q.scrollLeft)));let Fe={[_e]:Se,[se]:Q?Q[se]:0};if(typeof Ee[_e]!="number"||typeof Ee[se]!="number")nt(Fe);else{let Kt=Math.abs(Ee[_e]-Fe[_e]),Gr=Math.abs(Ee[se]-Fe[se]);(Kt>=1||Gr>=1)&&nt(Fe)}}),yt=(q,{animation:Q=!0}={})=>{Q?lN(L,Ce.current,q,{duration:a.transitions.duration.standard}):Ce.current[L]=q},bt=q=>{let Q=Ce.current[L];G?Q+=q:Q+=q*(n?-1:1),yt(Q)},Ie=()=>{let q=Ce.current[ee],Q=0,Se=Array.from(He.current.children);for(let _e=0;_eq){_e===0&&(Q=q);break}Q+=Fe[ee]}return Q},he=()=>{bt(-1*Ie())},De=()=>{bt(Ie())},gt=hr.useCallback(q=>{rt({overflow:null,scrollbarWidth:q})},[]),vt=()=>{let q={};q.scrollbarSizeListener=K?(0,yp.jsx)(A1e,{onChange:gt,className:z(Me.scrollableX,Me.hideScrollbar)}):null;let Se=K&&(T==="auto"&&(Ze||ct)||T===!0);return q.scrollButtonStart=Se?(0,yp.jsx)(x,{slots:{StartScrollButtonIcon:b.StartScrollButtonIcon},slotProps:{startScrollButtonIcon:Ge},orientation:h,direction:n?"right":"left",onClick:he,disabled:!Ze,...k,className:z(Me.scrollButtons,k.className)}):null,q.scrollButtonEnd=Se?(0,yp.jsx)(x,{slots:{EndScrollButtonIcon:b.EndScrollButtonIcon},slotProps:{endScrollButtonIcon:Le},orientation:h,direction:n?"left":"right",onClick:De,disabled:!ct,...k,className:z(Me.scrollButtons,k.className)}):null,q},Et=Ns(q=>{let{tabsMeta:Q,tabMeta:Se}=Ke();if(!(!Se||!Q)){if(Se[Y]Q[oe]){let _e=Q[L]+(Se[oe]-Q[oe]);yt(_e,{animation:q})}}}),Pe=Ns(()=>{K&&T!==!1&&tt(!Ne)});hr.useEffect(()=>{let q=Gh(()=>{Ce.current&&ot()}),Q,Se=Kt=>{Kt.forEach(Gr=>{Gr.removedNodes.forEach(Ft=>{Q==null||Q.unobserve(Ft)}),Gr.addedNodes.forEach(Ft=>{Q==null||Q.observe(Ft)})}),q(),Pe()},_e=ll(Ce.current);_e.addEventListener("resize",q);let Fe;return typeof ResizeObserver!="undefined"&&(Q=new ResizeObserver(q),Array.from(He.current.children).forEach(Kt=>{Q.observe(Kt)})),typeof MutationObserver!="undefined"&&(Fe=new MutationObserver(Se),Fe.observe(He.current,{childList:!0})),()=>{q.clear(),_e.removeEventListener("resize",q),Fe==null||Fe.disconnect(),Q==null||Q.disconnect()}},[ot,Pe]),hr.useEffect(()=>{let q=Array.from(He.current.children),Q=q.length;if(typeof IntersectionObserver!="undefined"&&Q>0&&K&&T!==!1){let Se=q[0],_e=q[Q-1],Fe={root:Ce.current,threshold:.99},Kt=Zs=>{qe(!Zs[0].isIntersecting)},Gr=new IntersectionObserver(Kt,Fe);Gr.observe(Se);let Ft=Zs=>{We(!Zs[0].isIntersecting)},_t=new IntersectionObserver(Ft,Fe);return _t.observe(_e),()=>{Gr.disconnect(),_t.disconnect()}}},[K,T,Ne,d==null?void 0:d.length]),hr.useEffect(()=>{Ve(!0)},[]),hr.useEffect(()=>{ot()}),hr.useEffect(()=>{Et(M7!==Ee)},[Et,Ee]),hr.useImperativeHandle(p,()=>({updateIndicator:ot,updateScrollButtons:Pe}),[ot,Pe]);let qt=(0,yp.jsx)(D1e,{...O,className:z(Me.indicator,O.className),ownerState:Ae,style:{...Ee,...O.style}}),Pt=0,ht=hr.Children.map(d,q=>{if(!hr.isValidElement(q))return null;let Q=q.props.value===void 0?Pt:q.props.value;ue.set(Q,Pt);let Se=Q===N;return Pt+=1,hr.cloneElement(q,{fullWidth:S==="fullWidth",indicator:Se&&!ke&&qt,selected:Se,selectionFollowsFocus:v,onChange:g,textColor:M,value:Q,...Pt===1&&N===!1&&!q.props.tabIndex?{tabIndex:0}:{}})}),$e=q=>{let Q=He.current,Se=lp(Q).activeElement;if(Se.getAttribute("role")!=="tab")return;let Fe=h==="horizontal"?"ArrowLeft":"ArrowUp",Kt=h==="horizontal"?"ArrowRight":"ArrowDown";switch(h==="horizontal"&&n&&(Fe="ArrowRight",Kt="ArrowLeft"),q.key){case Fe:q.preventDefault(),uO(Q,Se,A7);break;case Kt:q.preventDefault(),uO(Q,Se,D7);break;case"Home":q.preventDefault(),uO(Q,null,D7);break;case"End":q.preventDefault(),uO(Q,null,A7);break;default:break}},At=vt();return(0,yp.jsxs)(E1e,{className:z(Me.root,u),ownerState:Ae,ref:r,as:f,...$,children:[At.scrollButtonStart,At.scrollbarSizeListener,(0,yp.jsxs)(P1e,{className:Me.scroller,ownerState:Ae,style:{overflow:Xe.overflow,[G?`margin${n?"Left":"Right"}`:"marginBottom"]:B?void 0:-Xe.scrollbarWidth},ref:Ce,children:[(0,yp.jsx)(R1e,{"aria-label":s,"aria-labelledby":i,"aria-orientation":h==="vertical"?"vertical":null,className:Me.flexContainer,ownerState:Ae,onKeyDown:$e,ref:He,role:"tablist",children:ht}),ke&&qt]}),At.scrollButtonEnd]})}),fO=M1e;var I7=y(P());function N7(e){return de("MuiTextField",e)}var TFt=pe("MuiTextField",["root"]);var Sc=y(U()),N1e={standard:va,filled:_v,outlined:Dv},I1e=e=>{let{classes:t}=e;return fe({root:["root"]},N7,t)},F1e=X(Ws,{name:"MuiTextField",slot:"Root",overridesResolver:(e,t)=>t.root})({}),B1e=I7.forwardRef(function(t,r){let o=ce({props:t,name:"MuiTextField"}),{autoComplete:a,autoFocus:n=!1,children:s,className:i,color:p="primary",defaultValue:l,disabled:d=!1,error:u=!1,FormHelperTextProps:f,fullWidth:c=!1,helperText:m,id:g,InputLabelProps:h,inputProps:x,InputProps:T,inputRef:v,label:b,maxRows:w,minRows:O,multiline:k=!1,name:M,onBlur:N,onChange:S,onFocus:B,placeholder:$,required:K=!1,rows:G,select:L=!1,SelectProps:Y,slots:oe={},slotProps:ee={},type:se,value:Ae,variant:Me="outlined",...Ge}=o,Le={...o,autoFocus:n,color:p,disabled:d,error:u,fullWidth:c,multiline:k,required:K,select:L,variant:Me},ke=I1e(Le),Ve=Qi(g),Ee=m&&Ve?`${Ve}-helper-text`:void 0,nt=b&&Ve?`${Ve}-label`:void 0,Ze=N1e[Me],qe={slots:oe,slotProps:{input:T,inputLabel:h,htmlInput:x,formHelperText:f,select:Y,...ee}},ct={},We=qe.slotProps.inputLabel;Me==="outlined"&&(We&&typeof We.shrink!="undefined"&&(ct.notched=We.shrink),ct.label=b),L&&((!Y||!Y.native)&&(ct.id=void 0),ct["aria-describedby"]=void 0);let[Ne,tt]=Qr("input",{elementType:Ze,externalForwardedProps:qe,additionalProps:ct,ownerState:Le}),[Xe,rt]=Qr("inputLabel",{elementType:Dd,externalForwardedProps:qe,ownerState:Le}),[ue,Ce]=Qr("htmlInput",{elementType:"input",externalForwardedProps:qe,ownerState:Le}),[He,Ke]=Qr("formHelperText",{elementType:DM,externalForwardedProps:qe,ownerState:Le}),[ot,yt]=Qr("select",{elementType:Sa,externalForwardedProps:qe,ownerState:Le}),bt=(0,Sc.jsx)(Ne,{"aria-describedby":Ee,autoComplete:a,autoFocus:n,defaultValue:l,fullWidth:c,multiline:k,name:M,rows:G,maxRows:w,minRows:O,type:se,value:Ae,id:Ve,inputRef:v,onBlur:N,onChange:S,onFocus:B,placeholder:$,inputProps:Ce,slots:{input:oe.htmlInput?ue:void 0},...tt});return(0,Sc.jsxs)(F1e,{className:z(ke.root,i),disabled:d,error:u,fullWidth:c,ref:r,required:K,color:p,variant:Me,ownerState:Le,...Ge,children:[b!=null&&b!==""&&(0,Sc.jsx)(Xe,{htmlFor:Ve,id:nt,...rt,children:b}),L?(0,Sc.jsx)(ot,{"aria-describedby":Ee,id:Ve,labelId:nt,value:Ae,input:bt,...yt,children:s}):bt,m&&(0,Sc.jsx)(He,{id:Ee,...Ke,children:m})]})}),Ir=B1e;var F7=y(U()),cO=te((0,F7.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add");var B7=y(U()),uN=te((0,B7.jsx)("path",{d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z"}),"ArrowBack");var j7=y(U()),fN=te((0,j7.jsx)("path",{d:"m10 17 5-5-5-5z"}),"ArrowRight");var L7=y(U()),cN=te((0,L7.jsx)("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm2 11h-3v3.75c0 1.24-1.01 2.25-2.25 2.25S8.5 17.99 8.5 16.75s1.01-2.25 2.25-2.25c.46 0 .89.14 1.25.38V11h4zm-3-4V3.5L18.5 9z"}),"AudioFile");var mN=y(U()),hN=te([(0,mN.jsx)("path",{d:"M16.5 12h-9c-.55 0-1 .45-1 1v1h11v-1c0-.55-.45-1-1-1M7.25 8.5h4v2h-4zm5.5 0h4v2h-4z"},"0"),(0,mN.jsx)("path",{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-1 15h-1.5v-1.5h-11V17H5v-3.83c0-.66.25-1.26.65-1.72V9c0-1.1.9-2 2-2H11c.37 0 .72.12 1 .32.28-.2.63-.32 1-.32h3.35c1.1 0 2 .9 2 2v2.45c.4.46.65 1.06.65 1.72z"},"1")],"BedroomParent");var z7=y(U()),xN=te((0,z7.jsx)("path",{d:"M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2"}),"Bookmark");var W7=y(U()),gN=te((0,W7.jsx)("path",{d:"M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2m0 15-5-2.18L7 18V5h10z"}),"BookmarkBorder");var U7=y(U()),yN=te((0,U7.jsx)("path",{d:"M22 24H2v-4h20zM13.06 5.19l3.75 3.75L7.75 18H4v-3.75zm4.82 2.68-3.75-3.75 1.83-1.83c.39-.39 1.02-.39 1.41 0l2.34 2.34c.39.39.39 1.02 0 1.41z"}),"BorderColor");var V7=y(U()),Lv=te((0,V7.jsx)("path",{d:"M20 15.31 23.31 12 20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20zM12 18V6c3.31 0 6 2.69 6 6s-2.69 6-6 6"}),"Brightness6");var H7=y(U()),bN=te((0,H7.jsx)("path",{d:"m22.7 19-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4"}),"Build");var $7=y(U()),vN=te((0,$7.jsx)("path",{d:"M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m0 18H4V8h16z"}),"CalendarToday");var G7=y(U()),Ti=te((0,G7.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12z"}),"Cancel");var q7=y(U()),wo=te((0,q7.jsx)("path",{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"Check");var K7=y(U()),mo=te((0,K7.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");var X7=y(U()),wx=te((0,X7.jsx)("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6z"}),"Code");var J7=y(U()),TN=te((0,J7.jsx)("path",{d:"m13.7826 15.1719 2.1213-2.1213 5.9963 5.9962-2.1213 2.1213zM17.5 10c1.93 0 3.5-1.57 3.5-3.5 0-.58-.16-1.12-.41-1.6l-2.7 2.7-1.49-1.49 2.7-2.7c-.48-.25-1.02-.41-1.6-.41C15.57 3 14 4.57 14 6.5c0 .41.08.8.21 1.16l-1.85 1.85-1.78-1.78.71-.71-1.41-1.41L12 3.49c-1.17-1.17-3.07-1.17-4.24 0L4.22 7.03l1.41 1.41H2.81l-.71.71 3.54 3.54.71-.71V9.15l1.41 1.41.71-.71 1.78 1.78-7.41 7.41 2.12 2.12L16.34 9.79c.36.13.75.21 1.16.21"}),"Construction");var Y7=y(U()),SN=te((0,Y7.jsx)("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m0 16H8V7h11z"}),"ContentCopy");var Z7=y(U()),zv=te((0,Z7.jsx)("path",{d:"M20 6h-8l-2-2H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2m-1 8h-3v3h-2v-3h-3v-2h3V9h2v3h3z"}),"CreateNewFolder");var Q7=y(U()),wN=te((0,Q7.jsx)("path",{d:"M4 7v2c0 .55-.45 1-1 1H2v4h1c.55 0 1 .45 1 1v2c0 1.65 1.35 3 3 3h3v-2H7c-.55 0-1-.45-1-1v-2c0-1.3-.84-2.42-2-2.83v-.34C5.16 11.42 6 10.3 6 9V7c0-.55.45-1 1-1h3V4H7C5.35 4 4 5.35 4 7m17 3c-.55 0-1-.45-1-1V7c0-1.65-1.35-3-3-3h-3v2h3c.55 0 1 .45 1 1v2c0 1.3.84 2.42 2 2.83v.34c-1.16.41-2 1.52-2 2.83v2c0 .55-.45 1-1 1h-3v2h3c1.65 0 3-1.35 3-3v-2c0-.55.45-1 1-1h1v-4z"}),"DataObject");var eG=y(U()),Si=te((0,eG.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}),"Delete");var tG=y(U()),_x=te((0,tG.jsx)("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm2 16H8v-2h8zm0-4H8v-2h8zm-3-5V3.5L18.5 9z"}),"Description");var rG=y(U()),wc=te((0,rG.jsx)("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"}),"Edit");var oG=y(U()),_N=te((0,oG.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}),"Error");var aG=y(U()),CN=te((0,aG.jsx)("path",{d:"M20 19.59V8l-6-6H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c.45 0 .85-.15 1.19-.4l-4.43-4.43c-.8.52-1.74.83-2.76.83-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5c0 1.02-.31 1.96-.83 2.75zM9 13c0 1.66 1.34 3 3 3s3-1.34 3-3-1.34-3-3-3-3 1.34-3 3"}),"FindInPage");var nG=y(U()),ON=te((0,nG.jsx)("path",{d:"M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m0 12H4V8h16z"}),"FolderOpen");var sG=y(U()),kN=te((0,sG.jsx)("path",{d:"M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m-2.06 11L15 15.28 12.06 17l.78-3.33-2.59-2.24 3.41-.29L15 8l1.34 3.14 3.41.29-2.59 2.24z"}),"FolderSpecial");var iG=y(U()),EN=te((0,iG.jsx)("path",{d:"M9.93 13.5h4.14L12 7.98zM20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-4.05 16.5-1.14-3H9.17l-1.12 3H5.96l5.11-13h1.86l5.11 13z"}),"FontDownload");var lG=y(U()),PN=te((0,lG.jsx)("path",{d:"M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z"}),"FormatItalic");var pG=y(U()),RN=te((0,pG.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 17h-2v-2h2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25"}),"Help");var dG=y(U()),DN=te((0,dG.jsx)("path",{d:"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2M8.5 13.5l2.5 3.01L14.5 12l4.5 6H5z"}),"Image");var uG=y(U()),AN=te((0,uG.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-6h2zm0-8h-2V7h2z"}),"Info");var fG=y(U()),mO=te((0,fG.jsx)("path",{d:"M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm7 7V3.5L18.5 9z"}),"InsertDriveFile");var cG=y(U()),MN=te((0,cG.jsx)("path",{d:"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"}),"KeyboardReturn");var mG=y(U()),hO=te((0,mG.jsx)("path",{d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5"}),"Link");var hG=y(U()),NN=te((0,hG.jsx)("path",{d:"M3 13h2v-2H3zm0 4h2v-2H3zm0-8h2V7H3zm4 4h14v-2H7zm0 4h14v-2H7zM7 7v2h14V7z"}),"List");var xG=y(U()),IN=te((0,xG.jsx)("path",{d:"M19 5v14H5V5zm1.1-2H3.9c-.5 0-.9.4-.9.9v16.2c0 .4.4.9.9.9h16.2c.4 0 .9-.5.9-.9V3.9c0-.5-.5-.9-.9-.9M11 7h6v2h-6zm0 4h6v2h-6zm0 4h6v2h-6zM7 7h2v2H7zm0 4h2v2H7zm0 4h2v2H7z"}),"ListAlt");var gG=y(U()),FN=te((0,gG.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-5 14h-2V9h-2V7h4z"}),"LooksOne");var yG=y(U()),BN=te((0,yG.jsx)("path",{d:"M12 3v10.55c-.59-.34-1.27-.55-2-.55-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4V7h4V3z"}),"MusicNote");var bG=y(U()),xO=te((0,bG.jsx)("path",{d:"M12 6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0 10c2.7 0 5.8 1.29 6 2H6c.23-.72 3.31-2 6-2m0-12C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4m0 10c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4"}),"PersonOutlined");var vG=y(U()),_c=te((0,vG.jsx)("path",{d:"M5 4v2h14V4zm0 10h4v6h6v-6h4l-7-7z"}),"Publish");var TG=y(U()),Wv=te((0,TG.jsx)("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}),"Refresh");var SG=y(U()),gO=te((0,SG.jsx)("path",{d:"m20.2 5.9.8-.8C19.6 3.7 17.8 3 16 3s-3.6.7-5 2.1l.8.8C13 4.8 14.5 4.2 16 4.2s3 .6 4.2 1.7m-.9.8c-.9-.9-2.1-1.4-3.3-1.4s-2.4.5-3.3 1.4l.8.8c.7-.7 1.6-1 2.5-1s1.8.3 2.5 1zM19 13h-2V9h-2v4H5c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2M8 18H6v-2h2zm3.5 0h-2v-2h2zm3.5 0h-2v-2h2z"}),"Router");var wG=y(U()),Cx=te((0,wG.jsx)("path",{d:"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m3-10H5V5h10z"}),"Save");var _G=y(U()),jN=te((0,_G.jsx)("path",{d:"M19 12v7H5v-7H3v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7zm-6 .67 2.59-2.58L17 11.5l-5 5-5-5 1.41-1.41L11 12.67V3h2z"}),"SaveAlt");var CG=y(U()),Uv=te((0,CG.jsx)("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"}),"Settings");var OG=y(U()),yO=te((0,OG.jsx)("path",{d:"M12 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m7-7H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2m-1.75 9c0 .23-.02.46-.05.68l1.48 1.16c.13.11.17.3.08.45l-1.4 2.42c-.09.15-.27.21-.43.15l-1.74-.7c-.36.28-.76.51-1.18.69l-.26 1.85c-.03.17-.18.3-.35.3h-2.8c-.17 0-.32-.13-.35-.29l-.26-1.85c-.43-.18-.82-.41-1.18-.69l-1.74.7c-.16.06-.34 0-.43-.15l-1.4-2.42c-.09-.15-.05-.34.08-.45l1.48-1.16c-.03-.23-.05-.46-.05-.69s.02-.46.05-.68l-1.48-1.16c-.13-.11-.17-.3-.08-.45l1.4-2.42c.09-.15.27-.21.43-.15l1.74.7c.36-.28.76-.51 1.18-.69l.26-1.85c.03-.17.18-.3.35-.3h2.8c.17 0 .32.13.35.29l.26 1.85c.43.18.82.41 1.18.69l1.74-.7c.16-.06.34 0 .43.15l1.4 2.42c.09.15.05.34-.08.45l-1.48 1.16c.03.23.05.46.05.69"}),"SettingsApplications");var kG=y(U()),LN=te((0,kG.jsx)("path",{d:"m3.5 18.49 6-6.01 4 4L22 6.92l-1.41-1.41-7.09 7.97-4-4L2 16.99z"}),"ShowChart");var EG=y(U()),bO=te((0,EG.jsx)("path",{d:"M11.99 2c-5.52 0-10 4.48-10 10s4.48 10 10 10 10-4.48 10-10-4.48-10-10-10m3.61 6.34c1.07 0 1.93.86 1.93 1.93s-.86 1.93-1.93 1.93-1.93-.86-1.93-1.93c-.01-1.07.86-1.93 1.93-1.93m-6-1.58c1.3 0 2.36 1.06 2.36 2.36s-1.06 2.36-2.36 2.36-2.36-1.06-2.36-2.36c0-1.31 1.05-2.36 2.36-2.36m0 9.13v3.75c-2.4-.75-4.3-2.6-5.14-4.96 1.05-1.12 3.67-1.69 5.14-1.69.53 0 1.2.08 1.9.22-1.64.87-1.9 2.02-1.9 2.68M11.99 20c-.27 0-.53-.01-.79-.04v-4.07c0-1.42 2.94-2.13 4.4-2.13 1.07 0 2.92.39 3.84 1.15-1.17 2.97-4.06 5.09-7.45 5.09"}),"SupervisedUserCircle");var PG=y(U()),zN=te((0,PG.jsx)("path",{d:"M2.5 4v3h5v12h3V7h5V4zm19 5h-9v3h3v7h3v-7h3z"}),"TextFields");var RG=y(U()),WN=te((0,RG.jsx)("path",{d:"M16 13h-3V3h-2v10H8l4 4zM4 19v2h16v-2z"}),"VerticalAlignBottom");var DG=y(U()),UN=te((0,DG.jsx)("path",{d:"M8 11h3v10h2V11h3l-4-4zM4 3v2h16V3z"}),"VerticalAlignTop");var AG=y(U()),VN=te((0,AG.jsx)("path",{d:"M17 10.5V7c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-3.5l4 4v-11z"}),"Videocam");var MG=y(U()),HN=te((0,MG.jsx)("path",{d:"M14.67 5v14H9.33V5zm1 14H21V5h-5.33zm-7.34 0V5H3v14z"}),"ViewColumn");var NG=y(U()),$N=te((0,NG.jsx)("path",{d:"M14.67 5v6.5H9.33V5zm1 6.5H21V5h-5.33zm-1 7.5v-6.5H9.33V19zm1-6.5V19H21v-6.5zm-7.34 0H3V19h5.33zm0-1V5H3v6.5z"}),"ViewModule");var IG=y(U()),Cc=te((0,IG.jsx)("path",{d:"m1 9 2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9m8 8 3 3 3-3c-1.65-1.66-4.34-1.66-6 0m-4-4 2 2c2.76-2.76 7.24-2.76 10 0l2-2C15.14 9.14 8.87 9.14 5 13"}),"Wifi");var FG=y(U()),Ox=te((0,FG.jsx)("path",{d:"M22.99 9C19.15 5.16 13.8 3.76 8.84 4.78l2.52 2.52c3.47-.17 6.99 1.05 9.63 3.7zm-4 4c-1.29-1.29-2.84-2.13-4.49-2.56l3.53 3.53zM2 3.05 5.07 6.1C3.6 6.82 2.22 7.78 1 9l1.99 2c1.24-1.24 2.67-2.16 4.2-2.77l2.24 2.24C7.81 10.89 6.27 11.73 5 13v.01L6.99 15c1.36-1.36 3.14-2.04 4.92-2.06L18.98 20l1.27-1.26L3.29 1.79zM9 17l3 3 3-3c-1.65-1.66-4.34-1.66-6 0"}),"WifiOff");function GN(){console.log(` +`,Gfe=typeof VP!="string"?Gn` + animation: ${VP} 3s infinite linear; + `:null,qfe=e=>{let{classes:t,variant:r,color:o}=e,a={root:["root",`color${Y(o)}`,r],dashed:["dashed",`dashedColor${Y(o)}`],bar1:["bar",`barColor${Y(o)}`,(r==="indeterminate"||r==="query")&&"bar1Indeterminate",r==="determinate"&&"bar1Determinate",r==="buffer"&&"bar1Buffer"],bar2:["bar",r!=="buffer"&&`barColor${Y(o)}`,r==="buffer"&&`color${Y(o)}`,(r==="indeterminate"||r==="query")&&"bar2Indeterminate",r==="buffer"&&"bar2Buffer"]};return re(a,Zz,t)},$P=(e,t)=>e.vars?e.vars.palette.LinearProgress[`${t}Bg`]:e.palette.mode==="light"?Os(e.palette[t].main,.62):Cs(e.palette[t].main,.5),Kfe=W("span",{name:"MuiLinearProgress",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[`color${Y(r.color)}`],t[r.variant]]}})(ge(({theme:e})=>({position:"relative",overflow:"hidden",display:"block",height:4,zIndex:0,"@media print":{colorAdjust:"exact"},variants:[...Object.entries(e.palette).filter(vt()).map(([t])=>({props:{color:t},style:{backgroundColor:$P(e,t)}})),{props:({ownerState:t})=>t.color==="inherit"&&t.variant!=="buffer",style:{"&::before":{content:'""',position:"absolute",left:0,top:0,right:0,bottom:0,backgroundColor:"currentColor",opacity:.3}}},{props:{variant:"buffer"},style:{backgroundColor:"transparent"}},{props:{variant:"query"},style:{transform:"rotate(180deg)"}}]}))),Jfe=W("span",{name:"MuiLinearProgress",slot:"Dashed",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.dashed,t[`dashedColor${Y(r.color)}`]]}})(ge(({theme:e})=>({position:"absolute",marginTop:0,height:"100%",width:"100%",backgroundSize:"10px 10px",backgroundPosition:"0 -23px",variants:[{props:{color:"inherit"},style:{opacity:.3,backgroundImage:"radial-gradient(currentColor 0%, currentColor 16%, transparent 42%)"}},...Object.entries(e.palette).filter(vt()).map(([t])=>{let r=$P(e,t);return{props:{color:t},style:{backgroundImage:`radial-gradient(${r} 0%, ${r} 16%, transparent 42%)`}}})]})),Gfe||{animation:`${VP} 3s infinite linear`}),Xfe=W("span",{name:"MuiLinearProgress",slot:"Bar1",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.bar,t[`barColor${Y(r.color)}`],(r.variant==="indeterminate"||r.variant==="query")&&t.bar1Indeterminate,r.variant==="determinate"&&t.bar1Determinate,r.variant==="buffer"&&t.bar1Buffer]}})(ge(({theme:e})=>({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",variants:[{props:{color:"inherit"},style:{backgroundColor:"currentColor"}},...Object.entries(e.palette).filter(vt()).map(([t])=>({props:{color:t},style:{backgroundColor:(e.vars||e).palette[t].main}})),{props:{variant:"determinate"},style:{transition:`transform .${WP}s linear`}},{props:{variant:"buffer"},style:{zIndex:1,transition:`transform .${WP}s linear`}},{props:({ownerState:t})=>t.variant==="indeterminate"||t.variant==="query",style:{width:"auto"}},{props:({ownerState:t})=>t.variant==="indeterminate"||t.variant==="query",style:Vfe||{animation:`${UP} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite`}}]}))),Yfe=W("span",{name:"MuiLinearProgress",slot:"Bar2",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.bar,t[`barColor${Y(r.color)}`],(r.variant==="indeterminate"||r.variant==="query")&&t.bar2Indeterminate,r.variant==="buffer"&&t.bar2Buffer]}})(ge(({theme:e})=>({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",variants:[...Object.entries(e.palette).filter(vt()).map(([t])=>({props:{color:t},style:{"--LinearProgressBar2-barColor":(e.vars||e).palette[t].main}})),{props:({ownerState:t})=>t.variant!=="buffer"&&t.color!=="inherit",style:{backgroundColor:"var(--LinearProgressBar2-barColor, currentColor)"}},{props:({ownerState:t})=>t.variant!=="buffer"&&t.color==="inherit",style:{backgroundColor:"currentColor"}},{props:{color:"inherit"},style:{opacity:.3}},...Object.entries(e.palette).filter(vt()).map(([t])=>({props:{color:t,variant:"buffer"},style:{backgroundColor:$P(e,t),transition:`transform .${WP}s linear`}})),{props:({ownerState:t})=>t.variant==="indeterminate"||t.variant==="query",style:{width:"auto"}},{props:({ownerState:t})=>t.variant==="indeterminate"||t.variant==="query",style:$fe||{animation:`${HP} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite`}}]}))),Zfe=Qz.forwardRef(function(t,r){let o=ie({props:t,name:"MuiLinearProgress"}),{className:a,color:n="primary",value:s,valueBuffer:i,variant:p="indeterminate",...l}=o,d={...o,color:n,variant:p},u=qfe(d),f=Yn(),c={},h={bar1:{},bar2:{}};if((p==="determinate"||p==="buffer")&&s!==void 0){c["aria-valuenow"]=Math.round(s),c["aria-valuemin"]=0,c["aria-valuemax"]=100;let g=s-100;f&&(g=-g),h.bar1.transform=`translateX(${g}%)`}if(p==="buffer"&&i!==void 0){let g=(i||0)-100;f&&(g=-g),h.bar2.transform=`translateX(${g}%)`}return(0,Dm.jsxs)(Kfe,{className:K(u.root,a),ownerState:d,role:"progressbar",...c,ref:r,...l,children:[p==="buffer"?(0,Dm.jsx)(Jfe,{className:u.dashed,ownerState:d}):null,(0,Dm.jsx)(Xfe,{className:u.bar1,ownerState:d,style:h.bar1}),p==="determinate"?null:(0,Dm.jsx)(Yfe,{className:u.bar2,ownerState:d,style:h.bar2})]})}),Lw=Zfe;var jw=y(D());var e6=y(D()),Qfe=e6.createContext({}),Lo=Qfe;function t6(e){return te("MuiList",e)}var Sdt=Q("MuiList",["root","padding","dense","subheader"]);var zw=y($()),ece=e=>{let{classes:t,disablePadding:r,dense:o,subheader:a}=e;return re({root:["root",!r&&"padding",o&&"dense",a&&"subheader"]},t6,t)},tce=W("ul",{name:"MuiList",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,!r.disablePadding&&t.padding,r.dense&&t.dense,r.subheader&&t.subheader]}})({listStyle:"none",margin:0,padding:0,position:"relative",variants:[{props:({ownerState:e})=>!e.disablePadding,style:{paddingTop:8,paddingBottom:8}},{props:({ownerState:e})=>e.subheader,style:{paddingTop:0}}]}),rce=jw.forwardRef(function(t,r){let o=ie({props:t,name:"MuiList"}),{children:a,className:n,component:s="ul",dense:i=!1,disablePadding:p=!1,subheader:l,...d}=o,u=jw.useMemo(()=>({dense:i}),[i]),f={...o,component:s,dense:i,disablePadding:p},c=ece(f);return(0,zw.jsx)(Lo.Provider,{value:u,children:(0,zw.jsxs)(tce,{as:s,className:K(c.root,n),ref:r,ownerState:f,...d,children:[l,a]})})}),ef=rce;var Di=y(D());function r6(e){return te("MuiListItem",e)}var Fdt=Q("MuiListItem",["root","container","dense","alignItemsFlexStart","divider","gutters","padding","secondaryAction"]);var Np=y(D());function o6(e){return te("MuiListItemButton",e)}var oce=Q("MuiListItemButton",["root","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","selected"]),Ol=oce;var GP=y($()),ace=(e,t)=>{let{ownerState:r}=e;return[t.root,r.dense&&t.dense,r.alignItems==="flex-start"&&t.alignItemsFlexStart,r.divider&&t.divider,!r.disableGutters&&t.gutters]},nce=e=>{let{alignItems:t,classes:r,dense:o,disabled:a,disableGutters:n,divider:s,selected:i}=e,l=re({root:["root",o&&"dense",!n&&"gutters",s&&"divider",a&&"disabled",t==="flex-start"&&"alignItemsFlexStart",i&&"selected"]},o6,r);return{...r,...l}},sce=W(_o,{shouldForwardProp:e=>bt(e)||e==="classes",name:"MuiListItemButton",slot:"Root",overridesResolver:ace})(ge(({theme:e})=>({display:"flex",flexGrow:1,justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minWidth:0,boxSizing:"border-box",textAlign:"left",paddingTop:8,paddingBottom:8,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Ol.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:st(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${Ol.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:st(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${Ol.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:st(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:st(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${Ol.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${Ol.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},variants:[{props:({ownerState:t})=>t.divider,style:{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"}},{props:{alignItems:"flex-start"},style:{alignItems:"flex-start"}},{props:({ownerState:t})=>!t.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:t})=>t.dense,style:{paddingTop:4,paddingBottom:4}}]}))),ice=Np.forwardRef(function(t,r){let o=ie({props:t,name:"MuiListItemButton"}),{alignItems:a="center",autoFocus:n=!1,component:s="div",children:i,dense:p=!1,disableGutters:l=!1,divider:d=!1,focusVisibleClassName:u,selected:f=!1,className:c,...h}=o,g=Np.useContext(Lo),m=Np.useMemo(()=>({dense:p||g.dense||!1,alignItems:a,disableGutters:l}),[a,g.dense,p,l]),x=Np.useRef(null);Is(()=>{n&&x.current&&x.current.focus()},[n]);let T={...o,alignItems:a,dense:m.dense,disableGutters:l,divider:d,selected:f},b=nce(T),v=Qt(x,r);return(0,GP.jsx)(Lo.Provider,{value:m,children:(0,GP.jsx)(sce,{ref:v,href:h.href||h.to,component:(h.href||h.to)&&s==="div"?"button":s,focusVisibleClassName:K(b.focusVisible,u),ownerState:T,className:K(b.root,c),...h,classes:b,children:i})})}),cy=ice;var Ww=y(D());function a6(e){return te("MuiListItemSecondaryAction",e)}var sut=Q("MuiListItemSecondaryAction",["root","disableGutters"]);var n6=y($()),lce=e=>{let{disableGutters:t,classes:r}=e;return re({root:["root",t&&"disableGutters"]},a6,r)},pce=W("div",{name:"MuiListItemSecondaryAction",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.disableGutters&&t.disableGutters]}})({position:"absolute",right:16,top:"50%",transform:"translateY(-50%)",variants:[{props:({ownerState:e})=>e.disableGutters,style:{right:0}}]}),s6=Ww.forwardRef(function(t,r){let o=ie({props:t,name:"MuiListItemSecondaryAction"}),{className:a,...n}=o,s=Ww.useContext(Lo),i={...o,disableGutters:s.disableGutters},p=lce(i);return(0,n6.jsx)(pce,{className:K(p.root,a),ownerState:i,ref:r,...n})});s6.muiName="ListItemSecondaryAction";var qP=s6;var Ip=y($()),dce=(e,t)=>{let{ownerState:r}=e;return[t.root,r.dense&&t.dense,r.alignItems==="flex-start"&&t.alignItemsFlexStart,r.divider&&t.divider,!r.disableGutters&&t.gutters,!r.disablePadding&&t.padding,r.hasSecondaryAction&&t.secondaryAction]},uce=e=>{let{alignItems:t,classes:r,dense:o,disableGutters:a,disablePadding:n,divider:s,hasSecondaryAction:i}=e;return re({root:["root",o&&"dense",!a&&"gutters",!n&&"padding",s&&"divider",t==="flex-start"&&"alignItemsFlexStart",i&&"secondaryAction"],container:["container"]},r6,r)},fce=W("div",{name:"MuiListItem",slot:"Root",overridesResolver:dce})(ge(({theme:e})=>({display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",width:"100%",boxSizing:"border-box",textAlign:"left",variants:[{props:({ownerState:t})=>!t.disablePadding,style:{paddingTop:8,paddingBottom:8}},{props:({ownerState:t})=>!t.disablePadding&&t.dense,style:{paddingTop:4,paddingBottom:4}},{props:({ownerState:t})=>!t.disablePadding&&!t.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:t})=>!t.disablePadding&&!!t.secondaryAction,style:{paddingRight:48}},{props:({ownerState:t})=>!!t.secondaryAction,style:{[`& > .${Ol.root}`]:{paddingRight:48}}},{props:{alignItems:"flex-start"},style:{alignItems:"flex-start"}},{props:({ownerState:t})=>t.divider,style:{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"}},{props:({ownerState:t})=>t.button,style:{transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}}},{props:({ownerState:t})=>t.hasSecondaryAction,style:{paddingRight:48}}]}))),cce=W("li",{name:"MuiListItem",slot:"Container",overridesResolver:(e,t)=>t.container})({position:"relative"}),mce=Di.forwardRef(function(t,r){let o=ie({props:t,name:"MuiListItem"}),{alignItems:a="center",children:n,className:s,component:i,components:p={},componentsProps:l={},ContainerComponent:d="li",ContainerProps:{className:u,...f}={},dense:c=!1,disableGutters:h=!1,disablePadding:g=!1,divider:m=!1,secondaryAction:x,slotProps:T={},slots:b={},...v}=o,w=Di.useContext(Lo),O=Di.useMemo(()=>({dense:c||w.dense||!1,alignItems:a,disableGutters:h}),[a,w.dense,c,h]),k=Di.useRef(null),M=Di.Children.toArray(n),N=M.length&&im(M[M.length-1],["ListItemSecondaryAction"]),S={...o,alignItems:a,dense:O.dense,disableGutters:h,disablePadding:g,divider:m,hasSecondaryAction:N},B=uce(S),G=Qt(k,r),J=b.root||p.Root||fce,q=T.root||l.root||{},j={className:K(B.root,q.className,s),...v},X=i||"li";return N?(X=!j.component&&!i?"div":X,d==="li"&&(X==="li"?X="div":j.component==="li"&&(j.component="div")),(0,Ip.jsx)(Lo.Provider,{value:O,children:(0,Ip.jsxs)(cce,{as:d,className:K(B.container,u),ref:G,ownerState:S,...f,children:[(0,Ip.jsx)(J,{...q,...!Pp(J)&&{as:X,ownerState:{...S,...q.ownerState}},...j,children:M}),M.pop()]})})):(0,Ip.jsx)(Lo.Provider,{value:O,children:(0,Ip.jsxs)(J,{...q,as:X,ref:G,...!Pp(J)&&{ownerState:{...S,...q.ownerState}},...j,children:[M,x&&(0,Ip.jsx)(qP,{children:x})]})})}),Uw=mce;var Vw=y(D());function i6(e){return te("MuiListItemIcon",e)}var hce=Q("MuiListItemIcon",["root","alignItemsFlexStart"]),Hw=hce;var l6=y($()),xce=e=>{let{alignItems:t,classes:r}=e;return re({root:["root",t==="flex-start"&&"alignItemsFlexStart"]},i6,r)},gce=W("div",{name:"MuiListItemIcon",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.alignItems==="flex-start"&&t.alignItemsFlexStart]}})(ge(({theme:e})=>({minWidth:56,color:(e.vars||e).palette.action.active,flexShrink:0,display:"inline-flex",variants:[{props:{alignItems:"flex-start"},style:{marginTop:8}}]}))),yce=Vw.forwardRef(function(t,r){let o=ie({props:t,name:"MuiListItemIcon"}),{className:a,...n}=o,s=Vw.useContext(Lo),i={...o,alignItems:s.alignItems},p=xce(i);return(0,l6.jsx)(gce,{className:K(p.root,a),ownerState:i,ref:r,...n})}),Ai=yce;var $w=y(D());function p6(e){return te("MuiListItemText",e)}var vce=Q("MuiListItemText",["root","multiline","dense","inset","primary","secondary"]),kl=vce;var my=y($()),bce=e=>{let{classes:t,inset:r,primary:o,secondary:a,dense:n}=e;return re({root:["root",r&&"inset",n&&"dense",o&&a&&"multiline"],primary:["primary"],secondary:["secondary"]},p6,t)},Tce=W("div",{name:"MuiListItemText",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[{[`& .${kl.primary}`]:t.primary},{[`& .${kl.secondary}`]:t.secondary},t.root,r.inset&&t.inset,r.primary&&r.secondary&&t.multiline,r.dense&&t.dense]}})({flex:"1 1 auto",minWidth:0,marginTop:4,marginBottom:4,[`.${fw.root}:where(& .${kl.primary})`]:{display:"block"},[`.${fw.root}:where(& .${kl.secondary})`]:{display:"block"},variants:[{props:({ownerState:e})=>e.primary&&e.secondary,style:{marginTop:6,marginBottom:6}},{props:({ownerState:e})=>e.inset,style:{paddingLeft:56}}]}),Sce=$w.forwardRef(function(t,r){let o=ie({props:t,name:"MuiListItemText"}),{children:a,className:n,disableTypography:s=!1,inset:i=!1,primary:p,primaryTypographyProps:l,secondary:d,secondaryTypographyProps:u,...f}=o,{dense:c}=$w.useContext(Lo),h=p!=null?p:a,g=d,m={...o,disableTypography:s,inset:i,primary:!!h,secondary:!!g,dense:c},x=bce(m);return h!=null&&h.type!==ka&&!s&&(h=(0,my.jsx)(ka,{variant:c?"body2":"body1",className:x.primary,component:l!=null&&l.variant?void 0:"span",...l,children:h})),g!=null&&g.type!==ka&&!s&&(g=(0,my.jsx)(ka,{variant:"body2",className:x.secondary,color:"textSecondary",...u,children:g})),(0,my.jsxs)(Tce,{className:K(x.root,n),ownerState:m,ref:r,...f,children:[h,g]})}),ps=Sce;var Fp=y(D()),Xft=y(Ic());var tn=y(D()),fft=y(Ic());var d6=xu;var f6=y($());function KP(e,t,r){return e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:r?null:e.firstChild}function u6(e,t,r){return e===t?r?e.firstChild:e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:r?null:e.lastChild}function c6(e,t){if(t===void 0)return!0;let r=e.innerText;return r===void 0&&(r=e.textContent),r=r.trim().toLowerCase(),r.length===0?!1:t.repeating?r[0]===t.keys[0]:r.startsWith(t.keys.join(""))}function hy(e,t,r,o,a,n){let s=!1,i=a(e,t,t?r:!1);for(;i;){if(i===e.firstChild){if(s)return!1;s=!0}let p=o?!1:i.disabled||i.getAttribute("aria-disabled")==="true";if(!i.hasAttribute("tabindex")||!c6(i,n)||p)i=a(e,i,r);else return i.focus(),!0}return!1}var wce=tn.forwardRef(function(t,r){let{actions:o,autoFocus:a=!1,autoFocusItem:n=!1,children:s,className:i,disabledItemsFocusable:p=!1,disableListWrap:l=!1,onKeyDown:d,variant:u="selectedMenu",...f}=t,c=tn.useRef(null),h=tn.useRef({keys:[],repeating:!0,previousKeyMatched:!0,lastTime:null});Is(()=>{a&&c.current.focus()},[a]),tn.useImperativeHandle(o,()=>({adjustStyleForScrollbar:(b,{direction:v})=>{let w=!c.current.style.width;if(b.clientHeight{let v=c.current,w=b.key;if(b.ctrlKey||b.metaKey||b.altKey){d&&d(b);return}let k=bl(v).activeElement;if(w==="ArrowDown")b.preventDefault(),hy(v,k,l,p,KP);else if(w==="ArrowUp")b.preventDefault(),hy(v,k,l,p,u6);else if(w==="Home")b.preventDefault(),hy(v,null,l,p,KP);else if(w==="End")b.preventDefault(),hy(v,null,l,p,u6);else if(w.length===1){let M=h.current,N=w.toLowerCase(),S=performance.now();M.keys.length>0&&(S-M.lastTime>500?(M.keys=[],M.repeating=!0,M.previousKeyMatched=!0):M.repeating&&N!==M.keys[0]&&(M.repeating=!1)),M.lastTime=S,M.keys.push(N);let B=k&&!M.repeating&&c6(k,M);M.previousKeyMatched&&(B||hy(v,k,!1,p,KP,M))?b.preventDefault():M.previousKeyMatched=!1}d&&d(b)},m=Qt(c,r),x=-1;tn.Children.forEach(s,(b,v)=>{if(!tn.isValidElement(b)){x===v&&(x+=1,x>=s.length&&(x=-1));return}b.props.disabled||(u==="selectedMenu"&&b.props.selected||x===-1)&&(x=v),x===v&&(b.props.disabled||b.props.muiSkipListHighlight||b.type.muiSkipListHighlight)&&(x+=1,x>=s.length&&(x=-1))});let T=tn.Children.map(s,(b,v)=>{if(v===x){let w={};return n&&(w.autoFocus=!0),b.props.tabIndex===void 0&&u==="selectedMenu"&&(w.tabIndex=0),tn.cloneElement(b,w)}return b});return(0,f6.jsx)(ef,{role:"menu",ref:m,className:i,onKeyDown:g,tabIndex:a?0:-1,...f,children:T})}),JP=wce;var Qo=y(D());function m6(e){return te("MuiPopover",e)}var Cft=Q("MuiPopover",["root","paper"]);var Gw=y($());function h6(e,t){let r=0;return typeof t=="number"?r=t:t==="center"?r=e.height/2:t==="bottom"&&(r=e.height),r}function x6(e,t){let r=0;return typeof t=="number"?r=t:t==="center"?r=e.width/2:t==="right"&&(r=e.width),r}function g6(e){return[e.horizontal,e.vertical].map(t=>typeof t=="number"?`${t}px`:t).join(" ")}function XP(e){return typeof e=="function"?e():e}var _ce=e=>{let{classes:t}=e;return re({root:["root"],paper:["paper"]},m6,t)},Cce=W(dy,{name:"MuiPopover",slot:"Root",overridesResolver:(e,t)=>t.root})({}),YP=W(Ar,{name:"MuiPopover",slot:"Paper",overridesResolver:(e,t)=>t.paper})({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:16,minHeight:16,maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0}),Oce=Qo.forwardRef(function(t,r){var ft;let o=ie({props:t,name:"MuiPopover"}),{action:a,anchorEl:n,anchorOrigin:s={vertical:"top",horizontal:"left"},anchorPosition:i,anchorReference:p="anchorEl",children:l,className:d,container:u,elevation:f=8,marginThreshold:c=16,open:h,PaperProps:g={},slots:m={},slotProps:x={},transformOrigin:T={vertical:"top",horizontal:"left"},TransitionComponent:b=Qu,transitionDuration:v="auto",TransitionProps:{onEntering:w,...O}={},disableScrollLock:k=!1,...M}=o,N=(ft=x==null?void 0:x.paper)!=null?ft:g,S=Qo.useRef(),B={...o,anchorOrigin:s,anchorReference:p,elevation:f,marginThreshold:c,externalPaperSlotProps:N,transformOrigin:T,TransitionComponent:b,transitionDuration:v,TransitionProps:O},G=_ce(B),J=Qo.useCallback(()=>{if(p==="anchorPosition")return i;let Fe=XP(n),Ze=(Fe&&Fe.nodeType===1?Fe:bl(S.current).body).getBoundingClientRect();return{top:Ze.top+h6(Ze,s.vertical),left:Ze.left+x6(Ze,s.horizontal)}},[n,s.horizontal,s.vertical,i,p]),q=Qo.useCallback(Fe=>({vertical:h6(Fe,T.vertical),horizontal:x6(Fe,T.horizontal)}),[T.horizontal,T.vertical]),j=Qo.useCallback(Fe=>{let Pe={width:Fe.offsetWidth,height:Fe.offsetHeight},Ze=q(Pe);if(p==="none")return{top:null,left:null,transformOrigin:g6(Ze)};let qe=J(),Ue=qe.top-Ze.vertical,ue=qe.left-Ze.horizontal,we=Ue+Pe.height,Ne=ue+Pe.width,Ve=Ei(XP(n)),ht=Ve.innerHeight-c,Tt=Ve.innerWidth-c;if(c!==null&&Ueht){let xt=we-ht;Ue-=xt,Ze.vertical+=xt}if(c!==null&&ueTt){let xt=Ne-Tt;ue-=xt,Ze.horizontal+=xt}return{top:`${Math.round(Ue)}px`,left:`${Math.round(ue)}px`,transformOrigin:g6(Ze)}},[n,p,J,q,c]),[X,le]=Qo.useState(h),ae=Qo.useCallback(()=>{let Fe=S.current;if(!Fe)return;let Pe=j(Fe);Pe.top!==null&&Fe.style.setProperty("top",Pe.top),Pe.left!==null&&(Fe.style.left=Pe.left),Fe.style.transformOrigin=Pe.transformOrigin,le(!0)},[j]);Qo.useEffect(()=>(k&&window.addEventListener("scroll",ae),()=>window.removeEventListener("scroll",ae)),[n,k,ae]);let de=(Fe,Pe)=>{w&&w(Fe,Pe),ae()},Be=()=>{le(!1)};Qo.useEffect(()=>{h&&ae()}),Qo.useImperativeHandle(a,()=>h?{updatePosition:()=>{ae()}}:null,[h,ae]),Qo.useEffect(()=>{if(!h)return;let Fe=sm(()=>{ae()}),Pe=Ei(n);return Pe.addEventListener("resize",Fe),()=>{Fe.clear(),Pe.removeEventListener("resize",Fe)}},[n,h,ae]);let Oe=v;v==="auto"&&!b.muiSupportAuto&&(Oe=void 0);let We=u||(n?bl(XP(n)).body:void 0),ke={slots:m,slotProps:{...x,paper:N}},[_e,He]=Mr("paper",{elementType:YP,externalForwardedProps:ke,additionalProps:{elevation:f,className:K(G.paper,N==null?void 0:N.className),style:X?N.style:{...N.style,opacity:0}},ownerState:B}),[Me,{slotProps:lt,...Ye}]=Mr("root",{elementType:Cce,externalForwardedProps:ke,additionalProps:{slotProps:{backdrop:{invisible:!0}},container:We,open:h},ownerState:B,className:K(G.root,d)}),ot=Qt(S,He.ref);return(0,Gw.jsx)(Me,{...Ye,...!Pp(Me)&&{slotProps:lt,disableScrollLock:k},...M,ref:r,children:(0,Gw.jsx)(b,{appear:!0,in:h,onEntering:de,onExited:Be,timeout:Oe,...O,children:(0,Gw.jsx)(_e,{...He,ref:ot,children:l})})})}),ZP=Oce;function y6(e){return te("MuiMenu",e)}var Kft=Q("MuiMenu",["root","paper","list"]);var QP=y($()),kce={vertical:"top",horizontal:"right"},Ece={vertical:"top",horizontal:"left"},Pce=e=>{let{classes:t}=e;return re({root:["root"],paper:["paper"],list:["list"]},y6,t)},Rce=W(ZP,{shouldForwardProp:e=>bt(e)||e==="classes",name:"MuiMenu",slot:"Root",overridesResolver:(e,t)=>t.root})({}),Dce=W(YP,{name:"MuiMenu",slot:"Paper",overridesResolver:(e,t)=>t.paper})({maxHeight:"calc(100% - 96px)",WebkitOverflowScrolling:"touch"}),Ace=W(JP,{name:"MuiMenu",slot:"List",overridesResolver:(e,t)=>t.list})({outline:0}),Mce=Fp.forwardRef(function(t,r){var X,le;let o=ie({props:t,name:"MuiMenu"}),{autoFocus:a=!0,children:n,className:s,disableAutoFocusItem:i=!1,MenuListProps:p={},onClose:l,open:d,PaperProps:u={},PopoverClasses:f,transitionDuration:c="auto",TransitionProps:{onEntering:h,...g}={},variant:m="selectedMenu",slots:x={},slotProps:T={},...b}=o,v=Yn(),w={...o,autoFocus:a,disableAutoFocusItem:i,MenuListProps:p,onEntering:h,PaperProps:u,transitionDuration:c,TransitionProps:g,variant:m},O=Pce(w),k=a&&!i&&d,M=Fp.useRef(null),N=(ae,de)=>{M.current&&M.current.adjustStyleForScrollbar(ae,{direction:v?"rtl":"ltr"}),h&&h(ae,de)},S=ae=>{ae.key==="Tab"&&(ae.preventDefault(),l&&l(ae,"tabKeyDown"))},B=-1;Fp.Children.map(n,(ae,de)=>{Fp.isValidElement(ae)&&(ae.props.disabled||(m==="selectedMenu"&&ae.props.selected||B===-1)&&(B=de))});let G=(X=x.paper)!=null?X:Dce,J=(le=T.paper)!=null?le:u,q=vo({elementType:x.root,externalSlotProps:T.root,ownerState:w,className:[O.root,s]}),j=vo({elementType:G,externalSlotProps:J,ownerState:w,className:O.paper});return(0,QP.jsx)(Rce,{onClose:l,anchorOrigin:{vertical:"bottom",horizontal:v?"right":"left"},transformOrigin:v?kce:Ece,slots:{paper:G,root:x.root},slotProps:{root:q,paper:j},open:d,ref:r,transitionDuration:c,TransitionProps:{onEntering:N,...g},ownerState:w,...b,classes:f,children:(0,QP.jsx)(Ace,{onKeyDown:S,actions:M,autoFocus:a&&(B===-1||i),autoFocusItem:k,variant:m,...p,className:K(O.list,p.className),children:n})})}),Mi=Mce;var Bp=y(D());function v6(e){return te("MuiMenuItem",e)}var Nce=Q("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),Am=Nce;var eR=y($()),Ice=(e,t)=>{let{ownerState:r}=e;return[t.root,r.dense&&t.dense,r.divider&&t.divider,!r.disableGutters&&t.gutters]},Fce=e=>{let{disabled:t,dense:r,divider:o,disableGutters:a,selected:n,classes:s}=e,p=re({root:["root",r&&"dense",t&&"disabled",!a&&"gutters",o&&"divider",n&&"selected"]},v6,s);return{...s,...p}},Bce=W(_o,{shouldForwardProp:e=>bt(e)||e==="classes",name:"MuiMenuItem",slot:"Root",overridesResolver:Ice})(ge(({theme:e})=>({...e.typography.body1,display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap","&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Am.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:st(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${Am.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:st(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${Am.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:st(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:st(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${Am.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${Am.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},[`& + .${Iw.root}`]:{marginTop:e.spacing(1),marginBottom:e.spacing(1)},[`& + .${Iw.inset}`]:{marginLeft:52},[`& .${kl.root}`]:{marginTop:0,marginBottom:0},[`& .${kl.inset}`]:{paddingLeft:36},[`& .${Hw.root}`]:{minWidth:36},variants:[{props:({ownerState:t})=>!t.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:t})=>t.divider,style:{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"}},{props:({ownerState:t})=>!t.dense,style:{[e.breakpoints.up("sm")]:{minHeight:"auto"}}},{props:({ownerState:t})=>t.dense,style:{minHeight:32,paddingTop:4,paddingBottom:4,...e.typography.body2,[`& .${Hw.root} svg`]:{fontSize:"1.25rem"}}}]}))),Lce=Bp.forwardRef(function(t,r){let o=ie({props:t,name:"MuiMenuItem"}),{autoFocus:a=!1,component:n="li",dense:s=!1,divider:i=!1,disableGutters:p=!1,focusVisibleClassName:l,role:d="menuitem",tabIndex:u,className:f,...c}=o,h=Bp.useContext(Lo),g=Bp.useMemo(()=>({dense:s||h.dense||!1,disableGutters:p}),[h.dense,s,p]),m=Bp.useRef(null);Is(()=>{a&&m.current&&m.current.focus()},[a]);let x={...o,dense:g.dense,divider:i,disableGutters:p},T=Fce(o),b=Qt(m,r),v;return o.disabled||(v=u!==void 0?u:-1),(0,eR.jsx)(Lo.Provider,{value:g,children:(0,eR.jsx)(Bce,{ref:b,role:d,tabIndex:v,component:n,focusVisibleClassName:K(T.focusVisible,l),className:K(T.root,f),...c,ownerState:x,classes:T})})}),Mt=Lce;var Kw=y(D());function b6(e){return te("MuiNativeSelect",e)}var jce=Q("MuiNativeSelect",["root","select","multiple","filled","outlined","standard","disabled","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]),qw=jce;var xy=y($()),zce=e=>{let{classes:t,variant:r,disabled:o,multiple:a,open:n,error:s}=e,i={select:["select",r,o&&"disabled",a&&"multiple",s&&"error"],icon:["icon",`icon${Y(r)}`,n&&"iconOpen",o&&"disabled"]};return re(i,b6,t)},tR=W("select")(({theme:e})=>({MozAppearance:"none",WebkitAppearance:"none",userSelect:"none",borderRadius:0,cursor:"pointer","&:focus":{borderRadius:0},[`&.${qw.disabled}`]:{cursor:"default"},"&[multiple]":{height:"auto"},"&:not([multiple]) option, &:not([multiple]) optgroup":{backgroundColor:(e.vars||e).palette.background.paper},variants:[{props:({ownerState:t})=>t.variant!=="filled"&&t.variant!=="outlined",style:{"&&&":{paddingRight:24,minWidth:16}}},{props:{variant:"filled"},style:{"&&&":{paddingRight:32}}},{props:{variant:"outlined"},style:{borderRadius:(e.vars||e).shape.borderRadius,"&:focus":{borderRadius:(e.vars||e).shape.borderRadius},"&&&":{paddingRight:32}}}]})),Wce=W(tR,{name:"MuiNativeSelect",slot:"Select",shouldForwardProp:bt,overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.select,t[r.variant],r.error&&t.error,{[`&.${qw.multiple}`]:t.multiple}]}})({}),rR=W("svg")(({theme:e})=>({position:"absolute",right:0,top:"calc(50% - .5em)",pointerEvents:"none",color:(e.vars||e).palette.action.active,[`&.${qw.disabled}`]:{color:(e.vars||e).palette.action.disabled},variants:[{props:({ownerState:t})=>t.open,style:{transform:"rotate(180deg)"}},{props:{variant:"filled"},style:{right:7}},{props:{variant:"outlined"},style:{right:7}}]})),Uce=W(rR,{name:"MuiNativeSelect",slot:"Icon",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.icon,r.variant&&t[`icon${Y(r.variant)}`],r.open&&t.iconOpen]}})({}),Hce=Kw.forwardRef(function(t,r){let{className:o,disabled:a,error:n,IconComponent:s,inputRef:i,variant:p="standard",...l}=t,d={...t,disabled:a,variant:p,error:n},u=zce(d);return(0,xy.jsxs)(Kw.Fragment,{children:[(0,xy.jsx)(Wce,{ownerState:d,className:K(u.select,o),disabled:a,ref:i||r,...l}),t.multiple?null:(0,xy.jsx)(Uce,{as:s,ownerState:d,className:u.icon})]})}),T6=Hce;var Jw=y(D());var Vct=y(D());var gy=y($()),S6,Vce=W("fieldset",{shouldForwardProp:bt})({textAlign:"left",position:"absolute",bottom:0,right:0,top:-5,left:0,margin:0,padding:"0 8px",pointerEvents:"none",borderRadius:"inherit",borderStyle:"solid",borderWidth:1,overflow:"hidden",minWidth:"0%"}),$ce=W("legend",{shouldForwardProp:bt})(ge(({theme:e})=>({float:"unset",width:"auto",overflow:"hidden",variants:[{props:({ownerState:t})=>!t.withLabel,style:{padding:0,lineHeight:"11px",transition:e.transitions.create("width",{duration:150,easing:e.transitions.easing.easeOut})}},{props:({ownerState:t})=>t.withLabel,style:{display:"block",padding:0,height:11,fontSize:"0.75em",visibility:"hidden",maxWidth:.01,transition:e.transitions.create("max-width",{duration:50,easing:e.transitions.easing.easeOut}),whiteSpace:"nowrap","& > span":{paddingLeft:5,paddingRight:5,display:"inline-block",opacity:0,visibility:"visible"}}},{props:({ownerState:t})=>t.withLabel&&t.notched,style:{maxWidth:"100%",transition:e.transitions.create("max-width",{duration:100,easing:e.transitions.easing.easeOut,delay:50})}}]})));function oR(e){let{children:t,classes:r,className:o,label:a,notched:n,...s}=e,i=a!=null&&a!=="",p={...e,notched:n,withLabel:i};return(0,gy.jsx)(Vce,{"aria-hidden":!0,className:o,ownerState:p,...s,children:(0,gy.jsx)($ce,{ownerState:p,children:i?(0,gy.jsx)("span",{children:a}):S6||(S6=(0,gy.jsx)("span",{className:"notranslate",children:"\u200B"}))})})}var yy=y($()),Gce=e=>{let{classes:t}=e,o=re({root:["root"],notchedOutline:["notchedOutline"],input:["input"]},E4,t);return{...t,...o}},qce=W(Ku,{shouldForwardProp:e=>bt(e)||e==="classes",name:"MuiOutlinedInput",slot:"Root",overridesResolver:Gu})(ge(({theme:e})=>{let t=e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{position:"relative",borderRadius:(e.vars||e).shape.borderRadius,[`&:hover .${zs.notchedOutline}`]:{borderColor:(e.vars||e).palette.text.primary},"@media (hover: none)":{[`&:hover .${zs.notchedOutline}`]:{borderColor:e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:t}},[`&.${zs.focused} .${zs.notchedOutline}`]:{borderWidth:2},variants:[...Object.entries(e.palette).filter(vt()).map(([r])=>({props:{color:r},style:{[`&.${zs.focused} .${zs.notchedOutline}`]:{borderColor:(e.vars||e).palette[r].main}}})),{props:{},style:{[`&.${zs.error} .${zs.notchedOutline}`]:{borderColor:(e.vars||e).palette.error.main},[`&.${zs.disabled} .${zs.notchedOutline}`]:{borderColor:(e.vars||e).palette.action.disabled}}},{props:({ownerState:r})=>r.startAdornment,style:{paddingLeft:14}},{props:({ownerState:r})=>r.endAdornment,style:{paddingRight:14}},{props:({ownerState:r})=>r.multiline,style:{padding:"16.5px 14px"}},{props:({ownerState:r,size:o})=>r.multiline&&o==="small",style:{padding:"8.5px 14px"}}]}})),Kce=W(oR,{name:"MuiOutlinedInput",slot:"NotchedOutline",overridesResolver:(e,t)=>t.notchedOutline})(ge(({theme:e})=>{let t=e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{borderColor:e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:t}})),Jce=W(Ju,{name:"MuiOutlinedInput",slot:"Input",overridesResolver:qu})(ge(({theme:e})=>({padding:"16.5px 14px",...!e.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:e.palette.mode==="light"?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:e.palette.mode==="light"?null:"#fff",caretColor:e.palette.mode==="light"?null:"#fff",borderRadius:"inherit"}},...e.vars&&{"&:-webkit-autofill":{borderRadius:"inherit"},[e.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},variants:[{props:{size:"small"},style:{padding:"8.5px 14px"}},{props:({ownerState:t})=>t.multiline,style:{padding:0}},{props:({ownerState:t})=>t.startAdornment,style:{paddingLeft:0}},{props:({ownerState:t})=>t.endAdornment,style:{paddingRight:0}}]}))),aR=Jw.forwardRef(function(t,r){var v,w,O,k;var o;let a=ie({props:t,name:"MuiOutlinedInput"}),{components:n={},fullWidth:s=!1,inputComponent:i="input",label:p,multiline:l=!1,notched:d,slots:u={},type:f="text",...c}=a,h=Gce(a),g=Vr(),m=Xo({props:a,muiFormControl:g,states:["color","disabled","error","focused","hiddenLabel","size","required"]}),x={...a,color:m.color||"primary",disabled:m.disabled,error:m.error,focused:m.focused,formControl:g,fullWidth:s,hiddenLabel:m.hiddenLabel,multiline:l,size:m.size,type:f},T=(w=(v=u.root)!=null?v:n.Root)!=null?w:qce,b=(k=(O=u.input)!=null?O:n.Input)!=null?k:Jce;return(0,yy.jsx)(Xu,{slots:{root:T,input:b},renderSuffix:M=>(0,yy.jsx)(Kce,{ownerState:x,className:h.notchedOutline,label:p!=null&&p!==""&&m.required?o||(o=(0,yy.jsxs)(Jw.Fragment,{children:[p,"\u2009","*"]})):p,notched:typeof d!="undefined"?d:!!(M.startAdornment||M.filled||M.focused)}),fullWidth:s,inputComponent:i,multiline:l,ref:r,type:f,...c,classes:{...h,notchedOutline:null}})});aR&&(aR.muiName="Input");var vy=aR;var Ty=y(D());var xmt=y(D());var dmt=y(D());var w6=y($()),_6=Z((0,w6.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"RadioButtonUnchecked");var cmt=y(D());var C6=y($()),O6=Z((0,C6.jsx)("path",{d:"M8.465 8.465C9.37 7.56 10.62 7 12 7C14.76 7 17 9.24 17 12C17 13.38 16.44 14.63 15.535 15.535C14.63 16.44 13.38 17 12 17C9.24 17 7 14.76 7 12C7 10.62 7.56 9.37 8.465 8.465Z"}),"RadioButtonChecked");var by=y($()),Xce=W("span",{shouldForwardProp:bt})({position:"relative",display:"flex"}),Yce=W(_6)({transform:"scale(1)"}),Zce=W(O6)(ge(({theme:e})=>({left:0,position:"absolute",transform:"scale(0)",transition:e.transitions.create("transform",{easing:e.transitions.easing.easeIn,duration:e.transitions.duration.shortest}),variants:[{props:{checked:!0},style:{transform:"scale(1)",transition:e.transitions.create("transform",{easing:e.transitions.easing.easeOut,duration:e.transitions.duration.shortest})}}]})));function Qce(e){let{checked:t=!1,classes:r={},fontSize:o}=e,a={...e,checked:t};return(0,by.jsxs)(Xce,{className:r.root,ownerState:a,children:[(0,by.jsx)(Yce,{fontSize:o,className:r.background,ownerState:a}),(0,by.jsx)(Zce,{fontSize:o,className:r.dot,ownerState:a})]})}var nR=Qce;var P6=y(D());var k6=y(D()),eme=k6.createContext(void 0),E6=eme;function sR(){return P6.useContext(E6)}function R6(e){return te("MuiRadio",e)}var tme=Q("MuiRadio",["root","checked","disabled","colorPrimary","colorSecondary","sizeSmall"]),iR=tme;var Xw=y($()),rme=e=>{let{classes:t,color:r,size:o}=e,a={root:["root",`color${Y(r)}`,o!=="medium"&&`size${Y(o)}`]};return{...t,...re(a,R6,t)}},ome=W(Tm,{shouldForwardProp:e=>bt(e)||e==="classes",name:"MuiRadio",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.size!=="medium"&&t[`size${Y(r.size)}`],t[`color${Y(r.color)}`]]}})(ge(({theme:e})=>({color:(e.vars||e).palette.text.secondary,[`&.${iR.disabled}`]:{color:(e.vars||e).palette.action.disabled},variants:[{props:{color:"default",disabled:!1,disableRipple:!1},style:{"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})`:st(e.palette.action.active,e.palette.action.hoverOpacity)}}},...Object.entries(e.palette).filter(vt()).map(([t])=>({props:{color:t,disabled:!1,disableRipple:!1},style:{"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette[t].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:st(e.palette[t].main,e.palette.action.hoverOpacity)}}})),...Object.entries(e.palette).filter(vt()).map(([t])=>({props:{color:t,disabled:!1},style:{[`&.${iR.checked}`]:{color:(e.vars||e).palette[t].main}}})),{props:{disableRipple:!1},style:{"&:hover":{"@media (hover: none)":{backgroundColor:"transparent"}}}}]})));function ame(e,t){return typeof t=="object"&&t!==null?e===t:String(e)===String(t)}var D6=(0,Xw.jsx)(nR,{checked:!0}),A6=(0,Xw.jsx)(nR,{}),nme=Ty.forwardRef(function(t,r){var k,M;let o=ie({props:t,name:"MuiRadio"}),{checked:a,checkedIcon:n=D6,color:s="primary",icon:i=A6,name:p,onChange:l,size:d="medium",className:u,disabled:f,disableRipple:c=!1,...h}=o,g=Vr(),m=f;g&&typeof m=="undefined"&&(m=g.disabled),m!=null||(m=!1);let x={...o,disabled:m,disableRipple:c,color:s,size:d},T=rme(x),b=sR(),v=a,w=g3(l,b&&b.onChange),O=p;return b&&(typeof v=="undefined"&&(v=ame(b.value,o.value)),typeof O=="undefined"&&(O=b.name)),(0,Xw.jsx)(ome,{type:"radio",icon:Ty.cloneElement(i,{fontSize:(k=A6.props.fontSize)!=null?k:d}),checkedIcon:Ty.cloneElement(n,{fontSize:(M=D6.props.fontSize)!=null?M:d}),disabled:m,ownerState:x,classes:T,name:O,checked:v,onChange:w,ref:r,className:K(T.root,u),...h})}),Pt=nme;var Nm=y(D());var yr=y(D()),Zmt=y(Ic());function M6(e){return te("MuiSelect",e)}var sme=Q("MuiSelect",["root","select","multiple","filled","outlined","standard","disabled","focused","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]),Mm=sme;var Lp=y($()),N6,ime=W(tR,{name:"MuiSelect",slot:"Select",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[{[`&.${Mm.select}`]:t.select},{[`&.${Mm.select}`]:t[r.variant]},{[`&.${Mm.error}`]:t.error},{[`&.${Mm.multiple}`]:t.multiple}]}})({[`&.${Mm.select}`]:{height:"auto",minHeight:"1.4375em",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"}}),lme=W(rR,{name:"MuiSelect",slot:"Icon",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.icon,r.variant&&t[`icon${Y(r.variant)}`],r.open&&t.iconOpen]}})({}),pme=W("input",{shouldForwardProp:e=>iS(e)&&e!=="classes",name:"MuiSelect",slot:"NativeInput",overridesResolver:(e,t)=>t.nativeInput})({bottom:0,left:0,position:"absolute",opacity:0,pointerEvents:"none",width:"100%",boxSizing:"border-box"});function I6(e,t){return typeof t=="object"&&t!==null?e===t:String(e)===String(t)}function dme(e){return e==null||typeof e=="string"&&!e.trim()}var ume=e=>{let{classes:t,variant:r,disabled:o,multiple:a,open:n,error:s}=e,i={select:["select",r,o&&"disabled",a&&"multiple",s&&"error"],icon:["icon",`icon${Y(r)}`,n&&"iconOpen",o&&"disabled"],nativeInput:["nativeInput"]};return re(i,M6,t)},fme=yr.forwardRef(function(t,r){var Nt;let{"aria-describedby":o,"aria-label":a,autoFocus:n,autoWidth:s,children:i,className:p,defaultOpen:l,defaultValue:d,disabled:u,displayEmpty:f,error:c=!1,IconComponent:h,inputRef:g,labelId:m,MenuProps:x={},multiple:T,name:b,onBlur:v,onChange:w,onClose:O,onFocus:k,onOpen:M,open:N,readOnly:S,renderValue:B,SelectDisplayProps:G={},tabIndex:J,type:q,value:j,variant:X="standard",...le}=t,[ae,de]=Au({controlled:j,default:d,name:"Select"}),[Be,Oe]=Au({controlled:N,default:l,name:"Select"}),We=yr.useRef(null),ke=yr.useRef(null),[_e,He]=yr.useState(null),{current:Me}=yr.useRef(N!=null),[lt,Ye]=yr.useState(),ot=Qt(r,g),ft=yr.useCallback(pe=>{ke.current=pe,pe&&He(pe)},[]),Fe=_e==null?void 0:_e.parentNode;yr.useImperativeHandle(ot,()=>({focus:()=>{ke.current.focus()},node:We.current,value:ae}),[ae]),yr.useEffect(()=>{l&&Be&&_e&&!Me&&(Ye(s?null:Fe.clientWidth),ke.current.focus())},[_e,s]),yr.useEffect(()=>{n&&ke.current.focus()},[n]),yr.useEffect(()=>{if(!m)return;let pe=bl(ke.current).getElementById(m);if(pe){let he=()=>{getSelection().isCollapsed&&ke.current.focus()};return pe.addEventListener("click",he),()=>{pe.removeEventListener("click",he)}}},[m]);let Pe=(pe,he)=>{pe?M&&M(he):O&&O(he),Me||(Ye(s?null:Fe.clientWidth),Oe(pe))},Ze=pe=>{pe.button===0&&(pe.preventDefault(),ke.current.focus(),Pe(!0,pe))},qe=pe=>{Pe(!1,pe)},Ue=yr.Children.toArray(i),ue=pe=>{let he=Ue.find(ze=>ze.props.value===pe.target.value);he!==void 0&&(de(he.props.value),w&&w(pe,he))},we=pe=>he=>{let ze;if(he.currentTarget.hasAttribute("tabindex")){if(T){ze=Array.isArray(ae)?ae.slice():[];let $e=ae.indexOf(pe.props.value);$e===-1?ze.push(pe.props.value):ze.splice($e,1)}else ze=pe.props.value;if(pe.props.onClick&&pe.props.onClick(he),ae!==ze&&(de(ze),w)){let $e=he.nativeEvent||he,pt=new $e.constructor($e.type,$e);Object.defineProperty(pt,"target",{writable:!0,value:{value:ze,name:b}}),w(pt,pe)}T||Pe(!1,he)}},Ne=pe=>{S||[" ","ArrowUp","ArrowDown","Enter"].includes(pe.key)&&(pe.preventDefault(),Pe(!0,pe))},Ve=_e!==null&&Be,ht=pe=>{!Ve&&v&&(Object.defineProperty(pe,"target",{writable:!0,value:{value:ae,name:b}}),v(pe))};delete le["aria-invalid"];let Tt,xt,Ee=[],me=!1,Re=!1;(Vu({value:ae})||f)&&(B?Tt=B(ae):me=!0);let mt=Ue.map(pe=>{if(!yr.isValidElement(pe))return null;let he;if(T){if(!Array.isArray(ae))throw new Error(Mo(2));he=ae.some(ze=>I6(ze,pe.props.value)),he&&me&&Ee.push(pe.props.children)}else he=I6(ae,pe.props.value),he&&me&&(xt=pe.props.children);return he&&(Re=!0),yr.cloneElement(pe,{"aria-selected":he?"true":"false",onClick:we(pe),onKeyUp:ze=>{ze.key===" "&&ze.preventDefault(),pe.props.onKeyUp&&pe.props.onKeyUp(ze)},role:"option",selected:he,value:void 0,"data-value":pe.props.value})});me&&(T?Ee.length===0?Tt=null:Tt=Ee.reduce((pe,he,ze)=>(pe.push(he),ze{let{classes:t}=e;return t},lR={name:"MuiSelect",overridesResolver:(e,t)=>t.root,shouldForwardProp:e=>bt(e)&&e!=="variant",slot:"Root"},mme=W(Zo,lR)(""),hme=W(vy,lR)(""),xme=W(uy,lR)(""),B6=Nm.forwardRef(function(t,r){let o=ie({name:"MuiSelect",props:t}),{autoWidth:a=!1,children:n,classes:s={},className:i,defaultOpen:p=!1,displayEmpty:l=!1,IconComponent:d=D4,id:u,input:f,inputProps:c,label:h,labelId:g,MenuProps:m,multiple:x=!1,native:T=!1,onClose:b,onOpen:v,open:w,renderValue:O,SelectDisplayProps:k,variant:M="outlined",...N}=o,S=T?T6:F6,B=Vr(),G=Xo({props:o,muiFormControl:B,states:["variant","error"]}),J=G.variant||M,q={...o,variant:J,classes:s},j=cme(q),{root:X,...le}=j,ae=f||{standard:(0,Sy.jsx)(mme,{ownerState:q}),outlined:(0,Sy.jsx)(hme,{label:h,ownerState:q}),filled:(0,Sy.jsx)(xme,{ownerState:q})}[J],de=Qt(r,Go(ae));return(0,Sy.jsx)(Nm.Fragment,{children:Nm.cloneElement(ae,{inputComponent:S,inputProps:{children:n,error:G.error,IconComponent:d,variant:J,type:void 0,multiple:x,...T?{id:u}:{autoWidth:a,defaultOpen:p,displayEmpty:l,labelId:g,MenuProps:m,onClose:b,onOpen:v,open:w,renderValue:O,SelectDisplayProps:{id:u,...k}},...c,classes:c?Xt(le,c.classes):le,...f?f.props.inputProps:{}},...(x&&T||l)&&J==="outlined"?{notched:!0}:{},ref:de,className:K(ae.props.className,i,j.root),...!f&&{variant:J},...N})})});B6.muiName="Select";var ea=B6;var Yw=y(D());var Im=y(D());function gme(e={}){let{autoHideDuration:t=null,disableWindowBlurListener:r=!1,onClose:o,open:a,resumeHideDuration:n}=e,s=Ka();Im.useEffect(()=>{if(!a)return;function x(T){T.defaultPrevented||T.key==="Escape"&&(o==null||o(T,"escapeKeyDown"))}return document.addEventListener("keydown",x),()=>{document.removeEventListener("keydown",x)}},[a,o]);let i=Xn((x,T)=>{o==null||o(x,T)}),p=Xn(x=>{!o||x==null||s.start(x,()=>{i(null,"timeout")})});Im.useEffect(()=>(a&&p(t),s.clear),[a,t,p,s]);let l=x=>{o==null||o(x,"clickaway")},d=s.clear,u=Im.useCallback(()=>{t!=null&&p(n!=null?n:t*.5)},[t,n,p]),f=x=>T=>{let b=x.onBlur;b==null||b(T),u()},c=x=>T=>{let b=x.onFocus;b==null||b(T),d()},h=x=>T=>{let b=x.onMouseEnter;b==null||b(T),d()},g=x=>T=>{let b=x.onMouseLeave;b==null||b(T),u()};return Im.useEffect(()=>{if(!r&&a)return window.addEventListener("focus",u),window.addEventListener("blur",d),()=>{window.removeEventListener("focus",u),window.removeEventListener("blur",d)}},[r,a,u,d]),{getRootProps:(x={})=>{let T={...Sp(e),...Sp(x)};return{role:"presentation",...x,...T,onBlur:f(T),onFocus:c(T),onMouseEnter:h(T),onMouseLeave:g(T)}},onClickAway:l}}var L6=gme;var z6=y(D());function j6(e){return te("MuiSnackbarContent",e)}var Lht=Q("MuiSnackbarContent",["root","message","action"]);var wy=y($()),yme=e=>{let{classes:t}=e;return re({root:["root"],action:["action"],message:["message"]},j6,t)},vme=W(Ar,{name:"MuiSnackbarContent",slot:"Root",overridesResolver:(e,t)=>t.root})(ge(({theme:e})=>{let t=e.palette.mode==="light"?.8:.98,r=fu(e.palette.background.default,t);return{...e.typography.body2,color:e.vars?e.vars.palette.SnackbarContent.color:e.palette.getContrastText(r),backgroundColor:e.vars?e.vars.palette.SnackbarContent.bg:r,display:"flex",alignItems:"center",flexWrap:"wrap",padding:"6px 16px",borderRadius:(e.vars||e).shape.borderRadius,flexGrow:1,[e.breakpoints.up("sm")]:{flexGrow:"initial",minWidth:288}}})),bme=W("div",{name:"MuiSnackbarContent",slot:"Message",overridesResolver:(e,t)=>t.message})({padding:"8px 0"}),Tme=W("div",{name:"MuiSnackbarContent",slot:"Action",overridesResolver:(e,t)=>t.action})({display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:16,marginRight:-8}),Sme=z6.forwardRef(function(t,r){let o=ie({props:t,name:"MuiSnackbarContent"}),{action:a,className:n,message:s,role:i="alert",...p}=o,l=o,d=yme(l);return(0,wy.jsxs)(vme,{role:i,square:!0,elevation:6,className:K(d.root,n),ownerState:l,ref:r,...p,children:[(0,wy.jsx)(bme,{className:d.message,ownerState:l,children:s}),a?(0,wy.jsx)(Tme,{className:d.action,ownerState:l,children:a}):null]})}),pR=Sme;function W6(e){return te("MuiSnackbar",e)}var ext=Q("MuiSnackbar",["root","anchorOriginTopCenter","anchorOriginBottomCenter","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft"]);var _y=y($()),wme=e=>{let{classes:t,anchorOrigin:r}=e,o={root:["root",`anchorOrigin${Y(r.vertical)}${Y(r.horizontal)}`]};return re(o,W6,t)},U6=W("div",{name:"MuiSnackbar",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[`anchorOrigin${Y(r.anchorOrigin.vertical)}${Y(r.anchorOrigin.horizontal)}`]]}})(ge(({theme:e})=>({zIndex:(e.vars||e).zIndex.snackbar,position:"fixed",display:"flex",left:8,right:8,justifyContent:"center",alignItems:"center",variants:[{props:({ownerState:t})=>t.anchorOrigin.vertical==="top",style:{top:8,[e.breakpoints.up("sm")]:{top:24}}},{props:({ownerState:t})=>t.anchorOrigin.vertical!=="top",style:{bottom:8,[e.breakpoints.up("sm")]:{bottom:24}}},{props:({ownerState:t})=>t.anchorOrigin.horizontal==="left",style:{justifyContent:"flex-start",[e.breakpoints.up("sm")]:{left:24,right:"auto"}}},{props:({ownerState:t})=>t.anchorOrigin.horizontal==="right",style:{justifyContent:"flex-end",[e.breakpoints.up("sm")]:{right:24,left:"auto"}}},{props:({ownerState:t})=>t.anchorOrigin.horizontal==="center",style:{[e.breakpoints.up("sm")]:{left:"50%",right:"auto",transform:"translateX(-50%)"}}}]}))),_me=Yw.forwardRef(function(t,r){let o=ie({props:t,name:"MuiSnackbar"}),a=Zr(),n={enter:a.transitions.duration.enteringScreen,exit:a.transitions.duration.leavingScreen},{action:s,anchorOrigin:{vertical:i,horizontal:p}={vertical:"bottom",horizontal:"left"},autoHideDuration:l=null,children:d,className:u,ClickAwayListenerProps:f,ContentProps:c,disableWindowBlurListener:h=!1,message:g,onBlur:m,onClose:x,onFocus:T,onMouseEnter:b,onMouseLeave:v,open:w,resumeHideDuration:O,TransitionComponent:k=Qu,transitionDuration:M=n,TransitionProps:{onEnter:N,onExited:S,...B}={},...G}=o,J={...o,anchorOrigin:{vertical:i,horizontal:p},autoHideDuration:l,disableWindowBlurListener:h,TransitionComponent:k,transitionDuration:M},q=wme(J),{getRootProps:j,onClickAway:X}=L6({...J}),[le,ae]=Yw.useState(!0),de=vo({elementType:U6,getSlotProps:j,externalForwardedProps:G,ownerState:J,additionalProps:{ref:r},className:[q.root,u]}),Be=We=>{ae(!0),S&&S(We)},Oe=(We,ke)=>{ae(!1),N&&N(We,ke)};return!w&&le?null:(0,_y.jsx)(wP,{onClickAway:X,...f,children:(0,_y.jsx)(U6,{...de,children:(0,_y.jsx)(k,{appear:!0,in:w,timeout:M,direction:i==="top"?"down":"up",onEnter:Oe,onExited:Be,...B,children:d||(0,_y.jsx)(pR,{message:g,action:s,...c})})})})}),tf=_me;var eo=y(D());function H6(e){return te("MuiTooltip",e)}var Cme=Q("MuiTooltip",["popper","popperInteractive","popperArrow","popperClose","tooltip","tooltipArrow","touch","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","arrow"]),Nr=Cme;var jp=y($());function Ome(e){return Math.round(e*1e5)/1e5}var kme=e=>{let{classes:t,disableInteractive:r,arrow:o,touch:a,placement:n}=e,s={popper:["popper",!r&&"popperInteractive",o&&"popperArrow"],tooltip:["tooltip",o&&"tooltipArrow",a&&"touch",`tooltipPlacement${Y(n.split("-")[0])}`],arrow:["arrow"]};return re(s,H6,t)},Eme=W(Tw,{name:"MuiTooltip",slot:"Popper",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.popper,!r.disableInteractive&&t.popperInteractive,r.arrow&&t.popperArrow,!r.open&&t.popperClose]}})(ge(({theme:e})=>({zIndex:(e.vars||e).zIndex.tooltip,pointerEvents:"none",variants:[{props:({ownerState:t})=>!t.disableInteractive,style:{pointerEvents:"auto"}},{props:({open:t})=>!t,style:{pointerEvents:"none"}},{props:({ownerState:t})=>t.arrow,style:{[`&[data-popper-placement*="bottom"] .${Nr.arrow}`]:{top:0,marginTop:"-0.71em","&::before":{transformOrigin:"0 100%"}},[`&[data-popper-placement*="top"] .${Nr.arrow}`]:{bottom:0,marginBottom:"-0.71em","&::before":{transformOrigin:"100% 0"}},[`&[data-popper-placement*="right"] .${Nr.arrow}`]:{height:"1em",width:"0.71em","&::before":{transformOrigin:"100% 100%"}},[`&[data-popper-placement*="left"] .${Nr.arrow}`]:{height:"1em",width:"0.71em","&::before":{transformOrigin:"0 0"}}}},{props:({ownerState:t})=>t.arrow&&!t.isRtl,style:{[`&[data-popper-placement*="right"] .${Nr.arrow}`]:{left:0,marginLeft:"-0.71em"}}},{props:({ownerState:t})=>t.arrow&&!!t.isRtl,style:{[`&[data-popper-placement*="right"] .${Nr.arrow}`]:{right:0,marginRight:"-0.71em"}}},{props:({ownerState:t})=>t.arrow&&!t.isRtl,style:{[`&[data-popper-placement*="left"] .${Nr.arrow}`]:{right:0,marginRight:"-0.71em"}}},{props:({ownerState:t})=>t.arrow&&!!t.isRtl,style:{[`&[data-popper-placement*="left"] .${Nr.arrow}`]:{left:0,marginLeft:"-0.71em"}}}]}))),Pme=W("div",{name:"MuiTooltip",slot:"Tooltip",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.tooltip,r.touch&&t.touch,r.arrow&&t.tooltipArrow,t[`tooltipPlacement${Y(r.placement.split("-")[0])}`]]}})(ge(({theme:e})=>({backgroundColor:e.vars?e.vars.palette.Tooltip.bg:st(e.palette.grey[700],.92),borderRadius:(e.vars||e).shape.borderRadius,color:(e.vars||e).palette.common.white,fontFamily:e.typography.fontFamily,padding:"4px 8px",fontSize:e.typography.pxToRem(11),maxWidth:300,margin:2,wordWrap:"break-word",fontWeight:e.typography.fontWeightMedium,[`.${Nr.popper}[data-popper-placement*="left"] &`]:{transformOrigin:"right center"},[`.${Nr.popper}[data-popper-placement*="right"] &`]:{transformOrigin:"left center"},[`.${Nr.popper}[data-popper-placement*="top"] &`]:{transformOrigin:"center bottom",marginBottom:"14px"},[`.${Nr.popper}[data-popper-placement*="bottom"] &`]:{transformOrigin:"center top",marginTop:"14px"},variants:[{props:({ownerState:t})=>t.arrow,style:{position:"relative",margin:0}},{props:({ownerState:t})=>t.touch,style:{padding:"8px 16px",fontSize:e.typography.pxToRem(14),lineHeight:`${Ome(16/14)}em`,fontWeight:e.typography.fontWeightRegular}},{props:({ownerState:t})=>!t.isRtl,style:{[`.${Nr.popper}[data-popper-placement*="left"] &`]:{marginRight:"14px"},[`.${Nr.popper}[data-popper-placement*="right"] &`]:{marginLeft:"14px"}}},{props:({ownerState:t})=>!t.isRtl&&t.touch,style:{[`.${Nr.popper}[data-popper-placement*="left"] &`]:{marginRight:"24px"},[`.${Nr.popper}[data-popper-placement*="right"] &`]:{marginLeft:"24px"}}},{props:({ownerState:t})=>!!t.isRtl,style:{[`.${Nr.popper}[data-popper-placement*="left"] &`]:{marginLeft:"14px"},[`.${Nr.popper}[data-popper-placement*="right"] &`]:{marginRight:"14px"}}},{props:({ownerState:t})=>!!t.isRtl&&t.touch,style:{[`.${Nr.popper}[data-popper-placement*="left"] &`]:{marginLeft:"24px"},[`.${Nr.popper}[data-popper-placement*="right"] &`]:{marginRight:"24px"}}},{props:({ownerState:t})=>t.touch,style:{[`.${Nr.popper}[data-popper-placement*="top"] &`]:{marginBottom:"24px"}}},{props:({ownerState:t})=>t.touch,style:{[`.${Nr.popper}[data-popper-placement*="bottom"] &`]:{marginTop:"24px"}}}]}))),Rme=W("span",{name:"MuiTooltip",slot:"Arrow",overridesResolver:(e,t)=>t.arrow})(ge(({theme:e})=>({overflow:"hidden",position:"absolute",width:"1em",height:"0.71em",boxSizing:"border-box",color:e.vars?e.vars.palette.Tooltip.bg:st(e.palette.grey[700],.9),"&::before":{content:'""',margin:"auto",display:"block",width:"100%",height:"100%",backgroundColor:"currentColor",transform:"rotate(45deg)"}}))),Zw=!1,V6=new hu,Cy={x:0,y:0};function Qw(e,t){return(r,...o)=>{t&&t(r,...o),e(r,...o)}}var Dme=eo.forwardRef(function(t,r){var vs,jv,Kr;let o=ie({props:t,name:"MuiTooltip"}),{arrow:a=!1,children:n,classes:s,components:i={},componentsProps:p={},describeChild:l=!1,disableFocusListener:d=!1,disableHoverListener:u=!1,disableInteractive:f=!1,disableTouchListener:c=!1,enterDelay:h=100,enterNextDelay:g=0,enterTouchDelay:m=700,followCursor:x=!1,id:T,leaveDelay:b=0,leaveTouchDelay:v=1500,onClose:w,onOpen:O,open:k,placement:M="bottom",PopperComponent:N,PopperProps:S={},slotProps:B={},slots:G={},title:J,TransitionComponent:q,TransitionProps:j,...X}=o,le=eo.isValidElement(n)?n:(0,jp.jsx)("span",{children:n}),ae=Zr(),de=Yn(),[Be,Oe]=eo.useState(),[We,ke]=eo.useState(null),_e=eo.useRef(!1),He=f||x,Me=Ka(),lt=Ka(),Ye=Ka(),ot=Ka(),[ft,Fe]=Au({controlled:k,default:!1,name:"Tooltip",state:"open"}),Pe=ft,Ze=_3(T),qe=eo.useRef(),Ue=ts(()=>{qe.current!==void 0&&(document.body.style.WebkitUserSelect=qe.current,qe.current=void 0),ot.clear()});eo.useEffect(()=>Ue,[Ue]);let ue=Je=>{V6.clear(),Zw=!0,Fe(!0),O&&!Pe&&O(Je)},we=ts(Je=>{V6.start(800+b,()=>{Zw=!1}),Fe(!1),w&&Pe&&w(Je),Me.start(ae.transitions.duration.shortest,()=>{_e.current=!1})}),Ne=Je=>{_e.current&&Je.type!=="touchstart"||(Be&&Be.removeAttribute("title"),lt.clear(),Ye.clear(),h||Zw&&g?lt.start(Zw?g:h,()=>{ue(Je)}):ue(Je))},Ve=Je=>{lt.clear(),Ye.start(b,()=>{we(Je)})},[,ht]=eo.useState(!1),Tt=Je=>{Tp(Je.target)||(ht(!1),Ve(Je))},xt=Je=>{Be||Oe(Je.currentTarget),Tp(Je.target)&&(ht(!0),Ne(Je))},Ee=Je=>{_e.current=!0;let Ro=le.props;Ro.onTouchStart&&Ro.onTouchStart(Je)},me=Je=>{Ee(Je),Ye.clear(),Me.clear(),Ue(),qe.current=document.body.style.WebkitUserSelect,document.body.style.WebkitUserSelect="none",ot.start(m,()=>{document.body.style.WebkitUserSelect=qe.current,Ne(Je)})},Re=Je=>{le.props.onTouchEnd&&le.props.onTouchEnd(Je),Ue(),Ye.start(v,()=>{we(Je)})};eo.useEffect(()=>{if(!Pe)return;function Je(Ro){Ro.key==="Escape"&&we(Ro)}return document.addEventListener("keydown",Je),()=>{document.removeEventListener("keydown",Je)}},[we,Pe]);let mt=Qt(Go(le),Oe,r);!J&&J!==0&&(Pe=!1);let gt=eo.useRef(),Ge=Je=>{let Ro=le.props;Ro.onMouseMove&&Ro.onMouseMove(Je),Cy={x:Je.clientX,y:Je.clientY},gt.current&>.current.update()},et={},Ut=typeof J=="string";l?(et.title=!Pe&&Ut&&!u?J:null,et["aria-describedby"]=Pe?Ze:null):(et["aria-label"]=Ut?J:null,et["aria-labelledby"]=Pe&&!Ut?Ze:null);let Rt={...et,...X,...le.props,className:K(X.className,le.props.className),onTouchStart:Ee,ref:mt,...x?{onMouseMove:Ge}:{}},ct={};c||(Rt.onTouchStart=me,Rt.onTouchEnd=Re),u||(Rt.onMouseOver=Qw(Ne,Rt.onMouseOver),Rt.onMouseLeave=Qw(Ve,Rt.onMouseLeave),He||(ct.onMouseOver=Ne,ct.onMouseLeave=Ve)),d||(Rt.onFocus=Qw(xt,Rt.onFocus),Rt.onBlur=Qw(Tt,Rt.onBlur),He||(ct.onFocus=xt,ct.onBlur=Tt));let je={...o,isRtl:de,arrow:a,disableInteractive:He,placement:M,PopperComponentProp:N,touch:_e.current},Nt=typeof B.popper=="function"?B.popper(je):B.popper,pe=eo.useMemo(()=>{var Ro,zv;let Je=[{name:"arrow",enabled:!!We,options:{element:We,padding:4}}];return(Ro=S.popperOptions)!=null&&Ro.modifiers&&(Je=Je.concat(S.popperOptions.modifiers)),(zv=Nt==null?void 0:Nt.popperOptions)!=null&&zv.modifiers&&(Je=Je.concat(Nt.popperOptions.modifiers)),{...S.popperOptions,...Nt==null?void 0:Nt.popperOptions,modifiers:Je}},[We,S.popperOptions,Nt==null?void 0:Nt.popperOptions]),he=kme(je),ze=typeof B.transition=="function"?B.transition(je):B.transition,$e={slots:{popper:i.Popper,transition:(vs=i.Transition)!=null?vs:q,tooltip:i.Tooltip,arrow:i.Arrow,...G},slotProps:{arrow:(jv=B.arrow)!=null?jv:p.arrow,popper:{...S,...Nt!=null?Nt:p.popper},tooltip:(Kr=B.tooltip)!=null?Kr:p.tooltip,transition:{...j,...ze!=null?ze:p.transition}}},[pt,za]=Mr("popper",{elementType:Eme,externalForwardedProps:$e,ownerState:je,className:K(he.popper,S==null?void 0:S.className)}),[Nn,Jt]=Mr("transition",{elementType:Qu,externalForwardedProps:$e,ownerState:je}),[Ht,Bd]=Mr("tooltip",{elementType:Pme,className:he.tooltip,externalForwardedProps:$e,ownerState:je}),[$l,TC]=Mr("arrow",{elementType:Rme,className:he.arrow,externalForwardedProps:$e,ownerState:je,ref:ke});return(0,jp.jsxs)(eo.Fragment,{children:[eo.cloneElement(le,Rt),(0,jp.jsx)(pt,{as:N!=null?N:Tw,placement:M,anchorEl:x?{getBoundingClientRect:()=>({top:Cy.y,left:Cy.x,right:Cy.x,bottom:Cy.y,width:0,height:0})}:Be,popperRef:gt,open:Be?Pe:!1,id:Ze,transition:!0,...ct,...za,popperOptions:pe,children:({TransitionProps:Je})=>(0,jp.jsx)(Nn,{timeout:ae.transitions.duration.shorter,...Je,...Jt,children:(0,jp.jsxs)(Ht,{...Bd,children:[J,a?(0,jp.jsx)($l,{...TC}):null]})})})]})}),Ir=Dme;var G6=y(D());function $6(e){return te("MuiSwitch",e)}var Ame=Q("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),ua=Ame;var Fm=y($()),Mme=e=>{let{classes:t,edge:r,size:o,color:a,checked:n,disabled:s}=e,i={root:["root",r&&`edge${Y(r)}`,`size${Y(o)}`],switchBase:["switchBase",`color${Y(a)}`,n&&"checked",s&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},p=re(i,$6,t);return{...t,...p}},Nme=W("span",{name:"MuiSwitch",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.edge&&t[`edge${Y(r.edge)}`],t[`size${Y(r.size)}`]]}})({display:"inline-flex",width:34+12*2,height:14+12*2,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"},variants:[{props:{edge:"start"},style:{marginLeft:-8}},{props:{edge:"end"},style:{marginRight:-8}},{props:{size:"small"},style:{width:40,height:24,padding:7,[`& .${ua.thumb}`]:{width:16,height:16},[`& .${ua.switchBase}`]:{padding:4,[`&.${ua.checked}`]:{transform:"translateX(16px)"}}}}]}),Ime=W(Tm,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.switchBase,{[`& .${ua.input}`]:t.input},r.color!=="default"&&t[`color${Y(r.color)}`]]}})(ge(({theme:e})=>({position:"absolute",top:0,left:0,zIndex:1,color:e.vars?e.vars.palette.Switch.defaultColor:`${e.palette.mode==="light"?e.palette.common.white:e.palette.grey[300]}`,transition:e.transitions.create(["left","transform"],{duration:e.transitions.duration.shortest}),[`&.${ua.checked}`]:{transform:"translateX(20px)"},[`&.${ua.disabled}`]:{color:e.vars?e.vars.palette.Switch.defaultDisabledColor:`${e.palette.mode==="light"?e.palette.grey[100]:e.palette.grey[600]}`},[`&.${ua.checked} + .${ua.track}`]:{opacity:.5},[`&.${ua.disabled} + .${ua.track}`]:{opacity:e.vars?e.vars.opacity.switchTrackDisabled:`${e.palette.mode==="light"?.12:.2}`},[`& .${ua.input}`]:{left:"-100%",width:"300%"}})),ge(({theme:e})=>({"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})`:st(e.palette.action.active,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},variants:[...Object.entries(e.palette).filter(vt(["light"])).map(([t])=>({props:{color:t},style:{[`&.${ua.checked}`]:{color:(e.vars||e).palette[t].main,"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette[t].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:st(e.palette[t].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${ua.disabled}`]:{color:e.vars?e.vars.palette.Switch[`${t}DisabledColor`]:`${e.palette.mode==="light"?Os(e.palette[t].main,.62):Cs(e.palette[t].main,.55)}`}},[`&.${ua.checked} + .${ua.track}`]:{backgroundColor:(e.vars||e).palette[t].main}}}))]}))),Fme=W("span",{name:"MuiSwitch",slot:"Track",overridesResolver:(e,t)=>t.track})(ge(({theme:e})=>({height:"100%",width:"100%",borderRadius:14/2,zIndex:-1,transition:e.transitions.create(["opacity","background-color"],{duration:e.transitions.duration.shortest}),backgroundColor:e.vars?e.vars.palette.common.onBackground:`${e.palette.mode==="light"?e.palette.common.black:e.palette.common.white}`,opacity:e.vars?e.vars.opacity.switchTrack:`${e.palette.mode==="light"?.38:.3}`}))),Bme=W("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:(e,t)=>t.thumb})(ge(({theme:e})=>({boxShadow:(e.vars||e).shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}))),Lme=G6.forwardRef(function(t,r){let o=ie({props:t,name:"MuiSwitch"}),{className:a,color:n="primary",edge:s=!1,size:i="medium",sx:p,...l}=o,d={...o,color:n,edge:s,size:i},u=Mme(d),f=(0,Fm.jsx)(Bme,{className:u.thumb,ownerState:d});return(0,Fm.jsxs)(Nme,{className:K(u.root,a),sx:p,ownerState:d,children:[(0,Fm.jsx)(Ime,{type:"checkbox",icon:f,checkedIcon:f,ref:r,ownerState:d,...l,classes:{...u,root:u.switchBase}}),(0,Fm.jsx)(Fme,{className:u.track,ownerState:d})]})}),rf=Lme;var El=y(D());function q6(e){return te("MuiTab",e)}var jme=Q("MuiTab",["root","labelIcon","textColorInherit","textColorPrimary","textColorSecondary","selected","disabled","fullWidth","wrapped","iconWrapper","icon"]),Tn=jme;var e_=y($()),zme=e=>{let{classes:t,textColor:r,fullWidth:o,wrapped:a,icon:n,label:s,selected:i,disabled:p}=e,l={root:["root",n&&s&&"labelIcon",`textColor${Y(r)}`,o&&"fullWidth",a&&"wrapped",i&&"selected",p&&"disabled"],icon:["iconWrapper","icon"]};return re(l,q6,t)},Wme=W(_o,{name:"MuiTab",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.label&&r.icon&&t.labelIcon,t[`textColor${Y(r.textColor)}`],r.fullWidth&&t.fullWidth,r.wrapped&&t.wrapped,{[`& .${Tn.iconWrapper}`]:t.iconWrapper},{[`& .${Tn.icon}`]:t.icon}]}})(ge(({theme:e})=>({...e.typography.button,maxWidth:360,minWidth:90,position:"relative",minHeight:48,flexShrink:0,padding:"12px 16px",overflow:"hidden",whiteSpace:"normal",textAlign:"center",lineHeight:1.25,variants:[{props:({ownerState:t})=>t.label&&(t.iconPosition==="top"||t.iconPosition==="bottom"),style:{flexDirection:"column"}},{props:({ownerState:t})=>t.label&&t.iconPosition!=="top"&&t.iconPosition!=="bottom",style:{flexDirection:"row"}},{props:({ownerState:t})=>t.icon&&t.label,style:{minHeight:72,paddingTop:9,paddingBottom:9}},{props:({ownerState:t,iconPosition:r})=>t.icon&&t.label&&r==="top",style:{[`& > .${Tn.icon}`]:{marginBottom:6}}},{props:({ownerState:t,iconPosition:r})=>t.icon&&t.label&&r==="bottom",style:{[`& > .${Tn.icon}`]:{marginTop:6}}},{props:({ownerState:t,iconPosition:r})=>t.icon&&t.label&&r==="start",style:{[`& > .${Tn.icon}`]:{marginRight:e.spacing(1)}}},{props:({ownerState:t,iconPosition:r})=>t.icon&&t.label&&r==="end",style:{[`& > .${Tn.icon}`]:{marginLeft:e.spacing(1)}}},{props:{textColor:"inherit"},style:{color:"inherit",opacity:.6,[`&.${Tn.selected}`]:{opacity:1},[`&.${Tn.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity}}},{props:{textColor:"primary"},style:{color:(e.vars||e).palette.text.secondary,[`&.${Tn.selected}`]:{color:(e.vars||e).palette.primary.main},[`&.${Tn.disabled}`]:{color:(e.vars||e).palette.text.disabled}}},{props:{textColor:"secondary"},style:{color:(e.vars||e).palette.text.secondary,[`&.${Tn.selected}`]:{color:(e.vars||e).palette.secondary.main},[`&.${Tn.disabled}`]:{color:(e.vars||e).palette.text.disabled}}},{props:({ownerState:t})=>t.fullWidth,style:{flexShrink:1,flexGrow:1,flexBasis:0,maxWidth:"none"}},{props:({ownerState:t})=>t.wrapped,style:{fontSize:e.typography.pxToRem(12)}}]}))),Ume=El.forwardRef(function(t,r){let o=ie({props:t,name:"MuiTab"}),{className:a,disabled:n=!1,disableFocusRipple:s=!1,fullWidth:i,icon:p,iconPosition:l="top",indicator:d,label:u,onChange:f,onClick:c,onFocus:h,selected:g,selectionFollowsFocus:m,textColor:x="inherit",value:T,wrapped:b=!1,...v}=o,w={...o,disabled:n,disableFocusRipple:s,selected:g,icon:!!p,iconPosition:l,label:!!u,fullWidth:i,textColor:x,wrapped:b},O=zme(w),k=p&&u&&El.isValidElement(p)?El.cloneElement(p,{className:K(O.icon,p.props.className)}):p,M=S=>{!g&&f&&f(S,T),c&&c(S)},N=S=>{m&&!g&&f&&f(S,T),h&&h(S)};return(0,e_.jsxs)(Wme,{focusRipple:!s,className:K(O.root,a),ref:r,role:"tab","aria-selected":g,disabled:n,onClick:M,onFocus:N,ownerState:w,tabIndex:g?0:-1,...v,children:[l==="top"||l==="start"?(0,e_.jsxs)(El.Fragment,{children:[k,u]}):(0,e_.jsxs)(El.Fragment,{children:[u,k]}),d]})}),Sn=Ume;var r_=y(D());var K6=y(D()),Hme=K6.createContext(),t_=Hme;function J6(e){return te("MuiTable",e)}var _gt=Q("MuiTable",["root","stickyHeader"]);var dR=y($()),Vme=e=>{let{classes:t,stickyHeader:r}=e;return re({root:["root",r&&"stickyHeader"]},J6,t)},$me=W("table",{name:"MuiTable",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.stickyHeader&&t.stickyHeader]}})(ge(({theme:e})=>({display:"table",width:"100%",borderCollapse:"collapse",borderSpacing:0,"& caption":{...e.typography.body2,padding:e.spacing(2),color:(e.vars||e).palette.text.secondary,textAlign:"left",captionSide:"bottom"},variants:[{props:({ownerState:t})=>t.stickyHeader,style:{borderCollapse:"separate"}}]}))),X6="table",Gme=r_.forwardRef(function(t,r){let o=ie({props:t,name:"MuiTable"}),{className:a,component:n=X6,padding:s="normal",size:i="medium",stickyHeader:p=!1,...l}=o,d={...o,component:n,padding:s,size:i,stickyHeader:p},u=Vme(d),f=r_.useMemo(()=>({padding:s,size:i,stickyHeader:p}),[s,i,p]);return(0,dR.jsx)(t_.Provider,{value:f,children:(0,dR.jsx)($me,{as:n,role:n===X6?null:"table",ref:r,className:K(u.root,a),ownerState:d,...l})})}),Pa=Gme;var eW=y(D());var Y6=y(D()),qme=Y6.createContext(),zp=qme;function Z6(e){return te("MuiTableBody",e)}var zgt=Q("MuiTableBody",["root"]);var uR=y($()),Kme=e=>{let{classes:t}=e;return re({root:["root"]},Z6,t)},Jme=W("tbody",{name:"MuiTableBody",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"table-row-group"}),Xme={variant:"body"},Q6="tbody",Yme=eW.forwardRef(function(t,r){let o=ie({props:t,name:"MuiTableBody"}),{className:a,component:n=Q6,...s}=o,i={...o,component:n},p=Kme(i);return(0,uR.jsx)(zp.Provider,{value:Xme,children:(0,uR.jsx)(Jme,{className:K(p.root,a),as:n,ref:r,role:n===Q6?null:"rowgroup",ownerState:i,...s})})}),Ra=Yme;var Oy=y(D());function tW(e){return te("MuiTableCell",e)}var Zme=Q("MuiTableCell",["root","head","body","footer","sizeSmall","sizeMedium","paddingCheckbox","paddingNone","alignLeft","alignCenter","alignRight","alignJustify","stickyHeader"]),rW=Zme;var oW=y($()),Qme=e=>{let{classes:t,variant:r,align:o,padding:a,size:n,stickyHeader:s}=e,i={root:["root",r,s&&"stickyHeader",o!=="inherit"&&`align${Y(o)}`,a!=="normal"&&`padding${Y(a)}`,`size${Y(n)}`]};return re(i,tW,t)},ehe=W("td",{name:"MuiTableCell",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[r.variant],t[`size${Y(r.size)}`],r.padding!=="normal"&&t[`padding${Y(r.padding)}`],r.align!=="inherit"&&t[`align${Y(r.align)}`],r.stickyHeader&&t.stickyHeader]}})(ge(({theme:e})=>({...e.typography.body2,display:"table-cell",verticalAlign:"inherit",borderBottom:e.vars?`1px solid ${e.vars.palette.TableCell.border}`:`1px solid + ${e.palette.mode==="light"?Os(st(e.palette.divider,1),.88):Cs(st(e.palette.divider,1),.68)}`,textAlign:"left",padding:16,variants:[{props:{variant:"head"},style:{color:(e.vars||e).palette.text.primary,lineHeight:e.typography.pxToRem(24),fontWeight:e.typography.fontWeightMedium}},{props:{variant:"body"},style:{color:(e.vars||e).palette.text.primary}},{props:{variant:"footer"},style:{color:(e.vars||e).palette.text.secondary,lineHeight:e.typography.pxToRem(21),fontSize:e.typography.pxToRem(12)}},{props:{size:"small"},style:{padding:"6px 16px",[`&.${rW.paddingCheckbox}`]:{width:24,padding:"0 12px 0 16px","& > *":{padding:0}}}},{props:{padding:"checkbox"},style:{width:48,padding:"0 0 0 4px"}},{props:{padding:"none"},style:{padding:0}},{props:{align:"left"},style:{textAlign:"left"}},{props:{align:"center"},style:{textAlign:"center"}},{props:{align:"right"},style:{textAlign:"right",flexDirection:"row-reverse"}},{props:{align:"justify"},style:{textAlign:"justify"}},{props:({ownerState:t})=>t.stickyHeader,style:{position:"sticky",top:0,zIndex:2,backgroundColor:(e.vars||e).palette.background.default}}]}))),the=Oy.forwardRef(function(t,r){let o=ie({props:t,name:"MuiTableCell"}),{align:a="inherit",className:n,component:s,padding:i,scope:p,size:l,sortDirection:d,variant:u,...f}=o,c=Oy.useContext(t_),h=Oy.useContext(zp),g=h&&h.variant==="head",m;s?m=s:m=g?"th":"td";let x=p;m==="td"?x=void 0:!x&&g&&(x="col");let T=u||h&&h.variant,b={...o,align:a,component:m,padding:i||(c&&c.padding?c.padding:"normal"),size:l||(c&&c.size?c.size:"medium"),sortDirection:d,stickyHeader:T==="head"&&c&&c.stickyHeader,variant:T},v=Qme(b),w=null;return d&&(w=d==="asc"?"ascending":"descending"),(0,oW.jsx)(ehe,{as:m,ref:r,className:K(v.root,n),"aria-sort":w,scope:x,ownerState:b,...f})}),Xe=the;var nW=y(D());function aW(e){return te("MuiTableContainer",e)}var gyt=Q("MuiTableContainer",["root"]);var sW=y($()),rhe=e=>{let{classes:t}=e;return re({root:["root"]},aW,t)},ohe=W("div",{name:"MuiTableContainer",slot:"Root",overridesResolver:(e,t)=>t.root})({width:"100%",overflowX:"auto"}),ahe=nW.forwardRef(function(t,r){let o=ie({props:t,name:"MuiTableContainer"}),{className:a,component:n="div",...s}=o,i={...o,component:n},p=rhe(i);return(0,sW.jsx)(ohe,{ref:r,as:n,className:K(p.root,a),ownerState:i,...s})}),Ni=ahe;var pW=y(D());function iW(e){return te("MuiTableHead",e)}var Ryt=Q("MuiTableHead",["root"]);var fR=y($()),nhe=e=>{let{classes:t}=e;return re({root:["root"]},iW,t)},she=W("thead",{name:"MuiTableHead",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"table-header-group"}),ihe={variant:"head"},lW="thead",lhe=pW.forwardRef(function(t,r){let o=ie({props:t,name:"MuiTableHead"}),{className:a,component:n=lW,...s}=o,i={...o,component:n},p=nhe(i);return(0,fR.jsx)(zp.Provider,{value:ihe,children:(0,fR.jsx)(she,{as:n,className:K(p.root,a),ref:r,role:n===lW?null:"rowgroup",ownerState:i,...s})})}),ds=lhe;var uW=y(D());function dW(e){return te("MuiToolbar",e)}var Vyt=Q("MuiToolbar",["root","gutters","regular","dense"]);var fW=y($()),phe=e=>{let{classes:t,disableGutters:r,variant:o}=e;return re({root:["root",!r&&"gutters",o]},dW,t)},dhe=W("div",{name:"MuiToolbar",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,!r.disableGutters&&t.gutters,t[r.variant]]}})(ge(({theme:e})=>({position:"relative",display:"flex",alignItems:"center",variants:[{props:({ownerState:t})=>!t.disableGutters,style:{paddingLeft:e.spacing(2),paddingRight:e.spacing(2),[e.breakpoints.up("sm")]:{paddingLeft:e.spacing(3),paddingRight:e.spacing(3)}}},{props:{variant:"dense"},style:{minHeight:48}},{props:{variant:"regular"},style:e.mixins.toolbar}]}))),uhe=uW.forwardRef(function(t,r){let o=ie({props:t,name:"MuiToolbar"}),{className:a,component:n="div",disableGutters:s=!1,variant:i="regular",...p}=o,l={...o,component:n,disableGutters:s,variant:i},d=phe(l);return(0,fW.jsx)(dhe,{as:n,className:K(d.root,a),ref:r,ownerState:l,...p})}),Bm=uhe;var rvt=y(D());var cW=y($()),mW=Z((0,cW.jsx)("path",{d:"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"}),"KeyboardArrowLeft");var nvt=y(D());var hW=y($()),xW=Z((0,hW.jsx)("path",{d:"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"}),"KeyboardArrowRight");var o_=y(D());function gW(e){return te("MuiTableRow",e)}var fhe=Q("MuiTableRow",["root","selected","hover","head","footer"]),cR=fhe;var vW=y($()),che=e=>{let{classes:t,selected:r,hover:o,head:a,footer:n}=e;return re({root:["root",r&&"selected",o&&"hover",a&&"head",n&&"footer"]},gW,t)},mhe=W("tr",{name:"MuiTableRow",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.head&&t.head,r.footer&&t.footer]}})(ge(({theme:e})=>({color:"inherit",display:"table-row",verticalAlign:"middle",outline:0,[`&.${cR.hover}:hover`]:{backgroundColor:(e.vars||e).palette.action.hover},[`&.${cR.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:st(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:st(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity)}}}))),yW="tr",hhe=o_.forwardRef(function(t,r){let o=ie({props:t,name:"MuiTableRow"}),{className:a,component:n=yW,hover:s=!1,selected:i=!1,...p}=o,l=o_.useContext(zp),d={...o,component:n,hover:s,selected:i,head:l&&l.variant==="head",footer:l&&l.variant==="footer"},u=che(d);return(0,vW.jsx)(mhe,{as:n,ref:r,className:K(u.root,a),role:n===yW?null:"row",ownerState:d,...p})}),Fr=hhe;var rr=y(D()),qvt=y(Ic());function xhe(e){return(1+Math.sin(Math.PI*e-Math.PI/2))/2}function mR(e,t,r,o={},a=()=>{}){let{ease:n=xhe,duration:s=300}=o,i=null,p=t[e],l=!1,d=()=>{l=!0},u=f=>{if(l){a(new Error("Animation cancelled"));return}i===null&&(i=f);let c=Math.min(1,(f-i)/s);if(t[e]=n(c)*(r-p)+p,c>=1){requestAnimationFrame(()=>{a(null)});return}requestAnimationFrame(u)};return p===r?(a(new Error("Element already at target position")),d):(requestAnimationFrame(u),d)}var ky=y(D());var bW=y($()),ghe={width:99,height:99,position:"absolute",top:-9999,overflow:"scroll"};function hR(e){let{onChange:t,...r}=e,o=ky.useRef(),a=ky.useRef(null),n=()=>{o.current=a.current.offsetHeight-a.current.clientHeight};return Is(()=>{let s=sm(()=>{let p=o.current;n(),p!==o.current&&t(o.current)}),i=Ei(a.current);return i.addEventListener("resize",s),()=>{s.clear(),i.removeEventListener("resize",s)}},[t]),ky.useEffect(()=>{n(),t(o.current)},[t]),(0,bW.jsx)("div",{style:ghe,ref:a,...r})}var wW=y(D());function TW(e){return te("MuiTabScrollButton",e)}var yhe=Q("MuiTabScrollButton",["root","vertical","horizontal","disabled"]),SW=yhe;var a_=y($()),vhe=e=>{let{classes:t,orientation:r,disabled:o}=e;return re({root:["root",r,o&&"disabled"]},TW,t)},bhe=W(_o,{name:"MuiTabScrollButton",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.orientation&&t[r.orientation]]}})({width:40,flexShrink:0,opacity:.8,[`&.${SW.disabled}`]:{opacity:0},variants:[{props:{orientation:"vertical"},style:{width:"100%",height:40,"& svg":{transform:"var(--TabScrollButton-svgRotate)"}}}]}),The=wW.forwardRef(function(t,r){var T,b;let o=ie({props:t,name:"MuiTabScrollButton"}),{className:a,slots:n={},slotProps:s={},direction:i,orientation:p,disabled:l,...d}=o,u=Yn(),f={isRtl:u,...o},c=vhe(f),h=(T=n.StartScrollButtonIcon)!=null?T:mW,g=(b=n.EndScrollButtonIcon)!=null?b:xW,m=vo({elementType:h,externalSlotProps:s.startScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:f}),x=vo({elementType:g,externalSlotProps:s.endScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:f});return(0,a_.jsx)(bhe,{component:"div",className:K(c.root,a),ref:r,role:null,ownerState:f,tabIndex:null,...d,style:{...d.style,...p==="vertical"&&{"--TabScrollButton-svgRotate":`rotate(${u?-90:90}deg)`}},children:i==="left"?(0,a_.jsx)(h,{...m}):(0,a_.jsx)(g,{...x})})}),xR=The;function _W(e){return te("MuiTabs",e)}var She=Q("MuiTabs",["root","vertical","flexContainer","flexContainerVertical","centered","scroller","fixed","scrollableX","scrollableY","hideScrollbar","scrollButtons","scrollButtonsHideMobile","indicator"]),n_=She;var Pl=y($()),CW=(e,t)=>e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:e.firstChild,OW=(e,t)=>e===t?e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:e.lastChild,s_=(e,t,r)=>{let o=!1,a=r(e,t);for(;a;){if(a===e.firstChild){if(o)return;o=!0}let n=a.disabled||a.getAttribute("aria-disabled")==="true";if(!a.hasAttribute("tabindex")||n)a=r(e,a);else{a.focus();return}}},whe=e=>{let{vertical:t,fixed:r,hideScrollbar:o,scrollableX:a,scrollableY:n,centered:s,scrollButtonsHideMobile:i,classes:p}=e;return re({root:["root",t&&"vertical"],scroller:["scroller",r&&"fixed",o&&"hideScrollbar",a&&"scrollableX",n&&"scrollableY"],flexContainer:["flexContainer",t&&"flexContainerVertical",s&&"centered"],indicator:["indicator"],scrollButtons:["scrollButtons",i&&"scrollButtonsHideMobile"],scrollableX:[a&&"scrollableX"],hideScrollbar:[o&&"hideScrollbar"]},_W,p)},_he=W("div",{name:"MuiTabs",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[{[`& .${n_.scrollButtons}`]:t.scrollButtons},{[`& .${n_.scrollButtons}`]:r.scrollButtonsHideMobile&&t.scrollButtonsHideMobile},t.root,r.vertical&&t.vertical]}})(ge(({theme:e})=>({overflow:"hidden",minHeight:48,WebkitOverflowScrolling:"touch",display:"flex",variants:[{props:({ownerState:t})=>t.vertical,style:{flexDirection:"column"}},{props:({ownerState:t})=>t.scrollButtonsHideMobile,style:{[`& .${n_.scrollButtons}`]:{[e.breakpoints.down("sm")]:{display:"none"}}}}]}))),Che=W("div",{name:"MuiTabs",slot:"Scroller",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.scroller,r.fixed&&t.fixed,r.hideScrollbar&&t.hideScrollbar,r.scrollableX&&t.scrollableX,r.scrollableY&&t.scrollableY]}})({position:"relative",display:"inline-block",flex:"1 1 auto",whiteSpace:"nowrap",variants:[{props:({ownerState:e})=>e.fixed,style:{overflowX:"hidden",width:"100%"}},{props:({ownerState:e})=>e.hideScrollbar,style:{scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}},{props:({ownerState:e})=>e.scrollableX,style:{overflowX:"auto",overflowY:"hidden"}},{props:({ownerState:e})=>e.scrollableY,style:{overflowY:"auto",overflowX:"hidden"}}]}),Ohe=W("div",{name:"MuiTabs",slot:"FlexContainer",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.flexContainer,r.vertical&&t.flexContainerVertical,r.centered&&t.centered]}})({display:"flex",variants:[{props:({ownerState:e})=>e.vertical,style:{flexDirection:"column"}},{props:({ownerState:e})=>e.centered,style:{justifyContent:"center"}}]}),khe=W("span",{name:"MuiTabs",slot:"Indicator",overridesResolver:(e,t)=>t.indicator})(ge(({theme:e})=>({position:"absolute",height:2,bottom:0,width:"100%",transition:e.transitions.create(),variants:[{props:{indicatorColor:"primary"},style:{backgroundColor:(e.vars||e).palette.primary.main}},{props:{indicatorColor:"secondary"},style:{backgroundColor:(e.vars||e).palette.secondary.main}},{props:({ownerState:t})=>t.vertical,style:{height:"100%",width:2,right:0}}]}))),Ehe=W(hR)({overflowX:"auto",overflowY:"hidden",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}),kW={};var Phe=rr.forwardRef(function(t,r){let o=ie({props:t,name:"MuiTabs"}),a=Zr(),n=Yn(),{"aria-label":s,"aria-labelledby":i,action:p,centered:l=!1,children:d,className:u,component:f="div",allowScrollButtonsMobile:c=!1,indicatorColor:h="primary",onChange:g,orientation:m="horizontal",ScrollButtonComponent:x=xR,scrollButtons:T="auto",selectionFollowsFocus:b,slots:v={},slotProps:w={},TabIndicatorProps:O={},TabScrollButtonProps:k={},textColor:M="primary",value:N,variant:S="standard",visibleScrollbar:B=!1,...G}=o,J=S==="scrollable",q=m==="vertical",j=q?"scrollTop":"scrollLeft",X=q?"top":"left",le=q?"bottom":"right",ae=q?"clientHeight":"clientWidth",de=q?"height":"width",Be={...o,component:f,allowScrollButtonsMobile:c,indicatorColor:h,orientation:m,vertical:q,scrollButtons:T,textColor:M,variant:S,visibleScrollbar:B,fixed:!J,hideScrollbar:J&&!B,scrollableX:J&&!q,scrollableY:J&&q,centered:l&&!J,scrollButtonsHideMobile:!c},Oe=whe(Be),We=vo({elementType:v.StartScrollButtonIcon,externalSlotProps:w.startScrollButtonIcon,ownerState:Be}),ke=vo({elementType:v.EndScrollButtonIcon,externalSlotProps:w.endScrollButtonIcon,ownerState:Be}),[_e,He]=rr.useState(!1),[Me,lt]=rr.useState(kW),[Ye,ot]=rr.useState(!1),[ft,Fe]=rr.useState(!1),[Pe,Ze]=rr.useState(!1),[qe,Ue]=rr.useState({overflow:"hidden",scrollbarWidth:0}),ue=new Map,we=rr.useRef(null),Ne=rr.useRef(null),Ve=()=>{let pe=we.current,he;if(pe){let $e=pe.getBoundingClientRect();he={clientWidth:pe.clientWidth,scrollLeft:pe.scrollLeft,scrollTop:pe.scrollTop,scrollWidth:pe.scrollWidth,top:$e.top,bottom:$e.bottom,left:$e.left,right:$e.right}}let ze;if(pe&&N!==!1){let $e=Ne.current.children;if($e.length>0){let pt=$e[ue.get(N)];ze=pt?pt.getBoundingClientRect():null}}return{tabsMeta:he,tabMeta:ze}},ht=ts(()=>{let{tabsMeta:pe,tabMeta:he}=Ve(),ze=0,$e;q?($e="top",he&&pe&&(ze=he.top-pe.top+pe.scrollTop)):($e=n?"right":"left",he&&pe&&(ze=(n?-1:1)*(he[$e]-pe[$e]+pe.scrollLeft)));let pt={[$e]:ze,[de]:he?he[de]:0};if(typeof Me[$e]!="number"||typeof Me[de]!="number")lt(pt);else{let za=Math.abs(Me[$e]-pt[$e]),Nn=Math.abs(Me[de]-pt[de]);(za>=1||Nn>=1)&<(pt)}}),Tt=(pe,{animation:he=!0}={})=>{he?mR(j,we.current,pe,{duration:a.transitions.duration.standard}):we.current[j]=pe},xt=pe=>{let he=we.current[j];q?he+=pe:he+=pe*(n?-1:1),Tt(he)},Ee=()=>{let pe=we.current[ae],he=0,ze=Array.from(Ne.current.children);for(let $e=0;$epe){$e===0&&(he=pe);break}he+=pt[ae]}return he},me=()=>{xt(-1*Ee())},Re=()=>{xt(Ee())},mt=rr.useCallback(pe=>{Ue({overflow:null,scrollbarWidth:pe})},[]),gt=()=>{let pe={};pe.scrollbarSizeListener=J?(0,Pl.jsx)(Ehe,{onChange:mt,className:K(Oe.scrollableX,Oe.hideScrollbar)}):null;let ze=J&&(T==="auto"&&(Ye||ft)||T===!0);return pe.scrollButtonStart=ze?(0,Pl.jsx)(x,{slots:{StartScrollButtonIcon:v.StartScrollButtonIcon},slotProps:{startScrollButtonIcon:We},orientation:m,direction:n?"right":"left",onClick:me,disabled:!Ye,...k,className:K(Oe.scrollButtons,k.className)}):null,pe.scrollButtonEnd=ze?(0,Pl.jsx)(x,{slots:{EndScrollButtonIcon:v.EndScrollButtonIcon},slotProps:{endScrollButtonIcon:ke},orientation:m,direction:n?"left":"right",onClick:Re,disabled:!ft,...k,className:K(Oe.scrollButtons,k.className)}):null,pe},Ge=ts(pe=>{let{tabsMeta:he,tabMeta:ze}=Ve();if(!(!ze||!he)){if(ze[X]he[le]){let $e=he[j]+(ze[le]-he[le]);Tt($e,{animation:pe})}}}),et=ts(()=>{J&&T!==!1&&Ze(!Pe)});rr.useEffect(()=>{let pe=sm(()=>{we.current&&ht()}),he,ze=za=>{za.forEach(Nn=>{Nn.removedNodes.forEach(Jt=>{he==null||he.unobserve(Jt)}),Nn.addedNodes.forEach(Jt=>{he==null||he.observe(Jt)})}),pe(),et()},$e=Ei(we.current);$e.addEventListener("resize",pe);let pt;return typeof ResizeObserver!="undefined"&&(he=new ResizeObserver(pe),Array.from(Ne.current.children).forEach(za=>{he.observe(za)})),typeof MutationObserver!="undefined"&&(pt=new MutationObserver(ze),pt.observe(Ne.current,{childList:!0})),()=>{pe.clear(),$e.removeEventListener("resize",pe),pt==null||pt.disconnect(),he==null||he.disconnect()}},[ht,et]),rr.useEffect(()=>{let pe=Array.from(Ne.current.children),he=pe.length;if(typeof IntersectionObserver!="undefined"&&he>0&&J&&T!==!1){let ze=pe[0],$e=pe[he-1],pt={root:we.current,threshold:.99},za=Bd=>{ot(!Bd[0].isIntersecting)},Nn=new IntersectionObserver(za,pt);Nn.observe(ze);let Jt=Bd=>{Fe(!Bd[0].isIntersecting)},Ht=new IntersectionObserver(Jt,pt);return Ht.observe($e),()=>{Nn.disconnect(),Ht.disconnect()}}},[J,T,Pe,d==null?void 0:d.length]),rr.useEffect(()=>{He(!0)},[]),rr.useEffect(()=>{ht()}),rr.useEffect(()=>{Ge(kW!==Me)},[Ge,Me]),rr.useImperativeHandle(p,()=>({updateIndicator:ht,updateScrollButtons:et}),[ht,et]);let Ut=(0,Pl.jsx)(khe,{...O,className:K(Oe.indicator,O.className),ownerState:Be,style:{...Me,...O.style}}),Rt=0,ct=rr.Children.map(d,pe=>{if(!rr.isValidElement(pe))return null;let he=pe.props.value===void 0?Rt:pe.props.value;ue.set(he,Rt);let ze=he===N;return Rt+=1,rr.cloneElement(pe,{fullWidth:S==="fullWidth",indicator:ze&&!_e&&Ut,selected:ze,selectionFollowsFocus:b,onChange:g,textColor:M,value:he,...Rt===1&&N===!1&&!pe.props.tabIndex?{tabIndex:0}:{}})}),je=pe=>{let he=Ne.current,ze=bl(he).activeElement;if(ze.getAttribute("role")!=="tab")return;let pt=m==="horizontal"?"ArrowLeft":"ArrowUp",za=m==="horizontal"?"ArrowRight":"ArrowDown";switch(m==="horizontal"&&n&&(pt="ArrowRight",za="ArrowLeft"),pe.key){case pt:pe.preventDefault(),s_(he,ze,OW);break;case za:pe.preventDefault(),s_(he,ze,CW);break;case"Home":pe.preventDefault(),s_(he,null,CW);break;case"End":pe.preventDefault(),s_(he,null,OW);break;default:break}},Nt=gt();return(0,Pl.jsxs)(_he,{className:K(Oe.root,u),ownerState:Be,ref:r,as:f,...G,children:[Nt.scrollButtonStart,Nt.scrollbarSizeListener,(0,Pl.jsxs)(Che,{className:Oe.scroller,ownerState:Be,style:{overflow:qe.overflow,[q?`margin${n?"Left":"Right"}`:"marginBottom"]:B?void 0:-qe.scrollbarWidth},ref:we,children:[(0,Pl.jsx)(Ohe,{"aria-label":s,"aria-labelledby":i,"aria-orientation":m==="vertical"?"vertical":null,className:Oe.flexContainer,ownerState:Be,onKeyDown:je,ref:Ne,role:"tablist",children:ct}),_e&&Ut]}),Nt.scrollButtonEnd]})}),Lm=Phe;var PW=y(D());function EW(e){return te("MuiTextField",e)}var xbt=Q("MuiTextField",["root"]);var of=y($()),Rhe={standard:Zo,filled:uy,outlined:vy},Dhe=e=>{let{classes:t}=e;return re({root:["root"]},EW,t)},Ahe=W(ls,{name:"MuiTextField",slot:"Root",overridesResolver:(e,t)=>t.root})({}),Mhe=PW.forwardRef(function(t,r){let o=ie({props:t,name:"MuiTextField"}),{autoComplete:a,autoFocus:n=!1,children:s,className:i,color:p="primary",defaultValue:l,disabled:d=!1,error:u=!1,FormHelperTextProps:f,fullWidth:c=!1,helperText:h,id:g,InputLabelProps:m,inputProps:x,InputProps:T,inputRef:b,label:v,maxRows:w,minRows:O,multiline:k=!1,name:M,onBlur:N,onChange:S,onFocus:B,placeholder:G,required:J=!1,rows:q,select:j=!1,SelectProps:X,slots:le={},slotProps:ae={},type:de,value:Be,variant:Oe="outlined",...We}=o,ke={...o,autoFocus:n,color:p,disabled:d,error:u,fullWidth:c,multiline:k,required:J,select:j,variant:Oe},_e=Dhe(ke),He=vi(g),Me=h&&He?`${He}-helper-text`:void 0,lt=v&&He?`${He}-label`:void 0,Ye=Rhe[Oe],ot={slots:le,slotProps:{input:T,inputLabel:m,htmlInput:x,formHelperText:f,select:X,...ae}},ft={},Fe=ot.slotProps.inputLabel;Oe==="outlined"&&(Fe&&typeof Fe.shrink!="undefined"&&(ft.notched=Fe.shrink),ft.label=v),j&&((!X||!X.native)&&(ft.id=void 0),ft["aria-describedby"]=void 0);let[Pe,Ze]=Mr("input",{elementType:Ye,externalForwardedProps:ot,additionalProps:ft,ownerState:ke}),[qe,Ue]=Mr("inputLabel",{elementType:Mp,externalForwardedProps:ot,ownerState:ke}),[ue,we]=Mr("htmlInput",{elementType:"input",externalForwardedProps:ot,ownerState:ke}),[Ne,Ve]=Mr("formHelperText",{elementType:DP,externalForwardedProps:ot,ownerState:ke}),[ht,Tt]=Mr("select",{elementType:ea,externalForwardedProps:ot,ownerState:ke}),xt=(0,of.jsx)(Pe,{"aria-describedby":Me,autoComplete:a,autoFocus:n,defaultValue:l,fullWidth:c,multiline:k,name:M,rows:q,maxRows:w,minRows:O,type:de,value:Be,id:He,inputRef:b,onBlur:N,onChange:S,onFocus:B,placeholder:G,inputProps:we,slots:{input:le.htmlInput?ue:void 0},...Ze});return(0,of.jsxs)(Ahe,{className:K(_e.root,i),disabled:d,error:u,fullWidth:c,ref:r,required:J,color:p,variant:Oe,ownerState:ke,...We,children:[v!=null&&v!==""&&(0,of.jsx)(qe,{htmlFor:He,id:lt,...Ue,children:v}),j?(0,of.jsx)(ht,{"aria-describedby":Me,id:He,labelId:lt,value:Be,input:xt,...Tt,children:s}):xt,h&&(0,of.jsx)(Ne,{id:Me,...Ve,children:h})]})}),vr=Mhe;var RW=y($()),i_=Z((0,RW.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add");var DW=y($()),gR=Z((0,DW.jsx)("path",{d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z"}),"ArrowBack");var AW=y($()),yR=Z((0,AW.jsx)("path",{d:"m10 17 5-5-5-5z"}),"ArrowRight");var MW=y($()),vR=Z((0,MW.jsx)("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm2 11h-3v3.75c0 1.24-1.01 2.25-2.25 2.25S8.5 17.99 8.5 16.75s1.01-2.25 2.25-2.25c.46 0 .89.14 1.25.38V11h4zm-3-4V3.5L18.5 9z"}),"AudioFile");var bR=y($()),TR=Z([(0,bR.jsx)("path",{d:"M16.5 12h-9c-.55 0-1 .45-1 1v1h11v-1c0-.55-.45-1-1-1M7.25 8.5h4v2h-4zm5.5 0h4v2h-4z"},"0"),(0,bR.jsx)("path",{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-1 15h-1.5v-1.5h-11V17H5v-3.83c0-.66.25-1.26.65-1.72V9c0-1.1.9-2 2-2H11c.37 0 .72.12 1 .32.28-.2.63-.32 1-.32h3.35c1.1 0 2 .9 2 2v2.45c.4.46.65 1.06.65 1.72z"},"1")],"BedroomParent");var NW=y($()),SR=Z((0,NW.jsx)("path",{d:"M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2"}),"Bookmark");var IW=y($()),wR=Z((0,IW.jsx)("path",{d:"M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2m0 15-5-2.18L7 18V5h10z"}),"BookmarkBorder");var FW=y($()),_R=Z((0,FW.jsx)("path",{d:"M22 24H2v-4h20zM13.06 5.19l3.75 3.75L7.75 18H4v-3.75zm4.82 2.68-3.75-3.75 1.83-1.83c.39-.39 1.02-.39 1.41 0l2.34 2.34c.39.39.39 1.02 0 1.41z"}),"BorderColor");var BW=y($()),Ey=Z((0,BW.jsx)("path",{d:"M20 15.31 23.31 12 20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20zM12 18V6c3.31 0 6 2.69 6 6s-2.69 6-6 6"}),"Brightness6");var LW=y($()),CR=Z((0,LW.jsx)("path",{d:"m22.7 19-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4"}),"Build");var jW=y($()),OR=Z((0,jW.jsx)("path",{d:"M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m0 18H4V8h16z"}),"CalendarToday");var zW=y($()),Us=Z((0,zW.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12z"}),"Cancel");var WW=y($()),to=Z((0,WW.jsx)("path",{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"Check");var UW=y($()),$r=Z((0,UW.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");var HW=y($()),jm=Z((0,HW.jsx)("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6z"}),"Code");var VW=y($()),kR=Z((0,VW.jsx)("path",{d:"m13.7826 15.1719 2.1213-2.1213 5.9963 5.9962-2.1213 2.1213zM17.5 10c1.93 0 3.5-1.57 3.5-3.5 0-.58-.16-1.12-.41-1.6l-2.7 2.7-1.49-1.49 2.7-2.7c-.48-.25-1.02-.41-1.6-.41C15.57 3 14 4.57 14 6.5c0 .41.08.8.21 1.16l-1.85 1.85-1.78-1.78.71-.71-1.41-1.41L12 3.49c-1.17-1.17-3.07-1.17-4.24 0L4.22 7.03l1.41 1.41H2.81l-.71.71 3.54 3.54.71-.71V9.15l1.41 1.41.71-.71 1.78 1.78-7.41 7.41 2.12 2.12L16.34 9.79c.36.13.75.21 1.16.21"}),"Construction");var $W=y($()),ER=Z((0,$W.jsx)("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m0 16H8V7h11z"}),"ContentCopy");var GW=y($()),Py=Z((0,GW.jsx)("path",{d:"M20 6h-8l-2-2H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2m-1 8h-3v3h-2v-3h-3v-2h3V9h2v3h3z"}),"CreateNewFolder");var qW=y($()),PR=Z((0,qW.jsx)("path",{d:"M4 7v2c0 .55-.45 1-1 1H2v4h1c.55 0 1 .45 1 1v2c0 1.65 1.35 3 3 3h3v-2H7c-.55 0-1-.45-1-1v-2c0-1.3-.84-2.42-2-2.83v-.34C5.16 11.42 6 10.3 6 9V7c0-.55.45-1 1-1h3V4H7C5.35 4 4 5.35 4 7m17 3c-.55 0-1-.45-1-1V7c0-1.65-1.35-3-3-3h-3v2h3c.55 0 1 .45 1 1v2c0 1.3.84 2.42 2 2.83v.34c-1.16.41-2 1.52-2 2.83v2c0 .55-.45 1-1 1h-3v2h3c1.65 0 3-1.35 3-3v-2c0-.55.45-1 1-1h1v-4z"}),"DataObject");var KW=y($()),Hs=Z((0,KW.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}),"Delete");var JW=y($()),zm=Z((0,JW.jsx)("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm2 16H8v-2h8zm0-4H8v-2h8zm-3-5V3.5L18.5 9z"}),"Description");var XW=y($()),af=Z((0,XW.jsx)("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"}),"Edit");var YW=y($()),RR=Z((0,YW.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}),"Error");var ZW=y($()),DR=Z((0,ZW.jsx)("path",{d:"M20 19.59V8l-6-6H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c.45 0 .85-.15 1.19-.4l-4.43-4.43c-.8.52-1.74.83-2.76.83-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5c0 1.02-.31 1.96-.83 2.75zM9 13c0 1.66 1.34 3 3 3s3-1.34 3-3-1.34-3-3-3-3 1.34-3 3"}),"FindInPage");var QW=y($()),AR=Z((0,QW.jsx)("path",{d:"M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m0 12H4V8h16z"}),"FolderOpen");var e9=y($()),MR=Z((0,e9.jsx)("path",{d:"M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m-2.06 11L15 15.28 12.06 17l.78-3.33-2.59-2.24 3.41-.29L15 8l1.34 3.14 3.41.29-2.59 2.24z"}),"FolderSpecial");var t9=y($()),NR=Z((0,t9.jsx)("path",{d:"M9.93 13.5h4.14L12 7.98zM20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-4.05 16.5-1.14-3H9.17l-1.12 3H5.96l5.11-13h1.86l5.11 13z"}),"FontDownload");var r9=y($()),IR=Z((0,r9.jsx)("path",{d:"M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z"}),"FormatItalic");var o9=y($()),FR=Z((0,o9.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 17h-2v-2h2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25"}),"Help");var a9=y($()),BR=Z((0,a9.jsx)("path",{d:"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2M8.5 13.5l2.5 3.01L14.5 12l4.5 6H5z"}),"Image");var n9=y($()),LR=Z((0,n9.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-6h2zm0-8h-2V7h2z"}),"Info");var s9=y($()),l_=Z((0,s9.jsx)("path",{d:"M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm7 7V3.5L18.5 9z"}),"InsertDriveFile");var i9=y($()),jR=Z((0,i9.jsx)("path",{d:"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"}),"KeyboardReturn");var l9=y($()),p_=Z((0,l9.jsx)("path",{d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5"}),"Link");var p9=y($()),zR=Z((0,p9.jsx)("path",{d:"M3 13h2v-2H3zm0 4h2v-2H3zm0-8h2V7H3zm4 4h14v-2H7zm0 4h14v-2H7zM7 7v2h14V7z"}),"List");var d9=y($()),WR=Z((0,d9.jsx)("path",{d:"M19 5v14H5V5zm1.1-2H3.9c-.5 0-.9.4-.9.9v16.2c0 .4.4.9.9.9h16.2c.4 0 .9-.5.9-.9V3.9c0-.5-.5-.9-.9-.9M11 7h6v2h-6zm0 4h6v2h-6zm0 4h6v2h-6zM7 7h2v2H7zm0 4h2v2H7zm0 4h2v2H7z"}),"ListAlt");var u9=y($()),UR=Z((0,u9.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-5 14h-2V9h-2V7h4z"}),"LooksOne");var f9=y($()),HR=Z((0,f9.jsx)("path",{d:"M12 3v10.55c-.59-.34-1.27-.55-2-.55-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4V7h4V3z"}),"MusicNote");var c9=y($()),d_=Z((0,c9.jsx)("path",{d:"M12 6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0 10c2.7 0 5.8 1.29 6 2H6c.23-.72 3.31-2 6-2m0-12C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4m0 10c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4"}),"PersonOutlined");var m9=y($()),nf=Z((0,m9.jsx)("path",{d:"M5 4v2h14V4zm0 10h4v6h6v-6h4l-7-7z"}),"Publish");var h9=y($()),Ry=Z((0,h9.jsx)("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}),"Refresh");var x9=y($()),u_=Z((0,x9.jsx)("path",{d:"m20.2 5.9.8-.8C19.6 3.7 17.8 3 16 3s-3.6.7-5 2.1l.8.8C13 4.8 14.5 4.2 16 4.2s3 .6 4.2 1.7m-.9.8c-.9-.9-2.1-1.4-3.3-1.4s-2.4.5-3.3 1.4l.8.8c.7-.7 1.6-1 2.5-1s1.8.3 2.5 1zM19 13h-2V9h-2v4H5c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2M8 18H6v-2h2zm3.5 0h-2v-2h2zm3.5 0h-2v-2h2z"}),"Router");var g9=y($()),Wm=Z((0,g9.jsx)("path",{d:"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m3-10H5V5h10z"}),"Save");var y9=y($()),VR=Z((0,y9.jsx)("path",{d:"M19 12v7H5v-7H3v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7zm-6 .67 2.59-2.58L17 11.5l-5 5-5-5 1.41-1.41L11 12.67V3h2z"}),"SaveAlt");var v9=y($()),Dy=Z((0,v9.jsx)("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"}),"Settings");var b9=y($()),f_=Z((0,b9.jsx)("path",{d:"M12 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m7-7H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2m-1.75 9c0 .23-.02.46-.05.68l1.48 1.16c.13.11.17.3.08.45l-1.4 2.42c-.09.15-.27.21-.43.15l-1.74-.7c-.36.28-.76.51-1.18.69l-.26 1.85c-.03.17-.18.3-.35.3h-2.8c-.17 0-.32-.13-.35-.29l-.26-1.85c-.43-.18-.82-.41-1.18-.69l-1.74.7c-.16.06-.34 0-.43-.15l-1.4-2.42c-.09-.15-.05-.34.08-.45l1.48-1.16c-.03-.23-.05-.46-.05-.69s.02-.46.05-.68l-1.48-1.16c-.13-.11-.17-.3-.08-.45l1.4-2.42c.09-.15.27-.21.43-.15l1.74.7c.36-.28.76-.51 1.18-.69l.26-1.85c.03-.17.18-.3.35-.3h2.8c.17 0 .32.13.35.29l.26 1.85c.43.18.82.41 1.18.69l1.74-.7c.16-.06.34 0 .43.15l1.4 2.42c.09.15.05.34-.08.45l-1.48 1.16c.03.23.05.46.05.69"}),"SettingsApplications");var T9=y($()),$R=Z((0,T9.jsx)("path",{d:"m3.5 18.49 6-6.01 4 4L22 6.92l-1.41-1.41-7.09 7.97-4-4L2 16.99z"}),"ShowChart");var S9=y($()),c_=Z((0,S9.jsx)("path",{d:"M11.99 2c-5.52 0-10 4.48-10 10s4.48 10 10 10 10-4.48 10-10-4.48-10-10-10m3.61 6.34c1.07 0 1.93.86 1.93 1.93s-.86 1.93-1.93 1.93-1.93-.86-1.93-1.93c-.01-1.07.86-1.93 1.93-1.93m-6-1.58c1.3 0 2.36 1.06 2.36 2.36s-1.06 2.36-2.36 2.36-2.36-1.06-2.36-2.36c0-1.31 1.05-2.36 2.36-2.36m0 9.13v3.75c-2.4-.75-4.3-2.6-5.14-4.96 1.05-1.12 3.67-1.69 5.14-1.69.53 0 1.2.08 1.9.22-1.64.87-1.9 2.02-1.9 2.68M11.99 20c-.27 0-.53-.01-.79-.04v-4.07c0-1.42 2.94-2.13 4.4-2.13 1.07 0 2.92.39 3.84 1.15-1.17 2.97-4.06 5.09-7.45 5.09"}),"SupervisedUserCircle");var w9=y($()),GR=Z((0,w9.jsx)("path",{d:"M2.5 4v3h5v12h3V7h5V4zm19 5h-9v3h3v7h3v-7h3z"}),"TextFields");var _9=y($()),qR=Z((0,_9.jsx)("path",{d:"M16 13h-3V3h-2v10H8l4 4zM4 19v2h16v-2z"}),"VerticalAlignBottom");var C9=y($()),KR=Z((0,C9.jsx)("path",{d:"M8 11h3v10h2V11h3l-4-4zM4 3v2h16V3z"}),"VerticalAlignTop");var O9=y($()),JR=Z((0,O9.jsx)("path",{d:"M17 10.5V7c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-3.5l4 4v-11z"}),"Videocam");var k9=y($()),XR=Z((0,k9.jsx)("path",{d:"M14.67 5v14H9.33V5zm1 14H21V5h-5.33zm-7.34 0V5H3v14z"}),"ViewColumn");var E9=y($()),YR=Z((0,E9.jsx)("path",{d:"M14.67 5v6.5H9.33V5zm1 6.5H21V5h-5.33zm-1 7.5v-6.5H9.33V19zm1-6.5V19H21v-6.5zm-7.34 0H3V19h5.33zm0-1V5H3v6.5z"}),"ViewModule");var P9=y($()),sf=Z((0,P9.jsx)("path",{d:"m1 9 2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9m8 8 3 3 3-3c-1.65-1.66-4.34-1.66-6 0m-4-4 2 2c2.76-2.76 7.24-2.76 10 0l2-2C15.14 9.14 8.87 9.14 5 13"}),"Wifi");var R9=y($()),Um=Z((0,R9.jsx)("path",{d:"M22.99 9C19.15 5.16 13.8 3.76 8.84 4.78l2.52 2.52c3.47-.17 6.99 1.05 9.63 3.7zm-4 4c-1.29-1.29-2.84-2.13-4.49-2.56l3.53 3.53zM2 3.05 5.07 6.1C3.6 6.82 2.22 7.78 1 9l1.99 2c1.24-1.24 2.67-2.16 4.2-2.77l2.24 2.24C7.81 10.89 6.27 11.73 5 13v.01L6.99 15c1.36-1.36 3.14-2.04 4.92-2.06L18.98 20l1.27-1.26L3.29 1.79zM9 17l3 3 3-3c-1.65-1.66-4.34-1.66-6 0"}),"WifiOff");function ZR(){console.log(` \u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2554\u255D\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2588\u2588\u2557 \u2588\u2588\u2554\u2550\u2550\u255D \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557 \u2588\u2588\u2551\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2551 \u2588\u2588\u2551\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2551 \u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2551 \u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u255D -`),console.log("Nice to see you here! :) Join our dev community here https://github.com/ioBroker/ioBroker or here https://github.com/iobroker-community-adapters"),console.log("Help us to create open source project with reactJS!"),console.log("See you :)")}var En=y(P()),j1e=` +`),console.log("Nice to see you here! :) Join our dev community here https://github.com/ioBroker/ioBroker or here https://github.com/iobroker-community-adapters"),console.log("Help us to create open source project with reactJS!"),console.log("See you :)")}var rn=y(D()),Nhe=` /** * Copyright 2018-2024 Denis Haev (bluefox) * @@ -412,10 +440,10 @@ Url: ${K_(e)}`),!0)}function Rve(e,t){return e.type||!t||!t.length?!1:Nve(e).som .logo-animate-color-outside-blue { animation: logo-color-outside-blue 1.5s; } -`;function qN(e){(0,En.useEffect)(()=>{if(!window.document.getElementById("loader-iobroker-component")){let o=window.document.createElement("style");o.setAttribute("id","loader-iobroker-component"),o.innerHTML=j1e,window.document.head.appendChild(o)}},[]);let t=e.size||234,r=e.themeName||e.theme||e.themeType||"light";return En.default.createElement("div",{className:`logo-back logo-background-${r}`,style:{backgroundImage:e.backgroundImage&&e.backgroundImage!=="@@loginBackgroundImage@@"?e.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:e.backgroundColor&&e.backgroundColor!=="@@loginBackgroundColor@@"?e.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:void 0,backgroundSize:"cover"}},window.loadingHideLogo==="true"?null:En.default.createElement(En.default.Fragment,null,En.default.createElement("div",{className:"logo-div",style:{width:t,height:t}},En.default.createElement("div",{className:`logo-top logo-background-${r}`,style:{left:"37%"}}),En.default.createElement("div",{className:`logo-top logo-background-${r}`,style:{left:"57%"}}),En.default.createElement("div",{className:`logo-border logo-background-${r} logo-animate-wait`,style:{borderWidth:t*.132}}),En.default.createElement("div",{className:`logo-i logo-animate-color-inside-${r}`}),En.default.createElement("div",{className:`logo-i-top logo-animate-color-inside-${r}`,style:{top:"18%"}}),En.default.createElement("div",{className:`logo-i-top logo-animate-color-inside-${r}`,style:{bottom:"18%"}})),En.default.createElement("div",{className:`logo-animate-grow logo-animate-grow-${r}`,style:{width:t+11,height:t+11}})))}var BG=y(P());var Oc=class e extends BG.Component{constructor(r){super(r);A(this,"onHashChangedBound");this.onHashChangedBound=this.onHashChanged.bind(this)}componentDidMount(){window.addEventListener("hashchange",this.onHashChangedBound)}componentWillUnmount(){window.removeEventListener("hashchange",this.onHashChangedBound)}onHashChanged(){}static getLocation(){let r=window.location.hash;r=r.replace(/^#/,"");let o=r.split("/").map(a=>{try{return a?decodeURIComponent(a):""}catch(n){return console.error(`Router: Cannot decode ${a}`),a}});return{tab:o[0]||"",dialog:o[1]||"",id:o[2]||"",arg:o[3]||""}}static doNavigate(r,o,a,n){let s="",i=e.getLocation();n!==void 0&&!a&&(a=i.id),a&&!o&&(o=i.dialog),(o&&!r||r===null)&&(r=i.tab),r&&(s=`#${r}`,o&&(s+=`/${o}`,a&&(s+=`/${a}`,n!==void 0&&(s+=`/${n}`)))),window.location.hash!==s&&(window.location.hash=s)}};var hl=y(P());function L1e(){let e=document.getSelection();if(!(e!=null&&e.rangeCount))return()=>{};let t=document.activeElement,r=[];for(let o=0;o{e.type==="Caret"&&e.removeAllRanges(),e.rangeCount||r.forEach(o=>e.addRange(o)),t&&t.focus()}}var jG={"text/plain":"Text","text/html":"Url",default:"Text"},z1e="Copy to clipboard: #{key}, Enter";function W1e(e){let t=`${/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl"}+C`;return e.replace(/#{\s*key\s*}/g,t)}function vO(e,t){let r,o,a,n,s=!1;t=t||{};let i=t.debug||!1;try{if(r=L1e(),o=document.createRange(),a=document.getSelection(),n=document.createElement("span"),n.textContent=e,n.ariaHidden="true",n.style.all="unset",n.style.position="fixed",n.style.top="0px",n.style.clip="rect(0, 0, 0, 0)",n.style.whiteSpace="pre",n.style.userSelect="text",n.addEventListener("copy",l=>{var d,u,f,c;if(l.stopPropagation(),t!=null&&t.format)if(l.preventDefault(),typeof l.clipboardData=="undefined"){i&&console.warn("unable to use e.clipboardData"),i&&console.warn("trying IE specific stuff"),(d=window.clipboardData)==null||d.clearData();let m=jG[t.format]||jG.default;(u=window.clipboardData)==null||u.setData(m,e)}else(f=l.clipboardData)==null||f.clearData(),(c=l.clipboardData)==null||c.setData(t.format,e)}),document.body.appendChild(n),o.selectNodeContents(n),a==null||a.addRange(o),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");s=!0}catch(p){i&&console.error("unable to copy using execCommand: ",p),i&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),s=!0}catch(l){i&&console.error("unable to copy using clipboardData: ",l),i&&console.error("falling back to prompt");let d=W1e("message"in t?t.message||"":z1e);window.prompt(d,e)}}finally{a&&(o&&typeof a.removeRange=="function"?a.removeRange(o):a.removeAllRanges()),n&&document.body.removeChild(n),r&&r()}return s}var nr=class nr{static setLanguage(t){t&&(nr.lang=t)}static extendTranslations(t,r){if(t.prefix){let o=t;if(typeof o.prefix=="string"){let a=o.prefix;delete o.prefix,Object.keys(o).forEach(n=>{let s=n,i={},p=o[s];Object.keys(p).forEach(l=>{l&&p&&(l.startsWith(a)?i[l]=p[l]:i[`${a}${l}`]=p[l])}),t[s]=i})}else console.warn("Found prefix in translations, but it is not a string")}try{if(!r)t.en&&t.de&&t.ru?Object.keys(t).forEach(o=>{let a=o;nr.translations[a]=nr.translations[a]||{};let n=nr.translations[a];Object.assign(n,t[a])}):Object.keys(t).forEach(o=>{let a=t[o];Object.keys(a).forEach(n=>{let s=n,i=nr.translations[s];i?i[o]?i[o]!==a[s]&&console.warn(`Translation for word "${o}" in "${s}" was ignored: existing = "${i[o]}", new = ${a[s]}`):i[o]=a[s]:console.warn(`Used unknown language: ${s}`)})});else{nr.translations[r]||console.warn(`Used unknown language: ${r}`),nr.translations[r]=nr.translations[r]||{};let o=nr.translations[r];o&&Object.keys(t).forEach(a=>{o[a]?o[a]!==t[a]&&console.warn(`Translation for word "${a}" in "${r}" was ignored: existing = "${o[a]}", new = ${t[a]}`):o[a]=t[a]})}}catch(o){console.error(`Cannot apply translations: ${o}`)}}static setTranslations(t){t&&(nr.translations=t)}static getLanguage(){return nr.lang}static t(t,...r){let o=nr.translations[nr.lang];if(o){let a=o[t];if(a)t=a;else if(nr.unknownTranslations.includes(t)||(nr.unknownTranslations.push(t),!nr._disableWarning&&console.log(`Translate: ${t}`)),nr.lang!=="en"&&nr.translations.en){let n=nr.translations.en[t];n&&(t=n)}}for(let a of r)t=t.replace("%s",a);return t}static i18nShow(t){let r={};t?typeof t=="string"?(nr.unknownTranslations.forEach(o=>{o.startsWith(t)&&(r[o]=o.replace(t,""))}),console.log(JSON.stringify(r,null,2))):typeof t=="object"&&(nr.unknownTranslations.forEach(o=>{t.test(o)&&(r[o]=o)}),console.log(JSON.stringify(r,null,2))):(nr.unknownTranslations.forEach(o=>r[o]=o),console.log(JSON.stringify(r,null,2)))}static disableWarning(t){nr._disableWarning=!!t}};A(nr,"translations",{}),A(nr,"unknownTranslations",[]),A(nr,"lang",window.sysLang||"en"),A(nr,"_disableWarning",!1);var D=nr;window.i18nShow=D.i18nShow;window.i18nDisableWarning=D.disableWarning;var ml="material",U1e=["Su","Mo","Tu","We","Th","Fr","Sa"],V1e=["Jan","Feb","Mar","Apr","Mai","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],KN={0:"0x00 - good",1:"0x01 - general problem",2:"0x02 - no connection problem",16:"0x10 - substitute value from controller",32:"0x20 - substitute initial value",64:"0x40 - substitute value from device or instance",128:"0x80 - substitute value from sensor",17:"0x11 - general problem by instance",65:"0x41 - general problem by device",129:"0x81 - general problem by sensor",18:"0x12 - instance not connected",66:"0x42 - device not connected",130:"0x82 - sensor not connected",68:"0x44 - device reports error",132:"0x84 - sensor reports error"},LG={JVBERi0:"pdf",R0lGODdh:"gif",R0lGODlh:"gif",iVBORw0KGgo:"png","/9j/":"jpg",PHN2Zw:"svg",Qk1:"bmp",AAABAA:"ico"},Sr=class Sr{static CapitalWords(t){return(t||"").split(/[\s_]/).filter(r=>r).map(r=>r?r[0].toUpperCase()+r.substring(1).toLowerCase():"").join(" ")}static formatSeconds(t){let r=Math.floor(t/86400);t%=3600*24;let o=Math.floor(t/3600).toString().padStart(2,"0");t%=3600;let a=Math.floor(t/60).toString().padStart(2,"0");t%=60;let n=Math.floor(t).toString().padStart(2,"0"),s="";return r&&(s+=`${r} ${D.t("ra_daysShortText")} `),s+=`${o}:${a}:${n}`,s}static getObjectName(t,r,o,a,n){var p;let s=t[r],i;if(typeof o=="string"&&!a&&(a={language:o},o=null),a=a||{},a.language||(a.language=t["system.config"]&&t["system.config"].common&&t["system.config"].common.language||window.sysLang||"en"),o!=null&&o.name){let l=o.name;typeof l=="object"?i=a.language&&l[a.language]||l.en:i=l}else if(n&&((p=s==null?void 0:s.common)!=null&&p.desc)){let l=s.common.desc;typeof l=="object"?i=a.language&&l[a.language]||l.en||l.de||l.ru||"":i=l,i=(i||"").toString().replace(/[_.]/g," "),i===i.toUpperCase()&&(i=i[0]+i.substring(1).toLowerCase())}else if(!n&&(s!=null&&s.common)){let l=s.common.name||s.common.desc;l&&typeof l=="object"?i=a.language&&l[a.language]||l.en||l.de||l.ru||"":i=l,i=(i||"").toString().replace(/[_.]/g," "),i===i.toUpperCase()&&(i=i[0]+i.substring(1).toLowerCase())}else{let l=r.lastIndexOf(".");i=r.substring(l+1).replace(/[_.]/g," "),i=Sr.CapitalWords(i)}return(i==null?void 0:i.trim())||""}static getObjectNameFromObj(t,r,o,a,n){var p,l;let s=t,i=t&&t._id||"";if(typeof r=="string"&&!o&&(o={language:r},r=null),o=o||{},r!=null&&r.name){let d=r.name;typeof d=="object"?i=o.language&&d[o.language]||d.en:i=d}else if(a&&((p=s==null?void 0:s.common)!=null&&p.desc)){let d=s.common.desc;typeof d=="object"?i=o.language&&d[o.language]||d.en:i=d,i=(i||"").toString().replace(/[_.]/g," "),i===i.toUpperCase()&&(i=i[0]+i.substring(1).toLowerCase())}else if(!a&&((l=s==null?void 0:s.common)!=null&&l.name)){let d=s.common.name;!d&&s.common.desc&&(d=s.common.desc),typeof d=="object"?i=o.language&&d[o.language]||d.en:i=d,i=(i||"").toString().replace(/[_.]/g," "),i===i.toUpperCase()&&(i=i[0]+i.substring(1).toLowerCase())}return n?i:i.trim()}static getSettingsOrder(t,r,o){let a;t&&Object.prototype.hasOwnProperty.call(t,"common")?a=t.common:a=t;let n;if(a!=null&&a.custom){n=a.custom[ml];let s=o.user||"admin";if(n&&n[s]){if(r){if(n[s].subOrder&&n[s].subOrder[r])return JSON.parse(JSON.stringify(n[s].subOrder[r]))}else if(n[s].order)return JSON.parse(JSON.stringify(n[s].order))}}return null}static getSettingsCustomURLs(t,r,o){let a;t&&Object.prototype.hasOwnProperty.call(t,"common")?a=t.common:a=t;let n;if(a!=null&&a.custom){n=a.custom[ml];let s=o.user||"admin";if(n&&n[s]){if(r){if(n[s].subURLs&&n[s].subURLs[r])return JSON.parse(JSON.stringify(n[s].subURLs[r]))}else if(n[s].URLs)return JSON.parse(JSON.stringify(n[s].URLs))}}return null}static reorder(t,r,o){let a=Array.from(t),[n]=a.splice(r,1);return a.splice(o,0,n),a}static getSettings(t,r,o){let a,n=(t==null?void 0:t._id)||(r==null?void 0:r.id),s;if(t&&Object.prototype.hasOwnProperty.call(t,"common")?s=t.common:s=t,s!=null&&s.custom?(a=s.custom,a=a[ml]&&a[ml][r.user||"admin"]?JSON.parse(JSON.stringify(a[ml][r.user||"admin"])):{enabled:!0}):a={enabled:o===void 0?!0:o,useCustom:!1},Object.prototype.hasOwnProperty.call(a,"enabled")||(a.enabled=o===void 0?!0:o),r&&(!a.name&&r.name&&(a.name=r.name),!a.icon&&r.icon&&(a.icon=r.icon),!a.color&&r.color&&(a.color=r.color)),s&&(!a.color&&s.color&&(a.color=s.color),!a.icon&&s.icon&&(a.icon=s.icon),!a.name&&s.name&&(a.name=s.name)),typeof a.name=="object"&&(a.name=r.language&&a.name[r.language]||a.name.en,a.name=(a.name||"").toString().replace(/_/g," "),a.name===a.name.toUpperCase()&&(a.name=a.name[0]+a.name.substring(1).toLowerCase())),!a.name&&n){let i=n.lastIndexOf(".");a.name=n.substring(i+1).replace(/[_.]/g," "),a.name=(a.name||"").toString().replace(/_/g," "),a.name=Sr.CapitalWords(a.name)}return a}static setSettings(t,r,o){if(t){t.common=t.common||{},t.common.custom=t.common.custom||{},t.common.custom[ml]=t.common.custom[ml]||{},t.common.custom[ml][o.user||"admin"]=r;let a=t.common.custom[ml][o.user||"admin"];return a.useCommon&&(a.color!==void 0&&(t.common.color=a.color,delete a.color),a.icon!==void 0&&(t.common.icon=a.icon,delete a.icon),a.name!==void 0&&(typeof t.common.name!="object"&&o.language?t.common.name={[o.language]:a.name}:typeof t.common.name=="object"&&o.language&&(t.common.name[o.language]=a.name),delete a.name)),!0}return!1}static getIcon(t,r){return t!=null&&t.icon?t.icon.length<=2?hl.default.createElement("span",{style:r||{}},t.icon):t.icon.startsWith("data:image")?hl.default.createElement("img",{alt:t.name,src:t.icon,style:r||{}}):hl.default.createElement("img",{alt:t.name,src:(t.prefix||"")+t.icon,style:r}):null}static getObjectIcon(t,r){var o;if(typeof t=="object"&&(r=t,t=r==null?void 0:r._id),(o=r==null?void 0:r.common)!=null&&o.icon){let a=r.common.icon;if(typeof a=="string"&&a.length<=2||a.startsWith("data:image"))return a;let n=t.split(".");return n[0]==="system"?a=`adapter/${n[2]}${a.startsWith("/")?"":"/"}${a}`:a=`adapter/${n[0]}${a.startsWith("/")?"":"/"}${a}`,window.location.pathname.match(/adapter\/[^/]+\/[^/]+\.html/)?a=`../../${a}`:window.location.pathname.match(/material\/[.\d]+/)?a=`../../${a}`:window.location.pathname.match(/material\//)&&(a=`../${a}`),a}return null}static splitCamelCase(t){return t?Sr.CapitalWords(t):""}static isUseBright(t,r){if(!t)return r===void 0?!0:r;t=t.toString(),t.startsWith("#")&&(t=t.slice(1));let o,a,n,s=t.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);if(s&&s.length===4)o=parseInt(s[1],10),a=parseInt(s[2],10),n=parseInt(s[3],10);else{if(t.length===3&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]),t.length===8)t=t.substring(0,6);else if(t.length!==6)return!1;o=parseInt(t.slice(0,2),16),a=parseInt(t.slice(2,4),16),n=parseInt(t.slice(4,6),16)}return o*.299+a*.587+n*.114<=186}static getTimeString(t){if(t=parseFloat(t),Number.isNaN(t))return"--:--";let r=Math.floor(t/3600),o=Math.floor(t%3600/60).toString().padStart(2,"0"),a=(t%60).toString().padStart(2,"0");return r?`${r}:${o}:${a}`:`${o}:${a}`}static getWindDirection(t){return t>=0&&t<11.25?"N":t>=11.25&&t<33.75?"NNE":t>=33.75&&t<56.25?"NE":t>=56.25&&t<78.75?"ENE":t>=78.75&&t<101.25?"E":t>=101.25&&t<123.75?"ESE":t>=123.75&&t<146.25?"SE":t>=146.25&&t<168.75?"SSE":t>=168.75&&t<191.25?"S":t>=191.25&&t<213.75?"SSW":t>=213.75&&t<236.25?"SW":t>=236.25&&t<258.75?"WSW":t>=258.75&&t<281.25?"W":t>=281.25&&t<303.75?"WNW":t>=303.75&&t<326.25?"NW":t>=326.25&&t<348.75?"NNW":"N"}static padding(t){return typeof t=="string"?t.length<2?`0${t}`:t:t<10?`0${t}`:t.toString()}static setDataFormat(t){t&&(Sr.dateFormat=t.toUpperCase().split(/[.-/]/),Sr.dateFormat.splice(Sr.dateFormat.indexOf("YYYY"),1))}static date2string(t){if(typeof t=="string"){if(t=t.trim(),!t)return"";if(t.match(/^[\w\s]+$/))return t;let o=t.match(/(\d{1,4})[-./](\d{1,2})[-./](\d{1,4})/);if(o){let a=[parseInt(o[1],10),parseInt(o[2],10),parseInt(o[3],10)],n=a.find(s=>s>31);if(n!==void 0){a.splice(a.indexOf(n),1);let s=a.find(i=>i>12);s?(a.splice(a.indexOf(s),1),t=new Date(n,a[0]-1,s)):Sr.dateFormat[0][0]==="M"&&Sr.dateFormat[1][0]==="D"?(t=new Date(n,a[0]-1,a[1]),Math.abs(t.getTime()-Date.now())>36e5*24*10&&(t=new Date(n,a[1]-1,a[0]))):Sr.dateFormat[0][0]==="D"&&Sr.dateFormat[1][0]==="M"?(t=new Date(n,a[1]-1,a[0]),Math.abs(t.getTime()-Date.now())>36e5*24*10&&(t=new Date(n,a[0]-1,a[1]))):t=new Date(t)}else t=new Date(t)}else t=new Date(t)}else t=new Date(t);let r=D.t(`ra_dow_${U1e[t.getDay()]}`).replace("ra_dow_","");return r+=`. ${t.getDate()} ${D.t(`ra_month_${V1e[t.getMonth()]}`).replace("ra_month_","")}`,r}static renderTextWithA(t){let r=t.match(/||[^<]+<\/b>|[^<]+<\/i>/);if(r){let o=[],a=1;do{let n=t.substring(0,r.index);if(t=t.substring((r.index||0)+r[0].length),n&&o.push(hl.default.createElement("span",{key:`a${a++}`},n)),r[0].startsWith(""))o.push(hl.default.createElement("b",{key:`a${a++}`},r[0].substring(3,r[0].length-4)));else if(r[0].startsWith(""))o.push(hl.default.createElement("i",{key:`a${a++}`},r[0].substring(3,r[0].length-4)));else if(r[0].startsWith("([^<]*)||[^<]+<\/b>|[^<]+<\/i>/):null,r||t&&o.push(hl.default.createElement("span",{key:`a${a++}`},t))}while(r);return o}return t}static getSmartName(t,r,o,a){var s,i;if(!r){if(!a)return!t.common||t&&!t.common?t.smartName:t.common.smartName;if(t&&!t.common)return t.smartName;let p=t;return(s=p==null?void 0:p.common)!=null&&s.custom&&p.common.custom[o]?p.common.custom[o].smartName:void 0}if(!a)return t[r].common.smartName;let n=t[r];return(i=n==null?void 0:n.common)!=null&&i.custom&&n.common.custom[o]&&n.common.custom[o].smartName||null}static getSmartNameFromObj(t,r,o){var n,s;if(!o)return!t.common||t&&!t.common?t.smartName:t.common.smartName;if(t&&!t.common)return t.smartName;let a=(s=(n=t==null?void 0:t.common)==null?void 0:n.custom)==null?void 0:s[r];return a?a.smartName:void 0}static enableSmartName(t,r,o){o?(t.common.custom=t.common.custom||{},t.common.custom[r]=t.common.custom[r]||{},t.common.custom[r].smartName={}):t.common.smartName={}}static removeSmartName(t,r,o){o?t.common&&t.common.custom&&t.common.custom[r]&&(t.common.custom[r]=null):t.common.smartName=null}static updateSmartName(t,r,o,a,n,s){let i=D.getLanguage();if(typeof t.common.smartName=="string"){let p=t.common.smartName;t.common.smartName={},t.common.smartName[i]=p}if(t.native&&t.native.byON){delete t.native.byON;let p=t.common.smartName;p&&typeof p!="object"&&(p={en:p,[i]:p}),t.common.smartName=p}if(a!==void 0&&(s?(t.common.custom=t.common.custom||{},t.common.custom[n]=t.common.custom[n]||{},t.common.custom[n].smartName=t.common.custom[n].smartName||{},a?t.common.custom[n].smartName.smartType=a:delete t.common.custom[n].smartName.smartType):(t.common.smartName=t.common.smartName||{},a?t.common.smartName.smartType=a:delete t.common.smartName.smartType)),o!==void 0&&(s?(t.common.custom=t.common.custom||{},t.common.custom[n]=t.common.custom[n]||{},t.common.custom[n].smartName=t.common.custom[n].smartName||{},t.common.custom[n].smartName.byON=o):(t.common.smartName=t.common.smartName||{},t.common.smartName.byON=o)),r!==void 0){let p;if(s?(t.common.custom=t.common.custom||{},t.common.custom[n]=t.common.custom[n]||{},t.common.custom[n].smartName=t.common.custom[n].smartName||{},p=t.common.custom[n].smartName):(t.common.smartName=t.common.smartName||{},p=t.common.smartName),p[i]=r,p&&(!p[i]||p[i]===t.common.name&&(!t.common.role||t.common.role.includes("button")))){delete p[i];let l=!0;for(let d in p)if(Object.prototype.hasOwnProperty.call(p,d)){l=!1;break}if(l)if(s&&t.common.custom&&t.common.custom[n])t.common.custom[n].smartName.byON===void 0?delete t.common.custom[n]:(delete t.common.custom[n].en,delete t.common.custom[n].de,delete t.common.custom[n].ru,delete t.common.custom[n].nl,delete t.common.custom[n].pl,delete t.common.custom[n].it,delete t.common.custom[n].fr,delete t.common.custom[n].pt,delete t.common.custom[n].es,delete t.common.custom[n].uk,delete t.common.custom[n]["zh-cn"]);else if(t.common.smartName&&t.common.smartName.byON!==void 0){let d=t.common.smartName;delete d.en,delete d.de,delete d.ru,delete d.nl,delete d.pl,delete d.it,delete d.fr,delete d.pt,delete d.es,delete d.uk,delete d["zh-cn"]}else t.common.smartName=null}}}static disableSmartName(t,r,o){o?(t.common.custom=t.common.custom||{},t.common.custom[r]=t.common.custom[r]||{},t.common.custom[r].smartName=!1):t.common.smartName=!1}static copyToClipboard(t,r){return r&&(r.stopPropagation(),r.preventDefault()),vO(t)}static getFileExtension(t){let r=(t||"").lastIndexOf(".");return r!==-1?t.substring(r+1).toLowerCase():null}static formatBytes(t){if(Math.abs(t)<1024)return`${t} B`;let r=["KB","MB","GB"],o=-1;do t/=1024,++o;while(Math.abs(t)>=1024&&o186?`#000000${o||""}`:`#FFFFFF${o||""}`;let i=(255-a).toString(16),p=(255-n).toString(16),l=(255-s).toString(16);return`#${i.padStart(2,"0")}${p.padStart(2,"0")}${l.padStart(2,"0")}${o||""}`}static color2rgb(t){if(t==null||t===""||typeof t!="string")return!1;if(t.startsWith("rgba")){let r=t.match(/rgba?\((\d+),\s*(\d+),\s*(\d+),\s*([.\d]+)\)/);r&&(t=parseInt(r[1],10).toString(16).padStart(2,"0")+parseInt(r[2],10).toString(16).padStart(2,"0")+parseInt(r[2],10).toString(16).padStart(2,"0"))}else if(t.startsWith("rgb")){let r=t.match(/rgb?\((\d+),\s*(\d+),\s*(\d+)\)/);r&&(t=parseInt(r[1],10).toString(16).padStart(2,"0")+parseInt(r[2],10).toString(16).padStart(2,"0")+parseInt(r[2],10).toString(16).padStart(2,"0"))}else t.startsWith("#")&&(t=t.slice(1));return t.length===3&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]),t.length!==6&&t.length!==8?(console.warn(`Cannot invert color: ${t}`),!1):[parseInt(t.slice(0,2),16),parseInt(t.slice(2,4),16),parseInt(t.slice(4,6),16)]}static rgb2lab(t){let r=t[0]/255,o=t[1]/255,a=t[2]/255;r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,o=o>.04045?((o+.055)/1.055)**2.4:o/12.92,a=a>.04045?((a+.055)/1.055)**2.4:a/12.92;let n=(r*.4124+o*.3576+a*.1805)/.95047,s=r*.2126+o*.7152+a*.0722,i=(r*.0193+o*.1192+a*.9505)/1.08883;return n=n>.008856?n**.33333333:7.787*n+.137931,s=s>.008856?s**.33333333:7.787*s+.137931,i=i>.008856?i**.33333333:7.787*i+.137931,[116*s-16,500*(n-s),200*(s-i)]}static colorDistance(t,r){let o=Sr.color2rgb(t),a=Sr.color2rgb(r);if(!o||!a)return 0;let n=Sr.rgb2lab(o),s=Sr.rgb2lab(a),i=n[0]-s[0],p=n[1]-s[1],l=n[2]-s[2],d=Math.sqrt(n[1]*n[1]+n[2]*n[2]),u=Math.sqrt(s[1]*s[1]+s[2]*s[2]),f=d-u,c=p*p+l*l-f*f;c=c<0?0:Math.sqrt(c);let m=1+.045*d,g=1+.015*d,h=i,x=f/m,T=c/g,v=h*h+x*x+T*T;return v<0?0:v}static _toVal(t){let r,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t))for(let a=0;a{if(o=o.trim(),o){let a=o.split("="),n=decodeURIComponent(a[0]).trim();if(a.length>1){let s=decodeURIComponent(a[1]);if(s==="true")r[n]=!0;else if(s==="false")r[n]=!1;else{let i=parseFloat(s);i.toString()===s?r[n]=i:r[n]=s}}else r[n]=!0}}),r}static getParentId(t){let r=(t||"").toString().split(".");return r.length>1?(r.pop(),r.join(".")):null}static formatDate(t,r){if(!t)return"";let o,a=(t.getMonth()+1).toString().padStart(2,"0"),n=t.getDate().toString().padStart(2,"0");return r==="MM/DD/YYYY"?o=`${a}/${n}/${t.getFullYear()}`:o=`${t.getFullYear()}-${a}-${n}`,o+=` ${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}:${t.getSeconds().toString().padStart(2,"0")}.${t.getMilliseconds().toString().padStart(3,"0")}`,o}static formatTime(t){if(t){t=Math.round(t);let r=Math.floor(t/(3600*24)),o=Math.floor(t%(3600*24)/3600),a=Math.floor(t%3600/60),n=t%60;return r?`${r}.${o.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}`:o?`${o}:${a.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}`:`0:${a.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}`}return"0:00:00"}static MDtext2link(t){let r=t.match(/\d+\.\)\s/);return r&&(t=t.replace(r[0],r[0].replace(/\s/," "))),t.replace(/[^a-zA-Zа-яА-Я0-9]/g,"").trim().replace(/\s/g,"").toLowerCase()}static openLink(t,r){t=t.replace(/\/\/([0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*)(:\d+)?\//i,"//[$1]$2/"),r==="this"?window.location.href=t:window.open(t,r||"_blank")}static MDgetTitle(t){var n;let r=Sr.MDextractHeader(t),o=r.header,a=r.body;if(!o.title){a=a.replace(/{[^}]*}/g,""),a=a.trim();let s=a.replace(/\r/g,"").split(` +`;function QR(e){(0,rn.useEffect)(()=>{if(!window.document.getElementById("loader-iobroker-component")){let o=window.document.createElement("style");o.setAttribute("id","loader-iobroker-component"),o.innerHTML=Nhe,window.document.head.appendChild(o)}},[]);let t=e.size||234,r=e.themeName||e.theme||e.themeType||"light";return rn.default.createElement("div",{className:`logo-back logo-background-${r}`,style:{backgroundImage:e.backgroundImage&&e.backgroundImage!=="@@loginBackgroundImage@@"?e.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:e.backgroundColor&&e.backgroundColor!=="@@loginBackgroundColor@@"?e.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:void 0,backgroundSize:"cover"}},window.loadingHideLogo==="true"?null:rn.default.createElement(rn.default.Fragment,null,rn.default.createElement("div",{className:"logo-div",style:{width:t,height:t}},rn.default.createElement("div",{className:`logo-top logo-background-${r}`,style:{left:"37%"}}),rn.default.createElement("div",{className:`logo-top logo-background-${r}`,style:{left:"57%"}}),rn.default.createElement("div",{className:`logo-border logo-background-${r} logo-animate-wait`,style:{borderWidth:t*.132}}),rn.default.createElement("div",{className:`logo-i logo-animate-color-inside-${r}`}),rn.default.createElement("div",{className:`logo-i-top logo-animate-color-inside-${r}`,style:{top:"18%"}}),rn.default.createElement("div",{className:`logo-i-top logo-animate-color-inside-${r}`,style:{bottom:"18%"}})),rn.default.createElement("div",{className:`logo-animate-grow logo-animate-grow-${r}`,style:{width:t+11,height:t+11}})))}var D9=y(D());var lf=class e extends D9.Component{constructor(r){super(r);A(this,"onHashChangedBound");this.onHashChangedBound=this.onHashChanged.bind(this)}componentDidMount(){window.addEventListener("hashchange",this.onHashChangedBound)}componentWillUnmount(){window.removeEventListener("hashchange",this.onHashChangedBound)}onHashChanged(){}static getLocation(){let r=window.location.hash;r=r.replace(/^#/,"");let o=r.split("/").map(a=>{try{return a?decodeURIComponent(a):""}catch(n){return console.error(`Router: Cannot decode ${a}`),a}});return{tab:o[0]||"",dialog:o[1]||"",id:o[2]||"",arg:o[3]||""}}static doNavigate(r,o,a,n){let s="",i=e.getLocation();n!==void 0&&!a&&(a=i.id),a&&!o&&(o=i.dialog),(o&&!r||r===null)&&(r=i.tab),r&&(s=`#${r}`,o&&(s+=`/${o}`,a&&(s+=`/${a}`,n!==void 0&&(s+=`/${n}`)))),window.location.hash!==s&&(window.location.hash=s)}};var Fi=y(D());function Ihe(){let e=document.getSelection();if(!(e!=null&&e.rangeCount))return()=>{};let t=document.activeElement,r=[];for(let o=0;o{e.type==="Caret"&&e.removeAllRanges(),e.rangeCount||r.forEach(o=>e.addRange(o)),t&&t.focus()}}var A9={"text/plain":"Text","text/html":"Url",default:"Text"},Fhe="Copy to clipboard: #{key}, Enter";function Bhe(e){let t=`${/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl"}+C`;return e.replace(/#{\s*key\s*}/g,t)}function m_(e,t){let r,o,a,n,s=!1;t=t||{};let i=t.debug||!1;try{if(r=Ihe(),o=document.createRange(),a=document.getSelection(),n=document.createElement("span"),n.textContent=e,n.ariaHidden="true",n.style.all="unset",n.style.position="fixed",n.style.top="0px",n.style.clip="rect(0, 0, 0, 0)",n.style.whiteSpace="pre",n.style.userSelect="text",n.addEventListener("copy",l=>{var d,u,f,c;if(l.stopPropagation(),t!=null&&t.format)if(l.preventDefault(),typeof l.clipboardData=="undefined"){i&&console.warn("unable to use e.clipboardData"),i&&console.warn("trying IE specific stuff"),(d=window.clipboardData)==null||d.clearData();let h=A9[t.format]||A9.default;(u=window.clipboardData)==null||u.setData(h,e)}else(f=l.clipboardData)==null||f.clearData(),(c=l.clipboardData)==null||c.setData(t.format,e)}),document.body.appendChild(n),o.selectNodeContents(n),a==null||a.addRange(o),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");s=!0}catch(p){i&&console.error("unable to copy using execCommand: ",p),i&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),s=!0}catch(l){i&&console.error("unable to copy using clipboardData: ",l),i&&console.error("falling back to prompt");let d=Bhe("message"in t?t.message||"":Fhe);window.prompt(d,e)}}finally{a&&(o&&typeof a.removeRange=="function"?a.removeRange(o):a.removeAllRanges()),n&&document.body.removeChild(n),r&&r()}return s}var Gt=class Gt{static setLanguage(t){t&&(Gt.lang=t)}static extendTranslations(t,r){if(t.prefix){let o=t;if(typeof o.prefix=="string"){let a=o.prefix;delete o.prefix,Object.keys(o).forEach(n=>{let s=n,i={},p=o[s];Object.keys(p).forEach(l=>{l&&p&&(l.startsWith(a)?i[l]=p[l]:i[`${a}${l}`]=p[l])}),t[s]=i})}else console.warn("Found prefix in translations, but it is not a string")}try{if(!r)t.en&&t.de&&t.ru?Object.keys(t).forEach(o=>{let a=o;Gt.translations[a]=Gt.translations[a]||{};let n=Gt.translations[a];Object.assign(n,t[a])}):Object.keys(t).forEach(o=>{let a=t[o];Object.keys(a).forEach(n=>{let s=n,i=Gt.translations[s];i?i[o]?i[o]!==a[s]&&console.warn(`Translation for word "${o}" in "${s}" was ignored: existing = "${i[o]}", new = ${a[s]}`):i[o]=a[s]:console.warn(`Used unknown language: ${s}`)})});else{Gt.translations[r]||console.warn(`Used unknown language: ${r}`),Gt.translations[r]=Gt.translations[r]||{};let o=Gt.translations[r];o&&Object.keys(t).forEach(a=>{o[a]?o[a]!==t[a]&&console.warn(`Translation for word "${a}" in "${r}" was ignored: existing = "${o[a]}", new = ${t[a]}`):o[a]=t[a]})}}catch(o){console.error(`Cannot apply translations: ${o}`)}}static setTranslations(t){t&&(Gt.translations=t)}static getLanguage(){return Gt.lang}static t(t,...r){let o=Gt.translations[Gt.lang];if(o){let a=o[t];if(a)t=a;else if(Gt.unknownTranslations.includes(t)||(Gt.unknownTranslations.push(t),!Gt._disableWarning&&console.log(`Translate: ${t}`)),Gt.lang!=="en"&&Gt.translations.en){let n=Gt.translations.en[t];n&&(t=n)}}for(let a of r)t=t.replace("%s",a);return t}static i18nShow(t){let r={};t?typeof t=="string"?(Gt.unknownTranslations.forEach(o=>{o.startsWith(t)&&(r[o]=o.replace(t,""))}),console.log(JSON.stringify(r,null,2))):typeof t=="object"&&(Gt.unknownTranslations.forEach(o=>{t.test(o)&&(r[o]=o)}),console.log(JSON.stringify(r,null,2))):(Gt.unknownTranslations.forEach(o=>r[o]=o),console.log(JSON.stringify(r,null,2)))}static disableWarning(t){Gt._disableWarning=!!t}};A(Gt,"translations",{}),A(Gt,"unknownTranslations",[]),A(Gt,"lang",window.sysLang||"en"),A(Gt,"_disableWarning",!1);var R=Gt;window.i18nShow=R.i18nShow;window.i18nDisableWarning=R.disableWarning;var Ii="material",Lhe=["Su","Mo","Tu","We","Th","Fr","Sa"],jhe=["Jan","Feb","Mar","Apr","Mai","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],eD={0:"0x00 - good",1:"0x01 - general problem",2:"0x02 - no connection problem",16:"0x10 - substitute value from controller",32:"0x20 - substitute initial value",64:"0x40 - substitute value from device or instance",128:"0x80 - substitute value from sensor",17:"0x11 - general problem by instance",65:"0x41 - general problem by device",129:"0x81 - general problem by sensor",18:"0x12 - instance not connected",66:"0x42 - device not connected",130:"0x82 - sensor not connected",68:"0x44 - device reports error",132:"0x84 - sensor reports error"},M9={JVBERi0:"pdf",R0lGODdh:"gif",R0lGODlh:"gif",iVBORw0KGgo:"png","/9j/":"jpg",PHN2Zw:"svg",Qk1:"bmp",AAABAA:"ico"},lr=class lr{static CapitalWords(t){return(t||"").split(/[\s_]/).filter(r=>r).map(r=>r?r[0].toUpperCase()+r.substring(1).toLowerCase():"").join(" ")}static formatSeconds(t){let r=Math.floor(t/86400);t%=3600*24;let o=Math.floor(t/3600).toString().padStart(2,"0");t%=3600;let a=Math.floor(t/60).toString().padStart(2,"0");t%=60;let n=Math.floor(t).toString().padStart(2,"0"),s="";return r&&(s+=`${r} ${R.t("ra_daysShortText")} `),s+=`${o}:${a}:${n}`,s}static getObjectName(t,r,o,a,n){var p;let s=t[r],i;if(typeof o=="string"&&!a&&(a={language:o},o=null),a=a||{},a.language||(a.language=t["system.config"]&&t["system.config"].common&&t["system.config"].common.language||window.sysLang||"en"),o!=null&&o.name){let l=o.name;typeof l=="object"?i=a.language&&l[a.language]||l.en:i=l}else if(n&&((p=s==null?void 0:s.common)!=null&&p.desc)){let l=s.common.desc;typeof l=="object"?i=a.language&&l[a.language]||l.en||l.de||l.ru||"":i=l,i=(i||"").toString().replace(/[_.]/g," "),i===i.toUpperCase()&&(i=i[0]+i.substring(1).toLowerCase())}else if(!n&&(s!=null&&s.common)){let l=s.common.name||s.common.desc;l&&typeof l=="object"?i=a.language&&l[a.language]||l.en||l.de||l.ru||"":i=l,i=(i||"").toString().replace(/[_.]/g," "),i===i.toUpperCase()&&(i=i[0]+i.substring(1).toLowerCase())}else{let l=r.lastIndexOf(".");i=r.substring(l+1).replace(/[_.]/g," "),i=lr.CapitalWords(i)}return(i==null?void 0:i.trim())||""}static getObjectNameFromObj(t,r,o,a,n){var p,l;let s=t,i=t&&t._id||"";if(typeof r=="string"&&!o&&(o={language:r},r=null),o=o||{},r!=null&&r.name){let d=r.name;typeof d=="object"?i=o.language&&d[o.language]||d.en:i=d}else if(a&&((p=s==null?void 0:s.common)!=null&&p.desc)){let d=s.common.desc;typeof d=="object"?i=o.language&&d[o.language]||d.en:i=d,i=(i||"").toString().replace(/[_.]/g," "),i===i.toUpperCase()&&(i=i[0]+i.substring(1).toLowerCase())}else if(!a&&((l=s==null?void 0:s.common)!=null&&l.name)){let d=s.common.name;!d&&s.common.desc&&(d=s.common.desc),typeof d=="object"?i=o.language&&d[o.language]||d.en:i=d,i=(i||"").toString().replace(/[_.]/g," "),i===i.toUpperCase()&&(i=i[0]+i.substring(1).toLowerCase())}return n?i:i.trim()}static getSettingsOrder(t,r,o){let a;t&&Object.prototype.hasOwnProperty.call(t,"common")?a=t.common:a=t;let n;if(a!=null&&a.custom){n=a.custom[Ii];let s=o.user||"admin";if(n&&n[s]){if(r){if(n[s].subOrder&&n[s].subOrder[r])return JSON.parse(JSON.stringify(n[s].subOrder[r]))}else if(n[s].order)return JSON.parse(JSON.stringify(n[s].order))}}return null}static getSettingsCustomURLs(t,r,o){let a;t&&Object.prototype.hasOwnProperty.call(t,"common")?a=t.common:a=t;let n;if(a!=null&&a.custom){n=a.custom[Ii];let s=o.user||"admin";if(n&&n[s]){if(r){if(n[s].subURLs&&n[s].subURLs[r])return JSON.parse(JSON.stringify(n[s].subURLs[r]))}else if(n[s].URLs)return JSON.parse(JSON.stringify(n[s].URLs))}}return null}static reorder(t,r,o){let a=Array.from(t),[n]=a.splice(r,1);return a.splice(o,0,n),a}static getSettings(t,r,o){let a,n=(t==null?void 0:t._id)||(r==null?void 0:r.id),s;if(t&&Object.prototype.hasOwnProperty.call(t,"common")?s=t.common:s=t,s!=null&&s.custom?(a=s.custom,a=a[Ii]&&a[Ii][r.user||"admin"]?JSON.parse(JSON.stringify(a[Ii][r.user||"admin"])):{enabled:!0}):a={enabled:o===void 0?!0:o,useCustom:!1},Object.prototype.hasOwnProperty.call(a,"enabled")||(a.enabled=o===void 0?!0:o),r&&(!a.name&&r.name&&(a.name=r.name),!a.icon&&r.icon&&(a.icon=r.icon),!a.color&&r.color&&(a.color=r.color)),s&&(!a.color&&s.color&&(a.color=s.color),!a.icon&&s.icon&&(a.icon=s.icon),!a.name&&s.name&&(a.name=s.name)),typeof a.name=="object"&&(a.name=r.language&&a.name[r.language]||a.name.en,a.name=(a.name||"").toString().replace(/_/g," "),a.name===a.name.toUpperCase()&&(a.name=a.name[0]+a.name.substring(1).toLowerCase())),!a.name&&n){let i=n.lastIndexOf(".");a.name=n.substring(i+1).replace(/[_.]/g," "),a.name=(a.name||"").toString().replace(/_/g," "),a.name=lr.CapitalWords(a.name)}return a}static setSettings(t,r,o){if(t){t.common=t.common||{},t.common.custom=t.common.custom||{},t.common.custom[Ii]=t.common.custom[Ii]||{},t.common.custom[Ii][o.user||"admin"]=r;let a=t.common.custom[Ii][o.user||"admin"];return a.useCommon&&(a.color!==void 0&&(t.common.color=a.color,delete a.color),a.icon!==void 0&&(t.common.icon=a.icon,delete a.icon),a.name!==void 0&&(typeof t.common.name!="object"&&o.language?t.common.name={[o.language]:a.name}:typeof t.common.name=="object"&&o.language&&(t.common.name[o.language]=a.name),delete a.name)),!0}return!1}static getIcon(t,r){return t!=null&&t.icon?t.icon.length<=2?Fi.default.createElement("span",{style:r||{}},t.icon):t.icon.startsWith("data:image")?Fi.default.createElement("img",{alt:t.name,src:t.icon,style:r||{}}):Fi.default.createElement("img",{alt:t.name,src:(t.prefix||"")+t.icon,style:r}):null}static getObjectIcon(t,r){var o;if(typeof t=="object"&&(r=t,t=r==null?void 0:r._id),(o=r==null?void 0:r.common)!=null&&o.icon){let a=r.common.icon;if(typeof a=="string"&&a.length<=2||a.startsWith("data:image"))return a;let n=t.split(".");return n[0]==="system"?a=`adapter/${n[2]}${a.startsWith("/")?"":"/"}${a}`:a=`adapter/${n[0]}${a.startsWith("/")?"":"/"}${a}`,window.location.pathname.match(/adapter\/[^/]+\/[^/]+\.html/)?a=`../../${a}`:window.location.pathname.match(/material\/[.\d]+/)?a=`../../${a}`:window.location.pathname.match(/material\//)&&(a=`../${a}`),a}return null}static splitCamelCase(t){return t?lr.CapitalWords(t):""}static isUseBright(t,r){if(!t)return r===void 0?!0:r;t=t.toString(),t.startsWith("#")&&(t=t.slice(1));let o,a,n,s=t.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);if(s&&s.length===4)o=parseInt(s[1],10),a=parseInt(s[2],10),n=parseInt(s[3],10);else{if(t.length===3&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]),t.length===8)t=t.substring(0,6);else if(t.length!==6)return!1;o=parseInt(t.slice(0,2),16),a=parseInt(t.slice(2,4),16),n=parseInt(t.slice(4,6),16)}return o*.299+a*.587+n*.114<=186}static getTimeString(t){if(t=parseFloat(t),Number.isNaN(t))return"--:--";let r=Math.floor(t/3600),o=Math.floor(t%3600/60).toString().padStart(2,"0"),a=(t%60).toString().padStart(2,"0");return r?`${r}:${o}:${a}`:`${o}:${a}`}static getWindDirection(t){return t>=0&&t<11.25?"N":t>=11.25&&t<33.75?"NNE":t>=33.75&&t<56.25?"NE":t>=56.25&&t<78.75?"ENE":t>=78.75&&t<101.25?"E":t>=101.25&&t<123.75?"ESE":t>=123.75&&t<146.25?"SE":t>=146.25&&t<168.75?"SSE":t>=168.75&&t<191.25?"S":t>=191.25&&t<213.75?"SSW":t>=213.75&&t<236.25?"SW":t>=236.25&&t<258.75?"WSW":t>=258.75&&t<281.25?"W":t>=281.25&&t<303.75?"WNW":t>=303.75&&t<326.25?"NW":t>=326.25&&t<348.75?"NNW":"N"}static padding(t){return typeof t=="string"?t.length<2?`0${t}`:t:t<10?`0${t}`:t.toString()}static setDataFormat(t){t&&(lr.dateFormat=t.toUpperCase().split(/[.-/]/),lr.dateFormat.splice(lr.dateFormat.indexOf("YYYY"),1))}static date2string(t){if(typeof t=="string"){if(t=t.trim(),!t)return"";if(t.match(/^[\w\s]+$/))return t;let o=t.match(/(\d{1,4})[-./](\d{1,2})[-./](\d{1,4})/);if(o){let a=[parseInt(o[1],10),parseInt(o[2],10),parseInt(o[3],10)],n=a.find(s=>s>31);if(n!==void 0){a.splice(a.indexOf(n),1);let s=a.find(i=>i>12);s?(a.splice(a.indexOf(s),1),t=new Date(n,a[0]-1,s)):lr.dateFormat[0][0]==="M"&&lr.dateFormat[1][0]==="D"?(t=new Date(n,a[0]-1,a[1]),Math.abs(t.getTime()-Date.now())>36e5*24*10&&(t=new Date(n,a[1]-1,a[0]))):lr.dateFormat[0][0]==="D"&&lr.dateFormat[1][0]==="M"?(t=new Date(n,a[1]-1,a[0]),Math.abs(t.getTime()-Date.now())>36e5*24*10&&(t=new Date(n,a[0]-1,a[1]))):t=new Date(t)}else t=new Date(t)}else t=new Date(t)}else t=new Date(t);let r=R.t(`ra_dow_${Lhe[t.getDay()]}`).replace("ra_dow_","");return r+=`. ${t.getDate()} ${R.t(`ra_month_${jhe[t.getMonth()]}`).replace("ra_month_","")}`,r}static renderTextWithA(t){let r=t.match(/||[^<]+<\/b>|[^<]+<\/i>/);if(r){let o=[],a=1;do{let n=t.substring(0,r.index);if(t=t.substring((r.index||0)+r[0].length),n&&o.push(Fi.default.createElement("span",{key:`a${a++}`},n)),r[0].startsWith(""))o.push(Fi.default.createElement("b",{key:`a${a++}`},r[0].substring(3,r[0].length-4)));else if(r[0].startsWith(""))o.push(Fi.default.createElement("i",{key:`a${a++}`},r[0].substring(3,r[0].length-4)));else if(r[0].startsWith("([^<]*)||[^<]+<\/b>|[^<]+<\/i>/):null,r||t&&o.push(Fi.default.createElement("span",{key:`a${a++}`},t))}while(r);return o}return t}static getSmartName(t,r,o,a){var s,i;if(!r){if(!a)return!t.common||t&&!t.common?t.smartName:t.common.smartName;if(t&&!t.common)return t.smartName;let p=t;return(s=p==null?void 0:p.common)!=null&&s.custom&&p.common.custom[o]?p.common.custom[o].smartName:void 0}if(!a)return t[r].common.smartName;let n=t[r];return(i=n==null?void 0:n.common)!=null&&i.custom&&n.common.custom[o]&&n.common.custom[o].smartName||null}static getSmartNameFromObj(t,r,o){var n,s;if(!o)return!t.common||t&&!t.common?t.smartName:t.common.smartName;if(t&&!t.common)return t.smartName;let a=(s=(n=t==null?void 0:t.common)==null?void 0:n.custom)==null?void 0:s[r];return a?a.smartName:void 0}static enableSmartName(t,r,o){o?(t.common.custom=t.common.custom||{},t.common.custom[r]=t.common.custom[r]||{},t.common.custom[r].smartName={}):t.common.smartName={}}static removeSmartName(t,r,o){o?t.common&&t.common.custom&&t.common.custom[r]&&(t.common.custom[r]=null):t.common.smartName=null}static updateSmartName(t,r,o,a,n,s){let i=R.getLanguage();if(typeof t.common.smartName=="string"){let p=t.common.smartName;t.common.smartName={},t.common.smartName[i]=p}if(t.native&&t.native.byON){delete t.native.byON;let p=t.common.smartName;p&&typeof p!="object"&&(p={en:p,[i]:p}),t.common.smartName=p}if(a!==void 0&&(s?(t.common.custom=t.common.custom||{},t.common.custom[n]=t.common.custom[n]||{},t.common.custom[n].smartName=t.common.custom[n].smartName||{},a?t.common.custom[n].smartName.smartType=a:delete t.common.custom[n].smartName.smartType):(t.common.smartName=t.common.smartName||{},a?t.common.smartName.smartType=a:delete t.common.smartName.smartType)),o!==void 0&&(s?(t.common.custom=t.common.custom||{},t.common.custom[n]=t.common.custom[n]||{},t.common.custom[n].smartName=t.common.custom[n].smartName||{},t.common.custom[n].smartName.byON=o):(t.common.smartName=t.common.smartName||{},t.common.smartName.byON=o)),r!==void 0){let p;if(s?(t.common.custom=t.common.custom||{},t.common.custom[n]=t.common.custom[n]||{},t.common.custom[n].smartName=t.common.custom[n].smartName||{},p=t.common.custom[n].smartName):(t.common.smartName=t.common.smartName||{},p=t.common.smartName),p[i]=r,p&&(!p[i]||p[i]===t.common.name&&(!t.common.role||t.common.role.includes("button")))){delete p[i];let l=!0;for(let d in p)if(Object.prototype.hasOwnProperty.call(p,d)){l=!1;break}if(l)if(s&&t.common.custom&&t.common.custom[n])t.common.custom[n].smartName.byON===void 0?delete t.common.custom[n]:(delete t.common.custom[n].en,delete t.common.custom[n].de,delete t.common.custom[n].ru,delete t.common.custom[n].nl,delete t.common.custom[n].pl,delete t.common.custom[n].it,delete t.common.custom[n].fr,delete t.common.custom[n].pt,delete t.common.custom[n].es,delete t.common.custom[n].uk,delete t.common.custom[n]["zh-cn"]);else if(t.common.smartName&&t.common.smartName.byON!==void 0){let d=t.common.smartName;delete d.en,delete d.de,delete d.ru,delete d.nl,delete d.pl,delete d.it,delete d.fr,delete d.pt,delete d.es,delete d.uk,delete d["zh-cn"]}else t.common.smartName=null}}}static disableSmartName(t,r,o){o?(t.common.custom=t.common.custom||{},t.common.custom[r]=t.common.custom[r]||{},t.common.custom[r].smartName=!1):t.common.smartName=!1}static copyToClipboard(t,r){return r&&(r.stopPropagation(),r.preventDefault()),m_(t)}static getFileExtension(t){let r=(t||"").lastIndexOf(".");return r!==-1?t.substring(r+1).toLowerCase():null}static formatBytes(t){if(Math.abs(t)<1024)return`${t} B`;let r=["KB","MB","GB"],o=-1;do t/=1024,++o;while(Math.abs(t)>=1024&&o186?`#000000${o||""}`:`#FFFFFF${o||""}`;let i=(255-a).toString(16),p=(255-n).toString(16),l=(255-s).toString(16);return`#${i.padStart(2,"0")}${p.padStart(2,"0")}${l.padStart(2,"0")}${o||""}`}static color2rgb(t){if(t==null||t===""||typeof t!="string")return!1;if(t.startsWith("rgba")){let r=t.match(/rgba?\((\d+),\s*(\d+),\s*(\d+),\s*([.\d]+)\)/);r&&(t=parseInt(r[1],10).toString(16).padStart(2,"0")+parseInt(r[2],10).toString(16).padStart(2,"0")+parseInt(r[2],10).toString(16).padStart(2,"0"))}else if(t.startsWith("rgb")){let r=t.match(/rgb?\((\d+),\s*(\d+),\s*(\d+)\)/);r&&(t=parseInt(r[1],10).toString(16).padStart(2,"0")+parseInt(r[2],10).toString(16).padStart(2,"0")+parseInt(r[2],10).toString(16).padStart(2,"0"))}else t.startsWith("#")&&(t=t.slice(1));return t.length===3&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]),t.length!==6&&t.length!==8?(console.warn(`Cannot invert color: ${t}`),!1):[parseInt(t.slice(0,2),16),parseInt(t.slice(2,4),16),parseInt(t.slice(4,6),16)]}static rgb2lab(t){let r=t[0]/255,o=t[1]/255,a=t[2]/255;r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,o=o>.04045?((o+.055)/1.055)**2.4:o/12.92,a=a>.04045?((a+.055)/1.055)**2.4:a/12.92;let n=(r*.4124+o*.3576+a*.1805)/.95047,s=r*.2126+o*.7152+a*.0722,i=(r*.0193+o*.1192+a*.9505)/1.08883;return n=n>.008856?n**.33333333:7.787*n+.137931,s=s>.008856?s**.33333333:7.787*s+.137931,i=i>.008856?i**.33333333:7.787*i+.137931,[116*s-16,500*(n-s),200*(s-i)]}static colorDistance(t,r){let o=lr.color2rgb(t),a=lr.color2rgb(r);if(!o||!a)return 0;let n=lr.rgb2lab(o),s=lr.rgb2lab(a),i=n[0]-s[0],p=n[1]-s[1],l=n[2]-s[2],d=Math.sqrt(n[1]*n[1]+n[2]*n[2]),u=Math.sqrt(s[1]*s[1]+s[2]*s[2]),f=d-u,c=p*p+l*l-f*f;c=c<0?0:Math.sqrt(c);let h=1+.045*d,g=1+.015*d,m=i,x=f/h,T=c/g,b=m*m+x*x+T*T;return b<0?0:b}static _toVal(t){let r,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t))for(let a=0;a{if(o=o.trim(),o){let a=o.split("="),n=decodeURIComponent(a[0]).trim();if(a.length>1){let s=decodeURIComponent(a[1]);if(s==="true")r[n]=!0;else if(s==="false")r[n]=!1;else{let i=parseFloat(s);i.toString()===s?r[n]=i:r[n]=s}}else r[n]=!0}}),r}static getParentId(t){let r=(t||"").toString().split(".");return r.length>1?(r.pop(),r.join(".")):null}static formatDate(t,r){if(!t)return"";let o,a=(t.getMonth()+1).toString().padStart(2,"0"),n=t.getDate().toString().padStart(2,"0");return r==="MM/DD/YYYY"?o=`${a}/${n}/${t.getFullYear()}`:o=`${t.getFullYear()}-${a}-${n}`,o+=` ${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}:${t.getSeconds().toString().padStart(2,"0")}.${t.getMilliseconds().toString().padStart(3,"0")}`,o}static formatTime(t){if(t){t=Math.round(t);let r=Math.floor(t/(3600*24)),o=Math.floor(t%(3600*24)/3600),a=Math.floor(t%3600/60),n=t%60;return r?`${r}.${o.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}`:o?`${o}:${a.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}`:`0:${a.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}`}return"0:00:00"}static MDtext2link(t){let r=t.match(/\d+\.\)\s/);return r&&(t=t.replace(r[0],r[0].replace(/\s/," "))),t.replace(/[^a-zA-Zа-яА-Я0-9]/g,"").trim().replace(/\s/g,"").toLowerCase()}static openLink(t,r){t=t.replace(/\/\/([0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*)(:\d+)?\//i,"//[$1]$2/"),r==="this"?window.location.href=t:window.open(t,r||"_blank")}static MDgetTitle(t){var n;let r=lr.MDextractHeader(t),o=r.header,a=r.body;if(!o.title){a=a.replace(/{[^}]*}/g,""),a=a.trim();let s=a.replace(/\r/g,"").split(` `);for(let i=0;i{if(!s.trim())return;let i=s.indexOf(":");if(i!==-1){let p=s.substring(0,i).trim(),l=s.substring(i+1).trim();l=l.replace(/^['"]|['"]$/g,""),l==="true"?r[p]=!0:l==="false"?r[p]=!1:parseFloat(l).toString()===r[p]?r[p]=parseFloat(l):r[p]=l}else r[s.trim()]=!0}),t=t.substring(o+7))}return{header:r,body:t}}static MDremoveDocsify(t){let r=t.match(/{docsify-[^}]*}/g);return r&&r.forEach(o=>t=t.replace(o,"")),t}static generateFile(t,r){let o=document.createElement("a");o.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(JSON.stringify(r,null,2))}`),o.setAttribute("download",t),o.style.display="none",document.body.appendChild(o),o.click(),document.body.removeChild(o)}static quality2text(t){let r=t&4294901760,o=KN[t],a;return o?a=[o]:t&1?a=[KN[1],`0x${(t&65534).toString(16)}`]:t&2?a=[KN[2],`0x${(t&65533).toString(16)}`]:a=[`0x${t.toString(16)}`],r&&a.push(`0x${(r>>16).toString(16).toUpperCase()}`),a}static clone(t){return JSON.parse(JSON.stringify(t))}static getStates(t){var a;let r=(a=t==null?void 0:t.common)==null?void 0:a.states,o;if(r)if(typeof r=="string"&&r[0]==="{")try{o=JSON.parse(r)}catch(n){console.error(`Cannot parse states: ${r}`),o=null}else if(typeof r=="string"){let n=r.split(";");o={};for(let s=0;so[s]=n):(t==null?void 0:t.common.type)==="string"?r.forEach(n=>o[n]=n):(t==null?void 0:t.common.type)==="boolean"&&(o.false=r[0],o.true=r[1])):typeof r=="object"&&(o=r);return o||null}static async getSvg(t){let o=await(await fetch(t)).blob();return new Promise(a=>{let n=new FileReader;n.onload=()=>{var s;return a(((s=n.result)==null?void 0:s.toString())||"")},n.readAsDataURL(o)})}static detectMimeType(t){let r=Object.keys(LG).find(o=>t.startsWith(o));return r?LG[r]:null}static isStableRepository(t){return!!(typeof t=="string"&&t.toLowerCase().startsWith("stable")||t&&typeof t!="string"&&t.find(r=>r.toLowerCase().startsWith("stable")))}static isStringInteger(t){return typeof t=="number"?Math.round(t)===t:parseInt(t,10).toString()===t}static isValidDate(t){return t instanceof Date&&!isNaN(t)}static getStyle(t,...r){let o={};for(let a=0;a{if(typeof r[a][n]=="function")o[n]=r[a][n](t);else if(typeof r[a][n]=="object"){let s=r[a][n];o[n]={},Object.keys(s).forEach(i=>{typeof s[i]=="function"?o[n][i]=s(t):(s[i]||s[i]===0)&&(o[n][i]=s[i])})}else(r[a][n]||r[a][n]===0)&&(o[n]=r[a][n])});return o}};A(Sr,"namespace",ml),A(Sr,"INSTANCES","instances"),A(Sr,"dateFormat",["DD","MM"]),A(Sr,"FORBIDDEN_CHARS",/[^._\-/ :!#$%&()+=@^{}|~\p{Ll}\p{Lu}\p{Nd}]+/gu);var ve=Sr;var wi=y(P());var XN={buttonIcon:{marginRight:8}},Vv=class extends wi.default.Component{constructor(r){super(r);A(this,"isIFrame");let o=r.newReact===void 0?!0:r.newReact;if(r.isIFrame!==void 0)this.isIFrame=r.isIFrame;else try{this.isIFrame=!o&&window.self!==window.top}catch(a){this.isIFrame=!o}}render(){let r=this.props.noTextOnButtons,o={borderRadius:this.props.theme.saveToolbar.button.borderRadius||3,height:this.props.theme.saveToolbar.button.height||32},a={bottom:this.isIFrame?38:0,left:this.props.paddingLeft||0,right:0,position:"absolute",background:this.props.theme.saveToolbar.background};return this.props.dense&&(a.minHeight=48),this.props.error&&(o.border="1px solid red"),wi.default.createElement(Sx,{style:a},wi.default.createElement(Cn,{variant:"extended","aria-label":"Save",disabled:!this.props.changed||this.props.error,onClick:()=>this.props.onSave(!1),style:o},wi.default.createElement(Cx,{style:r?void 0:XN.buttonIcon}),!r&&D.t("ra_Save")),wi.default.createElement(Cn,{variant:"extended","aria-label":"Save and close",disabled:!this.props.changed||this.props.error,onClick:()=>this.props.onSave(!0),style:{...o,marginLeft:10}},wi.default.createElement(Cx,{style:r?void 0:XN.buttonIcon}),r?"+":D.t("ra_Save and close"),r&&wi.default.createElement(mo,null)),wi.default.createElement("div",{style:{flexGrow:1}}),wi.default.createElement(Cn,{variant:"extended","aria-label":"Close",onClick:()=>this.props.onClose(),style:o},wi.default.createElement(mo,{style:r?void 0:XN.buttonIcon}),!r&&D.t("ra_Close")))}};var en=y(P());var zG={suppress:{fontSize:12},suppressRoot:{marginTop:"16px"}},xl=class extends en.Component{constructor(t){if(super(t),!this.props.dialogName&&this.props.suppressQuestionMinutes)throw new Error("dialogName required if suppressQuestionMinutes used");let r=!1;this.props.suppressQuestionMinutes&&(r=parseInt((window._localStorage||window.localStorage).getItem(this.props.dialogName),10)||0,r?Date.now()>r&&((window._localStorage||window.localStorage).removeItem(this.props.dialogName),r=!1):r=!1),this.state={suppress:r}}handleOk(){this.state.suppress&&(window._localStorage||window.localStorage).setItem(this.props.dialogName,Date.now()+(this.props.suppressQuestionMinutes||2)*6e4),this.props.onClose&&this.props.onClose(!0)}handleCancel(){this.props.onClose&&this.props.onClose(!1)}render(){return typeof this.state.suppress=="number"?(setTimeout(()=>this.props.onClose&&this.props.onClose(!0),100),null):en.default.createElement(cr,{open:!0,maxWidth:"md",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClose:(t,r)=>{r!=="backdropClick"&&r!=="escapeKeyDown"&&this.handleCancel()},"aria-labelledby":"ar_confirmation_dialog_title","aria-describedby":"ar_confirmation_dialog_description"},en.default.createElement(mr,{id:"ar_confirmation_dialog_title"},this.props.title||D.t("ra_Are you sure?")),en.default.createElement(Tr,null,en.default.createElement(_n,{id:"ar_confirmation_dialog_description"},this.props.icon||null,this.props.text,this.props.suppressQuestionMinutes?en.default.createElement("br",null):null,this.props.suppressQuestionMinutes?en.default.createElement(Ye,{sx:{"& .FormControlLabel-label":zG.suppress,"&.FormControlLabel-root":zG.suppressRoot},control:en.default.createElement(Zt,{id:`ar_dialog_confirm_suppress_${this.props.dialogName||""}`,checked:!!this.state.suppress,onChange:()=>this.setState({suppress:!this.state.suppress})}),label:this.props.suppressText||D.t("ra_Suppress question for next %s minutes",(this.props.suppressQuestionMinutes||2).toString())}):null)),en.default.createElement(vr,null,en.default.createElement(st,{id:`ar_dialog_confirm_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:en.default.createElement(wo,null)},this.props.ok||D.t("ra_Ok")),en.default.createElement(st,{id:`ar_dialog_confirm_cancel_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:en.default.createElement(mo,null)},this.props.cancel||D.t("ra_Cancel"))))}};var gl=y(P());var jd=class extends gl.Component{handleOk(){this.props.onClose&&this.props.onClose()}render(){return gl.default.createElement(cr,{open:!0,maxWidth:"sm",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClose:()=>this.handleOk(),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description"},gl.default.createElement(mr,{id:"ar_alert_dialog_title"},this.props.title||D.t("ra_Error")),gl.default.createElement(Tr,null,gl.default.createElement(_n,{id:"ar_alert_dialog_description"},this.props.text||D.t("ra_Unknown error!"))),gl.default.createElement(vr,null,gl.default.createElement(st,{id:"ar_dialog_error_ok",variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:gl.default.createElement(wo,null)},D.t("ra_Ok"))))}};var WG={"ra_%s links from aliases":"%s links from aliases","ra_%s object(s) processed":"%s object(s) processed","ra_%s was imported":"%s was imported","ra_Accept license":"Accept license","ra_Add new child object to selected parent":"Add new child object to selected parent","ra_Add objects tree from JSON file":"Add objects tree from JSON file","ra_Add row":"Add row","ra_Advanced options":"Advanced options","ra_All items are filtered out":"All items are filtered out","ra_All objects":"All objects",ra_Append:"Append","ra_Append %s entries or replace existing?":"Append %s entries or replace existing?","ra_Append or replace?":"Append or replace?","ra_Are you sure?":"Are you sure?","ra_Auto (no custom columns)":"Auto (no custom columns)","ra_Back to %s":"Back to %s","ra_Background image":"Background image",ra_Cancel:"Cancel","ra_Cannot add items with set filter":"Cannot add items with set filter","ra_Cannot decode license":"Cannot decode license","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Cannot determine position: System settings are empty and GPS detection is disabled in browser",'ra_Cannot find "%s"':'Cannot find "%s"','ra_Cannot read "%s"':'Cannot read "%s"',"ra_Cannot read licenses: %s":"Cannot read licenses: %s","ra_Cannot retrieve options, as instance is offline":"Cannot retrieve options, as instance is offline","ra_Cannot update attribute, because not found in the object":"Cannot update attribute, because not found in the object","ra_Cannot upload":"Cannot upload",ra_Categories:"Categories","ra_Chained certificate":"Chained certificate","ra_Change color theme":"Change color theme","ra_Changed from":"Changed from","ra_Channel \u2192 State":"Channel \u2192 State","ra_Check license":"Check license",ra_Checked:"Checked",ra_Clear:"Delete","ra_Clear filter":"Clear filter","ra_Clear icon":"Clear icon","ra_Clone current row":"Clone current row",ra_Close:"Close","ra_Collapse all nodes":"Collapse all nodes","ra_Collapse one step node":"Collapse one level",ra_Commercial:"Commercial",ra_Configure:"Configure","ra_Configure visible columns":"Configure visible columns","ra_Confirm deletion of %s":"Confirm deletion of %s",ra_Connected:"Connected",ra_Copied:"Copied","ra_Copied %s":'Copied "%s"',"ra_Copy content":"Copy content",ra_Create:"Create","ra_Create alias":"Create alias","ra_Create folder":"Create folder","ra_Create new folder in %s":"Create new folder in %s",ra_Crop:"Crop","ra_Define CRON...":"Define CRON...","ra_Define functions":"Define functions","ra_Define rooms":"Define rooms","ra_Define schedule":"Define schedule","ra_Define schedule...":"Define schedule...",ra_Del:"Delete",ra_Delete:"Delete","ra_Delete (no confirm for 5 mins)":"Delete (no confirm for 5 mins)","ra_Delete current row":"Delete current row","ra_Deselect all":"Unselect all","ra_Device \u2192 Channel \u2192 State":"Device \u2192 Channel \u2192 State",ra_Discard:"Discard",ra_Disconnected:"Disconnected","ra_Do not export values of states":"Do not export values of states","ra_Do not use let's encrypt":"Do not use let's encrypt","ra_Double click to reset table layout":"Double click to reset table layout","ra_Drag 'n' drop some files here, or click to select files":"Drag 'n' drop some files here, or click to select files","ra_Drop file here":"Drop file here","ra_Drop the files here...":"Drop the file here...","ra_Duplicate name":"Duplicate name","ra_Edit ACL":"Edit ACL","ra_Edit alias":"Edit alias","ra_Edit custom config":"Edit custom config","ra_Edit function":"Edit function","ra_Edit object field":"Edit object field","ra_Edit role":"Edit role","ra_Edit room":"Edit room","ra_Edit value":"Edit value",ra_Error:"Error","ra_Expand all nodes":"Expand all nodes","ra_Expand one step node":"Expand one level","ra_Export data to %s file":"Export data to %s file","ra_Failed to open JSON File":"Failed to open JSON File","ra_Fallback custom certificates":"Fallback custom certificates","ra_File is too big. Max %sk allowed. Try use SVG.":"File is too big. Max %sk allowed. Try use SVG.",ra_Filter:"Filter","ra_Filter files":"Filter files","ra_Folder name":"Folder name","ra_Folder \u2192 Channel \u2192 State":"Folder \u2192 Channel \u2192 State","ra_Folder \u2192 Device \u2192 Channel \u2192 State":"Folder \u2192 Device \u2192 Channel \u2192 State","ra_Folder \u2192 State":"Folder \u2192 State","ra_Folders always first":"Folders always first",ra_Friday:"Friday","ra_Good luck":"Good luck","ra_Hide empty folders":"Hide empty folders","ra_If no file will be created in the folder, it will disappear after the browser closed":"If no file will be created in the folder, it will disappear after the browser closed","ra_Import data from %s file":"Import data from %s file","ra_Import from %s":"Import from %s","ra_Instance %s is alive":"Instance %s is alive","ra_Instance %s is not alive":"Instance %s is not alive","ra_Instance is not alive":"Instance is not alive","ra_Invalid CRON":"Invalid CRON","ra_Invalid JSON":"Invalid JSON","ra_Invalid answer from server":"Invalid answer from server","ra_Invalid parent folder!":"Invalid parent folder!","ra_Invalid structure":"Invalid structure","ra_JSON editor":"JSON editor","ra_Last change":"Last change",ra_Latitude:"Latitude","ra_License %s":"License %s","ra_License agreement":"License agreement","ra_License does not exist":"License does not exist","ra_License expired on %s":"License expired on %s",'ra_License for other product "%s"':'License for other product "%s"',"ra_License is for version %s, but required version is %s.":"License is for version %s, but required version is %s.","ra_License must be converted":"License must be converted to newer version. You can do it in your iobroker.net profile.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"License not found in the license manager. Do you want to update licenses from iobroker.net?","ra_Listen on all IPs":"Listen on all IPs","ra_Load configuration from file":"Load configuration from file",ra_Longitude:"Longitude",'ra_May not trigger "updateLicenses"':'May not trigger "updateLicenses"',ra_Message:"Message",ra_Monday:"Monday","ra_Move down":"Move down","ra_Move up":"Move up",ra_Name:"Name","ra_No data found in file":"No data found in file","ra_No one license found in license manager":"No one license found in license manager","ra_No response from the backend":"No response from the backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Non-experts may create new objects only in "0_userdata.0" or "alias.0".',"ra_Not a number":"Not a number",ra_Objects:"Objects",ra_Ok:"Ok","ra_On weekdays":"On weekdays","ra_Only following structures of objects are available:":"Only following structures of objects are available:","ra_Only selected":"Only selected","ra_Owner group":"Owner group","ra_Owner user":"Owner user","ra_Passwords are not equal!":"Passwords are not equal!","ra_Place your files here or click here to open the browse dialog":"Place your files here or click here to open the browse dialog","ra_Please confirm":"Please confirm","ra_Please create license":"Please create license","ra_Please enter the license":"Please enter the license","ra_Please select file...":"Please select file...","ra_Please select object ID...":"Please select object ID...","ra_Port could be used by %s":"Port could be used by %s","ra_Port is already used by %s":"Port is already used by %s","ra_Private certificate":"Private certificate",ra_Product:"Product","ra_Public certificate":"Public certificate","ra_Quality code":"Quality","ra_Refresh tree":"Refresh tree","ra_Reload files":"Reload files",ra_Repeat:"Repeat",ra_Replace:"Replace","ra_Request timed out":"Request timed out","ra_Restrict to folder":"Restrict to folder",ra_Root:"Root",ra_Saturday:"Saturday",ra_Save:"Save","ra_Save and close":"Save and close","ra_Save configuration to file":"Save configuration to file","ra_Save objects tree as JSON file":"Save objects tree as JSON file","ra_Select all":"Select all","ra_Select color":"Select color","ra_Select predefined icon":"Select predefined icon","ra_Select type of export":"Select type of export",ra_Selected:"Selected","ra_Selected %s object(s)":"Selected %s object(s)","ra_Serial number (UUID)":"Serial number (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Serial number (UUID) "%s" in license is for other device.',"ra_Show all folders":"Show all folders","ra_Show lines between rows":"Show lines between rows","ra_Show/Hide object descriptions":"Show/Hide object descriptions","ra_Show/hide filter input":"Show/hide filter input","ra_Some data are not stored. Discard?":"Some data are not stored. Discard?",ra_States:"States","ra_Suitable license not found in license manager":"Suitable license not found in license manager",ra_Sunday:"Sunday","ra_Suppress question for next %s minutes":"Suppress question for next %s minutes","ra_System language":"System language","ra_Take browser position":"Take position from browser","ra_Take position from system settings":"Take position from system settings",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").',"ra_The page you are looking for was not found":"The page you are looking for was not found","ra_The schedule will be executed every minute. Are you sure?":"The schedule will be executed every minute. Are you sure?","ra_The schedule will be executed every second. Are you sure?":"The schedule will be executed every second. Are you sure?",ra_Thursday:"Thursday",ra_Timestamp:"Timestamp","ra_Toggle expert mode":"Toggle expert mode","ra_Toggle the states view":"Toggle the states view","ra_Toggle view mode":"Toggle view mode","ra_Too big":"Too big","ra_Too small":"Too small","ra_Transparent dialog":"Transparent dialog",ra_Tuesday:"Tuesday","ra_Unknown error":"Unknown error","ra_Unknown error!":"Unknown error!",ra_Update:"Update","ra_Upload file":"Upload file","ra_Use all available let's encrypt certificates":"Use all available let's encrypt certificates","ra_Use iobroker.acme adapter for letsencrypt certificates":"Use iobroker.acme adapter for letsencrypt certificates","ra_Use system settings for position":"Use system settings for position","ra_Used system settings":"Used system settings","ra_User files":"User files",ra_ValidTill:"Valid till",ra_Value:"Value",ra_Version:"Version","ra_View file":"View file","ra_View: %s":"View: %s",ra_Wednesday:"Wednesday",ra_Width:"Width",ra_Yes:"Yes","ra_You can export all objects or just the selected branch.":"You can export all objects or just the selected branch.","ra_You can filter entries by entering here some text":"You can filter entries by entering here some text",ra___different__:"different",ra_aclEveryone_read_object:"Everyone can read object",ra_aclEveryone_read_state:"Everyone can read state",ra_aclEveryone_write_object:"Everyone can write object",ra_aclEveryone_write_state:"Everyone can write state",ra_aclGroup_read_object:"Group can read object",ra_aclGroup_read_state:"Group can read state",ra_aclGroup_write_object:"Group can write object",ra_aclGroup_write_state:"Group can write state",ra_aclOwner_read_object:"Owner can read object",ra_aclOwner_read_state:"Owner can read state",ra_aclOwner_write_object:"Owner can write object",ra_aclOwner_write_state:"Owner can write state",ra_buttons:"Buttons",ra_changedFrom:"Changed from",ra_close:"close",ra_create_boolean_state:"Create boolean state",ra_create_channel:"Create channel",ra_create_device:"Create device",ra_create_number_state:"Create number state",ra_create_state:"Create state",ra_create_string_state:"Create string state",ra_daysShortText:"days",ra_dow_Fr:"Fr",ra_dow_Mo:"Mo",ra_dow_Sa:"Sa",ra_dow_Su:"Su",ra_dow_Th:"Th",ra_dow_Tu:"Tu",ra_dow_We:"We",ra_expertMode:"Expert mode",ra_fileType_all:"All files",ra_fileType_audio:"Audio",ra_fileType_code:"Code/JSON",ra_fileType_images:"Images",ra_fileType_txt:"Text",ra_fileType_video:"Video","ra_fileType_video,":"Video",ra_filter_customs:"Settings",ra_filter_customs_without:"without",ra_filter_func:"Function",ra_filter_id:"ID",ra_filter_name:"Name",ra_filter_role:"Role",ra_filter_room:"Room",ra_filter_type:"Type","ra_import data from %s file":"Import data from %s file",ra_invalidConfig:"Invalid settings",ra_lastChange:"Last change",ra_locally:"locally",ra_month_Apr:"Apr",ra_month_Aug:"Aug",ra_month_Dec:"Dec",ra_month_Feb:"Feb",ra_month_Jan:"Jan",ra_month_Jul:"Jul",ra_month_Jun:"Jun",ra_month_Mai:"Mai",ra_month_Mar:"Mar",ra_month_Nov:"Nov",ra_month_Oct:"Oct",ra_month_Sep:"Sep",ra_months_Apr:"Apr",ra_months_Aug:"Aug",ra_months_Dec:"Dec",ra_months_Feb:"Feb",ra_months_Jan:"Jan",ra_months_Jul:"Jul",ra_months_Jun:"Jun",ra_months_Mai:"Mai",ra_months_Mar:"Mar",ra_months_Nov:"Nov",ra_months_Oct:"Oct",ra_months_Sep:"Sep",ra_none:"none",ra_object_changed_by:"Object changed by",ra_object_changed_by_user:"Object last changed at",ra_otherConfig:"Settings from other adapter %s",ra_qualityCode:"Quality code",ra_repeat:"repeat",ra_select_folder_hint:'To select folder, just hold the key "shift" by clicking the folder.',ra_state_changed_by:"State changed by",ra_state_changed_from:"Object changed from",ra_timestamp:"Timestamp",ra_tooltip_ack:"Acknowledged",ra_tooltip_comment:"Comment",ra_tooltip_copyState:"Copy the state value",ra_tooltip_customConfig:"Custom settings",ra_tooltip_deleteObject:"Delete object",ra_tooltip_editObject:"Edit object",ra_tooltip_editState:"Edit the state value",ra_tooltip_from:"From",ra_tooltip_lc:"Last changed",ra_tooltip_quality:"Quality",ra_tooltip_ts:"Time stamp",ra_tooltip_user:"User",ra_tooltip_value:"Value","ra_use seconds":"use seconds",ra_val:"Value","ra_via internet":"via internet",ra_warning_every_minute:"Warning: The CRON job will run every minute during the specified period!",ra_warning_every_second:"Warning: The CRON job will run every second during the specified period!",sc_cron:"CRON",sc_date:"Date",sc_dates:"Dates",sc_dow:"Day",sc_dows:"Day of week",sc_every:"Every",sc_everyN_dates:"every N days",sc_everyN_dow:"every Nth day of the week",sc_everyN_dows:"every N day of week",sc_everyN_hours:"every N hours",sc_everyN_minutes:"every N minutes",sc_everyN_months:"every N months",sc_everyN_seconds:"every N seconds",sc_every_dates:"every day",sc_every_dow:"every day of the week",sc_every_dows:"every day of the week",sc_every_hours:"every hour",sc_every_minutes:"every minute",sc_every_months:"every month",sc_every_seconds:"every second",sc_from:"From",sc_hours:"Hours",sc_interval:"Interval",sc_intervalBetween:"Interval between",sc_invalid_cron:"Invalid CRON",sc_minutes:"Minutes",sc_months:"months",sc_once:"Once",sc_period:"Period",sc_seconds:"Seconds",sc_simple:"Simple",sc_specific:"Specific time",sc_specific_dates:"specific dates",sc_specific_dow:"specific day(s) of the week",sc_specific_dows:"specific day of weeks",sc_specific_hours:"specific hours",sc_specific_minutes:"specific minutes",sc_specific_months:"specific months",sc_specific_seconds:"specific seconds",sc_time:"Time",sc_to:"To",sc_wizard:"Wizard",sch_all:"all",sch_astroDay:"Astro day",sch_astroNight:"Astro night",sch_astro_dawn:"Dawn",sch_astro_dusk:"Dusk",sch_astro_goldenHour:"Golden hour",sch_astro_goldenHourEnd:"Golden hour end",sch_astro_nadir:"Nadir",sch_astro_nauticalDawn:"Nautical dawn",sch_astro_nauticalDusk:"Nautical dusk",sch_astro_night:"Night",sch_astro_nightEnd:"Night end",sch_astro_solarNoon:"Solar noon",sch_astro_sunrise:"Sunrise",sch_astro_sunriseEnd:"Sunrise end",sch_astro_sunset:"Sunset",sch_astro_sunsetStart:"Sunset start",sch_at:"at",sch_desc_atTime:"at %s",sch_desc_everyDay:"every day",sch_desc_everyHour:"every hour",sch_desc_everyMinute:"every minute",sch_desc_everyMonth:"every month",sch_desc_everyNDay:"every %s day",sch_desc_everyNHours:"every %s hours",sch_desc_everyNMinutes:"every %s minutes",sch_desc_everyNMonths:"every %s months",sch_desc_everyNWeeks:"every %s weeks",sch_desc_everyNYears:"every %s years",sch_desc_everyWeek:"every week",sch_desc_everyYear:"every year",sch_desc_intervalFromTo:"from %s to %s",sch_desc_never:"never",sch_desc_onDate:"on %s of %s",sch_desc_onDates:"on %s and %s of",sch_desc_onEveryDate:"on every date of",sch_desc_onMonth:"%s",sch_desc_onMonths:"%s and %s",sch_desc_onWeekday:"on %s",sch_desc_onWeekdays:"on %s and %s",sch_desc_onWeekends:"on weekends",sch_desc_onWorkdays:"on working days",sch_desc_onceInPast:"will ne be not executed any more, because start is in the past",sch_desc_once_on:"on %s",sch_desc_validFrom:"from %s",sch_desc_validFromTo:"Execute from to",sch_desc_validTo:"to %s",sch_every:"every",sch_exactTime:"Specific time",sch_from:"from",sch_fromTo:"From-to",sch_intervalTime:"Interval time",sch_invert:"invert",sch_no_one:"none",sch_on:"on",sch_period:"Period",sch_periodDaily:"Daily",sch_periodDates:"Dates",sch_periodDay:"Day",sch_periodEvery:"Every",sch_periodEveryDay:"Every day",sch_periodEveryMonth:"Every month",sch_periodEveryWeek:"Every week",sch_periodEveryYear:"Every year",sch_periodHours:"Hours",sch_periodMinutes:"Minutes",sch_periodMonth:"month",sch_periodMonthly:"Monthly",sch_periodOnce:"Once",sch_periodSpecificMonths:"Specific months",sch_periodWeek:"Week",sch_periodWeekdays:"Weekdays",sch_periodWeekend:"Weekend",sch_periodWeekly:"Weekly",sch_periodWorkdays:"Workdays",sch_periodYear:"Year",sch_periodYearly:"Yearly",sch_specificTime:"Specific time",sch_time:"Time",sch_to:"to",sch_valid:"Valid",sch_validFrom:"from",sch_validTo:"to",sch_wholeDay:"Whole day",sch_yearEveryMonth:"every month"};var UG={"ra_%s links from aliases":"%s Links von Aliasen","ra_%s object(s) processed":"%s Objekt(e) verarbeitet","ra_%s was imported":"%s wurde importiert","ra_Accept license":"Lizenz akzeptieren","ra_Add new child object to selected parent":"Dem ausgew\xE4hlten \xFCbergeordneten Objekt ein neues untergeordnetes Objekt hinzuf\xFCgen","ra_Add objects tree from JSON file":"Objektbaum aus JSON-Datei hinzuf\xFCgen","ra_Add row":"Zeile hinzuf\xFCgen","ra_Advanced options":"Erweiterte Optionen","ra_All items are filtered out":"Alle Elemente werden herausgefiltert","ra_All objects":"Alle Objekte",ra_Append:"Anh\xE4ngen","ra_Append %s entries or replace existing?":"%s Eintr\xE4ge anh\xE4ngen oder vorhandene ersetzen?","ra_Append or replace?":"Anh\xE4ngen oder ersetzen?","ra_Are you sure?":"Bist du sicher?","ra_Auto (no custom columns)":"Auto (keine benutzerdefinierten Spalten)","ra_Back to %s":"Zur\xFCck zu %s","ra_Background image":"Hintergrundbild",ra_Cancel:"Abbrechen","ra_Cannot add items with set filter":"Elemente mit festgelegtem Filter k\xF6nnen nicht hinzugef\xFCgt werden","ra_Cannot decode license":"Lizenz kann nicht entschl\xFCsselt werden","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Position kann nicht bestimmt werden: Die Systemeinstellungen sind leer und die GPS-Erkennung ist im Browser deaktiviert",'ra_Cannot find "%s"':'Kann "%s" nicht finden','ra_Cannot read "%s"':'"%s" kann nicht gelesen werden',"ra_Cannot read licenses: %s":"Lizenzen k\xF6nnen nicht gelesen werden: %s","ra_Cannot retrieve options, as instance is offline":"Optionen k\xF6nnen nicht abgerufen werden, da die Instanz offline ist","ra_Cannot update attribute, because not found in the object":"Attribut kann nicht aktualisiert werden, da es nicht im Objekt gefunden wurde","ra_Cannot upload":"Kann nicht hochladen",ra_Categories:"Kategorien","ra_Chained certificate":"Chained Zertifikat","ra_Change color theme":"Farbthema \xE4ndern","ra_Changed from":"Ge\xE4ndert von","ra_Channel \u2192 State":"Kanal \u2192 Zustand","ra_Check license":"Lizenz pr\xFCfen",ra_Checked:"Gepr\xFCft",ra_Clear:"L\xF6schen","ra_Clear filter":"Filter l\xF6schen","ra_Clear icon":"Symbol l\xF6schen","ra_Clone current row":"Aktuelle Zeile klonen",ra_Close:"Schlie\xDFen","ra_Collapse all nodes":"Alle Knoten zuklappen","ra_Collapse one step node":"Eine Ebene zuklappen",ra_Commercial:"Kommerziell",ra_Configure:"Konfigurieren","ra_Configure visible columns":"Spalten Konfigurieren","ra_Confirm deletion of %s":"Das L\xF6schen von %s best\xE4tigen",ra_Connected:"Verbunden",ra_Copied:"Kopiert","ra_Copied %s":'"%s" kopiert',"ra_Copy content":"Inhalte kopieren",ra_Create:"Erstellen","ra_Create alias":"Alias erstellen","ra_Create folder":"Ordner erstellen","ra_Create new folder in %s":'Neuen Ordner in "%s" erstellen',ra_Crop:"Ernte","ra_Define CRON...":"Definieren Sie CRON ...","ra_Define functions":"Funktionen definieren","ra_Define rooms":"R\xE4ume definieren","ra_Define schedule":"Zeitplan definieren","ra_Define schedule...":"Zeitplan definieren ...",ra_Del:"Entf",ra_Delete:"L\xF6schen","ra_Delete (no confirm for 5 mins)":"L\xF6schen (keine Best\xE4tigung f\xFCr 5 Minuten)","ra_Delete current row":"Aktuelle Zeile l\xF6schen","ra_Deselect all":"Alles abw\xE4hlen","ra_Device \u2192 Channel \u2192 State":"Ger\xE4t \u2192 Kanal \u2192 Zustand",ra_Discard:"Verwerfen",ra_Disconnected:"Getrennt","ra_Do not export values of states":"Keine Zustandswerte exportieren","ra_Do not use let's encrypt":"Let's encrypt nicht verwenden","ra_Double click to reset table layout":"Doppelklicken, um das Tabellenlayout zur\xFCckzusetzen","ra_Drag 'n' drop some files here, or click to select files":"Die Datei hierher ziehen und ablegen, oder klicken, um die Datei auszuw\xE4hlen","ra_Drop file here":"Datei hier ablegen","ra_Drop the files here...":"Datei hier ablegen...","ra_Duplicate name":"Doppelter Name","ra_Edit ACL":"ACL bearbeiten","ra_Edit alias":"Alias bearbeiten","ra_Edit custom config":"Bearbeite Benutzerdefinierte Konfiguration","ra_Edit function":"Funktion bearbeiten","ra_Edit object field":"Objektfeld bearbeiten","ra_Edit role":"Rolle bearbeiten","ra_Edit room":"Raum bearbeiten","ra_Edit value":"Wert bearbeiten",ra_Error:"Fehler","ra_Expand all nodes":"Alle Knoten aufklappen","ra_Expand one step node":"Eine Ebene aufklappen","ra_Export data to %s file":"Daten in %s-Datei exportieren","ra_Failed to open JSON File":"Fehler beim \xD6ffnen der JSON-Datei","ra_Fallback custom certificates":"Benutzerdefinierte Fallback-Zertifikate","ra_File is too big. Max %sk allowed. Try use SVG.":"Datei ist zu gro\xDF. Max %sk erlaubt. Versuchen Sie, SVG zu verwenden.",ra_Filter:"Filter","ra_Filter files":"Dateien filtern","ra_Folder name":"Ordnernamen","ra_Folder \u2192 Channel \u2192 State":"Ordner \u2192 Kanal \u2192 Zustand","ra_Folder \u2192 Device \u2192 Channel \u2192 State":"Ordner \u2192 Ger\xE4t \u2192 Kanal \u2192 Zustand","ra_Folder \u2192 State":"Ordner \u2192 Zustand","ra_Folders always first":"Ordner immer zuerst",ra_Friday:"Freitag","ra_Good luck":"Viel Gl\xFCck","ra_Hide empty folders":"Leere Ordner ausblenden","ra_If no file will be created in the folder, it will disappear after the browser closed":"Wenn im Ordner keine Datei erstellt wird, verschwindet dieser nach dem Schlie\xDFen des Browsers","ra_Import data from %s file":"Daten aus %s-Datei importieren","ra_Import from %s":"Von %s importieren","ra_Instance %s is alive":"Instanz %s ist aktiv","ra_Instance %s is not alive":"Instanz %s ist nicht aktiv","ra_Instance is not alive":"Instanz ist nicht am Leben","ra_Invalid CRON":"Ung\xFCltiger CRON","ra_Invalid JSON":"Ung\xFCltiges JSON","ra_Invalid answer from server":"Ung\xFCltige Antwort vom Server","ra_Invalid parent folder!":"Ung\xFCltiger \xFCbergeordneter Ordner!","ra_Invalid structure":"Ung\xFCltige Struktur","ra_JSON editor":"JSON-Editor","ra_Last change":"Letzte \xC4nderung",ra_Latitude:"Breite","ra_License %s":"Lizenz %s","ra_License agreement":"Lizenzvereinbarung","ra_License does not exist":"Lizenz existiert nicht","ra_License expired on %s":"Lizenz am %s abgelaufen",'ra_License for other product "%s"':"Lizenz f\xFCr anderes Produkt \u201E%s\u201C","ra_License is for version %s, but required version is %s.":"Lizenz ist f\xFCr Version %s, aber erforderliche Version ist %s.","ra_License must be converted":"Die Lizenz muss auf eine neuere Version konvertiert werden. Sie k\xF6nnen dies in Ihrem iobroker.net-Profil tun.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Lizenz im Lizenzmanager nicht gefunden. M\xF6chten Sie Lizenzen von iobroker.net aktualisieren?","ra_Listen on all IPs":"Zugriff von allen IPs zulassen","ra_Load configuration from file":"Konfiguration aus Datei laden",ra_Longitude:"L\xE4ngengrad",'ra_May not trigger "updateLicenses"':"L\xF6st m\xF6glicherweise nicht \u201EupdateLicenses\u201C aus",ra_Message:"Meldung",ra_Monday:"Montag","ra_Move down":"Nach unten","ra_Move up":"Nach oben",ra_Name:"Name","ra_No data found in file":"Keine Daten in der Datei gefunden","ra_No one license found in license manager":"Im Lizenzmanager wurde keine Lizenz gefunden","ra_No response from the backend":"Keine Antwort vom Backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Nicht-Experten d\xFCrfen neue Objekte nur in "0_userdata.0" oder "alias.0" erstellen.',"ra_Not a number":"Keine Nummer",ra_Objects:"Objekte",ra_Ok:"OK","ra_On weekdays":"An Wochentagen","ra_Only following structures of objects are available:":"Es stehen nur folgende Objektstrukturen zur Verf\xFCgung:","ra_Only selected":"Nur ausgew\xE4hlt","ra_Owner group":"Besitzergruppe","ra_Owner user":"Besitzer Benutzer","ra_Passwords are not equal!":"Passw\xF6rter sind nicht gleich!","ra_Place your files here or click here to open the browse dialog":"Die Dateien hier platzieren oder hier klicken, um den Suchdialog zu \xF6ffnen","ra_Please confirm":"Bitte best\xE4tigen","ra_Please create license":"Bitte erstellen Sie eine Lizenz","ra_Please enter the license":"Bitte die Lizenz eingeben","ra_Please select file...":"Bitte Datei ausw\xE4hlen...","ra_Please select object ID...":"Bitte Objekt-ID ausw\xE4hlen...","ra_Port could be used by %s":"Port k\xF6nnte von %s verwendet werden","ra_Port is already used by %s":"Port wird bereits von %s verwendet","ra_Private certificate":"Privates Zertifikat",ra_Product:"Produkt","ra_Public certificate":"\xD6ffentliches Zertifikat","ra_Quality code":"Qualit\xE4t","ra_Refresh tree":"Baum aktualisieren","ra_Reload files":"Dateien neu laden",ra_Repeat:"Wiederholen",ra_Replace:"Ersetzen","ra_Request timed out":"Zeit\xFCberschreitung der Anforderung","ra_Restrict to folder":"Auf Ordner beschr\xE4nken",ra_Root:"Anfang",ra_Saturday:"Samstag",ra_Save:"Speichern","ra_Save and close":"Speichern und schlie\xDFen","ra_Save configuration to file":"Konfiguration in Datei speichern","ra_Save objects tree as JSON file":"Objektbaum als JSON-Datei speichern","ra_Select all":"Alle ausw\xE4hlen","ra_Select color":"W\xE4hle Farbe","ra_Select predefined icon":"Vordefiniertes Symbol ausw\xE4hlen","ra_Select type of export":"Die Art des Exports ausw\xE4hlen ",ra_Selected:"Ausgew\xE4hlt","ra_Selected %s object(s)":"Ausgew\xE4hlt %s Objekt(en)","ra_Serial number (UUID)":"Seriennummer (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"Seriennummer (UUID) \u201E%s\u201C in der Lizenz gilt f\xFCr ein anderes Ger\xE4t.","ra_Show all folders":"Alle Ordner anzeigen","ra_Show lines between rows":"Linien zwischen Zeilen anzeigen","ra_Show/Hide object descriptions":"Objektbeschreibungen ein-/ausblenden","ra_Show/hide filter input":"Filtereingabe ein-/ausblenden","ra_Some data are not stored. Discard?":"Einige Daten werden nicht gespeichert. Verwerfen?",ra_States:"Zust\xE4nde","ra_Suitable license not found in license manager":"Passende Lizenz im Lizenzmanager nicht gefunden",ra_Sunday:"Sonntag","ra_Suppress question for next %s minutes":"Frage f\xFCr die n\xE4chsten %s Minuten unterdr\xFCcken","ra_System language":"Systemsprache","ra_Take browser position":"Position vom Browser einnehmen","ra_Take position from system settings":"Position aus den Systemeinstellungen \xFCbernehmen",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Die Experten k\xF6nnen Objekte \xFCberall erstellen, au\xDFer auf der zweiten Ebene (z. B. "vis.0" oder "javascript.0").',"ra_The page you are looking for was not found":"Die gesuchte Seite wurde nicht gefunden","ra_The schedule will be executed every minute. Are you sure?":"Der Zeitplan wird jede Minute ausgef\xFChrt. Sind Sie sicher?","ra_The schedule will be executed every second. Are you sure?":"Der Zeitplan wird jede Sekunde ausgef\xFChrt. Sind Sie sicher?",ra_Thursday:"Donnerstag",ra_Timestamp:"Zeitstempel","ra_Toggle expert mode":"Expertenmodus umschalten","ra_Toggle the states view":"Statusansicht umschalten","ra_Toggle view mode":"Ansichtsmodus umschalten","ra_Too big":"Zu gro\xDF","ra_Too small":"Zu klein","ra_Transparent dialog":"Transparenter Dialog",ra_Tuesday:"Dienstag","ra_Unknown error":"Unbekannter Fehler","ra_Unknown error!":"Unbekannter Fehler!",ra_Update:"Aktualisieren","ra_Upload file":"Datei hochladen","ra_Use all available let's encrypt certificates":"Alle verf\xFCgbaren Zertifikate von Let's encrypt benutzen","ra_Use iobroker.acme adapter for letsencrypt certificates":"ioBroker.acme-Adapter f\xFCr letsencrypt-Zertifikate verwenden","ra_Use system settings for position":"Systemeinstellungen f\xFCr die Position verwenden","ra_Used system settings":"Systemeinstellungen","ra_User files":"Benutzerdaten",ra_ValidTill:"G\xFCltig bis",ra_Value:"Wert",ra_Version:"Ausf\xFChrung","ra_View file":"Datei ansehen","ra_View: %s":"Anschauen: %s",ra_Wednesday:"Mittwoch",ra_Width:"Breite",ra_Yes:"Ja","ra_You can export all objects or just the selected branch.":"Sie k\xF6nnen alle Objekte oder nur den ausgew\xE4hlten Zweig exportieren.","ra_You can filter entries by entering here some text":"Sie k\xF6nnen Eintr\xE4ge filtern, indem Sie hier Text eingeben",ra___different__:"unterschiedlich",ra_aclEveryone_read_object:"Jeder kann Objekt lesen",ra_aclEveryone_read_state:"Jeder kann Zustand lesen",ra_aclEveryone_write_object:"Jeder kann ein Objekt schreiben",ra_aclEveryone_write_state:"Jeder kann Zustand schreiben",ra_aclGroup_read_object:"Gruppe kann Objekt lesen",ra_aclGroup_read_state:"Gruppe kann Status lesen",ra_aclGroup_write_object:"Gruppe kann Objekt schreiben",ra_aclGroup_write_state:"Gruppe kann Status schreiben",ra_aclOwner_read_object:"Besitzer kann Objekt lesen",ra_aclOwner_read_state:"Besitzer kann Zustand lesen",ra_aclOwner_write_object:"Besitzer kann Objekt schreiben",ra_aclOwner_write_state:"Besitzer kann Zustand schreiben",ra_buttons:"Tasten",ra_changedFrom:"Ge\xE4ndert von",ra_close:"Schlie\xDFen",ra_create_boolean_state:"Booleschen Zustand erstellen",ra_create_channel:"Kanal erstellen",ra_create_device:"Ger\xE4t erstellen",ra_create_number_state:"Nummern-Zustand erstellen",ra_create_state:"Zustand erstellen",ra_create_string_state:"String-Zustand erstellen",ra_daysShortText:"T.",ra_dow_Fr:"Fr",ra_dow_Mo:"Mo",ra_dow_Sa:"Sa",ra_dow_Su:"So",ra_dow_Th:"Do",ra_dow_Tu:"Di",ra_dow_We:"Mi",ra_expertMode:"Expertenmodus",ra_fileType_all:"Alle Dateien",ra_fileType_audio:"Audio",ra_fileType_code:"Code/JSON",ra_fileType_images:"Bilder",ra_fileType_txt:"Text",ra_fileType_video:"Video","ra_fileType_video,":"Video",ra_filter_customs:"Einstellungen",ra_filter_customs_without:"ohne",ra_filter_func:"Funktion",ra_filter_id:"ID",ra_filter_name:"Name",ra_filter_role:"Rolle",ra_filter_room:"Raum",ra_filter_type:"Typ","ra_import data from %s file":"Daten aus %s-Datei importieren",ra_invalidConfig:"Ung\xFCltige Einstellungen",ra_lastChange:"Letzte \xC4nderung",ra_locally:"\xF6rtlich",ra_month_Apr:"Apr",ra_month_Aug:"Aug",ra_month_Dec:"Dez",ra_month_Feb:"Feb",ra_month_Jan:"Jan",ra_month_Jul:"Jul",ra_month_Jun:"Jun",ra_month_Mai:"Mai",ra_month_Mar:"M\xE4r",ra_month_Nov:"Nov",ra_month_Oct:"Okt",ra_month_Sep:"Sep",ra_months_Apr:"Apr",ra_months_Aug:"Aug",ra_months_Dec:"Dez",ra_months_Feb:"Feb",ra_months_Jan:"Jan",ra_months_Jul:"Jul",ra_months_Jun:"Jun",ra_months_Mai:"Mai",ra_months_Mar:"M\xE4r",ra_months_Nov:"Nov",ra_months_Oct:"Okt",ra_months_Sep:"Sep",ra_none:"kein",ra_object_changed_by:"Objekt ge\xE4ndert von",ra_object_changed_by_user:"Objekt zuletzt ge\xE4ndert um",ra_otherConfig:"Einstellungen von anderen Adaptern %s",ra_qualityCode:"Qualit\xE4tscode",ra_repeat:"wiederholen",ra_select_folder_hint:'Um einen Ordner auszuw\xE4hlen, halten Sie einfach die Taste "Shift" gedr\xFCckt, indem Sie auf den Ordner klicken.',ra_state_changed_by:"Zustand ge\xE4ndert durch",ra_state_changed_from:"Objekt ge\xE4ndert von",ra_timestamp:"Zeitstempel",ra_tooltip_ack:"Best\xE4tigt",ra_tooltip_comment:"Kommentar",ra_tooltip_copyState:"Statuswert kopieren",ra_tooltip_customConfig:"Benutzerdefinierte Einstellungen",ra_tooltip_deleteObject:"Objekt l\xF6schen",ra_tooltip_editObject:"Objekt bearbeiten",ra_tooltip_editState:"Statuswert bearbeiten",ra_tooltip_from:"Von",ra_tooltip_lc:"Zuletzt ge\xE4ndert",ra_tooltip_quality:"Qualit\xE4t",ra_tooltip_ts:"Zeitstempel",ra_tooltip_user:"Benutzer",ra_tooltip_value:"Wert","ra_use seconds":"Sekunden benutzen",ra_val:"Wert","ra_via internet":"\xFCbers Internet",ra_warning_every_minute:"Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Minute ausgef\xFChrt!",ra_warning_every_second:"Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Sekunde ausgef\xFChrt!",sc_cron:"CRON",sc_date:"Datum",sc_dates:"Tage",sc_dow:"Tag",sc_dows:"Wochentage",sc_every:"Jeden",sc_everyN_dates:"alle N Tage",sc_everyN_dow:"jeden x-ten Tag der Woche",sc_everyN_dows:"alle N Wochentage",sc_everyN_hours:"alle N Stunden",sc_everyN_minutes:"alle N Minuten",sc_everyN_months:"alle N Monate",sc_everyN_seconds:"alle N Sekunden",sc_every_dates:"jeden Tag",sc_every_dow:"jeden Tag der Woche",sc_every_dows:"jeden Tag der Woche",sc_every_hours:"jede Stunde",sc_every_minutes:"jede Minute",sc_every_months:"jeden Monat",sc_every_seconds:"jede Sekunde",sc_from:"Von",sc_hours:"Stunden",sc_interval:"Intervall",sc_intervalBetween:"Intervall zwischen",sc_invalid_cron:"Ung\xFCltiger CRON",sc_minutes:"Minuten",sc_months:"Monate",sc_once:"Einmal",sc_period:"Zeitraum",sc_seconds:"Sekunden",sc_simple:"Einfach",sc_specific:"Bestimmte Zeit",sc_specific_dates:"bestimmte Tage",sc_specific_dow:"bestimmte(r) Tag(e) der Woche",sc_specific_dows:"bestimmten Wochentag",sc_specific_hours:"bestimmte Stunden",sc_specific_minutes:"bestimmte Minuten",sc_specific_months:"bestimmte Monate",sc_specific_seconds:"bestimmte Sekunden",sc_time:"Zeit",sc_to:"Bis",sc_wizard:"Wizard",sch_all:"alle",sch_astroDay:"Astronomischer Tag",sch_astroNight:"Astronomische Nacht",sch_astro_dawn:"Morgend\xE4mmerung",sch_astro_dusk:"Abendd\xE4mmerung",sch_astro_goldenHour:"Goldene Stunde",sch_astro_goldenHourEnd:"Goldene Stundenende",sch_astro_nadir:"Nadir",sch_astro_nauticalDawn:"Nautische Morgend\xE4mmerung",sch_astro_nauticalDusk:"Nautische Abendd\xE4mmerung",sch_astro_night:"Nacht",sch_astro_nightEnd:"Nachtende",sch_astro_solarNoon:"Sonnenmittag",sch_astro_sunrise:"Sonnenaufgang",sch_astro_sunriseEnd:"Sonnenaufgangende",sch_astro_sunset:"Sonnenuntergang",sch_astro_sunsetStart:"Sonnenuntergangstart",sch_at:"am",sch_desc_atTime:"um %s",sch_desc_everyDay:"jeden Tag",sch_desc_everyHour:"jede Stunde",sch_desc_everyMinute:"jede Minute",sch_desc_everyMonth:"jeden Monat",sch_desc_everyNDay:"jeden %s Tag",sch_desc_everyNHours:"alle %s Stunden",sch_desc_everyNMinutes:"alle %s Minuten",sch_desc_everyNMonths:"alle %s Monate",sch_desc_everyNWeeks:"alle %s Wochen",sch_desc_everyNYears:"alle %s Jahre",sch_desc_everyWeek:"jede Woche",sch_desc_everyYear:"jedes Jahr",sch_desc_intervalFromTo:"von %s bis %s",sch_desc_never:"noch nie",sch_desc_onDate:"am %s von %s",sch_desc_onDates:"am %s und %s von",sch_desc_onEveryDate:"an jedem Datum von",sch_desc_onMonth:"%s",sch_desc_onMonths:"%s und %s",sch_desc_onWeekday:"auf %s",sch_desc_onWeekdays:"auf %s und %s",sch_desc_onWeekends:"an Wochenenden",sch_desc_onWorkdays:"an Werktagen",sch_desc_onceInPast:"wird nicht mehr ausgef\xFChrt, weil der Start in der Vergangenheit ist",sch_desc_once_on:"auf %s",sch_desc_validFrom:"von %s",sch_desc_validFromTo:"Ausf\xFChren von bis",sch_desc_validTo:"bis %s",sch_every:"jeden",sch_exactTime:"Bestimmte Zeit",sch_from:"von",sch_fromTo:"Von bis",sch_intervalTime:"Zeitintervall",sch_invert:"umkehren",sch_no_one:"keiner",sch_on:"am",sch_period:"Zeitraum",sch_periodDaily:"T\xE4glich",sch_periodDates:"Daten",sch_periodDay:"Tag",sch_periodEvery:"Jeden",sch_periodEveryDay:"Jeden Tag",sch_periodEveryMonth:"Jeden Monat",sch_periodEveryWeek:"Jede Woche",sch_periodEveryYear:"Jedes Jahr",sch_periodHours:"Stunden",sch_periodMinutes:"Minuten",sch_periodMonth:"Monat",sch_periodMonthly:"Monatlich",sch_periodOnce:"Einmal",sch_periodSpecificMonths:"Bestimmte Monate",sch_periodWeek:"Woche",sch_periodWeekdays:"Wochentage",sch_periodWeekend:"Wochenende",sch_periodWeekly:"W\xF6chentlich",sch_periodWorkdays:"Arbeitstage",sch_periodYear:"Jahr",sch_periodYearly:"J\xE4hrlich",sch_specificTime:"Bestimmte Zeit",sch_time:"Zeit",sch_to:"zu",sch_valid:"G\xFCltigkeit",sch_validFrom:"von",sch_validTo:"bis",sch_wholeDay:"Ganzer Tag",sch_yearEveryMonth:"jeden Monat"};var VG={"ra_%s links from aliases":"%s \u0441\u0441\u044B\u043B\u043E\u043A \u0438\u0437 \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0438\u043C\u043E\u0432","ra_%s object(s) processed":"\u041E\u0431\u044A\u0435\u043A\u0442\u043E\u0432 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u0430\u043D\u043E: %s","ra_%s was imported":"%s \u0431\u044B\u043B \u0438\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D","ra_Accept license":"\u041F\u0440\u0438\u043D\u044F\u0442\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E","ra_Add new child object to selected parent":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u0434\u043E\u0447\u0435\u0440\u043D\u0438\u0439 \u043E\u0431\u044A\u0435\u043A\u0442 \u043A \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u043C\u0443 \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u043C\u0443 \u043E\u0431\u044A\u0435\u043A\u0442\u0443","ra_Add objects tree from JSON file":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0434\u0435\u0440\u0435\u0432\u043E \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432 \u0438\u0437 \u0444\u0430\u0439\u043B\u0430 JSON","ra_Add row":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0440\u044F\u0434","ra_Advanced options":"\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438","ra_All items are filtered out":"\u0412\u0441\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043E\u0442\u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u043D\u044B","ra_All objects":"\u0412\u0441\u0435 \u043E\u0431\u044A\u0435\u043A\u0442\u044B",ra_Append:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C","ra_Append %s entries or replace existing?":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0437\u0430\u043F\u0438\u0441\u0438 %s \u0438\u043B\u0438 \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0435?","ra_Append or replace?":"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0438\u043B\u0438 \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C?","ra_Are you sure?":"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B?","ra_Auto (no custom columns)":"\u0410\u0432\u0442\u043E (\u0431\u0435\u0437 \u043D\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043C\u044B\u0445 \u0441\u0442\u043E\u043B\u0431\u0446\u043E\u0432)","ra_Back to %s":"\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043A %s","ra_Background image":"\u0424\u043E\u043D\u043E\u0432\u0430\u044F \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430",ra_Cancel:"\u041E\u0442\u043C\u0435\u043D\u0430","ra_Cannot add items with set filter":"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0441 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044B\u043C \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u043C","ra_Cannot decode license":"\u041D\u0435 \u043C\u043E\u0433\u0443 \u0434\u0435\u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u043C\u0435\u0441\u0442\u043E\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435: \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043F\u0443\u0441\u0442\u044B, \u0430 \u043E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u0438\u0435 GPS \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u043E \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435.",'ra_Cannot find "%s"':'\u041D\u0435 \u043C\u043E\u0433\u0443 \u043D\u0430\u0439\u0442\u0438 "%s"','ra_Cannot read "%s"':'\u041D\u0435 \u043C\u043E\u0433\u0443 \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C "%s"',"ra_Cannot read licenses: %s":"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438: %s","ra_Cannot retrieve options, as instance is offline":"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B, \u0442\u0430\u043A \u043A\u0430\u043A \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0441\u044F \u0432 \u0430\u0432\u0442\u043E\u043D\u043E\u043C\u043D\u043E\u043C \u0440\u0435\u0436\u0438\u043C\u0435.","ra_Cannot update attribute, because not found in the object":"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0430\u0442\u0440\u0438\u0431\u0443\u0442, \u043F\u043E\u0442\u043E\u043C\u0443 \u0447\u0442\u043E \u043E\u043D \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u0432 \u043E\u0431\u044A\u0435\u043A\u0442\u0435","ra_Cannot upload":"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C",ra_Categories:"\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438","ra_Chained certificate":"Chained \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442","ra_Change color theme":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0446\u0432\u0435\u0442\u043E\u0432\u0443\u044E \u0442\u0435\u043C\u0443","ra_Changed from":"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u043E","ra_Channel \u2192 State":"\u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435","ra_Check license":"\u041F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E",ra_Checked:"\u041F\u0440\u043E\u0432\u0435\u0440\u0435\u043D\u043E",ra_Clear:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","ra_Clear filter":"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440","ra_Clear icon":"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u043E\u043A","ra_Clone current row":"\u041A\u043B\u043E\u043D\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443",ra_Close:"\u0417\u0430\u043A\u0440\u044B\u0442\u044C","ra_Collapse all nodes":"\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435 \u0443\u0437\u043B\u044B","ra_Collapse one step node":"\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u043E\u0434\u0438\u043D \u0443\u0440\u043E\u0432\u0435\u043D\u044C",ra_Commercial:"\u041A\u043E\u043C\u043C\u0435\u0440\u0447\u0435\u0441\u043A\u0430\u044F",ra_Configure:"\u041D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C","ra_Configure visible columns":"\u041D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0432\u0438\u0434\u0438\u043C\u044B\u0435 \u0441\u0442\u043E\u043B\u0431\u0446\u044B","ra_Confirm deletion of %s":"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435 %s",ra_Connected:"\u0421\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E",ra_Copied:"\u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u043E","ra_Copied %s":'\u0421\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u043E "%s"',"ra_Copy content":"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435",ra_Create:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C","ra_Create alias":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0438\u043C","ra_Create folder":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0443","ra_Create new folder in %s":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u0443\u044E \u043F\u0430\u043F\u043A\u0443 \u0432 %s",ra_Crop:"\u041E\u0431\u0440\u0435\u0437\u0430\u0442\u044C","ra_Define CRON...":"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u0435 CRON...","ra_Define functions":"\u0417\u0430\u0434\u0430\u0442\u044C \u0444\u0443\u043D\u043A\u0446\u0438\u0438","ra_Define rooms":"\u0417\u0430\u0434\u0430\u0442\u044C \u043A\u043E\u043C\u043D\u0430\u0442\u044B","ra_Define schedule":"\u0417\u0430\u0434\u0430\u0442\u044C \u0440\u0430\u0441\u043F\u0438\u0441\u0430\u043D\u0438\u0435","ra_Define schedule...":"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u0440\u0430\u0441\u043F\u0438\u0441\u0430\u043D\u0438\u0435 ...",ra_Del:"Delete",ra_Delete:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","ra_Delete (no confirm for 5 mins)":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C (\u0431\u0435\u0437 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0432 \u0442\u0435\u0447\u0435\u043D\u0438\u0435 5 \u043C\u0438\u043D\u0443\u0442)","ra_Delete current row":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443","ra_Deselect all":"\u0423\u0431\u0440\u0430\u0442\u044C \u0432\u044B\u0431\u043E\u0440 \u0432\u0435\u0437\u0434\u0435","ra_Device \u2192 Channel \u2192 State":"\u0423\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",ra_Discard:"\u041E\u0442\u043A\u0430\u0437\u0430\u0442\u044C\u0441\u044F",ra_Disconnected:"\u041E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u043E","ra_Do not export values of states":"\u041D\u0435 \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0439","ra_Do not use let's encrypt":"\u041D\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C Let\u2019s Encrypt","ra_Double click to reset table layout":"\u0414\u0432\u0430\u0436\u0434\u044B \u0449\u0435\u043B\u043A\u043D\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0441\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043C\u0430\u043A\u0435\u0442 \u0442\u0430\u0431\u043B\u0438\u0446\u044B","ra_Drag 'n' drop some files here, or click to select files":"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0441\u044E\u0434\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0444\u0430\u0439\u043B\u043E\u0432 \u0438\u043B\u0438 \u0449\u0435\u043B\u043A\u043D\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B","ra_Drop file here":"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0444\u0430\u0439\u043B \u0441\u044E\u0434\u0430","ra_Drop the files here...":"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0444\u0430\u0439\u043B \u0441\u044E\u0434\u0430 ...","ra_Duplicate name":"\u041F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0435\u0435\u0441\u044F \u0438\u043C\u044F","ra_Edit ACL":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C ACL-\u0441\u043F\u0438\u0441\u043E\u043A","ra_Edit alias":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0438\u043C","ra_Edit custom config":"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043C\u0443\u044E \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E","ra_Edit function":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0444\u0443\u043D\u043A\u0446\u0438\u044E","ra_Edit object field":"\u041F\u043E\u043B\u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u043E\u0431\u044A\u0435\u043A\u0442\u0430","ra_Edit role":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0440\u043E\u043B\u044C","ra_Edit room":"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043A\u043E\u043C\u043D\u0430\u0442\u0443","ra_Edit value":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435",ra_Error:"\u041E\u0448\u0438\u0431\u043A\u0430","ra_Expand all nodes":"\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435 \u0443\u0437\u043B\u044B","ra_Expand one step node":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043E\u0434\u0438\u043D \u0443\u0440\u043E\u0432\u0435\u043D\u044C","ra_Export data to %s file":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0434\u0430\u043D\u043D\u044B\u0445 \u0432 \u0444\u0430\u0439\u043B %s","ra_Failed to open JSON File":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0444\u0430\u0439\u043B JSON","ra_Fallback custom certificates":"\u0420\u0435\u0437\u0435\u0440\u0432\u043D\u044B\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u044B","ra_File is too big. Max %sk allowed. Try use SVG.":"\u0424\u0430\u0439\u043B \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0439. \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u043E \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E %sk. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C SVG.",ra_Filter:"\u0424\u0438\u043B\u044C\u0442\u0440","ra_Filter files":"\u0424\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B","ra_Folder name":"\u0418\u043C\u044F \u043F\u0430\u043F\u043A\u0438","ra_Folder \u2192 Channel \u2192 State":"\u041F\u0430\u043F\u043A\u0430 \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435","ra_Folder \u2192 Device \u2192 Channel \u2192 State":"\u041F\u0430\u043F\u043A\u0430 \u2192 \u0423\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435","ra_Folder \u2192 State":"\u041F\u0430\u043F\u043A\u0430 \u2192 \u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435","ra_Folders always first":"\u041F\u0430\u043F\u043A\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u043D\u0430 \u043F\u0435\u0440\u0432\u043E\u043C \u043C\u0435\u0441\u0442\u0435",ra_Friday:"\u041F\u044F\u0442\u043D\u0438\u0446\u0430","ra_Good luck":"\u0423\u0434\u0430\u0447\u0438","ra_Hide empty folders":"\u0421\u043A\u0440\u044B\u0442\u044C \u043F\u0443\u0441\u0442\u044B\u0435 \u043F\u0430\u043F\u043A\u0438","ra_If no file will be created in the folder, it will disappear after the browser closed":"\u0415\u0441\u043B\u0438 \u0432 \u043F\u0430\u043F\u043A\u0435 \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u043E\u0437\u0434\u0430\u043D \u0444\u0430\u0439\u043B, \u043E\u043D \u0438\u0441\u0447\u0435\u0437\u043D\u0435\u0442 \u043F\u043E\u0441\u043B\u0435 \u0437\u0430\u043A\u0440\u044B\u0442\u0438\u044F \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430.","ra_Import data from %s file":"\u0418\u043C\u043F\u043E\u0440\u0442 \u0434\u0430\u043D\u043D\u044B\u0445 \u0438\u0437 \u0444\u0430\u0439\u043B\u0430 %s","ra_Import from %s":"\u0418\u043C\u043F\u043E\u0440\u0442 \u0438\u0437 %s","ra_Instance %s is alive":"\u042D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 %s \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442","ra_Instance %s is not alive":"\u042D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 %s \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442","ra_Instance is not alive":"\u042D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u043D\u0435 \u0436\u0438\u0432\u043E\u0439","ra_Invalid CRON":"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 CRON","ra_Invalid JSON":"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 JSON","ra_Invalid answer from server":"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043E\u0442\u0432\u0435\u0442 \u043E\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430","ra_Invalid parent folder!":"\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u0430\u044F \u043F\u0430\u043F\u043A\u0430!","ra_Invalid structure":"\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0430","ra_JSON editor":"\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 JSON","ra_Last change":"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435",ra_Latitude:"\u0428\u0438\u0440\u043E\u0442\u0430","ra_License %s":"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F %s","ra_License agreement":"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u043E\u043D\u043D\u043E\u0435 \u0441\u043E\u0433\u043B\u0430\u0448\u0435\u043D\u0438\u0435","ra_License does not exist":"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442","ra_License expired on %s":"\u0421\u0440\u043E\u043A \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438 \u0438\u0441\u0442\u0435\u043A %s",'ra_License for other product "%s"':'\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043D\u0430 \u0434\u0440\u0443\u0433\u043E\u0439 \u043F\u0440\u043E\u0434\u0443\u043A\u0442 "%s"',"ra_License is for version %s, but required version is %s.":"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043F\u0440\u0435\u0434\u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0430 \u0434\u043B\u044F \u0432\u0435\u0440\u0441\u0438\u0438 %s, \u043D\u043E \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u0430 \u0432\u0435\u0440\u0441\u0438\u044F %s.","ra_License must be converted":"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u0434\u043E\u043B\u0436\u043D\u0430 \u0431\u044B\u0442\u044C \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0430 \u0432 \u0431\u043E\u043B\u0435\u0435 \u043D\u043E\u0432\u0443\u044E \u0432\u0435\u0440\u0441\u0438\u044E. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u044D\u0442\u043E \u0432 \u0441\u0432\u043E\u0435\u043C \u043F\u0440\u043E\u0444\u0438\u043B\u0435 \u043D\u0430 iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u0432 \u0434\u0438\u0441\u043F\u0435\u0442\u0447\u0435\u0440\u0435 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0439. \u0412\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438 \u043E\u0442 iobroker.net?","ra_Listen on all IPs":"\u0421\u043B\u0443\u0448\u0430\u0442\u044C \u043D\u0430 \u0432\u0441\u0435\u0445 IP","ra_Load configuration from file":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E \u0438\u0437 \u0444\u0430\u0439\u043B\u0430",ra_Longitude:"\u0414\u043E\u043B\u0433\u043E\u0442\u0430",'ra_May not trigger "updateLicenses"':"\u041D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u043F\u0443\u0441\u043A\u0430\u0442\u044C \xABupdateLicenses\xBB",ra_Message:"\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",ra_Monday:"\u041F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A","ra_Move down":"\u0412\u043D\u0438\u0437","ra_Move up":"\u0412\u0432\u0435\u0440\u0445",ra_Name:"\u0418\u043C\u044F","ra_No data found in file":"\u0414\u0430\u043D\u043D\u044B\u0435 \u0432 \u0444\u0430\u0439\u043B\u0435 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B","ra_No one license found in license manager":"\u0412 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u0435 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0439 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u043D\u0438 \u043E\u0434\u043D\u0430 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044F","ra_No response from the backend":"\u041D\u0435\u0442 \u043E\u0442\u0432\u0435\u0442\u0430 \u043E\u0442 \u0431\u044D\u043A\u044D\u043D\u0434\u0430",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"\u041D\u0435-\u044D\u043A\u0441\u043F\u0435\u0440\u0442\u044B \u043C\u043E\u0433\u0443\u0442 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0435 \u043E\u0431\u044A\u0435\u043A\u0442\u044B \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \xAB0_userdata.0\xBB \u0438\u043B\u0438 \xABalias.0\xBB.","ra_Not a number":"\u041D\u0435 \u0447\u0438\u0441\u043B\u043E",ra_Objects:"\u041E\u0431\u044A\u0435\u043A\u0442\u044B",ra_Ok:"Ok","ra_On weekdays":"\u041D\u0430 \u0432\u044B\u0445\u043E\u0434\u043D\u044B\u0445","ra_Only following structures of objects are available:":"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B \u0442\u043E\u043B\u044C\u043A\u043E \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u044B \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432:","ra_Only selected":"\u0422\u043E\u043B\u044C\u043A\u043E \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435","ra_Owner group":"\u0413\u0440\u0443\u043F\u043F\u0430 \u0432\u043B\u0430\u0434\u0435\u043B\u044C\u0446\u0435\u0432","ra_Owner user":"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C-\u0432\u043B\u0430\u0434\u0435\u043B\u0435\u0446","ra_Passwords are not equal!":"\u041F\u0430\u0440\u043E\u043B\u0438 \u043D\u0435 \u0440\u0430\u0432\u043D\u044B!","ra_Place your files here or click here to open the browse dialog":"\u041F\u043E\u043C\u0435\u0441\u0442\u0438\u0442\u0435 \u0441\u0432\u043E\u0438 \u0444\u0430\u0439\u043B\u044B \u0441\u044E\u0434\u0430 \u0438\u043B\u0438 \u0449\u0435\u043B\u043A\u043D\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044C, \u0447\u0442\u043E\u0431\u044B \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0434\u0438\u0430\u043B\u043E\u0433\u043E\u0432\u043E\u0435 \u043E\u043A\u043D\u043E \u0432\u044B\u0431\u043E\u0440\u0430","ra_Please confirm":"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435","ra_Please create license":"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0441\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E","ra_Please enter the license":"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E","ra_Please select file...":"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043B...","ra_Please select object ID...":"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u043E\u0431\u044A\u0435\u043A\u0442\u0430 ...","ra_Port could be used by %s":"\u041F\u043E\u0440\u0442 \u043C\u043E\u0436\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F %s","ra_Port is already used by %s":"\u041F\u043E\u0440\u0442 \u0443\u0436\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F %s","ra_Private certificate":"\u0427\u0430\u0441\u0442\u043D\u044B\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442",ra_Product:"\u041F\u0440\u043E\u0434\u0443\u043A\u0442","ra_Public certificate":"\u041F\u0443\u0431\u043B\u0438\u0447\u043D\u044B\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442","ra_Quality code":"\u0412\u0430\u043B\u0438\u0434\u043D\u043E\u0441\u0442\u044C","ra_Refresh tree":"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0434\u0435\u0440\u0435\u0432\u043E","ra_Reload files":"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C",ra_Repeat:"\u041F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435",ra_Replace:"\u0417\u0430\u043C\u0435\u043D\u044F\u0442\u044C","ra_Request timed out":"\u0418\u0441\u0442\u0435\u043A\u043B\u043E \u0432\u0440\u0435\u043C\u044F \u0437\u0430\u043F\u0440\u043E\u0441\u0430","ra_Restrict to folder":"\u041E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0442\u044C \u043F\u0430\u043F\u043A\u043E\u0439",ra_Root:"\u041D\u0430\u0447\u0430\u043B\u043E",ra_Saturday:"\u0421\u0443\u0431\u0431\u043E\u0442\u0430",ra_Save:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C","ra_Save and close":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0438 \u0437\u0430\u043A\u0440\u044B\u0442\u044C","ra_Save configuration to file":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E \u0432 \u0444\u0430\u0439\u043B","ra_Save objects tree as JSON file":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0434\u0435\u0440\u0435\u0432\u043E \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432 \u043A\u0430\u043A \u0444\u0430\u0439\u043B JSON","ra_Select all":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435","ra_Select color":"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0446\u0432\u0435\u0442","ra_Select predefined icon":"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u0440\u0435\u0434\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0439 \u0437\u043D\u0430\u0447\u043E\u043A","ra_Select type of export":"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0438\u043F \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0430",ra_Selected:"\u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0439","ra_Selected %s object(s)":"\u041E\u0431\u044A\u0435\u043A\u0442\u043E\u0432: %s","ra_Serial number (UUID)":"\u0421\u0435\u0440\u0438\u0439\u043D\u044B\u0439 \u043D\u043E\u043C\u0435\u0440 (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"\u0421\u0435\u0440\u0438\u0439\u043D\u044B\u0439 \u043D\u043E\u043C\u0435\u0440 (UUID) \xAB%s\xBB \u0432 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438 \u043F\u0440\u0435\u0434\u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D \u0434\u043B\u044F \u0434\u0440\u0443\u0433\u043E\u0433\u043E \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430.","ra_Show all folders":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0441\u0435 \u043F\u0430\u043F\u043A\u0438","ra_Show lines between rows":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043B\u0438\u043D\u0438\u0438 \u043C\u0435\u0436\u0434\u0443 \u0441\u0442\u0440\u043E\u043A\u0430\u043C\u0438","ra_Show/Hide object descriptions":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C/\u0441\u043A\u0440\u044B\u0442\u044C \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u044F \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432","ra_Show/hide filter input":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C/\u0441\u043A\u0440\u044B\u0442\u044C \u0432\u0432\u043E\u0434 \u0444\u0438\u043B\u044C\u0442\u0440\u0430","ra_Some data are not stored. Discard?":"\u041D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 \u043D\u0435 \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0441\u044C. \u041E\u0442\u043A\u0430\u0437\u0430\u0442\u044C\u0441\u044F?",ra_States:"\u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F","ra_Suitable license not found in license manager":"\u041F\u043E\u0434\u0445\u043E\u0434\u044F\u0449\u0430\u044F \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u0432 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u0435 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0439",ra_Sunday:"\u0412\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435","ra_Suppress question for next %s minutes":"\u0421\u043A\u0440\u044B\u0442\u044C \u0432\u043E\u043F\u0440\u043E\u0441 \u043D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 %s \u043C\u0438\u043D\u0443\u0442(\u044B)","ra_System language":"\u042F\u0437\u044B\u043A \u0441\u0438\u0441\u0442\u0435\u043C\u044B","ra_Take browser position":"\u0412\u0437\u044F\u0442\u044C \u043F\u043E\u0437\u0438\u0446\u0438\u044E \u0438\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430","ra_Take position from system settings":"\u0417\u0430\u043D\u044F\u0442\u044C \u043F\u043E\u0437\u0438\u0446\u0438\u044E \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u044B\u0445 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"\u042D\u043A\u0441\u043F\u0435\u0440\u0442\u044B \u043C\u043E\u0433\u0443\u0442 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442\u044B \u0432\u0435\u0437\u0434\u0435, \u043A\u0440\u043E\u043C\u0435 \u0432\u0442\u043E\u0440\u043E\u0433\u043E \u0443\u0440\u043E\u0432\u043D\u044F (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \xABvis.0\xBB \u0438\u043B\u0438 \xABjavascript.0\xBB).","ra_The page you are looking for was not found":"\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430, \u043A\u043E\u0442\u043E\u0440\u0443\u044E \u0432\u044B \u0438\u0449\u0435\u0442\u0435, \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430","ra_The schedule will be executed every minute. Are you sure?":"\u0420\u0430\u0441\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0442\u044C\u0441\u044F \u043A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443. \u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B?","ra_The schedule will be executed every second. Are you sure?":"\u0420\u0430\u0441\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0442\u044C\u0441\u044F \u043A\u0430\u0436\u0434\u0443\u044E \u0441\u0435\u043A\u0443\u043D\u0434\u0443. \u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B?",ra_Thursday:"\u0427\u0435\u0442\u0432\u0435\u0440\u0433",ra_Timestamp:"\u0412\u0440\u0435\u043C\u0435\u043D\u0438","ra_Toggle expert mode":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u044D\u043A\u0441\u043F\u0435\u0440\u0442\u043D\u044B\u0439 \u0440\u0435\u0436\u0438\u043C","ra_Toggle the states view":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0440\u0435\u0436\u0438\u043C \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0439","ra_Toggle view mode":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0440\u0435\u0436\u0438\u043C \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430","ra_Too big":"\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435","ra_Too small":"\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435","ra_Transparent dialog":"\u041F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u0439 \u0434\u0438\u0430\u043B\u043E\u0433",ra_Tuesday:"\u0412\u0442\u043E\u0440\u043D\u0438\u043A","ra_Unknown error":"\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430","ra_Unknown error!":"\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430!",ra_Update:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C","ra_Upload file":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0444\u0430\u0439\u043B","ra_Use all available let's encrypt certificates":"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u044B Let\u2019s encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0430\u0434\u0430\u043F\u0442\u0435\u0440 iobroker.acme \u0434\u043B\u044F \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0432 letsencrypt","ra_Use system settings for position":"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0434\u043B\u044F \u043F\u043E\u0437\u0438\u0446\u0438\u0438","ra_Used system settings":"\u0421\u0438\u0441\u0442\u0435\u043C\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438","ra_User files":"\u0424\u0430\u0439\u043B\u044B \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F",ra_ValidTill:"\u0413\u043E\u0434\u0435\u043D \u0434\u043E",ra_Value:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435",ra_Version:"\u0412\u0435\u0440\u0441\u0438\u044F","ra_View file":"\u041F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u0444\u0430\u0439\u043B","ra_View: %s":"\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440: %s",ra_Wednesday:"\u0421\u0440\u0435\u0434\u0430",ra_Width:"\u0428\u0438\u0440\u0438\u043D\u0430",ra_Yes:"\u0414\u0430","ra_You can export all objects or just the selected branch.":"\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u043E\u0431\u044A\u0435\u043A\u0442\u044B \u0438\u043B\u0438 \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u0443\u044E \u0432\u0435\u0442\u0432\u044C.","ra_You can filter entries by entering here some text":"\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043E\u0442\u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u043F\u0438\u0441\u0438, \u0432\u0432\u0435\u0434\u044F \u0437\u0434\u0435\u0441\u044C \u0442\u0435\u043A\u0441\u0442",ra___different__:"\u0440\u0430\u0437\u043D\u043E\u0435",ra_aclEveryone_read_object:"\u041A\u0430\u0436\u0434\u044B\u0439 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442",ra_aclEveryone_read_state:"\u041A\u0430\u0436\u0434\u044B\u0439 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",ra_aclEveryone_write_object:"\u041A\u0430\u0436\u0434\u044B\u0439 \u043C\u043E\u0436\u0435\u0442 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442",ra_aclEveryone_write_state:"\u041A\u0430\u0436\u0434\u044B\u0439 \u043C\u043E\u0436\u0435\u0442 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",ra_aclGroup_read_object:"\u0413\u0440\u0443\u043F\u043F\u0430 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442",ra_aclGroup_read_state:"\u0413\u0440\u0443\u043F\u043F\u0430 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",ra_aclGroup_write_object:"\u0413\u0440\u0443\u043F\u043F\u0430 \u043C\u043E\u0436\u0435\u0442 \u043F\u0438\u0441\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442",ra_aclGroup_write_state:"\u0413\u0440\u0443\u043F\u043F\u0430 \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",ra_aclOwner_read_object:"\u0412\u043B\u0430\u0434\u0435\u043B\u0435\u0446 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442",ra_aclOwner_read_state:"\u0412\u043B\u0430\u0434\u0435\u043B\u0435\u0446 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",ra_aclOwner_write_object:"\u0412\u043B\u0430\u0434\u0435\u043B\u0435\u0446 \u043C\u043E\u0436\u0435\u0442 \u043F\u0438\u0441\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442",ra_aclOwner_write_state:"\u0412\u043B\u0430\u0434\u0435\u043B\u0435\u0446 \u043C\u043E\u0436\u0435\u0442 \u043F\u0438\u0441\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",ra_buttons:"\u041A\u043D\u043E\u043F\u043A\u0438",ra_changedFrom:"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u043E \u0441",ra_close:"\u0417\u0430\u043A\u0440\u044B\u0442\u044C",ra_create_boolean_state:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043B\u043E\u0433\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",ra_create_channel:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043A\u0430\u043D\u0430\u043B",ra_create_device:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E",ra_create_number_state:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u043D\u043E\u043C\u0435\u0440\u0430",ra_create_state:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",ra_create_string_state:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u0441\u0442\u0440\u043E\u043A\u0438",ra_daysShortText:"\u0434.",ra_dow_Fr:"\u041F\u0442",ra_dow_Mo:"\u041F\u043D",ra_dow_Sa:"\u0421\u0431",ra_dow_Su:"\u0412\u0441",ra_dow_Th:"\u0427\u0442",ra_dow_Tu:"\u0412\u0442",ra_dow_We:"\u0421\u0440",ra_expertMode:"\u042D\u043A\u0441\u043F\u0435\u0440\u0442\u043D\u044B\u0439 \u0440\u0435\u0436\u0438\u043C",ra_fileType_all:"\u0412\u0441\u0435 \u0444\u0430\u0439\u043B\u044B",ra_fileType_audio:"\u0410\u0443\u0434\u0438\u043E",ra_fileType_code:"\u041A\u043E\u0434/JSON",ra_fileType_images:"\u041A\u0430\u0440\u0442\u0438\u043D\u043A\u0438",ra_fileType_txt:"\u0422\u0435\u043A\u0441\u0442",ra_fileType_video:"\u0432\u0438\u0434\u0435\u043E","ra_fileType_video,":"\u0432\u0438\u0434\u0435\u043E",ra_filter_customs:"\u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",ra_filter_customs_without:"\u0431\u0435\u0437",ra_filter_func:"\u0444\u0443\u043D\u043A\u0446\u0438\u044F",ra_filter_id:"ID",ra_filter_name:"\u0418\u043C\u044F",ra_filter_role:"\u0440\u043E\u043B\u044C",ra_filter_room:"\u043A\u043E\u043C\u043D\u0430\u0442\u0430",ra_filter_type:"\u0422\u0438\u043F","ra_import data from %s file":"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435 \u0438\u0437 \u0444\u0430\u0439\u043B\u0430 %s",ra_invalidConfig:"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",ra_lastChange:"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435",ra_locally:"\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E",ra_month_Apr:"\u0410\u043F\u0440",ra_month_Aug:"\u0410\u0432\u0433",ra_month_Dec:"\u0414\u0435\u043A",ra_month_Feb:"\u0424\u0435\u0432",ra_month_Jan:"\u042F\u043D\u0432",ra_month_Jul:"\u0418\u044E\u043B",ra_month_Jun:"\u0418\u044E\u043D",ra_month_Mai:"\u041C\u0430\u0439",ra_month_Mar:"\u041C\u0440\u0442",ra_month_Nov:"\u041D\u043E\u044F",ra_month_Oct:"\u041E\u043A\u0442",ra_month_Sep:"\u0421\u0435\u043D",ra_months_Apr:"\u0410\u043F\u0440",ra_months_Aug:"\u0410\u0432\u0433",ra_months_Dec:"\u0414\u0435\u043A",ra_months_Feb:"\u0424\u0435\u0432",ra_months_Jan:"\u042F\u043D\u0432",ra_months_Jul:"\u0418\u044E\u043D\u044C",ra_months_Jun:"\u0418\u044E\u043B\u044C",ra_months_Mai:"\u041C\u0430\u0439",ra_months_Mar:"\u041C\u0430\u0440\u0442",ra_months_Nov:"\u041D\u043E\u044F",ra_months_Oct:"\u041E\u043A\u0442",ra_months_Sep:"\u0421\u0435\u043D",ra_none:"\u043D\u0438\u0447\u0435\u0433\u043E",ra_object_changed_by:"\u041E\u0431\u044A\u0435\u043A\u0442 \u0438\u0437\u043C\u0435\u043D\u0435\u043D",ra_object_changed_by_user:"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0440\u0430\u0437 \u043E\u0431\u044A\u0435\u043A\u0442 \u0438\u0437\u043C\u0435\u043D\u0435\u043D \u0432",ra_otherConfig:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0438\u0437 \u0434\u0440\u0443\u0433\u043E\u0433\u043E \u0430\u0434\u0430\u043F\u0442\u0435\u0440\u0430 %s",ra_qualityCode:"\u041A\u043E\u0434 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0430",ra_repeat:"\u043F\u043E\u0432\u0442\u043E\u0440",ra_select_folder_hint:"\u0427\u0442\u043E\u0431\u044B \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0443, \u043F\u0440\u043E\u0441\u0442\u043E \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0439\u0442\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0443 \xABShift\xBB, \u0449\u0435\u043B\u043A\u043D\u0443\u0432 \u043F\u0430\u043F\u043A\u0443.",ra_state_changed_by:"\u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u043E",ra_state_changed_from:"\u041E\u0431\u044A\u0435\u043A\u0442 \u0438\u0437\u043C\u0435\u043D\u0435\u043D \u0441",ra_timestamp:"\u041E\u0442\u043C\u0435\u0442\u043A\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",ra_tooltip_ack:"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u043E",ra_tooltip_comment:"\u041A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439",ra_tooltip_copyState:"\u0421\u043A\u043E\u043F\u0438\u0440\u0443\u0439\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F",ra_tooltip_customConfig:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",ra_tooltip_deleteObject:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442",ra_tooltip_editObject:"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442",ra_tooltip_editState:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F",ra_tooltip_from:"\u041E\u0442",ra_tooltip_lc:"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435",ra_tooltip_quality:"\u041A\u0430\u0447\u0435\u0441\u0442\u0432\u043E",ra_tooltip_ts:"\u041E\u0442\u043C\u0435\u0442\u043A\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",ra_tooltip_user:"\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C",ra_tooltip_value:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435","ra_use seconds":"\u0441\u0435\u043A\u0443\u043D\u0434\u044B",ra_val:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435","ra_via internet":"\u0447\u0435\u0440\u0435\u0437 \u0438\u043D\u0442\u0435\u0440\u043D\u0435\u0442",ra_warning_every_minute:"\u0412\u043D\u0438\u043C\u0430\u043D\u0438\u0435: \u0437\u0430\u0434\u0430\u043D\u0438\u0435 CRON \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043F\u0443\u0441\u043A\u0430\u0442\u044C\u0441\u044F \u043A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443 \u0432 \u0442\u0435\u0447\u0435\u043D\u0438\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u043E\u0433\u043E \u043F\u0435\u0440\u0438\u043E\u0434\u0430!",ra_warning_every_second:"\u0412\u043D\u0438\u043C\u0430\u043D\u0438\u0435: \u0437\u0430\u0434\u0430\u043D\u0438\u0435 CRON \u0431\u0443\u0434\u0435\u0442 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0442\u044C\u0441\u044F \u043A\u0430\u0436\u0434\u0443\u044E \u0441\u0435\u043A\u0443\u043D\u0434\u0443 \u0432 \u0442\u0435\u0447\u0435\u043D\u0438\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u043E\u0433\u043E \u043F\u0435\u0440\u0438\u043E\u0434\u0430!",sc_cron:"CRON",sc_date:"\u0414\u0430\u0442\u0430",sc_dates:"\u0414\u0430\u0442\u044B",sc_dow:"\u0414\u0435\u043D\u044C",sc_dows:"\u0414\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438",sc_every:"\u043A\u0430\u0436\u0434\u044B\u0439(\u0443\u044E/\u044B\u0435)",sc_everyN_dates:"\u043A\u0430\u0436\u0434\u044B\u0439 N \u0434\u0435\u043D\u044C",sc_everyN_dow:"\u043A\u0430\u0436\u0434\u044B\u0439 N-\u0439 \u0434\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438",sc_everyN_dows:"\u043A\u0430\u0436\u0434\u044B\u0439 N \u0434\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438",sc_everyN_hours:"\u043A\u0430\u0436\u0434\u044B\u0435 N \u0447\u0430\u0441\u043E\u0432",sc_everyN_minutes:"\u043A\u0430\u0436\u0434\u044B\u0435 N \u043C\u0438\u043D\u0443\u0442",sc_everyN_months:"\u043A\u0430\u0436\u0434\u044B\u0435 N \u043C\u0435\u0441\u044F\u0446\u0435\u0432",sc_everyN_seconds:"\u043A\u0430\u0436\u0434\u044B\u0435 N \u0441\u0435\u043A\u0443\u043D\u0434",sc_every_dates:"\u043A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C",sc_every_dow:"\u041A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438",sc_every_dows:"\u043A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438",sc_every_hours:"\u043A\u0430\u0436\u0434\u044B\u0439 \u0447\u0430\u0441",sc_every_minutes:"\u043A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443",sc_every_months:"\u043A\u0430\u0436\u0434\u044B\u0439 \u043C\u0435\u0441\u044F\u0446",sc_every_seconds:"\u043A\u0430\u0436\u0434\u0443\u044E \u0441\u0435\u043A\u0443\u043D\u0434\u0443",sc_from:"\u041E\u0442",sc_hours:"\u0447\u0430\u0441\u044B",sc_interval:"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B",sc_intervalBetween:"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u043C\u0435\u0436\u0434\u0443",sc_invalid_cron:"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 CRON",sc_minutes:"\u043C\u0438\u043D\u0443\u0442\u044B",sc_months:"\u041C\u0435\u0441\u044F\u0446\u044B",sc_once:"\u043E\u0434\u0438\u043D \u0440\u0430\u0437",sc_period:"\u041F\u0435\u0440\u0438\u043E\u0434",sc_seconds:"\u0441\u0435\u043A\u0443\u043D\u0434\u044B",sc_simple:"\u041F\u0440\u043E\u0441\u0442\u043E",sc_specific:"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F",sc_specific_dates:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u0434\u0430\u0442\u044B",sc_specific_dow:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0439 \u0434\u0435\u043D\u044C(\u0430) \u043D\u0435\u0434\u0435\u043B\u0438",sc_specific_dows:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0439 \u0434\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438",sc_specific_hours:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u0447\u0430\u0441\u044B",sc_specific_minutes:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u043C\u0438\u043D\u0443\u0442\u044B",sc_specific_months:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u043C\u0435\u0441\u044F\u0446\u044B",sc_specific_seconds:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u0441\u0435\u043A\u0443\u043D\u0434\u044B",sc_time:"\u0412\u0440\u0435\u043C\u044F",sc_to:"\u0414\u043E",sc_wizard:"\u0424\u043E\u0440\u043C\u0430",sch_all:"\u0432\u0441\u0435",sch_astroDay:"\u0434\u043D\u0451\u043C",sch_astroNight:"\u043D\u043E\u0447\u044C\u044E",sch_astro_dawn:"\u0420\u0430\u0441\u0441\u0432\u0435\u0442",sch_astro_dusk:"\u0421\u0443\u043C\u0435\u0440\u043A\u0438",sch_astro_goldenHour:"\u0417\u043E\u043B\u043E\u0442\u043E\u0439 \u0447\u0430\u0441",sch_astro_goldenHourEnd:"\u041A\u043E\u043D\u0435\u0446 \u0437\u043E\u043B\u043E\u0442\u043E\u0433\u043E \u0447\u0430\u0441\u0430",sch_astro_nadir:"\u041D\u0430\u0434\u0438\u0440",sch_astro_nauticalDawn:"\u041C\u043E\u0440\u0441\u043A\u043E\u0439 \u0440\u0430\u0441\u0441\u0432\u0435\u0442",sch_astro_nauticalDusk:"\u041C\u043E\u0440\u0441\u043A\u0438\u0435 \u0441\u0443\u043C\u0435\u0440\u043A\u0438",sch_astro_night:"\u041D\u043E\u0447\u044C",sch_astro_nightEnd:"\u041A\u043E\u043D\u0435\u0446 \u043D\u043E\u0447\u0438",sch_astro_solarNoon:"\u0421\u043E\u043B\u043D\u0435\u0447\u043D\u044B\u0439 \u043F\u043E\u043B\u0434\u0435\u043D\u044C",sch_astro_sunrise:"\u0412\u043E\u0441\u0445\u043E\u0434",sch_astro_sunriseEnd:"\u0412\u043E\u0441\u0445\u043E\u0434 \u0441\u043E\u043B\u043D\u0446\u0430",sch_astro_sunset:"\u0417\u0430\u0445\u043E\u0434 \u0441\u043E\u043B\u043D\u0446\u0430",sch_astro_sunsetStart:"\u041D\u0430\u0447\u0430\u043B\u043E \u0437\u0430\u043A\u0430\u0442\u0430",sch_at:"\u0434\u0430\u0442\u0430",sch_desc_atTime:"\u0432 %s",sch_desc_everyDay:"\u043A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C",sch_desc_everyHour:"\u043A\u0430\u0436\u0434\u044B\u0439 \u0447\u0430\u0441",sch_desc_everyMinute:"\u043A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443",sch_desc_everyMonth:"\u043A\u0430\u0436\u0434\u044B\u0439 \u043C\u0435\u0441\u044F\u0446",sch_desc_everyNDay:"\u043A\u0430\u0436\u0434\u044B\u0439 %s \u0434\u0435\u043D\u044C",sch_desc_everyNHours:"\u043A\u0430\u0436\u0434\u044B\u0439 %s \u0447\u0430\u0441\u043E\u0432",sch_desc_everyNMinutes:"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0438\u043D\u0443\u0442",sch_desc_everyNMonths:"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0435\u0441\u044F\u0446\u0435\u0432",sch_desc_everyNWeeks:"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043D\u0435\u0434\u0435\u043B\u044C",sch_desc_everyNYears:"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043B\u0435\u0442",sch_desc_everyWeek:"\u043A\u0430\u0436\u0434\u0443\u044E \u043D\u0435\u0434\u0435\u043B\u044E",sch_desc_everyYear:"\u043A\u0430\u0436\u0434\u044B\u0439 \u0433\u043E\u0434",sch_desc_intervalFromTo:"\u043E\u0442 %s \u0434\u043E %s",sch_desc_never:"\u043D\u0438\u043A\u043E\u0433\u0434\u0430",sch_desc_onDate:"%s %s",sch_desc_onDates:"%s \u0438 %s",sch_desc_onEveryDate:"\u0432 \u043A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C",sch_desc_onMonth:"%s",sch_desc_onMonths:"%s \u0438 %s",sch_desc_onWeekday:"%s",sch_desc_onWeekdays:"%s \u0438 %s",sch_desc_onWeekends:"\u043D\u0430 \u0432\u044B\u0445\u043E\u0434\u043D\u044B\u0445",sch_desc_onWorkdays:"\u0432 \u0440\u0430\u0431\u043E\u0447\u0438\u0435 \u0434\u043D\u0438",sch_desc_onceInPast:"\u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u0431\u043E\u043B\u044C\u0448\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0442\u044C\u0441\u044F, \u043F\u043E\u0442\u043E\u043C\u0443 \u0447\u0442\u043E \u043D\u0430\u0447\u0430\u043B\u043E \u0432 \u043F\u0440\u043E\u0448\u043B\u043E\u043C",sch_desc_once_on:"%s",sch_desc_validFrom:"%s",sch_desc_validFromTo:"\u0412\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0441",sch_desc_validTo:"%s",sch_every:"\u043A\u0430\u0436\u0434\u044B\u0439",sch_exactTime:"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F",sch_from:"\u043E\u0442",sch_fromTo:"\u041E\u0442 \u0438 \u0434\u043E",sch_intervalTime:"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u0432\u0440\u0435\u043C\u0435\u043D\u0438",sch_invert:"\u0438\u043D\u0432\u0435\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C",sch_no_one:"\u043D\u0438\u043A\u0430\u043A\u043E\u0439",sch_on:"\u043D\u0430",sch_period:"\u043F\u0435\u0440\u0438\u043E\u0434",sch_periodDaily:"\u0415\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u043E",sch_periodDates:"\u0414\u0430\u0442\u044B",sch_periodDay:"\u0414\u0435\u043D\u044C",sch_periodEvery:"\u043A\u0430\u0436\u0434\u044B\u0439",sch_periodEveryDay:"\u041A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C",sch_periodEveryMonth:"\u041A\u0430\u0436\u0434\u044B\u0439 \u043C\u0435\u0441\u044F\u0446",sch_periodEveryWeek:"\u041A\u0430\u0436\u0434\u0443\u044E \u043D\u0435\u0434\u0435\u043B\u044E",sch_periodEveryYear:"\u041A\u0430\u0436\u0434\u044B\u0439 \u0433\u043E\u0434",sch_periodHours:"\u0447\u0430\u0441\u043E\u0432",sch_periodMinutes:"\u043C\u0438\u043D\u0443\u0442",sch_periodMonth:"\u043C\u0435\u0441\u044F\u0446",sch_periodMonthly:"\u0435\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u043E",sch_periodOnce:"\u043E\u0434\u043D\u0430\u0436\u0434\u044B",sch_periodSpecificMonths:"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u043C\u0435\u0441\u044F\u0446\u044B",sch_periodWeek:"\u041D\u0435\u0434\u0435\u043B\u044E",sch_periodWeekdays:"\u0411\u0443\u0434\u043D\u0438\u0435 \u0434\u043D\u0438",sch_periodWeekend:"\u0432\u044B\u0445\u043E\u0434\u043D\u044B\u0435",sch_periodWeekly:"\u0435\u0436\u0435\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u043E",sch_periodWorkdays:"\u0420\u0430\u0431\u043E\u0447\u0438\u0435 \u0434\u043D\u0438",sch_periodYear:"\u0413\u043E\u0434",sch_periodYearly:"\u043A\u0430\u0436\u0434\u044B\u0439 \u0433\u043E\u0434",sch_specificTime:"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F",sch_time:"\u0412\u0440\u0435\u043C\u044F",sch_to:"\u0432",sch_valid:"\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0439",sch_validFrom:"\u043E\u0442",sch_validTo:"\u0432",sch_wholeDay:"\u0412\u0435\u0441\u044C \u0434\u0435\u043D\u044C",sch_yearEveryMonth:"\u043A\u0430\u0436\u0434\u044B\u0439 \u043C\u0435\u0441\u044F\u0446"};var HG={"ra_%s links from aliases":"%s links de aliases","ra_%s object(s) processed":"%s objeto(s) processado(s)","ra_%s was imported":"%s foi importado","ra_Accept license":"Aceitar licen\xE7a","ra_Add new child object to selected parent":"Adicionar novo objeto filho ao pai selecionado","ra_Add objects tree from JSON file":"Adicionar \xE1rvore de objetos do arquivo JSON","ra_Add row":"Adicionar linha","ra_Advanced options":"Op\xE7\xF5es avan\xE7adas","ra_All items are filtered out":"Todos os itens s\xE3o filtrados","ra_All objects":"Todos os objetos",ra_Append:"Acrescentar","ra_Append %s entries or replace existing?":"Acrescentar %s entradas ou substituir as existentes?","ra_Append or replace?":"Acrescentar ou substituir?","ra_Are you sure?":"Voc\xEA tem certeza?","ra_Auto (no custom columns)":"Auto (sem colunas personalizadas)","ra_Back to %s":"Voltar para %s","ra_Background image":"Imagem de fundo",ra_Cancel:"Cancelar","ra_Cannot add items with set filter":"N\xE3o \xE9 poss\xEDvel adicionar itens com filtro definido","ra_Cannot decode license":"N\xE3o \xE9 poss\xEDvel decodificar a licen\xE7a","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"N\xE3o \xE9 poss\xEDvel determinar a posi\xE7\xE3o: as configura\xE7\xF5es do sistema est\xE3o vazias e a detec\xE7\xE3o de GPS est\xE1 desativada no navegador",'ra_Cannot find "%s"':'N\xE3o foi poss\xEDvel encontrar "%s"','ra_Cannot read "%s"':'N\xE3o \xE9 poss\xEDvel ler "%s"',"ra_Cannot read licenses: %s":"N\xE3o \xE9 poss\xEDvel ler licen\xE7as: %s","ra_Cannot retrieve options, as instance is offline":"N\xE3o \xE9 poss\xEDvel recuperar op\xE7\xF5es, pois a inst\xE2ncia est\xE1 off-line","ra_Cannot update attribute, because not found in the object":"N\xE3o \xE9 poss\xEDvel atualizar o atributo, porque n\xE3o foi encontrado no objeto","ra_Cannot upload":"N\xE3o \xE9 poss\xEDvel fazer upload",ra_Categories:"Categorias","ra_Chained certificate":"certificado encadeado","ra_Change color theme":"Alterar tema de cores","ra_Changed from":"Mudou de","ra_Channel \u2192 State":"Canal \u2192 Estado","ra_Check license":"Verifique a licen\xE7a",ra_Checked:"Verificado",ra_Clear:"Excluir","ra_Clear filter":"Filtro limpo","ra_Clear icon":"\xCDcone de limpeza","ra_Clone current row":"Clonar linha atual",ra_Close:"Perto","ra_Collapse all nodes":"Recolher todos os n\xF3s","ra_Collapse one step node":"Recolher um n\xEDvel",ra_Commercial:"Comercial",ra_Configure:"Configurar","ra_Configure visible columns":"Configurar colunas vis\xEDveis","ra_Confirm deletion of %s":"Confirme a exclus\xE3o de %s",ra_Connected:"Conectado",ra_Copied:"Copiado","ra_Copied %s":'"%s" copiado',"ra_Copy content":"Copiar conte\xFAdo",ra_Create:"Crio","ra_Create alias":"Criar alias","ra_Create folder":"Criar pasta","ra_Create new folder in %s":"Crie uma nova pasta em %s",ra_Crop:"Colheita","ra_Define CRON...":"Defina CRON...","ra_Define functions":"Definir fun\xE7\xF5es","ra_Define rooms":"Definir quartos","ra_Define schedule":"Definir cronograma","ra_Define schedule...":"Definir programa\xE7\xE3o ...",ra_Del:"Delete",ra_Delete:"Excluir","ra_Delete (no confirm for 5 mins)":"Excluir (sem confirma\xE7\xE3o por 5 minutos)","ra_Delete current row":"Excluir linha atual","ra_Deselect all":"Desmarque todos","ra_Device \u2192 Channel \u2192 State":"Dispositivo \u2192 Canal \u2192 Estado",ra_Discard:"Descartar",ra_Disconnected:"Desconectado","ra_Do not export values of states":"N\xE3o exporte valores de estados","ra_Do not use let's encrypt":"N\xE3o use vamos criptografar","ra_Double click to reset table layout":"Clique duas vezes para redefinir o layout da tabela","ra_Drag 'n' drop some files here, or click to select files":"Arraste e solte alguns arquivos aqui ou clique para selecionar arquivos","ra_Drop file here":"Solte o arquivo aqui","ra_Drop the files here...":"Solte o arquivo aqui ...","ra_Duplicate name":"Nome duplicado","ra_Edit ACL":"Editar ACL","ra_Edit alias":"Editar alias","ra_Edit custom config":"Editar configura\xE7\xE3o personalizada","ra_Edit function":"Fun\xE7\xE3o de edi\xE7\xE3o","ra_Edit object field":"Editar campo de objeto","ra_Edit role":"Editar papel","ra_Edit room":"Sala de edi\xE7\xE3o","ra_Edit value":"Editar valor",ra_Error:"Erro","ra_Expand all nodes":"Expanda todos os n\xF3s","ra_Expand one step node":"Expanda um n\xEDvel","ra_Export data to %s file":"Exportar dados para o arquivo %s","ra_Failed to open JSON File":"Falha ao abrir arquivo JSON","ra_Fallback custom certificates":"Certificados personalizados alternativos","ra_File is too big. Max %sk allowed. Try use SVG.":"O arquivo \xE9 muito grande. Max %sk permitido. Tente usar SVG.",ra_Filter:"Filtro","ra_Filter files":"Filtrar arquivos","ra_Folder name":"Nome da pasta","ra_Folder \u2192 Channel \u2192 State":"Pasta \u2192 Canal \u2192 Estado","ra_Folder \u2192 Device \u2192 Channel \u2192 State":"Pasta \u2192 Dispositivo \u2192 Canal \u2192 Estado","ra_Folder \u2192 State":"Pasta \u2192 Estado","ra_Folders always first":"Pastas sempre primeiro",ra_Friday:"Sexta-feira","ra_Good luck":"Boa sorte","ra_Hide empty folders":"Esconder pastas vazias","ra_If no file will be created in the folder, it will disappear after the browser closed":"Se nenhum arquivo for criado na pasta, ele desaparecer\xE1 depois que o navegador for fechado","ra_Import data from %s file":"Importar dados do arquivo %s","ra_Import from %s":"Importar de %s","ra_Instance %s is alive":"O %s da inst\xE2ncia est\xE1 ativo","ra_Instance %s is not alive":"O %s da inst\xE2ncia n\xE3o est\xE1 ativo","ra_Instance is not alive":"A inst\xE2ncia n\xE3o est\xE1 ativa","ra_Invalid CRON":"CRON inv\xE1lido","ra_Invalid JSON":"JSON inv\xE1lido","ra_Invalid answer from server":"Resposta inv\xE1lida do servidor","ra_Invalid parent folder!":"Pasta pai inv\xE1lida!","ra_Invalid structure":"Estrutura inv\xE1lida","ra_JSON editor":"Editor JSON","ra_Last change":"\xDAltima mudan\xE7a",ra_Latitude:"Latitude","ra_License %s":"Licen\xE7a %s","ra_License agreement":"Contrato de licen\xE7a","ra_License does not exist":"A licen\xE7a n\xE3o existe","ra_License expired on %s":"A licen\xE7a expirou em %s",'ra_License for other product "%s"':'Licen\xE7a para outro produto "%s"',"ra_License is for version %s, but required version is %s.":"A licen\xE7a \xE9 para a vers\xE3o %s, mas a vers\xE3o necess\xE1ria \xE9 %s.","ra_License must be converted":"A licen\xE7a deve ser convertida para uma vers\xE3o mais recente. Voc\xEA pode faz\xEA-lo em seu perfil iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licen\xE7a n\xE3o encontrada no gerenciador de licen\xE7as. Deseja atualizar as licen\xE7as do iobroker.net?","ra_Listen on all IPs":"Ou\xE7a em todos os IPs","ra_Load configuration from file":"Carregar configura\xE7\xE3o do arquivo",ra_Longitude:"Longitude",'ra_May not trigger "updateLicenses"':'Pode n\xE3o acionar "updateLicenses"',ra_Message:"mensagem",ra_Monday:"Segunda-feira","ra_Move down":"Mover para baixo","ra_Move up":"Subir",ra_Name:"Nome","ra_No data found in file":"Nenhum dado encontrado no arquivo","ra_No one license found in license manager":"Nenhuma licen\xE7a encontrada no gerenciador de licen\xE7as","ra_No response from the backend":"Nenhuma resposta do backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Os n\xE3o especialistas podem criar novos objetos apenas em "0_userdata.0" ou "alias.0".',"ra_Not a number":"N\xE3o \xE9 um n\xFAmero",ra_Objects:"Objetos",ra_Ok:"Est\xE1 bem","ra_On weekdays":"Nos dias \xFAteis","ra_Only following structures of objects are available:":"Apenas as seguintes estruturas de objetos est\xE3o dispon\xEDveis:","ra_Only selected":"Apenas selecionado","ra_Owner group":"Grupo propriet\xE1rio","ra_Owner user":"Usu\xE1rio propriet\xE1rio","ra_Passwords are not equal!":"As senhas n\xE3o s\xE3o iguais!","ra_Place your files here or click here to open the browse dialog":"Coloque seus arquivos aqui ou clique aqui para abrir a janela de navega\xE7\xE3o","ra_Please confirm":"Por favor confirme","ra_Please create license":"Crie uma licen\xE7a","ra_Please enter the license":"Por favor, insira a licen\xE7a","ra_Please select file...":"Selecione o arquivo...","ra_Please select object ID...":"Selecione o ID do objeto ...","ra_Port could be used by %s":"A porta pode ser usada por %s","ra_Port is already used by %s":"A porta j\xE1 est\xE1 sendo usada por %s","ra_Private certificate":"certificado privado",ra_Product:"produtos","ra_Public certificate":"certificado p\xFAblico","ra_Quality code":"Qualidade","ra_Refresh tree":"Atualizar \xE1rvore","ra_Reload files":"Recarregar arquivos",ra_Repeat:"Repita",ra_Replace:"Substituir","ra_Request timed out":"Solicita\xE7\xE3o expirou","ra_Restrict to folder":"Restringir \xE0 pasta",ra_Root:"Raiz",ra_Saturday:"S\xE1bado",ra_Save:"Salve \uE051","ra_Save and close":"Salvar e fechar","ra_Save configuration to file":"Salvar configura\xE7\xE3o em arquivo","ra_Save objects tree as JSON file":"Salvar \xE1rvore de objetos como arquivo JSON","ra_Select all":"Selecionar tudo","ra_Select color":"Selecione a cor","ra_Select predefined icon":"Selecione o \xEDcone predefinido","ra_Select type of export":"Selecione o tipo de exporta\xE7\xE3o",ra_Selected:"Selecionado","ra_Selected %s object(s)":"%s objeto(s) selecionado(s)","ra_Serial number (UUID)":"N\xFAmero de s\xE9rie (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'O n\xFAmero de s\xE9rie (UUID) "%s" na licen\xE7a \xE9 para outro dispositivo.',"ra_Show all folders":"Mostrar todas as pastas","ra_Show lines between rows":"Mostrar linhas entre as linhas","ra_Show/Hide object descriptions":"Mostrar/ocultar descri\xE7\xF5es de objetos","ra_Show/hide filter input":"Mostrar/ocultar entrada de filtro","ra_Some data are not stored. Discard?":"Alguns dados n\xE3o s\xE3o armazenados. Descartar?",ra_States:"Estados","ra_Suitable license not found in license manager":"Licen\xE7a adequada n\xE3o encontrada no gerenciador de licen\xE7as",ra_Sunday:"Domingo","ra_Suppress question for next %s minutes":"Suprimir pergunta nos pr\xF3ximos %s minutos","ra_System language":"Idioma do sistema","ra_Take browser position":"Tomar posi\xE7\xE3o do navegador","ra_Take position from system settings":"Tomar posi\xE7\xE3o a partir das configura\xE7\xF5es do sistema",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Os especialistas podem criar objetos em qualquer lugar, exceto no segundo n\xEDvel (por exemplo, "vis.0" ou "javascript.0").',"ra_The page you are looking for was not found":"A p\xE1gina que voc\xEA est\xE1 procurando n\xE3o foi encontrada","ra_The schedule will be executed every minute. Are you sure?":"O agendamento ser\xE1 executado a cada minuto. Tem certeza?","ra_The schedule will be executed every second. Are you sure?":"O agendamento ser\xE1 executado a cada segundo. Tem certeza?",ra_Thursday:"Quinta-feira",ra_Timestamp:"Timestamp","ra_Toggle expert mode":"Alternar modo especialista","ra_Toggle the states view":"Alternar a visualiza\xE7\xE3o dos estados","ra_Toggle view mode":"Alternar modo de visualiza\xE7\xE3o","ra_Too big":"Muito grande","ra_Too small":"Muito pequeno","ra_Transparent dialog":"Di\xE1logo transparente",ra_Tuesday:"Ter\xE7a-feira","ra_Unknown error":"Erro desconhecido","ra_Unknown error!":"Erro desconhecido!",ra_Update:"Atualizar","ra_Upload file":"Subir arquivo","ra_Use all available let's encrypt certificates":"Use todos os certificados dispon\xEDveis vamos criptografar","ra_Use iobroker.acme adapter for letsencrypt certificates":"Use o adaptador iobroker.acme para certificados letsencrypt","ra_Use system settings for position":"Use as configura\xE7\xF5es do sistema para a posi\xE7\xE3o","ra_Used system settings":"Configura\xE7\xF5es do sistema usadas","ra_User files":"Arquivos do usu\xE1rio",ra_ValidTill:"V\xE1lida at\xE9",ra_Value:"Valor",ra_Version:"Vers\xE3o","ra_View file":"Visualizar arquivo","ra_View: %s":"Visualizar: %s",ra_Wednesday:"Quarta-feira",ra_Width:"Largura",ra_Yes:"Sim","ra_You can export all objects or just the selected branch.":"Voc\xEA pode exportar todos os objetos ou apenas a ramifica\xE7\xE3o selecionada.","ra_You can filter entries by entering here some text":"Voc\xEA pode filtrar as entradas digitando aqui algum texto",ra___different__:"diferente",ra_aclEveryone_read_object:"Todos podem ler objetos",ra_aclEveryone_read_state:"Todos podem ler o estado",ra_aclEveryone_write_object:"Todos podem escrever objetos",ra_aclEveryone_write_state:"Todos podem escrever o estado",ra_aclGroup_read_object:"O grupo pode ler o objeto",ra_aclGroup_read_state:"O grupo pode ler o estado",ra_aclGroup_write_object:"O grupo pode escrever o objeto",ra_aclGroup_write_state:"O grupo pode escrever o estado",ra_aclOwner_read_object:"O propriet\xE1rio pode ler o objeto",ra_aclOwner_read_state:"O propriet\xE1rio pode ler o estado",ra_aclOwner_write_object:"O propriet\xE1rio pode escrever o objeto",ra_aclOwner_write_state:"O propriet\xE1rio pode escrever o estado",ra_buttons:"Bot\xF5es",ra_changedFrom:"Mudou de",ra_close:"fechar",ra_create_boolean_state:"Criar estado booleano",ra_create_channel:"Criar canal",ra_create_device:"Criar dispositivo",ra_create_number_state:"Criar estado num\xE9rico",ra_create_state:"Criar estado",ra_create_string_state:"Criar estado de string",ra_daysShortText:"d.",ra_dow_Fr:"Fr",ra_dow_Mo:"Mo",ra_dow_Sa:"Sa",ra_dow_Su:"Su",ra_dow_Th:"\xBA",ra_dow_Tu:"Tu",ra_dow_We:"N\xF3s",ra_expertMode:"Modo especialista",ra_fileType_all:"Todos os arquivos",ra_fileType_audio:"\xE1udio",ra_fileType_code:"C\xF3digo/JSON",ra_fileType_images:"Imagens",ra_fileType_txt:"Texto",ra_fileType_video:"V\xEDdeo","ra_fileType_video,":"V\xEDdeo",ra_filter_customs:"Configura\xE7\xF5es",ra_filter_customs_without:"sem",ra_filter_func:"Fun\xE7\xE3o",ra_filter_id:"ID",ra_filter_name:"Nome",ra_filter_role:"Papel (Fun\xE7\xE3o)",ra_filter_room:"Quarto",ra_filter_type:"Tipo","ra_import data from %s file":"Importar dados do arquivo %s",ra_invalidConfig:"Configura\xE7\xF5es inv\xE1lidas",ra_lastChange:"\xDAltima mudan\xE7a",ra_locally:"localmente",ra_month_Apr:"abril",ra_month_Aug:"agosto",ra_month_Dec:"dezembro",ra_month_Feb:"fevereiro",ra_month_Jan:"janeiro",ra_month_Jul:"julho",ra_month_Jun:"junho",ra_month_Mai:"Mai",ra_month_Mar:"mar\xE7o",ra_month_Nov:"novembro",ra_month_Oct:"outubro",ra_month_Sep:"setembro",ra_months_Apr:"abril",ra_months_Aug:"agosto",ra_months_Dec:"dezembro",ra_months_Feb:"fevereiro",ra_months_Jan:"janeiro",ra_months_Jul:"julho",ra_months_Jun:"junho",ra_months_Mai:"Mai",ra_months_Mar:"mar\xE7o",ra_months_Nov:"novembro",ra_months_Oct:"outubro",ra_months_Sep:"setembro",ra_none:"Nenhum",ra_object_changed_by:"Objeto alterado por",ra_object_changed_by_user:"Objeto alterado pela \xFAltima vez em",ra_otherConfig:"Configura\xE7\xF5es de outro adaptador %s",ra_qualityCode:"C\xF3digo de qualidade",ra_repeat:"repetir",ra_select_folder_hint:'Para selecionar a pasta, basta segurar a tecla "shift" clicando na pasta.',ra_state_changed_by:"Estado alterado por",ra_state_changed_from:"Objeto alterado de",ra_timestamp:"Timestamp",ra_tooltip_ack:"Confirmado",ra_tooltip_comment:"Comente",ra_tooltip_copyState:"Copie o valor do estado",ra_tooltip_customConfig:"Op\xE7\xF5es customizadas",ra_tooltip_deleteObject:"Excluir objeto",ra_tooltip_editObject:"Editar objeto",ra_tooltip_editState:"Edite o valor do estado",ra_tooltip_from:"De",ra_tooltip_lc:"\xDAltima altera\xE7\xE3o",ra_tooltip_quality:"Qualidade",ra_tooltip_ts:"Timestamp",ra_tooltip_user:"Usu\xE1rio",ra_tooltip_value:"Valor","ra_use seconds":"use segundos",ra_val:"Valor","ra_via internet":"via internet",ra_warning_every_minute:"Aviso: O trabalho CRON ser\xE1 executado a cada minuto durante o per\xEDodo especificado!",ra_warning_every_second:"Aviso: O trabalho CRON ser\xE1 executado a cada segundo durante o per\xEDodo especificado!",sc_cron:"CRON",sc_date:"Data",sc_dates:"Dias",sc_dow:"Dia",sc_dows:"Dia da semana",sc_every:"todos",sc_everyN_dates:"a cada N dias",sc_everyN_dow:"todo en\xE9simo dia da semana",sc_everyN_dows:"todos os N dias da semana",sc_everyN_hours:"a cada N horas",sc_everyN_minutes:"a cada N minutos",sc_everyN_months:"a cada N meses",sc_everyN_seconds:"a cada N segundos",sc_every_dates:"todo dia",sc_every_dow:"todos os dias da semana",sc_every_dows:"todos os dias da semana",sc_every_hours:"toda hora",sc_every_minutes:"todo minuto",sc_every_months:"todo m\xEAs",sc_every_seconds:"todo segundo",sc_from:"de",sc_hours:"horas",sc_interval:"intervalo",sc_intervalBetween:"intervalo entre",sc_invalid_cron:"CRON inv\xE1lido",sc_minutes:"minutos",sc_months:"meses",sc_once:"uma vez",sc_period:"per\xEDodo",sc_seconds:"segundos",sc_simple:"simples",sc_specific:"tempo espec\xEDfico",sc_specific_dates:"datas espec\xEDficas",sc_specific_dow:"dia(s) espec\xEDfico(s) da semana",sc_specific_dows:"dia espec\xEDfico de semanas",sc_specific_hours:"horas espec\xEDficas",sc_specific_minutes:"minutos espec\xEDficos",sc_specific_months:"meses espec\xEDficos",sc_specific_seconds:"segundos espec\xEDficos",sc_time:"tempo",sc_to:"para",sc_wizard:"assistente",sch_all:"tudo",sch_astroDay:"dia astral",sch_astroNight:"noite astral",sch_astro_dawn:"amanhecer",sch_astro_dusk:"anoitecer",sch_astro_goldenHour:"hora dourada",sch_astro_goldenHourEnd:"Fim da hora dourada",sch_astro_nadir:"nadir",sch_astro_nauticalDawn:"Amanhecer n\xE1utico",sch_astro_nauticalDusk:"Anoitecer n\xE1utico",sch_astro_night:"noite",sch_astro_nightEnd:"fim da noite",sch_astro_solarNoon:"meio-dia solar",sch_astro_sunrise:"nascer do sol",sch_astro_sunriseEnd:"fim do nascer do sol",sch_astro_sunset:"p\xF4r do sol",sch_astro_sunsetStart:"in\xEDcio do p\xF4r do sol",sch_at:"\xE0s",sch_desc_atTime:"em %s",sch_desc_everyDay:"todo dia",sch_desc_everyHour:"toda hora",sch_desc_everyMinute:"todo minuto",sch_desc_everyMonth:"todo m\xEAs",sch_desc_everyNDay:"a cada %s dias",sch_desc_everyNHours:"a cada %s horas",sch_desc_everyNMinutes:"a cada %s minutos",sch_desc_everyNMonths:"a cada %s meses",sch_desc_everyNWeeks:"a cada %s semanas",sch_desc_everyNYears:"a cada %s anos",sch_desc_everyWeek:"toda semana",sch_desc_everyYear:"todo ano",sch_desc_intervalFromTo:"de %s para %s",sch_desc_never:"nunca",sch_desc_onDate:"em %s de %s",sch_desc_onDates:"em %s e %s de",sch_desc_onEveryDate:"em toda data de",sch_desc_onMonth:"%s",sch_desc_onMonths:"%s e %s",sch_desc_onWeekday:"em %s",sch_desc_onWeekdays:"em %s e %s",sch_desc_onWeekends:"nos fins de semana",sch_desc_onWorkdays:"em dias \xFAteis",sch_desc_onceInPast:"n\xE3o ser\xE1 mais executado, porque o come\xE7o est\xE1 no passado",sch_desc_once_on:"em %s",sch_desc_validFrom:"de %s",sch_desc_validFromTo:"Executar de at\xE9",sch_desc_validTo:"at\xE9 %s",sch_every:"cada",sch_exactTime:"tempo espec\xEDfico",sch_from:"de",sch_fromTo:"de a\xB4t",sch_intervalTime:"tempo de intervalo",sch_invert:"invertido",sch_no_one:"nenhum",sch_on:"em",sch_period:"per\xEDodo",sch_periodDaily:"diariamente",sch_periodDates:"datas",sch_periodDay:"dia",sch_periodEvery:"todos",sch_periodEveryDay:"todo dia",sch_periodEveryMonth:"todo m\xEAs",sch_periodEveryWeek:"toda semana",sch_periodEveryYear:"todo ano",sch_periodHours:"horas",sch_periodMinutes:"minutos",sch_periodMonth:"m\xEAs",sch_periodMonthly:"por m\xEAs",sch_periodOnce:"uma vez",sch_periodSpecificMonths:"meses espec\xEDficos",sch_periodWeek:"semana",sch_periodWeekdays:"dias \xFAteis",sch_periodWeekend:"final de semana",sch_periodWeekly:"semanal",sch_periodWorkdays:"dias \xFAteis",sch_periodYear:"ano",sch_periodYearly:"anual",sch_specificTime:"tempo espec\xEDfico",sch_time:"tempo",sch_to:"para",sch_valid:"v\xE1lido",sch_validFrom:"de",sch_validTo:"para",sch_wholeDay:"dia inteiro",sch_yearEveryMonth:"todo m\xEAs"};var $G={"ra_%s links from aliases":"%s links van aliassen","ra_%s object(s) processed":"%s object(en) verwerkt","ra_%s was imported":"%s is ge\xEFmporteerd","ra_Accept license":"Accepteer licentie","ra_Add new child object to selected parent":"Voeg een nieuw kindobject toe aan het geselecteerde bovenliggende object","ra_Add objects tree from JSON file":"Objectenboom toevoegen vanuit JSON-bestand","ra_Add row":"Voeg een rij toe","ra_Advanced options":"Geavanceerde mogelijkheden","ra_All items are filtered out":"Alle items zijn uitgefilterd","ra_All objects":"Alle objecten",ra_Append:"toevoegen","ra_Append %s entries or replace existing?":"%s ingangen toevoegen of bestaande vervangen?","ra_Append or replace?":"Toevoegen of vervangen?","ra_Are you sure?":"Weet je het zeker?","ra_Auto (no custom columns)":"Auto (geen aangepaste kolommen)","ra_Back to %s":"Terug naar %s","ra_Background image":"Achtergrond afbeelding",ra_Cancel:"Annuleer","ra_Cannot add items with set filter":"Kan geen items toevoegen met ingestelde filter","ra_Cannot decode license":"Kan licentie niet decoderen","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Kan positie niet bepalen: systeeminstellingen zijn leeg en GPS-detectie is uitgeschakeld in browser",'ra_Cannot find "%s"':'Kan "%s" niet vinden','ra_Cannot read "%s"':'Kan "%s" niet lezen',"ra_Cannot read licenses: %s":"Kan licenties niet lezen: %s","ra_Cannot retrieve options, as instance is offline":"Kan opties niet ophalen, omdat instantie offline is","ra_Cannot update attribute, because not found in the object":"Kan kenmerk niet bijwerken, omdat het niet in het object is gevonden","ra_Cannot upload":"Kan niet uploaden",ra_Categories:"Categorie\xEBn","ra_Chained certificate":"Geketend certificaat","ra_Change color theme":"Kleurthema wijzigen","ra_Changed from":"Veranderd van","ra_Channel \u2192 State":"Kanaal \u2192 Staat","ra_Check license":"Licentie controleren",ra_Checked:"Gecontroleerd",ra_Clear:"Verwijderen","ra_Clear filter":"Filter wissen","ra_Clear icon":"Pictogram wissen","ra_Clone current row":"Kloon de huidige rij",ra_Close:"Dichtbij","ra_Collapse all nodes":"Vouw alle knooppunten samen","ra_Collapse one step node":"E\xE9n niveau samenvouwen",ra_Commercial:"Reclame",ra_Configure:"Configureren","ra_Configure visible columns":"Configureer zichtbare kolommen","ra_Confirm deletion of %s":"Bevestig het verwijderen van %s",ra_Connected:"Verbonden",ra_Copied:"Gekopieerd","ra_Copied %s":'"%s" gekopieerd',"ra_Copy content":"Inhoud kopi\xEBren",ra_Create:"Cre\xEBer","ra_Create alias":"Alias maken","ra_Create folder":"Map aanmaken","ra_Create new folder in %s":"Maak een nieuwe map in %s",ra_Crop:"Bijsnijden","ra_Define CRON...":"Definieer CRON...","ra_Define functions":"Definieer functies","ra_Define rooms":"Definieer kamers","ra_Define schedule":"Definieer schema","ra_Define schedule...":"Schema defini\xEBren ...",ra_Del:"Delete",ra_Delete:"Verwijderen","ra_Delete (no confirm for 5 mins)":"Verwijderen (geen bevestiging gedurende 5 minuten)","ra_Delete current row":"Huidige rij verwijderen","ra_Deselect all":"Deselecteer alles","ra_Device \u2192 Channel \u2192 State":"Apparaat \u2192 Kanaal \u2192 Staat",ra_Discard:"Weggooien",ra_Disconnected:"Verbinding verbroken","ra_Do not export values of states":"Exporteer geen waarden van staten","ra_Do not use let's encrypt":"Gebruik geen let's encrypt","ra_Double click to reset table layout":"Dubbelklik om de tafelindeling te resetten","ra_Drag 'n' drop some files here, or click to select files":"Sleep enkele bestanden hierheen, of klik om bestanden te selecteren","ra_Drop file here":"Zet het bestand hier neer","ra_Drop the files here...":"Zet het bestand hier neer...","ra_Duplicate name":"Dubbele naam","ra_Edit ACL":"ACL bewerken","ra_Edit alias":"Alias bewerken","ra_Edit custom config":"Bewerk aangepaste config","ra_Edit function":"Bewerkingsfunctie","ra_Edit object field":"Bewerk objectveld","ra_Edit role":"Rol bewerken","ra_Edit room":"Kamer bewerken","ra_Edit value":"Waarde bewerken",ra_Error:"Fout","ra_Expand all nodes":"Vouw alle knooppunten uit","ra_Expand one step node":"Vouw een niveau uit","ra_Export data to %s file":"Exporteer gegevens naar %s bestand","ra_Failed to open JSON File":"JSON-bestand kan niet worden geopend","ra_Fallback custom certificates":"Fallback aangepaste certificaten","ra_File is too big. Max %sk allowed. Try use SVG.":"Bestand is te groot. Max. %sk toegestaan. Probeer SVG te gebruiken.",ra_Filter:"Filter","ra_Filter files":"Bestanden filteren","ra_Folder name":"Naam van de map","ra_Folder \u2192 Channel \u2192 State":"Map \u2192 Kanaal \u2192 Staat","ra_Folder \u2192 Device \u2192 Channel \u2192 State":"Map \u2192 Apparaat \u2192 Kanaal \u2192 Staat","ra_Folder \u2192 State":"Map \u2192 Staat","ra_Folders always first":"Mappen altijd eerst",ra_Friday:"Vrijdag","ra_Good luck":"Veel geluk","ra_Hide empty folders":"Verberg lege mappen","ra_If no file will be created in the folder, it will disappear after the browser closed":"Als er geen bestand in de map wordt gemaakt, verdwijnt het nadat de browser is gesloten","ra_Import data from %s file":"Importeer gegevens uit %s bestand","ra_Import from %s":"Importeren uit %s","ra_Instance %s is alive":"Instantie %s leeft","ra_Instance %s is not alive":"Instantie %s is niet actief","ra_Instance is not alive":"Instantie leeft niet","ra_Invalid CRON":"Ongeldige CRON","ra_Invalid JSON":"Ongeldige JSON","ra_Invalid answer from server":"Ongeldig antwoord van de server","ra_Invalid parent folder!":"Ongeldige bovenliggende map!","ra_Invalid structure":"Ongeldige structuur","ra_JSON editor":"JSON-editor","ra_Last change":"Laatste wijziging",ra_Latitude:"Breedtegraad","ra_License %s":"Licentie %s","ra_License agreement":"Licentieovereenkomst","ra_License does not exist":"Licentie bestaat niet","ra_License expired on %s":"Licentie verlopen op %s",'ra_License for other product "%s"':'Licentie voor ander product "%s"',"ra_License is for version %s, but required version is %s.":"Licentie is voor versie %s, maar vereiste versie is %s.","ra_License must be converted":"Licentie moet worden omgezet naar nieuwere versie. U kunt dit doen in uw iobroker.net-profiel.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licentie niet gevonden in licentiebeheer. Wilt u licenties van iobroker.net bijwerken?","ra_Listen on all IPs":"Luister op alle IP's","ra_Load configuration from file":"Laad configuratie uit bestand",ra_Longitude:"Lengtegraad",'ra_May not trigger "updateLicenses"':'Activeert mogelijk niet "updateLicenses"',ra_Message:"Bericht",ra_Monday:"Maandag","ra_Move down":"Naar beneden verplaatsen","ra_Move up":"Omhoog gaan",ra_Name:"Naam","ra_No data found in file":"Geen gegevens gevonden in bestand","ra_No one license found in license manager":"Geen enkele licentie gevonden in licentiebeheer","ra_No response from the backend":"Geen reactie van de backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Niet-experts mogen alleen nieuwe objecten maken in "0_userdata.0" of "alias.0".',"ra_Not a number":"Geen nummer",ra_Objects:"Voorwerpen",ra_Ok:"OK","ra_On weekdays":"Op weekdagen","ra_Only following structures of objects are available:":"Alleen de volgende structuren van objecten zijn beschikbaar:","ra_Only selected":"Alleen geselecteerd","ra_Owner group":"Eigenaarsgroep","ra_Owner user":"Eigenaar gebruiker","ra_Passwords are not equal!":"Wachtwoorden zijn niet gelijk!","ra_Place your files here or click here to open the browse dialog":"Plaats uw bestanden hier of klik hier om het bladervenster te openen","ra_Please confirm":"Bevestig alstublieft","ra_Please create license":"Maak een licentie aan","ra_Please enter the license":"Voer de licentie in","ra_Please select file...":"Selecteer bestand...","ra_Please select object ID...":"Selecteer object-ID ...","ra_Port could be used by %s":"Poort kan worden gebruikt door %s","ra_Port is already used by %s":"Poort wordt al gebruikt door %s","ra_Private certificate":"Priv\xE9 certificaat",ra_Product:"Product","ra_Public certificate":"Openbaar certificaat","ra_Quality code":"Kwaliteit","ra_Refresh tree":"Vernieuw de boom","ra_Reload files":"Laad bestanden opnieuw",ra_Repeat:"Herhaling",ra_Replace:"Vervangen","ra_Request timed out":"Verzoek verlopen","ra_Restrict to folder":"Beperken tot map",ra_Root:"Wortel",ra_Saturday:"Zaterdag",ra_Save:"Sparen","ra_Save and close":"Opslaan en afsluiten","ra_Save configuration to file":"Sla de configuratie op in een bestand","ra_Save objects tree as JSON file":"Sla de objectenboom op als JSON-bestand","ra_Select all":"Selecteer alles","ra_Select color":"Selecteer kleur","ra_Select predefined icon":"Selecteer voorgedefinieerd pictogram","ra_Select type of export":"Selecteer het type export",ra_Selected:"Geselecteerd","ra_Selected %s object(s)":"Geselecteerde %s object(en)","ra_Serial number (UUID)":"Serienummer (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Serienummer (UUID) "%s" in licentie is voor ander apparaat.',"ra_Show all folders":"Toon alle mappen","ra_Show lines between rows":"Toon lijnen tussen rijen","ra_Show/Hide object descriptions":"Toon/verberg objectbeschrijvingen","ra_Show/hide filter input":"Filterinvoer weergeven/verbergen","ra_Some data are not stored. Discard?":"Sommige gegevens worden niet opgeslagen. Weggooien?",ra_States:"Staten","ra_Suitable license not found in license manager":"Geschikte licentie niet gevonden in licentiebeheer",ra_Sunday:"Zondag","ra_Suppress question for next %s minutes":"Vraag de volgende %s minuten onderdrukken","ra_System language":"Systeemtaal","ra_Take browser position":"Positie innemen vanuit de browser","ra_Take position from system settings":"Neem positie over van systeeminstellingen",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'De experts kunnen overal objecten maken, behalve vanaf het tweede niveau (bijv. "Vis.0" of "javascript.0").',"ra_The page you are looking for was not found":"De pagina die u zoekt is niet gevonden","ra_The schedule will be executed every minute. Are you sure?":"Het schema wordt elke minuut uitgevoerd. Weet u het zeker?","ra_The schedule will be executed every second. Are you sure?":"Het schema wordt elke seconde uitgevoerd. Weet je het zeker?",ra_Thursday:"Donderdag",ra_Timestamp:"Tijdstempel","ra_Toggle expert mode":"Schakel tussen expertmodus","ra_Toggle the states view":"Schakel de statusweergave in of uit","ra_Toggle view mode":"Schakelen tussen weergavemodus","ra_Too big":"Te groot","ra_Too small":"Te klein","ra_Transparent dialog":"Transparant dialoogvenster",ra_Tuesday:"Dinsdag","ra_Unknown error":"Onbekende fout","ra_Unknown error!":"Onbekende fout!",ra_Update:"Bijwerken","ra_Upload file":"Upload bestand","ra_Use all available let's encrypt certificates":"Gebruik alle beschikbare Let's Encrypt-certificaten","ra_Use iobroker.acme adapter for letsencrypt certificates":"Gebruik de iobroker.acme-adapter voor letsencrypt-certificaten","ra_Use system settings for position":"Gebruik systeeminstellingen voor positie","ra_Used system settings":"Gebruikte systeeminstellingen","ra_User files":"Gebruikersbestanden",ra_ValidTill:"Geldig tot",ra_Value:"Waarde",ra_Version:"Versie","ra_View file":"Bestand bekijken","ra_View: %s":"Bekijk: %s",ra_Wednesday:"Woensdag",ra_Width:"Breedte",ra_Yes:"Ja","ra_You can export all objects or just the selected branch.":"U kunt alle objecten of alleen de geselecteerde tak exporteren.","ra_You can filter entries by entering here some text":"U kunt items filteren door hier wat tekst in te voeren",ra___different__:"verschillend",ra_aclEveryone_read_object:"Iedereen kan object lezen",ra_aclEveryone_read_state:"Iedereen kan staat lezen",ra_aclEveryone_write_object:"Iedereen kan object schrijven",ra_aclEveryone_write_state:"Iedereen kan staat schrijven",ra_aclGroup_read_object:"Groep kan object lezen",ra_aclGroup_read_state:"Groep kan status lezen",ra_aclGroup_write_object:"Groep kan object schrijven",ra_aclGroup_write_state:"Groep kan staat schrijven",ra_aclOwner_read_object:"Eigenaar kan object lezen",ra_aclOwner_read_state:"Eigenaar kan staat lezen",ra_aclOwner_write_object:"Eigenaar kan object schrijven",ra_aclOwner_write_state:"Eigenaar kan staat schrijven",ra_buttons:"Toetsen",ra_changedFrom:"Veranderd van",ra_close:"dichtbij",ra_create_boolean_state:"Cre\xEBer een Booleaanse status",ra_create_channel:"Kanaal maken",ra_create_device:"Apparaat maken",ra_create_number_state:"Nummerstatus maken",ra_create_state:"Staat cre\xEBren",ra_create_string_state:"Tekenreeksstatus maken",ra_daysShortText:"d.",ra_dow_Fr:"Fr",ra_dow_Mo:"Mo",ra_dow_Sa:"Za",ra_dow_Su:"Zo",ra_dow_Th:"Th",ra_dow_Tu:"Tu",ra_dow_We:"Wij",ra_expertMode:"Expert modus",ra_fileType_all:"Alle bestanden",ra_fileType_audio:"Audio",ra_fileType_code:"Code/JSON",ra_fileType_images:"Afbeeldingen",ra_fileType_txt:"Tekst",ra_fileType_video:"Video","ra_fileType_video,":"Video",ra_filter_customs:"Instellingen",ra_filter_customs_without:"zonder",ra_filter_func:"Functie",ra_filter_id:"ID",ra_filter_name:"Naam",ra_filter_role:"Rol",ra_filter_room:"Kamer",ra_filter_type:"Type","ra_import data from %s file":"Importeer gegevens uit %s bestand",ra_invalidConfig:"Ongeldige instellingen",ra_lastChange:"Laatste wijziging",ra_locally:"plaatselijk",ra_month_Apr:"april",ra_month_Aug:"aug",ra_month_Dec:"dec",ra_month_Feb:"februari",ra_month_Jan:"jan",ra_month_Jul:"jul",ra_month_Jun:"juni",ra_month_Mai:"Mei",ra_month_Mar:"mrt",ra_month_Nov:"nov",ra_month_Oct:"Okt",ra_month_Sep:"sept",ra_months_Apr:"april",ra_months_Aug:"aug",ra_months_Dec:"dec",ra_months_Feb:"februari",ra_months_Jan:"jan",ra_months_Jul:"jul",ra_months_Jun:"juni",ra_months_Mai:"Mei",ra_months_Mar:"mrt",ra_months_Nov:"nov",ra_months_Oct:"Okt",ra_months_Sep:"sept",ra_none:"geen",ra_object_changed_by:"Object veranderd door",ra_object_changed_by_user:"Object voor het laatst gewijzigd om",ra_otherConfig:"Instellingen van andere adapter %s",ra_qualityCode:"Kwaliteitscode",ra_repeat:"herhalen",ra_select_folder_hint:'Om een map te selecteren, houdt u gewoon de toets "shift" ingedrukt door op de map te klikken.',ra_state_changed_by:"Staat veranderd door",ra_state_changed_from:"Object veranderd van",ra_timestamp:"Tijdstempel",ra_tooltip_ack:"Erkende vlag",ra_tooltip_comment:"Opmerking",ra_tooltip_copyState:"Kopieer de statuswaarde",ra_tooltip_customConfig:"Aangepaste instellingen",ra_tooltip_deleteObject:"Object verwijderen",ra_tooltip_editObject:"Object bewerken",ra_tooltip_editState:"Bewerk de statuswaarde",ra_tooltip_from:"Van",ra_tooltip_lc:"Laatst gewijzigd",ra_tooltip_quality:"Kwaliteit",ra_tooltip_ts:"Tijdstempel",ra_tooltip_user:"Gebruiker",ra_tooltip_value:"Waarde","ra_use seconds":"gebruik seconden",ra_val:"Waarde","ra_via internet":"via internet",ra_warning_every_minute:"Waarschuwing: De CRON-taak wordt elke minuut uitgevoerd gedurende de opgegeven periode!",ra_warning_every_second:"Waarschuwing: De CRON-taak wordt elke seconde uitgevoerd gedurende de opgegeven periode!",sc_cron:"CRON",sc_date:"Datum",sc_dates:"data",sc_dow:"Dag",sc_dows:"Dag van de week",sc_every:"elk",sc_everyN_dates:"elke N dagen",sc_everyN_dow:"elke N-de dag van de week",sc_everyN_dows:"elke N dag van de week",sc_everyN_hours:"elke N uur",sc_everyN_minutes:"elke N minuten",sc_everyN_months:"elke N maanden",sc_everyN_seconds:"elke N seconden",sc_every_dates:"elke dag",sc_every_dow:"elke dag van de week",sc_every_dows:"elke dag van de week",sc_every_hours:"elk uur",sc_every_minutes:"elke minuut",sc_every_months:"elke maand",sc_every_seconds:"elke seconde",sc_from:"Van",sc_hours:"uren",sc_interval:"Interval",sc_intervalBetween:"Interval tussen",sc_invalid_cron:"Ongeldige CRON",sc_minutes:"Notulen",sc_months:"maanden",sc_once:"Een keer",sc_period:"Periode",sc_seconds:"seconden",sc_simple:"Gemakkelijk",sc_specific:"Specifieke tijd",sc_specific_dates:"specifieke data",sc_specific_dow:"specifieke dag(en) van de week",sc_specific_dows:"specifieke dag van weken",sc_specific_hours:"specifieke uren",sc_specific_minutes:"specifieke minuten",sc_specific_months:"specifieke maanden",sc_specific_seconds:"specifieke seconden",sc_time:"Tijd",sc_to:"Naar",sc_wizard:"tovenaar",sch_all:"allemaal",sch_astroDay:"Astro-dag",sch_astroNight:"Astro-nacht",sch_astro_dawn:"Dageraad",sch_astro_dusk:"Schemer",sch_astro_goldenHour:"gouden uur",sch_astro_goldenHourEnd:"Gouden uur einde",sch_astro_nadir:"Nadir",sch_astro_nauticalDawn:"Nautische dageraad",sch_astro_nauticalDusk:"Nautische schemering",sch_astro_night:"Nacht",sch_astro_nightEnd:"Nacht einde",sch_astro_solarNoon:"Zonne middag",sch_astro_sunrise:"zonsopkomst",sch_astro_sunriseEnd:"Sunrise einde",sch_astro_sunset:"Zonsondergang",sch_astro_sunsetStart:"Zonsondergang start",sch_at:"Bij",sch_desc_atTime:"op %s",sch_desc_everyDay:"elke dag",sch_desc_everyHour:"elk uur",sch_desc_everyMinute:"elke minuut",sch_desc_everyMonth:"elke maand",sch_desc_everyNDay:"elke %s dag",sch_desc_everyNHours:"elke %s uur",sch_desc_everyNMinutes:"elke %s minuten",sch_desc_everyNMonths:"elke %s maanden",sch_desc_everyNWeeks:"elke %s weken",sch_desc_everyNYears:"elke %s jaar",sch_desc_everyWeek:"elke week",sch_desc_everyYear:"elk jaar",sch_desc_intervalFromTo:"van %s tot %s",sch_desc_never:"nooit",sch_desc_onDate:"op %s van %s",sch_desc_onDates:"op %s en %s van",sch_desc_onEveryDate:"op elke datum van",sch_desc_onMonth:"%s",sch_desc_onMonths:"%s en %s",sch_desc_onWeekday:"op %s",sch_desc_onWeekdays:"op %s en %s",sch_desc_onWeekends:"in het weekend",sch_desc_onWorkdays:"op werkdagen",sch_desc_onceInPast:"zal niet meer worden uitgevoerd, omdat start verleden tijd is",sch_desc_once_on:"op %s",sch_desc_validFrom:"van %s",sch_desc_validFromTo:"Uitvoeren van tot",sch_desc_validTo:"tot %s",sch_every:"elk",sch_exactTime:"Specifieke tijd",sch_from:"van",sch_fromTo:"Van naar",sch_intervalTime:"Interval tijd",sch_invert:"omkeren",sch_no_one:"geen",sch_on:"Aan",sch_period:"Periode",sch_periodDaily:"Dagelijks",sch_periodDates:"data",sch_periodDay:"Dag",sch_periodEvery:"elk",sch_periodEveryDay:"Elke dag",sch_periodEveryMonth:"Elke maand",sch_periodEveryWeek:"Elke week",sch_periodEveryYear:"Elk jaar",sch_periodHours:"uren",sch_periodMinutes:"Notulen",sch_periodMonth:"maand",sch_periodMonthly:"Maandelijks",sch_periodOnce:"Een keer",sch_periodSpecificMonths:"Specifieke maanden",sch_periodWeek:"Week",sch_periodWeekdays:"Doordeweekse dagen",sch_periodWeekend:"Weekend",sch_periodWeekly:"Wekelijks",sch_periodWorkdays:"werkdagen",sch_periodYear:"Jaar",sch_periodYearly:"jaar-",sch_specificTime:"Specifieke tijd",sch_time:"Tijd",sch_to:"naar",sch_valid:"Geldig",sch_validFrom:"van",sch_validTo:"naar",sch_wholeDay:"Hele dag",sch_yearEveryMonth:"elke maand"};var GG={"ra_%s links from aliases":"%s liens provenant d'alias","ra_%s object(s) processed":"%s objet(s) trait\xE9(s)","ra_%s was imported":"%s a \xE9t\xE9 import\xE9","ra_Accept license":"Accepter la licence","ra_Add new child object to selected parent":"Ajouter un nouvel objet enfant au parent s\xE9lectionn\xE9","ra_Add objects tree from JSON file":"Ajouter une arborescence d'objets \xE0 partir d'un fichier JSON","ra_Add row":"Ajouter une rang\xE9e","ra_Advanced options":"Options avanc\xE9es","ra_All items are filtered out":"Tous les \xE9l\xE9ments sont filtr\xE9s","ra_All objects":"Tous les objets",ra_Append:"Ajouter","ra_Append %s entries or replace existing?":"Ajouter %s entr\xE9es ou remplacer l'existant\xA0?","ra_Append or replace?":"Ajouter ou remplacer\xA0?","ra_Are you sure?":"\xCAtes-vous s\xFBr?","ra_Auto (no custom columns)":"Auto (pas de colonnes personnalis\xE9es)","ra_Back to %s":"Retour \xE0 %s","ra_Background image":"Image de fond",ra_Cancel:"Annuler","ra_Cannot add items with set filter":"Impossible d'ajouter des \xE9l\xE9ments avec le filtre d\xE9fini","ra_Cannot decode license":"Impossible de d\xE9coder la licence","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Impossible de d\xE9terminer la position\xA0: les param\xE8tres syst\xE8me sont vides et la d\xE9tection GPS est d\xE9sactiv\xE9e dans le navigateur",'ra_Cannot find "%s"':'Impossible de trouver "%s"','ra_Cannot read "%s"':'Impossible de lire "%s"',"ra_Cannot read licenses: %s":"Impossible de lire les licences\xA0: %s","ra_Cannot retrieve options, as instance is offline":"Impossible de r\xE9cup\xE9rer les options, car l'instance est hors ligne","ra_Cannot update attribute, because not found in the object":"Impossible de mettre \xE0 jour l'attribut, car il est introuvable dans l'objet","ra_Cannot upload":"Impossible de t\xE9l\xE9charger",ra_Categories:"Cat\xE9gories","ra_Chained certificate":"Certificat cha\xEEn\xE9","ra_Change color theme":"Changer le th\xE8me de couleur","ra_Changed from":"Chang\xE9 de","ra_Channel \u2192 State":"Canal \u2192 \xC9tat","ra_Check license":"V\xE9rifier la licence",ra_Checked:"V\xE9rifi\xE9",ra_Clear:"Effacer","ra_Clear filter":"Effacer le filtre","ra_Clear icon":"Effacer l'ic\xF4ne","ra_Clone current row":"Cloner la ligne actuelle",ra_Close:"Fermer","ra_Collapse all nodes":"R\xE9duire tous les n\u0153uds","ra_Collapse one step node":"R\xE9duire d'un niveau",ra_Commercial:"Commercial",ra_Configure:"Configurer","ra_Configure visible columns":"Configurer les colonnes visibles","ra_Confirm deletion of %s":"Confirmer la suppression de %s",ra_Connected:"Li\xE9",ra_Copied:"Copi\xE9","ra_Copied %s":'"%s" copi\xE9',"ra_Copy content":"Copier le contenu",ra_Create:"Cr\xE9er","ra_Create alias":"Cr\xE9er un alias","ra_Create folder":"Cr\xE9er le dossier","ra_Create new folder in %s":"Cr\xE9er un nouveau dossier dans %s",ra_Crop:"Recadrer","ra_Define CRON...":"D\xE9finir CRON...","ra_Define functions":"D\xE9finir des fonctions","ra_Define rooms":"D\xE9finir des pi\xE8ces","ra_Define schedule":"D\xE9finir le calendrier","ra_Define schedule...":"D\xE9finir le calendrier ...",ra_Del:"Delete",ra_Delete:"Supprimer","ra_Delete (no confirm for 5 mins)":"Supprimer (pas de confirmation pendant 5 minutes)","ra_Delete current row":"Supprimer la ligne actuelle","ra_Deselect all":"Tout d\xE9selectionner","ra_Device \u2192 Channel \u2192 State":"Appareil \u2192 Canal \u2192 \xC9tat",ra_Discard:"Jeter",ra_Disconnected:"D\xE9branch\xE9","ra_Do not export values of states":"Ne pas exporter les valeurs des \xE9tats","ra_Do not use let's encrypt":"Ne pas utiliser let's encrypt","ra_Double click to reset table layout":"Double-cliquez pour r\xE9initialiser la disposition du tableau","ra_Drag 'n' drop some files here, or click to select files":"Glissez-d\xE9posez des fichiers ici, ou cliquez pour s\xE9lectionner des fichiers","ra_Drop file here":"D\xE9poser le fichier ici","ra_Drop the files here...":"D\xE9posez le fichier ici...","ra_Duplicate name":"Nom en double","ra_Edit ACL":"Modifier la LCA","ra_Edit alias":"Modifier l'alias","ra_Edit custom config":"Modifier la configuration personnalis\xE9e","ra_Edit function":"Fonction d'\xE9dition","ra_Edit object field":"Modifier le champ d'objet","ra_Edit role":"Modifier le r\xF4le","ra_Edit room":"Modifier la salle","ra_Edit value":"Modifier la valeur",ra_Error:"Erreur","ra_Expand all nodes":"D\xE9velopper tous les n\u0153uds","ra_Expand one step node":"D\xE9velopper un niveau","ra_Export data to %s file":"Exporter les donn\xE9es vers le fichier %s","ra_Failed to open JSON File":"\xC9chec de l'ouverture du fichier JSON","ra_Fallback custom certificates":"Certificats personnalis\xE9s de secours","ra_File is too big. Max %sk allowed. Try use SVG.":"Le fichier est trop volumineux. Max %sk autoris\xE9. Essayez d'utiliser SVG.",ra_Filter:"Filtre","ra_Filter files":"Filtrer les fichiers","ra_Folder name":"Nom de dossier","ra_Folder \u2192 Channel \u2192 State":"Dossier \u2192 Cha\xEEne \u2192 \xC9tat","ra_Folder \u2192 Device \u2192 Channel \u2192 State":"Dossier \u2192 Appareil \u2192 Canal \u2192 \xC9tat","ra_Folder \u2192 State":"Dossier \u2192 \xC9tat","ra_Folders always first":"Les dossiers toujours en premier",ra_Friday:"Vendredi","ra_Good luck":"Bonne chance","ra_Hide empty folders":"Masquer les dossiers vides","ra_If no file will be created in the folder, it will disappear after the browser closed":"Si aucun fichier ne sera cr\xE9\xE9 dans le dossier, il dispara\xEEtra apr\xE8s la fermeture du navigateur","ra_Import data from %s file":"Importer des donn\xE9es \xE0 partir du fichier %s","ra_Import from %s":"Importer depuis %s","ra_Instance %s is alive":"L'instance %s est active","ra_Instance %s is not alive":"L'instance %s n'est pas active","ra_Instance is not alive":"L'instance n'est pas active","ra_Invalid CRON":"CRON invalide","ra_Invalid JSON":"JSON invalide","ra_Invalid answer from server":"R\xE9ponse invalide du serveur","ra_Invalid parent folder!":"Dossier parent non valide!","ra_Invalid structure":"Structure invalide","ra_JSON editor":"\xC9diteur JSON","ra_Last change":"Dernier changement",ra_Latitude:"Latitude","ra_License %s":"Licence %s","ra_License agreement":"Accord de licence","ra_License does not exist":"La licence n'existe pas","ra_License expired on %s":"Licence expir\xE9e le %s",'ra_License for other product "%s"':'Licence pour un autre produit "%s"',"ra_License is for version %s, but required version is %s.":"La licence est pour la version %s, mais la version requise est %s.","ra_License must be converted":"La licence doit \xEAtre convertie en une version plus r\xE9cente. Vous pouvez le faire dans votre profil iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licence introuvable dans le gestionnaire de licences. Voulez-vous mettre \xE0 jour les licences depuis iobroker.net\xA0?","ra_Listen on all IPs":"\xC9coutez sur toutes les adresses IP","ra_Load configuration from file":"Charger la configuration \xE0 partir du fichier",ra_Longitude:"Longitude",'ra_May not trigger "updateLicenses"':'Peut ne pas d\xE9clencher "updateLicences"',ra_Message:"Message",ra_Monday:"Lundi","ra_Move down":"Descendre","ra_Move up":"D\xE9placer vers le haut",ra_Name:"Nom","ra_No data found in file":"Aucune donn\xE9e trouv\xE9e dans le fichier","ra_No one license found in license manager":"Aucune licence trouv\xE9e dans le gestionnaire de licences","ra_No response from the backend":"Aucune r\xE9ponse du backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Les non-experts ne peuvent cr\xE9er de nouveaux objets que dans "0_userdata.0" ou "alias.0".',"ra_Not a number":"Pas un num\xE9ro",ra_Objects:"Objets",ra_Ok:"D'accord","ra_On weekdays":"En semaine","ra_Only following structures of objects are available:":"Seules les structures d'objets suivantes sont disponibles:","ra_Only selected":"Uniquement s\xE9lectionn\xE9","ra_Owner group":"Groupe propri\xE9taire","ra_Owner user":"Utilisateur propri\xE9taire","ra_Passwords are not equal!":"Les mots de passe ne sont pas \xE9gaux !","ra_Place your files here or click here to open the browse dialog":"Placez vos fichiers ici ou cliquez ici pour ouvrir la bo\xEEte de dialogue de navigation","ra_Please confirm":"Veuillez confirmer","ra_Please create license":"Veuillez cr\xE9er une licence","ra_Please enter the license":"Veuillez entrer la licence","ra_Please select file...":"Veuillez s\xE9lectionner le fichier...","ra_Please select object ID...":"Veuillez s\xE9lectionner l'ID d'objet ...","ra_Port could be used by %s":"Le port pourrait \xEAtre utilis\xE9 par %s","ra_Port is already used by %s":"Le port est d\xE9j\xE0 utilis\xE9 par %s","ra_Private certificate":"Certificat priv\xE9",ra_Product:"Produit","ra_Public certificate":"Certificat public","ra_Quality code":"Qualit\xE9","ra_Refresh tree":"Rafra\xEEchir l'arborescence","ra_Reload files":"Recharger les fichiers",ra_Repeat:"R\xE9p\xE9ter",ra_Replace:"Remplacer","ra_Request timed out":"La demande a expir\xE9","ra_Restrict to folder":"Restreindre au dossier",ra_Root:"Racine",ra_Saturday:"Samedi",ra_Save:"sauver","ra_Save and close":"Sauver et fermer","ra_Save configuration to file":"Enregistrer la configuration dans un fichier","ra_Save objects tree as JSON file":"Enregistrer l'arborescence des objets en tant que fichier JSON","ra_Select all":"Tout s\xE9lectionner","ra_Select color":"Choisissez la couleur","ra_Select predefined icon":"S\xE9lectionnez l'ic\xF4ne pr\xE9d\xE9finie","ra_Select type of export":"S\xE9lectionnez le type d'exportation",ra_Selected:"Choisi","ra_Selected %s object(s)":"Objet(s) %s s\xE9lectionn\xE9(s)","ra_Serial number (UUID)":"Num\xE9ro de s\xE9rie (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Le num\xE9ro de s\xE9rie (UUID) "%s" dans la licence est pour un autre appareil.',"ra_Show all folders":"Afficher tous les dossiers","ra_Show lines between rows":"Afficher les lignes entre les lignes","ra_Show/Hide object descriptions":"Afficher/Masquer les descriptions d'objets","ra_Show/hide filter input":"Afficher/masquer l'entr\xE9e de filtre","ra_Some data are not stored. Discard?":"Certaines donn\xE9es ne sont pas stock\xE9es. Jeter?",ra_States:"\xC9tats","ra_Suitable license not found in license manager":"Licence appropri\xE9e introuvable dans le gestionnaire de licences",ra_Sunday:"Dimanche","ra_Suppress question for next %s minutes":"Supprimer la question pour les %s prochaines minutes","ra_System language":"Langue du syst\xE8me","ra_Take browser position":"Prendre position depuis le navigateur","ra_Take position from system settings":"Prendre position \xE0 partir des param\xE8tres syst\xE8me",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Les experts peuvent cr\xE9er des objets partout mais \xE0 partir du deuxi\xE8me niveau (par exemple "vis.0" ou "javascript.0").',"ra_The page you are looking for was not found":"La page que vous recherchez n'a pas \xE9t\xE9 trouv\xE9e","ra_The schedule will be executed every minute. Are you sure?":"Le planning sera ex\xE9cut\xE9 toutes les minutes. \xCAtes-vous s\xFBr ?","ra_The schedule will be executed every second. Are you sure?":"Le planning sera ex\xE9cut\xE9 toutes les secondes. \xCAtes-vous s\xFBr ?",ra_Thursday:"Jeudi",ra_Timestamp:"Horodatage","ra_Toggle expert mode":"Basculer en mode expert","ra_Toggle the states view":"Basculer la vue des \xE9tats","ra_Toggle view mode":"Basculer le mode d'affichage","ra_Too big":"Trop grand","ra_Too small":"Trop petit","ra_Transparent dialog":"Dialogue transparent",ra_Tuesday:"Mardi","ra_Unknown error":"Erreur inconnue","ra_Unknown error!":"Erreur inconnue!",ra_Update:"Mise \xE0 jour","ra_Upload file":"T\xE9l\xE9verser un fichier","ra_Use all available let's encrypt certificates":"Utilisez tous les certificats let's encrypt disponibles","ra_Use iobroker.acme adapter for letsencrypt certificates":"Utiliser l'adaptateur iobroker.acme pour les certificats Letsencrypt","ra_Use system settings for position":"Utiliser les param\xE8tres syst\xE8me pour la position","ra_Used system settings":"Param\xE8tres syst\xE8me utilis\xE9s","ra_User files":"Fichiers utilisateurs",ra_ValidTill:"Valable jusqu'au",ra_Value:"Valeur",ra_Version:"Version","ra_View file":"Voir la fiche","ra_View: %s":"Affichage : %s",ra_Wednesday:"Mercredi",ra_Width:"Largeur",ra_Yes:"Oui","ra_You can export all objects or just the selected branch.":"Vous pouvez exporter tous les objets ou uniquement la branche s\xE9lectionn\xE9e.","ra_You can filter entries by entering here some text":"Vous pouvez filtrer les entr\xE9es en saisissant ici du texte",ra___different__:"diff\xE9rent",ra_aclEveryone_read_object:"Tout le monde peut lire un objet",ra_aclEveryone_read_state:"Tout le monde peut lire l'\xE9tat",ra_aclEveryone_write_object:"Tout le monde peut \xE9crire un objet",ra_aclEveryone_write_state:"Tout le monde peut \xE9crire l'\xE9tat",ra_aclGroup_read_object:"Le groupe peut lire l'objet",ra_aclGroup_read_state:"Le groupe peut lire l'\xE9tat",ra_aclGroup_write_object:"Le groupe peut \xE9crire un objet",ra_aclGroup_write_state:"Le groupe peut \xE9crire l'\xE9tat",ra_aclOwner_read_object:"Le propri\xE9taire peut lire l'objet",ra_aclOwner_read_state:"Le propri\xE9taire peut lire l'\xE9tat",ra_aclOwner_write_object:"Le propri\xE9taire peut \xE9crire un objet",ra_aclOwner_write_state:"Le propri\xE9taire peut \xE9crire l'\xE9tat",ra_buttons:"Boutons",ra_changedFrom:"Chang\xE9 de",ra_close:"Fermer",ra_create_boolean_state:"Cr\xE9er un \xE9tat bool\xE9en",ra_create_channel:"Cr\xE9er une cha\xEEne",ra_create_device:"Cr\xE9er un appareil",ra_create_number_state:"Cr\xE9er un \xE9tat de num\xE9ro",ra_create_state:"Cr\xE9er un \xE9tat",ra_create_string_state:"Cr\xE9er un \xE9tat de cha\xEEne",ra_daysShortText:"j.",ra_dow_Fr:"Fr",ra_dow_Mo:"Mo",ra_dow_Sa:"Sa",ra_dow_Su:"Su",ra_dow_Th:"Th",ra_dow_Tu:"Tu",ra_dow_We:"Nous",ra_expertMode:"Mode expert",ra_fileType_all:"Tous les fichiers",ra_fileType_audio:"l'audio",ra_fileType_code:"Code/JSON",ra_fileType_images:"Images",ra_fileType_txt:"Texte",ra_fileType_video:"Vid\xE9o","ra_fileType_video,":"Vid\xE9o",ra_filter_customs:"Param\xE8tres",ra_filter_customs_without:"sans",ra_filter_func:"Une fonction",ra_filter_id:"ID",ra_filter_name:"Pr\xE9nom",ra_filter_role:"R\xF4le",ra_filter_room:"Pi\xE8ce",ra_filter_type:"Type","ra_import data from %s file":"Importer des donn\xE9es \xE0 partir du fichier %s",ra_invalidConfig:"Param\xE8tres invalides",ra_lastChange:"Dernier changement",ra_locally:"localement",ra_month_Apr:"Avr",ra_month_Aug:"Ao\xFBt",ra_month_Dec:"D\xE9c",ra_month_Feb:"F\xE9v",ra_month_Jan:"Jan",ra_month_Jul:"Juil",ra_month_Jun:"Juin",ra_month_Mai:"Mai",ra_month_Mar:"Mar",ra_month_Nov:"Nov",ra_month_Oct:"Oct",ra_month_Sep:"Sep",ra_months_Apr:"Avr",ra_months_Aug:"Ao\xFBt",ra_months_Dec:"D\xE9c",ra_months_Feb:"F\xE9v",ra_months_Jan:"Jan",ra_months_Jul:"Juil",ra_months_Jun:"Juin",ra_months_Mai:"Mai",ra_months_Mar:"Mar",ra_months_Nov:"Nov",ra_months_Oct:"Oct",ra_months_Sep:"Sep",ra_none:"rien",ra_object_changed_by:"Objet modifi\xE9 par",ra_object_changed_by_user:"Objet modifi\xE9 pour la derni\xE8re fois \xE0",ra_otherConfig:"Param\xE8tres d'un autre adaptateur %s",ra_qualityCode:"Code de qualit\xE9",ra_repeat:"r\xE9p\xE9ter",ra_select_folder_hint:'Pour s\xE9lectionner un dossier, maintenez simplement la touche "shift" enfonc\xE9e en cliquant sur le dossier.',ra_state_changed_by:"\xC9tat modifi\xE9 par",ra_state_changed_from:"Objet chang\xE9 de",ra_timestamp:"Horodatage",ra_tooltip_ack:"Drapeau reconnu",ra_tooltip_comment:"Commentaire",ra_tooltip_copyState:"Copiez la valeur d'\xE9tat",ra_tooltip_customConfig:"Param\xE8tres personnalis\xE9s",ra_tooltip_deleteObject:"Supprimer un objet",ra_tooltip_editObject:"Modifier l'objet",ra_tooltip_editState:"Modifier la valeur d'\xE9tat",ra_tooltip_from:"De",ra_tooltip_lc:"Derni\xE8re modification",ra_tooltip_quality:"Qualit\xE9",ra_tooltip_ts:"Horodatage",ra_tooltip_user:"Utilisateur",ra_tooltip_value:"Valeur","ra_use seconds":"utiliser les secondes",ra_val:"Valeur","ra_via internet":"par Internet",ra_warning_every_minute:"Attention\xA0: la t\xE2che CRON s\u2019ex\xE9cutera toutes les minutes pendant la p\xE9riode sp\xE9cifi\xE9e\xA0!",ra_warning_every_second:"Attention\xA0: la t\xE2che CRON s\u2019ex\xE9cutera toutes les secondes pendant la p\xE9riode sp\xE9cifi\xE9e\xA0!",sc_cron:"CRON",sc_date:"Date",sc_dates:"Rendez-vous",sc_dow:"Jour",sc_dows:"Jour de la semaine",sc_every:"Chaque",sc_everyN_dates:"tous les N jours",sc_everyN_dow:"chaque Ni\xE8me jour de la semaine",sc_everyN_dows:"tous les N jours de la semaine",sc_everyN_hours:"toutes les N heures",sc_everyN_minutes:"toutes les N minutes",sc_everyN_months:"tous les N mois",sc_everyN_seconds:"toutes les N secondes",sc_every_dates:"tous les jours",sc_every_dow:"Chaque jour de la semaine",sc_every_dows:"Chaque jour de la semaine",sc_every_hours:"Toutes les heures",sc_every_minutes:"chaque minute",sc_every_months:"chaque mois",sc_every_seconds:"chaque seconde",sc_from:"De",sc_hours:"Heures",sc_interval:"Intervalle",sc_intervalBetween:"Intervalle entre",sc_invalid_cron:"CRON non valide",sc_minutes:"Minutes",sc_months:"mois",sc_once:"Une fois que",sc_period:"P\xE9riode",sc_seconds:"Secondes",sc_simple:"Facile",sc_specific:"Temps sp\xE9cifique",sc_specific_dates:"dates sp\xE9cifiques",sc_specific_dow:"jour(s) sp\xE9cifique(s) de la semaine",sc_specific_dows:"jour sp\xE9cifique de semaines",sc_specific_hours:"heures sp\xE9cifiques",sc_specific_minutes:"minutes sp\xE9cifiques",sc_specific_months:"mois sp\xE9cifiques",sc_specific_seconds:"secondes sp\xE9cifiques",sc_time:"Temps",sc_to:"\xC0",sc_wizard:"sorcier",sch_all:"tout",sch_astroDay:"Journ\xE9e astronomique",sch_astroNight:"Nuit astronomique",sch_astro_dawn:"Aube",sch_astro_dusk:"Cr\xE9puscule",sch_astro_goldenHour:"Heure d'or",sch_astro_goldenHourEnd:"Fin de l'heure d'or",sch_astro_nadir:"Nadir",sch_astro_nauticalDawn:"Aube nautique",sch_astro_nauticalDusk:"Cr\xE9puscule nautique",sch_astro_night:"Nuit",sch_astro_nightEnd:"Fin de nuit",sch_astro_solarNoon:"Midi solaire",sch_astro_sunrise:"lever du soleil",sch_astro_sunriseEnd:"Fin du lever du soleil",sch_astro_sunset:"Le coucher du soleil",sch_astro_sunsetStart:"Coucher du soleil",sch_at:"\xE0",sch_desc_atTime:"\xE0 %s",sch_desc_everyDay:"tous les jours",sch_desc_everyHour:"Toutes les heures",sch_desc_everyMinute:"chaque minute",sch_desc_everyMonth:"chaque mois",sch_desc_everyNDay:"chaque %s jour",sch_desc_everyNHours:"chaque %s heures",sch_desc_everyNMinutes:"toutes les %s minutes",sch_desc_everyNMonths:"tous les %s mois",sch_desc_everyNWeeks:"chaque %s semaines",sch_desc_everyNYears:"tous les %s ans",sch_desc_everyWeek:"toutes les semaines",sch_desc_everyYear:"chaque ann\xE9e",sch_desc_intervalFromTo:"de %s \xE0 %s",sch_desc_never:"jamais",sch_desc_onDate:"sur %s de %s",sch_desc_onDates:"sur %s et %s de",sch_desc_onEveryDate:"\xE0 chaque date de",sch_desc_onMonth:"%s",sch_desc_onMonths:"%s et %s",sch_desc_onWeekday:"sur %s",sch_desc_onWeekdays:"sur %s et %s",sch_desc_onWeekends:"les weekends",sch_desc_onWorkdays:"les jours ouvrables",sch_desc_onceInPast:"ne sera plus ex\xE9cut\xE9, car start est dans le pass\xE9",sch_desc_once_on:"sur %s",sch_desc_validFrom:"de %s",sch_desc_validFromTo:"Ex\xE9cuter de \xE0",sch_desc_validTo:"\xE0 %s",sch_every:"chaque",sch_exactTime:"Temps sp\xE9cifique",sch_from:"de",sch_fromTo:"De \xE0",sch_intervalTime:"Temps d'interval",sch_invert:"inverser",sch_no_one:"aucun",sch_on:"sur",sch_period:"P\xE9riode",sch_periodDaily:"du quotidien",sch_periodDates:"Rendez-vous",sch_periodDay:"journ\xE9e",sch_periodEvery:"Chaque",sch_periodEveryDay:"Tous les jours",sch_periodEveryMonth:"Chaque mois",sch_periodEveryWeek:"Toutes les semaines",sch_periodEveryYear:"Chaque ann\xE9e",sch_periodHours:"Heures",sch_periodMinutes:"Minutes",sch_periodMonth:"mois",sch_periodMonthly:"Mensuel",sch_periodOnce:"Une fois que",sch_periodSpecificMonths:"Mois sp\xE9cifiques",sch_periodWeek:"La semaine",sch_periodWeekdays:"Jours de la semaine",sch_periodWeekend:"Weekend",sch_periodWeekly:"Hebdomadaire",sch_periodWorkdays:"Jours ouvrables",sch_periodYear:"Ann\xE9e",sch_periodYearly:"Annuel",sch_specificTime:"Temps sp\xE9cifique",sch_time:"Temps",sch_to:"\xE0",sch_valid:"Valide",sch_validFrom:"de",sch_validTo:"\xE0",sch_wholeDay:"Toute la journ\xE9e",sch_yearEveryMonth:"chaque mois"};var qG={"ra_%s links from aliases":"%s link da alias","ra_%s object(s) processed":"%s oggetti elaborati","ra_%s was imported":"%s \xE8 stato importato","ra_Accept license":"Accetta licenza","ra_Add new child object to selected parent":"Aggiungi un nuovo oggetto figlio al genitore selezionato","ra_Add objects tree from JSON file":"Aggiungi l'albero degli oggetti dal file JSON","ra_Add row":"Aggiungi riga","ra_Advanced options":"Opzioni avanzate","ra_All items are filtered out":"Tutti gli elementi vengono filtrati","ra_All objects":"Tutti gli oggetti",ra_Append:"Aggiungere","ra_Append %s entries or replace existing?":"Aggiungi %s voci o sostituisci quelle esistenti?","ra_Append or replace?":"Aggiungere o sostituire?","ra_Are you sure?":"Sei sicuro?","ra_Auto (no custom columns)":"Auto (nessuna colonna personalizzata)","ra_Back to %s":"Torna a %s","ra_Background image":"Immagine di sfondo",ra_Cancel:"Annulla","ra_Cannot add items with set filter":"Impossibile aggiungere elementi con il filtro impostato","ra_Cannot decode license":"Impossibile decodificare la licenza","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Impossibile determinare la posizione: le impostazioni di sistema sono vuote e il rilevamento GPS \xE8 disabilitato nel browser",'ra_Cannot find "%s"':'Impossibile trovare "%s"','ra_Cannot read "%s"':'Impossibile leggere "%s"',"ra_Cannot read licenses: %s":"Impossibile leggere le licenze: %s","ra_Cannot retrieve options, as instance is offline":"Impossibile recuperare le opzioni, poich\xE9 l'istanza \xE8 offline","ra_Cannot update attribute, because not found in the object":"Impossibile aggiornare l'attributo, perch\xE9 non trovato nell'oggetto","ra_Cannot upload":"Impossibile caricare",ra_Categories:"Categorie","ra_Chained certificate":"Certificato incatenato","ra_Change color theme":"Cambia tema colore","ra_Changed from":"Cambiato da","ra_Channel \u2192 State":"Canale \u2192 Stato","ra_Check license":"Controlla la licenza",ra_Checked:"Controllato",ra_Clear:"Elimina","ra_Clear filter":"Filtro pulito","ra_Clear icon":"Cancella icona","ra_Clone current row":"Clona riga corrente",ra_Close:"Vicino","ra_Collapse all nodes":"Comprimi tutti i nodi","ra_Collapse one step node":"Comprimi un livello",ra_Commercial:"Commerciale",ra_Configure:"Configura","ra_Configure visible columns":"Configura colonne visibili","ra_Confirm deletion of %s":"Conferma l'eliminazione di %s",ra_Connected:"Collegato",ra_Copied:"Copiato","ra_Copied %s":'"%s" copiato',"ra_Copy content":"Copia contenuto",ra_Create:"Creare","ra_Create alias":"Crea alias","ra_Create folder":"Creare una cartella","ra_Create new folder in %s":"Crea nuova cartella in %s",ra_Crop:"Raccolto","ra_Define CRON...":"Definisci CRON...","ra_Define functions":"Definire le funzioni","ra_Define rooms":"Definisci le stanze","ra_Define schedule":"Definisci programma","ra_Define schedule...":"Definisci pianificazione ...",ra_Del:"Delete",ra_Delete:"Elimina","ra_Delete (no confirm for 5 mins)":"Elimina (nessuna conferma per 5 minuti)","ra_Delete current row":"Elimina la riga corrente","ra_Deselect all":"Deseleziona tutto","ra_Device \u2192 Channel \u2192 State":"Dispositivo \u2192 Canale \u2192 Stato",ra_Discard:"Scartare",ra_Disconnected:"Disconnesso","ra_Do not export values of states":"Non esportare i valori degli stati","ra_Do not use let's encrypt":"Non utilizzare crittografiamo","ra_Double click to reset table layout":"Fare doppio clic per ripristinare il layout della tabella","ra_Drag 'n' drop some files here, or click to select files":"Trascina e rilascia alcuni file qui o fai clic per selezionare i file","ra_Drop file here":"Trascina il file qui","ra_Drop the files here...":"Trascina qui il file...","ra_Duplicate name":"Nome duplicato","ra_Edit ACL":"Modifica ACL","ra_Edit alias":"Modifica alias","ra_Edit custom config":"Modifica configurazione personalizzata","ra_Edit function":"Funzione di modifica","ra_Edit object field":"Modifica campo oggetto","ra_Edit role":"Modifica ruolo","ra_Edit room":"Modifica stanza","ra_Edit value":"Modifica valore",ra_Error:"Errore","ra_Expand all nodes":"Espandi tutti i nodi","ra_Expand one step node":"Espandi un livello","ra_Export data to %s file":"Esporta i dati nel file %s","ra_Failed to open JSON File":"Impossibile aprire il file JSON","ra_Fallback custom certificates":"Certificati personalizzati di fallback","ra_File is too big. Max %sk allowed. Try use SVG.":"Il file \xE8 troppo grande. Max %sk consentito. Prova a usare SVG.",ra_Filter:"Filtro","ra_Filter files":"Filtra i file","ra_Folder name":"Nome della cartella","ra_Folder \u2192 Channel \u2192 State":"Cartella \u2192 Canale \u2192 Stato","ra_Folder \u2192 Device \u2192 Channel \u2192 State":"Cartella \u2192 Dispositivo \u2192 Canale \u2192 Stato","ra_Folder \u2192 State":"Cartella \u2192 Stato","ra_Folders always first":"Le cartelle sono sempre al primo posto",ra_Friday:"Venerd\xEC","ra_Good luck":"Buona fortuna","ra_Hide empty folders":"Nascondi cartelle vuote","ra_If no file will be created in the folder, it will disappear after the browser closed":"Se nessun file verr\xE0 creato nella cartella, scomparir\xE0 dopo la chiusura del browser","ra_Import data from %s file":"Importa i dati dal file %s","ra_Import from %s":"Importa da %s","ra_Instance %s is alive":"Il %s dell'istanza \xE8 vivo","ra_Instance %s is not alive":"Il TESTO dell'istanza non \xE8 vivo","ra_Instance is not alive":"L'istanza non \xE8 viva","ra_Invalid CRON":"CRON non valido","ra_Invalid JSON":"JSON non valido","ra_Invalid answer from server":"Risposta non valida dal server","ra_Invalid parent folder!":"Cartella principale non valida!","ra_Invalid structure":"Struttura non valida","ra_JSON editor":"Editor JSON","ra_Last change":"Ultima modifica",ra_Latitude:"Latitudine","ra_License %s":"Licenza %s","ra_License agreement":"Contratto di licenza","ra_License does not exist":"La licenza non esiste","ra_License expired on %s":"Licenza scaduta il %s",'ra_License for other product "%s"':'Licenza per altro prodotto "%s"',"ra_License is for version %s, but required version is %s.":"La licenza \xE8 per la versione %s, ma la versione richiesta \xE8 %s.","ra_License must be converted":"La licenza deve essere convertita in una versione pi\xF9 recente. Puoi farlo nel tuo profilo iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licenza non trovata nel gestore delle licenze. Vuoi aggiornare le licenze da iobroker.net?","ra_Listen on all IPs":"Ascolta su tutti gli IP","ra_Load configuration from file":"Carica la configurazione dal file",ra_Longitude:"Longitudine",'ra_May not trigger "updateLicenses"':'Potrebbe non attivare "updateLicenses"',ra_Message:"Messaggio",ra_Monday:"Lunedi","ra_Move down":"Abbassati","ra_Move up":"Andare avanti",ra_Name:"Nome","ra_No data found in file":"Nessun dato trovato nel file","ra_No one license found in license manager":"Nessuna licenza trovata nel gestore delle licenze","ra_No response from the backend":"Nessuna risposta dal backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'I non esperti possono creare nuovi oggetti solo in "0_userdata.0" o "alias.0".',"ra_Not a number":"Non un numero",ra_Objects:"Oggetti",ra_Ok:"Ok","ra_On weekdays":"Nei giorni della settimana","ra_Only following structures of objects are available:":"Sono disponibili solo le seguenti strutture di oggetti:","ra_Only selected":"Solo selezionato","ra_Owner group":"Gruppo di proprietari","ra_Owner user":"Utente proprietario","ra_Passwords are not equal!":"Le password non sono uguali!","ra_Place your files here or click here to open the browse dialog":"Posiziona i file qui o fai clic qui per aprire la finestra di dialogo Sfoglia","ra_Please confirm":"Si prega di confermare","ra_Please create license":"Si prega di creare la licenza","ra_Please enter the license":"Inserisci la licenza","ra_Please select file...":"Si prega di selezionare il file...","ra_Please select object ID...":"Seleziona l'ID oggetto ...","ra_Port could be used by %s":"La porta potrebbe essere utilizzata da %s","ra_Port is already used by %s":"La porta \xE8 gi\xE0 utilizzata da %s","ra_Private certificate":"Certificato privato",ra_Product:"Prodotto","ra_Public certificate":"Certificato pubblico","ra_Quality code":"Qualit\xE0","ra_Refresh tree":"Aggiorna l'albero","ra_Reload files":"Ricarica i file",ra_Repeat:"Ripetere",ra_Replace:"Sostituire","ra_Request timed out":"Tempo scaduto per la richiesta","ra_Restrict to folder":"Limita alla cartella",ra_Root:"Radice",ra_Saturday:"Sabato",ra_Save:"Salva","ra_Save and close":"Salva e chiudi","ra_Save configuration to file":"Salva la configurazione su file","ra_Save objects tree as JSON file":"Salva l'albero degli oggetti come file JSON","ra_Select all":"Seleziona tutto","ra_Select color":"Seleziona il colore","ra_Select predefined icon":"Seleziona l'icona predefinita","ra_Select type of export":"Seleziona il tipo di esportazione",ra_Selected:"Selezionato","ra_Selected %s object(s)":"%s oggetto/i selezionato/i","ra_Serial number (UUID)":"Numero di serie (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Il numero di serie (UUID) "%s" nella licenza \xE8 per un altro dispositivo.',"ra_Show all folders":"Mostra tutte le cartelle","ra_Show lines between rows":"Mostra linee tra le righe","ra_Show/Hide object descriptions":"Mostra/Nascondi le descrizioni degli oggetti","ra_Show/hide filter input":"Mostra/nascondi input filtro","ra_Some data are not stored. Discard?":"Alcuni dati non vengono memorizzati. Scartare?",ra_States:"stati","ra_Suitable license not found in license manager":"Licenza adatta non trovata nel gestore delle licenze",ra_Sunday:"Domenica","ra_Suppress question for next %s minutes":"Sopprimi la domanda per i prossimi %s minuti","ra_System language":"Linguaggio di sistema","ra_Take browser position":"Prendi posizione dal browser","ra_Take position from system settings":"Prendi posizione dalle impostazioni di sistema",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Gli esperti possono creare oggetti ovunque ma dal secondo livello (es. "Vis.0" o "javascript.0").',"ra_The page you are looking for was not found":"La pagina che stai cercando non \xE8 stata trovata","ra_The schedule will be executed every minute. Are you sure?":"La pianificazione verr\xE0 eseguita ogni minuto. Sei sicuro?","ra_The schedule will be executed every second. Are you sure?":"La pianificazione verr\xE0 eseguita ogni secondo. Sei sicuro?",ra_Thursday:"Gioved\xEC",ra_Timestamp:"Timestamp","ra_Toggle expert mode":"Attiva / disattiva la modalit\xE0 esperto","ra_Toggle the states view":"Attiva o disattiva la visualizzazione degli stati","ra_Toggle view mode":"Attiva / disattiva la modalit\xE0 di visualizzazione","ra_Too big":"Troppo grande","ra_Too small":"Troppo piccolo","ra_Transparent dialog":"Finestra di dialogo trasparente",ra_Tuesday:"Marted\xEC","ra_Unknown error":"Errore sconosciuto","ra_Unknown error!":"Errore sconosciuto!",ra_Update:"Aggiornare","ra_Upload file":"Caricare un file","ra_Use all available let's encrypt certificates":"Usa tutti i certificati Let's Encrypt disponibili","ra_Use iobroker.acme adapter for letsencrypt certificates":"Utilizzare l'adattatore iobroker.acme per i certificati letsencrypt","ra_Use system settings for position":"Usa le impostazioni di sistema per la posizione","ra_Used system settings":"Impostazioni di sistema utilizzate","ra_User files":"File utente",ra_ValidTill:"Valido fino a",ra_Value:"Valore",ra_Version:"Versione","ra_View file":"Vedi il file","ra_View: %s":"Visualizza: %s",ra_Wednesday:"Mercoled\xEC",ra_Width:"Larghezza",ra_Yes:"S\xCC","ra_You can export all objects or just the selected branch.":"Puoi esportare tutti gli oggetti o solo il ramo selezionato.","ra_You can filter entries by entering here some text":"Puoi filtrare le voci inserendo qui del testo",ra___different__:"diverso",ra_aclEveryone_read_object:"Tutti possono leggere gli oggetti",ra_aclEveryone_read_state:"Tutti possono leggere lo stato",ra_aclEveryone_write_object:"Tutti possono scrivere oggetti",ra_aclEveryone_write_state:"Tutti possono scrivere stato",ra_aclGroup_read_object:"Il gruppo pu\xF2 leggere l'oggetto",ra_aclGroup_read_state:"Il gruppo pu\xF2 leggere lo stato",ra_aclGroup_write_object:"Il gruppo pu\xF2 scrivere l'oggetto",ra_aclGroup_write_state:"Il gruppo pu\xF2 scrivere lo stato",ra_aclOwner_read_object:"Il proprietario pu\xF2 leggere l'oggetto",ra_aclOwner_read_state:"Il proprietario pu\xF2 leggere lo stato",ra_aclOwner_write_object:"Il proprietario pu\xF2 scrivere l'oggetto",ra_aclOwner_write_state:"Il proprietario pu\xF2 scrivere lo stato",ra_buttons:"Bottoni",ra_changedFrom:"Cambiato da",ra_close:"vicino",ra_create_boolean_state:"Crea uno stato booleano",ra_create_channel:"Crea canale",ra_create_device:"Crea dispositivo",ra_create_number_state:"Crea lo stato del numero",ra_create_state:"Crea stato",ra_create_string_state:"Crea lo stato della stringa",ra_daysShortText:"g.",ra_dow_Fr:"fr",ra_dow_Mo:"momento",ra_dow_Sa:"Sa",ra_dow_Su:"su",ra_dow_Th:"th",ra_dow_Tu:"Tu",ra_dow_We:"Noi",ra_expertMode:"Modalit\xE0 esperto",ra_fileType_all:"Tutti i files",ra_fileType_audio:"Audio",ra_fileType_code:"Codice/JSON",ra_fileType_images:"immagini",ra_fileType_txt:"Testo",ra_fileType_video:"video","ra_fileType_video,":"video",ra_filter_customs:"impostazioni",ra_filter_customs_without:"senza",ra_filter_func:"Funzione",ra_filter_id:"ID",ra_filter_name:"Nome",ra_filter_role:"Ruolo",ra_filter_room:"Camera",ra_filter_type:"genere","ra_import data from %s file":"Importa dati dal file %s",ra_invalidConfig:"Impostazioni non valide",ra_lastChange:"Ultima modifica",ra_locally:"localmente",ra_month_Apr:"apr",ra_month_Aug:"agosto",ra_month_Dec:"Dic",ra_month_Feb:"febbraio",ra_month_Jan:"gen",ra_month_Jul:"lug",ra_month_Jun:"giu",ra_month_Mai:"Mai",ra_month_Mar:"marzo",ra_month_Nov:"nov",ra_month_Oct:"ottobre",ra_month_Sep:"Sett",ra_months_Apr:"apr",ra_months_Aug:"agosto",ra_months_Dec:"Dic",ra_months_Feb:"febbraio",ra_months_Jan:"gen",ra_months_Jul:"lug",ra_months_Jun:"giu",ra_months_Mai:"Mai",ra_months_Mar:"marzo",ra_months_Nov:"nov",ra_months_Oct:"ottobre",ra_months_Sep:"Sett",ra_none:"nessuna",ra_object_changed_by:"Oggetto modificato da",ra_object_changed_by_user:"L'oggetto \xE8 stato modificato l'ultima volta alle",ra_otherConfig:"Impostazioni dall'altro adattatore %s",ra_qualityCode:"Codice di qualit\xE0",ra_repeat:"ripetere",ra_select_folder_hint:'Per selezionare la cartella, basta tenere premuto il tasto "shift" facendo clic sulla cartella.',ra_state_changed_by:"Stato cambiato da",ra_state_changed_from:"Oggetto cambiato da",ra_timestamp:"Timestamp",ra_tooltip_ack:"Bandiera riconosciuta",ra_tooltip_comment:"Commento",ra_tooltip_copyState:"Copia il valore dello stato",ra_tooltip_customConfig:"Impostazioni personalizzate",ra_tooltip_deleteObject:"Elimina oggetto",ra_tooltip_editObject:"Modifica oggetto",ra_tooltip_editState:"Modifica il valore dello stato",ra_tooltip_from:"A partire dal",ra_tooltip_lc:"Ultima modifica",ra_tooltip_quality:"Qualit\xE0",ra_tooltip_ts:"Data e ora",ra_tooltip_user:"Utente",ra_tooltip_value:"Valore","ra_use seconds":"usa i secondi",ra_val:"Valore","ra_via internet":"attraverso internet",ra_warning_every_minute:"Attenzione: il processo CRON verr\xE0 eseguito ogni minuto durante il periodo specificato!",ra_warning_every_second:"Attenzione: il processo CRON verr\xE0 eseguito ogni secondo durante il periodo specificato!",sc_cron:"CRON",sc_date:"Data",sc_dates:"Date",sc_dow:"Giorno",sc_dows:"Giorno della settimana",sc_every:"Ogni",sc_everyN_dates:"ogni N giorni",sc_everyN_dow:"ogni Nesimo giorno della settimana",sc_everyN_dows:"ogni N giorno della settimana",sc_everyN_hours:"ogni N ore",sc_everyN_minutes:"ogni N minuti",sc_everyN_months:"ogni N mesi",sc_everyN_seconds:"ogni N secondi",sc_every_dates:"ogni giorno",sc_every_dow:"Tutti i giorni della settimana",sc_every_dows:"Tutti i giorni della settimana",sc_every_hours:"ogni ora",sc_every_minutes:"ogni minuto",sc_every_months:"ogni mese",sc_every_seconds:"ogni secondo",sc_from:"A partire dal",sc_hours:"Ore",sc_interval:"Intervallo",sc_intervalBetween:"Intervallo tra",sc_invalid_cron:"CRON non valido",sc_minutes:"Minuti",sc_months:"mesi",sc_once:"Una volta",sc_period:"Periodo",sc_seconds:"secondi",sc_simple:"Semplice",sc_specific:"Orario preciso",sc_specific_dates:"date specifiche",sc_specific_dow:"giorno/i specifico/i della settimana",sc_specific_dows:"giorno specifico delle settimane",sc_specific_hours:"orari specifici",sc_specific_minutes:"minuti specifici",sc_specific_months:"mesi specifici",sc_specific_seconds:"secondi specifici",sc_time:"Tempo",sc_to:"Per",sc_wizard:"procedura guidata",sch_all:"tutti",sch_astroDay:"Astro day",sch_astroNight:"Astro night",sch_astro_dawn:"Alba",sch_astro_dusk:"Crepuscolo",sch_astro_goldenHour:"Ora d'oro",sch_astro_goldenHourEnd:"Fine dell'ora d'oro",sch_astro_nadir:"Nadir",sch_astro_nauticalDawn:"Alba nautica",sch_astro_nauticalDusk:"Crepuscolo nautico",sch_astro_night:"Notte",sch_astro_nightEnd:"Fine della notte",sch_astro_solarNoon:"Mezzogiorno solare",sch_astro_sunrise:"Alba",sch_astro_sunriseEnd:"Fine dell'alba",sch_astro_sunset:"Tramonto",sch_astro_sunsetStart:"Inizio del tramonto",sch_at:"a",sch_desc_atTime:"a %s",sch_desc_everyDay:"ogni giorno",sch_desc_everyHour:"ogni ora",sch_desc_everyMinute:"ogni minuto",sch_desc_everyMonth:"ogni mese",sch_desc_everyNDay:"ogni %s giorno",sch_desc_everyNHours:"ogni %s ore",sch_desc_everyNMinutes:"ogni %s minuti",sch_desc_everyNMonths:"ogni %s mesi",sch_desc_everyNWeeks:"ogni %s settimane",sch_desc_everyNYears:"ogni %s anni",sch_desc_everyWeek:"ogni settimana",sch_desc_everyYear:"ogni anno",sch_desc_intervalFromTo:"da %s a %s",sch_desc_never:"mai",sch_desc_onDate:"su %s di %s",sch_desc_onDates:"su %s e %s di",sch_desc_onEveryDate:"in ogni data di",sch_desc_onMonth:"%s",sch_desc_onMonths:"%s e %s",sch_desc_onWeekday:"su %s",sch_desc_onWeekdays:"su %s e %s",sch_desc_onWeekends:"nei finesettimana",sch_desc_onWorkdays:"nei giorni lavorativi",sch_desc_onceInPast:"non verr\xE0 pi\xF9 eseguito, perch\xE9 start \xE8 nel passato",sch_desc_once_on:"su %s",sch_desc_validFrom:"da %s",sch_desc_validFromTo:"Eseguire da a",sch_desc_validTo:"a %s",sch_every:"ogni",sch_exactTime:"Orario preciso",sch_from:"a partire dal",sch_fromTo:"Da A",sch_intervalTime:"Intervallo di tempo",sch_invert:"invertire",sch_no_one:"nessuna",sch_on:"sopra",sch_period:"Periodo",sch_periodDaily:"Quotidiano",sch_periodDates:"Date",sch_periodDay:"Giorno",sch_periodEvery:"Ogni",sch_periodEveryDay:"Ogni giorno",sch_periodEveryMonth:"Ogni mese",sch_periodEveryWeek:"Ogni settimana",sch_periodEveryYear:"Ogni anno",sch_periodHours:"Ore",sch_periodMinutes:"Minuti",sch_periodMonth:"mese",sch_periodMonthly:"Mensile",sch_periodOnce:"Una volta",sch_periodSpecificMonths:"Mesi specifici",sch_periodWeek:"Settimana",sch_periodWeekdays:"Giorni della settimana",sch_periodWeekend:"Fine settimana",sch_periodWeekly:"settimanalmente",sch_periodWorkdays:"giorni feriali",sch_periodYear:"Anno",sch_periodYearly:"Annuale",sch_specificTime:"Orario preciso",sch_time:"Tempo",sch_to:"per",sch_valid:"Valido",sch_validFrom:"a partire dal",sch_validTo:"per",sch_wholeDay:"Giorno intero",sch_yearEveryMonth:"ogni mese"};var KG={"ra_%s links from aliases":"%s enlaces de alias","ra_%s object(s) processed":"%s objeto(s) procesados","ra_%s was imported":"%s fue importado","ra_Accept license":"Aceptar licencia","ra_Add new child object to selected parent":"Agregar nuevo objeto hijo al padre seleccionado","ra_Add objects tree from JSON file":"Agregar \xE1rbol de objetos desde el archivo JSON","ra_Add row":"A\xF1adir fila","ra_Advanced options":"Opciones avanzadas","ra_All items are filtered out":"Todos los elementos se filtran","ra_All objects":"Todos los objetos",ra_Append:"Adjuntar","ra_Append %s entries or replace existing?":"\xBFAgregar %s entradas o reemplazar las existentes?","ra_Append or replace?":"\xBFAgregar o reemplazar?","ra_Are you sure?":"\xBFEst\xE1s seguro?","ra_Auto (no custom columns)":"Autom\xE1tico (sin columnas personalizadas)","ra_Back to %s":"Volver a %s","ra_Background image":"Imagen de fondo",ra_Cancel:"Cancelar","ra_Cannot add items with set filter":"No se pueden agregar elementos con el filtro establecido","ra_Cannot decode license":"No se puede decodificar la licencia","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"No se puede determinar la posici\xF3n: la configuraci\xF3n del sistema est\xE1 vac\xEDa y la detecci\xF3n de GPS est\xE1 deshabilitada en el navegador",'ra_Cannot find "%s"':'No se puede encontrar "%s"','ra_Cannot read "%s"':'No se puede leer "%s"',"ra_Cannot read licenses: %s":"No se pueden leer licencias: %s","ra_Cannot retrieve options, as instance is offline":"No se pueden recuperar las opciones, ya que la instancia est\xE1 fuera de l\xEDnea","ra_Cannot update attribute, because not found in the object":"No se puede actualizar el atributo porque no se encuentra en el objeto","ra_Cannot upload":"no se puede cargar",ra_Categories:"Categor\xEDas","ra_Chained certificate":"certificado encadenado","ra_Change color theme":"Cambiar tema de color","ra_Changed from":"Cambiaron desde","ra_Channel \u2192 State":"Canal \u2192 Estado","ra_Check license":"Verificar licencia",ra_Checked:"Comprobado",ra_Clear:"Borrar","ra_Clear filter":"Filtro claro","ra_Clear icon":"Icono claro","ra_Clone current row":"Clonar fila actual",ra_Close:"Cerca","ra_Collapse all nodes":"Contraer todos los nodos","ra_Collapse one step node":"Contraer un nivel",ra_Commercial:"Comercial",ra_Configure:"Configurar","ra_Configure visible columns":"Configurar columnas visibles","ra_Confirm deletion of %s":"Confirmar la eliminaci\xF3n de %s",ra_Connected:"Conectado",ra_Copied:"Copiado","ra_Copied %s":'Copiado "%s"',"ra_Copy content":"Copiar contenido",ra_Create:"Crear","ra_Create alias":"Crear alias","ra_Create folder":"Crear carpeta","ra_Create new folder in %s":"Crear nueva carpeta en %s",ra_Crop:"Cultivo","ra_Define CRON...":"Definir CRON...","ra_Define functions":"Definir funciones","ra_Define rooms":"Definir habitaciones","ra_Define schedule":"Definir horario","ra_Define schedule...":"Definir horario ...",ra_Del:"Delete",ra_Delete:"Eliminar","ra_Delete (no confirm for 5 mins)":"Eliminar (sin confirmar durante 5 minutos)","ra_Delete current row":"Eliminar fila actual","ra_Deselect all":"Deselecciona todo","ra_Device \u2192 Channel \u2192 State":"Dispositivo \u2192 Canal \u2192 Estado",ra_Discard:"Desechar",ra_Disconnected:"Desconectado","ra_Do not export values of states":"No exportar valores de estados.","ra_Do not use let's encrypt":"No use vamos a cifrar","ra_Double click to reset table layout":"Haga doble clic para restablecer el dise\xF1o de la tabla","ra_Drag 'n' drop some files here, or click to select files":"Arrastre y suelte algunos archivos aqu\xED, o haga clic para seleccionar archivos","ra_Drop file here":"Suelta el archivo aqu\xED","ra_Drop the files here...":"Suelta el archivo aqu\xED ...","ra_Duplicate name":"Nombre duplicado","ra_Edit ACL":"Editar LCA","ra_Edit alias":"Editar alias","ra_Edit custom config":"Editar configuraci\xF3n personalizada","ra_Edit function":"Funci\xF3n de edici\xF3n","ra_Edit object field":"Editar campo de objeto","ra_Edit role":"Editar rol","ra_Edit room":"Cuarto de edici\xF3n","ra_Edit value":"Editar valor",ra_Error:"Error","ra_Expand all nodes":"Expandir todos los nodos","ra_Expand one step node":"Expandir un nivel","ra_Export data to %s file":"Exportar datos al archivo %s","ra_Failed to open JSON File":"No se pudo abrir el archivo JSON","ra_Fallback custom certificates":"Certificados personalizados alternativos","ra_File is too big. Max %sk allowed. Try use SVG.":"El archivo es demasiado grande. M\xE1ximo de %sk permitido. Intenta usar SVG.",ra_Filter:"Filtrar","ra_Filter files":"Filtrar archivos","ra_Folder name":"Nombre de la carpeta","ra_Folder \u2192 Channel \u2192 State":"Carpeta \u2192 Canal \u2192 Estado","ra_Folder \u2192 Device \u2192 Channel \u2192 State":"Carpeta \u2192 Dispositivo \u2192 Canal \u2192 Estado","ra_Folder \u2192 State":"Carpeta \u2192 Estado","ra_Folders always first":"Carpetas siempre primero",ra_Friday:"Viernes","ra_Good luck":"Buena suerte","ra_Hide empty folders":"Ocultar carpetas vac\xEDas","ra_If no file will be created in the folder, it will disappear after the browser closed":"Si no se crear\xE1 ning\xFAn archivo en la carpeta, desaparecer\xE1 despu\xE9s de que se cierre el navegador.","ra_Import data from %s file":"Importar datos del archivo %s","ra_Import from %s":"Importar desde %s","ra_Instance %s is alive":"Instancia %s est\xE1 vivo","ra_Instance %s is not alive":"Instancia %s no est\xE1 vivo","ra_Instance is not alive":"La instancia no est\xE1 viva","ra_Invalid CRON":"CRON no v\xE1lido","ra_Invalid JSON":"JSON no v\xE1lido","ra_Invalid answer from server":"Respuesta inv\xE1lida del servidor","ra_Invalid parent folder!":"Carpeta principal no v\xE1lida.","ra_Invalid structure":"Estructura inv\xE1lida","ra_JSON editor":"editor JSON","ra_Last change":"Ultimo cambio",ra_Latitude:"Latitud","ra_License %s":"Licencia %s","ra_License agreement":"Acuerdo de licencia","ra_License does not exist":"La licencia no existe","ra_License expired on %s":"La licencia venci\xF3 el %s",'ra_License for other product "%s"':'Licencia para otro producto "%s"',"ra_License is for version %s, but required version is %s.":"La licencia es para la versi\xF3n %s, pero la versi\xF3n requerida es %s.","ra_License must be converted":"La licencia debe convertirse a una versi\xF3n m\xE1s reciente. Puedes hacerlo en tu perfil de iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licencia no encontrada en el administrador de licencias. \xBFQuieres actualizar las licencias de iobroker.net?","ra_Listen on all IPs":"Escuche en todas las IP","ra_Load configuration from file":"Cargar configuraci\xF3n desde archivo",ra_Longitude:"Longitud",'ra_May not trigger "updateLicenses"':'No puede activar "updateLicenses"',ra_Message:"Mensaje",ra_Monday:"Lunes","ra_Move down":"Mover hacia abajo","ra_Move up":"Ascender",ra_Name:"Nombre","ra_No data found in file":"No se encontraron datos en el archivo","ra_No one license found in license manager":"No se encontr\xF3 ninguna licencia en el administrador de licencias","ra_No response from the backend":"No hay respuesta del backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Los no expertos pueden crear nuevos objetos solo en "0_userdata.0" o "alias.0".',"ra_Not a number":"No un n\xFAmero",ra_Objects:"Objetos",ra_Ok:"Okay","ra_On weekdays":"De lunes a viernes","ra_Only following structures of objects are available:":"Solo est\xE1n disponibles las siguientes estructuras de objetos:","ra_Only selected":"Solo seleccionados","ra_Owner group":"Grupo propietario","ra_Owner user":"Usuario propietario","ra_Passwords are not equal!":"\xA1Las contrase\xF1as no son iguales!","ra_Place your files here or click here to open the browse dialog":"Coloque sus archivos aqu\xED o haga clic aqu\xED para abrir el cuadro de di\xE1logo de exploraci\xF3n","ra_Please confirm":"Por favor confirmar","ra_Please create license":"Por favor cree una licencia","ra_Please enter the license":"Por favor ingrese la licencia","ra_Please select file...":"Seleccione el archivo...","ra_Please select object ID...":"Por favor seleccione ID de objeto ...","ra_Port could be used by %s":"El puerto podr\xEDa ser utilizado por %s","ra_Port is already used by %s":"El puerto ya est\xE1 en uso por %s","ra_Private certificate":"certificado privado",ra_Product:"Producto","ra_Public certificate":"Certificado p\xFAblico","ra_Quality code":"Calidad","ra_Refresh tree":"Actualizar \xE1rbol","ra_Reload files":"Recargar archivos",ra_Repeat:"Repetir",ra_Replace:"Reemplazar","ra_Request timed out":"Tiempo de espera agotado","ra_Restrict to folder":"Restringir a carpeta",ra_Root:"Ra\xEDz",ra_Saturday:"S\xE1bado",ra_Save:"Salvar","ra_Save and close":"Guardar y cerrar","ra_Save configuration to file":"Guardar configuraci\xF3n en archivo","ra_Save objects tree as JSON file":"Guardar el \xE1rbol de objetos como archivo JSON","ra_Select all":"Seleccionar todo","ra_Select color":"Seleccionar el color","ra_Select predefined icon":"Seleccionar icono predefinido","ra_Select type of export":"Seleccione tipo de exportaci\xF3n",ra_Selected:"Seleccionado","ra_Selected %s object(s)":"%s objetos seleccionados","ra_Serial number (UUID)":"N\xFAmero de serie (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'El n\xFAmero de serie (UUID) "%s" en la licencia es para otro dispositivo.',"ra_Show all folders":"Mostrar todas las carpetas","ra_Show lines between rows":"Mostrar l\xEDneas entre filas","ra_Show/Hide object descriptions":"Mostrar/ocultar descripciones de objetos","ra_Show/hide filter input":"Mostrar/ocultar entrada de filtro","ra_Some data are not stored. Discard?":"Algunos datos no se almacenan. \xBFDesechar?",ra_States:"Estados","ra_Suitable license not found in license manager":"Licencia adecuada no encontrada en el administrador de licencias",ra_Sunday:"Domingo","ra_Suppress question for next %s minutes":"Suprimir pregunta durante los pr\xF3ximos %s minutos","ra_System language":"Lenguaje del sistema","ra_Take browser position":"Tomar posici\xF3n desde el navegador","ra_Take position from system settings":"Tomar posici\xF3n desde la configuraci\xF3n del sistema",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Los expertos pueden crear objetos en todas partes excepto desde el segundo nivel (por ejemplo, "vis.0" o "javascript.0").',"ra_The page you are looking for was not found":"No se encontr\xF3 la p\xE1gina que busca","ra_The schedule will be executed every minute. Are you sure?":"El cronograma se ejecutar\xE1 cada minuto. \xBFEst\xE1s seguro?","ra_The schedule will be executed every second. Are you sure?":"El cronograma se ejecutar\xE1 cada segundo. \xBFEst\xE1s seguro?",ra_Thursday:"Jueves",ra_Timestamp:"Marca de tiempo","ra_Toggle expert mode":"Alternar modo experto","ra_Toggle the states view":"Alternar la vista de estados","ra_Toggle view mode":"Alternar modo de vista","ra_Too big":"Demasiado grande","ra_Too small":"Demasiado peque\xF1a","ra_Transparent dialog":"Di\xE1logo transparente",ra_Tuesday:"Martes","ra_Unknown error":"Error desconocido","ra_Unknown error!":"\xA1Error desconocido!",ra_Update:"Actualizar","ra_Upload file":"Subir archivo","ra_Use all available let's encrypt certificates":"Utilice todos los certificados let's encrypt disponibles","ra_Use iobroker.acme adapter for letsencrypt certificates":"Use el adaptador iobroker.acme para los certificados de letsencrypt","ra_Use system settings for position":"Usar la configuraci\xF3n del sistema para la posici\xF3n","ra_Used system settings":"Configuraciones del sistema usadas","ra_User files":"Archivos de usuario",ra_ValidTill:"V\xE1lida hasta",ra_Value:"Valor",ra_Version:"Versi\xF3n","ra_View file":"Ver archivo","ra_View: %s":"Ver: %s",ra_Wednesday:"Mi\xE9rcoles",ra_Width:"Anchura",ra_Yes:"S\xED","ra_You can export all objects or just the selected branch.":"Puede exportar todos los objetos o solo la rama seleccionada.","ra_You can filter entries by entering here some text":"Puede filtrar las entradas ingresando aqu\xED alg\xFAn texto",ra___different__:"diferente",ra_aclEveryone_read_object:"Todo el mundo puede leer el objeto",ra_aclEveryone_read_state:"Todos pueden leer el estado",ra_aclEveryone_write_object:"Todos pueden escribir objetos",ra_aclEveryone_write_state:"Todos pueden escribir el estado",ra_aclGroup_read_object:"El grupo puede leer el objeto",ra_aclGroup_read_state:"El grupo puede leer el estado",ra_aclGroup_write_object:"El grupo puede escribir un objeto",ra_aclGroup_write_state:"El grupo puede escribir el estado",ra_aclOwner_read_object:"El propietario puede leer el objeto",ra_aclOwner_read_state:"El propietario puede leer el estado",ra_aclOwner_write_object:"El propietario puede escribir el objeto",ra_aclOwner_write_state:"El propietario puede escribir el estado",ra_buttons:"Botones",ra_changedFrom:"Cambiaron desde",ra_close:"cerrar",ra_create_boolean_state:"Crear estado booleano",ra_create_channel:"Crear canal",ra_create_device:"Crear dispositivo",ra_create_number_state:"Crear estado num\xE9rico",ra_create_state:"Crear estado",ra_create_string_state:"Crear estado de cadena",ra_daysShortText:"d.",ra_dow_Fr:"Fr",ra_dow_Mo:"Mes",ra_dow_Sa:"Sa",ra_dow_Su:"Su",ra_dow_Th:"Th",ra_dow_Tu:"Tu",ra_dow_We:"Nosotros",ra_expertMode:"Modo experto",ra_fileType_all:"Todos los archivos",ra_fileType_audio:"Audio",ra_fileType_code:"C\xF3digo/JSON",ra_fileType_images:"Im\xE1genes",ra_fileType_txt:"Texto",ra_fileType_video:"Video","ra_fileType_video,":"Video",ra_filter_customs:"Configuraciones",ra_filter_customs_without:"sin",ra_filter_func:"Funci\xF3n",ra_filter_id:"ID",ra_filter_name:"Nombre",ra_filter_role:"Papel",ra_filter_room:"Habitaci\xF3n",ra_filter_type:"Tipo","ra_import data from %s file":"Importar datos del archivo %s",ra_invalidConfig:"Configuraciones inv\xE1lidas",ra_lastChange:"Ultimo cambio",ra_locally:"en la zona",ra_month_Apr:"Abr",ra_month_Aug:"Ago",ra_month_Dec:"Dic",ra_month_Feb:"Feb",ra_month_Jan:"Ene",ra_month_Jul:"Jul",ra_month_Jun:"Jun",ra_month_Mai:"Mai",ra_month_Mar:"Mar",ra_month_Nov:"Nov",ra_month_Oct:"Oct",ra_month_Sep:"Sep",ra_months_Apr:"Abr",ra_months_Aug:"Ago",ra_months_Dec:"Dic",ra_months_Feb:"Feb",ra_months_Jan:"Ene",ra_months_Jul:"Jul",ra_months_Jun:"Jun",ra_months_Mai:"Mai",ra_months_Mar:"Mar",ra_months_Nov:"Nov",ra_months_Oct:"Oct",ra_months_Sep:"Sep",ra_none:"ninguno",ra_object_changed_by:"Objeto cambiado por",ra_object_changed_by_user:"Objeto cambiado por \xFAltima vez a las",ra_otherConfig:"Configuraciones de otro adaptador %s",ra_qualityCode:"C\xF3digo de calidad",ra_repeat:"repetir",ra_select_folder_hint:'Para seleccionar la carpeta, simplemente mantenga presionada la tecla "shift" haciendo clic en la carpeta.',ra_state_changed_by:"Estado cambiado por",ra_state_changed_from:"Objeto cambiado de",ra_timestamp:"Marca de tiempo",ra_tooltip_ack:"Bandera reconocida",ra_tooltip_comment:"Comentario",ra_tooltip_copyState:"Copie el valor del estado",ra_tooltip_customConfig:"Ajustes personalizados",ra_tooltip_deleteObject:"Eliminar objeto",ra_tooltip_editObject:"Editar objeto",ra_tooltip_editState:"Edite el valor del estado",ra_tooltip_from:"Desde",ra_tooltip_lc:"\xDAltimo cambio",ra_tooltip_quality:"Calidad",ra_tooltip_ts:"Sello de tiempo",ra_tooltip_user:"Usuario",ra_tooltip_value:"Valor","ra_use seconds":"usar segundos",ra_val:"Valor","ra_via internet":"v\xEDa Internet",ra_warning_every_minute:"Advertencia: \xA1El trabajo CRON se ejecutar\xE1 cada minuto durante el per\xEDodo especificado!",ra_warning_every_second:"Advertencia: \xA1El trabajo CRON se ejecutar\xE1 cada segundo durante el per\xEDodo especificado!",sc_cron:"CRON",sc_date:"Fecha",sc_dates:"fechas",sc_dow:"D\xEDa",sc_dows:"D\xEDa de la semana",sc_every:"Cada",sc_everyN_dates:"cada N d\xEDas",sc_everyN_dow:"cada en\xE9simo d\xEDa de la semana",sc_everyN_dows:"cada N d\xEDa de la semana",sc_everyN_hours:"cada N horas",sc_everyN_minutes:"cada N minutos",sc_everyN_months:"cada N meses",sc_everyN_seconds:"cada N segundos",sc_every_dates:"cada d\xEDa",sc_every_dow:"Cada d\xEDa de la semana",sc_every_dows:"Cada d\xEDa de la semana",sc_every_hours:"cada hora",sc_every_minutes:"cada minuto",sc_every_months:"cada mes",sc_every_seconds:"cada segundo",sc_from:"De",sc_hours:"Horas",sc_interval:"Intervalo",sc_intervalBetween:"Intervalo entre",sc_invalid_cron:"CRON no v\xE1lido",sc_minutes:"Minutos",sc_months:"meses",sc_once:"Una vez",sc_period:"Per\xEDodo",sc_seconds:"Segundos",sc_simple:"Sencillo",sc_specific:"Tiempo espec\xEDfico",sc_specific_dates:"fechas especificas",sc_specific_dow:"d\xEDa(s) espec\xEDfico(s) de la semana",sc_specific_dows:"d\xEDa espec\xEDfico de semanas",sc_specific_hours:"horas espec\xEDficas",sc_specific_minutes:"minutos espec\xEDficos",sc_specific_months:"meses espec\xEDficos",sc_specific_seconds:"segundos espec\xEDficos",sc_time:"Hora",sc_to:"A",sc_wizard:"Mago",sch_all:"todas",sch_astroDay:"D\xEDa astro",sch_astroNight:"Noche astro",sch_astro_dawn:"Amanecer",sch_astro_dusk:"Oscuridad",sch_astro_goldenHour:"hora dorada",sch_astro_goldenHourEnd:"Fin de la hora dorada",sch_astro_nadir:"Nadir",sch_astro_nauticalDawn:"Amanecer n\xE1utico",sch_astro_nauticalDusk:"Anochecer n\xE1utico",sch_astro_night:"Noche",sch_astro_nightEnd:"Fin de la noche",sch_astro_solarNoon:"Mediod\xEDa solar",sch_astro_sunrise:"amanecer",sch_astro_sunriseEnd:"Fin del amanecer",sch_astro_sunset:"Puesta de sol",sch_astro_sunsetStart:"Puesta de sol",sch_at:"a",sch_desc_atTime:"en %s",sch_desc_everyDay:"cada d\xEDa",sch_desc_everyHour:"cada hora",sch_desc_everyMinute:"cada minuto",sch_desc_everyMonth:"cada mes",sch_desc_everyNDay:"cada %s d\xEDas",sch_desc_everyNHours:"cada %s horas",sch_desc_everyNMinutes:"cada %s minutos",sch_desc_everyNMonths:"cada %s meses",sch_desc_everyNWeeks:"cada %s semanas",sch_desc_everyNYears:"cada %s a\xF1os",sch_desc_everyWeek:"cada semana",sch_desc_everyYear:"todos los a\xF1os",sch_desc_intervalFromTo:"de %s a %s",sch_desc_never:"Nunca",sch_desc_onDate:"en %s de %s",sch_desc_onDates:"en %s y %s de",sch_desc_onEveryDate:"en cada fecha de",sch_desc_onMonth:"%s",sch_desc_onMonths:"%s y %s",sch_desc_onWeekday:"en %s",sch_desc_onWeekdays:"en %s y %s",sch_desc_onWeekends:"en los fines de semana",sch_desc_onWorkdays:"en d\xEDas laborables",sch_desc_onceInPast:"ya no se ejecutar\xE1 m\xE1s, porque el inicio est\xE1 en el pasado",sch_desc_once_on:"en %s",sch_desc_validFrom:"de %s",sch_desc_validFromTo:"Ejecutar desde hasta",sch_desc_validTo:"a %s",sch_every:"cada",sch_exactTime:"Tiempo espec\xEDfico",sch_from:"de",sch_fromTo:"De-a",sch_intervalTime:"Tiempo de intervalo",sch_invert:"invertir; poner boca abajo o en la posici\xF3n opuesta, orden o arreglo; Boca abajo",sch_no_one:"ninguna",sch_on:"en",sch_period:"Per\xEDodo",sch_periodDaily:"Diario",sch_periodDates:"fechas",sch_periodDay:"D\xEDa",sch_periodEvery:"Cada",sch_periodEveryDay:"Cada d\xEDa",sch_periodEveryMonth:"Cada mes",sch_periodEveryWeek:"Cada semana",sch_periodEveryYear:"Todos los a\xF1os",sch_periodHours:"Horas",sch_periodMinutes:"Minutos",sch_periodMonth:"mes",sch_periodMonthly:"Mensual",sch_periodOnce:"Una vez",sch_periodSpecificMonths:"Meses espec\xEDficos",sch_periodWeek:"Semana",sch_periodWeekdays:"D\xEDas laborables",sch_periodWeekend:"Fin de semana",sch_periodWeekly:"Semanal",sch_periodWorkdays:"D\xEDas laborables",sch_periodYear:"A\xF1o",sch_periodYearly:"Anual",sch_specificTime:"Tiempo espec\xEDfico",sch_time:"Hora",sch_to:"a",sch_valid:"V\xE1lido",sch_validFrom:"de",sch_validTo:"a",sch_wholeDay:"Todo el dia",sch_yearEveryMonth:"cada mes"};var XG={"ra_%s links from aliases":"%s link\xF3w z alias\xF3w","ra_%s object(s) processed":"Przetworzono %s obiekt\xF3w","ra_%s was imported":"%s zosta\u0142 zaimportowany","ra_Accept license":"Zaakceptuj licencj\u0119","ra_Add new child object to selected parent":"Dodaj nowy obiekt potomny do wybranego rodzica","ra_Add objects tree from JSON file":"Dodaj drzewo obiekt\xF3w z pliku JSON","ra_Add row":"Dodaj wiersz","ra_Advanced options":"Zaawansowane opcje","ra_All items are filtered out":"Wszystkie pozycje s\u0105 odfiltrowane","ra_All objects":"Wszystkie obiekty",ra_Append:"Doda\u0107","ra_Append %s entries or replace existing?":"Do\u0142\u0105czy\u0107 wpisy %s czy zast\u0105pi\u0107 istniej\u0105ce?","ra_Append or replace?":"Do\u0142\u0105czy\u0107 czy zast\u0105pi\u0107?","ra_Are you sure?":"Jeste\u015B pewny?","ra_Auto (no custom columns)":"Auto (bez kolumn niestandardowych)","ra_Back to %s":"Powr\xF3t do %s","ra_Background image":"Zdj\u0119cie w tle",ra_Cancel:"Anuluj","ra_Cannot add items with set filter":"Nie mo\u017Cna doda\u0107 element\xF3w z ustawionym filtrem","ra_Cannot decode license":"Nie mo\u017Cna zdekodowa\u0107 licencji","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Nie mo\u017Cna okre\u015Bli\u0107 pozycji: ustawienia systemu s\u0105 puste, a wykrywanie GPS jest wy\u0142\u0105czone w przegl\u0105darce",'ra_Cannot find "%s"':"Nie mo\u017Cna znale\u017A\u0107 \u201E%s\u201D",'ra_Cannot read "%s"':"Nie mo\u017Cna odczyta\u0107 \u201E%s\u201D","ra_Cannot read licenses: %s":"Nie mo\u017Cna odczyta\u0107 licencji: %s","ra_Cannot retrieve options, as instance is offline":"Nie mo\u017Cna pobra\u0107 opcji, poniewa\u017C instancja jest w trybie offline","ra_Cannot update attribute, because not found in the object":"Nie mo\u017Cna zaktualizowa\u0107 atrybutu, poniewa\u017C nie znaleziono go w obiekcie","ra_Cannot upload":"Nie mo\u017Cna przes\u0142a\u0107",ra_Categories:"Kategorie","ra_Chained certificate":"Certyfikat \u0142a\u0144cuchowy","ra_Change color theme":"Zmie\u0144 motyw kolorystyczny","ra_Changed from":"Zmieniony z","ra_Channel \u2192 State":"Kana\u0142 \u2192 Stan","ra_Check license":"Sprawd\u017A licencj\u0119",ra_Checked:"Sprawdzony",ra_Clear:"Kasowa\u0107","ra_Clear filter":"Czysty filtr","ra_Clear icon":"Wyczy\u015B\u0107 ikon\u0119","ra_Clone current row":"Sklonuj bie\u017C\u0105cy wiersz",ra_Close:"Blisko","ra_Collapse all nodes":"Zwi\u0144 wszystkie w\u0119z\u0142y","ra_Collapse one step node":"Zwi\u0144 o jeden poziom",ra_Commercial:"Handlowy",ra_Configure:"Konfiguruj","ra_Configure visible columns":"Skonfiguruj widoczne kolumny","ra_Confirm deletion of %s":"Potwierd\u017A usuni\u0119cie %s",ra_Connected:"Po\u0142\u0105czony",ra_Copied:"Skopiowano","ra_Copied %s":'Skopiowano "%s"',"ra_Copy content":"Kopiuj zawarto\u015B\u0107",ra_Create:"Stw\xF3rz","ra_Create alias":"Utw\xF3rz alias","ra_Create folder":"Utw\xF3rz folder","ra_Create new folder in %s":"Utw\xF3rz nowy folder w %s",ra_Crop:"Przyci\u0105\u0107","ra_Define CRON...":"Zdefiniuj CRON...","ra_Define functions":"Zdefiniuj funkcje","ra_Define rooms":"Zdefiniuj pokoje","ra_Define schedule":"Zdefiniuj harmonogram","ra_Define schedule...":"Zdefiniuj harmonogram ...",ra_Del:"Delete",ra_Delete:"Usun\u0105\u0107","ra_Delete (no confirm for 5 mins)":"Usu\u0144 (bez potwierdzenia przez 5 minut)","ra_Delete current row":"Usu\u0144 bie\u017C\u0105cy wiersz","ra_Deselect all":"Odznacz wszystko","ra_Device \u2192 Channel \u2192 State":"Urz\u0105dzenie \u2192 Kana\u0142 \u2192 Stan",ra_Discard:"Wyrzuca\u0107",ra_Disconnected:"Niepowi\u0105zany","ra_Do not export values of states":"Nie eksportuj warto\u015Bci stan\xF3w","ra_Do not use let's encrypt":"Nie u\u017Cywaj zaszyfrujmy","ra_Double click to reset table layout":"Kliknij dwukrotnie, aby zresetowa\u0107 uk\u0142ad tabeli","ra_Drag 'n' drop some files here, or click to select files":"Przeci\u0105gnij i upu\u015B\u0107 kilka plik\xF3w tutaj lub kliknij, aby wybra\u0107 pliki","ra_Drop file here":"Upu\u015B\u0107 plik tutaj","ra_Drop the files here...":"Upu\u015B\u0107 plik tutaj...","ra_Duplicate name":"Zduplikowana nazwa","ra_Edit ACL":"Edytuj listy ACL","ra_Edit alias":"Edytuj alias","ra_Edit custom config":"Edytuj konfiguracj\u0119 niestandardow\u0105","ra_Edit function":"Funkcja edycji","ra_Edit object field":"Edytuj pole obiektu","ra_Edit role":"Edytuj rol\u0119","ra_Edit room":"Edytuj pok\xF3j","ra_Edit value":"Edytuj warto\u015B\u0107",ra_Error:"B\u0142\u0105d","ra_Expand all nodes":"Rozwi\u0144 wszystkie w\u0119z\u0142y","ra_Expand one step node":"Rozwi\u0144 o jeden poziom","ra_Export data to %s file":"Eksportuj dane do pliku %s","ra_Failed to open JSON File":"Nie uda\u0142o si\u0119 otworzy\u0107 pliku JSON","ra_Fallback custom certificates":"Niestandardowe certyfikaty zast\u0119pcze","ra_File is too big. Max %sk allowed. Try use SVG.":"Plik jest za du\u017Cy. Maksymalna dozwolona liczba %sk. Spr\xF3buj u\u017Cy\u0107 SVG.",ra_Filter:"Filtr","ra_Filter files":"Filtruj pliki","ra_Folder name":"Nazwa folderu","ra_Folder \u2192 Channel \u2192 State":"Folder \u2192 Kana\u0142 \u2192 Stan","ra_Folder \u2192 Device \u2192 Channel \u2192 State":"Folder \u2192 Urz\u0105dzenie \u2192 Kana\u0142 \u2192 Stan","ra_Folder \u2192 State":"Folder \u2192 Stan","ra_Folders always first":"Foldery zawsze na pierwszym miejscu",ra_Friday:"Pi\u0105tek","ra_Good luck":"Powodzenia","ra_Hide empty folders":"Ukryj puste foldery","ra_If no file will be created in the folder, it will disappear after the browser closed":"Je\u015Bli w folderze nie zostanie utworzony \u017Caden plik, zniknie on po zamkni\u0119ciu przegl\u0105darki","ra_Import data from %s file":"Importuj dane z pliku %s","ra_Import from %s":"Importuj z %s","ra_Instance %s is alive":"Instancja %s jest aktywna","ra_Instance %s is not alive":"Instancja TEKST nie jest aktywna","ra_Instance is not alive":"Instancja nie jest aktywna","ra_Invalid CRON":"Nieprawid\u0142owy CRON","ra_Invalid JSON":"Nieprawid\u0142owy JSON","ra_Invalid answer from server":"Nieprawid\u0142owa odpowied\u017A z serwera","ra_Invalid parent folder!":"Nieprawid\u0142owy folder nadrz\u0119dny!","ra_Invalid structure":"Nieprawid\u0142owa struktura","ra_JSON editor":"Edytor JSON","ra_Last change":"Ostatnia zmiana",ra_Latitude:"Szeroko\u015B\u0107","ra_License %s":"Licencja %s","ra_License agreement":"Umowa licencyjna","ra_License does not exist":"Licencja nie istnieje","ra_License expired on %s":"Licencja wygas\u0142a w dniu %s",'ra_License for other product "%s"':"Licencja na inny produkt \u201E%s\u201D","ra_License is for version %s, but required version is %s.":"Licencja dotyczy wersji %s, ale wymagana wersja to %s.","ra_License must be converted":"Licencja musi zosta\u0107 przekonwertowana na nowsz\u0105 wersj\u0119. Mo\u017Cesz to zrobi\u0107 w swoim profilu iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Nie znaleziono licencji w mened\u017Cerze licencji. Chcesz zaktualizowa\u0107 licencje z iobroker.net?","ra_Listen on all IPs":"S\u0142uchaj na wszystkich adresach IP","ra_Load configuration from file":"Za\u0142aduj konfiguracj\u0119 z pliku",ra_Longitude:"D\u0142ugo\u015B\u0107 geograficzna",'ra_May not trigger "updateLicenses"':"Mo\u017Ce nie uruchamia\u0107 \u201EupdateLicenses\u201D",ra_Message:"Wiadomo\u015B\u0107",ra_Monday:"Poniedzia\u0142ek","ra_Move down":"Padnij","ra_Move up":"Podnie\u015B\u0107",ra_Name:"Nazwa","ra_No data found in file":"Nie znaleziono danych w pliku","ra_No one license found in license manager":"Nie znaleziono licencji w mened\u017Cerze licencji","ra_No response from the backend":"Brak odpowiedzi z zaplecza",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"Osoby nie b\u0119d\u0105ce ekspertami mog\u0105 tworzy\u0107 nowe obiekty tylko w \u201E0_userdata.0\u201D lub \u201Ealias.0\u201D.","ra_Not a number":"Nie numer",ra_Objects:"Obiekty",ra_Ok:"Dobrze","ra_On weekdays":"W dni powszednie","ra_Only following structures of objects are available:":"Dost\u0119pne s\u0105 tylko nast\u0119puj\u0105ce struktury obiekt\xF3w:","ra_Only selected":"Tylko wybrane","ra_Owner group":"Grupa w\u0142a\u015Bcicieli","ra_Owner user":"W\u0142a\u015Bciciel u\u017Cytkownika","ra_Passwords are not equal!":"Has\u0142a nie s\u0105 r\xF3wne!","ra_Place your files here or click here to open the browse dialog":"Umie\u015B\u0107 swoje pliki tutaj lub kliknij tutaj, aby otworzy\u0107 okno dialogowe przegl\u0105dania","ra_Please confirm":"Prosz\u0119 potwierdzi\u0107","ra_Please create license":"Utw\xF3rz licencj\u0119","ra_Please enter the license":"Prosz\u0119 wprowadzi\u0107 licencj\u0119","ra_Please select file...":"Wybierz plik...","ra_Please select object ID...":"Wybierz identyfikator obiektu ...","ra_Port could be used by %s":"Port mo\u017Ce by\u0107 u\u017Cywany przez %s","ra_Port is already used by %s":"Port jest ju\u017C u\u017Cywany przez %s","ra_Private certificate":"Prywatny certyfikat",ra_Product:"Produkt","ra_Public certificate":"Certyfikat publiczny","ra_Quality code":"Jako\u015Bci","ra_Refresh tree":"Od\u015Bwie\u017C drzewo","ra_Reload files":"Za\u0142aduj ponownie pliki",ra_Repeat:"Powtarza\u0107",ra_Replace:"Zast\u0119powa\u0107","ra_Request timed out":"Up\u0142yn\u0105\u0142 limit czasu \u017C\u0105dania","ra_Restrict to folder":"Ogranicz do folderu",ra_Root:"Korze\u0144",ra_Saturday:"Sobota",ra_Save:"Zapisa\u0107","ra_Save and close":"Zapisz i zamknij","ra_Save configuration to file":"Zapisz konfiguracj\u0119 do pliku","ra_Save objects tree as JSON file":"Zapisz drzewo obiekt\xF3w jako plik JSON","ra_Select all":"Zaznacz wszystko","ra_Select color":"Wybierz kolor","ra_Select predefined icon":"Wybierz predefiniowan\u0105 ikon\u0119","ra_Select type of export":"Wybierz rodzaj eksportu",ra_Selected:"Wybrany","ra_Selected %s object(s)":"Wybrane obiekty %s","ra_Serial number (UUID)":"Numer seryjny (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"Numer seryjny (UUID) \u201E%s\u201D w licencji dotyczy innego urz\u0105dzenia.","ra_Show all folders":"Poka\u017C wszystkie foldery","ra_Show lines between rows":"Poka\u017C linie mi\u0119dzy rz\u0119dami","ra_Show/Hide object descriptions":"Poka\u017C/ukryj opisy obiekt\xF3w","ra_Show/hide filter input":"Poka\u017C/ukryj wej\u015Bcie filtra","ra_Some data are not stored. Discard?":"Niekt\xF3re dane nie s\u0105 przechowywane. Wyrzuca\u0107?",ra_States:"Stany","ra_Suitable license not found in license manager":"Nie znaleziono odpowiedniej licencji w mened\u017Cerze licencji",ra_Sunday:"Niedziela","ra_Suppress question for next %s minutes":"Ukryj pytanie przez nast\u0119pne %s minut","ra_System language":"J\u0119zyk systemu","ra_Take browser position":"Zajmij pozycj\u0119 z przegl\u0105darki","ra_Take position from system settings":"Zajmij pozycj\u0119 z ustawie\u0144 systemowych",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"Eksperci mog\u0105 tworzy\u0107 obiekty wsz\u0119dzie poza drugim poziomem (np. \u201EVis.0\u201D lub \u201Ejavascript.0\u201D).","ra_The page you are looking for was not found":"Strona, kt\xF3rej szukasz nie zosta\u0142a znaleziona","ra_The schedule will be executed every minute. Are you sure?":"Harmonogram b\u0119dzie wykonywany co minut\u0119. Czy jeste\u015B pewien?","ra_The schedule will be executed every second. Are you sure?":"Harmonogram b\u0119dzie wykonywany co sekund\u0119. Czy jeste\u015B pewien?",ra_Thursday:"Czwartek",ra_Timestamp:"Znak czasu","ra_Toggle expert mode":"Prze\u0142\u0105cz tryb eksperta","ra_Toggle the states view":"Prze\u0142\u0105cz widok stan\xF3w","ra_Toggle view mode":"Prze\u0142\u0105cz tryb widoku","ra_Too big":"Za du\u017Cy","ra_Too small":"Za ma\u0142y","ra_Transparent dialog":"Przejrzyste okno dialogowe",ra_Tuesday:"Wtorek","ra_Unknown error":"Nieznany b\u0142\u0105d","ra_Unknown error!":"Nieznany b\u0142\u0105d!",ra_Update:"Aktualizacja","ra_Upload file":"Przesy\u0142anie pliku","ra_Use all available let's encrypt certificates":"U\u017Cyj wszystkich dost\u0119pnych certyfikat\xF3w Let's Encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"U\u017Cyj adaptera iobroker.acme dla certyfikat\xF3w letsencrypt","ra_Use system settings for position":"U\u017Cyj ustawie\u0144 systemowych dla pozycji","ra_Used system settings":"U\u017Cywane ustawienia systemowe","ra_User files":"Pliki u\u017Cytkownika",ra_ValidTill:"Obowi\u0105zuje do",ra_Value:"Warto\u015B\u0107",ra_Version:"Wersja","ra_View file":"Zobaczy\u0107 plik","ra_View: %s":"Widok: %s",ra_Wednesday:"\u015Aroda",ra_Width:"Szeroko\u015B\u0107",ra_Yes:"Tak","ra_You can export all objects or just the selected branch.":"Mo\u017Cesz wyeksportowa\u0107 wszystkie obiekty lub tylko wybran\u0105 ga\u0142\u0105\u017A.","ra_You can filter entries by entering here some text":"Mo\u017Cesz filtrowa\u0107 wpisy, wpisuj\u0105c tutaj jaki\u015B tekst",ra___different__:"r\xF3\u017Cne",ra_aclEveryone_read_object:"Ka\u017Cdy mo\u017Ce czyta\u0107 obiekt",ra_aclEveryone_read_state:"Ka\u017Cdy mo\u017Ce czyta\u0107 stan",ra_aclEveryone_write_object:"Ka\u017Cdy mo\u017Ce pisa\u0107 przedmiot",ra_aclEveryone_write_state:"Ka\u017Cdy mo\u017Ce pisa\u0107 stan",ra_aclGroup_read_object:"Grupa mo\u017Ce odczyta\u0107 obiekt",ra_aclGroup_read_state:"Grupa mo\u017Ce odczyta\u0107 stan",ra_aclGroup_write_object:"Grupa mo\u017Ce pisa\u0107 obiekt",ra_aclGroup_write_state:"Grupa mo\u017Ce pisa\u0107 stan",ra_aclOwner_read_object:"W\u0142a\u015Bciciel mo\u017Ce czyta\u0107 obiekt",ra_aclOwner_read_state:"W\u0142a\u015Bciciel mo\u017Ce odczyta\u0107 stan",ra_aclOwner_write_object:"W\u0142a\u015Bciciel mo\u017Ce napisa\u0107 obiekt",ra_aclOwner_write_state:"W\u0142a\u015Bciciel mo\u017Ce pisa\u0107 stan",ra_buttons:"guziki",ra_changedFrom:"Zmieniony z",ra_close:"blisko",ra_create_boolean_state:"Utw\xF3rz stan logiczny",ra_create_channel:"Utw\xF3rz kana\u0142",ra_create_device:"Utw\xF3rz urz\u0105dzenie",ra_create_number_state:"Utw\xF3rz stan liczbowy",ra_create_state:"Utw\xF3rz stan",ra_create_string_state:"Utw\xF3rz stan ci\u0105gu",ra_daysShortText:"d.",ra_dow_Fr:"Ks",ra_dow_Mo:"Mo",ra_dow_Sa:"Sa",ra_dow_Su:"Su",ra_dow_Th:"Th",ra_dow_Tu:"Tu",ra_dow_We:"My",ra_expertMode:"Tryb ekspercki",ra_fileType_all:"Wszystkie pliki",ra_fileType_audio:"Audio",ra_fileType_code:"Kod/JSON",ra_fileType_images:"Obrazy",ra_fileType_txt:"Tekst",ra_fileType_video:"Wideo","ra_fileType_video,":"Wideo",ra_filter_customs:"Ustawienia",ra_filter_customs_without:"bez",ra_filter_func:"Funkcjonowa\u0107",ra_filter_id:"ID",ra_filter_name:"Imi\u0119",ra_filter_role:"Rola",ra_filter_room:"Sala",ra_filter_type:"Rodzaj","ra_import data from %s file":"Importuj dane z pliku %s",ra_invalidConfig:"Nieprawid\u0142owe ustawienia",ra_lastChange:"Ostatnia zmiana",ra_locally:"lokalnie",ra_month_Apr:"kwiecie\u0144",ra_month_Aug:"sierpie\u0144",ra_month_Dec:"grudzie\u0144",ra_month_Feb:"luty",ra_month_Jan:"stycze\u0144",ra_month_Jul:"lipiec",ra_month_Jun:"czerwiec",ra_month_Mai:"Mai",ra_month_Mar:"Zniszczy\u0107",ra_month_Nov:"listopad",ra_month_Oct:"pa\u017Adziernik",ra_month_Sep:"wrzesie\u0144",ra_months_Apr:"kwiecie\u0144",ra_months_Aug:"sierpie\u0144",ra_months_Dec:"grudzie\u0144",ra_months_Feb:"luty",ra_months_Jan:"stycze\u0144",ra_months_Jul:"lipiec",ra_months_Jun:"czerwiec",ra_months_Mai:"Mai",ra_months_Mar:"Zniszczy\u0107",ra_months_Nov:"listopad",ra_months_Oct:"pa\u017Adziernik",ra_months_Sep:"wrzesie\u0144",ra_none:"\u017Baden",ra_object_changed_by:"Obiekt zmieniony przez",ra_object_changed_by_user:"Obiekt ostatnio zmieniony o godz",ra_otherConfig:"Ustawienia z innego adaptera %s",ra_qualityCode:"Kod jako\u015Bci",ra_repeat:"powtarza\u0107",ra_select_folder_hint:"Aby wybra\u0107 folder, wystarczy przytrzyma\u0107 klawisz \u201Eshift\u201D, klikaj\u0105c folder.",ra_state_changed_by:"Stan zmieniony przez",ra_state_changed_from:"Obiekt zmieniony z",ra_timestamp:"Znak czasu",ra_tooltip_ack:"Potwierdzon",ra_tooltip_comment:"Komentarz",ra_tooltip_copyState:"Skopiuj warto\u015B\u0107 stanu",ra_tooltip_customConfig:"W\u0142asne ustawienia",ra_tooltip_deleteObject:"Usu\u0144 obiekt",ra_tooltip_editObject:"Edytuj obiekt",ra_tooltip_editState:"Edytuj warto\u015B\u0107 stanu",ra_tooltip_from:"Z",ra_tooltip_lc:"Ostatnia zmiana",ra_tooltip_quality:"Jako\u015B\u0107",ra_tooltip_ts:"Znak czasu",ra_tooltip_user:"U\u017Cytkownik",ra_tooltip_value:"Warto\u015B\u0107","ra_use seconds":"u\u017Cyj sekund",ra_val:"Warto\u015B\u0107","ra_via internet":"przez internet",ra_warning_every_minute:"Ostrze\u017Cenie: Zadanie CRON b\u0119dzie uruchamiane co minut\u0119 w okre\u015Blonym przedziale czasowym!",ra_warning_every_second:"Ostrze\u017Cenie: Zadanie CRON b\u0119dzie uruchamiane co sekund\u0119 w okre\u015Blonym przedziale czasowym!",sc_cron:"CRON",sc_date:"Data",sc_dates:"Daktyle",sc_dow:"Dzie\u0144",sc_dows:"Dzie\u0144 tygodnia",sc_every:"Ka\u017Cdy",sc_everyN_dates:"co N dni",sc_everyN_dow:"w ka\u017Cdy N-ty dzie\u0144 tygodnia",sc_everyN_dows:"co N dnia tygodnia",sc_everyN_hours:"co N godzin",sc_everyN_minutes:"co N minut",sc_everyN_months:"co N miesi\u0119cy",sc_everyN_seconds:"co N sekund",sc_every_dates:"codziennie",sc_every_dow:"ka\u017Cdy dzie\u0144 tygodnia",sc_every_dows:"ka\u017Cdy dzie\u0144 tygodnia",sc_every_hours:"co godzin\u0119",sc_every_minutes:"ka\u017Cda minuta",sc_every_months:"ka\u017Cdego miesi\u0105ca",sc_every_seconds:"ka\u017Cda sekunda",sc_from:"Od",sc_hours:"godziny",sc_interval:"Interwa\u0142",sc_intervalBetween:"Interwa\u0142 mi\u0119dzy",sc_invalid_cron:"Nieprawid\u0142owy CRON",sc_minutes:"Minuty",sc_months:"miesi\u0119cy",sc_once:"Pewnego razu",sc_period:"Kropka",sc_seconds:"sekundy",sc_simple:"Prosty",sc_specific:"Okre\u015Blony czas",sc_specific_dates:"konkretne daty",sc_specific_dow:"okre\u015Blone dni tygodnia",sc_specific_dows:"okre\u015Blony dzie\u0144 tygodni",sc_specific_hours:"okre\u015Blone godziny",sc_specific_minutes:"okre\u015Blone minuty",sc_specific_months:"okre\u015Blone miesi\u0105ce",sc_specific_seconds:"okre\u015Blone sekundy",sc_time:"Czas",sc_to:"Do",sc_wizard:"Czarodziej",sch_all:"wszystko",sch_astroDay:"Dzie\u0144 Astro",sch_astroNight:"Noc Astro",sch_astro_dawn:"\u015Awit",sch_astro_dusk:"Zmierzch",sch_astro_goldenHour:"z\u0142ota godzina",sch_astro_goldenHourEnd:"Koniec z\u0142otej godziny",sch_astro_nadir:"Nadir",sch_astro_nauticalDawn:"Morski \u015Bwit",sch_astro_nauticalDusk:"Morski zmierzch",sch_astro_night:"Noc",sch_astro_nightEnd:"Koniec nocy",sch_astro_solarNoon:"Po\u0142udnie s\u0142oneczne",sch_astro_sunrise:"wsch\xF3d s\u0142o\u0144ca",sch_astro_sunriseEnd:"Koniec wschodu s\u0142o\u0144ca",sch_astro_sunset:"Zach\xF3d s\u0142o\u0144ca",sch_astro_sunsetStart:"Pocz\u0105tek zachodu s\u0142o\u0144ca",sch_at:"w",sch_desc_atTime:"na %s",sch_desc_everyDay:"codziennie",sch_desc_everyHour:"co godzin\u0119",sch_desc_everyMinute:"ka\u017Cda minuta",sch_desc_everyMonth:"ka\u017Cdego miesi\u0105ca",sch_desc_everyNDay:"ka\u017Cdego dnia %s",sch_desc_everyNHours:"co %s godzin",sch_desc_everyNMinutes:"co %s minut",sch_desc_everyNMonths:"co %s miesi\u0119cy",sch_desc_everyNWeeks:"co %s tygodni",sch_desc_everyNYears:"co %s lat",sch_desc_everyWeek:"co tydzie\u0144",sch_desc_everyYear:"ka\u017Cdego roku",sch_desc_intervalFromTo:"od %s do %s",sch_desc_never:"nigdy",sch_desc_onDate:"na %s z %s",sch_desc_onDates:"na %s i %s z",sch_desc_onEveryDate:"w ka\u017Cd\u0105 dat\u0119",sch_desc_onMonth:"%s",sch_desc_onMonths:"%s i %s",sch_desc_onWeekday:"na %s",sch_desc_onWeekdays:"na %s i %s",sch_desc_onWeekends:"w weekendy",sch_desc_onWorkdays:"w dni robocze",sch_desc_onceInPast:"nie b\u0119dzie ju\u017C wykonywany, poniewa\u017C start jest w przesz\u0142o\u015Bci",sch_desc_once_on:"na %s",sch_desc_validFrom:"z %s",sch_desc_validFromTo:"Wykonaj od do",sch_desc_validTo:"do %s",sch_every:"ka\u017Cdy",sch_exactTime:"Okre\u015Blony czas",sch_from:"od",sch_fromTo:"Od-do",sch_intervalTime:"Czas przerwy",sch_invert:"odwraca\u0107",sch_no_one:"\u017Baden",sch_on:"na",sch_period:"Kropka",sch_periodDaily:"Codziennie",sch_periodDates:"Daktyle",sch_periodDay:"Dzie\u0144",sch_periodEvery:"Ka\u017Cdy",sch_periodEveryDay:"Codziennie",sch_periodEveryMonth:"Ka\u017Cdego miesi\u0105ca",sch_periodEveryWeek:"Co tydzie\u0144",sch_periodEveryYear:"Ka\u017Cdego roku",sch_periodHours:"godziny",sch_periodMinutes:"Minuty",sch_periodMonth:"miesi\u0105c",sch_periodMonthly:"Miesi\u0119czny",sch_periodOnce:"Pewnego razu",sch_periodSpecificMonths:"Okre\u015Blone miesi\u0105ce",sch_periodWeek:"Tydzie\u0144",sch_periodWeekdays:"Dni powszednie",sch_periodWeekend:"Weekend",sch_periodWeekly:"Co tydzie\u0144",sch_periodWorkdays:"Dni robocze",sch_periodYear:"Rok",sch_periodYearly:"Rocznie",sch_specificTime:"Okre\u015Blony czas",sch_time:"Czas",sch_to:"do",sch_valid:"Wa\u017Cny",sch_validFrom:"od",sch_validTo:"do",sch_wholeDay:"Ca\u0142y dzie\u0144",sch_yearEveryMonth:"ka\u017Cdego miesi\u0105ca"};var JG={"ra_%s links from aliases":"%s \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u044C \u0456\u0437 \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0456\u043C\u0456\u0432","ra_%s object(s) processed":"\u041E\u0431\u0440\u043E\u0431\u043B\u0435\u043D\u043E %s \u043E\u0431\u2019\u0454\u043A\u0442\u0456\u0432","ra_%s was imported":"%s \u0431\u0443\u043B\u043E \u0456\u043C\u043F\u043E\u0440\u0442\u043E\u0432\u0430\u043D\u043E","ra_Accept license":"\u041F\u0440\u0438\u0439\u043D\u044F\u0442\u0438 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E","ra_Add new child object to selected parent":"\u0414\u043E\u0434\u0430\u0442\u0438 \u043D\u043E\u0432\u0438\u0439 \u0434\u043E\u0447\u0456\u0440\u043D\u0456\u0439 \u043E\u0431\u2019\u0454\u043A\u0442 \u0434\u043E \u0432\u0438\u0431\u0440\u0430\u043D\u043E\u0433\u043E \u0431\u0430\u0442\u044C\u043A\u0456\u0432\u0441\u044C\u043A\u043E\u0433\u043E","ra_Add objects tree from JSON file":"\u0414\u043E\u0434\u0430\u0439\u0442\u0435 \u0434\u0435\u0440\u0435\u0432\u043E \u043E\u0431\u2019\u0454\u043A\u0442\u0456\u0432 \u0456\u0437 \u0444\u0430\u0439\u043B\u0443 JSON","ra_Add row":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0440\u044F\u0434\u043E\u043A","ra_Advanced options":"\u0420\u043E\u0437\u0448\u0438\u0440\u0435\u043D\u0456 \u043E\u043F\u0446\u0456\u0457","ra_All items are filtered out":"\u0423\u0441\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0432\u0456\u0434\u0444\u0456\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u043D\u043E","ra_All objects":"\u0412\u0441\u0456 \u043E\u0431'\u0454\u043A\u0442\u0438",ra_Append:"\u0414\u043E\u0434\u0430\u0439\u0442\u0435","ra_Append %s entries or replace existing?":"\u0414\u043E\u0434\u0430\u0442\u0438 %s \u0437\u0430\u043F\u0438\u0441\u0456\u0432 \u0447\u0438 \u0437\u0430\u043C\u0456\u043D\u0438\u0442\u0438 \u043D\u0430\u044F\u0432\u043D\u0456?","ra_Append or replace?":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0447\u0438 \u0437\u0430\u043C\u0456\u043D\u0438\u0442\u0438?","ra_Are you sure?":"\u0422\u0438 \u0432\u043F\u0435\u0432\u043D\u0435\u043D\u0438\u0439?","ra_Auto (no custom columns)":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E (\u0431\u0435\u0437 \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0438\u0445 \u0441\u0442\u043E\u0432\u043F\u0446\u0456\u0432)","ra_Back to %s":"\u041D\u0430\u0437\u0430\u0434 \u0434\u043E %s","ra_Background image":"\u0424\u043E\u043D\u043E\u0432\u0435 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F",ra_Cancel:"\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438","ra_Cannot add items with set filter":"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0434\u043E\u0434\u0430\u0442\u0438 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0437\u0456 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u043C \u0444\u0456\u043B\u044C\u0442\u0440\u043E\u043C","ra_Cannot decode license":"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0440\u043E\u0437\u0448\u0438\u0444\u0440\u0443\u0432\u0430\u0442\u0438 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0432\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438 \u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044F: \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u043F\u043E\u0440\u043E\u0436\u043D\u0456, \u0430 \u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F GPS \u0432\u0438\u043C\u043A\u043D\u0435\u043D\u043E \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0456",'ra_Cannot find "%s"':'\u041D\u0435 \u0432\u0434\u0430\u0454\u0442\u044C\u0441\u044F \u0437\u043D\u0430\u0439\u0442\u0438 "%s"','ra_Cannot read "%s"':'\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u0438 "%s"',"ra_Cannot read licenses: %s":"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u0438 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0457: %s","ra_Cannot retrieve options, as instance is offline":"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043E\u0442\u0440\u0438\u043C\u0430\u0442\u0438 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438, \u043E\u0441\u043A\u0456\u043B\u044C\u043A\u0438 \u0435\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u043E\u0444\u043B\u0430\u0439\u043D","ra_Cannot update attribute, because not found in the object":"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043E\u043D\u043E\u0432\u0438\u0442\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442, \u043E\u0441\u043A\u0456\u043B\u044C\u043A\u0438 \u0439\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0432 \u043E\u0431\u2019\u0454\u043A\u0442\u0456","ra_Cannot upload":"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438",ra_Categories:"\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0456\u0457","ra_Chained certificate":"\u041F\u0440\u0438\u043A\u0443\u0442\u0438\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442","ra_Change color theme":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u043A\u043E\u043B\u044C\u043E\u0440\u043E\u0432\u0443 \u0442\u0435\u043C\u0443","ra_Changed from":"\u0417\u043C\u0456\u043D\u0435\u043D\u043E \u0437","ra_Channel \u2192 State":"\u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u0442\u0430\u043D","ra_Check license":"\u041F\u0435\u0440\u0435\u0432\u0456\u0440\u0438\u0442\u0438 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E",ra_Checked:"\u041F\u0435\u0440\u0435\u0432\u0456\u0440\u0435\u043D\u043E",ra_Clear:"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438","ra_Clear filter":"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u0444\u0456\u043B\u044C\u0442\u0440","ra_Clear icon":"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u0437\u043D\u0430\u0447\u043E\u043A","ra_Clone current row":"\u041A\u043B\u043E\u043D\u0443\u0432\u0430\u0442\u0438 \u043F\u043E\u0442\u043E\u0447\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A",ra_Close:"\u0417\u0430\u043A\u0440\u0438\u0442\u0438","ra_Collapse all nodes":"\u0417\u0433\u043E\u0440\u043D\u0443\u0442\u0438 \u0432\u0441\u0456 \u0432\u0443\u0437\u043B\u0438","ra_Collapse one step node":"\u0417\u0433\u043E\u0440\u043D\u0443\u0442\u0438 \u043D\u0430 \u043E\u0434\u0438\u043D \u0440\u0456\u0432\u0435\u043D\u044C",ra_Commercial:"\u041A\u043E\u043C\u0435\u0440\u0446\u0456\u0439\u043D\u0438\u0439",ra_Configure:"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438","ra_Configure visible columns":"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u0434\u0438\u043C\u0456 \u0441\u0442\u043E\u0432\u043F\u0446\u0456","ra_Confirm deletion of %s":"\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0438 \u0432\u0438\u0434\u0430\u043B\u0435\u043D\u043D\u044F %s",ra_Connected:"\u041F\u0456\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u043E",ra_Copied:"\u0421\u043A\u043E\u043F\u0456\u0439\u043E\u0432\u0430\u043D\u043E","ra_Copied %s":'\u0421\u043A\u043E\u043F\u0456\u0439\u043E\u0432\u0430\u043D\u043E "%s"',"ra_Copy content":"\u0421\u043A\u043E\u043F\u0456\u044E\u0439\u0442\u0435 \u0432\u043C\u0456\u0441\u0442",ra_Create:"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438","ra_Create alias":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0456\u043C","ra_Create folder":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043F\u0430\u043F\u043A\u0443","ra_Create new folder in %s":"\u0421\u0442\u0432\u043E\u0440\u0456\u0442\u044C \u043D\u043E\u0432\u0443 \u043F\u0430\u043F\u043A\u0443 \u0432 %s",ra_Crop:"\u0423\u0440\u043E\u0436\u0430\u0439","ra_Define CRON...":"\u0412\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438 CRON...","ra_Define functions":"\u0412\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438 \u0444\u0443\u043D\u043A\u0446\u0456\u0457","ra_Define rooms":"\u0412\u0438\u0437\u043D\u0430\u0447\u0442\u0435 \u043A\u0456\u043C\u043D\u0430\u0442\u0438","ra_Define schedule":"\u0412\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438 \u0440\u043E\u0437\u043A\u043B\u0430\u0434","ra_Define schedule...":"\u0412\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438 \u0440\u043E\u0437\u043A\u043B\u0430\u0434...",ra_Del:"Delete",ra_Delete:"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438","ra_Delete (no confirm for 5 mins)":"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 (\u0431\u0435\u0437 \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043D\u043D\u044F \u043F\u0440\u043E\u0442\u044F\u0433\u043E\u043C 5 \u0445\u0432\u0438\u043B\u0438\u043D)","ra_Delete current row":"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u043F\u043E\u0442\u043E\u0447\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A","ra_Deselect all":"\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u0431\u0456\u0440 \u0443\u0441\u0456\u0445","ra_Device \u2192 Channel \u2192 State":"\u041F\u0440\u0438\u0441\u0442\u0440\u0456\u0439 \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u0442\u0430\u043D",ra_Discard:"\u0412\u0456\u0434\u043A\u0438\u043D\u0443\u0442\u0438",ra_Disconnected:"\u0412\u0456\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u043E","ra_Do not export values of states":"\u041D\u0435 \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0439\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0441\u0442\u0430\u043D\u0456\u0432","ra_Do not use let's encrypt":"\u041D\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 let's encrypt","ra_Double click to reset table layout":"\u0414\u0432\u0456\u0447\u0456 \u043A\u043B\u0430\u0446\u043D\u0456\u0442\u044C, \u0449\u043E\u0431 \u0441\u043A\u0438\u043D\u0443\u0442\u0438 \u043C\u0430\u043A\u0435\u0442 \u0442\u0430\u0431\u043B\u0438\u0446\u0456","ra_Drag 'n' drop some files here, or click to select files":"\u041F\u0435\u0440\u0435\u0442\u044F\u0433\u043D\u0456\u0442\u044C \u0434\u0435\u044F\u043A\u0456 \u0444\u0430\u0439\u043B\u0438 \u0441\u044E\u0434\u0438 \u0430\u0431\u043E \u043D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C, \u0449\u043E\u0431 \u0432\u0438\u0431\u0440\u0430\u0442\u0438 \u0444\u0430\u0439\u043B\u0438","ra_Drop file here":"\u041F\u0435\u0440\u0435\u0442\u044F\u0433\u043D\u0456\u0442\u044C \u0444\u0430\u0439\u043B \u0441\u044E\u0434\u0438","ra_Drop the files here...":"\u041F\u0435\u0440\u0435\u0442\u044F\u0433\u043D\u0456\u0442\u044C \u0444\u0430\u0439\u043B \u0441\u044E\u0434\u0438...","ra_Duplicate name":"\u041F\u043E\u0432\u0442\u043E\u0440\u044E\u0432\u0430\u043D\u0435 \u0456\u043C'\u044F","ra_Edit ACL":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 ACL","ra_Edit alias":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0456\u043C","ra_Edit custom config":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0443 \u043A\u043E\u043D\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044E","ra_Edit function":"\u0444\u0443\u043D\u043A\u0446\u0456\u044F \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F","ra_Edit object field":"\u041F\u043E\u043B\u0435 \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F \u043E\u0431'\u0454\u043A\u0442\u0430","ra_Edit role":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0440\u043E\u043B\u044C","ra_Edit room":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u043A\u0456\u043C\u043D\u0430\u0442\u0443","ra_Edit value":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F",ra_Error:"\u041F\u043E\u043C\u0438\u043B\u043A\u0430","ra_Expand all nodes":"\u0420\u043E\u0437\u0433\u043E\u0440\u043D\u0443\u0442\u0438 \u0432\u0441\u0456 \u0432\u0443\u0437\u043B\u0438","ra_Expand one step node":"\u0420\u043E\u0437\u0433\u043E\u0440\u043D\u0456\u0442\u044C \u043E\u0434\u0438\u043D \u0440\u0456\u0432\u0435\u043D\u044C","ra_Export data to %s file":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0434\u0430\u043D\u0456 \u0443 \u0444\u0430\u0439\u043B %s","ra_Failed to open JSON File":"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u0444\u0430\u0439\u043B JSON","ra_Fallback custom certificates":"\u0417\u0430\u043F\u0430\u0441\u043D\u0456 \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0456 \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u0438","ra_File is too big. Max %sk allowed. Try use SVG.":"\u0424\u0430\u0439\u043B \u0437\u0430\u0432\u0435\u043B\u0438\u043A\u0438\u0439. \u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E \u0434\u043E\u0437\u0432\u043E\u043B\u0435\u043D\u043E %sk. \u0421\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 SVG.",ra_Filter:"\u0444\u0456\u043B\u044C\u0442\u0440","ra_Filter files":"\u0424\u0456\u043B\u044C\u0442\u0440 \u0444\u0430\u0439\u043B\u0456\u0432","ra_Folder name":"\u041D\u0430\u0437\u0432\u0430 \u043F\u0430\u043F\u043A\u0438","ra_Folder \u2192 Channel \u2192 State":"\u041F\u0430\u043F\u043A\u0430 \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u0442\u0430\u043D","ra_Folder \u2192 Device \u2192 Channel \u2192 State":"\u041F\u0430\u043F\u043A\u0430 \u2192 \u041F\u0440\u0438\u0441\u0442\u0440\u0456\u0439 \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u0442\u0430\u043D","ra_Folder \u2192 State":"\u041F\u0430\u043F\u043A\u0430 \u2192 \u0421\u0442\u0430\u043D","ra_Folders always first":"\u041F\u0430\u043F\u043A\u0438 \u0437\u0430\u0432\u0436\u0434\u0438 \u043F\u0435\u0440\u0448\u0438\u043C\u0438",ra_Friday:"\u041F'\u044F\u0442\u043D\u0438\u0446\u044F","ra_Good luck":"\u0423\u0434\u0430\u0447\u0456","ra_Hide empty folders":"\u041F\u0440\u0438\u0445\u043E\u0432\u0430\u0442\u0438 \u043F\u043E\u0440\u043E\u0436\u043D\u0456 \u043F\u0430\u043F\u043A\u0438","ra_If no file will be created in the folder, it will disappear after the browser closed":"\u042F\u043A\u0449\u043E \u0432 \u043F\u0430\u043F\u0446\u0456 \u043D\u0435 \u0431\u0443\u0434\u0435 \u0441\u0442\u0432\u043E\u0440\u0435\u043D\u043E \u0444\u0430\u0439\u043B, \u0432\u0456\u043D \u0437\u043D\u0438\u043A\u043D\u0435 \u043F\u0456\u0441\u043B\u044F \u0437\u0430\u043A\u0440\u0438\u0442\u0442\u044F \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430","ra_Import data from %s file":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0434\u0430\u043D\u0456 \u0437 \u0444\u0430\u0439\u043B\u0443 %s","ra_Import from %s":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0437 %s","ra_Instance %s is alive":"\u041F\u0440\u0438\u043C\u0456\u0440\u043D\u0438\u043A %s \u0436\u0438\u0432\u0438\u0439","ra_Instance %s is not alive":"\u041F\u0440\u0438\u043C\u0456\u0440\u043D\u0438\u043A %s \u043D\u0435 \u0436\u0438\u0432\u0438\u0439","ra_Instance is not alive":"\u041F\u0440\u0438\u043C\u0456\u0440\u043D\u0438\u043A \u043D\u0435 \u0436\u0438\u0432\u0438\u0439","ra_Invalid CRON":"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0438\u0439 CRON","ra_Invalid JSON":"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0438\u0439 JSON","ra_Invalid answer from server":"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0430 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u044C \u0432\u0456\u0434 \u0441\u0435\u0440\u0432\u0435\u0440\u0430","ra_Invalid parent folder!":"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0430 \u0431\u0430\u0442\u044C\u043A\u0456\u0432\u0441\u044C\u043A\u0430 \u043F\u0430\u043F\u043A\u0430!","ra_Invalid structure":"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0430 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0430","ra_JSON editor":"\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 JSON","ra_Last change":"\u041E\u0441\u0442\u0430\u043D\u043D\u044F \u0437\u043C\u0456\u043D\u0430",ra_Latitude:"\u0428\u0438\u0440\u043E\u0442\u0430","ra_License %s":"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u044F %s","ra_License agreement":"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u0439\u043D\u0430 \u0443\u0433\u043E\u0434\u0430","ra_License does not exist":"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u0457 \u043D\u0435 \u0456\u0441\u043D\u0443\u0454","ra_License expired on %s":"\u0422\u0435\u0440\u043C\u0456\u043D \u0434\u0456\u0457 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0457 \u0437\u0430\u043A\u0456\u043D\u0447\u0438\u0432\u0441\u044F %s",'ra_License for other product "%s"':'\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u044F \u043D\u0430 \u0456\u043D\u0448\u0438\u0439 \u043F\u0440\u043E\u0434\u0443\u043A\u0442 "%s"',"ra_License is for version %s, but required version is %s.":"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u044F \u0434\u043B\u044F \u0432\u0435\u0440\u0441\u0456\u0457 %s, \u0430\u043B\u0435 \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u0430 \u0432\u0435\u0440\u0441\u0456\u044F %s.","ra_License must be converted":"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u044E \u043D\u0435\u043E\u0431\u0445\u0456\u0434\u043D\u043E \u043A\u043E\u043D\u0432\u0435\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0434\u043E \u043D\u043E\u0432\u0456\u0448\u043E\u0457 \u0432\u0435\u0440\u0441\u0456\u0457. \u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0437\u0440\u043E\u0431\u0438\u0442\u0438 \u0446\u0435 \u0443 \u0441\u0432\u043E\u0454\u043C\u0443 \u043F\u0440\u043E\u0444\u0456\u043B\u0456 \u043D\u0430 iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u044F \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u0432 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u0456 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0439. \u0425\u043E\u0447\u0435\u0442\u0435 \u043E\u043D\u043E\u0432\u0438\u0442\u0438 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0457 \u0437 iobroker.net?","ra_Listen on all IPs":"\u041F\u0440\u043E\u0441\u043B\u0443\u0445\u043E\u0432\u0443\u0432\u0430\u043D\u043D\u044F \u043D\u0430 \u0432\u0441\u0456\u0445 IP","ra_Load configuration from file":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043A\u043E\u043D\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044E \u0437 \u0444\u0430\u0439\u043B\u0443",ra_Longitude:"\u0414\u043E\u0432\u0433\u043E\u0442\u0430",'ra_May not trigger "updateLicenses"':'\u041C\u043E\u0436\u0435 \u043D\u0435 \u0437\u0430\u043F\u0443\u0441\u043A\u0430\u0442\u0438 "updateLicenses"',ra_Message:"\u043F\u043E\u0432\u0456\u0434\u043E\u043C\u043B\u0435\u043D\u043D\u044F",ra_Monday:"\u043F\u043E\u043D\u0435\u0434\u0456\u043B\u043E\u043A","ra_Move down":"\u0420\u0443\u0445\u0430\u0442\u0438\u0441\u044F \u0432\u043D\u0438\u0437","ra_Move up":"\u0420\u0443\u0445\u0430\u0442\u0438\u0441\u044F \u0432\u0433\u043E\u0440\u0443",ra_Name:"\u0406\u043C'\u044F","ra_No data found in file":"\u041D\u0435\u043C\u0430\u0454 \u0434\u0430\u043D\u0438\u0445 \u0443 \u0444\u0430\u0439\u043B\u0456","ra_No one license found in license manager":"\u0423 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u0456 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0439 \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0436\u043E\u0434\u043D\u043E\u0457 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0457","ra_No response from the backend":"\u041D\u0435\u043C\u0430\u0454 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u0456 \u0432\u0456\u0434 \u0441\u0435\u0440\u0432\u0435\u0440\u0430",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"\u041D\u0435\u0435\u043A\u0441\u043F\u0435\u0440\u0442\u0438 \u043C\u043E\u0436\u0443\u0442\u044C \u0441\u0442\u0432\u043E\u0440\u044E\u0432\u0430\u0442\u0438 \u043D\u043E\u0432\u0456 \u043E\u0431\u2019\u0454\u043A\u0442\u0438 \u043B\u0438\u0448\u0435 \u0432 \xAB0_userdata.0\xBB \u0430\u0431\u043E \xABalias.0\xBB.","ra_Not a number":"\u041D\u0435 \u043D\u043E\u043C\u0435\u0440",ra_Objects:"\u041E\u0431'\u0454\u043A\u0442\u0438",ra_Ok:"\u0412 \u043F\u043E\u0440\u044F\u0434\u043A\u0443","ra_On weekdays":"\u0412 \u0431\u0443\u0434\u043D\u0456 \u0434\u043D\u0456","ra_Only following structures of objects are available:":"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u0456 \u0442\u0456\u043B\u044C\u043A\u0438 \u0442\u0430\u043A\u0456 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0438 \u043E\u0431'\u0454\u043A\u0442\u0456\u0432:","ra_Only selected":"\u0422\u0456\u043B\u044C\u043A\u0438 \u043E\u0431\u0440\u0430\u043D\u0456","ra_Owner group":"\u0413\u0440\u0443\u043F\u0430 \u0432\u043B\u0430\u0441\u043D\u0438\u043A\u0456\u0432","ra_Owner user":"\u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447-\u0432\u043B\u0430\u0441\u043D\u0438\u043A","ra_Passwords are not equal!":"\u041F\u0430\u0440\u043E\u043B\u0456 \u043D\u0435 \u0431\u0443\u0432\u0430\u044E\u0442\u044C \u0440\u0456\u0432\u043D\u0438\u043C\u0438!","ra_Place your files here or click here to open the browse dialog":"\u0420\u043E\u0437\u043C\u0456\u0441\u0442\u0456\u0442\u044C \u0441\u0432\u043E\u0457 \u0444\u0430\u0439\u043B\u0438 \u0442\u0443\u0442 \u0430\u0431\u043E \u043D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u0442\u0443\u0442, \u0449\u043E\u0431 \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u0434\u0456\u0430\u043B\u043E\u0433\u043E\u0432\u0435 \u0432\u0456\u043A\u043D\u043E \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443","ra_Please confirm":"\u0411\u0443\u0434\u044C-\u043B\u0430\u0441\u043A\u0430 \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0456\u0442\u044C","ra_Please create license":"\u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0441\u0442\u0432\u043E\u0440\u0456\u0442\u044C \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E","ra_Please enter the license":"\u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0432\u0432\u0435\u0434\u0456\u0442\u044C \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E","ra_Please select file...":"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0444\u0430\u0439\u043B...","ra_Please select object ID...":"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440 \u043E\u0431'\u0454\u043A\u0442\u0430...","ra_Port could be used by %s":"\u041F\u043E\u0440\u0442 \u043C\u043E\u0436\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438\u0441\u044F %s","ra_Port is already used by %s":"\u041F\u043E\u0440\u0442 \u0443\u0436\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454\u0442\u044C\u0441\u044F %s","ra_Private certificate":"\u041F\u0440\u0438\u0432\u0430\u0442\u043D\u0438\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442",ra_Product:"\u041F\u0440\u043E\u0434\u0443\u043A\u0442","ra_Public certificate":"\u041F\u0443\u0431\u043B\u0456\u0447\u043D\u0438\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442","ra_Quality code":"\u044F\u043A\u0456\u0441\u0442\u044C","ra_Refresh tree":"\u041E\u043D\u043E\u0432\u0438\u0442\u0438 \u0434\u0435\u0440\u0435\u0432\u043E","ra_Reload files":"\u041F\u0435\u0440\u0435\u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0442\u0435 \u0444\u0430\u0439\u043B\u0438",ra_Repeat:"\u041F\u043E\u0432\u0442\u043E\u0440\u0456\u0442\u044C",ra_Replace:"\u0417\u0430\u043C\u0456\u043D\u0438\u0442\u0438","ra_Request timed out":"\u0427\u0430\u0441 \u0437\u0430\u043F\u0438\u0442\u0443 \u0432\u0438\u0447\u0435\u0440\u043F\u0430\u043D\u043E","ra_Restrict to folder":"\u041E\u0431\u043C\u0435\u0436\u0438\u0442\u0438 \u043F\u0430\u043F\u043A\u043E\u044E",ra_Root:"\u041A\u043E\u0440\u0456\u043D\u044C",ra_Saturday:"\u0421\u0443\u0431\u043E\u0442\u0430",ra_Save:"\u0437\u0431\u0435\u0440\u0435\u0433\u0442\u0438","ra_Save and close":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0442\u0430 \u0437\u0430\u043A\u0440\u0438\u0442\u0438","ra_Save configuration to file":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u043A\u043E\u043D\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044E \u0443 \u0444\u0430\u0439\u043B","ra_Save objects tree as JSON file":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0434\u0435\u0440\u0435\u0432\u043E \u043E\u0431\u2019\u0454\u043A\u0442\u0456\u0432 \u044F\u043A \u0444\u0430\u0439\u043B JSON","ra_Select all":"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0432\u0441\u0435","ra_Select color":"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043A\u043E\u043B\u0456\u0440","ra_Select predefined icon":"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u044C\u043E \u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439 \u0437\u043D\u0430\u0447\u043E\u043A","ra_Select type of export":"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0442\u0438\u043F \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u0443",ra_Selected:"\u0412\u0438\u0431\u0440\u0430\u043D\u0435","ra_Selected %s object(s)":"\u0412\u0438\u0431\u0440\u0430\u043D\u0456 \u043E\u0431\u2019\u0454\u043A\u0442\u0438 %s","ra_Serial number (UUID)":"\u0421\u0435\u0440\u0456\u0439\u043D\u0438\u0439 \u043D\u043E\u043C\u0435\u0440 (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'\u0421\u0435\u0440\u0456\u0439\u043D\u0438\u0439 \u043D\u043E\u043C\u0435\u0440 (UUID) "%s" \u0443 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0457 \u043F\u0440\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439 \u0434\u043B\u044F \u0456\u043D\u0448\u043E\u0433\u043E \u043F\u0440\u0438\u0441\u0442\u0440\u043E\u044E.',"ra_Show all folders":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u0432\u0441\u0456 \u043F\u0430\u043F\u043A\u0438","ra_Show lines between rows":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043B\u0456\u043D\u0456\u0457 \u043C\u0456\u0436 \u0440\u044F\u0434\u043A\u0430\u043C\u0438","ra_Show/Hide object descriptions":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438/\u0421\u0445\u043E\u0432\u0430\u0442\u0438 \u043E\u043F\u0438\u0441\u0438 \u043E\u0431\u2019\u0454\u043A\u0442\u0456\u0432","ra_Show/hide filter input":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438/\u0441\u0445\u043E\u0432\u0430\u0442\u0438 \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F \u0444\u0456\u043B\u044C\u0442\u0440\u0430","ra_Some data are not stored. Discard?":"\u0414\u0435\u044F\u043A\u0456 \u0434\u0430\u043D\u0456 \u043D\u0435 \u0437\u0431\u0435\u0440\u0456\u0433\u0430\u044E\u0442\u044C\u0441\u044F. \u0412\u0456\u0434\u043A\u0438\u043D\u0443\u0442\u0438?",ra_States:"\u0434\u0435\u0440\u0436\u0430\u0432\u0438","ra_Suitable license not found in license manager":"\u0412\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u043D\u0430 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044F \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u0432 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u0456 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0439",ra_Sunday:"\u043D\u0435\u0434\u0456\u043B\u044F","ra_Suppress question for next %s minutes":"\u041F\u0440\u0438\u0445\u043E\u0432\u0430\u0442\u0438 \u0437\u0430\u043F\u0438\u0442\u0430\u043D\u043D\u044F \u043D\u0430 \u043D\u0430\u0441\u0442\u0443\u043F\u043D\u0456 %s \u0445\u0432\u0438\u043B\u0438\u043D","ra_System language":"\u0421\u0438\u0441\u0442\u0435\u043C\u043D\u0430 \u043C\u043E\u0432\u0430","ra_Take browser position":"\u0417\u0430\u0439\u043C\u0456\u0442\u044C \u043F\u043E\u0437\u0438\u0446\u0456\u044E \u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430","ra_Take position from system settings":"\u0417\u0430\u0439\u043C\u0456\u0442\u044C \u043F\u043E\u0437\u0438\u0446\u0456\u044E \u0432 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F\u0445 \u0441\u0438\u0441\u0442\u0435\u043C\u0438",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"\u0415\u043A\u0441\u043F\u0435\u0440\u0442\u0438 \u043C\u043E\u0436\u0443\u0442\u044C \u0441\u0442\u0432\u043E\u0440\u044E\u0432\u0430\u0442\u0438 \u043E\u0431\u2019\u0454\u043A\u0442\u0438 \u0432\u0441\u044E\u0434\u0438, \u043A\u0440\u0456\u043C \u0434\u0440\u0443\u0433\u043E\u0433\u043E \u0440\u0456\u0432\u043D\u044F (\u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, \xABvis.0\xBB \u0430\u0431\u043E \xABjavascript.0\xBB).","ra_The page you are looking for was not found":"\u0421\u0442\u043E\u0440\u0456\u043D\u043A\u0430, \u044F\u043A\u0443 \u0432\u0438 \u0448\u0443\u043A\u0430\u0454\u0442\u0435, \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u0430","ra_The schedule will be executed every minute. Are you sure?":"\u0420\u043E\u0437\u043A\u043B\u0430\u0434 \u0431\u0443\u0434\u0435 \u0432\u0438\u043A\u043E\u043D\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u0449\u043E\u0445\u0432\u0438\u043B\u0438\u043D\u0438. \u0412\u0438 \u0432\u043F\u0435\u0432\u043D\u0435\u043D\u0456?","ra_The schedule will be executed every second. Are you sure?":"\u0420\u043E\u0437\u043A\u043B\u0430\u0434 \u0431\u0443\u0434\u0435 \u0432\u0438\u043A\u043E\u043D\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u0449\u043E\u0441\u0435\u043A\u0443\u043D\u0434\u0438. \u0412\u0438 \u0432\u043F\u0435\u0432\u043D\u0435\u043D\u0456?",ra_Thursday:"\u0447\u0435\u0442\u0432\u0435\u0440",ra_Timestamp:"\u041C\u0456\u0442\u043A\u0430 \u0447\u0430\u0441\u0443","ra_Toggle expert mode":"\u041F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438 \u0435\u043A\u0441\u043F\u0435\u0440\u0442\u043D\u0438\u0439 \u0440\u0435\u0436\u0438\u043C","ra_Toggle the states view":"\u041F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434 \u0448\u0442\u0430\u0442\u0456\u0432","ra_Toggle view mode":"\u041F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438 \u0440\u0435\u0436\u0438\u043C \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443","ra_Too big":"\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439","ra_Too small":"\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0438\u0439","ra_Transparent dialog":"\u041F\u0440\u043E\u0437\u043E\u0440\u0438\u0439 \u0434\u0456\u0430\u043B\u043E\u0433",ra_Tuesday:"\u0432\u0456\u0432\u0442\u043E\u0440\u043E\u043A","ra_Unknown error":"\u041D\u0435\u0432\u0456\u0434\u043E\u043C\u0430 \u043F\u043E\u043C\u0438\u043B\u043A\u0430","ra_Unknown error!":"\u041D\u0435\u0432\u0456\u0434\u043E\u043C\u0430 \u043F\u043E\u043C\u0438\u043B\u043A\u0430!",ra_Update:"\u043E\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044F","ra_Upload file":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0444\u0430\u0439\u043B","ra_Use all available let's encrypt certificates":"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u0432\u0441\u0456 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0456 \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u0438 let's encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u0430\u0434\u0430\u043F\u0442\u0435\u0440 iobroker.acme \u0434\u043B\u044F \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u0456\u0432 letsencrypt","ra_Use system settings for position":"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0434\u043B\u044F \u043F\u043E\u0437\u0438\u0446\u0456\u0457","ra_Used system settings":"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u0456 \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F","ra_User files":"\u0424\u0430\u0439\u043B\u0438 \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430",ra_ValidTill:"\u0414\u0456\u0439\u0441\u043D\u0438\u0439 \u0434\u043E",ra_Value:"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F",ra_Version:"\u0412\u0435\u0440\u0441\u0456\u044F","ra_View file":"\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u043D\u0443\u0442\u0438 \u0444\u0430\u0439\u043B","ra_View: %s":"\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u0434: %s",ra_Wednesday:"\u0421\u0435\u0440\u0435\u0434\u0430",ra_Width:"\u0428\u0438\u0440\u0438\u043D\u0430",ra_Yes:"\u0422\u0430\u043A","ra_You can export all objects or just the selected branch.":"\u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0432\u0441\u0456 \u043E\u0431\u2019\u0454\u043A\u0442\u0438 \u0430\u0431\u043E \u043B\u0438\u0448\u0435 \u0432\u0438\u0431\u0440\u0430\u043D\u0443 \u0433\u0456\u043B\u043A\u0443.","ra_You can filter entries by entering here some text":"\u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0444\u0456\u043B\u044C\u0442\u0440\u0443\u0432\u0430\u0442\u0438 \u0437\u0430\u043F\u0438\u0441\u0438, \u0432\u0432\u0456\u0432\u0448\u0438 \u0442\u0443\u0442 \u043F\u0435\u0432\u043D\u0438\u0439 \u0442\u0435\u043A\u0441\u0442",ra___different__:"\u0456\u043D\u0448\u0438\u0439",ra_aclEveryone_read_object:"\u041A\u043E\u0436\u0435\u043D \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442",ra_aclEveryone_read_state:"\u041A\u043E\u0436\u0435\u043D \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u0441\u0442\u0430\u043D",ra_aclEveryone_write_object:"\u041A\u043E\u0436\u0435\u043D \u043C\u043E\u0436\u0435 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442",ra_aclEveryone_write_state:"\u041A\u043E\u0436\u0435\u043D \u043C\u043E\u0436\u0435 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u0438 \u0441\u0442\u0430\u043D",ra_aclGroup_read_object:"\u0413\u0440\u0443\u043F\u0430 \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442",ra_aclGroup_read_state:"\u0413\u0440\u0443\u043F\u0430 \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u0441\u0442\u0430\u043D",ra_aclGroup_write_object:"\u0413\u0440\u0443\u043F\u0430 \u043C\u043E\u0436\u0435 \u043F\u0438\u0441\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442",ra_aclGroup_write_state:"\u0413\u0440\u0443\u043F\u0430 \u043C\u043E\u0436\u0435 \u043F\u0438\u0441\u0430\u0442\u0438 \u0441\u0442\u0430\u043D",ra_aclOwner_read_object:"\u0412\u043B\u0430\u0441\u043D\u0438\u043A \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442",ra_aclOwner_read_state:"\u0412\u043B\u0430\u0441\u043D\u0438\u043A \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u0441\u0442\u0430\u043D",ra_aclOwner_write_object:"\u0412\u043B\u0430\u0441\u043D\u0438\u043A \u043C\u043E\u0436\u0435 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442",ra_aclOwner_write_state:"\u0412\u043B\u0430\u0441\u043D\u0438\u043A \u043C\u043E\u0436\u0435 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u0438 \u0441\u0442\u0430\u043D",ra_buttons:"\u043A\u043D\u043E\u043F\u043A\u0438",ra_changedFrom:"\u0417\u043C\u0456\u043D\u0435\u043D\u043E \u0437",ra_close:"\u0437\u0430\u043A\u0440\u0438\u0442\u0438",ra_create_boolean_state:"\u0421\u0442\u0432\u043E\u0440\u0456\u0442\u044C \u043B\u043E\u0433\u0456\u0447\u043D\u0438\u0439 \u0441\u0442\u0430\u043D",ra_create_channel:"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043A\u0430\u043D\u0430\u043B",ra_create_device:"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043F\u0440\u0438\u0441\u0442\u0440\u0456\u0439",ra_create_number_state:"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043D\u043E\u043C\u0435\u0440\u043D\u0438\u0439 \u0441\u0442\u0430\u043D",ra_create_state:"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",ra_create_string_state:"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0440\u044F\u0434\u043A\u043E\u0432\u0438\u0439 \u0441\u0442\u0430\u043D",ra_daysShortText:"\u0434\u043D\u0456\u0432",ra_dow_Fr:"\u041E",ra_dow_Mo:"\u043F\u043D",ra_dow_Sa:"Sa",ra_dow_Su:"\u041D\u0434",ra_dow_Th:"\u0447\u0442",ra_dow_Tu:"\u0432\u0442",ra_dow_We:"\u043C\u0438",ra_expertMode:"\u0415\u043A\u0441\u043F\u0435\u0440\u0442\u043D\u0438\u0439 \u0440\u0435\u0436\u0438\u043C",ra_fileType_all:"\u0412\u0441\u0456 \u0444\u0430\u0439\u043B\u0438",ra_fileType_audio:"\u0410\u0443\u0434\u0456\u043E",ra_fileType_code:"\u041A\u043E\u0434/JSON",ra_fileType_images:"\u0417\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F",ra_fileType_txt:"\u0442\u0435\u043A\u0441\u0442",ra_fileType_video:"\u0432\u0456\u0434\u0435\u043E","ra_fileType_video,":"\u0432\u0456\u0434\u0435\u043E",ra_filter_customs:"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F",ra_filter_customs_without:"\u0431\u0435\u0437",ra_filter_func:"\u0444\u0443\u043D\u043A\u0446\u0456\u044F",ra_filter_id:"ID",ra_filter_name:"\u0406\u043C'\u044F",ra_filter_role:"\u0420\u043E\u043B\u044C",ra_filter_room:"\u041A\u0456\u043C\u043D\u0430\u0442\u0430",ra_filter_type:"\u0422\u0438\u043F","ra_import data from %s file":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0434\u0430\u043D\u0456 \u0437 \u0444\u0430\u0439\u043B\u0443 %s",ra_invalidConfig:"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F",ra_lastChange:"\u041E\u0441\u0442\u0430\u043D\u043D\u044F \u0437\u043C\u0456\u043D\u0430",ra_locally:"\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E",ra_month_Apr:"\u043A\u0432\u0456\u0442",ra_month_Aug:"\u0441\u0435\u0440\u043F",ra_month_Dec:"\u0433\u0440\u0443\u0434",ra_month_Feb:"\u043B\u044E\u0442\u0438\u0439",ra_month_Jan:"\u0441\u0456\u0447\u043D\u044F",ra_month_Jul:"\u043B\u0438\u043F",ra_month_Jun:"\u0447\u0435\u0440\u0432",ra_month_Mai:"\u0442\u0440\u0430\u0432\u0435\u043D\u044C",ra_month_Mar:"\u0431\u0435\u0440\u0435\u0437\u0435\u043D\u044C",ra_month_Nov:"\u041B\u0438\u0441\u0442\u043E\u043F\u0430\u0434",ra_month_Oct:"\u0436\u043E\u0432\u0442",ra_month_Sep:"\u0432\u0435\u0440",ra_months_Apr:"\u043A\u0432\u0456\u0442",ra_months_Aug:"\u0441\u0435\u0440\u043F",ra_months_Dec:"\u0433\u0440\u0443\u0434",ra_months_Feb:"\u043B\u044E\u0442\u0438\u0439",ra_months_Jan:"\u0441\u0456\u0447\u043D\u044F",ra_months_Jul:"\u043B\u0438\u043F",ra_months_Jun:"\u0447\u0435\u0440\u0432",ra_months_Mai:"\u0442\u0440\u0430\u0432\u0435\u043D\u044C",ra_months_Mar:"\u0431\u0435\u0440\u0435\u0437\u0435\u043D\u044C",ra_months_Nov:"\u041B\u0438\u0441\u0442\u043E\u043F\u0430\u0434",ra_months_Oct:"\u0436\u043E\u0432\u0442",ra_months_Sep:"\u0432\u0435\u0440",ra_none:"\u043D\u0435\u043C\u0430\u0454",ra_object_changed_by:"\u041E\u0431'\u0454\u043A\u0442 \u0437\u043C\u0456\u043D\u0435\u043D\u043E",ra_object_changed_by_user:"\u041E\u0431'\u0454\u043A\u0442 \u0432\u043E\u0441\u0442\u0430\u043D\u043D\u0454 \u0437\u043C\u0456\u043D\u0435\u043D\u043E \u043E",ra_otherConfig:"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0437 \u0456\u043D\u0448\u043E\u0433\u043E \u0430\u0434\u0430\u043F\u0442\u0435\u0440\u0430 %s",ra_qualityCode:"\u041A\u043E\u0434 \u044F\u043A\u043E\u0441\u0442\u0456",ra_repeat:"\u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438",ra_select_folder_hint:"\u0429\u043E\u0431 \u0432\u0438\u0431\u0440\u0430\u0442\u0438 \u043F\u0430\u043F\u043A\u0443, \u043F\u0440\u043E\u0441\u0442\u043E \u043A\u043B\u0430\u0446\u043D\u0456\u0442\u044C \u043F\u0430\u043F\u043A\u0443, \u0443\u0442\u0440\u0438\u043C\u0443\u044E\u0447\u0438 \u043A\u043B\u0430\u0432\u0456\u0448\u0443 \xABShift\xBB.",ra_state_changed_by:"\u0421\u0442\u0430\u043D \u0437\u043C\u0456\u043D\u0435\u043D\u043E \u043D\u0430",ra_state_changed_from:"\u041E\u0431'\u0454\u043A\u0442 \u0437\u043C\u0456\u043D\u0435\u043D\u043E \u0437",ra_timestamp:"\u041C\u0456\u0442\u043A\u0430 \u0447\u0430\u0441\u0443",ra_tooltip_ack:"\u0412\u0438\u0437\u043D\u0430\u043D\u043E",ra_tooltip_comment:"\u043A\u043E\u043C\u0435\u043D\u0442\u0430\u0440",ra_tooltip_copyState:"\u0421\u043A\u043E\u043F\u0456\u044E\u0439\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0441\u0442\u0430\u043D\u0443",ra_tooltip_customConfig:"\u0421\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F",ra_tooltip_deleteObject:"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442",ra_tooltip_editObject:"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442",ra_tooltip_editState:"\u0412\u0456\u0434\u0440\u0435\u0434\u0430\u0433\u0443\u0439\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0441\u0442\u0430\u043D\u0443",ra_tooltip_from:"\u0412\u0456\u0434",ra_tooltip_lc:"\u0412\u043E\u0441\u0442\u0430\u043D\u043D\u0454 \u0437\u043C\u0456\u043D\u0435\u043D\u043E",ra_tooltip_quality:"\u044F\u043A\u0456\u0441\u0442\u044C",ra_tooltip_ts:"\u041F\u043E\u0437\u043D\u0430\u0447\u043A\u0430 \u0447\u0430\u0441\u0443",ra_tooltip_user:"\u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447",ra_tooltip_value:"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F","ra_use seconds":"\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u0441\u0435\u043A\u0443\u043D\u0434\u0438",ra_val:"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F","ra_via internet":"\u0447\u0435\u0440\u0435\u0437 \u0456\u043D\u0442\u0435\u0440\u043D\u0435\u0442",ra_warning_every_minute:"\u041F\u043E\u043F\u0435\u0440\u0435\u0434\u0436\u0435\u043D\u043D\u044F: \u0437\u0430\u0432\u0434\u0430\u043D\u043D\u044F CRON \u0432\u0438\u043A\u043E\u043D\u0443\u0432\u0430\u0442\u0438\u043C\u0435\u0442\u044C\u0441\u044F \u0449\u043E\u0445\u0432\u0438\u043B\u0438\u043D\u0438 \u043F\u0440\u043E\u0442\u044F\u0433\u043E\u043C \u0437\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u043E\u0433\u043E \u043F\u0435\u0440\u0456\u043E\u0434\u0443!",ra_warning_every_second:"\u041F\u043E\u043F\u0435\u0440\u0435\u0434\u0436\u0435\u043D\u043D\u044F: \u0437\u0430\u0432\u0434\u0430\u043D\u043D\u044F CRON \u0432\u0438\u043A\u043E\u043D\u0443\u0432\u0430\u0442\u0438\u043C\u0435\u0442\u044C\u0441\u044F \u043A\u043E\u0436\u043D\u0443 \u0441\u0435\u043A\u0443\u043D\u0434\u0443 \u043F\u0440\u043E\u0442\u044F\u0433\u043E\u043C \u0437\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u043E\u0433\u043E \u043F\u0435\u0440\u0456\u043E\u0434\u0443!",sc_cron:"CRON",sc_date:"\u0414\u0430\u0442\u0430",sc_dates:"\u0434\u0430\u0442\u0438",sc_dow:"\u0414\u0435\u043D\u044C",sc_dows:"\u0414\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F",sc_every:"\u043A\u043E\u0436\u0435\u043D",sc_everyN_dates:"\u043A\u043E\u0436\u043D\u0456 N \u0434\u043D\u0456\u0432",sc_everyN_dow:"\u043A\u043E\u0436\u0435\u043D N-\u0439 \u0434\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F",sc_everyN_dows:"\u043A\u043E\u0436\u043D\u0456 N \u0434\u043D\u0456\u0432 \u0442\u0438\u0436\u043D\u044F",sc_everyN_hours:"\u043A\u043E\u0436\u043D\u0456 N \u0433\u043E\u0434\u0438\u043D",sc_everyN_minutes:"\u043A\u043E\u0436\u043D\u0456 N \u0445\u0432\u0438\u043B\u0438\u043D",sc_everyN_months:"\u043A\u043E\u0436\u043D\u0456 N \u043C\u0456\u0441\u044F\u0446\u0456\u0432",sc_everyN_seconds:"\u043A\u043E\u0436\u043D\u0456 N \u0441\u0435\u043A\u0443\u043D\u0434",sc_every_dates:"\u043A\u043E\u0436\u0435\u043D \u0434\u0435\u043D\u044C",sc_every_dow:"\u043A\u043E\u0436\u0435\u043D \u0434\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F",sc_every_dows:"\u043A\u043E\u0436\u0435\u043D \u0434\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F",sc_every_hours:"\u0449\u043E\u0433\u043E\u0434\u0438\u043D\u0438",sc_every_minutes:"\u043A\u043E\u0436\u043D\u0443 \u0445\u0432\u0438\u043B\u0438\u043D\u0443",sc_every_months:"\u0449\u043E\u043C\u0456\u0441\u044F\u0446\u044F",sc_every_seconds:"\u043A\u043E\u0436\u043D\u0430 \u0441\u0435\u043A\u0443\u043D\u0434\u0430",sc_from:"\u0412\u0456\u0434",sc_hours:"\u0433\u043E\u0434\u0438\u043D\u0438",sc_interval:"\u0406\u043D\u0442\u0435\u0440\u0432\u0430\u043B",sc_intervalBetween:"\u0406\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u043C\u0456\u0436",sc_invalid_cron:"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0438\u0439 CRON",sc_minutes:"\u0445\u0432\u0438\u043B\u0438\u043D",sc_months:"\u043C\u0456\u0441\u044F\u0446\u0456\u0432",sc_once:"\u041E\u0434\u0438\u043D \u0440\u0430\u0437",sc_period:"\u041A\u0440\u0430\u043F\u043A\u0430",sc_seconds:"\u0441\u0435\u043A\u0443\u043D\u0434",sc_simple:"\u043F\u0440\u043E\u0441\u0442\u043E",sc_specific:"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0438\u0439 \u0447\u0430\u0441",sc_specific_dates:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u0434\u0430\u0442\u0438",sc_specific_dow:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0438\u0439 \u0434\u0435\u043D\u044C (\u0434\u043D\u0456) \u0442\u0438\u0436\u043D\u044F",sc_specific_dows:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0438\u0439 \u0434\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F",sc_specific_hours:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u0433\u043E\u0434\u0438\u043D\u0438",sc_specific_minutes:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u0445\u0432\u0438\u043B\u0438\u043D\u0438",sc_specific_months:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u043C\u0456\u0441\u044F\u0446\u0456",sc_specific_seconds:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u0441\u0435\u043A\u0443\u043D\u0434\u0438",sc_time:"\u0447\u0430\u0441",sc_to:"\u0434\u043E",sc_wizard:"\u043C\u0430\u0439\u0441\u0442\u0435\u0440",sch_all:"\u0432\u0441\u0435",sch_astroDay:"\u0410\u0441\u0442\u0440\u043E\u0434\u0435\u043D\u044C",sch_astroNight:"\u0410\u0441\u0442\u0440\u043E \u043D\u0456\u0447",sch_astro_dawn:"\u0421\u0432\u0456\u0442\u0430\u043D\u043E\u043A",sch_astro_dusk:"\u0421\u0443\u0442\u0456\u043D\u043A\u0438",sch_astro_goldenHour:"\u0417\u043E\u043B\u043E\u0442\u0430 \u0433\u043E\u0434\u0438\u043D\u0430",sch_astro_goldenHourEnd:"\u041A\u0456\u043D\u0435\u0446\u044C \u0437\u043E\u043B\u043E\u0442\u043E\u0457 \u0433\u043E\u0434\u0438\u043D\u0438",sch_astro_nadir:"\u041D\u0430\u0434\u0456\u0440",sch_astro_nauticalDawn:"\u041C\u043E\u0440\u0441\u044C\u043A\u0438\u0439 \u0441\u0432\u0456\u0442\u0430\u043D\u043E\u043A",sch_astro_nauticalDusk:"\u041C\u043E\u0440\u0441\u044C\u043A\u0456 \u0441\u0443\u0442\u0456\u043D\u043A\u0438",sch_astro_night:"\u043D\u0456\u0447",sch_astro_nightEnd:"\u041A\u0456\u043D\u0435\u0446\u044C \u043D\u043E\u0447\u0456",sch_astro_solarNoon:"\u0421\u043E\u043D\u044F\u0447\u043D\u0438\u0439 \u043F\u043E\u043B\u0443\u0434\u0435\u043D\u044C",sch_astro_sunrise:"\u0421\u0445\u0456\u0434 \u0441\u043E\u043D\u0446\u044F",sch_astro_sunriseEnd:"\u041A\u0456\u043D\u0435\u0446\u044C \u0441\u0445\u043E\u0434\u0443 \u0441\u043E\u043D\u0446\u044F",sch_astro_sunset:"\u0417\u0430\u0445\u0456\u0434 \u0441\u043E\u043D\u0446\u044F",sch_astro_sunsetStart:"\u041F\u043E\u0447\u0430\u0442\u043E\u043A \u0437\u0430\u0445\u043E\u0434\u0443 \u0441\u043E\u043D\u0446\u044F",sch_at:"\u0432",sch_desc_atTime:"\u0432 %s",sch_desc_everyDay:"\u043A\u043E\u0436\u0435\u043D \u0434\u0435\u043D\u044C",sch_desc_everyHour:"\u0449\u043E\u0433\u043E\u0434\u0438\u043D\u0438",sch_desc_everyMinute:"\u043A\u043E\u0436\u043D\u0443 \u0445\u0432\u0438\u043B\u0438\u043D\u0443",sch_desc_everyMonth:"\u0449\u043E\u043C\u0456\u0441\u044F\u0446\u044F",sch_desc_everyNDay:"\u043A\u043E\u0436\u0435\u043D %s \u0434\u0435\u043D\u044C",sch_desc_everyNHours:"\u043A\u043E\u0436\u043D\u0456 %s \u0433\u043E\u0434\u0438\u043D",sch_desc_everyNMinutes:"\u043A\u043E\u0436\u043D\u0456 %s \u0445\u0432\u0438\u043B\u0438\u043D",sch_desc_everyNMonths:"\u043A\u043E\u0436\u043D\u0456 %s \u043C\u0456\u0441\u044F\u0446\u0456\u0432",sch_desc_everyNWeeks:"\u043A\u043E\u0436\u043D\u0456 %s \u0442\u0438\u0436\u043D\u0456\u0432",sch_desc_everyNYears:"\u043A\u043E\u0436\u043D\u0456 %s \u0440\u043E\u043A\u0456\u0432",sch_desc_everyWeek:"\u0449\u043E\u0442\u0438\u0436\u043D\u044F",sch_desc_everyYear:"\u0449\u043E\u0440\u043E\u043A\u0443",sch_desc_intervalFromTo:"\u0432\u0456\u0434 %s \u0434\u043E %s",sch_desc_never:"\u043D\u0456\u043A\u043E\u043B\u0438",sch_desc_onDate:"\u043D\u0430 %s \u0437 %s",sch_desc_onDates:"\u043D\u0430 %s \u0456 %s \u0437",sch_desc_onEveryDate:"\u043D\u0430 \u043A\u043E\u0436\u043D\u0443 \u0434\u0430\u0442\u0443",sch_desc_onMonth:"%s",sch_desc_onMonths:"%s \u0456 %s",sch_desc_onWeekday:"\u043D\u0430 %s",sch_desc_onWeekdays:"\u043D\u0430 %s \u0456 %s",sch_desc_onWeekends:"\u043D\u0430 \u0432\u0438\u0445\u0456\u0434\u043D\u0438\u0445",sch_desc_onWorkdays:"\u0432 \u0440\u043E\u0431\u043E\u0447\u0456 \u0434\u043D\u0456",sch_desc_onceInPast:"\u0431\u0456\u043B\u044C\u0448\u0435 \u043D\u0435 \u0432\u0438\u043A\u043E\u043D\u0443\u0432\u0430\u0442\u0438\u043C\u0435\u0442\u044C\u0441\u044F, \u043E\u0441\u043A\u0456\u043B\u044C\u043A\u0438 \u0437\u0430\u043F\u0443\u0441\u043A \u0443 \u043C\u0438\u043D\u0443\u043B\u043E\u043C\u0443",sch_desc_once_on:"\u043D\u0430 %s",sch_desc_validFrom:"\u0432\u0456\u0434 %s",sch_desc_validFromTo:"\u0412\u0438\u043A\u043E\u043D\u0430\u0442\u0438 \u0432\u0456\u0434 \u0434\u043E",sch_desc_validTo:"\u0434\u043E %s",sch_every:"\u043A\u043E\u0436\u0435\u043D",sch_exactTime:"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0438\u0439 \u0447\u0430\u0441",sch_from:"\u0432\u0456\u0434",sch_fromTo:"\u0412\u0456\u0434 \u0434\u043E",sch_intervalTime:"\u0427\u0430\u0441 \u0456\u043D\u0442\u0435\u0440\u0432\u0430\u043B\u0443",sch_invert:"\u0456\u043D\u0432\u0435\u0440\u0442\u0443\u0432\u0430\u0442\u0438",sch_no_one:"\u043D\u0435\u043C\u0430\u0454",sch_on:"\u043D\u0430",sch_period:"\u041A\u0440\u0430\u043F\u043A\u0430",sch_periodDaily:"\u0429\u043E\u0434\u043D\u044F",sch_periodDates:"\u0434\u0430\u0442\u0438",sch_periodDay:"\u0414\u0435\u043D\u044C",sch_periodEvery:"\u043A\u043E\u0436\u0435\u043D",sch_periodEveryDay:"\u041A\u043E\u0436\u0435\u043D \u0434\u0435\u043D\u044C",sch_periodEveryMonth:"\u0429\u043E\u043C\u0456\u0441\u044F\u0446\u044F",sch_periodEveryWeek:"\u0429\u043E\u0442\u0438\u0436\u043D\u044F",sch_periodEveryYear:"\u0429\u043E\u0440\u043E\u043A\u0443",sch_periodHours:"\u0433\u043E\u0434\u0438\u043D\u0438",sch_periodMinutes:"\u0445\u0432\u0438\u043B\u0438\u043D",sch_periodMonth:"\u043C\u0456\u0441\u044F\u0446\u044C",sch_periodMonthly:"\u0429\u043E\u043C\u0456\u0441\u044F\u0446\u044F",sch_periodOnce:"\u041E\u0434\u0438\u043D \u0440\u0430\u0437",sch_periodSpecificMonths:"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u043C\u0456\u0441\u044F\u0446\u0456",sch_periodWeek:"\u0442\u0438\u0436\u0434\u0435\u043D\u044C",sch_periodWeekdays:"\u0431\u0443\u0434\u043D\u0456",sch_periodWeekend:"\u0412\u0438\u0445\u0456\u0434\u043D\u0456",sch_periodWeekly:"\u0429\u043E\u0442\u0438\u0436\u043D\u044F",sch_periodWorkdays:"\u0440\u043E\u0431\u043E\u0447\u0456 \u0434\u043D\u0456",sch_periodYear:"\u0440\u0456\u043A",sch_periodYearly:"\u0449\u043E\u0440\u0456\u0447\u043D\u043E",sch_specificTime:"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0438\u0439 \u0447\u0430\u0441",sch_time:"\u0447\u0430\u0441",sch_to:"\u0434\u043E",sch_valid:"\u0414\u0456\u0439\u0441\u043D\u0438\u0439",sch_validFrom:"\u0432\u0456\u0434",sch_validTo:"\u0434\u043E",sch_wholeDay:"\u0426\u0456\u043B\u0438\u0439 \u0434\u0435\u043D\u044C",sch_yearEveryMonth:"\u0449\u043E\u043C\u0456\u0441\u044F\u0446\u044F"};var YG={"ra_%s links from aliases":"\u6765\u81EA\u522B\u540D\u7684 %s \u4E2A\u94FE\u63A5","ra_%s object(s) processed":"\u5DF2\u5904\u7406%s\u4E2A\u5BF9\u8C61","ra_%s was imported":"\u5BF9\u8C61\u5DF2\u5BFC\u5165","ra_Accept license":"\u63A5\u53D7\u8BB8\u53EF","ra_Add new child object to selected parent":"\u5C06\u65B0\u7684\u5B50\u5BF9\u8C61\u6DFB\u52A0\u5230\u9009\u5B9A\u7684\u7236\u5BF9\u8C61","ra_Add objects tree from JSON file":"\u4ECEJSON\u6587\u4EF6\u6DFB\u52A0\u5BF9\u8C61\u6811","ra_Add row":"\u6DFB\u52A0\u884C","ra_Advanced options":"\u9AD8\u7EA7\u9009\u9879","ra_All items are filtered out":"\u6240\u6709\u9879\u76EE\u90FD\u88AB\u8FC7\u6EE4\u6389","ra_All objects":"\u6240\u6709\u5BF9\u8C61",ra_Append:"\u9644\u52A0","ra_Append %s entries or replace existing?":"\u8FFD\u52A0 %s \u6761\u76EE\u8FD8\u662F\u66FF\u6362\u73B0\u6709\u6761\u76EE\uFF1F","ra_Append or replace?":"\u8FFD\u52A0\u8FD8\u662F\u66FF\u6362\uFF1F","ra_Are you sure?":"\u4F60\u786E\u5B9A\u5417\uFF1F","ra_Auto (no custom columns)":"\u81EA\u52A8\uFF08\u65E0\u81EA\u5B9A\u4E49\u5217\uFF09","ra_Back to %s":"\u8FD4\u56DE\u201C%s\u201D","ra_Background image":"\u80CC\u666F\u56FE\u50CF",ra_Cancel:"\u53D6\u6D88","ra_Cannot add items with set filter":"\u65E0\u6CD5\u4F7F\u7528\u8BBE\u7F6E\u8FC7\u6EE4\u5668\u6DFB\u52A0\u9879\u76EE","ra_Cannot decode license":"\u65E0\u6CD5\u89E3\u7801\u8BB8\u53EF\u8BC1","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"\u65E0\u6CD5\u786E\u5B9A\u4F4D\u7F6E\uFF1A\u7CFB\u7EDF\u8BBE\u7F6E\u4E3A\u7A7A\u4E14\u6D4F\u89C8\u5668\u4E2D\u7981\u7528\u4E86 GPS \u68C0\u6D4B",'ra_Cannot find "%s"':"\u627E\u4E0D\u5230\u201C%s\u201D",'ra_Cannot read "%s"':"\u65E0\u6CD5\u9605\u8BFB\u201C%s\u201D","ra_Cannot read licenses: %s":"\u65E0\u6CD5\u8BFB\u53D6\u8BB8\u53EF\u8BC1\uFF1A%s","ra_Cannot retrieve options, as instance is offline":"\u65E0\u6CD5\u68C0\u7D22\u9009\u9879\uFF0C\u56E0\u4E3A\u5B9E\u4F8B\u5904\u4E8E\u8131\u673A\u72B6\u6001","ra_Cannot update attribute, because not found in the object":"\u65E0\u6CD5\u66F4\u65B0\u5C5E\u6027\uFF0C\u56E0\u4E3A\u5728\u5BF9\u8C61\u4E2D\u627E\u4E0D\u5230","ra_Cannot upload":"\u65E0\u6CD5\u4E0A\u4F20",ra_Categories:"\u7C7B\u522B","ra_Chained certificate":"\u94FE\u5F0F\u8BC1\u4E66","ra_Change color theme":"\u66F4\u6539\u989C\u8272\u4E3B\u9898","ra_Changed from":"\u66F4\u6539\u4E3A","ra_Channel \u2192 State":"\u9891\u9053\u2192\u72B6\u6001","ra_Check license":"\u68C0\u67E5\u8BB8\u53EF\u8BC1",ra_Checked:"\u52FE\u9009",ra_Clear:"\u5220\u9664","ra_Clear filter":"\u6E05\u9664\u7B5B\u9009","ra_Clear icon":"\u6E05\u9664\u56FE\u6807","ra_Clone current row":"\u514B\u9686\u5F53\u524D\u884C",ra_Close:"\u5173","ra_Collapse all nodes":"\u6536\u5408\u6240\u6709\u8282\u70B9","ra_Collapse one step node":"\u6298\u53E0\u4E00\u7EA7",ra_Commercial:"\u5546\u4E1A\u7684",ra_Configure:"\u914D\u7F6E","ra_Configure visible columns":"\u914D\u7F6E\u53EF\u89C1\u5217","ra_Confirm deletion of %s":"\u786E\u8BA4\u5220\u9664%s",ra_Connected:"\u8FDE\u63A5\u7684",ra_Copied:"\u590D\u5236\u7684","ra_Copied %s":'\u590D\u5236\u7684"%s"',"ra_Copy content":"\u590D\u5236\u5185\u5BB9",ra_Create:"\u521B\u5EFA","ra_Create alias":"\u521B\u5EFA\u522B\u540D","ra_Create folder":"\u521B\u5EFA\u6587\u4EF6\u5939","ra_Create new folder in %s":"\u5728%s\u4E2D\u521B\u5EFA\u65B0\u6587\u4EF6\u5939",ra_Crop:"\u5E84\u7A3C","ra_Define CRON...":"\u5B9A\u4E49 CRON...","ra_Define functions":"\u5B9A\u4E49\u529F\u80FD","ra_Define rooms":"\u5B9A\u4E49\u623F\u95F4","ra_Define schedule":"\u5B9A\u4E49\u65F6\u95F4\u8868","ra_Define schedule...":"\u5B9A\u4E49\u65F6\u95F4\u8868...",ra_Del:"Delete",ra_Delete:"\u5220\u9664","ra_Delete (no confirm for 5 mins)":"\u5220\u9664\uFF085\u5206\u949F\u5185\u672A\u786E\u8BA4\uFF09","ra_Delete current row":"\u5220\u9664\u5F53\u524D\u884C","ra_Deselect all":"\u5168\u90E8\u53D6\u6D88\u9009\u62E9","ra_Device \u2192 Channel \u2192 State":"\u8BBE\u5907\u2192\u9891\u9053\u2192\u72B6\u6001",ra_Discard:"\u4E22\u5F03",ra_Disconnected:"\u65AD\u5F00\u8FDE\u63A5","ra_Do not export values of states":"\u4E0D\u5BFC\u51FA\u72B6\u6001\u503C","ra_Do not use let's encrypt":"\u4E0D\u8981\u4F7F\u7528\u8BA9\u6211\u4EEC\u52A0\u5BC6","ra_Double click to reset table layout":"\u53CC\u51FB\u91CD\u7F6E\u8868\u683C\u5E03\u5C40","ra_Drag 'n' drop some files here, or click to select files":"\u5C06\u4E00\u4E9B\u6587\u4EF6\u62D6\u653E\u5230\u6B64\u5904\uFF0C\u6216\u5355\u51FB\u4EE5\u9009\u62E9\u6587\u4EF6","ra_Drop file here":"\u5C06\u6863\u6848\u653E\u5728\u8FD9\u91CC","ra_Drop the files here...":"\u628A\u6587\u4EF6\u653E\u5728\u8FD9\u91CC...","ra_Duplicate name":"\u540D\u79F0\u91CD\u590D","ra_Edit ACL":"\u7F16\u8F91\u8BBF\u95EE\u63A7\u5236\u5217\u8868","ra_Edit alias":"\u7F16\u8F91\u522B\u540D","ra_Edit custom config":"\u7F16\u8F91\u81EA\u5B9A\u4E49\u914D\u7F6E","ra_Edit function":"\u7F16\u8F91\u529F\u80FD","ra_Edit object field":"\u7F16\u8F91\u5BF9\u8C61\u5B57\u6BB5","ra_Edit role":"\u7F16\u8F91\u89D2\u8272","ra_Edit room":"\u7F16\u8F91\u5BA4","ra_Edit value":"\u7F16\u8F91\u503C",ra_Error:"\u9519\u8BEF","ra_Expand all nodes":"\u5C55\u5F00\u6240\u6709\u8282\u70B9","ra_Expand one step node":"\u6269\u5927\u4E00\u7EA7","ra_Export data to %s file":"\u5C06\u6570\u636E\u5BFC\u51FA\u5230 %s \u6587\u4EF6","ra_Failed to open JSON File":"\u65E0\u6CD5\u6253\u5F00JSON\u6587\u4EF6","ra_Fallback custom certificates":"\u540E\u5907\u81EA\u5B9A\u4E49\u8BC1\u4E66","ra_File is too big. Max %sk allowed. Try use SVG.":"\u6587\u4EF6\u592A\u5927\u3002\u5141\u8BB8\u7684\u6700\u5927\u5B57\u8282%s\u6570\u3002\u5C1D\u8BD5\u4F7F\u7528 SVG\u3002",ra_Filter:"\u7B5B\u9009","ra_Filter files":"\u8FC7\u6EE4\u6587\u4EF6","ra_Folder name":"\u6587\u4EF6\u5939\u540D\u79F0","ra_Folder \u2192 Channel \u2192 State":"\u6587\u4EF6\u5939\u2192\u9891\u9053\u2192\u72B6\u6001","ra_Folder \u2192 Device \u2192 Channel \u2192 State":"\u6587\u4EF6\u5939\u2192\u8BBE\u5907\u2192\u9891\u9053\u2192\u72B6\u6001","ra_Folder \u2192 State":"\u6587\u4EF6\u5939\u2192\u72B6\u6001","ra_Folders always first":"\u8D44\u6599\u5939\u6C38\u8FDC\u4F18\u5148",ra_Friday:"\u661F\u671F\u4E94","ra_Good luck":"\u795D\u4F60\u597D\u8FD0","ra_Hide empty folders":"\u9690\u85CF\u7A7A\u6587\u4EF6\u5939","ra_If no file will be created in the folder, it will disappear after the browser closed":"\u5982\u679C\u5728\u8BE5\u6587\u4EF6\u5939\u4E2D\u672A\u521B\u5EFA\u4EFB\u4F55\u6587\u4EF6\uFF0C\u5219\u8BE5\u6587\u4EF6\u5C06\u5728\u6D4F\u89C8\u5668\u5173\u95ED\u540E\u6D88\u5931","ra_Import data from %s file":"\u4ECE %s \u6587\u4EF6\u5BFC\u5165\u6570\u636E","ra_Import from %s":"\u4ECE %s \u5BFC\u5165","ra_Instance %s is alive":"\u5B9E\u4F8B %s \u662F\u6D3B\u52A8\u7684","ra_Instance %s is not alive":"\u5B9E\u4F8B %s \u4E0D\u5B58\u5728","ra_Instance is not alive":"\u5B9E\u4F8B\u4E0D\u5B58\u5728","ra_Invalid CRON":"\u65E0\u6548\u7684 CRON","ra_Invalid JSON":"JSON \u65E0\u6548","ra_Invalid answer from server":"\u6765\u81EA\u670D\u52A1\u5668\u7684\u65E0\u6548\u7B54\u6848","ra_Invalid parent folder!":"\u7236\u6587\u4EF6\u5939\u65E0\u6548\uFF01","ra_Invalid structure":"\u7ED3\u6784\u65E0\u6548","ra_JSON editor":"JSON \u7F16\u8F91\u5668","ra_Last change":"\u6700\u540E\u4E00\u6B21\u53D8\u66F4",ra_Latitude:"\u7EAC\u5EA6","ra_License %s":"\u8BB8\u53EF\u8BC1 %s","ra_License agreement":"\u8BB8\u53EF\u534F\u8BAE","ra_License does not exist":"\u8BB8\u53EF\u8BC1\u4E0D\u5B58\u5728","ra_License expired on %s":"\u8BB8\u53EF\u8BC1\u5DF2\u4E8E %s \u8FC7\u671F",'ra_License for other product "%s"':"\u5176\u4ED6\u4EA7\u54C1\u201C%s\u201D\u7684\u8BB8\u53EF\u8BC1","ra_License is for version %s, but required version is %s.":"\u8BB8\u53EF\u8BC1\u9002\u7528\u4E8E\u7248\u672C %s\uFF0C\u4F46\u6240\u9700\u7248\u672C\u4E3A %s\u3002","ra_License must be converted":"\u8BB8\u53EF\u8BC1\u5FC5\u987B\u8F6C\u6362\u4E3A\u66F4\u65B0\u7248\u672C\u3002\u60A8\u53EF\u4EE5\u5728 iobroker.net \u4E2A\u4EBA\u8D44\u6599\u4E2D\u6267\u884C\u6B64\u64CD\u4F5C\u3002","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"\u5728\u8BB8\u53EF\u8BC1\u7BA1\u7406\u5668\u4E2D\u627E\u4E0D\u5230\u8BB8\u53EF\u8BC1\u3002\u60A8\u8981\u4ECE iobroker.net \u66F4\u65B0\u8BB8\u53EF\u8BC1\u5417\uFF1F","ra_Listen on all IPs":"\u76D1\u542C\u6240\u6709IP","ra_Load configuration from file":"\u4ECE\u6587\u4EF6\u52A0\u8F7D\u914D\u7F6E",ra_Longitude:"\u7ECF\u5EA6",'ra_May not trigger "updateLicenses"':"\u53EF\u80FD\u4E0D\u4F1A\u89E6\u53D1\u201CupdateLicenses\u201D",ra_Message:"\u4FE1\u606F",ra_Monday:"\u5468\u4E00","ra_Move down":"\u4E0B\u79FB","ra_Move up":"\u63D0\u5347",ra_Name:"\u59D3\u540D","ra_No data found in file":"\u6587\u4EF6\u4E2D\u672A\u627E\u5230\u6570\u636E","ra_No one license found in license manager":"\u8BB8\u53EF\u8BC1\u7BA1\u7406\u5668\u4E2D\u672A\u627E\u5230\u4EFB\u4F55\u8BB8\u53EF\u8BC1","ra_No response from the backend":"\u540E\u7AEF\u65E0\u54CD\u5E94",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"\u975E\u4E13\u5BB6\u53EA\u80FD\u5728\u201C 0_userdata.0\u201D\u6216\u201C alias.0\u201D\u4E2D\u521B\u5EFA\u65B0\u5BF9\u8C61\u3002","ra_Not a number":"\u4E0D\u662F\u6570\u5B57",ra_Objects:"\u5BF9\u8C61",ra_Ok:"\u597D","ra_On weekdays":"\u5728\u5DE5\u4F5C\u65E5","ra_Only following structures of objects are available:":"\u4EC5\u4EE5\u4E0B\u5BF9\u8C61\u7ED3\u6784\u53EF\u7528\uFF1A","ra_Only selected":"\u53EA\u9009\u62E9","ra_Owner group":"\u6240\u6709\u8005\u7EC4","ra_Owner user":"\u6240\u6709\u8005\u7528\u6237","ra_Passwords are not equal!":"\u5BC6\u7801\u4E0D\u76F8\u7B49\uFF01","ra_Place your files here or click here to open the browse dialog":"\u5C06\u6587\u4EF6\u653E\u5728\u6B64\u5904\u6216\u5355\u51FB\u6B64\u5904\u6253\u5F00\u6D4F\u89C8\u5BF9\u8BDD\u6846","ra_Please confirm":"\u8BF7\u786E\u8BA4","ra_Please create license":"\u8BF7\u521B\u5EFA\u8BB8\u53EF\u8BC1","ra_Please enter the license":"\u8BF7\u8F93\u5165\u8BB8\u53EF\u8BC1","ra_Please select file...":"\u8BF7\u9009\u62E9\u6587\u4EF6...","ra_Please select object ID...":"\u8BF7\u9009\u62E9\u5BF9\u8C61ID ...","ra_Port could be used by %s":"%s \u53EF\u4EE5\u4F7F\u7528\u7AEF\u53E3","ra_Port is already used by %s":"\u7AEF\u53E3\u5DF2\u88AB %s \u4F7F\u7528","ra_Private certificate":"\u79C1\u6709\u8BC1\u4E66",ra_Product:"\u4EA7\u54C1","ra_Public certificate":"\u516C\u5171\u8BC1\u4E66","ra_Quality code":"\u8D28\u91CF\u4EE3\u7801","ra_Refresh tree":"\u5237\u65B0\u6811","ra_Reload files":"\u91CD\u65B0\u8F7D\u5165\u6587\u4EF6",ra_Repeat:"\u91CD\u590D",ra_Replace:"\u4EE3\u66FF","ra_Request timed out":"\u8BF7\u6C42\u8D85\u65F6","ra_Restrict to folder":"\u9650\u5236\u5230\u6587\u4EF6\u5939",ra_Root:"\u6839",ra_Saturday:"\u5468\u516D",ra_Save:"\u4FDD\u5B58","ra_Save and close":"\u4FDD\u5B58\u5E76\u5173\u95ED","ra_Save configuration to file":"\u5C06\u914D\u7F6E\u4FDD\u5B58\u5230\u6587\u4EF6","ra_Save objects tree as JSON file":"\u5C06\u5BF9\u8C61\u6811\u53E6\u5B58\u4E3AJSON\u6587\u4EF6","ra_Select all":"\u5168\u9009","ra_Select color":"\u9009\u62E9\u989C\u8272","ra_Select predefined icon":"\u9009\u62E9\u9884\u5B9A\u4E49\u56FE\u6807","ra_Select type of export":"\u9009\u62E9\u5BFC\u51FA\u7C7B\u578B",ra_Selected:"\u5DF2\u9009","ra_Selected %s object(s)":"\u9009\u5B9A\u7684 %s \u4E2A\u5BF9\u8C61","ra_Serial number (UUID)":"\u5E8F\u5217\u53F7 (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"\u8BB8\u53EF\u8BC1\u4E2D\u7684\u5E8F\u5217\u53F7 (UUID)\u201C%s\u201D\u7528\u4E8E\u5176\u4ED6\u8BBE\u5907\u3002","ra_Show all folders":"\u663E\u793A\u6240\u6709\u6587\u4EF6\u5939","ra_Show lines between rows":"\u663E\u793A\u884C\u4E4B\u95F4\u7684\u7EBF","ra_Show/Hide object descriptions":"\u663E\u793A/\u9690\u85CF\u5BF9\u8C61\u63CF\u8FF0","ra_Show/hide filter input":"\u663E\u793A/\u9690\u85CF\u8FC7\u6EE4\u5668\u8F93\u5165","ra_Some data are not stored. Discard?":"\u90E8\u5206\u6570\u636E\u672A\u5B58\u50A8\u3002\u4E22\u5F03\uFF1F",ra_States:"\u72B6\u6001","ra_Suitable license not found in license manager":"\u5728\u8BB8\u53EF\u8BC1\u7BA1\u7406\u5668\u4E2D\u627E\u4E0D\u5230\u5408\u9002\u7684\u8BB8\u53EF\u8BC1",ra_Sunday:"\u661F\u671F\u65E5","ra_Suppress question for next %s minutes":"\u5728\u63A5\u4E0B\u6765\u7684%s\u5206\u949F\u5185\u53D6\u6D88\u63D0\u95EE","ra_System language":"\u7CFB\u7EDF\u8BED\u8A00","ra_Take browser position":"\u4ECE\u6D4F\u89C8\u5668\u83B7\u53D6\u4F4D\u7F6E","ra_Take position from system settings":"\u4ECE\u7CFB\u7EDF\u8BBE\u7F6E\u4E2D\u83B7\u53D6\u4F4D\u7F6E",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"\u4E13\u5BB6\u53EF\u4EE5\u5728\u4EFB\u4F55\u5730\u65B9\u521B\u5EFA\u5BF9\u8C61\uFF0C\u4F46\u8981\u4ECE\u7B2C\u4E8C\u5C42\u5F00\u59CB\uFF08\u4F8B\u5982\u201C vis.0\u201D\u6216\u201C javascript.0\u201D\uFF09\u3002","ra_The page you are looking for was not found":"\u672A\u627E\u5230\u60A8\u8981\u67E5\u627E\u7684\u9875\u9762","ra_The schedule will be executed every minute. Are you sure?":"\u8BE5\u8BA1\u5212\u5C06\u6BCF\u5206\u949F\u6267\u884C\u4E00\u6B21\u3002\u60A8\u786E\u5B9A\u5417\uFF1F","ra_The schedule will be executed every second. Are you sure?":"\u8BE5\u8BA1\u5212\u5C06\u6BCF\u79D2\u6267\u884C\u4E00\u6B21\u3002\u4F60\u786E\u5B9A\u5417\uFF1F",ra_Thursday:"\u5468\u56DB",ra_Timestamp:"\u65F6\u95F4\u6233\u8BB0","ra_Toggle expert mode":"\u5207\u6362\u4E13\u5BB6\u6A21\u5F0F","ra_Toggle the states view":"\u5207\u6362\u72B6\u6001\u89C6\u56FE","ra_Toggle view mode":"\u5207\u6362\u68C0\u89C6\u6A21\u5F0F","ra_Too big":"\u592A\u5927","ra_Too small":"\u592A\u5C0F","ra_Transparent dialog":"\u900F\u660E\u5BF9\u8BDD\u6846",ra_Tuesday:"\u5468\u4E8C","ra_Unknown error":"\u672A\u77E5\u9519\u8BEF","ra_Unknown error!":"\u672A\u77E5\u9519\u8BEF\uFF01",ra_Update:"\u66F4\u65B0\u8D44\u6599","ra_Upload file":"\u4E0A\u4F20\u6587\u4EF6","ra_Use all available let's encrypt certificates":"\u4F7F\u7528\u6240\u6709\u53EF\u7528\u7684\u8BA9\u6211\u4EEC\u52A0\u5BC6\u8BC1\u4E66","ra_Use iobroker.acme adapter for letsencrypt certificates":"\u4F7F\u7528 iobroker.acme \u9002\u914D\u5668\u83B7\u53D6 letsencrypt \u8BC1\u4E66","ra_Use system settings for position":"\u4F7F\u7528\u7CFB\u7EDF\u8BBE\u7F6E\u5B9A\u4F4D","ra_Used system settings":"\u4F7F\u7528\u7684\u7CFB\u7EDF\u8BBE\u7F6E","ra_User files":"\u7528\u6237\u6863\u6848",ra_ValidTill:"\u6709\u6548\u671F\u81F3",ra_Value:"\u503C",ra_Version:"\u7248\u672C","ra_View file":"\u67E5\u770B\u6587\u4EF6","ra_View: %s":"\u67E5\u770B\uFF1A%s",ra_Wednesday:"\u5468\u4E09",ra_Width:"\u5BBD\u5EA6",ra_Yes:"\u662F\u7684","ra_You can export all objects or just the selected branch.":"\u60A8\u53EF\u4EE5\u5BFC\u51FA\u6240\u6709\u5BF9\u8C61\u6216\u4EC5\u5BFC\u51FA\u9009\u5B9A\u7684\u5206\u652F\u3002","ra_You can filter entries by entering here some text":"\u60A8\u53EF\u4EE5\u901A\u8FC7\u5728\u6B64\u5904\u8F93\u5165\u4E00\u4E9B\u6587\u672C\u6765\u8FC7\u6EE4\u6761\u76EE",ra___different__:"\u4E0D\u540C\u7684",ra_aclEveryone_read_object:"\u6BCF\u4E2A\u4EBA\u90FD\u53EF\u4EE5\u9605\u8BFB\u5BF9\u8C61",ra_aclEveryone_read_state:"\u6BCF\u4E2A\u4EBA\u90FD\u53EF\u4EE5\u9605\u8BFB\u72B6\u6001",ra_aclEveryone_write_object:"\u6BCF\u4E2A\u4EBA\u90FD\u53EF\u4EE5\u5199\u5BF9\u8C61",ra_aclEveryone_write_state:"\u6BCF\u4E2A\u4EBA\u90FD\u53EF\u4EE5\u5199\u72B6\u6001",ra_aclGroup_read_object:"\u7EC4\u53EF\u4EE5\u8BFB\u53D6\u5BF9\u8C61",ra_aclGroup_read_state:"\u7FA4\u7EC4\u53EF\u4EE5\u8BFB\u53D6\u72B6\u6001",ra_aclGroup_write_object:"\u7EC4\u53EF\u4EE5\u5199\u5BF9\u8C61",ra_aclGroup_write_state:"\u7EC4\u53EF\u4EE5\u5199\u72B6\u6001",ra_aclOwner_read_object:"\u6240\u6709\u8005\u53EF\u4EE5\u8BFB\u53D6\u5BF9\u8C61",ra_aclOwner_read_state:"\u6240\u6709\u8005\u53EF\u4EE5\u8BFB\u53D6\u72B6\u6001",ra_aclOwner_write_object:"\u6240\u6709\u8005\u53EF\u4EE5\u5199\u5BF9\u8C61",ra_aclOwner_write_state:"\u6240\u6709\u8005\u53EF\u4EE5\u5199\u72B6\u6001",ra_buttons:"\u7EBD\u6263",ra_changedFrom:"\u66F4\u6539\u4E3A",ra_close:"\u5173\u95ED",ra_create_boolean_state:"\u521B\u5EFA\u5E03\u5C14\u72B6\u6001",ra_create_channel:"\u521B\u5EFA\u9891\u9053",ra_create_device:"\u521B\u5EFA\u8BBE\u5907",ra_create_number_state:"\u521B\u5EFA\u53F7\u7801\u72B6\u6001",ra_create_state:"\u521B\u5EFA\u72B6\u6001",ra_create_string_state:"\u521B\u5EFA\u5B57\u7B26\u4E32\u72B6\u6001",ra_daysShortText:"\u5929",ra_dow_Fr:"r",ra_dow_Mo:"\u83AB",ra_dow_Sa:"\u8428",ra_dow_Su:"\u82CF",ra_dow_Th:"Th",ra_dow_Tu:"Tu",ra_dow_We:"\u6211\u4EEC",ra_expertMode:"\u4E13\u5BB6\u6A21\u5F0F",ra_fileType_all:"\u6240\u6709\u6587\u4EF6",ra_fileType_audio:"\u58F0\u97F3\u7684",ra_fileType_code:"\u4EE3\u7801/JSON",ra_fileType_images:"\u56FE\u7247",ra_fileType_txt:"\u6587\u672C",ra_fileType_video:"\u89C6\u9891","ra_fileType_video,":"\u89C6\u9891",ra_filter_customs:"\u8BBE\u5B9A\u503C",ra_filter_customs_without:"\u6CA1\u6709",ra_filter_func:"\u529F\u80FD",ra_filter_id:"ID",ra_filter_name:"\u540D\u79F0",ra_filter_role:"\u89D2\u8272",ra_filter_room:"\u623F\u95F4",ra_filter_type:"\u7C7B\u578B","ra_import data from %s file":"\u4ECE %s \u6587\u4EF6\u5BFC\u5165\u6570\u636E",ra_invalidConfig:"\u65E0\u6548\u7684\u8BBE\u5B9A",ra_lastChange:"\u6700\u540E\u4E00\u6B21\u53D8\u66F4",ra_locally:"\u672C\u5730",ra_month_Apr:"4\u6708",ra_month_Aug:"\u516B\u6708",ra_month_Dec:"\u5341\u4E8C\u6708",ra_month_Feb:"\u4E8C\u6708",ra_month_Jan:"\u7B80",ra_month_Jul:"\u4E03\u6708",ra_month_Jun:"\u541B",ra_month_Mai:"\u8FC8",ra_month_Mar:"\u4E09\u6708",ra_month_Nov:"\u5341\u4E00\u6708",ra_month_Oct:"\u5341\u6708",ra_month_Sep:"\u4E5D\u6708",ra_months_Apr:"4\u6708",ra_months_Aug:"\u516B\u6708",ra_months_Dec:"\u5341\u4E8C\u6708",ra_months_Feb:"\u4E8C\u6708",ra_months_Jan:"\u7B80",ra_months_Jul:"\u4E03\u6708",ra_months_Jun:"\u541B",ra_months_Mai:"\u8FC8",ra_months_Mar:"\u4E09\u6708",ra_months_Nov:"\u5341\u4E00\u6708",ra_months_Oct:"\u5341\u6708",ra_months_Sep:"\u4E5D\u6708",ra_none:"\u6CA1\u6709\u4EFB\u4F55",ra_object_changed_by:"\u7269\u4EF6\u53D8\u66F4\u8005",ra_object_changed_by_user:"\u5BF9\u8C61\u4E0A\u6B21\u66F4\u6539\u65F6\u95F4\u4E3A",ra_otherConfig:"\u6765\u81EA\u5176\u4ED6\u9002\u914D\u5668%s\u7684\u8BBE\u7F6E",ra_qualityCode:"\u8D28\u91CF\u4EE3\u7801",ra_repeat:"\u91CD\u590D",ra_select_folder_hint:"\u8981\u9009\u62E9\u6587\u4EF6\u5939\uFF0C\u53EA\u9700\u6309\u4F4F\u201Cshift\u201D\u952E\u5355\u51FB\u6587\u4EF6\u5939\u5373\u53EF\u3002",ra_state_changed_by:"\u72B6\u6001\u7531",ra_state_changed_from:"\u5BF9\u8C61\u5DF2\u4ECE\u66F4\u6539",ra_timestamp:"\u65F6\u95F4\u6233\u8BB0",ra_tooltip_ack:"\u81F4\u8C22\u56FD\u65D7",ra_tooltip_comment:"\u8BC4\u8BBA",ra_tooltip_copyState:"\u590D\u5236\u72B6\u6001\u503C",ra_tooltip_customConfig:"\u81EA\u5B9A\u4E49\u8BBE\u7F6E",ra_tooltip_deleteObject:"\u5220\u9664\u7269\u4EF6",ra_tooltip_editObject:"\u7F16\u8F91\u7269\u4EF6",ra_tooltip_editState:"\u7F16\u8F91\u72B6\u6001\u503C",ra_tooltip_from:"\u4ECE",ra_tooltip_lc:"\u6700\u540E\u6539\u53D8\u4E86",ra_tooltip_quality:"\u8D28\u91CF",ra_tooltip_ts:"\u65F6\u95F4\u6233",ra_tooltip_user:"\u7528\u6237",ra_tooltip_value:"\u503C","ra_use seconds":"\u7528\u79D2",ra_val:"\u503C","ra_via internet":"\u901A\u8FC7\u4E92\u8054\u7F51",ra_warning_every_minute:"\u8B66\u544A\uFF1ACRON \u4F5C\u4E1A\u5C06\u5728\u6307\u5B9A\u671F\u95F4\u5185\u6BCF\u5206\u949F\u8FD0\u884C\u4E00\u6B21\uFF01",ra_warning_every_second:"\u8B66\u544A\uFF1ACRON \u4F5C\u4E1A\u5C06\u5728\u6307\u5B9A\u671F\u95F4\u5185\u6BCF\u79D2\u8FD0\u884C\u4E00\u6B21\uFF01",sc_cron:"\u5468\u671F\u4EFB\u52A1",sc_date:"\u65E5\u671F",sc_dates:"\u65E5",sc_dow:"\u5929",sc_dows:"\u661F\u671F",sc_every:"\u6BCF",sc_everyN_dates:"\u6BCFN\u5929",sc_everyN_dow:"\u6BCF\u5468\u7684\u7B2C N \u5929",sc_everyN_dows:"\u6BCF\u5468N\u5929",sc_everyN_hours:"\u6BCFN\u5C0F\u65F6\u4E00\u6B21",sc_everyN_minutes:"\u6BCFN\u5206\u949F",sc_everyN_months:"\u6BCFN\u4E2A\u6708",sc_everyN_seconds:"\u6BCFN\u79D2",sc_every_dates:"\u6BCF\u5929",sc_every_dow:"\u4E00\u5468\u7684\u6BCF\u4E00\u5929",sc_every_dows:"\u4E00\u5468\u7684\u6BCF\u4E00\u5929",sc_every_hours:"\u6BCF\u5C0F\u65F6",sc_every_minutes:"\u6BCF\u5206\u949F",sc_every_months:"\u6BCF\u6708",sc_every_seconds:"\u6BCF\u79D2",sc_from:"\u4ECE",sc_hours:"\u5C0F\u65F6",sc_interval:"\u95F4\u9694",sc_intervalBetween:"\u95F4\u9694\u65F6\u95F4",sc_invalid_cron:"\u65E0\u6548\u7684 CRON",sc_minutes:"\u5206\u949F",sc_months:"\u6708",sc_once:"\u4E00\u6B21",sc_period:"\u5468\u671F",sc_seconds:"\u79D2",sc_simple:"\u7B80\u5355\u6A21\u5F0F",sc_specific:"\u7279\u5B9A\u7684\u65F6\u95F4",sc_specific_dates:"\u7279\u5B9A\u7684\u65E5\u5B50",sc_specific_dow:"\u4E00\u5468\u4E2D\u7684\u7279\u5B9A\u65E5\u5B50",sc_specific_dows:"\u7279\u5B9A\u7684\u4E00\u5468",sc_specific_hours:"\u7279\u5B9A\u7684\u5C0F\u65F6",sc_specific_minutes:"\u7279\u5B9A\u7684\u5206\u949F",sc_specific_months:"\u7279\u5B9A\u7684\u6708\u4EFD",sc_specific_seconds:"\u7279\u5B9A\u7684\u63CF\u8FF0",sc_time:"\u65F6\u95F4",sc_to:"\u81F3",sc_wizard:"\u5411\u5BFC\u6A21\u5F0F",sch_all:"\u5168\u9009",sch_astroDay:"\u5929\u6587\u767D\u5929",sch_astroNight:"\u5929\u6587\u591C\u665A",sch_astro_dawn:"\u9ECE\u660E",sch_astro_dusk:"\u9EC4\u660F",sch_astro_goldenHour:"\u9EC4\u91D1\u65F6\u6BB5",sch_astro_goldenHourEnd:"\u9EC4\u91D1\u65F6\u6BB5\u7ED3\u675F",sch_astro_nadir:"\u5929\u5E95",sch_astro_nauticalDawn:"\u822A\u6D77\u9ECE\u660E",sch_astro_nauticalDusk:"\u822A\u6D77\u9EC4\u660F",sch_astro_night:"\u591C\u665A",sch_astro_nightEnd:"\u591C\u665A\u7ED3\u675F",sch_astro_solarNoon:"\u6B63\u5348",sch_astro_sunrise:"\u65E5\u51FA",sch_astro_sunriseEnd:"\u65E5\u51FA\u7ED3\u675F",sch_astro_sunset:"\u65E5\u843D",sch_astro_sunsetStart:"\u65E5\u843D\u5F00\u59CB",sch_at:"\u5728",sch_desc_atTime:"\u7684%s",sch_desc_everyDay:"\u6BCF\u5929",sch_desc_everyHour:"\u6BCF\u5C0F\u65F6",sch_desc_everyMinute:"\u6BCF\u5206\u949F",sch_desc_everyMonth:"\u6BCF\u6708",sch_desc_everyNDay:"\u6BCF%s\u5929",sch_desc_everyNHours:"\u6BCF%s\u5C0F\u65F6",sch_desc_everyNMinutes:"\u6BCF%s\u5206\u949F",sch_desc_everyNMonths:"\u6BCF%s\u6708",sch_desc_everyNWeeks:"\u6BCF%s\u5468",sch_desc_everyNYears:"\u6BCF%s\u5E74",sch_desc_everyWeek:"\u6BCF\u5468",sch_desc_everyYear:"\u6BCF\u5E74",sch_desc_intervalFromTo:"\u4ECE%s\u5230%s",sch_desc_never:"\u51B3\u4E0D",sch_desc_onDate:"\u5728%s\u7684%s\u4E0A",sch_desc_onDates:"\u5728%s\u548C%s\u4E0A",sch_desc_onEveryDate:"\u5728\u6BCF\u5929",sch_desc_onMonth:"%s",sch_desc_onMonths:"%s\u548C%s",sch_desc_onWeekday:"\u5728%s\u4E0A",sch_desc_onWeekdays:"\u5728%s\u548C%s\u4E0A",sch_desc_onWeekends:"\u5728\u5468\u672B",sch_desc_onWorkdays:"\u5728\u5DE5\u4F5C\u65E5",sch_desc_onceInPast:"\u5C06\u4E0D\u518D\u6267\u884C\uFF0C\u56E0\u4E3A\u8D77\u59CB\u65F6\u95F4\u5DF2\u7ECF\u662F\u8FC7\u53BB\u7684\u65F6\u95F4\u4E86\u3002",sch_desc_once_on:"\u5728%s\u4E0A",sch_desc_validFrom:"\u6765\u81EA%s",sch_desc_validFromTo:"\u4ECE\u6267\u884C\u5230",sch_desc_validTo:"\u5230%s",sch_every:"\u6BCF",sch_exactTime:"\u7279\u5B9A\u7684\u65F6\u95F4",sch_from:"\u4ECE",sch_fromTo:"\u4ECE\u5230",sch_intervalTime:"\u95F4\u9694\u65F6\u95F4",sch_invert:"\u5012\u7F6E",sch_no_one:"\u53D6\u6D88\u5168\u9009",sch_on:"\u7684",sch_period:"\u5468\u671F",sch_periodDaily:"\u6BCF\u5929",sch_periodDates:"\u65E5\u671F",sch_periodDay:"\u5929",sch_periodEvery:"\u6BCF",sch_periodEveryDay:"\u6BCF\u5929",sch_periodEveryMonth:"\u6BCF\u6708",sch_periodEveryWeek:"\u6BCF\u5468",sch_periodEveryYear:"\u6BCF\u5E74",sch_periodHours:"\u5C0F\u65F6",sch_periodMinutes:"\u5206\u949F",sch_periodMonth:"\u6708",sch_periodMonthly:"\u6BCF\u6708\u4E00\u6B21",sch_periodOnce:"\u4E00\u6B21",sch_periodSpecificMonths:"\u7279\u5B9A\u7684\u6708\u4EFD",sch_periodWeek:"\u5468",sch_periodWeekdays:"\u5DE5\u4F5C\u65E5",sch_periodWeekend:"\u5468\u672B",sch_periodWeekly:"\u6BCF\u5468",sch_periodWorkdays:"\u5DE5\u4F5C\u65E5",sch_periodYear:"\u5E74",sch_periodYearly:"\u6BCF\u5E74",sch_specificTime:"\u7279\u5B9A\u7684\u65F6\u95F4",sch_time:"\u65F6\u95F4",sch_to:"\u81F3",sch_valid:"\u751F\u6548",sch_validFrom:"\u4ECE",sch_validTo:"\u81F3",sch_wholeDay:"\u4E00\u6574\u5929",sch_yearEveryMonth:"\u6BCF\u6708"};var JN={en:WG,de:UG,ru:VG,pt:HG,nl:$G,fr:GG,it:qG,es:KG,pl:XG,uk:JG,"zh-cn":YG};var tke=` +`).forEach(s=>{if(!s.trim())return;let i=s.indexOf(":");if(i!==-1){let p=s.substring(0,i).trim(),l=s.substring(i+1).trim();l=l.replace(/^['"]|['"]$/g,""),l==="true"?r[p]=!0:l==="false"?r[p]=!1:parseFloat(l).toString()===r[p]?r[p]=parseFloat(l):r[p]=l}else r[s.trim()]=!0}),t=t.substring(o+7))}return{header:r,body:t}}static MDremoveDocsify(t){let r=t.match(/{docsify-[^}]*}/g);return r&&r.forEach(o=>t=t.replace(o,"")),t}static generateFile(t,r){let o=document.createElement("a");o.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(JSON.stringify(r,null,2))}`),o.setAttribute("download",t),o.style.display="none",document.body.appendChild(o),o.click(),document.body.removeChild(o)}static quality2text(t){let r=t&4294901760,o=eD[t],a;return o?a=[o]:t&1?a=[eD[1],`0x${(t&65534).toString(16)}`]:t&2?a=[eD[2],`0x${(t&65533).toString(16)}`]:a=[`0x${t.toString(16)}`],r&&a.push(`0x${(r>>16).toString(16).toUpperCase()}`),a}static clone(t){return JSON.parse(JSON.stringify(t))}static getStates(t){var a;let r=(a=t==null?void 0:t.common)==null?void 0:a.states,o;if(r)if(typeof r=="string"&&r[0]==="{")try{o=JSON.parse(r)}catch(n){console.error(`Cannot parse states: ${r}`),o=null}else if(typeof r=="string"){let n=r.split(";");o={};for(let s=0;so[s]=n):(t==null?void 0:t.common.type)==="string"?r.forEach(n=>o[n]=n):(t==null?void 0:t.common.type)==="boolean"&&(o.false=r[0],o.true=r[1])):typeof r=="object"&&(o=r);return o||null}static async getSvg(t){let o=await(await fetch(t)).blob();return new Promise(a=>{let n=new FileReader;n.onload=()=>{var s;return a(((s=n.result)==null?void 0:s.toString())||"")},n.readAsDataURL(o)})}static detectMimeType(t){let r=Object.keys(M9).find(o=>t.startsWith(o));return r?M9[r]:null}static isStableRepository(t){return!!(typeof t=="string"&&t.toLowerCase().startsWith("stable")||t&&typeof t!="string"&&t.find(r=>r.toLowerCase().startsWith("stable")))}static isStringInteger(t){return typeof t=="number"?Math.round(t)===t:parseInt(t,10).toString()===t}static isValidDate(t){return t instanceof Date&&!isNaN(t)}static getStyle(t,...r){let o={};for(let a=0;a{if(typeof r[a][n]=="function")o[n]=r[a][n](t);else if(typeof r[a][n]=="object"){let s=r[a][n];o[n]={},Object.keys(s).forEach(i=>{typeof s[i]=="function"?o[n][i]=s(t):(s[i]||s[i]===0)&&(o[n][i]=s[i])})}else(r[a][n]||r[a][n]===0)&&(o[n]=r[a][n])});return o}};A(lr,"namespace",Ii),A(lr,"INSTANCES","instances"),A(lr,"dateFormat",["DD","MM"]),A(lr,"FORBIDDEN_CHARS",/[^._\-/ :!#$%&()+=@^{}|~\p{Ll}\p{Lu}\p{Nd}]+/gu);var ve=lr;var Vs=y(D());var tD={buttonIcon:{marginRight:8}},Ay=class extends Vs.default.Component{constructor(r){super(r);A(this,"isIFrame");let o=r.newReact===void 0?!0:r.newReact;if(r.isIFrame!==void 0)this.isIFrame=r.isIFrame;else try{this.isIFrame=!o&&window.self!==window.top}catch(a){this.isIFrame=!o}}render(){let r=this.props.noTextOnButtons,o={borderRadius:this.props.theme.saveToolbar.button.borderRadius||3,height:this.props.theme.saveToolbar.button.height||32},a={bottom:this.isIFrame?38:0,left:this.props.paddingLeft||0,right:0,position:"absolute",background:this.props.theme.saveToolbar.background};return this.props.dense&&(a.minHeight=48),this.props.error&&(o.border="1px solid red"),Vs.default.createElement(Bm,{style:a},Vs.default.createElement(Qa,{variant:"extended","aria-label":"Save",disabled:!this.props.changed||this.props.error,onClick:()=>this.props.onSave(!1),style:o},Vs.default.createElement(Wm,{style:r?void 0:tD.buttonIcon}),!r&&R.t("ra_Save")),Vs.default.createElement(Qa,{variant:"extended","aria-label":"Save and close",disabled:!this.props.changed||this.props.error,onClick:()=>this.props.onSave(!0),style:{...o,marginLeft:10}},Vs.default.createElement(Wm,{style:r?void 0:tD.buttonIcon}),r?"+":R.t("ra_Save and close"),r&&Vs.default.createElement($r,null)),Vs.default.createElement("div",{style:{flexGrow:1}}),Vs.default.createElement(Qa,{variant:"extended","aria-label":"Close",onClick:()=>this.props.onClose(),style:o},Vs.default.createElement($r,{style:r?void 0:tD.buttonIcon}),!r&&R.t("ra_Close")))}};var Da=y(D());var N9={suppress:{fontSize:12},suppressRoot:{marginTop:"16px"}},Bi=class extends Da.Component{constructor(t){if(super(t),!this.props.dialogName&&this.props.suppressQuestionMinutes)throw new Error("dialogName required if suppressQuestionMinutes used");let r=!1;this.props.suppressQuestionMinutes&&(r=parseInt((window._localStorage||window.localStorage).getItem(this.props.dialogName),10)||0,r?Date.now()>r&&((window._localStorage||window.localStorage).removeItem(this.props.dialogName),r=!1):r=!1),this.state={suppress:r}}handleOk(){this.state.suppress&&(window._localStorage||window.localStorage).setItem(this.props.dialogName,Date.now()+(this.props.suppressQuestionMinutes||2)*6e4),this.props.onClose&&this.props.onClose(!0)}handleCancel(){this.props.onClose&&this.props.onClose(!1)}render(){return typeof this.state.suppress=="number"?(setTimeout(()=>this.props.onClose&&this.props.onClose(!0),100),null):Da.default.createElement(er,{open:!0,maxWidth:"md",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClose:(t,r)=>{r!=="backdropClick"&&r!=="escapeKeyDown"&&this.handleCancel()},"aria-labelledby":"ar_confirmation_dialog_title","aria-describedby":"ar_confirmation_dialog_description"},Da.default.createElement(tr,{id:"ar_confirmation_dialog_title"},this.props.title||R.t("ra_Are you sure?")),Da.default.createElement(ir,null,Da.default.createElement(Za,{id:"ar_confirmation_dialog_description"},this.props.icon||null,this.props.text,this.props.suppressQuestionMinutes?Da.default.createElement("br",null):null,this.props.suppressQuestionMinutes?Da.default.createElement(Ke,{sx:{"& .FormControlLabel-label":N9.suppress,"&.FormControlLabel-root":N9.suppressRoot},control:Da.default.createElement(jt,{id:`ar_dialog_confirm_suppress_${this.props.dialogName||""}`,checked:!!this.state.suppress,onChange:()=>this.setState({suppress:!this.state.suppress})}),label:this.props.suppressText||R.t("ra_Suppress question for next %s minutes",(this.props.suppressQuestionMinutes||2).toString())}):null)),Da.default.createElement(sr,null,Da.default.createElement(tt,{id:`ar_dialog_confirm_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:Da.default.createElement(to,null)},this.props.ok||R.t("ra_Ok")),Da.default.createElement(tt,{id:`ar_dialog_confirm_cancel_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:Da.default.createElement($r,null)},this.props.cancel||R.t("ra_Cancel"))))}};var Li=y(D());var Wp=class extends Li.Component{handleOk(){this.props.onClose&&this.props.onClose()}render(){return Li.default.createElement(er,{open:!0,maxWidth:"sm",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClose:()=>this.handleOk(),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description"},Li.default.createElement(tr,{id:"ar_alert_dialog_title"},this.props.title||R.t("ra_Error")),Li.default.createElement(ir,null,Li.default.createElement(Za,{id:"ar_alert_dialog_description"},this.props.text||R.t("ra_Unknown error!"))),Li.default.createElement(sr,null,Li.default.createElement(tt,{id:"ar_dialog_error_ok",variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:Li.default.createElement(to,null)},R.t("ra_Ok"))))}};var I9={"ra_%s links from aliases":"%s links from aliases","ra_%s object(s) processed":"%s object(s) processed","ra_%s was imported":"%s was imported","ra_Accept license":"Accept license","ra_Add new child object to selected parent":"Add new child object to selected parent","ra_Add objects tree from JSON file":"Add objects tree from JSON file","ra_Add row":"Add row","ra_Advanced options":"Advanced options","ra_All items are filtered out":"All items are filtered out","ra_All objects":"All objects",ra_Append:"Append","ra_Append %s entries or replace existing?":"Append %s entries or replace existing?","ra_Append or replace?":"Append or replace?","ra_Are you sure?":"Are you sure?","ra_Auto (no custom columns)":"Auto (no custom columns)","ra_Back to %s":"Back to %s","ra_Background image":"Background image",ra_Cancel:"Cancel","ra_Cannot add items with set filter":"Cannot add items with set filter","ra_Cannot decode license":"Cannot decode license","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Cannot determine position: System settings are empty and GPS detection is disabled in browser",'ra_Cannot find "%s"':'Cannot find "%s"','ra_Cannot read "%s"':'Cannot read "%s"',"ra_Cannot read licenses: %s":"Cannot read licenses: %s","ra_Cannot retrieve options, as instance is offline":"Cannot retrieve options, as instance is offline","ra_Cannot update attribute, because not found in the object":"Cannot update attribute, because not found in the object","ra_Cannot upload":"Cannot upload",ra_Categories:"Categories","ra_Chained certificate":"Chained certificate","ra_Change color theme":"Change color theme","ra_Changed from":"Changed from","ra_Channel \u2192 State":"Channel \u2192 State","ra_Check license":"Check license",ra_Checked:"Checked",ra_Clear:"Delete","ra_Clear filter":"Clear filter","ra_Clear icon":"Clear icon","ra_Clone current row":"Clone current row",ra_Close:"Close","ra_Collapse all nodes":"Collapse all nodes","ra_Collapse one step node":"Collapse one level",ra_Commercial:"Commercial",ra_Configure:"Configure","ra_Configure visible columns":"Configure visible columns","ra_Confirm deletion of %s":"Confirm deletion of %s",ra_Connected:"Connected",ra_Copied:"Copied","ra_Copied %s":'Copied "%s"',"ra_Copy content":"Copy content",ra_Create:"Create","ra_Create alias":"Create alias","ra_Create folder":"Create folder","ra_Create new folder in %s":"Create new folder in %s",ra_Crop:"Crop","ra_Define CRON...":"Define CRON...","ra_Define functions":"Define functions","ra_Define rooms":"Define rooms","ra_Define schedule":"Define schedule","ra_Define schedule...":"Define schedule...",ra_Del:"Delete",ra_Delete:"Delete","ra_Delete (no confirm for 5 mins)":"Delete (no confirm for 5 mins)","ra_Delete current row":"Delete current row","ra_Deselect all":"Unselect all","ra_Device \u2192 Channel \u2192 State":"Device \u2192 Channel \u2192 State",ra_Discard:"Discard",ra_Disconnected:"Disconnected","ra_Do not export values of states":"Do not export values of states","ra_Do not use let's encrypt":"Do not use let's encrypt","ra_Double click to reset table layout":"Double click to reset table layout","ra_Drag 'n' drop some files here, or click to select files":"Drag 'n' drop some files here, or click to select files","ra_Drop file here":"Drop file here","ra_Drop the files here...":"Drop the file here...","ra_Duplicate name":"Duplicate name","ra_Edit ACL":"Edit ACL","ra_Edit alias":"Edit alias","ra_Edit custom config":"Edit custom config","ra_Edit function":"Edit function","ra_Edit object field":"Edit object field","ra_Edit role":"Edit role","ra_Edit room":"Edit room","ra_Edit value":"Edit value",ra_Error:"Error","ra_Expand all nodes":"Expand all nodes","ra_Expand one step node":"Expand one level","ra_Export data to %s file":"Export data to %s file","ra_Failed to open JSON File":"Failed to open JSON File","ra_Fallback custom certificates":"Fallback custom certificates","ra_File is too big. Max %sk allowed. Try use SVG.":"File is too big. Max %sk allowed. Try use SVG.",ra_Filter:"Filter","ra_Filter files":"Filter files","ra_Folder name":"Folder name","ra_Folder \u2192 Channel \u2192 State":"Folder \u2192 Channel \u2192 State","ra_Folder \u2192 Device \u2192 Channel \u2192 State":"Folder \u2192 Device \u2192 Channel \u2192 State","ra_Folder \u2192 State":"Folder \u2192 State","ra_Folders always first":"Folders always first",ra_Friday:"Friday","ra_Good luck":"Good luck","ra_Hide empty folders":"Hide empty folders","ra_If no file will be created in the folder, it will disappear after the browser closed":"If no file will be created in the folder, it will disappear after the browser closed","ra_Import data from %s file":"Import data from %s file","ra_Import from %s":"Import from %s","ra_Instance %s is alive":"Instance %s is alive","ra_Instance %s is not alive":"Instance %s is not alive","ra_Instance is not alive":"Instance is not alive","ra_Invalid CRON":"Invalid CRON","ra_Invalid JSON":"Invalid JSON","ra_Invalid answer from server":"Invalid answer from server","ra_Invalid parent folder!":"Invalid parent folder!","ra_Invalid structure":"Invalid structure","ra_JSON editor":"JSON editor","ra_Last change":"Last change",ra_Latitude:"Latitude","ra_License %s":"License %s","ra_License agreement":"License agreement","ra_License does not exist":"License does not exist","ra_License expired on %s":"License expired on %s",'ra_License for other product "%s"':'License for other product "%s"',"ra_License is for version %s, but required version is %s.":"License is for version %s, but required version is %s.","ra_License must be converted":"License must be converted to newer version. You can do it in your iobroker.net profile.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"License not found in the license manager. Do you want to update licenses from iobroker.net?","ra_Listen on all IPs":"Listen on all IPs","ra_Load configuration from file":"Load configuration from file",ra_Longitude:"Longitude",'ra_May not trigger "updateLicenses"':'May not trigger "updateLicenses"',ra_Message:"Message",ra_Monday:"Monday","ra_Move down":"Move down","ra_Move up":"Move up",ra_Name:"Name","ra_No data found in file":"No data found in file","ra_No one license found in license manager":"No one license found in license manager","ra_No response from the backend":"No response from the backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Non-experts may create new objects only in "0_userdata.0" or "alias.0".',"ra_Not a number":"Not a number",ra_Objects:"Objects",ra_Ok:"Ok","ra_On weekdays":"On weekdays","ra_Only following structures of objects are available:":"Only following structures of objects are available:","ra_Only selected":"Only selected","ra_Owner group":"Owner group","ra_Owner user":"Owner user","ra_Passwords are not equal!":"Passwords are not equal!","ra_Place your files here or click here to open the browse dialog":"Place your files here or click here to open the browse dialog","ra_Please confirm":"Please confirm","ra_Please create license":"Please create license","ra_Please enter the license":"Please enter the license","ra_Please select file...":"Please select file...","ra_Please select object ID...":"Please select object ID...","ra_Port could be used by %s":"Port could be used by %s","ra_Port is already used by %s":"Port is already used by %s","ra_Private certificate":"Private certificate",ra_Product:"Product","ra_Public certificate":"Public certificate","ra_Quality code":"Quality","ra_Refresh tree":"Refresh tree","ra_Reload files":"Reload files",ra_Repeat:"Repeat",ra_Replace:"Replace","ra_Request timed out":"Request timed out","ra_Restrict to folder":"Restrict to folder",ra_Root:"Root",ra_Saturday:"Saturday",ra_Save:"Save","ra_Save and close":"Save and close","ra_Save configuration to file":"Save configuration to file","ra_Save objects tree as JSON file":"Save objects tree as JSON file","ra_Select all":"Select all","ra_Select color":"Select color","ra_Select predefined icon":"Select predefined icon","ra_Select type of export":"Select type of export",ra_Selected:"Selected","ra_Selected %s object(s)":"Selected %s object(s)","ra_Serial number (UUID)":"Serial number (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Serial number (UUID) "%s" in license is for other device.',"ra_Show all folders":"Show all folders","ra_Show lines between rows":"Show lines between rows","ra_Show/Hide object descriptions":"Show/Hide object descriptions","ra_Show/hide filter input":"Show/hide filter input","ra_Some data are not stored. Discard?":"Some data are not stored. Discard?",ra_States:"States","ra_Suitable license not found in license manager":"Suitable license not found in license manager",ra_Sunday:"Sunday","ra_Suppress question for next %s minutes":"Suppress question for next %s minutes","ra_System language":"System language","ra_Take browser position":"Take position from browser","ra_Take position from system settings":"Take position from system settings",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").',"ra_The page you are looking for was not found":"The page you are looking for was not found","ra_The schedule will be executed every minute. Are you sure?":"The schedule will be executed every minute. Are you sure?","ra_The schedule will be executed every second. Are you sure?":"The schedule will be executed every second. Are you sure?",ra_Thursday:"Thursday",ra_Timestamp:"Timestamp","ra_Toggle expert mode":"Toggle expert mode","ra_Toggle the states view":"Toggle the states view","ra_Toggle view mode":"Toggle view mode","ra_Too big":"Too big","ra_Too small":"Too small","ra_Transparent dialog":"Transparent dialog",ra_Tuesday:"Tuesday","ra_Unknown error":"Unknown error","ra_Unknown error!":"Unknown error!",ra_Update:"Update","ra_Upload file":"Upload file","ra_Use all available let's encrypt certificates":"Use all available let's encrypt certificates","ra_Use iobroker.acme adapter for letsencrypt certificates":"Use iobroker.acme adapter for letsencrypt certificates","ra_Use system settings for position":"Use system settings for position","ra_Used system settings":"Used system settings","ra_User files":"User files",ra_ValidTill:"Valid till",ra_Value:"Value",ra_Version:"Version","ra_View file":"View file","ra_View: %s":"View: %s",ra_Wednesday:"Wednesday",ra_Width:"Width",ra_Yes:"Yes","ra_You can export all objects or just the selected branch.":"You can export all objects or just the selected branch.","ra_You can filter entries by entering here some text":"You can filter entries by entering here some text",ra___different__:"different",ra_aclEveryone_read_object:"Everyone can read object",ra_aclEveryone_read_state:"Everyone can read state",ra_aclEveryone_write_object:"Everyone can write object",ra_aclEveryone_write_state:"Everyone can write state",ra_aclGroup_read_object:"Group can read object",ra_aclGroup_read_state:"Group can read state",ra_aclGroup_write_object:"Group can write object",ra_aclGroup_write_state:"Group can write state",ra_aclOwner_read_object:"Owner can read object",ra_aclOwner_read_state:"Owner can read state",ra_aclOwner_write_object:"Owner can write object",ra_aclOwner_write_state:"Owner can write state",ra_buttons:"Buttons",ra_changedFrom:"Changed from",ra_close:"close",ra_create_boolean_state:"Create boolean state",ra_create_channel:"Create channel",ra_create_device:"Create device",ra_create_number_state:"Create number state",ra_create_state:"Create state",ra_create_string_state:"Create string state",ra_daysShortText:"days",ra_dow_Fr:"Fr",ra_dow_Mo:"Mo",ra_dow_Sa:"Sa",ra_dow_Su:"Su",ra_dow_Th:"Th",ra_dow_Tu:"Tu",ra_dow_We:"We",ra_expertMode:"Expert mode",ra_fileType_all:"All files",ra_fileType_audio:"Audio",ra_fileType_code:"Code/JSON",ra_fileType_images:"Images",ra_fileType_txt:"Text",ra_fileType_video:"Video","ra_fileType_video,":"Video",ra_filter_customs:"Settings",ra_filter_customs_without:"without",ra_filter_func:"Function",ra_filter_id:"ID",ra_filter_name:"Name",ra_filter_role:"Role",ra_filter_room:"Room",ra_filter_type:"Type","ra_import data from %s file":"Import data from %s file",ra_invalidConfig:"Invalid settings",ra_lastChange:"Last change",ra_locally:"locally",ra_month_Apr:"Apr",ra_month_Aug:"Aug",ra_month_Dec:"Dec",ra_month_Feb:"Feb",ra_month_Jan:"Jan",ra_month_Jul:"Jul",ra_month_Jun:"Jun",ra_month_Mai:"Mai",ra_month_Mar:"Mar",ra_month_Nov:"Nov",ra_month_Oct:"Oct",ra_month_Sep:"Sep",ra_months_Apr:"Apr",ra_months_Aug:"Aug",ra_months_Dec:"Dec",ra_months_Feb:"Feb",ra_months_Jan:"Jan",ra_months_Jul:"Jul",ra_months_Jun:"Jun",ra_months_Mai:"Mai",ra_months_Mar:"Mar",ra_months_Nov:"Nov",ra_months_Oct:"Oct",ra_months_Sep:"Sep",ra_none:"none",ra_object_changed_by:"Object changed by",ra_object_changed_by_user:"Object last changed at",ra_otherConfig:"Settings from other adapter %s",ra_qualityCode:"Quality code",ra_repeat:"repeat",ra_select_folder_hint:'To select folder, just hold the key "shift" by clicking the folder.',ra_state_changed_by:"State changed by",ra_state_changed_from:"Object changed from",ra_timestamp:"Timestamp",ra_tooltip_ack:"Acknowledged",ra_tooltip_comment:"Comment",ra_tooltip_copyState:"Copy the state value",ra_tooltip_customConfig:"Custom settings",ra_tooltip_deleteObject:"Delete object",ra_tooltip_editObject:"Edit object",ra_tooltip_editState:"Edit the state value",ra_tooltip_from:"From",ra_tooltip_lc:"Last changed",ra_tooltip_quality:"Quality",ra_tooltip_ts:"Time stamp",ra_tooltip_user:"User",ra_tooltip_value:"Value","ra_use seconds":"use seconds",ra_val:"Value","ra_via internet":"via internet",ra_warning_every_minute:"Warning: The CRON job will run every minute during the specified period!",ra_warning_every_second:"Warning: The CRON job will run every second during the specified period!",sc_cron:"CRON",sc_date:"Date",sc_dates:"Dates",sc_dow:"Day",sc_dows:"Day of week",sc_every:"Every",sc_everyN_dates:"every N days",sc_everyN_dow:"every Nth day of the week",sc_everyN_dows:"every N day of week",sc_everyN_hours:"every N hours",sc_everyN_minutes:"every N minutes",sc_everyN_months:"every N months",sc_everyN_seconds:"every N seconds",sc_every_dates:"every day",sc_every_dow:"every day of the week",sc_every_dows:"every day of the week",sc_every_hours:"every hour",sc_every_minutes:"every minute",sc_every_months:"every month",sc_every_seconds:"every second",sc_from:"From",sc_hours:"Hours",sc_interval:"Interval",sc_intervalBetween:"Interval between",sc_invalid_cron:"Invalid CRON",sc_minutes:"Minutes",sc_months:"months",sc_once:"Once",sc_period:"Period",sc_seconds:"Seconds",sc_simple:"Simple",sc_specific:"Specific time",sc_specific_dates:"specific dates",sc_specific_dow:"specific day(s) of the week",sc_specific_dows:"specific day of weeks",sc_specific_hours:"specific hours",sc_specific_minutes:"specific minutes",sc_specific_months:"specific months",sc_specific_seconds:"specific seconds",sc_time:"Time",sc_to:"To",sc_wizard:"Wizard",sch_all:"all",sch_astroDay:"Astro day",sch_astroNight:"Astro night",sch_astro_dawn:"Dawn",sch_astro_dusk:"Dusk",sch_astro_goldenHour:"Golden hour",sch_astro_goldenHourEnd:"Golden hour end",sch_astro_nadir:"Nadir",sch_astro_nauticalDawn:"Nautical dawn",sch_astro_nauticalDusk:"Nautical dusk",sch_astro_night:"Night",sch_astro_nightEnd:"Night end",sch_astro_solarNoon:"Solar noon",sch_astro_sunrise:"Sunrise",sch_astro_sunriseEnd:"Sunrise end",sch_astro_sunset:"Sunset",sch_astro_sunsetStart:"Sunset start",sch_at:"at",sch_desc_atTime:"at %s",sch_desc_everyDay:"every day",sch_desc_everyHour:"every hour",sch_desc_everyMinute:"every minute",sch_desc_everyMonth:"every month",sch_desc_everyNDay:"every %s day",sch_desc_everyNHours:"every %s hours",sch_desc_everyNMinutes:"every %s minutes",sch_desc_everyNMonths:"every %s months",sch_desc_everyNWeeks:"every %s weeks",sch_desc_everyNYears:"every %s years",sch_desc_everyWeek:"every week",sch_desc_everyYear:"every year",sch_desc_intervalFromTo:"from %s to %s",sch_desc_never:"never",sch_desc_onDate:"on %s of %s",sch_desc_onDates:"on %s and %s of",sch_desc_onEveryDate:"on every date of",sch_desc_onMonth:"%s",sch_desc_onMonths:"%s and %s",sch_desc_onWeekday:"on %s",sch_desc_onWeekdays:"on %s and %s",sch_desc_onWeekends:"on weekends",sch_desc_onWorkdays:"on working days",sch_desc_onceInPast:"will ne be not executed any more, because start is in the past",sch_desc_once_on:"on %s",sch_desc_validFrom:"from %s",sch_desc_validFromTo:"Execute from to",sch_desc_validTo:"to %s",sch_every:"every",sch_exactTime:"Specific time",sch_from:"from",sch_fromTo:"From-to",sch_intervalTime:"Interval time",sch_invert:"invert",sch_no_one:"none",sch_on:"on",sch_period:"Period",sch_periodDaily:"Daily",sch_periodDates:"Dates",sch_periodDay:"Day",sch_periodEvery:"Every",sch_periodEveryDay:"Every day",sch_periodEveryMonth:"Every month",sch_periodEveryWeek:"Every week",sch_periodEveryYear:"Every year",sch_periodHours:"Hours",sch_periodMinutes:"Minutes",sch_periodMonth:"month",sch_periodMonthly:"Monthly",sch_periodOnce:"Once",sch_periodSpecificMonths:"Specific months",sch_periodWeek:"Week",sch_periodWeekdays:"Weekdays",sch_periodWeekend:"Weekend",sch_periodWeekly:"Weekly",sch_periodWorkdays:"Workdays",sch_periodYear:"Year",sch_periodYearly:"Yearly",sch_specificTime:"Specific time",sch_time:"Time",sch_to:"to",sch_valid:"Valid",sch_validFrom:"from",sch_validTo:"to",sch_wholeDay:"Whole day",sch_yearEveryMonth:"every month"};var F9={"ra_%s links from aliases":"%s Links von Aliasen","ra_%s object(s) processed":"%s Objekt(e) verarbeitet","ra_%s was imported":"%s wurde importiert","ra_Accept license":"Lizenz akzeptieren","ra_Add new child object to selected parent":"Dem ausgew\xE4hlten \xFCbergeordneten Objekt ein neues untergeordnetes Objekt hinzuf\xFCgen","ra_Add objects tree from JSON file":"Objektbaum aus JSON-Datei hinzuf\xFCgen","ra_Add row":"Zeile hinzuf\xFCgen","ra_Advanced options":"Erweiterte Optionen","ra_All items are filtered out":"Alle Elemente werden herausgefiltert","ra_All objects":"Alle Objekte",ra_Append:"Anh\xE4ngen","ra_Append %s entries or replace existing?":"%s Eintr\xE4ge anh\xE4ngen oder vorhandene ersetzen?","ra_Append or replace?":"Anh\xE4ngen oder ersetzen?","ra_Are you sure?":"Bist du sicher?","ra_Auto (no custom columns)":"Auto (keine benutzerdefinierten Spalten)","ra_Back to %s":"Zur\xFCck zu %s","ra_Background image":"Hintergrundbild",ra_Cancel:"Abbrechen","ra_Cannot add items with set filter":"Elemente mit festgelegtem Filter k\xF6nnen nicht hinzugef\xFCgt werden","ra_Cannot decode license":"Lizenz kann nicht entschl\xFCsselt werden","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Position kann nicht bestimmt werden: Die Systemeinstellungen sind leer und die GPS-Erkennung ist im Browser deaktiviert",'ra_Cannot find "%s"':'Kann "%s" nicht finden','ra_Cannot read "%s"':'"%s" kann nicht gelesen werden',"ra_Cannot read licenses: %s":"Lizenzen k\xF6nnen nicht gelesen werden: %s","ra_Cannot retrieve options, as instance is offline":"Optionen k\xF6nnen nicht abgerufen werden, da die Instanz offline ist","ra_Cannot update attribute, because not found in the object":"Attribut kann nicht aktualisiert werden, da es nicht im Objekt gefunden wurde","ra_Cannot upload":"Kann nicht hochladen",ra_Categories:"Kategorien","ra_Chained certificate":"Chained Zertifikat","ra_Change color theme":"Farbthema \xE4ndern","ra_Changed from":"Ge\xE4ndert von","ra_Channel \u2192 State":"Kanal \u2192 Zustand","ra_Check license":"Lizenz pr\xFCfen",ra_Checked:"Gepr\xFCft",ra_Clear:"L\xF6schen","ra_Clear filter":"Filter l\xF6schen","ra_Clear icon":"Symbol l\xF6schen","ra_Clone current row":"Aktuelle Zeile klonen",ra_Close:"Schlie\xDFen","ra_Collapse all nodes":"Alle Knoten zuklappen","ra_Collapse one step node":"Eine Ebene zuklappen",ra_Commercial:"Kommerziell",ra_Configure:"Konfigurieren","ra_Configure visible columns":"Spalten Konfigurieren","ra_Confirm deletion of %s":"Das L\xF6schen von %s best\xE4tigen",ra_Connected:"Verbunden",ra_Copied:"Kopiert","ra_Copied %s":'"%s" kopiert',"ra_Copy content":"Inhalte kopieren",ra_Create:"Erstellen","ra_Create alias":"Alias erstellen","ra_Create folder":"Ordner erstellen","ra_Create new folder in %s":'Neuen Ordner in "%s" erstellen',ra_Crop:"Ernte","ra_Define CRON...":"Definieren Sie CRON ...","ra_Define functions":"Funktionen definieren","ra_Define rooms":"R\xE4ume definieren","ra_Define schedule":"Zeitplan definieren","ra_Define schedule...":"Zeitplan definieren ...",ra_Del:"Entf",ra_Delete:"L\xF6schen","ra_Delete (no confirm for 5 mins)":"L\xF6schen (keine Best\xE4tigung f\xFCr 5 Minuten)","ra_Delete current row":"Aktuelle Zeile l\xF6schen","ra_Deselect all":"Alles abw\xE4hlen","ra_Device \u2192 Channel \u2192 State":"Ger\xE4t \u2192 Kanal \u2192 Zustand",ra_Discard:"Verwerfen",ra_Disconnected:"Getrennt","ra_Do not export values of states":"Keine Zustandswerte exportieren","ra_Do not use let's encrypt":"Let's encrypt nicht verwenden","ra_Double click to reset table layout":"Doppelklicken, um das Tabellenlayout zur\xFCckzusetzen","ra_Drag 'n' drop some files here, or click to select files":"Die Datei hierher ziehen und ablegen, oder klicken, um die Datei auszuw\xE4hlen","ra_Drop file here":"Datei hier ablegen","ra_Drop the files here...":"Datei hier ablegen...","ra_Duplicate name":"Doppelter Name","ra_Edit ACL":"ACL bearbeiten","ra_Edit alias":"Alias bearbeiten","ra_Edit custom config":"Bearbeite Benutzerdefinierte Konfiguration","ra_Edit function":"Funktion bearbeiten","ra_Edit object field":"Objektfeld bearbeiten","ra_Edit role":"Rolle bearbeiten","ra_Edit room":"Raum bearbeiten","ra_Edit value":"Wert bearbeiten",ra_Error:"Fehler","ra_Expand all nodes":"Alle Knoten aufklappen","ra_Expand one step node":"Eine Ebene aufklappen","ra_Export data to %s file":"Daten in %s-Datei exportieren","ra_Failed to open JSON File":"Fehler beim \xD6ffnen der JSON-Datei","ra_Fallback custom certificates":"Benutzerdefinierte Fallback-Zertifikate","ra_File is too big. Max %sk allowed. Try use SVG.":"Datei ist zu gro\xDF. Max %sk erlaubt. Versuchen Sie, SVG zu verwenden.",ra_Filter:"Filter","ra_Filter files":"Dateien filtern","ra_Folder name":"Ordnernamen","ra_Folder \u2192 Channel \u2192 State":"Ordner \u2192 Kanal \u2192 Zustand","ra_Folder \u2192 Device \u2192 Channel \u2192 State":"Ordner \u2192 Ger\xE4t \u2192 Kanal \u2192 Zustand","ra_Folder \u2192 State":"Ordner \u2192 Zustand","ra_Folders always first":"Ordner immer zuerst",ra_Friday:"Freitag","ra_Good luck":"Viel Gl\xFCck","ra_Hide empty folders":"Leere Ordner ausblenden","ra_If no file will be created in the folder, it will disappear after the browser closed":"Wenn im Ordner keine Datei erstellt wird, verschwindet dieser nach dem Schlie\xDFen des Browsers","ra_Import data from %s file":"Daten aus %s-Datei importieren","ra_Import from %s":"Von %s importieren","ra_Instance %s is alive":"Instanz %s ist aktiv","ra_Instance %s is not alive":"Instanz %s ist nicht aktiv","ra_Instance is not alive":"Instanz ist nicht am Leben","ra_Invalid CRON":"Ung\xFCltiger CRON","ra_Invalid JSON":"Ung\xFCltiges JSON","ra_Invalid answer from server":"Ung\xFCltige Antwort vom Server","ra_Invalid parent folder!":"Ung\xFCltiger \xFCbergeordneter Ordner!","ra_Invalid structure":"Ung\xFCltige Struktur","ra_JSON editor":"JSON-Editor","ra_Last change":"Letzte \xC4nderung",ra_Latitude:"Breite","ra_License %s":"Lizenz %s","ra_License agreement":"Lizenzvereinbarung","ra_License does not exist":"Lizenz existiert nicht","ra_License expired on %s":"Lizenz am %s abgelaufen",'ra_License for other product "%s"':"Lizenz f\xFCr anderes Produkt \u201E%s\u201C","ra_License is for version %s, but required version is %s.":"Lizenz ist f\xFCr Version %s, aber erforderliche Version ist %s.","ra_License must be converted":"Die Lizenz muss auf eine neuere Version konvertiert werden. Sie k\xF6nnen dies in Ihrem iobroker.net-Profil tun.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Lizenz im Lizenzmanager nicht gefunden. M\xF6chten Sie Lizenzen von iobroker.net aktualisieren?","ra_Listen on all IPs":"Zugriff von allen IPs zulassen","ra_Load configuration from file":"Konfiguration aus Datei laden",ra_Longitude:"L\xE4ngengrad",'ra_May not trigger "updateLicenses"':"L\xF6st m\xF6glicherweise nicht \u201EupdateLicenses\u201C aus",ra_Message:"Meldung",ra_Monday:"Montag","ra_Move down":"Nach unten","ra_Move up":"Nach oben",ra_Name:"Name","ra_No data found in file":"Keine Daten in der Datei gefunden","ra_No one license found in license manager":"Im Lizenzmanager wurde keine Lizenz gefunden","ra_No response from the backend":"Keine Antwort vom Backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Nicht-Experten d\xFCrfen neue Objekte nur in "0_userdata.0" oder "alias.0" erstellen.',"ra_Not a number":"Keine Nummer",ra_Objects:"Objekte",ra_Ok:"OK","ra_On weekdays":"An Wochentagen","ra_Only following structures of objects are available:":"Es stehen nur folgende Objektstrukturen zur Verf\xFCgung:","ra_Only selected":"Nur ausgew\xE4hlt","ra_Owner group":"Besitzergruppe","ra_Owner user":"Besitzer Benutzer","ra_Passwords are not equal!":"Passw\xF6rter sind nicht gleich!","ra_Place your files here or click here to open the browse dialog":"Die Dateien hier platzieren oder hier klicken, um den Suchdialog zu \xF6ffnen","ra_Please confirm":"Bitte best\xE4tigen","ra_Please create license":"Bitte erstellen Sie eine Lizenz","ra_Please enter the license":"Bitte die Lizenz eingeben","ra_Please select file...":"Bitte Datei ausw\xE4hlen...","ra_Please select object ID...":"Bitte Objekt-ID ausw\xE4hlen...","ra_Port could be used by %s":"Port k\xF6nnte von %s verwendet werden","ra_Port is already used by %s":"Port wird bereits von %s verwendet","ra_Private certificate":"Privates Zertifikat",ra_Product:"Produkt","ra_Public certificate":"\xD6ffentliches Zertifikat","ra_Quality code":"Qualit\xE4t","ra_Refresh tree":"Baum aktualisieren","ra_Reload files":"Dateien neu laden",ra_Repeat:"Wiederholen",ra_Replace:"Ersetzen","ra_Request timed out":"Zeit\xFCberschreitung der Anforderung","ra_Restrict to folder":"Auf Ordner beschr\xE4nken",ra_Root:"Anfang",ra_Saturday:"Samstag",ra_Save:"Speichern","ra_Save and close":"Speichern und schlie\xDFen","ra_Save configuration to file":"Konfiguration in Datei speichern","ra_Save objects tree as JSON file":"Objektbaum als JSON-Datei speichern","ra_Select all":"Alle ausw\xE4hlen","ra_Select color":"W\xE4hle Farbe","ra_Select predefined icon":"Vordefiniertes Symbol ausw\xE4hlen","ra_Select type of export":"Die Art des Exports ausw\xE4hlen ",ra_Selected:"Ausgew\xE4hlt","ra_Selected %s object(s)":"Ausgew\xE4hlt %s Objekt(en)","ra_Serial number (UUID)":"Seriennummer (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"Seriennummer (UUID) \u201E%s\u201C in der Lizenz gilt f\xFCr ein anderes Ger\xE4t.","ra_Show all folders":"Alle Ordner anzeigen","ra_Show lines between rows":"Linien zwischen Zeilen anzeigen","ra_Show/Hide object descriptions":"Objektbeschreibungen ein-/ausblenden","ra_Show/hide filter input":"Filtereingabe ein-/ausblenden","ra_Some data are not stored. Discard?":"Einige Daten werden nicht gespeichert. Verwerfen?",ra_States:"Zust\xE4nde","ra_Suitable license not found in license manager":"Passende Lizenz im Lizenzmanager nicht gefunden",ra_Sunday:"Sonntag","ra_Suppress question for next %s minutes":"Frage f\xFCr die n\xE4chsten %s Minuten unterdr\xFCcken","ra_System language":"Systemsprache","ra_Take browser position":"Position vom Browser einnehmen","ra_Take position from system settings":"Position aus den Systemeinstellungen \xFCbernehmen",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Die Experten k\xF6nnen Objekte \xFCberall erstellen, au\xDFer auf der zweiten Ebene (z. B. "vis.0" oder "javascript.0").',"ra_The page you are looking for was not found":"Die gesuchte Seite wurde nicht gefunden","ra_The schedule will be executed every minute. Are you sure?":"Der Zeitplan wird jede Minute ausgef\xFChrt. Sind Sie sicher?","ra_The schedule will be executed every second. Are you sure?":"Der Zeitplan wird jede Sekunde ausgef\xFChrt. Sind Sie sicher?",ra_Thursday:"Donnerstag",ra_Timestamp:"Zeitstempel","ra_Toggle expert mode":"Expertenmodus umschalten","ra_Toggle the states view":"Statusansicht umschalten","ra_Toggle view mode":"Ansichtsmodus umschalten","ra_Too big":"Zu gro\xDF","ra_Too small":"Zu klein","ra_Transparent dialog":"Transparenter Dialog",ra_Tuesday:"Dienstag","ra_Unknown error":"Unbekannter Fehler","ra_Unknown error!":"Unbekannter Fehler!",ra_Update:"Aktualisieren","ra_Upload file":"Datei hochladen","ra_Use all available let's encrypt certificates":"Alle verf\xFCgbaren Zertifikate von Let's encrypt benutzen","ra_Use iobroker.acme adapter for letsencrypt certificates":"ioBroker.acme-Adapter f\xFCr letsencrypt-Zertifikate verwenden","ra_Use system settings for position":"Systemeinstellungen f\xFCr die Position verwenden","ra_Used system settings":"Systemeinstellungen","ra_User files":"Benutzerdaten",ra_ValidTill:"G\xFCltig bis",ra_Value:"Wert",ra_Version:"Ausf\xFChrung","ra_View file":"Datei ansehen","ra_View: %s":"Anschauen: %s",ra_Wednesday:"Mittwoch",ra_Width:"Breite",ra_Yes:"Ja","ra_You can export all objects or just the selected branch.":"Sie k\xF6nnen alle Objekte oder nur den ausgew\xE4hlten Zweig exportieren.","ra_You can filter entries by entering here some text":"Sie k\xF6nnen Eintr\xE4ge filtern, indem Sie hier Text eingeben",ra___different__:"unterschiedlich",ra_aclEveryone_read_object:"Jeder kann Objekt lesen",ra_aclEveryone_read_state:"Jeder kann Zustand lesen",ra_aclEveryone_write_object:"Jeder kann ein Objekt schreiben",ra_aclEveryone_write_state:"Jeder kann Zustand schreiben",ra_aclGroup_read_object:"Gruppe kann Objekt lesen",ra_aclGroup_read_state:"Gruppe kann Status lesen",ra_aclGroup_write_object:"Gruppe kann Objekt schreiben",ra_aclGroup_write_state:"Gruppe kann Status schreiben",ra_aclOwner_read_object:"Besitzer kann Objekt lesen",ra_aclOwner_read_state:"Besitzer kann Zustand lesen",ra_aclOwner_write_object:"Besitzer kann Objekt schreiben",ra_aclOwner_write_state:"Besitzer kann Zustand schreiben",ra_buttons:"Tasten",ra_changedFrom:"Ge\xE4ndert von",ra_close:"Schlie\xDFen",ra_create_boolean_state:"Booleschen Zustand erstellen",ra_create_channel:"Kanal erstellen",ra_create_device:"Ger\xE4t erstellen",ra_create_number_state:"Nummern-Zustand erstellen",ra_create_state:"Zustand erstellen",ra_create_string_state:"String-Zustand erstellen",ra_daysShortText:"T.",ra_dow_Fr:"Fr",ra_dow_Mo:"Mo",ra_dow_Sa:"Sa",ra_dow_Su:"So",ra_dow_Th:"Do",ra_dow_Tu:"Di",ra_dow_We:"Mi",ra_expertMode:"Expertenmodus",ra_fileType_all:"Alle Dateien",ra_fileType_audio:"Audio",ra_fileType_code:"Code/JSON",ra_fileType_images:"Bilder",ra_fileType_txt:"Text",ra_fileType_video:"Video","ra_fileType_video,":"Video",ra_filter_customs:"Einstellungen",ra_filter_customs_without:"ohne",ra_filter_func:"Funktion",ra_filter_id:"ID",ra_filter_name:"Name",ra_filter_role:"Rolle",ra_filter_room:"Raum",ra_filter_type:"Typ","ra_import data from %s file":"Daten aus %s-Datei importieren",ra_invalidConfig:"Ung\xFCltige Einstellungen",ra_lastChange:"Letzte \xC4nderung",ra_locally:"\xF6rtlich",ra_month_Apr:"Apr",ra_month_Aug:"Aug",ra_month_Dec:"Dez",ra_month_Feb:"Feb",ra_month_Jan:"Jan",ra_month_Jul:"Jul",ra_month_Jun:"Jun",ra_month_Mai:"Mai",ra_month_Mar:"M\xE4r",ra_month_Nov:"Nov",ra_month_Oct:"Okt",ra_month_Sep:"Sep",ra_months_Apr:"Apr",ra_months_Aug:"Aug",ra_months_Dec:"Dez",ra_months_Feb:"Feb",ra_months_Jan:"Jan",ra_months_Jul:"Jul",ra_months_Jun:"Jun",ra_months_Mai:"Mai",ra_months_Mar:"M\xE4r",ra_months_Nov:"Nov",ra_months_Oct:"Okt",ra_months_Sep:"Sep",ra_none:"kein",ra_object_changed_by:"Objekt ge\xE4ndert von",ra_object_changed_by_user:"Objekt zuletzt ge\xE4ndert um",ra_otherConfig:"Einstellungen von anderen Adaptern %s",ra_qualityCode:"Qualit\xE4tscode",ra_repeat:"wiederholen",ra_select_folder_hint:'Um einen Ordner auszuw\xE4hlen, halten Sie einfach die Taste "Shift" gedr\xFCckt, indem Sie auf den Ordner klicken.',ra_state_changed_by:"Zustand ge\xE4ndert durch",ra_state_changed_from:"Objekt ge\xE4ndert von",ra_timestamp:"Zeitstempel",ra_tooltip_ack:"Best\xE4tigt",ra_tooltip_comment:"Kommentar",ra_tooltip_copyState:"Statuswert kopieren",ra_tooltip_customConfig:"Benutzerdefinierte Einstellungen",ra_tooltip_deleteObject:"Objekt l\xF6schen",ra_tooltip_editObject:"Objekt bearbeiten",ra_tooltip_editState:"Statuswert bearbeiten",ra_tooltip_from:"Von",ra_tooltip_lc:"Zuletzt ge\xE4ndert",ra_tooltip_quality:"Qualit\xE4t",ra_tooltip_ts:"Zeitstempel",ra_tooltip_user:"Benutzer",ra_tooltip_value:"Wert","ra_use seconds":"Sekunden benutzen",ra_val:"Wert","ra_via internet":"\xFCbers Internet",ra_warning_every_minute:"Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Minute ausgef\xFChrt!",ra_warning_every_second:"Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Sekunde ausgef\xFChrt!",sc_cron:"CRON",sc_date:"Datum",sc_dates:"Tage",sc_dow:"Tag",sc_dows:"Wochentage",sc_every:"Jeden",sc_everyN_dates:"alle N Tage",sc_everyN_dow:"jeden x-ten Tag der Woche",sc_everyN_dows:"alle N Wochentage",sc_everyN_hours:"alle N Stunden",sc_everyN_minutes:"alle N Minuten",sc_everyN_months:"alle N Monate",sc_everyN_seconds:"alle N Sekunden",sc_every_dates:"jeden Tag",sc_every_dow:"jeden Tag der Woche",sc_every_dows:"jeden Tag der Woche",sc_every_hours:"jede Stunde",sc_every_minutes:"jede Minute",sc_every_months:"jeden Monat",sc_every_seconds:"jede Sekunde",sc_from:"Von",sc_hours:"Stunden",sc_interval:"Intervall",sc_intervalBetween:"Intervall zwischen",sc_invalid_cron:"Ung\xFCltiger CRON",sc_minutes:"Minuten",sc_months:"Monate",sc_once:"Einmal",sc_period:"Zeitraum",sc_seconds:"Sekunden",sc_simple:"Einfach",sc_specific:"Bestimmte Zeit",sc_specific_dates:"bestimmte Tage",sc_specific_dow:"bestimmte(r) Tag(e) der Woche",sc_specific_dows:"bestimmten Wochentag",sc_specific_hours:"bestimmte Stunden",sc_specific_minutes:"bestimmte Minuten",sc_specific_months:"bestimmte Monate",sc_specific_seconds:"bestimmte Sekunden",sc_time:"Zeit",sc_to:"Bis",sc_wizard:"Wizard",sch_all:"alle",sch_astroDay:"Astronomischer Tag",sch_astroNight:"Astronomische Nacht",sch_astro_dawn:"Morgend\xE4mmerung",sch_astro_dusk:"Abendd\xE4mmerung",sch_astro_goldenHour:"Goldene Stunde",sch_astro_goldenHourEnd:"Goldene Stundenende",sch_astro_nadir:"Nadir",sch_astro_nauticalDawn:"Nautische Morgend\xE4mmerung",sch_astro_nauticalDusk:"Nautische Abendd\xE4mmerung",sch_astro_night:"Nacht",sch_astro_nightEnd:"Nachtende",sch_astro_solarNoon:"Sonnenmittag",sch_astro_sunrise:"Sonnenaufgang",sch_astro_sunriseEnd:"Sonnenaufgangende",sch_astro_sunset:"Sonnenuntergang",sch_astro_sunsetStart:"Sonnenuntergangstart",sch_at:"am",sch_desc_atTime:"um %s",sch_desc_everyDay:"jeden Tag",sch_desc_everyHour:"jede Stunde",sch_desc_everyMinute:"jede Minute",sch_desc_everyMonth:"jeden Monat",sch_desc_everyNDay:"jeden %s Tag",sch_desc_everyNHours:"alle %s Stunden",sch_desc_everyNMinutes:"alle %s Minuten",sch_desc_everyNMonths:"alle %s Monate",sch_desc_everyNWeeks:"alle %s Wochen",sch_desc_everyNYears:"alle %s Jahre",sch_desc_everyWeek:"jede Woche",sch_desc_everyYear:"jedes Jahr",sch_desc_intervalFromTo:"von %s bis %s",sch_desc_never:"noch nie",sch_desc_onDate:"am %s von %s",sch_desc_onDates:"am %s und %s von",sch_desc_onEveryDate:"an jedem Datum von",sch_desc_onMonth:"%s",sch_desc_onMonths:"%s und %s",sch_desc_onWeekday:"auf %s",sch_desc_onWeekdays:"auf %s und %s",sch_desc_onWeekends:"an Wochenenden",sch_desc_onWorkdays:"an Werktagen",sch_desc_onceInPast:"wird nicht mehr ausgef\xFChrt, weil der Start in der Vergangenheit ist",sch_desc_once_on:"auf %s",sch_desc_validFrom:"von %s",sch_desc_validFromTo:"Ausf\xFChren von bis",sch_desc_validTo:"bis %s",sch_every:"jeden",sch_exactTime:"Bestimmte Zeit",sch_from:"von",sch_fromTo:"Von bis",sch_intervalTime:"Zeitintervall",sch_invert:"umkehren",sch_no_one:"keiner",sch_on:"am",sch_period:"Zeitraum",sch_periodDaily:"T\xE4glich",sch_periodDates:"Daten",sch_periodDay:"Tag",sch_periodEvery:"Jeden",sch_periodEveryDay:"Jeden Tag",sch_periodEveryMonth:"Jeden Monat",sch_periodEveryWeek:"Jede Woche",sch_periodEveryYear:"Jedes Jahr",sch_periodHours:"Stunden",sch_periodMinutes:"Minuten",sch_periodMonth:"Monat",sch_periodMonthly:"Monatlich",sch_periodOnce:"Einmal",sch_periodSpecificMonths:"Bestimmte Monate",sch_periodWeek:"Woche",sch_periodWeekdays:"Wochentage",sch_periodWeekend:"Wochenende",sch_periodWeekly:"W\xF6chentlich",sch_periodWorkdays:"Arbeitstage",sch_periodYear:"Jahr",sch_periodYearly:"J\xE4hrlich",sch_specificTime:"Bestimmte Zeit",sch_time:"Zeit",sch_to:"zu",sch_valid:"G\xFCltigkeit",sch_validFrom:"von",sch_validTo:"bis",sch_wholeDay:"Ganzer Tag",sch_yearEveryMonth:"jeden Monat"};var B9={"ra_%s links from aliases":"%s \u0441\u0441\u044B\u043B\u043E\u043A \u0438\u0437 \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0438\u043C\u043E\u0432","ra_%s object(s) processed":"\u041E\u0431\u044A\u0435\u043A\u0442\u043E\u0432 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u0430\u043D\u043E: %s","ra_%s was imported":"%s \u0431\u044B\u043B \u0438\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D","ra_Accept license":"\u041F\u0440\u0438\u043D\u044F\u0442\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E","ra_Add new child object to selected parent":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u0434\u043E\u0447\u0435\u0440\u043D\u0438\u0439 \u043E\u0431\u044A\u0435\u043A\u0442 \u043A \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u043C\u0443 \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u043C\u0443 \u043E\u0431\u044A\u0435\u043A\u0442\u0443","ra_Add objects tree from JSON file":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0434\u0435\u0440\u0435\u0432\u043E \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432 \u0438\u0437 \u0444\u0430\u0439\u043B\u0430 JSON","ra_Add row":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0440\u044F\u0434","ra_Advanced options":"\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438","ra_All items are filtered out":"\u0412\u0441\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043E\u0442\u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u043D\u044B","ra_All objects":"\u0412\u0441\u0435 \u043E\u0431\u044A\u0435\u043A\u0442\u044B",ra_Append:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C","ra_Append %s entries or replace existing?":"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0437\u0430\u043F\u0438\u0441\u0438 %s \u0438\u043B\u0438 \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0435?","ra_Append or replace?":"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0438\u043B\u0438 \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C?","ra_Are you sure?":"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B?","ra_Auto (no custom columns)":"\u0410\u0432\u0442\u043E (\u0431\u0435\u0437 \u043D\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043C\u044B\u0445 \u0441\u0442\u043E\u043B\u0431\u0446\u043E\u0432)","ra_Back to %s":"\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043A %s","ra_Background image":"\u0424\u043E\u043D\u043E\u0432\u0430\u044F \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430",ra_Cancel:"\u041E\u0442\u043C\u0435\u043D\u0430","ra_Cannot add items with set filter":"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0441 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044B\u043C \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u043C","ra_Cannot decode license":"\u041D\u0435 \u043C\u043E\u0433\u0443 \u0434\u0435\u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u043C\u0435\u0441\u0442\u043E\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435: \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043F\u0443\u0441\u0442\u044B, \u0430 \u043E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u0438\u0435 GPS \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u043E \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435.",'ra_Cannot find "%s"':'\u041D\u0435 \u043C\u043E\u0433\u0443 \u043D\u0430\u0439\u0442\u0438 "%s"','ra_Cannot read "%s"':'\u041D\u0435 \u043C\u043E\u0433\u0443 \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C "%s"',"ra_Cannot read licenses: %s":"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438: %s","ra_Cannot retrieve options, as instance is offline":"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B, \u0442\u0430\u043A \u043A\u0430\u043A \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0441\u044F \u0432 \u0430\u0432\u0442\u043E\u043D\u043E\u043C\u043D\u043E\u043C \u0440\u0435\u0436\u0438\u043C\u0435.","ra_Cannot update attribute, because not found in the object":"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0430\u0442\u0440\u0438\u0431\u0443\u0442, \u043F\u043E\u0442\u043E\u043C\u0443 \u0447\u0442\u043E \u043E\u043D \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u0432 \u043E\u0431\u044A\u0435\u043A\u0442\u0435","ra_Cannot upload":"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C",ra_Categories:"\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438","ra_Chained certificate":"Chained \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442","ra_Change color theme":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0446\u0432\u0435\u0442\u043E\u0432\u0443\u044E \u0442\u0435\u043C\u0443","ra_Changed from":"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u043E","ra_Channel \u2192 State":"\u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435","ra_Check license":"\u041F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E",ra_Checked:"\u041F\u0440\u043E\u0432\u0435\u0440\u0435\u043D\u043E",ra_Clear:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","ra_Clear filter":"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440","ra_Clear icon":"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u043E\u043A","ra_Clone current row":"\u041A\u043B\u043E\u043D\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443",ra_Close:"\u0417\u0430\u043A\u0440\u044B\u0442\u044C","ra_Collapse all nodes":"\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435 \u0443\u0437\u043B\u044B","ra_Collapse one step node":"\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u043E\u0434\u0438\u043D \u0443\u0440\u043E\u0432\u0435\u043D\u044C",ra_Commercial:"\u041A\u043E\u043C\u043C\u0435\u0440\u0447\u0435\u0441\u043A\u0430\u044F",ra_Configure:"\u041D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C","ra_Configure visible columns":"\u041D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0432\u0438\u0434\u0438\u043C\u044B\u0435 \u0441\u0442\u043E\u043B\u0431\u0446\u044B","ra_Confirm deletion of %s":"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435 %s",ra_Connected:"\u0421\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E",ra_Copied:"\u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u043E","ra_Copied %s":'\u0421\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u043E "%s"',"ra_Copy content":"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435",ra_Create:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C","ra_Create alias":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0438\u043C","ra_Create folder":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0443","ra_Create new folder in %s":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u0443\u044E \u043F\u0430\u043F\u043A\u0443 \u0432 %s",ra_Crop:"\u041E\u0431\u0440\u0435\u0437\u0430\u0442\u044C","ra_Define CRON...":"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u0435 CRON...","ra_Define functions":"\u0417\u0430\u0434\u0430\u0442\u044C \u0444\u0443\u043D\u043A\u0446\u0438\u0438","ra_Define rooms":"\u0417\u0430\u0434\u0430\u0442\u044C \u043A\u043E\u043C\u043D\u0430\u0442\u044B","ra_Define schedule":"\u0417\u0430\u0434\u0430\u0442\u044C \u0440\u0430\u0441\u043F\u0438\u0441\u0430\u043D\u0438\u0435","ra_Define schedule...":"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u0440\u0430\u0441\u043F\u0438\u0441\u0430\u043D\u0438\u0435 ...",ra_Del:"Delete",ra_Delete:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C","ra_Delete (no confirm for 5 mins)":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C (\u0431\u0435\u0437 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0432 \u0442\u0435\u0447\u0435\u043D\u0438\u0435 5 \u043C\u0438\u043D\u0443\u0442)","ra_Delete current row":"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443","ra_Deselect all":"\u0423\u0431\u0440\u0430\u0442\u044C \u0432\u044B\u0431\u043E\u0440 \u0432\u0435\u0437\u0434\u0435","ra_Device \u2192 Channel \u2192 State":"\u0423\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",ra_Discard:"\u041E\u0442\u043A\u0430\u0437\u0430\u0442\u044C\u0441\u044F",ra_Disconnected:"\u041E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u043E","ra_Do not export values of states":"\u041D\u0435 \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0439","ra_Do not use let's encrypt":"\u041D\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C Let\u2019s Encrypt","ra_Double click to reset table layout":"\u0414\u0432\u0430\u0436\u0434\u044B \u0449\u0435\u043B\u043A\u043D\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0441\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043C\u0430\u043A\u0435\u0442 \u0442\u0430\u0431\u043B\u0438\u0446\u044B","ra_Drag 'n' drop some files here, or click to select files":"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0441\u044E\u0434\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0444\u0430\u0439\u043B\u043E\u0432 \u0438\u043B\u0438 \u0449\u0435\u043B\u043A\u043D\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B","ra_Drop file here":"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0444\u0430\u0439\u043B \u0441\u044E\u0434\u0430","ra_Drop the files here...":"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0444\u0430\u0439\u043B \u0441\u044E\u0434\u0430 ...","ra_Duplicate name":"\u041F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0435\u0435\u0441\u044F \u0438\u043C\u044F","ra_Edit ACL":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C ACL-\u0441\u043F\u0438\u0441\u043E\u043A","ra_Edit alias":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0438\u043C","ra_Edit custom config":"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043C\u0443\u044E \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E","ra_Edit function":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0444\u0443\u043D\u043A\u0446\u0438\u044E","ra_Edit object field":"\u041F\u043E\u043B\u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u043E\u0431\u044A\u0435\u043A\u0442\u0430","ra_Edit role":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0440\u043E\u043B\u044C","ra_Edit room":"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043A\u043E\u043C\u043D\u0430\u0442\u0443","ra_Edit value":"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435",ra_Error:"\u041E\u0448\u0438\u0431\u043A\u0430","ra_Expand all nodes":"\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435 \u0443\u0437\u043B\u044B","ra_Expand one step node":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043E\u0434\u0438\u043D \u0443\u0440\u043E\u0432\u0435\u043D\u044C","ra_Export data to %s file":"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0434\u0430\u043D\u043D\u044B\u0445 \u0432 \u0444\u0430\u0439\u043B %s","ra_Failed to open JSON File":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0444\u0430\u0439\u043B JSON","ra_Fallback custom certificates":"\u0420\u0435\u0437\u0435\u0440\u0432\u043D\u044B\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u044B","ra_File is too big. Max %sk allowed. Try use SVG.":"\u0424\u0430\u0439\u043B \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0439. \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u043E \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E %sk. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C SVG.",ra_Filter:"\u0424\u0438\u043B\u044C\u0442\u0440","ra_Filter files":"\u0424\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B","ra_Folder name":"\u0418\u043C\u044F \u043F\u0430\u043F\u043A\u0438","ra_Folder \u2192 Channel \u2192 State":"\u041F\u0430\u043F\u043A\u0430 \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435","ra_Folder \u2192 Device \u2192 Channel \u2192 State":"\u041F\u0430\u043F\u043A\u0430 \u2192 \u0423\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435","ra_Folder \u2192 State":"\u041F\u0430\u043F\u043A\u0430 \u2192 \u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435","ra_Folders always first":"\u041F\u0430\u043F\u043A\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u043D\u0430 \u043F\u0435\u0440\u0432\u043E\u043C \u043C\u0435\u0441\u0442\u0435",ra_Friday:"\u041F\u044F\u0442\u043D\u0438\u0446\u0430","ra_Good luck":"\u0423\u0434\u0430\u0447\u0438","ra_Hide empty folders":"\u0421\u043A\u0440\u044B\u0442\u044C \u043F\u0443\u0441\u0442\u044B\u0435 \u043F\u0430\u043F\u043A\u0438","ra_If no file will be created in the folder, it will disappear after the browser closed":"\u0415\u0441\u043B\u0438 \u0432 \u043F\u0430\u043F\u043A\u0435 \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u043E\u0437\u0434\u0430\u043D \u0444\u0430\u0439\u043B, \u043E\u043D \u0438\u0441\u0447\u0435\u0437\u043D\u0435\u0442 \u043F\u043E\u0441\u043B\u0435 \u0437\u0430\u043A\u0440\u044B\u0442\u0438\u044F \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430.","ra_Import data from %s file":"\u0418\u043C\u043F\u043E\u0440\u0442 \u0434\u0430\u043D\u043D\u044B\u0445 \u0438\u0437 \u0444\u0430\u0439\u043B\u0430 %s","ra_Import from %s":"\u0418\u043C\u043F\u043E\u0440\u0442 \u0438\u0437 %s","ra_Instance %s is alive":"\u042D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 %s \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442","ra_Instance %s is not alive":"\u042D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 %s \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442","ra_Instance is not alive":"\u042D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u043D\u0435 \u0436\u0438\u0432\u043E\u0439","ra_Invalid CRON":"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 CRON","ra_Invalid JSON":"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 JSON","ra_Invalid answer from server":"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043E\u0442\u0432\u0435\u0442 \u043E\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430","ra_Invalid parent folder!":"\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u0430\u044F \u043F\u0430\u043F\u043A\u0430!","ra_Invalid structure":"\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0430","ra_JSON editor":"\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 JSON","ra_Last change":"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435",ra_Latitude:"\u0428\u0438\u0440\u043E\u0442\u0430","ra_License %s":"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F %s","ra_License agreement":"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u043E\u043D\u043D\u043E\u0435 \u0441\u043E\u0433\u043B\u0430\u0448\u0435\u043D\u0438\u0435","ra_License does not exist":"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442","ra_License expired on %s":"\u0421\u0440\u043E\u043A \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438 \u0438\u0441\u0442\u0435\u043A %s",'ra_License for other product "%s"':'\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043D\u0430 \u0434\u0440\u0443\u0433\u043E\u0439 \u043F\u0440\u043E\u0434\u0443\u043A\u0442 "%s"',"ra_License is for version %s, but required version is %s.":"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043F\u0440\u0435\u0434\u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0430 \u0434\u043B\u044F \u0432\u0435\u0440\u0441\u0438\u0438 %s, \u043D\u043E \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u0430 \u0432\u0435\u0440\u0441\u0438\u044F %s.","ra_License must be converted":"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u0434\u043E\u043B\u0436\u043D\u0430 \u0431\u044B\u0442\u044C \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0430 \u0432 \u0431\u043E\u043B\u0435\u0435 \u043D\u043E\u0432\u0443\u044E \u0432\u0435\u0440\u0441\u0438\u044E. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u044D\u0442\u043E \u0432 \u0441\u0432\u043E\u0435\u043C \u043F\u0440\u043E\u0444\u0438\u043B\u0435 \u043D\u0430 iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u0432 \u0434\u0438\u0441\u043F\u0435\u0442\u0447\u0435\u0440\u0435 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0439. \u0412\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438 \u043E\u0442 iobroker.net?","ra_Listen on all IPs":"\u0421\u043B\u0443\u0448\u0430\u0442\u044C \u043D\u0430 \u0432\u0441\u0435\u0445 IP","ra_Load configuration from file":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E \u0438\u0437 \u0444\u0430\u0439\u043B\u0430",ra_Longitude:"\u0414\u043E\u043B\u0433\u043E\u0442\u0430",'ra_May not trigger "updateLicenses"':"\u041D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u043F\u0443\u0441\u043A\u0430\u0442\u044C \xABupdateLicenses\xBB",ra_Message:"\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",ra_Monday:"\u041F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A","ra_Move down":"\u0412\u043D\u0438\u0437","ra_Move up":"\u0412\u0432\u0435\u0440\u0445",ra_Name:"\u0418\u043C\u044F","ra_No data found in file":"\u0414\u0430\u043D\u043D\u044B\u0435 \u0432 \u0444\u0430\u0439\u043B\u0435 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B","ra_No one license found in license manager":"\u0412 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u0435 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0439 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u043D\u0438 \u043E\u0434\u043D\u0430 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044F","ra_No response from the backend":"\u041D\u0435\u0442 \u043E\u0442\u0432\u0435\u0442\u0430 \u043E\u0442 \u0431\u044D\u043A\u044D\u043D\u0434\u0430",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"\u041D\u0435-\u044D\u043A\u0441\u043F\u0435\u0440\u0442\u044B \u043C\u043E\u0433\u0443\u0442 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0435 \u043E\u0431\u044A\u0435\u043A\u0442\u044B \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \xAB0_userdata.0\xBB \u0438\u043B\u0438 \xABalias.0\xBB.","ra_Not a number":"\u041D\u0435 \u0447\u0438\u0441\u043B\u043E",ra_Objects:"\u041E\u0431\u044A\u0435\u043A\u0442\u044B",ra_Ok:"Ok","ra_On weekdays":"\u041D\u0430 \u0432\u044B\u0445\u043E\u0434\u043D\u044B\u0445","ra_Only following structures of objects are available:":"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B \u0442\u043E\u043B\u044C\u043A\u043E \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u044B \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432:","ra_Only selected":"\u0422\u043E\u043B\u044C\u043A\u043E \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435","ra_Owner group":"\u0413\u0440\u0443\u043F\u043F\u0430 \u0432\u043B\u0430\u0434\u0435\u043B\u044C\u0446\u0435\u0432","ra_Owner user":"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C-\u0432\u043B\u0430\u0434\u0435\u043B\u0435\u0446","ra_Passwords are not equal!":"\u041F\u0430\u0440\u043E\u043B\u0438 \u043D\u0435 \u0440\u0430\u0432\u043D\u044B!","ra_Place your files here or click here to open the browse dialog":"\u041F\u043E\u043C\u0435\u0441\u0442\u0438\u0442\u0435 \u0441\u0432\u043E\u0438 \u0444\u0430\u0439\u043B\u044B \u0441\u044E\u0434\u0430 \u0438\u043B\u0438 \u0449\u0435\u043B\u043A\u043D\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044C, \u0447\u0442\u043E\u0431\u044B \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0434\u0438\u0430\u043B\u043E\u0433\u043E\u0432\u043E\u0435 \u043E\u043A\u043D\u043E \u0432\u044B\u0431\u043E\u0440\u0430","ra_Please confirm":"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435","ra_Please create license":"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0441\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E","ra_Please enter the license":"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E","ra_Please select file...":"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043B...","ra_Please select object ID...":"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u043E\u0431\u044A\u0435\u043A\u0442\u0430 ...","ra_Port could be used by %s":"\u041F\u043E\u0440\u0442 \u043C\u043E\u0436\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F %s","ra_Port is already used by %s":"\u041F\u043E\u0440\u0442 \u0443\u0436\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F %s","ra_Private certificate":"\u0427\u0430\u0441\u0442\u043D\u044B\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442",ra_Product:"\u041F\u0440\u043E\u0434\u0443\u043A\u0442","ra_Public certificate":"\u041F\u0443\u0431\u043B\u0438\u0447\u043D\u044B\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442","ra_Quality code":"\u0412\u0430\u043B\u0438\u0434\u043D\u043E\u0441\u0442\u044C","ra_Refresh tree":"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0434\u0435\u0440\u0435\u0432\u043E","ra_Reload files":"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C",ra_Repeat:"\u041F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435",ra_Replace:"\u0417\u0430\u043C\u0435\u043D\u044F\u0442\u044C","ra_Request timed out":"\u0418\u0441\u0442\u0435\u043A\u043B\u043E \u0432\u0440\u0435\u043C\u044F \u0437\u0430\u043F\u0440\u043E\u0441\u0430","ra_Restrict to folder":"\u041E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0442\u044C \u043F\u0430\u043F\u043A\u043E\u0439",ra_Root:"\u041D\u0430\u0447\u0430\u043B\u043E",ra_Saturday:"\u0421\u0443\u0431\u0431\u043E\u0442\u0430",ra_Save:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C","ra_Save and close":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0438 \u0437\u0430\u043A\u0440\u044B\u0442\u044C","ra_Save configuration to file":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E \u0432 \u0444\u0430\u0439\u043B","ra_Save objects tree as JSON file":"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0434\u0435\u0440\u0435\u0432\u043E \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432 \u043A\u0430\u043A \u0444\u0430\u0439\u043B JSON","ra_Select all":"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435","ra_Select color":"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0446\u0432\u0435\u0442","ra_Select predefined icon":"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u0440\u0435\u0434\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0439 \u0437\u043D\u0430\u0447\u043E\u043A","ra_Select type of export":"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0438\u043F \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0430",ra_Selected:"\u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0439","ra_Selected %s object(s)":"\u041E\u0431\u044A\u0435\u043A\u0442\u043E\u0432: %s","ra_Serial number (UUID)":"\u0421\u0435\u0440\u0438\u0439\u043D\u044B\u0439 \u043D\u043E\u043C\u0435\u0440 (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"\u0421\u0435\u0440\u0438\u0439\u043D\u044B\u0439 \u043D\u043E\u043C\u0435\u0440 (UUID) \xAB%s\xBB \u0432 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438 \u043F\u0440\u0435\u0434\u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D \u0434\u043B\u044F \u0434\u0440\u0443\u0433\u043E\u0433\u043E \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430.","ra_Show all folders":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0441\u0435 \u043F\u0430\u043F\u043A\u0438","ra_Show lines between rows":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043B\u0438\u043D\u0438\u0438 \u043C\u0435\u0436\u0434\u0443 \u0441\u0442\u0440\u043E\u043A\u0430\u043C\u0438","ra_Show/Hide object descriptions":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C/\u0441\u043A\u0440\u044B\u0442\u044C \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u044F \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432","ra_Show/hide filter input":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C/\u0441\u043A\u0440\u044B\u0442\u044C \u0432\u0432\u043E\u0434 \u0444\u0438\u043B\u044C\u0442\u0440\u0430","ra_Some data are not stored. Discard?":"\u041D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 \u043D\u0435 \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0441\u044C. \u041E\u0442\u043A\u0430\u0437\u0430\u0442\u044C\u0441\u044F?",ra_States:"\u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F","ra_Suitable license not found in license manager":"\u041F\u043E\u0434\u0445\u043E\u0434\u044F\u0449\u0430\u044F \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u0432 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u0435 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0439",ra_Sunday:"\u0412\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435","ra_Suppress question for next %s minutes":"\u0421\u043A\u0440\u044B\u0442\u044C \u0432\u043E\u043F\u0440\u043E\u0441 \u043D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 %s \u043C\u0438\u043D\u0443\u0442(\u044B)","ra_System language":"\u042F\u0437\u044B\u043A \u0441\u0438\u0441\u0442\u0435\u043C\u044B","ra_Take browser position":"\u0412\u0437\u044F\u0442\u044C \u043F\u043E\u0437\u0438\u0446\u0438\u044E \u0438\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430","ra_Take position from system settings":"\u0417\u0430\u043D\u044F\u0442\u044C \u043F\u043E\u0437\u0438\u0446\u0438\u044E \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u044B\u0445 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"\u042D\u043A\u0441\u043F\u0435\u0440\u0442\u044B \u043C\u043E\u0433\u0443\u0442 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442\u044B \u0432\u0435\u0437\u0434\u0435, \u043A\u0440\u043E\u043C\u0435 \u0432\u0442\u043E\u0440\u043E\u0433\u043E \u0443\u0440\u043E\u0432\u043D\u044F (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \xABvis.0\xBB \u0438\u043B\u0438 \xABjavascript.0\xBB).","ra_The page you are looking for was not found":"\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430, \u043A\u043E\u0442\u043E\u0440\u0443\u044E \u0432\u044B \u0438\u0449\u0435\u0442\u0435, \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430","ra_The schedule will be executed every minute. Are you sure?":"\u0420\u0430\u0441\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0442\u044C\u0441\u044F \u043A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443. \u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B?","ra_The schedule will be executed every second. Are you sure?":"\u0420\u0430\u0441\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0442\u044C\u0441\u044F \u043A\u0430\u0436\u0434\u0443\u044E \u0441\u0435\u043A\u0443\u043D\u0434\u0443. \u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B?",ra_Thursday:"\u0427\u0435\u0442\u0432\u0435\u0440\u0433",ra_Timestamp:"\u0412\u0440\u0435\u043C\u0435\u043D\u0438","ra_Toggle expert mode":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u044D\u043A\u0441\u043F\u0435\u0440\u0442\u043D\u044B\u0439 \u0440\u0435\u0436\u0438\u043C","ra_Toggle the states view":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0440\u0435\u0436\u0438\u043C \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0439","ra_Toggle view mode":"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0440\u0435\u0436\u0438\u043C \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430","ra_Too big":"\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435","ra_Too small":"\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435","ra_Transparent dialog":"\u041F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u0439 \u0434\u0438\u0430\u043B\u043E\u0433",ra_Tuesday:"\u0412\u0442\u043E\u0440\u043D\u0438\u043A","ra_Unknown error":"\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430","ra_Unknown error!":"\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430!",ra_Update:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C","ra_Upload file":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0444\u0430\u0439\u043B","ra_Use all available let's encrypt certificates":"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u044B Let\u2019s encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0430\u0434\u0430\u043F\u0442\u0435\u0440 iobroker.acme \u0434\u043B\u044F \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0432 letsencrypt","ra_Use system settings for position":"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0434\u043B\u044F \u043F\u043E\u0437\u0438\u0446\u0438\u0438","ra_Used system settings":"\u0421\u0438\u0441\u0442\u0435\u043C\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438","ra_User files":"\u0424\u0430\u0439\u043B\u044B \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F",ra_ValidTill:"\u0413\u043E\u0434\u0435\u043D \u0434\u043E",ra_Value:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435",ra_Version:"\u0412\u0435\u0440\u0441\u0438\u044F","ra_View file":"\u041F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u0444\u0430\u0439\u043B","ra_View: %s":"\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440: %s",ra_Wednesday:"\u0421\u0440\u0435\u0434\u0430",ra_Width:"\u0428\u0438\u0440\u0438\u043D\u0430",ra_Yes:"\u0414\u0430","ra_You can export all objects or just the selected branch.":"\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u043E\u0431\u044A\u0435\u043A\u0442\u044B \u0438\u043B\u0438 \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u0443\u044E \u0432\u0435\u0442\u0432\u044C.","ra_You can filter entries by entering here some text":"\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043E\u0442\u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u043F\u0438\u0441\u0438, \u0432\u0432\u0435\u0434\u044F \u0437\u0434\u0435\u0441\u044C \u0442\u0435\u043A\u0441\u0442",ra___different__:"\u0440\u0430\u0437\u043D\u043E\u0435",ra_aclEveryone_read_object:"\u041A\u0430\u0436\u0434\u044B\u0439 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442",ra_aclEveryone_read_state:"\u041A\u0430\u0436\u0434\u044B\u0439 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",ra_aclEveryone_write_object:"\u041A\u0430\u0436\u0434\u044B\u0439 \u043C\u043E\u0436\u0435\u0442 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442",ra_aclEveryone_write_state:"\u041A\u0430\u0436\u0434\u044B\u0439 \u043C\u043E\u0436\u0435\u0442 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",ra_aclGroup_read_object:"\u0413\u0440\u0443\u043F\u043F\u0430 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442",ra_aclGroup_read_state:"\u0413\u0440\u0443\u043F\u043F\u0430 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",ra_aclGroup_write_object:"\u0413\u0440\u0443\u043F\u043F\u0430 \u043C\u043E\u0436\u0435\u0442 \u043F\u0438\u0441\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442",ra_aclGroup_write_state:"\u0413\u0440\u0443\u043F\u043F\u0430 \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",ra_aclOwner_read_object:"\u0412\u043B\u0430\u0434\u0435\u043B\u0435\u0446 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442",ra_aclOwner_read_state:"\u0412\u043B\u0430\u0434\u0435\u043B\u0435\u0446 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",ra_aclOwner_write_object:"\u0412\u043B\u0430\u0434\u0435\u043B\u0435\u0446 \u043C\u043E\u0436\u0435\u0442 \u043F\u0438\u0441\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442",ra_aclOwner_write_state:"\u0412\u043B\u0430\u0434\u0435\u043B\u0435\u0446 \u043C\u043E\u0436\u0435\u0442 \u043F\u0438\u0441\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",ra_buttons:"\u041A\u043D\u043E\u043F\u043A\u0438",ra_changedFrom:"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u043E \u0441",ra_close:"\u0417\u0430\u043A\u0440\u044B\u0442\u044C",ra_create_boolean_state:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043B\u043E\u0433\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",ra_create_channel:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043A\u0430\u043D\u0430\u043B",ra_create_device:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E",ra_create_number_state:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u043D\u043E\u043C\u0435\u0440\u0430",ra_create_state:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",ra_create_string_state:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u0441\u0442\u0440\u043E\u043A\u0438",ra_daysShortText:"\u0434.",ra_dow_Fr:"\u041F\u0442",ra_dow_Mo:"\u041F\u043D",ra_dow_Sa:"\u0421\u0431",ra_dow_Su:"\u0412\u0441",ra_dow_Th:"\u0427\u0442",ra_dow_Tu:"\u0412\u0442",ra_dow_We:"\u0421\u0440",ra_expertMode:"\u042D\u043A\u0441\u043F\u0435\u0440\u0442\u043D\u044B\u0439 \u0440\u0435\u0436\u0438\u043C",ra_fileType_all:"\u0412\u0441\u0435 \u0444\u0430\u0439\u043B\u044B",ra_fileType_audio:"\u0410\u0443\u0434\u0438\u043E",ra_fileType_code:"\u041A\u043E\u0434/JSON",ra_fileType_images:"\u041A\u0430\u0440\u0442\u0438\u043D\u043A\u0438",ra_fileType_txt:"\u0422\u0435\u043A\u0441\u0442",ra_fileType_video:"\u0432\u0438\u0434\u0435\u043E","ra_fileType_video,":"\u0432\u0438\u0434\u0435\u043E",ra_filter_customs:"\u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",ra_filter_customs_without:"\u0431\u0435\u0437",ra_filter_func:"\u0444\u0443\u043D\u043A\u0446\u0438\u044F",ra_filter_id:"ID",ra_filter_name:"\u0418\u043C\u044F",ra_filter_role:"\u0440\u043E\u043B\u044C",ra_filter_room:"\u043A\u043E\u043C\u043D\u0430\u0442\u0430",ra_filter_type:"\u0422\u0438\u043F","ra_import data from %s file":"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435 \u0438\u0437 \u0444\u0430\u0439\u043B\u0430 %s",ra_invalidConfig:"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",ra_lastChange:"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435",ra_locally:"\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E",ra_month_Apr:"\u0410\u043F\u0440",ra_month_Aug:"\u0410\u0432\u0433",ra_month_Dec:"\u0414\u0435\u043A",ra_month_Feb:"\u0424\u0435\u0432",ra_month_Jan:"\u042F\u043D\u0432",ra_month_Jul:"\u0418\u044E\u043B",ra_month_Jun:"\u0418\u044E\u043D",ra_month_Mai:"\u041C\u0430\u0439",ra_month_Mar:"\u041C\u0440\u0442",ra_month_Nov:"\u041D\u043E\u044F",ra_month_Oct:"\u041E\u043A\u0442",ra_month_Sep:"\u0421\u0435\u043D",ra_months_Apr:"\u0410\u043F\u0440",ra_months_Aug:"\u0410\u0432\u0433",ra_months_Dec:"\u0414\u0435\u043A",ra_months_Feb:"\u0424\u0435\u0432",ra_months_Jan:"\u042F\u043D\u0432",ra_months_Jul:"\u0418\u044E\u043D\u044C",ra_months_Jun:"\u0418\u044E\u043B\u044C",ra_months_Mai:"\u041C\u0430\u0439",ra_months_Mar:"\u041C\u0430\u0440\u0442",ra_months_Nov:"\u041D\u043E\u044F",ra_months_Oct:"\u041E\u043A\u0442",ra_months_Sep:"\u0421\u0435\u043D",ra_none:"\u043D\u0438\u0447\u0435\u0433\u043E",ra_object_changed_by:"\u041E\u0431\u044A\u0435\u043A\u0442 \u0438\u0437\u043C\u0435\u043D\u0435\u043D",ra_object_changed_by_user:"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0440\u0430\u0437 \u043E\u0431\u044A\u0435\u043A\u0442 \u0438\u0437\u043C\u0435\u043D\u0435\u043D \u0432",ra_otherConfig:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0438\u0437 \u0434\u0440\u0443\u0433\u043E\u0433\u043E \u0430\u0434\u0430\u043F\u0442\u0435\u0440\u0430 %s",ra_qualityCode:"\u041A\u043E\u0434 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0430",ra_repeat:"\u043F\u043E\u0432\u0442\u043E\u0440",ra_select_folder_hint:"\u0427\u0442\u043E\u0431\u044B \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0443, \u043F\u0440\u043E\u0441\u0442\u043E \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0439\u0442\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0443 \xABShift\xBB, \u0449\u0435\u043B\u043A\u043D\u0443\u0432 \u043F\u0430\u043F\u043A\u0443.",ra_state_changed_by:"\u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u043E",ra_state_changed_from:"\u041E\u0431\u044A\u0435\u043A\u0442 \u0438\u0437\u043C\u0435\u043D\u0435\u043D \u0441",ra_timestamp:"\u041E\u0442\u043C\u0435\u0442\u043A\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",ra_tooltip_ack:"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u043E",ra_tooltip_comment:"\u041A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439",ra_tooltip_copyState:"\u0421\u043A\u043E\u043F\u0438\u0440\u0443\u0439\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F",ra_tooltip_customConfig:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",ra_tooltip_deleteObject:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442",ra_tooltip_editObject:"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442",ra_tooltip_editState:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F",ra_tooltip_from:"\u041E\u0442",ra_tooltip_lc:"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435",ra_tooltip_quality:"\u041A\u0430\u0447\u0435\u0441\u0442\u0432\u043E",ra_tooltip_ts:"\u041E\u0442\u043C\u0435\u0442\u043A\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",ra_tooltip_user:"\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C",ra_tooltip_value:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435","ra_use seconds":"\u0441\u0435\u043A\u0443\u043D\u0434\u044B",ra_val:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435","ra_via internet":"\u0447\u0435\u0440\u0435\u0437 \u0438\u043D\u0442\u0435\u0440\u043D\u0435\u0442",ra_warning_every_minute:"\u0412\u043D\u0438\u043C\u0430\u043D\u0438\u0435: \u0437\u0430\u0434\u0430\u043D\u0438\u0435 CRON \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043F\u0443\u0441\u043A\u0430\u0442\u044C\u0441\u044F \u043A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443 \u0432 \u0442\u0435\u0447\u0435\u043D\u0438\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u043E\u0433\u043E \u043F\u0435\u0440\u0438\u043E\u0434\u0430!",ra_warning_every_second:"\u0412\u043D\u0438\u043C\u0430\u043D\u0438\u0435: \u0437\u0430\u0434\u0430\u043D\u0438\u0435 CRON \u0431\u0443\u0434\u0435\u0442 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0442\u044C\u0441\u044F \u043A\u0430\u0436\u0434\u0443\u044E \u0441\u0435\u043A\u0443\u043D\u0434\u0443 \u0432 \u0442\u0435\u0447\u0435\u043D\u0438\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u043E\u0433\u043E \u043F\u0435\u0440\u0438\u043E\u0434\u0430!",sc_cron:"CRON",sc_date:"\u0414\u0430\u0442\u0430",sc_dates:"\u0414\u0430\u0442\u044B",sc_dow:"\u0414\u0435\u043D\u044C",sc_dows:"\u0414\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438",sc_every:"\u043A\u0430\u0436\u0434\u044B\u0439(\u0443\u044E/\u044B\u0435)",sc_everyN_dates:"\u043A\u0430\u0436\u0434\u044B\u0439 N \u0434\u0435\u043D\u044C",sc_everyN_dow:"\u043A\u0430\u0436\u0434\u044B\u0439 N-\u0439 \u0434\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438",sc_everyN_dows:"\u043A\u0430\u0436\u0434\u044B\u0439 N \u0434\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438",sc_everyN_hours:"\u043A\u0430\u0436\u0434\u044B\u0435 N \u0447\u0430\u0441\u043E\u0432",sc_everyN_minutes:"\u043A\u0430\u0436\u0434\u044B\u0435 N \u043C\u0438\u043D\u0443\u0442",sc_everyN_months:"\u043A\u0430\u0436\u0434\u044B\u0435 N \u043C\u0435\u0441\u044F\u0446\u0435\u0432",sc_everyN_seconds:"\u043A\u0430\u0436\u0434\u044B\u0435 N \u0441\u0435\u043A\u0443\u043D\u0434",sc_every_dates:"\u043A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C",sc_every_dow:"\u041A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438",sc_every_dows:"\u043A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438",sc_every_hours:"\u043A\u0430\u0436\u0434\u044B\u0439 \u0447\u0430\u0441",sc_every_minutes:"\u043A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443",sc_every_months:"\u043A\u0430\u0436\u0434\u044B\u0439 \u043C\u0435\u0441\u044F\u0446",sc_every_seconds:"\u043A\u0430\u0436\u0434\u0443\u044E \u0441\u0435\u043A\u0443\u043D\u0434\u0443",sc_from:"\u041E\u0442",sc_hours:"\u0447\u0430\u0441\u044B",sc_interval:"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B",sc_intervalBetween:"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u043C\u0435\u0436\u0434\u0443",sc_invalid_cron:"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 CRON",sc_minutes:"\u043C\u0438\u043D\u0443\u0442\u044B",sc_months:"\u041C\u0435\u0441\u044F\u0446\u044B",sc_once:"\u043E\u0434\u0438\u043D \u0440\u0430\u0437",sc_period:"\u041F\u0435\u0440\u0438\u043E\u0434",sc_seconds:"\u0441\u0435\u043A\u0443\u043D\u0434\u044B",sc_simple:"\u041F\u0440\u043E\u0441\u0442\u043E",sc_specific:"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F",sc_specific_dates:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u0434\u0430\u0442\u044B",sc_specific_dow:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0439 \u0434\u0435\u043D\u044C(\u0430) \u043D\u0435\u0434\u0435\u043B\u0438",sc_specific_dows:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0439 \u0434\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438",sc_specific_hours:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u0447\u0430\u0441\u044B",sc_specific_minutes:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u043C\u0438\u043D\u0443\u0442\u044B",sc_specific_months:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u043C\u0435\u0441\u044F\u0446\u044B",sc_specific_seconds:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u0441\u0435\u043A\u0443\u043D\u0434\u044B",sc_time:"\u0412\u0440\u0435\u043C\u044F",sc_to:"\u0414\u043E",sc_wizard:"\u0424\u043E\u0440\u043C\u0430",sch_all:"\u0432\u0441\u0435",sch_astroDay:"\u0434\u043D\u0451\u043C",sch_astroNight:"\u043D\u043E\u0447\u044C\u044E",sch_astro_dawn:"\u0420\u0430\u0441\u0441\u0432\u0435\u0442",sch_astro_dusk:"\u0421\u0443\u043C\u0435\u0440\u043A\u0438",sch_astro_goldenHour:"\u0417\u043E\u043B\u043E\u0442\u043E\u0439 \u0447\u0430\u0441",sch_astro_goldenHourEnd:"\u041A\u043E\u043D\u0435\u0446 \u0437\u043E\u043B\u043E\u0442\u043E\u0433\u043E \u0447\u0430\u0441\u0430",sch_astro_nadir:"\u041D\u0430\u0434\u0438\u0440",sch_astro_nauticalDawn:"\u041C\u043E\u0440\u0441\u043A\u043E\u0439 \u0440\u0430\u0441\u0441\u0432\u0435\u0442",sch_astro_nauticalDusk:"\u041C\u043E\u0440\u0441\u043A\u0438\u0435 \u0441\u0443\u043C\u0435\u0440\u043A\u0438",sch_astro_night:"\u041D\u043E\u0447\u044C",sch_astro_nightEnd:"\u041A\u043E\u043D\u0435\u0446 \u043D\u043E\u0447\u0438",sch_astro_solarNoon:"\u0421\u043E\u043B\u043D\u0435\u0447\u043D\u044B\u0439 \u043F\u043E\u043B\u0434\u0435\u043D\u044C",sch_astro_sunrise:"\u0412\u043E\u0441\u0445\u043E\u0434",sch_astro_sunriseEnd:"\u0412\u043E\u0441\u0445\u043E\u0434 \u0441\u043E\u043B\u043D\u0446\u0430",sch_astro_sunset:"\u0417\u0430\u0445\u043E\u0434 \u0441\u043E\u043B\u043D\u0446\u0430",sch_astro_sunsetStart:"\u041D\u0430\u0447\u0430\u043B\u043E \u0437\u0430\u043A\u0430\u0442\u0430",sch_at:"\u0434\u0430\u0442\u0430",sch_desc_atTime:"\u0432 %s",sch_desc_everyDay:"\u043A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C",sch_desc_everyHour:"\u043A\u0430\u0436\u0434\u044B\u0439 \u0447\u0430\u0441",sch_desc_everyMinute:"\u043A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443",sch_desc_everyMonth:"\u043A\u0430\u0436\u0434\u044B\u0439 \u043C\u0435\u0441\u044F\u0446",sch_desc_everyNDay:"\u043A\u0430\u0436\u0434\u044B\u0439 %s \u0434\u0435\u043D\u044C",sch_desc_everyNHours:"\u043A\u0430\u0436\u0434\u044B\u0439 %s \u0447\u0430\u0441\u043E\u0432",sch_desc_everyNMinutes:"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0438\u043D\u0443\u0442",sch_desc_everyNMonths:"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0435\u0441\u044F\u0446\u0435\u0432",sch_desc_everyNWeeks:"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043D\u0435\u0434\u0435\u043B\u044C",sch_desc_everyNYears:"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043B\u0435\u0442",sch_desc_everyWeek:"\u043A\u0430\u0436\u0434\u0443\u044E \u043D\u0435\u0434\u0435\u043B\u044E",sch_desc_everyYear:"\u043A\u0430\u0436\u0434\u044B\u0439 \u0433\u043E\u0434",sch_desc_intervalFromTo:"\u043E\u0442 %s \u0434\u043E %s",sch_desc_never:"\u043D\u0438\u043A\u043E\u0433\u0434\u0430",sch_desc_onDate:"%s %s",sch_desc_onDates:"%s \u0438 %s",sch_desc_onEveryDate:"\u0432 \u043A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C",sch_desc_onMonth:"%s",sch_desc_onMonths:"%s \u0438 %s",sch_desc_onWeekday:"%s",sch_desc_onWeekdays:"%s \u0438 %s",sch_desc_onWeekends:"\u043D\u0430 \u0432\u044B\u0445\u043E\u0434\u043D\u044B\u0445",sch_desc_onWorkdays:"\u0432 \u0440\u0430\u0431\u043E\u0447\u0438\u0435 \u0434\u043D\u0438",sch_desc_onceInPast:"\u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u0431\u043E\u043B\u044C\u0448\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0442\u044C\u0441\u044F, \u043F\u043E\u0442\u043E\u043C\u0443 \u0447\u0442\u043E \u043D\u0430\u0447\u0430\u043B\u043E \u0432 \u043F\u0440\u043E\u0448\u043B\u043E\u043C",sch_desc_once_on:"%s",sch_desc_validFrom:"%s",sch_desc_validFromTo:"\u0412\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0441",sch_desc_validTo:"%s",sch_every:"\u043A\u0430\u0436\u0434\u044B\u0439",sch_exactTime:"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F",sch_from:"\u043E\u0442",sch_fromTo:"\u041E\u0442 \u0438 \u0434\u043E",sch_intervalTime:"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u0432\u0440\u0435\u043C\u0435\u043D\u0438",sch_invert:"\u0438\u043D\u0432\u0435\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C",sch_no_one:"\u043D\u0438\u043A\u0430\u043A\u043E\u0439",sch_on:"\u043D\u0430",sch_period:"\u043F\u0435\u0440\u0438\u043E\u0434",sch_periodDaily:"\u0415\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u043E",sch_periodDates:"\u0414\u0430\u0442\u044B",sch_periodDay:"\u0414\u0435\u043D\u044C",sch_periodEvery:"\u043A\u0430\u0436\u0434\u044B\u0439",sch_periodEveryDay:"\u041A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C",sch_periodEveryMonth:"\u041A\u0430\u0436\u0434\u044B\u0439 \u043C\u0435\u0441\u044F\u0446",sch_periodEveryWeek:"\u041A\u0430\u0436\u0434\u0443\u044E \u043D\u0435\u0434\u0435\u043B\u044E",sch_periodEveryYear:"\u041A\u0430\u0436\u0434\u044B\u0439 \u0433\u043E\u0434",sch_periodHours:"\u0447\u0430\u0441\u043E\u0432",sch_periodMinutes:"\u043C\u0438\u043D\u0443\u0442",sch_periodMonth:"\u043C\u0435\u0441\u044F\u0446",sch_periodMonthly:"\u0435\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u043E",sch_periodOnce:"\u043E\u0434\u043D\u0430\u0436\u0434\u044B",sch_periodSpecificMonths:"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u043C\u0435\u0441\u044F\u0446\u044B",sch_periodWeek:"\u041D\u0435\u0434\u0435\u043B\u044E",sch_periodWeekdays:"\u0411\u0443\u0434\u043D\u0438\u0435 \u0434\u043D\u0438",sch_periodWeekend:"\u0432\u044B\u0445\u043E\u0434\u043D\u044B\u0435",sch_periodWeekly:"\u0435\u0436\u0435\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u043E",sch_periodWorkdays:"\u0420\u0430\u0431\u043E\u0447\u0438\u0435 \u0434\u043D\u0438",sch_periodYear:"\u0413\u043E\u0434",sch_periodYearly:"\u043A\u0430\u0436\u0434\u044B\u0439 \u0433\u043E\u0434",sch_specificTime:"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F",sch_time:"\u0412\u0440\u0435\u043C\u044F",sch_to:"\u0432",sch_valid:"\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0439",sch_validFrom:"\u043E\u0442",sch_validTo:"\u0432",sch_wholeDay:"\u0412\u0435\u0441\u044C \u0434\u0435\u043D\u044C",sch_yearEveryMonth:"\u043A\u0430\u0436\u0434\u044B\u0439 \u043C\u0435\u0441\u044F\u0446"};var L9={"ra_%s links from aliases":"%s links de aliases","ra_%s object(s) processed":"%s objeto(s) processado(s)","ra_%s was imported":"%s foi importado","ra_Accept license":"Aceitar licen\xE7a","ra_Add new child object to selected parent":"Adicionar novo objeto filho ao pai selecionado","ra_Add objects tree from JSON file":"Adicionar \xE1rvore de objetos do arquivo JSON","ra_Add row":"Adicionar linha","ra_Advanced options":"Op\xE7\xF5es avan\xE7adas","ra_All items are filtered out":"Todos os itens s\xE3o filtrados","ra_All objects":"Todos os objetos",ra_Append:"Acrescentar","ra_Append %s entries or replace existing?":"Acrescentar %s entradas ou substituir as existentes?","ra_Append or replace?":"Acrescentar ou substituir?","ra_Are you sure?":"Voc\xEA tem certeza?","ra_Auto (no custom columns)":"Auto (sem colunas personalizadas)","ra_Back to %s":"Voltar para %s","ra_Background image":"Imagem de fundo",ra_Cancel:"Cancelar","ra_Cannot add items with set filter":"N\xE3o \xE9 poss\xEDvel adicionar itens com filtro definido","ra_Cannot decode license":"N\xE3o \xE9 poss\xEDvel decodificar a licen\xE7a","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"N\xE3o \xE9 poss\xEDvel determinar a posi\xE7\xE3o: as configura\xE7\xF5es do sistema est\xE3o vazias e a detec\xE7\xE3o de GPS est\xE1 desativada no navegador",'ra_Cannot find "%s"':'N\xE3o foi poss\xEDvel encontrar "%s"','ra_Cannot read "%s"':'N\xE3o \xE9 poss\xEDvel ler "%s"',"ra_Cannot read licenses: %s":"N\xE3o \xE9 poss\xEDvel ler licen\xE7as: %s","ra_Cannot retrieve options, as instance is offline":"N\xE3o \xE9 poss\xEDvel recuperar op\xE7\xF5es, pois a inst\xE2ncia est\xE1 off-line","ra_Cannot update attribute, because not found in the object":"N\xE3o \xE9 poss\xEDvel atualizar o atributo, porque n\xE3o foi encontrado no objeto","ra_Cannot upload":"N\xE3o \xE9 poss\xEDvel fazer upload",ra_Categories:"Categorias","ra_Chained certificate":"certificado encadeado","ra_Change color theme":"Alterar tema de cores","ra_Changed from":"Mudou de","ra_Channel \u2192 State":"Canal \u2192 Estado","ra_Check license":"Verifique a licen\xE7a",ra_Checked:"Verificado",ra_Clear:"Excluir","ra_Clear filter":"Filtro limpo","ra_Clear icon":"\xCDcone de limpeza","ra_Clone current row":"Clonar linha atual",ra_Close:"Perto","ra_Collapse all nodes":"Recolher todos os n\xF3s","ra_Collapse one step node":"Recolher um n\xEDvel",ra_Commercial:"Comercial",ra_Configure:"Configurar","ra_Configure visible columns":"Configurar colunas vis\xEDveis","ra_Confirm deletion of %s":"Confirme a exclus\xE3o de %s",ra_Connected:"Conectado",ra_Copied:"Copiado","ra_Copied %s":'"%s" copiado',"ra_Copy content":"Copiar conte\xFAdo",ra_Create:"Crio","ra_Create alias":"Criar alias","ra_Create folder":"Criar pasta","ra_Create new folder in %s":"Crie uma nova pasta em %s",ra_Crop:"Colheita","ra_Define CRON...":"Defina CRON...","ra_Define functions":"Definir fun\xE7\xF5es","ra_Define rooms":"Definir quartos","ra_Define schedule":"Definir cronograma","ra_Define schedule...":"Definir programa\xE7\xE3o ...",ra_Del:"Delete",ra_Delete:"Excluir","ra_Delete (no confirm for 5 mins)":"Excluir (sem confirma\xE7\xE3o por 5 minutos)","ra_Delete current row":"Excluir linha atual","ra_Deselect all":"Desmarque todos","ra_Device \u2192 Channel \u2192 State":"Dispositivo \u2192 Canal \u2192 Estado",ra_Discard:"Descartar",ra_Disconnected:"Desconectado","ra_Do not export values of states":"N\xE3o exporte valores de estados","ra_Do not use let's encrypt":"N\xE3o use vamos criptografar","ra_Double click to reset table layout":"Clique duas vezes para redefinir o layout da tabela","ra_Drag 'n' drop some files here, or click to select files":"Arraste e solte alguns arquivos aqui ou clique para selecionar arquivos","ra_Drop file here":"Solte o arquivo aqui","ra_Drop the files here...":"Solte o arquivo aqui ...","ra_Duplicate name":"Nome duplicado","ra_Edit ACL":"Editar ACL","ra_Edit alias":"Editar alias","ra_Edit custom config":"Editar configura\xE7\xE3o personalizada","ra_Edit function":"Fun\xE7\xE3o de edi\xE7\xE3o","ra_Edit object field":"Editar campo de objeto","ra_Edit role":"Editar papel","ra_Edit room":"Sala de edi\xE7\xE3o","ra_Edit value":"Editar valor",ra_Error:"Erro","ra_Expand all nodes":"Expanda todos os n\xF3s","ra_Expand one step node":"Expanda um n\xEDvel","ra_Export data to %s file":"Exportar dados para o arquivo %s","ra_Failed to open JSON File":"Falha ao abrir arquivo JSON","ra_Fallback custom certificates":"Certificados personalizados alternativos","ra_File is too big. Max %sk allowed. Try use SVG.":"O arquivo \xE9 muito grande. Max %sk permitido. Tente usar SVG.",ra_Filter:"Filtro","ra_Filter files":"Filtrar arquivos","ra_Folder name":"Nome da pasta","ra_Folder \u2192 Channel \u2192 State":"Pasta \u2192 Canal \u2192 Estado","ra_Folder \u2192 Device \u2192 Channel \u2192 State":"Pasta \u2192 Dispositivo \u2192 Canal \u2192 Estado","ra_Folder \u2192 State":"Pasta \u2192 Estado","ra_Folders always first":"Pastas sempre primeiro",ra_Friday:"Sexta-feira","ra_Good luck":"Boa sorte","ra_Hide empty folders":"Esconder pastas vazias","ra_If no file will be created in the folder, it will disappear after the browser closed":"Se nenhum arquivo for criado na pasta, ele desaparecer\xE1 depois que o navegador for fechado","ra_Import data from %s file":"Importar dados do arquivo %s","ra_Import from %s":"Importar de %s","ra_Instance %s is alive":"O %s da inst\xE2ncia est\xE1 ativo","ra_Instance %s is not alive":"O %s da inst\xE2ncia n\xE3o est\xE1 ativo","ra_Instance is not alive":"A inst\xE2ncia n\xE3o est\xE1 ativa","ra_Invalid CRON":"CRON inv\xE1lido","ra_Invalid JSON":"JSON inv\xE1lido","ra_Invalid answer from server":"Resposta inv\xE1lida do servidor","ra_Invalid parent folder!":"Pasta pai inv\xE1lida!","ra_Invalid structure":"Estrutura inv\xE1lida","ra_JSON editor":"Editor JSON","ra_Last change":"\xDAltima mudan\xE7a",ra_Latitude:"Latitude","ra_License %s":"Licen\xE7a %s","ra_License agreement":"Contrato de licen\xE7a","ra_License does not exist":"A licen\xE7a n\xE3o existe","ra_License expired on %s":"A licen\xE7a expirou em %s",'ra_License for other product "%s"':'Licen\xE7a para outro produto "%s"',"ra_License is for version %s, but required version is %s.":"A licen\xE7a \xE9 para a vers\xE3o %s, mas a vers\xE3o necess\xE1ria \xE9 %s.","ra_License must be converted":"A licen\xE7a deve ser convertida para uma vers\xE3o mais recente. Voc\xEA pode faz\xEA-lo em seu perfil iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licen\xE7a n\xE3o encontrada no gerenciador de licen\xE7as. Deseja atualizar as licen\xE7as do iobroker.net?","ra_Listen on all IPs":"Ou\xE7a em todos os IPs","ra_Load configuration from file":"Carregar configura\xE7\xE3o do arquivo",ra_Longitude:"Longitude",'ra_May not trigger "updateLicenses"':'Pode n\xE3o acionar "updateLicenses"',ra_Message:"mensagem",ra_Monday:"Segunda-feira","ra_Move down":"Mover para baixo","ra_Move up":"Subir",ra_Name:"Nome","ra_No data found in file":"Nenhum dado encontrado no arquivo","ra_No one license found in license manager":"Nenhuma licen\xE7a encontrada no gerenciador de licen\xE7as","ra_No response from the backend":"Nenhuma resposta do backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Os n\xE3o especialistas podem criar novos objetos apenas em "0_userdata.0" ou "alias.0".',"ra_Not a number":"N\xE3o \xE9 um n\xFAmero",ra_Objects:"Objetos",ra_Ok:"Est\xE1 bem","ra_On weekdays":"Nos dias \xFAteis","ra_Only following structures of objects are available:":"Apenas as seguintes estruturas de objetos est\xE3o dispon\xEDveis:","ra_Only selected":"Apenas selecionado","ra_Owner group":"Grupo propriet\xE1rio","ra_Owner user":"Usu\xE1rio propriet\xE1rio","ra_Passwords are not equal!":"As senhas n\xE3o s\xE3o iguais!","ra_Place your files here or click here to open the browse dialog":"Coloque seus arquivos aqui ou clique aqui para abrir a janela de navega\xE7\xE3o","ra_Please confirm":"Por favor confirme","ra_Please create license":"Crie uma licen\xE7a","ra_Please enter the license":"Por favor, insira a licen\xE7a","ra_Please select file...":"Selecione o arquivo...","ra_Please select object ID...":"Selecione o ID do objeto ...","ra_Port could be used by %s":"A porta pode ser usada por %s","ra_Port is already used by %s":"A porta j\xE1 est\xE1 sendo usada por %s","ra_Private certificate":"certificado privado",ra_Product:"produtos","ra_Public certificate":"certificado p\xFAblico","ra_Quality code":"Qualidade","ra_Refresh tree":"Atualizar \xE1rvore","ra_Reload files":"Recarregar arquivos",ra_Repeat:"Repita",ra_Replace:"Substituir","ra_Request timed out":"Solicita\xE7\xE3o expirou","ra_Restrict to folder":"Restringir \xE0 pasta",ra_Root:"Raiz",ra_Saturday:"S\xE1bado",ra_Save:"Salve \uE051","ra_Save and close":"Salvar e fechar","ra_Save configuration to file":"Salvar configura\xE7\xE3o em arquivo","ra_Save objects tree as JSON file":"Salvar \xE1rvore de objetos como arquivo JSON","ra_Select all":"Selecionar tudo","ra_Select color":"Selecione a cor","ra_Select predefined icon":"Selecione o \xEDcone predefinido","ra_Select type of export":"Selecione o tipo de exporta\xE7\xE3o",ra_Selected:"Selecionado","ra_Selected %s object(s)":"%s objeto(s) selecionado(s)","ra_Serial number (UUID)":"N\xFAmero de s\xE9rie (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'O n\xFAmero de s\xE9rie (UUID) "%s" na licen\xE7a \xE9 para outro dispositivo.',"ra_Show all folders":"Mostrar todas as pastas","ra_Show lines between rows":"Mostrar linhas entre as linhas","ra_Show/Hide object descriptions":"Mostrar/ocultar descri\xE7\xF5es de objetos","ra_Show/hide filter input":"Mostrar/ocultar entrada de filtro","ra_Some data are not stored. Discard?":"Alguns dados n\xE3o s\xE3o armazenados. Descartar?",ra_States:"Estados","ra_Suitable license not found in license manager":"Licen\xE7a adequada n\xE3o encontrada no gerenciador de licen\xE7as",ra_Sunday:"Domingo","ra_Suppress question for next %s minutes":"Suprimir pergunta nos pr\xF3ximos %s minutos","ra_System language":"Idioma do sistema","ra_Take browser position":"Tomar posi\xE7\xE3o do navegador","ra_Take position from system settings":"Tomar posi\xE7\xE3o a partir das configura\xE7\xF5es do sistema",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Os especialistas podem criar objetos em qualquer lugar, exceto no segundo n\xEDvel (por exemplo, "vis.0" ou "javascript.0").',"ra_The page you are looking for was not found":"A p\xE1gina que voc\xEA est\xE1 procurando n\xE3o foi encontrada","ra_The schedule will be executed every minute. Are you sure?":"O agendamento ser\xE1 executado a cada minuto. Tem certeza?","ra_The schedule will be executed every second. Are you sure?":"O agendamento ser\xE1 executado a cada segundo. Tem certeza?",ra_Thursday:"Quinta-feira",ra_Timestamp:"Timestamp","ra_Toggle expert mode":"Alternar modo especialista","ra_Toggle the states view":"Alternar a visualiza\xE7\xE3o dos estados","ra_Toggle view mode":"Alternar modo de visualiza\xE7\xE3o","ra_Too big":"Muito grande","ra_Too small":"Muito pequeno","ra_Transparent dialog":"Di\xE1logo transparente",ra_Tuesday:"Ter\xE7a-feira","ra_Unknown error":"Erro desconhecido","ra_Unknown error!":"Erro desconhecido!",ra_Update:"Atualizar","ra_Upload file":"Subir arquivo","ra_Use all available let's encrypt certificates":"Use todos os certificados dispon\xEDveis vamos criptografar","ra_Use iobroker.acme adapter for letsencrypt certificates":"Use o adaptador iobroker.acme para certificados letsencrypt","ra_Use system settings for position":"Use as configura\xE7\xF5es do sistema para a posi\xE7\xE3o","ra_Used system settings":"Configura\xE7\xF5es do sistema usadas","ra_User files":"Arquivos do usu\xE1rio",ra_ValidTill:"V\xE1lida at\xE9",ra_Value:"Valor",ra_Version:"Vers\xE3o","ra_View file":"Visualizar arquivo","ra_View: %s":"Visualizar: %s",ra_Wednesday:"Quarta-feira",ra_Width:"Largura",ra_Yes:"Sim","ra_You can export all objects or just the selected branch.":"Voc\xEA pode exportar todos os objetos ou apenas a ramifica\xE7\xE3o selecionada.","ra_You can filter entries by entering here some text":"Voc\xEA pode filtrar as entradas digitando aqui algum texto",ra___different__:"diferente",ra_aclEveryone_read_object:"Todos podem ler objetos",ra_aclEveryone_read_state:"Todos podem ler o estado",ra_aclEveryone_write_object:"Todos podem escrever objetos",ra_aclEveryone_write_state:"Todos podem escrever o estado",ra_aclGroup_read_object:"O grupo pode ler o objeto",ra_aclGroup_read_state:"O grupo pode ler o estado",ra_aclGroup_write_object:"O grupo pode escrever o objeto",ra_aclGroup_write_state:"O grupo pode escrever o estado",ra_aclOwner_read_object:"O propriet\xE1rio pode ler o objeto",ra_aclOwner_read_state:"O propriet\xE1rio pode ler o estado",ra_aclOwner_write_object:"O propriet\xE1rio pode escrever o objeto",ra_aclOwner_write_state:"O propriet\xE1rio pode escrever o estado",ra_buttons:"Bot\xF5es",ra_changedFrom:"Mudou de",ra_close:"fechar",ra_create_boolean_state:"Criar estado booleano",ra_create_channel:"Criar canal",ra_create_device:"Criar dispositivo",ra_create_number_state:"Criar estado num\xE9rico",ra_create_state:"Criar estado",ra_create_string_state:"Criar estado de string",ra_daysShortText:"d.",ra_dow_Fr:"Fr",ra_dow_Mo:"Mo",ra_dow_Sa:"Sa",ra_dow_Su:"Su",ra_dow_Th:"\xBA",ra_dow_Tu:"Tu",ra_dow_We:"N\xF3s",ra_expertMode:"Modo especialista",ra_fileType_all:"Todos os arquivos",ra_fileType_audio:"\xE1udio",ra_fileType_code:"C\xF3digo/JSON",ra_fileType_images:"Imagens",ra_fileType_txt:"Texto",ra_fileType_video:"V\xEDdeo","ra_fileType_video,":"V\xEDdeo",ra_filter_customs:"Configura\xE7\xF5es",ra_filter_customs_without:"sem",ra_filter_func:"Fun\xE7\xE3o",ra_filter_id:"ID",ra_filter_name:"Nome",ra_filter_role:"Papel (Fun\xE7\xE3o)",ra_filter_room:"Quarto",ra_filter_type:"Tipo","ra_import data from %s file":"Importar dados do arquivo %s",ra_invalidConfig:"Configura\xE7\xF5es inv\xE1lidas",ra_lastChange:"\xDAltima mudan\xE7a",ra_locally:"localmente",ra_month_Apr:"abril",ra_month_Aug:"agosto",ra_month_Dec:"dezembro",ra_month_Feb:"fevereiro",ra_month_Jan:"janeiro",ra_month_Jul:"julho",ra_month_Jun:"junho",ra_month_Mai:"Mai",ra_month_Mar:"mar\xE7o",ra_month_Nov:"novembro",ra_month_Oct:"outubro",ra_month_Sep:"setembro",ra_months_Apr:"abril",ra_months_Aug:"agosto",ra_months_Dec:"dezembro",ra_months_Feb:"fevereiro",ra_months_Jan:"janeiro",ra_months_Jul:"julho",ra_months_Jun:"junho",ra_months_Mai:"Mai",ra_months_Mar:"mar\xE7o",ra_months_Nov:"novembro",ra_months_Oct:"outubro",ra_months_Sep:"setembro",ra_none:"Nenhum",ra_object_changed_by:"Objeto alterado por",ra_object_changed_by_user:"Objeto alterado pela \xFAltima vez em",ra_otherConfig:"Configura\xE7\xF5es de outro adaptador %s",ra_qualityCode:"C\xF3digo de qualidade",ra_repeat:"repetir",ra_select_folder_hint:'Para selecionar a pasta, basta segurar a tecla "shift" clicando na pasta.',ra_state_changed_by:"Estado alterado por",ra_state_changed_from:"Objeto alterado de",ra_timestamp:"Timestamp",ra_tooltip_ack:"Confirmado",ra_tooltip_comment:"Comente",ra_tooltip_copyState:"Copie o valor do estado",ra_tooltip_customConfig:"Op\xE7\xF5es customizadas",ra_tooltip_deleteObject:"Excluir objeto",ra_tooltip_editObject:"Editar objeto",ra_tooltip_editState:"Edite o valor do estado",ra_tooltip_from:"De",ra_tooltip_lc:"\xDAltima altera\xE7\xE3o",ra_tooltip_quality:"Qualidade",ra_tooltip_ts:"Timestamp",ra_tooltip_user:"Usu\xE1rio",ra_tooltip_value:"Valor","ra_use seconds":"use segundos",ra_val:"Valor","ra_via internet":"via internet",ra_warning_every_minute:"Aviso: O trabalho CRON ser\xE1 executado a cada minuto durante o per\xEDodo especificado!",ra_warning_every_second:"Aviso: O trabalho CRON ser\xE1 executado a cada segundo durante o per\xEDodo especificado!",sc_cron:"CRON",sc_date:"Data",sc_dates:"Dias",sc_dow:"Dia",sc_dows:"Dia da semana",sc_every:"todos",sc_everyN_dates:"a cada N dias",sc_everyN_dow:"todo en\xE9simo dia da semana",sc_everyN_dows:"todos os N dias da semana",sc_everyN_hours:"a cada N horas",sc_everyN_minutes:"a cada N minutos",sc_everyN_months:"a cada N meses",sc_everyN_seconds:"a cada N segundos",sc_every_dates:"todo dia",sc_every_dow:"todos os dias da semana",sc_every_dows:"todos os dias da semana",sc_every_hours:"toda hora",sc_every_minutes:"todo minuto",sc_every_months:"todo m\xEAs",sc_every_seconds:"todo segundo",sc_from:"de",sc_hours:"horas",sc_interval:"intervalo",sc_intervalBetween:"intervalo entre",sc_invalid_cron:"CRON inv\xE1lido",sc_minutes:"minutos",sc_months:"meses",sc_once:"uma vez",sc_period:"per\xEDodo",sc_seconds:"segundos",sc_simple:"simples",sc_specific:"tempo espec\xEDfico",sc_specific_dates:"datas espec\xEDficas",sc_specific_dow:"dia(s) espec\xEDfico(s) da semana",sc_specific_dows:"dia espec\xEDfico de semanas",sc_specific_hours:"horas espec\xEDficas",sc_specific_minutes:"minutos espec\xEDficos",sc_specific_months:"meses espec\xEDficos",sc_specific_seconds:"segundos espec\xEDficos",sc_time:"tempo",sc_to:"para",sc_wizard:"assistente",sch_all:"tudo",sch_astroDay:"dia astral",sch_astroNight:"noite astral",sch_astro_dawn:"amanhecer",sch_astro_dusk:"anoitecer",sch_astro_goldenHour:"hora dourada",sch_astro_goldenHourEnd:"Fim da hora dourada",sch_astro_nadir:"nadir",sch_astro_nauticalDawn:"Amanhecer n\xE1utico",sch_astro_nauticalDusk:"Anoitecer n\xE1utico",sch_astro_night:"noite",sch_astro_nightEnd:"fim da noite",sch_astro_solarNoon:"meio-dia solar",sch_astro_sunrise:"nascer do sol",sch_astro_sunriseEnd:"fim do nascer do sol",sch_astro_sunset:"p\xF4r do sol",sch_astro_sunsetStart:"in\xEDcio do p\xF4r do sol",sch_at:"\xE0s",sch_desc_atTime:"em %s",sch_desc_everyDay:"todo dia",sch_desc_everyHour:"toda hora",sch_desc_everyMinute:"todo minuto",sch_desc_everyMonth:"todo m\xEAs",sch_desc_everyNDay:"a cada %s dias",sch_desc_everyNHours:"a cada %s horas",sch_desc_everyNMinutes:"a cada %s minutos",sch_desc_everyNMonths:"a cada %s meses",sch_desc_everyNWeeks:"a cada %s semanas",sch_desc_everyNYears:"a cada %s anos",sch_desc_everyWeek:"toda semana",sch_desc_everyYear:"todo ano",sch_desc_intervalFromTo:"de %s para %s",sch_desc_never:"nunca",sch_desc_onDate:"em %s de %s",sch_desc_onDates:"em %s e %s de",sch_desc_onEveryDate:"em toda data de",sch_desc_onMonth:"%s",sch_desc_onMonths:"%s e %s",sch_desc_onWeekday:"em %s",sch_desc_onWeekdays:"em %s e %s",sch_desc_onWeekends:"nos fins de semana",sch_desc_onWorkdays:"em dias \xFAteis",sch_desc_onceInPast:"n\xE3o ser\xE1 mais executado, porque o come\xE7o est\xE1 no passado",sch_desc_once_on:"em %s",sch_desc_validFrom:"de %s",sch_desc_validFromTo:"Executar de at\xE9",sch_desc_validTo:"at\xE9 %s",sch_every:"cada",sch_exactTime:"tempo espec\xEDfico",sch_from:"de",sch_fromTo:"de a\xB4t",sch_intervalTime:"tempo de intervalo",sch_invert:"invertido",sch_no_one:"nenhum",sch_on:"em",sch_period:"per\xEDodo",sch_periodDaily:"diariamente",sch_periodDates:"datas",sch_periodDay:"dia",sch_periodEvery:"todos",sch_periodEveryDay:"todo dia",sch_periodEveryMonth:"todo m\xEAs",sch_periodEveryWeek:"toda semana",sch_periodEveryYear:"todo ano",sch_periodHours:"horas",sch_periodMinutes:"minutos",sch_periodMonth:"m\xEAs",sch_periodMonthly:"por m\xEAs",sch_periodOnce:"uma vez",sch_periodSpecificMonths:"meses espec\xEDficos",sch_periodWeek:"semana",sch_periodWeekdays:"dias \xFAteis",sch_periodWeekend:"final de semana",sch_periodWeekly:"semanal",sch_periodWorkdays:"dias \xFAteis",sch_periodYear:"ano",sch_periodYearly:"anual",sch_specificTime:"tempo espec\xEDfico",sch_time:"tempo",sch_to:"para",sch_valid:"v\xE1lido",sch_validFrom:"de",sch_validTo:"para",sch_wholeDay:"dia inteiro",sch_yearEveryMonth:"todo m\xEAs"};var j9={"ra_%s links from aliases":"%s links van aliassen","ra_%s object(s) processed":"%s object(en) verwerkt","ra_%s was imported":"%s is ge\xEFmporteerd","ra_Accept license":"Accepteer licentie","ra_Add new child object to selected parent":"Voeg een nieuw kindobject toe aan het geselecteerde bovenliggende object","ra_Add objects tree from JSON file":"Objectenboom toevoegen vanuit JSON-bestand","ra_Add row":"Voeg een rij toe","ra_Advanced options":"Geavanceerde mogelijkheden","ra_All items are filtered out":"Alle items zijn uitgefilterd","ra_All objects":"Alle objecten",ra_Append:"toevoegen","ra_Append %s entries or replace existing?":"%s ingangen toevoegen of bestaande vervangen?","ra_Append or replace?":"Toevoegen of vervangen?","ra_Are you sure?":"Weet je het zeker?","ra_Auto (no custom columns)":"Auto (geen aangepaste kolommen)","ra_Back to %s":"Terug naar %s","ra_Background image":"Achtergrond afbeelding",ra_Cancel:"Annuleer","ra_Cannot add items with set filter":"Kan geen items toevoegen met ingestelde filter","ra_Cannot decode license":"Kan licentie niet decoderen","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Kan positie niet bepalen: systeeminstellingen zijn leeg en GPS-detectie is uitgeschakeld in browser",'ra_Cannot find "%s"':'Kan "%s" niet vinden','ra_Cannot read "%s"':'Kan "%s" niet lezen',"ra_Cannot read licenses: %s":"Kan licenties niet lezen: %s","ra_Cannot retrieve options, as instance is offline":"Kan opties niet ophalen, omdat instantie offline is","ra_Cannot update attribute, because not found in the object":"Kan kenmerk niet bijwerken, omdat het niet in het object is gevonden","ra_Cannot upload":"Kan niet uploaden",ra_Categories:"Categorie\xEBn","ra_Chained certificate":"Geketend certificaat","ra_Change color theme":"Kleurthema wijzigen","ra_Changed from":"Veranderd van","ra_Channel \u2192 State":"Kanaal \u2192 Staat","ra_Check license":"Licentie controleren",ra_Checked:"Gecontroleerd",ra_Clear:"Verwijderen","ra_Clear filter":"Filter wissen","ra_Clear icon":"Pictogram wissen","ra_Clone current row":"Kloon de huidige rij",ra_Close:"Dichtbij","ra_Collapse all nodes":"Vouw alle knooppunten samen","ra_Collapse one step node":"E\xE9n niveau samenvouwen",ra_Commercial:"Reclame",ra_Configure:"Configureren","ra_Configure visible columns":"Configureer zichtbare kolommen","ra_Confirm deletion of %s":"Bevestig het verwijderen van %s",ra_Connected:"Verbonden",ra_Copied:"Gekopieerd","ra_Copied %s":'"%s" gekopieerd',"ra_Copy content":"Inhoud kopi\xEBren",ra_Create:"Cre\xEBer","ra_Create alias":"Alias maken","ra_Create folder":"Map aanmaken","ra_Create new folder in %s":"Maak een nieuwe map in %s",ra_Crop:"Bijsnijden","ra_Define CRON...":"Definieer CRON...","ra_Define functions":"Definieer functies","ra_Define rooms":"Definieer kamers","ra_Define schedule":"Definieer schema","ra_Define schedule...":"Schema defini\xEBren ...",ra_Del:"Delete",ra_Delete:"Verwijderen","ra_Delete (no confirm for 5 mins)":"Verwijderen (geen bevestiging gedurende 5 minuten)","ra_Delete current row":"Huidige rij verwijderen","ra_Deselect all":"Deselecteer alles","ra_Device \u2192 Channel \u2192 State":"Apparaat \u2192 Kanaal \u2192 Staat",ra_Discard:"Weggooien",ra_Disconnected:"Verbinding verbroken","ra_Do not export values of states":"Exporteer geen waarden van staten","ra_Do not use let's encrypt":"Gebruik geen let's encrypt","ra_Double click to reset table layout":"Dubbelklik om de tafelindeling te resetten","ra_Drag 'n' drop some files here, or click to select files":"Sleep enkele bestanden hierheen, of klik om bestanden te selecteren","ra_Drop file here":"Zet het bestand hier neer","ra_Drop the files here...":"Zet het bestand hier neer...","ra_Duplicate name":"Dubbele naam","ra_Edit ACL":"ACL bewerken","ra_Edit alias":"Alias bewerken","ra_Edit custom config":"Bewerk aangepaste config","ra_Edit function":"Bewerkingsfunctie","ra_Edit object field":"Bewerk objectveld","ra_Edit role":"Rol bewerken","ra_Edit room":"Kamer bewerken","ra_Edit value":"Waarde bewerken",ra_Error:"Fout","ra_Expand all nodes":"Vouw alle knooppunten uit","ra_Expand one step node":"Vouw een niveau uit","ra_Export data to %s file":"Exporteer gegevens naar %s bestand","ra_Failed to open JSON File":"JSON-bestand kan niet worden geopend","ra_Fallback custom certificates":"Fallback aangepaste certificaten","ra_File is too big. Max %sk allowed. Try use SVG.":"Bestand is te groot. Max. %sk toegestaan. Probeer SVG te gebruiken.",ra_Filter:"Filter","ra_Filter files":"Bestanden filteren","ra_Folder name":"Naam van de map","ra_Folder \u2192 Channel \u2192 State":"Map \u2192 Kanaal \u2192 Staat","ra_Folder \u2192 Device \u2192 Channel \u2192 State":"Map \u2192 Apparaat \u2192 Kanaal \u2192 Staat","ra_Folder \u2192 State":"Map \u2192 Staat","ra_Folders always first":"Mappen altijd eerst",ra_Friday:"Vrijdag","ra_Good luck":"Veel geluk","ra_Hide empty folders":"Verberg lege mappen","ra_If no file will be created in the folder, it will disappear after the browser closed":"Als er geen bestand in de map wordt gemaakt, verdwijnt het nadat de browser is gesloten","ra_Import data from %s file":"Importeer gegevens uit %s bestand","ra_Import from %s":"Importeren uit %s","ra_Instance %s is alive":"Instantie %s leeft","ra_Instance %s is not alive":"Instantie %s is niet actief","ra_Instance is not alive":"Instantie leeft niet","ra_Invalid CRON":"Ongeldige CRON","ra_Invalid JSON":"Ongeldige JSON","ra_Invalid answer from server":"Ongeldig antwoord van de server","ra_Invalid parent folder!":"Ongeldige bovenliggende map!","ra_Invalid structure":"Ongeldige structuur","ra_JSON editor":"JSON-editor","ra_Last change":"Laatste wijziging",ra_Latitude:"Breedtegraad","ra_License %s":"Licentie %s","ra_License agreement":"Licentieovereenkomst","ra_License does not exist":"Licentie bestaat niet","ra_License expired on %s":"Licentie verlopen op %s",'ra_License for other product "%s"':'Licentie voor ander product "%s"',"ra_License is for version %s, but required version is %s.":"Licentie is voor versie %s, maar vereiste versie is %s.","ra_License must be converted":"Licentie moet worden omgezet naar nieuwere versie. U kunt dit doen in uw iobroker.net-profiel.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licentie niet gevonden in licentiebeheer. Wilt u licenties van iobroker.net bijwerken?","ra_Listen on all IPs":"Luister op alle IP's","ra_Load configuration from file":"Laad configuratie uit bestand",ra_Longitude:"Lengtegraad",'ra_May not trigger "updateLicenses"':'Activeert mogelijk niet "updateLicenses"',ra_Message:"Bericht",ra_Monday:"Maandag","ra_Move down":"Naar beneden verplaatsen","ra_Move up":"Omhoog gaan",ra_Name:"Naam","ra_No data found in file":"Geen gegevens gevonden in bestand","ra_No one license found in license manager":"Geen enkele licentie gevonden in licentiebeheer","ra_No response from the backend":"Geen reactie van de backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Niet-experts mogen alleen nieuwe objecten maken in "0_userdata.0" of "alias.0".',"ra_Not a number":"Geen nummer",ra_Objects:"Voorwerpen",ra_Ok:"OK","ra_On weekdays":"Op weekdagen","ra_Only following structures of objects are available:":"Alleen de volgende structuren van objecten zijn beschikbaar:","ra_Only selected":"Alleen geselecteerd","ra_Owner group":"Eigenaarsgroep","ra_Owner user":"Eigenaar gebruiker","ra_Passwords are not equal!":"Wachtwoorden zijn niet gelijk!","ra_Place your files here or click here to open the browse dialog":"Plaats uw bestanden hier of klik hier om het bladervenster te openen","ra_Please confirm":"Bevestig alstublieft","ra_Please create license":"Maak een licentie aan","ra_Please enter the license":"Voer de licentie in","ra_Please select file...":"Selecteer bestand...","ra_Please select object ID...":"Selecteer object-ID ...","ra_Port could be used by %s":"Poort kan worden gebruikt door %s","ra_Port is already used by %s":"Poort wordt al gebruikt door %s","ra_Private certificate":"Priv\xE9 certificaat",ra_Product:"Product","ra_Public certificate":"Openbaar certificaat","ra_Quality code":"Kwaliteit","ra_Refresh tree":"Vernieuw de boom","ra_Reload files":"Laad bestanden opnieuw",ra_Repeat:"Herhaling",ra_Replace:"Vervangen","ra_Request timed out":"Verzoek verlopen","ra_Restrict to folder":"Beperken tot map",ra_Root:"Wortel",ra_Saturday:"Zaterdag",ra_Save:"Sparen","ra_Save and close":"Opslaan en afsluiten","ra_Save configuration to file":"Sla de configuratie op in een bestand","ra_Save objects tree as JSON file":"Sla de objectenboom op als JSON-bestand","ra_Select all":"Selecteer alles","ra_Select color":"Selecteer kleur","ra_Select predefined icon":"Selecteer voorgedefinieerd pictogram","ra_Select type of export":"Selecteer het type export",ra_Selected:"Geselecteerd","ra_Selected %s object(s)":"Geselecteerde %s object(en)","ra_Serial number (UUID)":"Serienummer (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Serienummer (UUID) "%s" in licentie is voor ander apparaat.',"ra_Show all folders":"Toon alle mappen","ra_Show lines between rows":"Toon lijnen tussen rijen","ra_Show/Hide object descriptions":"Toon/verberg objectbeschrijvingen","ra_Show/hide filter input":"Filterinvoer weergeven/verbergen","ra_Some data are not stored. Discard?":"Sommige gegevens worden niet opgeslagen. Weggooien?",ra_States:"Staten","ra_Suitable license not found in license manager":"Geschikte licentie niet gevonden in licentiebeheer",ra_Sunday:"Zondag","ra_Suppress question for next %s minutes":"Vraag de volgende %s minuten onderdrukken","ra_System language":"Systeemtaal","ra_Take browser position":"Positie innemen vanuit de browser","ra_Take position from system settings":"Neem positie over van systeeminstellingen",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'De experts kunnen overal objecten maken, behalve vanaf het tweede niveau (bijv. "Vis.0" of "javascript.0").',"ra_The page you are looking for was not found":"De pagina die u zoekt is niet gevonden","ra_The schedule will be executed every minute. Are you sure?":"Het schema wordt elke minuut uitgevoerd. Weet u het zeker?","ra_The schedule will be executed every second. Are you sure?":"Het schema wordt elke seconde uitgevoerd. Weet je het zeker?",ra_Thursday:"Donderdag",ra_Timestamp:"Tijdstempel","ra_Toggle expert mode":"Schakel tussen expertmodus","ra_Toggle the states view":"Schakel de statusweergave in of uit","ra_Toggle view mode":"Schakelen tussen weergavemodus","ra_Too big":"Te groot","ra_Too small":"Te klein","ra_Transparent dialog":"Transparant dialoogvenster",ra_Tuesday:"Dinsdag","ra_Unknown error":"Onbekende fout","ra_Unknown error!":"Onbekende fout!",ra_Update:"Bijwerken","ra_Upload file":"Upload bestand","ra_Use all available let's encrypt certificates":"Gebruik alle beschikbare Let's Encrypt-certificaten","ra_Use iobroker.acme adapter for letsencrypt certificates":"Gebruik de iobroker.acme-adapter voor letsencrypt-certificaten","ra_Use system settings for position":"Gebruik systeeminstellingen voor positie","ra_Used system settings":"Gebruikte systeeminstellingen","ra_User files":"Gebruikersbestanden",ra_ValidTill:"Geldig tot",ra_Value:"Waarde",ra_Version:"Versie","ra_View file":"Bestand bekijken","ra_View: %s":"Bekijk: %s",ra_Wednesday:"Woensdag",ra_Width:"Breedte",ra_Yes:"Ja","ra_You can export all objects or just the selected branch.":"U kunt alle objecten of alleen de geselecteerde tak exporteren.","ra_You can filter entries by entering here some text":"U kunt items filteren door hier wat tekst in te voeren",ra___different__:"verschillend",ra_aclEveryone_read_object:"Iedereen kan object lezen",ra_aclEveryone_read_state:"Iedereen kan staat lezen",ra_aclEveryone_write_object:"Iedereen kan object schrijven",ra_aclEveryone_write_state:"Iedereen kan staat schrijven",ra_aclGroup_read_object:"Groep kan object lezen",ra_aclGroup_read_state:"Groep kan status lezen",ra_aclGroup_write_object:"Groep kan object schrijven",ra_aclGroup_write_state:"Groep kan staat schrijven",ra_aclOwner_read_object:"Eigenaar kan object lezen",ra_aclOwner_read_state:"Eigenaar kan staat lezen",ra_aclOwner_write_object:"Eigenaar kan object schrijven",ra_aclOwner_write_state:"Eigenaar kan staat schrijven",ra_buttons:"Toetsen",ra_changedFrom:"Veranderd van",ra_close:"dichtbij",ra_create_boolean_state:"Cre\xEBer een Booleaanse status",ra_create_channel:"Kanaal maken",ra_create_device:"Apparaat maken",ra_create_number_state:"Nummerstatus maken",ra_create_state:"Staat cre\xEBren",ra_create_string_state:"Tekenreeksstatus maken",ra_daysShortText:"d.",ra_dow_Fr:"Fr",ra_dow_Mo:"Mo",ra_dow_Sa:"Za",ra_dow_Su:"Zo",ra_dow_Th:"Th",ra_dow_Tu:"Tu",ra_dow_We:"Wij",ra_expertMode:"Expert modus",ra_fileType_all:"Alle bestanden",ra_fileType_audio:"Audio",ra_fileType_code:"Code/JSON",ra_fileType_images:"Afbeeldingen",ra_fileType_txt:"Tekst",ra_fileType_video:"Video","ra_fileType_video,":"Video",ra_filter_customs:"Instellingen",ra_filter_customs_without:"zonder",ra_filter_func:"Functie",ra_filter_id:"ID",ra_filter_name:"Naam",ra_filter_role:"Rol",ra_filter_room:"Kamer",ra_filter_type:"Type","ra_import data from %s file":"Importeer gegevens uit %s bestand",ra_invalidConfig:"Ongeldige instellingen",ra_lastChange:"Laatste wijziging",ra_locally:"plaatselijk",ra_month_Apr:"april",ra_month_Aug:"aug",ra_month_Dec:"dec",ra_month_Feb:"februari",ra_month_Jan:"jan",ra_month_Jul:"jul",ra_month_Jun:"juni",ra_month_Mai:"Mei",ra_month_Mar:"mrt",ra_month_Nov:"nov",ra_month_Oct:"Okt",ra_month_Sep:"sept",ra_months_Apr:"april",ra_months_Aug:"aug",ra_months_Dec:"dec",ra_months_Feb:"februari",ra_months_Jan:"jan",ra_months_Jul:"jul",ra_months_Jun:"juni",ra_months_Mai:"Mei",ra_months_Mar:"mrt",ra_months_Nov:"nov",ra_months_Oct:"Okt",ra_months_Sep:"sept",ra_none:"geen",ra_object_changed_by:"Object veranderd door",ra_object_changed_by_user:"Object voor het laatst gewijzigd om",ra_otherConfig:"Instellingen van andere adapter %s",ra_qualityCode:"Kwaliteitscode",ra_repeat:"herhalen",ra_select_folder_hint:'Om een map te selecteren, houdt u gewoon de toets "shift" ingedrukt door op de map te klikken.',ra_state_changed_by:"Staat veranderd door",ra_state_changed_from:"Object veranderd van",ra_timestamp:"Tijdstempel",ra_tooltip_ack:"Erkende vlag",ra_tooltip_comment:"Opmerking",ra_tooltip_copyState:"Kopieer de statuswaarde",ra_tooltip_customConfig:"Aangepaste instellingen",ra_tooltip_deleteObject:"Object verwijderen",ra_tooltip_editObject:"Object bewerken",ra_tooltip_editState:"Bewerk de statuswaarde",ra_tooltip_from:"Van",ra_tooltip_lc:"Laatst gewijzigd",ra_tooltip_quality:"Kwaliteit",ra_tooltip_ts:"Tijdstempel",ra_tooltip_user:"Gebruiker",ra_tooltip_value:"Waarde","ra_use seconds":"gebruik seconden",ra_val:"Waarde","ra_via internet":"via internet",ra_warning_every_minute:"Waarschuwing: De CRON-taak wordt elke minuut uitgevoerd gedurende de opgegeven periode!",ra_warning_every_second:"Waarschuwing: De CRON-taak wordt elke seconde uitgevoerd gedurende de opgegeven periode!",sc_cron:"CRON",sc_date:"Datum",sc_dates:"data",sc_dow:"Dag",sc_dows:"Dag van de week",sc_every:"elk",sc_everyN_dates:"elke N dagen",sc_everyN_dow:"elke N-de dag van de week",sc_everyN_dows:"elke N dag van de week",sc_everyN_hours:"elke N uur",sc_everyN_minutes:"elke N minuten",sc_everyN_months:"elke N maanden",sc_everyN_seconds:"elke N seconden",sc_every_dates:"elke dag",sc_every_dow:"elke dag van de week",sc_every_dows:"elke dag van de week",sc_every_hours:"elk uur",sc_every_minutes:"elke minuut",sc_every_months:"elke maand",sc_every_seconds:"elke seconde",sc_from:"Van",sc_hours:"uren",sc_interval:"Interval",sc_intervalBetween:"Interval tussen",sc_invalid_cron:"Ongeldige CRON",sc_minutes:"Notulen",sc_months:"maanden",sc_once:"Een keer",sc_period:"Periode",sc_seconds:"seconden",sc_simple:"Gemakkelijk",sc_specific:"Specifieke tijd",sc_specific_dates:"specifieke data",sc_specific_dow:"specifieke dag(en) van de week",sc_specific_dows:"specifieke dag van weken",sc_specific_hours:"specifieke uren",sc_specific_minutes:"specifieke minuten",sc_specific_months:"specifieke maanden",sc_specific_seconds:"specifieke seconden",sc_time:"Tijd",sc_to:"Naar",sc_wizard:"tovenaar",sch_all:"allemaal",sch_astroDay:"Astro-dag",sch_astroNight:"Astro-nacht",sch_astro_dawn:"Dageraad",sch_astro_dusk:"Schemer",sch_astro_goldenHour:"gouden uur",sch_astro_goldenHourEnd:"Gouden uur einde",sch_astro_nadir:"Nadir",sch_astro_nauticalDawn:"Nautische dageraad",sch_astro_nauticalDusk:"Nautische schemering",sch_astro_night:"Nacht",sch_astro_nightEnd:"Nacht einde",sch_astro_solarNoon:"Zonne middag",sch_astro_sunrise:"zonsopkomst",sch_astro_sunriseEnd:"Sunrise einde",sch_astro_sunset:"Zonsondergang",sch_astro_sunsetStart:"Zonsondergang start",sch_at:"Bij",sch_desc_atTime:"op %s",sch_desc_everyDay:"elke dag",sch_desc_everyHour:"elk uur",sch_desc_everyMinute:"elke minuut",sch_desc_everyMonth:"elke maand",sch_desc_everyNDay:"elke %s dag",sch_desc_everyNHours:"elke %s uur",sch_desc_everyNMinutes:"elke %s minuten",sch_desc_everyNMonths:"elke %s maanden",sch_desc_everyNWeeks:"elke %s weken",sch_desc_everyNYears:"elke %s jaar",sch_desc_everyWeek:"elke week",sch_desc_everyYear:"elk jaar",sch_desc_intervalFromTo:"van %s tot %s",sch_desc_never:"nooit",sch_desc_onDate:"op %s van %s",sch_desc_onDates:"op %s en %s van",sch_desc_onEveryDate:"op elke datum van",sch_desc_onMonth:"%s",sch_desc_onMonths:"%s en %s",sch_desc_onWeekday:"op %s",sch_desc_onWeekdays:"op %s en %s",sch_desc_onWeekends:"in het weekend",sch_desc_onWorkdays:"op werkdagen",sch_desc_onceInPast:"zal niet meer worden uitgevoerd, omdat start verleden tijd is",sch_desc_once_on:"op %s",sch_desc_validFrom:"van %s",sch_desc_validFromTo:"Uitvoeren van tot",sch_desc_validTo:"tot %s",sch_every:"elk",sch_exactTime:"Specifieke tijd",sch_from:"van",sch_fromTo:"Van naar",sch_intervalTime:"Interval tijd",sch_invert:"omkeren",sch_no_one:"geen",sch_on:"Aan",sch_period:"Periode",sch_periodDaily:"Dagelijks",sch_periodDates:"data",sch_periodDay:"Dag",sch_periodEvery:"elk",sch_periodEveryDay:"Elke dag",sch_periodEveryMonth:"Elke maand",sch_periodEveryWeek:"Elke week",sch_periodEveryYear:"Elk jaar",sch_periodHours:"uren",sch_periodMinutes:"Notulen",sch_periodMonth:"maand",sch_periodMonthly:"Maandelijks",sch_periodOnce:"Een keer",sch_periodSpecificMonths:"Specifieke maanden",sch_periodWeek:"Week",sch_periodWeekdays:"Doordeweekse dagen",sch_periodWeekend:"Weekend",sch_periodWeekly:"Wekelijks",sch_periodWorkdays:"werkdagen",sch_periodYear:"Jaar",sch_periodYearly:"jaar-",sch_specificTime:"Specifieke tijd",sch_time:"Tijd",sch_to:"naar",sch_valid:"Geldig",sch_validFrom:"van",sch_validTo:"naar",sch_wholeDay:"Hele dag",sch_yearEveryMonth:"elke maand"};var z9={"ra_%s links from aliases":"%s liens provenant d'alias","ra_%s object(s) processed":"%s objet(s) trait\xE9(s)","ra_%s was imported":"%s a \xE9t\xE9 import\xE9","ra_Accept license":"Accepter la licence","ra_Add new child object to selected parent":"Ajouter un nouvel objet enfant au parent s\xE9lectionn\xE9","ra_Add objects tree from JSON file":"Ajouter une arborescence d'objets \xE0 partir d'un fichier JSON","ra_Add row":"Ajouter une rang\xE9e","ra_Advanced options":"Options avanc\xE9es","ra_All items are filtered out":"Tous les \xE9l\xE9ments sont filtr\xE9s","ra_All objects":"Tous les objets",ra_Append:"Ajouter","ra_Append %s entries or replace existing?":"Ajouter %s entr\xE9es ou remplacer l'existant\xA0?","ra_Append or replace?":"Ajouter ou remplacer\xA0?","ra_Are you sure?":"\xCAtes-vous s\xFBr?","ra_Auto (no custom columns)":"Auto (pas de colonnes personnalis\xE9es)","ra_Back to %s":"Retour \xE0 %s","ra_Background image":"Image de fond",ra_Cancel:"Annuler","ra_Cannot add items with set filter":"Impossible d'ajouter des \xE9l\xE9ments avec le filtre d\xE9fini","ra_Cannot decode license":"Impossible de d\xE9coder la licence","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Impossible de d\xE9terminer la position\xA0: les param\xE8tres syst\xE8me sont vides et la d\xE9tection GPS est d\xE9sactiv\xE9e dans le navigateur",'ra_Cannot find "%s"':'Impossible de trouver "%s"','ra_Cannot read "%s"':'Impossible de lire "%s"',"ra_Cannot read licenses: %s":"Impossible de lire les licences\xA0: %s","ra_Cannot retrieve options, as instance is offline":"Impossible de r\xE9cup\xE9rer les options, car l'instance est hors ligne","ra_Cannot update attribute, because not found in the object":"Impossible de mettre \xE0 jour l'attribut, car il est introuvable dans l'objet","ra_Cannot upload":"Impossible de t\xE9l\xE9charger",ra_Categories:"Cat\xE9gories","ra_Chained certificate":"Certificat cha\xEEn\xE9","ra_Change color theme":"Changer le th\xE8me de couleur","ra_Changed from":"Chang\xE9 de","ra_Channel \u2192 State":"Canal \u2192 \xC9tat","ra_Check license":"V\xE9rifier la licence",ra_Checked:"V\xE9rifi\xE9",ra_Clear:"Effacer","ra_Clear filter":"Effacer le filtre","ra_Clear icon":"Effacer l'ic\xF4ne","ra_Clone current row":"Cloner la ligne actuelle",ra_Close:"Fermer","ra_Collapse all nodes":"R\xE9duire tous les n\u0153uds","ra_Collapse one step node":"R\xE9duire d'un niveau",ra_Commercial:"Commercial",ra_Configure:"Configurer","ra_Configure visible columns":"Configurer les colonnes visibles","ra_Confirm deletion of %s":"Confirmer la suppression de %s",ra_Connected:"Li\xE9",ra_Copied:"Copi\xE9","ra_Copied %s":'"%s" copi\xE9',"ra_Copy content":"Copier le contenu",ra_Create:"Cr\xE9er","ra_Create alias":"Cr\xE9er un alias","ra_Create folder":"Cr\xE9er le dossier","ra_Create new folder in %s":"Cr\xE9er un nouveau dossier dans %s",ra_Crop:"Recadrer","ra_Define CRON...":"D\xE9finir CRON...","ra_Define functions":"D\xE9finir des fonctions","ra_Define rooms":"D\xE9finir des pi\xE8ces","ra_Define schedule":"D\xE9finir le calendrier","ra_Define schedule...":"D\xE9finir le calendrier ...",ra_Del:"Delete",ra_Delete:"Supprimer","ra_Delete (no confirm for 5 mins)":"Supprimer (pas de confirmation pendant 5 minutes)","ra_Delete current row":"Supprimer la ligne actuelle","ra_Deselect all":"Tout d\xE9selectionner","ra_Device \u2192 Channel \u2192 State":"Appareil \u2192 Canal \u2192 \xC9tat",ra_Discard:"Jeter",ra_Disconnected:"D\xE9branch\xE9","ra_Do not export values of states":"Ne pas exporter les valeurs des \xE9tats","ra_Do not use let's encrypt":"Ne pas utiliser let's encrypt","ra_Double click to reset table layout":"Double-cliquez pour r\xE9initialiser la disposition du tableau","ra_Drag 'n' drop some files here, or click to select files":"Glissez-d\xE9posez des fichiers ici, ou cliquez pour s\xE9lectionner des fichiers","ra_Drop file here":"D\xE9poser le fichier ici","ra_Drop the files here...":"D\xE9posez le fichier ici...","ra_Duplicate name":"Nom en double","ra_Edit ACL":"Modifier la LCA","ra_Edit alias":"Modifier l'alias","ra_Edit custom config":"Modifier la configuration personnalis\xE9e","ra_Edit function":"Fonction d'\xE9dition","ra_Edit object field":"Modifier le champ d'objet","ra_Edit role":"Modifier le r\xF4le","ra_Edit room":"Modifier la salle","ra_Edit value":"Modifier la valeur",ra_Error:"Erreur","ra_Expand all nodes":"D\xE9velopper tous les n\u0153uds","ra_Expand one step node":"D\xE9velopper un niveau","ra_Export data to %s file":"Exporter les donn\xE9es vers le fichier %s","ra_Failed to open JSON File":"\xC9chec de l'ouverture du fichier JSON","ra_Fallback custom certificates":"Certificats personnalis\xE9s de secours","ra_File is too big. Max %sk allowed. Try use SVG.":"Le fichier est trop volumineux. Max %sk autoris\xE9. Essayez d'utiliser SVG.",ra_Filter:"Filtre","ra_Filter files":"Filtrer les fichiers","ra_Folder name":"Nom de dossier","ra_Folder \u2192 Channel \u2192 State":"Dossier \u2192 Cha\xEEne \u2192 \xC9tat","ra_Folder \u2192 Device \u2192 Channel \u2192 State":"Dossier \u2192 Appareil \u2192 Canal \u2192 \xC9tat","ra_Folder \u2192 State":"Dossier \u2192 \xC9tat","ra_Folders always first":"Les dossiers toujours en premier",ra_Friday:"Vendredi","ra_Good luck":"Bonne chance","ra_Hide empty folders":"Masquer les dossiers vides","ra_If no file will be created in the folder, it will disappear after the browser closed":"Si aucun fichier ne sera cr\xE9\xE9 dans le dossier, il dispara\xEEtra apr\xE8s la fermeture du navigateur","ra_Import data from %s file":"Importer des donn\xE9es \xE0 partir du fichier %s","ra_Import from %s":"Importer depuis %s","ra_Instance %s is alive":"L'instance %s est active","ra_Instance %s is not alive":"L'instance %s n'est pas active","ra_Instance is not alive":"L'instance n'est pas active","ra_Invalid CRON":"CRON invalide","ra_Invalid JSON":"JSON invalide","ra_Invalid answer from server":"R\xE9ponse invalide du serveur","ra_Invalid parent folder!":"Dossier parent non valide!","ra_Invalid structure":"Structure invalide","ra_JSON editor":"\xC9diteur JSON","ra_Last change":"Dernier changement",ra_Latitude:"Latitude","ra_License %s":"Licence %s","ra_License agreement":"Accord de licence","ra_License does not exist":"La licence n'existe pas","ra_License expired on %s":"Licence expir\xE9e le %s",'ra_License for other product "%s"':'Licence pour un autre produit "%s"',"ra_License is for version %s, but required version is %s.":"La licence est pour la version %s, mais la version requise est %s.","ra_License must be converted":"La licence doit \xEAtre convertie en une version plus r\xE9cente. Vous pouvez le faire dans votre profil iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licence introuvable dans le gestionnaire de licences. Voulez-vous mettre \xE0 jour les licences depuis iobroker.net\xA0?","ra_Listen on all IPs":"\xC9coutez sur toutes les adresses IP","ra_Load configuration from file":"Charger la configuration \xE0 partir du fichier",ra_Longitude:"Longitude",'ra_May not trigger "updateLicenses"':'Peut ne pas d\xE9clencher "updateLicences"',ra_Message:"Message",ra_Monday:"Lundi","ra_Move down":"Descendre","ra_Move up":"D\xE9placer vers le haut",ra_Name:"Nom","ra_No data found in file":"Aucune donn\xE9e trouv\xE9e dans le fichier","ra_No one license found in license manager":"Aucune licence trouv\xE9e dans le gestionnaire de licences","ra_No response from the backend":"Aucune r\xE9ponse du backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Les non-experts ne peuvent cr\xE9er de nouveaux objets que dans "0_userdata.0" ou "alias.0".',"ra_Not a number":"Pas un num\xE9ro",ra_Objects:"Objets",ra_Ok:"D'accord","ra_On weekdays":"En semaine","ra_Only following structures of objects are available:":"Seules les structures d'objets suivantes sont disponibles:","ra_Only selected":"Uniquement s\xE9lectionn\xE9","ra_Owner group":"Groupe propri\xE9taire","ra_Owner user":"Utilisateur propri\xE9taire","ra_Passwords are not equal!":"Les mots de passe ne sont pas \xE9gaux !","ra_Place your files here or click here to open the browse dialog":"Placez vos fichiers ici ou cliquez ici pour ouvrir la bo\xEEte de dialogue de navigation","ra_Please confirm":"Veuillez confirmer","ra_Please create license":"Veuillez cr\xE9er une licence","ra_Please enter the license":"Veuillez entrer la licence","ra_Please select file...":"Veuillez s\xE9lectionner le fichier...","ra_Please select object ID...":"Veuillez s\xE9lectionner l'ID d'objet ...","ra_Port could be used by %s":"Le port pourrait \xEAtre utilis\xE9 par %s","ra_Port is already used by %s":"Le port est d\xE9j\xE0 utilis\xE9 par %s","ra_Private certificate":"Certificat priv\xE9",ra_Product:"Produit","ra_Public certificate":"Certificat public","ra_Quality code":"Qualit\xE9","ra_Refresh tree":"Rafra\xEEchir l'arborescence","ra_Reload files":"Recharger les fichiers",ra_Repeat:"R\xE9p\xE9ter",ra_Replace:"Remplacer","ra_Request timed out":"La demande a expir\xE9","ra_Restrict to folder":"Restreindre au dossier",ra_Root:"Racine",ra_Saturday:"Samedi",ra_Save:"sauver","ra_Save and close":"Sauver et fermer","ra_Save configuration to file":"Enregistrer la configuration dans un fichier","ra_Save objects tree as JSON file":"Enregistrer l'arborescence des objets en tant que fichier JSON","ra_Select all":"Tout s\xE9lectionner","ra_Select color":"Choisissez la couleur","ra_Select predefined icon":"S\xE9lectionnez l'ic\xF4ne pr\xE9d\xE9finie","ra_Select type of export":"S\xE9lectionnez le type d'exportation",ra_Selected:"Choisi","ra_Selected %s object(s)":"Objet(s) %s s\xE9lectionn\xE9(s)","ra_Serial number (UUID)":"Num\xE9ro de s\xE9rie (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Le num\xE9ro de s\xE9rie (UUID) "%s" dans la licence est pour un autre appareil.',"ra_Show all folders":"Afficher tous les dossiers","ra_Show lines between rows":"Afficher les lignes entre les lignes","ra_Show/Hide object descriptions":"Afficher/Masquer les descriptions d'objets","ra_Show/hide filter input":"Afficher/masquer l'entr\xE9e de filtre","ra_Some data are not stored. Discard?":"Certaines donn\xE9es ne sont pas stock\xE9es. Jeter?",ra_States:"\xC9tats","ra_Suitable license not found in license manager":"Licence appropri\xE9e introuvable dans le gestionnaire de licences",ra_Sunday:"Dimanche","ra_Suppress question for next %s minutes":"Supprimer la question pour les %s prochaines minutes","ra_System language":"Langue du syst\xE8me","ra_Take browser position":"Prendre position depuis le navigateur","ra_Take position from system settings":"Prendre position \xE0 partir des param\xE8tres syst\xE8me",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Les experts peuvent cr\xE9er des objets partout mais \xE0 partir du deuxi\xE8me niveau (par exemple "vis.0" ou "javascript.0").',"ra_The page you are looking for was not found":"La page que vous recherchez n'a pas \xE9t\xE9 trouv\xE9e","ra_The schedule will be executed every minute. Are you sure?":"Le planning sera ex\xE9cut\xE9 toutes les minutes. \xCAtes-vous s\xFBr ?","ra_The schedule will be executed every second. Are you sure?":"Le planning sera ex\xE9cut\xE9 toutes les secondes. \xCAtes-vous s\xFBr ?",ra_Thursday:"Jeudi",ra_Timestamp:"Horodatage","ra_Toggle expert mode":"Basculer en mode expert","ra_Toggle the states view":"Basculer la vue des \xE9tats","ra_Toggle view mode":"Basculer le mode d'affichage","ra_Too big":"Trop grand","ra_Too small":"Trop petit","ra_Transparent dialog":"Dialogue transparent",ra_Tuesday:"Mardi","ra_Unknown error":"Erreur inconnue","ra_Unknown error!":"Erreur inconnue!",ra_Update:"Mise \xE0 jour","ra_Upload file":"T\xE9l\xE9verser un fichier","ra_Use all available let's encrypt certificates":"Utilisez tous les certificats let's encrypt disponibles","ra_Use iobroker.acme adapter for letsencrypt certificates":"Utiliser l'adaptateur iobroker.acme pour les certificats Letsencrypt","ra_Use system settings for position":"Utiliser les param\xE8tres syst\xE8me pour la position","ra_Used system settings":"Param\xE8tres syst\xE8me utilis\xE9s","ra_User files":"Fichiers utilisateurs",ra_ValidTill:"Valable jusqu'au",ra_Value:"Valeur",ra_Version:"Version","ra_View file":"Voir la fiche","ra_View: %s":"Affichage : %s",ra_Wednesday:"Mercredi",ra_Width:"Largeur",ra_Yes:"Oui","ra_You can export all objects or just the selected branch.":"Vous pouvez exporter tous les objets ou uniquement la branche s\xE9lectionn\xE9e.","ra_You can filter entries by entering here some text":"Vous pouvez filtrer les entr\xE9es en saisissant ici du texte",ra___different__:"diff\xE9rent",ra_aclEveryone_read_object:"Tout le monde peut lire un objet",ra_aclEveryone_read_state:"Tout le monde peut lire l'\xE9tat",ra_aclEveryone_write_object:"Tout le monde peut \xE9crire un objet",ra_aclEveryone_write_state:"Tout le monde peut \xE9crire l'\xE9tat",ra_aclGroup_read_object:"Le groupe peut lire l'objet",ra_aclGroup_read_state:"Le groupe peut lire l'\xE9tat",ra_aclGroup_write_object:"Le groupe peut \xE9crire un objet",ra_aclGroup_write_state:"Le groupe peut \xE9crire l'\xE9tat",ra_aclOwner_read_object:"Le propri\xE9taire peut lire l'objet",ra_aclOwner_read_state:"Le propri\xE9taire peut lire l'\xE9tat",ra_aclOwner_write_object:"Le propri\xE9taire peut \xE9crire un objet",ra_aclOwner_write_state:"Le propri\xE9taire peut \xE9crire l'\xE9tat",ra_buttons:"Boutons",ra_changedFrom:"Chang\xE9 de",ra_close:"Fermer",ra_create_boolean_state:"Cr\xE9er un \xE9tat bool\xE9en",ra_create_channel:"Cr\xE9er une cha\xEEne",ra_create_device:"Cr\xE9er un appareil",ra_create_number_state:"Cr\xE9er un \xE9tat de num\xE9ro",ra_create_state:"Cr\xE9er un \xE9tat",ra_create_string_state:"Cr\xE9er un \xE9tat de cha\xEEne",ra_daysShortText:"j.",ra_dow_Fr:"Fr",ra_dow_Mo:"Mo",ra_dow_Sa:"Sa",ra_dow_Su:"Su",ra_dow_Th:"Th",ra_dow_Tu:"Tu",ra_dow_We:"Nous",ra_expertMode:"Mode expert",ra_fileType_all:"Tous les fichiers",ra_fileType_audio:"l'audio",ra_fileType_code:"Code/JSON",ra_fileType_images:"Images",ra_fileType_txt:"Texte",ra_fileType_video:"Vid\xE9o","ra_fileType_video,":"Vid\xE9o",ra_filter_customs:"Param\xE8tres",ra_filter_customs_without:"sans",ra_filter_func:"Une fonction",ra_filter_id:"ID",ra_filter_name:"Pr\xE9nom",ra_filter_role:"R\xF4le",ra_filter_room:"Pi\xE8ce",ra_filter_type:"Type","ra_import data from %s file":"Importer des donn\xE9es \xE0 partir du fichier %s",ra_invalidConfig:"Param\xE8tres invalides",ra_lastChange:"Dernier changement",ra_locally:"localement",ra_month_Apr:"Avr",ra_month_Aug:"Ao\xFBt",ra_month_Dec:"D\xE9c",ra_month_Feb:"F\xE9v",ra_month_Jan:"Jan",ra_month_Jul:"Juil",ra_month_Jun:"Juin",ra_month_Mai:"Mai",ra_month_Mar:"Mar",ra_month_Nov:"Nov",ra_month_Oct:"Oct",ra_month_Sep:"Sep",ra_months_Apr:"Avr",ra_months_Aug:"Ao\xFBt",ra_months_Dec:"D\xE9c",ra_months_Feb:"F\xE9v",ra_months_Jan:"Jan",ra_months_Jul:"Juil",ra_months_Jun:"Juin",ra_months_Mai:"Mai",ra_months_Mar:"Mar",ra_months_Nov:"Nov",ra_months_Oct:"Oct",ra_months_Sep:"Sep",ra_none:"rien",ra_object_changed_by:"Objet modifi\xE9 par",ra_object_changed_by_user:"Objet modifi\xE9 pour la derni\xE8re fois \xE0",ra_otherConfig:"Param\xE8tres d'un autre adaptateur %s",ra_qualityCode:"Code de qualit\xE9",ra_repeat:"r\xE9p\xE9ter",ra_select_folder_hint:'Pour s\xE9lectionner un dossier, maintenez simplement la touche "shift" enfonc\xE9e en cliquant sur le dossier.',ra_state_changed_by:"\xC9tat modifi\xE9 par",ra_state_changed_from:"Objet chang\xE9 de",ra_timestamp:"Horodatage",ra_tooltip_ack:"Drapeau reconnu",ra_tooltip_comment:"Commentaire",ra_tooltip_copyState:"Copiez la valeur d'\xE9tat",ra_tooltip_customConfig:"Param\xE8tres personnalis\xE9s",ra_tooltip_deleteObject:"Supprimer un objet",ra_tooltip_editObject:"Modifier l'objet",ra_tooltip_editState:"Modifier la valeur d'\xE9tat",ra_tooltip_from:"De",ra_tooltip_lc:"Derni\xE8re modification",ra_tooltip_quality:"Qualit\xE9",ra_tooltip_ts:"Horodatage",ra_tooltip_user:"Utilisateur",ra_tooltip_value:"Valeur","ra_use seconds":"utiliser les secondes",ra_val:"Valeur","ra_via internet":"par Internet",ra_warning_every_minute:"Attention\xA0: la t\xE2che CRON s\u2019ex\xE9cutera toutes les minutes pendant la p\xE9riode sp\xE9cifi\xE9e\xA0!",ra_warning_every_second:"Attention\xA0: la t\xE2che CRON s\u2019ex\xE9cutera toutes les secondes pendant la p\xE9riode sp\xE9cifi\xE9e\xA0!",sc_cron:"CRON",sc_date:"Date",sc_dates:"Rendez-vous",sc_dow:"Jour",sc_dows:"Jour de la semaine",sc_every:"Chaque",sc_everyN_dates:"tous les N jours",sc_everyN_dow:"chaque Ni\xE8me jour de la semaine",sc_everyN_dows:"tous les N jours de la semaine",sc_everyN_hours:"toutes les N heures",sc_everyN_minutes:"toutes les N minutes",sc_everyN_months:"tous les N mois",sc_everyN_seconds:"toutes les N secondes",sc_every_dates:"tous les jours",sc_every_dow:"Chaque jour de la semaine",sc_every_dows:"Chaque jour de la semaine",sc_every_hours:"Toutes les heures",sc_every_minutes:"chaque minute",sc_every_months:"chaque mois",sc_every_seconds:"chaque seconde",sc_from:"De",sc_hours:"Heures",sc_interval:"Intervalle",sc_intervalBetween:"Intervalle entre",sc_invalid_cron:"CRON non valide",sc_minutes:"Minutes",sc_months:"mois",sc_once:"Une fois que",sc_period:"P\xE9riode",sc_seconds:"Secondes",sc_simple:"Facile",sc_specific:"Temps sp\xE9cifique",sc_specific_dates:"dates sp\xE9cifiques",sc_specific_dow:"jour(s) sp\xE9cifique(s) de la semaine",sc_specific_dows:"jour sp\xE9cifique de semaines",sc_specific_hours:"heures sp\xE9cifiques",sc_specific_minutes:"minutes sp\xE9cifiques",sc_specific_months:"mois sp\xE9cifiques",sc_specific_seconds:"secondes sp\xE9cifiques",sc_time:"Temps",sc_to:"\xC0",sc_wizard:"sorcier",sch_all:"tout",sch_astroDay:"Journ\xE9e astronomique",sch_astroNight:"Nuit astronomique",sch_astro_dawn:"Aube",sch_astro_dusk:"Cr\xE9puscule",sch_astro_goldenHour:"Heure d'or",sch_astro_goldenHourEnd:"Fin de l'heure d'or",sch_astro_nadir:"Nadir",sch_astro_nauticalDawn:"Aube nautique",sch_astro_nauticalDusk:"Cr\xE9puscule nautique",sch_astro_night:"Nuit",sch_astro_nightEnd:"Fin de nuit",sch_astro_solarNoon:"Midi solaire",sch_astro_sunrise:"lever du soleil",sch_astro_sunriseEnd:"Fin du lever du soleil",sch_astro_sunset:"Le coucher du soleil",sch_astro_sunsetStart:"Coucher du soleil",sch_at:"\xE0",sch_desc_atTime:"\xE0 %s",sch_desc_everyDay:"tous les jours",sch_desc_everyHour:"Toutes les heures",sch_desc_everyMinute:"chaque minute",sch_desc_everyMonth:"chaque mois",sch_desc_everyNDay:"chaque %s jour",sch_desc_everyNHours:"chaque %s heures",sch_desc_everyNMinutes:"toutes les %s minutes",sch_desc_everyNMonths:"tous les %s mois",sch_desc_everyNWeeks:"chaque %s semaines",sch_desc_everyNYears:"tous les %s ans",sch_desc_everyWeek:"toutes les semaines",sch_desc_everyYear:"chaque ann\xE9e",sch_desc_intervalFromTo:"de %s \xE0 %s",sch_desc_never:"jamais",sch_desc_onDate:"sur %s de %s",sch_desc_onDates:"sur %s et %s de",sch_desc_onEveryDate:"\xE0 chaque date de",sch_desc_onMonth:"%s",sch_desc_onMonths:"%s et %s",sch_desc_onWeekday:"sur %s",sch_desc_onWeekdays:"sur %s et %s",sch_desc_onWeekends:"les weekends",sch_desc_onWorkdays:"les jours ouvrables",sch_desc_onceInPast:"ne sera plus ex\xE9cut\xE9, car start est dans le pass\xE9",sch_desc_once_on:"sur %s",sch_desc_validFrom:"de %s",sch_desc_validFromTo:"Ex\xE9cuter de \xE0",sch_desc_validTo:"\xE0 %s",sch_every:"chaque",sch_exactTime:"Temps sp\xE9cifique",sch_from:"de",sch_fromTo:"De \xE0",sch_intervalTime:"Temps d'interval",sch_invert:"inverser",sch_no_one:"aucun",sch_on:"sur",sch_period:"P\xE9riode",sch_periodDaily:"du quotidien",sch_periodDates:"Rendez-vous",sch_periodDay:"journ\xE9e",sch_periodEvery:"Chaque",sch_periodEveryDay:"Tous les jours",sch_periodEveryMonth:"Chaque mois",sch_periodEveryWeek:"Toutes les semaines",sch_periodEveryYear:"Chaque ann\xE9e",sch_periodHours:"Heures",sch_periodMinutes:"Minutes",sch_periodMonth:"mois",sch_periodMonthly:"Mensuel",sch_periodOnce:"Une fois que",sch_periodSpecificMonths:"Mois sp\xE9cifiques",sch_periodWeek:"La semaine",sch_periodWeekdays:"Jours de la semaine",sch_periodWeekend:"Weekend",sch_periodWeekly:"Hebdomadaire",sch_periodWorkdays:"Jours ouvrables",sch_periodYear:"Ann\xE9e",sch_periodYearly:"Annuel",sch_specificTime:"Temps sp\xE9cifique",sch_time:"Temps",sch_to:"\xE0",sch_valid:"Valide",sch_validFrom:"de",sch_validTo:"\xE0",sch_wholeDay:"Toute la journ\xE9e",sch_yearEveryMonth:"chaque mois"};var W9={"ra_%s links from aliases":"%s link da alias","ra_%s object(s) processed":"%s oggetti elaborati","ra_%s was imported":"%s \xE8 stato importato","ra_Accept license":"Accetta licenza","ra_Add new child object to selected parent":"Aggiungi un nuovo oggetto figlio al genitore selezionato","ra_Add objects tree from JSON file":"Aggiungi l'albero degli oggetti dal file JSON","ra_Add row":"Aggiungi riga","ra_Advanced options":"Opzioni avanzate","ra_All items are filtered out":"Tutti gli elementi vengono filtrati","ra_All objects":"Tutti gli oggetti",ra_Append:"Aggiungere","ra_Append %s entries or replace existing?":"Aggiungi %s voci o sostituisci quelle esistenti?","ra_Append or replace?":"Aggiungere o sostituire?","ra_Are you sure?":"Sei sicuro?","ra_Auto (no custom columns)":"Auto (nessuna colonna personalizzata)","ra_Back to %s":"Torna a %s","ra_Background image":"Immagine di sfondo",ra_Cancel:"Annulla","ra_Cannot add items with set filter":"Impossibile aggiungere elementi con il filtro impostato","ra_Cannot decode license":"Impossibile decodificare la licenza","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Impossibile determinare la posizione: le impostazioni di sistema sono vuote e il rilevamento GPS \xE8 disabilitato nel browser",'ra_Cannot find "%s"':'Impossibile trovare "%s"','ra_Cannot read "%s"':'Impossibile leggere "%s"',"ra_Cannot read licenses: %s":"Impossibile leggere le licenze: %s","ra_Cannot retrieve options, as instance is offline":"Impossibile recuperare le opzioni, poich\xE9 l'istanza \xE8 offline","ra_Cannot update attribute, because not found in the object":"Impossibile aggiornare l'attributo, perch\xE9 non trovato nell'oggetto","ra_Cannot upload":"Impossibile caricare",ra_Categories:"Categorie","ra_Chained certificate":"Certificato incatenato","ra_Change color theme":"Cambia tema colore","ra_Changed from":"Cambiato da","ra_Channel \u2192 State":"Canale \u2192 Stato","ra_Check license":"Controlla la licenza",ra_Checked:"Controllato",ra_Clear:"Elimina","ra_Clear filter":"Filtro pulito","ra_Clear icon":"Cancella icona","ra_Clone current row":"Clona riga corrente",ra_Close:"Vicino","ra_Collapse all nodes":"Comprimi tutti i nodi","ra_Collapse one step node":"Comprimi un livello",ra_Commercial:"Commerciale",ra_Configure:"Configura","ra_Configure visible columns":"Configura colonne visibili","ra_Confirm deletion of %s":"Conferma l'eliminazione di %s",ra_Connected:"Collegato",ra_Copied:"Copiato","ra_Copied %s":'"%s" copiato',"ra_Copy content":"Copia contenuto",ra_Create:"Creare","ra_Create alias":"Crea alias","ra_Create folder":"Creare una cartella","ra_Create new folder in %s":"Crea nuova cartella in %s",ra_Crop:"Raccolto","ra_Define CRON...":"Definisci CRON...","ra_Define functions":"Definire le funzioni","ra_Define rooms":"Definisci le stanze","ra_Define schedule":"Definisci programma","ra_Define schedule...":"Definisci pianificazione ...",ra_Del:"Delete",ra_Delete:"Elimina","ra_Delete (no confirm for 5 mins)":"Elimina (nessuna conferma per 5 minuti)","ra_Delete current row":"Elimina la riga corrente","ra_Deselect all":"Deseleziona tutto","ra_Device \u2192 Channel \u2192 State":"Dispositivo \u2192 Canale \u2192 Stato",ra_Discard:"Scartare",ra_Disconnected:"Disconnesso","ra_Do not export values of states":"Non esportare i valori degli stati","ra_Do not use let's encrypt":"Non utilizzare crittografiamo","ra_Double click to reset table layout":"Fare doppio clic per ripristinare il layout della tabella","ra_Drag 'n' drop some files here, or click to select files":"Trascina e rilascia alcuni file qui o fai clic per selezionare i file","ra_Drop file here":"Trascina il file qui","ra_Drop the files here...":"Trascina qui il file...","ra_Duplicate name":"Nome duplicato","ra_Edit ACL":"Modifica ACL","ra_Edit alias":"Modifica alias","ra_Edit custom config":"Modifica configurazione personalizzata","ra_Edit function":"Funzione di modifica","ra_Edit object field":"Modifica campo oggetto","ra_Edit role":"Modifica ruolo","ra_Edit room":"Modifica stanza","ra_Edit value":"Modifica valore",ra_Error:"Errore","ra_Expand all nodes":"Espandi tutti i nodi","ra_Expand one step node":"Espandi un livello","ra_Export data to %s file":"Esporta i dati nel file %s","ra_Failed to open JSON File":"Impossibile aprire il file JSON","ra_Fallback custom certificates":"Certificati personalizzati di fallback","ra_File is too big. Max %sk allowed. Try use SVG.":"Il file \xE8 troppo grande. Max %sk consentito. Prova a usare SVG.",ra_Filter:"Filtro","ra_Filter files":"Filtra i file","ra_Folder name":"Nome della cartella","ra_Folder \u2192 Channel \u2192 State":"Cartella \u2192 Canale \u2192 Stato","ra_Folder \u2192 Device \u2192 Channel \u2192 State":"Cartella \u2192 Dispositivo \u2192 Canale \u2192 Stato","ra_Folder \u2192 State":"Cartella \u2192 Stato","ra_Folders always first":"Le cartelle sono sempre al primo posto",ra_Friday:"Venerd\xEC","ra_Good luck":"Buona fortuna","ra_Hide empty folders":"Nascondi cartelle vuote","ra_If no file will be created in the folder, it will disappear after the browser closed":"Se nessun file verr\xE0 creato nella cartella, scomparir\xE0 dopo la chiusura del browser","ra_Import data from %s file":"Importa i dati dal file %s","ra_Import from %s":"Importa da %s","ra_Instance %s is alive":"Il %s dell'istanza \xE8 vivo","ra_Instance %s is not alive":"Il TESTO dell'istanza non \xE8 vivo","ra_Instance is not alive":"L'istanza non \xE8 viva","ra_Invalid CRON":"CRON non valido","ra_Invalid JSON":"JSON non valido","ra_Invalid answer from server":"Risposta non valida dal server","ra_Invalid parent folder!":"Cartella principale non valida!","ra_Invalid structure":"Struttura non valida","ra_JSON editor":"Editor JSON","ra_Last change":"Ultima modifica",ra_Latitude:"Latitudine","ra_License %s":"Licenza %s","ra_License agreement":"Contratto di licenza","ra_License does not exist":"La licenza non esiste","ra_License expired on %s":"Licenza scaduta il %s",'ra_License for other product "%s"':'Licenza per altro prodotto "%s"',"ra_License is for version %s, but required version is %s.":"La licenza \xE8 per la versione %s, ma la versione richiesta \xE8 %s.","ra_License must be converted":"La licenza deve essere convertita in una versione pi\xF9 recente. Puoi farlo nel tuo profilo iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licenza non trovata nel gestore delle licenze. Vuoi aggiornare le licenze da iobroker.net?","ra_Listen on all IPs":"Ascolta su tutti gli IP","ra_Load configuration from file":"Carica la configurazione dal file",ra_Longitude:"Longitudine",'ra_May not trigger "updateLicenses"':'Potrebbe non attivare "updateLicenses"',ra_Message:"Messaggio",ra_Monday:"Lunedi","ra_Move down":"Abbassati","ra_Move up":"Andare avanti",ra_Name:"Nome","ra_No data found in file":"Nessun dato trovato nel file","ra_No one license found in license manager":"Nessuna licenza trovata nel gestore delle licenze","ra_No response from the backend":"Nessuna risposta dal backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'I non esperti possono creare nuovi oggetti solo in "0_userdata.0" o "alias.0".',"ra_Not a number":"Non un numero",ra_Objects:"Oggetti",ra_Ok:"Ok","ra_On weekdays":"Nei giorni della settimana","ra_Only following structures of objects are available:":"Sono disponibili solo le seguenti strutture di oggetti:","ra_Only selected":"Solo selezionato","ra_Owner group":"Gruppo di proprietari","ra_Owner user":"Utente proprietario","ra_Passwords are not equal!":"Le password non sono uguali!","ra_Place your files here or click here to open the browse dialog":"Posiziona i file qui o fai clic qui per aprire la finestra di dialogo Sfoglia","ra_Please confirm":"Si prega di confermare","ra_Please create license":"Si prega di creare la licenza","ra_Please enter the license":"Inserisci la licenza","ra_Please select file...":"Si prega di selezionare il file...","ra_Please select object ID...":"Seleziona l'ID oggetto ...","ra_Port could be used by %s":"La porta potrebbe essere utilizzata da %s","ra_Port is already used by %s":"La porta \xE8 gi\xE0 utilizzata da %s","ra_Private certificate":"Certificato privato",ra_Product:"Prodotto","ra_Public certificate":"Certificato pubblico","ra_Quality code":"Qualit\xE0","ra_Refresh tree":"Aggiorna l'albero","ra_Reload files":"Ricarica i file",ra_Repeat:"Ripetere",ra_Replace:"Sostituire","ra_Request timed out":"Tempo scaduto per la richiesta","ra_Restrict to folder":"Limita alla cartella",ra_Root:"Radice",ra_Saturday:"Sabato",ra_Save:"Salva","ra_Save and close":"Salva e chiudi","ra_Save configuration to file":"Salva la configurazione su file","ra_Save objects tree as JSON file":"Salva l'albero degli oggetti come file JSON","ra_Select all":"Seleziona tutto","ra_Select color":"Seleziona il colore","ra_Select predefined icon":"Seleziona l'icona predefinita","ra_Select type of export":"Seleziona il tipo di esportazione",ra_Selected:"Selezionato","ra_Selected %s object(s)":"%s oggetto/i selezionato/i","ra_Serial number (UUID)":"Numero di serie (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Il numero di serie (UUID) "%s" nella licenza \xE8 per un altro dispositivo.',"ra_Show all folders":"Mostra tutte le cartelle","ra_Show lines between rows":"Mostra linee tra le righe","ra_Show/Hide object descriptions":"Mostra/Nascondi le descrizioni degli oggetti","ra_Show/hide filter input":"Mostra/nascondi input filtro","ra_Some data are not stored. Discard?":"Alcuni dati non vengono memorizzati. Scartare?",ra_States:"stati","ra_Suitable license not found in license manager":"Licenza adatta non trovata nel gestore delle licenze",ra_Sunday:"Domenica","ra_Suppress question for next %s minutes":"Sopprimi la domanda per i prossimi %s minuti","ra_System language":"Linguaggio di sistema","ra_Take browser position":"Prendi posizione dal browser","ra_Take position from system settings":"Prendi posizione dalle impostazioni di sistema",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Gli esperti possono creare oggetti ovunque ma dal secondo livello (es. "Vis.0" o "javascript.0").',"ra_The page you are looking for was not found":"La pagina che stai cercando non \xE8 stata trovata","ra_The schedule will be executed every minute. Are you sure?":"La pianificazione verr\xE0 eseguita ogni minuto. Sei sicuro?","ra_The schedule will be executed every second. Are you sure?":"La pianificazione verr\xE0 eseguita ogni secondo. Sei sicuro?",ra_Thursday:"Gioved\xEC",ra_Timestamp:"Timestamp","ra_Toggle expert mode":"Attiva / disattiva la modalit\xE0 esperto","ra_Toggle the states view":"Attiva o disattiva la visualizzazione degli stati","ra_Toggle view mode":"Attiva / disattiva la modalit\xE0 di visualizzazione","ra_Too big":"Troppo grande","ra_Too small":"Troppo piccolo","ra_Transparent dialog":"Finestra di dialogo trasparente",ra_Tuesday:"Marted\xEC","ra_Unknown error":"Errore sconosciuto","ra_Unknown error!":"Errore sconosciuto!",ra_Update:"Aggiornare","ra_Upload file":"Caricare un file","ra_Use all available let's encrypt certificates":"Usa tutti i certificati Let's Encrypt disponibili","ra_Use iobroker.acme adapter for letsencrypt certificates":"Utilizzare l'adattatore iobroker.acme per i certificati letsencrypt","ra_Use system settings for position":"Usa le impostazioni di sistema per la posizione","ra_Used system settings":"Impostazioni di sistema utilizzate","ra_User files":"File utente",ra_ValidTill:"Valido fino a",ra_Value:"Valore",ra_Version:"Versione","ra_View file":"Vedi il file","ra_View: %s":"Visualizza: %s",ra_Wednesday:"Mercoled\xEC",ra_Width:"Larghezza",ra_Yes:"S\xCC","ra_You can export all objects or just the selected branch.":"Puoi esportare tutti gli oggetti o solo il ramo selezionato.","ra_You can filter entries by entering here some text":"Puoi filtrare le voci inserendo qui del testo",ra___different__:"diverso",ra_aclEveryone_read_object:"Tutti possono leggere gli oggetti",ra_aclEveryone_read_state:"Tutti possono leggere lo stato",ra_aclEveryone_write_object:"Tutti possono scrivere oggetti",ra_aclEveryone_write_state:"Tutti possono scrivere stato",ra_aclGroup_read_object:"Il gruppo pu\xF2 leggere l'oggetto",ra_aclGroup_read_state:"Il gruppo pu\xF2 leggere lo stato",ra_aclGroup_write_object:"Il gruppo pu\xF2 scrivere l'oggetto",ra_aclGroup_write_state:"Il gruppo pu\xF2 scrivere lo stato",ra_aclOwner_read_object:"Il proprietario pu\xF2 leggere l'oggetto",ra_aclOwner_read_state:"Il proprietario pu\xF2 leggere lo stato",ra_aclOwner_write_object:"Il proprietario pu\xF2 scrivere l'oggetto",ra_aclOwner_write_state:"Il proprietario pu\xF2 scrivere lo stato",ra_buttons:"Bottoni",ra_changedFrom:"Cambiato da",ra_close:"vicino",ra_create_boolean_state:"Crea uno stato booleano",ra_create_channel:"Crea canale",ra_create_device:"Crea dispositivo",ra_create_number_state:"Crea lo stato del numero",ra_create_state:"Crea stato",ra_create_string_state:"Crea lo stato della stringa",ra_daysShortText:"g.",ra_dow_Fr:"fr",ra_dow_Mo:"momento",ra_dow_Sa:"Sa",ra_dow_Su:"su",ra_dow_Th:"th",ra_dow_Tu:"Tu",ra_dow_We:"Noi",ra_expertMode:"Modalit\xE0 esperto",ra_fileType_all:"Tutti i files",ra_fileType_audio:"Audio",ra_fileType_code:"Codice/JSON",ra_fileType_images:"immagini",ra_fileType_txt:"Testo",ra_fileType_video:"video","ra_fileType_video,":"video",ra_filter_customs:"impostazioni",ra_filter_customs_without:"senza",ra_filter_func:"Funzione",ra_filter_id:"ID",ra_filter_name:"Nome",ra_filter_role:"Ruolo",ra_filter_room:"Camera",ra_filter_type:"genere","ra_import data from %s file":"Importa dati dal file %s",ra_invalidConfig:"Impostazioni non valide",ra_lastChange:"Ultima modifica",ra_locally:"localmente",ra_month_Apr:"apr",ra_month_Aug:"agosto",ra_month_Dec:"Dic",ra_month_Feb:"febbraio",ra_month_Jan:"gen",ra_month_Jul:"lug",ra_month_Jun:"giu",ra_month_Mai:"Mai",ra_month_Mar:"marzo",ra_month_Nov:"nov",ra_month_Oct:"ottobre",ra_month_Sep:"Sett",ra_months_Apr:"apr",ra_months_Aug:"agosto",ra_months_Dec:"Dic",ra_months_Feb:"febbraio",ra_months_Jan:"gen",ra_months_Jul:"lug",ra_months_Jun:"giu",ra_months_Mai:"Mai",ra_months_Mar:"marzo",ra_months_Nov:"nov",ra_months_Oct:"ottobre",ra_months_Sep:"Sett",ra_none:"nessuna",ra_object_changed_by:"Oggetto modificato da",ra_object_changed_by_user:"L'oggetto \xE8 stato modificato l'ultima volta alle",ra_otherConfig:"Impostazioni dall'altro adattatore %s",ra_qualityCode:"Codice di qualit\xE0",ra_repeat:"ripetere",ra_select_folder_hint:'Per selezionare la cartella, basta tenere premuto il tasto "shift" facendo clic sulla cartella.',ra_state_changed_by:"Stato cambiato da",ra_state_changed_from:"Oggetto cambiato da",ra_timestamp:"Timestamp",ra_tooltip_ack:"Bandiera riconosciuta",ra_tooltip_comment:"Commento",ra_tooltip_copyState:"Copia il valore dello stato",ra_tooltip_customConfig:"Impostazioni personalizzate",ra_tooltip_deleteObject:"Elimina oggetto",ra_tooltip_editObject:"Modifica oggetto",ra_tooltip_editState:"Modifica il valore dello stato",ra_tooltip_from:"A partire dal",ra_tooltip_lc:"Ultima modifica",ra_tooltip_quality:"Qualit\xE0",ra_tooltip_ts:"Data e ora",ra_tooltip_user:"Utente",ra_tooltip_value:"Valore","ra_use seconds":"usa i secondi",ra_val:"Valore","ra_via internet":"attraverso internet",ra_warning_every_minute:"Attenzione: il processo CRON verr\xE0 eseguito ogni minuto durante il periodo specificato!",ra_warning_every_second:"Attenzione: il processo CRON verr\xE0 eseguito ogni secondo durante il periodo specificato!",sc_cron:"CRON",sc_date:"Data",sc_dates:"Date",sc_dow:"Giorno",sc_dows:"Giorno della settimana",sc_every:"Ogni",sc_everyN_dates:"ogni N giorni",sc_everyN_dow:"ogni Nesimo giorno della settimana",sc_everyN_dows:"ogni N giorno della settimana",sc_everyN_hours:"ogni N ore",sc_everyN_minutes:"ogni N minuti",sc_everyN_months:"ogni N mesi",sc_everyN_seconds:"ogni N secondi",sc_every_dates:"ogni giorno",sc_every_dow:"Tutti i giorni della settimana",sc_every_dows:"Tutti i giorni della settimana",sc_every_hours:"ogni ora",sc_every_minutes:"ogni minuto",sc_every_months:"ogni mese",sc_every_seconds:"ogni secondo",sc_from:"A partire dal",sc_hours:"Ore",sc_interval:"Intervallo",sc_intervalBetween:"Intervallo tra",sc_invalid_cron:"CRON non valido",sc_minutes:"Minuti",sc_months:"mesi",sc_once:"Una volta",sc_period:"Periodo",sc_seconds:"secondi",sc_simple:"Semplice",sc_specific:"Orario preciso",sc_specific_dates:"date specifiche",sc_specific_dow:"giorno/i specifico/i della settimana",sc_specific_dows:"giorno specifico delle settimane",sc_specific_hours:"orari specifici",sc_specific_minutes:"minuti specifici",sc_specific_months:"mesi specifici",sc_specific_seconds:"secondi specifici",sc_time:"Tempo",sc_to:"Per",sc_wizard:"procedura guidata",sch_all:"tutti",sch_astroDay:"Astro day",sch_astroNight:"Astro night",sch_astro_dawn:"Alba",sch_astro_dusk:"Crepuscolo",sch_astro_goldenHour:"Ora d'oro",sch_astro_goldenHourEnd:"Fine dell'ora d'oro",sch_astro_nadir:"Nadir",sch_astro_nauticalDawn:"Alba nautica",sch_astro_nauticalDusk:"Crepuscolo nautico",sch_astro_night:"Notte",sch_astro_nightEnd:"Fine della notte",sch_astro_solarNoon:"Mezzogiorno solare",sch_astro_sunrise:"Alba",sch_astro_sunriseEnd:"Fine dell'alba",sch_astro_sunset:"Tramonto",sch_astro_sunsetStart:"Inizio del tramonto",sch_at:"a",sch_desc_atTime:"a %s",sch_desc_everyDay:"ogni giorno",sch_desc_everyHour:"ogni ora",sch_desc_everyMinute:"ogni minuto",sch_desc_everyMonth:"ogni mese",sch_desc_everyNDay:"ogni %s giorno",sch_desc_everyNHours:"ogni %s ore",sch_desc_everyNMinutes:"ogni %s minuti",sch_desc_everyNMonths:"ogni %s mesi",sch_desc_everyNWeeks:"ogni %s settimane",sch_desc_everyNYears:"ogni %s anni",sch_desc_everyWeek:"ogni settimana",sch_desc_everyYear:"ogni anno",sch_desc_intervalFromTo:"da %s a %s",sch_desc_never:"mai",sch_desc_onDate:"su %s di %s",sch_desc_onDates:"su %s e %s di",sch_desc_onEveryDate:"in ogni data di",sch_desc_onMonth:"%s",sch_desc_onMonths:"%s e %s",sch_desc_onWeekday:"su %s",sch_desc_onWeekdays:"su %s e %s",sch_desc_onWeekends:"nei finesettimana",sch_desc_onWorkdays:"nei giorni lavorativi",sch_desc_onceInPast:"non verr\xE0 pi\xF9 eseguito, perch\xE9 start \xE8 nel passato",sch_desc_once_on:"su %s",sch_desc_validFrom:"da %s",sch_desc_validFromTo:"Eseguire da a",sch_desc_validTo:"a %s",sch_every:"ogni",sch_exactTime:"Orario preciso",sch_from:"a partire dal",sch_fromTo:"Da A",sch_intervalTime:"Intervallo di tempo",sch_invert:"invertire",sch_no_one:"nessuna",sch_on:"sopra",sch_period:"Periodo",sch_periodDaily:"Quotidiano",sch_periodDates:"Date",sch_periodDay:"Giorno",sch_periodEvery:"Ogni",sch_periodEveryDay:"Ogni giorno",sch_periodEveryMonth:"Ogni mese",sch_periodEveryWeek:"Ogni settimana",sch_periodEveryYear:"Ogni anno",sch_periodHours:"Ore",sch_periodMinutes:"Minuti",sch_periodMonth:"mese",sch_periodMonthly:"Mensile",sch_periodOnce:"Una volta",sch_periodSpecificMonths:"Mesi specifici",sch_periodWeek:"Settimana",sch_periodWeekdays:"Giorni della settimana",sch_periodWeekend:"Fine settimana",sch_periodWeekly:"settimanalmente",sch_periodWorkdays:"giorni feriali",sch_periodYear:"Anno",sch_periodYearly:"Annuale",sch_specificTime:"Orario preciso",sch_time:"Tempo",sch_to:"per",sch_valid:"Valido",sch_validFrom:"a partire dal",sch_validTo:"per",sch_wholeDay:"Giorno intero",sch_yearEveryMonth:"ogni mese"};var U9={"ra_%s links from aliases":"%s enlaces de alias","ra_%s object(s) processed":"%s objeto(s) procesados","ra_%s was imported":"%s fue importado","ra_Accept license":"Aceptar licencia","ra_Add new child object to selected parent":"Agregar nuevo objeto hijo al padre seleccionado","ra_Add objects tree from JSON file":"Agregar \xE1rbol de objetos desde el archivo JSON","ra_Add row":"A\xF1adir fila","ra_Advanced options":"Opciones avanzadas","ra_All items are filtered out":"Todos los elementos se filtran","ra_All objects":"Todos los objetos",ra_Append:"Adjuntar","ra_Append %s entries or replace existing?":"\xBFAgregar %s entradas o reemplazar las existentes?","ra_Append or replace?":"\xBFAgregar o reemplazar?","ra_Are you sure?":"\xBFEst\xE1s seguro?","ra_Auto (no custom columns)":"Autom\xE1tico (sin columnas personalizadas)","ra_Back to %s":"Volver a %s","ra_Background image":"Imagen de fondo",ra_Cancel:"Cancelar","ra_Cannot add items with set filter":"No se pueden agregar elementos con el filtro establecido","ra_Cannot decode license":"No se puede decodificar la licencia","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"No se puede determinar la posici\xF3n: la configuraci\xF3n del sistema est\xE1 vac\xEDa y la detecci\xF3n de GPS est\xE1 deshabilitada en el navegador",'ra_Cannot find "%s"':'No se puede encontrar "%s"','ra_Cannot read "%s"':'No se puede leer "%s"',"ra_Cannot read licenses: %s":"No se pueden leer licencias: %s","ra_Cannot retrieve options, as instance is offline":"No se pueden recuperar las opciones, ya que la instancia est\xE1 fuera de l\xEDnea","ra_Cannot update attribute, because not found in the object":"No se puede actualizar el atributo porque no se encuentra en el objeto","ra_Cannot upload":"no se puede cargar",ra_Categories:"Categor\xEDas","ra_Chained certificate":"certificado encadenado","ra_Change color theme":"Cambiar tema de color","ra_Changed from":"Cambiaron desde","ra_Channel \u2192 State":"Canal \u2192 Estado","ra_Check license":"Verificar licencia",ra_Checked:"Comprobado",ra_Clear:"Borrar","ra_Clear filter":"Filtro claro","ra_Clear icon":"Icono claro","ra_Clone current row":"Clonar fila actual",ra_Close:"Cerca","ra_Collapse all nodes":"Contraer todos los nodos","ra_Collapse one step node":"Contraer un nivel",ra_Commercial:"Comercial",ra_Configure:"Configurar","ra_Configure visible columns":"Configurar columnas visibles","ra_Confirm deletion of %s":"Confirmar la eliminaci\xF3n de %s",ra_Connected:"Conectado",ra_Copied:"Copiado","ra_Copied %s":'Copiado "%s"',"ra_Copy content":"Copiar contenido",ra_Create:"Crear","ra_Create alias":"Crear alias","ra_Create folder":"Crear carpeta","ra_Create new folder in %s":"Crear nueva carpeta en %s",ra_Crop:"Cultivo","ra_Define CRON...":"Definir CRON...","ra_Define functions":"Definir funciones","ra_Define rooms":"Definir habitaciones","ra_Define schedule":"Definir horario","ra_Define schedule...":"Definir horario ...",ra_Del:"Delete",ra_Delete:"Eliminar","ra_Delete (no confirm for 5 mins)":"Eliminar (sin confirmar durante 5 minutos)","ra_Delete current row":"Eliminar fila actual","ra_Deselect all":"Deselecciona todo","ra_Device \u2192 Channel \u2192 State":"Dispositivo \u2192 Canal \u2192 Estado",ra_Discard:"Desechar",ra_Disconnected:"Desconectado","ra_Do not export values of states":"No exportar valores de estados.","ra_Do not use let's encrypt":"No use vamos a cifrar","ra_Double click to reset table layout":"Haga doble clic para restablecer el dise\xF1o de la tabla","ra_Drag 'n' drop some files here, or click to select files":"Arrastre y suelte algunos archivos aqu\xED, o haga clic para seleccionar archivos","ra_Drop file here":"Suelta el archivo aqu\xED","ra_Drop the files here...":"Suelta el archivo aqu\xED ...","ra_Duplicate name":"Nombre duplicado","ra_Edit ACL":"Editar LCA","ra_Edit alias":"Editar alias","ra_Edit custom config":"Editar configuraci\xF3n personalizada","ra_Edit function":"Funci\xF3n de edici\xF3n","ra_Edit object field":"Editar campo de objeto","ra_Edit role":"Editar rol","ra_Edit room":"Cuarto de edici\xF3n","ra_Edit value":"Editar valor",ra_Error:"Error","ra_Expand all nodes":"Expandir todos los nodos","ra_Expand one step node":"Expandir un nivel","ra_Export data to %s file":"Exportar datos al archivo %s","ra_Failed to open JSON File":"No se pudo abrir el archivo JSON","ra_Fallback custom certificates":"Certificados personalizados alternativos","ra_File is too big. Max %sk allowed. Try use SVG.":"El archivo es demasiado grande. M\xE1ximo de %sk permitido. Intenta usar SVG.",ra_Filter:"Filtrar","ra_Filter files":"Filtrar archivos","ra_Folder name":"Nombre de la carpeta","ra_Folder \u2192 Channel \u2192 State":"Carpeta \u2192 Canal \u2192 Estado","ra_Folder \u2192 Device \u2192 Channel \u2192 State":"Carpeta \u2192 Dispositivo \u2192 Canal \u2192 Estado","ra_Folder \u2192 State":"Carpeta \u2192 Estado","ra_Folders always first":"Carpetas siempre primero",ra_Friday:"Viernes","ra_Good luck":"Buena suerte","ra_Hide empty folders":"Ocultar carpetas vac\xEDas","ra_If no file will be created in the folder, it will disappear after the browser closed":"Si no se crear\xE1 ning\xFAn archivo en la carpeta, desaparecer\xE1 despu\xE9s de que se cierre el navegador.","ra_Import data from %s file":"Importar datos del archivo %s","ra_Import from %s":"Importar desde %s","ra_Instance %s is alive":"Instancia %s est\xE1 vivo","ra_Instance %s is not alive":"Instancia %s no est\xE1 vivo","ra_Instance is not alive":"La instancia no est\xE1 viva","ra_Invalid CRON":"CRON no v\xE1lido","ra_Invalid JSON":"JSON no v\xE1lido","ra_Invalid answer from server":"Respuesta inv\xE1lida del servidor","ra_Invalid parent folder!":"Carpeta principal no v\xE1lida.","ra_Invalid structure":"Estructura inv\xE1lida","ra_JSON editor":"editor JSON","ra_Last change":"Ultimo cambio",ra_Latitude:"Latitud","ra_License %s":"Licencia %s","ra_License agreement":"Acuerdo de licencia","ra_License does not exist":"La licencia no existe","ra_License expired on %s":"La licencia venci\xF3 el %s",'ra_License for other product "%s"':'Licencia para otro producto "%s"',"ra_License is for version %s, but required version is %s.":"La licencia es para la versi\xF3n %s, pero la versi\xF3n requerida es %s.","ra_License must be converted":"La licencia debe convertirse a una versi\xF3n m\xE1s reciente. Puedes hacerlo en tu perfil de iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licencia no encontrada en el administrador de licencias. \xBFQuieres actualizar las licencias de iobroker.net?","ra_Listen on all IPs":"Escuche en todas las IP","ra_Load configuration from file":"Cargar configuraci\xF3n desde archivo",ra_Longitude:"Longitud",'ra_May not trigger "updateLicenses"':'No puede activar "updateLicenses"',ra_Message:"Mensaje",ra_Monday:"Lunes","ra_Move down":"Mover hacia abajo","ra_Move up":"Ascender",ra_Name:"Nombre","ra_No data found in file":"No se encontraron datos en el archivo","ra_No one license found in license manager":"No se encontr\xF3 ninguna licencia en el administrador de licencias","ra_No response from the backend":"No hay respuesta del backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Los no expertos pueden crear nuevos objetos solo en "0_userdata.0" o "alias.0".',"ra_Not a number":"No un n\xFAmero",ra_Objects:"Objetos",ra_Ok:"Okay","ra_On weekdays":"De lunes a viernes","ra_Only following structures of objects are available:":"Solo est\xE1n disponibles las siguientes estructuras de objetos:","ra_Only selected":"Solo seleccionados","ra_Owner group":"Grupo propietario","ra_Owner user":"Usuario propietario","ra_Passwords are not equal!":"\xA1Las contrase\xF1as no son iguales!","ra_Place your files here or click here to open the browse dialog":"Coloque sus archivos aqu\xED o haga clic aqu\xED para abrir el cuadro de di\xE1logo de exploraci\xF3n","ra_Please confirm":"Por favor confirmar","ra_Please create license":"Por favor cree una licencia","ra_Please enter the license":"Por favor ingrese la licencia","ra_Please select file...":"Seleccione el archivo...","ra_Please select object ID...":"Por favor seleccione ID de objeto ...","ra_Port could be used by %s":"El puerto podr\xEDa ser utilizado por %s","ra_Port is already used by %s":"El puerto ya est\xE1 en uso por %s","ra_Private certificate":"certificado privado",ra_Product:"Producto","ra_Public certificate":"Certificado p\xFAblico","ra_Quality code":"Calidad","ra_Refresh tree":"Actualizar \xE1rbol","ra_Reload files":"Recargar archivos",ra_Repeat:"Repetir",ra_Replace:"Reemplazar","ra_Request timed out":"Tiempo de espera agotado","ra_Restrict to folder":"Restringir a carpeta",ra_Root:"Ra\xEDz",ra_Saturday:"S\xE1bado",ra_Save:"Salvar","ra_Save and close":"Guardar y cerrar","ra_Save configuration to file":"Guardar configuraci\xF3n en archivo","ra_Save objects tree as JSON file":"Guardar el \xE1rbol de objetos como archivo JSON","ra_Select all":"Seleccionar todo","ra_Select color":"Seleccionar el color","ra_Select predefined icon":"Seleccionar icono predefinido","ra_Select type of export":"Seleccione tipo de exportaci\xF3n",ra_Selected:"Seleccionado","ra_Selected %s object(s)":"%s objetos seleccionados","ra_Serial number (UUID)":"N\xFAmero de serie (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'El n\xFAmero de serie (UUID) "%s" en la licencia es para otro dispositivo.',"ra_Show all folders":"Mostrar todas las carpetas","ra_Show lines between rows":"Mostrar l\xEDneas entre filas","ra_Show/Hide object descriptions":"Mostrar/ocultar descripciones de objetos","ra_Show/hide filter input":"Mostrar/ocultar entrada de filtro","ra_Some data are not stored. Discard?":"Algunos datos no se almacenan. \xBFDesechar?",ra_States:"Estados","ra_Suitable license not found in license manager":"Licencia adecuada no encontrada en el administrador de licencias",ra_Sunday:"Domingo","ra_Suppress question for next %s minutes":"Suprimir pregunta durante los pr\xF3ximos %s minutos","ra_System language":"Lenguaje del sistema","ra_Take browser position":"Tomar posici\xF3n desde el navegador","ra_Take position from system settings":"Tomar posici\xF3n desde la configuraci\xF3n del sistema",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Los expertos pueden crear objetos en todas partes excepto desde el segundo nivel (por ejemplo, "vis.0" o "javascript.0").',"ra_The page you are looking for was not found":"No se encontr\xF3 la p\xE1gina que busca","ra_The schedule will be executed every minute. Are you sure?":"El cronograma se ejecutar\xE1 cada minuto. \xBFEst\xE1s seguro?","ra_The schedule will be executed every second. Are you sure?":"El cronograma se ejecutar\xE1 cada segundo. \xBFEst\xE1s seguro?",ra_Thursday:"Jueves",ra_Timestamp:"Marca de tiempo","ra_Toggle expert mode":"Alternar modo experto","ra_Toggle the states view":"Alternar la vista de estados","ra_Toggle view mode":"Alternar modo de vista","ra_Too big":"Demasiado grande","ra_Too small":"Demasiado peque\xF1a","ra_Transparent dialog":"Di\xE1logo transparente",ra_Tuesday:"Martes","ra_Unknown error":"Error desconocido","ra_Unknown error!":"\xA1Error desconocido!",ra_Update:"Actualizar","ra_Upload file":"Subir archivo","ra_Use all available let's encrypt certificates":"Utilice todos los certificados let's encrypt disponibles","ra_Use iobroker.acme adapter for letsencrypt certificates":"Use el adaptador iobroker.acme para los certificados de letsencrypt","ra_Use system settings for position":"Usar la configuraci\xF3n del sistema para la posici\xF3n","ra_Used system settings":"Configuraciones del sistema usadas","ra_User files":"Archivos de usuario",ra_ValidTill:"V\xE1lida hasta",ra_Value:"Valor",ra_Version:"Versi\xF3n","ra_View file":"Ver archivo","ra_View: %s":"Ver: %s",ra_Wednesday:"Mi\xE9rcoles",ra_Width:"Anchura",ra_Yes:"S\xED","ra_You can export all objects or just the selected branch.":"Puede exportar todos los objetos o solo la rama seleccionada.","ra_You can filter entries by entering here some text":"Puede filtrar las entradas ingresando aqu\xED alg\xFAn texto",ra___different__:"diferente",ra_aclEveryone_read_object:"Todo el mundo puede leer el objeto",ra_aclEveryone_read_state:"Todos pueden leer el estado",ra_aclEveryone_write_object:"Todos pueden escribir objetos",ra_aclEveryone_write_state:"Todos pueden escribir el estado",ra_aclGroup_read_object:"El grupo puede leer el objeto",ra_aclGroup_read_state:"El grupo puede leer el estado",ra_aclGroup_write_object:"El grupo puede escribir un objeto",ra_aclGroup_write_state:"El grupo puede escribir el estado",ra_aclOwner_read_object:"El propietario puede leer el objeto",ra_aclOwner_read_state:"El propietario puede leer el estado",ra_aclOwner_write_object:"El propietario puede escribir el objeto",ra_aclOwner_write_state:"El propietario puede escribir el estado",ra_buttons:"Botones",ra_changedFrom:"Cambiaron desde",ra_close:"cerrar",ra_create_boolean_state:"Crear estado booleano",ra_create_channel:"Crear canal",ra_create_device:"Crear dispositivo",ra_create_number_state:"Crear estado num\xE9rico",ra_create_state:"Crear estado",ra_create_string_state:"Crear estado de cadena",ra_daysShortText:"d.",ra_dow_Fr:"Fr",ra_dow_Mo:"Mes",ra_dow_Sa:"Sa",ra_dow_Su:"Su",ra_dow_Th:"Th",ra_dow_Tu:"Tu",ra_dow_We:"Nosotros",ra_expertMode:"Modo experto",ra_fileType_all:"Todos los archivos",ra_fileType_audio:"Audio",ra_fileType_code:"C\xF3digo/JSON",ra_fileType_images:"Im\xE1genes",ra_fileType_txt:"Texto",ra_fileType_video:"Video","ra_fileType_video,":"Video",ra_filter_customs:"Configuraciones",ra_filter_customs_without:"sin",ra_filter_func:"Funci\xF3n",ra_filter_id:"ID",ra_filter_name:"Nombre",ra_filter_role:"Papel",ra_filter_room:"Habitaci\xF3n",ra_filter_type:"Tipo","ra_import data from %s file":"Importar datos del archivo %s",ra_invalidConfig:"Configuraciones inv\xE1lidas",ra_lastChange:"Ultimo cambio",ra_locally:"en la zona",ra_month_Apr:"Abr",ra_month_Aug:"Ago",ra_month_Dec:"Dic",ra_month_Feb:"Feb",ra_month_Jan:"Ene",ra_month_Jul:"Jul",ra_month_Jun:"Jun",ra_month_Mai:"Mai",ra_month_Mar:"Mar",ra_month_Nov:"Nov",ra_month_Oct:"Oct",ra_month_Sep:"Sep",ra_months_Apr:"Abr",ra_months_Aug:"Ago",ra_months_Dec:"Dic",ra_months_Feb:"Feb",ra_months_Jan:"Ene",ra_months_Jul:"Jul",ra_months_Jun:"Jun",ra_months_Mai:"Mai",ra_months_Mar:"Mar",ra_months_Nov:"Nov",ra_months_Oct:"Oct",ra_months_Sep:"Sep",ra_none:"ninguno",ra_object_changed_by:"Objeto cambiado por",ra_object_changed_by_user:"Objeto cambiado por \xFAltima vez a las",ra_otherConfig:"Configuraciones de otro adaptador %s",ra_qualityCode:"C\xF3digo de calidad",ra_repeat:"repetir",ra_select_folder_hint:'Para seleccionar la carpeta, simplemente mantenga presionada la tecla "shift" haciendo clic en la carpeta.',ra_state_changed_by:"Estado cambiado por",ra_state_changed_from:"Objeto cambiado de",ra_timestamp:"Marca de tiempo",ra_tooltip_ack:"Bandera reconocida",ra_tooltip_comment:"Comentario",ra_tooltip_copyState:"Copie el valor del estado",ra_tooltip_customConfig:"Ajustes personalizados",ra_tooltip_deleteObject:"Eliminar objeto",ra_tooltip_editObject:"Editar objeto",ra_tooltip_editState:"Edite el valor del estado",ra_tooltip_from:"Desde",ra_tooltip_lc:"\xDAltimo cambio",ra_tooltip_quality:"Calidad",ra_tooltip_ts:"Sello de tiempo",ra_tooltip_user:"Usuario",ra_tooltip_value:"Valor","ra_use seconds":"usar segundos",ra_val:"Valor","ra_via internet":"v\xEDa Internet",ra_warning_every_minute:"Advertencia: \xA1El trabajo CRON se ejecutar\xE1 cada minuto durante el per\xEDodo especificado!",ra_warning_every_second:"Advertencia: \xA1El trabajo CRON se ejecutar\xE1 cada segundo durante el per\xEDodo especificado!",sc_cron:"CRON",sc_date:"Fecha",sc_dates:"fechas",sc_dow:"D\xEDa",sc_dows:"D\xEDa de la semana",sc_every:"Cada",sc_everyN_dates:"cada N d\xEDas",sc_everyN_dow:"cada en\xE9simo d\xEDa de la semana",sc_everyN_dows:"cada N d\xEDa de la semana",sc_everyN_hours:"cada N horas",sc_everyN_minutes:"cada N minutos",sc_everyN_months:"cada N meses",sc_everyN_seconds:"cada N segundos",sc_every_dates:"cada d\xEDa",sc_every_dow:"Cada d\xEDa de la semana",sc_every_dows:"Cada d\xEDa de la semana",sc_every_hours:"cada hora",sc_every_minutes:"cada minuto",sc_every_months:"cada mes",sc_every_seconds:"cada segundo",sc_from:"De",sc_hours:"Horas",sc_interval:"Intervalo",sc_intervalBetween:"Intervalo entre",sc_invalid_cron:"CRON no v\xE1lido",sc_minutes:"Minutos",sc_months:"meses",sc_once:"Una vez",sc_period:"Per\xEDodo",sc_seconds:"Segundos",sc_simple:"Sencillo",sc_specific:"Tiempo espec\xEDfico",sc_specific_dates:"fechas especificas",sc_specific_dow:"d\xEDa(s) espec\xEDfico(s) de la semana",sc_specific_dows:"d\xEDa espec\xEDfico de semanas",sc_specific_hours:"horas espec\xEDficas",sc_specific_minutes:"minutos espec\xEDficos",sc_specific_months:"meses espec\xEDficos",sc_specific_seconds:"segundos espec\xEDficos",sc_time:"Hora",sc_to:"A",sc_wizard:"Mago",sch_all:"todas",sch_astroDay:"D\xEDa astro",sch_astroNight:"Noche astro",sch_astro_dawn:"Amanecer",sch_astro_dusk:"Oscuridad",sch_astro_goldenHour:"hora dorada",sch_astro_goldenHourEnd:"Fin de la hora dorada",sch_astro_nadir:"Nadir",sch_astro_nauticalDawn:"Amanecer n\xE1utico",sch_astro_nauticalDusk:"Anochecer n\xE1utico",sch_astro_night:"Noche",sch_astro_nightEnd:"Fin de la noche",sch_astro_solarNoon:"Mediod\xEDa solar",sch_astro_sunrise:"amanecer",sch_astro_sunriseEnd:"Fin del amanecer",sch_astro_sunset:"Puesta de sol",sch_astro_sunsetStart:"Puesta de sol",sch_at:"a",sch_desc_atTime:"en %s",sch_desc_everyDay:"cada d\xEDa",sch_desc_everyHour:"cada hora",sch_desc_everyMinute:"cada minuto",sch_desc_everyMonth:"cada mes",sch_desc_everyNDay:"cada %s d\xEDas",sch_desc_everyNHours:"cada %s horas",sch_desc_everyNMinutes:"cada %s minutos",sch_desc_everyNMonths:"cada %s meses",sch_desc_everyNWeeks:"cada %s semanas",sch_desc_everyNYears:"cada %s a\xF1os",sch_desc_everyWeek:"cada semana",sch_desc_everyYear:"todos los a\xF1os",sch_desc_intervalFromTo:"de %s a %s",sch_desc_never:"Nunca",sch_desc_onDate:"en %s de %s",sch_desc_onDates:"en %s y %s de",sch_desc_onEveryDate:"en cada fecha de",sch_desc_onMonth:"%s",sch_desc_onMonths:"%s y %s",sch_desc_onWeekday:"en %s",sch_desc_onWeekdays:"en %s y %s",sch_desc_onWeekends:"en los fines de semana",sch_desc_onWorkdays:"en d\xEDas laborables",sch_desc_onceInPast:"ya no se ejecutar\xE1 m\xE1s, porque el inicio est\xE1 en el pasado",sch_desc_once_on:"en %s",sch_desc_validFrom:"de %s",sch_desc_validFromTo:"Ejecutar desde hasta",sch_desc_validTo:"a %s",sch_every:"cada",sch_exactTime:"Tiempo espec\xEDfico",sch_from:"de",sch_fromTo:"De-a",sch_intervalTime:"Tiempo de intervalo",sch_invert:"invertir; poner boca abajo o en la posici\xF3n opuesta, orden o arreglo; Boca abajo",sch_no_one:"ninguna",sch_on:"en",sch_period:"Per\xEDodo",sch_periodDaily:"Diario",sch_periodDates:"fechas",sch_periodDay:"D\xEDa",sch_periodEvery:"Cada",sch_periodEveryDay:"Cada d\xEDa",sch_periodEveryMonth:"Cada mes",sch_periodEveryWeek:"Cada semana",sch_periodEveryYear:"Todos los a\xF1os",sch_periodHours:"Horas",sch_periodMinutes:"Minutos",sch_periodMonth:"mes",sch_periodMonthly:"Mensual",sch_periodOnce:"Una vez",sch_periodSpecificMonths:"Meses espec\xEDficos",sch_periodWeek:"Semana",sch_periodWeekdays:"D\xEDas laborables",sch_periodWeekend:"Fin de semana",sch_periodWeekly:"Semanal",sch_periodWorkdays:"D\xEDas laborables",sch_periodYear:"A\xF1o",sch_periodYearly:"Anual",sch_specificTime:"Tiempo espec\xEDfico",sch_time:"Hora",sch_to:"a",sch_valid:"V\xE1lido",sch_validFrom:"de",sch_validTo:"a",sch_wholeDay:"Todo el dia",sch_yearEveryMonth:"cada mes"};var H9={"ra_%s links from aliases":"%s link\xF3w z alias\xF3w","ra_%s object(s) processed":"Przetworzono %s obiekt\xF3w","ra_%s was imported":"%s zosta\u0142 zaimportowany","ra_Accept license":"Zaakceptuj licencj\u0119","ra_Add new child object to selected parent":"Dodaj nowy obiekt potomny do wybranego rodzica","ra_Add objects tree from JSON file":"Dodaj drzewo obiekt\xF3w z pliku JSON","ra_Add row":"Dodaj wiersz","ra_Advanced options":"Zaawansowane opcje","ra_All items are filtered out":"Wszystkie pozycje s\u0105 odfiltrowane","ra_All objects":"Wszystkie obiekty",ra_Append:"Doda\u0107","ra_Append %s entries or replace existing?":"Do\u0142\u0105czy\u0107 wpisy %s czy zast\u0105pi\u0107 istniej\u0105ce?","ra_Append or replace?":"Do\u0142\u0105czy\u0107 czy zast\u0105pi\u0107?","ra_Are you sure?":"Jeste\u015B pewny?","ra_Auto (no custom columns)":"Auto (bez kolumn niestandardowych)","ra_Back to %s":"Powr\xF3t do %s","ra_Background image":"Zdj\u0119cie w tle",ra_Cancel:"Anuluj","ra_Cannot add items with set filter":"Nie mo\u017Cna doda\u0107 element\xF3w z ustawionym filtrem","ra_Cannot decode license":"Nie mo\u017Cna zdekodowa\u0107 licencji","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Nie mo\u017Cna okre\u015Bli\u0107 pozycji: ustawienia systemu s\u0105 puste, a wykrywanie GPS jest wy\u0142\u0105czone w przegl\u0105darce",'ra_Cannot find "%s"':"Nie mo\u017Cna znale\u017A\u0107 \u201E%s\u201D",'ra_Cannot read "%s"':"Nie mo\u017Cna odczyta\u0107 \u201E%s\u201D","ra_Cannot read licenses: %s":"Nie mo\u017Cna odczyta\u0107 licencji: %s","ra_Cannot retrieve options, as instance is offline":"Nie mo\u017Cna pobra\u0107 opcji, poniewa\u017C instancja jest w trybie offline","ra_Cannot update attribute, because not found in the object":"Nie mo\u017Cna zaktualizowa\u0107 atrybutu, poniewa\u017C nie znaleziono go w obiekcie","ra_Cannot upload":"Nie mo\u017Cna przes\u0142a\u0107",ra_Categories:"Kategorie","ra_Chained certificate":"Certyfikat \u0142a\u0144cuchowy","ra_Change color theme":"Zmie\u0144 motyw kolorystyczny","ra_Changed from":"Zmieniony z","ra_Channel \u2192 State":"Kana\u0142 \u2192 Stan","ra_Check license":"Sprawd\u017A licencj\u0119",ra_Checked:"Sprawdzony",ra_Clear:"Kasowa\u0107","ra_Clear filter":"Czysty filtr","ra_Clear icon":"Wyczy\u015B\u0107 ikon\u0119","ra_Clone current row":"Sklonuj bie\u017C\u0105cy wiersz",ra_Close:"Blisko","ra_Collapse all nodes":"Zwi\u0144 wszystkie w\u0119z\u0142y","ra_Collapse one step node":"Zwi\u0144 o jeden poziom",ra_Commercial:"Handlowy",ra_Configure:"Konfiguruj","ra_Configure visible columns":"Skonfiguruj widoczne kolumny","ra_Confirm deletion of %s":"Potwierd\u017A usuni\u0119cie %s",ra_Connected:"Po\u0142\u0105czony",ra_Copied:"Skopiowano","ra_Copied %s":'Skopiowano "%s"',"ra_Copy content":"Kopiuj zawarto\u015B\u0107",ra_Create:"Stw\xF3rz","ra_Create alias":"Utw\xF3rz alias","ra_Create folder":"Utw\xF3rz folder","ra_Create new folder in %s":"Utw\xF3rz nowy folder w %s",ra_Crop:"Przyci\u0105\u0107","ra_Define CRON...":"Zdefiniuj CRON...","ra_Define functions":"Zdefiniuj funkcje","ra_Define rooms":"Zdefiniuj pokoje","ra_Define schedule":"Zdefiniuj harmonogram","ra_Define schedule...":"Zdefiniuj harmonogram ...",ra_Del:"Delete",ra_Delete:"Usun\u0105\u0107","ra_Delete (no confirm for 5 mins)":"Usu\u0144 (bez potwierdzenia przez 5 minut)","ra_Delete current row":"Usu\u0144 bie\u017C\u0105cy wiersz","ra_Deselect all":"Odznacz wszystko","ra_Device \u2192 Channel \u2192 State":"Urz\u0105dzenie \u2192 Kana\u0142 \u2192 Stan",ra_Discard:"Wyrzuca\u0107",ra_Disconnected:"Niepowi\u0105zany","ra_Do not export values of states":"Nie eksportuj warto\u015Bci stan\xF3w","ra_Do not use let's encrypt":"Nie u\u017Cywaj zaszyfrujmy","ra_Double click to reset table layout":"Kliknij dwukrotnie, aby zresetowa\u0107 uk\u0142ad tabeli","ra_Drag 'n' drop some files here, or click to select files":"Przeci\u0105gnij i upu\u015B\u0107 kilka plik\xF3w tutaj lub kliknij, aby wybra\u0107 pliki","ra_Drop file here":"Upu\u015B\u0107 plik tutaj","ra_Drop the files here...":"Upu\u015B\u0107 plik tutaj...","ra_Duplicate name":"Zduplikowana nazwa","ra_Edit ACL":"Edytuj listy ACL","ra_Edit alias":"Edytuj alias","ra_Edit custom config":"Edytuj konfiguracj\u0119 niestandardow\u0105","ra_Edit function":"Funkcja edycji","ra_Edit object field":"Edytuj pole obiektu","ra_Edit role":"Edytuj rol\u0119","ra_Edit room":"Edytuj pok\xF3j","ra_Edit value":"Edytuj warto\u015B\u0107",ra_Error:"B\u0142\u0105d","ra_Expand all nodes":"Rozwi\u0144 wszystkie w\u0119z\u0142y","ra_Expand one step node":"Rozwi\u0144 o jeden poziom","ra_Export data to %s file":"Eksportuj dane do pliku %s","ra_Failed to open JSON File":"Nie uda\u0142o si\u0119 otworzy\u0107 pliku JSON","ra_Fallback custom certificates":"Niestandardowe certyfikaty zast\u0119pcze","ra_File is too big. Max %sk allowed. Try use SVG.":"Plik jest za du\u017Cy. Maksymalna dozwolona liczba %sk. Spr\xF3buj u\u017Cy\u0107 SVG.",ra_Filter:"Filtr","ra_Filter files":"Filtruj pliki","ra_Folder name":"Nazwa folderu","ra_Folder \u2192 Channel \u2192 State":"Folder \u2192 Kana\u0142 \u2192 Stan","ra_Folder \u2192 Device \u2192 Channel \u2192 State":"Folder \u2192 Urz\u0105dzenie \u2192 Kana\u0142 \u2192 Stan","ra_Folder \u2192 State":"Folder \u2192 Stan","ra_Folders always first":"Foldery zawsze na pierwszym miejscu",ra_Friday:"Pi\u0105tek","ra_Good luck":"Powodzenia","ra_Hide empty folders":"Ukryj puste foldery","ra_If no file will be created in the folder, it will disappear after the browser closed":"Je\u015Bli w folderze nie zostanie utworzony \u017Caden plik, zniknie on po zamkni\u0119ciu przegl\u0105darki","ra_Import data from %s file":"Importuj dane z pliku %s","ra_Import from %s":"Importuj z %s","ra_Instance %s is alive":"Instancja %s jest aktywna","ra_Instance %s is not alive":"Instancja TEKST nie jest aktywna","ra_Instance is not alive":"Instancja nie jest aktywna","ra_Invalid CRON":"Nieprawid\u0142owy CRON","ra_Invalid JSON":"Nieprawid\u0142owy JSON","ra_Invalid answer from server":"Nieprawid\u0142owa odpowied\u017A z serwera","ra_Invalid parent folder!":"Nieprawid\u0142owy folder nadrz\u0119dny!","ra_Invalid structure":"Nieprawid\u0142owa struktura","ra_JSON editor":"Edytor JSON","ra_Last change":"Ostatnia zmiana",ra_Latitude:"Szeroko\u015B\u0107","ra_License %s":"Licencja %s","ra_License agreement":"Umowa licencyjna","ra_License does not exist":"Licencja nie istnieje","ra_License expired on %s":"Licencja wygas\u0142a w dniu %s",'ra_License for other product "%s"':"Licencja na inny produkt \u201E%s\u201D","ra_License is for version %s, but required version is %s.":"Licencja dotyczy wersji %s, ale wymagana wersja to %s.","ra_License must be converted":"Licencja musi zosta\u0107 przekonwertowana na nowsz\u0105 wersj\u0119. Mo\u017Cesz to zrobi\u0107 w swoim profilu iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Nie znaleziono licencji w mened\u017Cerze licencji. Chcesz zaktualizowa\u0107 licencje z iobroker.net?","ra_Listen on all IPs":"S\u0142uchaj na wszystkich adresach IP","ra_Load configuration from file":"Za\u0142aduj konfiguracj\u0119 z pliku",ra_Longitude:"D\u0142ugo\u015B\u0107 geograficzna",'ra_May not trigger "updateLicenses"':"Mo\u017Ce nie uruchamia\u0107 \u201EupdateLicenses\u201D",ra_Message:"Wiadomo\u015B\u0107",ra_Monday:"Poniedzia\u0142ek","ra_Move down":"Padnij","ra_Move up":"Podnie\u015B\u0107",ra_Name:"Nazwa","ra_No data found in file":"Nie znaleziono danych w pliku","ra_No one license found in license manager":"Nie znaleziono licencji w mened\u017Cerze licencji","ra_No response from the backend":"Brak odpowiedzi z zaplecza",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"Osoby nie b\u0119d\u0105ce ekspertami mog\u0105 tworzy\u0107 nowe obiekty tylko w \u201E0_userdata.0\u201D lub \u201Ealias.0\u201D.","ra_Not a number":"Nie numer",ra_Objects:"Obiekty",ra_Ok:"Dobrze","ra_On weekdays":"W dni powszednie","ra_Only following structures of objects are available:":"Dost\u0119pne s\u0105 tylko nast\u0119puj\u0105ce struktury obiekt\xF3w:","ra_Only selected":"Tylko wybrane","ra_Owner group":"Grupa w\u0142a\u015Bcicieli","ra_Owner user":"W\u0142a\u015Bciciel u\u017Cytkownika","ra_Passwords are not equal!":"Has\u0142a nie s\u0105 r\xF3wne!","ra_Place your files here or click here to open the browse dialog":"Umie\u015B\u0107 swoje pliki tutaj lub kliknij tutaj, aby otworzy\u0107 okno dialogowe przegl\u0105dania","ra_Please confirm":"Prosz\u0119 potwierdzi\u0107","ra_Please create license":"Utw\xF3rz licencj\u0119","ra_Please enter the license":"Prosz\u0119 wprowadzi\u0107 licencj\u0119","ra_Please select file...":"Wybierz plik...","ra_Please select object ID...":"Wybierz identyfikator obiektu ...","ra_Port could be used by %s":"Port mo\u017Ce by\u0107 u\u017Cywany przez %s","ra_Port is already used by %s":"Port jest ju\u017C u\u017Cywany przez %s","ra_Private certificate":"Prywatny certyfikat",ra_Product:"Produkt","ra_Public certificate":"Certyfikat publiczny","ra_Quality code":"Jako\u015Bci","ra_Refresh tree":"Od\u015Bwie\u017C drzewo","ra_Reload files":"Za\u0142aduj ponownie pliki",ra_Repeat:"Powtarza\u0107",ra_Replace:"Zast\u0119powa\u0107","ra_Request timed out":"Up\u0142yn\u0105\u0142 limit czasu \u017C\u0105dania","ra_Restrict to folder":"Ogranicz do folderu",ra_Root:"Korze\u0144",ra_Saturday:"Sobota",ra_Save:"Zapisa\u0107","ra_Save and close":"Zapisz i zamknij","ra_Save configuration to file":"Zapisz konfiguracj\u0119 do pliku","ra_Save objects tree as JSON file":"Zapisz drzewo obiekt\xF3w jako plik JSON","ra_Select all":"Zaznacz wszystko","ra_Select color":"Wybierz kolor","ra_Select predefined icon":"Wybierz predefiniowan\u0105 ikon\u0119","ra_Select type of export":"Wybierz rodzaj eksportu",ra_Selected:"Wybrany","ra_Selected %s object(s)":"Wybrane obiekty %s","ra_Serial number (UUID)":"Numer seryjny (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"Numer seryjny (UUID) \u201E%s\u201D w licencji dotyczy innego urz\u0105dzenia.","ra_Show all folders":"Poka\u017C wszystkie foldery","ra_Show lines between rows":"Poka\u017C linie mi\u0119dzy rz\u0119dami","ra_Show/Hide object descriptions":"Poka\u017C/ukryj opisy obiekt\xF3w","ra_Show/hide filter input":"Poka\u017C/ukryj wej\u015Bcie filtra","ra_Some data are not stored. Discard?":"Niekt\xF3re dane nie s\u0105 przechowywane. Wyrzuca\u0107?",ra_States:"Stany","ra_Suitable license not found in license manager":"Nie znaleziono odpowiedniej licencji w mened\u017Cerze licencji",ra_Sunday:"Niedziela","ra_Suppress question for next %s minutes":"Ukryj pytanie przez nast\u0119pne %s minut","ra_System language":"J\u0119zyk systemu","ra_Take browser position":"Zajmij pozycj\u0119 z przegl\u0105darki","ra_Take position from system settings":"Zajmij pozycj\u0119 z ustawie\u0144 systemowych",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"Eksperci mog\u0105 tworzy\u0107 obiekty wsz\u0119dzie poza drugim poziomem (np. \u201EVis.0\u201D lub \u201Ejavascript.0\u201D).","ra_The page you are looking for was not found":"Strona, kt\xF3rej szukasz nie zosta\u0142a znaleziona","ra_The schedule will be executed every minute. Are you sure?":"Harmonogram b\u0119dzie wykonywany co minut\u0119. Czy jeste\u015B pewien?","ra_The schedule will be executed every second. Are you sure?":"Harmonogram b\u0119dzie wykonywany co sekund\u0119. Czy jeste\u015B pewien?",ra_Thursday:"Czwartek",ra_Timestamp:"Znak czasu","ra_Toggle expert mode":"Prze\u0142\u0105cz tryb eksperta","ra_Toggle the states view":"Prze\u0142\u0105cz widok stan\xF3w","ra_Toggle view mode":"Prze\u0142\u0105cz tryb widoku","ra_Too big":"Za du\u017Cy","ra_Too small":"Za ma\u0142y","ra_Transparent dialog":"Przejrzyste okno dialogowe",ra_Tuesday:"Wtorek","ra_Unknown error":"Nieznany b\u0142\u0105d","ra_Unknown error!":"Nieznany b\u0142\u0105d!",ra_Update:"Aktualizacja","ra_Upload file":"Przesy\u0142anie pliku","ra_Use all available let's encrypt certificates":"U\u017Cyj wszystkich dost\u0119pnych certyfikat\xF3w Let's Encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"U\u017Cyj adaptera iobroker.acme dla certyfikat\xF3w letsencrypt","ra_Use system settings for position":"U\u017Cyj ustawie\u0144 systemowych dla pozycji","ra_Used system settings":"U\u017Cywane ustawienia systemowe","ra_User files":"Pliki u\u017Cytkownika",ra_ValidTill:"Obowi\u0105zuje do",ra_Value:"Warto\u015B\u0107",ra_Version:"Wersja","ra_View file":"Zobaczy\u0107 plik","ra_View: %s":"Widok: %s",ra_Wednesday:"\u015Aroda",ra_Width:"Szeroko\u015B\u0107",ra_Yes:"Tak","ra_You can export all objects or just the selected branch.":"Mo\u017Cesz wyeksportowa\u0107 wszystkie obiekty lub tylko wybran\u0105 ga\u0142\u0105\u017A.","ra_You can filter entries by entering here some text":"Mo\u017Cesz filtrowa\u0107 wpisy, wpisuj\u0105c tutaj jaki\u015B tekst",ra___different__:"r\xF3\u017Cne",ra_aclEveryone_read_object:"Ka\u017Cdy mo\u017Ce czyta\u0107 obiekt",ra_aclEveryone_read_state:"Ka\u017Cdy mo\u017Ce czyta\u0107 stan",ra_aclEveryone_write_object:"Ka\u017Cdy mo\u017Ce pisa\u0107 przedmiot",ra_aclEveryone_write_state:"Ka\u017Cdy mo\u017Ce pisa\u0107 stan",ra_aclGroup_read_object:"Grupa mo\u017Ce odczyta\u0107 obiekt",ra_aclGroup_read_state:"Grupa mo\u017Ce odczyta\u0107 stan",ra_aclGroup_write_object:"Grupa mo\u017Ce pisa\u0107 obiekt",ra_aclGroup_write_state:"Grupa mo\u017Ce pisa\u0107 stan",ra_aclOwner_read_object:"W\u0142a\u015Bciciel mo\u017Ce czyta\u0107 obiekt",ra_aclOwner_read_state:"W\u0142a\u015Bciciel mo\u017Ce odczyta\u0107 stan",ra_aclOwner_write_object:"W\u0142a\u015Bciciel mo\u017Ce napisa\u0107 obiekt",ra_aclOwner_write_state:"W\u0142a\u015Bciciel mo\u017Ce pisa\u0107 stan",ra_buttons:"guziki",ra_changedFrom:"Zmieniony z",ra_close:"blisko",ra_create_boolean_state:"Utw\xF3rz stan logiczny",ra_create_channel:"Utw\xF3rz kana\u0142",ra_create_device:"Utw\xF3rz urz\u0105dzenie",ra_create_number_state:"Utw\xF3rz stan liczbowy",ra_create_state:"Utw\xF3rz stan",ra_create_string_state:"Utw\xF3rz stan ci\u0105gu",ra_daysShortText:"d.",ra_dow_Fr:"Ks",ra_dow_Mo:"Mo",ra_dow_Sa:"Sa",ra_dow_Su:"Su",ra_dow_Th:"Th",ra_dow_Tu:"Tu",ra_dow_We:"My",ra_expertMode:"Tryb ekspercki",ra_fileType_all:"Wszystkie pliki",ra_fileType_audio:"Audio",ra_fileType_code:"Kod/JSON",ra_fileType_images:"Obrazy",ra_fileType_txt:"Tekst",ra_fileType_video:"Wideo","ra_fileType_video,":"Wideo",ra_filter_customs:"Ustawienia",ra_filter_customs_without:"bez",ra_filter_func:"Funkcjonowa\u0107",ra_filter_id:"ID",ra_filter_name:"Imi\u0119",ra_filter_role:"Rola",ra_filter_room:"Sala",ra_filter_type:"Rodzaj","ra_import data from %s file":"Importuj dane z pliku %s",ra_invalidConfig:"Nieprawid\u0142owe ustawienia",ra_lastChange:"Ostatnia zmiana",ra_locally:"lokalnie",ra_month_Apr:"kwiecie\u0144",ra_month_Aug:"sierpie\u0144",ra_month_Dec:"grudzie\u0144",ra_month_Feb:"luty",ra_month_Jan:"stycze\u0144",ra_month_Jul:"lipiec",ra_month_Jun:"czerwiec",ra_month_Mai:"Mai",ra_month_Mar:"Zniszczy\u0107",ra_month_Nov:"listopad",ra_month_Oct:"pa\u017Adziernik",ra_month_Sep:"wrzesie\u0144",ra_months_Apr:"kwiecie\u0144",ra_months_Aug:"sierpie\u0144",ra_months_Dec:"grudzie\u0144",ra_months_Feb:"luty",ra_months_Jan:"stycze\u0144",ra_months_Jul:"lipiec",ra_months_Jun:"czerwiec",ra_months_Mai:"Mai",ra_months_Mar:"Zniszczy\u0107",ra_months_Nov:"listopad",ra_months_Oct:"pa\u017Adziernik",ra_months_Sep:"wrzesie\u0144",ra_none:"\u017Baden",ra_object_changed_by:"Obiekt zmieniony przez",ra_object_changed_by_user:"Obiekt ostatnio zmieniony o godz",ra_otherConfig:"Ustawienia z innego adaptera %s",ra_qualityCode:"Kod jako\u015Bci",ra_repeat:"powtarza\u0107",ra_select_folder_hint:"Aby wybra\u0107 folder, wystarczy przytrzyma\u0107 klawisz \u201Eshift\u201D, klikaj\u0105c folder.",ra_state_changed_by:"Stan zmieniony przez",ra_state_changed_from:"Obiekt zmieniony z",ra_timestamp:"Znak czasu",ra_tooltip_ack:"Potwierdzon",ra_tooltip_comment:"Komentarz",ra_tooltip_copyState:"Skopiuj warto\u015B\u0107 stanu",ra_tooltip_customConfig:"W\u0142asne ustawienia",ra_tooltip_deleteObject:"Usu\u0144 obiekt",ra_tooltip_editObject:"Edytuj obiekt",ra_tooltip_editState:"Edytuj warto\u015B\u0107 stanu",ra_tooltip_from:"Z",ra_tooltip_lc:"Ostatnia zmiana",ra_tooltip_quality:"Jako\u015B\u0107",ra_tooltip_ts:"Znak czasu",ra_tooltip_user:"U\u017Cytkownik",ra_tooltip_value:"Warto\u015B\u0107","ra_use seconds":"u\u017Cyj sekund",ra_val:"Warto\u015B\u0107","ra_via internet":"przez internet",ra_warning_every_minute:"Ostrze\u017Cenie: Zadanie CRON b\u0119dzie uruchamiane co minut\u0119 w okre\u015Blonym przedziale czasowym!",ra_warning_every_second:"Ostrze\u017Cenie: Zadanie CRON b\u0119dzie uruchamiane co sekund\u0119 w okre\u015Blonym przedziale czasowym!",sc_cron:"CRON",sc_date:"Data",sc_dates:"Daktyle",sc_dow:"Dzie\u0144",sc_dows:"Dzie\u0144 tygodnia",sc_every:"Ka\u017Cdy",sc_everyN_dates:"co N dni",sc_everyN_dow:"w ka\u017Cdy N-ty dzie\u0144 tygodnia",sc_everyN_dows:"co N dnia tygodnia",sc_everyN_hours:"co N godzin",sc_everyN_minutes:"co N minut",sc_everyN_months:"co N miesi\u0119cy",sc_everyN_seconds:"co N sekund",sc_every_dates:"codziennie",sc_every_dow:"ka\u017Cdy dzie\u0144 tygodnia",sc_every_dows:"ka\u017Cdy dzie\u0144 tygodnia",sc_every_hours:"co godzin\u0119",sc_every_minutes:"ka\u017Cda minuta",sc_every_months:"ka\u017Cdego miesi\u0105ca",sc_every_seconds:"ka\u017Cda sekunda",sc_from:"Od",sc_hours:"godziny",sc_interval:"Interwa\u0142",sc_intervalBetween:"Interwa\u0142 mi\u0119dzy",sc_invalid_cron:"Nieprawid\u0142owy CRON",sc_minutes:"Minuty",sc_months:"miesi\u0119cy",sc_once:"Pewnego razu",sc_period:"Kropka",sc_seconds:"sekundy",sc_simple:"Prosty",sc_specific:"Okre\u015Blony czas",sc_specific_dates:"konkretne daty",sc_specific_dow:"okre\u015Blone dni tygodnia",sc_specific_dows:"okre\u015Blony dzie\u0144 tygodni",sc_specific_hours:"okre\u015Blone godziny",sc_specific_minutes:"okre\u015Blone minuty",sc_specific_months:"okre\u015Blone miesi\u0105ce",sc_specific_seconds:"okre\u015Blone sekundy",sc_time:"Czas",sc_to:"Do",sc_wizard:"Czarodziej",sch_all:"wszystko",sch_astroDay:"Dzie\u0144 Astro",sch_astroNight:"Noc Astro",sch_astro_dawn:"\u015Awit",sch_astro_dusk:"Zmierzch",sch_astro_goldenHour:"z\u0142ota godzina",sch_astro_goldenHourEnd:"Koniec z\u0142otej godziny",sch_astro_nadir:"Nadir",sch_astro_nauticalDawn:"Morski \u015Bwit",sch_astro_nauticalDusk:"Morski zmierzch",sch_astro_night:"Noc",sch_astro_nightEnd:"Koniec nocy",sch_astro_solarNoon:"Po\u0142udnie s\u0142oneczne",sch_astro_sunrise:"wsch\xF3d s\u0142o\u0144ca",sch_astro_sunriseEnd:"Koniec wschodu s\u0142o\u0144ca",sch_astro_sunset:"Zach\xF3d s\u0142o\u0144ca",sch_astro_sunsetStart:"Pocz\u0105tek zachodu s\u0142o\u0144ca",sch_at:"w",sch_desc_atTime:"na %s",sch_desc_everyDay:"codziennie",sch_desc_everyHour:"co godzin\u0119",sch_desc_everyMinute:"ka\u017Cda minuta",sch_desc_everyMonth:"ka\u017Cdego miesi\u0105ca",sch_desc_everyNDay:"ka\u017Cdego dnia %s",sch_desc_everyNHours:"co %s godzin",sch_desc_everyNMinutes:"co %s minut",sch_desc_everyNMonths:"co %s miesi\u0119cy",sch_desc_everyNWeeks:"co %s tygodni",sch_desc_everyNYears:"co %s lat",sch_desc_everyWeek:"co tydzie\u0144",sch_desc_everyYear:"ka\u017Cdego roku",sch_desc_intervalFromTo:"od %s do %s",sch_desc_never:"nigdy",sch_desc_onDate:"na %s z %s",sch_desc_onDates:"na %s i %s z",sch_desc_onEveryDate:"w ka\u017Cd\u0105 dat\u0119",sch_desc_onMonth:"%s",sch_desc_onMonths:"%s i %s",sch_desc_onWeekday:"na %s",sch_desc_onWeekdays:"na %s i %s",sch_desc_onWeekends:"w weekendy",sch_desc_onWorkdays:"w dni robocze",sch_desc_onceInPast:"nie b\u0119dzie ju\u017C wykonywany, poniewa\u017C start jest w przesz\u0142o\u015Bci",sch_desc_once_on:"na %s",sch_desc_validFrom:"z %s",sch_desc_validFromTo:"Wykonaj od do",sch_desc_validTo:"do %s",sch_every:"ka\u017Cdy",sch_exactTime:"Okre\u015Blony czas",sch_from:"od",sch_fromTo:"Od-do",sch_intervalTime:"Czas przerwy",sch_invert:"odwraca\u0107",sch_no_one:"\u017Baden",sch_on:"na",sch_period:"Kropka",sch_periodDaily:"Codziennie",sch_periodDates:"Daktyle",sch_periodDay:"Dzie\u0144",sch_periodEvery:"Ka\u017Cdy",sch_periodEveryDay:"Codziennie",sch_periodEveryMonth:"Ka\u017Cdego miesi\u0105ca",sch_periodEveryWeek:"Co tydzie\u0144",sch_periodEveryYear:"Ka\u017Cdego roku",sch_periodHours:"godziny",sch_periodMinutes:"Minuty",sch_periodMonth:"miesi\u0105c",sch_periodMonthly:"Miesi\u0119czny",sch_periodOnce:"Pewnego razu",sch_periodSpecificMonths:"Okre\u015Blone miesi\u0105ce",sch_periodWeek:"Tydzie\u0144",sch_periodWeekdays:"Dni powszednie",sch_periodWeekend:"Weekend",sch_periodWeekly:"Co tydzie\u0144",sch_periodWorkdays:"Dni robocze",sch_periodYear:"Rok",sch_periodYearly:"Rocznie",sch_specificTime:"Okre\u015Blony czas",sch_time:"Czas",sch_to:"do",sch_valid:"Wa\u017Cny",sch_validFrom:"od",sch_validTo:"do",sch_wholeDay:"Ca\u0142y dzie\u0144",sch_yearEveryMonth:"ka\u017Cdego miesi\u0105ca"};var V9={"ra_%s links from aliases":"%s \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u044C \u0456\u0437 \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0456\u043C\u0456\u0432","ra_%s object(s) processed":"\u041E\u0431\u0440\u043E\u0431\u043B\u0435\u043D\u043E %s \u043E\u0431\u2019\u0454\u043A\u0442\u0456\u0432","ra_%s was imported":"%s \u0431\u0443\u043B\u043E \u0456\u043C\u043F\u043E\u0440\u0442\u043E\u0432\u0430\u043D\u043E","ra_Accept license":"\u041F\u0440\u0438\u0439\u043D\u044F\u0442\u0438 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E","ra_Add new child object to selected parent":"\u0414\u043E\u0434\u0430\u0442\u0438 \u043D\u043E\u0432\u0438\u0439 \u0434\u043E\u0447\u0456\u0440\u043D\u0456\u0439 \u043E\u0431\u2019\u0454\u043A\u0442 \u0434\u043E \u0432\u0438\u0431\u0440\u0430\u043D\u043E\u0433\u043E \u0431\u0430\u0442\u044C\u043A\u0456\u0432\u0441\u044C\u043A\u043E\u0433\u043E","ra_Add objects tree from JSON file":"\u0414\u043E\u0434\u0430\u0439\u0442\u0435 \u0434\u0435\u0440\u0435\u0432\u043E \u043E\u0431\u2019\u0454\u043A\u0442\u0456\u0432 \u0456\u0437 \u0444\u0430\u0439\u043B\u0443 JSON","ra_Add row":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0440\u044F\u0434\u043E\u043A","ra_Advanced options":"\u0420\u043E\u0437\u0448\u0438\u0440\u0435\u043D\u0456 \u043E\u043F\u0446\u0456\u0457","ra_All items are filtered out":"\u0423\u0441\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0432\u0456\u0434\u0444\u0456\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u043D\u043E","ra_All objects":"\u0412\u0441\u0456 \u043E\u0431'\u0454\u043A\u0442\u0438",ra_Append:"\u0414\u043E\u0434\u0430\u0439\u0442\u0435","ra_Append %s entries or replace existing?":"\u0414\u043E\u0434\u0430\u0442\u0438 %s \u0437\u0430\u043F\u0438\u0441\u0456\u0432 \u0447\u0438 \u0437\u0430\u043C\u0456\u043D\u0438\u0442\u0438 \u043D\u0430\u044F\u0432\u043D\u0456?","ra_Append or replace?":"\u0414\u043E\u0434\u0430\u0442\u0438 \u0447\u0438 \u0437\u0430\u043C\u0456\u043D\u0438\u0442\u0438?","ra_Are you sure?":"\u0422\u0438 \u0432\u043F\u0435\u0432\u043D\u0435\u043D\u0438\u0439?","ra_Auto (no custom columns)":"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E (\u0431\u0435\u0437 \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0438\u0445 \u0441\u0442\u043E\u0432\u043F\u0446\u0456\u0432)","ra_Back to %s":"\u041D\u0430\u0437\u0430\u0434 \u0434\u043E %s","ra_Background image":"\u0424\u043E\u043D\u043E\u0432\u0435 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F",ra_Cancel:"\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438","ra_Cannot add items with set filter":"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0434\u043E\u0434\u0430\u0442\u0438 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0437\u0456 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u043C \u0444\u0456\u043B\u044C\u0442\u0440\u043E\u043C","ra_Cannot decode license":"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0440\u043E\u0437\u0448\u0438\u0444\u0440\u0443\u0432\u0430\u0442\u0438 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0432\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438 \u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044F: \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u043F\u043E\u0440\u043E\u0436\u043D\u0456, \u0430 \u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F GPS \u0432\u0438\u043C\u043A\u043D\u0435\u043D\u043E \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0456",'ra_Cannot find "%s"':'\u041D\u0435 \u0432\u0434\u0430\u0454\u0442\u044C\u0441\u044F \u0437\u043D\u0430\u0439\u0442\u0438 "%s"','ra_Cannot read "%s"':'\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u0438 "%s"',"ra_Cannot read licenses: %s":"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u0438 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0457: %s","ra_Cannot retrieve options, as instance is offline":"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043E\u0442\u0440\u0438\u043C\u0430\u0442\u0438 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438, \u043E\u0441\u043A\u0456\u043B\u044C\u043A\u0438 \u0435\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u043E\u0444\u043B\u0430\u0439\u043D","ra_Cannot update attribute, because not found in the object":"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043E\u043D\u043E\u0432\u0438\u0442\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442, \u043E\u0441\u043A\u0456\u043B\u044C\u043A\u0438 \u0439\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0432 \u043E\u0431\u2019\u0454\u043A\u0442\u0456","ra_Cannot upload":"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438",ra_Categories:"\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0456\u0457","ra_Chained certificate":"\u041F\u0440\u0438\u043A\u0443\u0442\u0438\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442","ra_Change color theme":"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u043A\u043E\u043B\u044C\u043E\u0440\u043E\u0432\u0443 \u0442\u0435\u043C\u0443","ra_Changed from":"\u0417\u043C\u0456\u043D\u0435\u043D\u043E \u0437","ra_Channel \u2192 State":"\u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u0442\u0430\u043D","ra_Check license":"\u041F\u0435\u0440\u0435\u0432\u0456\u0440\u0438\u0442\u0438 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E",ra_Checked:"\u041F\u0435\u0440\u0435\u0432\u0456\u0440\u0435\u043D\u043E",ra_Clear:"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438","ra_Clear filter":"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u0444\u0456\u043B\u044C\u0442\u0440","ra_Clear icon":"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u0437\u043D\u0430\u0447\u043E\u043A","ra_Clone current row":"\u041A\u043B\u043E\u043D\u0443\u0432\u0430\u0442\u0438 \u043F\u043E\u0442\u043E\u0447\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A",ra_Close:"\u0417\u0430\u043A\u0440\u0438\u0442\u0438","ra_Collapse all nodes":"\u0417\u0433\u043E\u0440\u043D\u0443\u0442\u0438 \u0432\u0441\u0456 \u0432\u0443\u0437\u043B\u0438","ra_Collapse one step node":"\u0417\u0433\u043E\u0440\u043D\u0443\u0442\u0438 \u043D\u0430 \u043E\u0434\u0438\u043D \u0440\u0456\u0432\u0435\u043D\u044C",ra_Commercial:"\u041A\u043E\u043C\u0435\u0440\u0446\u0456\u0439\u043D\u0438\u0439",ra_Configure:"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438","ra_Configure visible columns":"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u0434\u0438\u043C\u0456 \u0441\u0442\u043E\u0432\u043F\u0446\u0456","ra_Confirm deletion of %s":"\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0438 \u0432\u0438\u0434\u0430\u043B\u0435\u043D\u043D\u044F %s",ra_Connected:"\u041F\u0456\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u043E",ra_Copied:"\u0421\u043A\u043E\u043F\u0456\u0439\u043E\u0432\u0430\u043D\u043E","ra_Copied %s":'\u0421\u043A\u043E\u043F\u0456\u0439\u043E\u0432\u0430\u043D\u043E "%s"',"ra_Copy content":"\u0421\u043A\u043E\u043F\u0456\u044E\u0439\u0442\u0435 \u0432\u043C\u0456\u0441\u0442",ra_Create:"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438","ra_Create alias":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0456\u043C","ra_Create folder":"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043F\u0430\u043F\u043A\u0443","ra_Create new folder in %s":"\u0421\u0442\u0432\u043E\u0440\u0456\u0442\u044C \u043D\u043E\u0432\u0443 \u043F\u0430\u043F\u043A\u0443 \u0432 %s",ra_Crop:"\u0423\u0440\u043E\u0436\u0430\u0439","ra_Define CRON...":"\u0412\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438 CRON...","ra_Define functions":"\u0412\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438 \u0444\u0443\u043D\u043A\u0446\u0456\u0457","ra_Define rooms":"\u0412\u0438\u0437\u043D\u0430\u0447\u0442\u0435 \u043A\u0456\u043C\u043D\u0430\u0442\u0438","ra_Define schedule":"\u0412\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438 \u0440\u043E\u0437\u043A\u043B\u0430\u0434","ra_Define schedule...":"\u0412\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438 \u0440\u043E\u0437\u043A\u043B\u0430\u0434...",ra_Del:"Delete",ra_Delete:"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438","ra_Delete (no confirm for 5 mins)":"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 (\u0431\u0435\u0437 \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043D\u043D\u044F \u043F\u0440\u043E\u0442\u044F\u0433\u043E\u043C 5 \u0445\u0432\u0438\u043B\u0438\u043D)","ra_Delete current row":"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u043F\u043E\u0442\u043E\u0447\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A","ra_Deselect all":"\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u0431\u0456\u0440 \u0443\u0441\u0456\u0445","ra_Device \u2192 Channel \u2192 State":"\u041F\u0440\u0438\u0441\u0442\u0440\u0456\u0439 \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u0442\u0430\u043D",ra_Discard:"\u0412\u0456\u0434\u043A\u0438\u043D\u0443\u0442\u0438",ra_Disconnected:"\u0412\u0456\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u043E","ra_Do not export values of states":"\u041D\u0435 \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0439\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0441\u0442\u0430\u043D\u0456\u0432","ra_Do not use let's encrypt":"\u041D\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 let's encrypt","ra_Double click to reset table layout":"\u0414\u0432\u0456\u0447\u0456 \u043A\u043B\u0430\u0446\u043D\u0456\u0442\u044C, \u0449\u043E\u0431 \u0441\u043A\u0438\u043D\u0443\u0442\u0438 \u043C\u0430\u043A\u0435\u0442 \u0442\u0430\u0431\u043B\u0438\u0446\u0456","ra_Drag 'n' drop some files here, or click to select files":"\u041F\u0435\u0440\u0435\u0442\u044F\u0433\u043D\u0456\u0442\u044C \u0434\u0435\u044F\u043A\u0456 \u0444\u0430\u0439\u043B\u0438 \u0441\u044E\u0434\u0438 \u0430\u0431\u043E \u043D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C, \u0449\u043E\u0431 \u0432\u0438\u0431\u0440\u0430\u0442\u0438 \u0444\u0430\u0439\u043B\u0438","ra_Drop file here":"\u041F\u0435\u0440\u0435\u0442\u044F\u0433\u043D\u0456\u0442\u044C \u0444\u0430\u0439\u043B \u0441\u044E\u0434\u0438","ra_Drop the files here...":"\u041F\u0435\u0440\u0435\u0442\u044F\u0433\u043D\u0456\u0442\u044C \u0444\u0430\u0439\u043B \u0441\u044E\u0434\u0438...","ra_Duplicate name":"\u041F\u043E\u0432\u0442\u043E\u0440\u044E\u0432\u0430\u043D\u0435 \u0456\u043C'\u044F","ra_Edit ACL":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 ACL","ra_Edit alias":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0456\u043C","ra_Edit custom config":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0443 \u043A\u043E\u043D\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044E","ra_Edit function":"\u0444\u0443\u043D\u043A\u0446\u0456\u044F \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F","ra_Edit object field":"\u041F\u043E\u043B\u0435 \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F \u043E\u0431'\u0454\u043A\u0442\u0430","ra_Edit role":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0440\u043E\u043B\u044C","ra_Edit room":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u043A\u0456\u043C\u043D\u0430\u0442\u0443","ra_Edit value":"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F",ra_Error:"\u041F\u043E\u043C\u0438\u043B\u043A\u0430","ra_Expand all nodes":"\u0420\u043E\u0437\u0433\u043E\u0440\u043D\u0443\u0442\u0438 \u0432\u0441\u0456 \u0432\u0443\u0437\u043B\u0438","ra_Expand one step node":"\u0420\u043E\u0437\u0433\u043E\u0440\u043D\u0456\u0442\u044C \u043E\u0434\u0438\u043D \u0440\u0456\u0432\u0435\u043D\u044C","ra_Export data to %s file":"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0434\u0430\u043D\u0456 \u0443 \u0444\u0430\u0439\u043B %s","ra_Failed to open JSON File":"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u0444\u0430\u0439\u043B JSON","ra_Fallback custom certificates":"\u0417\u0430\u043F\u0430\u0441\u043D\u0456 \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0456 \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u0438","ra_File is too big. Max %sk allowed. Try use SVG.":"\u0424\u0430\u0439\u043B \u0437\u0430\u0432\u0435\u043B\u0438\u043A\u0438\u0439. \u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E \u0434\u043E\u0437\u0432\u043E\u043B\u0435\u043D\u043E %sk. \u0421\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 SVG.",ra_Filter:"\u0444\u0456\u043B\u044C\u0442\u0440","ra_Filter files":"\u0424\u0456\u043B\u044C\u0442\u0440 \u0444\u0430\u0439\u043B\u0456\u0432","ra_Folder name":"\u041D\u0430\u0437\u0432\u0430 \u043F\u0430\u043F\u043A\u0438","ra_Folder \u2192 Channel \u2192 State":"\u041F\u0430\u043F\u043A\u0430 \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u0442\u0430\u043D","ra_Folder \u2192 Device \u2192 Channel \u2192 State":"\u041F\u0430\u043F\u043A\u0430 \u2192 \u041F\u0440\u0438\u0441\u0442\u0440\u0456\u0439 \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u0442\u0430\u043D","ra_Folder \u2192 State":"\u041F\u0430\u043F\u043A\u0430 \u2192 \u0421\u0442\u0430\u043D","ra_Folders always first":"\u041F\u0430\u043F\u043A\u0438 \u0437\u0430\u0432\u0436\u0434\u0438 \u043F\u0435\u0440\u0448\u0438\u043C\u0438",ra_Friday:"\u041F'\u044F\u0442\u043D\u0438\u0446\u044F","ra_Good luck":"\u0423\u0434\u0430\u0447\u0456","ra_Hide empty folders":"\u041F\u0440\u0438\u0445\u043E\u0432\u0430\u0442\u0438 \u043F\u043E\u0440\u043E\u0436\u043D\u0456 \u043F\u0430\u043F\u043A\u0438","ra_If no file will be created in the folder, it will disappear after the browser closed":"\u042F\u043A\u0449\u043E \u0432 \u043F\u0430\u043F\u0446\u0456 \u043D\u0435 \u0431\u0443\u0434\u0435 \u0441\u0442\u0432\u043E\u0440\u0435\u043D\u043E \u0444\u0430\u0439\u043B, \u0432\u0456\u043D \u0437\u043D\u0438\u043A\u043D\u0435 \u043F\u0456\u0441\u043B\u044F \u0437\u0430\u043A\u0440\u0438\u0442\u0442\u044F \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430","ra_Import data from %s file":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0434\u0430\u043D\u0456 \u0437 \u0444\u0430\u0439\u043B\u0443 %s","ra_Import from %s":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0437 %s","ra_Instance %s is alive":"\u041F\u0440\u0438\u043C\u0456\u0440\u043D\u0438\u043A %s \u0436\u0438\u0432\u0438\u0439","ra_Instance %s is not alive":"\u041F\u0440\u0438\u043C\u0456\u0440\u043D\u0438\u043A %s \u043D\u0435 \u0436\u0438\u0432\u0438\u0439","ra_Instance is not alive":"\u041F\u0440\u0438\u043C\u0456\u0440\u043D\u0438\u043A \u043D\u0435 \u0436\u0438\u0432\u0438\u0439","ra_Invalid CRON":"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0438\u0439 CRON","ra_Invalid JSON":"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0438\u0439 JSON","ra_Invalid answer from server":"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0430 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u044C \u0432\u0456\u0434 \u0441\u0435\u0440\u0432\u0435\u0440\u0430","ra_Invalid parent folder!":"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0430 \u0431\u0430\u0442\u044C\u043A\u0456\u0432\u0441\u044C\u043A\u0430 \u043F\u0430\u043F\u043A\u0430!","ra_Invalid structure":"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0430 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0430","ra_JSON editor":"\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 JSON","ra_Last change":"\u041E\u0441\u0442\u0430\u043D\u043D\u044F \u0437\u043C\u0456\u043D\u0430",ra_Latitude:"\u0428\u0438\u0440\u043E\u0442\u0430","ra_License %s":"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u044F %s","ra_License agreement":"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u0439\u043D\u0430 \u0443\u0433\u043E\u0434\u0430","ra_License does not exist":"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u0457 \u043D\u0435 \u0456\u0441\u043D\u0443\u0454","ra_License expired on %s":"\u0422\u0435\u0440\u043C\u0456\u043D \u0434\u0456\u0457 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0457 \u0437\u0430\u043A\u0456\u043D\u0447\u0438\u0432\u0441\u044F %s",'ra_License for other product "%s"':'\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u044F \u043D\u0430 \u0456\u043D\u0448\u0438\u0439 \u043F\u0440\u043E\u0434\u0443\u043A\u0442 "%s"',"ra_License is for version %s, but required version is %s.":"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u044F \u0434\u043B\u044F \u0432\u0435\u0440\u0441\u0456\u0457 %s, \u0430\u043B\u0435 \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u0430 \u0432\u0435\u0440\u0441\u0456\u044F %s.","ra_License must be converted":"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u044E \u043D\u0435\u043E\u0431\u0445\u0456\u0434\u043D\u043E \u043A\u043E\u043D\u0432\u0435\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0434\u043E \u043D\u043E\u0432\u0456\u0448\u043E\u0457 \u0432\u0435\u0440\u0441\u0456\u0457. \u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0437\u0440\u043E\u0431\u0438\u0442\u0438 \u0446\u0435 \u0443 \u0441\u0432\u043E\u0454\u043C\u0443 \u043F\u0440\u043E\u0444\u0456\u043B\u0456 \u043D\u0430 iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u044F \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u0432 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u0456 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0439. \u0425\u043E\u0447\u0435\u0442\u0435 \u043E\u043D\u043E\u0432\u0438\u0442\u0438 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0457 \u0437 iobroker.net?","ra_Listen on all IPs":"\u041F\u0440\u043E\u0441\u043B\u0443\u0445\u043E\u0432\u0443\u0432\u0430\u043D\u043D\u044F \u043D\u0430 \u0432\u0441\u0456\u0445 IP","ra_Load configuration from file":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043A\u043E\u043D\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044E \u0437 \u0444\u0430\u0439\u043B\u0443",ra_Longitude:"\u0414\u043E\u0432\u0433\u043E\u0442\u0430",'ra_May not trigger "updateLicenses"':'\u041C\u043E\u0436\u0435 \u043D\u0435 \u0437\u0430\u043F\u0443\u0441\u043A\u0430\u0442\u0438 "updateLicenses"',ra_Message:"\u043F\u043E\u0432\u0456\u0434\u043E\u043C\u043B\u0435\u043D\u043D\u044F",ra_Monday:"\u043F\u043E\u043D\u0435\u0434\u0456\u043B\u043E\u043A","ra_Move down":"\u0420\u0443\u0445\u0430\u0442\u0438\u0441\u044F \u0432\u043D\u0438\u0437","ra_Move up":"\u0420\u0443\u0445\u0430\u0442\u0438\u0441\u044F \u0432\u0433\u043E\u0440\u0443",ra_Name:"\u0406\u043C'\u044F","ra_No data found in file":"\u041D\u0435\u043C\u0430\u0454 \u0434\u0430\u043D\u0438\u0445 \u0443 \u0444\u0430\u0439\u043B\u0456","ra_No one license found in license manager":"\u0423 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u0456 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0439 \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0436\u043E\u0434\u043D\u043E\u0457 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0457","ra_No response from the backend":"\u041D\u0435\u043C\u0430\u0454 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u0456 \u0432\u0456\u0434 \u0441\u0435\u0440\u0432\u0435\u0440\u0430",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"\u041D\u0435\u0435\u043A\u0441\u043F\u0435\u0440\u0442\u0438 \u043C\u043E\u0436\u0443\u0442\u044C \u0441\u0442\u0432\u043E\u0440\u044E\u0432\u0430\u0442\u0438 \u043D\u043E\u0432\u0456 \u043E\u0431\u2019\u0454\u043A\u0442\u0438 \u043B\u0438\u0448\u0435 \u0432 \xAB0_userdata.0\xBB \u0430\u0431\u043E \xABalias.0\xBB.","ra_Not a number":"\u041D\u0435 \u043D\u043E\u043C\u0435\u0440",ra_Objects:"\u041E\u0431'\u0454\u043A\u0442\u0438",ra_Ok:"\u0412 \u043F\u043E\u0440\u044F\u0434\u043A\u0443","ra_On weekdays":"\u0412 \u0431\u0443\u0434\u043D\u0456 \u0434\u043D\u0456","ra_Only following structures of objects are available:":"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u0456 \u0442\u0456\u043B\u044C\u043A\u0438 \u0442\u0430\u043A\u0456 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0438 \u043E\u0431'\u0454\u043A\u0442\u0456\u0432:","ra_Only selected":"\u0422\u0456\u043B\u044C\u043A\u0438 \u043E\u0431\u0440\u0430\u043D\u0456","ra_Owner group":"\u0413\u0440\u0443\u043F\u0430 \u0432\u043B\u0430\u0441\u043D\u0438\u043A\u0456\u0432","ra_Owner user":"\u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447-\u0432\u043B\u0430\u0441\u043D\u0438\u043A","ra_Passwords are not equal!":"\u041F\u0430\u0440\u043E\u043B\u0456 \u043D\u0435 \u0431\u0443\u0432\u0430\u044E\u0442\u044C \u0440\u0456\u0432\u043D\u0438\u043C\u0438!","ra_Place your files here or click here to open the browse dialog":"\u0420\u043E\u0437\u043C\u0456\u0441\u0442\u0456\u0442\u044C \u0441\u0432\u043E\u0457 \u0444\u0430\u0439\u043B\u0438 \u0442\u0443\u0442 \u0430\u0431\u043E \u043D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u0442\u0443\u0442, \u0449\u043E\u0431 \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u0434\u0456\u0430\u043B\u043E\u0433\u043E\u0432\u0435 \u0432\u0456\u043A\u043D\u043E \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443","ra_Please confirm":"\u0411\u0443\u0434\u044C-\u043B\u0430\u0441\u043A\u0430 \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0456\u0442\u044C","ra_Please create license":"\u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0441\u0442\u0432\u043E\u0440\u0456\u0442\u044C \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E","ra_Please enter the license":"\u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0432\u0432\u0435\u0434\u0456\u0442\u044C \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E","ra_Please select file...":"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0444\u0430\u0439\u043B...","ra_Please select object ID...":"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440 \u043E\u0431'\u0454\u043A\u0442\u0430...","ra_Port could be used by %s":"\u041F\u043E\u0440\u0442 \u043C\u043E\u0436\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438\u0441\u044F %s","ra_Port is already used by %s":"\u041F\u043E\u0440\u0442 \u0443\u0436\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454\u0442\u044C\u0441\u044F %s","ra_Private certificate":"\u041F\u0440\u0438\u0432\u0430\u0442\u043D\u0438\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442",ra_Product:"\u041F\u0440\u043E\u0434\u0443\u043A\u0442","ra_Public certificate":"\u041F\u0443\u0431\u043B\u0456\u0447\u043D\u0438\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442","ra_Quality code":"\u044F\u043A\u0456\u0441\u0442\u044C","ra_Refresh tree":"\u041E\u043D\u043E\u0432\u0438\u0442\u0438 \u0434\u0435\u0440\u0435\u0432\u043E","ra_Reload files":"\u041F\u0435\u0440\u0435\u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0442\u0435 \u0444\u0430\u0439\u043B\u0438",ra_Repeat:"\u041F\u043E\u0432\u0442\u043E\u0440\u0456\u0442\u044C",ra_Replace:"\u0417\u0430\u043C\u0456\u043D\u0438\u0442\u0438","ra_Request timed out":"\u0427\u0430\u0441 \u0437\u0430\u043F\u0438\u0442\u0443 \u0432\u0438\u0447\u0435\u0440\u043F\u0430\u043D\u043E","ra_Restrict to folder":"\u041E\u0431\u043C\u0435\u0436\u0438\u0442\u0438 \u043F\u0430\u043F\u043A\u043E\u044E",ra_Root:"\u041A\u043E\u0440\u0456\u043D\u044C",ra_Saturday:"\u0421\u0443\u0431\u043E\u0442\u0430",ra_Save:"\u0437\u0431\u0435\u0440\u0435\u0433\u0442\u0438","ra_Save and close":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0442\u0430 \u0437\u0430\u043A\u0440\u0438\u0442\u0438","ra_Save configuration to file":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u043A\u043E\u043D\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044E \u0443 \u0444\u0430\u0439\u043B","ra_Save objects tree as JSON file":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0434\u0435\u0440\u0435\u0432\u043E \u043E\u0431\u2019\u0454\u043A\u0442\u0456\u0432 \u044F\u043A \u0444\u0430\u0439\u043B JSON","ra_Select all":"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0432\u0441\u0435","ra_Select color":"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043A\u043E\u043B\u0456\u0440","ra_Select predefined icon":"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u044C\u043E \u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439 \u0437\u043D\u0430\u0447\u043E\u043A","ra_Select type of export":"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0442\u0438\u043F \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u0443",ra_Selected:"\u0412\u0438\u0431\u0440\u0430\u043D\u0435","ra_Selected %s object(s)":"\u0412\u0438\u0431\u0440\u0430\u043D\u0456 \u043E\u0431\u2019\u0454\u043A\u0442\u0438 %s","ra_Serial number (UUID)":"\u0421\u0435\u0440\u0456\u0439\u043D\u0438\u0439 \u043D\u043E\u043C\u0435\u0440 (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'\u0421\u0435\u0440\u0456\u0439\u043D\u0438\u0439 \u043D\u043E\u043C\u0435\u0440 (UUID) "%s" \u0443 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0457 \u043F\u0440\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439 \u0434\u043B\u044F \u0456\u043D\u0448\u043E\u0433\u043E \u043F\u0440\u0438\u0441\u0442\u0440\u043E\u044E.',"ra_Show all folders":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u0432\u0441\u0456 \u043F\u0430\u043F\u043A\u0438","ra_Show lines between rows":"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043B\u0456\u043D\u0456\u0457 \u043C\u0456\u0436 \u0440\u044F\u0434\u043A\u0430\u043C\u0438","ra_Show/Hide object descriptions":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438/\u0421\u0445\u043E\u0432\u0430\u0442\u0438 \u043E\u043F\u0438\u0441\u0438 \u043E\u0431\u2019\u0454\u043A\u0442\u0456\u0432","ra_Show/hide filter input":"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438/\u0441\u0445\u043E\u0432\u0430\u0442\u0438 \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F \u0444\u0456\u043B\u044C\u0442\u0440\u0430","ra_Some data are not stored. Discard?":"\u0414\u0435\u044F\u043A\u0456 \u0434\u0430\u043D\u0456 \u043D\u0435 \u0437\u0431\u0435\u0440\u0456\u0433\u0430\u044E\u0442\u044C\u0441\u044F. \u0412\u0456\u0434\u043A\u0438\u043D\u0443\u0442\u0438?",ra_States:"\u0434\u0435\u0440\u0436\u0430\u0432\u0438","ra_Suitable license not found in license manager":"\u0412\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u043D\u0430 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044F \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u0432 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u0456 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0439",ra_Sunday:"\u043D\u0435\u0434\u0456\u043B\u044F","ra_Suppress question for next %s minutes":"\u041F\u0440\u0438\u0445\u043E\u0432\u0430\u0442\u0438 \u0437\u0430\u043F\u0438\u0442\u0430\u043D\u043D\u044F \u043D\u0430 \u043D\u0430\u0441\u0442\u0443\u043F\u043D\u0456 %s \u0445\u0432\u0438\u043B\u0438\u043D","ra_System language":"\u0421\u0438\u0441\u0442\u0435\u043C\u043D\u0430 \u043C\u043E\u0432\u0430","ra_Take browser position":"\u0417\u0430\u0439\u043C\u0456\u0442\u044C \u043F\u043E\u0437\u0438\u0446\u0456\u044E \u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430","ra_Take position from system settings":"\u0417\u0430\u0439\u043C\u0456\u0442\u044C \u043F\u043E\u0437\u0438\u0446\u0456\u044E \u0432 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F\u0445 \u0441\u0438\u0441\u0442\u0435\u043C\u0438",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"\u0415\u043A\u0441\u043F\u0435\u0440\u0442\u0438 \u043C\u043E\u0436\u0443\u0442\u044C \u0441\u0442\u0432\u043E\u0440\u044E\u0432\u0430\u0442\u0438 \u043E\u0431\u2019\u0454\u043A\u0442\u0438 \u0432\u0441\u044E\u0434\u0438, \u043A\u0440\u0456\u043C \u0434\u0440\u0443\u0433\u043E\u0433\u043E \u0440\u0456\u0432\u043D\u044F (\u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, \xABvis.0\xBB \u0430\u0431\u043E \xABjavascript.0\xBB).","ra_The page you are looking for was not found":"\u0421\u0442\u043E\u0440\u0456\u043D\u043A\u0430, \u044F\u043A\u0443 \u0432\u0438 \u0448\u0443\u043A\u0430\u0454\u0442\u0435, \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u0430","ra_The schedule will be executed every minute. Are you sure?":"\u0420\u043E\u0437\u043A\u043B\u0430\u0434 \u0431\u0443\u0434\u0435 \u0432\u0438\u043A\u043E\u043D\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u0449\u043E\u0445\u0432\u0438\u043B\u0438\u043D\u0438. \u0412\u0438 \u0432\u043F\u0435\u0432\u043D\u0435\u043D\u0456?","ra_The schedule will be executed every second. Are you sure?":"\u0420\u043E\u0437\u043A\u043B\u0430\u0434 \u0431\u0443\u0434\u0435 \u0432\u0438\u043A\u043E\u043D\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u0449\u043E\u0441\u0435\u043A\u0443\u043D\u0434\u0438. \u0412\u0438 \u0432\u043F\u0435\u0432\u043D\u0435\u043D\u0456?",ra_Thursday:"\u0447\u0435\u0442\u0432\u0435\u0440",ra_Timestamp:"\u041C\u0456\u0442\u043A\u0430 \u0447\u0430\u0441\u0443","ra_Toggle expert mode":"\u041F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438 \u0435\u043A\u0441\u043F\u0435\u0440\u0442\u043D\u0438\u0439 \u0440\u0435\u0436\u0438\u043C","ra_Toggle the states view":"\u041F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434 \u0448\u0442\u0430\u0442\u0456\u0432","ra_Toggle view mode":"\u041F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438 \u0440\u0435\u0436\u0438\u043C \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443","ra_Too big":"\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439","ra_Too small":"\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0438\u0439","ra_Transparent dialog":"\u041F\u0440\u043E\u0437\u043E\u0440\u0438\u0439 \u0434\u0456\u0430\u043B\u043E\u0433",ra_Tuesday:"\u0432\u0456\u0432\u0442\u043E\u0440\u043E\u043A","ra_Unknown error":"\u041D\u0435\u0432\u0456\u0434\u043E\u043C\u0430 \u043F\u043E\u043C\u0438\u043B\u043A\u0430","ra_Unknown error!":"\u041D\u0435\u0432\u0456\u0434\u043E\u043C\u0430 \u043F\u043E\u043C\u0438\u043B\u043A\u0430!",ra_Update:"\u043E\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044F","ra_Upload file":"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0444\u0430\u0439\u043B","ra_Use all available let's encrypt certificates":"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u0432\u0441\u0456 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0456 \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u0438 let's encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u0430\u0434\u0430\u043F\u0442\u0435\u0440 iobroker.acme \u0434\u043B\u044F \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u0456\u0432 letsencrypt","ra_Use system settings for position":"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0434\u043B\u044F \u043F\u043E\u0437\u0438\u0446\u0456\u0457","ra_Used system settings":"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u0456 \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F","ra_User files":"\u0424\u0430\u0439\u043B\u0438 \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430",ra_ValidTill:"\u0414\u0456\u0439\u0441\u043D\u0438\u0439 \u0434\u043E",ra_Value:"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F",ra_Version:"\u0412\u0435\u0440\u0441\u0456\u044F","ra_View file":"\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u043D\u0443\u0442\u0438 \u0444\u0430\u0439\u043B","ra_View: %s":"\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u0434: %s",ra_Wednesday:"\u0421\u0435\u0440\u0435\u0434\u0430",ra_Width:"\u0428\u0438\u0440\u0438\u043D\u0430",ra_Yes:"\u0422\u0430\u043A","ra_You can export all objects or just the selected branch.":"\u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0432\u0441\u0456 \u043E\u0431\u2019\u0454\u043A\u0442\u0438 \u0430\u0431\u043E \u043B\u0438\u0448\u0435 \u0432\u0438\u0431\u0440\u0430\u043D\u0443 \u0433\u0456\u043B\u043A\u0443.","ra_You can filter entries by entering here some text":"\u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0444\u0456\u043B\u044C\u0442\u0440\u0443\u0432\u0430\u0442\u0438 \u0437\u0430\u043F\u0438\u0441\u0438, \u0432\u0432\u0456\u0432\u0448\u0438 \u0442\u0443\u0442 \u043F\u0435\u0432\u043D\u0438\u0439 \u0442\u0435\u043A\u0441\u0442",ra___different__:"\u0456\u043D\u0448\u0438\u0439",ra_aclEveryone_read_object:"\u041A\u043E\u0436\u0435\u043D \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442",ra_aclEveryone_read_state:"\u041A\u043E\u0436\u0435\u043D \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u0441\u0442\u0430\u043D",ra_aclEveryone_write_object:"\u041A\u043E\u0436\u0435\u043D \u043C\u043E\u0436\u0435 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442",ra_aclEveryone_write_state:"\u041A\u043E\u0436\u0435\u043D \u043C\u043E\u0436\u0435 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u0438 \u0441\u0442\u0430\u043D",ra_aclGroup_read_object:"\u0413\u0440\u0443\u043F\u0430 \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442",ra_aclGroup_read_state:"\u0413\u0440\u0443\u043F\u0430 \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u0441\u0442\u0430\u043D",ra_aclGroup_write_object:"\u0413\u0440\u0443\u043F\u0430 \u043C\u043E\u0436\u0435 \u043F\u0438\u0441\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442",ra_aclGroup_write_state:"\u0413\u0440\u0443\u043F\u0430 \u043C\u043E\u0436\u0435 \u043F\u0438\u0441\u0430\u0442\u0438 \u0441\u0442\u0430\u043D",ra_aclOwner_read_object:"\u0412\u043B\u0430\u0441\u043D\u0438\u043A \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442",ra_aclOwner_read_state:"\u0412\u043B\u0430\u0441\u043D\u0438\u043A \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u0441\u0442\u0430\u043D",ra_aclOwner_write_object:"\u0412\u043B\u0430\u0441\u043D\u0438\u043A \u043C\u043E\u0436\u0435 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442",ra_aclOwner_write_state:"\u0412\u043B\u0430\u0441\u043D\u0438\u043A \u043C\u043E\u0436\u0435 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u0438 \u0441\u0442\u0430\u043D",ra_buttons:"\u043A\u043D\u043E\u043F\u043A\u0438",ra_changedFrom:"\u0417\u043C\u0456\u043D\u0435\u043D\u043E \u0437",ra_close:"\u0437\u0430\u043A\u0440\u0438\u0442\u0438",ra_create_boolean_state:"\u0421\u0442\u0432\u043E\u0440\u0456\u0442\u044C \u043B\u043E\u0433\u0456\u0447\u043D\u0438\u0439 \u0441\u0442\u0430\u043D",ra_create_channel:"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043A\u0430\u043D\u0430\u043B",ra_create_device:"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043F\u0440\u0438\u0441\u0442\u0440\u0456\u0439",ra_create_number_state:"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043D\u043E\u043C\u0435\u0440\u043D\u0438\u0439 \u0441\u0442\u0430\u043D",ra_create_state:"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",ra_create_string_state:"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0440\u044F\u0434\u043A\u043E\u0432\u0438\u0439 \u0441\u0442\u0430\u043D",ra_daysShortText:"\u0434\u043D\u0456\u0432",ra_dow_Fr:"\u041E",ra_dow_Mo:"\u043F\u043D",ra_dow_Sa:"Sa",ra_dow_Su:"\u041D\u0434",ra_dow_Th:"\u0447\u0442",ra_dow_Tu:"\u0432\u0442",ra_dow_We:"\u043C\u0438",ra_expertMode:"\u0415\u043A\u0441\u043F\u0435\u0440\u0442\u043D\u0438\u0439 \u0440\u0435\u0436\u0438\u043C",ra_fileType_all:"\u0412\u0441\u0456 \u0444\u0430\u0439\u043B\u0438",ra_fileType_audio:"\u0410\u0443\u0434\u0456\u043E",ra_fileType_code:"\u041A\u043E\u0434/JSON",ra_fileType_images:"\u0417\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F",ra_fileType_txt:"\u0442\u0435\u043A\u0441\u0442",ra_fileType_video:"\u0432\u0456\u0434\u0435\u043E","ra_fileType_video,":"\u0432\u0456\u0434\u0435\u043E",ra_filter_customs:"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F",ra_filter_customs_without:"\u0431\u0435\u0437",ra_filter_func:"\u0444\u0443\u043D\u043A\u0446\u0456\u044F",ra_filter_id:"ID",ra_filter_name:"\u0406\u043C'\u044F",ra_filter_role:"\u0420\u043E\u043B\u044C",ra_filter_room:"\u041A\u0456\u043C\u043D\u0430\u0442\u0430",ra_filter_type:"\u0422\u0438\u043F","ra_import data from %s file":"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0434\u0430\u043D\u0456 \u0437 \u0444\u0430\u0439\u043B\u0443 %s",ra_invalidConfig:"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F",ra_lastChange:"\u041E\u0441\u0442\u0430\u043D\u043D\u044F \u0437\u043C\u0456\u043D\u0430",ra_locally:"\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E",ra_month_Apr:"\u043A\u0432\u0456\u0442",ra_month_Aug:"\u0441\u0435\u0440\u043F",ra_month_Dec:"\u0433\u0440\u0443\u0434",ra_month_Feb:"\u043B\u044E\u0442\u0438\u0439",ra_month_Jan:"\u0441\u0456\u0447\u043D\u044F",ra_month_Jul:"\u043B\u0438\u043F",ra_month_Jun:"\u0447\u0435\u0440\u0432",ra_month_Mai:"\u0442\u0440\u0430\u0432\u0435\u043D\u044C",ra_month_Mar:"\u0431\u0435\u0440\u0435\u0437\u0435\u043D\u044C",ra_month_Nov:"\u041B\u0438\u0441\u0442\u043E\u043F\u0430\u0434",ra_month_Oct:"\u0436\u043E\u0432\u0442",ra_month_Sep:"\u0432\u0435\u0440",ra_months_Apr:"\u043A\u0432\u0456\u0442",ra_months_Aug:"\u0441\u0435\u0440\u043F",ra_months_Dec:"\u0433\u0440\u0443\u0434",ra_months_Feb:"\u043B\u044E\u0442\u0438\u0439",ra_months_Jan:"\u0441\u0456\u0447\u043D\u044F",ra_months_Jul:"\u043B\u0438\u043F",ra_months_Jun:"\u0447\u0435\u0440\u0432",ra_months_Mai:"\u0442\u0440\u0430\u0432\u0435\u043D\u044C",ra_months_Mar:"\u0431\u0435\u0440\u0435\u0437\u0435\u043D\u044C",ra_months_Nov:"\u041B\u0438\u0441\u0442\u043E\u043F\u0430\u0434",ra_months_Oct:"\u0436\u043E\u0432\u0442",ra_months_Sep:"\u0432\u0435\u0440",ra_none:"\u043D\u0435\u043C\u0430\u0454",ra_object_changed_by:"\u041E\u0431'\u0454\u043A\u0442 \u0437\u043C\u0456\u043D\u0435\u043D\u043E",ra_object_changed_by_user:"\u041E\u0431'\u0454\u043A\u0442 \u0432\u043E\u0441\u0442\u0430\u043D\u043D\u0454 \u0437\u043C\u0456\u043D\u0435\u043D\u043E \u043E",ra_otherConfig:"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0437 \u0456\u043D\u0448\u043E\u0433\u043E \u0430\u0434\u0430\u043F\u0442\u0435\u0440\u0430 %s",ra_qualityCode:"\u041A\u043E\u0434 \u044F\u043A\u043E\u0441\u0442\u0456",ra_repeat:"\u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438",ra_select_folder_hint:"\u0429\u043E\u0431 \u0432\u0438\u0431\u0440\u0430\u0442\u0438 \u043F\u0430\u043F\u043A\u0443, \u043F\u0440\u043E\u0441\u0442\u043E \u043A\u043B\u0430\u0446\u043D\u0456\u0442\u044C \u043F\u0430\u043F\u043A\u0443, \u0443\u0442\u0440\u0438\u043C\u0443\u044E\u0447\u0438 \u043A\u043B\u0430\u0432\u0456\u0448\u0443 \xABShift\xBB.",ra_state_changed_by:"\u0421\u0442\u0430\u043D \u0437\u043C\u0456\u043D\u0435\u043D\u043E \u043D\u0430",ra_state_changed_from:"\u041E\u0431'\u0454\u043A\u0442 \u0437\u043C\u0456\u043D\u0435\u043D\u043E \u0437",ra_timestamp:"\u041C\u0456\u0442\u043A\u0430 \u0447\u0430\u0441\u0443",ra_tooltip_ack:"\u0412\u0438\u0437\u043D\u0430\u043D\u043E",ra_tooltip_comment:"\u043A\u043E\u043C\u0435\u043D\u0442\u0430\u0440",ra_tooltip_copyState:"\u0421\u043A\u043E\u043F\u0456\u044E\u0439\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0441\u0442\u0430\u043D\u0443",ra_tooltip_customConfig:"\u0421\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F",ra_tooltip_deleteObject:"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442",ra_tooltip_editObject:"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442",ra_tooltip_editState:"\u0412\u0456\u0434\u0440\u0435\u0434\u0430\u0433\u0443\u0439\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0441\u0442\u0430\u043D\u0443",ra_tooltip_from:"\u0412\u0456\u0434",ra_tooltip_lc:"\u0412\u043E\u0441\u0442\u0430\u043D\u043D\u0454 \u0437\u043C\u0456\u043D\u0435\u043D\u043E",ra_tooltip_quality:"\u044F\u043A\u0456\u0441\u0442\u044C",ra_tooltip_ts:"\u041F\u043E\u0437\u043D\u0430\u0447\u043A\u0430 \u0447\u0430\u0441\u0443",ra_tooltip_user:"\u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447",ra_tooltip_value:"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F","ra_use seconds":"\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u0441\u0435\u043A\u0443\u043D\u0434\u0438",ra_val:"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F","ra_via internet":"\u0447\u0435\u0440\u0435\u0437 \u0456\u043D\u0442\u0435\u0440\u043D\u0435\u0442",ra_warning_every_minute:"\u041F\u043E\u043F\u0435\u0440\u0435\u0434\u0436\u0435\u043D\u043D\u044F: \u0437\u0430\u0432\u0434\u0430\u043D\u043D\u044F CRON \u0432\u0438\u043A\u043E\u043D\u0443\u0432\u0430\u0442\u0438\u043C\u0435\u0442\u044C\u0441\u044F \u0449\u043E\u0445\u0432\u0438\u043B\u0438\u043D\u0438 \u043F\u0440\u043E\u0442\u044F\u0433\u043E\u043C \u0437\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u043E\u0433\u043E \u043F\u0435\u0440\u0456\u043E\u0434\u0443!",ra_warning_every_second:"\u041F\u043E\u043F\u0435\u0440\u0435\u0434\u0436\u0435\u043D\u043D\u044F: \u0437\u0430\u0432\u0434\u0430\u043D\u043D\u044F CRON \u0432\u0438\u043A\u043E\u043D\u0443\u0432\u0430\u0442\u0438\u043C\u0435\u0442\u044C\u0441\u044F \u043A\u043E\u0436\u043D\u0443 \u0441\u0435\u043A\u0443\u043D\u0434\u0443 \u043F\u0440\u043E\u0442\u044F\u0433\u043E\u043C \u0437\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u043E\u0433\u043E \u043F\u0435\u0440\u0456\u043E\u0434\u0443!",sc_cron:"CRON",sc_date:"\u0414\u0430\u0442\u0430",sc_dates:"\u0434\u0430\u0442\u0438",sc_dow:"\u0414\u0435\u043D\u044C",sc_dows:"\u0414\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F",sc_every:"\u043A\u043E\u0436\u0435\u043D",sc_everyN_dates:"\u043A\u043E\u0436\u043D\u0456 N \u0434\u043D\u0456\u0432",sc_everyN_dow:"\u043A\u043E\u0436\u0435\u043D N-\u0439 \u0434\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F",sc_everyN_dows:"\u043A\u043E\u0436\u043D\u0456 N \u0434\u043D\u0456\u0432 \u0442\u0438\u0436\u043D\u044F",sc_everyN_hours:"\u043A\u043E\u0436\u043D\u0456 N \u0433\u043E\u0434\u0438\u043D",sc_everyN_minutes:"\u043A\u043E\u0436\u043D\u0456 N \u0445\u0432\u0438\u043B\u0438\u043D",sc_everyN_months:"\u043A\u043E\u0436\u043D\u0456 N \u043C\u0456\u0441\u044F\u0446\u0456\u0432",sc_everyN_seconds:"\u043A\u043E\u0436\u043D\u0456 N \u0441\u0435\u043A\u0443\u043D\u0434",sc_every_dates:"\u043A\u043E\u0436\u0435\u043D \u0434\u0435\u043D\u044C",sc_every_dow:"\u043A\u043E\u0436\u0435\u043D \u0434\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F",sc_every_dows:"\u043A\u043E\u0436\u0435\u043D \u0434\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F",sc_every_hours:"\u0449\u043E\u0433\u043E\u0434\u0438\u043D\u0438",sc_every_minutes:"\u043A\u043E\u0436\u043D\u0443 \u0445\u0432\u0438\u043B\u0438\u043D\u0443",sc_every_months:"\u0449\u043E\u043C\u0456\u0441\u044F\u0446\u044F",sc_every_seconds:"\u043A\u043E\u0436\u043D\u0430 \u0441\u0435\u043A\u0443\u043D\u0434\u0430",sc_from:"\u0412\u0456\u0434",sc_hours:"\u0433\u043E\u0434\u0438\u043D\u0438",sc_interval:"\u0406\u043D\u0442\u0435\u0440\u0432\u0430\u043B",sc_intervalBetween:"\u0406\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u043C\u0456\u0436",sc_invalid_cron:"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0438\u0439 CRON",sc_minutes:"\u0445\u0432\u0438\u043B\u0438\u043D",sc_months:"\u043C\u0456\u0441\u044F\u0446\u0456\u0432",sc_once:"\u041E\u0434\u0438\u043D \u0440\u0430\u0437",sc_period:"\u041A\u0440\u0430\u043F\u043A\u0430",sc_seconds:"\u0441\u0435\u043A\u0443\u043D\u0434",sc_simple:"\u043F\u0440\u043E\u0441\u0442\u043E",sc_specific:"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0438\u0439 \u0447\u0430\u0441",sc_specific_dates:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u0434\u0430\u0442\u0438",sc_specific_dow:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0438\u0439 \u0434\u0435\u043D\u044C (\u0434\u043D\u0456) \u0442\u0438\u0436\u043D\u044F",sc_specific_dows:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0438\u0439 \u0434\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F",sc_specific_hours:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u0433\u043E\u0434\u0438\u043D\u0438",sc_specific_minutes:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u0445\u0432\u0438\u043B\u0438\u043D\u0438",sc_specific_months:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u043C\u0456\u0441\u044F\u0446\u0456",sc_specific_seconds:"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u0441\u0435\u043A\u0443\u043D\u0434\u0438",sc_time:"\u0447\u0430\u0441",sc_to:"\u0434\u043E",sc_wizard:"\u043C\u0430\u0439\u0441\u0442\u0435\u0440",sch_all:"\u0432\u0441\u0435",sch_astroDay:"\u0410\u0441\u0442\u0440\u043E\u0434\u0435\u043D\u044C",sch_astroNight:"\u0410\u0441\u0442\u0440\u043E \u043D\u0456\u0447",sch_astro_dawn:"\u0421\u0432\u0456\u0442\u0430\u043D\u043E\u043A",sch_astro_dusk:"\u0421\u0443\u0442\u0456\u043D\u043A\u0438",sch_astro_goldenHour:"\u0417\u043E\u043B\u043E\u0442\u0430 \u0433\u043E\u0434\u0438\u043D\u0430",sch_astro_goldenHourEnd:"\u041A\u0456\u043D\u0435\u0446\u044C \u0437\u043E\u043B\u043E\u0442\u043E\u0457 \u0433\u043E\u0434\u0438\u043D\u0438",sch_astro_nadir:"\u041D\u0430\u0434\u0456\u0440",sch_astro_nauticalDawn:"\u041C\u043E\u0440\u0441\u044C\u043A\u0438\u0439 \u0441\u0432\u0456\u0442\u0430\u043D\u043E\u043A",sch_astro_nauticalDusk:"\u041C\u043E\u0440\u0441\u044C\u043A\u0456 \u0441\u0443\u0442\u0456\u043D\u043A\u0438",sch_astro_night:"\u043D\u0456\u0447",sch_astro_nightEnd:"\u041A\u0456\u043D\u0435\u0446\u044C \u043D\u043E\u0447\u0456",sch_astro_solarNoon:"\u0421\u043E\u043D\u044F\u0447\u043D\u0438\u0439 \u043F\u043E\u043B\u0443\u0434\u0435\u043D\u044C",sch_astro_sunrise:"\u0421\u0445\u0456\u0434 \u0441\u043E\u043D\u0446\u044F",sch_astro_sunriseEnd:"\u041A\u0456\u043D\u0435\u0446\u044C \u0441\u0445\u043E\u0434\u0443 \u0441\u043E\u043D\u0446\u044F",sch_astro_sunset:"\u0417\u0430\u0445\u0456\u0434 \u0441\u043E\u043D\u0446\u044F",sch_astro_sunsetStart:"\u041F\u043E\u0447\u0430\u0442\u043E\u043A \u0437\u0430\u0445\u043E\u0434\u0443 \u0441\u043E\u043D\u0446\u044F",sch_at:"\u0432",sch_desc_atTime:"\u0432 %s",sch_desc_everyDay:"\u043A\u043E\u0436\u0435\u043D \u0434\u0435\u043D\u044C",sch_desc_everyHour:"\u0449\u043E\u0433\u043E\u0434\u0438\u043D\u0438",sch_desc_everyMinute:"\u043A\u043E\u0436\u043D\u0443 \u0445\u0432\u0438\u043B\u0438\u043D\u0443",sch_desc_everyMonth:"\u0449\u043E\u043C\u0456\u0441\u044F\u0446\u044F",sch_desc_everyNDay:"\u043A\u043E\u0436\u0435\u043D %s \u0434\u0435\u043D\u044C",sch_desc_everyNHours:"\u043A\u043E\u0436\u043D\u0456 %s \u0433\u043E\u0434\u0438\u043D",sch_desc_everyNMinutes:"\u043A\u043E\u0436\u043D\u0456 %s \u0445\u0432\u0438\u043B\u0438\u043D",sch_desc_everyNMonths:"\u043A\u043E\u0436\u043D\u0456 %s \u043C\u0456\u0441\u044F\u0446\u0456\u0432",sch_desc_everyNWeeks:"\u043A\u043E\u0436\u043D\u0456 %s \u0442\u0438\u0436\u043D\u0456\u0432",sch_desc_everyNYears:"\u043A\u043E\u0436\u043D\u0456 %s \u0440\u043E\u043A\u0456\u0432",sch_desc_everyWeek:"\u0449\u043E\u0442\u0438\u0436\u043D\u044F",sch_desc_everyYear:"\u0449\u043E\u0440\u043E\u043A\u0443",sch_desc_intervalFromTo:"\u0432\u0456\u0434 %s \u0434\u043E %s",sch_desc_never:"\u043D\u0456\u043A\u043E\u043B\u0438",sch_desc_onDate:"\u043D\u0430 %s \u0437 %s",sch_desc_onDates:"\u043D\u0430 %s \u0456 %s \u0437",sch_desc_onEveryDate:"\u043D\u0430 \u043A\u043E\u0436\u043D\u0443 \u0434\u0430\u0442\u0443",sch_desc_onMonth:"%s",sch_desc_onMonths:"%s \u0456 %s",sch_desc_onWeekday:"\u043D\u0430 %s",sch_desc_onWeekdays:"\u043D\u0430 %s \u0456 %s",sch_desc_onWeekends:"\u043D\u0430 \u0432\u0438\u0445\u0456\u0434\u043D\u0438\u0445",sch_desc_onWorkdays:"\u0432 \u0440\u043E\u0431\u043E\u0447\u0456 \u0434\u043D\u0456",sch_desc_onceInPast:"\u0431\u0456\u043B\u044C\u0448\u0435 \u043D\u0435 \u0432\u0438\u043A\u043E\u043D\u0443\u0432\u0430\u0442\u0438\u043C\u0435\u0442\u044C\u0441\u044F, \u043E\u0441\u043A\u0456\u043B\u044C\u043A\u0438 \u0437\u0430\u043F\u0443\u0441\u043A \u0443 \u043C\u0438\u043D\u0443\u043B\u043E\u043C\u0443",sch_desc_once_on:"\u043D\u0430 %s",sch_desc_validFrom:"\u0432\u0456\u0434 %s",sch_desc_validFromTo:"\u0412\u0438\u043A\u043E\u043D\u0430\u0442\u0438 \u0432\u0456\u0434 \u0434\u043E",sch_desc_validTo:"\u0434\u043E %s",sch_every:"\u043A\u043E\u0436\u0435\u043D",sch_exactTime:"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0438\u0439 \u0447\u0430\u0441",sch_from:"\u0432\u0456\u0434",sch_fromTo:"\u0412\u0456\u0434 \u0434\u043E",sch_intervalTime:"\u0427\u0430\u0441 \u0456\u043D\u0442\u0435\u0440\u0432\u0430\u043B\u0443",sch_invert:"\u0456\u043D\u0432\u0435\u0440\u0442\u0443\u0432\u0430\u0442\u0438",sch_no_one:"\u043D\u0435\u043C\u0430\u0454",sch_on:"\u043D\u0430",sch_period:"\u041A\u0440\u0430\u043F\u043A\u0430",sch_periodDaily:"\u0429\u043E\u0434\u043D\u044F",sch_periodDates:"\u0434\u0430\u0442\u0438",sch_periodDay:"\u0414\u0435\u043D\u044C",sch_periodEvery:"\u043A\u043E\u0436\u0435\u043D",sch_periodEveryDay:"\u041A\u043E\u0436\u0435\u043D \u0434\u0435\u043D\u044C",sch_periodEveryMonth:"\u0429\u043E\u043C\u0456\u0441\u044F\u0446\u044F",sch_periodEveryWeek:"\u0429\u043E\u0442\u0438\u0436\u043D\u044F",sch_periodEveryYear:"\u0429\u043E\u0440\u043E\u043A\u0443",sch_periodHours:"\u0433\u043E\u0434\u0438\u043D\u0438",sch_periodMinutes:"\u0445\u0432\u0438\u043B\u0438\u043D",sch_periodMonth:"\u043C\u0456\u0441\u044F\u0446\u044C",sch_periodMonthly:"\u0429\u043E\u043C\u0456\u0441\u044F\u0446\u044F",sch_periodOnce:"\u041E\u0434\u0438\u043D \u0440\u0430\u0437",sch_periodSpecificMonths:"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u043C\u0456\u0441\u044F\u0446\u0456",sch_periodWeek:"\u0442\u0438\u0436\u0434\u0435\u043D\u044C",sch_periodWeekdays:"\u0431\u0443\u0434\u043D\u0456",sch_periodWeekend:"\u0412\u0438\u0445\u0456\u0434\u043D\u0456",sch_periodWeekly:"\u0429\u043E\u0442\u0438\u0436\u043D\u044F",sch_periodWorkdays:"\u0440\u043E\u0431\u043E\u0447\u0456 \u0434\u043D\u0456",sch_periodYear:"\u0440\u0456\u043A",sch_periodYearly:"\u0449\u043E\u0440\u0456\u0447\u043D\u043E",sch_specificTime:"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0438\u0439 \u0447\u0430\u0441",sch_time:"\u0447\u0430\u0441",sch_to:"\u0434\u043E",sch_valid:"\u0414\u0456\u0439\u0441\u043D\u0438\u0439",sch_validFrom:"\u0432\u0456\u0434",sch_validTo:"\u0434\u043E",sch_wholeDay:"\u0426\u0456\u043B\u0438\u0439 \u0434\u0435\u043D\u044C",sch_yearEveryMonth:"\u0449\u043E\u043C\u0456\u0441\u044F\u0446\u044F"};var $9={"ra_%s links from aliases":"\u6765\u81EA\u522B\u540D\u7684 %s \u4E2A\u94FE\u63A5","ra_%s object(s) processed":"\u5DF2\u5904\u7406%s\u4E2A\u5BF9\u8C61","ra_%s was imported":"\u5BF9\u8C61\u5DF2\u5BFC\u5165","ra_Accept license":"\u63A5\u53D7\u8BB8\u53EF","ra_Add new child object to selected parent":"\u5C06\u65B0\u7684\u5B50\u5BF9\u8C61\u6DFB\u52A0\u5230\u9009\u5B9A\u7684\u7236\u5BF9\u8C61","ra_Add objects tree from JSON file":"\u4ECEJSON\u6587\u4EF6\u6DFB\u52A0\u5BF9\u8C61\u6811","ra_Add row":"\u6DFB\u52A0\u884C","ra_Advanced options":"\u9AD8\u7EA7\u9009\u9879","ra_All items are filtered out":"\u6240\u6709\u9879\u76EE\u90FD\u88AB\u8FC7\u6EE4\u6389","ra_All objects":"\u6240\u6709\u5BF9\u8C61",ra_Append:"\u9644\u52A0","ra_Append %s entries or replace existing?":"\u8FFD\u52A0 %s \u6761\u76EE\u8FD8\u662F\u66FF\u6362\u73B0\u6709\u6761\u76EE\uFF1F","ra_Append or replace?":"\u8FFD\u52A0\u8FD8\u662F\u66FF\u6362\uFF1F","ra_Are you sure?":"\u4F60\u786E\u5B9A\u5417\uFF1F","ra_Auto (no custom columns)":"\u81EA\u52A8\uFF08\u65E0\u81EA\u5B9A\u4E49\u5217\uFF09","ra_Back to %s":"\u8FD4\u56DE\u201C%s\u201D","ra_Background image":"\u80CC\u666F\u56FE\u50CF",ra_Cancel:"\u53D6\u6D88","ra_Cannot add items with set filter":"\u65E0\u6CD5\u4F7F\u7528\u8BBE\u7F6E\u8FC7\u6EE4\u5668\u6DFB\u52A0\u9879\u76EE","ra_Cannot decode license":"\u65E0\u6CD5\u89E3\u7801\u8BB8\u53EF\u8BC1","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"\u65E0\u6CD5\u786E\u5B9A\u4F4D\u7F6E\uFF1A\u7CFB\u7EDF\u8BBE\u7F6E\u4E3A\u7A7A\u4E14\u6D4F\u89C8\u5668\u4E2D\u7981\u7528\u4E86 GPS \u68C0\u6D4B",'ra_Cannot find "%s"':"\u627E\u4E0D\u5230\u201C%s\u201D",'ra_Cannot read "%s"':"\u65E0\u6CD5\u9605\u8BFB\u201C%s\u201D","ra_Cannot read licenses: %s":"\u65E0\u6CD5\u8BFB\u53D6\u8BB8\u53EF\u8BC1\uFF1A%s","ra_Cannot retrieve options, as instance is offline":"\u65E0\u6CD5\u68C0\u7D22\u9009\u9879\uFF0C\u56E0\u4E3A\u5B9E\u4F8B\u5904\u4E8E\u8131\u673A\u72B6\u6001","ra_Cannot update attribute, because not found in the object":"\u65E0\u6CD5\u66F4\u65B0\u5C5E\u6027\uFF0C\u56E0\u4E3A\u5728\u5BF9\u8C61\u4E2D\u627E\u4E0D\u5230","ra_Cannot upload":"\u65E0\u6CD5\u4E0A\u4F20",ra_Categories:"\u7C7B\u522B","ra_Chained certificate":"\u94FE\u5F0F\u8BC1\u4E66","ra_Change color theme":"\u66F4\u6539\u989C\u8272\u4E3B\u9898","ra_Changed from":"\u66F4\u6539\u4E3A","ra_Channel \u2192 State":"\u9891\u9053\u2192\u72B6\u6001","ra_Check license":"\u68C0\u67E5\u8BB8\u53EF\u8BC1",ra_Checked:"\u52FE\u9009",ra_Clear:"\u5220\u9664","ra_Clear filter":"\u6E05\u9664\u7B5B\u9009","ra_Clear icon":"\u6E05\u9664\u56FE\u6807","ra_Clone current row":"\u514B\u9686\u5F53\u524D\u884C",ra_Close:"\u5173","ra_Collapse all nodes":"\u6536\u5408\u6240\u6709\u8282\u70B9","ra_Collapse one step node":"\u6298\u53E0\u4E00\u7EA7",ra_Commercial:"\u5546\u4E1A\u7684",ra_Configure:"\u914D\u7F6E","ra_Configure visible columns":"\u914D\u7F6E\u53EF\u89C1\u5217","ra_Confirm deletion of %s":"\u786E\u8BA4\u5220\u9664%s",ra_Connected:"\u8FDE\u63A5\u7684",ra_Copied:"\u590D\u5236\u7684","ra_Copied %s":'\u590D\u5236\u7684"%s"',"ra_Copy content":"\u590D\u5236\u5185\u5BB9",ra_Create:"\u521B\u5EFA","ra_Create alias":"\u521B\u5EFA\u522B\u540D","ra_Create folder":"\u521B\u5EFA\u6587\u4EF6\u5939","ra_Create new folder in %s":"\u5728%s\u4E2D\u521B\u5EFA\u65B0\u6587\u4EF6\u5939",ra_Crop:"\u5E84\u7A3C","ra_Define CRON...":"\u5B9A\u4E49 CRON...","ra_Define functions":"\u5B9A\u4E49\u529F\u80FD","ra_Define rooms":"\u5B9A\u4E49\u623F\u95F4","ra_Define schedule":"\u5B9A\u4E49\u65F6\u95F4\u8868","ra_Define schedule...":"\u5B9A\u4E49\u65F6\u95F4\u8868...",ra_Del:"Delete",ra_Delete:"\u5220\u9664","ra_Delete (no confirm for 5 mins)":"\u5220\u9664\uFF085\u5206\u949F\u5185\u672A\u786E\u8BA4\uFF09","ra_Delete current row":"\u5220\u9664\u5F53\u524D\u884C","ra_Deselect all":"\u5168\u90E8\u53D6\u6D88\u9009\u62E9","ra_Device \u2192 Channel \u2192 State":"\u8BBE\u5907\u2192\u9891\u9053\u2192\u72B6\u6001",ra_Discard:"\u4E22\u5F03",ra_Disconnected:"\u65AD\u5F00\u8FDE\u63A5","ra_Do not export values of states":"\u4E0D\u5BFC\u51FA\u72B6\u6001\u503C","ra_Do not use let's encrypt":"\u4E0D\u8981\u4F7F\u7528\u8BA9\u6211\u4EEC\u52A0\u5BC6","ra_Double click to reset table layout":"\u53CC\u51FB\u91CD\u7F6E\u8868\u683C\u5E03\u5C40","ra_Drag 'n' drop some files here, or click to select files":"\u5C06\u4E00\u4E9B\u6587\u4EF6\u62D6\u653E\u5230\u6B64\u5904\uFF0C\u6216\u5355\u51FB\u4EE5\u9009\u62E9\u6587\u4EF6","ra_Drop file here":"\u5C06\u6863\u6848\u653E\u5728\u8FD9\u91CC","ra_Drop the files here...":"\u628A\u6587\u4EF6\u653E\u5728\u8FD9\u91CC...","ra_Duplicate name":"\u540D\u79F0\u91CD\u590D","ra_Edit ACL":"\u7F16\u8F91\u8BBF\u95EE\u63A7\u5236\u5217\u8868","ra_Edit alias":"\u7F16\u8F91\u522B\u540D","ra_Edit custom config":"\u7F16\u8F91\u81EA\u5B9A\u4E49\u914D\u7F6E","ra_Edit function":"\u7F16\u8F91\u529F\u80FD","ra_Edit object field":"\u7F16\u8F91\u5BF9\u8C61\u5B57\u6BB5","ra_Edit role":"\u7F16\u8F91\u89D2\u8272","ra_Edit room":"\u7F16\u8F91\u5BA4","ra_Edit value":"\u7F16\u8F91\u503C",ra_Error:"\u9519\u8BEF","ra_Expand all nodes":"\u5C55\u5F00\u6240\u6709\u8282\u70B9","ra_Expand one step node":"\u6269\u5927\u4E00\u7EA7","ra_Export data to %s file":"\u5C06\u6570\u636E\u5BFC\u51FA\u5230 %s \u6587\u4EF6","ra_Failed to open JSON File":"\u65E0\u6CD5\u6253\u5F00JSON\u6587\u4EF6","ra_Fallback custom certificates":"\u540E\u5907\u81EA\u5B9A\u4E49\u8BC1\u4E66","ra_File is too big. Max %sk allowed. Try use SVG.":"\u6587\u4EF6\u592A\u5927\u3002\u5141\u8BB8\u7684\u6700\u5927\u5B57\u8282%s\u6570\u3002\u5C1D\u8BD5\u4F7F\u7528 SVG\u3002",ra_Filter:"\u7B5B\u9009","ra_Filter files":"\u8FC7\u6EE4\u6587\u4EF6","ra_Folder name":"\u6587\u4EF6\u5939\u540D\u79F0","ra_Folder \u2192 Channel \u2192 State":"\u6587\u4EF6\u5939\u2192\u9891\u9053\u2192\u72B6\u6001","ra_Folder \u2192 Device \u2192 Channel \u2192 State":"\u6587\u4EF6\u5939\u2192\u8BBE\u5907\u2192\u9891\u9053\u2192\u72B6\u6001","ra_Folder \u2192 State":"\u6587\u4EF6\u5939\u2192\u72B6\u6001","ra_Folders always first":"\u8D44\u6599\u5939\u6C38\u8FDC\u4F18\u5148",ra_Friday:"\u661F\u671F\u4E94","ra_Good luck":"\u795D\u4F60\u597D\u8FD0","ra_Hide empty folders":"\u9690\u85CF\u7A7A\u6587\u4EF6\u5939","ra_If no file will be created in the folder, it will disappear after the browser closed":"\u5982\u679C\u5728\u8BE5\u6587\u4EF6\u5939\u4E2D\u672A\u521B\u5EFA\u4EFB\u4F55\u6587\u4EF6\uFF0C\u5219\u8BE5\u6587\u4EF6\u5C06\u5728\u6D4F\u89C8\u5668\u5173\u95ED\u540E\u6D88\u5931","ra_Import data from %s file":"\u4ECE %s \u6587\u4EF6\u5BFC\u5165\u6570\u636E","ra_Import from %s":"\u4ECE %s \u5BFC\u5165","ra_Instance %s is alive":"\u5B9E\u4F8B %s \u662F\u6D3B\u52A8\u7684","ra_Instance %s is not alive":"\u5B9E\u4F8B %s \u4E0D\u5B58\u5728","ra_Instance is not alive":"\u5B9E\u4F8B\u4E0D\u5B58\u5728","ra_Invalid CRON":"\u65E0\u6548\u7684 CRON","ra_Invalid JSON":"JSON \u65E0\u6548","ra_Invalid answer from server":"\u6765\u81EA\u670D\u52A1\u5668\u7684\u65E0\u6548\u7B54\u6848","ra_Invalid parent folder!":"\u7236\u6587\u4EF6\u5939\u65E0\u6548\uFF01","ra_Invalid structure":"\u7ED3\u6784\u65E0\u6548","ra_JSON editor":"JSON \u7F16\u8F91\u5668","ra_Last change":"\u6700\u540E\u4E00\u6B21\u53D8\u66F4",ra_Latitude:"\u7EAC\u5EA6","ra_License %s":"\u8BB8\u53EF\u8BC1 %s","ra_License agreement":"\u8BB8\u53EF\u534F\u8BAE","ra_License does not exist":"\u8BB8\u53EF\u8BC1\u4E0D\u5B58\u5728","ra_License expired on %s":"\u8BB8\u53EF\u8BC1\u5DF2\u4E8E %s \u8FC7\u671F",'ra_License for other product "%s"':"\u5176\u4ED6\u4EA7\u54C1\u201C%s\u201D\u7684\u8BB8\u53EF\u8BC1","ra_License is for version %s, but required version is %s.":"\u8BB8\u53EF\u8BC1\u9002\u7528\u4E8E\u7248\u672C %s\uFF0C\u4F46\u6240\u9700\u7248\u672C\u4E3A %s\u3002","ra_License must be converted":"\u8BB8\u53EF\u8BC1\u5FC5\u987B\u8F6C\u6362\u4E3A\u66F4\u65B0\u7248\u672C\u3002\u60A8\u53EF\u4EE5\u5728 iobroker.net \u4E2A\u4EBA\u8D44\u6599\u4E2D\u6267\u884C\u6B64\u64CD\u4F5C\u3002","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"\u5728\u8BB8\u53EF\u8BC1\u7BA1\u7406\u5668\u4E2D\u627E\u4E0D\u5230\u8BB8\u53EF\u8BC1\u3002\u60A8\u8981\u4ECE iobroker.net \u66F4\u65B0\u8BB8\u53EF\u8BC1\u5417\uFF1F","ra_Listen on all IPs":"\u76D1\u542C\u6240\u6709IP","ra_Load configuration from file":"\u4ECE\u6587\u4EF6\u52A0\u8F7D\u914D\u7F6E",ra_Longitude:"\u7ECF\u5EA6",'ra_May not trigger "updateLicenses"':"\u53EF\u80FD\u4E0D\u4F1A\u89E6\u53D1\u201CupdateLicenses\u201D",ra_Message:"\u4FE1\u606F",ra_Monday:"\u5468\u4E00","ra_Move down":"\u4E0B\u79FB","ra_Move up":"\u63D0\u5347",ra_Name:"\u59D3\u540D","ra_No data found in file":"\u6587\u4EF6\u4E2D\u672A\u627E\u5230\u6570\u636E","ra_No one license found in license manager":"\u8BB8\u53EF\u8BC1\u7BA1\u7406\u5668\u4E2D\u672A\u627E\u5230\u4EFB\u4F55\u8BB8\u53EF\u8BC1","ra_No response from the backend":"\u540E\u7AEF\u65E0\u54CD\u5E94",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"\u975E\u4E13\u5BB6\u53EA\u80FD\u5728\u201C 0_userdata.0\u201D\u6216\u201C alias.0\u201D\u4E2D\u521B\u5EFA\u65B0\u5BF9\u8C61\u3002","ra_Not a number":"\u4E0D\u662F\u6570\u5B57",ra_Objects:"\u5BF9\u8C61",ra_Ok:"\u597D","ra_On weekdays":"\u5728\u5DE5\u4F5C\u65E5","ra_Only following structures of objects are available:":"\u4EC5\u4EE5\u4E0B\u5BF9\u8C61\u7ED3\u6784\u53EF\u7528\uFF1A","ra_Only selected":"\u53EA\u9009\u62E9","ra_Owner group":"\u6240\u6709\u8005\u7EC4","ra_Owner user":"\u6240\u6709\u8005\u7528\u6237","ra_Passwords are not equal!":"\u5BC6\u7801\u4E0D\u76F8\u7B49\uFF01","ra_Place your files here or click here to open the browse dialog":"\u5C06\u6587\u4EF6\u653E\u5728\u6B64\u5904\u6216\u5355\u51FB\u6B64\u5904\u6253\u5F00\u6D4F\u89C8\u5BF9\u8BDD\u6846","ra_Please confirm":"\u8BF7\u786E\u8BA4","ra_Please create license":"\u8BF7\u521B\u5EFA\u8BB8\u53EF\u8BC1","ra_Please enter the license":"\u8BF7\u8F93\u5165\u8BB8\u53EF\u8BC1","ra_Please select file...":"\u8BF7\u9009\u62E9\u6587\u4EF6...","ra_Please select object ID...":"\u8BF7\u9009\u62E9\u5BF9\u8C61ID ...","ra_Port could be used by %s":"%s \u53EF\u4EE5\u4F7F\u7528\u7AEF\u53E3","ra_Port is already used by %s":"\u7AEF\u53E3\u5DF2\u88AB %s \u4F7F\u7528","ra_Private certificate":"\u79C1\u6709\u8BC1\u4E66",ra_Product:"\u4EA7\u54C1","ra_Public certificate":"\u516C\u5171\u8BC1\u4E66","ra_Quality code":"\u8D28\u91CF\u4EE3\u7801","ra_Refresh tree":"\u5237\u65B0\u6811","ra_Reload files":"\u91CD\u65B0\u8F7D\u5165\u6587\u4EF6",ra_Repeat:"\u91CD\u590D",ra_Replace:"\u4EE3\u66FF","ra_Request timed out":"\u8BF7\u6C42\u8D85\u65F6","ra_Restrict to folder":"\u9650\u5236\u5230\u6587\u4EF6\u5939",ra_Root:"\u6839",ra_Saturday:"\u5468\u516D",ra_Save:"\u4FDD\u5B58","ra_Save and close":"\u4FDD\u5B58\u5E76\u5173\u95ED","ra_Save configuration to file":"\u5C06\u914D\u7F6E\u4FDD\u5B58\u5230\u6587\u4EF6","ra_Save objects tree as JSON file":"\u5C06\u5BF9\u8C61\u6811\u53E6\u5B58\u4E3AJSON\u6587\u4EF6","ra_Select all":"\u5168\u9009","ra_Select color":"\u9009\u62E9\u989C\u8272","ra_Select predefined icon":"\u9009\u62E9\u9884\u5B9A\u4E49\u56FE\u6807","ra_Select type of export":"\u9009\u62E9\u5BFC\u51FA\u7C7B\u578B",ra_Selected:"\u5DF2\u9009","ra_Selected %s object(s)":"\u9009\u5B9A\u7684 %s \u4E2A\u5BF9\u8C61","ra_Serial number (UUID)":"\u5E8F\u5217\u53F7 (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"\u8BB8\u53EF\u8BC1\u4E2D\u7684\u5E8F\u5217\u53F7 (UUID)\u201C%s\u201D\u7528\u4E8E\u5176\u4ED6\u8BBE\u5907\u3002","ra_Show all folders":"\u663E\u793A\u6240\u6709\u6587\u4EF6\u5939","ra_Show lines between rows":"\u663E\u793A\u884C\u4E4B\u95F4\u7684\u7EBF","ra_Show/Hide object descriptions":"\u663E\u793A/\u9690\u85CF\u5BF9\u8C61\u63CF\u8FF0","ra_Show/hide filter input":"\u663E\u793A/\u9690\u85CF\u8FC7\u6EE4\u5668\u8F93\u5165","ra_Some data are not stored. Discard?":"\u90E8\u5206\u6570\u636E\u672A\u5B58\u50A8\u3002\u4E22\u5F03\uFF1F",ra_States:"\u72B6\u6001","ra_Suitable license not found in license manager":"\u5728\u8BB8\u53EF\u8BC1\u7BA1\u7406\u5668\u4E2D\u627E\u4E0D\u5230\u5408\u9002\u7684\u8BB8\u53EF\u8BC1",ra_Sunday:"\u661F\u671F\u65E5","ra_Suppress question for next %s minutes":"\u5728\u63A5\u4E0B\u6765\u7684%s\u5206\u949F\u5185\u53D6\u6D88\u63D0\u95EE","ra_System language":"\u7CFB\u7EDF\u8BED\u8A00","ra_Take browser position":"\u4ECE\u6D4F\u89C8\u5668\u83B7\u53D6\u4F4D\u7F6E","ra_Take position from system settings":"\u4ECE\u7CFB\u7EDF\u8BBE\u7F6E\u4E2D\u83B7\u53D6\u4F4D\u7F6E",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"\u4E13\u5BB6\u53EF\u4EE5\u5728\u4EFB\u4F55\u5730\u65B9\u521B\u5EFA\u5BF9\u8C61\uFF0C\u4F46\u8981\u4ECE\u7B2C\u4E8C\u5C42\u5F00\u59CB\uFF08\u4F8B\u5982\u201C vis.0\u201D\u6216\u201C javascript.0\u201D\uFF09\u3002","ra_The page you are looking for was not found":"\u672A\u627E\u5230\u60A8\u8981\u67E5\u627E\u7684\u9875\u9762","ra_The schedule will be executed every minute. Are you sure?":"\u8BE5\u8BA1\u5212\u5C06\u6BCF\u5206\u949F\u6267\u884C\u4E00\u6B21\u3002\u60A8\u786E\u5B9A\u5417\uFF1F","ra_The schedule will be executed every second. Are you sure?":"\u8BE5\u8BA1\u5212\u5C06\u6BCF\u79D2\u6267\u884C\u4E00\u6B21\u3002\u4F60\u786E\u5B9A\u5417\uFF1F",ra_Thursday:"\u5468\u56DB",ra_Timestamp:"\u65F6\u95F4\u6233\u8BB0","ra_Toggle expert mode":"\u5207\u6362\u4E13\u5BB6\u6A21\u5F0F","ra_Toggle the states view":"\u5207\u6362\u72B6\u6001\u89C6\u56FE","ra_Toggle view mode":"\u5207\u6362\u68C0\u89C6\u6A21\u5F0F","ra_Too big":"\u592A\u5927","ra_Too small":"\u592A\u5C0F","ra_Transparent dialog":"\u900F\u660E\u5BF9\u8BDD\u6846",ra_Tuesday:"\u5468\u4E8C","ra_Unknown error":"\u672A\u77E5\u9519\u8BEF","ra_Unknown error!":"\u672A\u77E5\u9519\u8BEF\uFF01",ra_Update:"\u66F4\u65B0\u8D44\u6599","ra_Upload file":"\u4E0A\u4F20\u6587\u4EF6","ra_Use all available let's encrypt certificates":"\u4F7F\u7528\u6240\u6709\u53EF\u7528\u7684\u8BA9\u6211\u4EEC\u52A0\u5BC6\u8BC1\u4E66","ra_Use iobroker.acme adapter for letsencrypt certificates":"\u4F7F\u7528 iobroker.acme \u9002\u914D\u5668\u83B7\u53D6 letsencrypt \u8BC1\u4E66","ra_Use system settings for position":"\u4F7F\u7528\u7CFB\u7EDF\u8BBE\u7F6E\u5B9A\u4F4D","ra_Used system settings":"\u4F7F\u7528\u7684\u7CFB\u7EDF\u8BBE\u7F6E","ra_User files":"\u7528\u6237\u6863\u6848",ra_ValidTill:"\u6709\u6548\u671F\u81F3",ra_Value:"\u503C",ra_Version:"\u7248\u672C","ra_View file":"\u67E5\u770B\u6587\u4EF6","ra_View: %s":"\u67E5\u770B\uFF1A%s",ra_Wednesday:"\u5468\u4E09",ra_Width:"\u5BBD\u5EA6",ra_Yes:"\u662F\u7684","ra_You can export all objects or just the selected branch.":"\u60A8\u53EF\u4EE5\u5BFC\u51FA\u6240\u6709\u5BF9\u8C61\u6216\u4EC5\u5BFC\u51FA\u9009\u5B9A\u7684\u5206\u652F\u3002","ra_You can filter entries by entering here some text":"\u60A8\u53EF\u4EE5\u901A\u8FC7\u5728\u6B64\u5904\u8F93\u5165\u4E00\u4E9B\u6587\u672C\u6765\u8FC7\u6EE4\u6761\u76EE",ra___different__:"\u4E0D\u540C\u7684",ra_aclEveryone_read_object:"\u6BCF\u4E2A\u4EBA\u90FD\u53EF\u4EE5\u9605\u8BFB\u5BF9\u8C61",ra_aclEveryone_read_state:"\u6BCF\u4E2A\u4EBA\u90FD\u53EF\u4EE5\u9605\u8BFB\u72B6\u6001",ra_aclEveryone_write_object:"\u6BCF\u4E2A\u4EBA\u90FD\u53EF\u4EE5\u5199\u5BF9\u8C61",ra_aclEveryone_write_state:"\u6BCF\u4E2A\u4EBA\u90FD\u53EF\u4EE5\u5199\u72B6\u6001",ra_aclGroup_read_object:"\u7EC4\u53EF\u4EE5\u8BFB\u53D6\u5BF9\u8C61",ra_aclGroup_read_state:"\u7FA4\u7EC4\u53EF\u4EE5\u8BFB\u53D6\u72B6\u6001",ra_aclGroup_write_object:"\u7EC4\u53EF\u4EE5\u5199\u5BF9\u8C61",ra_aclGroup_write_state:"\u7EC4\u53EF\u4EE5\u5199\u72B6\u6001",ra_aclOwner_read_object:"\u6240\u6709\u8005\u53EF\u4EE5\u8BFB\u53D6\u5BF9\u8C61",ra_aclOwner_read_state:"\u6240\u6709\u8005\u53EF\u4EE5\u8BFB\u53D6\u72B6\u6001",ra_aclOwner_write_object:"\u6240\u6709\u8005\u53EF\u4EE5\u5199\u5BF9\u8C61",ra_aclOwner_write_state:"\u6240\u6709\u8005\u53EF\u4EE5\u5199\u72B6\u6001",ra_buttons:"\u7EBD\u6263",ra_changedFrom:"\u66F4\u6539\u4E3A",ra_close:"\u5173\u95ED",ra_create_boolean_state:"\u521B\u5EFA\u5E03\u5C14\u72B6\u6001",ra_create_channel:"\u521B\u5EFA\u9891\u9053",ra_create_device:"\u521B\u5EFA\u8BBE\u5907",ra_create_number_state:"\u521B\u5EFA\u53F7\u7801\u72B6\u6001",ra_create_state:"\u521B\u5EFA\u72B6\u6001",ra_create_string_state:"\u521B\u5EFA\u5B57\u7B26\u4E32\u72B6\u6001",ra_daysShortText:"\u5929",ra_dow_Fr:"r",ra_dow_Mo:"\u83AB",ra_dow_Sa:"\u8428",ra_dow_Su:"\u82CF",ra_dow_Th:"Th",ra_dow_Tu:"Tu",ra_dow_We:"\u6211\u4EEC",ra_expertMode:"\u4E13\u5BB6\u6A21\u5F0F",ra_fileType_all:"\u6240\u6709\u6587\u4EF6",ra_fileType_audio:"\u58F0\u97F3\u7684",ra_fileType_code:"\u4EE3\u7801/JSON",ra_fileType_images:"\u56FE\u7247",ra_fileType_txt:"\u6587\u672C",ra_fileType_video:"\u89C6\u9891","ra_fileType_video,":"\u89C6\u9891",ra_filter_customs:"\u8BBE\u5B9A\u503C",ra_filter_customs_without:"\u6CA1\u6709",ra_filter_func:"\u529F\u80FD",ra_filter_id:"ID",ra_filter_name:"\u540D\u79F0",ra_filter_role:"\u89D2\u8272",ra_filter_room:"\u623F\u95F4",ra_filter_type:"\u7C7B\u578B","ra_import data from %s file":"\u4ECE %s \u6587\u4EF6\u5BFC\u5165\u6570\u636E",ra_invalidConfig:"\u65E0\u6548\u7684\u8BBE\u5B9A",ra_lastChange:"\u6700\u540E\u4E00\u6B21\u53D8\u66F4",ra_locally:"\u672C\u5730",ra_month_Apr:"4\u6708",ra_month_Aug:"\u516B\u6708",ra_month_Dec:"\u5341\u4E8C\u6708",ra_month_Feb:"\u4E8C\u6708",ra_month_Jan:"\u7B80",ra_month_Jul:"\u4E03\u6708",ra_month_Jun:"\u541B",ra_month_Mai:"\u8FC8",ra_month_Mar:"\u4E09\u6708",ra_month_Nov:"\u5341\u4E00\u6708",ra_month_Oct:"\u5341\u6708",ra_month_Sep:"\u4E5D\u6708",ra_months_Apr:"4\u6708",ra_months_Aug:"\u516B\u6708",ra_months_Dec:"\u5341\u4E8C\u6708",ra_months_Feb:"\u4E8C\u6708",ra_months_Jan:"\u7B80",ra_months_Jul:"\u4E03\u6708",ra_months_Jun:"\u541B",ra_months_Mai:"\u8FC8",ra_months_Mar:"\u4E09\u6708",ra_months_Nov:"\u5341\u4E00\u6708",ra_months_Oct:"\u5341\u6708",ra_months_Sep:"\u4E5D\u6708",ra_none:"\u6CA1\u6709\u4EFB\u4F55",ra_object_changed_by:"\u7269\u4EF6\u53D8\u66F4\u8005",ra_object_changed_by_user:"\u5BF9\u8C61\u4E0A\u6B21\u66F4\u6539\u65F6\u95F4\u4E3A",ra_otherConfig:"\u6765\u81EA\u5176\u4ED6\u9002\u914D\u5668%s\u7684\u8BBE\u7F6E",ra_qualityCode:"\u8D28\u91CF\u4EE3\u7801",ra_repeat:"\u91CD\u590D",ra_select_folder_hint:"\u8981\u9009\u62E9\u6587\u4EF6\u5939\uFF0C\u53EA\u9700\u6309\u4F4F\u201Cshift\u201D\u952E\u5355\u51FB\u6587\u4EF6\u5939\u5373\u53EF\u3002",ra_state_changed_by:"\u72B6\u6001\u7531",ra_state_changed_from:"\u5BF9\u8C61\u5DF2\u4ECE\u66F4\u6539",ra_timestamp:"\u65F6\u95F4\u6233\u8BB0",ra_tooltip_ack:"\u81F4\u8C22\u56FD\u65D7",ra_tooltip_comment:"\u8BC4\u8BBA",ra_tooltip_copyState:"\u590D\u5236\u72B6\u6001\u503C",ra_tooltip_customConfig:"\u81EA\u5B9A\u4E49\u8BBE\u7F6E",ra_tooltip_deleteObject:"\u5220\u9664\u7269\u4EF6",ra_tooltip_editObject:"\u7F16\u8F91\u7269\u4EF6",ra_tooltip_editState:"\u7F16\u8F91\u72B6\u6001\u503C",ra_tooltip_from:"\u4ECE",ra_tooltip_lc:"\u6700\u540E\u6539\u53D8\u4E86",ra_tooltip_quality:"\u8D28\u91CF",ra_tooltip_ts:"\u65F6\u95F4\u6233",ra_tooltip_user:"\u7528\u6237",ra_tooltip_value:"\u503C","ra_use seconds":"\u7528\u79D2",ra_val:"\u503C","ra_via internet":"\u901A\u8FC7\u4E92\u8054\u7F51",ra_warning_every_minute:"\u8B66\u544A\uFF1ACRON \u4F5C\u4E1A\u5C06\u5728\u6307\u5B9A\u671F\u95F4\u5185\u6BCF\u5206\u949F\u8FD0\u884C\u4E00\u6B21\uFF01",ra_warning_every_second:"\u8B66\u544A\uFF1ACRON \u4F5C\u4E1A\u5C06\u5728\u6307\u5B9A\u671F\u95F4\u5185\u6BCF\u79D2\u8FD0\u884C\u4E00\u6B21\uFF01",sc_cron:"\u5468\u671F\u4EFB\u52A1",sc_date:"\u65E5\u671F",sc_dates:"\u65E5",sc_dow:"\u5929",sc_dows:"\u661F\u671F",sc_every:"\u6BCF",sc_everyN_dates:"\u6BCFN\u5929",sc_everyN_dow:"\u6BCF\u5468\u7684\u7B2C N \u5929",sc_everyN_dows:"\u6BCF\u5468N\u5929",sc_everyN_hours:"\u6BCFN\u5C0F\u65F6\u4E00\u6B21",sc_everyN_minutes:"\u6BCFN\u5206\u949F",sc_everyN_months:"\u6BCFN\u4E2A\u6708",sc_everyN_seconds:"\u6BCFN\u79D2",sc_every_dates:"\u6BCF\u5929",sc_every_dow:"\u4E00\u5468\u7684\u6BCF\u4E00\u5929",sc_every_dows:"\u4E00\u5468\u7684\u6BCF\u4E00\u5929",sc_every_hours:"\u6BCF\u5C0F\u65F6",sc_every_minutes:"\u6BCF\u5206\u949F",sc_every_months:"\u6BCF\u6708",sc_every_seconds:"\u6BCF\u79D2",sc_from:"\u4ECE",sc_hours:"\u5C0F\u65F6",sc_interval:"\u95F4\u9694",sc_intervalBetween:"\u95F4\u9694\u65F6\u95F4",sc_invalid_cron:"\u65E0\u6548\u7684 CRON",sc_minutes:"\u5206\u949F",sc_months:"\u6708",sc_once:"\u4E00\u6B21",sc_period:"\u5468\u671F",sc_seconds:"\u79D2",sc_simple:"\u7B80\u5355\u6A21\u5F0F",sc_specific:"\u7279\u5B9A\u7684\u65F6\u95F4",sc_specific_dates:"\u7279\u5B9A\u7684\u65E5\u5B50",sc_specific_dow:"\u4E00\u5468\u4E2D\u7684\u7279\u5B9A\u65E5\u5B50",sc_specific_dows:"\u7279\u5B9A\u7684\u4E00\u5468",sc_specific_hours:"\u7279\u5B9A\u7684\u5C0F\u65F6",sc_specific_minutes:"\u7279\u5B9A\u7684\u5206\u949F",sc_specific_months:"\u7279\u5B9A\u7684\u6708\u4EFD",sc_specific_seconds:"\u7279\u5B9A\u7684\u63CF\u8FF0",sc_time:"\u65F6\u95F4",sc_to:"\u81F3",sc_wizard:"\u5411\u5BFC\u6A21\u5F0F",sch_all:"\u5168\u9009",sch_astroDay:"\u5929\u6587\u767D\u5929",sch_astroNight:"\u5929\u6587\u591C\u665A",sch_astro_dawn:"\u9ECE\u660E",sch_astro_dusk:"\u9EC4\u660F",sch_astro_goldenHour:"\u9EC4\u91D1\u65F6\u6BB5",sch_astro_goldenHourEnd:"\u9EC4\u91D1\u65F6\u6BB5\u7ED3\u675F",sch_astro_nadir:"\u5929\u5E95",sch_astro_nauticalDawn:"\u822A\u6D77\u9ECE\u660E",sch_astro_nauticalDusk:"\u822A\u6D77\u9EC4\u660F",sch_astro_night:"\u591C\u665A",sch_astro_nightEnd:"\u591C\u665A\u7ED3\u675F",sch_astro_solarNoon:"\u6B63\u5348",sch_astro_sunrise:"\u65E5\u51FA",sch_astro_sunriseEnd:"\u65E5\u51FA\u7ED3\u675F",sch_astro_sunset:"\u65E5\u843D",sch_astro_sunsetStart:"\u65E5\u843D\u5F00\u59CB",sch_at:"\u5728",sch_desc_atTime:"\u7684%s",sch_desc_everyDay:"\u6BCF\u5929",sch_desc_everyHour:"\u6BCF\u5C0F\u65F6",sch_desc_everyMinute:"\u6BCF\u5206\u949F",sch_desc_everyMonth:"\u6BCF\u6708",sch_desc_everyNDay:"\u6BCF%s\u5929",sch_desc_everyNHours:"\u6BCF%s\u5C0F\u65F6",sch_desc_everyNMinutes:"\u6BCF%s\u5206\u949F",sch_desc_everyNMonths:"\u6BCF%s\u6708",sch_desc_everyNWeeks:"\u6BCF%s\u5468",sch_desc_everyNYears:"\u6BCF%s\u5E74",sch_desc_everyWeek:"\u6BCF\u5468",sch_desc_everyYear:"\u6BCF\u5E74",sch_desc_intervalFromTo:"\u4ECE%s\u5230%s",sch_desc_never:"\u51B3\u4E0D",sch_desc_onDate:"\u5728%s\u7684%s\u4E0A",sch_desc_onDates:"\u5728%s\u548C%s\u4E0A",sch_desc_onEveryDate:"\u5728\u6BCF\u5929",sch_desc_onMonth:"%s",sch_desc_onMonths:"%s\u548C%s",sch_desc_onWeekday:"\u5728%s\u4E0A",sch_desc_onWeekdays:"\u5728%s\u548C%s\u4E0A",sch_desc_onWeekends:"\u5728\u5468\u672B",sch_desc_onWorkdays:"\u5728\u5DE5\u4F5C\u65E5",sch_desc_onceInPast:"\u5C06\u4E0D\u518D\u6267\u884C\uFF0C\u56E0\u4E3A\u8D77\u59CB\u65F6\u95F4\u5DF2\u7ECF\u662F\u8FC7\u53BB\u7684\u65F6\u95F4\u4E86\u3002",sch_desc_once_on:"\u5728%s\u4E0A",sch_desc_validFrom:"\u6765\u81EA%s",sch_desc_validFromTo:"\u4ECE\u6267\u884C\u5230",sch_desc_validTo:"\u5230%s",sch_every:"\u6BCF",sch_exactTime:"\u7279\u5B9A\u7684\u65F6\u95F4",sch_from:"\u4ECE",sch_fromTo:"\u4ECE\u5230",sch_intervalTime:"\u95F4\u9694\u65F6\u95F4",sch_invert:"\u5012\u7F6E",sch_no_one:"\u53D6\u6D88\u5168\u9009",sch_on:"\u7684",sch_period:"\u5468\u671F",sch_periodDaily:"\u6BCF\u5929",sch_periodDates:"\u65E5\u671F",sch_periodDay:"\u5929",sch_periodEvery:"\u6BCF",sch_periodEveryDay:"\u6BCF\u5929",sch_periodEveryMonth:"\u6BCF\u6708",sch_periodEveryWeek:"\u6BCF\u5468",sch_periodEveryYear:"\u6BCF\u5E74",sch_periodHours:"\u5C0F\u65F6",sch_periodMinutes:"\u5206\u949F",sch_periodMonth:"\u6708",sch_periodMonthly:"\u6BCF\u6708\u4E00\u6B21",sch_periodOnce:"\u4E00\u6B21",sch_periodSpecificMonths:"\u7279\u5B9A\u7684\u6708\u4EFD",sch_periodWeek:"\u5468",sch_periodWeekdays:"\u5DE5\u4F5C\u65E5",sch_periodWeekend:"\u5468\u672B",sch_periodWeekly:"\u6BCF\u5468",sch_periodWorkdays:"\u5DE5\u4F5C\u65E5",sch_periodYear:"\u5E74",sch_periodYearly:"\u6BCF\u5E74",sch_specificTime:"\u7279\u5B9A\u7684\u65F6\u95F4",sch_time:"\u65F6\u95F4",sch_to:"\u81F3",sch_valid:"\u751F\u6548",sch_validFrom:"\u4ECE",sch_validTo:"\u81F3",sch_wholeDay:"\u4E00\u6574\u5929",sch_yearEveryMonth:"\u6BCF\u6708"};var rD={en:I9,de:F9,ru:B9,pt:L9,nl:j9,fr:z9,it:W9,es:U9,pl:H9,uk:V9,"zh-cn":$9};var Yhe=` html { height: 100%; } @@ -464,9 +492,9 @@ body { background-color: #58c458; } } -`,Hv=class e extends Oc{constructor(r,o){var u,f;let a=r.Connection||(o==null?void 0:o.Connection)||li;if(!window.document.getElementById("generic-app-iobroker-component")){let c=window.document.createElement("style");c.setAttribute("id","generic-app-iobroker-component"),c.innerHTML=tke,window.document.head.appendChild(c)}if(!e.isWeb()&&window.io&&window.location.port==="3000")try{let c=new window.SocketClient;delete window.io,window.io=c}catch(c){}super(r);A(this,"socket");A(this,"instance");A(this,"adapterName");A(this,"instanceId");A(this,"newReact");A(this,"encryptedFields");A(this,"sentryDSN");A(this,"alertDialogRendered");A(this,"_secret");A(this,"_systemConfig");A(this,"savedNative");A(this,"common",null);A(this,"sentryStarted",!1);A(this,"sentryInited",!1);A(this,"resizeTimer",null);A(this,"onSystemConfigChanged",(r,o)=>{var a,n;o&&r==="system.config"&&(this.socket.systemLang!==(o==null?void 0:o.common.language)&&(this.socket.systemLang=(o==null?void 0:o.common.language)||"en",D.setLanguage(this.socket.systemLang)),((a=this._systemConfig)==null?void 0:a.expertMode)!==!!((n=o==null?void 0:o.common)!=null&&n.expertMode)?(this._systemConfig=(o==null?void 0:o.common)||{},this.setState({expertMode:this.getExpertMode()})):this._systemConfig=(o==null?void 0:o.common)||{})});A(this,"onReceiveMessage",r=>{if(r!=null&&r.data)if(r.data==="updateTheme"){let o=ve.getThemeName();ve.setThemeName(ve.getThemeName());let a=this.createTheme(o);this.setState({theme:a,themeName:this.getThemeName(a),themeType:this.getThemeType(a)},()=>{this.props.onThemeChange&&this.props.onThemeChange(o),this.onThemeChanged&&this.onThemeChanged(o)})}else r.data==="updateExpertMode"?this.onToggleExpertMode&&this.onToggleExpertMode(this.getExpertMode()):r.data!=="chartReady"&&console.debug(`Received unknown message: "${JSON.stringify(r.data)}". May be it will be processed later`)});A(this,"onResize",()=>{this.resizeTimer&&clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{this.resizeTimer=null,this.setState({width:e.getWidth()})},200)});GN();let n=(window.location.search||"").replace(/^\?/,"").replace(/#.*$/,""),s={};n.trim().split("&").filter(c=>c.trim()).forEach(c=>{let m=c.split("=");s[m[0]]=m.length===2?m[1]:!0,s[m[0]]==="true"?s[m[0]]=!0:s[m[0]]==="false"&&(s[m[0]]=!1)}),this.instance=(f=(u=o==null?void 0:o.instance)!=null?u:r.instance)!=null?f:s.instance!==void 0?parseInt(s.instance,10)||0:parseInt(window.location.search.slice(1),10)||0;let i=window.location.pathname.split("/");this.adapterName=(o==null?void 0:o.adapterName)||r.adapterName||window.adapterName||i[i.length-2]||"iot",this.instanceId=`system.adapter.${this.adapterName}.${this.instance}`,this.newReact=s.newReact===!0;let p=Oc.getLocation();p.tab=p.tab||(window._localStorage||window.localStorage).getItem(`${this.adapterName}-adapter`)||"";let l=this.createTheme();this.state=Object.assign(this.state||{},{selectedTab:(window._localStorage||window.localStorage).getItem(`${this.adapterName}-adapter`)||"",selectedTabNum:-1,native:{},errorText:"",changed:!1,connected:!1,loaded:!1,isConfigurationError:"",expertMode:!1,toast:"",theme:l,themeName:this.getThemeName(l),themeType:this.getThemeType(l),bottomButtons:(o&&o.bottomButtons)===!1?!1:(r==null?void 0:r.bottomButtons)!==!1,width:e.getWidth(),confirmClose:!1,_alert:!1,_alertType:"info",_alertMessage:""});let d=JN;o!=null&&o.translations?Object.keys(o.translations).forEach(c=>{o.translations&&(d[c]=Object.assign(d[c],o.translations[c]||{}))}):r.translations&&Object.keys(r.translations).forEach(c=>{r.translations&&(d[c]=Object.assign(d[c],r.translations[c]||{}))}),D.setTranslations(d),this.savedNative={},this.encryptedFields=r.encryptedFields||(o==null?void 0:o.encryptedFields)||[],this.sentryDSN=o&&o.sentryDSN||r.sentryDSN,window.socketUrl&&(window.socketUrl.startsWith(":")?window.socketUrl=`${window.location.protocol}//${window.location.hostname}${window.socketUrl}`:!window.socketUrl.startsWith("http://")&&!window.socketUrl.startsWith("https://")&&(window.socketUrl=`${window.location.protocol}//${window.socketUrl}`)),this.alertDialogRendered=!1,window.oldAlert=window.alert,window.alert=c=>{if(!this.alertDialogRendered){window.oldAlert(c);return}c&&c.toString().toLowerCase().includes("error")?(console.error(c),this.showAlert(c.toString(),"error")):(console.log(c),this.showAlert(c.toString(),"info"))},this.socket=new a({...(r==null?void 0:r.socket)||(o==null?void 0:o.socket),name:this.adapterName,doNotLoadAllObjects:o==null?void 0:o.doNotLoadAllObjects,onProgress:c=>{c===Tn.CONNECTING?this.setState({connected:!1}):c===Tn.READY?this.setState({connected:!0}):this.setState({connected:!0})},onReady:()=>{D.setLanguage(this.socket.systemLang),this.socket.subscribeObject("system.config",this.onSystemConfigChanged).then(()=>this.getSystemConfig()).then(c=>(this._secret=typeof c!="undefined"&&c.native&&c.native.secret||"Zgfr56gFe87jJOM",this._systemConfig=(c==null?void 0:c.common)||{},this.socket.getObject(this.instanceId))).then(async c=>{var T,v;let m,g=c,x=((T=await this.socket.getState(`${this.instanceId}.plugins.sentry.enabled`))==null?void 0:T.val)!==!1&&((v=this._systemConfig)==null?void 0:v.diag)!=="none"&&(g==null?void 0:g.common)&&g.common.name&&g.common.version&&!g.common.disableDataReporting&&window.location.host!=="localhost:3000";!this.sentryStarted&&this.sentryDSN&&x&&(this.sentryStarted=!0,G2({dsn:this.sentryDSN,release:`iobroker.${g.common.name}@${g.common.version}`,integrations:[$h()]}),console.log("Sentry initialized")),!this.sentryInited&&x&&(this.sentryInited=!0,m=this.socket.getObject("system.meta.uuid").then(b=>{b&&b.native&&b.native.uuid&&xa().setUser({id:b.native.uuid})})),m=m instanceof Promise?m:Promise.resolve(),m.then(()=>{g?(this.common=g==null?void 0:g.common,this.onPrepareLoad(g.native,g.encryptedNative),this.savedNative=JSON.parse(JSON.stringify(g.native)),this.setState({native:g.native,loaded:!0,expertMode:this.getExpertMode()},()=>this.onConnectionReady&&this.onConnectionReady())):(console.warn("Cannot load instance settings"),this.setState({native:{},loaded:!0,expertMode:this.getExpertMode()},()=>this.onConnectionReady&&this.onConnectionReady()))})}).catch(c=>window.alert(`Cannot settings: ${c}`))},onError:c=>{console.error(c),this.showError(c)}})}static isWeb(){return window.socketUrl!==void 0}showAlert(r,o){o!=="error"&&o!=="warning"&&o!=="info"&&o!=="success"&&(o="info"),this.setState({_alert:!0,_alertType:o,_alertMessage:r})}renderAlertSnackbar(){return this.alertDialogRendered=!0,tn.default.createElement(vc,{style:this.state._alertType==="error"?{backgroundColor:"#f44336"}:this.state._alertType==="success"?{backgroundColor:"#4caf50"}:void 0,open:this.state._alert,autoHideDuration:6e3,onClose:(r,o)=>o!=="clickaway"&&this.setState({_alert:!1}),message:this.state._alertMessage})}componentDidMount(){window.addEventListener("resize",this.onResize,!0),window.addEventListener("message",this.onReceiveMessage,!1),super.componentDidMount()}componentWillUnmount(){window.removeEventListener("resize",this.onResize,!0),window.removeEventListener("message",this.onReceiveMessage,!1),super.componentWillUnmount()}static getWidth(){let r={xs:0,sm:600,md:960,lg:1280,xl:1920},o=window.innerWidth;return Object.keys(r).reverse().find(s=>o>=r[s])||"xs"}createTheme(r){return tp(ve.getThemeName(r))}getThemeName(r){return r.name}getThemeType(r){return r.palette.mode}onThemeChanged(r){}onToggleExpertMode(r){}toggleTheme(r){let o=this.state.themeName;if(r=r||(o==="dark"||o==="blue"||o==="colored"?"light":"dark"),r!==o){ve.setThemeName(r);let a=this.createTheme(r);this.setState({theme:a,themeName:this.getThemeName(a),themeType:this.getThemeType(a)},()=>{this.props.onThemeChange&&this.props.onThemeChange(r||"light"),this.onThemeChanged&&this.onThemeChanged(r||"light")})}}getSystemConfig(){return this.socket.getSystemConfig()}getExpertMode(){var r;return window.sessionStorage.getItem("App.expertMode")==="true"||!!((r=this._systemConfig)!=null&&r.expertMode)}onConnectionReady(){}encrypt(r){let o="";if(this._secret)for(let a=0;a{r[o]&&(r[o]=this.encrypt(r[o]))}),!0}onPrepareLoad(r,o){this.encryptedFields&&this.encryptedFields.forEach(a=>{r[a]&&(r[a]=this.decrypt(r[a]))}),o&&o.forEach(a=>{this.encryptedFields=this.encryptedFields||[],!this.encryptedFields.includes(a)&&this.encryptedFields.push(a),r[a]&&(r[a]=this.decrypt(r[a]))})}async getExtendableInstances(){try{let r=await this.socket.getObjectViewSystem("instance","system.adapter.","system.adapter.\u9999");return Object.values(r).filter(o=>{var a;return!!((a=o==null?void 0:o.common)!=null&&a.webExtendable)})}catch(r){return[]}}async getIpAddresses(r){var s;let o=await this.socket.getHostByIp(r||((s=this.common)==null?void 0:s.host)||""),a=o.find(i=>i.address==="0.0.0.0");a&&(a.name=`[IPv4] 0.0.0.0 - ${D.t("ra_Listen on all IPs")}`);let n=o.find(i=>i.address==="::");return n&&(n.name=`[IPv4] :: - ${D.t("ra_Listen on all IPs")}`),o}onSave(r){let o;if(this.state.isConfigurationError){this.setState({errorText:this.state.isConfigurationError});return}this.socket.getObject(this.instanceId).then(a=>{o=a||{};for(let n in this.state.native)Object.prototype.hasOwnProperty.call(this.state.native,n)&&(this.state.native[n]===null?o.native[n]=null:this.state.native[n]!==void 0?o.native[n]=JSON.parse(JSON.stringify(this.state.native[n])):delete o.native[n]);if(this.state.common)for(let n in this.state.common)this.state.common[n]===null?o.common[n]=null:this.state.common[n]!==void 0?o.common[n]=JSON.parse(JSON.stringify(this.state.common[n])):delete o.common[n];return this.onPrepareSave(o.native)!==!1?this.socket.setObject(this.instanceId,o):Promise.reject(new Error("Invalid configuration"))}).then(()=>{this.savedNative=o.native,globalThis.changed=!1;try{window.parent.postMessage("nochange","*")}catch(a){}this.setState({changed:!1}),r&&e.onClose()}).catch(a=>console.error(`Cannot save configuration: ${a}`))}renderToast(){var r;return this.state.toast?tn.default.createElement(vc,{anchorOrigin:{vertical:"bottom",horizontal:"left"},open:!0,autoHideDuration:6e3,onClose:()=>this.setState({toast:""}),ContentProps:{"aria-describedby":"message-id"},message:tn.default.createElement("span",{id:"message-id"},this.state.toast),action:[tn.default.createElement(dt,{key:"close","aria-label":"Close",color:"inherit",className:(r=this.props.classes)==null?void 0:r.close,onClick:()=>this.setState({toast:""}),size:"large"},tn.default.createElement(mo,null))]}):null}static onClose(){if(typeof window.parent!="undefined"&&window.parent)try{window.parent.$iframeDialog&&typeof window.parent.$iframeDialog.close=="function"?window.parent.$iframeDialog.close():window.parent.postMessage("close","*")}catch(r){window.parent.postMessage("close","*")}}renderError(){return this.state.errorText?tn.default.createElement(jd,{text:this.state.errorText,onClose:()=>this.setState({errorText:""})}):null}getIsChanged(r){r=r||this.state.native;let o=JSON.stringify(r)!==JSON.stringify(this.savedNative);return globalThis.changed=o,o}onLoadConfig(r){JSON.stringify(r)!==JSON.stringify(this.state.native)&&this.setState({native:r,changed:this.getIsChanged(r)})}setConfigurationError(r){this.state.isConfigurationError!==r&&this.setState({isConfigurationError:r})}renderSaveCloseButtons(){return!this.state.confirmClose&&!this.state.bottomButtons?null:tn.default.createElement(tn.default.Fragment,null,this.state.bottomButtons?tn.default.createElement(Vv,{theme:this.state.theme,newReact:this.newReact,noTextOnButtons:this.state.width==="xs"||this.state.width==="sm"||this.state.width==="md",changed:this.state.changed,onSave:r=>this.onSave(r),onClose:()=>{this.state.changed?this.setState({confirmClose:!0}):e.onClose()}}):null,this.state.confirmClose?tn.default.createElement(xl,{title:D.t("ra_Please confirm"),text:D.t("ra_Some data are not stored. Discard?"),ok:D.t("ra_Discard"),cancel:D.t("ra_Cancel"),onClose:r=>this.setState({confirmClose:!1},()=>r&&e.onClose())}):null)}_updateNativeValue(r,o,a){typeof o!="object"&&(o=o.split("."));let n=o.shift()||"";if(!o.length)return a&&typeof a=="object"?JSON.stringify(r[n])!==JSON.stringify(a)?(r[n]=a,!0):!1:r[n]!==a?(r[n]=a,!0):!1;if(r[n]=r[n]||{},typeof r[n]!="object")throw new Error(`attribute ${n} is no object, but ${typeof r[n]}`);return this._updateNativeValue(r[n],o,a)}updateNativeValue(r,o,a){let n=JSON.parse(JSON.stringify(this.state.native));if(this._updateNativeValue(n,r,o)){let s=this.getIsChanged(n);if(s!==this.state.changed)try{window.parent.postMessage(s?"change":"nochange","*")}catch(i){}this.setState({native:n,changed:s},a)}}showError(r){this.setState({errorText:r})}showToast(r){this.setState({toast:r})}renderHelperDialogs(){return tn.default.createElement(tn.default.Fragment,null,this.renderError(),this.renderToast(),this.renderSaveCloseButtons(),this.renderAlertSnackbar())}render(){return this.state.loaded?tn.default.createElement("div",{className:"App"},this.renderError(),this.renderToast(),this.renderSaveCloseButtons(),this.renderAlertSnackbar()):tn.default.createElement(qN,{themeType:this.state.themeType})}};var voe=y(P());var GI=y(P()),ete=y(it());var Jn=y(P()),rQ=y(it());var JZ=function(t,r,o,a,n){var s=n.clientWidth,i=n.clientHeight,p=typeof t.pageX=="number"?t.pageX:t.touches[0].pageX,l=typeof t.pageY=="number"?t.pageY:t.touches[0].pageY,d=p-(n.getBoundingClientRect().left+window.pageXOffset),u=l-(n.getBoundingClientRect().top+window.pageYOffset);if(o==="vertical"){var f=void 0;if(u<0?f=0:u>i?f=1:f=Math.round(u*100/i)/100,r.a!==f)return{h:r.h,s:r.s,l:r.l,a:f,source:"rgb"}}else{var c=void 0;if(d<0?c=0:d>s?c=1:c=Math.round(d*100/s)/100,a!==c)return{h:r.h,s:r.s,l:r.l,a:c,source:"rgb"}}return null};var pT=y(P()),QZ=y(it());var II={},EBe=function(t,r,o,a){if(typeof document=="undefined"&&!a)return null;var n=a?new a:document.createElement("canvas");n.width=o*2,n.height=o*2;var s=n.getContext("2d");return s?(s.fillStyle=t,s.fillRect(0,0,n.width,n.height),s.fillStyle=r,s.fillRect(0,0,o,o),s.translate(o,o),s.fillRect(0,0,o,o),n.toDataURL()):null},YZ=function(t,r,o,a){var n=t+"-"+r+"-"+o+(a?"-server":"");if(II[n])return II[n];var s=EBe(t,r,o,a);return II[n]=s,s};var ZZ=Object.assign||function(e){for(var t=1;t{var a,n;o&&r==="system.config"&&(this.socket.systemLang!==(o==null?void 0:o.common.language)&&(this.socket.systemLang=(o==null?void 0:o.common.language)||"en",R.setLanguage(this.socket.systemLang)),((a=this._systemConfig)==null?void 0:a.expertMode)!==!!((n=o==null?void 0:o.common)!=null&&n.expertMode)?(this._systemConfig=(o==null?void 0:o.common)||{},this.setState({expertMode:this.getExpertMode()})):this._systemConfig=(o==null?void 0:o.common)||{})});A(this,"onReceiveMessage",r=>{if(r!=null&&r.data)if(r.data==="updateTheme"){let o=ve.getThemeName();ve.setThemeName(ve.getThemeName());let a=this.createTheme(o);this.setState({theme:a,themeName:this.getThemeName(a),themeType:this.getThemeType(a)},()=>{this.props.onThemeChange&&this.props.onThemeChange(o),this.onThemeChanged&&this.onThemeChanged(o)})}else r.data==="updateExpertMode"?this.onToggleExpertMode&&this.onToggleExpertMode(this.getExpertMode()):r.data!=="chartReady"&&console.debug(`Received unknown message: "${JSON.stringify(r.data)}". May be it will be processed later`)});A(this,"onResize",()=>{this.resizeTimer&&clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{this.resizeTimer=null,this.setState({width:e.getWidth()})},200)});ZR();let n=(window.location.search||"").replace(/^\?/,"").replace(/#.*$/,""),s={};n.trim().split("&").filter(c=>c.trim()).forEach(c=>{let h=c.split("=");s[h[0]]=h.length===2?h[1]:!0,s[h[0]]==="true"?s[h[0]]=!0:s[h[0]]==="false"&&(s[h[0]]=!1)}),this.instance=(f=(u=o==null?void 0:o.instance)!=null?u:r.instance)!=null?f:s.instance!==void 0?parseInt(s.instance,10)||0:parseInt(window.location.search.slice(1),10)||0;let i=window.location.pathname.split("/");this.adapterName=(o==null?void 0:o.adapterName)||r.adapterName||window.adapterName||i[i.length-2]||"iot",this.instanceId=`system.adapter.${this.adapterName}.${this.instance}`,this.newReact=s.newReact===!0;let p=lf.getLocation();p.tab=p.tab||(window._localStorage||window.localStorage).getItem(`${this.adapterName}-adapter`)||"";let l=this.createTheme();this.state=Object.assign(this.state||{},{selectedTab:(window._localStorage||window.localStorage).getItem(`${this.adapterName}-adapter`)||"",selectedTabNum:-1,native:{},errorText:"",changed:!1,connected:!1,loaded:!1,isConfigurationError:"",expertMode:!1,toast:"",theme:l,themeName:this.getThemeName(l),themeType:this.getThemeType(l),bottomButtons:(o&&o.bottomButtons)===!1?!1:(r==null?void 0:r.bottomButtons)!==!1,width:e.getWidth(),confirmClose:!1,_alert:!1,_alertType:"info",_alertMessage:""});let d=rD;o!=null&&o.translations?Object.keys(o.translations).forEach(c=>{o.translations&&(d[c]=Object.assign(d[c],o.translations[c]||{}))}):r.translations&&Object.keys(r.translations).forEach(c=>{r.translations&&(d[c]=Object.assign(d[c],r.translations[c]||{}))}),R.setTranslations(d),this.savedNative={},this.encryptedFields=r.encryptedFields||(o==null?void 0:o.encryptedFields)||[],this.sentryDSN=o&&o.sentryDSN||r.sentryDSN,window.socketUrl&&(window.socketUrl.startsWith(":")?window.socketUrl=`${window.location.protocol}//${window.location.hostname}${window.socketUrl}`:!window.socketUrl.startsWith("http://")&&!window.socketUrl.startsWith("https://")&&(window.socketUrl=`${window.location.protocol}//${window.socketUrl}`)),this.alertDialogRendered=!1,window.oldAlert=window.alert,window.alert=c=>{if(!this.alertDialogRendered){window.oldAlert(c);return}c&&c.toString().toLowerCase().includes("error")?(console.error(c),this.showAlert(c.toString(),"error")):(console.log(c),this.showAlert(c.toString(),"info"))},this.socket=new a({...(r==null?void 0:r.socket)||(o==null?void 0:o.socket),name:this.adapterName,doNotLoadAllObjects:o==null?void 0:o.doNotLoadAllObjects,onProgress:c=>{c===Ja.CONNECTING?this.setState({connected:!1}):c===Ja.READY?this.setState({connected:!0}):this.setState({connected:!0})},onReady:()=>{R.setLanguage(this.socket.systemLang),this.socket.subscribeObject("system.config",this.onSystemConfigChanged).then(()=>this.getSystemConfig()).then(c=>(this._secret=typeof c!="undefined"&&c.native&&c.native.secret||"Zgfr56gFe87jJOM",this._systemConfig=(c==null?void 0:c.common)||{},this.socket.getObject(this.instanceId))).then(async c=>{var T,b;let h,g=c,x=((T=await this.socket.getState(`${this.instanceId}.plugins.sentry.enabled`))==null?void 0:T.val)!==!1&&((b=this._systemConfig)==null?void 0:b.diag)!=="none"&&(g==null?void 0:g.common)&&g.common.name&&g.common.version&&!g.common.disableDataReporting&&window.location.host!=="localhost:3000";!this.sentryStarted&&this.sentryDSN&&x&&(this.sentryStarted=!0,$E({dsn:this.sentryDSN,release:`iobroker.${g.common.name}@${g.common.version}`,integrations:[nm()]}),console.log("Sentry initialized")),!this.sentryInited&&x&&(this.sentryInited=!0,h=this.socket.getObject("system.meta.uuid").then(v=>{v&&v.native&&v.native.uuid&&Ko().setUser({id:v.native.uuid})})),h=h instanceof Promise?h:Promise.resolve(),h.then(()=>{g?(this.common=g==null?void 0:g.common,this.onPrepareLoad(g.native,g.encryptedNative),this.savedNative=JSON.parse(JSON.stringify(g.native)),this.setState({native:g.native,loaded:!0,expertMode:this.getExpertMode()},()=>this.onConnectionReady&&this.onConnectionReady())):(console.warn("Cannot load instance settings"),this.setState({native:{},loaded:!0,expertMode:this.getExpertMode()},()=>this.onConnectionReady&&this.onConnectionReady()))})}).catch(c=>window.alert(`Cannot settings: ${c}`))},onError:c=>{console.error(c),this.showError(c)}})}static isWeb(){return window.socketUrl!==void 0}showAlert(r,o){o!=="error"&&o!=="warning"&&o!=="info"&&o!=="success"&&(o="info"),this.setState({_alert:!0,_alertType:o,_alertMessage:r})}renderAlertSnackbar(){return this.alertDialogRendered=!0,Aa.default.createElement(tf,{style:this.state._alertType==="error"?{backgroundColor:"#f44336"}:this.state._alertType==="success"?{backgroundColor:"#4caf50"}:void 0,open:this.state._alert,autoHideDuration:6e3,onClose:(r,o)=>o!=="clickaway"&&this.setState({_alert:!1}),message:this.state._alertMessage})}componentDidMount(){window.addEventListener("resize",this.onResize,!0),window.addEventListener("message",this.onReceiveMessage,!1),super.componentDidMount()}componentWillUnmount(){window.removeEventListener("resize",this.onResize,!0),window.removeEventListener("message",this.onReceiveMessage,!1),super.componentWillUnmount()}static getWidth(){let r={xs:0,sm:600,md:960,lg:1280,xl:1920},o=window.innerWidth;return Object.keys(r).reverse().find(s=>o>=r[s])||"xs"}createTheme(r){return cl(ve.getThemeName(r))}getThemeName(r){return r.name}getThemeType(r){return r.palette.mode}onThemeChanged(r){}onToggleExpertMode(r){}toggleTheme(r){let o=this.state.themeName;if(r=r||(o==="dark"||o==="blue"||o==="colored"?"light":"dark"),r!==o){ve.setThemeName(r);let a=this.createTheme(r);this.setState({theme:a,themeName:this.getThemeName(a),themeType:this.getThemeType(a)},()=>{this.props.onThemeChange&&this.props.onThemeChange(r||"light"),this.onThemeChanged&&this.onThemeChanged(r||"light")})}}getSystemConfig(){return this.socket.getSystemConfig()}getExpertMode(){var r;return window.sessionStorage.getItem("App.expertMode")==="true"||!!((r=this._systemConfig)!=null&&r.expertMode)}onConnectionReady(){}encrypt(r){let o="";if(this._secret)for(let a=0;a{r[o]&&(r[o]=this.encrypt(r[o]))}),!0}onPrepareLoad(r,o){this.encryptedFields&&this.encryptedFields.forEach(a=>{r[a]&&(r[a]=this.decrypt(r[a]))}),o&&o.forEach(a=>{this.encryptedFields=this.encryptedFields||[],!this.encryptedFields.includes(a)&&this.encryptedFields.push(a),r[a]&&(r[a]=this.decrypt(r[a]))})}async getExtendableInstances(){try{let r=await this.socket.getObjectViewSystem("instance","system.adapter.","system.adapter.\u9999");return Object.values(r).filter(o=>{var a;return!!((a=o==null?void 0:o.common)!=null&&a.webExtendable)})}catch(r){return[]}}async getIpAddresses(r){var s;let o=await this.socket.getHostByIp(r||((s=this.common)==null?void 0:s.host)||""),a=o.find(i=>i.address==="0.0.0.0");a&&(a.name=`[IPv4] 0.0.0.0 - ${R.t("ra_Listen on all IPs")}`);let n=o.find(i=>i.address==="::");return n&&(n.name=`[IPv4] :: - ${R.t("ra_Listen on all IPs")}`),o}onSave(r){let o;if(this.state.isConfigurationError){this.setState({errorText:this.state.isConfigurationError});return}this.socket.getObject(this.instanceId).then(a=>{o=a||{};for(let n in this.state.native)Object.prototype.hasOwnProperty.call(this.state.native,n)&&(this.state.native[n]===null?o.native[n]=null:this.state.native[n]!==void 0?o.native[n]=JSON.parse(JSON.stringify(this.state.native[n])):delete o.native[n]);if(this.state.common)for(let n in this.state.common)this.state.common[n]===null?o.common[n]=null:this.state.common[n]!==void 0?o.common[n]=JSON.parse(JSON.stringify(this.state.common[n])):delete o.common[n];return this.onPrepareSave(o.native)!==!1?this.socket.setObject(this.instanceId,o):Promise.reject(new Error("Invalid configuration"))}).then(()=>{this.savedNative=o.native,globalThis.changed=!1;try{window.parent.postMessage("nochange","*")}catch(a){}this.setState({changed:!1}),r&&e.onClose()}).catch(a=>console.error(`Cannot save configuration: ${a}`))}renderToast(){var r;return this.state.toast?Aa.default.createElement(tf,{anchorOrigin:{vertical:"bottom",horizontal:"left"},open:!0,autoHideDuration:6e3,onClose:()=>this.setState({toast:""}),ContentProps:{"aria-describedby":"message-id"},message:Aa.default.createElement("span",{id:"message-id"},this.state.toast),action:[Aa.default.createElement(nt,{key:"close","aria-label":"Close",color:"inherit",className:(r=this.props.classes)==null?void 0:r.close,onClick:()=>this.setState({toast:""}),size:"large"},Aa.default.createElement($r,null))]}):null}static onClose(){if(typeof window.parent!="undefined"&&window.parent)try{window.parent.$iframeDialog&&typeof window.parent.$iframeDialog.close=="function"?window.parent.$iframeDialog.close():window.parent.postMessage("close","*")}catch(r){window.parent.postMessage("close","*")}}renderError(){return this.state.errorText?Aa.default.createElement(Wp,{text:this.state.errorText,onClose:()=>this.setState({errorText:""})}):null}getIsChanged(r){r=r||this.state.native;let o=JSON.stringify(r)!==JSON.stringify(this.savedNative);return globalThis.changed=o,o}onLoadConfig(r){JSON.stringify(r)!==JSON.stringify(this.state.native)&&this.setState({native:r,changed:this.getIsChanged(r)})}setConfigurationError(r){this.state.isConfigurationError!==r&&this.setState({isConfigurationError:r})}renderSaveCloseButtons(){return!this.state.confirmClose&&!this.state.bottomButtons?null:Aa.default.createElement(Aa.default.Fragment,null,this.state.bottomButtons?Aa.default.createElement(Ay,{theme:this.state.theme,newReact:this.newReact,noTextOnButtons:this.state.width==="xs"||this.state.width==="sm"||this.state.width==="md",changed:this.state.changed,onSave:r=>this.onSave(r),onClose:()=>{this.state.changed?this.setState({confirmClose:!0}):e.onClose()}}):null,this.state.confirmClose?Aa.default.createElement(Bi,{title:R.t("ra_Please confirm"),text:R.t("ra_Some data are not stored. Discard?"),ok:R.t("ra_Discard"),cancel:R.t("ra_Cancel"),onClose:r=>this.setState({confirmClose:!1},()=>r&&e.onClose())}):null)}_updateNativeValue(r,o,a){typeof o!="object"&&(o=o.split("."));let n=o.shift()||"";if(!o.length)return a&&typeof a=="object"?JSON.stringify(r[n])!==JSON.stringify(a)?(r[n]=a,!0):!1:r[n]!==a?(r[n]=a,!0):!1;if(r[n]=r[n]||{},typeof r[n]!="object")throw new Error(`attribute ${n} is no object, but ${typeof r[n]}`);return this._updateNativeValue(r[n],o,a)}updateNativeValue(r,o,a){let n=JSON.parse(JSON.stringify(this.state.native));if(this._updateNativeValue(n,r,o)){let s=this.getIsChanged(n);if(s!==this.state.changed)try{window.parent.postMessage(s?"change":"nochange","*")}catch(i){}this.setState({native:n,changed:s},a)}}showError(r){this.setState({errorText:r})}showToast(r){this.setState({toast:r})}renderHelperDialogs(){return Aa.default.createElement(Aa.default.Fragment,null,this.renderError(),this.renderToast(),this.renderSaveCloseButtons(),this.renderAlertSnackbar())}render(){return this.state.loaded?Aa.default.createElement("div",{className:"App"},this.renderError(),this.renderToast(),this.renderSaveCloseButtons(),this.renderAlertSnackbar()):Aa.default.createElement(QR,{themeType:this.state.themeType})}};var mX=y(D());var ZD=y(D()),Kq=y(rt());var _n=y(D()),X7=y(rt());var V7=function(t,r,o,a,n){var s=n.clientWidth,i=n.clientHeight,p=typeof t.pageX=="number"?t.pageX:t.touches[0].pageX,l=typeof t.pageY=="number"?t.pageY:t.touches[0].pageY,d=p-(n.getBoundingClientRect().left+window.pageXOffset),u=l-(n.getBoundingClientRect().top+window.pageYOffset);if(o==="vertical"){var f=void 0;if(u<0?f=0:u>i?f=1:f=Math.round(u*100/i)/100,r.a!==f)return{h:r.h,s:r.s,l:r.l,a:f,source:"rgb"}}else{var c=void 0;if(d<0?c=0:d>s?c=1:c=Math.round(d*100/s)/100,a!==c)return{h:r.h,s:r.s,l:r.l,a:c,source:"rgb"}}return null};var Zy=y(D()),q7=y(rt());var WD={},_Oe=function(t,r,o,a){if(typeof document=="undefined"&&!a)return null;var n=a?new a:document.createElement("canvas");n.width=o*2,n.height=o*2;var s=n.getContext("2d");return s?(s.fillStyle=t,s.fillRect(0,0,n.width,n.height),s.fillStyle=r,s.fillRect(0,0,o,o),s.translate(o,o),s.fillRect(0,0,o,o),n.toDataURL()):null},$7=function(t,r,o,a){var n=t+"-"+r+"-"+o+(a?"-server":"");if(WD[n])return WD[n];var s=_Oe(t,r,o,a);return WD[n]=s,s};var G7=Object.assign||function(e){for(var t=1;t-1},HBe=function(t){return Number(String(t).replace(/%/g,""))},$Be=1,GBe=function(e){LBe(t,e);function t(r){BBe(this,t);var o=jBe(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return o.handleBlur=function(){o.state.blurValue&&o.setState({value:o.state.blurValue,blurValue:null})},o.handleChange=function(a){o.setUpdatedValue(a.target.value,a)},o.handleKeyDown=function(a){var n=HBe(a.target.value);if(!isNaN(n)&&VBe(a.keyCode)){var s=o.getArrowOffset(),i=a.keyCode===aQ?n+s:n-s;o.setUpdatedValue(i,a)}},o.handleDrag=function(a){if(o.props.dragLabel){var n=Math.round(o.props.value+a.movementX);n>=0&&n<=o.props.dragMax&&o.props.onChange&&o.props.onChange(o.getValueObjectWithLabel(n),a)}},o.handleMouseDown=function(a){o.props.dragLabel&&(a.preventDefault(),o.handleDrag(a),window.addEventListener("mousemove",o.handleDrag),window.addEventListener("mouseup",o.handleMouseUp))},o.handleMouseUp=function(){o.unbindEventListeners()},o.unbindEventListeners=function(){window.removeEventListener("mousemove",o.handleDrag),window.removeEventListener("mouseup",o.handleMouseUp)},o.state={value:String(r.value).toUpperCase(),blurValue:String(r.value).toUpperCase()},o.inputId="rc-editable-input-"+$Be++,o}return IBe(t,[{key:"componentDidUpdate",value:function(o,a){this.props.value!==this.state.value&&(o.value!==this.props.value||a.value!==this.state.value)&&(this.input===document.activeElement?this.setState({blurValue:String(this.props.value).toUpperCase()}):this.setState({value:String(this.props.value).toUpperCase(),blurValue:!this.state.blurValue&&String(this.props.value).toUpperCase()}))}},{key:"componentWillUnmount",value:function(){this.unbindEventListeners()}},{key:"getValueObjectWithLabel",value:function(o){return FBe({},this.props.label,o)}},{key:"getArrowOffset",value:function(){return this.props.arrowOffset||zBe}},{key:"setUpdatedValue",value:function(o,a){var n=this.props.label?this.getValueObjectWithLabel(o):o;this.props.onChange&&this.props.onChange(n,a),this.setState({value:o})}},{key:"render",value:function(){var o=this,a=(0,oQ.default)({default:{wrap:{position:"relative"}},"user-override":{wrap:this.props.style&&this.props.style.wrap?this.props.style.wrap:{},input:this.props.style&&this.props.style.input?this.props.style.input:{},label:this.props.style&&this.props.style.label?this.props.style.label:{}},"dragLabel-true":{label:{cursor:"ew-resize"}}},{"user-override":!0},this.props);return Wd.default.createElement("div",{style:a.wrap},Wd.default.createElement("input",{id:this.inputId,style:a.input,ref:function(s){return o.input=s},value:this.state.value,onKeyDown:this.handleKeyDown,onChange:this.handleChange,onBlur:this.handleBlur,placeholder:this.props.placeholder,spellCheck:"false"}),this.props.label&&!this.props.hideLabel?Wd.default.createElement("label",{htmlFor:this.inputId,style:a.label,onMouseDown:this.handleMouseDown},this.props.label):null)}}]),t}(Wd.PureComponent||Wd.Component),mt=GBe;var Oi=y(P()),iQ=y(it());var nQ=function(t,r,o,a){var n=a.clientWidth,s=a.clientHeight,i=typeof t.pageX=="number"?t.pageX:t.touches[0].pageX,p=typeof t.pageY=="number"?t.pageY:t.touches[0].pageY,l=i-(a.getBoundingClientRect().left+window.pageXOffset),d=p-(a.getBoundingClientRect().top+window.pageYOffset);if(r==="vertical"){var u=void 0;if(d<0)u=359;else if(d>s)u=0;else{var f=-(d*100/s)+100;u=360*f/100}if(o.h!==u)return{h:u,s:o.s,l:o.l,a:o.a,source:"hsl"}}else{var c=void 0;if(l<0)c=0;else if(l>n)c=359;else{var m=l*100/n;c=360*m/100}if(o.h!==c)return{h:c,s:o.s,l:o.l,a:o.a,source:"hsl"}}return null};var KBe=function(){function e(t,r){for(var o=0;o-1},zOe=function(t){return Number(String(t).replace(/%/g,""))},WOe=1,UOe=function(e){IOe(t,e);function t(r){MOe(this,t);var o=NOe(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return o.handleBlur=function(){o.state.blurValue&&o.setState({value:o.state.blurValue,blurValue:null})},o.handleChange=function(a){o.setUpdatedValue(a.target.value,a)},o.handleKeyDown=function(a){var n=zOe(a.target.value);if(!isNaN(n)&&jOe(a.keyCode)){var s=o.getArrowOffset(),i=a.keyCode===Z7?n+s:n-s;o.setUpdatedValue(i,a)}},o.handleDrag=function(a){if(o.props.dragLabel){var n=Math.round(o.props.value+a.movementX);n>=0&&n<=o.props.dragMax&&o.props.onChange&&o.props.onChange(o.getValueObjectWithLabel(n),a)}},o.handleMouseDown=function(a){o.props.dragLabel&&(a.preventDefault(),o.handleDrag(a),window.addEventListener("mousemove",o.handleDrag),window.addEventListener("mouseup",o.handleMouseUp))},o.handleMouseUp=function(){o.unbindEventListeners()},o.unbindEventListeners=function(){window.removeEventListener("mousemove",o.handleDrag),window.removeEventListener("mouseup",o.handleMouseUp)},o.state={value:String(r.value).toUpperCase(),blurValue:String(r.value).toUpperCase()},o.inputId="rc-editable-input-"+WOe++,o}return DOe(t,[{key:"componentDidUpdate",value:function(o,a){this.props.value!==this.state.value&&(o.value!==this.props.value||a.value!==this.state.value)&&(this.input===document.activeElement?this.setState({blurValue:String(this.props.value).toUpperCase()}):this.setState({value:String(this.props.value).toUpperCase(),blurValue:!this.state.blurValue&&String(this.props.value).toUpperCase()}))}},{key:"componentWillUnmount",value:function(){this.unbindEventListeners()}},{key:"getValueObjectWithLabel",value:function(o){return AOe({},this.props.label,o)}},{key:"getArrowOffset",value:function(){return this.props.arrowOffset||FOe}},{key:"setUpdatedValue",value:function(o,a){var n=this.props.label?this.getValueObjectWithLabel(o):o;this.props.onChange&&this.props.onChange(n,a),this.setState({value:o})}},{key:"render",value:function(){var o=this,a=(0,Y7.default)({default:{wrap:{position:"relative"}},"user-override":{wrap:this.props.style&&this.props.style.wrap?this.props.style.wrap:{},input:this.props.style&&this.props.style.input?this.props.style.input:{},label:this.props.style&&this.props.style.label?this.props.style.label:{}},"dragLabel-true":{label:{cursor:"ew-resize"}}},{"user-override":!0},this.props);return Vp.default.createElement("div",{style:a.wrap},Vp.default.createElement("input",{id:this.inputId,style:a.input,ref:function(s){return o.input=s},value:this.state.value,onKeyDown:this.handleKeyDown,onChange:this.handleChange,onBlur:this.handleBlur,placeholder:this.props.placeholder,spellCheck:"false"}),this.props.label&&!this.props.hideLabel?Vp.default.createElement("label",{htmlFor:this.inputId,style:a.label,onMouseDown:this.handleMouseDown},this.props.label):null)}}]),t}(Vp.PureComponent||Vp.Component),dt=UOe;var qs=y(D()),tG=y(rt());var Q7=function(t,r,o,a){var n=a.clientWidth,s=a.clientHeight,i=typeof t.pageX=="number"?t.pageX:t.touches[0].pageX,p=typeof t.pageY=="number"?t.pageY:t.touches[0].pageY,l=i-(a.getBoundingClientRect().left+window.pageXOffset),d=p-(a.getBoundingClientRect().top+window.pageYOffset);if(r==="vertical"){var u=void 0;if(d<0)u=359;else if(d>s)u=0;else{var f=-(d*100/s)+100;u=360*f/100}if(o.h!==u)return{h:u,s:o.s,l:o.l,a:o.a,source:"hsl"}}else{var c=void 0;if(l<0)c=0;else if(l>n)c=359;else{var h=l*100/n;c=360*h/100}if(o.h!==c)return{h:c,s:o.s,l:o.l,a:o.a,source:"hsl"}}return null};var VOe=function(){function e(t,r){for(var o=0;o-1}var uQ=nje;function sje(e,t){var r=this.__data__,o=Ud(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}var fQ=sje;function jx(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t-1&&e%1==0&&e<=BLe}var qx=jLe;function LLe(e){return e!=null&&qx(e.length)&&!Lx(e)}var $s=LLe;function zLe(e){return rn(e)&&$s(e)}var JQ=zLe;function WLe(){return!1}var YQ=WLe;var eee=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ZQ=eee&&typeof module=="object"&&module&&!module.nodeType&&module,ULe=ZQ&&ZQ.exports===eee,QQ=ULe?ho.Buffer:void 0,VLe=QQ?QQ.isBuffer:void 0,HLe=VLe||YQ,Ac=HLe;var $Le="[object Object]",GLe=Function.prototype,qLe=Object.prototype,tee=GLe.toString,KLe=qLe.hasOwnProperty,XLe=tee.call(Object);function JLe(e){if(!rn(e)||Zn(e)!=$Le)return!1;var t=$O(e);if(t===null)return!0;var r=KLe.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&tee.call(r)==XLe}var ree=JLe;var YLe="[object Arguments]",ZLe="[object Array]",QLe="[object Boolean]",e5e="[object Date]",t5e="[object Error]",r5e="[object Function]",o5e="[object Map]",a5e="[object Number]",n5e="[object Object]",s5e="[object RegExp]",i5e="[object Set]",l5e="[object String]",p5e="[object WeakMap]",d5e="[object ArrayBuffer]",u5e="[object DataView]",f5e="[object Float32Array]",c5e="[object Float64Array]",m5e="[object Int8Array]",h5e="[object Int16Array]",x5e="[object Int32Array]",g5e="[object Uint8Array]",y5e="[object Uint8ClampedArray]",b5e="[object Uint16Array]",v5e="[object Uint32Array]",Br={};Br[f5e]=Br[c5e]=Br[m5e]=Br[h5e]=Br[x5e]=Br[g5e]=Br[y5e]=Br[b5e]=Br[v5e]=!0;Br[YLe]=Br[ZLe]=Br[d5e]=Br[QLe]=Br[u5e]=Br[e5e]=Br[t5e]=Br[r5e]=Br[o5e]=Br[a5e]=Br[n5e]=Br[s5e]=Br[i5e]=Br[l5e]=Br[p5e]=!1;function T5e(e){return rn(e)&&qx(e.length)&&!!Br[Zn(e)]}var oee=T5e;function S5e(e){return function(t){return e(t)}}var aee=S5e;var nee=typeof exports=="object"&&exports&&!exports.nodeType&&exports,fT=nee&&typeof module=="object"&&module&&!module.nodeType&&module,w5e=fT&&fT.exports===nee,jI=w5e&&WO.process,_5e=function(){try{var e=fT&&fT.require&&fT.require("util").types;return e||jI&&jI.binding&&jI.binding("util")}catch(t){}}(),LI=_5e;var see=LI&&LI.isTypedArray,C5e=see?aee(see):oee,Kx=C5e;function O5e(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}var cT=O5e;var k5e=Object.prototype,E5e=k5e.hasOwnProperty;function P5e(e,t,r){var o=e[t];(!(E5e.call(e,t)&&bl(o,r))||r===void 0&&!(t in e))&&Hx(e,t,r)}var iee=P5e;function R5e(e,t,r,o){var a=!r;r||(r={});for(var n=-1,s=t.length;++n-1&&e%1==0&&e0){if(++t>=J5e)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var Tee=Q5e;var e3e=Tee(vee),See=e3e;function t3e(e,t){return See(yee(e,t,qd),e+"")}var wee=t3e;function r3e(e,t,r){if(!ro(r))return!1;var o=typeof t;return(o=="number"?$s(r)&&Xx(t,r.length):o=="string"&&t in r)?bl(r[t],e):!1}var _ee=r3e;function o3e(e){return wee(function(t,r){var o=-1,a=r.length,n=a>1?r[a-1]:void 0,s=a>2?r[2]:void 0;for(n=e.length>3&&typeof n=="function"?(a--,n):void 0,s&&_ee(r[0],r[1],s)&&(n=a<3?void 0:n,a=1),t=Object(t);++o=t||k<0||u&&M>=n}function x(){var O=XO();if(h(O))return T(O);i=setTimeout(x,g(O))}function T(O){return i=void 0,f&&o?c(O):(o=a=void 0,s)}function v(){i!==void 0&&clearTimeout(i),l=0,o=p=a=i=void 0}function b(){return i===void 0?s:T(XO())}function w(){var O=XO(),k=h(O);if(o=arguments,a=this,p=O,k){if(i===void 0)return m(p);if(u)return clearTimeout(i),i=setTimeout(x,t),c(p)}return i===void 0&&(i=setTimeout(x,t)),s}return w.cancel=v,w.flush=b,w}var JO=v3e;var T3e="Expected a function";function S3e(e,t,r){var o=!0,a=!0;if(typeof e!="function")throw new TypeError(T3e);return ro(r)&&(o="leading"in r?!!r.leading:o,a="trailing"in r?!!r.trailing:a),JO(e,t,{leading:o,maxWait:t,trailing:a})}var Ree=S3e;var Dee=function(t,r,o){var a=o.getBoundingClientRect(),n=a.width,s=a.height,i=typeof t.pageX=="number"?t.pageX:t.touches[0].pageX,p=typeof t.pageY=="number"?t.pageY:t.touches[0].pageY,l=i-(o.getBoundingClientRect().left+window.pageXOffset),d=p-(o.getBoundingClientRect().top+window.pageYOffset);l<0?l=0:l>n&&(l=n),d<0?d=0:d>s&&(d=s);var u=l/n,f=1-d/s;return{h:r.h,s:u,v:f,a:r.a,source:"hsv"}};var _3e=function(){function e(t,r){for(var o=0;o-1}var nG=t1e;function r1e(e,t){var r=this.__data__,o=$p(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}var sG=r1e;function eh(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t-1&&e%1==0&&e<=Mke}var ph=Nke;function Ike(e){return e!=null&&ph(e.length)&&!th(e)}var cs=Ike;function Fke(e){return Ma(e)&&cs(e)}var VG=Fke;function Bke(){return!1}var $G=Bke;var KG=typeof exports=="object"&&exports&&!exports.nodeType&&exports,GG=KG&&typeof module=="object"&&module&&!module.nodeType&&module,Lke=GG&&GG.exports===KG,qG=Lke?Gr.Buffer:void 0,jke=qG?qG.isBuffer:void 0,zke=jke||$G,mf=zke;var Wke="[object Object]",Uke=Function.prototype,Hke=Object.prototype,JG=Uke.toString,Vke=Hke.hasOwnProperty,$ke=JG.call(Object);function Gke(e){if(!Ma(e)||On(e)!=Wke)return!1;var t=j_(e);if(t===null)return!0;var r=Vke.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&JG.call(r)==$ke}var XG=Gke;var qke="[object Arguments]",Kke="[object Array]",Jke="[object Boolean]",Xke="[object Date]",Yke="[object Error]",Zke="[object Function]",Qke="[object Map]",eEe="[object Number]",tEe="[object Object]",rEe="[object RegExp]",oEe="[object Set]",aEe="[object String]",nEe="[object WeakMap]",sEe="[object ArrayBuffer]",iEe="[object DataView]",lEe="[object Float32Array]",pEe="[object Float64Array]",dEe="[object Int8Array]",uEe="[object Int16Array]",fEe="[object Int32Array]",cEe="[object Uint8Array]",mEe="[object Uint8ClampedArray]",hEe="[object Uint16Array]",xEe="[object Uint32Array]",Tr={};Tr[lEe]=Tr[pEe]=Tr[dEe]=Tr[uEe]=Tr[fEe]=Tr[cEe]=Tr[mEe]=Tr[hEe]=Tr[xEe]=!0;Tr[qke]=Tr[Kke]=Tr[sEe]=Tr[Jke]=Tr[iEe]=Tr[Xke]=Tr[Yke]=Tr[Zke]=Tr[Qke]=Tr[eEe]=Tr[tEe]=Tr[rEe]=Tr[oEe]=Tr[aEe]=Tr[nEe]=!1;function gEe(e){return Ma(e)&&ph(e.length)&&!!Tr[On(e)]}var YG=gEe;function yEe(e){return function(t){return e(t)}}var ZG=yEe;var QG=typeof exports=="object"&&exports&&!exports.nodeType&&exports,tv=QG&&typeof module=="object"&&module&&!module.nodeType&&module,vEe=tv&&tv.exports===QG,VD=vEe&&I_.process,bEe=function(){try{var e=tv&&tv.require&&tv.require("util").types;return e||VD&&VD.binding&&VD.binding("util")}catch(t){}}(),$D=bEe;var eq=$D&&$D.isTypedArray,TEe=eq?ZG(eq):YG,dh=TEe;function SEe(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}var rv=SEe;var wEe=Object.prototype,_Ee=wEe.hasOwnProperty;function CEe(e,t,r){var o=e[t];(!(_Ee.call(e,t)&&zi(o,r))||r===void 0&&!(t in e))&&sh(e,t,r)}var tq=CEe;function OEe(e,t,r,o){var a=!r;r||(r={});for(var n=-1,s=t.length;++n-1&&e%1==0&&e0){if(++t>=GEe)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var hq=JEe;var XEe=hq(mq),xq=XEe;function YEe(e,t){return xq(fq(e,t,Xp),e+"")}var gq=YEe;function ZEe(e,t,r){if(!Br(r))return!1;var o=typeof t;return(o=="number"?cs(r)&&uh(t,r.length):o=="string"&&t in r)?zi(r[t],e):!1}var yq=ZEe;function QEe(e){return gq(function(t,r){var o=-1,a=r.length,n=a>1?r[a-1]:void 0,s=a>2?r[2]:void 0;for(n=e.length>3&&typeof n=="function"?(a--,n):void 0,s&&yq(r[0],r[1],s)&&(n=a<3?void 0:n,a=1),t=Object(t);++o=t||k<0||u&&M>=n}function x(){var O=H_();if(m(O))return T(O);i=setTimeout(x,g(O))}function T(O){return i=void 0,f&&o?c(O):(o=a=void 0,s)}function b(){i!==void 0&&clearTimeout(i),l=0,o=p=a=i=void 0}function v(){return i===void 0?s:T(H_())}function w(){var O=H_(),k=m(O);if(o=arguments,a=this,p=O,k){if(i===void 0)return h(p);if(u)return clearTimeout(i),i=setTimeout(x,t),c(p)}return i===void 0&&(i=setTimeout(x,t)),s}return w.cancel=b,w.flush=v,w}var V_=xPe;var gPe="Expected a function";function yPe(e,t,r){var o=!0,a=!0;if(typeof e!="function")throw new TypeError(gPe);return Br(r)&&(o="leading"in r?!!r.leading:o,a="trailing"in r?!!r.trailing:a),V_(e,t,{leading:o,maxWait:t,trailing:a})}var _q=yPe;var Cq=function(t,r,o){var a=o.getBoundingClientRect(),n=a.width,s=a.height,i=typeof t.pageX=="number"?t.pageX:t.touches[0].pageX,p=typeof t.pageY=="number"?t.pageY:t.touches[0].pageY,l=i-(o.getBoundingClientRect().left+window.pageXOffset),d=p-(o.getBoundingClientRect().top+window.pageYOffset);l<0?l=0:l>n&&(l=n),d<0?d=0:d>s&&(d=s);var u=l/n,f=1-d/s;return{h:r.h,s:u,v:f,a:r.a,source:"hsv"}};var bPe=function(){function e(t,r){for(var o=0;o=0,n=!r&&a&&(t==="hex"||t==="hex6"||t==="hex3"||t==="hex4"||t==="hex8"||t==="name");return n?t==="name"&&this._a===0?this.toName():this.toRgbString():(t==="rgb"&&(o=this.toRgbString()),t==="prgb"&&(o=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(o=this.toHexString()),t==="hex3"&&(o=this.toHexString(!0)),t==="hex4"&&(o=this.toHex8String(!0)),t==="hex8"&&(o=this.toHex8String()),t==="name"&&(o=this.toName()),t==="hsl"&&(o=this.toHslString()),t==="hsv"&&(o=this.toHsvString()),o||this.toHexString())},clone:function(){return Ue(this.toString())},_applyModification:function(t,r){var o=t.apply(null,[this].concat([].slice.call(r)));return this._r=o._r,this._g=o._g,this._b=o._b,this.setAlpha(o._a),this},lighten:function(){return this._applyModification(J3e,arguments)},brighten:function(){return this._applyModification(Y3e,arguments)},darken:function(){return this._applyModification(Z3e,arguments)},desaturate:function(){return this._applyModification(q3e,arguments)},saturate:function(){return this._applyModification(K3e,arguments)},greyscale:function(){return this._applyModification(X3e,arguments)},spin:function(){return this._applyModification(Q3e,arguments)},_applyCombination:function(t,r){return t.apply(null,[this].concat([].slice.call(r)))},analogous:function(){return this._applyCombination(r4e,arguments)},complement:function(){return this._applyCombination(e4e,arguments)},monochromatic:function(){return this._applyCombination(o4e,arguments)},splitcomplement:function(){return this._applyCombination(t4e,arguments)},triad:function(){return this._applyCombination(Vee,[3])},tetrad:function(){return this._applyCombination(Vee,[4])}};Ue.fromRatio=function(e,t){if(ZO(e)=="object"){var r={};for(var o in e)e.hasOwnProperty(o)&&(o==="a"?r[o]=e[o]:r[o]=hT(e[o]));e=r}return Ue(e,t)};function U3e(e){var t={r:0,g:0,b:0},r=1,o=null,a=null,n=null,s=!1,i=!1;return typeof e=="string"&&(e=l4e(e)),ZO(e)=="object"&&(Sp(e.r)&&Sp(e.g)&&Sp(e.b)?(t=V3e(e.r,e.g,e.b),s=!0,i=String(e.r).substr(-1)==="%"?"prgb":"rgb"):Sp(e.h)&&Sp(e.s)&&Sp(e.v)?(o=hT(e.s),a=hT(e.v),t=$3e(e.h,o,a),s=!0,i="hsv"):Sp(e.h)&&Sp(e.s)&&Sp(e.l)&&(o=hT(e.s),n=hT(e.l),t=H3e(e.h,o,n),s=!0,i="hsl"),e.hasOwnProperty("a")&&(r=e.a)),r=$ee(r),{ok:s,format:e.format||i,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:r}}function V3e(e,t,r){return{r:$r(e,255)*255,g:$r(t,255)*255,b:$r(r,255)*255}}function Lee(e,t,r){e=$r(e,255),t=$r(t,255),r=$r(r,255);var o=Math.max(e,t,r),a=Math.min(e,t,r),n,s,i=(o+a)/2;if(o==a)n=s=0;else{var p=o-a;switch(s=i>.5?p/(2-o-a):p/(o+a),o){case e:n=(t-r)/p+(t1&&(u-=1),u<1/6?l+(d-l)*6*u:u<1/2?d:u<2/3?l+(d-l)*(2/3-u)*6:l}if(t===0)o=a=n=r;else{var i=r<.5?r*(1+t):r+t-r*t,p=2*r-i;o=s(p,i,e+1/3),a=s(p,i,e),n=s(p,i,e-1/3)}return{r:o*255,g:a*255,b:n*255}}function zee(e,t,r){e=$r(e,255),t=$r(t,255),r=$r(r,255);var o=Math.max(e,t,r),a=Math.min(e,t,r),n,s,i=o,p=o-a;if(s=o===0?0:p/o,o==a)n=0;else{switch(o){case e:n=(t-r)/p+(t>1)+720)%360;--t;)o.h=(o.h+a)%360,n.push(Ue(o));return n}function o4e(e,t){t=t||6;for(var r=Ue(e).toHsv(),o=r.h,a=r.s,n=r.v,s=[],i=1/t;t--;)s.push(Ue({h:o,s:a,v:n})),n=(n+i)%1;return s}Ue.mix=function(e,t,r){r=r===0?0:r||50;var o=Ue(e).toRgb(),a=Ue(t).toRgb(),n=r/100,s={r:(a.r-o.r)*n+o.r,g:(a.g-o.g)*n+o.g,b:(a.b-o.b)*n+o.b,a:(a.a-o.a)*n+o.a};return Ue(s)};Ue.readability=function(e,t){var r=Ue(e),o=Ue(t);return(Math.max(r.getLuminance(),o.getLuminance())+.05)/(Math.min(r.getLuminance(),o.getLuminance())+.05)};Ue.isReadable=function(e,t,r){var o=Ue.readability(e,t),a,n;switch(n=!1,a=p4e(r),a.level+a.size){case"AAsmall":case"AAAlarge":n=o>=4.5;break;case"AAlarge":n=o>=3;break;case"AAAsmall":n=o>=7;break}return n};Ue.mostReadable=function(e,t,r){var o=null,a=0,n,s,i,p;r=r||{},s=r.includeFallbackColors,i=r.level,p=r.size;for(var l=0;la&&(a=n,o=Ue(t[l]));return Ue.isReadable(e,o,{level:i,size:p})||!s?o:(r.includeFallbackColors=!1,Ue.mostReadable(e,["#fff","#000"],r))};var VI=Ue.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},a4e=Ue.hexNames=n4e(VI);function n4e(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[e[r]]=r);return t}function $ee(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function $r(e,t){s4e(e)&&(e="100%");var r=i4e(e);return e=Math.min(t,Math.max(0,parseFloat(e))),r&&(e=parseInt(e*t,10)/100),Math.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function QO(e){return Math.min(1,Math.max(0,e))}function Qn(e){return parseInt(e,16)}function s4e(e){return typeof e=="string"&&e.indexOf(".")!=-1&&parseFloat(e)===1}function i4e(e){return typeof e=="string"&&e.indexOf("%")!=-1}function Ei(e){return e.length==1?"0"+e:""+e}function hT(e){return e<=1&&(e=e*100+"%"),e}function Gee(e){return Math.round(parseFloat(e)*255).toString(16)}function Hee(e){return Qn(e)/255}var ki=function(){var e="[-\\+]?\\d+%?",t="[-\\+]?\\d*\\.\\d+%?",r="(?:"+t+")|(?:"+e+")",o="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?",a="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?";return{CSS_UNIT:new RegExp(r),rgb:new RegExp("rgb"+o),rgba:new RegExp("rgba"+a),hsl:new RegExp("hsl"+o),hsla:new RegExp("hsla"+a),hsv:new RegExp("hsv"+o),hsva:new RegExp("hsva"+a),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function Sp(e){return!!ki.CSS_UNIT.exec(e)}function l4e(e){e=e.replace(z3e,"").replace(W3e,"").toLowerCase();var t=!1;if(VI[e])e=VI[e],t=!0;else if(e=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var r;return(r=ki.rgb.exec(e))?{r:r[1],g:r[2],b:r[3]}:(r=ki.rgba.exec(e))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=ki.hsl.exec(e))?{h:r[1],s:r[2],l:r[3]}:(r=ki.hsla.exec(e))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=ki.hsv.exec(e))?{h:r[1],s:r[2],v:r[3]}:(r=ki.hsva.exec(e))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=ki.hex8.exec(e))?{r:Qn(r[1]),g:Qn(r[2]),b:Qn(r[3]),a:Hee(r[4]),format:t?"name":"hex8"}:(r=ki.hex6.exec(e))?{r:Qn(r[1]),g:Qn(r[2]),b:Qn(r[3]),format:t?"name":"hex"}:(r=ki.hex4.exec(e))?{r:Qn(r[1]+""+r[1]),g:Qn(r[2]+""+r[2]),b:Qn(r[3]+""+r[3]),a:Hee(r[4]+""+r[4]),format:t?"name":"hex8"}:(r=ki.hex3.exec(e))?{r:Qn(r[1]+""+r[1]),g:Qn(r[2]+""+r[2]),b:Qn(r[3]+""+r[3]),format:t?"name":"hex"}:!1}function p4e(e){var t,r;return e=e||{level:"AA",size:"small"},t=(e.level||"AA").toUpperCase(),r=(e.size||"small").toLowerCase(),t!=="AA"&&t!=="AAA"&&(t="AA"),r!=="small"&&r!=="large"&&(r="small"),{level:t,size:r}}var HI=function(t){var r=["r","g","b","a","h","s","l","v"],o=0,a=0;return UI(r,function(n){if(t[n]&&(o+=1,isNaN(t[n])||(a+=1),n==="s"||n==="l")){var s=/^\d+%$/;s.test(t[n])&&(a+=1)}}),o===a?t:!1},Yx=function(t,r){var o=t.hex?Ue(t.hex):Ue(t),a=o.toHsl(),n=o.toHsv(),s=o.toRgb(),i=o.toHex();a.s===0&&(a.h=r||0,n.h=r||0);var p=i==="000000"&&s.a===0;return{hsl:a,hex:p?"transparent":"#"+i,rgb:s,hsv:n,oldHue:t.h||r||a.h,source:t.source}},Ia=function(t){if(t==="transparent")return!0;var r=String(t).charAt(0)==="#"?1:0;return t.length!==4+r&&t.length<7+r&&Ue(t).isValid()},Zx=function(t){if(!t)return"#fff";var r=Yx(t);if(r.hex==="transparent")return"rgba(0,0,0,0.4)";var o=(r.rgb.r*299+r.rgb.g*587+r.rgb.b*114)/1e3;return o>=128?"#000":"#fff"};var e1=function(t,r){var o=t.replace("\xB0","");return Ue(r+" ("+o+")")._ok};var xT=Object.assign||function(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:"span";return function(o){y4e(a,o);function a(){var n,s,i,p;g4e(this,a);for(var l=arguments.length,d=Array(l),u=0;ui))return!1;var l=n.get(e),d=n.get(t);if(l&&d)return l==t&&d==e;var u=-1,f=!0,c=r&D4e?new ate:void 0;for(n.set(e,t),n.set(t,e);++u1&&(a.a=1),o.props.onChange({h:o.props.hsl.h,s:o.props.hsl.s,l:o.props.hsl.l,a:Math.round(a.a*100)/100,source:"rgb"},n)):(a.h||a.s||a.l)&&(typeof a.s=="string"&&a.s.includes("%")&&(a.s=a.s.replace("%","")),typeof a.l=="string"&&a.l.includes("%")&&(a.l=a.l.replace("%","")),a.s==1?a.s=.01:a.l==1&&(a.l=.01),o.props.onChange({h:a.h||o.props.hsl.h,s:Number(tF(a.s)?o.props.hsl.s:a.s),l:Number(tF(a.l)?o.props.hsl.l:a.l),source:"hsl"},n))},o.showHighlight=function(a){a.currentTarget.style.background="#eee"},o.hideHighlight=function(a){a.currentTarget.style.background="transparent"},r.hsl.a!==1&&r.view==="hex"?o.state={view:"rgb"}:o.state={view:r.view},o}return l6e(t,[{key:"render",value:function(){var o=this,a=(0,nre.default)({default:{wrap:{paddingTop:"16px",display:"flex"},fields:{flex:"1",display:"flex",marginLeft:"-6px"},field:{paddingLeft:"6px",width:"100%"},alpha:{paddingLeft:"6px",width:"100%"},toggle:{width:"32px",textAlign:"right",position:"relative"},icon:{marginRight:"-4px",marginTop:"12px",cursor:"pointer",position:"relative"},iconHighlight:{position:"absolute",width:"24px",height:"28px",background:"#eee",borderRadius:"4px",top:"10px",left:"12px",display:"none"},input:{fontSize:"11px",color:"#333",width:"100%",borderRadius:"2px",border:"none",boxShadow:"inset 0 0 0 1px #dadada",height:"21px",textAlign:"center"},label:{textTransform:"uppercase",fontSize:"11px",lineHeight:"11px",color:"#969696",textAlign:"center",display:"block",marginTop:"12px"},svg:{fill:"#333",width:"24px",height:"24px",border:"1px transparent solid",borderRadius:"5px"}},disableAlpha:{alpha:{display:"none"}}},this.props,this.state),n=void 0;return this.state.view==="hex"?n=wr.default.createElement("div",{style:a.fields,className:"flexbox-fix"},wr.default.createElement("div",{style:a.field},wr.default.createElement(mt,{style:{input:a.input,label:a.label},label:"hex",value:this.props.hex,onChange:this.handleChange}))):this.state.view==="rgb"?n=wr.default.createElement("div",{style:a.fields,className:"flexbox-fix"},wr.default.createElement("div",{style:a.field},wr.default.createElement(mt,{style:{input:a.input,label:a.label},label:"r",value:this.props.rgb.r,onChange:this.handleChange})),wr.default.createElement("div",{style:a.field},wr.default.createElement(mt,{style:{input:a.input,label:a.label},label:"g",value:this.props.rgb.g,onChange:this.handleChange})),wr.default.createElement("div",{style:a.field},wr.default.createElement(mt,{style:{input:a.input,label:a.label},label:"b",value:this.props.rgb.b,onChange:this.handleChange})),wr.default.createElement("div",{style:a.alpha},wr.default.createElement(mt,{style:{input:a.input,label:a.label},label:"a",value:this.props.rgb.a,arrowOffset:.01,onChange:this.handleChange}))):this.state.view==="hsl"&&(n=wr.default.createElement("div",{style:a.fields,className:"flexbox-fix"},wr.default.createElement("div",{style:a.field},wr.default.createElement(mt,{style:{input:a.input,label:a.label},label:"h",value:Math.round(this.props.hsl.h),onChange:this.handleChange})),wr.default.createElement("div",{style:a.field},wr.default.createElement(mt,{style:{input:a.input,label:a.label},label:"s",value:Math.round(this.props.hsl.s*100)+"%",onChange:this.handleChange})),wr.default.createElement("div",{style:a.field},wr.default.createElement(mt,{style:{input:a.input,label:a.label},label:"l",value:Math.round(this.props.hsl.l*100)+"%",onChange:this.handleChange})),wr.default.createElement("div",{style:a.alpha},wr.default.createElement(mt,{style:{input:a.input,label:a.label},label:"a",value:this.props.hsl.a,arrowOffset:.01,onChange:this.handleChange})))),wr.default.createElement("div",{style:a.wrap,className:"flexbox-fix"},n,wr.default.createElement("div",{style:a.toggle},wr.default.createElement("div",{style:a.icon,onClick:this.toggleViews,ref:function(i){return o.icon=i}},wr.default.createElement(sre.default,{style:a.svg,onMouseOver:this.showHighlight,onMouseEnter:this.showHighlight,onMouseOut:this.hideHighlight}))))}}],[{key:"getDerivedStateFromProps",value:function(o,a){return o.hsl.a!==1&&a.view==="hex"?{view:"rgb"}:null}}]),t}(wr.default.Component);ire.defaultProps={view:"hex"};var lre=ire;var pre=y(P()),dre=y(it()),f6e=function(){var t=(0,dre.default)({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",transform:"translate(-6px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}}});return pre.default.createElement("div",{style:t.picker})},oF=f6e;var ure=y(P()),fre=y(it()),c6e=function(){var t=(0,fre.default)({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",boxShadow:"inset 0 0 0 1px #fff",transform:"translate(-6px, -6px)"}}});return ure.default.createElement("div",{style:t.picker})},cre=c6e;var aF=function(t){var r=t.width,o=t.onChange,a=t.disableAlpha,n=t.rgb,s=t.hsl,i=t.hsv,p=t.hex,l=t.renderers,d=t.styles,u=d===void 0?{}:d,f=t.className,c=f===void 0?"":f,m=t.defaultView,g=(0,mre.default)(xr({default:{picker:{width:r,background:"#fff",borderRadius:"2px",boxShadow:"0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3)",boxSizing:"initial",fontFamily:"Menlo"},saturation:{width:"100%",paddingBottom:"55%",position:"relative",borderRadius:"2px 2px 0 0",overflow:"hidden"},Saturation:{radius:"2px 2px 0 0"},body:{padding:"16px 16px 12px"},controls:{display:"flex"},color:{width:"32px"},swatch:{marginTop:"6px",width:"16px",height:"16px",borderRadius:"8px",position:"relative",overflow:"hidden"},active:{absolute:"0px 0px 0px 0px",borderRadius:"8px",boxShadow:"inset 0 0 0 1px rgba(0,0,0,.1)",background:"rgba("+n.r+", "+n.g+", "+n.b+", "+n.a+")",zIndex:"2"},toggles:{flex:"1"},hue:{height:"10px",position:"relative",marginBottom:"8px"},Hue:{radius:"2px"},alpha:{height:"10px",position:"relative"},Alpha:{radius:"2px"}},disableAlpha:{color:{width:"22px"},alpha:{display:"none"},hue:{marginBottom:"0px"},swatch:{width:"10px",height:"10px",marginTop:"0px"}}},u),{disableAlpha:a});return Fa.default.createElement("div",{style:g.picker,className:"chrome-picker "+c},Fa.default.createElement("div",{style:g.saturation},Fa.default.createElement(Tp,{style:g.Saturation,hsl:s,hsv:i,pointer:cre,onChange:o})),Fa.default.createElement("div",{style:g.body},Fa.default.createElement("div",{style:g.controls,className:"flexbox-fix"},Fa.default.createElement("div",{style:g.color},Fa.default.createElement("div",{style:g.swatch},Fa.default.createElement("div",{style:g.active}),Fa.default.createElement(Ci,{renderers:l}))),Fa.default.createElement("div",{style:g.toggles},Fa.default.createElement("div",{style:g.hue},Fa.default.createElement(Yn,{style:g.Hue,hsl:s,pointer:oF,onChange:o})),Fa.default.createElement("div",{style:g.alpha},Fa.default.createElement(Pc,{style:g.Alpha,rgb:n,hsl:s,pointer:oF,renderers:l,onChange:o})))),Fa.default.createElement(lre,{rgb:n,hsl:s,hex:p,view:m,onChange:o,disableAlpha:a})))};aF.propTypes={width:Bc.default.oneOfType([Bc.default.string,Bc.default.number]),disableAlpha:Bc.default.bool,styles:Bc.default.object,defaultView:Bc.default.oneOf(["hex","rgb","hsl"])};aF.defaultProps={width:225,disableAlpha:!1,styles:{}};var nF=er(aF);var Lc=y(P()),y1=y(lo()),bre=y(it());var sF=y(P()),hre=y(it());var m6e=function(t){var r=t.color,o=t.onClick,a=o===void 0?function(){}:o,n=t.onSwatchHover,s=t.active,i=(0,hre.default)({default:{color:{background:r,width:"15px",height:"15px",float:"left",marginRight:"5px",marginBottom:"5px",position:"relative",cursor:"pointer"},dot:{absolute:"5px 5px 5px 5px",background:Zx(r),borderRadius:"50%",opacity:"0"}},active:{dot:{opacity:"1"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},dot:{background:"#000"}},transparent:{dot:{background:"#000"}}},{active:s,"color-#FFFFFF":r==="#FFFFFF",transparent:r==="transparent"});return sF.default.createElement(on,{style:i.color,color:r,onClick:a,onHover:n,focusStyle:{boxShadow:"0 0 4px "+r}},sF.default.createElement("div",{style:i.dot}))},xre=m6e;var jc=y(P()),gre=y(it());var h6e=function(t){var r=t.hex,o=t.rgb,a=t.onChange,n=(0,gre.default)({default:{fields:{display:"flex",paddingBottom:"6px",paddingRight:"5px",position:"relative"},active:{position:"absolute",top:"6px",left:"5px",height:"9px",width:"9px",background:r},HEXwrap:{flex:"6",position:"relative"},HEXinput:{width:"80%",padding:"0px",paddingLeft:"20%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},HEXlabel:{display:"none"},RGBwrap:{flex:"3",position:"relative"},RGBinput:{width:"70%",padding:"0px",paddingLeft:"30%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},RGBlabel:{position:"absolute",top:"3px",left:"0px",lineHeight:"16px",textTransform:"uppercase",fontSize:"12px",color:"#999"}}}),s=function(p,l){p.r||p.g||p.b?a({r:p.r||o.r,g:p.g||o.g,b:p.b||o.b,source:"rgb"},l):a({hex:p.hex,source:"hex"},l)};return jc.default.createElement("div",{style:n.fields,className:"flexbox-fix"},jc.default.createElement("div",{style:n.active}),jc.default.createElement(mt,{style:{wrap:n.HEXwrap,input:n.HEXinput,label:n.HEXlabel},label:"hex",value:r,onChange:s}),jc.default.createElement(mt,{style:{wrap:n.RGBwrap,input:n.RGBinput,label:n.RGBlabel},label:"r",value:o.r,onChange:s}),jc.default.createElement(mt,{style:{wrap:n.RGBwrap,input:n.RGBinput,label:n.RGBlabel},label:"g",value:o.g,onChange:s}),jc.default.createElement(mt,{style:{wrap:n.RGBwrap,input:n.RGBinput,label:n.RGBlabel},label:"b",value:o.b,onChange:s}))},yre=h6e;var iF=function(t){var r=t.onChange,o=t.onSwatchHover,a=t.colors,n=t.hex,s=t.rgb,i=t.styles,p=i===void 0?{}:i,l=t.className,d=l===void 0?"":l,u=(0,bre.default)(xr({default:{Compact:{background:"#f6f6f6",radius:"4px"},compact:{paddingTop:"5px",paddingLeft:"5px",boxSizing:"initial",width:"240px"},clear:{clear:"both"}}},p)),f=function(m,g){m.hex?Ia(m.hex)&&r({hex:m.hex,source:"hex"},g):r(m,g)};return Lc.default.createElement(Mc,{style:u.Compact,styles:p},Lc.default.createElement("div",{style:u.compact,className:"compact-picker "+d},Lc.default.createElement("div",null,Rn(a,function(c){return Lc.default.createElement(xre,{key:c,color:c,active:c.toLowerCase()===n,onClick:f,onSwatchHover:o})}),Lc.default.createElement("div",{style:u.clear})),Lc.default.createElement(yre,{hex:n,rgb:s,onChange:f})))};iF.propTypes={colors:y1.default.arrayOf(y1.default.string),styles:y1.default.object};iF.defaultProps={colors:["#4D4D4D","#999999","#FFFFFF","#F44E3B","#FE9200","#FCDC00","#DBDF00","#A4DD00","#68CCCA","#73D8FF","#AEA1FF","#FDA1FF","#333333","#808080","#cccccc","#D33115","#E27300","#FCC400","#B0BC00","#68BC00","#16A5A5","#009CE0","#7B64FF","#FA28FF","#000000","#666666","#B3B3B3","#9F0500","#C45100","#FB9E00","#808900","#194D33","#0C797D","#0062B1","#653294","#AB149E"],styles:{}};var x6e=er(iF);var gT=y(P()),mu=y(lo()),Tre=y(it());var lF=y(P()),b1=y(it());var g6e=function(t){var r=t.hover,o=t.color,a=t.onClick,n=t.onSwatchHover,s={position:"relative",zIndex:"2",outline:"2px solid #fff",boxShadow:"0 0 5px 2px rgba(0,0,0,0.25)"},i=(0,b1.default)({default:{swatch:{width:"25px",height:"25px",fontSize:"0"}},hover:{swatch:s}},{hover:r});return lF.default.createElement("div",{style:i.swatch},lF.default.createElement(on,{color:o,onClick:a,onHover:n,focusStyle:s}))},vre=(0,b1.handleHover)(g6e);var pF=function(t){var r=t.width,o=t.colors,a=t.onChange,n=t.onSwatchHover,s=t.triangle,i=t.styles,p=i===void 0?{}:i,l=t.className,d=l===void 0?"":l,u=(0,Tre.default)(xr({default:{card:{width:r,background:"#fff",border:"1px solid rgba(0,0,0,0.2)",boxShadow:"0 3px 12px rgba(0,0,0,0.15)",borderRadius:"4px",position:"relative",padding:"5px",display:"flex",flexWrap:"wrap"},triangle:{position:"absolute",border:"7px solid transparent",borderBottomColor:"#fff"},triangleShadow:{position:"absolute",border:"8px solid transparent",borderBottomColor:"rgba(0,0,0,0.15)"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-14px",left:"10px"},triangleShadow:{top:"-16px",left:"9px"}},"top-right-triangle":{triangle:{top:"-14px",right:"10px"},triangleShadow:{top:"-16px",right:"9px"}},"bottom-left-triangle":{triangle:{top:"35px",left:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",left:"9px",transform:"rotate(180deg)"}},"bottom-right-triangle":{triangle:{top:"35px",right:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",right:"9px",transform:"rotate(180deg)"}}},p),{"hide-triangle":s==="hide","top-left-triangle":s==="top-left","top-right-triangle":s==="top-right","bottom-left-triangle":s==="bottom-left","bottom-right-triangle":s==="bottom-right"}),f=function(m,g){return a({hex:m,source:"hex"},g)};return gT.default.createElement("div",{style:u.card,className:"github-picker "+d},gT.default.createElement("div",{style:u.triangleShadow}),gT.default.createElement("div",{style:u.triangle}),Rn(o,function(c){return gT.default.createElement(vre,{color:c,key:c,onClick:f,onSwatchHover:n})}))};pF.propTypes={width:mu.default.oneOfType([mu.default.string,mu.default.number]),colors:mu.default.arrayOf(mu.default.string),triangle:mu.default.oneOf(["hide","top-left","top-right","bottom-left","bottom-right"]),styles:mu.default.object};pF.defaultProps={width:200,colors:["#B80000","#DB3E00","#FCCB00","#008B02","#006B76","#1273DE","#004DCF","#5300EB","#EB9694","#FAD0C3","#FEF3BD","#C1E1C5","#BEDADC","#C4DEF6","#BED3F3","#D4C4FB"],triangle:"top-left",styles:{}};var y6e=er(pF);var dF=y(P()),Cre=y(lo()),Ore=y(it());var Sre=y(P()),wre=y(it()),b6e=function(t){var r=t.direction,o=(0,wre.default)({default:{picker:{width:"18px",height:"18px",borderRadius:"50%",transform:"translate(-9px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}},vertical:{picker:{transform:"translate(-3px, -9px)"}}},{vertical:r==="vertical"});return Sre.default.createElement("div",{style:o.picker})},_re=b6e;var v6e=Object.assign||function(e){for(var t=1;t.5});return Rre.default.createElement("div",{style:o.picker})},Are=C6e;var tg=y(P()),Mre=y(it()),O6e=function(){var t=(0,Mre.default)({default:{triangle:{width:0,height:0,borderStyle:"solid",borderWidth:"4px 0 4px 6px",borderColor:"transparent transparent transparent #fff",position:"absolute",top:"1px",left:"1px"},triangleBorder:{width:0,height:0,borderStyle:"solid",borderWidth:"5px 0 5px 8px",borderColor:"transparent transparent transparent #555"},left:{Extend:"triangleBorder",transform:"translate(-13px, -4px)"},leftInside:{Extend:"triangle",transform:"translate(-8px, -5px)"},right:{Extend:"triangleBorder",transform:"translate(20px, -14px) rotate(180deg)"},rightInside:{Extend:"triangle",transform:"translate(-8px, -5px)"}}});return tg.default.createElement("div",{style:t.pointer},tg.default.createElement("div",{style:t.left},tg.default.createElement("div",{style:t.leftInside})),tg.default.createElement("div",{style:t.right},tg.default.createElement("div",{style:t.rightInside})))},Nre=O6e;var Ire=y(P()),Fre=y(it()),k6e=function(t){var r=t.onClick,o=t.label,a=t.children,n=t.active,s=(0,Fre.default)({default:{button:{backgroundImage:"linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%)",border:"1px solid #878787",borderRadius:"2px",height:"20px",boxShadow:"0 1px 0 0 #EAEAEA",fontSize:"14px",color:"#000",lineHeight:"20px",textAlign:"center",marginBottom:"10px",cursor:"pointer"}},active:{button:{boxShadow:"0 0 0 1px #878787"}}},{active:n});return Ire.default.createElement("div",{style:s.button,onClick:r},o||a)},fF=k6e;var zc=y(P()),Bre=y(it()),E6e=function(t){var r=t.rgb,o=t.currentColor,a=(0,Bre.default)({default:{swatches:{border:"1px solid #B3B3B3",borderBottom:"1px solid #F0F0F0",marginBottom:"2px",marginTop:"1px"},new:{height:"34px",background:"rgb("+r.r+","+r.g+", "+r.b+")",boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000"},current:{height:"34px",background:o,boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 -1px 0 #000"},label:{fontSize:"14px",color:"#000",textAlign:"center"}}});return zc.default.createElement("div",null,zc.default.createElement("div",{style:a.label},"new"),zc.default.createElement("div",{style:a.swatches},zc.default.createElement("div",{style:a.new}),zc.default.createElement("div",{style:a.current})),zc.default.createElement("div",{style:a.label},"current"))},jre=E6e;var P6e=function(){function e(t,r){for(var o=0;o100&&(d.a=100),d.a/=100,r({h:a.h,s:a.s,l:a.l,a:d.a,source:"rgb"},u))};return qs.default.createElement("div",{style:i.fields,className:"flexbox-fix"},qs.default.createElement("div",{style:i.double},qs.default.createElement(mt,{style:{input:i.input,label:i.label},label:"hex",value:n.replace("#",""),onChange:p})),qs.default.createElement("div",{style:i.single},qs.default.createElement(mt,{style:{input:i.input,label:i.label},label:"r",value:o.r,onChange:p,dragLabel:"true",dragMax:"255"})),qs.default.createElement("div",{style:i.single},qs.default.createElement(mt,{style:{input:i.input,label:i.label},label:"g",value:o.g,onChange:p,dragLabel:"true",dragMax:"255"})),qs.default.createElement("div",{style:i.single},qs.default.createElement(mt,{style:{input:i.input,label:i.label},label:"b",value:o.b,onChange:p,dragLabel:"true",dragMax:"255"})),qs.default.createElement("div",{style:i.alpha},qs.default.createElement(mt,{style:{input:i.input,label:i.label},label:"a",value:Math.round(o.a*100),onChange:p,dragLabel:"true",dragMax:"100"})))},Wre=N6e;var v1=y(P()),Wc=y(lo()),Ure=y(it());var I6e=Object.assign||function(e){for(var t=1;t1){let s=parseInt(n[1],10);for(let i=parseInt(n[0],10);i<=s;i++)r.push(i)}else r.push(parseInt(o[a],10))}r.sort();for(let a=r.length-1;a>=0;a--)r[a]===r[a+1]&&r.splice(a+1,1);return r}function Aoe(e,t){if(typeof e!="object"&&(e=[e]),e.length===t)return"*";let r=[];if(!e.length)return"-";e=e.map(n=>parseInt(n,10)),e.sort((n,s)=>n-s);let o=e[0],a=e[0];for(let n=1;nthis.props.onChange&&this.props.onChange(this.state.cron),100)}static cron2state(t){t=t.replace(/['"]/g,"").trim();let r=t.split(" ").map(a=>a.trim()),o;return r.length===6?o={seconds:r[0]||"*",minutes:r[1]||"*",hours:r[2]||"*",dates:r[3]||"*",months:r[4]||"*",dow:r[5]||"*"}:o={seconds:!1,minutes:r[0]||"*",hours:r[1]||"*",dates:r[2]||"*",months:r[3]||"*",dow:r[4]||"*"},o}static state2cron(t){let r=`${t.minutes} ${t.hours} ${t.dates} ${t.months} ${t.dow}`;return t.seconds!==!1&&(r=`${t.seconds} ${r}`),r}recalcCron(){let t=e.state2cron(this.state);t!==this.state.cron&&this.setState({cron:t},()=>this.props.onChange&&this.props.onChange(this.state.cron))}onToggle(t,r,o){if(t===!0)this.setCronAttr(r,"*");else if(t===!1)o===60||o===24?this.setCronAttr(r,"0"):this.setCronAttr(r,"1");else{let a=Doe(this.state[r],o),n=a.indexOf(t);n!==-1?a.splice(n,1):(a.push(t),a.sort()),this.setCronAttr(r,Aoe(a,o))}}getDigitsSelector(t,r){let o=[];if(r===7)o=[1,2,3,4,5,6,0];else if(r===60||r===24)for(let n=0;nthis.onToggle(!1,t,r)},D.t("ra_Deselect all")),It.default.createElement(st,{key:"addall",variant:"contained",style:Dn.numberButton,color:"secondary",onClick:()=>this.onToggle(!0,t,r)},D.t("ra_Select all")),It.default.createElement("div",{key:"all"},o.map(n=>[r===7&&n===4||r===12&&n===7||r===31&&!((n-1)%10)||r===60&&n&&!(n%10)||r===24&&n&&!(n%6)?It.default.createElement("div",{key:`allInner${n}`,style:{width:"100%"}}):null,It.default.createElement(st,{key:`_${n}`,variant:a.indexOf(n)!==-1?"contained":"outlined",style:Dn.numberButton,color:a.indexOf(n)!==-1?"secondary":"primary",onClick:()=>this.onToggle(n,t,r)},r===7?D.t(Y6e[n]):r===12?Z6e[n-1]:n)]))]}getPeriodsTab(t,r){let o=this.state[t],a=o==="*",n=o==null?!1:o.toString().includes("/"),s;if(this.state.modes[t]===null){s=a?"every":n?"everyN":"specific";let p=JSON.parse(JSON.stringify(this.state.modes));return p[t]=s,setTimeout(()=>this.setState({modes:p},()=>this.recalcCron()),100),null}a=this.state.modes[t]==="every",n=this.state.modes[t]==="everyN",s=this.state.modes[t];let i=1;return n&&o&&(i=parseInt(o.replace("*/",""),10)||1),It.default.createElement("div",null,It.default.createElement(Sa,{variant:"standard",style:{...Dn.periodSelect,verticalAlign:"bottom"},value:s,onChange:p=>{let l=JSON.parse(JSON.stringify(this.state.modes));if(l[t]=p.target.value,p.target.value==="every")this.setCronAttr(t,"*",l);else if(p.target.value==="everyN"){let d=parseInt((this.state[t]||"").toString().replace("*/",""),10)||1;this.setCronAttr(t,`*/${d}`,l)}else if(p.target.value==="specific"){let d=parseInt((this.state[t]||"").toString().split(",")[0],10)||0;!d&&(t==="months"||t==="dates")&&(d=1),this.setCronAttr(t,Aoe(d,r),l)}}},It.default.createElement(Vt,{key:"every",value:"every"},D.t(`sc_every_${t}`)),It.default.createElement(Vt,{key:"everyN",value:"everyN"},D.t(`sc_everyN_${t}`)),It.default.createElement(Vt,{key:"specific",value:"specific"},D.t(`sc_specific_${t}`))),n&&It.default.createElement(Ir,{variant:"standard",key:"interval",label:D.t(`sc_${t}`),value:i,slotProps:{htmlInput:{min:1,max:r},inputLabel:{shrink:!0}},onChange:p=>{this.setState({[t]:`*/${p.target.value}`},()=>this.recalcCron())},type:"number",margin:"normal"}),!a&&!n&&this.getDigitsSelector(t,r))}static convertCronToText(t,r){return t.split(" ").includes("-")?D.t("ra_Invalid CRON"):yT(t,r)}setCronAttr(t,r,o){o?t==="seconds"?this.setState({seconds:r,modes:o},()=>this.recalcCron()):t==="minutes"?this.setState({minutes:r,modes:o},()=>this.recalcCron()):t==="hours"?this.setState({hours:r,modes:o},()=>this.recalcCron()):t==="dates"?this.setState({dates:r,modes:o},()=>this.recalcCron()):t==="months"?this.setState({months:r,modes:o},()=>this.recalcCron()):t==="dow"?this.setState({dow:r,modes:o},()=>this.recalcCron()):this.setState({modes:o},()=>this.recalcCron()):t==="seconds"?this.setState({seconds:r},()=>this.recalcCron()):t==="minutes"?this.setState({minutes:r},()=>this.recalcCron()):t==="hours"?this.setState({hours:r},()=>this.recalcCron()):t==="dates"?this.setState({dates:r},()=>this.recalcCron()):t==="months"?this.setState({months:r},()=>this.recalcCron()):t==="dow"&&this.setState({dow:r},()=>this.recalcCron())}render(){let t=this.state.seconds!==!1?this.state.tab:this.state.tab+1,r=this.state.minutes==="*"||this.state.minutes==="*/1",o=this.state.seconds==="*"||this.state.seconds==="*/1";return It.default.createElement("div",{style:Dn.mainDiv},It.default.createElement("div",{style:{paddingLeft:8,width:"calc(100% - px)"}},It.default.createElement(Ir,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0})),It.default.createElement("div",{style:{paddingLeft:8,width:"calc(100% - px)",height:60}},e.convertCronToText(this.state.cron,this.props.language||"en"),It.default.createElement("span",{style:Dn.warning},o?D.t("ra_warning_every_second"):r?D.t("ra_warning_every_minute"):"")),It.default.createElement(Ye,{control:It.default.createElement(Zt,{checked:!!this.state.seconds,onChange:a=>this.setState({seconds:a.target.checked?"*":!1},()=>this.recalcCron())}),label:D.t("ra_use seconds")}),It.default.createElement(SC,{position:"static",sx:{"&.MuiAppBar-root":Dn.appBar},color:"secondary"},It.default.createElement(fO,{value:this.state.tab,style:Dn.appBar,color:"secondary",onChange:(a,n)=>this.setState({tab:n})},this.state.seconds!==!1&&It.default.createElement(gp,{id:"sc_seconds",label:D.t("sc_seconds")}),It.default.createElement(gp,{id:"minutes",label:D.t("sc_minutes")}),It.default.createElement(gp,{id:"hours",label:D.t("sc_hours")}),It.default.createElement(gp,{id:"dates",label:D.t("sc_dates")}),It.default.createElement(gp,{id:"months",label:D.t("sc_months")}),It.default.createElement(gp,{id:"dow",label:D.t("sc_dows")}))),t===0&&It.default.createElement("div",{style:Dn.tabContent},this.getPeriodsTab("seconds",60)),t===1&&It.default.createElement("div",{style:Dn.tabContent},this.getPeriodsTab("minutes",60)),t===2&&It.default.createElement("div",{style:Dn.tabContent},this.getPeriodsTab("hours",24)),t===3&&It.default.createElement("div",{style:Dn.tabContent},this.getPeriodsTab("dates",31)),t===4&&It.default.createElement("div",{style:Dn.tabContent},this.getPeriodsTab("months",12)),t===5&&It.default.createElement("div",{style:Dn.tabContent},this.getPeriodsTab("dow",7)))}};var NF=y(P());var me=y(P());var wt=y(P()),gr=y(lo());function gu(e,t,r,o){function a(n){return n instanceof r?n:new r(function(s){s(n)})}return new(r||(r=Promise))(function(n,s){function i(d){try{l(o.next(d))}catch(u){s(u)}}function p(d){try{l(o.throw(d))}catch(u){s(u)}}function l(d){d.done?n(d.value):a(d.value).then(i,p)}l((o=o.apply(e,t||[])).next())})}var Q6e=new Map([["1km","application/vnd.1000minds.decision-model+xml"],["3dml","text/vnd.in3d.3dml"],["3ds","image/x-3ds"],["3g2","video/3gpp2"],["3gp","video/3gp"],["3gpp","video/3gpp"],["3mf","model/3mf"],["7z","application/x-7z-compressed"],["7zip","application/x-7z-compressed"],["123","application/vnd.lotus-1-2-3"],["aab","application/x-authorware-bin"],["aac","audio/x-acc"],["aam","application/x-authorware-map"],["aas","application/x-authorware-seg"],["abw","application/x-abiword"],["ac","application/vnd.nokia.n-gage.ac+xml"],["ac3","audio/ac3"],["acc","application/vnd.americandynamics.acc"],["ace","application/x-ace-compressed"],["acu","application/vnd.acucobol"],["acutc","application/vnd.acucorp"],["adp","audio/adpcm"],["aep","application/vnd.audiograph"],["afm","application/x-font-type1"],["afp","application/vnd.ibm.modcap"],["ahead","application/vnd.ahead.space"],["ai","application/pdf"],["aif","audio/x-aiff"],["aifc","audio/x-aiff"],["aiff","audio/x-aiff"],["air","application/vnd.adobe.air-application-installer-package+zip"],["ait","application/vnd.dvb.ait"],["ami","application/vnd.amiga.ami"],["amr","audio/amr"],["apk","application/vnd.android.package-archive"],["apng","image/apng"],["appcache","text/cache-manifest"],["application","application/x-ms-application"],["apr","application/vnd.lotus-approach"],["arc","application/x-freearc"],["arj","application/x-arj"],["asc","application/pgp-signature"],["asf","video/x-ms-asf"],["asm","text/x-asm"],["aso","application/vnd.accpac.simply.aso"],["asx","video/x-ms-asf"],["atc","application/vnd.acucorp"],["atom","application/atom+xml"],["atomcat","application/atomcat+xml"],["atomdeleted","application/atomdeleted+xml"],["atomsvc","application/atomsvc+xml"],["atx","application/vnd.antix.game-component"],["au","audio/x-au"],["avi","video/x-msvideo"],["avif","image/avif"],["aw","application/applixware"],["azf","application/vnd.airzip.filesecure.azf"],["azs","application/vnd.airzip.filesecure.azs"],["azv","image/vnd.airzip.accelerator.azv"],["azw","application/vnd.amazon.ebook"],["b16","image/vnd.pco.b16"],["bat","application/x-msdownload"],["bcpio","application/x-bcpio"],["bdf","application/x-font-bdf"],["bdm","application/vnd.syncml.dm+wbxml"],["bdoc","application/x-bdoc"],["bed","application/vnd.realvnc.bed"],["bh2","application/vnd.fujitsu.oasysprs"],["bin","application/octet-stream"],["blb","application/x-blorb"],["blorb","application/x-blorb"],["bmi","application/vnd.bmi"],["bmml","application/vnd.balsamiq.bmml+xml"],["bmp","image/bmp"],["book","application/vnd.framemaker"],["box","application/vnd.previewsystems.box"],["boz","application/x-bzip2"],["bpk","application/octet-stream"],["bpmn","application/octet-stream"],["bsp","model/vnd.valve.source.compiled-map"],["btif","image/prs.btif"],["buffer","application/octet-stream"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["c","text/x-c"],["c4d","application/vnd.clonk.c4group"],["c4f","application/vnd.clonk.c4group"],["c4g","application/vnd.clonk.c4group"],["c4p","application/vnd.clonk.c4group"],["c4u","application/vnd.clonk.c4group"],["c11amc","application/vnd.cluetrust.cartomobile-config"],["c11amz","application/vnd.cluetrust.cartomobile-config-pkg"],["cab","application/vnd.ms-cab-compressed"],["caf","audio/x-caf"],["cap","application/vnd.tcpdump.pcap"],["car","application/vnd.curl.car"],["cat","application/vnd.ms-pki.seccat"],["cb7","application/x-cbr"],["cba","application/x-cbr"],["cbr","application/x-cbr"],["cbt","application/x-cbr"],["cbz","application/x-cbr"],["cc","text/x-c"],["cco","application/x-cocoa"],["cct","application/x-director"],["ccxml","application/ccxml+xml"],["cdbcmsg","application/vnd.contact.cmsg"],["cda","application/x-cdf"],["cdf","application/x-netcdf"],["cdfx","application/cdfx+xml"],["cdkey","application/vnd.mediastation.cdkey"],["cdmia","application/cdmi-capability"],["cdmic","application/cdmi-container"],["cdmid","application/cdmi-domain"],["cdmio","application/cdmi-object"],["cdmiq","application/cdmi-queue"],["cdr","application/cdr"],["cdx","chemical/x-cdx"],["cdxml","application/vnd.chemdraw+xml"],["cdy","application/vnd.cinderella"],["cer","application/pkix-cert"],["cfs","application/x-cfs-compressed"],["cgm","image/cgm"],["chat","application/x-chat"],["chm","application/vnd.ms-htmlhelp"],["chrt","application/vnd.kde.kchart"],["cif","chemical/x-cif"],["cii","application/vnd.anser-web-certificate-issue-initiation"],["cil","application/vnd.ms-artgalry"],["cjs","application/node"],["cla","application/vnd.claymore"],["class","application/octet-stream"],["clkk","application/vnd.crick.clicker.keyboard"],["clkp","application/vnd.crick.clicker.palette"],["clkt","application/vnd.crick.clicker.template"],["clkw","application/vnd.crick.clicker.wordbank"],["clkx","application/vnd.crick.clicker"],["clp","application/x-msclip"],["cmc","application/vnd.cosmocaller"],["cmdf","chemical/x-cmdf"],["cml","chemical/x-cml"],["cmp","application/vnd.yellowriver-custom-menu"],["cmx","image/x-cmx"],["cod","application/vnd.rim.cod"],["coffee","text/coffeescript"],["com","application/x-msdownload"],["conf","text/plain"],["cpio","application/x-cpio"],["cpp","text/x-c"],["cpt","application/mac-compactpro"],["crd","application/x-mscardfile"],["crl","application/pkix-crl"],["crt","application/x-x509-ca-cert"],["crx","application/x-chrome-extension"],["cryptonote","application/vnd.rig.cryptonote"],["csh","application/x-csh"],["csl","application/vnd.citationstyles.style+xml"],["csml","chemical/x-csml"],["csp","application/vnd.commonspace"],["csr","application/octet-stream"],["css","text/css"],["cst","application/x-director"],["csv","text/csv"],["cu","application/cu-seeme"],["curl","text/vnd.curl"],["cww","application/prs.cww"],["cxt","application/x-director"],["cxx","text/x-c"],["dae","model/vnd.collada+xml"],["daf","application/vnd.mobius.daf"],["dart","application/vnd.dart"],["dataless","application/vnd.fdsn.seed"],["davmount","application/davmount+xml"],["dbf","application/vnd.dbf"],["dbk","application/docbook+xml"],["dcr","application/x-director"],["dcurl","text/vnd.curl.dcurl"],["dd2","application/vnd.oma.dd2+xml"],["ddd","application/vnd.fujixerox.ddd"],["ddf","application/vnd.syncml.dmddf+xml"],["dds","image/vnd.ms-dds"],["deb","application/x-debian-package"],["def","text/plain"],["deploy","application/octet-stream"],["der","application/x-x509-ca-cert"],["dfac","application/vnd.dreamfactory"],["dgc","application/x-dgc-compressed"],["dic","text/x-c"],["dir","application/x-director"],["dis","application/vnd.mobius.dis"],["disposition-notification","message/disposition-notification"],["dist","application/octet-stream"],["distz","application/octet-stream"],["djv","image/vnd.djvu"],["djvu","image/vnd.djvu"],["dll","application/octet-stream"],["dmg","application/x-apple-diskimage"],["dmn","application/octet-stream"],["dmp","application/vnd.tcpdump.pcap"],["dms","application/octet-stream"],["dna","application/vnd.dna"],["doc","application/msword"],["docm","application/vnd.ms-word.template.macroEnabled.12"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["dot","application/msword"],["dotm","application/vnd.ms-word.template.macroEnabled.12"],["dotx","application/vnd.openxmlformats-officedocument.wordprocessingml.template"],["dp","application/vnd.osgi.dp"],["dpg","application/vnd.dpgraph"],["dra","audio/vnd.dra"],["drle","image/dicom-rle"],["dsc","text/prs.lines.tag"],["dssc","application/dssc+der"],["dtb","application/x-dtbook+xml"],["dtd","application/xml-dtd"],["dts","audio/vnd.dts"],["dtshd","audio/vnd.dts.hd"],["dump","application/octet-stream"],["dvb","video/vnd.dvb.file"],["dvi","application/x-dvi"],["dwd","application/atsc-dwd+xml"],["dwf","model/vnd.dwf"],["dwg","image/vnd.dwg"],["dxf","image/vnd.dxf"],["dxp","application/vnd.spotfire.dxp"],["dxr","application/x-director"],["ear","application/java-archive"],["ecelp4800","audio/vnd.nuera.ecelp4800"],["ecelp7470","audio/vnd.nuera.ecelp7470"],["ecelp9600","audio/vnd.nuera.ecelp9600"],["ecma","application/ecmascript"],["edm","application/vnd.novadigm.edm"],["edx","application/vnd.novadigm.edx"],["efif","application/vnd.picsel"],["ei6","application/vnd.pg.osasli"],["elc","application/octet-stream"],["emf","image/emf"],["eml","message/rfc822"],["emma","application/emma+xml"],["emotionml","application/emotionml+xml"],["emz","application/x-msmetafile"],["eol","audio/vnd.digital-winds"],["eot","application/vnd.ms-fontobject"],["eps","application/postscript"],["epub","application/epub+zip"],["es","application/ecmascript"],["es3","application/vnd.eszigno3+xml"],["esa","application/vnd.osgi.subsystem"],["esf","application/vnd.epson.esf"],["et3","application/vnd.eszigno3+xml"],["etx","text/x-setext"],["eva","application/x-eva"],["evy","application/x-envoy"],["exe","application/octet-stream"],["exi","application/exi"],["exp","application/express"],["exr","image/aces"],["ext","application/vnd.novadigm.ext"],["ez","application/andrew-inset"],["ez2","application/vnd.ezpix-album"],["ez3","application/vnd.ezpix-package"],["f","text/x-fortran"],["f4v","video/mp4"],["f77","text/x-fortran"],["f90","text/x-fortran"],["fbs","image/vnd.fastbidsheet"],["fcdt","application/vnd.adobe.formscentral.fcdt"],["fcs","application/vnd.isac.fcs"],["fdf","application/vnd.fdf"],["fdt","application/fdt+xml"],["fe_launch","application/vnd.denovo.fcselayout-link"],["fg5","application/vnd.fujitsu.oasysgp"],["fgd","application/x-director"],["fh","image/x-freehand"],["fh4","image/x-freehand"],["fh5","image/x-freehand"],["fh7","image/x-freehand"],["fhc","image/x-freehand"],["fig","application/x-xfig"],["fits","image/fits"],["flac","audio/x-flac"],["fli","video/x-fli"],["flo","application/vnd.micrografx.flo"],["flv","video/x-flv"],["flw","application/vnd.kde.kivio"],["flx","text/vnd.fmi.flexstor"],["fly","text/vnd.fly"],["fm","application/vnd.framemaker"],["fnc","application/vnd.frogans.fnc"],["fo","application/vnd.software602.filler.form+xml"],["for","text/x-fortran"],["fpx","image/vnd.fpx"],["frame","application/vnd.framemaker"],["fsc","application/vnd.fsc.weblaunch"],["fst","image/vnd.fst"],["ftc","application/vnd.fluxtime.clip"],["fti","application/vnd.anser-web-funds-transfer-initiation"],["fvt","video/vnd.fvt"],["fxp","application/vnd.adobe.fxp"],["fxpl","application/vnd.adobe.fxp"],["fzs","application/vnd.fuzzysheet"],["g2w","application/vnd.geoplan"],["g3","image/g3fax"],["g3w","application/vnd.geospace"],["gac","application/vnd.groove-account"],["gam","application/x-tads"],["gbr","application/rpki-ghostbusters"],["gca","application/x-gca-compressed"],["gdl","model/vnd.gdl"],["gdoc","application/vnd.google-apps.document"],["geo","application/vnd.dynageo"],["geojson","application/geo+json"],["gex","application/vnd.geometry-explorer"],["ggb","application/vnd.geogebra.file"],["ggt","application/vnd.geogebra.tool"],["ghf","application/vnd.groove-help"],["gif","image/gif"],["gim","application/vnd.groove-identity-message"],["glb","model/gltf-binary"],["gltf","model/gltf+json"],["gml","application/gml+xml"],["gmx","application/vnd.gmx"],["gnumeric","application/x-gnumeric"],["gpg","application/gpg-keys"],["gph","application/vnd.flographit"],["gpx","application/gpx+xml"],["gqf","application/vnd.grafeq"],["gqs","application/vnd.grafeq"],["gram","application/srgs"],["gramps","application/x-gramps-xml"],["gre","application/vnd.geometry-explorer"],["grv","application/vnd.groove-injector"],["grxml","application/srgs+xml"],["gsf","application/x-font-ghostscript"],["gsheet","application/vnd.google-apps.spreadsheet"],["gslides","application/vnd.google-apps.presentation"],["gtar","application/x-gtar"],["gtm","application/vnd.groove-tool-message"],["gtw","model/vnd.gtw"],["gv","text/vnd.graphviz"],["gxf","application/gxf"],["gxt","application/vnd.geonext"],["gz","application/gzip"],["gzip","application/gzip"],["h","text/x-c"],["h261","video/h261"],["h263","video/h263"],["h264","video/h264"],["hal","application/vnd.hal+xml"],["hbci","application/vnd.hbci"],["hbs","text/x-handlebars-template"],["hdd","application/x-virtualbox-hdd"],["hdf","application/x-hdf"],["heic","image/heic"],["heics","image/heic-sequence"],["heif","image/heif"],["heifs","image/heif-sequence"],["hej2","image/hej2k"],["held","application/atsc-held+xml"],["hh","text/x-c"],["hjson","application/hjson"],["hlp","application/winhlp"],["hpgl","application/vnd.hp-hpgl"],["hpid","application/vnd.hp-hpid"],["hps","application/vnd.hp-hps"],["hqx","application/mac-binhex40"],["hsj2","image/hsj2"],["htc","text/x-component"],["htke","application/vnd.kenameaapp"],["htm","text/html"],["html","text/html"],["hvd","application/vnd.yamaha.hv-dic"],["hvp","application/vnd.yamaha.hv-voice"],["hvs","application/vnd.yamaha.hv-script"],["i2g","application/vnd.intergeo"],["icc","application/vnd.iccprofile"],["ice","x-conference/x-cooltalk"],["icm","application/vnd.iccprofile"],["ico","image/x-icon"],["ics","text/calendar"],["ief","image/ief"],["ifb","text/calendar"],["ifm","application/vnd.shana.informed.formdata"],["iges","model/iges"],["igl","application/vnd.igloader"],["igm","application/vnd.insors.igm"],["igs","model/iges"],["igx","application/vnd.micrografx.igx"],["iif","application/vnd.shana.informed.interchange"],["img","application/octet-stream"],["imp","application/vnd.accpac.simply.imp"],["ims","application/vnd.ms-ims"],["in","text/plain"],["ini","text/plain"],["ink","application/inkml+xml"],["inkml","application/inkml+xml"],["install","application/x-install-instructions"],["iota","application/vnd.astraea-software.iota"],["ipfix","application/ipfix"],["ipk","application/vnd.shana.informed.package"],["irm","application/vnd.ibm.rights-management"],["irp","application/vnd.irepository.package+xml"],["iso","application/x-iso9660-image"],["itp","application/vnd.shana.informed.formtemplate"],["its","application/its+xml"],["ivp","application/vnd.immervision-ivp"],["ivu","application/vnd.immervision-ivu"],["jad","text/vnd.sun.j2me.app-descriptor"],["jade","text/jade"],["jam","application/vnd.jam"],["jar","application/java-archive"],["jardiff","application/x-java-archive-diff"],["java","text/x-java-source"],["jhc","image/jphc"],["jisp","application/vnd.jisp"],["jls","image/jls"],["jlt","application/vnd.hp-jlyt"],["jng","image/x-jng"],["jnlp","application/x-java-jnlp-file"],["joda","application/vnd.joost.joda-archive"],["jp2","image/jp2"],["jpe","image/jpeg"],["jpeg","image/jpeg"],["jpf","image/jpx"],["jpg","image/jpeg"],["jpg2","image/jp2"],["jpgm","video/jpm"],["jpgv","video/jpeg"],["jph","image/jph"],["jpm","video/jpm"],["jpx","image/jpx"],["js","application/javascript"],["json","application/json"],["json5","application/json5"],["jsonld","application/ld+json"],["jsonl","application/jsonl"],["jsonml","application/jsonml+json"],["jsx","text/jsx"],["jxr","image/jxr"],["jxra","image/jxra"],["jxrs","image/jxrs"],["jxs","image/jxs"],["jxsc","image/jxsc"],["jxsi","image/jxsi"],["jxss","image/jxss"],["kar","audio/midi"],["karbon","application/vnd.kde.karbon"],["kdb","application/octet-stream"],["kdbx","application/x-keepass2"],["key","application/x-iwork-keynote-sffkey"],["kfo","application/vnd.kde.kformula"],["kia","application/vnd.kidspiration"],["kml","application/vnd.google-earth.kml+xml"],["kmz","application/vnd.google-earth.kmz"],["kne","application/vnd.kinar"],["knp","application/vnd.kinar"],["kon","application/vnd.kde.kontour"],["kpr","application/vnd.kde.kpresenter"],["kpt","application/vnd.kde.kpresenter"],["kpxx","application/vnd.ds-keypoint"],["ksp","application/vnd.kde.kspread"],["ktr","application/vnd.kahootz"],["ktx","image/ktx"],["ktx2","image/ktx2"],["ktz","application/vnd.kahootz"],["kwd","application/vnd.kde.kword"],["kwt","application/vnd.kde.kword"],["lasxml","application/vnd.las.las+xml"],["latex","application/x-latex"],["lbd","application/vnd.llamagraphics.life-balance.desktop"],["lbe","application/vnd.llamagraphics.life-balance.exchange+xml"],["les","application/vnd.hhe.lesson-player"],["less","text/less"],["lgr","application/lgr+xml"],["lha","application/octet-stream"],["link66","application/vnd.route66.link66+xml"],["list","text/plain"],["list3820","application/vnd.ibm.modcap"],["listafp","application/vnd.ibm.modcap"],["litcoffee","text/coffeescript"],["lnk","application/x-ms-shortcut"],["log","text/plain"],["lostxml","application/lost+xml"],["lrf","application/octet-stream"],["lrm","application/vnd.ms-lrm"],["ltf","application/vnd.frogans.ltf"],["lua","text/x-lua"],["luac","application/x-lua-bytecode"],["lvp","audio/vnd.lucent.voice"],["lwp","application/vnd.lotus-wordpro"],["lzh","application/octet-stream"],["m1v","video/mpeg"],["m2a","audio/mpeg"],["m2v","video/mpeg"],["m3a","audio/mpeg"],["m3u","text/plain"],["m3u8","application/vnd.apple.mpegurl"],["m4a","audio/x-m4a"],["m4p","application/mp4"],["m4s","video/iso.segment"],["m4u","application/vnd.mpegurl"],["m4v","video/x-m4v"],["m13","application/x-msmediaview"],["m14","application/x-msmediaview"],["m21","application/mp21"],["ma","application/mathematica"],["mads","application/mads+xml"],["maei","application/mmt-aei+xml"],["mag","application/vnd.ecowin.chart"],["maker","application/vnd.framemaker"],["man","text/troff"],["manifest","text/cache-manifest"],["map","application/json"],["mar","application/octet-stream"],["markdown","text/markdown"],["mathml","application/mathml+xml"],["mb","application/mathematica"],["mbk","application/vnd.mobius.mbk"],["mbox","application/mbox"],["mc1","application/vnd.medcalcdata"],["mcd","application/vnd.mcd"],["mcurl","text/vnd.curl.mcurl"],["md","text/markdown"],["mdb","application/x-msaccess"],["mdi","image/vnd.ms-modi"],["mdx","text/mdx"],["me","text/troff"],["mesh","model/mesh"],["meta4","application/metalink4+xml"],["metalink","application/metalink+xml"],["mets","application/mets+xml"],["mfm","application/vnd.mfmp"],["mft","application/rpki-manifest"],["mgp","application/vnd.osgeo.mapguide.package"],["mgz","application/vnd.proteus.magazine"],["mid","audio/midi"],["midi","audio/midi"],["mie","application/x-mie"],["mif","application/vnd.mif"],["mime","message/rfc822"],["mj2","video/mj2"],["mjp2","video/mj2"],["mjs","application/javascript"],["mk3d","video/x-matroska"],["mka","audio/x-matroska"],["mkd","text/x-markdown"],["mks","video/x-matroska"],["mkv","video/x-matroska"],["mlp","application/vnd.dolby.mlp"],["mmd","application/vnd.chipnuts.karaoke-mmd"],["mmf","application/vnd.smaf"],["mml","text/mathml"],["mmr","image/vnd.fujixerox.edmics-mmr"],["mng","video/x-mng"],["mny","application/x-msmoney"],["mobi","application/x-mobipocket-ebook"],["mods","application/mods+xml"],["mov","video/quicktime"],["movie","video/x-sgi-movie"],["mp2","audio/mpeg"],["mp2a","audio/mpeg"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mp4a","audio/mp4"],["mp4s","application/mp4"],["mp4v","video/mp4"],["mp21","application/mp21"],["mpc","application/vnd.mophun.certificate"],["mpd","application/dash+xml"],["mpe","video/mpeg"],["mpeg","video/mpeg"],["mpg","video/mpeg"],["mpg4","video/mp4"],["mpga","audio/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["mpm","application/vnd.blueice.multipass"],["mpn","application/vnd.mophun.application"],["mpp","application/vnd.ms-project"],["mpt","application/vnd.ms-project"],["mpy","application/vnd.ibm.minipay"],["mqy","application/vnd.mobius.mqy"],["mrc","application/marc"],["mrcx","application/marcxml+xml"],["ms","text/troff"],["mscml","application/mediaservercontrol+xml"],["mseed","application/vnd.fdsn.mseed"],["mseq","application/vnd.mseq"],["msf","application/vnd.epson.msf"],["msg","application/vnd.ms-outlook"],["msh","model/mesh"],["msi","application/x-msdownload"],["msl","application/vnd.mobius.msl"],["msm","application/octet-stream"],["msp","application/octet-stream"],["msty","application/vnd.muvee.style"],["mtl","model/mtl"],["mts","model/vnd.mts"],["mus","application/vnd.musician"],["musd","application/mmt-usd+xml"],["musicxml","application/vnd.recordare.musicxml+xml"],["mvb","application/x-msmediaview"],["mvt","application/vnd.mapbox-vector-tile"],["mwf","application/vnd.mfer"],["mxf","application/mxf"],["mxl","application/vnd.recordare.musicxml"],["mxmf","audio/mobile-xmf"],["mxml","application/xv+xml"],["mxs","application/vnd.triscape.mxs"],["mxu","video/vnd.mpegurl"],["n-gage","application/vnd.nokia.n-gage.symbian.install"],["n3","text/n3"],["nb","application/mathematica"],["nbp","application/vnd.wolfram.player"],["nc","application/x-netcdf"],["ncx","application/x-dtbncx+xml"],["nfo","text/x-nfo"],["ngdat","application/vnd.nokia.n-gage.data"],["nitf","application/vnd.nitf"],["nlu","application/vnd.neurolanguage.nlu"],["nml","application/vnd.enliven"],["nnd","application/vnd.noblenet-directory"],["nns","application/vnd.noblenet-sealer"],["nnw","application/vnd.noblenet-web"],["npx","image/vnd.net-fpx"],["nq","application/n-quads"],["nsc","application/x-conference"],["nsf","application/vnd.lotus-notes"],["nt","application/n-triples"],["ntf","application/vnd.nitf"],["numbers","application/x-iwork-numbers-sffnumbers"],["nzb","application/x-nzb"],["oa2","application/vnd.fujitsu.oasys2"],["oa3","application/vnd.fujitsu.oasys3"],["oas","application/vnd.fujitsu.oasys"],["obd","application/x-msbinder"],["obgx","application/vnd.openblox.game+xml"],["obj","model/obj"],["oda","application/oda"],["odb","application/vnd.oasis.opendocument.database"],["odc","application/vnd.oasis.opendocument.chart"],["odf","application/vnd.oasis.opendocument.formula"],["odft","application/vnd.oasis.opendocument.formula-template"],["odg","application/vnd.oasis.opendocument.graphics"],["odi","application/vnd.oasis.opendocument.image"],["odm","application/vnd.oasis.opendocument.text-master"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogex","model/vnd.opengex"],["ogg","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["omdoc","application/omdoc+xml"],["onepkg","application/onenote"],["onetmp","application/onenote"],["onetoc","application/onenote"],["onetoc2","application/onenote"],["opf","application/oebps-package+xml"],["opml","text/x-opml"],["oprc","application/vnd.palm"],["opus","audio/ogg"],["org","text/x-org"],["osf","application/vnd.yamaha.openscoreformat"],["osfpvg","application/vnd.yamaha.openscoreformat.osfpvg+xml"],["osm","application/vnd.openstreetmap.data+xml"],["otc","application/vnd.oasis.opendocument.chart-template"],["otf","font/otf"],["otg","application/vnd.oasis.opendocument.graphics-template"],["oth","application/vnd.oasis.opendocument.text-web"],["oti","application/vnd.oasis.opendocument.image-template"],["otp","application/vnd.oasis.opendocument.presentation-template"],["ots","application/vnd.oasis.opendocument.spreadsheet-template"],["ott","application/vnd.oasis.opendocument.text-template"],["ova","application/x-virtualbox-ova"],["ovf","application/x-virtualbox-ovf"],["owl","application/rdf+xml"],["oxps","application/oxps"],["oxt","application/vnd.openofficeorg.extension"],["p","text/x-pascal"],["p7a","application/x-pkcs7-signature"],["p7b","application/x-pkcs7-certificates"],["p7c","application/pkcs7-mime"],["p7m","application/pkcs7-mime"],["p7r","application/x-pkcs7-certreqresp"],["p7s","application/pkcs7-signature"],["p8","application/pkcs8"],["p10","application/x-pkcs10"],["p12","application/x-pkcs12"],["pac","application/x-ns-proxy-autoconfig"],["pages","application/x-iwork-pages-sffpages"],["pas","text/x-pascal"],["paw","application/vnd.pawaafile"],["pbd","application/vnd.powerbuilder6"],["pbm","image/x-portable-bitmap"],["pcap","application/vnd.tcpdump.pcap"],["pcf","application/x-font-pcf"],["pcl","application/vnd.hp-pcl"],["pclxl","application/vnd.hp-pclxl"],["pct","image/x-pict"],["pcurl","application/vnd.curl.pcurl"],["pcx","image/x-pcx"],["pdb","application/x-pilot"],["pde","text/x-processing"],["pdf","application/pdf"],["pem","application/x-x509-user-cert"],["pfa","application/x-font-type1"],["pfb","application/x-font-type1"],["pfm","application/x-font-type1"],["pfr","application/font-tdpfr"],["pfx","application/x-pkcs12"],["pgm","image/x-portable-graymap"],["pgn","application/x-chess-pgn"],["pgp","application/pgp"],["php","application/x-httpd-php"],["php3","application/x-httpd-php"],["php4","application/x-httpd-php"],["phps","application/x-httpd-php-source"],["phtml","application/x-httpd-php"],["pic","image/x-pict"],["pkg","application/octet-stream"],["pki","application/pkixcmp"],["pkipath","application/pkix-pkipath"],["pkpass","application/vnd.apple.pkpass"],["pl","application/x-perl"],["plb","application/vnd.3gpp.pic-bw-large"],["plc","application/vnd.mobius.plc"],["plf","application/vnd.pocketlearn"],["pls","application/pls+xml"],["pm","application/x-perl"],["pml","application/vnd.ctc-posml"],["png","image/png"],["pnm","image/x-portable-anymap"],["portpkg","application/vnd.macports.portpkg"],["pot","application/vnd.ms-powerpoint"],["potm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["potx","application/vnd.openxmlformats-officedocument.presentationml.template"],["ppa","application/vnd.ms-powerpoint"],["ppam","application/vnd.ms-powerpoint.addin.macroEnabled.12"],["ppd","application/vnd.cups-ppd"],["ppm","image/x-portable-pixmap"],["pps","application/vnd.ms-powerpoint"],["ppsm","application/vnd.ms-powerpoint.slideshow.macroEnabled.12"],["ppsx","application/vnd.openxmlformats-officedocument.presentationml.slideshow"],["ppt","application/powerpoint"],["pptm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["pqa","application/vnd.palm"],["prc","application/x-pilot"],["pre","application/vnd.lotus-freelance"],["prf","application/pics-rules"],["provx","application/provenance+xml"],["ps","application/postscript"],["psb","application/vnd.3gpp.pic-bw-small"],["psd","application/x-photoshop"],["psf","application/x-font-linux-psf"],["pskcxml","application/pskc+xml"],["pti","image/prs.pti"],["ptid","application/vnd.pvi.ptid1"],["pub","application/x-mspublisher"],["pvb","application/vnd.3gpp.pic-bw-var"],["pwn","application/vnd.3m.post-it-notes"],["pya","audio/vnd.ms-playready.media.pya"],["pyv","video/vnd.ms-playready.media.pyv"],["qam","application/vnd.epson.quickanime"],["qbo","application/vnd.intu.qbo"],["qfx","application/vnd.intu.qfx"],["qps","application/vnd.publishare-delta-tree"],["qt","video/quicktime"],["qwd","application/vnd.quark.quarkxpress"],["qwt","application/vnd.quark.quarkxpress"],["qxb","application/vnd.quark.quarkxpress"],["qxd","application/vnd.quark.quarkxpress"],["qxl","application/vnd.quark.quarkxpress"],["qxt","application/vnd.quark.quarkxpress"],["ra","audio/x-realaudio"],["ram","audio/x-pn-realaudio"],["raml","application/raml+yaml"],["rapd","application/route-apd+xml"],["rar","application/x-rar"],["ras","image/x-cmu-raster"],["rcprofile","application/vnd.ipunplugged.rcprofile"],["rdf","application/rdf+xml"],["rdz","application/vnd.data-vision.rdz"],["relo","application/p2p-overlay+xml"],["rep","application/vnd.businessobjects"],["res","application/x-dtbresource+xml"],["rgb","image/x-rgb"],["rif","application/reginfo+xml"],["rip","audio/vnd.rip"],["ris","application/x-research-info-systems"],["rl","application/resource-lists+xml"],["rlc","image/vnd.fujixerox.edmics-rlc"],["rld","application/resource-lists-diff+xml"],["rm","audio/x-pn-realaudio"],["rmi","audio/midi"],["rmp","audio/x-pn-realaudio-plugin"],["rms","application/vnd.jcp.javame.midlet-rms"],["rmvb","application/vnd.rn-realmedia-vbr"],["rnc","application/relax-ng-compact-syntax"],["rng","application/xml"],["roa","application/rpki-roa"],["roff","text/troff"],["rp9","application/vnd.cloanto.rp9"],["rpm","audio/x-pn-realaudio-plugin"],["rpss","application/vnd.nokia.radio-presets"],["rpst","application/vnd.nokia.radio-preset"],["rq","application/sparql-query"],["rs","application/rls-services+xml"],["rsa","application/x-pkcs7"],["rsat","application/atsc-rsat+xml"],["rsd","application/rsd+xml"],["rsheet","application/urc-ressheet+xml"],["rss","application/rss+xml"],["rtf","text/rtf"],["rtx","text/richtext"],["run","application/x-makeself"],["rusd","application/route-usd+xml"],["rv","video/vnd.rn-realvideo"],["s","text/x-asm"],["s3m","audio/s3m"],["saf","application/vnd.yamaha.smaf-audio"],["sass","text/x-sass"],["sbml","application/sbml+xml"],["sc","application/vnd.ibm.secure-container"],["scd","application/x-msschedule"],["scm","application/vnd.lotus-screencam"],["scq","application/scvp-cv-request"],["scs","application/scvp-cv-response"],["scss","text/x-scss"],["scurl","text/vnd.curl.scurl"],["sda","application/vnd.stardivision.draw"],["sdc","application/vnd.stardivision.calc"],["sdd","application/vnd.stardivision.impress"],["sdkd","application/vnd.solent.sdkm+xml"],["sdkm","application/vnd.solent.sdkm+xml"],["sdp","application/sdp"],["sdw","application/vnd.stardivision.writer"],["sea","application/octet-stream"],["see","application/vnd.seemail"],["seed","application/vnd.fdsn.seed"],["sema","application/vnd.sema"],["semd","application/vnd.semd"],["semf","application/vnd.semf"],["senmlx","application/senml+xml"],["sensmlx","application/sensml+xml"],["ser","application/java-serialized-object"],["setpay","application/set-payment-initiation"],["setreg","application/set-registration-initiation"],["sfd-hdstx","application/vnd.hydrostatix.sof-data"],["sfs","application/vnd.spotfire.sfs"],["sfv","text/x-sfv"],["sgi","image/sgi"],["sgl","application/vnd.stardivision.writer-global"],["sgm","text/sgml"],["sgml","text/sgml"],["sh","application/x-sh"],["shar","application/x-shar"],["shex","text/shex"],["shf","application/shf+xml"],["shtml","text/html"],["sid","image/x-mrsid-image"],["sieve","application/sieve"],["sig","application/pgp-signature"],["sil","audio/silk"],["silo","model/mesh"],["sis","application/vnd.symbian.install"],["sisx","application/vnd.symbian.install"],["sit","application/x-stuffit"],["sitx","application/x-stuffitx"],["siv","application/sieve"],["skd","application/vnd.koan"],["skm","application/vnd.koan"],["skp","application/vnd.koan"],["skt","application/vnd.koan"],["sldm","application/vnd.ms-powerpoint.slide.macroenabled.12"],["sldx","application/vnd.openxmlformats-officedocument.presentationml.slide"],["slim","text/slim"],["slm","text/slim"],["sls","application/route-s-tsid+xml"],["slt","application/vnd.epson.salt"],["sm","application/vnd.stepmania.stepchart"],["smf","application/vnd.stardivision.math"],["smi","application/smil"],["smil","application/smil"],["smv","video/x-smv"],["smzip","application/vnd.stepmania.package"],["snd","audio/basic"],["snf","application/x-font-snf"],["so","application/octet-stream"],["spc","application/x-pkcs7-certificates"],["spdx","text/spdx"],["spf","application/vnd.yamaha.smaf-phrase"],["spl","application/x-futuresplash"],["spot","text/vnd.in3d.spot"],["spp","application/scvp-vp-response"],["spq","application/scvp-vp-request"],["spx","audio/ogg"],["sql","application/x-sql"],["src","application/x-wais-source"],["srt","application/x-subrip"],["sru","application/sru+xml"],["srx","application/sparql-results+xml"],["ssdl","application/ssdl+xml"],["sse","application/vnd.kodak-descriptor"],["ssf","application/vnd.epson.ssf"],["ssml","application/ssml+xml"],["sst","application/octet-stream"],["st","application/vnd.sailingtracker.track"],["stc","application/vnd.sun.xml.calc.template"],["std","application/vnd.sun.xml.draw.template"],["stf","application/vnd.wt.stf"],["sti","application/vnd.sun.xml.impress.template"],["stk","application/hyperstudio"],["stl","model/stl"],["stpx","model/step+xml"],["stpxz","model/step-xml+zip"],["stpz","model/step+zip"],["str","application/vnd.pg.format"],["stw","application/vnd.sun.xml.writer.template"],["styl","text/stylus"],["stylus","text/stylus"],["sub","text/vnd.dvb.subtitle"],["sus","application/vnd.sus-calendar"],["susp","application/vnd.sus-calendar"],["sv4cpio","application/x-sv4cpio"],["sv4crc","application/x-sv4crc"],["svc","application/vnd.dvb.service"],["svd","application/vnd.svd"],["svg","image/svg+xml"],["svgz","image/svg+xml"],["swa","application/x-director"],["swf","application/x-shockwave-flash"],["swi","application/vnd.aristanetworks.swi"],["swidtag","application/swid+xml"],["sxc","application/vnd.sun.xml.calc"],["sxd","application/vnd.sun.xml.draw"],["sxg","application/vnd.sun.xml.writer.global"],["sxi","application/vnd.sun.xml.impress"],["sxm","application/vnd.sun.xml.math"],["sxw","application/vnd.sun.xml.writer"],["t","text/troff"],["t3","application/x-t3vm-image"],["t38","image/t38"],["taglet","application/vnd.mynfc"],["tao","application/vnd.tao.intent-module-archive"],["tap","image/vnd.tencent.tap"],["tar","application/x-tar"],["tcap","application/vnd.3gpp2.tcap"],["tcl","application/x-tcl"],["td","application/urc-targetdesc+xml"],["teacher","application/vnd.smart.teacher"],["tei","application/tei+xml"],["teicorpus","application/tei+xml"],["tex","application/x-tex"],["texi","application/x-texinfo"],["texinfo","application/x-texinfo"],["text","text/plain"],["tfi","application/thraud+xml"],["tfm","application/x-tex-tfm"],["tfx","image/tiff-fx"],["tga","image/x-tga"],["tgz","application/x-tar"],["thmx","application/vnd.ms-officetheme"],["tif","image/tiff"],["tiff","image/tiff"],["tk","application/x-tcl"],["tmo","application/vnd.tmobile-livetv"],["toml","application/toml"],["torrent","application/x-bittorrent"],["tpl","application/vnd.groove-tool-template"],["tpt","application/vnd.trid.tpt"],["tr","text/troff"],["tra","application/vnd.trueapp"],["trig","application/trig"],["trm","application/x-msterminal"],["ts","video/mp2t"],["tsd","application/timestamped-data"],["tsv","text/tab-separated-values"],["ttc","font/collection"],["ttf","font/ttf"],["ttl","text/turtle"],["ttml","application/ttml+xml"],["twd","application/vnd.simtech-mindmapper"],["twds","application/vnd.simtech-mindmapper"],["txd","application/vnd.genomatix.tuxedo"],["txf","application/vnd.mobius.txf"],["txt","text/plain"],["u8dsn","message/global-delivery-status"],["u8hdr","message/global-headers"],["u8mdn","message/global-disposition-notification"],["u8msg","message/global"],["u32","application/x-authorware-bin"],["ubj","application/ubjson"],["udeb","application/x-debian-package"],["ufd","application/vnd.ufdl"],["ufdl","application/vnd.ufdl"],["ulx","application/x-glulx"],["umj","application/vnd.umajin"],["unityweb","application/vnd.unity"],["uoml","application/vnd.uoml+xml"],["uri","text/uri-list"],["uris","text/uri-list"],["urls","text/uri-list"],["usdz","model/vnd.usdz+zip"],["ustar","application/x-ustar"],["utz","application/vnd.uiq.theme"],["uu","text/x-uuencode"],["uva","audio/vnd.dece.audio"],["uvd","application/vnd.dece.data"],["uvf","application/vnd.dece.data"],["uvg","image/vnd.dece.graphic"],["uvh","video/vnd.dece.hd"],["uvi","image/vnd.dece.graphic"],["uvm","video/vnd.dece.mobile"],["uvp","video/vnd.dece.pd"],["uvs","video/vnd.dece.sd"],["uvt","application/vnd.dece.ttml+xml"],["uvu","video/vnd.uvvu.mp4"],["uvv","video/vnd.dece.video"],["uvva","audio/vnd.dece.audio"],["uvvd","application/vnd.dece.data"],["uvvf","application/vnd.dece.data"],["uvvg","image/vnd.dece.graphic"],["uvvh","video/vnd.dece.hd"],["uvvi","image/vnd.dece.graphic"],["uvvm","video/vnd.dece.mobile"],["uvvp","video/vnd.dece.pd"],["uvvs","video/vnd.dece.sd"],["uvvt","application/vnd.dece.ttml+xml"],["uvvu","video/vnd.uvvu.mp4"],["uvvv","video/vnd.dece.video"],["uvvx","application/vnd.dece.unspecified"],["uvvz","application/vnd.dece.zip"],["uvx","application/vnd.dece.unspecified"],["uvz","application/vnd.dece.zip"],["vbox","application/x-virtualbox-vbox"],["vbox-extpack","application/x-virtualbox-vbox-extpack"],["vcard","text/vcard"],["vcd","application/x-cdlink"],["vcf","text/x-vcard"],["vcg","application/vnd.groove-vcard"],["vcs","text/x-vcalendar"],["vcx","application/vnd.vcx"],["vdi","application/x-virtualbox-vdi"],["vds","model/vnd.sap.vds"],["vhd","application/x-virtualbox-vhd"],["vis","application/vnd.visionary"],["viv","video/vnd.vivo"],["vlc","application/videolan"],["vmdk","application/x-virtualbox-vmdk"],["vob","video/x-ms-vob"],["vor","application/vnd.stardivision.writer"],["vox","application/x-authorware-bin"],["vrml","model/vrml"],["vsd","application/vnd.visio"],["vsf","application/vnd.vsf"],["vss","application/vnd.visio"],["vst","application/vnd.visio"],["vsw","application/vnd.visio"],["vtf","image/vnd.valve.source.texture"],["vtt","text/vtt"],["vtu","model/vnd.vtu"],["vxml","application/voicexml+xml"],["w3d","application/x-director"],["wad","application/x-doom"],["wadl","application/vnd.sun.wadl+xml"],["war","application/java-archive"],["wasm","application/wasm"],["wav","audio/x-wav"],["wax","audio/x-ms-wax"],["wbmp","image/vnd.wap.wbmp"],["wbs","application/vnd.criticaltools.wbs+xml"],["wbxml","application/wbxml"],["wcm","application/vnd.ms-works"],["wdb","application/vnd.ms-works"],["wdp","image/vnd.ms-photo"],["weba","audio/webm"],["webapp","application/x-web-app-manifest+json"],["webm","video/webm"],["webmanifest","application/manifest+json"],["webp","image/webp"],["wg","application/vnd.pmi.widget"],["wgt","application/widget"],["wks","application/vnd.ms-works"],["wm","video/x-ms-wm"],["wma","audio/x-ms-wma"],["wmd","application/x-ms-wmd"],["wmf","image/wmf"],["wml","text/vnd.wap.wml"],["wmlc","application/wmlc"],["wmls","text/vnd.wap.wmlscript"],["wmlsc","application/vnd.wap.wmlscriptc"],["wmv","video/x-ms-wmv"],["wmx","video/x-ms-wmx"],["wmz","application/x-msmetafile"],["woff","font/woff"],["woff2","font/woff2"],["word","application/msword"],["wpd","application/vnd.wordperfect"],["wpl","application/vnd.ms-wpl"],["wps","application/vnd.ms-works"],["wqd","application/vnd.wqd"],["wri","application/x-mswrite"],["wrl","model/vrml"],["wsc","message/vnd.wfa.wsc"],["wsdl","application/wsdl+xml"],["wspolicy","application/wspolicy+xml"],["wtb","application/vnd.webturbo"],["wvx","video/x-ms-wvx"],["x3d","model/x3d+xml"],["x3db","model/x3d+fastinfoset"],["x3dbz","model/x3d+binary"],["x3dv","model/x3d-vrml"],["x3dvz","model/x3d+vrml"],["x3dz","model/x3d+xml"],["x32","application/x-authorware-bin"],["x_b","model/vnd.parasolid.transmit.binary"],["x_t","model/vnd.parasolid.transmit.text"],["xaml","application/xaml+xml"],["xap","application/x-silverlight-app"],["xar","application/vnd.xara"],["xav","application/xcap-att+xml"],["xbap","application/x-ms-xbap"],["xbd","application/vnd.fujixerox.docuworks.binder"],["xbm","image/x-xbitmap"],["xca","application/xcap-caps+xml"],["xcs","application/calendar+xml"],["xdf","application/xcap-diff+xml"],["xdm","application/vnd.syncml.dm+xml"],["xdp","application/vnd.adobe.xdp+xml"],["xdssc","application/dssc+xml"],["xdw","application/vnd.fujixerox.docuworks"],["xel","application/xcap-el+xml"],["xenc","application/xenc+xml"],["xer","application/patch-ops-error+xml"],["xfdf","application/vnd.adobe.xfdf"],["xfdl","application/vnd.xfdl"],["xht","application/xhtml+xml"],["xhtml","application/xhtml+xml"],["xhvml","application/xv+xml"],["xif","image/vnd.xiff"],["xl","application/excel"],["xla","application/vnd.ms-excel"],["xlam","application/vnd.ms-excel.addin.macroEnabled.12"],["xlc","application/vnd.ms-excel"],["xlf","application/xliff+xml"],["xlm","application/vnd.ms-excel"],["xls","application/vnd.ms-excel"],["xlsb","application/vnd.ms-excel.sheet.binary.macroEnabled.12"],["xlsm","application/vnd.ms-excel.sheet.macroEnabled.12"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xlt","application/vnd.ms-excel"],["xltm","application/vnd.ms-excel.template.macroEnabled.12"],["xltx","application/vnd.openxmlformats-officedocument.spreadsheetml.template"],["xlw","application/vnd.ms-excel"],["xm","audio/xm"],["xml","application/xml"],["xns","application/xcap-ns+xml"],["xo","application/vnd.olpc-sugar"],["xop","application/xop+xml"],["xpi","application/x-xpinstall"],["xpl","application/xproc+xml"],["xpm","image/x-xpixmap"],["xpr","application/vnd.is-xpr"],["xps","application/vnd.ms-xpsdocument"],["xpw","application/vnd.intercon.formnet"],["xpx","application/vnd.intercon.formnet"],["xsd","application/xml"],["xsl","application/xml"],["xslt","application/xslt+xml"],["xsm","application/vnd.syncml+xml"],["xspf","application/xspf+xml"],["xul","application/vnd.mozilla.xul+xml"],["xvm","application/xv+xml"],["xvml","application/xv+xml"],["xwd","image/x-xwindowdump"],["xyz","chemical/x-xyz"],["xz","application/x-xz"],["yaml","text/yaml"],["yang","application/yang"],["yin","application/yin+xml"],["yml","text/yaml"],["ymp","text/x-suse-ymp"],["z","application/x-compress"],["z1","application/x-zmachine"],["z2","application/x-zmachine"],["z3","application/x-zmachine"],["z4","application/x-zmachine"],["z5","application/x-zmachine"],["z6","application/x-zmachine"],["z7","application/x-zmachine"],["z8","application/x-zmachine"],["zaz","application/vnd.zzazz.deck+xml"],["zip","application/zip"],["zir","application/vnd.zul"],["zirz","application/vnd.zul"],["zmm","application/vnd.handheld-entertainment+xml"],["zsh","text/x-scriptzsh"]]);function Vc(e,t,r){let o=eWe(e),{webkitRelativePath:a}=e,n=typeof t=="string"?t:typeof a=="string"&&a.length>0?a:`./${e.name}`;return typeof o.path!="string"&&Moe(o,"path",n),r!==void 0&&Object.defineProperty(o,"handle",{value:r,writable:!1,configurable:!1,enumerable:!0}),Moe(o,"relativePath",n),o}function eWe(e){let{name:t}=e;if(t&&t.lastIndexOf(".")!==-1&&!e.type){let o=t.split(".").pop().toLowerCase(),a=Q6e.get(o);a&&Object.defineProperty(e,"type",{value:a,writable:!1,configurable:!1,enumerable:!0})}return e}function Moe(e,t,r){Object.defineProperty(e,t,{value:r,writable:!1,configurable:!1,enumerable:!0})}var tWe=[".DS_Store","Thumbs.db"];function FF(e){return gu(this,void 0,void 0,function*(){return M1(e)&&rWe(e.dataTransfer)?sWe(e.dataTransfer,e.type):oWe(e)?aWe(e):Array.isArray(e)&&e.every(t=>"getFile"in t&&typeof t.getFile=="function")?nWe(e):[]})}function rWe(e){return M1(e)}function oWe(e){return M1(e)&&M1(e.target)}function M1(e){return typeof e=="object"&&e!==null}function aWe(e){return IF(e.target.files).map(t=>Vc(t))}function nWe(e){return gu(this,void 0,void 0,function*(){return(yield Promise.all(e.map(r=>r.getFile()))).map(r=>Vc(r))})}function sWe(e,t){return gu(this,void 0,void 0,function*(){if(e.items){let r=IF(e.items).filter(a=>a.kind==="file");if(t!=="drop")return r;let o=yield Promise.all(r.map(iWe));return Noe(Foe(o))}return Noe(IF(e.files).map(r=>Vc(r)))})}function Noe(e){return e.filter(t=>tWe.indexOf(t.name)===-1)}function IF(e){if(e===null)return[];let t=[];for(let r=0;r[...t,...Array.isArray(r)?Foe(r):[r]],[])}function Ioe(e,t){return gu(this,void 0,void 0,function*(){var r;if(globalThis.isSecureContext&&typeof e.getAsFileSystemHandle=="function"){let n=yield e.getAsFileSystemHandle();if(n===null)throw new Error(`${e} is not a File`);if(n!==void 0){let s=yield n.getFile();return s.handle=n,Vc(s)}}let o=e.getAsFile();if(!o)throw new Error(`${e} is not a File`);return Vc(o,(r=t==null?void 0:t.fullPath)!==null&&r!==void 0?r:void 0)})}function lWe(e){return gu(this,void 0,void 0,function*(){return e.isDirectory?Boe(e):pWe(e)})}function Boe(e){let t=e.createReader();return new Promise((r,o)=>{let a=[];function n(){t.readEntries(s=>gu(this,void 0,void 0,function*(){if(s.length){let i=Promise.all(s.map(lWe));a.push(i),n()}else try{let i=yield Promise.all(a);r(i)}catch(i){o(i)}}),s=>{o(s)})}n()})}function pWe(e){return gu(this,void 0,void 0,function*(){return new Promise((t,r)=>{e.file(o=>{let a=Vc(o,e.fullPath);t(a)},o=>{r(o)})})})}var N1=y(joe());function Loe(e){return fWe(e)||uWe(e)||$oe(e)||dWe()}function dWe(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function uWe(e){if(typeof Symbol!="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function fWe(e){if(Array.isArray(e))return jF(e)}function zoe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,o)}return r}function Woe(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,o=new Array(t);r0&&arguments[0]!==void 0?arguments[0]:"",r=t.split(","),o=r.length>1?"one of ".concat(r.join(", ")):r[0];return{code:gWe,message:"File type must be ".concat(o)}},Uoe=function(t){return{code:yWe,message:"File is larger than ".concat(t," ").concat(t===1?"byte":"bytes")}},Voe=function(t){return{code:bWe,message:"File is smaller than ".concat(t," ").concat(t===1?"byte":"bytes")}},Goe={code:vWe,message:"Too many files"};function LF(e,t){var r=e.type==="application/x-moz-file"||xWe(e,t);return[r,r?null:TWe(t)]}function zF(e,t,r){if(Hc(e.size))if(Hc(t)&&Hc(r)){if(e.size>r)return[!1,Uoe(r)];if(e.sizer)return[!1,Uoe(r)]}return[!0,null]}function Hc(e){return e!=null}function qoe(e){var t=e.files,r=e.accept,o=e.minSize,a=e.maxSize,n=e.multiple,s=e.maxFiles,i=e.validator;return!n&&t.length>1||n&&s>=1&&t.length>s?!1:t.every(function(p){var l=LF(p,r),d=bT(l,1),u=d[0],f=zF(p,o,a),c=bT(f,1),m=c[0],g=i?i(p):null;return u&&m&&!g})}function vT(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble!="undefined"?e.cancelBubble:!1}function TT(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function WF(e){e.preventDefault()}function SWe(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function wWe(e){return e.indexOf("Edge/")!==-1}function Koe(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return SWe(e)||wWe(e)}function Mi(){for(var e=arguments.length,t=new Array(e),r=0;r1?a-1:0),s=1;se.length)&&(t=e.length);for(var r=0,o=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}function IWe(e,t){if(e==null)return{};var r={},o=Object.keys(e),a,n;for(n=0;n=0)&&(r[a]=e[a]);return r}var F1=(0,wt.forwardRef)(function(e,t){var r=e.children,o=I1(e,_We),a=FWe(o),n=a.open,s=I1(a,CWe);return(0,wt.useImperativeHandle)(t,function(){return{open:n}},[n]),wt.default.createElement(wt.Fragment,null,r(oo(oo({},s),{},{open:n})))});F1.displayName="Dropzone";var nae={disabled:!1,getFilesFromEvent:FF,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!1,autoFocus:!1};F1.defaultProps=nae;F1.propTypes={children:gr.default.func,accept:gr.default.objectOf(gr.default.arrayOf(gr.default.string)),multiple:gr.default.bool,preventDropOnDocument:gr.default.bool,noClick:gr.default.bool,noKeyboard:gr.default.bool,noDrag:gr.default.bool,noDragEventsBubbling:gr.default.bool,minSize:gr.default.number,maxSize:gr.default.number,maxFiles:gr.default.number,disabled:gr.default.bool,getFilesFromEvent:gr.default.func,onFileDialogCancel:gr.default.func,onFileDialogOpen:gr.default.func,useFsAccessApi:gr.default.bool,autoFocus:gr.default.bool,onDragEnter:gr.default.func,onDragLeave:gr.default.func,onDragOver:gr.default.func,onDrop:gr.default.func,onDropAccepted:gr.default.func,onDropRejected:gr.default.func,onError:gr.default.func,validator:gr.default.func};var sae=F1,$F={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function FWe(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=oo(oo({},nae),e),r=t.accept,o=t.disabled,a=t.getFilesFromEvent,n=t.maxSize,s=t.minSize,i=t.multiple,p=t.maxFiles,l=t.onDragEnter,d=t.onDragLeave,u=t.onDragOver,f=t.onDrop,c=t.onDropAccepted,m=t.onDropRejected,g=t.onFileDialogCancel,h=t.onFileDialogOpen,x=t.useFsAccessApi,T=t.autoFocus,v=t.preventDropOnDocument,b=t.noClick,w=t.noKeyboard,O=t.noDrag,k=t.noDragEventsBubbling,M=t.onError,N=t.validator,S=(0,wt.useMemo)(function(){return Yoe(r)},[r]),B=(0,wt.useMemo)(function(){return Joe(r)},[r]),$=(0,wt.useMemo)(function(){return typeof h=="function"?h:oae},[h]),K=(0,wt.useMemo)(function(){return typeof g=="function"?g:oae},[g]),G=(0,wt.useRef)(null),L=(0,wt.useRef)(null),Y=(0,wt.useReducer)(BWe,$F),oe=UF(Y,2),ee=oe[0],se=oe[1],Ae=ee.isFocused,Me=ee.isFileDialogActive,Ge=(0,wt.useRef)(typeof window!="undefined"&&window.isSecureContext&&x&&Xoe()),Le=function(){!Ge.current&&Me&&setTimeout(function(){if(L.current){var De=L.current.files;De.length||(se({type:"closeDialog"}),K())}},300)};(0,wt.useEffect)(function(){return window.addEventListener("focus",Le,!1),function(){window.removeEventListener("focus",Le,!1)}},[L,Me,K,Ge]);var ke=(0,wt.useRef)([]),Ve=function(De){G.current&&G.current.contains(De.target)||(De.preventDefault(),ke.current=[])};(0,wt.useEffect)(function(){return v&&(document.addEventListener("dragover",WF,!1),document.addEventListener("drop",Ve,!1)),function(){v&&(document.removeEventListener("dragover",WF),document.removeEventListener("drop",Ve))}},[G,v]),(0,wt.useEffect)(function(){return!o&&T&&G.current&&G.current.focus(),function(){}},[G,T,o]);var Ee=(0,wt.useCallback)(function(he){M?M(he):console.error(he)},[M]),nt=(0,wt.useCallback)(function(he){he.preventDefault(),he.persist(),ot(he),ke.current=[].concat(EWe(ke.current),[he.target]),TT(he)&&Promise.resolve(a(he)).then(function(De){if(!(vT(he)&&!k)){var gt=De.length,vt=gt>0&&qoe({files:De,accept:S,minSize:s,maxSize:n,multiple:i,maxFiles:p,validator:N}),Et=gt>0&&!vt;se({isDragAccept:vt,isDragReject:Et,isDragActive:!0,type:"setDraggedFiles"}),l&&l(he)}}).catch(function(De){return Ee(De)})},[a,l,Ee,k,S,s,n,i,p,N]),Ze=(0,wt.useCallback)(function(he){he.preventDefault(),he.persist(),ot(he);var De=TT(he);if(De&&he.dataTransfer)try{he.dataTransfer.dropEffect="copy"}catch(gt){}return De&&u&&u(he),!1},[u,k]),qe=(0,wt.useCallback)(function(he){he.preventDefault(),he.persist(),ot(he);var De=ke.current.filter(function(vt){return G.current&&G.current.contains(vt)}),gt=De.indexOf(he.target);gt!==-1&&De.splice(gt,1),ke.current=De,!(De.length>0)&&(se({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),TT(he)&&d&&d(he))},[G,d,k]),ct=(0,wt.useCallback)(function(he,De){var gt=[],vt=[];he.forEach(function(Et){var Pe=LF(Et,S),qt=UF(Pe,2),Pt=qt[0],ht=qt[1],$e=zF(Et,s,n),At=UF($e,2),q=At[0],Q=At[1],Se=N?N(Et):null;if(Pt&&q&&!Se)gt.push(Et);else{var _e=[ht,Q];Se&&(_e=_e.concat(Se)),vt.push({file:Et,errors:_e.filter(function(Fe){return Fe})})}}),(!i&>.length>1||i&&p>=1&>.length>p)&&(gt.forEach(function(Et){vt.push({file:Et,errors:[Goe]})}),gt.splice(0)),se({acceptedFiles:gt,fileRejections:vt,isDragReject:vt.length>0,type:"setFiles"}),f&&f(gt,vt,De),vt.length>0&&m&&m(vt,De),gt.length>0&&c&&c(gt,De)},[se,i,S,s,n,p,f,c,m,N]),We=(0,wt.useCallback)(function(he){he.preventDefault(),he.persist(),ot(he),ke.current=[],TT(he)&&Promise.resolve(a(he)).then(function(De){vT(he)&&!k||ct(De,he)}).catch(function(De){return Ee(De)}),se({type:"reset"})},[a,ct,Ee,k]),Ne=(0,wt.useCallback)(function(){if(Ge.current){se({type:"openDialog"}),$();var he={multiple:i,types:B};window.showOpenFilePicker(he).then(function(De){return a(De)}).then(function(De){ct(De,null),se({type:"closeDialog"})}).catch(function(De){Zoe(De)?(K(De),se({type:"closeDialog"})):Qoe(De)?(Ge.current=!1,L.current?(L.current.value=null,L.current.click()):Ee(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):Ee(De)});return}L.current&&(se({type:"openDialog"}),$(),L.current.value=null,L.current.click())},[se,$,K,x,ct,Ee,B,i]),tt=(0,wt.useCallback)(function(he){!G.current||!G.current.isEqualNode(he.target)||(he.key===" "||he.key==="Enter"||he.keyCode===32||he.keyCode===13)&&(he.preventDefault(),Ne())},[G,Ne]),Xe=(0,wt.useCallback)(function(){se({type:"focus"})},[]),rt=(0,wt.useCallback)(function(){se({type:"blur"})},[]),ue=(0,wt.useCallback)(function(){b||(Koe()?setTimeout(Ne,0):Ne())},[b,Ne]),Ce=function(De){return o?null:De},He=function(De){return w?null:Ce(De)},Ke=function(De){return O?null:Ce(De)},ot=function(De){k&&De.stopPropagation()},yt=(0,wt.useMemo)(function(){return function(){var he=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},De=he.refKey,gt=De===void 0?"ref":De,vt=he.role,Et=he.onKeyDown,Pe=he.onFocus,qt=he.onBlur,Pt=he.onClick,ht=he.onDragEnter,$e=he.onDragOver,At=he.onDragLeave,q=he.onDrop,Q=I1(he,OWe);return oo(oo(HF({onKeyDown:He(Mi(Et,tt)),onFocus:He(Mi(Pe,Xe)),onBlur:He(Mi(qt,rt)),onClick:Ce(Mi(Pt,ue)),onDragEnter:Ke(Mi(ht,nt)),onDragOver:Ke(Mi($e,Ze)),onDragLeave:Ke(Mi(At,qe)),onDrop:Ke(Mi(q,We)),role:typeof vt=="string"&&vt!==""?vt:"presentation"},gt,G),!o&&!w?{tabIndex:0}:{}),Q)}},[G,tt,Xe,rt,ue,nt,Ze,qe,We,w,O,o]),bt=(0,wt.useCallback)(function(he){he.stopPropagation()},[]),Ie=(0,wt.useMemo)(function(){return function(){var he=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},De=he.refKey,gt=De===void 0?"ref":De,vt=he.onChange,Et=he.onClick,Pe=I1(he,kWe),qt=HF({accept:S,multiple:i,type:"file",style:{border:0,clip:"rect(0, 0, 0, 0)",clipPath:"inset(50%)",height:"1px",margin:"0 -1px -1px 0",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap"},onChange:Ce(Mi(vt,We)),onClick:Ce(Mi(Et,bt)),tabIndex:-1},gt,L);return oo(oo({},qt),Pe)}},[L,r,i,We,o]);return oo(oo({},ee),{},{isFocused:Ae&&!o,getRootProps:yt,getInputProps:Ie,rootRef:G,inputRef:L,open:Ce(Ne)})}function BWe(e,t){switch(t.type){case"focus":return oo(oo({},e),{},{isFocused:!0});case"blur":return oo(oo({},e),{},{isFocused:!1});case"openDialog":return oo(oo({},$F),{},{isFileDialogActive:!0});case"closeDialog":return oo(oo({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return oo(oo({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return oo(oo({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections,isDragReject:t.isDragReject});case"reset":return oo({},$F);default:return e}}function oae(){}var ts=y(P());var iae=y(P());function jWe(){let e=Wo();return[...e.breakpoints.keys].reverse().reduce((r,o)=>{let a=BM(e.breakpoints.up(o));return!r&&a?o:r},null)||"xs"}function Cp(){return e=>function(r){let o=jWe();return iae.default.createElement(e,{...r,width:o})}}function LWe(e){let[t,r]=ts.default.useState(e.input||e.value||""),[o,a]=ts.default.useState("");return ts.default.createElement(cr,{open:!0,onClose:()=>e.onClose(null),"aria-labelledby":"form-dialog-title",fullWidth:e.fullWidth!==void 0?e.fullWidth:!1},ts.default.createElement(mr,{id:"form-dialog-title"},e.titleText),ts.default.createElement(Tr,null,ts.default.createElement(_n,null,e.promptText),ts.default.createElement(Ir,{variant:"standard",autoFocus:!0,margin:"dense",error:!!o,helperText:o===!0||!o?"":o,value:t,label:e.labelText||"",type:e.type||"text",onKeyUp:n=>n.code==="Enter"&&t&&e.onClose(t),onChange:n=>{let s="";e.verify&&(s=!e.verify(n.target.value)),e.rule?r(e.rule(n.target.value)):r(n.target.value),a(s)},fullWidth:!0})),ts.default.createElement(vr,null,ts.default.createElement(st,{variant:"contained",disabled:!t||!!o,onClick:()=>e.onClose(t),color:"primary",startIcon:ts.default.createElement(wo,null)},e.applyText||D.t("ra_Ok")),ts.default.createElement(st,{color:"grey",variant:"contained",onClick:()=>e.onClose(null),startIcon:ts.default.createElement(mo,null)},e.cancelText||D.t("ra_Cancel"))))}var B1=Cp()(LWe);var j1=y(P()),lg=e=>j1.default.createElement("svg",{onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 486 486",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),xmlns:"http://www.w3.org/2000/svg",className:e.className,style:e.style},j1.default.createElement("path",{fill:"currentColor",d:"m414.928297,149.715165 c-2.639376,-57.222555 -35.669446,-106.505345 -83.345894,-132.039151 c-3.758948,-2.049842 -7.636885,-3.932022 -11.590542,-5.641125 c-19.303146,-8.394083 -40.607459,-13.050853 -63.004303,-13.050853 c-84.113909,0 -152.791790,65.703174 -157.718988,148.605566 l0.043268,-0.010816 v0.281245 c0,3.061243 -0.146031,16.750306 -0.146031,16.750306 l-2.352723,5.224668 h15.744315 c5.916964,-19.384275 24.078904,-32.635245 45.513024,-32.635245 c26.231510,0 47.573684,21.915481 47.573684,48.146991 c0,26.226103 -21.342174,47.146409 -47.573684,47.146409 c-25.111939,0 -45.734774,-19.735831 -47.443879,-44.658471 h-18.789334 c-0.400232,0 -0.778832,0.638209 -1.162839,0.584122 l-19.762875,55.199753 c-2.774590,7.696379 2.926030,16.214860 11.103771,16.214860 h17.020735 l-0.129805,87.899899 c0,17.356066 14.073071,31.174935 31.429136,31.174935 h56.205745 v82.648189 c0,12.877778 12.937273,22.580734 25.815051,22.580734 h144.597825 c12.877778,0 23.429877,-9.702955 23.429877,-22.580734 v-166.037352 c0,-22.645636 5.976457,-44.761234 16.561008,-64.789128 c11.055093,-20.925714 17.523731,-44.620611 18.129489,-69.792045 c0.027042,-1.260193 0.037858,-2.552839 0.037858,-3.845485 c0,-2.466302 -0.070310,-4.938014 -0.183890,-7.377273 zm-155.393308,-11.731165 h-13.456494 v13.559257 c0,4.732489 -4.267352,8.567157 -8.999842,8.567157 c-4.727079,0 -8.999842,-3.834667 -8.999842,-8.567157 v-13.559257 h-12.185483 c-4.732489,0 -8.567157,-4.267352 -8.567157,-8.999842 c0,-4.727079 3.834667,-8.999842 8.567157,-8.999842 h12.185483 v-12.077311 c0,-4.732489 4.272762,-8.567157 8.999842,-8.567157 c4.732489,0 8.999842,3.834667 8.999842,8.567157 v12.077311 h13.456494 c4.727079,0 8.567157,4.272762 8.567157,8.999842 c0,4.732489 -3.840077,8.999842 -8.567157,8.999842 zm0,0"}),j1.default.createElement("path",{fill:"currentColor",d:"m187.695312 285.875c3.9375-3.980469 6.414063-9.449219 6.414063-15.523438 0-12.128906-9.855469-21.980468-21.984375-21.980468-6.007812 0-11.472656 2.410156-15.457031 6.347656-4.023438 4.003906-6.523438 9.539062-6.523438 15.636719 0 12.125 9.855469 21.980469 21.980469 21.980469 6.078125 0 11.585938-2.476563 15.570312-6.460938zm0 0"}));var GF=y(P()),Op=e=>GF.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 650 512",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},GF.default.createElement("path",{fill:"currentColor",d:"m524,128l-192,0l-64,-64l-160,0c-26.51,0 -48,21.49 -48,48l0,288c0,26.51 21.49,48 48,48l416,0c26.51,0 48,-21.49 48,-48l0,-224c0,-26.51 -21.49,-48 -48,-48z"}));var qF=y(P()),$c=e=>qF.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 650 512",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},qF.default.createElement("path",{fill:"currentColor",d:"m631.75617,292.093l-72.424,124.155a63.997,63.997 0 0 1 -55.281,31.752l-399.964,0c-18.523,0 -30.064,-20.093 -20.731,-36.093l72.424,-124.155a64,64 0 0 1 55.282,-31.752l399.964,0c18.523,0 30.064,20.093 20.73,36.093zm-420.694,-68.093l328,0l0,-48c0,-26.51 -21.49,-48 -48,-48l-160,0l-64,-64l-160,0c-26.51,0 -48,21.49 -48,48l0,278.046l69.077,-118.418c17.137,-29.378 48.912,-47.628 82.923,-47.628z"}));var KF=y(P()),Gc=e=>KF.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 512 512",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},KF.default.createElement("path",{fill:"#EE3333",d:"M256,0C114.844,0,0,114.844,0,256s114.844,256,256,256s256-114.844,256-256S397.156,0,256,0z M256,448 c-105.865,0-192-86.135-192-192c0-40.406,12.25-78.604,35.542-111.198l267.656,267.656C334.604,435.75,296.406,448,256,448z M412.458,367.198L144.802,99.542C177.396,76.25,215.594,64,256,64c105.865,0,192,86.135,192,192 C448,296.406,435.75,334.604,412.458,367.198z"}));var yu=y(P());var _r=y(P(),1);var dae=y(P(),1),zWe=e=>typeof e!="string"?{}:e.split(/ ?; ?/).reduce((t,r)=>{let[o,a]=r.split(/ ?: ?/).map((n,s)=>s===0?n.replace(/\s+/g,""):n.trim());if(o&&a){let n=o.replace(/(\w)-(\w)/g,(i,p,l)=>`${p}${l.toUpperCase()}`),s=a.trim();Number.isNaN(Number(a))||(s=Number(a)),t[o.startsWith("-")?o:n]=s}return t},{});function WWe(e=6){let t="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",r="";for(let o=e;o>0;--o)r+=t[Math.round(Math.random()*(t.length-1))];return r}var UWe=["br","col","colgroup","dl","hr","iframe","img","input","link","menuitem","meta","ol","param","select","table","tbody","tfoot","thead","tr","ul","wbr"],lae={"accept-charset":"acceptCharset",acceptcharset:"acceptCharset",accesskey:"accessKey",allowfullscreen:"allowFullScreen",autocapitalize:"autoCapitalize",autocomplete:"autoComplete",autocorrect:"autoCorrect",autofocus:"autoFocus",autoplay:"autoPlay",autosave:"autoSave",cellpadding:"cellPadding",cellspacing:"cellSpacing",charset:"charSet",class:"className",classid:"classID",classname:"className",colspan:"colSpan",contenteditable:"contentEditable",contextmenu:"contextMenu",controlslist:"controlsList",crossorigin:"crossOrigin",dangerouslysetinnerhtml:"dangerouslySetInnerHTML",datetime:"dateTime",defaultchecked:"defaultChecked",defaultvalue:"defaultValue",enctype:"encType",for:"htmlFor",formmethod:"formMethod",formaction:"formAction",formenctype:"formEncType",formnovalidate:"formNoValidate",formtarget:"formTarget",frameborder:"frameBorder",hreflang:"hrefLang",htmlfor:"htmlFor",httpequiv:"httpEquiv","http-equiv":"httpEquiv",icon:"icon",innerhtml:"innerHTML",inputmode:"inputMode",itemid:"itemID",itemprop:"itemProp",itemref:"itemRef",itemscope:"itemScope",itemtype:"itemType",keyparams:"keyParams",keytype:"keyType",marginwidth:"marginWidth",marginheight:"marginHeight",maxlength:"maxLength",mediagroup:"mediaGroup",minlength:"minLength",nomodule:"noModule",novalidate:"noValidate",playsinline:"playsInline",radiogroup:"radioGroup",readonly:"readOnly",referrerpolicy:"referrerPolicy",rowspan:"rowSpan",spellcheck:"spellCheck",srcdoc:"srcDoc",srclang:"srcLang",srcset:"srcSet",tabindex:"tabIndex",typemustmatch:"typeMustMatch",usemap:"useMap",accentheight:"accentHeight","accent-height":"accentHeight",alignmentbaseline:"alignmentBaseline","alignment-baseline":"alignmentBaseline",allowreorder:"allowReorder",arabicform:"arabicForm","arabic-form":"arabicForm",attributename:"attributeName",attributetype:"attributeType",autoreverse:"autoReverse",basefrequency:"baseFrequency",baselineshift:"baselineShift","baseline-shift":"baselineShift",baseprofile:"baseProfile",calcmode:"calcMode",capheight:"capHeight","cap-height":"capHeight",clippath:"clipPath","clip-path":"clipPath",clippathunits:"clipPathUnits",cliprule:"clipRule","clip-rule":"clipRule",colorinterpolation:"colorInterpolation","color-interpolation":"colorInterpolation",colorinterpolationfilters:"colorInterpolationFilters","color-interpolation-filters":"colorInterpolationFilters",colorprofile:"colorProfile","color-profile":"colorProfile",colorrendering:"colorRendering","color-rendering":"colorRendering",contentscripttype:"contentScriptType",contentstyletype:"contentStyleType",diffuseconstant:"diffuseConstant",dominantbaseline:"dominantBaseline","dominant-baseline":"dominantBaseline",edgemode:"edgeMode",enablebackground:"enableBackground","enable-background":"enableBackground",externalresourcesrequired:"externalResourcesRequired",fillopacity:"fillOpacity","fill-opacity":"fillOpacity",fillrule:"fillRule","fill-rule":"fillRule",filterres:"filterRes",filterunits:"filterUnits",floodopacity:"floodOpacity","flood-opacity":"floodOpacity",floodcolor:"floodColor","flood-color":"floodColor",fontfamily:"fontFamily","font-family":"fontFamily",fontsize:"fontSize","font-size":"fontSize",fontsizeadjust:"fontSizeAdjust","font-size-adjust":"fontSizeAdjust",fontstretch:"fontStretch","font-stretch":"fontStretch",fontstyle:"fontStyle","font-style":"fontStyle",fontvariant:"fontVariant","font-variant":"fontVariant",fontweight:"fontWeight","font-weight":"fontWeight",glyphname:"glyphName","glyph-name":"glyphName",glyphorientationhorizontal:"glyphOrientationHorizontal","glyph-orientation-horizontal":"glyphOrientationHorizontal",glyphorientationvertical:"glyphOrientationVertical","glyph-orientation-vertical":"glyphOrientationVertical",glyphref:"glyphRef",gradienttransform:"gradientTransform",gradientunits:"gradientUnits",horizadvx:"horizAdvX","horiz-adv-x":"horizAdvX",horizoriginx:"horizOriginX","horiz-origin-x":"horizOriginX",imagerendering:"imageRendering","image-rendering":"imageRendering",kernelmatrix:"kernelMatrix",kernelunitlength:"kernelUnitLength",keypoints:"keyPoints",keysplines:"keySplines",keytimes:"keyTimes",lengthadjust:"lengthAdjust",letterspacing:"letterSpacing","letter-spacing":"letterSpacing",lightingcolor:"lightingColor","lighting-color":"lightingColor",limitingconeangle:"limitingConeAngle",markerend:"markerEnd","marker-end":"markerEnd",markerheight:"markerHeight",markermid:"markerMid","marker-mid":"markerMid",markerstart:"markerStart","marker-start":"markerStart",markerunits:"markerUnits",markerwidth:"markerWidth",maskcontentunits:"maskContentUnits",maskunits:"maskUnits",numoctaves:"numOctaves",overlineposition:"overlinePosition","overline-position":"overlinePosition",overlinethickness:"overlineThickness","overline-thickness":"overlineThickness",paintorder:"paintOrder","paint-order":"paintOrder","panose-1":"panose1",pathlength:"pathLength",patterncontentunits:"patternContentUnits",patterntransform:"patternTransform",patternunits:"patternUnits",pointerevents:"pointerEvents","pointer-events":"pointerEvents",pointsatx:"pointsAtX",pointsaty:"pointsAtY",pointsatz:"pointsAtZ",preservealpha:"preserveAlpha",preserveaspectratio:"preserveAspectRatio",primitiveunits:"primitiveUnits",refx:"refX",refy:"refY",renderingintent:"renderingIntent","rendering-intent":"renderingIntent",repeatcount:"repeatCount",repeatdur:"repeatDur",requiredextensions:"requiredExtensions",requiredfeatures:"requiredFeatures",shaperendering:"shapeRendering","shape-rendering":"shapeRendering",specularconstant:"specularConstant",specularexponent:"specularExponent",spreadmethod:"spreadMethod",startoffset:"startOffset",stddeviation:"stdDeviation",stitchtiles:"stitchTiles",stopcolor:"stopColor","stop-color":"stopColor",stopopacity:"stopOpacity","stop-opacity":"stopOpacity",strikethroughposition:"strikethroughPosition","strikethrough-position":"strikethroughPosition",strikethroughthickness:"strikethroughThickness","strikethrough-thickness":"strikethroughThickness",strokedasharray:"strokeDasharray","stroke-dasharray":"strokeDasharray",strokedashoffset:"strokeDashoffset","stroke-dashoffset":"strokeDashoffset",strokelinecap:"strokeLinecap","stroke-linecap":"strokeLinecap",strokelinejoin:"strokeLinejoin","stroke-linejoin":"strokeLinejoin",strokemiterlimit:"strokeMiterlimit","stroke-miterlimit":"strokeMiterlimit",strokewidth:"strokeWidth","stroke-width":"strokeWidth",strokeopacity:"strokeOpacity","stroke-opacity":"strokeOpacity",suppresscontenteditablewarning:"suppressContentEditableWarning",suppresshydrationwarning:"suppressHydrationWarning",surfacescale:"surfaceScale",systemlanguage:"systemLanguage",tablevalues:"tableValues",targetx:"targetX",targety:"targetY",textanchor:"textAnchor","text-anchor":"textAnchor",textdecoration:"textDecoration","text-decoration":"textDecoration",textlength:"textLength",textrendering:"textRendering","text-rendering":"textRendering",underlineposition:"underlinePosition","underline-position":"underlinePosition",underlinethickness:"underlineThickness","underline-thickness":"underlineThickness",unicodebidi:"unicodeBidi","unicode-bidi":"unicodeBidi",unicoderange:"unicodeRange","unicode-range":"unicodeRange",unitsperem:"unitsPerEm","units-per-em":"unitsPerEm",unselectable:"unselectable",valphabetic:"vAlphabetic","v-alphabetic":"vAlphabetic",vectoreffect:"vectorEffect","vector-effect":"vectorEffect",vertadvy:"vertAdvY","vert-adv-y":"vertAdvY",vertoriginx:"vertOriginX","vert-origin-x":"vertOriginX",vertoriginy:"vertOriginY","vert-origin-y":"vertOriginY",vhanging:"vHanging","v-hanging":"vHanging",videographic:"vIdeographic","v-ideographic":"vIdeographic",viewbox:"viewBox",viewtarget:"viewTarget",vmathematical:"vMathematical","v-mathematical":"vMathematical",wordspacing:"wordSpacing","word-spacing":"wordSpacing",writingmode:"writingMode","writing-mode":"writingMode",xchannelselector:"xChannelSelector",xheight:"xHeight","x-height":"xHeight",xlinkactuate:"xlinkActuate","xlink:actuate":"xlinkActuate",xlinkarcrole:"xlinkArcrole","xlink:arcrole":"xlinkArcrole",xlinkhref:"xlinkHref","xlink:href":"xlinkHref",xlinkrole:"xlinkRole","xlink:role":"xlinkRole",xlinkshow:"xlinkShow","xlink:show":"xlinkShow",xlinktitle:"xlinkTitle","xlink:title":"xlinkTitle",xlinktype:"xlinkType","xlink:type":"xlinkType",xmlbase:"xmlBase","xml:base":"xmlBase",xmllang:"xmlLang","xml:lang":"xmlLang","xml:space":"xmlSpace",xmlnsxlink:"xmlnsXlink","xmlns:xlink":"xmlnsXlink",xmlspace:"xmlSpace",ychannelselector:"yChannelSelector",zoomandpan:"zoomAndPan",onblur:"onBlur",onchange:"onChange",onclick:"onClick",oncontextmenu:"onContextMenu",ondoubleclick:"onDoubleClick",ondrag:"onDrag",ondragend:"onDragEnd",ondragenter:"onDragEnter",ondragexit:"onDragExit",ondragleave:"onDragLeave",ondragover:"onDragOver",ondragstart:"onDragStart",ondrop:"onDrop",onerror:"onError",onfocus:"onFocus",oninput:"onInput",oninvalid:"onInvalid",onkeydown:"onKeyDown",onkeypress:"onKeyPress",onkeyup:"onKeyUp",onload:"onLoad",onmousedown:"onMouseDown",onmouseenter:"onMouseEnter",onmouseleave:"onMouseLeave",onmousemove:"onMouseMove",onmouseout:"onMouseOut",onmouseover:"onMouseOver",onmouseup:"onMouseUp",onscroll:"onScroll",onsubmit:"onSubmit",ontouchcancel:"onTouchCancel",ontouchend:"onTouchEnd",ontouchmove:"onTouchMove",ontouchstart:"onTouchStart",onwheel:"onWheel"};function VWe(e,t){var n,s;let{key:r,level:o,...a}=t;switch(e.nodeType){case 1:return dae.createElement($We(e.nodeName),HWe(e,r),pae(e.childNodes,o,a));case 3:{let i=(s=(n=e.nodeValue)==null?void 0:n.toString())!=null?s:"";if(!a.allowWhiteSpaces&&/^\s+$/.test(i)&&!/[\u00A0\u202F]/.test(i))return null;if(!e.parentNode)return i;let p=e.parentNode.nodeName.toLowerCase();return UWe.includes(p)?(/\S/.test(i)&&console.warn(`A textNode is not allowed inside '${p}'. Your text "${i}" will be ignored`),null):i}case 8:return null;case 11:return pae(e.childNodes,o,t);default:return null}}function HWe(e,t){let r={key:t};if(e instanceof Element){let o=e.getAttribute("class");o&&(r.className=o),[...e.attributes].forEach(a=>{switch(a.name){case"class":break;case"style":r[a.name]=zWe(a.value);break;case"allowfullscreen":case"allowpaymentrequest":case"async":case"autofocus":case"autoplay":case"checked":case"controls":case"default":case"defer":case"disabled":case"formnovalidate":case"hidden":case"ismap":case"itemscope":case"loop":case"multiple":case"muted":case"nomodule":case"novalidate":case"open":case"readonly":case"required":case"reversed":case"selected":case"typemustmatch":r[lae[a.name]||a.name]=!0;break;default:r[lae[a.name]||a.name]=a.value}})}return r}function pae(e,t,r){let o=[...e].map((a,n)=>L1(a,{...r,index:n,level:t+1})).filter(Boolean);return o.length?o:null}function $We(e){return/[a-z]+[A-Z]+[a-z]+/.test(e)?e:e.toLowerCase()}function L1(e,t={}){if(!e||!(e instanceof Node))return null;let{actions:r=[],index:o=0,level:a=0,randomKey:n}=t,s=e,i=`${a}-${o}`,p=[];return n&&a===0&&(i=`${WWe()}-${i}`),Array.isArray(r)&&r.forEach(l=>{l.condition(s,i,a)&&(typeof l.pre=="function"&&(s=l.pre(s,i,a),s instanceof Node||(s=e)),typeof l.post=="function"&&p.push(l.post(s,i,a)))}),p.length?p:VWe(s,{key:i,level:a,...t})}function GWe(e,t={}){if(!e||typeof e!="string")return null;let{includeAllNodes:r=!1,nodeOnly:o=!1,selector:a="body > *",type:n="text/html"}=t;try{let i=new DOMParser().parseFromString(e,n);if(r){let{childNodes:l}=i.body;return o?l:[...l].map(d=>L1(d,t))}let p=i.querySelector(a)||i.body.childNodes[0];if(!(p instanceof Node))throw new TypeError("Error parsing input");return o?p:L1(p,t)}catch(s){}return null}function z1(e,t={}){return typeof e=="string"?GWe(e,t):e instanceof Node?L1(e,t):null}var V1=y(P(),1);var qWe=Object.defineProperty,KWe=(e,t,r)=>t in e?qWe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,W1=(e,t,r)=>KWe(e,typeof t!="symbol"?t+"":t,r),uae="react-inlinesvg",fae=10,sr={IDLE:"idle",LOADING:"loading",LOADED:"loaded",FAILED:"failed",READY:"ready",UNSUPPORTED:"unsupported"};function U1(){return!!(typeof window!="undefined"&&window.document&&window.document.createElement)}function XWe(){return YWe()&&typeof window!="undefined"&&window!==null}async function mae(e,t){let r=await fetch(e,t),o=r.headers.get("content-type"),[a]=(o!=null?o:"").split(/ ?; ?/);if(r.status>299)throw new Error("Not found");if(!["image/svg+xml","text/plain"].some(n=>a.includes(n)))throw new Error(`Content type isn't valid: ${a}`);return r.text()}function JWe(e=1){return new Promise(t=>{setTimeout(t,e*1e3)})}function YWe(){if(!document)return!1;let e=document.createElement("div");e.innerHTML="";let t=e.firstChild;return!!t&&t.namespaceURI==="http://www.w3.org/2000/svg"}function ZWe(e){return e[Math.floor(Math.random()*e.length)]}function QWe(e){let t="abcdefghijklmnopqrstuvwxyz",o=`${t}${t.toUpperCase()}1234567890`,a="";for(let n=0;n{this.cacheApi=o}).catch(o=>{console.error(`Failed to open cache: ${o.message}`)}).finally(()=>{this.isReady=!0,this.subscribers.forEach(o=>o())}):this.isReady=!0}onReady(e){this.isReady?e():this.subscribers.push(e)}async get(e,t){var r,o;return await(this.cacheApi?this.fetchAndAddToPersistentCache(e,t):this.fetchAndAddToInternalCache(e,t)),(o=(r=this.cacheStore.get(e))==null?void 0:r.content)!=null?o:""}set(e,t){this.cacheStore.set(e,t)}isCached(e){var t;return((t=this.cacheStore.get(e))==null?void 0:t.status)===sr.LOADED}async fetchAndAddToInternalCache(e,t){let r=this.cacheStore.get(e);if((r==null?void 0:r.status)===sr.LOADING){await this.handleLoading(e,async()=>{this.cacheStore.set(e,{content:"",status:sr.IDLE}),await this.fetchAndAddToInternalCache(e,t)});return}if(!(r!=null&&r.content)){this.cacheStore.set(e,{content:"",status:sr.LOADING});try{let o=await mae(e,t);this.cacheStore.set(e,{content:o,status:sr.LOADED})}catch(o){throw this.cacheStore.set(e,{content:"",status:sr.FAILED}),o}}}async fetchAndAddToPersistentCache(e,t){var a,n,s,i;let r=this.cacheStore.get(e);if((r==null?void 0:r.status)===sr.LOADED)return;if((r==null?void 0:r.status)===sr.LOADING){await this.handleLoading(e,async()=>{this.cacheStore.set(e,{content:"",status:sr.IDLE}),await this.fetchAndAddToPersistentCache(e,t)});return}this.cacheStore.set(e,{content:"",status:sr.LOADING});let o=await((a=this.cacheApi)==null?void 0:a.match(e));if(o){let p=await o.text();this.cacheStore.set(e,{content:p,status:sr.LOADED});return}try{await((n=this.cacheApi)==null?void 0:n.add(new Request(e,t)));let p=await((s=this.cacheApi)==null?void 0:s.match(e)),l=(i=await(p==null?void 0:p.text()))!=null?i:"";this.cacheStore.set(e,{content:l,status:sr.LOADED})}catch(p){throw this.cacheStore.set(e,{content:"",status:sr.FAILED}),p}}async handleLoading(e,t){var o;let r=0;for(;((o=this.cacheStore.get(e))==null?void 0:o.status)===sr.LOADING&&r=fae&&await t()}keys(){return[...this.cacheStore.keys()]}data(){return[...this.cacheStore.entries()].map(([e,t])=>({[e]:t}))}async delete(e){this.cacheApi&&await this.cacheApi.delete(e),this.cacheStore.delete(e)}async clear(){if(this.cacheApi){let e=await this.cacheApi.keys();for(let t of e)await this.cacheApi.delete(t)}this.cacheStore.clear()}};function cae(e){let t=(0,V1.useRef)();return(0,V1.useEffect)(()=>{t.current=e}),t.current}function r9e(e){let{baseURL:t,content:r,description:o,handleError:a,hash:n,preProcessor:s,title:i,uniquifyIDs:p=!1}=e;try{let l=o9e(r,s),d=z1(l,{nodeOnly:!0});if(!d||!(d instanceof SVGSVGElement))throw new Error("Could not convert the src to a DOM Node");let u=hae(d,{baseURL:t,hash:n,uniquifyIDs:p});if(o){let f=u.querySelector("desc");f!=null&&f.parentNode&&f.parentNode.removeChild(f);let c=document.createElementNS("http://www.w3.org/2000/svg","desc");c.innerHTML=o,u.prepend(c)}if(typeof i!="undefined"){let f=u.querySelector("title");if(f!=null&&f.parentNode&&f.parentNode.removeChild(f),i){let c=document.createElementNS("http://www.w3.org/2000/svg","title");c.innerHTML=i,u.prepend(c)}}return u}catch(l){return a(l)}}function o9e(e,t){return t?t(e):e}function hae(e,t){let{baseURL:r="",hash:o,uniquifyIDs:a}=t,n=["id","href","xlink:href","xlink:role","xlink:arcrole"],s=["href","xlink:href"],i=(p,l)=>s.includes(p)&&(l?!l.includes("#"):!1);return a&&[...e.children].forEach(p=>{var l;if((l=p.attributes)!=null&&l.length){let d=Object.values(p.attributes).map(u=>{let f=u,c=/url\((.*?)\)/.exec(u.value);return c!=null&&c[1]&&(f.value=u.value.replace(c[0],`url(${r}${c[1]}__${o})`)),f});n.forEach(u=>{let f=d.find(c=>c.name===u);f&&!i(u,f.value)&&(f.value=`${f.value}__${o}`)})}return p.children.length?hae(p,t):p}),e}var pg;function a9e(e){let{cacheRequests:t=!0,children:r=null,description:o,fetchOptions:a,innerRef:n,loader:s=null,onError:i,onLoad:p,src:l,title:d,uniqueHash:u}=e,[f,c]=(0,_r.useReducer)((G,L)=>({...G,...L}),{content:"",element:null,isCached:t&&pg.isCached(e.src),status:sr.IDLE}),{content:m,element:g,isCached:h,status:x}=f,T=cae(e),v=cae(f),b=(0,_r.useRef)(u!=null?u:QWe(8)),w=(0,_r.useRef)(!1),O=(0,_r.useRef)(!1),k=(0,_r.useCallback)(G=>{w.current&&(c({status:G.message==="Browser does not support SVG"?sr.UNSUPPORTED:sr.FAILED}),i==null||i(G))},[i]),M=(0,_r.useCallback)((G,L=!1)=>{w.current&&c({content:G,isCached:L,status:sr.LOADED})},[]),N=(0,_r.useCallback)(async()=>{let G=await mae(l,a);M(G)},[a,M,l]),S=(0,_r.useCallback)(()=>{try{let G=r9e({...e,handleError:k,hash:b.current,content:m}),L=z1(G);if(!L||!(0,_r.isValidElement)(L))throw new Error("Could not convert the src to a React element");c({element:L,status:sr.READY})}catch(G){k(new Error(G.message))}},[m,k,e]),B=(0,_r.useCallback)(async()=>{let G=/^data:image\/svg[^,]*?(;base64)?,(.*)/u.exec(l),L;if(G?L=G[1]?window.atob(G[2]):decodeURIComponent(G[2]):l.includes("{w.current&&c({content:"",element:null,isCached:!1,status:sr.LOADING})},[]);(0,_r.useEffect)(()=>{if(w.current=!0,!U1()||O.current)return()=>{};try{if(x===sr.IDLE){if(!XWe())throw new Error("Browser does not support SVG");if(!l)throw new Error("Missing src");$()}}catch(G){k(G)}return O.current=!0,()=>{w.current=!1}},[]),(0,_r.useEffect)(()=>{if(U1()&&T)if(T.src!==l){if(!l){k(new Error("Missing src"));return}$()}else(T.title!==d||T.description!==o)&&S()},[o,S,k,$,T,l,d]),(0,_r.useEffect)(()=>{v&&(v.status!==sr.LOADING&&x===sr.LOADING&&B(),v.status!==sr.LOADED&&x===sr.LOADED&&S(),v.status!==sr.READY&&x===sr.READY&&(p==null||p(l,h)))},[B,S,h,p,v,l,x]);let K=e9e(e,"baseURL","cacheRequests","children","description","fetchOptions","innerRef","loader","onError","onLoad","preProcessor","src","title","uniqueHash","uniquifyIDs");return U1()?g?(0,_r.cloneElement)(g,{ref:n,...K}):[sr.UNSUPPORTED,sr.FAILED].includes(x)?r:s:s}function ST(e){pg||(pg=new t9e);let{loader:t}=e,r=(0,_r.useRef)(!1),[o,a]=(0,_r.useState)(pg.isReady);return(0,_r.useEffect)(()=>{r.current||(pg.onReady(()=>{a(!0)}),r.current=!0)},[]),o?_r.default.createElement(a9e,{...e}):t}var n9e=y(P());var i9e=window.location.hostname.endsWith("iobroker.in"),xae=window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1);function la(e){var t,r,o;if(e.src){if(typeof e.src=="string"){if(e.src.length<3)return e.sx?yu.default.createElement(Je,{component:"span",sx:e.sx,title:e.title||void 0,style:{height:27,marginTop:-8,...e.styleUTF8||e.style},className:ve.clsx(e.className,"iconOwn")},e.src):yu.default.createElement("span",{title:e.title||void 0,style:{height:27,marginTop:-8,...e.styleUTF8||e.style},className:ve.clsx(e.className,"iconOwn")},e.src);if(e.src.startsWith("data:image/svg"))return yu.default.createElement(ST,{title:e.title||void 0,src:e.src,className:ve.clsx(e.className,"iconOwn"),width:((t=e.style)==null?void 0:t.width)||28,height:((r=e.style)==null?void 0:r.height)||((o=e.style)==null?void 0:o.width)||28,style:e.style||void 0});if(i9e&&!e.src.startsWith("http://")&&!e.src.startsWith("https://")){let a=e.src;return a.startsWith("./")?a=xae+a.substring(2):a.startsWith("/")||(a=xae+a),e.sx?yu.default.createElement(Je,{component:"img",sx:e.sx,title:e.title||void 0,style:e.style||void 0,className:ve.clsx(e.className,"iconOwn"),src:`https://remote-files.iobroker.in${a}`,alt:e.alt||void 0,ref:e.ref,onError:n=>e.onError&&e.onError(n)}):yu.default.createElement("img",{title:e.title||void 0,style:e.style||void 0,className:ve.clsx(e.className,"iconOwn"),src:`https://remote-files.iobroker.in${a}`,alt:e.alt||void 0,ref:e.ref,onError:n=>e.onError&&e.onError(n)})}return e.sx?yu.default.createElement(Je,{component:"img",sx:e.sx,title:e.title||void 0,style:e.style||void 0,className:ve.clsx(e.className,"iconOwn"),src:e.src,alt:e.alt||void 0,ref:e.ref,onError:e.onError}):yu.default.createElement("img",{title:e.title||void 0,style:e.style||void 0,className:ve.clsx(e.className,"iconOwn"),src:e.src,alt:e.alt||void 0,ref:e.ref,onError:e.onError})}return e.src}return null}var jr=y(P());var qc={dialog:{height:"100%"},paper:{height:"calc(100% - 64px)"},content:{textAlign:"center"},textarea:{width:"100%",height:"100%"},img:{width:"auto",height:"calc(100% - 5px)",objectFit:"contain"},dialogTitle:{justifyContent:"space-between",display:"flex"}},pa={images:["png","jpg","svg","jpeg","bmp","gif","apng","avif","webp","ico"],code:["js","json","json5","md"],txt:["log","txt","html","css","xml","ics"],audio:["mp3","wav","ogg","acc"],video:["mp4","mov","avi"]};function gae(e,t){let r="",o=new Uint8Array((e==null?void 0:e.data)||e),a=o.byteLength;for(let n=0;n{this.state.changed||(this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.timeout=null,a===null?window.alert("Show file was deleted!"):this.state.text!==null||this.state.code!==null?this.readFile():this.setState({forceUpdate:Date.now()})},300))});let o=ve.getFileExtension(r.href);this.state={text:null,code:null,ext:o,editing:!1,editingValue:null,copyPossible:!!o&&(pa.code.includes(o)||pa.txt.includes(o)),forceUpdate:Date.now(),changed:!1,imgError:!1}}readFile(){if(this.props.href){let r=this.props.href.split("/");r.splice(0,2);let o=r[0],a=r.splice(1).join("/");this.props.socket.readFile(o,a).then(n=>{let s="";n.file!==void 0&&(s=n.file);let i={copyPossible:this.state.copyPossible,ext:this.state.ext};if(s.type==="Buffer")if(a.toLowerCase().endsWith(".json5")){i.ext="json5",i.copyPossible=!0;try{s=atob(gae(s,!0))}catch(p){console.error("Cannot convert base64 to string"),s=""}}else{let p=ve.detectMimeType(gae(s));p&&(i.ext=p,i.copyPossible=pa.code.includes(p)||pa.txt.includes(p))}i.copyPossible&&(i.ext&&pa.txt.includes(i.ext)?(i.text=s,i.editingValue=s):i.ext&&pa.code.includes(i.ext)&&(i.code=s,i.editingValue=s)),this.setState(i)}).catch(n=>window.alert(`Cannot read file: ${n}`))}}componentDidMount(){this.readFile();let r=this.props.href.split("/");r.splice(0,2);let o=r[0],a=r.splice(1).join("/");this.props.supportSubscribes&&this.props.socket.subscribeFiles(o,a,this.onFileChanged).catch(n=>window.alert(`Cannot subscribe on file: ${n}`))}componentWillUnmount(){this.timeout&&(clearTimeout(this.timeout),this.timeout=null);let r=this.props.href.split("/");r.splice(0,2);let o=r[0],a=r.splice(1).join("/");this.props.supportSubscribes&&this.props.socket.subscribeFiles(o,a,this.onFileChanged).catch(n=>window.alert(`Cannot subscribe on file: ${n}`))}getEditorOrViewer(){return jr.default.createElement(Ir,{variant:"standard",style:qc.textarea,multiline:!0,value:this.state.editingValue||this.state.code||this.state.text,slotProps:{htmlInput:{readOnly:!this.state.editing}}})}getContent(){return this.state.ext&&pa.images.includes(this.state.ext)?this.state.imgError?jr.default.createElement(Gc,{style:{...qc.img,...this.props.getStyleBackgroundImage()}}):jr.default.createElement(la,{onError:r=>{r.target.onerror=null,this.setState({imgError:!0})},style:{...qc.img,...this.props.getStyleBackgroundImage()},src:`${this.props.href}?ts=${this.state.forceUpdate}`,alt:this.props.href}):this.state.ext&&pa.audio.includes(this.state.ext)?jr.default.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},jr.default.createElement("audio",{style:{width:"100%"},src:this.props.href,controls:!0})):this.state.ext&&pa.video.includes(this.state.ext)?jr.default.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},jr.default.createElement("video",{style:{width:"100%",height:"100%"},controls:!0},jr.default.createElement("source",{src:this.props.href,type:`video/${this.state.ext}}`}))):this.state.code!==null||this.state.text!==null||this.state.editing?this.getEditorOrViewer():null}onSave(){}render(){return jr.default.createElement(cr,{sx:{"&.MuiDialog-scrollPaper":qc.dialog,"& .MuiDialog-paper":qc.paper},scroll:"paper",open:!!this.props.href,onClose:()=>this.props.onClose(),fullWidth:!0,maxWidth:"xl","aria-labelledby":"ar_dialog_file_view_title"},jr.default.createElement("div",{style:qc.dialogTitle},jr.default.createElement(mr,{id:"ar_dialog_file_view_title"},`${this.props.t(this.state.editing?"Edit":"View")}: ${this.props.href}`),this.state.ext&&pa.images.includes(this.state.ext)&&jr.default.createElement("div",null,jr.default.createElement(dt,{size:"large",color:"inherit",onClick:this.props.setStateBackgroundImage},jr.default.createElement(Lv,null)))),jr.default.createElement(Tr,{style:qc.content},this.getContent()),jr.default.createElement(vr,null,this.state.copyPossible?jr.default.createElement(st,{color:"grey",onClick:r=>{r.stopPropagation(),r.preventDefault(),ve.copyToClipboard(this.state.text||this.state.code||"")},startIcon:jr.default.createElement(SN,null)},this.props.t("Copy content")):null,this.state.editing?jr.default.createElement(st,{color:"grey",disabled:this.state.editingValue===this.state.code||this.state.editingValue===this.state.text,variant:"contained",onClick:()=>this.onSave(),startIcon:jr.default.createElement(Cx,null)},this.props.t("Save")):null,jr.default.createElement(st,{variant:"contained",onClick:()=>this.props.onClose(),color:"primary",startIcon:jr.default.createElement(mo,null)},this.props.t("Close"))))}},XF=Cp()(H1);var dg=32,kp=32,$1=120,yae=64,bae="Not found",G1={all:mO,images:DN,code:wx,txt:EN,audio:cN,video:VN},Re={root:{width:"100%",overflow:"hidden",height:"100%",position:"relative"},filesDiv:{width:"calc(100% - 16px)",overflowX:"hidden",overflowY:"auto",padding:8},filesDivHint:{position:"absolute",bottom:0,left:20,opacity:.7,fontStyle:"italic",fontSize:12},filesDivTable:{height:"calc(100% - 56px)"},filesDivTile:{height:`calc(100% - ${48*2+8}px)`,display:"flex",alignContent:"flex-start",alignItems:"stretch",flexWrap:"wrap",flex:`0 0 ${yae}px`},itemTile:e=>({position:"relative",userSelect:"none",cursor:"pointer",height:$1,width:yae,display:"inline-block",textAlign:"center",opacity:.1,transition:"opacity 1s",margin:"4px",borderRadius:"4px","&:hover":{background:e.palette.secondary.light,color:ve.invertColor(e.palette.secondary.main,!0)}}),itemNameFolderTile:{fontWeight:"bold"},itemNameTile:{width:"100%",height:32,overflow:"hidden",textOverflow:"ellipsis",fontSize:12,textAlign:"center",wordBreak:"break-all"},itemFolderIconTile:e=>({width:"100%",height:$1-32-16-8,display:"block",pl:1,color:e.palette.secondary.main||"#fbff7d"}),itemFolderIconBack:e=>({position:"absolute",top:22,left:18,zIndex:1,color:e.palette.mode==="dark"?"#FFF":"#000"}),itemSizeTile:{width:"100%",height:16,textAlign:"center",fontSize:10},itemImageTile:{width:"calc(100% - 8px)",height:$1-32-16-8,margin:4,display:"block",textAlign:"center",objectFit:"contain"},itemIconTile:{width:"100%",height:$1-32-16-8,display:"block",objectFit:"contain"},itemSelected:e=>({background:e.palette.primary.main,color:ve.invertColor(e.palette.primary.main,!0)}),itemTable:e=>({userSelect:"none",cursor:"pointer",height:dg,display:"inline-flex",lineHeight:`${dg}px`,"&:hover":{background:e.palette.secondary.light,color:ve.invertColor(e.palette.secondary.main,!0)}}),itemNameTable:{display:"inline-block",pl:"10px",fontSize:"1rem",verticalAlign:"top",flexGrow:1,textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden","@media screen and (max-width: 500px)":{textAlign:"end",direction:"rtl"}},itemNameFolderTable:{fontWeight:"bold"},itemSizeTable:{display:"inline-block",width:60,verticalAlign:"top",textAlign:"right",whiteSpace:"nowrap"},itemAccessTable:{verticalAlign:"top",width:60,textAlign:"right",paddingRight:5,display:"flex",justifyContent:"center"},itemImageTable:{display:"inline-block",width:30,marginTop:1,objectFit:"contain",maxHeight:30},itemNoImageTable:{marginTop:6},itemIconTable:{display:"inline-block",marginTop:1,width:30,height:30},itemFolderTable:{},itemFolderTemp:{opacity:.4},itemFolderIconTable:e=>({marginTop:"1px",marginLeft:"8px",display:"inline-block",width:30,height:30,color:e.palette.secondary.main||"#fbff7d"}),itemDownloadButtonTable:e=>({display:"inline-block",width:kp,height:dg,minWidth:kp,verticalAlign:"middle",textAlign:"center",padding:0,borderRadius:`${kp/2}px`,"&:hover":{backgroundColor:e.palette.mode==="dark"?"rgba(255, 255, 255, 0.08)":"rgba(0, 0, 0, 0.08)"},"& span":{pt:"9px"},"& svg":{width:14,height:14,fontSize:"1rem",mt:"-3px",verticalAlign:"middle",color:e.palette.mode==="dark"?"#EEE":"#111"}}),itemDownloadEmptyTable:{display:"inline-block",width:kp,height:dg,minWidth:kp,padding:0},itemAclButtonTable:{width:kp,height:dg,minWidth:kp,verticalAlign:"top",padding:0,fontSize:12,display:"flex"},itemDeleteButtonTable:{display:"inline-block",width:kp,height:dg,minWidth:kp,verticalAlign:"top",padding:0,"& svg":{width:18,height:18,fontSize:"1.5rem"}},uploadDiv:{top:0,zIndex:1,bottom:0,left:0,right:0,position:"absolute",opacity:.9,textAlign:"center",background:"#FFFFFF"},uploadDivDragging:{opacity:1},uploadCenterDiv:e=>({m:"20px",border:"3px dashed grey",borderRadius:"30px",width:"calc(100% - 40px)",height:"calc(100% - 40px)",position:"relative",color:e.palette.mode==="dark"?"#222":"#CCC",display:"flex",alignItems:"center",justifyContent:"center"}),uploadCenterIcon:{width:"25%",height:"25%"},uploadCenterText:{fontSize:24,fontWeight:"bold"},uploadCloseButton:{zIndex:2,position:"absolute",top:30,right:30},uploadCenterTextAndIcon:{position:"absolute",height:"30%",width:"100%",margin:"auto",opacity:.3},menuButtonExpertActive:{color:"#c00000"},menuButtonRestrictActive:{color:"#c05000"},pathDiv:e=>({display:"flex",width:"calc(100% - 16px)",ml:1,mr:1,textOverflow:"clip",overflow:"hidden",whiteSpace:"nowrap",backgroundColor:e.palette.secondary.main}),pathDivInput:{width:"100%"},pathDivBreadcrumbDir:e=>({pl:"2px",pr:"2px",cursor:"pointer","&:hover":{background:e.palette.primary.main}}),pathDivBreadcrumbSelected:{},backgroundImageLight:{background:"white"},backgroundImageDark:{background:"black"},backgroundImageColored:{background:"silver"},specialFolder:e=>({color:e.palette.mode==="dark"?"#229b0f":"#5dd300"}),tooltip:{pointerEvents:"none"}},bu="0_userdata.0";function ug(e){let t=(e||"").split("/");return t.length&&t.pop(),t.join("/")}function JF(e){let t=ve.getFileExtension(e);return!!(t!=null&&t.toLowerCase().match(/[a-z]+/)&&t.length<5)}var $t="Table",YF="Tile";function vae(e,t){return e.folder&&t.folder?e.name>t.name?1:e.namet.name?1:e.name{let n=`${r}/${o}`,s=n.lastIndexOf("/"),i=n.substring(0,s);console.log(`File changed ${n}[${a}]`),this.state.folders[i]&&(this._tempTimeout[i]&&clearTimeout(this._tempTimeout[i]),this._tempTimeout[i]=setTimeout(()=>{delete this._tempTimeout[i],this.browseFolder(i,null,!1,!0).then(p=>this.setState({folders:p})).catch(p=>console.error(`Cannot read folder: ${p.message}`))},300))});A(this,"setStateBackgroundImage",()=>{let r=["light","dark","colored","delete"];this.setState(({backgroundImage:o})=>o&&r.indexOf(o)!==-1&&r.length-1!==r.indexOf(o)?(this.localStorage.setItem("files.backgroundImage",r[r.indexOf(o)+1]),{backgroundImage:r[r.indexOf(o)+1]}):(this.localStorage.setItem("files.backgroundImage",r[0]),{backgroundImage:r[0]}))});A(this,"getStyleBackgroundImage",()=>{switch(this.state.backgroundImage){case"light":return Re.backgroundImageLight;case"dark":return Re.backgroundImageDark;case"colored":return Re.backgroundImageColored;case"delete":return null;default:return null}});this.localStorage=window._localStorage||window.localStorage;let o=this.localStorage.getItem("files.expanded")||"[]";if(this.props.limitPath){let l=this.props.limitPath.split("/");this.limitToObjectID=l[0],this.limitToPath=l.length?l.length===1&&l[0]===""?null:l.join("/"):null,this.limitToPath&&this.limitToPath.endsWith("/")&&this.limitToPath.substring(0,this.limitToPath.length-1)}let a;try{a=JSON.parse(o),this.limitToPath&&(a=a.filter(l=>{var d;return l.startsWith(`${this.limitToPath}/`)||l===this.limitToPath||((d=this.limitToPath)==null?void 0:d.startsWith(`${l}/`))}))}catch(l){a=[]}let n;this.props.showViewTypeButton?n=this.localStorage.getItem("files.viewType")||$t:n=$t;let s=this.props.selected||this.localStorage.getItem("files.selected")||bu,i;if(r.restrictToFolder){s=r.restrictToFolder,i=r.restrictToFolder;let l=r.restrictToFolder.split("/");a=[];let d="";for(let u=0;u{if(this.state.viewType===$t&&!this.findItem(this.state.selected)){let o=this.state.selected.split("/");for(;o.length&&!this.findItem(o.join("/"));)o.pop();let a;o.length?a=o.join("/"):a=bu,this.setState({selected:a,path:a,pathFocus:!1},()=>this.scrollToSelected())}else this.scrollToSelected();this.initialReadFinished=!0})}scrollToSelected(){if(this.mounted){let r=document.getElementById(this.state.selected);r==null||r.scrollIntoView()}}async componentDidMount(){this.mounted=!0,this.loadFolders().catch(r=>console.error(`Cannot load folders: ${r}`)),this.supportSubscribes=await this.props.socket.checkFeatureSupported("BINARY_STATE_EVENT"),this.supportSubscribes&&await this.props.socket.subscribeFiles("*","*",this.onFileChange)}componentWillUnmount(){this.supportSubscribes&&this.props.socket.unsubscribeFiles("*","*",this.onFileChange),this.mounted=!1,this.browseList=null,this.browseListRunning=!1,Object.values(this._tempTimeout).forEach(r=>r&&clearTimeout(r)),this._tempTimeout={}}browseFoldersCb(r,o,a){if(!(r!=null&&r.length))a(o);else{let n=r.shift();n?this.browseFolder(n,o).catch(s=>console.error(`Cannot read folder ${n}: ${s.message}`)).then(()=>{setTimeout(()=>this.browseFoldersCb(r,o,a),0)}):setTimeout(()=>this.browseFoldersCb(r,o,a),0)}}browseFolders(r,o){let a;return o?a=o:(a={},Object.keys(this.state.folders).forEach(n=>a[n]=this.state.folders[n])),r!=null&&r.length?new Promise(n=>{this.browseFoldersCb(r,a,n)}):Promise.resolve(a)}readDirSerial(r,o){return new Promise((a,n)=>{this.browseList&&(this.browseList.push({resolve:a,reject:n,adapter:r,relPath:o}),this.browseListRunning||this.processBrowseList())})}processBrowseList(r=0){!this.browseListRunning&&this.browseList&&this.browseList.length&&(this.browseListRunning=!0,this.browseList.length>10?this.browseList.length%10||this.setState({queueLength:this.browseList.length}):this.setState({queueLength:this.browseList.length}),this.browseList[0].processing=!0,this.props.socket.readDir(this.browseList[0].adapter,this.browseList[0].relPath).then(o=>{if(this.browseList){let a=this.browseList.shift();if(a){let n=a.resolve;a.resolve=null,a.reject=null,a.adapter=null,a.relPath=null,n&&n(o),this.browseListRunning=!1,this.browseList.length?r<5?this.processBrowseList(r+1):setTimeout(()=>this.processBrowseList(0),0):this.setState({queueLength:0})}else this.setState({queueLength:0})}}).catch(o=>{if(this.browseList){let a=this.browseList.shift();if(a){let n=a.reject;a.resolve=null,a.reject=null,a.adapter=null,a.relPath=null,n&&n(o),this.browseListRunning=!1,this.browseList.length?r<5?this.processBrowseList(r+1):setTimeout(()=>this.processBrowseList(0),0):this.setState({queueLength:0})}else this.setState({queueLength:0})}}))}async browseFolder(r,o,a,n){let s;if(o?s=o:(s={},Object.keys(this.state.folders).forEach(f=>{s[f]=this.state.folders[f]})),s[r]&&!n)return a?Promise.resolve(s):new Promise((f,c)=>{Promise.all(s[r].filter(m=>m.folder).map(m=>this.browseFolder(m.id,s,!0).catch(()=>{}))).then(()=>f(s)).catch(m=>c(new Error(m)))});if(!r||r==="/"){try{let f=await this.props.socket.readMetaItems(),c=[],m=null;if(this.state.restrictToFolder){let h=this.state.restrictToFolder.split("/")[0];f=f.filter(x=>x._id===h)}else this.state.expertMode||(f=f.filter(h=>!h._id.endsWith(".admin")));let g=f.findIndex(h=>h._id==="system.meta.uuid");if(g!==-1&&f.splice(g,1),f.forEach(h=>{if(this.limitToObjectID&&this.limitToObjectID!==h._id)return;let x={id:h._id,name:h._id,title:h.common&&h.common.name||h._id,meta:!0,from:h.from,ts:h.ts,color:h.common&&h.common.color,icon:h.common&&h.common.icon,folder:!0,acl:h.acl,level:0};x.id===bu?m=x:c.push(x)}),c.sort((h,x)=>h.id>x.id?1:h.idh.folder).map(h=>this.browseFolder(h.id,s,!0).catch(()=>{}))).then(()=>s)}catch(f){let c=f;this.initialReadFinished&&window.alert(`Cannot read meta items: ${c.message}`),s[r||"/"]=[]}return s}let i=r.split("/"),p=i.length,l=i.shift(),d=i.join("/"),u;try{u=await this.readDirSerial(l||"",d)}catch(f){if(f==="Not exists"&&l==="0_userdata.0")u=[];else throw f}try{let f=[];if(u.forEach(c=>{var g;let m={id:`${r}/${c.file}`,ext:ve.getFileExtension(c.file),folder:c.isDir,name:c.file,size:(g=c.stats)==null?void 0:g.size,modified:c.modifiedAt,acl:c.acl,level:p};this.state.restrictToFolder?(m.folder&&(m.id.startsWith(`${this.state.restrictToFolder}/`)||m.id===this.state.restrictToFolder||this.state.restrictToFolder.startsWith(`${m.id}/`))||m.id.startsWith(`${this.state.restrictToFolder}/`))&&f.push(m):this.limitToPath?(m.folder&&(m.id.startsWith(`${this.limitToPath}/`)||m.id===this.limitToPath||this.limitToPath.startsWith(`${m.id}/`))||m.id.startsWith(`${this.limitToPath}/`))&&f.push(m):f.push(m)}),f.sort(vae),s[r]=f,!a)return Promise.all(f.filter(c=>c.folder).map(c=>this.browseFolder(c.id,s,!0))).then(()=>s)}catch(f){let c=f;this.initialReadFinished&&window.alert(`Cannot read ${l}${d?`/${d}`:""}: ${c==null?void 0:c.message}`),s[r]=[]}return s}toggleFolder(r,o){o==null||o.stopPropagation();let a=[...this.state.expanded],n=a.indexOf(r.id);n===-1?(a.push(r.id),a.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(a)),r.temp?this.setState({expanded:a}):this.browseFolder(r.id).then(s=>this.setState({expanded:a,folders:s})).catch(s=>window.alert(s===bae?this.props.t('ra_Cannot find "%s"',r.id):this.props.t('ra_Cannot read "%s"',r.id)))):(a.splice(n,1),this.localStorage.setItem("files.expanded",JSON.stringify(a)),this.setState({expanded:a}))}changeFolder(r,o){r==null||r.stopPropagation(),this.lastSelect=Date.now();let a=o||ug(this.state.currentDir);if(a==="/"&&(a=""),this.localStorage.setItem("files.currentDir",a),o&&r&&(r.altKey||r.shiftKey||r.ctrlKey||r.metaKey)){this.setState({selected:a});return}if(a&&!this.state.folders[a]){this.browseFolder(a).then(n=>this.setState({folders:n,path:a,currentDir:a,selected:a,pathFocus:!1},()=>this.props.onSelect&&this.props.onSelect(""))).catch(n=>console.error(`Cannot read folder: ${n.message}`));return}this.setState({currentDir:a,selected:a,path:a,pathFocus:!1},()=>this.props.onSelect&&this.props.onSelect(""))}select(r,o,a){o&&o.stopPropagation(),this.lastSelect=Date.now(),this.localStorage.setItem("files.selected",r),this.setState({selected:r,path:r,pathFocus:!1},()=>{if(this.props.onSelect){let n=ve.getFileExtension(r);(!this.props.filterFiles||n&&this.props.filterFiles.includes(n))&&(!this.state.filterByType||n&&pa[this.state.filterByType].includes(n))?this.props.onSelect(r,!1,!!this.state.folders[r]):this.props.onSelect("")}a&&a()})}getText(r){if(r)return typeof r=="object"?r[this.props.lang]||r.en||void 0:r}renderFolder(r,o){if(this.state.viewType===$t&&this.state.filterEmpty&&(!this.state.folders[r.id]||!this.state.folders[r.id].length)&&r.id!==bu&&!r.temp)return null;let a=o?$c:Op,n=this.state.viewType===$t?r.level*this.levelPadding:0,s=r.name===bu,i=s||r.name==="vis.0"||r.name==="vis-2.0",p=ve.getStyle(this.props.theme,Re[`itemFolderIcon${this.state.viewType}`],i&&Re.specialFolder);return me.default.createElement(Je,{component:"div",key:r.id,id:r.id,style:this.state.viewType===$t?{marginLeft:n,width:`calc(100% - ${n}px`}:{},onClick:l=>this.state.viewType===$t?this.select(r.id,l):this.changeFolder(l,r.id),onDoubleClick:l=>this.state.viewType===$t&&this.toggleFolder(r,l),title:this.getText(r.title),className:"browserItem",sx:ve.getStyle(this.props.theme,Re[`item${this.state.viewType}`],Re[`itemFolder${this.state.viewType}`],this.state.selected===r.id?Re.itemSelected:{},r.temp?Re.itemFolderTemp:{})},me.default.createElement(a,{style:p,onClick:this.state.viewType===$t?l=>this.toggleFolder(r,l):void 0}),me.default.createElement(Je,{component:"div",sx:ve.getStyle(this.props.theme,Re[`itemName${this.state.viewType}`],Re[`itemNameFolder${this.state.viewType}`])},s?this.props.t("ra_User files"):r.name),me.default.createElement(Je,{component:"div",style:Re[`itemSize${this.state.viewType}`],sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===$t&&this.state.folders[r.id]?this.state.folders[r.id].length:""),me.default.createElement(Je,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===$t&&this.props.expertMode?this.formatAcl(r.acl):null),this.state.viewType===$t&&this.props.expertMode?me.default.createElement(Je,{component:"div",sx:{...Re.itemDeleteButtonTable,display:{md:"inline-block",sm:"none"}}}):null,this.state.viewType===$t&&this.props.allowDownload?me.default.createElement("div",{style:Re[`itemDownloadEmpty${this.state.viewType}`]}):null,this.state.viewType===$t&&this.props.allowDelete&&this.state.folders[r.id]&&this.state.folders[r.id].length?me.default.createElement(dt,{"aria-label":"delete",onClick:l=>{l.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(r.id):this.setState({deleteItem:r.id})},sx:Re[`itemDeleteButton${this.state.viewType}`],size:"large"},me.default.createElement(Si,{fontSize:"small"})):this.state.viewType===$t&&this.props.allowDelete?me.default.createElement(Je,{component:"div",sx:Re[`itemDeleteButton${this.state.viewType}`]}):null)}renderBackFolder(){return me.default.createElement(Je,{component:"div",key:this.state.currentDir,id:this.state.currentDir,onClick:r=>this.changeFolder(r),title:this.props.t("ra_Back to %s",ug(this.state.currentDir)),className:"browserItem",sx:ve.getStyle(this.props.theme,Re[`item${this.state.viewType}`],Re[`itemFolder${this.state.viewType}`])},me.default.createElement(Op,{style:ve.getStyle(this.props.theme,Re[`itemFolderIcon${this.state.viewType}`])}),me.default.createElement(uN,{sx:Re.itemFolderIconBack}),me.default.createElement(Je,{component:"div",sx:ve.getStyle(this.props.theme,Re[`itemName${this.state.viewType}`],Re[`itemNameFolder${this.state.viewType}`])},".."))}formatSize(r){return me.default.createElement("div",{style:Re[`itemSize${this.state.viewType}`]},r||r===0?ve.formatBytes(r):"")}formatAcl(r){let o=r?r.permissions||r.file:0,a;return o?a=o.toString(16).padStart(3,"0"):a="",me.default.createElement("div",{style:Re[`itemAccess${this.state.viewType}`]},this.props.modalEditOfAccessControl?me.default.createElement(dt,{size:"large",onClick:()=>this.setState({modalEditOfAccess:!0}),sx:Re[`itemAclButton${this.state.viewType}`]},a||"---"):a||"---")}getFileIcon(r){switch(r){case"json":case"json5":return me.default.createElement(xN,{style:Re[`itemIcon${this.state.viewType}`]});case"css":return me.default.createElement(gN,{style:Re[`itemIcon${this.state.viewType}`]});case"js":case"ts":return me.default.createElement(wx,{style:Re[`itemIcon${this.state.viewType}`]});case"html":case"md":return me.default.createElement(_x,{style:Re[`itemIcon${this.state.viewType}`]});case"mp3":case"ogg":case"wav":case"m4a":case"mp4":case"flac":return me.default.createElement(BN,{style:Re[`itemIcon${this.state.viewType}`]});default:return me.default.createElement(mO,{style:Re[`itemIcon${this.state.viewType}`]})}}static getEditFile(r){switch(r){case"json":case"json5":case"js":case"html":case"txt":case"css":case"log":return!0;default:return!1}}renderFile(r){let o=this.state.viewType===$t?r.level*this.levelPadding:0,a=ve.getFileExtension(r.name);return me.default.createElement(Je,{component:"div",key:r.id,id:r.id,onDoubleClick:n=>{n.stopPropagation(),this.props.onSelect?(!this.props.filterFiles||r.ext&&this.props.filterFiles.includes(r.ext))&&(!this.state.filterByType||r.ext&&pa[this.state.filterByType].includes(r.ext))&&this.props.onSelect(r.id,!0,!!this.state.folders[r.id]):this.setState({viewer:this.imagePrefix+r.id,formatEditFile:a})},onClick:n=>this.select(r.id,n),style:this.state.viewType===$t?{marginLeft:o,width:`calc(100% - ${o}px)`}:{},className:"browserItem",sx:ve.getStyle(this.props.theme,Re[`item${this.state.viewType}`],Re[`itemFile${this.state.viewType}`],this.state.selected===r.id?Re.itemSelected:void 0)},a&&pa.images.includes(a)?this.state.fileErrors.includes(r.id)?me.default.createElement(Gc,{style:{...Re[`itemImage${this.state.viewType}`],...this.getStyleBackgroundImage(),...Re[`itemNoImage${this.state.viewType}`]}}):me.default.createElement(la,{onError:n=>{n.target.onerror=null;let s=[...this.state.fileErrors];s.includes(r.id)||(s.push(r.id),this.setState({fileErrors:s}))},style:{...Re[`itemImage${this.state.viewType}`],...this.getStyleBackgroundImage()},src:this.imagePrefix+r.id,alt:r.name}):this.getFileIcon(a),me.default.createElement(Je,{component:"div",sx:Re[`itemName${this.state.viewType}`]},r.name),me.default.createElement(Je,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.formatSize(r.size)),me.default.createElement(Je,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===$t&&this.props.expertMode?this.formatAcl(r.acl):null),me.default.createElement(Je,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===$t&&this.props.expertMode&&e.getEditFile(a)?me.default.createElement(dt,{"aria-label":"edit",onClick:n=>{n.stopPropagation(),this.props.onSelect?(!this.props.filterFiles||r.ext&&this.props.filterFiles.includes(r.ext))&&(!this.state.filterByType||r.ext&&pa[this.state.filterByType].includes(r.ext))&&this.props.onSelect(r.id,!0,!!this.state.folders[r.id]):this.setState({viewer:this.imagePrefix+r.id,formatEditFile:a})},sx:Re.itemDeleteButtonTable,size:"large"},me.default.createElement(wc,{fontSize:"small"})):me.default.createElement(Je,{component:"div",sx:Re[`itemDeleteButton${this.state.viewType}`]})),this.state.viewType===$t&&this.props.allowDownload?me.default.createElement(Je,{component:"a",className:"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeLarge",sx:Re.itemDownloadButtonTable,tabIndex:0,download:r.id,href:this.imagePrefix+r.id,onClick:n=>n.stopPropagation()},me.default.createElement(jN,null)):null,this.state.viewType===$t&&this.props.allowDelete&&r.id!=="vis.0/"&&r.id!=="vis-2.0/"&&r.id!==bu?me.default.createElement(dt,{"aria-label":"delete",onClick:n=>{n.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(r.id):this.setState({deleteItem:r.id})},sx:Re[`itemDeleteButton${this.state.viewType}`],size:"large"},me.default.createElement(Si,{fontSize:"small"})):this.state.viewType===$t&&this.props.allowDelete?me.default.createElement(Je,{component:"div",sx:Re[`itemDeleteButton${this.state.viewType}`]}):null)}renderItems(r){if(this.state.folders&&this.state.folders[r]){if(this.state.viewType===YF){let a=[];return r&&r!=="/"&&a.push(this.renderBackFolder()),this.state.folders[r].forEach(n=>{n.folder?a.push(this.renderFolder(n)):(!this.props.filterFiles||n.ext&&this.props.filterFiles.includes(n.ext))&&(!this.state.filterByType||n.ext&&pa[this.state.filterByType].includes(n.ext))&&a.push(this.renderFile(n))}),a}let o=[];return this.state.folders[r].forEach(a=>{if(a.folder){let n=this.state.expanded.includes(a.id),s=this.renderFolder(a,n);if(Array.isArray(s)?s.forEach(i=>o.push(i)):o.push(s),this.state.folders[a.id]&&n){let i=this.renderItems(a.id);Array.isArray(i)?i.forEach(p=>o.push(p)):o.push(i)}}else(!this.props.filterFiles||a.ext&&this.props.filterFiles.includes(a.ext))&&(!this.state.filterByType||a.ext&&pa[this.state.filterByType].includes(a.ext))&&o.push(this.renderFile(a))}),o}return me.default.createElement("div",{style:{position:"relative"}},me.default.createElement(lx,{key:r,color:"secondary",size:24}),me.default.createElement("div",{style:{position:"absolute",zIndex:2,top:4,width:24,textAlign:"center"}},this.state.queueLength))}renderToolbar(){let r=this.props.showTypeSelector?G1[this.state.filterByType||"all"]||G1.all:null,o=this.findFirstFolder(this.state.selected);return me.default.createElement(Sx,{key:"toolbar",variant:"dense"},this.props.allowNonRestricted&&this.props.restrictToFolder?me.default.createElement(dt,{edge:"start",title:this.state.restrictToFolder?this.props.t("ra_Show all folders"):this.props.t("ra_Restrict to folder"),style:{...Re.menuButton,...this.state.restrictToFolder?Re.menuButtonRestrictActive:void 0},"aria-label":"restricted to folder",onClick:()=>this.setState({restrictToFolder:(this.state.restrictToFolder?"":this.props.restrictToFolder)||"",loadAllFolders:!0}),size:"small"},me.default.createElement(kN,{fontSize:"small"})):null,this.props.showExpertButton?me.default.createElement(dt,{edge:"start",title:this.props.t("ra_Toggle expert mode"),style:{...Re.menuButton,...this.state.expertMode?Re.menuButtonExpertActive:void 0},"aria-label":"expert mode",onClick:()=>this.setState({expertMode:!this.state.expertMode}),size:"small"},me.default.createElement(lg,null)):null,this.props.showViewTypeButton?me.default.createElement(dt,{edge:"start",title:this.props.t("ra_Toggle view mode"),style:Re.menuButton,"aria-label":"view mode",onClick:()=>{let a=this.state.viewType===$t?YF:$t;this.localStorage.setItem("files.viewType",a);let n=this.state.selected;JF(n)&&(n=ug(n)),this.setState({viewType:a,currentDir:n},()=>{this.state.viewType===$t&&this.scrollToSelected()})},size:"small"},this.state.viewType!==$t?me.default.createElement(NN,{fontSize:"small"}):me.default.createElement($N,{fontSize:"small"})):null,me.default.createElement(dt,{edge:"start",title:this.props.t("ra_Hide empty folders"),style:Re.menuButton,color:this.state.filterEmpty?"secondary":"inherit","aria-label":"filter empty",onClick:()=>{this.localStorage.setItem("file.empty",this.state.filterEmpty?"false":"true"),this.setState({filterEmpty:!this.state.filterEmpty})},size:"small"},me.default.createElement(ON,{fontSize:"small"})),me.default.createElement(dt,{edge:"start",title:this.props.t("ra_Reload files"),style:Re.menuButton,color:"inherit","aria-label":"reload files",onClick:()=>this.setState({folders:{}},()=>this.loadFolders()),size:"small"},me.default.createElement(Wv,{fontSize:"small"})),this.props.allowCreateFolder?me.default.createElement(dt,{edge:"start",disabled:!this.state.selected||!o||!!this.limitToPath&&!this.state.selected.startsWith(`${this.limitToPath}/`)&&this.limitToPath!==this.state.selected,title:this.props.t("ra_Create folder"),style:Re.menuButton,color:"inherit","aria-label":"add folder",onClick:()=>this.setState({addFolder:!0}),size:"small"},me.default.createElement(zv,{fontSize:"small"})):null,this.props.allowUpload?me.default.createElement(dt,{edge:"start",disabled:!this.state.selected||!o||!!this.limitToPath&&!this.state.selected.startsWith(`${this.limitToPath}/`)&&this.limitToPath!==this.state.selected,title:this.props.t("ra_Upload file"),style:Re.menuButton,color:"inherit","aria-label":"upload file",onClick:()=>this.setState({uploadFile:!0}),size:"small"},me.default.createElement(_c,{fontSize:"small"})):null,this.props.showTypeSelector&&r?me.default.createElement(to,{title:this.props.t("ra_Filter files"),slotProps:{popper:{sx:Re.tooltip}}},me.default.createElement(dt,{size:"small",onClick:a=>this.setState({showTypesMenu:a.target})},me.default.createElement(r,{fontSize:"small"}))):null,this.state.showTypesMenu?me.default.createElement(cl,{open:!0,anchorEl:this.state.showTypesMenu,onClose:()=>this.setState({showTypesMenu:null})},Object.keys(G1).map(a=>{let n=G1[a];return me.default.createElement(Vt,{key:a,selected:this.state.filterByType===a,onClick:()=>{a==="all"?(this.localStorage.removeItem("files.filterByType"),this.setState({filterByType:"",showTypesMenu:null})):(this.localStorage.setItem("files.filterByType",a),this.setState({filterByType:a,showTypesMenu:null}))}},me.default.createElement(fl,null,me.default.createElement(n,{fontSize:"small"})),me.default.createElement(Us,null,this.props.t(`ra_fileType_${a}`)))})):null,me.default.createElement(to,{title:this.props.t("ra_Background image"),slotProps:{popper:{sx:Re.tooltip}}},me.default.createElement(dt,{color:"inherit",edge:"start",style:Re.menuButton,onClick:this.setStateBackgroundImage,size:"small"},me.default.createElement(Lv,{fontSize:"small"}))),this.state.viewType!==$t&&this.props.allowDelete?me.default.createElement(to,{title:this.props.t("ra_Delete"),slotProps:{popper:{sx:Re.tooltip}}},me.default.createElement("span",null,me.default.createElement(dt,{"aria-label":"delete",disabled:!this.state.selected||this.state.selected==="vis.0/"||this.state.selected==="vis-2.0/"||this.state.selected===bu,color:"inherit",edge:"start",style:Re.menuButton,onClick:a=>{a.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(this.state.selected):this.setState({deleteItem:this.state.selected})},size:"small"},me.default.createElement(Si,{fontSize:"small"})))):null)}findItem(r,o){if(o=o||this.state.folders,!o)return null;let a=r.split("/");a.pop();let n=a.join("/")||"/";return o[n]&&o[n].find(s=>s.id===r)||null}renderInputDialog(){if(this.state.addFolder){let r=this.findFirstFolder(this.state.selected);return r?me.default.createElement(B1,{key:"inputDialog",applyText:this.props.t("ra_Create"),cancelText:this.props.t("ra_Cancel"),titleText:this.props.t("ra_Create new folder in %s",this.state.selected),promptText:this.props.t("ra_If no file will be created in the folder, it will disappear after the browser closed"),labelText:this.props.t("ra_Folder name"),verify:o=>this.state.folders[r].find(a=>a.name===o)?"":this.props.t("ra_Duplicate name"),onClose:o=>{if(o){let a={};Object.keys(this.state.folders).forEach(p=>a[p]=this.state.folders[p]);let n=this.findItem(r),s=`${r}/${o}`;a[r].push({id:s,level:((n==null?void 0:n.level)||0)+1,name:o,folder:!0,temp:!0}),a[r].sort(vae),a[s]=[];let i=[...this.state.expanded];i.includes(r)||(i.push(r),i.sort()),this.localStorage.setItem("files.expanded",JSON.stringify(i)),this.setState({addFolder:!1,folders:a,expanded:i},()=>this.select(s))}else this.setState({addFolder:!1})},replace:o=>o.replace(/[^-_\w]/,"_")}):(window.alert(this.props.t("ra_Invalid parent folder!")),null)}return null}componentDidUpdate(){this.setOpacityTimer&&clearTimeout(this.setOpacityTimer),this.setOpacityTimer=setTimeout(()=>{this.setOpacityTimer=null;let r=window.document.getElementsByClassName("browserItem");for(let o=0;othis.setState({uploadFile:!1})},me.default.createElement(mo,null)),me.default.createElement(sae,{key:"dropzone",onDragEnter:()=>this.setState({uploadFile:"dragging"}),onDragLeave:()=>this.setState({uploadFile:!0}),onDrop:r=>{let o=r.length;r.forEach(a=>{let n=new FileReader;n.onabort=()=>console.log("file reading was aborted"),n.onerror=()=>console.log("file reading has failed"),n.onload=()=>{let s=this.findFirstFolder(this.state.selected);if(!s)window.alert(this.props.t("ra_Invalid parent folder!"));else{let i=`${s}/${a.name}`;this.uploadFile(i,n.result).then(()=>{--o||this.setState({uploadFile:!1},()=>{if(this.supportSubscribes){let p=[...this.state.expanded];p.includes(s)||(p.push(s),p.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(p))),this.setState({expanded:p},()=>this.select(i))}else setTimeout(()=>this.browseFolder(s,null,!1,!0).then(p=>{let l=[...this.state.expanded];l.includes(s)||(l.push(s),l.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(l))),this.setState({folders:p,expanded:l},()=>this.select(i))}),500)})})}},n.readAsArrayBuffer(a)})}},({getRootProps:r,getInputProps:o})=>me.default.createElement("div",{style:{...Re.uploadDiv,...this.state.uploadFile==="dragging"?Re.uploadDivDragging:void 0},...r()},me.default.createElement("input",{...o()}),me.default.createElement(Je,{component:"div",sx:Re.uploadCenterDiv},me.default.createElement("div",{style:Re.uploadCenterTextAndIcon},me.default.createElement(_c,{style:Re.uploadCenterIcon}),me.default.createElement("div",{style:Re.uploadCenterText},this.state.uploadFile==="dragging"?this.props.t("ra_Drop file here"):this.props.t("ra_Place your files here or click here to open the browse dialog"))))))]:null}deleteRecursive(r){let o=this.findItem(r);if(o!=null&&o.folder)return(this.state.folders[r]?Promise.all(this.state.folders[r].map(s=>this.deleteRecursive(s.id))):Promise.resolve()).then(()=>{if(o.level>=1){let s=r.split("/"),i=s.shift();this.props.socket.deleteFolder(i||"",s.join("/")).then(()=>{let p=JSON.parse(JSON.stringify(this.state.folders));delete p[o.id];let l=ug(o.id),d=p[l];if(d){let u=d.findIndex(f=>f.id===o.id);u!==-1&&d.splice(u,1),this.select(l,null,()=>this.setState({folders:p}))}})}});let a=r.split("/"),n=a.shift();return a.length?this.props.socket.deleteFile(n||"",a.join("/")).catch(s=>window.alert(`Cannot delete file: ${s}`)):Promise.resolve()}deleteItem(r){r=r||this.state.deleteItem,this.setState({deleteItem:""},()=>this.deleteRecursive(r).then(()=>{let o={},a=this.state.expanded.indexOf(r);if(a!==-1){let n=[...this.state.expanded];n.splice(a,1),this.localStorage.setItem("files.expanded",JSON.stringify(n)),o.expanded=n}if(this.state.selected===r){let n=this.state.selected.split("/");n.pop(),o.selected=n.join("/")}if(this.supportSubscribes)this.setState(o);else{let n=this.findFirstFolder(r),s={};Object.keys(this.state.folders).forEach(i=>{i!==n&&!i.startsWith(`${n}/`)&&(s[i]=this.state.folders[i])}),o.folders=s,this.setState(o,()=>setTimeout(()=>{this.browseFolders([...this.state.expanded],s).then(i=>this.setState({folders:i})).catch(i=>console.error(i))},200))}}))}renderDeleteDialog(){return this.state.deleteItem?me.default.createElement(cr,{key:"deleteDialog",open:!0,onClose:()=>this.setState({deleteItem:""}),"aria-labelledby":"ar_dialog_file_delete_title"},me.default.createElement(mr,{id:"ar_dialog_file_delete_title"},this.props.t("ra_Confirm deletion of %s",this.state.deleteItem.split("/").pop())),me.default.createElement(Tr,null,me.default.createElement(_n,null,this.props.t("ra_Are you sure?"))),me.default.createElement(vr,null,me.default.createElement(st,{color:"grey",variant:"contained",onClick:()=>{this.suppressDeleteConfirm=Date.now()+6e4*5,this.deleteItem("")}},this.props.t("ra_Delete (no confirm for 5 mins)")),me.default.createElement(st,{variant:"contained",onClick:()=>this.deleteItem(""),color:"primary",autoFocus:!0},this.props.t("ra_Delete")),me.default.createElement(st,{variant:"contained",onClick:()=>this.setState({deleteItem:""}),color:"grey"},this.props.t("ra_Cancel")))):null}renderViewDialog(){let r=this.props.FileViewer||XF;return this.state.viewer?me.default.createElement(r,{supportSubscribes:this.supportSubscribes,key:this.state.viewer,href:this.state.viewer,formatEditFile:this.state.formatEditFile,themeType:this.props.themeType,setStateBackgroundImage:this.setStateBackgroundImage,getStyleBackgroundImage:this.getStyleBackgroundImage,t:this.props.t,socket:this.props.socket,onClose:()=>this.setState({viewer:"",formatEditFile:""})}):null}renderError(){return this.state.errorText?me.default.createElement(jd,{key:"errorDialog",text:this.state.errorText,onClose:()=>this.setState({errorText:""})}):null}updateItemsAcl(r){this.cacheFolders=this.cacheFolders||JSON.parse(JSON.stringify(this.state.folders));let o;r.forEach(a=>{let n=this.findItem(a.id,this.cacheFolders);n&&JSON.stringify(n.acl)!==JSON.stringify(a.acl)&&(n.acl=a.acl,o=!0)}),o&&(this.cacheFoldersTimeout&&clearTimeout(this.cacheFoldersTimeout),this.cacheFoldersTimeout=setTimeout(()=>{this.cacheFoldersTimeout=null;let a=this.cacheFolders||{};this.cacheFolders=null,this.setState({folders:a})},200))}changeToPath(){setTimeout(()=>{if(this.state.path!==this.state.selected&&(!this.lastSelect||Date.now()-this.lastSelect>100)){let r=this.state.path;JF(this.state.path)&&(r=ug(this.state.path)),new Promise(o=>{this.state.folders[r]?o(!0):this.browseFolder(r).then(a=>this.setState({folders:a},()=>o(!0))).catch(a=>this.setState({errorText:a===bae?this.props.t('ra_Cannot find "%s"',r):this.props.t('ra_Cannot read "%s"',r)}))}).then(o=>o&&this.setState({selected:this.state.path,currentDir:r,pathFocus:!1})).catch(o=>console.error(o))}else(!this.lastSelect||Date.now()-this.lastSelect>100)&&this.setState({pathFocus:!1})},100)}renderBreadcrumb(){let r=this.state.currentDir.startsWith("/")?this.state.currentDir.split("/"):`/${this.state.currentDir}`.split("/"),o=[];return me.default.createElement(NC,{style:{paddingLeft:8}},r.map((a,n)=>{a&&o.push(a);let s=o.join("/");return nthis.changeFolder(i,s||"/")},a||this.props.t("ra_Root")):me.default.createElement("div",{style:Re.pathDivBreadcrumbSelected,key:`${this.state.selected}_${n}`,onClick:()=>this.setState({pathFocus:!0})},a)}))}renderPath(){return me.default.createElement(Je,{component:"div",key:"path",sx:Re.pathDiv},this.state.pathFocus?me.default.createElement(va,{value:this.state.path,onKeyDown:r=>{r.key==="Enter"?this.changeToPath():r.key==="Escape"&&this.setState({pathFocus:!1})},endAdornment:me.default.createElement(dt,{size:"small",onClick:()=>this.changeToPath()},me.default.createElement(MN,null)),onBlur:()=>this.changeToPath(),onChange:r=>this.setState({path:r.target.value}),style:Re.pathDivInput}):this.renderBreadcrumb())}render(){return this.props.ready?(this.state.loadAllFolders&&!this.foldersLoading&&(this.foldersLoading=!0,setTimeout(()=>{this.setState({loadAllFolders:!1,folders:{}},()=>{this.foldersLoading=!1,this.loadFolders().catch(r=>console.error(`Cannot load folders: ${r}`))})},300)),me.default.createElement("div",{style:{...Re.root,...this.props.style},className:this.props.className},this.props.showToolbar?this.renderToolbar():null,this.state.viewType===YF?this.renderPath():null,me.default.createElement("div",{style:{...Re.filesDiv,...Re[`filesDiv${this.state.viewType}`]},onClick:r=>{this.state.viewType!==$t&&(this.state.selected!==(this.state.currentDir||"/")?this.changeFolder(r,this.state.currentDir||"/"):r.stopPropagation())}},this.state.viewType===$t?this.renderItems("/"):this.renderItems(this.state.currentDir||"/"),this.state.viewType!==$t?me.default.createElement("div",{style:Re.filesDivHint},this.props.t("ra_select_folder_hint")):null),this.props.allowUpload?this.renderInputDialog():null,this.props.allowUpload?this.renderUpload():null,this.props.allowDelete?this.renderDeleteDialog():null,this.props.allowView?this.renderViewDialog():null,this.state.modalEditOfAccess&&this.props.modalEditOfAccessControl?this.props.modalEditOfAccessControl(this):null,this.renderError())):me.default.createElement(GC,null)}},ZF=Cp()(q1);var f9e=y(P());var l9e=y(P());var p9e=y(P());var QF=y(P()),K1=e=>QF.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 512 512",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},QF.default.createElement("path",{fill:"currentColor",d:"M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z"}));var Sae=y(P());var Tae=y(P());var wT=y(P()),wae=y(P());function m9e(e){let t=document.createElement("div");t.innerHTML=e;let r=t.firstElementChild;return r!=null&&r.remove?r.remove():r&&t.removeChild(r),t.remove(),r}function h9e(e){let t={};if(!e)return t;for(let r,o=0;on[1].toUpperCase()),t[r]=e[o].value}return t}var Kc=class Kc extends wae.Component{constructor(r){var o;super(r);A(this,"svg");this.state={svg:!!((o=this.props.src)!=null&&o.startsWith("data:")),created:!0,color:this.props.color||"",src:this.props.src||"",imgError:!1,showError:!!this.props.showError},this.svg=this.state.svg&&this.state.src?this.getSvgFromData(this.state.src):null}static getDerivedStateFromProps(r,o){var s;let a={},n=!1;return r&&o&&r.src!==o.src&&(a.src=r.src,a.svg=(s=r.src)==null?void 0:s.startsWith("data:"),a.created=!1,n=!0),r&&o&&r.color!==o.color&&(a.color=r.color,a.created=!1,n=!0),r&&o&&r.showError!==o.showError&&(a.showError=r.showError,n=!0),n?a:null}getSvgFromData(r){let o="data:image/svg+xml;base64,";if(!r.startsWith(o))return null;r=r.substring(o.length);try{r=atob(r);let a=m9e(r),n=a.innerHTML,s=h9e(a.attributes);return a.remove(),wT.default.createElement("svg",{className:this.props.className,style:this.state.color?{color:this.state.color}:{},...s,dangerouslySetInnerHTML:{__html:n}})}catch(a){}return null}render(){if(this.state.svg)return this.state.created||setTimeout(()=>{this.svg=this.state.src?this.getSvgFromData(this.state.src):null,this.setState({created:!0})},50),this.svg;if(this.state.src){if(this.state.imgError||!this.state.src)return wT.default.createElement(Gc,{className:this.props.className});if(Kc.REMOTE_SERVER&&!this.state.src.startsWith("http://")&&!this.state.src.startsWith("https://")){let r=(this.props.imagePrefix||"")+this.state.src;return r.startsWith("./")?r=Kc.REMOTE_PREFIX+r.substring(2):r.startsWith("/")||(r=Kc.REMOTE_PREFIX+r),wT.default.createElement("img",{className:this.props.className,src:`https://remote-files.iobroker.in${r}`,alt:"",onError:()=>this.props.showError?this.setState({imgError:!0}):this.setState({src:""})})}return wT.default.createElement("img",{className:this.props.className,src:(this.props.imagePrefix||"")+this.state.src,alt:"",onError:()=>this.props.showError?this.setState({imgError:!0}):this.setState({src:""})})}return null}};A(Kc,"REMOTE_SERVER",window.location.hostname.includes("iobroker.in")),A(Kc,"REMOTE_PREFIX",window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1));var eB=Kc;var vl=y(P());var _T=class e extends vl.default.Component{constructor(){super(...arguments);A(this,"handleFileSelect",r=>{let o=r.target,a=o==null?void 0:o.files;if(!a||!a.length){console.error("No files found. Please report to developers");return}let n=a[0];if(n){let s=new window.FileReader;s.onload=()=>{var p;let i=((p=s.result)==null?void 0:p.toString())||"";try{let l=JSON.parse(i);l.native&&l.common?l.common.name!==this.props.common.name?this.props.onError&&this.props.onError(D.t("ra_otherConfig",l.common.name)):this.props.onLoad&&this.props.onLoad(l.native):this.props.onError&&this.props.onError(D.t("ra_invalidConfig"))}catch(l){this.props.onError&&this.props.onError(l==null?void 0:l.toString())}},s.readAsText(n)}else alert("Failed to open JSON File")})}static generateFile(r,o){let a=window.document.createElement("a");a.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(JSON.stringify(o,null,2))}`),a.setAttribute("download",r),a.style.display="none",window.document.body.appendChild(a),a.click(),window.document.body.removeChild(a)}download(){let r={_id:`system.adapter.${this.props.common.name}.${this.props.instance}`,common:JSON.parse(JSON.stringify(this.props.common)),native:this.props.native};r.common.news&&delete r.common.news,r.common.titleLang&&delete r.common.titleLang,r.common.desc&&delete r.common.desc,e.generateFile(`${r._id}.json`,r)}upload(){let r=window.document.createElement("input");r.setAttribute("type","file"),r.setAttribute("id","files"),r.setAttribute("opacity","0"),r.addEventListener("change",this.handleFileSelect,!1),r.click()}render(){return vl.default.createElement("div",{className:this.props.className,style:this.props.style},this.props.common.icon?vl.default.createElement(la,{src:this.props.common.icon,style:{padding:8,width:64},alt:"logo"}):null,this.props.common.readme?vl.default.createElement(Cn,{size:"small",color:"primary","aria-label":"Help",style:{marginRight:5,marginTop:5,float:"right"},onClick:()=>{let r=window.open(this.props.common.readme,"_blank");r==null||r.focus()}},vl.default.createElement(RN,null)):null,vl.default.createElement(Cn,{size:"small",color:"primary","aria-label":"Load config",style:{marginRight:5,marginTop:5,float:"right"},title:D.t("ra_Load configuration from file"),onClick:()=>this.upload()},vl.default.createElement(UN,null)),vl.default.createElement(Cn,{size:"small",color:"primary","aria-label":"Save config",style:{marginRight:5,marginTop:5,float:"right"},title:D.t("ra_Save configuration to file"),onClick:()=>this.download()},vl.default.createElement(WN,null)))}};var C=y(P());var tB=y(P()),rB=e=>tB.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 512 512",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},tB.default.createElement("path",{fill:"currentColor",d:"M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z"}));var Xc=y(P()),X1=e=>Xc.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 320 320",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},Xc.default.createElement("g",{fill:"currentColor"},Xc.default.createElement("rect",{rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor",fill:"none"}),Xc.default.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"248",cx:"160",fill:"none",strokeWidth:"15"}),Xc.default.createElement("line",{y2:"201.94531",x2:"159.5",y1:"46.94531",x1:"159.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),Xc.default.createElement("rect",{height:"27",width:"50",y:"79.7979",x:"133.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"})));var oB=y(P()),vu=e=>oB.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 512 512",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},oB.default.createElement("path",{fill:"currentColor",d:"M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z"}));var rs=y(P()),J1=e=>rs.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 320 320",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},rs.default.createElement("g",{fill:"currentColor"},rs.default.createElement("rect",{rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor",fill:"none"}),rs.default.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"252",cx:"160",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),rs.default.createElement("line",{y2:"201.94531",x2:"159.5",y1:"46.94531",x1:"159.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),rs.default.createElement("rect",{height:"27",width:"50",y:"140.83068",x:"133.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"}),rs.default.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"251",cx:"241",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),rs.default.createElement("line",{y2:"200.94531",x2:"240.5",y1:"45.94531",x1:"240.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),rs.default.createElement("rect",{height:"27",width:"50",y:"78.7979",x:"214.5",strokeWidth:"15",stroke:"currentColor",fill:"#fff"}),rs.default.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"252",cx:"84",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),rs.default.createElement("line",{y2:"201.94531",x2:"83.5",y1:"46.94531",x1:"83.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),rs.default.createElement("rect",{height:"27",width:"50",y:"79.7979",x:"57.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"})));var aB=y(P()),nB=e=>aB.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",onClick:t=>e.onClick&&e.onClick(t),width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},aB.default.createElement("path",{fill:"currentColor",d:"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z"}));var Y1=y(P()),sB=e=>Y1.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 512 512",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},Y1.default.createElement("path",{fill:"currentColor",d:"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z"}),Y1.default.createElement("path",{fill:"currentColor",stroke:"null",d:"m261,270l-12,0l0,-24c0,-33.12 -26.88,-60 -60,-60s-60,26.88 -60,60l0,24l-12,0c-13.2,0 -24,10.8 -24,24l0,120c0,13.2 10.8,24 24,24l144,0c13.2,0 24,-10.8 24,-24l0,-120c0,-13.2 -10.8,-24 -24,-24zm-72,108c-13.2,0 -24,-10.8 -24,-24s10.8,-24 24,-24s24,10.8 24,24s-10.8,24 -24,24zm37.2,-108l-74.4,0l0,-24c0,-20.52 16.68,-37.2 37.2,-37.2c20.52,0 37.2,16.68 37.2,37.2l0,24z"}));var Z1=y(P()),Jc=e=>Z1.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 320 320",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},Z1.default.createElement("rect",{fill:"none",rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor"}),Z1.default.createElement("ellipse",{fill:"none",ry:"54",rx:"54",cy:"160",cx:"160",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor"}));var iB=y(P()),lB=e=>iB.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 24 24",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},iB.default.createElement("path",{fill:"currentColor",stroke:"currentColor",d:"M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39A.998.998 0 0 0 18.95 4H5.04c-.83 0-1.3.95-.79 1.61z"}));var dB=y(P());var pB={root:{width:"100%",height:"100%"},overflowHidden:{overflow:"hidden"},container:{height:"100%"}};function uB(e){var t;return dB.default.createElement(Ya,{elevation:Number.isNaN(e.elevation)?1:e.elevation,style:{...pB.root,...((t=e.styles)==null?void 0:t.root)||void 0,...e.overflow!=="visible"?pB.overflowHidden:void 0},onKeyDown:e.onKeyDown,tabIndex:e.tabIndex},dB.default.createElement(On,{container:!0,direction:"column",wrap:"nowrap",sx:pB.container},e.children))}var Cae=y(P());var _ae={root:{height:"100%",overflow:"hidden"},overflowAuto:{overflow:"auto"}};function fB(e){return Cae.default.createElement(On,{sx:{..._ae.root,...(e==null?void 0:e.style)||void 0,...e.overflow==="auto"?_ae.overflowAuto:void 0},ref:e.ref},e.children)}var Oae=y(P());function cB(e){return Oae.default.createElement(On,{container:!0,alignItems:"center"},e.children)}var fg=24,sn=32,x9e=16,No=20,Dae=e=>e==="dark"?"#62ff25":"#37c400",Aae=e=>e==="dark"?"#ee56ff":"#a204b4",g9e=e=>e==="dark"?"#fff46e":"#b89101",Mae=e=>"#ff6d69",Nae=e=>"#5773ff",Iae="#ff413c",Fae="#86211f",hB="#57ff45",xB="#098c04",gB="#f3ad11",yB="#6c5008",H={toolbar:{minHeight:38},toolbarButtons:{padding:4,marginLeft:4},switchColumnAuto:{marginLeft:16},dialogColumns:{transition:"opacity 1s"},dialogColumnsLabel:{fontSize:12,paddingTop:8},columnCustom:{width:"100%",display:"inline-block"},columnCustomEditable:{cursor:"text"},columnCustom_center:{textAlign:"center"},columnCustom_left:{textAlign:"left"},columnCustom_right:{textAlign:"right"},width100:{width:"100%"},transparent_10:{opacity:.1},transparent_20:{opacity:.2},transparent_30:{opacity:.3},transparent_40:{opacity:.4},transparent_50:{opacity:.5},transparent_60:{opacity:.6},transparent_70:{opacity:.7},transparent_80:{opacity:.8},transparent_90:{opacity:.9},transparent_100:{opacity:1},headerRow:{paddingLeft:8,height:38,whiteSpace:"nowrap",userSelect:"none"},buttonClearFilter:{position:"relative",float:"right",padding:0},buttonClearFilterIcon:{zIndex:2,position:"absolute",top:0,left:0,color:"#FF0000",opacity:.7},tableDiv:{paddingTop:0,paddingLeft:0,width:"calc(100% - 8px)",height:"calc(100% - 38px)",overflow:"auto"},tableRow:e=>({pl:1,height:sn,lineHeight:`${sn}px`,verticalAlign:"top",userSelect:"none",position:"relative",width:"100%","&:hover":{background:`${e.palette.mode==="dark"?e.palette.primary.dark:e.palette.primary.light} !important`,color:ve.invertColor(e.palette.primary.main,!0)},whiteSpace:"nowrap",flexWrap:"nowrap"}),tableRowLines:e=>({borderBottom:`1px solid ${e.palette.mode==="dark","#8888882e"}`,"& > div":{borderRight:`1px solid ${e.palette.mode==="dark","#8888882e"}`}}),tableRowNoDragging:{cursor:"pointer"},tableRowAlias:{height:sn+10},tableRowAliasReadWrite:{height:sn+22},tableRowFocused:e=>({"&:after":{content:'""',position:"absolute",top:1,left:1,right:1,bottom:1,border:e.palette.mode?"1px dotted #000":"1px dotted #FFF"}}),checkBox:{padding:0},cellId:{position:"relative",fontSize:"1rem",overflow:"hidden",textOverflow:"ellipsis","& .copyButton":{display:"none"},"&:hover .copyButton":{display:"block"},"& .iconOwn":{display:"block",width:sn-4,height:sn-4,mt:"2px",float:"right"},"&:hover .iconOwn":{display:"none"},"& *":{width:"initial"}},cellIdSpan:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},cellIdIconFolder:e=>({marginRight:8,width:sn-4,height:sn-4,cursor:"pointer",color:e.palette.secondary.main||"#fbff7d",verticalAlign:"top"}),cellIdIconDocument:{verticalAlign:"middle",marginLeft:(sn-No)/2,marginRight:8,width:No,height:No},cellIdIconOwn:{},cellIdTooltip:{fontSize:14},cellIdTooltipLink:{color:"#7ec2fd","&:hover":{color:"#7ec2fd"},"&:visited":{color:"#7ec2fd"}},cellCopyButton:{width:No,height:No,top:(sn-No)/2,opacity:.8,position:"absolute",right:3},cellCopyButtonInDetails:{width:No,height:No,top:(sn-No)/2,opacity:.8},cellEditButton:{width:No,height:No,color:"white",position:"absolute",top:(sn-No)/2,right:No+3,opacity:.7,"&:hover":{opacity:1}},cellName:{display:"inline-block",verticalAlign:"top",fontSize:14,ml:"5px",overflow:"hidden",textOverflow:"ellipsis",position:"relative","& .copyButton":{display:"none"},"&:hover .copyButton":{display:"block"}},cellNameWithDesc:{lineHeight:"normal"},cellNameDivDiv:{},cellDescription:{fontSize:10,opacity:.5,fontStyle:"italic"},cellIdAlias:e=>({fontStyle:"italic",fontSize:12,opacity:.7,"&:hover":{color:e.palette.mode==="dark"?"#009900":"#007700"}}),cellIdAliasReadWriteDiv:{height:24,marginTop:-5},cellIdAliasAlone:{lineHeight:0},cellIdAliasReadWrite:{lineHeight:"12px"},cellType:{display:"inline-block",verticalAlign:"top","& .itemIcon":{verticalAlign:"middle",width:fg,height:fg,display:"inline-block"},"& .itemIconFolder":{marginLeft:3}},cellRole:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellRoom:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellEnumParent:{opacity:.4},cellFunc:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellValue:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellValueButton:{marginTop:5},cellValueButtonFalse:{opacity:.3},cellAdapter:{display:"inline-block",verticalAlign:"top"},cellValueTooltip:{fontSize:12},cellValueText:{width:"100%",height:sn,fontSize:16,display:"flex",overflow:"hidden",textOverflow:"ellipsis",position:"relative",verticalAlign:"top","& .copyButton":{display:"none"},"&:hover .copyButton":{display:"block"}},cellValueFile:{color:"#2837b9"},cellValueTooltipTitle:{fontStyle:"italic",width:100,display:"inline-block"},cellValueTooltipValue:{width:120,display:"inline-block",whiteSpace:"nowrap",textOverflow:"ellipsis"},cellValueTooltipImage:{width:100,height:"auto"},cellValueTooltipBoth:{width:220,display:"inline-block",whiteSpace:"nowrap"},cellValueTooltipBox:{width:250,overflow:"hidden",pointerEvents:"none"},tooltip:{pointerEvents:"none"},cellValueTextUnit:{marginLeft:4,opacity:.8,display:"inline-block"},cellValueTextState:{opacity:.7},cellValueTooltipCopy:{position:"absolute",bottom:3,right:3},cellValueTooltipEdit:{position:"absolute",bottom:3,right:15},cellButtons:{display:"inline-block",verticalAlign:"top"},cellButtonsButton:{display:"inline-block",opacity:.5,width:No+4,height:No+4,"&:hover":{opacity:1},p:0,mt:"-2px"},cellButtonsEmptyButton:{fontSize:12},cellButtonMinWidth:{minWidth:40},cellButtonsButtonAlone:{ml:`${No+6}px`,pt:0,mt:"-2px"},cellButtonsButtonWithCustoms:e=>({color:e.palette.mode==="dark"?e.palette.primary.main:e.palette.secondary.main}),cellButtonsButtonWithoutCustoms:{opacity:.2},cellButtonsValueButton:e=>({position:"absolute",top:No/2-2,opacity:.7,width:No-2,height:No-2,color:e.palette.action.active,"&:hover":{opacity:1}}),cellButtonsValueButtonCopy:{right:8,cursor:"pointer"},cellButtonsValueButtonEdit:{right:No/2+16},cellDetailsLine:{display:"flex",alignItems:"center",width:"100%",height:32,fontSize:16},cellDetailsName:{fontWeight:"bold",marginRight:8,minWidth:80},filteredOut:{opacity:.5},filteredParentOut:{opacity:.3},filterInput:{mt:0,mb:0},selectIcon:{width:24,height:24,marginRight:4},selectNone:{opacity:.5},itemSelected:e=>({background:`${e.palette.primary.main} !important`,color:`${ve.invertColor(e.palette.primary.main,!0)} !important`}),header:{width:"100%"},headerCell:{display:"inline-block",verticalAlign:"top"},headerCellValue:{paddingTop:4,fontSize:16},headerCellInput:{width:"calc(100% - 5px)",height:sn,pt:0,"& .itemIcon":{verticalAlign:"middle",width:fg,height:fg,display:"inline-block"}},headerCellSelectItem:{"& .itemIcon":{width:fg,height:fg,mr:"5px",display:"inline-block"}},visibleButtons:{color:"#2196f3",opacity:.7},grow:{flexGrow:1},enumIconDiv:{marginRight:8,width:32,height:32,borderRadius:8,background:"#FFFFFF"},enumIcon:{marginTop:4,marginLeft:4,width:24,height:24},enumDialog:{overflow:"hidden"},enumList:{minWidth:250,height:"calc(100% - 50px)",overflow:"auto"},enumButton:{float:"right"},enumCheckbox:{minWidth:0},buttonDiv:{display:"flex",height:"100%",alignItems:"center"},aclText:{fontSize:13,marginTop:6},rightsObject:{color:"#55ff55",paddingLeft:3},rightsState:{color:"#86b6ff",paddingLeft:3},textCenter:{padding:12,textAlign:"center"},tooltipAccessControl:{display:"flex",flexDirection:"column"},fontSizeTitle:{"@media screen and (max-width: 465px)":{"& *":{fontSize:12}}},draggable:{cursor:"copy"},nonDraggable:{cursor:"no-drop"},selectClearButton:{position:"absolute",top:0,right:0,borderRadius:5,backgroundColor:"background.default"},iconDeviceConnected:e=>({color:e.palette.mode==="dark"?hB:xB,opacity:.8,position:"absolute",top:4,right:32,width:20}),iconDeviceDisconnected:e=>({color:e.palette.mode==="dark"?gB:yB,opacity:.8,position:"absolute",top:4,right:32,width:20}),iconDeviceError:e=>({color:e.palette.mode==="dark"?Iae:Fae,opacity:.8,position:"absolute",top:4,right:50,width:20}),resizeHandle:{display:"block",position:"absolute",cursor:"col-resize",width:7,top:2,bottom:2,zIndex:1},resizeHandleRight:{right:3,borderRight:"2px dotted #888","&:hover":{borderColor:"#ccc",borderRightStyle:"solid"},"&.active":{borderColor:"#517ea5",borderRightStyle:"solid"}},invertedBackground:e=>({backgroundColor:e.palette.mode==="dark"?"#9a9a9a":"#565656",padding:"0 3px",borderRadius:"2px 0 0 2px"}),invertedBackgroundFlex:e=>({backgroundColor:e.palette.mode==="dark"?"#9a9a9a":"#565656",borderRadius:"0 2px 2px 0"}),contextMenuEdit:e=>({color:e.palette.mode==="dark"?"#ffee48":"#cbb801"}),contextMenuEditValue:e=>({color:e.palette.mode==="dark"?"#5dff45":"#1cd301"}),contextMenuView:e=>({color:e.palette.mode==="dark"?"#FFF":"#000"}),contextMenuCustom:e=>({color:e.palette.mode==="dark"?"#42eaff":"#01bbc2"}),contextMenuACL:e=>({color:e.palette.mode==="dark"?"#e079ff":"#500070"}),contextMenuRoom:e=>({color:e.palette.mode==="dark"?"#ff9a33":"#642a00"}),contextMenuRole:e=>({color:e.palette.mode==="dark"?"#ffdb43":"#562d00"}),contextMenuDelete:e=>({color:e.palette.mode==="dark"?"#ff4f4f":"#cf0000"}),contextMenuKeys:{marginLeft:8,opacity:.7,fontSize:"smaller"},contextMenuWithSubMenu:{display:"flex"}};function y9e(e){return C.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 436 436",style:e==null?void 0:e.style,width:"24",height:"24",className:"admin-button"},C.default.createElement("g",{fill:"currentColor"},C.default.createElement("path",{d:"m195.23077,24.30769c-36,3 -67,12 -96,26c-49,24 -82,61 -93,104l-3,11l-1,50c0,46 0,49 2,59l5,20c21,58 84,103 165,116c16,3 53,4 70,2c60,-6 111,-28 147,-64c21,-21 36,-49 40,-74a866,866 0 0 0 1,-104c-3,-18 -6,-28 -13,-43c-26,-52 -87,-90 -162,-101c-16,-2 -48,-3 -63,-2l1,0zm60,23c36,5 70,18 95,35c31,20 51,47 59,77c2,7 2,11 2,25c1,15 0,18 -2,26c-19,69 -104,117 -200,114c-47,-2 -90,-15 -124,-38c-31,-20 -51,-47 -59,-77c-3,-11 -4,-32 -2,-43c8,-42 41,-78 91,-101a260,260 0 0 1 140,-19l0,1zm-221,222c21,26 57,49 95,62c81,27 174,14 239,-32c14,-10 31,-27 41,-41c2,-2 2,-2 2,7c-1,23 -16,50 -38,72c-78,74 -233,74 -311,-1a121,121 0 0 1 -39,-76l0,-6l3,4l8,11z"}),C.default.createElement("path",{d:"m201.23077,47.30769c-40,3 -79,19 -104,44c-55,55 -38,133 37,171c52,26 122,24 172,-5c30,-17 51,-42 58,-71c3,-11 3,-34 0,-45c-6,-23 -21,-44 -40,-60l-27,-16a184,184 0 0 0 -96,-18zm30,21c56,5 100,35 112,75c4,11 4,30 0,41c-8,25 -26,45 -54,59a166,166 0 0 1 -160,-8a98,98 0 0 1 -41,-53c-5,-18 -2,-39 8,-57c23,-39 79,-62 135,-57z"})))}function b9e(e,t){let r=[];for(let o=0;o{if(a==null)return;let s=typeof a=="object";if(r&&s&&typeof a.en=="string"&&typeof a.de=="string"){o[n]=a.en;return}o[n]=s?bB(a,t,r):a}):v9e(e,(o,a,n)=>{if(a==null||t.includes(n))return;let s=typeof a=="object";if(r&&s&&typeof a.en=="string"&&typeof a.de=="string"){o[n]=a.en;return}o[n]=s?bB(a,t,r):a})}function kae(e,t,r){let o=document.createElement("a"),a=[];r.excludeSystemRepositories&&a.push("system.repositories");let n=a.length>0||r.excludeTranslations?bB(t,a,r.excludeTranslations):t,s=r.beautify?JSON.stringify(n,null,2):JSON.stringify(n);o.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(s)}`),o.setAttribute("download",e),o.style.display="none",document.body.appendChild(o),o.click(),document.body.removeChild(o)}function CT(e,t,r,o){if(r=r||0,o===void 0&&(o=e.length-1,!o))return e[0]===t;let a=Math.floor((r+o)/2);return t===e[a]?!0:o-1===r?e[r]===t||e[o]===t:t>e[a]?CT(e,t,a,o):tw.role.startsWith(O))||(l=!0)):l=!0),!l&&((T=s.common)==null?void 0:T.custom)==="_"&&(w!=null&&w.custom))l=!0;else if(!l&&((v=s.common)!=null&&v.custom)&&((b=s.common)==null?void 0:b.custom)!=="_"){let O=s.common.custom;if(!(w!=null&&w.custom))l=!0;else if(O==="_dataSources")Object.keys(w.custom).find(k=>k.startsWith("history.")||k.startsWith("sql.")||k.startsWith("influxdb."))||(l=!0);else if(Array.isArray(O)){let k=Object.keys(w.custom);O.find(M=>k.find(N=>N.startsWith(M)))&&(l=!0)}else O!==!0&&!Object.keys(w.custom).find(k=>k.startsWith(O))&&(l=!0)}}!l&&!t.expertMode&&(l=d.id==="system"||d.id==="enum"||d.id.startsWith("system.")||d.id.startsWith("enum.")||d.id.startsWith("_design/")||d.id.endsWith(".admin")||!!(w!=null&&w.expert)),!l&&a.id&&(d.fID===void 0&&(d.fID=d.id.toLowerCase()),l=!d.fID.includes(a.id)),!l&&a.name&&(w?(d.fName===void 0&&(d.fName=w&&os(w.name,r)||"",d.fName=d.fName.toLowerCase()),l=!d.fName.includes(a.name)):l=!0),!l&&t.role&&w&&(w?l=!(w.role&&w.role.startsWith(a.role)):l=!0),!l&&a.room&&(l=!a.room.find(O=>O===d.id||d.id.startsWith(`${O}.`))),!l&&a.func&&(l=!a.func.find(O=>O===d.id||d.id.startsWith(`${O}.`))),!l&&a.type&&(l=!(d.obj&&d.obj.type&&d.obj.type===a.type)),!l&&i&&(l=!(d.obj&&d.obj.type&&i.includes(d.obj.type))),!l&&a.custom&&(w?a.custom==="_"?l=!!w.custom:l=!w.custom||!w.custom[a.custom]:l=!0)}return d.visible=!l,d.hasVisibleChildren=!1,e.children&&p<20&&e.children.forEach(w=>{vB(w,t,r,o,a,n,s,i,p+1)&&(d.hasVisibleChildren=!0)}),d.sumVisibility=d.visible||d.hasVisibleChildren,n&&d.sumVisibility&&n.count++,d.id&&d.sumVisibility&&e.children&&e.children.forEach(w=>w.data.hasVisibleParent=!0),d.visible||d.hasVisibleChildren}function Bae(e,t,r,o){var n;o=o||[];let a=e.data;return a.sumVisibility&&(a.id&&r[a.id]&&(!t||r[a.id].type===t)&&o.push(a.id),(n=e.children)==null||n.forEach(s=>Bae(s,t,r,o))),o}function Eae(e,t,r,o,a,n){let s;return t==="alias"||t==="alias.0"?s=C.default.createElement(hO,{className:"iconOwn",style:{color:Aae(o)}}):t==="0_userdata"||t==="0_userdata.0"?s=C.default.createElement(wN,{className:"iconOwn",style:{color:Dae(o)}}):t.startsWith("_design/")||t==="system"?s=C.default.createElement(yO,{className:"iconOwn",style:{color:Mae(o)}}):t==="system.adapter"?s=C.default.createElement(yO,{className:"iconOwn",style:{color:Nae(o)}}):t==="system.group"?s=C.default.createElement(bO,{className:"iconOwn"}):t==="system.user"?s=C.default.createElement(xO,{className:"iconOwn"}):t==="system.host"?s=C.default.createElement(gO,{className:"iconOwn"}):t.endsWith(".connection")||t.endsWith(".connected")?s=C.default.createElement(Cc,{className:"iconOwn"}):t.endsWith(".info")?s=C.default.createElement(AN,{className:"iconOwn"}):e[t]&&e[t].type==="meta"?s=C.default.createElement(_x,{className:"iconOwn"}):r<2&&e[`system.adapter.${t}`]&&(s=OT(e,`system.adapter.${t}`,a,n)),s||null}function jae(e,t){var r,o;return(o=(r=e==null?void 0:e.obj)==null?void 0:r.common)!=null&&o.desc&&os(e.obj.common.desc,t)||null}function T9e(e,t){let r=jae(e,t);return r!=null&&r.startsWith("http")?C.default.createElement(Je,{component:"a",sx:H.cellIdTooltipLink,href:r,target:"_blank",rel:"noreferrer"},r):C.default.createElement("span",{style:H.cellIdTooltip},r||e.id||"")}function Pae(e,t){var d,u,f,c,m,g,h,x,T;let r=t.imagePrefix||".",o=Object.keys(e);o.sort((v,b)=>v===b?0:(v=v.replace(/\./g,"!!!"),b=b.replace(/\./g,"!!!"),v>b?1:-1)),t.root&&(o=o.filter(v=>v===t.root||v.startsWith(`${t.root}.`)));let a=[],n="",s=0,i={data:{name:"",id:""},children:[]},p={funcEnums:[],roomEnums:[],roles:[],ids:[],types:[],objects:e,customs:["_"],enums:[],hasSomeCustoms:!1,aliasesMap:{}},l=i;for(let v=0;v1){let N=n;for(let S=s;SB.data.name===O[S]));else{let B={data:{name:O[S],parent:l,id:N,obj:e[N],level:S,icon:Eae(e,N,S,t.themeType,t.lang,r),generated:!0}};l.children=l.children||[],l.children.push(B),l=B,p.ids.push(N)}}let M={data:{name:O[O.length-1],title:os((f=w==null?void 0:w.common)==null?void 0:f.name,t.lang),obj:w,parent:l,icon:OT(e,b,t.lang,r)||Eae(e,b,0,t.themeType,t.lang,r),id:b,hasCustoms:!!((c=w.common)!=null&&c.custom&&Object.keys(w.common.custom).length),level:O.length-1,generated:!1,button:w.type==="state"&&!!((m=w.common)!=null&&m.role)&&typeof w.common.role=="string"&&w.common.role.startsWith("button")&&((g=w.common)==null?void 0:g.write)!==!1,switch:w.type==="state"&&((h=w.common)==null?void 0:h.type)==="boolean"&&((x=w.common)==null?void 0:x.write)!==!1&&((T=w.common)==null?void 0:T.read)!==!1}};l.children=l.children||[],l.children.push(M),l=M,s=O.length,a=O,n=b}else{let M=0;for(;a[M]===O[M];)M++;if(M>0){let N=a.length;for(a=a.splice(0,M),s=M,n=a.join(".");N>M;)l.data.parent?l=l.data.parent:console.error(`Parent is null for ${b} ${n} ${a.join(".")}`),N--}else l=i,a=[],n="",s=0;k=!0}while(k)}return p.roomEnums.sort((v,b)=>{var k,M,N,S;let w=os((M=(k=e[v])==null?void 0:k.common)==null?void 0:M.name,t.lang)||v.split(".").pop(),O=os((S=(N=e[b])==null?void 0:N.common)==null?void 0:S.name,t.lang)||b.split(".").pop();return w>O?1:w{var k,M,N,S;let w=os((M=(k=e[v])==null?void 0:k.common)==null?void 0:M.name,t.lang)||v.split(".").pop(),O=os((S=(N=e[b])==null?void 0:N.common)==null?void 0:S.name,t.lang)||b.split(".").pop();return w>O?1:wo)break}return n?(a=a||0,Lae(n,t,r,`${o}.${r[a+1]}`,a+1)):null}function zae(e,t,r,o){var s,i;if(!t)return{rooms:[],per:!1};o=o||[];for(let p of e.roomEnums){let l=(s=e.objects[p])==null?void 0:s.common;if(!l)continue;let d=os(l.name,r);(i=l.members)!=null&&i.includes(t)&&!o.includes(d)&&o.push(d)}let a,n=t.split(".");return n.pop(),t=n.join("."),e.objects[t]&&(a=o.length,zae(e,t,r,o)),{rooms:o,per:!a}}function cg(e,t,r,o){var a,n;if(!t)return[];o=o||[];for(let s=0;s946681200&&l<9466812e5&&(l*=1e3),l=l&&new Date(l).toString();else d==="number"?Number.isInteger(l)||(l=Math.round(l*1e8)/1e8,o&&(l=l.toString().replace(".",","))):d==="object"?l=JSON.stringify(l):d!=="string"?l=l.toString():l.startsWith("data:image/")&&(p="image"),typeof l!="string"&&(l=l.toString());let u={v:l};s&&s[l]!==void 0&&l!==s[l]&&(u.s=l,l=s[l],u.v=l),i!=null&&i.unit&&(u.u=i.unit);let f;if(e.full&&(f=[{t:a.value,v:l}],r)){if(r.ack!==void 0&&r.ack!==null&&f.push({t:a.ack,v:r.ack.toString()}),r.ts&&f.push({t:a.ts,v:r.ts?ve.formatDate(new Date(r.ts),t):""}),r.lc&&f.push({t:a.lc,v:r.lc?ve.formatDate(new Date(r.lc),t):""}),r.from){let c=r.from.toString();c.startsWith("system.adapter.")&&(c=c.substring(15)),f.push({t:a.from,v:c})}if(r.user){let c=r.user.toString();c.startsWith("system.user.")&&(c=c.substring(12)),f.push({t:a.user,v:c})}r.c&&f.push({t:a.c,v:r.c}),f.push({t:a.quality,v:ve.quality2text(r.q||0).join(", "),nbr:!0})}return{valText:u,valFull:f,fileViewer:p}}function S9e(e){let{state:t}=e;return{color:t!=null&&t.ack?t.q?"#ffa500":"":"#ff2222c9"}}function w9e(e,t){let r=t,o=1,a=[];for(;o=r)a.push(0);else if(o{this.contextMenu&&Date.now()-this.contextMenu.ts<2e3?(r.preventDefault(),this.setState({showContextMenu:{item:this.contextMenu.item,position:{left:r.clientX+2,top:r.clientY-6}}})):this.state.showContextMenu&&(r.preventDefault(),this.setState({showContextMenu:null})),this.contextMenu=null});A(this,"onStateChange",(r,o)=>{if(console.log(`> stateChange ${r}`),this.states[r]){let a=this.findItem(r);a!=null&&a.data.state&&(a.data.state=void 0)}o?this.states[r]=o:delete this.states[r],this.pausedSubscribes?this.statesUpdateTimer&&(clearTimeout(this.statesUpdateTimer),this.statesUpdateTimer=null):this.statesUpdateTimer||(this.statesUpdateTimer=setTimeout(()=>{this.statesUpdateTimer=null,this.forceUpdate()},300))});A(this,"onObjectChangeFromWorker",r=>{if(Array.isArray(r)){let o=null;r.forEach(a=>{let{newInnerState:n,filtered:s}=this.processOnObjectChangeElement(a.id,a.obj);s||(n&&o?Object.assign(o,n):o=n)}),o&&this.setState(o),this.afterObjectUpdated()}});A(this,"onObjectChange",(r,o)=>{let{newInnerState:a,filtered:n}=this.processOnObjectChangeElement(r,o);n||(a&&this.setState(a),this.afterObjectUpdated())});A(this,"getEnumsForId",r=>{let o=[];return this.info.enums.forEach(a=>{var n,s,i;if((i=(s=(n=this.objects[a])==null?void 0:n.common)==null?void 0:s.members)!=null&&i.includes(r)){let p={_id:this.objects[a]._id,common:JSON.parse(JSON.stringify(this.objects[a].common)),native:this.objects[a].native,type:"enum"};p.common&&(delete p.common.members,delete p.common.custom,delete p.common.mobile),o.push(p)}}),o.length?o:void 0});A(this,"_createAllEnums",async(r,o)=>{var a,n;for(let s=0;s{var a,n;let{t:r}=this.props,o=[C.default.createElement("div",{key:1},r("ra_Only following structures of objects are available:")),C.default.createElement("div",{key:2},r("ra_Folder \u2192 State")),C.default.createElement("div",{key:3},r("ra_Folder \u2192 Channel \u2192 State")),C.default.createElement("div",{key:4},r("ra_Folder \u2192 Device \u2192 Channel \u2192 State")),C.default.createElement("div",{key:5},r("ra_Device \u2192 Channel \u2192 State")),C.default.createElement("div",{key:6},r("ra_Channel \u2192 State")),C.default.createElement("div",{key:7,style:{height:10}}),C.default.createElement("div",{key:8},r('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),C.default.createElement("div",{key:9},r('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];if(this.state.selected.length||this.state.selectedNonObject){let s=this.state.selected[0]||this.state.selectedNonObject;if(!(s.split(".").length<2||this.objects[s]&&((a=this.objects[s])==null?void 0:a.type)==="state"))if(this.state.filter.expertMode)switch((n=this.objects[s])==null?void 0:n.type){case"device":o=[C.default.createElement("div",{key:1},r("ra_Only following structures of objects are available:")),C.default.createElement("div",{key:5},r("ra_Device \u2192 Channel \u2192 State")),C.default.createElement("div",{key:7,style:{height:10}}),C.default.createElement("div",{key:8},r('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),C.default.createElement("div",{key:9},r('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break;case"folder":o=[C.default.createElement("div",{key:1},r("ra_Only following structures of objects are available:")),C.default.createElement("div",{key:2},r("ra_Folder \u2192 State")),C.default.createElement("div",{key:3},r("ra_Folder \u2192 Channel \u2192 State")),C.default.createElement("div",{key:4},r("ra_Folder \u2192 Device \u2192 Channel \u2192 State")),C.default.createElement("div",{key:7,style:{height:10}}),C.default.createElement("div",{key:8},r('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),C.default.createElement("div",{key:9},r('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break;case"channel":o=[C.default.createElement("div",{key:1},r("ra_Only following structures of objects are available:")),C.default.createElement("div",{key:1},r("ra_Channel \u2192 State")),C.default.createElement("div",{key:7,style:{height:10}}),C.default.createElement("div",{key:8},r('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),C.default.createElement("div",{key:9},r('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break;default:break}else(s.startsWith("alias.0")||s.startsWith("0_userdata"))&&(o=[C.default.createElement("div",{key:1},r("ra_Only following structures of objects are available:")),C.default.createElement("div",{key:2},r("ra_Folder \u2192 State")),C.default.createElement("div",{key:3},r("ra_Folder \u2192 Channel \u2192 State")),C.default.createElement("div",{key:4},r("ra_Folder \u2192 Device \u2192 Channel \u2192 State")),C.default.createElement("div",{key:5},r("ra_Device \u2192 Channel \u2192 State")),C.default.createElement("div",{key:6},r("ra_Channel \u2192 State")),C.default.createElement("div",{key:7,style:{height:10}}),C.default.createElement("div",{key:7},r('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),C.default.createElement("div",{key:8},r('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))])}return o.length?o:r("ra_Add new child object to selected parent")});A(this,"renderTooltipAccessControl",r=>{if(!r)return null;let o=[{value:"0x400",valueNum:1024,title:"read",group:"Owner"},{value:"0x200",valueNum:512,title:"write",group:"Owner"},{value:"0x40",valueNum:64,title:"read",group:"Group"},{value:"0x20",valueNum:32,title:"write",group:"Group"},{value:"0x4",valueNum:4,title:"read",group:"Everyone"},{value:"0x2",valueNum:2,title:"write",group:"Everyone"}],a=[],n=s=>{let i=r[s];o.forEach((p,l)=>{i&p.valueNum&&a.push(C.default.createElement("span",{key:s+l},this.texts[`acl${p.group}_${p.title}_${s}`],",",C.default.createElement("span",{style:s==="object"?H.rightsObject:H.rightsState},p.value)))})};return a.push(C.default.createElement("span",{key:"group"},`${this.texts.ownerGroup}: ${(r.ownerGroup||"").replace("system.group.","")}`)),a.push(C.default.createElement("span",{key:"owner"},`${this.texts.ownerUser}: ${(r.owner||"").replace("system.user.","")}`)),n("object"),r.state&&n("state"),a.length?C.default.createElement("span",{style:H.tooltipAccessControl},a.map(s=>s)):null});A(this,"resizerMouseMove",r=>{if(this.resizerActiveDiv){let o,a;this.resizeLeft?(o=this.resizerOldWidth-r.clientX+this.resizerPosition,a=this.resizerOldWidthNext+r.clientX-this.resizerPosition):(o=this.resizerOldWidth+r.clientX-this.resizerPosition,a=this.resizerOldWidthNext-r.clientX+this.resizerPosition),this.resizerActiveName&&this.resizerNextName&&(!this.resizerMin||o>this.resizerMin)&&(!this.resizerNextMin||a>this.resizerNextMin)&&(this.resizerCurrentWidths[this.resizerActiveName]=o,this.resizerCurrentWidths[this.resizerNextName]=a,this.resizerActiveDiv.style.width=`${o}px`,this.resizerNextDiv&&(this.resizerNextDiv.style.width=`${a}px`),this.columnsVisibility[this.resizerActiveName]=o,this.columnsVisibility[this.resizerNextName]=a,this.resizerNextName==="nameHeader"?(this.columnsVisibility.name=a-this.state.scrollBarWidth,this.resizerCurrentWidths.name=a-this.state.scrollBarWidth):this.resizerActiveName==="nameHeader"&&(this.columnsVisibility.name=o-this.state.scrollBarWidth,this.resizerCurrentWidths.name=o-this.state.scrollBarWidth),this.customWidth=!0,this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=null,this.forceUpdate()},200))}});A(this,"resizerMouseUp",()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.table`,JSON.stringify(this.resizerCurrentWidths)),this.resizerActiveName=null,this.resizerNextName=null,this.resizerActiveDiv=null,this.resizerNextDiv=null,window.removeEventListener("mousemove",this.resizerMouseMove),window.removeEventListener("mouseup",this.resizerMouseUp)});A(this,"resizerMouseDown",r=>{if(this.storedWidths=this.storedWidths||JSON.parse(JSON.stringify(_o[this.props.width||"lg"])),this.resizerCurrentWidths=this.resizerCurrentWidths||{},this.resizerActiveDiv=r.target.parentNode,this.resizerActiveName=this.resizerActiveDiv.dataset.name||null,this.resizerActiveName){let o=0;if(r.target.dataset.left==="true"){this.resizeLeft=!0,this.resizerNextDiv=this.resizerActiveDiv.previousElementSibling;let a=this.resizerNextDiv.querySelector(".iob-ob-resize-handler");for(;this.resizerNextDiv&&!a&&o<10;)this.resizerNextDiv=this.resizerNextDiv.previousElementSibling,a=this.resizerNextDiv.querySelector(".iob-ob-resize-handler"),o++;(a==null?void 0:a.dataset.left)!=="true"&&(this.resizerNextDiv=this.resizerNextDiv.nextElementSibling)}else this.resizeLeft=!1,this.resizerNextDiv=this.resizerActiveDiv.nextElementSibling;this.resizerNextName=this.resizerNextDiv.dataset.name||null,this.resizerMin=parseInt(this.resizerActiveDiv.dataset.min,10)||0,this.resizerNextMin=parseInt(this.resizerNextDiv.dataset.min,10)||0,this.resizerPosition=r.clientX,this.resizerCurrentWidths[this.resizerActiveName]=this.resizerActiveDiv.offsetWidth,this.resizerOldWidth=this.resizerCurrentWidths[this.resizerActiveName],this.resizerNextName&&(this.resizerCurrentWidths[this.resizerNextName]=this.resizerNextDiv.offsetWidth,this.resizerOldWidthNext=this.resizerCurrentWidths[this.resizerNextName]),window.addEventListener("mousemove",this.resizerMouseMove),window.addEventListener("mouseup",this.resizerMouseUp)}});A(this,"resizerReset",()=>{this.customWidth=!1,_o[this.props.width||"lg"]=JSON.parse(JSON.stringify(this.storedWidths)),this.calculateColumnsVisibility(),this.localStorage.removeItem(`${this.props.dialogName||"App"}.table`),this.forceUpdate()});let o=this.localStorage.getItem(`${r.dialogName||"App"}.objectSelected`)||"";if(this.selectFirst="",o.startsWith("["))try{let x=JSON.parse(o);this.selectFirst=x[0]||""}catch(x){}else this.selectFirst=o;let a,n=this.localStorage.getItem(`${r.dialogName||"App"}.objectExpanded`)||"[]";try{a=JSON.parse(n)}catch(x){a=[]}let s,i=r.defaultFilters?"":this.localStorage.getItem(`${r.dialogName||"App"}.objectFilter`)||"";if(i)try{s=JSON.parse(i)}catch(x){s={...Q1}}else r.defaultFilters&&typeof r.defaultFilters=="object"?s={...r.defaultFilters}:s={...Q1};if(s.expertMode=r.expertMode!==void 0?r.expertMode:(window._sessionStorage||window.sessionStorage).getItem("App.expertMode")==="true",this.tableRef=(0,C.createRef)(),this.filterRefs={},Object.keys(Q1).forEach(x=>this.filterRefs[x]=(0,C.createRef)()),this.visibleCols=r.columns||_o[r.width||"lg"].fields,r.types&&r.types.length===1){let x=this.visibleCols.indexOf("type");x!==-1&&this.visibleCols.splice(x,1)}this.possibleCols=_o.xl.fields;let p=null;if(r.router){let x=r.router.getLocation();x.id&&x.dialog==="customs"&&(p=[x.id],this.pauseSubscribe(!0))}let l;Array.isArray(r.selected)?l=r.selected:l=[r.selected||""],l=l.map(x=>x.replace(/["']/g,"")).filter(x=>x),this.selectFirst=l.length&&l[0]?l[0]:this.selectFirst;let d=this.localStorage.getItem(`${r.dialogName||"App"}.columns`),u;try{u=d?JSON.parse(d):null}catch(x){u=null}let f=null;try{f=f?JSON.parse(f):{}}catch(x){f={}}this.imagePrefix=r.imagePrefix||".";let c,m=this.localStorage.getItem(`${r.dialogName||"App"}.foldersFirst`);m==="false"?c=!1:m==="true"?c=!0:c=r.foldersFirst===void 0?!0:r.foldersFirst;let g=!1;try{g=this.props.objectStatesView&&JSON.parse(this.localStorage.getItem(`${r.dialogName||"App"}.objectStatesView`)||"")||!1}catch(x){}this.state={loaded:!1,foldersFirst:c,selected:l,selectedNonObject:this.localStorage.getItem(`${r.dialogName||"App"}.selectedNonObject`)||"",filter:s,filterKey:0,focused:this.localStorage.getItem(`${r.dialogName||"App"}.focused`)||"",depth:0,expandAllVisible:!1,expanded:a,toast:"",scrollBarWidth:16,customDialog:p,editObjectDialog:"",editObjectAlias:!1,viewFileDialog:"",showAliasEditor:"",enumDialog:null,roleDialog:null,statesView:g,columns:u,columnsForAdmin:null,columnsSelectorShow:!1,columnsAuto:this.localStorage.getItem(`${r.dialogName||"App"}.columnsAuto`)!=="false",columnsWidths:f,columnsDialogTransparent:100,columnsEditCustomDialog:null,customColumnDialogValueChanged:!1,showExportDialog:!1,showAllExportOptions:!1,linesEnabled:this.localStorage.getItem(`${r.dialogName||"App"}.lines`)==="true",showDescription:this.localStorage.getItem(`${r.dialogName||"App"}.desc`)!=="false",showContextMenu:null,noStatesByExportImport:!1,beautifyJsonExport:!0,excludeSystemRepositoriesFromExport:!0,excludeTranslations:!1,tooltipInfo:null,aliasMenu:""},this.texts={name:r.t("ra_Name"),categories:r.t("ra_Categories"),value:r.t("ra_tooltip_value"),ack:r.t("ra_tooltip_ack"),ts:r.t("ra_tooltip_ts"),lc:r.t("ra_tooltip_lc"),from:r.t("ra_tooltip_from"),user:r.t("ra_tooltip_user"),c:r.t("ra_tooltip_comment"),quality:r.t("ra_tooltip_quality"),editObject:r.t("ra_tooltip_editObject"),deleteObject:r.t("ra_tooltip_deleteObject"),customConfig:r.t("ra_tooltip_customConfig"),copyState:r.t("ra_tooltip_copyState"),editState:r.t("ra_tooltip_editState"),close:r.t("ra_Close"),filter_id:r.t("ra_filter_id"),filter_name:r.t("ra_filter_name"),filter_type:r.t("ra_filter_type"),filter_role:r.t("ra_filter_role"),filter_room:r.t("ra_filter_room"),filter_func:r.t("ra_filter_func"),filter_custom:r.t("ra_filter_customs"),filterCustomsWithout:r.t("ra_filter_customs_without"),objectChangedByUser:r.t("ra_object_changed_by_user"),objectChangedBy:r.t("ra_object_changed_by"),objectChangedFrom:r.t("ra_state_changed_from"),stateChangedBy:r.t("ra_state_changed_by"),stateChangedFrom:r.t("ra_state_changed_from"),ownerGroup:r.t("ra_Owner group"),ownerUser:r.t("ra_Owner user"),deviceError:r.t("ra_Error"),deviceDisconnected:r.t("ra_Disconnected"),deviceConnected:r.t("ra_Connected"),aclOwner_read_object:r.t("ra_aclOwner_read_object"),aclOwner_read_state:r.t("ra_aclOwner_read_state"),aclOwner_write_object:r.t("ra_aclOwner_write_object"),aclOwner_write_state:r.t("ra_aclOwner_write_state"),aclGroup_read_object:r.t("ra_aclGroup_read_object"),aclGroup_read_state:r.t("ra_aclGroup_read_state"),aclGroup_write_object:r.t("ra_aclGroup_write_object"),aclGroup_write_state:r.t("ra_aclGroup_write_state"),aclEveryone_read_object:r.t("ra_aclEveryone_read_object"),aclEveryone_read_state:r.t("ra_aclEveryone_read_state"),aclEveryone_write_object:r.t("ra_aclEveryone_write_object"),aclEveryone_write_state:r.t("ra_aclEveryone_write_state"),create:r.t("ra_Create"),createBooleanState:r.t("ra_create_boolean_state"),createNumberState:r.t("ra_create_number_state"),createStringState:r.t("ra_create_string_state"),createState:r.t("ra_create_state"),createChannel:r.t("ra_create_channel"),createDevice:r.t("ra_create_device"),createFolder:r.t("ra_Create folder")},this.levelPadding=r.levelPadding||x9e;let h=this.localStorage.getItem(`${this.props.dialogName||"App"}.table`);if(h)try{let x=JSON.parse(h),T=this.props.width||"lg";this.storedWidths=JSON.parse(JSON.stringify(_o[T])),Object.keys(x).forEach(v=>{v==="id"?_o[T].idWidth=x.id:v==="nameHeader"?_o[T].widths.name=x[v]:_o[T].widths[v]!==void 0&&(_o[T].widths[v]=x[v])}),this.customWidth=!0}catch(x){}this.calculateColumnsVisibility()}async loadAllObjects(r){let o=this.props;try{await new Promise(l=>{this.setState({updating:!0},()=>l())});let a=(this.props.objectsWorker?await this.props.objectsWorker.getObjects(r):await o.socket.getObjects(r,!0))||{};if(o.types&&li.isWeb())for(let l=0;l{try{if(l(a[d]))this.objects[d]=a[d];else{let u=a[d]&&a[d].type;u&&(u==="channel"||u==="device"||u==="folder"||u==="adapter"||u==="instance")&&(this.objects[d]=a[d])}}catch(u){console.log(`Error by filtering of "${d}": ${u}`)}})}else if(o.types){this.objects={};let l=o.types;Object.keys(a).forEach(d=>{let u=a[d]&&a[d].type;u&&(u==="channel"||u==="device"||u==="enum"||u==="folder"||u==="adapter"||u==="instance"||l.includes(u))&&(this.objects[d]=a[d])})}else this.objects=a;o.setObjectsReference&&o.setObjectsReference(this.objects),this.defaultHistory=this.systemConfig.common.defaultHistory,this.defaultHistory&&o.socket.getState(`system.adapter.${this.defaultHistory}.alive`).then(l=>{(!l||!l.val)&&(this.defaultHistory="")}).catch(l=>window.alert(`Cannot get state: ${l}`));let n=await this.getAdditionalColumns();this.calculateColumnsVisibility(null,null,n);let{info:s,root:i}=Pae(this.objects,{imagePrefix:this.props.imagePrefix,root:this.props.root,lang:this.props.lang,themeType:this.props.themeType});this.root=i,this.info=s;let p=this.state.selected&&this.state.selected.length&&Lae(this.root,this.state.selected[0]);this.lastAppliedFilter=null,p&&!vB(p,this.state.filter,this.props.lang,this.objects,void 0,void 0,o.customFilter,o.types)?this.setState({filter:{...Q1},columnsForAdmin:n},()=>{this.setState({loaded:!0,updating:!1},()=>this.expandAllSelected(()=>this.onAfterSelect()))}):this.setState({loaded:!0,updating:!1,columnsForAdmin:n},()=>this.expandAllSelected(()=>this.onAfterSelect()))}catch(a){this.showError(a)}}static isNonExpertId(r){return!!hL(Ni,tk).find(o=>r.startsWith(o))}expandAllSelected(r){let o=[...this.state.expanded],a=!1;this.state.selected.forEach(n=>{let s=n.split("."),i=[];for(let p=0;pthis.props.onSelect&&this.props.onSelect([],"")):this.props.onSelect&&this.props.onSelect([],"")}static getDerivedStateFromProps(r,o){let a={},n=!1;return r.expertMode!==void 0&&r.expertMode!==o.filter.expertMode&&(n=!0,a.filter={...o.filter},a.filter.expertMode=r.expertMode),n?a:null}async componentDidMount(){await this.loadAllObjects(!Rae),this.props.objectsWorker?this.props.objectsWorker.registerHandler(this.onObjectChangeFromWorker):await this.props.socket.subscribeObject("*",this.onObjectChange),Rae=!0,window.addEventListener("contextmenu",this.onContextMenu,!0)}componentWillUnmount(){this.filterTimer&&(clearTimeout(this.filterTimer),this.filterTimer=null),window.removeEventListener("contextmenu",this.onContextMenu,!0),this.props.objectsWorker?this.props.objectsWorker.unregisterHandler(this.onObjectChangeFromWorker,!0):this.props.socket.unsubscribeObject("*",this.onObjectChange).catch(r=>console.error(`Cannot unsubscribe *: ${r}`)),this.subscribes.forEach(r=>{console.log(`- unsubscribe ${r}`),this.props.socket.unsubscribeState(r,this.onStateChange)}),this.subscribes=[],this.objects={}}showDeleteDialog(r){var l,d;let{id:o,obj:a,item:n}=r,s=Object.keys(this.objects);s.sort();let i=0,p=`${o}.`;for(let u=0;up)break;this.props.onObjectDelete&&this.props.onObjectDelete(o,!!((l=n.children)!=null&&l.length),!((d=a.common)!=null&&d.dontDelete),i+1)}refreshComponent(){this.subscribes.forEach(r=>{console.log(`- unsubscribe ${r}`),this.props.socket.unsubscribeState(r,this.onStateChange)}),this.subscribes=[],this.loadAllObjects(!0).then(()=>console.log("updated!")).catch(r=>this.showError(r))}renderErrorDialog(){return this.state.error?C.default.createElement(cr,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.setState({error:""}),"aria-labelledby":"error-dialog-title","aria-describedby":"error-dialog-description"},C.default.createElement(mr,{id:"alert-dialog-title"},this.props.t("ra_Error")),C.default.createElement(Tr,null,C.default.createElement(_n,{id:"alert-dialog-description"},this.state.error)),C.default.createElement(vr,null,C.default.createElement(st,{variant:"contained",onClick:()=>this.setState({error:""}),color:"primary",autoFocus:!0,startIcon:C.default.createElement(wo,null)},this.props.t("ra_Ok")))):null}showError(r){this.setState({error:typeof r=="object"?r&&typeof r.toString=="function"?r.toString():JSON.stringify(r):r})}onSelect(r,o,a){if(this.localStorage.setItem(`${this.props.dialogName||"App"}.focused`,r),!this.props.multiSelect)this.objects[r]&&(!this.props.types||this.props.types.includes(this.objects[r].type))?(this.localStorage.removeItem(`${this.props.dialogName||"App"}.selectedNonObject`),this.state.selected[0]!==r?this.setState({selected:[r],selectedNonObject:"",focused:r},()=>{this.onAfterSelect(o),a&&a()}):o&&this.props.onSelect&&this.onAfterSelect(o)):(this.localStorage.setItem(`${this.props.dialogName||"App"}.selectedNonObject`,r),this.setState({selected:[],selectedNonObject:r,focused:r},()=>{this.onAfterSelect(),a&&a()}));else if(this.objects[r]&&(!this.props.types||this.props.types.includes(this.objects[r].type))){this.localStorage.removeItem(`${this.props.dialogName||"App"}.selectedNonObject`);let n=[...this.state.selected],s=n.indexOf(r);s===-1?(n.push(r),n.sort()):o||n.splice(s,1),this.setState({selected:n,selectedNonObject:"",focused:r},()=>{this.onAfterSelect(o),a&&a()})}}_renderDefinedList(r){let o=[...this.possibleCols];if(o.unshift("id"),this.props.columns&&!this.props.columns.includes("buttons")){let a=o.indexOf("buttons");a!==-1&&o.splice(a,1)}return o.filter(a=>r&&(a==="val"||a==="buttons")||!r&&a!=="val"&&a!=="buttons").map(a=>{var n;return C.default.createElement(Cv,{onClick:()=>{if(!this.state.columnsAuto&&a!=="id"){let s=[...this.state.columns||[]],i=s.indexOf(a);i===-1?(s.push(a),s.sort()):s.splice(i,1),this.localStorage.setItem(`${this.props.dialogName||"App"}.columns`,JSON.stringify(s)),this.calculateColumnsVisibility(null,s),this.setState({columns:s})}},key:a},C.default.createElement(Zt,{edge:"start",disabled:a==="id"||this.state.columnsAuto,checked:a==="id"||!!(this.state.columnsAuto?this.visibleCols.includes(a):(n=this.state.columns)!=null&&n.includes(a)),disableRipple:!0}),C.default.createElement(Us,{primary:this.texts[`filter_${a}`]||this.props.t(`ra_${a}`)}))})}renderColumnsSelectorDialog(){return this.state.columnsSelectorShow?C.default.createElement(cr,{onClose:()=>this.setState({columnsSelectorShow:!1}),open:!0,sx:{"& .MuiPaper-root":ve.getStyle(this.props.theme,H.dialogColumns,H[`transparent_${this.state.columnsDialogTransparent}`])}},C.default.createElement(mr,{sx:H.fontSizeTitle},this.props.t("ra_Configure")),C.default.createElement(Tr,{sx:H.fontSizeTitle},C.default.createElement(Ye,{style:H.switchColumnAuto,control:C.default.createElement(Tc,{checked:this.state.foldersFirst,onChange:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.foldersFirst`,this.state.foldersFirst?"false":"true"),this.setState({foldersFirst:!this.state.foldersFirst})}}),label:this.props.t("ra_Folders always first")}),C.default.createElement(Ye,{style:H.switchColumnAuto,control:C.default.createElement(Tc,{checked:this.state.linesEnabled,onChange:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.lines`,this.state.linesEnabled?"false":"true"),this.setState({linesEnabled:!this.state.linesEnabled})}}),label:this.props.t("ra_Show lines between rows")}),C.default.createElement(Ye,{style:H.switchColumnAuto,control:C.default.createElement(Tc,{checked:this.state.columnsAuto,onChange:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.columnsAuto`,this.state.columnsAuto?"false":"true"),this.state.columnsAuto?this.state.columns?(this.calculateColumnsVisibility(!1),this.setState({columnsAuto:!1})):(this.calculateColumnsVisibility(!1,[...this.visibleCols]),this.setState({columnsAuto:!1,columns:[...this.visibleCols]})):(this.calculateColumnsVisibility(!0),this.setState({columnsAuto:!0}))}}),label:this.props.t("ra_Auto (no custom columns)")}),C.default.createElement(bc,null,this._renderDefinedList(!1),this.state.columnsForAdmin&&Object.keys(this.state.columnsForAdmin).sort().map(r=>this.state.columnsForAdmin&&this.state.columnsForAdmin[r].map(o=>{var a;return C.default.createElement(Cv,{onClick:()=>{if(!this.state.columnsAuto){let n=[...this.state.columns||[]],s=`_${r}_${o.path}`,i=n.indexOf(s);i===-1?(n.push(s),n.sort()):n.splice(i,1),this.calculateColumnsVisibility(null,n),this.localStorage.setItem(`${this.props.dialogName||"App"}.columns`,JSON.stringify(n)),this.setState({columns:n})}},key:`${r}_${o.name}`},C.default.createElement(fl,null,C.default.createElement(Zt,{disabled:this.state.columnsAuto,edge:"start",checked:!this.state.columnsAuto&&((a=this.state.columns)==null?void 0:a.includes(`_${r}_${o.path}`)),disableRipple:!0})),C.default.createElement(Us,{primary:`${o.name} (${r})`}))})),this._renderDefinedList(!0))),C.default.createElement(vr,null,C.default.createElement(st,{variant:"contained",onClick:()=>this.setState({columnsSelectorShow:!1}),color:"primary",startIcon:C.default.createElement(mo,null)},this.texts.close))):null}async getAdditionalColumns(){try{let r=await this.props.socket.getAdapters(),o=null;return r.forEach(a=>o=this.parseObjectForAdmins(o,a)),o}catch(r){return console.error(`Cannot get adapters: ${r}`),null}}checkUnsubscribes(){for(let r=this.subscribes.length-1;r>=0;r--)this.recordStates.includes(this.subscribes[r])||this.unsubscribe(this.subscribes[r]);this.recordStates=[]}findItem(r,o,a,n){if(o=o||r.split("."),a=a||this.root,!a||!o.length)return null;if(n=(n?`${n}.`:"")+o.shift(),a.children){let s=a.children.find(i=>i.data.id===n);if(s){if(s.data.id===r)return s;if(o.length)return this.findItem(r,o,s,n)}else return null}return null}parseObjectForAdmins(r,o){if(o.common&&o.common.adminColumns&&o.common.name){let a=o.common.adminColumns,n;a&&typeof a!="object"?n=[a]:a&&(n=a);let s;a?s=n.map(i=>{if(typeof i!="object")return{path:i,name:i.split(".").pop()};let p=i;return p.objTypes&&typeof p.objTypes!="object"?p.objTypes=[p.objTypes]:p.objTypes||(p.objTypes=void 0),!p.name&&p.path?{path:p.path,name:p.path.split(".").pop(),width:p.width,edit:!!p.edit,type:p.type,objTypes:p.objTypes}:p.path?{path:p.path,name:os(p.name||"",this.props.lang),width:p.width,edit:!!p.edit,type:p.type,objTypes:p.objTypes}:(console.warn(`Admin columns for ${o._id} ignored, because path not found`),null)}).filter(i=>i):s=null,s&&s.length&&(r=r||{},r[o.common.name]=s.sort((i,p)=>i.path>p.path?-1:i.path{this.objectsUpdateTimer=null;let{info:r,root:o}=Pae(this.objects,{imagePrefix:this.props.imagePrefix,root:this.props.root,lang:this.props.lang,themeType:this.props.themeType});this.root=o,this.info=r,this.lastAppliedFilter=null,this.pausedSubscribes||this.forceUpdate()},500))}updateAliases(r){var a,n,s;if(!this.objects||!((a=this.info)!=null&&a.aliasesMap)||!(r!=null&&r.startsWith("alias.")))return;let o=Object.keys(this.objects).filter(i=>i.startsWith("alias.0"));this.info.aliasesMap={};for(let i of o){let p=this.objects[i];if((s=(n=p==null?void 0:p.common)==null?void 0:n.alias)!=null&&s.id)if(typeof p.common.alias.id=="string"){let l=p.common.alias.id;this.info.aliasesMap[l]?this.info.aliasesMap[l].includes(i)||this.info.aliasesMap[l].push(i):this.info.aliasesMap[l]=[i]}else{let l=p.common.alias.id.read;l&&(this.info.aliasesMap[l]?this.info.aliasesMap[l].includes(i)||this.info.aliasesMap[l].push(i):this.info.aliasesMap[l]=[i]);let d=p.common.alias.id.write;d&&(this.info.aliasesMap[d]?this.info.aliasesMap[d].includes(i)||this.info.aliasesMap[d].push(i):this.info.aliasesMap[d]=[i])}}}processOnObjectChangeElement(r,o){console.log(`> objectChange ${r}`);let a=o==null?void 0:o.type;if(o&&typeof this.props.filterFunc=="function"&&!this.props.filterFunc(o)&&a!=="channel"&&a!=="device"&&a!=="folder"&&a!=="adapter"&&a!=="instance")return{newInnerState:null,filtered:!0};let n=null;if(r.startsWith("system.adapter.")&&(o==null?void 0:o.type)==="adapter"){let s=JSON.parse(JSON.stringify(this.state.columnsForAdmin));this.parseObjectForAdmins(s,o),JSON.stringify(this.state.columnsForAdmin)!==JSON.stringify(s)&&(n={columnsForAdmin:s})}return this.objects=this.objects||{},o?this.objects[r]=o:this.objects[r]&&delete this.objects[r],this.updateAliases(r),{newInnerState:n,filtered:!1}}subscribe(r){this.subscribes.includes(r)||(this.subscribes.push(r),console.log(`+ subscribe ${r}`),this.pausedSubscribes||this.props.socket.subscribeState(r,this.onStateChange).catch(o=>console.error(`Cannot subscribe on state ${r}: ${o}`)))}unsubscribe(r){let o=this.subscribes.indexOf(r);o!==-1&&(this.subscribes.splice(o,1),this.states[r]&&delete this.states[r],console.log(`- unsubscribe ${r}`),this.props.socket.unsubscribeState(r,this.onStateChange),this.pausedSubscribes&&console.warn("Unsubscribe during pause?"))}pauseSubscribe(r){!this.pausedSubscribes&&r?(this.pausedSubscribes=!0,this.subscribes.forEach(o=>this.props.socket.unsubscribeState(o,this.onStateChange))):this.pausedSubscribes&&!r&&(this.pausedSubscribes=!1,this.subscribes.forEach(o=>this.props.socket.subscribeState(o,this.onStateChange)))}onFilter(r,o){this.filterTimer=null;let a={...this.state.filter};Object.keys(this.filterRefs).forEach(n=>{if(this.filterRefs[n]&&this.filterRefs[n].current){let s=this.filterRefs[n].current;for(let i=0;ithis.props.onFilterChanged&&this.props.onFilterChanged(a)))}clearFilter(){let r={...this.state.filter};Object.keys(this.filterRefs).forEach(o=>{if(this.filterRefs[o]&&this.filterRefs[o].current){let a=this.filterRefs[o].current;for(let n=0;nthis.props.onFilterChanged&&this.props.onFilterChanged(r)))}isFilterEmpty(){return!Object.keys(this.state.filter).find(o=>o!=="expertMode"&&this.state.filter[o])}getFilterInput(r){var o,a,n;return C.default.createElement(Ws,{sx:this.styles.filterInput,key:`${r}_${this.state.filterKey}`,margin:"dense"},C.default.createElement(va,{ref:this.filterRefs[r],classes:{underline:"no-underline"},id:r,placeholder:this.texts[`filter_${r}`],defaultValue:this.state.filter[r]||"",onChange:()=>{this.filterTimer&&clearTimeout(this.filterTimer),this.filterTimer=setTimeout(()=>this.onFilter(),400)},autoComplete:"off"}),(n=(a=(o=this.filterRefs[r])==null?void 0:o.current)==null?void 0:a.firstChild)!=null&&n.value?C.default.createElement("div",{style:{position:"absolute",right:0}},C.default.createElement(dt,{size:"small",onClick:()=>{var s;((s=this.filterRefs[r].current)==null?void 0:s.firstChild).value="",this.onFilter(r,"")}},C.default.createElement(mo,null))):null)}getFilterSelect(r,o){var n,s,i;let a=!!(o!=null&&o.find(p=>p.icon));return C.default.createElement("div",{style:{position:"relative"}},C.default.createElement(Sa,{variant:"standard",key:`${r}_${this.state.filterKey}`,ref:this.filterRefs[r],sx:H.headerCellInput,className:"no-underline",onChange:()=>{this.filterTimer&&clearTimeout(this.filterTimer),this.filterTimer=setTimeout(()=>this.onFilter(),400)},defaultValue:this.state.filter[r]||"",inputProps:{name:r,id:r},displayEmpty:!0},C.default.createElement(Vt,{key:"empty",value:""},C.default.createElement("span",{style:H.selectNone},this.texts[`filter_${r}`])),o==null?void 0:o.map(p=>{let l,d,u;return typeof p=="object"?(l=p.value,d=p.name,u=p.icon):(l=p,d=p),C.default.createElement(Vt,{sx:H.headerCellSelectItem,key:l,value:l},u||(a?C.default.createElement("div",{className:"itemIcon"}):null),d)})),(i=(s=(n=this.filterRefs[r])==null?void 0:n.current)==null?void 0:s.childNodes[1])!=null&&i.value?C.default.createElement(Je,{component:"div",sx:H.selectClearButton},C.default.createElement(dt,{size:"small",onClick:()=>{var l;let p={...this.state.filter};p[r]="",((l=this.filterRefs[r].current)==null?void 0:l.childNodes[1]).value="",this.localStorage.setItem(`${this.props.dialogName||"App"}.objectFilter`,JSON.stringify(p)),this.setState({filter:p,filterKey:this.state.filterKey+1},()=>this.props.onFilterChanged&&this.props.onFilterChanged(p))}},C.default.createElement(mo,null))):null)}getFilterSelectRole(){return this.getFilterSelect("role",this.info.roles)}getFilterSelectRoom(){let r=this.info.roomEnums.map(o=>{var a,n,s,i;return{name:os((n=(a=this.objects[o])==null?void 0:a.common)==null?void 0:n.name,this.props.lang)||o.split(".").pop(),value:o,icon:C.default.createElement(la,{src:((i=(s=this.objects[o])==null?void 0:s.common)==null?void 0:i.icon)||"",style:H.selectIcon})}});return this.getFilterSelect("room",r)}getFilterSelectFunction(){let r=this.info.funcEnums.map(o=>{var a,n,s,i;return{name:os((n=(a=this.objects[o])==null?void 0:a.common)==null?void 0:n.name,this.props.lang)||o.split(".").pop(),value:o,icon:C.default.createElement(la,{src:((i=(s=this.objects[o])==null?void 0:s.common)==null?void 0:i.icon)||"",style:H.selectIcon})}});return this.getFilterSelect("func",r)}getFilterSelectType(){let r=this.info.types.map(o=>({name:o,value:o,icon:TB[o]||null}));return this.getFilterSelect("type",r)}getFilterSelectCustoms(){if(this.info.customs.length>1){let r=this.info.customs.map(o=>({name:o==="_"?this.texts.filterCustomsWithout:o,value:o,icon:o==="_"?null:C.default.createElement(la,{src:OT(this.objects,o,this.props.lang,this.imagePrefix)||"",style:H.selectIcon})}));return this.getFilterSelect("custom",r)}return null}onExpandAll(r,o){var n;let a=r||this.root;o=o||[],(n=a==null?void 0:a.children)==null||n.forEach(s=>{s.data.sumVisibility&&(o.push(s.data.id),this.onExpandAll(s,o))}),a===this.root&&(o.sort(),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(o)),this.setState({expanded:o}))}onCollapseAll(){this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify([])),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,"[]"),this.setState({expanded:[],depth:0,selected:[]},()=>this.onAfterSelect())}expandDepth(r,o,a){var n;r=r||this.root,o>0&&((n=r.children)==null||n.forEach(s=>{s.data.sumVisibility&&(CT(a,s.data.id)||(a.push(s.data.id),a.sort()),o-1>0&&this.expandDepth(s,o-1,a))}))}static collapseDepth(r,o){return o.filter(a=>a.split(".").length<=r)}onExpandVisible(){if(this.state.depth<9){let r=this.state.depth+1,o=[...this.state.expanded];this.root&&this.expandDepth(this.root,r,o),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(o)),this.setState({depth:r,expanded:o})}}onStatesViewVisible(){let r=!this.state.statesView;this.localStorage.setItem(`${this.props.dialogName||"App"}.objectStatesView`,JSON.stringify(r)),this.setState({statesView:r})}onCollapseVisible(){if(this.state.depth>0){let r=this.state.depth-1,o=Ni.collapseDepth(r,this.state.expanded);this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(o)),this.setState({depth:r,expanded:o})}}async loadObjects(r){if(r)for(let o in r){if(!Object.prototype.hasOwnProperty.call(r,o)||!r[o])continue;let a=r[o],n=null,s,i;a&&a.common&&a.common.enums?(n=a.common.enums,delete a.common.enums):n=null,(a.val||a.val===0)&&(s=a.val,delete a.val),a.ack!==void 0&&(i=a.ack,delete a.ack);try{if(await this.props.socket.setObject(o,a),n&&await this._createAllEnums(n,a._id),a.type==="state")if(s!=null)try{await this.props.socket.setState(a._id,s,i!==void 0?i:!0)}catch(p){window.alert(`Cannot set state "${a._id} with ${s}": ${p}`)}else try{let p=await this.props.socket.getState(a._id);if(!p||p.val===null)try{await this.props.socket.setState(a._id,!a.common||a.common.def===void 0?null:a.common.def,!0)}catch(l){window.alert(`Cannot set state "${a._id}": ${l}`)}}catch(p){window.alert(`Cannot read state "${a._id}": ${p}`)}}catch(p){window.alert(p)}}}_getSelectedIdsForExport(){if(this.state.selected.length||this.state.selectedNonObject){let r=[],o=Object.keys(this.objects);o.sort();let a=this.state.selected[0]||this.state.selectedNonObject,n=`${a}.`,s=n.length;for(let i=0;in)break}return r}return[]}async _exportObjects(r){var s;if(r.isAll){kae("allObjects.json",this.objects,r);return}if(!(this.state.selected.length||this.state.selectedNonObject)){window.alert(this.props.t("ra_Save of objects-tree is not possible"));return}let o={},a=this.state.selected[0]||this.state.selectedNonObject,n=this._getSelectedIdsForExport();for(let i of n){if(o[i]=JSON.parse(JSON.stringify(this.objects[i])),((s=o[i])==null?void 0:s.type)==="state"&&!r.noStatesByExportImport){let p=await this.props.socket.getState(i);p&&(o[i].val=p.val,o[i].ack=p.ack)}if(o[i].common){let p=this.getEnumsForId(i);p&&(o[i].common.enums=p)}}kae(`${a}.json`,o,r)}renderExportDialog(){return this.state.showExportDialog===!1?null:C.default.createElement(cr,{open:!0,maxWidth:"lg"},C.default.createElement(mr,null,this.props.t("ra_Select type of export")),C.default.createElement(Tr,null,C.default.createElement(_n,null,this.state.filter.expertMode||this.state.showAllExportOptions?C.default.createElement(C.default.Fragment,null,this.props.t("ra_You can export all objects or just the selected branch."),C.default.createElement("br",null),this.props.t("ra_Selected %s object(s)",this.state.showExportDialog),C.default.createElement("br",null),C.default.createElement(Ye,{control:C.default.createElement(Zt,{checked:this.state.noStatesByExportImport,onChange:r=>this.setState({noStatesByExportImport:r.target.checked})}),label:this.props.t("ra_Do not export values of states")}),C.default.createElement("br",null),this.props.t("These options can reduce the size of the export file:"),C.default.createElement(Ye,{control:C.default.createElement(Zt,{checked:this.state.beautifyJsonExport,onChange:r=>this.setState({beautifyJsonExport:r.target.checked})}),label:this.props.t("Beautify JSON output")}),C.default.createElement("br",null),C.default.createElement(Ye,{control:C.default.createElement(Zt,{checked:this.state.excludeSystemRepositoriesFromExport,onChange:r=>this.setState({excludeSystemRepositoriesFromExport:r.target.checked})}),label:this.props.t("Exclude system repositories from export JSON")}),C.default.createElement(Ye,{control:C.default.createElement(Zt,{checked:this.state.excludeTranslations,onChange:r=>this.setState({excludeTranslations:r.target.checked})}),label:this.props.t("Exclude translations (except english) from export JSON")})):null)),C.default.createElement(vr,null,this.state.filter.expertMode||this.state.showAllExportOptions?C.default.createElement(st,{color:"grey",variant:"outlined",onClick:()=>this.setState({showExportDialog:!1,showAllExportOptions:!1},()=>this._exportObjects({isAll:!0,noStatesByExportImport:this.state.noStatesByExportImport,beautify:this.state.beautifyJsonExport,excludeSystemRepositories:this.state.excludeSystemRepositoriesFromExport,excludeTranslations:this.state.excludeTranslations}))},C.default.createElement("span",{style:{marginRight:8}},this.props.t("ra_All objects")),"(",Object.keys(this.objects).length,")"):C.default.createElement(st,{color:"grey",variant:"outlined",startIcon:C.default.createElement(lg,null),onClick:()=>this.setState({showAllExportOptions:!0})},this.props.t("ra_Advanced options")),C.default.createElement(st,{color:"primary",variant:"contained",autoFocus:!0,onClick:()=>this.setState({showExportDialog:!1,showAllExportOptions:!1},()=>this._exportObjects({isAll:!1,noStatesByExportImport:this.state.noStatesByExportImport,beautify:this.state.beautifyJsonExport,excludeSystemRepositories:this.state.excludeSystemRepositoriesFromExport,excludeTranslations:this.state.excludeTranslations}))},C.default.createElement("span",{style:{marginRight:8}},this.props.t("ra_Only selected")),"(",this.state.showExportDialog,")"),C.default.createElement(st,{color:"grey",variant:"contained",onClick:()=>this.setState({showExportDialog:!1,showAllExportOptions:!1}),startIcon:C.default.createElement(mo,null)},this.props.t("ra_Cancel"))))}handleJsonUpload(r){var n;let o=r.target,a=((n=o.files)==null?void 0:n.length)&&o.files[0];if(a){let s=new FileReader;s.onload=async i=>{var l;let p=(l=i.target)==null?void 0:l.result;try{let d=JSON.parse(p),u=Object.keys(d).length,f=d._id;if(f===void 0&&u)await this.loadObjects(d),window.alert(this.props.t("ra_%s object(s) processed",u));else{if(!f)return window.alert(this.props.t("ra_Invalid structure"));try{let c,m,g;if(d.common.enums&&(c=d.common.enums,delete d.common.enums),d.val&&(m=d.val,delete d.val),d.ack!==void 0&&(g=d.ack,delete d.ack),await this.props.socket.setObject(d._id,d),d.type==="state")if(m!=null)await this.props.socket.setState(d._id,m,g===void 0?!0:g);else{let h=await this.props.socket.getState(d._id);(!h||h.val===null||h.val===void 0)&&await this.props.socket.setState(d._id,d.common.def===void 0?null:d.common.def,!0)}c&&await this._createAllEnums(c,d._id),window.alert(this.props.t("ra_%s was imported",d._id))}catch(c){window.alert(c)}}}catch(d){window.alert(d)}return null},s.readAsText(a)}else window.alert(this.props.t("ra_Failed to open JSON File"))}getToolbar(){let r=!1;if(this.state.selected.length||this.state.selectedNonObject){let o=this.state.selected[0]||this.state.selectedNonObject;o.split(".").length<2||this.objects[o]&&this.objects[o].type==="state"?r=!1:(this.state.filter.expertMode||o.startsWith("alias.0")||o.startsWith("0_userdata"))&&(r=!0)}return C.default.createElement("div",{style:{display:"flex",width:"100%",alignItems:"center",overflowX:"auto"}},C.default.createElement("div",{style:{display:"flex",width:"100%",alignItems:"center"}},C.default.createElement(to,{title:this.props.t("ra_Refresh tree"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement("div",null,C.default.createElement(dt,{onClick:()=>this.refreshComponent(),disabled:this.state.updating,size:"large"},C.default.createElement(Wv,null)))),this.props.showExpertButton&&!this.props.expertMode&&C.default.createElement(to,{title:this.props.t("ra_expertMode"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(dt,{key:"expertMode",color:this.state.filter.expertMode?"secondary":"default",onClick:()=>this.onFilter("expertMode",!this.state.filter.expertMode),size:"large"},C.default.createElement(lg,null))),!this.props.disableColumnSelector&&this.props.width!=="xs"&&C.default.createElement(to,{title:this.props.t("ra_Configure"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(dt,{key:"columnSelector",color:this.state.columnsAuto?"primary":"default",onClick:()=>this.setState({columnsSelectorShow:!0}),size:"large"},C.default.createElement(HN,null))),this.props.width!=="xs"&&this.state.expandAllVisible&&C.default.createElement(to,{title:this.props.t("ra_Expand all nodes"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(dt,{key:"expandAll",onClick:()=>this.onExpandAll(),size:"large"},C.default.createElement($c,null))),C.default.createElement(to,{title:this.props.t("ra_Collapse all nodes"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(dt,{key:"collapseAll",onClick:()=>this.onCollapseAll(),size:"large"},C.default.createElement(Op,null))),this.props.width!=="xs"&&C.default.createElement(to,{title:this.props.t("ra_Expand one step node"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(dt,{key:"expandVisible",color:"primary",onClick:()=>this.onExpandVisible(),size:"large"},C.default.createElement(gv,{badgeContent:this.state.depth,color:"secondary",sx:o=>({badge:{right:3,top:3,border:`2px solid ${o.palette.background.paper}`,padding:"0 4px"}})},C.default.createElement($c,null)))),this.props.width!=="xs"&&C.default.createElement(to,{title:this.props.t("ra_Collapse one step node"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(dt,{key:"collapseVisible",color:"primary",onClick:()=>this.onCollapseVisible(),size:"large"},C.default.createElement(gv,{sx:o=>({badge:{right:3,top:3,border:`2px solid ${o.palette.background.paper}`,padding:"0 4px"}}),badgeContent:this.state.depth,color:"secondary"},C.default.createElement(Op,null)))),this.props.objectStatesView&&C.default.createElement(to,{title:this.props.t("ra_Toggle the states view"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(dt,{onClick:()=>this.onStatesViewVisible(),size:"large"},C.default.createElement(FN,{color:this.state.statesView?"primary":"inherit"}))),C.default.createElement(to,{title:this.props.t("ra_Show/Hide object descriptions"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(dt,{onClick:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.desc`,this.state.showDescription?"false":"true"),this.setState({showDescription:!this.state.showDescription})},size:"large"},C.default.createElement(zN,{color:this.state.showDescription?"primary":"inherit"}))),this.props.objectAddBoolean?C.default.createElement(to,{title:this.toolTipObjectCreating(),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement("div",null,C.default.createElement(dt,{disabled:!r,onClick:()=>this.setState({modalNewObj:{id:this.state.selected[0]||this.state.selectedNonObject}}),size:"large"},C.default.createElement(cO,null)))):null,this.props.objectImportExport&&C.default.createElement(to,{title:this.props.t("ra_Add objects tree from JSON file"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(dt,{onClick:()=>{let o=document.createElement("input");o.setAttribute("type","file"),o.setAttribute("id","files"),o.setAttribute("opacity","0"),o.addEventListener("change",a=>this.handleJsonUpload(a),!1),o.click()},size:"large"},C.default.createElement(_c,null))),this.props.objectImportExport&&(!!this.state.selected.length||this.state.selectedNonObject)&&C.default.createElement(to,{title:this.props.t("ra_Save objects tree as JSON file"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(dt,{onClick:()=>this.setState({showExportDialog:this._getSelectedIdsForExport().length}),size:"large"},C.default.createElement(_c,{style:{transform:"rotate(180deg)"}})))),!!this.props.objectBrowserEditObject&&this.props.width!=="xs"&&C.default.createElement("div",{style:{display:"flex",whiteSpace:"nowrap"}},`${this.props.t("ra_Objects")}: ${Object.keys(this.info.objects).length}, ${this.props.t("ra_States")}: ${Object.keys(this.info.objects).filter(o=>this.info.objects[o].type==="state").length}`),this.props.objectEditBoolean&&C.default.createElement(to,{title:this.props.t("ra_Edit custom config"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(dt,{onClick:()=>{var a;let o=this.root?Bae(this.root,"state",this.objects):[];o.length?(this.pauseSubscribe(!0),o.length===1&&(this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,this.state.selected[0]),(a=this.props.router)==null||a.doNavigate(null,"custom",this.state.selected[0])),this.setState({customDialog:o,customDialogAll:!0})):this.setState({toast:this.props.t("ra_please select object")})},size:"large"},C.default.createElement(bN,null))))}toggleExpanded(r){let o=JSON.parse(JSON.stringify(this.state.expanded)),a=o.indexOf(r);a===-1?(o.push(r),o.sort()):o.splice(a,1),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(o)),this.setState({expanded:o})}onCopy(r,o){r.stopPropagation(),r.preventDefault(),o&&(ve.copyToClipboard(o),o.length<50?this.setState({toast:this.props.t("ra_Copied %s",o)}):this.setState({toast:this.props.t("ra_Copied")}))}renderColumnButtons(r,o){var i,p,l;if(!o.data.obj)return this.props.onObjectDelete||this.props.objectEditOfAccessControl?C.default.createElement("div",{style:H.buttonDiv},this.state.filter.expertMode&&this.props.objectEditOfAccessControl?C.default.createElement(dt,{sx:{...H.cellButtonsButton,...H.cellButtonsEmptyButton,...H.cellButtonMinWidth},onClick:()=>this.setState({modalEditOfAccess:!0,modalEditOfAccessObjData:o.data}),size:"large"},C.default.createElement("div",{style:{height:15}},"---")):null,this.props.onObjectDelete&&o.children&&o.children.length?C.default.createElement(dt,{sx:{...H.cellButtonsButton,...H.cellButtonsButtonAlone},size:"small","aria-label":"delete",title:this.texts.deleteObject,onClick:()=>{var c;let d=Object.keys(this.objects);d.sort();let u=0,f=`${r}.`;for(let m=0;mf)break;this.props.onObjectDelete&&this.props.onObjectDelete(r,!!((c=o.children)!=null&&c.length),!1,u+1)}},C.default.createElement(Si,{style:H.cellButtonsButtonIcon})):null):null;o.data.aclTooltip=o.data.aclTooltip||this.renderTooltipAccessControl(o.data.obj.acl);let a=o.data.obj.acl?o.data.obj.type==="state"?o.data.obj.acl.state:o.data.obj.acl.object:0,n=o.data.obj.acl&&(o.data.obj.type==="state"?this.systemConfig.common.defaultNewAcl.state:this.systemConfig.common.defaultNewAcl.object),s=this.state.filter.expertMode||Ni.isNonExpertId(o.data.id);return[this.state.filter.expertMode&&this.props.objectEditOfAccessControl?C.default.createElement(to,{key:"acl",title:o.data.aclTooltip,slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(dt,{sx:{...H.cellButtonsButton,...H.cellButtonMinWidth,opacity:1},onClick:()=>this.setState({modalEditOfAccess:!0,modalEditOfAccessObjData:o.data}),size:"large"},C.default.createElement("div",{style:H.aclText},Number.isNaN(Number(a))?Number(n).toString(16):Number(a).toString(16)))):C.default.createElement("div",{key:"aclEmpty",style:H.cellButtonMinWidth}),s?C.default.createElement(dt,{key:"edit",sx:{marginRight:"2px",...H.cellButtonsButton},size:"small","aria-label":"edit",title:this.texts.editObject,onClick:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,r),this.setState({editObjectDialog:r,editObjectAlias:!1})}},C.default.createElement(wc,{style:H.cellButtonsButtonIcon})):C.default.createElement(Je,{component:"div",key:"editDisabled",sx:H.cellButtonsButton}),this.props.onObjectDelete&&((i=o.children)!=null&&i.length||!((p=o.data.obj.common)!=null&&p.dontDelete))?C.default.createElement(dt,{key:"delete",sx:H.cellButtonsButton,size:"small","aria-label":"delete",onClick:()=>{var c,m,g;let d=Object.keys(this.objects);d.sort();let u=0,f=`${r}.`;for(let h=0;hf)break;this.props.onObjectDelete&&this.props.onObjectDelete(r,!!((c=o.children)!=null&&c.length),!((g=(m=o.data.obj)==null?void 0:m.common)!=null&&g.dontDelete),u)},title:this.texts.deleteObject},C.default.createElement(Si,{style:H.cellButtonsButtonIcon})):null,this.props.objectCustomDialog&&this.info.hasSomeCustoms&&o.data.obj.type==="state"&&((l=o.data.obj.common)==null?void 0:l.type)!=="file"?C.default.createElement(dt,{sx:{...H.cellButtonsButton,...o.data.hasCustoms?this.styles.cellButtonsButtonWithCustoms:H.cellButtonsButtonWithoutCustoms},key:"custom",size:"small","aria-label":"config",title:this.texts.customConfig,onClick:()=>{var d;this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,r),this.pauseSubscribe(!0),(d=this.props.router)==null||d.doNavigate(null,"customs",r),this.setState({customDialog:[r],customDialogAll:!1})}},C.default.createElement(Uv,{style:H.cellButtonsButtonIcon})):null]}readHistory(r){var o,a;if(window.sparkline&&this.defaultHistory&&((a=(o=this.objects[r])==null?void 0:o.common)!=null&&a.custom)&&this.objects[r].common.custom[this.defaultHistory]){let n=new Date;n.setHours(n.getHours()-24),n.setMinutes(0),n.setSeconds(0),n.setMilliseconds(0);let s=n.getTime();this.props.socket.getHistory(r,{instance:this.defaultHistory,start:s,end:Date.now(),step:36e5,from:!1,ack:!1,q:!1,addID:!1,aggregate:"minmax"}).then(i=>{let p=window.document.getElementsByClassName("sparkline");for(let l=0;lconsole.warn(`Cannot read history: ${i}`))}}getTooltipInfo(r,o){var l,d;let a=this.objects[r],n=this.states[r],{valFull:s,fileViewer:i}=mB({state:n,obj:a,texts:this.texts,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,full:!0}),p=[];s==null||s.forEach(u=>{u.t===this.texts.quality&&n.q?(p.push(C.default.createElement("div",{style:H.cellValueTooltipBoth,key:u.t},u.t,":\xA0",u.v)),u.nbr||p.push(C.default.createElement("br",{key:`${u.t}_br`}))):(p.push(C.default.createElement("div",{style:H.cellValueTooltipTitle,key:u.t},u.t,":\xA0")),p.push(C.default.createElement("div",{style:H.cellValueTooltipValue,key:`${u.t}_v`},u.v)),u.nbr||p.push(C.default.createElement("br",{key:`${u.t}_br`})))}),i==="image"?p.push(C.default.createElement("img",{style:H.cellValueTooltipImage,src:n.val,alt:r})):this.defaultHistory&&((d=(l=this.objects[r])==null?void 0:l.common)!=null&&d.custom)&&this.objects[r].common.custom[this.defaultHistory]&&p.push(C.default.createElement("svg",{key:"sparkline",className:"sparkline","data-id":r,style:{fill:"#3d85de"},width:"200",height:"30",strokeWidth:"3"})),this.setState({tooltipInfo:{el:p,id:r}},()=>o&&o())}renderColumnValue(r,o,a){var l,d;let n=o.data.obj;if(!n||!this.states)return null;if(((l=n.common)==null?void 0:l.type)==="file")return C.default.createElement(Je,{component:"div",sx:{...H.cellValueText,...H.cellValueFile}},"[file]");if(!this.states[r])return n.type==="state"&&(this.recordStates.includes(r)||this.recordStates.push(r),this.states[r]={val:null},this.subscribe(r)),null;this.recordStates.includes(r)||this.recordStates.push(r);let s=this.states[r],i=o.data.state;if(!i){let{valText:u}=mB({state:s,obj:n,texts:this.texts,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma}),f=[];o.data.state={valTextRx:f};let c=u.v||"";f.push(C.default.createElement("span",{className:`newValueBrowser-${this.props.themeType||"light"}`,key:`${u.v.toString()}valText`,style:{whiteSpace:"nowrap",display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"}},u.v.toString())),u.u&&f.push(C.default.createElement("span",{className:`newValueBrowser-${this.props.themeType||"light"}`,style:H.cellValueTextUnit,key:`${u.v.toString()}unit`},u.u)),u.s!==void 0&&f.push(C.default.createElement("span",{style:H.cellValueTextState,className:`newValueBrowser-${this.props.themeType||"light"}`,key:`${u.v.toString()}states`},"(",u.s,")")),a||f.push(C.default.createElement(vu,{className:"copyButton",style:this.styles.iconCopy,onClick:m=>this.onCopy(m,c),key:"cc"})),i=o.data.state}i.style=S9e({state:s,isExpertMode:this.state.filter.expertMode,isButton:o.data.button});let p=i.valTextRx;return this.state.filter.expertMode||(o.data.button?p=[C.default.createElement(y9e,{key:"button",style:{color:i.style.color,...H.cellValueButton}})]:o.data.switch&&(p=[C.default.createElement(Tc,{key:"switch",sx:{"& .MuiSwitch-thumb":{color:i.style.color},"& .MuiSwitch-track":{backgroundColor:this.states[r].val&&this.state.selected.includes(r)?this.props.themeType==="dark"?"#FFF !important":"#111 !important":void 0}},checked:!!this.states[r].val})])),C.default.createElement(to,{key:"value",title:(d=this.state.tooltipInfo)==null?void 0:d.el,slotProps:{popper:{sx:H.cellValueTooltipBox},tooltip:{sx:H.cellValueTooltip}},onOpen:()=>this.getTooltipInfo(r,()=>this.readHistory(r)),onClose:()=>{var u;return((u=this.state.tooltipInfo)==null?void 0:u.id)===r&&this.setState({tooltipInfo:null})}},C.default.createElement(Je,{component:"div",style:i.style,sx:{...H.cellValueText,height:a?void 0:sn,"& .admin-button:active":{transform:"translate(0, 2px)"}}},p))}_syncEnum(r,o,a,n){var p,l,d;if(!o||!o.length){n&&n();return}let s=o.pop()||"",i=[];if((p=this.info.objects[s])!=null&&p.common){if((l=this.info.objects[s].common.members)!=null&&l.length){let u=this.info.objects[s].common.members.indexOf(r);if(u!==-1&&!a.includes(s)){let f=JSON.parse(JSON.stringify(this.info.objects[s]));f.common.members.splice(u,1),i.push(this.props.socket.setObject(s,f).then(()=>this.info.objects[s]=f).catch(c=>this.showError(c)))}}if(a.includes(s)&&!((d=this.info.objects[s].common.members)!=null&&d.includes(r))){let u=JSON.parse(JSON.stringify(this.info.objects[s]));u.common.members=u.common.members||[],u.common.members.push(r),u.common.members.sort(),i.push(this.props.socket.setObject(s,u).then(()=>this.info.objects[s]=u).catch(f=>this.showError(f)))}}Promise.all(i).then(()=>{setTimeout(()=>this._syncEnum(r,o,a,n),0)})}syncEnum(r,o,a){let n=[...this.info[o==="func"?"funcEnums":"roomEnums"]];return new Promise(s=>{this._syncEnum(r,n,a,()=>{s()})})}renderEnumDialog(){if(!this.state.enumDialog)return null;let r=this.state.enumDialog.type,o=this.state.enumDialog.item,a=this.state.enumDialogEnums,n=this.state.enumDialog.enumsOriginal,s=(r==="room"?this.info.roomEnums:this.info.funcEnums).map(i=>{var p,l;return{name:os(((l=(p=this.objects[i])==null?void 0:p.common)==null?void 0:l.name)||i.split(".").pop()||"",this.props.lang),value:i,icon:OT(this.objects,i,this.props.lang,this.imagePrefix)}}).sort((i,p)=>i.name>p.name?1:-1);return s.forEach(i=>{i.icon&&typeof i.icon=="string"&&(i.icon=C.default.createElement(Je,{style:H.enumIconDiv},C.default.createElement("img",{src:i.icon,style:H.enumIcon,alt:i.name})))}),C.default.createElement(cr,{sx:{"& .MuiPaper-root":H.enumDialog},onClose:()=>this.setState({enumDialog:null}),"aria-labelledby":"enum-dialog-title",open:!0},C.default.createElement(mr,{id:"enum-dialog-title"},r==="func"?this.props.t("ra_Define functions"):this.props.t("ra_Define rooms"),C.default.createElement(Cn,{sx:H.enumButton,color:"primary",disabled:n===JSON.stringify(a),size:"small",onClick:()=>this.syncEnum(o.data.id,r,a).then(()=>this.setState({enumDialog:null,enumDialogEnums:null}))},C.default.createElement(wo,null))),C.default.createElement(bc,{sx:{"&.MuiList-root":H.enumList}},s.map(i=>{let p,l,d;typeof i=="object"?(p=i.value,l=i.name,d=i.icon):(p=i,l=i);let u=`checkbox-list-label-${p}`;return C.default.createElement(JC,{sx:H.headerCellSelectItem,key:p,onClick:()=>{let f=a.indexOf(p),c=JSON.parse(JSON.stringify(this.state.enumDialogEnums));f===-1?(c.push(p),c.sort()):c.splice(f,1),this.setState({enumDialogEnums:c})},secondaryAction:d},C.default.createElement(fl,{sx:{"&.MuiListItemIcon-root":H.enumCheckbox}},C.default.createElement(Zt,{edge:"start",checked:a.includes(p),tabIndex:-1,disableRipple:!0,inputProps:{"aria-labelledby":u}})),C.default.createElement(Us,{id:u},l))})))}renderEditRoleDialog(){if(!this.state.roleDialog||!this.props.objectBrowserEditRole)return null;if(this.state.roleDialog&&this.props.objectBrowserEditRole){let r=this.props.objectBrowserEditRole;return C.default.createElement(r,{key:"objectBrowserEditRole",id:this.state.roleDialog,socket:this.props.socket,t:this.props.t,roles:this.info.roles,onClose:o=>{o&&(this.info.objects[this.state.roleDialog]=o),this.setState({roleDialog:null})}})}return null}onColumnsEditCustomDialogClose(r){var a,n;let o=this.customColumnDialog;if(r){let s=o.value;o.type==="boolean"?s=s==="true"||s===!0:o.type==="number"&&(s=parseFloat(s)),this.customColumnDialog=null,this.props.socket.getObject(((n=(a=this.state.columnsEditCustomDialog)==null?void 0:a.obj)==null?void 0:n._id)||"").then(i=>{var p;if(i&&Ni.setCustomValue(i,(p=this.state.columnsEditCustomDialog)==null?void 0:p.it,s))return this.props.socket.setObject(i._id,i);throw new Error(this.props.t("ra_Cannot update attribute, because not found in the object"))}).then(()=>this.setState({columnsEditCustomDialog:null})).catch(i=>this.showError(i))}else this.customColumnDialog=null,this.setState({columnsEditCustomDialog:null})}renderColumnsEditCustomDialog(){if(!this.state.columnsEditCustomDialog)return null;if(!this.customColumnDialog){let r=Ni.getCustomValue(this.state.columnsEditCustomDialog.obj,this.state.columnsEditCustomDialog.it);this.customColumnDialog={type:this.state.columnsEditCustomDialog.it.type||typeof r,initValue:(r==null?"":r).toString(),value:(r==null?"":r).toString()}}return C.default.createElement(cr,{onClose:()=>this.setState({columnsEditCustomDialog:null}),maxWidth:"md","aria-labelledby":"custom-dialog-title",open:!0},C.default.createElement(mr,{id:"custom-dialog-title"},`${this.props.t("ra_Edit object field")}: ${this.state.columnsEditCustomDialog.obj._id}`),C.default.createElement(Tr,null,C.default.createElement(_n,{id:"alert-dialog-description"},this.customColumnDialog.type==="boolean"?C.default.createElement(Ye,{control:C.default.createElement(Zt,{onKeyUp:r=>r.key==="Enter"&&this.onColumnsEditCustomDialogClose(!0),defaultChecked:this.customColumnDialog.value==="true",onChange:r=>{let o=this.customColumnDialog;o.value=r.target.checked.toString();let a=o.value!==o.initValue;a===!this.state.customColumnDialogValueChanged&&this.setState({customColumnDialogValueChanged:a})}}),label:`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`}):C.default.createElement(Ir,{variant:"standard",defaultValue:this.customColumnDialog.value,fullWidth:!0,onKeyUp:r=>r.key==="Enter"&&this.onColumnsEditCustomDialogClose(!0),label:`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`,onChange:r=>{let o=this.customColumnDialog;o.value=r.target.value;let a=o.value!==o.initValue;a===!this.state.customColumnDialogValueChanged&&this.setState({customColumnDialogValueChanged:a})},autoFocus:!0}))),C.default.createElement(vr,null,C.default.createElement(st,{variant:"contained",onClick:()=>this.onColumnsEditCustomDialogClose(!0),disabled:!this.state.customColumnDialogValueChanged,color:"primary",startIcon:C.default.createElement(wo,null)},this.props.t("ra_Update")),C.default.createElement(st,{color:"grey",variant:"contained",onClick:()=>this.onColumnsEditCustomDialogClose(),startIcon:C.default.createElement(mo,null)},this.props.t("ra_Cancel"))))}static getCustomValue(r,o){var a;if((a=r==null?void 0:r._id)!=null&&a.startsWith(`${o.adapter}.`)&&o.path.length>1){let n=o.path,s,i=r;if(i[n[0]]&&typeof i[n[0]]=="object")return n.length===2?s=i[n[0]][n[1]]:n.length===3?s=i[n[0]][n[1]]&&typeof i[n[0]][n[1]]=="object"?i[n[0]][n[1]][n[2]]:null:n.length===4?s=i[n[0]][n[1]]&&typeof i[n[0]][n[1]]=="object"&&i[n[0]][n[1]][n[2]]?i[n[0]][n[1]][n[2]][n[3]]:null:n.length===5?s=i[n[0]][n[1]]&&typeof i[n[0]][n[1]]=="object"&&i[n[0]][n[1]][n[2]]&&i[n[0]][n[1]][n[2]][n[3]]?i[n[0]][n[1]][n[2]][n[3]][n[4]]:null:n.length===6&&(s=i[n[0]][n[1]]&&typeof i[n[0]][n[1]]=="object"&&i[n[0]][n[1]][n[2]]&&i[n[0]][n[1]][n[2]][n[3]]&&i[n[0]][n[1]][n[2]][n[3]][n[4]]?i[n[0]][n[1]][n[2]][n[3]][n[4]][n[5]]:null),s==null?null:s}return null}static setCustomValue(r,o,a){var n;if((n=r==null?void 0:r._id)!=null&&n.startsWith(`${o.adapter}.`)&&o.path.length>1){let s=o.path,i=r;if(i[s[0]]&&typeof i[s[0]]=="object"){if(s.length===2)return i[s[0]][s[1]]=a,!0;if(s.length===3){if(i[s[0]][s[1]]&&typeof i[s[0]][s[1]]=="object")return i[s[0]][s[1]][s[2]]=a,!0}else if(s.length===4){if(i[s[0]][s[1]]&&typeof i[s[0]][s[1]]=="object"&&i[s[0]][s[1]][s[2]]&&typeof i[s[0]][s[1]][s[2]]=="object")return i[s[0]][s[1]][s[2]][s[3]]=a,!0}else if(s.length===5){if(i[s[0]][s[1]]&&typeof i[s[0]][s[1]]=="object"&&i[s[0]][s[1]][s[2]]&&typeof i[s[0]][s[1]][s[2]]=="object"&&i[s[0]][s[1]][s[2]][s[3]]&&typeof i[s[0]][s[1]][s[2]][s[3]]=="object")return i[s[0]][s[1]][s[2]][s[3]][s[4]]=a,!0}else if(s.length===6&&i[s[0]][s[1]]&&typeof i[s[0]][s[1]]=="object"&&i[s[0]][s[1]][s[2]]&&typeof i[s[0]][s[1]][s[2]]=="object"&&i[s[0]][s[1]][s[2]][s[3]]&&typeof i[s[0]][s[1]][s[2]][s[3]]=="object"&&i[s[0]][s[1]][s[2]][s[3]][s[4]]&&typeof i[s[0]][s[1]][s[2]][s[3]][s[4]]=="object")return i[s[0]][s[1]][s[2]][s[3]][s[4]][s[5]]=a,!0}}return!1}renderCustomValue(r,o,a){let n=Ni.getCustomValue(r,o);return n!=null?o.edit&&!this.props.notEditable&&(!o.objTypes||o.objTypes.includes(r.type))?C.default.createElement(Je,{component:"div",style:{...H.columnCustom,...H.columnCustomEditable,...H[`columnCustom_${o.align}`]},onClick:()=>this.setState({columnsEditCustomDialog:{item:a,it:o,obj:r},customColumnDialogValueChanged:!1})},n):C.default.createElement(Je,{component:"div",style:{...H.columnCustom,...H[`columnCustom_${o.align}`]}},n):null}renderAliasLink(r,o,a){let n=o||0,s=this.objects[this.info.aliasesMap[r][n]].common.alias.id;return s?C.default.createElement(Je,{component:"div",onClick:i=>{i.stopPropagation(),i.preventDefault();let p=this.info.aliasesMap[r][n];this.info.aliasesMap[r].length>1&&this.setState({aliasMenu:""}),this.onSelect(p),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(p)),100)},sx:a||this.styles.aliasAlone},C.default.createElement("span",{className:"admin-browser-arrow"},typeof s=="string"||s.read===r&&s.write===r?"\u2194":s.read===r?"\u2192":"\u2190"),this.info.aliasesMap[r][n]):null}renderLeaf(r,o,a){var Ge,Le,ke,Ve,Ee,nt,Ze,qe,ct,We,Ne,tt,Xe,rt;let n=r.data.id;a.count++,o=o===void 0?this.state.expanded.includes(n):o;let s,i=r.data.obj,p=i==null?void 0:i.type;r.children||p==="folder"||p==="device"||p==="channel"||p==="meta"?s=o?C.default.createElement($c,{style:this.styles.cellIdIconFolder,onClick:()=>this.toggleExpanded(n)}):C.default.createElement(Op,{style:this.styles.cellIdIconFolder,onClick:()=>this.toggleExpanded(n)}):i&&i.common&&i.common.write===!1&&i.type==="state"?s=C.default.createElement(sB,{style:this.styles.cellIdIconDocument}):s=C.default.createElement(nB,{style:this.styles.cellIdIconDocument});let l=null;r.data.icon&&(typeof r.data.icon=="string"?r.data.icon.length<3?l=C.default.createElement("span",{className:"iconOwn",style:H.cellIdIconOwn},r.data.icon):l=C.default.createElement(la,{style:H.cellIdIconOwn,className:"iconOwn",src:r.data.icon,alt:""}):l=r.data.icon);let d=i==null?void 0:i.common,u=(i==null?void 0:i.type)&&TB[i.type]||C.default.createElement("div",{className:"itemIcon"}),f=this.levelPadding*(r.data.level||0);if(r.data.lang!==this.props.lang){let{rooms:ue,per:Ce}=zae(this.info,n,this.props.lang);r.data.rooms=ue.join(", "),r.data.per=Ce;let{funcs:He,pef:Ke}=Wae(this.info,n,this.props.lang);r.data.funcs=He.join(", "),r.data.pef=Ke,r.data.lang=this.props.lang}let c=this.props.multiSelect&&this.objects[n]&&(!this.props.types||this.props.types.includes(this.objects[n].type))?C.default.createElement(Zt,{style:H.checkBox,checked:this.state.selected.includes(n)}):null,m=!this.props.notEditable&&p==="state"&&(this.state.filter.expertMode||(d==null?void 0:d.write)!==!1);this.props.objectBrowserViewFile&&(d==null?void 0:d.type)==="file"&&(m=!0);let g=!this.props.notEditable&&this.objects[n]&&(this.state.filter.expertMode||p==="state"||p==="channel"||p==="device"),h=this.state.statesView&&(p==="state"||p==="channel"||p==="device"),x="",T=[];if(h&&(x=(Ge=this.states[n])==null?void 0:Ge.from,x===void 0?x=" ":(x=x?x.replace(/^system\.adapter\.|^system\./,""):"",T.push(`${this.texts.stateChangedFrom} ${x}`)),i!=null&&i.user)){let ue=i.user.replace("system.user.","");x+=`/${ue}`,T.push(`${this.texts.stateChangedBy} ${ue}`)}i&&(i.from&&T.push(`${this.texts.objectChangedFrom} ${i.from.replace(/^system\.adapter\.|^system\./,"")}`),i.user&&T.push(`${this.texts.objectChangedBy} ${i.user.replace(/^system\.user\./,"")}`),i.ts&&T.push(`${this.texts.objectChangedByUser} ${ve.formatDate(new Date(i.ts),this.props.dateFormat||this.systemConfig.common.dateFormat)}`));let v=!1,b=null;n.startsWith("alias.")&&((Le=d==null?void 0:d.alias)!=null&&Le.id)?(v=typeof d.alias.id=="object",v?b=C.default.createElement("div",{style:H.cellIdAliasReadWriteDiv},d.alias.id.read?C.default.createElement(Je,{component:"div",onClick:ue=>{ue.stopPropagation(),ue.preventDefault(),this.onSelect(d.alias.id.read),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(d.alias.id.read)),100)},sx:this.styles.aliasReadWrite},"\u2190",d.alias.id.read):null,d.alias.id.write?C.default.createElement(Je,{component:"div",onClick:ue=>{ue.stopPropagation(),ue.preventDefault(),this.onSelect(d.alias.id.write),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(d.alias.id.write)),100)},sx:this.styles.aliasReadWrite},"\u2192",d.alias.id.write):null):b=C.default.createElement(Je,{component:"div",onClick:ue=>{ue.stopPropagation(),ue.preventDefault(),this.onSelect(d.alias.id),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(d.alias.id)),100)},sx:this.styles.aliasAlone},"\u2192",d.alias.id)):this.info.aliasesMap[n]&&(this.info.aliasesMap[n].length>1?b=C.default.createElement(Je,{component:"div",id:`alias_${n}`,onClick:ue=>{ue.stopPropagation(),ue.preventDefault(),this.setState({aliasMenu:n})},sx:this.styles.aliasAlone},this.props.t("ra_%s links from aliases",this.info.aliasesMap[n].length)):b=this.renderAliasLink(n,0));let w=d==null?void 0:d.color,O;if(w&&!this.state.selected.includes(n)){let ue=this.props.themeName==="dark"?"#1f1f1f":this.props.themeName==="blue"?"#222a2e":"#FFFFFF";ve.colorDistance(w,ue)<1e3&&(O=this.props.themeType==="dark"?"#9a9a9a":"#565656")}let k=!1;n==="0_userdata"?(w=Dae(this.props.themeType),k=!0):n==="alias"?(w=Aae(this.props.themeType),k=!0):n==="javascript"?(w=g9e(this.props.themeType),k=!0):n==="system"?(w=Mae(this.props.themeType),k=!0):n==="system.adapter"?w=Nae(this.props.themeType):(!w||this.state.selected.includes(n))&&(w="inherit");let M=[];if(d!=null&&d.statusStates){let ue={};Object.keys(d.statusStates).forEach(He=>{var ot;let Ke=d.statusStates[He];Ke.split(".").length<3&&(Ke=`${n}.${Ke}`),ue[He]=Ke,this.states[Ke]?this.recordStates.includes(Ke)||this.recordStates.push(Ke):((ot=this.objects[Ke])==null?void 0:ot.type)==="state"&&(this.recordStates.includes(Ke)||this.recordStates.push(Ke),this.states[Ke]={val:null},this.subscribe(Ke))});let Ce=!1;d.statusStates.errorId&&this.states[ue.errorId]&&this.states[ue.errorId].val&&(w=this.props.themeType==="dark"?Iae:Fae,Ce=!0,M.push(C.default.createElement(_N,{key:"error",style:this.styles.iconDeviceError}))),ue.onlineId&&this.states[ue.onlineId]?Ce?this.states[ue.onlineId].val?M.push(C.default.createElement(Cc,{key:"conn",style:this.styles.iconDeviceConnected})):M.push(C.default.createElement(Ox,{key:"disc",style:this.styles.iconDeviceDisconnected})):this.states[ue.onlineId].val?(w=this.props.themeType==="dark"?hB:xB,M.push(C.default.createElement(Cc,{key:"conn",style:this.styles.iconDeviceConnected}))):(w=this.props.themeType==="dark"?gB:yB,M.push(C.default.createElement(Ox,{key:"disc",style:this.styles.iconDeviceDisconnected}))):ue.offlineId&&this.states[ue.offlineId]&&(Ce?this.states[ue.offlineId].val?M.push(C.default.createElement(Ox,{key:"disc",style:this.styles.iconDeviceDisconnected})):M.push(C.default.createElement(Cc,{key:"conn",style:this.styles.iconDeviceConnected})):this.states[ue.offlineId].val?(w=this.props.themeType==="dark"?gB:yB,M.push(C.default.createElement(Ox,{key:"disc",style:this.styles.iconDeviceDisconnected}))):(w=this.props.themeType==="dark"?hB:xB,M.push(C.default.createElement(Cc,{key:"conn",style:this.styles.iconDeviceConnected}))))}let N=h?ve.quality2text(((ke=this.states[n])==null?void 0:ke.q)||0).join(", "):null,S=((Ve=r.data)==null?void 0:Ve.title)||"",B=!1;if(this.state.showDescription){let ue=jae(r.data,this.props.lang);ue&&(S=[C.default.createElement("div",{key:"name",style:H.cellNameDivDiv},S),C.default.createElement("div",{key:"desc",style:H.cellDescription},ue)],B=!!ue)}let $=this.props.width==="xs"&&this.state.focused===n,K=C.default.createElement(On,{container:!0,wrap:"nowrap",direction:"row",sx:H.cellId,style:{width:this.columnsVisibility.id,paddingLeft:f}},C.default.createElement(On,{container:!0,alignItems:"center"},c,s),C.default.createElement(On,{style:{...H.cellIdSpan,...O?this.styles.invertedBackground:void 0,color:w,fontWeight:k?"bold":void 0}},C.default.createElement(to,{title:T9e(r.data,this.props.lang),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement("div",null,r.data.name)),b,M),C.default.createElement("div",{style:{...H.grow,...O?this.styles.invertedBackgroundFlex:{}}}),C.default.createElement(On,{container:!0,alignItems:"center"},l),this.props.width!=="xs"?C.default.createElement("div",null,C.default.createElement(vu,{className:$?"":"copyButton",style:H.cellCopyButton,onClick:ue=>this.onCopy(ue,n)})):null),G=$&&S||this.columnsVisibility.name?C.default.createElement(Je,{component:"div",sx:{...H.cellName,...B?H.cellNameWithDesc:void 0,width:this.props.width!=="xs"?this.columnsVisibility.name:void 0,ml:$?0:"5px"}},S,!$&&((Ee=r.data)!=null&&Ee.title)?C.default.createElement(Je,{style:{color:w}},C.default.createElement(vu,{className:"copyButton",style:H.cellCopyButton,onClick:ue=>{var Ce;return this.onCopy(ue,(Ce=r.data)==null?void 0:Ce.title)}})):null):null,L;this.state.statesView?L=[$&&h&&((nt=this.states[n])!=null&&nt.from)||this.columnsVisibility.changedFrom?{el:C.default.createElement("div",{key:"from",style:{...H.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.changedFrom:void 0},title:T.join(` -`)},h&&((Ze=this.states[n])!=null&&Ze.from)?x:null),type:"from"}:null,$&&N||this.columnsVisibility.qualityCode?{el:C.default.createElement("div",{key:"q",style:{...H.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.qualityCode:void 0},title:N||""},N),type:"quality"}:null,$&&h&&((qe=this.states[n])!=null&&qe.ts)||this.columnsVisibility.timestamp?{el:C.default.createElement("div",{key:"ts",style:{...H.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.timestamp:void 0}},h&&((ct=this.states[n])!=null&&ct.ts)?ve.formatDate(new Date(this.states[n].ts),this.props.dateFormat||this.systemConfig.common.dateFormat):null),type:"ts"}:null,$&&h&&((We=this.states[n])!=null&&We.lc)||this.columnsVisibility.lastChange?{el:C.default.createElement("div",{key:"lc",style:{...H.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.lastChange:void 0}},h&&((Ne=this.states[n])!=null&&Ne.lc)?ve.formatDate(new Date(this.states[n].lc),this.props.dateFormat||this.systemConfig.common.dateFormat):null),type:"lc"}:null]:L=[$&&(i!=null&&i.type)||this.columnsVisibility.type?{el:C.default.createElement("div",{key:"type",style:{...H.cellType,width:this.props.width!=="xs"?this.columnsVisibility.type:void 0}},u,"\xA0",i==null?void 0:i.type),type:"filter_type"}:null,$&&d||this.columnsVisibility.role?{el:C.default.createElement("div",{key:"role",style:{...H.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.role:"100%",cursor:this.state.filter.expertMode&&g&&this.props.objectBrowserEditRole?"text":"default"},onClick:!$&&this.state.filter.expertMode&&g&&this.props.objectBrowserEditRole?()=>this.setState({roleDialog:r.data.id}):void 0},d==null?void 0:d.role),type:"filter_role",onClick:$&&this.state.filter.expertMode&&g&&this.props.objectBrowserEditRole?()=>this.setState({roleDialog:r.data.id}):void 0}:null,$&&d||this.columnsVisibility.room?{el:C.default.createElement("div",{key:"room",style:{...H.cellRoom,...r.data.per?H.cellEnumParent:{},width:this.props.width!=="xs"?this.columnsVisibility.room:"100%",cursor:g?"text":"default"},onClick:!$&&g?()=>{let ue=cg(this.info,r.data.id,"roomEnums");this.setState({enumDialogEnums:ue,enumDialog:{item:r,type:"room",enumsOriginal:JSON.stringify(ue)}})}:void 0},r.data.rooms),type:"filter_room",onClick:$&&g?()=>{let ue=cg(this.info,r.data.id,"roomEnums");this.setState({enumDialogEnums:ue,enumDialog:{item:r,type:"room",enumsOriginal:JSON.stringify(ue)}})}:void 0}:null,$&&d||this.columnsVisibility.func?{el:C.default.createElement("div",{key:"func",style:{...H.cellFunc,...r.data.pef?H.cellEnumParent:{},width:this.props.width!=="xs"?this.columnsVisibility.func:"100%",cursor:g?"text":"default"},onClick:!$&&g?()=>{let ue=cg(this.info,r.data.id,"funcEnums");this.setState({enumDialogEnums:ue,enumDialog:{item:r,type:"func",enumsOriginal:JSON.stringify(ue)}})}:void 0},r.data.funcs),type:"filter_func",onClick:$&&g?()=>{let ue=cg(this.info,r.data.id,"funcEnums");this.setState({enumDialogEnums:ue,enumDialog:{item:r,type:"func",enumsOriginal:JSON.stringify(ue)}})}:void 0}:null];let Y=((tt=this.adapterColumns)==null?void 0:tt.map(ue=>C.default.createElement("div",{style:{...H.cellAdapter,width:this.props.width!=="xs"?this.columnsVisibility[ue.id]:void 0},key:ue.id,title:`${ue.adapter} => ${ue.pathText}`},i?this.renderCustomValue(i,ue,r):null)))||null,oe=$||this.columnsVisibility.val?this.renderColumnValue(n,r,$):null,ee=$&&oe||this.columnsVisibility.val?C.default.createElement("div",{style:{...H.cellValue,width:this.props.width!=="xs"?this.columnsVisibility.val:"calc(100% - 100px)",cursor:m?(d==null?void 0:d.type)==="file"?"zoom-in":r.data.button?"grab":"text":"default"},onClick:m?()=>{!i||!this.states||((d==null?void 0:d.type)==="file"?this.setState({viewFileDialog:n}):!this.state.filter.expertMode&&r.data.button?this.props.socket.setState(n,!0).catch(ue=>window.alert(`Cannot write state "${n}": ${ue}`)):!this.state.filter.expertMode&&r.data.switch?this.props.socket.setState(n,!this.states[n].val).catch(ue=>window.alert(`Cannot write state "${n}": ${ue}`)):(this.edit={val:this.states[n]?this.states[n].val:"",q:this.states[n]&&this.states[n].q||0,ack:!1,id:n},this.setState({updateOpened:!0})))}:void 0},oe):null,se=$||this.columnsVisibility.buttons?C.default.createElement("div",{style:{...H.cellButtons,width:this.props.width!=="xs"?this.columnsVisibility.buttons:void 0}},this.renderColumnButtons(n,r)):null,Ae=null;if(this.props.width==="xs"&&this.state.focused===n){L=L.filter(Ce=>Ce);let ue;L.length?ue=L.map(Ce=>Ce?C.default.createElement("div",{key:Ce.type,style:H.cellDetailsLine},C.default.createElement("span",{style:H.cellDetailsName},this.texts[Ce.type],":"),Ce.el,C.default.createElement("div",{style:{flexGrow:1}}),Ce.onClick?C.default.createElement(wc,{style:H.cellCopyButtonInDetails,onClick:()=>{Ce!=null&&Ce.onClick&&Ce.onClick()}}):null):null):ue=null,Y.length||(Y=null),Ae=C.default.createElement(Ya,{style:{width:"100%",display:"flex",flexDirection:"column",padding:10,backgroundColor:this.props.theme.palette.mode==="dark"?"#333":"#ccc"}},C.default.createElement("div",{style:H.cellDetailsLine},C.default.createElement("div",{style:{flexGrow:1}}),C.default.createElement(vu,{style:H.cellCopyButtonInDetails,onClick:Ce=>this.onCopy(Ce,n)})),G&&C.default.createElement("div",{style:H.cellDetailsLine},C.default.createElement("span",{style:H.cellDetailsName},this.texts.name,":"),G,C.default.createElement("div",{style:{flexGrow:1}}),(Xe=r.data)!=null&&Xe.title?C.default.createElement(vu,{className:"copyButton",style:H.cellCopyButtonInDetails,onClick:Ce=>{var He;return this.onCopy(Ce,(He=r.data)==null?void 0:He.title)}}):null),ue,Y&&C.default.createElement("div",{style:H.cellDetailsLine},Y),((rt=this.objects[n])==null?void 0:rt.type)==="state"&&C.default.createElement("div",{style:H.cellDetailsLine},C.default.createElement("span",{style:H.cellDetailsName},this.texts.value,":"),ee,C.default.createElement("div",{style:{flexGrow:1}}),C.default.createElement(vu,{className:"copyButton",style:H.cellCopyButtonInDetails,onClick:Ce=>{let{valText:He}=mB({state:this.states[n],obj:this.objects[n],texts:this.texts,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma});this.onCopy(Ce,He.v.toString())},key:"cc"})),se&&C.default.createElement("div",{style:{...H.cellDetailsLine,justifyContent:"right"}},se)),G=null,L=null,Y=null,ee=null,se=null}return{row:C.default.createElement(On,{container:!0,direction:"row",wrap:"nowrap",sx:ve.getStyle(this.props.theme,H.tableRow,this.state.linesEnabled&&H.tableRowLines,!this.props.dragEnabled&&H.tableRowNoDragging,b&&H.tableRowAlias,v&&H.tableRowAliasReadWrite,this.state.focused===n&&this.props.multiSelect&&H.tableRowFocused,!r.data.visible&&H.filteredOut,r.data.hasVisibleParent&&!r.data.visible&&!r.data.hasVisibleChildren&&H.filteredParentOut,this.state.selected.includes(n)&&H.itemSelected,this.state.selectedNonObject===n&&H.itemSelected),key:n,id:n,onMouseDown:ue=>{this.onSelect(n);let Ce;"which"in ue?Ce=ue.which===3:"button"in ue&&(Ce=ue.button===2),Ce?this.contextMenu={item:r,ts:Date.now()}:this.contextMenu=null},onDoubleClick:()=>{r.children?this.toggleExpanded(n):this.onSelect(n,!0)}},K,G,L==null?void 0:L.map(ue=>ue==null?void 0:ue.el),Y,ee,se),details:Ae}}renderItem(r,o,a){let n=[];a=a||{count:0};let s=this.renderLeaf(r,o,a),i,p=this.props.DragWrapper;return this.props.dragEnabled&&p?r.data.sumVisibility?i=C.default.createElement(p,{key:r.data.id,item:r,style:H.draggable},s.row):i=C.default.createElement("div",{key:r.data.id,style:H.nonDraggable},s.row):i=s.row,r.data.id&&i&&n.push(i),s.details&&n.push(s.details),o=o===void 0?CT(this.state.expanded,r.data.id):o,(!r.data.id||o)&&(this.state.foldersFirst?r.children&&(n.push(r.children.map(l=>l.children&&(!this.state.columnsSelectorShow||a.count<15)&&l.data.sumVisibility?this.renderItem(l,void 0,a):null)),n.push(r.children.map(l=>!l.children&&(!this.state.columnsSelectorShow||a.count<15)&&l.data.sumVisibility?this.renderItem(l,void 0,a):null))):r.children&&n.push(r.children.map(l=>(!this.state.columnsSelectorShow||a.count<15)&&l.data.sumVisibility?this.renderItem(l,void 0,a):null))),n}calculateColumnsVisibility(r,o,a,n){let s=n||this.state.columnsWidths,i=a||this.state.columnsForAdmin,p=o||this.state.columns||[],l=typeof r!="boolean"?this.state.columnsAuto:r;s=JSON.parse(JSON.stringify(s)),Object.keys(s).forEach(u=>{s[u]&&(s[u]=parseInt(s[u],10)||0)}),this.adapterColumns=[];let d=_o[this.props.width||"lg"].widths;if(l){if(this.columnsVisibility={id:_o[this.props.width||"lg"].idWidth,name:this.visibleCols.includes("name")&&d.name||0,nameHeader:this.visibleCols.includes("name")&&d.name||0,type:this.visibleCols.includes("type")&&d.type||0,role:this.visibleCols.includes("role")&&d.role||0,room:this.visibleCols.includes("room")&&d.room||0,func:this.visibleCols.includes("func")&&d.func||0,changedFrom:this.visibleCols.includes("changedFrom")&&d.changedFrom||0,qualityCode:this.visibleCols.includes("qualityCode")&&d.qualityCode||0,timestamp:this.visibleCols.includes("timestamp")&&d.timestamp||0,lastChange:this.visibleCols.includes("lastChange")&&d.lastChange||0,val:this.visibleCols.includes("val")&&d.val||0,buttons:this.visibleCols.includes("buttons")&&d.buttons||0},this.columnsVisibility.name&&!this.customWidth){let u=this.columnsVisibility.id||0;this.state.statesView?(u+=this.columnsVisibility.changedFrom||0,u+=this.columnsVisibility.qualityCode||0,u+=this.columnsVisibility.timestamp||0,u+=this.columnsVisibility.lastChange||0):(u+=this.columnsVisibility.type||0,u+=this.columnsVisibility.role||0,u+=this.columnsVisibility.room||0,u+=this.columnsVisibility.func||0),u+=this.columnsVisibility.val||0,u+=this.columnsVisibility.buttons||0,this.columnsVisibility.name=`calc(100% - ${u+5}px)`,this.columnsVisibility.nameHeader=`calc(100% - ${u+5+this.state.scrollBarWidth}px)`}else if(!this.customWidth){let u=0;this.state.statesView?(u+=this.columnsVisibility.changedFrom||0,u+=this.columnsVisibility.qualityCode||0,u+=this.columnsVisibility.timestamp||0,u+=this.columnsVisibility.lastChange||0):(u+=this.columnsVisibility.type||0,u+=this.columnsVisibility.role||0,u+=this.columnsVisibility.room||0,u+=this.columnsVisibility.func||0),u+=this.columnsVisibility.val||0,u+=this.columnsVisibility.buttons||0,this.columnsVisibility.id=`calc(100% - ${u+5}px)`}}else{let u=this.props.width||"lg";this.columnsVisibility={id:s.id||_o[u].idWidth,name:p.includes("name")&&(s.name||d.name||_o[u].widths.name)||0,type:p.includes("type")&&(s.type||d.type||_o[u].widths.type)||0,role:p.includes("role")&&(s.role||d.role||_o[u].widths.role)||0,room:p.includes("room")&&(s.room||d.room||_o[u].widths.room)||0,func:p.includes("func")&&(s.func||d.func||_o[u].widths.func)||0};let f=this.columnsVisibility.id;if(this.columnsVisibility.name&&(f+=this.columnsVisibility.type||0,f+=this.columnsVisibility.role||0,f+=this.columnsVisibility.room||0,f+=this.columnsVisibility.func||0),i&&p&&Object.keys(i).sort().forEach(c=>i[c].forEach(m=>{let g=`_${c}_${m.path}`;if(p.includes(g)){let h={adapter:c,id:`_${c}_${m.path}`,name:m.name,path:m.path.split("."),pathText:m.path};m.edit&&(h.edit=!0,m.type&&(h.type=m.type),m.objTypes&&(h.objTypes=m.objTypes)),this.adapterColumns.push(h),this.columnsVisibility[g]=s[h.id]||m.width||_o[u].widths.func||_o.xl.widths.func||0,f+=this.columnsVisibility[g]}else this.columnsVisibility[g]=0})),this.adapterColumns.sort((c,m)=>c.id>m.id?-1:c.idg==="id"||typeof this.columnsVisibility[g]=="string"||!this.columnsVisibility[g]?m:m+this.columnsVisibility[g],0);this.columnsVisibility.id=`calc(100% - ${c}px)`}}}navigateKeyPress(r){var a,n;let o=this.state.selectedNonObject||this.state.selected[0];if(o){if(r.code==="ArrowUp"||r.code==="ArrowDown"){r.preventDefault();let s=[];(a=this.tableRef.current)==null||a.childNodes.forEach(d=>s.push(d.id));let i=s.indexOf(o),p=r.code==="ArrowDown"?i+1:i-1,l=s[p]||o;this.onSelect(l),this.scrollToItem(l)}if((r.code==="ArrowRight"||r.code==="ArrowLeft")&&this.toggleExpanded(o),r.code==="Delete"&&this.root&&o){let s=Ni.getItemFromRoot(this.root,o);if(s){let{obj:i}=s.data;i&&!((n=i.common)!=null&&n.dontDelete)&&this.showDeleteDialog({id:o,obj:i,item:s})}}}}static getItemFromRoot(r,o){let a=o.split("."),n="",s=r;for(let i=0;ithis.clearFilter(),style:H.buttonClearFilter,title:this.props.t("ra_Clear filter"),size:"large"},C.default.createElement(lB,null),C.default.createElement(mo,{style:H.buttonClearFilterIcon}))),this.props.width==="xs"?C.default.createElement("div",{style:H.headerRow},C.default.createElement("div",{style:{...H.headerCell,width:"100%"}},this.getFilterInput("id"))):C.default.createElement("div",{style:H.headerRow},C.default.createElement("div",{style:{...H.headerCell,width:this.columnsVisibility.id,position:"relative"},"data-min":240,"data-name":"id"},this.getFilterInput("id"),this.renderHandleRight()),this.columnsVisibility.name?C.default.createElement("div",{style:{...H.headerCell,width:this.columnsVisibility.nameHeader,position:"relative"},"data-min":100,"data-name":"nameHeader"},this.getFilterInput("name"),this.renderHandleRight()):null,!this.state.statesView&&C.default.createElement(C.default.Fragment,null,this.columnsVisibility.type?C.default.createElement("div",{style:{...H.headerCell,width:this.columnsVisibility.type,position:"relative"},"data-min":100,"data-name":"type"},this.getFilterSelectType(),this.renderHandleRight()):null,this.columnsVisibility.role?C.default.createElement("div",{style:{...H.headerCell,width:this.columnsVisibility.role,position:"relative"},"data-min":100,"data-name":"role"},this.getFilterSelectRole(),this.renderHandleRight()):null,this.columnsVisibility.room?C.default.createElement("div",{style:{...H.headerCell,width:this.columnsVisibility.room,position:"relative"},"data-min":100,"data-name":"room"},this.getFilterSelectRoom(),this.renderHandleRight()):null,this.columnsVisibility.func?C.default.createElement("div",{style:{...H.headerCell,width:this.columnsVisibility.func,position:"relative"},"data-min":100,"data-name":"func"},this.getFilterSelectFunction(),this.renderHandleRight()):null),this.state.statesView&&C.default.createElement(C.default.Fragment,null,C.default.createElement("div",{style:{...H.headerCell,...H.headerCellValue,width:this.columnsVisibility.changedFrom,position:"relative"},"data-min":100,"data-name":"changedFrom"},this.props.t("ra_Changed from"),this.renderHandleRight()),C.default.createElement("div",{style:{...H.headerCell,...H.headerCellValue,width:this.columnsVisibility.qualityCode,position:"relative"},"data-min":100,"data-name":"qualityCode"},this.props.t("ra_Quality code"),this.renderHandleRight()),C.default.createElement("div",{style:{...H.headerCell,...H.headerCellValue,width:this.columnsVisibility.timestamp,position:"relative"},"data-min":100,"data-name":"timestamp"},this.props.t("ra_Timestamp"),this.renderHandleRight()),C.default.createElement("div",{style:{...H.headerCell,...H.headerCellValue,width:this.columnsVisibility.lastChange,position:"relative"},"data-min":100,"data-name":"lastChange"},this.props.t("ra_Last change"),this.renderHandleRight())),this.adapterColumns.map(o=>C.default.createElement("div",{style:{...H.headerCell,...H.headerCellValue,width:this.columnsVisibility[o.id]},title:o.adapter,key:o.id,"data-min":100,"data-name":o.id},o.name)),this.columnsVisibility.val?C.default.createElement("div",{style:{...H.headerCell,...H.headerCellValue,width:this.columnsVisibility.val,position:"relative"},"data-min":120,"data-name":"val"},this.props.t("ra_Value"),r):null,this.columnsVisibility.buttons?C.default.createElement("div",{title:this.texts.filter_custom,style:{...H.headerCell,width:this.columnsVisibility.buttons}}," ",this.getFilterSelectCustoms()):null)}renderToast(){return C.default.createElement(vc,{open:!!this.state.toast,autoHideDuration:3e3,onClick:()=>this.setState({toast:""}),onClose:()=>this.setState({toast:""}),message:this.state.toast,action:C.default.createElement(dt,{size:"small","aria-label":"close",color:"inherit",onClick:()=>this.setState({toast:""})},C.default.createElement(mo,{fontSize:"small"}))})}componentDidUpdate(){if(this.tableRef.current){let r=this.tableRef.current.offsetWidth-this.tableRef.current.clientWidth;this.state.scrollBarWidth!==r?setTimeout(()=>this.setState({scrollBarWidth:r}),100):this.selectFirst&&this.scrollToItem(this.selectFirst)}}scrollToItem(r){this.selectFirst="";let o=window.document.getElementById(r);o==null||o.scrollIntoView({behavior:"auto",block:"center",inline:"center"})}renderCustomDialog(){if(this.state.customDialog&&this.props.objectCustomDialog){let r=this.props.objectCustomDialog;return C.default.createElement(r,{reportChangedIds:o=>this.changedIds=[...o],objectIDs:this.state.customDialog,allVisibleObjects:!!this.state.customDialogAll,expertMode:this.state.filter.expertMode,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,t:this.props.t,lang:this.props.lang,socket:this.props.socket,themeName:this.props.themeName,themeType:this.props.themeType,theme:this.props.theme,objects:this.objects,customsInstances:this.info.customs,onClose:()=>{var o;this.pauseSubscribe(!1),this.setState({customDialog:null}),this.changedIds&&(this.changedIds=null,this.forceUpdate()),(o=this.props.router)==null||o.doNavigate("tab-objects")},systemConfig:this.systemConfig})}return null}onUpdate(r){this.props.socket.setState(this.edit.id,{val:r.val,ack:r.ack,q:r.q||0,expire:r.expire||void 0}).catch(o=>this.showError(`Cannot write value: ${o}`))}renderEditObjectDialog(){if(!this.state.editObjectDialog||!this.props.objectBrowserEditObject)return null;let r=this.props.objectBrowserEditObject;return C.default.createElement(r,{key:this.state.editObjectDialog,obj:this.objects[this.state.editObjectDialog],roleArray:this.info.roles,objects:this.objects,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,themeType:this.props.themeType,theme:this.props.theme,socket:this.props.socket,dialogName:this.props.dialogName,aliasTab:this.state.editObjectAlias,t:this.props.t,expertMode:!!this.state.filter.expertMode,onNewObject:o=>this.props.socket.setObject(o._id,o).then(()=>this.setState({editObjectDialog:o._id,editObjectAlias:!1},()=>this.onSelect(o._id))).catch(a=>this.showError(`Cannot write object: ${a}`)),onClose:o=>{var a,n;if(o){let s;this.state.editObjectDialog.startsWith("alias.")&&JSON.stringify((a=this.objects[this.state.editObjectDialog].common)==null?void 0:a.alias)!==JSON.stringify((n=o.common)==null?void 0:n.alias)&&(s=this.state.editObjectDialog),this.props.socket.setObject(o._id,o).then(()=>{s&&this.subscribes.includes(s)&&(this.unsubscribe(s),setTimeout(()=>this.subscribe(s),100))}).catch(i=>this.showError(`Cannot write object: ${i}`))}this.setState({editObjectDialog:"",editObjectAlias:!1})},width:this.props.width})}renderViewObjectFileDialog(){if(!this.state.viewFileDialog||!this.props.objectBrowserViewFile)return null;let r=this.props.objectBrowserViewFile;return C.default.createElement(r,{key:"viewFile",obj:this.objects[this.state.viewFileDialog],socket:this.props.socket,t:this.props.t,onClose:()=>this.setState({viewFileDialog:""})})}renderAliasEditorDialog(){if(!this.props.objectBrowserAliasEditor||!this.state.showAliasEditor)return null;let r=this.props.objectBrowserAliasEditor;return C.default.createElement(r,{key:"editAlias",obj:this.objects[this.state.showAliasEditor],objects:this.objects,socket:this.props.socket,t:this.props.t,onClose:()=>this.setState({showAliasEditor:""}),onRedirect:(o,a)=>setTimeout(()=>this.onSelect(o,!1,()=>this.expandAllSelected(()=>{this.scrollToItem(o),setTimeout(()=>this.setState({editObjectDialog:o,showAliasEditor:"",editObjectAlias:!0}),300)})),a||0)})}showAddDataPointDialog(r,o,a){this.setState({showContextMenu:null,modalNewObj:{id:r,initialType:o,initialStateType:a}})}renderAliasMenu(){return this.state.aliasMenu?C.default.createElement(cl,{key:"aliasmenu",open:!0,anchorEl:window.document.getElementById(`alias_${this.state.aliasMenu}`),onClose:()=>this.setState({aliasMenu:""})},this.info.aliasesMap[this.state.aliasMenu].map((r,o)=>C.default.createElement(Vt,{key:r,onClick:()=>this.onSelect(r)},C.default.createElement(Us,null,this.renderAliasLink(this.state.aliasMenu,o,{"& .admin-browser-arrow":{mr:"8px"}}))))):null}renderContextMenu(){var c,m,g,h,x,T,v;if(!this.state.showContextMenu)return null;let r=this.state.showContextMenu.item,o=r.data.id,a=[],n=r.data.obj,s="";if(this.props.objectEditOfAccessControl&&this.state.filter.expertMode)if(!n)s="---";else{let b=n.acl?n.type==="state"?n.acl.state:n.acl.object:0,w=n.acl&&(n.type==="state"?this.systemConfig.common.defaultNewAcl.state:this.systemConfig.common.defaultNewAcl.object);s=Number.isNaN(Number(b))?Number(w).toString(16):Number(b).toString(16)}let i=!this.props.notEditable&&n&&(this.state.filter.expertMode||n.type==="state"||n.type==="channel"||n.type==="device"),p=!r.data.obj||r.data.obj.type==="folder"||r.data.obj.type==="channel"||r.data.obj.type==="device"||r.data.id==="0_userdata.0"||r.data.obj.type==="meta",l=!r.data.obj||r.data.obj.type==="folder"||r.data.obj.type==="device"||r.data.id==="0_userdata.0"||r.data.obj.type==="meta",d=!r.data.obj||r.data.obj.type==="folder"||r.data.id==="0_userdata.0"||r.data.obj.type==="meta",u=!r.data.obj||r.data.obj.type==="folder"||r.data.id==="0_userdata.0"||r.data.obj.type==="meta",f={EDIT:{key:"0",visibility:!!(this.props.objectBrowserEditObject&&n&&(this.state.filter.expertMode||Ni.isNonExpertId(o))),icon:C.default.createElement(wc,{fontSize:"small",style:this.styles.contextMenuEdit}),label:this.texts.editObject,onClick:()=>this.setState({editObjectDialog:r.data.id,showContextMenu:null,editObjectAlias:!1})},EDIT_VALUE:{key:"1",visibility:!!(this.states&&!this.props.notEditable&&n&&n.type==="state"&&((c=n.common)==null?void 0:c.type)!=="file"&&(this.state.filter.expertMode||n.common.write!==!1)),icon:C.default.createElement(PN,{fontSize:"small",style:this.styles.contextMenuEditValue}),label:this.props.t("ra_Edit value"),onClick:()=>{this.edit={val:this.states[o]?this.states[o].val:"",q:this.states[o]&&this.states[o].q||0,ack:!1,id:o},this.setState({updateOpened:!0,showContextMenu:null})}},VIEW:{visibility:!!this.props.objectBrowserViewFile&&(n==null?void 0:n.type)==="state"&&((m=n.common)==null?void 0:m.type)==="file",icon:C.default.createElement(CN,{fontSize:"small",style:this.styles.contextMenuView}),label:this.props.t("ra_View file"),onClick:()=>this.setState({viewFileDialog:(n==null?void 0:n._id)||"",showContextMenu:null})},CUSTOM:{key:"2",visibility:!(this.props.objectCustomDialog&&this.info.hasSomeCustoms&&n&&n.type==="state"&&((g=n.common)==null?void 0:g.type)!=="file"),icon:C.default.createElement(Uv,{fontSize:"small",style:r.data.hasCustoms?this.styles.cellButtonsButtonWithCustoms:H.cellButtonsButtonWithoutCustoms}),style:this.styles.contextMenuCustom,label:this.texts.customConfig,onClick:()=>{var b;this.pauseSubscribe(!0),(b=this.props.router)==null||b.doNavigate(null,"customs",o),this.setState({customDialog:[o],showContextMenu:null})}},ACL:{key:"3",visibility:!!s,icon:s,iconStyle:{fontSize:"smaller"},listItemIconStyle:this.styles.contextMenuACL,style:this.styles.contextMenuACL,label:this.props.t("ra_Edit ACL"),onClick:()=>this.setState({showContextMenu:null,modalEditOfAccess:!0,modalEditOfAccessObjData:r.data})},ROLE:{key:"4",visibility:!!(this.state.filter.expertMode&&i&&this.props.objectBrowserEditRole),icon:C.default.createElement(yN,{fontSize:"small",style:this.styles.contextMenuRole}),label:this.props.t("ra_Edit role"),onClick:()=>this.setState({roleDialog:r.data.id,showContextMenu:null})},FUNCTION:{key:"5",visibility:!!i,icon:C.default.createElement(hN,{fontSize:"small",style:this.styles.contextMenuRole}),label:this.props.t("ra_Edit function"),onClick:()=>{let b=cg(this.info,r.data.id,"funcEnums");this.setState({enumDialogEnums:b,enumDialog:{item:r,type:"func",enumsOriginal:JSON.stringify(b)},showContextMenu:null})}},ROOM:{key:"6",visibility:!!i,icon:C.default.createElement(TN,{fontSize:"small",style:this.styles.contextMenuRoom}),label:this.props.t("ra_Edit room"),onClick:()=>{let b=cg(this.info,r.data.id,"roomEnums");this.setState({enumDialogEnums:b,enumDialog:{item:r,type:"room",enumsOriginal:JSON.stringify(b)},showContextMenu:null})}},ALIAS:{key:"7",visibility:!!(!this.props.notEditable&&this.props.objectBrowserAliasEditor&&this.props.objectBrowserEditObject&&(n==null?void 0:n.type)==="state"&&((h=n.common)==null?void 0:h.type)!=="file"),icon:C.default.createElement(hO,{style:(x=n==null?void 0:n.common)!=null&&x.alias?this.styles.cellButtonsButtonWithCustoms:H.cellButtonsButtonWithoutCustoms}),label:this.info.aliasesMap[r.data.id]||r.data.id.startsWith("alias.0.")?this.props.t("ra_Edit alias"):this.props.t("ra_Create alias"),onClick:()=>{var b;(b=n==null?void 0:n.common)!=null&&b.alias?this.setState({showContextMenu:null,editObjectDialog:r.data.id,editObjectAlias:!0}):this.setState({showContextMenu:null,showAliasEditor:r.data.id})}},CREATE:{key:"+",visibility:(r.data.id.startsWith("0_userdata.0")||r.data.id.startsWith("javascript."))&&(p||l||d||u),icon:C.default.createElement(cO,{fontSize:"small",style:this.styles.cellButtonsButtonWithCustoms}),style:H.contextMenuWithSubMenu,label:this.texts.create,subMenu:[{label:this.texts.createBooleanState,visibility:p,icon:C.default.createElement(Jc,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"state","boolean")},{label:this.texts.createNumberState,visibility:p,icon:C.default.createElement(Jc,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"state","number")},{label:this.texts.createStringState,visibility:p,icon:C.default.createElement(Jc,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"state","string")},{label:this.texts.createState,visibility:p,icon:C.default.createElement(Jc,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"state")},{label:this.texts.createChannel,visibility:l,icon:C.default.createElement(X1,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"channel")},{label:this.texts.createDevice,visibility:d,icon:C.default.createElement(J1,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"device")},{label:this.texts.createFolder,icon:C.default.createElement(zv,{fontSize:"small"}),visibility:u,onClick:()=>this.showAddDataPointDialog(r.data.id,"folder")}]},DELETE:{key:"Delete",visibility:!!(this.props.onObjectDelete&&((T=r.children)!=null&&T.length||n&&!((v=n.common)!=null&&v.dontDelete))),icon:C.default.createElement(Si,{fontSize:"small",style:this.styles.contextMenuDelete}),style:this.styles.contextMenuDelete,label:this.texts.deleteObject,onClick:()=>this.setState({showContextMenu:null},()=>this.showDeleteDialog({id:o,obj:n||{},item:r}))}};return Object.keys(f).forEach(b=>{var w,O;f[b].visibility&&(f[b].subMenu?(a.push(C.default.createElement(Vt,{key:b,href:"",onClick:k=>this.state.showContextMenu&&this.setState({showContextMenu:{item:this.state.showContextMenu.item,position:this.state.showContextMenu.position,subItem:b,subAnchor:k.target}}),style:f[b].style},C.default.createElement(fl,{style:{...f[b].iconStyle,...f[b].listItemIconStyle}},f[b].icon),C.default.createElement(Us,null,f[b].label,"..."),C.default.createElement("div",{style:{...H.contextMenuKeys,opacity:1}},C.default.createElement(fN,null)))),((w=this.state.showContextMenu)==null?void 0:w.subItem)===b&&a.push(C.default.createElement(cl,{key:"subContextMenu",open:!0,anchorEl:this.state.showContextMenu.subAnchor,onClose:()=>{this.state.showContextMenu&&this.setState({showContextMenu:{item:this.state.showContextMenu.item,position:this.state.showContextMenu.position}}),this.contextMenu=null}},(O=f[b].subMenu)==null?void 0:O.map(k=>k.visibility?C.default.createElement(Vt,{key:k.label,onClick:k.onClick,style:k.style},C.default.createElement(fl,{style:{...k.iconStyle,...k.listItemIconStyle||void 0}},k.icon),C.default.createElement(Us,null,k.label)):null)))):a.push(C.default.createElement(Vt,{key:b,onClick:f[b].onClick,sx:f[b].style},C.default.createElement(fl,{style:{...f[b].iconStyle,...f[b].listItemIconStyle}},f[b].icon),C.default.createElement(Us,null,f[b].label),f[b].key?C.default.createElement("div",{style:H.contextMenuKeys},`Alt+${f[b].key==="Delete"?this.props.t("ra_Del"):f[b].key}`):null)))}),a.length?C.default.createElement(cl,{key:"contextMenu",open:!0,onKeyUp:b=>{b.preventDefault(),b.altKey&&Object.keys(f).forEach(w=>{b.key===f[w].key&&f[w].onClick&&f[w].onClick()})},anchorReference:"anchorPosition",anchorPosition:this.state.showContextMenu.position,onClose:()=>{this.setState({showContextMenu:null}),this.contextMenu=null}},a):(setTimeout(()=>this.setState({showContextMenu:null}),100),null)}renderEditValueDialog(){var n;if(!this.state.updateOpened||!this.props.objectBrowserValue)return null;if(!this.edit.id)return console.error(`Invalid ID for edit: ${JSON.stringify(this.edit)}`),null;if(!this.objects[this.edit.id])return console.error(`Something went wrong. Possibly the object ${this.edit.id} was deleted.`),null;let r=(n=this.objects[this.edit.id].common)!=null&&n.type?this.objects[this.edit.id].common.type:typeof this.edit.val,o=this.objects[this.edit.id].common.role,a=this.props.objectBrowserValue;return C.default.createElement(a,{t:this.props.t,lang:this.props.lang,type:r,role:o||"",states:ve.getStates(this.objects[this.edit.id]),themeType:this.props.themeType,theme:this.props.theme,expertMode:!!this.state.filter.expertMode,value:this.edit.val,socket:this.props.socket,object:this.objects[this.edit.id],defaultHistory:this.defaultHistory,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,onClose:s=>{this.setState({updateOpened:!1}),s&&this.onUpdate(s)},width:this.props.width})}render(){this.recordStates=[],this.unsubscribeTimer&&clearTimeout(this.unsubscribeTimer),this.styleTheme!==this.props.themeType&&(this.styles={cellIdIconFolder:ve.getStyle(this.props.theme,H.cellIdIconFolder),cellIdIconDocument:ve.getStyle(this.props.theme,H.cellIdIconDocument),iconDeviceError:ve.getStyle(this.props.theme,H.iconDeviceError),iconDeviceConnected:ve.getStyle(this.props.theme,H.iconDeviceConnected),iconDeviceDisconnected:ve.getStyle(this.props.theme,H.iconDeviceDisconnected),cellButtonsButtonWithCustoms:ve.getStyle(this.props.theme,H.cellButtonsButtonWithCustoms),invertedBackground:ve.getStyle(this.props.theme,H.invertedBackground),invertedBackgroundFlex:ve.getStyle(this.props.theme,H.invertedBackgroundFlex),contextMenuEdit:ve.getStyle(this.props.theme,H.contextMenuEdit),contextMenuEditValue:ve.getStyle(this.props.theme,H.contextMenuEditValue),contextMenuView:ve.getStyle(this.props.theme,H.contextMenuView),contextMenuCustom:ve.getStyle(this.props.theme,H.contextMenuCustom),contextMenuACL:ve.getStyle(this.props.theme,H.contextMenuACL),contextMenuRoom:ve.getStyle(this.props.theme,H.contextMenuRoom),contextMenuRole:ve.getStyle(this.props.theme,H.contextMenuRole),contextMenuDelete:ve.getStyle(this.props.theme,H.contextMenuDelete),filterInput:ve.getStyle(this.props.theme,H.headerCellInput,H.filterInput),iconCopy:ve.getStyle(this.props.theme,H.cellButtonsValueButton,H.cellButtonsValueButtonCopy),aliasReadWrite:ve.getStyle(this.props.theme,H.cellIdAlias,H.cellIdAliasReadWrite),aliasAlone:ve.getStyle(this.props.theme,H.cellIdAlias,H.cellIdAliasAlone)},this.styleTheme=this.props.themeType);let r=JSON.stringify(this.state.filter);if(this.lastAppliedFilter!==r&&this.objects&&this.root){let a={count:0};vB(this.root,this.state.filter,this.props.lang,this.objects,void 0,a,this.props.customFilter,this.props.types),a.count<500&&!this.state.expandAllVisible?setTimeout(()=>this.setState({expandAllVisible:!0})):a.count>=500&&this.state.expandAllVisible&&setTimeout(()=>this.setState({expandAllVisible:!1})),this.lastAppliedFilter=r}if(this.unsubscribeTimer=setTimeout(()=>{this.unsubscribeTimer=null,this.checkUnsubscribes()},200),!this.state.loaded)return C.default.createElement(lx,{key:`${this.props.dialogName}_c`});let o=this.root?this.renderItem(this.root,void 0):null;return C.default.createElement(uB,{key:this.props.dialogName},C.default.createElement("style",null,` + `),ms.default.createElement("div",{style:d.white,className:"saturation-white"},ms.default.createElement("div",{style:d.black,className:"saturation-black"}),ms.default.createElement("div",{style:d.pointer},this.props.pointer?ms.default.createElement(this.props.pointer,this.props):ms.default.createElement("div",{style:d.circle}))))}}]),t}(ms.PureComponent||ms.Component),Al=_Pe;var hh=y(D());function CPe(e,t){for(var r=-1,o=e==null?0:e.length;++r=0,n=!r&&a&&(t==="hex"||t==="hex6"||t==="hex3"||t==="hex4"||t==="hex8"||t==="name");return n?t==="name"&&this._a===0?this.toName():this.toRgbString():(t==="rgb"&&(o=this.toRgbString()),t==="prgb"&&(o=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(o=this.toHexString()),t==="hex3"&&(o=this.toHexString(!0)),t==="hex4"&&(o=this.toHex8String(!0)),t==="hex8"&&(o=this.toHex8String()),t==="name"&&(o=this.toName()),t==="hsl"&&(o=this.toHslString()),t==="hsv"&&(o=this.toHsvString()),o||this.toHexString())},clone:function(){return Ie(this.toString())},_applyModification:function(t,r){var o=t.apply(null,[this].concat([].slice.call(r)));return this._r=o._r,this._g=o._g,this._b=o._b,this.setAlpha(o._a),this},lighten:function(){return this._applyModification(GPe,arguments)},brighten:function(){return this._applyModification(qPe,arguments)},darken:function(){return this._applyModification(KPe,arguments)},desaturate:function(){return this._applyModification(HPe,arguments)},saturate:function(){return this._applyModification(VPe,arguments)},greyscale:function(){return this._applyModification($Pe,arguments)},spin:function(){return this._applyModification(JPe,arguments)},_applyCombination:function(t,r){return t.apply(null,[this].concat([].slice.call(r)))},analogous:function(){return this._applyCombination(ZPe,arguments)},complement:function(){return this._applyCombination(XPe,arguments)},monochromatic:function(){return this._applyCombination(QPe,arguments)},splitcomplement:function(){return this._applyCombination(YPe,arguments)},triad:function(){return this._applyCombination(Bq,[3])},tetrad:function(){return this._applyCombination(Bq,[4])}};Ie.fromRatio=function(e,t){if(G_(e)=="object"){var r={};for(var o in e)e.hasOwnProperty(o)&&(o==="a"?r[o]=e[o]:r[o]=av(e[o]));e=r}return Ie(e,t)};function LPe(e){var t={r:0,g:0,b:0},r=1,o=null,a=null,n=null,s=!1,i=!1;return typeof e=="string"&&(e=aRe(e)),G_(e)=="object"&&(Ml(e.r)&&Ml(e.g)&&Ml(e.b)?(t=jPe(e.r,e.g,e.b),s=!0,i=String(e.r).substr(-1)==="%"?"prgb":"rgb"):Ml(e.h)&&Ml(e.s)&&Ml(e.v)?(o=av(e.s),a=av(e.v),t=WPe(e.h,o,a),s=!0,i="hsv"):Ml(e.h)&&Ml(e.s)&&Ml(e.l)&&(o=av(e.s),n=av(e.l),t=zPe(e.h,o,n),s=!0,i="hsl"),e.hasOwnProperty("a")&&(r=e.a)),r=jq(r),{ok:s,format:e.format||i,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:r}}function jPe(e,t,r){return{r:Er(e,255)*255,g:Er(t,255)*255,b:Er(r,255)*255}}function Mq(e,t,r){e=Er(e,255),t=Er(t,255),r=Er(r,255);var o=Math.max(e,t,r),a=Math.min(e,t,r),n,s,i=(o+a)/2;if(o==a)n=s=0;else{var p=o-a;switch(s=i>.5?p/(2-o-a):p/(o+a),o){case e:n=(t-r)/p+(t1&&(u-=1),u<1/6?l+(d-l)*6*u:u<1/2?d:u<2/3?l+(d-l)*(2/3-u)*6:l}if(t===0)o=a=n=r;else{var i=r<.5?r*(1+t):r+t-r*t,p=2*r-i;o=s(p,i,e+1/3),a=s(p,i,e),n=s(p,i,e-1/3)}return{r:o*255,g:a*255,b:n*255}}function Nq(e,t,r){e=Er(e,255),t=Er(t,255),r=Er(r,255);var o=Math.max(e,t,r),a=Math.min(e,t,r),n,s,i=o,p=o-a;if(s=o===0?0:p/o,o==a)n=0;else{switch(o){case e:n=(t-r)/p+(t>1)+720)%360;--t;)o.h=(o.h+a)%360,n.push(Ie(o));return n}function QPe(e,t){t=t||6;for(var r=Ie(e).toHsv(),o=r.h,a=r.s,n=r.v,s=[],i=1/t;t--;)s.push(Ie({h:o,s:a,v:n})),n=(n+i)%1;return s}Ie.mix=function(e,t,r){r=r===0?0:r||50;var o=Ie(e).toRgb(),a=Ie(t).toRgb(),n=r/100,s={r:(a.r-o.r)*n+o.r,g:(a.g-o.g)*n+o.g,b:(a.b-o.b)*n+o.b,a:(a.a-o.a)*n+o.a};return Ie(s)};Ie.readability=function(e,t){var r=Ie(e),o=Ie(t);return(Math.max(r.getLuminance(),o.getLuminance())+.05)/(Math.min(r.getLuminance(),o.getLuminance())+.05)};Ie.isReadable=function(e,t,r){var o=Ie.readability(e,t),a,n;switch(n=!1,a=nRe(r),a.level+a.size){case"AAsmall":case"AAAlarge":n=o>=4.5;break;case"AAlarge":n=o>=3;break;case"AAAsmall":n=o>=7;break}return n};Ie.mostReadable=function(e,t,r){var o=null,a=0,n,s,i,p;r=r||{},s=r.includeFallbackColors,i=r.level,p=r.size;for(var l=0;la&&(a=n,o=Ie(t[l]));return Ie.isReadable(e,o,{level:i,size:p})||!s?o:(r.includeFallbackColors=!1,Ie.mostReadable(e,["#fff","#000"],r))};var JD=Ie.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},eRe=Ie.hexNames=tRe(JD);function tRe(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[e[r]]=r);return t}function jq(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function Er(e,t){rRe(e)&&(e="100%");var r=oRe(e);return e=Math.min(t,Math.max(0,parseFloat(e))),r&&(e=parseInt(e*t,10)/100),Math.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function q_(e){return Math.min(1,Math.max(0,e))}function kn(e){return parseInt(e,16)}function rRe(e){return typeof e=="string"&&e.indexOf(".")!=-1&&parseFloat(e)===1}function oRe(e){return typeof e=="string"&&e.indexOf("%")!=-1}function Js(e){return e.length==1?"0"+e:""+e}function av(e){return e<=1&&(e=e*100+"%"),e}function zq(e){return Math.round(parseFloat(e)*255).toString(16)}function Lq(e){return kn(e)/255}var Ks=function(){var e="[-\\+]?\\d+%?",t="[-\\+]?\\d*\\.\\d+%?",r="(?:"+t+")|(?:"+e+")",o="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?",a="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?";return{CSS_UNIT:new RegExp(r),rgb:new RegExp("rgb"+o),rgba:new RegExp("rgba"+a),hsl:new RegExp("hsl"+o),hsla:new RegExp("hsla"+a),hsv:new RegExp("hsv"+o),hsva:new RegExp("hsva"+a),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function Ml(e){return!!Ks.CSS_UNIT.exec(e)}function aRe(e){e=e.replace(FPe,"").replace(BPe,"").toLowerCase();var t=!1;if(JD[e])e=JD[e],t=!0;else if(e=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var r;return(r=Ks.rgb.exec(e))?{r:r[1],g:r[2],b:r[3]}:(r=Ks.rgba.exec(e))?{r:r[1],g:r[2],b:r[3],a:r[4]}:(r=Ks.hsl.exec(e))?{h:r[1],s:r[2],l:r[3]}:(r=Ks.hsla.exec(e))?{h:r[1],s:r[2],l:r[3],a:r[4]}:(r=Ks.hsv.exec(e))?{h:r[1],s:r[2],v:r[3]}:(r=Ks.hsva.exec(e))?{h:r[1],s:r[2],v:r[3],a:r[4]}:(r=Ks.hex8.exec(e))?{r:kn(r[1]),g:kn(r[2]),b:kn(r[3]),a:Lq(r[4]),format:t?"name":"hex8"}:(r=Ks.hex6.exec(e))?{r:kn(r[1]),g:kn(r[2]),b:kn(r[3]),format:t?"name":"hex"}:(r=Ks.hex4.exec(e))?{r:kn(r[1]+""+r[1]),g:kn(r[2]+""+r[2]),b:kn(r[3]+""+r[3]),a:Lq(r[4]+""+r[4]),format:t?"name":"hex8"}:(r=Ks.hex3.exec(e))?{r:kn(r[1]+""+r[1]),g:kn(r[2]+""+r[2]),b:kn(r[3]+""+r[3]),format:t?"name":"hex"}:!1}function nRe(e){var t,r;return e=e||{level:"AA",size:"small"},t=(e.level||"AA").toUpperCase(),r=(e.size||"small").toLowerCase(),t!=="AA"&&t!=="AAA"&&(t="AA"),r!=="small"&&r!=="large"&&(r="small"),{level:t,size:r}}var XD=function(t){var r=["r","g","b","a","h","s","l","v"],o=0,a=0;return KD(r,function(n){if(t[n]&&(o+=1,isNaN(t[n])||(a+=1),n==="s"||n==="l")){var s=/^\d+%$/;s.test(t[n])&&(a+=1)}}),o===a?t:!1},ch=function(t,r){var o=t.hex?Ie(t.hex):Ie(t),a=o.toHsl(),n=o.toHsv(),s=o.toRgb(),i=o.toHex();a.s===0&&(a.h=r||0,n.h=r||0);var p=i==="000000"&&s.a===0;return{hsl:a,hex:p?"transparent":"#"+i,rgb:s,hsv:n,oldHue:t.h||r||a.h,source:t.source}},fa=function(t){if(t==="transparent")return!0;var r=String(t).charAt(0)==="#"?1:0;return t.length!==4+r&&t.length<7+r&&Ie(t).isValid()},mh=function(t){if(!t)return"#fff";var r=ch(t);if(r.hex==="transparent")return"rgba(0,0,0,0.4)";var o=(r.rgb.r*299+r.rgb.g*587+r.rgb.b*114)/1e3;return o>=128?"#000":"#fff"};var K_=function(t,r){var o=t.replace("\xB0","");return Ie(r+" ("+o+")")._ok};var nv=Object.assign||function(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:"span";return function(o){mRe(a,o);function a(){var n,s,i,p;cRe(this,a);for(var l=arguments.length,d=Array(l),u=0;ui))return!1;var l=n.get(e),d=n.get(t);if(l&&d)return l==t&&d==e;var u=-1,f=!0,c=r&kRe?new Zq:void 0;for(n.set(e,t),n.set(t,e);++u1&&(a.a=1),o.props.onChange({h:o.props.hsl.h,s:o.props.hsl.s,l:o.props.hsl.l,a:Math.round(a.a*100)/100,source:"rgb"},n)):(a.h||a.s||a.l)&&(typeof a.s=="string"&&a.s.includes("%")&&(a.s=a.s.replace("%","")),typeof a.l=="string"&&a.l.includes("%")&&(a.l=a.l.replace("%","")),a.s==1?a.s=.01:a.l==1&&(a.l=.01),o.props.onChange({h:a.h||o.props.hsl.h,s:Number(iA(a.s)?o.props.hsl.s:a.s),l:Number(iA(a.l)?o.props.hsl.l:a.l),source:"hsl"},n))},o.showHighlight=function(a){a.currentTarget.style.background="#eee"},o.hideHighlight=function(a){a.currentTarget.style.background="transparent"},r.hsl.a!==1&&r.view==="hex"?o.state={view:"rgb"}:o.state={view:r.view},o}return aAe(t,[{key:"render",value:function(){var o=this,a=(0,QK.default)({default:{wrap:{paddingTop:"16px",display:"flex"},fields:{flex:"1",display:"flex",marginLeft:"-6px"},field:{paddingLeft:"6px",width:"100%"},alpha:{paddingLeft:"6px",width:"100%"},toggle:{width:"32px",textAlign:"right",position:"relative"},icon:{marginRight:"-4px",marginTop:"12px",cursor:"pointer",position:"relative"},iconHighlight:{position:"absolute",width:"24px",height:"28px",background:"#eee",borderRadius:"4px",top:"10px",left:"12px",display:"none"},input:{fontSize:"11px",color:"#333",width:"100%",borderRadius:"2px",border:"none",boxShadow:"inset 0 0 0 1px #dadada",height:"21px",textAlign:"center"},label:{textTransform:"uppercase",fontSize:"11px",lineHeight:"11px",color:"#969696",textAlign:"center",display:"block",marginTop:"12px"},svg:{fill:"#333",width:"24px",height:"24px",border:"1px transparent solid",borderRadius:"5px"}},disableAlpha:{alpha:{display:"none"}}},this.props,this.state),n=void 0;return this.state.view==="hex"?n=pr.default.createElement("div",{style:a.fields,className:"flexbox-fix"},pr.default.createElement("div",{style:a.field},pr.default.createElement(dt,{style:{input:a.input,label:a.label},label:"hex",value:this.props.hex,onChange:this.handleChange}))):this.state.view==="rgb"?n=pr.default.createElement("div",{style:a.fields,className:"flexbox-fix"},pr.default.createElement("div",{style:a.field},pr.default.createElement(dt,{style:{input:a.input,label:a.label},label:"r",value:this.props.rgb.r,onChange:this.handleChange})),pr.default.createElement("div",{style:a.field},pr.default.createElement(dt,{style:{input:a.input,label:a.label},label:"g",value:this.props.rgb.g,onChange:this.handleChange})),pr.default.createElement("div",{style:a.field},pr.default.createElement(dt,{style:{input:a.input,label:a.label},label:"b",value:this.props.rgb.b,onChange:this.handleChange})),pr.default.createElement("div",{style:a.alpha},pr.default.createElement(dt,{style:{input:a.input,label:a.label},label:"a",value:this.props.rgb.a,arrowOffset:.01,onChange:this.handleChange}))):this.state.view==="hsl"&&(n=pr.default.createElement("div",{style:a.fields,className:"flexbox-fix"},pr.default.createElement("div",{style:a.field},pr.default.createElement(dt,{style:{input:a.input,label:a.label},label:"h",value:Math.round(this.props.hsl.h),onChange:this.handleChange})),pr.default.createElement("div",{style:a.field},pr.default.createElement(dt,{style:{input:a.input,label:a.label},label:"s",value:Math.round(this.props.hsl.s*100)+"%",onChange:this.handleChange})),pr.default.createElement("div",{style:a.field},pr.default.createElement(dt,{style:{input:a.input,label:a.label},label:"l",value:Math.round(this.props.hsl.l*100)+"%",onChange:this.handleChange})),pr.default.createElement("div",{style:a.alpha},pr.default.createElement(dt,{style:{input:a.input,label:a.label},label:"a",value:this.props.hsl.a,arrowOffset:.01,onChange:this.handleChange})))),pr.default.createElement("div",{style:a.wrap,className:"flexbox-fix"},n,pr.default.createElement("div",{style:a.toggle},pr.default.createElement("div",{style:a.icon,onClick:this.toggleViews,ref:function(i){return o.icon=i}},pr.default.createElement(eJ.default,{style:a.svg,onMouseOver:this.showHighlight,onMouseEnter:this.showHighlight,onMouseOut:this.hideHighlight}))))}}],[{key:"getDerivedStateFromProps",value:function(o,a){return o.hsl.a!==1&&a.view==="hex"?{view:"rgb"}:null}}]),t}(pr.default.Component);tJ.defaultProps={view:"hex"};var rJ=tJ;var oJ=y(D()),aJ=y(rt()),lAe=function(){var t=(0,aJ.default)({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",transform:"translate(-6px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}}});return oJ.default.createElement("div",{style:t.picker})},pA=lAe;var nJ=y(D()),sJ=y(rt()),pAe=function(){var t=(0,sJ.default)({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",boxShadow:"inset 0 0 0 1px #fff",transform:"translate(-6px, -6px)"}}});return nJ.default.createElement("div",{style:t.picker})},iJ=pAe;var dA=function(t){var r=t.width,o=t.onChange,a=t.disableAlpha,n=t.rgb,s=t.hsl,i=t.hsv,p=t.hex,l=t.renderers,d=t.styles,u=d===void 0?{}:d,f=t.className,c=f===void 0?"":f,h=t.defaultView,g=(0,lJ.default)(or({default:{picker:{width:r,background:"#fff",borderRadius:"2px",boxShadow:"0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3)",boxSizing:"initial",fontFamily:"Menlo"},saturation:{width:"100%",paddingBottom:"55%",position:"relative",borderRadius:"2px 2px 0 0",overflow:"hidden"},Saturation:{radius:"2px 2px 0 0"},body:{padding:"16px 16px 12px"},controls:{display:"flex"},color:{width:"32px"},swatch:{marginTop:"6px",width:"16px",height:"16px",borderRadius:"8px",position:"relative",overflow:"hidden"},active:{absolute:"0px 0px 0px 0px",borderRadius:"8px",boxShadow:"inset 0 0 0 1px rgba(0,0,0,.1)",background:"rgba("+n.r+", "+n.g+", "+n.b+", "+n.a+")",zIndex:"2"},toggles:{flex:"1"},hue:{height:"10px",position:"relative",marginBottom:"8px"},Hue:{radius:"2px"},alpha:{height:"10px",position:"relative"},Alpha:{radius:"2px"}},disableAlpha:{color:{width:"22px"},alpha:{display:"none"},hue:{marginBottom:"0px"},swatch:{width:"10px",height:"10px",marginTop:"0px"}}},u),{disableAlpha:a});return ca.default.createElement("div",{style:g.picker,className:"chrome-picker "+c},ca.default.createElement("div",{style:g.saturation},ca.default.createElement(Al,{style:g.Saturation,hsl:s,hsv:i,pointer:iJ,onChange:o})),ca.default.createElement("div",{style:g.body},ca.default.createElement("div",{style:g.controls,className:"flexbox-fix"},ca.default.createElement("div",{style:g.color},ca.default.createElement("div",{style:g.swatch},ca.default.createElement("div",{style:g.active}),ca.default.createElement(Gs,{renderers:l}))),ca.default.createElement("div",{style:g.toggles},ca.default.createElement("div",{style:g.hue},ca.default.createElement(Cn,{style:g.Hue,hsl:s,pointer:pA,onChange:o})),ca.default.createElement("div",{style:g.alpha},ca.default.createElement(uf,{style:g.Alpha,rgb:n,hsl:s,pointer:pA,renderers:l,onChange:o})))),ca.default.createElement(rJ,{rgb:n,hsl:s,hex:p,view:h,onChange:o,disableAlpha:a})))};dA.propTypes={width:vf.default.oneOfType([vf.default.string,vf.default.number]),disableAlpha:vf.default.bool,styles:vf.default.object,defaultView:vf.default.oneOf(["hex","rgb","hsl"])};dA.defaultProps={width:225,disableAlpha:!1,styles:{}};var uA=Wt(dA);var Tf=y(D()),f0=y(Io()),cJ=y(rt());var fA=y(D()),pJ=y(rt());var dAe=function(t){var r=t.color,o=t.onClick,a=o===void 0?function(){}:o,n=t.onSwatchHover,s=t.active,i=(0,pJ.default)({default:{color:{background:r,width:"15px",height:"15px",float:"left",marginRight:"5px",marginBottom:"5px",position:"relative",cursor:"pointer"},dot:{absolute:"5px 5px 5px 5px",background:mh(r),borderRadius:"50%",opacity:"0"}},active:{dot:{opacity:"1"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},dot:{background:"#000"}},transparent:{dot:{background:"#000"}}},{active:s,"color-#FFFFFF":r==="#FFFFFF",transparent:r==="transparent"});return fA.default.createElement(Na,{style:i.color,color:r,onClick:a,onHover:n,focusStyle:{boxShadow:"0 0 4px "+r}},fA.default.createElement("div",{style:i.dot}))},dJ=dAe;var bf=y(D()),uJ=y(rt());var uAe=function(t){var r=t.hex,o=t.rgb,a=t.onChange,n=(0,uJ.default)({default:{fields:{display:"flex",paddingBottom:"6px",paddingRight:"5px",position:"relative"},active:{position:"absolute",top:"6px",left:"5px",height:"9px",width:"9px",background:r},HEXwrap:{flex:"6",position:"relative"},HEXinput:{width:"80%",padding:"0px",paddingLeft:"20%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},HEXlabel:{display:"none"},RGBwrap:{flex:"3",position:"relative"},RGBinput:{width:"70%",padding:"0px",paddingLeft:"30%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},RGBlabel:{position:"absolute",top:"3px",left:"0px",lineHeight:"16px",textTransform:"uppercase",fontSize:"12px",color:"#999"}}}),s=function(p,l){p.r||p.g||p.b?a({r:p.r||o.r,g:p.g||o.g,b:p.b||o.b,source:"rgb"},l):a({hex:p.hex,source:"hex"},l)};return bf.default.createElement("div",{style:n.fields,className:"flexbox-fix"},bf.default.createElement("div",{style:n.active}),bf.default.createElement(dt,{style:{wrap:n.HEXwrap,input:n.HEXinput,label:n.HEXlabel},label:"hex",value:r,onChange:s}),bf.default.createElement(dt,{style:{wrap:n.RGBwrap,input:n.RGBinput,label:n.RGBlabel},label:"r",value:o.r,onChange:s}),bf.default.createElement(dt,{style:{wrap:n.RGBwrap,input:n.RGBinput,label:n.RGBlabel},label:"g",value:o.g,onChange:s}),bf.default.createElement(dt,{style:{wrap:n.RGBwrap,input:n.RGBinput,label:n.RGBlabel},label:"b",value:o.b,onChange:s}))},fJ=uAe;var cA=function(t){var r=t.onChange,o=t.onSwatchHover,a=t.colors,n=t.hex,s=t.rgb,i=t.styles,p=i===void 0?{}:i,l=t.className,d=l===void 0?"":l,u=(0,cJ.default)(or({default:{Compact:{background:"#f6f6f6",radius:"4px"},compact:{paddingTop:"5px",paddingLeft:"5px",boxSizing:"initial",width:"240px"},clear:{clear:"both"}}},p)),f=function(h,g){h.hex?fa(h.hex)&&r({hex:h.hex,source:"hex"},g):r(h,g)};return Tf.default.createElement(hf,{style:u.Compact,styles:p},Tf.default.createElement("div",{style:u.compact,className:"compact-picker "+d},Tf.default.createElement("div",null,an(a,function(c){return Tf.default.createElement(dJ,{key:c,color:c,active:c.toLowerCase()===n,onClick:f,onSwatchHover:o})}),Tf.default.createElement("div",{style:u.clear})),Tf.default.createElement(fJ,{hex:n,rgb:s,onChange:f})))};cA.propTypes={colors:f0.default.arrayOf(f0.default.string),styles:f0.default.object};cA.defaultProps={colors:["#4D4D4D","#999999","#FFFFFF","#F44E3B","#FE9200","#FCDC00","#DBDF00","#A4DD00","#68CCCA","#73D8FF","#AEA1FF","#FDA1FF","#333333","#808080","#cccccc","#D33115","#E27300","#FCC400","#B0BC00","#68BC00","#16A5A5","#009CE0","#7B64FF","#FA28FF","#000000","#666666","#B3B3B3","#9F0500","#C45100","#FB9E00","#808900","#194D33","#0C797D","#0062B1","#653294","#AB149E"],styles:{}};var fAe=Wt(cA);var sv=y(D()),gd=y(Io()),hJ=y(rt());var mA=y(D()),c0=y(rt());var cAe=function(t){var r=t.hover,o=t.color,a=t.onClick,n=t.onSwatchHover,s={position:"relative",zIndex:"2",outline:"2px solid #fff",boxShadow:"0 0 5px 2px rgba(0,0,0,0.25)"},i=(0,c0.default)({default:{swatch:{width:"25px",height:"25px",fontSize:"0"}},hover:{swatch:s}},{hover:r});return mA.default.createElement("div",{style:i.swatch},mA.default.createElement(Na,{color:o,onClick:a,onHover:n,focusStyle:s}))},mJ=(0,c0.handleHover)(cAe);var hA=function(t){var r=t.width,o=t.colors,a=t.onChange,n=t.onSwatchHover,s=t.triangle,i=t.styles,p=i===void 0?{}:i,l=t.className,d=l===void 0?"":l,u=(0,hJ.default)(or({default:{card:{width:r,background:"#fff",border:"1px solid rgba(0,0,0,0.2)",boxShadow:"0 3px 12px rgba(0,0,0,0.15)",borderRadius:"4px",position:"relative",padding:"5px",display:"flex",flexWrap:"wrap"},triangle:{position:"absolute",border:"7px solid transparent",borderBottomColor:"#fff"},triangleShadow:{position:"absolute",border:"8px solid transparent",borderBottomColor:"rgba(0,0,0,0.15)"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-14px",left:"10px"},triangleShadow:{top:"-16px",left:"9px"}},"top-right-triangle":{triangle:{top:"-14px",right:"10px"},triangleShadow:{top:"-16px",right:"9px"}},"bottom-left-triangle":{triangle:{top:"35px",left:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",left:"9px",transform:"rotate(180deg)"}},"bottom-right-triangle":{triangle:{top:"35px",right:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",right:"9px",transform:"rotate(180deg)"}}},p),{"hide-triangle":s==="hide","top-left-triangle":s==="top-left","top-right-triangle":s==="top-right","bottom-left-triangle":s==="bottom-left","bottom-right-triangle":s==="bottom-right"}),f=function(h,g){return a({hex:h,source:"hex"},g)};return sv.default.createElement("div",{style:u.card,className:"github-picker "+d},sv.default.createElement("div",{style:u.triangleShadow}),sv.default.createElement("div",{style:u.triangle}),an(o,function(c){return sv.default.createElement(mJ,{color:c,key:c,onClick:f,onSwatchHover:n})}))};hA.propTypes={width:gd.default.oneOfType([gd.default.string,gd.default.number]),colors:gd.default.arrayOf(gd.default.string),triangle:gd.default.oneOf(["hide","top-left","top-right","bottom-left","bottom-right"]),styles:gd.default.object};hA.defaultProps={width:200,colors:["#B80000","#DB3E00","#FCCB00","#008B02","#006B76","#1273DE","#004DCF","#5300EB","#EB9694","#FAD0C3","#FEF3BD","#C1E1C5","#BEDADC","#C4DEF6","#BED3F3","#D4C4FB"],triangle:"top-left",styles:{}};var mAe=Wt(hA);var xA=y(D()),vJ=y(Io()),bJ=y(rt());var xJ=y(D()),gJ=y(rt()),hAe=function(t){var r=t.direction,o=(0,gJ.default)({default:{picker:{width:"18px",height:"18px",borderRadius:"50%",transform:"translate(-9px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}},vertical:{picker:{transform:"translate(-3px, -9px)"}}},{vertical:r==="vertical"});return xJ.default.createElement("div",{style:o.picker})},yJ=hAe;var xAe=Object.assign||function(e){for(var t=1;t.5});return _J.default.createElement("div",{style:o.picker})},OJ=TAe;var gh=y(D()),kJ=y(rt()),SAe=function(){var t=(0,kJ.default)({default:{triangle:{width:0,height:0,borderStyle:"solid",borderWidth:"4px 0 4px 6px",borderColor:"transparent transparent transparent #fff",position:"absolute",top:"1px",left:"1px"},triangleBorder:{width:0,height:0,borderStyle:"solid",borderWidth:"5px 0 5px 8px",borderColor:"transparent transparent transparent #555"},left:{Extend:"triangleBorder",transform:"translate(-13px, -4px)"},leftInside:{Extend:"triangle",transform:"translate(-8px, -5px)"},right:{Extend:"triangleBorder",transform:"translate(20px, -14px) rotate(180deg)"},rightInside:{Extend:"triangle",transform:"translate(-8px, -5px)"}}});return gh.default.createElement("div",{style:t.pointer},gh.default.createElement("div",{style:t.left},gh.default.createElement("div",{style:t.leftInside})),gh.default.createElement("div",{style:t.right},gh.default.createElement("div",{style:t.rightInside})))},EJ=SAe;var PJ=y(D()),RJ=y(rt()),wAe=function(t){var r=t.onClick,o=t.label,a=t.children,n=t.active,s=(0,RJ.default)({default:{button:{backgroundImage:"linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%)",border:"1px solid #878787",borderRadius:"2px",height:"20px",boxShadow:"0 1px 0 0 #EAEAEA",fontSize:"14px",color:"#000",lineHeight:"20px",textAlign:"center",marginBottom:"10px",cursor:"pointer"}},active:{button:{boxShadow:"0 0 0 1px #878787"}}},{active:n});return PJ.default.createElement("div",{style:s.button,onClick:r},o||a)},yA=wAe;var Sf=y(D()),DJ=y(rt()),_Ae=function(t){var r=t.rgb,o=t.currentColor,a=(0,DJ.default)({default:{swatches:{border:"1px solid #B3B3B3",borderBottom:"1px solid #F0F0F0",marginBottom:"2px",marginTop:"1px"},new:{height:"34px",background:"rgb("+r.r+","+r.g+", "+r.b+")",boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000"},current:{height:"34px",background:o,boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 -1px 0 #000"},label:{fontSize:"14px",color:"#000",textAlign:"center"}}});return Sf.default.createElement("div",null,Sf.default.createElement("div",{style:a.label},"new"),Sf.default.createElement("div",{style:a.swatches},Sf.default.createElement("div",{style:a.new}),Sf.default.createElement("div",{style:a.current})),Sf.default.createElement("div",{style:a.label},"current"))},AJ=_Ae;var CAe=function(){function e(t,r){for(var o=0;o100&&(d.a=100),d.a/=100,r({h:a.h,s:a.s,l:a.l,a:d.a,source:"rgb"},u))};return hs.default.createElement("div",{style:i.fields,className:"flexbox-fix"},hs.default.createElement("div",{style:i.double},hs.default.createElement(dt,{style:{input:i.input,label:i.label},label:"hex",value:n.replace("#",""),onChange:p})),hs.default.createElement("div",{style:i.single},hs.default.createElement(dt,{style:{input:i.input,label:i.label},label:"r",value:o.r,onChange:p,dragLabel:"true",dragMax:"255"})),hs.default.createElement("div",{style:i.single},hs.default.createElement(dt,{style:{input:i.input,label:i.label},label:"g",value:o.g,onChange:p,dragLabel:"true",dragMax:"255"})),hs.default.createElement("div",{style:i.single},hs.default.createElement(dt,{style:{input:i.input,label:i.label},label:"b",value:o.b,onChange:p,dragLabel:"true",dragMax:"255"})),hs.default.createElement("div",{style:i.alpha},hs.default.createElement(dt,{style:{input:i.input,label:i.label},label:"a",value:Math.round(o.a*100),onChange:p,dragLabel:"true",dragMax:"100"})))},IJ=RAe;var m0=y(D()),wf=y(Io()),FJ=y(rt());var DAe=Object.assign||function(e){for(var t=1;t1){let s=parseInt(n[1],10);for(let i=parseInt(n[0],10);i<=s;i++)r.push(i)}else r.push(parseInt(o[a],10))}r.sort();for(let a=r.length-1;a>=0;a--)r[a]===r[a+1]&&r.splice(a+1,1);return r}function OX(e,t){if(typeof e!="object"&&(e=[e]),e.length===t)return"*";let r=[];if(!e.length)return"-";e=e.map(n=>parseInt(n,10)),e.sort((n,s)=>n-s);let o=e[0],a=e[0];for(let n=1;nthis.props.onChange&&this.props.onChange(this.state.cron),100)}static cron2state(t){t=t.replace(/['"]/g,"").trim();let r=t.split(" ").map(a=>a.trim()),o;return r.length===6?o={seconds:r[0]||"*",minutes:r[1]||"*",hours:r[2]||"*",dates:r[3]||"*",months:r[4]||"*",dow:r[5]||"*"}:o={seconds:!1,minutes:r[0]||"*",hours:r[1]||"*",dates:r[2]||"*",months:r[3]||"*",dow:r[4]||"*"},o}static state2cron(t){let r=`${t.minutes} ${t.hours} ${t.dates} ${t.months} ${t.dow}`;return t.seconds!==!1&&(r=`${t.seconds} ${r}`),r}recalcCron(){let t=e.state2cron(this.state);t!==this.state.cron&&this.setState({cron:t},()=>this.props.onChange&&this.props.onChange(this.state.cron))}onToggle(t,r,o){if(t===!0)this.setCronAttr(r,"*");else if(t===!1)o===60||o===24?this.setCronAttr(r,"0"):this.setCronAttr(r,"1");else{let a=CX(this.state[r],o),n=a.indexOf(t);n!==-1?a.splice(n,1):(a.push(t),a.sort()),this.setCronAttr(r,OX(a,o))}}getDigitsSelector(t,r){let o=[];if(r===7)o=[1,2,3,4,5,6,0];else if(r===60||r===24)for(let n=0;nthis.onToggle(!1,t,r)},R.t("ra_Deselect all")),_t.default.createElement(tt,{key:"addall",variant:"contained",style:nn.numberButton,color:"secondary",onClick:()=>this.onToggle(!0,t,r)},R.t("ra_Select all")),_t.default.createElement("div",{key:"all"},o.map(n=>[r===7&&n===4||r===12&&n===7||r===31&&!((n-1)%10)||r===60&&n&&!(n%10)||r===24&&n&&!(n%6)?_t.default.createElement("div",{key:`allInner${n}`,style:{width:"100%"}}):null,_t.default.createElement(tt,{key:`_${n}`,variant:a.indexOf(n)!==-1?"contained":"outlined",style:nn.numberButton,color:a.indexOf(n)!==-1?"secondary":"primary",onClick:()=>this.onToggle(n,t,r)},r===7?R.t(qAe[n]):r===12?KAe[n-1]:n)]))]}getPeriodsTab(t,r){let o=this.state[t],a=o==="*",n=o==null?!1:o.toString().includes("/"),s;if(this.state.modes[t]===null){s=a?"every":n?"everyN":"specific";let p=JSON.parse(JSON.stringify(this.state.modes));return p[t]=s,setTimeout(()=>this.setState({modes:p},()=>this.recalcCron()),100),null}a=this.state.modes[t]==="every",n=this.state.modes[t]==="everyN",s=this.state.modes[t];let i=1;return n&&o&&(i=parseInt(o.replace("*/",""),10)||1),_t.default.createElement("div",null,_t.default.createElement(ea,{variant:"standard",style:{...nn.periodSelect,verticalAlign:"bottom"},value:s,onChange:p=>{let l=JSON.parse(JSON.stringify(this.state.modes));if(l[t]=p.target.value,p.target.value==="every")this.setCronAttr(t,"*",l);else if(p.target.value==="everyN"){let d=parseInt((this.state[t]||"").toString().replace("*/",""),10)||1;this.setCronAttr(t,`*/${d}`,l)}else if(p.target.value==="specific"){let d=parseInt((this.state[t]||"").toString().split(",")[0],10)||0;!d&&(t==="months"||t==="dates")&&(d=1),this.setCronAttr(t,OX(d,r),l)}}},_t.default.createElement(Mt,{key:"every",value:"every"},R.t(`sc_every_${t}`)),_t.default.createElement(Mt,{key:"everyN",value:"everyN"},R.t(`sc_everyN_${t}`)),_t.default.createElement(Mt,{key:"specific",value:"specific"},R.t(`sc_specific_${t}`))),n&&_t.default.createElement(vr,{variant:"standard",key:"interval",label:R.t(`sc_${t}`),value:i,slotProps:{htmlInput:{min:1,max:r},inputLabel:{shrink:!0}},onChange:p=>{this.setState({[t]:`*/${p.target.value}`},()=>this.recalcCron())},type:"number",margin:"normal"}),!a&&!n&&this.getDigitsSelector(t,r))}static convertCronToText(t,r){return t.split(" ").includes("-")?R.t("ra_Invalid CRON"):iv(t,r)}setCronAttr(t,r,o){o?t==="seconds"?this.setState({seconds:r,modes:o},()=>this.recalcCron()):t==="minutes"?this.setState({minutes:r,modes:o},()=>this.recalcCron()):t==="hours"?this.setState({hours:r,modes:o},()=>this.recalcCron()):t==="dates"?this.setState({dates:r,modes:o},()=>this.recalcCron()):t==="months"?this.setState({months:r,modes:o},()=>this.recalcCron()):t==="dow"?this.setState({dow:r,modes:o},()=>this.recalcCron()):this.setState({modes:o},()=>this.recalcCron()):t==="seconds"?this.setState({seconds:r},()=>this.recalcCron()):t==="minutes"?this.setState({minutes:r},()=>this.recalcCron()):t==="hours"?this.setState({hours:r},()=>this.recalcCron()):t==="dates"?this.setState({dates:r},()=>this.recalcCron()):t==="months"?this.setState({months:r},()=>this.recalcCron()):t==="dow"&&this.setState({dow:r},()=>this.recalcCron())}render(){let t=this.state.seconds!==!1?this.state.tab:this.state.tab+1,r=this.state.minutes==="*"||this.state.minutes==="*/1",o=this.state.seconds==="*"||this.state.seconds==="*/1";return _t.default.createElement("div",{style:nn.mainDiv},_t.default.createElement("div",{style:{paddingLeft:8,width:"calc(100% - px)"}},_t.default.createElement(vr,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0})),_t.default.createElement("div",{style:{paddingLeft:8,width:"calc(100% - px)",height:60}},e.convertCronToText(this.state.cron,this.props.language||"en"),_t.default.createElement("span",{style:nn.warning},o?R.t("ra_warning_every_second"):r?R.t("ra_warning_every_minute"):"")),_t.default.createElement(Ke,{control:_t.default.createElement(jt,{checked:!!this.state.seconds,onChange:a=>this.setState({seconds:a.target.checked?"*":!1},()=>this.recalcCron())}),label:R.t("ra_use seconds")}),_t.default.createElement(cw,{position:"static",sx:{"&.MuiAppBar-root":nn.appBar},color:"secondary"},_t.default.createElement(Lm,{value:this.state.tab,style:nn.appBar,color:"secondary",onChange:(a,n)=>this.setState({tab:n})},this.state.seconds!==!1&&_t.default.createElement(Sn,{id:"sc_seconds",label:R.t("sc_seconds")}),_t.default.createElement(Sn,{id:"minutes",label:R.t("sc_minutes")}),_t.default.createElement(Sn,{id:"hours",label:R.t("sc_hours")}),_t.default.createElement(Sn,{id:"dates",label:R.t("sc_dates")}),_t.default.createElement(Sn,{id:"months",label:R.t("sc_months")}),_t.default.createElement(Sn,{id:"dow",label:R.t("sc_dows")}))),t===0&&_t.default.createElement("div",{style:nn.tabContent},this.getPeriodsTab("seconds",60)),t===1&&_t.default.createElement("div",{style:nn.tabContent},this.getPeriodsTab("minutes",60)),t===2&&_t.default.createElement("div",{style:nn.tabContent},this.getPeriodsTab("hours",24)),t===3&&_t.default.createElement("div",{style:nn.tabContent},this.getPeriodsTab("dates",31)),t===4&&_t.default.createElement("div",{style:nn.tabContent},this.getPeriodsTab("months",12)),t===5&&_t.default.createElement("div",{style:nn.tabContent},this.getPeriodsTab("dow",7)))}};var zA=y(D());var fe=y(D());var yt=y(D()),ar=y(Io());function bd(e,t,r,o){function a(n){return n instanceof r?n:new r(function(s){s(n)})}return new(r||(r=Promise))(function(n,s){function i(d){try{l(o.next(d))}catch(u){s(u)}}function p(d){try{l(o.throw(d))}catch(u){s(u)}}function l(d){d.done?n(d.value):a(d.value).then(i,p)}l((o=o.apply(e,t||[])).next())})}var JAe=new Map([["1km","application/vnd.1000minds.decision-model+xml"],["3dml","text/vnd.in3d.3dml"],["3ds","image/x-3ds"],["3g2","video/3gpp2"],["3gp","video/3gp"],["3gpp","video/3gpp"],["3mf","model/3mf"],["7z","application/x-7z-compressed"],["7zip","application/x-7z-compressed"],["123","application/vnd.lotus-1-2-3"],["aab","application/x-authorware-bin"],["aac","audio/x-acc"],["aam","application/x-authorware-map"],["aas","application/x-authorware-seg"],["abw","application/x-abiword"],["ac","application/vnd.nokia.n-gage.ac+xml"],["ac3","audio/ac3"],["acc","application/vnd.americandynamics.acc"],["ace","application/x-ace-compressed"],["acu","application/vnd.acucobol"],["acutc","application/vnd.acucorp"],["adp","audio/adpcm"],["aep","application/vnd.audiograph"],["afm","application/x-font-type1"],["afp","application/vnd.ibm.modcap"],["ahead","application/vnd.ahead.space"],["ai","application/pdf"],["aif","audio/x-aiff"],["aifc","audio/x-aiff"],["aiff","audio/x-aiff"],["air","application/vnd.adobe.air-application-installer-package+zip"],["ait","application/vnd.dvb.ait"],["ami","application/vnd.amiga.ami"],["amr","audio/amr"],["apk","application/vnd.android.package-archive"],["apng","image/apng"],["appcache","text/cache-manifest"],["application","application/x-ms-application"],["apr","application/vnd.lotus-approach"],["arc","application/x-freearc"],["arj","application/x-arj"],["asc","application/pgp-signature"],["asf","video/x-ms-asf"],["asm","text/x-asm"],["aso","application/vnd.accpac.simply.aso"],["asx","video/x-ms-asf"],["atc","application/vnd.acucorp"],["atom","application/atom+xml"],["atomcat","application/atomcat+xml"],["atomdeleted","application/atomdeleted+xml"],["atomsvc","application/atomsvc+xml"],["atx","application/vnd.antix.game-component"],["au","audio/x-au"],["avi","video/x-msvideo"],["avif","image/avif"],["aw","application/applixware"],["azf","application/vnd.airzip.filesecure.azf"],["azs","application/vnd.airzip.filesecure.azs"],["azv","image/vnd.airzip.accelerator.azv"],["azw","application/vnd.amazon.ebook"],["b16","image/vnd.pco.b16"],["bat","application/x-msdownload"],["bcpio","application/x-bcpio"],["bdf","application/x-font-bdf"],["bdm","application/vnd.syncml.dm+wbxml"],["bdoc","application/x-bdoc"],["bed","application/vnd.realvnc.bed"],["bh2","application/vnd.fujitsu.oasysprs"],["bin","application/octet-stream"],["blb","application/x-blorb"],["blorb","application/x-blorb"],["bmi","application/vnd.bmi"],["bmml","application/vnd.balsamiq.bmml+xml"],["bmp","image/bmp"],["book","application/vnd.framemaker"],["box","application/vnd.previewsystems.box"],["boz","application/x-bzip2"],["bpk","application/octet-stream"],["bpmn","application/octet-stream"],["bsp","model/vnd.valve.source.compiled-map"],["btif","image/prs.btif"],["buffer","application/octet-stream"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["c","text/x-c"],["c4d","application/vnd.clonk.c4group"],["c4f","application/vnd.clonk.c4group"],["c4g","application/vnd.clonk.c4group"],["c4p","application/vnd.clonk.c4group"],["c4u","application/vnd.clonk.c4group"],["c11amc","application/vnd.cluetrust.cartomobile-config"],["c11amz","application/vnd.cluetrust.cartomobile-config-pkg"],["cab","application/vnd.ms-cab-compressed"],["caf","audio/x-caf"],["cap","application/vnd.tcpdump.pcap"],["car","application/vnd.curl.car"],["cat","application/vnd.ms-pki.seccat"],["cb7","application/x-cbr"],["cba","application/x-cbr"],["cbr","application/x-cbr"],["cbt","application/x-cbr"],["cbz","application/x-cbr"],["cc","text/x-c"],["cco","application/x-cocoa"],["cct","application/x-director"],["ccxml","application/ccxml+xml"],["cdbcmsg","application/vnd.contact.cmsg"],["cda","application/x-cdf"],["cdf","application/x-netcdf"],["cdfx","application/cdfx+xml"],["cdkey","application/vnd.mediastation.cdkey"],["cdmia","application/cdmi-capability"],["cdmic","application/cdmi-container"],["cdmid","application/cdmi-domain"],["cdmio","application/cdmi-object"],["cdmiq","application/cdmi-queue"],["cdr","application/cdr"],["cdx","chemical/x-cdx"],["cdxml","application/vnd.chemdraw+xml"],["cdy","application/vnd.cinderella"],["cer","application/pkix-cert"],["cfs","application/x-cfs-compressed"],["cgm","image/cgm"],["chat","application/x-chat"],["chm","application/vnd.ms-htmlhelp"],["chrt","application/vnd.kde.kchart"],["cif","chemical/x-cif"],["cii","application/vnd.anser-web-certificate-issue-initiation"],["cil","application/vnd.ms-artgalry"],["cjs","application/node"],["cla","application/vnd.claymore"],["class","application/octet-stream"],["clkk","application/vnd.crick.clicker.keyboard"],["clkp","application/vnd.crick.clicker.palette"],["clkt","application/vnd.crick.clicker.template"],["clkw","application/vnd.crick.clicker.wordbank"],["clkx","application/vnd.crick.clicker"],["clp","application/x-msclip"],["cmc","application/vnd.cosmocaller"],["cmdf","chemical/x-cmdf"],["cml","chemical/x-cml"],["cmp","application/vnd.yellowriver-custom-menu"],["cmx","image/x-cmx"],["cod","application/vnd.rim.cod"],["coffee","text/coffeescript"],["com","application/x-msdownload"],["conf","text/plain"],["cpio","application/x-cpio"],["cpp","text/x-c"],["cpt","application/mac-compactpro"],["crd","application/x-mscardfile"],["crl","application/pkix-crl"],["crt","application/x-x509-ca-cert"],["crx","application/x-chrome-extension"],["cryptonote","application/vnd.rig.cryptonote"],["csh","application/x-csh"],["csl","application/vnd.citationstyles.style+xml"],["csml","chemical/x-csml"],["csp","application/vnd.commonspace"],["csr","application/octet-stream"],["css","text/css"],["cst","application/x-director"],["csv","text/csv"],["cu","application/cu-seeme"],["curl","text/vnd.curl"],["cww","application/prs.cww"],["cxt","application/x-director"],["cxx","text/x-c"],["dae","model/vnd.collada+xml"],["daf","application/vnd.mobius.daf"],["dart","application/vnd.dart"],["dataless","application/vnd.fdsn.seed"],["davmount","application/davmount+xml"],["dbf","application/vnd.dbf"],["dbk","application/docbook+xml"],["dcr","application/x-director"],["dcurl","text/vnd.curl.dcurl"],["dd2","application/vnd.oma.dd2+xml"],["ddd","application/vnd.fujixerox.ddd"],["ddf","application/vnd.syncml.dmddf+xml"],["dds","image/vnd.ms-dds"],["deb","application/x-debian-package"],["def","text/plain"],["deploy","application/octet-stream"],["der","application/x-x509-ca-cert"],["dfac","application/vnd.dreamfactory"],["dgc","application/x-dgc-compressed"],["dic","text/x-c"],["dir","application/x-director"],["dis","application/vnd.mobius.dis"],["disposition-notification","message/disposition-notification"],["dist","application/octet-stream"],["distz","application/octet-stream"],["djv","image/vnd.djvu"],["djvu","image/vnd.djvu"],["dll","application/octet-stream"],["dmg","application/x-apple-diskimage"],["dmn","application/octet-stream"],["dmp","application/vnd.tcpdump.pcap"],["dms","application/octet-stream"],["dna","application/vnd.dna"],["doc","application/msword"],["docm","application/vnd.ms-word.template.macroEnabled.12"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["dot","application/msword"],["dotm","application/vnd.ms-word.template.macroEnabled.12"],["dotx","application/vnd.openxmlformats-officedocument.wordprocessingml.template"],["dp","application/vnd.osgi.dp"],["dpg","application/vnd.dpgraph"],["dra","audio/vnd.dra"],["drle","image/dicom-rle"],["dsc","text/prs.lines.tag"],["dssc","application/dssc+der"],["dtb","application/x-dtbook+xml"],["dtd","application/xml-dtd"],["dts","audio/vnd.dts"],["dtshd","audio/vnd.dts.hd"],["dump","application/octet-stream"],["dvb","video/vnd.dvb.file"],["dvi","application/x-dvi"],["dwd","application/atsc-dwd+xml"],["dwf","model/vnd.dwf"],["dwg","image/vnd.dwg"],["dxf","image/vnd.dxf"],["dxp","application/vnd.spotfire.dxp"],["dxr","application/x-director"],["ear","application/java-archive"],["ecelp4800","audio/vnd.nuera.ecelp4800"],["ecelp7470","audio/vnd.nuera.ecelp7470"],["ecelp9600","audio/vnd.nuera.ecelp9600"],["ecma","application/ecmascript"],["edm","application/vnd.novadigm.edm"],["edx","application/vnd.novadigm.edx"],["efif","application/vnd.picsel"],["ei6","application/vnd.pg.osasli"],["elc","application/octet-stream"],["emf","image/emf"],["eml","message/rfc822"],["emma","application/emma+xml"],["emotionml","application/emotionml+xml"],["emz","application/x-msmetafile"],["eol","audio/vnd.digital-winds"],["eot","application/vnd.ms-fontobject"],["eps","application/postscript"],["epub","application/epub+zip"],["es","application/ecmascript"],["es3","application/vnd.eszigno3+xml"],["esa","application/vnd.osgi.subsystem"],["esf","application/vnd.epson.esf"],["et3","application/vnd.eszigno3+xml"],["etx","text/x-setext"],["eva","application/x-eva"],["evy","application/x-envoy"],["exe","application/octet-stream"],["exi","application/exi"],["exp","application/express"],["exr","image/aces"],["ext","application/vnd.novadigm.ext"],["ez","application/andrew-inset"],["ez2","application/vnd.ezpix-album"],["ez3","application/vnd.ezpix-package"],["f","text/x-fortran"],["f4v","video/mp4"],["f77","text/x-fortran"],["f90","text/x-fortran"],["fbs","image/vnd.fastbidsheet"],["fcdt","application/vnd.adobe.formscentral.fcdt"],["fcs","application/vnd.isac.fcs"],["fdf","application/vnd.fdf"],["fdt","application/fdt+xml"],["fe_launch","application/vnd.denovo.fcselayout-link"],["fg5","application/vnd.fujitsu.oasysgp"],["fgd","application/x-director"],["fh","image/x-freehand"],["fh4","image/x-freehand"],["fh5","image/x-freehand"],["fh7","image/x-freehand"],["fhc","image/x-freehand"],["fig","application/x-xfig"],["fits","image/fits"],["flac","audio/x-flac"],["fli","video/x-fli"],["flo","application/vnd.micrografx.flo"],["flv","video/x-flv"],["flw","application/vnd.kde.kivio"],["flx","text/vnd.fmi.flexstor"],["fly","text/vnd.fly"],["fm","application/vnd.framemaker"],["fnc","application/vnd.frogans.fnc"],["fo","application/vnd.software602.filler.form+xml"],["for","text/x-fortran"],["fpx","image/vnd.fpx"],["frame","application/vnd.framemaker"],["fsc","application/vnd.fsc.weblaunch"],["fst","image/vnd.fst"],["ftc","application/vnd.fluxtime.clip"],["fti","application/vnd.anser-web-funds-transfer-initiation"],["fvt","video/vnd.fvt"],["fxp","application/vnd.adobe.fxp"],["fxpl","application/vnd.adobe.fxp"],["fzs","application/vnd.fuzzysheet"],["g2w","application/vnd.geoplan"],["g3","image/g3fax"],["g3w","application/vnd.geospace"],["gac","application/vnd.groove-account"],["gam","application/x-tads"],["gbr","application/rpki-ghostbusters"],["gca","application/x-gca-compressed"],["gdl","model/vnd.gdl"],["gdoc","application/vnd.google-apps.document"],["geo","application/vnd.dynageo"],["geojson","application/geo+json"],["gex","application/vnd.geometry-explorer"],["ggb","application/vnd.geogebra.file"],["ggt","application/vnd.geogebra.tool"],["ghf","application/vnd.groove-help"],["gif","image/gif"],["gim","application/vnd.groove-identity-message"],["glb","model/gltf-binary"],["gltf","model/gltf+json"],["gml","application/gml+xml"],["gmx","application/vnd.gmx"],["gnumeric","application/x-gnumeric"],["gpg","application/gpg-keys"],["gph","application/vnd.flographit"],["gpx","application/gpx+xml"],["gqf","application/vnd.grafeq"],["gqs","application/vnd.grafeq"],["gram","application/srgs"],["gramps","application/x-gramps-xml"],["gre","application/vnd.geometry-explorer"],["grv","application/vnd.groove-injector"],["grxml","application/srgs+xml"],["gsf","application/x-font-ghostscript"],["gsheet","application/vnd.google-apps.spreadsheet"],["gslides","application/vnd.google-apps.presentation"],["gtar","application/x-gtar"],["gtm","application/vnd.groove-tool-message"],["gtw","model/vnd.gtw"],["gv","text/vnd.graphviz"],["gxf","application/gxf"],["gxt","application/vnd.geonext"],["gz","application/gzip"],["gzip","application/gzip"],["h","text/x-c"],["h261","video/h261"],["h263","video/h263"],["h264","video/h264"],["hal","application/vnd.hal+xml"],["hbci","application/vnd.hbci"],["hbs","text/x-handlebars-template"],["hdd","application/x-virtualbox-hdd"],["hdf","application/x-hdf"],["heic","image/heic"],["heics","image/heic-sequence"],["heif","image/heif"],["heifs","image/heif-sequence"],["hej2","image/hej2k"],["held","application/atsc-held+xml"],["hh","text/x-c"],["hjson","application/hjson"],["hlp","application/winhlp"],["hpgl","application/vnd.hp-hpgl"],["hpid","application/vnd.hp-hpid"],["hps","application/vnd.hp-hps"],["hqx","application/mac-binhex40"],["hsj2","image/hsj2"],["htc","text/x-component"],["htke","application/vnd.kenameaapp"],["htm","text/html"],["html","text/html"],["hvd","application/vnd.yamaha.hv-dic"],["hvp","application/vnd.yamaha.hv-voice"],["hvs","application/vnd.yamaha.hv-script"],["i2g","application/vnd.intergeo"],["icc","application/vnd.iccprofile"],["ice","x-conference/x-cooltalk"],["icm","application/vnd.iccprofile"],["ico","image/x-icon"],["ics","text/calendar"],["ief","image/ief"],["ifb","text/calendar"],["ifm","application/vnd.shana.informed.formdata"],["iges","model/iges"],["igl","application/vnd.igloader"],["igm","application/vnd.insors.igm"],["igs","model/iges"],["igx","application/vnd.micrografx.igx"],["iif","application/vnd.shana.informed.interchange"],["img","application/octet-stream"],["imp","application/vnd.accpac.simply.imp"],["ims","application/vnd.ms-ims"],["in","text/plain"],["ini","text/plain"],["ink","application/inkml+xml"],["inkml","application/inkml+xml"],["install","application/x-install-instructions"],["iota","application/vnd.astraea-software.iota"],["ipfix","application/ipfix"],["ipk","application/vnd.shana.informed.package"],["irm","application/vnd.ibm.rights-management"],["irp","application/vnd.irepository.package+xml"],["iso","application/x-iso9660-image"],["itp","application/vnd.shana.informed.formtemplate"],["its","application/its+xml"],["ivp","application/vnd.immervision-ivp"],["ivu","application/vnd.immervision-ivu"],["jad","text/vnd.sun.j2me.app-descriptor"],["jade","text/jade"],["jam","application/vnd.jam"],["jar","application/java-archive"],["jardiff","application/x-java-archive-diff"],["java","text/x-java-source"],["jhc","image/jphc"],["jisp","application/vnd.jisp"],["jls","image/jls"],["jlt","application/vnd.hp-jlyt"],["jng","image/x-jng"],["jnlp","application/x-java-jnlp-file"],["joda","application/vnd.joost.joda-archive"],["jp2","image/jp2"],["jpe","image/jpeg"],["jpeg","image/jpeg"],["jpf","image/jpx"],["jpg","image/jpeg"],["jpg2","image/jp2"],["jpgm","video/jpm"],["jpgv","video/jpeg"],["jph","image/jph"],["jpm","video/jpm"],["jpx","image/jpx"],["js","application/javascript"],["json","application/json"],["json5","application/json5"],["jsonld","application/ld+json"],["jsonl","application/jsonl"],["jsonml","application/jsonml+json"],["jsx","text/jsx"],["jxr","image/jxr"],["jxra","image/jxra"],["jxrs","image/jxrs"],["jxs","image/jxs"],["jxsc","image/jxsc"],["jxsi","image/jxsi"],["jxss","image/jxss"],["kar","audio/midi"],["karbon","application/vnd.kde.karbon"],["kdb","application/octet-stream"],["kdbx","application/x-keepass2"],["key","application/x-iwork-keynote-sffkey"],["kfo","application/vnd.kde.kformula"],["kia","application/vnd.kidspiration"],["kml","application/vnd.google-earth.kml+xml"],["kmz","application/vnd.google-earth.kmz"],["kne","application/vnd.kinar"],["knp","application/vnd.kinar"],["kon","application/vnd.kde.kontour"],["kpr","application/vnd.kde.kpresenter"],["kpt","application/vnd.kde.kpresenter"],["kpxx","application/vnd.ds-keypoint"],["ksp","application/vnd.kde.kspread"],["ktr","application/vnd.kahootz"],["ktx","image/ktx"],["ktx2","image/ktx2"],["ktz","application/vnd.kahootz"],["kwd","application/vnd.kde.kword"],["kwt","application/vnd.kde.kword"],["lasxml","application/vnd.las.las+xml"],["latex","application/x-latex"],["lbd","application/vnd.llamagraphics.life-balance.desktop"],["lbe","application/vnd.llamagraphics.life-balance.exchange+xml"],["les","application/vnd.hhe.lesson-player"],["less","text/less"],["lgr","application/lgr+xml"],["lha","application/octet-stream"],["link66","application/vnd.route66.link66+xml"],["list","text/plain"],["list3820","application/vnd.ibm.modcap"],["listafp","application/vnd.ibm.modcap"],["litcoffee","text/coffeescript"],["lnk","application/x-ms-shortcut"],["log","text/plain"],["lostxml","application/lost+xml"],["lrf","application/octet-stream"],["lrm","application/vnd.ms-lrm"],["ltf","application/vnd.frogans.ltf"],["lua","text/x-lua"],["luac","application/x-lua-bytecode"],["lvp","audio/vnd.lucent.voice"],["lwp","application/vnd.lotus-wordpro"],["lzh","application/octet-stream"],["m1v","video/mpeg"],["m2a","audio/mpeg"],["m2v","video/mpeg"],["m3a","audio/mpeg"],["m3u","text/plain"],["m3u8","application/vnd.apple.mpegurl"],["m4a","audio/x-m4a"],["m4p","application/mp4"],["m4s","video/iso.segment"],["m4u","application/vnd.mpegurl"],["m4v","video/x-m4v"],["m13","application/x-msmediaview"],["m14","application/x-msmediaview"],["m21","application/mp21"],["ma","application/mathematica"],["mads","application/mads+xml"],["maei","application/mmt-aei+xml"],["mag","application/vnd.ecowin.chart"],["maker","application/vnd.framemaker"],["man","text/troff"],["manifest","text/cache-manifest"],["map","application/json"],["mar","application/octet-stream"],["markdown","text/markdown"],["mathml","application/mathml+xml"],["mb","application/mathematica"],["mbk","application/vnd.mobius.mbk"],["mbox","application/mbox"],["mc1","application/vnd.medcalcdata"],["mcd","application/vnd.mcd"],["mcurl","text/vnd.curl.mcurl"],["md","text/markdown"],["mdb","application/x-msaccess"],["mdi","image/vnd.ms-modi"],["mdx","text/mdx"],["me","text/troff"],["mesh","model/mesh"],["meta4","application/metalink4+xml"],["metalink","application/metalink+xml"],["mets","application/mets+xml"],["mfm","application/vnd.mfmp"],["mft","application/rpki-manifest"],["mgp","application/vnd.osgeo.mapguide.package"],["mgz","application/vnd.proteus.magazine"],["mid","audio/midi"],["midi","audio/midi"],["mie","application/x-mie"],["mif","application/vnd.mif"],["mime","message/rfc822"],["mj2","video/mj2"],["mjp2","video/mj2"],["mjs","application/javascript"],["mk3d","video/x-matroska"],["mka","audio/x-matroska"],["mkd","text/x-markdown"],["mks","video/x-matroska"],["mkv","video/x-matroska"],["mlp","application/vnd.dolby.mlp"],["mmd","application/vnd.chipnuts.karaoke-mmd"],["mmf","application/vnd.smaf"],["mml","text/mathml"],["mmr","image/vnd.fujixerox.edmics-mmr"],["mng","video/x-mng"],["mny","application/x-msmoney"],["mobi","application/x-mobipocket-ebook"],["mods","application/mods+xml"],["mov","video/quicktime"],["movie","video/x-sgi-movie"],["mp2","audio/mpeg"],["mp2a","audio/mpeg"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mp4a","audio/mp4"],["mp4s","application/mp4"],["mp4v","video/mp4"],["mp21","application/mp21"],["mpc","application/vnd.mophun.certificate"],["mpd","application/dash+xml"],["mpe","video/mpeg"],["mpeg","video/mpeg"],["mpg","video/mpeg"],["mpg4","video/mp4"],["mpga","audio/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["mpm","application/vnd.blueice.multipass"],["mpn","application/vnd.mophun.application"],["mpp","application/vnd.ms-project"],["mpt","application/vnd.ms-project"],["mpy","application/vnd.ibm.minipay"],["mqy","application/vnd.mobius.mqy"],["mrc","application/marc"],["mrcx","application/marcxml+xml"],["ms","text/troff"],["mscml","application/mediaservercontrol+xml"],["mseed","application/vnd.fdsn.mseed"],["mseq","application/vnd.mseq"],["msf","application/vnd.epson.msf"],["msg","application/vnd.ms-outlook"],["msh","model/mesh"],["msi","application/x-msdownload"],["msl","application/vnd.mobius.msl"],["msm","application/octet-stream"],["msp","application/octet-stream"],["msty","application/vnd.muvee.style"],["mtl","model/mtl"],["mts","model/vnd.mts"],["mus","application/vnd.musician"],["musd","application/mmt-usd+xml"],["musicxml","application/vnd.recordare.musicxml+xml"],["mvb","application/x-msmediaview"],["mvt","application/vnd.mapbox-vector-tile"],["mwf","application/vnd.mfer"],["mxf","application/mxf"],["mxl","application/vnd.recordare.musicxml"],["mxmf","audio/mobile-xmf"],["mxml","application/xv+xml"],["mxs","application/vnd.triscape.mxs"],["mxu","video/vnd.mpegurl"],["n-gage","application/vnd.nokia.n-gage.symbian.install"],["n3","text/n3"],["nb","application/mathematica"],["nbp","application/vnd.wolfram.player"],["nc","application/x-netcdf"],["ncx","application/x-dtbncx+xml"],["nfo","text/x-nfo"],["ngdat","application/vnd.nokia.n-gage.data"],["nitf","application/vnd.nitf"],["nlu","application/vnd.neurolanguage.nlu"],["nml","application/vnd.enliven"],["nnd","application/vnd.noblenet-directory"],["nns","application/vnd.noblenet-sealer"],["nnw","application/vnd.noblenet-web"],["npx","image/vnd.net-fpx"],["nq","application/n-quads"],["nsc","application/x-conference"],["nsf","application/vnd.lotus-notes"],["nt","application/n-triples"],["ntf","application/vnd.nitf"],["numbers","application/x-iwork-numbers-sffnumbers"],["nzb","application/x-nzb"],["oa2","application/vnd.fujitsu.oasys2"],["oa3","application/vnd.fujitsu.oasys3"],["oas","application/vnd.fujitsu.oasys"],["obd","application/x-msbinder"],["obgx","application/vnd.openblox.game+xml"],["obj","model/obj"],["oda","application/oda"],["odb","application/vnd.oasis.opendocument.database"],["odc","application/vnd.oasis.opendocument.chart"],["odf","application/vnd.oasis.opendocument.formula"],["odft","application/vnd.oasis.opendocument.formula-template"],["odg","application/vnd.oasis.opendocument.graphics"],["odi","application/vnd.oasis.opendocument.image"],["odm","application/vnd.oasis.opendocument.text-master"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogex","model/vnd.opengex"],["ogg","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["omdoc","application/omdoc+xml"],["onepkg","application/onenote"],["onetmp","application/onenote"],["onetoc","application/onenote"],["onetoc2","application/onenote"],["opf","application/oebps-package+xml"],["opml","text/x-opml"],["oprc","application/vnd.palm"],["opus","audio/ogg"],["org","text/x-org"],["osf","application/vnd.yamaha.openscoreformat"],["osfpvg","application/vnd.yamaha.openscoreformat.osfpvg+xml"],["osm","application/vnd.openstreetmap.data+xml"],["otc","application/vnd.oasis.opendocument.chart-template"],["otf","font/otf"],["otg","application/vnd.oasis.opendocument.graphics-template"],["oth","application/vnd.oasis.opendocument.text-web"],["oti","application/vnd.oasis.opendocument.image-template"],["otp","application/vnd.oasis.opendocument.presentation-template"],["ots","application/vnd.oasis.opendocument.spreadsheet-template"],["ott","application/vnd.oasis.opendocument.text-template"],["ova","application/x-virtualbox-ova"],["ovf","application/x-virtualbox-ovf"],["owl","application/rdf+xml"],["oxps","application/oxps"],["oxt","application/vnd.openofficeorg.extension"],["p","text/x-pascal"],["p7a","application/x-pkcs7-signature"],["p7b","application/x-pkcs7-certificates"],["p7c","application/pkcs7-mime"],["p7m","application/pkcs7-mime"],["p7r","application/x-pkcs7-certreqresp"],["p7s","application/pkcs7-signature"],["p8","application/pkcs8"],["p10","application/x-pkcs10"],["p12","application/x-pkcs12"],["pac","application/x-ns-proxy-autoconfig"],["pages","application/x-iwork-pages-sffpages"],["pas","text/x-pascal"],["paw","application/vnd.pawaafile"],["pbd","application/vnd.powerbuilder6"],["pbm","image/x-portable-bitmap"],["pcap","application/vnd.tcpdump.pcap"],["pcf","application/x-font-pcf"],["pcl","application/vnd.hp-pcl"],["pclxl","application/vnd.hp-pclxl"],["pct","image/x-pict"],["pcurl","application/vnd.curl.pcurl"],["pcx","image/x-pcx"],["pdb","application/x-pilot"],["pde","text/x-processing"],["pdf","application/pdf"],["pem","application/x-x509-user-cert"],["pfa","application/x-font-type1"],["pfb","application/x-font-type1"],["pfm","application/x-font-type1"],["pfr","application/font-tdpfr"],["pfx","application/x-pkcs12"],["pgm","image/x-portable-graymap"],["pgn","application/x-chess-pgn"],["pgp","application/pgp"],["php","application/x-httpd-php"],["php3","application/x-httpd-php"],["php4","application/x-httpd-php"],["phps","application/x-httpd-php-source"],["phtml","application/x-httpd-php"],["pic","image/x-pict"],["pkg","application/octet-stream"],["pki","application/pkixcmp"],["pkipath","application/pkix-pkipath"],["pkpass","application/vnd.apple.pkpass"],["pl","application/x-perl"],["plb","application/vnd.3gpp.pic-bw-large"],["plc","application/vnd.mobius.plc"],["plf","application/vnd.pocketlearn"],["pls","application/pls+xml"],["pm","application/x-perl"],["pml","application/vnd.ctc-posml"],["png","image/png"],["pnm","image/x-portable-anymap"],["portpkg","application/vnd.macports.portpkg"],["pot","application/vnd.ms-powerpoint"],["potm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["potx","application/vnd.openxmlformats-officedocument.presentationml.template"],["ppa","application/vnd.ms-powerpoint"],["ppam","application/vnd.ms-powerpoint.addin.macroEnabled.12"],["ppd","application/vnd.cups-ppd"],["ppm","image/x-portable-pixmap"],["pps","application/vnd.ms-powerpoint"],["ppsm","application/vnd.ms-powerpoint.slideshow.macroEnabled.12"],["ppsx","application/vnd.openxmlformats-officedocument.presentationml.slideshow"],["ppt","application/powerpoint"],["pptm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["pqa","application/vnd.palm"],["prc","application/x-pilot"],["pre","application/vnd.lotus-freelance"],["prf","application/pics-rules"],["provx","application/provenance+xml"],["ps","application/postscript"],["psb","application/vnd.3gpp.pic-bw-small"],["psd","application/x-photoshop"],["psf","application/x-font-linux-psf"],["pskcxml","application/pskc+xml"],["pti","image/prs.pti"],["ptid","application/vnd.pvi.ptid1"],["pub","application/x-mspublisher"],["pvb","application/vnd.3gpp.pic-bw-var"],["pwn","application/vnd.3m.post-it-notes"],["pya","audio/vnd.ms-playready.media.pya"],["pyv","video/vnd.ms-playready.media.pyv"],["qam","application/vnd.epson.quickanime"],["qbo","application/vnd.intu.qbo"],["qfx","application/vnd.intu.qfx"],["qps","application/vnd.publishare-delta-tree"],["qt","video/quicktime"],["qwd","application/vnd.quark.quarkxpress"],["qwt","application/vnd.quark.quarkxpress"],["qxb","application/vnd.quark.quarkxpress"],["qxd","application/vnd.quark.quarkxpress"],["qxl","application/vnd.quark.quarkxpress"],["qxt","application/vnd.quark.quarkxpress"],["ra","audio/x-realaudio"],["ram","audio/x-pn-realaudio"],["raml","application/raml+yaml"],["rapd","application/route-apd+xml"],["rar","application/x-rar"],["ras","image/x-cmu-raster"],["rcprofile","application/vnd.ipunplugged.rcprofile"],["rdf","application/rdf+xml"],["rdz","application/vnd.data-vision.rdz"],["relo","application/p2p-overlay+xml"],["rep","application/vnd.businessobjects"],["res","application/x-dtbresource+xml"],["rgb","image/x-rgb"],["rif","application/reginfo+xml"],["rip","audio/vnd.rip"],["ris","application/x-research-info-systems"],["rl","application/resource-lists+xml"],["rlc","image/vnd.fujixerox.edmics-rlc"],["rld","application/resource-lists-diff+xml"],["rm","audio/x-pn-realaudio"],["rmi","audio/midi"],["rmp","audio/x-pn-realaudio-plugin"],["rms","application/vnd.jcp.javame.midlet-rms"],["rmvb","application/vnd.rn-realmedia-vbr"],["rnc","application/relax-ng-compact-syntax"],["rng","application/xml"],["roa","application/rpki-roa"],["roff","text/troff"],["rp9","application/vnd.cloanto.rp9"],["rpm","audio/x-pn-realaudio-plugin"],["rpss","application/vnd.nokia.radio-presets"],["rpst","application/vnd.nokia.radio-preset"],["rq","application/sparql-query"],["rs","application/rls-services+xml"],["rsa","application/x-pkcs7"],["rsat","application/atsc-rsat+xml"],["rsd","application/rsd+xml"],["rsheet","application/urc-ressheet+xml"],["rss","application/rss+xml"],["rtf","text/rtf"],["rtx","text/richtext"],["run","application/x-makeself"],["rusd","application/route-usd+xml"],["rv","video/vnd.rn-realvideo"],["s","text/x-asm"],["s3m","audio/s3m"],["saf","application/vnd.yamaha.smaf-audio"],["sass","text/x-sass"],["sbml","application/sbml+xml"],["sc","application/vnd.ibm.secure-container"],["scd","application/x-msschedule"],["scm","application/vnd.lotus-screencam"],["scq","application/scvp-cv-request"],["scs","application/scvp-cv-response"],["scss","text/x-scss"],["scurl","text/vnd.curl.scurl"],["sda","application/vnd.stardivision.draw"],["sdc","application/vnd.stardivision.calc"],["sdd","application/vnd.stardivision.impress"],["sdkd","application/vnd.solent.sdkm+xml"],["sdkm","application/vnd.solent.sdkm+xml"],["sdp","application/sdp"],["sdw","application/vnd.stardivision.writer"],["sea","application/octet-stream"],["see","application/vnd.seemail"],["seed","application/vnd.fdsn.seed"],["sema","application/vnd.sema"],["semd","application/vnd.semd"],["semf","application/vnd.semf"],["senmlx","application/senml+xml"],["sensmlx","application/sensml+xml"],["ser","application/java-serialized-object"],["setpay","application/set-payment-initiation"],["setreg","application/set-registration-initiation"],["sfd-hdstx","application/vnd.hydrostatix.sof-data"],["sfs","application/vnd.spotfire.sfs"],["sfv","text/x-sfv"],["sgi","image/sgi"],["sgl","application/vnd.stardivision.writer-global"],["sgm","text/sgml"],["sgml","text/sgml"],["sh","application/x-sh"],["shar","application/x-shar"],["shex","text/shex"],["shf","application/shf+xml"],["shtml","text/html"],["sid","image/x-mrsid-image"],["sieve","application/sieve"],["sig","application/pgp-signature"],["sil","audio/silk"],["silo","model/mesh"],["sis","application/vnd.symbian.install"],["sisx","application/vnd.symbian.install"],["sit","application/x-stuffit"],["sitx","application/x-stuffitx"],["siv","application/sieve"],["skd","application/vnd.koan"],["skm","application/vnd.koan"],["skp","application/vnd.koan"],["skt","application/vnd.koan"],["sldm","application/vnd.ms-powerpoint.slide.macroenabled.12"],["sldx","application/vnd.openxmlformats-officedocument.presentationml.slide"],["slim","text/slim"],["slm","text/slim"],["sls","application/route-s-tsid+xml"],["slt","application/vnd.epson.salt"],["sm","application/vnd.stepmania.stepchart"],["smf","application/vnd.stardivision.math"],["smi","application/smil"],["smil","application/smil"],["smv","video/x-smv"],["smzip","application/vnd.stepmania.package"],["snd","audio/basic"],["snf","application/x-font-snf"],["so","application/octet-stream"],["spc","application/x-pkcs7-certificates"],["spdx","text/spdx"],["spf","application/vnd.yamaha.smaf-phrase"],["spl","application/x-futuresplash"],["spot","text/vnd.in3d.spot"],["spp","application/scvp-vp-response"],["spq","application/scvp-vp-request"],["spx","audio/ogg"],["sql","application/x-sql"],["src","application/x-wais-source"],["srt","application/x-subrip"],["sru","application/sru+xml"],["srx","application/sparql-results+xml"],["ssdl","application/ssdl+xml"],["sse","application/vnd.kodak-descriptor"],["ssf","application/vnd.epson.ssf"],["ssml","application/ssml+xml"],["sst","application/octet-stream"],["st","application/vnd.sailingtracker.track"],["stc","application/vnd.sun.xml.calc.template"],["std","application/vnd.sun.xml.draw.template"],["stf","application/vnd.wt.stf"],["sti","application/vnd.sun.xml.impress.template"],["stk","application/hyperstudio"],["stl","model/stl"],["stpx","model/step+xml"],["stpxz","model/step-xml+zip"],["stpz","model/step+zip"],["str","application/vnd.pg.format"],["stw","application/vnd.sun.xml.writer.template"],["styl","text/stylus"],["stylus","text/stylus"],["sub","text/vnd.dvb.subtitle"],["sus","application/vnd.sus-calendar"],["susp","application/vnd.sus-calendar"],["sv4cpio","application/x-sv4cpio"],["sv4crc","application/x-sv4crc"],["svc","application/vnd.dvb.service"],["svd","application/vnd.svd"],["svg","image/svg+xml"],["svgz","image/svg+xml"],["swa","application/x-director"],["swf","application/x-shockwave-flash"],["swi","application/vnd.aristanetworks.swi"],["swidtag","application/swid+xml"],["sxc","application/vnd.sun.xml.calc"],["sxd","application/vnd.sun.xml.draw"],["sxg","application/vnd.sun.xml.writer.global"],["sxi","application/vnd.sun.xml.impress"],["sxm","application/vnd.sun.xml.math"],["sxw","application/vnd.sun.xml.writer"],["t","text/troff"],["t3","application/x-t3vm-image"],["t38","image/t38"],["taglet","application/vnd.mynfc"],["tao","application/vnd.tao.intent-module-archive"],["tap","image/vnd.tencent.tap"],["tar","application/x-tar"],["tcap","application/vnd.3gpp2.tcap"],["tcl","application/x-tcl"],["td","application/urc-targetdesc+xml"],["teacher","application/vnd.smart.teacher"],["tei","application/tei+xml"],["teicorpus","application/tei+xml"],["tex","application/x-tex"],["texi","application/x-texinfo"],["texinfo","application/x-texinfo"],["text","text/plain"],["tfi","application/thraud+xml"],["tfm","application/x-tex-tfm"],["tfx","image/tiff-fx"],["tga","image/x-tga"],["tgz","application/x-tar"],["thmx","application/vnd.ms-officetheme"],["tif","image/tiff"],["tiff","image/tiff"],["tk","application/x-tcl"],["tmo","application/vnd.tmobile-livetv"],["toml","application/toml"],["torrent","application/x-bittorrent"],["tpl","application/vnd.groove-tool-template"],["tpt","application/vnd.trid.tpt"],["tr","text/troff"],["tra","application/vnd.trueapp"],["trig","application/trig"],["trm","application/x-msterminal"],["ts","video/mp2t"],["tsd","application/timestamped-data"],["tsv","text/tab-separated-values"],["ttc","font/collection"],["ttf","font/ttf"],["ttl","text/turtle"],["ttml","application/ttml+xml"],["twd","application/vnd.simtech-mindmapper"],["twds","application/vnd.simtech-mindmapper"],["txd","application/vnd.genomatix.tuxedo"],["txf","application/vnd.mobius.txf"],["txt","text/plain"],["u8dsn","message/global-delivery-status"],["u8hdr","message/global-headers"],["u8mdn","message/global-disposition-notification"],["u8msg","message/global"],["u32","application/x-authorware-bin"],["ubj","application/ubjson"],["udeb","application/x-debian-package"],["ufd","application/vnd.ufdl"],["ufdl","application/vnd.ufdl"],["ulx","application/x-glulx"],["umj","application/vnd.umajin"],["unityweb","application/vnd.unity"],["uoml","application/vnd.uoml+xml"],["uri","text/uri-list"],["uris","text/uri-list"],["urls","text/uri-list"],["usdz","model/vnd.usdz+zip"],["ustar","application/x-ustar"],["utz","application/vnd.uiq.theme"],["uu","text/x-uuencode"],["uva","audio/vnd.dece.audio"],["uvd","application/vnd.dece.data"],["uvf","application/vnd.dece.data"],["uvg","image/vnd.dece.graphic"],["uvh","video/vnd.dece.hd"],["uvi","image/vnd.dece.graphic"],["uvm","video/vnd.dece.mobile"],["uvp","video/vnd.dece.pd"],["uvs","video/vnd.dece.sd"],["uvt","application/vnd.dece.ttml+xml"],["uvu","video/vnd.uvvu.mp4"],["uvv","video/vnd.dece.video"],["uvva","audio/vnd.dece.audio"],["uvvd","application/vnd.dece.data"],["uvvf","application/vnd.dece.data"],["uvvg","image/vnd.dece.graphic"],["uvvh","video/vnd.dece.hd"],["uvvi","image/vnd.dece.graphic"],["uvvm","video/vnd.dece.mobile"],["uvvp","video/vnd.dece.pd"],["uvvs","video/vnd.dece.sd"],["uvvt","application/vnd.dece.ttml+xml"],["uvvu","video/vnd.uvvu.mp4"],["uvvv","video/vnd.dece.video"],["uvvx","application/vnd.dece.unspecified"],["uvvz","application/vnd.dece.zip"],["uvx","application/vnd.dece.unspecified"],["uvz","application/vnd.dece.zip"],["vbox","application/x-virtualbox-vbox"],["vbox-extpack","application/x-virtualbox-vbox-extpack"],["vcard","text/vcard"],["vcd","application/x-cdlink"],["vcf","text/x-vcard"],["vcg","application/vnd.groove-vcard"],["vcs","text/x-vcalendar"],["vcx","application/vnd.vcx"],["vdi","application/x-virtualbox-vdi"],["vds","model/vnd.sap.vds"],["vhd","application/x-virtualbox-vhd"],["vis","application/vnd.visionary"],["viv","video/vnd.vivo"],["vlc","application/videolan"],["vmdk","application/x-virtualbox-vmdk"],["vob","video/x-ms-vob"],["vor","application/vnd.stardivision.writer"],["vox","application/x-authorware-bin"],["vrml","model/vrml"],["vsd","application/vnd.visio"],["vsf","application/vnd.vsf"],["vss","application/vnd.visio"],["vst","application/vnd.visio"],["vsw","application/vnd.visio"],["vtf","image/vnd.valve.source.texture"],["vtt","text/vtt"],["vtu","model/vnd.vtu"],["vxml","application/voicexml+xml"],["w3d","application/x-director"],["wad","application/x-doom"],["wadl","application/vnd.sun.wadl+xml"],["war","application/java-archive"],["wasm","application/wasm"],["wav","audio/x-wav"],["wax","audio/x-ms-wax"],["wbmp","image/vnd.wap.wbmp"],["wbs","application/vnd.criticaltools.wbs+xml"],["wbxml","application/wbxml"],["wcm","application/vnd.ms-works"],["wdb","application/vnd.ms-works"],["wdp","image/vnd.ms-photo"],["weba","audio/webm"],["webapp","application/x-web-app-manifest+json"],["webm","video/webm"],["webmanifest","application/manifest+json"],["webp","image/webp"],["wg","application/vnd.pmi.widget"],["wgt","application/widget"],["wks","application/vnd.ms-works"],["wm","video/x-ms-wm"],["wma","audio/x-ms-wma"],["wmd","application/x-ms-wmd"],["wmf","image/wmf"],["wml","text/vnd.wap.wml"],["wmlc","application/wmlc"],["wmls","text/vnd.wap.wmlscript"],["wmlsc","application/vnd.wap.wmlscriptc"],["wmv","video/x-ms-wmv"],["wmx","video/x-ms-wmx"],["wmz","application/x-msmetafile"],["woff","font/woff"],["woff2","font/woff2"],["word","application/msword"],["wpd","application/vnd.wordperfect"],["wpl","application/vnd.ms-wpl"],["wps","application/vnd.ms-works"],["wqd","application/vnd.wqd"],["wri","application/x-mswrite"],["wrl","model/vrml"],["wsc","message/vnd.wfa.wsc"],["wsdl","application/wsdl+xml"],["wspolicy","application/wspolicy+xml"],["wtb","application/vnd.webturbo"],["wvx","video/x-ms-wvx"],["x3d","model/x3d+xml"],["x3db","model/x3d+fastinfoset"],["x3dbz","model/x3d+binary"],["x3dv","model/x3d-vrml"],["x3dvz","model/x3d+vrml"],["x3dz","model/x3d+xml"],["x32","application/x-authorware-bin"],["x_b","model/vnd.parasolid.transmit.binary"],["x_t","model/vnd.parasolid.transmit.text"],["xaml","application/xaml+xml"],["xap","application/x-silverlight-app"],["xar","application/vnd.xara"],["xav","application/xcap-att+xml"],["xbap","application/x-ms-xbap"],["xbd","application/vnd.fujixerox.docuworks.binder"],["xbm","image/x-xbitmap"],["xca","application/xcap-caps+xml"],["xcs","application/calendar+xml"],["xdf","application/xcap-diff+xml"],["xdm","application/vnd.syncml.dm+xml"],["xdp","application/vnd.adobe.xdp+xml"],["xdssc","application/dssc+xml"],["xdw","application/vnd.fujixerox.docuworks"],["xel","application/xcap-el+xml"],["xenc","application/xenc+xml"],["xer","application/patch-ops-error+xml"],["xfdf","application/vnd.adobe.xfdf"],["xfdl","application/vnd.xfdl"],["xht","application/xhtml+xml"],["xhtml","application/xhtml+xml"],["xhvml","application/xv+xml"],["xif","image/vnd.xiff"],["xl","application/excel"],["xla","application/vnd.ms-excel"],["xlam","application/vnd.ms-excel.addin.macroEnabled.12"],["xlc","application/vnd.ms-excel"],["xlf","application/xliff+xml"],["xlm","application/vnd.ms-excel"],["xls","application/vnd.ms-excel"],["xlsb","application/vnd.ms-excel.sheet.binary.macroEnabled.12"],["xlsm","application/vnd.ms-excel.sheet.macroEnabled.12"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xlt","application/vnd.ms-excel"],["xltm","application/vnd.ms-excel.template.macroEnabled.12"],["xltx","application/vnd.openxmlformats-officedocument.spreadsheetml.template"],["xlw","application/vnd.ms-excel"],["xm","audio/xm"],["xml","application/xml"],["xns","application/xcap-ns+xml"],["xo","application/vnd.olpc-sugar"],["xop","application/xop+xml"],["xpi","application/x-xpinstall"],["xpl","application/xproc+xml"],["xpm","image/x-xpixmap"],["xpr","application/vnd.is-xpr"],["xps","application/vnd.ms-xpsdocument"],["xpw","application/vnd.intercon.formnet"],["xpx","application/vnd.intercon.formnet"],["xsd","application/xml"],["xsl","application/xml"],["xslt","application/xslt+xml"],["xsm","application/vnd.syncml+xml"],["xspf","application/xspf+xml"],["xul","application/vnd.mozilla.xul+xml"],["xvm","application/xv+xml"],["xvml","application/xv+xml"],["xwd","image/x-xwindowdump"],["xyz","chemical/x-xyz"],["xz","application/x-xz"],["yaml","text/yaml"],["yang","application/yang"],["yin","application/yin+xml"],["yml","text/yaml"],["ymp","text/x-suse-ymp"],["z","application/x-compress"],["z1","application/x-zmachine"],["z2","application/x-zmachine"],["z3","application/x-zmachine"],["z4","application/x-zmachine"],["z5","application/x-zmachine"],["z6","application/x-zmachine"],["z7","application/x-zmachine"],["z8","application/x-zmachine"],["zaz","application/vnd.zzazz.deck+xml"],["zip","application/zip"],["zir","application/vnd.zul"],["zirz","application/vnd.zul"],["zmm","application/vnd.handheld-entertainment+xml"],["zsh","text/x-scriptzsh"]]);function Cf(e,t,r){let o=XAe(e),{webkitRelativePath:a}=e,n=typeof t=="string"?t:typeof a=="string"&&a.length>0?a:`./${e.name}`;return typeof o.path!="string"&&kX(o,"path",n),r!==void 0&&Object.defineProperty(o,"handle",{value:r,writable:!1,configurable:!1,enumerable:!0}),kX(o,"relativePath",n),o}function XAe(e){let{name:t}=e;if(t&&t.lastIndexOf(".")!==-1&&!e.type){let o=t.split(".").pop().toLowerCase(),a=JAe.get(o);a&&Object.defineProperty(e,"type",{value:a,writable:!1,configurable:!1,enumerable:!0})}return e}function kX(e,t,r){Object.defineProperty(e,t,{value:r,writable:!1,configurable:!1,enumerable:!0})}var YAe=[".DS_Store","Thumbs.db"];function UA(e){return bd(this,void 0,void 0,function*(){return k0(e)&&ZAe(e.dataTransfer)?r2e(e.dataTransfer,e.type):QAe(e)?e2e(e):Array.isArray(e)&&e.every(t=>"getFile"in t&&typeof t.getFile=="function")?t2e(e):[]})}function ZAe(e){return k0(e)}function QAe(e){return k0(e)&&k0(e.target)}function k0(e){return typeof e=="object"&&e!==null}function e2e(e){return WA(e.target.files).map(t=>Cf(t))}function t2e(e){return bd(this,void 0,void 0,function*(){return(yield Promise.all(e.map(r=>r.getFile()))).map(r=>Cf(r))})}function r2e(e,t){return bd(this,void 0,void 0,function*(){if(e.items){let r=WA(e.items).filter(a=>a.kind==="file");if(t!=="drop")return r;let o=yield Promise.all(r.map(o2e));return EX(RX(o))}return EX(WA(e.files).map(r=>Cf(r)))})}function EX(e){return e.filter(t=>YAe.indexOf(t.name)===-1)}function WA(e){if(e===null)return[];let t=[];for(let r=0;r[...t,...Array.isArray(r)?RX(r):[r]],[])}function PX(e,t){return bd(this,void 0,void 0,function*(){var r;if(globalThis.isSecureContext&&typeof e.getAsFileSystemHandle=="function"){let n=yield e.getAsFileSystemHandle();if(n===null)throw new Error(`${e} is not a File`);if(n!==void 0){let s=yield n.getFile();return s.handle=n,Cf(s)}}let o=e.getAsFile();if(!o)throw new Error(`${e} is not a File`);return Cf(o,(r=t==null?void 0:t.fullPath)!==null&&r!==void 0?r:void 0)})}function a2e(e){return bd(this,void 0,void 0,function*(){return e.isDirectory?DX(e):n2e(e)})}function DX(e){let t=e.createReader();return new Promise((r,o)=>{let a=[];function n(){t.readEntries(s=>bd(this,void 0,void 0,function*(){if(s.length){let i=Promise.all(s.map(a2e));a.push(i),n()}else try{let i=yield Promise.all(a);r(i)}catch(i){o(i)}}),s=>{o(s)})}n()})}function n2e(e){return bd(this,void 0,void 0,function*(){return new Promise((t,r)=>{e.file(o=>{let a=Cf(o,e.fullPath);t(a)},o=>{r(o)})})})}var E0=y(AX());function MX(e){return l2e(e)||i2e(e)||jX(e)||s2e()}function s2e(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function i2e(e){if(typeof Symbol!="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function l2e(e){if(Array.isArray(e))return VA(e)}function NX(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,o)}return r}function IX(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,o=new Array(t);r0&&arguments[0]!==void 0?arguments[0]:"",r=t.split(","),o=r.length>1?"one of ".concat(r.join(", ")):r[0];return{code:c2e,message:"File type must be ".concat(o)}},FX=function(t){return{code:m2e,message:"File is larger than ".concat(t," ").concat(t===1?"byte":"bytes")}},BX=function(t){return{code:h2e,message:"File is smaller than ".concat(t," ").concat(t===1?"byte":"bytes")}},zX={code:x2e,message:"Too many files"};function $A(e,t){var r=e.type==="application/x-moz-file"||f2e(e,t);return[r,r?null:g2e(t)]}function GA(e,t,r){if(Of(e.size))if(Of(t)&&Of(r)){if(e.size>r)return[!1,FX(r)];if(e.sizer)return[!1,FX(r)]}return[!0,null]}function Of(e){return e!=null}function WX(e){var t=e.files,r=e.accept,o=e.minSize,a=e.maxSize,n=e.multiple,s=e.maxFiles,i=e.validator;return!n&&t.length>1||n&&s>=1&&t.length>s?!1:t.every(function(p){var l=$A(p,r),d=lv(l,1),u=d[0],f=GA(p,o,a),c=lv(f,1),h=c[0],g=i?i(p):null;return u&&h&&!g})}function pv(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble!="undefined"?e.cancelBubble:!1}function dv(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function qA(e){e.preventDefault()}function y2e(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function v2e(e){return e.indexOf("Edge/")!==-1}function UX(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return y2e(e)||v2e(e)}function ei(){for(var e=arguments.length,t=new Array(e),r=0;r1?a-1:0),s=1;se.length)&&(t=e.length);for(var r=0,o=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}function D2e(e,t){if(e==null)return{};var r={},o=Object.keys(e),a,n;for(n=0;n=0)&&(r[a]=e[a]);return r}var R0=(0,yt.forwardRef)(function(e,t){var r=e.children,o=P0(e,b2e),a=A2e(o),n=a.open,s=P0(a,T2e);return(0,yt.useImperativeHandle)(t,function(){return{open:n}},[n]),yt.default.createElement(yt.Fragment,null,r(Lr(Lr({},s),{},{open:n})))});R0.displayName="Dropzone";var QX={disabled:!1,getFilesFromEvent:UA,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!1,autoFocus:!1};R0.defaultProps=QX;R0.propTypes={children:ar.default.func,accept:ar.default.objectOf(ar.default.arrayOf(ar.default.string)),multiple:ar.default.bool,preventDropOnDocument:ar.default.bool,noClick:ar.default.bool,noKeyboard:ar.default.bool,noDrag:ar.default.bool,noDragEventsBubbling:ar.default.bool,minSize:ar.default.number,maxSize:ar.default.number,maxFiles:ar.default.number,disabled:ar.default.bool,getFilesFromEvent:ar.default.func,onFileDialogCancel:ar.default.func,onFileDialogOpen:ar.default.func,useFsAccessApi:ar.default.bool,autoFocus:ar.default.bool,onDragEnter:ar.default.func,onDragLeave:ar.default.func,onDragOver:ar.default.func,onDrop:ar.default.func,onDropAccepted:ar.default.func,onDropRejected:ar.default.func,onError:ar.default.func,validator:ar.default.func};var eY=R0,YA={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function A2e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=Lr(Lr({},QX),e),r=t.accept,o=t.disabled,a=t.getFilesFromEvent,n=t.maxSize,s=t.minSize,i=t.multiple,p=t.maxFiles,l=t.onDragEnter,d=t.onDragLeave,u=t.onDragOver,f=t.onDrop,c=t.onDropAccepted,h=t.onDropRejected,g=t.onFileDialogCancel,m=t.onFileDialogOpen,x=t.useFsAccessApi,T=t.autoFocus,b=t.preventDropOnDocument,v=t.noClick,w=t.noKeyboard,O=t.noDrag,k=t.noDragEventsBubbling,M=t.onError,N=t.validator,S=(0,yt.useMemo)(function(){return $X(r)},[r]),B=(0,yt.useMemo)(function(){return VX(r)},[r]),G=(0,yt.useMemo)(function(){return typeof m=="function"?m:YX},[m]),J=(0,yt.useMemo)(function(){return typeof g=="function"?g:YX},[g]),q=(0,yt.useRef)(null),j=(0,yt.useRef)(null),X=(0,yt.useReducer)(M2e,YA),le=KA(X,2),ae=le[0],de=le[1],Be=ae.isFocused,Oe=ae.isFileDialogActive,We=(0,yt.useRef)(typeof window!="undefined"&&window.isSecureContext&&x&&HX()),ke=function(){!We.current&&Oe&&setTimeout(function(){if(j.current){var Re=j.current.files;Re.length||(de({type:"closeDialog"}),J())}},300)};(0,yt.useEffect)(function(){return window.addEventListener("focus",ke,!1),function(){window.removeEventListener("focus",ke,!1)}},[j,Oe,J,We]);var _e=(0,yt.useRef)([]),He=function(Re){q.current&&q.current.contains(Re.target)||(Re.preventDefault(),_e.current=[])};(0,yt.useEffect)(function(){return b&&(document.addEventListener("dragover",qA,!1),document.addEventListener("drop",He,!1)),function(){b&&(document.removeEventListener("dragover",qA),document.removeEventListener("drop",He))}},[q,b]),(0,yt.useEffect)(function(){return!o&&T&&q.current&&q.current.focus(),function(){}},[q,T,o]);var Me=(0,yt.useCallback)(function(me){M?M(me):console.error(me)},[M]),lt=(0,yt.useCallback)(function(me){me.preventDefault(),me.persist(),ht(me),_e.current=[].concat(_2e(_e.current),[me.target]),dv(me)&&Promise.resolve(a(me)).then(function(Re){if(!(pv(me)&&!k)){var mt=Re.length,gt=mt>0&&WX({files:Re,accept:S,minSize:s,maxSize:n,multiple:i,maxFiles:p,validator:N}),Ge=mt>0&&!gt;de({isDragAccept:gt,isDragReject:Ge,isDragActive:!0,type:"setDraggedFiles"}),l&&l(me)}}).catch(function(Re){return Me(Re)})},[a,l,Me,k,S,s,n,i,p,N]),Ye=(0,yt.useCallback)(function(me){me.preventDefault(),me.persist(),ht(me);var Re=dv(me);if(Re&&me.dataTransfer)try{me.dataTransfer.dropEffect="copy"}catch(mt){}return Re&&u&&u(me),!1},[u,k]),ot=(0,yt.useCallback)(function(me){me.preventDefault(),me.persist(),ht(me);var Re=_e.current.filter(function(gt){return q.current&&q.current.contains(gt)}),mt=Re.indexOf(me.target);mt!==-1&&Re.splice(mt,1),_e.current=Re,!(Re.length>0)&&(de({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),dv(me)&&d&&d(me))},[q,d,k]),ft=(0,yt.useCallback)(function(me,Re){var mt=[],gt=[];me.forEach(function(Ge){var et=$A(Ge,S),Ut=KA(et,2),Rt=Ut[0],ct=Ut[1],je=GA(Ge,s,n),Nt=KA(je,2),pe=Nt[0],he=Nt[1],ze=N?N(Ge):null;if(Rt&&pe&&!ze)mt.push(Ge);else{var $e=[ct,he];ze&&($e=$e.concat(ze)),gt.push({file:Ge,errors:$e.filter(function(pt){return pt})})}}),(!i&&mt.length>1||i&&p>=1&&mt.length>p)&&(mt.forEach(function(Ge){gt.push({file:Ge,errors:[zX]})}),mt.splice(0)),de({acceptedFiles:mt,fileRejections:gt,isDragReject:gt.length>0,type:"setFiles"}),f&&f(mt,gt,Re),gt.length>0&&h&&h(gt,Re),mt.length>0&&c&&c(mt,Re)},[de,i,S,s,n,p,f,c,h,N]),Fe=(0,yt.useCallback)(function(me){me.preventDefault(),me.persist(),ht(me),_e.current=[],dv(me)&&Promise.resolve(a(me)).then(function(Re){pv(me)&&!k||ft(Re,me)}).catch(function(Re){return Me(Re)}),de({type:"reset"})},[a,ft,Me,k]),Pe=(0,yt.useCallback)(function(){if(We.current){de({type:"openDialog"}),G();var me={multiple:i,types:B};window.showOpenFilePicker(me).then(function(Re){return a(Re)}).then(function(Re){ft(Re,null),de({type:"closeDialog"})}).catch(function(Re){GX(Re)?(J(Re),de({type:"closeDialog"})):qX(Re)?(We.current=!1,j.current?(j.current.value=null,j.current.click()):Me(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):Me(Re)});return}j.current&&(de({type:"openDialog"}),G(),j.current.value=null,j.current.click())},[de,G,J,x,ft,Me,B,i]),Ze=(0,yt.useCallback)(function(me){!q.current||!q.current.isEqualNode(me.target)||(me.key===" "||me.key==="Enter"||me.keyCode===32||me.keyCode===13)&&(me.preventDefault(),Pe())},[q,Pe]),qe=(0,yt.useCallback)(function(){de({type:"focus"})},[]),Ue=(0,yt.useCallback)(function(){de({type:"blur"})},[]),ue=(0,yt.useCallback)(function(){v||(UX()?setTimeout(Pe,0):Pe())},[v,Pe]),we=function(Re){return o?null:Re},Ne=function(Re){return w?null:we(Re)},Ve=function(Re){return O?null:we(Re)},ht=function(Re){k&&Re.stopPropagation()},Tt=(0,yt.useMemo)(function(){return function(){var me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Re=me.refKey,mt=Re===void 0?"ref":Re,gt=me.role,Ge=me.onKeyDown,et=me.onFocus,Ut=me.onBlur,Rt=me.onClick,ct=me.onDragEnter,je=me.onDragOver,Nt=me.onDragLeave,pe=me.onDrop,he=P0(me,S2e);return Lr(Lr(XA({onKeyDown:Ne(ei(Ge,Ze)),onFocus:Ne(ei(et,qe)),onBlur:Ne(ei(Ut,Ue)),onClick:we(ei(Rt,ue)),onDragEnter:Ve(ei(ct,lt)),onDragOver:Ve(ei(je,Ye)),onDragLeave:Ve(ei(Nt,ot)),onDrop:Ve(ei(pe,Fe)),role:typeof gt=="string"&>!==""?gt:"presentation"},mt,q),!o&&!w?{tabIndex:0}:{}),he)}},[q,Ze,qe,Ue,ue,lt,Ye,ot,Fe,w,O,o]),xt=(0,yt.useCallback)(function(me){me.stopPropagation()},[]),Ee=(0,yt.useMemo)(function(){return function(){var me=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Re=me.refKey,mt=Re===void 0?"ref":Re,gt=me.onChange,Ge=me.onClick,et=P0(me,w2e),Ut=XA({accept:S,multiple:i,type:"file",style:{border:0,clip:"rect(0, 0, 0, 0)",clipPath:"inset(50%)",height:"1px",margin:"0 -1px -1px 0",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap"},onChange:we(ei(gt,Fe)),onClick:we(ei(Ge,xt)),tabIndex:-1},mt,j);return Lr(Lr({},Ut),et)}},[j,r,i,Fe,o]);return Lr(Lr({},ae),{},{isFocused:Be&&!o,getRootProps:Tt,getInputProps:Ee,rootRef:q,inputRef:j,open:we(Pe)})}function M2e(e,t){switch(t.type){case"focus":return Lr(Lr({},e),{},{isFocused:!0});case"blur":return Lr(Lr({},e),{},{isFocused:!1});case"openDialog":return Lr(Lr({},YA),{},{isFileDialogActive:!0});case"closeDialog":return Lr(Lr({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return Lr(Lr({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return Lr(Lr({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections,isDragReject:t.isDragReject});case"reset":return Lr({},YA);default:return e}}function YX(){}var Pn=y(D());var tY=y(D());function N2e(){let e=Zr();return[...e.breakpoints.keys].reverse().reduce((r,o)=>{let a=jP(e.breakpoints.up(o));return!r&&a?o:r},null)||"xs"}function Fl(){return e=>function(r){let o=N2e();return tY.default.createElement(e,{...r,width:o})}}function I2e(e){let[t,r]=Pn.default.useState(e.input||e.value||""),[o,a]=Pn.default.useState("");return Pn.default.createElement(er,{open:!0,onClose:()=>e.onClose(null),"aria-labelledby":"form-dialog-title",fullWidth:e.fullWidth!==void 0?e.fullWidth:!1},Pn.default.createElement(tr,{id:"form-dialog-title"},e.titleText),Pn.default.createElement(ir,null,Pn.default.createElement(Za,null,e.promptText),Pn.default.createElement(vr,{variant:"standard",autoFocus:!0,margin:"dense",error:!!o,helperText:o===!0||!o?"":o,value:t,label:e.labelText||"",type:e.type||"text",onKeyUp:n=>n.code==="Enter"&&t&&e.onClose(t),onChange:n=>{let s="";e.verify&&(s=!e.verify(n.target.value)),e.rule?r(e.rule(n.target.value)):r(n.target.value),a(s)},fullWidth:!0})),Pn.default.createElement(sr,null,Pn.default.createElement(tt,{variant:"contained",disabled:!t||!!o,onClick:()=>e.onClose(t),color:"primary",startIcon:Pn.default.createElement(to,null)},e.applyText||R.t("ra_Ok")),Pn.default.createElement(tt,{color:"grey",variant:"contained",onClick:()=>e.onClose(null),startIcon:Pn.default.createElement($r,null)},e.cancelText||R.t("ra_Cancel"))))}var D0=Fl()(I2e);var A0=y(D()),_h=e=>A0.default.createElement("svg",{onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 486 486",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),xmlns:"http://www.w3.org/2000/svg",className:e.className,style:e.style},A0.default.createElement("path",{fill:"currentColor",d:"m414.928297,149.715165 c-2.639376,-57.222555 -35.669446,-106.505345 -83.345894,-132.039151 c-3.758948,-2.049842 -7.636885,-3.932022 -11.590542,-5.641125 c-19.303146,-8.394083 -40.607459,-13.050853 -63.004303,-13.050853 c-84.113909,0 -152.791790,65.703174 -157.718988,148.605566 l0.043268,-0.010816 v0.281245 c0,3.061243 -0.146031,16.750306 -0.146031,16.750306 l-2.352723,5.224668 h15.744315 c5.916964,-19.384275 24.078904,-32.635245 45.513024,-32.635245 c26.231510,0 47.573684,21.915481 47.573684,48.146991 c0,26.226103 -21.342174,47.146409 -47.573684,47.146409 c-25.111939,0 -45.734774,-19.735831 -47.443879,-44.658471 h-18.789334 c-0.400232,0 -0.778832,0.638209 -1.162839,0.584122 l-19.762875,55.199753 c-2.774590,7.696379 2.926030,16.214860 11.103771,16.214860 h17.020735 l-0.129805,87.899899 c0,17.356066 14.073071,31.174935 31.429136,31.174935 h56.205745 v82.648189 c0,12.877778 12.937273,22.580734 25.815051,22.580734 h144.597825 c12.877778,0 23.429877,-9.702955 23.429877,-22.580734 v-166.037352 c0,-22.645636 5.976457,-44.761234 16.561008,-64.789128 c11.055093,-20.925714 17.523731,-44.620611 18.129489,-69.792045 c0.027042,-1.260193 0.037858,-2.552839 0.037858,-3.845485 c0,-2.466302 -0.070310,-4.938014 -0.183890,-7.377273 zm-155.393308,-11.731165 h-13.456494 v13.559257 c0,4.732489 -4.267352,8.567157 -8.999842,8.567157 c-4.727079,0 -8.999842,-3.834667 -8.999842,-8.567157 v-13.559257 h-12.185483 c-4.732489,0 -8.567157,-4.267352 -8.567157,-8.999842 c0,-4.727079 3.834667,-8.999842 8.567157,-8.999842 h12.185483 v-12.077311 c0,-4.732489 4.272762,-8.567157 8.999842,-8.567157 c4.732489,0 8.999842,3.834667 8.999842,8.567157 v12.077311 h13.456494 c4.727079,0 8.567157,4.272762 8.567157,8.999842 c0,4.732489 -3.840077,8.999842 -8.567157,8.999842 zm0,0"}),A0.default.createElement("path",{fill:"currentColor",d:"m187.695312 285.875c3.9375-3.980469 6.414063-9.449219 6.414063-15.523438 0-12.128906-9.855469-21.980468-21.984375-21.980468-6.007812 0-11.472656 2.410156-15.457031 6.347656-4.023438 4.003906-6.523438 9.539062-6.523438 15.636719 0 12.125 9.855469 21.980469 21.980469 21.980469 6.078125 0 11.585938-2.476563 15.570312-6.460938zm0 0"}));var ZA=y(D()),Bl=e=>ZA.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 650 512",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},ZA.default.createElement("path",{fill:"currentColor",d:"m524,128l-192,0l-64,-64l-160,0c-26.51,0 -48,21.49 -48,48l0,288c0,26.51 21.49,48 48,48l416,0c26.51,0 48,-21.49 48,-48l0,-224c0,-26.51 -21.49,-48 -48,-48z"}));var QA=y(D()),kf=e=>QA.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 650 512",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},QA.default.createElement("path",{fill:"currentColor",d:"m631.75617,292.093l-72.424,124.155a63.997,63.997 0 0 1 -55.281,31.752l-399.964,0c-18.523,0 -30.064,-20.093 -20.731,-36.093l72.424,-124.155a64,64 0 0 1 55.282,-31.752l399.964,0c18.523,0 30.064,20.093 20.73,36.093zm-420.694,-68.093l328,0l0,-48c0,-26.51 -21.49,-48 -48,-48l-160,0l-64,-64l-160,0c-26.51,0 -48,21.49 -48,48l0,278.046l69.077,-118.418c17.137,-29.378 48.912,-47.628 82.923,-47.628z"}));var e2=y(D()),Ef=e=>e2.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 512 512",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},e2.default.createElement("path",{fill:"#EE3333",d:"M256,0C114.844,0,0,114.844,0,256s114.844,256,256,256s256-114.844,256-256S397.156,0,256,0z M256,448 c-105.865,0-192-86.135-192-192c0-40.406,12.25-78.604,35.542-111.198l267.656,267.656C334.604,435.75,296.406,448,256,448z M412.458,367.198L144.802,99.542C177.396,76.25,215.594,64,256,64c105.865,0,192,86.135,192,192 C448,296.406,435.75,334.604,412.458,367.198z"}));var Td=y(D());var dr=y(D(),1);var aY=y(D(),1),F2e=e=>typeof e!="string"?{}:e.split(/ ?; ?/).reduce((t,r)=>{let[o,a]=r.split(/ ?: ?/).map((n,s)=>s===0?n.replace(/\s+/g,""):n.trim());if(o&&a){let n=o.replace(/(\w)-(\w)/g,(i,p,l)=>`${p}${l.toUpperCase()}`),s=a.trim();Number.isNaN(Number(a))||(s=Number(a)),t[o.startsWith("-")?o:n]=s}return t},{});function B2e(e=6){let t="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",r="";for(let o=e;o>0;--o)r+=t[Math.round(Math.random()*(t.length-1))];return r}var L2e=["br","col","colgroup","dl","hr","iframe","img","input","link","menuitem","meta","ol","param","select","table","tbody","tfoot","thead","tr","ul","wbr"],rY={"accept-charset":"acceptCharset",acceptcharset:"acceptCharset",accesskey:"accessKey",allowfullscreen:"allowFullScreen",autocapitalize:"autoCapitalize",autocomplete:"autoComplete",autocorrect:"autoCorrect",autofocus:"autoFocus",autoplay:"autoPlay",autosave:"autoSave",cellpadding:"cellPadding",cellspacing:"cellSpacing",charset:"charSet",class:"className",classid:"classID",classname:"className",colspan:"colSpan",contenteditable:"contentEditable",contextmenu:"contextMenu",controlslist:"controlsList",crossorigin:"crossOrigin",dangerouslysetinnerhtml:"dangerouslySetInnerHTML",datetime:"dateTime",defaultchecked:"defaultChecked",defaultvalue:"defaultValue",enctype:"encType",for:"htmlFor",formmethod:"formMethod",formaction:"formAction",formenctype:"formEncType",formnovalidate:"formNoValidate",formtarget:"formTarget",frameborder:"frameBorder",hreflang:"hrefLang",htmlfor:"htmlFor",httpequiv:"httpEquiv","http-equiv":"httpEquiv",icon:"icon",innerhtml:"innerHTML",inputmode:"inputMode",itemid:"itemID",itemprop:"itemProp",itemref:"itemRef",itemscope:"itemScope",itemtype:"itemType",keyparams:"keyParams",keytype:"keyType",marginwidth:"marginWidth",marginheight:"marginHeight",maxlength:"maxLength",mediagroup:"mediaGroup",minlength:"minLength",nomodule:"noModule",novalidate:"noValidate",playsinline:"playsInline",radiogroup:"radioGroup",readonly:"readOnly",referrerpolicy:"referrerPolicy",rowspan:"rowSpan",spellcheck:"spellCheck",srcdoc:"srcDoc",srclang:"srcLang",srcset:"srcSet",tabindex:"tabIndex",typemustmatch:"typeMustMatch",usemap:"useMap",accentheight:"accentHeight","accent-height":"accentHeight",alignmentbaseline:"alignmentBaseline","alignment-baseline":"alignmentBaseline",allowreorder:"allowReorder",arabicform:"arabicForm","arabic-form":"arabicForm",attributename:"attributeName",attributetype:"attributeType",autoreverse:"autoReverse",basefrequency:"baseFrequency",baselineshift:"baselineShift","baseline-shift":"baselineShift",baseprofile:"baseProfile",calcmode:"calcMode",capheight:"capHeight","cap-height":"capHeight",clippath:"clipPath","clip-path":"clipPath",clippathunits:"clipPathUnits",cliprule:"clipRule","clip-rule":"clipRule",colorinterpolation:"colorInterpolation","color-interpolation":"colorInterpolation",colorinterpolationfilters:"colorInterpolationFilters","color-interpolation-filters":"colorInterpolationFilters",colorprofile:"colorProfile","color-profile":"colorProfile",colorrendering:"colorRendering","color-rendering":"colorRendering",contentscripttype:"contentScriptType",contentstyletype:"contentStyleType",diffuseconstant:"diffuseConstant",dominantbaseline:"dominantBaseline","dominant-baseline":"dominantBaseline",edgemode:"edgeMode",enablebackground:"enableBackground","enable-background":"enableBackground",externalresourcesrequired:"externalResourcesRequired",fillopacity:"fillOpacity","fill-opacity":"fillOpacity",fillrule:"fillRule","fill-rule":"fillRule",filterres:"filterRes",filterunits:"filterUnits",floodopacity:"floodOpacity","flood-opacity":"floodOpacity",floodcolor:"floodColor","flood-color":"floodColor",fontfamily:"fontFamily","font-family":"fontFamily",fontsize:"fontSize","font-size":"fontSize",fontsizeadjust:"fontSizeAdjust","font-size-adjust":"fontSizeAdjust",fontstretch:"fontStretch","font-stretch":"fontStretch",fontstyle:"fontStyle","font-style":"fontStyle",fontvariant:"fontVariant","font-variant":"fontVariant",fontweight:"fontWeight","font-weight":"fontWeight",glyphname:"glyphName","glyph-name":"glyphName",glyphorientationhorizontal:"glyphOrientationHorizontal","glyph-orientation-horizontal":"glyphOrientationHorizontal",glyphorientationvertical:"glyphOrientationVertical","glyph-orientation-vertical":"glyphOrientationVertical",glyphref:"glyphRef",gradienttransform:"gradientTransform",gradientunits:"gradientUnits",horizadvx:"horizAdvX","horiz-adv-x":"horizAdvX",horizoriginx:"horizOriginX","horiz-origin-x":"horizOriginX",imagerendering:"imageRendering","image-rendering":"imageRendering",kernelmatrix:"kernelMatrix",kernelunitlength:"kernelUnitLength",keypoints:"keyPoints",keysplines:"keySplines",keytimes:"keyTimes",lengthadjust:"lengthAdjust",letterspacing:"letterSpacing","letter-spacing":"letterSpacing",lightingcolor:"lightingColor","lighting-color":"lightingColor",limitingconeangle:"limitingConeAngle",markerend:"markerEnd","marker-end":"markerEnd",markerheight:"markerHeight",markermid:"markerMid","marker-mid":"markerMid",markerstart:"markerStart","marker-start":"markerStart",markerunits:"markerUnits",markerwidth:"markerWidth",maskcontentunits:"maskContentUnits",maskunits:"maskUnits",numoctaves:"numOctaves",overlineposition:"overlinePosition","overline-position":"overlinePosition",overlinethickness:"overlineThickness","overline-thickness":"overlineThickness",paintorder:"paintOrder","paint-order":"paintOrder","panose-1":"panose1",pathlength:"pathLength",patterncontentunits:"patternContentUnits",patterntransform:"patternTransform",patternunits:"patternUnits",pointerevents:"pointerEvents","pointer-events":"pointerEvents",pointsatx:"pointsAtX",pointsaty:"pointsAtY",pointsatz:"pointsAtZ",preservealpha:"preserveAlpha",preserveaspectratio:"preserveAspectRatio",primitiveunits:"primitiveUnits",refx:"refX",refy:"refY",renderingintent:"renderingIntent","rendering-intent":"renderingIntent",repeatcount:"repeatCount",repeatdur:"repeatDur",requiredextensions:"requiredExtensions",requiredfeatures:"requiredFeatures",shaperendering:"shapeRendering","shape-rendering":"shapeRendering",specularconstant:"specularConstant",specularexponent:"specularExponent",spreadmethod:"spreadMethod",startoffset:"startOffset",stddeviation:"stdDeviation",stitchtiles:"stitchTiles",stopcolor:"stopColor","stop-color":"stopColor",stopopacity:"stopOpacity","stop-opacity":"stopOpacity",strikethroughposition:"strikethroughPosition","strikethrough-position":"strikethroughPosition",strikethroughthickness:"strikethroughThickness","strikethrough-thickness":"strikethroughThickness",strokedasharray:"strokeDasharray","stroke-dasharray":"strokeDasharray",strokedashoffset:"strokeDashoffset","stroke-dashoffset":"strokeDashoffset",strokelinecap:"strokeLinecap","stroke-linecap":"strokeLinecap",strokelinejoin:"strokeLinejoin","stroke-linejoin":"strokeLinejoin",strokemiterlimit:"strokeMiterlimit","stroke-miterlimit":"strokeMiterlimit",strokewidth:"strokeWidth","stroke-width":"strokeWidth",strokeopacity:"strokeOpacity","stroke-opacity":"strokeOpacity",suppresscontenteditablewarning:"suppressContentEditableWarning",suppresshydrationwarning:"suppressHydrationWarning",surfacescale:"surfaceScale",systemlanguage:"systemLanguage",tablevalues:"tableValues",targetx:"targetX",targety:"targetY",textanchor:"textAnchor","text-anchor":"textAnchor",textdecoration:"textDecoration","text-decoration":"textDecoration",textlength:"textLength",textrendering:"textRendering","text-rendering":"textRendering",underlineposition:"underlinePosition","underline-position":"underlinePosition",underlinethickness:"underlineThickness","underline-thickness":"underlineThickness",unicodebidi:"unicodeBidi","unicode-bidi":"unicodeBidi",unicoderange:"unicodeRange","unicode-range":"unicodeRange",unitsperem:"unitsPerEm","units-per-em":"unitsPerEm",unselectable:"unselectable",valphabetic:"vAlphabetic","v-alphabetic":"vAlphabetic",vectoreffect:"vectorEffect","vector-effect":"vectorEffect",vertadvy:"vertAdvY","vert-adv-y":"vertAdvY",vertoriginx:"vertOriginX","vert-origin-x":"vertOriginX",vertoriginy:"vertOriginY","vert-origin-y":"vertOriginY",vhanging:"vHanging","v-hanging":"vHanging",videographic:"vIdeographic","v-ideographic":"vIdeographic",viewbox:"viewBox",viewtarget:"viewTarget",vmathematical:"vMathematical","v-mathematical":"vMathematical",wordspacing:"wordSpacing","word-spacing":"wordSpacing",writingmode:"writingMode","writing-mode":"writingMode",xchannelselector:"xChannelSelector",xheight:"xHeight","x-height":"xHeight",xlinkactuate:"xlinkActuate","xlink:actuate":"xlinkActuate",xlinkarcrole:"xlinkArcrole","xlink:arcrole":"xlinkArcrole",xlinkhref:"xlinkHref","xlink:href":"xlinkHref",xlinkrole:"xlinkRole","xlink:role":"xlinkRole",xlinkshow:"xlinkShow","xlink:show":"xlinkShow",xlinktitle:"xlinkTitle","xlink:title":"xlinkTitle",xlinktype:"xlinkType","xlink:type":"xlinkType",xmlbase:"xmlBase","xml:base":"xmlBase",xmllang:"xmlLang","xml:lang":"xmlLang","xml:space":"xmlSpace",xmlnsxlink:"xmlnsXlink","xmlns:xlink":"xmlnsXlink",xmlspace:"xmlSpace",ychannelselector:"yChannelSelector",zoomandpan:"zoomAndPan",onblur:"onBlur",onchange:"onChange",onclick:"onClick",oncontextmenu:"onContextMenu",ondoubleclick:"onDoubleClick",ondrag:"onDrag",ondragend:"onDragEnd",ondragenter:"onDragEnter",ondragexit:"onDragExit",ondragleave:"onDragLeave",ondragover:"onDragOver",ondragstart:"onDragStart",ondrop:"onDrop",onerror:"onError",onfocus:"onFocus",oninput:"onInput",oninvalid:"onInvalid",onkeydown:"onKeyDown",onkeypress:"onKeyPress",onkeyup:"onKeyUp",onload:"onLoad",onmousedown:"onMouseDown",onmouseenter:"onMouseEnter",onmouseleave:"onMouseLeave",onmousemove:"onMouseMove",onmouseout:"onMouseOut",onmouseover:"onMouseOver",onmouseup:"onMouseUp",onscroll:"onScroll",onsubmit:"onSubmit",ontouchcancel:"onTouchCancel",ontouchend:"onTouchEnd",ontouchmove:"onTouchMove",ontouchstart:"onTouchStart",onwheel:"onWheel"};function j2e(e,t){var n,s;let{key:r,level:o,...a}=t;switch(e.nodeType){case 1:return aY.createElement(W2e(e.nodeName),z2e(e,r),oY(e.childNodes,o,a));case 3:{let i=(s=(n=e.nodeValue)==null?void 0:n.toString())!=null?s:"";if(!a.allowWhiteSpaces&&/^\s+$/.test(i)&&!/[\u00A0\u202F]/.test(i))return null;if(!e.parentNode)return i;let p=e.parentNode.nodeName.toLowerCase();return L2e.includes(p)?(/\S/.test(i)&&console.warn(`A textNode is not allowed inside '${p}'. Your text "${i}" will be ignored`),null):i}case 8:return null;case 11:return oY(e.childNodes,o,t);default:return null}}function z2e(e,t){let r={key:t};if(e instanceof Element){let o=e.getAttribute("class");o&&(r.className=o),[...e.attributes].forEach(a=>{switch(a.name){case"class":break;case"style":r[a.name]=F2e(a.value);break;case"allowfullscreen":case"allowpaymentrequest":case"async":case"autofocus":case"autoplay":case"checked":case"controls":case"default":case"defer":case"disabled":case"formnovalidate":case"hidden":case"ismap":case"itemscope":case"loop":case"multiple":case"muted":case"nomodule":case"novalidate":case"open":case"readonly":case"required":case"reversed":case"selected":case"typemustmatch":r[rY[a.name]||a.name]=!0;break;default:r[rY[a.name]||a.name]=a.value}})}return r}function oY(e,t,r){let o=[...e].map((a,n)=>M0(a,{...r,index:n,level:t+1})).filter(Boolean);return o.length?o:null}function W2e(e){return/[a-z]+[A-Z]+[a-z]+/.test(e)?e:e.toLowerCase()}function M0(e,t={}){if(!e||!(e instanceof Node))return null;let{actions:r=[],index:o=0,level:a=0,randomKey:n}=t,s=e,i=`${a}-${o}`,p=[];return n&&a===0&&(i=`${B2e()}-${i}`),Array.isArray(r)&&r.forEach(l=>{l.condition(s,i,a)&&(typeof l.pre=="function"&&(s=l.pre(s,i,a),s instanceof Node||(s=e)),typeof l.post=="function"&&p.push(l.post(s,i,a)))}),p.length?p:j2e(s,{key:i,level:a,...t})}function U2e(e,t={}){if(!e||typeof e!="string")return null;let{includeAllNodes:r=!1,nodeOnly:o=!1,selector:a="body > *",type:n="text/html"}=t;try{let i=new DOMParser().parseFromString(e,n);if(r){let{childNodes:l}=i.body;return o?l:[...l].map(d=>M0(d,t))}let p=i.querySelector(a)||i.body.childNodes[0];if(!(p instanceof Node))throw new TypeError("Error parsing input");return o?p:M0(p,t)}catch(s){}return null}function N0(e,t={}){return typeof e=="string"?U2e(e,t):e instanceof Node?M0(e,t):null}var B0=y(D(),1);var H2e=Object.defineProperty,V2e=(e,t,r)=>t in e?H2e(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,I0=(e,t,r)=>V2e(e,typeof t!="symbol"?t+"":t,r),nY="react-inlinesvg",sY=10,qt={IDLE:"idle",LOADING:"loading",LOADED:"loaded",FAILED:"failed",READY:"ready",UNSUPPORTED:"unsupported"};function F0(){return!!(typeof window!="undefined"&&window.document&&window.document.createElement)}function $2e(){return q2e()&&typeof window!="undefined"&&window!==null}async function lY(e,t){let r=await fetch(e,t),o=r.headers.get("content-type"),[a]=(o!=null?o:"").split(/ ?; ?/);if(r.status>299)throw new Error("Not found");if(!["image/svg+xml","text/plain"].some(n=>a.includes(n)))throw new Error(`Content type isn't valid: ${a}`);return r.text()}function G2e(e=1){return new Promise(t=>{setTimeout(t,e*1e3)})}function q2e(){if(!document)return!1;let e=document.createElement("div");e.innerHTML="";let t=e.firstChild;return!!t&&t.namespaceURI==="http://www.w3.org/2000/svg"}function K2e(e){return e[Math.floor(Math.random()*e.length)]}function J2e(e){let t="abcdefghijklmnopqrstuvwxyz",o=`${t}${t.toUpperCase()}1234567890`,a="";for(let n=0;n{this.cacheApi=o}).catch(o=>{console.error(`Failed to open cache: ${o.message}`)}).finally(()=>{this.isReady=!0,this.subscribers.forEach(o=>o())}):this.isReady=!0}onReady(e){this.isReady?e():this.subscribers.push(e)}async get(e,t){var r,o;return await(this.cacheApi?this.fetchAndAddToPersistentCache(e,t):this.fetchAndAddToInternalCache(e,t)),(o=(r=this.cacheStore.get(e))==null?void 0:r.content)!=null?o:""}set(e,t){this.cacheStore.set(e,t)}isCached(e){var t;return((t=this.cacheStore.get(e))==null?void 0:t.status)===qt.LOADED}async fetchAndAddToInternalCache(e,t){let r=this.cacheStore.get(e);if((r==null?void 0:r.status)===qt.LOADING){await this.handleLoading(e,async()=>{this.cacheStore.set(e,{content:"",status:qt.IDLE}),await this.fetchAndAddToInternalCache(e,t)});return}if(!(r!=null&&r.content)){this.cacheStore.set(e,{content:"",status:qt.LOADING});try{let o=await lY(e,t);this.cacheStore.set(e,{content:o,status:qt.LOADED})}catch(o){throw this.cacheStore.set(e,{content:"",status:qt.FAILED}),o}}}async fetchAndAddToPersistentCache(e,t){var a,n,s,i;let r=this.cacheStore.get(e);if((r==null?void 0:r.status)===qt.LOADED)return;if((r==null?void 0:r.status)===qt.LOADING){await this.handleLoading(e,async()=>{this.cacheStore.set(e,{content:"",status:qt.IDLE}),await this.fetchAndAddToPersistentCache(e,t)});return}this.cacheStore.set(e,{content:"",status:qt.LOADING});let o=await((a=this.cacheApi)==null?void 0:a.match(e));if(o){let p=await o.text();this.cacheStore.set(e,{content:p,status:qt.LOADED});return}try{await((n=this.cacheApi)==null?void 0:n.add(new Request(e,t)));let p=await((s=this.cacheApi)==null?void 0:s.match(e)),l=(i=await(p==null?void 0:p.text()))!=null?i:"";this.cacheStore.set(e,{content:l,status:qt.LOADED})}catch(p){throw this.cacheStore.set(e,{content:"",status:qt.FAILED}),p}}async handleLoading(e,t){var o;let r=0;for(;((o=this.cacheStore.get(e))==null?void 0:o.status)===qt.LOADING&&r=sY&&await t()}keys(){return[...this.cacheStore.keys()]}data(){return[...this.cacheStore.entries()].map(([e,t])=>({[e]:t}))}async delete(e){this.cacheApi&&await this.cacheApi.delete(e),this.cacheStore.delete(e)}async clear(){if(this.cacheApi){let e=await this.cacheApi.keys();for(let t of e)await this.cacheApi.delete(t)}this.cacheStore.clear()}};function iY(e){let t=(0,B0.useRef)();return(0,B0.useEffect)(()=>{t.current=e}),t.current}function Z2e(e){let{baseURL:t,content:r,description:o,handleError:a,hash:n,preProcessor:s,title:i,uniquifyIDs:p=!1}=e;try{let l=Q2e(r,s),d=N0(l,{nodeOnly:!0});if(!d||!(d instanceof SVGSVGElement))throw new Error("Could not convert the src to a DOM Node");let u=pY(d,{baseURL:t,hash:n,uniquifyIDs:p});if(o){let f=u.querySelector("desc");f!=null&&f.parentNode&&f.parentNode.removeChild(f);let c=document.createElementNS("http://www.w3.org/2000/svg","desc");c.innerHTML=o,u.prepend(c)}if(typeof i!="undefined"){let f=u.querySelector("title");if(f!=null&&f.parentNode&&f.parentNode.removeChild(f),i){let c=document.createElementNS("http://www.w3.org/2000/svg","title");c.innerHTML=i,u.prepend(c)}}return u}catch(l){return a(l)}}function Q2e(e,t){return t?t(e):e}function pY(e,t){let{baseURL:r="",hash:o,uniquifyIDs:a}=t,n=["id","href","xlink:href","xlink:role","xlink:arcrole"],s=["href","xlink:href"],i=(p,l)=>s.includes(p)&&(l?!l.includes("#"):!1);return a&&[...e.children].forEach(p=>{var l;if((l=p.attributes)!=null&&l.length){let d=Object.values(p.attributes).map(u=>{let f=u,c=/url\((.*?)\)/.exec(u.value);return c!=null&&c[1]&&(f.value=u.value.replace(c[0],`url(${r}${c[1]}__${o})`)),f});n.forEach(u=>{let f=d.find(c=>c.name===u);f&&!i(u,f.value)&&(f.value=`${f.value}__${o}`)})}return p.children.length?pY(p,t):p}),e}var Ch;function eMe(e){let{cacheRequests:t=!0,children:r=null,description:o,fetchOptions:a,innerRef:n,loader:s=null,onError:i,onLoad:p,src:l,title:d,uniqueHash:u}=e,[f,c]=(0,dr.useReducer)((q,j)=>({...q,...j}),{content:"",element:null,isCached:t&&Ch.isCached(e.src),status:qt.IDLE}),{content:h,element:g,isCached:m,status:x}=f,T=iY(e),b=iY(f),v=(0,dr.useRef)(u!=null?u:J2e(8)),w=(0,dr.useRef)(!1),O=(0,dr.useRef)(!1),k=(0,dr.useCallback)(q=>{w.current&&(c({status:q.message==="Browser does not support SVG"?qt.UNSUPPORTED:qt.FAILED}),i==null||i(q))},[i]),M=(0,dr.useCallback)((q,j=!1)=>{w.current&&c({content:q,isCached:j,status:qt.LOADED})},[]),N=(0,dr.useCallback)(async()=>{let q=await lY(l,a);M(q)},[a,M,l]),S=(0,dr.useCallback)(()=>{try{let q=Z2e({...e,handleError:k,hash:v.current,content:h}),j=N0(q);if(!j||!(0,dr.isValidElement)(j))throw new Error("Could not convert the src to a React element");c({element:j,status:qt.READY})}catch(q){k(new Error(q.message))}},[h,k,e]),B=(0,dr.useCallback)(async()=>{let q=/^data:image\/svg[^,]*?(;base64)?,(.*)/u.exec(l),j;if(q?j=q[1]?window.atob(q[2]):decodeURIComponent(q[2]):l.includes("{w.current&&c({content:"",element:null,isCached:!1,status:qt.LOADING})},[]);(0,dr.useEffect)(()=>{if(w.current=!0,!F0()||O.current)return()=>{};try{if(x===qt.IDLE){if(!$2e())throw new Error("Browser does not support SVG");if(!l)throw new Error("Missing src");G()}}catch(q){k(q)}return O.current=!0,()=>{w.current=!1}},[]),(0,dr.useEffect)(()=>{if(F0()&&T)if(T.src!==l){if(!l){k(new Error("Missing src"));return}G()}else(T.title!==d||T.description!==o)&&S()},[o,S,k,G,T,l,d]),(0,dr.useEffect)(()=>{b&&(b.status!==qt.LOADING&&x===qt.LOADING&&B(),b.status!==qt.LOADED&&x===qt.LOADED&&S(),b.status!==qt.READY&&x===qt.READY&&(p==null||p(l,m)))},[B,S,m,p,b,l,x]);let J=X2e(e,"baseURL","cacheRequests","children","description","fetchOptions","innerRef","loader","onError","onLoad","preProcessor","src","title","uniqueHash","uniquifyIDs");return F0()?g?(0,dr.cloneElement)(g,{ref:n,...J}):[qt.UNSUPPORTED,qt.FAILED].includes(x)?r:s:s}function uv(e){Ch||(Ch=new Y2e);let{loader:t}=e,r=(0,dr.useRef)(!1),[o,a]=(0,dr.useState)(Ch.isReady);return(0,dr.useEffect)(()=>{r.current||(Ch.onReady(()=>{a(!0)}),r.current=!0)},[]),o?dr.default.createElement(eMe,{...e}):t}var tMe=y(D());var oMe=window.location.hostname.endsWith("iobroker.in"),dY=window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1);function jo(e){var t,r,o;if(e.src){if(typeof e.src=="string"){if(e.src.length<3)return e.sx?Td.default.createElement(Le,{component:"span",sx:e.sx,title:e.title||void 0,style:{height:27,marginTop:-8,...e.styleUTF8||e.style},className:ve.clsx(e.className,"iconOwn")},e.src):Td.default.createElement("span",{title:e.title||void 0,style:{height:27,marginTop:-8,...e.styleUTF8||e.style},className:ve.clsx(e.className,"iconOwn")},e.src);if(e.src.startsWith("data:image/svg"))return Td.default.createElement(uv,{title:e.title||void 0,src:e.src,className:ve.clsx(e.className,"iconOwn"),width:((t=e.style)==null?void 0:t.width)||28,height:((r=e.style)==null?void 0:r.height)||((o=e.style)==null?void 0:o.width)||28,style:e.style||void 0});if(oMe&&!e.src.startsWith("http://")&&!e.src.startsWith("https://")){let a=e.src;return a.startsWith("./")?a=dY+a.substring(2):a.startsWith("/")||(a=dY+a),e.sx?Td.default.createElement(Le,{component:"img",sx:e.sx,title:e.title||void 0,style:e.style||void 0,className:ve.clsx(e.className,"iconOwn"),src:`https://remote-files.iobroker.in${a}`,alt:e.alt||void 0,ref:e.ref,onError:n=>e.onError&&e.onError(n)}):Td.default.createElement("img",{title:e.title||void 0,style:e.style||void 0,className:ve.clsx(e.className,"iconOwn"),src:`https://remote-files.iobroker.in${a}`,alt:e.alt||void 0,ref:e.ref,onError:n=>e.onError&&e.onError(n)})}return e.sx?Td.default.createElement(Le,{component:"img",sx:e.sx,title:e.title||void 0,style:e.style||void 0,className:ve.clsx(e.className,"iconOwn"),src:e.src,alt:e.alt||void 0,ref:e.ref,onError:e.onError}):Td.default.createElement("img",{title:e.title||void 0,style:e.style||void 0,className:ve.clsx(e.className,"iconOwn"),src:e.src,alt:e.alt||void 0,ref:e.ref,onError:e.onError})}return e.src}return null}var Sr=y(D());var Pf={dialog:{height:"100%"},paper:{height:"calc(100% - 64px)"},content:{textAlign:"center"},textarea:{width:"100%",height:"100%"},img:{width:"auto",height:"calc(100% - 5px)",objectFit:"contain"},dialogTitle:{justifyContent:"space-between",display:"flex"}},zo={images:["png","jpg","svg","jpeg","bmp","gif","apng","avif","webp","ico"],code:["js","json","json5","md"],txt:["log","txt","html","css","xml","ics"],audio:["mp3","wav","ogg","acc"],video:["mp4","mov","avi"]};function uY(e,t){let r="",o=new Uint8Array((e==null?void 0:e.data)||e),a=o.byteLength;for(let n=0;n{this.state.changed||(this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.timeout=null,a===null?window.alert("Show file was deleted!"):this.state.text!==null||this.state.code!==null?this.readFile():this.setState({forceUpdate:Date.now()})},300))});let o=ve.getFileExtension(r.href);this.state={text:null,code:null,ext:o,editing:!1,editingValue:null,copyPossible:!!o&&(zo.code.includes(o)||zo.txt.includes(o)),forceUpdate:Date.now(),changed:!1,imgError:!1}}readFile(){if(this.props.href){let r=this.props.href.split("/");r.splice(0,2);let o=r[0],a=r.splice(1).join("/");this.props.socket.readFile(o,a).then(n=>{let s="";n.file!==void 0&&(s=n.file);let i={copyPossible:this.state.copyPossible,ext:this.state.ext};if(s.type==="Buffer")if(a.toLowerCase().endsWith(".json5")){i.ext="json5",i.copyPossible=!0;try{s=atob(uY(s,!0))}catch(p){console.error("Cannot convert base64 to string"),s=""}}else{let p=ve.detectMimeType(uY(s));p&&(i.ext=p,i.copyPossible=zo.code.includes(p)||zo.txt.includes(p))}i.copyPossible&&(i.ext&&zo.txt.includes(i.ext)?(i.text=s,i.editingValue=s):i.ext&&zo.code.includes(i.ext)&&(i.code=s,i.editingValue=s)),this.setState(i)}).catch(n=>window.alert(`Cannot read file: ${n}`))}}componentDidMount(){this.readFile();let r=this.props.href.split("/");r.splice(0,2);let o=r[0],a=r.splice(1).join("/");this.props.supportSubscribes&&this.props.socket.subscribeFiles(o,a,this.onFileChanged).catch(n=>window.alert(`Cannot subscribe on file: ${n}`))}componentWillUnmount(){this.timeout&&(clearTimeout(this.timeout),this.timeout=null);let r=this.props.href.split("/");r.splice(0,2);let o=r[0],a=r.splice(1).join("/");this.props.supportSubscribes&&this.props.socket.subscribeFiles(o,a,this.onFileChanged).catch(n=>window.alert(`Cannot subscribe on file: ${n}`))}getEditorOrViewer(){return Sr.default.createElement(vr,{variant:"standard",style:Pf.textarea,multiline:!0,value:this.state.editingValue||this.state.code||this.state.text,slotProps:{htmlInput:{readOnly:!this.state.editing}}})}getContent(){return this.state.ext&&zo.images.includes(this.state.ext)?this.state.imgError?Sr.default.createElement(Ef,{style:{...Pf.img,...this.props.getStyleBackgroundImage()}}):Sr.default.createElement(jo,{onError:r=>{r.target.onerror=null,this.setState({imgError:!0})},style:{...Pf.img,...this.props.getStyleBackgroundImage()},src:`${this.props.href}?ts=${this.state.forceUpdate}`,alt:this.props.href}):this.state.ext&&zo.audio.includes(this.state.ext)?Sr.default.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},Sr.default.createElement("audio",{style:{width:"100%"},src:this.props.href,controls:!0})):this.state.ext&&zo.video.includes(this.state.ext)?Sr.default.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},Sr.default.createElement("video",{style:{width:"100%",height:"100%"},controls:!0},Sr.default.createElement("source",{src:this.props.href,type:`video/${this.state.ext}}`}))):this.state.code!==null||this.state.text!==null||this.state.editing?this.getEditorOrViewer():null}onSave(){}render(){return Sr.default.createElement(er,{sx:{"&.MuiDialog-scrollPaper":Pf.dialog,"& .MuiDialog-paper":Pf.paper},scroll:"paper",open:!!this.props.href,onClose:()=>this.props.onClose(),fullWidth:!0,maxWidth:"xl","aria-labelledby":"ar_dialog_file_view_title"},Sr.default.createElement("div",{style:Pf.dialogTitle},Sr.default.createElement(tr,{id:"ar_dialog_file_view_title"},`${this.props.t(this.state.editing?"Edit":"View")}: ${this.props.href}`),this.state.ext&&zo.images.includes(this.state.ext)&&Sr.default.createElement("div",null,Sr.default.createElement(nt,{size:"large",color:"inherit",onClick:this.props.setStateBackgroundImage},Sr.default.createElement(Ey,null)))),Sr.default.createElement(ir,{style:Pf.content},this.getContent()),Sr.default.createElement(sr,null,this.state.copyPossible?Sr.default.createElement(tt,{color:"grey",onClick:r=>{r.stopPropagation(),r.preventDefault(),ve.copyToClipboard(this.state.text||this.state.code||"")},startIcon:Sr.default.createElement(ER,null)},this.props.t("Copy content")):null,this.state.editing?Sr.default.createElement(tt,{color:"grey",disabled:this.state.editingValue===this.state.code||this.state.editingValue===this.state.text,variant:"contained",onClick:()=>this.onSave(),startIcon:Sr.default.createElement(Wm,null)},this.props.t("Save")):null,Sr.default.createElement(tt,{variant:"contained",onClick:()=>this.props.onClose(),color:"primary",startIcon:Sr.default.createElement($r,null)},this.props.t("Close"))))}},t2=Fl()(L0);var Oh=32,Ll=32,j0=120,fY=64,cY="Not found",z0={all:l_,images:BR,code:jm,txt:NR,audio:vR,video:JR},Ce={root:{width:"100%",overflow:"hidden",height:"100%",position:"relative"},filesDiv:{width:"calc(100% - 16px)",overflowX:"hidden",overflowY:"auto",padding:8},filesDivHint:{position:"absolute",bottom:0,left:20,opacity:.7,fontStyle:"italic",fontSize:12},filesDivTable:{height:"calc(100% - 56px)"},filesDivTile:{height:`calc(100% - ${48*2+8}px)`,display:"flex",alignContent:"flex-start",alignItems:"stretch",flexWrap:"wrap",flex:`0 0 ${fY}px`},itemTile:e=>({position:"relative",userSelect:"none",cursor:"pointer",height:j0,width:fY,display:"inline-block",textAlign:"center",opacity:.1,transition:"opacity 1s",margin:"4px",borderRadius:"4px","&:hover":{background:e.palette.secondary.light,color:ve.invertColor(e.palette.secondary.main,!0)}}),itemNameFolderTile:{fontWeight:"bold"},itemNameTile:{width:"100%",height:32,overflow:"hidden",textOverflow:"ellipsis",fontSize:12,textAlign:"center",wordBreak:"break-all"},itemFolderIconTile:e=>({width:"100%",height:j0-32-16-8,display:"block",pl:1,color:e.palette.secondary.main||"#fbff7d"}),itemFolderIconBack:e=>({position:"absolute",top:22,left:18,zIndex:1,color:e.palette.mode==="dark"?"#FFF":"#000"}),itemSizeTile:{width:"100%",height:16,textAlign:"center",fontSize:10},itemImageTile:{width:"calc(100% - 8px)",height:j0-32-16-8,margin:4,display:"block",textAlign:"center",objectFit:"contain"},itemIconTile:{width:"100%",height:j0-32-16-8,display:"block",objectFit:"contain"},itemSelected:e=>({background:e.palette.primary.main,color:ve.invertColor(e.palette.primary.main,!0)}),itemTable:e=>({userSelect:"none",cursor:"pointer",height:Oh,display:"inline-flex",lineHeight:`${Oh}px`,"&:hover":{background:e.palette.secondary.light,color:ve.invertColor(e.palette.secondary.main,!0)}}),itemNameTable:{display:"inline-block",pl:"10px",fontSize:"1rem",verticalAlign:"top",flexGrow:1,textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden","@media screen and (max-width: 500px)":{textAlign:"end",direction:"rtl"}},itemNameFolderTable:{fontWeight:"bold"},itemSizeTable:{display:"inline-block",width:60,verticalAlign:"top",textAlign:"right",whiteSpace:"nowrap"},itemAccessTable:{verticalAlign:"top",width:60,textAlign:"right",paddingRight:5,display:"flex",justifyContent:"center"},itemImageTable:{display:"inline-block",width:30,marginTop:1,objectFit:"contain",maxHeight:30},itemNoImageTable:{marginTop:6},itemIconTable:{display:"inline-block",marginTop:1,width:30,height:30},itemFolderTable:{},itemFolderTemp:{opacity:.4},itemFolderIconTable:e=>({marginTop:"1px",marginLeft:"8px",display:"inline-block",width:30,height:30,color:e.palette.secondary.main||"#fbff7d"}),itemDownloadButtonTable:e=>({display:"inline-block",width:Ll,height:Oh,minWidth:Ll,verticalAlign:"middle",textAlign:"center",padding:0,borderRadius:`${Ll/2}px`,"&:hover":{backgroundColor:e.palette.mode==="dark"?"rgba(255, 255, 255, 0.08)":"rgba(0, 0, 0, 0.08)"},"& span":{pt:"9px"},"& svg":{width:14,height:14,fontSize:"1rem",mt:"-3px",verticalAlign:"middle",color:e.palette.mode==="dark"?"#EEE":"#111"}}),itemDownloadEmptyTable:{display:"inline-block",width:Ll,height:Oh,minWidth:Ll,padding:0},itemAclButtonTable:{width:Ll,height:Oh,minWidth:Ll,verticalAlign:"top",padding:0,fontSize:12,display:"flex"},itemDeleteButtonTable:{display:"inline-block",width:Ll,height:Oh,minWidth:Ll,verticalAlign:"top",padding:0,"& svg":{width:18,height:18,fontSize:"1.5rem"}},uploadDiv:{top:0,zIndex:1,bottom:0,left:0,right:0,position:"absolute",opacity:.9,textAlign:"center",background:"#FFFFFF"},uploadDivDragging:{opacity:1},uploadCenterDiv:e=>({m:"20px",border:"3px dashed grey",borderRadius:"30px",width:"calc(100% - 40px)",height:"calc(100% - 40px)",position:"relative",color:e.palette.mode==="dark"?"#222":"#CCC",display:"flex",alignItems:"center",justifyContent:"center"}),uploadCenterIcon:{width:"25%",height:"25%"},uploadCenterText:{fontSize:24,fontWeight:"bold"},uploadCloseButton:{zIndex:2,position:"absolute",top:30,right:30},uploadCenterTextAndIcon:{position:"absolute",height:"30%",width:"100%",margin:"auto",opacity:.3},menuButtonExpertActive:{color:"#c00000"},menuButtonRestrictActive:{color:"#c05000"},pathDiv:e=>({display:"flex",width:"calc(100% - 16px)",ml:1,mr:1,textOverflow:"clip",overflow:"hidden",whiteSpace:"nowrap",backgroundColor:e.palette.secondary.main}),pathDivInput:{width:"100%"},pathDivBreadcrumbDir:e=>({pl:"2px",pr:"2px",cursor:"pointer","&:hover":{background:e.palette.primary.main}}),pathDivBreadcrumbSelected:{},backgroundImageLight:{background:"white"},backgroundImageDark:{background:"black"},backgroundImageColored:{background:"silver"},specialFolder:e=>({color:e.palette.mode==="dark"?"#229b0f":"#5dd300"}),tooltip:{pointerEvents:"none"}},Sd="0_userdata.0";function kh(e){let t=(e||"").split("/");return t.length&&t.pop(),t.join("/")}function r2(e){let t=ve.getFileExtension(e);return!!(t!=null&&t.toLowerCase().match(/[a-z]+/)&&t.length<5)}var It="Table",o2="Tile";function mY(e,t){return e.folder&&t.folder?e.name>t.name?1:e.namet.name?1:e.name{let n=`${r}/${o}`,s=n.lastIndexOf("/"),i=n.substring(0,s);console.log(`File changed ${n}[${a}]`),this.state.folders[i]&&(this._tempTimeout[i]&&clearTimeout(this._tempTimeout[i]),this._tempTimeout[i]=setTimeout(()=>{delete this._tempTimeout[i],this.browseFolder(i,null,!1,!0).then(p=>this.setState({folders:p})).catch(p=>console.error(`Cannot read folder: ${p.message}`))},300))});A(this,"setStateBackgroundImage",()=>{let r=["light","dark","colored","delete"];this.setState(({backgroundImage:o})=>o&&r.indexOf(o)!==-1&&r.length-1!==r.indexOf(o)?(this.localStorage.setItem("files.backgroundImage",r[r.indexOf(o)+1]),{backgroundImage:r[r.indexOf(o)+1]}):(this.localStorage.setItem("files.backgroundImage",r[0]),{backgroundImage:r[0]}))});A(this,"getStyleBackgroundImage",()=>{switch(this.state.backgroundImage){case"light":return Ce.backgroundImageLight;case"dark":return Ce.backgroundImageDark;case"colored":return Ce.backgroundImageColored;case"delete":return null;default:return null}});this.localStorage=window._localStorage||window.localStorage;let o=this.localStorage.getItem("files.expanded")||"[]";if(this.props.limitPath){let l=this.props.limitPath.split("/");this.limitToObjectID=l[0],this.limitToPath=l.length?l.length===1&&l[0]===""?null:l.join("/"):null,this.limitToPath&&this.limitToPath.endsWith("/")&&this.limitToPath.substring(0,this.limitToPath.length-1)}let a;try{a=JSON.parse(o),this.limitToPath&&(a=a.filter(l=>{var d;return l.startsWith(`${this.limitToPath}/`)||l===this.limitToPath||((d=this.limitToPath)==null?void 0:d.startsWith(`${l}/`))}))}catch(l){a=[]}let n;this.props.showViewTypeButton?n=this.localStorage.getItem("files.viewType")||It:n=It;let s=this.props.selected||this.localStorage.getItem("files.selected")||Sd,i;if(r.restrictToFolder){s=r.restrictToFolder,i=r.restrictToFolder;let l=r.restrictToFolder.split("/");a=[];let d="";for(let u=0;u{if(this.state.viewType===It&&!this.findItem(this.state.selected)){let o=this.state.selected.split("/");for(;o.length&&!this.findItem(o.join("/"));)o.pop();let a;o.length?a=o.join("/"):a=Sd,this.setState({selected:a,path:a,pathFocus:!1},()=>this.scrollToSelected())}else this.scrollToSelected();this.initialReadFinished=!0})}scrollToSelected(){if(this.mounted){let r=document.getElementById(this.state.selected);r==null||r.scrollIntoView()}}async componentDidMount(){this.mounted=!0,this.loadFolders().catch(r=>console.error(`Cannot load folders: ${r}`)),this.supportSubscribes=await this.props.socket.checkFeatureSupported("BINARY_STATE_EVENT"),this.supportSubscribes&&await this.props.socket.subscribeFiles("*","*",this.onFileChange)}componentWillUnmount(){this.supportSubscribes&&this.props.socket.unsubscribeFiles("*","*",this.onFileChange),this.mounted=!1,this.browseList=null,this.browseListRunning=!1,Object.values(this._tempTimeout).forEach(r=>r&&clearTimeout(r)),this._tempTimeout={}}browseFoldersCb(r,o,a){if(!(r!=null&&r.length))a(o);else{let n=r.shift();n?this.browseFolder(n,o).catch(s=>console.error(`Cannot read folder ${n}: ${s.message}`)).then(()=>{setTimeout(()=>this.browseFoldersCb(r,o,a),0)}):setTimeout(()=>this.browseFoldersCb(r,o,a),0)}}browseFolders(r,o){let a;return o?a=o:(a={},Object.keys(this.state.folders).forEach(n=>a[n]=this.state.folders[n])),r!=null&&r.length?new Promise(n=>{this.browseFoldersCb(r,a,n)}):Promise.resolve(a)}readDirSerial(r,o){return new Promise((a,n)=>{this.browseList&&(this.browseList.push({resolve:a,reject:n,adapter:r,relPath:o}),this.browseListRunning||this.processBrowseList())})}processBrowseList(r=0){!this.browseListRunning&&this.browseList&&this.browseList.length&&(this.browseListRunning=!0,this.browseList.length>10?this.browseList.length%10||this.setState({queueLength:this.browseList.length}):this.setState({queueLength:this.browseList.length}),this.browseList[0].processing=!0,this.props.socket.readDir(this.browseList[0].adapter,this.browseList[0].relPath).then(o=>{if(this.browseList){let a=this.browseList.shift();if(a){let n=a.resolve;a.resolve=null,a.reject=null,a.adapter=null,a.relPath=null,n&&n(o),this.browseListRunning=!1,this.browseList.length?r<5?this.processBrowseList(r+1):setTimeout(()=>this.processBrowseList(0),0):this.setState({queueLength:0})}else this.setState({queueLength:0})}}).catch(o=>{if(this.browseList){let a=this.browseList.shift();if(a){let n=a.reject;a.resolve=null,a.reject=null,a.adapter=null,a.relPath=null,n&&n(o),this.browseListRunning=!1,this.browseList.length?r<5?this.processBrowseList(r+1):setTimeout(()=>this.processBrowseList(0),0):this.setState({queueLength:0})}else this.setState({queueLength:0})}}))}async browseFolder(r,o,a,n){let s;if(o?s=o:(s={},Object.keys(this.state.folders).forEach(f=>{s[f]=this.state.folders[f]})),s[r]&&!n)return a?Promise.resolve(s):new Promise((f,c)=>{Promise.all(s[r].filter(h=>h.folder).map(h=>this.browseFolder(h.id,s,!0).catch(()=>{}))).then(()=>f(s)).catch(h=>c(new Error(h)))});if(!r||r==="/"){try{let f=await this.props.socket.readMetaItems(),c=[],h=null;if(this.state.restrictToFolder){let m=this.state.restrictToFolder.split("/")[0];f=f.filter(x=>x._id===m)}else this.state.expertMode||(f=f.filter(m=>!m._id.endsWith(".admin")));let g=f.findIndex(m=>m._id==="system.meta.uuid");if(g!==-1&&f.splice(g,1),f.forEach(m=>{if(this.limitToObjectID&&this.limitToObjectID!==m._id)return;let x={id:m._id,name:m._id,title:m.common&&m.common.name||m._id,meta:!0,from:m.from,ts:m.ts,color:m.common&&m.common.color,icon:m.common&&m.common.icon,folder:!0,acl:m.acl,level:0};x.id===Sd?h=x:c.push(x)}),c.sort((m,x)=>m.id>x.id?1:m.idm.folder).map(m=>this.browseFolder(m.id,s,!0).catch(()=>{}))).then(()=>s)}catch(f){let c=f;this.initialReadFinished&&window.alert(`Cannot read meta items: ${c.message}`),s[r||"/"]=[]}return s}let i=r.split("/"),p=i.length,l=i.shift(),d=i.join("/"),u;try{u=await this.readDirSerial(l||"",d)}catch(f){if(f==="Not exists"&&l==="0_userdata.0")u=[];else throw f}try{let f=[];if(u.forEach(c=>{var g;let h={id:`${r}/${c.file}`,ext:ve.getFileExtension(c.file),folder:c.isDir,name:c.file,size:(g=c.stats)==null?void 0:g.size,modified:c.modifiedAt,acl:c.acl,level:p};this.state.restrictToFolder?(h.folder&&(h.id.startsWith(`${this.state.restrictToFolder}/`)||h.id===this.state.restrictToFolder||this.state.restrictToFolder.startsWith(`${h.id}/`))||h.id.startsWith(`${this.state.restrictToFolder}/`))&&f.push(h):this.limitToPath?(h.folder&&(h.id.startsWith(`${this.limitToPath}/`)||h.id===this.limitToPath||this.limitToPath.startsWith(`${h.id}/`))||h.id.startsWith(`${this.limitToPath}/`))&&f.push(h):f.push(h)}),f.sort(mY),s[r]=f,!a)return Promise.all(f.filter(c=>c.folder).map(c=>this.browseFolder(c.id,s,!0))).then(()=>s)}catch(f){let c=f;this.initialReadFinished&&window.alert(`Cannot read ${l}${d?`/${d}`:""}: ${c==null?void 0:c.message}`),s[r]=[]}return s}toggleFolder(r,o){o==null||o.stopPropagation();let a=[...this.state.expanded],n=a.indexOf(r.id);n===-1?(a.push(r.id),a.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(a)),r.temp?this.setState({expanded:a}):this.browseFolder(r.id).then(s=>this.setState({expanded:a,folders:s})).catch(s=>window.alert(s===cY?this.props.t('ra_Cannot find "%s"',r.id):this.props.t('ra_Cannot read "%s"',r.id)))):(a.splice(n,1),this.localStorage.setItem("files.expanded",JSON.stringify(a)),this.setState({expanded:a}))}changeFolder(r,o){r==null||r.stopPropagation(),this.lastSelect=Date.now();let a=o||kh(this.state.currentDir);if(a==="/"&&(a=""),this.localStorage.setItem("files.currentDir",a),o&&r&&(r.altKey||r.shiftKey||r.ctrlKey||r.metaKey)){this.setState({selected:a});return}if(a&&!this.state.folders[a]){this.browseFolder(a).then(n=>this.setState({folders:n,path:a,currentDir:a,selected:a,pathFocus:!1},()=>this.props.onSelect&&this.props.onSelect(""))).catch(n=>console.error(`Cannot read folder: ${n.message}`));return}this.setState({currentDir:a,selected:a,path:a,pathFocus:!1},()=>this.props.onSelect&&this.props.onSelect(""))}select(r,o,a){o&&o.stopPropagation(),this.lastSelect=Date.now(),this.localStorage.setItem("files.selected",r),this.setState({selected:r,path:r,pathFocus:!1},()=>{if(this.props.onSelect){let n=ve.getFileExtension(r);(!this.props.filterFiles||n&&this.props.filterFiles.includes(n))&&(!this.state.filterByType||n&&zo[this.state.filterByType].includes(n))?this.props.onSelect(r,!1,!!this.state.folders[r]):this.props.onSelect("")}a&&a()})}getText(r){if(r)return typeof r=="object"?r[this.props.lang]||r.en||void 0:r}renderFolder(r,o){if(this.state.viewType===It&&this.state.filterEmpty&&(!this.state.folders[r.id]||!this.state.folders[r.id].length)&&r.id!==Sd&&!r.temp)return null;let a=o?kf:Bl,n=this.state.viewType===It?r.level*this.levelPadding:0,s=r.name===Sd,i=s||r.name==="vis.0"||r.name==="vis-2.0",p=ve.getStyle(this.props.theme,Ce[`itemFolderIcon${this.state.viewType}`],i&&Ce.specialFolder);return fe.default.createElement(Le,{component:"div",key:r.id,id:r.id,style:this.state.viewType===It?{marginLeft:n,width:`calc(100% - ${n}px`}:{},onClick:l=>this.state.viewType===It?this.select(r.id,l):this.changeFolder(l,r.id),onDoubleClick:l=>this.state.viewType===It&&this.toggleFolder(r,l),title:this.getText(r.title),className:"browserItem",sx:ve.getStyle(this.props.theme,Ce[`item${this.state.viewType}`],Ce[`itemFolder${this.state.viewType}`],this.state.selected===r.id?Ce.itemSelected:{},r.temp?Ce.itemFolderTemp:{})},fe.default.createElement(a,{style:p,onClick:this.state.viewType===It?l=>this.toggleFolder(r,l):void 0}),fe.default.createElement(Le,{component:"div",sx:ve.getStyle(this.props.theme,Ce[`itemName${this.state.viewType}`],Ce[`itemNameFolder${this.state.viewType}`])},s?this.props.t("ra_User files"):r.name),fe.default.createElement(Le,{component:"div",style:Ce[`itemSize${this.state.viewType}`],sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===It&&this.state.folders[r.id]?this.state.folders[r.id].length:""),fe.default.createElement(Le,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===It&&this.props.expertMode?this.formatAcl(r.acl):null),this.state.viewType===It&&this.props.expertMode?fe.default.createElement(Le,{component:"div",sx:{...Ce.itemDeleteButtonTable,display:{md:"inline-block",sm:"none"}}}):null,this.state.viewType===It&&this.props.allowDownload?fe.default.createElement("div",{style:Ce[`itemDownloadEmpty${this.state.viewType}`]}):null,this.state.viewType===It&&this.props.allowDelete&&this.state.folders[r.id]&&this.state.folders[r.id].length?fe.default.createElement(nt,{"aria-label":"delete",onClick:l=>{l.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(r.id):this.setState({deleteItem:r.id})},sx:Ce[`itemDeleteButton${this.state.viewType}`],size:"large"},fe.default.createElement(Hs,{fontSize:"small"})):this.state.viewType===It&&this.props.allowDelete?fe.default.createElement(Le,{component:"div",sx:Ce[`itemDeleteButton${this.state.viewType}`]}):null)}renderBackFolder(){return fe.default.createElement(Le,{component:"div",key:this.state.currentDir,id:this.state.currentDir,onClick:r=>this.changeFolder(r),title:this.props.t("ra_Back to %s",kh(this.state.currentDir)),className:"browserItem",sx:ve.getStyle(this.props.theme,Ce[`item${this.state.viewType}`],Ce[`itemFolder${this.state.viewType}`])},fe.default.createElement(Bl,{style:ve.getStyle(this.props.theme,Ce[`itemFolderIcon${this.state.viewType}`])}),fe.default.createElement(gR,{sx:Ce.itemFolderIconBack}),fe.default.createElement(Le,{component:"div",sx:ve.getStyle(this.props.theme,Ce[`itemName${this.state.viewType}`],Ce[`itemNameFolder${this.state.viewType}`])},".."))}formatSize(r){return fe.default.createElement("div",{style:Ce[`itemSize${this.state.viewType}`]},r||r===0?ve.formatBytes(r):"")}formatAcl(r){let o=r?r.permissions||r.file:0,a;return o?a=o.toString(16).padStart(3,"0"):a="",fe.default.createElement("div",{style:Ce[`itemAccess${this.state.viewType}`]},this.props.modalEditOfAccessControl?fe.default.createElement(nt,{size:"large",onClick:()=>this.setState({modalEditOfAccess:!0}),sx:Ce[`itemAclButton${this.state.viewType}`]},a||"---"):a||"---")}getFileIcon(r){switch(r){case"json":case"json5":return fe.default.createElement(SR,{style:Ce[`itemIcon${this.state.viewType}`]});case"css":return fe.default.createElement(wR,{style:Ce[`itemIcon${this.state.viewType}`]});case"js":case"ts":return fe.default.createElement(jm,{style:Ce[`itemIcon${this.state.viewType}`]});case"html":case"md":return fe.default.createElement(zm,{style:Ce[`itemIcon${this.state.viewType}`]});case"mp3":case"ogg":case"wav":case"m4a":case"mp4":case"flac":return fe.default.createElement(HR,{style:Ce[`itemIcon${this.state.viewType}`]});default:return fe.default.createElement(l_,{style:Ce[`itemIcon${this.state.viewType}`]})}}static getEditFile(r){switch(r){case"json":case"json5":case"js":case"html":case"txt":case"css":case"log":return!0;default:return!1}}renderFile(r){let o=this.state.viewType===It?r.level*this.levelPadding:0,a=ve.getFileExtension(r.name);return fe.default.createElement(Le,{component:"div",key:r.id,id:r.id,onDoubleClick:n=>{n.stopPropagation(),this.props.onSelect?(!this.props.filterFiles||r.ext&&this.props.filterFiles.includes(r.ext))&&(!this.state.filterByType||r.ext&&zo[this.state.filterByType].includes(r.ext))&&this.props.onSelect(r.id,!0,!!this.state.folders[r.id]):this.setState({viewer:this.imagePrefix+r.id,formatEditFile:a})},onClick:n=>this.select(r.id,n),style:this.state.viewType===It?{marginLeft:o,width:`calc(100% - ${o}px)`}:{},className:"browserItem",sx:ve.getStyle(this.props.theme,Ce[`item${this.state.viewType}`],Ce[`itemFile${this.state.viewType}`],this.state.selected===r.id?Ce.itemSelected:void 0)},a&&zo.images.includes(a)?this.state.fileErrors.includes(r.id)?fe.default.createElement(Ef,{style:{...Ce[`itemImage${this.state.viewType}`],...this.getStyleBackgroundImage(),...Ce[`itemNoImage${this.state.viewType}`]}}):fe.default.createElement(jo,{onError:n=>{n.target.onerror=null;let s=[...this.state.fileErrors];s.includes(r.id)||(s.push(r.id),this.setState({fileErrors:s}))},style:{...Ce[`itemImage${this.state.viewType}`],...this.getStyleBackgroundImage()},src:this.imagePrefix+r.id,alt:r.name}):this.getFileIcon(a),fe.default.createElement(Le,{component:"div",sx:Ce[`itemName${this.state.viewType}`]},r.name),fe.default.createElement(Le,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.formatSize(r.size)),fe.default.createElement(Le,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===It&&this.props.expertMode?this.formatAcl(r.acl):null),fe.default.createElement(Le,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===It&&this.props.expertMode&&e.getEditFile(a)?fe.default.createElement(nt,{"aria-label":"edit",onClick:n=>{n.stopPropagation(),this.props.onSelect?(!this.props.filterFiles||r.ext&&this.props.filterFiles.includes(r.ext))&&(!this.state.filterByType||r.ext&&zo[this.state.filterByType].includes(r.ext))&&this.props.onSelect(r.id,!0,!!this.state.folders[r.id]):this.setState({viewer:this.imagePrefix+r.id,formatEditFile:a})},sx:Ce.itemDeleteButtonTable,size:"large"},fe.default.createElement(af,{fontSize:"small"})):fe.default.createElement(Le,{component:"div",sx:Ce[`itemDeleteButton${this.state.viewType}`]})),this.state.viewType===It&&this.props.allowDownload?fe.default.createElement(Le,{component:"a",className:"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeLarge",sx:Ce.itemDownloadButtonTable,tabIndex:0,download:r.id,href:this.imagePrefix+r.id,onClick:n=>n.stopPropagation()},fe.default.createElement(VR,null)):null,this.state.viewType===It&&this.props.allowDelete&&r.id!=="vis.0/"&&r.id!=="vis-2.0/"&&r.id!==Sd?fe.default.createElement(nt,{"aria-label":"delete",onClick:n=>{n.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(r.id):this.setState({deleteItem:r.id})},sx:Ce[`itemDeleteButton${this.state.viewType}`],size:"large"},fe.default.createElement(Hs,{fontSize:"small"})):this.state.viewType===It&&this.props.allowDelete?fe.default.createElement(Le,{component:"div",sx:Ce[`itemDeleteButton${this.state.viewType}`]}):null)}renderItems(r){if(this.state.folders&&this.state.folders[r]){if(this.state.viewType===o2){let a=[];return r&&r!=="/"&&a.push(this.renderBackFolder()),this.state.folders[r].forEach(n=>{n.folder?a.push(this.renderFolder(n)):(!this.props.filterFiles||n.ext&&this.props.filterFiles.includes(n.ext))&&(!this.state.filterByType||n.ext&&zo[this.state.filterByType].includes(n.ext))&&a.push(this.renderFile(n))}),a}let o=[];return this.state.folders[r].forEach(a=>{if(a.folder){let n=this.state.expanded.includes(a.id),s=this.renderFolder(a,n);if(Array.isArray(s)?s.forEach(i=>o.push(i)):o.push(s),this.state.folders[a.id]&&n){let i=this.renderItems(a.id);Array.isArray(i)?i.forEach(p=>o.push(p)):o.push(i)}}else(!this.props.filterFiles||a.ext&&this.props.filterFiles.includes(a.ext))&&(!this.state.filterByType||a.ext&&zo[this.state.filterByType].includes(a.ext))&&o.push(this.renderFile(a))}),o}return fe.default.createElement("div",{style:{position:"relative"}},fe.default.createElement(Sm,{key:r,color:"secondary",size:24}),fe.default.createElement("div",{style:{position:"absolute",zIndex:2,top:4,width:24,textAlign:"center"}},this.state.queueLength))}renderToolbar(){let r=this.props.showTypeSelector?z0[this.state.filterByType||"all"]||z0.all:null,o=this.findFirstFolder(this.state.selected);return fe.default.createElement(Bm,{key:"toolbar",variant:"dense"},this.props.allowNonRestricted&&this.props.restrictToFolder?fe.default.createElement(nt,{edge:"start",title:this.state.restrictToFolder?this.props.t("ra_Show all folders"):this.props.t("ra_Restrict to folder"),style:{...Ce.menuButton,...this.state.restrictToFolder?Ce.menuButtonRestrictActive:void 0},"aria-label":"restricted to folder",onClick:()=>this.setState({restrictToFolder:(this.state.restrictToFolder?"":this.props.restrictToFolder)||"",loadAllFolders:!0}),size:"small"},fe.default.createElement(MR,{fontSize:"small"})):null,this.props.showExpertButton?fe.default.createElement(nt,{edge:"start",title:this.props.t("ra_Toggle expert mode"),style:{...Ce.menuButton,...this.state.expertMode?Ce.menuButtonExpertActive:void 0},"aria-label":"expert mode",onClick:()=>this.setState({expertMode:!this.state.expertMode}),size:"small"},fe.default.createElement(_h,null)):null,this.props.showViewTypeButton?fe.default.createElement(nt,{edge:"start",title:this.props.t("ra_Toggle view mode"),style:Ce.menuButton,"aria-label":"view mode",onClick:()=>{let a=this.state.viewType===It?o2:It;this.localStorage.setItem("files.viewType",a);let n=this.state.selected;r2(n)&&(n=kh(n)),this.setState({viewType:a,currentDir:n},()=>{this.state.viewType===It&&this.scrollToSelected()})},size:"small"},this.state.viewType!==It?fe.default.createElement(zR,{fontSize:"small"}):fe.default.createElement(YR,{fontSize:"small"})):null,fe.default.createElement(nt,{edge:"start",title:this.props.t("ra_Hide empty folders"),style:Ce.menuButton,color:this.state.filterEmpty?"secondary":"inherit","aria-label":"filter empty",onClick:()=>{this.localStorage.setItem("file.empty",this.state.filterEmpty?"false":"true"),this.setState({filterEmpty:!this.state.filterEmpty})},size:"small"},fe.default.createElement(AR,{fontSize:"small"})),fe.default.createElement(nt,{edge:"start",title:this.props.t("ra_Reload files"),style:Ce.menuButton,color:"inherit","aria-label":"reload files",onClick:()=>this.setState({folders:{}},()=>this.loadFolders()),size:"small"},fe.default.createElement(Ry,{fontSize:"small"})),this.props.allowCreateFolder?fe.default.createElement(nt,{edge:"start",disabled:!this.state.selected||!o||!!this.limitToPath&&!this.state.selected.startsWith(`${this.limitToPath}/`)&&this.limitToPath!==this.state.selected,title:this.props.t("ra_Create folder"),style:Ce.menuButton,color:"inherit","aria-label":"add folder",onClick:()=>this.setState({addFolder:!0}),size:"small"},fe.default.createElement(Py,{fontSize:"small"})):null,this.props.allowUpload?fe.default.createElement(nt,{edge:"start",disabled:!this.state.selected||!o||!!this.limitToPath&&!this.state.selected.startsWith(`${this.limitToPath}/`)&&this.limitToPath!==this.state.selected,title:this.props.t("ra_Upload file"),style:Ce.menuButton,color:"inherit","aria-label":"upload file",onClick:()=>this.setState({uploadFile:!0}),size:"small"},fe.default.createElement(nf,{fontSize:"small"})):null,this.props.showTypeSelector&&r?fe.default.createElement(Ir,{title:this.props.t("ra_Filter files"),slotProps:{popper:{sx:Ce.tooltip}}},fe.default.createElement(nt,{size:"small",onClick:a=>this.setState({showTypesMenu:a.target})},fe.default.createElement(r,{fontSize:"small"}))):null,this.state.showTypesMenu?fe.default.createElement(Mi,{open:!0,anchorEl:this.state.showTypesMenu,onClose:()=>this.setState({showTypesMenu:null})},Object.keys(z0).map(a=>{let n=z0[a];return fe.default.createElement(Mt,{key:a,selected:this.state.filterByType===a,onClick:()=>{a==="all"?(this.localStorage.removeItem("files.filterByType"),this.setState({filterByType:"",showTypesMenu:null})):(this.localStorage.setItem("files.filterByType",a),this.setState({filterByType:a,showTypesMenu:null}))}},fe.default.createElement(Ai,null,fe.default.createElement(n,{fontSize:"small"})),fe.default.createElement(ps,null,this.props.t(`ra_fileType_${a}`)))})):null,fe.default.createElement(Ir,{title:this.props.t("ra_Background image"),slotProps:{popper:{sx:Ce.tooltip}}},fe.default.createElement(nt,{color:"inherit",edge:"start",style:Ce.menuButton,onClick:this.setStateBackgroundImage,size:"small"},fe.default.createElement(Ey,{fontSize:"small"}))),this.state.viewType!==It&&this.props.allowDelete?fe.default.createElement(Ir,{title:this.props.t("ra_Delete"),slotProps:{popper:{sx:Ce.tooltip}}},fe.default.createElement("span",null,fe.default.createElement(nt,{"aria-label":"delete",disabled:!this.state.selected||this.state.selected==="vis.0/"||this.state.selected==="vis-2.0/"||this.state.selected===Sd,color:"inherit",edge:"start",style:Ce.menuButton,onClick:a=>{a.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(this.state.selected):this.setState({deleteItem:this.state.selected})},size:"small"},fe.default.createElement(Hs,{fontSize:"small"})))):null)}findItem(r,o){if(o=o||this.state.folders,!o)return null;let a=r.split("/");a.pop();let n=a.join("/")||"/";return o[n]&&o[n].find(s=>s.id===r)||null}renderInputDialog(){if(this.state.addFolder){let r=this.findFirstFolder(this.state.selected);return r?fe.default.createElement(D0,{key:"inputDialog",applyText:this.props.t("ra_Create"),cancelText:this.props.t("ra_Cancel"),titleText:this.props.t("ra_Create new folder in %s",this.state.selected),promptText:this.props.t("ra_If no file will be created in the folder, it will disappear after the browser closed"),labelText:this.props.t("ra_Folder name"),verify:o=>this.state.folders[r].find(a=>a.name===o)?"":this.props.t("ra_Duplicate name"),onClose:o=>{if(o){let a={};Object.keys(this.state.folders).forEach(p=>a[p]=this.state.folders[p]);let n=this.findItem(r),s=`${r}/${o}`;a[r].push({id:s,level:((n==null?void 0:n.level)||0)+1,name:o,folder:!0,temp:!0}),a[r].sort(mY),a[s]=[];let i=[...this.state.expanded];i.includes(r)||(i.push(r),i.sort()),this.localStorage.setItem("files.expanded",JSON.stringify(i)),this.setState({addFolder:!1,folders:a,expanded:i},()=>this.select(s))}else this.setState({addFolder:!1})},replace:o=>o.replace(/[^-_\w]/,"_")}):(window.alert(this.props.t("ra_Invalid parent folder!")),null)}return null}componentDidUpdate(){this.setOpacityTimer&&clearTimeout(this.setOpacityTimer),this.setOpacityTimer=setTimeout(()=>{this.setOpacityTimer=null;let r=window.document.getElementsByClassName("browserItem");for(let o=0;othis.setState({uploadFile:!1})},fe.default.createElement($r,null)),fe.default.createElement(eY,{key:"dropzone",onDragEnter:()=>this.setState({uploadFile:"dragging"}),onDragLeave:()=>this.setState({uploadFile:!0}),onDrop:r=>{let o=r.length;r.forEach(a=>{let n=new FileReader;n.onabort=()=>console.log("file reading was aborted"),n.onerror=()=>console.log("file reading has failed"),n.onload=()=>{let s=this.findFirstFolder(this.state.selected);if(!s)window.alert(this.props.t("ra_Invalid parent folder!"));else{let i=`${s}/${a.name}`;this.uploadFile(i,n.result).then(()=>{--o||this.setState({uploadFile:!1},()=>{if(this.supportSubscribes){let p=[...this.state.expanded];p.includes(s)||(p.push(s),p.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(p))),this.setState({expanded:p},()=>this.select(i))}else setTimeout(()=>this.browseFolder(s,null,!1,!0).then(p=>{let l=[...this.state.expanded];l.includes(s)||(l.push(s),l.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(l))),this.setState({folders:p,expanded:l},()=>this.select(i))}),500)})})}},n.readAsArrayBuffer(a)})}},({getRootProps:r,getInputProps:o})=>fe.default.createElement("div",{style:{...Ce.uploadDiv,...this.state.uploadFile==="dragging"?Ce.uploadDivDragging:void 0},...r()},fe.default.createElement("input",{...o()}),fe.default.createElement(Le,{component:"div",sx:Ce.uploadCenterDiv},fe.default.createElement("div",{style:Ce.uploadCenterTextAndIcon},fe.default.createElement(nf,{style:Ce.uploadCenterIcon}),fe.default.createElement("div",{style:Ce.uploadCenterText},this.state.uploadFile==="dragging"?this.props.t("ra_Drop file here"):this.props.t("ra_Place your files here or click here to open the browse dialog"))))))]:null}deleteRecursive(r){let o=this.findItem(r);if(o!=null&&o.folder)return(this.state.folders[r]?Promise.all(this.state.folders[r].map(s=>this.deleteRecursive(s.id))):Promise.resolve()).then(()=>{if(o.level>=1){let s=r.split("/"),i=s.shift();this.props.socket.deleteFolder(i||"",s.join("/")).then(()=>{let p=JSON.parse(JSON.stringify(this.state.folders));delete p[o.id];let l=kh(o.id),d=p[l];if(d){let u=d.findIndex(f=>f.id===o.id);u!==-1&&d.splice(u,1),this.select(l,null,()=>this.setState({folders:p}))}})}});let a=r.split("/"),n=a.shift();return a.length?this.props.socket.deleteFile(n||"",a.join("/")).catch(s=>window.alert(`Cannot delete file: ${s}`)):Promise.resolve()}deleteItem(r){r=r||this.state.deleteItem,this.setState({deleteItem:""},()=>this.deleteRecursive(r).then(()=>{let o={},a=this.state.expanded.indexOf(r);if(a!==-1){let n=[...this.state.expanded];n.splice(a,1),this.localStorage.setItem("files.expanded",JSON.stringify(n)),o.expanded=n}if(this.state.selected===r){let n=this.state.selected.split("/");n.pop(),o.selected=n.join("/")}if(this.supportSubscribes)this.setState(o);else{let n=this.findFirstFolder(r),s={};Object.keys(this.state.folders).forEach(i=>{i!==n&&!i.startsWith(`${n}/`)&&(s[i]=this.state.folders[i])}),o.folders=s,this.setState(o,()=>setTimeout(()=>{this.browseFolders([...this.state.expanded],s).then(i=>this.setState({folders:i})).catch(i=>console.error(i))},200))}}))}renderDeleteDialog(){return this.state.deleteItem?fe.default.createElement(er,{key:"deleteDialog",open:!0,onClose:()=>this.setState({deleteItem:""}),"aria-labelledby":"ar_dialog_file_delete_title"},fe.default.createElement(tr,{id:"ar_dialog_file_delete_title"},this.props.t("ra_Confirm deletion of %s",this.state.deleteItem.split("/").pop())),fe.default.createElement(ir,null,fe.default.createElement(Za,null,this.props.t("ra_Are you sure?"))),fe.default.createElement(sr,null,fe.default.createElement(tt,{color:"grey",variant:"contained",onClick:()=>{this.suppressDeleteConfirm=Date.now()+6e4*5,this.deleteItem("")}},this.props.t("ra_Delete (no confirm for 5 mins)")),fe.default.createElement(tt,{variant:"contained",onClick:()=>this.deleteItem(""),color:"primary",autoFocus:!0},this.props.t("ra_Delete")),fe.default.createElement(tt,{variant:"contained",onClick:()=>this.setState({deleteItem:""}),color:"grey"},this.props.t("ra_Cancel")))):null}renderViewDialog(){let r=this.props.FileViewer||t2;return this.state.viewer?fe.default.createElement(r,{supportSubscribes:this.supportSubscribes,key:this.state.viewer,href:this.state.viewer,formatEditFile:this.state.formatEditFile,themeType:this.props.themeType,setStateBackgroundImage:this.setStateBackgroundImage,getStyleBackgroundImage:this.getStyleBackgroundImage,t:this.props.t,socket:this.props.socket,onClose:()=>this.setState({viewer:"",formatEditFile:""})}):null}renderError(){return this.state.errorText?fe.default.createElement(Wp,{key:"errorDialog",text:this.state.errorText,onClose:()=>this.setState({errorText:""})}):null}updateItemsAcl(r){this.cacheFolders=this.cacheFolders||JSON.parse(JSON.stringify(this.state.folders));let o;r.forEach(a=>{let n=this.findItem(a.id,this.cacheFolders);n&&JSON.stringify(n.acl)!==JSON.stringify(a.acl)&&(n.acl=a.acl,o=!0)}),o&&(this.cacheFoldersTimeout&&clearTimeout(this.cacheFoldersTimeout),this.cacheFoldersTimeout=setTimeout(()=>{this.cacheFoldersTimeout=null;let a=this.cacheFolders||{};this.cacheFolders=null,this.setState({folders:a})},200))}changeToPath(){setTimeout(()=>{if(this.state.path!==this.state.selected&&(!this.lastSelect||Date.now()-this.lastSelect>100)){let r=this.state.path;r2(this.state.path)&&(r=kh(this.state.path)),new Promise(o=>{this.state.folders[r]?o(!0):this.browseFolder(r).then(a=>this.setState({folders:a},()=>o(!0))).catch(a=>this.setState({errorText:a===cY?this.props.t('ra_Cannot find "%s"',r):this.props.t('ra_Cannot read "%s"',r)}))}).then(o=>o&&this.setState({selected:this.state.path,currentDir:r,pathFocus:!1})).catch(o=>console.error(o))}else(!this.lastSelect||Date.now()-this.lastSelect>100)&&this.setState({pathFocus:!1})},100)}renderBreadcrumb(){let r=this.state.currentDir.startsWith("/")?this.state.currentDir.split("/"):`/${this.state.currentDir}`.split("/"),o=[];return fe.default.createElement(Cw,{style:{paddingLeft:8}},r.map((a,n)=>{a&&o.push(a);let s=o.join("/");return nthis.changeFolder(i,s||"/")},a||this.props.t("ra_Root")):fe.default.createElement("div",{style:Ce.pathDivBreadcrumbSelected,key:`${this.state.selected}_${n}`,onClick:()=>this.setState({pathFocus:!0})},a)}))}renderPath(){return fe.default.createElement(Le,{component:"div",key:"path",sx:Ce.pathDiv},this.state.pathFocus?fe.default.createElement(Zo,{value:this.state.path,onKeyDown:r=>{r.key==="Enter"?this.changeToPath():r.key==="Escape"&&this.setState({pathFocus:!1})},endAdornment:fe.default.createElement(nt,{size:"small",onClick:()=>this.changeToPath()},fe.default.createElement(jR,null)),onBlur:()=>this.changeToPath(),onChange:r=>this.setState({path:r.target.value}),style:Ce.pathDivInput}):this.renderBreadcrumb())}render(){return this.props.ready?(this.state.loadAllFolders&&!this.foldersLoading&&(this.foldersLoading=!0,setTimeout(()=>{this.setState({loadAllFolders:!1,folders:{}},()=>{this.foldersLoading=!1,this.loadFolders().catch(r=>console.error(`Cannot load folders: ${r}`))})},300)),fe.default.createElement("div",{style:{...Ce.root,...this.props.style},className:this.props.className},this.props.showToolbar?this.renderToolbar():null,this.state.viewType===o2?this.renderPath():null,fe.default.createElement("div",{style:{...Ce.filesDiv,...Ce[`filesDiv${this.state.viewType}`]},onClick:r=>{this.state.viewType!==It&&(this.state.selected!==(this.state.currentDir||"/")?this.changeFolder(r,this.state.currentDir||"/"):r.stopPropagation())}},this.state.viewType===It?this.renderItems("/"):this.renderItems(this.state.currentDir||"/"),this.state.viewType!==It?fe.default.createElement("div",{style:Ce.filesDivHint},this.props.t("ra_select_folder_hint")):null),this.props.allowUpload?this.renderInputDialog():null,this.props.allowUpload?this.renderUpload():null,this.props.allowDelete?this.renderDeleteDialog():null,this.props.allowView?this.renderViewDialog():null,this.state.modalEditOfAccess&&this.props.modalEditOfAccessControl?this.props.modalEditOfAccessControl(this):null,this.renderError())):fe.default.createElement(Lw,null)}},a2=Fl()(W0);var lMe=y(D());var aMe=y(D());var nMe=y(D());var n2=y(D()),U0=e=>n2.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 512 512",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},n2.default.createElement("path",{fill:"currentColor",d:"M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z"}));var xY=y(D());var hY=y(D());var fv=y(D()),gY=y(D());function dMe(e){let t=document.createElement("div");t.innerHTML=e;let r=t.firstElementChild;return r!=null&&r.remove?r.remove():r&&t.removeChild(r),t.remove(),r}function uMe(e){let t={};if(!e)return t;for(let r,o=0;on[1].toUpperCase()),t[r]=e[o].value}return t}var Rf=class Rf extends gY.Component{constructor(r){var o;super(r);A(this,"svg");this.state={svg:!!((o=this.props.src)!=null&&o.startsWith("data:")),created:!0,color:this.props.color||"",src:this.props.src||"",imgError:!1,showError:!!this.props.showError},this.svg=this.state.svg&&this.state.src?this.getSvgFromData(this.state.src):null}static getDerivedStateFromProps(r,o){var s;let a={},n=!1;return r&&o&&r.src!==o.src&&(a.src=r.src,a.svg=(s=r.src)==null?void 0:s.startsWith("data:"),a.created=!1,n=!0),r&&o&&r.color!==o.color&&(a.color=r.color,a.created=!1,n=!0),r&&o&&r.showError!==o.showError&&(a.showError=r.showError,n=!0),n?a:null}getSvgFromData(r){let o="data:image/svg+xml;base64,";if(!r.startsWith(o))return null;r=r.substring(o.length);try{r=atob(r);let a=dMe(r),n=a.innerHTML,s=uMe(a.attributes);return a.remove(),fv.default.createElement("svg",{className:this.props.className,style:this.state.color?{color:this.state.color}:{},...s,dangerouslySetInnerHTML:{__html:n}})}catch(a){}return null}render(){if(this.state.svg)return this.state.created||setTimeout(()=>{this.svg=this.state.src?this.getSvgFromData(this.state.src):null,this.setState({created:!0})},50),this.svg;if(this.state.src){if(this.state.imgError||!this.state.src)return fv.default.createElement(Ef,{className:this.props.className});if(Rf.REMOTE_SERVER&&!this.state.src.startsWith("http://")&&!this.state.src.startsWith("https://")){let r=(this.props.imagePrefix||"")+this.state.src;return r.startsWith("./")?r=Rf.REMOTE_PREFIX+r.substring(2):r.startsWith("/")||(r=Rf.REMOTE_PREFIX+r),fv.default.createElement("img",{className:this.props.className,src:`https://remote-files.iobroker.in${r}`,alt:"",onError:()=>this.props.showError?this.setState({imgError:!0}):this.setState({src:""})})}return fv.default.createElement("img",{className:this.props.className,src:(this.props.imagePrefix||"")+this.state.src,alt:"",onError:()=>this.props.showError?this.setState({imgError:!0}):this.setState({src:""})})}return null}};A(Rf,"REMOTE_SERVER",window.location.hostname.includes("iobroker.in")),A(Rf,"REMOTE_PREFIX",window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1));var s2=Rf;var Wi=y(D());var cv=class e extends Wi.default.Component{constructor(){super(...arguments);A(this,"handleFileSelect",r=>{let o=r.target,a=o==null?void 0:o.files;if(!a||!a.length){console.error("No files found. Please report to developers");return}let n=a[0];if(n){let s=new window.FileReader;s.onload=()=>{var p;let i=((p=s.result)==null?void 0:p.toString())||"";try{let l=JSON.parse(i);l.native&&l.common?l.common.name!==this.props.common.name?this.props.onError&&this.props.onError(R.t("ra_otherConfig",l.common.name)):this.props.onLoad&&this.props.onLoad(l.native):this.props.onError&&this.props.onError(R.t("ra_invalidConfig"))}catch(l){this.props.onError&&this.props.onError(l==null?void 0:l.toString())}},s.readAsText(n)}else alert("Failed to open JSON File")})}static generateFile(r,o){let a=window.document.createElement("a");a.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(JSON.stringify(o,null,2))}`),a.setAttribute("download",r),a.style.display="none",window.document.body.appendChild(a),a.click(),window.document.body.removeChild(a)}download(){let r={_id:`system.adapter.${this.props.common.name}.${this.props.instance}`,common:JSON.parse(JSON.stringify(this.props.common)),native:this.props.native};r.common.news&&delete r.common.news,r.common.titleLang&&delete r.common.titleLang,r.common.desc&&delete r.common.desc,e.generateFile(`${r._id}.json`,r)}upload(){let r=window.document.createElement("input");r.setAttribute("type","file"),r.setAttribute("id","files"),r.setAttribute("opacity","0"),r.addEventListener("change",this.handleFileSelect,!1),r.click()}render(){return Wi.default.createElement("div",{className:this.props.className,style:this.props.style},this.props.common.icon?Wi.default.createElement(jo,{src:this.props.common.icon,style:{padding:8,width:64},alt:"logo"}):null,this.props.common.readme?Wi.default.createElement(Qa,{size:"small",color:"primary","aria-label":"Help",style:{marginRight:5,marginTop:5,float:"right"},onClick:()=>{let r=window.open(this.props.common.readme,"_blank");r==null||r.focus()}},Wi.default.createElement(FR,null)):null,Wi.default.createElement(Qa,{size:"small",color:"primary","aria-label":"Load config",style:{marginRight:5,marginTop:5,float:"right"},title:R.t("ra_Load configuration from file"),onClick:()=>this.upload()},Wi.default.createElement(KR,null)),Wi.default.createElement(Qa,{size:"small",color:"primary","aria-label":"Save config",style:{marginRight:5,marginTop:5,float:"right"},title:R.t("ra_Save configuration to file"),onClick:()=>this.download()},Wi.default.createElement(qR,null)))}};var C=y(D());var i2=y(D()),l2=e=>i2.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 512 512",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},i2.default.createElement("path",{fill:"currentColor",d:"M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z"}));var Df=y(D()),H0=e=>Df.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 320 320",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},Df.default.createElement("g",{fill:"currentColor"},Df.default.createElement("rect",{rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor",fill:"none"}),Df.default.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"248",cx:"160",fill:"none",strokeWidth:"15"}),Df.default.createElement("line",{y2:"201.94531",x2:"159.5",y1:"46.94531",x1:"159.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),Df.default.createElement("rect",{height:"27",width:"50",y:"79.7979",x:"133.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"})));var p2=y(D()),wd=e=>p2.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 512 512",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},p2.default.createElement("path",{fill:"currentColor",d:"M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z"}));var Rn=y(D()),V0=e=>Rn.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 320 320",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},Rn.default.createElement("g",{fill:"currentColor"},Rn.default.createElement("rect",{rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor",fill:"none"}),Rn.default.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"252",cx:"160",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),Rn.default.createElement("line",{y2:"201.94531",x2:"159.5",y1:"46.94531",x1:"159.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),Rn.default.createElement("rect",{height:"27",width:"50",y:"140.83068",x:"133.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"}),Rn.default.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"251",cx:"241",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),Rn.default.createElement("line",{y2:"200.94531",x2:"240.5",y1:"45.94531",x1:"240.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),Rn.default.createElement("rect",{height:"27",width:"50",y:"78.7979",x:"214.5",strokeWidth:"15",stroke:"currentColor",fill:"#fff"}),Rn.default.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"252",cx:"84",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),Rn.default.createElement("line",{y2:"201.94531",x2:"83.5",y1:"46.94531",x1:"83.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),Rn.default.createElement("rect",{height:"27",width:"50",y:"79.7979",x:"57.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"})));var d2=y(D()),u2=e=>d2.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",onClick:t=>e.onClick&&e.onClick(t),width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},d2.default.createElement("path",{fill:"currentColor",d:"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z"}));var $0=y(D()),f2=e=>$0.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 512 512",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},$0.default.createElement("path",{fill:"currentColor",d:"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z"}),$0.default.createElement("path",{fill:"currentColor",stroke:"null",d:"m261,270l-12,0l0,-24c0,-33.12 -26.88,-60 -60,-60s-60,26.88 -60,60l0,24l-12,0c-13.2,0 -24,10.8 -24,24l0,120c0,13.2 10.8,24 24,24l144,0c13.2,0 24,-10.8 24,-24l0,-120c0,-13.2 -10.8,-24 -24,-24zm-72,108c-13.2,0 -24,-10.8 -24,-24s10.8,-24 24,-24s24,10.8 24,24s-10.8,24 -24,24zm37.2,-108l-74.4,0l0,-24c0,-20.52 16.68,-37.2 37.2,-37.2c20.52,0 37.2,16.68 37.2,37.2l0,24z"}));var G0=y(D()),Af=e=>G0.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 320 320",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},G0.default.createElement("rect",{fill:"none",rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor"}),G0.default.createElement("ellipse",{fill:"none",ry:"54",rx:"54",cy:"160",cx:"160",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor"}));var c2=y(D()),m2=e=>c2.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:t=>e.onClick&&e.onClick(t),viewBox:"0 0 24 24",width:e.width||(e.fontSize==="small"?16:20),height:e.height||e.width||(e.fontSize==="small"?16:20),className:e.className,style:e.style},c2.default.createElement("path",{fill:"currentColor",stroke:"currentColor",d:"M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39A.998.998 0 0 0 18.95 4H5.04c-.83 0-1.3.95-.79 1.61z"}));var x2=y(D());var h2={root:{width:"100%",height:"100%"},overflowHidden:{overflow:"hidden"},container:{height:"100%"}};function g2(e){var t;return x2.default.createElement(Ar,{elevation:Number.isNaN(e.elevation)?1:e.elevation,style:{...h2.root,...((t=e.styles)==null?void 0:t.root)||void 0,...e.overflow!=="visible"?h2.overflowHidden:void 0},onKeyDown:e.onKeyDown,tabIndex:e.tabIndex},x2.default.createElement(en,{container:!0,direction:"column",wrap:"nowrap",sx:h2.container},e.children))}var vY=y(D());var yY={root:{height:"100%",overflow:"hidden"},overflowAuto:{overflow:"auto"}};function y2(e){return vY.default.createElement(en,{sx:{...yY.root,...(e==null?void 0:e.style)||void 0,...e.overflow==="auto"?yY.overflowAuto:void 0},ref:e.ref},e.children)}var bY=y(D());function v2(e){return bY.default.createElement(en,{container:!0,alignItems:"center"},e.children)}var Eh=24,Ba=32,fMe=16,co=20,CY=e=>e==="dark"?"#62ff25":"#37c400",OY=e=>e==="dark"?"#ee56ff":"#a204b4",cMe=e=>e==="dark"?"#fff46e":"#b89101",kY=e=>"#ff6d69",EY=e=>"#5773ff",PY="#ff413c",RY="#86211f",T2="#57ff45",S2="#098c04",w2="#f3ad11",_2="#6c5008",H={toolbar:{minHeight:38},toolbarButtons:{padding:4,marginLeft:4},switchColumnAuto:{marginLeft:16},dialogColumns:{transition:"opacity 1s"},dialogColumnsLabel:{fontSize:12,paddingTop:8},columnCustom:{width:"100%",display:"inline-block"},columnCustomEditable:{cursor:"text"},columnCustom_center:{textAlign:"center"},columnCustom_left:{textAlign:"left"},columnCustom_right:{textAlign:"right"},width100:{width:"100%"},transparent_10:{opacity:.1},transparent_20:{opacity:.2},transparent_30:{opacity:.3},transparent_40:{opacity:.4},transparent_50:{opacity:.5},transparent_60:{opacity:.6},transparent_70:{opacity:.7},transparent_80:{opacity:.8},transparent_90:{opacity:.9},transparent_100:{opacity:1},headerRow:{paddingLeft:8,height:38,whiteSpace:"nowrap",userSelect:"none"},buttonClearFilter:{position:"relative",float:"right",padding:0},buttonClearFilterIcon:{zIndex:2,position:"absolute",top:0,left:0,color:"#FF0000",opacity:.7},tableDiv:{paddingTop:0,paddingLeft:0,width:"calc(100% - 8px)",height:"calc(100% - 38px)",overflow:"auto"},tableRow:e=>({pl:1,height:Ba,lineHeight:`${Ba}px`,verticalAlign:"top",userSelect:"none",position:"relative",width:"100%","&:hover":{background:`${e.palette.mode==="dark"?e.palette.primary.dark:e.palette.primary.light} !important`,color:ve.invertColor(e.palette.primary.main,!0)},whiteSpace:"nowrap",flexWrap:"nowrap"}),tableRowLines:e=>({borderBottom:`1px solid ${e.palette.mode==="dark","#8888882e"}`,"& > div":{borderRight:`1px solid ${e.palette.mode==="dark","#8888882e"}`}}),tableRowNoDragging:{cursor:"pointer"},tableRowAlias:{height:Ba+10},tableRowAliasReadWrite:{height:Ba+22},tableRowFocused:e=>({"&:after":{content:'""',position:"absolute",top:1,left:1,right:1,bottom:1,border:e.palette.mode?"1px dotted #000":"1px dotted #FFF"}}),checkBox:{padding:0},cellId:{position:"relative",fontSize:"1rem",overflow:"hidden",textOverflow:"ellipsis","& .copyButton":{display:"none"},"&:hover .copyButton":{display:"block"},"& .iconOwn":{display:"block",width:Ba-4,height:Ba-4,mt:"2px",float:"right"},"&:hover .iconOwn":{display:"none"},"& *":{width:"initial"}},cellIdSpan:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},cellIdIconFolder:e=>({marginRight:8,width:Ba-4,height:Ba-4,cursor:"pointer",color:e.palette.secondary.main||"#fbff7d",verticalAlign:"top"}),cellIdIconDocument:{verticalAlign:"middle",marginLeft:(Ba-co)/2,marginRight:8,width:co,height:co},cellIdIconOwn:{},cellIdTooltip:{fontSize:14},cellIdTooltipLink:{color:"#7ec2fd","&:hover":{color:"#7ec2fd"},"&:visited":{color:"#7ec2fd"}},cellCopyButton:{width:co,height:co,top:(Ba-co)/2,opacity:.8,position:"absolute",right:3},cellCopyButtonInDetails:{width:co,height:co,top:(Ba-co)/2,opacity:.8},cellEditButton:{width:co,height:co,color:"white",position:"absolute",top:(Ba-co)/2,right:co+3,opacity:.7,"&:hover":{opacity:1}},cellName:{display:"inline-block",verticalAlign:"top",fontSize:14,ml:"5px",overflow:"hidden",textOverflow:"ellipsis",position:"relative","& .copyButton":{display:"none"},"&:hover .copyButton":{display:"block"}},cellNameWithDesc:{lineHeight:"normal"},cellNameDivDiv:{},cellDescription:{fontSize:10,opacity:.5,fontStyle:"italic"},cellIdAlias:e=>({fontStyle:"italic",fontSize:12,opacity:.7,"&:hover":{color:e.palette.mode==="dark"?"#009900":"#007700"}}),cellIdAliasReadWriteDiv:{height:24,marginTop:-5},cellIdAliasAlone:{lineHeight:0},cellIdAliasReadWrite:{lineHeight:"12px"},cellType:{display:"inline-block",verticalAlign:"top","& .itemIcon":{verticalAlign:"middle",width:Eh,height:Eh,display:"inline-block"},"& .itemIconFolder":{marginLeft:3}},cellRole:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellRoom:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellEnumParent:{opacity:.4},cellFunc:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellValue:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellValueButton:{marginTop:5},cellValueButtonFalse:{opacity:.3},cellAdapter:{display:"inline-block",verticalAlign:"top"},cellValueTooltip:{fontSize:12},cellValueText:{width:"100%",height:Ba,fontSize:16,display:"flex",overflow:"hidden",textOverflow:"ellipsis",position:"relative",verticalAlign:"top","& .copyButton":{display:"none"},"&:hover .copyButton":{display:"block"}},cellValueFile:{color:"#2837b9"},cellValueTooltipTitle:{fontStyle:"italic",width:100,display:"inline-block"},cellValueTooltipValue:{width:120,display:"inline-block",whiteSpace:"nowrap",textOverflow:"ellipsis"},cellValueTooltipImage:{width:100,height:"auto"},cellValueTooltipBoth:{width:220,display:"inline-block",whiteSpace:"nowrap"},cellValueTooltipBox:{width:250,overflow:"hidden",pointerEvents:"none"},tooltip:{pointerEvents:"none"},cellValueTextUnit:{marginLeft:4,opacity:.8,display:"inline-block"},cellValueTextState:{opacity:.7},cellValueTooltipCopy:{position:"absolute",bottom:3,right:3},cellValueTooltipEdit:{position:"absolute",bottom:3,right:15},cellButtons:{display:"inline-block",verticalAlign:"top"},cellButtonsButton:{display:"inline-block",opacity:.5,width:co+4,height:co+4,"&:hover":{opacity:1},p:0,mt:"-2px"},cellButtonsEmptyButton:{fontSize:12},cellButtonMinWidth:{minWidth:40},cellButtonsButtonAlone:{ml:`${co+6}px`,pt:0,mt:"-2px"},cellButtonsButtonWithCustoms:e=>({color:e.palette.mode==="dark"?e.palette.primary.main:e.palette.secondary.main}),cellButtonsButtonWithoutCustoms:{opacity:.2},cellButtonsValueButton:e=>({position:"absolute",top:co/2-2,opacity:.7,width:co-2,height:co-2,color:e.palette.action.active,"&:hover":{opacity:1}}),cellButtonsValueButtonCopy:{right:8,cursor:"pointer"},cellButtonsValueButtonEdit:{right:co/2+16},cellDetailsLine:{display:"flex",alignItems:"center",width:"100%",height:32,fontSize:16},cellDetailsName:{fontWeight:"bold",marginRight:8,minWidth:80},filteredOut:{opacity:.5},filteredParentOut:{opacity:.3},filterInput:{mt:0,mb:0},selectIcon:{width:24,height:24,marginRight:4},selectNone:{opacity:.5},itemSelected:e=>({background:`${e.palette.primary.main} !important`,color:`${ve.invertColor(e.palette.primary.main,!0)} !important`}),header:{width:"100%"},headerCell:{display:"inline-block",verticalAlign:"top"},headerCellValue:{paddingTop:4,fontSize:16},headerCellInput:{width:"calc(100% - 5px)",height:Ba,pt:0,"& .itemIcon":{verticalAlign:"middle",width:Eh,height:Eh,display:"inline-block"}},headerCellSelectItem:{"& .itemIcon":{width:Eh,height:Eh,mr:"5px",display:"inline-block"}},visibleButtons:{color:"#2196f3",opacity:.7},grow:{flexGrow:1},enumIconDiv:{marginRight:8,width:32,height:32,borderRadius:8,background:"#FFFFFF"},enumIcon:{marginTop:4,marginLeft:4,width:24,height:24},enumDialog:{overflow:"hidden"},enumList:{minWidth:250,height:"calc(100% - 50px)",overflow:"auto"},enumButton:{float:"right"},enumCheckbox:{minWidth:0},buttonDiv:{display:"flex",height:"100%",alignItems:"center"},aclText:{fontSize:13,marginTop:6},rightsObject:{color:"#55ff55",paddingLeft:3},rightsState:{color:"#86b6ff",paddingLeft:3},textCenter:{padding:12,textAlign:"center"},tooltipAccessControl:{display:"flex",flexDirection:"column"},fontSizeTitle:{"@media screen and (max-width: 465px)":{"& *":{fontSize:12}}},draggable:{cursor:"copy"},nonDraggable:{cursor:"no-drop"},selectClearButton:{position:"absolute",top:0,right:0,borderRadius:5,backgroundColor:"background.default"},iconDeviceConnected:e=>({color:e.palette.mode==="dark"?T2:S2,opacity:.8,position:"absolute",top:4,right:32,width:20}),iconDeviceDisconnected:e=>({color:e.palette.mode==="dark"?w2:_2,opacity:.8,position:"absolute",top:4,right:32,width:20}),iconDeviceError:e=>({color:e.palette.mode==="dark"?PY:RY,opacity:.8,position:"absolute",top:4,right:50,width:20}),resizeHandle:{display:"block",position:"absolute",cursor:"col-resize",width:7,top:2,bottom:2,zIndex:1},resizeHandleRight:{right:3,borderRight:"2px dotted #888","&:hover":{borderColor:"#ccc",borderRightStyle:"solid"},"&.active":{borderColor:"#517ea5",borderRightStyle:"solid"}},invertedBackground:e=>({backgroundColor:e.palette.mode==="dark"?"#9a9a9a":"#565656",padding:"0 3px",borderRadius:"2px 0 0 2px"}),invertedBackgroundFlex:e=>({backgroundColor:e.palette.mode==="dark"?"#9a9a9a":"#565656",borderRadius:"0 2px 2px 0"}),contextMenuEdit:e=>({color:e.palette.mode==="dark"?"#ffee48":"#cbb801"}),contextMenuEditValue:e=>({color:e.palette.mode==="dark"?"#5dff45":"#1cd301"}),contextMenuView:e=>({color:e.palette.mode==="dark"?"#FFF":"#000"}),contextMenuCustom:e=>({color:e.palette.mode==="dark"?"#42eaff":"#01bbc2"}),contextMenuACL:e=>({color:e.palette.mode==="dark"?"#e079ff":"#500070"}),contextMenuRoom:e=>({color:e.palette.mode==="dark"?"#ff9a33":"#642a00"}),contextMenuRole:e=>({color:e.palette.mode==="dark"?"#ffdb43":"#562d00"}),contextMenuDelete:e=>({color:e.palette.mode==="dark"?"#ff4f4f":"#cf0000"}),contextMenuKeys:{marginLeft:8,opacity:.7,fontSize:"smaller"},contextMenuWithSubMenu:{display:"flex"}};function mMe(e){return C.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 436 436",style:e==null?void 0:e.style,width:"24",height:"24",className:"admin-button"},C.default.createElement("g",{fill:"currentColor"},C.default.createElement("path",{d:"m195.23077,24.30769c-36,3 -67,12 -96,26c-49,24 -82,61 -93,104l-3,11l-1,50c0,46 0,49 2,59l5,20c21,58 84,103 165,116c16,3 53,4 70,2c60,-6 111,-28 147,-64c21,-21 36,-49 40,-74a866,866 0 0 0 1,-104c-3,-18 -6,-28 -13,-43c-26,-52 -87,-90 -162,-101c-16,-2 -48,-3 -63,-2l1,0zm60,23c36,5 70,18 95,35c31,20 51,47 59,77c2,7 2,11 2,25c1,15 0,18 -2,26c-19,69 -104,117 -200,114c-47,-2 -90,-15 -124,-38c-31,-20 -51,-47 -59,-77c-3,-11 -4,-32 -2,-43c8,-42 41,-78 91,-101a260,260 0 0 1 140,-19l0,1zm-221,222c21,26 57,49 95,62c81,27 174,14 239,-32c14,-10 31,-27 41,-41c2,-2 2,-2 2,7c-1,23 -16,50 -38,72c-78,74 -233,74 -311,-1a121,121 0 0 1 -39,-76l0,-6l3,4l8,11z"}),C.default.createElement("path",{d:"m201.23077,47.30769c-40,3 -79,19 -104,44c-55,55 -38,133 37,171c52,26 122,24 172,-5c30,-17 51,-42 58,-71c3,-11 3,-34 0,-45c-6,-23 -21,-44 -40,-60l-27,-16a184,184 0 0 0 -96,-18zm30,21c56,5 100,35 112,75c4,11 4,30 0,41c-8,25 -26,45 -54,59a166,166 0 0 1 -160,-8a98,98 0 0 1 -41,-53c-5,-18 -2,-39 8,-57c23,-39 79,-62 135,-57z"})))}function hMe(e,t){let r=[];for(let o=0;o{if(a==null)return;let s=typeof a=="object";if(r&&s&&typeof a.en=="string"&&typeof a.de=="string"){o[n]=a.en;return}o[n]=s?C2(a,t,r):a}):xMe(e,(o,a,n)=>{if(a==null||t.includes(n))return;let s=typeof a=="object";if(r&&s&&typeof a.en=="string"&&typeof a.de=="string"){o[n]=a.en;return}o[n]=s?C2(a,t,r):a})}function TY(e,t,r){let o=document.createElement("a"),a=[];r.excludeSystemRepositories&&a.push("system.repositories");let n=a.length>0||r.excludeTranslations?C2(t,a,r.excludeTranslations):t,s=r.beautify?JSON.stringify(n,null,2):JSON.stringify(n);o.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(s)}`),o.setAttribute("download",e),o.style.display="none",document.body.appendChild(o),o.click(),document.body.removeChild(o)}function mv(e,t,r,o){if(r=r||0,o===void 0&&(o=e.length-1,!o))return e[0]===t;let a=Math.floor((r+o)/2);return t===e[a]?!0:o-1===r?e[r]===t||e[o]===t:t>e[a]?mv(e,t,a,o):tw.role.startsWith(O))||(l=!0)):l=!0),!l&&((T=s.common)==null?void 0:T.custom)==="_"&&(w!=null&&w.custom))l=!0;else if(!l&&((b=s.common)!=null&&b.custom)&&((v=s.common)==null?void 0:v.custom)!=="_"){let O=s.common.custom;if(!(w!=null&&w.custom))l=!0;else if(O==="_dataSources")Object.keys(w.custom).find(k=>k.startsWith("history.")||k.startsWith("sql.")||k.startsWith("influxdb."))||(l=!0);else if(Array.isArray(O)){let k=Object.keys(w.custom);O.find(M=>k.find(N=>N.startsWith(M)))&&(l=!0)}else O!==!0&&!Object.keys(w.custom).find(k=>k.startsWith(O))&&(l=!0)}}!l&&!t.expertMode&&(l=d.id==="system"||d.id==="enum"||d.id.startsWith("system.")||d.id.startsWith("enum.")||d.id.startsWith("_design/")||d.id.endsWith(".admin")||!!(w!=null&&w.expert)),!l&&a.id&&(d.fID===void 0&&(d.fID=d.id.toLowerCase()),l=!d.fID.includes(a.id)),!l&&a.name&&(w?(d.fName===void 0&&(d.fName=w&&Dn(w.name,r)||"",d.fName=d.fName.toLowerCase()),l=!d.fName.includes(a.name)):l=!0),!l&&t.role&&w&&(w?l=!(w.role&&w.role.startsWith(a.role)):l=!0),!l&&a.room&&(l=!a.room.find(O=>O===d.id||d.id.startsWith(`${O}.`))),!l&&a.func&&(l=!a.func.find(O=>O===d.id||d.id.startsWith(`${O}.`))),!l&&a.type&&(l=!(d.obj&&d.obj.type&&d.obj.type===a.type)),!l&&i&&(l=!(d.obj&&d.obj.type&&i.includes(d.obj.type))),!l&&a.custom&&(w?a.custom==="_"?l=!!w.custom:l=!w.custom||!w.custom[a.custom]:l=!0)}return d.visible=!l,d.hasVisibleChildren=!1,e.children&&p<20&&e.children.forEach(w=>{O2(w,t,r,o,a,n,s,i,p+1)&&(d.hasVisibleChildren=!0)}),d.sumVisibility=d.visible||d.hasVisibleChildren,n&&d.sumVisibility&&n.count++,d.id&&d.sumVisibility&&e.children&&e.children.forEach(w=>w.data.hasVisibleParent=!0),d.visible||d.hasVisibleChildren}function DY(e,t,r,o){var n;o=o||[];let a=e.data;return a.sumVisibility&&(a.id&&r[a.id]&&(!t||r[a.id].type===t)&&o.push(a.id),(n=e.children)==null||n.forEach(s=>DY(s,t,r,o))),o}function SY(e,t,r,o,a,n){let s;return t==="alias"||t==="alias.0"?s=C.default.createElement(p_,{className:"iconOwn",style:{color:OY(o)}}):t==="0_userdata"||t==="0_userdata.0"?s=C.default.createElement(PR,{className:"iconOwn",style:{color:CY(o)}}):t.startsWith("_design/")||t==="system"?s=C.default.createElement(f_,{className:"iconOwn",style:{color:kY(o)}}):t==="system.adapter"?s=C.default.createElement(f_,{className:"iconOwn",style:{color:EY(o)}}):t==="system.group"?s=C.default.createElement(c_,{className:"iconOwn"}):t==="system.user"?s=C.default.createElement(d_,{className:"iconOwn"}):t==="system.host"?s=C.default.createElement(u_,{className:"iconOwn"}):t.endsWith(".connection")||t.endsWith(".connected")?s=C.default.createElement(sf,{className:"iconOwn"}):t.endsWith(".info")?s=C.default.createElement(LR,{className:"iconOwn"}):e[t]&&e[t].type==="meta"?s=C.default.createElement(zm,{className:"iconOwn"}):r<2&&e[`system.adapter.${t}`]&&(s=hv(e,`system.adapter.${t}`,a,n)),s||null}function AY(e,t){var r,o;return(o=(r=e==null?void 0:e.obj)==null?void 0:r.common)!=null&&o.desc&&Dn(e.obj.common.desc,t)||null}function gMe(e,t){let r=AY(e,t);return r!=null&&r.startsWith("http")?C.default.createElement(Le,{component:"a",sx:H.cellIdTooltipLink,href:r,target:"_blank",rel:"noreferrer"},r):C.default.createElement("span",{style:H.cellIdTooltip},r||e.id||"")}function wY(e,t){var d,u,f,c,h,g,m,x,T;let r=t.imagePrefix||".",o=Object.keys(e);o.sort((b,v)=>b===v?0:(b=b.replace(/\./g,"!!!"),v=v.replace(/\./g,"!!!"),b>v?1:-1)),t.root&&(o=o.filter(b=>b===t.root||b.startsWith(`${t.root}.`)));let a=[],n="",s=0,i={data:{name:"",id:""},children:[]},p={funcEnums:[],roomEnums:[],roles:[],ids:[],types:[],objects:e,customs:["_"],enums:[],hasSomeCustoms:!1,aliasesMap:{}},l=i;for(let b=0;b1){let N=n;for(let S=s;SB.data.name===O[S]));else{let B={data:{name:O[S],parent:l,id:N,obj:e[N],level:S,icon:SY(e,N,S,t.themeType,t.lang,r),generated:!0}};l.children=l.children||[],l.children.push(B),l=B,p.ids.push(N)}}let M={data:{name:O[O.length-1],title:Dn((f=w==null?void 0:w.common)==null?void 0:f.name,t.lang),obj:w,parent:l,icon:hv(e,v,t.lang,r)||SY(e,v,0,t.themeType,t.lang,r),id:v,hasCustoms:!!((c=w.common)!=null&&c.custom&&Object.keys(w.common.custom).length),level:O.length-1,generated:!1,button:w.type==="state"&&!!((h=w.common)!=null&&h.role)&&typeof w.common.role=="string"&&w.common.role.startsWith("button")&&((g=w.common)==null?void 0:g.write)!==!1,switch:w.type==="state"&&((m=w.common)==null?void 0:m.type)==="boolean"&&((x=w.common)==null?void 0:x.write)!==!1&&((T=w.common)==null?void 0:T.read)!==!1}};l.children=l.children||[],l.children.push(M),l=M,s=O.length,a=O,n=v}else{let M=0;for(;a[M]===O[M];)M++;if(M>0){let N=a.length;for(a=a.splice(0,M),s=M,n=a.join(".");N>M;)l.data.parent?l=l.data.parent:console.error(`Parent is null for ${v} ${n} ${a.join(".")}`),N--}else l=i,a=[],n="",s=0;k=!0}while(k)}return p.roomEnums.sort((b,v)=>{var k,M,N,S;let w=Dn((M=(k=e[b])==null?void 0:k.common)==null?void 0:M.name,t.lang)||b.split(".").pop(),O=Dn((S=(N=e[v])==null?void 0:N.common)==null?void 0:S.name,t.lang)||v.split(".").pop();return w>O?1:w{var k,M,N,S;let w=Dn((M=(k=e[b])==null?void 0:k.common)==null?void 0:M.name,t.lang)||b.split(".").pop(),O=Dn((S=(N=e[v])==null?void 0:N.common)==null?void 0:S.name,t.lang)||v.split(".").pop();return w>O?1:wo)break}return n?(a=a||0,MY(n,t,r,`${o}.${r[a+1]}`,a+1)):null}function NY(e,t,r,o){var s,i;if(!t)return{rooms:[],per:!1};o=o||[];for(let p of e.roomEnums){let l=(s=e.objects[p])==null?void 0:s.common;if(!l)continue;let d=Dn(l.name,r);(i=l.members)!=null&&i.includes(t)&&!o.includes(d)&&o.push(d)}let a,n=t.split(".");return n.pop(),t=n.join("."),e.objects[t]&&(a=o.length,NY(e,t,r,o)),{rooms:o,per:!a}}function Ph(e,t,r,o){var a,n;if(!t)return[];o=o||[];for(let s=0;s946681200&&l<9466812e5&&(l*=1e3),l=l&&new Date(l).toString();else d==="number"?Number.isInteger(l)||(l=Math.round(l*1e8)/1e8,o&&(l=l.toString().replace(".",","))):d==="object"?l=JSON.stringify(l):d!=="string"?l=l.toString():l.startsWith("data:image/")&&(p="image"),typeof l!="string"&&(l=l.toString());let u={v:l};s&&s[l]!==void 0&&l!==s[l]&&(u.s=l,l=s[l],u.v=l),i!=null&&i.unit&&(u.u=i.unit);let f;if(e.full&&(f=[{t:a.value,v:l}],r)){if(r.ack!==void 0&&r.ack!==null&&f.push({t:a.ack,v:r.ack.toString()}),r.ts&&f.push({t:a.ts,v:r.ts?ve.formatDate(new Date(r.ts),t):""}),r.lc&&f.push({t:a.lc,v:r.lc?ve.formatDate(new Date(r.lc),t):""}),r.from){let c=r.from.toString();c.startsWith("system.adapter.")&&(c=c.substring(15)),f.push({t:a.from,v:c})}if(r.user){let c=r.user.toString();c.startsWith("system.user.")&&(c=c.substring(12)),f.push({t:a.user,v:c})}r.c&&f.push({t:a.c,v:r.c}),f.push({t:a.quality,v:ve.quality2text(r.q||0).join(", "),nbr:!0})}return{valText:u,valFull:f,fileViewer:p}}function yMe(e){let{state:t}=e;return{color:t!=null&&t.ack?t.q?"#ffa500":"":"#ff2222c9"}}function vMe(e,t){let r=t,o=1,a=[];for(;o=r)a.push(0);else if(o{this.contextMenu&&Date.now()-this.contextMenu.ts<2e3?(r.preventDefault(),this.setState({showContextMenu:{item:this.contextMenu.item,position:{left:r.clientX+2,top:r.clientY-6}}})):this.state.showContextMenu&&(r.preventDefault(),this.setState({showContextMenu:null})),this.contextMenu=null});A(this,"onStateChange",(r,o)=>{if(console.log(`> stateChange ${r}`),this.states[r]){let a=this.findItem(r);a!=null&&a.data.state&&(a.data.state=void 0)}o?this.states[r]=o:delete this.states[r],this.pausedSubscribes?this.statesUpdateTimer&&(clearTimeout(this.statesUpdateTimer),this.statesUpdateTimer=null):this.statesUpdateTimer||(this.statesUpdateTimer=setTimeout(()=>{this.statesUpdateTimer=null,this.forceUpdate()},300))});A(this,"onObjectChangeFromWorker",r=>{if(Array.isArray(r)){let o=null;r.forEach(a=>{let{newInnerState:n,filtered:s}=this.processOnObjectChangeElement(a.id,a.obj);s||(n&&o?Object.assign(o,n):o=n)}),o&&this.setState(o),this.afterObjectUpdated()}});A(this,"onObjectChange",(r,o)=>{let{newInnerState:a,filtered:n}=this.processOnObjectChangeElement(r,o);n||(a&&this.setState(a),this.afterObjectUpdated())});A(this,"getEnumsForId",r=>{let o=[];return this.info.enums.forEach(a=>{var n,s,i;if((i=(s=(n=this.objects[a])==null?void 0:n.common)==null?void 0:s.members)!=null&&i.includes(r)){let p={_id:this.objects[a]._id,common:JSON.parse(JSON.stringify(this.objects[a].common)),native:this.objects[a].native,type:"enum"};p.common&&(delete p.common.members,delete p.common.custom,delete p.common.mobile),o.push(p)}}),o.length?o:void 0});A(this,"_createAllEnums",async(r,o)=>{var a,n;for(let s=0;s{var a,n;let{t:r}=this.props,o=[C.default.createElement("div",{key:1},r("ra_Only following structures of objects are available:")),C.default.createElement("div",{key:2},r("ra_Folder \u2192 State")),C.default.createElement("div",{key:3},r("ra_Folder \u2192 Channel \u2192 State")),C.default.createElement("div",{key:4},r("ra_Folder \u2192 Device \u2192 Channel \u2192 State")),C.default.createElement("div",{key:5},r("ra_Device \u2192 Channel \u2192 State")),C.default.createElement("div",{key:6},r("ra_Channel \u2192 State")),C.default.createElement("div",{key:7,style:{height:10}}),C.default.createElement("div",{key:8},r('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),C.default.createElement("div",{key:9},r('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];if(this.state.selected.length||this.state.selectedNonObject){let s=this.state.selected[0]||this.state.selectedNonObject;if(!(s.split(".").length<2||this.objects[s]&&((a=this.objects[s])==null?void 0:a.type)==="state"))if(this.state.filter.expertMode)switch((n=this.objects[s])==null?void 0:n.type){case"device":o=[C.default.createElement("div",{key:1},r("ra_Only following structures of objects are available:")),C.default.createElement("div",{key:5},r("ra_Device \u2192 Channel \u2192 State")),C.default.createElement("div",{key:7,style:{height:10}}),C.default.createElement("div",{key:8},r('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),C.default.createElement("div",{key:9},r('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break;case"folder":o=[C.default.createElement("div",{key:1},r("ra_Only following structures of objects are available:")),C.default.createElement("div",{key:2},r("ra_Folder \u2192 State")),C.default.createElement("div",{key:3},r("ra_Folder \u2192 Channel \u2192 State")),C.default.createElement("div",{key:4},r("ra_Folder \u2192 Device \u2192 Channel \u2192 State")),C.default.createElement("div",{key:7,style:{height:10}}),C.default.createElement("div",{key:8},r('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),C.default.createElement("div",{key:9},r('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break;case"channel":o=[C.default.createElement("div",{key:1},r("ra_Only following structures of objects are available:")),C.default.createElement("div",{key:1},r("ra_Channel \u2192 State")),C.default.createElement("div",{key:7,style:{height:10}}),C.default.createElement("div",{key:8},r('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),C.default.createElement("div",{key:9},r('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break;default:break}else(s.startsWith("alias.0")||s.startsWith("0_userdata"))&&(o=[C.default.createElement("div",{key:1},r("ra_Only following structures of objects are available:")),C.default.createElement("div",{key:2},r("ra_Folder \u2192 State")),C.default.createElement("div",{key:3},r("ra_Folder \u2192 Channel \u2192 State")),C.default.createElement("div",{key:4},r("ra_Folder \u2192 Device \u2192 Channel \u2192 State")),C.default.createElement("div",{key:5},r("ra_Device \u2192 Channel \u2192 State")),C.default.createElement("div",{key:6},r("ra_Channel \u2192 State")),C.default.createElement("div",{key:7,style:{height:10}}),C.default.createElement("div",{key:7},r('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),C.default.createElement("div",{key:8},r('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))])}return o.length?o:r("ra_Add new child object to selected parent")});A(this,"renderTooltipAccessControl",r=>{if(!r)return null;let o=[{value:"0x400",valueNum:1024,title:"read",group:"Owner"},{value:"0x200",valueNum:512,title:"write",group:"Owner"},{value:"0x40",valueNum:64,title:"read",group:"Group"},{value:"0x20",valueNum:32,title:"write",group:"Group"},{value:"0x4",valueNum:4,title:"read",group:"Everyone"},{value:"0x2",valueNum:2,title:"write",group:"Everyone"}],a=[],n=s=>{let i=r[s];o.forEach((p,l)=>{i&p.valueNum&&a.push(C.default.createElement("span",{key:s+l},this.texts[`acl${p.group}_${p.title}_${s}`],",",C.default.createElement("span",{style:s==="object"?H.rightsObject:H.rightsState},p.value)))})};return a.push(C.default.createElement("span",{key:"group"},`${this.texts.ownerGroup}: ${(r.ownerGroup||"").replace("system.group.","")}`)),a.push(C.default.createElement("span",{key:"owner"},`${this.texts.ownerUser}: ${(r.owner||"").replace("system.user.","")}`)),n("object"),r.state&&n("state"),a.length?C.default.createElement("span",{style:H.tooltipAccessControl},a.map(s=>s)):null});A(this,"resizerMouseMove",r=>{if(this.resizerActiveDiv){let o,a;this.resizeLeft?(o=this.resizerOldWidth-r.clientX+this.resizerPosition,a=this.resizerOldWidthNext+r.clientX-this.resizerPosition):(o=this.resizerOldWidth+r.clientX-this.resizerPosition,a=this.resizerOldWidthNext-r.clientX+this.resizerPosition),this.resizerActiveName&&this.resizerNextName&&(!this.resizerMin||o>this.resizerMin)&&(!this.resizerNextMin||a>this.resizerNextMin)&&(this.resizerCurrentWidths[this.resizerActiveName]=o,this.resizerCurrentWidths[this.resizerNextName]=a,this.resizerActiveDiv.style.width=`${o}px`,this.resizerNextDiv&&(this.resizerNextDiv.style.width=`${a}px`),this.columnsVisibility[this.resizerActiveName]=o,this.columnsVisibility[this.resizerNextName]=a,this.resizerNextName==="nameHeader"?(this.columnsVisibility.name=a-this.state.scrollBarWidth,this.resizerCurrentWidths.name=a-this.state.scrollBarWidth):this.resizerActiveName==="nameHeader"&&(this.columnsVisibility.name=o-this.state.scrollBarWidth,this.resizerCurrentWidths.name=o-this.state.scrollBarWidth),this.customWidth=!0,this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=null,this.forceUpdate()},200))}});A(this,"resizerMouseUp",()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.table`,JSON.stringify(this.resizerCurrentWidths)),this.resizerActiveName=null,this.resizerNextName=null,this.resizerActiveDiv=null,this.resizerNextDiv=null,window.removeEventListener("mousemove",this.resizerMouseMove),window.removeEventListener("mouseup",this.resizerMouseUp)});A(this,"resizerMouseDown",r=>{if(this.storedWidths=this.storedWidths||JSON.parse(JSON.stringify(ro[this.props.width||"lg"])),this.resizerCurrentWidths=this.resizerCurrentWidths||{},this.resizerActiveDiv=r.target.parentNode,this.resizerActiveName=this.resizerActiveDiv.dataset.name||null,this.resizerActiveName){let o=0;if(r.target.dataset.left==="true"){this.resizeLeft=!0,this.resizerNextDiv=this.resizerActiveDiv.previousElementSibling;let a=this.resizerNextDiv.querySelector(".iob-ob-resize-handler");for(;this.resizerNextDiv&&!a&&o<10;)this.resizerNextDiv=this.resizerNextDiv.previousElementSibling,a=this.resizerNextDiv.querySelector(".iob-ob-resize-handler"),o++;(a==null?void 0:a.dataset.left)!=="true"&&(this.resizerNextDiv=this.resizerNextDiv.nextElementSibling)}else this.resizeLeft=!1,this.resizerNextDiv=this.resizerActiveDiv.nextElementSibling;this.resizerNextName=this.resizerNextDiv.dataset.name||null,this.resizerMin=parseInt(this.resizerActiveDiv.dataset.min,10)||0,this.resizerNextMin=parseInt(this.resizerNextDiv.dataset.min,10)||0,this.resizerPosition=r.clientX,this.resizerCurrentWidths[this.resizerActiveName]=this.resizerActiveDiv.offsetWidth,this.resizerOldWidth=this.resizerCurrentWidths[this.resizerActiveName],this.resizerNextName&&(this.resizerCurrentWidths[this.resizerNextName]=this.resizerNextDiv.offsetWidth,this.resizerOldWidthNext=this.resizerCurrentWidths[this.resizerNextName]),window.addEventListener("mousemove",this.resizerMouseMove),window.addEventListener("mouseup",this.resizerMouseUp)}});A(this,"resizerReset",()=>{this.customWidth=!1,ro[this.props.width||"lg"]=JSON.parse(JSON.stringify(this.storedWidths)),this.calculateColumnsVisibility(),this.localStorage.removeItem(`${this.props.dialogName||"App"}.table`),this.forceUpdate()});let o=this.localStorage.getItem(`${r.dialogName||"App"}.objectSelected`)||"";if(this.selectFirst="",o.startsWith("["))try{let x=JSON.parse(o);this.selectFirst=x[0]||""}catch(x){}else this.selectFirst=o;let a,n=this.localStorage.getItem(`${r.dialogName||"App"}.objectExpanded`)||"[]";try{a=JSON.parse(n)}catch(x){a=[]}let s,i=r.defaultFilters?"":this.localStorage.getItem(`${r.dialogName||"App"}.objectFilter`)||"";if(i)try{s=JSON.parse(i)}catch(x){s={...q0}}else r.defaultFilters&&typeof r.defaultFilters=="object"?s={...r.defaultFilters}:s={...q0};if(s.expertMode=r.expertMode!==void 0?r.expertMode:(window._sessionStorage||window.sessionStorage).getItem("App.expertMode")==="true",this.tableRef=(0,C.createRef)(),this.filterRefs={},Object.keys(q0).forEach(x=>this.filterRefs[x]=(0,C.createRef)()),this.visibleCols=r.columns||ro[r.width||"lg"].fields,r.types&&r.types.length===1){let x=this.visibleCols.indexOf("type");x!==-1&&this.visibleCols.splice(x,1)}this.possibleCols=ro.xl.fields;let p=null;if(r.router){let x=r.router.getLocation();x.id&&x.dialog==="customs"&&(p=[x.id],this.pauseSubscribe(!0))}let l;Array.isArray(r.selected)?l=r.selected:l=[r.selected||""],l=l.map(x=>x.replace(/["']/g,"")).filter(x=>x),this.selectFirst=l.length&&l[0]?l[0]:this.selectFirst;let d=this.localStorage.getItem(`${r.dialogName||"App"}.columns`),u;try{u=d?JSON.parse(d):null}catch(x){u=null}let f=null;try{f=f?JSON.parse(f):{}}catch(x){f={}}this.imagePrefix=r.imagePrefix||".";let c,h=this.localStorage.getItem(`${r.dialogName||"App"}.foldersFirst`);h==="false"?c=!1:h==="true"?c=!0:c=r.foldersFirst===void 0?!0:r.foldersFirst;let g=!1;try{g=this.props.objectStatesView&&JSON.parse(this.localStorage.getItem(`${r.dialogName||"App"}.objectStatesView`)||"")||!1}catch(x){}this.state={loaded:!1,foldersFirst:c,selected:l,selectedNonObject:this.localStorage.getItem(`${r.dialogName||"App"}.selectedNonObject`)||"",filter:s,filterKey:0,focused:this.localStorage.getItem(`${r.dialogName||"App"}.focused`)||"",depth:0,expandAllVisible:!1,expanded:a,toast:"",scrollBarWidth:16,customDialog:p,editObjectDialog:"",editObjectAlias:!1,viewFileDialog:"",showAliasEditor:"",enumDialog:null,roleDialog:null,statesView:g,columns:u,columnsForAdmin:null,columnsSelectorShow:!1,columnsAuto:this.localStorage.getItem(`${r.dialogName||"App"}.columnsAuto`)!=="false",columnsWidths:f,columnsDialogTransparent:100,columnsEditCustomDialog:null,customColumnDialogValueChanged:!1,showExportDialog:!1,showAllExportOptions:!1,linesEnabled:this.localStorage.getItem(`${r.dialogName||"App"}.lines`)==="true",showDescription:this.localStorage.getItem(`${r.dialogName||"App"}.desc`)!=="false",showContextMenu:null,noStatesByExportImport:!1,beautifyJsonExport:!0,excludeSystemRepositoriesFromExport:!0,excludeTranslations:!1,tooltipInfo:null,aliasMenu:""},this.texts={name:r.t("ra_Name"),categories:r.t("ra_Categories"),value:r.t("ra_tooltip_value"),ack:r.t("ra_tooltip_ack"),ts:r.t("ra_tooltip_ts"),lc:r.t("ra_tooltip_lc"),from:r.t("ra_tooltip_from"),user:r.t("ra_tooltip_user"),c:r.t("ra_tooltip_comment"),quality:r.t("ra_tooltip_quality"),editObject:r.t("ra_tooltip_editObject"),deleteObject:r.t("ra_tooltip_deleteObject"),customConfig:r.t("ra_tooltip_customConfig"),copyState:r.t("ra_tooltip_copyState"),editState:r.t("ra_tooltip_editState"),close:r.t("ra_Close"),filter_id:r.t("ra_filter_id"),filter_name:r.t("ra_filter_name"),filter_type:r.t("ra_filter_type"),filter_role:r.t("ra_filter_role"),filter_room:r.t("ra_filter_room"),filter_func:r.t("ra_filter_func"),filter_custom:r.t("ra_filter_customs"),filterCustomsWithout:r.t("ra_filter_customs_without"),objectChangedByUser:r.t("ra_object_changed_by_user"),objectChangedBy:r.t("ra_object_changed_by"),objectChangedFrom:r.t("ra_state_changed_from"),stateChangedBy:r.t("ra_state_changed_by"),stateChangedFrom:r.t("ra_state_changed_from"),ownerGroup:r.t("ra_Owner group"),ownerUser:r.t("ra_Owner user"),deviceError:r.t("ra_Error"),deviceDisconnected:r.t("ra_Disconnected"),deviceConnected:r.t("ra_Connected"),aclOwner_read_object:r.t("ra_aclOwner_read_object"),aclOwner_read_state:r.t("ra_aclOwner_read_state"),aclOwner_write_object:r.t("ra_aclOwner_write_object"),aclOwner_write_state:r.t("ra_aclOwner_write_state"),aclGroup_read_object:r.t("ra_aclGroup_read_object"),aclGroup_read_state:r.t("ra_aclGroup_read_state"),aclGroup_write_object:r.t("ra_aclGroup_write_object"),aclGroup_write_state:r.t("ra_aclGroup_write_state"),aclEveryone_read_object:r.t("ra_aclEveryone_read_object"),aclEveryone_read_state:r.t("ra_aclEveryone_read_state"),aclEveryone_write_object:r.t("ra_aclEveryone_write_object"),aclEveryone_write_state:r.t("ra_aclEveryone_write_state"),create:r.t("ra_Create"),createBooleanState:r.t("ra_create_boolean_state"),createNumberState:r.t("ra_create_number_state"),createStringState:r.t("ra_create_string_state"),createState:r.t("ra_create_state"),createChannel:r.t("ra_create_channel"),createDevice:r.t("ra_create_device"),createFolder:r.t("ra_Create folder")},this.levelPadding=r.levelPadding||fMe;let m=this.localStorage.getItem(`${this.props.dialogName||"App"}.table`);if(m)try{let x=JSON.parse(m),T=this.props.width||"lg";this.storedWidths=JSON.parse(JSON.stringify(ro[T])),Object.keys(x).forEach(b=>{b==="id"?ro[T].idWidth=x.id:b==="nameHeader"?ro[T].widths.name=x[b]:ro[T].widths[b]!==void 0&&(ro[T].widths[b]=x[b])}),this.customWidth=!0}catch(x){}this.calculateColumnsVisibility()}async loadAllObjects(r){let o=this.props;try{await new Promise(l=>{this.setState({updating:!0},()=>l())});let a=(this.props.objectsWorker?await this.props.objectsWorker.getObjects(r):await o.socket.getObjects(r,!0))||{};if(o.types&&Ps.isWeb())for(let l=0;l{try{if(l(a[d]))this.objects[d]=a[d];else{let u=a[d]&&a[d].type;u&&(u==="channel"||u==="device"||u==="folder"||u==="adapter"||u==="instance")&&(this.objects[d]=a[d])}}catch(u){console.log(`Error by filtering of "${d}": ${u}`)}})}else if(o.types){this.objects={};let l=o.types;Object.keys(a).forEach(d=>{let u=a[d]&&a[d].type;u&&(u==="channel"||u==="device"||u==="enum"||u==="folder"||u==="adapter"||u==="instance"||l.includes(u))&&(this.objects[d]=a[d])})}else this.objects=a;o.setObjectsReference&&o.setObjectsReference(this.objects),this.defaultHistory=this.systemConfig.common.defaultHistory,this.defaultHistory&&o.socket.getState(`system.adapter.${this.defaultHistory}.alive`).then(l=>{(!l||!l.val)&&(this.defaultHistory="")}).catch(l=>window.alert(`Cannot get state: ${l}`));let n=await this.getAdditionalColumns();this.calculateColumnsVisibility(null,null,n);let{info:s,root:i}=wY(this.objects,{imagePrefix:this.props.imagePrefix,root:this.props.root,lang:this.props.lang,themeType:this.props.themeType});this.root=i,this.info=s;let p=this.state.selected&&this.state.selected.length&&MY(this.root,this.state.selected[0]);this.lastAppliedFilter=null,p&&!O2(p,this.state.filter,this.props.lang,this.objects,void 0,void 0,o.customFilter,o.types)?this.setState({filter:{...q0},columnsForAdmin:n},()=>{this.setState({loaded:!0,updating:!1},()=>this.expandAllSelected(()=>this.onAfterSelect()))}):this.setState({loaded:!0,updating:!1,columnsForAdmin:n},()=>this.expandAllSelected(()=>this.onAfterSelect()))}catch(a){this.showError(a)}}static isNonExpertId(r){return!!ZM(ti,J0).find(o=>r.startsWith(o))}expandAllSelected(r){let o=[...this.state.expanded],a=!1;this.state.selected.forEach(n=>{let s=n.split("."),i=[];for(let p=0;pthis.props.onSelect&&this.props.onSelect([],"")):this.props.onSelect&&this.props.onSelect([],"")}static getDerivedStateFromProps(r,o){let a={},n=!1;return r.expertMode!==void 0&&r.expertMode!==o.filter.expertMode&&(n=!0,a.filter={...o.filter},a.filter.expertMode=r.expertMode),n?a:null}async componentDidMount(){await this.loadAllObjects(!_Y),this.props.objectsWorker?this.props.objectsWorker.registerHandler(this.onObjectChangeFromWorker):await this.props.socket.subscribeObject("*",this.onObjectChange),_Y=!0,window.addEventListener("contextmenu",this.onContextMenu,!0)}componentWillUnmount(){this.filterTimer&&(clearTimeout(this.filterTimer),this.filterTimer=null),window.removeEventListener("contextmenu",this.onContextMenu,!0),this.props.objectsWorker?this.props.objectsWorker.unregisterHandler(this.onObjectChangeFromWorker,!0):this.props.socket.unsubscribeObject("*",this.onObjectChange).catch(r=>console.error(`Cannot unsubscribe *: ${r}`)),this.subscribes.forEach(r=>{console.log(`- unsubscribe ${r}`),this.props.socket.unsubscribeState(r,this.onStateChange)}),this.subscribes=[],this.objects={}}showDeleteDialog(r){var l,d;let{id:o,obj:a,item:n}=r,s=Object.keys(this.objects);s.sort();let i=0,p=`${o}.`;for(let u=0;up)break;this.props.onObjectDelete&&this.props.onObjectDelete(o,!!((l=n.children)!=null&&l.length),!((d=a.common)!=null&&d.dontDelete),i+1)}refreshComponent(){this.subscribes.forEach(r=>{console.log(`- unsubscribe ${r}`),this.props.socket.unsubscribeState(r,this.onStateChange)}),this.subscribes=[],this.loadAllObjects(!0).then(()=>console.log("updated!")).catch(r=>this.showError(r))}renderErrorDialog(){return this.state.error?C.default.createElement(er,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.setState({error:""}),"aria-labelledby":"error-dialog-title","aria-describedby":"error-dialog-description"},C.default.createElement(tr,{id:"alert-dialog-title"},this.props.t("ra_Error")),C.default.createElement(ir,null,C.default.createElement(Za,{id:"alert-dialog-description"},this.state.error)),C.default.createElement(sr,null,C.default.createElement(tt,{variant:"contained",onClick:()=>this.setState({error:""}),color:"primary",autoFocus:!0,startIcon:C.default.createElement(to,null)},this.props.t("ra_Ok")))):null}showError(r){this.setState({error:typeof r=="object"?r&&typeof r.toString=="function"?r.toString():JSON.stringify(r):r})}onSelect(r,o,a){if(this.localStorage.setItem(`${this.props.dialogName||"App"}.focused`,r),!this.props.multiSelect)this.objects[r]&&(!this.props.types||this.props.types.includes(this.objects[r].type))?(this.localStorage.removeItem(`${this.props.dialogName||"App"}.selectedNonObject`),this.state.selected[0]!==r?this.setState({selected:[r],selectedNonObject:"",focused:r},()=>{this.onAfterSelect(o),a&&a()}):o&&this.props.onSelect&&this.onAfterSelect(o)):(this.localStorage.setItem(`${this.props.dialogName||"App"}.selectedNonObject`,r),this.setState({selected:[],selectedNonObject:r,focused:r},()=>{this.onAfterSelect(),a&&a()}));else if(this.objects[r]&&(!this.props.types||this.props.types.includes(this.objects[r].type))){this.localStorage.removeItem(`${this.props.dialogName||"App"}.selectedNonObject`);let n=[...this.state.selected],s=n.indexOf(r);s===-1?(n.push(r),n.sort()):o||n.splice(s,1),this.setState({selected:n,selectedNonObject:"",focused:r},()=>{this.onAfterSelect(o),a&&a()})}}_renderDefinedList(r){let o=[...this.possibleCols];if(o.unshift("id"),this.props.columns&&!this.props.columns.includes("buttons")){let a=o.indexOf("buttons");a!==-1&&o.splice(a,1)}return o.filter(a=>r&&(a==="val"||a==="buttons")||!r&&a!=="val"&&a!=="buttons").map(a=>{var n;return C.default.createElement(cy,{onClick:()=>{if(!this.state.columnsAuto&&a!=="id"){let s=[...this.state.columns||[]],i=s.indexOf(a);i===-1?(s.push(a),s.sort()):s.splice(i,1),this.localStorage.setItem(`${this.props.dialogName||"App"}.columns`,JSON.stringify(s)),this.calculateColumnsVisibility(null,s),this.setState({columns:s})}},key:a},C.default.createElement(jt,{edge:"start",disabled:a==="id"||this.state.columnsAuto,checked:a==="id"||!!(this.state.columnsAuto?this.visibleCols.includes(a):(n=this.state.columns)!=null&&n.includes(a)),disableRipple:!0}),C.default.createElement(ps,{primary:this.texts[`filter_${a}`]||this.props.t(`ra_${a}`)}))})}renderColumnsSelectorDialog(){return this.state.columnsSelectorShow?C.default.createElement(er,{onClose:()=>this.setState({columnsSelectorShow:!1}),open:!0,sx:{"& .MuiPaper-root":ve.getStyle(this.props.theme,H.dialogColumns,H[`transparent_${this.state.columnsDialogTransparent}`])}},C.default.createElement(tr,{sx:H.fontSizeTitle},this.props.t("ra_Configure")),C.default.createElement(ir,{sx:H.fontSizeTitle},C.default.createElement(Ke,{style:H.switchColumnAuto,control:C.default.createElement(rf,{checked:this.state.foldersFirst,onChange:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.foldersFirst`,this.state.foldersFirst?"false":"true"),this.setState({foldersFirst:!this.state.foldersFirst})}}),label:this.props.t("ra_Folders always first")}),C.default.createElement(Ke,{style:H.switchColumnAuto,control:C.default.createElement(rf,{checked:this.state.linesEnabled,onChange:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.lines`,this.state.linesEnabled?"false":"true"),this.setState({linesEnabled:!this.state.linesEnabled})}}),label:this.props.t("ra_Show lines between rows")}),C.default.createElement(Ke,{style:H.switchColumnAuto,control:C.default.createElement(rf,{checked:this.state.columnsAuto,onChange:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.columnsAuto`,this.state.columnsAuto?"false":"true"),this.state.columnsAuto?this.state.columns?(this.calculateColumnsVisibility(!1),this.setState({columnsAuto:!1})):(this.calculateColumnsVisibility(!1,[...this.visibleCols]),this.setState({columnsAuto:!1,columns:[...this.visibleCols]})):(this.calculateColumnsVisibility(!0),this.setState({columnsAuto:!0}))}}),label:this.props.t("ra_Auto (no custom columns)")}),C.default.createElement(ef,null,this._renderDefinedList(!1),this.state.columnsForAdmin&&Object.keys(this.state.columnsForAdmin).sort().map(r=>this.state.columnsForAdmin&&this.state.columnsForAdmin[r].map(o=>{var a;return C.default.createElement(cy,{onClick:()=>{if(!this.state.columnsAuto){let n=[...this.state.columns||[]],s=`_${r}_${o.path}`,i=n.indexOf(s);i===-1?(n.push(s),n.sort()):n.splice(i,1),this.calculateColumnsVisibility(null,n),this.localStorage.setItem(`${this.props.dialogName||"App"}.columns`,JSON.stringify(n)),this.setState({columns:n})}},key:`${r}_${o.name}`},C.default.createElement(Ai,null,C.default.createElement(jt,{disabled:this.state.columnsAuto,edge:"start",checked:!this.state.columnsAuto&&((a=this.state.columns)==null?void 0:a.includes(`_${r}_${o.path}`)),disableRipple:!0})),C.default.createElement(ps,{primary:`${o.name} (${r})`}))})),this._renderDefinedList(!0))),C.default.createElement(sr,null,C.default.createElement(tt,{variant:"contained",onClick:()=>this.setState({columnsSelectorShow:!1}),color:"primary",startIcon:C.default.createElement($r,null)},this.texts.close))):null}async getAdditionalColumns(){try{let r=await this.props.socket.getAdapters(),o=null;return r.forEach(a=>o=this.parseObjectForAdmins(o,a)),o}catch(r){return console.error(`Cannot get adapters: ${r}`),null}}checkUnsubscribes(){for(let r=this.subscribes.length-1;r>=0;r--)this.recordStates.includes(this.subscribes[r])||this.unsubscribe(this.subscribes[r]);this.recordStates=[]}findItem(r,o,a,n){if(o=o||r.split("."),a=a||this.root,!a||!o.length)return null;if(n=(n?`${n}.`:"")+o.shift(),a.children){let s=a.children.find(i=>i.data.id===n);if(s){if(s.data.id===r)return s;if(o.length)return this.findItem(r,o,s,n)}else return null}return null}parseObjectForAdmins(r,o){if(o.common&&o.common.adminColumns&&o.common.name){let a=o.common.adminColumns,n;a&&typeof a!="object"?n=[a]:a&&(n=a);let s;a?s=n.map(i=>{if(typeof i!="object")return{path:i,name:i.split(".").pop()};let p=i;return p.objTypes&&typeof p.objTypes!="object"?p.objTypes=[p.objTypes]:p.objTypes||(p.objTypes=void 0),!p.name&&p.path?{path:p.path,name:p.path.split(".").pop(),width:p.width,edit:!!p.edit,type:p.type,objTypes:p.objTypes}:p.path?{path:p.path,name:Dn(p.name||"",this.props.lang),width:p.width,edit:!!p.edit,type:p.type,objTypes:p.objTypes}:(console.warn(`Admin columns for ${o._id} ignored, because path not found`),null)}).filter(i=>i):s=null,s&&s.length&&(r=r||{},r[o.common.name]=s.sort((i,p)=>i.path>p.path?-1:i.path{this.objectsUpdateTimer=null;let{info:r,root:o}=wY(this.objects,{imagePrefix:this.props.imagePrefix,root:this.props.root,lang:this.props.lang,themeType:this.props.themeType});this.root=o,this.info=r,this.lastAppliedFilter=null,this.pausedSubscribes||this.forceUpdate()},500))}updateAliases(r){var a,n,s;if(!this.objects||!((a=this.info)!=null&&a.aliasesMap)||!(r!=null&&r.startsWith("alias.")))return;let o=Object.keys(this.objects).filter(i=>i.startsWith("alias.0"));this.info.aliasesMap={};for(let i of o){let p=this.objects[i];if((s=(n=p==null?void 0:p.common)==null?void 0:n.alias)!=null&&s.id)if(typeof p.common.alias.id=="string"){let l=p.common.alias.id;this.info.aliasesMap[l]?this.info.aliasesMap[l].includes(i)||this.info.aliasesMap[l].push(i):this.info.aliasesMap[l]=[i]}else{let l=p.common.alias.id.read;l&&(this.info.aliasesMap[l]?this.info.aliasesMap[l].includes(i)||this.info.aliasesMap[l].push(i):this.info.aliasesMap[l]=[i]);let d=p.common.alias.id.write;d&&(this.info.aliasesMap[d]?this.info.aliasesMap[d].includes(i)||this.info.aliasesMap[d].push(i):this.info.aliasesMap[d]=[i])}}}processOnObjectChangeElement(r,o){console.log(`> objectChange ${r}`);let a=o==null?void 0:o.type;if(o&&typeof this.props.filterFunc=="function"&&!this.props.filterFunc(o)&&a!=="channel"&&a!=="device"&&a!=="folder"&&a!=="adapter"&&a!=="instance")return{newInnerState:null,filtered:!0};let n=null;if(r.startsWith("system.adapter.")&&(o==null?void 0:o.type)==="adapter"){let s=JSON.parse(JSON.stringify(this.state.columnsForAdmin));this.parseObjectForAdmins(s,o),JSON.stringify(this.state.columnsForAdmin)!==JSON.stringify(s)&&(n={columnsForAdmin:s})}return this.objects=this.objects||{},o?this.objects[r]=o:this.objects[r]&&delete this.objects[r],this.updateAliases(r),{newInnerState:n,filtered:!1}}subscribe(r){this.subscribes.includes(r)||(this.subscribes.push(r),console.log(`+ subscribe ${r}`),this.pausedSubscribes||this.props.socket.subscribeState(r,this.onStateChange).catch(o=>console.error(`Cannot subscribe on state ${r}: ${o}`)))}unsubscribe(r){let o=this.subscribes.indexOf(r);o!==-1&&(this.subscribes.splice(o,1),this.states[r]&&delete this.states[r],console.log(`- unsubscribe ${r}`),this.props.socket.unsubscribeState(r,this.onStateChange),this.pausedSubscribes&&console.warn("Unsubscribe during pause?"))}pauseSubscribe(r){!this.pausedSubscribes&&r?(this.pausedSubscribes=!0,this.subscribes.forEach(o=>this.props.socket.unsubscribeState(o,this.onStateChange))):this.pausedSubscribes&&!r&&(this.pausedSubscribes=!1,this.subscribes.forEach(o=>this.props.socket.subscribeState(o,this.onStateChange)))}onFilter(r,o){this.filterTimer=null;let a={...this.state.filter};Object.keys(this.filterRefs).forEach(n=>{if(this.filterRefs[n]&&this.filterRefs[n].current){let s=this.filterRefs[n].current;for(let i=0;ithis.props.onFilterChanged&&this.props.onFilterChanged(a)))}clearFilter(){let r={...this.state.filter};Object.keys(this.filterRefs).forEach(o=>{if(this.filterRefs[o]&&this.filterRefs[o].current){let a=this.filterRefs[o].current;for(let n=0;nthis.props.onFilterChanged&&this.props.onFilterChanged(r)))}isFilterEmpty(){return!Object.keys(this.state.filter).find(o=>o!=="expertMode"&&this.state.filter[o])}getFilterInput(r){var o,a,n;return C.default.createElement(ls,{sx:this.styles.filterInput,key:`${r}_${this.state.filterKey}`,margin:"dense"},C.default.createElement(Zo,{ref:this.filterRefs[r],classes:{underline:"no-underline"},id:r,placeholder:this.texts[`filter_${r}`],defaultValue:this.state.filter[r]||"",onChange:()=>{this.filterTimer&&clearTimeout(this.filterTimer),this.filterTimer=setTimeout(()=>this.onFilter(),400)},autoComplete:"off"}),(n=(a=(o=this.filterRefs[r])==null?void 0:o.current)==null?void 0:a.firstChild)!=null&&n.value?C.default.createElement("div",{style:{position:"absolute",right:0}},C.default.createElement(nt,{size:"small",onClick:()=>{var s;((s=this.filterRefs[r].current)==null?void 0:s.firstChild).value="",this.onFilter(r,"")}},C.default.createElement($r,null))):null)}getFilterSelect(r,o){var n,s,i;let a=!!(o!=null&&o.find(p=>p.icon));return C.default.createElement("div",{style:{position:"relative"}},C.default.createElement(ea,{variant:"standard",key:`${r}_${this.state.filterKey}`,ref:this.filterRefs[r],sx:H.headerCellInput,className:"no-underline",onChange:()=>{this.filterTimer&&clearTimeout(this.filterTimer),this.filterTimer=setTimeout(()=>this.onFilter(),400)},defaultValue:this.state.filter[r]||"",inputProps:{name:r,id:r},displayEmpty:!0},C.default.createElement(Mt,{key:"empty",value:""},C.default.createElement("span",{style:H.selectNone},this.texts[`filter_${r}`])),o==null?void 0:o.map(p=>{let l,d,u;return typeof p=="object"?(l=p.value,d=p.name,u=p.icon):(l=p,d=p),C.default.createElement(Mt,{sx:H.headerCellSelectItem,key:l,value:l},u||(a?C.default.createElement("div",{className:"itemIcon"}):null),d)})),(i=(s=(n=this.filterRefs[r])==null?void 0:n.current)==null?void 0:s.childNodes[1])!=null&&i.value?C.default.createElement(Le,{component:"div",sx:H.selectClearButton},C.default.createElement(nt,{size:"small",onClick:()=>{var l;let p={...this.state.filter};p[r]="",((l=this.filterRefs[r].current)==null?void 0:l.childNodes[1]).value="",this.localStorage.setItem(`${this.props.dialogName||"App"}.objectFilter`,JSON.stringify(p)),this.setState({filter:p,filterKey:this.state.filterKey+1},()=>this.props.onFilterChanged&&this.props.onFilterChanged(p))}},C.default.createElement($r,null))):null)}getFilterSelectRole(){return this.getFilterSelect("role",this.info.roles)}getFilterSelectRoom(){let r=this.info.roomEnums.map(o=>{var a,n,s,i;return{name:Dn((n=(a=this.objects[o])==null?void 0:a.common)==null?void 0:n.name,this.props.lang)||o.split(".").pop(),value:o,icon:C.default.createElement(jo,{src:((i=(s=this.objects[o])==null?void 0:s.common)==null?void 0:i.icon)||"",style:H.selectIcon})}});return this.getFilterSelect("room",r)}getFilterSelectFunction(){let r=this.info.funcEnums.map(o=>{var a,n,s,i;return{name:Dn((n=(a=this.objects[o])==null?void 0:a.common)==null?void 0:n.name,this.props.lang)||o.split(".").pop(),value:o,icon:C.default.createElement(jo,{src:((i=(s=this.objects[o])==null?void 0:s.common)==null?void 0:i.icon)||"",style:H.selectIcon})}});return this.getFilterSelect("func",r)}getFilterSelectType(){let r=this.info.types.map(o=>({name:o,value:o,icon:k2[o]||null}));return this.getFilterSelect("type",r)}getFilterSelectCustoms(){if(this.info.customs.length>1){let r=this.info.customs.map(o=>({name:o==="_"?this.texts.filterCustomsWithout:o,value:o,icon:o==="_"?null:C.default.createElement(jo,{src:hv(this.objects,o,this.props.lang,this.imagePrefix)||"",style:H.selectIcon})}));return this.getFilterSelect("custom",r)}return null}onExpandAll(r,o){var n;let a=r||this.root;o=o||[],(n=a==null?void 0:a.children)==null||n.forEach(s=>{s.data.sumVisibility&&(o.push(s.data.id),this.onExpandAll(s,o))}),a===this.root&&(o.sort(),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(o)),this.setState({expanded:o}))}onCollapseAll(){this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify([])),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,"[]"),this.setState({expanded:[],depth:0,selected:[]},()=>this.onAfterSelect())}expandDepth(r,o,a){var n;r=r||this.root,o>0&&((n=r.children)==null||n.forEach(s=>{s.data.sumVisibility&&(mv(a,s.data.id)||(a.push(s.data.id),a.sort()),o-1>0&&this.expandDepth(s,o-1,a))}))}static collapseDepth(r,o){return o.filter(a=>a.split(".").length<=r)}onExpandVisible(){if(this.state.depth<9){let r=this.state.depth+1,o=[...this.state.expanded];this.root&&this.expandDepth(this.root,r,o),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(o)),this.setState({depth:r,expanded:o})}}onStatesViewVisible(){let r=!this.state.statesView;this.localStorage.setItem(`${this.props.dialogName||"App"}.objectStatesView`,JSON.stringify(r)),this.setState({statesView:r})}onCollapseVisible(){if(this.state.depth>0){let r=this.state.depth-1,o=ti.collapseDepth(r,this.state.expanded);this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(o)),this.setState({depth:r,expanded:o})}}async loadObjects(r){if(r)for(let o in r){if(!Object.prototype.hasOwnProperty.call(r,o)||!r[o])continue;let a=r[o],n=null,s,i;a&&a.common&&a.common.enums?(n=a.common.enums,delete a.common.enums):n=null,(a.val||a.val===0)&&(s=a.val,delete a.val),a.ack!==void 0&&(i=a.ack,delete a.ack);try{if(await this.props.socket.setObject(o,a),n&&await this._createAllEnums(n,a._id),a.type==="state")if(s!=null)try{await this.props.socket.setState(a._id,s,i!==void 0?i:!0)}catch(p){window.alert(`Cannot set state "${a._id} with ${s}": ${p}`)}else try{let p=await this.props.socket.getState(a._id);if(!p||p.val===null)try{await this.props.socket.setState(a._id,!a.common||a.common.def===void 0?null:a.common.def,!0)}catch(l){window.alert(`Cannot set state "${a._id}": ${l}`)}}catch(p){window.alert(`Cannot read state "${a._id}": ${p}`)}}catch(p){window.alert(p)}}}_getSelectedIdsForExport(){if(this.state.selected.length||this.state.selectedNonObject){let r=[],o=Object.keys(this.objects);o.sort();let a=this.state.selected[0]||this.state.selectedNonObject,n=`${a}.`,s=n.length;for(let i=0;in)break}return r}return[]}async _exportObjects(r){var s;if(r.isAll){TY("allObjects.json",this.objects,r);return}if(!(this.state.selected.length||this.state.selectedNonObject)){window.alert(this.props.t("ra_Save of objects-tree is not possible"));return}let o={},a=this.state.selected[0]||this.state.selectedNonObject,n=this._getSelectedIdsForExport();for(let i of n){if(o[i]=JSON.parse(JSON.stringify(this.objects[i])),((s=o[i])==null?void 0:s.type)==="state"&&!r.noStatesByExportImport){let p=await this.props.socket.getState(i);p&&(o[i].val=p.val,o[i].ack=p.ack)}if(o[i].common){let p=this.getEnumsForId(i);p&&(o[i].common.enums=p)}}TY(`${a}.json`,o,r)}renderExportDialog(){return this.state.showExportDialog===!1?null:C.default.createElement(er,{open:!0,maxWidth:"lg"},C.default.createElement(tr,null,this.props.t("ra_Select type of export")),C.default.createElement(ir,null,C.default.createElement(Za,null,this.state.filter.expertMode||this.state.showAllExportOptions?C.default.createElement(C.default.Fragment,null,this.props.t("ra_You can export all objects or just the selected branch."),C.default.createElement("br",null),this.props.t("ra_Selected %s object(s)",this.state.showExportDialog),C.default.createElement("br",null),C.default.createElement(Ke,{control:C.default.createElement(jt,{checked:this.state.noStatesByExportImport,onChange:r=>this.setState({noStatesByExportImport:r.target.checked})}),label:this.props.t("ra_Do not export values of states")}),C.default.createElement("br",null),this.props.t("These options can reduce the size of the export file:"),C.default.createElement(Ke,{control:C.default.createElement(jt,{checked:this.state.beautifyJsonExport,onChange:r=>this.setState({beautifyJsonExport:r.target.checked})}),label:this.props.t("Beautify JSON output")}),C.default.createElement("br",null),C.default.createElement(Ke,{control:C.default.createElement(jt,{checked:this.state.excludeSystemRepositoriesFromExport,onChange:r=>this.setState({excludeSystemRepositoriesFromExport:r.target.checked})}),label:this.props.t("Exclude system repositories from export JSON")}),C.default.createElement(Ke,{control:C.default.createElement(jt,{checked:this.state.excludeTranslations,onChange:r=>this.setState({excludeTranslations:r.target.checked})}),label:this.props.t("Exclude translations (except english) from export JSON")})):null)),C.default.createElement(sr,null,this.state.filter.expertMode||this.state.showAllExportOptions?C.default.createElement(tt,{color:"grey",variant:"outlined",onClick:()=>this.setState({showExportDialog:!1,showAllExportOptions:!1},()=>this._exportObjects({isAll:!0,noStatesByExportImport:this.state.noStatesByExportImport,beautify:this.state.beautifyJsonExport,excludeSystemRepositories:this.state.excludeSystemRepositoriesFromExport,excludeTranslations:this.state.excludeTranslations}))},C.default.createElement("span",{style:{marginRight:8}},this.props.t("ra_All objects")),"(",Object.keys(this.objects).length,")"):C.default.createElement(tt,{color:"grey",variant:"outlined",startIcon:C.default.createElement(_h,null),onClick:()=>this.setState({showAllExportOptions:!0})},this.props.t("ra_Advanced options")),C.default.createElement(tt,{color:"primary",variant:"contained",autoFocus:!0,onClick:()=>this.setState({showExportDialog:!1,showAllExportOptions:!1},()=>this._exportObjects({isAll:!1,noStatesByExportImport:this.state.noStatesByExportImport,beautify:this.state.beautifyJsonExport,excludeSystemRepositories:this.state.excludeSystemRepositoriesFromExport,excludeTranslations:this.state.excludeTranslations}))},C.default.createElement("span",{style:{marginRight:8}},this.props.t("ra_Only selected")),"(",this.state.showExportDialog,")"),C.default.createElement(tt,{color:"grey",variant:"contained",onClick:()=>this.setState({showExportDialog:!1,showAllExportOptions:!1}),startIcon:C.default.createElement($r,null)},this.props.t("ra_Cancel"))))}handleJsonUpload(r){var n;let o=r.target,a=((n=o.files)==null?void 0:n.length)&&o.files[0];if(a){let s=new FileReader;s.onload=async i=>{var l;let p=(l=i.target)==null?void 0:l.result;try{let d=JSON.parse(p),u=Object.keys(d).length,f=d._id;if(f===void 0&&u)await this.loadObjects(d),window.alert(this.props.t("ra_%s object(s) processed",u));else{if(!f)return window.alert(this.props.t("ra_Invalid structure"));try{let c,h,g;if(d.common.enums&&(c=d.common.enums,delete d.common.enums),d.val&&(h=d.val,delete d.val),d.ack!==void 0&&(g=d.ack,delete d.ack),await this.props.socket.setObject(d._id,d),d.type==="state")if(h!=null)await this.props.socket.setState(d._id,h,g===void 0?!0:g);else{let m=await this.props.socket.getState(d._id);(!m||m.val===null||m.val===void 0)&&await this.props.socket.setState(d._id,d.common.def===void 0?null:d.common.def,!0)}c&&await this._createAllEnums(c,d._id),window.alert(this.props.t("ra_%s was imported",d._id))}catch(c){window.alert(c)}}}catch(d){window.alert(d)}return null},s.readAsText(a)}else window.alert(this.props.t("ra_Failed to open JSON File"))}getToolbar(){let r=!1;if(this.state.selected.length||this.state.selectedNonObject){let o=this.state.selected[0]||this.state.selectedNonObject;o.split(".").length<2||this.objects[o]&&this.objects[o].type==="state"?r=!1:(this.state.filter.expertMode||o.startsWith("alias.0")||o.startsWith("0_userdata"))&&(r=!0)}return C.default.createElement("div",{style:{display:"flex",width:"100%",alignItems:"center",overflowX:"auto"}},C.default.createElement("div",{style:{display:"flex",width:"100%",alignItems:"center"}},C.default.createElement(Ir,{title:this.props.t("ra_Refresh tree"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement("div",null,C.default.createElement(nt,{onClick:()=>this.refreshComponent(),disabled:this.state.updating,size:"large"},C.default.createElement(Ry,null)))),this.props.showExpertButton&&!this.props.expertMode&&C.default.createElement(Ir,{title:this.props.t("ra_expertMode"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(nt,{key:"expertMode",color:this.state.filter.expertMode?"secondary":"default",onClick:()=>this.onFilter("expertMode",!this.state.filter.expertMode),size:"large"},C.default.createElement(_h,null))),!this.props.disableColumnSelector&&this.props.width!=="xs"&&C.default.createElement(Ir,{title:this.props.t("ra_Configure"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(nt,{key:"columnSelector",color:this.state.columnsAuto?"primary":"default",onClick:()=>this.setState({columnsSelectorShow:!0}),size:"large"},C.default.createElement(XR,null))),this.props.width!=="xs"&&this.state.expandAllVisible&&C.default.createElement(Ir,{title:this.props.t("ra_Expand all nodes"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(nt,{key:"expandAll",onClick:()=>this.onExpandAll(),size:"large"},C.default.createElement(kf,null))),C.default.createElement(Ir,{title:this.props.t("ra_Collapse all nodes"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(nt,{key:"collapseAll",onClick:()=>this.onCollapseAll(),size:"large"},C.default.createElement(Bl,null))),this.props.width!=="xs"&&C.default.createElement(Ir,{title:this.props.t("ra_Expand one step node"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(nt,{key:"expandVisible",color:"primary",onClick:()=>this.onExpandVisible(),size:"large"},C.default.createElement(ay,{badgeContent:this.state.depth,color:"secondary",sx:o=>({badge:{right:3,top:3,border:`2px solid ${o.palette.background.paper}`,padding:"0 4px"}})},C.default.createElement(kf,null)))),this.props.width!=="xs"&&C.default.createElement(Ir,{title:this.props.t("ra_Collapse one step node"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(nt,{key:"collapseVisible",color:"primary",onClick:()=>this.onCollapseVisible(),size:"large"},C.default.createElement(ay,{sx:o=>({badge:{right:3,top:3,border:`2px solid ${o.palette.background.paper}`,padding:"0 4px"}}),badgeContent:this.state.depth,color:"secondary"},C.default.createElement(Bl,null)))),this.props.objectStatesView&&C.default.createElement(Ir,{title:this.props.t("ra_Toggle the states view"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(nt,{onClick:()=>this.onStatesViewVisible(),size:"large"},C.default.createElement(UR,{color:this.state.statesView?"primary":"inherit"}))),C.default.createElement(Ir,{title:this.props.t("ra_Show/Hide object descriptions"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(nt,{onClick:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.desc`,this.state.showDescription?"false":"true"),this.setState({showDescription:!this.state.showDescription})},size:"large"},C.default.createElement(GR,{color:this.state.showDescription?"primary":"inherit"}))),this.props.objectAddBoolean?C.default.createElement(Ir,{title:this.toolTipObjectCreating(),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement("div",null,C.default.createElement(nt,{disabled:!r,onClick:()=>this.setState({modalNewObj:{id:this.state.selected[0]||this.state.selectedNonObject}}),size:"large"},C.default.createElement(i_,null)))):null,this.props.objectImportExport&&C.default.createElement(Ir,{title:this.props.t("ra_Add objects tree from JSON file"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(nt,{onClick:()=>{let o=document.createElement("input");o.setAttribute("type","file"),o.setAttribute("id","files"),o.setAttribute("opacity","0"),o.addEventListener("change",a=>this.handleJsonUpload(a),!1),o.click()},size:"large"},C.default.createElement(nf,null))),this.props.objectImportExport&&(!!this.state.selected.length||this.state.selectedNonObject)&&C.default.createElement(Ir,{title:this.props.t("ra_Save objects tree as JSON file"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(nt,{onClick:()=>this.setState({showExportDialog:this._getSelectedIdsForExport().length}),size:"large"},C.default.createElement(nf,{style:{transform:"rotate(180deg)"}})))),!!this.props.objectBrowserEditObject&&this.props.width!=="xs"&&C.default.createElement("div",{style:{display:"flex",whiteSpace:"nowrap"}},`${this.props.t("ra_Objects")}: ${Object.keys(this.info.objects).length}, ${this.props.t("ra_States")}: ${Object.keys(this.info.objects).filter(o=>this.info.objects[o].type==="state").length}`),this.props.objectEditBoolean&&C.default.createElement(Ir,{title:this.props.t("ra_Edit custom config"),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(nt,{onClick:()=>{var a;let o=this.root?DY(this.root,"state",this.objects):[];o.length?(this.pauseSubscribe(!0),o.length===1&&(this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,this.state.selected[0]),(a=this.props.router)==null||a.doNavigate(null,"custom",this.state.selected[0])),this.setState({customDialog:o,customDialogAll:!0})):this.setState({toast:this.props.t("ra_please select object")})},size:"large"},C.default.createElement(CR,null))))}toggleExpanded(r){let o=JSON.parse(JSON.stringify(this.state.expanded)),a=o.indexOf(r);a===-1?(o.push(r),o.sort()):o.splice(a,1),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(o)),this.setState({expanded:o})}onCopy(r,o){r.stopPropagation(),r.preventDefault(),o&&(ve.copyToClipboard(o),o.length<50?this.setState({toast:this.props.t("ra_Copied %s",o)}):this.setState({toast:this.props.t("ra_Copied")}))}renderColumnButtons(r,o){var i,p,l;if(!o.data.obj)return this.props.onObjectDelete||this.props.objectEditOfAccessControl?C.default.createElement("div",{style:H.buttonDiv},this.state.filter.expertMode&&this.props.objectEditOfAccessControl?C.default.createElement(nt,{sx:{...H.cellButtonsButton,...H.cellButtonsEmptyButton,...H.cellButtonMinWidth},onClick:()=>this.setState({modalEditOfAccess:!0,modalEditOfAccessObjData:o.data}),size:"large"},C.default.createElement("div",{style:{height:15}},"---")):null,this.props.onObjectDelete&&o.children&&o.children.length?C.default.createElement(nt,{sx:{...H.cellButtonsButton,...H.cellButtonsButtonAlone},size:"small","aria-label":"delete",title:this.texts.deleteObject,onClick:()=>{var c;let d=Object.keys(this.objects);d.sort();let u=0,f=`${r}.`;for(let h=0;hf)break;this.props.onObjectDelete&&this.props.onObjectDelete(r,!!((c=o.children)!=null&&c.length),!1,u+1)}},C.default.createElement(Hs,{style:H.cellButtonsButtonIcon})):null):null;o.data.aclTooltip=o.data.aclTooltip||this.renderTooltipAccessControl(o.data.obj.acl);let a=o.data.obj.acl?o.data.obj.type==="state"?o.data.obj.acl.state:o.data.obj.acl.object:0,n=o.data.obj.acl&&(o.data.obj.type==="state"?this.systemConfig.common.defaultNewAcl.state:this.systemConfig.common.defaultNewAcl.object),s=this.state.filter.expertMode||ti.isNonExpertId(o.data.id);return[this.state.filter.expertMode&&this.props.objectEditOfAccessControl?C.default.createElement(Ir,{key:"acl",title:o.data.aclTooltip,slotProps:{popper:{sx:H.tooltip}}},C.default.createElement(nt,{sx:{...H.cellButtonsButton,...H.cellButtonMinWidth,opacity:1},onClick:()=>this.setState({modalEditOfAccess:!0,modalEditOfAccessObjData:o.data}),size:"large"},C.default.createElement("div",{style:H.aclText},Number.isNaN(Number(a))?Number(n).toString(16):Number(a).toString(16)))):C.default.createElement("div",{key:"aclEmpty",style:H.cellButtonMinWidth}),s?C.default.createElement(nt,{key:"edit",sx:{marginRight:"2px",...H.cellButtonsButton},size:"small","aria-label":"edit",title:this.texts.editObject,onClick:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,r),this.setState({editObjectDialog:r,editObjectAlias:!1})}},C.default.createElement(af,{style:H.cellButtonsButtonIcon})):C.default.createElement(Le,{component:"div",key:"editDisabled",sx:H.cellButtonsButton}),this.props.onObjectDelete&&((i=o.children)!=null&&i.length||!((p=o.data.obj.common)!=null&&p.dontDelete))?C.default.createElement(nt,{key:"delete",sx:H.cellButtonsButton,size:"small","aria-label":"delete",onClick:()=>{var c,h,g;let d=Object.keys(this.objects);d.sort();let u=0,f=`${r}.`;for(let m=0;mf)break;this.props.onObjectDelete&&this.props.onObjectDelete(r,!!((c=o.children)!=null&&c.length),!((g=(h=o.data.obj)==null?void 0:h.common)!=null&&g.dontDelete),u)},title:this.texts.deleteObject},C.default.createElement(Hs,{style:H.cellButtonsButtonIcon})):null,this.props.objectCustomDialog&&this.info.hasSomeCustoms&&o.data.obj.type==="state"&&((l=o.data.obj.common)==null?void 0:l.type)!=="file"?C.default.createElement(nt,{sx:{...H.cellButtonsButton,...o.data.hasCustoms?this.styles.cellButtonsButtonWithCustoms:H.cellButtonsButtonWithoutCustoms},key:"custom",size:"small","aria-label":"config",title:this.texts.customConfig,onClick:()=>{var d;this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,r),this.pauseSubscribe(!0),(d=this.props.router)==null||d.doNavigate(null,"customs",r),this.setState({customDialog:[r],customDialogAll:!1})}},C.default.createElement(Dy,{style:H.cellButtonsButtonIcon})):null]}readHistory(r){var o,a;if(window.sparkline&&this.defaultHistory&&((a=(o=this.objects[r])==null?void 0:o.common)!=null&&a.custom)&&this.objects[r].common.custom[this.defaultHistory]){let n=new Date;n.setHours(n.getHours()-24),n.setMinutes(0),n.setSeconds(0),n.setMilliseconds(0);let s=n.getTime();this.props.socket.getHistory(r,{instance:this.defaultHistory,start:s,end:Date.now(),step:36e5,from:!1,ack:!1,q:!1,addID:!1,aggregate:"minmax"}).then(i=>{let p=window.document.getElementsByClassName("sparkline");for(let l=0;lconsole.warn(`Cannot read history: ${i}`))}}getTooltipInfo(r,o){var l,d;let a=this.objects[r],n=this.states[r],{valFull:s,fileViewer:i}=b2({state:n,obj:a,texts:this.texts,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,full:!0}),p=[];s==null||s.forEach(u=>{u.t===this.texts.quality&&n.q?(p.push(C.default.createElement("div",{style:H.cellValueTooltipBoth,key:u.t},u.t,":\xA0",u.v)),u.nbr||p.push(C.default.createElement("br",{key:`${u.t}_br`}))):(p.push(C.default.createElement("div",{style:H.cellValueTooltipTitle,key:u.t},u.t,":\xA0")),p.push(C.default.createElement("div",{style:H.cellValueTooltipValue,key:`${u.t}_v`},u.v)),u.nbr||p.push(C.default.createElement("br",{key:`${u.t}_br`})))}),i==="image"?p.push(C.default.createElement("img",{style:H.cellValueTooltipImage,src:n.val,alt:r})):this.defaultHistory&&((d=(l=this.objects[r])==null?void 0:l.common)!=null&&d.custom)&&this.objects[r].common.custom[this.defaultHistory]&&p.push(C.default.createElement("svg",{key:"sparkline",className:"sparkline","data-id":r,style:{fill:"#3d85de"},width:"200",height:"30",strokeWidth:"3"})),this.setState({tooltipInfo:{el:p,id:r}},()=>o&&o())}renderColumnValue(r,o,a){var l,d;let n=o.data.obj;if(!n||!this.states)return null;if(((l=n.common)==null?void 0:l.type)==="file")return C.default.createElement(Le,{component:"div",sx:{...H.cellValueText,...H.cellValueFile}},"[file]");if(!this.states[r])return n.type==="state"&&(this.recordStates.includes(r)||this.recordStates.push(r),this.states[r]={val:null},this.subscribe(r)),null;this.recordStates.includes(r)||this.recordStates.push(r);let s=this.states[r],i=o.data.state;if(!i){let{valText:u}=b2({state:s,obj:n,texts:this.texts,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma}),f=[];o.data.state={valTextRx:f};let c=u.v||"";f.push(C.default.createElement("span",{className:`newValueBrowser-${this.props.themeType||"light"}`,key:`${u.v.toString()}valText`,style:{whiteSpace:"nowrap",display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"}},u.v.toString())),u.u&&f.push(C.default.createElement("span",{className:`newValueBrowser-${this.props.themeType||"light"}`,style:H.cellValueTextUnit,key:`${u.v.toString()}unit`},u.u)),u.s!==void 0&&f.push(C.default.createElement("span",{style:H.cellValueTextState,className:`newValueBrowser-${this.props.themeType||"light"}`,key:`${u.v.toString()}states`},"(",u.s,")")),a||f.push(C.default.createElement(wd,{className:"copyButton",style:this.styles.iconCopy,onClick:h=>this.onCopy(h,c),key:"cc"})),i=o.data.state}i.style=yMe({state:s,isExpertMode:this.state.filter.expertMode,isButton:o.data.button});let p=i.valTextRx;return this.state.filter.expertMode||(o.data.button?p=[C.default.createElement(mMe,{key:"button",style:{color:i.style.color,...H.cellValueButton}})]:o.data.switch&&(p=[C.default.createElement(rf,{key:"switch",sx:{"& .MuiSwitch-thumb":{color:i.style.color},"& .MuiSwitch-track":{backgroundColor:this.states[r].val&&this.state.selected.includes(r)?this.props.themeType==="dark"?"#FFF !important":"#111 !important":void 0}},checked:!!this.states[r].val})])),C.default.createElement(Ir,{key:"value",title:(d=this.state.tooltipInfo)==null?void 0:d.el,slotProps:{popper:{sx:H.cellValueTooltipBox},tooltip:{sx:H.cellValueTooltip}},onOpen:()=>this.getTooltipInfo(r,()=>this.readHistory(r)),onClose:()=>{var u;return((u=this.state.tooltipInfo)==null?void 0:u.id)===r&&this.setState({tooltipInfo:null})}},C.default.createElement(Le,{component:"div",style:i.style,sx:{...H.cellValueText,height:a?void 0:Ba,"& .admin-button:active":{transform:"translate(0, 2px)"}}},p))}_syncEnum(r,o,a,n){var p,l,d;if(!o||!o.length){n&&n();return}let s=o.pop()||"",i=[];if((p=this.info.objects[s])!=null&&p.common){if((l=this.info.objects[s].common.members)!=null&&l.length){let u=this.info.objects[s].common.members.indexOf(r);if(u!==-1&&!a.includes(s)){let f=JSON.parse(JSON.stringify(this.info.objects[s]));f.common.members.splice(u,1),i.push(this.props.socket.setObject(s,f).then(()=>this.info.objects[s]=f).catch(c=>this.showError(c)))}}if(a.includes(s)&&!((d=this.info.objects[s].common.members)!=null&&d.includes(r))){let u=JSON.parse(JSON.stringify(this.info.objects[s]));u.common.members=u.common.members||[],u.common.members.push(r),u.common.members.sort(),i.push(this.props.socket.setObject(s,u).then(()=>this.info.objects[s]=u).catch(f=>this.showError(f)))}}Promise.all(i).then(()=>{setTimeout(()=>this._syncEnum(r,o,a,n),0)})}syncEnum(r,o,a){let n=[...this.info[o==="func"?"funcEnums":"roomEnums"]];return new Promise(s=>{this._syncEnum(r,n,a,()=>{s()})})}renderEnumDialog(){if(!this.state.enumDialog)return null;let r=this.state.enumDialog.type,o=this.state.enumDialog.item,a=this.state.enumDialogEnums,n=this.state.enumDialog.enumsOriginal,s=(r==="room"?this.info.roomEnums:this.info.funcEnums).map(i=>{var p,l;return{name:Dn(((l=(p=this.objects[i])==null?void 0:p.common)==null?void 0:l.name)||i.split(".").pop()||"",this.props.lang),value:i,icon:hv(this.objects,i,this.props.lang,this.imagePrefix)}}).sort((i,p)=>i.name>p.name?1:-1);return s.forEach(i=>{i.icon&&typeof i.icon=="string"&&(i.icon=C.default.createElement(Le,{style:H.enumIconDiv},C.default.createElement("img",{src:i.icon,style:H.enumIcon,alt:i.name})))}),C.default.createElement(er,{sx:{"& .MuiPaper-root":H.enumDialog},onClose:()=>this.setState({enumDialog:null}),"aria-labelledby":"enum-dialog-title",open:!0},C.default.createElement(tr,{id:"enum-dialog-title"},r==="func"?this.props.t("ra_Define functions"):this.props.t("ra_Define rooms"),C.default.createElement(Qa,{sx:H.enumButton,color:"primary",disabled:n===JSON.stringify(a),size:"small",onClick:()=>this.syncEnum(o.data.id,r,a).then(()=>this.setState({enumDialog:null,enumDialogEnums:null}))},C.default.createElement(to,null))),C.default.createElement(ef,{sx:{"&.MuiList-root":H.enumList}},s.map(i=>{let p,l,d;typeof i=="object"?(p=i.value,l=i.name,d=i.icon):(p=i,l=i);let u=`checkbox-list-label-${p}`;return C.default.createElement(Uw,{sx:H.headerCellSelectItem,key:p,onClick:()=>{let f=a.indexOf(p),c=JSON.parse(JSON.stringify(this.state.enumDialogEnums));f===-1?(c.push(p),c.sort()):c.splice(f,1),this.setState({enumDialogEnums:c})},secondaryAction:d},C.default.createElement(Ai,{sx:{"&.MuiListItemIcon-root":H.enumCheckbox}},C.default.createElement(jt,{edge:"start",checked:a.includes(p),tabIndex:-1,disableRipple:!0,inputProps:{"aria-labelledby":u}})),C.default.createElement(ps,{id:u},l))})))}renderEditRoleDialog(){if(!this.state.roleDialog||!this.props.objectBrowserEditRole)return null;if(this.state.roleDialog&&this.props.objectBrowserEditRole){let r=this.props.objectBrowserEditRole;return C.default.createElement(r,{key:"objectBrowserEditRole",id:this.state.roleDialog,socket:this.props.socket,t:this.props.t,roles:this.info.roles,onClose:o=>{o&&(this.info.objects[this.state.roleDialog]=o),this.setState({roleDialog:null})}})}return null}onColumnsEditCustomDialogClose(r){var a,n;let o=this.customColumnDialog;if(r){let s=o.value;o.type==="boolean"?s=s==="true"||s===!0:o.type==="number"&&(s=parseFloat(s)),this.customColumnDialog=null,this.props.socket.getObject(((n=(a=this.state.columnsEditCustomDialog)==null?void 0:a.obj)==null?void 0:n._id)||"").then(i=>{var p;if(i&&ti.setCustomValue(i,(p=this.state.columnsEditCustomDialog)==null?void 0:p.it,s))return this.props.socket.setObject(i._id,i);throw new Error(this.props.t("ra_Cannot update attribute, because not found in the object"))}).then(()=>this.setState({columnsEditCustomDialog:null})).catch(i=>this.showError(i))}else this.customColumnDialog=null,this.setState({columnsEditCustomDialog:null})}renderColumnsEditCustomDialog(){if(!this.state.columnsEditCustomDialog)return null;if(!this.customColumnDialog){let r=ti.getCustomValue(this.state.columnsEditCustomDialog.obj,this.state.columnsEditCustomDialog.it);this.customColumnDialog={type:this.state.columnsEditCustomDialog.it.type||typeof r,initValue:(r==null?"":r).toString(),value:(r==null?"":r).toString()}}return C.default.createElement(er,{onClose:()=>this.setState({columnsEditCustomDialog:null}),maxWidth:"md","aria-labelledby":"custom-dialog-title",open:!0},C.default.createElement(tr,{id:"custom-dialog-title"},`${this.props.t("ra_Edit object field")}: ${this.state.columnsEditCustomDialog.obj._id}`),C.default.createElement(ir,null,C.default.createElement(Za,{id:"alert-dialog-description"},this.customColumnDialog.type==="boolean"?C.default.createElement(Ke,{control:C.default.createElement(jt,{onKeyUp:r=>r.key==="Enter"&&this.onColumnsEditCustomDialogClose(!0),defaultChecked:this.customColumnDialog.value==="true",onChange:r=>{let o=this.customColumnDialog;o.value=r.target.checked.toString();let a=o.value!==o.initValue;a===!this.state.customColumnDialogValueChanged&&this.setState({customColumnDialogValueChanged:a})}}),label:`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`}):C.default.createElement(vr,{variant:"standard",defaultValue:this.customColumnDialog.value,fullWidth:!0,onKeyUp:r=>r.key==="Enter"&&this.onColumnsEditCustomDialogClose(!0),label:`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`,onChange:r=>{let o=this.customColumnDialog;o.value=r.target.value;let a=o.value!==o.initValue;a===!this.state.customColumnDialogValueChanged&&this.setState({customColumnDialogValueChanged:a})},autoFocus:!0}))),C.default.createElement(sr,null,C.default.createElement(tt,{variant:"contained",onClick:()=>this.onColumnsEditCustomDialogClose(!0),disabled:!this.state.customColumnDialogValueChanged,color:"primary",startIcon:C.default.createElement(to,null)},this.props.t("ra_Update")),C.default.createElement(tt,{color:"grey",variant:"contained",onClick:()=>this.onColumnsEditCustomDialogClose(),startIcon:C.default.createElement($r,null)},this.props.t("ra_Cancel"))))}static getCustomValue(r,o){var a;if((a=r==null?void 0:r._id)!=null&&a.startsWith(`${o.adapter}.`)&&o.path.length>1){let n=o.path,s,i=r;if(i[n[0]]&&typeof i[n[0]]=="object")return n.length===2?s=i[n[0]][n[1]]:n.length===3?s=i[n[0]][n[1]]&&typeof i[n[0]][n[1]]=="object"?i[n[0]][n[1]][n[2]]:null:n.length===4?s=i[n[0]][n[1]]&&typeof i[n[0]][n[1]]=="object"&&i[n[0]][n[1]][n[2]]?i[n[0]][n[1]][n[2]][n[3]]:null:n.length===5?s=i[n[0]][n[1]]&&typeof i[n[0]][n[1]]=="object"&&i[n[0]][n[1]][n[2]]&&i[n[0]][n[1]][n[2]][n[3]]?i[n[0]][n[1]][n[2]][n[3]][n[4]]:null:n.length===6&&(s=i[n[0]][n[1]]&&typeof i[n[0]][n[1]]=="object"&&i[n[0]][n[1]][n[2]]&&i[n[0]][n[1]][n[2]][n[3]]&&i[n[0]][n[1]][n[2]][n[3]][n[4]]?i[n[0]][n[1]][n[2]][n[3]][n[4]][n[5]]:null),s==null?null:s}return null}static setCustomValue(r,o,a){var n;if((n=r==null?void 0:r._id)!=null&&n.startsWith(`${o.adapter}.`)&&o.path.length>1){let s=o.path,i=r;if(i[s[0]]&&typeof i[s[0]]=="object"){if(s.length===2)return i[s[0]][s[1]]=a,!0;if(s.length===3){if(i[s[0]][s[1]]&&typeof i[s[0]][s[1]]=="object")return i[s[0]][s[1]][s[2]]=a,!0}else if(s.length===4){if(i[s[0]][s[1]]&&typeof i[s[0]][s[1]]=="object"&&i[s[0]][s[1]][s[2]]&&typeof i[s[0]][s[1]][s[2]]=="object")return i[s[0]][s[1]][s[2]][s[3]]=a,!0}else if(s.length===5){if(i[s[0]][s[1]]&&typeof i[s[0]][s[1]]=="object"&&i[s[0]][s[1]][s[2]]&&typeof i[s[0]][s[1]][s[2]]=="object"&&i[s[0]][s[1]][s[2]][s[3]]&&typeof i[s[0]][s[1]][s[2]][s[3]]=="object")return i[s[0]][s[1]][s[2]][s[3]][s[4]]=a,!0}else if(s.length===6&&i[s[0]][s[1]]&&typeof i[s[0]][s[1]]=="object"&&i[s[0]][s[1]][s[2]]&&typeof i[s[0]][s[1]][s[2]]=="object"&&i[s[0]][s[1]][s[2]][s[3]]&&typeof i[s[0]][s[1]][s[2]][s[3]]=="object"&&i[s[0]][s[1]][s[2]][s[3]][s[4]]&&typeof i[s[0]][s[1]][s[2]][s[3]][s[4]]=="object")return i[s[0]][s[1]][s[2]][s[3]][s[4]][s[5]]=a,!0}}return!1}renderCustomValue(r,o,a){let n=ti.getCustomValue(r,o);return n!=null?o.edit&&!this.props.notEditable&&(!o.objTypes||o.objTypes.includes(r.type))?C.default.createElement(Le,{component:"div",style:{...H.columnCustom,...H.columnCustomEditable,...H[`columnCustom_${o.align}`]},onClick:()=>this.setState({columnsEditCustomDialog:{item:a,it:o,obj:r},customColumnDialogValueChanged:!1})},n):C.default.createElement(Le,{component:"div",style:{...H.columnCustom,...H[`columnCustom_${o.align}`]}},n):null}renderAliasLink(r,o,a){let n=o||0,s=this.objects[this.info.aliasesMap[r][n]].common.alias.id;return s?C.default.createElement(Le,{component:"div",onClick:i=>{i.stopPropagation(),i.preventDefault();let p=this.info.aliasesMap[r][n];this.info.aliasesMap[r].length>1&&this.setState({aliasMenu:""}),this.onSelect(p),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(p)),100)},sx:a||this.styles.aliasAlone},C.default.createElement("span",{className:"admin-browser-arrow"},typeof s=="string"||s.read===r&&s.write===r?"\u2194":s.read===r?"\u2192":"\u2190"),this.info.aliasesMap[r][n]):null}renderLeaf(r,o,a){var We,ke,_e,He,Me,lt,Ye,ot,ft,Fe,Pe,Ze,qe,Ue;let n=r.data.id;a.count++,o=o===void 0?this.state.expanded.includes(n):o;let s,i=r.data.obj,p=i==null?void 0:i.type;r.children||p==="folder"||p==="device"||p==="channel"||p==="meta"?s=o?C.default.createElement(kf,{style:this.styles.cellIdIconFolder,onClick:()=>this.toggleExpanded(n)}):C.default.createElement(Bl,{style:this.styles.cellIdIconFolder,onClick:()=>this.toggleExpanded(n)}):i&&i.common&&i.common.write===!1&&i.type==="state"?s=C.default.createElement(f2,{style:this.styles.cellIdIconDocument}):s=C.default.createElement(u2,{style:this.styles.cellIdIconDocument});let l=null;r.data.icon&&(typeof r.data.icon=="string"?r.data.icon.length<3?l=C.default.createElement("span",{className:"iconOwn",style:H.cellIdIconOwn},r.data.icon):l=C.default.createElement(jo,{style:H.cellIdIconOwn,className:"iconOwn",src:r.data.icon,alt:""}):l=r.data.icon);let d=i==null?void 0:i.common,u=(i==null?void 0:i.type)&&k2[i.type]||C.default.createElement("div",{className:"itemIcon"}),f=this.levelPadding*(r.data.level||0);if(r.data.lang!==this.props.lang){let{rooms:ue,per:we}=NY(this.info,n,this.props.lang);r.data.rooms=ue.join(", "),r.data.per=we;let{funcs:Ne,pef:Ve}=IY(this.info,n,this.props.lang);r.data.funcs=Ne.join(", "),r.data.pef=Ve,r.data.lang=this.props.lang}let c=this.props.multiSelect&&this.objects[n]&&(!this.props.types||this.props.types.includes(this.objects[n].type))?C.default.createElement(jt,{style:H.checkBox,checked:this.state.selected.includes(n)}):null,h=!this.props.notEditable&&p==="state"&&(this.state.filter.expertMode||(d==null?void 0:d.write)!==!1);this.props.objectBrowserViewFile&&(d==null?void 0:d.type)==="file"&&(h=!0);let g=!this.props.notEditable&&this.objects[n]&&(this.state.filter.expertMode||p==="state"||p==="channel"||p==="device"),m=this.state.statesView&&(p==="state"||p==="channel"||p==="device"),x="",T=[];if(m&&(x=(We=this.states[n])==null?void 0:We.from,x===void 0?x=" ":(x=x?x.replace(/^system\.adapter\.|^system\./,""):"",T.push(`${this.texts.stateChangedFrom} ${x}`)),i!=null&&i.user)){let ue=i.user.replace("system.user.","");x+=`/${ue}`,T.push(`${this.texts.stateChangedBy} ${ue}`)}i&&(i.from&&T.push(`${this.texts.objectChangedFrom} ${i.from.replace(/^system\.adapter\.|^system\./,"")}`),i.user&&T.push(`${this.texts.objectChangedBy} ${i.user.replace(/^system\.user\./,"")}`),i.ts&&T.push(`${this.texts.objectChangedByUser} ${ve.formatDate(new Date(i.ts),this.props.dateFormat||this.systemConfig.common.dateFormat)}`));let b=!1,v=null;n.startsWith("alias.")&&((ke=d==null?void 0:d.alias)!=null&&ke.id)?(b=typeof d.alias.id=="object",b?v=C.default.createElement("div",{style:H.cellIdAliasReadWriteDiv},d.alias.id.read?C.default.createElement(Le,{component:"div",onClick:ue=>{ue.stopPropagation(),ue.preventDefault(),this.onSelect(d.alias.id.read),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(d.alias.id.read)),100)},sx:this.styles.aliasReadWrite},"\u2190",d.alias.id.read):null,d.alias.id.write?C.default.createElement(Le,{component:"div",onClick:ue=>{ue.stopPropagation(),ue.preventDefault(),this.onSelect(d.alias.id.write),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(d.alias.id.write)),100)},sx:this.styles.aliasReadWrite},"\u2192",d.alias.id.write):null):v=C.default.createElement(Le,{component:"div",onClick:ue=>{ue.stopPropagation(),ue.preventDefault(),this.onSelect(d.alias.id),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(d.alias.id)),100)},sx:this.styles.aliasAlone},"\u2192",d.alias.id)):this.info.aliasesMap[n]&&(this.info.aliasesMap[n].length>1?v=C.default.createElement(Le,{component:"div",id:`alias_${n}`,onClick:ue=>{ue.stopPropagation(),ue.preventDefault(),this.setState({aliasMenu:n})},sx:this.styles.aliasAlone},this.props.t("ra_%s links from aliases",this.info.aliasesMap[n].length)):v=this.renderAliasLink(n,0));let w=d==null?void 0:d.color,O;if(w&&!this.state.selected.includes(n)){let ue=this.props.themeName==="dark"?"#1f1f1f":this.props.themeName==="blue"?"#222a2e":"#FFFFFF";ve.colorDistance(w,ue)<1e3&&(O=this.props.themeType==="dark"?"#9a9a9a":"#565656")}let k=!1;n==="0_userdata"?(w=CY(this.props.themeType),k=!0):n==="alias"?(w=OY(this.props.themeType),k=!0):n==="javascript"?(w=cMe(this.props.themeType),k=!0):n==="system"?(w=kY(this.props.themeType),k=!0):n==="system.adapter"?w=EY(this.props.themeType):(!w||this.state.selected.includes(n))&&(w="inherit");let M=[];if(d!=null&&d.statusStates){let ue={};Object.keys(d.statusStates).forEach(Ne=>{var ht;let Ve=d.statusStates[Ne];Ve.split(".").length<3&&(Ve=`${n}.${Ve}`),ue[Ne]=Ve,this.states[Ve]?this.recordStates.includes(Ve)||this.recordStates.push(Ve):((ht=this.objects[Ve])==null?void 0:ht.type)==="state"&&(this.recordStates.includes(Ve)||this.recordStates.push(Ve),this.states[Ve]={val:null},this.subscribe(Ve))});let we=!1;d.statusStates.errorId&&this.states[ue.errorId]&&this.states[ue.errorId].val&&(w=this.props.themeType==="dark"?PY:RY,we=!0,M.push(C.default.createElement(RR,{key:"error",style:this.styles.iconDeviceError}))),ue.onlineId&&this.states[ue.onlineId]?we?this.states[ue.onlineId].val?M.push(C.default.createElement(sf,{key:"conn",style:this.styles.iconDeviceConnected})):M.push(C.default.createElement(Um,{key:"disc",style:this.styles.iconDeviceDisconnected})):this.states[ue.onlineId].val?(w=this.props.themeType==="dark"?T2:S2,M.push(C.default.createElement(sf,{key:"conn",style:this.styles.iconDeviceConnected}))):(w=this.props.themeType==="dark"?w2:_2,M.push(C.default.createElement(Um,{key:"disc",style:this.styles.iconDeviceDisconnected}))):ue.offlineId&&this.states[ue.offlineId]&&(we?this.states[ue.offlineId].val?M.push(C.default.createElement(Um,{key:"disc",style:this.styles.iconDeviceDisconnected})):M.push(C.default.createElement(sf,{key:"conn",style:this.styles.iconDeviceConnected})):this.states[ue.offlineId].val?(w=this.props.themeType==="dark"?w2:_2,M.push(C.default.createElement(Um,{key:"disc",style:this.styles.iconDeviceDisconnected}))):(w=this.props.themeType==="dark"?T2:S2,M.push(C.default.createElement(sf,{key:"conn",style:this.styles.iconDeviceConnected}))))}let N=m?ve.quality2text(((_e=this.states[n])==null?void 0:_e.q)||0).join(", "):null,S=((He=r.data)==null?void 0:He.title)||"",B=!1;if(this.state.showDescription){let ue=AY(r.data,this.props.lang);ue&&(S=[C.default.createElement("div",{key:"name",style:H.cellNameDivDiv},S),C.default.createElement("div",{key:"desc",style:H.cellDescription},ue)],B=!!ue)}let G=this.props.width==="xs"&&this.state.focused===n,J=C.default.createElement(en,{container:!0,wrap:"nowrap",direction:"row",sx:H.cellId,style:{width:this.columnsVisibility.id,paddingLeft:f}},C.default.createElement(en,{container:!0,alignItems:"center"},c,s),C.default.createElement(en,{style:{...H.cellIdSpan,...O?this.styles.invertedBackground:void 0,color:w,fontWeight:k?"bold":void 0}},C.default.createElement(Ir,{title:gMe(r.data,this.props.lang),slotProps:{popper:{sx:H.tooltip}}},C.default.createElement("div",null,r.data.name)),v,M),C.default.createElement("div",{style:{...H.grow,...O?this.styles.invertedBackgroundFlex:{}}}),C.default.createElement(en,{container:!0,alignItems:"center"},l),this.props.width!=="xs"?C.default.createElement("div",null,C.default.createElement(wd,{className:G?"":"copyButton",style:H.cellCopyButton,onClick:ue=>this.onCopy(ue,n)})):null),q=G&&S||this.columnsVisibility.name?C.default.createElement(Le,{component:"div",sx:{...H.cellName,...B?H.cellNameWithDesc:void 0,width:this.props.width!=="xs"?this.columnsVisibility.name:void 0,ml:G?0:"5px"}},S,!G&&((Me=r.data)!=null&&Me.title)?C.default.createElement(Le,{style:{color:w}},C.default.createElement(wd,{className:"copyButton",style:H.cellCopyButton,onClick:ue=>{var we;return this.onCopy(ue,(we=r.data)==null?void 0:we.title)}})):null):null,j;this.state.statesView?j=[G&&m&&((lt=this.states[n])!=null&<.from)||this.columnsVisibility.changedFrom?{el:C.default.createElement("div",{key:"from",style:{...H.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.changedFrom:void 0},title:T.join(` +`)},m&&((Ye=this.states[n])!=null&&Ye.from)?x:null),type:"from"}:null,G&&N||this.columnsVisibility.qualityCode?{el:C.default.createElement("div",{key:"q",style:{...H.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.qualityCode:void 0},title:N||""},N),type:"quality"}:null,G&&m&&((ot=this.states[n])!=null&&ot.ts)||this.columnsVisibility.timestamp?{el:C.default.createElement("div",{key:"ts",style:{...H.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.timestamp:void 0}},m&&((ft=this.states[n])!=null&&ft.ts)?ve.formatDate(new Date(this.states[n].ts),this.props.dateFormat||this.systemConfig.common.dateFormat):null),type:"ts"}:null,G&&m&&((Fe=this.states[n])!=null&&Fe.lc)||this.columnsVisibility.lastChange?{el:C.default.createElement("div",{key:"lc",style:{...H.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.lastChange:void 0}},m&&((Pe=this.states[n])!=null&&Pe.lc)?ve.formatDate(new Date(this.states[n].lc),this.props.dateFormat||this.systemConfig.common.dateFormat):null),type:"lc"}:null]:j=[G&&(i!=null&&i.type)||this.columnsVisibility.type?{el:C.default.createElement("div",{key:"type",style:{...H.cellType,width:this.props.width!=="xs"?this.columnsVisibility.type:void 0}},u,"\xA0",i==null?void 0:i.type),type:"filter_type"}:null,G&&d||this.columnsVisibility.role?{el:C.default.createElement("div",{key:"role",style:{...H.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.role:"100%",cursor:this.state.filter.expertMode&&g&&this.props.objectBrowserEditRole?"text":"default"},onClick:!G&&this.state.filter.expertMode&&g&&this.props.objectBrowserEditRole?()=>this.setState({roleDialog:r.data.id}):void 0},d==null?void 0:d.role),type:"filter_role",onClick:G&&this.state.filter.expertMode&&g&&this.props.objectBrowserEditRole?()=>this.setState({roleDialog:r.data.id}):void 0}:null,G&&d||this.columnsVisibility.room?{el:C.default.createElement("div",{key:"room",style:{...H.cellRoom,...r.data.per?H.cellEnumParent:{},width:this.props.width!=="xs"?this.columnsVisibility.room:"100%",cursor:g?"text":"default"},onClick:!G&&g?()=>{let ue=Ph(this.info,r.data.id,"roomEnums");this.setState({enumDialogEnums:ue,enumDialog:{item:r,type:"room",enumsOriginal:JSON.stringify(ue)}})}:void 0},r.data.rooms),type:"filter_room",onClick:G&&g?()=>{let ue=Ph(this.info,r.data.id,"roomEnums");this.setState({enumDialogEnums:ue,enumDialog:{item:r,type:"room",enumsOriginal:JSON.stringify(ue)}})}:void 0}:null,G&&d||this.columnsVisibility.func?{el:C.default.createElement("div",{key:"func",style:{...H.cellFunc,...r.data.pef?H.cellEnumParent:{},width:this.props.width!=="xs"?this.columnsVisibility.func:"100%",cursor:g?"text":"default"},onClick:!G&&g?()=>{let ue=Ph(this.info,r.data.id,"funcEnums");this.setState({enumDialogEnums:ue,enumDialog:{item:r,type:"func",enumsOriginal:JSON.stringify(ue)}})}:void 0},r.data.funcs),type:"filter_func",onClick:G&&g?()=>{let ue=Ph(this.info,r.data.id,"funcEnums");this.setState({enumDialogEnums:ue,enumDialog:{item:r,type:"func",enumsOriginal:JSON.stringify(ue)}})}:void 0}:null];let X=((Ze=this.adapterColumns)==null?void 0:Ze.map(ue=>C.default.createElement("div",{style:{...H.cellAdapter,width:this.props.width!=="xs"?this.columnsVisibility[ue.id]:void 0},key:ue.id,title:`${ue.adapter} => ${ue.pathText}`},i?this.renderCustomValue(i,ue,r):null)))||null,le=G||this.columnsVisibility.val?this.renderColumnValue(n,r,G):null,ae=G&&le||this.columnsVisibility.val?C.default.createElement("div",{style:{...H.cellValue,width:this.props.width!=="xs"?this.columnsVisibility.val:"calc(100% - 100px)",cursor:h?(d==null?void 0:d.type)==="file"?"zoom-in":r.data.button?"grab":"text":"default"},onClick:h?()=>{!i||!this.states||((d==null?void 0:d.type)==="file"?this.setState({viewFileDialog:n}):!this.state.filter.expertMode&&r.data.button?this.props.socket.setState(n,!0).catch(ue=>window.alert(`Cannot write state "${n}": ${ue}`)):!this.state.filter.expertMode&&r.data.switch?this.props.socket.setState(n,!this.states[n].val).catch(ue=>window.alert(`Cannot write state "${n}": ${ue}`)):(this.edit={val:this.states[n]?this.states[n].val:"",q:this.states[n]&&this.states[n].q||0,ack:!1,id:n},this.setState({updateOpened:!0})))}:void 0},le):null,de=G||this.columnsVisibility.buttons?C.default.createElement("div",{style:{...H.cellButtons,width:this.props.width!=="xs"?this.columnsVisibility.buttons:void 0}},this.renderColumnButtons(n,r)):null,Be=null;if(this.props.width==="xs"&&this.state.focused===n){j=j.filter(we=>we);let ue;j.length?ue=j.map(we=>we?C.default.createElement("div",{key:we.type,style:H.cellDetailsLine},C.default.createElement("span",{style:H.cellDetailsName},this.texts[we.type],":"),we.el,C.default.createElement("div",{style:{flexGrow:1}}),we.onClick?C.default.createElement(af,{style:H.cellCopyButtonInDetails,onClick:()=>{we!=null&&we.onClick&&we.onClick()}}):null):null):ue=null,X.length||(X=null),Be=C.default.createElement(Ar,{style:{width:"100%",display:"flex",flexDirection:"column",padding:10,backgroundColor:this.props.theme.palette.mode==="dark"?"#333":"#ccc"}},C.default.createElement("div",{style:H.cellDetailsLine},C.default.createElement("div",{style:{flexGrow:1}}),C.default.createElement(wd,{style:H.cellCopyButtonInDetails,onClick:we=>this.onCopy(we,n)})),q&&C.default.createElement("div",{style:H.cellDetailsLine},C.default.createElement("span",{style:H.cellDetailsName},this.texts.name,":"),q,C.default.createElement("div",{style:{flexGrow:1}}),(qe=r.data)!=null&&qe.title?C.default.createElement(wd,{className:"copyButton",style:H.cellCopyButtonInDetails,onClick:we=>{var Ne;return this.onCopy(we,(Ne=r.data)==null?void 0:Ne.title)}}):null),ue,X&&C.default.createElement("div",{style:H.cellDetailsLine},X),((Ue=this.objects[n])==null?void 0:Ue.type)==="state"&&C.default.createElement("div",{style:H.cellDetailsLine},C.default.createElement("span",{style:H.cellDetailsName},this.texts.value,":"),ae,C.default.createElement("div",{style:{flexGrow:1}}),C.default.createElement(wd,{className:"copyButton",style:H.cellCopyButtonInDetails,onClick:we=>{let{valText:Ne}=b2({state:this.states[n],obj:this.objects[n],texts:this.texts,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma});this.onCopy(we,Ne.v.toString())},key:"cc"})),de&&C.default.createElement("div",{style:{...H.cellDetailsLine,justifyContent:"right"}},de)),q=null,j=null,X=null,ae=null,de=null}return{row:C.default.createElement(en,{container:!0,direction:"row",wrap:"nowrap",sx:ve.getStyle(this.props.theme,H.tableRow,this.state.linesEnabled&&H.tableRowLines,!this.props.dragEnabled&&H.tableRowNoDragging,v&&H.tableRowAlias,b&&H.tableRowAliasReadWrite,this.state.focused===n&&this.props.multiSelect&&H.tableRowFocused,!r.data.visible&&H.filteredOut,r.data.hasVisibleParent&&!r.data.visible&&!r.data.hasVisibleChildren&&H.filteredParentOut,this.state.selected.includes(n)&&H.itemSelected,this.state.selectedNonObject===n&&H.itemSelected),key:n,id:n,onMouseDown:ue=>{this.onSelect(n);let we;"which"in ue?we=ue.which===3:"button"in ue&&(we=ue.button===2),we?this.contextMenu={item:r,ts:Date.now()}:this.contextMenu=null},onDoubleClick:()=>{r.children?this.toggleExpanded(n):this.onSelect(n,!0)}},J,q,j==null?void 0:j.map(ue=>ue==null?void 0:ue.el),X,ae,de),details:Be}}renderItem(r,o,a){let n=[];a=a||{count:0};let s=this.renderLeaf(r,o,a),i,p=this.props.DragWrapper;return this.props.dragEnabled&&p?r.data.sumVisibility?i=C.default.createElement(p,{key:r.data.id,item:r,style:H.draggable},s.row):i=C.default.createElement("div",{key:r.data.id,style:H.nonDraggable},s.row):i=s.row,r.data.id&&i&&n.push(i),s.details&&n.push(s.details),o=o===void 0?mv(this.state.expanded,r.data.id):o,(!r.data.id||o)&&(this.state.foldersFirst?r.children&&(n.push(r.children.map(l=>l.children&&(!this.state.columnsSelectorShow||a.count<15)&&l.data.sumVisibility?this.renderItem(l,void 0,a):null)),n.push(r.children.map(l=>!l.children&&(!this.state.columnsSelectorShow||a.count<15)&&l.data.sumVisibility?this.renderItem(l,void 0,a):null))):r.children&&n.push(r.children.map(l=>(!this.state.columnsSelectorShow||a.count<15)&&l.data.sumVisibility?this.renderItem(l,void 0,a):null))),n}calculateColumnsVisibility(r,o,a,n){let s=n||this.state.columnsWidths,i=a||this.state.columnsForAdmin,p=o||this.state.columns||[],l=typeof r!="boolean"?this.state.columnsAuto:r;s=JSON.parse(JSON.stringify(s)),Object.keys(s).forEach(u=>{s[u]&&(s[u]=parseInt(s[u],10)||0)}),this.adapterColumns=[];let d=ro[this.props.width||"lg"].widths;if(l){if(this.columnsVisibility={id:ro[this.props.width||"lg"].idWidth,name:this.visibleCols.includes("name")&&d.name||0,nameHeader:this.visibleCols.includes("name")&&d.name||0,type:this.visibleCols.includes("type")&&d.type||0,role:this.visibleCols.includes("role")&&d.role||0,room:this.visibleCols.includes("room")&&d.room||0,func:this.visibleCols.includes("func")&&d.func||0,changedFrom:this.visibleCols.includes("changedFrom")&&d.changedFrom||0,qualityCode:this.visibleCols.includes("qualityCode")&&d.qualityCode||0,timestamp:this.visibleCols.includes("timestamp")&&d.timestamp||0,lastChange:this.visibleCols.includes("lastChange")&&d.lastChange||0,val:this.visibleCols.includes("val")&&d.val||0,buttons:this.visibleCols.includes("buttons")&&d.buttons||0},this.columnsVisibility.name&&!this.customWidth){let u=this.columnsVisibility.id||0;this.state.statesView?(u+=this.columnsVisibility.changedFrom||0,u+=this.columnsVisibility.qualityCode||0,u+=this.columnsVisibility.timestamp||0,u+=this.columnsVisibility.lastChange||0):(u+=this.columnsVisibility.type||0,u+=this.columnsVisibility.role||0,u+=this.columnsVisibility.room||0,u+=this.columnsVisibility.func||0),u+=this.columnsVisibility.val||0,u+=this.columnsVisibility.buttons||0,this.columnsVisibility.name=`calc(100% - ${u+5}px)`,this.columnsVisibility.nameHeader=`calc(100% - ${u+5+this.state.scrollBarWidth}px)`}else if(!this.customWidth){let u=0;this.state.statesView?(u+=this.columnsVisibility.changedFrom||0,u+=this.columnsVisibility.qualityCode||0,u+=this.columnsVisibility.timestamp||0,u+=this.columnsVisibility.lastChange||0):(u+=this.columnsVisibility.type||0,u+=this.columnsVisibility.role||0,u+=this.columnsVisibility.room||0,u+=this.columnsVisibility.func||0),u+=this.columnsVisibility.val||0,u+=this.columnsVisibility.buttons||0,this.columnsVisibility.id=`calc(100% - ${u+5}px)`}}else{let u=this.props.width||"lg";this.columnsVisibility={id:s.id||ro[u].idWidth,name:p.includes("name")&&(s.name||d.name||ro[u].widths.name)||0,type:p.includes("type")&&(s.type||d.type||ro[u].widths.type)||0,role:p.includes("role")&&(s.role||d.role||ro[u].widths.role)||0,room:p.includes("room")&&(s.room||d.room||ro[u].widths.room)||0,func:p.includes("func")&&(s.func||d.func||ro[u].widths.func)||0};let f=this.columnsVisibility.id;if(this.columnsVisibility.name&&(f+=this.columnsVisibility.type||0,f+=this.columnsVisibility.role||0,f+=this.columnsVisibility.room||0,f+=this.columnsVisibility.func||0),i&&p&&Object.keys(i).sort().forEach(c=>i[c].forEach(h=>{let g=`_${c}_${h.path}`;if(p.includes(g)){let m={adapter:c,id:`_${c}_${h.path}`,name:h.name,path:h.path.split("."),pathText:h.path};h.edit&&(m.edit=!0,h.type&&(m.type=h.type),h.objTypes&&(m.objTypes=h.objTypes)),this.adapterColumns.push(m),this.columnsVisibility[g]=s[m.id]||h.width||ro[u].widths.func||ro.xl.widths.func||0,f+=this.columnsVisibility[g]}else this.columnsVisibility[g]=0})),this.adapterColumns.sort((c,h)=>c.id>h.id?-1:c.idg==="id"||typeof this.columnsVisibility[g]=="string"||!this.columnsVisibility[g]?h:h+this.columnsVisibility[g],0);this.columnsVisibility.id=`calc(100% - ${c}px)`}}}navigateKeyPress(r){var a,n;let o=this.state.selectedNonObject||this.state.selected[0];if(o){if(r.code==="ArrowUp"||r.code==="ArrowDown"){r.preventDefault();let s=[];(a=this.tableRef.current)==null||a.childNodes.forEach(d=>s.push(d.id));let i=s.indexOf(o),p=r.code==="ArrowDown"?i+1:i-1,l=s[p]||o;this.onSelect(l),this.scrollToItem(l)}if((r.code==="ArrowRight"||r.code==="ArrowLeft")&&this.toggleExpanded(o),r.code==="Delete"&&this.root&&o){let s=ti.getItemFromRoot(this.root,o);if(s){let{obj:i}=s.data;i&&!((n=i.common)!=null&&n.dontDelete)&&this.showDeleteDialog({id:o,obj:i,item:s})}}}}static getItemFromRoot(r,o){let a=o.split("."),n="",s=r;for(let i=0;ithis.clearFilter(),style:H.buttonClearFilter,title:this.props.t("ra_Clear filter"),size:"large"},C.default.createElement(m2,null),C.default.createElement($r,{style:H.buttonClearFilterIcon}))),this.props.width==="xs"?C.default.createElement("div",{style:H.headerRow},C.default.createElement("div",{style:{...H.headerCell,width:"100%"}},this.getFilterInput("id"))):C.default.createElement("div",{style:H.headerRow},C.default.createElement("div",{style:{...H.headerCell,width:this.columnsVisibility.id,position:"relative"},"data-min":240,"data-name":"id"},this.getFilterInput("id"),this.renderHandleRight()),this.columnsVisibility.name?C.default.createElement("div",{style:{...H.headerCell,width:this.columnsVisibility.nameHeader,position:"relative"},"data-min":100,"data-name":"nameHeader"},this.getFilterInput("name"),this.renderHandleRight()):null,!this.state.statesView&&C.default.createElement(C.default.Fragment,null,this.columnsVisibility.type?C.default.createElement("div",{style:{...H.headerCell,width:this.columnsVisibility.type,position:"relative"},"data-min":100,"data-name":"type"},this.getFilterSelectType(),this.renderHandleRight()):null,this.columnsVisibility.role?C.default.createElement("div",{style:{...H.headerCell,width:this.columnsVisibility.role,position:"relative"},"data-min":100,"data-name":"role"},this.getFilterSelectRole(),this.renderHandleRight()):null,this.columnsVisibility.room?C.default.createElement("div",{style:{...H.headerCell,width:this.columnsVisibility.room,position:"relative"},"data-min":100,"data-name":"room"},this.getFilterSelectRoom(),this.renderHandleRight()):null,this.columnsVisibility.func?C.default.createElement("div",{style:{...H.headerCell,width:this.columnsVisibility.func,position:"relative"},"data-min":100,"data-name":"func"},this.getFilterSelectFunction(),this.renderHandleRight()):null),this.state.statesView&&C.default.createElement(C.default.Fragment,null,C.default.createElement("div",{style:{...H.headerCell,...H.headerCellValue,width:this.columnsVisibility.changedFrom,position:"relative"},"data-min":100,"data-name":"changedFrom"},this.props.t("ra_Changed from"),this.renderHandleRight()),C.default.createElement("div",{style:{...H.headerCell,...H.headerCellValue,width:this.columnsVisibility.qualityCode,position:"relative"},"data-min":100,"data-name":"qualityCode"},this.props.t("ra_Quality code"),this.renderHandleRight()),C.default.createElement("div",{style:{...H.headerCell,...H.headerCellValue,width:this.columnsVisibility.timestamp,position:"relative"},"data-min":100,"data-name":"timestamp"},this.props.t("ra_Timestamp"),this.renderHandleRight()),C.default.createElement("div",{style:{...H.headerCell,...H.headerCellValue,width:this.columnsVisibility.lastChange,position:"relative"},"data-min":100,"data-name":"lastChange"},this.props.t("ra_Last change"),this.renderHandleRight())),this.adapterColumns.map(o=>C.default.createElement("div",{style:{...H.headerCell,...H.headerCellValue,width:this.columnsVisibility[o.id]},title:o.adapter,key:o.id,"data-min":100,"data-name":o.id},o.name)),this.columnsVisibility.val?C.default.createElement("div",{style:{...H.headerCell,...H.headerCellValue,width:this.columnsVisibility.val,position:"relative"},"data-min":120,"data-name":"val"},this.props.t("ra_Value"),r):null,this.columnsVisibility.buttons?C.default.createElement("div",{title:this.texts.filter_custom,style:{...H.headerCell,width:this.columnsVisibility.buttons}}," ",this.getFilterSelectCustoms()):null)}renderToast(){return C.default.createElement(tf,{open:!!this.state.toast,autoHideDuration:3e3,onClick:()=>this.setState({toast:""}),onClose:()=>this.setState({toast:""}),message:this.state.toast,action:C.default.createElement(nt,{size:"small","aria-label":"close",color:"inherit",onClick:()=>this.setState({toast:""})},C.default.createElement($r,{fontSize:"small"}))})}componentDidUpdate(){if(this.tableRef.current){let r=this.tableRef.current.offsetWidth-this.tableRef.current.clientWidth;this.state.scrollBarWidth!==r?setTimeout(()=>this.setState({scrollBarWidth:r}),100):this.selectFirst&&this.scrollToItem(this.selectFirst)}}scrollToItem(r){this.selectFirst="";let o=window.document.getElementById(r);o==null||o.scrollIntoView({behavior:"auto",block:"center",inline:"center"})}renderCustomDialog(){if(this.state.customDialog&&this.props.objectCustomDialog){let r=this.props.objectCustomDialog;return C.default.createElement(r,{reportChangedIds:o=>this.changedIds=[...o],objectIDs:this.state.customDialog,allVisibleObjects:!!this.state.customDialogAll,expertMode:this.state.filter.expertMode,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,t:this.props.t,lang:this.props.lang,socket:this.props.socket,themeName:this.props.themeName,themeType:this.props.themeType,theme:this.props.theme,objects:this.objects,customsInstances:this.info.customs,onClose:()=>{var o;this.pauseSubscribe(!1),this.setState({customDialog:null}),this.changedIds&&(this.changedIds=null,this.forceUpdate()),(o=this.props.router)==null||o.doNavigate("tab-objects")},systemConfig:this.systemConfig})}return null}onUpdate(r){this.props.socket.setState(this.edit.id,{val:r.val,ack:r.ack,q:r.q||0,expire:r.expire||void 0}).catch(o=>this.showError(`Cannot write value: ${o}`))}renderEditObjectDialog(){if(!this.state.editObjectDialog||!this.props.objectBrowserEditObject)return null;let r=this.props.objectBrowserEditObject;return C.default.createElement(r,{key:this.state.editObjectDialog,obj:this.objects[this.state.editObjectDialog],roleArray:this.info.roles,objects:this.objects,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,themeType:this.props.themeType,theme:this.props.theme,socket:this.props.socket,dialogName:this.props.dialogName,aliasTab:this.state.editObjectAlias,t:this.props.t,expertMode:!!this.state.filter.expertMode,onNewObject:o=>this.props.socket.setObject(o._id,o).then(()=>this.setState({editObjectDialog:o._id,editObjectAlias:!1},()=>this.onSelect(o._id))).catch(a=>this.showError(`Cannot write object: ${a}`)),onClose:o=>{var a,n;if(o){let s;this.state.editObjectDialog.startsWith("alias.")&&JSON.stringify((a=this.objects[this.state.editObjectDialog].common)==null?void 0:a.alias)!==JSON.stringify((n=o.common)==null?void 0:n.alias)&&(s=this.state.editObjectDialog),this.props.socket.setObject(o._id,o).then(()=>{s&&this.subscribes.includes(s)&&(this.unsubscribe(s),setTimeout(()=>this.subscribe(s),100))}).catch(i=>this.showError(`Cannot write object: ${i}`))}this.setState({editObjectDialog:"",editObjectAlias:!1})},width:this.props.width})}renderViewObjectFileDialog(){if(!this.state.viewFileDialog||!this.props.objectBrowserViewFile)return null;let r=this.props.objectBrowserViewFile;return C.default.createElement(r,{key:"viewFile",obj:this.objects[this.state.viewFileDialog],socket:this.props.socket,t:this.props.t,onClose:()=>this.setState({viewFileDialog:""})})}renderAliasEditorDialog(){if(!this.props.objectBrowserAliasEditor||!this.state.showAliasEditor)return null;let r=this.props.objectBrowserAliasEditor;return C.default.createElement(r,{key:"editAlias",obj:this.objects[this.state.showAliasEditor],objects:this.objects,socket:this.props.socket,t:this.props.t,onClose:()=>this.setState({showAliasEditor:""}),onRedirect:(o,a)=>setTimeout(()=>this.onSelect(o,!1,()=>this.expandAllSelected(()=>{this.scrollToItem(o),setTimeout(()=>this.setState({editObjectDialog:o,showAliasEditor:"",editObjectAlias:!0}),300)})),a||0)})}showAddDataPointDialog(r,o,a){this.setState({showContextMenu:null,modalNewObj:{id:r,initialType:o,initialStateType:a}})}renderAliasMenu(){return this.state.aliasMenu?C.default.createElement(Mi,{key:"aliasmenu",open:!0,anchorEl:window.document.getElementById(`alias_${this.state.aliasMenu}`),onClose:()=>this.setState({aliasMenu:""})},this.info.aliasesMap[this.state.aliasMenu].map((r,o)=>C.default.createElement(Mt,{key:r,onClick:()=>this.onSelect(r)},C.default.createElement(ps,null,this.renderAliasLink(this.state.aliasMenu,o,{"& .admin-browser-arrow":{mr:"8px"}}))))):null}renderContextMenu(){var c,h,g,m,x,T,b;if(!this.state.showContextMenu)return null;let r=this.state.showContextMenu.item,o=r.data.id,a=[],n=r.data.obj,s="";if(this.props.objectEditOfAccessControl&&this.state.filter.expertMode)if(!n)s="---";else{let v=n.acl?n.type==="state"?n.acl.state:n.acl.object:0,w=n.acl&&(n.type==="state"?this.systemConfig.common.defaultNewAcl.state:this.systemConfig.common.defaultNewAcl.object);s=Number.isNaN(Number(v))?Number(w).toString(16):Number(v).toString(16)}let i=!this.props.notEditable&&n&&(this.state.filter.expertMode||n.type==="state"||n.type==="channel"||n.type==="device"),p=!r.data.obj||r.data.obj.type==="folder"||r.data.obj.type==="channel"||r.data.obj.type==="device"||r.data.id==="0_userdata.0"||r.data.obj.type==="meta",l=!r.data.obj||r.data.obj.type==="folder"||r.data.obj.type==="device"||r.data.id==="0_userdata.0"||r.data.obj.type==="meta",d=!r.data.obj||r.data.obj.type==="folder"||r.data.id==="0_userdata.0"||r.data.obj.type==="meta",u=!r.data.obj||r.data.obj.type==="folder"||r.data.id==="0_userdata.0"||r.data.obj.type==="meta",f={EDIT:{key:"0",visibility:!!(this.props.objectBrowserEditObject&&n&&(this.state.filter.expertMode||ti.isNonExpertId(o))),icon:C.default.createElement(af,{fontSize:"small",style:this.styles.contextMenuEdit}),label:this.texts.editObject,onClick:()=>this.setState({editObjectDialog:r.data.id,showContextMenu:null,editObjectAlias:!1})},EDIT_VALUE:{key:"1",visibility:!!(this.states&&!this.props.notEditable&&n&&n.type==="state"&&((c=n.common)==null?void 0:c.type)!=="file"&&(this.state.filter.expertMode||n.common.write!==!1)),icon:C.default.createElement(IR,{fontSize:"small",style:this.styles.contextMenuEditValue}),label:this.props.t("ra_Edit value"),onClick:()=>{this.edit={val:this.states[o]?this.states[o].val:"",q:this.states[o]&&this.states[o].q||0,ack:!1,id:o},this.setState({updateOpened:!0,showContextMenu:null})}},VIEW:{visibility:!!this.props.objectBrowserViewFile&&(n==null?void 0:n.type)==="state"&&((h=n.common)==null?void 0:h.type)==="file",icon:C.default.createElement(DR,{fontSize:"small",style:this.styles.contextMenuView}),label:this.props.t("ra_View file"),onClick:()=>this.setState({viewFileDialog:(n==null?void 0:n._id)||"",showContextMenu:null})},CUSTOM:{key:"2",visibility:!(this.props.objectCustomDialog&&this.info.hasSomeCustoms&&n&&n.type==="state"&&((g=n.common)==null?void 0:g.type)!=="file"),icon:C.default.createElement(Dy,{fontSize:"small",style:r.data.hasCustoms?this.styles.cellButtonsButtonWithCustoms:H.cellButtonsButtonWithoutCustoms}),style:this.styles.contextMenuCustom,label:this.texts.customConfig,onClick:()=>{var v;this.pauseSubscribe(!0),(v=this.props.router)==null||v.doNavigate(null,"customs",o),this.setState({customDialog:[o],showContextMenu:null})}},ACL:{key:"3",visibility:!!s,icon:s,iconStyle:{fontSize:"smaller"},listItemIconStyle:this.styles.contextMenuACL,style:this.styles.contextMenuACL,label:this.props.t("ra_Edit ACL"),onClick:()=>this.setState({showContextMenu:null,modalEditOfAccess:!0,modalEditOfAccessObjData:r.data})},ROLE:{key:"4",visibility:!!(this.state.filter.expertMode&&i&&this.props.objectBrowserEditRole),icon:C.default.createElement(_R,{fontSize:"small",style:this.styles.contextMenuRole}),label:this.props.t("ra_Edit role"),onClick:()=>this.setState({roleDialog:r.data.id,showContextMenu:null})},FUNCTION:{key:"5",visibility:!!i,icon:C.default.createElement(TR,{fontSize:"small",style:this.styles.contextMenuRole}),label:this.props.t("ra_Edit function"),onClick:()=>{let v=Ph(this.info,r.data.id,"funcEnums");this.setState({enumDialogEnums:v,enumDialog:{item:r,type:"func",enumsOriginal:JSON.stringify(v)},showContextMenu:null})}},ROOM:{key:"6",visibility:!!i,icon:C.default.createElement(kR,{fontSize:"small",style:this.styles.contextMenuRoom}),label:this.props.t("ra_Edit room"),onClick:()=>{let v=Ph(this.info,r.data.id,"roomEnums");this.setState({enumDialogEnums:v,enumDialog:{item:r,type:"room",enumsOriginal:JSON.stringify(v)},showContextMenu:null})}},ALIAS:{key:"7",visibility:!!(!this.props.notEditable&&this.props.objectBrowserAliasEditor&&this.props.objectBrowserEditObject&&(n==null?void 0:n.type)==="state"&&((m=n.common)==null?void 0:m.type)!=="file"),icon:C.default.createElement(p_,{style:(x=n==null?void 0:n.common)!=null&&x.alias?this.styles.cellButtonsButtonWithCustoms:H.cellButtonsButtonWithoutCustoms}),label:this.info.aliasesMap[r.data.id]||r.data.id.startsWith("alias.0.")?this.props.t("ra_Edit alias"):this.props.t("ra_Create alias"),onClick:()=>{var v;(v=n==null?void 0:n.common)!=null&&v.alias?this.setState({showContextMenu:null,editObjectDialog:r.data.id,editObjectAlias:!0}):this.setState({showContextMenu:null,showAliasEditor:r.data.id})}},CREATE:{key:"+",visibility:(r.data.id.startsWith("0_userdata.0")||r.data.id.startsWith("javascript."))&&(p||l||d||u),icon:C.default.createElement(i_,{fontSize:"small",style:this.styles.cellButtonsButtonWithCustoms}),style:H.contextMenuWithSubMenu,label:this.texts.create,subMenu:[{label:this.texts.createBooleanState,visibility:p,icon:C.default.createElement(Af,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"state","boolean")},{label:this.texts.createNumberState,visibility:p,icon:C.default.createElement(Af,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"state","number")},{label:this.texts.createStringState,visibility:p,icon:C.default.createElement(Af,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"state","string")},{label:this.texts.createState,visibility:p,icon:C.default.createElement(Af,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"state")},{label:this.texts.createChannel,visibility:l,icon:C.default.createElement(H0,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"channel")},{label:this.texts.createDevice,visibility:d,icon:C.default.createElement(V0,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(r.data.id,"device")},{label:this.texts.createFolder,icon:C.default.createElement(Py,{fontSize:"small"}),visibility:u,onClick:()=>this.showAddDataPointDialog(r.data.id,"folder")}]},DELETE:{key:"Delete",visibility:!!(this.props.onObjectDelete&&((T=r.children)!=null&&T.length||n&&!((b=n.common)!=null&&b.dontDelete))),icon:C.default.createElement(Hs,{fontSize:"small",style:this.styles.contextMenuDelete}),style:this.styles.contextMenuDelete,label:this.texts.deleteObject,onClick:()=>this.setState({showContextMenu:null},()=>this.showDeleteDialog({id:o,obj:n||{},item:r}))}};return Object.keys(f).forEach(v=>{var w,O;f[v].visibility&&(f[v].subMenu?(a.push(C.default.createElement(Mt,{key:v,href:"",onClick:k=>this.state.showContextMenu&&this.setState({showContextMenu:{item:this.state.showContextMenu.item,position:this.state.showContextMenu.position,subItem:v,subAnchor:k.target}}),style:f[v].style},C.default.createElement(Ai,{style:{...f[v].iconStyle,...f[v].listItemIconStyle}},f[v].icon),C.default.createElement(ps,null,f[v].label,"..."),C.default.createElement("div",{style:{...H.contextMenuKeys,opacity:1}},C.default.createElement(yR,null)))),((w=this.state.showContextMenu)==null?void 0:w.subItem)===v&&a.push(C.default.createElement(Mi,{key:"subContextMenu",open:!0,anchorEl:this.state.showContextMenu.subAnchor,onClose:()=>{this.state.showContextMenu&&this.setState({showContextMenu:{item:this.state.showContextMenu.item,position:this.state.showContextMenu.position}}),this.contextMenu=null}},(O=f[v].subMenu)==null?void 0:O.map(k=>k.visibility?C.default.createElement(Mt,{key:k.label,onClick:k.onClick,style:k.style},C.default.createElement(Ai,{style:{...k.iconStyle,...k.listItemIconStyle||void 0}},k.icon),C.default.createElement(ps,null,k.label)):null)))):a.push(C.default.createElement(Mt,{key:v,onClick:f[v].onClick,sx:f[v].style},C.default.createElement(Ai,{style:{...f[v].iconStyle,...f[v].listItemIconStyle}},f[v].icon),C.default.createElement(ps,null,f[v].label),f[v].key?C.default.createElement("div",{style:H.contextMenuKeys},`Alt+${f[v].key==="Delete"?this.props.t("ra_Del"):f[v].key}`):null)))}),a.length?C.default.createElement(Mi,{key:"contextMenu",open:!0,onKeyUp:v=>{v.preventDefault(),v.altKey&&Object.keys(f).forEach(w=>{v.key===f[w].key&&f[w].onClick&&f[w].onClick()})},anchorReference:"anchorPosition",anchorPosition:this.state.showContextMenu.position,onClose:()=>{this.setState({showContextMenu:null}),this.contextMenu=null}},a):(setTimeout(()=>this.setState({showContextMenu:null}),100),null)}renderEditValueDialog(){var n;if(!this.state.updateOpened||!this.props.objectBrowserValue)return null;if(!this.edit.id)return console.error(`Invalid ID for edit: ${JSON.stringify(this.edit)}`),null;if(!this.objects[this.edit.id])return console.error(`Something went wrong. Possibly the object ${this.edit.id} was deleted.`),null;let r=(n=this.objects[this.edit.id].common)!=null&&n.type?this.objects[this.edit.id].common.type:typeof this.edit.val,o=this.objects[this.edit.id].common.role,a=this.props.objectBrowserValue;return C.default.createElement(a,{t:this.props.t,lang:this.props.lang,type:r,role:o||"",states:ve.getStates(this.objects[this.edit.id]),themeType:this.props.themeType,theme:this.props.theme,expertMode:!!this.state.filter.expertMode,value:this.edit.val,socket:this.props.socket,object:this.objects[this.edit.id],defaultHistory:this.defaultHistory,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,onClose:s=>{this.setState({updateOpened:!1}),s&&this.onUpdate(s)},width:this.props.width})}render(){this.recordStates=[],this.unsubscribeTimer&&clearTimeout(this.unsubscribeTimer),this.styleTheme!==this.props.themeType&&(this.styles={cellIdIconFolder:ve.getStyle(this.props.theme,H.cellIdIconFolder),cellIdIconDocument:ve.getStyle(this.props.theme,H.cellIdIconDocument),iconDeviceError:ve.getStyle(this.props.theme,H.iconDeviceError),iconDeviceConnected:ve.getStyle(this.props.theme,H.iconDeviceConnected),iconDeviceDisconnected:ve.getStyle(this.props.theme,H.iconDeviceDisconnected),cellButtonsButtonWithCustoms:ve.getStyle(this.props.theme,H.cellButtonsButtonWithCustoms),invertedBackground:ve.getStyle(this.props.theme,H.invertedBackground),invertedBackgroundFlex:ve.getStyle(this.props.theme,H.invertedBackgroundFlex),contextMenuEdit:ve.getStyle(this.props.theme,H.contextMenuEdit),contextMenuEditValue:ve.getStyle(this.props.theme,H.contextMenuEditValue),contextMenuView:ve.getStyle(this.props.theme,H.contextMenuView),contextMenuCustom:ve.getStyle(this.props.theme,H.contextMenuCustom),contextMenuACL:ve.getStyle(this.props.theme,H.contextMenuACL),contextMenuRoom:ve.getStyle(this.props.theme,H.contextMenuRoom),contextMenuRole:ve.getStyle(this.props.theme,H.contextMenuRole),contextMenuDelete:ve.getStyle(this.props.theme,H.contextMenuDelete),filterInput:ve.getStyle(this.props.theme,H.headerCellInput,H.filterInput),iconCopy:ve.getStyle(this.props.theme,H.cellButtonsValueButton,H.cellButtonsValueButtonCopy),aliasReadWrite:ve.getStyle(this.props.theme,H.cellIdAlias,H.cellIdAliasReadWrite),aliasAlone:ve.getStyle(this.props.theme,H.cellIdAlias,H.cellIdAliasAlone)},this.styleTheme=this.props.themeType);let r=JSON.stringify(this.state.filter);if(this.lastAppliedFilter!==r&&this.objects&&this.root){let a={count:0};O2(this.root,this.state.filter,this.props.lang,this.objects,void 0,a,this.props.customFilter,this.props.types),a.count<500&&!this.state.expandAllVisible?setTimeout(()=>this.setState({expandAllVisible:!0})):a.count>=500&&this.state.expandAllVisible&&setTimeout(()=>this.setState({expandAllVisible:!1})),this.lastAppliedFilter=r}if(this.unsubscribeTimer=setTimeout(()=>{this.unsubscribeTimer=null,this.checkUnsubscribes()},200),!this.state.loaded)return C.default.createElement(Sm,{key:`${this.props.dialogName}_c`});let o=this.root?this.renderItem(this.root,void 0):null;return C.default.createElement(g2,{key:this.props.dialogName},C.default.createElement("style",null,` @keyframes newValueAnimation-light { 0% { color: #00f900; @@ -524,81 +552,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho .newValueBrowser-light { animation: newValueAnimation-light 2s ease-in-out; } -`),C.default.createElement(cB,null,this.getToolbar()),C.default.createElement(fB,null,this.renderHeader(),C.default.createElement("div",{style:H.tableDiv,ref:this.tableRef,onKeyDown:a=>this.navigateKeyPress(a)},o)),this.renderContextMenu(),this.renderAliasMenu(),this.renderToast(),this.renderColumnsEditCustomDialog(),this.renderColumnsSelectorDialog(),this.renderCustomDialog(),this.renderEditValueDialog(),this.renderEditObjectDialog(),this.renderViewObjectFileDialog(),this.renderAliasEditorDialog(),this.renderEditRoleDialog(),this.renderEnumDialog(),this.renderErrorDialog(),this.renderExportDialog(),this.state.modalNewObj&&this.props.modalNewObject&&this.props.modalNewObject(this),this.state.modalEditOfAccess&&this.state.modalEditOfAccessObjData&&this.props.modalEditOfAccessControl&&this.props.modalEditOfAccessControl(this,this.state.modalEditOfAccessObjData))}};tk=new WeakMap,xL(Ni,tk,["0_userdata.0.","alias.0."]);var ek=Ni,SB=Cp()(ek);var J=y(P());var ge={hr:{border:0,borderTop:"1px solid gray"},scrollWindow:{width:"100%",overflow:"auto",height:"calc(100% - 22px)"},rowDiv:{width:"100%"},modeDiv:{width:200,display:"inline-block",verticalAlign:"top"},settingsDiv:{display:"inline-block",verticalAlign:"top"},inputTime:{width:90,marginTop:0,marginLeft:5},inputDate:{width:140,marginTop:0,marginLeft:5},inputEvery:{width:40,marginLeft:5,marginRight:5},inputRadio:{padding:"4px 12px",verticalAlign:"top"},inputGroup:{maxWidth:400,display:"inline-block"},inputGroupElement:{width:120},inputDateDay:{width:60},inputDateDayCheck:{padding:4},inputSmallCheck:{padding:0},rowOnce:{},rowDays:e=>({background:e.palette.mode!=="dark"?"#ddeaff":"#4b5057"}),rowDows:e=>({background:e.palette.mode!=="dark"?"#DDFFDD":"#52646c"}),rowDates:e=>({background:e.palette.mode!=="dark"?"#DDDDFF":"#747a86"}),rowWeeks:e=>({background:e.palette.mode!=="dark"?"#DDDDFF":"#717680"}),rowMonths:e=>({background:e.palette.mode!=="dark"?"#DDFFFF":"#1f5557"}),rowMonthsDates:e=>({background:e.palette.mode!=="dark"?"#EEFFFF":"#3c5737",maxWidth:600}),rowYears:e=>({background:e.palette.mode!=="dark"?"#fbffdd":"#574b33"}),rowDaysDows:e=>({background:e.palette.mode!=="dark"?"#EEEAFF":"#573544",pl:"10px",pb:"10px"}),rowDowsDows:e=>({background:e.palette.mode!=="dark"?"#EEFFEE":"#3d4c54",pl:"10px",pb:"10px"})},wB=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],rk=["January","February","March","April","May","June","July","August","September","October","November","December"],_B={minutes:"minutes",hours:"hours"},kT=["sunrise","sunriseEnd","goldenHourEnd","solarNoon","goldenHour","sunsetStart","sunset","dusk","nauticalDusk","night","nightEnd","nauticalDawn","dawn","nadir"];function Ep(e){return e<10?`0${e}`:`${e}`}var Uae={time:{exactTime:!1,start:"00:00",end:"23:59",mode:"hours",interval:1},period:{once:"",days:1,dows:"",dates:"",weeks:0,months:"",years:0,yearMonth:0,yearDate:0},valid:{from:"",to:""}};function CB(e){let t=e.split(".");return t.length===3?`${t[2]}-${t[1]}-${t[0]}`:""}var ET=class e extends J.Component{constructor(r){super(r);A(this,"refFrom");A(this,"refTo");A(this,"refOnce");A(this,"timerOnce",null);A(this,"timerFrom",null);A(this,"timerTo",null);let o;if(this.props.schedule&&typeof this.props.schedule=="string"&&this.props.schedule[0]==="{")try{o=JSON.parse(this.props.schedule)}catch(a){}else typeof this.props.schedule=="object"&&(o=this.props.schedule);(!o||!Object.keys(o).length)&&(setTimeout(()=>this.onChange(this.state.schedule,!0),200),o=Uae),o={...Uae,...o},o.valid.from=o.valid.from||e.now2string(),this.refFrom=J.default.createRef(),this.refTo=J.default.createRef(),this.refOnce=J.default.createRef(),this.state={schedule:o,desc:e.state2text(o)},JSON.stringify(o)!==this.props.schedule&&setTimeout(()=>this.props.onChange&&this.props.onChange(JSON.stringify(o)),100)}onChange(r,o){let a=JSON.stringify(r)!==JSON.stringify(this.state.schedule);if(o||a){a&&this.setState({schedule:r,desc:e.state2text(r)});let n=JSON.parse(JSON.stringify(r));if(n.period.once){let s=n.period.once;delete n.period,n.period={once:s},delete n.valid}else if(n.period.days){let s=n.period.days,i=n.period.dows;delete n.period,n.period={days:s},i&&i!=="[]"&&(n.period.dows=i)}else if(n.period.weeks){let s=n.period.weeks,i=n.period.dows;delete n.period,n.period={weeks:s},i&&i!=="[]"&&(n.period.dows=i)}else if(n.period.months){let s=n.period.months,i=n.period.dates;delete n.period,n.period={months:s},i&&i!=="[]"&&(n.period.dates=i)}else if(n.period.years){let s=n.period.years,i=n.period.yearMonth,p=n.period.yearDate;delete n.period,n.period={years:s,yearDate:p},i&&(n.period.yearMonth=i)}if(n.time.exactTime?(delete n.time.end,delete n.time.mode,delete n.time.interval):delete n.time.exactTime,n.valid){if(n.valid.to||delete n.valid.to,n.period.days===1||n.period.weeks===1||n.period.months===1||n.period.years===1){let s=e.string2date(n.valid.from),i=new Date;i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),s<=i&&delete n.valid.from}!n.valid.from&&!n.valid.to&&delete n.valid}this.props.onChange&&this.props.onChange(JSON.stringify(n),e.state2text(r))}}static state2text(r){if(typeof r=="string")try{r=JSON.parse(r)}catch(n){return""}let o=[],a=e.string2date(r.valid.from);if(r.period.once){let n=e.string2date(r.period.once),s=new Date;if(s.setMilliseconds(0),s.setSeconds(0),s.setMinutes(0),s.setHours(0),nD.t(wB[i]));if(s.length===1)o.push(D.t("sch_desc_onWeekday",s[0]));else if(s.length===7)o.push(D.t("sch_desc_everyDay"));else{let i=s.pop();o.push(D.t("sch_desc_onWeekdays",s.join(", "),i))}}}else o.push(D.t("sch_desc_everyDay"));else o.push(D.t("sch_desc_everyNDay",r.period.days.toString()));else if(r.period.weeks)if(r.period.weeks===1?o.push(D.t("sch_desc_everyWeek")):o.push(D.t("sch_desc_everyNWeeks",r.period.weeks.toString())),r.period.dows){let n=JSON.parse(r.period.dows);if(n.length===2&&n[0]===0&&n[1]===6)o.push(D.t("sch_desc_onWeekends"));else if(n.length===5&&n[0]===1&&n[1]===2&&n[2]===3&&n[3]===4&&n[4]===5)o.push(D.t("sch_desc_onWorkdays"));else{let s=n.map(i=>D.t(wB[i]));if(s.length===1)o.push(D.t("sch_desc_onWeekday",s[0]));else if(s.length===7)o.push(D.t("sch_desc_everyDay"));else{let i=s.pop();o.push(D.t("sch_desc_onWeekdays",s.join(", "),i))}}}else return D.t("sch_desc_never");else if(r.period.months){if(r.period.dates){let n=JSON.parse(r.period.dates);if(n.length===1)o.push(D.t("sch_desc_onDate",n[0]));else if(n.length===31)o.push(D.t("sch_desc_onEveryDate"));else if(n.length){let s=n.pop();o.push(D.t("sch_desc_onDates",n.join(", "),s))}else return D.t("sch_desc_never")}else o.push(D.t("sch_desc_onEveryDate"));if(r.period.months===1)o.push(D.t("sch_desc_everyMonth"));else if(typeof r.period.months=="number")o.push(D.t("sch_desc_everyNMonths",r.period.months.toString()));else{let s=JSON.parse(r.period.months).map(i=>D.t(rk[i-1]));if(!s.length)return D.t("sch_desc_never");if(s.length===1)o.push(D.t("sch_desc_onMonth",s[0]));else if(s.length===12)o.push(D.t("sch_desc_everyMonth"));else{let i=s.pop();o.push(D.t("sch_desc_onMonths",s.join(", "),i))}}}else r.period.years&&(r.period.years===1?o.push(D.t("sch_desc_everyYear")):o.push(D.t("sch_desc_everyNYears",r.period.years.toString())),o.push(D.t("sch_desc_onDate",r.period.yearDate.toString(),r.period.yearMonth?D.t(rk[r.period.yearMonth-1]):D.t("sch_desc_everyMonth"))));if(r.time.exactTime)kT.includes(r.time.start)?o.push(D.t("sch_desc_atTime",D.t(`sch_astro_${r.time.start}`))):o.push(D.t("sch_desc_atTime",r.time.start));else{r.time.mode===_B.minutes?r.time.interval===1?o.push(D.t("sch_desc_everyMinute")):o.push(D.t("sch_desc_everyNMinutes",r.time.interval.toString())):r.time.interval===1?o.push(D.t("sch_desc_everyHour")):o.push(D.t("sch_desc_everyNHours",r.time.interval.toString()));let n=kT.indexOf(r.time.start)!==-1?D.t(`sch_astro_${r.time.start}`):r.time.start,s=kT.indexOf(r.time.end)!==-1?D.t(`sch_astro_${r.time.end}`):r.time.end;(n!=="00:00"||s!=="24:00"&&s!=="23:59")&&o.push(D.t("sch_desc_intervalFromTo",n,s))}return r.period.once||(a.getTime()>Date.now()&&r.valid.to?o.push(D.t("sch_desc_validFromTo",r.valid.from,r.valid.to)):a.getTime()>Date.now()?o.push(D.t("sch_desc_validFrom",r.valid.from)):r.valid.to&&o.push(D.t("sch_desc_validTo",r.valid.to))),o.join(" ")}getTimePeriodElements(){let r=this.state.schedule,o=!1,a=!1,n=!1,s=!0;return r.time.start==="00:00"&&r.time.end==="24:00"?(o=!0,s=!1):r.time.start==="sunrise"?(a=!0,s=!1):r.time.start==="sunset"&&(n=!0,s=!1),J.default.createElement("div",{key:"timePeriod",style:ge.rowDiv},J.default.createElement("div",{style:ge.modeDiv},J.default.createElement(Ye,{control:J.default.createElement(Qt,{style:ge.inputRadio,checked:!r.time.exactTime,onClick:()=>{let i=JSON.parse(JSON.stringify(this.state.schedule));i.time.exactTime=!1,this.onChange(i)}}),label:D.t("sch_intervalTime")})),J.default.createElement("div",{style:ge.settingsDiv},J.default.createElement("div",{style:ge.settingsDiv},!r.time.exactTime&&J.default.createElement("div",null,J.default.createElement("div",null,J.default.createElement(Ye,{control:J.default.createElement(Qt,{style:ge.inputRadio,checked:!!s,onClick:()=>{let i=JSON.parse(JSON.stringify(this.state.schedule));i.time.start="00:00",i.time.end="23:59",this.onChange(i)}}),label:s?"":D.t("sch_fromTo")}),s&&[J.default.createElement(Ir,{variant:"standard",style:{...ge.inputTime,marginRight:10},key:"exactTimeFrom",type:"time",sx:i=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:i.palette.mode==="dark"?"invert(80%)":void 0}}),value:this.state.schedule.time.start,onChange:i=>{let p=JSON.parse(JSON.stringify(this.state.schedule));p.time.start=i.target.value,this.onChange(p)},slotProps:{inputLabel:{shrink:!0}},label:D.t("sch_from"),margin:"normal"}),J.default.createElement(Ir,{variant:"standard",style:ge.inputTime,key:"exactTimeTo",type:"time",sx:i=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:i.palette.mode==="dark"?"invert(80%)":void 0}}),value:this.state.schedule.time.end,onChange:i=>{let p=JSON.parse(JSON.stringify(this.state.schedule));p.time.end=i.target.value,this.onChange(p)},slotProps:{inputLabel:{shrink:!0}},label:D.t("sch_to"),margin:"normal"})])),!r.time.exactTime&&J.default.createElement("div",null,J.default.createElement(Ye,{control:J.default.createElement(Qt,{style:ge.inputRadio,checked:!!o,onClick:()=>{let i=JSON.parse(JSON.stringify(this.state.schedule));i.time.start="00:00",i.time.end="24:00",this.onChange(i)}}),label:D.t("sch_wholeDay")})),!r.time.exactTime&&J.default.createElement("div",null,J.default.createElement(Ye,{control:J.default.createElement(Qt,{style:ge.inputRadio,checked:!!a,onClick:()=>{let i=JSON.parse(JSON.stringify(this.state.schedule));i.time.start="sunrise",i.time.end="sunset",this.onChange(i)}}),label:D.t("sch_astroDay")})),!r.time.exactTime&&J.default.createElement("div",null,J.default.createElement(Ye,{control:J.default.createElement(Qt,{style:ge.inputRadio,checked:!!n,onClick:()=>{let i=JSON.parse(JSON.stringify(this.state.schedule));i.time.start="sunset",i.time.end="sunrise",this.onChange(i)}}),label:D.t("sch_astroNight")}))),!r.time.exactTime&&this.getPeriodSettingsMinutes(s)))}getTimeExactElements(){let r=kT.includes(this.state.schedule.time.start);return J.default.createElement("div",{key:"timeExact",style:ge.rowDiv},J.default.createElement("div",{style:ge.modeDiv},J.default.createElement(Ye,{control:J.default.createElement(Qt,{style:ge.inputRadio,checked:!!this.state.schedule.time.exactTime,onClick:()=>{let o=JSON.parse(JSON.stringify(this.state.schedule));o.time.exactTime=!0,this.onChange(o)}}),label:D.t("sch_exactTime")})),this.state.schedule.time.exactTime&&J.default.createElement(Sa,{variant:"standard",value:r?this.state.schedule.time.start:"00:00",onChange:o=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.time.start=o.target.value,this.onChange(a)}},J.default.createElement(Vt,{key:"specific",value:"00:00"},D.t("sch_specificTime")),kT.map(o=>J.default.createElement(Vt,{key:o,value:o},D.t(`sch_astro_${o}`)))),this.state.schedule.time.exactTime&&!r&&J.default.createElement("div",{style:ge.settingsDiv},J.default.createElement(Ir,{variant:"standard",style:ge.inputTime,key:"exactTimeValue",value:this.state.schedule.time.start,type:"time",sx:o=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:o.palette.mode==="dark"?"invert(80%)":void 0}}),onChange:o=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.time.start=o.target.value,this.onChange(a)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}static getDivider(){return J.default.createElement("hr",{style:ge.hr})}getPeriodModes(){let r=this.state.schedule,o=!r.period.dows&&!r.period.months&&!r.period.dates&&!r.period.years&&!r.period.days&&!r.period.weeks;return o&&!r.period.once&&(r.period.once=e.now2string(!0)),[J.default.createElement("div",{key:"once",style:{...ge.rowDiv,...ge.rowOnce}},J.default.createElement("div",{style:ge.modeDiv},J.default.createElement(Ye,{control:J.default.createElement(Qt,{style:ge.inputRadio,checked:!!o,onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.once=a.period.once||e.now2string(!0),a.period.dows="",a.period.months="",a.period.dates="",a.period.years=0,a.period.yearDate=0,a.period.yearMonth=0,a.period.weeks=0,a.period.days=0,this.onChange(a)}}),label:D.t("sch_periodOnce")})),o&&J.default.createElement("div",{style:ge.settingsDiv},J.default.createElement(Ir,{variant:"standard",style:ge.inputDate,type:"date",ref:this.refOnce,key:"exactDateAt",defaultValue:CB(r.period.once),onChange:a=>{this.timerOnce&&clearTimeout(this.timerOnce),this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="#ff000030"),this.timerOnce=setTimeout(n=>{this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="");let s=JSON.parse(JSON.stringify(this.state.schedule)),i=e.string2date(n);i.toString()!=="Invalid Date"&&(s.period.once=`${Ep(i.getDate())}.${Ep(i.getMonth()+1)}.${i.getFullYear()}`,this.onChange(s))},1500,a.target.value)},slotProps:{inputLabel:{shrink:!0}},label:D.t("sch_at"),margin:"normal"}))),J.default.createElement(Je,{component:"div",key:"days",sx:ve.getStyle(this.props.theme,ge.rowDiv,ge.rowDays)},J.default.createElement("div",{style:ge.modeDiv},J.default.createElement(Ye,{control:J.default.createElement(Qt,{style:ge.inputRadio,checked:!!r.period.days,onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.days=1,a.period.dows="",a.period.months="",a.period.dates="",a.period.years=0,a.period.yearDate=0,a.period.yearMonth=0,a.period.weeks=0,a.period.once="",this.onChange(a)}}),label:D.t("sch_periodDaily")})),J.default.createElement("div",{style:ge.settingsDiv},this.getPeriodSettingsDaily(),r.period.days?this.getPeriodSettingsWeekdays():null)),J.default.createElement(Je,{component:"div",key:"weeks",sx:ve.getStyle(this.props.theme,ge.rowDiv,ge.rowDows)},J.default.createElement("div",{style:ge.modeDiv},J.default.createElement(Ye,{control:J.default.createElement(Qt,{style:ge.inputRadio,checked:!!r.period.weeks,onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.weeks=r.period.weeks?0:1,a.period.dows=r.period.dows||"[0]",a.period.months="",a.period.dates="",a.period.years=0,a.period.yearDate=0,a.period.yearMonth=0,a.period.days=0,a.period.once="",this.onChange(a)}}),label:D.t("sch_periodWeekly")})),J.default.createElement(Je,{component:"div",style:ge.settingsDiv},J.default.createElement("div",{style:ge.settingsDiv},this.getPeriodSettingsWeekly()),J.default.createElement(Je,{component:"div",sx:ve.getStyle(this.props.theme,ge.settingsDiv,ge.rowDowsDows)},this.state.schedule.period.weeks?this.getPeriodSettingsWeekdays():null))),J.default.createElement(Je,{component:"div",key:"months",sx:ve.getStyle(this.props.theme,ge.rowDiv,ge.rowMonths)},J.default.createElement("div",{style:ge.modeDiv},J.default.createElement(Ye,{control:J.default.createElement(Qt,{style:ge.inputRadio,checked:!!r.period.months,onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.months=1,a.period.dows="",a.period.dates="",a.period.years=0,a.period.yearDate=0,a.period.yearMonth=0,a.period.weeks=0,a.period.days=0,a.period.once="",this.onChange(a)}}),label:D.t("sch_periodMonthly")})),J.default.createElement("div",{style:ge.settingsDiv},this.getPeriodSettingsMonthly(),r.period.months?J.default.createElement(Je,null,J.default.createElement(Je,{component:"div",sx:ve.getStyle(this.props.theme,ge.settingsDiv,ge.rowMonthsDates)},J.default.createElement(Ye,{control:J.default.createElement(Zt,{style:ge.inputRadio,checked:!!r.period.dates,onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.months=a.period.months||1;let n=[];for(let s=1;s<=31;s++)n.push(s);a.period.dates=a.period.dates||JSON.stringify(n),a.period.dows="",a.period.years=0,a.period.yearDate=0,a.period.yearMonth=0,a.period.weeks=0,a.period.days=0,a.period.once="",this.onChange(a)}}),label:D.t("sch_periodDates")})),J.default.createElement(Je,{component:"div",sx:ve.getStyle(this.props.theme,ge.settingsDiv,ge.rowMonthsDates)},this.getPeriodSettingsDates())):null)),J.default.createElement(Je,{component:"div",key:"years",sx:ve.getStyle(this.props.theme,ge.rowDiv,ge.rowYears)},J.default.createElement("div",{style:ge.modeDiv},J.default.createElement(Ye,{control:J.default.createElement(Qt,{style:ge.inputRadio,checked:!!r.period.years,onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.years=1,a.period.yearDate=1,a.period.yearMonth=1,a.period.dows="",a.period.months=0,a.period.dates="",a.period.weeks=0,a.period.days=0,a.period.once="",this.onChange(a)}}),label:D.t("sch_periodYearly")})),J.default.createElement("div",{style:ge.settingsDiv},J.default.createElement("div",{style:ge.settingsDiv},this.getPeriodSettingsYearly()),!!r.period.years&&J.default.createElement("div",{style:ge.settingsDiv},J.default.createElement("span",null,D.t("sch_on")),J.default.createElement(va,{key:"input",value:this.state.schedule.period.yearDate,style:ge.inputEvery,type:"number",inputProps:{min:1,max:31},onChange:a=>{let n=JSON.parse(JSON.stringify(this.state.schedule));n.period.yearDate=parseInt(a.target.value,10),n.period.yearDate<1&&(n.period.yearDate=31),n.period.yearDate>31&&(n.period.yearDate=1),this.onChange(n)}}),J.default.createElement(Sa,{variant:"standard",value:r.period.yearMonth,onChange:a=>{let n=JSON.parse(JSON.stringify(this.state.schedule));n.period.yearMonth=a.target.value,this.onChange(n)}},J.default.createElement(Vt,{key:"every",value:0},D.t("sch_yearEveryMonth")),rk.map((a,n)=>J.default.createElement(Vt,{key:a,value:n+1},D.t(a)))))))]}getPeriodSettingsMinutes(r){return J.default.createElement("div",{style:{display:"inline-block",marginTop:r?15:"inherit"}},J.default.createElement("label",{style:{marginLeft:4,marginRight:4}},D.t("sch_every")),J.default.createElement(va,{value:this.state.schedule.time.interval,style:{...ge.inputEvery,verticalAlign:"bottom"},type:"number",inputProps:{min:1},onChange:o=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.time.interval=parseInt(o.target.value,10),this.onChange(a)}}),J.default.createElement(Sa,{variant:"standard",value:this.state.schedule.time.mode,onChange:o=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.time.mode=o.target.value,this.onChange(a)}},J.default.createElement(Vt,{value:_B.minutes},D.t("sch_periodMinutes")),J.default.createElement(Vt,{value:_B.hours},D.t("sch_periodHours"))))}getPeriodSettingsWeekdays(){let r=this.state.schedule,o=r.period.dows&&r.period.dows!=="[1, 2, 3, 4, 5]"&&r.period.dows!=="[0, 6]";return[J.default.createElement("div",{key:"workdays"},J.default.createElement(Ye,{control:J.default.createElement(Qt,{style:ge.inputRadio,checked:r.period.dows==="[1, 2, 3, 4, 5]",onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.dows="[1, 2, 3, 4, 5]",a.period.days&&(a.period.days=1),this.onChange(a)}}),label:D.t("sch_periodWorkdays")})),J.default.createElement("div",{key:"weekend"},J.default.createElement(Ye,{control:J.default.createElement(Qt,{style:ge.inputRadio,checked:r.period.dows==="[0, 6]",onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.dows="[0, 6]",a.period.days&&(a.period.days=1),this.onChange(a)}}),label:D.t("sch_periodWeekend")})),J.default.createElement("div",{key:"specific",style:{verticalAlign:"top"}},J.default.createElement(Ye,{style:{verticalAlign:"top"},control:J.default.createElement(Qt,{style:ge.inputRadio,checked:!!o,onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.dows="[0, 1, 2, 3, 4, 5, 6]",a.period.days&&(a.period.days=1),this.onChange(a)}}),label:D.t("sch_periodWeekdays")}),o&&(r.period.days===1||r.period.weeks)&&J.default.createElement(hx,{row:!0,style:{...ge.inputGroup,width:150}},[1,2,3,4,5,6,0].map(a=>J.default.createElement(Ye,{key:`specific_${a}`,style:ge.inputGroupElement,control:J.default.createElement(Zt,{style:ge.inputSmallCheck,checked:r.period.dows.includes(a.toString()),onChange:n=>{let s=JSON.parse(JSON.stringify(this.state.schedule)),i;try{i=JSON.parse(s.period.dows)}catch(p){i=[]}n.target.checked&&!i.includes(a)?i.push(a):!n.target.checked&&i.includes(a)&&i.splice(i.indexOf(a),1),i.sort((p,l)=>p-l),s.period.dows=JSON.stringify(i),s.period.days&&(s.period.days=1),this.onChange(s)}}),label:D.t(wB[a])}))))]}getPeriodSettingsDaily(){if(!this.state.schedule.period.days)return null;let r=this.state.schedule;return[J.default.createElement("div",{key:"every_day"},J.default.createElement(Ye,{control:J.default.createElement(Qt,{style:ge.inputRadio,checked:r.period.days===1&&!r.period.dows,onClick:()=>{let o=JSON.parse(JSON.stringify(this.state.schedule));o.period.days=1,o.period.dows="",this.onChange(o)}}),label:D.t("sch_periodEveryDay")})),J.default.createElement("div",{key:"everyN_day"},J.default.createElement(Ye,{control:J.default.createElement(Qt,{style:ge.inputRadio,checked:r.period.days>1,onClick:()=>{let o=JSON.parse(JSON.stringify(this.state.schedule));o.period.days=2,o.period.dows="",this.onChange(o)}}),label:D.t("sch_periodEvery")}),r.period.days>1&&[J.default.createElement(va,{key:"input",value:this.state.schedule.period.days,style:ge.inputEvery,type:"number",inputProps:{min:2},onChange:o=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.days=parseInt(o.target.value,10),a.period.dows="",this.onChange(a)}}),J.default.createElement("span",{key:"span",style:{paddingRight:10}},D.t("sch_periodDay"))])]}getPeriodSettingsWeekly(){if(!this.state.schedule.period.weeks)return null;let r=this.state.schedule;return[J.default.createElement("div",{key:"radios",style:{display:"inline-block",verticalAlign:"top"}},J.default.createElement("div",null,J.default.createElement(Ye,{control:J.default.createElement(Qt,{style:ge.inputRadio,checked:r.period.weeks===1,onClick:()=>{let o=JSON.parse(JSON.stringify(this.state.schedule));o.period.weeks=1,this.onChange(o)}}),label:D.t("sch_periodEveryWeek")})),J.default.createElement("div",null,J.default.createElement(Ye,{control:J.default.createElement(Qt,{style:ge.inputRadio,checked:r.period.weeks>1,onClick:()=>{let o=JSON.parse(JSON.stringify(this.state.schedule));o.period.weeks=2,this.onChange(o)}}),label:D.t("sch_periodEvery")}),r.period.weeks>1&&[J.default.createElement(va,{key:"input",value:this.state.schedule.period.weeks,style:ge.inputEvery,type:"number",inputProps:{min:2},onChange:o=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.weeks=parseInt(o.target.value,10),this.onChange(a)}}),J.default.createElement("span",{key:"text"},D.t("sch_periodWeek"))]))]}getPeriodSettingsDates(){if(!this.state.schedule.period.dates)return null;let r=this.state.schedule,o=[];for(let n=1;n<=31;n++)o.push(n);let a=JSON.parse(r.period.dates);return J.default.createElement(hx,{row:!0,style:{...ge.inputGroup,maxWidth:620}},J.default.createElement(Ye,{style:ge.inputDateDay,control:J.default.createElement(Zt,{style:ge.inputDateDayCheck,checked:a.length===31,onChange:()=>{let n=JSON.parse(JSON.stringify(this.state.schedule)),s=[];for(let i=1;i<=31;i++)s.push(i);n.period.dates=JSON.stringify(s),this.onChange(n)}}),label:D.t("sch_all")}),J.default.createElement(Ye,{style:ge.inputDateDay,control:J.default.createElement(Zt,{style:ge.inputDateDayCheck,checked:!a.length,onChange:()=>{let n=JSON.parse(JSON.stringify(this.state.schedule));n.period.dates="[]",this.onChange(n)}}),label:D.t("sch_no_one")}),a.length!==31&&!!a.length&&J.default.createElement(Ye,{style:ge.inputDateDay,control:J.default.createElement(Zt,{style:ge.inputDateDayCheck,checked:!1,onChange:()=>{let n=JSON.parse(JSON.stringify(this.state.schedule)),s=[],i=JSON.parse(n.period.dates);for(let p=1;p<=31;p++)i.includes(p)||s.push(p);s.sort((p,l)=>p-l),n.period.dates=JSON.stringify(s),this.onChange(n)}}),label:D.t("sch_invert")}),J.default.createElement("div",null),o.map(n=>J.default.createElement(Ye,{key:`date_${n}`,style:n?ge.inputDateDay:{...ge.inputDateDay,opacity:0,cursor:"default",userSelect:"none",pointerEvents:"none"},control:J.default.createElement(Zt,{style:ge.inputDateDayCheck,checked:JSON.parse(r.period.dates).includes(n),onChange:s=>{let i=JSON.parse(JSON.stringify(this.state.schedule)),p;try{p=JSON.parse(i.period.dates)}catch(l){p=[]}s.target.checked&&!p.includes(n)?p.push(n):!s.target.checked&&p.includes(n)&&p.splice(p.indexOf(n),1),p.sort((l,d)=>l-d),i.period.dates=JSON.stringify(p),this.onChange(i)}}),label:n<10?[J.default.createElement("span",{key:"0",style:{opacity:0}},"0"),J.default.createElement("span",{key:"num"},n)]:n})))}getPeriodSettingsMonthly(){if(!this.state.schedule.period.months)return null;let r=this.state.schedule,o=typeof r.period.months=="string"?JSON.parse(r.period.months):[];return[J.default.createElement("div",{key:"every"},J.default.createElement(Ye,{control:J.default.createElement(Qt,{style:ge.inputRadio,checked:typeof r.period.months=="number"&&r.period.months===1,onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.months=1,this.onChange(r)}}),label:D.t("sch_periodEveryMonth")})),J.default.createElement("div",{key:"everyN"},J.default.createElement(Ye,{control:J.default.createElement(Qt,{style:ge.inputRadio,checked:typeof r.period.months=="number"&&r.period.months>1,onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.months=2,this.onChange(a)}}),label:D.t("sch_periodEvery")}),typeof r.period.months=="number"&&r.period.months>1&&[J.default.createElement(va,{key:"input",value:r.period.months,style:ge.inputEvery,type:"number",inputProps:{min:2},onChange:a=>{let n=JSON.parse(JSON.stringify(this.state.schedule));n.period.months=parseInt(a.target.value,10),n.period.months<1&&(n.period.months=1),this.onChange(n)}}),J.default.createElement("span",{key:"text"},D.t("sch_periodMonth"))]),J.default.createElement("div",{key:"specific",style:{verticalAlign:"top"}},J.default.createElement(Ye,{style:{verticalAlign:"top"},control:J.default.createElement(Qt,{style:ge.inputRadio,checked:typeof r.period.months=="string",onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.months="[1,2,3,4,5,6,7,8,9,10,11,12]",this.onChange(a)}}),label:D.t("sch_periodSpecificMonths")}),typeof r.period.months=="string"&&J.default.createElement(hx,{row:!0,style:ge.inputGroup},J.default.createElement(Ye,{style:ge.inputDateDay,control:J.default.createElement(Zt,{style:ge.inputDateDayCheck,checked:o.length===12,onChange:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule)),n=[];for(let s=1;s<=12;s++)n.push(s);a.period.months=JSON.stringify(n),this.onChange(a)}}),label:D.t("sch_all")}),J.default.createElement(Ye,{style:ge.inputDateDay,control:J.default.createElement(Zt,{style:ge.inputDateDayCheck,checked:!o.length,onChange:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.months="[]",this.onChange(a)}}),label:D.t("sch_no_one")}),o.length!==12&&!!o.length&&J.default.createElement(Ye,{style:ge.inputDateDay,control:J.default.createElement(Zt,{style:ge.inputDateDayCheck,checked:!1,onChange:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule)),n=[],s=JSON.parse(a.period.months);for(let i=1;i<=12;i++)s.includes(i)||n.push(i);n.sort((i,p)=>i-p),a.period.months=JSON.stringify(n),this.onChange(a)}}),label:D.t("sch_invert")}),J.default.createElement("div",null),rk.map((a,n)=>J.default.createElement(Ye,{key:`month_${n}`,style:ge.inputGroupElement,control:J.default.createElement(Zt,{style:ge.inputSmallCheck,checked:typeof r.period.months=="string"?JSON.parse(r.period.months).includes(n+1):r.period.months===n,onChange:s=>{let i=JSON.parse(JSON.stringify(this.state.schedule)),p;try{p=JSON.parse(i.period.months)}catch(l){p=[]}s.target.checked&&!p.includes(n+1)?p.push(n+1):!s.target.checked&&p.includes(n+1)&&p.splice(p.indexOf(n+1),1),p.sort((l,d)=>l-d),i.period.months=JSON.stringify(p),this.onChange(i)}}),label:D.t(a)}))))]}getPeriodSettingsYearly(){if(!this.state.schedule.period.years)return null;let r=this.state.schedule;return[J.default.createElement("div",{key:"year"},J.default.createElement(Ye,{control:J.default.createElement(Qt,{style:ge.inputRadio,checked:r.period.years===1,onClick:()=>{let o=JSON.parse(JSON.stringify(this.state.schedule));o.period.years=1,this.onChange(o)}}),label:D.t("sch_periodEveryYear")})),J.default.createElement("div",{key:"every"},J.default.createElement(Ye,{control:J.default.createElement(Qt,{style:ge.inputRadio,checked:r.period.years>1,onClick:()=>{let o=JSON.parse(JSON.stringify(this.state.schedule));o.period.years=2,this.onChange(o)}}),label:D.t("sch_periodEvery")}),r.period.years>1&&[J.default.createElement(va,{key:"input",value:this.state.schedule.period.years,style:ge.inputEvery,type:"number",inputProps:{min:2},onChange:o=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.years=parseInt(o.target.value,10),a.period.years<1&&(a.period.years=1),this.onChange(a)}}),J.default.createElement("span",{key:"text"},D.t("sch_periodYear"))])]}static now2string(r){let o=new Date;return o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0),r&&(o.setDate(o.getDate()+2),o.setMilliseconds(o.getMilliseconds()-1)),`${Ep(o.getDate())}.${Ep(o.getMonth()+1)}.${Ep(o.getFullYear())}`}static string2date(r){let o=r.split(".");return o.length===1?(o=r.split("-"),new Date(parseInt(o[0],10),parseInt(o[1],10)-1,parseInt(o[2],10))):new Date(parseInt(o[2],10),parseInt(o[1],10)-1,parseInt(o[0],10))}getValidSettings(){let r=this.state.schedule;return J.default.createElement("div",{style:ge.rowDiv},J.default.createElement("div",{style:{...ge.modeDiv,verticalAlign:"middle"}},J.default.createElement("span",{style:{fontWeight:"bold",paddingRight:10}},D.t("sch_valid")),J.default.createElement("span",null,D.t("sch_validFrom"))),J.default.createElement("div",{style:ge.settingsDiv},J.default.createElement(Ir,{variant:"standard",style:{...ge.inputDate,marginRight:10},key:"exactTimeFrom",inputRef:this.refFrom,defaultValue:CB(r.valid.from),type:"date",onChange:o=>{this.timerFrom&&clearTimeout(this.timerFrom),this.refFrom.current&&(this.refFrom.current.style.background="#ff000030"),this.timerFrom=setTimeout(a=>{this.timerFrom=null,this.refFrom.current&&(this.refFrom.current.style.background="");let n=JSON.parse(JSON.stringify(this.state.schedule)),s=e.string2date(a);s.toString()!=="Invalid Date"&&(n.valid.from=`${Ep(s.getDate())}.${Ep(s.getMonth()+1)}.${s.getFullYear()}`,this.onChange(n))},1500,o.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}),J.default.createElement(Ye,{control:J.default.createElement(Zt,{style:ge.inputRadio,checked:!!r.valid.to,onClick:()=>{let o=JSON.parse(JSON.stringify(this.state.schedule));o.valid.to=o.valid.to?"":e.now2string(!0),this.onChange(o)}}),label:D.t("sch_validTo")}),!!r.valid.to&&J.default.createElement(Ir,{variant:"standard",inputRef:this.refTo,style:{...ge.inputDate,marginRight:10},key:"exactTimeFrom",type:"date",defaultValue:CB(r.valid.to),onChange:o=>{this.timerTo&&clearTimeout(this.timerTo),this.refTo.current&&(this.refTo.current.style.background="#ff000030"),this.timerTo=setTimeout(a=>{this.timerTo=null,this.refTo.current&&(this.refTo.current.style.background="");let n=JSON.parse(JSON.stringify(this.state.schedule)),s=e.string2date(a);s.toString()!=="Invalid Date"&&(n.valid.to=`${Ep(s.getDate())}.${Ep(s.getMonth()+1)}.${s.getFullYear()}`,this.onChange(n))},1500,o.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}render(){return J.default.createElement("div",{style:{height:"calc(100% - 48px)",width:"100%",overflow:"hidden"}},J.default.createElement("div",null,this.state.desc),J.default.createElement("div",{style:ge.scrollWindow},J.default.createElement("h5",null,D.t("sch_time")),this.getTimePeriodElements(),this.getTimeExactElements(),e.getDivider(),J.default.createElement("h5",null,D.t("sch_period")),this.getPeriodModes(),!this.state.schedule.period.once&&e.getDivider(),!this.state.schedule.period.once&&this.getValidSettings()))}};var Vae=y(P());var Hae=y(P());var _9e=y(P());var C9e=y(P());var $ae=y(P());var Ba=y(P());var Pp=class extends Ba.Component{constructor(r){super(r);A(this,"dialogName");A(this,"filters");A(this,"filterFunc");this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectID.${this.dialogName}`;let o=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(o)}catch(n){this.filters={}}r.filters&&(this.filters={...this.filters,...r.filters||{}});let a=this.props.selected||[];if(Array.isArray(a)||(a=[a]),a=a.filter(n=>n),r.filterFunc)if(typeof r.filterFunc=="string")try{this.filterFunc=new Function("obj",r.filterFunc)}catch(n){console.error(`Cannot parse filter function: "obj => ${r.filterFunc}"`),this.filterFunc=void 0}else this.filterFunc=r.filterFunc;this.state={selected:a,name:""}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.props.multiSelect?this.state.selected:this.state.selected[0]||"",this.state.name),this.props.onClose()}render(){let r;return this.state.name||this.state.selected.length?this.state.selected.length===1?r=[Ba.default.createElement("span",{key:"selected"},D.t("ra_Selected"),"\xA0"),Ba.default.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},(this.state.name||this.state.selected[0])+(this.state.name?` [${this.state.selected[0]}]`:""))]:r=[Ba.default.createElement("span",{key:"selected"},D.t("ra_Selected"),"\xA0"),Ba.default.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},D.t("%s items",this.state.selected.length.toString()))]:r=this.props.title||D.t("ra_Please select object ID..."),Ba.default.createElement(cr,{onClose:()=>{},maxWidth:!1,sx:{"& .MuiDialog-paper":{height:"95%",p:"4px",width:"100%",maxWidth:"100%",maxHeight:"calc(100% - 16px)"}},fullWidth:!0,open:!0,"aria-labelledby":"ar_dialog_selectid_title"},Ba.default.createElement(mr,{id:"ar_dialog_selectid_title",style:{whiteSpace:"nowrap",width:"calc(100% - 72px)",overflow:"hidden",display:"inline-block",textOverflow:"ellipsis"}},r),Ba.default.createElement(Tr,{style:{height:"100%",overflow:"hidden",padding:"8px 4px"}},Ba.default.createElement(SB,{foldersFirst:this.props.foldersFirst,imagePrefix:this.props.imagePrefix||this.props.prefix,dateFormat:this.props.dateFormat,defaultFilters:this.filters,dialogName:this.dialogName,isFloatComma:this.props.isFloatComma,showExpertButton:this.props.showExpertButton!==void 0?this.props.showExpertButton:!0,expertMode:this.props.expertMode,columns:this.props.columns||["name","type","role","room","func","val"],types:this.props.types?Array.isArray(this.props.types)?this.props.types:[this.props.types]:["state"],root:this.props.root,t:D.t,lang:this.props.lang||D.getLanguage(),socket:this.props.socket,selected:this.state.selected,multiSelect:this.props.multiSelect,notEditable:this.props.notEditable===void 0?!0:this.props.notEditable,themeName:this.props.themeName,themeType:this.props.themeType,theme:this.props.theme,customFilter:this.props.customFilter,onFilterChanged:o=>{this.filters=o,(window._localStorage||window.localStorage).setItem(this.dialogName,JSON.stringify(o))},onSelect:(o,a,n)=>{let s;Array.isArray(o)?s=o:s=[o],JSON.stringify(s)!==JSON.stringify(this.state.selected)?this.setState({selected:s,name:a},()=>n&&this.handleOk()):n&&this.handleOk()},filterFunc:this.filterFunc,title:"",classes:{}})),Ba.default.createElement(vr,null,Ba.default.createElement(st,{id:`ar_dialog_selectid_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),startIcon:Ba.default.createElement(wo,null),disabled:!this.state.selected.length,color:"primary"},this.props.ok||D.t("ra_Ok")),Ba.default.createElement(st,{id:`ar_dialog_selectid_cancel_${this.props.dialogName||""}`,color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:Ba.default.createElement(Ti,null)},this.props.cancel||D.t("ra_Cancel"))))}};var PB=y(P());var Xs=y(P()),qae=y(Gae()),Yc=function(){return Yc=Object.assign||function(e){for(var t,r=1,o=arguments.length;r0&&M.zoomTo(oe)}(k.currentTarget.cropper,v),h&&h(k)}}));x&&x(O)}return function(){var k,M;(M=(k=b.current)===null||k===void 0?void 0:k.cropper)===null||M===void 0||M.destroy()}},[b]);var w=function(O){return O9e.reduce(function(k,M){var N=k,S=M;return N[S],EB(N,[typeof S=="symbol"?S:S+""])},O)}(Yc(Yc({},T),{crossOrigin:p,src:n,alt:g}));return Xs.default.createElement("div",{style:s,className:i},Xs.default.createElement("img",Yc({},w,{style:k9e,ref:b})))});var ft=y(P());var Tu={mainDiv:{width:"100%",height:"100%",overflow:"auto"},formControl:{margin:0,minWidth:120},formControlMarginRight:{marginRight:5},formControlPaddingTop:{paddingTop:6.2}},P9e={once:"once",interval:"interval",intervalBetween:"intervalBetween",specific:"specific"},ja={seconds:"seconds",minutes:"minutes"},Kae=["ra_Sunday","ra_Monday","ra_Tuesday","ra_Wednesday","ra_Thursday","ra_Friday","ra_Saturday","ra_Sunday"];function Tl(e){return e<10?`0${e}`:`${e}`}var R9e={mode:"interval",interval:{period:1,unit:ja.minutes}};function ok(e){if(e==="*")return[0,1,2,3,4,5,6];let t=e.split(","),r=[];return t.forEach(o=>{let a=o.split("-");if(a.length===2){let n=parseInt(a[0],10),s=parseInt(a[1],10);for(let i=n;i<=s;i++)r.includes(i===7?0:i)||r.push(i===7?0:i)}else{o==="7"&&(o="0");let n=parseInt(o,10);r.includes(n)||r.push(n)}}),r.sort(),r}function ak(e,t){e=e.replace(/['"]/g,"").trim();let r=e.split(" "),o,a=null;return r.length===6?o={seconds:r[0]||"*",minutes:r[1]||"*",hours:r[2]||"*",date:r[3]||"*",months:r[4]||"*",dow:r[5]||"*"}:o={seconds:null,minutes:r[0]||"*",hours:r[1]||"*",date:r[2]||"*",months:r[3]||"*",dow:r[4]||"*"},o.seconds===null&&o.minutes==="*"&&o.hours==="*"&&o.date==="*"&&o.months==="*"&&(o.dow==="*"||t)&&(a={mode:"interval",interval:{period:1,unit:ja.minutes}}),o.seconds==="*"&&o.minutes==="*"&&o.hours==="*"&&o.date==="*"&&o.months==="*"&&(o.dow==="*"||t)?a={mode:"interval",interval:{period:1,unit:ja.seconds}}:o.seconds===null&&o.minutes.includes("/")&&o.hours==="*"&&o.date==="*"&&o.months==="*"&&(o.dow==="*"||t)?a={mode:"interval",interval:{period:parseInt(o.minutes.split("/")[1],10),unit:ja.minutes}}:o.seconds!==null&&o.seconds.includes("/")&&o.minutes==="*"&&o.hours==="*"&&o.date==="*"&&o.months==="*"&&(o.dow==="*"||t)?a={mode:"interval",interval:{period:parseInt(o.seconds.split("/")[1],10),unit:ja.seconds}}:o.seconds!==null&&o.seconds.includes("/")&&o.minutes==="*"&&o.hours.includes("-")&&o.date==="*"&&o.months==="*"&&(o.dow==="*"||t)?a={mode:"intervalBetween",intervalBetween:{period:parseInt(o.seconds.split("/")[1],10),unit:ja.seconds,timeFrom:parseInt(o.hours.split("-")[0],10),timeTo:parseInt(o.hours.split("-")[1],10),weekdays:ok(o.dow)}}:o.seconds===null&&o.minutes.includes("/")&&o.hours.includes("-")&&o.date==="*"&&o.months==="*"&&(o.dow==="*"||t)?a={mode:"intervalBetween",intervalBetween:{period:parseInt(o.minutes.split("/")[1],10),unit:ja.minutes,timeFrom:parseInt(o.hours.split("-")[0],10),timeTo:parseInt(o.hours.split("-")[1],10),weekdays:ok(o.dow)}}:o.seconds===null&&parseInt(o.minutes,10).toString()===o.minutes&&parseInt(o.hours,10).toString()===o.hours&&o.date==="*"&&o.months==="*"&&(o.dow==="*"||t)?a={mode:"specific",specific:{time:`${Tl(parseInt(o.hours,10))}:${Tl(parseInt(o.minutes,10))}`,weekdays:ok(o.dow)}}:o.seconds===null&&parseInt(o.minutes,10).toString()===o.minutes&&parseInt(o.hours,10).toString()===o.hours&&parseInt(o.date,10).toString()===o.date&&parseInt(o.months,10).toString()===o.months&&(o.dow==="*"||t)&&(a={mode:"once",once:{time:`${Tl(parseInt(o.hours,10))}:${Tl(parseInt(o.minutes,10))}`,date:`${Tl(parseInt(o.date,10))}.${Tl(parseInt(o.months,10))}`}}),a}var Zc=class e extends ft.default.Component{constructor(t){super(t);let r=typeof t.cronExpression=="string"?t.cronExpression.replace(/^["']/,"").replace(/["']\n?$/,""):"";r[0]==="{"&&(r="");let o=ak(r||"* * * * *",!0)||R9e;this.state={extended:!1,cron:e.state2cron(o),mode:"interval",once:{time:"00:00",date:""},interval:{period:1,unit:ja.minutes},intervalBetween:{period:1,unit:ja.minutes,timeFrom:0,timeTo:23,weekdays:[0,1,2,3,4,5,6]},specific:{time:"00:00",weekdays:[0,1,2,3,4,5,6]}},Object.assign(this.state,o),this.state.cron!==t.cronExpression&&setTimeout(()=>t.onChange&&t.onChange(this.state.cron),100)}static periodArray2text(t,r=7){if(r=r||7,t.length===r)return"*";let o=[],a=null,n=null;if(!t.length)return"_";for(let s=0;s60&&(o.period=60),o.period!==void 0&&o.period<1&&(o.period=1),o.minutes!==void 0&&o.minutes!==null&&o.minutes>60&&(o.minutes=60),o.minutes!==void 0&&o.minutes!==null&&o.minutes<1&&(o.minutes=1),o.hours!==void 0&&o.hours!==null&&o.hours>24&&(o.hours=24),o.hours!==void 0&&o.hours!==null&&o.hours<1&&(o.hours=1),t.extended)r=`${o.minutes!==void 0&&o.minutes!==null&&o.minutes>1?`*/${o.minutes}`:"*"} ${o.hours!==void 0&&o.hours!==null&&o.hours>1?`*/${o.hours}`:"*"} * * *`;else switch(o.unit){case ja.seconds:r=`${o.period>1?`*/${o.period}`:"*"} * * * * *`;break;case ja.minutes:r=`${o.period>1?`*/${o.period}`:"*"} * * * *`;break;default:break}}else if(t.mode==="intervalBetween"){let o=t.intervalBetween||{period:1,unit:ja.minutes,timeFrom:0,timeTo:24,weekdays:[0,1,2,3,4,5,6]},a;switch(o.timeFrom=o.timeFrom||0,o.timeTo=o.timeTo===void 0?24:o.timeTo,o.timeFrom!==0&&o.timeTo===24&&(o.timeTo=23),o.timeFrom===0&&o.timeTo===24?a="*":a=o.timeFrom!==o.timeTo?`${o.timeFrom}-${o.timeTo}`:"*",o.period>60&&(o.period=60),o.period<1&&(o.period=1),o.unit=o.unit||ja.minutes,o.unit){case ja.seconds:r=`${o.period>1?`*/${o.period}`:"*"} * ${a} * * ${this.periodArray2text(o.weekdays)}`;break;case ja.minutes:r=`${o.period>1?`*/${o.period}`:"*"} ${a} * * ${this.periodArray2text(o.weekdays)}`;break;default:break}}else if(t.mode==="specific"){let o=t.specific||{time:"00:00",weekdays:[0,1,2,3,4,5,6]},a=(o.time||"00:00").split(":"),n=parseInt(a[1],10)||0;n>59&&(n=59),n<0&&(n=0);let s=parseInt(a[0],10)||0;s>23&&(s=59),s<0&&(s=0),r=`${n} ${s} * * ${this.periodArray2text(o.weekdays||[])}`}else if(t.mode==="once"){let o=t.once||{time:"00:00",date:""};o.date||(o.date=`${new Date().getDate()}.${Tl(new Date().getMonth()+1)}`);let a=(o.time||"00:00").split(":"),n=o.date.split("."),s=parseInt(a[1],10)||0;s>59&&(s=59),s<0&&(s=0);let i=parseInt(a[0],10)||0;i>23&&(i=59),i<0&&(i=0);let p=parseInt(n[0],10)||1;p>31&&(p=31),p<1&&(i=1);let l=parseInt(n[1],10)||1;l>12&&(l=12),l<1&&(l=1),r=`${s} ${i} ${p} ${l} *`}return r}recalcCron(){this.onChange(e.state2cron(this.state))}getControlsWeekdaysElements(t){let r=t==="intervalBetween"?this.state.intervalBetween:this.state.specific;return ft.default.createElement("div",{key:"weekdays",style:{paddingLeft:8,width:"calc(100% - 8px)",maxWidth:600}},ft.default.createElement("h5",null,D.t("ra_On weekdays")),[1,2,3,4,5,6,0].map(o=>ft.default.createElement(Ye,{key:Kae[o],control:ft.default.createElement(Zt,{checked:r.weekdays.includes(o),onChange:a=>{let n=JSON.parse(JSON.stringify(this.state[t])),s=n.weekdays.indexOf(o);a.target.checked?s===-1&&n.weekdays.push(o):s!==-1&&n.weekdays.splice(s,1),n.weekdays.sort(),t==="intervalBetween"?this.setState({intervalBetween:n},()=>this.recalcCron()):this.setState({specific:n},()=>this.recalcCron())},value:o.toString()}),label:D.t(Kae[o])})))}getControlsPeriodElements(t){let r=t==="interval"?this.state.interval:this.state.intervalBetween;return this.state.extended?ft.default.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},ft.default.createElement("h5",{style:{marginBottom:5}},D.t("sc_period")),ft.default.createElement(Ir,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:D.t("sc_minutes"),value:r.minutes,onChange:o=>{let a=JSON.parse(JSON.stringify(this.state[t]));a.minutes=parseInt(o.target.value,10),a.minutes<1&&(a.minutes=1),t==="interval"?this.setState({interval:a},()=>this.recalcCron()):this.setState({intervalBetween:a},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:60},inputLabel:{shrink:!0}},type:"number",margin:"normal"}),ft.default.createElement(Ir,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:D.t("sc_hours"),value:r.hours,onChange:o=>{let a=JSON.parse(JSON.stringify(this.state[t]));a.hours=parseInt(o.target.value,10),a.hours<1&&(a.hours=1),t==="interval"?this.setState({interval:a},()=>this.recalcCron()):this.setState({intervalBetween:a},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:24},inputLabel:{shrink:!0}},type:"number",margin:"normal"})):ft.default.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},ft.default.createElement("h5",{style:{marginBottom:5}},D.t("sc_period")),ft.default.createElement(Ir,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:D.t("sc_every"),value:r.period,onChange:o=>{let a=JSON.parse(JSON.stringify(this.state[t]));a.period=parseInt(o.target.value,10),a.period<1&&(a.period=1),t==="interval"?this.setState({interval:a},()=>this.recalcCron()):this.setState({intervalBetween:a},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:60},inputLabel:{shrink:!0}},type:"number",margin:"normal"}),ft.default.createElement(Sa,{variant:"standard",style:{verticalAlign:"bottom"},value:r.unit,onChange:o=>{let a=JSON.parse(JSON.stringify(this.state[t]));a.unit=o.target.value,t==="interval"?this.setState({interval:a},()=>this.recalcCron()):this.setState({intervalBetween:a},()=>this.recalcCron())}},ft.default.createElement(Vt,{value:"seconds"},D.t("sc_seconds")),")",ft.default.createElement(Vt,{value:"minutes"},D.t("sc_minutes")),")"))}getControlsTime(t){let r=t==="once"?this.state.once:this.state.specific;return ft.default.createElement(Ws,{variant:"standard",sx:{...Tu.formControl,"&.MuiFormControl-root":Tu.formControlMarginRight}},ft.default.createElement(Ir,{variant:"standard",key:"at",label:D.t("sc_time"),value:r.time,type:"time",sx:o=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:o.palette.mode==="dark"?"invert(80%)":void 0}}),onChange:o=>{let a=JSON.parse(JSON.stringify(this.state[t]));a.time=o.target.value,t==="once"?this.setState({once:a},()=>this.recalcCron()):this.setState({specific:a},()=>this.recalcCron())},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}))}getControlsDate(){let t=this.state.once;if(!t.date){let r=new Date;t.date=`${r.getDate()}.${Tl(r.getMonth()+1)}`}return ft.default.createElement(Ws,{variant:"standard",style:Tu.formControl},ft.default.createElement(Ir,{variant:"standard",key:"date",label:D.t("sc_date"),value:t.date,type:"text",slotProps:{htmlInput:{style:Tu.formControlPaddingTop},inputLabel:{shrink:!0}},onChange:r=>{let o=JSON.parse(JSON.stringify(this.state.once));o.date=r.target.value,this.setState({once:o},()=>this.recalcCron())},margin:"normal"}))}getOnceElements(){return ft.default.createElement("div",{style:{marginLeft:8}},this.getControlsTime("once"),this.getControlsDate())}getIntervalElements(){return this.getControlsPeriodElements("interval")}getIntervalBetweenElements(){let t=this.state.intervalBetween;return[this.getControlsPeriodElements("intervalBetween"),ft.default.createElement("div",{key:"between",style:{paddingLeft:8,display:"inline-block",verticalAlign:"top"}},ft.default.createElement("h5",{style:{marginBottom:5}},D.t("sc_hours")),ft.default.createElement(Ws,{variant:"standard",style:Tu.formControl},ft.default.createElement(Dd,{shrink:!0,htmlFor:"age-label-placeholder"},D.t("sc_from")),ft.default.createElement(Sa,{variant:"standard",style:{width:100},value:t.timeFrom,onChange:r=>{let o=JSON.parse(JSON.stringify(this.state.intervalBetween));o.timeFrom=parseInt(r.target.value,10),o.timeTo===24&&(o.timeTo=23),this.setState({intervalBetween:o},()=>this.recalcCron())}},[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23].map(r=>ft.default.createElement(Vt,{key:`B_${r}`,value:r},`${Tl(r)}:00`)))),ft.default.createElement(Ws,{variant:"standard",style:Tu.formControl},ft.default.createElement(Dd,{shrink:!0,htmlFor:"age-label-placeholder"},D.t("sc_to")),ft.default.createElement(Sa,{variant:"standard",style:{width:100},value:t.timeTo,onChange:r=>{let o=JSON.parse(JSON.stringify(this.state.intervalBetween));o.timeTo=parseInt(r.target.value,10),this.setState({intervalBetween:o},()=>this.recalcCron())}},[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23].map(r=>ft.default.createElement(Vt,{key:`A_${r}`,value:r},`${Tl(r)}:00`)),!t.timeFrom&&ft.default.createElement(Vt,{value:24},"00:00")))),this.getControlsWeekdaysElements("intervalBetween")]}getSpecificTimeElements(){return[ft.default.createElement("div",{key:"time",style:{marginLeft:8}},this.getControlsTime("specific")),this.getControlsWeekdaysElements("specific")]}onModeChange(t){t!==this.state.mode&&this.setState({mode:t},()=>this.recalcCron())}onChange(t){t!==this.state.cron&&(this.setState({cron:t}),this.props.onChange&&this.props.onChange(t))}render(){return ft.default.createElement("div",{style:Tu.mainDiv},ft.default.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)"}},ft.default.createElement(Ir,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0,error:this.state.cron.includes("_")})),ft.default.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)",height:60}},this.state.cron.includes("_")?D.t("sc_invalid_cron"):yT(this.state.cron,this.props.language||"en")),ft.default.createElement("div",null,ft.default.createElement(Ws,{variant:"standard",style:{...Tu.formControl,marginLeft:8,marginTop:8}},ft.default.createElement(Dd,null,D.t("ra_Repeat")),ft.default.createElement(Sa,{variant:"standard",value:this.state.mode,onChange:t=>this.onModeChange(t.target.value),inputProps:{name:"mode",id:"mode"}},ft.default.createElement(Vt,{value:"once"},D.t("sc_once")),ft.default.createElement(Vt,{value:"interval"},D.t("sc_interval")),ft.default.createElement(Vt,{value:"intervalBetween"},D.t("sc_intervalBetween")),ft.default.createElement(Vt,{value:"specific"},D.t("sc_specific"))))),this.state.mode===P9e.once&&this.getOnceElements(),this.state.mode==="interval"&&this.getIntervalElements(),this.state.mode==="intervalBetween"&&this.getIntervalBetweenElements(),this.state.mode==="specific"&&this.getSpecificTimeElements())}};var Xae=y(P());var Jae=y(P());var D9e=y(P());var A9e=y(P());var M9e=y(P());var An=y(P());var N9e={headerID:{fontWeight:"bold",fontStyle:"italic"},radio:{display:"inline-block"},dialogPaper:{height:"calc(100% - 96px)"}},nk=class extends An.default.Component{constructor(t){super(t);let r;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?r=this.props.cron.replace(/['"]/g,"").trim():(r=this.props.cron||"{}",typeof r=="string"&&(r=r.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={showWarning:"",cron:r}}handleCancel(){this.props.onClose()}handleOk(t){if(!t){let r=xu.cron2state(this.state.cron);if(r.seconds==="*"||r.seconds==="*/1"){this.setState({showWarning:"everySecond"});return}if(r.minutes==="*"||r.minutes==="*/1"){this.setState({showWarning:"everyMinute"});return}}this.props.onOk(this.state.cron),this.props.onClose()}renderWarningDialog(){return this.state.showWarning?An.default.createElement(xl,{title:D.t("ra_Please confirm"),text:D.t(this.state.showWarning==="everySecond"?"ra_The schedule will be executed every second. Are you sure?":"ra_The schedule will be executed every minute. Are you sure?"),onClose:t=>this.setState({showWarning:""},()=>{t&&this.handleOk(!0)})}):null}handleClear(){this.props.onOk(!1),this.props.onClose()}render(){return An.default.createElement(cr,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":N9e.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},this.renderWarningDialog(),An.default.createElement(mr,{id:"cron-dialog-title"},this.props.title||D.t("ra_Define schedule...")),An.default.createElement(Tr,{style:{height:"100%",overflow:"hidden"}},An.default.createElement(xu,{cronExpression:this.state.cron,onChange:t=>this.setState({cron:t}),language:D.getLanguage()})),An.default.createElement(vr,null,!!this.props.clearButton&&An.default.createElement(st,{color:"grey",variant:"contained",onClick:()=>this.handleClear(),startIcon:An.default.createElement(Si,null)},this.props.clear||D.t("ra_Clear")),An.default.createElement(st,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:An.default.createElement(wo,null)},this.props.ok||D.t("ra_Ok")),An.default.createElement(st,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:An.default.createElement(Ti,null)},this.props.cancel||D.t("ra_Cancel"))))}};var Rr=y(P());var I9e={dialogPaper:{height:"calc(100% - 96px)"}},sk=class extends Rr.default.Component{constructor(t){super(t);let r;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?r=this.props.cron.replace(/['"]/g,"").trim():(r=this.props.cron||"{}",typeof r=="string"&&(r=r.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={cron:r,mode:this.props.simple?"simple":this.props.complex?"complex":(typeof r=="object"||r[0]==="{")&&!this.props.noWizard?"wizard":ak(this.props.cron||"* * * * *")?"simple":"complex"}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}setMode(t){this.setState({mode:t})}render(){return Rr.default.createElement(cr,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":I9e.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},Rr.default.createElement(mr,{id:"cron-dialog-title"},this.props.title||D.t("ra_Define schedule...")),Rr.default.createElement(Tr,{style:{height:"100%",overflow:"hidden"}},this.props.simple&&this.props.complex||!this.props.simple&&!this.props.complex?Rr.default.createElement("div",null,!this.props.simple&&!this.props.complex&&!this.props.noWizard&&Rr.default.createElement(Rr.default.Fragment,null,Rr.default.createElement(Qt,{key:"wizard",checked:this.state.mode==="wizard",onChange:()=>this.setMode("wizard")}),Rr.default.createElement("label",{onClick:()=>this.setMode("wizard"),style:this.state.mode!=="wizard"?{color:"lightgrey"}:{}},D.t("sc_wizard"))),(!this.props.simple&&!this.props.complex||this.props.simple)&&Rr.default.createElement(Rr.default.Fragment,null,Rr.default.createElement(Qt,{key:"simple",checked:this.state.mode==="simple",onChange:()=>this.setMode("simple")}),Rr.default.createElement("label",{onClick:()=>this.setMode("simple"),style:this.state.mode!=="simple"?{color:"lightgrey"}:{}},D.t("sc_simple"))),(!this.props.simple&&!this.props.complex||this.props.complex)&&Rr.default.createElement(Rr.default.Fragment,null,Rr.default.createElement(Qt,{key:"complex",checked:this.state.mode==="complex",onChange:()=>this.setMode("complex")}),Rr.default.createElement("label",{onClick:()=>this.setMode("complex"),style:this.state.mode!=="complex"?{color:"lightgrey"}:{}},D.t("sc_cron")))):null,this.state.mode==="simple"&&Rr.default.createElement(Zc,{cronExpression:this.state.cron,onChange:t=>this.setState({cron:t}),language:D.getLanguage()}),this.state.mode==="wizard"&&Rr.default.createElement(ET,{theme:this.props.theme,schedule:this.state.cron,onChange:t=>this.setState({cron:t})}),this.state.mode==="complex"&&Rr.default.createElement(xu,{cronExpression:this.state.cron,onChange:t=>this.setState({cron:t}),language:D.getLanguage()})),Rr.default.createElement(vr,null,Rr.default.createElement(st,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:Rr.default.createElement(wo,null)},this.props.ok||D.t("ra_Ok")),Rr.default.createElement(st,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:Rr.default.createElement(Ti,null)},this.props.cancel||D.t("ra_Cancel"))))}};var Yae=y(P());var ln=y(P());var Qc={headerID:{fontWeight:"bold",fontStyle:"italic"},dialog:{height:"95%"},dialogMobile:{padding:"4px",width:"100%",maxWidth:"100%",maxHeight:"calc(100% - 16px)",height:"100%"},content:{height:"100%",overflow:"hidden"},contentMobile:{padding:"8px 4px"},titleRoot:{whiteSpace:"nowrap",width:"calc(100% - 72px)",overflow:"hidden",display:"inline-block",textOverflow:"ellipsis"}},ik=class extends ln.default.Component{constructor(r){super(r);A(this,"dialogName");A(this,"filters");this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectFile.${this.dialogName}`;let o=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(o)}catch(n){this.filters={}}r.filters&&(this.filters={...this.filters,...r.filters});let a=this.props.selected||[];typeof a!="object"?a=[a]:a=[...a],a=a.filter(n=>n),this.state={selected:a}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.props.multiSelect||!Array.isArray(this.state.selected)?this.state.selected:this.state.selected[0]||""),this.props.onClose()}render(){let r;return this.state.selected.length?!Array.isArray(this.state.selected)||this.state.selected.length===1?r=[ln.default.createElement("span",{key:"selected"},D.t("ra_Selected"),"\xA0"),ln.default.createElement("span",{key:"id",style:Qc.headerID},this.state.selected)]:r=[ln.default.createElement("span",{key:"selected"},D.t("ra_Selected"),"\xA0"),ln.default.createElement("span",{key:"id",style:Qc.headerID},D.t("%s items",this.state.selected.length))]:r=this.props.title||D.t("ra_Please select file..."),ln.default.createElement(cr,{onClose:()=>{},maxWidth:!1,sx:{"& .MuiDialog-paper":{...Qc.dialog,...Qc.dialogMobile}},fullWidth:!0,open:!0,"aria-labelledby":"ar_dialog_selectfile_title"},ln.default.createElement(mr,{id:"ar_dialog_selectfile_title",sx:{"&.MuiDialogTitle-root":Qc.titleRoot}},r),ln.default.createElement(Tr,{style:{...Qc.content,...Qc.contentMobile}},ln.default.createElement(ZF,{ready:!0,imagePrefix:this.props.imagePrefix||this.props.prefix||"../",allowUpload:!!this.props.allowUpload,allowDownload:this.props.allowDownload!==!1,allowCreateFolder:!!this.props.allowCreateFolder,allowDelete:!!this.props.allowDelete,allowView:this.props.allowView!==!1,showViewTypeButton:this.props.showViewTypeButton!==!1,showToolbar:this.props.showToolbar!==!1,limitPath:this.props.limitPath,filterFiles:this.props.filterFiles,filterByType:this.props.filterByType,selected:this.props.selected,restrictToFolder:this.props.restrictToFolder,allowNonRestricted:this.props.allowNonRestricted,onSelect:(o,a,n)=>{this.setState({selected:Array.isArray(o)?o:[o]},()=>a&&(!this.props.selectOnlyFolders||n)&&this.handleOk())},t:this.props.t||D.t,lang:this.props.lang||D.getLanguage(),socket:this.props.socket,themeType:this.props.themeType,themeName:this.props.themeName,theme:this.props.theme,showExpertButton:this.props.showExpertButton,expertMode:this.props.expertMode,showTypeSelector:this.props.showTypeSelector})),ln.default.createElement(vr,null,ln.default.createElement(st,{variant:"contained",onClick:()=>this.handleOk(),startIcon:ln.default.createElement(wo,null),disabled:!this.state.selected.length,color:"primary"},this.props.ok||D.t("ra_Ok")),ln.default.createElement(st,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:ln.default.createElement(Ti,null)},this.props.cancel||D.t("ra_Cancel"))))}};var Ii=y(P());var F9e={dialogPaper:{height:"calc(100% - 96px)"}},lk=class extends Ii.default.Component{constructor(t){super(t);let r;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?r=this.props.cron.replace(/['"]/g,"").trim():(r=this.props.cron||"{}",typeof r=="string"&&(r=r.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={cron:r}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}render(){return Ii.default.createElement(cr,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":F9e.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},Ii.default.createElement(mr,{id:"cron-dialog-title"},this.props.title||D.t("ra_Define CRON...")),Ii.default.createElement(Tr,{style:{height:"100%",overflow:"hidden"}},Ii.default.createElement(Zc,{cronExpression:this.state.cron,onChange:t=>this.setState({cron:t}),language:D.getLanguage()})),Ii.default.createElement(vr,null,Ii.default.createElement(st,{variant:"contained",disabled:!this.state.cron||this.state.cron.includes("_"),onClick:()=>this.handleOk(),color:"primary",startIcon:Ii.default.createElement(wo,null)},this.props.ok||D.t("ra_Ok")),Ii.default.createElement(st,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:Ii.default.createElement(Ti,null)},this.props.cancel||D.t("ra_Cancel"))))}};var em=y(P());var mg=[{label:"SetState",value:"set",trigger:!0,entries:[{name:"trigger",val:"",headline:"trigger",elementGetRows:"IDs",required:!0},{name:"IDs",val:"",headline:"ID",width:"20%",required:!0},{name:"values",val:"",headline:"value",width:"10%",required:!0,btnCircleAdd:!0},{name:"returnText",val:"",headline:"returnText",width:"40%",required:!0,btnCircleAdd:!0},{name:"ack",val:"false",headline:"Ack",title:"setWithAck",checkbox:!0,width:"3%",required:!0},{name:"confirm",val:"false",headline:"Con",title:"confirmMessage",checkbox:!0,width:"3%",required:!0},{name:"switch_checkbox",val:"false",headline:"Tog",title:"toggle",checkbox:!0,width:"3%",required:!0},{name:"parse_mode",val:"false",headline:"Par",title:"parseMode",checkbox:!0,width:"3%",required:!0}],popupCard:{buttons:{add:!0,remove:!0,copy:!0},width:"99%",height:"70%"}},{label:"GetState",value:"get",trigger:!0,entries:[{name:"trigger",val:"",headline:"trigger",width:"20%",elementGetRows:"IDs",required:!0},{name:"IDs",val:"",headline:"ID",width:"40%",required:!0},{name:"text",val:"",headline:"text",width:"40%",required:!0,btnCircleAdd:!0},{name:"newline_checkbox",val:"true",headline:"New",title:"newlineCheckbox",checkbox:!0,width:"3%",required:!0},{name:"parse_mode",val:"false",headline:"Par",title:"Parse Mode HTML",checkbox:!0,width:"3%",required:!0}],popupCard:{buttons:{add:!0,remove:!0,copy:!0},width:"99%",height:"70%"}},{label:"Send Picture",value:"pic",trigger:!0,entries:[{name:"trigger",val:"",headline:"trigger",width:"20%",elementGetRows:"IDs",required:!0},{name:"IDs",val:"",headline:"ID",width:"40%",required:!0},{name:"fileName",val:"",headline:"filename",width:"40%",required:!0},{name:"picSendDelay",val:"",headline:"delay",width:"40%",type:"number",required:!0}],popupCard:{buttons:{add:!0,remove:!0},width:"99%",height:"70%"}},{label:"Send Location",value:"loc",trigger:!0,entries:[{name:"trigger",val:"",headline:"trigger",width:"20%",elementGetRows:"latitude",required:!0},{name:"latitude",val:"",headline:"latitude",width:"20%",search:!0,required:!0},{name:"longitude",val:"",headline:"longitude",width:"20%",search:!0,required:!0},{name:"parse_mode",val:"false",headline:"Par",title:"Parse Mode HTML",checkbox:!0,width:"3%",required:!0}],popupCard:{buttons:{add:!0,remove:!0},width:"99%",height:"70%"}},{label:"Events",value:"events",trigger:!1,entries:[{name:"ID",val:"",headline:"ID",width:"40%",search:!0,required:!0},{name:"menu",val:"",headline:"executedMenu",width:"20%",elementGetRows:"menu",required:!0},{name:"condition",val:"",headline:"conditionMenu",width:"20%",noIcon:!0,required:!0},{name:"ack",val:"false",headline:"Ack",title:"setAck",checkbox:!0,width:"3%",required:!0}],popupCard:{buttons:{add:!1,remove:!1},width:"99%",height:"40%"}},{label:"Echarts",value:"echarts",searchRoot:{root:"echarts",type:["chart"]},trigger:!0,entries:[{name:"trigger",val:"",headline:"trigger",width:"20%",required:!0},{name:"preset",val:"",headline:"preset",width:"40%",elementGetRows:"preset",search:!0,required:!0},{name:"background",val:"#FFFFFF",headline:"background",width:"10%",required:!0},{name:"theme",val:"light",headline:"theme",width:"10%",required:!0},{name:"filename",val:"echarts-temp-photo.jpg",headline:"filename",width:"20%",required:!0}],popupCard:{buttons:{add:!0,remove:!0},width:"99%",height:"70%"}},{label:"Http Request",value:"httpRequest",trigger:!0,entries:[{name:"trigger",val:"",headline:"trigger",width:"20%",required:!0},{name:"url",val:"",headline:"url",width:"20%",elementGetRows:"url",search:!0,required:!0},{name:"user",val:"",headline:"user",width:"20%"},{name:"password",val:"",headline:"password",password:!0,width:"20%"},{name:"filename",val:"http-request-photo.jpg",headline:"filename",width:"20%",required:!0}],popupCard:{buttons:{add:!0,remove:!0},width:"99%",height:"70%"}}],Zae=[{name:"call",val:"",headline:"trigger",width:"25%",editWidth:"98%"},{name:"value",val:"",headline:"navigation",width:"45%",editWidth:"98%"},{name:"text",val:"chooseAction",headline:"text",width:"35%",editWidth:"98%"},{name:"parse_mode",val:"false",headline:"Par",title:"Parse Mode HTML",checkbox:!0,width:"10%"}];function Qae(e){return e.replace(/ /g,"_")}function pk(e){return e==="1"||e===1||e===!0||e==="true"}var ene=e=>{try{let t=[],r=JSON.parse(e);return Object.keys(r).forEach(o=>{let a=r[o].firstName;t.push({name:a,chatID:o})}),t}catch(t){console.error(`Error processUserData: ${JSON.stringify(t)}`)}},Lt=e=>{try{return JSON.parse(JSON.stringify(e))}catch(t){console.error(`Error deepCopy: ${JSON.stringify(t)}`)}},hg=e=>["true",!0].includes(e),xg=e=>e.filter((t,r)=>e.indexOf(t)===r),tne=e=>(e.sort((t,r)=>{let o=t.toLowerCase(),a=r.toLowerCase();return oa?1:0}),e);function j9e(e,t,r){let o={};return r.forEach(a=>{o[a.name]=e[a.name]&&e[a.name][t]?e[a.name][t]:""}),o}function rne(e,t){var n;if(!e)return{rows:null,trigger:""};let r=[],o="";e.trigger&&e.trigger[0]&&(o=e.trigger[0]);let a=(n=t.find(s=>s.elementGetRows!==void 0))==null?void 0:n.elementGetRows;if(!a)return{rows:null,trigger:""};e&&e[a]||console.error(`GenerateBy not found in element, actionUtils.js. Check entries.mjs for ${a} is not a name of an element`);for(let s in e[a]){let i=j9e(e,s,t);i&&r.push(i)}return{rows:r,trigger:o}}var Rp=(e,t,r,o)=>{if((o==null?void 0:o.length)==0){let{rows:s,trigger:i}=rne(e.data.newRow,e.data.tab.entries);if(!s)return;t({trigger:i,rows:s});return}let{rows:a,trigger:n}=rne(r,e.data.tab.entries);a&&t({trigger:n,rows:a})},one=({index:e,val:t,id:r},o,a)=>{var s;let n=Lt(o.data.newRow);n&&(n[r][e]=t.toString(),(s=o.callback)!=null&&s.setStateTabActionContent&&o.callback.setStateTabActionContent({newRow:n}),Rp(o,a,n))},ane=(e,t,r)=>{var a;let o=Lt(t.data.newRow);o&&(o.trigger[0]=e.trigger,(a=t.callback)!=null&&a.setStateTabActionContent&&t.callback.setStateTabActionContent({newRow:o}),Rp(t,r,o))},dk=(e,t,r,o)=>{let a;e>=0&&(a=Lt(t.data.newRow)),a&&(t.data.tab.entries.forEach(n=>{!e&&e!==0&&a?a[n.name]=[n.val]:a&&n.name!=="trigger"&&a[n.name].splice(e+1,0,n.val)}),o({newRow:a}),Rp(t,r,a))},nne=(e,t,r)=>{var a;let o=Lt(t.data.newRow);o&&(t.data.tab.entries.forEach(n=>{o[n.name].splice(e,1)}),(a=t.callback)!=null&&a.setStateTabActionContent&&t.callback.setStateTabActionContent({newRow:o}),Rp(t,r,o))},sne=(e,t,r,o)=>{var n;let a=Lt(t.data.newRow);a&&(t.data.tab.entries.forEach(s=>{s.name!=="trigger"&&a[s.name].splice(e+o,0,a[s.name].splice(e,1)[0])}),(n=t.callback)!=null&&n.setStateTabActionContent&&t.callback.setStateTabActionContent({newRow:a}),Rp(t,r,a))},ine=(e,t,r,o,a)=>{var s;let n=Lt(t.data.newRow);n&&(n[a][r]=e,(s=t.callback)!=null&&s.setStateTabActionContent&&t.callback.setStateTabActionContent({newRow:n}),Rp(t,o,n))},L9e=e=>{let t=[],r;if(e.includes("&&")?r=e.split("&&"):r=[e],r[0].includes("menu:")){let a=e[0].split(":")[2];a&&t.push(a.trim())}else r.forEach(o=>{o.split(",").forEach(a=>{a.trim()!="-"&&t.push(a.trim())})});return t},PT=(e,t,r)=>{let o=[];mg.forEach(f=>{f.trigger&&o.push(f.value)});let a=t[r],n=[];if(!a)return;a.forEach(f=>{Object.keys(t).forEach(c=>{t[c].includes(f)&&n.push(c)})}),n=xg(n);let s=[],i=[],p=[],d={unUsedTrigger:[""],everyTrigger:{},usedTrigger:{nav:{},action:{}}};n.forEach(f=>{let c=[];if(!e.nav[f])return;e.nav[f].forEach((g,h)=>{s.push(g.call),p.push(g.call);let x=L9e(g.value);c=c.concat(x),i=i.concat(x),h==e.nav[f].length-1&&(d.usedTrigger.nav[f]=[...p],d.everyTrigger[f]=xg([...c].filter(T=>T!="-")).sort(),p.length=0)}),d.usedTrigger.action[f]={};let m=[];o.forEach(g=>{e.action[f][g]&&e.action[f][g].forEach((h,x)=>{s=s.concat(h.trigger),m.push(h.trigger[0]),x==e.action[f][g].length-1&&(d.usedTrigger.action[f][g]=[...m],m.length=0)})})}),Array.isArray(i)&&(i=xg(i));let u=i.filter(f=>!s.includes(f));return u.length>0&&(d.unUsedTrigger=u),u=tne(u),{usedTrigger:s,unUsedTrigger:u,triggerObj:d}},z9e=()=>em.default.createElement("button",{className:"buttonTrue"},em.default.createElement("span",null,em.default.createElement("i",{className:"material-icons"},"done"))),W9e=()=>em.default.createElement("button",{className:"buttonFalse"},em.default.createElement("span",null,em.default.createElement("i",{className:"material-icons"},"close"))),gg=(e,t)=>{if(e){if(!(t!=null&&t.noIcon)){if(pk(e))return z9e();if(e==="false")return W9e()}return e.toString().replace(/&/g,"&")}},RB=e=>{let t={};return Object.entries(e).sort().forEach(r=>{t[r[0]]=r[1]}),t};function DB(e,t,r,o){let a=PT(r,o,e);a&&t({unUsedTrigger:a.unUsedTrigger,usedTrigger:a.usedTrigger,triggerObject:a.triggerObj})}var Su={dragStartX:0,dragStartY:0,dragEndX:0,dragEndY:0};function lne(e){e&&(Su.dragStartX=e.clientX,Su.dragStartY=e.clientY)}function pne(e,t){if(!e)return;e.preventDefault(),Su.dragEndX=e.clientX,Su.dragEndY=e.clientY;let r=Su.dragEndY-Su.dragStartY,o=Su.dragEndX-Su.dragStartX;t&&t({dropDifferenzY:r,dropDifferenzX:o})}function dne(e){e&&e.preventDefault()}function une(e){e&&e.preventDefault()}function fne(e){e&&e.preventDefault()}function cne(){document.querySelectorAll("tr[draggable],span[draggable]").forEach(e=>{e.classList.add("draggingDropBox")})}function mne(){document.querySelectorAll("tr[draggable],span[draggable]").forEach(e=>{e.draggable=!0,e.classList.remove("draggingDropBox")})}var RT=(e,t,r,o,a)=>{if((r==null?void 0:r.current)!=null&&o){e||t||(e=parseInt(r.current.style.right.replace("px","")),t=parseInt(r.current.style.top.replace("px","")));let n=document.querySelector(".adapter-container"),{maxTop:s,maxRight:i}=U9e(n,r),{y:p,x:l}=V9e({maxTop:s,maxRight:i,newX:e,newY:t,dropbox:a});r.current.style.top=`${p}px`,r.current.style.right=`${l}px`}};function U9e(e,t){var r,o;return{maxTop:(e==null?void 0:e.offsetHeight)-(((r=t==null?void 0:t.current)==null?void 0:r.offsetHeight)||0),maxRight:(e==null?void 0:e.offsetWidth)-(((o=t==null?void 0:t.current)==null?void 0:o.offsetWidth)||0)}}function V9e({maxTop:e,maxRight:t,newX:r,newY:o,dropbox:a}){return o&&r?{y:$9e(o,e),x:H9e(r,t)}:a&&a.dropboxRight&&a.dropboxTop?{x:a.dropboxRight,y:a.dropboxTop}:{y:105,x:5}}function H9e(e,t){return e<1?1:e>t?t:e}function $9e(e,t){return e<1?1:e>t?t:e}var G9e=e=>{let t=["set","get"];return Object.keys(e.action).forEach(r=>{t.forEach(o=>{e.action[r][o].forEach((a,n)=>{e.action[r][o][n].parse_mode||(e.action[r][o][n].parse_mode=["false"])})})}),Object.keys(e.nav).forEach(r=>{e.nav[r].forEach((o,a)=>{e.nav[r][a].parse_mode||(e.nav[r][a].parse_mode="false")})}),e},q9e=(e,t)=>{Object.keys(e.action).forEach(r=>{e.action[r].set.forEach((o,a)=>{let n=e.action[r].set[a];if(!n.ack)e.action[r].set[a].ack=[];else return;n.returnText.map((s,i)=>{let p="";if(s.includes("ack:")){s.includes("ack:true")?(p=s.replace("ack:true","").replace(" "," "),e.action[r].set[a].ack[i]="true"):(p=s.includes("ack:false")?s.replace("ack:false","").replace(" "," "):s,e.action[r].set[a].ack[i]="false"),e.action[r].set[a].returnText[i]=p;return}e.action[r].set[a].ack[i]="false"})})}),t("data",e)},hne=(e,t)=>{if(Object.keys(e).length==0)return;let r=Lt(e);r&&q9e(G9e(r),t)};async function K9e(e,t="telegram.0",r){try{await e.getState(`${t}.communicate.users`).then(o=>{if(o&&o.val)return r(o.val)})}catch(o){console.error(`Error get Users vom Telegram: ${JSON.stringify(o)}`)}}async function X9e(e,t){let r=[];try{await e.getObjectViewCustom("system","instance","","\u9999").then(a=>{Object.keys(a).forEach(n=>{o(a,n)&&r.push(a[n]._id.replace(/^system\.adapter\./,""))}),t(r)})}catch(a){console.error(`Error getAllTelegramInstance: ${JSON.stringify(a)}`)}function o(a,n){var s;return((s=a==null?void 0:a[n])==null?void 0:s.common.name)==="telegram"}}var J9e={getUsersFromTelegram:K9e,getAllTelegramInstances:X9e},AB=J9e;var Ou=y(P());var xne=y(lf()),xo=xne.default;var gne=c0;pt();var ck=y(P());pt();var uk=y(P());pt();var Uor=y(P());var Y9e=y(U());function Gt(e){return gD(e)}function yne(e){return Rt("MuiSvgIcon",e)}var Jor=Ct("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);var bne=y(U()),vne=y(U()),Z9e=["children","className","color","component","fontSize","htmlColor","inheritViewBox","titleAccess","viewBox"],Q9e=e=>{let{color:t,fontSize:r,classes:o}=e,a={root:["root",t!=="inherit"&&`color${xo(t)}`,`fontSize${xo(r)}`]};return Dt(a,yne,o)},e8e=ut("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.color!=="inherit"&&t[`color${xo(r.color)}`],t[`fontSize${xo(r.fontSize)}`]]}})(({theme:e,ownerState:t})=>{var r,o,a,n,s,i,p,l,d,u,f,c,m;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",fill:t.hasSvgAsChild?void 0:"currentColor",flexShrink:0,transition:(r=e.transitions)==null||(o=r.create)==null?void 0:o.call(r,"fill",{duration:(a=e.transitions)==null||(a=a.duration)==null?void 0:a.shorter}),fontSize:{inherit:"inherit",small:((n=e.typography)==null||(s=n.pxToRem)==null?void 0:s.call(n,20))||"1.25rem",medium:((i=e.typography)==null||(p=i.pxToRem)==null?void 0:p.call(i,24))||"1.5rem",large:((l=e.typography)==null||(d=l.pxToRem)==null?void 0:d.call(l,35))||"2.1875rem"}[t.fontSize],color:(u=(f=(e.vars||e).palette)==null||(f=f[t.color])==null?void 0:f.main)!=null?u:{action:(c=(e.vars||e).palette)==null||(c=c.action)==null?void 0:c.active,disabled:(m=(e.vars||e).palette)==null||(m=m.action)==null?void 0:m.disabled,inherit:void 0}[t.color]}}),Tne=uk.forwardRef(function(t,r){let o=Gt({props:t,name:"MuiSvgIcon"}),{children:a,className:n,color:s="inherit",component:i="svg",fontSize:p="medium",htmlColor:l,inheritViewBox:d=!1,titleAccess:u,viewBox:f="0 0 24 24"}=o,c=ze(o,Z9e),m=uk.isValidElement(a)&&a.type==="svg",g=Z({},o,{color:s,component:i,fontSize:p,instanceFontSize:t.fontSize,inheritViewBox:d,viewBox:f,hasSvgAsChild:m}),h={};d||(h.viewBox=f);let x=Q9e(g);return(0,vne.jsxs)(e8e,Z({as:i,className:z(x.root,n),focusable:"false",color:l,"aria-hidden":u?void 0:!0,role:u?"img":void 0,ref:r},h,c,m&&a.props,{ownerState:g,children:[m?a.props.children:a,u?(0,bne.jsx)("title",{children:u}):null]}))});Tne.muiName="SvgIcon";var fk=Tne;var Sne=y(U());function Dp(e,t){function r(o,a){return(0,Sne.jsx)(fk,Z({"data-testid":`${t}Icon`,ref:a},o,{children:e}))}return r.muiName=fk.muiName,ck.memo(ck.forwardRef(r))}var mk=m0;var wne=ih;var DT=h0;var MB=rb;var _ne=g0;var Ap=sD;var NB=lh;var Cne=T0;pt();var kne=y(P());var IB=y(hh());function One(e){return Rt("MuiPaper",e)}var Iar=Ct("MuiPaper",["root","rounded","outlined","elevation","elevation0","elevation1","elevation2","elevation3","elevation4","elevation5","elevation6","elevation7","elevation8","elevation9","elevation10","elevation11","elevation12","elevation13","elevation14","elevation15","elevation16","elevation17","elevation18","elevation19","elevation20","elevation21","elevation22","elevation23","elevation24"]);var Ene=y(U()),t8e=["className","component","elevation","square","variant"],r8e=e=>{let{square:t,elevation:r,variant:o,classes:a}=e,n={root:["root",o,!t&&"rounded",o==="elevation"&&`elevation${r}`]};return Dt(n,One,a)},o8e=ut("div",{name:"MuiPaper",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[r.variant],!r.square&&t.rounded,r.variant==="elevation"&&t[`elevation${r.elevation}`]]}})(({theme:e,ownerState:t})=>{var r;return Z({backgroundColor:(e.vars||e).palette.background.paper,color:(e.vars||e).palette.text.primary,transition:e.transitions.create("box-shadow")},!t.square&&{borderRadius:e.shape.borderRadius},t.variant==="outlined"&&{border:`1px solid ${(e.vars||e).palette.divider}`},t.variant==="elevation"&&Z({boxShadow:(e.vars||e).shadows[t.elevation]},!e.vars&&e.palette.mode==="dark"&&{backgroundImage:`linear-gradient(${(0,IB.alpha)("#fff",sA(t.elevation))}, ${(0,IB.alpha)("#fff",sA(t.elevation))})`},e.vars&&{backgroundImage:(r=e.vars.overlays)==null?void 0:r[t.elevation]}))}),a8e=kne.forwardRef(function(t,r){let o=Gt({props:t,name:"MuiPaper"}),{className:a,component:n="div",elevation:s=1,square:i=!1,variant:p="elevation"}=o,l=ze(o,t8e),d=Z({},o,{component:n,elevation:s,square:i,variant:p}),u=r8e(d);return(0,Ene.jsx)(o8e,Z({as:n,ownerState:d,className:z(u.root,a),ref:r},l))}),Sl=a8e;pt();var Mn=y(P());pt();var Xo=y(P());var hk=y(P());var FB=y(U());function n8e(e){let{className:t,classes:r,pulsate:o=!1,rippleX:a,rippleY:n,rippleSize:s,in:i,onExited:p,timeout:l}=e,[d,u]=hk.useState(!1),f=z(t,r.ripple,r.rippleVisible,o&&r.ripplePulsate),c={width:s,height:s,top:-(s/2)+n,left:-(s/2)+a},m=z(r.child,d&&r.childLeaving,o&&r.childPulsate);return!i&&!d&&u(!0),hk.useEffect(()=>{if(!i&&p!=null){let g=setTimeout(p,l);return()=>{clearTimeout(g)}}},[p,i,l]),(0,FB.jsx)("span",{className:f,style:c,children:(0,FB.jsx)("span",{className:m})})}var Pne=n8e;var s8e=Ct("MuiTouchRipple",["root","ripple","rippleVisible","ripplePulsate","child","childLeaving","childPulsate"]),as=s8e;var xk=y(U()),i8e=["center","classes","className"],gk=e=>e,Rne,Dne,Ane,Mne,BB=550,l8e=80,p8e=(0,gf.keyframes)(Rne||(Rne=gk` - 0% { - transform: scale(0); - opacity: 0.1; - } - - 100% { - transform: scale(1); - opacity: 0.3; - } -`)),d8e=(0,gf.keyframes)(Dne||(Dne=gk` - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - } -`)),u8e=(0,gf.keyframes)(Ane||(Ane=gk` - 0% { - transform: scale(1); - } - - 50% { - transform: scale(0.92); - } - - 100% { - transform: scale(1); - } -`)),f8e=ut("span",{name:"MuiTouchRipple",slot:"Root"})({overflow:"hidden",pointerEvents:"none",position:"absolute",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:"inherit"}),c8e=ut(Pne,{name:"MuiTouchRipple",slot:"Ripple"})(Mne||(Mne=gk` - opacity: 0; - position: absolute; - - &.${0} { - opacity: 0.3; - transform: scale(1); - animation-name: ${0}; - animation-duration: ${0}ms; - animation-timing-function: ${0}; - } - - &.${0} { - animation-duration: ${0}ms; - } - - & .${0} { - opacity: 1; - display: block; - width: 100%; - height: 100%; - border-radius: 50%; - background-color: currentColor; - } - - & .${0} { - opacity: 0; - animation-name: ${0}; - animation-duration: ${0}ms; - animation-timing-function: ${0}; - } - - & .${0} { - position: absolute; - /* @noflip */ - left: 0px; - top: 0; - animation-name: ${0}; - animation-duration: 2500ms; - animation-timing-function: ${0}; - animation-iteration-count: infinite; - animation-delay: 200ms; - } -`),as.rippleVisible,p8e,BB,({theme:e})=>e.transitions.easing.easeInOut,as.ripplePulsate,({theme:e})=>e.transitions.duration.shorter,as.child,as.childLeaving,d8e,BB,({theme:e})=>e.transitions.easing.easeInOut,as.childPulsate,u8e,({theme:e})=>e.transitions.easing.easeInOut),m8e=Xo.forwardRef(function(t,r){let o=Gt({props:t,name:"MuiTouchRipple"}),{center:a=!1,classes:n={},className:s}=o,i=ze(o,i8e),[p,l]=Xo.useState([]),d=Xo.useRef(0),u=Xo.useRef(null);Xo.useEffect(()=>{u.current&&(u.current(),u.current=null)},[p]);let f=Xo.useRef(!1),c=y0(),m=Xo.useRef(null),g=Xo.useRef(null),h=Xo.useCallback(b=>{let{pulsate:w,rippleX:O,rippleY:k,rippleSize:M,cb:N}=b;l(S=>[...S,(0,xk.jsx)(c8e,{classes:{ripple:z(n.ripple,as.ripple),rippleVisible:z(n.rippleVisible,as.rippleVisible),ripplePulsate:z(n.ripplePulsate,as.ripplePulsate),child:z(n.child,as.child),childLeaving:z(n.childLeaving,as.childLeaving),childPulsate:z(n.childPulsate,as.childPulsate)},timeout:BB,pulsate:w,rippleX:O,rippleY:k,rippleSize:M},d.current)]),d.current+=1,u.current=N},[n]),x=Xo.useCallback((b={},w={},O=()=>{})=>{let{pulsate:k=!1,center:M=a||w.pulsate,fakeElement:N=!1}=w;if((b==null?void 0:b.type)==="mousedown"&&f.current){f.current=!1;return}(b==null?void 0:b.type)==="touchstart"&&(f.current=!0);let S=N?null:g.current,B=S?S.getBoundingClientRect():{width:0,height:0,left:0,top:0},$,K,G;if(M||b===void 0||b.clientX===0&&b.clientY===0||!b.clientX&&!b.touches)$=Math.round(B.width/2),K=Math.round(B.height/2);else{let{clientX:L,clientY:Y}=b.touches&&b.touches.length>0?b.touches[0]:b;$=Math.round(L-B.left),K=Math.round(Y-B.top)}if(M)G=Math.sqrt((2*B.width**2+B.height**2)/3),G%2===0&&(G+=1);else{let L=Math.max(Math.abs((S?S.clientWidth:0)-$),$)*2+2,Y=Math.max(Math.abs((S?S.clientHeight:0)-K),K)*2+2;G=Math.sqrt(L**2+Y**2)}b!=null&&b.touches?m.current===null&&(m.current=()=>{h({pulsate:k,rippleX:$,rippleY:K,rippleSize:G,cb:O})},c.start(l8e,()=>{m.current&&(m.current(),m.current=null)})):h({pulsate:k,rippleX:$,rippleY:K,rippleSize:G,cb:O})},[a,h,c]),T=Xo.useCallback(()=>{x({},{pulsate:!0})},[x]),v=Xo.useCallback((b,w)=>{if(c.clear(),(b==null?void 0:b.type)==="touchend"&&m.current){m.current(),m.current=null,c.start(0,()=>{v(b,w)});return}m.current=null,l(O=>O.length>0?O.slice(1):O),u.current=w},[c]);return Xo.useImperativeHandle(r,()=>({pulsate:T,start:x,stop:v}),[T,x,v]),(0,xk.jsx)(f8e,Z({className:z(as.root,n.root,s),ref:g},i,{children:(0,xk.jsx)(sv,{component:null,exit:!0,children:p})}))}),Nne=m8e;function Ine(e){return Rt("MuiButtonBase",e)}var h8e=Ct("MuiButtonBase",["root","disabled","focusVisible"]),Fne=h8e;var Bne=y(U()),jne=y(U()),x8e=["action","centerRipple","children","className","component","disabled","disableRipple","disableTouchRipple","focusRipple","focusVisibleClassName","LinkComponent","onBlur","onClick","onContextMenu","onDragLeave","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","touchRippleRef","type"],g8e=e=>{let{disabled:t,focusVisible:r,focusVisibleClassName:o,classes:a}=e,s=Dt({root:["root",t&&"disabled",r&&"focusVisible"]},Ine,a);return r&&o&&(s.root+=` ${o}`),s},y8e=ut("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},[`&.${Fne.disabled}`]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}}),b8e=Mn.forwardRef(function(t,r){let o=Gt({props:t,name:"MuiButtonBase"}),{action:a,centerRipple:n=!1,children:s,className:i,component:p="button",disabled:l=!1,disableRipple:d=!1,disableTouchRipple:u=!1,focusRipple:f=!1,LinkComponent:c="a",onBlur:m,onClick:g,onContextMenu:h,onDragLeave:x,onFocus:T,onFocusVisible:v,onKeyDown:b,onKeyUp:w,onMouseDown:O,onMouseLeave:k,onMouseUp:M,onTouchEnd:N,onTouchMove:S,onTouchStart:B,tabIndex:$=0,TouchRippleProps:K,touchRippleRef:G,type:L}=o,Y=ze(o,x8e),oe=Mn.useRef(null),ee=Mn.useRef(null),se=NB(ee,G),{isFocusVisibleRef:Ae,onFocus:Me,onBlur:Ge,ref:Le}=Cne(),[ke,Ve]=Mn.useState(!1);l&&ke&&Ve(!1),Mn.useImperativeHandle(a,()=>({focusVisible:()=>{Ve(!0),oe.current.focus()}}),[]);let[Ee,nt]=Mn.useState(!1);Mn.useEffect(()=>{nt(!0)},[]);let Ze=Ee&&!d&&!l;Mn.useEffect(()=>{ke&&f&&!d&&Ee&&ee.current.pulsate()},[d,f,ke,Ee]);function qe(Pe,qt,Pt=u){return Ap(ht=>(qt&&qt(ht),!Pt&&ee.current&&ee.current[Pe](ht),!0))}let ct=qe("start",O),We=qe("stop",h),Ne=qe("stop",x),tt=qe("stop",M),Xe=qe("stop",Pe=>{ke&&Pe.preventDefault(),k&&k(Pe)}),rt=qe("start",B),ue=qe("stop",N),Ce=qe("stop",S),He=qe("stop",Pe=>{Ge(Pe),Ae.current===!1&&Ve(!1),m&&m(Pe)},!1),Ke=Ap(Pe=>{oe.current||(oe.current=Pe.currentTarget),Me(Pe),Ae.current===!0&&(Ve(!0),v&&v(Pe)),T&&T(Pe)}),ot=()=>{let Pe=oe.current;return p&&p!=="button"&&!(Pe.tagName==="A"&&Pe.href)},yt=Mn.useRef(!1),bt=Ap(Pe=>{f&&!yt.current&&ke&&ee.current&&Pe.key===" "&&(yt.current=!0,ee.current.stop(Pe,()=>{ee.current.start(Pe)})),Pe.target===Pe.currentTarget&&ot()&&Pe.key===" "&&Pe.preventDefault(),b&&b(Pe),Pe.target===Pe.currentTarget&&ot()&&Pe.key==="Enter"&&!l&&(Pe.preventDefault(),g&&g(Pe))}),Ie=Ap(Pe=>{f&&Pe.key===" "&&ee.current&&ke&&!Pe.defaultPrevented&&(yt.current=!1,ee.current.stop(Pe,()=>{ee.current.pulsate(Pe)})),w&&w(Pe),g&&Pe.target===Pe.currentTarget&&ot()&&Pe.key===" "&&!Pe.defaultPrevented&&g(Pe)}),he=p;he==="button"&&(Y.href||Y.to)&&(he=c);let De={};he==="button"?(De.type=L===void 0?"button":L,De.disabled=l):(!Y.href&&!Y.to&&(De.role="button"),l&&(De["aria-disabled"]=l));let gt=NB(r,Le,oe),vt=Z({},o,{centerRipple:n,component:p,disabled:l,disableRipple:d,disableTouchRipple:u,focusRipple:f,tabIndex:$,focusVisible:ke}),Et=g8e(vt);return(0,jne.jsxs)(y8e,Z({as:he,className:z(Et.root,i),ownerState:vt,onBlur:He,onClick:g,onContextMenu:We,onFocus:Ke,onKeyDown:bt,onKeyUp:Ie,onMouseDown:ct,onMouseLeave:Xe,onMouseUp:tt,onDragLeave:Ne,onTouchEnd:ue,onTouchMove:Ce,onTouchStart:rt,ref:gt,tabIndex:l?-1:$,type:L},De,Y,{children:[s,Ze?(0,Bne.jsx)(Nne,Z({ref:se,center:n},K)):null]}))}),tm=b8e;var Lne=y(P()),v8e=Lne.createContext(void 0),zne=v8e;var Wne=y(P());function jB(){return Wne.useContext(zne)}var T8e=Ct("MuiBox",["root"]),Une=T8e;var S8e=xb(),w8e=Yw({themeId:ai,defaultTheme:S8e,defaultClassName:Une.root,generateClassName:cf.generate}),wu=w8e;pt();var Hne=y(P());function Vne(e){return Rt("PrivateSwitchBase",e)}var qnr=Ct("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);var $ne=y(U()),Gne=y(U()),_8e=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],C8e=e=>{let{classes:t,checked:r,disabled:o,edge:a}=e,n={root:["root",r&&"checked",o&&"disabled",a&&`edge${xo(a)}`],input:["input"]};return Dt(n,Vne,t)},O8e=ut(tm)(({ownerState:e})=>Z({padding:9,borderRadius:"50%"},e.edge==="start"&&{marginLeft:e.size==="small"?-3:-12},e.edge==="end"&&{marginRight:e.size==="small"?-3:-12})),k8e=ut("input",{shouldForwardProp:$l})({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),E8e=Hne.forwardRef(function(t,r){let{autoFocus:o,checked:a,checkedIcon:n,className:s,defaultChecked:i,disabled:p,disableFocusRipple:l=!1,edge:d=!1,icon:u,id:f,inputProps:c,inputRef:m,name:g,onBlur:h,onChange:x,onFocus:T,readOnly:v,required:b=!1,tabIndex:w,type:O,value:k}=t,M=ze(t,_8e),[N,S]=_ne({controlled:a,default:!!i,name:"SwitchBase",state:"checked"}),B=jB(),$=se=>{T&&T(se),B&&B.onFocus&&B.onFocus(se)},K=se=>{h&&h(se),B&&B.onBlur&&B.onBlur(se)},G=se=>{if(se.nativeEvent.defaultPrevented)return;let Ae=se.target.checked;S(Ae),x&&x(se,Ae)},L=p;B&&typeof L=="undefined"&&(L=B.disabled);let Y=O==="checkbox"||O==="radio",oe=Z({},t,{checked:N,disabled:L,disableFocusRipple:l,edge:d}),ee=C8e(oe);return(0,Gne.jsxs)(O8e,Z({component:"span",className:z(ee.root,s),centerRipple:!0,focusRipple:!l,disabled:L,tabIndex:null,role:void 0,onFocus:$,onBlur:K,ownerState:oe,ref:r},M,{children:[(0,$ne.jsx)(k8e,Z({autoFocus:o,checked:a,defaultChecked:i,className:ee.input,disabled:L,id:Y?f:void 0,name:g,onChange:G,readOnly:v,ref:m,required:b,ownerState:oe,tabIndex:w,type:O},O==="checkbox"&&k===void 0?{}:{value:k},c)),N?n:u]}))}),qne=E8e;pt();var yk=y(P());var Jne=y(U0());var Kne=y(P()),P8e=Kne.createContext(),LB=P8e;function Xne(e){return Rt("MuiGrid",e)}var R8e=[0,1,2,3,4,5,6,7,8,9,10],D8e=["column-reverse","column","row-reverse","row"],A8e=["nowrap","wrap-reverse","wrap"],AT=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],M8e=Ct("MuiGrid",["root","container","item","zeroMinWidth",...R8e.map(e=>`spacing-xs-${e}`),...D8e.map(e=>`direction-xs-${e}`),...A8e.map(e=>`wrap-xs-${e}`),...AT.map(e=>`grid-xs-${e}`),...AT.map(e=>`grid-sm-${e}`),...AT.map(e=>`grid-md-${e}`),...AT.map(e=>`grid-lg-${e}`),...AT.map(e=>`grid-xl-${e}`)]),yg=M8e;var zB=y(U()),N8e=["className","columns","columnSpacing","component","container","direction","item","rowSpacing","spacing","wrap","zeroMinWidth"];function bg(e){let t=parseFloat(e);return`${t}${String(e).replace(String(t),"")||"px"}`}function I8e({theme:e,ownerState:t}){let r;return e.breakpoints.keys.reduce((o,a)=>{let n={};if(t[a]&&(r=t[a]),!r)return o;if(r===!0)n={flexBasis:0,flexGrow:1,maxWidth:"100%"};else if(r==="auto")n={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"};else{let s=oh({values:t.columns,breakpoints:e.breakpoints.values}),i=typeof s=="object"?s[a]:s;if(i==null)return o;let p=`${Math.round(r/i*1e8)/1e6}%`,l={};if(t.container&&t.item&&t.columnSpacing!==0){let d=e.spacing(t.columnSpacing);if(d!=="0px"){let u=`calc(${p} + ${bg(d)})`;l={flexBasis:u,maxWidth:u}}}n=Z({flexBasis:p,flexGrow:0,maxWidth:p},l)}return e.breakpoints.values[a]===0?Object.assign(o,n):o[e.breakpoints.up(a)]=n,o},{})}function F8e({theme:e,ownerState:t}){let r=oh({values:t.direction,breakpoints:e.breakpoints.values});return ko({theme:e},r,o=>{let a={flexDirection:o};return o.indexOf("column")===0&&(a[`& > .${yg.item}`]={maxWidth:"none"}),a})}function Yne({breakpoints:e,values:t}){let r="";Object.keys(t).forEach(a=>{r===""&&t[a]!==0&&(r=a)});let o=Object.keys(e).sort((a,n)=>e[a]-e[n]);return o.slice(0,o.indexOf(r))}function B8e({theme:e,ownerState:t}){let{container:r,rowSpacing:o}=t,a={};if(r&&o!==0){let n=oh({values:o,breakpoints:e.breakpoints.values}),s;typeof n=="object"&&(s=Yne({breakpoints:e.breakpoints.values,values:n})),a=ko({theme:e},n,(i,p)=>{var l;let d=e.spacing(i);return d!=="0px"?{marginTop:`-${bg(d)}`,[`& > .${yg.item}`]:{paddingTop:bg(d)}}:(l=s)!=null&&l.includes(p)?{}:{marginTop:0,[`& > .${yg.item}`]:{paddingTop:0}}})}return a}function j8e({theme:e,ownerState:t}){let{container:r,columnSpacing:o}=t,a={};if(r&&o!==0){let n=oh({values:o,breakpoints:e.breakpoints.values}),s;typeof n=="object"&&(s=Yne({breakpoints:e.breakpoints.values,values:n})),a=ko({theme:e},n,(i,p)=>{var l;let d=e.spacing(i);return d!=="0px"?{width:`calc(100% + ${bg(d)})`,marginLeft:`-${bg(d)}`,[`& > .${yg.item}`]:{paddingLeft:bg(d)}}:(l=s)!=null&&l.includes(p)?{}:{width:"100%",marginLeft:0,[`& > .${yg.item}`]:{paddingLeft:0}}})}return a}function L8e(e,t,r={}){if(!e||e<=0)return[];if(typeof e=="string"&&!Number.isNaN(Number(e))||typeof e=="number")return[r[`spacing-xs-${String(e)}`]];let o=[];return t.forEach(a=>{let n=e[a];Number(n)>0&&o.push(r[`spacing-${a}-${String(n)}`])}),o}var z8e=ut("div",{name:"MuiGrid",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e,{container:o,direction:a,item:n,spacing:s,wrap:i,zeroMinWidth:p,breakpoints:l}=r,d=[];o&&(d=L8e(s,l,t));let u=[];return l.forEach(f=>{let c=r[f];c&&u.push(t[`grid-${f}-${String(c)}`])}),[t.root,o&&t.container,n&&t.item,p&&t.zeroMinWidth,...d,a!=="row"&&t[`direction-xs-${String(a)}`],i!=="wrap"&&t[`wrap-xs-${String(i)}`],...u]}})(({ownerState:e})=>Z({boxSizing:"border-box"},e.container&&{display:"flex",flexWrap:"wrap",width:"100%"},e.item&&{margin:0},e.zeroMinWidth&&{minWidth:0},e.wrap!=="wrap"&&{flexWrap:e.wrap}),F8e,B8e,j8e,I8e);function W8e(e,t){if(!e||e<=0)return[];if(typeof e=="string"&&!Number.isNaN(Number(e))||typeof e=="number")return[`spacing-xs-${String(e)}`];let r=[];return t.forEach(o=>{let a=e[o];if(Number(a)>0){let n=`spacing-${o}-${String(a)}`;r.push(n)}}),r}var U8e=e=>{let{classes:t,container:r,direction:o,item:a,spacing:n,wrap:s,zeroMinWidth:i,breakpoints:p}=e,l=[];r&&(l=W8e(n,p));let d=[];p.forEach(f=>{let c=e[f];c&&d.push(`grid-${f}-${String(c)}`)});let u={root:["root",r&&"container",a&&"item",i&&"zeroMinWidth",...l,o!=="row"&&`direction-xs-${String(o)}`,s!=="wrap"&&`wrap-xs-${String(s)}`,...d]};return Dt(u,Xne,t)},V8e=yk.forwardRef(function(t,r){let o=Gt({props:t,name:"MuiGrid"}),{breakpoints:a}=gb(),n=(0,Jne.extendSxProp)(o),{className:s,columns:i,columnSpacing:p,component:l="div",container:d=!1,direction:u="row",item:f=!1,rowSpacing:c,spacing:m=0,wrap:g="wrap",zeroMinWidth:h=!1}=n,x=ze(n,N8e),T=c||m,v=p||m,b=yk.useContext(LB),w=d?i||12:b,O={},k=Z({},x);a.keys.forEach(S=>{x[S]!=null&&(O[S]=x[S],delete k[S])});let M=Z({},n,{columns:w,container:d,direction:u,item:f,rowSpacing:T,columnSpacing:v,wrap:g,zeroMinWidth:h,spacing:m},O,{breakpoints:a.keys}),N=U8e(M);return(0,zB.jsx)(LB.Provider,{value:w,children:(0,zB.jsx)(z8e,Z({ownerState:M,className:z(N.root,s),as:l,ref:r},k))})}),tr=V8e;pt();var MT=y(P());var pse=y(hh());pt();var Dsr=y(P());var _sr=y(P());var Zne=y(U()),Qne=Dp((0,Zne.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"RadioButtonUnchecked");var ksr=y(P());var ese=y(U()),tse=Dp((0,ese.jsx)("path",{d:"M8.465 8.465C9.37 7.56 10.62 7 12 7C14.76 7 17 9.24 17 12C17 13.38 16.44 14.63 15.535 15.535C14.63 16.44 13.38 17 12 17C9.24 17 7 14.76 7 12C7 10.62 7.56 9.37 8.465 8.465Z"}),"RadioButtonChecked");var WB=y(U()),rse=y(U()),H8e=ut("span",{shouldForwardProp:$l})({position:"relative",display:"flex"}),$8e=ut(Qne)({transform:"scale(1)"}),G8e=ut(tse)(({theme:e,ownerState:t})=>Z({left:0,position:"absolute",transform:"scale(0)",transition:e.transitions.create("transform",{easing:e.transitions.easing.easeIn,duration:e.transitions.duration.shortest})},t.checked&&{transform:"scale(1)",transition:e.transitions.create("transform",{easing:e.transitions.easing.easeOut,duration:e.transitions.duration.shortest})}));function q8e(e){let{checked:t=!1,classes:r={},fontSize:o}=e,a=Z({},e,{checked:t});return(0,rse.jsxs)(H8e,{className:r.root,ownerState:a,children:[(0,WB.jsx)($8e,{fontSize:o,className:r.background,ownerState:a}),(0,WB.jsx)(G8e,{fontSize:o,className:r.dot,ownerState:a})]})}var UB=q8e;var nse=y(P());var ose=y(P()),K8e=ose.createContext(void 0),ase=K8e;function VB(){return nse.useContext(ase)}function sse(e){return Rt("MuiRadio",e)}var X8e=Ct("MuiRadio",["root","checked","disabled","colorPrimary","colorSecondary","sizeSmall"]),HB=X8e;var bk=y(U()),J8e=["checked","checkedIcon","color","icon","name","onChange","size","className"],Y8e=e=>{let{classes:t,color:r,size:o}=e,a={root:["root",`color${xo(r)}`,o!=="medium"&&`size${xo(o)}`]};return Z({},t,Dt(a,sse,t))},Z8e=ut(qne,{shouldForwardProp:e=>$l(e)||e==="classes",name:"MuiRadio",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.size!=="medium"&&t[`size${xo(r.size)}`],t[`color${xo(r.color)}`]]}})(({theme:e,ownerState:t})=>Z({color:(e.vars||e).palette.text.secondary},!t.disableRipple&&{"&:hover":{backgroundColor:e.vars?`rgba(${t.color==="default"?e.vars.palette.action.activeChannel:e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:(0,pse.alpha)(t.color==="default"?e.palette.action.active:e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},t.color!=="default"&&{[`&.${HB.checked}`]:{color:(e.vars||e).palette[t.color].main}},{[`&.${HB.disabled}`]:{color:(e.vars||e).palette.action.disabled}}));function Q8e(e,t){return typeof t=="object"&&t!==null?e===t:String(e)===String(t)}var ise=(0,bk.jsx)(UB,{checked:!0}),lse=(0,bk.jsx)(UB,{}),eUe=MT.forwardRef(function(t,r){var o,a;let n=Gt({props:t,name:"MuiRadio"}),{checked:s,checkedIcon:i=ise,color:p="primary",icon:l=lse,name:d,onChange:u,size:f="medium",className:c}=n,m=ze(n,J8e),g=Z({},n,{color:p,size:f}),h=Y8e(g),x=VB(),T=s,v=gne(u,x&&x.onChange),b=d;return x&&(typeof T=="undefined"&&(T=Q8e(x.value,n.value)),typeof b=="undefined"&&(b=x.name)),(0,bk.jsx)(Z8e,Z({type:"radio",icon:MT.cloneElement(l,{fontSize:(o=lse.props.fontSize)!=null?o:f}),checkedIcon:MT.cloneElement(i,{fontSize:(a=ise.props.fontSize)!=null?a:f}),ownerState:g,classes:h,name:b,checked:T,onChange:v,ref:r,className:z(h.root,c)},m))}),NT=eUe;pt();var Np=y(P());function dse(e){return Rt("MuiTab",e)}var tUe=Ct("MuiTab",["root","labelIcon","textColorInherit","textColorPrimary","textColorSecondary","selected","disabled","fullWidth","wrapped","iconWrapper"]),Mp=tUe;var vk=y(U()),rUe=["className","disabled","disableFocusRipple","fullWidth","icon","iconPosition","indicator","label","onChange","onClick","onFocus","selected","selectionFollowsFocus","textColor","value","wrapped"],oUe=e=>{let{classes:t,textColor:r,fullWidth:o,wrapped:a,icon:n,label:s,selected:i,disabled:p}=e,l={root:["root",n&&s&&"labelIcon",`textColor${xo(r)}`,o&&"fullWidth",a&&"wrapped",i&&"selected",p&&"disabled"],iconWrapper:["iconWrapper"]};return Dt(l,dse,t)},aUe=ut(tm,{name:"MuiTab",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.label&&r.icon&&t.labelIcon,t[`textColor${xo(r.textColor)}`],r.fullWidth&&t.fullWidth,r.wrapped&&t.wrapped,{[`& .${Mp.iconWrapper}`]:t.iconWrapper}]}})(({theme:e,ownerState:t})=>Z({},e.typography.button,{maxWidth:360,minWidth:90,position:"relative",minHeight:48,flexShrink:0,padding:"12px 16px",overflow:"hidden",whiteSpace:"normal",textAlign:"center"},t.label&&{flexDirection:t.iconPosition==="top"||t.iconPosition==="bottom"?"column":"row"},{lineHeight:1.25},t.icon&&t.label&&{minHeight:72,paddingTop:9,paddingBottom:9,[`& > .${Mp.iconWrapper}`]:Z({},t.iconPosition==="top"&&{marginBottom:6},t.iconPosition==="bottom"&&{marginTop:6},t.iconPosition==="start"&&{marginRight:e.spacing(1)},t.iconPosition==="end"&&{marginLeft:e.spacing(1)})},t.textColor==="inherit"&&{color:"inherit",opacity:.6,[`&.${Mp.selected}`]:{opacity:1},[`&.${Mp.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity}},t.textColor==="primary"&&{color:(e.vars||e).palette.text.secondary,[`&.${Mp.selected}`]:{color:(e.vars||e).palette.primary.main},[`&.${Mp.disabled}`]:{color:(e.vars||e).palette.text.disabled}},t.textColor==="secondary"&&{color:(e.vars||e).palette.text.secondary,[`&.${Mp.selected}`]:{color:(e.vars||e).palette.secondary.main},[`&.${Mp.disabled}`]:{color:(e.vars||e).palette.text.disabled}},t.fullWidth&&{flexShrink:1,flexGrow:1,flexBasis:0,maxWidth:"none"},t.wrapped&&{fontSize:e.typography.pxToRem(12)})),nUe=Np.forwardRef(function(t,r){let o=Gt({props:t,name:"MuiTab"}),{className:a,disabled:n=!1,disableFocusRipple:s=!1,fullWidth:i,icon:p,iconPosition:l="top",indicator:d,label:u,onChange:f,onClick:c,onFocus:m,selected:g,selectionFollowsFocus:h,textColor:x="inherit",value:T,wrapped:v=!1}=o,b=ze(o,rUe),w=Z({},o,{disabled:n,disableFocusRipple:s,selected:g,icon:!!p,iconPosition:l,label:!!u,fullWidth:i,textColor:x,wrapped:v}),O=oUe(w),k=p&&u&&Np.isValidElement(p)?Np.cloneElement(p,{className:z(O.iconWrapper,p.props.className)}):p,M=S=>{!g&&f&&f(S,T),c&&c(S)},N=S=>{h&&!g&&f&&f(S,T),m&&m(S)};return(0,vk.jsxs)(aUe,Z({focusRipple:!s,className:z(O.root,a),ref:r,role:"tab","aria-selected":g,disabled:n,onClick:M,onFocus:N,ownerState:w,tabIndex:g?0:-1},b,{children:[l==="top"||l==="start"?(0,vk.jsxs)(Np.Fragment,{children:[k,u]}):(0,vk.jsxs)(Np.Fragment,{children:[u,k]}),d]}))}),vg=nUe;pt();var Sk=y(P());var use=y(P()),sUe=use.createContext(),Tk=sUe;function fse(e){return Rt("MuiTable",e)}var wir=Ct("MuiTable",["root","stickyHeader"]);var $B=y(U()),iUe=["className","component","padding","size","stickyHeader"],lUe=e=>{let{classes:t,stickyHeader:r}=e;return Dt({root:["root",r&&"stickyHeader"]},fse,t)},pUe=ut("table",{name:"MuiTable",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.stickyHeader&&t.stickyHeader]}})(({theme:e,ownerState:t})=>Z({display:"table",width:"100%",borderCollapse:"collapse",borderSpacing:0,"& caption":Z({},e.typography.body2,{padding:e.spacing(2),color:(e.vars||e).palette.text.secondary,textAlign:"left",captionSide:"bottom"})},t.stickyHeader&&{borderCollapse:"separate"})),cse="table",dUe=Sk.forwardRef(function(t,r){let o=Gt({props:t,name:"MuiTable"}),{className:a,component:n=cse,padding:s="normal",size:i="medium",stickyHeader:p=!1}=o,l=ze(o,iUe),d=Z({},o,{component:n,padding:s,size:i,stickyHeader:p}),u=lUe(d),f=Sk.useMemo(()=>({padding:s,size:i,stickyHeader:p}),[s,i,p]);return(0,$B.jsx)(Tk.Provider,{value:f,children:(0,$B.jsx)(pUe,Z({as:n,role:n===cse?null:"table",ref:r,className:z(u.root,a),ownerState:d},l))})}),pn=dUe;pt();var gse=y(P());var mse=y(P()),uUe=mse.createContext(),_u=uUe;function hse(e){return Rt("MuiTableBody",e)}var zir=Ct("MuiTableBody",["root"]);var GB=y(U()),fUe=["className","component"],cUe=e=>{let{classes:t}=e;return Dt({root:["root"]},hse,t)},mUe=ut("tbody",{name:"MuiTableBody",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"table-row-group"}),hUe={variant:"body"},xse="tbody",xUe=gse.forwardRef(function(t,r){let o=Gt({props:t,name:"MuiTableBody"}),{className:a,component:n=xse}=o,s=ze(o,fUe),i=Z({},o,{component:n}),p=cUe(i);return(0,GB.jsx)(_u.Provider,{value:hUe,children:(0,GB.jsx)(mUe,Z({className:z(p.root,a),as:n,ref:r,role:n===xse?null:"rowgroup",ownerState:i},s))})}),dn=xUe;pt();var IT=y(P());var rm=y(hh());function yse(e){return Rt("MuiTableCell",e)}var gUe=Ct("MuiTableCell",["root","head","body","footer","sizeSmall","sizeMedium","paddingCheckbox","paddingNone","alignLeft","alignCenter","alignRight","alignJustify","stickyHeader"]),bse=gUe;var vse=y(U()),yUe=["align","className","component","padding","scope","size","sortDirection","variant"],bUe=e=>{let{classes:t,variant:r,align:o,padding:a,size:n,stickyHeader:s}=e,i={root:["root",r,s&&"stickyHeader",o!=="inherit"&&`align${xo(o)}`,a!=="normal"&&`padding${xo(a)}`,`size${xo(n)}`]};return Dt(i,yse,t)},vUe=ut("td",{name:"MuiTableCell",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[r.variant],t[`size${xo(r.size)}`],r.padding!=="normal"&&t[`padding${xo(r.padding)}`],r.align!=="inherit"&&t[`align${xo(r.align)}`],r.stickyHeader&&t.stickyHeader]}})(({theme:e,ownerState:t})=>Z({},e.typography.body2,{display:"table-cell",verticalAlign:"inherit",borderBottom:e.vars?`1px solid ${e.vars.palette.TableCell.border}`:`1px solid - ${e.palette.mode==="light"?(0,rm.lighten)((0,rm.alpha)(e.palette.divider,1),.88):(0,rm.darken)((0,rm.alpha)(e.palette.divider,1),.68)}`,textAlign:"left",padding:16},t.variant==="head"&&{color:(e.vars||e).palette.text.primary,lineHeight:e.typography.pxToRem(24),fontWeight:e.typography.fontWeightMedium},t.variant==="body"&&{color:(e.vars||e).palette.text.primary},t.variant==="footer"&&{color:(e.vars||e).palette.text.secondary,lineHeight:e.typography.pxToRem(21),fontSize:e.typography.pxToRem(12)},t.size==="small"&&{padding:"6px 16px",[`&.${bse.paddingCheckbox}`]:{width:24,padding:"0 12px 0 16px","& > *":{padding:0}}},t.padding==="checkbox"&&{width:48,padding:"0 0 0 4px"},t.padding==="none"&&{padding:0},t.align==="left"&&{textAlign:"left"},t.align==="center"&&{textAlign:"center"},t.align==="right"&&{textAlign:"right",flexDirection:"row-reverse"},t.align==="justify"&&{textAlign:"justify"},t.stickyHeader&&{position:"sticky",top:0,zIndex:2,backgroundColor:(e.vars||e).palette.background.default})),TUe=IT.forwardRef(function(t,r){let o=Gt({props:t,name:"MuiTableCell"}),{align:a="inherit",className:n,component:s,padding:i,scope:p,size:l,sortDirection:d,variant:u}=o,f=ze(o,yUe),c=IT.useContext(Tk),m=IT.useContext(_u),g=m&&m.variant==="head",h;s?h=s:h=g?"th":"td";let x=p;h==="td"?x=void 0:!x&&g&&(x="col");let T=u||m&&m.variant,v=Z({},o,{align:a,component:h,padding:i||(c&&c.padding?c.padding:"normal"),size:l||(c&&c.size?c.size:"medium"),sortDirection:d,stickyHeader:T==="head"&&c&&c.stickyHeader,variant:T}),b=bUe(v),w=null;return d&&(w=d==="asc"?"ascending":"descending"),(0,vse.jsx)(vUe,Z({as:h,ref:r,className:z(b.root,n),"aria-sort":w,scope:x,ownerState:v},f))}),et=TUe;pt();var Sse=y(P());function Tse(e){return Rt("MuiTableContainer",e)}var blr=Ct("MuiTableContainer",["root"]);var wse=y(U()),SUe=["className","component"],wUe=e=>{let{classes:t}=e;return Dt({root:["root"]},Tse,t)},_Ue=ut("div",{name:"MuiTableContainer",slot:"Root",overridesResolver:(e,t)=>t.root})({width:"100%",overflowX:"auto"}),CUe=Sse.forwardRef(function(t,r){let o=Gt({props:t,name:"MuiTableContainer"}),{className:a,component:n="div"}=o,s=ze(o,SUe),i=Z({},o,{component:n}),p=wUe(i);return(0,wse.jsx)(_Ue,Z({ref:r,as:n,className:z(p.root,a),ownerState:i},s))}),wl=CUe;pt();var Ose=y(P());function _se(e){return Rt("MuiTableHead",e)}var Nlr=Ct("MuiTableHead",["root"]);var qB=y(U()),OUe=["className","component"],kUe=e=>{let{classes:t}=e;return Dt({root:["root"]},_se,t)},EUe=ut("thead",{name:"MuiTableHead",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"table-header-group"}),PUe={variant:"head"},Cse="thead",RUe=Ose.forwardRef(function(t,r){let o=Gt({props:t,name:"MuiTableHead"}),{className:a,component:n=Cse}=o,s=ze(o,OUe),i=Z({},o,{component:n}),p=kUe(i);return(0,qB.jsx)(_u.Provider,{value:PUe,children:(0,qB.jsx)(EUe,Z({as:n,className:z(p.root,a),ref:r,role:n===Cse?null:"rowgroup",ownerState:i},s))})}),Js=RUe;var Klr=y(P());var kse=y(U()),Ese=Dp((0,kse.jsx)("path",{d:"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"}),"KeyboardArrowLeft");var Ylr=y(P());var Pse=y(U()),Rse=Dp((0,Pse.jsx)("path",{d:"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"}),"KeyboardArrowRight");pt();var wk=y(P());var XB=y(hh());function Dse(e){return Rt("MuiTableRow",e)}var DUe=Ct("MuiTableRow",["root","selected","hover","head","footer"]),KB=DUe;var Mse=y(U()),AUe=["className","component","hover","selected"],MUe=e=>{let{classes:t,selected:r,hover:o,head:a,footer:n}=e;return Dt({root:["root",r&&"selected",o&&"hover",a&&"head",n&&"footer"]},Dse,t)},NUe=ut("tr",{name:"MuiTableRow",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.head&&t.head,r.footer&&t.footer]}})(({theme:e})=>({color:"inherit",display:"table-row",verticalAlign:"middle",outline:0,[`&.${KB.hover}:hover`]:{backgroundColor:(e.vars||e).palette.action.hover},[`&.${KB.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:(0,XB.alpha)(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:(0,XB.alpha)(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity)}}})),Ase="tr",IUe=wk.forwardRef(function(t,r){let o=Gt({props:t,name:"MuiTableRow"}),{className:a,component:n=Ase,hover:s=!1,selected:i=!1}=o,p=ze(o,AUe),l=wk.useContext(_u),d=Z({},o,{component:n,hover:s,selected:i,head:l&&l.variant==="head",footer:l&&l.variant==="footer"}),u=MUe(d);return(0,Mse.jsx)(NUe,Z({as:n,ref:r,className:z(u.root,a),role:n===Ase?null:"row",ownerState:d},p))}),ao=IUe;pt();var yr=y(P()),qpr=y(cd());function FUe(e){return(1+Math.sin(Math.PI*e-Math.PI/2))/2}function JB(e,t,r,o={},a=()=>{}){let{ease:n=FUe,duration:s=300}=o,i=null,p=t[e],l=!1,d=()=>{l=!0},u=f=>{if(l){a(new Error("Animation cancelled"));return}i===null&&(i=f);let c=Math.min(1,(f-i)/s);if(t[e]=n(c)*(r-p)+p,c>=1){requestAnimationFrame(()=>{a(null)});return}requestAnimationFrame(u)};return p===r?(a(new Error("Element already at target position")),d):(requestAnimationFrame(u),d)}pt();var FT=y(P());var Nse=y(U()),BUe=["onChange"],jUe={width:99,height:99,position:"absolute",top:-9999,overflow:"scroll"};function YB(e){let{onChange:t}=e,r=ze(e,BUe),o=FT.useRef(),a=FT.useRef(null),n=()=>{o.current=a.current.offsetHeight-a.current.clientHeight};return MB(()=>{let s=mk(()=>{let p=o.current;n(),p!==o.current&&t(o.current)}),i=DT(a.current);return i.addEventListener("resize",s),()=>{s.clear(),i.removeEventListener("resize",s)}},[t]),FT.useEffect(()=>{n(),t(o.current)},[t]),(0,Nse.jsx)("div",Z({style:jUe,ref:a},r))}pt();var Bse=y(P());function Ise(e){return Rt("MuiTabScrollButton",e)}var LUe=Ct("MuiTabScrollButton",["root","vertical","horizontal","disabled"]),Fse=LUe;var _k=y(U()),zUe=["className","slots","slotProps","direction","orientation","disabled"],WUe=e=>{let{classes:t,orientation:r,disabled:o}=e;return Dt({root:["root",r,o&&"disabled"]},Ise,t)},UUe=ut(tm,{name:"MuiTabScrollButton",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.orientation&&t[r.orientation]]}})(({ownerState:e})=>Z({width:40,flexShrink:0,opacity:.8,[`&.${Fse.disabled}`]:{opacity:0}},e.orientation==="vertical"&&{width:"100%",height:40,"& svg":{transform:`rotate(${e.isRtl?-90:90}deg)`}})),VUe=Bse.forwardRef(function(t,r){var o,a;let n=Gt({props:t,name:"MuiTabScrollButton"}),{className:s,slots:i={},slotProps:p={},direction:l}=n,d=ze(n,zUe),u=k0(),f=Z({isRtl:u},n),c=WUe(f),m=(o=i.StartScrollButtonIcon)!=null?o:Ese,g=(a=i.EndScrollButtonIcon)!=null?a:Rse,h=hf({elementType:m,externalSlotProps:p.startScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:f}),x=hf({elementType:g,externalSlotProps:p.endScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:f});return(0,_k.jsx)(UUe,Z({component:"div",className:z(c.root,s),ref:r,role:null,ownerState:f,tabIndex:null},d,{children:l==="left"?(0,_k.jsx)(m,Z({},h)):(0,_k.jsx)(g,Z({},x))}))}),ZB=VUe;function jse(e){return Rt("MuiTabs",e)}var HUe=Ct("MuiTabs",["root","vertical","flexContainer","flexContainerVertical","centered","scroller","fixed","scrollableX","scrollableY","hideScrollbar","scrollButtons","scrollButtonsHideMobile","indicator"]),Ck=HUe;var Tg=y(U()),QB=y(U()),$Ue=["aria-label","aria-labelledby","action","centered","children","className","component","allowScrollButtonsMobile","indicatorColor","onChange","orientation","ScrollButtonComponent","scrollButtons","selectionFollowsFocus","slots","slotProps","TabIndicatorProps","TabScrollButtonProps","textColor","value","variant","visibleScrollbar"],Lse=(e,t)=>e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:e.firstChild,zse=(e,t)=>e===t?e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:e.lastChild,Ok=(e,t,r)=>{let o=!1,a=r(e,t);for(;a;){if(a===e.firstChild){if(o)return;o=!0}let n=a.disabled||a.getAttribute("aria-disabled")==="true";if(!a.hasAttribute("tabindex")||n)a=r(e,a);else{a.focus();return}}},GUe=e=>{let{vertical:t,fixed:r,hideScrollbar:o,scrollableX:a,scrollableY:n,centered:s,scrollButtonsHideMobile:i,classes:p}=e;return Dt({root:["root",t&&"vertical"],scroller:["scroller",r&&"fixed",o&&"hideScrollbar",a&&"scrollableX",n&&"scrollableY"],flexContainer:["flexContainer",t&&"flexContainerVertical",s&&"centered"],indicator:["indicator"],scrollButtons:["scrollButtons",i&&"scrollButtonsHideMobile"],scrollableX:[a&&"scrollableX"],hideScrollbar:[o&&"hideScrollbar"]},jse,p)},qUe=ut("div",{name:"MuiTabs",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[{[`& .${Ck.scrollButtons}`]:t.scrollButtons},{[`& .${Ck.scrollButtons}`]:r.scrollButtonsHideMobile&&t.scrollButtonsHideMobile},t.root,r.vertical&&t.vertical]}})(({ownerState:e,theme:t})=>Z({overflow:"hidden",minHeight:48,WebkitOverflowScrolling:"touch",display:"flex"},e.vertical&&{flexDirection:"column"},e.scrollButtonsHideMobile&&{[`& .${Ck.scrollButtons}`]:{[t.breakpoints.down("sm")]:{display:"none"}}})),KUe=ut("div",{name:"MuiTabs",slot:"Scroller",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.scroller,r.fixed&&t.fixed,r.hideScrollbar&&t.hideScrollbar,r.scrollableX&&t.scrollableX,r.scrollableY&&t.scrollableY]}})(({ownerState:e})=>Z({position:"relative",display:"inline-block",flex:"1 1 auto",whiteSpace:"nowrap"},e.fixed&&{overflowX:"hidden",width:"100%"},e.hideScrollbar&&{scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}},e.scrollableX&&{overflowX:"auto",overflowY:"hidden"},e.scrollableY&&{overflowY:"auto",overflowX:"hidden"})),XUe=ut("div",{name:"MuiTabs",slot:"FlexContainer",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.flexContainer,r.vertical&&t.flexContainerVertical,r.centered&&t.centered]}})(({ownerState:e})=>Z({display:"flex"},e.vertical&&{flexDirection:"column"},e.centered&&{justifyContent:"center"})),JUe=ut("span",{name:"MuiTabs",slot:"Indicator",overridesResolver:(e,t)=>t.indicator})(({ownerState:e,theme:t})=>Z({position:"absolute",height:2,bottom:0,width:"100%",transition:t.transitions.create()},e.indicatorColor==="primary"&&{backgroundColor:(t.vars||t).palette.primary.main},e.indicatorColor==="secondary"&&{backgroundColor:(t.vars||t).palette.secondary.main},e.vertical&&{height:"100%",width:2,right:0})),YUe=ut(YB)({overflowX:"auto",overflowY:"hidden",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}),Wse={};var ZUe=yr.forwardRef(function(t,r){let o=Gt({props:t,name:"MuiTabs"}),a=gb(),n=k0(),{"aria-label":s,"aria-labelledby":i,action:p,centered:l=!1,children:d,className:u,component:f="div",allowScrollButtonsMobile:c=!1,indicatorColor:m="primary",onChange:g,orientation:h="horizontal",ScrollButtonComponent:x=ZB,scrollButtons:T="auto",selectionFollowsFocus:v,slots:b={},slotProps:w={},TabIndicatorProps:O={},TabScrollButtonProps:k={},textColor:M="primary",value:N,variant:S="standard",visibleScrollbar:B=!1}=o,$=ze(o,$Ue),K=S==="scrollable",G=h==="vertical",L=G?"scrollTop":"scrollLeft",Y=G?"top":"left",oe=G?"bottom":"right",ee=G?"clientHeight":"clientWidth",se=G?"height":"width",Ae=Z({},o,{component:f,allowScrollButtonsMobile:c,indicatorColor:m,orientation:h,vertical:G,scrollButtons:T,textColor:M,variant:S,visibleScrollbar:B,fixed:!K,hideScrollbar:K&&!B,scrollableX:K&&!G,scrollableY:K&&G,centered:l&&!K,scrollButtonsHideMobile:!c}),Me=GUe(Ae),Ge=hf({elementType:b.StartScrollButtonIcon,externalSlotProps:w.startScrollButtonIcon,ownerState:Ae}),Le=hf({elementType:b.EndScrollButtonIcon,externalSlotProps:w.endScrollButtonIcon,ownerState:Ae}),[ke,Ve]=yr.useState(!1),[Ee,nt]=yr.useState(Wse),[Ze,qe]=yr.useState(!1),[ct,We]=yr.useState(!1),[Ne,tt]=yr.useState(!1),[Xe,rt]=yr.useState({overflow:"hidden",scrollbarWidth:0}),ue=new Map,Ce=yr.useRef(null),He=yr.useRef(null),Ke=()=>{let q=Ce.current,Q;if(q){let _e=q.getBoundingClientRect();Q={clientWidth:q.clientWidth,scrollLeft:q.scrollLeft,scrollTop:q.scrollTop,scrollLeftNormalized:S0(q,n?"rtl":"ltr"),scrollWidth:q.scrollWidth,top:_e.top,bottom:_e.bottom,left:_e.left,right:_e.right}}let Se;if(q&&N!==!1){let _e=He.current.children;if(_e.length>0){let Fe=_e[ue.get(N)];Se=Fe?Fe.getBoundingClientRect():null}}return{tabsMeta:Q,tabMeta:Se}},ot=Ap(()=>{let{tabsMeta:q,tabMeta:Q}=Ke(),Se=0,_e;if(G)_e="top",Q&&q&&(Se=Q.top-q.top+q.scrollTop);else if(_e=n?"right":"left",Q&&q){let Kt=n?q.scrollLeftNormalized+q.clientWidth-q.scrollWidth:q.scrollLeft;Se=(n?-1:1)*(Q[_e]-q[_e]+Kt)}let Fe={[_e]:Se,[se]:Q?Q[se]:0};if(isNaN(Ee[_e])||isNaN(Ee[se]))nt(Fe);else{let Kt=Math.abs(Ee[_e]-Fe[_e]),Gr=Math.abs(Ee[se]-Fe[se]);(Kt>=1||Gr>=1)&&nt(Fe)}}),yt=(q,{animation:Q=!0}={})=>{Q?JB(L,Ce.current,q,{duration:a.transitions.duration.standard}):Ce.current[L]=q},bt=q=>{let Q=Ce.current[L];G?Q+=q:(Q+=q*(n?-1:1),Q*=n&&ab()==="reverse"?-1:1),yt(Q)},Ie=()=>{let q=Ce.current[ee],Q=0,Se=Array.from(He.current.children);for(let _e=0;_eq){_e===0&&(Q=q);break}Q+=Fe[ee]}return Q},he=()=>{bt(-1*Ie())},De=()=>{bt(Ie())},gt=yr.useCallback(q=>{rt({overflow:null,scrollbarWidth:q})},[]),vt=()=>{let q={};q.scrollbarSizeListener=K?(0,Tg.jsx)(YUe,{onChange:gt,className:z(Me.scrollableX,Me.hideScrollbar)}):null;let Se=K&&(T==="auto"&&(Ze||ct)||T===!0);return q.scrollButtonStart=Se?(0,Tg.jsx)(x,Z({slots:{StartScrollButtonIcon:b.StartScrollButtonIcon},slotProps:{startScrollButtonIcon:Ge},orientation:h,direction:n?"right":"left",onClick:he,disabled:!Ze},k,{className:z(Me.scrollButtons,k.className)})):null,q.scrollButtonEnd=Se?(0,Tg.jsx)(x,Z({slots:{EndScrollButtonIcon:b.EndScrollButtonIcon},slotProps:{endScrollButtonIcon:Le},orientation:h,direction:n?"left":"right",onClick:De,disabled:!ct},k,{className:z(Me.scrollButtons,k.className)})):null,q},Et=Ap(q=>{let{tabsMeta:Q,tabMeta:Se}=Ke();if(!(!Se||!Q)){if(Se[Y]Q[oe]){let _e=Q[L]+(Se[oe]-Q[oe]);yt(_e,{animation:q})}}}),Pe=Ap(()=>{K&&T!==!1&&tt(!Ne)});yr.useEffect(()=>{let q=mk(()=>{Ce.current&&ot()}),Q,Se=Kt=>{Kt.forEach(Gr=>{Gr.removedNodes.forEach(Ft=>{var _t;(_t=Q)==null||_t.unobserve(Ft)}),Gr.addedNodes.forEach(Ft=>{var _t;(_t=Q)==null||_t.observe(Ft)})}),q(),Pe()},_e=DT(Ce.current);_e.addEventListener("resize",q);let Fe;return typeof ResizeObserver!="undefined"&&(Q=new ResizeObserver(q),Array.from(He.current.children).forEach(Kt=>{Q.observe(Kt)})),typeof MutationObserver!="undefined"&&(Fe=new MutationObserver(Se),Fe.observe(He.current,{childList:!0})),()=>{var Kt,Gr;q.clear(),_e.removeEventListener("resize",q),(Kt=Fe)==null||Kt.disconnect(),(Gr=Q)==null||Gr.disconnect()}},[ot,Pe]),yr.useEffect(()=>{let q=Array.from(He.current.children),Q=q.length;if(typeof IntersectionObserver!="undefined"&&Q>0&&K&&T!==!1){let Se=q[0],_e=q[Q-1],Fe={root:Ce.current,threshold:.99},Kt=Zs=>{qe(!Zs[0].isIntersecting)},Gr=new IntersectionObserver(Kt,Fe);Gr.observe(Se);let Ft=Zs=>{We(!Zs[0].isIntersecting)},_t=new IntersectionObserver(Ft,Fe);return _t.observe(_e),()=>{Gr.disconnect(),_t.disconnect()}}},[K,T,Ne,d==null?void 0:d.length]),yr.useEffect(()=>{Ve(!0)},[]),yr.useEffect(()=>{ot()}),yr.useEffect(()=>{Et(Wse!==Ee)},[Et,Ee]),yr.useImperativeHandle(p,()=>({updateIndicator:ot,updateScrollButtons:Pe}),[ot,Pe]);let qt=(0,Tg.jsx)(JUe,Z({},O,{className:z(Me.indicator,O.className),ownerState:Ae,style:Z({},Ee,O.style)})),Pt=0,ht=yr.Children.map(d,q=>{if(!yr.isValidElement(q))return null;let Q=q.props.value===void 0?Pt:q.props.value;ue.set(Q,Pt);let Se=Q===N;return Pt+=1,yr.cloneElement(q,Z({fullWidth:S==="fullWidth",indicator:Se&&!ke&&qt,selected:Se,selectionFollowsFocus:v,onChange:g,textColor:M,value:Q},Pt===1&&N===!1&&!q.props.tabIndex?{tabIndex:0}:{}))}),$e=q=>{let Q=He.current,Se=wne(Q).activeElement;if(Se.getAttribute("role")!=="tab")return;let Fe=h==="horizontal"?"ArrowLeft":"ArrowUp",Kt=h==="horizontal"?"ArrowRight":"ArrowDown";switch(h==="horizontal"&&n&&(Fe="ArrowRight",Kt="ArrowLeft"),q.key){case Fe:q.preventDefault(),Ok(Q,Se,zse);break;case Kt:q.preventDefault(),Ok(Q,Se,Lse);break;case"Home":q.preventDefault(),Ok(Q,null,Lse);break;case"End":q.preventDefault(),Ok(Q,null,zse);break;default:break}},At=vt();return(0,QB.jsxs)(qUe,Z({className:z(Me.root,u),ownerState:Ae,ref:r,as:f},$,{children:[At.scrollButtonStart,At.scrollbarSizeListener,(0,QB.jsxs)(KUe,{className:Me.scroller,ownerState:Ae,style:{overflow:Xe.overflow,[G?`margin${n?"Left":"Right"}`:"marginBottom"]:B?void 0:-Xe.scrollbarWidth},ref:Ce,children:[(0,Tg.jsx)(XUe,{"aria-label":s,"aria-labelledby":i,"aria-orientation":h==="vertical"?"vertical":null,className:Me.flexContainer,ownerState:Ae,onKeyDown:$e,ref:He,role:"tablist",children:ht}),ke&&qt]}),At.scrollButtonEnd]}))}),ej=ZUe;var Sg=y(P());var BT=y(P());var tj=class extends BT.Component{constructor(){super(...arguments);A(this,"eventOnclickButton",r=>{this.props.callback({innerText:r.target.innerText,id:this.props.id,value:this.props.callbackValue,index:this.props.index,event:r})})}render(){let r={backgroundColor:this.props.b_color||"#ddd",color:this.props.color||"black",padding:this.props.small==="true"?"2px":this.props.padding?this.props.padding:"8px 32px",textAlign:"center",textDecoration:"none",display:"inline-block",fontSize:this.props.fontSize?this.props.fontSize:"12px",border:this.props.border?this.props.border:"none",width:this.props.small==="true"?"30px":this.props.width?this.props.width:"",minWidth:this.props.small==="true"?"30px":"60px",height:this.props.small==="true"?"30px":this.props.height?this.props.height:"50px",margin:this.props.margin||"0px 0px 0px 0px",borderRadius:this.props.round==="true"?"50%":this.props.round?this.props.round:"0px",maxWidth:this.props.maxWidth||"100%",verticalAlign:this.props.verticalAlign||"middle"};return BT.default.createElement("button",{style:this.props.disableButtonStyleByComponent?void 0:r,onClick:this.eventOnclickButton,title:D.t(this.props.title||""),name:this.props.name,disabled:!!this.props.disabled,className:this.props.className},BT.default.createElement("span",{className:"button--children"},this.props.children))}},ir=tj;var rj=class extends Sg.Component{constructor(t){super(t),this.state={}}render(){return Sg.default.createElement("span",{className:"button__expand"},Sg.default.createElement(ir,{className:"button__icon button__primary",id:"expandTelegramUsers",callback:this.props.callback,disableButtonStyleByComponent:!0},Sg.default.createElement("i",{className:"material-icons"},this.props.isOpen?"expand_more":"chevron_right")))}},kk=rj;var ns=y(P());var Jo=y(P());var Cu=y(P());var oj=class extends Cu.Component{constructor(){super(...arguments);A(this,"onChangeHandler",r=>{let o={val:r==null?void 0:r.target.value,index:this.props.index,id:this.props.id};this.props.callback(o)})}render(){return Cu.default.createElement("div",{className:`input__container ${this.props.class||""}`},Cu.default.createElement("label",null,Cu.default.createElement("input",{type:this.props.type?this.props.type:"text",className:"InputField noneDraggable",placeholder:D.t(this.props.placeholder||""),value:this.props.value,disabled:this.props.disabled,onChange:this.onChangeHandler,spellCheck:this.props.spellCheck?this.props.spellCheck:!1,onMouseOver:this.props.onMouseOver?r=>{var o,a;return(a=(o=this.props).onMouseOver)==null?void 0:a.call(o,r,this.props.setState)}:void 0,onMouseLeave:this.props.onMouseLeave?r=>{var o,a;return(a=(o=this.props)==null?void 0:o.onMouseLeave)==null?void 0:a.call(o,r,this.props.setState)}:void 0}),Cu.default.createElement("span",{className:"input__icon"},this.props.children),Cu.default.createElement("p",null,this.props.label)))}},Nn=oj;var LT=y(P());var Fi=y(P());var aj=class extends Fi.Component{constructor(t){super(t),this.state={menuName:this.props.value||"",disable:!0,inUse:!1}}componentDidMount(){if(this.props.drag){let t=document.querySelector(".DialogBackground");t.draggable=!0}}render(){let t={position:"absolute",top:this.props.top?this.props.top:"50%",left:this.props.left?this.props.left:"50%",right:this.props.right?this.props.right:"50%",transform:"translate(-50%, -60%)",backgroundColor:"#fff",width:this.props.width||"400px",height:this.props.height||"200px",zIndex:"100",borderRadius:"4px",border:"2px solid #ccc"};return Fi.default.createElement("div",{className:`DialogBackground ${this.props.class||""}`,ref:this.props.reference?this.props.reference:null,onDragStart:this.props.onDragStart?r=>this.props.onDragStart(r,this.props.setState):void 0,onDragEnd:this.props.onDragEnd?r=>this.props.onDragEnd(r,this.props.setState):void 0,onDragOver:this.props.onDragOver?r=>this.props.onDragOver(r,this.props.setState):void 0,onDrop:this.props.onDrop?r=>this.props.onDrop(r,this.props.setState):void 0,onDrag:this.props.onDrag?r=>this.props.onDrag(r,this.props.setState):void 0,onMouseEnter:this.props.onMouseEnter?r=>this.props.onMouseEnter(r,this.props.setState):void 0,onMouseLeave:this.props.onMouseLeave?r=>this.props.onMouseLeave(r,this.props.setState):void 0},Fi.default.createElement("div",{className:"DialogContainer",style:t},Fi.default.createElement("div",{className:"DialogContainer-Header"},this.props.title),Fi.default.createElement("div",{className:"DialogContainer-Body"},this.state.inUse?Fi.default.createElement("p",{className:"inUse"},D.t("Call is already in use!")):null,this.props.children),Fi.default.createElement("div",{className:"DialogContainer-Footer"},this.props.closeBtn?null:Fi.default.createElement(ir,{className:`button button__ok ${this.props.isOK?"button--hover":"button--disabled"}`,callbackValue:!0,callback:this.props.callback,name:this.props.labelBtnOK?this.props.labelBtnOK:"ok",disabled:this.state.disable&&!this.props.isOK},D.t(this.props.labelBtnOK?this.props.labelBtnOK:"ok")),Fi.default.createElement(ir,{className:"button button__close",callbackValue:!1,callback:this.props.callback,maxWidth:"200px",name:"cancel"},this.props.closeBtn?D.t("close"):D.t("abort")))))}},_a=aj;var jT=y(P());var nj=class extends jT.Component{constructor(t){super(t),this.state={}}render(){return jT.default.createElement("div",{className:"RenameCard"},jT.default.createElement(Nn,{value:this.props.value,id:this.props.id,callbackValue:"event.target.value",callback:({val:t})=>this.props.callback.setState({[this.props.id]:t})}))}},Ek=nj;var sj=class extends LT.Component{constructor(t){super(t),this.state={}}render(){return LT.default.createElement(_a,{title:this.props.title,callback:this.props.rename,isOK:this.props.isOK},LT.default.createElement(Ek,{value:this.props.value,callback:{setState:this.props.setState},id:this.props.id}))}},Pk=sj;var ij=class e extends Jo.Component{constructor(r){super(r);A(this,"addNewMenu",(r,o)=>{r=Qae(r);let a=!1,n=Lt(this.props.data.state.native.data),s=Lt(this.props.data.state.native.userActiveCheckbox);if(!n||!s)return;let i={...this.props.data.state.native.usersInGroup};if(!this.props.data.state.native.data.nav)n.nav={},n.action={},s={},a=!0;else if(r!==""&&!this.props.data.state.native.data.nav[r])o?(n.nav[r]=n.nav[this.state.oldMenuName],n.action[r]=n.action[this.state.oldMenuName],s[r]=s[this.state.oldMenuName],i[r]=i[this.state.oldMenuName]):a=!0;else return;a&&(n.nav[r]=[{call:"StartSide",value:"Iobroker, Light, Grafana, Weather",text:"chooseAction",parse_mode:"false"}],n.action[r]={get:[],set:[],pic:[],echarts:[],events:[],httpRequest:[]},s[r]=!1,i[r]=[],this.setState({newMenuName:""})),this.updateNative(n,i,s),setTimeout(()=>{this.props.callback.setStateApp({activeMenu:r})},500)});A(this,"removeMenu",(r,o,a)=>{let n=Lt(this.props.data.state.native.data),s=Lt(this.props.data.state.native.usersInGroup),i=Lt(this.props.data.state.native.userActiveCheckbox);if(!(!s||!i||!n)){if(delete n.nav[r],delete n.action[r],delete i[r],delete s[r],this.updateNative(n,s,i),o){this.props.callback.setStateApp({activeMenu:a});return}this.setFirstMenuInList(n)}});A(this,"openConfirmDialog",()=>{this.setState({confirmDialog:!0})});A(this,"renameMenu",({value:r})=>{if(!r){this.setState({renameDialog:!1});return}let o=this.state.oldMenuName,a=this.state.renamedMenuName;e.validateNewMenuName(a,o)||(this.addNewMenu(this.state.renamedMenuName,!0),setTimeout(()=>{this.removeMenu(o,!0,a)},1e3),this.setState({renameDialog:!1}))});A(this,"openRenameDialog",()=>{this.setState({renamedMenuName:this.state.oldMenuName}),this.setState({renameDialog:!0})});A(this,"buttonAddNewMenuHandler",({value:r})=>{this.addNewMenu(r,!1)});A(this,"appSetStateHandler",({id:r,value:o})=>{this.props.callback.setStateApp({[r]:o})});this.state={oldMenuName:"",newMenuName:"",renamedMenuName:"",confirmDialog:!1,renameDialog:!1,menuNameExists:!1,isOK:!1}}componentDidUpdate(r,o){if(o.oldMenuName!==this.props.data.state.activeMenu&&this.setState({oldMenuName:this.props.data.state.activeMenu,renamedMenuName:this.props.data.state.activeMenu}),o.newMenuName!==this.state.newMenuName&&this.setState({menuNameExists:this.validateMenuName()}),this.state.renamedMenuName&&o.renamedMenuName!==this.state.renamedMenuName){if(this.userChangedMenuName()&&this.setState({isOK:!1}),!this.props.data.state.native.usersInGroup)return;this.setState({isOK:!this.validateMenuName()})}}validateMenuName(){var r;return this.state.renamedMenuName!==""&&!!((r=this.props.data.state.native.usersInGroup)!=null&&r[this.state.renamedMenuName.replace(/ /g,"_")])}userChangedMenuName(){return this.state.renamedMenuName===this.props.data.state.activeMenu}updateNative(r,o,a){this.props.callback.updateNative("data",r,()=>this.props.callback.updateNative("usersInGroup",o,()=>this.props.callback.updateNative("userActiveCheckbox",a)))}static validateNewMenuName(r,o){return r===""||r==null||r===o}setFirstMenuInList(r){let o=Object.keys(r.nav)[0];this.props.callback.setStateApp({activeMenu:o})}render(){return Jo.default.createElement(Jo.default.Fragment,null,Jo.default.createElement(tr,{item:!0,xs:12,sm:8,lg:4},Jo.default.createElement(Nn,{placeholder:D.t("addMenu"),id:"newMenuName",value:this.state.newMenuName,callback:({val:r})=>this.setState({newMenuName:r}),class:this.state.menuNameExists?"inUse":void 0})),Jo.default.createElement(ir,{callbackValue:this.state.newMenuName,callback:this.buttonAddNewMenuHandler,disabled:!this.state.newMenuName||this.state.newMenuName==="",className:`${!this.state.newMenuName||this.state.newMenuName===""?"button--disabled":"button--hover"} header__button_actions button button__add`},Jo.default.createElement("i",{className:"material-icons"},"group_add"),D.t("add")),Jo.default.createElement(ir,{callback:this.openConfirmDialog,className:"button button__delete button--hover header__button_actions"},Jo.default.createElement("i",{className:"material-icons"},"delete"),D.t("delete")),Jo.default.createElement(ir,{id:"openRenameMenu",callback:this.openRenameDialog,className:"button button--hover button__edit header__button_actions"},Jo.default.createElement("i",{className:"material-icons"},"edit"),D.t("edit")),Jo.default.createElement(ir,{id:"showDropBox",callbackValue:!0,callback:this.appSetStateHandler,className:"button button--hover button__copy header__button_actions"},Jo.default.createElement("i",{className:"material-icons translate "},"content_copy"),D.t("copy")),Jo.default.createElement(ir,{id:"showTriggerInfo",callbackValue:!0,callback:this.appSetStateHandler,className:" button button__info button--hover header__button_actions"},Jo.default.createElement("i",{className:"material-icons translate "},"info"),D.t("overview")),this.state.confirmDialog?Jo.default.createElement(xl,{title:D.t("reallyDelete"),text:D.t("confirmDelete"),ok:D.t("yes"),cancel:D.t("cancel"),dialogName:"myConfirmDialogThatCouldBeSuppressed",onClose:r=>{r&&this.removeMenu(this.state.oldMenuName,!1),this.setState({confirmDialog:!1})}}):null,this.state.renameDialog?Jo.default.createElement(Pk,{rename:this.renameMenu,isOK:this.state.isOK,title:D.t("renameMenu"),value:this.state.renamedMenuName,setState:this.setState.bind(this),id:"renamedMenuName"}):null)}},Use=ij;var zT=y(P());var lj=class extends zT.Component{constructor(r){super(r);A(this,"secondCallback",()=>{this.props.callback.setStateApp({showPopupMenuList:!1})});A(this,"menuList",Object.keys(this.props.usersInGroup));this.state={}}componentDidUpdate(r){r.usersInGroup!==this.props.usersInGroup&&(this.menuList=Object.keys(this.props.usersInGroup))}render(){return zT.default.createElement("div",{className:"MenuPopupCard-Popup"},this.menuList.map((r,o)=>zT.default.createElement(ir,{key:o,b_color:"#fff",margin:"10px 5% 10px 5%",border:"1px solid black",round:"4px",id:"activeMenu",width:"90%",height:"40px",fontSize:"16px",callback:({id:a,innerText:n})=>{this.props.callback.setStateApp({[a]:n}),this.secondCallback()},callbackValue:"event.target.innerText"},r)))}},Vse=lj;var pj=class extends ns.Component{constructor(){super(...arguments);A(this,"eventOnMouse",r=>{r&&(r.type==="mouseenter"&&this.props.callback.setStateApp({showPopupMenuList:!0}),r.type==="mouseleave"&&this.props.callback.setStateApp({showPopupMenuList:!1}))});A(this,"handleClick",()=>{this.props.callback.setStateApp({showPopupMenuList:!this.props.data.state.showPopupMenuList})})}showList(){return this.props.data.state.showPopupMenuList}isActiveMenu(){return this.props.data.state.activeMenu!=null}render(){return ns.default.createElement(tr,{container:!0,spacing:1,className:"HeaderMenu-GridContainer"},ns.default.createElement(tr,{item:!0,xs:12,sm:2,xl:1},ns.default.createElement("div",{onMouseEnter:this.eventOnMouse,onMouseLeave:this.eventOnMouse,className:"HeaderMenu-menuPopupCard"},ns.default.createElement(kk,{isOpen:this.showList(),callback:this.handleClick}),ns.default.createElement("span",null,D.t("menuList")),this.showList()&&this.isActiveMenu()?ns.default.createElement(Vse,{usersInGroup:this.props.data.state.native.usersInGroup,callback:this.props.callback}):null),ns.default.createElement("div",{className:"MenuHeader-ActiveMenu"},ns.default.createElement("p",null,D.t("activeMenu")),ns.default.createElement("span",{className:"MenuHeader-borderActiveMenu"},this.isActiveMenu()?this.props.data.state.activeMenu:D.t("createMenu")))),ns.default.createElement(Use,{callback:this.props.callback,data:this.props.data}))}},Hse=pj;var un=y(P());var wg=y(P());var dj=class extends wg.Component{constructor(){super(...arguments);A(this,"onChangeHandler",r=>{var o,a;this.props.callback({isChecked:r.target.checked,id:(o=this.props)==null?void 0:o.id,index:(a=this.props)==null?void 0:a.index})})}render(){return wg.default.createElement("label",{className:"checkbox"},wg.default.createElement("input",{type:"checkbox",checked:this.props.isChecked,onChange:this.onChangeHandler,title:this.props.title?D.t(this.props.title):"",className:this.props.class}),this.props.label?wg.default.createElement("span",null,this.props.label):null)}},Io=dj;var Ip=y(P());var uj=class extends Ip.Component{constructor(r){super(r);A(this,"componentDidUpdate",()=>{this.props.data.usersInGroup!==this.state.usersInGroup&&this.setState({usersInGroup:this.props.data.usersInGroup}),this.props.data.state.activeMenu!==this.state.activeMenu&&this.setState({activeMenu:this.props.data.state.activeMenu})});A(this,"isUserChecked",()=>!this.props.data.usersInGroup||!this.props.data.usersInGroup[this.state.activeMenu]?!1:this.isUserInList());A(this,"checkboxClicked",({isChecked:r,id:o})=>{r&&this.props.setState({errorUserChecked:!1});let a=[...this.props.data.usersInGroup[this.state.activeMenu]];if(r&&!a.includes(o))a.push(o);else{let n=a.indexOf(o);n>-1&&a.splice(n,1)}this.props.callback.updateNative(`usersInGroup.${this.state.activeMenu}`,a)});this.state={usersInGroup:this.props.data.usersInGroup,name:this.props.user.name,activeMenu:this.props.data.state.activeMenu}}isUserInList(){return!this.state.activeMenu||this.props.data.usersInGroup[this.state.activeMenu].length==0?!1:this.props.data.usersInGroup[this.state.activeMenu].includes(this.props.user.name)}render(){let{name:r,chatID:o}=this.props.user;return Ip.default.createElement("div",{className:"TeleGrammUserCard-content"},Ip.default.createElement("div",{className:"TelegramUserCard-User"},Ip.default.createElement("p",{className:"TelegramUserCard-name"},r),Ip.default.createElement(Io,{class:"TelegramUserCard-checkbox",id:r,callback:this.checkboxClicked.bind(this),isChecked:this.isUserChecked(),index:0})),Ip.default.createElement("p",{className:"TelegramUserCard-ChatID"},"ChatID :",Ip.default.createElement("span",{className:"TelegramUserCard-ChatID"},o)))}},$se=uj;var Rk=y(P()),fj=class extends Rk.Component{constructor(t){super(t),this.state={}}static render(){return Rk.default.createElement("span",{className:"telegram__errorMessage"},D.t("userSelect"))}},Gse=fj;var Dk=y(P()),cj=class extends Dk.Component{constructor(t){super(t),this.state={}}render(){return Dk.default.createElement("div",{className:"cover__save_btn"})}},qse=cj;var mj=class e extends un.Component{constructor(r){super(r);A(this,"componentDidUpdate",r=>{r.data.usersInGroup!==this.props.data.usersInGroup&&this.checkUserSelection(),r.data.activeMenu!==this.props.data.activeMenu&&this.setState({menuChecked:this.props.data.userActiveCheckbox[this.props.data.activeMenu]})});A(this,"updateMenuOpen",()=>{this.setState({menuOpen:!this.state.menuOpen})});A(this,"menuActiveChecked",()=>this.props.data.userActiveCheckbox[this.props.data.activeMenu]);A(this,"clickCheckbox",({isChecked:r})=>{if(r){if(!this.checkUserSelection(!0))return}else this.setState({errorUserChecked:!1});this.setState({menuChecked:r}),this.props.callback.updateNative(`userActiveCheckbox.${this.props.data.activeMenu}`,r)});A(this,"checkUserSelection",r=>{var a;let o=this.props.data.usersInGroup;return(this.state.menuChecked||r)&&this.isMinOneUserChecked(o)?e.checkUsersAreActiveInTelegram(o[this.props.data.activeMenu],(a=this.props.data.state.native)==null?void 0:a.userListWithChatID)?!0:(this.setState({errorUserChecked:!0}),!1):!1});this.state={menuOpen:!0,errorUserChecked:!1,menuChecked:!1}}static checkUsersAreActiveInTelegram(r,o){for(let a of r)if(e.isUserActiveInTelegram(a,o))return!0;return!1}isMinOneUserChecked(r){var o;return((o=r[this.props.data.activeMenu])==null?void 0:o.length)>0}static isUserActiveInTelegram(r,o){return o.some(a=>a.name===r)}isUserGroupLength(){return Object.keys(this.props.data.usersInGroup).length!==0}render(){var r;return un.default.createElement(tr,{container:!0,spacing:2},un.default.createElement(tr,{item:!0,lg:12,md:12,xs:12},un.default.createElement("div",{className:"telegram__users_container"},this.isUserGroupLength()?un.default.createElement(kk,{isOpen:this.state.menuOpen,callback:this.updateMenuOpen}):null,this.state.menuOpen&&this.isUserGroupLength()?un.default.createElement("div",{className:"telegram__users_card"},un.default.createElement("div",null,un.default.createElement("p",null,un.default.createElement("span",{className:"telegram__users_description"},D.t("telegramUser")," "),this.state.errorUserChecked?un.default.createElement(Gse,null):null),(r=this.props.data.state.native)==null?void 0:r.userListWithChatID.map((o,a)=>un.default.createElement($se,{user:o,key:a,callback:this.props.callback,data:this.props.data,setState:this.setState.bind(this)}))),this.props.data.state.activeMenu!=null?un.default.createElement(Io,{label:`${this.props.data.state.activeMenu} ${D.t("active")}`,id:"checkboxActiveMenu",isChecked:this.menuActiveChecked()||!1,callback:this.clickCheckbox,index:0}):null):null)),this.state.errorUserChecked?un.default.createElement(qse,null):null)}},Kse=mj;var hj=class extends Ou.Component{constructor(t){super(t),this.state={}}isSettings(){return this.props.data.state.tab==="settings"}render(){return Ou.default.createElement(tr,{container:!0,spacing:1,className:"Grid-HeaderMenu "},this.isSettings()?null:Ou.default.createElement(tr,{item:!0,xs:12},Ou.default.createElement(Hse,{data:this.props.data,callback:this.props.callback})),Ou.default.createElement(tr,{item:!0,xs:12},this.isSettings()?null:Ou.default.createElement(Kse,{data:{state:this.props.data.state,usersInGroup:this.props.data.state.native.usersInGroup,userActiveCheckbox:this.props.data.state.native.userActiveCheckbox,activeMenu:this.props.data.state.activeMenu||""},callback:this.props.callback})))}},Xse=hj;var nm=y(P());var _l=y(P());var Jse=y(U()),Yse=_l.createContext(null);function QUe(){let[e,t]=_l.useState(null);return _l.useEffect(()=>{t(`mui-p-${Math.round(Math.random()*1e5)}`)},[]),e}function om(e){let{children:t,value:r}=e,o=QUe(),a=_l.useMemo(()=>({idPrefix:o,value:r}),[o,r]);return(0,Jse.jsx)(Yse.Provider,{value:a,children:t})}function Ak(){return _l.useContext(Yse)}function Mk(e,t){let{idPrefix:r}=e;return r===null?null:`${e.idPrefix}-P-${t}`}function Nk(e,t){let{idPrefix:r}=e;return r===null?null:`${e.idPrefix}-T-${t}`}pt();var ku=y(P());var Zse=y(U()),eVe=["children"],tVe=ku.forwardRef(function(t,r){let{children:o}=t,a=ze(t,eVe),n=Ak();if(n===null)throw new TypeError("No TabContext provided");let s=ku.Children.map(o,i=>ku.isValidElement(i)?ku.cloneElement(i,{"aria-controls":Mk(n,i.props.value),id:Nk(n,i.props.value)}):null);return(0,Zse.jsx)(ej,Z({},a,{ref:r,value:n.value,children:s}))}),_g=tVe;pt();var eie=y(P());function Qse(e){return Rt("MuiTabPanel",e)}var vmr=Ct("MuiTabPanel",["root"]);var tie=y(U()),rVe=["children","className","value"],oVe=e=>{let{classes:t}=e;return Dt({root:["root"]},Qse,t)},aVe=ut("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>({padding:e.spacing(3)})),nVe=eie.forwardRef(function(t,r){let o=K0({props:t,name:"MuiTabPanel"}),{children:a,className:n,value:s}=o,i=ze(o,rVe),p=Z({},o),l=oVe(p),d=Ak();if(d===null)throw new TypeError("No TabContext provided");let u=Mk(d,s),f=Nk(d,s);return(0,tie.jsx)(aVe,Z({"aria-labelledby":f,className:z(l.root,n),hidden:s!==d.value,id:u,ref:r,role:"tabpanel",ownerState:p},i,{children:s===d.value&&a}))}),Eu=nVe;var Zo=y(P());var no=y(P());var WT=y(P());var xj=class extends WT.Component{render(){return WT.default.createElement(ir,{b_color:"#ddd",title:"Add",small:"true",round:"true",index:this.props.index,callbackValue:this.props.callbackValue,callback:this.props.callback},WT.default.createElement("i",{className:"material-icons"},"add"))}},Cg=xj;var UT=y(P());var gj=class extends UT.Component{render(){return UT.default.createElement(ir,{b_color:"blue",color:"white",title:"Search ID",small:"true",round:"true",verticalAlign:"inherit",callback:this.props.callback,callbackValue:this.props.index,className:this.props.disabled?this.props.disabled:` ${this.props.class}`?this.props.class:""},UT.default.createElement("i",{className:"material-icons"},"search"))}},VT=gj;var Pu=y(P());var yj=class extends Pu.Component{constructor(){super(...arguments);A(this,"onChangeHandler",r=>{r&&this.props.callback({[this.props.id]:r==null?void 0:r.target.value})})}render(){return Pu.default.createElement("div",{className:`textarea__container ${this.props.class||""}`},Pu.default.createElement("label",null,Pu.default.createElement("textarea",{className:"textarea__content noneDraggable",placeholder:D.t(this.props.placeholder||""),value:this.props.value||"",onChange:this.onChangeHandler,spellCheck:this.props.spellCheck?this.props.spellCheck:!1,onMouseOver:this.props.onMouseOver?r=>{var o,a;return(a=(o=this.props).onMouseOver)==null?void 0:a.call(o,r,this.props.setState)}:void 0,onMouseLeave:this.props.onMouseLeave?r=>{var o,a;return(a=(o=this.props).onMouseLeave)==null?void 0:a.call(o,r,this.props.setState)}:void 0,rows:this.props.rows,cols:this.props.cols}),Pu.default.createElement("div",{className:"textarea__children"},this.props.children),Pu.default.createElement("p",null,this.props.label)))}},rie=yj;var sVe=tp("light"),bj=class extends no.Component{constructor(r){super(r);A(this,"updateId",r=>{let o=this.props.editedValueFromHelperText;if(o.includes("ID")){this.props.setState({editedValueFromHelperText:o.replace("ID",r)});return}else if(o.includes("'id':'")){let a=o.split("'id':'")[1].split("'}")[0];this.props.setState({editedValueFromHelperText:o.replace(a,r)});return}this.props.setState({editedValueFromHelperText:`${o} ${r}`})});A(this,"openSelectId",()=>{if(this.props.editedValueFromHelperText){if(this.props.editedValueFromHelperText.includes("'id':'")&&!this.props.editedValueFromHelperText.includes("ID")){let r=this.props.editedValueFromHelperText.split("'id':'")[1].split("'}")[0];this.setState({selectedId:r})}this.setState({showSelectId:!0})}});this.state={rows:this.props.helper[this.props.val],showSelectId:!1,selectedId:""}}render(){return no.default.createElement(no.default.Fragment,null,no.default.createElement(wl,{component:Sl,className:"HelperCard"},no.default.createElement(pn,{stickyHeader:!0,"aria-label":"sticky table",className:"HelperCard-Table"},no.default.createElement(Js,null,no.default.createElement(ao,null,no.default.createElement(et,null,"Text"),no.default.createElement(et,{align:"left"},"Info"),no.default.createElement(et,{align:"left"}))),no.default.createElement(dn,null,this.state.rows[this.props.helperTextForInput].map((r,o)=>no.default.createElement(ao,{key:o,sx:{"&:last-child td, &:last-child th":{border:0}}},no.default.createElement(et,{component:"td",scope:"row"},r.text),no.default.createElement(et,null,r.head?no.default.createElement("div",{dangerouslySetInnerHTML:{__html:r.head}}):null,no.default.createElement("div",{dangerouslySetInnerHTML:{__html:D.t(r.info)}})),r.text?no.default.createElement(et,{align:"center"},no.default.createElement(Cg,{index:o,callback:this.props.callback,callbackValue:r.text})):null))))),["nav","text","set","get","value"].includes(this.props.val)?no.default.createElement(VT,{class:"HelperCard-BtnSearch",index:0,callback:this.openSelectId}):null,no.default.createElement(rie,{value:this.props.editedValueFromHelperText.replace(/&/g,"&"),id:"editedValueFromHelperText",callback:this.props.setState,callbackValue:"event.target.value",label:"",rows:4}),this.state.showSelectId?no.default.createElement(Pp,{key:"tableSelect",imagePrefix:"../..",dialogName:this.props.data.adapterName,themeType:this.props.data.themeType,theme:sVe,socket:this.props.data.socket,filters:{},selected:"",onClose:()=>this.setState({showSelectId:!1}),onOk:r=>{this.setState({showSelectId:!1}),this.updateId(r)}}):null)}},Ik=bj;var iVe=[{status:"",places:["text","value"],data:[{text:"{status:'ID':true}",info:"statusMenu"}]},{newline:"",places:["text","set","get"],data:[{text:"\\n",info:"breakpointNewline"}]},{parse_Mode:"",places:["text","set","get"],data:[{text:" ",info:"parseModeBold"},{text:" ",info:"parseModeItalic"},{text:" ",info:"parseModeCode"},{text:"Link",info:"parseModeLink"}]},{time:"",places:["text","get"],data:[{text:"{time}",info:"convertsUnixTimestamp"}]},{change:"",places:["text","set","get"],data:[{text:'change{"true":"an","false":"aus"}',info:"changeFunction"}]},{textID:"",places:["text","set"],data:[{text:"",info:"insertID"}]}],HT={nav:{value:[{text:"menu:percent10:TRIGGER:",head:"Submenu Percent
",info:"menuPercent"},{text:"menu:number0-6-1-UNIT:TRIGGER:",head:"Submenu Number
",info:"menuNumber"},{text:"menu:switch-ein.true-aus.false:TRIGGER:",head:"Submenu Switch
",info:"menuSwitch"},{text:"menu:dynSwitch[Name1|value1, Name2|value2, value3]:TRIGGER:LengthOfRow:",head:"Submenu Dynamic Switch
",info:"menuDynamicSwitch"},{text:"menu:deleteAll:Navigation",head:"Submenu Delete All
",info:"menuDeleteAll"},{text:"menu:back",info:"menuBack"}],text:[{text:"{set:'id':'ID',val,ack}",info:"setID"},{text:"{time.lc,(DD MM YYYY hh:mm:ss:sss),id:'ID'}",info:"lcTimestamp"},{text:"{time.ts,(DD MM YYYY hh:mm:ss:sss),id:'ID'}",info:"tsTimestamp"}]},get:{text:[{text:"{math:/10}",info:"math"},{text:"{common.name}",info:"commonName"},{text:"&&",info:"placeholderValue"},{text:"{round:2}",info:"valueRound"},{text:"{time.lc,(DD MM YYYY hh:mm:ss:sss)}",info:"lcTimeStamp"},{text:"{time.ts,(DD MM YYYY hh:mm:ss:sss)}",info:"tsTimeStamp"},{text:'{var1:ID;var2:ID; var1 ==var2 ? "equal" : var1 < var2 ? "var1 is smaller" : "var1 is greater"}',info:"binding"},{text:"{json;[value-1-inJSON:NameTH-Col1,value-2-inJSON:NameTH-Col1];Header;}",info:"jsonTable"},{text:"{json;[name:Name];Header;shoppinglist;}",info:"jsonShoppingList"},{text:"{json;[value-1-inJSON:NameTH-Col1,value-2-inJSON:NameTH-Col1];Header;TextTable;}",info:"jsonTable"}]},set:{returnText:[{text:"{novalue}",info:"noValue"},{text:"&&",info:"placeholderValue"},{text:"{'id':'ID','text':'Your Text'}",info:"notifiedByChangeOfAnotherState"},{text:"{confirmSet:The value has been set:noValue}",info:"confirmSet"},{text:"{setDynamicValue:RequestText:Type:ConfirmText:ID:}",info:"setDynamicValue"}],values:[{text:"{id:ID}",info:"manuallyValue"},{text:"{value}",info:"modifiedSubmenuValue"}]}};iVe.forEach(e=>{e.data.forEach(t=>{e.places.includes("value")&&HT.nav.value.push(t),e.places.includes("text")&&HT.nav.text.push(t),e.places.includes("set")&&HT.set.returnText.push(t),e.places.includes("get")&&HT.get.text.push(t)})});var Fk=HT;var Bk=y(P()),jk=e=>Bk.default.createElement("div",{className:"BtnCircleAdd"},Bk.default.createElement("a",{onClick:()=>{e.callback()}},Bk.default.createElement("i",{className:"material-icons"},"add_circle")));var Cl=e=>{let t=e==null?void 0:e.target;if(t.classList.contains("noneDraggable")){let r=t;for(;r;){if(r.tagName==="TR"&&!r.classList.contains("SubTable")){r.draggable=!1;return}r=r.parentElement}}},Ol=e=>{let t=e==null?void 0:e.target;if(t.classList.contains("noneDraggable")&&!t.classList.contains("draggingDropBox")){let r=t;for(;r;){if(r.tagName==="TR"&&!r.classList.contains("SubTable")){r.draggable=!0;return}r=r.parentElement}}},Og=(e,t,r,o,a,n)=>{if(r&&t){let s=t.target;return s.style.userSelect="text",!1}o({dropStart:e}),n&&n(a||{})},kg=(e,t)=>{t.preventDefault()},am=(e,t)=>{t({dropOver:e})},Eg=(e,t,r)=>t===e&&r>e?{borderTop:"2px solid #3399cc"}:t===e&&r{e({dropStart:0}),e({dropOver:0}),t&&t({draggingRowIndex:null})},oie=e=>e===0?"false":"true";function aie(e,t,r){return e&&e.dropboxRight&&e.dropboxTop?{newX:e.dropboxRight-t,newY:e.dropboxTop+r}:{newX:5-t,newY:105+r}}var Bi=y(P());var vj=class e extends Bi.Component{constructor(r){super(r);A(this,"clickCheckBox",({isChecked:r})=>{this.setState({isChecked:r}),this.props.callback.checkAll(r)});this.state={checkAll:!1,isChecked:!1}}static shouldShowInHeader(r){return r.name!="trigger"&&r.name!="parse_mode"}static isHeaderForDataCheckbox(r){return["Con","Swi","Ack"].includes(r)?"table__head_checkbox":""}render(){return Bi.default.createElement(Js,null,Bi.default.createElement(ao,null,Bi.default.createElement(et,{align:"left",className:"table__head_checkbox"},Bi.default.createElement(Io,{id:"checkbox",index:1,callback:this.clickCheckBox,isChecked:this.state.isChecked,obj:!0})),this.props.tab.entries.map((r,o)=>e.shouldShowInHeader(r)?Bi.default.createElement(et,{key:o,align:"left",className:e.isHeaderForDataCheckbox(r.headline)},Bi.default.createElement("span",{title:r.title?D.t(r.title):void 0},D.t(r.headline))):null),this.props.tab.popupCard.buttons.add?Bi.default.createElement(et,{align:"left",className:"table__head_button"}):null,this.props.tab.popupCard.buttons.remove?Bi.default.createElement(et,{align:"left",className:"table__head_button"}):null))}},nie=vj;var Cr=y(P());var $T=y(P());var Tj=class extends $T.Component{render(){return $T.default.createElement(ir,{b_color:"red",color:"white",title:"Delete",small:"true",round:"true",callback:this.props.callback,callbackValue:this.props.index,className:this.props.disabled,disabled:this.props.disabled},$T.default.createElement("i",{className:"material-icons"},"delete"))}},Lk=Tj;var Fp=y(P()),Sj=class extends Fp.Component{constructor(t){super(t),this.state={openCopyPopup:!1,indexOfRowToCopyForModal:0}}render(){let{buttons:t}=this.props.data.tab.popupCard,{indexRow:r,rows:o}=this.props.data,{setStateEditor:a}=this.props.callback;return Fp.default.createElement(Fp.default.Fragment,null,t.add?Fp.default.createElement(et,{align:"center",className:"cellIcon"},Fp.default.createElement(Cg,{callback:()=>dk(r,this.props,a,this.props.callback.setStateTabActionContent),index:r})):null,t.remove?Fp.default.createElement(et,{align:"center",className:"cellIcon"},Fp.default.createElement(Lk,{callback:({index:n})=>nne(n,this.props,a),index:r,disabled:o.length==1?"disabled":""})):null)}},sie=Sj;var Ru=y(P());var wj=class extends Ru.Component{constructor(){super(...arguments);A(this,"onChangeHandler",r=>{r&&this.props.callback({id:this.props.id,val:r.target.value})})}render(){return Ru.default.createElement("label",{className:"Select"},Ru.default.createElement("span",null,D.t(this.props.label||"")),Ru.default.createElement("select",{name:this.props.name,value:this.props.selected,onChange:this.onChangeHandler},Ru.default.createElement("option",{value:"",disabled:!0},D.t(this.props.placeholder||"")),this.props.options.map((r,o)=>Ru.default.createElement("option",{key:o,value:r},r))))}},kl=wj;var Au=y(P());var Yo=y(P());var Du=class Du extends Yo.Component{constructor(r){super(r);A(this,"valueMapping",{trigger:D.t("trigger"),values:D.t("values"),returnText:D.t("returnText"),ack:D.t("ack"),confirm:D.t("confirm"),switch_checkbox:D.t("switchCheckbox"),parse_mode:D.t("parseMode"),newline_checkbox:D.t("newlineCheckbox"),text:D.t("text"),IDs:D.t("ids"),url:D.t("url"),user:D.t("user"),password:D.t("password"),filename:D.t("filename"),delay:D.t("delay"),ID:D.t("id"),menu:D.t("menu"),condition:D.t("condition"),picSendDelay:D.t("picSendDelay")});A(this,"checkboxChecked",({isChecked:r,index:o})=>{let a={...this.state.checked};a[o]=r,this.setState({checked:a}),this.props.callback.setStateRowEditor({targetCheckboxes:this.state.checked}),this.props.callback.setStateApp({copyDataObject:{targetCheckboxes:a}})});A(this,"saveData",({activeMenu:r,copyToMenu:o,tab:a,checkboxesToCopy:n,rowIndexToEdit:s,newTriggerName:i})=>{var d;let p=!((d=this.props.data.action[o])!=null&&d[a].length),l=this.copySelectedRowsToMenu({addTrigger:p,activeMenu:r,tab:a,rowIndexToEdit:s,checkboxesToCopy:n,copyToMenu:o,newTriggerName:i});l&&this.props.callback.updateNative("data",l)});this.state={checked:{},isOK:!1}}componentDidMount(){this.props.callback.setFunctionSave(this)}copySelectedRowsToMenu({activeMenu:r,tab:o,rowIndexToEdit:a,checkboxesToCopy:n,copyToMenu:s,addTrigger:i,newTriggerName:p}){let l=this.props.data.action[r][o][a],d=Lt(this.props.data);if(!d)return;let u=!1;return d.action[s][o].length===0&&(u=!0),n.forEach((f,c)=>{if(f){if(u)return d=Du.saveToGlobalObject(l,i,d,s,o,0,c,p),d;Object.keys(this.state.checked).forEach((m,g)=>{this.state.checked[g]&&(d=Du.saveToGlobalObject(l,i,d,s,o,g,c))})}}),d}render(){var r;return Yo.default.createElement(Yo.default.Fragment,null,Yo.default.createElement(pn,null,Yo.default.createElement(Js,null,Yo.default.createElement(ao,null,Yo.default.createElement(et,{align:"left"}),(r=this.props.value)!=null&&r[0]?Object.keys(this.props.value[0]).map((o,a)=>Yo.default.createElement(et,{align:"left",key:a},this.valueMapping[o]||o)):null)),Yo.default.createElement(dn,null,this.props.value?this.props.value.map((o,a)=>Yo.default.createElement(ao,{key:a},Yo.default.createElement(et,{align:"left"},Yo.default.createElement(Io,{callback:this.checkboxChecked,id:"checkbox",index:a,isChecked:this.state.checked[a]||!1})),Object.keys(o).map((n,s)=>Yo.default.createElement(et,{align:"left",key:s},typeof o[n]=="string"?o[n]:o[n].map((i,p)=>Yo.default.createElement(pn,{key:p},Yo.default.createElement(dn,null,Yo.default.createElement(ao,{className:"SubTable"},Yo.default.createElement(et,{align:"left"},i))))))))):null)))}};A(Du,"saveToGlobalObject",(r,o,a,n,s,i,p,l)=>(Object.keys(r).forEach(d=>{var u;if(d==="trigger"||d==="parse_mode"){o&&(a=Du.setDataWhenNoTabLength({copyData:a,menuName:n,tabActionName:s,rowParam:d,rowToCopy:r,elInRow:0,newTriggerName:l}));return}if(o){if(a=Du.setDataWhenNoTabLength({copyData:a,menuName:n,tabActionName:s,rowParam:d,rowToCopy:r,elInRow:p,newTriggerName:""}),!((u=a.action[n][s][i])!=null&&u[d])){a.action[n][s][i][d]=[r[d][p]];return}a.action[n][s][i][d].push(r[d][p]);return}a.action[n][s][i][d].push(r[d][p])}),a)),A(Du,"setDataWhenNoTabLength",({copyData:r,menuName:o,tabActionName:a,rowParam:n,rowToCopy:s,elInRow:i,newTriggerName:p})=>{if(!r.action[o][a].length){if(n==="trigger")return r.action[o][a].push({[n]:[p]}),r;r.action[o][a].push({[n]:[s[n][i]]})}return r});var _j=Du,iie=_j;var Cj=class extends Au.Component{constructor(r){super(r);A(this,"updateSelect",({val:r})=>{this.setState({selectedMenu:r}),this.props.callback.setStateRowEditor({copyToMenu:r}),this.props.callback.setStateApp({copyDataObject:{targetActionName:r}})});this.state={selectedMenu:"",action:""}}componentDidMount(){this.setState({action:this.props.data.tab.value})}getAllMenusWithoutActiveMenu(){return Object.keys(this.props.data.state.native.usersInGroup)}getValuesInSelectedAction(){var r,o;return((o=(r=this.props.data.state.native.data.action)==null?void 0:r[this.state.selectedMenu])==null?void 0:o[this.state.action])||[]}render(){return Au.default.createElement("div",{className:"editor__modal_container"},Au.default.createElement("div",{className:"editor__modal_inputs"},D.t("activeMenu"),": ",this.props.data.state.activeMenu,Au.default.createElement("p",null,D.t("menuToCopy")),Au.default.createElement(kl,{options:this.getAllMenusWithoutActiveMenu(),id:"selectedMenu",selected:this.state.selectedMenu||"",placeholder:"Select a menu",callback:this.updateSelect})),this.state.action!==""?Au.default.createElement(iie,{value:this.getValuesInSelectedAction(),data:this.props.data.state.native.data,callback:{...this.props.callback,setStateRowEditor:this.props.callback.setStateRowEditor,setFunctionSave:this.props.callback.setFunctionSave}}):null)}},lie=Cj;var El=y(P());var Oj=class extends El.Component{constructor(t){super(t),this.state={}}render(){let{newRow:t,newUnUsedTrigger:r}=this.props.data;return El.default.createElement("div",{className:"editor__header"},El.default.createElement(ir,{callbackValue:!0,callback:this.props.callback.openCopyModal,className:`${this.props.data.isMinOneCheckboxChecked?"button--hover":"button--disabled"} button button__copy`,disabled:!this.props.data.isMinOneCheckboxChecked},El.default.createElement("i",{className:"material-icons translate"},"content_copy"),D.t("copy")),t.trigger?El.default.createElement("div",{className:"editor__header_trigger"},El.default.createElement(kl,{width:"10%",selected:t.trigger[0],options:r,id:"trigger",callback:({val:o})=>ane({trigger:o},this.props,this.setState.bind(this)),callbackValue:"event.target.value",label:"Trigger",placeholder:"Select a Trigger"})):null,t.parse_mode?El.default.createElement("div",{className:"editor__header_parseMode"},El.default.createElement(Io,{id:"parse_mode",index:0,callback:this.props.callback.updateData,isChecked:hg(t.parse_mode[0]),obj:!0,label:"Parse Mode"})):null)}},pie=Oj;var lVe=tp("light"),kj=class extends Cr.Component{constructor(r){super(r);A(this,"updateData",r=>{one(r,this.props,this.setState.bind(this))});A(this,"handleDrop",r=>{r!==this.state.dropStart&&sne(this.state.dropStart,this.props,this.setState.bind(this),r-this.state.dropStart)});A(this,"disableInput",(r,o)=>{var a,n,s;return pk((s=(n=(a=this.state)==null?void 0:a.rows)==null?void 0:n[o])==null?void 0:s.switch_checkbox)&&r==="values"});A(this,"initCheckboxesForEachRow",()=>{let r=[];this.state.rows.forEach((o,a)=>{r[a]=!1}),this.setState({checkboxes:r})});A(this,"checkAll",r=>{let o=[...this.state.rows],a=[];o.forEach((n,s)=>{a[s]=r}),this.setState({checkboxes:a})});A(this,"setCheckbox",r=>{let o=[...this.state.checkboxes];o[r.index]=r.isChecked,this.setState({checkboxes:o})});A(this,"openCopyModal",()=>{this.setState({openCopyPopup:!0})});A(this,"closeCopyModal",r=>{r&&this.addSelectedDataToSelected(),this.initCheckboxesForEachRow(),this.setState({openCopyPopup:!1})});A(this,"addSelectedDataToSelected",()=>{if(this.functionSave){let r=this.getSaveData(),{isEmpty:o,action:a}=this.isActionTabEmpty(r);if(o){let n=a[r.activeMenu][r.tab][r.rowIndexToEdit].trigger[0];this.setState({openRenameModal:!0,triggerName:n,renamedTriggerName:n});return}this.functionSave.saveData(r)}});A(this,"getSaveData",()=>({checkboxesToCopy:this.state.checkboxes,copyToMenu:this.state.copyToMenu,activeMenu:this.props.data.state.activeMenu,tab:this.props.data.tab.value,rowIndexToEdit:this.props.data.rowIndexToEdit,newTriggerName:""}));A(this,"isMinOneItemChecked",()=>{var n;let r=!!this.props.data.state.copyDataObject.targetActionName,{isEmpty:o}=this.isActionTabEmpty(this.getSaveData());if(o&&r){this.setState({isValueOk:!0});return}let a=this.props.data.state.copyDataObject.targetCheckboxes;if(!a||!((n=Object.keys(a))!=null&&n.length)){this.setState({isValueOk:!1});return}this.setState({isValueOk:Object.keys(a).some(s=>a[s])})});A(this,"functionSave",null);A(this,"setFunctionSave",r=>{this.functionSave=r});A(this,"renameMenu",({value:r})=>{if(r){if(!this.functionSave)return;let o=this.getSaveData();o.newTriggerName=this.state.renamedTriggerName,this.functionSave.saveData(o)}this.setState({openRenameModal:!1})});this.state={rows:[],trigger:"",showSelectId:!1,selectIdValue:"",indexID:0,dropStart:0,dropEnd:0,dropOver:0,mouseOverNoneDraggable:!1,itemForID:"",openCopyPopup:!1,indexOfRowToCopyForModal:0,checkboxes:[],isMinOneCheckboxChecked:!1,copyModalOpen:!1,copyToMenu:"",openRenameModal:!1,isValueChanged:!1,triggerName:"",renamedTriggerName:"",saveData:{checkboxesToCopy:[],copyToMenu:"",activeMenu:"",tab:"",rowIndexToEdit:0,newTriggerName:""},targetCheckboxes:{},isValueOk:!1}}componentDidMount(){Rp(this.props,this.setState.bind(this),[],this.state.rows),this.initCheckboxesForEachRow()}componentDidUpdate(r,o){let{newRow:a}=this.props.data;if(r.data.newRow!==a&&(Rp(this.props,this.setState.bind(this),a),this.initCheckboxesForEachRow()),o.checkboxes!==this.state.checkboxes){let n=this.state.checkboxes.some(s=>s);this.setState({isMinOneCheckboxChecked:n})}o.renamedTriggerName!==this.state.renamedTriggerName&&this.state.renamedTriggerName!==this.state.triggerName&&this.setState({isValueChanged:!0}),(r.data.state.copyDataObject.targetCheckboxes!==this.props.data.state.copyDataObject.targetCheckboxes||r.data.state.copyDataObject.targetActionName!==this.props.data.state.copyDataObject.targetActionName)&&this.isMinOneItemChecked()}isActionTabEmpty(r){var n;let o=this.props.data.state.native.data.action;return{isEmpty:!((n=o[r.copyToMenu])!=null&&n[r.tab].length),action:o}}render(){var r,o;return Cr.default.createElement("div",{className:"edit__container"},this.state.openRenameModal?Cr.default.createElement(Pk,{rename:this.renameMenu,isOK:this.state.isValueChanged,title:D.t("Rename trigger name"),value:this.state.renamedTriggerName,setState:this.setState.bind(this),id:"renamedTriggerName"}):null,Cr.default.createElement(pie,{callback:{...this.props.callback,updateData:({id:a,index:n,isChecked:s})=>this.updateData({id:a,index:n,val:s}),openCopyModal:this.openCopyModal.bind(this)},data:{...this.props.data,isMinOneCheckboxChecked:this.state.isMinOneCheckboxChecked}}),Cr.default.createElement(wl,{component:Sl,className:"edit__container_action"},Cr.default.createElement(pn,{stickyHeader:!0,"aria-label":"sticky table"},Cr.default.createElement(nie,{tab:this.props.data.tab,callback:{checkAll:this.checkAll}}),Cr.default.createElement(dn,null,this.state.rows?this.state.rows.map((a,n)=>Cr.default.createElement(ao,{key:n,sx:{"&:last-child td, &:last-child td":{border:0}},draggable:!0,onDrop:()=>this.handleDrop(n),onDragStart:s=>Og(n,s,this.state.mouseOverNoneDraggable,this.setState.bind(this)),onDragEnd:()=>Pg(this.setState.bind(this)),onDragOver:s=>kg(n,s),onDragEnter:()=>am(n,this.setState.bind(this)),onDragLeave:()=>am(n,this.setState.bind(this)),style:Eg(n,this.state.dropOver,this.state.dropStart)},Cr.default.createElement(et,{component:"td",scope:"row",align:"left",className:"td--checkbox"},Cr.default.createElement(Io,{id:"checkbox",index:n,callback:this.setCheckbox,isChecked:this.state.checkboxes[n]||!1,obj:!0})),a.IDs||a.IDs===""?Cr.default.createElement(et,{component:"td",scope:"row",align:"left"},Cr.default.createElement("span",{onMouseEnter:s=>Cl(s),onMouseLeave:s=>Ol(s)},Cr.default.createElement(Nn,{value:a.IDs,id:"IDs",index:n,callback:this.updateData,className:"noneDraggable"},Cr.default.createElement(VT,{index:n,callback:()=>this.setState({showSelectId:!0,selectIdValue:a.IDs,indexID:n,itemForID:"IDs"})})))):null,this.props.data.tab.entries.map((s,i)=>!s.checkbox&&s.name!="IDs"&&s.name!="trigger"?Cr.default.createElement(et,{align:"left",key:i},Cr.default.createElement(Nn,{value:typeof a[s.name]=="string"?a[s.name].replace(/&/g,"&"):"",id:s.name,index:n,callback:this.updateData,disabled:this.disableInput(s.name,n),type:s.type,className:"noneDraggable",onMouseOver:Cl,onMouseLeave:Ol,setState:this.setState.bind(this)},s.btnCircleAdd?Cr.default.createElement(jk,{callback:()=>this.props.callback.openHelperText({index:n,entry:s.name,subCard:this.props.data.tab.value})}):null),s.search?Cr.default.createElement(VT,{index:n,callback:()=>this.setState({showSelectId:!0,selectIdValue:a[s.name],indexID:n,itemForID:s.name})}):null):s.checkbox&&s.name!="parse_mode"?Cr.default.createElement(et,{align:"left",className:"table__head_checkbox",key:i},Cr.default.createElement(Io,{id:s.name,index:n,callback:({id:p,index:l,isChecked:d})=>this.updateData({id:p,index:l,val:d}),isChecked:hg(a[s.name]),obj:!0})):null),Cr.default.createElement(sie,{callback:{...this.props.callback,setStateEditor:this.setState.bind(this)},data:{...this.props.data,rows:this.state.rows,indexRow:n}}))):null))),this.state.showSelectId?Cr.default.createElement(Pp,{key:"tableSelect",imagePrefix:"../..",dialogName:this.props.data.adapterName,themeType:this.props.data.state.themeType,theme:lVe,socket:this.props.data.socket,filters:{},selected:this.state.selectIdValue,onClose:()=>this.setState({showSelectId:!1}),root:(r=this.props.data.tab.searchRoot)==null?void 0:r.root,types:(o=this.props.data.tab.searchRoot)!=null&&o.type?this.props.data.tab.searchRoot.type:void 0,onOk:a=>{this.setState({showSelectId:!1}),ine(a,this.props,this.state.indexID,this.setState.bind(this),this.state.itemForID)}}):null,this.state.openCopyPopup?Cr.default.createElement(_a,{title:"Copy",class:"popupContainer__copy",isOK:this.state.isValueOk,labelBtnOK:"add",callback:({value:a})=>this.closeCopyModal(a)},Cr.default.createElement(lie,{data:{...this.props.data},callback:{...this.props.callback,setStateRowEditor:this.setState.bind(this),setFunctionSave:this.setFunctionSave.bind(this)},checkboxes:this.state.checkboxes})):null)}},die=kj;var Ys=y(P());var ss=y(P());var GT=y(P());var Ej=class extends GT.Component{render(){return GT.default.createElement(ir,{b_color:"blue",color:"white",title:"Edit",small:"true",round:"true",callbackValue:this.props.callbackValue,index:this.props.index,callback:this.props.callback},GT.default.createElement("i",{className:"material-icons"},"edit"))}},uie=Ej;var qT=y(P());var Pj=class extends qT.Component{render(){return qT.default.createElement(ir,{b_color:"blue",color:"white",title:"Move up",small:"true",round:"true",callback:this.props.callback,callbackValue:this.props.index,className:this.props.disabled||""},qT.default.createElement("i",{className:"material-icons"},"arrow_upward"))}},fie=Pj;var KT=y(P());var Rj=class extends KT.Component{render(){return KT.default.createElement(ir,{b_color:"blue",color:"white",title:"Move down",small:"true",round:"true",callback:this.props.callback,callbackValue:this.props.index,className:this.props.disabled},KT.default.createElement("i",{className:"material-icons"},"arrow_downward"))}},cie=Rj;var zk=e=>ss.default.createElement(ss.default.Fragment,null,e.showButtons&&e.showButtons.add?ss.default.createElement(et,{align:"center",className:"cellIcon"},ss.default.createElement(Cg,{callback:e.openAddRowCard,index:e.index})):null,e.showButtons&&e.showButtons.edit?ss.default.createElement(et,{align:"center",className:"cellIcon"},ss.default.createElement(uie,{callback:e.editRow,index:e.index})):null,e.showButtons&&e.showButtons.moveUp?ss.default.createElement(et,{align:"center",className:"cellIcon"},ss.default.createElement(fie,{callback:e.moveUp,index:e.index,disabled:e.index===0?"disabled":void 0})):null,e.showButtons&&e.showButtons.moveDown?ss.default.createElement(et,{align:"center",className:"cellIcon"},ss.default.createElement(cie,{callback:e.moveDown,index:e.index,disabled:e.index===e.rows.length-1?"disabled":""})):null,e.showButtons&&e.showButtons.remove?ss.default.createElement(et,{align:"center",className:"cellIcon"},e.notShowDelete?null:ss.default.createElement(Lk,{callback:e.deleteRow,index:e.index})):null);function mie(e,t,r,o,a){let n=Lt(e),s;r?s=n==null?void 0:n[t][o][r]:s=n==null?void 0:n[t][o];let i=s[a];return s.splice(a,1),{userArray:s,element:i,dataCopy:n}}var Wk=({index:e,data:t,card:r,subCard:o,activeMenu:a,updateNative:n,upDown:s,newPositionIndex:i})=>{let{element:p,userArray:l,dataCopy:d}=mie(t,r,o,a,e);s&&l.splice(e+s,0,p),i&&l.splice(i,0,p),o&&d?d[r][a][o]=l:d&&(d[r][a]=l),n("data",d)};var Uk=({index:e,data:t,card:r,subCard:o,activeMenu:a,updateNative:n})=>{let{userArray:s,dataCopy:i}=mie(t,r,o,a,e);o&&i?i[r][a][o]=s:i&&(i[r][a]=s),n("data",i)};var Mu=y(P());var Dj=class extends Mu.Component{render(){return Mu.default.createElement(pn,null,Mu.default.createElement(dn,{className:"dynamicHeight"},this.props.data?this.props.data.map((t,r)=>Mu.default.createElement(ao,{key:r,className:"SubTable"},Mu.default.createElement(et,{style:{padding:"0",border:"none"}},Mu.default.createElement("span",{draggable:!1,className:"noneDraggable",onMouseOver:o=>Cl(o),onMouseLeave:o=>Ol(o)},this.props.name!="values"?gg(t,this.props.entry):t)))):null))}},hie=Dj;var Nu=class Nu extends Ys.Component{constructor(r){super(r);A(this,"getRows",()=>{let{activeMenu:r,native:o}=this.props.data.state,a=o.data.action;if(!a)return;let n=a[r][this.props.data.tab.value],s=[];if(n!==void 0){for(let i of n)s.push(Nu.createData(this.props.data.tab.entries,i));this.setState({rows:s})}});A(this,"handleDrop",(r,o)=>{let a=o==null?void 0:o.target;for(;a;){if(a.tagName==="TR"&&!a.classList.contains("SubTable")&&a.classList.contains("draggingDropBox"))return;a=a.parentElement}r!==this.state.dropStart&&Wk({index:this.state.dropStart,card:this.props.data.card,subCard:this.props.data.tab.value,upDown:r-this.state.dropStart,activeMenu:this.props.data.state.activeMenu,data:this.props.data.state.native.data,updateNative:this.props.callback.updateNative})});A(this,"editRow",({index:r})=>{let{activeMenu:o}=this.props.data.state,{data:a}=this.props.data.state.native,{setStateTabActionContent:n}=this.props.callback,s=Lt(a);if(!s)return;let i=s[this.props.data.card][o][this.props.data.tab.value][r];console.log(i),i.trigger&&this.props.callback.addEditedTrigger(i.trigger[0]),n({newRow:i,editRow:!0,rowPopup:!0,rowIndexToEdit:r})});this.state={dropStart:0,dropEnd:0,dropOver:0,rows:[],mouseOverNoneDraggable:!1}}static createData(r,o){let a={};return r.forEach(n=>{a[n.name]=o[n.name]}),a}componentDidUpdate(r){let{activeMenu:o,native:a}=this.props.data.state;r.data.state.activeMenu!==o&&(this.getRows(),Nu.updateHeight()),r.data.state.native.data.action!==a.data.action&&this.getRows()}componentDidMount(){this.getRows(),window.addEventListener("resize",Nu.updateHeight),setTimeout(()=>{Nu.updateHeight()},100)}static componentWillUnmount(){window.removeEventListener("resize",Nu.updateHeight)}render(){return Ys.default.createElement(dn,{className:"TableDndAction-Body"},this.state.rows.map((r,o)=>Ys.default.createElement(ao,{key:o,sx:{"&:last-child td, &:last-child th":{border:0}},className:"no-select",draggable:!0,onDrop:a=>this.handleDrop(o,a),onDragStart:a=>{Og(o,a,this.state.mouseOverNoneDraggable,this.setState.bind(this),{draggingRowIndex:o},this.props.callback.setStateApp)},onDragEnd:()=>Pg(this.setState.bind(this),this.props.callback.setStateApp),onDragOver:a=>kg(o,a),onDragEnter:()=>am(o,this.setState.bind(this)),style:Eg(o,this.state.dropOver,this.state.dropStart)},r.trigger?Ys.default.createElement(et,{align:"left",component:"td",scope:"row"},Ys.default.createElement("span",{className:"noneDraggable",onMouseOver:a=>Cl(a),onMouseLeave:a=>Ol(a)},r.trigger)):null,this.props.data.tab.entries.map((a,n)=>a.name!="trigger"&&a.name!="parse_mode"?Ys.default.createElement(et,{className:"tdWithHeightForSubTable",align:"left",component:"td",scope:"row",key:n,style:a.width?{width:a.width}:void 0},Ys.default.createElement(hie,{data:r[a.name],setState:this.setState.bind(this),name:a.name,entry:a})):null),r.parse_mode?Ys.default.createElement(et,{align:"left",component:"td",scope:"row"},Ys.default.createElement("span",{className:"noneDraggable",onMouseOver:a=>Cl(a),onMouseLeave:a=>Ol(a)},gg(r.parse_mode[0]))):null,Ys.default.createElement(zk,{openAddRowCard:this.props.callback.openAddRowCard,editRow:this.editRow,moveDown:()=>{},moveUp:()=>{},deleteRow:({index:a})=>Uk({index:a,activeMenu:this.props.data.state.activeMenu,card:this.props.data.card,subCard:this.props.data.tab.value,updateNative:this.props.callback.updateNative,data:this.props.data.state.native.data}),rows:this.state.rows,index:o,showButtons:this.props.data.showButtons}))))}};A(Nu,"updateHeight",()=>{let r=Array.from(document.getElementsByClassName("dynamicHeight")),o=Array.from(document.getElementsByClassName("tdWithHeightForSubTable"));r.forEach(n=>{n.style.height="auto"});let a=0;o.length>0&&o.forEach((n,s)=>{n&&r[s]&&r[s].offsetHeight!!(this.state.editedValueFromHelperText&&this.state.editedValueFromHelperText!==""&&this.state.editedValueFromHelperText!==this.state[this.state.helperTextFor]));A(this,"addEditedTrigger",r=>{let o=Lt(this.props.data.state.unUsedTrigger);if(o&&r){this.setState({newUnUsedTrigger:[...o,r]});return}});A(this,"openAddRowCard",({index:r})=>{this.addEditedTrigger(null),this.setState({rowPopup:!0,rowIndexToEdit:r})});A(this,"eventModalButtonClick",({value:r})=>{r&&this.saveData(),this.setState({newUnUsedTrigger:null,rowPopup:!1,editRow:!1}),this.resetNewRow()});A(this,"resetNewRow",()=>{let r={};this.props.data.tab.entries.forEach(o=>{r[o.name]=[o.val||""]}),this.setState({newRow:r})});A(this,"getLengthOfData",(r,o)=>{var n,s;let{value:a}=this.props.data.tab;if((s=(n=r==null?void 0:r[o])==null?void 0:n[a])!=null&&s.length){this.setState({rowsLength:r[o][a].length});return}this.setState({rowsLength:0})});A(this,"openHelperText",r=>{this.setState({valueForSave:r}),r&&this.setState({editedValueFromHelperText:this.state.newRow[r.entry][r.index],helperTextFor:r.subCard,helperTextForInput:r.entry}),this.setState({helperText:!0})});A(this,"onchangeValueFromHelper",({value:r})=>{if(this.state.editedValueFromHelperText===null){this.setState({editedValueFromHelperText:r});return}this.setState({editedValueFromHelperText:`${this.state.editedValueFromHelperText} ${r}`})});A(this,"popupHelperCard",({value:r})=>{var o,a;if(r){let n=Lt(this.state.newRow);if(!n||!this.state.valueForSave)return;n[(o=this.state.valueForSave)==null?void 0:o.entry][(a=this.state.valueForSave)==null?void 0:a.index]=this.state.editedValueFromHelperText,this.setState({newRow:n})}this.setState({helperText:!1,editedValueFromHelperText:null})});A(this,"addNewRow",({index:r})=>{this.setState({rowPopup:!0});let o={data:{newRow:this.state.newRow,tab:{entries:this.props.data.tab.entries}}};dk(r,o,this.props.callback.setStateApp,this.props.callback.setStateApp)});this.state={rowPopup:!1,rowIndexToEdit:0,editRow:!1,newRow:{},rowsLength:0,newUnUsedTrigger:this.props.data.state.unUsedTrigger,helperText:!1,helperTextFor:"",helperTextForInput:"",editedValueFromHelperText:null,isOK:!1,valueForSave:null,inputValuesAreOK:!0,disableInput:!1,nav:"",text:""}}componentDidUpdate(r,o){let{native:a,activeMenu:n}=this.props.data.state;o.editedValueFromHelperText!==this.state.editedValueFromHelperText&&this.state.editedValueFromHelperText!==null&&this.state.editedValueFromHelperText!==void 0&&this.state.editedValueFromHelperText!==""&&this.setState({isOK:this.checkNewValueIsOK()}),(r.data!==this.props.data||n!==r.data.state.activeMenu)&&this.getLengthOfData(a.data.action,n),o.newRow!==this.state.newRow&&this.disableButtonHandler()}disableButtonHandler(){let{tab:r}=this.props.data,o=!0,a=this.state.newRow;r.entries.forEach(n=>{!n.checkbox&&n.required&&(a[n.name]||(a[n.name]=[""]),a[n.name].forEach(s=>{if(o&&n.name==="values"){typeof s!="string"&&(o=!1);return}o&&s==""&&(o=!1)}))}),this.state.inputValuesAreOK!==o&&this.setState({inputValuesAreOK:o})}componentDidMount(){var a;let{native:r,activeMenu:o}=this.props.data.state;this.resetNewRow(),this.getLengthOfData((a=r.data)==null?void 0:a.action,o)}saveData(){let{value:r}=this.props.data.tab,{native:o,activeMenu:a}=this.props.data.state,n=Lt(o.data);n&&(n.action[a][r]||(n.action[a][r]=[]),this.state.editRow?n.action[a][r].splice(this.state.rowIndexToEdit,1,this.state.newRow):n.action[a][r].splice(this.state.rowIndexToEdit+1,0,this.state.newRow),this.props.callback.updateNative("data",n))}render(){return Zo.default.createElement(Zo.default.Fragment,null,this.state.rowsLength==0?Zo.default.createElement(ir,{b_color:"#96d15a",title:"addAction",width:"50%",margin:"0 18px",height:"50px",index:null,callback:this.addNewRow},Zo.default.createElement("i",{className:"material-icons translate"},"add"),D.t("addAction")):Zo.default.createElement(wl,{component:Sl,className:"ActionCard-Container"},Zo.default.createElement(pn,{stickyHeader:!0,"aria-label":"sticky table"},Zo.default.createElement(Js,null,Zo.default.createElement(ao,null,this.props.data.tab.entries.map((r,o)=>Zo.default.createElement(et,{key:o},Zo.default.createElement("span",{title:r.title?D.t(r.title):void 0},D.t(r.headline)))),Array(Object.keys(this.props.data.showButtons).length).fill(void 0).map((r,o)=>Zo.default.createElement(et,{key:o,align:"center",className:"cellIcon"})))),Zo.default.createElement(xie,{data:this.props.data,callback:{...this.props.callback,setStateTabActionContent:this.setState.bind(this),openAddRowCard:this.openAddRowCard,addEditedTrigger:this.addEditedTrigger}}))),this.state.rowPopup?Zo.default.createElement(_a,{callback:this.eventModalButtonClick,width:this.props.data.tab.popupCard.width,height:this.props.data.tab.popupCard.height,title:this.props.data.tab.label,isOK:this.state.inputValuesAreOK},Zo.default.createElement(die,{data:{...this.props.data,newRow:this.state.newRow,newUnUsedTrigger:this.state.newUnUsedTrigger||this.props.data.state.unUsedTrigger,rowIndexToEdit:this.state.rowIndexToEdit},callback:{...this.props.callback,setStateTabActionContent:this.setState.bind(this),openHelperText:this.openHelperText}})):null,this.state.helperText?Zo.default.createElement(_a,{callback:this.popupHelperCard,width:"90%",height:"80%",title:"Helper Texte",setState:this.setState.bind(this),isOK:this.state.isOK,class:"HelperText"},Zo.default.createElement(Ik,{data:this.props.data,helper:Fk,name:"action",val:this.state.helperTextFor,text:this.state.text,helperTextForInput:this.state.helperTextForInput,callback:this.onchangeValueFromHelper,editedValueFromHelperText:this.state.editedValueFromHelperText,setState:this.setState.bind(this)})):null)}},gie=Mj;var Rg=y(P());var Nj=class extends Rg.Component{constructor(r){super(r);A(this,"handleChange",(r,o)=>{this.props.callback.setStateApp&&this.props.callback.setStateApp({subTab:o}),this.props.setState({value:o})});this.state={}}render(){return Rg.default.createElement(wu,{sx:{borderBottom:1,borderColor:"divider"}},Rg.default.createElement(_g,{onChange:this.handleChange,"aria-label":"lab API tabs example",className:"App-TabList TabList-Action"},mg.map((r,o)=>Rg.default.createElement(vg,{key:o,label:r.label,value:r.value}))))}},yie=Nj;var Ij=class extends nm.Component{constructor(t){super(t),this.state={value:"set"}}render(){return nm.default.createElement(om,{value:this.state.value},nm.default.createElement(yie,{callback:this.props.callback,setState:this.setState.bind(this)}),mg.map((t,r)=>nm.default.createElement(Eu,{key:r,value:t.value,className:"TabPanel-Action"},nm.default.createElement(gie,{callback:this.props.callback,data:{...this.props.data,tab:t,card:"action",showButtons:{add:!0,remove:!0,edit:!0}}}))))}},bie=Ij;var ji=y(P());var Pl=y(P());function pVe(e,t){let r={};return e.forEach(o=>{r[o.name]=t[o.name]}),r}var Fj=class extends Pl.Component{constructor(r){super(r);A(this,"handleDrop",(r,o)=>{let a=r.target;for(;a;){if(a.tagName==="TR"&&a.classList.contains("draggingDropBox"))return;a=a.parentElement}o!==this.state.dropStart&&o!=0&&Wk({index:this.state.dropStart,card:this.props.card,upDown:o-this.state.dropStart,data:this.props.data.state.native.data,activeMenu:this.props.data.state.activeMenu,updateNative:this.props.callback.updateNative})});A(this,"editRow",({index:r})=>{let{native:o,activeMenu:a}=this.props.data.state;if(o.data.nav&&a){let n=o.data.nav[a][r];this.props.setState({newRow:n})}this.props.setState({rowPopup:!0}),this.props.setState({rowIndex:r}),this.props.setState({editRow:!0})});this.state={dropStart:0,dropEnd:0,dropOver:0,mouseOverNoneDraggable:!1,rows:[]}}getRows(r,o){if(!r||!o)return;let a=r[o],n=[];if(a){for(let s of a)n.push(pVe(this.props.data.entries,s));this.setState({rows:n})}}componentDidMount(){let{native:r,activeMenu:o}=this.props.data.state;r.data.nav&&this.getRows(r.data.nav,o)}componentDidUpdate(r){let{native:o,activeMenu:a}=this.props.data.state,{nav:n}=o.data;(r.data.state.activeMenu!==a||r.data.state.native.data.nav!==n)&&this.getRows(o.data.nav,a)}render(){return Pl.default.createElement(dn,null,this.state.rows.map((r,o)=>Pl.default.createElement(ao,{key:o,sx:{"&:last-child td, &:last-child th":{border:0}},className:`no-select ${o===0?r.call!=""&&r.call!="-"?"startSideActive":"startSideInactive":""}`,draggable:oie(o),onDrop:a=>this.handleDrop(a,o),onDragStart:a=>Og(o,a,this.state.mouseOverNoneDraggable,this.setState.bind(this),{draggingRowIndex:o},this.props.callback.setStateApp),onDragEnd:()=>Pg(this.setState.bind(this),this.props.callback.setStateApp),onDragOver:a=>kg(o,a),onDragEnter:()=>am(o,this.setState.bind(this)),style:Eg(o,this.state.dropOver,this.state.dropStart)},this.props.data.entries.map((a,n)=>Pl.default.createElement(et,{key:n,component:"td",style:{width:a.width?a.width:void 0}},Pl.default.createElement("span",{className:"noneDraggable",onMouseOver:s=>Cl(s),onMouseLeave:o==0?void 0:s=>Ol(s)},gg(r[a.name])," ",Pl.default.createElement("span",{draggable:!1,className:`textSubmenuInfo noneDraggable ${n===0&&(r.call===""||r.call==="-")?"":"startSideHideInfo"}`},o===0&&(r.call===""||r.call==="-")?Pl.default.createElement("span",null,D.t("isSubmenu")):null)))),Pl.default.createElement(zk,{openAddRowCard:this.props.openAddRowCard,editRow:this.editRow,moveDown:()=>{},moveUp:()=>{},deleteRow:()=>Uk({index:o,card:this.props.card,activeMenu:this.props.data.state.activeMenu,data:this.props.data.state.native.data,updateNative:this.props.callback.setStateApp}),rows:this.state.rows,index:o,showButtons:this.props.showButtons,notShowDelete:o==0}))))}},vie=Fj;var Rl=y(P());var Bj=class extends Rl.Component{constructor(t){super(t),this.state={}}render(){return Rl.default.createElement(Js,null,Rl.default.createElement(ao,null,this.props.entries.map((t,r)=>Rl.default.createElement(et,{key:r,align:"left"},Rl.default.createElement("span",{title:t.title?D.t(t.title):void 0},D.t(t.headline)))),Rl.default.createElement(et,{align:"center",className:"cellIcon"}),Rl.default.createElement(et,{align:"center",className:"cellIcon"}),Rl.default.createElement(et,{align:"center",className:"cellIcon"})))}},Tie=Bj;var Iu=y(P());var jj=class extends Iu.Component{constructor(t){super(t),this.state={}}render(){return Iu.default.createElement("div",{className:"edit__container"},this.props.entries.map((t,r)=>t.name!="value"&&t.name!="text"&&!t.checkbox?Iu.default.createElement(Nn,{key:r,value:this.props.newRow[t.name],id:t.name,callback:this.props.callback.onChangeInput,callbackValue:"event.target.value",label:D.t(t.headline),class:this.props.inUse?"inUse":""}):t.name=="value"||t.name=="text"?Iu.default.createElement(Nn,{key:r,value:this.props.newRow[t.name],id:t.name,callback:this.props.callback.onChangeInput,callbackValue:"event.target.value",label:D.t(t.headline)},Iu.default.createElement(jk,{callback:()=>this.props.openHelperText(t.name)})):Iu.default.createElement(Io,{key:r,id:t.name,index:r,class:"checkbox__line",callback:this.props.callback.onChangeCheckbox,isChecked:hg(this.props.newRow[t.name]),obj:!0,label:D.t(t.headline)})))}},Sie=jj;var XT=y(P());var Lj=class extends XT.Component{constructor(r){super(r);A(this,"changeInput",({val:r,id:o})=>{let a=Lt(this.props.state.newRow);a&&(o&&(a[o]=r.toString()),this.props.setState({newRow:a}))});A(this,"changeCheckbox",({isChecked:r,id:o})=>{let a=Lt(this.props.state.newRow);a&&(o&&(a[o]=r.toString()),this.props.setState({newRow:a}))});A(this,"openHelperText",r=>{r&&(this.props.setState({editedValueFromHelperText:this.props.state.newRow[r]}),this.props.setState({helperTextFor:r})),this.props.setState({helperText:!0})});this.state={}}render(){return XT.default.createElement(_a,{callback:this.props.popupRowCard,call:this.props.state.call,nav:this.props.state.nav,text:this.props.state.text,usedTrigger:this.props.data.state.usedTrigger,width:"99%",height:"40%",title:"Navigation",setState:this.props.setState.bind(this),isOK:this.props.state.valuesAreOk},XT.default.createElement(Sie,{callback:{onChangeInput:this.changeInput,onChangeCheckbox:this.changeCheckbox},inUse:this.props.state.callInUse,openHelperText:this.openHelperText,entries:this.props.data.entries,newRow:this.props.state.newRow}))}},wie=Lj;var JT=y(P());var zj=class extends JT.Component{constructor(r){super(r);A(this,"onchangeValueFromHelper",({value:r})=>{this.props.state.editedValueFromHelperText===null&&this.props.setState({editedValueFromHelperText:r}),this.props.setState({editedValueFromHelperText:`${this.props.state.editedValueFromHelperText} ${r}`})});this.state={}}render(){return JT.default.createElement(_a,{callback:this.props.popupHelperCard,width:"90%",height:"80%",title:"Helper Texte",setState:this.setState.bind(this),isOK:this.props.state.isOK,class:"HelperText"},JT.default.createElement(Ik,{data:{adapterName:this.props.data.adapterName,socket:this.props.data.socket,themeType:this.props.data.themeType},helper:Fk,name:"nav",val:"nav",helperTextForInput:this.props.state.helperTextFor,text:this.props.state.newRow.text,callback:this.onchangeValueFromHelper,editedValueFromHelperText:this.props.state.editedValueFromHelperText||"",setState:this.props.setState.bind(this)}))}},_ie=zj;var Wj=class extends ji.Component{constructor(r){super(r);A(this,"checkValueAlreadyUsed",()=>{this.state.newRow.text!==""?this.state.editRow?this.setState({valuesAreOk:!0}):this.props.data.state.usedTrigger.includes(this.state.newRow.call)||this.state.newRow.call.startsWith("menu")?this.setState({valuesAreOk:!1}):this.setState({valuesAreOk:!0}):this.setState({valuesAreOk:!1}),this.state.newRow.call!==""&&(this.state.editRow?this.setState({callInUse:!1}):this.props.data.state.usedTrigger.includes(this.state.newRow.call)||this.state.newRow.call.startsWith("menu")?this.setState({callInUse:!0}):this.setState({callInUse:!1}))});A(this,"checkNewValueIsOK",()=>this.state.editedValueFromHelperText!==null&&this.state.editedValueFromHelperText!==void 0&&this.state.editedValueFromHelperText!==""&&this.state.editedValueFromHelperText!==this.state[this.state.helperTextFor]);A(this,"popupRowCard",({value:r})=>{if(!r){this.setState({rowPopup:!1,editRow:!1});return}let o=JSON.parse(JSON.stringify(this.props.data.state.native.data)),a=o.nav[this.props.data.state.activeMenu];this.state.editRow?a.splice(this.state.rowIndex,1,this.state.newRow):a.splice(this.state.rowIndex+1,0,this.state.newRow),o.nav[this.props.data.state.activeMenu]=a,this.props.callback.updateNative("data",o),this.setState({rowPopup:!1,editRow:!1})});A(this,"openAddRowCard",({index:r})=>{r&&this.setState({rowIndex:r});let o={};this.props.data.entries.forEach(a=>{o[a.name]=a.val}),this.setState({newRow:o,rowPopup:!0})});A(this,"popupHelperCard",({value:r})=>{if(r){let o=Lt(this.state.newRow);if(!o)return;let a=this.state.helperTextFor;o[a]=this.state.editedValueFromHelperText,this.setState({newRow:o})}this.setState({helperText:!1,editedValueFromHelperText:null})});this.state={rowPopup:!1,rowIndex:0,editRow:!1,valuesAreOk:!1,callInUse:!1,helperTextFor:"",editedValueFromHelperText:null,isOK:!1,helperText:!1,newRow:{},nav:"",call:"",text:""}}componentDidUpdate(r,o){o.editedValueFromHelperText!==this.state.editedValueFromHelperText&&this.state.editedValueFromHelperText!==null&&this.state.editedValueFromHelperText!==void 0&&this.state.editedValueFromHelperText!==""&&this.setState({isOK:this.checkNewValueIsOK()}),o.newRow!==this.state.newRow&&this.checkValueAlreadyUsed()}render(){return ji.default.createElement(ji.default.Fragment,null,ji.default.createElement(wl,{component:Sl,className:"MenuNavigation-Container"},ji.default.createElement(pn,{stickyHeader:!0,"aria-label":"sticky table"},ji.default.createElement(Tie,{entries:this.props.data.entries}),ji.default.createElement(vie,{data:this.props.data,callback:this.props.callback,card:"nav",showButtons:{add:!0,remove:!0,edit:!0},openAddRowCard:this.openAddRowCard,setState:this.setState.bind(this)}))),this.state.rowPopup?ji.default.createElement(wie,{state:this.state,setState:this.setState.bind(this),data:this.props.data,popupRowCard:this.popupRowCard}):null,this.state.helperText?ji.default.createElement(_ie,{state:this.state,setState:this.setState.bind(this),data:this.props.data,popupHelperCard:this.popupHelperCard}):null)}},Cie=Wj;var go=y(P());var Uj=class extends go.Component{constructor(r){super(r);A(this,"onClickCheckbox",({isChecked:r,id:o})=>{let a={...this.props.data.state.native.checkbox};a[o]=r,this.props.callback.updateNative("checkbox",a)});this.state={value:"/opt/iobroker/grafana/",options:["One","Two","Three"]}}componentDidMount(){if(!this.props.data.state.native.checkbox.sendMenuAfterRestart){let r={...this.props.data.state.native.checkbox};r.sendMenuAfterRestart=!0,this.props.callback.updateNative("checkbox",r)}}render(){return go.default.createElement("div",{className:"Settings"},go.default.createElement("h1",null,D.t("settings")),go.default.createElement(tr,{container:!0,spacing:1},go.default.createElement(tr,{item:!0,sm:12},go.default.createElement(kl,{placeholder:"placeholderInstance",options:this.props.data.state.instances||[],label:D.t("telegramInstance"),name:"instance",selected:this.props.data.state.native.instance,id:"instance",callback:({id:r,val:o})=>this.props.callback.updateNative(r,o),setNative:!0})),go.default.createElement(tr,{item:!0,xs:12,sm:12,lg:4},go.default.createElement(Nn,{label:D.t("textNoEntry"),placeholder:"No entry found",callback:({id:r,val:o})=>this.props.callback.updateNative(r,o),id:"textNoEntry",value:this.props.data.state.native.textNoEntry||D.t("entryNotFound")})),go.default.createElement(tr,{item:!0,xs:12,sm:12,lg:4},go.default.createElement(Nn,{label:D.t("Token Grafana"),placeholder:"Token Grafana",callback:({id:r,val:o})=>this.props.callback.updateNative(r,o),id:"tokenGrafana",value:this.props.data.state.native.tokenGrafana||""})),go.default.createElement(tr,{item:!0,xs:12,sm:12,lg:4},go.default.createElement(Nn,{label:D.t("Directory"),placeholder:"/opt/iobroker/grafana/",callback:({id:r,val:o})=>this.props.callback.updateNative(r,o),id:"directory",value:this.props.data.state.native.directory||"/opt/iobroker/grafana/"})),go.default.createElement(tr,{item:!0,xs:12},go.default.createElement(Io,{label:D.t("Active"),id:"checkboxNoValueFound",isChecked:this.props.data.state.native.checkbox.checkboxNoValueFound||!1,callback:this.onClickCheckbox,index:0})),go.default.createElement(tr,{item:!0,xs:12},go.default.createElement(Io,{label:"Resize Keyboard",id:"resKey",isChecked:this.props.data.state.native.checkbox.resKey||!1,callback:this.onClickCheckbox,title:"Requests clients to resize the keyboard vertically for optimal fit (e.g., make the keyboard smaller if there are just two rows of buttons). Defaults to false, in which case the custom keyboard is always of the same height as the app's standard keyboard.",class:"title",index:1})),go.default.createElement(tr,{item:!0,xs:12},go.default.createElement(Io,{label:"One Time Keyboard",id:"oneTiKey",isChecked:this.props.data.state.native.checkbox.oneTiKey||!1,callback:this.onClickCheckbox,title:"oneTimeKey",class:"title",index:2})),go.default.createElement(tr,{item:!0,xs:12},go.default.createElement(Io,{label:D.t("sendMenuAfterRestart"),id:"sendMenuAfterRestart",isChecked:this.props.data.state.native.checkbox.sendMenuAfterRestart===null||this.props.data.state.native.checkbox.sendMenuAfterRestart===void 0?!0:this.props.data.state.native.checkbox.sendMenuAfterRestart,callback:this.onClickCheckbox,index:3}))))}},Oie=Uj;var Li=y(P()),Vj=class extends Li.Component{constructor(t){super(t),this.state={}}render(){return Li.default.createElement(Li.default.Fragment,null,Li.default.createElement(Eu,{value:"nav"},Li.default.createElement(Cie,{data:{...this.props.data,entries:Zae},callback:this.props.callback})),Li.default.createElement(Eu,{value:"action",className:"tabAction"},Li.default.createElement(bie,{data:this.props.data,callback:this.props.callback})),Li.default.createElement(Eu,{value:"settings"},Li.default.createElement(Oie,{data:this.props.data,callback:this.props.callback})))}},kie=Vj;var Dg=y(P());var Hj=class extends Dg.Component{constructor(r){super(r);A(this,"handleChange",(r,o)=>{this.props.callback.setStateApp({tab:o})});A(this,"tabs",[{label:"navigation",value:"nav"},{label:"action",value:"action"},{label:"settings",value:"settings"}]);this.state={}}render(){return Dg.default.createElement(wu,{sx:{borderBottom:1,borderColor:"divider"}},Dg.default.createElement(_g,{onChange:this.handleChange,"aria-label":"lab API tabs example",className:"App-TabList"},"Test",this.tabs.map(r=>Dg.default.createElement(vg,{label:D.t(r.label),value:r.value,key:r.label}))))}},Eie=Hj;var Bp=y(P()),$j=class extends Bp.Component{constructor(t){super(t),this.state={}}render(){return Bp.default.createElement(tr,{item:!0,xs:12,className:"app__content"},Bp.default.createElement(wu,{component:"div",sx:{width:"100%",typography:"body1"},className:"app__box"},Bp.default.createElement(om,{value:this.props.data.state.tab},Bp.default.createElement(Eie,{callback:this.props.callback}),Bp.default.createElement(Xse,{data:this.props.data,callback:this.props.callback}),Bp.default.createElement(kie,{callback:this.props.callback,data:this.props.data}))))}},Pie=$j;var Ag=y(P());var Gj=class extends Ag.Component{constructor(t){super(t),this.state={}}render(){return Ag.default.createElement("div",{className:"ErrorDoubleTrigger-Container"},Ag.default.createElement("p",{className:"Error-Header"},D.t("doubleTrigger")),this.props.state.doubleTrigger.map((t,r)=>Ag.default.createElement("p",{className:"Error-Items",key:r},t)))}},Rie=Gj;var YT=y(P());var Ca=y(P());var sm=class sm extends Ca.Component{constructor(r){super(r);A(this,"updateMenuList",()=>{let r=Object.keys(this.props.data.state.native.usersInGroup);this.setState({menuList:r})});A(this,"handleOnDrop",()=>{var n,s;if(this.state.selectedMenu==="")return;let r=Lt(this.props.data.state.native.data);if(!r)return;let o={},a=this.state.selectedValue;if(this.state.newTrigger===""&&this.props.data.state.subTab!=="events"){this.props.data.state.tab==="action"?o=this.props.data.state.native.data[this.props.data.state.tab][this.props.data.state.activeMenu][this.props.data.state.subTab][this.props.index]:o=this.props.data.state.native.data[this.props.data.state.tab][this.props.data.state.activeMenu][this.props.index],this.setState({rowToWorkWith:o});let i=(s=PT(r,(n=this.props.data.state.native)==null?void 0:n.usersInGroup,this.state.selectedMenu))==null?void 0:s.usedTrigger;if(this.setState({usedTrigger:i||[]}),this.props.data.state.tab==="action"&&"trigger"in o)if(a==="copy")o.trigger&&(i!=null&&i.includes(o.trigger[0]))&&this.setState({trigger:o.trigger[0],newTrigger:o.trigger[0],openRenamePopup:!0,oldTrigger:o.trigger[0]});else{let p=sm.countItemsInArray(i,o.trigger[0]);p&&p<=1?(this.setState({trigger:o.trigger[0],newTrigger:o.trigger[0]}),this.move(o,r)):this.setState({trigger:o.trigger[0],newTrigger:o.trigger[0],openRenamePopup:!0,oldTrigger:o.trigger[0]})}else if(a==="copy"&&"call"in o)i!=null&&i.includes(o.call)&&this.setState({trigger:o.call,newTrigger:o.call,openRenamePopup:!0,oldTrigger:o.call});else if("call"in o){let p=sm.countItemsInArray(i,o.call);p&&p<=1?(this.setState({trigger:o.call,newTrigger:o.call}),this.move(o,r)):this.setState({trigger:o.call,newTrigger:o.call,openRenamePopup:!0,oldTrigger:o.call})}}else this.props.data.state.subTab==="events"?o=this.props.data.state.native.data[this.props.data.state.tab][this.props.data.state.activeMenu][this.props.data.state.subTab][this.props.index]:o||(o=this.state.rowToWorkWith),a==="copy"?this.copy(o,r):this.move(o,r)});A(this,"move",(r,o)=>{this.props.data.state.tab==="action"&&this.props.data.state.subTab!=="events"?(this.state.newTrigger!==""&&"trigger"in r&&(r.trigger[0]=this.state.newTrigger),o[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab]||(o[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab]=[]),o[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab].push(r),o[this.props.data.state.tab][this.props.data.state.activeMenu][this.props.data.state.subTab].splice(this.props.index,1)):this.props.data.state.subTab=="events"?(o[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab]||(o[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab]=[]),o[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab].push(r),o[this.props.data.state.tab][this.props.data.state.activeMenu][this.props.data.state.subTab].splice(this.props.index,1)):(this.state.newTrigger!==""&&"call"in r&&(r.call=this.state.newTrigger),o[this.props.data.state.tab][this.state.selectedMenu].push(r),o[this.props.data.state.tab][this.props.data.state.activeMenu].splice(this.props.index,1)),this.props.callback.updateNative("data",o),this.setState({newTrigger:""})});A(this,"copy",(r,o)=>{this.props.data.state.tab==="action"&&this.props.data.state.subTab!=="events"&&"trigger"in r?(r.trigger[0]=this.state.newTrigger,o[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab].push(r)):this.props.data.state.subTab=="events"?o[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab].push(r):"call"in r&&(r.call=this.state.newTrigger,o[this.props.data.state.tab][this.state.selectedMenu].push(r)),this.props.callback.updateNative("data",o),this.setState({newTrigger:""})});A(this,"handleDrag",r=>{this.setState({inDropBox:r})});A(this,"handleChange",r=>{this.setState({selectedValue:r.target.value})});A(this,"renameMenu",({value:r})=>{if(!r){this.setState({openRenamePopup:!1,newTrigger:""});return}if(r){this.setState({openRenamePopup:!1}),this.handleOnDrop();return}this.setState({newTrigger:r})});this.state={inDropBox:!1,menuList:[],selectedMenu:"",selectedValue:"move",openRenamePopup:!1,trigger:"",newTrigger:"",usedTrigger:[],rowToWorkWith:{},isOK:!1,oldTrigger:""}}componentDidMount(){this.updateMenuList()}componentDidUpdate(r,o){r.data.state.activeMenu!==this.props.data.state.activeMenu&&(this.setState({selectedMenu:""}),this.updateMenuList()),o.newTrigger!==this.state.newTrigger&&(this.state.usedTrigger?this.state.usedTrigger.includes(this.state.newTrigger)||this.state.newTrigger===""||this.state.newTrigger===this.state.oldTrigger?this.setState({isOK:!1}):this.setState({isOK:!0}):this.setState({isOK:!0}))}render(){return Ca.default.createElement("div",{className:"Dropbox--outerContainer"},Ca.default.createElement("div",{className:"DropBox-Container"},Ca.default.createElement("p",null,this.state.isOK),Ca.default.createElement(kl,{options:this.state.menuList,selected:this.state.selectedMenu,id:"selectedMenu",callback:({val:r})=>this.setState({selectedMenu:r}),placeholder:D.t("selectTargetMenu")}),Ca.default.createElement("label",null,Ca.default.createElement(NT,{checked:this.state.selectedValue==="move",onChange:this.handleChange,value:"move",name:"radio-buttons",inputProps:{"aria-label":"A"}}),D.t("Move")),Ca.default.createElement("label",null,Ca.default.createElement(NT,{checked:this.state.selectedValue==="copy",onChange:this.handleChange,value:"copy",name:"radio-buttons",inputProps:{"aria-label":"B"}}),D.t("Copy")),Ca.default.createElement("div",{className:"DropBox",draggable:!0,onDrop:()=>this.handleOnDrop(),onDragOver:r=>sm.handleDragOver(r),onDragEnter:()=>this.handleDrag(!0),onDragLeave:()=>this.handleDrag(!1)},Ca.default.createElement("p",{className:"DropBox-Header"},"Drop here!!!"),Ca.default.createElement("p",{className:"DropBox-Content"},D.t("selectAMenuDropBox")))),this.state.openRenamePopup?Ca.default.createElement("div",{className:"Dropbox--PopupContainer-RenameCard"},Ca.default.createElement(_a,{title:D.t("Rename trigger"),value:this.state.trigger,callback:this.renameMenu,class:"DropBox-Background",isOK:this.state.isOK},Ca.default.createElement(Ek,{callback:{setState:this.setState.bind(this)},id:"newTrigger",value:this.state.newTrigger}))):null)}};A(sm,"handleDragOver",r=>{r.preventDefault()}),A(sm,"countItemsInArray",(r,o)=>{let a=0;if(r)return r.forEach(n=>{n.trim()===o.trim()&&a++}),a});var qj=sm,Die=qj;var Kj=class extends YT.Component{constructor(r){super(r);A(this,"closeDropBox",()=>{this.props.callback.setStateApp({showDropBox:!1})});this.state={}}render(){return YT.default.createElement(_a,{class:"DropBox-PopupContainer",reference:this.props.data.dropBoxRef,width:"99%",height:"25%",title:"DropBox",callback:this.closeDropBox,closeBtn:!0,drag:"true",onDragStart:lne,onDragEnd:pne,onDragOver:dne,onDrop:une,onDrag:fne,onMouseEnter:cne,onMouseLeave:mne,setState:this.props.callback.setStateApp},YT.default.createElement(Die,{data:this.props.data,index:this.props.data.state.draggingRowIndex,callback:this.props.callback}))}},Aie=Kj;var Mg=y(P());var Xj=class extends Mg.Component{constructor(t){super(t)}render(){return Mg.default.createElement(tr,{item:!0,xs:12},Mg.default.createElement("form",{className:"header__icons"},Mg.default.createElement(_T,{instance:this.props.instance,common:this.props.common,native:this.props.native,onError:t=>this.setState({errorText:t}),onLoad:this.props.onLoad})))}},Mie=Xj;var tS=y(P());var xt=y(P());var ZT=["Aqua","Blue","BlueViolet","Brown","BurlyWood","CadetBlue","Chartreuse","Chocolate","Coral","CornflowerBlue","Crimson","Cyan","DarkBlue","DarkCyan","DarkGoldenRod","DarkGreen","DarkKhaki","DarkMagenta","DarkOliveGreen","DarkOrange","DarkOrchid","DarkRed","DarkSalmon","DarkSeaGreen","DarkSlateBlue","DarkSlateGray","DarkSlateGrey","DarkTurquoise","DarkViolet","DeepPink","DeepSkyBlue","DimGray","DimGrey","DodgerBlue","FireBrick","FloralWhite","ForestGreen","Fuchsia","Gainsboro","GhostWhite","Gold","GoldenRod","Gray","Grey","Green","GreenYellow","HoneyDew","HotPink","IndianRed","Indigo","Ivory","Khaki","Lavender","LavenderBlush","LawnGreen","LemonChiffon","LightBlue","LightCoral","LightCyan","LightGoldenRodYellow","LightGray","LightGrey","LightGreen","LightPink","LightSalmon","LightSeaGreen","LightSkyBlue","LightSlateGray","LightSlateGrey","LightSteelBlue","LightYellow","Lime","LimeGreen","Linen","Magenta","Maroon","MediumAquaMarine","MediumBlue","MediumOrchid","MediumPurple","MediumSeaGreen","MediumSlateBlue","MediumSpringGreen","MediumTurquoise","MediumVioletRed","MidnightBlue","MintCream","MistyRose","Moccasin","NavajoWhite","Navy","OldLace","Olive","OliveDrab","Orange","OrangeRed","Orchid","PaleGoldenRod","PaleGreen","PaleTurquoise","PaleVioletRed","PapayaWhip","PeachPuff","Peru","Pink","Plum","PowderBlue","Purple","RebeccaPurple","RosyBrown","RoyalBlue","SaddleBrown","Salmon","SandyBrown","SeaGreen","SeaShell","Sienna","Silver","SkyBlue","SlateBlue","SlateGray","SlateGrey","Snow","SpringGreen","SteelBlue","Tan","Teal","Thistle","Tomato","Turquoise","Violet","Wheat","White","WhiteSmoke","Yellow","YellowGreen"];var QT=y(P()),Jj=class extends QT.Component{constructor(t){super(t),this.state={bColor:"",width:6,color:"black",text:"",left:"20px",fontWeight:"normal"}}getValuesForSquare(){switch(this.props.color){case"white":if(this.props.trigger=="-"){this.setState({bColor:"transparent"});break}this.setState({bColor:"white",width:60,text:"Not linked",left:"-59px",fontWeight:"bold"});break;case"black":this.setState({bColor:"black",width:this.props.noText?6:60,color:"white",text:this.props.noText?"":"Unused",left:this.props.noText?"-5px":"-59px",fontWeight:"bold"});break;default:this.props.trigger!="-"?this.setState({bColor:this.props.color,left:`${-(this.props.position*10+5)}px`}):this.setState({bColor:"transparent"});break}}componentDidMount(){this.getValuesForSquare()}componentDidUpdate(t){(this.props.color!==t.color||this.props.trigger!==t.trigger||this.props.position!==t.position)&&this.getValuesForSquare()}render(){return QT.default.createElement("div",null,QT.default.createElement("div",{className:"squareText",style:{width:`${this.state.width}px`,height:"10px",backgroundColor:this.state.bColor,color:this.state.color,marginRight:"5px",position:"absolute",left:this.state.left,display:"flex",alignItems:"center",justifyContent:"center",fontWeight:this.state.fontWeight}},D.t(this.state.text)))}},eS=Jj;var Yj=class extends xt.Component{constructor(r){super(r);A(this,"dataOfIterate",{menu:""});A(this,"ulPadding",{});A(this,"colorArray",[]);A(this,"menuArray",[]);A(this,"updateHandler",({val:r})=>{this.setState({selected:r}),this.createdData(r)});this.state={ulPadding:{},trigger:null,selected:"",options:[]}}getMenusWithUserOrIndexOfMenu(r){let o=Object.keys(this.props.usersInGroup),a=[],n=this.props.usersInGroup[r];return o.forEach((s,i)=>{n.forEach(p=>{this.props.usersInGroup[s].includes(p)&&a.push({menu:s,index:i})})}),{menusWithUser:a,arrayUsersInGroup:o}}getIndexOfMenu(r){let o=Object.keys(this.props.usersInGroup),a=0,n=this.props.usersInGroup[r];return o.forEach((s,i)=>{n.forEach(p=>{this.props.usersInGroup[s].includes(p)&&s==r&&(a=i)})}),a}getColorUsedTriggerNav({menuCall:r,trigger:o}){var s,i;this.menuArray=[];let a=this.getMenusWithUserOrIndexOfMenu(r),n=xg(a.menusWithUser);this.colorArray=[];for(let p of n)if(this.ulPadding[r]||(this.ulPadding[r]=0),(s=this.state.trigger)!=null&&s.everyTrigger[p.menu]&&((i=this.state.trigger)!=null&&i.everyTrigger[p.menu].includes(o)))for(let l=0;lxt.default.createElement("div",{key:o,style:{position:"relative"}},xt.default.createElement(eS,{color:"black",position:0,noText:!0}),xt.default.createElement("li",null,r))))),Object.keys(this.state.trigger.usedTrigger.action).map((r,o)=>{var a,n,s,i,p,l;return xt.default.createElement("div",{key:o,className:"Menu-list-card"},xt.default.createElement("div",{className:((a=this.state.trigger)==null?void 0:a.usedTrigger.nav[r][0])=="-"?"menu-disabled":"menu-startside"},xt.default.createElement("div",{style:{display:"flex",flexWrap:"wrap"}},xt.default.createElement("p",{className:"noMargin inlineBlock strong"},((n=this.state.trigger)==null?void 0:n.usedTrigger.nav[r][0])=="-"?"submenu":"startSide"),this.props.userActiveCheckbox[r]?xt.default.createElement("span",{className:"textRight active"}," ",D.t("Active")):xt.default.createElement("span",{className:"textRight inactive"}," ",D.t("Inactive"))),xt.default.createElement("p",{className:"noMargin"},D.t("setMenu"),": ",r)),xt.default.createElement("div",{className:"User-list-container",style:{border:`4px solid ${ZT[this.getIndexOfMenu(r)]}`}},xt.default.createElement("p",{className:"User-list"},D.t("userList")),this.props.usersInGroup[r].map((d,u)=>xt.default.createElement("p",{key:u},d))),xt.default.createElement("ul",{key:o,className:"Action-list",style:{paddingLeft:this.state.ulPadding[r]}},xt.default.createElement("li",null,xt.default.createElement("p",{className:"strong"},D.t("navigationButtons")),xt.default.createElement("ul",{className:"createdTrigger"},(s=this.state.trigger)==null?void 0:s.everyTrigger[r].map((d,u)=>xt.default.createElement("div",{key:u,style:{position:"relative"}},xt.default.createElement(eS,{position:0,color:this.getColorNavElemente(o,r,d)||""}),xt.default.createElement("li",{key:u,title:`${D.t("linkedWith")} ${this.getMenu()}`},d))))),xt.default.createElement("li",{className:"strong"},D.t("usedTrigger")),xt.default.createElement("li",null,xt.default.createElement("p",{className:"menuDescription"},"nav"),xt.default.createElement("ul",null,(i=this.state.trigger)==null?void 0:i.usedTrigger.nav[r].map((d,u)=>{var f;return xt.default.createElement("div",{key:u,style:{position:"relative"}},(f=this.getColorUsedTriggerNav({index:o,menuCall:r,trigger:d}))==null?void 0:f.map((c,m)=>xt.default.createElement(eS,{key:m,position:m,color:c.color,trigger:d})),xt.default.createElement("li",{className:u==0&&d=="-"?"menu-disabled":u==0?"menu-startside":"",title:`${D.t("linkedWith")} ${this.menuArray.join(", ")}`},d))}))),(p=this.state.trigger)!=null&&p.usedTrigger.action[r]?Object.keys((l=this.state.trigger)==null?void 0:l.usedTrigger.action[r]).map((d,u)=>{var f;return xt.default.createElement("li",{key:u},xt.default.createElement("p",{className:"menuDescription"},d),xt.default.createElement("ul",null,((f=this.state.trigger)==null?void 0:f.usedTrigger.action[r][d]).map((c,m)=>{var g;return xt.default.createElement("div",{key:m,style:{position:"relative"}},(g=this.getColorUsedTriggerNav({index:o,menuCall:r,trigger:c}))==null?void 0:g.map((h,x)=>xt.default.createElement(eS,{key:x,position:x,color:h.color})),xt.default.createElement("li",{key:m,title:`${D.t("linkedWith")} ${this.menuArray.join(", ")}`},c))})))}):null))})):null)}},Nie=Yj;var Zj=class extends tS.Component{constructor(t){super(t),this.state={}}render(){return tS.default.createElement(_a,{title:"Trigger Info",width:"99%",height:"99%",top:"60%",class:"TriggerOverview-PopupContainer",closeBtn:!0,callback:({value:t})=>this.props.callback.setState({showTriggerInfo:t})},tS.default.createElement(Nie,{usersInGroup:this.props.state.native.usersInGroup,userActiveCheckbox:this.props.state.native.userActiveCheckbox,data:this.props.state.native.data}))}},Iie=Zj;var Fie=y(P()),Qj=class extends Fie.Component{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(t){return console.error("ErrorBoundary getDerivedStateFromError:",t),{hasError:!0}}static componentDidCatch(t,r){console.error("Error caught by ErrorBoundary:",t,r)}render(){return this.props.children}},Bie=Qj;var Dl=y(P());var jie=e=>{let t=[...e],r=[];return t.forEach((o,a)=>{a!==t.indexOf(o)&&o!="-"&&r.push(o)}),r};function Lie(e){return Object.keys(e)[0]}var zie={ID:"ID",IDs:"IDs",abort:"Abort",ack:"Ack",action:"Action",active:"Active",activeMenu:"Active Menu:",add:"Add",addAction:"Add new Action",addMenu:"Add new Menu Name",binding:"Bindings: First Var with id then the condition and the text.",breakpointNewline:"Breakpoint for a new line, Only insert this in the Text",call:"Call",cancel:"Cancel",changeFunction:"Changes the value in the return text, in this case from true to on and false to off",chooseAction:"Choose an action",close:"Close",commonName:"Outputs the name of the data point",condition:"Condition",conditionMenu:"Condition to open Menu",confirm:"Confirm",confirmDelete:"All data will be lost. Confirm?",confirmMessage:"Confirm with message",confirmSet:"Attention. The value has only been set but not yet confirmed by the Adapter. You can remove noValue, then the value will displayed. Position && replaced by Value or will be put at the End",convertsUnixTimestamp:"Converts a Unix timestamp to a local time",copy:"Copy",createMenu:"Please create a menu!",delay:"Delay (ms)",delete:"Delete",directory:"Directory",doubleTrigger:"You have double triggers, please remove them!",edit:"Edit",entryNotFound:"Entry not found!",executedMenu:"Executed Menu",filename:"Filename",hide:"Hide",identification:"Identification",inactive:"Inactive",insertID:"To insert an ID, simply insert the block first, select the ID. This will then be automatically inserted in the appropriate place, even if the ID is to be changed. If the code does not recognize the block, the ID is appended to the end.",instance:"Instance",isSubmenu:"This is a Submenu!",jsonShoppingList:"The same as above, but when you click on a button, the item will be deleted,the Key for the Items is `name:`, you can also add `time:`. Important!!! 'shoppinglist' may not be changed.",jsonTable:"!!! To use it, parseMode must not be active !!! Creates a table from a JSON as Text-Table. The first value is one key of the JSON ,behind it is the name of the column. You can use more than two values.The header must be filled in. Don\xB4t change TextTable.",latitude:"Latitude",lcTimestamp:"LastChange. Converts a Unix timestamp to a local time, the format can be changed, for example to DD.MM.YYYY YY hh:mm:ss:sss",linkedWith:"Is linked with:",longitude:"Longitude",manuallyValue:"This allows you to set a manually value in combination with ID Value, like this: staticValue{id:ID}staticValue",math:"Converts the value, /10 can be replaced",menu:"Menu",menuBack:"When pressed, you jump back to the previous menu",menuDeleteAll:"Generates a button to delete all messages from the bot. The navigation is optional. Simply leave it blank otherwise you can enter a menu that should be called up.",menuDynamicSwitch:"Generates multiply buttons, values can be insert individual. Replace TRIGGER with a unique value. LengthOfRow is optional and can be used to set the number of buttons per row.
Breaking Change!!!   Please change manually: `[Name1:Value1, Name2:Value2]` to `[Name1|Value1, Name2|Value2]`. Decimal numbers can now also be used as values.",menuList:"Menu list",menuNumber:"The numbers can be completely exchanged. 0-6 indicates the range, and 1 the step size, UNIT is replaced by a unit, but can also be left empty. Replace TRIGGER with a unique value.",menuPercent:"10 can be replaced and indicates the step size 0%, 10%, 20%...! Replace TRIGGER with a unique value. This is used in action SetState. Enter the desired ID. Below value ! insert",menuSwitch:"Generates two buttons, in this case on and off with the respective values true and false. Replace TRIGGER with a unique value.",menuToCopy:"First select the menu to which you want to copy data. Then the line where it should be added. If there is no data yet, click on save and it will be created after querying the new trigger name.",modifiedSubmenuValue:"This allows you to set a modified Submenu Value in combination with a static part , like this: staticValue{value}staticValue",navigation:"Navigation",navigationButtons:"Navigation Buttons",newlineCheckbox:"Newline",no:"No",noValue:"The Value is not specified in the return text",notifiedByChangeOfAnotherState:"If you want to be notified of the change of another data point after you have set the data point in the ID input field. The change will only be shared if it is set with ack:true. It is mandatory to specify a text outside the {}, otherwise it will be added automatically.",ok:"OK",oneTimeKey:"Requests clients to resize the keyboard vertically for optimal fit (e.g., make the keyboard smaller if there are just two rows of buttons). Defaults to false, in which case the custom keyboard is always of the same height as the app's standard keyboard.",overview:"Overview",parseMode:"Parse Mode HTML",parseModeBold:"Text in Parse-Mode is bold",parseModeCode:"Text in Parse-Mode is code",parseModeItalic:"Text in Parse-Mode is italic",parseModeLink:"Text in Parse-Mode is link",password:"Password",percent:"Percent",picSendDelay:"Picture send delay",placeholderInstance:"--Please choose a telegram instance--",placeholderValue:"Placeholder for the value",reallyDelete:"Do you really want to delete this?",renameMenu:"Rename menu name",returnText:"Return text",save:"Save",select:"Select",selectAMenuDropBox:"Select a Menu,select move or copy. Watch out! A user must be active in the selected menu!",selectTargetMenu:"Select a target menu",sendMenuAfterRestart:"Send Menu after Restart",setAck:"Set ack flag",setDynamicValue:"This allows you to write dynamic values \u200B\u200Binto data points. Simply make a call and then you can enter the value in the input field. RequestText: Text to request the value. Type: type of the value(boolean or number). ConfirmText: Text to confirm the value. ID: If you want to confirm from another State, enter the ID here.(This is optional)",setID:"Sets the value of the ID to the val, with ack(confirmed)",setMenu:"Set menu",setWithAck:"Set Value with ack-Flag",settings:"Settings",startMenus:"Start Menus",startSide:"Start side",statusMenu:"Queries the value of the ID and then replaces it with the value, so text can be written around it, it is also possible to use it more than one time in a row. The parameter true is a option to change Value by function change. You have to set it to false if you don\xB4t change this value, but behind this there is another {status: ... request with change:true.",submenu:"Submenu",switch:"Switch",switchCheckbox:"Switch",telegramInstance:"Telegram Instance",telegramUser:"Users from Telegram",text:"Text",textNoEntry:"Text will be send if no entry was found!",toggle:"Toggle",trigger:"Trigger",tsTimestamp:"TimeStamp. Converts a Unix timestamp to a local time, the format can be changed, for example to DD.MM.YYYY YY hh:mm:ss:sss",unusedTrigger:"Unused Trigger",url:"URL",usedTrigger:"Used Trigger",user:"User",userList:"User List",userSelect:"Please select a user, or deactivate the Menu, bevor you can save!",value:"Value",valueRound:"Rounds the value for example to 2 decimal places",values:"Values",yes:"Yes"};var Wie={ID:"ID",IDs:"ID",abort:"Abbrechen",ack:"Ack",action:"Aktion",active:"Aktiv",activeMenu:"Aktives Men\xFC:",add:"Hinzuf\xFCgen",addAction:"Neue Aktion hinzuf\xFCgen",addMenu:"Neuen Men\xFCnamen hinzuf\xFCgen",binding:"Bindungen: Zuerst Var mit ID, dann die Bedingung und der Text.",breakpointNewline:"Haltepunkt f\xFCr eine neue Zeile. F\xFCgen Sie diesen nur in den Text ein",call:"Anruf",cancel:"Stornieren",changeFunction:"\xC4ndert den Wert im R\xFCckgabetext, in diesem Fall von \u201Etrue\u201C auf \u201Eon\u201C und von \u201Efalse\u201C auf \u201Eoff\u201C.",chooseAction:"W\xE4hlen Sie eine Aktion",close:"Schlie\xDFen",commonName:"Gibt den Namen des Datenpunkts aus",condition:"Zustand",conditionMenu:"Bedingung zum \xD6ffnen des Men\xFCs",confirm:"Best\xE4tigen",confirmDelete:"Alle Daten gehen verloren. Best\xE4tigen?",confirmMessage:"Mit Nachricht best\xE4tigen",confirmSet:"Aufmerksamkeit. Der Wert wurde vom Adapter nur gesetzt, aber noch nicht best\xE4tigt. Sie k\xF6nnen noValue entfernen, dann wird der Wert angezeigt. Position && wird durch Wert ersetzt oder ans Ende gestellt",convertsUnixTimestamp:"Konvertiert einen Unix-Zeitstempel in eine lokale Zeit",copy:"Kopieren",createMenu:"Bitte erstellen Sie ein Men\xFC!",delay:"Verz\xF6gerung (ms)",delete:"L\xF6schen",directory:"Verzeichnis",doubleTrigger:"Sie haben Doppelausl\xF6ser, bitte entfernen Sie diese!",edit:"Bearbeiten",entryNotFound:"Eintrag nicht gefunden!",executedMenu:"Ausgef\xFChrtes Men\xFC",filename:"Dateiname",hide:"Verstecken",identification:"Identifikation",inactive:"Inaktiv",insertID:"Um eine ID einzuf\xFCgen, f\xFCgen Sie einfach zuerst den Block ein und w\xE4hlen Sie die ID aus. Diese wird dann automatisch an der entsprechenden Stelle eingef\xFCgt, auch wenn die ID ge\xE4ndert werden soll. Wenn der Code den Block nicht erkennt, wird die ID am Ende angeh\xE4ngt.",instance:"Beispiel",isSubmenu:"Dies ist ein Untermen\xFC!",jsonShoppingList:"Das Gleiche wie oben, aber wenn Sie auf eine Schaltfl\xE4che klicken, wird das Element gel\xF6scht. Der Schl\xFCssel f\xFCr die Elemente ist \u201EName:\u201C, Sie k\xF6nnen auch \u201EZeit:\u201C hinzuf\xFCgen. Wichtig!!! 'Einkaufsliste' darf nicht ge\xE4ndert werden.",jsonTable:"!!! Um es zu verwenden, darf parseMode nicht aktiv sein!!! Erstellt eine Tabelle aus einem JSON als Texttabelle. Der erste Wert ist ein Schl\xFCssel des JSON, dahinter steht der Name der Spalte. Sie k\xF6nnen mehr als zwei Werte verwenden. Die Kopfzeile muss ausgef\xFCllt sein. \xC4ndern Sie TextTable nicht.",latitude:"Breitengrad",lcTimestamp:"Letzte Bearbeitung. Konvertiert einen Unix-Zeitstempel in eine lokale Zeit. Das Format kann ge\xE4ndert werden, beispielsweise in TT.MM.JJJJ JJ hh:mm:ss:sss",linkedWith:"Ist verkn\xFCpft mit:",longitude:"L\xE4ngengrad",manuallyValue:"Dadurch k\xF6nnen Sie einen manuellen Wert in Kombination mit dem ID-Wert festlegen, etwa so: staticValue{id:ID}staticValue",math:"Wandelt den Wert um, /10 kann ersetzt werden",menu:"Speisekarte",menuBack:"Beim Dr\xFCcken springen Sie zur\xFCck zum vorherigen Men\xFC",menuDeleteAll:"Erzeugt eine Schaltfl\xE4che zum L\xF6schen aller Nachrichten vom Bot. Die Navigation ist optional. Lassen Sie es einfach leer, sonst k\xF6nnen Sie ein Men\xFC eingeben, das aufgerufen werden soll.",menuDynamicSwitch:"Erzeugt Multiplikationsschaltfl\xE4chen, Werte k\xF6nnen individuell eingegeben werden. Ersetzen Sie TRIGGER durch einen eindeutigen Wert. LengthOfRow ist optional und kann verwendet werden, um die Anzahl der Schaltfl\xE4chen pro Zeile festzulegen.
Breaking Change!!! \xA0 Bitte \xE4ndern Sie manuell: \u201E[Name1:Wert1, Name2:Wert2]\u201C in \u201E[Name1|Wert1, Name2|Wert2]\u201C. Als Werte k\xF6nnen nun auch Dezimalzahlen verwendet werden.",menuList:"Men\xFCliste",menuNumber:"Die Nummern k\xF6nnen komplett ausgetauscht werden. 0-6 gibt den Bereich und 1 die Schrittweite an, UNIT wird durch eine Einheit ersetzt, kann aber auch leer gelassen werden. Ersetzen Sie TRIGGER durch einen eindeutigen Wert.",menuPercent:"10 ist ersetzbar und gibt die Schrittweite 0%, 10%, 20%... an! Ersetzen Sie TRIGGER durch einen eindeutigen Wert. Dies wird in der Aktion SetState verwendet. Geben Sie die gew\xFCnschte ID ein. Unter dem Wert! einf\xFCgen",menuSwitch:"Erzeugt zwei Schaltfl\xE4chen, in diesem Fall ein und aus, mit den jeweiligen Werten wahr und falsch. Ersetzen Sie TRIGGER durch einen eindeutigen Wert.",menuToCopy:"W\xE4hlen Sie zun\xE4chst das Men\xFC aus, in das Sie Daten kopieren m\xF6chten. Dann die Zeile, in der es hinzugef\xFCgt werden soll. Sollten noch keine Daten vorhanden sein, klicken Sie auf Speichern und diese werden nach Abfrage des neuen Triggernamens erstellt.",modifiedSubmenuValue:"Dadurch k\xF6nnen Sie einen modifizierten Untermen\xFCwert in Kombination mit einem statischen Teil festlegen, etwa so: staticValue{value}staticValue",navigation:"Navigation",navigationButtons:"Navigationstasten",newlineCheckbox:"Newline",no:"NEIN",noValue:"Der Wert ist im R\xFCckgabetext nicht angegeben",notifiedByChangeOfAnotherState:"Wenn Sie \xFCber die \xC4nderung eines anderen Datenpunkts benachrichtigt werden m\xF6chten, nachdem Sie den Datenpunkt im Eingabefeld ID festgelegt haben. Die \xC4nderung wird nur geteilt, wenn sie mit ack:true gesetzt ist. Es ist zwingend erforderlich, einen Text au\xDFerhalb des {} anzugeben, andernfalls wird er automatisch hinzugef\xFCgt.",ok:"OK",oneTimeKey:"Fordert Kunden auf, die Gr\xF6\xDFe der Tastatur vertikal zu \xE4ndern, um eine optimale Passform zu erzielen (z. B. die Tastatur kleiner zu machen, wenn nur zwei Tastenreihen vorhanden sind). Der Standardwert ist \u201Efalse\u201C. In diesem Fall hat die benutzerdefinierte Tastatur immer die gleiche H\xF6he wie die Standardtastatur der App.",overview:"\xDCberblick",parseMode:"HTML im Analysemodus",parseModeBold:"Text im Parse-Modus ist fett",parseModeCode:"Text im Parse-Modus ist Code",parseModeItalic:"Text im Parse-Modus ist kursiv",parseModeLink:"Text im Parse-Modus ist ein Link",password:"Passwort",percent:"Prozent",picSendDelay:"Verz\xF6gerung beim Senden von Bildern",placeholderInstance:"--Bitte w\xE4hlen Sie eine Telegram-Instanz--",placeholderValue:"Platzhalter f\xFCr den Wert",reallyDelete:"M\xF6chten Sie das wirklich l\xF6schen?",renameMenu:"Benennen Sie den Men\xFCnamen um",returnText:"R\xFCckgabetext",save:"Speichern",select:"W\xE4hlen",selectAMenuDropBox:"W\xE4hlen Sie ein Men\xFC, w\xE4hlen Sie \u201EVerschieben\u201C oder \u201EKopieren\u201C. Achtung! Im ausgew\xE4hlten Men\xFC muss ein Benutzer aktiv sein!",selectTargetMenu:"W\xE4hlen Sie ein Zielmen\xFC aus",sendMenuAfterRestart:"Men\xFC nach Neustart senden",setAck:"Best\xE4tigungsflag setzen",setDynamicValue:"Dadurch k\xF6nnen Sie dynamische Werte in Datenpunkte schreiben. Einfach anrufen und dann den Wert in das Eingabefeld eingeben. RequestText: Text zum Anfordern des Werts. Typ: Typ des Werts (boolescher Wert oder Zahl). Best\xE4tigungstext: Text zur Best\xE4tigung des Werts. ID: Wenn Sie aus einem anderen Staat best\xE4tigen m\xF6chten, geben Sie hier die ID ein. (Dies ist optional)",setID:"Setzt den Wert der ID auf den Wert, mit ack(best\xE4tigt)",setMenu:"Men\xFC",setWithAck:"Wert mit ack-Flag festlegen",settings:"Einstellungen",startMenus:"Startmen\xFCs",startSide:"Startseite",statusMenu:"Fragt den Wert der ID ab und ersetzt ihn dann durch den Wert, sodass Text um ihn herum geschrieben werden kann. Es ist auch m\xF6glich, ihn mehrmals hintereinander zu verwenden. Der Parameter true ist eine Option zum \xC4ndern des Werts durch Funktions\xE4nderung. Sie m\xFCssen es auf false setzen, wenn Sie diesen Wert nicht \xE4ndern, aber dahinter steht eine weitere {status: ...-Anfrage mit change:true.",submenu:"Untermen\xFC",switch:"Schalten",switchCheckbox:"Schalten",telegramInstance:"Telegram-Instanz",telegramUser:"Benutzer von Telegram",text:"Text",textNoEntry:"Text wird gesendet, wenn kein Eintrag gefunden wurde!",toggle:"Umschalten",trigger:"Ausl\xF6sen",tsTimestamp:"Zeitstempel. Konvertiert einen Unix-Zeitstempel in eine lokale Zeit. Das Format kann ge\xE4ndert werden, beispielsweise in TT.MM.JJJJ JJ hh:mm:ss:sss",unusedTrigger:"Unbenutzter Ausl\xF6ser",url:"URL",usedTrigger:"Benutzter Ausl\xF6ser",user:"Benutzer",userList:"Benutzerliste",userSelect:"Bitte w\xE4hlen Sie einen Benutzer aus oder deaktivieren Sie das Men\xFC, bevor Sie speichern k\xF6nnen!",value:"Wert",valueRound:"Rundet den Wert beispielsweise auf 2 Dezimalstellen",values:"Werte",yes:"Ja"};var Uie={ID:"\u0418\u0414\u0415\u041D\u0422\u0418\u0424\u0418\u041A\u0410\u0422\u041E\u0420",IDs:"\u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u044B",abort:"\u041F\u0440\u0435\u0440\u0432\u0430\u0442\u044C",ack:"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044E",action:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435",active:"\u0410\u043A\u0442\u0438\u0432\u043D\u044B\u0439",activeMenu:"\u0410\u043A\u0442\u0438\u0432\u043D\u043E\u0435 \u043C\u0435\u043D\u044E:",add:"\u0414\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C",addAction:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u043E\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435",addMenu:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u043E\u0435 \u0438\u043C\u044F \u043C\u0435\u043D\u044E",binding:"\u041F\u0440\u0438\u0432\u044F\u0437\u043A\u0438: \u0441\u043D\u0430\u0447\u0430\u043B\u0430 Var \u0441 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u043E\u043C, \u0437\u0430\u0442\u0435\u043C \u0443\u0441\u043B\u043E\u0432\u0438\u0435 \u0438 \u0442\u0435\u043A\u0441\u0442.",breakpointNewline:"\u0422\u043E\u0447\u043A\u0430 \u043E\u0441\u0442\u0430\u043D\u043E\u0432\u0430 \u0434\u043B\u044F \u043D\u043E\u0432\u043E\u0439 \u0441\u0442\u0440\u043E\u043A\u0438. \u0412\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0435\u0435 \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u0442\u0435\u043A\u0441\u0442.",call:"\u0412\u044B\u0437\u043E\u0432",cancel:"\u041E\u0442\u043C\u0435\u043D\u0430",changeFunction:"\u0418\u0437\u043C\u0435\u043D\u044F\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043C\u043E\u043C \u0442\u0435\u043A\u0441\u0442\u0435, \u0432 \u0434\u0430\u043D\u043D\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435 \u0441 true \u043D\u0430 on \u0438 \u0441 false \u043D\u0430 off.",chooseAction:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435",close:"\u0417\u0430\u043A\u0440\u044B\u0432\u0430\u0442\u044C",commonName:"\u0412\u044B\u0432\u043E\u0434\u0438\u0442 \u0438\u043C\u044F \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u043D\u044B\u0445",condition:"\u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",conditionMenu:"\u0423\u0441\u043B\u043E\u0432\u0438\u0435 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u044F \u043C\u0435\u043D\u044E",confirm:"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0442\u044C",confirmDelete:"\u0412\u0441\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 \u0431\u0443\u0434\u0443\u0442 \u043F\u043E\u0442\u0435\u0440\u044F\u043D\u044B. \u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0442\u044C?",confirmMessage:"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435\u043C",confirmSet:"\u0412\u043D\u0438\u043C\u0430\u043D\u0438\u0435. \u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0442\u043E\u043B\u044C\u043A\u043E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E, \u043D\u043E \u0435\u0449\u0435 \u043D\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u043E \u0430\u0434\u0430\u043F\u0442\u0435\u0440\u043E\u043C. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C noValue, \u0442\u043E\u0433\u0434\u0430 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F. \u041F\u043E\u0437\u0438\u0446\u0438\u044F && \u0437\u0430\u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C \u0438\u043B\u0438 \u0431\u0443\u0434\u0435\u0442 \u043F\u043E\u043C\u0435\u0449\u0435\u043D\u0430 \u0432 \u043A\u043E\u043D\u0435\u0446",convertsUnixTimestamp:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E \u043C\u0435\u0442\u043A\u0443 Unix \u0432 \u043C\u0435\u0441\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F.",copy:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C",createMenu:"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0441\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u043C\u0435\u043D\u044E!",delay:"\u0417\u0430\u0434\u0435\u0440\u0436\u043A\u0430 (\u043C\u0441)",delete:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C",directory:"\u041A\u0430\u0442\u0430\u043B\u043E\u0433",doubleTrigger:"\u0423 \u0432\u0430\u0441 \u0435\u0441\u0442\u044C \u0434\u0432\u043E\u0439\u043D\u044B\u0435 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u044B, \u043F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0443\u0434\u0430\u043B\u0438\u0442\u0435 \u0438\u0445!",edit:"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C",entryNotFound:"\u0417\u0430\u043F\u0438\u0441\u044C \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430!",executedMenu:"\u0412\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u043D\u043E\u0435 \u043C\u0435\u043D\u044E",filename:"\u0418\u043C\u044F \u0444\u0430\u0439\u043B\u0430",hide:"\u0421\u043A\u0440\u044B\u0432\u0430\u0442\u044C",identification:"\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044F",inactive:"\u041D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439",insertID:"\u0427\u0442\u043E\u0431\u044B \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440, \u043F\u0440\u043E\u0441\u0442\u043E \u0441\u043D\u0430\u0447\u0430\u043B\u0430 \u0432\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0431\u043B\u043E\u043A, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440. \u0417\u0430\u0442\u0435\u043C \u043E\u043D \u0431\u0443\u0434\u0435\u0442 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0432\u0441\u0442\u0430\u0432\u043B\u0435\u043D \u0432 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0435\u0435 \u043C\u0435\u0441\u0442\u043E, \u0434\u0430\u0436\u0435 \u0435\u0441\u043B\u0438 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C. \u0415\u0441\u043B\u0438 \u043A\u043E\u0434 \u043D\u0435 \u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u0435\u0442 \u0431\u043B\u043E\u043A, \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0432 \u043A\u043E\u043D\u0435\u0446.",instance:"\u041F\u0440\u0438\u043C\u0435\u0440",isSubmenu:"\u042D\u0442\u043E \u043F\u043E\u0434\u043C\u0435\u043D\u044E!",jsonShoppingList:"\u0422\u043E \u0436\u0435, \u0447\u0442\u043E \u0438 \u0432\u044B\u0448\u0435, \u043D\u043E \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0443 \u044D\u043B\u0435\u043C\u0435\u043D\u0442 \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043B\u0435\u043D. \u041A\u043B\u044E\u0447\u043E\u043C \u0434\u043B\u044F \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F `name:`, \u0432\u044B \u0442\u0430\u043A\u0436\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C `time:`. \u0412\u0430\u0436\u043D\u043E!!! \xAB\u0421\u043F\u0438\u0441\u043E\u043A \u043F\u043E\u043A\u0443\u043F\u043E\u043A\xBB \u043D\u0435\u043B\u044C\u0437\u044F \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C.",jsonTable:"!!! \u0427\u0442\u043E\u0431\u044B \u0435\u0433\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C, parseMode \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u043C!!! \u0421\u043E\u0437\u0434\u0430\u0435\u0442 \u0442\u0430\u0431\u043B\u0438\u0446\u0443 \u0438\u0437 JSON \u0432 \u0432\u0438\u0434\u0435 \u0442\u0435\u043A\u0441\u0442\u043E\u0432\u043E\u0439 \u0442\u0430\u0431\u043B\u0438\u0446\u044B. \u041F\u0435\u0440\u0432\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u2014 \u044D\u0442\u043E \u043E\u0434\u0438\u043D \u043A\u043B\u044E\u0447 JSON, \u0437\u0430 \u043D\u0438\u043C \u2014 \u0438\u043C\u044F \u0441\u0442\u043E\u043B\u0431\u0446\u0430. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0431\u043E\u043B\u0435\u0435 \u0434\u0432\u0443\u0445 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439. \u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D. \u041D\u0435 \u043C\u0435\u043D\u044F\u0439\u0442\u0435 TextTable.",latitude:"\u0428\u0438\u0440\u043E\u0442\u0430",lcTimestamp:"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435. \u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E \u043C\u0435\u0442\u043A\u0443 Unix \u0432 \u043C\u0435\u0441\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F, \u0444\u043E\u0440\u043C\u0430\u0442 \u043C\u043E\u0436\u043D\u043E \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u043D\u0430 \u0414\u0414.\u041C\u041C.\u0413\u0413\u0413\u0413 \u0413\u0413 \u0447\u0447:\u043C\u043C:\u0441\u0441:\u0441\u0441",linkedWith:"\u0421\u0432\u044F\u0437\u0430\u043D\u043E \u0441:",longitude:"\u0414\u043E\u043B\u0433\u043E\u0442\u0430",manuallyValue:"\u042D\u0442\u043E \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0432\u0430\u043C \u0432\u0440\u0443\u0447\u043D\u0443\u044E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 \u0441\u043E\u0447\u0435\u0442\u0430\u043D\u0438\u0438 \u0441\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0430, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440: staticValue{id:ID}staticValue.",math:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435, /10 \u043C\u043E\u0436\u043D\u043E \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C",menu:"\u041C\u0435\u043D\u044E",menuBack:"\u041F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u0432\u044B \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0435\u0441\u044C \u0432 \u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u0435 \u043C\u0435\u043D\u044E.",menuDeleteAll:"\u0421\u043E\u0437\u0434\u0430\u0435\u0442 \u043A\u043D\u043E\u043F\u043A\u0443 \u0434\u043B\u044F \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u0432\u0441\u0435\u0445 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439 \u043E\u0442 \u0431\u043E\u0442\u0430. \u041D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F \u043D\u0435 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0439. \u041F\u0440\u043E\u0441\u0442\u043E \u043E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u044D\u0442\u043E \u043F\u043E\u043B\u0435 \u043F\u0443\u0441\u0442\u044B\u043C, \u0438\u043D\u0430\u0447\u0435 \u0432\u044B \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u043E\u0439\u0442\u0438 \u0432 \u043C\u0435\u043D\u044E, \u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0432\u044B\u0437\u0432\u0430\u0442\u044C.",menuDynamicSwitch:"\u0413\u0435\u043D\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043A\u043D\u043E\u043F\u043A\u0438 \u0443\u043C\u043D\u043E\u0436\u0435\u043D\u0438\u044F, \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u043C\u043E\u0436\u043D\u043E \u0432\u0441\u0442\u0430\u0432\u043B\u044F\u0442\u044C \u0438\u043D\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043B\u044C\u043D\u043E. \u0417\u0430\u043C\u0435\u043D\u0438\u0442\u0435 TRIGGER \u0443\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C. \u0414\u043B\u0438\u043D\u0430OfRow \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0439 \u0438 \u043C\u043E\u0436\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0434\u043B\u044F \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043A\u043D\u043E\u043F\u043E\u043A \u0432 \u0441\u0442\u0440\u043E\u043A\u0435.
\u041A\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435!!! \xA0 \u0418\u0437\u043C\u0435\u043D\u0438\u0442\u0435 \u0432\u0440\u0443\u0447\u043D\u0443\u044E: `[Name1:Value1, Name2:Value2]` \u043D\u0430 `[Name1|Value1, Name2|Value2]`. \u0414\u0435\u0441\u044F\u0442\u0438\u0447\u043D\u044B\u0435 \u0447\u0438\u0441\u043B\u0430 \u0442\u0435\u043F\u0435\u0440\u044C \u0442\u0430\u043A\u0436\u0435 \u043C\u043E\u0436\u043D\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0432 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439.",menuList:"\u0421\u043F\u0438\u0441\u043E\u043A \u043C\u0435\u043D\u044E",menuNumber:"\u041D\u043E\u043C\u0435\u0440\u0430 \u043C\u043E\u0436\u043D\u043E \u043F\u043E\u043B\u043D\u043E\u0441\u0442\u044C\u044E \u043F\u043E\u043C\u0435\u043D\u044F\u0442\u044C. 0\u20136 \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D, \u0430 1 \u2014 \u0440\u0430\u0437\u043C\u0435\u0440 \u0448\u0430\u0433\u0430, UNIT \u0437\u0430\u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F \u0435\u0434\u0438\u043D\u0438\u0446\u0435\u0439, \u043D\u043E \u0442\u0430\u043A\u0436\u0435 \u043C\u043E\u0436\u043D\u043E \u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043F\u0443\u0441\u0442\u044B\u043C. \u0417\u0430\u043C\u0435\u043D\u0438\u0442\u0435 TRIGGER \u0443\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C.",menuPercent:"10 \u043C\u043E\u0436\u043D\u043E \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0438 \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u0440\u0430\u0437\u043C\u0435\u0440 \u0448\u0430\u0433\u0430 0%, 10%, 20%...! \u0417\u0430\u043C\u0435\u043D\u0438\u0442\u0435 TRIGGER \u0443\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C. \u042D\u0442\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438 SetState. \u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0436\u0435\u043B\u0430\u0435\u043C\u044B\u0439 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440. \u041D\u0438\u0436\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F! \u0432\u0441\u0442\u0430\u0432\u043B\u044F\u0442\u044C",menuSwitch:"\u0421\u043E\u0437\u0434\u0430\u0435\u0442 \u0434\u0432\u0435 \u043A\u043D\u043E\u043F\u043A\u0438, \u0432 \u0434\u0430\u043D\u043D\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435 \xAB\u0432\u043A\u043B\xBB \u0438 \xAB\u0432\u044B\u043A\u043B\xBB \u0441 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u043C\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F\u043C\u0438 true \u0438 false. \u0417\u0430\u043C\u0435\u043D\u0438\u0442\u0435 TRIGGER \u0443\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C.",menuToCopy:"\u0421\u043D\u0430\u0447\u0430\u043B\u0430 \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043C\u0435\u043D\u044E, \u0432 \u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435. \u0417\u0430\u0442\u0435\u043C \u0441\u0442\u0440\u043E\u043A\u0430, \u043A\u0443\u0434\u0430 \u0435\u0433\u043E \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C. \u0415\u0441\u043B\u0438 \u0434\u0430\u043D\u043D\u044B\u0445 \u0435\u0449\u0435 \u043D\u0435\u0442, \u043D\u0430\u0436\u043C\u0438\u0442\u0435 \xAB\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C\xBB, \u0438 \u043E\u043D\u0438 \u0431\u0443\u0434\u0443\u0442 \u0441\u043E\u0437\u0434\u0430\u043D\u044B \u043F\u043E\u0441\u043B\u0435 \u0437\u0430\u043F\u0440\u043E\u0441\u0430 \u043D\u043E\u0432\u043E\u0433\u043E \u0438\u043C\u0435\u043D\u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430.",modifiedSubmenuValue:"\u042D\u0442\u043E \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0432\u0430\u043C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u043E\u0434\u043C\u0435\u043D\u044E \u0432 \u0441\u043E\u0447\u0435\u0442\u0430\u043D\u0438\u0438 \u0441\u043E \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0439 \u0447\u0430\u0441\u0442\u044C\u044E, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440: staticValue{value}staticValue",navigation:"\u041D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F",navigationButtons:"\u041A\u043D\u043E\u043F\u043A\u0438 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438",newlineCheckbox:"\u041D\u043E\u0432\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430",no:"\u041D\u0435\u0442",noValue:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u043E \u0432 \u0442\u0435\u043A\u0441\u0442\u0435 \u0432\u043E\u0437\u0432\u0440\u0430\u0442\u0430",notifiedByChangeOfAnotherState:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043E\u0431 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0438 \u0434\u0440\u0443\u0433\u043E\u0439 \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u043D\u044B\u0445 \u043F\u043E\u0441\u043B\u0435 \u0442\u043E\u0433\u043E, \u043A\u0430\u043A \u0432\u044B \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u043B\u0438 \u0442\u043E\u0447\u043A\u0443 \u0434\u0430\u043D\u043D\u044B\u0445 \u0432 \u043F\u043E\u043B\u0435 \u0432\u0432\u043E\u0434\u0430 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0430. \u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u043E\u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u043D\u043E \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u0442\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435, \u0435\u0441\u043B\u0438 \u0434\u043B\u044F \u043D\u0435\u0433\u043E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 ack:true. \u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u0443\u043A\u0430\u0436\u0438\u0442\u0435 \u0442\u0435\u043A\u0441\u0442 \u0437\u0430 \u043F\u0440\u0435\u0434\u0435\u043B\u0430\u043C\u0438 {}, \u0438\u043D\u0430\u0447\u0435 \u043E\u043D \u0431\u0443\u0434\u0435\u0442 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438.",ok:"\u0425\u041E\u0420\u041E\u0428\u041E",oneTimeKey:"\u041F\u0440\u043E\u0441\u0438\u0442 \u043A\u043B\u0438\u0435\u043D\u0442\u043E\u0432 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0440 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B \u043F\u043E \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u0438 \u0434\u043B\u044F \u043E\u043F\u0442\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044F (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0443\u043C\u0435\u043D\u044C\u0448\u0438\u0442\u044C \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0443, \u0435\u0441\u043B\u0438 \u043D\u0430 \u043D\u0435\u0439 \u0432\u0441\u0435\u0433\u043E \u0434\u0432\u0430 \u0440\u044F\u0434\u0430 \u043A\u043D\u043E\u043F\u043E\u043A). \u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 false. \u0412 \u044D\u0442\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0430\u044F \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0430 \u0432\u0441\u0435\u0433\u0434\u0430 \u0438\u043C\u0435\u0435\u0442 \u0442\u0443 \u0436\u0435 \u0432\u044B\u0441\u043E\u0442\u0443, \u0447\u0442\u043E \u0438 \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0430\u044F \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0430 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F.",overview:"\u041E\u0431\u0437\u043E\u0440",parseMode:"\u0420\u0435\u0436\u0438\u043C \u0430\u043D\u0430\u043B\u0438\u0437\u0430 HTML",parseModeBold:"\u0422\u0435\u043A\u0441\u0442 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0430\u043D\u0430\u043B\u0438\u0437\u0430 \u0432\u044B\u0434\u0435\u043B\u0435\u043D \u0436\u0438\u0440\u043D\u044B\u043C \u0448\u0440\u0438\u0444\u0442\u043E\u043C.",parseModeCode:"\u0422\u0435\u043A\u0441\u0442 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0430\u043D\u0430\u043B\u0438\u0437\u0430 \u2014 \u044D\u0442\u043E \u043A\u043E\u0434",parseModeItalic:"\u0422\u0435\u043A\u0441\u0442 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0430\u043D\u0430\u043B\u0438\u0437\u0430 \u0432\u044B\u0434\u0435\u043B\u0435\u043D \u043A\u0443\u0440\u0441\u0438\u0432\u043E\u043C.",parseModeLink:"\u0422\u0435\u043A\u0441\u0442 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0430\u043D\u0430\u043B\u0438\u0437\u0430 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0441\u0441\u044B\u043B\u043A\u043E\u0439",password:"\u041F\u0430\u0440\u043E\u043B\u044C",percent:"\u041F\u0440\u043E\u0446\u0435\u043D\u0442",picSendDelay:"\u0417\u0430\u0434\u0435\u0440\u0436\u043A\u0430 \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",placeholderInstance:"--\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 Telegram--",placeholderValue:"\u0417\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F",reallyDelete:"\u0412\u044B \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u044D\u0442\u043E?",renameMenu:"\u041F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u0442\u044C \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043C\u0435\u043D\u044E",returnText:"\u0412\u043E\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043C\u044B\u0439 \u0442\u0435\u043A\u0441\u0442",save:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C",select:"\u0412\u044B\u0431\u0438\u0440\u0430\u0442\u044C",selectAMenuDropBox:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043C\u0435\u043D\u044E, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u0438\u043B\u0438 \u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435. \u041E\u0441\u0442\u043E\u0440\u043E\u0436\u043D\u043E! \u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u0435\u043D \u0432 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u043C \u043C\u0435\u043D\u044E!",selectTargetMenu:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0446\u0435\u043B\u0435\u0432\u043E\u0435 \u043C\u0435\u043D\u044E",sendMenuAfterRestart:"\u041C\u0435\u043D\u044E \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438 \u043F\u043E\u0441\u043B\u0435 \u043F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438",setAck:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0444\u043B\u0430\u0433 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F",setDynamicValue:"\u042D\u0442\u043E \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C \u0434\u0438\u043D\u0430\u043C\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0432 \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u043D\u044B\u0445. \u041F\u0440\u043E\u0441\u0442\u043E \u043F\u043E\u0437\u0432\u043E\u043D\u0438\u0442\u0435, \u0430 \u0437\u0430\u0442\u0435\u043C \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 \u043F\u043E\u043B\u0435 \u0432\u0432\u043E\u0434\u0430. RequestText: \u0442\u0435\u043A\u0441\u0442 \u0434\u043B\u044F \u0437\u0430\u043F\u0440\u043E\u0441\u0430 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F. \u0422\u0438\u043F: \u0442\u0438\u043F \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F (\u043B\u043E\u0433\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0438\u043B\u0438 \u0447\u0438\u0441\u043B\u043E\u0432\u043E\u0435). ConfirmText: \u0442\u0435\u043A\u0441\u0442 \u0434\u043B\u044F \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F. \u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440: \u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C \u0438\u0437 \u0434\u0440\u0443\u0433\u043E\u0433\u043E \u0448\u0442\u0430\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044C \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440. (\u042D\u0442\u043E \u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E).",setID:"\u0423\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0430 val \u0441 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u0435\u043C (\u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u043E).",setMenu:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043C\u0435\u043D\u044E",setWithAck:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E ack-Flag",settings:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",startMenus:"\u041C\u0435\u043D\u044E \xAB\u041F\u0443\u0441\u043A\xBB",startSide:"\u0421\u0442\u0430\u0440\u0442\u043E\u0432\u0430\u044F \u0441\u0442\u043E\u0440\u043E\u043D\u0430",statusMenu:"\u0417\u0430\u043F\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0430, \u0430 \u0437\u0430\u0442\u0435\u043C \u0437\u0430\u043C\u0435\u043D\u044F\u0435\u0442 \u0435\u0433\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u0432\u043E\u043A\u0440\u0443\u0433 \u043D\u0435\u0433\u043E \u043C\u043E\u0436\u043D\u043E \u043F\u0438\u0441\u0430\u0442\u044C \u0442\u0435\u043A\u0441\u0442, \u0430 \u0442\u0430\u043A\u0436\u0435 \u043C\u043E\u0436\u043D\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0435\u0433\u043E \u0431\u043E\u043B\u0435\u0435 \u043E\u0434\u043D\u043E\u0433\u043E \u0440\u0430\u0437\u0430 \u043F\u043E\u0434\u0440\u044F\u0434. \u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 true \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u0443\u0442\u0435\u043C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0444\u0443\u043D\u043A\u0446\u0438\u0438. \u0412\u0430\u043C \u043F\u0440\u0438\u0434\u0435\u0442\u0441\u044F \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 false, \u0435\u0441\u043B\u0438 \u0432\u044B \u043D\u0435 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u0435 \u044D\u0442\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435, \u043D\u043E \u0437\u0430 \u044D\u0442\u0438\u043C \u0441\u0442\u043E\u0438\u0442 \u0434\u0440\u0443\u0433\u043E\u0439 \u0437\u0430\u043F\u0440\u043E\u0441 {status: ... \u0441 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435\u043C: true.",submenu:"\u041F\u043E\u0434\u043C\u0435\u043D\u044E",switch:"\u0412\u044B\u043A\u043B\u044E\u0447\u0430\u0442\u0435\u043B\u044C",switchCheckbox:"\u0412\u044B\u043A\u043B\u044E\u0447\u0430\u0442\u0435\u043B\u044C",telegramInstance:"\u042D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u0422\u0435\u043B\u0435\u0433\u0440\u0430\u043C\u043C\u044B",telegramUser:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0438 \u0438\u0437 Telegram",text:"\u0422\u0435\u043A\u0441\u0442",textNoEntry:"\u0422\u0435\u043A\u0441\u0442 \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D, \u0435\u0441\u043B\u0438 \u0437\u0430\u043F\u0438\u0441\u044C \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430!",toggle:"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u044C",trigger:"\u041A\u0443\u0440\u043E\u043A",tsTimestamp:"\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u0430\u044F \u043C\u0435\u0442\u043A\u0430. \u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E \u043C\u0435\u0442\u043A\u0443 Unix \u0432 \u043C\u0435\u0441\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F, \u0444\u043E\u0440\u043C\u0430\u0442 \u043C\u043E\u0436\u043D\u043E \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u043D\u0430 \u0414\u0414.\u041C\u041C.\u0413\u0413\u0413\u0413 \u0413\u0413 \u0447\u0447:\u043C\u043C:\u0441\u0441:\u0441\u0441",unusedTrigger:"\u041D\u0435\u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u0442\u0440\u0438\u0433\u0433\u0435\u0440",url:"URL-\u0430\u0434\u0440\u0435\u0441",usedTrigger:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u0439 \u0442\u0440\u0438\u0433\u0433\u0435\u0440",user:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C",userList:"\u0421\u043F\u0438\u0441\u043E\u043A \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u0439",userSelect:"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F \u0438\u043B\u0438 \u0434\u0435\u0430\u043A\u0442\u0438\u0432\u0438\u0440\u0443\u0439\u0442\u0435 \u043C\u0435\u043D\u044E, \u043F\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043C \u0432\u044B \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C!",value:"\u0426\u0435\u043D\u0438\u0442\u044C",valueRound:"\u041E\u043A\u0440\u0443\u0433\u043B\u044F\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0434\u043E 2 \u0434\u0435\u0441\u044F\u0442\u0438\u0447\u043D\u044B\u0445 \u0437\u043D\u0430\u043A\u043E\u0432.",values:"\u0426\u0435\u043D\u043D\u043E\u0441\u0442\u0438",yes:"\u0414\u0430"};var Vie={ID:"EU IA",IDs:"IDs",abort:"Abortar",ack:"Confirmar",action:"A\xE7\xE3o",active:"Ativo",activeMenu:"Menu Ativo:",add:"Adicionar",addAction:"Adicionar nova a\xE7\xE3o",addMenu:"Adicionar novo nome de menu",binding:"Vincula\xE7\xF5es: primeiro Var com id, depois a condi\xE7\xE3o e o texto.",breakpointNewline:"Ponto de interrup\xE7\xE3o para uma nova linha, insira apenas isso no texto",call:"Chamar",cancel:"Cancelar",changeFunction:"Altera o valor no texto de retorno, neste caso de verdadeiro para ativado e falso para desativado",chooseAction:"Escolha uma a\xE7\xE3o",close:"Fechar",commonName:"Produz o nome do ponto de dados",condition:"Doen\xE7a",conditionMenu:"Condi\xE7\xE3o para abrir Menu",confirm:"Confirmar",confirmDelete:"Todos os dados ser\xE3o perdidos. Confirmar?",confirmMessage:"Confirme com mensagem",confirmSet:"Aten\xE7\xE3o. O valor foi apenas definido, mas ainda n\xE3o confirmado pelo Adaptador. Voc\xEA pode remover noValue e o valor ser\xE1 exibido. Posi\xE7\xE3o && substitu\xEDda por Valor ou ser\xE1 colocada no final",convertsUnixTimestamp:"Converte um carimbo de data/hora Unix em uma hora local",copy:"C\xF3pia",createMenu:"Por favor, crie um menu!",delay:"Atraso (ms)",delete:"Excluir",directory:"Diret\xF3rio",doubleTrigger:"Voc\xEA tem gatilhos duplos, remova-os!",edit:"Editar",entryNotFound:"Entrada n\xE3o encontrada!",executedMenu:"Menu Executado",filename:"Nome do arquivo",hide:"Esconder",identification:"Identifica\xE7\xE3o",inactive:"Inativo",insertID:"Para inserir um ID, basta inserir primeiro o bloco e selecionar o ID. Este ser\xE1 ent\xE3o inserido automaticamente no local apropriado, mesmo que o ID deva ser alterado. Se o c\xF3digo n\xE3o reconhecer o bloco, o ID ser\xE1 anexado ao final.",instance:"Exemplo",isSubmenu:"Este \xE9 um submenu!",jsonShoppingList:"O mesmo que acima, mas quando voc\xEA clica em um bot\xE3o, o item ser\xE1 exclu\xEDdo, a chave para os itens \xE9 `nome:`, voc\xEA tamb\xE9m pode adicionar `tempo:`. Importante!!! 'lista de compras' n\xE3o pode ser alterada.",jsonTable:"!!! Para us\xE1-lo, parseMode n\xE3o deve estar ativo!!! Cria uma tabela a partir de um JSON como Text-Table. O primeiro valor \xE9 uma chave do JSON, atr\xE1s dele est\xE1 o nome da coluna. Voc\xEA pode usar mais de dois valores. O cabe\xE7alho deve ser preenchido. N\xE3o altere TextTable.",latitude:"Latitude",lcTimestamp:"\xDAltima mudan\xE7a. Converte um carimbo de data/hora Unix em uma hora local, o formato pode ser alterado, por exemplo, para DD.MM.AAAA AA hh:mm:ss:sss",linkedWith:"Est\xE1 vinculado a:",longitude:"Longitude",manuallyValue:"Isso permite que voc\xEA defina um valor manualmente em combina\xE7\xE3o com o valor do ID, como este: staticValue{id:ID}staticValue",math:"Converte o valor, /10 pode ser substitu\xEDdo",menu:"Menu",menuBack:"Quando pressionado, voc\xEA volta ao menu anterior",menuDeleteAll:"Gera um bot\xE3o para excluir todas as mensagens do bot. A navega\xE7\xE3o \xE9 opcional. Simplesmente deixe em branco, caso contr\xE1rio voc\xEA poder\xE1 entrar em um menu que deve ser acessado.",menuDynamicSwitch:"Gera bot\xF5es de multiplica\xE7\xE3o, os valores podem ser inseridos individualmente. Substitua TRIGGER por um valor exclusivo. LengthOfRow \xE9 opcional e pode ser usado para definir o n\xFAmero de bot\xF5es por linha.
Altera\xE7\xE3o significativa!!! \xA0 Altere manualmente: `[Nome1:Valor1, Nome2:Valor2]` para `[Nome1|Valor1, Nome2|Valor2]`. Os n\xFAmeros decimais agora tamb\xE9m podem ser usados \u200B\u200Bcomo valores.",menuList:"Lista de card\xE1pios",menuNumber:"Os n\xFAmeros podem ser totalmente trocados. 0-6 indica o intervalo e 1 o tamanho do passo, UNIT \xE9 substitu\xEDdo por uma unidade, mas tamb\xE9m pode ser deixado em branco. Substitua TRIGGER por um valor exclusivo.",menuPercent:"10 pode ser substitu\xEDdo e indica o tamanho do passo 0%, 10%, 20%...! Substitua TRIGGER por um valor exclusivo. Isso \xE9 usado na a\xE7\xE3o SetState. Insira o ID desejado. Abaixo do valor! inserir",menuSwitch:"Gera dois bot\xF5es, neste caso liga e desliga com os respectivos valores verdadeiro e falso. Substitua TRIGGER por um valor exclusivo.",menuToCopy:"Primeiro selecione o menu para o qual deseja copiar os dados. Em seguida, a linha onde deve ser adicionado. Caso ainda n\xE3o haja dados, clique em salvar e ele ser\xE1 criado ap\xF3s consultar o novo nome do trigger.",modifiedSubmenuValue:"Isso permite que voc\xEA defina um valor de submenu modificado em combina\xE7\xE3o com uma parte est\xE1tica, como esta: staticValue{value}staticValue",navigation:"Navega\xE7\xE3o",navigationButtons:"Bot\xF5es de navega\xE7\xE3o",newlineCheckbox:"Nova linha",no:"N\xE3o",noValue:"O valor n\xE3o \xE9 especificado no texto de retorno",notifiedByChangeOfAnotherState:"Se voc\xEA deseja ser notificado sobre a altera\xE7\xE3o de outro ponto de dados depois de definir o ponto de dados no campo de entrada ID. A altera\xE7\xE3o s\xF3 ser\xE1 compartilhada se estiver definida com ack:true. \xC9 obrigat\xF3rio especificar um texto fora do {}, caso contr\xE1rio ele ser\xE1 adicionado automaticamente.",ok:"OK",oneTimeKey:"Solicita que os clientes redimensionem o teclado verticalmente para um ajuste ideal (por exemplo, diminuam o tamanho do teclado se houver apenas duas fileiras de bot\xF5es). O padr\xE3o \xE9 falso; nesse caso, o teclado personalizado ter\xE1 sempre a mesma altura do teclado padr\xE3o do aplicativo.",overview:"Vis\xE3o geral",parseMode:"HTML do modo de an\xE1lise",parseModeBold:"O texto no modo Parse est\xE1 em negrito",parseModeCode:"Texto no modo Parse \xE9 c\xF3digo",parseModeItalic:"O texto no modo Parse est\xE1 em it\xE1lico",parseModeLink:"O texto no modo de an\xE1lise \xE9 o link",password:"Senha",percent:"Por cento",picSendDelay:"Atraso no envio de imagem",placeholderInstance:"--Por favor, escolha uma inst\xE2ncia do telegrama--",placeholderValue:"Espa\xE7o reservado para o valor",reallyDelete:"Voc\xEA realmente deseja excluir isso?",renameMenu:"Renomear nome do menu",returnText:"Texto de retorno",save:"Salvar",select:"Selecione",selectAMenuDropBox:"Selecione um menu, selecione mover ou copiar. Aten\xE7\xE3o! Um usu\xE1rio deve estar ativo no menu selecionado!",selectTargetMenu:"Selecione um menu de destino",sendMenuAfterRestart:"Enviar menu ap\xF3s reiniciar",setAck:"Definir sinalizador de confirma\xE7\xE3o",setDynamicValue:"Isso permite gravar valores din\xE2micos em pontos de dados. Basta fazer uma chamada e inserir o valor no campo de entrada. RequestText: Texto para solicitar o valor. Tipo: tipo do valor (booleano ou n\xFAmero). ConfirmText: Texto para confirmar o valor. ID: Se voc\xEA deseja confirmar de outro estado, insira o ID aqui.(Isso \xE9 opcional)",setID:"Define o valor do ID para val, com ack(confirmado)",setMenu:"Definir card\xE1pio",setWithAck:"Definir valor com ack-Flag",settings:"Configura\xE7\xF5es",startMenus:"Menus iniciais",startSide:"Lado inicial",statusMenu:"Consulta o valor do ID e depois o substitui pelo valor, para que possa ser escrito texto ao redor dele, tamb\xE9m \xE9 poss\xEDvel utiliz\xE1-lo mais de uma vez seguida. O par\xE2metro true \xE9 uma op\xE7\xE3o para alterar o valor por altera\xE7\xE3o da fun\xE7\xE3o. Voc\xEA deve defini-lo como falso se n\xE3o alterar esse valor, mas por tr\xE1s disso existe outro {status: ... solicita\xE7\xE3o com altera\xE7\xE3o: verdadeiro.",submenu:"Submenu",switch:"Trocar",switchCheckbox:"Trocar",telegramInstance:"Inst\xE2ncia de telegrama",telegramUser:"Usu\xE1rios do Telegram",text:"Texto",textNoEntry:"O texto ser\xE1 enviado se nenhuma entrada for encontrada!",toggle:"Alternar",trigger:"Acionar",tsTimestamp:"Carimbo de hora. Converte um carimbo de data/hora Unix em uma hora local, o formato pode ser alterado, por exemplo, para DD.MM.AAAA AA hh:mm:ss:sss",unusedTrigger:"Gatilho n\xE3o utilizado",url:"URL",usedTrigger:"Gatilho usado",user:"Usu\xE1rio",userList:"Lista de usu\xE1rios",userSelect:"Selecione um usu\xE1rio ou desative o Menu antes de salvar!",value:"Valor",valueRound:"Arredonda o valor, por exemplo, para 2 casas decimais",values:"Valores",yes:"Sim"};var Hie={ID:"Identiteitskaart",IDs:"ID's",abort:"Afbreken",ack:"Ak",action:"Actie",active:"Actief",activeMenu:"Actief menu:",add:"Toevoegen",addAction:"Nieuwe actie toevoegen",addMenu:"Nieuwe menunaam toevoegen",binding:"Bindingen: eerst Var met id, daarna de voorwaarde en de tekst.",breakpointNewline:"Breekpunt voor een nieuwe regel. Voeg dit alleen in de tekst in",call:"Telefoongesprek",cancel:"Annuleren",changeFunction:"Verandert de waarde in de retourtekst, in dit geval van true naar on en false naar off",chooseAction:"Kies een actie",close:"Dichtbij",commonName:"Voert de naam van het gegevenspunt uit",condition:"Voorwaarde",conditionMenu:"Voorwaarde om Menu te openen",confirm:"Bevestigen",confirmDelete:"Alle gegevens gaan verloren. Bevestigen?",confirmMessage:"Bevestig met bericht",confirmSet:"Aandacht. De waarde is alleen ingesteld, maar nog niet bevestigd door de adapter. U kunt noValue verwijderen, waarna de waarde wordt weergegeven. Positie && vervangen door Waarde of wordt aan het Einde gezet",convertsUnixTimestamp:"Converteert een Unix-tijdstempel naar een lokale tijd",copy:"Kopi\xEBren",createMenu:"Maak alstublieft een menu aan!",delay:"Vertraging (ms)",delete:"Verwijderen",directory:"Directory",doubleTrigger:"U heeft dubbele triggers, verwijder deze alstublieft!",edit:"Bewerking",entryNotFound:"Invoer niet gevonden!",executedMenu:"Uitgevoerd menu",filename:"Bestandsnaam",hide:"Verbergen",identification:"Identificatie",inactive:"Inactief",insertID:"Om een \u200B\u200BID in te voegen, voegt u eenvoudigweg eerst het blok in en selecteert u de ID. Deze wordt dan automatisch op de juiste plaats ingevoegd, ook als de ID moet worden gewijzigd. Als de code het blok niet herkent, wordt de ID aan het einde toegevoegd.",instance:"Aanleg",isSubmenu:"Dit is een submenu!",jsonShoppingList:"Hetzelfde als hierboven, maar wanneer u op een knop klikt, wordt het item verwijderd. De sleutel voor de items is `naam:`, u kunt ook `tijd:` toevoegen. Belangrijk!!! 'boodschappenlijstje' mag niet worden gewijzigd.",jsonTable:"!!! Om het te gebruiken, mag parseMode niet actief zijn !!! Cre\xEBert een tabel van een JSON als teksttabel. De eerste waarde is \xE9\xE9n sleutel van de JSON, daarachter staat de naam van de kolom. U kunt meer dan twee waarden gebruiken. De header moet worden ingevuld. Wijzig de TextTable niet.",latitude:"Breedte",lcTimestamp:"Laatste wijziging. Converteert een Unix-tijdstempel naar een lokale tijd, het formaat kan worden gewijzigd, bijvoorbeeld naar DD.MM.JJJJ JJ uu:mm:ss:sss",linkedWith:"Is gekoppeld aan:",longitude:"Lengte",manuallyValue:"Hiermee kunt u handmatig een waarde instellen in combinatie met ID Value, zoals deze: staticValue{id:ID}staticValue",math:"Converteert de waarde, /10 kan worden vervangen",menu:"Menu",menuBack:"Wanneer u hierop drukt, springt u terug naar het vorige menu",menuDeleteAll:"Genereert een knop om alle berichten van de bot te verwijderen. De navigatie is optioneel. Laat het gewoon leeg, anders komt u in een menu dat moet worden opgeroepen.",menuDynamicSwitch:"Genereert vermenigvuldigingsknoppen, waarden kunnen individueel worden ingevoegd. Vervang TRIGGER door een unieke waarde. LengthOfRow is optioneel en kan worden gebruikt om het aantal knoppen per rij in te stellen.
Breekbare wijziging!!! \xA0 Wijzig handmatig: `[Naam1:Waarde1, Naam2:Waarde2]` in `[Naam1|Waarde1, Naam2|Waarde2]`. Decimale getallen kunnen nu ook als waarden worden gebruikt.",menuList:"Menulijst",menuNumber:"De nummers zijn volledig uitwisselbaar. 0-6 geeft het bereik aan, en 1 de stapgrootte, UNIT wordt vervangen door een eenheid, maar kan ook leeg gelaten worden. Vervang TRIGGER door een unieke waarde.",menuPercent:"10 kan vervangen worden en geeft de stapgrootte aan 0%, 10%, 20%...! Vervang TRIGGER door een unieke waarde. Dit wordt gebruikt in actie SetState. Voer het gewenste ID in. Onder de waarde! invoegen",menuSwitch:"Genereert twee knoppen, in dit geval aan en uit met de respectieve waarden waar en onwaar. Vervang TRIGGER door een unieke waarde.",menuToCopy:"Selecteer eerst het menu waarnaar u gegevens wilt kopi\xEBren. Dan de regel waar het moet worden toegevoegd. Als er nog geen gegevens zijn, klik dan op Opslaan en deze worden aangemaakt na het opvragen van de nieuwe triggernaam.",modifiedSubmenuValue:"Hiermee kunt u een aangepaste submenuwaarde instellen in combinatie met een statisch onderdeel, zoals dit: staticValue{value}staticValue",navigation:"Navigatie",navigationButtons:"Navigatieknoppen",newlineCheckbox:"Nieuwe lijn",no:"Nee",noValue:"De waarde is niet gespecificeerd in de retourtekst",notifiedByChangeOfAnotherState:"Als u op de hoogte wilt worden gesteld van de wijziging van een ander datapunt nadat u het datapunt in het ID-invoerveld hebt ingesteld. De wijziging wordt alleen gedeeld als deze is ingesteld met ack:true. Het is verplicht om een \u200B\u200Btekst buiten de {} op te geven, anders wordt deze automatisch toegevoegd.",ok:"OK",oneTimeKey:"Verzoekt klanten om het toetsenbord verticaal aan te passen voor een optimale pasvorm (maak het toetsenbord bijvoorbeeld kleiner als er slechts twee rijen knoppen zijn). Standaard ingesteld op false, in welk geval het aangepaste toetsenbord altijd dezelfde hoogte heeft als het standaardtoetsenbord van de app.",overview:"Overzicht",parseMode:"Parseermodus HTML",parseModeBold:"Tekst in de parse-modus is vetgedrukt",parseModeCode:"Tekst in de parse-modus is code",parseModeItalic:"Tekst in de parse-modus is cursief",parseModeLink:"Tekst in de parse-modus is een link",password:"Wachtwoord",percent:"Procent",picSendDelay:"Vertraging foto verzenden",placeholderInstance:"--Kies een telegraminstantie--",placeholderValue:"Tijdelijke aanduiding voor de waarde",reallyDelete:"Wil je dit echt verwijderen?",renameMenu:"Hernoem de menunaam",returnText:"Tekst retourneren",save:"Redden",select:"Selecteer",selectAMenuDropBox:"Selecteer een menu, selecteer verplaatsen of kopi\xEBren. Pas op! Er moet een gebruiker actief zijn in het geselecteerde menu!",selectTargetMenu:"Selecteer een doelmenu",sendMenuAfterRestart:"Menu verzenden na opnieuw opstarten",setAck:"Bevestigingsvlag instellen",setDynamicValue:"Hierdoor kunt u dynamische waarden in datapunten schrijven. U hoeft alleen maar te bellen en vervolgens kunt u de waarde in het invoerveld invoeren. RequestText: tekst om de waarde op te vragen. Type: type waarde (Boolean of getal). BevestigTekst: tekst om de waarde te bevestigen. ID: Als u vanuit een andere staat wilt bevestigen, voert u hier het ID in. (Dit is optioneel)",setID:"Stelt de waarde van de ID in op val, met ack(confirmed)",setMenu:"Menu instellen",setWithAck:"Stel de waarde in met ack-Flag",settings:"Instellingen",startMenus:"Startmenu's",startSide:"Begin kant",statusMenu:"Vraagt \u200B\u200Bde waarde van het ID op en vervangt deze vervolgens door de waarde, zodat er tekst omheen kan worden geschreven, het is ook mogelijk om deze meerdere keren achter elkaar te gebruiken. De parameter true is een optie om de waarde te wijzigen door een functiewijziging. Je moet het op false zetten als je deze waarde niet verandert, maar hierachter zit nog een {status: ... request with change:true.",submenu:"Submenu",switch:"Schakelaar",switchCheckbox:"Schakelaar",telegramInstance:"Telegram-instantie",telegramUser:"Gebruikers van Telegram",text:"Tekst",textNoEntry:"Er wordt een sms verzonden als er geen invoer is gevonden!",toggle:"Schakelaar",trigger:"Trekker",tsTimestamp:"Tijdstempel. Converteert een Unix-tijdstempel naar een lokale tijd, het formaat kan worden gewijzigd, bijvoorbeeld naar DD.MM.JJJJ JJ uu:mm:ss:sss",unusedTrigger:"Ongebruikte trekker",url:"URL",usedTrigger:"Gebruikte trekker",user:"Gebruiker",userList:"Gebruikerslijst",userSelect:"Selecteer een gebruiker of deactiveer het menu voordat u kunt opslaan!",value:"Waarde",valueRound:"Rondt de waarde bijvoorbeeld af op 2 decimalen",values:"Waarden",yes:"Ja"};var $ie={ID:"IDENTIFIANT",IDs:"identifiants",abort:"Avorter",ack:"Acquitter",action:"Action",active:"Actif",activeMenu:"Menu actif\xA0:",add:"Ajouter",addAction:"Ajouter une nouvelle action",addMenu:"Ajouter un nouveau nom de menu",binding:"Reliures : D'abord Var avec l'identifiant puis la condition et le texte.",breakpointNewline:"Point d'arr\xEAt pour une nouvelle ligne, ins\xE9rez-le uniquement dans le texte",call:"Appel",cancel:"Annuler",changeFunction:"Modifie la valeur dans le texte de retour, dans ce cas de true \xE0 on et false \xE0 off",chooseAction:"Choisissez une action",close:"Fermer",commonName:"Affiche le nom du point de donn\xE9es",condition:"Condition",conditionMenu:"Condition pour ouvrir le menu",confirm:"Confirmer",confirmDelete:"Toutes les donn\xE9es seront perdues. Confirmer?",confirmMessage:"Confirmer par message",confirmSet:"Attention. La valeur a seulement \xE9t\xE9 d\xE9finie mais n'a pas encore \xE9t\xE9 confirm\xE9e par l'adaptateur. Vous pouvez supprimer noValue, la valeur s'affichera alors. Position && remplac\xE9 par Value ou sera mis \xE0 la fin",convertsUnixTimestamp:"Convertit un horodatage Unix en heure locale",copy:"Copie",createMenu:"S'il vous pla\xEEt, cr\xE9ez un menu\xA0!",delay:"D\xE9lai (ms)",delete:"Supprimer",directory:"Annuaire",doubleTrigger:"Vous avez des doubles d\xE9clencheurs, veuillez les supprimer\xA0!",edit:"Modifier",entryNotFound:"Entr\xE9e introuvable\xA0!",executedMenu:"Menu ex\xE9cut\xE9",filename:"Nom de fichier",hide:"Cacher",identification:"Identification",inactive:"Inactif",insertID:"Pour ins\xE9rer un ID, ins\xE9rez simplement le bloc en premier, s\xE9lectionnez l'ID. Celui-ci sera alors automatiquement ins\xE9r\xE9 \xE0 l'endroit appropri\xE9, m\xEAme si l'ID doit \xEAtre modifi\xE9. Si le code ne reconna\xEEt pas le bloc, l'ID est ajout\xE9 \xE0 la fin.",instance:"Exemple",isSubmenu:"Ceci est un sous-menu\xA0!",jsonShoppingList:"Comme ci-dessus, mais lorsque vous cliquez sur un bouton, l'\xE9l\xE9ment sera supprim\xE9, la cl\xE9 des \xE9l\xE9ments est \xAB nom : \xBB, vous pouvez \xE9galement ajouter \xAB heure : \xBB. Important !!! La \xAB liste de courses \xBB ne peut pas \xEAtre modifi\xE9e.",jsonTable:"!!! Pour l'utiliser, parseMode ne doit pas \xEAtre actif !!! Cr\xE9e une table \xE0 partir d'un JSON en tant que Text-Table. La premi\xE8re valeur est une cl\xE9 du JSON, derri\xE8re elle se trouve le nom de la colonne. Vous pouvez utiliser plus de deux valeurs. L'en-t\xEAte doit \xEAtre renseign\xE9. Ne modifiez pas TextTable.",latitude:"Latitude",lcTimestamp:"Dernier changement. Convertit un horodatage Unix en heure locale, le format peut \xEAtre modifi\xE9, par exemple en DD.MM.YYYY YY hh:mm:ss:sss",linkedWith:"Est li\xE9 \xE0 :",longitude:"Longitude",manuallyValue:"Cela vous permet de d\xE9finir manuellement une valeur en combinaison avec la valeur ID, comme ceci\xA0: staticValue{id:ID}staticValue",math:"Convertit la valeur, /10 peut \xEAtre remplac\xE9",menu:"Menu",menuBack:"Lorsque vous appuyez dessus, vous revenez au menu pr\xE9c\xE9dent",menuDeleteAll:"G\xE9n\xE8re un bouton pour supprimer tous les messages du bot. La navigation est facultative. Laissez-le simplement vide, sinon vous pourrez acc\xE9der \xE0 un menu qui devrait \xEAtre appel\xE9.",menuDynamicSwitch:"G\xE9n\xE8re des boutons de multiplication, les valeurs peuvent \xEAtre ins\xE9r\xE9es individuellement. Remplacez TRIGGER par une valeur unique. LengthOfRow est facultatif et peut \xEAtre utilis\xE9 pour d\xE9finir le nombre de boutons par ligne.
Rupture de changement !!! \xA0 Veuillez remplacer manuellement\xA0: `[Name1:Value1, Name2:Value2]` par `[Name1|Value1, Name2|Value2]`. Les nombres d\xE9cimaux peuvent d\xE9sormais \xE9galement \xEAtre utilis\xE9s comme valeurs.",menuList:"Liste des menus",menuNumber:"Les num\xE9ros peuvent \xEAtre enti\xE8rement \xE9chang\xE9s. 0-6 indique la plage et 1 la taille du pas, UNIT est remplac\xE9 par une unit\xE9, mais peut \xE9galement \xEAtre laiss\xE9 vide. Remplacez TRIGGER par une valeur unique.",menuPercent:"10 peut \xEAtre remplac\xE9 et indique la taille du pas 0%, 10%, 20%...\xA0! Remplacez TRIGGER par une valeur unique. Ceci est utilis\xE9 dans l\u2019action SetState. Saisissez l'identifiant souhait\xE9. En dessous de la valeur ! ins\xE9rer",menuSwitch:"G\xE9n\xE8re deux boutons, en l'occurrence on et off avec les valeurs respectives true et false. Remplacez TRIGGER par une valeur unique.",menuToCopy:"S\xE9lectionnez d'abord le menu dans lequel vous souhaitez copier les donn\xE9es. Puis la ligne o\xF9 il doit \xEAtre ajout\xE9. S'il n'y a pas encore de donn\xE9es, cliquez sur Enregistrer et elles seront cr\xE9\xE9es apr\xE8s avoir interrog\xE9 le nouveau nom du d\xE9clencheur.",modifiedSubmenuValue:"Cela vous permet de d\xE9finir une valeur de sous-menu modifi\xE9e en combinaison avec une partie statique, comme ceci\xA0: staticValue{value}staticValue",navigation:"Navigation",navigationButtons:"Boutons de navigation",newlineCheckbox:"Nouvelle ligne",no:"Non",noValue:"La valeur n'est pas sp\xE9cifi\xE9e dans le texte de retour",notifiedByChangeOfAnotherState:"Si vous souhaitez \xEAtre inform\xE9 du changement d'un autre point de donn\xE9es apr\xE8s avoir d\xE9fini le point de donn\xE9es dans le champ de saisie ID. La modification ne sera partag\xE9e que si elle est d\xE9finie avec ack:true. Il est obligatoire de pr\xE9ciser un texte en dehors du {}, sinon il sera ajout\xE9 automatiquement.",ok:"D'ACCORD",oneTimeKey:"Demande aux clients de redimensionner le clavier verticalement pour un ajustement optimal (par exemple, r\xE9duire la taille du clavier s'il n'y a que deux rang\xE9es de boutons). La valeur par d\xE9faut est false, auquel cas le clavier personnalis\xE9 a toujours la m\xEAme hauteur que le clavier standard de l'application.",overview:"Aper\xE7u",parseMode:"HTML en mode analyse",parseModeBold:"Le texte en mode analyse est en gras",parseModeCode:"Le texte en mode analyse est du code",parseModeItalic:"Le texte en mode analyse est en italique",parseModeLink:"Le texte en mode analyse est un lien",password:"Mot de passe",percent:"Pour cent",picSendDelay:"D\xE9lai d'envoi des photos",placeholderInstance:"--Veuillez choisir une instance de t\xE9l\xE9gramme--",placeholderValue:"Espace r\xE9serv\xE9 pour la valeur",reallyDelete:"Voulez-vous vraiment supprimer ceci\xA0?",renameMenu:"Renommer le nom du menu",returnText:"Retourner le texte",save:"Sauvegarder",select:"S\xE9lectionner",selectAMenuDropBox:"S\xE9lectionnez un menu, s\xE9lectionnez d\xE9placer ou copier. Attention! Un utilisateur doit \xEAtre actif dans le menu s\xE9lectionn\xE9 !",selectTargetMenu:"S\xE9lectionnez un menu cible",sendMenuAfterRestart:"Envoyer le menu apr\xE8s le red\xE9marrage",setAck:"D\xE9finir le drapeau de r\xE9ception",setDynamicValue:"Cela vous permet d'\xE9crire des valeurs dynamiques dans des points de donn\xE9es. Passez simplement un appel et vous pourrez ensuite saisir la valeur dans le champ de saisie. RequestText\xA0: texte pour demander la valeur. Type : type de la valeur (bool\xE9en ou nombre). ConfirmText\xA0: texte pour confirmer la valeur. ID\xA0: Si vous souhaitez confirmer depuis un autre \xC9tat, entrez l'ID ici. (Ceci est facultatif)",setID:"D\xE9finit la valeur de l'ID sur le val, avec ack (confirm\xE9)",setMenu:"D\xE9finir le menu",setWithAck:"D\xE9finir la valeur avec ack-Flag",settings:"Param\xE8tres",startMenus:"Menus D\xE9marrer",startSide:"C\xF4t\xE9 d\xE9part",statusMenu:"Interroge la valeur de l'ID puis la remplace par la valeur, afin que du texte puisse \xEAtre \xE9crit autour, il est \xE9galement possible de l'utiliser plus d'une fois de suite. Le param\xE8tre true est une option permettant de modifier la valeur par changement de fonction. Vous devez le d\xE9finir sur false si vous ne modifiez pas cette valeur, mais derri\xE8re cela se trouve une autre requ\xEAte {status: ... avec change:true.",submenu:"Sous-menu",switch:"Changer",switchCheckbox:"Changer",telegramInstance:"Instance de t\xE9l\xE9gramme",telegramUser:"Utilisateurs de Telegram",text:"Texte",textNoEntry:"Un texte sera envoy\xE9 si aucune entr\xE9e n'a \xE9t\xE9 trouv\xE9e\xA0!",toggle:"Basculer",trigger:"D\xE9clenchement",tsTimestamp:"Horodatage. Convertit un horodatage Unix en heure locale, le format peut \xEAtre modifi\xE9, par exemple en DD.MM.YYYY YY hh:mm:ss:sss",unusedTrigger:"D\xE9clencheur inutilis\xE9",url:"URL",usedTrigger:"D\xE9clencheur utilis\xE9",user:"Utilisateur",userList:"Liste des utilisateurs",userSelect:"Veuillez s\xE9lectionner un utilisateur ou d\xE9sactiver le menu avant de pouvoir enregistrer\xA0!",value:"Valeur",valueRound:"Arrondit la valeur par exemple \xE0 2 d\xE9cimales",values:"Valeurs",yes:"Oui"};var Gie={ID:"ID",IDs:"ID",abort:"Interrompere",ack:"Ac",action:"Azione",active:"Attivo",activeMenu:"Men\xF9 attivo:",add:"Aggiungere",addAction:"Aggiungi nuova azione",addMenu:"Aggiungi un nuovo nome al menu",binding:"Binding: prima Var con id poi la condizione e il testo.",breakpointNewline:"Punto di interruzione per una nuova riga, inseriscilo solo nel testo",call:"Chiamata",cancel:"Cancellare",changeFunction:"Modifica il valore nel testo restituito, in questo caso da true a on e false a off",chooseAction:"Scegli un'azione",close:"Vicino",commonName:"Restituisce il nome del punto dati",condition:"Condizione",conditionMenu:"Condizione per aprire il menu",confirm:"Confermare",confirmDelete:"Tutti i dati andranno persi. Confermare?",confirmMessage:"Conferma con messaggio",confirmSet:"Attenzione. Il valore \xE8 stato solo impostato ma non ancora confermato dall'adattatore. Puoi rimuovere noValue, quindi il valore verr\xE0 visualizzato. Posizione && sostituito da Valore o verr\xE0 inserito alla fine",convertsUnixTimestamp:"Converte un timestamp Unix in un'ora locale",copy:"Copia",createMenu:"Per favore crea un menu!",delay:"Ritardo (ms)",delete:"Eliminare",directory:"Direttorio",doubleTrigger:"Hai doppi trigger, rimuovili!",edit:"Modificare",entryNotFound:"Voce non trovata!",executedMenu:"Men\xF9 eseguito",filename:"Nome file",hide:"Nascondere",identification:"Identificazione",inactive:"Inattivo",insertID:"Per inserire un ID \xE8 sufficiente inserire prima il blocco, selezionare l'ID. Questo verr\xE0 poi inserito automaticamente nell'apposito posto, anche nel caso in cui si voglia modificare l'ID. Se il codice non riconosce il blocco, l'ID viene aggiunto alla fine.",instance:"Esempio",isSubmenu:"Questo \xE8 un sottomenu!",jsonShoppingList:`Come sopra, ma quando fai clic su un pulsante, l'elemento verr\xE0 eliminato, la chiave per gli elementi \xE8 "nome:", puoi anche aggiungere "ora:". Importante!!! la 'lista della spesa' non pu\xF2 essere modificata.`,jsonTable:"!!! Per usarlo, parseMode non deve essere attivo!!! Crea una tabella da un JSON come tabella di testo. Il primo valore \xE8 una chiave del JSON, dietro c'\xE8 il nome della colonna. Puoi utilizzare pi\xF9 di due valori. L'intestazione deve essere compilata. Non modificare TextTable.",latitude:"Latitudine",lcTimestamp:"Ultimo cambio. Converte un timestamp Unix in un'ora locale, il formato pu\xF2 essere modificato, ad esempio in GG.MM.AAAA AA hh:mm:ss:sss",linkedWith:"\xC8 collegato con:",longitude:"Longitudine",manuallyValue:"Ci\xF2 ti consente di impostare manualmente un valore in combinazione con il valore ID, in questo modo: staticValue{id:ID}staticValue",math:"Converte il valore, /10 pu\xF2 essere sostituito",menu:"Menu",menuBack:"Quando viene premuto, si torna al menu precedente",menuDeleteAll:"Genera un pulsante per eliminare tutti i messaggi dal bot. La navigazione \xE8 facoltativa. Basta lasciarlo vuoto altrimenti si accede ad un menu da richiamare.",menuDynamicSwitch:"Genera pulsanti moltiplicativi, i valori possono essere inseriti individualmente. Sostituisci TRIGGER con un valore univoco. LengthOfRow \xE8 facoltativo e pu\xF2 essere utilizzato per impostare il numero di pulsanti per riga.
Modifica rivoluzionaria!!! \xA0 Modifica manualmente: `[Nome1:Valore1, Nome2:Valore2]` in `[Nome1|Valore1, Nome2|Valore2]`. I numeri decimali ora possono essere utilizzati anche come valori.",menuList:"Elenco dei men\xF9",menuNumber:"I numeri possono essere completamente scambiati. 0-6 indica l'intervallo e 1 la dimensione del passo, UNIT \xE8 sostituito da un'unit\xE0, ma pu\xF2 anche essere lasciato vuoto. Sostituisci TRIGGER con un valore univoco.",menuPercent:"10 pu\xF2 essere sostituito e indica la dimensione del passo 0%, 10%, 20%...! Sostituisci TRIGGER con un valore univoco. Viene utilizzato nell'azione SetState. Inserisci l'ID desiderato. Sotto il valore! inserire",menuSwitch:"Genera due pulsanti, in questo caso on e off con i rispettivi valori true e false. Sostituisci TRIGGER con un valore univoco.",menuToCopy:"Seleziona innanzitutto il menu in cui desideri copiare i dati. Quindi la riga in cui dovrebbe essere aggiunto. Se non sono ancora presenti dati, fare clic su Salva e verranno creati dopo aver richiesto il nuovo nome del trigger.",modifiedSubmenuValue:"Ci\xF2 ti consente di impostare un valore del sottomenu modificato in combinazione con una parte statica, in questo modo: staticValue{value}staticValue",navigation:"Navigazione",navigationButtons:"Pulsanti di navigazione",newlineCheckbox:"Nuova riga",no:"NO",noValue:"Il valore non \xE8 specificato nel testo restituito",notifiedByChangeOfAnotherState:"Se desideri essere avvisato della modifica di un altro punto dati dopo aver impostato il punto dati nel campo di immissione ID. La modifica verr\xE0 condivisa solo se \xE8 impostata con ack:true. \xC8 obbligatorio specificare un testo fuori dal {}, altrimenti verr\xE0 aggiunto automaticamente.",ok:"OK",oneTimeKey:"Richiede ai client di ridimensionare la tastiera verticalmente per adattarla in modo ottimale (ad esempio, riduci la tastiera se sono presenti solo due file di pulsanti). Il valore predefinito \xE8 false, nel qual caso la tastiera personalizzata ha sempre la stessa altezza della tastiera standard dell'app.",overview:"Panoramica",parseMode:"Modalit\xE0 di analisi HTML",parseModeBold:"Il testo in modalit\xE0 analisi \xE8 in grassetto",parseModeCode:"Il testo in modalit\xE0 Parse \xE8 codice",parseModeItalic:"Il testo in modalit\xE0 Parse \xE8 in corsivo",parseModeLink:"Il testo in modalit\xE0 Parse \xE8 link",password:"Password",percent:"Percentuale",picSendDelay:"Ritardo nell'invio dell'immagine",placeholderInstance:"--Scegli un'istanza di Telegram--",placeholderValue:"Segnaposto per il valore",reallyDelete:"Vuoi davvero eliminarlo?",renameMenu:"Rinominare il nome del menu",returnText:"Restituisci il testo",save:"Salva",select:"Selezionare",selectAMenuDropBox:"Seleziona un menu, seleziona sposta o copia. Attento! Un utente deve essere attivo nel menu selezionato!",selectTargetMenu:"Seleziona un menu di destinazione",sendMenuAfterRestart:"Invia menu dopo il riavvio",setAck:"Imposta il flag di riconoscimento",setDynamicValue:"Ci\xF2 consente di scrivere valori dinamici in punti dati. Basta effettuare una chiamata e quindi inserire il valore nel campo di immissione. RequestText: testo per richiedere il valore. Tipo: tipo del valore (booleano o numerico). confirmText: testo per confermare il valore. ID: se desideri confermare da un altro Stato, inserisci qui l'ID (facoltativo)",setID:"Imposta il valore dell'ID su val, con ack(confirmed)",setMenu:"Menu fisso",setWithAck:"Imposta il valore con ack-Flag",settings:"Impostazioni",startMenus:"Menu di avvio",startSide:"Lato iniziale",statusMenu:"Interroga il valore dell'ID e poi lo sostituisce con il valore, in modo che sia possibile scrivere del testo attorno ad esso, ed \xE8 anche possibile utilizzarlo pi\xF9 di una volta di seguito. Il parametro true \xE8 un'opzione per modificare il valore mediante modifica della funzione. Devi impostarlo su false se non cambi questo valore, ma dietro c'\xE8 un'altra richiesta {status: ... con change:true.",submenu:"Sottomenu",switch:"Interruttore",switchCheckbox:"Interruttore",telegramInstance:"Istanza di Telegramma",telegramUser:"Utenti di Telegram",text:"Testo",textNoEntry:"Il testo verr\xE0 inviato se non viene trovata alcuna voce!",toggle:"Attiva/disattiva",trigger:"Grilletto",tsTimestamp:"Timestamp. Converte un timestamp Unix in un'ora locale, il formato pu\xF2 essere modificato, ad esempio in GG.MM.AAAA AA hh:mm:ss:sss",unusedTrigger:"Grilletto non utilizzato",url:"URL",usedTrigger:"Grilletto usato",user:"Utente",userList:"Elenco utenti",userSelect:"Seleziona un utente o disattiva il menu prima di poter salvare!",value:"Valore",valueRound:"Arrotonda il valore, ad esempio, a 2 cifre decimali",values:"Valori",yes:"S\xCC"};var qie={ID:"IDENTIFICACI\xD3N",IDs:"identificaciones",abort:"Abortar",ack:"Ack",action:"Acci\xF3n",active:"Activo",activeMenu:"Men\xFA activo:",add:"Agregar",addAction:"Agregar nueva acci\xF3n",addMenu:"Agregar nuevo nombre de men\xFA",binding:"Enlaces: Primero Var con id, luego la condici\xF3n y el texto.",breakpointNewline:"Punto de interrupci\xF3n para una nueva l\xEDnea, solo inserte esto en el texto",call:"Llamar",cancel:"Cancelar",changeFunction:"Cambia el valor en el texto devuelto, en este caso de verdadero a activado y de falso a desactivado.",chooseAction:"Elige una acci\xF3n",close:"Cerca",commonName:"Muestra el nombre del punto de datos.",condition:"Condici\xF3n",conditionMenu:"Condici\xF3n para abrir Men\xFA",confirm:"Confirmar",confirmDelete:"Todos los datos se perder\xE1n. \xBFConfirmar?",confirmMessage:"Confirmar con mensaje",confirmSet:"Atenci\xF3n. El valor s\xF3lo ha sido establecido pero a\xFAn no confirmado por el Adaptador. Puede eliminar noValue, luego se mostrar\xE1 el valor. Posici\xF3n && reemplazada por Valor o se pondr\xE1 al final",convertsUnixTimestamp:"Convierte una marca de tiempo de Unix a una hora local",copy:"Copiar",createMenu:"\xA1Por favor crea un men\xFA!",delay:"Retraso (ms)",delete:"Borrar",directory:"Directorio",doubleTrigger:"Tienes activadores dobles, \xA1elim\xEDtalos!",edit:"Editar",entryNotFound:"\xA1Entrada no encontrada!",executedMenu:"Men\xFA ejecutado",filename:"Nombre del archivo",hide:"Esconder",identification:"Identificaci\xF3n",inactive:"Inactivo",insertID:"Para insertar una ID, simplemente inserte el bloque primero, seleccione la ID. Este se insertar\xE1 autom\xE1ticamente en el lugar apropiado, incluso si se va a cambiar el ID. Si el c\xF3digo no reconoce el bloque, se a\xF1ade el ID al final.",instance:"Instancia",isSubmenu:"\xA1Este es un submen\xFA!",jsonShoppingList:`Lo mismo que arriba, pero cuando haces clic en un bot\xF3n, el elemento se eliminar\xE1. La clave para los elementos es "nombre:", tambi\xE9n puedes agregar "hora:". \xA1\xA1\xA1Importante!!! La 'lista de compras' no se puede cambiar.`,jsonTable:"!!! \xA1Para usarlo, parseMode no debe estar activo! Crea una tabla a partir de un JSON como Text-Table. El primer valor es una clave del JSON, detr\xE1s est\xE1 el nombre de la columna. Puede utilizar m\xE1s de dos valores. El encabezado debe estar completo. No cambie TextTable.",latitude:"Latitud",lcTimestamp:"\xDAltimo cambio. Convierte una marca de tiempo de Unix a una hora local; el formato se puede cambiar, por ejemplo a DD.MM.AAAA AA hh:mm:ss:sss",linkedWith:"Est\xE1 vinculado con:",longitude:"Longitud",manuallyValue:"Esto le permite establecer un valor manualmente en combinaci\xF3n con el valor de ID, como este: staticValue{id:ID}staticValue",math:"Convierte el valor, /10 se puede reemplazar",menu:"Men\xFA",menuBack:"Al pulsarlo saltas al men\xFA anterior.",menuDeleteAll:"Genera un bot\xF3n para eliminar todos los mensajes del bot. La navegaci\xF3n es opcional. Simplemente d\xE9jelo en blanco, de lo contrario podr\xE1 ingresar a un men\xFA que deber\xEDa abrirse.",menuDynamicSwitch:"Genera botones de multiplicar, los valores se pueden insertar individualmente. Reemplace TRIGGER con un valor \xFAnico. LongitudDeRow es opcional y se puede utilizar para establecer el n\xFAmero de botones por fila.
\xA1\xA1\xA1Cambio importante!!! \xA0 Cambie manualmente: `[Nombre1:Valor1, Nombre2:Valor2]` a `[Nombre1|Valor1, Nombre2|Valor2]`. Ahora tambi\xE9n se pueden utilizar n\xFAmeros decimales como valores.",menuList:"Lista de men\xFA",menuNumber:"Los n\xFAmeros se pueden intercambiar completamente. 0-6 indica el rango y 1 el tama\xF1o del paso, UNIT se reemplaza por una unidad, pero tambi\xE9n se puede dejar vac\xEDo. Reemplace TRIGGER con un valor \xFAnico.",menuPercent:"\xA110 se puede reemplazar e indica el tama\xF1o del paso 0%, 10%, 20%...! Reemplace TRIGGER con un valor \xFAnico. Esto se utiliza en la acci\xF3n SetState. Ingrese la identificaci\xF3n deseada. \xA1Por debajo del valor! insertar",menuSwitch:"Genera dos botones, en este caso encendido y apagado con los valores respectivos verdadero y falso. Reemplace TRIGGER con un valor \xFAnico.",menuToCopy:"Primero seleccione el men\xFA al que desea copiar los datos. Luego la l\xEDnea donde se debe agregar. Si a\xFAn no hay datos, haga clic en guardar y se crear\xE1 despu\xE9s de consultar el nuevo nombre del activador.",modifiedSubmenuValue:"Esto le permite establecer un valor de submen\xFA modificado en combinaci\xF3n con una parte est\xE1tica, como esta: staticValue{value}staticValue",navigation:"Navegaci\xF3n",navigationButtons:"Botones de navegaci\xF3n",newlineCheckbox:"Nueva l\xEDnea",no:"No",noValue:"El valor no est\xE1 especificado en el texto de retorno.",notifiedByChangeOfAnotherState:"Si desea recibir una notificaci\xF3n sobre el cambio de otro punto de datos despu\xE9s de haber configurado el punto de datos en el campo de entrada de ID. El cambio solo se compartir\xE1 si se establece con ack:true. Es obligatorio especificar un texto fuera del {}, de lo contrario se agregar\xE1 autom\xE1ticamente.",ok:"DE ACUERDO",oneTimeKey:"Solicita a los clientes que cambien el tama\xF1o del teclado verticalmente para lograr un ajuste \xF3ptimo (por ejemplo, reducir el tama\xF1o del teclado si solo hay dos filas de botones). El valor predeterminado es falso, en cuyo caso el teclado personalizado siempre tiene la misma altura que el teclado est\xE1ndar de la aplicaci\xF3n.",overview:"Descripci\xF3n general",parseMode:"Modo de an\xE1lisis HTML",parseModeBold:"El texto en modo Parse est\xE1 en negrita",parseModeCode:"El texto en modo Parse es c\xF3digo",parseModeItalic:"El texto en modo Parse est\xE1 en cursiva",parseModeLink:"El texto en modo Parse es un enlace",password:"Contrase\xF1a",percent:"Por ciento",picSendDelay:"Retraso en env\xEDo de imagen",placeholderInstance:"--Por favor elija una instancia de telegrama--",placeholderValue:"Marcador de posici\xF3n para el valor",reallyDelete:"\xBFRealmente quieres eliminar esto?",renameMenu:"Cambiar el nombre del men\xFA",returnText:"Texto de retorno",save:"Ahorrar",select:"Seleccionar",selectAMenuDropBox:"Seleccione un men\xFA, seleccione mover o copiar. \xA1Cuidado! \xA1Un usuario debe estar activo en el men\xFA seleccionado!",selectTargetMenu:"Seleccionar un men\xFA de destino",sendMenuAfterRestart:"Enviar men\xFA despu\xE9s de reiniciar",setAck:"Establecer indicador de confirmaci\xF3n",setDynamicValue:"Esto le permite escribir valores din\xE1micos en puntos de datos. Simplemente haga una llamada y luego podr\xE1 ingresar el valor en el campo de entrada. RequestText: Texto para solicitar el valor. Tipo: tipo del valor (booleano o n\xFAmero). ConfirmText: Texto para confirmar el valor. DNI: Si deseas confirmar desde otro Estado, ingresa aqu\xED el DNI. (Esto es opcional)",setID:"Establece el valor del ID en val, con ack(confirmado)",setMenu:"Men\xFA fijo",setWithAck:"Establecer valor con ack-Flag",settings:"Ajustes",startMenus:"Men\xFAs de inicio",startSide:"Lado de inicio",statusMenu:"Consulta el valor del ID y luego lo reemplaza con el valor, para que se pueda escribir texto alrededor de \xE9l, tambi\xE9n es posible usarlo m\xE1s de una vez seguida. El par\xE1metro verdadero es una opci\xF3n para cambiar el valor mediante el cambio de funci\xF3n. Tienes que establecerlo en falso si no cambias este valor, pero detr\xE1s de esto hay otra solicitud {status: ... con cambio:true.",submenu:"Submen\xFA",switch:"Cambiar",switchCheckbox:"Cambiar",telegramInstance:"Instancia de telegrama",telegramUser:"Usuarios de Telegram",text:"Texto",textNoEntry:"\xA1Se enviar\xE1 un mensaje de texto si no se encontr\xF3 ninguna entrada!",toggle:"Palanca",trigger:"Desencadenar",tsTimestamp:"Marca de tiempo. Convierte una marca de tiempo de Unix a una hora local; el formato se puede cambiar, por ejemplo a DD.MM.AAAA AA hh:mm:ss:sss",unusedTrigger:"Gatillo no utilizado",url:"URL",usedTrigger:"Gatillo usado",user:"Usuario",userList:"Lista de usuarios",userSelect:"\xA1Seleccione un usuario o desactive el men\xFA antes de poder guardar!",value:"Valor",valueRound:"Redondea el valor, por ejemplo, a 2 decimales.",values:"Valores",yes:"S\xED"};var Kie={ID:"ID",IDs:"identyfikatory",abort:"Poroni\u0107",ack:"Potwierd\u017A",action:"Dzia\u0142anie",active:"Aktywny",activeMenu:"Aktywne menu:",add:"Doda\u0107",addAction:"Dodaj now\u0105 akcj\u0119",addMenu:"Dodaj now\u0105 nazw\u0119 menu",binding:"Powi\u0105zania: Najpierw Var z identyfikatorem, potem warunek i tekst.",breakpointNewline:"Punkt przerwania nowej linii. Wstaw go tylko w tek\u015Bcie",call:"Dzwoni\u0107",cancel:"Anulowa\u0107",changeFunction:"Zmienia warto\u015B\u0107 w tek\u015Bcie zwracanym, w tym przypadku z true na on i false na off",chooseAction:"Wybierz akcj\u0119",close:"Zamkn\u0105\u0107",commonName:"Wy\u015Bwietla nazw\u0119 punktu danych",condition:"Stan",conditionMenu:"Warunek otwarcia Menu",confirm:"Potwierdza\u0107",confirmDelete:"Wszystkie dane zostan\u0105 utracone. Potwierdza\u0107?",confirmMessage:"Potwierd\u017A komunikatem",confirmSet:"Uwaga. Warto\u015B\u0107 zosta\u0142a ustawiona, ale jeszcze nie potwierdzona przez adapter. Mo\u017Cesz usun\u0105\u0107 noValue, wtedy warto\u015B\u0107 zostanie wy\u015Bwietlona. Pozycja && zostanie zast\u0105piona warto\u015Bci\u0105 lub zostanie umieszczona na ko\u0144cu",convertsUnixTimestamp:"Konwertuje znacznik czasu Uniksa na czas lokalny",copy:"Kopia",createMenu:"Prosz\u0119 stworzy\u0107 menu!",delay:"Op\xF3\u017Anienie (ms)",delete:"Usuwa\u0107",directory:"Informator",doubleTrigger:"Masz podw\xF3jne wyzwalacze, usu\u0144 je!",edit:"Redagowa\u0107",entryNotFound:"Nie znaleziono wpisu!",executedMenu:"Wykonane menu",filename:"Nazwa pliku",hide:"Ukrywa\u0107",identification:"Identyfikacja",inactive:"Nieaktywny",insertID:"Aby wstawi\u0107 identyfikator, wystarczy najpierw wstawi\u0107 blok i wybra\u0107 identyfikator. Zostanie on nast\u0119pnie automatycznie wstawiony w odpowiednim miejscu, nawet je\u015Bli identyfikator ma zosta\u0107 zmieniony. Je\u017Celi kod nie rozpoznaje bloku, na ko\u0144cu dodawany jest identyfikator.",instance:"Przyk\u0142ad",isSubmenu:"To jest podmenu!",jsonShoppingList:"To samo co powy\u017Cej, ale kiedy klikniesz przycisk, element zostanie usuni\u0119ty, kluczem do pozycji jest \u201Enazwa:\u201D, mo\u017Cesz tak\u017Ce doda\u0107 \u201Eczas:\u201D. Wa\u017Cne!!! \u201Elisty zakup\xF3w\u201D nie mo\u017Cna zmienia\u0107.",jsonTable:"!!! Aby z niego skorzysta\u0107, parseMode nie mo\u017Ce by\u0107 aktywny !!! Tworzy tabel\u0119 z JSON jako tabel\u0119 tekstow\u0105. Pierwsza warto\u015B\u0107 to jeden klucz JSON, za ni\u0105 znajduje si\u0119 nazwa kolumny. Mo\u017Cesz u\u017Cy\u0107 wi\u0119cej ni\u017C dw\xF3ch warto\u015Bci. Nag\u0142\xF3wek musi by\u0107 wype\u0142niony. Nie zmieniaj TextTable.",latitude:"Szeroko\u015B\u0107",lcTimestamp:"Ostatnia zmiana. Konwertuje znacznik czasu Uniksa na czas lokalny, format mo\u017Cna zmieni\u0107 na przyk\u0142ad na DD.MM.RRRR YY gg:mm:ss:sss",linkedWith:"Jest powi\u0105zany z:",longitude:"D\u0142ugo\u015B\u0107 geograficzna",manuallyValue:"Umo\u017Cliwia to r\u0119czne ustawienie warto\u015Bci w po\u0142\u0105czeniu z warto\u015Bci\u0105 identyfikatora, na przyk\u0142ad: staticValue{id:ID}staticValue",math:"Konwertuje warto\u015B\u0107, /10 mo\u017Cna zast\u0105pi\u0107",menu:"Menu",menuBack:"Po naci\u015Bni\u0119ciu nast\u0119puje powr\xF3t do poprzedniego menu",menuDeleteAll:"Generuje przycisk umo\u017Cliwiaj\u0105cy usuni\u0119cie wszystkich wiadomo\u015Bci od bota. Nawigacja jest opcjonalna. Po prostu pozostaw to pole puste, w przeciwnym razie mo\u017Cesz wej\u015B\u0107 do menu, kt\xF3re nale\u017Cy wywo\u0142a\u0107.",menuDynamicSwitch:"Generuje przyciski mno\u017Cenia, warto\u015Bci mo\u017Cna wstawia\u0107 indywidualnie. Zast\u0105p TRIGGER unikaln\u0105 warto\u015Bci\u0105. D\u0142ugo\u015B\u0107OfRow jest opcjonalna i mo\u017Cna jej u\u017Cy\u0107 do ustawienia liczby przycisk\xF3w w rz\u0119dzie.
Przerywanie zmiany!!! \xA0 Zmie\u0144 r\u0119cznie: `[Nazwa1:Warto\u015B\u01071, Nazwa2:Warto\u015B\u01072]` na `[Nazwa1|Warto\u015B\u01071, Nazwa2|Warto\u015B\u01072]`. Liczb dziesi\u0119tnych mo\u017Cna teraz u\u017Cywa\u0107 tak\u017Ce jako warto\u015Bci.",menuList:"Lista menu",menuNumber:"Numery mo\u017Cna ca\u0142kowicie wymienia\u0107. 0-6 oznacza zakres, a 1 wielko\u015B\u0107 kroku. UNIT jest zast\u0119powany przez jednostk\u0119, ale mo\u017Ce te\u017C pozosta\u0107 pusty. Zast\u0105p TRIGGER unikaln\u0105 warto\u015Bci\u0105.",menuPercent:"10 mo\u017Cna wymieni\u0107 i wskazuje wielko\u015B\u0107 kroku 0%, 10%, 20%...! Zast\u0105p TRIGGER unikaln\u0105 warto\u015Bci\u0105. Jest to u\u017Cywane w akcji SetState. Wprowad\u017A \u017C\u0105dany identyfikator. Poni\u017Cej warto\u015Bci! wstawi\u0107",menuSwitch:"Generuje dwa przyciski, w tym przypadku w\u0142\u0105czaj\u0105ce i wy\u0142\u0105czaj\u0105ce z odpowiednimi warto\u015Bciami prawda i fa\u0142sz. Zast\u0105p TRIGGER unikaln\u0105 warto\u015Bci\u0105.",menuToCopy:"Najpierw wybierz menu, do kt\xF3rego chcesz skopiowa\u0107 dane. Nast\u0119pnie linia, w kt\xF3rej nale\u017Cy go doda\u0107. Je\u015Bli nie ma jeszcze danych, kliknij Zapisz, a zostan\u0105 one utworzone po zapytaniu o now\u0105 nazw\u0119 wyzwalacza.",modifiedSubmenuValue:"Pozwala to ustawi\u0107 zmodyfikowan\u0105 warto\u015B\u0107 podmenu w po\u0142\u0105czeniu z cz\u0119\u015Bci\u0105 statyczn\u0105, na przyk\u0142ad: staticValue{value}staticValue",navigation:"Nawigacja",navigationButtons:"Przyciski nawigacji",newlineCheckbox:"Nowa linia",no:"NIE",noValue:"Warto\u015B\u0107 nie jest okre\u015Blona w tek\u015Bcie zwracanym",notifiedByChangeOfAnotherState:"Je\u015Bli chcesz otrzyma\u0107 powiadomienie o zmianie innego punktu danych po ustawieniu punktu danych w polu wprowadzania ID. Zmiana zostanie udost\u0119pniona tylko wtedy, gdy zostanie ustawiona opcja ack:true. Obowi\u0105zkowe jest podanie tekstu poza {}, w przeciwnym razie zostanie on dodany automatycznie.",ok:"OK",oneTimeKey:"\u017B\u0105da od klient\xF3w zmiany rozmiaru klawiatury w pionie w celu zapewnienia optymalnego dopasowania (np. zmniejszenia klawiatury, je\u015Bli s\u0105 tylko dwa rz\u0119dy przycisk\xF3w). Domy\u015Blnie ustawiona jest warto\u015B\u0107 false. W takim przypadku niestandardowa klawiatura ma zawsze t\u0119 sam\u0105 wysoko\u015B\u0107 co standardowa klawiatura aplikacji.",overview:"Przegl\u0105d",parseMode:"Tryb analizy kodu HTML",parseModeBold:"Tekst w trybie analizy jest pogrubiony",parseModeCode:"Tekst w trybie analizy jest kodem",parseModeItalic:"Tekst w trybie analizy jest kursyw\u0105",parseModeLink:"Tekst w trybie analizy to link",password:"Has\u0142o",percent:"Procent",picSendDelay:"Op\xF3\u017Anienie wysy\u0142ania zdj\u0119\u0107",placeholderInstance:"--Prosz\u0119 wybra\u0107 instancj\u0119 telegramu--",placeholderValue:"Symbol zast\u0119pczy warto\u015Bci",reallyDelete:"Czy na pewno chcesz to usun\u0105\u0107?",renameMenu:"Zmie\u0144 nazw\u0119 menu",returnText:"Zwr\xF3\u0107 tekst",save:"Ratowa\u0107",select:"Wybiera\u0107",selectAMenuDropBox:"Wybierz menu, wybierz opcj\u0119 przenie\u015B lub skopiuj. Uwa\u017Caj! U\u017Cytkownik musi by\u0107 aktywny w wybranym menu!",selectTargetMenu:"Wybierz menu docelowe",sendMenuAfterRestart:"Wy\u015Blij menu po ponownym uruchomieniu",setAck:"Ustaw flag\u0119 potwierdzenia",setDynamicValue:"Umo\u017Cliwia to zapisywanie warto\u015Bci dynamicznych w punktach danych. Wystarczy wykona\u0107 po\u0142\u0105czenie, a nast\u0119pnie wprowadzi\u0107 warto\u015B\u0107 w polu wej\u015Bciowym. RequestText: Tekst \u017C\u0105dania warto\u015Bci. Typ: typ warto\u015Bci (logiczna lub liczba). Potwierd\u017ATekst: Tekst potwierdzaj\u0105cy warto\u015B\u0107. ID: Je\u015Bli chcesz potwierdzi\u0107, \u017Ce pochodzisz z innego stanu, wprowad\u017A tutaj identyfikator. (jest to opcjonalne)",setID:"Ustawia warto\u015B\u0107 identyfikatora na val, z potwierdzeniem (potwierdzone)",setMenu:"Ustaw menu",setWithAck:"Ustaw warto\u015B\u0107 za pomoc\u0105 flagi potwierdzenia",settings:"Ustawienia",startMenus:"Menu startowe",startSide:"Strona startowa",statusMenu:"Odpytuje warto\u015B\u0107 identyfikatora, a nast\u0119pnie zast\u0119puje j\u0105 warto\u015Bci\u0105, dzi\u0119ki czemu mo\u017Cna wok\xF3\u0142 niego napisa\u0107 tekst, mo\u017Cna go r\xF3wnie\u017C u\u017Cy\u0107 wi\u0119cej ni\u017C raz z rz\u0119du. Parametr true umo\u017Cliwia zmian\u0119 warto\u015Bci poprzez zmian\u0119 funkcji. Je\u015Bli nie zmienisz tej warto\u015Bci, musisz ustawi\u0107 j\u0105 na false, ale za tym kryje si\u0119 kolejne \u017C\u0105danie {status: ... ze zmian\u0105:true.",submenu:"Podmenu",switch:"Prze\u0142\u0105cznik",switchCheckbox:"Prze\u0142\u0105cznik",telegramInstance:"Instancja telegramu",telegramUser:"U\u017Cytkownicy Telegramu",text:"Tekst",textNoEntry:"W przypadku braku wpisu zostanie wys\u0142any SMS!",toggle:"D\u017Awignia kolankowa",trigger:"Spust",tsTimestamp:"Znacznik czasu. Konwertuje znacznik czasu Uniksa na czas lokalny, format mo\u017Cna zmieni\u0107 na przyk\u0142ad na DD.MM.RRRR YY gg:mm:ss:sss",unusedTrigger:"Nieu\u017Cywany wyzwalacz",url:"Adres URL",usedTrigger:"U\u017Cywany spust",user:"U\u017Cytkownik",userList:"Lista u\u017Cytkownik\xF3w",userSelect:"Wybierz u\u017Cytkownika lub dezaktywuj Menu, aby m\xF3c zapisa\u0107!",value:"Warto\u015B\u0107",valueRound:"Zaokr\u0105gla warto\u015B\u0107 na przyk\u0142ad do 2 miejsc po przecinku",values:"Warto\u015Bci",yes:"Tak"};var Xie={ID:"ID",IDs:"\u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440\u0438",abort:"\u041F\u0435\u0440\u0435\u0440\u0432\u0430\u0442\u0438",ack:"Ack",action:"\u0414\u0456\u044F",active:"\u0410\u043A\u0442\u0438\u0432\u043D\u0438\u0439",activeMenu:"\u0410\u043A\u0442\u0438\u0432\u043D\u0435 \u043C\u0435\u043D\u044E:",add:"\u0434\u043E\u0434\u0430\u0442\u0438",addAction:"\u0414\u043E\u0434\u0430\u0442\u0438 \u043D\u043E\u0432\u0443 \u0434\u0456\u044E",addMenu:"\u0414\u043E\u0434\u0430\u0439\u0442\u0435 \u043D\u043E\u0432\u0443 \u043D\u0430\u0437\u0432\u0443 \u043C\u0435\u043D\u044E",binding:"\u041F\u0440\u0438\u0432\u2019\u044F\u0437\u043A\u0438: \u0441\u043F\u043E\u0447\u0430\u0442\u043A\u0443 Var \u0437 \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440\u043E\u043C, \u043F\u043E\u0442\u0456\u043C \u0443\u043C\u043E\u0432\u0430 \u0442\u0430 \u0442\u0435\u043A\u0441\u0442.",breakpointNewline:"\u0422\u043E\u0447\u043A\u0430 \u0437\u0443\u043F\u0438\u043D\u0443 \u0434\u043B\u044F \u043D\u043E\u0432\u043E\u0433\u043E \u0440\u044F\u0434\u043A\u0430, \u0432\u0441\u0442\u0430\u0432\u0442\u0435 \u0446\u0435 \u043B\u0438\u0448\u0435 \u0432 \u0442\u0435\u043A\u0441\u0442",call:"\u0422\u0435\u043B\u0435\u0444\u043E\u043D\u0443\u0439\u0442\u0435",cancel:"\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438",changeFunction:"\u0417\u043C\u0456\u043D\u044E\u0454 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 \u0442\u0435\u043A\u0441\u0442\u0456, \u0449\u043E \u043F\u043E\u0432\u0435\u0440\u0442\u0430\u0454\u0442\u044C\u0441\u044F, \u0443 \u0446\u044C\u043E\u043C\u0443 \u0432\u0438\u043F\u0430\u0434\u043A\u0443 \u0437 \u0456\u0441\u0442\u0438\u043D\u043D\u043E\u0433\u043E \u043D\u0430 \u0443\u0432\u0456\u043C\u043A\u043D\u0435\u043D\u0435 \u0442\u0430 \u0437 \u043D\u0435\u043F\u0440\u0430\u0432\u0434\u0438\u0432\u043E\u0433\u043E \u043D\u0430 \u0432\u0438\u043C\u043A\u043D\u0435\u043D\u0435",chooseAction:"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0434\u0456\u044E",close:"\u0417\u0430\u043A\u0440\u0438\u0442\u0438",commonName:"\u0412\u0438\u0432\u043E\u0434\u0438\u0442\u044C \u043D\u0430\u0437\u0432\u0443 \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u0438\u0445",condition:"\u0425\u0432\u043E\u0440\u043E\u0431\u0430",conditionMenu:"\u0423\u043C\u043E\u0432\u0430 \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0442\u044F \u043C\u0435\u043D\u044E",confirm:"\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0438",confirmDelete:"\u0423\u0441\u0456 \u0434\u0430\u043D\u0456 \u0431\u0443\u0434\u0435 \u0432\u0442\u0440\u0430\u0447\u0435\u043D\u043E. \u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0438?",confirmMessage:"\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u044C\u0442\u0435 \u043F\u043E\u0432\u0456\u0434\u043E\u043C\u043B\u0435\u043D\u043D\u044F\u043C",confirmSet:"\u0423\u0432\u0430\u0433\u0430. \u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043B\u0438\u0448\u0435 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E, \u0430\u043B\u0435 \u0449\u0435 \u043D\u0435 \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043D\u043E \u0430\u0434\u0430\u043F\u0442\u0435\u0440\u043E\u043C. \u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u0438\u0434\u0430\u043B\u0438\u0442\u0438 noValue, \u0442\u043E\u0434\u0456 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u044C\u0441\u044F. \u041F\u043E\u0437\u0438\u0446\u0456\u044F && \u0437\u0430\u043C\u0456\u043D\u044E\u0454\u0442\u044C\u0441\u044F \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\u043C \u0430\u0431\u043E \u0431\u0443\u0434\u0435 \u0440\u043E\u0437\u043C\u0456\u0449\u0435\u043D\u043E \u0432 \u043A\u0456\u043D\u0446\u0456",convertsUnixTimestamp:"\u041F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u044E\u0454 \u043C\u0456\u0442\u043A\u0443 \u0447\u0430\u0441\u0443 Unix \u043D\u0430 \u043C\u0456\u0441\u0446\u0435\u0432\u0438\u0439 \u0447\u0430\u0441",copy:"\u041A\u043E\u043F\u0456\u044F",createMenu:"\u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0441\u0442\u0432\u043E\u0440\u0456\u0442\u044C \u043C\u0435\u043D\u044E!",delay:"\u0417\u0430\u0442\u0440\u0438\u043C\u043A\u0430 (\u043C\u0441)",delete:"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438",directory:"\u0414\u043E\u0432\u0456\u0434\u043D\u0438\u043A",doubleTrigger:"\u0423 \u0432\u0430\u0441 \u0454 \u043F\u043E\u0434\u0432\u0456\u0439\u043D\u0456 \u0442\u0440\u0438\u0433\u0435\u0440\u0438, \u0431\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0432\u0438\u0434\u0430\u043B\u0456\u0442\u044C \u0457\u0445!",edit:"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438",entryNotFound:"\u0417\u0430\u043F\u0438\u0441 \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E!",executedMenu:"\u0412\u0438\u043A\u043E\u043D\u0430\u043D\u0435 \u043C\u0435\u043D\u044E",filename:"\u0406\u043C'\u044F \u0444\u0430\u0439\u043B\u0443",hide:"\u0421\u0445\u043E\u0432\u0430\u0442\u0438",identification:"\u0406\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0446\u0456\u044F",inactive:"\u041D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u0438\u0439",insertID:"\u0429\u043E\u0431 \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440, \u043F\u0440\u043E\u0441\u0442\u043E \u0441\u043F\u043E\u0447\u0430\u0442\u043A\u0443 \u0432\u0441\u0442\u0430\u0432\u0442\u0435 \u0431\u043B\u043E\u043A, \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440. \u041F\u043E\u0442\u0456\u043C \u0439\u043E\u0433\u043E \u0431\u0443\u0434\u0435 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E \u0432\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u043E \u0443 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u043D\u0435 \u043C\u0456\u0441\u0446\u0435, \u043D\u0430\u0432\u0456\u0442\u044C \u044F\u043A\u0449\u043E ID \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u043E \u0437\u043C\u0456\u043D\u0438\u0442\u0438. \u042F\u043A\u0449\u043E \u043A\u043E\u0434 \u043D\u0435 \u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u0454 \u0431\u043B\u043E\u043A, \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440 \u0434\u043E\u0434\u0430\u0454\u0442\u044C\u0441\u044F \u0432 \u043A\u0456\u043D\u0446\u0456.",instance:"\u0415\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440",isSubmenu:"\u0426\u0435 \u043F\u0456\u0434\u043C\u0435\u043D\u044E!",jsonShoppingList:'\u0422\u0435 \u0441\u0430\u043C\u0435, \u0449\u043E \u0439 \u0432\u0438\u0449\u0435, \u0430\u043B\u0435 \u043A\u043E\u043B\u0438 \u0432\u0438 \u043D\u0430\u0442\u0438\u0441\u043A\u0430\u0454\u0442\u0435 \u043A\u043D\u043E\u043F\u043A\u0443, \u0435\u043B\u0435\u043C\u0435\u043D\u0442 \u0431\u0443\u0434\u0435 \u0432\u0438\u0434\u0430\u043B\u0435\u043D\u043E, \u043A\u043B\u044E\u0447\u0435\u043C \u0434\u043B\u044F \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432 \u0454 `name:`, \u0432\u0438 \u0442\u0430\u043A\u043E\u0436 \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u043E\u0434\u0430\u0442\u0438 `time:`. \u0412\u0430\u0436\u043B\u0438\u0432\u043E!!! "\u0441\u043F\u0438\u0441\u043E\u043A \u043F\u043E\u043A\u0443\u043F\u043E\u043A" \u043D\u0435 \u043C\u043E\u0436\u043D\u0430 \u0437\u043C\u0456\u043D\u044E\u0432\u0430\u0442\u0438.',jsonTable:"!!! \u0429\u043E\u0431 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0439\u043E\u0433\u043E, parseMode \u043D\u0435 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0430\u043A\u0442\u0438\u0432\u043D\u0438\u043C !!! \u0421\u0442\u0432\u043E\u0440\u044E\u0454 \u0442\u0430\u0431\u043B\u0438\u0446\u044E \u0437 JSON \u044F\u043A Text-Table. \u041F\u0435\u0440\u0448\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u2013 \u0446\u0435 \u043E\u0434\u0438\u043D \u043A\u043B\u044E\u0447 JSON, \u0430 \u0437\u0430 \u043D\u0438\u043C \u2013 \u043D\u0430\u0437\u0432\u0430 \u0441\u0442\u043E\u0432\u043F\u0446\u044F. \u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0431\u0456\u043B\u044C\u0448\u0435 \u0434\u0432\u043E\u0445 \u0437\u043D\u0430\u0447\u0435\u043D\u044C. \u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0437\u0430\u043F\u043E\u0432\u043D\u0435\u043D\u0438\u0439. \u041D\u0435 \u0437\u043C\u0456\u043D\u044E\u0439\u0442\u0435 TextTable.",latitude:"\u0428\u0438\u0440\u043E\u0442\u0430",lcTimestamp:"LastChange. \u041F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u044E\u0454 \u043C\u0456\u0442\u043A\u0443 \u0447\u0430\u0441\u0443 Unix \u043D\u0430 \u043C\u0456\u0441\u0446\u0435\u0432\u0438\u0439 \u0447\u0430\u0441, \u0444\u043E\u0440\u043C\u0430\u0442 \u043C\u043E\u0436\u043D\u0430 \u0437\u043C\u0456\u043D\u0438\u0442\u0438, \u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, \u043D\u0430 \u0414\u0414.\u041C\u041C.\u0420\u0420\u0420\u0420 \u0420\u0420 \u0433\u043E\u0434:\u0445\u0445:\u0441\u0441:\u0441\u0441",linkedWith:"\u041F\u043E\u0432'\u044F\u0437\u0430\u043D\u0438\u0439 \u0437:",longitude:"\u0414\u043E\u0432\u0433\u043E\u0442\u0430",manuallyValue:"\u0426\u0435 \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u0454 \u0432\u0440\u0443\u0447\u043D\u0443 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0432 \u043F\u043E\u0454\u0434\u043D\u0430\u043D\u043D\u0456 \u0437\u0456 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\u043C ID, \u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434: staticValue{id:ID}staticValue",math:"\u041F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u044E\u0454 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F, /10 \u043C\u043E\u0436\u043D\u0430 \u0437\u0430\u043C\u0456\u043D\u0438\u0442\u0438",menu:"\u041C\u0435\u043D\u044E",menuBack:"\u041F\u0440\u0438 \u043D\u0430\u0442\u0438\u0441\u043A\u0430\u043D\u043D\u0456 \u0432\u0456\u0434\u0431\u0443\u0432\u0430\u0454\u0442\u044C\u0441\u044F \u043F\u043E\u0432\u0435\u0440\u043D\u0435\u043D\u043D\u044F \u0434\u043E \u043F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u044C\u043E\u0433\u043E \u043C\u0435\u043D\u044E",menuDeleteAll:"\u0413\u0435\u043D\u0435\u0440\u0443\u0454 \u043A\u043D\u043E\u043F\u043A\u0443 \u0434\u043B\u044F \u0432\u0438\u0434\u0430\u043B\u0435\u043D\u043D\u044F \u0432\u0441\u0456\u0445 \u043F\u043E\u0432\u0456\u0434\u043E\u043C\u043B\u0435\u043D\u044C \u0432\u0456\u0434 \u0431\u043E\u0442\u0430. \u041D\u0430\u0432\u0456\u0433\u0430\u0446\u0456\u044F \u043D\u0435\u043E\u0431\u043E\u0432'\u044F\u0437\u043A\u043E\u0432\u0430. \u041F\u0440\u043E\u0441\u0442\u043E \u0437\u0430\u043B\u0438\u0448\u0442\u0435 \u0446\u0435 \u043F\u043E\u043B\u0435 \u043F\u043E\u0440\u043E\u0436\u043D\u0456\u043C, \u0456\u043D\u0430\u043A\u0448\u0435 \u0432\u0438 \u0437\u043C\u043E\u0436\u0435\u0442\u0435 \u0443\u0432\u0456\u0439\u0442\u0438 \u0432 \u043C\u0435\u043D\u044E, \u044F\u043A\u0435 \u0441\u043B\u0456\u0434 \u0432\u0438\u043A\u043B\u0438\u043A\u0430\u0442\u0438.",menuDynamicSwitch:"\u0413\u0435\u043D\u0435\u0440\u0443\u0454 \u043A\u0456\u043B\u044C\u043A\u0430 \u043A\u043D\u043E\u043F\u043E\u043A, \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043C\u043E\u0436\u043D\u0430 \u0432\u0441\u0442\u0430\u0432\u043B\u044F\u0442\u0438 \u043E\u043A\u0440\u0435\u043C\u043E. \u0417\u0430\u043C\u0456\u043D\u0456\u0442\u044C TRIGGER \u043D\u0430 \u0443\u043D\u0456\u043A\u0430\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F. LengthOfRow \u0454 \u043D\u0435\u043E\u0431\u043E\u0432\u2019\u044F\u0437\u043A\u043E\u0432\u0438\u043C \u0456 \u043C\u043E\u0436\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u0434\u043B\u044F \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044F \u043A\u0456\u043B\u044C\u043A\u043E\u0441\u0442\u0456 \u043A\u043D\u043E\u043F\u043E\u043A \u0443 \u0440\u044F\u0434\u043A\u0443.
\u041A\u0440\u0438\u0442\u043E\u0432\u0430 \u0437\u043C\u0456\u043D\u0430!!! \xA0 \u0417\u043C\u0456\u043D\u0456\u0442\u044C \u0432\u0440\u0443\u0447\u043D\u0443: `[Name1:Value1, Name2:Value2]` \u043D\u0430 `[Name1|Value1, Name2|Value2]`. \u0414\u0435\u0441\u044F\u0442\u043A\u043E\u0432\u0456 \u0447\u0438\u0441\u043B\u0430 \u0442\u0435\u043F\u0435\u0440 \u0442\u0430\u043A\u043E\u0436 \u043C\u043E\u0436\u043D\u0430 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u044F\u043A \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F.",menuList:"\u0421\u043F\u0438\u0441\u043E\u043A \u043C\u0435\u043D\u044E",menuNumber:"\u041D\u043E\u043C\u0435\u0440\u0438 \u043C\u043E\u0436\u043D\u0430 \u043F\u043E\u0432\u043D\u0456\u0441\u0442\u044E \u043F\u043E\u043C\u0456\u043D\u044F\u0442\u0438. 0-6 \u0432\u043A\u0430\u0437\u0443\u0454 \u043D\u0430 \u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D, \u0430 1 \u2014 \u043D\u0430 \u0440\u043E\u0437\u043C\u0456\u0440 \u043A\u0440\u043E\u043A\u0443, UNIT \u0437\u0430\u043C\u0456\u043D\u044E\u0454\u0442\u044C\u0441\u044F \u043E\u0434\u0438\u043D\u0438\u0446\u0435\u044E, \u0430\u043B\u0435 \u0439\u043E\u0433\u043E \u043C\u043E\u0436\u043D\u0430 \u0437\u0430\u043B\u0438\u0448\u0438\u0442\u0438 \u043F\u0443\u0441\u0442\u0438\u043C. \u0417\u0430\u043C\u0456\u043D\u0456\u0442\u044C TRIGGER \u043D\u0430 \u0443\u043D\u0456\u043A\u0430\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F.",menuPercent:"10 \u043C\u043E\u0436\u043D\u0430 \u0437\u0430\u043C\u0456\u043D\u0438\u0442\u0438 \u0456 \u0432\u043A\u0430\u0437\u0443\u0454 \u043D\u0430 \u0440\u043E\u0437\u043C\u0456\u0440 \u043A\u0440\u043E\u043A\u0443 0%, 10%, 20%...! \u0417\u0430\u043C\u0456\u043D\u0456\u0442\u044C TRIGGER \u043D\u0430 \u0443\u043D\u0456\u043A\u0430\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F. \u0426\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454\u0442\u044C\u0441\u044F \u0432 \u0434\u0456\u0457 SetState. \u0412\u0432\u0435\u0434\u0456\u0442\u044C \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u0438\u0439 ID. \u041D\u0438\u0436\u0447\u0435 \u0432\u0430\u0440\u0442\u043E\u0441\u0442\u0456! \u0432\u0441\u0442\u0430\u0432\u043A\u0430",menuSwitch:"\u0421\u0442\u0432\u043E\u0440\u044E\u0454 \u0434\u0432\u0456 \u043A\u043D\u043E\u043F\u043A\u0438, \u0443 \u0446\u044C\u043E\u043C\u0443 \u0432\u0438\u043F\u0430\u0434\u043A\u0443 \u0443\u0432\u0456\u043C\u043A\u043D\u0435\u043D\u043D\u044F \u0442\u0430 \u0432\u0438\u043C\u043A\u043D\u0435\u043D\u043D\u044F \u0437 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u043D\u0438\u043C\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\u043C\u0438 true \u0442\u0430 false. \u0417\u0430\u043C\u0456\u043D\u0456\u0442\u044C TRIGGER \u043D\u0430 \u0443\u043D\u0456\u043A\u0430\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F.",menuToCopy:"\u0421\u043F\u043E\u0447\u0430\u0442\u043A\u0443 \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043C\u0435\u043D\u044E, \u0434\u043E \u044F\u043A\u043E\u0433\u043E \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u043E \u0441\u043A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438 \u0434\u0430\u043D\u0456. \u041F\u043E\u0442\u0456\u043C \u0440\u044F\u0434\u043E\u043A, \u0434\u0435 \u0439\u043E\u0433\u043E \u0441\u043B\u0456\u0434 \u0434\u043E\u0434\u0430\u0442\u0438. \u042F\u043A\u0449\u043E \u0434\u0430\u043D\u0438\u0445 \u0449\u0435 \u043D\u0435\u043C\u0430\u0454, \u043D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \xAB\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438\xBB, \u0456 \u0432\u0456\u043D \u0431\u0443\u0434\u0435 \u0441\u0442\u0432\u043E\u0440\u0435\u043D\u0438\u0439 \u043F\u0456\u0441\u043B\u044F \u0437\u0430\u043F\u0438\u0442\u0443 \u043D\u0430 \u043D\u043E\u0432\u0443 \u043D\u0430\u0437\u0432\u0443 \u0442\u0440\u0438\u0433\u0435\u0440\u0430.",modifiedSubmenuValue:"\u0426\u0435 \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u0454 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043C\u043E\u0434\u0438\u0444\u0456\u043A\u043E\u0432\u0430\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043F\u0456\u0434\u043C\u0435\u043D\u044E \u0432 \u043F\u043E\u0454\u0434\u043D\u0430\u043D\u043D\u0456 \u0437\u0456 \u0441\u0442\u0430\u0442\u0438\u0447\u043D\u043E\u044E \u0447\u0430\u0441\u0442\u0438\u043D\u043E\u044E, \u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434: staticValue{value}staticValue",navigation:"\u041D\u0430\u0432\u0456\u0433\u0430\u0446\u0456\u044F",navigationButtons:"\u041A\u043D\u043E\u043F\u043A\u0438 \u043D\u0430\u0432\u0456\u0433\u0430\u0446\u0456\u0457",newlineCheckbox:"\u041D\u043E\u0432\u0438\u0439 \u0440\u044F\u0434\u043E\u043A",no:"\u043D\u0435\u043C\u0430\u0454",noValue:"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043D\u0435 \u0432\u043A\u0430\u0437\u0430\u043D\u043E \u0432 \u0442\u0435\u043A\u0441\u0442\u0456 \u043F\u043E\u0432\u0435\u0440\u043D\u0435\u043D\u043D\u044F",notifiedByChangeOfAnotherState:"\u042F\u043A\u0449\u043E \u0432\u0438 \u0445\u043E\u0447\u0435\u0442\u0435 \u043E\u0442\u0440\u0438\u043C\u0443\u0432\u0430\u0442\u0438 \u0441\u043F\u043E\u0432\u0456\u0449\u0435\u043D\u043D\u044F \u043F\u0440\u043E \u0437\u043C\u0456\u043D\u0443 \u0456\u043D\u0448\u043E\u0457 \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u0438\u0445 \u043F\u0456\u0441\u043B\u044F \u0442\u043E\u0433\u043E, \u044F\u043A \u0432\u0438 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u043B\u0438 \u0442\u043E\u0447\u043A\u0443 \u0434\u0430\u043D\u0438\u0445 \u0443 \u043F\u043E\u043B\u0456 \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440\u0430. \u0417\u043C\u0456\u043D\u0443 \u0431\u0443\u0434\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0441\u043F\u0456\u043B\u044C\u043D\u0438\u0439 \u0434\u043E\u0441\u0442\u0443\u043F, \u043B\u0438\u0448\u0435 \u044F\u043A\u0449\u043E \u0434\u043B\u044F \u043D\u0435\u0457 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E ack:true. \u041E\u0431\u043E\u0432\u2019\u044F\u0437\u043A\u043E\u0432\u043E \u0432\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u0442\u0435\u043A\u0441\u0442 \u043F\u043E\u0437\u0430 {}, \u0456\u043D\u0430\u043A\u0448\u0435 \u0432\u0456\u043D \u0431\u0443\u0434\u0435 \u0434\u043E\u0434\u0430\u043D\u043E \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E.",ok:"\u0434\u043E\u0431\u0440\u0435",oneTimeKey:"\u041F\u0440\u043E\u0441\u0438\u0442\u044C \u043A\u043B\u0456\u0454\u043D\u0442\u0456\u0432 \u0437\u043C\u0456\u043D\u0438\u0442\u0438 \u0440\u043E\u0437\u043C\u0456\u0440 \u043A\u043B\u0430\u0432\u0456\u0430\u0442\u0443\u0440\u0438 \u043F\u043E \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u0456 \u0434\u043B\u044F \u043E\u043F\u0442\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u043F\u0440\u0438\u043F\u0430\u0441\u0443\u0432\u0430\u043D\u043D\u044F (\u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, \u0437\u0440\u043E\u0431\u0438\u0442\u0438 \u043A\u043B\u0430\u0432\u0456\u0430\u0442\u0443\u0440\u0443 \u043C\u0435\u043D\u0448\u043E\u044E, \u044F\u043A\u0449\u043E \u0454 \u043B\u0438\u0448\u0435 \u0434\u0432\u0430 \u0440\u044F\u0434\u0438 \u043A\u043D\u043E\u043F\u043E\u043A). \u0417\u0430 \u0437\u0430\u043C\u043E\u0432\u0447\u0443\u0432\u0430\u043D\u043D\u044F\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F false, \u0443 \u0446\u044C\u043E\u043C\u0443 \u0432\u0438\u043F\u0430\u0434\u043A\u0443 \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0430 \u043A\u043B\u0430\u0432\u0456\u0430\u0442\u0443\u0440\u0430 \u0437\u0430\u0432\u0436\u0434\u0438 \u043C\u0430\u0454 \u0442\u0443 \u0441\u0430\u043C\u0443 \u0432\u0438\u0441\u043E\u0442\u0443, \u0449\u043E \u0439 \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0430 \u043A\u043B\u0430\u0432\u0456\u0430\u0442\u0443\u0440\u0430 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u0438.",overview:"\u041E\u0433\u043B\u044F\u0434",parseMode:"\u0420\u0435\u0436\u0438\u043C \u0430\u043D\u0430\u043B\u0456\u0437\u0443 HTML",parseModeBold:"\u0422\u0435\u043A\u0441\u0442 \u0443 \u0440\u0435\u0436\u0438\u043C\u0456 \u0430\u043D\u0430\u043B\u0456\u0437\u0443 \u0432\u0438\u0434\u0456\u043B\u044F\u0454\u0442\u044C\u0441\u044F \u0436\u0438\u0440\u043D\u0438\u043C \u0448\u0440\u0438\u0444\u0442\u043E\u043C",parseModeCode:"\u0422\u0435\u043A\u0441\u0442 \u0443 Parse-Mode \u0454 \u043A\u043E\u0434\u043E\u043C",parseModeItalic:"\u0422\u0435\u043A\u0441\u0442 \u0443 \u0440\u0435\u0436\u0438\u043C\u0456 \u0430\u043D\u0430\u043B\u0456\u0437\u0443 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043E \u043A\u0443\u0440\u0441\u0438\u0432\u043E\u043C",parseModeLink:"\u0422\u0435\u043A\u0441\u0442 \u0443 \u0440\u0435\u0436\u0438\u043C\u0456 \u0430\u043D\u0430\u043B\u0456\u0437\u0443 \u0454 \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F\u043C",password:"\u041F\u0430\u0440\u043E\u043B\u044C",percent:"\u0412\u0456\u0434\u0441\u043E\u0442\u043E\u043A",picSendDelay:"\u0417\u0430\u0442\u0440\u0438\u043C\u043A\u0430 \u043D\u0430\u0434\u0441\u0438\u043B\u0430\u043D\u043D\u044F \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F",placeholderInstance:"--\u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0435\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u0442\u0435\u043B\u0435\u0433\u0440\u0430\u043C\u0438--",placeholderValue:"\u0417\u0430\u043F\u043E\u0432\u043D\u044E\u0432\u0430\u0447 \u0434\u043B\u044F \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F",reallyDelete:"\u0412\u0438 \u0441\u043F\u0440\u0430\u0432\u0434\u0456 \u0445\u043E\u0447\u0435\u0442\u0435 \u0446\u0435 \u0432\u0438\u0434\u0430\u043B\u0438\u0442\u0438?",renameMenu:"\u041F\u0435\u0440\u0435\u0439\u043C\u0435\u043D\u0443\u0432\u0430\u0442\u0438 \u043D\u0430\u0437\u0432\u0443 \u043C\u0435\u043D\u044E",returnText:"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u0438 \u0442\u0435\u043A\u0441\u0442",save:"\u0437\u0431\u0435\u0440\u0435\u0433\u0442\u0438",select:"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C",selectAMenuDropBox:"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043C\u0435\u043D\u044E, \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0430\u0431\u043E \u0441\u043A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438. \u041E\u0431\u0435\u0440\u0435\u0436\u043D\u043E! \u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447 \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0431\u0443\u0442\u0438 \u0430\u043A\u0442\u0438\u0432\u043D\u0438\u043C \u0443 \u0432\u0438\u0431\u0440\u0430\u043D\u043E\u043C\u0443 \u043C\u0435\u043D\u044E!",selectTargetMenu:"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0446\u0456\u043B\u044C\u043E\u0432\u0435 \u043C\u0435\u043D\u044E",sendMenuAfterRestart:"\u041D\u0430\u0434\u0456\u0441\u043B\u0430\u0442\u0438 \u043C\u0435\u043D\u044E \u043F\u0456\u0441\u043B\u044F \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u043A\u0443",setAck:"\u0412\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043F\u0440\u0430\u043F\u043E\u0440 \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043D\u043D\u044F",setDynamicValue:"\u0426\u0435 \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u0454 \u0437\u0430\u043F\u0438\u0441\u0443\u0432\u0430\u0442\u0438 \u0434\u0438\u043D\u0430\u043C\u0456\u0447\u043D\u0456 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0432 \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u0438\u0445. \u041F\u0440\u043E\u0441\u0442\u043E \u0437\u0430\u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443\u0439\u0442\u0435, \u0430 \u043F\u043E\u0442\u0456\u043C \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u0432\u0435\u0441\u0442\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0432 \u043F\u043E\u043B\u0435 \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F. RequestText: \u0442\u0435\u043A\u0441\u0442 \u0434\u043B\u044F \u0437\u0430\u043F\u0438\u0442\u0443 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F. \u0422\u0438\u043F: \u0442\u0438\u043F \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F (\u043B\u043E\u0433\u0456\u0447\u043D\u0435 \u0430\u0431\u043E \u0447\u0438\u0441\u043B\u043E\u0432\u0435). ConfirmText: \u0422\u0435\u043A\u0441\u0442 \u0434\u043B\u044F \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043D\u043D\u044F \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F. ID: \u044F\u043A\u0449\u043E \u0432\u0438 \u0445\u043E\u0447\u0435\u0442\u0435 \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0438 \u0437 \u0456\u043D\u0448\u043E\u0433\u043E \u0448\u0442\u0430\u0442\u0443, \u0432\u0432\u0435\u0434\u0456\u0442\u044C \u0442\u0443\u0442 \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440. (\u0426\u0435 \u043D\u0435\u043E\u0431\u043E\u0432\u2019\u044F\u0437\u043A\u043E\u0432\u043E)",setID:"\u0412\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u044E\u0454 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440\u0430 \u044F\u043A val \u0437 ack(confirmed)",setMenu:"\u0412\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043C\u0435\u043D\u044E",setWithAck:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0456\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0437\u0430 \u0434\u043E\u043F\u043E\u043C\u043E\u0433\u043E\u044E ack-Flag",settings:"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F",startMenus:"\u041C\u0435\u043D\u044E \xAB\u041F\u0443\u0441\u043A\xBB.",startSide:"\u0421\u0442\u0430\u0440\u0442\u043E\u0432\u0430 \u0441\u0442\u043E\u0440\u043E\u043D\u0430",statusMenu:"\u0417\u0430\u043F\u0438\u0442\u0443\u0454 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440\u0430, \u0430 \u043F\u043E\u0442\u0456\u043C \u0437\u0430\u043C\u0456\u043D\u044E\u0454 \u0439\u043E\u0433\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\u043C, \u0442\u043E\u043C\u0443 \u043D\u0430\u0432\u043A\u043E\u043B\u043E \u043D\u044C\u043E\u0433\u043E \u043C\u043E\u0436\u043D\u0430 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u0438 \u0442\u0435\u043A\u0441\u0442, \u0439\u043E\u0433\u043E \u0442\u0430\u043A\u043E\u0436 \u043C\u043E\u0436\u043D\u0430 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u043A\u0456\u043B\u044C\u043A\u0430 \u0440\u0430\u0437\u0456\u0432 \u043F\u043E\u0441\u043F\u0456\u043B\u044C. \u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 true \u2014 \u0446\u0435 \u043C\u043E\u0436\u043B\u0438\u0432\u0456\u0441\u0442\u044C \u0437\u043C\u0456\u043D\u0438\u0442\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0448\u043B\u044F\u0445\u043E\u043C \u0437\u043C\u0456\u043D\u0438 \u0444\u0443\u043D\u043A\u0446\u0456\u0457. \u0412\u0438 \u043F\u043E\u0432\u0438\u043D\u043D\u0456 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F false, \u044F\u043A\u0449\u043E \u0432\u0438 \u043D\u0435 \u0437\u043C\u0456\u043D\u044E\u0454\u0442\u0435 \u0446\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F, \u0430\u043B\u0435 \u0437\u0430 \u0446\u0438\u043C \u0454 \u0456\u043D\u0448\u0438\u0439 {status: ... \u0437\u0430\u043F\u0438\u0442 \u0456\u0437 change:true.",submenu:"\u041F\u0456\u0434\u043C\u0435\u043D\u044E",switch:"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u0447",switchCheckbox:"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u0447",telegramInstance:"\u041F\u0440\u0438\u043C\u0456\u0440\u043D\u0438\u043A Telegram",telegramUser:"\u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0456 \u0437 Telegram",text:"\u0442\u0435\u043A\u0441\u0442",textNoEntry:"\u0422\u0435\u043A\u0441\u0442 \u0431\u0443\u0434\u0435 \u043D\u0430\u0434\u0456\u0441\u043B\u0430\u043D\u043E, \u044F\u043A\u0449\u043E \u0437\u0430\u043F\u0438\u0441 \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E!",toggle:"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u0447",trigger:"\u0422\u0440\u0438\u0433\u0435\u0440",tsTimestamp:"TimeStamp. \u041F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u044E\u0454 \u043C\u0456\u0442\u043A\u0443 \u0447\u0430\u0441\u0443 Unix \u043D\u0430 \u043C\u0456\u0441\u0446\u0435\u0432\u0438\u0439 \u0447\u0430\u0441, \u0444\u043E\u0440\u043C\u0430\u0442 \u043C\u043E\u0436\u043D\u0430 \u0437\u043C\u0456\u043D\u0438\u0442\u0438, \u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, \u043D\u0430 \u0414\u0414.\u041C\u041C.\u0420\u0420\u0420\u0420 \u0420\u0420 \u0433\u043E\u0434:\u0445\u0445:\u0441\u0441:\u0441\u0441",unusedTrigger:"\u041D\u0435\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u0438\u0439 \u0442\u0440\u0438\u0433\u0435\u0440",url:"URL",usedTrigger:"\u0422\u0440\u0438\u0433\u0435\u0440 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u0438\u0439",user:"\u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447",userList:"\u0421\u043F\u0438\u0441\u043E\u043A \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0456\u0432",userSelect:"\u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430 \u0430\u0431\u043E \u0434\u0435\u0430\u043A\u0442\u0438\u0432\u0443\u0439\u0442\u0435 \u043C\u0435\u043D\u044E, \u0431\u043E \u0432\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0437\u0431\u0435\u0440\u0435\u0433\u0442\u0438!",value:"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F",valueRound:"\u041E\u043A\u0440\u0443\u0433\u043B\u044E\u0454 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F, \u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, \u0434\u043E 2 \u0437\u043D\u0430\u043A\u0456\u0432 \u043F\u0456\u0441\u043B\u044F \u043A\u043E\u043C\u0438",values:"\u0426\u0456\u043D\u043D\u043E\u0441\u0442\u0456",yes:"\u0442\u0430\u043A"};var Jie={ID:"ID",IDs:"ID",abort:"\u4E2D\u6B62",ack:"\u786E\u8BA4",action:"\u884C\u52A8",active:"\u79EF\u6781\u7684",activeMenu:"\u6D3B\u52A8\u83DC\u5355\uFF1A",add:"\u6DFB\u52A0",addAction:"\u6DFB\u52A0\u65B0\u52A8\u4F5C",addMenu:"\u6DFB\u52A0\u65B0\u83DC\u5355\u540D\u79F0",binding:"\u7ED1\u5B9A\uFF1A\u9996\u5148\u662F\u5E26\u6709 id \u7684 Var\uFF0C\u7136\u540E\u662F\u6761\u4EF6\u548C\u6587\u672C\u3002",breakpointNewline:"\u65B0\u884C\u7684\u65AD\u70B9\uFF0C\u4EC5\u5C06\u5176\u63D2\u5165\u6587\u672C\u4E2D",call:"\u79F0\u547C",cancel:"\u53D6\u6D88",changeFunction:"\u66F4\u6539\u8FD4\u56DE\u6587\u672C\u4E2D\u7684\u503C\uFF0C\u5728\u672C\u4F8B\u4E2D\u4ECE true \u66F4\u6539\u4E3A on\uFF0C\u5C06 false \u66F4\u6539\u4E3A off",chooseAction:"\u9009\u62E9\u4E00\u4E2A\u52A8\u4F5C",close:"\u5173\u95ED",commonName:"\u8F93\u51FA\u6570\u636E\u70B9\u7684\u540D\u79F0",condition:"\u5065\u5EB7\uFF09\u72B6\u51B5",conditionMenu:"\u6253\u5F00\u83DC\u5355\u7684\u6761\u4EF6",confirm:"\u786E\u8BA4",confirmDelete:"\u6240\u6709\u6570\u636E\u90FD\u5C06\u4E22\u5931\u3002\u786E\u8BA4\uFF1F",confirmMessage:"\u77ED\u4FE1\u786E\u8BA4",confirmSet:"\u6CE8\u610F\u529B\u3002\u8BE5\u503C\u4EC5\u88AB\u8BBE\u7F6E\uFF0C\u4F46\u5C1A\u672A\u88AB\u9002\u914D\u5668\u786E\u8BA4\u3002\u60A8\u53EF\u4EE5\u5220\u9664 noValue\uFF0C\u7136\u540E\u5C06\u663E\u793A\u8BE5\u503C\u3002\u4F4D\u7F6E && \u66FF\u6362\u4E3A Value \u6216\u5C06\u653E\u5728\u672B\u5C3E",convertsUnixTimestamp:"\u5C06 Unix \u65F6\u95F4\u6233\u8F6C\u6362\u4E3A\u672C\u5730\u65F6\u95F4",copy:"\u590D\u5236",createMenu:"\u8BF7\u521B\u5EFA\u4E00\u4E2A\u83DC\u5355\uFF01",delay:"\u5EF6\u8FDF\uFF08\u6BEB\u79D2\uFF09",delete:"\u5220\u9664",directory:"\u76EE\u5F55",doubleTrigger:"\u60A8\u6709\u53CC\u89E6\u53D1\u5668\uFF0C\u8BF7\u5220\u9664\u5B83\u4EEC\uFF01",edit:"\u7F16\u8F91",entryNotFound:"\u672A\u627E\u5230\u6761\u76EE\uFF01",executedMenu:"\u6267\u884C\u83DC\u5355",filename:"\u6587\u4EF6\u540D",hide:"\u9690\u85CF",identification:"\u9274\u522B",inactive:"\u4E0D\u6D3B\u8DC3",insertID:"\u8981\u63D2\u5165 ID\uFF0C\u53EA\u9700\u5148\u63D2\u5165\u5757\uFF0C\u7136\u540E\u9009\u62E9 ID\u3002\u5373\u4F7F\u8981\u66F4\u6539 ID\uFF0C\u4E5F\u4F1A\u81EA\u52A8\u5C06\u5176\u63D2\u5165\u5230\u9002\u5F53\u7684\u4F4D\u7F6E\u3002\u5982\u679C\u4EE3\u7801\u65E0\u6CD5\u8BC6\u522B\u8BE5\u5757\uFF0C\u5219\u5C06 ID \u9644\u52A0\u5230\u672B\u5C3E\u3002",instance:"\u5B9E\u4F8B",isSubmenu:"\u8FD9\u662F\u4E00\u4E2A\u5B50\u83DC\u5355\uFF01",jsonShoppingList:"\u4E0E\u4E0A\u9762\u76F8\u540C\uFF0C\u4F46\u662F\u5F53\u60A8\u5355\u51FB\u6309\u94AE\u65F6\uFF0C\u8BE5\u9879\u76EE\u5C06\u88AB\u5220\u9664\uFF0C\u9879\u76EE\u7684 Key \u662F `name:`\uFF0C\u60A8\u4E5F\u53EF\u4EE5\u6DFB\u52A0 `time:`\u3002 \u91CD\u8981\uFF01\uFF01\uFF01\u201C\u8D2D\u7269\u6E05\u5355\u201D\u53EF\u80FD\u65E0\u6CD5\u66F4\u6539\u3002",jsonTable:"!!!\u8981\u4F7F\u7528\u5B83\uFF0CparseMode \u4E00\u5B9A\u4E0D\u80FD\u5904\u4E8E\u6D3B\u52A8\u72B6\u6001\uFF01\u4ECE JSON \u521B\u5EFA\u4E00\u4E2A\u8868\u4F5C\u4E3A\u6587\u672C\u8868\u3002\u7B2C\u4E00\u4E2A\u503C\u662F JSON \u7684\u4E00\u4E2A\u952E\uFF0C\u540E\u9762\u662F\u5217\u7684\u540D\u79F0\u3002\u60A8\u53EF\u4EE5\u4F7F\u7528\u4E24\u4E2A\u4EE5\u4E0A\u7684\u503C\u3002\u5FC5\u987B\u586B\u5199\u6807\u9898\u3002\u4E0D\u8981\u66F4\u6539 TextTable\u3002",latitude:"\u7EAC\u5EA6",lcTimestamp:"\u6700\u540E\u66F4\u6539\u3002\u5C06 Unix \u65F6\u95F4\u6233\u8F6C\u6362\u4E3A\u672C\u5730\u65F6\u95F4\uFF0C\u683C\u5F0F\u53EF\u4EE5\u66F4\u6539\uFF0C\u4F8B\u5982 DD.MM.YYYY YY hh:mm:ss:sss",linkedWith:"\u4E0E\u4EE5\u4E0B\u94FE\u63A5\uFF1A",longitude:"\u7ECF\u5EA6",manuallyValue:"\u8FD9\u5141\u8BB8\u60A8\u7ED3\u5408 ID \u503C\u624B\u52A8\u8BBE\u7F6E\u503C\uFF0C\u5982\u4E0B\u6240\u793A\uFF1AstaticValue{id:ID}staticValue",math:"\u8F6C\u6362\u6570\u503C\uFF0C/10\u53EF\u4EE5\u66FF\u6362",menu:"\u83DC\u5355",menuBack:"\u5F53\u6309\u4E0B\u65F6\uFF0C\u60A8\u8DF3\u56DE\u5230\u4E0A\u4E00\u4E2A\u83DC\u5355",menuDeleteAll:"\u751F\u6210\u4E00\u4E2A\u6309\u94AE\u4EE5\u5220\u9664\u673A\u5668\u4EBA\u4E2D\u7684\u6240\u6709\u6D88\u606F\u3002\u5BFC\u822A\u662F\u53EF\u9009\u7684\u3002\u53EA\u9700\u5C06\u5176\u7559\u7A7A\uFF0C\u5426\u5219\u60A8\u53EF\u4EE5\u8F93\u5165\u5E94\u8C03\u7528\u7684\u83DC\u5355\u3002",menuDynamicSwitch:"\u751F\u6210\u4E58\u6CD5\u6309\u94AE\uFF0C\u53EF\u4EE5\u5355\u72EC\u63D2\u5165\u503C\u3002\u5C06 TRIGGER \u66FF\u6362\u4E3A\u552F\u4E00\u503C\u3002 LengthOfRow \u662F\u53EF\u9009\u7684\uFF0C\u53EF\u7528\u4E8E\u8BBE\u7F6E\u6BCF\u884C\u7684\u6309\u94AE\u6570\u91CF\u3002
\u91CD\u5927\u66F4\u6539!!! \xA0 \u8BF7\u624B\u52A8\u5C06\u201C[Name1:Value1, Name2:Value2]\u201D\u66F4\u6539\u4E3A\u201C[Name1|Value1, Name2|Value2]\u201D\u3002\u5341\u8FDB\u5236\u6570\u73B0\u5728\u4E5F\u53EF\u4EE5\u7528\u4F5C\u503C\u3002",menuList:"\u83DC\u5355\u5217\u8868",menuNumber:"\u53F7\u7801\u53EF\u4EE5\u5B8C\u5168\u4E92\u6362\u3002 0-6\u8868\u793A\u8303\u56F4\uFF0C1\u8868\u793A\u6B65\u957F\uFF0CUNIT\u7528\u5355\u4F4D\u4EE3\u66FF\uFF0C\u4F46\u4E5F\u53EF\u4EE5\u7559\u7A7A\u3002\u5C06 TRIGGER \u66FF\u6362\u4E3A\u552F\u4E00\u503C\u3002",menuPercent:"10\u53EF\u4EE5\u66FF\u6362\uFF0C\u8868\u793A\u6B65\u957F0%\u300110%\u300120%...\uFF01\u5C06 TRIGGER \u66FF\u6362\u4E3A\u552F\u4E00\u503C\u3002\u8FD9\u5728\u64CD\u4F5C SetState \u4E2D\u4F7F\u7528\u3002\u8F93\u5165\u6240\u9700\u7684 ID\u3002\u4F4E\u4E8E\u4EF7\u503C\uFF01\u63D2\u5165",menuSwitch:"\u751F\u6210\u4E24\u4E2A\u6309\u94AE\uFF0C\u5728\u672C\u4F8B\u4E2D\u4E3A\u6253\u5F00\u548C\u5173\u95ED\uFF0C\u5176\u503C\u5206\u522B\u4E3A true \u548C false\u3002\u5C06 TRIGGER \u66FF\u6362\u4E3A\u552F\u4E00\u503C\u3002",menuToCopy:"\u9996\u5148\u9009\u62E9\u8981\u5C06\u6570\u636E\u590D\u5236\u5230\u7684\u83DC\u5355\u3002\u7136\u540E\u662F\u5E94\u8BE5\u6DFB\u52A0\u7684\u884C\u3002\u5982\u679C\u8FD8\u6CA1\u6709\u6570\u636E\uFF0C\u70B9\u51FB\u4FDD\u5B58\uFF0C\u67E5\u8BE2\u65B0\u7684\u89E6\u53D1\u5668\u540D\u79F0\u540E\u5C31\u4F1A\u521B\u5EFA\u3002",modifiedSubmenuValue:"\u8FD9\u5141\u8BB8\u60A8\u7ED3\u5408\u9759\u6001\u90E8\u5206\u8BBE\u7F6E\u4FEE\u6539\u540E\u7684\u5B50\u83DC\u5355\u503C\uFF0C\u5982\u4E0B\u6240\u793A\uFF1AstaticValue{value}staticValue",navigation:"\u5BFC\u822A",navigationButtons:"\u5BFC\u822A\u6309\u94AE",newlineCheckbox:"\u6362\u884C\u7B26",no:"\u4E0D",noValue:"\u8FD4\u56DE\u6587\u672C\u4E2D\u672A\u6307\u5B9A\u503C",notifiedByChangeOfAnotherState:"\u5982\u679C\u60A8\u5728 ID \u8F93\u5165\u5B57\u6BB5\u4E2D\u8BBE\u7F6E\u6570\u636E\u70B9\u540E\u5E0C\u671B\u6536\u5230\u53E6\u4E00\u4E2A\u6570\u636E\u70B9\u66F4\u6539\u7684\u901A\u77E5\u3002\u4EC5\u5F53\u8BBE\u7F6E\u4E86 ack:true \u65F6\uFF0C\u66F4\u6539\u624D\u4F1A\u88AB\u5171\u4EAB\u3002\u5FC5\u987B\u5728 {} \u4E4B\u5916\u6307\u5B9A\u6587\u672C\uFF0C\u5426\u5219\u5C06\u81EA\u52A8\u6DFB\u52A0\u3002",ok:"\u597D\u7684",oneTimeKey:"\u8981\u6C42\u5BA2\u6237\u5782\u76F4\u8C03\u6574\u952E\u76D8\u5927\u5C0F\u4EE5\u83B7\u5F97\u6700\u4F73\u914D\u5408\uFF08\u4F8B\u5982\uFF0C\u5982\u679C\u53EA\u6709\u4E24\u884C\u6309\u94AE\uFF0C\u5219\u7F29\u5C0F\u952E\u76D8\uFF09\u3002\u9ED8\u8BA4\u4E3A false\uFF0C\u5728\u8FD9\u79CD\u60C5\u51B5\u4E0B\uFF0C\u81EA\u5B9A\u4E49\u952E\u76D8\u59CB\u7EC8\u4E0E\u5E94\u7528\u7A0B\u5E8F\u7684\u6807\u51C6\u952E\u76D8\u5177\u6709\u76F8\u540C\u7684\u9AD8\u5EA6\u3002",overview:"\u6982\u8FF0",parseMode:"\u89E3\u6790\u6A21\u5F0F HTML",parseModeBold:"\u89E3\u6790\u6A21\u5F0F\u4E0B\u7684\u6587\u672C\u4E3A\u7C97\u4F53",parseModeCode:"\u89E3\u6790\u6A21\u5F0F\u4E0B\u7684\u6587\u672C\u662F\u4EE3\u7801",parseModeItalic:"\u89E3\u6790\u6A21\u5F0F\u4E0B\u7684\u6587\u672C\u4E3A\u659C\u4F53",parseModeLink:"\u89E3\u6790\u6A21\u5F0F\u4E0B\u7684\u6587\u672C\u662F\u94FE\u63A5",password:"\u5BC6\u7801",percent:"\u767E\u5206\u6BD4",picSendDelay:"\u56FE\u7247\u53D1\u9001\u5EF6\u8FDF",placeholderInstance:"--\u8BF7\u9009\u62E9\u4E00\u4E2A\u7535\u62A5\u5B9E\u4F8B--",placeholderValue:"\u503C\u7684\u5360\u4F4D\u7B26",reallyDelete:"\u60A8\u771F\u7684\u8981\u5220\u9664\u8FD9\u4E2A\u5417\uFF1F",renameMenu:"\u91CD\u547D\u540D\u83DC\u5355\u540D\u79F0",returnText:"\u8FD4\u56DE\u6587\u672C",save:"\u8282\u7701",select:"\u9009\u62E9",selectAMenuDropBox:"\u9009\u62E9\u4E00\u4E2A\u83DC\u5355\uFF0C\u9009\u62E9\u79FB\u52A8\u6216\u590D\u5236\u3002\u5F53\u5FC3\uFF01\u7528\u6237\u5FC5\u987B\u5728\u6240\u9009\u83DC\u5355\u4E2D\u5904\u4E8E\u6D3B\u52A8\u72B6\u6001\uFF01",selectTargetMenu:"\u9009\u62E9\u76EE\u6807\u83DC\u5355",sendMenuAfterRestart:"\u91CD\u542F\u540E\u53D1\u9001\u83DC\u5355",setAck:"\u8BBE\u7F6E\u786E\u8BA4\u6807\u5FD7",setDynamicValue:"\u8FD9\u5141\u8BB8\u60A8\u5C06\u52A8\u6001\u503C\u5199\u5165\u6570\u636E\u70B9\u3002\u53EA\u9700\u62E8\u6253\u7535\u8BDD\uFF0C\u7136\u540E\u60A8\u5C31\u53EF\u4EE5\u5728\u8F93\u5165\u5B57\u6BB5\u4E2D\u8F93\u5165\u503C\u3002 RequestText\uFF1A\u8BF7\u6C42\u503C\u7684\u6587\u672C\u3002\u7C7B\u578B\uFF1A\u503C\u7684\u7C7B\u578B\uFF08\u5E03\u5C14\u503C\u6216\u6570\u5B57\uFF09\u3002\u786E\u8BA4\u6587\u672C\uFF1A\u7528\u4E8E\u786E\u8BA4\u503C\u7684\u6587\u672C\u3002 ID\uFF1A\u5982\u679C\u60A8\u60F3\u4ECE\u5176\u4ED6\u5DDE\u786E\u8BA4\uFF0C\u8BF7\u5728\u6B64\u5904\u8F93\u5165 ID\u3002\uFF08\u8FD9\u662F\u53EF\u9009\u7684\uFF09",setID:"\u5C06ID\u7684\u503C\u8BBE\u7F6E\u4E3Aval\uFF0C\u5E26\u6709ack\uFF08\u5DF2\u786E\u8BA4\uFF09",setMenu:"\u5957\u9910",setWithAck:"\u4F7F\u7528 ack-Flag \u8BBE\u7F6E\u503C",settings:"\u8BBE\u7F6E",startMenus:"\u5F00\u59CB\u83DC\u5355",startSide:"\u8D77\u59CB\u9762",statusMenu:"\u67E5\u8BE2ID\u7684\u503C\uFF0C\u7136\u540E\u5C06\u5176\u66FF\u6362\u4E3A\u503C\uFF0C\u56E0\u6B64\u53EF\u4EE5\u5728\u5176\u5468\u56F4\u5199\u5165\u6587\u672C\uFF0C\u4E5F\u53EF\u4EE5\u8FDE\u7EED\u591A\u6B21\u4F7F\u7528\u5B83\u3002\u53C2\u6570 true \u662F\u901A\u8FC7\u51FD\u6570\u66F4\u6539\u6765\u66F4\u6539\u503C\u7684\u9009\u9879\u3002\u5982\u679C\u60A8\u4E0D\u66F4\u6539\u6B64\u503C\uFF0C\u5219\u5FC5\u987B\u5C06\u5176\u8BBE\u7F6E\u4E3A false\uFF0C\u4F46\u5728\u8FD9\u540E\u9762\u8FD8\u6709\u53E6\u4E00\u4E2A\u5E26\u6709change:true \u7684 {status: ... \u8BF7\u6C42\u3002",submenu:"\u5B50\u83DC\u5355",switch:"\u8F6C\u53D8",switchCheckbox:"\u8F6C\u53D8",telegramInstance:"\u7535\u62A5\u5B9E\u4F8B",telegramUser:"\u6765\u81EA Telegram \u7684\u7528\u6237",text:"\u6587\u672C",textNoEntry:"\u5982\u679C\u672A\u627E\u5230\u6761\u76EE\uFF0C\u5C06\u53D1\u9001\u6587\u672C\uFF01",toggle:"\u5207\u6362",trigger:"\u6273\u673A",tsTimestamp:"\u65F6\u95F4\u6233\u3002\u5C06 Unix \u65F6\u95F4\u6233\u8F6C\u6362\u4E3A\u672C\u5730\u65F6\u95F4\uFF0C\u683C\u5F0F\u53EF\u4EE5\u66F4\u6539\uFF0C\u4F8B\u5982 DD.MM.YYYY YY hh:mm:ss:sss",unusedTrigger:"\u672A\u4F7F\u7528\u7684\u89E6\u53D1\u5668",url:"\u7F51\u5740",usedTrigger:"\u4F7F\u7528\u8FC7\u7684\u89E6\u53D1\u5668",user:"\u7528\u6237",userList:"\u7528\u6237\u5217\u8868",userSelect:"\u8BF7\u9009\u62E9\u4E00\u4E2A\u7528\u6237\uFF0C\u6216\u505C\u7528\u83DC\u5355\uFF0C\u7136\u540E\u624D\u80FD\u4FDD\u5B58\uFF01",value:"\u4EF7\u503C",valueRound:"\u4F8B\u5982\uFF0C\u5C06\u503C\u56DB\u820D\u4E94\u5165\u5230\u5C0F\u6570\u70B9\u540E\u4E24\u4F4D",values:"\u4EF7\u503C\u89C2",yes:"\u662F\u7684"};var eL=class extends Hv{constructor(r){let o={...r,encryptedFields:[],Connection:Vf,translations:{en:zie,de:Wie,ru:Uie,pt:Vie,nl:Hie,fr:$ie,it:Gie,es:qie,pl:Kie,uk:Xie,"zh-cn":Jie}};super(r,o);A(this,"dropBoxRef");A(this,"handleResize",()=>{RT(null,null,this.dropBoxRef,this.state.showDropBox,this.state.native.dropbox)});A(this,"newX",null);A(this,"newY",null);this.dropBoxRef=Dl.default.createRef(),this.state={...this.state,native:{},tab:"nav",subTab:"set",draggingRowIndex:null,activeMenu:"",showPopupMenuList:!1,instances:[],popupMenuOpen:!1,themeName:"light",themeType:"light",unUsedTrigger:[],usedTrigger:[],triggerObject:{},showTriggerInfo:!1,showDropBox:!1,doubleTrigger:[],connectionReady:!1,dropBoxTop:105,dropBoxRight:5,dropDifferenzX:0,dropDifferenzY:0,copyDataObject:{targetCheckboxes:{},targetActionName:""}},this.setState=this.setState.bind(this)}componentDidMount(){RT(this.newX,this.newY,this.dropBoxRef,this.state.showDropBox,this.state.native.dropbox),window.addEventListener("resize",this.handleResize)}componentWillUnmount(){window.removeEventListener("resize",this.handleResize)}async componentDidUpdate(r,o){if(o.native.instance!==this.state.native.instance&&this.state.connectionReady&&await this.getUsersFromTelegram(),(o.native.data!==this.state.native.data||o.activeMenu!==this.state.activeMenu)&&this.state.activeMenu&&this.state.activeMenu!=""&&DB(this.state.activeMenu,this.setState,this.state.native.data,this.state.native.usersInGroup),o.native.usersInGroup!==this.state.native.usersInGroup&&this.updateNativeValue("usersInGroup",RB(this.state.native.usersInGroup)),o.usedTrigger!==this.state.usedTrigger&&this.setState({doubleTrigger:jie(this.state.usedTrigger)}),(o.native.dropbox!==this.state.native.dropbox||this.state.showDropBox!==o.showDropBox)&&RT(this.newX,this.newY,this.dropBoxRef,this.state.showDropBox,this.state.native.dropbox),o.dropDifferenzX!==this.state.dropDifferenzX||o.dropDifferenzY!==this.state.dropDifferenzY){let{newX:a,newY:n}=aie(this.state.native.dropbox,this.state.dropDifferenzX,this.state.dropDifferenzY);this.newX=a,this.newY=n;let s={dropboxRight:a,dropboxTop:n};this.updateNativeValue("dropbox",s),RT(this.newX,this.newY,this.dropBoxRef,this.state.showDropBox,this.state.native.dropbox)}}async onConnectionReady(){hne(this.state.native.data,this.updateNativeValue.bind(this)),this.updateNativeValue("usersInGroup",RB(this.state.native.usersInGroup)),await this.getUsersFromTelegram(),await AB.getAllTelegramInstances(this.socket,o=>{this.setState({instances:o})});let r=Lie(this.state.native.usersInGroup);this.setState({activeMenu:r}),DB(r,this.setState,this.state.native.data,this.state.native.usersInGroup),this.setState({connectionReady:!0})}async getUsersFromTelegram(){await AB.getUsersFromTelegram(this.socket,this.state.native.instance||"telegram.0",r=>{this.state.native.instance?this.updateNativeValue("userListWithChatID",ene(r)):this.updateNativeValue("instance","telegram.0")})}render(){return this.state.loaded?Dl.default.createElement("div",{className:`App row relative ${this.props.themeName}`},Dl.default.createElement(Bie,null,Dl.default.createElement(tr,{container:!0,spacing:1},Dl.default.createElement(Mie,{common:this.common,native:this.state.native,onError:r=>this.setState({errorText:r.toString()}),onLoad:r=>this.onLoadConfig(r),instance:this.instance,adapterName:this.adapterName,changed:this.state.changed,onChange:(r,o,a)=>this.updateNativeValue(r,o,a)}),Dl.default.createElement(Pie,{callback:{setStateApp:this.setState,updateNative:(r,o,a)=>this.updateNativeValue(r,o,a)},data:{state:this.state,adapterName:this.adapterName,socket:this.socket}})),this.state.showDropBox?Dl.default.createElement(Aie,{data:{state:this.state,dropBoxRef:this.dropBoxRef},callback:{setStateApp:this.setState,updateNative:(r,o,a)=>this.updateNativeValue(r,o,a)}}):null,this.state.showTriggerInfo?Dl.default.createElement(Iie,{state:this.state,callback:{setState:this.setState,updateNative:(r,o,a)=>this.updateNativeValue(r,o,a)}}):null,this.state.doubleTrigger.length>0?Dl.default.createElement(Rie,{state:this.state}):null,this.renderError(),this.renderToast(),this.renderSaveCloseButtons())):super.render()}},Yie=eL;var tL=ve.getThemeName();function Qie(){Zie.default.render(rL.default.createElement(Z0,{theme:tp(tL)},rL.default.createElement(Yie,{onThemeChange:e=>{tL=e,Qie()},themeName:tL})),document.getElementById("root"))}Qie();})(); +`),C.default.createElement(v2,null,this.getToolbar()),C.default.createElement(y2,null,this.renderHeader(),C.default.createElement("div",{style:H.tableDiv,ref:this.tableRef,onKeyDown:a=>this.navigateKeyPress(a)},o)),this.renderContextMenu(),this.renderAliasMenu(),this.renderToast(),this.renderColumnsEditCustomDialog(),this.renderColumnsSelectorDialog(),this.renderCustomDialog(),this.renderEditValueDialog(),this.renderEditObjectDialog(),this.renderViewObjectFileDialog(),this.renderAliasEditorDialog(),this.renderEditRoleDialog(),this.renderEnumDialog(),this.renderErrorDialog(),this.renderExportDialog(),this.state.modalNewObj&&this.props.modalNewObject&&this.props.modalNewObject(this),this.state.modalEditOfAccess&&this.state.modalEditOfAccessObjData&&this.props.modalEditOfAccessControl&&this.props.modalEditOfAccessControl(this,this.state.modalEditOfAccessObjData))}};J0=new WeakMap,QM(ti,J0,["0_userdata.0.","alias.0."]);var K0=ti,E2=Fl()(K0);var V=y(D());var xe={hr:{border:0,borderTop:"1px solid gray"},scrollWindow:{width:"100%",overflow:"auto",height:"calc(100% - 22px)"},rowDiv:{width:"100%"},modeDiv:{width:200,display:"inline-block",verticalAlign:"top"},settingsDiv:{display:"inline-block",verticalAlign:"top"},inputTime:{width:90,marginTop:0,marginLeft:5},inputDate:{width:140,marginTop:0,marginLeft:5},inputEvery:{width:40,marginLeft:5,marginRight:5},inputRadio:{padding:"4px 12px",verticalAlign:"top"},inputGroup:{maxWidth:400,display:"inline-block"},inputGroupElement:{width:120},inputDateDay:{width:60},inputDateDayCheck:{padding:4},inputSmallCheck:{padding:0},rowOnce:{},rowDays:e=>({background:e.palette.mode!=="dark"?"#ddeaff":"#4b5057"}),rowDows:e=>({background:e.palette.mode!=="dark"?"#DDFFDD":"#52646c"}),rowDates:e=>({background:e.palette.mode!=="dark"?"#DDDDFF":"#747a86"}),rowWeeks:e=>({background:e.palette.mode!=="dark"?"#DDDDFF":"#717680"}),rowMonths:e=>({background:e.palette.mode!=="dark"?"#DDFFFF":"#1f5557"}),rowMonthsDates:e=>({background:e.palette.mode!=="dark"?"#EEFFFF":"#3c5737",maxWidth:600}),rowYears:e=>({background:e.palette.mode!=="dark"?"#fbffdd":"#574b33"}),rowDaysDows:e=>({background:e.palette.mode!=="dark"?"#EEEAFF":"#573544",pl:"10px",pb:"10px"}),rowDowsDows:e=>({background:e.palette.mode!=="dark"?"#EEFFEE":"#3d4c54",pl:"10px",pb:"10px"})},P2=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],X0=["January","February","March","April","May","June","July","August","September","October","November","December"],R2={minutes:"minutes",hours:"hours"},xv=["sunrise","sunriseEnd","goldenHourEnd","solarNoon","goldenHour","sunsetStart","sunset","dusk","nauticalDusk","night","nightEnd","nauticalDawn","dawn","nadir"];function jl(e){return e<10?`0${e}`:`${e}`}var FY={time:{exactTime:!1,start:"00:00",end:"23:59",mode:"hours",interval:1},period:{once:"",days:1,dows:"",dates:"",weeks:0,months:"",years:0,yearMonth:0,yearDate:0},valid:{from:"",to:""}};function D2(e){let t=e.split(".");return t.length===3?`${t[2]}-${t[1]}-${t[0]}`:""}var gv=class e extends V.Component{constructor(r){super(r);A(this,"refFrom");A(this,"refTo");A(this,"refOnce");A(this,"timerOnce",null);A(this,"timerFrom",null);A(this,"timerTo",null);let o;if(this.props.schedule&&typeof this.props.schedule=="string"&&this.props.schedule[0]==="{")try{o=JSON.parse(this.props.schedule)}catch(a){}else typeof this.props.schedule=="object"&&(o=this.props.schedule);(!o||!Object.keys(o).length)&&(setTimeout(()=>this.onChange(this.state.schedule,!0),200),o=FY),o={...FY,...o},o.valid.from=o.valid.from||e.now2string(),this.refFrom=V.default.createRef(),this.refTo=V.default.createRef(),this.refOnce=V.default.createRef(),this.state={schedule:o,desc:e.state2text(o)},JSON.stringify(o)!==this.props.schedule&&setTimeout(()=>this.props.onChange&&this.props.onChange(JSON.stringify(o)),100)}onChange(r,o){let a=JSON.stringify(r)!==JSON.stringify(this.state.schedule);if(o||a){a&&this.setState({schedule:r,desc:e.state2text(r)});let n=JSON.parse(JSON.stringify(r));if(n.period.once){let s=n.period.once;delete n.period,n.period={once:s},delete n.valid}else if(n.period.days){let s=n.period.days,i=n.period.dows;delete n.period,n.period={days:s},i&&i!=="[]"&&(n.period.dows=i)}else if(n.period.weeks){let s=n.period.weeks,i=n.period.dows;delete n.period,n.period={weeks:s},i&&i!=="[]"&&(n.period.dows=i)}else if(n.period.months){let s=n.period.months,i=n.period.dates;delete n.period,n.period={months:s},i&&i!=="[]"&&(n.period.dates=i)}else if(n.period.years){let s=n.period.years,i=n.period.yearMonth,p=n.period.yearDate;delete n.period,n.period={years:s,yearDate:p},i&&(n.period.yearMonth=i)}if(n.time.exactTime?(delete n.time.end,delete n.time.mode,delete n.time.interval):delete n.time.exactTime,n.valid){if(n.valid.to||delete n.valid.to,n.period.days===1||n.period.weeks===1||n.period.months===1||n.period.years===1){let s=e.string2date(n.valid.from),i=new Date;i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),s<=i&&delete n.valid.from}!n.valid.from&&!n.valid.to&&delete n.valid}this.props.onChange&&this.props.onChange(JSON.stringify(n),e.state2text(r))}}static state2text(r){if(typeof r=="string")try{r=JSON.parse(r)}catch(n){return""}let o=[],a=e.string2date(r.valid.from);if(r.period.once){let n=e.string2date(r.period.once),s=new Date;if(s.setMilliseconds(0),s.setSeconds(0),s.setMinutes(0),s.setHours(0),nR.t(P2[i]));if(s.length===1)o.push(R.t("sch_desc_onWeekday",s[0]));else if(s.length===7)o.push(R.t("sch_desc_everyDay"));else{let i=s.pop();o.push(R.t("sch_desc_onWeekdays",s.join(", "),i))}}}else o.push(R.t("sch_desc_everyDay"));else o.push(R.t("sch_desc_everyNDay",r.period.days.toString()));else if(r.period.weeks)if(r.period.weeks===1?o.push(R.t("sch_desc_everyWeek")):o.push(R.t("sch_desc_everyNWeeks",r.period.weeks.toString())),r.period.dows){let n=JSON.parse(r.period.dows);if(n.length===2&&n[0]===0&&n[1]===6)o.push(R.t("sch_desc_onWeekends"));else if(n.length===5&&n[0]===1&&n[1]===2&&n[2]===3&&n[3]===4&&n[4]===5)o.push(R.t("sch_desc_onWorkdays"));else{let s=n.map(i=>R.t(P2[i]));if(s.length===1)o.push(R.t("sch_desc_onWeekday",s[0]));else if(s.length===7)o.push(R.t("sch_desc_everyDay"));else{let i=s.pop();o.push(R.t("sch_desc_onWeekdays",s.join(", "),i))}}}else return R.t("sch_desc_never");else if(r.period.months){if(r.period.dates){let n=JSON.parse(r.period.dates);if(n.length===1)o.push(R.t("sch_desc_onDate",n[0]));else if(n.length===31)o.push(R.t("sch_desc_onEveryDate"));else if(n.length){let s=n.pop();o.push(R.t("sch_desc_onDates",n.join(", "),s))}else return R.t("sch_desc_never")}else o.push(R.t("sch_desc_onEveryDate"));if(r.period.months===1)o.push(R.t("sch_desc_everyMonth"));else if(typeof r.period.months=="number")o.push(R.t("sch_desc_everyNMonths",r.period.months.toString()));else{let s=JSON.parse(r.period.months).map(i=>R.t(X0[i-1]));if(!s.length)return R.t("sch_desc_never");if(s.length===1)o.push(R.t("sch_desc_onMonth",s[0]));else if(s.length===12)o.push(R.t("sch_desc_everyMonth"));else{let i=s.pop();o.push(R.t("sch_desc_onMonths",s.join(", "),i))}}}else r.period.years&&(r.period.years===1?o.push(R.t("sch_desc_everyYear")):o.push(R.t("sch_desc_everyNYears",r.period.years.toString())),o.push(R.t("sch_desc_onDate",r.period.yearDate.toString(),r.period.yearMonth?R.t(X0[r.period.yearMonth-1]):R.t("sch_desc_everyMonth"))));if(r.time.exactTime)xv.includes(r.time.start)?o.push(R.t("sch_desc_atTime",R.t(`sch_astro_${r.time.start}`))):o.push(R.t("sch_desc_atTime",r.time.start));else{r.time.mode===R2.minutes?r.time.interval===1?o.push(R.t("sch_desc_everyMinute")):o.push(R.t("sch_desc_everyNMinutes",r.time.interval.toString())):r.time.interval===1?o.push(R.t("sch_desc_everyHour")):o.push(R.t("sch_desc_everyNHours",r.time.interval.toString()));let n=xv.indexOf(r.time.start)!==-1?R.t(`sch_astro_${r.time.start}`):r.time.start,s=xv.indexOf(r.time.end)!==-1?R.t(`sch_astro_${r.time.end}`):r.time.end;(n!=="00:00"||s!=="24:00"&&s!=="23:59")&&o.push(R.t("sch_desc_intervalFromTo",n,s))}return r.period.once||(a.getTime()>Date.now()&&r.valid.to?o.push(R.t("sch_desc_validFromTo",r.valid.from,r.valid.to)):a.getTime()>Date.now()?o.push(R.t("sch_desc_validFrom",r.valid.from)):r.valid.to&&o.push(R.t("sch_desc_validTo",r.valid.to))),o.join(" ")}getTimePeriodElements(){let r=this.state.schedule,o=!1,a=!1,n=!1,s=!0;return r.time.start==="00:00"&&r.time.end==="24:00"?(o=!0,s=!1):r.time.start==="sunrise"?(a=!0,s=!1):r.time.start==="sunset"&&(n=!0,s=!1),V.default.createElement("div",{key:"timePeriod",style:xe.rowDiv},V.default.createElement("div",{style:xe.modeDiv},V.default.createElement(Ke,{control:V.default.createElement(Pt,{style:xe.inputRadio,checked:!r.time.exactTime,onClick:()=>{let i=JSON.parse(JSON.stringify(this.state.schedule));i.time.exactTime=!1,this.onChange(i)}}),label:R.t("sch_intervalTime")})),V.default.createElement("div",{style:xe.settingsDiv},V.default.createElement("div",{style:xe.settingsDiv},!r.time.exactTime&&V.default.createElement("div",null,V.default.createElement("div",null,V.default.createElement(Ke,{control:V.default.createElement(Pt,{style:xe.inputRadio,checked:!!s,onClick:()=>{let i=JSON.parse(JSON.stringify(this.state.schedule));i.time.start="00:00",i.time.end="23:59",this.onChange(i)}}),label:s?"":R.t("sch_fromTo")}),s&&[V.default.createElement(vr,{variant:"standard",style:{...xe.inputTime,marginRight:10},key:"exactTimeFrom",type:"time",sx:i=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:i.palette.mode==="dark"?"invert(80%)":void 0}}),value:this.state.schedule.time.start,onChange:i=>{let p=JSON.parse(JSON.stringify(this.state.schedule));p.time.start=i.target.value,this.onChange(p)},slotProps:{inputLabel:{shrink:!0}},label:R.t("sch_from"),margin:"normal"}),V.default.createElement(vr,{variant:"standard",style:xe.inputTime,key:"exactTimeTo",type:"time",sx:i=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:i.palette.mode==="dark"?"invert(80%)":void 0}}),value:this.state.schedule.time.end,onChange:i=>{let p=JSON.parse(JSON.stringify(this.state.schedule));p.time.end=i.target.value,this.onChange(p)},slotProps:{inputLabel:{shrink:!0}},label:R.t("sch_to"),margin:"normal"})])),!r.time.exactTime&&V.default.createElement("div",null,V.default.createElement(Ke,{control:V.default.createElement(Pt,{style:xe.inputRadio,checked:!!o,onClick:()=>{let i=JSON.parse(JSON.stringify(this.state.schedule));i.time.start="00:00",i.time.end="24:00",this.onChange(i)}}),label:R.t("sch_wholeDay")})),!r.time.exactTime&&V.default.createElement("div",null,V.default.createElement(Ke,{control:V.default.createElement(Pt,{style:xe.inputRadio,checked:!!a,onClick:()=>{let i=JSON.parse(JSON.stringify(this.state.schedule));i.time.start="sunrise",i.time.end="sunset",this.onChange(i)}}),label:R.t("sch_astroDay")})),!r.time.exactTime&&V.default.createElement("div",null,V.default.createElement(Ke,{control:V.default.createElement(Pt,{style:xe.inputRadio,checked:!!n,onClick:()=>{let i=JSON.parse(JSON.stringify(this.state.schedule));i.time.start="sunset",i.time.end="sunrise",this.onChange(i)}}),label:R.t("sch_astroNight")}))),!r.time.exactTime&&this.getPeriodSettingsMinutes(s)))}getTimeExactElements(){let r=xv.includes(this.state.schedule.time.start);return V.default.createElement("div",{key:"timeExact",style:xe.rowDiv},V.default.createElement("div",{style:xe.modeDiv},V.default.createElement(Ke,{control:V.default.createElement(Pt,{style:xe.inputRadio,checked:!!this.state.schedule.time.exactTime,onClick:()=>{let o=JSON.parse(JSON.stringify(this.state.schedule));o.time.exactTime=!0,this.onChange(o)}}),label:R.t("sch_exactTime")})),this.state.schedule.time.exactTime&&V.default.createElement(ea,{variant:"standard",value:r?this.state.schedule.time.start:"00:00",onChange:o=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.time.start=o.target.value,this.onChange(a)}},V.default.createElement(Mt,{key:"specific",value:"00:00"},R.t("sch_specificTime")),xv.map(o=>V.default.createElement(Mt,{key:o,value:o},R.t(`sch_astro_${o}`)))),this.state.schedule.time.exactTime&&!r&&V.default.createElement("div",{style:xe.settingsDiv},V.default.createElement(vr,{variant:"standard",style:xe.inputTime,key:"exactTimeValue",value:this.state.schedule.time.start,type:"time",sx:o=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:o.palette.mode==="dark"?"invert(80%)":void 0}}),onChange:o=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.time.start=o.target.value,this.onChange(a)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}static getDivider(){return V.default.createElement("hr",{style:xe.hr})}getPeriodModes(){let r=this.state.schedule,o=!r.period.dows&&!r.period.months&&!r.period.dates&&!r.period.years&&!r.period.days&&!r.period.weeks;return o&&!r.period.once&&(r.period.once=e.now2string(!0)),[V.default.createElement("div",{key:"once",style:{...xe.rowDiv,...xe.rowOnce}},V.default.createElement("div",{style:xe.modeDiv},V.default.createElement(Ke,{control:V.default.createElement(Pt,{style:xe.inputRadio,checked:!!o,onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.once=a.period.once||e.now2string(!0),a.period.dows="",a.period.months="",a.period.dates="",a.period.years=0,a.period.yearDate=0,a.period.yearMonth=0,a.period.weeks=0,a.period.days=0,this.onChange(a)}}),label:R.t("sch_periodOnce")})),o&&V.default.createElement("div",{style:xe.settingsDiv},V.default.createElement(vr,{variant:"standard",style:xe.inputDate,type:"date",ref:this.refOnce,key:"exactDateAt",defaultValue:D2(r.period.once),onChange:a=>{this.timerOnce&&clearTimeout(this.timerOnce),this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="#ff000030"),this.timerOnce=setTimeout(n=>{this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="");let s=JSON.parse(JSON.stringify(this.state.schedule)),i=e.string2date(n);i.toString()!=="Invalid Date"&&(s.period.once=`${jl(i.getDate())}.${jl(i.getMonth()+1)}.${i.getFullYear()}`,this.onChange(s))},1500,a.target.value)},slotProps:{inputLabel:{shrink:!0}},label:R.t("sch_at"),margin:"normal"}))),V.default.createElement(Le,{component:"div",key:"days",sx:ve.getStyle(this.props.theme,xe.rowDiv,xe.rowDays)},V.default.createElement("div",{style:xe.modeDiv},V.default.createElement(Ke,{control:V.default.createElement(Pt,{style:xe.inputRadio,checked:!!r.period.days,onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.days=1,a.period.dows="",a.period.months="",a.period.dates="",a.period.years=0,a.period.yearDate=0,a.period.yearMonth=0,a.period.weeks=0,a.period.once="",this.onChange(a)}}),label:R.t("sch_periodDaily")})),V.default.createElement("div",{style:xe.settingsDiv},this.getPeriodSettingsDaily(),r.period.days?this.getPeriodSettingsWeekdays():null)),V.default.createElement(Le,{component:"div",key:"weeks",sx:ve.getStyle(this.props.theme,xe.rowDiv,xe.rowDows)},V.default.createElement("div",{style:xe.modeDiv},V.default.createElement(Ke,{control:V.default.createElement(Pt,{style:xe.inputRadio,checked:!!r.period.weeks,onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.weeks=r.period.weeks?0:1,a.period.dows=r.period.dows||"[0]",a.period.months="",a.period.dates="",a.period.years=0,a.period.yearDate=0,a.period.yearMonth=0,a.period.days=0,a.period.once="",this.onChange(a)}}),label:R.t("sch_periodWeekly")})),V.default.createElement(Le,{component:"div",style:xe.settingsDiv},V.default.createElement("div",{style:xe.settingsDiv},this.getPeriodSettingsWeekly()),V.default.createElement(Le,{component:"div",sx:ve.getStyle(this.props.theme,xe.settingsDiv,xe.rowDowsDows)},this.state.schedule.period.weeks?this.getPeriodSettingsWeekdays():null))),V.default.createElement(Le,{component:"div",key:"months",sx:ve.getStyle(this.props.theme,xe.rowDiv,xe.rowMonths)},V.default.createElement("div",{style:xe.modeDiv},V.default.createElement(Ke,{control:V.default.createElement(Pt,{style:xe.inputRadio,checked:!!r.period.months,onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.months=1,a.period.dows="",a.period.dates="",a.period.years=0,a.period.yearDate=0,a.period.yearMonth=0,a.period.weeks=0,a.period.days=0,a.period.once="",this.onChange(a)}}),label:R.t("sch_periodMonthly")})),V.default.createElement("div",{style:xe.settingsDiv},this.getPeriodSettingsMonthly(),r.period.months?V.default.createElement(Le,null,V.default.createElement(Le,{component:"div",sx:ve.getStyle(this.props.theme,xe.settingsDiv,xe.rowMonthsDates)},V.default.createElement(Ke,{control:V.default.createElement(jt,{style:xe.inputRadio,checked:!!r.period.dates,onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.months=a.period.months||1;let n=[];for(let s=1;s<=31;s++)n.push(s);a.period.dates=a.period.dates||JSON.stringify(n),a.period.dows="",a.period.years=0,a.period.yearDate=0,a.period.yearMonth=0,a.period.weeks=0,a.period.days=0,a.period.once="",this.onChange(a)}}),label:R.t("sch_periodDates")})),V.default.createElement(Le,{component:"div",sx:ve.getStyle(this.props.theme,xe.settingsDiv,xe.rowMonthsDates)},this.getPeriodSettingsDates())):null)),V.default.createElement(Le,{component:"div",key:"years",sx:ve.getStyle(this.props.theme,xe.rowDiv,xe.rowYears)},V.default.createElement("div",{style:xe.modeDiv},V.default.createElement(Ke,{control:V.default.createElement(Pt,{style:xe.inputRadio,checked:!!r.period.years,onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.years=1,a.period.yearDate=1,a.period.yearMonth=1,a.period.dows="",a.period.months=0,a.period.dates="",a.period.weeks=0,a.period.days=0,a.period.once="",this.onChange(a)}}),label:R.t("sch_periodYearly")})),V.default.createElement("div",{style:xe.settingsDiv},V.default.createElement("div",{style:xe.settingsDiv},this.getPeriodSettingsYearly()),!!r.period.years&&V.default.createElement("div",{style:xe.settingsDiv},V.default.createElement("span",null,R.t("sch_on")),V.default.createElement(Zo,{key:"input",value:this.state.schedule.period.yearDate,style:xe.inputEvery,type:"number",inputProps:{min:1,max:31},onChange:a=>{let n=JSON.parse(JSON.stringify(this.state.schedule));n.period.yearDate=parseInt(a.target.value,10),n.period.yearDate<1&&(n.period.yearDate=31),n.period.yearDate>31&&(n.period.yearDate=1),this.onChange(n)}}),V.default.createElement(ea,{variant:"standard",value:r.period.yearMonth,onChange:a=>{let n=JSON.parse(JSON.stringify(this.state.schedule));n.period.yearMonth=a.target.value,this.onChange(n)}},V.default.createElement(Mt,{key:"every",value:0},R.t("sch_yearEveryMonth")),X0.map((a,n)=>V.default.createElement(Mt,{key:a,value:n+1},R.t(a)))))))]}getPeriodSettingsMinutes(r){return V.default.createElement("div",{style:{display:"inline-block",marginTop:r?15:"inherit"}},V.default.createElement("label",{style:{marginLeft:4,marginRight:4}},R.t("sch_every")),V.default.createElement(Zo,{value:this.state.schedule.time.interval,style:{...xe.inputEvery,verticalAlign:"bottom"},type:"number",inputProps:{min:1},onChange:o=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.time.interval=parseInt(o.target.value,10),this.onChange(a)}}),V.default.createElement(ea,{variant:"standard",value:this.state.schedule.time.mode,onChange:o=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.time.mode=o.target.value,this.onChange(a)}},V.default.createElement(Mt,{value:R2.minutes},R.t("sch_periodMinutes")),V.default.createElement(Mt,{value:R2.hours},R.t("sch_periodHours"))))}getPeriodSettingsWeekdays(){let r=this.state.schedule,o=r.period.dows&&r.period.dows!=="[1, 2, 3, 4, 5]"&&r.period.dows!=="[0, 6]";return[V.default.createElement("div",{key:"workdays"},V.default.createElement(Ke,{control:V.default.createElement(Pt,{style:xe.inputRadio,checked:r.period.dows==="[1, 2, 3, 4, 5]",onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.dows="[1, 2, 3, 4, 5]",a.period.days&&(a.period.days=1),this.onChange(a)}}),label:R.t("sch_periodWorkdays")})),V.default.createElement("div",{key:"weekend"},V.default.createElement(Ke,{control:V.default.createElement(Pt,{style:xe.inputRadio,checked:r.period.dows==="[0, 6]",onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.dows="[0, 6]",a.period.days&&(a.period.days=1),this.onChange(a)}}),label:R.t("sch_periodWeekend")})),V.default.createElement("div",{key:"specific",style:{verticalAlign:"top"}},V.default.createElement(Ke,{style:{verticalAlign:"top"},control:V.default.createElement(Pt,{style:xe.inputRadio,checked:!!o,onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.dows="[0, 1, 2, 3, 4, 5, 6]",a.period.days&&(a.period.days=1),this.onChange(a)}}),label:R.t("sch_periodWeekdays")}),o&&(r.period.days===1||r.period.weeks)&&V.default.createElement(Pm,{row:!0,style:{...xe.inputGroup,width:150}},[1,2,3,4,5,6,0].map(a=>V.default.createElement(Ke,{key:`specific_${a}`,style:xe.inputGroupElement,control:V.default.createElement(jt,{style:xe.inputSmallCheck,checked:r.period.dows.includes(a.toString()),onChange:n=>{let s=JSON.parse(JSON.stringify(this.state.schedule)),i;try{i=JSON.parse(s.period.dows)}catch(p){i=[]}n.target.checked&&!i.includes(a)?i.push(a):!n.target.checked&&i.includes(a)&&i.splice(i.indexOf(a),1),i.sort((p,l)=>p-l),s.period.dows=JSON.stringify(i),s.period.days&&(s.period.days=1),this.onChange(s)}}),label:R.t(P2[a])}))))]}getPeriodSettingsDaily(){if(!this.state.schedule.period.days)return null;let r=this.state.schedule;return[V.default.createElement("div",{key:"every_day"},V.default.createElement(Ke,{control:V.default.createElement(Pt,{style:xe.inputRadio,checked:r.period.days===1&&!r.period.dows,onClick:()=>{let o=JSON.parse(JSON.stringify(this.state.schedule));o.period.days=1,o.period.dows="",this.onChange(o)}}),label:R.t("sch_periodEveryDay")})),V.default.createElement("div",{key:"everyN_day"},V.default.createElement(Ke,{control:V.default.createElement(Pt,{style:xe.inputRadio,checked:r.period.days>1,onClick:()=>{let o=JSON.parse(JSON.stringify(this.state.schedule));o.period.days=2,o.period.dows="",this.onChange(o)}}),label:R.t("sch_periodEvery")}),r.period.days>1&&[V.default.createElement(Zo,{key:"input",value:this.state.schedule.period.days,style:xe.inputEvery,type:"number",inputProps:{min:2},onChange:o=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.days=parseInt(o.target.value,10),a.period.dows="",this.onChange(a)}}),V.default.createElement("span",{key:"span",style:{paddingRight:10}},R.t("sch_periodDay"))])]}getPeriodSettingsWeekly(){if(!this.state.schedule.period.weeks)return null;let r=this.state.schedule;return[V.default.createElement("div",{key:"radios",style:{display:"inline-block",verticalAlign:"top"}},V.default.createElement("div",null,V.default.createElement(Ke,{control:V.default.createElement(Pt,{style:xe.inputRadio,checked:r.period.weeks===1,onClick:()=>{let o=JSON.parse(JSON.stringify(this.state.schedule));o.period.weeks=1,this.onChange(o)}}),label:R.t("sch_periodEveryWeek")})),V.default.createElement("div",null,V.default.createElement(Ke,{control:V.default.createElement(Pt,{style:xe.inputRadio,checked:r.period.weeks>1,onClick:()=>{let o=JSON.parse(JSON.stringify(this.state.schedule));o.period.weeks=2,this.onChange(o)}}),label:R.t("sch_periodEvery")}),r.period.weeks>1&&[V.default.createElement(Zo,{key:"input",value:this.state.schedule.period.weeks,style:xe.inputEvery,type:"number",inputProps:{min:2},onChange:o=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.weeks=parseInt(o.target.value,10),this.onChange(a)}}),V.default.createElement("span",{key:"text"},R.t("sch_periodWeek"))]))]}getPeriodSettingsDates(){if(!this.state.schedule.period.dates)return null;let r=this.state.schedule,o=[];for(let n=1;n<=31;n++)o.push(n);let a=JSON.parse(r.period.dates);return V.default.createElement(Pm,{row:!0,style:{...xe.inputGroup,maxWidth:620}},V.default.createElement(Ke,{style:xe.inputDateDay,control:V.default.createElement(jt,{style:xe.inputDateDayCheck,checked:a.length===31,onChange:()=>{let n=JSON.parse(JSON.stringify(this.state.schedule)),s=[];for(let i=1;i<=31;i++)s.push(i);n.period.dates=JSON.stringify(s),this.onChange(n)}}),label:R.t("sch_all")}),V.default.createElement(Ke,{style:xe.inputDateDay,control:V.default.createElement(jt,{style:xe.inputDateDayCheck,checked:!a.length,onChange:()=>{let n=JSON.parse(JSON.stringify(this.state.schedule));n.period.dates="[]",this.onChange(n)}}),label:R.t("sch_no_one")}),a.length!==31&&!!a.length&&V.default.createElement(Ke,{style:xe.inputDateDay,control:V.default.createElement(jt,{style:xe.inputDateDayCheck,checked:!1,onChange:()=>{let n=JSON.parse(JSON.stringify(this.state.schedule)),s=[],i=JSON.parse(n.period.dates);for(let p=1;p<=31;p++)i.includes(p)||s.push(p);s.sort((p,l)=>p-l),n.period.dates=JSON.stringify(s),this.onChange(n)}}),label:R.t("sch_invert")}),V.default.createElement("div",null),o.map(n=>V.default.createElement(Ke,{key:`date_${n}`,style:n?xe.inputDateDay:{...xe.inputDateDay,opacity:0,cursor:"default",userSelect:"none",pointerEvents:"none"},control:V.default.createElement(jt,{style:xe.inputDateDayCheck,checked:JSON.parse(r.period.dates).includes(n),onChange:s=>{let i=JSON.parse(JSON.stringify(this.state.schedule)),p;try{p=JSON.parse(i.period.dates)}catch(l){p=[]}s.target.checked&&!p.includes(n)?p.push(n):!s.target.checked&&p.includes(n)&&p.splice(p.indexOf(n),1),p.sort((l,d)=>l-d),i.period.dates=JSON.stringify(p),this.onChange(i)}}),label:n<10?[V.default.createElement("span",{key:"0",style:{opacity:0}},"0"),V.default.createElement("span",{key:"num"},n)]:n})))}getPeriodSettingsMonthly(){if(!this.state.schedule.period.months)return null;let r=this.state.schedule,o=typeof r.period.months=="string"?JSON.parse(r.period.months):[];return[V.default.createElement("div",{key:"every"},V.default.createElement(Ke,{control:V.default.createElement(Pt,{style:xe.inputRadio,checked:typeof r.period.months=="number"&&r.period.months===1,onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.months=1,this.onChange(r)}}),label:R.t("sch_periodEveryMonth")})),V.default.createElement("div",{key:"everyN"},V.default.createElement(Ke,{control:V.default.createElement(Pt,{style:xe.inputRadio,checked:typeof r.period.months=="number"&&r.period.months>1,onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.months=2,this.onChange(a)}}),label:R.t("sch_periodEvery")}),typeof r.period.months=="number"&&r.period.months>1&&[V.default.createElement(Zo,{key:"input",value:r.period.months,style:xe.inputEvery,type:"number",inputProps:{min:2},onChange:a=>{let n=JSON.parse(JSON.stringify(this.state.schedule));n.period.months=parseInt(a.target.value,10),n.period.months<1&&(n.period.months=1),this.onChange(n)}}),V.default.createElement("span",{key:"text"},R.t("sch_periodMonth"))]),V.default.createElement("div",{key:"specific",style:{verticalAlign:"top"}},V.default.createElement(Ke,{style:{verticalAlign:"top"},control:V.default.createElement(Pt,{style:xe.inputRadio,checked:typeof r.period.months=="string",onClick:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.months="[1,2,3,4,5,6,7,8,9,10,11,12]",this.onChange(a)}}),label:R.t("sch_periodSpecificMonths")}),typeof r.period.months=="string"&&V.default.createElement(Pm,{row:!0,style:xe.inputGroup},V.default.createElement(Ke,{style:xe.inputDateDay,control:V.default.createElement(jt,{style:xe.inputDateDayCheck,checked:o.length===12,onChange:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule)),n=[];for(let s=1;s<=12;s++)n.push(s);a.period.months=JSON.stringify(n),this.onChange(a)}}),label:R.t("sch_all")}),V.default.createElement(Ke,{style:xe.inputDateDay,control:V.default.createElement(jt,{style:xe.inputDateDayCheck,checked:!o.length,onChange:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.months="[]",this.onChange(a)}}),label:R.t("sch_no_one")}),o.length!==12&&!!o.length&&V.default.createElement(Ke,{style:xe.inputDateDay,control:V.default.createElement(jt,{style:xe.inputDateDayCheck,checked:!1,onChange:()=>{let a=JSON.parse(JSON.stringify(this.state.schedule)),n=[],s=JSON.parse(a.period.months);for(let i=1;i<=12;i++)s.includes(i)||n.push(i);n.sort((i,p)=>i-p),a.period.months=JSON.stringify(n),this.onChange(a)}}),label:R.t("sch_invert")}),V.default.createElement("div",null),X0.map((a,n)=>V.default.createElement(Ke,{key:`month_${n}`,style:xe.inputGroupElement,control:V.default.createElement(jt,{style:xe.inputSmallCheck,checked:typeof r.period.months=="string"?JSON.parse(r.period.months).includes(n+1):r.period.months===n,onChange:s=>{let i=JSON.parse(JSON.stringify(this.state.schedule)),p;try{p=JSON.parse(i.period.months)}catch(l){p=[]}s.target.checked&&!p.includes(n+1)?p.push(n+1):!s.target.checked&&p.includes(n+1)&&p.splice(p.indexOf(n+1),1),p.sort((l,d)=>l-d),i.period.months=JSON.stringify(p),this.onChange(i)}}),label:R.t(a)}))))]}getPeriodSettingsYearly(){if(!this.state.schedule.period.years)return null;let r=this.state.schedule;return[V.default.createElement("div",{key:"year"},V.default.createElement(Ke,{control:V.default.createElement(Pt,{style:xe.inputRadio,checked:r.period.years===1,onClick:()=>{let o=JSON.parse(JSON.stringify(this.state.schedule));o.period.years=1,this.onChange(o)}}),label:R.t("sch_periodEveryYear")})),V.default.createElement("div",{key:"every"},V.default.createElement(Ke,{control:V.default.createElement(Pt,{style:xe.inputRadio,checked:r.period.years>1,onClick:()=>{let o=JSON.parse(JSON.stringify(this.state.schedule));o.period.years=2,this.onChange(o)}}),label:R.t("sch_periodEvery")}),r.period.years>1&&[V.default.createElement(Zo,{key:"input",value:this.state.schedule.period.years,style:xe.inputEvery,type:"number",inputProps:{min:2},onChange:o=>{let a=JSON.parse(JSON.stringify(this.state.schedule));a.period.years=parseInt(o.target.value,10),a.period.years<1&&(a.period.years=1),this.onChange(a)}}),V.default.createElement("span",{key:"text"},R.t("sch_periodYear"))])]}static now2string(r){let o=new Date;return o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0),r&&(o.setDate(o.getDate()+2),o.setMilliseconds(o.getMilliseconds()-1)),`${jl(o.getDate())}.${jl(o.getMonth()+1)}.${jl(o.getFullYear())}`}static string2date(r){let o=r.split(".");return o.length===1?(o=r.split("-"),new Date(parseInt(o[0],10),parseInt(o[1],10)-1,parseInt(o[2],10))):new Date(parseInt(o[2],10),parseInt(o[1],10)-1,parseInt(o[0],10))}getValidSettings(){let r=this.state.schedule;return V.default.createElement("div",{style:xe.rowDiv},V.default.createElement("div",{style:{...xe.modeDiv,verticalAlign:"middle"}},V.default.createElement("span",{style:{fontWeight:"bold",paddingRight:10}},R.t("sch_valid")),V.default.createElement("span",null,R.t("sch_validFrom"))),V.default.createElement("div",{style:xe.settingsDiv},V.default.createElement(vr,{variant:"standard",style:{...xe.inputDate,marginRight:10},key:"exactTimeFrom",inputRef:this.refFrom,defaultValue:D2(r.valid.from),type:"date",onChange:o=>{this.timerFrom&&clearTimeout(this.timerFrom),this.refFrom.current&&(this.refFrom.current.style.background="#ff000030"),this.timerFrom=setTimeout(a=>{this.timerFrom=null,this.refFrom.current&&(this.refFrom.current.style.background="");let n=JSON.parse(JSON.stringify(this.state.schedule)),s=e.string2date(a);s.toString()!=="Invalid Date"&&(n.valid.from=`${jl(s.getDate())}.${jl(s.getMonth()+1)}.${s.getFullYear()}`,this.onChange(n))},1500,o.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}),V.default.createElement(Ke,{control:V.default.createElement(jt,{style:xe.inputRadio,checked:!!r.valid.to,onClick:()=>{let o=JSON.parse(JSON.stringify(this.state.schedule));o.valid.to=o.valid.to?"":e.now2string(!0),this.onChange(o)}}),label:R.t("sch_validTo")}),!!r.valid.to&&V.default.createElement(vr,{variant:"standard",inputRef:this.refTo,style:{...xe.inputDate,marginRight:10},key:"exactTimeFrom",type:"date",defaultValue:D2(r.valid.to),onChange:o=>{this.timerTo&&clearTimeout(this.timerTo),this.refTo.current&&(this.refTo.current.style.background="#ff000030"),this.timerTo=setTimeout(a=>{this.timerTo=null,this.refTo.current&&(this.refTo.current.style.background="");let n=JSON.parse(JSON.stringify(this.state.schedule)),s=e.string2date(a);s.toString()!=="Invalid Date"&&(n.valid.to=`${jl(s.getDate())}.${jl(s.getMonth()+1)}.${s.getFullYear()}`,this.onChange(n))},1500,o.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}render(){return V.default.createElement("div",{style:{height:"calc(100% - 48px)",width:"100%",overflow:"hidden"}},V.default.createElement("div",null,this.state.desc),V.default.createElement("div",{style:xe.scrollWindow},V.default.createElement("h5",null,R.t("sch_time")),this.getTimePeriodElements(),this.getTimeExactElements(),e.getDivider(),V.default.createElement("h5",null,R.t("sch_period")),this.getPeriodModes(),!this.state.schedule.period.once&&e.getDivider(),!this.state.schedule.period.once&&this.getValidSettings()))}};var BY=y(D());var LY=y(D());var bMe=y(D());var TMe=y(D());var jY=y(D());var ma=y(D());var zl=class extends ma.Component{constructor(r){super(r);A(this,"dialogName");A(this,"filters");A(this,"filterFunc");this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectID.${this.dialogName}`;let o=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(o)}catch(n){this.filters={}}r.filters&&(this.filters={...this.filters,...r.filters||{}});let a=this.props.selected||[];if(Array.isArray(a)||(a=[a]),a=a.filter(n=>n),r.filterFunc)if(typeof r.filterFunc=="string")try{this.filterFunc=new Function("obj",r.filterFunc)}catch(n){console.error(`Cannot parse filter function: "obj => ${r.filterFunc}"`),this.filterFunc=void 0}else this.filterFunc=r.filterFunc;this.state={selected:a,name:""}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.props.multiSelect?this.state.selected:this.state.selected[0]||"",this.state.name),this.props.onClose()}render(){let r;return this.state.name||this.state.selected.length?this.state.selected.length===1?r=[ma.default.createElement("span",{key:"selected"},R.t("ra_Selected"),"\xA0"),ma.default.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},(this.state.name||this.state.selected[0])+(this.state.name?` [${this.state.selected[0]}]`:""))]:r=[ma.default.createElement("span",{key:"selected"},R.t("ra_Selected"),"\xA0"),ma.default.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},R.t("%s items",this.state.selected.length.toString()))]:r=this.props.title||R.t("ra_Please select object ID..."),ma.default.createElement(er,{onClose:()=>{},maxWidth:!1,sx:{"& .MuiDialog-paper":{height:"95%",p:"4px",width:"100%",maxWidth:"100%",maxHeight:"calc(100% - 16px)"}},fullWidth:!0,open:!0,"aria-labelledby":"ar_dialog_selectid_title"},ma.default.createElement(tr,{id:"ar_dialog_selectid_title",style:{whiteSpace:"nowrap",width:"calc(100% - 72px)",overflow:"hidden",display:"inline-block",textOverflow:"ellipsis"}},r),ma.default.createElement(ir,{style:{height:"100%",overflow:"hidden",padding:"8px 4px"}},ma.default.createElement(E2,{foldersFirst:this.props.foldersFirst,imagePrefix:this.props.imagePrefix||this.props.prefix,dateFormat:this.props.dateFormat,defaultFilters:this.filters,dialogName:this.dialogName,isFloatComma:this.props.isFloatComma,showExpertButton:this.props.showExpertButton!==void 0?this.props.showExpertButton:!0,expertMode:this.props.expertMode,columns:this.props.columns||["name","type","role","room","func","val"],types:this.props.types?Array.isArray(this.props.types)?this.props.types:[this.props.types]:["state"],root:this.props.root,t:R.t,lang:this.props.lang||R.getLanguage(),socket:this.props.socket,selected:this.state.selected,multiSelect:this.props.multiSelect,notEditable:this.props.notEditable===void 0?!0:this.props.notEditable,themeName:this.props.themeName,themeType:this.props.themeType,theme:this.props.theme,customFilter:this.props.customFilter,onFilterChanged:o=>{this.filters=o,(window._localStorage||window.localStorage).setItem(this.dialogName,JSON.stringify(o))},onSelect:(o,a,n)=>{let s;Array.isArray(o)?s=o:s=[o],JSON.stringify(s)!==JSON.stringify(this.state.selected)?this.setState({selected:s,name:a},()=>n&&this.handleOk()):n&&this.handleOk()},filterFunc:this.filterFunc,title:"",classes:{}})),ma.default.createElement(sr,null,ma.default.createElement(tt,{id:`ar_dialog_selectid_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),startIcon:ma.default.createElement(to,null),disabled:!this.state.selected.length,color:"primary"},this.props.ok||R.t("ra_Ok")),ma.default.createElement(tt,{id:`ar_dialog_selectid_cancel_${this.props.dialogName||""}`,color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:ma.default.createElement(Us,null)},this.props.cancel||R.t("ra_Cancel"))))}};var I2=y(D());var gs=y(D()),WY=y(zY()),Mf=function(){return Mf=Object.assign||function(e){for(var t,r=1,o=arguments.length;r0&&M.zoomTo(le)}(k.currentTarget.cropper,b),m&&m(k)}}));x&&x(O)}return function(){var k,M;(M=(k=v.current)===null||k===void 0?void 0:k.cropper)===null||M===void 0||M.destroy()}},[v]);var w=function(O){return SMe.reduce(function(k,M){var N=k,S=M;return N[S],N2(N,[typeof S=="symbol"?S:S+""])},O)}(Mf(Mf({},T),{crossOrigin:p,src:n,alt:g}));return gs.default.createElement("div",{style:s,className:i},gs.default.createElement("img",Mf({},w,{style:wMe,ref:v})))});var it=y(D());var _d={mainDiv:{width:"100%",height:"100%",overflow:"auto"},formControl:{margin:0,minWidth:120},formControlMarginRight:{marginRight:5},formControlPaddingTop:{paddingTop:6.2}},CMe={once:"once",interval:"interval",intervalBetween:"intervalBetween",specific:"specific"},ha={seconds:"seconds",minutes:"minutes"},UY=["ra_Sunday","ra_Monday","ra_Tuesday","ra_Wednesday","ra_Thursday","ra_Friday","ra_Saturday","ra_Sunday"];function Ui(e){return e<10?`0${e}`:`${e}`}var OMe={mode:"interval",interval:{period:1,unit:ha.minutes}};function Y0(e){if(e==="*")return[0,1,2,3,4,5,6];let t=e.split(","),r=[];return t.forEach(o=>{let a=o.split("-");if(a.length===2){let n=parseInt(a[0],10),s=parseInt(a[1],10);for(let i=n;i<=s;i++)r.includes(i===7?0:i)||r.push(i===7?0:i)}else{o==="7"&&(o="0");let n=parseInt(o,10);r.includes(n)||r.push(n)}}),r.sort(),r}function Z0(e,t){e=e.replace(/['"]/g,"").trim();let r=e.split(" "),o,a=null;return r.length===6?o={seconds:r[0]||"*",minutes:r[1]||"*",hours:r[2]||"*",date:r[3]||"*",months:r[4]||"*",dow:r[5]||"*"}:o={seconds:null,minutes:r[0]||"*",hours:r[1]||"*",date:r[2]||"*",months:r[3]||"*",dow:r[4]||"*"},o.seconds===null&&o.minutes==="*"&&o.hours==="*"&&o.date==="*"&&o.months==="*"&&(o.dow==="*"||t)&&(a={mode:"interval",interval:{period:1,unit:ha.minutes}}),o.seconds==="*"&&o.minutes==="*"&&o.hours==="*"&&o.date==="*"&&o.months==="*"&&(o.dow==="*"||t)?a={mode:"interval",interval:{period:1,unit:ha.seconds}}:o.seconds===null&&o.minutes.includes("/")&&o.hours==="*"&&o.date==="*"&&o.months==="*"&&(o.dow==="*"||t)?a={mode:"interval",interval:{period:parseInt(o.minutes.split("/")[1],10),unit:ha.minutes}}:o.seconds!==null&&o.seconds.includes("/")&&o.minutes==="*"&&o.hours==="*"&&o.date==="*"&&o.months==="*"&&(o.dow==="*"||t)?a={mode:"interval",interval:{period:parseInt(o.seconds.split("/")[1],10),unit:ha.seconds}}:o.seconds!==null&&o.seconds.includes("/")&&o.minutes==="*"&&o.hours.includes("-")&&o.date==="*"&&o.months==="*"&&(o.dow==="*"||t)?a={mode:"intervalBetween",intervalBetween:{period:parseInt(o.seconds.split("/")[1],10),unit:ha.seconds,timeFrom:parseInt(o.hours.split("-")[0],10),timeTo:parseInt(o.hours.split("-")[1],10),weekdays:Y0(o.dow)}}:o.seconds===null&&o.minutes.includes("/")&&o.hours.includes("-")&&o.date==="*"&&o.months==="*"&&(o.dow==="*"||t)?a={mode:"intervalBetween",intervalBetween:{period:parseInt(o.minutes.split("/")[1],10),unit:ha.minutes,timeFrom:parseInt(o.hours.split("-")[0],10),timeTo:parseInt(o.hours.split("-")[1],10),weekdays:Y0(o.dow)}}:o.seconds===null&&parseInt(o.minutes,10).toString()===o.minutes&&parseInt(o.hours,10).toString()===o.hours&&o.date==="*"&&o.months==="*"&&(o.dow==="*"||t)?a={mode:"specific",specific:{time:`${Ui(parseInt(o.hours,10))}:${Ui(parseInt(o.minutes,10))}`,weekdays:Y0(o.dow)}}:o.seconds===null&&parseInt(o.minutes,10).toString()===o.minutes&&parseInt(o.hours,10).toString()===o.hours&&parseInt(o.date,10).toString()===o.date&&parseInt(o.months,10).toString()===o.months&&(o.dow==="*"||t)&&(a={mode:"once",once:{time:`${Ui(parseInt(o.hours,10))}:${Ui(parseInt(o.minutes,10))}`,date:`${Ui(parseInt(o.date,10))}.${Ui(parseInt(o.months,10))}`}}),a}var Nf=class e extends it.default.Component{constructor(t){super(t);let r=typeof t.cronExpression=="string"?t.cronExpression.replace(/^["']/,"").replace(/["']\n?$/,""):"";r[0]==="{"&&(r="");let o=Z0(r||"* * * * *",!0)||OMe;this.state={extended:!1,cron:e.state2cron(o),mode:"interval",once:{time:"00:00",date:""},interval:{period:1,unit:ha.minutes},intervalBetween:{period:1,unit:ha.minutes,timeFrom:0,timeTo:23,weekdays:[0,1,2,3,4,5,6]},specific:{time:"00:00",weekdays:[0,1,2,3,4,5,6]}},Object.assign(this.state,o),this.state.cron!==t.cronExpression&&setTimeout(()=>t.onChange&&t.onChange(this.state.cron),100)}static periodArray2text(t,r=7){if(r=r||7,t.length===r)return"*";let o=[],a=null,n=null;if(!t.length)return"_";for(let s=0;s60&&(o.period=60),o.period!==void 0&&o.period<1&&(o.period=1),o.minutes!==void 0&&o.minutes!==null&&o.minutes>60&&(o.minutes=60),o.minutes!==void 0&&o.minutes!==null&&o.minutes<1&&(o.minutes=1),o.hours!==void 0&&o.hours!==null&&o.hours>24&&(o.hours=24),o.hours!==void 0&&o.hours!==null&&o.hours<1&&(o.hours=1),t.extended)r=`${o.minutes!==void 0&&o.minutes!==null&&o.minutes>1?`*/${o.minutes}`:"*"} ${o.hours!==void 0&&o.hours!==null&&o.hours>1?`*/${o.hours}`:"*"} * * *`;else switch(o.unit){case ha.seconds:r=`${o.period>1?`*/${o.period}`:"*"} * * * * *`;break;case ha.minutes:r=`${o.period>1?`*/${o.period}`:"*"} * * * *`;break;default:break}}else if(t.mode==="intervalBetween"){let o=t.intervalBetween||{period:1,unit:ha.minutes,timeFrom:0,timeTo:24,weekdays:[0,1,2,3,4,5,6]},a;switch(o.timeFrom=o.timeFrom||0,o.timeTo=o.timeTo===void 0?24:o.timeTo,o.timeFrom!==0&&o.timeTo===24&&(o.timeTo=23),o.timeFrom===0&&o.timeTo===24?a="*":a=o.timeFrom!==o.timeTo?`${o.timeFrom}-${o.timeTo}`:"*",o.period>60&&(o.period=60),o.period<1&&(o.period=1),o.unit=o.unit||ha.minutes,o.unit){case ha.seconds:r=`${o.period>1?`*/${o.period}`:"*"} * ${a} * * ${this.periodArray2text(o.weekdays)}`;break;case ha.minutes:r=`${o.period>1?`*/${o.period}`:"*"} ${a} * * ${this.periodArray2text(o.weekdays)}`;break;default:break}}else if(t.mode==="specific"){let o=t.specific||{time:"00:00",weekdays:[0,1,2,3,4,5,6]},a=(o.time||"00:00").split(":"),n=parseInt(a[1],10)||0;n>59&&(n=59),n<0&&(n=0);let s=parseInt(a[0],10)||0;s>23&&(s=59),s<0&&(s=0),r=`${n} ${s} * * ${this.periodArray2text(o.weekdays||[])}`}else if(t.mode==="once"){let o=t.once||{time:"00:00",date:""};o.date||(o.date=`${new Date().getDate()}.${Ui(new Date().getMonth()+1)}`);let a=(o.time||"00:00").split(":"),n=o.date.split("."),s=parseInt(a[1],10)||0;s>59&&(s=59),s<0&&(s=0);let i=parseInt(a[0],10)||0;i>23&&(i=59),i<0&&(i=0);let p=parseInt(n[0],10)||1;p>31&&(p=31),p<1&&(i=1);let l=parseInt(n[1],10)||1;l>12&&(l=12),l<1&&(l=1),r=`${s} ${i} ${p} ${l} *`}return r}recalcCron(){this.onChange(e.state2cron(this.state))}getControlsWeekdaysElements(t){let r=t==="intervalBetween"?this.state.intervalBetween:this.state.specific;return it.default.createElement("div",{key:"weekdays",style:{paddingLeft:8,width:"calc(100% - 8px)",maxWidth:600}},it.default.createElement("h5",null,R.t("ra_On weekdays")),[1,2,3,4,5,6,0].map(o=>it.default.createElement(Ke,{key:UY[o],control:it.default.createElement(jt,{checked:r.weekdays.includes(o),onChange:a=>{let n=JSON.parse(JSON.stringify(this.state[t])),s=n.weekdays.indexOf(o);a.target.checked?s===-1&&n.weekdays.push(o):s!==-1&&n.weekdays.splice(s,1),n.weekdays.sort(),t==="intervalBetween"?this.setState({intervalBetween:n},()=>this.recalcCron()):this.setState({specific:n},()=>this.recalcCron())},value:o.toString()}),label:R.t(UY[o])})))}getControlsPeriodElements(t){let r=t==="interval"?this.state.interval:this.state.intervalBetween;return this.state.extended?it.default.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},it.default.createElement("h5",{style:{marginBottom:5}},R.t("sc_period")),it.default.createElement(vr,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:R.t("sc_minutes"),value:r.minutes,onChange:o=>{let a=JSON.parse(JSON.stringify(this.state[t]));a.minutes=parseInt(o.target.value,10),a.minutes<1&&(a.minutes=1),t==="interval"?this.setState({interval:a},()=>this.recalcCron()):this.setState({intervalBetween:a},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:60},inputLabel:{shrink:!0}},type:"number",margin:"normal"}),it.default.createElement(vr,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:R.t("sc_hours"),value:r.hours,onChange:o=>{let a=JSON.parse(JSON.stringify(this.state[t]));a.hours=parseInt(o.target.value,10),a.hours<1&&(a.hours=1),t==="interval"?this.setState({interval:a},()=>this.recalcCron()):this.setState({intervalBetween:a},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:24},inputLabel:{shrink:!0}},type:"number",margin:"normal"})):it.default.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},it.default.createElement("h5",{style:{marginBottom:5}},R.t("sc_period")),it.default.createElement(vr,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:R.t("sc_every"),value:r.period,onChange:o=>{let a=JSON.parse(JSON.stringify(this.state[t]));a.period=parseInt(o.target.value,10),a.period<1&&(a.period=1),t==="interval"?this.setState({interval:a},()=>this.recalcCron()):this.setState({intervalBetween:a},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:60},inputLabel:{shrink:!0}},type:"number",margin:"normal"}),it.default.createElement(ea,{variant:"standard",style:{verticalAlign:"bottom"},value:r.unit,onChange:o=>{let a=JSON.parse(JSON.stringify(this.state[t]));a.unit=o.target.value,t==="interval"?this.setState({interval:a},()=>this.recalcCron()):this.setState({intervalBetween:a},()=>this.recalcCron())}},it.default.createElement(Mt,{value:"seconds"},R.t("sc_seconds")),")",it.default.createElement(Mt,{value:"minutes"},R.t("sc_minutes")),")"))}getControlsTime(t){let r=t==="once"?this.state.once:this.state.specific;return it.default.createElement(ls,{variant:"standard",sx:{..._d.formControl,"&.MuiFormControl-root":_d.formControlMarginRight}},it.default.createElement(vr,{variant:"standard",key:"at",label:R.t("sc_time"),value:r.time,type:"time",sx:o=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:o.palette.mode==="dark"?"invert(80%)":void 0}}),onChange:o=>{let a=JSON.parse(JSON.stringify(this.state[t]));a.time=o.target.value,t==="once"?this.setState({once:a},()=>this.recalcCron()):this.setState({specific:a},()=>this.recalcCron())},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}))}getControlsDate(){let t=this.state.once;if(!t.date){let r=new Date;t.date=`${r.getDate()}.${Ui(r.getMonth()+1)}`}return it.default.createElement(ls,{variant:"standard",style:_d.formControl},it.default.createElement(vr,{variant:"standard",key:"date",label:R.t("sc_date"),value:t.date,type:"text",slotProps:{htmlInput:{style:_d.formControlPaddingTop},inputLabel:{shrink:!0}},onChange:r=>{let o=JSON.parse(JSON.stringify(this.state.once));o.date=r.target.value,this.setState({once:o},()=>this.recalcCron())},margin:"normal"}))}getOnceElements(){return it.default.createElement("div",{style:{marginLeft:8}},this.getControlsTime("once"),this.getControlsDate())}getIntervalElements(){return this.getControlsPeriodElements("interval")}getIntervalBetweenElements(){let t=this.state.intervalBetween;return[this.getControlsPeriodElements("intervalBetween"),it.default.createElement("div",{key:"between",style:{paddingLeft:8,display:"inline-block",verticalAlign:"top"}},it.default.createElement("h5",{style:{marginBottom:5}},R.t("sc_hours")),it.default.createElement(ls,{variant:"standard",style:_d.formControl},it.default.createElement(Mp,{shrink:!0,htmlFor:"age-label-placeholder"},R.t("sc_from")),it.default.createElement(ea,{variant:"standard",style:{width:100},value:t.timeFrom,onChange:r=>{let o=JSON.parse(JSON.stringify(this.state.intervalBetween));o.timeFrom=parseInt(r.target.value,10),o.timeTo===24&&(o.timeTo=23),this.setState({intervalBetween:o},()=>this.recalcCron())}},[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23].map(r=>it.default.createElement(Mt,{key:`B_${r}`,value:r},`${Ui(r)}:00`)))),it.default.createElement(ls,{variant:"standard",style:_d.formControl},it.default.createElement(Mp,{shrink:!0,htmlFor:"age-label-placeholder"},R.t("sc_to")),it.default.createElement(ea,{variant:"standard",style:{width:100},value:t.timeTo,onChange:r=>{let o=JSON.parse(JSON.stringify(this.state.intervalBetween));o.timeTo=parseInt(r.target.value,10),this.setState({intervalBetween:o},()=>this.recalcCron())}},[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23].map(r=>it.default.createElement(Mt,{key:`A_${r}`,value:r},`${Ui(r)}:00`)),!t.timeFrom&&it.default.createElement(Mt,{value:24},"00:00")))),this.getControlsWeekdaysElements("intervalBetween")]}getSpecificTimeElements(){return[it.default.createElement("div",{key:"time",style:{marginLeft:8}},this.getControlsTime("specific")),this.getControlsWeekdaysElements("specific")]}onModeChange(t){t!==this.state.mode&&this.setState({mode:t},()=>this.recalcCron())}onChange(t){t!==this.state.cron&&(this.setState({cron:t}),this.props.onChange&&this.props.onChange(t))}render(){return it.default.createElement("div",{style:_d.mainDiv},it.default.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)"}},it.default.createElement(vr,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0,error:this.state.cron.includes("_")})),it.default.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)",height:60}},this.state.cron.includes("_")?R.t("sc_invalid_cron"):iv(this.state.cron,this.props.language||"en")),it.default.createElement("div",null,it.default.createElement(ls,{variant:"standard",style:{..._d.formControl,marginLeft:8,marginTop:8}},it.default.createElement(Mp,null,R.t("ra_Repeat")),it.default.createElement(ea,{variant:"standard",value:this.state.mode,onChange:t=>this.onModeChange(t.target.value),inputProps:{name:"mode",id:"mode"}},it.default.createElement(Mt,{value:"once"},R.t("sc_once")),it.default.createElement(Mt,{value:"interval"},R.t("sc_interval")),it.default.createElement(Mt,{value:"intervalBetween"},R.t("sc_intervalBetween")),it.default.createElement(Mt,{value:"specific"},R.t("sc_specific"))))),this.state.mode===CMe.once&&this.getOnceElements(),this.state.mode==="interval"&&this.getIntervalElements(),this.state.mode==="intervalBetween"&&this.getIntervalBetweenElements(),this.state.mode==="specific"&&this.getSpecificTimeElements())}};var HY=y(D());var VY=y(D());var kMe=y(D());var EMe=y(D());var PMe=y(D());var sn=y(D());var RMe={headerID:{fontWeight:"bold",fontStyle:"italic"},radio:{display:"inline-block"},dialogPaper:{height:"calc(100% - 96px)"}},Q0=class extends sn.default.Component{constructor(t){super(t);let r;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?r=this.props.cron.replace(/['"]/g,"").trim():(r=this.props.cron||"{}",typeof r=="string"&&(r=r.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={showWarning:"",cron:r}}handleCancel(){this.props.onClose()}handleOk(t){if(!t){let r=vd.cron2state(this.state.cron);if(r.seconds==="*"||r.seconds==="*/1"){this.setState({showWarning:"everySecond"});return}if(r.minutes==="*"||r.minutes==="*/1"){this.setState({showWarning:"everyMinute"});return}}this.props.onOk(this.state.cron),this.props.onClose()}renderWarningDialog(){return this.state.showWarning?sn.default.createElement(Bi,{title:R.t("ra_Please confirm"),text:R.t(this.state.showWarning==="everySecond"?"ra_The schedule will be executed every second. Are you sure?":"ra_The schedule will be executed every minute. Are you sure?"),onClose:t=>this.setState({showWarning:""},()=>{t&&this.handleOk(!0)})}):null}handleClear(){this.props.onOk(!1),this.props.onClose()}render(){return sn.default.createElement(er,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":RMe.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},this.renderWarningDialog(),sn.default.createElement(tr,{id:"cron-dialog-title"},this.props.title||R.t("ra_Define schedule...")),sn.default.createElement(ir,{style:{height:"100%",overflow:"hidden"}},sn.default.createElement(vd,{cronExpression:this.state.cron,onChange:t=>this.setState({cron:t}),language:R.getLanguage()})),sn.default.createElement(sr,null,!!this.props.clearButton&&sn.default.createElement(tt,{color:"grey",variant:"contained",onClick:()=>this.handleClear(),startIcon:sn.default.createElement(Hs,null)},this.props.clear||R.t("ra_Clear")),sn.default.createElement(tt,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:sn.default.createElement(to,null)},this.props.ok||R.t("ra_Ok")),sn.default.createElement(tt,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:sn.default.createElement(Us,null)},this.props.cancel||R.t("ra_Cancel"))))}};var hr=y(D());var DMe={dialogPaper:{height:"calc(100% - 96px)"}},eC=class extends hr.default.Component{constructor(t){super(t);let r;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?r=this.props.cron.replace(/['"]/g,"").trim():(r=this.props.cron||"{}",typeof r=="string"&&(r=r.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={cron:r,mode:this.props.simple?"simple":this.props.complex?"complex":(typeof r=="object"||r[0]==="{")&&!this.props.noWizard?"wizard":Z0(this.props.cron||"* * * * *")?"simple":"complex"}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}setMode(t){this.setState({mode:t})}render(){return hr.default.createElement(er,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":DMe.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},hr.default.createElement(tr,{id:"cron-dialog-title"},this.props.title||R.t("ra_Define schedule...")),hr.default.createElement(ir,{style:{height:"100%",overflow:"hidden"}},this.props.simple&&this.props.complex||!this.props.simple&&!this.props.complex?hr.default.createElement("div",null,!this.props.simple&&!this.props.complex&&!this.props.noWizard&&hr.default.createElement(hr.default.Fragment,null,hr.default.createElement(Pt,{key:"wizard",checked:this.state.mode==="wizard",onChange:()=>this.setMode("wizard")}),hr.default.createElement("label",{onClick:()=>this.setMode("wizard"),style:this.state.mode!=="wizard"?{color:"lightgrey"}:{}},R.t("sc_wizard"))),(!this.props.simple&&!this.props.complex||this.props.simple)&&hr.default.createElement(hr.default.Fragment,null,hr.default.createElement(Pt,{key:"simple",checked:this.state.mode==="simple",onChange:()=>this.setMode("simple")}),hr.default.createElement("label",{onClick:()=>this.setMode("simple"),style:this.state.mode!=="simple"?{color:"lightgrey"}:{}},R.t("sc_simple"))),(!this.props.simple&&!this.props.complex||this.props.complex)&&hr.default.createElement(hr.default.Fragment,null,hr.default.createElement(Pt,{key:"complex",checked:this.state.mode==="complex",onChange:()=>this.setMode("complex")}),hr.default.createElement("label",{onClick:()=>this.setMode("complex"),style:this.state.mode!=="complex"?{color:"lightgrey"}:{}},R.t("sc_cron")))):null,this.state.mode==="simple"&&hr.default.createElement(Nf,{cronExpression:this.state.cron,onChange:t=>this.setState({cron:t}),language:R.getLanguage()}),this.state.mode==="wizard"&&hr.default.createElement(gv,{theme:this.props.theme,schedule:this.state.cron,onChange:t=>this.setState({cron:t})}),this.state.mode==="complex"&&hr.default.createElement(vd,{cronExpression:this.state.cron,onChange:t=>this.setState({cron:t}),language:R.getLanguage()})),hr.default.createElement(sr,null,hr.default.createElement(tt,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:hr.default.createElement(to,null)},this.props.ok||R.t("ra_Ok")),hr.default.createElement(tt,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:hr.default.createElement(Us,null)},this.props.cancel||R.t("ra_Cancel"))))}};var $Y=y(D());var La=y(D());var If={headerID:{fontWeight:"bold",fontStyle:"italic"},dialog:{height:"95%"},dialogMobile:{padding:"4px",width:"100%",maxWidth:"100%",maxHeight:"calc(100% - 16px)",height:"100%"},content:{height:"100%",overflow:"hidden"},contentMobile:{padding:"8px 4px"},titleRoot:{whiteSpace:"nowrap",width:"calc(100% - 72px)",overflow:"hidden",display:"inline-block",textOverflow:"ellipsis"}},tC=class extends La.default.Component{constructor(r){super(r);A(this,"dialogName");A(this,"filters");this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectFile.${this.dialogName}`;let o=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(o)}catch(n){this.filters={}}r.filters&&(this.filters={...this.filters,...r.filters});let a=this.props.selected||[];typeof a!="object"?a=[a]:a=[...a],a=a.filter(n=>n),this.state={selected:a}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.props.multiSelect||!Array.isArray(this.state.selected)?this.state.selected:this.state.selected[0]||""),this.props.onClose()}render(){let r;return this.state.selected.length?!Array.isArray(this.state.selected)||this.state.selected.length===1?r=[La.default.createElement("span",{key:"selected"},R.t("ra_Selected"),"\xA0"),La.default.createElement("span",{key:"id",style:If.headerID},this.state.selected)]:r=[La.default.createElement("span",{key:"selected"},R.t("ra_Selected"),"\xA0"),La.default.createElement("span",{key:"id",style:If.headerID},R.t("%s items",this.state.selected.length))]:r=this.props.title||R.t("ra_Please select file..."),La.default.createElement(er,{onClose:()=>{},maxWidth:!1,sx:{"& .MuiDialog-paper":{...If.dialog,...If.dialogMobile}},fullWidth:!0,open:!0,"aria-labelledby":"ar_dialog_selectfile_title"},La.default.createElement(tr,{id:"ar_dialog_selectfile_title",sx:{"&.MuiDialogTitle-root":If.titleRoot}},r),La.default.createElement(ir,{style:{...If.content,...If.contentMobile}},La.default.createElement(a2,{ready:!0,imagePrefix:this.props.imagePrefix||this.props.prefix||"../",allowUpload:!!this.props.allowUpload,allowDownload:this.props.allowDownload!==!1,allowCreateFolder:!!this.props.allowCreateFolder,allowDelete:!!this.props.allowDelete,allowView:this.props.allowView!==!1,showViewTypeButton:this.props.showViewTypeButton!==!1,showToolbar:this.props.showToolbar!==!1,limitPath:this.props.limitPath,filterFiles:this.props.filterFiles,filterByType:this.props.filterByType,selected:this.props.selected,restrictToFolder:this.props.restrictToFolder,allowNonRestricted:this.props.allowNonRestricted,onSelect:(o,a,n)=>{this.setState({selected:Array.isArray(o)?o:[o]},()=>a&&(!this.props.selectOnlyFolders||n)&&this.handleOk())},t:this.props.t||R.t,lang:this.props.lang||R.getLanguage(),socket:this.props.socket,themeType:this.props.themeType,themeName:this.props.themeName,theme:this.props.theme,showExpertButton:this.props.showExpertButton,expertMode:this.props.expertMode,showTypeSelector:this.props.showTypeSelector})),La.default.createElement(sr,null,La.default.createElement(tt,{variant:"contained",onClick:()=>this.handleOk(),startIcon:La.default.createElement(to,null),disabled:!this.state.selected.length,color:"primary"},this.props.ok||R.t("ra_Ok")),La.default.createElement(tt,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:La.default.createElement(Us,null)},this.props.cancel||R.t("ra_Cancel"))))}};var ri=y(D());var AMe={dialogPaper:{height:"calc(100% - 96px)"}},rC=class extends ri.default.Component{constructor(t){super(t);let r;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?r=this.props.cron.replace(/['"]/g,"").trim():(r=this.props.cron||"{}",typeof r=="string"&&(r=r.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={cron:r}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}render(){return ri.default.createElement(er,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":AMe.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},ri.default.createElement(tr,{id:"cron-dialog-title"},this.props.title||R.t("ra_Define CRON...")),ri.default.createElement(ir,{style:{height:"100%",overflow:"hidden"}},ri.default.createElement(Nf,{cronExpression:this.state.cron,onChange:t=>this.setState({cron:t}),language:R.getLanguage()})),ri.default.createElement(sr,null,ri.default.createElement(tt,{variant:"contained",disabled:!this.state.cron||this.state.cron.includes("_"),onClick:()=>this.handleOk(),color:"primary",startIcon:ri.default.createElement(to,null)},this.props.ok||R.t("ra_Ok")),ri.default.createElement(tt,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:ri.default.createElement(Us,null)},this.props.cancel||R.t("ra_Cancel"))))}};var Ff=y(D());var Rh=[{label:"SetState",value:"set",trigger:!0,entries:[{name:"trigger",val:"",headline:"trigger",elementGetRows:"IDs",required:!0},{name:"IDs",val:"",headline:"ID",width:"20%",required:!0},{name:"values",val:"",headline:"value",width:"10%",required:!0,btnCircleAdd:!0},{name:"returnText",val:"",headline:"returnText",width:"40%",required:!0,btnCircleAdd:!0},{name:"ack",val:"false",headline:"Ack",title:"setWithAck",checkbox:!0,width:"3%",required:!0},{name:"confirm",val:"false",headline:"Con",title:"confirmMessage",checkbox:!0,width:"3%",required:!0},{name:"switch_checkbox",val:"false",headline:"Tog",title:"toggle",checkbox:!0,width:"3%",required:!0},{name:"parse_mode",val:"false",headline:"Par",title:"parseMode",checkbox:!0,width:"3%",required:!0}],popupCard:{buttons:{add:!0,remove:!0,copy:!0},width:"99%",height:"70%"}},{label:"GetState",value:"get",trigger:!0,entries:[{name:"trigger",val:"",headline:"trigger",width:"20%",elementGetRows:"IDs",required:!0},{name:"IDs",val:"",headline:"ID",width:"40%",required:!0},{name:"text",val:"",headline:"text",width:"40%",required:!0,btnCircleAdd:!0},{name:"newline_checkbox",val:"true",headline:"New",title:"newlineCheckbox",checkbox:!0,width:"3%",required:!0},{name:"parse_mode",val:"false",headline:"Par",title:"Parse Mode HTML",checkbox:!0,width:"3%",required:!0}],popupCard:{buttons:{add:!0,remove:!0,copy:!0},width:"99%",height:"70%"}},{label:"Send Picture",value:"pic",trigger:!0,entries:[{name:"trigger",val:"",headline:"trigger",width:"20%",elementGetRows:"IDs",required:!0},{name:"IDs",val:"",headline:"ID",width:"40%",required:!0},{name:"fileName",val:"",headline:"filename",width:"40%",required:!0},{name:"picSendDelay",val:"",headline:"delay",width:"40%",type:"number",required:!0}],popupCard:{buttons:{add:!0,remove:!0},width:"99%",height:"70%"}},{label:"Send Location",value:"loc",trigger:!0,entries:[{name:"trigger",val:"",headline:"trigger",width:"20%",elementGetRows:"latitude",required:!0},{name:"latitude",val:"",headline:"latitude",width:"20%",search:!0,required:!0},{name:"longitude",val:"",headline:"longitude",width:"20%",search:!0,required:!0},{name:"parse_mode",val:"false",headline:"Par",title:"Parse Mode HTML",checkbox:!0,width:"3%",required:!0}],popupCard:{buttons:{add:!0,remove:!0},width:"99%",height:"70%"}},{label:"Events",value:"events",trigger:!1,entries:[{name:"ID",val:"",headline:"ID",width:"40%",search:!0,required:!0},{name:"menu",val:"",headline:"executedMenu",width:"20%",elementGetRows:"menu",required:!0},{name:"condition",val:"",headline:"conditionMenu",width:"20%",noIcon:!0,required:!0},{name:"ack",val:"false",headline:"Ack",title:"setAck",checkbox:!0,width:"3%",required:!0}],popupCard:{buttons:{add:!1,remove:!1},width:"99%",height:"40%"}},{label:"Echarts",value:"echarts",searchRoot:{root:"echarts",type:["chart"]},trigger:!0,entries:[{name:"trigger",val:"",headline:"trigger",width:"20%",required:!0},{name:"preset",val:"",headline:"preset",width:"40%",elementGetRows:"preset",search:!0,required:!0},{name:"background",val:"#FFFFFF",headline:"background",width:"10%",required:!0},{name:"theme",val:"light",headline:"theme",width:"10%",required:!0},{name:"filename",val:"echarts-temp-photo.jpg",headline:"filename",width:"20%",required:!0}],popupCard:{buttons:{add:!0,remove:!0},width:"99%",height:"70%"}},{label:"Http Request",value:"httpRequest",trigger:!0,entries:[{name:"trigger",val:"",headline:"trigger",width:"20%",required:!0},{name:"url",val:"",headline:"url",width:"20%",elementGetRows:"url",search:!0,required:!0},{name:"user",val:"",headline:"user",width:"20%"},{name:"password",val:"",headline:"password",password:!0,width:"20%"},{name:"filename",val:"http-request-photo.jpg",headline:"filename",width:"20%",required:!0}],popupCard:{buttons:{add:!0,remove:!0},width:"99%",height:"70%"}}],GY=[{name:"call",val:"",headline:"trigger",width:"25%",editWidth:"98%"},{name:"value",val:"",headline:"navigation",width:"45%",editWidth:"98%"},{name:"text",val:"chooseAction",headline:"text",width:"35%",editWidth:"98%"},{name:"parse_mode",val:"false",headline:"Par",title:"Parse Mode HTML",checkbox:!0,width:"10%"}];function qY(e){return e.replace(/ /g,"_")}function oC(e){return e==="1"||e===1||e===!0||e==="true"}var KY=e=>{try{let t=[],r=JSON.parse(e);return Object.keys(r).forEach(o=>{let a=r[o].firstName;t.push({name:a,chatID:o})}),t}catch(t){console.error(`Error processUserData: ${JSON.stringify(t)}`)}},kt=e=>{try{return JSON.parse(JSON.stringify(e))}catch(t){console.error(`Error deepCopy: ${JSON.stringify(t)}`)}},Dh=e=>["true",!0].includes(e),Ah=e=>e.filter((t,r)=>e.indexOf(t)===r),JY=e=>(e.sort((t,r)=>{let o=t.toLowerCase(),a=r.toLowerCase();return oa?1:0}),e);function NMe(e,t,r){let o={};return r.forEach(a=>{o[a.name]=e[a.name]&&e[a.name][t]?e[a.name][t]:""}),o}function XY(e,t){var n;if(!e)return{rows:null,trigger:""};let r=[],o="";e.trigger&&e.trigger[0]&&(o=e.trigger[0]);let a=(n=t.find(s=>s.elementGetRows!==void 0))==null?void 0:n.elementGetRows;if(!a)return{rows:null,trigger:""};e&&e[a]||console.error(`GenerateBy not found in element, actionUtils.js. Check entries.mjs for ${a} is not a name of an element`);for(let s in e[a]){let i=NMe(e,s,t);i&&r.push(i)}return{rows:r,trigger:o}}var Wl=(e,t,r,o)=>{if((o==null?void 0:o.length)==0){let{rows:s,trigger:i}=XY(e.data.newRow,e.data.tab.entries);if(!s)return;t({trigger:i,rows:s});return}let{rows:a,trigger:n}=XY(r,e.data.tab.entries);a&&t({trigger:n,rows:a})},YY=({index:e,val:t,id:r},o,a)=>{var s;let n=kt(o.data.newRow);n&&(n[r][e]=t.toString(),(s=o.callback)!=null&&s.setStateTabActionContent&&o.callback.setStateTabActionContent({newRow:n}),Wl(o,a,n))},ZY=(e,t,r)=>{var a;let o=kt(t.data.newRow);o&&(o.trigger[0]=e.trigger,(a=t.callback)!=null&&a.setStateTabActionContent&&t.callback.setStateTabActionContent({newRow:o}),Wl(t,r,o))},aC=(e,t,r,o)=>{let a;e>=0&&(a=kt(t.data.newRow)),a&&(t.data.tab.entries.forEach(n=>{!e&&e!==0&&a?a[n.name]=[n.val]:a&&n.name!=="trigger"&&a[n.name].splice(e+1,0,n.val)}),o({newRow:a}),Wl(t,r,a))},QY=(e,t,r)=>{var a;let o=kt(t.data.newRow);o&&(t.data.tab.entries.forEach(n=>{o[n.name].splice(e,1)}),(a=t.callback)!=null&&a.setStateTabActionContent&&t.callback.setStateTabActionContent({newRow:o}),Wl(t,r,o))},eZ=(e,t,r,o)=>{var n;let a=kt(t.data.newRow);a&&(t.data.tab.entries.forEach(s=>{s.name!=="trigger"&&a[s.name].splice(e+o,0,a[s.name].splice(e,1)[0])}),(n=t.callback)!=null&&n.setStateTabActionContent&&t.callback.setStateTabActionContent({newRow:a}),Wl(t,r,a))},tZ=(e,t,r,o,a)=>{var s;let n=kt(t.data.newRow);n&&(n[a][r]=e,(s=t.callback)!=null&&s.setStateTabActionContent&&t.callback.setStateTabActionContent({newRow:n}),Wl(t,o,n))},IMe=e=>{let t=[],r;if(e.includes("&&")?r=e.split("&&"):r=[e],r[0].includes("menu:")){let a=e[0].split(":")[2];a&&t.push(a.trim())}else r.forEach(o=>{o.split(",").forEach(a=>{a.trim()!="-"&&t.push(a.trim())})});return t},yv=(e,t,r)=>{let o=[];Rh.forEach(f=>{f.trigger&&o.push(f.value)});let a=t[r],n=[];if(!a)return;a.forEach(f=>{Object.keys(t).forEach(c=>{t[c].includes(f)&&n.push(c)})}),n=Ah(n);let s=[],i=[],p=[],d={unUsedTrigger:[""],everyTrigger:{},usedTrigger:{nav:{},action:{}}};n.forEach(f=>{let c=[];if(!e.nav[f])return;e.nav[f].forEach((g,m)=>{s.push(g.call),p.push(g.call);let x=IMe(g.value);c=c.concat(x),i=i.concat(x),m==e.nav[f].length-1&&(d.usedTrigger.nav[f]=[...p],d.everyTrigger[f]=Ah([...c].filter(T=>T!="-")).sort(),p.length=0)}),d.usedTrigger.action[f]={};let h=[];o.forEach(g=>{e.action[f][g]&&e.action[f][g].forEach((m,x)=>{s=s.concat(m.trigger),h.push(m.trigger[0]),x==e.action[f][g].length-1&&(d.usedTrigger.action[f][g]=[...h],h.length=0)})})}),Array.isArray(i)&&(i=Ah(i));let u=i.filter(f=>!s.includes(f));return u.length>0&&(d.unUsedTrigger=u),u=JY(u),{usedTrigger:s,unUsedTrigger:u,triggerObj:d}},FMe=()=>Ff.default.createElement("button",{className:"buttonTrue"},Ff.default.createElement("span",null,Ff.default.createElement("i",{className:"material-icons"},"done"))),BMe=()=>Ff.default.createElement("button",{className:"buttonFalse"},Ff.default.createElement("span",null,Ff.default.createElement("i",{className:"material-icons"},"close"))),Mh=(e,t)=>{if(e){if(!(t!=null&&t.noIcon)){if(oC(e))return FMe();if(e==="false")return BMe()}return e.toString().replace(/&/g,"&")}},F2=e=>{let t={};return Object.entries(e).sort().forEach(r=>{t[r[0]]=r[1]}),t};function B2(e,t,r,o){let a=yv(r,o,e);a&&t({unUsedTrigger:a.unUsedTrigger,usedTrigger:a.usedTrigger,triggerObject:a.triggerObj})}var Cd={dragStartX:0,dragStartY:0,dragEndX:0,dragEndY:0};function rZ(e){e&&(Cd.dragStartX=e.clientX,Cd.dragStartY=e.clientY)}function oZ(e,t){if(!e)return;e.preventDefault(),Cd.dragEndX=e.clientX,Cd.dragEndY=e.clientY;let r=Cd.dragEndY-Cd.dragStartY,o=Cd.dragEndX-Cd.dragStartX;t&&t({dropDifferenzY:r,dropDifferenzX:o})}function aZ(e){e&&e.preventDefault()}function nZ(e){e&&e.preventDefault()}function sZ(e){e&&e.preventDefault()}function iZ(){document.querySelectorAll("tr[draggable],span[draggable]").forEach(e=>{e.classList.add("draggingDropBox")})}function lZ(){document.querySelectorAll("tr[draggable],span[draggable]").forEach(e=>{e.draggable=!0,e.classList.remove("draggingDropBox")})}var vv=(e,t,r,o,a)=>{if((r==null?void 0:r.current)!=null&&o){e||t||(e=parseInt(r.current.style.right.replace("px","")),t=parseInt(r.current.style.top.replace("px","")));let n=document.querySelector(".adapter-container"),{maxTop:s,maxRight:i}=LMe(n,r),{y:p,x:l}=jMe({maxTop:s,maxRight:i,newX:e,newY:t,dropbox:a});r.current.style.top=`${p}px`,r.current.style.right=`${l}px`}};function LMe(e,t){var r,o;return{maxTop:(e==null?void 0:e.offsetHeight)-(((r=t==null?void 0:t.current)==null?void 0:r.offsetHeight)||0),maxRight:(e==null?void 0:e.offsetWidth)-(((o=t==null?void 0:t.current)==null?void 0:o.offsetWidth)||0)}}function jMe({maxTop:e,maxRight:t,newX:r,newY:o,dropbox:a}){return o&&r?{y:WMe(o,e),x:zMe(r,t)}:a&&a.dropboxRight&&a.dropboxTop?{x:a.dropboxRight,y:a.dropboxTop}:{y:105,x:5}}function zMe(e,t){return e<1?1:e>t?t:e}function WMe(e,t){return e<1?1:e>t?t:e}var UMe=e=>{let t=["set","get"];return Object.keys(e.action).forEach(r=>{t.forEach(o=>{e.action[r][o].forEach((a,n)=>{e.action[r][o][n].parse_mode||(e.action[r][o][n].parse_mode=["false"])})})}),Object.keys(e.nav).forEach(r=>{e.nav[r].forEach((o,a)=>{e.nav[r][a].parse_mode||(e.nav[r][a].parse_mode="false")})}),e},HMe=(e,t)=>{Object.keys(e.action).forEach(r=>{e.action[r].set.forEach((o,a)=>{let n=e.action[r].set[a];if(!n.ack)e.action[r].set[a].ack=[];else return;n.returnText.map((s,i)=>{let p="";if(s.includes("ack:")){s.includes("ack:true")?(p=s.replace("ack:true","").replace(" "," "),e.action[r].set[a].ack[i]="true"):(p=s.includes("ack:false")?s.replace("ack:false","").replace(" "," "):s,e.action[r].set[a].ack[i]="false"),e.action[r].set[a].returnText[i]=p;return}e.action[r].set[a].ack[i]="false"})})}),t("data",e)},pZ=(e,t)=>{if(Object.keys(e).length==0)return;let r=kt(e);r&&HMe(UMe(r),t)};async function VMe(e,t="telegram.0",r){try{await e.getState(`${t}.communicate.users`).then(o=>{if(o&&o.val)return r(o.val)})}catch(o){console.error(`Error get Users vom Telegram: ${JSON.stringify(o)}`)}}async function $Me(e,t){let r=[];try{await e.getObjectViewCustom("system","instance","","\u9999").then(a=>{Object.keys(a).forEach(n=>{o(a,n)&&r.push(a[n]._id.replace(/^system\.adapter\./,""))}),t(r)})}catch(a){console.error(`Error getAllTelegramInstance: ${JSON.stringify(a)}`)}function o(a,n){var s;return((s=a==null?void 0:a[n])==null?void 0:s.common.name)==="telegram"}}var GMe={getUsersFromTelegram:VMe,getAllTelegramInstances:$Me},L2=GMe;var kd=y(D());var Nh=y(D());var bv=y(D());var j2=class extends bv.Component{constructor(){super(...arguments);A(this,"eventOnclickButton",r=>{this.props.callback({innerText:r.target.innerText,id:this.props.id,value:this.props.callbackValue,index:this.props.index,event:r})})}render(){let r={backgroundColor:this.props.b_color||"#ddd",color:this.props.color||"black",padding:this.props.small==="true"?"2px":this.props.padding?this.props.padding:"8px 32px",textAlign:"center",textDecoration:"none",display:"inline-block",fontSize:this.props.fontSize?this.props.fontSize:"12px",border:this.props.border?this.props.border:"none",width:this.props.small==="true"?"30px":this.props.width?this.props.width:"",minWidth:this.props.small==="true"?"30px":"60px",height:this.props.small==="true"?"30px":this.props.height?this.props.height:"50px",margin:this.props.margin||"0px 0px 0px 0px",borderRadius:this.props.round==="true"?"50%":this.props.round?this.props.round:"0px",maxWidth:this.props.maxWidth||"100%",verticalAlign:this.props.verticalAlign||"middle"};return bv.default.createElement("button",{style:this.props.disableButtonStyleByComponent?void 0:r,onClick:this.eventOnclickButton,title:R.t(this.props.title||""),name:this.props.name,disabled:!!this.props.disabled,className:this.props.className},bv.default.createElement("span",{className:"button--children"},this.props.children))}},Kt=j2;var z2=class extends Nh.Component{constructor(t){super(t),this.state={}}render(){return Nh.default.createElement("span",{className:"button__expand"},Nh.default.createElement(Kt,{className:"button__icon button__primary",id:"expandTelegramUsers",callback:this.props.callback,disableButtonStyleByComponent:!0},Nh.default.createElement("i",{className:"material-icons"},this.props.isOpen?"expand_more":"chevron_right")))}},nC=z2;var An=y(D());var ko=y(D());var Od=y(D());var W2=class extends Od.Component{constructor(){super(...arguments);A(this,"onChangeHandler",r=>{let o={val:r==null?void 0:r.target.value,index:this.props.index,id:this.props.id};this.props.callback(o)})}render(){return Od.default.createElement("div",{className:`input__container ${this.props.class||""}`},Od.default.createElement("label",null,Od.default.createElement("input",{type:this.props.type?this.props.type:"text",className:"InputField noneDraggable",placeholder:R.t(this.props.placeholder||""),value:this.props.value,disabled:this.props.disabled,onChange:this.onChangeHandler,spellCheck:this.props.spellCheck?this.props.spellCheck:!1,onMouseOver:this.props.onMouseOver?r=>{var o,a;return(a=(o=this.props).onMouseOver)==null?void 0:a.call(o,r,this.props.setState)}:void 0,onMouseLeave:this.props.onMouseLeave?r=>{var o,a;return(a=(o=this.props)==null?void 0:o.onMouseLeave)==null?void 0:a.call(o,r,this.props.setState)}:void 0}),Od.default.createElement("span",{className:"input__icon"},this.props.children),Od.default.createElement("p",null,this.props.label)))}},ln=W2;var Sv=y(D());var oi=y(D());var U2=class extends oi.Component{constructor(t){super(t),this.state={menuName:this.props.value||"",disable:!0,inUse:!1}}componentDidMount(){if(this.props.drag){let t=document.querySelector(".DialogBackground");t.draggable=!0}}render(){let t={position:"absolute",top:this.props.top?this.props.top:"50%",left:this.props.left?this.props.left:"50%",right:this.props.right?this.props.right:"50%",transform:"translate(-50%, -60%)",backgroundColor:"#fff",width:this.props.width||"400px",height:this.props.height||"200px",zIndex:"100",borderRadius:"4px",border:"2px solid #ccc"};return oi.default.createElement("div",{className:`DialogBackground ${this.props.class||""}`,ref:this.props.reference?this.props.reference:null,onDragStart:this.props.onDragStart?r=>this.props.onDragStart(r,this.props.setState):void 0,onDragEnd:this.props.onDragEnd?r=>this.props.onDragEnd(r,this.props.setState):void 0,onDragOver:this.props.onDragOver?r=>this.props.onDragOver(r,this.props.setState):void 0,onDrop:this.props.onDrop?r=>this.props.onDrop(r,this.props.setState):void 0,onDrag:this.props.onDrag?r=>this.props.onDrag(r,this.props.setState):void 0,onMouseEnter:this.props.onMouseEnter?r=>this.props.onMouseEnter(r,this.props.setState):void 0,onMouseLeave:this.props.onMouseLeave?r=>this.props.onMouseLeave(r,this.props.setState):void 0},oi.default.createElement("div",{className:"DialogContainer",style:t},oi.default.createElement("div",{className:"DialogContainer-Header"},this.props.title),oi.default.createElement("div",{className:"DialogContainer-Body"},this.state.inUse?oi.default.createElement("p",{className:"inUse"},R.t("Call is already in use!")):null,this.props.children),oi.default.createElement("div",{className:"DialogContainer-Footer"},this.props.closeBtn?null:oi.default.createElement(Kt,{className:`button button__ok ${this.props.isOK?"button--hover":"button--disabled"}`,callbackValue:!0,callback:this.props.callback,name:this.props.labelBtnOK?this.props.labelBtnOK:"ok",disabled:this.state.disable&&!this.props.isOK},R.t(this.props.labelBtnOK?this.props.labelBtnOK:"ok")),oi.default.createElement(Kt,{className:"button button__close",callbackValue:!1,callback:this.props.callback,maxWidth:"200px",name:"cancel"},this.props.closeBtn?R.t("close"):R.t("abort")))))}},ra=U2;var Tv=y(D());var H2=class extends Tv.Component{constructor(t){super(t),this.state={}}render(){return Tv.default.createElement("div",{className:"RenameCard"},Tv.default.createElement(ln,{value:this.props.value,id:this.props.id,callbackValue:"event.target.value",callback:({val:t})=>this.props.callback.setState({[this.props.id]:t})}))}},sC=H2;var V2=class extends Sv.Component{constructor(t){super(t),this.state={}}render(){return Sv.default.createElement(ra,{title:this.props.title,callback:this.props.rename,isOK:this.props.isOK},Sv.default.createElement(sC,{value:this.props.value,callback:{setState:this.props.setState},id:this.props.id}))}},iC=V2;var $2=class e extends ko.Component{constructor(r){super(r);A(this,"addNewMenu",(r,o)=>{r=qY(r);let a=!1,n=kt(this.props.data.state.native.data),s=kt(this.props.data.state.native.userActiveCheckbox);if(!n||!s)return;let i={...this.props.data.state.native.usersInGroup};if(!this.props.data.state.native.data.nav)n.nav={},n.action={},s={},a=!0;else if(r!==""&&!this.props.data.state.native.data.nav[r])o?(n.nav[r]=n.nav[this.state.oldMenuName],n.action[r]=n.action[this.state.oldMenuName],s[r]=s[this.state.oldMenuName],i[r]=i[this.state.oldMenuName]):a=!0;else return;a&&(n.nav[r]=[{call:"StartSide",value:"Iobroker, Light, Grafana, Weather",text:"chooseAction",parse_mode:"false"}],n.action[r]={get:[],set:[],pic:[],echarts:[],events:[],httpRequest:[]},s[r]=!1,i[r]=[],this.setState({newMenuName:""})),this.updateNative(n,i,s),setTimeout(()=>{this.props.callback.setStateApp({activeMenu:r})},500)});A(this,"removeMenu",(r,o,a)=>{let n=kt(this.props.data.state.native.data),s=kt(this.props.data.state.native.usersInGroup),i=kt(this.props.data.state.native.userActiveCheckbox);if(!(!s||!i||!n)){if(delete n.nav[r],delete n.action[r],delete i[r],delete s[r],this.updateNative(n,s,i),o){this.props.callback.setStateApp({activeMenu:a});return}this.setFirstMenuInList(n)}});A(this,"openConfirmDialog",()=>{this.setState({confirmDialog:!0})});A(this,"renameMenu",({value:r})=>{if(!r){this.setState({renameDialog:!1});return}let o=this.state.oldMenuName,a=this.state.renamedMenuName;e.validateNewMenuName(a,o)||(this.addNewMenu(this.state.renamedMenuName,!0),setTimeout(()=>{this.removeMenu(o,!0,a)},1e3),this.setState({renameDialog:!1}))});A(this,"openRenameDialog",()=>{this.setState({renamedMenuName:this.state.oldMenuName}),this.setState({renameDialog:!0})});A(this,"buttonAddNewMenuHandler",({value:r})=>{this.addNewMenu(r,!1)});A(this,"appSetStateHandler",({id:r,value:o})=>{this.props.callback.setStateApp({[r]:o})});this.state={oldMenuName:"",newMenuName:"",renamedMenuName:"",confirmDialog:!1,renameDialog:!1,menuNameExists:!1,isOK:!1}}componentDidUpdate(r,o){if(o.oldMenuName!==this.props.data.state.activeMenu&&this.setState({oldMenuName:this.props.data.state.activeMenu,renamedMenuName:this.props.data.state.activeMenu}),o.newMenuName!==this.state.newMenuName&&this.setState({menuNameExists:this.validateMenuName()}),this.state.renamedMenuName&&o.renamedMenuName!==this.state.renamedMenuName){if(this.userChangedMenuName()&&this.setState({isOK:!1}),!this.props.data.state.native.usersInGroup)return;this.setState({isOK:!this.validateMenuName()})}}validateMenuName(){var r;return this.state.renamedMenuName!==""&&!!((r=this.props.data.state.native.usersInGroup)!=null&&r[this.state.renamedMenuName.replace(/ /g,"_")])}userChangedMenuName(){return this.state.renamedMenuName===this.props.data.state.activeMenu}updateNative(r,o,a){this.props.callback.updateNative("data",r,()=>this.props.callback.updateNative("usersInGroup",o,()=>this.props.callback.updateNative("userActiveCheckbox",a)))}static validateNewMenuName(r,o){return r===""||r==null||r===o}setFirstMenuInList(r){let o=Object.keys(r.nav)[0];this.props.callback.setStateApp({activeMenu:o})}render(){return ko.default.createElement(ko.default.Fragment,null,ko.default.createElement(zt,{item:!0,xs:12,sm:8,lg:4},ko.default.createElement(ln,{placeholder:R.t("addMenu"),id:"newMenuName",value:this.state.newMenuName,callback:({val:r})=>this.setState({newMenuName:r}),class:this.state.menuNameExists?"inUse":void 0})),ko.default.createElement(Kt,{callbackValue:this.state.newMenuName,callback:this.buttonAddNewMenuHandler,disabled:!this.state.newMenuName||this.state.newMenuName==="",className:`${!this.state.newMenuName||this.state.newMenuName===""?"button--disabled":"button--hover"} header__button_actions button button__add`},ko.default.createElement("i",{className:"material-icons"},"group_add"),R.t("add")),ko.default.createElement(Kt,{callback:this.openConfirmDialog,className:"button button__delete button--hover header__button_actions"},ko.default.createElement("i",{className:"material-icons"},"delete"),R.t("delete")),ko.default.createElement(Kt,{id:"openRenameMenu",callback:this.openRenameDialog,className:"button button--hover button__edit header__button_actions"},ko.default.createElement("i",{className:"material-icons"},"edit"),R.t("edit")),ko.default.createElement(Kt,{id:"showDropBox",callbackValue:!0,callback:this.appSetStateHandler,className:"button button--hover button__copy header__button_actions"},ko.default.createElement("i",{className:"material-icons translate "},"content_copy"),R.t("copy")),ko.default.createElement(Kt,{id:"showTriggerInfo",callbackValue:!0,callback:this.appSetStateHandler,className:" button button__info button--hover header__button_actions"},ko.default.createElement("i",{className:"material-icons translate "},"info"),R.t("overview")),this.state.confirmDialog?ko.default.createElement(Bi,{title:R.t("reallyDelete"),text:R.t("confirmDelete"),ok:R.t("yes"),cancel:R.t("cancel"),dialogName:"myConfirmDialogThatCouldBeSuppressed",onClose:r=>{r&&this.removeMenu(this.state.oldMenuName,!1),this.setState({confirmDialog:!1})}}):null,this.state.renameDialog?ko.default.createElement(iC,{rename:this.renameMenu,isOK:this.state.isOK,title:R.t("renameMenu"),value:this.state.renamedMenuName,setState:this.setState.bind(this),id:"renamedMenuName"}):null)}},dZ=$2;var wv=y(D());var G2=class extends wv.Component{constructor(r){super(r);A(this,"secondCallback",()=>{this.props.callback.setStateApp({showPopupMenuList:!1})});A(this,"menuList",Object.keys(this.props.usersInGroup));this.state={}}componentDidUpdate(r){r.usersInGroup!==this.props.usersInGroup&&(this.menuList=Object.keys(this.props.usersInGroup))}render(){return wv.default.createElement("div",{className:"MenuPopupCard-Popup"},this.menuList.map((r,o)=>wv.default.createElement(Kt,{key:o,b_color:"#fff",margin:"10px 5% 10px 5%",border:"1px solid black",round:"4px",id:"activeMenu",width:"90%",height:"40px",fontSize:"16px",callback:({id:a,innerText:n})=>{this.props.callback.setStateApp({[a]:n}),this.secondCallback()},callbackValue:"event.target.innerText"},r)))}},uZ=G2;var q2=class extends An.Component{constructor(){super(...arguments);A(this,"eventOnMouse",r=>{r&&(r.type==="mouseenter"&&this.props.callback.setStateApp({showPopupMenuList:!0}),r.type==="mouseleave"&&this.props.callback.setStateApp({showPopupMenuList:!1}))});A(this,"handleClick",()=>{this.props.callback.setStateApp({showPopupMenuList:!this.props.data.state.showPopupMenuList})})}showList(){return this.props.data.state.showPopupMenuList}isActiveMenu(){return this.props.data.state.activeMenu!=null}render(){return An.default.createElement(zt,{container:!0,spacing:1,className:"HeaderMenu-GridContainer"},An.default.createElement(zt,{item:!0,xs:12,sm:2,xl:1},An.default.createElement("div",{onMouseEnter:this.eventOnMouse,onMouseLeave:this.eventOnMouse,className:"HeaderMenu-menuPopupCard"},An.default.createElement(nC,{isOpen:this.showList(),callback:this.handleClick}),An.default.createElement("span",null,R.t("menuList")),this.showList()&&this.isActiveMenu()?An.default.createElement(uZ,{usersInGroup:this.props.data.state.native.usersInGroup,callback:this.props.callback}):null),An.default.createElement("div",{className:"MenuHeader-ActiveMenu"},An.default.createElement("p",null,R.t("activeMenu")),An.default.createElement("span",{className:"MenuHeader-borderActiveMenu"},this.isActiveMenu()?this.props.data.state.activeMenu:R.t("createMenu")))),An.default.createElement(dZ,{callback:this.props.callback,data:this.props.data}))}},fZ=q2;var ja=y(D());var Ih=y(D());var K2=class extends Ih.Component{constructor(){super(...arguments);A(this,"onChangeHandler",r=>{var o,a;this.props.callback({isChecked:r.target.checked,id:(o=this.props)==null?void 0:o.id,index:(a=this.props)==null?void 0:a.index})})}render(){return Ih.default.createElement("label",{className:"checkbox"},Ih.default.createElement("input",{type:"checkbox",checked:this.props.isChecked,onChange:this.onChangeHandler,title:this.props.title?R.t(this.props.title):"",className:this.props.class}),this.props.label?Ih.default.createElement("span",null,this.props.label):null)}},mo=K2;var Ul=y(D());var J2=class extends Ul.Component{constructor(r){super(r);A(this,"componentDidUpdate",()=>{this.props.data.usersInGroup!==this.state.usersInGroup&&this.setState({usersInGroup:this.props.data.usersInGroup}),this.props.data.state.activeMenu!==this.state.activeMenu&&this.setState({activeMenu:this.props.data.state.activeMenu})});A(this,"isUserChecked",()=>!this.props.data.usersInGroup||!this.props.data.usersInGroup[this.state.activeMenu]?!1:this.isUserInList());A(this,"checkboxClicked",({isChecked:r,id:o})=>{r&&this.props.setState({errorUserChecked:!1});let a=[...this.props.data.usersInGroup[this.state.activeMenu]];if(r&&!a.includes(o))a.push(o);else{let n=a.indexOf(o);n>-1&&a.splice(n,1)}this.props.callback.updateNative(`usersInGroup.${this.state.activeMenu}`,a)});this.state={usersInGroup:this.props.data.usersInGroup,name:this.props.user.name,activeMenu:this.props.data.state.activeMenu}}isUserInList(){return!this.state.activeMenu||this.props.data.usersInGroup[this.state.activeMenu].length==0?!1:this.props.data.usersInGroup[this.state.activeMenu].includes(this.props.user.name)}render(){let{name:r,chatID:o}=this.props.user;return Ul.default.createElement("div",{className:"TeleGrammUserCard-content"},Ul.default.createElement("div",{className:"TelegramUserCard-User"},Ul.default.createElement("p",{className:"TelegramUserCard-name"},r),Ul.default.createElement(mo,{class:"TelegramUserCard-checkbox",id:r,callback:this.checkboxClicked.bind(this),isChecked:this.isUserChecked(),index:0})),Ul.default.createElement("p",{className:"TelegramUserCard-ChatID"},"ChatID :",Ul.default.createElement("span",{className:"TelegramUserCard-ChatID"},o)))}},cZ=J2;var lC=y(D()),X2=class extends lC.Component{constructor(t){super(t),this.state={}}static render(){return lC.default.createElement("span",{className:"telegram__errorMessage"},R.t("userSelect"))}},mZ=X2;var pC=y(D()),Y2=class extends pC.Component{constructor(t){super(t),this.state={}}render(){return pC.default.createElement("div",{className:"cover__save_btn"})}},hZ=Y2;var Z2=class e extends ja.Component{constructor(r){super(r);A(this,"componentDidUpdate",r=>{r.data.usersInGroup!==this.props.data.usersInGroup&&this.checkUserSelection(),r.data.activeMenu!==this.props.data.activeMenu&&this.setState({menuChecked:this.props.data.userActiveCheckbox[this.props.data.activeMenu]})});A(this,"updateMenuOpen",()=>{this.setState({menuOpen:!this.state.menuOpen})});A(this,"menuActiveChecked",()=>this.props.data.userActiveCheckbox[this.props.data.activeMenu]);A(this,"clickCheckbox",({isChecked:r})=>{if(r){if(!this.checkUserSelection(!0))return}else this.setState({errorUserChecked:!1});this.setState({menuChecked:r}),this.props.callback.updateNative(`userActiveCheckbox.${this.props.data.activeMenu}`,r)});A(this,"checkUserSelection",r=>{var a;let o=this.props.data.usersInGroup;return(this.state.menuChecked||r)&&this.isMinOneUserChecked(o)?e.checkUsersAreActiveInTelegram(o[this.props.data.activeMenu],(a=this.props.data.state.native)==null?void 0:a.userListWithChatID)?!0:(this.setState({errorUserChecked:!0}),!1):!1});this.state={menuOpen:!0,errorUserChecked:!1,menuChecked:!1}}static checkUsersAreActiveInTelegram(r,o){for(let a of r)if(e.isUserActiveInTelegram(a,o))return!0;return!1}isMinOneUserChecked(r){var o;return((o=r[this.props.data.activeMenu])==null?void 0:o.length)>0}static isUserActiveInTelegram(r,o){return o.some(a=>a.name===r)}isUserGroupLength(){return Object.keys(this.props.data.usersInGroup).length!==0}render(){var r;return ja.default.createElement(zt,{container:!0,spacing:2},ja.default.createElement(zt,{item:!0,lg:12,md:12,xs:12},ja.default.createElement("div",{className:"telegram__users_container"},this.isUserGroupLength()?ja.default.createElement(nC,{isOpen:this.state.menuOpen,callback:this.updateMenuOpen}):null,this.state.menuOpen&&this.isUserGroupLength()?ja.default.createElement("div",{className:"telegram__users_card"},ja.default.createElement("div",null,ja.default.createElement("p",null,ja.default.createElement("span",{className:"telegram__users_description"},R.t("telegramUser")," "),this.state.errorUserChecked?ja.default.createElement(mZ,null):null),(r=this.props.data.state.native)==null?void 0:r.userListWithChatID.map((o,a)=>ja.default.createElement(cZ,{user:o,key:a,callback:this.props.callback,data:this.props.data,setState:this.setState.bind(this)}))),this.props.data.state.activeMenu!=null?ja.default.createElement(mo,{label:`${this.props.data.state.activeMenu} ${R.t("active")}`,id:"checkboxActiveMenu",isChecked:this.menuActiveChecked()||!1,callback:this.clickCheckbox,index:0}):null):null)),this.state.errorUserChecked?ja.default.createElement(hZ,null):null)}},xZ=Z2;var Q2=class extends kd.Component{constructor(t){super(t),this.state={}}isSettings(){return this.props.data.state.tab==="settings"}render(){return kd.default.createElement(zt,{container:!0,spacing:1,className:"Grid-HeaderMenu "},this.isSettings()?null:kd.default.createElement(zt,{item:!0,xs:12},kd.default.createElement(fZ,{data:this.props.data,callback:this.props.callback})),kd.default.createElement(zt,{item:!0,xs:12},this.isSettings()?null:kd.default.createElement(xZ,{data:{state:this.props.data.state,usersInGroup:this.props.data.state.native.usersInGroup,userActiveCheckbox:this.props.data.state.native.userActiveCheckbox,activeMenu:this.props.data.state.activeMenu||""},callback:this.props.callback})))}},gZ=Q2;var jf=y(D());var Hi=y(D());var yZ=y($()),vZ=Hi.createContext(null);function qMe(){let[e,t]=Hi.useState(null);return Hi.useEffect(()=>{t(`mui-p-${Math.round(Math.random()*1e5)}`)},[]),e}function Bf(e){let{children:t,value:r}=e,o=qMe(),a=Hi.useMemo(()=>({idPrefix:o,value:r}),[o,r]);return(0,yZ.jsx)(vZ.Provider,{value:a,children:t})}function dC(){return Hi.useContext(vZ)}function uC(e,t){let{idPrefix:r}=e;return r===null?null:`${e.idPrefix}-P-${t}`}function fC(e,t){let{idPrefix:r}=e;return r===null?null:`${e.idPrefix}-T-${t}`}var Ed=y(D());var bZ=y($()),KMe=Ed.forwardRef(function(t,r){let{children:o,...a}=t,n=dC();if(n===null)throw new TypeError("No TabContext provided");let s=Ed.Children.map(o,i=>Ed.isValidElement(i)?Ed.cloneElement(i,{"aria-controls":uC(n,i.props.value),id:fC(n,i.props.value)}):null);return(0,bZ.jsx)(Lm,{...a,ref:r,value:n.value,children:s})}),Fh=KMe;var SZ=y(D());function TZ(e){return te("MuiTabPanel",e)}var t8t=Q("MuiTabPanel",["root","hidden"]);var wZ=y($()),JMe=e=>{let{classes:t,hidden:r}=e;return re({root:["root",r&&"hidden"]},TZ,t)},XMe=W("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>({padding:e.spacing(3)})),YMe=SZ.forwardRef(function(t,r){let o=sS({props:t,name:"MuiTabPanel"}),{children:a,className:n,value:s,keepMounted:i=!1,...p}=o,l={...o},d=JMe(l),u=dC();if(u===null)throw new TypeError("No TabContext provided");let f=uC(u,s),c=fC(u,s);return(0,wZ.jsx)(XMe,{"aria-labelledby":c,className:K(d.root,n),hidden:s!==u.value,id:f,ref:r,role:"tabpanel",ownerState:l,...p,children:(i||s===u.value)&&a})}),Pd=YMe;var Po=y(D());var jr=y(D());var _v=y(D());var eM=class extends _v.Component{render(){return _v.default.createElement(Kt,{b_color:"#ddd",title:"Add",small:"true",round:"true",index:this.props.index,callbackValue:this.props.callbackValue,callback:this.props.callback},_v.default.createElement("i",{className:"material-icons"},"add"))}},Bh=eM;var Cv=y(D());var tM=class extends Cv.Component{render(){return Cv.default.createElement(Kt,{b_color:"blue",color:"white",title:"Search ID",small:"true",round:"true",verticalAlign:"inherit",callback:this.props.callback,callbackValue:this.props.index,className:this.props.disabled?this.props.disabled:` ${this.props.class}`?this.props.class:""},Cv.default.createElement("i",{className:"material-icons"},"search"))}},Ov=tM;var Rd=y(D());var rM=class extends Rd.Component{constructor(){super(...arguments);A(this,"onChangeHandler",r=>{r&&this.props.callback({[this.props.id]:r==null?void 0:r.target.value})})}render(){return Rd.default.createElement("div",{className:`textarea__container ${this.props.class||""}`},Rd.default.createElement("label",null,Rd.default.createElement("textarea",{className:"textarea__content noneDraggable",placeholder:R.t(this.props.placeholder||""),value:this.props.value||"",onChange:this.onChangeHandler,spellCheck:this.props.spellCheck?this.props.spellCheck:!1,onMouseOver:this.props.onMouseOver?r=>{var o,a;return(a=(o=this.props).onMouseOver)==null?void 0:a.call(o,r,this.props.setState)}:void 0,onMouseLeave:this.props.onMouseLeave?r=>{var o,a;return(a=(o=this.props).onMouseLeave)==null?void 0:a.call(o,r,this.props.setState)}:void 0,rows:this.props.rows,cols:this.props.cols}),Rd.default.createElement("div",{className:"textarea__children"},this.props.children),Rd.default.createElement("p",null,this.props.label)))}},_Z=rM;var ZMe=cl("light"),oM=class extends jr.Component{constructor(r){super(r);A(this,"updateId",r=>{let o=this.props.editedValueFromHelperText;if(o.includes("ID")){this.props.setState({editedValueFromHelperText:o.replace("ID",r)});return}else if(o.includes("'id':'")){let a=o.split("'id':'")[1].split("'}")[0];this.props.setState({editedValueFromHelperText:o.replace(a,r)});return}this.props.setState({editedValueFromHelperText:`${o} ${r}`})});A(this,"openSelectId",()=>{if(this.props.editedValueFromHelperText){if(this.props.editedValueFromHelperText.includes("'id':'")&&!this.props.editedValueFromHelperText.includes("ID")){let r=this.props.editedValueFromHelperText.split("'id':'")[1].split("'}")[0];this.setState({selectedId:r})}this.setState({showSelectId:!0})}});this.state={rows:this.props.helper[this.props.val],showSelectId:!1,selectedId:""}}render(){return jr.default.createElement(jr.default.Fragment,null,jr.default.createElement(Ni,{component:Ar,className:"HelperCard"},jr.default.createElement(Pa,{stickyHeader:!0,"aria-label":"sticky table",className:"HelperCard-Table"},jr.default.createElement(ds,null,jr.default.createElement(Fr,null,jr.default.createElement(Xe,null,"Text"),jr.default.createElement(Xe,{align:"left"},"Info"),jr.default.createElement(Xe,{align:"left"}))),jr.default.createElement(Ra,null,this.state.rows[this.props.helperTextForInput].map((r,o)=>jr.default.createElement(Fr,{key:o,sx:{"&:last-child td, &:last-child th":{border:0}}},jr.default.createElement(Xe,{component:"td",scope:"row"},r.text),jr.default.createElement(Xe,null,r.head?jr.default.createElement("div",{dangerouslySetInnerHTML:{__html:r.head}}):null,jr.default.createElement("div",{dangerouslySetInnerHTML:{__html:R.t(r.info)}})),r.text?jr.default.createElement(Xe,{align:"center"},jr.default.createElement(Bh,{index:o,callback:this.props.callback,callbackValue:r.text})):null))))),["nav","text","set","get","value"].includes(this.props.val)?jr.default.createElement(Ov,{class:"HelperCard-BtnSearch",index:0,callback:this.openSelectId}):null,jr.default.createElement(_Z,{value:this.props.editedValueFromHelperText.replace(/&/g,"&"),id:"editedValueFromHelperText",callback:this.props.setState,callbackValue:"event.target.value",label:"",rows:4}),this.state.showSelectId?jr.default.createElement(zl,{key:"tableSelect",imagePrefix:"../..",dialogName:this.props.data.adapterName,themeType:this.props.data.themeType,theme:ZMe,socket:this.props.data.socket,filters:{},selected:"",onClose:()=>this.setState({showSelectId:!1}),onOk:r=>{this.setState({showSelectId:!1}),this.updateId(r)}}):null)}},cC=oM;var QMe=[{status:"",places:["text","value"],data:[{text:"{status:'ID':true}",info:"statusMenu"}]},{newline:"",places:["text","set","get"],data:[{text:"\\n",info:"breakpointNewline"}]},{parse_Mode:"",places:["text","set","get"],data:[{text:" ",info:"parseModeBold"},{text:" ",info:"parseModeItalic"},{text:" ",info:"parseModeCode"},{text:"Link",info:"parseModeLink"}]},{time:"",places:["text","get"],data:[{text:"{time}",info:"convertsUnixTimestamp"}]},{change:"",places:["text","set","get"],data:[{text:'change{"true":"an","false":"aus"}',info:"changeFunction"}]},{textID:"",places:["text","set"],data:[{text:"",info:"insertID"}]}],kv={nav:{value:[{text:"menu:percent10:TRIGGER:",head:"Submenu Percent
",info:"menuPercent"},{text:"menu:number0-6-1-UNIT:TRIGGER:",head:"Submenu Number
",info:"menuNumber"},{text:"menu:switch-ein.true-aus.false:TRIGGER:",head:"Submenu Switch
",info:"menuSwitch"},{text:"menu:dynSwitch[Name1|value1, Name2|value2, value3]:TRIGGER:LengthOfRow:",head:"Submenu Dynamic Switch
",info:"menuDynamicSwitch"},{text:"menu:deleteAll:Navigation",head:"Submenu Delete All
",info:"menuDeleteAll"},{text:"menu:back",info:"menuBack"}],text:[{text:"{set:'id':'ID',val,ack}",info:"setID"},{text:"{time.lc,(DD MM YYYY hh:mm:ss:sss),id:'ID'}",info:"lcTimestamp"},{text:"{time.ts,(DD MM YYYY hh:mm:ss:sss),id:'ID'}",info:"tsTimestamp"}]},get:{text:[{text:"{math:/10}",info:"math"},{text:"{common.name}",info:"commonName"},{text:"&&",info:"placeholderValue"},{text:"{round:2}",info:"valueRound"},{text:"{time.lc,(DD MM YYYY hh:mm:ss:sss)}",info:"lcTimeStamp"},{text:"{time.ts,(DD MM YYYY hh:mm:ss:sss)}",info:"tsTimeStamp"},{text:'{var1:ID;var2:ID; var1 ==var2 ? "equal" : var1 < var2 ? "var1 is smaller" : "var1 is greater"}',info:"binding"},{text:"{json;[value-1-inJSON:NameTH-Col1,value-2-inJSON:NameTH-Col1];Header;}",info:"jsonTable"},{text:"{json;[name:Name];Header;shoppinglist;}",info:"jsonShoppingList"},{text:"{json;[value-1-inJSON:NameTH-Col1,value-2-inJSON:NameTH-Col1];Header;TextTable;}",info:"jsonTable"}]},set:{returnText:[{text:"{novalue}",info:"noValue"},{text:"&&",info:"placeholderValue"},{text:"{'id':'ID','text':'Your Text'}",info:"notifiedByChangeOfAnotherState"},{text:"{confirmSet:The value has been set:noValue}",info:"confirmSet"},{text:"{setDynamicValue:RequestText:Type:ConfirmText:ID:}",info:"setDynamicValue"}],values:[{text:"{id:ID}",info:"manuallyValue"},{text:"{value}",info:"modifiedSubmenuValue"}]}};QMe.forEach(e=>{e.data.forEach(t=>{e.places.includes("value")&&kv.nav.value.push(t),e.places.includes("text")&&kv.nav.text.push(t),e.places.includes("set")&&kv.set.returnText.push(t),e.places.includes("get")&&kv.get.text.push(t)})});var mC=kv;var hC=y(D()),xC=e=>hC.default.createElement("div",{className:"BtnCircleAdd"},hC.default.createElement("a",{onClick:()=>{e.callback()}},hC.default.createElement("i",{className:"material-icons"},"add_circle")));var Vi=e=>{let t=e==null?void 0:e.target;if(t.classList.contains("noneDraggable")){let r=t;for(;r;){if(r.tagName==="TR"&&!r.classList.contains("SubTable")){r.draggable=!1;return}r=r.parentElement}}},$i=e=>{let t=e==null?void 0:e.target;if(t.classList.contains("noneDraggable")&&!t.classList.contains("draggingDropBox")){let r=t;for(;r;){if(r.tagName==="TR"&&!r.classList.contains("SubTable")){r.draggable=!0;return}r=r.parentElement}}},Lh=(e,t,r,o,a,n)=>{if(r&&t){let s=t.target;return s.style.userSelect="text",!1}o({dropStart:e}),n&&n(a||{})},jh=(e,t)=>{t.preventDefault()},Lf=(e,t)=>{t({dropOver:e})},zh=(e,t,r)=>t===e&&r>e?{borderTop:"2px solid #3399cc"}:t===e&&r{e({dropStart:0}),e({dropOver:0}),t&&t({draggingRowIndex:null})},CZ=e=>e===0?"false":"true";function OZ(e,t,r){return e&&e.dropboxRight&&e.dropboxTop?{newX:e.dropboxRight-t,newY:e.dropboxTop+r}:{newX:5-t,newY:105+r}}var ai=y(D());var aM=class e extends ai.Component{constructor(r){super(r);A(this,"clickCheckBox",({isChecked:r})=>{this.setState({isChecked:r}),this.props.callback.checkAll(r)});this.state={checkAll:!1,isChecked:!1}}static shouldShowInHeader(r){return r.name!="trigger"&&r.name!="parse_mode"}static isHeaderForDataCheckbox(r){return["Con","Swi","Ack"].includes(r)?"table__head_checkbox":""}render(){return ai.default.createElement(ds,null,ai.default.createElement(Fr,null,ai.default.createElement(Xe,{align:"left",className:"table__head_checkbox"},ai.default.createElement(mo,{id:"checkbox",index:1,callback:this.clickCheckBox,isChecked:this.state.isChecked,obj:!0})),this.props.tab.entries.map((r,o)=>e.shouldShowInHeader(r)?ai.default.createElement(Xe,{key:o,align:"left",className:e.isHeaderForDataCheckbox(r.headline)},ai.default.createElement("span",{title:r.title?R.t(r.title):void 0},R.t(r.headline))):null),this.props.tab.popupCard.buttons.add?ai.default.createElement(Xe,{align:"left",className:"table__head_button"}):null,this.props.tab.popupCard.buttons.remove?ai.default.createElement(Xe,{align:"left",className:"table__head_button"}):null))}},kZ=aM;var ur=y(D());var Ev=y(D());var nM=class extends Ev.Component{render(){return Ev.default.createElement(Kt,{b_color:"red",color:"white",title:"Delete",small:"true",round:"true",callback:this.props.callback,callbackValue:this.props.index,className:this.props.disabled,disabled:this.props.disabled},Ev.default.createElement("i",{className:"material-icons"},"delete"))}},gC=nM;var Hl=y(D()),sM=class extends Hl.Component{constructor(t){super(t),this.state={openCopyPopup:!1,indexOfRowToCopyForModal:0}}render(){let{buttons:t}=this.props.data.tab.popupCard,{indexRow:r,rows:o}=this.props.data,{setStateEditor:a}=this.props.callback;return Hl.default.createElement(Hl.default.Fragment,null,t.add?Hl.default.createElement(Xe,{align:"center",className:"cellIcon"},Hl.default.createElement(Bh,{callback:()=>aC(r,this.props,a,this.props.callback.setStateTabActionContent),index:r})):null,t.remove?Hl.default.createElement(Xe,{align:"center",className:"cellIcon"},Hl.default.createElement(gC,{callback:({index:n})=>QY(n,this.props,a),index:r,disabled:o.length==1?"disabled":""})):null)}},EZ=sM;var Dd=y(D());var iM=class extends Dd.Component{constructor(){super(...arguments);A(this,"onChangeHandler",r=>{r&&this.props.callback({id:this.props.id,val:r.target.value})})}render(){return Dd.default.createElement("label",{className:"Select"},Dd.default.createElement("span",null,R.t(this.props.label||"")),Dd.default.createElement("select",{name:this.props.name,value:this.props.selected,onChange:this.onChangeHandler},Dd.default.createElement("option",{value:"",disabled:!0},R.t(this.props.placeholder||"")),this.props.options.map((r,o)=>Dd.default.createElement("option",{key:o,value:r},r))))}},Gi=iM;var Md=y(D());var Eo=y(D());var Ad=class Ad extends Eo.Component{constructor(r){super(r);A(this,"valueMapping",{trigger:R.t("trigger"),values:R.t("values"),returnText:R.t("returnText"),ack:R.t("ack"),confirm:R.t("confirm"),switch_checkbox:R.t("switchCheckbox"),parse_mode:R.t("parseMode"),newline_checkbox:R.t("newlineCheckbox"),text:R.t("text"),IDs:R.t("ids"),url:R.t("url"),user:R.t("user"),password:R.t("password"),filename:R.t("filename"),delay:R.t("delay"),ID:R.t("id"),menu:R.t("menu"),condition:R.t("condition"),picSendDelay:R.t("picSendDelay")});A(this,"checkboxChecked",({isChecked:r,index:o})=>{let a={...this.state.checked};a[o]=r,this.setState({checked:a}),this.props.callback.setStateRowEditor({targetCheckboxes:this.state.checked}),this.props.callback.setStateApp({copyDataObject:{targetCheckboxes:a}})});A(this,"saveData",({activeMenu:r,copyToMenu:o,tab:a,checkboxesToCopy:n,rowIndexToEdit:s,newTriggerName:i})=>{var d;let p=!((d=this.props.data.action[o])!=null&&d[a].length),l=this.copySelectedRowsToMenu({addTrigger:p,activeMenu:r,tab:a,rowIndexToEdit:s,checkboxesToCopy:n,copyToMenu:o,newTriggerName:i});l&&this.props.callback.updateNative("data",l)});this.state={checked:{},isOK:!1}}componentDidMount(){this.props.callback.setFunctionSave(this)}copySelectedRowsToMenu({activeMenu:r,tab:o,rowIndexToEdit:a,checkboxesToCopy:n,copyToMenu:s,addTrigger:i,newTriggerName:p}){let l=this.props.data.action[r][o][a],d=kt(this.props.data);if(!d)return;let u=!1;return d.action[s][o].length===0&&(u=!0),n.forEach((f,c)=>{if(f){if(u)return d=Ad.saveToGlobalObject(l,i,d,s,o,0,c,p),d;Object.keys(this.state.checked).forEach((h,g)=>{this.state.checked[g]&&(d=Ad.saveToGlobalObject(l,i,d,s,o,g,c))})}}),d}render(){var r;return Eo.default.createElement(Eo.default.Fragment,null,Eo.default.createElement(Pa,null,Eo.default.createElement(ds,null,Eo.default.createElement(Fr,null,Eo.default.createElement(Xe,{align:"left"}),(r=this.props.value)!=null&&r[0]?Object.keys(this.props.value[0]).map((o,a)=>Eo.default.createElement(Xe,{align:"left",key:a},this.valueMapping[o]||o)):null)),Eo.default.createElement(Ra,null,this.props.value?this.props.value.map((o,a)=>Eo.default.createElement(Fr,{key:a},Eo.default.createElement(Xe,{align:"left"},Eo.default.createElement(mo,{callback:this.checkboxChecked,id:"checkbox",index:a,isChecked:this.state.checked[a]||!1})),Object.keys(o).map((n,s)=>Eo.default.createElement(Xe,{align:"left",key:s},typeof o[n]=="string"?o[n]:o[n].map((i,p)=>Eo.default.createElement(Pa,{key:p},Eo.default.createElement(Ra,null,Eo.default.createElement(Fr,{className:"SubTable"},Eo.default.createElement(Xe,{align:"left"},i))))))))):null)))}};A(Ad,"saveToGlobalObject",(r,o,a,n,s,i,p,l)=>(Object.keys(r).forEach(d=>{var u;if(d==="trigger"||d==="parse_mode"){o&&(a=Ad.setDataWhenNoTabLength({copyData:a,menuName:n,tabActionName:s,rowParam:d,rowToCopy:r,elInRow:0,newTriggerName:l}));return}if(o){if(a=Ad.setDataWhenNoTabLength({copyData:a,menuName:n,tabActionName:s,rowParam:d,rowToCopy:r,elInRow:p,newTriggerName:""}),!((u=a.action[n][s][i])!=null&&u[d])){a.action[n][s][i][d]=[r[d][p]];return}a.action[n][s][i][d].push(r[d][p]);return}a.action[n][s][i][d].push(r[d][p])}),a)),A(Ad,"setDataWhenNoTabLength",({copyData:r,menuName:o,tabActionName:a,rowParam:n,rowToCopy:s,elInRow:i,newTriggerName:p})=>{if(!r.action[o][a].length){if(n==="trigger")return r.action[o][a].push({[n]:[p]}),r;r.action[o][a].push({[n]:[s[n][i]]})}return r});var lM=Ad,PZ=lM;var pM=class extends Md.Component{constructor(r){super(r);A(this,"updateSelect",({val:r})=>{this.setState({selectedMenu:r}),this.props.callback.setStateRowEditor({copyToMenu:r}),this.props.callback.setStateApp({copyDataObject:{targetActionName:r}})});this.state={selectedMenu:"",action:""}}componentDidMount(){this.setState({action:this.props.data.tab.value})}getAllMenusWithoutActiveMenu(){return Object.keys(this.props.data.state.native.usersInGroup)}getValuesInSelectedAction(){var r,o;return((o=(r=this.props.data.state.native.data.action)==null?void 0:r[this.state.selectedMenu])==null?void 0:o[this.state.action])||[]}render(){return Md.default.createElement("div",{className:"editor__modal_container"},Md.default.createElement("div",{className:"editor__modal_inputs"},R.t("activeMenu"),": ",this.props.data.state.activeMenu,Md.default.createElement("p",null,R.t("menuToCopy")),Md.default.createElement(Gi,{options:this.getAllMenusWithoutActiveMenu(),id:"selectedMenu",selected:this.state.selectedMenu||"",placeholder:"Select a menu",callback:this.updateSelect})),this.state.action!==""?Md.default.createElement(PZ,{value:this.getValuesInSelectedAction(),data:this.props.data.state.native.data,callback:{...this.props.callback,setStateRowEditor:this.props.callback.setStateRowEditor,setFunctionSave:this.props.callback.setFunctionSave}}):null)}},RZ=pM;var qi=y(D());var dM=class extends qi.Component{constructor(t){super(t),this.state={}}render(){let{newRow:t,newUnUsedTrigger:r}=this.props.data;return qi.default.createElement("div",{className:"editor__header"},qi.default.createElement(Kt,{callbackValue:!0,callback:this.props.callback.openCopyModal,className:`${this.props.data.isMinOneCheckboxChecked?"button--hover":"button--disabled"} button button__copy`,disabled:!this.props.data.isMinOneCheckboxChecked},qi.default.createElement("i",{className:"material-icons translate"},"content_copy"),R.t("copy")),t.trigger?qi.default.createElement("div",{className:"editor__header_trigger"},qi.default.createElement(Gi,{width:"10%",selected:t.trigger[0],options:r,id:"trigger",callback:({val:o})=>ZY({trigger:o},this.props,this.setState.bind(this)),callbackValue:"event.target.value",label:"Trigger",placeholder:"Select a Trigger"})):null,t.parse_mode?qi.default.createElement("div",{className:"editor__header_parseMode"},qi.default.createElement(mo,{id:"parse_mode",index:0,callback:this.props.callback.updateData,isChecked:Dh(t.parse_mode[0]),obj:!0,label:"Parse Mode"})):null)}},DZ=dM;var eNe=cl("light"),uM=class extends ur.Component{constructor(r){super(r);A(this,"updateData",r=>{YY(r,this.props,this.setState.bind(this))});A(this,"handleDrop",r=>{r!==this.state.dropStart&&eZ(this.state.dropStart,this.props,this.setState.bind(this),r-this.state.dropStart)});A(this,"disableInput",(r,o)=>{var a,n,s;return oC((s=(n=(a=this.state)==null?void 0:a.rows)==null?void 0:n[o])==null?void 0:s.switch_checkbox)&&r==="values"});A(this,"initCheckboxesForEachRow",()=>{let r=[];this.state.rows.forEach((o,a)=>{r[a]=!1}),this.setState({checkboxes:r})});A(this,"checkAll",r=>{let o=[...this.state.rows],a=[];o.forEach((n,s)=>{a[s]=r}),this.setState({checkboxes:a})});A(this,"setCheckbox",r=>{let o=[...this.state.checkboxes];o[r.index]=r.isChecked,this.setState({checkboxes:o})});A(this,"openCopyModal",()=>{this.setState({openCopyPopup:!0})});A(this,"closeCopyModal",r=>{r&&this.addSelectedDataToSelected(),this.initCheckboxesForEachRow(),this.setState({openCopyPopup:!1})});A(this,"addSelectedDataToSelected",()=>{if(this.functionSave){let r=this.getSaveData(),{isEmpty:o,action:a}=this.isActionTabEmpty(r);if(o){let n=a[r.activeMenu][r.tab][r.rowIndexToEdit].trigger[0];this.setState({openRenameModal:!0,triggerName:n,renamedTriggerName:n});return}this.functionSave.saveData(r)}});A(this,"getSaveData",()=>({checkboxesToCopy:this.state.checkboxes,copyToMenu:this.state.copyToMenu,activeMenu:this.props.data.state.activeMenu,tab:this.props.data.tab.value,rowIndexToEdit:this.props.data.rowIndexToEdit,newTriggerName:""}));A(this,"isMinOneItemChecked",()=>{var n;let r=!!this.props.data.state.copyDataObject.targetActionName,{isEmpty:o}=this.isActionTabEmpty(this.getSaveData());if(o&&r){this.setState({isValueOk:!0});return}let a=this.props.data.state.copyDataObject.targetCheckboxes;if(!a||!((n=Object.keys(a))!=null&&n.length)){this.setState({isValueOk:!1});return}this.setState({isValueOk:Object.keys(a).some(s=>a[s])})});A(this,"functionSave",null);A(this,"setFunctionSave",r=>{this.functionSave=r});A(this,"renameMenu",({value:r})=>{if(r){if(!this.functionSave)return;let o=this.getSaveData();o.newTriggerName=this.state.renamedTriggerName,this.functionSave.saveData(o)}this.setState({openRenameModal:!1})});this.state={rows:[],trigger:"",showSelectId:!1,selectIdValue:"",indexID:0,dropStart:0,dropEnd:0,dropOver:0,mouseOverNoneDraggable:!1,itemForID:"",openCopyPopup:!1,indexOfRowToCopyForModal:0,checkboxes:[],isMinOneCheckboxChecked:!1,copyModalOpen:!1,copyToMenu:"",openRenameModal:!1,isValueChanged:!1,triggerName:"",renamedTriggerName:"",saveData:{checkboxesToCopy:[],copyToMenu:"",activeMenu:"",tab:"",rowIndexToEdit:0,newTriggerName:""},targetCheckboxes:{},isValueOk:!1}}componentDidMount(){Wl(this.props,this.setState.bind(this),[],this.state.rows),this.initCheckboxesForEachRow()}componentDidUpdate(r,o){let{newRow:a}=this.props.data;if(r.data.newRow!==a&&(Wl(this.props,this.setState.bind(this),a),this.initCheckboxesForEachRow()),o.checkboxes!==this.state.checkboxes){let n=this.state.checkboxes.some(s=>s);this.setState({isMinOneCheckboxChecked:n})}o.renamedTriggerName!==this.state.renamedTriggerName&&this.state.renamedTriggerName!==this.state.triggerName&&this.setState({isValueChanged:!0}),(r.data.state.copyDataObject.targetCheckboxes!==this.props.data.state.copyDataObject.targetCheckboxes||r.data.state.copyDataObject.targetActionName!==this.props.data.state.copyDataObject.targetActionName)&&this.isMinOneItemChecked()}isActionTabEmpty(r){var n;let o=this.props.data.state.native.data.action;return{isEmpty:!((n=o[r.copyToMenu])!=null&&n[r.tab].length),action:o}}render(){var r,o;return ur.default.createElement("div",{className:"edit__container"},this.state.openRenameModal?ur.default.createElement(iC,{rename:this.renameMenu,isOK:this.state.isValueChanged,title:R.t("Rename trigger name"),value:this.state.renamedTriggerName,setState:this.setState.bind(this),id:"renamedTriggerName"}):null,ur.default.createElement(DZ,{callback:{...this.props.callback,updateData:({id:a,index:n,isChecked:s})=>this.updateData({id:a,index:n,val:s}),openCopyModal:this.openCopyModal.bind(this)},data:{...this.props.data,isMinOneCheckboxChecked:this.state.isMinOneCheckboxChecked}}),ur.default.createElement(Ni,{component:Ar,className:"edit__container_action"},ur.default.createElement(Pa,{stickyHeader:!0,"aria-label":"sticky table"},ur.default.createElement(kZ,{tab:this.props.data.tab,callback:{checkAll:this.checkAll}}),ur.default.createElement(Ra,null,this.state.rows?this.state.rows.map((a,n)=>ur.default.createElement(Fr,{key:n,sx:{"&:last-child td, &:last-child td":{border:0}},draggable:!0,onDrop:()=>this.handleDrop(n),onDragStart:s=>Lh(n,s,this.state.mouseOverNoneDraggable,this.setState.bind(this)),onDragEnd:()=>Wh(this.setState.bind(this)),onDragOver:s=>jh(n,s),onDragEnter:()=>Lf(n,this.setState.bind(this)),onDragLeave:()=>Lf(n,this.setState.bind(this)),style:zh(n,this.state.dropOver,this.state.dropStart)},ur.default.createElement(Xe,{component:"td",scope:"row",align:"left",className:"td--checkbox"},ur.default.createElement(mo,{id:"checkbox",index:n,callback:this.setCheckbox,isChecked:this.state.checkboxes[n]||!1,obj:!0})),a.IDs||a.IDs===""?ur.default.createElement(Xe,{component:"td",scope:"row",align:"left"},ur.default.createElement("span",{onMouseEnter:s=>Vi(s),onMouseLeave:s=>$i(s)},ur.default.createElement(ln,{value:a.IDs,id:"IDs",index:n,callback:this.updateData,className:"noneDraggable"},ur.default.createElement(Ov,{index:n,callback:()=>this.setState({showSelectId:!0,selectIdValue:a.IDs,indexID:n,itemForID:"IDs"})})))):null,this.props.data.tab.entries.map((s,i)=>!s.checkbox&&s.name!="IDs"&&s.name!="trigger"?ur.default.createElement(Xe,{align:"left",key:i},ur.default.createElement(ln,{value:typeof a[s.name]=="string"?a[s.name].replace(/&/g,"&"):"",id:s.name,index:n,callback:this.updateData,disabled:this.disableInput(s.name,n),type:s.type,className:"noneDraggable",onMouseOver:Vi,onMouseLeave:$i,setState:this.setState.bind(this)},s.btnCircleAdd?ur.default.createElement(xC,{callback:()=>this.props.callback.openHelperText({index:n,entry:s.name,subCard:this.props.data.tab.value})}):null),s.search?ur.default.createElement(Ov,{index:n,callback:()=>this.setState({showSelectId:!0,selectIdValue:a[s.name],indexID:n,itemForID:s.name})}):null):s.checkbox&&s.name!="parse_mode"?ur.default.createElement(Xe,{align:"left",className:"table__head_checkbox",key:i},ur.default.createElement(mo,{id:s.name,index:n,callback:({id:p,index:l,isChecked:d})=>this.updateData({id:p,index:l,val:d}),isChecked:Dh(a[s.name]),obj:!0})):null),ur.default.createElement(EZ,{callback:{...this.props.callback,setStateEditor:this.setState.bind(this)},data:{...this.props.data,rows:this.state.rows,indexRow:n}}))):null))),this.state.showSelectId?ur.default.createElement(zl,{key:"tableSelect",imagePrefix:"../..",dialogName:this.props.data.adapterName,themeType:this.props.data.state.themeType,theme:eNe,socket:this.props.data.socket,filters:{},selected:this.state.selectIdValue,onClose:()=>this.setState({showSelectId:!1}),root:(r=this.props.data.tab.searchRoot)==null?void 0:r.root,types:(o=this.props.data.tab.searchRoot)!=null&&o.type?this.props.data.tab.searchRoot.type:void 0,onOk:a=>{this.setState({showSelectId:!1}),tZ(a,this.props,this.state.indexID,this.setState.bind(this),this.state.itemForID)}}):null,this.state.openCopyPopup?ur.default.createElement(ra,{title:"Copy",class:"popupContainer__copy",isOK:this.state.isValueOk,labelBtnOK:"add",callback:({value:a})=>this.closeCopyModal(a)},ur.default.createElement(RZ,{data:{...this.props.data},callback:{...this.props.callback,setStateRowEditor:this.setState.bind(this),setFunctionSave:this.setFunctionSave.bind(this)},checkboxes:this.state.checkboxes})):null)}},AZ=uM;var ys=y(D());var Mn=y(D());var Pv=y(D());var fM=class extends Pv.Component{render(){return Pv.default.createElement(Kt,{b_color:"blue",color:"white",title:"Edit",small:"true",round:"true",callbackValue:this.props.callbackValue,index:this.props.index,callback:this.props.callback},Pv.default.createElement("i",{className:"material-icons"},"edit"))}},MZ=fM;var Rv=y(D());var cM=class extends Rv.Component{render(){return Rv.default.createElement(Kt,{b_color:"blue",color:"white",title:"Move up",small:"true",round:"true",callback:this.props.callback,callbackValue:this.props.index,className:this.props.disabled||""},Rv.default.createElement("i",{className:"material-icons"},"arrow_upward"))}},NZ=cM;var Dv=y(D());var mM=class extends Dv.Component{render(){return Dv.default.createElement(Kt,{b_color:"blue",color:"white",title:"Move down",small:"true",round:"true",callback:this.props.callback,callbackValue:this.props.index,className:this.props.disabled},Dv.default.createElement("i",{className:"material-icons"},"arrow_downward"))}},IZ=mM;var yC=e=>Mn.default.createElement(Mn.default.Fragment,null,e.showButtons&&e.showButtons.add?Mn.default.createElement(Xe,{align:"center",className:"cellIcon"},Mn.default.createElement(Bh,{callback:e.openAddRowCard,index:e.index})):null,e.showButtons&&e.showButtons.edit?Mn.default.createElement(Xe,{align:"center",className:"cellIcon"},Mn.default.createElement(MZ,{callback:e.editRow,index:e.index})):null,e.showButtons&&e.showButtons.moveUp?Mn.default.createElement(Xe,{align:"center",className:"cellIcon"},Mn.default.createElement(NZ,{callback:e.moveUp,index:e.index,disabled:e.index===0?"disabled":void 0})):null,e.showButtons&&e.showButtons.moveDown?Mn.default.createElement(Xe,{align:"center",className:"cellIcon"},Mn.default.createElement(IZ,{callback:e.moveDown,index:e.index,disabled:e.index===e.rows.length-1?"disabled":""})):null,e.showButtons&&e.showButtons.remove?Mn.default.createElement(Xe,{align:"center",className:"cellIcon"},e.notShowDelete?null:Mn.default.createElement(gC,{callback:e.deleteRow,index:e.index})):null);function FZ(e,t,r,o,a){let n=kt(e),s;r?s=n==null?void 0:n[t][o][r]:s=n==null?void 0:n[t][o];let i=s[a];return s.splice(a,1),{userArray:s,element:i,dataCopy:n}}var vC=({index:e,data:t,card:r,subCard:o,activeMenu:a,updateNative:n,upDown:s,newPositionIndex:i})=>{let{element:p,userArray:l,dataCopy:d}=FZ(t,r,o,a,e);s&&l.splice(e+s,0,p),i&&l.splice(i,0,p),o&&d?d[r][a][o]=l:d&&(d[r][a]=l),n("data",d)};var bC=({index:e,data:t,card:r,subCard:o,activeMenu:a,updateNative:n})=>{let{userArray:s,dataCopy:i}=FZ(t,r,o,a,e);o&&i?i[r][a][o]=s:i&&(i[r][a]=s),n("data",i)};var Nd=y(D());var hM=class extends Nd.Component{render(){return Nd.default.createElement(Pa,null,Nd.default.createElement(Ra,{className:"dynamicHeight"},this.props.data?this.props.data.map((t,r)=>Nd.default.createElement(Fr,{key:r,className:"SubTable"},Nd.default.createElement(Xe,{style:{padding:"0",border:"none"}},Nd.default.createElement("span",{draggable:!1,className:"noneDraggable",onMouseOver:o=>Vi(o),onMouseLeave:o=>$i(o)},this.props.name!="values"?Mh(t,this.props.entry):t)))):null))}},BZ=hM;var Id=class Id extends ys.Component{constructor(r){super(r);A(this,"getRows",()=>{let{activeMenu:r,native:o}=this.props.data.state,a=o.data.action;if(!a)return;let n=a[r][this.props.data.tab.value],s=[];if(n!==void 0){for(let i of n)s.push(Id.createData(this.props.data.tab.entries,i));this.setState({rows:s})}});A(this,"handleDrop",(r,o)=>{let a=o==null?void 0:o.target;for(;a;){if(a.tagName==="TR"&&!a.classList.contains("SubTable")&&a.classList.contains("draggingDropBox"))return;a=a.parentElement}r!==this.state.dropStart&&vC({index:this.state.dropStart,card:this.props.data.card,subCard:this.props.data.tab.value,upDown:r-this.state.dropStart,activeMenu:this.props.data.state.activeMenu,data:this.props.data.state.native.data,updateNative:this.props.callback.updateNative})});A(this,"editRow",({index:r})=>{let{activeMenu:o}=this.props.data.state,{data:a}=this.props.data.state.native,{setStateTabActionContent:n}=this.props.callback,s=kt(a);if(!s)return;let i=s[this.props.data.card][o][this.props.data.tab.value][r];console.log(i),i.trigger&&this.props.callback.addEditedTrigger(i.trigger[0]),n({newRow:i,editRow:!0,rowPopup:!0,rowIndexToEdit:r})});this.state={dropStart:0,dropEnd:0,dropOver:0,rows:[],mouseOverNoneDraggable:!1}}static createData(r,o){let a={};return r.forEach(n=>{a[n.name]=o[n.name]}),a}componentDidUpdate(r){let{activeMenu:o,native:a}=this.props.data.state;r.data.state.activeMenu!==o&&(this.getRows(),Id.updateHeight()),r.data.state.native.data.action!==a.data.action&&this.getRows()}componentDidMount(){this.getRows(),window.addEventListener("resize",Id.updateHeight),setTimeout(()=>{Id.updateHeight()},100)}static componentWillUnmount(){window.removeEventListener("resize",Id.updateHeight)}render(){return ys.default.createElement(Ra,{className:"TableDndAction-Body"},this.state.rows.map((r,o)=>ys.default.createElement(Fr,{key:o,sx:{"&:last-child td, &:last-child th":{border:0}},className:"no-select",draggable:!0,onDrop:a=>this.handleDrop(o,a),onDragStart:a=>{Lh(o,a,this.state.mouseOverNoneDraggable,this.setState.bind(this),{draggingRowIndex:o},this.props.callback.setStateApp)},onDragEnd:()=>Wh(this.setState.bind(this),this.props.callback.setStateApp),onDragOver:a=>jh(o,a),onDragEnter:()=>Lf(o,this.setState.bind(this)),style:zh(o,this.state.dropOver,this.state.dropStart)},r.trigger?ys.default.createElement(Xe,{align:"left",component:"td",scope:"row"},ys.default.createElement("span",{className:"noneDraggable",onMouseOver:a=>Vi(a),onMouseLeave:a=>$i(a)},r.trigger)):null,this.props.data.tab.entries.map((a,n)=>a.name!="trigger"&&a.name!="parse_mode"?ys.default.createElement(Xe,{className:"tdWithHeightForSubTable",align:"left",component:"td",scope:"row",key:n,style:a.width?{width:a.width}:void 0},ys.default.createElement(BZ,{data:r[a.name],setState:this.setState.bind(this),name:a.name,entry:a})):null),r.parse_mode?ys.default.createElement(Xe,{align:"left",component:"td",scope:"row"},ys.default.createElement("span",{className:"noneDraggable",onMouseOver:a=>Vi(a),onMouseLeave:a=>$i(a)},Mh(r.parse_mode[0]))):null,ys.default.createElement(yC,{openAddRowCard:this.props.callback.openAddRowCard,editRow:this.editRow,moveDown:()=>{},moveUp:()=>{},deleteRow:({index:a})=>bC({index:a,activeMenu:this.props.data.state.activeMenu,card:this.props.data.card,subCard:this.props.data.tab.value,updateNative:this.props.callback.updateNative,data:this.props.data.state.native.data}),rows:this.state.rows,index:o,showButtons:this.props.data.showButtons}))))}};A(Id,"updateHeight",()=>{let r=Array.from(document.getElementsByClassName("dynamicHeight")),o=Array.from(document.getElementsByClassName("tdWithHeightForSubTable"));r.forEach(n=>{n.style.height="auto"});let a=0;o.length>0&&o.forEach((n,s)=>{n&&r[s]&&r[s].offsetHeight!!(this.state.editedValueFromHelperText&&this.state.editedValueFromHelperText!==""&&this.state.editedValueFromHelperText!==this.state[this.state.helperTextFor]));A(this,"addEditedTrigger",r=>{let o=kt(this.props.data.state.unUsedTrigger);if(o&&r){this.setState({newUnUsedTrigger:[...o,r]});return}});A(this,"openAddRowCard",({index:r})=>{this.addEditedTrigger(null),this.setState({rowPopup:!0,rowIndexToEdit:r})});A(this,"eventModalButtonClick",({value:r})=>{r&&this.saveData(),this.setState({newUnUsedTrigger:null,rowPopup:!1,editRow:!1}),this.resetNewRow()});A(this,"resetNewRow",()=>{let r={};this.props.data.tab.entries.forEach(o=>{r[o.name]=[o.val||""]}),this.setState({newRow:r})});A(this,"getLengthOfData",(r,o)=>{var n,s;let{value:a}=this.props.data.tab;if((s=(n=r==null?void 0:r[o])==null?void 0:n[a])!=null&&s.length){this.setState({rowsLength:r[o][a].length});return}this.setState({rowsLength:0})});A(this,"openHelperText",r=>{this.setState({valueForSave:r}),r&&this.setState({editedValueFromHelperText:this.state.newRow[r.entry][r.index],helperTextFor:r.subCard,helperTextForInput:r.entry}),this.setState({helperText:!0})});A(this,"onchangeValueFromHelper",({value:r})=>{if(this.state.editedValueFromHelperText===null){this.setState({editedValueFromHelperText:r});return}this.setState({editedValueFromHelperText:`${this.state.editedValueFromHelperText} ${r}`})});A(this,"popupHelperCard",({value:r})=>{var o,a;if(r){let n=kt(this.state.newRow);if(!n||!this.state.valueForSave)return;n[(o=this.state.valueForSave)==null?void 0:o.entry][(a=this.state.valueForSave)==null?void 0:a.index]=this.state.editedValueFromHelperText,this.setState({newRow:n})}this.setState({helperText:!1,editedValueFromHelperText:null})});A(this,"addNewRow",({index:r})=>{this.setState({rowPopup:!0});let o={data:{newRow:this.state.newRow,tab:{entries:this.props.data.tab.entries}}};aC(r,o,this.props.callback.setStateApp,this.props.callback.setStateApp)});this.state={rowPopup:!1,rowIndexToEdit:0,editRow:!1,newRow:{},rowsLength:0,newUnUsedTrigger:this.props.data.state.unUsedTrigger,helperText:!1,helperTextFor:"",helperTextForInput:"",editedValueFromHelperText:null,isOK:!1,valueForSave:null,inputValuesAreOK:!0,disableInput:!1,nav:"",text:""}}componentDidUpdate(r,o){let{native:a,activeMenu:n}=this.props.data.state;o.editedValueFromHelperText!==this.state.editedValueFromHelperText&&this.state.editedValueFromHelperText!==null&&this.state.editedValueFromHelperText!==void 0&&this.state.editedValueFromHelperText!==""&&this.setState({isOK:this.checkNewValueIsOK()}),(r.data!==this.props.data||n!==r.data.state.activeMenu)&&this.getLengthOfData(a.data.action,n),o.newRow!==this.state.newRow&&this.disableButtonHandler()}disableButtonHandler(){let{tab:r}=this.props.data,o=!0,a=this.state.newRow;r.entries.forEach(n=>{!n.checkbox&&n.required&&(a[n.name]||(a[n.name]=[""]),a[n.name].forEach(s=>{if(o&&n.name==="values"){typeof s!="string"&&(o=!1);return}o&&s==""&&(o=!1)}))}),this.state.inputValuesAreOK!==o&&this.setState({inputValuesAreOK:o})}componentDidMount(){var a;let{native:r,activeMenu:o}=this.props.data.state;this.resetNewRow(),this.getLengthOfData((a=r.data)==null?void 0:a.action,o)}saveData(){let{value:r}=this.props.data.tab,{native:o,activeMenu:a}=this.props.data.state,n=kt(o.data);n&&(n.action[a][r]||(n.action[a][r]=[]),this.state.editRow?n.action[a][r].splice(this.state.rowIndexToEdit,1,this.state.newRow):n.action[a][r].splice(this.state.rowIndexToEdit+1,0,this.state.newRow),this.props.callback.updateNative("data",n))}render(){return Po.default.createElement(Po.default.Fragment,null,this.state.rowsLength==0?Po.default.createElement(Kt,{b_color:"#96d15a",title:"addAction",width:"50%",margin:"0 18px",height:"50px",index:null,callback:this.addNewRow},Po.default.createElement("i",{className:"material-icons translate"},"add"),R.t("addAction")):Po.default.createElement(Ni,{component:Ar,className:"ActionCard-Container"},Po.default.createElement(Pa,{stickyHeader:!0,"aria-label":"sticky table"},Po.default.createElement(ds,null,Po.default.createElement(Fr,null,this.props.data.tab.entries.map((r,o)=>Po.default.createElement(Xe,{key:o},Po.default.createElement("span",{title:r.title?R.t(r.title):void 0},R.t(r.headline)))),Array(Object.keys(this.props.data.showButtons).length).fill(void 0).map((r,o)=>Po.default.createElement(Xe,{key:o,align:"center",className:"cellIcon"})))),Po.default.createElement(LZ,{data:this.props.data,callback:{...this.props.callback,setStateTabActionContent:this.setState.bind(this),openAddRowCard:this.openAddRowCard,addEditedTrigger:this.addEditedTrigger}}))),this.state.rowPopup?Po.default.createElement(ra,{callback:this.eventModalButtonClick,width:this.props.data.tab.popupCard.width,height:this.props.data.tab.popupCard.height,title:this.props.data.tab.label,isOK:this.state.inputValuesAreOK},Po.default.createElement(AZ,{data:{...this.props.data,newRow:this.state.newRow,newUnUsedTrigger:this.state.newUnUsedTrigger||this.props.data.state.unUsedTrigger,rowIndexToEdit:this.state.rowIndexToEdit},callback:{...this.props.callback,setStateTabActionContent:this.setState.bind(this),openHelperText:this.openHelperText}})):null,this.state.helperText?Po.default.createElement(ra,{callback:this.popupHelperCard,width:"90%",height:"80%",title:"Helper Texte",setState:this.setState.bind(this),isOK:this.state.isOK,class:"HelperText"},Po.default.createElement(cC,{data:this.props.data,helper:mC,name:"action",val:this.state.helperTextFor,text:this.state.text,helperTextForInput:this.state.helperTextForInput,callback:this.onchangeValueFromHelper,editedValueFromHelperText:this.state.editedValueFromHelperText,setState:this.setState.bind(this)})):null)}},jZ=gM;var Uh=y(D());var yM=class extends Uh.Component{constructor(r){super(r);A(this,"handleChange",(r,o)=>{this.props.callback.setStateApp&&this.props.callback.setStateApp({subTab:o}),this.props.setState({value:o})});this.state={}}render(){return Uh.default.createElement(Le,{sx:{borderBottom:1,borderColor:"divider"}},Uh.default.createElement(Fh,{onChange:this.handleChange,"aria-label":"lab API tabs example",className:"App-TabList TabList-Action"},Rh.map((r,o)=>Uh.default.createElement(Sn,{key:o,label:r.label,value:r.value}))))}},zZ=yM;var vM=class extends jf.Component{constructor(t){super(t),this.state={value:"set"}}render(){return jf.default.createElement(Bf,{value:this.state.value},jf.default.createElement(zZ,{callback:this.props.callback,setState:this.setState.bind(this)}),Rh.map((t,r)=>jf.default.createElement(Pd,{key:r,value:t.value,className:"TabPanel-Action"},jf.default.createElement(jZ,{callback:this.props.callback,data:{...this.props.data,tab:t,card:"action",showButtons:{add:!0,remove:!0,edit:!0}}}))))}},WZ=vM;var ni=y(D());var Ki=y(D());function tNe(e,t){let r={};return e.forEach(o=>{r[o.name]=t[o.name]}),r}var bM=class extends Ki.Component{constructor(r){super(r);A(this,"handleDrop",(r,o)=>{let a=r.target;for(;a;){if(a.tagName==="TR"&&a.classList.contains("draggingDropBox"))return;a=a.parentElement}o!==this.state.dropStart&&o!=0&&vC({index:this.state.dropStart,card:this.props.card,upDown:o-this.state.dropStart,data:this.props.data.state.native.data,activeMenu:this.props.data.state.activeMenu,updateNative:this.props.callback.updateNative})});A(this,"editRow",({index:r})=>{let{native:o,activeMenu:a}=this.props.data.state;if(o.data.nav&&a){let n=o.data.nav[a][r];this.props.setState({newRow:n})}this.props.setState({rowPopup:!0}),this.props.setState({rowIndex:r}),this.props.setState({editRow:!0})});this.state={dropStart:0,dropEnd:0,dropOver:0,mouseOverNoneDraggable:!1,rows:[]}}getRows(r,o){if(!r||!o)return;let a=r[o],n=[];if(a){for(let s of a)n.push(tNe(this.props.data.entries,s));this.setState({rows:n})}}componentDidMount(){let{native:r,activeMenu:o}=this.props.data.state;r.data.nav&&this.getRows(r.data.nav,o)}componentDidUpdate(r){let{native:o,activeMenu:a}=this.props.data.state,{nav:n}=o.data;(r.data.state.activeMenu!==a||r.data.state.native.data.nav!==n)&&this.getRows(o.data.nav,a)}render(){return Ki.default.createElement(Ra,null,this.state.rows.map((r,o)=>Ki.default.createElement(Fr,{key:o,sx:{"&:last-child td, &:last-child th":{border:0}},className:`no-select ${o===0?r.call!=""&&r.call!="-"?"startSideActive":"startSideInactive":""}`,draggable:CZ(o),onDrop:a=>this.handleDrop(a,o),onDragStart:a=>Lh(o,a,this.state.mouseOverNoneDraggable,this.setState.bind(this),{draggingRowIndex:o},this.props.callback.setStateApp),onDragEnd:()=>Wh(this.setState.bind(this),this.props.callback.setStateApp),onDragOver:a=>jh(o,a),onDragEnter:()=>Lf(o,this.setState.bind(this)),style:zh(o,this.state.dropOver,this.state.dropStart)},this.props.data.entries.map((a,n)=>Ki.default.createElement(Xe,{key:n,component:"td",style:{width:a.width?a.width:void 0}},Ki.default.createElement("span",{className:"noneDraggable",onMouseOver:s=>Vi(s),onMouseLeave:o==0?void 0:s=>$i(s)},Mh(r[a.name])," ",Ki.default.createElement("span",{draggable:!1,className:`textSubmenuInfo noneDraggable ${n===0&&(r.call===""||r.call==="-")?"":"startSideHideInfo"}`},o===0&&(r.call===""||r.call==="-")?Ki.default.createElement("span",null,R.t("isSubmenu")):null)))),Ki.default.createElement(yC,{openAddRowCard:this.props.openAddRowCard,editRow:this.editRow,moveDown:()=>{},moveUp:()=>{},deleteRow:()=>bC({index:o,card:this.props.card,activeMenu:this.props.data.state.activeMenu,data:this.props.data.state.native.data,updateNative:this.props.callback.setStateApp}),rows:this.state.rows,index:o,showButtons:this.props.showButtons,notShowDelete:o==0}))))}},UZ=bM;var Ji=y(D());var TM=class extends Ji.Component{constructor(t){super(t),this.state={}}render(){return Ji.default.createElement(ds,null,Ji.default.createElement(Fr,null,this.props.entries.map((t,r)=>Ji.default.createElement(Xe,{key:r,align:"left"},Ji.default.createElement("span",{title:t.title?R.t(t.title):void 0},R.t(t.headline)))),Ji.default.createElement(Xe,{align:"center",className:"cellIcon"}),Ji.default.createElement(Xe,{align:"center",className:"cellIcon"}),Ji.default.createElement(Xe,{align:"center",className:"cellIcon"})))}},HZ=TM;var Fd=y(D());var SM=class extends Fd.Component{constructor(t){super(t),this.state={}}render(){return Fd.default.createElement("div",{className:"edit__container"},this.props.entries.map((t,r)=>t.name!="value"&&t.name!="text"&&!t.checkbox?Fd.default.createElement(ln,{key:r,value:this.props.newRow[t.name],id:t.name,callback:this.props.callback.onChangeInput,callbackValue:"event.target.value",label:R.t(t.headline),class:this.props.inUse?"inUse":""}):t.name=="value"||t.name=="text"?Fd.default.createElement(ln,{key:r,value:this.props.newRow[t.name],id:t.name,callback:this.props.callback.onChangeInput,callbackValue:"event.target.value",label:R.t(t.headline)},Fd.default.createElement(xC,{callback:()=>this.props.openHelperText(t.name)})):Fd.default.createElement(mo,{key:r,id:t.name,index:r,class:"checkbox__line",callback:this.props.callback.onChangeCheckbox,isChecked:Dh(this.props.newRow[t.name]),obj:!0,label:R.t(t.headline)})))}},VZ=SM;var Av=y(D());var wM=class extends Av.Component{constructor(r){super(r);A(this,"changeInput",({val:r,id:o})=>{let a=kt(this.props.state.newRow);a&&(o&&(a[o]=r.toString()),this.props.setState({newRow:a}))});A(this,"changeCheckbox",({isChecked:r,id:o})=>{let a=kt(this.props.state.newRow);a&&(o&&(a[o]=r.toString()),this.props.setState({newRow:a}))});A(this,"openHelperText",r=>{r&&(this.props.setState({editedValueFromHelperText:this.props.state.newRow[r]}),this.props.setState({helperTextFor:r})),this.props.setState({helperText:!0})});this.state={}}render(){return Av.default.createElement(ra,{callback:this.props.popupRowCard,call:this.props.state.call,nav:this.props.state.nav,text:this.props.state.text,usedTrigger:this.props.data.state.usedTrigger,width:"99%",height:"40%",title:"Navigation",setState:this.props.setState.bind(this),isOK:this.props.state.valuesAreOk},Av.default.createElement(VZ,{callback:{onChangeInput:this.changeInput,onChangeCheckbox:this.changeCheckbox},inUse:this.props.state.callInUse,openHelperText:this.openHelperText,entries:this.props.data.entries,newRow:this.props.state.newRow}))}},$Z=wM;var Mv=y(D());var _M=class extends Mv.Component{constructor(r){super(r);A(this,"onchangeValueFromHelper",({value:r})=>{this.props.state.editedValueFromHelperText===null&&this.props.setState({editedValueFromHelperText:r}),this.props.setState({editedValueFromHelperText:`${this.props.state.editedValueFromHelperText} ${r}`})});this.state={}}render(){return Mv.default.createElement(ra,{callback:this.props.popupHelperCard,width:"90%",height:"80%",title:"Helper Texte",setState:this.setState.bind(this),isOK:this.props.state.isOK,class:"HelperText"},Mv.default.createElement(cC,{data:{adapterName:this.props.data.adapterName,socket:this.props.data.socket,themeType:this.props.data.themeType},helper:mC,name:"nav",val:"nav",helperTextForInput:this.props.state.helperTextFor,text:this.props.state.newRow.text,callback:this.onchangeValueFromHelper,editedValueFromHelperText:this.props.state.editedValueFromHelperText||"",setState:this.props.setState.bind(this)}))}},GZ=_M;var CM=class extends ni.Component{constructor(r){super(r);A(this,"checkValueAlreadyUsed",()=>{this.state.newRow.text!==""?this.state.editRow?this.setState({valuesAreOk:!0}):this.props.data.state.usedTrigger.includes(this.state.newRow.call)||this.state.newRow.call.startsWith("menu")?this.setState({valuesAreOk:!1}):this.setState({valuesAreOk:!0}):this.setState({valuesAreOk:!1}),this.state.newRow.call!==""&&(this.state.editRow?this.setState({callInUse:!1}):this.props.data.state.usedTrigger.includes(this.state.newRow.call)||this.state.newRow.call.startsWith("menu")?this.setState({callInUse:!0}):this.setState({callInUse:!1}))});A(this,"checkNewValueIsOK",()=>this.state.editedValueFromHelperText!==null&&this.state.editedValueFromHelperText!==void 0&&this.state.editedValueFromHelperText!==""&&this.state.editedValueFromHelperText!==this.state[this.state.helperTextFor]);A(this,"popupRowCard",({value:r})=>{if(!r){this.setState({rowPopup:!1,editRow:!1});return}let o=JSON.parse(JSON.stringify(this.props.data.state.native.data)),a=o.nav[this.props.data.state.activeMenu];this.state.editRow?a.splice(this.state.rowIndex,1,this.state.newRow):a.splice(this.state.rowIndex+1,0,this.state.newRow),o.nav[this.props.data.state.activeMenu]=a,this.props.callback.updateNative("data",o),this.setState({rowPopup:!1,editRow:!1})});A(this,"openAddRowCard",({index:r})=>{r&&this.setState({rowIndex:r});let o={};this.props.data.entries.forEach(a=>{o[a.name]=a.val}),this.setState({newRow:o,rowPopup:!0})});A(this,"popupHelperCard",({value:r})=>{if(r){let o=kt(this.state.newRow);if(!o)return;let a=this.state.helperTextFor;o[a]=this.state.editedValueFromHelperText,this.setState({newRow:o})}this.setState({helperText:!1,editedValueFromHelperText:null})});this.state={rowPopup:!1,rowIndex:0,editRow:!1,valuesAreOk:!1,callInUse:!1,helperTextFor:"",editedValueFromHelperText:null,isOK:!1,helperText:!1,newRow:{},nav:"",call:"",text:""}}componentDidUpdate(r,o){o.editedValueFromHelperText!==this.state.editedValueFromHelperText&&this.state.editedValueFromHelperText!==null&&this.state.editedValueFromHelperText!==void 0&&this.state.editedValueFromHelperText!==""&&this.setState({isOK:this.checkNewValueIsOK()}),o.newRow!==this.state.newRow&&this.checkValueAlreadyUsed()}render(){return ni.default.createElement(ni.default.Fragment,null,ni.default.createElement(Ni,{component:Ar,className:"MenuNavigation-Container"},ni.default.createElement(Pa,{stickyHeader:!0,"aria-label":"sticky table"},ni.default.createElement(HZ,{entries:this.props.data.entries}),ni.default.createElement(UZ,{data:this.props.data,callback:this.props.callback,card:"nav",showButtons:{add:!0,remove:!0,edit:!0},openAddRowCard:this.openAddRowCard,setState:this.setState.bind(this)}))),this.state.rowPopup?ni.default.createElement($Z,{state:this.state,setState:this.setState.bind(this),data:this.props.data,popupRowCard:this.popupRowCard}):null,this.state.helperText?ni.default.createElement(GZ,{state:this.state,setState:this.setState.bind(this),data:this.props.data,popupHelperCard:this.popupHelperCard}):null)}},qZ=CM;var qr=y(D());var OM=class extends qr.Component{constructor(r){super(r);A(this,"onClickCheckbox",({isChecked:r,id:o})=>{let a={...this.props.data.state.native.checkbox};a[o]=r,this.props.callback.updateNative("checkbox",a)});this.state={value:"/opt/iobroker/grafana/",options:["One","Two","Three"]}}componentDidMount(){if(!this.props.data.state.native.checkbox.sendMenuAfterRestart){let r={...this.props.data.state.native.checkbox};r.sendMenuAfterRestart=!0,this.props.callback.updateNative("checkbox",r)}}render(){return qr.default.createElement("div",{className:"Settings"},qr.default.createElement("h1",null,R.t("settings")),qr.default.createElement(zt,{container:!0,spacing:1},qr.default.createElement(zt,{item:!0,sm:12},qr.default.createElement(Gi,{placeholder:"placeholderInstance",options:this.props.data.state.instances||[],label:R.t("telegramInstance"),name:"instance",selected:this.props.data.state.native.instance,id:"instance",callback:({id:r,val:o})=>this.props.callback.updateNative(r,o),setNative:!0})),qr.default.createElement(zt,{item:!0,xs:12,sm:12,lg:4},qr.default.createElement(ln,{label:R.t("textNoEntry"),placeholder:"No entry found",callback:({id:r,val:o})=>this.props.callback.updateNative(r,o),id:"textNoEntry",value:this.props.data.state.native.textNoEntry||R.t("entryNotFound")})),qr.default.createElement(zt,{item:!0,xs:12,sm:12,lg:4},qr.default.createElement(ln,{label:R.t("Token Grafana"),placeholder:"Token Grafana",callback:({id:r,val:o})=>this.props.callback.updateNative(r,o),id:"tokenGrafana",value:this.props.data.state.native.tokenGrafana||""})),qr.default.createElement(zt,{item:!0,xs:12,sm:12,lg:4},qr.default.createElement(ln,{label:R.t("Directory"),placeholder:"/opt/iobroker/grafana/",callback:({id:r,val:o})=>this.props.callback.updateNative(r,o),id:"directory",value:this.props.data.state.native.directory||"/opt/iobroker/grafana/"})),qr.default.createElement(zt,{item:!0,xs:12},qr.default.createElement(mo,{label:R.t("Active"),id:"checkboxNoValueFound",isChecked:this.props.data.state.native.checkbox.checkboxNoValueFound||!1,callback:this.onClickCheckbox,index:0})),qr.default.createElement(zt,{item:!0,xs:12},qr.default.createElement(mo,{label:"Resize Keyboard",id:"resKey",isChecked:this.props.data.state.native.checkbox.resKey||!1,callback:this.onClickCheckbox,title:"Requests clients to resize the keyboard vertically for optimal fit (e.g., make the keyboard smaller if there are just two rows of buttons). Defaults to false, in which case the custom keyboard is always of the same height as the app's standard keyboard.",class:"title",index:1})),qr.default.createElement(zt,{item:!0,xs:12},qr.default.createElement(mo,{label:"One Time Keyboard",id:"oneTiKey",isChecked:this.props.data.state.native.checkbox.oneTiKey||!1,callback:this.onClickCheckbox,title:"oneTimeKey",class:"title",index:2})),qr.default.createElement(zt,{item:!0,xs:12},qr.default.createElement(mo,{label:R.t("sendMenuAfterRestart"),id:"sendMenuAfterRestart",isChecked:this.props.data.state.native.checkbox.sendMenuAfterRestart===null||this.props.data.state.native.checkbox.sendMenuAfterRestart===void 0?!0:this.props.data.state.native.checkbox.sendMenuAfterRestart,callback:this.onClickCheckbox,index:3}))))}},KZ=OM;var si=y(D()),kM=class extends si.Component{constructor(t){super(t),this.state={}}render(){return si.default.createElement(si.default.Fragment,null,si.default.createElement(Pd,{value:"nav"},si.default.createElement(qZ,{data:{...this.props.data,entries:GY},callback:this.props.callback})),si.default.createElement(Pd,{value:"action",className:"tabAction"},si.default.createElement(WZ,{data:this.props.data,callback:this.props.callback})),si.default.createElement(Pd,{value:"settings"},si.default.createElement(KZ,{data:this.props.data,callback:this.props.callback})))}},JZ=kM;var Hh=y(D());var EM=class extends Hh.Component{constructor(r){super(r);A(this,"handleChange",(r,o)=>{this.props.callback.setStateApp({tab:o})});A(this,"tabs",[{label:"navigation",value:"nav"},{label:"action",value:"action"},{label:"settings",value:"settings"}]);this.state={}}render(){return Hh.default.createElement(Le,{sx:{borderBottom:1,borderColor:"divider"}},Hh.default.createElement(Fh,{onChange:this.handleChange,"aria-label":"lab API tabs example",className:"App-TabList"},"Test",this.tabs.map(r=>Hh.default.createElement(Sn,{label:R.t(r.label),value:r.value,key:r.label}))))}},XZ=EM;var Vl=y(D()),PM=class extends Vl.Component{constructor(t){super(t),this.state={}}render(){return Vl.default.createElement(zt,{item:!0,xs:12,className:"app__content"},Vl.default.createElement(Le,{component:"div",sx:{width:"100%",typography:"body1"},className:"app__box"},Vl.default.createElement(Bf,{value:this.props.data.state.tab},Vl.default.createElement(XZ,{callback:this.props.callback}),Vl.default.createElement(gZ,{data:this.props.data,callback:this.props.callback}),Vl.default.createElement(JZ,{callback:this.props.callback,data:this.props.data}))))}},YZ=PM;var Vh=y(D());var RM=class extends Vh.Component{constructor(t){super(t),this.state={}}render(){return Vh.default.createElement("div",{className:"ErrorDoubleTrigger-Container"},Vh.default.createElement("p",{className:"Error-Header"},R.t("doubleTrigger")),this.props.state.doubleTrigger.map((t,r)=>Vh.default.createElement("p",{className:"Error-Items",key:r},t)))}},ZZ=RM;var Nv=y(D());var oa=y(D());var zf=class zf extends oa.Component{constructor(r){super(r);A(this,"updateMenuList",()=>{let r=Object.keys(this.props.data.state.native.usersInGroup);this.setState({menuList:r})});A(this,"handleOnDrop",()=>{var n,s;if(this.state.selectedMenu==="")return;let r=kt(this.props.data.state.native.data);if(!r)return;let o={},a=this.state.selectedValue;if(this.state.newTrigger===""&&this.props.data.state.subTab!=="events"){this.props.data.state.tab==="action"?o=this.props.data.state.native.data[this.props.data.state.tab][this.props.data.state.activeMenu][this.props.data.state.subTab][this.props.index]:o=this.props.data.state.native.data[this.props.data.state.tab][this.props.data.state.activeMenu][this.props.index],this.setState({rowToWorkWith:o});let i=(s=yv(r,(n=this.props.data.state.native)==null?void 0:n.usersInGroup,this.state.selectedMenu))==null?void 0:s.usedTrigger;if(this.setState({usedTrigger:i||[]}),this.props.data.state.tab==="action"&&"trigger"in o)if(a==="copy")o.trigger&&(i!=null&&i.includes(o.trigger[0]))&&this.setState({trigger:o.trigger[0],newTrigger:o.trigger[0],openRenamePopup:!0,oldTrigger:o.trigger[0]});else{let p=zf.countItemsInArray(i,o.trigger[0]);p&&p<=1?(this.setState({trigger:o.trigger[0],newTrigger:o.trigger[0]}),this.move(o,r)):this.setState({trigger:o.trigger[0],newTrigger:o.trigger[0],openRenamePopup:!0,oldTrigger:o.trigger[0]})}else if(a==="copy"&&"call"in o)i!=null&&i.includes(o.call)&&this.setState({trigger:o.call,newTrigger:o.call,openRenamePopup:!0,oldTrigger:o.call});else if("call"in o){let p=zf.countItemsInArray(i,o.call);p&&p<=1?(this.setState({trigger:o.call,newTrigger:o.call}),this.move(o,r)):this.setState({trigger:o.call,newTrigger:o.call,openRenamePopup:!0,oldTrigger:o.call})}}else this.props.data.state.subTab==="events"?o=this.props.data.state.native.data[this.props.data.state.tab][this.props.data.state.activeMenu][this.props.data.state.subTab][this.props.index]:o||(o=this.state.rowToWorkWith),a==="copy"?this.copy(o,r):this.move(o,r)});A(this,"move",(r,o)=>{this.props.data.state.tab==="action"&&this.props.data.state.subTab!=="events"?(this.state.newTrigger!==""&&"trigger"in r&&(r.trigger[0]=this.state.newTrigger),o[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab]||(o[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab]=[]),o[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab].push(r),o[this.props.data.state.tab][this.props.data.state.activeMenu][this.props.data.state.subTab].splice(this.props.index,1)):this.props.data.state.subTab=="events"?(o[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab]||(o[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab]=[]),o[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab].push(r),o[this.props.data.state.tab][this.props.data.state.activeMenu][this.props.data.state.subTab].splice(this.props.index,1)):(this.state.newTrigger!==""&&"call"in r&&(r.call=this.state.newTrigger),o[this.props.data.state.tab][this.state.selectedMenu].push(r),o[this.props.data.state.tab][this.props.data.state.activeMenu].splice(this.props.index,1)),this.props.callback.updateNative("data",o),this.setState({newTrigger:""})});A(this,"copy",(r,o)=>{this.props.data.state.tab==="action"&&this.props.data.state.subTab!=="events"&&"trigger"in r?(r.trigger[0]=this.state.newTrigger,o[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab].push(r)):this.props.data.state.subTab=="events"?o[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab].push(r):"call"in r&&(r.call=this.state.newTrigger,o[this.props.data.state.tab][this.state.selectedMenu].push(r)),this.props.callback.updateNative("data",o),this.setState({newTrigger:""})});A(this,"handleDrag",r=>{this.setState({inDropBox:r})});A(this,"handleChange",r=>{this.setState({selectedValue:r.target.value})});A(this,"renameMenu",({value:r})=>{if(!r){this.setState({openRenamePopup:!1,newTrigger:""});return}if(r){this.setState({openRenamePopup:!1}),this.handleOnDrop();return}this.setState({newTrigger:r})});this.state={inDropBox:!1,menuList:[],selectedMenu:"",selectedValue:"move",openRenamePopup:!1,trigger:"",newTrigger:"",usedTrigger:[],rowToWorkWith:{},isOK:!1,oldTrigger:""}}componentDidMount(){this.updateMenuList()}componentDidUpdate(r,o){r.data.state.activeMenu!==this.props.data.state.activeMenu&&(this.setState({selectedMenu:""}),this.updateMenuList()),o.newTrigger!==this.state.newTrigger&&(this.state.usedTrigger?this.state.usedTrigger.includes(this.state.newTrigger)||this.state.newTrigger===""||this.state.newTrigger===this.state.oldTrigger?this.setState({isOK:!1}):this.setState({isOK:!0}):this.setState({isOK:!0}))}render(){return oa.default.createElement("div",{className:"Dropbox--outerContainer"},oa.default.createElement("div",{className:"DropBox-Container"},oa.default.createElement("p",null,this.state.isOK),oa.default.createElement(Gi,{options:this.state.menuList,selected:this.state.selectedMenu,id:"selectedMenu",callback:({val:r})=>this.setState({selectedMenu:r}),placeholder:R.t("selectTargetMenu")}),oa.default.createElement("label",null,oa.default.createElement(Pt,{checked:this.state.selectedValue==="move",onChange:this.handleChange,value:"move",name:"radio-buttons",inputProps:{"aria-label":"A"}}),R.t("Move")),oa.default.createElement("label",null,oa.default.createElement(Pt,{checked:this.state.selectedValue==="copy",onChange:this.handleChange,value:"copy",name:"radio-buttons",inputProps:{"aria-label":"B"}}),R.t("Copy")),oa.default.createElement("div",{className:"DropBox",draggable:!0,onDrop:()=>this.handleOnDrop(),onDragOver:r=>zf.handleDragOver(r),onDragEnter:()=>this.handleDrag(!0),onDragLeave:()=>this.handleDrag(!1)},oa.default.createElement("p",{className:"DropBox-Header"},"Drop here!!!"),oa.default.createElement("p",{className:"DropBox-Content"},R.t("selectAMenuDropBox")))),this.state.openRenamePopup?oa.default.createElement("div",{className:"Dropbox--PopupContainer-RenameCard"},oa.default.createElement(ra,{title:R.t("Rename trigger"),value:this.state.trigger,callback:this.renameMenu,class:"DropBox-Background",isOK:this.state.isOK},oa.default.createElement(sC,{callback:{setState:this.setState.bind(this)},id:"newTrigger",value:this.state.newTrigger}))):null)}};A(zf,"handleDragOver",r=>{r.preventDefault()}),A(zf,"countItemsInArray",(r,o)=>{let a=0;if(r)return r.forEach(n=>{n.trim()===o.trim()&&a++}),a});var DM=zf,QZ=DM;var AM=class extends Nv.Component{constructor(r){super(r);A(this,"closeDropBox",()=>{this.props.callback.setStateApp({showDropBox:!1})});this.state={}}render(){return Nv.default.createElement(ra,{class:"DropBox-PopupContainer",reference:this.props.data.dropBoxRef,width:"99%",height:"25%",title:"DropBox",callback:this.closeDropBox,closeBtn:!0,drag:"true",onDragStart:rZ,onDragEnd:oZ,onDragOver:aZ,onDrop:nZ,onDrag:sZ,onMouseEnter:iZ,onMouseLeave:lZ,setState:this.props.callback.setStateApp},Nv.default.createElement(QZ,{data:this.props.data,index:this.props.data.state.draggingRowIndex,callback:this.props.callback}))}},eQ=AM;var $h=y(D());var MM=class extends $h.Component{constructor(t){super(t)}render(){return $h.default.createElement(zt,{item:!0,xs:12},$h.default.createElement("form",{className:"header__icons"},$h.default.createElement(cv,{instance:this.props.instance,common:this.props.common,native:this.props.native,onError:t=>this.setState({errorText:t}),onLoad:this.props.onLoad})))}},tQ=MM;var Lv=y(D());var ut=y(D());var Iv=["Aqua","Blue","BlueViolet","Brown","BurlyWood","CadetBlue","Chartreuse","Chocolate","Coral","CornflowerBlue","Crimson","Cyan","DarkBlue","DarkCyan","DarkGoldenRod","DarkGreen","DarkKhaki","DarkMagenta","DarkOliveGreen","DarkOrange","DarkOrchid","DarkRed","DarkSalmon","DarkSeaGreen","DarkSlateBlue","DarkSlateGray","DarkSlateGrey","DarkTurquoise","DarkViolet","DeepPink","DeepSkyBlue","DimGray","DimGrey","DodgerBlue","FireBrick","FloralWhite","ForestGreen","Fuchsia","Gainsboro","GhostWhite","Gold","GoldenRod","Gray","Grey","Green","GreenYellow","HoneyDew","HotPink","IndianRed","Indigo","Ivory","Khaki","Lavender","LavenderBlush","LawnGreen","LemonChiffon","LightBlue","LightCoral","LightCyan","LightGoldenRodYellow","LightGray","LightGrey","LightGreen","LightPink","LightSalmon","LightSeaGreen","LightSkyBlue","LightSlateGray","LightSlateGrey","LightSteelBlue","LightYellow","Lime","LimeGreen","Linen","Magenta","Maroon","MediumAquaMarine","MediumBlue","MediumOrchid","MediumPurple","MediumSeaGreen","MediumSlateBlue","MediumSpringGreen","MediumTurquoise","MediumVioletRed","MidnightBlue","MintCream","MistyRose","Moccasin","NavajoWhite","Navy","OldLace","Olive","OliveDrab","Orange","OrangeRed","Orchid","PaleGoldenRod","PaleGreen","PaleTurquoise","PaleVioletRed","PapayaWhip","PeachPuff","Peru","Pink","Plum","PowderBlue","Purple","RebeccaPurple","RosyBrown","RoyalBlue","SaddleBrown","Salmon","SandyBrown","SeaGreen","SeaShell","Sienna","Silver","SkyBlue","SlateBlue","SlateGray","SlateGrey","Snow","SpringGreen","SteelBlue","Tan","Teal","Thistle","Tomato","Turquoise","Violet","Wheat","White","WhiteSmoke","Yellow","YellowGreen"];var Fv=y(D()),NM=class extends Fv.Component{constructor(t){super(t),this.state={bColor:"",width:6,color:"black",text:"",left:"20px",fontWeight:"normal"}}getValuesForSquare(){switch(this.props.color){case"white":if(this.props.trigger=="-"){this.setState({bColor:"transparent"});break}this.setState({bColor:"white",width:60,text:"Not linked",left:"-59px",fontWeight:"bold"});break;case"black":this.setState({bColor:"black",width:this.props.noText?6:60,color:"white",text:this.props.noText?"":"Unused",left:this.props.noText?"-5px":"-59px",fontWeight:"bold"});break;default:this.props.trigger!="-"?this.setState({bColor:this.props.color,left:`${-(this.props.position*10+5)}px`}):this.setState({bColor:"transparent"});break}}componentDidMount(){this.getValuesForSquare()}componentDidUpdate(t){(this.props.color!==t.color||this.props.trigger!==t.trigger||this.props.position!==t.position)&&this.getValuesForSquare()}render(){return Fv.default.createElement("div",null,Fv.default.createElement("div",{className:"squareText",style:{width:`${this.state.width}px`,height:"10px",backgroundColor:this.state.bColor,color:this.state.color,marginRight:"5px",position:"absolute",left:this.state.left,display:"flex",alignItems:"center",justifyContent:"center",fontWeight:this.state.fontWeight}},R.t(this.state.text)))}},Bv=NM;var IM=class extends ut.Component{constructor(r){super(r);A(this,"dataOfIterate",{menu:""});A(this,"ulPadding",{});A(this,"colorArray",[]);A(this,"menuArray",[]);A(this,"updateHandler",({val:r})=>{this.setState({selected:r}),this.createdData(r)});this.state={ulPadding:{},trigger:null,selected:"",options:[]}}getMenusWithUserOrIndexOfMenu(r){let o=Object.keys(this.props.usersInGroup),a=[],n=this.props.usersInGroup[r];return o.forEach((s,i)=>{n.forEach(p=>{this.props.usersInGroup[s].includes(p)&&a.push({menu:s,index:i})})}),{menusWithUser:a,arrayUsersInGroup:o}}getIndexOfMenu(r){let o=Object.keys(this.props.usersInGroup),a=0,n=this.props.usersInGroup[r];return o.forEach((s,i)=>{n.forEach(p=>{this.props.usersInGroup[s].includes(p)&&s==r&&(a=i)})}),a}getColorUsedTriggerNav({menuCall:r,trigger:o}){var s,i;this.menuArray=[];let a=this.getMenusWithUserOrIndexOfMenu(r),n=Ah(a.menusWithUser);this.colorArray=[];for(let p of n)if(this.ulPadding[r]||(this.ulPadding[r]=0),(s=this.state.trigger)!=null&&s.everyTrigger[p.menu]&&((i=this.state.trigger)!=null&&i.everyTrigger[p.menu].includes(o)))for(let l=0;lut.default.createElement("div",{key:o,style:{position:"relative"}},ut.default.createElement(Bv,{color:"black",position:0,noText:!0}),ut.default.createElement("li",null,r))))),Object.keys(this.state.trigger.usedTrigger.action).map((r,o)=>{var a,n,s,i,p,l;return ut.default.createElement("div",{key:o,className:"Menu-list-card"},ut.default.createElement("div",{className:((a=this.state.trigger)==null?void 0:a.usedTrigger.nav[r][0])=="-"?"menu-disabled":"menu-startside"},ut.default.createElement("div",{style:{display:"flex",flexWrap:"wrap"}},ut.default.createElement("p",{className:"noMargin inlineBlock strong"},((n=this.state.trigger)==null?void 0:n.usedTrigger.nav[r][0])=="-"?"submenu":"startSide"),this.props.userActiveCheckbox[r]?ut.default.createElement("span",{className:"textRight active"}," ",R.t("Active")):ut.default.createElement("span",{className:"textRight inactive"}," ",R.t("Inactive"))),ut.default.createElement("p",{className:"noMargin"},R.t("setMenu"),": ",r)),ut.default.createElement("div",{className:"User-list-container",style:{border:`4px solid ${Iv[this.getIndexOfMenu(r)]}`}},ut.default.createElement("p",{className:"User-list"},R.t("userList")),this.props.usersInGroup[r].map((d,u)=>ut.default.createElement("p",{key:u},d))),ut.default.createElement("ul",{key:o,className:"Action-list",style:{paddingLeft:this.state.ulPadding[r]}},ut.default.createElement("li",null,ut.default.createElement("p",{className:"strong"},R.t("navigationButtons")),ut.default.createElement("ul",{className:"createdTrigger"},(s=this.state.trigger)==null?void 0:s.everyTrigger[r].map((d,u)=>ut.default.createElement("div",{key:u,style:{position:"relative"}},ut.default.createElement(Bv,{position:0,color:this.getColorNavElemente(o,r,d)||""}),ut.default.createElement("li",{key:u,title:`${R.t("linkedWith")} ${this.getMenu()}`},d))))),ut.default.createElement("li",{className:"strong"},R.t("usedTrigger")),ut.default.createElement("li",null,ut.default.createElement("p",{className:"menuDescription"},"nav"),ut.default.createElement("ul",null,(i=this.state.trigger)==null?void 0:i.usedTrigger.nav[r].map((d,u)=>{var f;return ut.default.createElement("div",{key:u,style:{position:"relative"}},(f=this.getColorUsedTriggerNav({index:o,menuCall:r,trigger:d}))==null?void 0:f.map((c,h)=>ut.default.createElement(Bv,{key:h,position:h,color:c.color,trigger:d})),ut.default.createElement("li",{className:u==0&&d=="-"?"menu-disabled":u==0?"menu-startside":"",title:`${R.t("linkedWith")} ${this.menuArray.join(", ")}`},d))}))),(p=this.state.trigger)!=null&&p.usedTrigger.action[r]?Object.keys((l=this.state.trigger)==null?void 0:l.usedTrigger.action[r]).map((d,u)=>{var f;return ut.default.createElement("li",{key:u},ut.default.createElement("p",{className:"menuDescription"},d),ut.default.createElement("ul",null,((f=this.state.trigger)==null?void 0:f.usedTrigger.action[r][d]).map((c,h)=>{var g;return ut.default.createElement("div",{key:h,style:{position:"relative"}},(g=this.getColorUsedTriggerNav({index:o,menuCall:r,trigger:c}))==null?void 0:g.map((m,x)=>ut.default.createElement(Bv,{key:x,position:x,color:m.color})),ut.default.createElement("li",{key:h,title:`${R.t("linkedWith")} ${this.menuArray.join(", ")}`},c))})))}):null))})):null)}},rQ=IM;var FM=class extends Lv.Component{constructor(t){super(t),this.state={}}render(){return Lv.default.createElement(ra,{title:"Trigger Info",width:"99%",height:"99%",top:"60%",class:"TriggerOverview-PopupContainer",closeBtn:!0,callback:({value:t})=>this.props.callback.setState({showTriggerInfo:t})},Lv.default.createElement(rQ,{usersInGroup:this.props.state.native.usersInGroup,userActiveCheckbox:this.props.state.native.userActiveCheckbox,data:this.props.state.native.data}))}},oQ=FM;var aQ=y(D()),BM=class extends aQ.Component{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(t){return console.error("ErrorBoundary getDerivedStateFromError:",t),{hasError:!0}}static componentDidCatch(t,r){console.error("Error caught by ErrorBoundary:",t,r)}render(){return this.props.children}},nQ=BM;var Xi=y(D());var sQ=e=>{let t=[...e],r=[];return t.forEach((o,a)=>{a!==t.indexOf(o)&&o!="-"&&r.push(o)}),r};function iQ(e){return Object.keys(e)[0]}var lQ={ID:"ID",IDs:"IDs",abort:"Abort",ack:"Ack",action:"Action",active:"Active",activeMenu:"Active Menu:",add:"Add",addAction:"Add new Action",addMenu:"Add new Menu Name",binding:"Bindings: First Var with id then the condition and the text.",breakpointNewline:"Breakpoint for a new line, Only insert this in the Text",call:"Call",cancel:"Cancel",changeFunction:"Changes the value in the return text, in this case from true to on and false to off",chooseAction:"Choose an action",close:"Close",commonName:"Outputs the name of the data point",condition:"Condition",conditionMenu:"Condition to open Menu",confirm:"Confirm",confirmDelete:"All data will be lost. Confirm?",confirmMessage:"Confirm with message",confirmSet:"Attention. The value has only been set but not yet confirmed by the Adapter. You can remove noValue, then the value will displayed. Position && replaced by Value or will be put at the End",convertsUnixTimestamp:"Converts a Unix timestamp to a local time",copy:"Copy",createMenu:"Please create a menu!",delay:"Delay (ms)",delete:"Delete",directory:"Directory",doubleTrigger:"You have double triggers, please remove them!",edit:"Edit",entryNotFound:"Entry not found!",executedMenu:"Executed Menu",filename:"Filename",hide:"Hide",identification:"Identification",inactive:"Inactive",insertID:"To insert an ID, simply insert the block first, select the ID. This will then be automatically inserted in the appropriate place, even if the ID is to be changed. If the code does not recognize the block, the ID is appended to the end.",instance:"Instance",isSubmenu:"This is a Submenu!",jsonShoppingList:"The same as above, but when you click on a button, the item will be deleted,the Key for the Items is `name:`, you can also add `time:`. Important!!! 'shoppinglist' may not be changed.",jsonTable:"!!! To use it, parseMode must not be active !!! Creates a table from a JSON as Text-Table. The first value is one key of the JSON ,behind it is the name of the column. You can use more than two values.The header must be filled in. Don\xB4t change TextTable.",latitude:"Latitude",lcTimestamp:"LastChange. Converts a Unix timestamp to a local time, the format can be changed, for example to DD.MM.YYYY YY hh:mm:ss:sss",linkedWith:"Is linked with:",longitude:"Longitude",manuallyValue:"This allows you to set a manually value in combination with ID Value, like this: staticValue{id:ID}staticValue",math:"Converts the value, /10 can be replaced",menu:"Menu",menuBack:"When pressed, you jump back to the previous menu",menuDeleteAll:"Generates a button to delete all messages from the bot. The navigation is optional. Simply leave it blank otherwise you can enter a menu that should be called up.",menuDynamicSwitch:"Generates multiply buttons, values can be insert individual. Replace TRIGGER with a unique value. LengthOfRow is optional and can be used to set the number of buttons per row.
Breaking Change!!!   Please change manually: `[Name1:Value1, Name2:Value2]` to `[Name1|Value1, Name2|Value2]`. Decimal numbers can now also be used as values.",menuList:"Menu list",menuNumber:"The numbers can be completely exchanged. 0-6 indicates the range, and 1 the step size, UNIT is replaced by a unit, but can also be left empty. Replace TRIGGER with a unique value.",menuPercent:"10 can be replaced and indicates the step size 0%, 10%, 20%...! Replace TRIGGER with a unique value. This is used in action SetState. Enter the desired ID. Below value ! insert",menuSwitch:"Generates two buttons, in this case on and off with the respective values true and false. Replace TRIGGER with a unique value.",menuToCopy:"First select the menu to which you want to copy data. Then the line where it should be added. If there is no data yet, click on save and it will be created after querying the new trigger name.",modifiedSubmenuValue:"This allows you to set a modified Submenu Value in combination with a static part , like this: staticValue{value}staticValue",navigation:"Navigation",navigationButtons:"Navigation Buttons",newlineCheckbox:"Newline",no:"No",noValue:"The Value is not specified in the return text",notifiedByChangeOfAnotherState:"If you want to be notified of the change of another data point after you have set the data point in the ID input field. The change will only be shared if it is set with ack:true. It is mandatory to specify a text outside the {}, otherwise it will be added automatically.",ok:"OK",oneTimeKey:"Requests clients to resize the keyboard vertically for optimal fit (e.g., make the keyboard smaller if there are just two rows of buttons). Defaults to false, in which case the custom keyboard is always of the same height as the app's standard keyboard.",overview:"Overview",parseMode:"Parse Mode HTML",parseModeBold:"Text in Parse-Mode is bold",parseModeCode:"Text in Parse-Mode is code",parseModeItalic:"Text in Parse-Mode is italic",parseModeLink:"Text in Parse-Mode is link",password:"Password",percent:"Percent",picSendDelay:"Picture send delay",placeholderInstance:"--Please choose a telegram instance--",placeholderValue:"Placeholder for the value",reallyDelete:"Do you really want to delete this?",renameMenu:"Rename menu name",returnText:"Return text",save:"Save",select:"Select",selectAMenuDropBox:"Select a Menu,select move or copy. Watch out! A user must be active in the selected menu!",selectTargetMenu:"Select a target menu",sendMenuAfterRestart:"Send Menu after Restart",setAck:"Set ack flag",setDynamicValue:"This allows you to write dynamic values \u200B\u200Binto data points. Simply make a call and then you can enter the value in the input field. RequestText: Text to request the value. Type: type of the value(boolean or number). ConfirmText: Text to confirm the value. ID: If you want to confirm from another State, enter the ID here.(This is optional)",setID:"Sets the value of the ID to the val, with ack(confirmed)",setMenu:"Set menu",setWithAck:"Set Value with ack-Flag",settings:"Settings",startMenus:"Start Menus",startSide:"Start side",statusMenu:"Queries the value of the ID and then replaces it with the value, so text can be written around it, it is also possible to use it more than one time in a row. The parameter true is a option to change Value by function change. You have to set it to false if you don\xB4t change this value, but behind this there is another {status: ... request with change:true.",submenu:"Submenu",switch:"Switch",switchCheckbox:"Switch",telegramInstance:"Telegram Instance",telegramUser:"Users from Telegram",text:"Text",textNoEntry:"Text will be send if no entry was found!",toggle:"Toggle",trigger:"Trigger",tsTimestamp:"TimeStamp. Converts a Unix timestamp to a local time, the format can be changed, for example to DD.MM.YYYY YY hh:mm:ss:sss",unusedTrigger:"Unused Trigger",url:"URL",usedTrigger:"Used Trigger",user:"User",userList:"User List",userSelect:"Please select a user, or deactivate the Menu, bevor you can save!",value:"Value",valueRound:"Rounds the value for example to 2 decimal places",values:"Values",yes:"Yes"};var pQ={ID:"ID",IDs:"ID",abort:"Abbrechen",ack:"Ack",action:"Aktion",active:"Aktiv",activeMenu:"Aktives Men\xFC:",add:"Hinzuf\xFCgen",addAction:"Neue Aktion hinzuf\xFCgen",addMenu:"Neuen Men\xFCnamen hinzuf\xFCgen",binding:"Bindungen: Zuerst Var mit ID, dann die Bedingung und der Text.",breakpointNewline:"Haltepunkt f\xFCr eine neue Zeile. F\xFCgen Sie diesen nur in den Text ein",call:"Anruf",cancel:"Stornieren",changeFunction:"\xC4ndert den Wert im R\xFCckgabetext, in diesem Fall von \u201Etrue\u201C auf \u201Eon\u201C und von \u201Efalse\u201C auf \u201Eoff\u201C.",chooseAction:"W\xE4hlen Sie eine Aktion",close:"Schlie\xDFen",commonName:"Gibt den Namen des Datenpunkts aus",condition:"Zustand",conditionMenu:"Bedingung zum \xD6ffnen des Men\xFCs",confirm:"Best\xE4tigen",confirmDelete:"Alle Daten gehen verloren. Best\xE4tigen?",confirmMessage:"Mit Nachricht best\xE4tigen",confirmSet:"Aufmerksamkeit. Der Wert wurde vom Adapter nur gesetzt, aber noch nicht best\xE4tigt. Sie k\xF6nnen noValue entfernen, dann wird der Wert angezeigt. Position && wird durch Wert ersetzt oder ans Ende gestellt",convertsUnixTimestamp:"Konvertiert einen Unix-Zeitstempel in eine lokale Zeit",copy:"Kopieren",createMenu:"Bitte erstellen Sie ein Men\xFC!",delay:"Verz\xF6gerung (ms)",delete:"L\xF6schen",directory:"Verzeichnis",doubleTrigger:"Sie haben Doppelausl\xF6ser, bitte entfernen Sie diese!",edit:"Bearbeiten",entryNotFound:"Eintrag nicht gefunden!",executedMenu:"Ausgef\xFChrtes Men\xFC",filename:"Dateiname",hide:"Verstecken",identification:"Identifikation",inactive:"Inaktiv",insertID:"Um eine ID einzuf\xFCgen, f\xFCgen Sie einfach zuerst den Block ein und w\xE4hlen Sie die ID aus. Diese wird dann automatisch an der entsprechenden Stelle eingef\xFCgt, auch wenn die ID ge\xE4ndert werden soll. Wenn der Code den Block nicht erkennt, wird die ID am Ende angeh\xE4ngt.",instance:"Beispiel",isSubmenu:"Dies ist ein Untermen\xFC!",jsonShoppingList:"Das Gleiche wie oben, aber wenn Sie auf eine Schaltfl\xE4che klicken, wird das Element gel\xF6scht. Der Schl\xFCssel f\xFCr die Elemente ist \u201EName:\u201C, Sie k\xF6nnen auch \u201EZeit:\u201C hinzuf\xFCgen. Wichtig!!! 'Einkaufsliste' darf nicht ge\xE4ndert werden.",jsonTable:"!!! Um es zu verwenden, darf parseMode nicht aktiv sein!!! Erstellt eine Tabelle aus einem JSON als Texttabelle. Der erste Wert ist ein Schl\xFCssel des JSON, dahinter steht der Name der Spalte. Sie k\xF6nnen mehr als zwei Werte verwenden. Die Kopfzeile muss ausgef\xFCllt sein. \xC4ndern Sie TextTable nicht.",latitude:"Breitengrad",lcTimestamp:"Letzte Bearbeitung. Konvertiert einen Unix-Zeitstempel in eine lokale Zeit. Das Format kann ge\xE4ndert werden, beispielsweise in TT.MM.JJJJ JJ hh:mm:ss:sss",linkedWith:"Ist verkn\xFCpft mit:",longitude:"L\xE4ngengrad",manuallyValue:"Dadurch k\xF6nnen Sie einen manuellen Wert in Kombination mit dem ID-Wert festlegen, etwa so: staticValue{id:ID}staticValue",math:"Wandelt den Wert um, /10 kann ersetzt werden",menu:"Speisekarte",menuBack:"Beim Dr\xFCcken springen Sie zur\xFCck zum vorherigen Men\xFC",menuDeleteAll:"Erzeugt eine Schaltfl\xE4che zum L\xF6schen aller Nachrichten vom Bot. Die Navigation ist optional. Lassen Sie es einfach leer, sonst k\xF6nnen Sie ein Men\xFC eingeben, das aufgerufen werden soll.",menuDynamicSwitch:"Erzeugt Multiplikationsschaltfl\xE4chen, Werte k\xF6nnen individuell eingegeben werden. Ersetzen Sie TRIGGER durch einen eindeutigen Wert. LengthOfRow ist optional und kann verwendet werden, um die Anzahl der Schaltfl\xE4chen pro Zeile festzulegen.
Breaking Change!!! \xA0 Bitte \xE4ndern Sie manuell: \u201E[Name1:Wert1, Name2:Wert2]\u201C in \u201E[Name1|Wert1, Name2|Wert2]\u201C. Als Werte k\xF6nnen nun auch Dezimalzahlen verwendet werden.",menuList:"Men\xFCliste",menuNumber:"Die Nummern k\xF6nnen komplett ausgetauscht werden. 0-6 gibt den Bereich und 1 die Schrittweite an, UNIT wird durch eine Einheit ersetzt, kann aber auch leer gelassen werden. Ersetzen Sie TRIGGER durch einen eindeutigen Wert.",menuPercent:"10 ist ersetzbar und gibt die Schrittweite 0%, 10%, 20%... an! Ersetzen Sie TRIGGER durch einen eindeutigen Wert. Dies wird in der Aktion SetState verwendet. Geben Sie die gew\xFCnschte ID ein. Unter dem Wert! einf\xFCgen",menuSwitch:"Erzeugt zwei Schaltfl\xE4chen, in diesem Fall ein und aus, mit den jeweiligen Werten wahr und falsch. Ersetzen Sie TRIGGER durch einen eindeutigen Wert.",menuToCopy:"W\xE4hlen Sie zun\xE4chst das Men\xFC aus, in das Sie Daten kopieren m\xF6chten. Dann die Zeile, in der es hinzugef\xFCgt werden soll. Sollten noch keine Daten vorhanden sein, klicken Sie auf Speichern und diese werden nach Abfrage des neuen Triggernamens erstellt.",modifiedSubmenuValue:"Dadurch k\xF6nnen Sie einen modifizierten Untermen\xFCwert in Kombination mit einem statischen Teil festlegen, etwa so: staticValue{value}staticValue",navigation:"Navigation",navigationButtons:"Navigationstasten",newlineCheckbox:"Newline",no:"NEIN",noValue:"Der Wert ist im R\xFCckgabetext nicht angegeben",notifiedByChangeOfAnotherState:"Wenn Sie \xFCber die \xC4nderung eines anderen Datenpunkts benachrichtigt werden m\xF6chten, nachdem Sie den Datenpunkt im Eingabefeld ID festgelegt haben. Die \xC4nderung wird nur geteilt, wenn sie mit ack:true gesetzt ist. Es ist zwingend erforderlich, einen Text au\xDFerhalb des {} anzugeben, andernfalls wird er automatisch hinzugef\xFCgt.",ok:"OK",oneTimeKey:"Fordert Kunden auf, die Gr\xF6\xDFe der Tastatur vertikal zu \xE4ndern, um eine optimale Passform zu erzielen (z. B. die Tastatur kleiner zu machen, wenn nur zwei Tastenreihen vorhanden sind). Der Standardwert ist \u201Efalse\u201C. In diesem Fall hat die benutzerdefinierte Tastatur immer die gleiche H\xF6he wie die Standardtastatur der App.",overview:"\xDCberblick",parseMode:"HTML im Analysemodus",parseModeBold:"Text im Parse-Modus ist fett",parseModeCode:"Text im Parse-Modus ist Code",parseModeItalic:"Text im Parse-Modus ist kursiv",parseModeLink:"Text im Parse-Modus ist ein Link",password:"Passwort",percent:"Prozent",picSendDelay:"Verz\xF6gerung beim Senden von Bildern",placeholderInstance:"--Bitte w\xE4hlen Sie eine Telegram-Instanz--",placeholderValue:"Platzhalter f\xFCr den Wert",reallyDelete:"M\xF6chten Sie das wirklich l\xF6schen?",renameMenu:"Benennen Sie den Men\xFCnamen um",returnText:"R\xFCckgabetext",save:"Speichern",select:"W\xE4hlen",selectAMenuDropBox:"W\xE4hlen Sie ein Men\xFC, w\xE4hlen Sie \u201EVerschieben\u201C oder \u201EKopieren\u201C. Achtung! Im ausgew\xE4hlten Men\xFC muss ein Benutzer aktiv sein!",selectTargetMenu:"W\xE4hlen Sie ein Zielmen\xFC aus",sendMenuAfterRestart:"Men\xFC nach Neustart senden",setAck:"Best\xE4tigungsflag setzen",setDynamicValue:"Dadurch k\xF6nnen Sie dynamische Werte in Datenpunkte schreiben. Einfach anrufen und dann den Wert in das Eingabefeld eingeben. RequestText: Text zum Anfordern des Werts. Typ: Typ des Werts (boolescher Wert oder Zahl). Best\xE4tigungstext: Text zur Best\xE4tigung des Werts. ID: Wenn Sie aus einem anderen Staat best\xE4tigen m\xF6chten, geben Sie hier die ID ein. (Dies ist optional)",setID:"Setzt den Wert der ID auf den Wert, mit ack(best\xE4tigt)",setMenu:"Men\xFC",setWithAck:"Wert mit ack-Flag festlegen",settings:"Einstellungen",startMenus:"Startmen\xFCs",startSide:"Startseite",statusMenu:"Fragt den Wert der ID ab und ersetzt ihn dann durch den Wert, sodass Text um ihn herum geschrieben werden kann. Es ist auch m\xF6glich, ihn mehrmals hintereinander zu verwenden. Der Parameter true ist eine Option zum \xC4ndern des Werts durch Funktions\xE4nderung. Sie m\xFCssen es auf false setzen, wenn Sie diesen Wert nicht \xE4ndern, aber dahinter steht eine weitere {status: ...-Anfrage mit change:true.",submenu:"Untermen\xFC",switch:"Schalten",switchCheckbox:"Schalten",telegramInstance:"Telegram-Instanz",telegramUser:"Benutzer von Telegram",text:"Text",textNoEntry:"Text wird gesendet, wenn kein Eintrag gefunden wurde!",toggle:"Umschalten",trigger:"Ausl\xF6sen",tsTimestamp:"Zeitstempel. Konvertiert einen Unix-Zeitstempel in eine lokale Zeit. Das Format kann ge\xE4ndert werden, beispielsweise in TT.MM.JJJJ JJ hh:mm:ss:sss",unusedTrigger:"Unbenutzter Ausl\xF6ser",url:"URL",usedTrigger:"Benutzter Ausl\xF6ser",user:"Benutzer",userList:"Benutzerliste",userSelect:"Bitte w\xE4hlen Sie einen Benutzer aus oder deaktivieren Sie das Men\xFC, bevor Sie speichern k\xF6nnen!",value:"Wert",valueRound:"Rundet den Wert beispielsweise auf 2 Dezimalstellen",values:"Werte",yes:"Ja"};var dQ={ID:"\u0418\u0414\u0415\u041D\u0422\u0418\u0424\u0418\u041A\u0410\u0422\u041E\u0420",IDs:"\u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u044B",abort:"\u041F\u0440\u0435\u0440\u0432\u0430\u0442\u044C",ack:"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044E",action:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435",active:"\u0410\u043A\u0442\u0438\u0432\u043D\u044B\u0439",activeMenu:"\u0410\u043A\u0442\u0438\u0432\u043D\u043E\u0435 \u043C\u0435\u043D\u044E:",add:"\u0414\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C",addAction:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u043E\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435",addMenu:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u043E\u0435 \u0438\u043C\u044F \u043C\u0435\u043D\u044E",binding:"\u041F\u0440\u0438\u0432\u044F\u0437\u043A\u0438: \u0441\u043D\u0430\u0447\u0430\u043B\u0430 Var \u0441 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u043E\u043C, \u0437\u0430\u0442\u0435\u043C \u0443\u0441\u043B\u043E\u0432\u0438\u0435 \u0438 \u0442\u0435\u043A\u0441\u0442.",breakpointNewline:"\u0422\u043E\u0447\u043A\u0430 \u043E\u0441\u0442\u0430\u043D\u043E\u0432\u0430 \u0434\u043B\u044F \u043D\u043E\u0432\u043E\u0439 \u0441\u0442\u0440\u043E\u043A\u0438. \u0412\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0435\u0435 \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u0442\u0435\u043A\u0441\u0442.",call:"\u0412\u044B\u0437\u043E\u0432",cancel:"\u041E\u0442\u043C\u0435\u043D\u0430",changeFunction:"\u0418\u0437\u043C\u0435\u043D\u044F\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043C\u043E\u043C \u0442\u0435\u043A\u0441\u0442\u0435, \u0432 \u0434\u0430\u043D\u043D\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435 \u0441 true \u043D\u0430 on \u0438 \u0441 false \u043D\u0430 off.",chooseAction:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435",close:"\u0417\u0430\u043A\u0440\u044B\u0432\u0430\u0442\u044C",commonName:"\u0412\u044B\u0432\u043E\u0434\u0438\u0442 \u0438\u043C\u044F \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u043D\u044B\u0445",condition:"\u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",conditionMenu:"\u0423\u0441\u043B\u043E\u0432\u0438\u0435 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u044F \u043C\u0435\u043D\u044E",confirm:"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0442\u044C",confirmDelete:"\u0412\u0441\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 \u0431\u0443\u0434\u0443\u0442 \u043F\u043E\u0442\u0435\u0440\u044F\u043D\u044B. \u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0442\u044C?",confirmMessage:"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435\u043C",confirmSet:"\u0412\u043D\u0438\u043C\u0430\u043D\u0438\u0435. \u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0442\u043E\u043B\u044C\u043A\u043E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E, \u043D\u043E \u0435\u0449\u0435 \u043D\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u043E \u0430\u0434\u0430\u043F\u0442\u0435\u0440\u043E\u043C. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C noValue, \u0442\u043E\u0433\u0434\u0430 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F. \u041F\u043E\u0437\u0438\u0446\u0438\u044F && \u0437\u0430\u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C \u0438\u043B\u0438 \u0431\u0443\u0434\u0435\u0442 \u043F\u043E\u043C\u0435\u0449\u0435\u043D\u0430 \u0432 \u043A\u043E\u043D\u0435\u0446",convertsUnixTimestamp:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E \u043C\u0435\u0442\u043A\u0443 Unix \u0432 \u043C\u0435\u0441\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F.",copy:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C",createMenu:"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0441\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u043C\u0435\u043D\u044E!",delay:"\u0417\u0430\u0434\u0435\u0440\u0436\u043A\u0430 (\u043C\u0441)",delete:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C",directory:"\u041A\u0430\u0442\u0430\u043B\u043E\u0433",doubleTrigger:"\u0423 \u0432\u0430\u0441 \u0435\u0441\u0442\u044C \u0434\u0432\u043E\u0439\u043D\u044B\u0435 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u044B, \u043F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0443\u0434\u0430\u043B\u0438\u0442\u0435 \u0438\u0445!",edit:"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C",entryNotFound:"\u0417\u0430\u043F\u0438\u0441\u044C \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430!",executedMenu:"\u0412\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u043D\u043E\u0435 \u043C\u0435\u043D\u044E",filename:"\u0418\u043C\u044F \u0444\u0430\u0439\u043B\u0430",hide:"\u0421\u043A\u0440\u044B\u0432\u0430\u0442\u044C",identification:"\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044F",inactive:"\u041D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439",insertID:"\u0427\u0442\u043E\u0431\u044B \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440, \u043F\u0440\u043E\u0441\u0442\u043E \u0441\u043D\u0430\u0447\u0430\u043B\u0430 \u0432\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0431\u043B\u043E\u043A, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440. \u0417\u0430\u0442\u0435\u043C \u043E\u043D \u0431\u0443\u0434\u0435\u0442 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0432\u0441\u0442\u0430\u0432\u043B\u0435\u043D \u0432 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0435\u0435 \u043C\u0435\u0441\u0442\u043E, \u0434\u0430\u0436\u0435 \u0435\u0441\u043B\u0438 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C. \u0415\u0441\u043B\u0438 \u043A\u043E\u0434 \u043D\u0435 \u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u0435\u0442 \u0431\u043B\u043E\u043A, \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0432 \u043A\u043E\u043D\u0435\u0446.",instance:"\u041F\u0440\u0438\u043C\u0435\u0440",isSubmenu:"\u042D\u0442\u043E \u043F\u043E\u0434\u043C\u0435\u043D\u044E!",jsonShoppingList:"\u0422\u043E \u0436\u0435, \u0447\u0442\u043E \u0438 \u0432\u044B\u0448\u0435, \u043D\u043E \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0443 \u044D\u043B\u0435\u043C\u0435\u043D\u0442 \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043B\u0435\u043D. \u041A\u043B\u044E\u0447\u043E\u043C \u0434\u043B\u044F \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F `name:`, \u0432\u044B \u0442\u0430\u043A\u0436\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C `time:`. \u0412\u0430\u0436\u043D\u043E!!! \xAB\u0421\u043F\u0438\u0441\u043E\u043A \u043F\u043E\u043A\u0443\u043F\u043E\u043A\xBB \u043D\u0435\u043B\u044C\u0437\u044F \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C.",jsonTable:"!!! \u0427\u0442\u043E\u0431\u044B \u0435\u0433\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C, parseMode \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u043C!!! \u0421\u043E\u0437\u0434\u0430\u0435\u0442 \u0442\u0430\u0431\u043B\u0438\u0446\u0443 \u0438\u0437 JSON \u0432 \u0432\u0438\u0434\u0435 \u0442\u0435\u043A\u0441\u0442\u043E\u0432\u043E\u0439 \u0442\u0430\u0431\u043B\u0438\u0446\u044B. \u041F\u0435\u0440\u0432\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u2014 \u044D\u0442\u043E \u043E\u0434\u0438\u043D \u043A\u043B\u044E\u0447 JSON, \u0437\u0430 \u043D\u0438\u043C \u2014 \u0438\u043C\u044F \u0441\u0442\u043E\u043B\u0431\u0446\u0430. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0431\u043E\u043B\u0435\u0435 \u0434\u0432\u0443\u0445 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439. \u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D. \u041D\u0435 \u043C\u0435\u043D\u044F\u0439\u0442\u0435 TextTable.",latitude:"\u0428\u0438\u0440\u043E\u0442\u0430",lcTimestamp:"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435. \u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E \u043C\u0435\u0442\u043A\u0443 Unix \u0432 \u043C\u0435\u0441\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F, \u0444\u043E\u0440\u043C\u0430\u0442 \u043C\u043E\u0436\u043D\u043E \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u043D\u0430 \u0414\u0414.\u041C\u041C.\u0413\u0413\u0413\u0413 \u0413\u0413 \u0447\u0447:\u043C\u043C:\u0441\u0441:\u0441\u0441",linkedWith:"\u0421\u0432\u044F\u0437\u0430\u043D\u043E \u0441:",longitude:"\u0414\u043E\u043B\u0433\u043E\u0442\u0430",manuallyValue:"\u042D\u0442\u043E \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0432\u0430\u043C \u0432\u0440\u0443\u0447\u043D\u0443\u044E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 \u0441\u043E\u0447\u0435\u0442\u0430\u043D\u0438\u0438 \u0441\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0430, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440: staticValue{id:ID}staticValue.",math:"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435, /10 \u043C\u043E\u0436\u043D\u043E \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C",menu:"\u041C\u0435\u043D\u044E",menuBack:"\u041F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u0432\u044B \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0435\u0441\u044C \u0432 \u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u0435 \u043C\u0435\u043D\u044E.",menuDeleteAll:"\u0421\u043E\u0437\u0434\u0430\u0435\u0442 \u043A\u043D\u043E\u043F\u043A\u0443 \u0434\u043B\u044F \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u0432\u0441\u0435\u0445 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439 \u043E\u0442 \u0431\u043E\u0442\u0430. \u041D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F \u043D\u0435 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0439. \u041F\u0440\u043E\u0441\u0442\u043E \u043E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u044D\u0442\u043E \u043F\u043E\u043B\u0435 \u043F\u0443\u0441\u0442\u044B\u043C, \u0438\u043D\u0430\u0447\u0435 \u0432\u044B \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u043E\u0439\u0442\u0438 \u0432 \u043C\u0435\u043D\u044E, \u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0432\u044B\u0437\u0432\u0430\u0442\u044C.",menuDynamicSwitch:"\u0413\u0435\u043D\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043A\u043D\u043E\u043F\u043A\u0438 \u0443\u043C\u043D\u043E\u0436\u0435\u043D\u0438\u044F, \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u043C\u043E\u0436\u043D\u043E \u0432\u0441\u0442\u0430\u0432\u043B\u044F\u0442\u044C \u0438\u043D\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043B\u044C\u043D\u043E. \u0417\u0430\u043C\u0435\u043D\u0438\u0442\u0435 TRIGGER \u0443\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C. \u0414\u043B\u0438\u043D\u0430OfRow \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0439 \u0438 \u043C\u043E\u0436\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0434\u043B\u044F \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043A\u043D\u043E\u043F\u043E\u043A \u0432 \u0441\u0442\u0440\u043E\u043A\u0435.
\u041A\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435!!! \xA0 \u0418\u0437\u043C\u0435\u043D\u0438\u0442\u0435 \u0432\u0440\u0443\u0447\u043D\u0443\u044E: `[Name1:Value1, Name2:Value2]` \u043D\u0430 `[Name1|Value1, Name2|Value2]`. \u0414\u0435\u0441\u044F\u0442\u0438\u0447\u043D\u044B\u0435 \u0447\u0438\u0441\u043B\u0430 \u0442\u0435\u043F\u0435\u0440\u044C \u0442\u0430\u043A\u0436\u0435 \u043C\u043E\u0436\u043D\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0432 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439.",menuList:"\u0421\u043F\u0438\u0441\u043E\u043A \u043C\u0435\u043D\u044E",menuNumber:"\u041D\u043E\u043C\u0435\u0440\u0430 \u043C\u043E\u0436\u043D\u043E \u043F\u043E\u043B\u043D\u043E\u0441\u0442\u044C\u044E \u043F\u043E\u043C\u0435\u043D\u044F\u0442\u044C. 0\u20136 \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D, \u0430 1 \u2014 \u0440\u0430\u0437\u043C\u0435\u0440 \u0448\u0430\u0433\u0430, UNIT \u0437\u0430\u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F \u0435\u0434\u0438\u043D\u0438\u0446\u0435\u0439, \u043D\u043E \u0442\u0430\u043A\u0436\u0435 \u043C\u043E\u0436\u043D\u043E \u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043F\u0443\u0441\u0442\u044B\u043C. \u0417\u0430\u043C\u0435\u043D\u0438\u0442\u0435 TRIGGER \u0443\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C.",menuPercent:"10 \u043C\u043E\u0436\u043D\u043E \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0438 \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u0440\u0430\u0437\u043C\u0435\u0440 \u0448\u0430\u0433\u0430 0%, 10%, 20%...! \u0417\u0430\u043C\u0435\u043D\u0438\u0442\u0435 TRIGGER \u0443\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C. \u042D\u0442\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438 SetState. \u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0436\u0435\u043B\u0430\u0435\u043C\u044B\u0439 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440. \u041D\u0438\u0436\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F! \u0432\u0441\u0442\u0430\u0432\u043B\u044F\u0442\u044C",menuSwitch:"\u0421\u043E\u0437\u0434\u0430\u0435\u0442 \u0434\u0432\u0435 \u043A\u043D\u043E\u043F\u043A\u0438, \u0432 \u0434\u0430\u043D\u043D\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435 \xAB\u0432\u043A\u043B\xBB \u0438 \xAB\u0432\u044B\u043A\u043B\xBB \u0441 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u043C\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F\u043C\u0438 true \u0438 false. \u0417\u0430\u043C\u0435\u043D\u0438\u0442\u0435 TRIGGER \u0443\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C.",menuToCopy:"\u0421\u043D\u0430\u0447\u0430\u043B\u0430 \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043C\u0435\u043D\u044E, \u0432 \u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435. \u0417\u0430\u0442\u0435\u043C \u0441\u0442\u0440\u043E\u043A\u0430, \u043A\u0443\u0434\u0430 \u0435\u0433\u043E \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C. \u0415\u0441\u043B\u0438 \u0434\u0430\u043D\u043D\u044B\u0445 \u0435\u0449\u0435 \u043D\u0435\u0442, \u043D\u0430\u0436\u043C\u0438\u0442\u0435 \xAB\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C\xBB, \u0438 \u043E\u043D\u0438 \u0431\u0443\u0434\u0443\u0442 \u0441\u043E\u0437\u0434\u0430\u043D\u044B \u043F\u043E\u0441\u043B\u0435 \u0437\u0430\u043F\u0440\u043E\u0441\u0430 \u043D\u043E\u0432\u043E\u0433\u043E \u0438\u043C\u0435\u043D\u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430.",modifiedSubmenuValue:"\u042D\u0442\u043E \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0432\u0430\u043C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u043E\u0434\u043C\u0435\u043D\u044E \u0432 \u0441\u043E\u0447\u0435\u0442\u0430\u043D\u0438\u0438 \u0441\u043E \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0439 \u0447\u0430\u0441\u0442\u044C\u044E, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440: staticValue{value}staticValue",navigation:"\u041D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F",navigationButtons:"\u041A\u043D\u043E\u043F\u043A\u0438 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438",newlineCheckbox:"\u041D\u043E\u0432\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430",no:"\u041D\u0435\u0442",noValue:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u043E \u0432 \u0442\u0435\u043A\u0441\u0442\u0435 \u0432\u043E\u0437\u0432\u0440\u0430\u0442\u0430",notifiedByChangeOfAnotherState:"\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043E\u0431 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0438 \u0434\u0440\u0443\u0433\u043E\u0439 \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u043D\u044B\u0445 \u043F\u043E\u0441\u043B\u0435 \u0442\u043E\u0433\u043E, \u043A\u0430\u043A \u0432\u044B \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u043B\u0438 \u0442\u043E\u0447\u043A\u0443 \u0434\u0430\u043D\u043D\u044B\u0445 \u0432 \u043F\u043E\u043B\u0435 \u0432\u0432\u043E\u0434\u0430 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0430. \u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u043E\u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u043D\u043E \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u0442\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435, \u0435\u0441\u043B\u0438 \u0434\u043B\u044F \u043D\u0435\u0433\u043E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 ack:true. \u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u0443\u043A\u0430\u0436\u0438\u0442\u0435 \u0442\u0435\u043A\u0441\u0442 \u0437\u0430 \u043F\u0440\u0435\u0434\u0435\u043B\u0430\u043C\u0438 {}, \u0438\u043D\u0430\u0447\u0435 \u043E\u043D \u0431\u0443\u0434\u0435\u0442 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438.",ok:"\u0425\u041E\u0420\u041E\u0428\u041E",oneTimeKey:"\u041F\u0440\u043E\u0441\u0438\u0442 \u043A\u043B\u0438\u0435\u043D\u0442\u043E\u0432 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0440 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B \u043F\u043E \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u0438 \u0434\u043B\u044F \u043E\u043F\u0442\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044F (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0443\u043C\u0435\u043D\u044C\u0448\u0438\u0442\u044C \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0443, \u0435\u0441\u043B\u0438 \u043D\u0430 \u043D\u0435\u0439 \u0432\u0441\u0435\u0433\u043E \u0434\u0432\u0430 \u0440\u044F\u0434\u0430 \u043A\u043D\u043E\u043F\u043E\u043A). \u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 false. \u0412 \u044D\u0442\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0430\u044F \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0430 \u0432\u0441\u0435\u0433\u0434\u0430 \u0438\u043C\u0435\u0435\u0442 \u0442\u0443 \u0436\u0435 \u0432\u044B\u0441\u043E\u0442\u0443, \u0447\u0442\u043E \u0438 \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0430\u044F \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0430 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F.",overview:"\u041E\u0431\u0437\u043E\u0440",parseMode:"\u0420\u0435\u0436\u0438\u043C \u0430\u043D\u0430\u043B\u0438\u0437\u0430 HTML",parseModeBold:"\u0422\u0435\u043A\u0441\u0442 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0430\u043D\u0430\u043B\u0438\u0437\u0430 \u0432\u044B\u0434\u0435\u043B\u0435\u043D \u0436\u0438\u0440\u043D\u044B\u043C \u0448\u0440\u0438\u0444\u0442\u043E\u043C.",parseModeCode:"\u0422\u0435\u043A\u0441\u0442 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0430\u043D\u0430\u043B\u0438\u0437\u0430 \u2014 \u044D\u0442\u043E \u043A\u043E\u0434",parseModeItalic:"\u0422\u0435\u043A\u0441\u0442 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0430\u043D\u0430\u043B\u0438\u0437\u0430 \u0432\u044B\u0434\u0435\u043B\u0435\u043D \u043A\u0443\u0440\u0441\u0438\u0432\u043E\u043C.",parseModeLink:"\u0422\u0435\u043A\u0441\u0442 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0430\u043D\u0430\u043B\u0438\u0437\u0430 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0441\u0441\u044B\u043B\u043A\u043E\u0439",password:"\u041F\u0430\u0440\u043E\u043B\u044C",percent:"\u041F\u0440\u043E\u0446\u0435\u043D\u0442",picSendDelay:"\u0417\u0430\u0434\u0435\u0440\u0436\u043A\u0430 \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",placeholderInstance:"--\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 Telegram--",placeholderValue:"\u0417\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F",reallyDelete:"\u0412\u044B \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u044D\u0442\u043E?",renameMenu:"\u041F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u0442\u044C \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043C\u0435\u043D\u044E",returnText:"\u0412\u043E\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043C\u044B\u0439 \u0442\u0435\u043A\u0441\u0442",save:"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C",select:"\u0412\u044B\u0431\u0438\u0440\u0430\u0442\u044C",selectAMenuDropBox:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043C\u0435\u043D\u044E, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u0438\u043B\u0438 \u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435. \u041E\u0441\u0442\u043E\u0440\u043E\u0436\u043D\u043E! \u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u0435\u043D \u0432 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u043C \u043C\u0435\u043D\u044E!",selectTargetMenu:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0446\u0435\u043B\u0435\u0432\u043E\u0435 \u043C\u0435\u043D\u044E",sendMenuAfterRestart:"\u041C\u0435\u043D\u044E \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438 \u043F\u043E\u0441\u043B\u0435 \u043F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438",setAck:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0444\u043B\u0430\u0433 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F",setDynamicValue:"\u042D\u0442\u043E \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C \u0434\u0438\u043D\u0430\u043C\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0432 \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u043D\u044B\u0445. \u041F\u0440\u043E\u0441\u0442\u043E \u043F\u043E\u0437\u0432\u043E\u043D\u0438\u0442\u0435, \u0430 \u0437\u0430\u0442\u0435\u043C \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 \u043F\u043E\u043B\u0435 \u0432\u0432\u043E\u0434\u0430. RequestText: \u0442\u0435\u043A\u0441\u0442 \u0434\u043B\u044F \u0437\u0430\u043F\u0440\u043E\u0441\u0430 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F. \u0422\u0438\u043F: \u0442\u0438\u043F \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F (\u043B\u043E\u0433\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0438\u043B\u0438 \u0447\u0438\u0441\u043B\u043E\u0432\u043E\u0435). ConfirmText: \u0442\u0435\u043A\u0441\u0442 \u0434\u043B\u044F \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F. \u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440: \u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C \u0438\u0437 \u0434\u0440\u0443\u0433\u043E\u0433\u043E \u0448\u0442\u0430\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044C \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440. (\u042D\u0442\u043E \u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E).",setID:"\u0423\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0430 val \u0441 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u0435\u043C (\u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u043E).",setMenu:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043C\u0435\u043D\u044E",setWithAck:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E ack-Flag",settings:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",startMenus:"\u041C\u0435\u043D\u044E \xAB\u041F\u0443\u0441\u043A\xBB",startSide:"\u0421\u0442\u0430\u0440\u0442\u043E\u0432\u0430\u044F \u0441\u0442\u043E\u0440\u043E\u043D\u0430",statusMenu:"\u0417\u0430\u043F\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0430, \u0430 \u0437\u0430\u0442\u0435\u043C \u0437\u0430\u043C\u0435\u043D\u044F\u0435\u0442 \u0435\u0433\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u0432\u043E\u043A\u0440\u0443\u0433 \u043D\u0435\u0433\u043E \u043C\u043E\u0436\u043D\u043E \u043F\u0438\u0441\u0430\u0442\u044C \u0442\u0435\u043A\u0441\u0442, \u0430 \u0442\u0430\u043A\u0436\u0435 \u043C\u043E\u0436\u043D\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0435\u0433\u043E \u0431\u043E\u043B\u0435\u0435 \u043E\u0434\u043D\u043E\u0433\u043E \u0440\u0430\u0437\u0430 \u043F\u043E\u0434\u0440\u044F\u0434. \u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 true \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u0443\u0442\u0435\u043C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0444\u0443\u043D\u043A\u0446\u0438\u0438. \u0412\u0430\u043C \u043F\u0440\u0438\u0434\u0435\u0442\u0441\u044F \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 false, \u0435\u0441\u043B\u0438 \u0432\u044B \u043D\u0435 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u0435 \u044D\u0442\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435, \u043D\u043E \u0437\u0430 \u044D\u0442\u0438\u043C \u0441\u0442\u043E\u0438\u0442 \u0434\u0440\u0443\u0433\u043E\u0439 \u0437\u0430\u043F\u0440\u043E\u0441 {status: ... \u0441 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435\u043C: true.",submenu:"\u041F\u043E\u0434\u043C\u0435\u043D\u044E",switch:"\u0412\u044B\u043A\u043B\u044E\u0447\u0430\u0442\u0435\u043B\u044C",switchCheckbox:"\u0412\u044B\u043A\u043B\u044E\u0447\u0430\u0442\u0435\u043B\u044C",telegramInstance:"\u042D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u0422\u0435\u043B\u0435\u0433\u0440\u0430\u043C\u043C\u044B",telegramUser:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0438 \u0438\u0437 Telegram",text:"\u0422\u0435\u043A\u0441\u0442",textNoEntry:"\u0422\u0435\u043A\u0441\u0442 \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D, \u0435\u0441\u043B\u0438 \u0437\u0430\u043F\u0438\u0441\u044C \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430!",toggle:"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u044C",trigger:"\u041A\u0443\u0440\u043E\u043A",tsTimestamp:"\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u0430\u044F \u043C\u0435\u0442\u043A\u0430. \u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E \u043C\u0435\u0442\u043A\u0443 Unix \u0432 \u043C\u0435\u0441\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F, \u0444\u043E\u0440\u043C\u0430\u0442 \u043C\u043E\u0436\u043D\u043E \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u043D\u0430 \u0414\u0414.\u041C\u041C.\u0413\u0413\u0413\u0413 \u0413\u0413 \u0447\u0447:\u043C\u043C:\u0441\u0441:\u0441\u0441",unusedTrigger:"\u041D\u0435\u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u0442\u0440\u0438\u0433\u0433\u0435\u0440",url:"URL-\u0430\u0434\u0440\u0435\u0441",usedTrigger:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u0439 \u0442\u0440\u0438\u0433\u0433\u0435\u0440",user:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C",userList:"\u0421\u043F\u0438\u0441\u043E\u043A \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u0439",userSelect:"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F \u0438\u043B\u0438 \u0434\u0435\u0430\u043A\u0442\u0438\u0432\u0438\u0440\u0443\u0439\u0442\u0435 \u043C\u0435\u043D\u044E, \u043F\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043C \u0432\u044B \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C!",value:"\u0426\u0435\u043D\u0438\u0442\u044C",valueRound:"\u041E\u043A\u0440\u0443\u0433\u043B\u044F\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0434\u043E 2 \u0434\u0435\u0441\u044F\u0442\u0438\u0447\u043D\u044B\u0445 \u0437\u043D\u0430\u043A\u043E\u0432.",values:"\u0426\u0435\u043D\u043D\u043E\u0441\u0442\u0438",yes:"\u0414\u0430"};var uQ={ID:"EU IA",IDs:"IDs",abort:"Abortar",ack:"Confirmar",action:"A\xE7\xE3o",active:"Ativo",activeMenu:"Menu Ativo:",add:"Adicionar",addAction:"Adicionar nova a\xE7\xE3o",addMenu:"Adicionar novo nome de menu",binding:"Vincula\xE7\xF5es: primeiro Var com id, depois a condi\xE7\xE3o e o texto.",breakpointNewline:"Ponto de interrup\xE7\xE3o para uma nova linha, insira apenas isso no texto",call:"Chamar",cancel:"Cancelar",changeFunction:"Altera o valor no texto de retorno, neste caso de verdadeiro para ativado e falso para desativado",chooseAction:"Escolha uma a\xE7\xE3o",close:"Fechar",commonName:"Produz o nome do ponto de dados",condition:"Doen\xE7a",conditionMenu:"Condi\xE7\xE3o para abrir Menu",confirm:"Confirmar",confirmDelete:"Todos os dados ser\xE3o perdidos. Confirmar?",confirmMessage:"Confirme com mensagem",confirmSet:"Aten\xE7\xE3o. O valor foi apenas definido, mas ainda n\xE3o confirmado pelo Adaptador. Voc\xEA pode remover noValue e o valor ser\xE1 exibido. Posi\xE7\xE3o && substitu\xEDda por Valor ou ser\xE1 colocada no final",convertsUnixTimestamp:"Converte um carimbo de data/hora Unix em uma hora local",copy:"C\xF3pia",createMenu:"Por favor, crie um menu!",delay:"Atraso (ms)",delete:"Excluir",directory:"Diret\xF3rio",doubleTrigger:"Voc\xEA tem gatilhos duplos, remova-os!",edit:"Editar",entryNotFound:"Entrada n\xE3o encontrada!",executedMenu:"Menu Executado",filename:"Nome do arquivo",hide:"Esconder",identification:"Identifica\xE7\xE3o",inactive:"Inativo",insertID:"Para inserir um ID, basta inserir primeiro o bloco e selecionar o ID. Este ser\xE1 ent\xE3o inserido automaticamente no local apropriado, mesmo que o ID deva ser alterado. Se o c\xF3digo n\xE3o reconhecer o bloco, o ID ser\xE1 anexado ao final.",instance:"Exemplo",isSubmenu:"Este \xE9 um submenu!",jsonShoppingList:"O mesmo que acima, mas quando voc\xEA clica em um bot\xE3o, o item ser\xE1 exclu\xEDdo, a chave para os itens \xE9 `nome:`, voc\xEA tamb\xE9m pode adicionar `tempo:`. Importante!!! 'lista de compras' n\xE3o pode ser alterada.",jsonTable:"!!! Para us\xE1-lo, parseMode n\xE3o deve estar ativo!!! Cria uma tabela a partir de um JSON como Text-Table. O primeiro valor \xE9 uma chave do JSON, atr\xE1s dele est\xE1 o nome da coluna. Voc\xEA pode usar mais de dois valores. O cabe\xE7alho deve ser preenchido. N\xE3o altere TextTable.",latitude:"Latitude",lcTimestamp:"\xDAltima mudan\xE7a. Converte um carimbo de data/hora Unix em uma hora local, o formato pode ser alterado, por exemplo, para DD.MM.AAAA AA hh:mm:ss:sss",linkedWith:"Est\xE1 vinculado a:",longitude:"Longitude",manuallyValue:"Isso permite que voc\xEA defina um valor manualmente em combina\xE7\xE3o com o valor do ID, como este: staticValue{id:ID}staticValue",math:"Converte o valor, /10 pode ser substitu\xEDdo",menu:"Menu",menuBack:"Quando pressionado, voc\xEA volta ao menu anterior",menuDeleteAll:"Gera um bot\xE3o para excluir todas as mensagens do bot. A navega\xE7\xE3o \xE9 opcional. Simplesmente deixe em branco, caso contr\xE1rio voc\xEA poder\xE1 entrar em um menu que deve ser acessado.",menuDynamicSwitch:"Gera bot\xF5es de multiplica\xE7\xE3o, os valores podem ser inseridos individualmente. Substitua TRIGGER por um valor exclusivo. LengthOfRow \xE9 opcional e pode ser usado para definir o n\xFAmero de bot\xF5es por linha.
Altera\xE7\xE3o significativa!!! \xA0 Altere manualmente: `[Nome1:Valor1, Nome2:Valor2]` para `[Nome1|Valor1, Nome2|Valor2]`. Os n\xFAmeros decimais agora tamb\xE9m podem ser usados \u200B\u200Bcomo valores.",menuList:"Lista de card\xE1pios",menuNumber:"Os n\xFAmeros podem ser totalmente trocados. 0-6 indica o intervalo e 1 o tamanho do passo, UNIT \xE9 substitu\xEDdo por uma unidade, mas tamb\xE9m pode ser deixado em branco. Substitua TRIGGER por um valor exclusivo.",menuPercent:"10 pode ser substitu\xEDdo e indica o tamanho do passo 0%, 10%, 20%...! Substitua TRIGGER por um valor exclusivo. Isso \xE9 usado na a\xE7\xE3o SetState. Insira o ID desejado. Abaixo do valor! inserir",menuSwitch:"Gera dois bot\xF5es, neste caso liga e desliga com os respectivos valores verdadeiro e falso. Substitua TRIGGER por um valor exclusivo.",menuToCopy:"Primeiro selecione o menu para o qual deseja copiar os dados. Em seguida, a linha onde deve ser adicionado. Caso ainda n\xE3o haja dados, clique em salvar e ele ser\xE1 criado ap\xF3s consultar o novo nome do trigger.",modifiedSubmenuValue:"Isso permite que voc\xEA defina um valor de submenu modificado em combina\xE7\xE3o com uma parte est\xE1tica, como esta: staticValue{value}staticValue",navigation:"Navega\xE7\xE3o",navigationButtons:"Bot\xF5es de navega\xE7\xE3o",newlineCheckbox:"Nova linha",no:"N\xE3o",noValue:"O valor n\xE3o \xE9 especificado no texto de retorno",notifiedByChangeOfAnotherState:"Se voc\xEA deseja ser notificado sobre a altera\xE7\xE3o de outro ponto de dados depois de definir o ponto de dados no campo de entrada ID. A altera\xE7\xE3o s\xF3 ser\xE1 compartilhada se estiver definida com ack:true. \xC9 obrigat\xF3rio especificar um texto fora do {}, caso contr\xE1rio ele ser\xE1 adicionado automaticamente.",ok:"OK",oneTimeKey:"Solicita que os clientes redimensionem o teclado verticalmente para um ajuste ideal (por exemplo, diminuam o tamanho do teclado se houver apenas duas fileiras de bot\xF5es). O padr\xE3o \xE9 falso; nesse caso, o teclado personalizado ter\xE1 sempre a mesma altura do teclado padr\xE3o do aplicativo.",overview:"Vis\xE3o geral",parseMode:"HTML do modo de an\xE1lise",parseModeBold:"O texto no modo Parse est\xE1 em negrito",parseModeCode:"Texto no modo Parse \xE9 c\xF3digo",parseModeItalic:"O texto no modo Parse est\xE1 em it\xE1lico",parseModeLink:"O texto no modo de an\xE1lise \xE9 o link",password:"Senha",percent:"Por cento",picSendDelay:"Atraso no envio de imagem",placeholderInstance:"--Por favor, escolha uma inst\xE2ncia do telegrama--",placeholderValue:"Espa\xE7o reservado para o valor",reallyDelete:"Voc\xEA realmente deseja excluir isso?",renameMenu:"Renomear nome do menu",returnText:"Texto de retorno",save:"Salvar",select:"Selecione",selectAMenuDropBox:"Selecione um menu, selecione mover ou copiar. Aten\xE7\xE3o! Um usu\xE1rio deve estar ativo no menu selecionado!",selectTargetMenu:"Selecione um menu de destino",sendMenuAfterRestart:"Enviar menu ap\xF3s reiniciar",setAck:"Definir sinalizador de confirma\xE7\xE3o",setDynamicValue:"Isso permite gravar valores din\xE2micos em pontos de dados. Basta fazer uma chamada e inserir o valor no campo de entrada. RequestText: Texto para solicitar o valor. Tipo: tipo do valor (booleano ou n\xFAmero). ConfirmText: Texto para confirmar o valor. ID: Se voc\xEA deseja confirmar de outro estado, insira o ID aqui.(Isso \xE9 opcional)",setID:"Define o valor do ID para val, com ack(confirmado)",setMenu:"Definir card\xE1pio",setWithAck:"Definir valor com ack-Flag",settings:"Configura\xE7\xF5es",startMenus:"Menus iniciais",startSide:"Lado inicial",statusMenu:"Consulta o valor do ID e depois o substitui pelo valor, para que possa ser escrito texto ao redor dele, tamb\xE9m \xE9 poss\xEDvel utiliz\xE1-lo mais de uma vez seguida. O par\xE2metro true \xE9 uma op\xE7\xE3o para alterar o valor por altera\xE7\xE3o da fun\xE7\xE3o. Voc\xEA deve defini-lo como falso se n\xE3o alterar esse valor, mas por tr\xE1s disso existe outro {status: ... solicita\xE7\xE3o com altera\xE7\xE3o: verdadeiro.",submenu:"Submenu",switch:"Trocar",switchCheckbox:"Trocar",telegramInstance:"Inst\xE2ncia de telegrama",telegramUser:"Usu\xE1rios do Telegram",text:"Texto",textNoEntry:"O texto ser\xE1 enviado se nenhuma entrada for encontrada!",toggle:"Alternar",trigger:"Acionar",tsTimestamp:"Carimbo de hora. Converte um carimbo de data/hora Unix em uma hora local, o formato pode ser alterado, por exemplo, para DD.MM.AAAA AA hh:mm:ss:sss",unusedTrigger:"Gatilho n\xE3o utilizado",url:"URL",usedTrigger:"Gatilho usado",user:"Usu\xE1rio",userList:"Lista de usu\xE1rios",userSelect:"Selecione um usu\xE1rio ou desative o Menu antes de salvar!",value:"Valor",valueRound:"Arredonda o valor, por exemplo, para 2 casas decimais",values:"Valores",yes:"Sim"};var fQ={ID:"Identiteitskaart",IDs:"ID's",abort:"Afbreken",ack:"Ak",action:"Actie",active:"Actief",activeMenu:"Actief menu:",add:"Toevoegen",addAction:"Nieuwe actie toevoegen",addMenu:"Nieuwe menunaam toevoegen",binding:"Bindingen: eerst Var met id, daarna de voorwaarde en de tekst.",breakpointNewline:"Breekpunt voor een nieuwe regel. Voeg dit alleen in de tekst in",call:"Telefoongesprek",cancel:"Annuleren",changeFunction:"Verandert de waarde in de retourtekst, in dit geval van true naar on en false naar off",chooseAction:"Kies een actie",close:"Dichtbij",commonName:"Voert de naam van het gegevenspunt uit",condition:"Voorwaarde",conditionMenu:"Voorwaarde om Menu te openen",confirm:"Bevestigen",confirmDelete:"Alle gegevens gaan verloren. Bevestigen?",confirmMessage:"Bevestig met bericht",confirmSet:"Aandacht. De waarde is alleen ingesteld, maar nog niet bevestigd door de adapter. U kunt noValue verwijderen, waarna de waarde wordt weergegeven. Positie && vervangen door Waarde of wordt aan het Einde gezet",convertsUnixTimestamp:"Converteert een Unix-tijdstempel naar een lokale tijd",copy:"Kopi\xEBren",createMenu:"Maak alstublieft een menu aan!",delay:"Vertraging (ms)",delete:"Verwijderen",directory:"Directory",doubleTrigger:"U heeft dubbele triggers, verwijder deze alstublieft!",edit:"Bewerking",entryNotFound:"Invoer niet gevonden!",executedMenu:"Uitgevoerd menu",filename:"Bestandsnaam",hide:"Verbergen",identification:"Identificatie",inactive:"Inactief",insertID:"Om een \u200B\u200BID in te voegen, voegt u eenvoudigweg eerst het blok in en selecteert u de ID. Deze wordt dan automatisch op de juiste plaats ingevoegd, ook als de ID moet worden gewijzigd. Als de code het blok niet herkent, wordt de ID aan het einde toegevoegd.",instance:"Aanleg",isSubmenu:"Dit is een submenu!",jsonShoppingList:"Hetzelfde als hierboven, maar wanneer u op een knop klikt, wordt het item verwijderd. De sleutel voor de items is `naam:`, u kunt ook `tijd:` toevoegen. Belangrijk!!! 'boodschappenlijstje' mag niet worden gewijzigd.",jsonTable:"!!! Om het te gebruiken, mag parseMode niet actief zijn !!! Cre\xEBert een tabel van een JSON als teksttabel. De eerste waarde is \xE9\xE9n sleutel van de JSON, daarachter staat de naam van de kolom. U kunt meer dan twee waarden gebruiken. De header moet worden ingevuld. Wijzig de TextTable niet.",latitude:"Breedte",lcTimestamp:"Laatste wijziging. Converteert een Unix-tijdstempel naar een lokale tijd, het formaat kan worden gewijzigd, bijvoorbeeld naar DD.MM.JJJJ JJ uu:mm:ss:sss",linkedWith:"Is gekoppeld aan:",longitude:"Lengte",manuallyValue:"Hiermee kunt u handmatig een waarde instellen in combinatie met ID Value, zoals deze: staticValue{id:ID}staticValue",math:"Converteert de waarde, /10 kan worden vervangen",menu:"Menu",menuBack:"Wanneer u hierop drukt, springt u terug naar het vorige menu",menuDeleteAll:"Genereert een knop om alle berichten van de bot te verwijderen. De navigatie is optioneel. Laat het gewoon leeg, anders komt u in een menu dat moet worden opgeroepen.",menuDynamicSwitch:"Genereert vermenigvuldigingsknoppen, waarden kunnen individueel worden ingevoegd. Vervang TRIGGER door een unieke waarde. LengthOfRow is optioneel en kan worden gebruikt om het aantal knoppen per rij in te stellen.
Breekbare wijziging!!! \xA0 Wijzig handmatig: `[Naam1:Waarde1, Naam2:Waarde2]` in `[Naam1|Waarde1, Naam2|Waarde2]`. Decimale getallen kunnen nu ook als waarden worden gebruikt.",menuList:"Menulijst",menuNumber:"De nummers zijn volledig uitwisselbaar. 0-6 geeft het bereik aan, en 1 de stapgrootte, UNIT wordt vervangen door een eenheid, maar kan ook leeg gelaten worden. Vervang TRIGGER door een unieke waarde.",menuPercent:"10 kan vervangen worden en geeft de stapgrootte aan 0%, 10%, 20%...! Vervang TRIGGER door een unieke waarde. Dit wordt gebruikt in actie SetState. Voer het gewenste ID in. Onder de waarde! invoegen",menuSwitch:"Genereert twee knoppen, in dit geval aan en uit met de respectieve waarden waar en onwaar. Vervang TRIGGER door een unieke waarde.",menuToCopy:"Selecteer eerst het menu waarnaar u gegevens wilt kopi\xEBren. Dan de regel waar het moet worden toegevoegd. Als er nog geen gegevens zijn, klik dan op Opslaan en deze worden aangemaakt na het opvragen van de nieuwe triggernaam.",modifiedSubmenuValue:"Hiermee kunt u een aangepaste submenuwaarde instellen in combinatie met een statisch onderdeel, zoals dit: staticValue{value}staticValue",navigation:"Navigatie",navigationButtons:"Navigatieknoppen",newlineCheckbox:"Nieuwe lijn",no:"Nee",noValue:"De waarde is niet gespecificeerd in de retourtekst",notifiedByChangeOfAnotherState:"Als u op de hoogte wilt worden gesteld van de wijziging van een ander datapunt nadat u het datapunt in het ID-invoerveld hebt ingesteld. De wijziging wordt alleen gedeeld als deze is ingesteld met ack:true. Het is verplicht om een \u200B\u200Btekst buiten de {} op te geven, anders wordt deze automatisch toegevoegd.",ok:"OK",oneTimeKey:"Verzoekt klanten om het toetsenbord verticaal aan te passen voor een optimale pasvorm (maak het toetsenbord bijvoorbeeld kleiner als er slechts twee rijen knoppen zijn). Standaard ingesteld op false, in welk geval het aangepaste toetsenbord altijd dezelfde hoogte heeft als het standaardtoetsenbord van de app.",overview:"Overzicht",parseMode:"Parseermodus HTML",parseModeBold:"Tekst in de parse-modus is vetgedrukt",parseModeCode:"Tekst in de parse-modus is code",parseModeItalic:"Tekst in de parse-modus is cursief",parseModeLink:"Tekst in de parse-modus is een link",password:"Wachtwoord",percent:"Procent",picSendDelay:"Vertraging foto verzenden",placeholderInstance:"--Kies een telegraminstantie--",placeholderValue:"Tijdelijke aanduiding voor de waarde",reallyDelete:"Wil je dit echt verwijderen?",renameMenu:"Hernoem de menunaam",returnText:"Tekst retourneren",save:"Redden",select:"Selecteer",selectAMenuDropBox:"Selecteer een menu, selecteer verplaatsen of kopi\xEBren. Pas op! Er moet een gebruiker actief zijn in het geselecteerde menu!",selectTargetMenu:"Selecteer een doelmenu",sendMenuAfterRestart:"Menu verzenden na opnieuw opstarten",setAck:"Bevestigingsvlag instellen",setDynamicValue:"Hierdoor kunt u dynamische waarden in datapunten schrijven. U hoeft alleen maar te bellen en vervolgens kunt u de waarde in het invoerveld invoeren. RequestText: tekst om de waarde op te vragen. Type: type waarde (Boolean of getal). BevestigTekst: tekst om de waarde te bevestigen. ID: Als u vanuit een andere staat wilt bevestigen, voert u hier het ID in. (Dit is optioneel)",setID:"Stelt de waarde van de ID in op val, met ack(confirmed)",setMenu:"Menu instellen",setWithAck:"Stel de waarde in met ack-Flag",settings:"Instellingen",startMenus:"Startmenu's",startSide:"Begin kant",statusMenu:"Vraagt \u200B\u200Bde waarde van het ID op en vervangt deze vervolgens door de waarde, zodat er tekst omheen kan worden geschreven, het is ook mogelijk om deze meerdere keren achter elkaar te gebruiken. De parameter true is een optie om de waarde te wijzigen door een functiewijziging. Je moet het op false zetten als je deze waarde niet verandert, maar hierachter zit nog een {status: ... request with change:true.",submenu:"Submenu",switch:"Schakelaar",switchCheckbox:"Schakelaar",telegramInstance:"Telegram-instantie",telegramUser:"Gebruikers van Telegram",text:"Tekst",textNoEntry:"Er wordt een sms verzonden als er geen invoer is gevonden!",toggle:"Schakelaar",trigger:"Trekker",tsTimestamp:"Tijdstempel. Converteert een Unix-tijdstempel naar een lokale tijd, het formaat kan worden gewijzigd, bijvoorbeeld naar DD.MM.JJJJ JJ uu:mm:ss:sss",unusedTrigger:"Ongebruikte trekker",url:"URL",usedTrigger:"Gebruikte trekker",user:"Gebruiker",userList:"Gebruikerslijst",userSelect:"Selecteer een gebruiker of deactiveer het menu voordat u kunt opslaan!",value:"Waarde",valueRound:"Rondt de waarde bijvoorbeeld af op 2 decimalen",values:"Waarden",yes:"Ja"};var cQ={ID:"IDENTIFIANT",IDs:"identifiants",abort:"Avorter",ack:"Acquitter",action:"Action",active:"Actif",activeMenu:"Menu actif\xA0:",add:"Ajouter",addAction:"Ajouter une nouvelle action",addMenu:"Ajouter un nouveau nom de menu",binding:"Reliures : D'abord Var avec l'identifiant puis la condition et le texte.",breakpointNewline:"Point d'arr\xEAt pour une nouvelle ligne, ins\xE9rez-le uniquement dans le texte",call:"Appel",cancel:"Annuler",changeFunction:"Modifie la valeur dans le texte de retour, dans ce cas de true \xE0 on et false \xE0 off",chooseAction:"Choisissez une action",close:"Fermer",commonName:"Affiche le nom du point de donn\xE9es",condition:"Condition",conditionMenu:"Condition pour ouvrir le menu",confirm:"Confirmer",confirmDelete:"Toutes les donn\xE9es seront perdues. Confirmer?",confirmMessage:"Confirmer par message",confirmSet:"Attention. La valeur a seulement \xE9t\xE9 d\xE9finie mais n'a pas encore \xE9t\xE9 confirm\xE9e par l'adaptateur. Vous pouvez supprimer noValue, la valeur s'affichera alors. Position && remplac\xE9 par Value ou sera mis \xE0 la fin",convertsUnixTimestamp:"Convertit un horodatage Unix en heure locale",copy:"Copie",createMenu:"S'il vous pla\xEEt, cr\xE9ez un menu\xA0!",delay:"D\xE9lai (ms)",delete:"Supprimer",directory:"Annuaire",doubleTrigger:"Vous avez des doubles d\xE9clencheurs, veuillez les supprimer\xA0!",edit:"Modifier",entryNotFound:"Entr\xE9e introuvable\xA0!",executedMenu:"Menu ex\xE9cut\xE9",filename:"Nom de fichier",hide:"Cacher",identification:"Identification",inactive:"Inactif",insertID:"Pour ins\xE9rer un ID, ins\xE9rez simplement le bloc en premier, s\xE9lectionnez l'ID. Celui-ci sera alors automatiquement ins\xE9r\xE9 \xE0 l'endroit appropri\xE9, m\xEAme si l'ID doit \xEAtre modifi\xE9. Si le code ne reconna\xEEt pas le bloc, l'ID est ajout\xE9 \xE0 la fin.",instance:"Exemple",isSubmenu:"Ceci est un sous-menu\xA0!",jsonShoppingList:"Comme ci-dessus, mais lorsque vous cliquez sur un bouton, l'\xE9l\xE9ment sera supprim\xE9, la cl\xE9 des \xE9l\xE9ments est \xAB nom : \xBB, vous pouvez \xE9galement ajouter \xAB heure : \xBB. Important !!! La \xAB liste de courses \xBB ne peut pas \xEAtre modifi\xE9e.",jsonTable:"!!! Pour l'utiliser, parseMode ne doit pas \xEAtre actif !!! Cr\xE9e une table \xE0 partir d'un JSON en tant que Text-Table. La premi\xE8re valeur est une cl\xE9 du JSON, derri\xE8re elle se trouve le nom de la colonne. Vous pouvez utiliser plus de deux valeurs. L'en-t\xEAte doit \xEAtre renseign\xE9. Ne modifiez pas TextTable.",latitude:"Latitude",lcTimestamp:"Dernier changement. Convertit un horodatage Unix en heure locale, le format peut \xEAtre modifi\xE9, par exemple en DD.MM.YYYY YY hh:mm:ss:sss",linkedWith:"Est li\xE9 \xE0 :",longitude:"Longitude",manuallyValue:"Cela vous permet de d\xE9finir manuellement une valeur en combinaison avec la valeur ID, comme ceci\xA0: staticValue{id:ID}staticValue",math:"Convertit la valeur, /10 peut \xEAtre remplac\xE9",menu:"Menu",menuBack:"Lorsque vous appuyez dessus, vous revenez au menu pr\xE9c\xE9dent",menuDeleteAll:"G\xE9n\xE8re un bouton pour supprimer tous les messages du bot. La navigation est facultative. Laissez-le simplement vide, sinon vous pourrez acc\xE9der \xE0 un menu qui devrait \xEAtre appel\xE9.",menuDynamicSwitch:"G\xE9n\xE8re des boutons de multiplication, les valeurs peuvent \xEAtre ins\xE9r\xE9es individuellement. Remplacez TRIGGER par une valeur unique. LengthOfRow est facultatif et peut \xEAtre utilis\xE9 pour d\xE9finir le nombre de boutons par ligne.
Rupture de changement !!! \xA0 Veuillez remplacer manuellement\xA0: `[Name1:Value1, Name2:Value2]` par `[Name1|Value1, Name2|Value2]`. Les nombres d\xE9cimaux peuvent d\xE9sormais \xE9galement \xEAtre utilis\xE9s comme valeurs.",menuList:"Liste des menus",menuNumber:"Les num\xE9ros peuvent \xEAtre enti\xE8rement \xE9chang\xE9s. 0-6 indique la plage et 1 la taille du pas, UNIT est remplac\xE9 par une unit\xE9, mais peut \xE9galement \xEAtre laiss\xE9 vide. Remplacez TRIGGER par une valeur unique.",menuPercent:"10 peut \xEAtre remplac\xE9 et indique la taille du pas 0%, 10%, 20%...\xA0! Remplacez TRIGGER par une valeur unique. Ceci est utilis\xE9 dans l\u2019action SetState. Saisissez l'identifiant souhait\xE9. En dessous de la valeur ! ins\xE9rer",menuSwitch:"G\xE9n\xE8re deux boutons, en l'occurrence on et off avec les valeurs respectives true et false. Remplacez TRIGGER par une valeur unique.",menuToCopy:"S\xE9lectionnez d'abord le menu dans lequel vous souhaitez copier les donn\xE9es. Puis la ligne o\xF9 il doit \xEAtre ajout\xE9. S'il n'y a pas encore de donn\xE9es, cliquez sur Enregistrer et elles seront cr\xE9\xE9es apr\xE8s avoir interrog\xE9 le nouveau nom du d\xE9clencheur.",modifiedSubmenuValue:"Cela vous permet de d\xE9finir une valeur de sous-menu modifi\xE9e en combinaison avec une partie statique, comme ceci\xA0: staticValue{value}staticValue",navigation:"Navigation",navigationButtons:"Boutons de navigation",newlineCheckbox:"Nouvelle ligne",no:"Non",noValue:"La valeur n'est pas sp\xE9cifi\xE9e dans le texte de retour",notifiedByChangeOfAnotherState:"Si vous souhaitez \xEAtre inform\xE9 du changement d'un autre point de donn\xE9es apr\xE8s avoir d\xE9fini le point de donn\xE9es dans le champ de saisie ID. La modification ne sera partag\xE9e que si elle est d\xE9finie avec ack:true. Il est obligatoire de pr\xE9ciser un texte en dehors du {}, sinon il sera ajout\xE9 automatiquement.",ok:"D'ACCORD",oneTimeKey:"Demande aux clients de redimensionner le clavier verticalement pour un ajustement optimal (par exemple, r\xE9duire la taille du clavier s'il n'y a que deux rang\xE9es de boutons). La valeur par d\xE9faut est false, auquel cas le clavier personnalis\xE9 a toujours la m\xEAme hauteur que le clavier standard de l'application.",overview:"Aper\xE7u",parseMode:"HTML en mode analyse",parseModeBold:"Le texte en mode analyse est en gras",parseModeCode:"Le texte en mode analyse est du code",parseModeItalic:"Le texte en mode analyse est en italique",parseModeLink:"Le texte en mode analyse est un lien",password:"Mot de passe",percent:"Pour cent",picSendDelay:"D\xE9lai d'envoi des photos",placeholderInstance:"--Veuillez choisir une instance de t\xE9l\xE9gramme--",placeholderValue:"Espace r\xE9serv\xE9 pour la valeur",reallyDelete:"Voulez-vous vraiment supprimer ceci\xA0?",renameMenu:"Renommer le nom du menu",returnText:"Retourner le texte",save:"Sauvegarder",select:"S\xE9lectionner",selectAMenuDropBox:"S\xE9lectionnez un menu, s\xE9lectionnez d\xE9placer ou copier. Attention! Un utilisateur doit \xEAtre actif dans le menu s\xE9lectionn\xE9 !",selectTargetMenu:"S\xE9lectionnez un menu cible",sendMenuAfterRestart:"Envoyer le menu apr\xE8s le red\xE9marrage",setAck:"D\xE9finir le drapeau de r\xE9ception",setDynamicValue:"Cela vous permet d'\xE9crire des valeurs dynamiques dans des points de donn\xE9es. Passez simplement un appel et vous pourrez ensuite saisir la valeur dans le champ de saisie. RequestText\xA0: texte pour demander la valeur. Type : type de la valeur (bool\xE9en ou nombre). ConfirmText\xA0: texte pour confirmer la valeur. ID\xA0: Si vous souhaitez confirmer depuis un autre \xC9tat, entrez l'ID ici. (Ceci est facultatif)",setID:"D\xE9finit la valeur de l'ID sur le val, avec ack (confirm\xE9)",setMenu:"D\xE9finir le menu",setWithAck:"D\xE9finir la valeur avec ack-Flag",settings:"Param\xE8tres",startMenus:"Menus D\xE9marrer",startSide:"C\xF4t\xE9 d\xE9part",statusMenu:"Interroge la valeur de l'ID puis la remplace par la valeur, afin que du texte puisse \xEAtre \xE9crit autour, il est \xE9galement possible de l'utiliser plus d'une fois de suite. Le param\xE8tre true est une option permettant de modifier la valeur par changement de fonction. Vous devez le d\xE9finir sur false si vous ne modifiez pas cette valeur, mais derri\xE8re cela se trouve une autre requ\xEAte {status: ... avec change:true.",submenu:"Sous-menu",switch:"Changer",switchCheckbox:"Changer",telegramInstance:"Instance de t\xE9l\xE9gramme",telegramUser:"Utilisateurs de Telegram",text:"Texte",textNoEntry:"Un texte sera envoy\xE9 si aucune entr\xE9e n'a \xE9t\xE9 trouv\xE9e\xA0!",toggle:"Basculer",trigger:"D\xE9clenchement",tsTimestamp:"Horodatage. Convertit un horodatage Unix en heure locale, le format peut \xEAtre modifi\xE9, par exemple en DD.MM.YYYY YY hh:mm:ss:sss",unusedTrigger:"D\xE9clencheur inutilis\xE9",url:"URL",usedTrigger:"D\xE9clencheur utilis\xE9",user:"Utilisateur",userList:"Liste des utilisateurs",userSelect:"Veuillez s\xE9lectionner un utilisateur ou d\xE9sactiver le menu avant de pouvoir enregistrer\xA0!",value:"Valeur",valueRound:"Arrondit la valeur par exemple \xE0 2 d\xE9cimales",values:"Valeurs",yes:"Oui"};var mQ={ID:"ID",IDs:"ID",abort:"Interrompere",ack:"Ac",action:"Azione",active:"Attivo",activeMenu:"Men\xF9 attivo:",add:"Aggiungere",addAction:"Aggiungi nuova azione",addMenu:"Aggiungi un nuovo nome al menu",binding:"Binding: prima Var con id poi la condizione e il testo.",breakpointNewline:"Punto di interruzione per una nuova riga, inseriscilo solo nel testo",call:"Chiamata",cancel:"Cancellare",changeFunction:"Modifica il valore nel testo restituito, in questo caso da true a on e false a off",chooseAction:"Scegli un'azione",close:"Vicino",commonName:"Restituisce il nome del punto dati",condition:"Condizione",conditionMenu:"Condizione per aprire il menu",confirm:"Confermare",confirmDelete:"Tutti i dati andranno persi. Confermare?",confirmMessage:"Conferma con messaggio",confirmSet:"Attenzione. Il valore \xE8 stato solo impostato ma non ancora confermato dall'adattatore. Puoi rimuovere noValue, quindi il valore verr\xE0 visualizzato. Posizione && sostituito da Valore o verr\xE0 inserito alla fine",convertsUnixTimestamp:"Converte un timestamp Unix in un'ora locale",copy:"Copia",createMenu:"Per favore crea un menu!",delay:"Ritardo (ms)",delete:"Eliminare",directory:"Direttorio",doubleTrigger:"Hai doppi trigger, rimuovili!",edit:"Modificare",entryNotFound:"Voce non trovata!",executedMenu:"Men\xF9 eseguito",filename:"Nome file",hide:"Nascondere",identification:"Identificazione",inactive:"Inattivo",insertID:"Per inserire un ID \xE8 sufficiente inserire prima il blocco, selezionare l'ID. Questo verr\xE0 poi inserito automaticamente nell'apposito posto, anche nel caso in cui si voglia modificare l'ID. Se il codice non riconosce il blocco, l'ID viene aggiunto alla fine.",instance:"Esempio",isSubmenu:"Questo \xE8 un sottomenu!",jsonShoppingList:`Come sopra, ma quando fai clic su un pulsante, l'elemento verr\xE0 eliminato, la chiave per gli elementi \xE8 "nome:", puoi anche aggiungere "ora:". Importante!!! la 'lista della spesa' non pu\xF2 essere modificata.`,jsonTable:"!!! Per usarlo, parseMode non deve essere attivo!!! Crea una tabella da un JSON come tabella di testo. Il primo valore \xE8 una chiave del JSON, dietro c'\xE8 il nome della colonna. Puoi utilizzare pi\xF9 di due valori. L'intestazione deve essere compilata. Non modificare TextTable.",latitude:"Latitudine",lcTimestamp:"Ultimo cambio. Converte un timestamp Unix in un'ora locale, il formato pu\xF2 essere modificato, ad esempio in GG.MM.AAAA AA hh:mm:ss:sss",linkedWith:"\xC8 collegato con:",longitude:"Longitudine",manuallyValue:"Ci\xF2 ti consente di impostare manualmente un valore in combinazione con il valore ID, in questo modo: staticValue{id:ID}staticValue",math:"Converte il valore, /10 pu\xF2 essere sostituito",menu:"Menu",menuBack:"Quando viene premuto, si torna al menu precedente",menuDeleteAll:"Genera un pulsante per eliminare tutti i messaggi dal bot. La navigazione \xE8 facoltativa. Basta lasciarlo vuoto altrimenti si accede ad un menu da richiamare.",menuDynamicSwitch:"Genera pulsanti moltiplicativi, i valori possono essere inseriti individualmente. Sostituisci TRIGGER con un valore univoco. LengthOfRow \xE8 facoltativo e pu\xF2 essere utilizzato per impostare il numero di pulsanti per riga.
Modifica rivoluzionaria!!! \xA0 Modifica manualmente: `[Nome1:Valore1, Nome2:Valore2]` in `[Nome1|Valore1, Nome2|Valore2]`. I numeri decimali ora possono essere utilizzati anche come valori.",menuList:"Elenco dei men\xF9",menuNumber:"I numeri possono essere completamente scambiati. 0-6 indica l'intervallo e 1 la dimensione del passo, UNIT \xE8 sostituito da un'unit\xE0, ma pu\xF2 anche essere lasciato vuoto. Sostituisci TRIGGER con un valore univoco.",menuPercent:"10 pu\xF2 essere sostituito e indica la dimensione del passo 0%, 10%, 20%...! Sostituisci TRIGGER con un valore univoco. Viene utilizzato nell'azione SetState. Inserisci l'ID desiderato. Sotto il valore! inserire",menuSwitch:"Genera due pulsanti, in questo caso on e off con i rispettivi valori true e false. Sostituisci TRIGGER con un valore univoco.",menuToCopy:"Seleziona innanzitutto il menu in cui desideri copiare i dati. Quindi la riga in cui dovrebbe essere aggiunto. Se non sono ancora presenti dati, fare clic su Salva e verranno creati dopo aver richiesto il nuovo nome del trigger.",modifiedSubmenuValue:"Ci\xF2 ti consente di impostare un valore del sottomenu modificato in combinazione con una parte statica, in questo modo: staticValue{value}staticValue",navigation:"Navigazione",navigationButtons:"Pulsanti di navigazione",newlineCheckbox:"Nuova riga",no:"NO",noValue:"Il valore non \xE8 specificato nel testo restituito",notifiedByChangeOfAnotherState:"Se desideri essere avvisato della modifica di un altro punto dati dopo aver impostato il punto dati nel campo di immissione ID. La modifica verr\xE0 condivisa solo se \xE8 impostata con ack:true. \xC8 obbligatorio specificare un testo fuori dal {}, altrimenti verr\xE0 aggiunto automaticamente.",ok:"OK",oneTimeKey:"Richiede ai client di ridimensionare la tastiera verticalmente per adattarla in modo ottimale (ad esempio, riduci la tastiera se sono presenti solo due file di pulsanti). Il valore predefinito \xE8 false, nel qual caso la tastiera personalizzata ha sempre la stessa altezza della tastiera standard dell'app.",overview:"Panoramica",parseMode:"Modalit\xE0 di analisi HTML",parseModeBold:"Il testo in modalit\xE0 analisi \xE8 in grassetto",parseModeCode:"Il testo in modalit\xE0 Parse \xE8 codice",parseModeItalic:"Il testo in modalit\xE0 Parse \xE8 in corsivo",parseModeLink:"Il testo in modalit\xE0 Parse \xE8 link",password:"Password",percent:"Percentuale",picSendDelay:"Ritardo nell'invio dell'immagine",placeholderInstance:"--Scegli un'istanza di Telegram--",placeholderValue:"Segnaposto per il valore",reallyDelete:"Vuoi davvero eliminarlo?",renameMenu:"Rinominare il nome del menu",returnText:"Restituisci il testo",save:"Salva",select:"Selezionare",selectAMenuDropBox:"Seleziona un menu, seleziona sposta o copia. Attento! Un utente deve essere attivo nel menu selezionato!",selectTargetMenu:"Seleziona un menu di destinazione",sendMenuAfterRestart:"Invia menu dopo il riavvio",setAck:"Imposta il flag di riconoscimento",setDynamicValue:"Ci\xF2 consente di scrivere valori dinamici in punti dati. Basta effettuare una chiamata e quindi inserire il valore nel campo di immissione. RequestText: testo per richiedere il valore. Tipo: tipo del valore (booleano o numerico). confirmText: testo per confermare il valore. ID: se desideri confermare da un altro Stato, inserisci qui l'ID (facoltativo)",setID:"Imposta il valore dell'ID su val, con ack(confirmed)",setMenu:"Menu fisso",setWithAck:"Imposta il valore con ack-Flag",settings:"Impostazioni",startMenus:"Menu di avvio",startSide:"Lato iniziale",statusMenu:"Interroga il valore dell'ID e poi lo sostituisce con il valore, in modo che sia possibile scrivere del testo attorno ad esso, ed \xE8 anche possibile utilizzarlo pi\xF9 di una volta di seguito. Il parametro true \xE8 un'opzione per modificare il valore mediante modifica della funzione. Devi impostarlo su false se non cambi questo valore, ma dietro c'\xE8 un'altra richiesta {status: ... con change:true.",submenu:"Sottomenu",switch:"Interruttore",switchCheckbox:"Interruttore",telegramInstance:"Istanza di Telegramma",telegramUser:"Utenti di Telegram",text:"Testo",textNoEntry:"Il testo verr\xE0 inviato se non viene trovata alcuna voce!",toggle:"Attiva/disattiva",trigger:"Grilletto",tsTimestamp:"Timestamp. Converte un timestamp Unix in un'ora locale, il formato pu\xF2 essere modificato, ad esempio in GG.MM.AAAA AA hh:mm:ss:sss",unusedTrigger:"Grilletto non utilizzato",url:"URL",usedTrigger:"Grilletto usato",user:"Utente",userList:"Elenco utenti",userSelect:"Seleziona un utente o disattiva il menu prima di poter salvare!",value:"Valore",valueRound:"Arrotonda il valore, ad esempio, a 2 cifre decimali",values:"Valori",yes:"S\xCC"};var hQ={ID:"IDENTIFICACI\xD3N",IDs:"identificaciones",abort:"Abortar",ack:"Ack",action:"Acci\xF3n",active:"Activo",activeMenu:"Men\xFA activo:",add:"Agregar",addAction:"Agregar nueva acci\xF3n",addMenu:"Agregar nuevo nombre de men\xFA",binding:"Enlaces: Primero Var con id, luego la condici\xF3n y el texto.",breakpointNewline:"Punto de interrupci\xF3n para una nueva l\xEDnea, solo inserte esto en el texto",call:"Llamar",cancel:"Cancelar",changeFunction:"Cambia el valor en el texto devuelto, en este caso de verdadero a activado y de falso a desactivado.",chooseAction:"Elige una acci\xF3n",close:"Cerca",commonName:"Muestra el nombre del punto de datos.",condition:"Condici\xF3n",conditionMenu:"Condici\xF3n para abrir Men\xFA",confirm:"Confirmar",confirmDelete:"Todos los datos se perder\xE1n. \xBFConfirmar?",confirmMessage:"Confirmar con mensaje",confirmSet:"Atenci\xF3n. El valor s\xF3lo ha sido establecido pero a\xFAn no confirmado por el Adaptador. Puede eliminar noValue, luego se mostrar\xE1 el valor. Posici\xF3n && reemplazada por Valor o se pondr\xE1 al final",convertsUnixTimestamp:"Convierte una marca de tiempo de Unix a una hora local",copy:"Copiar",createMenu:"\xA1Por favor crea un men\xFA!",delay:"Retraso (ms)",delete:"Borrar",directory:"Directorio",doubleTrigger:"Tienes activadores dobles, \xA1elim\xEDtalos!",edit:"Editar",entryNotFound:"\xA1Entrada no encontrada!",executedMenu:"Men\xFA ejecutado",filename:"Nombre del archivo",hide:"Esconder",identification:"Identificaci\xF3n",inactive:"Inactivo",insertID:"Para insertar una ID, simplemente inserte el bloque primero, seleccione la ID. Este se insertar\xE1 autom\xE1ticamente en el lugar apropiado, incluso si se va a cambiar el ID. Si el c\xF3digo no reconoce el bloque, se a\xF1ade el ID al final.",instance:"Instancia",isSubmenu:"\xA1Este es un submen\xFA!",jsonShoppingList:`Lo mismo que arriba, pero cuando haces clic en un bot\xF3n, el elemento se eliminar\xE1. La clave para los elementos es "nombre:", tambi\xE9n puedes agregar "hora:". \xA1\xA1\xA1Importante!!! La 'lista de compras' no se puede cambiar.`,jsonTable:"!!! \xA1Para usarlo, parseMode no debe estar activo! Crea una tabla a partir de un JSON como Text-Table. El primer valor es una clave del JSON, detr\xE1s est\xE1 el nombre de la columna. Puede utilizar m\xE1s de dos valores. El encabezado debe estar completo. No cambie TextTable.",latitude:"Latitud",lcTimestamp:"\xDAltimo cambio. Convierte una marca de tiempo de Unix a una hora local; el formato se puede cambiar, por ejemplo a DD.MM.AAAA AA hh:mm:ss:sss",linkedWith:"Est\xE1 vinculado con:",longitude:"Longitud",manuallyValue:"Esto le permite establecer un valor manualmente en combinaci\xF3n con el valor de ID, como este: staticValue{id:ID}staticValue",math:"Convierte el valor, /10 se puede reemplazar",menu:"Men\xFA",menuBack:"Al pulsarlo saltas al men\xFA anterior.",menuDeleteAll:"Genera un bot\xF3n para eliminar todos los mensajes del bot. La navegaci\xF3n es opcional. Simplemente d\xE9jelo en blanco, de lo contrario podr\xE1 ingresar a un men\xFA que deber\xEDa abrirse.",menuDynamicSwitch:"Genera botones de multiplicar, los valores se pueden insertar individualmente. Reemplace TRIGGER con un valor \xFAnico. LongitudDeRow es opcional y se puede utilizar para establecer el n\xFAmero de botones por fila.
\xA1\xA1\xA1Cambio importante!!! \xA0 Cambie manualmente: `[Nombre1:Valor1, Nombre2:Valor2]` a `[Nombre1|Valor1, Nombre2|Valor2]`. Ahora tambi\xE9n se pueden utilizar n\xFAmeros decimales como valores.",menuList:"Lista de men\xFA",menuNumber:"Los n\xFAmeros se pueden intercambiar completamente. 0-6 indica el rango y 1 el tama\xF1o del paso, UNIT se reemplaza por una unidad, pero tambi\xE9n se puede dejar vac\xEDo. Reemplace TRIGGER con un valor \xFAnico.",menuPercent:"\xA110 se puede reemplazar e indica el tama\xF1o del paso 0%, 10%, 20%...! Reemplace TRIGGER con un valor \xFAnico. Esto se utiliza en la acci\xF3n SetState. Ingrese la identificaci\xF3n deseada. \xA1Por debajo del valor! insertar",menuSwitch:"Genera dos botones, en este caso encendido y apagado con los valores respectivos verdadero y falso. Reemplace TRIGGER con un valor \xFAnico.",menuToCopy:"Primero seleccione el men\xFA al que desea copiar los datos. Luego la l\xEDnea donde se debe agregar. Si a\xFAn no hay datos, haga clic en guardar y se crear\xE1 despu\xE9s de consultar el nuevo nombre del activador.",modifiedSubmenuValue:"Esto le permite establecer un valor de submen\xFA modificado en combinaci\xF3n con una parte est\xE1tica, como esta: staticValue{value}staticValue",navigation:"Navegaci\xF3n",navigationButtons:"Botones de navegaci\xF3n",newlineCheckbox:"Nueva l\xEDnea",no:"No",noValue:"El valor no est\xE1 especificado en el texto de retorno.",notifiedByChangeOfAnotherState:"Si desea recibir una notificaci\xF3n sobre el cambio de otro punto de datos despu\xE9s de haber configurado el punto de datos en el campo de entrada de ID. El cambio solo se compartir\xE1 si se establece con ack:true. Es obligatorio especificar un texto fuera del {}, de lo contrario se agregar\xE1 autom\xE1ticamente.",ok:"DE ACUERDO",oneTimeKey:"Solicita a los clientes que cambien el tama\xF1o del teclado verticalmente para lograr un ajuste \xF3ptimo (por ejemplo, reducir el tama\xF1o del teclado si solo hay dos filas de botones). El valor predeterminado es falso, en cuyo caso el teclado personalizado siempre tiene la misma altura que el teclado est\xE1ndar de la aplicaci\xF3n.",overview:"Descripci\xF3n general",parseMode:"Modo de an\xE1lisis HTML",parseModeBold:"El texto en modo Parse est\xE1 en negrita",parseModeCode:"El texto en modo Parse es c\xF3digo",parseModeItalic:"El texto en modo Parse est\xE1 en cursiva",parseModeLink:"El texto en modo Parse es un enlace",password:"Contrase\xF1a",percent:"Por ciento",picSendDelay:"Retraso en env\xEDo de imagen",placeholderInstance:"--Por favor elija una instancia de telegrama--",placeholderValue:"Marcador de posici\xF3n para el valor",reallyDelete:"\xBFRealmente quieres eliminar esto?",renameMenu:"Cambiar el nombre del men\xFA",returnText:"Texto de retorno",save:"Ahorrar",select:"Seleccionar",selectAMenuDropBox:"Seleccione un men\xFA, seleccione mover o copiar. \xA1Cuidado! \xA1Un usuario debe estar activo en el men\xFA seleccionado!",selectTargetMenu:"Seleccionar un men\xFA de destino",sendMenuAfterRestart:"Enviar men\xFA despu\xE9s de reiniciar",setAck:"Establecer indicador de confirmaci\xF3n",setDynamicValue:"Esto le permite escribir valores din\xE1micos en puntos de datos. Simplemente haga una llamada y luego podr\xE1 ingresar el valor en el campo de entrada. RequestText: Texto para solicitar el valor. Tipo: tipo del valor (booleano o n\xFAmero). ConfirmText: Texto para confirmar el valor. DNI: Si deseas confirmar desde otro Estado, ingresa aqu\xED el DNI. (Esto es opcional)",setID:"Establece el valor del ID en val, con ack(confirmado)",setMenu:"Men\xFA fijo",setWithAck:"Establecer valor con ack-Flag",settings:"Ajustes",startMenus:"Men\xFAs de inicio",startSide:"Lado de inicio",statusMenu:"Consulta el valor del ID y luego lo reemplaza con el valor, para que se pueda escribir texto alrededor de \xE9l, tambi\xE9n es posible usarlo m\xE1s de una vez seguida. El par\xE1metro verdadero es una opci\xF3n para cambiar el valor mediante el cambio de funci\xF3n. Tienes que establecerlo en falso si no cambias este valor, pero detr\xE1s de esto hay otra solicitud {status: ... con cambio:true.",submenu:"Submen\xFA",switch:"Cambiar",switchCheckbox:"Cambiar",telegramInstance:"Instancia de telegrama",telegramUser:"Usuarios de Telegram",text:"Texto",textNoEntry:"\xA1Se enviar\xE1 un mensaje de texto si no se encontr\xF3 ninguna entrada!",toggle:"Palanca",trigger:"Desencadenar",tsTimestamp:"Marca de tiempo. Convierte una marca de tiempo de Unix a una hora local; el formato se puede cambiar, por ejemplo a DD.MM.AAAA AA hh:mm:ss:sss",unusedTrigger:"Gatillo no utilizado",url:"URL",usedTrigger:"Gatillo usado",user:"Usuario",userList:"Lista de usuarios",userSelect:"\xA1Seleccione un usuario o desactive el men\xFA antes de poder guardar!",value:"Valor",valueRound:"Redondea el valor, por ejemplo, a 2 decimales.",values:"Valores",yes:"S\xED"};var xQ={ID:"ID",IDs:"identyfikatory",abort:"Poroni\u0107",ack:"Potwierd\u017A",action:"Dzia\u0142anie",active:"Aktywny",activeMenu:"Aktywne menu:",add:"Doda\u0107",addAction:"Dodaj now\u0105 akcj\u0119",addMenu:"Dodaj now\u0105 nazw\u0119 menu",binding:"Powi\u0105zania: Najpierw Var z identyfikatorem, potem warunek i tekst.",breakpointNewline:"Punkt przerwania nowej linii. Wstaw go tylko w tek\u015Bcie",call:"Dzwoni\u0107",cancel:"Anulowa\u0107",changeFunction:"Zmienia warto\u015B\u0107 w tek\u015Bcie zwracanym, w tym przypadku z true na on i false na off",chooseAction:"Wybierz akcj\u0119",close:"Zamkn\u0105\u0107",commonName:"Wy\u015Bwietla nazw\u0119 punktu danych",condition:"Stan",conditionMenu:"Warunek otwarcia Menu",confirm:"Potwierdza\u0107",confirmDelete:"Wszystkie dane zostan\u0105 utracone. Potwierdza\u0107?",confirmMessage:"Potwierd\u017A komunikatem",confirmSet:"Uwaga. Warto\u015B\u0107 zosta\u0142a ustawiona, ale jeszcze nie potwierdzona przez adapter. Mo\u017Cesz usun\u0105\u0107 noValue, wtedy warto\u015B\u0107 zostanie wy\u015Bwietlona. Pozycja && zostanie zast\u0105piona warto\u015Bci\u0105 lub zostanie umieszczona na ko\u0144cu",convertsUnixTimestamp:"Konwertuje znacznik czasu Uniksa na czas lokalny",copy:"Kopia",createMenu:"Prosz\u0119 stworzy\u0107 menu!",delay:"Op\xF3\u017Anienie (ms)",delete:"Usuwa\u0107",directory:"Informator",doubleTrigger:"Masz podw\xF3jne wyzwalacze, usu\u0144 je!",edit:"Redagowa\u0107",entryNotFound:"Nie znaleziono wpisu!",executedMenu:"Wykonane menu",filename:"Nazwa pliku",hide:"Ukrywa\u0107",identification:"Identyfikacja",inactive:"Nieaktywny",insertID:"Aby wstawi\u0107 identyfikator, wystarczy najpierw wstawi\u0107 blok i wybra\u0107 identyfikator. Zostanie on nast\u0119pnie automatycznie wstawiony w odpowiednim miejscu, nawet je\u015Bli identyfikator ma zosta\u0107 zmieniony. Je\u017Celi kod nie rozpoznaje bloku, na ko\u0144cu dodawany jest identyfikator.",instance:"Przyk\u0142ad",isSubmenu:"To jest podmenu!",jsonShoppingList:"To samo co powy\u017Cej, ale kiedy klikniesz przycisk, element zostanie usuni\u0119ty, kluczem do pozycji jest \u201Enazwa:\u201D, mo\u017Cesz tak\u017Ce doda\u0107 \u201Eczas:\u201D. Wa\u017Cne!!! \u201Elisty zakup\xF3w\u201D nie mo\u017Cna zmienia\u0107.",jsonTable:"!!! Aby z niego skorzysta\u0107, parseMode nie mo\u017Ce by\u0107 aktywny !!! Tworzy tabel\u0119 z JSON jako tabel\u0119 tekstow\u0105. Pierwsza warto\u015B\u0107 to jeden klucz JSON, za ni\u0105 znajduje si\u0119 nazwa kolumny. Mo\u017Cesz u\u017Cy\u0107 wi\u0119cej ni\u017C dw\xF3ch warto\u015Bci. Nag\u0142\xF3wek musi by\u0107 wype\u0142niony. Nie zmieniaj TextTable.",latitude:"Szeroko\u015B\u0107",lcTimestamp:"Ostatnia zmiana. Konwertuje znacznik czasu Uniksa na czas lokalny, format mo\u017Cna zmieni\u0107 na przyk\u0142ad na DD.MM.RRRR YY gg:mm:ss:sss",linkedWith:"Jest powi\u0105zany z:",longitude:"D\u0142ugo\u015B\u0107 geograficzna",manuallyValue:"Umo\u017Cliwia to r\u0119czne ustawienie warto\u015Bci w po\u0142\u0105czeniu z warto\u015Bci\u0105 identyfikatora, na przyk\u0142ad: staticValue{id:ID}staticValue",math:"Konwertuje warto\u015B\u0107, /10 mo\u017Cna zast\u0105pi\u0107",menu:"Menu",menuBack:"Po naci\u015Bni\u0119ciu nast\u0119puje powr\xF3t do poprzedniego menu",menuDeleteAll:"Generuje przycisk umo\u017Cliwiaj\u0105cy usuni\u0119cie wszystkich wiadomo\u015Bci od bota. Nawigacja jest opcjonalna. Po prostu pozostaw to pole puste, w przeciwnym razie mo\u017Cesz wej\u015B\u0107 do menu, kt\xF3re nale\u017Cy wywo\u0142a\u0107.",menuDynamicSwitch:"Generuje przyciski mno\u017Cenia, warto\u015Bci mo\u017Cna wstawia\u0107 indywidualnie. Zast\u0105p TRIGGER unikaln\u0105 warto\u015Bci\u0105. D\u0142ugo\u015B\u0107OfRow jest opcjonalna i mo\u017Cna jej u\u017Cy\u0107 do ustawienia liczby przycisk\xF3w w rz\u0119dzie.
Przerywanie zmiany!!! \xA0 Zmie\u0144 r\u0119cznie: `[Nazwa1:Warto\u015B\u01071, Nazwa2:Warto\u015B\u01072]` na `[Nazwa1|Warto\u015B\u01071, Nazwa2|Warto\u015B\u01072]`. Liczb dziesi\u0119tnych mo\u017Cna teraz u\u017Cywa\u0107 tak\u017Ce jako warto\u015Bci.",menuList:"Lista menu",menuNumber:"Numery mo\u017Cna ca\u0142kowicie wymienia\u0107. 0-6 oznacza zakres, a 1 wielko\u015B\u0107 kroku. UNIT jest zast\u0119powany przez jednostk\u0119, ale mo\u017Ce te\u017C pozosta\u0107 pusty. Zast\u0105p TRIGGER unikaln\u0105 warto\u015Bci\u0105.",menuPercent:"10 mo\u017Cna wymieni\u0107 i wskazuje wielko\u015B\u0107 kroku 0%, 10%, 20%...! Zast\u0105p TRIGGER unikaln\u0105 warto\u015Bci\u0105. Jest to u\u017Cywane w akcji SetState. Wprowad\u017A \u017C\u0105dany identyfikator. Poni\u017Cej warto\u015Bci! wstawi\u0107",menuSwitch:"Generuje dwa przyciski, w tym przypadku w\u0142\u0105czaj\u0105ce i wy\u0142\u0105czaj\u0105ce z odpowiednimi warto\u015Bciami prawda i fa\u0142sz. Zast\u0105p TRIGGER unikaln\u0105 warto\u015Bci\u0105.",menuToCopy:"Najpierw wybierz menu, do kt\xF3rego chcesz skopiowa\u0107 dane. Nast\u0119pnie linia, w kt\xF3rej nale\u017Cy go doda\u0107. Je\u015Bli nie ma jeszcze danych, kliknij Zapisz, a zostan\u0105 one utworzone po zapytaniu o now\u0105 nazw\u0119 wyzwalacza.",modifiedSubmenuValue:"Pozwala to ustawi\u0107 zmodyfikowan\u0105 warto\u015B\u0107 podmenu w po\u0142\u0105czeniu z cz\u0119\u015Bci\u0105 statyczn\u0105, na przyk\u0142ad: staticValue{value}staticValue",navigation:"Nawigacja",navigationButtons:"Przyciski nawigacji",newlineCheckbox:"Nowa linia",no:"NIE",noValue:"Warto\u015B\u0107 nie jest okre\u015Blona w tek\u015Bcie zwracanym",notifiedByChangeOfAnotherState:"Je\u015Bli chcesz otrzyma\u0107 powiadomienie o zmianie innego punktu danych po ustawieniu punktu danych w polu wprowadzania ID. Zmiana zostanie udost\u0119pniona tylko wtedy, gdy zostanie ustawiona opcja ack:true. Obowi\u0105zkowe jest podanie tekstu poza {}, w przeciwnym razie zostanie on dodany automatycznie.",ok:"OK",oneTimeKey:"\u017B\u0105da od klient\xF3w zmiany rozmiaru klawiatury w pionie w celu zapewnienia optymalnego dopasowania (np. zmniejszenia klawiatury, je\u015Bli s\u0105 tylko dwa rz\u0119dy przycisk\xF3w). Domy\u015Blnie ustawiona jest warto\u015B\u0107 false. W takim przypadku niestandardowa klawiatura ma zawsze t\u0119 sam\u0105 wysoko\u015B\u0107 co standardowa klawiatura aplikacji.",overview:"Przegl\u0105d",parseMode:"Tryb analizy kodu HTML",parseModeBold:"Tekst w trybie analizy jest pogrubiony",parseModeCode:"Tekst w trybie analizy jest kodem",parseModeItalic:"Tekst w trybie analizy jest kursyw\u0105",parseModeLink:"Tekst w trybie analizy to link",password:"Has\u0142o",percent:"Procent",picSendDelay:"Op\xF3\u017Anienie wysy\u0142ania zdj\u0119\u0107",placeholderInstance:"--Prosz\u0119 wybra\u0107 instancj\u0119 telegramu--",placeholderValue:"Symbol zast\u0119pczy warto\u015Bci",reallyDelete:"Czy na pewno chcesz to usun\u0105\u0107?",renameMenu:"Zmie\u0144 nazw\u0119 menu",returnText:"Zwr\xF3\u0107 tekst",save:"Ratowa\u0107",select:"Wybiera\u0107",selectAMenuDropBox:"Wybierz menu, wybierz opcj\u0119 przenie\u015B lub skopiuj. Uwa\u017Caj! U\u017Cytkownik musi by\u0107 aktywny w wybranym menu!",selectTargetMenu:"Wybierz menu docelowe",sendMenuAfterRestart:"Wy\u015Blij menu po ponownym uruchomieniu",setAck:"Ustaw flag\u0119 potwierdzenia",setDynamicValue:"Umo\u017Cliwia to zapisywanie warto\u015Bci dynamicznych w punktach danych. Wystarczy wykona\u0107 po\u0142\u0105czenie, a nast\u0119pnie wprowadzi\u0107 warto\u015B\u0107 w polu wej\u015Bciowym. RequestText: Tekst \u017C\u0105dania warto\u015Bci. Typ: typ warto\u015Bci (logiczna lub liczba). Potwierd\u017ATekst: Tekst potwierdzaj\u0105cy warto\u015B\u0107. ID: Je\u015Bli chcesz potwierdzi\u0107, \u017Ce pochodzisz z innego stanu, wprowad\u017A tutaj identyfikator. (jest to opcjonalne)",setID:"Ustawia warto\u015B\u0107 identyfikatora na val, z potwierdzeniem (potwierdzone)",setMenu:"Ustaw menu",setWithAck:"Ustaw warto\u015B\u0107 za pomoc\u0105 flagi potwierdzenia",settings:"Ustawienia",startMenus:"Menu startowe",startSide:"Strona startowa",statusMenu:"Odpytuje warto\u015B\u0107 identyfikatora, a nast\u0119pnie zast\u0119puje j\u0105 warto\u015Bci\u0105, dzi\u0119ki czemu mo\u017Cna wok\xF3\u0142 niego napisa\u0107 tekst, mo\u017Cna go r\xF3wnie\u017C u\u017Cy\u0107 wi\u0119cej ni\u017C raz z rz\u0119du. Parametr true umo\u017Cliwia zmian\u0119 warto\u015Bci poprzez zmian\u0119 funkcji. Je\u015Bli nie zmienisz tej warto\u015Bci, musisz ustawi\u0107 j\u0105 na false, ale za tym kryje si\u0119 kolejne \u017C\u0105danie {status: ... ze zmian\u0105:true.",submenu:"Podmenu",switch:"Prze\u0142\u0105cznik",switchCheckbox:"Prze\u0142\u0105cznik",telegramInstance:"Instancja telegramu",telegramUser:"U\u017Cytkownicy Telegramu",text:"Tekst",textNoEntry:"W przypadku braku wpisu zostanie wys\u0142any SMS!",toggle:"D\u017Awignia kolankowa",trigger:"Spust",tsTimestamp:"Znacznik czasu. Konwertuje znacznik czasu Uniksa na czas lokalny, format mo\u017Cna zmieni\u0107 na przyk\u0142ad na DD.MM.RRRR YY gg:mm:ss:sss",unusedTrigger:"Nieu\u017Cywany wyzwalacz",url:"Adres URL",usedTrigger:"U\u017Cywany spust",user:"U\u017Cytkownik",userList:"Lista u\u017Cytkownik\xF3w",userSelect:"Wybierz u\u017Cytkownika lub dezaktywuj Menu, aby m\xF3c zapisa\u0107!",value:"Warto\u015B\u0107",valueRound:"Zaokr\u0105gla warto\u015B\u0107 na przyk\u0142ad do 2 miejsc po przecinku",values:"Warto\u015Bci",yes:"Tak"};var gQ={ID:"ID",IDs:"\u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440\u0438",abort:"\u041F\u0435\u0440\u0435\u0440\u0432\u0430\u0442\u0438",ack:"Ack",action:"\u0414\u0456\u044F",active:"\u0410\u043A\u0442\u0438\u0432\u043D\u0438\u0439",activeMenu:"\u0410\u043A\u0442\u0438\u0432\u043D\u0435 \u043C\u0435\u043D\u044E:",add:"\u0434\u043E\u0434\u0430\u0442\u0438",addAction:"\u0414\u043E\u0434\u0430\u0442\u0438 \u043D\u043E\u0432\u0443 \u0434\u0456\u044E",addMenu:"\u0414\u043E\u0434\u0430\u0439\u0442\u0435 \u043D\u043E\u0432\u0443 \u043D\u0430\u0437\u0432\u0443 \u043C\u0435\u043D\u044E",binding:"\u041F\u0440\u0438\u0432\u2019\u044F\u0437\u043A\u0438: \u0441\u043F\u043E\u0447\u0430\u0442\u043A\u0443 Var \u0437 \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440\u043E\u043C, \u043F\u043E\u0442\u0456\u043C \u0443\u043C\u043E\u0432\u0430 \u0442\u0430 \u0442\u0435\u043A\u0441\u0442.",breakpointNewline:"\u0422\u043E\u0447\u043A\u0430 \u0437\u0443\u043F\u0438\u043D\u0443 \u0434\u043B\u044F \u043D\u043E\u0432\u043E\u0433\u043E \u0440\u044F\u0434\u043A\u0430, \u0432\u0441\u0442\u0430\u0432\u0442\u0435 \u0446\u0435 \u043B\u0438\u0448\u0435 \u0432 \u0442\u0435\u043A\u0441\u0442",call:"\u0422\u0435\u043B\u0435\u0444\u043E\u043D\u0443\u0439\u0442\u0435",cancel:"\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438",changeFunction:"\u0417\u043C\u0456\u043D\u044E\u0454 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 \u0442\u0435\u043A\u0441\u0442\u0456, \u0449\u043E \u043F\u043E\u0432\u0435\u0440\u0442\u0430\u0454\u0442\u044C\u0441\u044F, \u0443 \u0446\u044C\u043E\u043C\u0443 \u0432\u0438\u043F\u0430\u0434\u043A\u0443 \u0437 \u0456\u0441\u0442\u0438\u043D\u043D\u043E\u0433\u043E \u043D\u0430 \u0443\u0432\u0456\u043C\u043A\u043D\u0435\u043D\u0435 \u0442\u0430 \u0437 \u043D\u0435\u043F\u0440\u0430\u0432\u0434\u0438\u0432\u043E\u0433\u043E \u043D\u0430 \u0432\u0438\u043C\u043A\u043D\u0435\u043D\u0435",chooseAction:"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0434\u0456\u044E",close:"\u0417\u0430\u043A\u0440\u0438\u0442\u0438",commonName:"\u0412\u0438\u0432\u043E\u0434\u0438\u0442\u044C \u043D\u0430\u0437\u0432\u0443 \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u0438\u0445",condition:"\u0425\u0432\u043E\u0440\u043E\u0431\u0430",conditionMenu:"\u0423\u043C\u043E\u0432\u0430 \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0442\u044F \u043C\u0435\u043D\u044E",confirm:"\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0438",confirmDelete:"\u0423\u0441\u0456 \u0434\u0430\u043D\u0456 \u0431\u0443\u0434\u0435 \u0432\u0442\u0440\u0430\u0447\u0435\u043D\u043E. \u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0438?",confirmMessage:"\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u044C\u0442\u0435 \u043F\u043E\u0432\u0456\u0434\u043E\u043C\u043B\u0435\u043D\u043D\u044F\u043C",confirmSet:"\u0423\u0432\u0430\u0433\u0430. \u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043B\u0438\u0448\u0435 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E, \u0430\u043B\u0435 \u0449\u0435 \u043D\u0435 \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043D\u043E \u0430\u0434\u0430\u043F\u0442\u0435\u0440\u043E\u043C. \u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u0438\u0434\u0430\u043B\u0438\u0442\u0438 noValue, \u0442\u043E\u0434\u0456 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u044C\u0441\u044F. \u041F\u043E\u0437\u0438\u0446\u0456\u044F && \u0437\u0430\u043C\u0456\u043D\u044E\u0454\u0442\u044C\u0441\u044F \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\u043C \u0430\u0431\u043E \u0431\u0443\u0434\u0435 \u0440\u043E\u0437\u043C\u0456\u0449\u0435\u043D\u043E \u0432 \u043A\u0456\u043D\u0446\u0456",convertsUnixTimestamp:"\u041F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u044E\u0454 \u043C\u0456\u0442\u043A\u0443 \u0447\u0430\u0441\u0443 Unix \u043D\u0430 \u043C\u0456\u0441\u0446\u0435\u0432\u0438\u0439 \u0447\u0430\u0441",copy:"\u041A\u043E\u043F\u0456\u044F",createMenu:"\u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0441\u0442\u0432\u043E\u0440\u0456\u0442\u044C \u043C\u0435\u043D\u044E!",delay:"\u0417\u0430\u0442\u0440\u0438\u043C\u043A\u0430 (\u043C\u0441)",delete:"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438",directory:"\u0414\u043E\u0432\u0456\u0434\u043D\u0438\u043A",doubleTrigger:"\u0423 \u0432\u0430\u0441 \u0454 \u043F\u043E\u0434\u0432\u0456\u0439\u043D\u0456 \u0442\u0440\u0438\u0433\u0435\u0440\u0438, \u0431\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0432\u0438\u0434\u0430\u043B\u0456\u0442\u044C \u0457\u0445!",edit:"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438",entryNotFound:"\u0417\u0430\u043F\u0438\u0441 \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E!",executedMenu:"\u0412\u0438\u043A\u043E\u043D\u0430\u043D\u0435 \u043C\u0435\u043D\u044E",filename:"\u0406\u043C'\u044F \u0444\u0430\u0439\u043B\u0443",hide:"\u0421\u0445\u043E\u0432\u0430\u0442\u0438",identification:"\u0406\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0446\u0456\u044F",inactive:"\u041D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u0438\u0439",insertID:"\u0429\u043E\u0431 \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440, \u043F\u0440\u043E\u0441\u0442\u043E \u0441\u043F\u043E\u0447\u0430\u0442\u043A\u0443 \u0432\u0441\u0442\u0430\u0432\u0442\u0435 \u0431\u043B\u043E\u043A, \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440. \u041F\u043E\u0442\u0456\u043C \u0439\u043E\u0433\u043E \u0431\u0443\u0434\u0435 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E \u0432\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u043E \u0443 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u043D\u0435 \u043C\u0456\u0441\u0446\u0435, \u043D\u0430\u0432\u0456\u0442\u044C \u044F\u043A\u0449\u043E ID \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u043E \u0437\u043C\u0456\u043D\u0438\u0442\u0438. \u042F\u043A\u0449\u043E \u043A\u043E\u0434 \u043D\u0435 \u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u0454 \u0431\u043B\u043E\u043A, \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440 \u0434\u043E\u0434\u0430\u0454\u0442\u044C\u0441\u044F \u0432 \u043A\u0456\u043D\u0446\u0456.",instance:"\u0415\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440",isSubmenu:"\u0426\u0435 \u043F\u0456\u0434\u043C\u0435\u043D\u044E!",jsonShoppingList:'\u0422\u0435 \u0441\u0430\u043C\u0435, \u0449\u043E \u0439 \u0432\u0438\u0449\u0435, \u0430\u043B\u0435 \u043A\u043E\u043B\u0438 \u0432\u0438 \u043D\u0430\u0442\u0438\u0441\u043A\u0430\u0454\u0442\u0435 \u043A\u043D\u043E\u043F\u043A\u0443, \u0435\u043B\u0435\u043C\u0435\u043D\u0442 \u0431\u0443\u0434\u0435 \u0432\u0438\u0434\u0430\u043B\u0435\u043D\u043E, \u043A\u043B\u044E\u0447\u0435\u043C \u0434\u043B\u044F \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432 \u0454 `name:`, \u0432\u0438 \u0442\u0430\u043A\u043E\u0436 \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u043E\u0434\u0430\u0442\u0438 `time:`. \u0412\u0430\u0436\u043B\u0438\u0432\u043E!!! "\u0441\u043F\u0438\u0441\u043E\u043A \u043F\u043E\u043A\u0443\u043F\u043E\u043A" \u043D\u0435 \u043C\u043E\u0436\u043D\u0430 \u0437\u043C\u0456\u043D\u044E\u0432\u0430\u0442\u0438.',jsonTable:"!!! \u0429\u043E\u0431 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0439\u043E\u0433\u043E, parseMode \u043D\u0435 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0430\u043A\u0442\u0438\u0432\u043D\u0438\u043C !!! \u0421\u0442\u0432\u043E\u0440\u044E\u0454 \u0442\u0430\u0431\u043B\u0438\u0446\u044E \u0437 JSON \u044F\u043A Text-Table. \u041F\u0435\u0440\u0448\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u2013 \u0446\u0435 \u043E\u0434\u0438\u043D \u043A\u043B\u044E\u0447 JSON, \u0430 \u0437\u0430 \u043D\u0438\u043C \u2013 \u043D\u0430\u0437\u0432\u0430 \u0441\u0442\u043E\u0432\u043F\u0446\u044F. \u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0431\u0456\u043B\u044C\u0448\u0435 \u0434\u0432\u043E\u0445 \u0437\u043D\u0430\u0447\u0435\u043D\u044C. \u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0437\u0430\u043F\u043E\u0432\u043D\u0435\u043D\u0438\u0439. \u041D\u0435 \u0437\u043C\u0456\u043D\u044E\u0439\u0442\u0435 TextTable.",latitude:"\u0428\u0438\u0440\u043E\u0442\u0430",lcTimestamp:"LastChange. \u041F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u044E\u0454 \u043C\u0456\u0442\u043A\u0443 \u0447\u0430\u0441\u0443 Unix \u043D\u0430 \u043C\u0456\u0441\u0446\u0435\u0432\u0438\u0439 \u0447\u0430\u0441, \u0444\u043E\u0440\u043C\u0430\u0442 \u043C\u043E\u0436\u043D\u0430 \u0437\u043C\u0456\u043D\u0438\u0442\u0438, \u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, \u043D\u0430 \u0414\u0414.\u041C\u041C.\u0420\u0420\u0420\u0420 \u0420\u0420 \u0433\u043E\u0434:\u0445\u0445:\u0441\u0441:\u0441\u0441",linkedWith:"\u041F\u043E\u0432'\u044F\u0437\u0430\u043D\u0438\u0439 \u0437:",longitude:"\u0414\u043E\u0432\u0433\u043E\u0442\u0430",manuallyValue:"\u0426\u0435 \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u0454 \u0432\u0440\u0443\u0447\u043D\u0443 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0432 \u043F\u043E\u0454\u0434\u043D\u0430\u043D\u043D\u0456 \u0437\u0456 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\u043C ID, \u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434: staticValue{id:ID}staticValue",math:"\u041F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u044E\u0454 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F, /10 \u043C\u043E\u0436\u043D\u0430 \u0437\u0430\u043C\u0456\u043D\u0438\u0442\u0438",menu:"\u041C\u0435\u043D\u044E",menuBack:"\u041F\u0440\u0438 \u043D\u0430\u0442\u0438\u0441\u043A\u0430\u043D\u043D\u0456 \u0432\u0456\u0434\u0431\u0443\u0432\u0430\u0454\u0442\u044C\u0441\u044F \u043F\u043E\u0432\u0435\u0440\u043D\u0435\u043D\u043D\u044F \u0434\u043E \u043F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u044C\u043E\u0433\u043E \u043C\u0435\u043D\u044E",menuDeleteAll:"\u0413\u0435\u043D\u0435\u0440\u0443\u0454 \u043A\u043D\u043E\u043F\u043A\u0443 \u0434\u043B\u044F \u0432\u0438\u0434\u0430\u043B\u0435\u043D\u043D\u044F \u0432\u0441\u0456\u0445 \u043F\u043E\u0432\u0456\u0434\u043E\u043C\u043B\u0435\u043D\u044C \u0432\u0456\u0434 \u0431\u043E\u0442\u0430. \u041D\u0430\u0432\u0456\u0433\u0430\u0446\u0456\u044F \u043D\u0435\u043E\u0431\u043E\u0432'\u044F\u0437\u043A\u043E\u0432\u0430. \u041F\u0440\u043E\u0441\u0442\u043E \u0437\u0430\u043B\u0438\u0448\u0442\u0435 \u0446\u0435 \u043F\u043E\u043B\u0435 \u043F\u043E\u0440\u043E\u0436\u043D\u0456\u043C, \u0456\u043D\u0430\u043A\u0448\u0435 \u0432\u0438 \u0437\u043C\u043E\u0436\u0435\u0442\u0435 \u0443\u0432\u0456\u0439\u0442\u0438 \u0432 \u043C\u0435\u043D\u044E, \u044F\u043A\u0435 \u0441\u043B\u0456\u0434 \u0432\u0438\u043A\u043B\u0438\u043A\u0430\u0442\u0438.",menuDynamicSwitch:"\u0413\u0435\u043D\u0435\u0440\u0443\u0454 \u043A\u0456\u043B\u044C\u043A\u0430 \u043A\u043D\u043E\u043F\u043E\u043A, \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043C\u043E\u0436\u043D\u0430 \u0432\u0441\u0442\u0430\u0432\u043B\u044F\u0442\u0438 \u043E\u043A\u0440\u0435\u043C\u043E. \u0417\u0430\u043C\u0456\u043D\u0456\u0442\u044C TRIGGER \u043D\u0430 \u0443\u043D\u0456\u043A\u0430\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F. LengthOfRow \u0454 \u043D\u0435\u043E\u0431\u043E\u0432\u2019\u044F\u0437\u043A\u043E\u0432\u0438\u043C \u0456 \u043C\u043E\u0436\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u0434\u043B\u044F \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044F \u043A\u0456\u043B\u044C\u043A\u043E\u0441\u0442\u0456 \u043A\u043D\u043E\u043F\u043E\u043A \u0443 \u0440\u044F\u0434\u043A\u0443.
\u041A\u0440\u0438\u0442\u043E\u0432\u0430 \u0437\u043C\u0456\u043D\u0430!!! \xA0 \u0417\u043C\u0456\u043D\u0456\u0442\u044C \u0432\u0440\u0443\u0447\u043D\u0443: `[Name1:Value1, Name2:Value2]` \u043D\u0430 `[Name1|Value1, Name2|Value2]`. \u0414\u0435\u0441\u044F\u0442\u043A\u043E\u0432\u0456 \u0447\u0438\u0441\u043B\u0430 \u0442\u0435\u043F\u0435\u0440 \u0442\u0430\u043A\u043E\u0436 \u043C\u043E\u0436\u043D\u0430 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u044F\u043A \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F.",menuList:"\u0421\u043F\u0438\u0441\u043E\u043A \u043C\u0435\u043D\u044E",menuNumber:"\u041D\u043E\u043C\u0435\u0440\u0438 \u043C\u043E\u0436\u043D\u0430 \u043F\u043E\u0432\u043D\u0456\u0441\u0442\u044E \u043F\u043E\u043C\u0456\u043D\u044F\u0442\u0438. 0-6 \u0432\u043A\u0430\u0437\u0443\u0454 \u043D\u0430 \u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D, \u0430 1 \u2014 \u043D\u0430 \u0440\u043E\u0437\u043C\u0456\u0440 \u043A\u0440\u043E\u043A\u0443, UNIT \u0437\u0430\u043C\u0456\u043D\u044E\u0454\u0442\u044C\u0441\u044F \u043E\u0434\u0438\u043D\u0438\u0446\u0435\u044E, \u0430\u043B\u0435 \u0439\u043E\u0433\u043E \u043C\u043E\u0436\u043D\u0430 \u0437\u0430\u043B\u0438\u0448\u0438\u0442\u0438 \u043F\u0443\u0441\u0442\u0438\u043C. \u0417\u0430\u043C\u0456\u043D\u0456\u0442\u044C TRIGGER \u043D\u0430 \u0443\u043D\u0456\u043A\u0430\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F.",menuPercent:"10 \u043C\u043E\u0436\u043D\u0430 \u0437\u0430\u043C\u0456\u043D\u0438\u0442\u0438 \u0456 \u0432\u043A\u0430\u0437\u0443\u0454 \u043D\u0430 \u0440\u043E\u0437\u043C\u0456\u0440 \u043A\u0440\u043E\u043A\u0443 0%, 10%, 20%...! \u0417\u0430\u043C\u0456\u043D\u0456\u0442\u044C TRIGGER \u043D\u0430 \u0443\u043D\u0456\u043A\u0430\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F. \u0426\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454\u0442\u044C\u0441\u044F \u0432 \u0434\u0456\u0457 SetState. \u0412\u0432\u0435\u0434\u0456\u0442\u044C \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u0438\u0439 ID. \u041D\u0438\u0436\u0447\u0435 \u0432\u0430\u0440\u0442\u043E\u0441\u0442\u0456! \u0432\u0441\u0442\u0430\u0432\u043A\u0430",menuSwitch:"\u0421\u0442\u0432\u043E\u0440\u044E\u0454 \u0434\u0432\u0456 \u043A\u043D\u043E\u043F\u043A\u0438, \u0443 \u0446\u044C\u043E\u043C\u0443 \u0432\u0438\u043F\u0430\u0434\u043A\u0443 \u0443\u0432\u0456\u043C\u043A\u043D\u0435\u043D\u043D\u044F \u0442\u0430 \u0432\u0438\u043C\u043A\u043D\u0435\u043D\u043D\u044F \u0437 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u043D\u0438\u043C\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\u043C\u0438 true \u0442\u0430 false. \u0417\u0430\u043C\u0456\u043D\u0456\u0442\u044C TRIGGER \u043D\u0430 \u0443\u043D\u0456\u043A\u0430\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F.",menuToCopy:"\u0421\u043F\u043E\u0447\u0430\u0442\u043A\u0443 \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043C\u0435\u043D\u044E, \u0434\u043E \u044F\u043A\u043E\u0433\u043E \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u043E \u0441\u043A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438 \u0434\u0430\u043D\u0456. \u041F\u043E\u0442\u0456\u043C \u0440\u044F\u0434\u043E\u043A, \u0434\u0435 \u0439\u043E\u0433\u043E \u0441\u043B\u0456\u0434 \u0434\u043E\u0434\u0430\u0442\u0438. \u042F\u043A\u0449\u043E \u0434\u0430\u043D\u0438\u0445 \u0449\u0435 \u043D\u0435\u043C\u0430\u0454, \u043D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \xAB\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438\xBB, \u0456 \u0432\u0456\u043D \u0431\u0443\u0434\u0435 \u0441\u0442\u0432\u043E\u0440\u0435\u043D\u0438\u0439 \u043F\u0456\u0441\u043B\u044F \u0437\u0430\u043F\u0438\u0442\u0443 \u043D\u0430 \u043D\u043E\u0432\u0443 \u043D\u0430\u0437\u0432\u0443 \u0442\u0440\u0438\u0433\u0435\u0440\u0430.",modifiedSubmenuValue:"\u0426\u0435 \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u0454 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043C\u043E\u0434\u0438\u0444\u0456\u043A\u043E\u0432\u0430\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043F\u0456\u0434\u043C\u0435\u043D\u044E \u0432 \u043F\u043E\u0454\u0434\u043D\u0430\u043D\u043D\u0456 \u0437\u0456 \u0441\u0442\u0430\u0442\u0438\u0447\u043D\u043E\u044E \u0447\u0430\u0441\u0442\u0438\u043D\u043E\u044E, \u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434: staticValue{value}staticValue",navigation:"\u041D\u0430\u0432\u0456\u0433\u0430\u0446\u0456\u044F",navigationButtons:"\u041A\u043D\u043E\u043F\u043A\u0438 \u043D\u0430\u0432\u0456\u0433\u0430\u0446\u0456\u0457",newlineCheckbox:"\u041D\u043E\u0432\u0438\u0439 \u0440\u044F\u0434\u043E\u043A",no:"\u043D\u0435\u043C\u0430\u0454",noValue:"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043D\u0435 \u0432\u043A\u0430\u0437\u0430\u043D\u043E \u0432 \u0442\u0435\u043A\u0441\u0442\u0456 \u043F\u043E\u0432\u0435\u0440\u043D\u0435\u043D\u043D\u044F",notifiedByChangeOfAnotherState:"\u042F\u043A\u0449\u043E \u0432\u0438 \u0445\u043E\u0447\u0435\u0442\u0435 \u043E\u0442\u0440\u0438\u043C\u0443\u0432\u0430\u0442\u0438 \u0441\u043F\u043E\u0432\u0456\u0449\u0435\u043D\u043D\u044F \u043F\u0440\u043E \u0437\u043C\u0456\u043D\u0443 \u0456\u043D\u0448\u043E\u0457 \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u0438\u0445 \u043F\u0456\u0441\u043B\u044F \u0442\u043E\u0433\u043E, \u044F\u043A \u0432\u0438 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u043B\u0438 \u0442\u043E\u0447\u043A\u0443 \u0434\u0430\u043D\u0438\u0445 \u0443 \u043F\u043E\u043B\u0456 \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440\u0430. \u0417\u043C\u0456\u043D\u0443 \u0431\u0443\u0434\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0441\u043F\u0456\u043B\u044C\u043D\u0438\u0439 \u0434\u043E\u0441\u0442\u0443\u043F, \u043B\u0438\u0448\u0435 \u044F\u043A\u0449\u043E \u0434\u043B\u044F \u043D\u0435\u0457 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E ack:true. \u041E\u0431\u043E\u0432\u2019\u044F\u0437\u043A\u043E\u0432\u043E \u0432\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u0442\u0435\u043A\u0441\u0442 \u043F\u043E\u0437\u0430 {}, \u0456\u043D\u0430\u043A\u0448\u0435 \u0432\u0456\u043D \u0431\u0443\u0434\u0435 \u0434\u043E\u0434\u0430\u043D\u043E \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E.",ok:"\u0434\u043E\u0431\u0440\u0435",oneTimeKey:"\u041F\u0440\u043E\u0441\u0438\u0442\u044C \u043A\u043B\u0456\u0454\u043D\u0442\u0456\u0432 \u0437\u043C\u0456\u043D\u0438\u0442\u0438 \u0440\u043E\u0437\u043C\u0456\u0440 \u043A\u043B\u0430\u0432\u0456\u0430\u0442\u0443\u0440\u0438 \u043F\u043E \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u0456 \u0434\u043B\u044F \u043E\u043F\u0442\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u043F\u0440\u0438\u043F\u0430\u0441\u0443\u0432\u0430\u043D\u043D\u044F (\u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, \u0437\u0440\u043E\u0431\u0438\u0442\u0438 \u043A\u043B\u0430\u0432\u0456\u0430\u0442\u0443\u0440\u0443 \u043C\u0435\u043D\u0448\u043E\u044E, \u044F\u043A\u0449\u043E \u0454 \u043B\u0438\u0448\u0435 \u0434\u0432\u0430 \u0440\u044F\u0434\u0438 \u043A\u043D\u043E\u043F\u043E\u043A). \u0417\u0430 \u0437\u0430\u043C\u043E\u0432\u0447\u0443\u0432\u0430\u043D\u043D\u044F\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F false, \u0443 \u0446\u044C\u043E\u043C\u0443 \u0432\u0438\u043F\u0430\u0434\u043A\u0443 \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0430 \u043A\u043B\u0430\u0432\u0456\u0430\u0442\u0443\u0440\u0430 \u0437\u0430\u0432\u0436\u0434\u0438 \u043C\u0430\u0454 \u0442\u0443 \u0441\u0430\u043C\u0443 \u0432\u0438\u0441\u043E\u0442\u0443, \u0449\u043E \u0439 \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0430 \u043A\u043B\u0430\u0432\u0456\u0430\u0442\u0443\u0440\u0430 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u0438.",overview:"\u041E\u0433\u043B\u044F\u0434",parseMode:"\u0420\u0435\u0436\u0438\u043C \u0430\u043D\u0430\u043B\u0456\u0437\u0443 HTML",parseModeBold:"\u0422\u0435\u043A\u0441\u0442 \u0443 \u0440\u0435\u0436\u0438\u043C\u0456 \u0430\u043D\u0430\u043B\u0456\u0437\u0443 \u0432\u0438\u0434\u0456\u043B\u044F\u0454\u0442\u044C\u0441\u044F \u0436\u0438\u0440\u043D\u0438\u043C \u0448\u0440\u0438\u0444\u0442\u043E\u043C",parseModeCode:"\u0422\u0435\u043A\u0441\u0442 \u0443 Parse-Mode \u0454 \u043A\u043E\u0434\u043E\u043C",parseModeItalic:"\u0422\u0435\u043A\u0441\u0442 \u0443 \u0440\u0435\u0436\u0438\u043C\u0456 \u0430\u043D\u0430\u043B\u0456\u0437\u0443 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043E \u043A\u0443\u0440\u0441\u0438\u0432\u043E\u043C",parseModeLink:"\u0422\u0435\u043A\u0441\u0442 \u0443 \u0440\u0435\u0436\u0438\u043C\u0456 \u0430\u043D\u0430\u043B\u0456\u0437\u0443 \u0454 \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F\u043C",password:"\u041F\u0430\u0440\u043E\u043B\u044C",percent:"\u0412\u0456\u0434\u0441\u043E\u0442\u043E\u043A",picSendDelay:"\u0417\u0430\u0442\u0440\u0438\u043C\u043A\u0430 \u043D\u0430\u0434\u0441\u0438\u043B\u0430\u043D\u043D\u044F \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F",placeholderInstance:"--\u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0435\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u0442\u0435\u043B\u0435\u0433\u0440\u0430\u043C\u0438--",placeholderValue:"\u0417\u0430\u043F\u043E\u0432\u043D\u044E\u0432\u0430\u0447 \u0434\u043B\u044F \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F",reallyDelete:"\u0412\u0438 \u0441\u043F\u0440\u0430\u0432\u0434\u0456 \u0445\u043E\u0447\u0435\u0442\u0435 \u0446\u0435 \u0432\u0438\u0434\u0430\u043B\u0438\u0442\u0438?",renameMenu:"\u041F\u0435\u0440\u0435\u0439\u043C\u0435\u043D\u0443\u0432\u0430\u0442\u0438 \u043D\u0430\u0437\u0432\u0443 \u043C\u0435\u043D\u044E",returnText:"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u0438 \u0442\u0435\u043A\u0441\u0442",save:"\u0437\u0431\u0435\u0440\u0435\u0433\u0442\u0438",select:"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C",selectAMenuDropBox:"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043C\u0435\u043D\u044E, \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0430\u0431\u043E \u0441\u043A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438. \u041E\u0431\u0435\u0440\u0435\u0436\u043D\u043E! \u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447 \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0431\u0443\u0442\u0438 \u0430\u043A\u0442\u0438\u0432\u043D\u0438\u043C \u0443 \u0432\u0438\u0431\u0440\u0430\u043D\u043E\u043C\u0443 \u043C\u0435\u043D\u044E!",selectTargetMenu:"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0446\u0456\u043B\u044C\u043E\u0432\u0435 \u043C\u0435\u043D\u044E",sendMenuAfterRestart:"\u041D\u0430\u0434\u0456\u0441\u043B\u0430\u0442\u0438 \u043C\u0435\u043D\u044E \u043F\u0456\u0441\u043B\u044F \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u043A\u0443",setAck:"\u0412\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043F\u0440\u0430\u043F\u043E\u0440 \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043D\u043D\u044F",setDynamicValue:"\u0426\u0435 \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u0454 \u0437\u0430\u043F\u0438\u0441\u0443\u0432\u0430\u0442\u0438 \u0434\u0438\u043D\u0430\u043C\u0456\u0447\u043D\u0456 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0432 \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u0438\u0445. \u041F\u0440\u043E\u0441\u0442\u043E \u0437\u0430\u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443\u0439\u0442\u0435, \u0430 \u043F\u043E\u0442\u0456\u043C \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u0432\u0435\u0441\u0442\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0432 \u043F\u043E\u043B\u0435 \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F. RequestText: \u0442\u0435\u043A\u0441\u0442 \u0434\u043B\u044F \u0437\u0430\u043F\u0438\u0442\u0443 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F. \u0422\u0438\u043F: \u0442\u0438\u043F \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F (\u043B\u043E\u0433\u0456\u0447\u043D\u0435 \u0430\u0431\u043E \u0447\u0438\u0441\u043B\u043E\u0432\u0435). ConfirmText: \u0422\u0435\u043A\u0441\u0442 \u0434\u043B\u044F \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043D\u043D\u044F \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F. ID: \u044F\u043A\u0449\u043E \u0432\u0438 \u0445\u043E\u0447\u0435\u0442\u0435 \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0438 \u0437 \u0456\u043D\u0448\u043E\u0433\u043E \u0448\u0442\u0430\u0442\u0443, \u0432\u0432\u0435\u0434\u0456\u0442\u044C \u0442\u0443\u0442 \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440. (\u0426\u0435 \u043D\u0435\u043E\u0431\u043E\u0432\u2019\u044F\u0437\u043A\u043E\u0432\u043E)",setID:"\u0412\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u044E\u0454 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440\u0430 \u044F\u043A val \u0437 ack(confirmed)",setMenu:"\u0412\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043C\u0435\u043D\u044E",setWithAck:"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0456\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0437\u0430 \u0434\u043E\u043F\u043E\u043C\u043E\u0433\u043E\u044E ack-Flag",settings:"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F",startMenus:"\u041C\u0435\u043D\u044E \xAB\u041F\u0443\u0441\u043A\xBB.",startSide:"\u0421\u0442\u0430\u0440\u0442\u043E\u0432\u0430 \u0441\u0442\u043E\u0440\u043E\u043D\u0430",statusMenu:"\u0417\u0430\u043F\u0438\u0442\u0443\u0454 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440\u0430, \u0430 \u043F\u043E\u0442\u0456\u043C \u0437\u0430\u043C\u0456\u043D\u044E\u0454 \u0439\u043E\u0433\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\u043C, \u0442\u043E\u043C\u0443 \u043D\u0430\u0432\u043A\u043E\u043B\u043E \u043D\u044C\u043E\u0433\u043E \u043C\u043E\u0436\u043D\u0430 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u0438 \u0442\u0435\u043A\u0441\u0442, \u0439\u043E\u0433\u043E \u0442\u0430\u043A\u043E\u0436 \u043C\u043E\u0436\u043D\u0430 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u043A\u0456\u043B\u044C\u043A\u0430 \u0440\u0430\u0437\u0456\u0432 \u043F\u043E\u0441\u043F\u0456\u043B\u044C. \u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 true \u2014 \u0446\u0435 \u043C\u043E\u0436\u043B\u0438\u0432\u0456\u0441\u0442\u044C \u0437\u043C\u0456\u043D\u0438\u0442\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0448\u043B\u044F\u0445\u043E\u043C \u0437\u043C\u0456\u043D\u0438 \u0444\u0443\u043D\u043A\u0446\u0456\u0457. \u0412\u0438 \u043F\u043E\u0432\u0438\u043D\u043D\u0456 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F false, \u044F\u043A\u0449\u043E \u0432\u0438 \u043D\u0435 \u0437\u043C\u0456\u043D\u044E\u0454\u0442\u0435 \u0446\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F, \u0430\u043B\u0435 \u0437\u0430 \u0446\u0438\u043C \u0454 \u0456\u043D\u0448\u0438\u0439 {status: ... \u0437\u0430\u043F\u0438\u0442 \u0456\u0437 change:true.",submenu:"\u041F\u0456\u0434\u043C\u0435\u043D\u044E",switch:"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u0447",switchCheckbox:"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u0447",telegramInstance:"\u041F\u0440\u0438\u043C\u0456\u0440\u043D\u0438\u043A Telegram",telegramUser:"\u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0456 \u0437 Telegram",text:"\u0442\u0435\u043A\u0441\u0442",textNoEntry:"\u0422\u0435\u043A\u0441\u0442 \u0431\u0443\u0434\u0435 \u043D\u0430\u0434\u0456\u0441\u043B\u0430\u043D\u043E, \u044F\u043A\u0449\u043E \u0437\u0430\u043F\u0438\u0441 \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E!",toggle:"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u0447",trigger:"\u0422\u0440\u0438\u0433\u0435\u0440",tsTimestamp:"TimeStamp. \u041F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u044E\u0454 \u043C\u0456\u0442\u043A\u0443 \u0447\u0430\u0441\u0443 Unix \u043D\u0430 \u043C\u0456\u0441\u0446\u0435\u0432\u0438\u0439 \u0447\u0430\u0441, \u0444\u043E\u0440\u043C\u0430\u0442 \u043C\u043E\u0436\u043D\u0430 \u0437\u043C\u0456\u043D\u0438\u0442\u0438, \u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, \u043D\u0430 \u0414\u0414.\u041C\u041C.\u0420\u0420\u0420\u0420 \u0420\u0420 \u0433\u043E\u0434:\u0445\u0445:\u0441\u0441:\u0441\u0441",unusedTrigger:"\u041D\u0435\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u0438\u0439 \u0442\u0440\u0438\u0433\u0435\u0440",url:"URL",usedTrigger:"\u0422\u0440\u0438\u0433\u0435\u0440 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u0438\u0439",user:"\u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447",userList:"\u0421\u043F\u0438\u0441\u043E\u043A \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0456\u0432",userSelect:"\u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430 \u0430\u0431\u043E \u0434\u0435\u0430\u043A\u0442\u0438\u0432\u0443\u0439\u0442\u0435 \u043C\u0435\u043D\u044E, \u0431\u043E \u0432\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0437\u0431\u0435\u0440\u0435\u0433\u0442\u0438!",value:"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F",valueRound:"\u041E\u043A\u0440\u0443\u0433\u043B\u044E\u0454 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F, \u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, \u0434\u043E 2 \u0437\u043D\u0430\u043A\u0456\u0432 \u043F\u0456\u0441\u043B\u044F \u043A\u043E\u043C\u0438",values:"\u0426\u0456\u043D\u043D\u043E\u0441\u0442\u0456",yes:"\u0442\u0430\u043A"};var yQ={ID:"ID",IDs:"ID",abort:"\u4E2D\u6B62",ack:"\u786E\u8BA4",action:"\u884C\u52A8",active:"\u79EF\u6781\u7684",activeMenu:"\u6D3B\u52A8\u83DC\u5355\uFF1A",add:"\u6DFB\u52A0",addAction:"\u6DFB\u52A0\u65B0\u52A8\u4F5C",addMenu:"\u6DFB\u52A0\u65B0\u83DC\u5355\u540D\u79F0",binding:"\u7ED1\u5B9A\uFF1A\u9996\u5148\u662F\u5E26\u6709 id \u7684 Var\uFF0C\u7136\u540E\u662F\u6761\u4EF6\u548C\u6587\u672C\u3002",breakpointNewline:"\u65B0\u884C\u7684\u65AD\u70B9\uFF0C\u4EC5\u5C06\u5176\u63D2\u5165\u6587\u672C\u4E2D",call:"\u79F0\u547C",cancel:"\u53D6\u6D88",changeFunction:"\u66F4\u6539\u8FD4\u56DE\u6587\u672C\u4E2D\u7684\u503C\uFF0C\u5728\u672C\u4F8B\u4E2D\u4ECE true \u66F4\u6539\u4E3A on\uFF0C\u5C06 false \u66F4\u6539\u4E3A off",chooseAction:"\u9009\u62E9\u4E00\u4E2A\u52A8\u4F5C",close:"\u5173\u95ED",commonName:"\u8F93\u51FA\u6570\u636E\u70B9\u7684\u540D\u79F0",condition:"\u5065\u5EB7\uFF09\u72B6\u51B5",conditionMenu:"\u6253\u5F00\u83DC\u5355\u7684\u6761\u4EF6",confirm:"\u786E\u8BA4",confirmDelete:"\u6240\u6709\u6570\u636E\u90FD\u5C06\u4E22\u5931\u3002\u786E\u8BA4\uFF1F",confirmMessage:"\u77ED\u4FE1\u786E\u8BA4",confirmSet:"\u6CE8\u610F\u529B\u3002\u8BE5\u503C\u4EC5\u88AB\u8BBE\u7F6E\uFF0C\u4F46\u5C1A\u672A\u88AB\u9002\u914D\u5668\u786E\u8BA4\u3002\u60A8\u53EF\u4EE5\u5220\u9664 noValue\uFF0C\u7136\u540E\u5C06\u663E\u793A\u8BE5\u503C\u3002\u4F4D\u7F6E && \u66FF\u6362\u4E3A Value \u6216\u5C06\u653E\u5728\u672B\u5C3E",convertsUnixTimestamp:"\u5C06 Unix \u65F6\u95F4\u6233\u8F6C\u6362\u4E3A\u672C\u5730\u65F6\u95F4",copy:"\u590D\u5236",createMenu:"\u8BF7\u521B\u5EFA\u4E00\u4E2A\u83DC\u5355\uFF01",delay:"\u5EF6\u8FDF\uFF08\u6BEB\u79D2\uFF09",delete:"\u5220\u9664",directory:"\u76EE\u5F55",doubleTrigger:"\u60A8\u6709\u53CC\u89E6\u53D1\u5668\uFF0C\u8BF7\u5220\u9664\u5B83\u4EEC\uFF01",edit:"\u7F16\u8F91",entryNotFound:"\u672A\u627E\u5230\u6761\u76EE\uFF01",executedMenu:"\u6267\u884C\u83DC\u5355",filename:"\u6587\u4EF6\u540D",hide:"\u9690\u85CF",identification:"\u9274\u522B",inactive:"\u4E0D\u6D3B\u8DC3",insertID:"\u8981\u63D2\u5165 ID\uFF0C\u53EA\u9700\u5148\u63D2\u5165\u5757\uFF0C\u7136\u540E\u9009\u62E9 ID\u3002\u5373\u4F7F\u8981\u66F4\u6539 ID\uFF0C\u4E5F\u4F1A\u81EA\u52A8\u5C06\u5176\u63D2\u5165\u5230\u9002\u5F53\u7684\u4F4D\u7F6E\u3002\u5982\u679C\u4EE3\u7801\u65E0\u6CD5\u8BC6\u522B\u8BE5\u5757\uFF0C\u5219\u5C06 ID \u9644\u52A0\u5230\u672B\u5C3E\u3002",instance:"\u5B9E\u4F8B",isSubmenu:"\u8FD9\u662F\u4E00\u4E2A\u5B50\u83DC\u5355\uFF01",jsonShoppingList:"\u4E0E\u4E0A\u9762\u76F8\u540C\uFF0C\u4F46\u662F\u5F53\u60A8\u5355\u51FB\u6309\u94AE\u65F6\uFF0C\u8BE5\u9879\u76EE\u5C06\u88AB\u5220\u9664\uFF0C\u9879\u76EE\u7684 Key \u662F `name:`\uFF0C\u60A8\u4E5F\u53EF\u4EE5\u6DFB\u52A0 `time:`\u3002 \u91CD\u8981\uFF01\uFF01\uFF01\u201C\u8D2D\u7269\u6E05\u5355\u201D\u53EF\u80FD\u65E0\u6CD5\u66F4\u6539\u3002",jsonTable:"!!!\u8981\u4F7F\u7528\u5B83\uFF0CparseMode \u4E00\u5B9A\u4E0D\u80FD\u5904\u4E8E\u6D3B\u52A8\u72B6\u6001\uFF01\u4ECE JSON \u521B\u5EFA\u4E00\u4E2A\u8868\u4F5C\u4E3A\u6587\u672C\u8868\u3002\u7B2C\u4E00\u4E2A\u503C\u662F JSON \u7684\u4E00\u4E2A\u952E\uFF0C\u540E\u9762\u662F\u5217\u7684\u540D\u79F0\u3002\u60A8\u53EF\u4EE5\u4F7F\u7528\u4E24\u4E2A\u4EE5\u4E0A\u7684\u503C\u3002\u5FC5\u987B\u586B\u5199\u6807\u9898\u3002\u4E0D\u8981\u66F4\u6539 TextTable\u3002",latitude:"\u7EAC\u5EA6",lcTimestamp:"\u6700\u540E\u66F4\u6539\u3002\u5C06 Unix \u65F6\u95F4\u6233\u8F6C\u6362\u4E3A\u672C\u5730\u65F6\u95F4\uFF0C\u683C\u5F0F\u53EF\u4EE5\u66F4\u6539\uFF0C\u4F8B\u5982 DD.MM.YYYY YY hh:mm:ss:sss",linkedWith:"\u4E0E\u4EE5\u4E0B\u94FE\u63A5\uFF1A",longitude:"\u7ECF\u5EA6",manuallyValue:"\u8FD9\u5141\u8BB8\u60A8\u7ED3\u5408 ID \u503C\u624B\u52A8\u8BBE\u7F6E\u503C\uFF0C\u5982\u4E0B\u6240\u793A\uFF1AstaticValue{id:ID}staticValue",math:"\u8F6C\u6362\u6570\u503C\uFF0C/10\u53EF\u4EE5\u66FF\u6362",menu:"\u83DC\u5355",menuBack:"\u5F53\u6309\u4E0B\u65F6\uFF0C\u60A8\u8DF3\u56DE\u5230\u4E0A\u4E00\u4E2A\u83DC\u5355",menuDeleteAll:"\u751F\u6210\u4E00\u4E2A\u6309\u94AE\u4EE5\u5220\u9664\u673A\u5668\u4EBA\u4E2D\u7684\u6240\u6709\u6D88\u606F\u3002\u5BFC\u822A\u662F\u53EF\u9009\u7684\u3002\u53EA\u9700\u5C06\u5176\u7559\u7A7A\uFF0C\u5426\u5219\u60A8\u53EF\u4EE5\u8F93\u5165\u5E94\u8C03\u7528\u7684\u83DC\u5355\u3002",menuDynamicSwitch:"\u751F\u6210\u4E58\u6CD5\u6309\u94AE\uFF0C\u53EF\u4EE5\u5355\u72EC\u63D2\u5165\u503C\u3002\u5C06 TRIGGER \u66FF\u6362\u4E3A\u552F\u4E00\u503C\u3002 LengthOfRow \u662F\u53EF\u9009\u7684\uFF0C\u53EF\u7528\u4E8E\u8BBE\u7F6E\u6BCF\u884C\u7684\u6309\u94AE\u6570\u91CF\u3002
\u91CD\u5927\u66F4\u6539!!! \xA0 \u8BF7\u624B\u52A8\u5C06\u201C[Name1:Value1, Name2:Value2]\u201D\u66F4\u6539\u4E3A\u201C[Name1|Value1, Name2|Value2]\u201D\u3002\u5341\u8FDB\u5236\u6570\u73B0\u5728\u4E5F\u53EF\u4EE5\u7528\u4F5C\u503C\u3002",menuList:"\u83DC\u5355\u5217\u8868",menuNumber:"\u53F7\u7801\u53EF\u4EE5\u5B8C\u5168\u4E92\u6362\u3002 0-6\u8868\u793A\u8303\u56F4\uFF0C1\u8868\u793A\u6B65\u957F\uFF0CUNIT\u7528\u5355\u4F4D\u4EE3\u66FF\uFF0C\u4F46\u4E5F\u53EF\u4EE5\u7559\u7A7A\u3002\u5C06 TRIGGER \u66FF\u6362\u4E3A\u552F\u4E00\u503C\u3002",menuPercent:"10\u53EF\u4EE5\u66FF\u6362\uFF0C\u8868\u793A\u6B65\u957F0%\u300110%\u300120%...\uFF01\u5C06 TRIGGER \u66FF\u6362\u4E3A\u552F\u4E00\u503C\u3002\u8FD9\u5728\u64CD\u4F5C SetState \u4E2D\u4F7F\u7528\u3002\u8F93\u5165\u6240\u9700\u7684 ID\u3002\u4F4E\u4E8E\u4EF7\u503C\uFF01\u63D2\u5165",menuSwitch:"\u751F\u6210\u4E24\u4E2A\u6309\u94AE\uFF0C\u5728\u672C\u4F8B\u4E2D\u4E3A\u6253\u5F00\u548C\u5173\u95ED\uFF0C\u5176\u503C\u5206\u522B\u4E3A true \u548C false\u3002\u5C06 TRIGGER \u66FF\u6362\u4E3A\u552F\u4E00\u503C\u3002",menuToCopy:"\u9996\u5148\u9009\u62E9\u8981\u5C06\u6570\u636E\u590D\u5236\u5230\u7684\u83DC\u5355\u3002\u7136\u540E\u662F\u5E94\u8BE5\u6DFB\u52A0\u7684\u884C\u3002\u5982\u679C\u8FD8\u6CA1\u6709\u6570\u636E\uFF0C\u70B9\u51FB\u4FDD\u5B58\uFF0C\u67E5\u8BE2\u65B0\u7684\u89E6\u53D1\u5668\u540D\u79F0\u540E\u5C31\u4F1A\u521B\u5EFA\u3002",modifiedSubmenuValue:"\u8FD9\u5141\u8BB8\u60A8\u7ED3\u5408\u9759\u6001\u90E8\u5206\u8BBE\u7F6E\u4FEE\u6539\u540E\u7684\u5B50\u83DC\u5355\u503C\uFF0C\u5982\u4E0B\u6240\u793A\uFF1AstaticValue{value}staticValue",navigation:"\u5BFC\u822A",navigationButtons:"\u5BFC\u822A\u6309\u94AE",newlineCheckbox:"\u6362\u884C\u7B26",no:"\u4E0D",noValue:"\u8FD4\u56DE\u6587\u672C\u4E2D\u672A\u6307\u5B9A\u503C",notifiedByChangeOfAnotherState:"\u5982\u679C\u60A8\u5728 ID \u8F93\u5165\u5B57\u6BB5\u4E2D\u8BBE\u7F6E\u6570\u636E\u70B9\u540E\u5E0C\u671B\u6536\u5230\u53E6\u4E00\u4E2A\u6570\u636E\u70B9\u66F4\u6539\u7684\u901A\u77E5\u3002\u4EC5\u5F53\u8BBE\u7F6E\u4E86 ack:true \u65F6\uFF0C\u66F4\u6539\u624D\u4F1A\u88AB\u5171\u4EAB\u3002\u5FC5\u987B\u5728 {} \u4E4B\u5916\u6307\u5B9A\u6587\u672C\uFF0C\u5426\u5219\u5C06\u81EA\u52A8\u6DFB\u52A0\u3002",ok:"\u597D\u7684",oneTimeKey:"\u8981\u6C42\u5BA2\u6237\u5782\u76F4\u8C03\u6574\u952E\u76D8\u5927\u5C0F\u4EE5\u83B7\u5F97\u6700\u4F73\u914D\u5408\uFF08\u4F8B\u5982\uFF0C\u5982\u679C\u53EA\u6709\u4E24\u884C\u6309\u94AE\uFF0C\u5219\u7F29\u5C0F\u952E\u76D8\uFF09\u3002\u9ED8\u8BA4\u4E3A false\uFF0C\u5728\u8FD9\u79CD\u60C5\u51B5\u4E0B\uFF0C\u81EA\u5B9A\u4E49\u952E\u76D8\u59CB\u7EC8\u4E0E\u5E94\u7528\u7A0B\u5E8F\u7684\u6807\u51C6\u952E\u76D8\u5177\u6709\u76F8\u540C\u7684\u9AD8\u5EA6\u3002",overview:"\u6982\u8FF0",parseMode:"\u89E3\u6790\u6A21\u5F0F HTML",parseModeBold:"\u89E3\u6790\u6A21\u5F0F\u4E0B\u7684\u6587\u672C\u4E3A\u7C97\u4F53",parseModeCode:"\u89E3\u6790\u6A21\u5F0F\u4E0B\u7684\u6587\u672C\u662F\u4EE3\u7801",parseModeItalic:"\u89E3\u6790\u6A21\u5F0F\u4E0B\u7684\u6587\u672C\u4E3A\u659C\u4F53",parseModeLink:"\u89E3\u6790\u6A21\u5F0F\u4E0B\u7684\u6587\u672C\u662F\u94FE\u63A5",password:"\u5BC6\u7801",percent:"\u767E\u5206\u6BD4",picSendDelay:"\u56FE\u7247\u53D1\u9001\u5EF6\u8FDF",placeholderInstance:"--\u8BF7\u9009\u62E9\u4E00\u4E2A\u7535\u62A5\u5B9E\u4F8B--",placeholderValue:"\u503C\u7684\u5360\u4F4D\u7B26",reallyDelete:"\u60A8\u771F\u7684\u8981\u5220\u9664\u8FD9\u4E2A\u5417\uFF1F",renameMenu:"\u91CD\u547D\u540D\u83DC\u5355\u540D\u79F0",returnText:"\u8FD4\u56DE\u6587\u672C",save:"\u8282\u7701",select:"\u9009\u62E9",selectAMenuDropBox:"\u9009\u62E9\u4E00\u4E2A\u83DC\u5355\uFF0C\u9009\u62E9\u79FB\u52A8\u6216\u590D\u5236\u3002\u5F53\u5FC3\uFF01\u7528\u6237\u5FC5\u987B\u5728\u6240\u9009\u83DC\u5355\u4E2D\u5904\u4E8E\u6D3B\u52A8\u72B6\u6001\uFF01",selectTargetMenu:"\u9009\u62E9\u76EE\u6807\u83DC\u5355",sendMenuAfterRestart:"\u91CD\u542F\u540E\u53D1\u9001\u83DC\u5355",setAck:"\u8BBE\u7F6E\u786E\u8BA4\u6807\u5FD7",setDynamicValue:"\u8FD9\u5141\u8BB8\u60A8\u5C06\u52A8\u6001\u503C\u5199\u5165\u6570\u636E\u70B9\u3002\u53EA\u9700\u62E8\u6253\u7535\u8BDD\uFF0C\u7136\u540E\u60A8\u5C31\u53EF\u4EE5\u5728\u8F93\u5165\u5B57\u6BB5\u4E2D\u8F93\u5165\u503C\u3002 RequestText\uFF1A\u8BF7\u6C42\u503C\u7684\u6587\u672C\u3002\u7C7B\u578B\uFF1A\u503C\u7684\u7C7B\u578B\uFF08\u5E03\u5C14\u503C\u6216\u6570\u5B57\uFF09\u3002\u786E\u8BA4\u6587\u672C\uFF1A\u7528\u4E8E\u786E\u8BA4\u503C\u7684\u6587\u672C\u3002 ID\uFF1A\u5982\u679C\u60A8\u60F3\u4ECE\u5176\u4ED6\u5DDE\u786E\u8BA4\uFF0C\u8BF7\u5728\u6B64\u5904\u8F93\u5165 ID\u3002\uFF08\u8FD9\u662F\u53EF\u9009\u7684\uFF09",setID:"\u5C06ID\u7684\u503C\u8BBE\u7F6E\u4E3Aval\uFF0C\u5E26\u6709ack\uFF08\u5DF2\u786E\u8BA4\uFF09",setMenu:"\u5957\u9910",setWithAck:"\u4F7F\u7528 ack-Flag \u8BBE\u7F6E\u503C",settings:"\u8BBE\u7F6E",startMenus:"\u5F00\u59CB\u83DC\u5355",startSide:"\u8D77\u59CB\u9762",statusMenu:"\u67E5\u8BE2ID\u7684\u503C\uFF0C\u7136\u540E\u5C06\u5176\u66FF\u6362\u4E3A\u503C\uFF0C\u56E0\u6B64\u53EF\u4EE5\u5728\u5176\u5468\u56F4\u5199\u5165\u6587\u672C\uFF0C\u4E5F\u53EF\u4EE5\u8FDE\u7EED\u591A\u6B21\u4F7F\u7528\u5B83\u3002\u53C2\u6570 true \u662F\u901A\u8FC7\u51FD\u6570\u66F4\u6539\u6765\u66F4\u6539\u503C\u7684\u9009\u9879\u3002\u5982\u679C\u60A8\u4E0D\u66F4\u6539\u6B64\u503C\uFF0C\u5219\u5FC5\u987B\u5C06\u5176\u8BBE\u7F6E\u4E3A false\uFF0C\u4F46\u5728\u8FD9\u540E\u9762\u8FD8\u6709\u53E6\u4E00\u4E2A\u5E26\u6709change:true \u7684 {status: ... \u8BF7\u6C42\u3002",submenu:"\u5B50\u83DC\u5355",switch:"\u8F6C\u53D8",switchCheckbox:"\u8F6C\u53D8",telegramInstance:"\u7535\u62A5\u5B9E\u4F8B",telegramUser:"\u6765\u81EA Telegram \u7684\u7528\u6237",text:"\u6587\u672C",textNoEntry:"\u5982\u679C\u672A\u627E\u5230\u6761\u76EE\uFF0C\u5C06\u53D1\u9001\u6587\u672C\uFF01",toggle:"\u5207\u6362",trigger:"\u6273\u673A",tsTimestamp:"\u65F6\u95F4\u6233\u3002\u5C06 Unix \u65F6\u95F4\u6233\u8F6C\u6362\u4E3A\u672C\u5730\u65F6\u95F4\uFF0C\u683C\u5F0F\u53EF\u4EE5\u66F4\u6539\uFF0C\u4F8B\u5982 DD.MM.YYYY YY hh:mm:ss:sss",unusedTrigger:"\u672A\u4F7F\u7528\u7684\u89E6\u53D1\u5668",url:"\u7F51\u5740",usedTrigger:"\u4F7F\u7528\u8FC7\u7684\u89E6\u53D1\u5668",user:"\u7528\u6237",userList:"\u7528\u6237\u5217\u8868",userSelect:"\u8BF7\u9009\u62E9\u4E00\u4E2A\u7528\u6237\uFF0C\u6216\u505C\u7528\u83DC\u5355\uFF0C\u7136\u540E\u624D\u80FD\u4FDD\u5B58\uFF01",value:"\u4EF7\u503C",valueRound:"\u4F8B\u5982\uFF0C\u5C06\u503C\u56DB\u820D\u4E94\u5165\u5230\u5C0F\u6570\u70B9\u540E\u4E24\u4F4D",values:"\u4EF7\u503C\u89C2",yes:"\u662F\u7684"};var LM=class extends My{constructor(r){let o={...r,encryptedFields:[],Connection:_u,translations:{en:lQ,de:pQ,ru:dQ,pt:uQ,nl:fQ,fr:cQ,it:mQ,es:hQ,pl:xQ,uk:gQ,"zh-cn":yQ}};super(r,o);A(this,"dropBoxRef");A(this,"handleResize",()=>{vv(null,null,this.dropBoxRef,this.state.showDropBox,this.state.native.dropbox)});A(this,"newX",null);A(this,"newY",null);this.dropBoxRef=Xi.default.createRef(),this.state={...this.state,native:{},tab:"nav",subTab:"set",draggingRowIndex:null,activeMenu:"",showPopupMenuList:!1,instances:[],popupMenuOpen:!1,themeName:"light",themeType:"light",unUsedTrigger:[],usedTrigger:[],triggerObject:{},showTriggerInfo:!1,showDropBox:!1,doubleTrigger:[],connectionReady:!1,dropBoxTop:105,dropBoxRight:5,dropDifferenzX:0,dropDifferenzY:0,copyDataObject:{targetCheckboxes:{},targetActionName:""}},this.setState=this.setState.bind(this)}componentDidMount(){vv(this.newX,this.newY,this.dropBoxRef,this.state.showDropBox,this.state.native.dropbox),window.addEventListener("resize",this.handleResize)}componentWillUnmount(){window.removeEventListener("resize",this.handleResize)}async componentDidUpdate(r,o){if(o.native.instance!==this.state.native.instance&&this.state.connectionReady&&await this.getUsersFromTelegram(),(o.native.data!==this.state.native.data||o.activeMenu!==this.state.activeMenu)&&this.state.activeMenu&&this.state.activeMenu!=""&&B2(this.state.activeMenu,this.setState,this.state.native.data,this.state.native.usersInGroup),o.native.usersInGroup!==this.state.native.usersInGroup&&this.updateNativeValue("usersInGroup",F2(this.state.native.usersInGroup)),o.usedTrigger!==this.state.usedTrigger&&this.setState({doubleTrigger:sQ(this.state.usedTrigger)}),(o.native.dropbox!==this.state.native.dropbox||this.state.showDropBox!==o.showDropBox)&&vv(this.newX,this.newY,this.dropBoxRef,this.state.showDropBox,this.state.native.dropbox),o.dropDifferenzX!==this.state.dropDifferenzX||o.dropDifferenzY!==this.state.dropDifferenzY){let{newX:a,newY:n}=OZ(this.state.native.dropbox,this.state.dropDifferenzX,this.state.dropDifferenzY);this.newX=a,this.newY=n;let s={dropboxRight:a,dropboxTop:n};this.updateNativeValue("dropbox",s),vv(this.newX,this.newY,this.dropBoxRef,this.state.showDropBox,this.state.native.dropbox)}}async onConnectionReady(){pZ(this.state.native.data,this.updateNativeValue.bind(this)),this.updateNativeValue("usersInGroup",F2(this.state.native.usersInGroup)),await this.getUsersFromTelegram(),await L2.getAllTelegramInstances(this.socket,o=>{this.setState({instances:o})});let r=iQ(this.state.native.usersInGroup);this.setState({activeMenu:r}),B2(r,this.setState,this.state.native.data,this.state.native.usersInGroup),this.setState({connectionReady:!0})}async getUsersFromTelegram(){await L2.getUsersFromTelegram(this.socket,this.state.native.instance||"telegram.0",r=>{this.state.native.instance?this.updateNativeValue("userListWithChatID",KY(r)):this.updateNativeValue("instance","telegram.0")})}render(){return this.state.loaded?Xi.default.createElement("div",{className:`App row relative ${this.props.themeName}`},Xi.default.createElement(nQ,null,Xi.default.createElement(zt,{container:!0,spacing:1},Xi.default.createElement(tQ,{common:this.common,native:this.state.native,onError:r=>this.setState({errorText:r.toString()}),onLoad:r=>this.onLoadConfig(r),instance:this.instance,adapterName:this.adapterName,changed:this.state.changed,onChange:(r,o,a)=>this.updateNativeValue(r,o,a)}),Xi.default.createElement(YZ,{callback:{setStateApp:this.setState,updateNative:(r,o,a)=>this.updateNativeValue(r,o,a)},data:{state:this.state,adapterName:this.adapterName,socket:this.socket}})),this.state.showDropBox?Xi.default.createElement(eQ,{data:{state:this.state,dropBoxRef:this.dropBoxRef},callback:{setStateApp:this.setState,updateNative:(r,o,a)=>this.updateNativeValue(r,o,a)}}):null,this.state.showTriggerInfo?Xi.default.createElement(oQ,{state:this.state,callback:{setState:this.setState,updateNative:(r,o,a)=>this.updateNativeValue(r,o,a)}}):null,this.state.doubleTrigger.length>0?Xi.default.createElement(ZZ,{state:this.state}):null,this.renderError(),this.renderToast(),this.renderSaveCloseButtons())):super.render()}},vQ=LM;var jM=ve.getThemeName();function TQ(){bQ.default.render(zM.default.createElement(dS,{theme:cl(jM)},zM.default.createElement(vQ,{onThemeChange:e=>{jM=e,TQ()},themeName:jM})),document.getElementById("root"))}TQ();})(); /*! Bundled license information: object-assign/index.js: @@ -658,15 +612,6 @@ react/cjs/react-jsx-runtime.production.min.js: * LICENSE file in the root directory of this source tree. *) -@mui/styled-engine/node/index.js: - (** - * @mui/styled-engine v5.16.8 - * - * @license MIT - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *) - react-is/cjs/react-is.production.min.js: (** * @license React @@ -689,15 +634,6 @@ cropperjs/dist/cropper.js: * Date: 2024-04-21T07:43:05.335Z *) -@mui/private-theming/index.js: - (** - * @mui/private-theming v5.16.8 - * - * @license MIT - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *) - @mui/styled-engine/index.js: (** * @mui/styled-engine v6.1.9 @@ -707,9 +643,9 @@ cropperjs/dist/cropper.js: * LICENSE file in the root directory of this source tree. *) -@mui/material/index.js: +@mui/private-theming/index.js: (** - * @mui/material v6.1.9 + * @mui/private-theming v6.1.9 * * @license MIT * This source code is licensed under the MIT license found in the @@ -718,7 +654,7 @@ cropperjs/dist/cropper.js: @mui/material/index.js: (** - * @mui/material v5.16.8 + * @mui/material v6.1.9 * * @license MIT * This source code is licensed under the MIT license found in the @@ -727,7 +663,7 @@ cropperjs/dist/cropper.js: @mui/lab/index.js: (** - * @mui/lab v5.0.0-alpha.173 + * @mui/lab v6.0.0-beta.17 * * @license MIT * This source code is licensed under the MIT license found in the diff --git a/admin/build/index.js.map b/admin/build/index.js.map index 116d0406..eda12903 100644 --- a/admin/build/index.js.map +++ b/admin/build/index.js.map @@ -1,7 +1,7 @@ { "version": 3, - "sources": ["../../node_modules/object-assign/index.js", "../../node_modules/react/cjs/react.production.min.js", "../../node_modules/react/index.js", "../../node_modules/scheduler/cjs/scheduler.production.min.js", "../../node_modules/scheduler/index.js", "../../node_modules/react-dom/cjs/react-dom.production.min.js", "../../node_modules/react-dom/index.js", "../../node_modules/@babel/runtime/helpers/interopRequireDefault.js", "../../node_modules/@mui/utils/formatMuiErrorMessage/formatMuiErrorMessage.js", "../../node_modules/@mui/utils/formatMuiErrorMessage/index.js", "../../node_modules/@babel/runtime/helpers/esm/extends.js", "../../node_modules/@emotion/styled/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js", "../../node_modules/@emotion/styled/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js", "../../node_modules/@emotion/sheet/dist/emotion-sheet.esm.js", "../../node_modules/stylis/src/Enum.js", "../../node_modules/stylis/src/Utility.js", "../../node_modules/stylis/src/Tokenizer.js", "../../node_modules/stylis/src/Parser.js", "../../node_modules/stylis/src/Prefixer.js", "../../node_modules/stylis/src/Serializer.js", "../../node_modules/stylis/src/Middleware.js", "../../node_modules/stylis/index.js", "../../node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js", "../../node_modules/@emotion/cache/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js", "../../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js", "../../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js", "../../node_modules/hoist-non-react-statics/node_modules/react-is/index.js", "../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js", "../../node_modules/@emotion/react/_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js", "../../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js", "../../node_modules/@emotion/hash/dist/emotion-hash.esm.js", "../../node_modules/@emotion/serialize/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js", "../../node_modules/@emotion/serialize/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js", "../../node_modules/@emotion/serialize/dist/emotion-serialize.esm.js", "../../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js", "../../node_modules/@emotion/react/dist/emotion-element-5486c51c.browser.esm.js", "../../node_modules/@emotion/react/dist/emotion-react.browser.esm.js", "../../node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js", "../../node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js", "../../node_modules/prop-types/lib/ReactPropTypesSecret.js", "../../node_modules/prop-types/factoryWithThrowingShims.js", "../../node_modules/prop-types/index.js", "../../node_modules/react/cjs/react-jsx-runtime.production.min.js", "../../node_modules/react/jsx-runtime.js", "../../node_modules/@mui/styled-engine/node/StyledEngineProvider/StyledEngineProvider.js", "../../node_modules/@mui/styled-engine/node/StyledEngineProvider/index.js", "../../node_modules/@mui/styled-engine/node/GlobalStyles/GlobalStyles.js", "../../node_modules/@mui/styled-engine/node/GlobalStyles/index.js", "../../node_modules/@mui/styled-engine/node/index.js", "../../node_modules/@babel/runtime/helpers/extends.js", "../../node_modules/@mui/utils/deepmerge/deepmerge.js", "../../node_modules/@mui/utils/deepmerge/index.js", "../../node_modules/@mui/utils/capitalize/capitalize.js", "../../node_modules/@mui/utils/capitalize/index.js", "../../node_modules/react-is/cjs/react-is.production.min.js", "../../node_modules/react-is/index.js", "../../node_modules/@mui/utils/getDisplayName/getDisplayName.js", "../../node_modules/@mui/utils/getDisplayName/index.js", "../../node_modules/@mui/utils/clamp/clamp.js", "../../node_modules/@mui/utils/clamp/index.js", "../../node_modules/@mui/system/merge.js", "../../node_modules/@mui/system/responsivePropType.js", "../../node_modules/@mui/system/breakpoints.js", "../../node_modules/@mui/system/style.js", "../../node_modules/@mui/system/memoize.js", "../../node_modules/@mui/system/spacing.js", "../../node_modules/@mui/system/compose.js", "../../node_modules/@mui/system/borders.js", "../../node_modules/@mui/system/cssGrid.js", "../../node_modules/@mui/system/palette.js", "../../node_modules/@mui/system/sizing.js", "../../node_modules/@mui/system/styleFunctionSx/defaultSxConfig.js", "../../node_modules/@mui/system/styleFunctionSx/styleFunctionSx.js", "../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js", "../../node_modules/@mui/system/styleFunctionSx/extendSxProp.js", "../../node_modules/@mui/system/styleFunctionSx/index.js", "../../node_modules/@mui/system/createTheme/createBreakpoints.js", "../../node_modules/@mui/system/createTheme/shape.js", "../../node_modules/@mui/system/createTheme/createSpacing.js", "../../node_modules/@mui/system/createTheme/applyStyles.js", "../../node_modules/@mui/system/createTheme/createTheme.js", "../../node_modules/@mui/system/createTheme/index.js", "../../node_modules/@mui/system/colorManipulator.js", "../../node_modules/@mui/system/createStyled.js", "../../node_modules/lodash/_freeGlobal.js", "../../node_modules/lodash/_root.js", "../../node_modules/lodash/_Symbol.js", "../../node_modules/lodash/_getRawTag.js", "../../node_modules/lodash/_objectToString.js", "../../node_modules/lodash/_baseGetTag.js", "../../node_modules/lodash/isArray.js", "../../node_modules/lodash/isObjectLike.js", "../../node_modules/lodash/isString.js", "../../node_modules/lodash/_createBaseFor.js", "../../node_modules/lodash/_baseFor.js", "../../node_modules/lodash/_baseTimes.js", "../../node_modules/lodash/_baseIsArguments.js", "../../node_modules/lodash/isArguments.js", "../../node_modules/lodash/stubFalse.js", "../../node_modules/lodash/isBuffer.js", "../../node_modules/lodash/_isIndex.js", "../../node_modules/lodash/isLength.js", "../../node_modules/lodash/_baseIsTypedArray.js", "../../node_modules/lodash/_baseUnary.js", "../../node_modules/lodash/_nodeUtil.js", "../../node_modules/lodash/isTypedArray.js", "../../node_modules/lodash/_arrayLikeKeys.js", "../../node_modules/lodash/_isPrototype.js", "../../node_modules/lodash/_overArg.js", "../../node_modules/lodash/_nativeKeys.js", "../../node_modules/lodash/_baseKeys.js", "../../node_modules/lodash/isObject.js", "../../node_modules/lodash/isFunction.js", "../../node_modules/lodash/isArrayLike.js", "../../node_modules/lodash/keys.js", "../../node_modules/lodash/_baseForOwn.js", "../../node_modules/lodash/identity.js", "../../node_modules/lodash/_castFunction.js", "../../node_modules/lodash/forOwn.js", "../../node_modules/lodash/_getPrototype.js", "../../node_modules/lodash/isPlainObject.js", "../../node_modules/lodash/_arrayMap.js", "../../node_modules/lodash/_listCacheClear.js", "../../node_modules/lodash/eq.js", "../../node_modules/lodash/_assocIndexOf.js", "../../node_modules/lodash/_listCacheDelete.js", "../../node_modules/lodash/_listCacheGet.js", "../../node_modules/lodash/_listCacheHas.js", "../../node_modules/lodash/_listCacheSet.js", "../../node_modules/lodash/_ListCache.js", "../../node_modules/lodash/_stackClear.js", "../../node_modules/lodash/_stackDelete.js", "../../node_modules/lodash/_stackGet.js", "../../node_modules/lodash/_stackHas.js", "../../node_modules/lodash/_coreJsData.js", "../../node_modules/lodash/_isMasked.js", "../../node_modules/lodash/_toSource.js", "../../node_modules/lodash/_baseIsNative.js", "../../node_modules/lodash/_getValue.js", "../../node_modules/lodash/_getNative.js", "../../node_modules/lodash/_Map.js", "../../node_modules/lodash/_nativeCreate.js", "../../node_modules/lodash/_hashClear.js", "../../node_modules/lodash/_hashDelete.js", "../../node_modules/lodash/_hashGet.js", "../../node_modules/lodash/_hashHas.js", "../../node_modules/lodash/_hashSet.js", "../../node_modules/lodash/_Hash.js", "../../node_modules/lodash/_mapCacheClear.js", "../../node_modules/lodash/_isKeyable.js", "../../node_modules/lodash/_getMapData.js", "../../node_modules/lodash/_mapCacheDelete.js", "../../node_modules/lodash/_mapCacheGet.js", "../../node_modules/lodash/_mapCacheHas.js", "../../node_modules/lodash/_mapCacheSet.js", "../../node_modules/lodash/_MapCache.js", "../../node_modules/lodash/_stackSet.js", "../../node_modules/lodash/_Stack.js", "../../node_modules/lodash/_setCacheAdd.js", "../../node_modules/lodash/_setCacheHas.js", "../../node_modules/lodash/_SetCache.js", "../../node_modules/lodash/_arraySome.js", "../../node_modules/lodash/_cacheHas.js", "../../node_modules/lodash/_equalArrays.js", "../../node_modules/lodash/_Uint8Array.js", "../../node_modules/lodash/_mapToArray.js", "../../node_modules/lodash/_setToArray.js", "../../node_modules/lodash/_equalByTag.js", "../../node_modules/lodash/_arrayPush.js", "../../node_modules/lodash/_baseGetAllKeys.js", "../../node_modules/lodash/_arrayFilter.js", "../../node_modules/lodash/stubArray.js", "../../node_modules/lodash/_getSymbols.js", "../../node_modules/lodash/_getAllKeys.js", "../../node_modules/lodash/_equalObjects.js", "../../node_modules/lodash/_DataView.js", "../../node_modules/lodash/_Promise.js", "../../node_modules/lodash/_Set.js", "../../node_modules/lodash/_WeakMap.js", "../../node_modules/lodash/_getTag.js", "../../node_modules/lodash/_baseIsEqualDeep.js", "../../node_modules/lodash/_baseIsEqual.js", "../../node_modules/lodash/_baseIsMatch.js", "../../node_modules/lodash/_isStrictComparable.js", "../../node_modules/lodash/_getMatchData.js", "../../node_modules/lodash/_matchesStrictComparable.js", "../../node_modules/lodash/_baseMatches.js", "../../node_modules/lodash/isSymbol.js", "../../node_modules/lodash/_isKey.js", "../../node_modules/lodash/memoize.js", "../../node_modules/lodash/_memoizeCapped.js", "../../node_modules/lodash/_stringToPath.js", "../../node_modules/lodash/_baseToString.js", "../../node_modules/lodash/toString.js", "../../node_modules/lodash/_castPath.js", "../../node_modules/lodash/_toKey.js", "../../node_modules/lodash/_baseGet.js", "../../node_modules/lodash/get.js", "../../node_modules/lodash/_baseHasIn.js", "../../node_modules/lodash/_hasPath.js", "../../node_modules/lodash/hasIn.js", "../../node_modules/lodash/_baseMatchesProperty.js", "../../node_modules/lodash/_baseProperty.js", "../../node_modules/lodash/_basePropertyDeep.js", "../../node_modules/lodash/property.js", "../../node_modules/lodash/_baseIteratee.js", "../../node_modules/lodash/_createBaseEach.js", "../../node_modules/lodash/_baseEach.js", "../../node_modules/lodash/_baseMap.js", "../../node_modules/lodash/map.js", "../../node_modules/reactcss/lib/flattenNames.js", "../../node_modules/lodash/_arrayEach.js", "../../node_modules/lodash/_defineProperty.js", "../../node_modules/lodash/_baseAssignValue.js", "../../node_modules/lodash/_assignValue.js", "../../node_modules/lodash/_copyObject.js", "../../node_modules/lodash/_baseAssign.js", "../../node_modules/lodash/_nativeKeysIn.js", "../../node_modules/lodash/_baseKeysIn.js", "../../node_modules/lodash/keysIn.js", "../../node_modules/lodash/_baseAssignIn.js", "../../node_modules/lodash/_cloneBuffer.js", "../../node_modules/lodash/_copyArray.js", "../../node_modules/lodash/_copySymbols.js", "../../node_modules/lodash/_getSymbolsIn.js", "../../node_modules/lodash/_copySymbolsIn.js", "../../node_modules/lodash/_getAllKeysIn.js", "../../node_modules/lodash/_initCloneArray.js", "../../node_modules/lodash/_cloneArrayBuffer.js", "../../node_modules/lodash/_cloneDataView.js", "../../node_modules/lodash/_cloneRegExp.js", "../../node_modules/lodash/_cloneSymbol.js", "../../node_modules/lodash/_cloneTypedArray.js", "../../node_modules/lodash/_initCloneByTag.js", "../../node_modules/lodash/_baseCreate.js", "../../node_modules/lodash/_initCloneObject.js", "../../node_modules/lodash/_baseIsMap.js", "../../node_modules/lodash/isMap.js", "../../node_modules/lodash/_baseIsSet.js", "../../node_modules/lodash/isSet.js", "../../node_modules/lodash/_baseClone.js", "../../node_modules/lodash/cloneDeep.js", "../../node_modules/reactcss/lib/mergeClasses.js", "../../node_modules/reactcss/lib/autoprefix.js", "../../node_modules/reactcss/lib/components/hover.js", "../../node_modules/reactcss/lib/components/active.js", "../../node_modules/reactcss/lib/loop.js", "../../node_modules/reactcss/lib/index.js", "../../node_modules/@icons/material/UnfoldMoreHorizontalIcon.js", "../../node_modules/@icons/material/CheckIcon.js", "../../node_modules/cronstrue/dist/cronstrue.js", "../../node_modules/cronstrue/locales/fr.js", "../../node_modules/cronstrue/locales/es.js", "../../node_modules/cronstrue/locales/de.js", "../../node_modules/cronstrue/locales/it.js", "../../node_modules/cronstrue/locales/ru.js", "../../node_modules/cronstrue/locales/zh_CN.js", "../../node_modules/cronstrue/locales/uk.js", "../../node_modules/cronstrue/locales/pt_BR.js", "../../node_modules/cronstrue/locales/pl.js", "../../node_modules/attr-accept/dist/es/index.js", "../../node_modules/cropperjs/dist/cropper.js", "../src/index.tsx", "../../node_modules/@mui/material/styles/identifier.js", "../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js", "../../node_modules/@mui/system/esm/index.js", "../../node_modules/@mui/system/esm/createTheme/createTheme.js", "../../node_modules/@mui/system/esm/createTheme/createBreakpoints.js", "../../node_modules/@mui/system/esm/createTheme/shape.js", "../../node_modules/@mui/system/esm/breakpoints.js", "../../node_modules/@mui/system/esm/merge.js", "../../node_modules/@mui/system/esm/style.js", "../../node_modules/@mui/system/esm/memoize.js", "../../node_modules/@mui/system/esm/spacing.js", "../../node_modules/@mui/system/esm/createTheme/createSpacing.js", "../../node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js", "../../node_modules/@mui/system/esm/compose.js", "../../node_modules/@mui/system/esm/borders.js", "../../node_modules/@mui/system/esm/cssGrid.js", "../../node_modules/@mui/system/esm/palette.js", "../../node_modules/@mui/system/esm/sizing.js", "../../node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js", "../../node_modules/@mui/system/esm/createTheme/applyStyles.js", "../../node_modules/@mui/system/esm/useThemeWithoutDefault.js", "../../node_modules/@mui/system/esm/useTheme.js", "../../node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.js", "../../node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js", "../../node_modules/@mui/system/esm/createBox.js", "../../node_modules/clsx/dist/clsx.mjs", "../../node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js", "../../node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js", "../../node_modules/@mui/utils/esm/resolveProps/resolveProps.js", "../../node_modules/@mui/system/esm/useThemeProps/getThemeProps.js", "../../node_modules/@mui/system/esm/useThemeProps/useThemeProps.js", "../../node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.js", "../../node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.js", "../../node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.js", "../../node_modules/@mui/utils/esm/createChainedFunction/createChainedFunction.js", "../../node_modules/@mui/utils/esm/debounce/debounce.js", "../../node_modules/@mui/utils/esm/ownerDocument/ownerDocument.js", "../../node_modules/@mui/utils/esm/ownerWindow/ownerWindow.js", "../../node_modules/@mui/utils/esm/setRef/setRef.js", "../../node_modules/@mui/utils/esm/useControlled/useControlled.js", "../../node_modules/@mui/utils/esm/useEventCallback/useEventCallback.js", "../../node_modules/@mui/utils/esm/useForkRef/useForkRef.js", "../../node_modules/@mui/utils/esm/useLazyRef/useLazyRef.js", "../../node_modules/@mui/utils/esm/useOnMount/useOnMount.js", "../../node_modules/@mui/utils/esm/useTimeout/useTimeout.js", "../../node_modules/@mui/utils/esm/useIsFocusVisible/useIsFocusVisible.js", "../../node_modules/@mui/utils/esm/scrollLeft/scrollLeft.js", "../../node_modules/@mui/utils/esm/composeClasses/composeClasses.js", "../../node_modules/@mui/utils/esm/useSlotProps/useSlotProps.js", "../../node_modules/@mui/utils/esm/appendOwnerState/appendOwnerState.js", "../../node_modules/@mui/utils/esm/isHostComponent/isHostComponent.js", "../../node_modules/@mui/utils/esm/mergeSlotProps/mergeSlotProps.js", "../../node_modules/@mui/utils/esm/extractEventHandlers/extractEventHandlers.js", "../../node_modules/@mui/utils/esm/omitEventHandlers/omitEventHandlers.js", "../../node_modules/@mui/utils/esm/resolveComponentProps/resolveComponentProps.js", "../../node_modules/@mui/private-theming/useTheme/ThemeContext.js", "../../node_modules/@mui/private-theming/useTheme/useTheme.js", "../../node_modules/@mui/private-theming/ThemeProvider/nested.js", "../../node_modules/@mui/system/esm/RtlProvider/index.js", "../../node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.js", "../../node_modules/@mui/material/styles/createTheme.js", "../../node_modules/@mui/material/styles/createMixins.js", "../../node_modules/@mui/material/styles/createPalette.js", "../../node_modules/@mui/material/colors/common.js", "../../node_modules/@mui/material/colors/grey.js", "../../node_modules/@mui/material/colors/purple.js", "../../node_modules/@mui/material/colors/red.js", "../../node_modules/@mui/material/colors/orange.js", "../../node_modules/@mui/material/colors/blue.js", "../../node_modules/@mui/material/colors/lightBlue.js", "../../node_modules/@mui/material/colors/green.js", "../../node_modules/@mui/material/styles/createTypography.js", "../../node_modules/@mui/material/styles/shadows.js", "../../node_modules/@mui/material/styles/createTransitions.js", "../../node_modules/@mui/material/styles/zIndex.js", "../../node_modules/@mui/material/styles/useTheme.js", "../../node_modules/@mui/material/styles/defaultTheme.js", "../../node_modules/@mui/material/styles/useThemeProps.js", "../../node_modules/@mui/material/styles/styled.js", "../../node_modules/@mui/material/styles/slotShouldForwardProp.js", "../../node_modules/@mui/material/styles/rootShouldForwardProp.js", "../../node_modules/@mui/material/styles/ThemeProvider.js", "../../node_modules/@mui/material/styles/getOverlayAlpha.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/styles/identifier.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/styled-engine/index.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/deepmerge/deepmerge.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/createBreakpoints/createBreakpoints.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/cssContainerQueries/cssContainerQueries.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/createTheme/shape.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/merge/merge.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/breakpoints/breakpoints.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/capitalize/capitalize.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/style/style.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/memoize/memoize.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/spacing/spacing.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/createTheme/createSpacing.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/compose/compose.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/borders/borders.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/cssGrid/cssGrid.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/palette/palette.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/sizing/sizing.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/createTheme/applyStyles.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/createTheme/createTheme.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/useTheme/useTheme.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/createBox/createBox.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/preprocessStyles.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/createStyled/createStyled.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/styled/styled.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/resolveProps/resolveProps.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/useThemeProps/getThemeProps.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/useThemeProps/useThemeProps.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/useMediaQuery/useMediaQuery.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/clamp/clamp.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/colorManipulator/colorManipulator.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/createChainedFunction/createChainedFunction.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/debounce/debounce.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/isMuiElement/isMuiElement.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/ownerDocument/ownerDocument.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/ownerWindow/ownerWindow.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/setRef/setRef.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/useId/useId.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/useControlled/useControlled.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/useEventCallback/useEventCallback.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/useForkRef/useForkRef.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/useLazyRef/useLazyRef.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/useOnMount/useOnMount.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/useTimeout/useTimeout.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/isFocusVisible/isFocusVisible.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/getScrollbarSize/getScrollbarSize.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/usePreviousProps/usePreviousProps.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/composeClasses/composeClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/isHostComponent/isHostComponent.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/appendOwnerState/appendOwnerState.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/extractEventHandlers/extractEventHandlers.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/omitEventHandlers/omitEventHandlers.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/mergeSlotProps/mergeSlotProps.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/resolveComponentProps/resolveComponentProps.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/useSlotProps/useSlotProps.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/utils/esm/getReactElementRef/getReactElementRef.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/RtlProvider/index.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/memoTheme.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/cssVars/createGetCssVar.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/cssVars/cssVarsParser.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/cssVars/prepareCssVars.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/cssVars/getColorSchemeSelector.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/Grid/createGrid.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/Grid/traverseBreakpoints.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/Grid/gridGenerator.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/colors/common.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/colors/grey.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/colors/purple.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/colors/red.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/colors/orange.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/colors/blue.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/colors/lightBlue.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/colors/green.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/styles/createPalette.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/system/esm/cssVars/prepareTypographyVars.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/styles/createMixins.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/styles/createTypography.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/styles/shadows.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/styles/createTransitions.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/styles/zIndex.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/styles/stringifyTheme.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/styles/createThemeNoVars.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/styles/getOverlayAlpha.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/styles/createColorScheme.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/styles/shouldSkipGeneratingVar.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/styles/excludeVariablesFromRoot.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/styles/createGetSelector.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/styles/createThemeWithVars.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/styles/createTheme.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/styles/useTheme.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/styles/defaultTheme.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/styles/slotShouldForwardProp.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/styles/rootShouldForwardProp.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/styles/styled.js", "../../node_modules/@iobroker/adapter-react-v5/build/Theme.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/GenericApp.tsx", "../../node_modules/@iobroker/socket-client/src/DeferredPromise.ts", "../../node_modules/@iobroker/socket-client/src/tools.ts", "../../node_modules/@iobroker/socket-client/src/Connection.ts", "../../node_modules/@iobroker/socket-client/src/AdminConnection.ts", "../../node_modules/@sentry/core/src/debug-build.ts", "../../node_modules/@sentry/core/src/utils-hoist/version.ts", "../../node_modules/@sentry/core/src/utils-hoist/worldwide.ts", "../../node_modules/@sentry/core/src/utils-hoist/debug-build.ts", "../../node_modules/@sentry/core/src/utils-hoist/logger.ts", "../../node_modules/@sentry/core/src/utils-hoist/stacktrace.ts", "../../node_modules/@sentry/core/src/utils-hoist/instrument/handlers.ts", "../../node_modules/@sentry/core/src/utils-hoist/instrument/globalError.ts", "../../node_modules/@sentry/core/src/utils-hoist/instrument/globalUnhandledRejection.ts", "../../node_modules/@sentry/core/src/carrier.ts", "../../node_modules/@sentry/core/src/utils-hoist/is.ts", "../../node_modules/@sentry/core/src/utils-hoist/browser.ts", "../../node_modules/@sentry/core/src/utils-hoist/string.ts", "../../node_modules/@sentry/core/src/utils-hoist/object.ts", "../../node_modules/@sentry/core/src/utils-hoist/time.ts", "../../node_modules/@sentry/core/src/utils-hoist/misc.ts", "../../node_modules/@sentry/core/src/utils-hoist/syncpromise.ts", "../../node_modules/@sentry/core/src/session.ts", "../../node_modules/@sentry/core/src/utils-hoist/propagationContext.ts", "../../node_modules/@sentry/core/src/utils/merge.ts", "../../node_modules/@sentry/core/src/utils/spanOnScope.ts", "../../node_modules/@sentry/core/src/scope.ts", "../../node_modules/@sentry/core/src/defaultScopes.ts", "../../node_modules/@sentry/core/src/asyncContext/stackStrategy.ts", "../../node_modules/@sentry/core/src/asyncContext/index.ts", "../../node_modules/@sentry/core/src/currentScopes.ts", "../../node_modules/@sentry/core/src/metrics/metric-summary.ts", "../../node_modules/@sentry/core/src/semanticAttributes.ts", "../../node_modules/@sentry/core/src/utils-hoist/baggage.ts", "../../node_modules/@sentry/core/src/utils/spanUtils.ts", "../../node_modules/@sentry/core/src/utils/hasTracingEnabled.ts", "../../node_modules/@sentry/core/src/constants.ts", "../../node_modules/@sentry/core/src/tracing/dynamicSamplingContext.ts", "../../node_modules/@sentry/core/src/utils/parseSampleRate.ts", "../../node_modules/@sentry/core/src/utils-hoist/dsn.ts", "../../node_modules/@sentry/core/src/utils-hoist/memo.ts", "../../node_modules/@sentry/core/src/utils-hoist/normalize.ts", "../../node_modules/@sentry/core/src/utils-hoist/envelope.ts", "../../node_modules/@sentry/core/src/envelope.ts", "../../node_modules/@sentry/core/src/eventProcessors.ts", "../../node_modules/@sentry/core/src/utils-hoist/debug-ids.ts", "../../node_modules/@sentry/core/src/utils/applyScopeDataToEvent.ts", "../../node_modules/@sentry/core/src/utils/prepareEvent.ts", "../../node_modules/@sentry/core/src/exports.ts", "../../node_modules/@sentry/core/src/api.ts", "../../node_modules/@sentry/core/src/integration.ts", "../../node_modules/@sentry/core/src/utils-hoist/clientreport.ts", "../../node_modules/@sentry/core/src/utils-hoist/error.ts", "../../node_modules/@sentry/core/src/baseclient.ts", "../../node_modules/@sentry/core/src/sdk.ts", "../../node_modules/@sentry/core/src/utils-hoist/promisebuffer.ts", "../../node_modules/@sentry/core/src/utils-hoist/ratelimit.ts", "../../node_modules/@sentry/core/src/transports/base.ts", "../../node_modules/@sentry/core/src/utils/sdkMetadata.ts", "../../node_modules/@sentry/core/src/breadcrumbs.ts", "../../node_modules/@sentry/core/src/integrations/functiontostring.ts", "../../node_modules/@sentry/core/src/integrations/inboundfilters.ts", "../../node_modules/@sentry/core/src/utils-hoist/aggregate-errors.ts", "../../node_modules/@sentry/core/src/utils-hoist/url.ts", "../../node_modules/@sentry/core/src/utils-hoist/instrument/console.ts", "../../node_modules/@sentry/core/src/utils-hoist/severity.ts", "../../node_modules/@sentry/core/src/integrations/dedupe.ts", "../../node_modules/@sentry/core/src/utils-hoist/breadcrumb-log-level.ts", "../../node_modules/@sentry/core/src/utils-hoist/supports.ts", "../../node_modules/@sentry/core/src/utils-hoist/instrument/fetch.ts", "../../node_modules/@sentry/core/src/utils-hoist/env.ts", "../../node_modules/@sentry/core/src/utils-hoist/vendor/supportsHistory.ts", "../../node_modules/@sentry/browser/src/helpers.ts", "../../node_modules/@sentry/browser/src/debug-build.ts", "../../node_modules/@sentry/browser/src/eventbuilder.ts", "../../node_modules/@sentry/browser/src/userfeedback.ts", "../../node_modules/@sentry/browser/src/client.ts", "../../node_modules/@sentry-internal/browser-utils/src/debug-build.ts", "../../node_modules/@sentry-internal/browser-utils/src/types.ts", "../../node_modules/@sentry-internal/browser-utils/src/instrument/dom.ts", "../../node_modules/@sentry-internal/browser-utils/src/instrument/history.ts", "../../node_modules/@sentry-internal/browser-utils/src/getNativeImplementation.ts", "../../node_modules/@sentry-internal/browser-utils/src/instrument/xhr.ts", "../../node_modules/@sentry/browser/src/transports/fetch.ts", "../../node_modules/@sentry/browser/src/stack-parsers.ts", "../../node_modules/@sentry/browser/src/integrations/breadcrumbs.ts", "../../node_modules/@sentry/browser/src/integrations/browserapierrors.ts", "../../node_modules/@sentry/browser/src/integrations/globalhandlers.ts", "../../node_modules/@sentry/browser/src/integrations/httpcontext.ts", "../../node_modules/@sentry/browser/src/integrations/linkederrors.ts", "../../node_modules/@sentry/browser/src/sdk.ts", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/utils/capitalize.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/utils/createChainedFunction.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/utils/createSvgIcon.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/SvgIcon/SvgIcon.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/zero-styled/index.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/GlobalStyles/GlobalStyles.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/utils/memoTheme.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/SvgIcon/svgIconClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/utils/debounce.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/utils/isMuiElement.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/utils/ownerDocument.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/utils/ownerWindow.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/utils/useEnhancedEffect.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/utils/useId.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/utils/useControlled.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/utils/useEventCallback.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/utils/useForkRef.js", "../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js", "../../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js", "../../node_modules/react-transition-group/esm/Transition.js", "../../node_modules/react-transition-group/esm/config.js", "../../node_modules/react-transition-group/esm/TransitionGroupContext.js", "../../node_modules/react-transition-group/esm/utils/reflow.js", "../../node_modules/react-transition-group/esm/TransitionGroup.js", "../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js", "../../node_modules/react-transition-group/esm/utils/ChildMapping.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/transitions/utils.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Paper/Paper.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Paper/paperClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/utils/useSlot.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/ButtonBase/ButtonBase.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/useLazyRipple/useLazyRipple.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/ButtonBase/TouchRipple.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/ButtonBase/Ripple.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/ButtonBase/touchRippleClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/ButtonBase/buttonBaseClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/utils/createSimplePaletteValueFilter.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/IconButton/IconButton.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/IconButton/iconButtonClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Typography/Typography.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Typography/typographyClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/AppBar/AppBar.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/AppBar/appBarClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Popper/Popper.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Popper/BasePopper.js", "../../node_modules/@popperjs/core/lib/enums.js", "../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js", "../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js", "../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js", "../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js", "../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js", "../../node_modules/@popperjs/core/lib/utils/math.js", "../../node_modules/@popperjs/core/lib/utils/userAgent.js", "../../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js", "../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js", "../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js", "../../node_modules/@popperjs/core/lib/dom-utils/contains.js", "../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js", "../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js", "../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js", "../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js", "../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js", "../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js", "../../node_modules/@popperjs/core/lib/utils/within.js", "../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js", "../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js", "../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js", "../../node_modules/@popperjs/core/lib/modifiers/arrow.js", "../../node_modules/@popperjs/core/lib/utils/getVariation.js", "../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js", "../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js", "../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js", "../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js", "../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js", "../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js", "../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js", "../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js", "../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js", "../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js", "../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js", "../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js", "../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js", "../../node_modules/@popperjs/core/lib/utils/computeOffsets.js", "../../node_modules/@popperjs/core/lib/utils/detectOverflow.js", "../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js", "../../node_modules/@popperjs/core/lib/modifiers/flip.js", "../../node_modules/@popperjs/core/lib/modifiers/hide.js", "../../node_modules/@popperjs/core/lib/modifiers/offset.js", "../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js", "../../node_modules/@popperjs/core/lib/utils/getAltAxis.js", "../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js", "../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js", "../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js", "../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js", "../../node_modules/@popperjs/core/lib/utils/orderModifiers.js", "../../node_modules/@popperjs/core/lib/utils/debounce.js", "../../node_modules/@popperjs/core/lib/utils/mergeByName.js", "../../node_modules/@popperjs/core/lib/createPopper.js", "../../node_modules/@popperjs/core/lib/popper.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Portal/Portal.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Popper/popperClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/InputBase/InputBase.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/TextareaAutosize/TextareaAutosize.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/utils/isHostComponent.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/FormControl/formControlState.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/FormControl/FormControlContext.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/FormControl/useFormControl.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/InputBase/utils.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/InputBase/inputBaseClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Input/inputClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/OutlinedInput/outlinedInputClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/FilledInput/filledInputClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/internal/svg-icons/ArrowDropDown.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Backdrop/Backdrop.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Fade/Fade.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Backdrop/backdropClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Badge/Badge.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Badge/useBadge.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Badge/badgeClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Box/boxClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Box/Box.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Breadcrumbs/Breadcrumbs.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Breadcrumbs/BreadcrumbCollapsed.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/internal/svg-icons/MoreHoriz.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Breadcrumbs/breadcrumbsClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Button/Button.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Button/buttonClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/ButtonGroup/ButtonGroupContext.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Checkbox/Checkbox.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/internal/SwitchBase.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/internal/switchBaseClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/internal/svg-icons/CheckBox.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Checkbox/checkboxClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/CircularProgress/CircularProgress.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/CircularProgress/circularProgressClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/ClickAwayListener/ClickAwayListener.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Dialog/Dialog.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Modal/ModalManager.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Modal/Modal.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Unstable_TrapFocus/FocusTrap.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Modal/useModal.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Modal/modalClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Dialog/dialogClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Dialog/DialogContext.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/DialogActions/DialogActions.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/DialogActions/dialogActionsClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/DialogContent/DialogContent.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/DialogContent/dialogContentClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/DialogTitle/dialogTitleClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/DialogContentText/DialogContentText.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/DialogTitle/DialogTitle.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Divider/dividerClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Fab/Fab.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Fab/fabClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/FilledInput/FilledInput.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/FormControl/FormControl.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/FormControl/formControlClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/FormControlLabel/FormControlLabel.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/FormControlLabel/formControlLabelClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/FormGroup/FormGroup.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/FormGroup/formGroupClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/FormHelperText/FormHelperText.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/FormHelperText/formHelperTextClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/FormLabel/FormLabel.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/FormLabel/formLabelClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Grid2/Grid2.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Grow/Grow.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/useMediaQuery/index.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Input/Input.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/InputLabel/InputLabel.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/InputLabel/inputLabelClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/LinearProgress/LinearProgress.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/LinearProgress/linearProgressClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/List/List.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/List/ListContext.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/List/listClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/ListItem/ListItem.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/ListItem/listItemClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/ListItemButton/ListItemButton.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/ListItemButton/listItemButtonClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/ListItemSecondaryAction/ListItemSecondaryAction.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/ListItemSecondaryAction/listItemSecondaryActionClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/ListItemIcon/ListItemIcon.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/ListItemIcon/listItemIconClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/ListItemText/ListItemText.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/ListItemText/listItemTextClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Menu/Menu.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/MenuList/MenuList.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/utils/getScrollbarSize.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Popover/Popover.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Popover/popoverClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Menu/menuClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/MenuItem/MenuItem.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/MenuItem/menuItemClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/NativeSelect/NativeSelectInput.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/NativeSelect/nativeSelectClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/OutlinedInput/OutlinedInput.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/OutlinedInput/NotchedOutline.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Radio/Radio.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Radio/RadioButtonIcon.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/internal/svg-icons/RadioButtonUnchecked.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/internal/svg-icons/RadioButtonChecked.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/RadioGroup/useRadioGroup.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/RadioGroup/RadioGroupContext.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Radio/radioClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Select/Select.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Select/SelectInput.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Select/selectClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Snackbar/Snackbar.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Snackbar/useSnackbar.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/SnackbarContent/SnackbarContent.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/SnackbarContent/snackbarContentClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Snackbar/snackbarClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Tooltip/Tooltip.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Tooltip/tooltipClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Switch/Switch.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Switch/switchClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Tab/Tab.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Tab/tabClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Toolbar/Toolbar.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Toolbar/toolbarClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/internal/svg-icons/KeyboardArrowLeft.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/internal/svg-icons/KeyboardArrowRight.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Tabs/Tabs.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/internal/animate.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Tabs/ScrollbarSize.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/TabScrollButton/TabScrollButton.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/TabScrollButton/tabScrollButtonClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/Tabs/tabsClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/TextField/TextField.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/material/TextField/textFieldClasses.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Add.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/ArrowBack.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/ArrowRight.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/AudioFile.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/BedroomParent.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Bookmark.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/BookmarkBorder.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/BorderColor.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Brightness6.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Build.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/CalendarToday.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Cancel.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Check.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Close.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Code.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Construction.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/ContentCopy.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/CreateNewFolder.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/DataObject.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Delete.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Description.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Edit.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Error.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/FindInPage.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/FolderOpen.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/FolderSpecial.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/FontDownload.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/FormatItalic.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Help.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Image.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Info.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/InsertDriveFile.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/KeyboardReturn.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Link.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/List.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/ListAlt.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/LooksOne.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/MusicNote.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/PersonOutlined.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Publish.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Refresh.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Router.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Save.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/SaveAlt.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Settings.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/SettingsApplications.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/ShowChart.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/SupervisedUserCircle.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/TextFields.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/VerticalAlignBottom.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/VerticalAlignTop.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Videocam.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/ViewColumn.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/ViewModule.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/Wifi.js", "../../node_modules/@iobroker/adapter-react-v5/node_modules/@mui/icons-material/esm/WifiOff.js", "../../node_modules/@iobroker/adapter-react-v5/build/Prompt.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/Loader.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/Router.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/Utils.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/CopyToClipboard.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/i18n.ts", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/SaveCloseButtons.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Dialogs/Dialogs/Confirm.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Dialogs/Dialogs/Error.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/i18n/en.json", "../../node_modules/@iobroker/adapter-react-v5/build/i18n/de.json", "../../node_modules/@iobroker/adapter-react-v5/build/i18n/ru.json", "../../node_modules/@iobroker/adapter-react-v5/build/i18n/pt.json", "../../node_modules/@iobroker/adapter-react-v5/build/i18n/nl.json", "../../node_modules/@iobroker/adapter-react-v5/build/i18n/fr.json", "../../node_modules/@iobroker/adapter-react-v5/build/i18n/it.json", "../../node_modules/@iobroker/adapter-react-v5/build/i18n/es.json", "../../node_modules/@iobroker/adapter-react-v5/build/i18n/pl.json", "../../node_modules/@iobroker/adapter-react-v5/build/i18n/uk.json", "../../node_modules/@iobroker/adapter-react-v5/build/i18n/zh-cn.json", "../../node_modules/@iobroker/adapter-react-v5/build/dictionary.ts", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/ColorPicker.tsx", "../../node_modules/react-color/es/components/alpha/Alpha.js", "../../node_modules/react-color/es/components/common/Alpha.js", "../../node_modules/react-color/es/helpers/alpha.js", "../../node_modules/react-color/es/components/common/Checkboard.js", "../../node_modules/react-color/es/helpers/checkboard.js", "../../node_modules/react-color/es/components/common/EditableInput.js", "../../node_modules/react-color/es/components/common/Hue.js", "../../node_modules/react-color/es/helpers/hue.js", "../../node_modules/react-color/es/components/common/Raised.js", "../../node_modules/lodash-es/_listCacheClear.js", "../../node_modules/lodash-es/eq.js", "../../node_modules/lodash-es/_assocIndexOf.js", "../../node_modules/lodash-es/_listCacheDelete.js", "../../node_modules/lodash-es/_listCacheGet.js", "../../node_modules/lodash-es/_listCacheHas.js", "../../node_modules/lodash-es/_listCacheSet.js", "../../node_modules/lodash-es/_ListCache.js", "../../node_modules/lodash-es/_stackClear.js", "../../node_modules/lodash-es/_stackDelete.js", "../../node_modules/lodash-es/_stackGet.js", "../../node_modules/lodash-es/_stackHas.js", "../../node_modules/lodash-es/_freeGlobal.js", "../../node_modules/lodash-es/_root.js", "../../node_modules/lodash-es/_Symbol.js", "../../node_modules/lodash-es/_getRawTag.js", "../../node_modules/lodash-es/_objectToString.js", "../../node_modules/lodash-es/_baseGetTag.js", "../../node_modules/lodash-es/isObject.js", "../../node_modules/lodash-es/isFunction.js", "../../node_modules/lodash-es/_coreJsData.js", "../../node_modules/lodash-es/_isMasked.js", "../../node_modules/lodash-es/_toSource.js", "../../node_modules/lodash-es/_baseIsNative.js", "../../node_modules/lodash-es/_getValue.js", "../../node_modules/lodash-es/_getNative.js", "../../node_modules/lodash-es/_Map.js", "../../node_modules/lodash-es/_nativeCreate.js", "../../node_modules/lodash-es/_hashClear.js", "../../node_modules/lodash-es/_hashDelete.js", "../../node_modules/lodash-es/_hashGet.js", "../../node_modules/lodash-es/_hashHas.js", "../../node_modules/lodash-es/_hashSet.js", "../../node_modules/lodash-es/_Hash.js", "../../node_modules/lodash-es/_mapCacheClear.js", "../../node_modules/lodash-es/_isKeyable.js", "../../node_modules/lodash-es/_getMapData.js", "../../node_modules/lodash-es/_mapCacheDelete.js", "../../node_modules/lodash-es/_mapCacheGet.js", "../../node_modules/lodash-es/_mapCacheHas.js", "../../node_modules/lodash-es/_mapCacheSet.js", "../../node_modules/lodash-es/_MapCache.js", "../../node_modules/lodash-es/_stackSet.js", "../../node_modules/lodash-es/_Stack.js", "../../node_modules/lodash-es/_defineProperty.js", "../../node_modules/lodash-es/_baseAssignValue.js", "../../node_modules/lodash-es/_assignMergeValue.js", "../../node_modules/lodash-es/_createBaseFor.js", "../../node_modules/lodash-es/_baseFor.js", "../../node_modules/lodash-es/_cloneBuffer.js", "../../node_modules/lodash-es/_Uint8Array.js", "../../node_modules/lodash-es/_cloneArrayBuffer.js", "../../node_modules/lodash-es/_cloneTypedArray.js", "../../node_modules/lodash-es/_copyArray.js", "../../node_modules/lodash-es/_baseCreate.js", "../../node_modules/lodash-es/_overArg.js", "../../node_modules/lodash-es/_getPrototype.js", "../../node_modules/lodash-es/_isPrototype.js", "../../node_modules/lodash-es/_initCloneObject.js", "../../node_modules/lodash-es/isObjectLike.js", "../../node_modules/lodash-es/_baseIsArguments.js", "../../node_modules/lodash-es/isArguments.js", "../../node_modules/lodash-es/isArray.js", "../../node_modules/lodash-es/isLength.js", "../../node_modules/lodash-es/isArrayLike.js", "../../node_modules/lodash-es/isArrayLikeObject.js", "../../node_modules/lodash-es/stubFalse.js", "../../node_modules/lodash-es/isBuffer.js", "../../node_modules/lodash-es/isPlainObject.js", "../../node_modules/lodash-es/_baseIsTypedArray.js", "../../node_modules/lodash-es/_baseUnary.js", "../../node_modules/lodash-es/_nodeUtil.js", "../../node_modules/lodash-es/isTypedArray.js", "../../node_modules/lodash-es/_safeGet.js", "../../node_modules/lodash-es/_assignValue.js", "../../node_modules/lodash-es/_copyObject.js", "../../node_modules/lodash-es/_baseTimes.js", "../../node_modules/lodash-es/_isIndex.js", "../../node_modules/lodash-es/_arrayLikeKeys.js", "../../node_modules/lodash-es/_nativeKeysIn.js", "../../node_modules/lodash-es/_baseKeysIn.js", "../../node_modules/lodash-es/keysIn.js", "../../node_modules/lodash-es/toPlainObject.js", "../../node_modules/lodash-es/_baseMergeDeep.js", "../../node_modules/lodash-es/_baseMerge.js", "../../node_modules/lodash-es/identity.js", "../../node_modules/lodash-es/_apply.js", "../../node_modules/lodash-es/_overRest.js", "../../node_modules/lodash-es/constant.js", "../../node_modules/lodash-es/_baseSetToString.js", "../../node_modules/lodash-es/_shortOut.js", "../../node_modules/lodash-es/_setToString.js", "../../node_modules/lodash-es/_baseRest.js", "../../node_modules/lodash-es/_isIterateeCall.js", "../../node_modules/lodash-es/_createAssigner.js", "../../node_modules/lodash-es/merge.js", "../../node_modules/react-color/es/components/common/Saturation.js", "../../node_modules/lodash-es/now.js", "../../node_modules/lodash-es/_trimmedEndIndex.js", "../../node_modules/lodash-es/_baseTrim.js", "../../node_modules/lodash-es/isSymbol.js", "../../node_modules/lodash-es/toNumber.js", "../../node_modules/lodash-es/debounce.js", "../../node_modules/lodash-es/throttle.js", "../../node_modules/react-color/es/helpers/saturation.js", "../../node_modules/react-color/es/components/common/ColorWrap.js", "../../node_modules/lodash-es/_arrayEach.js", "../../node_modules/lodash-es/_nativeKeys.js", "../../node_modules/lodash-es/_baseKeys.js", "../../node_modules/lodash-es/keys.js", "../../node_modules/lodash-es/_baseForOwn.js", "../../node_modules/lodash-es/_createBaseEach.js", "../../node_modules/lodash-es/_baseEach.js", "../../node_modules/lodash-es/_castFunction.js", "../../node_modules/lodash-es/forEach.js", "../../node_modules/tinycolor2/esm/tinycolor.js", "../../node_modules/react-color/es/helpers/color.js", "../../node_modules/react-color/es/components/common/Swatch.js", "../../node_modules/react-color/es/helpers/interaction.js", "../../node_modules/react-color/es/components/alpha/AlphaPointer.js", "../../node_modules/react-color/es/components/block/Block.js", "../../node_modules/react-color/es/components/block/BlockSwatches.js", "../../node_modules/lodash-es/_arrayMap.js", "../../node_modules/lodash-es/_setCacheAdd.js", "../../node_modules/lodash-es/_setCacheHas.js", "../../node_modules/lodash-es/_SetCache.js", "../../node_modules/lodash-es/_arraySome.js", "../../node_modules/lodash-es/_cacheHas.js", "../../node_modules/lodash-es/_equalArrays.js", "../../node_modules/lodash-es/_mapToArray.js", "../../node_modules/lodash-es/_setToArray.js", "../../node_modules/lodash-es/_equalByTag.js", "../../node_modules/lodash-es/_arrayPush.js", "../../node_modules/lodash-es/_baseGetAllKeys.js", "../../node_modules/lodash-es/_arrayFilter.js", "../../node_modules/lodash-es/stubArray.js", "../../node_modules/lodash-es/_getSymbols.js", "../../node_modules/lodash-es/_getAllKeys.js", "../../node_modules/lodash-es/_equalObjects.js", "../../node_modules/lodash-es/_DataView.js", "../../node_modules/lodash-es/_Promise.js", "../../node_modules/lodash-es/_Set.js", "../../node_modules/lodash-es/_WeakMap.js", "../../node_modules/lodash-es/_getTag.js", "../../node_modules/lodash-es/_baseIsEqualDeep.js", "../../node_modules/lodash-es/_baseIsEqual.js", "../../node_modules/lodash-es/_baseIsMatch.js", "../../node_modules/lodash-es/_isStrictComparable.js", "../../node_modules/lodash-es/_getMatchData.js", "../../node_modules/lodash-es/_matchesStrictComparable.js", "../../node_modules/lodash-es/_baseMatches.js", "../../node_modules/lodash-es/_isKey.js", "../../node_modules/lodash-es/memoize.js", "../../node_modules/lodash-es/_memoizeCapped.js", "../../node_modules/lodash-es/_stringToPath.js", "../../node_modules/lodash-es/_baseToString.js", "../../node_modules/lodash-es/toString.js", "../../node_modules/lodash-es/_castPath.js", "../../node_modules/lodash-es/_toKey.js", "../../node_modules/lodash-es/_baseGet.js", "../../node_modules/lodash-es/get.js", "../../node_modules/lodash-es/_baseHasIn.js", "../../node_modules/lodash-es/_hasPath.js", "../../node_modules/lodash-es/hasIn.js", "../../node_modules/lodash-es/_baseMatchesProperty.js", "../../node_modules/lodash-es/_baseProperty.js", "../../node_modules/lodash-es/_basePropertyDeep.js", "../../node_modules/lodash-es/property.js", "../../node_modules/lodash-es/_baseIteratee.js", "../../node_modules/lodash-es/_baseMap.js", "../../node_modules/lodash-es/map.js", "../../node_modules/react-color/es/components/circle/Circle.js", "../../node_modules/material-colors/dist/colors.es2015.js", "../../node_modules/react-color/es/components/circle/CircleSwatch.js", "../../node_modules/react-color/es/components/chrome/Chrome.js", "../../node_modules/react-color/es/components/chrome/ChromeFields.js", "../../node_modules/lodash-es/isUndefined.js", "../../node_modules/react-color/es/components/chrome/ChromePointer.js", "../../node_modules/react-color/es/components/chrome/ChromePointerCircle.js", "../../node_modules/react-color/es/components/compact/Compact.js", "../../node_modules/react-color/es/components/compact/CompactColor.js", "../../node_modules/react-color/es/components/compact/CompactFields.js", "../../node_modules/react-color/es/components/github/Github.js", "../../node_modules/react-color/es/components/github/GithubSwatch.js", "../../node_modules/react-color/es/components/hue/Hue.js", "../../node_modules/react-color/es/components/hue/HuePointer.js", "../../node_modules/react-color/es/components/material/Material.js", "../../node_modules/react-color/es/components/photoshop/Photoshop.js", "../../node_modules/react-color/es/components/photoshop/PhotoshopFields.js", "../../node_modules/react-color/es/components/photoshop/PhotoshopPointerCircle.js", "../../node_modules/react-color/es/components/photoshop/PhotoshopPointer.js", "../../node_modules/react-color/es/components/photoshop/PhotoshopButton.js", "../../node_modules/react-color/es/components/photoshop/PhotoshopPreviews.js", "../../node_modules/react-color/es/components/sketch/Sketch.js", "../../node_modules/react-color/es/components/sketch/SketchFields.js", "../../node_modules/react-color/es/components/sketch/SketchPresetColors.js", "../../node_modules/react-color/es/components/slider/Slider.js", "../../node_modules/react-color/es/components/slider/SliderSwatches.js", "../../node_modules/react-color/es/components/slider/SliderSwatch.js", "../../node_modules/react-color/es/components/slider/SliderPointer.js", "../../node_modules/react-color/es/components/swatches/Swatches.js", "../../node_modules/react-color/es/components/swatches/SwatchesGroup.js", "../../node_modules/react-color/es/components/swatches/SwatchesColor.js", "../../node_modules/react-color/es/components/twitter/Twitter.js", "../../node_modules/react-color/es/components/google/Google.js", "../../node_modules/react-color/es/components/google/GooglePointerCircle.js", "../../node_modules/react-color/es/components/google/GooglePointer.js", "../../node_modules/react-color/es/components/google/GoogleFields.js", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/ComplexCron.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/SimpleCron/Components/SimpleCron/cronText.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/CustomModal.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/FileBrowser.tsx", "../../node_modules/react-dropzone/dist/es/index.js", "../../node_modules/file-selector/node_modules/tslib/tslib.es6.mjs", "../../node_modules/file-selector/src/file.ts", "../../node_modules/file-selector/src/file-selector.ts", "../../node_modules/react-dropzone/dist/es/utils/index.js", "../../node_modules/@iobroker/adapter-react-v5/build/Dialogs/Dialogs/TextInput.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/withWidth.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconExpert.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconClosed.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconOpen.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconNoIcon.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/Icon.tsx", "../../node_modules/react-inlinesvg/src/index.tsx", "../../node_modules/react-inlinesvg/src/config.ts", "../../node_modules/react-inlinesvg/src/modules/helpers.ts", "../../node_modules/react-inlinesvg/src/modules/cache.ts", "../../node_modules/react-inlinesvg/src/modules/hooks.tsx", "../../node_modules/react-inlinesvg/src/modules/utils.ts", "../../node_modules/react-from-dom/src/index.ts", "../../node_modules/react-from-dom/src/helpers.ts", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconAlias.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/FileViewer.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/IconDeviceType.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconButtonImage.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconVacuum.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconInstance.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/IconPicker.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/IconSelector.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/Image.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/Logo.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/ObjectBrowser.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconAdapter.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconChannel.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconCopy.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconDevice.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconDocument.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconDocumentReadOnly.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconState.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconClearFilter.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/TabContainer.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/TabContent.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/TabHeader.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/Schedule.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/SelectWithIcon.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/TableResize.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/TextWithIcon.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/ToggleThemeMenu.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/TreeTable.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Dialogs/Dialogs/SelectID.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/UploadImage.tsx", "../../node_modules/react-cropper/dist/react-cropper.es.js", "../../node_modules/@iobroker/adapter-react-v5/build/Components/SimpleCron/Components/SimpleCron/index.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Loaders/Components/Loaders/Vendor.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Loaders/Components/Loaders/PT.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Loaders/Components/Loaders/MV.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconFx.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconLogout.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Dialogs/Dialogs/ComplexCron.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Dialogs/Dialogs/Cron.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Dialogs/Dialogs/Message.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Dialogs/Dialogs/SelectFile.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Dialogs/Dialogs/SimpleCron.tsx", "../src/lib/actionUtils.ts", "../src/config/entries.ts", "../src/lib/string.ts", "../src/lib/Utils.ts", "../src/lib/movePosition.ts", "../src/lib/newValuesForNewVersion.ts", "../src/lib/socket.ts", "../src/pages/AppContentHeader.tsx", "../../node_modules/@mui/material/utils/capitalize.js", "../../node_modules/@mui/material/utils/createChainedFunction.js", "../../node_modules/@mui/material/utils/createSvgIcon.js", "../../node_modules/@mui/material/SvgIcon/SvgIcon.js", "../../node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.js", "../../node_modules/@mui/material/SvgIcon/svgIconClasses.js", "../../node_modules/@mui/material/utils/debounce.js", "../../node_modules/@mui/material/utils/ownerDocument.js", "../../node_modules/@mui/material/utils/ownerWindow.js", "../../node_modules/@mui/material/utils/useEnhancedEffect.js", "../../node_modules/@mui/material/utils/useControlled.js", "../../node_modules/@mui/material/utils/useEventCallback.js", "../../node_modules/@mui/material/utils/useForkRef.js", "../../node_modules/@mui/material/utils/useIsFocusVisible.js", "../../node_modules/@mui/material/Paper/Paper.js", "../../node_modules/@mui/material/Paper/paperClasses.js", "../../node_modules/@mui/material/ButtonBase/ButtonBase.js", "../../node_modules/@mui/material/ButtonBase/TouchRipple.js", "../../node_modules/@mui/material/ButtonBase/Ripple.js", "../../node_modules/@mui/material/ButtonBase/touchRippleClasses.js", "../../node_modules/@mui/material/ButtonBase/buttonBaseClasses.js", "../../node_modules/@mui/material/FormControl/FormControlContext.js", "../../node_modules/@mui/material/FormControl/useFormControl.js", "../../node_modules/@mui/material/Box/boxClasses.js", "../../node_modules/@mui/material/Box/Box.js", "../../node_modules/@mui/material/internal/SwitchBase.js", "../../node_modules/@mui/material/internal/switchBaseClasses.js", "../../node_modules/@mui/material/Grid/Grid.js", "../../node_modules/@mui/material/Grid/GridContext.js", "../../node_modules/@mui/material/Grid/gridClasses.js", "../../node_modules/@mui/material/Radio/Radio.js", "../../node_modules/@mui/material/Radio/RadioButtonIcon.js", "../../node_modules/@mui/material/internal/svg-icons/RadioButtonUnchecked.js", "../../node_modules/@mui/material/internal/svg-icons/RadioButtonChecked.js", "../../node_modules/@mui/material/RadioGroup/useRadioGroup.js", "../../node_modules/@mui/material/RadioGroup/RadioGroupContext.js", "../../node_modules/@mui/material/Radio/radioClasses.js", "../../node_modules/@mui/material/Tab/Tab.js", "../../node_modules/@mui/material/Tab/tabClasses.js", "../../node_modules/@mui/material/Table/Table.js", "../../node_modules/@mui/material/Table/TableContext.js", "../../node_modules/@mui/material/Table/tableClasses.js", "../../node_modules/@mui/material/TableBody/TableBody.js", "../../node_modules/@mui/material/Table/Tablelvl2Context.js", "../../node_modules/@mui/material/TableBody/tableBodyClasses.js", "../../node_modules/@mui/material/TableCell/TableCell.js", "../../node_modules/@mui/material/TableCell/tableCellClasses.js", "../../node_modules/@mui/material/TableContainer/TableContainer.js", "../../node_modules/@mui/material/TableContainer/tableContainerClasses.js", "../../node_modules/@mui/material/TableHead/TableHead.js", "../../node_modules/@mui/material/TableHead/tableHeadClasses.js", "../../node_modules/@mui/material/internal/svg-icons/KeyboardArrowLeft.js", "../../node_modules/@mui/material/internal/svg-icons/KeyboardArrowRight.js", "../../node_modules/@mui/material/TableRow/TableRow.js", "../../node_modules/@mui/material/TableRow/tableRowClasses.js", "../../node_modules/@mui/material/Tabs/Tabs.js", "../../node_modules/@mui/material/internal/animate.js", "../../node_modules/@mui/material/Tabs/ScrollbarSize.js", "../../node_modules/@mui/material/TabScrollButton/TabScrollButton.js", "../../node_modules/@mui/material/TabScrollButton/tabScrollButtonClasses.js", "../../node_modules/@mui/material/Tabs/tabsClasses.js", "../src/components/btn-Input/btn-expand.tsx", "../src/components/Button.tsx", "../src/pages/AppContentHeaderMenu.tsx", "../src/pages/AppContentHeaderMenuButtons.tsx", "../src/components/btn-Input/input.tsx", "../src/components/RenameModal.tsx", "../src/components/popupCards/PopupContainer.tsx", "../src/components/popupCards/RenameCard.tsx", "../src/pages/AppContentHeaderMenuList.tsx", "../src/pages/AppContentHeaderTelegramUsers.tsx", "../src/components/btn-Input/checkbox.tsx", "../src/pages/AppContentHeaderTelegramUsersUserCard.tsx", "../src/pages/AppContentHeaderTelegramUsersErrorMessage.tsx", "../src/components/CoverSaveBtn.tsx", "../src/pages/AppContentTabAction.tsx", "../../node_modules/@mui/lab/TabContext/TabContext.js", "../../node_modules/@mui/lab/TabList/TabList.js", "../../node_modules/@mui/lab/TabPanel/TabPanel.js", "../../node_modules/@mui/lab/TabPanel/tabPanelClasses.js", "../src/pages/AppContentTabActionContent.tsx", "../src/components/popupCards/HelperCard.tsx", "../src/components/btn-Input/btn-small-add.tsx", "../src/components/btn-Input/btn-small-search.tsx", "../src/components/btn-Input/textarea.tsx", "../src/config/helper.ts", "../src/components/btn-Input/btn-circle-add.tsx", "../src/lib/dragNDrop.ts", "../src/pages/AppContentTabActionContentRowEditorTableHead.tsx", "../src/pages/AppContentTabActionContentRowEditor.tsx", "../src/components/btn-Input/btn-small-remove.tsx", "../src/pages/AppContentTabActionContentRowEditorButtons.tsx", "../src/components/btn-Input/select.tsx", "../src/pages/AppContentTabActionContentRowEditorCopyModal.tsx", "../src/pages/AppContentTabActionContentRowEditorCopyModalSelectedValues.tsx", "../src/pages/AppContentTabActionContentRowEditorHeader.tsx", "../src/pages/AppContentTabActionContentTable.tsx", "../src/components/popupCards/buttonCard.tsx", "../src/components/btn-Input/btn-small-edit.tsx", "../src/components/btn-Input/btn-small-up.tsx", "../src/components/btn-Input/btn-small-down.tsx", "../src/lib/button.ts", "../src/pages/AppContentTabActionContentTableSubTable.tsx", "../src/pages/AppContentTabActionTabsListing.tsx", "../src/pages/AppContentTabNavigation.tsx", "../src/pages/AppContentTabNavigationTableBody.tsx", "../src/pages/AppContentTabNavigationTableHeader.tsx", "../src/pages/AppContentTabNavigationTableRowEditorCard.tsx", "../src/pages/AppContentTabNavigationTableRowEditor.tsx", "../src/pages/AppContentTabNavigationTableHelper.tsx", "../src/pages/AppContentTabSettings.tsx", "../src/pages/AppContentTab.tsx", "../src/pages/AppContentTabsListing.tsx", "../src/pages/AppContent.tsx", "../src/pages/AppDoubleTriggerInfo.tsx", "../src/pages/AppDropBox.tsx", "../src/pages/AppDropBoxContent.tsx", "../src/pages/AppHeaderIconBar.tsx", "../src/pages/AppTriggerOverview.tsx", "../src/pages/AppTriggerOverviewContent.tsx", "../src/lib/color.ts", "../src/pages/AppTriggerOverviewContentSquare.tsx", "../src/components/ErrorBoundary.tsx", "../src/app.tsx", "../src/lib/object.ts", "../i18n/en/translations.json", "../i18n/de/translations.json", "../i18n/ru/translations.json", "../i18n/pt/translations.json", "../i18n/nl/translations.json", "../i18n/fr/translations.json", "../i18n/it/translations.json", "../i18n/es/translations.json", "../i18n/pl/translations.json", "../i18n/uk/translations.json", "../i18n/zh-cn/translations.json"], - "sourcesContent": ["/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n", "/** @license React v17.0.2\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n", "/** @license React v17.0.2\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;ad?0:1<c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0c?98:c,function(){a(!0)});gg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eJi&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;tO()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n", "import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n", "import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace, substr, match} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @param {object[]} children\n * @return {string}\n */\nexport function prefix (value, length, children) {\n\tswitch (hash(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599: case 4855:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t\treturn WEBKIT + value + value\n\t\t// tab-size\n\t\tcase 4789:\n\t\t\treturn MOZ + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn WEBKIT + value + MOZ + value + MS + value + value\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch (charat(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t\t// default: fallthrough to below\n\t\t\t}\n\t\t// flex, flex-direction, scroll-snap-type, writing-mode\n\t\tcase 6828: case 4268: case 2903:\n\t\t\treturn WEBKIT + value + MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn WEBKIT + value + MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/g, '') + (!match(value, /flex-|baseline/) ? MS + 'grid-row-' + replace(value, /flex-|-self/g, '') : '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/g, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value\n\t\t// justify-self\n\t\tcase 4200:\n\t\t\tif (!match(value, /flex-|baseline/)) return MS + 'grid-column-align' + substr(value, length) + value\n\t\t\tbreak\n\t\t// grid-template-(columns|rows)\n\t\tcase 2592: case 3360:\n\t\t\treturn MS + replace(value, 'template-', '') + value\n\t\t// grid-(row|column)-start\n\t\tcase 4384: case 3616:\n\t\t\tif (children && children.some(function (element, index) { return length = index, match(element.props, /grid-\\w+-end/) })) {\n\t\t\t\treturn ~indexof(value + (children = children[length].value), 'span') ? value : (MS + replace(value, '-start', '') + value + MS + 'grid-row-span:' + (~indexof(children, 'span') ? match(children, /\\d+/) : +match(children, /\\d+/) - +match(value, /\\d+/)) + ';')\n\t\t\t}\n\t\t\treturn MS + replace(value, '-start', '') + value\n\t\t// grid-(row|column)-end\n\t\tcase 4896: case 4128:\n\t\t\treturn (children && children.some(function (element) { return match(element.props, /grid-\\w+-start/) })) ? value : MS + replace(replace(value, '-end', '-span'), 'span ', '') + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif (strlen(value) - 1 - length > 6)\n\t\t\t\tswitch (charat(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (charat(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length, children) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// grid-(column|row)\n\t\tcase 5152: case 5920:\n\t\t\treturn replace(value, /(.+?):(\\d+)(\\s*\\/\\s*(span)?\\s*(\\d+))?(.*)/, function (_, a, b, c, d, e, f) { return (MS + a + ':' + b + f) + (c ? (MS + a + '-span:' + (d ? e : +e - +b)) + f : '') + value })\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// stick(y)?\n\t\t\tif (charat(value, length + 6) === 121)\n\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\tbreak\n\t\t// display: (flex|inline-flex|grid|inline-grid)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, charat(value, 14) === 45 ? 18 : 11)) {\n\t\t\t\t// (inline-)?fle(x)\n\t\t\t\tcase 120:\n\t\t\t\t\treturn replace(value, /(.+:)([^;\\s!]+)(;|(\\s+)?!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t\t// (inline-)?gri(d)\n\t\t\t\tcase 100:\n\t\t\t\t\treturn replace(value, ':', ':' + MS) + value\n\t\t\t}\n\t\t\tbreak\n\t\t// scroll-margin, scroll-margin-(top|right|bottom|left)\n\t\tcase 5719: case 2647: case 2135: case 3927: case 2391:\n\t\t\treturn replace(value, 'scroll-', 'scroll-snap-') + value\n\t}\n\n\treturn value\n}\n", "import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n", "import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n", "export * from './src/Enum.js'\nexport * from './src/Utility.js'\nexport * from './src/Parser.js'\nexport * from './src/Prefixer.js'\nexport * from './src/Tokenizer.js'\nexport * from './src/Serializer.js'\nexport * from './src/Middleware.js'\n", "var weakMemoize = function weakMemoize(func) {\n var cache = new WeakMap();\n return function (arg) {\n if (cache.has(arg)) {\n // Use non-null assertion because we just checked that the cache `has` it\n // This allows us to remove `undefined` from the return value\n return cache.get(arg);\n }\n\n var ret = func(arg);\n cache.set(arg, ret);\n return ret;\n };\n};\n\nexport { weakMemoize as default };\n", "function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n", "import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function\n /*: EmotionCache */\ncreateCache(options\n/*: Options */\n) {\n var key = options.key;\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node\n /*: HTMLStyleElement */\n ) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n var inserted = {};\n var container;\n /* : Node */\n\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node\n /*: HTMLStyleElement */\n ) {\n var attrib = node.getAttribute(\"data-emotion\").split(' ');\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n /*: (\n selector: string,\n serialized: SerializedStyles,\n sheet: StyleSheet,\n shouldCache: boolean\n ) => string | void */\n\n\n var omnipresentPlugins = [compat, removeLabel];\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function\n /*: void */\n insert(selector\n /*: string */\n , serialized\n /*: SerializedStyles */\n , sheet\n /*: StyleSheet */\n , shouldCache\n /*: boolean */\n ) {\n currentSheet = sheet;\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache\n /*: EmotionCache */\n = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n", "/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n", "'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n", "import hoistNonReactStatics$1 from 'hoist-non-react-statics';\n\n// this file isolates this package that is not tree-shakeable\n// and if this module doesn't actually contain any logic of its own\n// then Rollup just use 'hoist-non-react-statics' directly in other chunks\n\nvar hoistNonReactStatics = (function (targetComponent, sourceComponent) {\n return hoistNonReactStatics$1(targetComponent, sourceComponent);\n});\n\nexport { hoistNonReactStatics as default };\n", "var isBrowser = true;\n\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else if (className) {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n", "/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n", "var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n scale: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n", "function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n", "import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar isDevelopment = false;\n\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n var componentSelector = interpolation;\n\n if (componentSelector.__emotion_styles !== undefined) {\n\n return componentSelector;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n var keyframes = interpolation;\n\n if (keyframes.anim === 1) {\n cursor = {\n name: keyframes.name,\n styles: keyframes.styles,\n next: cursor\n };\n return keyframes.name;\n }\n\n var serializedStyles = interpolation;\n\n if (serializedStyles.styles !== undefined) {\n var next = serializedStyles.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = serializedStyles.styles + \";\";\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n }\n\n break;\n }\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n var asString = interpolation;\n\n if (registered == null) {\n return asString;\n }\n\n var cached = registered[asString];\n return cached !== undefined ? cached : asString;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var key in obj) {\n var value = obj[key];\n\n if (typeof value !== 'object') {\n var asString = value;\n\n if (registered != null && registered[asString] !== undefined) {\n string += key + \"{\" + registered[asString] + \"}\";\n } else if (isProcessableValue(asString)) {\n string += processStyleName(key) + \":\" + processStyleValue(key, asString) + \";\";\n }\n } else {\n if (key === 'NO_COMPONENT_SELECTOR' && isDevelopment) {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(key) + \":\" + processStyleValue(key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n\n string += key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;{]+)\\s*(;|$)/g; // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\nvar cursor;\nfunction serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n var asTemplateStringsArr = strings;\n\n styles += asTemplateStringsArr[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n var templateStringsArr = strings;\n\n styles += templateStringsArr[i];\n }\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n}\n\nexport { serializeStyles };\n", "import * as React from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n", "import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isDevelopment = false;\n\n/* import { type EmotionCache } from '@emotion/utils' */\nvar EmotionCacheContext\n/*: React.Context */\n= /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache()\n/*: EmotionCache | null*/\n{\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache\n/* > */\n(func\n/*: (props: Props, cache: EmotionCache, ref: Ref) => React.Node */\n)\n/*: React.AbstractComponent */\n{\n return /*#__PURE__*/forwardRef(function (props\n /*: Props */\n , ref\n /*: Ref */\n ) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme\n/*: Object */\n, theme\n/*: Object | (Object => Object) */\n) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n return mergedTheme;\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\n/*\ntype ThemeProviderProps = {\n theme: Object | (Object => Object),\n children: React.Node\n}\n*/\n\nvar ThemeProvider = function ThemeProvider(props\n/*: ThemeProviderProps */\n) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme\n/* */\n(Component\n/*: React.AbstractComponent */\n)\n/*: React.AbstractComponent<$Diff> */\n{\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n };\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar hasOwn = {}.hasOwnProperty;\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type\n/*: React.ElementType */\n, props\n/*: Object */\n) {\n\n var newProps\n /*: any */\n = {};\n\n for (var key in props) {\n if (hasOwn.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // Runtime labeling is an opt-in feature because:\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(\n/* */\nfunction (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwn.call(props, key) && key !== 'css' && key !== typePropName && (!isDevelopment )) {\n newProps[key] = props[key];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwn as h, isDevelopment as i, useTheme as u, withEmotionCache as w };\n", "import { h as hasOwn, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isDevelopment } from './emotion-element-5486c51c.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-5486c51c.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar jsx\n/*: typeof React.createElement */\n= function jsx\n/*: typeof React.createElement */\n(type\n/*: React.ElementType */\n, props\n/*: Object */\n) {\n var args = arguments;\n\n if (props == null || !hasOwn.call(props, 'css')) {\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n }\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global\n/*: React.AbstractComponent<\nGlobalProps\n> */\n= /* #__PURE__ */withEmotionCache(function (props\n/*: GlobalProps */\n, cache) {\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false;\n var node\n /*: HTMLStyleElement | null*/\n = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\n/* import type { Interpolation, SerializedStyles } from '@emotion/utils' */\n\nfunction css()\n/*: SerializedStyles */\n{\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\n/*\ntype Keyframes = {|\n name: string,\n styles: string,\n anim: 1,\n toString: () => string\n|} & string\n*/\n\nvar keyframes = function\n /*: Keyframes */\nkeyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name;\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\n/*\ntype ClassNameArg =\n | string\n | boolean\n | { [key: string]: boolean }\n | Array\n | null\n | void\n*/\n\nvar classnames = function\n /*: string */\nclassnames(args\n/*: Array */\n) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered\n/*: Object */\n, css\n/*: (...args: Array) => string */\n, className\n/*: string */\n) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n/*\ntype Props = {\n children: ({\n css: (...args: any) => string,\n cx: (...args: Array) => string,\n theme: Object\n }) => React.Node\n} */\n\n\nvar ClassNames\n/*: React.AbstractComponent*/\n= /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && isDevelopment) {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && isDevelopment) {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n", "import _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\n/* import type {\n ElementType,\n StatelessFunctionalComponent,\n AbstractComponent\n} from 'react' */\n/*\nexport type Interpolations = Array\n\nexport type StyledElementType =\n | string\n | AbstractComponent<{ ...Props, className: string }, mixed>\n\nexport type StyledOptions = {\n label?: string,\n shouldForwardProp?: string => boolean,\n target?: string\n}\n\nexport type StyledComponent = StatelessFunctionalComponent & {\n defaultProps: any,\n toString: () => string,\n withComponent: (\n nextTag: StyledElementType,\n nextOptions?: StyledOptions\n ) => StyledComponent\n}\n\nexport type PrivateStyledComponent = StyledComponent & {\n __emotion_real: StyledComponent,\n __emotion_base: any,\n __emotion_styles: any,\n __emotion_forwardProp: any\n}\n*/\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key\n/*: string */\n) {\n return key !== 'theme';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag\n/*: ElementType */\n) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\nvar composeShouldForwardProps = function composeShouldForwardProps(tag\n/*: PrivateStyledComponent */\n, options\n/*: StyledOptions | void */\n, isReal\n/*: boolean */\n) {\n var shouldForwardProp;\n\n if (options) {\n var optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName\n /*: string */\n ) {\n return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);\n } : optionsShouldForwardProp;\n }\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n return shouldForwardProp;\n};\n/*\nexport type CreateStyledComponent = (\n ...args: Interpolations\n) => StyledComponent\n\nexport type CreateStyled = {\n (\n tag: StyledElementType,\n options?: StyledOptions\n ): (...args: Interpolations) => StyledComponent,\n [key: string]: CreateStyledComponent,\n bind: () => CreateStyled\n}\n*/\n\nvar isDevelopment = false;\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar createStyled\n/*: CreateStyled */\n= function createStyled\n/*: CreateStyled */\n(tag\n/*: any */\n, options\n/* ?: StyledOptions */\n) {\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n var identifierName;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n\n var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n /* return function(): PrivateStyledComponent { */\n\n return function () {\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n styles.push.apply(styles, args);\n } else {\n\n styles.push(args[0][0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n\n styles.push(args[i], args[0][i]);\n }\n }\n\n var Styled\n /*: PrivateStyledComponent */\n = withEmotionCache(function (props, cache, ref) {\n var FinalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = React.useContext(ThemeContext);\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);\n className += cache.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if (finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof FinalTag === 'string'\n }), /*#__PURE__*/React.createElement(FinalTag, newProps));\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && isDevelopment) {\n return 'NO_COMPONENT_SELECTOR';\n }\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag\n /*: StyledElementType */\n , nextOptions\n /* ?: StyledOptions */\n ) {\n return createStyled(nextTag, _extends({}, options, nextOptions, {\n shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n })).apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport { createStyled as default };\n", "import createStyled from '../base/dist/emotion-styled-base.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport 'react';\nimport '@emotion/is-prop-valid';\nimport '@emotion/react';\nimport '@emotion/utils';\nimport '@emotion/serialize';\nimport '@emotion/use-insertion-effect-with-fallbacks';\n\nvar tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nvar newStyled = createStyled.bind();\ntags.forEach(function (tagName) {\n newStyled[tagName] = newStyled(tagName);\n});\n\nexport { newStyled as default };\n", "/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n", "/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n", "/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n", "/** @license React v17.0.2\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n", "\"use strict\";\n'use client';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = StyledEngineProvider;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _react2 = require(\"@emotion/react\");\nvar _cache = _interopRequireDefault(require(\"@emotion/cache\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\n// prepend: true moves MUI styles to the top of the so they're loaded first.\n// It allows developers to easily override MUI styles with other styling solutions, like CSS modules.\nlet cache;\nif (typeof document === 'object') {\n cache = (0, _cache.default)({\n key: 'css',\n prepend: true\n });\n}\nfunction StyledEngineProvider(props) {\n const {\n injectFirst,\n children\n } = props;\n return injectFirst && cache ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_react2.CacheProvider, {\n value: cache,\n children: children\n }) : children;\n}\nprocess.env.NODE_ENV !== \"production\" ? StyledEngineProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: _propTypes.default.node,\n /**\n * By default, the styles are injected last in the element of the page.\n * As a result, they gain more specificity than any other style sheet.\n * If you want to override MUI's styles, set this prop.\n */\n injectFirst: _propTypes.default.bool\n} : void 0;", "\"use strict\";\n'use client';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _StyledEngineProvider.default;\n }\n});\nvar _StyledEngineProvider = _interopRequireDefault(require(\"./StyledEngineProvider\"));", "\"use strict\";\n'use client';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = GlobalStyles;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _react2 = require(\"@emotion/react\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nfunction isEmpty(obj) {\n return obj === undefined || obj === null || Object.keys(obj).length === 0;\n}\nfunction GlobalStyles(props) {\n const {\n styles,\n defaultTheme = {}\n } = props;\n const globalStyles = typeof styles === 'function' ? themeInput => styles(isEmpty(themeInput) ? defaultTheme : themeInput) : styles;\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react2.Global, {\n styles: globalStyles\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? GlobalStyles.propTypes = {\n defaultTheme: _propTypes.default.object,\n styles: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.string, _propTypes.default.object, _propTypes.default.func])\n} : void 0;", "\"use strict\";\n'use client';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _GlobalStyles.default;\n }\n});\nvar _GlobalStyles = _interopRequireDefault(require(\"./GlobalStyles\"));", "/**\n * @mui/styled-engine v5.16.8\n *\n * @license MIT\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\"use strict\";\n'use client';\n\n/* eslint-disable no-underscore-dangle */\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"GlobalStyles\", {\n enumerable: true,\n get: function () {\n return _GlobalStyles.default;\n }\n});\nObject.defineProperty(exports, \"StyledEngineProvider\", {\n enumerable: true,\n get: function () {\n return _StyledEngineProvider.default;\n }\n});\nObject.defineProperty(exports, \"ThemeContext\", {\n enumerable: true,\n get: function () {\n return _react.ThemeContext;\n }\n});\nObject.defineProperty(exports, \"css\", {\n enumerable: true,\n get: function () {\n return _react.css;\n }\n});\nexports.default = styled;\nexports.internal_processStyles = void 0;\nObject.defineProperty(exports, \"keyframes\", {\n enumerable: true,\n get: function () {\n return _react.keyframes;\n }\n});\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _react = require(\"@emotion/react\");\nvar _StyledEngineProvider = _interopRequireDefault(require(\"./StyledEngineProvider\"));\nvar _GlobalStyles = _interopRequireDefault(require(\"./GlobalStyles\"));\nfunction styled(tag, options) {\n const stylesFactory = (0, _styled.default)(tag, options);\n if (process.env.NODE_ENV !== 'production') {\n return (...styles) => {\n const component = typeof tag === 'string' ? `\"${tag}\"` : 'component';\n if (styles.length === 0) {\n console.error([`MUI: Seems like you called \\`styled(${component})()\\` without a \\`style\\` argument.`, 'You must provide a `styles` argument: `styled(\"div\")(styleYouForgotToPass)`.'].join('\\n'));\n } else if (styles.some(style => style === undefined)) {\n console.error(`MUI: the styled(${component})(...args) API requires all its args to be defined.`);\n }\n return stylesFactory(...styles);\n };\n }\n return stylesFactory;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst internal_processStyles = (tag, processor) => {\n // Emotion attaches all the styles as `__emotion_styles`.\n // Ref: https://github.com/emotion-js/emotion/blob/16d971d0da229596d6bcc39d282ba9753c9ee7cf/packages/styled/src/base.js#L186\n if (Array.isArray(tag.__emotion_styles)) {\n tag.__emotion_styles = processor(tag.__emotion_styles);\n }\n};\nexports.internal_processStyles = internal_processStyles;", "function _extends() {\n return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = deepmerge;\nexports.isPlainObject = isPlainObject;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\n// https://github.com/sindresorhus/is-plain-obj/blob/main/index.js\nfunction isPlainObject(item) {\n if (typeof item !== 'object' || item === null) {\n return false;\n }\n const prototype = Object.getPrototypeOf(item);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in item) && !(Symbol.iterator in item);\n}\nfunction deepClone(source) {\n if ( /*#__PURE__*/React.isValidElement(source) || !isPlainObject(source)) {\n return source;\n }\n const output = {};\n Object.keys(source).forEach(key => {\n output[key] = deepClone(source[key]);\n });\n return output;\n}\nfunction deepmerge(target, source, options = {\n clone: true\n}) {\n const output = options.clone ? (0, _extends2.default)({}, target) : target;\n if (isPlainObject(target) && isPlainObject(source)) {\n Object.keys(source).forEach(key => {\n if ( /*#__PURE__*/React.isValidElement(source[key])) {\n output[key] = source[key];\n } else if (isPlainObject(source[key]) &&\n // Avoid prototype pollution\n Object.prototype.hasOwnProperty.call(target, key) && isPlainObject(target[key])) {\n // Since `output` is a clone of `target` and we have narrowed `target` in this block we can cast to the same type.\n output[key] = deepmerge(target[key], source[key], options);\n } else if (options.clone) {\n output[key] = isPlainObject(source[key]) ? deepClone(source[key]) : source[key];\n } else {\n output[key] = source[key];\n }\n });\n }\n return output;\n}", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _exportNames = {};\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _deepmerge.default;\n }\n});\nvar _deepmerge = _interopRequireWildcard(require(\"./deepmerge\"));\nObject.keys(_deepmerge).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _deepmerge[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _deepmerge[key];\n }\n });\n});\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = capitalize;\nvar _formatMuiErrorMessage2 = _interopRequireDefault(require(\"@mui/utils/formatMuiErrorMessage\"));\n// It should to be noted that this function isn't equivalent to `text-transform: capitalize`.\n//\n// A strict capitalization should uppercase the first letter of each word in the sentence.\n// We only handle the first word.\nfunction capitalize(string) {\n if (typeof string !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: \\`capitalize(string)\\` expects a string argument.` : (0, _formatMuiErrorMessage2.default)(7));\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n}", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _capitalize.default;\n }\n});\nvar _capitalize = _interopRequireDefault(require(\"./capitalize\"));", "/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getDisplayName;\nexports.getFunctionName = getFunctionName;\nvar _reactIs = require(\"react-is\");\n// Simplified polyfill for IE11 support\n// https://github.com/JamesMGreene/Function.name/blob/58b314d4a983110c3682f1228f845d39ccca1817/Function.name.js#L3\nconst fnNameMatchRegex = /^\\s*function(?:\\s|\\s*\\/\\*.*\\*\\/\\s*)+([^(\\s/]*)\\s*/;\nfunction getFunctionName(fn) {\n const match = `${fn}`.match(fnNameMatchRegex);\n const name = match && match[1];\n return name || '';\n}\nfunction getFunctionComponentName(Component, fallback = '') {\n return Component.displayName || Component.name || getFunctionName(Component) || fallback;\n}\nfunction getWrappedName(outerType, innerType, wrapperName) {\n const functionName = getFunctionComponentName(innerType);\n return outerType.displayName || (functionName !== '' ? `${wrapperName}(${functionName})` : wrapperName);\n}\n\n/**\n * cherry-pick from\n * https://github.com/facebook/react/blob/769b1f270e1251d9dbdce0fcbd9e92e502d059b8/packages/shared/getComponentName.js\n * originally forked from recompose/getDisplayName with added IE11 support\n */\nfunction getDisplayName(Component) {\n if (Component == null) {\n return undefined;\n }\n if (typeof Component === 'string') {\n return Component;\n }\n if (typeof Component === 'function') {\n return getFunctionComponentName(Component, 'Component');\n }\n\n // TypeScript can't have components as objects but they exist in the form of `memo` or `Suspense`\n if (typeof Component === 'object') {\n switch (Component.$$typeof) {\n case _reactIs.ForwardRef:\n return getWrappedName(Component, Component.render, 'ForwardRef');\n case _reactIs.Memo:\n return getWrappedName(Component, Component.type, 'memo');\n default:\n return undefined;\n }\n }\n return undefined;\n}", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _exportNames = {};\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _getDisplayName.default;\n }\n});\nvar _getDisplayName = _interopRequireWildcard(require(\"./getDisplayName\"));\nObject.keys(_getDisplayName).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _getDisplayName[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _getDisplayName[key];\n }\n });\n});\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nfunction clamp(val, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {\n return Math.max(min, Math.min(val, max));\n}\nvar _default = exports.default = clamp;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _clamp.default;\n }\n});\nvar _clamp = _interopRequireDefault(require(\"./clamp\"));", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _deepmerge = _interopRequireDefault(require(\"@mui/utils/deepmerge\"));\nfunction merge(acc, item) {\n if (!item) {\n return acc;\n }\n return (0, _deepmerge.default)(acc, item, {\n clone: false // No need to clone deep, it's way faster.\n });\n}\nvar _default = exports.default = merge;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nconst responsivePropType = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string, _propTypes.default.object, _propTypes.default.array]) : {};\nvar _default = exports.default = responsivePropType;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.computeBreakpointsBase = computeBreakpointsBase;\nexports.createEmptyBreakpointObject = createEmptyBreakpointObject;\nexports.default = void 0;\nexports.handleBreakpoints = handleBreakpoints;\nexports.mergeBreakpointsInOrder = mergeBreakpointsInOrder;\nexports.removeUnusedBreakpoints = removeUnusedBreakpoints;\nexports.resolveBreakpointValues = resolveBreakpointValues;\nexports.values = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _deepmerge = _interopRequireDefault(require(\"@mui/utils/deepmerge\"));\nvar _merge = _interopRequireDefault(require(\"./merge\"));\n// The breakpoint **start** at this value.\n// For instance with the first breakpoint xs: [xs, sm[.\nconst values = exports.values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n};\nconst defaultBreakpoints = {\n // Sorted ASC by size. That's important.\n // It can't be configured as it's used statically for propTypes.\n keys: ['xs', 'sm', 'md', 'lg', 'xl'],\n up: key => `@media (min-width:${values[key]}px)`\n};\nfunction handleBreakpoints(props, propValue, styleFromPropValue) {\n const theme = props.theme || {};\n if (Array.isArray(propValue)) {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return propValue.reduce((acc, item, index) => {\n acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]);\n return acc;\n }, {});\n }\n if (typeof propValue === 'object') {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return Object.keys(propValue).reduce((acc, breakpoint) => {\n // key is breakpoint\n if (Object.keys(themeBreakpoints.values || values).indexOf(breakpoint) !== -1) {\n const mediaKey = themeBreakpoints.up(breakpoint);\n acc[mediaKey] = styleFromPropValue(propValue[breakpoint], breakpoint);\n } else {\n const cssKey = breakpoint;\n acc[cssKey] = propValue[cssKey];\n }\n return acc;\n }, {});\n }\n const output = styleFromPropValue(propValue);\n return output;\n}\nfunction breakpoints(styleFunction) {\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const newStyleFunction = props => {\n const theme = props.theme || {};\n const base = styleFunction(props);\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n const extended = themeBreakpoints.keys.reduce((acc, key) => {\n if (props[key]) {\n acc = acc || {};\n acc[themeBreakpoints.up(key)] = styleFunction((0, _extends2.default)({\n theme\n }, props[key]));\n }\n return acc;\n }, null);\n return (0, _merge.default)(base, extended);\n };\n newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? (0, _extends2.default)({}, styleFunction.propTypes, {\n xs: _propTypes.default.object,\n sm: _propTypes.default.object,\n md: _propTypes.default.object,\n lg: _propTypes.default.object,\n xl: _propTypes.default.object\n }) : {};\n newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl', ...styleFunction.filterProps];\n return newStyleFunction;\n}\nfunction createEmptyBreakpointObject(breakpointsInput = {}) {\n var _breakpointsInput$key;\n const breakpointsInOrder = (_breakpointsInput$key = breakpointsInput.keys) == null ? void 0 : _breakpointsInput$key.reduce((acc, key) => {\n const breakpointStyleKey = breakpointsInput.up(key);\n acc[breakpointStyleKey] = {};\n return acc;\n }, {});\n return breakpointsInOrder || {};\n}\nfunction removeUnusedBreakpoints(breakpointKeys, style) {\n return breakpointKeys.reduce((acc, key) => {\n const breakpointOutput = acc[key];\n const isBreakpointUnused = !breakpointOutput || Object.keys(breakpointOutput).length === 0;\n if (isBreakpointUnused) {\n delete acc[key];\n }\n return acc;\n }, style);\n}\nfunction mergeBreakpointsInOrder(breakpointsInput, ...styles) {\n const emptyBreakpoints = createEmptyBreakpointObject(breakpointsInput);\n const mergedOutput = [emptyBreakpoints, ...styles].reduce((prev, next) => (0, _deepmerge.default)(prev, next), {});\n return removeUnusedBreakpoints(Object.keys(emptyBreakpoints), mergedOutput);\n}\n\n// compute base for responsive values; e.g.,\n// [1,2,3] => {xs: true, sm: true, md: true}\n// {xs: 1, sm: 2, md: 3} => {xs: true, sm: true, md: true}\nfunction computeBreakpointsBase(breakpointValues, themeBreakpoints) {\n // fixed value\n if (typeof breakpointValues !== 'object') {\n return {};\n }\n const base = {};\n const breakpointsKeys = Object.keys(themeBreakpoints);\n if (Array.isArray(breakpointValues)) {\n breakpointsKeys.forEach((breakpoint, i) => {\n if (i < breakpointValues.length) {\n base[breakpoint] = true;\n }\n });\n } else {\n breakpointsKeys.forEach(breakpoint => {\n if (breakpointValues[breakpoint] != null) {\n base[breakpoint] = true;\n }\n });\n }\n return base;\n}\nfunction resolveBreakpointValues({\n values: breakpointValues,\n breakpoints: themeBreakpoints,\n base: customBase\n}) {\n const base = customBase || computeBreakpointsBase(breakpointValues, themeBreakpoints);\n const keys = Object.keys(base);\n if (keys.length === 0) {\n return breakpointValues;\n }\n let previous;\n return keys.reduce((acc, breakpoint, i) => {\n if (Array.isArray(breakpointValues)) {\n acc[breakpoint] = breakpointValues[i] != null ? breakpointValues[i] : breakpointValues[previous];\n previous = i;\n } else if (typeof breakpointValues === 'object') {\n acc[breakpoint] = breakpointValues[breakpoint] != null ? breakpointValues[breakpoint] : breakpointValues[previous];\n previous = breakpoint;\n } else {\n acc[breakpoint] = breakpointValues;\n }\n return acc;\n }, {});\n}\nvar _default = exports.default = breakpoints;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nexports.getPath = getPath;\nexports.getStyleValue = getStyleValue;\nvar _capitalize = _interopRequireDefault(require(\"@mui/utils/capitalize\"));\nvar _responsivePropType = _interopRequireDefault(require(\"./responsivePropType\"));\nvar _breakpoints = require(\"./breakpoints\");\nfunction getPath(obj, path, checkVars = true) {\n if (!path || typeof path !== 'string') {\n return null;\n }\n\n // Check if CSS variables are used\n if (obj && obj.vars && checkVars) {\n const val = `vars.${path}`.split('.').reduce((acc, item) => acc && acc[item] ? acc[item] : null, obj);\n if (val != null) {\n return val;\n }\n }\n return path.split('.').reduce((acc, item) => {\n if (acc && acc[item] != null) {\n return acc[item];\n }\n return null;\n }, obj);\n}\nfunction getStyleValue(themeMapping, transform, propValueFinal, userValue = propValueFinal) {\n let value;\n if (typeof themeMapping === 'function') {\n value = themeMapping(propValueFinal);\n } else if (Array.isArray(themeMapping)) {\n value = themeMapping[propValueFinal] || userValue;\n } else {\n value = getPath(themeMapping, propValueFinal) || userValue;\n }\n if (transform) {\n value = transform(value, userValue, themeMapping);\n }\n return value;\n}\nfunction style(options) {\n const {\n prop,\n cssProperty = options.prop,\n themeKey,\n transform\n } = options;\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n if (props[prop] == null) {\n return null;\n }\n const propValue = props[prop];\n const theme = props.theme;\n const themeMapping = getPath(theme, themeKey) || {};\n const styleFromPropValue = propValueFinal => {\n let value = getStyleValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getStyleValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : (0, _capitalize.default)(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return (0, _breakpoints.handleBreakpoints)(props, propValue, styleFromPropValue);\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? {\n [prop]: _responsivePropType.default\n } : {};\n fn.filterProps = [prop];\n return fn;\n}\nvar _default = exports.default = style;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = memoize;\nfunction memoize(fn) {\n const cache = {};\n return arg => {\n if (cache[arg] === undefined) {\n cache[arg] = fn(arg);\n }\n return cache[arg];\n };\n}", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createUnarySpacing = createUnarySpacing;\nexports.createUnaryUnit = createUnaryUnit;\nexports.default = void 0;\nexports.getStyleFromPropValue = getStyleFromPropValue;\nexports.getValue = getValue;\nexports.margin = margin;\nexports.marginKeys = void 0;\nexports.padding = padding;\nexports.paddingKeys = void 0;\nvar _responsivePropType = _interopRequireDefault(require(\"./responsivePropType\"));\nvar _breakpoints = require(\"./breakpoints\");\nvar _style = require(\"./style\");\nvar _merge = _interopRequireDefault(require(\"./merge\"));\nvar _memoize = _interopRequireDefault(require(\"./memoize\"));\nconst properties = {\n m: 'margin',\n p: 'padding'\n};\nconst directions = {\n t: 'Top',\n r: 'Right',\n b: 'Bottom',\n l: 'Left',\n x: ['Left', 'Right'],\n y: ['Top', 'Bottom']\n};\nconst aliases = {\n marginX: 'mx',\n marginY: 'my',\n paddingX: 'px',\n paddingY: 'py'\n};\n\n// memoize() impact:\n// From 300,000 ops/sec\n// To 350,000 ops/sec\nconst getCssProperties = (0, _memoize.default)(prop => {\n // It's not a shorthand notation.\n if (prop.length > 2) {\n if (aliases[prop]) {\n prop = aliases[prop];\n } else {\n return [prop];\n }\n }\n const [a, b] = prop.split('');\n const property = properties[a];\n const direction = directions[b] || '';\n return Array.isArray(direction) ? direction.map(dir => property + dir) : [property + direction];\n});\nconst marginKeys = exports.marginKeys = ['m', 'mt', 'mr', 'mb', 'ml', 'mx', 'my', 'margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'marginX', 'marginY', 'marginInline', 'marginInlineStart', 'marginInlineEnd', 'marginBlock', 'marginBlockStart', 'marginBlockEnd'];\nconst paddingKeys = exports.paddingKeys = ['p', 'pt', 'pr', 'pb', 'pl', 'px', 'py', 'padding', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'paddingX', 'paddingY', 'paddingInline', 'paddingInlineStart', 'paddingInlineEnd', 'paddingBlock', 'paddingBlockStart', 'paddingBlockEnd'];\nconst spacingKeys = [...marginKeys, ...paddingKeys];\nfunction createUnaryUnit(theme, themeKey, defaultValue, propName) {\n var _getPath;\n const themeSpacing = (_getPath = (0, _style.getPath)(theme, themeKey, false)) != null ? _getPath : defaultValue;\n if (typeof themeSpacing === 'number') {\n return abs => {\n if (typeof abs === 'string') {\n return abs;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (typeof abs !== 'number') {\n console.error(`MUI: Expected ${propName} argument to be a number or a string, got ${abs}.`);\n }\n }\n return themeSpacing * abs;\n };\n }\n if (Array.isArray(themeSpacing)) {\n return abs => {\n if (typeof abs === 'string') {\n return abs;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (!Number.isInteger(abs)) {\n console.error([`MUI: The \\`theme.${themeKey}\\` array type cannot be combined with non integer values.` + `You should either use an integer value that can be used as index, or define the \\`theme.${themeKey}\\` as a number.`].join('\\n'));\n } else if (abs > themeSpacing.length - 1) {\n console.error([`MUI: The value provided (${abs}) overflows.`, `The supported values are: ${JSON.stringify(themeSpacing)}.`, `${abs} > ${themeSpacing.length - 1}, you need to add the missing values.`].join('\\n'));\n }\n }\n return themeSpacing[abs];\n };\n }\n if (typeof themeSpacing === 'function') {\n return themeSpacing;\n }\n if (process.env.NODE_ENV !== 'production') {\n console.error([`MUI: The \\`theme.${themeKey}\\` value (${themeSpacing}) is invalid.`, 'It should be a number, an array or a function.'].join('\\n'));\n }\n return () => undefined;\n}\nfunction createUnarySpacing(theme) {\n return createUnaryUnit(theme, 'spacing', 8, 'spacing');\n}\nfunction getValue(transformer, propValue) {\n if (typeof propValue === 'string' || propValue == null) {\n return propValue;\n }\n const abs = Math.abs(propValue);\n const transformed = transformer(abs);\n if (propValue >= 0) {\n return transformed;\n }\n if (typeof transformed === 'number') {\n return -transformed;\n }\n return `-${transformed}`;\n}\nfunction getStyleFromPropValue(cssProperties, transformer) {\n return propValue => cssProperties.reduce((acc, cssProperty) => {\n acc[cssProperty] = getValue(transformer, propValue);\n return acc;\n }, {});\n}\nfunction resolveCssProperty(props, keys, prop, transformer) {\n // Using a hash computation over an array iteration could be faster, but with only 28 items,\n // it's doesn't worth the bundle size.\n if (keys.indexOf(prop) === -1) {\n return null;\n }\n const cssProperties = getCssProperties(prop);\n const styleFromPropValue = getStyleFromPropValue(cssProperties, transformer);\n const propValue = props[prop];\n return (0, _breakpoints.handleBreakpoints)(props, propValue, styleFromPropValue);\n}\nfunction style(props, keys) {\n const transformer = createUnarySpacing(props.theme);\n return Object.keys(props).map(prop => resolveCssProperty(props, keys, prop, transformer)).reduce(_merge.default, {});\n}\nfunction margin(props) {\n return style(props, marginKeys);\n}\nmargin.propTypes = process.env.NODE_ENV !== 'production' ? marginKeys.reduce((obj, key) => {\n obj[key] = _responsivePropType.default;\n return obj;\n}, {}) : {};\nmargin.filterProps = marginKeys;\nfunction padding(props) {\n return style(props, paddingKeys);\n}\npadding.propTypes = process.env.NODE_ENV !== 'production' ? paddingKeys.reduce((obj, key) => {\n obj[key] = _responsivePropType.default;\n return obj;\n}, {}) : {};\npadding.filterProps = paddingKeys;\nfunction spacing(props) {\n return style(props, spacingKeys);\n}\nspacing.propTypes = process.env.NODE_ENV !== 'production' ? spacingKeys.reduce((obj, key) => {\n obj[key] = _responsivePropType.default;\n return obj;\n}, {}) : {};\nspacing.filterProps = spacingKeys;\nvar _default = exports.default = spacing;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _merge = _interopRequireDefault(require(\"./merge\"));\nfunction compose(...styles) {\n const handlers = styles.reduce((acc, style) => {\n style.filterProps.forEach(prop => {\n acc[prop] = style;\n });\n return acc;\n }, {});\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n return Object.keys(props).reduce((acc, prop) => {\n if (handlers[prop]) {\n return (0, _merge.default)(acc, handlers[prop](props));\n }\n return acc;\n }, {});\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? styles.reduce((acc, style) => Object.assign(acc, style.propTypes), {}) : {};\n fn.filterProps = styles.reduce((acc, style) => acc.concat(style.filterProps), []);\n return fn;\n}\nvar _default = exports.default = compose;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.borderTopColor = exports.borderTop = exports.borderRightColor = exports.borderRight = exports.borderRadius = exports.borderLeftColor = exports.borderLeft = exports.borderColor = exports.borderBottomColor = exports.borderBottom = exports.border = void 0;\nexports.borderTransform = borderTransform;\nexports.outlineColor = exports.outline = exports.default = void 0;\nvar _responsivePropType = _interopRequireDefault(require(\"./responsivePropType\"));\nvar _style = _interopRequireDefault(require(\"./style\"));\nvar _compose = _interopRequireDefault(require(\"./compose\"));\nvar _spacing = require(\"./spacing\");\nvar _breakpoints = require(\"./breakpoints\");\nfunction borderTransform(value) {\n if (typeof value !== 'number') {\n return value;\n }\n return `${value}px solid`;\n}\nfunction createBorderStyle(prop, transform) {\n return (0, _style.default)({\n prop,\n themeKey: 'borders',\n transform\n });\n}\nconst border = exports.border = createBorderStyle('border', borderTransform);\nconst borderTop = exports.borderTop = createBorderStyle('borderTop', borderTransform);\nconst borderRight = exports.borderRight = createBorderStyle('borderRight', borderTransform);\nconst borderBottom = exports.borderBottom = createBorderStyle('borderBottom', borderTransform);\nconst borderLeft = exports.borderLeft = createBorderStyle('borderLeft', borderTransform);\nconst borderColor = exports.borderColor = createBorderStyle('borderColor');\nconst borderTopColor = exports.borderTopColor = createBorderStyle('borderTopColor');\nconst borderRightColor = exports.borderRightColor = createBorderStyle('borderRightColor');\nconst borderBottomColor = exports.borderBottomColor = createBorderStyle('borderBottomColor');\nconst borderLeftColor = exports.borderLeftColor = createBorderStyle('borderLeftColor');\nconst outline = exports.outline = createBorderStyle('outline', borderTransform);\nconst outlineColor = exports.outlineColor = createBorderStyle('outlineColor');\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nconst borderRadius = props => {\n if (props.borderRadius !== undefined && props.borderRadius !== null) {\n const transformer = (0, _spacing.createUnaryUnit)(props.theme, 'shape.borderRadius', 4, 'borderRadius');\n const styleFromPropValue = propValue => ({\n borderRadius: (0, _spacing.getValue)(transformer, propValue)\n });\n return (0, _breakpoints.handleBreakpoints)(props, props.borderRadius, styleFromPropValue);\n }\n return null;\n};\nexports.borderRadius = borderRadius;\nborderRadius.propTypes = process.env.NODE_ENV !== 'production' ? {\n borderRadius: _responsivePropType.default\n} : {};\nborderRadius.filterProps = ['borderRadius'];\nconst borders = (0, _compose.default)(border, borderTop, borderRight, borderBottom, borderLeft, borderColor, borderTopColor, borderRightColor, borderBottomColor, borderLeftColor, borderRadius, outline, outlineColor);\nvar _default = exports.default = borders;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.rowGap = exports.gridTemplateRows = exports.gridTemplateColumns = exports.gridTemplateAreas = exports.gridRow = exports.gridColumn = exports.gridAutoRows = exports.gridAutoFlow = exports.gridAutoColumns = exports.gridArea = exports.gap = exports.default = exports.columnGap = void 0;\nvar _style = _interopRequireDefault(require(\"./style\"));\nvar _compose = _interopRequireDefault(require(\"./compose\"));\nvar _spacing = require(\"./spacing\");\nvar _breakpoints = require(\"./breakpoints\");\nvar _responsivePropType = _interopRequireDefault(require(\"./responsivePropType\"));\n// false positive\n// eslint-disable-next-line react/function-component-definition\nconst gap = props => {\n if (props.gap !== undefined && props.gap !== null) {\n const transformer = (0, _spacing.createUnaryUnit)(props.theme, 'spacing', 8, 'gap');\n const styleFromPropValue = propValue => ({\n gap: (0, _spacing.getValue)(transformer, propValue)\n });\n return (0, _breakpoints.handleBreakpoints)(props, props.gap, styleFromPropValue);\n }\n return null;\n};\nexports.gap = gap;\ngap.propTypes = process.env.NODE_ENV !== 'production' ? {\n gap: _responsivePropType.default\n} : {};\ngap.filterProps = ['gap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nconst columnGap = props => {\n if (props.columnGap !== undefined && props.columnGap !== null) {\n const transformer = (0, _spacing.createUnaryUnit)(props.theme, 'spacing', 8, 'columnGap');\n const styleFromPropValue = propValue => ({\n columnGap: (0, _spacing.getValue)(transformer, propValue)\n });\n return (0, _breakpoints.handleBreakpoints)(props, props.columnGap, styleFromPropValue);\n }\n return null;\n};\nexports.columnGap = columnGap;\ncolumnGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n columnGap: _responsivePropType.default\n} : {};\ncolumnGap.filterProps = ['columnGap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nconst rowGap = props => {\n if (props.rowGap !== undefined && props.rowGap !== null) {\n const transformer = (0, _spacing.createUnaryUnit)(props.theme, 'spacing', 8, 'rowGap');\n const styleFromPropValue = propValue => ({\n rowGap: (0, _spacing.getValue)(transformer, propValue)\n });\n return (0, _breakpoints.handleBreakpoints)(props, props.rowGap, styleFromPropValue);\n }\n return null;\n};\nexports.rowGap = rowGap;\nrowGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n rowGap: _responsivePropType.default\n} : {};\nrowGap.filterProps = ['rowGap'];\nconst gridColumn = exports.gridColumn = (0, _style.default)({\n prop: 'gridColumn'\n});\nconst gridRow = exports.gridRow = (0, _style.default)({\n prop: 'gridRow'\n});\nconst gridAutoFlow = exports.gridAutoFlow = (0, _style.default)({\n prop: 'gridAutoFlow'\n});\nconst gridAutoColumns = exports.gridAutoColumns = (0, _style.default)({\n prop: 'gridAutoColumns'\n});\nconst gridAutoRows = exports.gridAutoRows = (0, _style.default)({\n prop: 'gridAutoRows'\n});\nconst gridTemplateColumns = exports.gridTemplateColumns = (0, _style.default)({\n prop: 'gridTemplateColumns'\n});\nconst gridTemplateRows = exports.gridTemplateRows = (0, _style.default)({\n prop: 'gridTemplateRows'\n});\nconst gridTemplateAreas = exports.gridTemplateAreas = (0, _style.default)({\n prop: 'gridTemplateAreas'\n});\nconst gridArea = exports.gridArea = (0, _style.default)({\n prop: 'gridArea'\n});\nconst grid = (0, _compose.default)(gap, columnGap, rowGap, gridColumn, gridRow, gridAutoFlow, gridAutoColumns, gridAutoRows, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridArea);\nvar _default = exports.default = grid;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.color = exports.bgcolor = exports.backgroundColor = void 0;\nexports.paletteTransform = paletteTransform;\nvar _style = _interopRequireDefault(require(\"./style\"));\nvar _compose = _interopRequireDefault(require(\"./compose\"));\nfunction paletteTransform(value, userValue) {\n if (userValue === 'grey') {\n return userValue;\n }\n return value;\n}\nconst color = exports.color = (0, _style.default)({\n prop: 'color',\n themeKey: 'palette',\n transform: paletteTransform\n});\nconst bgcolor = exports.bgcolor = (0, _style.default)({\n prop: 'bgcolor',\n cssProperty: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nconst backgroundColor = exports.backgroundColor = (0, _style.default)({\n prop: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nconst palette = (0, _compose.default)(color, bgcolor, backgroundColor);\nvar _default = exports.default = palette;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sizeWidth = exports.sizeHeight = exports.minWidth = exports.minHeight = exports.maxWidth = exports.maxHeight = exports.height = exports.default = exports.boxSizing = void 0;\nexports.sizingTransform = sizingTransform;\nexports.width = void 0;\nvar _style = _interopRequireDefault(require(\"./style\"));\nvar _compose = _interopRequireDefault(require(\"./compose\"));\nvar _breakpoints = require(\"./breakpoints\");\nfunction sizingTransform(value) {\n return value <= 1 && value !== 0 ? `${value * 100}%` : value;\n}\nconst width = exports.width = (0, _style.default)({\n prop: 'width',\n transform: sizingTransform\n});\nconst maxWidth = props => {\n if (props.maxWidth !== undefined && props.maxWidth !== null) {\n const styleFromPropValue = propValue => {\n var _props$theme, _props$theme2;\n const breakpoint = ((_props$theme = props.theme) == null || (_props$theme = _props$theme.breakpoints) == null || (_props$theme = _props$theme.values) == null ? void 0 : _props$theme[propValue]) || _breakpoints.values[propValue];\n if (!breakpoint) {\n return {\n maxWidth: sizingTransform(propValue)\n };\n }\n if (((_props$theme2 = props.theme) == null || (_props$theme2 = _props$theme2.breakpoints) == null ? void 0 : _props$theme2.unit) !== 'px') {\n return {\n maxWidth: `${breakpoint}${props.theme.breakpoints.unit}`\n };\n }\n return {\n maxWidth: breakpoint\n };\n };\n return (0, _breakpoints.handleBreakpoints)(props, props.maxWidth, styleFromPropValue);\n }\n return null;\n};\nexports.maxWidth = maxWidth;\nmaxWidth.filterProps = ['maxWidth'];\nconst minWidth = exports.minWidth = (0, _style.default)({\n prop: 'minWidth',\n transform: sizingTransform\n});\nconst height = exports.height = (0, _style.default)({\n prop: 'height',\n transform: sizingTransform\n});\nconst maxHeight = exports.maxHeight = (0, _style.default)({\n prop: 'maxHeight',\n transform: sizingTransform\n});\nconst minHeight = exports.minHeight = (0, _style.default)({\n prop: 'minHeight',\n transform: sizingTransform\n});\nconst sizeWidth = exports.sizeWidth = (0, _style.default)({\n prop: 'size',\n cssProperty: 'width',\n transform: sizingTransform\n});\nconst sizeHeight = exports.sizeHeight = (0, _style.default)({\n prop: 'size',\n cssProperty: 'height',\n transform: sizingTransform\n});\nconst boxSizing = exports.boxSizing = (0, _style.default)({\n prop: 'boxSizing'\n});\nconst sizing = (0, _compose.default)(width, maxWidth, minWidth, height, maxHeight, minHeight, boxSizing);\nvar _default = exports.default = sizing;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _spacing = require(\"../spacing\");\nvar _borders = require(\"../borders\");\nvar _cssGrid = require(\"../cssGrid\");\nvar _palette = require(\"../palette\");\nvar _sizing = require(\"../sizing\");\nconst defaultSxConfig = {\n // borders\n border: {\n themeKey: 'borders',\n transform: _borders.borderTransform\n },\n borderTop: {\n themeKey: 'borders',\n transform: _borders.borderTransform\n },\n borderRight: {\n themeKey: 'borders',\n transform: _borders.borderTransform\n },\n borderBottom: {\n themeKey: 'borders',\n transform: _borders.borderTransform\n },\n borderLeft: {\n themeKey: 'borders',\n transform: _borders.borderTransform\n },\n borderColor: {\n themeKey: 'palette'\n },\n borderTopColor: {\n themeKey: 'palette'\n },\n borderRightColor: {\n themeKey: 'palette'\n },\n borderBottomColor: {\n themeKey: 'palette'\n },\n borderLeftColor: {\n themeKey: 'palette'\n },\n outline: {\n themeKey: 'borders',\n transform: _borders.borderTransform\n },\n outlineColor: {\n themeKey: 'palette'\n },\n borderRadius: {\n themeKey: 'shape.borderRadius',\n style: _borders.borderRadius\n },\n // palette\n color: {\n themeKey: 'palette',\n transform: _palette.paletteTransform\n },\n bgcolor: {\n themeKey: 'palette',\n cssProperty: 'backgroundColor',\n transform: _palette.paletteTransform\n },\n backgroundColor: {\n themeKey: 'palette',\n transform: _palette.paletteTransform\n },\n // spacing\n p: {\n style: _spacing.padding\n },\n pt: {\n style: _spacing.padding\n },\n pr: {\n style: _spacing.padding\n },\n pb: {\n style: _spacing.padding\n },\n pl: {\n style: _spacing.padding\n },\n px: {\n style: _spacing.padding\n },\n py: {\n style: _spacing.padding\n },\n padding: {\n style: _spacing.padding\n },\n paddingTop: {\n style: _spacing.padding\n },\n paddingRight: {\n style: _spacing.padding\n },\n paddingBottom: {\n style: _spacing.padding\n },\n paddingLeft: {\n style: _spacing.padding\n },\n paddingX: {\n style: _spacing.padding\n },\n paddingY: {\n style: _spacing.padding\n },\n paddingInline: {\n style: _spacing.padding\n },\n paddingInlineStart: {\n style: _spacing.padding\n },\n paddingInlineEnd: {\n style: _spacing.padding\n },\n paddingBlock: {\n style: _spacing.padding\n },\n paddingBlockStart: {\n style: _spacing.padding\n },\n paddingBlockEnd: {\n style: _spacing.padding\n },\n m: {\n style: _spacing.margin\n },\n mt: {\n style: _spacing.margin\n },\n mr: {\n style: _spacing.margin\n },\n mb: {\n style: _spacing.margin\n },\n ml: {\n style: _spacing.margin\n },\n mx: {\n style: _spacing.margin\n },\n my: {\n style: _spacing.margin\n },\n margin: {\n style: _spacing.margin\n },\n marginTop: {\n style: _spacing.margin\n },\n marginRight: {\n style: _spacing.margin\n },\n marginBottom: {\n style: _spacing.margin\n },\n marginLeft: {\n style: _spacing.margin\n },\n marginX: {\n style: _spacing.margin\n },\n marginY: {\n style: _spacing.margin\n },\n marginInline: {\n style: _spacing.margin\n },\n marginInlineStart: {\n style: _spacing.margin\n },\n marginInlineEnd: {\n style: _spacing.margin\n },\n marginBlock: {\n style: _spacing.margin\n },\n marginBlockStart: {\n style: _spacing.margin\n },\n marginBlockEnd: {\n style: _spacing.margin\n },\n // display\n displayPrint: {\n cssProperty: false,\n transform: value => ({\n '@media print': {\n display: value\n }\n })\n },\n display: {},\n overflow: {},\n textOverflow: {},\n visibility: {},\n whiteSpace: {},\n // flexbox\n flexBasis: {},\n flexDirection: {},\n flexWrap: {},\n justifyContent: {},\n alignItems: {},\n alignContent: {},\n order: {},\n flex: {},\n flexGrow: {},\n flexShrink: {},\n alignSelf: {},\n justifyItems: {},\n justifySelf: {},\n // grid\n gap: {\n style: _cssGrid.gap\n },\n rowGap: {\n style: _cssGrid.rowGap\n },\n columnGap: {\n style: _cssGrid.columnGap\n },\n gridColumn: {},\n gridRow: {},\n gridAutoFlow: {},\n gridAutoColumns: {},\n gridAutoRows: {},\n gridTemplateColumns: {},\n gridTemplateRows: {},\n gridTemplateAreas: {},\n gridArea: {},\n // positions\n position: {},\n zIndex: {\n themeKey: 'zIndex'\n },\n top: {},\n right: {},\n bottom: {},\n left: {},\n // shadows\n boxShadow: {\n themeKey: 'shadows'\n },\n // sizing\n width: {\n transform: _sizing.sizingTransform\n },\n maxWidth: {\n style: _sizing.maxWidth\n },\n minWidth: {\n transform: _sizing.sizingTransform\n },\n height: {\n transform: _sizing.sizingTransform\n },\n maxHeight: {\n transform: _sizing.sizingTransform\n },\n minHeight: {\n transform: _sizing.sizingTransform\n },\n boxSizing: {},\n // typography\n fontFamily: {\n themeKey: 'typography'\n },\n fontSize: {\n themeKey: 'typography'\n },\n fontStyle: {\n themeKey: 'typography'\n },\n fontWeight: {\n themeKey: 'typography'\n },\n letterSpacing: {},\n textTransform: {},\n lineHeight: {},\n textAlign: {},\n typography: {\n cssProperty: false,\n themeKey: 'typography'\n }\n};\nvar _default = exports.default = defaultSxConfig;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nexports.unstable_createStyleFunctionSx = unstable_createStyleFunctionSx;\nvar _capitalize = _interopRequireDefault(require(\"@mui/utils/capitalize\"));\nvar _merge = _interopRequireDefault(require(\"../merge\"));\nvar _style = require(\"../style\");\nvar _breakpoints = require(\"../breakpoints\");\nvar _defaultSxConfig = _interopRequireDefault(require(\"./defaultSxConfig\"));\nfunction objectsHaveSameKeys(...objects) {\n const allKeys = objects.reduce((keys, object) => keys.concat(Object.keys(object)), []);\n const union = new Set(allKeys);\n return objects.every(object => union.size === Object.keys(object).length);\n}\nfunction callIfFn(maybeFn, arg) {\n return typeof maybeFn === 'function' ? maybeFn(arg) : maybeFn;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nfunction unstable_createStyleFunctionSx() {\n function getThemeValue(prop, val, theme, config) {\n const props = {\n [prop]: val,\n theme\n };\n const options = config[prop];\n if (!options) {\n return {\n [prop]: val\n };\n }\n const {\n cssProperty = prop,\n themeKey,\n transform,\n style\n } = options;\n if (val == null) {\n return null;\n }\n\n // TODO v6: remove, see https://github.com/mui/material-ui/pull/38123\n if (themeKey === 'typography' && val === 'inherit') {\n return {\n [prop]: val\n };\n }\n const themeMapping = (0, _style.getPath)(theme, themeKey) || {};\n if (style) {\n return style(props);\n }\n const styleFromPropValue = propValueFinal => {\n let value = (0, _style.getStyleValue)(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = (0, _style.getStyleValue)(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : (0, _capitalize.default)(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return (0, _breakpoints.handleBreakpoints)(props, val, styleFromPropValue);\n }\n function styleFunctionSx(props) {\n var _theme$unstable_sxCon;\n const {\n sx,\n theme = {}\n } = props || {};\n if (!sx) {\n return null; // Emotion & styled-components will neglect null\n }\n const config = (_theme$unstable_sxCon = theme.unstable_sxConfig) != null ? _theme$unstable_sxCon : _defaultSxConfig.default;\n\n /*\n * Receive `sxInput` as object or callback\n * and then recursively check keys & values to create media query object styles.\n * (the result will be used in `styled`)\n */\n function traverse(sxInput) {\n let sxObject = sxInput;\n if (typeof sxInput === 'function') {\n sxObject = sxInput(theme);\n } else if (typeof sxInput !== 'object') {\n // value\n return sxInput;\n }\n if (!sxObject) {\n return null;\n }\n const emptyBreakpoints = (0, _breakpoints.createEmptyBreakpointObject)(theme.breakpoints);\n const breakpointsKeys = Object.keys(emptyBreakpoints);\n let css = emptyBreakpoints;\n Object.keys(sxObject).forEach(styleKey => {\n const value = callIfFn(sxObject[styleKey], theme);\n if (value !== null && value !== undefined) {\n if (typeof value === 'object') {\n if (config[styleKey]) {\n css = (0, _merge.default)(css, getThemeValue(styleKey, value, theme, config));\n } else {\n const breakpointsValues = (0, _breakpoints.handleBreakpoints)({\n theme\n }, value, x => ({\n [styleKey]: x\n }));\n if (objectsHaveSameKeys(breakpointsValues, value)) {\n css[styleKey] = styleFunctionSx({\n sx: value,\n theme\n });\n } else {\n css = (0, _merge.default)(css, breakpointsValues);\n }\n }\n } else {\n css = (0, _merge.default)(css, getThemeValue(styleKey, value, theme, config));\n }\n }\n });\n return (0, _breakpoints.removeUnusedBreakpoints)(breakpointsKeys, css);\n }\n return Array.isArray(sx) ? sx.map(traverse) : traverse(sx);\n }\n return styleFunctionSx;\n}\nconst styleFunctionSx = unstable_createStyleFunctionSx();\nstyleFunctionSx.filterProps = ['sx'];\nvar _default = exports.default = styleFunctionSx;", "function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = extendSxProp;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _deepmerge = require(\"@mui/utils/deepmerge\");\nvar _defaultSxConfig = _interopRequireDefault(require(\"./defaultSxConfig\"));\nconst _excluded = [\"sx\"];\nconst splitProps = props => {\n var _props$theme$unstable, _props$theme;\n const result = {\n systemProps: {},\n otherProps: {}\n };\n const config = (_props$theme$unstable = props == null || (_props$theme = props.theme) == null ? void 0 : _props$theme.unstable_sxConfig) != null ? _props$theme$unstable : _defaultSxConfig.default;\n Object.keys(props).forEach(prop => {\n if (config[prop]) {\n result.systemProps[prop] = props[prop];\n } else {\n result.otherProps[prop] = props[prop];\n }\n });\n return result;\n};\nfunction extendSxProp(props) {\n const {\n sx: inSx\n } = props,\n other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n const {\n systemProps,\n otherProps\n } = splitProps(other);\n let finalSx;\n if (Array.isArray(inSx)) {\n finalSx = [systemProps, ...inSx];\n } else if (typeof inSx === 'function') {\n finalSx = (...args) => {\n const result = inSx(...args);\n if (!(0, _deepmerge.isPlainObject)(result)) {\n return systemProps;\n }\n return (0, _extends2.default)({}, systemProps, result);\n };\n } else {\n finalSx = (0, _extends2.default)({}, systemProps, inSx);\n }\n return (0, _extends2.default)({}, otherProps, {\n sx: finalSx\n });\n}", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _styleFunctionSx.default;\n }\n});\nObject.defineProperty(exports, \"extendSxProp\", {\n enumerable: true,\n get: function () {\n return _extendSxProp.default;\n }\n});\nObject.defineProperty(exports, \"unstable_createStyleFunctionSx\", {\n enumerable: true,\n get: function () {\n return _styleFunctionSx.unstable_createStyleFunctionSx;\n }\n});\nObject.defineProperty(exports, \"unstable_defaultSxConfig\", {\n enumerable: true,\n get: function () {\n return _defaultSxConfig.default;\n }\n});\nvar _styleFunctionSx = _interopRequireWildcard(require(\"./styleFunctionSx\"));\nvar _extendSxProp = _interopRequireDefault(require(\"./extendSxProp\"));\nvar _defaultSxConfig = _interopRequireDefault(require(\"./defaultSxConfig\"));\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.breakpointKeys = void 0;\nexports.default = createBreakpoints;\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nconst _excluded = [\"values\", \"unit\", \"step\"];\n// Sorted ASC by size. That's important.\n// It can't be configured as it's used statically for propTypes.\nconst breakpointKeys = exports.breakpointKeys = ['xs', 'sm', 'md', 'lg', 'xl'];\nconst sortBreakpointsValues = values => {\n const breakpointsAsArray = Object.keys(values).map(key => ({\n key,\n val: values[key]\n })) || [];\n // Sort in ascending order\n breakpointsAsArray.sort((breakpoint1, breakpoint2) => breakpoint1.val - breakpoint2.val);\n return breakpointsAsArray.reduce((acc, obj) => {\n return (0, _extends2.default)({}, acc, {\n [obj.key]: obj.val\n });\n }, {});\n};\n\n// Keep in mind that @media is inclusive by the CSS specification.\nfunction createBreakpoints(breakpoints) {\n const {\n // The breakpoint **start** at this value.\n // For instance with the first breakpoint xs: [xs, sm).\n values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n },\n unit = 'px',\n step = 5\n } = breakpoints,\n other = (0, _objectWithoutPropertiesLoose2.default)(breakpoints, _excluded);\n const sortedValues = sortBreakpointsValues(values);\n const keys = Object.keys(sortedValues);\n function up(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (min-width:${value}${unit})`;\n }\n function down(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (max-width:${value - step / 100}${unit})`;\n }\n function between(start, end) {\n const endIndex = keys.indexOf(end);\n return `@media (min-width:${typeof values[start] === 'number' ? values[start] : start}${unit}) and ` + `(max-width:${(endIndex !== -1 && typeof values[keys[endIndex]] === 'number' ? values[keys[endIndex]] : end) - step / 100}${unit})`;\n }\n function only(key) {\n if (keys.indexOf(key) + 1 < keys.length) {\n return between(key, keys[keys.indexOf(key) + 1]);\n }\n return up(key);\n }\n function not(key) {\n // handle first and last key separately, for better readability\n const keyIndex = keys.indexOf(key);\n if (keyIndex === 0) {\n return up(keys[1]);\n }\n if (keyIndex === keys.length - 1) {\n return down(keys[keyIndex]);\n }\n return between(key, keys[keys.indexOf(key) + 1]).replace('@media', '@media not all and');\n }\n return (0, _extends2.default)({\n keys,\n values: sortedValues,\n up,\n down,\n between,\n only,\n not,\n unit\n }, other);\n}", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nconst shape = {\n borderRadius: 4\n};\nvar _default = exports.default = shape;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createSpacing;\nvar _spacing = require(\"../spacing\");\n// The different signatures imply different meaning for their arguments that can't be expressed structurally.\n// We express the difference with variable names.\n\nfunction createSpacing(spacingInput = 8) {\n // Already transformed.\n if (spacingInput.mui) {\n return spacingInput;\n }\n\n // Material Design layouts are visually balanced. Most measurements align to an 8dp grid, which aligns both spacing and the overall layout.\n // Smaller components, such as icons, can align to a 4dp grid.\n // https://m2.material.io/design/layout/understanding-layout.html\n const transform = (0, _spacing.createUnarySpacing)({\n spacing: spacingInput\n });\n const spacing = (...argsInput) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!(argsInput.length <= 4)) {\n console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${argsInput.length}`);\n }\n }\n const args = argsInput.length === 0 ? [1] : argsInput;\n return args.map(argument => {\n const output = transform(argument);\n return typeof output === 'number' ? `${output}px` : output;\n }).join(' ');\n };\n spacing.mui = true;\n return spacing;\n}", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = applyStyles;\n/**\n * A universal utility to style components with multiple color modes. Always use it from the theme object.\n * It works with:\n * - [Basic theme](https://mui.com/material-ui/customization/dark-mode/)\n * - [CSS theme variables](https://mui.com/material-ui/experimental-api/css-theme-variables/overview/)\n * - Zero-runtime engine\n *\n * Tips: Use an array over object spread and place `theme.applyStyles()` last.\n *\n * \u2705 [{ background: '#e5e5e5' }, theme.applyStyles('dark', { background: '#1c1c1c' })]\n *\n * \uD83D\uDEAB { background: '#e5e5e5', ...theme.applyStyles('dark', { background: '#1c1c1c' })}\n *\n * @example\n * 1. using with `styled`:\n * ```jsx\n * const Component = styled('div')(({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]);\n * ```\n *\n * @example\n * 2. using with `sx` prop:\n * ```jsx\n * [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]}\n * />\n * ```\n *\n * @example\n * 3. theming a component:\n * ```jsx\n * extendTheme({\n * components: {\n * MuiButton: {\n * styleOverrides: {\n * root: ({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ],\n * },\n * }\n * }\n * })\n *```\n */\nfunction applyStyles(key, styles) {\n // @ts-expect-error this is 'any' type\n const theme = this;\n if (theme.vars && typeof theme.getColorSchemeSelector === 'function') {\n // If CssVarsProvider is used as a provider,\n // returns '* :where([data-mui-color-scheme=\"light|dark\"]) &'\n const selector = theme.getColorSchemeSelector(key).replace(/(\\[[^\\]]+\\])/, '*:where($1)');\n return {\n [selector]: styles\n };\n }\n if (theme.palette.mode === key) {\n return styles;\n }\n return {};\n}", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _deepmerge = _interopRequireDefault(require(\"@mui/utils/deepmerge\"));\nvar _createBreakpoints = _interopRequireDefault(require(\"./createBreakpoints\"));\nvar _shape = _interopRequireDefault(require(\"./shape\"));\nvar _createSpacing = _interopRequireDefault(require(\"./createSpacing\"));\nvar _styleFunctionSx = _interopRequireDefault(require(\"../styleFunctionSx/styleFunctionSx\"));\nvar _defaultSxConfig = _interopRequireDefault(require(\"../styleFunctionSx/defaultSxConfig\"));\nvar _applyStyles = _interopRequireDefault(require(\"./applyStyles\"));\nconst _excluded = [\"breakpoints\", \"palette\", \"spacing\", \"shape\"];\nfunction createTheme(options = {}, ...args) {\n const {\n breakpoints: breakpointsInput = {},\n palette: paletteInput = {},\n spacing: spacingInput,\n shape: shapeInput = {}\n } = options,\n other = (0, _objectWithoutPropertiesLoose2.default)(options, _excluded);\n const breakpoints = (0, _createBreakpoints.default)(breakpointsInput);\n const spacing = (0, _createSpacing.default)(spacingInput);\n let muiTheme = (0, _deepmerge.default)({\n breakpoints,\n direction: 'ltr',\n components: {},\n // Inject component definitions.\n palette: (0, _extends2.default)({\n mode: 'light'\n }, paletteInput),\n spacing,\n shape: (0, _extends2.default)({}, _shape.default, shapeInput)\n }, other);\n muiTheme.applyStyles = _applyStyles.default;\n muiTheme = args.reduce((acc, argument) => (0, _deepmerge.default)(acc, argument), muiTheme);\n muiTheme.unstable_sxConfig = (0, _extends2.default)({}, _defaultSxConfig.default, other == null ? void 0 : other.unstable_sxConfig);\n muiTheme.unstable_sx = function sx(props) {\n return (0, _styleFunctionSx.default)({\n sx: props,\n theme: this\n });\n };\n return muiTheme;\n}\nvar _default = exports.default = createTheme;", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _createTheme.default;\n }\n});\nObject.defineProperty(exports, \"private_createBreakpoints\", {\n enumerable: true,\n get: function () {\n return _createBreakpoints.default;\n }\n});\nObject.defineProperty(exports, \"unstable_applyStyles\", {\n enumerable: true,\n get: function () {\n return _applyStyles.default;\n }\n});\nvar _createTheme = _interopRequireDefault(require(\"./createTheme\"));\nvar _createBreakpoints = _interopRequireDefault(require(\"./createBreakpoints\"));\nvar _applyStyles = _interopRequireDefault(require(\"./applyStyles\"));", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.alpha = alpha;\nexports.blend = blend;\nexports.colorChannel = void 0;\nexports.darken = darken;\nexports.decomposeColor = decomposeColor;\nexports.emphasize = emphasize;\nexports.getContrastRatio = getContrastRatio;\nexports.getLuminance = getLuminance;\nexports.hexToRgb = hexToRgb;\nexports.hslToRgb = hslToRgb;\nexports.lighten = lighten;\nexports.private_safeAlpha = private_safeAlpha;\nexports.private_safeColorChannel = void 0;\nexports.private_safeDarken = private_safeDarken;\nexports.private_safeEmphasize = private_safeEmphasize;\nexports.private_safeLighten = private_safeLighten;\nexports.recomposeColor = recomposeColor;\nexports.rgbToHex = rgbToHex;\nvar _formatMuiErrorMessage2 = _interopRequireDefault(require(\"@mui/utils/formatMuiErrorMessage\"));\nvar _clamp = _interopRequireDefault(require(\"@mui/utils/clamp\"));\n/* eslint-disable @typescript-eslint/naming-convention */\n\n/**\n * Returns a number whose value is limited to the given range.\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clampWrapper(value, min = 0, max = 1) {\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);\n }\n }\n return (0, _clamp.default)(value, min, max);\n}\n\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\nfunction hexToRgb(color) {\n color = color.slice(1);\n const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, 'g');\n let colors = color.match(re);\n if (colors && colors[0].length === 1) {\n colors = colors.map(n => n + n);\n }\n return colors ? `rgb${colors.length === 4 ? 'a' : ''}(${colors.map((n, index) => {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', ')})` : '';\n}\nfunction intToHex(int) {\n const hex = int.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n}\n\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\nfunction decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n const marker = color.indexOf('(');\n const type = color.substring(0, marker);\n if (['rgb', 'rgba', 'hsl', 'hsla', 'color'].indexOf(type) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Unsupported \\`${color}\\` color.\nThe following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` : (0, _formatMuiErrorMessage2.default)(9, color));\n }\n let values = color.substring(marker + 1, color.length - 1);\n let colorSpace;\n if (type === 'color') {\n values = values.split(' ');\n colorSpace = values.shift();\n if (values.length === 4 && values[3].charAt(0) === '/') {\n values[3] = values[3].slice(1);\n }\n if (['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].indexOf(colorSpace) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: unsupported \\`${colorSpace}\\` color space.\nThe following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.` : (0, _formatMuiErrorMessage2.default)(10, colorSpace));\n }\n } else {\n values = values.split(',');\n }\n values = values.map(value => parseFloat(value));\n return {\n type,\n values,\n colorSpace\n };\n}\n\n/**\n * Returns a channel created from the input color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {string} - The channel for the color, that can be used in rgba or hsla colors\n */\nconst colorChannel = color => {\n const decomposedColor = decomposeColor(color);\n return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.indexOf('hsl') !== -1 && idx !== 0 ? `${val}%` : val).join(' ');\n};\nexports.colorChannel = colorChannel;\nconst private_safeColorChannel = (color, warning) => {\n try {\n return colorChannel(color);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n};\n\n/**\n * Converts a color object with type and values to a string.\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\nexports.private_safeColorChannel = private_safeColorChannel;\nfunction recomposeColor(color) {\n const {\n type,\n colorSpace\n } = color;\n let {\n values\n } = color;\n if (type.indexOf('rgb') !== -1) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n);\n } else if (type.indexOf('hsl') !== -1) {\n values[1] = `${values[1]}%`;\n values[2] = `${values[2]}%`;\n }\n if (type.indexOf('color') !== -1) {\n values = `${colorSpace} ${values.join(' ')}`;\n } else {\n values = `${values.join(', ')}`;\n }\n return `${type}(${values})`;\n}\n\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\nfunction rgbToHex(color) {\n // Idempotent\n if (color.indexOf('#') === 0) {\n return color;\n }\n const {\n values\n } = decomposeColor(color);\n return `#${values.map((n, i) => intToHex(i === 3 ? Math.round(255 * n) : n)).join('')}`;\n}\n\n/**\n * Converts a color from hsl format to rgb format.\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\nfunction hslToRgb(color) {\n color = decomposeColor(color);\n const {\n values\n } = color;\n const h = values[0];\n const s = values[1] / 100;\n const l = values[2] / 100;\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n let type = 'rgb';\n const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n return recomposeColor({\n type,\n values: rgb\n });\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\nfunction getLuminance(color) {\n color = decomposeColor(color);\n let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(val => {\n if (color.type !== 'color') {\n val /= 255; // normalized\n }\n return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4;\n });\n\n // Truncate at 3 digits\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\nfunction getContrastRatio(foreground, background) {\n const lumA = getLuminance(foreground);\n const lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n\n/**\n * Sets the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} value - value to set the alpha channel to in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction alpha(color, value) {\n color = decomposeColor(color);\n value = clampWrapper(value);\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n if (color.type === 'color') {\n color.values[3] = `/${value}`;\n } else {\n color.values[3] = value;\n }\n return recomposeColor(color);\n}\nfunction private_safeAlpha(color, value, warning) {\n try {\n return alpha(color, value);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darkens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.indexOf('rgb') !== -1 || color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n return recomposeColor(color);\n}\nfunction private_safeDarken(color, coefficient, warning) {\n try {\n return darken(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Lightens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n } else if (color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (1 - color.values[i]) * coefficient;\n }\n }\n return recomposeColor(color);\n}\nfunction private_safeLighten(color, coefficient, warning) {\n try {\n return lighten(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction emphasize(color, coefficient = 0.15) {\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nfunction private_safeEmphasize(color, coefficient, warning) {\n try {\n return emphasize(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Blend a transparent overlay color with a background color, resulting in a single\n * RGB color.\n * @param {string} background - CSS color\n * @param {string} overlay - CSS color\n * @param {number} opacity - Opacity multiplier in the range 0 - 1\n * @param {number} [gamma=1.0] - Gamma correction factor. For gamma-correct blending, 2.2 is usual.\n */\nfunction blend(background, overlay, opacity, gamma = 1.0) {\n const blendChannel = (b, o) => Math.round((b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma);\n const backgroundColor = decomposeColor(background);\n const overlayColor = decomposeColor(overlay);\n const rgb = [blendChannel(backgroundColor.values[0], overlayColor.values[0]), blendChannel(backgroundColor.values[1], overlayColor.values[1]), blendChannel(backgroundColor.values[2], overlayColor.values[2])];\n return recomposeColor({\n type: 'rgb',\n values: rgb\n });\n}", "\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createStyled;\nexports.shouldForwardProp = shouldForwardProp;\nexports.systemDefaultTheme = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _styledEngine = _interopRequireWildcard(require(\"@mui/styled-engine\"));\nvar _deepmerge = require(\"@mui/utils/deepmerge\");\nvar _capitalize = _interopRequireDefault(require(\"@mui/utils/capitalize\"));\nvar _getDisplayName = _interopRequireDefault(require(\"@mui/utils/getDisplayName\"));\nvar _createTheme = _interopRequireDefault(require(\"./createTheme\"));\nvar _styleFunctionSx = _interopRequireDefault(require(\"./styleFunctionSx\"));\nconst _excluded = [\"ownerState\"],\n _excluded2 = [\"variants\"],\n _excluded3 = [\"name\", \"slot\", \"skipVariantsResolver\", \"skipSx\", \"overridesResolver\"];\n/* eslint-disable no-underscore-dangle */\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nfunction isEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\n\n// https://github.com/emotion-js/emotion/blob/26ded6109fcd8ca9875cc2ce4564fee678a3f3c5/packages/styled/src/utils.js#L40\nfunction isStringTag(tag) {\n return typeof tag === 'string' &&\n // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96;\n}\n\n// Update /system/styled/#api in case if this changes\nfunction shouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nconst systemDefaultTheme = exports.systemDefaultTheme = (0, _createTheme.default)();\nconst lowercaseFirstLetter = string => {\n if (!string) {\n return string;\n }\n return string.charAt(0).toLowerCase() + string.slice(1);\n};\nfunction resolveTheme({\n defaultTheme,\n theme,\n themeId\n}) {\n return isEmpty(theme) ? defaultTheme : theme[themeId] || theme;\n}\nfunction defaultOverridesResolver(slot) {\n if (!slot) {\n return null;\n }\n return (props, styles) => styles[slot];\n}\nfunction processStyleArg(callableStyle, _ref) {\n let {\n ownerState\n } = _ref,\n props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);\n const resolvedStylesArg = typeof callableStyle === 'function' ? callableStyle((0, _extends2.default)({\n ownerState\n }, props)) : callableStyle;\n if (Array.isArray(resolvedStylesArg)) {\n return resolvedStylesArg.flatMap(resolvedStyle => processStyleArg(resolvedStyle, (0, _extends2.default)({\n ownerState\n }, props)));\n }\n if (!!resolvedStylesArg && typeof resolvedStylesArg === 'object' && Array.isArray(resolvedStylesArg.variants)) {\n const {\n variants = []\n } = resolvedStylesArg,\n otherStyles = (0, _objectWithoutPropertiesLoose2.default)(resolvedStylesArg, _excluded2);\n let result = otherStyles;\n variants.forEach(variant => {\n let isMatch = true;\n if (typeof variant.props === 'function') {\n isMatch = variant.props((0, _extends2.default)({\n ownerState\n }, props, ownerState));\n } else {\n Object.keys(variant.props).forEach(key => {\n if ((ownerState == null ? void 0 : ownerState[key]) !== variant.props[key] && props[key] !== variant.props[key]) {\n isMatch = false;\n }\n });\n }\n if (isMatch) {\n if (!Array.isArray(result)) {\n result = [result];\n }\n result.push(typeof variant.style === 'function' ? variant.style((0, _extends2.default)({\n ownerState\n }, props, ownerState)) : variant.style);\n }\n });\n return result;\n }\n return resolvedStylesArg;\n}\nfunction createStyled(input = {}) {\n const {\n themeId,\n defaultTheme = systemDefaultTheme,\n rootShouldForwardProp = shouldForwardProp,\n slotShouldForwardProp = shouldForwardProp\n } = input;\n const systemSx = props => {\n return (0, _styleFunctionSx.default)((0, _extends2.default)({}, props, {\n theme: resolveTheme((0, _extends2.default)({}, props, {\n defaultTheme,\n themeId\n }))\n }));\n };\n systemSx.__mui_systemSx = true;\n return (tag, inputOptions = {}) => {\n // Filter out the `sx` style function from the previous styled component to prevent unnecessary styles generated by the composite components.\n (0, _styledEngine.internal_processStyles)(tag, styles => styles.filter(style => !(style != null && style.__mui_systemSx)));\n const {\n name: componentName,\n slot: componentSlot,\n skipVariantsResolver: inputSkipVariantsResolver,\n skipSx: inputSkipSx,\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n overridesResolver = defaultOverridesResolver(lowercaseFirstLetter(componentSlot))\n } = inputOptions,\n options = (0, _objectWithoutPropertiesLoose2.default)(inputOptions, _excluded3);\n\n // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.\n const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver :\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n componentSlot && componentSlot !== 'Root' && componentSlot !== 'root' || false;\n const skipSx = inputSkipSx || false;\n let label;\n if (process.env.NODE_ENV !== 'production') {\n if (componentName) {\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n label = `${componentName}-${lowercaseFirstLetter(componentSlot || 'Root')}`;\n }\n }\n let shouldForwardPropOption = shouldForwardProp;\n\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n if (componentSlot === 'Root' || componentSlot === 'root') {\n shouldForwardPropOption = rootShouldForwardProp;\n } else if (componentSlot) {\n // any other slot specified\n shouldForwardPropOption = slotShouldForwardProp;\n } else if (isStringTag(tag)) {\n // for string (html) tag, preserve the behavior in emotion & styled-components.\n shouldForwardPropOption = undefined;\n }\n const defaultStyledResolver = (0, _styledEngine.default)(tag, (0, _extends2.default)({\n shouldForwardProp: shouldForwardPropOption,\n label\n }, options));\n const transformStyleArg = stylesArg => {\n // On the server Emotion doesn't use React.forwardRef for creating components, so the created\n // component stays as a function. This condition makes sure that we do not interpolate functions\n // which are basically components used as a selectors.\n if (typeof stylesArg === 'function' && stylesArg.__emotion_real !== stylesArg || (0, _deepmerge.isPlainObject)(stylesArg)) {\n return props => processStyleArg(stylesArg, (0, _extends2.default)({}, props, {\n theme: resolveTheme({\n theme: props.theme,\n defaultTheme,\n themeId\n })\n }));\n }\n return stylesArg;\n };\n const muiStyledResolver = (styleArg, ...expressions) => {\n let transformedStyleArg = transformStyleArg(styleArg);\n const expressionsWithDefaultTheme = expressions ? expressions.map(transformStyleArg) : [];\n if (componentName && overridesResolver) {\n expressionsWithDefaultTheme.push(props => {\n const theme = resolveTheme((0, _extends2.default)({}, props, {\n defaultTheme,\n themeId\n }));\n if (!theme.components || !theme.components[componentName] || !theme.components[componentName].styleOverrides) {\n return null;\n }\n const styleOverrides = theme.components[componentName].styleOverrides;\n const resolvedStyleOverrides = {};\n // TODO: v7 remove iteration and use `resolveStyleArg(styleOverrides[slot])` directly\n Object.entries(styleOverrides).forEach(([slotKey, slotStyle]) => {\n resolvedStyleOverrides[slotKey] = processStyleArg(slotStyle, (0, _extends2.default)({}, props, {\n theme\n }));\n });\n return overridesResolver(props, resolvedStyleOverrides);\n });\n }\n if (componentName && !skipVariantsResolver) {\n expressionsWithDefaultTheme.push(props => {\n var _theme$components;\n const theme = resolveTheme((0, _extends2.default)({}, props, {\n defaultTheme,\n themeId\n }));\n const themeVariants = theme == null || (_theme$components = theme.components) == null || (_theme$components = _theme$components[componentName]) == null ? void 0 : _theme$components.variants;\n return processStyleArg({\n variants: themeVariants\n }, (0, _extends2.default)({}, props, {\n theme\n }));\n });\n }\n if (!skipSx) {\n expressionsWithDefaultTheme.push(systemSx);\n }\n const numOfCustomFnsApplied = expressionsWithDefaultTheme.length - expressions.length;\n if (Array.isArray(styleArg) && numOfCustomFnsApplied > 0) {\n const placeholders = new Array(numOfCustomFnsApplied).fill('');\n // If the type is array, than we need to add placeholders in the template for the overrides, variants and the sx styles.\n transformedStyleArg = [...styleArg, ...placeholders];\n transformedStyleArg.raw = [...styleArg.raw, ...placeholders];\n }\n const Component = defaultStyledResolver(transformedStyleArg, ...expressionsWithDefaultTheme);\n if (process.env.NODE_ENV !== 'production') {\n let displayName;\n if (componentName) {\n displayName = `${componentName}${(0, _capitalize.default)(componentSlot || '')}`;\n }\n if (displayName === undefined) {\n displayName = `Styled(${(0, _getDisplayName.default)(tag)})`;\n }\n Component.displayName = displayName;\n }\n if (tag.muiName) {\n Component.muiName = tag.muiName;\n }\n return Component;\n };\n if (defaultStyledResolver.withConfig) {\n muiStyledResolver.withConfig = defaultStyledResolver.withConfig;\n }\n return muiStyledResolver;\n };\n}", "/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n", "var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n", "var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n", "var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n", "/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n", "var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n", "/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n", "/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n", "var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n", "/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n", "var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n", "/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n", "var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n", "var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n", "/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n", "var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n", "/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n", "/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n", "var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n", "/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n", "var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n", "var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n", "var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n", "/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n", "/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n", "var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n", "var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n", "/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n", "var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n", "var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n", "var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n", "var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n", "/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n", "var identity = require('./identity');\n\n/**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\nfunction castFunction(value) {\n return typeof value == 'function' ? value : identity;\n}\n\nmodule.exports = castFunction;\n", "var baseForOwn = require('./_baseForOwn'),\n castFunction = require('./_castFunction');\n\n/**\n * Iterates over own enumerable string keyed properties of an object and\n * invokes `iteratee` for each property. The iteratee is invoked with three\n * arguments: (value, key, object). Iteratee functions may exit iteration\n * early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwnRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forOwn(object, iteratee) {\n return object && baseForOwn(object, castFunction(iteratee));\n}\n\nmodule.exports = forOwn;\n", "var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n", "var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n", "/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n", "/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n", "/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n", "var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n", "var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n", "var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n", "var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n", "var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n", "var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n", "var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n", "/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n", "/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n", "/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n", "var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n", "var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n", "/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n", "var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n", "/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n", "var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n", "var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n", "var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n", "/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n", "var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n", "var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n", "var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n", "var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n", "var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n", "/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n", "var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n", "var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n", "var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n", "var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n", "var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n", "var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n", "var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n", "var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n", "/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n", "/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n", "var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n", "/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n", "/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n", "var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n", "var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n", "/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n", "/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n", "var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n", "/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n", "var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n", "/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n", "/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n", "var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n", "var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n", "var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n", "var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n", "var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n", "var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n", "var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n", "var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n", "var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n", "/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n", "var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n", "var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n", "var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n", "var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n", "var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n", "var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n", "var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n", "var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n", "var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n", "var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n", "var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n", "var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n", "/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n", "var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n", "var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n", "var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n", "/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n", "var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n", "var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n", "var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n", "var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n", "var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n", "var baseEach = require('./_baseEach'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nmodule.exports = baseMap;\n", "var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n isArray = require('./isArray');\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, baseIteratee(iteratee, 3));\n}\n\nmodule.exports = map;\n", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.flattenNames = undefined;\n\nvar _isString2 = require('lodash/isString');\n\nvar _isString3 = _interopRequireDefault(_isString2);\n\nvar _forOwn2 = require('lodash/forOwn');\n\nvar _forOwn3 = _interopRequireDefault(_forOwn2);\n\nvar _isPlainObject2 = require('lodash/isPlainObject');\n\nvar _isPlainObject3 = _interopRequireDefault(_isPlainObject2);\n\nvar _map2 = require('lodash/map');\n\nvar _map3 = _interopRequireDefault(_map2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar flattenNames = exports.flattenNames = function flattenNames() {\n var things = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var names = [];\n\n (0, _map3.default)(things, function (thing) {\n if (Array.isArray(thing)) {\n flattenNames(thing).map(function (name) {\n return names.push(name);\n });\n } else if ((0, _isPlainObject3.default)(thing)) {\n (0, _forOwn3.default)(thing, function (value, key) {\n value === true && names.push(key);\n names.push(key + '-' + value);\n });\n } else if ((0, _isString3.default)(thing)) {\n names.push(thing);\n }\n });\n\n return names;\n};\n\nexports.default = flattenNames;", "/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n", "var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n", "var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n", "var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n", "var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n", "var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n", "/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n", "var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n", "var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n", "var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n", "var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n", "/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n", "var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n", "var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n", "var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n", "var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n", "/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n", "var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n", "var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n", "/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n", "var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n", "var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n", "var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n", "var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n", "var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n", "var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n", "var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n", "var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n", "var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n", "var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n", "var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.mergeClasses = undefined;\n\nvar _forOwn2 = require('lodash/forOwn');\n\nvar _forOwn3 = _interopRequireDefault(_forOwn2);\n\nvar _cloneDeep2 = require('lodash/cloneDeep');\n\nvar _cloneDeep3 = _interopRequireDefault(_cloneDeep2);\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar mergeClasses = exports.mergeClasses = function mergeClasses(classes) {\n var activeNames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n var styles = classes.default && (0, _cloneDeep3.default)(classes.default) || {};\n activeNames.map(function (name) {\n var toMerge = classes[name];\n if (toMerge) {\n (0, _forOwn3.default)(toMerge, function (value, key) {\n if (!styles[key]) {\n styles[key] = {};\n }\n\n styles[key] = _extends({}, styles[key], toMerge[key]);\n });\n }\n\n return name;\n });\n return styles;\n};\n\nexports.default = mergeClasses;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.autoprefix = undefined;\n\nvar _forOwn2 = require('lodash/forOwn');\n\nvar _forOwn3 = _interopRequireDefault(_forOwn2);\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar transforms = {\n borderRadius: function borderRadius(value) {\n return {\n msBorderRadius: value,\n MozBorderRadius: value,\n OBorderRadius: value,\n WebkitBorderRadius: value,\n borderRadius: value\n };\n },\n boxShadow: function boxShadow(value) {\n return {\n msBoxShadow: value,\n MozBoxShadow: value,\n OBoxShadow: value,\n WebkitBoxShadow: value,\n boxShadow: value\n };\n },\n userSelect: function userSelect(value) {\n return {\n WebkitTouchCallout: value,\n KhtmlUserSelect: value,\n MozUserSelect: value,\n msUserSelect: value,\n WebkitUserSelect: value,\n userSelect: value\n };\n },\n\n flex: function flex(value) {\n return {\n WebkitBoxFlex: value,\n MozBoxFlex: value,\n WebkitFlex: value,\n msFlex: value,\n flex: value\n };\n },\n flexBasis: function flexBasis(value) {\n return {\n WebkitFlexBasis: value,\n flexBasis: value\n };\n },\n justifyContent: function justifyContent(value) {\n return {\n WebkitJustifyContent: value,\n justifyContent: value\n };\n },\n\n transition: function transition(value) {\n return {\n msTransition: value,\n MozTransition: value,\n OTransition: value,\n WebkitTransition: value,\n transition: value\n };\n },\n\n transform: function transform(value) {\n return {\n msTransform: value,\n MozTransform: value,\n OTransform: value,\n WebkitTransform: value,\n transform: value\n };\n },\n absolute: function absolute(value) {\n var direction = value && value.split(' ');\n return {\n position: 'absolute',\n top: direction && direction[0],\n right: direction && direction[1],\n bottom: direction && direction[2],\n left: direction && direction[3]\n };\n },\n extend: function extend(name, otherElementStyles) {\n var otherStyle = otherElementStyles[name];\n if (otherStyle) {\n return otherStyle;\n }\n return {\n 'extend': name\n };\n }\n};\n\nvar autoprefix = exports.autoprefix = function autoprefix(elements) {\n var prefixed = {};\n (0, _forOwn3.default)(elements, function (styles, element) {\n var expanded = {};\n (0, _forOwn3.default)(styles, function (value, key) {\n var transform = transforms[key];\n if (transform) {\n expanded = _extends({}, expanded, transform(value));\n } else {\n expanded[key] = value;\n }\n });\n prefixed[element] = expanded;\n });\n return prefixed;\n};\n\nexports.default = autoprefix;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.hover = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar hover = exports.hover = function hover(Component) {\n var Span = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'span';\n\n return function (_React$Component) {\n _inherits(Hover, _React$Component);\n\n function Hover() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Hover);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Hover.__proto__ || Object.getPrototypeOf(Hover)).call.apply(_ref, [this].concat(args))), _this), _this.state = { hover: false }, _this.handleMouseOver = function () {\n return _this.setState({ hover: true });\n }, _this.handleMouseOut = function () {\n return _this.setState({ hover: false });\n }, _this.render = function () {\n return _react2.default.createElement(\n Span,\n { onMouseOver: _this.handleMouseOver, onMouseOut: _this.handleMouseOut },\n _react2.default.createElement(Component, _extends({}, _this.props, _this.state))\n );\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n return Hover;\n }(_react2.default.Component);\n};\n\nexports.default = hover;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.active = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar active = exports.active = function active(Component) {\n var Span = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'span';\n\n return function (_React$Component) {\n _inherits(Active, _React$Component);\n\n function Active() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Active);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Active.__proto__ || Object.getPrototypeOf(Active)).call.apply(_ref, [this].concat(args))), _this), _this.state = { active: false }, _this.handleMouseDown = function () {\n return _this.setState({ active: true });\n }, _this.handleMouseUp = function () {\n return _this.setState({ active: false });\n }, _this.render = function () {\n return _react2.default.createElement(\n Span,\n { onMouseDown: _this.handleMouseDown, onMouseUp: _this.handleMouseUp },\n _react2.default.createElement(Component, _extends({}, _this.props, _this.state))\n );\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n return Active;\n }(_react2.default.Component);\n};\n\nexports.default = active;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar loopable = function loopable(i, length) {\n var props = {};\n var setProp = function setProp(name) {\n var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n props[name] = value;\n };\n\n i === 0 && setProp('first-child');\n i === length - 1 && setProp('last-child');\n (i === 0 || i % 2 === 0) && setProp('even');\n Math.abs(i % 2) === 1 && setProp('odd');\n setProp('nth-child', i);\n\n return props;\n};\n\nexports.default = loopable;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ReactCSS = exports.loop = exports.handleActive = exports.handleHover = exports.hover = undefined;\n\nvar _flattenNames = require('./flattenNames');\n\nvar _flattenNames2 = _interopRequireDefault(_flattenNames);\n\nvar _mergeClasses = require('./mergeClasses');\n\nvar _mergeClasses2 = _interopRequireDefault(_mergeClasses);\n\nvar _autoprefix = require('./autoprefix');\n\nvar _autoprefix2 = _interopRequireDefault(_autoprefix);\n\nvar _hover2 = require('./components/hover');\n\nvar _hover3 = _interopRequireDefault(_hover2);\n\nvar _active = require('./components/active');\n\nvar _active2 = _interopRequireDefault(_active);\n\nvar _loop2 = require('./loop');\n\nvar _loop3 = _interopRequireDefault(_loop2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.hover = _hover3.default;\nexports.handleHover = _hover3.default;\nexports.handleActive = _active2.default;\nexports.loop = _loop3.default;\nvar ReactCSS = exports.ReactCSS = function ReactCSS(classes) {\n for (var _len = arguments.length, activations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n activations[_key - 1] = arguments[_key];\n }\n\n var activeNames = (0, _flattenNames2.default)(activations);\n var merged = (0, _mergeClasses2.default)(classes, activeNames);\n return (0, _autoprefix2.default)(merged);\n};\n\nexports.default = ReactCSS;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar DEFAULT_SIZE = 24;\n\nexports.default = function (_ref) {\n var _ref$fill = _ref.fill,\n fill = _ref$fill === undefined ? 'currentColor' : _ref$fill,\n _ref$width = _ref.width,\n width = _ref$width === undefined ? DEFAULT_SIZE : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === undefined ? DEFAULT_SIZE : _ref$height,\n _ref$style = _ref.style,\n style = _ref$style === undefined ? {} : _ref$style,\n props = _objectWithoutProperties(_ref, ['fill', 'width', 'height', 'style']);\n\n return _react2.default.createElement(\n 'svg',\n _extends({\n viewBox: '0 0 ' + DEFAULT_SIZE + ' ' + DEFAULT_SIZE,\n style: _extends({ fill: fill, width: width, height: height }, style)\n }, props),\n _react2.default.createElement('path', { d: 'M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z' })\n );\n};", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar DEFAULT_SIZE = 24;\n\nexports.default = function (_ref) {\n var _ref$fill = _ref.fill,\n fill = _ref$fill === undefined ? 'currentColor' : _ref$fill,\n _ref$width = _ref.width,\n width = _ref$width === undefined ? DEFAULT_SIZE : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === undefined ? DEFAULT_SIZE : _ref$height,\n _ref$style = _ref.style,\n style = _ref$style === undefined ? {} : _ref$style,\n props = _objectWithoutProperties(_ref, ['fill', 'width', 'height', 'style']);\n\n return _react2.default.createElement(\n 'svg',\n _extends({\n viewBox: '0 0 ' + DEFAULT_SIZE + ' ' + DEFAULT_SIZE,\n style: _extends({ fill: fill, width: width, height: height }, style)\n }, props),\n _react2.default.createElement('path', { d: 'M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z' })\n );\n};", "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"cronstrue\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"cronstrue\"] = factory();\n\telse\n\t\troot[\"cronstrue\"] = factory();\n})(globalThis, () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 949:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CronParser = void 0;\nvar rangeValidator_1 = __webpack_require__(515);\nvar CronParser = (function () {\n function CronParser(expression, dayOfWeekStartIndexZero, monthStartIndexZero) {\n if (dayOfWeekStartIndexZero === void 0) { dayOfWeekStartIndexZero = true; }\n if (monthStartIndexZero === void 0) { monthStartIndexZero = false; }\n this.expression = expression;\n this.dayOfWeekStartIndexZero = dayOfWeekStartIndexZero;\n this.monthStartIndexZero = monthStartIndexZero;\n }\n CronParser.prototype.parse = function () {\n var _a;\n var parsed;\n var expression = (_a = this.expression) !== null && _a !== void 0 ? _a : '';\n if (expression.startsWith('@')) {\n var special = this.parseSpecial(this.expression);\n parsed = this.extractParts(special);\n }\n else {\n parsed = this.extractParts(this.expression);\n }\n this.normalize(parsed);\n this.validate(parsed);\n return parsed;\n };\n CronParser.prototype.parseSpecial = function (expression) {\n var specialExpressions = {\n '@yearly': '0 0 1 1 *',\n '@annually': '0 0 1 1 *',\n '@monthly': '0 0 1 * *',\n '@weekly': '0 0 * * 0',\n '@daily': '0 0 * * *',\n '@midnight': '0 0 * * *',\n '@hourly': '0 * * * *'\n };\n var special = specialExpressions[expression];\n if (!special) {\n throw new Error('Unknown special expression.');\n }\n return special;\n };\n CronParser.prototype.extractParts = function (expression) {\n if (!this.expression) {\n throw new Error(\"cron expression is empty\");\n }\n var parsed = expression.trim().split(/[ ]+/);\n for (var i = 0; i < parsed.length; i++) {\n if (parsed[i].includes(\",\")) {\n var arrayElement = parsed[i]\n .split(\",\")\n .map(function (item) { return item.trim(); })\n .filter(function (item) { return item !== \"\"; })\n .map(function (item) { return (!isNaN(Number(item)) ? Number(item) : item); })\n .filter(function (item) { return item !== null && item !== \"\"; });\n if (arrayElement.length === 0) {\n arrayElement.push(\"*\");\n }\n arrayElement.sort(function (a, b) { return (a !== null && b !== null ? a - b : 0); });\n parsed[i] = arrayElement.map(function (item) { return (item !== null ? item.toString() : \"\"); }).join(\",\");\n }\n }\n if (parsed.length < 5) {\n throw new Error(\"Expression has only \".concat(parsed.length, \" part\").concat(parsed.length == 1 ? \"\" : \"s\", \". At least 5 parts are required.\"));\n }\n else if (parsed.length == 5) {\n parsed.unshift(\"\");\n parsed.push(\"\");\n }\n else if (parsed.length == 6) {\n var isYearWithNoSecondsPart = /\\d{4}$/.test(parsed[5]) || parsed[4] == \"?\" || parsed[2] == \"?\";\n if (isYearWithNoSecondsPart) {\n parsed.unshift(\"\");\n }\n else {\n parsed.push(\"\");\n }\n }\n else if (parsed.length > 7) {\n throw new Error(\"Expression has \".concat(parsed.length, \" parts; too many!\"));\n }\n return parsed;\n };\n CronParser.prototype.normalize = function (expressionParts) {\n var _this = this;\n expressionParts[3] = expressionParts[3].replace(\"?\", \"*\");\n expressionParts[5] = expressionParts[5].replace(\"?\", \"*\");\n expressionParts[2] = expressionParts[2].replace(\"?\", \"*\");\n if (expressionParts[0].indexOf(\"0/\") == 0) {\n expressionParts[0] = expressionParts[0].replace(\"0/\", \"*/\");\n }\n if (expressionParts[1].indexOf(\"0/\") == 0) {\n expressionParts[1] = expressionParts[1].replace(\"0/\", \"*/\");\n }\n if (expressionParts[2].indexOf(\"0/\") == 0) {\n expressionParts[2] = expressionParts[2].replace(\"0/\", \"*/\");\n }\n if (expressionParts[3].indexOf(\"1/\") == 0) {\n expressionParts[3] = expressionParts[3].replace(\"1/\", \"*/\");\n }\n if (expressionParts[4].indexOf(\"1/\") == 0) {\n expressionParts[4] = expressionParts[4].replace(\"1/\", \"*/\");\n }\n if (expressionParts[6].indexOf(\"1/\") == 0) {\n expressionParts[6] = expressionParts[6].replace(\"1/\", \"*/\");\n }\n expressionParts[5] = expressionParts[5].replace(/(^\\d)|([^#/\\s]\\d)/g, function (t) {\n var dowDigits = t.replace(/\\D/, \"\");\n var dowDigitsAdjusted = dowDigits;\n if (_this.dayOfWeekStartIndexZero) {\n if (dowDigits == \"7\") {\n dowDigitsAdjusted = \"0\";\n }\n }\n else {\n dowDigitsAdjusted = (parseInt(dowDigits) - 1).toString();\n }\n return t.replace(dowDigits, dowDigitsAdjusted);\n });\n if (expressionParts[5] == \"L\") {\n expressionParts[5] = \"6\";\n }\n if (expressionParts[3] == \"?\") {\n expressionParts[3] = \"*\";\n }\n if (expressionParts[3].indexOf(\"W\") > -1 &&\n (expressionParts[3].indexOf(\",\") > -1 || expressionParts[3].indexOf(\"-\") > -1)) {\n throw new Error(\"The 'W' character can be specified only when the day-of-month is a single day, not a range or list of days.\");\n }\n var days = {\n SUN: 0,\n MON: 1,\n TUE: 2,\n WED: 3,\n THU: 4,\n FRI: 5,\n SAT: 6,\n };\n for (var day in days) {\n expressionParts[5] = expressionParts[5].replace(new RegExp(day, \"gi\"), days[day].toString());\n }\n expressionParts[4] = expressionParts[4].replace(/(^\\d{1,2})|([^#/\\s]\\d{1,2})/g, function (t) {\n var dowDigits = t.replace(/\\D/, \"\");\n var dowDigitsAdjusted = dowDigits;\n if (_this.monthStartIndexZero) {\n dowDigitsAdjusted = (parseInt(dowDigits) + 1).toString();\n }\n return t.replace(dowDigits, dowDigitsAdjusted);\n });\n var months = {\n JAN: 1,\n FEB: 2,\n MAR: 3,\n APR: 4,\n MAY: 5,\n JUN: 6,\n JUL: 7,\n AUG: 8,\n SEP: 9,\n OCT: 10,\n NOV: 11,\n DEC: 12,\n };\n for (var month in months) {\n expressionParts[4] = expressionParts[4].replace(new RegExp(month, \"gi\"), months[month].toString());\n }\n if (expressionParts[0] == \"0\") {\n expressionParts[0] = \"\";\n }\n if (!/\\*|\\-|\\,|\\//.test(expressionParts[2]) &&\n (/\\*|\\//.test(expressionParts[1]) || /\\*|\\//.test(expressionParts[0]))) {\n expressionParts[2] += \"-\".concat(expressionParts[2]);\n }\n for (var i = 0; i < expressionParts.length; i++) {\n if (expressionParts[i].indexOf(\",\") != -1) {\n expressionParts[i] =\n expressionParts[i]\n .split(\",\")\n .filter(function (str) { return str !== \"\"; })\n .join(\",\") || \"*\";\n }\n if (expressionParts[i] == \"*/1\") {\n expressionParts[i] = \"*\";\n }\n if (expressionParts[i].indexOf(\"/\") > -1 && !/^\\*|\\-|\\,/.test(expressionParts[i])) {\n var stepRangeThrough = null;\n switch (i) {\n case 4:\n stepRangeThrough = \"12\";\n break;\n case 5:\n stepRangeThrough = \"6\";\n break;\n case 6:\n stepRangeThrough = \"9999\";\n break;\n default:\n stepRangeThrough = null;\n break;\n }\n if (stepRangeThrough !== null) {\n var parts = expressionParts[i].split(\"/\");\n expressionParts[i] = \"\".concat(parts[0], \"-\").concat(stepRangeThrough, \"/\").concat(parts[1]);\n }\n }\n }\n };\n CronParser.prototype.validate = function (parsed) {\n this.assertNoInvalidCharacters(\"DOW\", parsed[5]);\n this.assertNoInvalidCharacters(\"DOM\", parsed[3]);\n this.validateRange(parsed);\n };\n CronParser.prototype.validateRange = function (parsed) {\n rangeValidator_1.default.secondRange(parsed[0]);\n rangeValidator_1.default.minuteRange(parsed[1]);\n rangeValidator_1.default.hourRange(parsed[2]);\n rangeValidator_1.default.dayOfMonthRange(parsed[3]);\n rangeValidator_1.default.monthRange(parsed[4], this.monthStartIndexZero);\n rangeValidator_1.default.dayOfWeekRange(parsed[5], this.dayOfWeekStartIndexZero);\n };\n CronParser.prototype.assertNoInvalidCharacters = function (partDescription, expression) {\n var invalidChars = expression.match(/[A-KM-VX-Z]+/gi);\n if (invalidChars && invalidChars.length) {\n throw new Error(\"\".concat(partDescription, \" part contains invalid values: '\").concat(invalidChars.toString(), \"'\"));\n }\n };\n return CronParser;\n}());\nexports.CronParser = CronParser;\n\n\n/***/ }),\n\n/***/ 333:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ExpressionDescriptor = void 0;\nvar stringUtilities_1 = __webpack_require__(823);\nvar cronParser_1 = __webpack_require__(949);\nvar ExpressionDescriptor = (function () {\n function ExpressionDescriptor(expression, options) {\n this.expression = expression;\n this.options = options;\n this.expressionParts = new Array(5);\n if (!this.options.locale && ExpressionDescriptor.defaultLocale) {\n this.options.locale = ExpressionDescriptor.defaultLocale;\n }\n if (!ExpressionDescriptor.locales[this.options.locale]) {\n var fallBackLocale = Object.keys(ExpressionDescriptor.locales)[0];\n console.warn(\"Locale '\".concat(this.options.locale, \"' could not be found; falling back to '\").concat(fallBackLocale, \"'.\"));\n this.options.locale = fallBackLocale;\n }\n this.i18n = ExpressionDescriptor.locales[this.options.locale];\n if (options.use24HourTimeFormat === undefined) {\n options.use24HourTimeFormat = this.i18n.use24HourTimeFormatByDefault();\n }\n }\n ExpressionDescriptor.toString = function (expression, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.throwExceptionOnParseError, throwExceptionOnParseError = _c === void 0 ? true : _c, _d = _b.verbose, verbose = _d === void 0 ? false : _d, _e = _b.dayOfWeekStartIndexZero, dayOfWeekStartIndexZero = _e === void 0 ? true : _e, _f = _b.monthStartIndexZero, monthStartIndexZero = _f === void 0 ? false : _f, use24HourTimeFormat = _b.use24HourTimeFormat, _g = _b.locale, locale = _g === void 0 ? null : _g, _h = _b.tzOffset, tzOffset = _h === void 0 ? 0 : _h;\n var options = {\n throwExceptionOnParseError: throwExceptionOnParseError,\n verbose: verbose,\n dayOfWeekStartIndexZero: dayOfWeekStartIndexZero,\n monthStartIndexZero: monthStartIndexZero,\n use24HourTimeFormat: use24HourTimeFormat,\n locale: locale,\n tzOffset: tzOffset\n };\n var descripter = new ExpressionDescriptor(expression, options);\n return descripter.getFullDescription();\n };\n ExpressionDescriptor.initialize = function (localesLoader, defaultLocale) {\n if (defaultLocale === void 0) { defaultLocale = \"en\"; }\n ExpressionDescriptor.specialCharacters = [\"/\", \"-\", \",\", \"*\"];\n ExpressionDescriptor.defaultLocale = defaultLocale;\n localesLoader.load(ExpressionDescriptor.locales);\n };\n ExpressionDescriptor.prototype.getFullDescription = function () {\n var description = \"\";\n try {\n var parser = new cronParser_1.CronParser(this.expression, this.options.dayOfWeekStartIndexZero, this.options.monthStartIndexZero);\n this.expressionParts = parser.parse();\n var timeSegment = this.getTimeOfDayDescription();\n var dayOfMonthDesc = this.getDayOfMonthDescription();\n var monthDesc = this.getMonthDescription();\n var dayOfWeekDesc = this.getDayOfWeekDescription();\n var yearDesc = this.getYearDescription();\n description += timeSegment + dayOfMonthDesc + dayOfWeekDesc + monthDesc + yearDesc;\n description = this.transformVerbosity(description, !!this.options.verbose);\n description = description.charAt(0).toLocaleUpperCase() + description.substr(1);\n }\n catch (ex) {\n if (!this.options.throwExceptionOnParseError) {\n description = this.i18n.anErrorOccuredWhenGeneratingTheExpressionD();\n }\n else {\n throw \"\".concat(ex);\n }\n }\n return description;\n };\n ExpressionDescriptor.prototype.getTimeOfDayDescription = function () {\n var secondsExpression = this.expressionParts[0];\n var minuteExpression = this.expressionParts[1];\n var hourExpression = this.expressionParts[2];\n var description = \"\";\n if (!stringUtilities_1.StringUtilities.containsAny(minuteExpression, ExpressionDescriptor.specialCharacters) &&\n !stringUtilities_1.StringUtilities.containsAny(hourExpression, ExpressionDescriptor.specialCharacters) &&\n !stringUtilities_1.StringUtilities.containsAny(secondsExpression, ExpressionDescriptor.specialCharacters)) {\n description += this.i18n.atSpace() + this.formatTime(hourExpression, minuteExpression, secondsExpression);\n }\n else if (!secondsExpression &&\n minuteExpression.indexOf(\"-\") > -1 &&\n !(minuteExpression.indexOf(\",\") > -1) &&\n !(minuteExpression.indexOf(\"/\") > -1) &&\n !stringUtilities_1.StringUtilities.containsAny(hourExpression, ExpressionDescriptor.specialCharacters)) {\n var minuteParts = minuteExpression.split(\"-\");\n description += stringUtilities_1.StringUtilities.format(this.i18n.everyMinuteBetweenX0AndX1(), this.formatTime(hourExpression, minuteParts[0], \"\"), this.formatTime(hourExpression, minuteParts[1], \"\"));\n }\n else if (!secondsExpression &&\n hourExpression.indexOf(\",\") > -1 &&\n hourExpression.indexOf(\"-\") == -1 &&\n hourExpression.indexOf(\"/\") == -1 &&\n !stringUtilities_1.StringUtilities.containsAny(minuteExpression, ExpressionDescriptor.specialCharacters)) {\n var hourParts = hourExpression.split(\",\");\n description += this.i18n.at();\n for (var i = 0; i < hourParts.length; i++) {\n description += \" \";\n description += this.formatTime(hourParts[i], minuteExpression, \"\");\n if (i < hourParts.length - 2) {\n description += \",\";\n }\n if (i == hourParts.length - 2) {\n description += this.i18n.spaceAnd();\n }\n }\n }\n else {\n var secondsDescription = this.getSecondsDescription();\n var minutesDescription = this.getMinutesDescription();\n var hoursDescription = this.getHoursDescription();\n description += secondsDescription;\n if (description && minutesDescription) {\n description += \", \";\n }\n description += minutesDescription;\n if (minutesDescription === hoursDescription) {\n return description;\n }\n if (description && hoursDescription) {\n description += \", \";\n }\n description += hoursDescription;\n }\n return description;\n };\n ExpressionDescriptor.prototype.getSecondsDescription = function () {\n var _this = this;\n var description = this.getSegmentDescription(this.expressionParts[0], this.i18n.everySecond(), function (s) {\n return s;\n }, function (s) {\n return stringUtilities_1.StringUtilities.format(_this.i18n.everyX0Seconds(s), s);\n }, function (s) {\n return _this.i18n.secondsX0ThroughX1PastTheMinute();\n }, function (s) {\n return s == \"0\"\n ? \"\"\n : parseInt(s) < 20\n ? _this.i18n.atX0SecondsPastTheMinute(s)\n : _this.i18n.atX0SecondsPastTheMinuteGt20() || _this.i18n.atX0SecondsPastTheMinute(s);\n });\n return description;\n };\n ExpressionDescriptor.prototype.getMinutesDescription = function () {\n var _this = this;\n var secondsExpression = this.expressionParts[0];\n var hourExpression = this.expressionParts[2];\n var description = this.getSegmentDescription(this.expressionParts[1], this.i18n.everyMinute(), function (s) {\n return s;\n }, function (s) {\n return stringUtilities_1.StringUtilities.format(_this.i18n.everyX0Minutes(s), s);\n }, function (s) {\n return _this.i18n.minutesX0ThroughX1PastTheHour();\n }, function (s) {\n try {\n return s == \"0\" && hourExpression.indexOf(\"/\") == -1 && secondsExpression == \"\"\n ? _this.i18n.everyHour()\n : parseInt(s) < 20\n ? _this.i18n.atX0MinutesPastTheHour(s)\n : _this.i18n.atX0MinutesPastTheHourGt20() || _this.i18n.atX0MinutesPastTheHour(s);\n }\n catch (e) {\n return _this.i18n.atX0MinutesPastTheHour(s);\n }\n });\n return description;\n };\n ExpressionDescriptor.prototype.getHoursDescription = function () {\n var _this = this;\n var expression = this.expressionParts[2];\n var description = this.getSegmentDescription(expression, this.i18n.everyHour(), function (s) {\n return _this.formatTime(s, \"0\", \"\");\n }, function (s) {\n return stringUtilities_1.StringUtilities.format(_this.i18n.everyX0Hours(s), s);\n }, function (s) {\n return _this.i18n.betweenX0AndX1();\n }, function (s) {\n return _this.i18n.atX0();\n });\n if (description && expression.includes(\"-\") && this.expressionParts[1] != \"0\") {\n var atTheHourMatches = Array.from(description.matchAll(/:00/g));\n if (atTheHourMatches.length > 1) {\n var lastAtTheHourMatchIndex = atTheHourMatches[atTheHourMatches.length - 1].index;\n description =\n description.substring(0, lastAtTheHourMatchIndex) +\n \":59\" +\n description.substring(lastAtTheHourMatchIndex + 3);\n }\n }\n return description;\n };\n ExpressionDescriptor.prototype.getDayOfWeekDescription = function () {\n var _this = this;\n var daysOfWeekNames = this.i18n.daysOfTheWeek();\n var description = null;\n if (this.expressionParts[5] == \"*\") {\n description = \"\";\n }\n else {\n description = this.getSegmentDescription(this.expressionParts[5], this.i18n.commaEveryDay(), function (s, form) {\n var exp = s;\n if (s.indexOf(\"#\") > -1) {\n exp = s.substring(0, s.indexOf(\"#\"));\n }\n else if (s.indexOf(\"L\") > -1) {\n exp = exp.replace(\"L\", \"\");\n }\n var parsedExp = parseInt(exp);\n if (_this.options.tzOffset) {\n var hourExpression = _this.expressionParts[2];\n var hour = parseInt(hourExpression) + (_this.options.tzOffset ? _this.options.tzOffset : 0);\n if (hour >= 24) {\n parsedExp++;\n }\n else if (hour < 0) {\n parsedExp--;\n }\n if (parsedExp > 6) {\n parsedExp = 0;\n }\n else if (parsedExp < 0) {\n parsedExp = 6;\n }\n }\n var description = _this.i18n.daysOfTheWeekInCase\n ? _this.i18n.daysOfTheWeekInCase(form)[parsedExp]\n : daysOfWeekNames[parsedExp];\n if (s.indexOf(\"#\") > -1) {\n var dayOfWeekOfMonthDescription = null;\n var dayOfWeekOfMonthNumber = s.substring(s.indexOf(\"#\") + 1);\n var dayOfWeekNumber = s.substring(0, s.indexOf(\"#\"));\n switch (dayOfWeekOfMonthNumber) {\n case \"1\":\n dayOfWeekOfMonthDescription = _this.i18n.first(dayOfWeekNumber);\n break;\n case \"2\":\n dayOfWeekOfMonthDescription = _this.i18n.second(dayOfWeekNumber);\n break;\n case \"3\":\n dayOfWeekOfMonthDescription = _this.i18n.third(dayOfWeekNumber);\n break;\n case \"4\":\n dayOfWeekOfMonthDescription = _this.i18n.fourth(dayOfWeekNumber);\n break;\n case \"5\":\n dayOfWeekOfMonthDescription = _this.i18n.fifth(dayOfWeekNumber);\n break;\n }\n description = dayOfWeekOfMonthDescription + \" \" + description;\n }\n return description;\n }, function (s) {\n if (parseInt(s) == 1) {\n return \"\";\n }\n else {\n return stringUtilities_1.StringUtilities.format(_this.i18n.commaEveryX0DaysOfTheWeek(s), s);\n }\n }, function (s) {\n var beginFrom = s.substring(0, s.indexOf(\"-\"));\n var domSpecified = _this.expressionParts[3] != \"*\";\n return domSpecified ? _this.i18n.commaAndX0ThroughX1(beginFrom) : _this.i18n.commaX0ThroughX1(beginFrom);\n }, function (s) {\n var format = null;\n if (s.indexOf(\"#\") > -1) {\n var dayOfWeekOfMonthNumber = s.substring(s.indexOf(\"#\") + 1);\n var dayOfWeek = s.substring(0, s.indexOf(\"#\"));\n format = _this.i18n.commaOnThe(dayOfWeekOfMonthNumber, dayOfWeek).trim() + _this.i18n.spaceX0OfTheMonth();\n }\n else if (s.indexOf(\"L\") > -1) {\n format = _this.i18n.commaOnTheLastX0OfTheMonth(s.replace(\"L\", \"\"));\n }\n else {\n var domSpecified = _this.expressionParts[3] != \"*\";\n format = domSpecified ? _this.i18n.commaAndOnX0() : _this.i18n.commaOnlyOnX0(s);\n }\n return format;\n });\n }\n return description;\n };\n ExpressionDescriptor.prototype.getMonthDescription = function () {\n var _this = this;\n var monthNames = this.i18n.monthsOfTheYear();\n var description = this.getSegmentDescription(this.expressionParts[4], \"\", function (s, form) {\n return form && _this.i18n.monthsOfTheYearInCase\n ? _this.i18n.monthsOfTheYearInCase(form)[parseInt(s) - 1]\n : monthNames[parseInt(s) - 1];\n }, function (s) {\n if (parseInt(s) == 1) {\n return \"\";\n }\n else {\n return stringUtilities_1.StringUtilities.format(_this.i18n.commaEveryX0Months(s), s);\n }\n }, function (s) {\n return _this.i18n.commaMonthX0ThroughMonthX1() || _this.i18n.commaX0ThroughX1();\n }, function (s) {\n return _this.i18n.commaOnlyInMonthX0 ? _this.i18n.commaOnlyInMonthX0() : _this.i18n.commaOnlyInX0();\n });\n return description;\n };\n ExpressionDescriptor.prototype.getDayOfMonthDescription = function () {\n var _this = this;\n var description = null;\n var expression = this.expressionParts[3];\n switch (expression) {\n case \"L\":\n description = this.i18n.commaOnTheLastDayOfTheMonth();\n break;\n case \"WL\":\n case \"LW\":\n description = this.i18n.commaOnTheLastWeekdayOfTheMonth();\n break;\n default:\n var weekDayNumberMatches = expression.match(/(\\d{1,2}W)|(W\\d{1,2})/);\n if (weekDayNumberMatches) {\n var dayNumber = parseInt(weekDayNumberMatches[0].replace(\"W\", \"\"));\n var dayString = dayNumber == 1\n ? this.i18n.firstWeekday()\n : stringUtilities_1.StringUtilities.format(this.i18n.weekdayNearestDayX0(), dayNumber.toString());\n description = stringUtilities_1.StringUtilities.format(this.i18n.commaOnTheX0OfTheMonth(), dayString);\n break;\n }\n else {\n var lastDayOffSetMatches = expression.match(/L-(\\d{1,2})/);\n if (lastDayOffSetMatches) {\n var offSetDays = lastDayOffSetMatches[1];\n description = stringUtilities_1.StringUtilities.format(this.i18n.commaDaysBeforeTheLastDayOfTheMonth(offSetDays), offSetDays);\n break;\n }\n else if (expression == \"*\" && this.expressionParts[5] != \"*\") {\n return \"\";\n }\n else {\n description = this.getSegmentDescription(expression, this.i18n.commaEveryDay(), function (s) {\n return s == \"L\"\n ? _this.i18n.lastDay()\n : _this.i18n.dayX0\n ? stringUtilities_1.StringUtilities.format(_this.i18n.dayX0(), s)\n : s;\n }, function (s) {\n return s == \"1\" ? _this.i18n.commaEveryDay() : _this.i18n.commaEveryX0Days(s);\n }, function (s) {\n return _this.i18n.commaBetweenDayX0AndX1OfTheMonth(s);\n }, function (s) {\n return _this.i18n.commaOnDayX0OfTheMonth(s);\n });\n }\n break;\n }\n }\n return description;\n };\n ExpressionDescriptor.prototype.getYearDescription = function () {\n var _this = this;\n var description = this.getSegmentDescription(this.expressionParts[6], \"\", function (s) {\n return /^\\d+$/.test(s) ? new Date(parseInt(s), 1).getFullYear().toString() : s;\n }, function (s) {\n return stringUtilities_1.StringUtilities.format(_this.i18n.commaEveryX0Years(s), s);\n }, function (s) {\n return _this.i18n.commaYearX0ThroughYearX1() || _this.i18n.commaX0ThroughX1();\n }, function (s) {\n return _this.i18n.commaOnlyInYearX0 ? _this.i18n.commaOnlyInYearX0() : _this.i18n.commaOnlyInX0();\n });\n return description;\n };\n ExpressionDescriptor.prototype.getSegmentDescription = function (expression, allDescription, getSingleItemDescription, getIncrementDescriptionFormat, getRangeDescriptionFormat, getDescriptionFormat) {\n var description = null;\n var doesExpressionContainIncrement = expression.indexOf(\"/\") > -1;\n var doesExpressionContainRange = expression.indexOf(\"-\") > -1;\n var doesExpressionContainMultipleValues = expression.indexOf(\",\") > -1;\n if (!expression) {\n description = \"\";\n }\n else if (expression === \"*\") {\n description = allDescription;\n }\n else if (!doesExpressionContainIncrement && !doesExpressionContainRange && !doesExpressionContainMultipleValues) {\n description = stringUtilities_1.StringUtilities.format(getDescriptionFormat(expression), getSingleItemDescription(expression));\n }\n else if (doesExpressionContainMultipleValues) {\n var segments = expression.split(\",\");\n var descriptionContent = \"\";\n for (var i = 0; i < segments.length; i++) {\n if (i > 0 && segments.length > 2) {\n descriptionContent += \",\";\n if (i < segments.length - 1) {\n descriptionContent += \" \";\n }\n }\n if (i > 0 && segments.length > 1 && (i == segments.length - 1 || segments.length == 2)) {\n descriptionContent += \"\".concat(this.i18n.spaceAnd(), \" \");\n }\n if (segments[i].indexOf(\"/\") > -1 || segments[i].indexOf(\"-\") > -1) {\n var isSegmentRangeWithoutIncrement = segments[i].indexOf(\"-\") > -1 && segments[i].indexOf(\"/\") == -1;\n var currentDescriptionContent = this.getSegmentDescription(segments[i], allDescription, getSingleItemDescription, getIncrementDescriptionFormat, isSegmentRangeWithoutIncrement ? this.i18n.commaX0ThroughX1 : getRangeDescriptionFormat, getDescriptionFormat);\n if (isSegmentRangeWithoutIncrement) {\n currentDescriptionContent = currentDescriptionContent.replace(\", \", \"\");\n }\n descriptionContent += currentDescriptionContent;\n }\n else if (!doesExpressionContainIncrement) {\n descriptionContent += getSingleItemDescription(segments[i]);\n }\n else {\n descriptionContent += this.getSegmentDescription(segments[i], allDescription, getSingleItemDescription, getIncrementDescriptionFormat, getRangeDescriptionFormat, getDescriptionFormat);\n }\n }\n if (!doesExpressionContainIncrement) {\n description = stringUtilities_1.StringUtilities.format(getDescriptionFormat(expression), descriptionContent);\n }\n else {\n description = descriptionContent;\n }\n }\n else if (doesExpressionContainIncrement) {\n var segments = expression.split(\"/\");\n description = stringUtilities_1.StringUtilities.format(getIncrementDescriptionFormat(segments[1]), segments[1]);\n if (segments[0].indexOf(\"-\") > -1) {\n var rangeSegmentDescription = this.generateRangeSegmentDescription(segments[0], getRangeDescriptionFormat, getSingleItemDescription);\n if (rangeSegmentDescription.indexOf(\", \") != 0) {\n description += \", \";\n }\n description += rangeSegmentDescription;\n }\n else if (segments[0].indexOf(\"*\") == -1) {\n var rangeItemDescription = stringUtilities_1.StringUtilities.format(getDescriptionFormat(segments[0]), getSingleItemDescription(segments[0]));\n rangeItemDescription = rangeItemDescription.replace(\", \", \"\");\n description += stringUtilities_1.StringUtilities.format(this.i18n.commaStartingX0(), rangeItemDescription);\n }\n }\n else if (doesExpressionContainRange) {\n description = this.generateRangeSegmentDescription(expression, getRangeDescriptionFormat, getSingleItemDescription);\n }\n return description;\n };\n ExpressionDescriptor.prototype.generateRangeSegmentDescription = function (rangeExpression, getRangeDescriptionFormat, getSingleItemDescription) {\n var description = \"\";\n var rangeSegments = rangeExpression.split(\"-\");\n var rangeSegment1Description = getSingleItemDescription(rangeSegments[0], 1);\n var rangeSegment2Description = getSingleItemDescription(rangeSegments[1], 2);\n var rangeDescriptionFormat = getRangeDescriptionFormat(rangeExpression);\n description += stringUtilities_1.StringUtilities.format(rangeDescriptionFormat, rangeSegment1Description, rangeSegment2Description);\n return description;\n };\n ExpressionDescriptor.prototype.formatTime = function (hourExpression, minuteExpression, secondExpression) {\n var hourOffset = 0;\n var minuteOffset = 0;\n if (this.options.tzOffset) {\n hourOffset = this.options.tzOffset > 0 ? Math.floor(this.options.tzOffset) : Math.ceil(this.options.tzOffset);\n minuteOffset = (parseFloat((this.options.tzOffset % 1).toFixed(2)));\n if (minuteOffset != 0) {\n minuteOffset *= 60;\n }\n }\n var hour = parseInt(hourExpression) + (hourOffset);\n var minute = parseInt(minuteExpression) + (minuteOffset);\n if (minute >= 60) {\n minute -= 60;\n hour += 1;\n }\n else if (minute < 0) {\n minute += 60;\n hour -= 1;\n }\n if (hour >= 24) {\n hour = hour - 24;\n }\n else if (hour < 0) {\n hour = 24 + hour;\n }\n var period = \"\";\n var setPeriodBeforeTime = false;\n if (!this.options.use24HourTimeFormat) {\n setPeriodBeforeTime = !!(this.i18n.setPeriodBeforeTime && this.i18n.setPeriodBeforeTime());\n period = setPeriodBeforeTime ? \"\".concat(this.getPeriod(hour), \" \") : \" \".concat(this.getPeriod(hour));\n if (hour > 12) {\n hour -= 12;\n }\n if (hour === 0) {\n hour = 12;\n }\n }\n var second = \"\";\n if (secondExpression) {\n second = \":\".concat((\"00\" + secondExpression).substring(secondExpression.length));\n }\n return \"\".concat(setPeriodBeforeTime ? period : \"\").concat((\"00\" + hour.toString()).substring(hour.toString().length), \":\").concat((\"00\" + minute.toString()).substring(minute.toString().length)).concat(second).concat(!setPeriodBeforeTime ? period : \"\");\n };\n ExpressionDescriptor.prototype.transformVerbosity = function (description, useVerboseFormat) {\n if (!useVerboseFormat) {\n description = description.replace(new RegExp(\", \".concat(this.i18n.everyMinute()), \"g\"), \"\");\n description = description.replace(new RegExp(\", \".concat(this.i18n.everyHour()), \"g\"), \"\");\n description = description.replace(new RegExp(this.i18n.commaEveryDay(), \"g\"), \"\");\n description = description.replace(/\\, ?$/, \"\");\n }\n return description;\n };\n ExpressionDescriptor.prototype.getPeriod = function (hour) {\n return hour >= 12 ? (this.i18n.pm && this.i18n.pm()) || \"PM\" : (this.i18n.am && this.i18n.am()) || \"AM\";\n };\n ExpressionDescriptor.locales = {};\n return ExpressionDescriptor;\n}());\nexports.ExpressionDescriptor = ExpressionDescriptor;\n\n\n/***/ }),\n\n/***/ 747:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.enLocaleLoader = void 0;\nvar en_1 = __webpack_require__(486);\nvar enLocaleLoader = (function () {\n function enLocaleLoader() {\n }\n enLocaleLoader.prototype.load = function (availableLocales) {\n availableLocales[\"en\"] = new en_1.en();\n };\n return enLocaleLoader;\n}());\nexports.enLocaleLoader = enLocaleLoader;\n\n\n/***/ }),\n\n/***/ 486:\n/***/ ((__unused_webpack_module, exports) => {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.en = void 0;\nvar en = (function () {\n function en() {\n }\n en.prototype.atX0SecondsPastTheMinuteGt20 = function () {\n return null;\n };\n en.prototype.atX0MinutesPastTheHourGt20 = function () {\n return null;\n };\n en.prototype.commaMonthX0ThroughMonthX1 = function () {\n return null;\n };\n en.prototype.commaYearX0ThroughYearX1 = function () {\n return null;\n };\n en.prototype.use24HourTimeFormatByDefault = function () {\n return false;\n };\n en.prototype.anErrorOccuredWhenGeneratingTheExpressionD = function () {\n return \"An error occured when generating the expression description. Check the cron expression syntax.\";\n };\n en.prototype.everyMinute = function () {\n return \"every minute\";\n };\n en.prototype.everyHour = function () {\n return \"every hour\";\n };\n en.prototype.atSpace = function () {\n return \"At \";\n };\n en.prototype.everyMinuteBetweenX0AndX1 = function () {\n return \"Every minute between %s and %s\";\n };\n en.prototype.at = function () {\n return \"At\";\n };\n en.prototype.spaceAnd = function () {\n return \" and\";\n };\n en.prototype.everySecond = function () {\n return \"every second\";\n };\n en.prototype.everyX0Seconds = function () {\n return \"every %s seconds\";\n };\n en.prototype.secondsX0ThroughX1PastTheMinute = function () {\n return \"seconds %s through %s past the minute\";\n };\n en.prototype.atX0SecondsPastTheMinute = function () {\n return \"at %s seconds past the minute\";\n };\n en.prototype.everyX0Minutes = function () {\n return \"every %s minutes\";\n };\n en.prototype.minutesX0ThroughX1PastTheHour = function () {\n return \"minutes %s through %s past the hour\";\n };\n en.prototype.atX0MinutesPastTheHour = function () {\n return \"at %s minutes past the hour\";\n };\n en.prototype.everyX0Hours = function () {\n return \"every %s hours\";\n };\n en.prototype.betweenX0AndX1 = function () {\n return \"between %s and %s\";\n };\n en.prototype.atX0 = function () {\n return \"at %s\";\n };\n en.prototype.commaEveryDay = function () {\n return \", every day\";\n };\n en.prototype.commaEveryX0DaysOfTheWeek = function () {\n return \", every %s days of the week\";\n };\n en.prototype.commaX0ThroughX1 = function () {\n return \", %s through %s\";\n };\n en.prototype.commaAndX0ThroughX1 = function () {\n return \", %s through %s\";\n };\n en.prototype.first = function () {\n return \"first\";\n };\n en.prototype.second = function () {\n return \"second\";\n };\n en.prototype.third = function () {\n return \"third\";\n };\n en.prototype.fourth = function () {\n return \"fourth\";\n };\n en.prototype.fifth = function () {\n return \"fifth\";\n };\n en.prototype.commaOnThe = function () {\n return \", on the \";\n };\n en.prototype.spaceX0OfTheMonth = function () {\n return \" %s of the month\";\n };\n en.prototype.lastDay = function () {\n return \"the last day\";\n };\n en.prototype.commaOnTheLastX0OfTheMonth = function () {\n return \", on the last %s of the month\";\n };\n en.prototype.commaOnlyOnX0 = function () {\n return \", only on %s\";\n };\n en.prototype.commaAndOnX0 = function () {\n return \", and on %s\";\n };\n en.prototype.commaEveryX0Months = function () {\n return \", every %s months\";\n };\n en.prototype.commaOnlyInX0 = function () {\n return \", only in %s\";\n };\n en.prototype.commaOnTheLastDayOfTheMonth = function () {\n return \", on the last day of the month\";\n };\n en.prototype.commaOnTheLastWeekdayOfTheMonth = function () {\n return \", on the last weekday of the month\";\n };\n en.prototype.commaDaysBeforeTheLastDayOfTheMonth = function () {\n return \", %s days before the last day of the month\";\n };\n en.prototype.firstWeekday = function () {\n return \"first weekday\";\n };\n en.prototype.weekdayNearestDayX0 = function () {\n return \"weekday nearest day %s\";\n };\n en.prototype.commaOnTheX0OfTheMonth = function () {\n return \", on the %s of the month\";\n };\n en.prototype.commaEveryX0Days = function () {\n return \", every %s days\";\n };\n en.prototype.commaBetweenDayX0AndX1OfTheMonth = function () {\n return \", between day %s and %s of the month\";\n };\n en.prototype.commaOnDayX0OfTheMonth = function () {\n return \", on day %s of the month\";\n };\n en.prototype.commaEveryHour = function () {\n return \", every hour\";\n };\n en.prototype.commaEveryX0Years = function () {\n return \", every %s years\";\n };\n en.prototype.commaStartingX0 = function () {\n return \", starting %s\";\n };\n en.prototype.daysOfTheWeek = function () {\n return [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\n };\n en.prototype.monthsOfTheYear = function () {\n return [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ];\n };\n return en;\n}());\nexports.en = en;\n\n\n/***/ }),\n\n/***/ 515:\n/***/ ((__unused_webpack_module, exports) => {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nfunction assert(value, message) {\n if (!value) {\n throw new Error(message);\n }\n}\nvar RangeValidator = (function () {\n function RangeValidator() {\n }\n RangeValidator.secondRange = function (parse) {\n var parsed = parse.split(',');\n for (var i = 0; i < parsed.length; i++) {\n if (!isNaN(parseInt(parsed[i], 10))) {\n var second = parseInt(parsed[i], 10);\n assert(second >= 0 && second <= 59, 'seconds part must be >= 0 and <= 59');\n }\n }\n };\n RangeValidator.minuteRange = function (parse) {\n var parsed = parse.split(',');\n for (var i = 0; i < parsed.length; i++) {\n if (!isNaN(parseInt(parsed[i], 10))) {\n var minute = parseInt(parsed[i], 10);\n assert(minute >= 0 && minute <= 59, 'minutes part must be >= 0 and <= 59');\n }\n }\n };\n RangeValidator.hourRange = function (parse) {\n var parsed = parse.split(',');\n for (var i = 0; i < parsed.length; i++) {\n if (!isNaN(parseInt(parsed[i], 10))) {\n var hour = parseInt(parsed[i], 10);\n assert(hour >= 0 && hour <= 23, 'hours part must be >= 0 and <= 23');\n }\n }\n };\n RangeValidator.dayOfMonthRange = function (parse) {\n var parsed = parse.split(',');\n for (var i = 0; i < parsed.length; i++) {\n if (!isNaN(parseInt(parsed[i], 10))) {\n var dayOfMonth = parseInt(parsed[i], 10);\n assert(dayOfMonth >= 1 && dayOfMonth <= 31, 'DOM part must be >= 1 and <= 31');\n }\n }\n };\n RangeValidator.monthRange = function (parse, monthStartIndexZero) {\n var parsed = parse.split(',');\n for (var i = 0; i < parsed.length; i++) {\n if (!isNaN(parseInt(parsed[i], 10))) {\n var month = parseInt(parsed[i], 10);\n assert(month >= 1 && month <= 12, monthStartIndexZero ? 'month part must be >= 0 and <= 11' : 'month part must be >= 1 and <= 12');\n }\n }\n };\n RangeValidator.dayOfWeekRange = function (parse, dayOfWeekStartIndexZero) {\n var parsed = parse.split(',');\n for (var i = 0; i < parsed.length; i++) {\n if (!isNaN(parseInt(parsed[i], 10))) {\n var dayOfWeek = parseInt(parsed[i], 10);\n assert(dayOfWeek >= 0 && dayOfWeek <= 6, dayOfWeekStartIndexZero ? 'DOW part must be >= 0 and <= 6' : 'DOW part must be >= 1 and <= 7');\n }\n }\n };\n return RangeValidator;\n}());\nexports[\"default\"] = RangeValidator;\n\n\n/***/ }),\n\n/***/ 823:\n/***/ ((__unused_webpack_module, exports) => {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StringUtilities = void 0;\nvar StringUtilities = (function () {\n function StringUtilities() {\n }\n StringUtilities.format = function (template) {\n var values = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n values[_i - 1] = arguments[_i];\n }\n return template.replace(/%s/g, function (substring) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n return values.shift();\n });\n };\n StringUtilities.containsAny = function (text, searchStrings) {\n return searchStrings.some(function (c) {\n return text.indexOf(c) > -1;\n });\n };\n return StringUtilities;\n}());\nexports.StringUtilities = StringUtilities;\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it uses a non-standard name for the exports (exports).\n(() => {\nvar exports = __webpack_exports__;\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.toString = void 0;\nvar expressionDescriptor_1 = __webpack_require__(333);\nvar enLocaleLoader_1 = __webpack_require__(747);\nexpressionDescriptor_1.ExpressionDescriptor.initialize(new enLocaleLoader_1.enLocaleLoader());\nexports[\"default\"] = expressionDescriptor_1.ExpressionDescriptor;\nvar toString = expressionDescriptor_1.ExpressionDescriptor.toString;\nexports.toString = toString;\n\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});", "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"cronstrue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"locales/fr\", [\"cronstrue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"locales/fr\"] = factory(require(\"cronstrue\"));\n\telse\n\t\troot[\"locales/fr\"] = factory(root[\"cronstrue\"]);\n})(globalThis, (__WEBPACK_EXTERNAL_MODULE__93__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 93:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__93__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(93);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cronstrue__WEBPACK_IMPORTED_MODULE_0__);\nvar exports = __webpack_exports__;\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fr = void 0;\nvar fr = (function () {\n function fr() {\n }\n fr.prototype.atX0SecondsPastTheMinuteGt20 = function () {\n return null;\n };\n fr.prototype.atX0MinutesPastTheHourGt20 = function () {\n return null;\n };\n fr.prototype.commaMonthX0ThroughMonthX1 = function () {\n return null;\n };\n fr.prototype.commaYearX0ThroughYearX1 = function () {\n return null;\n };\n fr.prototype.use24HourTimeFormatByDefault = function () {\n return true;\n };\n fr.prototype.everyMinute = function () {\n return \"toutes les minutes\";\n };\n fr.prototype.everyHour = function () {\n return \"toutes les heures\";\n };\n fr.prototype.anErrorOccuredWhenGeneratingTheExpressionD = function () {\n return \"Une erreur est survenue en g\u00E9n\u00E9rant la description de l'expression cron. V\u00E9rifiez sa syntaxe.\";\n };\n fr.prototype.atSpace = function () {\n return \"\u00C0 \";\n };\n fr.prototype.everyMinuteBetweenX0AndX1 = function () {\n return \"Toutes les minutes entre %s et %s\";\n };\n fr.prototype.at = function () {\n return \"\u00C0\";\n };\n fr.prototype.spaceAnd = function () {\n return \" et\";\n };\n fr.prototype.everySecond = function () {\n return \"toutes les secondes\";\n };\n fr.prototype.everyX0Seconds = function () {\n return \"toutes les %s secondes\";\n };\n fr.prototype.secondsX0ThroughX1PastTheMinute = function () {\n return \"les secondes entre %s et %s apr\u00E8s la minute\";\n };\n fr.prototype.atX0SecondsPastTheMinute = function () {\n return \"%s secondes apr\u00E8s la minute\";\n };\n fr.prototype.everyX0Minutes = function () {\n return \"toutes les %s minutes\";\n };\n fr.prototype.minutesX0ThroughX1PastTheHour = function () {\n return \"les minutes entre %s et %s apr\u00E8s l'heure\";\n };\n fr.prototype.atX0MinutesPastTheHour = function () {\n return \"%s minutes apr\u00E8s l'heure\";\n };\n fr.prototype.everyX0Hours = function () {\n return \"toutes les %s heures\";\n };\n fr.prototype.betweenX0AndX1 = function () {\n return \"de %s \u00E0 %s\";\n };\n fr.prototype.atX0 = function () {\n return \"\u00E0 %s\";\n };\n fr.prototype.commaEveryDay = function () {\n return \", tous les jours\";\n };\n fr.prototype.commaEveryX0DaysOfTheWeek = function () {\n return \", tous les %s jours de la semaine\";\n };\n fr.prototype.commaX0ThroughX1 = function () {\n return \", de %s \u00E0 %s\";\n };\n fr.prototype.commaAndX0ThroughX1 = function () {\n return \", et de %s \u00E0 %s\";\n };\n fr.prototype.first = function () {\n return \"premier\";\n };\n fr.prototype.second = function () {\n return \"second\";\n };\n fr.prototype.third = function () {\n return \"troisi\u00E8me\";\n };\n fr.prototype.fourth = function () {\n return \"quatri\u00E8me\";\n };\n fr.prototype.fifth = function () {\n return \"cinqui\u00E8me\";\n };\n fr.prototype.commaOnThe = function () {\n return \", le \";\n };\n fr.prototype.spaceX0OfTheMonth = function () {\n return \" %s du mois\";\n };\n fr.prototype.lastDay = function () {\n return \"le dernier jour\";\n };\n fr.prototype.commaOnTheLastX0OfTheMonth = function () {\n return \", le dernier %s du mois\";\n };\n fr.prototype.commaOnlyOnX0 = function () {\n return \", uniquement le %s\";\n };\n fr.prototype.commaAndOnX0 = function () {\n return \", et %s\";\n };\n fr.prototype.commaEveryX0Months = function () {\n return \", tous les %s mois\";\n };\n fr.prototype.commaOnlyInX0 = function () {\n return \", uniquement en %s\";\n };\n fr.prototype.commaOnTheLastDayOfTheMonth = function () {\n return \", le dernier jour du mois\";\n };\n fr.prototype.commaOnTheLastWeekdayOfTheMonth = function () {\n return \", le dernier jour ouvrable du mois\";\n };\n fr.prototype.commaDaysBeforeTheLastDayOfTheMonth = function () {\n return \", %s jours avant le dernier jour du mois\";\n };\n fr.prototype.firstWeekday = function () {\n return \"premier jour ouvrable\";\n };\n fr.prototype.weekdayNearestDayX0 = function () {\n return \"jour ouvrable le plus proche du %s\";\n };\n fr.prototype.commaOnTheX0OfTheMonth = function () {\n return \", le %s du mois\";\n };\n fr.prototype.commaEveryX0Days = function () {\n return \", tous les %s jours\";\n };\n fr.prototype.commaBetweenDayX0AndX1OfTheMonth = function () {\n return \", du %s au %s du mois\";\n };\n fr.prototype.commaOnDayX0OfTheMonth = function () {\n return \", le %s du mois\";\n };\n fr.prototype.commaEveryX0Years = function () {\n return \", tous les %s ans\";\n };\n fr.prototype.commaDaysX0ThroughX1 = function () {\n return \", du %s au %s\";\n };\n fr.prototype.commaStartingX0 = function () {\n return \", \u00E0 partir de %s\";\n };\n fr.prototype.daysOfTheWeek = function () {\n return [\"dimanche\", \"lundi\", \"mardi\", \"mercredi\", \"jeudi\", \"vendredi\", \"samedi\"];\n };\n fr.prototype.monthsOfTheYear = function () {\n return [\n \"janvier\",\n \"f\u00E9vrier\",\n \"mars\",\n \"avril\",\n \"mai\",\n \"juin\",\n \"juillet\",\n \"ao\u00FBt\",\n \"septembre\",\n \"octobre\",\n \"novembre\",\n \"d\u00E9cembre\",\n ];\n };\n return fr;\n}());\nexports.fr = fr;\n\n\n(cronstrue__WEBPACK_IMPORTED_MODULE_0___default().locales)[\"fr\"] = new fr();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});", "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"cronstrue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"locales/es\", [\"cronstrue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"locales/es\"] = factory(require(\"cronstrue\"));\n\telse\n\t\troot[\"locales/es\"] = factory(root[\"cronstrue\"]);\n})(globalThis, (__WEBPACK_EXTERNAL_MODULE__93__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 93:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__93__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(93);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cronstrue__WEBPACK_IMPORTED_MODULE_0__);\nvar exports = __webpack_exports__;\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es = void 0;\nvar es = (function () {\n function es() {\n }\n es.prototype.atX0SecondsPastTheMinuteGt20 = function () {\n return null;\n };\n es.prototype.atX0MinutesPastTheHourGt20 = function () {\n return null;\n };\n es.prototype.commaMonthX0ThroughMonthX1 = function () {\n return null;\n };\n es.prototype.commaYearX0ThroughYearX1 = function () {\n return null;\n };\n es.prototype.use24HourTimeFormatByDefault = function () {\n return true;\n };\n es.prototype.anErrorOccuredWhenGeneratingTheExpressionD = function () {\n return \"Ocurri\u00F3 un error mientras se generaba la descripci\u00F3n de la expresi\u00F3n. Revise la sintaxis de la expresi\u00F3n de cron.\";\n };\n es.prototype.at = function () {\n return \"A las\";\n };\n es.prototype.atSpace = function () {\n return \"A las \";\n };\n es.prototype.atX0 = function () {\n return \"a las %s\";\n };\n es.prototype.atX0MinutesPastTheHour = function () {\n return \"a los %s minutos de la hora\";\n };\n es.prototype.atX0SecondsPastTheMinute = function () {\n return \"a los %s segundos del minuto\";\n };\n es.prototype.betweenX0AndX1 = function () {\n return \"entre las %s y las %s\";\n };\n es.prototype.commaBetweenDayX0AndX1OfTheMonth = function () {\n return \", entre los d\u00EDas %s y %s del mes\";\n };\n es.prototype.commaEveryDay = function () {\n return \", cada d\u00EDa\";\n };\n es.prototype.commaEveryX0Days = function () {\n return \", cada %s d\u00EDas\";\n };\n es.prototype.commaEveryX0DaysOfTheWeek = function () {\n return \", cada %s d\u00EDas de la semana\";\n };\n es.prototype.commaEveryX0Months = function () {\n return \", cada %s meses\";\n };\n es.prototype.commaOnDayX0OfTheMonth = function () {\n return \", el d\u00EDa %s del mes\";\n };\n es.prototype.commaOnlyInX0 = function () {\n return \", s\u00F3lo en %s\";\n };\n es.prototype.commaOnlyOnX0 = function () {\n return \", s\u00F3lo el %s\";\n };\n es.prototype.commaAndOnX0 = function () {\n return \", y el %s\";\n };\n es.prototype.commaOnThe = function () {\n return \", en el \";\n };\n es.prototype.commaOnTheLastDayOfTheMonth = function () {\n return \", en el \u00FAltimo d\u00EDa del mes\";\n };\n es.prototype.commaOnTheLastWeekdayOfTheMonth = function () {\n return \", en el \u00FAltimo d\u00EDa de la semana del mes\";\n };\n es.prototype.commaDaysBeforeTheLastDayOfTheMonth = function () {\n return \", %s d\u00EDas antes del \u00FAltimo d\u00EDa del mes\";\n };\n es.prototype.commaOnTheLastX0OfTheMonth = function () {\n return \", en el \u00FAltimo %s del mes\";\n };\n es.prototype.commaOnTheX0OfTheMonth = function () {\n return \", en el %s del mes\";\n };\n es.prototype.commaX0ThroughX1 = function () {\n return \", de %s a %s\";\n };\n es.prototype.commaAndX0ThroughX1 = function () {\n return \", y de %s a %s\";\n };\n es.prototype.everyHour = function () {\n return \"cada hora\";\n };\n es.prototype.everyMinute = function () {\n return \"cada minuto\";\n };\n es.prototype.everyMinuteBetweenX0AndX1 = function () {\n return \"cada minuto entre las %s y las %s\";\n };\n es.prototype.everySecond = function () {\n return \"cada segundo\";\n };\n es.prototype.everyX0Hours = function () {\n return \"cada %s horas\";\n };\n es.prototype.everyX0Minutes = function () {\n return \"cada %s minutos\";\n };\n es.prototype.everyX0Seconds = function () {\n return \"cada %s segundos\";\n };\n es.prototype.fifth = function () {\n return \"quinto\";\n };\n es.prototype.first = function () {\n return \"primero\";\n };\n es.prototype.firstWeekday = function () {\n return \"primer d\u00EDa de la semana\";\n };\n es.prototype.fourth = function () {\n return \"cuarto\";\n };\n es.prototype.minutesX0ThroughX1PastTheHour = function () {\n return \"del minuto %s al %s pasada la hora\";\n };\n es.prototype.second = function () {\n return \"segundo\";\n };\n es.prototype.secondsX0ThroughX1PastTheMinute = function () {\n return \"En los segundos %s al %s de cada minuto\";\n };\n es.prototype.spaceAnd = function () {\n return \" y\";\n };\n es.prototype.spaceX0OfTheMonth = function () {\n return \" %s del mes\";\n };\n es.prototype.lastDay = function () {\n return \"el \u00FAltimo d\u00EDa\";\n };\n es.prototype.third = function () {\n return \"tercer\";\n };\n es.prototype.weekdayNearestDayX0 = function () {\n return \"d\u00EDa de la semana m\u00E1s pr\u00F3ximo al %s\";\n };\n es.prototype.commaEveryX0Years = function () {\n return \", cada %s a\u00F1os\";\n };\n es.prototype.commaStartingX0 = function () {\n return \", comenzando %s\";\n };\n es.prototype.daysOfTheWeek = function () {\n return [\"domingo\", \"lunes\", \"martes\", \"mi\u00E9rcoles\", \"jueves\", \"viernes\", \"s\u00E1bado\"];\n };\n es.prototype.monthsOfTheYear = function () {\n return [\n \"enero\",\n \"febrero\",\n \"marzo\",\n \"abril\",\n \"mayo\",\n \"junio\",\n \"julio\",\n \"agosto\",\n \"septiembre\",\n \"octubre\",\n \"noviembre\",\n \"diciembre\",\n ];\n };\n return es;\n}());\nexports.es = es;\n\n\n(cronstrue__WEBPACK_IMPORTED_MODULE_0___default().locales)[\"es\"] = new es();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});", "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"cronstrue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"locales/de\", [\"cronstrue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"locales/de\"] = factory(require(\"cronstrue\"));\n\telse\n\t\troot[\"locales/de\"] = factory(root[\"cronstrue\"]);\n})(globalThis, (__WEBPACK_EXTERNAL_MODULE__93__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 93:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__93__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(93);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cronstrue__WEBPACK_IMPORTED_MODULE_0__);\nvar exports = __webpack_exports__;\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.de = void 0;\nvar de = (function () {\n function de() {\n }\n de.prototype.atX0SecondsPastTheMinuteGt20 = function () {\n return null;\n };\n de.prototype.atX0MinutesPastTheHourGt20 = function () {\n return null;\n };\n de.prototype.commaMonthX0ThroughMonthX1 = function () {\n return null;\n };\n de.prototype.commaYearX0ThroughYearX1 = function () {\n return null;\n };\n de.prototype.use24HourTimeFormatByDefault = function () {\n return true;\n };\n de.prototype.everyMinute = function () {\n return \"jede Minute\";\n };\n de.prototype.everyHour = function () {\n return \"jede Stunde\";\n };\n de.prototype.anErrorOccuredWhenGeneratingTheExpressionD = function () {\n return \"Beim Generieren der Ausdrucksbeschreibung ist ein Fehler aufgetreten. \u00DCberpr\u00FCfen Sie die Syntax des Cron-Ausdrucks.\";\n };\n de.prototype.atSpace = function () {\n return \"Um \";\n };\n de.prototype.everyMinuteBetweenX0AndX1 = function () {\n return \"Jede Minute zwischen %s und %s\";\n };\n de.prototype.at = function () {\n return \"Um\";\n };\n de.prototype.spaceAnd = function () {\n return \" und\";\n };\n de.prototype.everySecond = function () {\n return \"Jede Sekunde\";\n };\n de.prototype.everyX0Seconds = function () {\n return \"alle %s Sekunden\";\n };\n de.prototype.secondsX0ThroughX1PastTheMinute = function () {\n return \"Sekunden %s bis %s\";\n };\n de.prototype.atX0SecondsPastTheMinute = function () {\n return \"bei Sekunde %s\";\n };\n de.prototype.everyX0Minutes = function () {\n return \"alle %s Minuten\";\n };\n de.prototype.minutesX0ThroughX1PastTheHour = function () {\n return \"Minuten %s bis %s\";\n };\n de.prototype.atX0MinutesPastTheHour = function () {\n return \"bei Minute %s\";\n };\n de.prototype.everyX0Hours = function () {\n return \"alle %s Stunden\";\n };\n de.prototype.betweenX0AndX1 = function () {\n return \"zwischen %s und %s\";\n };\n de.prototype.atX0 = function () {\n return \"um %s\";\n };\n de.prototype.commaEveryDay = function () {\n return \", jeden Tag\";\n };\n de.prototype.commaEveryX0DaysOfTheWeek = function () {\n return \", alle %s Tage der Woche\";\n };\n de.prototype.commaX0ThroughX1 = function () {\n return \", %s bis %s\";\n };\n de.prototype.commaAndX0ThroughX1 = function () {\n return \", und %s bis %s\";\n };\n de.prototype.first = function () {\n return \"ersten\";\n };\n de.prototype.second = function () {\n return \"zweiten\";\n };\n de.prototype.third = function () {\n return \"dritten\";\n };\n de.prototype.fourth = function () {\n return \"vierten\";\n };\n de.prototype.fifth = function () {\n return \"f\u00FCnften\";\n };\n de.prototype.commaOnThe = function () {\n return \", am \";\n };\n de.prototype.spaceX0OfTheMonth = function () {\n return \" %s des Monats\";\n };\n de.prototype.lastDay = function () {\n return \"der letzte Tag\";\n };\n de.prototype.commaOnTheLastX0OfTheMonth = function () {\n return \", am letzten %s des Monats\";\n };\n de.prototype.commaOnlyOnX0 = function () {\n return \", nur jeden %s\";\n };\n de.prototype.commaAndOnX0 = function () {\n return \", und jeden %s\";\n };\n de.prototype.commaEveryX0Months = function () {\n return \", alle %s Monate\";\n };\n de.prototype.commaOnlyInX0 = function () {\n return \", nur im %s\";\n };\n de.prototype.commaOnTheLastDayOfTheMonth = function () {\n return \", am letzten Tag des Monats\";\n };\n de.prototype.commaOnTheLastWeekdayOfTheMonth = function () {\n return \", am letzten Werktag des Monats\";\n };\n de.prototype.commaDaysBeforeTheLastDayOfTheMonth = function () {\n return \", %s tage vor dem letzten Tag des Monats\";\n };\n de.prototype.firstWeekday = function () {\n return \"ersten Werktag\";\n };\n de.prototype.weekdayNearestDayX0 = function () {\n return \"Werktag am n\u00E4chsten zum %s Tag\";\n };\n de.prototype.commaOnTheX0OfTheMonth = function () {\n return \", am %s des Monats\";\n };\n de.prototype.commaEveryX0Days = function () {\n return \", alle %s Tage\";\n };\n de.prototype.commaBetweenDayX0AndX1OfTheMonth = function () {\n return \", zwischen Tag %s und %s des Monats\";\n };\n de.prototype.commaOnDayX0OfTheMonth = function () {\n return \", an Tag %s des Monats\";\n };\n de.prototype.commaEveryX0Years = function () {\n return \", alle %s Jahre\";\n };\n de.prototype.commaStartingX0 = function () {\n return \", beginnend %s\";\n };\n de.prototype.daysOfTheWeek = function () {\n return [\"Sonntag\", \"Montag\", \"Dienstag\", \"Mittwoch\", \"Donnerstag\", \"Freitag\", \"Samstag\"];\n };\n de.prototype.monthsOfTheYear = function () {\n return [\n \"Januar\",\n \"Februar\",\n \"M\u00E4rz\",\n \"April\",\n \"Mai\",\n \"Juni\",\n \"Juli\",\n \"August\",\n \"September\",\n \"Oktober\",\n \"November\",\n \"Dezember\",\n ];\n };\n return de;\n}());\nexports.de = de;\n\n\n(cronstrue__WEBPACK_IMPORTED_MODULE_0___default().locales)[\"de\"] = new de();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});", "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"cronstrue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"locales/it\", [\"cronstrue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"locales/it\"] = factory(require(\"cronstrue\"));\n\telse\n\t\troot[\"locales/it\"] = factory(root[\"cronstrue\"]);\n})(globalThis, (__WEBPACK_EXTERNAL_MODULE__93__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 93:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__93__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(93);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cronstrue__WEBPACK_IMPORTED_MODULE_0__);\nvar exports = __webpack_exports__;\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.it = void 0;\nvar it = (function () {\n function it() {\n }\n it.prototype.atX0SecondsPastTheMinuteGt20 = function () {\n return null;\n };\n it.prototype.atX0MinutesPastTheHourGt20 = function () {\n return null;\n };\n it.prototype.commaMonthX0ThroughMonthX1 = function () {\n return null;\n };\n it.prototype.commaYearX0ThroughYearX1 = function () {\n return null;\n };\n it.prototype.use24HourTimeFormatByDefault = function () {\n return true;\n };\n it.prototype.anErrorOccuredWhenGeneratingTheExpressionD = function () {\n return \"\u00C8 verificato un errore durante la generazione la descrizione espressione. Controllare la sintassi delle espressioni cron.\";\n };\n it.prototype.at = function () {\n return \"Alle\";\n };\n it.prototype.atSpace = function () {\n return \"Alle \";\n };\n it.prototype.atX0 = function () {\n return \"alle %s\";\n };\n it.prototype.atX0MinutesPastTheHour = function () {\n return \"al %s minuto passata l'ora\";\n };\n it.prototype.atX0SecondsPastTheMinute = function () {\n return \"al %s secondo passato il minuto\";\n };\n it.prototype.betweenX0AndX1 = function () {\n return \"tra le %s e le %s\";\n };\n it.prototype.commaBetweenDayX0AndX1OfTheMonth = function () {\n return \", tra il giorno %s e %s del mese\";\n };\n it.prototype.commaEveryDay = function () {\n return \", ogni giorno\";\n };\n it.prototype.commaEveryX0Days = function () {\n return \", ogni %s giorni\";\n };\n it.prototype.commaEveryX0DaysOfTheWeek = function () {\n return \", ogni %s giorni della settimana\";\n };\n it.prototype.commaEveryX0Months = function () {\n return \", ogni %s mesi\";\n };\n it.prototype.commaEveryX0Years = function () {\n return \", ogni %s anni\";\n };\n it.prototype.commaOnDayX0OfTheMonth = function () {\n return \", il giorno %s del mese\";\n };\n it.prototype.commaOnlyInX0 = function () {\n return \", solo in %s\";\n };\n it.prototype.commaOnlyOnX0 = function () {\n return \", solo il %s\";\n };\n it.prototype.commaAndOnX0 = function () {\n return \", e il %s\";\n };\n it.prototype.commaOnThe = function () {\n return \", il \";\n };\n it.prototype.commaOnTheLastDayOfTheMonth = function () {\n return \", l'ultimo giorno del mese\";\n };\n it.prototype.commaOnTheLastWeekdayOfTheMonth = function () {\n return \", nell'ultima settimana del mese\";\n };\n it.prototype.commaDaysBeforeTheLastDayOfTheMonth = function () {\n return \", %s giorni prima dell'ultimo giorno del mese\";\n };\n it.prototype.commaOnTheLastX0OfTheMonth = function () {\n return \", l'ultimo %s del mese\";\n };\n it.prototype.commaOnTheX0OfTheMonth = function () {\n return \", il %s del mese\";\n };\n it.prototype.commaX0ThroughX1 = function () {\n return \", %s al %s\";\n };\n it.prototype.commaAndX0ThroughX1 = function () {\n return \", e %s al %s\";\n };\n it.prototype.everyHour = function () {\n return \"ogni ora\";\n };\n it.prototype.everyMinute = function () {\n return \"ogni minuto\";\n };\n it.prototype.everyMinuteBetweenX0AndX1 = function () {\n return \"Ogni minuto tra le %s e le %s\";\n };\n it.prototype.everySecond = function () {\n return \"ogni secondo\";\n };\n it.prototype.everyX0Hours = function () {\n return \"ogni %s ore\";\n };\n it.prototype.everyX0Minutes = function () {\n return \"ogni %s minuti\";\n };\n it.prototype.everyX0Seconds = function () {\n return \"ogni %s secondi\";\n };\n it.prototype.fifth = function () {\n return \"quinto\";\n };\n it.prototype.first = function () {\n return \"primo\";\n };\n it.prototype.firstWeekday = function () {\n return \"primo giorno della settimana\";\n };\n it.prototype.fourth = function () {\n return \"quarto\";\n };\n it.prototype.minutesX0ThroughX1PastTheHour = function () {\n return \"minuti %s al %s dopo l'ora\";\n };\n it.prototype.second = function () {\n return \"secondo\";\n };\n it.prototype.secondsX0ThroughX1PastTheMinute = function () {\n return \"secondi %s al %s oltre il minuto\";\n };\n it.prototype.spaceAnd = function () {\n return \" e\";\n };\n it.prototype.spaceX0OfTheMonth = function () {\n return \" %s del mese\";\n };\n it.prototype.lastDay = function () {\n return \"l'ultimo giorno\";\n };\n it.prototype.third = function () {\n return \"terzo\";\n };\n it.prototype.weekdayNearestDayX0 = function () {\n return \"giorno della settimana pi\u00F9 vicino al %s\";\n };\n it.prototype.commaStartingX0 = function () {\n return \", a partire %s\";\n };\n it.prototype.daysOfTheWeek = function () {\n return [\"domenica\", \"luned\u00EC\", \"marted\u00EC\", \"mercoled\u00EC\", \"gioved\u00EC\", \"venerd\u00EC\", \"sabato\"];\n };\n it.prototype.monthsOfTheYear = function () {\n return [\n \"gennaio\",\n \"febbraio\",\n \"marzo\",\n \"aprile\",\n \"maggio\",\n \"giugno\",\n \"luglio\",\n \"agosto\",\n \"settembre\",\n \"ottobre\",\n \"novembre\",\n \"dicembre\",\n ];\n };\n return it;\n}());\nexports.it = it;\n\n\n(cronstrue__WEBPACK_IMPORTED_MODULE_0___default().locales)[\"it\"] = new it();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});", "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"cronstrue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"locales/ru\", [\"cronstrue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"locales/ru\"] = factory(require(\"cronstrue\"));\n\telse\n\t\troot[\"locales/ru\"] = factory(root[\"cronstrue\"]);\n})(globalThis, (__WEBPACK_EXTERNAL_MODULE__93__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 93:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__93__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(93);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cronstrue__WEBPACK_IMPORTED_MODULE_0__);\nvar exports = __webpack_exports__;\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ru = void 0;\nvar getPhraseByNumber = function (str, words) {\n var number = Number(str);\n return number !== undefined\n ? words[number % 100 > 4 && number % 100 < 20 ? 2 : [2, 0, 1, 1, 1, 2][number % 10 < 5 ? Math.abs(number) % 10 : 5]]\n : words[2];\n};\nvar getPhraseByDayOfWeek = function (str, words) {\n var number = Number(str);\n return number !== undefined\n ? words[number === 0 ? 0 : number === 1 || number === 2 || number === 4 ? 1 : 2]\n : words[1];\n};\nvar ru = (function () {\n function ru() {\n }\n ru.prototype.atX0SecondsPastTheMinuteGt20 = function () {\n return null;\n };\n ru.prototype.atX0MinutesPastTheHourGt20 = function () {\n return null;\n };\n ru.prototype.commaMonthX0ThroughMonthX1 = function () {\n return null;\n };\n ru.prototype.commaYearX0ThroughYearX1 = function () {\n return null;\n };\n ru.prototype.use24HourTimeFormatByDefault = function () {\n return true;\n };\n ru.prototype.everyMinute = function () {\n return \"\u043A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443\";\n };\n ru.prototype.everyHour = function () {\n return \"\u043A\u0430\u0436\u0434\u044B\u0439 \u0447\u0430\u0441\";\n };\n ru.prototype.anErrorOccuredWhenGeneratingTheExpressionD = function () {\n return \"\u041F\u0440\u043E\u0438\u0437\u043E\u0448\u043B\u0430 \u043E\u0448\u0438\u0431\u043A\u0430 \u0432\u043E \u0432\u0440\u0435\u043C\u044F \u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u0438 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u044F \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u044F. \u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0441 \u043A\u0440\u043E\u043D-\u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u044F.\";\n };\n ru.prototype.atSpace = function () {\n return \"\u0412 \";\n };\n ru.prototype.everyMinuteBetweenX0AndX1 = function () {\n return \"\u041A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443 \u0441 %s \u043F\u043E %s\";\n };\n ru.prototype.at = function () {\n return \"\u0412\";\n };\n ru.prototype.spaceAnd = function () {\n return \" \u0438\";\n };\n ru.prototype.everySecond = function () {\n return \"\u043A\u0430\u0436\u0434\u0443\u044E \u0441\u0435\u043A\u0443\u043D\u0434\u0443\";\n };\n ru.prototype.everyX0Seconds = function (s) {\n return getPhraseByNumber(s, [\"\u043A\u0430\u0436\u0434\u0443\u044E %s \u0441\u0435\u043A\u0443\u043D\u0434\u0443\", \"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u0441\u0435\u043A\u0443\u043D\u0434\u044B\", \"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u0441\u0435\u043A\u0443\u043D\u0434\"]);\n };\n ru.prototype.secondsX0ThroughX1PastTheMinute = function () {\n return \"\u0441\u0435\u043A\u0443\u043D\u0434\u044B \u0441 %s \u043F\u043E %s\";\n };\n ru.prototype.atX0SecondsPastTheMinute = function (s) {\n return getPhraseByNumber(s, [\"\u0432 %s \u0441\u0435\u043A\u0443\u043D\u0434\u0443\", \"\u0432 %s \u0441\u0435\u043A\u0443\u043D\u0434\u044B\", \"\u0432 %s \u0441\u0435\u043A\u0443\u043D\u0434\"]);\n };\n ru.prototype.everyX0Minutes = function (s) {\n return getPhraseByNumber(s, [\"\u043A\u0430\u0436\u0434\u0443\u044E %s \u043C\u0438\u043D\u0443\u0442\u0443\", \"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0438\u043D\u0443\u0442\u044B\", \"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0438\u043D\u0443\u0442\"]);\n };\n ru.prototype.minutesX0ThroughX1PastTheHour = function () {\n return \"\u043C\u0438\u043D\u0443\u0442\u044B \u0441 %s \u043F\u043E %s\";\n };\n ru.prototype.atX0MinutesPastTheHour = function (s) {\n return getPhraseByNumber(s, [\"\u0432 %s \u043C\u0438\u043D\u0443\u0442\u0443\", \"\u0432 %s \u043C\u0438\u043D\u0443\u0442\u044B\", \"\u0432 %s \u043C\u0438\u043D\u0443\u0442\"]);\n };\n ru.prototype.everyX0Hours = function (s) {\n return getPhraseByNumber(s, [\"\u043A\u0430\u0436\u0434\u044B\u0439 %s \u0447\u0430\u0441\", \"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u0447\u0430\u0441\u0430\", \"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u0447\u0430\u0441\u043E\u0432\"]);\n };\n ru.prototype.betweenX0AndX1 = function () {\n return \"\u0441 %s \u043F\u043E %s\";\n };\n ru.prototype.atX0 = function () {\n return \"\u0432 %s\";\n };\n ru.prototype.commaEveryDay = function () {\n return \", \u043A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C\";\n };\n ru.prototype.commaEveryX0DaysOfTheWeek = function (s) {\n return getPhraseByNumber(s, [\"\", \", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u0434\u043D\u044F \u043D\u0435\u0434\u0435\u043B\u0438\", \", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u0434\u043D\u0435\u0439 \u043D\u0435\u0434\u0435\u043B\u0438\"]);\n };\n ru.prototype.commaX0ThroughX1 = function (s) {\n return s && (s[0] == \"2\" || s[0] == \"3\") ? \", \u0441\u043E %s \u043F\u043E %s\" : \", \u0441 %s \u043F\u043E %s\";\n };\n ru.prototype.commaAndX0ThroughX1 = function (s) {\n return s && (s[0] == \"2\" || s[0] == \"3\") ? \" \u0438 \u0441\u043E %s \u043F\u043E %s\" : \" \u0438 \u0441 %s \u043F\u043E %s\";\n };\n ru.prototype.first = function (s) {\n return getPhraseByDayOfWeek(s, [\"\u043F\u0435\u0440\u0432\u043E\u0435\", \"\u043F\u0435\u0440\u0432\u044B\u0439\", \"\u043F\u0435\u0440\u0432\u0443\u044E\"]);\n };\n ru.prototype.second = function (s) {\n return getPhraseByDayOfWeek(s, [\"\u0432\u0442\u043E\u0440\u043E\u0435\", \"\u0432\u0442\u043E\u0440\u043E\u0439\", \"\u0432\u0442\u043E\u0440\u0443\u044E\"]);\n };\n ru.prototype.third = function (s) {\n return getPhraseByDayOfWeek(s, [\"\u0442\u0440\u0435\u0442\u044C\u0435\", \"\u0442\u0440\u0435\u0442\u0438\u0439\", \"\u0442\u0440\u0435\u0442\u044C\u044E\"]);\n };\n ru.prototype.fourth = function (s) {\n return getPhraseByDayOfWeek(s, [\"\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043E\u0435\", \"\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u044B\u0439\", \"\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0443\u044E\"]);\n };\n ru.prototype.fifth = function (s) {\n return getPhraseByDayOfWeek(s, [\"\u043F\u044F\u0442\u043E\u0435\", \"\u043F\u044F\u0442\u044B\u0439\", \"\u043F\u044F\u0442\u0443\u044E\"]);\n };\n ru.prototype.commaOnThe = function (s) {\n return s === \"2\" ? \", \u0432\u043E \" : \", \u0432 \";\n };\n ru.prototype.spaceX0OfTheMonth = function () {\n return \" %s \u043C\u0435\u0441\u044F\u0446\u0430\";\n };\n ru.prototype.lastDay = function () {\n return \"\u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0434\u0435\u043D\u044C\";\n };\n ru.prototype.commaOnTheLastX0OfTheMonth = function (s) {\n return getPhraseByDayOfWeek(s, [\", \u0432 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435 %s \u043C\u0435\u0441\u044F\u0446\u0430\", \", \u0432 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 %s \u043C\u0435\u0441\u044F\u0446\u0430\", \", \u0432 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E %s \u043C\u0435\u0441\u044F\u0446\u0430\"]);\n };\n ru.prototype.commaOnlyOnX0 = function (s) {\n return s && s[0] === \"2\" ? \", \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u043E %s\" : \", \u0442\u043E\u043B\u044C\u043A\u043E \u0432 %s\";\n };\n ru.prototype.commaAndOnX0 = function () {\n return \", \u0438 %s\";\n };\n ru.prototype.commaEveryX0Months = function (s) {\n return getPhraseByNumber(s, [\"\", \" \u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0435\u0441\u044F\u0446\u0430\", \" \u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0435\u0441\u044F\u0446\u0435\u0432\"]);\n };\n ru.prototype.commaOnlyInMonthX0 = function () {\n return \", \u0442\u043E\u043B\u044C\u043A\u043E %s\";\n };\n ru.prototype.commaOnlyInX0 = function () {\n return \", \u0442\u043E\u043B\u044C\u043A\u043E \u0432 %s\";\n };\n ru.prototype.commaOnTheLastDayOfTheMonth = function () {\n return \", \u0432 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0434\u0435\u043D\u044C \u043C\u0435\u0441\u044F\u0446\u0430\";\n };\n ru.prototype.commaOnTheLastWeekdayOfTheMonth = function () {\n return \", \u0432 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0431\u0443\u0434\u043D\u0438\u0439 \u0434\u0435\u043D\u044C \u043C\u0435\u0441\u044F\u0446\u0430\";\n };\n ru.prototype.commaDaysBeforeTheLastDayOfTheMonth = function (s) {\n return getPhraseByNumber(s, [\n \", \u0437\u0430 %s \u0434\u0435\u043D\u044C \u0434\u043E \u043A\u043E\u043D\u0446\u0430 \u043C\u0435\u0441\u044F\u0446\u0430\",\n \", \u0437\u0430 %s \u0434\u043D\u044F \u0434\u043E \u043A\u043E\u043D\u0446\u0430 \u043C\u0435\u0441\u044F\u0446\u0430\",\n \", \u0437\u0430 %s \u0434\u043D\u0435\u0439 \u0434\u043E \u043A\u043E\u043D\u0446\u0430 \u043C\u0435\u0441\u044F\u0446\u0430\",\n ]);\n };\n ru.prototype.firstWeekday = function () {\n return \"\u043F\u0435\u0440\u0432\u044B\u0439 \u0431\u0443\u0434\u043D\u0438\u0439 \u0434\u0435\u043D\u044C\";\n };\n ru.prototype.weekdayNearestDayX0 = function () {\n return \"\u0431\u043B\u0438\u0436\u0430\u0439\u0448\u0438\u0439 \u0431\u0443\u0434\u043D\u0438\u0439 \u0434\u0435\u043D\u044C \u043A %s \u0447\u0438\u0441\u043B\u0443\";\n };\n ru.prototype.commaOnTheX0OfTheMonth = function () {\n return \", \u0432 %s \u043C\u0435\u0441\u044F\u0446\u0430\";\n };\n ru.prototype.commaEveryX0Days = function (s) {\n return getPhraseByNumber(s, [\", \u043A\u0430\u0436\u0434\u044B\u0439 %s \u0434\u0435\u043D\u044C\", \", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u0434\u043D\u044F\", \", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u0434\u043D\u0435\u0439\"]);\n };\n ru.prototype.commaBetweenDayX0AndX1OfTheMonth = function (s) {\n return s && s.substring(0, s.indexOf(\"-\")) == \"2\" ? \", \u0441\u043E %s \u043F\u043E %s \u0447\u0438\u0441\u043B\u043E \u043C\u0435\u0441\u044F\u0446\u0430\" : \", \u0441 %s \u043F\u043E %s \u0447\u0438\u0441\u043B\u043E \u043C\u0435\u0441\u044F\u0446\u0430\";\n };\n ru.prototype.commaOnDayX0OfTheMonth = function (s) {\n return s && s[0] == \"2\" ? \", \u0432\u043E %s \u0447\u0438\u0441\u043B\u043E \u043C\u0435\u0441\u044F\u0446\u0430\" : \", \u0432 %s \u0447\u0438\u0441\u043B\u043E \u043C\u0435\u0441\u044F\u0446\u0430\";\n };\n ru.prototype.commaEveryX0Years = function (s) {\n return getPhraseByNumber(s, [\", \u043A\u0430\u0436\u0434\u044B\u0439 %s \u0433\u043E\u0434\", \", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u0433\u043E\u0434\u0430\", \", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u043B\u0435\u0442\"]);\n };\n ru.prototype.commaStartingX0 = function () {\n return \", \u043D\u0430\u0447\u0430\u043B\u043E %s\";\n };\n ru.prototype.daysOfTheWeek = function () {\n return [\"\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435\", \"\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A\", \"\u0432\u0442\u043E\u0440\u043D\u0438\u043A\", \"\u0441\u0440\u0435\u0434\u0430\", \"\u0447\u0435\u0442\u0432\u0435\u0440\u0433\", \"\u043F\u044F\u0442\u043D\u0438\u0446\u0430\", \"\u0441\u0443\u0431\u0431\u043E\u0442\u0430\"];\n };\n ru.prototype.daysOfTheWeekInCase = function (f) {\n if (f === void 0) { f = 2; }\n return f == 1\n ? [\"\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u044F\", \"\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A\u0430\", \"\u0432\u0442\u043E\u0440\u043D\u0438\u043A\u0430\", \"\u0441\u0440\u0435\u0434\u044B\", \"\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430\", \"\u043F\u044F\u0442\u043D\u0438\u0446\u044B\", \"\u0441\u0443\u0431\u0431\u043E\u0442\u044B\"]\n : [\"\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435\", \"\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A\", \"\u0432\u0442\u043E\u0440\u043D\u0438\u043A\", \"\u0441\u0440\u0435\u0434\u0443\", \"\u0447\u0435\u0442\u0432\u0435\u0440\u0433\", \"\u043F\u044F\u0442\u043D\u0438\u0446\u0443\", \"\u0441\u0443\u0431\u0431\u043E\u0442\u0443\"];\n };\n ru.prototype.monthsOfTheYear = function () {\n return [\n \"\u044F\u043D\u0432\u0430\u0440\u044C\",\n \"\u0444\u0435\u0432\u0440\u0430\u043B\u044C\",\n \"\u043C\u0430\u0440\u0442\",\n \"\u0430\u043F\u0440\u0435\u043B\u044C\",\n \"\u043C\u0430\u0439\",\n \"\u0438\u044E\u043D\u044C\",\n \"\u0438\u044E\u043B\u044C\",\n \"\u0430\u0432\u0433\u0443\u0441\u0442\",\n \"\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044C\",\n \"\u043E\u043A\u0442\u044F\u0431\u0440\u044C\",\n \"\u043D\u043E\u044F\u0431\u0440\u044C\",\n \"\u0434\u0435\u043A\u0430\u0431\u0440\u044C\",\n ];\n };\n ru.prototype.monthsOfTheYearInCase = function (f) {\n return f == 1\n ? [\n \"\u044F\u043D\u0432\u0430\u0440\u044F\",\n \"\u0444\u0435\u0432\u0440\u0430\u043B\u044F\",\n \"\u043C\u0430\u0440\u0442\u0430\",\n \"\u0430\u043F\u0440\u0435\u043B\u044F\",\n \"\u043C\u0430\u044F\",\n \"\u0438\u044E\u043D\u044F\",\n \"\u0438\u044E\u043B\u044F\",\n \"\u0430\u0432\u0433\u0443\u0441\u0442\u0430\",\n \"\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044F\",\n \"\u043E\u043A\u0442\u044F\u0431\u0440\u044F\",\n \"\u043D\u043E\u044F\u0431\u0440\u044F\",\n \"\u0434\u0435\u043A\u0430\u0431\u0440\u044F\",\n ]\n : this.monthsOfTheYear();\n };\n return ru;\n}());\nexports.ru = ru;\n\n\n(cronstrue__WEBPACK_IMPORTED_MODULE_0___default().locales)[\"ru\"] = new ru();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});", "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"cronstrue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"locales/zh_CN\", [\"cronstrue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"locales/zh_CN\"] = factory(require(\"cronstrue\"));\n\telse\n\t\troot[\"locales/zh_CN\"] = factory(root[\"cronstrue\"]);\n})(globalThis, (__WEBPACK_EXTERNAL_MODULE__93__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 93:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__93__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(93);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cronstrue__WEBPACK_IMPORTED_MODULE_0__);\nvar exports = __webpack_exports__;\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.zh_CN = void 0;\nvar zh_CN = (function () {\n function zh_CN() {\n }\n zh_CN.prototype.setPeriodBeforeTime = function () {\n return true;\n };\n zh_CN.prototype.pm = function () {\n return \"\u4E0B\u5348\";\n };\n zh_CN.prototype.am = function () {\n return \"\u4E0A\u5348\";\n };\n zh_CN.prototype.atX0SecondsPastTheMinuteGt20 = function () {\n return null;\n };\n zh_CN.prototype.atX0MinutesPastTheHourGt20 = function () {\n return null;\n };\n zh_CN.prototype.commaMonthX0ThroughMonthX1 = function () {\n return null;\n };\n zh_CN.prototype.commaYearX0ThroughYearX1 = function () {\n return \", \u4ECE%s\u5E74\u81F3%s\u5E74\";\n };\n zh_CN.prototype.use24HourTimeFormatByDefault = function () {\n return false;\n };\n zh_CN.prototype.everyMinute = function () {\n return \"\u6BCF\u5206\u949F\";\n };\n zh_CN.prototype.everyHour = function () {\n return \"\u6BCF\u5C0F\u65F6\";\n };\n zh_CN.prototype.anErrorOccuredWhenGeneratingTheExpressionD = function () {\n return \"\u751F\u6210\u8868\u8FBE\u5F0F\u63CF\u8FF0\u65F6\u53D1\u751F\u4E86\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5cron\u8868\u8FBE\u5F0F\u8BED\u6CD5\u3002\";\n };\n zh_CN.prototype.atSpace = function () {\n return \"\u5728\";\n };\n zh_CN.prototype.everyMinuteBetweenX0AndX1 = function () {\n return \"\u5728 %s \u81F3 %s \u4E4B\u95F4\u7684\u6BCF\u5206\u949F\";\n };\n zh_CN.prototype.at = function () {\n return \"\u5728\";\n };\n zh_CN.prototype.spaceAnd = function () {\n return \" \u548C\";\n };\n zh_CN.prototype.everySecond = function () {\n return \"\u6BCF\u79D2\";\n };\n zh_CN.prototype.everyX0Seconds = function () {\n return \"\u6BCF\u9694 %s \u79D2\";\n };\n zh_CN.prototype.secondsX0ThroughX1PastTheMinute = function () {\n return \"\u5728\u6BCF\u5206\u949F\u7684\u7B2C %s \u5230 %s \u79D2\";\n };\n zh_CN.prototype.atX0SecondsPastTheMinute = function () {\n return \"\u5728\u6BCF\u5206\u949F\u7684\u7B2C %s \u79D2\";\n };\n zh_CN.prototype.everyX0Minutes = function () {\n return \"\u6BCF\u9694 %s \u5206\u949F\";\n };\n zh_CN.prototype.minutesX0ThroughX1PastTheHour = function () {\n return \"\u5728\u6BCF\u5C0F\u65F6\u7684\u7B2C %s \u5230 %s \u5206\u949F\";\n };\n zh_CN.prototype.atX0MinutesPastTheHour = function () {\n return \"\u5728\u6BCF\u5C0F\u65F6\u7684\u7B2C %s \u5206\u949F\";\n };\n zh_CN.prototype.everyX0Hours = function () {\n return \"\u6BCF\u9694 %s \u5C0F\u65F6\";\n };\n zh_CN.prototype.betweenX0AndX1 = function () {\n return \"\u5728 %s \u548C %s \u4E4B\u95F4\";\n };\n zh_CN.prototype.atX0 = function () {\n return \"\u5728%s\";\n };\n zh_CN.prototype.commaEveryDay = function () {\n return \", \u6BCF\u5929\";\n };\n zh_CN.prototype.commaEveryX0DaysOfTheWeek = function () {\n return \", \u6BCF\u5468\u7684\u6BCF %s \u5929\";\n };\n zh_CN.prototype.commaX0ThroughX1 = function () {\n return \", %s\u81F3%s\";\n };\n zh_CN.prototype.commaAndX0ThroughX1 = function () {\n return \", \u548C%s\u81F3%s\";\n };\n zh_CN.prototype.first = function () {\n return \"\u7B2C\u4E00\u4E2A\";\n };\n zh_CN.prototype.second = function () {\n return \"\u7B2C\u4E8C\u4E2A\";\n };\n zh_CN.prototype.third = function () {\n return \"\u7B2C\u4E09\u4E2A\";\n };\n zh_CN.prototype.fourth = function () {\n return \"\u7B2C\u56DB\u4E2A\";\n };\n zh_CN.prototype.fifth = function () {\n return \"\u7B2C\u4E94\u4E2A\";\n };\n zh_CN.prototype.commaOnThe = function () {\n return \", \u9650\u6BCF\u6708\u7684\";\n };\n zh_CN.prototype.spaceX0OfTheMonth = function () {\n return \"%s\";\n };\n zh_CN.prototype.lastDay = function () {\n return \"\u672C\u6708\u6700\u540E\u4E00\u5929\";\n };\n zh_CN.prototype.commaOnTheLastX0OfTheMonth = function () {\n return \", \u9650\u6BCF\u6708\u7684\u6700\u540E\u4E00\u4E2A%s\";\n };\n zh_CN.prototype.commaOnlyOnX0 = function () {\n return \", \u4EC5%s\";\n };\n zh_CN.prototype.commaAndOnX0 = function () {\n return \", \u6216\u8005\u4E3A%s\";\n };\n zh_CN.prototype.commaEveryX0Months = function () {\n return \", \u6BCF\u9694 %s \u4E2A\u6708\";\n };\n zh_CN.prototype.commaOnlyInX0 = function () {\n return \", \u4EC5\u9650%s\";\n };\n zh_CN.prototype.commaOnlyInMonthX0 = function () {\n return \", \u4EC5\u4E8E%s\u4EFD\";\n };\n zh_CN.prototype.commaOnlyInYearX0 = function () {\n return \", \u4EC5\u4E8E %s \u5E74\";\n };\n zh_CN.prototype.commaOnTheLastDayOfTheMonth = function () {\n return \", \u9650\u6BCF\u6708\u7684\u6700\u540E\u4E00\u5929\";\n };\n zh_CN.prototype.commaOnTheLastWeekdayOfTheMonth = function () {\n return \", \u9650\u6BCF\u6708\u7684\u6700\u540E\u4E00\u4E2A\u5DE5\u4F5C\u65E5\";\n };\n zh_CN.prototype.commaDaysBeforeTheLastDayOfTheMonth = function () {\n return \", \u9650\u6BCF\u6708\u6700\u540E%s\u5929\";\n };\n zh_CN.prototype.firstWeekday = function () {\n return \"\u7B2C\u4E00\u4E2A\u5DE5\u4F5C\u65E5\";\n };\n zh_CN.prototype.weekdayNearestDayX0 = function () {\n return \"\u6700\u63A5\u8FD1 %s \u53F7\u7684\u5DE5\u4F5C\u65E5\";\n };\n zh_CN.prototype.commaOnTheX0OfTheMonth = function () {\n return \", \u9650\u6BCF\u6708\u7684%s\";\n };\n zh_CN.prototype.commaEveryX0Days = function () {\n return \", \u6BCF\u9694 %s \u5929\";\n };\n zh_CN.prototype.commaBetweenDayX0AndX1OfTheMonth = function () {\n return \", \u9650\u6BCF\u6708\u7684 %s \u81F3 %s \u4E4B\u95F4\";\n };\n zh_CN.prototype.commaOnDayX0OfTheMonth = function () {\n return \", \u9650\u6BCF\u6708%s\";\n };\n zh_CN.prototype.commaEveryX0Years = function () {\n return \", \u6BCF\u9694 %s \u5E74\";\n };\n zh_CN.prototype.commaStartingX0 = function () {\n return \", %s\u5F00\u59CB\";\n };\n zh_CN.prototype.dayX0 = function () {\n return \" %s \u53F7\";\n };\n zh_CN.prototype.daysOfTheWeek = function () {\n return [\"\u661F\u671F\u65E5\", \"\u661F\u671F\u4E00\", \"\u661F\u671F\u4E8C\", \"\u661F\u671F\u4E09\", \"\u661F\u671F\u56DB\", \"\u661F\u671F\u4E94\", \"\u661F\u671F\u516D\"];\n };\n zh_CN.prototype.monthsOfTheYear = function () {\n return [\"\u4E00\u6708\", \"\u4E8C\u6708\", \"\u4E09\u6708\", \"\u56DB\u6708\", \"\u4E94\u6708\", \"\u516D\u6708\", \"\u4E03\u6708\", \"\u516B\u6708\", \"\u4E5D\u6708\", \"\u5341\u6708\", \"\u5341\u4E00\u6708\", \"\u5341\u4E8C\u6708\"];\n };\n return zh_CN;\n}());\nexports.zh_CN = zh_CN;\n\n\n(cronstrue__WEBPACK_IMPORTED_MODULE_0___default().locales)[\"zh_CN\"] = new zh_CN();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});", "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"cronstrue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"locales/uk\", [\"cronstrue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"locales/uk\"] = factory(require(\"cronstrue\"));\n\telse\n\t\troot[\"locales/uk\"] = factory(root[\"cronstrue\"]);\n})(globalThis, (__WEBPACK_EXTERNAL_MODULE__93__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 93:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__93__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(93);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cronstrue__WEBPACK_IMPORTED_MODULE_0__);\nvar exports = __webpack_exports__;\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.uk = void 0;\nvar uk = (function () {\n function uk() {\n }\n uk.prototype.atX0SecondsPastTheMinuteGt20 = function () {\n return null;\n };\n uk.prototype.atX0MinutesPastTheHourGt20 = function () {\n return null;\n };\n uk.prototype.commaMonthX0ThroughMonthX1 = function () {\n return null;\n };\n uk.prototype.commaYearX0ThroughYearX1 = function () {\n return null;\n };\n uk.prototype.use24HourTimeFormatByDefault = function () {\n return true;\n };\n uk.prototype.everyMinute = function () {\n return \"\u0449\u043E\u0445\u0432\u0438\u043B\u0438\u043D\u0438\";\n };\n uk.prototype.everyHour = function () {\n return \"\u0449\u043E\u0433\u043E\u0434\u0438\u043D\u0438\";\n };\n uk.prototype.anErrorOccuredWhenGeneratingTheExpressionD = function () {\n return \"\u0412\u0406\u0434\u0431\u0443\u043B\u0430\u0441\u044F \u043F\u043E\u043C\u0438\u043B\u043A\u0430 \u043F\u0456\u0434\u0447\u0430\u0441 \u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0456\u0457 \u043E\u043F\u0438\u0441\u0443. \u041F\u0435\u0440\u0435\u0432\u0456\u0440\u0442\u0430 \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456\u0441\u0442\u044C \u043D\u0430\u043F\u0438\u0441\u0430\u043D\u043D\u044F cron \u0432\u0438\u0440\u0430\u0437\u0443.\";\n };\n uk.prototype.atSpace = function () {\n return \"\u041E \";\n };\n uk.prototype.everyMinuteBetweenX0AndX1 = function () {\n return \"\u0429\u043E\u0445\u0432\u0438\u043B\u0438\u043D\u0438 \u043C\u0456\u0436 %s \u0442\u0430 %s\";\n };\n uk.prototype.at = function () {\n return \"\u041E\";\n };\n uk.prototype.spaceAnd = function () {\n return \" \u0442\u0430\";\n };\n uk.prototype.everySecond = function () {\n return \"\u0429\u043E\u0441\u0435\u043A\u0443\u043D\u0434\u0438\";\n };\n uk.prototype.everyX0Seconds = function () {\n return \"\u043A\u043E\u0436\u043D\u0456 %s \u0441\u0435\u043A\u0443\u043D\u0434\";\n };\n uk.prototype.secondsX0ThroughX1PastTheMinute = function () {\n return \"\u0437 %s \u043F\u043E %s \u0441\u0435\u043A\u0443\u043D\u0434\u0443\";\n };\n uk.prototype.atX0SecondsPastTheMinute = function () {\n return \"\u043E %s \u0441\u0435\u043A\u0443\u043D\u0434\u0456\";\n };\n uk.prototype.everyX0Minutes = function () {\n return \"\u043A\u043E\u0436\u043D\u0456 %s \u0445\u0432\u0438\u043B\u0438\u043D\";\n };\n uk.prototype.minutesX0ThroughX1PastTheHour = function () {\n return \"\u0437 %s \u043F\u043E %s \u0445\u0432\u0438\u043B\u0438\u043D\u0443\";\n };\n uk.prototype.atX0MinutesPastTheHour = function () {\n return \"\u043E %s \u0445\u0432\u0438\u043B\u0438\u043D\u0456\";\n };\n uk.prototype.everyX0Hours = function () {\n return \"\u043A\u043E\u0436\u043D\u0456 %s \u0433\u043E\u0434\u0438\u043D\";\n };\n uk.prototype.betweenX0AndX1 = function () {\n return \"\u043C\u0456\u0436 %s \u0442\u0430 %s\";\n };\n uk.prototype.atX0 = function () {\n return \"\u043E %s\";\n };\n uk.prototype.commaEveryDay = function () {\n return \", \u0449\u043E\u0434\u0435\u043D\u043D\u043E\";\n };\n uk.prototype.commaEveryX0DaysOfTheWeek = function () {\n return \", \u043A\u043E\u0436\u0435\u043D %s \u0434\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F\";\n };\n uk.prototype.commaX0ThroughX1 = function () {\n return \", %s \u043F\u043E %s\";\n };\n uk.prototype.commaAndX0ThroughX1 = function () {\n return \", \u0442\u0430 %s \u043F\u043E %s\";\n };\n uk.prototype.first = function () {\n return \"\u043F\u0435\u0440\u0448\u0438\u0439\";\n };\n uk.prototype.second = function () {\n return \"\u0434\u0440\u0443\u0433\u0438\u0439\";\n };\n uk.prototype.third = function () {\n return \"\u0442\u0440\u0435\u0442\u0456\u0439\";\n };\n uk.prototype.fourth = function () {\n return \"\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0438\u0439\";\n };\n uk.prototype.fifth = function () {\n return \"\u043F'\u044F\u0442\u0438\u0439\";\n };\n uk.prototype.commaOnThe = function () {\n return \", \u0432 \";\n };\n uk.prototype.spaceX0OfTheMonth = function () {\n return \" %s \u043C\u0456\u0441\u044F\u0446\u044F\";\n };\n uk.prototype.lastDay = function () {\n return \"\u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0439 \u0434\u0435\u043D\u044C\";\n };\n uk.prototype.commaOnTheLastX0OfTheMonth = function () {\n return \", \u0432 \u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0439 %s \u043C\u0456\u0441\u044F\u0446\u044F\";\n };\n uk.prototype.commaOnlyOnX0 = function () {\n return \", \u0442\u0456\u043B\u044C\u043A\u0438 \u0432 %s\";\n };\n uk.prototype.commaAndOnX0 = function () {\n return \", \u0456 \u0432 %s\";\n };\n uk.prototype.commaEveryX0Months = function () {\n return \", \u043A\u043E\u0436\u0435\u043D %s \u043C\u0456\u0441\u044F\u0446\u044C\";\n };\n uk.prototype.commaOnlyInX0 = function () {\n return \", \u0442\u0456\u043B\u044C\u043A\u0438 \u0432 %s\";\n };\n uk.prototype.commaOnTheLastDayOfTheMonth = function () {\n return \", \u0432 \u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0439 \u0434\u0435\u043D\u044C \u043C\u0456\u0441\u044F\u0446\u044F\";\n };\n uk.prototype.commaOnTheLastWeekdayOfTheMonth = function () {\n return \", \u0432 \u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0439 \u0431\u0443\u0434\u0435\u043D\u044C \u043C\u0456\u0441\u044F\u0446\u044F\";\n };\n uk.prototype.commaDaysBeforeTheLastDayOfTheMonth = function () {\n return \", %s \u0434\u043D\u0456\u0432 \u0434\u043E \u043E\u0441\u0442\u0430\u043D\u043D\u044C\u043E\u0433\u043E \u0434\u043D\u044F \u043C\u0456\u0441\u044F\u0446\u044F\";\n };\n uk.prototype.firstWeekday = function () {\n return \"\u043F\u0435\u0440\u0448\u0438\u0439 \u0431\u0443\u0434\u0435\u043D\u044C\";\n };\n uk.prototype.weekdayNearestDayX0 = function () {\n return \"\u0431\u0443\u0434\u0435\u043D\u044C \u043D\u0430\u0439\u0431\u043B\u0438\u0436\u0447\u0438\u0439 \u0434\u043E %s \u0434\u043D\u044F\";\n };\n uk.prototype.commaOnTheX0OfTheMonth = function () {\n return \", \u0432 %s \u043C\u0456\u0441\u044F\u0446\u044F\";\n };\n uk.prototype.commaEveryX0Days = function () {\n return \", \u043A\u043E\u0436\u0435\u043D %s \u0434\u0435\u043D\u044C\";\n };\n uk.prototype.commaBetweenDayX0AndX1OfTheMonth = function () {\n return \", \u043C\u0456\u0436 %s \u0442\u0430 %s \u0434\u043D\u044F\u043C\u0438 \u043C\u0456\u0441\u044F\u0446\u044F\";\n };\n uk.prototype.commaOnDayX0OfTheMonth = function () {\n return \", \u043D\u0430 %s \u0434\u0435\u043D\u044C \u043C\u0456\u0441\u044F\u0446\u044F\";\n };\n uk.prototype.commaEveryX0Years = function () {\n return \", \u043A\u043E\u0436\u043D\u0456 %s \u0440\u043E\u043A\u0438\";\n };\n uk.prototype.commaStartingX0 = function () {\n return \", \u043F\u043E\u0447\u0430\u0442\u043E\u043A %s\";\n };\n uk.prototype.daysOfTheWeek = function () {\n return [\"\u043D\u0435\u0434\u0456\u043B\u044F\", \"\u043F\u043E\u043D\u0435\u0434\u0456\u043B\u043E\u043A\", \"\u0432\u0456\u0432\u0442\u043E\u0440\u043E\u043A\", \"\u0441\u0435\u0440\u0435\u0434\u0430\", \"\u0447\u0435\u0442\u0432\u0435\u0440\", \"\u043F'\u044F\u0442\u043D\u0438\u0446\u044F\", \"\u0441\u0443\u0431\u043E\u0442\u0430\"];\n };\n uk.prototype.monthsOfTheYear = function () {\n return [\n \"\u0441\u0456\u0447\u0435\u043D\u044C\",\n \"\u043B\u044E\u0442\u0438\u0439\",\n \"\u0431\u0435\u0440\u0435\u0437\u0435\u043D\u044C\",\n \"\u043A\u0432\u0456\u0442\u0435\u043D\u044C\",\n \"\u0442\u0440\u0430\u0432\u0435\u043D\u044C\",\n \"\u0447\u0435\u0440\u0432\u0435\u043D\u044C\",\n \"\u043B\u0438\u043F\u0435\u043D\u044C\",\n \"\u0441\u0435\u0440\u043F\u0435\u043D\u044C\",\n \"\u0432\u0435\u0440\u0435\u0441\u0435\u043D\u044C\",\n \"\u0436\u043E\u0432\u0442\u0435\u043D\u044C\",\n \"\u043B\u0438\u0441\u0442\u043E\u043F\u0430\u0434\",\n \"\u0433\u0440\u0443\u0434\u0435\u043D\u044C\",\n ];\n };\n return uk;\n}());\nexports.uk = uk;\n\n\n(cronstrue__WEBPACK_IMPORTED_MODULE_0___default().locales)[\"uk\"] = new uk();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});", "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"cronstrue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"locales/pt_BR\", [\"cronstrue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"locales/pt_BR\"] = factory(require(\"cronstrue\"));\n\telse\n\t\troot[\"locales/pt_BR\"] = factory(root[\"cronstrue\"]);\n})(globalThis, (__WEBPACK_EXTERNAL_MODULE__93__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 93:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__93__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(93);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cronstrue__WEBPACK_IMPORTED_MODULE_0__);\nvar exports = __webpack_exports__;\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.pt_BR = void 0;\nvar pt_BR = (function () {\n function pt_BR() {\n }\n pt_BR.prototype.atX0SecondsPastTheMinuteGt20 = function () {\n return null;\n };\n pt_BR.prototype.atX0MinutesPastTheHourGt20 = function () {\n return null;\n };\n pt_BR.prototype.commaMonthX0ThroughMonthX1 = function () {\n return null;\n };\n pt_BR.prototype.commaYearX0ThroughYearX1 = function () {\n return null;\n };\n pt_BR.prototype.use24HourTimeFormatByDefault = function () {\n return true;\n };\n pt_BR.prototype.anErrorOccuredWhenGeneratingTheExpressionD = function () {\n return \"Ocorreu um erro ao gerar a descri\u00E7\u00E3o da express\u00E3o Cron.\";\n };\n pt_BR.prototype.at = function () {\n return \"\u00E0s\";\n };\n pt_BR.prototype.atSpace = function () {\n return \"\u00E0s \";\n };\n pt_BR.prototype.atX0 = function () {\n return \"\u00C0s %s\";\n };\n pt_BR.prototype.atX0MinutesPastTheHour = function () {\n return \"aos %s minutos da hora\";\n };\n pt_BR.prototype.atX0SecondsPastTheMinute = function () {\n return \"aos %s segundos do minuto\";\n };\n pt_BR.prototype.betweenX0AndX1 = function () {\n return \"entre %s e %s\";\n };\n pt_BR.prototype.commaBetweenDayX0AndX1OfTheMonth = function () {\n return \", entre os dias %s e %s do m\u00EAs\";\n };\n pt_BR.prototype.commaEveryDay = function () {\n return \", a cada dia\";\n };\n pt_BR.prototype.commaEveryX0Days = function () {\n return \", a cada %s dias\";\n };\n pt_BR.prototype.commaEveryX0DaysOfTheWeek = function () {\n return \", a cada %s dias de semana\";\n };\n pt_BR.prototype.commaEveryX0Months = function () {\n return \", a cada %s meses\";\n };\n pt_BR.prototype.commaOnDayX0OfTheMonth = function () {\n return \", no dia %s do m\u00EAs\";\n };\n pt_BR.prototype.commaOnlyInX0 = function (s) {\n return s && s.length > 1 && s[1] === \"-\" ? \"somente %s\" : \", somente em %s\";\n };\n pt_BR.prototype.commaOnlyOnX0 = function (s) {\n return s && s.length > 1 && s[1] === \"-\" ? \", somente %s\" : \", somente de %s\";\n };\n pt_BR.prototype.commaAndOnX0 = function () {\n return \", e de %s\";\n };\n pt_BR.prototype.commaOnThe = function (s, day) {\n return day === '6' || day === '0' ? \", no\" : \", na \";\n };\n pt_BR.prototype.commaOnTheLastDayOfTheMonth = function () {\n return \", no \u00FAltimo dia do m\u00EAs\";\n };\n pt_BR.prototype.commaOnTheLastWeekdayOfTheMonth = function () {\n return \", no \u00FAltimo dia da semana do m\u00EAs\";\n };\n pt_BR.prototype.commaDaysBeforeTheLastDayOfTheMonth = function () {\n return \", %s dias antes do \u00FAltimo dia do m\u00EAs\";\n };\n pt_BR.prototype.commaOnTheLastX0OfTheMonth = function () {\n return \", na \u00FAltima %s do m\u00EAs\";\n };\n pt_BR.prototype.commaOnTheX0OfTheMonth = function () {\n return \", no %s do m\u00EAs\";\n };\n pt_BR.prototype.commaX0ThroughX1 = function () {\n return \", de %s a %s\";\n };\n pt_BR.prototype.commaAndX0ThroughX1 = function () {\n return \", e de %s a %s\";\n };\n pt_BR.prototype.everyHour = function () {\n return \"a cada hora\";\n };\n pt_BR.prototype.everyMinute = function () {\n return \"a cada minuto\";\n };\n pt_BR.prototype.everyMinuteBetweenX0AndX1 = function () {\n return \"a cada minuto entre %s e %s\";\n };\n pt_BR.prototype.everySecond = function () {\n return \"a cada segundo\";\n };\n pt_BR.prototype.everyX0Hours = function () {\n return \"a cada %s horas\";\n };\n pt_BR.prototype.everyX0Minutes = function () {\n return \"a cada %s minutos\";\n };\n pt_BR.prototype.everyX0Seconds = function () {\n return \"a cada %s segundos\";\n };\n pt_BR.prototype.fifth = function (s) {\n return s === '6' || s === '0' ? \"quinto\" : \"quinta\";\n };\n pt_BR.prototype.first = function (s) {\n return s === '6' || s === '0' ? \"primeiro\" : \"primeira\";\n };\n pt_BR.prototype.firstWeekday = function () {\n return \"primeiro dia da semana\";\n };\n pt_BR.prototype.fourth = function (s) {\n return s === '6' || s === '0' ? \"quarto\" : \"quarta\";\n };\n pt_BR.prototype.minutesX0ThroughX1PastTheHour = function () {\n return \"do minuto %s at\u00E9 %s de cada hora\";\n };\n pt_BR.prototype.second = function (s) {\n return s === '6' || s === '0' ? \"segundo\" : \"segunda\";\n };\n pt_BR.prototype.secondsX0ThroughX1PastTheMinute = function () {\n return \"No segundo %s at\u00E9 %s de cada minuto\";\n };\n pt_BR.prototype.spaceAnd = function () {\n return \" e\";\n };\n pt_BR.prototype.spaceX0OfTheMonth = function () {\n return \" %s do m\u00EAs\";\n };\n pt_BR.prototype.lastDay = function () {\n return \"o \u00FAltimo dia\";\n };\n pt_BR.prototype.third = function (s) {\n return s === '6' || s === '0' ? \"terceiro\" : \"terceira\";\n };\n pt_BR.prototype.weekdayNearestDayX0 = function () {\n return \"dia da semana mais pr\u00F3ximo do dia %s\";\n };\n pt_BR.prototype.commaEveryX0Years = function () {\n return \", a cada %s anos\";\n };\n pt_BR.prototype.commaStartingX0 = function () {\n return \", iniciando %s\";\n };\n pt_BR.prototype.daysOfTheWeek = function () {\n return [\"domingo\", \"segunda-feira\", \"ter\u00E7a-feira\", \"quarta-feira\", \"quinta-feira\", \"sexta-feira\", \"s\u00E1bado\"];\n };\n pt_BR.prototype.monthsOfTheYear = function () {\n return [\n \"janeiro\",\n \"fevereiro\",\n \"mar\u00E7o\",\n \"abril\",\n \"maio\",\n \"junho\",\n \"julho\",\n \"agosto\",\n \"setembro\",\n \"outubro\",\n \"novembro\",\n \"dezembro\",\n ];\n };\n return pt_BR;\n}());\nexports.pt_BR = pt_BR;\n\n\n(cronstrue__WEBPACK_IMPORTED_MODULE_0___default().locales)[\"pt_BR\"] = new pt_BR();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});", "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"cronstrue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"locales/pl\", [\"cronstrue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"locales/pl\"] = factory(require(\"cronstrue\"));\n\telse\n\t\troot[\"locales/pl\"] = factory(root[\"cronstrue\"]);\n})(globalThis, (__WEBPACK_EXTERNAL_MODULE__93__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 93:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__93__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(93);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cronstrue__WEBPACK_IMPORTED_MODULE_0__);\nvar exports = __webpack_exports__;\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.pl = void 0;\nvar pl = (function () {\n function pl() {\n }\n pl.prototype.atX0SecondsPastTheMinuteGt20 = function () {\n return null;\n };\n pl.prototype.atX0MinutesPastTheHourGt20 = function () {\n return null;\n };\n pl.prototype.commaMonthX0ThroughMonthX1 = function () {\n return null;\n };\n pl.prototype.commaYearX0ThroughYearX1 = function () {\n return null;\n };\n pl.prototype.use24HourTimeFormatByDefault = function () {\n return true;\n };\n pl.prototype.anErrorOccuredWhenGeneratingTheExpressionD = function () {\n return \"Wyst\u0105pi\u0142 b\u0142\u0105d podczas generowania opisu wyra\u017Cenia cron. Sprawd\u017A sk\u0142adni\u0119 wyra\u017Cenia cron.\";\n };\n pl.prototype.at = function () {\n return \"O\";\n };\n pl.prototype.atSpace = function () {\n return \"O \";\n };\n pl.prototype.atX0 = function () {\n return \"o %s\";\n };\n pl.prototype.atX0MinutesPastTheHour = function () {\n return \"w %s minucie\";\n };\n pl.prototype.atX0SecondsPastTheMinute = function () {\n return \"w %s sekundzie\";\n };\n pl.prototype.betweenX0AndX1 = function () {\n return \"od %s do %s\";\n };\n pl.prototype.commaBetweenDayX0AndX1OfTheMonth = function () {\n return \", od %s-ego do %s-ego dnia miesi\u0105ca\";\n };\n pl.prototype.commaEveryDay = function () {\n return \", co dzie\u0144\";\n };\n pl.prototype.commaEveryX0Days = function () {\n return \", co %s dni\";\n };\n pl.prototype.commaEveryX0DaysOfTheWeek = function () {\n return \", co %s dni tygodnia\";\n };\n pl.prototype.commaEveryX0Months = function () {\n return \", co %s miesi\u0119cy\";\n };\n pl.prototype.commaEveryX0Years = function () {\n return \", co %s lat\";\n };\n pl.prototype.commaOnDayX0OfTheMonth = function () {\n return \", %s-ego dnia miesi\u0105ca\";\n };\n pl.prototype.commaOnlyInX0 = function () {\n return \", tylko %s\";\n };\n pl.prototype.commaOnlyOnX0 = function () {\n return \", tylko %s\";\n };\n pl.prototype.commaAndOnX0 = function () {\n return \", i %s\";\n };\n pl.prototype.commaOnThe = function () {\n return \", \";\n };\n pl.prototype.commaOnTheLastDayOfTheMonth = function () {\n return \", ostatni dzie\u0144 miesi\u0105ca\";\n };\n pl.prototype.commaOnTheLastWeekdayOfTheMonth = function () {\n return \", ostatni dzie\u0144 roboczy miesi\u0105ca\";\n };\n pl.prototype.commaDaysBeforeTheLastDayOfTheMonth = function () {\n return \", %s dni przed ostatnim dniem miesi\u0105ca\";\n };\n pl.prototype.commaOnTheLastX0OfTheMonth = function () {\n return \", ostatni %s miesi\u0105ca\";\n };\n pl.prototype.commaOnTheX0OfTheMonth = function () {\n return \", %s miesi\u0105ca\";\n };\n pl.prototype.commaX0ThroughX1 = function () {\n return \", od %s do %s\";\n };\n pl.prototype.commaAndX0ThroughX1 = function () {\n return \", i od %s do %s\";\n };\n pl.prototype.everyHour = function () {\n return \"co godzin\u0119\";\n };\n pl.prototype.everyMinute = function () {\n return \"co minut\u0119\";\n };\n pl.prototype.everyMinuteBetweenX0AndX1 = function () {\n return \"Co minut\u0119 od %s do %s\";\n };\n pl.prototype.everySecond = function () {\n return \"co sekund\u0119\";\n };\n pl.prototype.everyX0Hours = function () {\n return \"co %s godzin\";\n };\n pl.prototype.everyX0Minutes = function () {\n return \"co %s minut\";\n };\n pl.prototype.everyX0Seconds = function () {\n return \"co %s sekund\";\n };\n pl.prototype.fifth = function () {\n return \"pi\u0105ty\";\n };\n pl.prototype.first = function () {\n return \"pierwszy\";\n };\n pl.prototype.firstWeekday = function () {\n return \"pierwszy dzie\u0144 roboczy\";\n };\n pl.prototype.fourth = function () {\n return \"czwarty\";\n };\n pl.prototype.minutesX0ThroughX1PastTheHour = function () {\n return \"minuty od %s do %s\";\n };\n pl.prototype.second = function () {\n return \"drugi\";\n };\n pl.prototype.secondsX0ThroughX1PastTheMinute = function () {\n return \"sekundy od %s do %s\";\n };\n pl.prototype.spaceAnd = function () {\n return \" i\";\n };\n pl.prototype.spaceX0OfTheMonth = function () {\n return \" %s miesi\u0105ca\";\n };\n pl.prototype.lastDay = function () {\n return \"ostatni dzie\u0144\";\n };\n pl.prototype.third = function () {\n return \"trzeci\";\n };\n pl.prototype.weekdayNearestDayX0 = function () {\n return \"dzie\u0144 roboczy najbli\u017Cszy %s-ego dnia\";\n };\n pl.prototype.commaStartingX0 = function () {\n return \", startowy %s\";\n };\n pl.prototype.daysOfTheWeek = function () {\n return [\"niedziela\", \"poniedzia\u0142ek\", \"wtorek\", \"\u015Broda\", \"czwartek\", \"pi\u0105tek\", \"sobota\"];\n };\n pl.prototype.monthsOfTheYear = function () {\n return [\n \"stycze\u0144\",\n \"luty\",\n \"marzec\",\n \"kwiecie\u0144\",\n \"maj\",\n \"czerwiec\",\n \"lipiec\",\n \"sierpie\u0144\",\n \"wrzesie\u0144\",\n \"pa\u017Adziernik\",\n \"listopad\",\n \"grudzie\u0144\",\n ];\n };\n return pl;\n}());\nexports.pl = pl;\n\n\n(cronstrue__WEBPACK_IMPORTED_MODULE_0___default().locales)[\"pl\"] = new pl();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});", "\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (file, acceptedFiles) {\n if (file && acceptedFiles) {\n var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');\n\n if (acceptedFilesArray.length === 0) {\n return true;\n }\n\n var fileName = file.name || '';\n var mimeType = (file.type || '').toLowerCase();\n var baseMimeType = mimeType.replace(/\\/.*$/, '');\n return acceptedFilesArray.some(function (type) {\n var validType = type.trim().toLowerCase();\n\n if (validType.charAt(0) === '.') {\n return fileName.toLowerCase().endsWith(validType);\n } else if (validType.endsWith('/*')) {\n // This is something like a image/* mime type\n return baseMimeType === validType.replace(/\\/.*$/, '');\n }\n\n return mimeType === validType;\n });\n }\n\n return true;\n};", "/*!\n * Cropper.js v1.6.2\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2024-04-21T07:43:05.335Z\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Cropper = factory());\n})(this, (function () { 'use strict';\n\n function ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n }\n function _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n }\n function _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n }\n function _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n function _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n }\n function _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n }\n function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n }\n function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n }\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n }\n function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var IS_BROWSER = typeof window !== 'undefined' && typeof window.document !== 'undefined';\n var WINDOW = IS_BROWSER ? window : {};\n var IS_TOUCH_DEVICE = IS_BROWSER && WINDOW.document.documentElement ? 'ontouchstart' in WINDOW.document.documentElement : false;\n var HAS_POINTER_EVENT = IS_BROWSER ? 'PointerEvent' in WINDOW : false;\n var NAMESPACE = 'cropper';\n\n // Actions\n var ACTION_ALL = 'all';\n var ACTION_CROP = 'crop';\n var ACTION_MOVE = 'move';\n var ACTION_ZOOM = 'zoom';\n var ACTION_EAST = 'e';\n var ACTION_WEST = 'w';\n var ACTION_SOUTH = 's';\n var ACTION_NORTH = 'n';\n var ACTION_NORTH_EAST = 'ne';\n var ACTION_NORTH_WEST = 'nw';\n var ACTION_SOUTH_EAST = 'se';\n var ACTION_SOUTH_WEST = 'sw';\n\n // Classes\n var CLASS_CROP = \"\".concat(NAMESPACE, \"-crop\");\n var CLASS_DISABLED = \"\".concat(NAMESPACE, \"-disabled\");\n var CLASS_HIDDEN = \"\".concat(NAMESPACE, \"-hidden\");\n var CLASS_HIDE = \"\".concat(NAMESPACE, \"-hide\");\n var CLASS_INVISIBLE = \"\".concat(NAMESPACE, \"-invisible\");\n var CLASS_MODAL = \"\".concat(NAMESPACE, \"-modal\");\n var CLASS_MOVE = \"\".concat(NAMESPACE, \"-move\");\n\n // Data keys\n var DATA_ACTION = \"\".concat(NAMESPACE, \"Action\");\n var DATA_PREVIEW = \"\".concat(NAMESPACE, \"Preview\");\n\n // Drag modes\n var DRAG_MODE_CROP = 'crop';\n var DRAG_MODE_MOVE = 'move';\n var DRAG_MODE_NONE = 'none';\n\n // Events\n var EVENT_CROP = 'crop';\n var EVENT_CROP_END = 'cropend';\n var EVENT_CROP_MOVE = 'cropmove';\n var EVENT_CROP_START = 'cropstart';\n var EVENT_DBLCLICK = 'dblclick';\n var EVENT_TOUCH_START = IS_TOUCH_DEVICE ? 'touchstart' : 'mousedown';\n var EVENT_TOUCH_MOVE = IS_TOUCH_DEVICE ? 'touchmove' : 'mousemove';\n var EVENT_TOUCH_END = IS_TOUCH_DEVICE ? 'touchend touchcancel' : 'mouseup';\n var EVENT_POINTER_DOWN = HAS_POINTER_EVENT ? 'pointerdown' : EVENT_TOUCH_START;\n var EVENT_POINTER_MOVE = HAS_POINTER_EVENT ? 'pointermove' : EVENT_TOUCH_MOVE;\n var EVENT_POINTER_UP = HAS_POINTER_EVENT ? 'pointerup pointercancel' : EVENT_TOUCH_END;\n var EVENT_READY = 'ready';\n var EVENT_RESIZE = 'resize';\n var EVENT_WHEEL = 'wheel';\n var EVENT_ZOOM = 'zoom';\n\n // Mime types\n var MIME_TYPE_JPEG = 'image/jpeg';\n\n // RegExps\n var REGEXP_ACTIONS = /^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/;\n var REGEXP_DATA_URL = /^data:/;\n var REGEXP_DATA_URL_JPEG = /^data:image\\/jpeg;base64,/;\n var REGEXP_TAG_NAME = /^img|canvas$/i;\n\n // Misc\n // Inspired by the default width and height of a canvas element.\n var MIN_CONTAINER_WIDTH = 200;\n var MIN_CONTAINER_HEIGHT = 100;\n\n var DEFAULTS = {\n // Define the view mode of the cropper\n viewMode: 0,\n // 0, 1, 2, 3\n\n // Define the dragging mode of the cropper\n dragMode: DRAG_MODE_CROP,\n // 'crop', 'move' or 'none'\n\n // Define the initial aspect ratio of the crop box\n initialAspectRatio: NaN,\n // Define the aspect ratio of the crop box\n aspectRatio: NaN,\n // An object with the previous cropping result data\n data: null,\n // A selector for adding extra containers to preview\n preview: '',\n // Re-render the cropper when resize the window\n responsive: true,\n // Restore the cropped area after resize the window\n restore: true,\n // Check if the current image is a cross-origin image\n checkCrossOrigin: true,\n // Check the current image's Exif Orientation information\n checkOrientation: true,\n // Show the black modal\n modal: true,\n // Show the dashed lines for guiding\n guides: true,\n // Show the center indicator for guiding\n center: true,\n // Show the white modal to highlight the crop box\n highlight: true,\n // Show the grid background\n background: true,\n // Enable to crop the image automatically when initialize\n autoCrop: true,\n // Define the percentage of automatic cropping area when initializes\n autoCropArea: 0.8,\n // Enable to move the image\n movable: true,\n // Enable to rotate the image\n rotatable: true,\n // Enable to scale the image\n scalable: true,\n // Enable to zoom the image\n zoomable: true,\n // Enable to zoom the image by dragging touch\n zoomOnTouch: true,\n // Enable to zoom the image by wheeling mouse\n zoomOnWheel: true,\n // Define zoom ratio when zoom the image by wheeling mouse\n wheelZoomRatio: 0.1,\n // Enable to move the crop box\n cropBoxMovable: true,\n // Enable to resize the crop box\n cropBoxResizable: true,\n // Toggle drag mode between \"crop\" and \"move\" when click twice on the cropper\n toggleDragModeOnDblclick: true,\n // Size limitation\n minCanvasWidth: 0,\n minCanvasHeight: 0,\n minCropBoxWidth: 0,\n minCropBoxHeight: 0,\n minContainerWidth: MIN_CONTAINER_WIDTH,\n minContainerHeight: MIN_CONTAINER_HEIGHT,\n // Shortcuts of events\n ready: null,\n cropstart: null,\n cropmove: null,\n cropend: null,\n crop: null,\n zoom: null\n };\n\n var TEMPLATE = '
' + '
' + '
' + '
' + '
' + '
' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '
' + '
';\n\n /**\n * Check if the given value is not a number.\n */\n var isNaN = Number.isNaN || WINDOW.isNaN;\n\n /**\n * Check if the given value is a number.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a number, else `false`.\n */\n function isNumber(value) {\n return typeof value === 'number' && !isNaN(value);\n }\n\n /**\n * Check if the given value is a positive number.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a positive number, else `false`.\n */\n var isPositiveNumber = function isPositiveNumber(value) {\n return value > 0 && value < Infinity;\n };\n\n /**\n * Check if the given value is undefined.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is undefined, else `false`.\n */\n function isUndefined(value) {\n return typeof value === 'undefined';\n }\n\n /**\n * Check if the given value is an object.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is an object, else `false`.\n */\n function isObject(value) {\n return _typeof(value) === 'object' && value !== null;\n }\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n\n /**\n * Check if the given value is a plain object.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a plain object, else `false`.\n */\n function isPlainObject(value) {\n if (!isObject(value)) {\n return false;\n }\n try {\n var _constructor = value.constructor;\n var prototype = _constructor.prototype;\n return _constructor && prototype && hasOwnProperty.call(prototype, 'isPrototypeOf');\n } catch (error) {\n return false;\n }\n }\n\n /**\n * Check if the given value is a function.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a function, else `false`.\n */\n function isFunction(value) {\n return typeof value === 'function';\n }\n var slice = Array.prototype.slice;\n\n /**\n * Convert array-like or iterable object to an array.\n * @param {*} value - The value to convert.\n * @returns {Array} Returns a new array.\n */\n function toArray(value) {\n return Array.from ? Array.from(value) : slice.call(value);\n }\n\n /**\n * Iterate the given data.\n * @param {*} data - The data to iterate.\n * @param {Function} callback - The process function for each element.\n * @returns {*} The original data.\n */\n function forEach(data, callback) {\n if (data && isFunction(callback)) {\n if (Array.isArray(data) || isNumber(data.length) /* array-like */) {\n toArray(data).forEach(function (value, key) {\n callback.call(data, value, key, data);\n });\n } else if (isObject(data)) {\n Object.keys(data).forEach(function (key) {\n callback.call(data, data[key], key, data);\n });\n }\n }\n return data;\n }\n\n /**\n * Extend the given object.\n * @param {*} target - The target object to extend.\n * @param {*} args - The rest objects for merging to the target object.\n * @returns {Object} The extended object.\n */\n var assign = Object.assign || function assign(target) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (isObject(target) && args.length > 0) {\n args.forEach(function (arg) {\n if (isObject(arg)) {\n Object.keys(arg).forEach(function (key) {\n target[key] = arg[key];\n });\n }\n });\n }\n return target;\n };\n var REGEXP_DECIMALS = /\\.\\d*(?:0|9){12}\\d*$/;\n\n /**\n * Normalize decimal number.\n * Check out {@link https://0.30000000000000004.com/}\n * @param {number} value - The value to normalize.\n * @param {number} [times=100000000000] - The times for normalizing.\n * @returns {number} Returns the normalized number.\n */\n function normalizeDecimalNumber(value) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100000000000;\n return REGEXP_DECIMALS.test(value) ? Math.round(value * times) / times : value;\n }\n var REGEXP_SUFFIX = /^width|height|left|top|marginLeft|marginTop$/;\n\n /**\n * Apply styles to the given element.\n * @param {Element} element - The target element.\n * @param {Object} styles - The styles for applying.\n */\n function setStyle(element, styles) {\n var style = element.style;\n forEach(styles, function (value, property) {\n if (REGEXP_SUFFIX.test(property) && isNumber(value)) {\n value = \"\".concat(value, \"px\");\n }\n style[property] = value;\n });\n }\n\n /**\n * Check if the given element has a special class.\n * @param {Element} element - The element to check.\n * @param {string} value - The class to search.\n * @returns {boolean} Returns `true` if the special class was found.\n */\n function hasClass(element, value) {\n return element.classList ? element.classList.contains(value) : element.className.indexOf(value) > -1;\n }\n\n /**\n * Add classes to the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be added.\n */\n function addClass(element, value) {\n if (!value) {\n return;\n }\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n addClass(elem, value);\n });\n return;\n }\n if (element.classList) {\n element.classList.add(value);\n return;\n }\n var className = element.className.trim();\n if (!className) {\n element.className = value;\n } else if (className.indexOf(value) < 0) {\n element.className = \"\".concat(className, \" \").concat(value);\n }\n }\n\n /**\n * Remove classes from the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be removed.\n */\n function removeClass(element, value) {\n if (!value) {\n return;\n }\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n removeClass(elem, value);\n });\n return;\n }\n if (element.classList) {\n element.classList.remove(value);\n return;\n }\n if (element.className.indexOf(value) >= 0) {\n element.className = element.className.replace(value, '');\n }\n }\n\n /**\n * Add or remove classes from the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be toggled.\n * @param {boolean} added - Add only.\n */\n function toggleClass(element, value, added) {\n if (!value) {\n return;\n }\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n toggleClass(elem, value, added);\n });\n return;\n }\n\n // IE10-11 doesn't support the second parameter of `classList.toggle`\n if (added) {\n addClass(element, value);\n } else {\n removeClass(element, value);\n }\n }\n var REGEXP_CAMEL_CASE = /([a-z\\d])([A-Z])/g;\n\n /**\n * Transform the given string from camelCase to kebab-case\n * @param {string} value - The value to transform.\n * @returns {string} The transformed value.\n */\n function toParamCase(value) {\n return value.replace(REGEXP_CAMEL_CASE, '$1-$2').toLowerCase();\n }\n\n /**\n * Get data from the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to get.\n * @returns {string} The data value.\n */\n function getData(element, name) {\n if (isObject(element[name])) {\n return element[name];\n }\n if (element.dataset) {\n return element.dataset[name];\n }\n return element.getAttribute(\"data-\".concat(toParamCase(name)));\n }\n\n /**\n * Set data to the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to set.\n * @param {string} data - The data value.\n */\n function setData(element, name, data) {\n if (isObject(data)) {\n element[name] = data;\n } else if (element.dataset) {\n element.dataset[name] = data;\n } else {\n element.setAttribute(\"data-\".concat(toParamCase(name)), data);\n }\n }\n\n /**\n * Remove data from the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to remove.\n */\n function removeData(element, name) {\n if (isObject(element[name])) {\n try {\n delete element[name];\n } catch (error) {\n element[name] = undefined;\n }\n } else if (element.dataset) {\n // #128 Safari not allows to delete dataset property\n try {\n delete element.dataset[name];\n } catch (error) {\n element.dataset[name] = undefined;\n }\n } else {\n element.removeAttribute(\"data-\".concat(toParamCase(name)));\n }\n }\n var REGEXP_SPACES = /\\s\\s*/;\n var onceSupported = function () {\n var supported = false;\n if (IS_BROWSER) {\n var once = false;\n var listener = function listener() {};\n var options = Object.defineProperty({}, 'once', {\n get: function get() {\n supported = true;\n return once;\n },\n /**\n * This setter can fix a `TypeError` in strict mode\n * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Getter_only}\n * @param {boolean} value - The value to set\n */\n set: function set(value) {\n once = value;\n }\n });\n WINDOW.addEventListener('test', listener, options);\n WINDOW.removeEventListener('test', listener, options);\n }\n return supported;\n }();\n\n /**\n * Remove event listener from the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Function} listener - The event listener.\n * @param {Object} options - The event options.\n */\n function removeListener(element, type, listener) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var handler = listener;\n type.trim().split(REGEXP_SPACES).forEach(function (event) {\n if (!onceSupported) {\n var listeners = element.listeners;\n if (listeners && listeners[event] && listeners[event][listener]) {\n handler = listeners[event][listener];\n delete listeners[event][listener];\n if (Object.keys(listeners[event]).length === 0) {\n delete listeners[event];\n }\n if (Object.keys(listeners).length === 0) {\n delete element.listeners;\n }\n }\n }\n element.removeEventListener(event, handler, options);\n });\n }\n\n /**\n * Add event listener to the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Function} listener - The event listener.\n * @param {Object} options - The event options.\n */\n function addListener(element, type, listener) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var _handler = listener;\n type.trim().split(REGEXP_SPACES).forEach(function (event) {\n if (options.once && !onceSupported) {\n var _element$listeners = element.listeners,\n listeners = _element$listeners === void 0 ? {} : _element$listeners;\n _handler = function handler() {\n delete listeners[event][listener];\n element.removeEventListener(event, _handler, options);\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n listener.apply(element, args);\n };\n if (!listeners[event]) {\n listeners[event] = {};\n }\n if (listeners[event][listener]) {\n element.removeEventListener(event, listeners[event][listener], options);\n }\n listeners[event][listener] = _handler;\n element.listeners = listeners;\n }\n element.addEventListener(event, _handler, options);\n });\n }\n\n /**\n * Dispatch event on the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Object} data - The additional event data.\n * @returns {boolean} Indicate if the event is default prevented or not.\n */\n function dispatchEvent(element, type, data) {\n var event;\n\n // Event and CustomEvent on IE9-11 are global objects, not constructors\n if (isFunction(Event) && isFunction(CustomEvent)) {\n event = new CustomEvent(type, {\n detail: data,\n bubbles: true,\n cancelable: true\n });\n } else {\n event = document.createEvent('CustomEvent');\n event.initCustomEvent(type, true, true, data);\n }\n return element.dispatchEvent(event);\n }\n\n /**\n * Get the offset base on the document.\n * @param {Element} element - The target element.\n * @returns {Object} The offset data.\n */\n function getOffset(element) {\n var box = element.getBoundingClientRect();\n return {\n left: box.left + (window.pageXOffset - document.documentElement.clientLeft),\n top: box.top + (window.pageYOffset - document.documentElement.clientTop)\n };\n }\n var location = WINDOW.location;\n var REGEXP_ORIGINS = /^(\\w+:)\\/\\/([^:/?#]*):?(\\d*)/i;\n\n /**\n * Check if the given URL is a cross origin URL.\n * @param {string} url - The target URL.\n * @returns {boolean} Returns `true` if the given URL is a cross origin URL, else `false`.\n */\n function isCrossOriginURL(url) {\n var parts = url.match(REGEXP_ORIGINS);\n return parts !== null && (parts[1] !== location.protocol || parts[2] !== location.hostname || parts[3] !== location.port);\n }\n\n /**\n * Add timestamp to the given URL.\n * @param {string} url - The target URL.\n * @returns {string} The result URL.\n */\n function addTimestamp(url) {\n var timestamp = \"timestamp=\".concat(new Date().getTime());\n return url + (url.indexOf('?') === -1 ? '?' : '&') + timestamp;\n }\n\n /**\n * Get transforms base on the given object.\n * @param {Object} obj - The target object.\n * @returns {string} A string contains transform values.\n */\n function getTransforms(_ref) {\n var rotate = _ref.rotate,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY,\n translateX = _ref.translateX,\n translateY = _ref.translateY;\n var values = [];\n if (isNumber(translateX) && translateX !== 0) {\n values.push(\"translateX(\".concat(translateX, \"px)\"));\n }\n if (isNumber(translateY) && translateY !== 0) {\n values.push(\"translateY(\".concat(translateY, \"px)\"));\n }\n\n // Rotate should come first before scale to match orientation transform\n if (isNumber(rotate) && rotate !== 0) {\n values.push(\"rotate(\".concat(rotate, \"deg)\"));\n }\n if (isNumber(scaleX) && scaleX !== 1) {\n values.push(\"scaleX(\".concat(scaleX, \")\"));\n }\n if (isNumber(scaleY) && scaleY !== 1) {\n values.push(\"scaleY(\".concat(scaleY, \")\"));\n }\n var transform = values.length ? values.join(' ') : 'none';\n return {\n WebkitTransform: transform,\n msTransform: transform,\n transform: transform\n };\n }\n\n /**\n * Get the max ratio of a group of pointers.\n * @param {string} pointers - The target pointers.\n * @returns {number} The result ratio.\n */\n function getMaxZoomRatio(pointers) {\n var pointers2 = _objectSpread2({}, pointers);\n var maxRatio = 0;\n forEach(pointers, function (pointer, pointerId) {\n delete pointers2[pointerId];\n forEach(pointers2, function (pointer2) {\n var x1 = Math.abs(pointer.startX - pointer2.startX);\n var y1 = Math.abs(pointer.startY - pointer2.startY);\n var x2 = Math.abs(pointer.endX - pointer2.endX);\n var y2 = Math.abs(pointer.endY - pointer2.endY);\n var z1 = Math.sqrt(x1 * x1 + y1 * y1);\n var z2 = Math.sqrt(x2 * x2 + y2 * y2);\n var ratio = (z2 - z1) / z1;\n if (Math.abs(ratio) > Math.abs(maxRatio)) {\n maxRatio = ratio;\n }\n });\n });\n return maxRatio;\n }\n\n /**\n * Get a pointer from an event object.\n * @param {Object} event - The target event object.\n * @param {boolean} endOnly - Indicates if only returns the end point coordinate or not.\n * @returns {Object} The result pointer contains start and/or end point coordinates.\n */\n function getPointer(_ref2, endOnly) {\n var pageX = _ref2.pageX,\n pageY = _ref2.pageY;\n var end = {\n endX: pageX,\n endY: pageY\n };\n return endOnly ? end : _objectSpread2({\n startX: pageX,\n startY: pageY\n }, end);\n }\n\n /**\n * Get the center point coordinate of a group of pointers.\n * @param {Object} pointers - The target pointers.\n * @returns {Object} The center point coordinate.\n */\n function getPointersCenter(pointers) {\n var pageX = 0;\n var pageY = 0;\n var count = 0;\n forEach(pointers, function (_ref3) {\n var startX = _ref3.startX,\n startY = _ref3.startY;\n pageX += startX;\n pageY += startY;\n count += 1;\n });\n pageX /= count;\n pageY /= count;\n return {\n pageX: pageX,\n pageY: pageY\n };\n }\n\n /**\n * Get the max sizes in a rectangle under the given aspect ratio.\n * @param {Object} data - The original sizes.\n * @param {string} [type='contain'] - The adjust type.\n * @returns {Object} The result sizes.\n */\n function getAdjustedSizes(_ref4) {\n var aspectRatio = _ref4.aspectRatio,\n height = _ref4.height,\n width = _ref4.width;\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'contain';\n var isValidWidth = isPositiveNumber(width);\n var isValidHeight = isPositiveNumber(height);\n if (isValidWidth && isValidHeight) {\n var adjustedWidth = height * aspectRatio;\n if (type === 'contain' && adjustedWidth > width || type === 'cover' && adjustedWidth < width) {\n height = width / aspectRatio;\n } else {\n width = height * aspectRatio;\n }\n } else if (isValidWidth) {\n height = width / aspectRatio;\n } else if (isValidHeight) {\n width = height * aspectRatio;\n }\n return {\n width: width,\n height: height\n };\n }\n\n /**\n * Get the new sizes of a rectangle after rotated.\n * @param {Object} data - The original sizes.\n * @returns {Object} The result sizes.\n */\n function getRotatedSizes(_ref5) {\n var width = _ref5.width,\n height = _ref5.height,\n degree = _ref5.degree;\n degree = Math.abs(degree) % 180;\n if (degree === 90) {\n return {\n width: height,\n height: width\n };\n }\n var arc = degree % 90 * Math.PI / 180;\n var sinArc = Math.sin(arc);\n var cosArc = Math.cos(arc);\n var newWidth = width * cosArc + height * sinArc;\n var newHeight = width * sinArc + height * cosArc;\n return degree > 90 ? {\n width: newHeight,\n height: newWidth\n } : {\n width: newWidth,\n height: newHeight\n };\n }\n\n /**\n * Get a canvas which drew the given image.\n * @param {HTMLImageElement} image - The image for drawing.\n * @param {Object} imageData - The image data.\n * @param {Object} canvasData - The canvas data.\n * @param {Object} options - The options.\n * @returns {HTMLCanvasElement} The result canvas.\n */\n function getSourceCanvas(image, _ref6, _ref7, _ref8) {\n var imageAspectRatio = _ref6.aspectRatio,\n imageNaturalWidth = _ref6.naturalWidth,\n imageNaturalHeight = _ref6.naturalHeight,\n _ref6$rotate = _ref6.rotate,\n rotate = _ref6$rotate === void 0 ? 0 : _ref6$rotate,\n _ref6$scaleX = _ref6.scaleX,\n scaleX = _ref6$scaleX === void 0 ? 1 : _ref6$scaleX,\n _ref6$scaleY = _ref6.scaleY,\n scaleY = _ref6$scaleY === void 0 ? 1 : _ref6$scaleY;\n var aspectRatio = _ref7.aspectRatio,\n naturalWidth = _ref7.naturalWidth,\n naturalHeight = _ref7.naturalHeight;\n var _ref8$fillColor = _ref8.fillColor,\n fillColor = _ref8$fillColor === void 0 ? 'transparent' : _ref8$fillColor,\n _ref8$imageSmoothingE = _ref8.imageSmoothingEnabled,\n imageSmoothingEnabled = _ref8$imageSmoothingE === void 0 ? true : _ref8$imageSmoothingE,\n _ref8$imageSmoothingQ = _ref8.imageSmoothingQuality,\n imageSmoothingQuality = _ref8$imageSmoothingQ === void 0 ? 'low' : _ref8$imageSmoothingQ,\n _ref8$maxWidth = _ref8.maxWidth,\n maxWidth = _ref8$maxWidth === void 0 ? Infinity : _ref8$maxWidth,\n _ref8$maxHeight = _ref8.maxHeight,\n maxHeight = _ref8$maxHeight === void 0 ? Infinity : _ref8$maxHeight,\n _ref8$minWidth = _ref8.minWidth,\n minWidth = _ref8$minWidth === void 0 ? 0 : _ref8$minWidth,\n _ref8$minHeight = _ref8.minHeight,\n minHeight = _ref8$minHeight === void 0 ? 0 : _ref8$minHeight;\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n var maxSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: maxWidth,\n height: maxHeight\n });\n var minSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: minWidth,\n height: minHeight\n }, 'cover');\n var width = Math.min(maxSizes.width, Math.max(minSizes.width, naturalWidth));\n var height = Math.min(maxSizes.height, Math.max(minSizes.height, naturalHeight));\n\n // Note: should always use image's natural sizes for drawing as\n // imageData.naturalWidth === canvasData.naturalHeight when rotate % 180 === 90\n var destMaxSizes = getAdjustedSizes({\n aspectRatio: imageAspectRatio,\n width: maxWidth,\n height: maxHeight\n });\n var destMinSizes = getAdjustedSizes({\n aspectRatio: imageAspectRatio,\n width: minWidth,\n height: minHeight\n }, 'cover');\n var destWidth = Math.min(destMaxSizes.width, Math.max(destMinSizes.width, imageNaturalWidth));\n var destHeight = Math.min(destMaxSizes.height, Math.max(destMinSizes.height, imageNaturalHeight));\n var params = [-destWidth / 2, -destHeight / 2, destWidth, destHeight];\n canvas.width = normalizeDecimalNumber(width);\n canvas.height = normalizeDecimalNumber(height);\n context.fillStyle = fillColor;\n context.fillRect(0, 0, width, height);\n context.save();\n context.translate(width / 2, height / 2);\n context.rotate(rotate * Math.PI / 180);\n context.scale(scaleX, scaleY);\n context.imageSmoothingEnabled = imageSmoothingEnabled;\n context.imageSmoothingQuality = imageSmoothingQuality;\n context.drawImage.apply(context, [image].concat(_toConsumableArray(params.map(function (param) {\n return Math.floor(normalizeDecimalNumber(param));\n }))));\n context.restore();\n return canvas;\n }\n var fromCharCode = String.fromCharCode;\n\n /**\n * Get string from char code in data view.\n * @param {DataView} dataView - The data view for read.\n * @param {number} start - The start index.\n * @param {number} length - The read length.\n * @returns {string} The read result.\n */\n function getStringFromCharCode(dataView, start, length) {\n var str = '';\n length += start;\n for (var i = start; i < length; i += 1) {\n str += fromCharCode(dataView.getUint8(i));\n }\n return str;\n }\n var REGEXP_DATA_URL_HEAD = /^data:.*,/;\n\n /**\n * Transform Data URL to array buffer.\n * @param {string} dataURL - The Data URL to transform.\n * @returns {ArrayBuffer} The result array buffer.\n */\n function dataURLToArrayBuffer(dataURL) {\n var base64 = dataURL.replace(REGEXP_DATA_URL_HEAD, '');\n var binary = atob(base64);\n var arrayBuffer = new ArrayBuffer(binary.length);\n var uint8 = new Uint8Array(arrayBuffer);\n forEach(uint8, function (value, i) {\n uint8[i] = binary.charCodeAt(i);\n });\n return arrayBuffer;\n }\n\n /**\n * Transform array buffer to Data URL.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to transform.\n * @param {string} mimeType - The mime type of the Data URL.\n * @returns {string} The result Data URL.\n */\n function arrayBufferToDataURL(arrayBuffer, mimeType) {\n var chunks = [];\n\n // Chunk Typed Array for better performance (#435)\n var chunkSize = 8192;\n var uint8 = new Uint8Array(arrayBuffer);\n while (uint8.length > 0) {\n // XXX: Babel's `toConsumableArray` helper will throw error in IE or Safari 9\n // eslint-disable-next-line prefer-spread\n chunks.push(fromCharCode.apply(null, toArray(uint8.subarray(0, chunkSize))));\n uint8 = uint8.subarray(chunkSize);\n }\n return \"data:\".concat(mimeType, \";base64,\").concat(btoa(chunks.join('')));\n }\n\n /**\n * Get orientation value from given array buffer.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to read.\n * @returns {number} The read orientation value.\n */\n function resetAndGetOrientation(arrayBuffer) {\n var dataView = new DataView(arrayBuffer);\n var orientation;\n\n // Ignores range error when the image does not have correct Exif information\n try {\n var littleEndian;\n var app1Start;\n var ifdStart;\n\n // Only handle JPEG image (start by 0xFFD8)\n if (dataView.getUint8(0) === 0xFF && dataView.getUint8(1) === 0xD8) {\n var length = dataView.byteLength;\n var offset = 2;\n while (offset + 1 < length) {\n if (dataView.getUint8(offset) === 0xFF && dataView.getUint8(offset + 1) === 0xE1) {\n app1Start = offset;\n break;\n }\n offset += 1;\n }\n }\n if (app1Start) {\n var exifIDCode = app1Start + 4;\n var tiffOffset = app1Start + 10;\n if (getStringFromCharCode(dataView, exifIDCode, 4) === 'Exif') {\n var endianness = dataView.getUint16(tiffOffset);\n littleEndian = endianness === 0x4949;\n if (littleEndian || endianness === 0x4D4D /* bigEndian */) {\n if (dataView.getUint16(tiffOffset + 2, littleEndian) === 0x002A) {\n var firstIFDOffset = dataView.getUint32(tiffOffset + 4, littleEndian);\n if (firstIFDOffset >= 0x00000008) {\n ifdStart = tiffOffset + firstIFDOffset;\n }\n }\n }\n }\n }\n if (ifdStart) {\n var _length = dataView.getUint16(ifdStart, littleEndian);\n var _offset;\n var i;\n for (i = 0; i < _length; i += 1) {\n _offset = ifdStart + i * 12 + 2;\n if (dataView.getUint16(_offset, littleEndian) === 0x0112 /* Orientation */) {\n // 8 is the offset of the current tag's value\n _offset += 8;\n\n // Get the original orientation value\n orientation = dataView.getUint16(_offset, littleEndian);\n\n // Override the orientation with its default value\n dataView.setUint16(_offset, 1, littleEndian);\n break;\n }\n }\n }\n } catch (error) {\n orientation = 1;\n }\n return orientation;\n }\n\n /**\n * Parse Exif Orientation value.\n * @param {number} orientation - The orientation to parse.\n * @returns {Object} The parsed result.\n */\n function parseOrientation(orientation) {\n var rotate = 0;\n var scaleX = 1;\n var scaleY = 1;\n switch (orientation) {\n // Flip horizontal\n case 2:\n scaleX = -1;\n break;\n\n // Rotate left 180\u00B0\n case 3:\n rotate = -180;\n break;\n\n // Flip vertical\n case 4:\n scaleY = -1;\n break;\n\n // Flip vertical and rotate right 90\u00B0\n case 5:\n rotate = 90;\n scaleY = -1;\n break;\n\n // Rotate right 90\u00B0\n case 6:\n rotate = 90;\n break;\n\n // Flip horizontal and rotate right 90\u00B0\n case 7:\n rotate = 90;\n scaleX = -1;\n break;\n\n // Rotate left 90\u00B0\n case 8:\n rotate = -90;\n break;\n }\n return {\n rotate: rotate,\n scaleX: scaleX,\n scaleY: scaleY\n };\n }\n\n var render = {\n render: function render() {\n this.initContainer();\n this.initCanvas();\n this.initCropBox();\n this.renderCanvas();\n if (this.cropped) {\n this.renderCropBox();\n }\n },\n initContainer: function initContainer() {\n var element = this.element,\n options = this.options,\n container = this.container,\n cropper = this.cropper;\n var minWidth = Number(options.minContainerWidth);\n var minHeight = Number(options.minContainerHeight);\n addClass(cropper, CLASS_HIDDEN);\n removeClass(element, CLASS_HIDDEN);\n var containerData = {\n width: Math.max(container.offsetWidth, minWidth >= 0 ? minWidth : MIN_CONTAINER_WIDTH),\n height: Math.max(container.offsetHeight, minHeight >= 0 ? minHeight : MIN_CONTAINER_HEIGHT)\n };\n this.containerData = containerData;\n setStyle(cropper, {\n width: containerData.width,\n height: containerData.height\n });\n addClass(element, CLASS_HIDDEN);\n removeClass(cropper, CLASS_HIDDEN);\n },\n // Canvas (image wrapper)\n initCanvas: function initCanvas() {\n var containerData = this.containerData,\n imageData = this.imageData;\n var viewMode = this.options.viewMode;\n var rotated = Math.abs(imageData.rotate) % 180 === 90;\n var naturalWidth = rotated ? imageData.naturalHeight : imageData.naturalWidth;\n var naturalHeight = rotated ? imageData.naturalWidth : imageData.naturalHeight;\n var aspectRatio = naturalWidth / naturalHeight;\n var canvasWidth = containerData.width;\n var canvasHeight = containerData.height;\n if (containerData.height * aspectRatio > containerData.width) {\n if (viewMode === 3) {\n canvasWidth = containerData.height * aspectRatio;\n } else {\n canvasHeight = containerData.width / aspectRatio;\n }\n } else if (viewMode === 3) {\n canvasHeight = containerData.width / aspectRatio;\n } else {\n canvasWidth = containerData.height * aspectRatio;\n }\n var canvasData = {\n aspectRatio: aspectRatio,\n naturalWidth: naturalWidth,\n naturalHeight: naturalHeight,\n width: canvasWidth,\n height: canvasHeight\n };\n this.canvasData = canvasData;\n this.limited = viewMode === 1 || viewMode === 2;\n this.limitCanvas(true, true);\n canvasData.width = Math.min(Math.max(canvasData.width, canvasData.minWidth), canvasData.maxWidth);\n canvasData.height = Math.min(Math.max(canvasData.height, canvasData.minHeight), canvasData.maxHeight);\n canvasData.left = (containerData.width - canvasData.width) / 2;\n canvasData.top = (containerData.height - canvasData.height) / 2;\n canvasData.oldLeft = canvasData.left;\n canvasData.oldTop = canvasData.top;\n this.initialCanvasData = assign({}, canvasData);\n },\n limitCanvas: function limitCanvas(sizeLimited, positionLimited) {\n var options = this.options,\n containerData = this.containerData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var viewMode = options.viewMode;\n var aspectRatio = canvasData.aspectRatio;\n var cropped = this.cropped && cropBoxData;\n if (sizeLimited) {\n var minCanvasWidth = Number(options.minCanvasWidth) || 0;\n var minCanvasHeight = Number(options.minCanvasHeight) || 0;\n if (viewMode > 1) {\n minCanvasWidth = Math.max(minCanvasWidth, containerData.width);\n minCanvasHeight = Math.max(minCanvasHeight, containerData.height);\n if (viewMode === 3) {\n if (minCanvasHeight * aspectRatio > minCanvasWidth) {\n minCanvasWidth = minCanvasHeight * aspectRatio;\n } else {\n minCanvasHeight = minCanvasWidth / aspectRatio;\n }\n }\n } else if (viewMode > 0) {\n if (minCanvasWidth) {\n minCanvasWidth = Math.max(minCanvasWidth, cropped ? cropBoxData.width : 0);\n } else if (minCanvasHeight) {\n minCanvasHeight = Math.max(minCanvasHeight, cropped ? cropBoxData.height : 0);\n } else if (cropped) {\n minCanvasWidth = cropBoxData.width;\n minCanvasHeight = cropBoxData.height;\n if (minCanvasHeight * aspectRatio > minCanvasWidth) {\n minCanvasWidth = minCanvasHeight * aspectRatio;\n } else {\n minCanvasHeight = minCanvasWidth / aspectRatio;\n }\n }\n }\n var _getAdjustedSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: minCanvasWidth,\n height: minCanvasHeight\n });\n minCanvasWidth = _getAdjustedSizes.width;\n minCanvasHeight = _getAdjustedSizes.height;\n canvasData.minWidth = minCanvasWidth;\n canvasData.minHeight = minCanvasHeight;\n canvasData.maxWidth = Infinity;\n canvasData.maxHeight = Infinity;\n }\n if (positionLimited) {\n if (viewMode > (cropped ? 0 : 1)) {\n var newCanvasLeft = containerData.width - canvasData.width;\n var newCanvasTop = containerData.height - canvasData.height;\n canvasData.minLeft = Math.min(0, newCanvasLeft);\n canvasData.minTop = Math.min(0, newCanvasTop);\n canvasData.maxLeft = Math.max(0, newCanvasLeft);\n canvasData.maxTop = Math.max(0, newCanvasTop);\n if (cropped && this.limited) {\n canvasData.minLeft = Math.min(cropBoxData.left, cropBoxData.left + (cropBoxData.width - canvasData.width));\n canvasData.minTop = Math.min(cropBoxData.top, cropBoxData.top + (cropBoxData.height - canvasData.height));\n canvasData.maxLeft = cropBoxData.left;\n canvasData.maxTop = cropBoxData.top;\n if (viewMode === 2) {\n if (canvasData.width >= containerData.width) {\n canvasData.minLeft = Math.min(0, newCanvasLeft);\n canvasData.maxLeft = Math.max(0, newCanvasLeft);\n }\n if (canvasData.height >= containerData.height) {\n canvasData.minTop = Math.min(0, newCanvasTop);\n canvasData.maxTop = Math.max(0, newCanvasTop);\n }\n }\n }\n } else {\n canvasData.minLeft = -canvasData.width;\n canvasData.minTop = -canvasData.height;\n canvasData.maxLeft = containerData.width;\n canvasData.maxTop = containerData.height;\n }\n }\n },\n renderCanvas: function renderCanvas(changed, transformed) {\n var canvasData = this.canvasData,\n imageData = this.imageData;\n if (transformed) {\n var _getRotatedSizes = getRotatedSizes({\n width: imageData.naturalWidth * Math.abs(imageData.scaleX || 1),\n height: imageData.naturalHeight * Math.abs(imageData.scaleY || 1),\n degree: imageData.rotate || 0\n }),\n naturalWidth = _getRotatedSizes.width,\n naturalHeight = _getRotatedSizes.height;\n var width = canvasData.width * (naturalWidth / canvasData.naturalWidth);\n var height = canvasData.height * (naturalHeight / canvasData.naturalHeight);\n canvasData.left -= (width - canvasData.width) / 2;\n canvasData.top -= (height - canvasData.height) / 2;\n canvasData.width = width;\n canvasData.height = height;\n canvasData.aspectRatio = naturalWidth / naturalHeight;\n canvasData.naturalWidth = naturalWidth;\n canvasData.naturalHeight = naturalHeight;\n this.limitCanvas(true, false);\n }\n if (canvasData.width > canvasData.maxWidth || canvasData.width < canvasData.minWidth) {\n canvasData.left = canvasData.oldLeft;\n }\n if (canvasData.height > canvasData.maxHeight || canvasData.height < canvasData.minHeight) {\n canvasData.top = canvasData.oldTop;\n }\n canvasData.width = Math.min(Math.max(canvasData.width, canvasData.minWidth), canvasData.maxWidth);\n canvasData.height = Math.min(Math.max(canvasData.height, canvasData.minHeight), canvasData.maxHeight);\n this.limitCanvas(false, true);\n canvasData.left = Math.min(Math.max(canvasData.left, canvasData.minLeft), canvasData.maxLeft);\n canvasData.top = Math.min(Math.max(canvasData.top, canvasData.minTop), canvasData.maxTop);\n canvasData.oldLeft = canvasData.left;\n canvasData.oldTop = canvasData.top;\n setStyle(this.canvas, assign({\n width: canvasData.width,\n height: canvasData.height\n }, getTransforms({\n translateX: canvasData.left,\n translateY: canvasData.top\n })));\n this.renderImage(changed);\n if (this.cropped && this.limited) {\n this.limitCropBox(true, true);\n }\n },\n renderImage: function renderImage(changed) {\n var canvasData = this.canvasData,\n imageData = this.imageData;\n var width = imageData.naturalWidth * (canvasData.width / canvasData.naturalWidth);\n var height = imageData.naturalHeight * (canvasData.height / canvasData.naturalHeight);\n assign(imageData, {\n width: width,\n height: height,\n left: (canvasData.width - width) / 2,\n top: (canvasData.height - height) / 2\n });\n setStyle(this.image, assign({\n width: imageData.width,\n height: imageData.height\n }, getTransforms(assign({\n translateX: imageData.left,\n translateY: imageData.top\n }, imageData))));\n if (changed) {\n this.output();\n }\n },\n initCropBox: function initCropBox() {\n var options = this.options,\n canvasData = this.canvasData;\n var aspectRatio = options.aspectRatio || options.initialAspectRatio;\n var autoCropArea = Number(options.autoCropArea) || 0.8;\n var cropBoxData = {\n width: canvasData.width,\n height: canvasData.height\n };\n if (aspectRatio) {\n if (canvasData.height * aspectRatio > canvasData.width) {\n cropBoxData.height = cropBoxData.width / aspectRatio;\n } else {\n cropBoxData.width = cropBoxData.height * aspectRatio;\n }\n }\n this.cropBoxData = cropBoxData;\n this.limitCropBox(true, true);\n\n // Initialize auto crop area\n cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);\n cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight);\n\n // The width/height of auto crop area must large than \"minWidth/Height\"\n cropBoxData.width = Math.max(cropBoxData.minWidth, cropBoxData.width * autoCropArea);\n cropBoxData.height = Math.max(cropBoxData.minHeight, cropBoxData.height * autoCropArea);\n cropBoxData.left = canvasData.left + (canvasData.width - cropBoxData.width) / 2;\n cropBoxData.top = canvasData.top + (canvasData.height - cropBoxData.height) / 2;\n cropBoxData.oldLeft = cropBoxData.left;\n cropBoxData.oldTop = cropBoxData.top;\n this.initialCropBoxData = assign({}, cropBoxData);\n },\n limitCropBox: function limitCropBox(sizeLimited, positionLimited) {\n var options = this.options,\n containerData = this.containerData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData,\n limited = this.limited;\n var aspectRatio = options.aspectRatio;\n if (sizeLimited) {\n var minCropBoxWidth = Number(options.minCropBoxWidth) || 0;\n var minCropBoxHeight = Number(options.minCropBoxHeight) || 0;\n var maxCropBoxWidth = limited ? Math.min(containerData.width, canvasData.width, canvasData.width + canvasData.left, containerData.width - canvasData.left) : containerData.width;\n var maxCropBoxHeight = limited ? Math.min(containerData.height, canvasData.height, canvasData.height + canvasData.top, containerData.height - canvasData.top) : containerData.height;\n\n // The min/maxCropBoxWidth/Height must be less than container's width/height\n minCropBoxWidth = Math.min(minCropBoxWidth, containerData.width);\n minCropBoxHeight = Math.min(minCropBoxHeight, containerData.height);\n if (aspectRatio) {\n if (minCropBoxWidth && minCropBoxHeight) {\n if (minCropBoxHeight * aspectRatio > minCropBoxWidth) {\n minCropBoxHeight = minCropBoxWidth / aspectRatio;\n } else {\n minCropBoxWidth = minCropBoxHeight * aspectRatio;\n }\n } else if (minCropBoxWidth) {\n minCropBoxHeight = minCropBoxWidth / aspectRatio;\n } else if (minCropBoxHeight) {\n minCropBoxWidth = minCropBoxHeight * aspectRatio;\n }\n if (maxCropBoxHeight * aspectRatio > maxCropBoxWidth) {\n maxCropBoxHeight = maxCropBoxWidth / aspectRatio;\n } else {\n maxCropBoxWidth = maxCropBoxHeight * aspectRatio;\n }\n }\n\n // The minWidth/Height must be less than maxWidth/Height\n cropBoxData.minWidth = Math.min(minCropBoxWidth, maxCropBoxWidth);\n cropBoxData.minHeight = Math.min(minCropBoxHeight, maxCropBoxHeight);\n cropBoxData.maxWidth = maxCropBoxWidth;\n cropBoxData.maxHeight = maxCropBoxHeight;\n }\n if (positionLimited) {\n if (limited) {\n cropBoxData.minLeft = Math.max(0, canvasData.left);\n cropBoxData.minTop = Math.max(0, canvasData.top);\n cropBoxData.maxLeft = Math.min(containerData.width, canvasData.left + canvasData.width) - cropBoxData.width;\n cropBoxData.maxTop = Math.min(containerData.height, canvasData.top + canvasData.height) - cropBoxData.height;\n } else {\n cropBoxData.minLeft = 0;\n cropBoxData.minTop = 0;\n cropBoxData.maxLeft = containerData.width - cropBoxData.width;\n cropBoxData.maxTop = containerData.height - cropBoxData.height;\n }\n }\n },\n renderCropBox: function renderCropBox() {\n var options = this.options,\n containerData = this.containerData,\n cropBoxData = this.cropBoxData;\n if (cropBoxData.width > cropBoxData.maxWidth || cropBoxData.width < cropBoxData.minWidth) {\n cropBoxData.left = cropBoxData.oldLeft;\n }\n if (cropBoxData.height > cropBoxData.maxHeight || cropBoxData.height < cropBoxData.minHeight) {\n cropBoxData.top = cropBoxData.oldTop;\n }\n cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);\n cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight);\n this.limitCropBox(false, true);\n cropBoxData.left = Math.min(Math.max(cropBoxData.left, cropBoxData.minLeft), cropBoxData.maxLeft);\n cropBoxData.top = Math.min(Math.max(cropBoxData.top, cropBoxData.minTop), cropBoxData.maxTop);\n cropBoxData.oldLeft = cropBoxData.left;\n cropBoxData.oldTop = cropBoxData.top;\n if (options.movable && options.cropBoxMovable) {\n // Turn to move the canvas when the crop box is equal to the container\n setData(this.face, DATA_ACTION, cropBoxData.width >= containerData.width && cropBoxData.height >= containerData.height ? ACTION_MOVE : ACTION_ALL);\n }\n setStyle(this.cropBox, assign({\n width: cropBoxData.width,\n height: cropBoxData.height\n }, getTransforms({\n translateX: cropBoxData.left,\n translateY: cropBoxData.top\n })));\n if (this.cropped && this.limited) {\n this.limitCanvas(true, true);\n }\n if (!this.disabled) {\n this.output();\n }\n },\n output: function output() {\n this.preview();\n dispatchEvent(this.element, EVENT_CROP, this.getData());\n }\n };\n\n var preview = {\n initPreview: function initPreview() {\n var element = this.element,\n crossOrigin = this.crossOrigin;\n var preview = this.options.preview;\n var url = crossOrigin ? this.crossOriginUrl : this.url;\n var alt = element.alt || 'The image to preview';\n var image = document.createElement('img');\n if (crossOrigin) {\n image.crossOrigin = crossOrigin;\n }\n image.src = url;\n image.alt = alt;\n this.viewBox.appendChild(image);\n this.viewBoxImage = image;\n if (!preview) {\n return;\n }\n var previews = preview;\n if (typeof preview === 'string') {\n previews = element.ownerDocument.querySelectorAll(preview);\n } else if (preview.querySelector) {\n previews = [preview];\n }\n this.previews = previews;\n forEach(previews, function (el) {\n var img = document.createElement('img');\n\n // Save the original size for recover\n setData(el, DATA_PREVIEW, {\n width: el.offsetWidth,\n height: el.offsetHeight,\n html: el.innerHTML\n });\n if (crossOrigin) {\n img.crossOrigin = crossOrigin;\n }\n img.src = url;\n img.alt = alt;\n\n /**\n * Override img element styles\n * Add `display:block` to avoid margin top issue\n * Add `height:auto` to override `height` attribute on IE8\n * (Occur only when margin-top <= -height)\n */\n img.style.cssText = 'display:block;' + 'width:100%;' + 'height:auto;' + 'min-width:0!important;' + 'min-height:0!important;' + 'max-width:none!important;' + 'max-height:none!important;' + 'image-orientation:0deg!important;\"';\n el.innerHTML = '';\n el.appendChild(img);\n });\n },\n resetPreview: function resetPreview() {\n forEach(this.previews, function (element) {\n var data = getData(element, DATA_PREVIEW);\n setStyle(element, {\n width: data.width,\n height: data.height\n });\n element.innerHTML = data.html;\n removeData(element, DATA_PREVIEW);\n });\n },\n preview: function preview() {\n var imageData = this.imageData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var cropBoxWidth = cropBoxData.width,\n cropBoxHeight = cropBoxData.height;\n var width = imageData.width,\n height = imageData.height;\n var left = cropBoxData.left - canvasData.left - imageData.left;\n var top = cropBoxData.top - canvasData.top - imageData.top;\n if (!this.cropped || this.disabled) {\n return;\n }\n setStyle(this.viewBoxImage, assign({\n width: width,\n height: height\n }, getTransforms(assign({\n translateX: -left,\n translateY: -top\n }, imageData))));\n forEach(this.previews, function (element) {\n var data = getData(element, DATA_PREVIEW);\n var originalWidth = data.width;\n var originalHeight = data.height;\n var newWidth = originalWidth;\n var newHeight = originalHeight;\n var ratio = 1;\n if (cropBoxWidth) {\n ratio = originalWidth / cropBoxWidth;\n newHeight = cropBoxHeight * ratio;\n }\n if (cropBoxHeight && newHeight > originalHeight) {\n ratio = originalHeight / cropBoxHeight;\n newWidth = cropBoxWidth * ratio;\n newHeight = originalHeight;\n }\n setStyle(element, {\n width: newWidth,\n height: newHeight\n });\n setStyle(element.getElementsByTagName('img')[0], assign({\n width: width * ratio,\n height: height * ratio\n }, getTransforms(assign({\n translateX: -left * ratio,\n translateY: -top * ratio\n }, imageData))));\n });\n }\n };\n\n var events = {\n bind: function bind() {\n var element = this.element,\n options = this.options,\n cropper = this.cropper;\n if (isFunction(options.cropstart)) {\n addListener(element, EVENT_CROP_START, options.cropstart);\n }\n if (isFunction(options.cropmove)) {\n addListener(element, EVENT_CROP_MOVE, options.cropmove);\n }\n if (isFunction(options.cropend)) {\n addListener(element, EVENT_CROP_END, options.cropend);\n }\n if (isFunction(options.crop)) {\n addListener(element, EVENT_CROP, options.crop);\n }\n if (isFunction(options.zoom)) {\n addListener(element, EVENT_ZOOM, options.zoom);\n }\n addListener(cropper, EVENT_POINTER_DOWN, this.onCropStart = this.cropStart.bind(this));\n if (options.zoomable && options.zoomOnWheel) {\n addListener(cropper, EVENT_WHEEL, this.onWheel = this.wheel.bind(this), {\n passive: false,\n capture: true\n });\n }\n if (options.toggleDragModeOnDblclick) {\n addListener(cropper, EVENT_DBLCLICK, this.onDblclick = this.dblclick.bind(this));\n }\n addListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove = this.cropMove.bind(this));\n addListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd = this.cropEnd.bind(this));\n if (options.responsive) {\n addListener(window, EVENT_RESIZE, this.onResize = this.resize.bind(this));\n }\n },\n unbind: function unbind() {\n var element = this.element,\n options = this.options,\n cropper = this.cropper;\n if (isFunction(options.cropstart)) {\n removeListener(element, EVENT_CROP_START, options.cropstart);\n }\n if (isFunction(options.cropmove)) {\n removeListener(element, EVENT_CROP_MOVE, options.cropmove);\n }\n if (isFunction(options.cropend)) {\n removeListener(element, EVENT_CROP_END, options.cropend);\n }\n if (isFunction(options.crop)) {\n removeListener(element, EVENT_CROP, options.crop);\n }\n if (isFunction(options.zoom)) {\n removeListener(element, EVENT_ZOOM, options.zoom);\n }\n removeListener(cropper, EVENT_POINTER_DOWN, this.onCropStart);\n if (options.zoomable && options.zoomOnWheel) {\n removeListener(cropper, EVENT_WHEEL, this.onWheel, {\n passive: false,\n capture: true\n });\n }\n if (options.toggleDragModeOnDblclick) {\n removeListener(cropper, EVENT_DBLCLICK, this.onDblclick);\n }\n removeListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove);\n removeListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd);\n if (options.responsive) {\n removeListener(window, EVENT_RESIZE, this.onResize);\n }\n }\n };\n\n var handlers = {\n resize: function resize() {\n if (this.disabled) {\n return;\n }\n var options = this.options,\n container = this.container,\n containerData = this.containerData;\n var ratioX = container.offsetWidth / containerData.width;\n var ratioY = container.offsetHeight / containerData.height;\n var ratio = Math.abs(ratioX - 1) > Math.abs(ratioY - 1) ? ratioX : ratioY;\n\n // Resize when width changed or height changed\n if (ratio !== 1) {\n var canvasData;\n var cropBoxData;\n if (options.restore) {\n canvasData = this.getCanvasData();\n cropBoxData = this.getCropBoxData();\n }\n this.render();\n if (options.restore) {\n this.setCanvasData(forEach(canvasData, function (n, i) {\n canvasData[i] = n * ratio;\n }));\n this.setCropBoxData(forEach(cropBoxData, function (n, i) {\n cropBoxData[i] = n * ratio;\n }));\n }\n }\n },\n dblclick: function dblclick() {\n if (this.disabled || this.options.dragMode === DRAG_MODE_NONE) {\n return;\n }\n this.setDragMode(hasClass(this.dragBox, CLASS_CROP) ? DRAG_MODE_MOVE : DRAG_MODE_CROP);\n },\n wheel: function wheel(event) {\n var _this = this;\n var ratio = Number(this.options.wheelZoomRatio) || 0.1;\n var delta = 1;\n if (this.disabled) {\n return;\n }\n event.preventDefault();\n\n // Limit wheel speed to prevent zoom too fast (#21)\n if (this.wheeling) {\n return;\n }\n this.wheeling = true;\n setTimeout(function () {\n _this.wheeling = false;\n }, 50);\n if (event.deltaY) {\n delta = event.deltaY > 0 ? 1 : -1;\n } else if (event.wheelDelta) {\n delta = -event.wheelDelta / 120;\n } else if (event.detail) {\n delta = event.detail > 0 ? 1 : -1;\n }\n this.zoom(-delta * ratio, event);\n },\n cropStart: function cropStart(event) {\n var buttons = event.buttons,\n button = event.button;\n if (this.disabled\n\n // Handle mouse event and pointer event and ignore touch event\n || (event.type === 'mousedown' || event.type === 'pointerdown' && event.pointerType === 'mouse') && (\n // No primary button (Usually the left button)\n isNumber(buttons) && buttons !== 1 || isNumber(button) && button !== 0\n\n // Open context menu\n || event.ctrlKey)) {\n return;\n }\n var options = this.options,\n pointers = this.pointers;\n var action;\n if (event.changedTouches) {\n // Handle touch event\n forEach(event.changedTouches, function (touch) {\n pointers[touch.identifier] = getPointer(touch);\n });\n } else {\n // Handle mouse event and pointer event\n pointers[event.pointerId || 0] = getPointer(event);\n }\n if (Object.keys(pointers).length > 1 && options.zoomable && options.zoomOnTouch) {\n action = ACTION_ZOOM;\n } else {\n action = getData(event.target, DATA_ACTION);\n }\n if (!REGEXP_ACTIONS.test(action)) {\n return;\n }\n if (dispatchEvent(this.element, EVENT_CROP_START, {\n originalEvent: event,\n action: action\n }) === false) {\n return;\n }\n\n // This line is required for preventing page zooming in iOS browsers\n event.preventDefault();\n this.action = action;\n this.cropping = false;\n if (action === ACTION_CROP) {\n this.cropping = true;\n addClass(this.dragBox, CLASS_MODAL);\n }\n },\n cropMove: function cropMove(event) {\n var action = this.action;\n if (this.disabled || !action) {\n return;\n }\n var pointers = this.pointers;\n event.preventDefault();\n if (dispatchEvent(this.element, EVENT_CROP_MOVE, {\n originalEvent: event,\n action: action\n }) === false) {\n return;\n }\n if (event.changedTouches) {\n forEach(event.changedTouches, function (touch) {\n // The first parameter should not be undefined (#432)\n assign(pointers[touch.identifier] || {}, getPointer(touch, true));\n });\n } else {\n assign(pointers[event.pointerId || 0] || {}, getPointer(event, true));\n }\n this.change(event);\n },\n cropEnd: function cropEnd(event) {\n if (this.disabled) {\n return;\n }\n var action = this.action,\n pointers = this.pointers;\n if (event.changedTouches) {\n forEach(event.changedTouches, function (touch) {\n delete pointers[touch.identifier];\n });\n } else {\n delete pointers[event.pointerId || 0];\n }\n if (!action) {\n return;\n }\n event.preventDefault();\n if (!Object.keys(pointers).length) {\n this.action = '';\n }\n if (this.cropping) {\n this.cropping = false;\n toggleClass(this.dragBox, CLASS_MODAL, this.cropped && this.options.modal);\n }\n dispatchEvent(this.element, EVENT_CROP_END, {\n originalEvent: event,\n action: action\n });\n }\n };\n\n var change = {\n change: function change(event) {\n var options = this.options,\n canvasData = this.canvasData,\n containerData = this.containerData,\n cropBoxData = this.cropBoxData,\n pointers = this.pointers;\n var action = this.action;\n var aspectRatio = options.aspectRatio;\n var left = cropBoxData.left,\n top = cropBoxData.top,\n width = cropBoxData.width,\n height = cropBoxData.height;\n var right = left + width;\n var bottom = top + height;\n var minLeft = 0;\n var minTop = 0;\n var maxWidth = containerData.width;\n var maxHeight = containerData.height;\n var renderable = true;\n var offset;\n\n // Locking aspect ratio in \"free mode\" by holding shift key\n if (!aspectRatio && event.shiftKey) {\n aspectRatio = width && height ? width / height : 1;\n }\n if (this.limited) {\n minLeft = cropBoxData.minLeft;\n minTop = cropBoxData.minTop;\n maxWidth = minLeft + Math.min(containerData.width, canvasData.width, canvasData.left + canvasData.width);\n maxHeight = minTop + Math.min(containerData.height, canvasData.height, canvasData.top + canvasData.height);\n }\n var pointer = pointers[Object.keys(pointers)[0]];\n var range = {\n x: pointer.endX - pointer.startX,\n y: pointer.endY - pointer.startY\n };\n var check = function check(side) {\n switch (side) {\n case ACTION_EAST:\n if (right + range.x > maxWidth) {\n range.x = maxWidth - right;\n }\n break;\n case ACTION_WEST:\n if (left + range.x < minLeft) {\n range.x = minLeft - left;\n }\n break;\n case ACTION_NORTH:\n if (top + range.y < minTop) {\n range.y = minTop - top;\n }\n break;\n case ACTION_SOUTH:\n if (bottom + range.y > maxHeight) {\n range.y = maxHeight - bottom;\n }\n break;\n }\n };\n switch (action) {\n // Move crop box\n case ACTION_ALL:\n left += range.x;\n top += range.y;\n break;\n\n // Resize crop box\n case ACTION_EAST:\n if (range.x >= 0 && (right >= maxWidth || aspectRatio && (top <= minTop || bottom >= maxHeight))) {\n renderable = false;\n break;\n }\n check(ACTION_EAST);\n width += range.x;\n if (width < 0) {\n action = ACTION_WEST;\n width = -width;\n left -= width;\n }\n if (aspectRatio) {\n height = width / aspectRatio;\n top += (cropBoxData.height - height) / 2;\n }\n break;\n case ACTION_NORTH:\n if (range.y <= 0 && (top <= minTop || aspectRatio && (left <= minLeft || right >= maxWidth))) {\n renderable = false;\n break;\n }\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n if (height < 0) {\n action = ACTION_SOUTH;\n height = -height;\n top -= height;\n }\n if (aspectRatio) {\n width = height * aspectRatio;\n left += (cropBoxData.width - width) / 2;\n }\n break;\n case ACTION_WEST:\n if (range.x <= 0 && (left <= minLeft || aspectRatio && (top <= minTop || bottom >= maxHeight))) {\n renderable = false;\n break;\n }\n check(ACTION_WEST);\n width -= range.x;\n left += range.x;\n if (width < 0) {\n action = ACTION_EAST;\n width = -width;\n left -= width;\n }\n if (aspectRatio) {\n height = width / aspectRatio;\n top += (cropBoxData.height - height) / 2;\n }\n break;\n case ACTION_SOUTH:\n if (range.y >= 0 && (bottom >= maxHeight || aspectRatio && (left <= minLeft || right >= maxWidth))) {\n renderable = false;\n break;\n }\n check(ACTION_SOUTH);\n height += range.y;\n if (height < 0) {\n action = ACTION_NORTH;\n height = -height;\n top -= height;\n }\n if (aspectRatio) {\n width = height * aspectRatio;\n left += (cropBoxData.width - width) / 2;\n }\n break;\n case ACTION_NORTH_EAST:\n if (aspectRatio) {\n if (range.y <= 0 && (top <= minTop || right >= maxWidth)) {\n renderable = false;\n break;\n }\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n width = height * aspectRatio;\n } else {\n check(ACTION_NORTH);\n check(ACTION_EAST);\n if (range.x >= 0) {\n if (right < maxWidth) {\n width += range.x;\n } else if (range.y <= 0 && top <= minTop) {\n renderable = false;\n }\n } else {\n width += range.x;\n }\n if (range.y <= 0) {\n if (top > minTop) {\n height -= range.y;\n top += range.y;\n }\n } else {\n height -= range.y;\n top += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_SOUTH_WEST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_NORTH_WEST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_SOUTH_EAST;\n height = -height;\n top -= height;\n }\n break;\n case ACTION_NORTH_WEST:\n if (aspectRatio) {\n if (range.y <= 0 && (top <= minTop || left <= minLeft)) {\n renderable = false;\n break;\n }\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n width = height * aspectRatio;\n left += cropBoxData.width - width;\n } else {\n check(ACTION_NORTH);\n check(ACTION_WEST);\n if (range.x <= 0) {\n if (left > minLeft) {\n width -= range.x;\n left += range.x;\n } else if (range.y <= 0 && top <= minTop) {\n renderable = false;\n }\n } else {\n width -= range.x;\n left += range.x;\n }\n if (range.y <= 0) {\n if (top > minTop) {\n height -= range.y;\n top += range.y;\n }\n } else {\n height -= range.y;\n top += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_SOUTH_EAST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_NORTH_EAST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_SOUTH_WEST;\n height = -height;\n top -= height;\n }\n break;\n case ACTION_SOUTH_WEST:\n if (aspectRatio) {\n if (range.x <= 0 && (left <= minLeft || bottom >= maxHeight)) {\n renderable = false;\n break;\n }\n check(ACTION_WEST);\n width -= range.x;\n left += range.x;\n height = width / aspectRatio;\n } else {\n check(ACTION_SOUTH);\n check(ACTION_WEST);\n if (range.x <= 0) {\n if (left > minLeft) {\n width -= range.x;\n left += range.x;\n } else if (range.y >= 0 && bottom >= maxHeight) {\n renderable = false;\n }\n } else {\n width -= range.x;\n left += range.x;\n }\n if (range.y >= 0) {\n if (bottom < maxHeight) {\n height += range.y;\n }\n } else {\n height += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_NORTH_EAST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_SOUTH_EAST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_NORTH_WEST;\n height = -height;\n top -= height;\n }\n break;\n case ACTION_SOUTH_EAST:\n if (aspectRatio) {\n if (range.x >= 0 && (right >= maxWidth || bottom >= maxHeight)) {\n renderable = false;\n break;\n }\n check(ACTION_EAST);\n width += range.x;\n height = width / aspectRatio;\n } else {\n check(ACTION_SOUTH);\n check(ACTION_EAST);\n if (range.x >= 0) {\n if (right < maxWidth) {\n width += range.x;\n } else if (range.y >= 0 && bottom >= maxHeight) {\n renderable = false;\n }\n } else {\n width += range.x;\n }\n if (range.y >= 0) {\n if (bottom < maxHeight) {\n height += range.y;\n }\n } else {\n height += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_NORTH_WEST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_SOUTH_WEST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_NORTH_EAST;\n height = -height;\n top -= height;\n }\n break;\n\n // Move canvas\n case ACTION_MOVE:\n this.move(range.x, range.y);\n renderable = false;\n break;\n\n // Zoom canvas\n case ACTION_ZOOM:\n this.zoom(getMaxZoomRatio(pointers), event);\n renderable = false;\n break;\n\n // Create crop box\n case ACTION_CROP:\n if (!range.x || !range.y) {\n renderable = false;\n break;\n }\n offset = getOffset(this.cropper);\n left = pointer.startX - offset.left;\n top = pointer.startY - offset.top;\n width = cropBoxData.minWidth;\n height = cropBoxData.minHeight;\n if (range.x > 0) {\n action = range.y > 0 ? ACTION_SOUTH_EAST : ACTION_NORTH_EAST;\n } else if (range.x < 0) {\n left -= width;\n action = range.y > 0 ? ACTION_SOUTH_WEST : ACTION_NORTH_WEST;\n }\n if (range.y < 0) {\n top -= height;\n }\n\n // Show the crop box if is hidden\n if (!this.cropped) {\n removeClass(this.cropBox, CLASS_HIDDEN);\n this.cropped = true;\n if (this.limited) {\n this.limitCropBox(true, true);\n }\n }\n break;\n }\n if (renderable) {\n cropBoxData.width = width;\n cropBoxData.height = height;\n cropBoxData.left = left;\n cropBoxData.top = top;\n this.action = action;\n this.renderCropBox();\n }\n\n // Override\n forEach(pointers, function (p) {\n p.startX = p.endX;\n p.startY = p.endY;\n });\n }\n };\n\n var methods = {\n // Show the crop box manually\n crop: function crop() {\n if (this.ready && !this.cropped && !this.disabled) {\n this.cropped = true;\n this.limitCropBox(true, true);\n if (this.options.modal) {\n addClass(this.dragBox, CLASS_MODAL);\n }\n removeClass(this.cropBox, CLASS_HIDDEN);\n this.setCropBoxData(this.initialCropBoxData);\n }\n return this;\n },\n // Reset the image and crop box to their initial states\n reset: function reset() {\n if (this.ready && !this.disabled) {\n this.imageData = assign({}, this.initialImageData);\n this.canvasData = assign({}, this.initialCanvasData);\n this.cropBoxData = assign({}, this.initialCropBoxData);\n this.renderCanvas();\n if (this.cropped) {\n this.renderCropBox();\n }\n }\n return this;\n },\n // Clear the crop box\n clear: function clear() {\n if (this.cropped && !this.disabled) {\n assign(this.cropBoxData, {\n left: 0,\n top: 0,\n width: 0,\n height: 0\n });\n this.cropped = false;\n this.renderCropBox();\n this.limitCanvas(true, true);\n\n // Render canvas after crop box rendered\n this.renderCanvas();\n removeClass(this.dragBox, CLASS_MODAL);\n addClass(this.cropBox, CLASS_HIDDEN);\n }\n return this;\n },\n /**\n * Replace the image's src and rebuild the cropper\n * @param {string} url - The new URL.\n * @param {boolean} [hasSameSize] - Indicate if the new image has the same size as the old one.\n * @returns {Cropper} this\n */\n replace: function replace(url) {\n var hasSameSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (!this.disabled && url) {\n if (this.isImg) {\n this.element.src = url;\n }\n if (hasSameSize) {\n this.url = url;\n this.image.src = url;\n if (this.ready) {\n this.viewBoxImage.src = url;\n forEach(this.previews, function (element) {\n element.getElementsByTagName('img')[0].src = url;\n });\n }\n } else {\n if (this.isImg) {\n this.replaced = true;\n }\n this.options.data = null;\n this.uncreate();\n this.load(url);\n }\n }\n return this;\n },\n // Enable (unfreeze) the cropper\n enable: function enable() {\n if (this.ready && this.disabled) {\n this.disabled = false;\n removeClass(this.cropper, CLASS_DISABLED);\n }\n return this;\n },\n // Disable (freeze) the cropper\n disable: function disable() {\n if (this.ready && !this.disabled) {\n this.disabled = true;\n addClass(this.cropper, CLASS_DISABLED);\n }\n return this;\n },\n /**\n * Destroy the cropper and remove the instance from the image\n * @returns {Cropper} this\n */\n destroy: function destroy() {\n var element = this.element;\n if (!element[NAMESPACE]) {\n return this;\n }\n element[NAMESPACE] = undefined;\n if (this.isImg && this.replaced) {\n element.src = this.originalUrl;\n }\n this.uncreate();\n return this;\n },\n /**\n * Move the canvas with relative offsets\n * @param {number} offsetX - The relative offset distance on the x-axis.\n * @param {number} [offsetY=offsetX] - The relative offset distance on the y-axis.\n * @returns {Cropper} this\n */\n move: function move(offsetX) {\n var offsetY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : offsetX;\n var _this$canvasData = this.canvasData,\n left = _this$canvasData.left,\n top = _this$canvasData.top;\n return this.moveTo(isUndefined(offsetX) ? offsetX : left + Number(offsetX), isUndefined(offsetY) ? offsetY : top + Number(offsetY));\n },\n /**\n * Move the canvas to an absolute point\n * @param {number} x - The x-axis coordinate.\n * @param {number} [y=x] - The y-axis coordinate.\n * @returns {Cropper} this\n */\n moveTo: function moveTo(x) {\n var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : x;\n var canvasData = this.canvasData;\n var changed = false;\n x = Number(x);\n y = Number(y);\n if (this.ready && !this.disabled && this.options.movable) {\n if (isNumber(x)) {\n canvasData.left = x;\n changed = true;\n }\n if (isNumber(y)) {\n canvasData.top = y;\n changed = true;\n }\n if (changed) {\n this.renderCanvas(true);\n }\n }\n return this;\n },\n /**\n * Zoom the canvas with a relative ratio\n * @param {number} ratio - The target ratio.\n * @param {Event} _originalEvent - The original event if any.\n * @returns {Cropper} this\n */\n zoom: function zoom(ratio, _originalEvent) {\n var canvasData = this.canvasData;\n ratio = Number(ratio);\n if (ratio < 0) {\n ratio = 1 / (1 - ratio);\n } else {\n ratio = 1 + ratio;\n }\n return this.zoomTo(canvasData.width * ratio / canvasData.naturalWidth, null, _originalEvent);\n },\n /**\n * Zoom the canvas to an absolute ratio\n * @param {number} ratio - The target ratio.\n * @param {Object} pivot - The zoom pivot point coordinate.\n * @param {Event} _originalEvent - The original event if any.\n * @returns {Cropper} this\n */\n zoomTo: function zoomTo(ratio, pivot, _originalEvent) {\n var options = this.options,\n canvasData = this.canvasData;\n var width = canvasData.width,\n height = canvasData.height,\n naturalWidth = canvasData.naturalWidth,\n naturalHeight = canvasData.naturalHeight;\n ratio = Number(ratio);\n if (ratio >= 0 && this.ready && !this.disabled && options.zoomable) {\n var newWidth = naturalWidth * ratio;\n var newHeight = naturalHeight * ratio;\n if (dispatchEvent(this.element, EVENT_ZOOM, {\n ratio: ratio,\n oldRatio: width / naturalWidth,\n originalEvent: _originalEvent\n }) === false) {\n return this;\n }\n if (_originalEvent) {\n var pointers = this.pointers;\n var offset = getOffset(this.cropper);\n var center = pointers && Object.keys(pointers).length ? getPointersCenter(pointers) : {\n pageX: _originalEvent.pageX,\n pageY: _originalEvent.pageY\n };\n\n // Zoom from the triggering point of the event\n canvasData.left -= (newWidth - width) * ((center.pageX - offset.left - canvasData.left) / width);\n canvasData.top -= (newHeight - height) * ((center.pageY - offset.top - canvasData.top) / height);\n } else if (isPlainObject(pivot) && isNumber(pivot.x) && isNumber(pivot.y)) {\n canvasData.left -= (newWidth - width) * ((pivot.x - canvasData.left) / width);\n canvasData.top -= (newHeight - height) * ((pivot.y - canvasData.top) / height);\n } else {\n // Zoom from the center of the canvas\n canvasData.left -= (newWidth - width) / 2;\n canvasData.top -= (newHeight - height) / 2;\n }\n canvasData.width = newWidth;\n canvasData.height = newHeight;\n this.renderCanvas(true);\n }\n return this;\n },\n /**\n * Rotate the canvas with a relative degree\n * @param {number} degree - The rotate degree.\n * @returns {Cropper} this\n */\n rotate: function rotate(degree) {\n return this.rotateTo((this.imageData.rotate || 0) + Number(degree));\n },\n /**\n * Rotate the canvas to an absolute degree\n * @param {number} degree - The rotate degree.\n * @returns {Cropper} this\n */\n rotateTo: function rotateTo(degree) {\n degree = Number(degree);\n if (isNumber(degree) && this.ready && !this.disabled && this.options.rotatable) {\n this.imageData.rotate = degree % 360;\n this.renderCanvas(true, true);\n }\n return this;\n },\n /**\n * Scale the image on the x-axis.\n * @param {number} scaleX - The scale ratio on the x-axis.\n * @returns {Cropper} this\n */\n scaleX: function scaleX(_scaleX) {\n var scaleY = this.imageData.scaleY;\n return this.scale(_scaleX, isNumber(scaleY) ? scaleY : 1);\n },\n /**\n * Scale the image on the y-axis.\n * @param {number} scaleY - The scale ratio on the y-axis.\n * @returns {Cropper} this\n */\n scaleY: function scaleY(_scaleY) {\n var scaleX = this.imageData.scaleX;\n return this.scale(isNumber(scaleX) ? scaleX : 1, _scaleY);\n },\n /**\n * Scale the image\n * @param {number} scaleX - The scale ratio on the x-axis.\n * @param {number} [scaleY=scaleX] - The scale ratio on the y-axis.\n * @returns {Cropper} this\n */\n scale: function scale(scaleX) {\n var scaleY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : scaleX;\n var imageData = this.imageData;\n var transformed = false;\n scaleX = Number(scaleX);\n scaleY = Number(scaleY);\n if (this.ready && !this.disabled && this.options.scalable) {\n if (isNumber(scaleX)) {\n imageData.scaleX = scaleX;\n transformed = true;\n }\n if (isNumber(scaleY)) {\n imageData.scaleY = scaleY;\n transformed = true;\n }\n if (transformed) {\n this.renderCanvas(true, true);\n }\n }\n return this;\n },\n /**\n * Get the cropped area position and size data (base on the original image)\n * @param {boolean} [rounded=false] - Indicate if round the data values or not.\n * @returns {Object} The result cropped data.\n */\n getData: function getData() {\n var rounded = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var options = this.options,\n imageData = this.imageData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var data;\n if (this.ready && this.cropped) {\n data = {\n x: cropBoxData.left - canvasData.left,\n y: cropBoxData.top - canvasData.top,\n width: cropBoxData.width,\n height: cropBoxData.height\n };\n var ratio = imageData.width / imageData.naturalWidth;\n forEach(data, function (n, i) {\n data[i] = n / ratio;\n });\n if (rounded) {\n // In case rounding off leads to extra 1px in right or bottom border\n // we should round the top-left corner and the dimension (#343).\n var bottom = Math.round(data.y + data.height);\n var right = Math.round(data.x + data.width);\n data.x = Math.round(data.x);\n data.y = Math.round(data.y);\n data.width = right - data.x;\n data.height = bottom - data.y;\n }\n } else {\n data = {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n }\n if (options.rotatable) {\n data.rotate = imageData.rotate || 0;\n }\n if (options.scalable) {\n data.scaleX = imageData.scaleX || 1;\n data.scaleY = imageData.scaleY || 1;\n }\n return data;\n },\n /**\n * Set the cropped area position and size with new data\n * @param {Object} data - The new data.\n * @returns {Cropper} this\n */\n setData: function setData(data) {\n var options = this.options,\n imageData = this.imageData,\n canvasData = this.canvasData;\n var cropBoxData = {};\n if (this.ready && !this.disabled && isPlainObject(data)) {\n var transformed = false;\n if (options.rotatable) {\n if (isNumber(data.rotate) && data.rotate !== imageData.rotate) {\n imageData.rotate = data.rotate;\n transformed = true;\n }\n }\n if (options.scalable) {\n if (isNumber(data.scaleX) && data.scaleX !== imageData.scaleX) {\n imageData.scaleX = data.scaleX;\n transformed = true;\n }\n if (isNumber(data.scaleY) && data.scaleY !== imageData.scaleY) {\n imageData.scaleY = data.scaleY;\n transformed = true;\n }\n }\n if (transformed) {\n this.renderCanvas(true, true);\n }\n var ratio = imageData.width / imageData.naturalWidth;\n if (isNumber(data.x)) {\n cropBoxData.left = data.x * ratio + canvasData.left;\n }\n if (isNumber(data.y)) {\n cropBoxData.top = data.y * ratio + canvasData.top;\n }\n if (isNumber(data.width)) {\n cropBoxData.width = data.width * ratio;\n }\n if (isNumber(data.height)) {\n cropBoxData.height = data.height * ratio;\n }\n this.setCropBoxData(cropBoxData);\n }\n return this;\n },\n /**\n * Get the container size data.\n * @returns {Object} The result container data.\n */\n getContainerData: function getContainerData() {\n return this.ready ? assign({}, this.containerData) : {};\n },\n /**\n * Get the image position and size data.\n * @returns {Object} The result image data.\n */\n getImageData: function getImageData() {\n return this.sized ? assign({}, this.imageData) : {};\n },\n /**\n * Get the canvas position and size data.\n * @returns {Object} The result canvas data.\n */\n getCanvasData: function getCanvasData() {\n var canvasData = this.canvasData;\n var data = {};\n if (this.ready) {\n forEach(['left', 'top', 'width', 'height', 'naturalWidth', 'naturalHeight'], function (n) {\n data[n] = canvasData[n];\n });\n }\n return data;\n },\n /**\n * Set the canvas position and size with new data.\n * @param {Object} data - The new canvas data.\n * @returns {Cropper} this\n */\n setCanvasData: function setCanvasData(data) {\n var canvasData = this.canvasData;\n var aspectRatio = canvasData.aspectRatio;\n if (this.ready && !this.disabled && isPlainObject(data)) {\n if (isNumber(data.left)) {\n canvasData.left = data.left;\n }\n if (isNumber(data.top)) {\n canvasData.top = data.top;\n }\n if (isNumber(data.width)) {\n canvasData.width = data.width;\n canvasData.height = data.width / aspectRatio;\n } else if (isNumber(data.height)) {\n canvasData.height = data.height;\n canvasData.width = data.height * aspectRatio;\n }\n this.renderCanvas(true);\n }\n return this;\n },\n /**\n * Get the crop box position and size data.\n * @returns {Object} The result crop box data.\n */\n getCropBoxData: function getCropBoxData() {\n var cropBoxData = this.cropBoxData;\n var data;\n if (this.ready && this.cropped) {\n data = {\n left: cropBoxData.left,\n top: cropBoxData.top,\n width: cropBoxData.width,\n height: cropBoxData.height\n };\n }\n return data || {};\n },\n /**\n * Set the crop box position and size with new data.\n * @param {Object} data - The new crop box data.\n * @returns {Cropper} this\n */\n setCropBoxData: function setCropBoxData(data) {\n var cropBoxData = this.cropBoxData;\n var aspectRatio = this.options.aspectRatio;\n var widthChanged;\n var heightChanged;\n if (this.ready && this.cropped && !this.disabled && isPlainObject(data)) {\n if (isNumber(data.left)) {\n cropBoxData.left = data.left;\n }\n if (isNumber(data.top)) {\n cropBoxData.top = data.top;\n }\n if (isNumber(data.width) && data.width !== cropBoxData.width) {\n widthChanged = true;\n cropBoxData.width = data.width;\n }\n if (isNumber(data.height) && data.height !== cropBoxData.height) {\n heightChanged = true;\n cropBoxData.height = data.height;\n }\n if (aspectRatio) {\n if (widthChanged) {\n cropBoxData.height = cropBoxData.width / aspectRatio;\n } else if (heightChanged) {\n cropBoxData.width = cropBoxData.height * aspectRatio;\n }\n }\n this.renderCropBox();\n }\n return this;\n },\n /**\n * Get a canvas drawn the cropped image.\n * @param {Object} [options={}] - The config options.\n * @returns {HTMLCanvasElement} - The result canvas.\n */\n getCroppedCanvas: function getCroppedCanvas() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!this.ready || !window.HTMLCanvasElement) {\n return null;\n }\n var canvasData = this.canvasData;\n var source = getSourceCanvas(this.image, this.imageData, canvasData, options);\n\n // Returns the source canvas if it is not cropped.\n if (!this.cropped) {\n return source;\n }\n var _this$getData = this.getData(options.rounded),\n initialX = _this$getData.x,\n initialY = _this$getData.y,\n initialWidth = _this$getData.width,\n initialHeight = _this$getData.height;\n var ratio = source.width / Math.floor(canvasData.naturalWidth);\n if (ratio !== 1) {\n initialX *= ratio;\n initialY *= ratio;\n initialWidth *= ratio;\n initialHeight *= ratio;\n }\n var aspectRatio = initialWidth / initialHeight;\n var maxSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.maxWidth || Infinity,\n height: options.maxHeight || Infinity\n });\n var minSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.minWidth || 0,\n height: options.minHeight || 0\n }, 'cover');\n var _getAdjustedSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.width || (ratio !== 1 ? source.width : initialWidth),\n height: options.height || (ratio !== 1 ? source.height : initialHeight)\n }),\n width = _getAdjustedSizes.width,\n height = _getAdjustedSizes.height;\n width = Math.min(maxSizes.width, Math.max(minSizes.width, width));\n height = Math.min(maxSizes.height, Math.max(minSizes.height, height));\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.width = normalizeDecimalNumber(width);\n canvas.height = normalizeDecimalNumber(height);\n context.fillStyle = options.fillColor || 'transparent';\n context.fillRect(0, 0, width, height);\n var _options$imageSmoothi = options.imageSmoothingEnabled,\n imageSmoothingEnabled = _options$imageSmoothi === void 0 ? true : _options$imageSmoothi,\n imageSmoothingQuality = options.imageSmoothingQuality;\n context.imageSmoothingEnabled = imageSmoothingEnabled;\n if (imageSmoothingQuality) {\n context.imageSmoothingQuality = imageSmoothingQuality;\n }\n\n // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.drawImage\n var sourceWidth = source.width;\n var sourceHeight = source.height;\n\n // Source canvas parameters\n var srcX = initialX;\n var srcY = initialY;\n var srcWidth;\n var srcHeight;\n\n // Destination canvas parameters\n var dstX;\n var dstY;\n var dstWidth;\n var dstHeight;\n if (srcX <= -initialWidth || srcX > sourceWidth) {\n srcX = 0;\n srcWidth = 0;\n dstX = 0;\n dstWidth = 0;\n } else if (srcX <= 0) {\n dstX = -srcX;\n srcX = 0;\n srcWidth = Math.min(sourceWidth, initialWidth + srcX);\n dstWidth = srcWidth;\n } else if (srcX <= sourceWidth) {\n dstX = 0;\n srcWidth = Math.min(initialWidth, sourceWidth - srcX);\n dstWidth = srcWidth;\n }\n if (srcWidth <= 0 || srcY <= -initialHeight || srcY > sourceHeight) {\n srcY = 0;\n srcHeight = 0;\n dstY = 0;\n dstHeight = 0;\n } else if (srcY <= 0) {\n dstY = -srcY;\n srcY = 0;\n srcHeight = Math.min(sourceHeight, initialHeight + srcY);\n dstHeight = srcHeight;\n } else if (srcY <= sourceHeight) {\n dstY = 0;\n srcHeight = Math.min(initialHeight, sourceHeight - srcY);\n dstHeight = srcHeight;\n }\n var params = [srcX, srcY, srcWidth, srcHeight];\n\n // Avoid \"IndexSizeError\"\n if (dstWidth > 0 && dstHeight > 0) {\n var scale = width / initialWidth;\n params.push(dstX * scale, dstY * scale, dstWidth * scale, dstHeight * scale);\n }\n\n // All the numerical parameters should be integer for `drawImage`\n // https://github.com/fengyuanchen/cropper/issues/476\n context.drawImage.apply(context, [source].concat(_toConsumableArray(params.map(function (param) {\n return Math.floor(normalizeDecimalNumber(param));\n }))));\n return canvas;\n },\n /**\n * Change the aspect ratio of the crop box.\n * @param {number} aspectRatio - The new aspect ratio.\n * @returns {Cropper} this\n */\n setAspectRatio: function setAspectRatio(aspectRatio) {\n var options = this.options;\n if (!this.disabled && !isUndefined(aspectRatio)) {\n // 0 -> NaN\n options.aspectRatio = Math.max(0, aspectRatio) || NaN;\n if (this.ready) {\n this.initCropBox();\n if (this.cropped) {\n this.renderCropBox();\n }\n }\n }\n return this;\n },\n /**\n * Change the drag mode.\n * @param {string} mode - The new drag mode.\n * @returns {Cropper} this\n */\n setDragMode: function setDragMode(mode) {\n var options = this.options,\n dragBox = this.dragBox,\n face = this.face;\n if (this.ready && !this.disabled) {\n var croppable = mode === DRAG_MODE_CROP;\n var movable = options.movable && mode === DRAG_MODE_MOVE;\n mode = croppable || movable ? mode : DRAG_MODE_NONE;\n options.dragMode = mode;\n setData(dragBox, DATA_ACTION, mode);\n toggleClass(dragBox, CLASS_CROP, croppable);\n toggleClass(dragBox, CLASS_MOVE, movable);\n if (!options.cropBoxMovable) {\n // Sync drag mode to crop box when it is not movable\n setData(face, DATA_ACTION, mode);\n toggleClass(face, CLASS_CROP, croppable);\n toggleClass(face, CLASS_MOVE, movable);\n }\n }\n return this;\n }\n };\n\n var AnotherCropper = WINDOW.Cropper;\n var Cropper = /*#__PURE__*/function () {\n /**\n * Create a new Cropper.\n * @param {Element} element - The target element for cropping.\n * @param {Object} [options={}] - The configuration options.\n */\n function Cropper(element) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Cropper);\n if (!element || !REGEXP_TAG_NAME.test(element.tagName)) {\n throw new Error('The first argument is required and must be an or element.');\n }\n this.element = element;\n this.options = assign({}, DEFAULTS, isPlainObject(options) && options);\n this.cropped = false;\n this.disabled = false;\n this.pointers = {};\n this.ready = false;\n this.reloading = false;\n this.replaced = false;\n this.sized = false;\n this.sizing = false;\n this.init();\n }\n return _createClass(Cropper, [{\n key: \"init\",\n value: function init() {\n var element = this.element;\n var tagName = element.tagName.toLowerCase();\n var url;\n if (element[NAMESPACE]) {\n return;\n }\n element[NAMESPACE] = this;\n if (tagName === 'img') {\n this.isImg = true;\n\n // e.g.: \"img/picture.jpg\"\n url = element.getAttribute('src') || '';\n this.originalUrl = url;\n\n // Stop when it's a blank image\n if (!url) {\n return;\n }\n\n // e.g.: \"https://example.com/img/picture.jpg\"\n url = element.src;\n } else if (tagName === 'canvas' && window.HTMLCanvasElement) {\n url = element.toDataURL();\n }\n this.load(url);\n }\n }, {\n key: \"load\",\n value: function load(url) {\n var _this = this;\n if (!url) {\n return;\n }\n this.url = url;\n this.imageData = {};\n var element = this.element,\n options = this.options;\n if (!options.rotatable && !options.scalable) {\n options.checkOrientation = false;\n }\n\n // Only IE10+ supports Typed Arrays\n if (!options.checkOrientation || !window.ArrayBuffer) {\n this.clone();\n return;\n }\n\n // Detect the mime type of the image directly if it is a Data URL\n if (REGEXP_DATA_URL.test(url)) {\n // Read ArrayBuffer from Data URL of JPEG images directly for better performance\n if (REGEXP_DATA_URL_JPEG.test(url)) {\n this.read(dataURLToArrayBuffer(url));\n } else {\n // Only a JPEG image may contains Exif Orientation information,\n // the rest types of Data URLs are not necessary to check orientation at all.\n this.clone();\n }\n return;\n }\n\n // 1. Detect the mime type of the image by a XMLHttpRequest.\n // 2. Load the image as ArrayBuffer for reading orientation if its a JPEG image.\n var xhr = new XMLHttpRequest();\n var clone = this.clone.bind(this);\n this.reloading = true;\n this.xhr = xhr;\n\n // 1. Cross origin requests are only supported for protocol schemes:\n // http, https, data, chrome, chrome-extension.\n // 2. Access to XMLHttpRequest from a Data URL will be blocked by CORS policy\n // in some browsers as IE11 and Safari.\n xhr.onabort = clone;\n xhr.onerror = clone;\n xhr.ontimeout = clone;\n xhr.onprogress = function () {\n // Abort the request directly if it not a JPEG image for better performance\n if (xhr.getResponseHeader('content-type') !== MIME_TYPE_JPEG) {\n xhr.abort();\n }\n };\n xhr.onload = function () {\n _this.read(xhr.response);\n };\n xhr.onloadend = function () {\n _this.reloading = false;\n _this.xhr = null;\n };\n\n // Bust cache when there is a \"crossOrigin\" property to avoid browser cache error\n if (options.checkCrossOrigin && isCrossOriginURL(url) && element.crossOrigin) {\n url = addTimestamp(url);\n }\n\n // The third parameter is required for avoiding side-effect (#682)\n xhr.open('GET', url, true);\n xhr.responseType = 'arraybuffer';\n xhr.withCredentials = element.crossOrigin === 'use-credentials';\n xhr.send();\n }\n }, {\n key: \"read\",\n value: function read(arrayBuffer) {\n var options = this.options,\n imageData = this.imageData;\n\n // Reset the orientation value to its default value 1\n // as some iOS browsers will render image with its orientation\n var orientation = resetAndGetOrientation(arrayBuffer);\n var rotate = 0;\n var scaleX = 1;\n var scaleY = 1;\n if (orientation > 1) {\n // Generate a new URL which has the default orientation value\n this.url = arrayBufferToDataURL(arrayBuffer, MIME_TYPE_JPEG);\n var _parseOrientation = parseOrientation(orientation);\n rotate = _parseOrientation.rotate;\n scaleX = _parseOrientation.scaleX;\n scaleY = _parseOrientation.scaleY;\n }\n if (options.rotatable) {\n imageData.rotate = rotate;\n }\n if (options.scalable) {\n imageData.scaleX = scaleX;\n imageData.scaleY = scaleY;\n }\n this.clone();\n }\n }, {\n key: \"clone\",\n value: function clone() {\n var element = this.element,\n url = this.url;\n var crossOrigin = element.crossOrigin;\n var crossOriginUrl = url;\n if (this.options.checkCrossOrigin && isCrossOriginURL(url)) {\n if (!crossOrigin) {\n crossOrigin = 'anonymous';\n }\n\n // Bust cache when there is not a \"crossOrigin\" property (#519)\n crossOriginUrl = addTimestamp(url);\n }\n this.crossOrigin = crossOrigin;\n this.crossOriginUrl = crossOriginUrl;\n var image = document.createElement('img');\n if (crossOrigin) {\n image.crossOrigin = crossOrigin;\n }\n image.src = crossOriginUrl || url;\n image.alt = element.alt || 'The image to crop';\n this.image = image;\n image.onload = this.start.bind(this);\n image.onerror = this.stop.bind(this);\n addClass(image, CLASS_HIDE);\n element.parentNode.insertBefore(image, element.nextSibling);\n }\n }, {\n key: \"start\",\n value: function start() {\n var _this2 = this;\n var image = this.image;\n image.onload = null;\n image.onerror = null;\n this.sizing = true;\n\n // Match all browsers that use WebKit as the layout engine in iOS devices,\n // such as Safari for iOS, Chrome for iOS, and in-app browsers.\n var isIOSWebKit = WINDOW.navigator && /(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(WINDOW.navigator.userAgent);\n var done = function done(naturalWidth, naturalHeight) {\n assign(_this2.imageData, {\n naturalWidth: naturalWidth,\n naturalHeight: naturalHeight,\n aspectRatio: naturalWidth / naturalHeight\n });\n _this2.initialImageData = assign({}, _this2.imageData);\n _this2.sizing = false;\n _this2.sized = true;\n _this2.build();\n };\n\n // Most modern browsers (excepts iOS WebKit)\n if (image.naturalWidth && !isIOSWebKit) {\n done(image.naturalWidth, image.naturalHeight);\n return;\n }\n var sizingImage = document.createElement('img');\n var body = document.body || document.documentElement;\n this.sizingImage = sizingImage;\n sizingImage.onload = function () {\n done(sizingImage.width, sizingImage.height);\n if (!isIOSWebKit) {\n body.removeChild(sizingImage);\n }\n };\n sizingImage.src = image.src;\n\n // iOS WebKit will convert the image automatically\n // with its orientation once append it into DOM (#279)\n if (!isIOSWebKit) {\n sizingImage.style.cssText = 'left:0;' + 'max-height:none!important;' + 'max-width:none!important;' + 'min-height:0!important;' + 'min-width:0!important;' + 'opacity:0;' + 'position:absolute;' + 'top:0;' + 'z-index:-1;';\n body.appendChild(sizingImage);\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var image = this.image;\n image.onload = null;\n image.onerror = null;\n image.parentNode.removeChild(image);\n this.image = null;\n }\n }, {\n key: \"build\",\n value: function build() {\n if (!this.sized || this.ready) {\n return;\n }\n var element = this.element,\n options = this.options,\n image = this.image;\n\n // Create cropper elements\n var container = element.parentNode;\n var template = document.createElement('div');\n template.innerHTML = TEMPLATE;\n var cropper = template.querySelector(\".\".concat(NAMESPACE, \"-container\"));\n var canvas = cropper.querySelector(\".\".concat(NAMESPACE, \"-canvas\"));\n var dragBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-drag-box\"));\n var cropBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-crop-box\"));\n var face = cropBox.querySelector(\".\".concat(NAMESPACE, \"-face\"));\n this.container = container;\n this.cropper = cropper;\n this.canvas = canvas;\n this.dragBox = dragBox;\n this.cropBox = cropBox;\n this.viewBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-view-box\"));\n this.face = face;\n canvas.appendChild(image);\n\n // Hide the original image\n addClass(element, CLASS_HIDDEN);\n\n // Inserts the cropper after to the current image\n container.insertBefore(cropper, element.nextSibling);\n\n // Show the hidden image\n removeClass(image, CLASS_HIDE);\n this.initPreview();\n this.bind();\n options.initialAspectRatio = Math.max(0, options.initialAspectRatio) || NaN;\n options.aspectRatio = Math.max(0, options.aspectRatio) || NaN;\n options.viewMode = Math.max(0, Math.min(3, Math.round(options.viewMode))) || 0;\n addClass(cropBox, CLASS_HIDDEN);\n if (!options.guides) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-dashed\")), CLASS_HIDDEN);\n }\n if (!options.center) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-center\")), CLASS_HIDDEN);\n }\n if (options.background) {\n addClass(cropper, \"\".concat(NAMESPACE, \"-bg\"));\n }\n if (!options.highlight) {\n addClass(face, CLASS_INVISIBLE);\n }\n if (options.cropBoxMovable) {\n addClass(face, CLASS_MOVE);\n setData(face, DATA_ACTION, ACTION_ALL);\n }\n if (!options.cropBoxResizable) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-line\")), CLASS_HIDDEN);\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-point\")), CLASS_HIDDEN);\n }\n this.render();\n this.ready = true;\n this.setDragMode(options.dragMode);\n if (options.autoCrop) {\n this.crop();\n }\n this.setData(options.data);\n if (isFunction(options.ready)) {\n addListener(element, EVENT_READY, options.ready, {\n once: true\n });\n }\n dispatchEvent(element, EVENT_READY);\n }\n }, {\n key: \"unbuild\",\n value: function unbuild() {\n if (!this.ready) {\n return;\n }\n this.ready = false;\n this.unbind();\n this.resetPreview();\n var parentNode = this.cropper.parentNode;\n if (parentNode) {\n parentNode.removeChild(this.cropper);\n }\n removeClass(this.element, CLASS_HIDDEN);\n }\n }, {\n key: \"uncreate\",\n value: function uncreate() {\n if (this.ready) {\n this.unbuild();\n this.ready = false;\n this.cropped = false;\n } else if (this.sizing) {\n this.sizingImage.onload = null;\n this.sizing = false;\n this.sized = false;\n } else if (this.reloading) {\n this.xhr.onabort = null;\n this.xhr.abort();\n } else if (this.image) {\n this.stop();\n }\n }\n\n /**\n * Get the no conflict cropper class.\n * @returns {Cropper} The cropper class.\n */\n }], [{\n key: \"noConflict\",\n value: function noConflict() {\n window.Cropper = AnotherCropper;\n return Cropper;\n }\n\n /**\n * Change the default options.\n * @param {Object} options - The new default options.\n */\n }, {\n key: \"setDefaults\",\n value: function setDefaults(options) {\n assign(DEFAULTS, isPlainObject(options) && options);\n }\n }]);\n }();\n assign(Cropper.prototype, render, preview, events, handlers, change, methods);\n\n return Cropper;\n\n}));\n", "import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { ThemeProvider } from '@mui/material/styles';\nimport { Theme, Utils } from '@iobroker/adapter-react-v5';\n\nimport App from './app';\n\nlet themeName = Utils.getThemeName();\n\nfunction build(): void {\n ReactDOM.render(\n \n {\n themeName = _theme;\n build();\n }}\n themeName={themeName}\n />\n ,\n document.getElementById('root'),\n );\n}\n\nbuild();\n", "export default '$$material';", "function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };", "import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nexport { css, keyframes, StyledEngineProvider } from '@mui/styled-engine';\nexport { default as GlobalStyles } from './GlobalStyles';\nexport { default as borders } from './borders';\nexport * from './borders';\nexport { default as breakpoints } from './breakpoints';\nexport { handleBreakpoints, mergeBreakpointsInOrder, resolveBreakpointValues as unstable_resolveBreakpointValues } from './breakpoints';\nexport { default as compose } from './compose';\nexport { default as display } from './display';\nexport { default as flexbox } from './flexbox';\nexport * from './flexbox';\nexport { default as grid } from './cssGrid';\nexport * from './cssGrid';\nexport { default as palette } from './palette';\nexport * from './palette';\nexport { default as positions } from './positions';\nexport * from './positions';\nexport { default as shadows } from './shadows';\nexport { default as sizing } from './sizing';\nexport * from './sizing';\nexport { default as spacing } from './spacing';\nexport * from './spacing';\nexport { default as style, getPath, getStyleValue } from './style';\nexport { default as typography } from './typography';\nexport * from './typography';\nexport { default as unstable_styleFunctionSx, unstable_createStyleFunctionSx, extendSxProp as unstable_extendSxProp, unstable_defaultSxConfig } from './styleFunctionSx';\n// TODO: Remove this function in v6\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function experimental_sx() {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The \\`experimental_sx\\` has been moved to \\`theme.unstable_sx\\`.For more details, see https://github.com/mui/material-ui/pull/35150.` : _formatMuiErrorMessage(20));\n}\nexport { default as unstable_getThemeValue } from './getThemeValue';\nexport { default as Box } from './Box';\nexport { default as createBox } from './createBox';\nexport { default as createStyled } from './createStyled';\nexport * from './createStyled';\nexport { default as styled } from './styled';\nexport { default as createTheme } from './createTheme';\nexport { default as createBreakpoints } from './createTheme/createBreakpoints';\nexport { default as createSpacing } from './createTheme/createSpacing';\nexport { default as shape } from './createTheme/shape';\nexport { default as useThemeProps, getThemeProps } from './useThemeProps';\nexport { default as useTheme } from './useTheme';\nexport { default as useThemeWithoutDefault } from './useThemeWithoutDefault';\nexport { default as useMediaQuery } from './useMediaQuery';\nexport * from './colorManipulator';\nexport { default as ThemeProvider } from './ThemeProvider';\nexport { default as unstable_createCssVarsProvider } from './cssVars/createCssVarsProvider';\nexport { default as unstable_createGetCssVar } from './cssVars/createGetCssVar';\nexport { default as unstable_cssVarsParser } from './cssVars/cssVarsParser';\nexport { default as unstable_prepareCssVars } from './cssVars/prepareCssVars';\nexport { default as unstable_createCssVarsTheme } from './cssVars/createCssVarsTheme';\nexport { default as responsivePropType } from './responsivePropType';\nexport { default as RtlProvider } from './RtlProvider';\nexport * from './RtlProvider';\nexport * from './version';\n\n/** ----------------- */\n/** Layout components */\nexport { default as createContainer } from './Container/createContainer';\nexport { default as Container } from './Container';\nexport * from './Container';\nexport { default as Unstable_Grid } from './Unstable_Grid/Grid';\nexport * from './Unstable_Grid';\nexport { default as Stack } from './Stack/Stack';\nexport * from './Stack';", "import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"breakpoints\", \"palette\", \"spacing\", \"shape\"];\nimport deepmerge from '@mui/utils/deepmerge';\nimport createBreakpoints from './createBreakpoints';\nimport shape from './shape';\nimport createSpacing from './createSpacing';\nimport styleFunctionSx from '../styleFunctionSx/styleFunctionSx';\nimport defaultSxConfig from '../styleFunctionSx/defaultSxConfig';\nimport applyStyles from './applyStyles';\nfunction createTheme(options = {}, ...args) {\n const {\n breakpoints: breakpointsInput = {},\n palette: paletteInput = {},\n spacing: spacingInput,\n shape: shapeInput = {}\n } = options,\n other = _objectWithoutPropertiesLoose(options, _excluded);\n const breakpoints = createBreakpoints(breakpointsInput);\n const spacing = createSpacing(spacingInput);\n let muiTheme = deepmerge({\n breakpoints,\n direction: 'ltr',\n components: {},\n // Inject component definitions.\n palette: _extends({\n mode: 'light'\n }, paletteInput),\n spacing,\n shape: _extends({}, shape, shapeInput)\n }, other);\n muiTheme.applyStyles = applyStyles;\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n muiTheme.unstable_sxConfig = _extends({}, defaultSxConfig, other == null ? void 0 : other.unstable_sxConfig);\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n return muiTheme;\n}\nexport default createTheme;", "import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"values\", \"unit\", \"step\"];\n// Sorted ASC by size. That's important.\n// It can't be configured as it's used statically for propTypes.\nexport const breakpointKeys = ['xs', 'sm', 'md', 'lg', 'xl'];\nconst sortBreakpointsValues = values => {\n const breakpointsAsArray = Object.keys(values).map(key => ({\n key,\n val: values[key]\n })) || [];\n // Sort in ascending order\n breakpointsAsArray.sort((breakpoint1, breakpoint2) => breakpoint1.val - breakpoint2.val);\n return breakpointsAsArray.reduce((acc, obj) => {\n return _extends({}, acc, {\n [obj.key]: obj.val\n });\n }, {});\n};\n\n// Keep in mind that @media is inclusive by the CSS specification.\nexport default function createBreakpoints(breakpoints) {\n const {\n // The breakpoint **start** at this value.\n // For instance with the first breakpoint xs: [xs, sm).\n values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n },\n unit = 'px',\n step = 5\n } = breakpoints,\n other = _objectWithoutPropertiesLoose(breakpoints, _excluded);\n const sortedValues = sortBreakpointsValues(values);\n const keys = Object.keys(sortedValues);\n function up(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (min-width:${value}${unit})`;\n }\n function down(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (max-width:${value - step / 100}${unit})`;\n }\n function between(start, end) {\n const endIndex = keys.indexOf(end);\n return `@media (min-width:${typeof values[start] === 'number' ? values[start] : start}${unit}) and ` + `(max-width:${(endIndex !== -1 && typeof values[keys[endIndex]] === 'number' ? values[keys[endIndex]] : end) - step / 100}${unit})`;\n }\n function only(key) {\n if (keys.indexOf(key) + 1 < keys.length) {\n return between(key, keys[keys.indexOf(key) + 1]);\n }\n return up(key);\n }\n function not(key) {\n // handle first and last key separately, for better readability\n const keyIndex = keys.indexOf(key);\n if (keyIndex === 0) {\n return up(keys[1]);\n }\n if (keyIndex === keys.length - 1) {\n return down(keys[keyIndex]);\n }\n return between(key, keys[keys.indexOf(key) + 1]).replace('@media', '@media not all and');\n }\n return _extends({\n keys,\n values: sortedValues,\n up,\n down,\n between,\n only,\n not,\n unit\n }, other);\n}", "const shape = {\n borderRadius: 4\n};\nexport default shape;", "import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport PropTypes from 'prop-types';\nimport deepmerge from '@mui/utils/deepmerge';\nimport merge from './merge';\n\n// The breakpoint **start** at this value.\n// For instance with the first breakpoint xs: [xs, sm[.\nexport const values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n};\nconst defaultBreakpoints = {\n // Sorted ASC by size. That's important.\n // It can't be configured as it's used statically for propTypes.\n keys: ['xs', 'sm', 'md', 'lg', 'xl'],\n up: key => `@media (min-width:${values[key]}px)`\n};\nexport function handleBreakpoints(props, propValue, styleFromPropValue) {\n const theme = props.theme || {};\n if (Array.isArray(propValue)) {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return propValue.reduce((acc, item, index) => {\n acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]);\n return acc;\n }, {});\n }\n if (typeof propValue === 'object') {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return Object.keys(propValue).reduce((acc, breakpoint) => {\n // key is breakpoint\n if (Object.keys(themeBreakpoints.values || values).indexOf(breakpoint) !== -1) {\n const mediaKey = themeBreakpoints.up(breakpoint);\n acc[mediaKey] = styleFromPropValue(propValue[breakpoint], breakpoint);\n } else {\n const cssKey = breakpoint;\n acc[cssKey] = propValue[cssKey];\n }\n return acc;\n }, {});\n }\n const output = styleFromPropValue(propValue);\n return output;\n}\nfunction breakpoints(styleFunction) {\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const newStyleFunction = props => {\n const theme = props.theme || {};\n const base = styleFunction(props);\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n const extended = themeBreakpoints.keys.reduce((acc, key) => {\n if (props[key]) {\n acc = acc || {};\n acc[themeBreakpoints.up(key)] = styleFunction(_extends({\n theme\n }, props[key]));\n }\n return acc;\n }, null);\n return merge(base, extended);\n };\n newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? _extends({}, styleFunction.propTypes, {\n xs: PropTypes.object,\n sm: PropTypes.object,\n md: PropTypes.object,\n lg: PropTypes.object,\n xl: PropTypes.object\n }) : {};\n newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl', ...styleFunction.filterProps];\n return newStyleFunction;\n}\nexport function createEmptyBreakpointObject(breakpointsInput = {}) {\n var _breakpointsInput$key;\n const breakpointsInOrder = (_breakpointsInput$key = breakpointsInput.keys) == null ? void 0 : _breakpointsInput$key.reduce((acc, key) => {\n const breakpointStyleKey = breakpointsInput.up(key);\n acc[breakpointStyleKey] = {};\n return acc;\n }, {});\n return breakpointsInOrder || {};\n}\nexport function removeUnusedBreakpoints(breakpointKeys, style) {\n return breakpointKeys.reduce((acc, key) => {\n const breakpointOutput = acc[key];\n const isBreakpointUnused = !breakpointOutput || Object.keys(breakpointOutput).length === 0;\n if (isBreakpointUnused) {\n delete acc[key];\n }\n return acc;\n }, style);\n}\nexport function mergeBreakpointsInOrder(breakpointsInput, ...styles) {\n const emptyBreakpoints = createEmptyBreakpointObject(breakpointsInput);\n const mergedOutput = [emptyBreakpoints, ...styles].reduce((prev, next) => deepmerge(prev, next), {});\n return removeUnusedBreakpoints(Object.keys(emptyBreakpoints), mergedOutput);\n}\n\n// compute base for responsive values; e.g.,\n// [1,2,3] => {xs: true, sm: true, md: true}\n// {xs: 1, sm: 2, md: 3} => {xs: true, sm: true, md: true}\nexport function computeBreakpointsBase(breakpointValues, themeBreakpoints) {\n // fixed value\n if (typeof breakpointValues !== 'object') {\n return {};\n }\n const base = {};\n const breakpointsKeys = Object.keys(themeBreakpoints);\n if (Array.isArray(breakpointValues)) {\n breakpointsKeys.forEach((breakpoint, i) => {\n if (i < breakpointValues.length) {\n base[breakpoint] = true;\n }\n });\n } else {\n breakpointsKeys.forEach(breakpoint => {\n if (breakpointValues[breakpoint] != null) {\n base[breakpoint] = true;\n }\n });\n }\n return base;\n}\nexport function resolveBreakpointValues({\n values: breakpointValues,\n breakpoints: themeBreakpoints,\n base: customBase\n}) {\n const base = customBase || computeBreakpointsBase(breakpointValues, themeBreakpoints);\n const keys = Object.keys(base);\n if (keys.length === 0) {\n return breakpointValues;\n }\n let previous;\n return keys.reduce((acc, breakpoint, i) => {\n if (Array.isArray(breakpointValues)) {\n acc[breakpoint] = breakpointValues[i] != null ? breakpointValues[i] : breakpointValues[previous];\n previous = i;\n } else if (typeof breakpointValues === 'object') {\n acc[breakpoint] = breakpointValues[breakpoint] != null ? breakpointValues[breakpoint] : breakpointValues[previous];\n previous = breakpoint;\n } else {\n acc[breakpoint] = breakpointValues;\n }\n return acc;\n }, {});\n}\nexport default breakpoints;", "import deepmerge from '@mui/utils/deepmerge';\nfunction merge(acc, item) {\n if (!item) {\n return acc;\n }\n return deepmerge(acc, item, {\n clone: false // No need to clone deep, it's way faster.\n });\n}\nexport default merge;", "import capitalize from '@mui/utils/capitalize';\nimport responsivePropType from './responsivePropType';\nimport { handleBreakpoints } from './breakpoints';\nexport function getPath(obj, path, checkVars = true) {\n if (!path || typeof path !== 'string') {\n return null;\n }\n\n // Check if CSS variables are used\n if (obj && obj.vars && checkVars) {\n const val = `vars.${path}`.split('.').reduce((acc, item) => acc && acc[item] ? acc[item] : null, obj);\n if (val != null) {\n return val;\n }\n }\n return path.split('.').reduce((acc, item) => {\n if (acc && acc[item] != null) {\n return acc[item];\n }\n return null;\n }, obj);\n}\nexport function getStyleValue(themeMapping, transform, propValueFinal, userValue = propValueFinal) {\n let value;\n if (typeof themeMapping === 'function') {\n value = themeMapping(propValueFinal);\n } else if (Array.isArray(themeMapping)) {\n value = themeMapping[propValueFinal] || userValue;\n } else {\n value = getPath(themeMapping, propValueFinal) || userValue;\n }\n if (transform) {\n value = transform(value, userValue, themeMapping);\n }\n return value;\n}\nfunction style(options) {\n const {\n prop,\n cssProperty = options.prop,\n themeKey,\n transform\n } = options;\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n if (props[prop] == null) {\n return null;\n }\n const propValue = props[prop];\n const theme = props.theme;\n const themeMapping = getPath(theme, themeKey) || {};\n const styleFromPropValue = propValueFinal => {\n let value = getStyleValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getStyleValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, propValue, styleFromPropValue);\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? {\n [prop]: responsivePropType\n } : {};\n fn.filterProps = [prop];\n return fn;\n}\nexport default style;", "export default function memoize(fn) {\n const cache = {};\n return arg => {\n if (cache[arg] === undefined) {\n cache[arg] = fn(arg);\n }\n return cache[arg];\n };\n}", "import responsivePropType from './responsivePropType';\nimport { handleBreakpoints } from './breakpoints';\nimport { getPath } from './style';\nimport merge from './merge';\nimport memoize from './memoize';\nconst properties = {\n m: 'margin',\n p: 'padding'\n};\nconst directions = {\n t: 'Top',\n r: 'Right',\n b: 'Bottom',\n l: 'Left',\n x: ['Left', 'Right'],\n y: ['Top', 'Bottom']\n};\nconst aliases = {\n marginX: 'mx',\n marginY: 'my',\n paddingX: 'px',\n paddingY: 'py'\n};\n\n// memoize() impact:\n// From 300,000 ops/sec\n// To 350,000 ops/sec\nconst getCssProperties = memoize(prop => {\n // It's not a shorthand notation.\n if (prop.length > 2) {\n if (aliases[prop]) {\n prop = aliases[prop];\n } else {\n return [prop];\n }\n }\n const [a, b] = prop.split('');\n const property = properties[a];\n const direction = directions[b] || '';\n return Array.isArray(direction) ? direction.map(dir => property + dir) : [property + direction];\n});\nexport const marginKeys = ['m', 'mt', 'mr', 'mb', 'ml', 'mx', 'my', 'margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'marginX', 'marginY', 'marginInline', 'marginInlineStart', 'marginInlineEnd', 'marginBlock', 'marginBlockStart', 'marginBlockEnd'];\nexport const paddingKeys = ['p', 'pt', 'pr', 'pb', 'pl', 'px', 'py', 'padding', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'paddingX', 'paddingY', 'paddingInline', 'paddingInlineStart', 'paddingInlineEnd', 'paddingBlock', 'paddingBlockStart', 'paddingBlockEnd'];\nconst spacingKeys = [...marginKeys, ...paddingKeys];\nexport function createUnaryUnit(theme, themeKey, defaultValue, propName) {\n var _getPath;\n const themeSpacing = (_getPath = getPath(theme, themeKey, false)) != null ? _getPath : defaultValue;\n if (typeof themeSpacing === 'number') {\n return abs => {\n if (typeof abs === 'string') {\n return abs;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (typeof abs !== 'number') {\n console.error(`MUI: Expected ${propName} argument to be a number or a string, got ${abs}.`);\n }\n }\n return themeSpacing * abs;\n };\n }\n if (Array.isArray(themeSpacing)) {\n return abs => {\n if (typeof abs === 'string') {\n return abs;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (!Number.isInteger(abs)) {\n console.error([`MUI: The \\`theme.${themeKey}\\` array type cannot be combined with non integer values.` + `You should either use an integer value that can be used as index, or define the \\`theme.${themeKey}\\` as a number.`].join('\\n'));\n } else if (abs > themeSpacing.length - 1) {\n console.error([`MUI: The value provided (${abs}) overflows.`, `The supported values are: ${JSON.stringify(themeSpacing)}.`, `${abs} > ${themeSpacing.length - 1}, you need to add the missing values.`].join('\\n'));\n }\n }\n return themeSpacing[abs];\n };\n }\n if (typeof themeSpacing === 'function') {\n return themeSpacing;\n }\n if (process.env.NODE_ENV !== 'production') {\n console.error([`MUI: The \\`theme.${themeKey}\\` value (${themeSpacing}) is invalid.`, 'It should be a number, an array or a function.'].join('\\n'));\n }\n return () => undefined;\n}\nexport function createUnarySpacing(theme) {\n return createUnaryUnit(theme, 'spacing', 8, 'spacing');\n}\nexport function getValue(transformer, propValue) {\n if (typeof propValue === 'string' || propValue == null) {\n return propValue;\n }\n const abs = Math.abs(propValue);\n const transformed = transformer(abs);\n if (propValue >= 0) {\n return transformed;\n }\n if (typeof transformed === 'number') {\n return -transformed;\n }\n return `-${transformed}`;\n}\nexport function getStyleFromPropValue(cssProperties, transformer) {\n return propValue => cssProperties.reduce((acc, cssProperty) => {\n acc[cssProperty] = getValue(transformer, propValue);\n return acc;\n }, {});\n}\nfunction resolveCssProperty(props, keys, prop, transformer) {\n // Using a hash computation over an array iteration could be faster, but with only 28 items,\n // it's doesn't worth the bundle size.\n if (keys.indexOf(prop) === -1) {\n return null;\n }\n const cssProperties = getCssProperties(prop);\n const styleFromPropValue = getStyleFromPropValue(cssProperties, transformer);\n const propValue = props[prop];\n return handleBreakpoints(props, propValue, styleFromPropValue);\n}\nfunction style(props, keys) {\n const transformer = createUnarySpacing(props.theme);\n return Object.keys(props).map(prop => resolveCssProperty(props, keys, prop, transformer)).reduce(merge, {});\n}\nexport function margin(props) {\n return style(props, marginKeys);\n}\nmargin.propTypes = process.env.NODE_ENV !== 'production' ? marginKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nmargin.filterProps = marginKeys;\nexport function padding(props) {\n return style(props, paddingKeys);\n}\npadding.propTypes = process.env.NODE_ENV !== 'production' ? paddingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\npadding.filterProps = paddingKeys;\nfunction spacing(props) {\n return style(props, spacingKeys);\n}\nspacing.propTypes = process.env.NODE_ENV !== 'production' ? spacingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nspacing.filterProps = spacingKeys;\nexport default spacing;", "import { createUnarySpacing } from '../spacing';\n\n// The different signatures imply different meaning for their arguments that can't be expressed structurally.\n// We express the difference with variable names.\n\nexport default function createSpacing(spacingInput = 8) {\n // Already transformed.\n if (spacingInput.mui) {\n return spacingInput;\n }\n\n // Material Design layouts are visually balanced. Most measurements align to an 8dp grid, which aligns both spacing and the overall layout.\n // Smaller components, such as icons, can align to a 4dp grid.\n // https://m2.material.io/design/layout/understanding-layout.html\n const transform = createUnarySpacing({\n spacing: spacingInput\n });\n const spacing = (...argsInput) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!(argsInput.length <= 4)) {\n console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${argsInput.length}`);\n }\n }\n const args = argsInput.length === 0 ? [1] : argsInput;\n return args.map(argument => {\n const output = transform(argument);\n return typeof output === 'number' ? `${output}px` : output;\n }).join(' ');\n };\n spacing.mui = true;\n return spacing;\n}", "import capitalize from '@mui/utils/capitalize';\nimport merge from '../merge';\nimport { getPath, getStyleValue as getValue } from '../style';\nimport { handleBreakpoints, createEmptyBreakpointObject, removeUnusedBreakpoints } from '../breakpoints';\nimport defaultSxConfig from './defaultSxConfig';\nfunction objectsHaveSameKeys(...objects) {\n const allKeys = objects.reduce((keys, object) => keys.concat(Object.keys(object)), []);\n const union = new Set(allKeys);\n return objects.every(object => union.size === Object.keys(object).length);\n}\nfunction callIfFn(maybeFn, arg) {\n return typeof maybeFn === 'function' ? maybeFn(arg) : maybeFn;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function unstable_createStyleFunctionSx() {\n function getThemeValue(prop, val, theme, config) {\n const props = {\n [prop]: val,\n theme\n };\n const options = config[prop];\n if (!options) {\n return {\n [prop]: val\n };\n }\n const {\n cssProperty = prop,\n themeKey,\n transform,\n style\n } = options;\n if (val == null) {\n return null;\n }\n\n // TODO v6: remove, see https://github.com/mui/material-ui/pull/38123\n if (themeKey === 'typography' && val === 'inherit') {\n return {\n [prop]: val\n };\n }\n const themeMapping = getPath(theme, themeKey) || {};\n if (style) {\n return style(props);\n }\n const styleFromPropValue = propValueFinal => {\n let value = getValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, val, styleFromPropValue);\n }\n function styleFunctionSx(props) {\n var _theme$unstable_sxCon;\n const {\n sx,\n theme = {}\n } = props || {};\n if (!sx) {\n return null; // Emotion & styled-components will neglect null\n }\n const config = (_theme$unstable_sxCon = theme.unstable_sxConfig) != null ? _theme$unstable_sxCon : defaultSxConfig;\n\n /*\n * Receive `sxInput` as object or callback\n * and then recursively check keys & values to create media query object styles.\n * (the result will be used in `styled`)\n */\n function traverse(sxInput) {\n let sxObject = sxInput;\n if (typeof sxInput === 'function') {\n sxObject = sxInput(theme);\n } else if (typeof sxInput !== 'object') {\n // value\n return sxInput;\n }\n if (!sxObject) {\n return null;\n }\n const emptyBreakpoints = createEmptyBreakpointObject(theme.breakpoints);\n const breakpointsKeys = Object.keys(emptyBreakpoints);\n let css = emptyBreakpoints;\n Object.keys(sxObject).forEach(styleKey => {\n const value = callIfFn(sxObject[styleKey], theme);\n if (value !== null && value !== undefined) {\n if (typeof value === 'object') {\n if (config[styleKey]) {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n } else {\n const breakpointsValues = handleBreakpoints({\n theme\n }, value, x => ({\n [styleKey]: x\n }));\n if (objectsHaveSameKeys(breakpointsValues, value)) {\n css[styleKey] = styleFunctionSx({\n sx: value,\n theme\n });\n } else {\n css = merge(css, breakpointsValues);\n }\n }\n } else {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n }\n }\n });\n return removeUnusedBreakpoints(breakpointsKeys, css);\n }\n return Array.isArray(sx) ? sx.map(traverse) : traverse(sx);\n }\n return styleFunctionSx;\n}\nconst styleFunctionSx = unstable_createStyleFunctionSx();\nstyleFunctionSx.filterProps = ['sx'];\nexport default styleFunctionSx;", "import merge from './merge';\nfunction compose(...styles) {\n const handlers = styles.reduce((acc, style) => {\n style.filterProps.forEach(prop => {\n acc[prop] = style;\n });\n return acc;\n }, {});\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n return Object.keys(props).reduce((acc, prop) => {\n if (handlers[prop]) {\n return merge(acc, handlers[prop](props));\n }\n return acc;\n }, {});\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? styles.reduce((acc, style) => Object.assign(acc, style.propTypes), {}) : {};\n fn.filterProps = styles.reduce((acc, style) => acc.concat(style.filterProps), []);\n return fn;\n}\nexport default compose;", "import responsivePropType from './responsivePropType';\nimport style from './style';\nimport compose from './compose';\nimport { createUnaryUnit, getValue } from './spacing';\nimport { handleBreakpoints } from './breakpoints';\nexport function borderTransform(value) {\n if (typeof value !== 'number') {\n return value;\n }\n return `${value}px solid`;\n}\nfunction createBorderStyle(prop, transform) {\n return style({\n prop,\n themeKey: 'borders',\n transform\n });\n}\nexport const border = createBorderStyle('border', borderTransform);\nexport const borderTop = createBorderStyle('borderTop', borderTransform);\nexport const borderRight = createBorderStyle('borderRight', borderTransform);\nexport const borderBottom = createBorderStyle('borderBottom', borderTransform);\nexport const borderLeft = createBorderStyle('borderLeft', borderTransform);\nexport const borderColor = createBorderStyle('borderColor');\nexport const borderTopColor = createBorderStyle('borderTopColor');\nexport const borderRightColor = createBorderStyle('borderRightColor');\nexport const borderBottomColor = createBorderStyle('borderBottomColor');\nexport const borderLeftColor = createBorderStyle('borderLeftColor');\nexport const outline = createBorderStyle('outline', borderTransform);\nexport const outlineColor = createBorderStyle('outlineColor');\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const borderRadius = props => {\n if (props.borderRadius !== undefined && props.borderRadius !== null) {\n const transformer = createUnaryUnit(props.theme, 'shape.borderRadius', 4, 'borderRadius');\n const styleFromPropValue = propValue => ({\n borderRadius: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.borderRadius, styleFromPropValue);\n }\n return null;\n};\nborderRadius.propTypes = process.env.NODE_ENV !== 'production' ? {\n borderRadius: responsivePropType\n} : {};\nborderRadius.filterProps = ['borderRadius'];\nconst borders = compose(border, borderTop, borderRight, borderBottom, borderLeft, borderColor, borderTopColor, borderRightColor, borderBottomColor, borderLeftColor, borderRadius, outline, outlineColor);\nexport default borders;", "import style from './style';\nimport compose from './compose';\nimport { createUnaryUnit, getValue } from './spacing';\nimport { handleBreakpoints } from './breakpoints';\nimport responsivePropType from './responsivePropType';\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const gap = props => {\n if (props.gap !== undefined && props.gap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'gap');\n const styleFromPropValue = propValue => ({\n gap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.gap, styleFromPropValue);\n }\n return null;\n};\ngap.propTypes = process.env.NODE_ENV !== 'production' ? {\n gap: responsivePropType\n} : {};\ngap.filterProps = ['gap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const columnGap = props => {\n if (props.columnGap !== undefined && props.columnGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'columnGap');\n const styleFromPropValue = propValue => ({\n columnGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.columnGap, styleFromPropValue);\n }\n return null;\n};\ncolumnGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n columnGap: responsivePropType\n} : {};\ncolumnGap.filterProps = ['columnGap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const rowGap = props => {\n if (props.rowGap !== undefined && props.rowGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'rowGap');\n const styleFromPropValue = propValue => ({\n rowGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.rowGap, styleFromPropValue);\n }\n return null;\n};\nrowGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n rowGap: responsivePropType\n} : {};\nrowGap.filterProps = ['rowGap'];\nexport const gridColumn = style({\n prop: 'gridColumn'\n});\nexport const gridRow = style({\n prop: 'gridRow'\n});\nexport const gridAutoFlow = style({\n prop: 'gridAutoFlow'\n});\nexport const gridAutoColumns = style({\n prop: 'gridAutoColumns'\n});\nexport const gridAutoRows = style({\n prop: 'gridAutoRows'\n});\nexport const gridTemplateColumns = style({\n prop: 'gridTemplateColumns'\n});\nexport const gridTemplateRows = style({\n prop: 'gridTemplateRows'\n});\nexport const gridTemplateAreas = style({\n prop: 'gridTemplateAreas'\n});\nexport const gridArea = style({\n prop: 'gridArea'\n});\nconst grid = compose(gap, columnGap, rowGap, gridColumn, gridRow, gridAutoFlow, gridAutoColumns, gridAutoRows, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridArea);\nexport default grid;", "import style from './style';\nimport compose from './compose';\nexport function paletteTransform(value, userValue) {\n if (userValue === 'grey') {\n return userValue;\n }\n return value;\n}\nexport const color = style({\n prop: 'color',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const bgcolor = style({\n prop: 'bgcolor',\n cssProperty: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const backgroundColor = style({\n prop: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nconst palette = compose(color, bgcolor, backgroundColor);\nexport default palette;", "import style from './style';\nimport compose from './compose';\nimport { handleBreakpoints, values as breakpointsValues } from './breakpoints';\nexport function sizingTransform(value) {\n return value <= 1 && value !== 0 ? `${value * 100}%` : value;\n}\nexport const width = style({\n prop: 'width',\n transform: sizingTransform\n});\nexport const maxWidth = props => {\n if (props.maxWidth !== undefined && props.maxWidth !== null) {\n const styleFromPropValue = propValue => {\n var _props$theme, _props$theme2;\n const breakpoint = ((_props$theme = props.theme) == null || (_props$theme = _props$theme.breakpoints) == null || (_props$theme = _props$theme.values) == null ? void 0 : _props$theme[propValue]) || breakpointsValues[propValue];\n if (!breakpoint) {\n return {\n maxWidth: sizingTransform(propValue)\n };\n }\n if (((_props$theme2 = props.theme) == null || (_props$theme2 = _props$theme2.breakpoints) == null ? void 0 : _props$theme2.unit) !== 'px') {\n return {\n maxWidth: `${breakpoint}${props.theme.breakpoints.unit}`\n };\n }\n return {\n maxWidth: breakpoint\n };\n };\n return handleBreakpoints(props, props.maxWidth, styleFromPropValue);\n }\n return null;\n};\nmaxWidth.filterProps = ['maxWidth'];\nexport const minWidth = style({\n prop: 'minWidth',\n transform: sizingTransform\n});\nexport const height = style({\n prop: 'height',\n transform: sizingTransform\n});\nexport const maxHeight = style({\n prop: 'maxHeight',\n transform: sizingTransform\n});\nexport const minHeight = style({\n prop: 'minHeight',\n transform: sizingTransform\n});\nexport const sizeWidth = style({\n prop: 'size',\n cssProperty: 'width',\n transform: sizingTransform\n});\nexport const sizeHeight = style({\n prop: 'size',\n cssProperty: 'height',\n transform: sizingTransform\n});\nexport const boxSizing = style({\n prop: 'boxSizing'\n});\nconst sizing = compose(width, maxWidth, minWidth, height, maxHeight, minHeight, boxSizing);\nexport default sizing;", "import { padding, margin } from '../spacing';\nimport { borderRadius, borderTransform } from '../borders';\nimport { gap, rowGap, columnGap } from '../cssGrid';\nimport { paletteTransform } from '../palette';\nimport { maxWidth, sizingTransform } from '../sizing';\nconst defaultSxConfig = {\n // borders\n border: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderTop: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderRight: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderBottom: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderLeft: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderColor: {\n themeKey: 'palette'\n },\n borderTopColor: {\n themeKey: 'palette'\n },\n borderRightColor: {\n themeKey: 'palette'\n },\n borderBottomColor: {\n themeKey: 'palette'\n },\n borderLeftColor: {\n themeKey: 'palette'\n },\n outline: {\n themeKey: 'borders',\n transform: borderTransform\n },\n outlineColor: {\n themeKey: 'palette'\n },\n borderRadius: {\n themeKey: 'shape.borderRadius',\n style: borderRadius\n },\n // palette\n color: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n bgcolor: {\n themeKey: 'palette',\n cssProperty: 'backgroundColor',\n transform: paletteTransform\n },\n backgroundColor: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n // spacing\n p: {\n style: padding\n },\n pt: {\n style: padding\n },\n pr: {\n style: padding\n },\n pb: {\n style: padding\n },\n pl: {\n style: padding\n },\n px: {\n style: padding\n },\n py: {\n style: padding\n },\n padding: {\n style: padding\n },\n paddingTop: {\n style: padding\n },\n paddingRight: {\n style: padding\n },\n paddingBottom: {\n style: padding\n },\n paddingLeft: {\n style: padding\n },\n paddingX: {\n style: padding\n },\n paddingY: {\n style: padding\n },\n paddingInline: {\n style: padding\n },\n paddingInlineStart: {\n style: padding\n },\n paddingInlineEnd: {\n style: padding\n },\n paddingBlock: {\n style: padding\n },\n paddingBlockStart: {\n style: padding\n },\n paddingBlockEnd: {\n style: padding\n },\n m: {\n style: margin\n },\n mt: {\n style: margin\n },\n mr: {\n style: margin\n },\n mb: {\n style: margin\n },\n ml: {\n style: margin\n },\n mx: {\n style: margin\n },\n my: {\n style: margin\n },\n margin: {\n style: margin\n },\n marginTop: {\n style: margin\n },\n marginRight: {\n style: margin\n },\n marginBottom: {\n style: margin\n },\n marginLeft: {\n style: margin\n },\n marginX: {\n style: margin\n },\n marginY: {\n style: margin\n },\n marginInline: {\n style: margin\n },\n marginInlineStart: {\n style: margin\n },\n marginInlineEnd: {\n style: margin\n },\n marginBlock: {\n style: margin\n },\n marginBlockStart: {\n style: margin\n },\n marginBlockEnd: {\n style: margin\n },\n // display\n displayPrint: {\n cssProperty: false,\n transform: value => ({\n '@media print': {\n display: value\n }\n })\n },\n display: {},\n overflow: {},\n textOverflow: {},\n visibility: {},\n whiteSpace: {},\n // flexbox\n flexBasis: {},\n flexDirection: {},\n flexWrap: {},\n justifyContent: {},\n alignItems: {},\n alignContent: {},\n order: {},\n flex: {},\n flexGrow: {},\n flexShrink: {},\n alignSelf: {},\n justifyItems: {},\n justifySelf: {},\n // grid\n gap: {\n style: gap\n },\n rowGap: {\n style: rowGap\n },\n columnGap: {\n style: columnGap\n },\n gridColumn: {},\n gridRow: {},\n gridAutoFlow: {},\n gridAutoColumns: {},\n gridAutoRows: {},\n gridTemplateColumns: {},\n gridTemplateRows: {},\n gridTemplateAreas: {},\n gridArea: {},\n // positions\n position: {},\n zIndex: {\n themeKey: 'zIndex'\n },\n top: {},\n right: {},\n bottom: {},\n left: {},\n // shadows\n boxShadow: {\n themeKey: 'shadows'\n },\n // sizing\n width: {\n transform: sizingTransform\n },\n maxWidth: {\n style: maxWidth\n },\n minWidth: {\n transform: sizingTransform\n },\n height: {\n transform: sizingTransform\n },\n maxHeight: {\n transform: sizingTransform\n },\n minHeight: {\n transform: sizingTransform\n },\n boxSizing: {},\n // typography\n fontFamily: {\n themeKey: 'typography'\n },\n fontSize: {\n themeKey: 'typography'\n },\n fontStyle: {\n themeKey: 'typography'\n },\n fontWeight: {\n themeKey: 'typography'\n },\n letterSpacing: {},\n textTransform: {},\n lineHeight: {},\n textAlign: {},\n typography: {\n cssProperty: false,\n themeKey: 'typography'\n }\n};\nexport default defaultSxConfig;", "/**\n * A universal utility to style components with multiple color modes. Always use it from the theme object.\n * It works with:\n * - [Basic theme](https://mui.com/material-ui/customization/dark-mode/)\n * - [CSS theme variables](https://mui.com/material-ui/experimental-api/css-theme-variables/overview/)\n * - Zero-runtime engine\n *\n * Tips: Use an array over object spread and place `theme.applyStyles()` last.\n *\n * \u2705 [{ background: '#e5e5e5' }, theme.applyStyles('dark', { background: '#1c1c1c' })]\n *\n * \uD83D\uDEAB { background: '#e5e5e5', ...theme.applyStyles('dark', { background: '#1c1c1c' })}\n *\n * @example\n * 1. using with `styled`:\n * ```jsx\n * const Component = styled('div')(({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]);\n * ```\n *\n * @example\n * 2. using with `sx` prop:\n * ```jsx\n * [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]}\n * />\n * ```\n *\n * @example\n * 3. theming a component:\n * ```jsx\n * extendTheme({\n * components: {\n * MuiButton: {\n * styleOverrides: {\n * root: ({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ],\n * },\n * }\n * }\n * })\n *```\n */\nexport default function applyStyles(key, styles) {\n // @ts-expect-error this is 'any' type\n const theme = this;\n if (theme.vars && typeof theme.getColorSchemeSelector === 'function') {\n // If CssVarsProvider is used as a provider,\n // returns '* :where([data-mui-color-scheme=\"light|dark\"]) &'\n const selector = theme.getColorSchemeSelector(key).replace(/(\\[[^\\]]+\\])/, '*:where($1)');\n return {\n [selector]: styles\n };\n }\n if (theme.palette.mode === key) {\n return styles;\n }\n return {};\n}", "'use client';\n\nimport * as React from 'react';\nimport { ThemeContext } from '@mui/styled-engine';\nfunction isObjectEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction useTheme(defaultTheme = null) {\n const contextTheme = React.useContext(ThemeContext);\n return !contextTheme || isObjectEmpty(contextTheme) ? defaultTheme : contextTheme;\n}\nexport default useTheme;", "'use client';\n\nimport createTheme from './createTheme';\nimport useThemeWithoutDefault from './useThemeWithoutDefault';\nexport const systemDefaultTheme = createTheme();\nfunction useTheme(defaultTheme = systemDefaultTheme) {\n return useThemeWithoutDefault(defaultTheme);\n}\nexport default useTheme;", "import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"sx\"];\nimport { isPlainObject } from '@mui/utils/deepmerge';\nimport defaultSxConfig from './defaultSxConfig';\nconst splitProps = props => {\n var _props$theme$unstable, _props$theme;\n const result = {\n systemProps: {},\n otherProps: {}\n };\n const config = (_props$theme$unstable = props == null || (_props$theme = props.theme) == null ? void 0 : _props$theme.unstable_sxConfig) != null ? _props$theme$unstable : defaultSxConfig;\n Object.keys(props).forEach(prop => {\n if (config[prop]) {\n result.systemProps[prop] = props[prop];\n } else {\n result.otherProps[prop] = props[prop];\n }\n });\n return result;\n};\nexport default function extendSxProp(props) {\n const {\n sx: inSx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n systemProps,\n otherProps\n } = splitProps(other);\n let finalSx;\n if (Array.isArray(inSx)) {\n finalSx = [systemProps, ...inSx];\n } else if (typeof inSx === 'function') {\n finalSx = (...args) => {\n const result = inSx(...args);\n if (!isPlainObject(result)) {\n return systemProps;\n }\n return _extends({}, systemProps, result);\n };\n } else {\n finalSx = _extends({}, systemProps, inSx);\n }\n return _extends({}, otherProps, {\n sx: finalSx\n });\n}", "const defaultGenerator = componentName => componentName;\nconst createClassNameGenerator = () => {\n let generate = defaultGenerator;\n return {\n configure(generator) {\n generate = generator;\n },\n generate(componentName) {\n return generate(componentName);\n },\n reset() {\n generate = defaultGenerator;\n }\n };\n};\nconst ClassNameGenerator = createClassNameGenerator();\nexport default ClassNameGenerator;", "'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport styled from '@mui/styled-engine';\nimport styleFunctionSx, { extendSxProp } from './styleFunctionSx';\nimport useTheme from './useTheme';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createBox(options = {}) {\n const {\n themeId,\n defaultTheme,\n defaultClassName = 'MuiBox-root',\n generateClassName\n } = options;\n const BoxRoot = styled('div', {\n shouldForwardProp: prop => prop !== 'theme' && prop !== 'sx' && prop !== 'as'\n })(styleFunctionSx);\n const Box = /*#__PURE__*/React.forwardRef(function Box(inProps, ref) {\n const theme = useTheme(defaultTheme);\n const _extendSxProp = extendSxProp(inProps),\n {\n className,\n component = 'div'\n } = _extendSxProp,\n other = _objectWithoutPropertiesLoose(_extendSxProp, _excluded);\n return /*#__PURE__*/_jsx(BoxRoot, _extends({\n as: component,\n ref: ref,\n className: clsx(className, generateClassName ? generateClassName(defaultClassName) : defaultClassName),\n theme: themeId ? theme[themeId] || theme : theme\n }, other));\n });\n return Box;\n}", "function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t {\n result[slot] = generateUtilityClass(componentName, slot, globalStatePrefix);\n });\n return result;\n}", "import _extends from \"@babel/runtime/helpers/esm/extends\";\n/**\n * Add keys, values of `defaultProps` that does not exist in `props`\n * @param {object} defaultProps\n * @param {object} props\n * @returns {object} resolved props\n */\nexport default function resolveProps(defaultProps, props) {\n const output = _extends({}, props);\n Object.keys(defaultProps).forEach(propName => {\n if (propName.toString().match(/^(components|slots)$/)) {\n output[propName] = _extends({}, defaultProps[propName], output[propName]);\n } else if (propName.toString().match(/^(componentsProps|slotProps)$/)) {\n const defaultSlotProps = defaultProps[propName] || {};\n const slotProps = props[propName];\n output[propName] = {};\n if (!slotProps || !Object.keys(slotProps)) {\n // Reduce the iteration if the slot props is empty\n output[propName] = defaultSlotProps;\n } else if (!defaultSlotProps || !Object.keys(defaultSlotProps)) {\n // Reduce the iteration if the default slot props is empty\n output[propName] = slotProps;\n } else {\n output[propName] = _extends({}, slotProps);\n Object.keys(defaultSlotProps).forEach(slotPropName => {\n output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]);\n });\n }\n } else if (output[propName] === undefined) {\n output[propName] = defaultProps[propName];\n }\n });\n return output;\n}", "import resolveProps from '@mui/utils/resolveProps';\nexport default function getThemeProps(params) {\n const {\n theme,\n name,\n props\n } = params;\n if (!theme || !theme.components || !theme.components[name] || !theme.components[name].defaultProps) {\n return props;\n }\n return resolveProps(theme.components[name].defaultProps, props);\n}", "'use client';\n\nimport getThemeProps from './getThemeProps';\nimport useTheme from '../useTheme';\nexport default function useThemeProps({\n props,\n name,\n defaultTheme,\n themeId\n}) {\n let theme = useTheme(defaultTheme);\n if (themeId) {\n theme = theme[themeId] || theme;\n }\n const mergedProps = getThemeProps({\n theme,\n name,\n props\n });\n return mergedProps;\n}", "'use client';\n\nimport * as React from 'react';\n\n/**\n * A version of `React.useLayoutEffect` that does not show a warning when server-side rendering.\n * This is useful for effects that are only needed for client-side rendering but not for SSR.\n *\n * Before you use this hook, make sure to read https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * and confirm it doesn't apply to your use-case.\n */\nconst useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nexport default useEnhancedEffect;", "'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { ThemeProvider as MuiThemeProvider, useTheme as usePrivateTheme } from '@mui/private-theming';\nimport exactProp from '@mui/utils/exactProp';\nimport { ThemeContext as StyledEngineThemeContext } from '@mui/styled-engine';\nimport useThemeWithoutDefault from '../useThemeWithoutDefault';\nimport RtlProvider from '../RtlProvider';\nimport DefaultPropsProvider from '../DefaultPropsProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst EMPTY_THEME = {};\nfunction useThemeScoping(themeId, upperTheme, localTheme, isPrivate = false) {\n return React.useMemo(() => {\n const resolvedTheme = themeId ? upperTheme[themeId] || upperTheme : upperTheme;\n if (typeof localTheme === 'function') {\n const mergedTheme = localTheme(resolvedTheme);\n const result = themeId ? _extends({}, upperTheme, {\n [themeId]: mergedTheme\n }) : mergedTheme;\n // must return a function for the private theme to NOT merge with the upper theme.\n // see the test case \"use provided theme from a callback\" in ThemeProvider.test.js\n if (isPrivate) {\n return () => result;\n }\n return result;\n }\n return themeId ? _extends({}, upperTheme, {\n [themeId]: localTheme\n }) : _extends({}, upperTheme, localTheme);\n }, [themeId, upperTheme, localTheme, isPrivate]);\n}\n\n/**\n * This component makes the `theme` available down the React tree.\n * It should preferably be used at **the root of your component tree**.\n *\n * // existing use case\n * // theme scoping\n */\nfunction ThemeProvider(props) {\n const {\n children,\n theme: localTheme,\n themeId\n } = props;\n const upperTheme = useThemeWithoutDefault(EMPTY_THEME);\n const upperPrivateTheme = usePrivateTheme() || EMPTY_THEME;\n if (process.env.NODE_ENV !== 'production') {\n if (upperTheme === null && typeof localTheme === 'function' || themeId && upperTheme && !upperTheme[themeId] && typeof localTheme === 'function') {\n console.error(['MUI: You are providing a theme function prop to the ThemeProvider component:', ' outerTheme} />', '', 'However, no outer theme is present.', 'Make sure a theme is already injected higher in the React tree ' + 'or provide a theme object.'].join('\\n'));\n }\n }\n const engineTheme = useThemeScoping(themeId, upperTheme, localTheme);\n const privateTheme = useThemeScoping(themeId, upperPrivateTheme, localTheme, true);\n const rtlValue = engineTheme.direction === 'rtl';\n return /*#__PURE__*/_jsx(MuiThemeProvider, {\n theme: privateTheme,\n children: /*#__PURE__*/_jsx(StyledEngineThemeContext.Provider, {\n value: engineTheme,\n children: /*#__PURE__*/_jsx(RtlProvider, {\n value: rtlValue,\n children: /*#__PURE__*/_jsx(DefaultPropsProvider, {\n value: engineTheme == null ? void 0 : engineTheme.components,\n children: children\n })\n })\n })\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the d.ts file and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * A theme object. You can provide a function to extend the outer theme.\n */\n theme: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).isRequired,\n /**\n * The design system's unique id for getting the corresponded theme when there are multiple design systems.\n */\n themeId: PropTypes.string\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = exactProp(ThemeProvider.propTypes) : void 0;\n}\nexport default ThemeProvider;", "import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp } from '@mui/utils';\nimport ThemeContext from '../useTheme/ThemeContext';\nimport useTheme from '../useTheme';\nimport nested from './nested';\n\n// To support composition of theme.\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction mergeOuterLocalTheme(outerTheme, localTheme) {\n if (typeof localTheme === 'function') {\n const mergedTheme = localTheme(outerTheme);\n if (process.env.NODE_ENV !== 'production') {\n if (!mergedTheme) {\n console.error(['MUI: You should return an object from your theme function, i.e.', ' ({})} />'].join('\\n'));\n }\n }\n return mergedTheme;\n }\n return _extends({}, outerTheme, localTheme);\n}\n\n/**\n * This component takes a `theme` prop.\n * It makes the `theme` available down the React tree thanks to React context.\n * This component should preferably be used at **the root of your component tree**.\n */\nfunction ThemeProvider(props) {\n const {\n children,\n theme: localTheme\n } = props;\n const outerTheme = useTheme();\n if (process.env.NODE_ENV !== 'production') {\n if (outerTheme === null && typeof localTheme === 'function') {\n console.error(['MUI: You are providing a theme function prop to the ThemeProvider component:', ' outerTheme} />', '', 'However, no outer theme is present.', 'Make sure a theme is already injected higher in the React tree ' + 'or provide a theme object.'].join('\\n'));\n }\n }\n const theme = React.useMemo(() => {\n const output = outerTheme === null ? localTheme : mergeOuterLocalTheme(outerTheme, localTheme);\n if (output != null) {\n output[nested] = outerTheme !== null;\n }\n return output;\n }, [localTheme, outerTheme]);\n return /*#__PURE__*/_jsx(ThemeContext.Provider, {\n value: theme,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * A theme object. You can provide a function to extend the outer theme.\n */\n theme: PropTypes.oneOfType([PropTypes.object, PropTypes.func]).isRequired\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = exactProp(ThemeProvider.propTypes) : void 0;\n}\nexport default ThemeProvider;", "/**\n * Safe chained function.\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n */\nexport default function createChainedFunction(...funcs) {\n return funcs.reduce((acc, func) => {\n if (func == null) {\n return acc;\n }\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n }, () => {});\n}", "// Corresponds to 10 frames at 60 Hz.\n// A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B.\nexport default function debounce(func, wait = 166) {\n let timeout;\n function debounced(...args) {\n const later = () => {\n // @ts-ignore\n func.apply(this, args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n }\n debounced.clear = () => {\n clearTimeout(timeout);\n };\n return debounced;\n}", "export default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}", "import ownerDocument from '../ownerDocument';\nexport default function ownerWindow(node) {\n const doc = ownerDocument(node);\n return doc.defaultView || window;\n}", "/**\n * TODO v5: consider making it private\n *\n * passes {value} to {ref}\n *\n * WARNING: Be sure to only call this inside a callback that is passed as a ref.\n * Otherwise, make sure to cleanup the previous {ref} if it changes. See\n * https://github.com/mui/material-ui/issues/13539\n *\n * Useful if you want to expose the ref of an inner component to the public API\n * while still using it inside the component.\n * @param ref A ref callback or ref object. If anything falsy, this is a no-op.\n */\nexport default function setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}", "'use client';\n\n/* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */\nimport * as React from 'react';\nexport default function useControlled({\n controlled,\n default: defaultProp,\n name,\n state = 'value'\n}) {\n // isControlled is ignored in the hook dependency lists as it should never change.\n const {\n current: isControlled\n } = React.useRef(controlled !== undefined);\n const [valueState, setValue] = React.useState(defaultProp);\n const value = isControlled ? controlled : valueState;\n if (process.env.NODE_ENV !== 'production') {\n React.useEffect(() => {\n if (isControlled !== (controlled !== undefined)) {\n console.error([`MUI: A component is changing the ${isControlled ? '' : 'un'}controlled ${state} state of ${name} to be ${isControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled ${name} ` + 'element for the lifetime of the component.', \"The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.\", 'More info: https://fb.me/react-controlled-components'].join('\\n'));\n }\n }, [state, name, controlled]);\n const {\n current: defaultValue\n } = React.useRef(defaultProp);\n React.useEffect(() => {\n if (!isControlled && !Object.is(defaultValue, defaultProp)) {\n console.error([`MUI: A component is changing the default ${state} state of an uncontrolled ${name} after being initialized. ` + `To suppress this warning opt to use a controlled ${name}.`].join('\\n'));\n }\n }, [JSON.stringify(defaultProp)]);\n }\n const setValueIfUncontrolled = React.useCallback(newValue => {\n if (!isControlled) {\n setValue(newValue);\n }\n }, []);\n return [value, setValueIfUncontrolled];\n}", "'use client';\n\nimport * as React from 'react';\nimport useEnhancedEffect from '../useEnhancedEffect';\n\n/**\n * Inspired by https://github.com/facebook/react/issues/14099#issuecomment-440013892\n * See RFC in https://github.com/reactjs/rfcs/pull/220\n */\n\nfunction useEventCallback(fn) {\n const ref = React.useRef(fn);\n useEnhancedEffect(() => {\n ref.current = fn;\n });\n return React.useRef((...args) =>\n // @ts-expect-error hide `this`\n (0, ref.current)(...args)).current;\n}\nexport default useEventCallback;", "'use client';\n\nimport * as React from 'react';\nimport setRef from '../setRef';\nexport default function useForkRef(...refs) {\n /**\n * This will create a new function if the refs passed to this hook change and are all defined.\n * This means react will call the old forkRef with `null` and the new forkRef\n * with the ref. Cleanup naturally emerges from this behavior.\n */\n return React.useMemo(() => {\n if (refs.every(ref => ref == null)) {\n return null;\n }\n return instance => {\n refs.forEach(ref => {\n setRef(ref, instance);\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}", "'use client';\n\nimport * as React from 'react';\nconst UNINITIALIZED = {};\n\n/**\n * A React.useRef() that is initialized lazily with a function. Note that it accepts an optional\n * initialization argument, so the initialization function doesn't need to be an inline closure.\n *\n * @usage\n * const ref = useLazyRef(sortColumns, columns)\n */\nexport default function useLazyRef(init, initArg) {\n const ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = init(initArg);\n }\n return ref;\n}", "'use client';\n\nimport * as React from 'react';\nconst EMPTY = [];\n\n/**\n * A React.useEffect equivalent that runs once, when the component is mounted.\n */\nexport default function useOnMount(fn) {\n /* eslint-disable react-hooks/exhaustive-deps */\n React.useEffect(fn, EMPTY);\n /* eslint-enable react-hooks/exhaustive-deps */\n}", "'use client';\n\nimport useLazyRef from '../useLazyRef/useLazyRef';\nimport useOnMount from '../useOnMount/useOnMount';\nexport class Timeout {\n constructor() {\n this.currentId = null;\n this.clear = () => {\n if (this.currentId !== null) {\n clearTimeout(this.currentId);\n this.currentId = null;\n }\n };\n this.disposeEffect = () => {\n return this.clear;\n };\n }\n static create() {\n return new Timeout();\n }\n /**\n * Executes `fn` after `delay`, clearing any previously scheduled call.\n */\n start(delay, fn) {\n this.clear();\n this.currentId = setTimeout(() => {\n this.currentId = null;\n fn();\n }, delay);\n }\n}\nexport default function useTimeout() {\n const timeout = useLazyRef(Timeout.create).current;\n useOnMount(timeout.disposeEffect);\n return timeout;\n}", "'use client';\n\n// based on https://github.com/WICG/focus-visible/blob/v4.1.5/src/focus-visible.js\nimport * as React from 'react';\nimport { Timeout } from '../useTimeout/useTimeout';\nlet hadKeyboardEvent = true;\nlet hadFocusVisibleRecently = false;\nconst hadFocusVisibleRecentlyTimeout = new Timeout();\nconst inputTypesWhitelist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n};\n\n/**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} node\n * @returns {boolean}\n */\nfunction focusTriggersKeyboardModality(node) {\n const {\n type,\n tagName\n } = node;\n if (tagName === 'INPUT' && inputTypesWhitelist[type] && !node.readOnly) {\n return true;\n }\n if (tagName === 'TEXTAREA' && !node.readOnly) {\n return true;\n }\n if (node.isContentEditable) {\n return true;\n }\n return false;\n}\n\n/**\n * Keep track of our keyboard modality state with `hadKeyboardEvent`.\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * @param {KeyboardEvent} event\n */\nfunction handleKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n hadKeyboardEvent = true;\n}\n\n/**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n */\nfunction handlePointerDown() {\n hadKeyboardEvent = false;\n}\nfunction handleVisibilityChange() {\n if (this.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n }\n}\nfunction prepare(doc) {\n doc.addEventListener('keydown', handleKeyDown, true);\n doc.addEventListener('mousedown', handlePointerDown, true);\n doc.addEventListener('pointerdown', handlePointerDown, true);\n doc.addEventListener('touchstart', handlePointerDown, true);\n doc.addEventListener('visibilitychange', handleVisibilityChange, true);\n}\nexport function teardown(doc) {\n doc.removeEventListener('keydown', handleKeyDown, true);\n doc.removeEventListener('mousedown', handlePointerDown, true);\n doc.removeEventListener('pointerdown', handlePointerDown, true);\n doc.removeEventListener('touchstart', handlePointerDown, true);\n doc.removeEventListener('visibilitychange', handleVisibilityChange, true);\n}\nfunction isFocusVisible(event) {\n const {\n target\n } = event;\n try {\n return target.matches(':focus-visible');\n } catch (error) {\n // Browsers not implementing :focus-visible will throw a SyntaxError.\n // We use our own heuristic for those browsers.\n // Rethrow might be better if it's not the expected error but do we really\n // want to crash if focus-visible malfunctioned?\n }\n\n // No need for validFocusTarget check. The user does that by attaching it to\n // focusable events only.\n return hadKeyboardEvent || focusTriggersKeyboardModality(target);\n}\nexport default function useIsFocusVisible() {\n const ref = React.useCallback(node => {\n if (node != null) {\n prepare(node.ownerDocument);\n }\n }, []);\n const isFocusVisibleRef = React.useRef(false);\n\n /**\n * Should be called if a blur event is fired\n */\n function handleBlurVisible() {\n // checking against potential state variable does not suffice if we focus and blur synchronously.\n // React wouldn't have time to trigger a re-render so `focusVisible` would be stale.\n // Ideally we would adjust `isFocusVisible(event)` to look at `relatedTarget` for blur events.\n // This doesn't work in IE11 due to https://github.com/facebook/react/issues/3751\n // TODO: check again if React releases their internal changes to focus event handling (https://github.com/facebook/react/pull/19186).\n if (isFocusVisibleRef.current) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n hadFocusVisibleRecentlyTimeout.start(100, () => {\n hadFocusVisibleRecently = false;\n });\n isFocusVisibleRef.current = false;\n return true;\n }\n return false;\n }\n\n /**\n * Should be called if a blur event is fired\n */\n function handleFocusVisible(event) {\n if (isFocusVisible(event)) {\n isFocusVisibleRef.current = true;\n return true;\n }\n return false;\n }\n return {\n isFocusVisibleRef,\n onFocus: handleFocusVisible,\n onBlur: handleBlurVisible,\n ref\n };\n}", "// Source from https://github.com/alitaheri/normalize-scroll-left\nlet cachedType;\n\n/**\n * Based on the jquery plugin https://github.com/othree/jquery.rtl-scroll-type\n *\n * Types of scrollLeft, assuming scrollWidth=100 and direction is rtl.\n *\n * Type | <- Most Left | Most Right -> | Initial\n * ---------------- | ------------ | ------------- | -------\n * default | 0 | 100 | 100\n * negative (spec*) | -100 | 0 | 0\n * reverse | 100 | 0 | 0\n *\n * Edge 85: default\n * Safari 14: negative\n * Chrome 85: negative\n * Firefox 81: negative\n * IE11: reverse\n *\n * spec* https://drafts.csswg.org/cssom-view/#dom-window-scroll\n */\nexport function detectScrollType() {\n if (cachedType) {\n return cachedType;\n }\n const dummy = document.createElement('div');\n const container = document.createElement('div');\n container.style.width = '10px';\n container.style.height = '1px';\n dummy.appendChild(container);\n dummy.dir = 'rtl';\n dummy.style.fontSize = '14px';\n dummy.style.width = '4px';\n dummy.style.height = '1px';\n dummy.style.position = 'absolute';\n dummy.style.top = '-1000px';\n dummy.style.overflow = 'scroll';\n document.body.appendChild(dummy);\n cachedType = 'reverse';\n if (dummy.scrollLeft > 0) {\n cachedType = 'default';\n } else {\n dummy.scrollLeft = 1;\n if (dummy.scrollLeft === 0) {\n cachedType = 'negative';\n }\n }\n document.body.removeChild(dummy);\n return cachedType;\n}\n\n// Based on https://stackoverflow.com/a/24394376\nexport function getNormalizedScrollLeft(element, direction) {\n const scrollLeft = element.scrollLeft;\n\n // Perform the calculations only when direction is rtl to avoid messing up the ltr behavior\n if (direction !== 'rtl') {\n return scrollLeft;\n }\n const type = detectScrollType();\n switch (type) {\n case 'negative':\n return element.scrollWidth - element.clientWidth + scrollLeft;\n case 'reverse':\n return element.scrollWidth - element.clientWidth - scrollLeft;\n default:\n return scrollLeft;\n }\n}", "export default function composeClasses(slots, getUtilityClass, classes = undefined) {\n const output = {};\n Object.keys(slots).forEach(\n // `Object.keys(slots)` can't be wider than `T` because we infer `T` from `slots`.\n // @ts-expect-error https://github.com/microsoft/TypeScript/pull/12253#issuecomment-263132208\n slot => {\n output[slot] = slots[slot].reduce((acc, key) => {\n if (key) {\n const utilityClass = getUtilityClass(key);\n if (utilityClass !== '') {\n acc.push(utilityClass);\n }\n if (classes && classes[key]) {\n acc.push(classes[key]);\n }\n }\n return acc;\n }, []).join(' ');\n });\n return output;\n}", "'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"elementType\", \"externalSlotProps\", \"ownerState\", \"skipResolvingSlotProps\"];\nimport useForkRef from '../useForkRef';\nimport appendOwnerState from '../appendOwnerState';\nimport mergeSlotProps from '../mergeSlotProps';\nimport resolveComponentProps from '../resolveComponentProps';\n/**\n * @ignore - do not document.\n * Builds the props to be passed into the slot of an unstyled component.\n * It merges the internal props of the component with the ones supplied by the user, allowing to customize the behavior.\n * If the slot component is not a host component, it also merges in the `ownerState`.\n *\n * @param parameters.getSlotProps - A function that returns the props to be passed to the slot component.\n */\nfunction useSlotProps(parameters) {\n var _parameters$additiona;\n const {\n elementType,\n externalSlotProps,\n ownerState,\n skipResolvingSlotProps = false\n } = parameters,\n rest = _objectWithoutPropertiesLoose(parameters, _excluded);\n const resolvedComponentsProps = skipResolvingSlotProps ? {} : resolveComponentProps(externalSlotProps, ownerState);\n const {\n props: mergedProps,\n internalRef\n } = mergeSlotProps(_extends({}, rest, {\n externalSlotProps: resolvedComponentsProps\n }));\n const ref = useForkRef(internalRef, resolvedComponentsProps == null ? void 0 : resolvedComponentsProps.ref, (_parameters$additiona = parameters.additionalProps) == null ? void 0 : _parameters$additiona.ref);\n const props = appendOwnerState(elementType, _extends({}, mergedProps, {\n ref\n }), ownerState);\n return props;\n}\nexport default useSlotProps;", "import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport isHostComponent from '../isHostComponent';\n\n/**\n * Type of the ownerState based on the type of an element it applies to.\n * This resolves to the provided OwnerState for React components and `undefined` for host components.\n * Falls back to `OwnerState | undefined` when the exact type can't be determined in development time.\n */\n\n/**\n * Appends the ownerState object to the props, merging with the existing one if necessary.\n *\n * @param elementType Type of the element that owns the `existingProps`. If the element is a DOM node or undefined, `ownerState` is not applied.\n * @param otherProps Props of the element.\n * @param ownerState\n */\nfunction appendOwnerState(elementType, otherProps, ownerState) {\n if (elementType === undefined || isHostComponent(elementType)) {\n return otherProps;\n }\n return _extends({}, otherProps, {\n ownerState: _extends({}, otherProps.ownerState, ownerState)\n });\n}\nexport default appendOwnerState;", "/**\n * Determines if a given element is a DOM element name (i.e. not a React component).\n */\nfunction isHostComponent(element) {\n return typeof element === 'string';\n}\nexport default isHostComponent;", "import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport clsx from 'clsx';\nimport extractEventHandlers from '../extractEventHandlers';\nimport omitEventHandlers from '../omitEventHandlers';\n/**\n * Merges the slot component internal props (usually coming from a hook)\n * with the externally provided ones.\n *\n * The merge order is (the latter overrides the former):\n * 1. The internal props (specified as a getter function to work with get*Props hook result)\n * 2. Additional props (specified internally on a Base UI component)\n * 3. External props specified on the owner component. These should only be used on a root slot.\n * 4. External props specified in the `slotProps.*` prop.\n * 5. The `className` prop - combined from all the above.\n * @param parameters\n * @returns\n */\nfunction mergeSlotProps(parameters) {\n const {\n getSlotProps,\n additionalProps,\n externalSlotProps,\n externalForwardedProps,\n className\n } = parameters;\n if (!getSlotProps) {\n // The simpler case - getSlotProps is not defined, so no internal event handlers are defined,\n // so we can simply merge all the props without having to worry about extracting event handlers.\n const joinedClasses = clsx(additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);\n const mergedStyle = _extends({}, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);\n const props = _extends({}, additionalProps, externalForwardedProps, externalSlotProps);\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: undefined\n };\n }\n\n // In this case, getSlotProps is responsible for calling the external event handlers.\n // We don't need to include them in the merged props because of this.\n\n const eventHandlers = extractEventHandlers(_extends({}, externalForwardedProps, externalSlotProps));\n const componentsPropsWithoutEventHandlers = omitEventHandlers(externalSlotProps);\n const otherPropsWithoutEventHandlers = omitEventHandlers(externalForwardedProps);\n const internalSlotProps = getSlotProps(eventHandlers);\n\n // The order of classes is important here.\n // Emotion (that we use in libraries consuming Base UI) depends on this order\n // to properly override style. It requires the most important classes to be last\n // (see https://github.com/mui/material-ui/pull/33205) for the related discussion.\n const joinedClasses = clsx(internalSlotProps == null ? void 0 : internalSlotProps.className, additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);\n const mergedStyle = _extends({}, internalSlotProps == null ? void 0 : internalSlotProps.style, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);\n const props = _extends({}, internalSlotProps, additionalProps, otherPropsWithoutEventHandlers, componentsPropsWithoutEventHandlers);\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: internalSlotProps.ref\n };\n}\nexport default mergeSlotProps;", "/**\n * Extracts event handlers from a given object.\n * A prop is considered an event handler if it is a function and its name starts with `on`.\n *\n * @param object An object to extract event handlers from.\n * @param excludeKeys An array of keys to exclude from the returned object.\n */\nfunction extractEventHandlers(object, excludeKeys = []) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => prop.match(/^on[A-Z]/) && typeof object[prop] === 'function' && !excludeKeys.includes(prop)).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}\nexport default extractEventHandlers;", "/**\n * Removes event handlers from the given object.\n * A field is considered an event handler if it is a function with a name beginning with `on`.\n *\n * @param object Object to remove event handlers from.\n * @returns Object with event handlers removed.\n */\nfunction omitEventHandlers(object) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => !(prop.match(/^on[A-Z]/) && typeof object[prop] === 'function')).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}\nexport default omitEventHandlers;", "/**\n * If `componentProps` is a function, calls it with the provided `ownerState`.\n * Otherwise, just returns `componentProps`.\n */\nfunction resolveComponentProps(componentProps, ownerState, slotState) {\n if (typeof componentProps === 'function') {\n return componentProps(ownerState, slotState);\n }\n return componentProps;\n}\nexport default resolveComponentProps;", "import * as React from 'react';\nconst ThemeContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'ThemeContext';\n}\nexport default ThemeContext;", "import * as React from 'react';\nimport ThemeContext from './ThemeContext';\nexport default function useTheme() {\n const theme = React.useContext(ThemeContext);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n return theme;\n}", "const hasSymbol = typeof Symbol === 'function' && Symbol.for;\nexport default hasSymbol ? Symbol.for('mui.nested') : '__THEME_NESTED__';", "import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst RtlContext = /*#__PURE__*/React.createContext();\nfunction RtlProvider(_ref) {\n let {\n value\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n return /*#__PURE__*/_jsx(RtlContext.Provider, _extends({\n value: value != null ? value : true\n }, props));\n}\nprocess.env.NODE_ENV !== \"production\" ? RtlProvider.propTypes = {\n children: PropTypes.node,\n value: PropTypes.bool\n} : void 0;\nexport const useRtl = () => {\n const value = React.useContext(RtlContext);\n return value != null ? value : false;\n};\nexport default RtlProvider;", "'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport resolveProps from '@mui/utils/resolveProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PropsContext = /*#__PURE__*/React.createContext(undefined);\nfunction DefaultPropsProvider({\n value,\n children\n}) {\n return /*#__PURE__*/_jsx(PropsContext.Provider, {\n value: value,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? DefaultPropsProvider.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the TypeScript types and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n value: PropTypes.object\n} : void 0;\nfunction getThemeProps(params) {\n const {\n theme,\n name,\n props\n } = params;\n if (!theme || !theme.components || !theme.components[name]) {\n return props;\n }\n const config = theme.components[name];\n if (config.defaultProps) {\n // compatible with v5 signature\n return resolveProps(config.defaultProps, props);\n }\n if (!config.styleOverrides && !config.variants) {\n // v6 signature, no property 'defaultProps'\n return resolveProps(config, props);\n }\n return props;\n}\nexport function useDefaultProps({\n props,\n name\n}) {\n const ctx = React.useContext(PropsContext);\n return getThemeProps({\n props,\n name,\n theme: {\n components: ctx\n }\n });\n}\nexport default DefaultPropsProvider;", "import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nconst _excluded = [\"breakpoints\", \"mixins\", \"spacing\", \"palette\", \"transitions\", \"typography\", \"shape\"];\nimport deepmerge from '@mui/utils/deepmerge';\nimport styleFunctionSx, { unstable_defaultSxConfig as defaultSxConfig } from '@mui/system/styleFunctionSx';\nimport systemCreateTheme from '@mui/system/createTheme';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport createMixins from './createMixins';\nimport createPalette from './createPalette';\nimport createTypography from './createTypography';\nimport shadows from './shadows';\nimport createTransitions from './createTransitions';\nimport zIndex from './zIndex';\nfunction createTheme(options = {}, ...args) {\n const {\n mixins: mixinsInput = {},\n palette: paletteInput = {},\n transitions: transitionsInput = {},\n typography: typographyInput = {}\n } = options,\n other = _objectWithoutPropertiesLoose(options, _excluded);\n if (options.vars) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: \\`vars\\` is a private field used for CSS variables support.\nPlease use another name.` : _formatMuiErrorMessage(18));\n }\n const palette = createPalette(paletteInput);\n const systemTheme = systemCreateTheme(options);\n let muiTheme = deepmerge(systemTheme, {\n mixins: createMixins(systemTheme.breakpoints, mixinsInput),\n palette,\n // Don't use [...shadows] until you've verified its transpiled code is not invoking the iterator protocol.\n shadows: shadows.slice(),\n typography: createTypography(palette, typographyInput),\n transitions: createTransitions(transitionsInput),\n zIndex: _extends({}, zIndex)\n });\n muiTheme = deepmerge(muiTheme, other);\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n if (process.env.NODE_ENV !== 'production') {\n // TODO v6: Refactor to use globalStateClassesMapping from @mui/utils once `readOnly` state class is used in Rating component.\n const stateClasses = ['active', 'checked', 'completed', 'disabled', 'error', 'expanded', 'focused', 'focusVisible', 'required', 'selected'];\n const traverse = (node, component) => {\n let key;\n\n // eslint-disable-next-line guard-for-in, no-restricted-syntax\n for (key in node) {\n const child = node[key];\n if (stateClasses.indexOf(key) !== -1 && Object.keys(child).length > 0) {\n if (process.env.NODE_ENV !== 'production') {\n const stateClass = generateUtilityClass('', key);\n console.error([`MUI: The \\`${component}\\` component increases ` + `the CSS specificity of the \\`${key}\\` internal state.`, 'You can not override it like this: ', JSON.stringify(node, null, 2), '', `Instead, you need to use the '&.${stateClass}' syntax:`, JSON.stringify({\n root: {\n [`&.${stateClass}`]: child\n }\n }, null, 2), '', 'https://mui.com/r/state-classes-guide'].join('\\n'));\n }\n // Remove the style to prevent global conflicts.\n node[key] = {};\n }\n }\n };\n Object.keys(muiTheme.components).forEach(component => {\n const styleOverrides = muiTheme.components[component].styleOverrides;\n if (styleOverrides && component.indexOf('Mui') === 0) {\n traverse(styleOverrides, component);\n }\n });\n }\n muiTheme.unstable_sxConfig = _extends({}, defaultSxConfig, other == null ? void 0 : other.unstable_sxConfig);\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n return muiTheme;\n}\nlet warnedOnce = false;\nexport function createMuiTheme(...args) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.error(['MUI: the createMuiTheme function was renamed to createTheme.', '', \"You should use `import { createTheme } from '@mui/material/styles'`\"].join('\\n'));\n }\n }\n return createTheme(...args);\n}\nexport default createTheme;", "import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function createMixins(breakpoints, mixins) {\n return _extends({\n toolbar: {\n minHeight: 56,\n [breakpoints.up('xs')]: {\n '@media (orientation: landscape)': {\n minHeight: 48\n }\n },\n [breakpoints.up('sm')]: {\n minHeight: 64\n }\n }\n }, mixins);\n}", "import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nconst _excluded = [\"mode\", \"contrastThreshold\", \"tonalOffset\"];\nimport deepmerge from '@mui/utils/deepmerge';\nimport { darken, getContrastRatio, lighten } from '@mui/system/colorManipulator';\nimport common from '../colors/common';\nimport grey from '../colors/grey';\nimport purple from '../colors/purple';\nimport red from '../colors/red';\nimport orange from '../colors/orange';\nimport blue from '../colors/blue';\nimport lightBlue from '../colors/lightBlue';\nimport green from '../colors/green';\nexport const light = {\n // The colors used to style the text.\n text: {\n // The most important text.\n primary: 'rgba(0, 0, 0, 0.87)',\n // Secondary text.\n secondary: 'rgba(0, 0, 0, 0.6)',\n // Disabled text have even lower visual prominence.\n disabled: 'rgba(0, 0, 0, 0.38)'\n },\n // The color used to divide different elements.\n divider: 'rgba(0, 0, 0, 0.12)',\n // The background colors used to style the surfaces.\n // Consistency between these values is important.\n background: {\n paper: common.white,\n default: common.white\n },\n // The colors used to style the action elements.\n action: {\n // The color of an active action like an icon button.\n active: 'rgba(0, 0, 0, 0.54)',\n // The color of an hovered action.\n hover: 'rgba(0, 0, 0, 0.04)',\n hoverOpacity: 0.04,\n // The color of a selected action.\n selected: 'rgba(0, 0, 0, 0.08)',\n selectedOpacity: 0.08,\n // The color of a disabled action.\n disabled: 'rgba(0, 0, 0, 0.26)',\n // The background color of a disabled action.\n disabledBackground: 'rgba(0, 0, 0, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(0, 0, 0, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.12\n }\n};\nexport const dark = {\n text: {\n primary: common.white,\n secondary: 'rgba(255, 255, 255, 0.7)',\n disabled: 'rgba(255, 255, 255, 0.5)',\n icon: 'rgba(255, 255, 255, 0.5)'\n },\n divider: 'rgba(255, 255, 255, 0.12)',\n background: {\n paper: '#121212',\n default: '#121212'\n },\n action: {\n active: common.white,\n hover: 'rgba(255, 255, 255, 0.08)',\n hoverOpacity: 0.08,\n selected: 'rgba(255, 255, 255, 0.16)',\n selectedOpacity: 0.16,\n disabled: 'rgba(255, 255, 255, 0.3)',\n disabledBackground: 'rgba(255, 255, 255, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(255, 255, 255, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.24\n }\n};\nfunction addLightOrDark(intent, direction, shade, tonalOffset) {\n const tonalOffsetLight = tonalOffset.light || tonalOffset;\n const tonalOffsetDark = tonalOffset.dark || tonalOffset * 1.5;\n if (!intent[direction]) {\n if (intent.hasOwnProperty(shade)) {\n intent[direction] = intent[shade];\n } else if (direction === 'light') {\n intent.light = lighten(intent.main, tonalOffsetLight);\n } else if (direction === 'dark') {\n intent.dark = darken(intent.main, tonalOffsetDark);\n }\n }\n}\nfunction getDefaultPrimary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: blue[200],\n light: blue[50],\n dark: blue[400]\n };\n }\n return {\n main: blue[700],\n light: blue[400],\n dark: blue[800]\n };\n}\nfunction getDefaultSecondary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: purple[200],\n light: purple[50],\n dark: purple[400]\n };\n }\n return {\n main: purple[500],\n light: purple[300],\n dark: purple[700]\n };\n}\nfunction getDefaultError(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: red[500],\n light: red[300],\n dark: red[700]\n };\n }\n return {\n main: red[700],\n light: red[400],\n dark: red[800]\n };\n}\nfunction getDefaultInfo(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: lightBlue[400],\n light: lightBlue[300],\n dark: lightBlue[700]\n };\n }\n return {\n main: lightBlue[700],\n light: lightBlue[500],\n dark: lightBlue[900]\n };\n}\nfunction getDefaultSuccess(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: green[400],\n light: green[300],\n dark: green[700]\n };\n }\n return {\n main: green[800],\n light: green[500],\n dark: green[900]\n };\n}\nfunction getDefaultWarning(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: orange[400],\n light: orange[300],\n dark: orange[700]\n };\n }\n return {\n main: '#ed6c02',\n // closest to orange[800] that pass 3:1.\n light: orange[500],\n dark: orange[900]\n };\n}\nexport default function createPalette(palette) {\n const {\n mode = 'light',\n contrastThreshold = 3,\n tonalOffset = 0.2\n } = palette,\n other = _objectWithoutPropertiesLoose(palette, _excluded);\n const primary = palette.primary || getDefaultPrimary(mode);\n const secondary = palette.secondary || getDefaultSecondary(mode);\n const error = palette.error || getDefaultError(mode);\n const info = palette.info || getDefaultInfo(mode);\n const success = palette.success || getDefaultSuccess(mode);\n const warning = palette.warning || getDefaultWarning(mode);\n\n // Use the same logic as\n // Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59\n // and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54\n function getContrastText(background) {\n const contrastText = getContrastRatio(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary;\n if (process.env.NODE_ENV !== 'production') {\n const contrast = getContrastRatio(background, contrastText);\n if (contrast < 3) {\n console.error([`MUI: The contrast ratio of ${contrast}:1 for ${contrastText} on ${background}`, 'falls below the WCAG recommended absolute minimum contrast ratio of 3:1.', 'https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast'].join('\\n'));\n }\n }\n return contrastText;\n }\n const augmentColor = ({\n color,\n name,\n mainShade = 500,\n lightShade = 300,\n darkShade = 700\n }) => {\n color = _extends({}, color);\n if (!color.main && color[mainShade]) {\n color.main = color[mainShade];\n }\n if (!color.hasOwnProperty('main')) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\nThe color object needs to have a \\`main\\` property or a \\`${mainShade}\\` property.` : _formatMuiErrorMessage(11, name ? ` (${name})` : '', mainShade));\n }\n if (typeof color.main !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\n\\`color.main\\` should be a string, but \\`${JSON.stringify(color.main)}\\` was provided instead.\n\nDid you intend to use one of the following approaches?\n\nimport { green } from \"@mui/material/colors\";\n\nconst theme1 = createTheme({ palette: {\n primary: green,\n} });\n\nconst theme2 = createTheme({ palette: {\n primary: { main: green[500] },\n} });` : _formatMuiErrorMessage(12, name ? ` (${name})` : '', JSON.stringify(color.main)));\n }\n addLightOrDark(color, 'light', lightShade, tonalOffset);\n addLightOrDark(color, 'dark', darkShade, tonalOffset);\n if (!color.contrastText) {\n color.contrastText = getContrastText(color.main);\n }\n return color;\n };\n const modes = {\n dark,\n light\n };\n if (process.env.NODE_ENV !== 'production') {\n if (!modes[mode]) {\n console.error(`MUI: The palette mode \\`${mode}\\` is not supported.`);\n }\n }\n const paletteOutput = deepmerge(_extends({\n // A collection of common colors.\n common: _extends({}, common),\n // prevent mutable object.\n // The palette mode, can be light or dark.\n mode,\n // The colors used to represent primary interface elements for a user.\n primary: augmentColor({\n color: primary,\n name: 'primary'\n }),\n // The colors used to represent secondary interface elements for a user.\n secondary: augmentColor({\n color: secondary,\n name: 'secondary',\n mainShade: 'A400',\n lightShade: 'A200',\n darkShade: 'A700'\n }),\n // The colors used to represent interface elements that the user should be made aware of.\n error: augmentColor({\n color: error,\n name: 'error'\n }),\n // The colors used to represent potentially dangerous actions or important messages.\n warning: augmentColor({\n color: warning,\n name: 'warning'\n }),\n // The colors used to present information to the user that is neutral and not necessarily important.\n info: augmentColor({\n color: info,\n name: 'info'\n }),\n // The colors used to indicate the successful completion of an action that user triggered.\n success: augmentColor({\n color: success,\n name: 'success'\n }),\n // The grey colors.\n grey,\n // Used by `getContrastText()` to maximize the contrast between\n // the background and the text.\n contrastThreshold,\n // Takes a background color and returns the text color that maximizes the contrast.\n getContrastText,\n // Generate a rich color object.\n augmentColor,\n // Used by the functions below to shift a color's luminance by approximately\n // two indexes within its tonal palette.\n // E.g., shift from Red 500 to Red 300 or Red 700.\n tonalOffset\n }, modes[mode]), other);\n return paletteOutput;\n}", "const common = {\n black: '#000',\n white: '#fff'\n};\nexport default common;", "const grey = {\n 50: '#fafafa',\n 100: '#f5f5f5',\n 200: '#eeeeee',\n 300: '#e0e0e0',\n 400: '#bdbdbd',\n 500: '#9e9e9e',\n 600: '#757575',\n 700: '#616161',\n 800: '#424242',\n 900: '#212121',\n A100: '#f5f5f5',\n A200: '#eeeeee',\n A400: '#bdbdbd',\n A700: '#616161'\n};\nexport default grey;", "const purple = {\n 50: '#f3e5f5',\n 100: '#e1bee7',\n 200: '#ce93d8',\n 300: '#ba68c8',\n 400: '#ab47bc',\n 500: '#9c27b0',\n 600: '#8e24aa',\n 700: '#7b1fa2',\n 800: '#6a1b9a',\n 900: '#4a148c',\n A100: '#ea80fc',\n A200: '#e040fb',\n A400: '#d500f9',\n A700: '#aa00ff'\n};\nexport default purple;", "const red = {\n 50: '#ffebee',\n 100: '#ffcdd2',\n 200: '#ef9a9a',\n 300: '#e57373',\n 400: '#ef5350',\n 500: '#f44336',\n 600: '#e53935',\n 700: '#d32f2f',\n 800: '#c62828',\n 900: '#b71c1c',\n A100: '#ff8a80',\n A200: '#ff5252',\n A400: '#ff1744',\n A700: '#d50000'\n};\nexport default red;", "const orange = {\n 50: '#fff3e0',\n 100: '#ffe0b2',\n 200: '#ffcc80',\n 300: '#ffb74d',\n 400: '#ffa726',\n 500: '#ff9800',\n 600: '#fb8c00',\n 700: '#f57c00',\n 800: '#ef6c00',\n 900: '#e65100',\n A100: '#ffd180',\n A200: '#ffab40',\n A400: '#ff9100',\n A700: '#ff6d00'\n};\nexport default orange;", "const blue = {\n 50: '#e3f2fd',\n 100: '#bbdefb',\n 200: '#90caf9',\n 300: '#64b5f6',\n 400: '#42a5f5',\n 500: '#2196f3',\n 600: '#1e88e5',\n 700: '#1976d2',\n 800: '#1565c0',\n 900: '#0d47a1',\n A100: '#82b1ff',\n A200: '#448aff',\n A400: '#2979ff',\n A700: '#2962ff'\n};\nexport default blue;", "const lightBlue = {\n 50: '#e1f5fe',\n 100: '#b3e5fc',\n 200: '#81d4fa',\n 300: '#4fc3f7',\n 400: '#29b6f6',\n 500: '#03a9f4',\n 600: '#039be5',\n 700: '#0288d1',\n 800: '#0277bd',\n 900: '#01579b',\n A100: '#80d8ff',\n A200: '#40c4ff',\n A400: '#00b0ff',\n A700: '#0091ea'\n};\nexport default lightBlue;", "const green = {\n 50: '#e8f5e9',\n 100: '#c8e6c9',\n 200: '#a5d6a7',\n 300: '#81c784',\n 400: '#66bb6a',\n 500: '#4caf50',\n 600: '#43a047',\n 700: '#388e3c',\n 800: '#2e7d32',\n 900: '#1b5e20',\n A100: '#b9f6ca',\n A200: '#69f0ae',\n A400: '#00e676',\n A700: '#00c853'\n};\nexport default green;", "import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"fontFamily\", \"fontSize\", \"fontWeightLight\", \"fontWeightRegular\", \"fontWeightMedium\", \"fontWeightBold\", \"htmlFontSize\", \"allVariants\", \"pxToRem\"];\nimport deepmerge from '@mui/utils/deepmerge';\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\nconst caseAllCaps = {\n textTransform: 'uppercase'\n};\nconst defaultFontFamily = '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif';\n\n/**\n * @see @link{https://m2.material.io/design/typography/the-type-system.html}\n * @see @link{https://m2.material.io/design/typography/understanding-typography.html}\n */\nexport default function createTypography(palette, typography) {\n const _ref = typeof typography === 'function' ? typography(palette) : typography,\n {\n fontFamily = defaultFontFamily,\n // The default font size of the Material Specification.\n fontSize = 14,\n // px\n fontWeightLight = 300,\n fontWeightRegular = 400,\n fontWeightMedium = 500,\n fontWeightBold = 700,\n // Tell MUI what's the font-size on the html element.\n // 16px is the default font-size used by browsers.\n htmlFontSize = 16,\n // Apply the CSS properties to all the variants.\n allVariants,\n pxToRem: pxToRem2\n } = _ref,\n other = _objectWithoutPropertiesLoose(_ref, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n if (typeof fontSize !== 'number') {\n console.error('MUI: `fontSize` is required to be a number.');\n }\n if (typeof htmlFontSize !== 'number') {\n console.error('MUI: `htmlFontSize` is required to be a number.');\n }\n }\n const coef = fontSize / 14;\n const pxToRem = pxToRem2 || (size => `${size / htmlFontSize * coef}rem`);\n const buildVariant = (fontWeight, size, lineHeight, letterSpacing, casing) => _extends({\n fontFamily,\n fontWeight,\n fontSize: pxToRem(size),\n // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/\n lineHeight\n }, fontFamily === defaultFontFamily ? {\n letterSpacing: `${round(letterSpacing / size)}em`\n } : {}, casing, allVariants);\n const variants = {\n h1: buildVariant(fontWeightLight, 96, 1.167, -1.5),\n h2: buildVariant(fontWeightLight, 60, 1.2, -0.5),\n h3: buildVariant(fontWeightRegular, 48, 1.167, 0),\n h4: buildVariant(fontWeightRegular, 34, 1.235, 0.25),\n h5: buildVariant(fontWeightRegular, 24, 1.334, 0),\n h6: buildVariant(fontWeightMedium, 20, 1.6, 0.15),\n subtitle1: buildVariant(fontWeightRegular, 16, 1.75, 0.15),\n subtitle2: buildVariant(fontWeightMedium, 14, 1.57, 0.1),\n body1: buildVariant(fontWeightRegular, 16, 1.5, 0.15),\n body2: buildVariant(fontWeightRegular, 14, 1.43, 0.15),\n button: buildVariant(fontWeightMedium, 14, 1.75, 0.4, caseAllCaps),\n caption: buildVariant(fontWeightRegular, 12, 1.66, 0.4),\n overline: buildVariant(fontWeightRegular, 12, 2.66, 1, caseAllCaps),\n // TODO v6: Remove handling of 'inherit' variant from the theme as it is already handled in Material UI's Typography component. Also, remember to remove the associated types.\n inherit: {\n fontFamily: 'inherit',\n fontWeight: 'inherit',\n fontSize: 'inherit',\n lineHeight: 'inherit',\n letterSpacing: 'inherit'\n }\n };\n return deepmerge(_extends({\n htmlFontSize,\n pxToRem,\n fontFamily,\n fontSize,\n fontWeightLight,\n fontWeightRegular,\n fontWeightMedium,\n fontWeightBold\n }, variants), other, {\n clone: false // No need to clone deep\n });\n}", "const shadowKeyUmbraOpacity = 0.2;\nconst shadowKeyPenumbraOpacity = 0.14;\nconst shadowAmbientShadowOpacity = 0.12;\nfunction createShadow(...px) {\n return [`${px[0]}px ${px[1]}px ${px[2]}px ${px[3]}px rgba(0,0,0,${shadowKeyUmbraOpacity})`, `${px[4]}px ${px[5]}px ${px[6]}px ${px[7]}px rgba(0,0,0,${shadowKeyPenumbraOpacity})`, `${px[8]}px ${px[9]}px ${px[10]}px ${px[11]}px rgba(0,0,0,${shadowAmbientShadowOpacity})`].join(',');\n}\n\n// Values from https://github.com/material-components/material-components-web/blob/be8747f94574669cb5e7add1a7c54fa41a89cec7/packages/mdc-elevation/_variables.scss\nconst shadows = ['none', createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];\nexport default shadows;", "import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"duration\", \"easing\", \"delay\"];\n// Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves\n// to learn the context in which each easing should be used.\nexport const easing = {\n // This is the most common easing curve.\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n // Objects enter the screen at full velocity from off-screen and\n // slowly decelerate to a resting point.\n easeOut: 'cubic-bezier(0.0, 0, 0.2, 1)',\n // Objects leave the screen at full velocity. They do not decelerate when off-screen.\n easeIn: 'cubic-bezier(0.4, 0, 1, 1)',\n // The sharp curve is used by objects that may return to the screen at any time.\n sharp: 'cubic-bezier(0.4, 0, 0.6, 1)'\n};\n\n// Follow https://m2.material.io/guidelines/motion/duration-easing.html#duration-easing-common-durations\n// to learn when use what timing\nexport const duration = {\n shortest: 150,\n shorter: 200,\n short: 250,\n // most basic recommended timing\n standard: 300,\n // this is to be used in complex animations\n complex: 375,\n // recommended when something is entering screen\n enteringScreen: 225,\n // recommended when something is leaving screen\n leavingScreen: 195\n};\nfunction formatMs(milliseconds) {\n return `${Math.round(milliseconds)}ms`;\n}\nfunction getAutoHeightDuration(height) {\n if (!height) {\n return 0;\n }\n const constant = height / 36;\n\n // https://www.wolframalpha.com/input/?i=(4+%2B+15+*+(x+%2F+36+)+**+0.25+%2B+(x+%2F+36)+%2F+5)+*+10\n return Math.round((4 + 15 * constant ** 0.25 + constant / 5) * 10);\n}\nexport default function createTransitions(inputTransitions) {\n const mergedEasing = _extends({}, easing, inputTransitions.easing);\n const mergedDuration = _extends({}, duration, inputTransitions.duration);\n const create = (props = ['all'], options = {}) => {\n const {\n duration: durationOption = mergedDuration.standard,\n easing: easingOption = mergedEasing.easeInOut,\n delay = 0\n } = options,\n other = _objectWithoutPropertiesLoose(options, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n const isString = value => typeof value === 'string';\n // IE11 support, replace with Number.isNaN\n // eslint-disable-next-line no-restricted-globals\n const isNumber = value => !isNaN(parseFloat(value));\n if (!isString(props) && !Array.isArray(props)) {\n console.error('MUI: Argument \"props\" must be a string or Array.');\n }\n if (!isNumber(durationOption) && !isString(durationOption)) {\n console.error(`MUI: Argument \"duration\" must be a number or a string but found ${durationOption}.`);\n }\n if (!isString(easingOption)) {\n console.error('MUI: Argument \"easing\" must be a string.');\n }\n if (!isNumber(delay) && !isString(delay)) {\n console.error('MUI: Argument \"delay\" must be a number or a string.');\n }\n if (typeof options !== 'object') {\n console.error(['MUI: Secong argument of transition.create must be an object.', \"Arguments should be either `create('prop1', options)` or `create(['prop1', 'prop2'], options)`\"].join('\\n'));\n }\n if (Object.keys(other).length !== 0) {\n console.error(`MUI: Unrecognized argument(s) [${Object.keys(other).join(',')}].`);\n }\n }\n return (Array.isArray(props) ? props : [props]).map(animatedProp => `${animatedProp} ${typeof durationOption === 'string' ? durationOption : formatMs(durationOption)} ${easingOption} ${typeof delay === 'string' ? delay : formatMs(delay)}`).join(',');\n };\n return _extends({\n getAutoHeightDuration,\n create\n }, inputTransitions, {\n easing: mergedEasing,\n duration: mergedDuration\n });\n}", "// We need to centralize the zIndex definitions as they work\n// like global values in the browser.\nconst zIndex = {\n mobileStepper: 1000,\n fab: 1050,\n speedDial: 1050,\n appBar: 1100,\n drawer: 1200,\n modal: 1300,\n snackbar: 1400,\n tooltip: 1500\n};\nexport default zIndex;", "'use client';\n\nimport * as React from 'react';\nimport { useTheme as useThemeSystem } from '@mui/system';\nimport defaultTheme from './defaultTheme';\nimport THEME_ID from './identifier';\nexport default function useTheme() {\n const theme = useThemeSystem(defaultTheme);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n return theme[THEME_ID] || theme;\n}", "'use client';\n\nimport createTheme from './createTheme';\nconst defaultTheme = createTheme();\nexport default defaultTheme;", "'use client';\n\nimport systemUseThemeProps from '@mui/system/useThemeProps';\nimport defaultTheme from './defaultTheme';\nimport THEME_ID from './identifier';\nexport default function useThemeProps({\n props,\n name\n}) {\n return systemUseThemeProps({\n props,\n name,\n defaultTheme,\n themeId: THEME_ID\n });\n}", "'use client';\n\nimport createStyled from '@mui/system/createStyled';\nimport defaultTheme from './defaultTheme';\nimport THEME_ID from './identifier';\nimport rootShouldForwardProp from './rootShouldForwardProp';\nexport { default as slotShouldForwardProp } from './slotShouldForwardProp';\nexport { default as rootShouldForwardProp } from './rootShouldForwardProp';\nconst styled = createStyled({\n themeId: THEME_ID,\n defaultTheme,\n rootShouldForwardProp\n});\nexport default styled;", "// copied from @mui/system/createStyled\nfunction slotShouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nexport default slotShouldForwardProp;", "import slotShouldForwardProp from './slotShouldForwardProp';\nconst rootShouldForwardProp = prop => slotShouldForwardProp(prop) && prop !== 'classes';\nexport default rootShouldForwardProp;", "'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"theme\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { ThemeProvider as SystemThemeProvider } from '@mui/system';\nimport THEME_ID from './identifier';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function ThemeProvider(_ref) {\n let {\n theme: themeInput\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n const scopedTheme = themeInput[THEME_ID];\n return /*#__PURE__*/_jsx(SystemThemeProvider, _extends({}, props, {\n themeId: scopedTheme ? THEME_ID : undefined,\n theme: scopedTheme || themeInput\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * A theme object. You can provide a function to extend the outer theme.\n */\n theme: PropTypes.oneOfType([PropTypes.object, PropTypes.func]).isRequired\n} : void 0;", "// Inspired by https://github.com/material-components/material-components-ios/blob/bca36107405594d5b7b16265a5b0ed698f85a5ee/components/Elevation/src/UIColor%2BMaterialElevation.m#L61\nconst getOverlayAlpha = elevation => {\n let alphaValue;\n if (elevation < 1) {\n alphaValue = 5.11916 * elevation ** 2;\n } else {\n alphaValue = 4.5 * Math.log(elevation + 1) + 2;\n }\n return (alphaValue / 100).toFixed(2);\n};\nexport default getOverlayAlpha;", "/**\n * WARNING: Don't import this directly. It's imported by the code generated by\n * `@mui/interal-babel-plugin-minify-errors`. Make sure to always use string literals in `Error`\n * constructors to ensure the plugin works as expected. Supported patterns include:\n * throw new Error('My message');\n * throw new Error(`My message: ${foo}`);\n * throw new Error(`My message: ${foo}` + 'another string');\n * ...\n * @param {number} code\n */\nexport default function formatMuiErrorMessage(code, ...args) {\n const url = new URL(`https://mui.com/production-error/?code=${code}`);\n args.forEach(arg => url.searchParams.append('args[]', arg));\n return `Minified MUI error #${code}; visit ${url} for the full message.`;\n}", "export default '$$material';", "/**\n * @mui/styled-engine v6.1.9\n *\n * @license MIT\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/* eslint-disable no-underscore-dangle */\nimport emStyled from '@emotion/styled';\nimport { serializeStyles as emSerializeStyles } from '@emotion/serialize';\nexport default function styled(tag, options) {\n const stylesFactory = emStyled(tag, options);\n if (process.env.NODE_ENV !== 'production') {\n return (...styles) => {\n const component = typeof tag === 'string' ? `\"${tag}\"` : 'component';\n if (styles.length === 0) {\n console.error([`MUI: Seems like you called \\`styled(${component})()\\` without a \\`style\\` argument.`, 'You must provide a `styles` argument: `styled(\"div\")(styleYouForgotToPass)`.'].join('\\n'));\n } else if (styles.some(style => style === undefined)) {\n console.error(`MUI: the styled(${component})(...args) API requires all its args to be defined.`);\n }\n return stylesFactory(...styles);\n };\n }\n return stylesFactory;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function internal_mutateStyles(tag, processor) {\n // Emotion attaches all the styles as `__emotion_styles`.\n // Ref: https://github.com/emotion-js/emotion/blob/16d971d0da229596d6bcc39d282ba9753c9ee7cf/packages/styled/src/base.js#L186\n if (Array.isArray(tag.__emotion_styles)) {\n tag.__emotion_styles = processor(tag.__emotion_styles);\n }\n}\n\n// Emotion only accepts an array, but we want to avoid allocations\nconst wrapper = [];\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function internal_serializeStyles(styles) {\n wrapper[0] = styles;\n return emSerializeStyles(wrapper);\n}\nexport { ThemeContext, keyframes, css } from '@emotion/react';\nexport { default as StyledEngineProvider } from \"./StyledEngineProvider/index.js\";\nexport { default as GlobalStyles } from \"./GlobalStyles/index.js\";", "'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Global } from '@emotion/react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction isEmpty(obj) {\n return obj === undefined || obj === null || Object.keys(obj).length === 0;\n}\nexport default function GlobalStyles(props) {\n const {\n styles,\n defaultTheme = {}\n } = props;\n const globalStyles = typeof styles === 'function' ? themeInput => styles(isEmpty(themeInput) ? defaultTheme : themeInput) : styles;\n return /*#__PURE__*/_jsx(Global, {\n styles: globalStyles\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? GlobalStyles.propTypes = {\n defaultTheme: PropTypes.object,\n styles: PropTypes.oneOfType([PropTypes.array, PropTypes.string, PropTypes.object, PropTypes.func])\n} : void 0;", "'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { GlobalStyles as MuiGlobalStyles } from '@mui/styled-engine';\nimport useTheme from \"../useTheme/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction GlobalStyles({\n styles,\n themeId,\n defaultTheme = {}\n}) {\n const upperTheme = useTheme(defaultTheme);\n const globalStyles = typeof styles === 'function' ? styles(themeId ? upperTheme[themeId] || upperTheme : upperTheme) : styles;\n return /*#__PURE__*/_jsx(MuiGlobalStyles, {\n styles: globalStyles\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? GlobalStyles.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the TypeScript types and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * @ignore\n */\n defaultTheme: PropTypes.object,\n /**\n * @ignore\n */\n styles: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.array, PropTypes.func, PropTypes.number, PropTypes.object, PropTypes.string, PropTypes.bool]),\n /**\n * @ignore\n */\n themeId: PropTypes.string\n} : void 0;\nexport default GlobalStyles;", "import * as React from 'react';\n\n// https://github.com/sindresorhus/is-plain-obj/blob/main/index.js\nexport function isPlainObject(item) {\n if (typeof item !== 'object' || item === null) {\n return false;\n }\n const prototype = Object.getPrototypeOf(item);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in item) && !(Symbol.iterator in item);\n}\nfunction deepClone(source) {\n if (/*#__PURE__*/React.isValidElement(source) || !isPlainObject(source)) {\n return source;\n }\n const output = {};\n Object.keys(source).forEach(key => {\n output[key] = deepClone(source[key]);\n });\n return output;\n}\nexport default function deepmerge(target, source, options = {\n clone: true\n}) {\n const output = options.clone ? {\n ...target\n } : target;\n if (isPlainObject(target) && isPlainObject(source)) {\n Object.keys(source).forEach(key => {\n if (/*#__PURE__*/React.isValidElement(source[key])) {\n output[key] = source[key];\n } else if (isPlainObject(source[key]) &&\n // Avoid prototype pollution\n Object.prototype.hasOwnProperty.call(target, key) && isPlainObject(target[key])) {\n // Since `output` is a clone of `target` and we have narrowed `target` in this block we can cast to the same type.\n output[key] = deepmerge(target[key], source[key], options);\n } else if (options.clone) {\n output[key] = isPlainObject(source[key]) ? deepClone(source[key]) : source[key];\n } else {\n output[key] = source[key];\n }\n });\n }\n return output;\n}", "// Sorted ASC by size. That's important.\n// It can't be configured as it's used statically for propTypes.\nexport const breakpointKeys = ['xs', 'sm', 'md', 'lg', 'xl'];\nconst sortBreakpointsValues = values => {\n const breakpointsAsArray = Object.keys(values).map(key => ({\n key,\n val: values[key]\n })) || [];\n // Sort in ascending order\n breakpointsAsArray.sort((breakpoint1, breakpoint2) => breakpoint1.val - breakpoint2.val);\n return breakpointsAsArray.reduce((acc, obj) => {\n return {\n ...acc,\n [obj.key]: obj.val\n };\n }, {});\n};\n\n// Keep in mind that @media is inclusive by the CSS specification.\nexport default function createBreakpoints(breakpoints) {\n const {\n // The breakpoint **start** at this value.\n // For instance with the first breakpoint xs: [xs, sm).\n values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n },\n unit = 'px',\n step = 5,\n ...other\n } = breakpoints;\n const sortedValues = sortBreakpointsValues(values);\n const keys = Object.keys(sortedValues);\n function up(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (min-width:${value}${unit})`;\n }\n function down(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (max-width:${value - step / 100}${unit})`;\n }\n function between(start, end) {\n const endIndex = keys.indexOf(end);\n return `@media (min-width:${typeof values[start] === 'number' ? values[start] : start}${unit}) and ` + `(max-width:${(endIndex !== -1 && typeof values[keys[endIndex]] === 'number' ? values[keys[endIndex]] : end) - step / 100}${unit})`;\n }\n function only(key) {\n if (keys.indexOf(key) + 1 < keys.length) {\n return between(key, keys[keys.indexOf(key) + 1]);\n }\n return up(key);\n }\n function not(key) {\n // handle first and last key separately, for better readability\n const keyIndex = keys.indexOf(key);\n if (keyIndex === 0) {\n return up(keys[1]);\n }\n if (keyIndex === keys.length - 1) {\n return down(keys[keyIndex]);\n }\n return between(key, keys[keys.indexOf(key) + 1]).replace('@media', '@media not all and');\n }\n return {\n keys,\n values: sortedValues,\n up,\n down,\n between,\n only,\n not,\n unit,\n ...other\n };\n}", "import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n/**\n * For using in `sx` prop to sort the breakpoint from low to high.\n * Note: this function does not work and will not support multiple units.\n * e.g. input: { '@container (min-width:300px)': '1rem', '@container (min-width:40rem)': '2rem' }\n * output: { '@container (min-width:40rem)': '2rem', '@container (min-width:300px)': '1rem' } // since 40 < 300 eventhough 40rem > 300px\n */\nexport function sortContainerQueries(theme, css) {\n if (!theme.containerQueries) {\n return css;\n }\n const sorted = Object.keys(css).filter(key => key.startsWith('@container')).sort((a, b) => {\n const regex = /min-width:\\s*([0-9.]+)/;\n return +(a.match(regex)?.[1] || 0) - +(b.match(regex)?.[1] || 0);\n });\n if (!sorted.length) {\n return css;\n }\n return sorted.reduce((acc, key) => {\n const value = css[key];\n delete acc[key];\n acc[key] = value;\n return acc;\n }, {\n ...css\n });\n}\nexport function isCqShorthand(breakpointKeys, value) {\n return value === '@' || value.startsWith('@') && (breakpointKeys.some(key => value.startsWith(`@${key}`)) || !!value.match(/^@\\d/));\n}\nexport function getContainerQuery(theme, shorthand) {\n const matches = shorthand.match(/^@([^/]+)?\\/?(.+)?$/);\n if (!matches) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The provided shorthand ${`(${shorthand})`} is invalid. The format should be \\`@\\` or \\`@/\\`.\\n` + 'For example, `@sm` or `@600` or `@40rem/sidebar`.' : _formatMuiErrorMessage(18, `(${shorthand})`));\n }\n return null;\n }\n const [, containerQuery, containerName] = matches;\n const value = Number.isNaN(+containerQuery) ? containerQuery || 0 : +containerQuery;\n return theme.containerQueries(containerName).up(value);\n}\nexport default function cssContainerQueries(themeInput) {\n const toContainerQuery = (mediaQuery, name) => mediaQuery.replace('@media', name ? `@container ${name}` : '@container');\n function attachCq(node, name) {\n node.up = (...args) => toContainerQuery(themeInput.breakpoints.up(...args), name);\n node.down = (...args) => toContainerQuery(themeInput.breakpoints.down(...args), name);\n node.between = (...args) => toContainerQuery(themeInput.breakpoints.between(...args), name);\n node.only = (...args) => toContainerQuery(themeInput.breakpoints.only(...args), name);\n node.not = (...args) => {\n const result = toContainerQuery(themeInput.breakpoints.not(...args), name);\n if (result.includes('not all and')) {\n // `@container` does not work with `not all and`, so need to invert the logic\n return result.replace('not all and ', '').replace('min-width:', 'width<').replace('max-width:', 'width>').replace('and', 'or');\n }\n return result;\n };\n }\n const node = {};\n const containerQueries = name => {\n attachCq(node, name);\n return node;\n };\n attachCq(containerQueries);\n return {\n ...themeInput,\n containerQueries\n };\n}", "const shape = {\n borderRadius: 4\n};\nexport default shape;", "import deepmerge from '@mui/utils/deepmerge';\nfunction merge(acc, item) {\n if (!item) {\n return acc;\n }\n return deepmerge(acc, item, {\n clone: false // No need to clone deep, it's way faster.\n });\n}\nexport default merge;", "import PropTypes from 'prop-types';\nimport deepmerge from '@mui/utils/deepmerge';\nimport merge from \"../merge/index.js\";\nimport { isCqShorthand, getContainerQuery } from \"../cssContainerQueries/index.js\";\n\n// The breakpoint **start** at this value.\n// For instance with the first breakpoint xs: [xs, sm[.\nexport const values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n};\nconst defaultBreakpoints = {\n // Sorted ASC by size. That's important.\n // It can't be configured as it's used statically for propTypes.\n keys: ['xs', 'sm', 'md', 'lg', 'xl'],\n up: key => `@media (min-width:${values[key]}px)`\n};\nconst defaultContainerQueries = {\n containerQueries: containerName => ({\n up: key => {\n let result = typeof key === 'number' ? key : values[key] || key;\n if (typeof result === 'number') {\n result = `${result}px`;\n }\n return containerName ? `@container ${containerName} (min-width:${result})` : `@container (min-width:${result})`;\n }\n })\n};\nexport function handleBreakpoints(props, propValue, styleFromPropValue) {\n const theme = props.theme || {};\n if (Array.isArray(propValue)) {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return propValue.reduce((acc, item, index) => {\n acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]);\n return acc;\n }, {});\n }\n if (typeof propValue === 'object') {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return Object.keys(propValue).reduce((acc, breakpoint) => {\n if (isCqShorthand(themeBreakpoints.keys, breakpoint)) {\n const containerKey = getContainerQuery(theme.containerQueries ? theme : defaultContainerQueries, breakpoint);\n if (containerKey) {\n acc[containerKey] = styleFromPropValue(propValue[breakpoint], breakpoint);\n }\n }\n // key is breakpoint\n else if (Object.keys(themeBreakpoints.values || values).includes(breakpoint)) {\n const mediaKey = themeBreakpoints.up(breakpoint);\n acc[mediaKey] = styleFromPropValue(propValue[breakpoint], breakpoint);\n } else {\n const cssKey = breakpoint;\n acc[cssKey] = propValue[cssKey];\n }\n return acc;\n }, {});\n }\n const output = styleFromPropValue(propValue);\n return output;\n}\nfunction breakpoints(styleFunction) {\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const newStyleFunction = props => {\n const theme = props.theme || {};\n const base = styleFunction(props);\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n const extended = themeBreakpoints.keys.reduce((acc, key) => {\n if (props[key]) {\n acc = acc || {};\n acc[themeBreakpoints.up(key)] = styleFunction({\n theme,\n ...props[key]\n });\n }\n return acc;\n }, null);\n return merge(base, extended);\n };\n newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? {\n ...styleFunction.propTypes,\n xs: PropTypes.object,\n sm: PropTypes.object,\n md: PropTypes.object,\n lg: PropTypes.object,\n xl: PropTypes.object\n } : {};\n newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl', ...styleFunction.filterProps];\n return newStyleFunction;\n}\nexport function createEmptyBreakpointObject(breakpointsInput = {}) {\n const breakpointsInOrder = breakpointsInput.keys?.reduce((acc, key) => {\n const breakpointStyleKey = breakpointsInput.up(key);\n acc[breakpointStyleKey] = {};\n return acc;\n }, {});\n return breakpointsInOrder || {};\n}\nexport function removeUnusedBreakpoints(breakpointKeys, style) {\n return breakpointKeys.reduce((acc, key) => {\n const breakpointOutput = acc[key];\n const isBreakpointUnused = !breakpointOutput || Object.keys(breakpointOutput).length === 0;\n if (isBreakpointUnused) {\n delete acc[key];\n }\n return acc;\n }, style);\n}\nexport function mergeBreakpointsInOrder(breakpointsInput, ...styles) {\n const emptyBreakpoints = createEmptyBreakpointObject(breakpointsInput);\n const mergedOutput = [emptyBreakpoints, ...styles].reduce((prev, next) => deepmerge(prev, next), {});\n return removeUnusedBreakpoints(Object.keys(emptyBreakpoints), mergedOutput);\n}\n\n// compute base for responsive values; e.g.,\n// [1,2,3] => {xs: true, sm: true, md: true}\n// {xs: 1, sm: 2, md: 3} => {xs: true, sm: true, md: true}\nexport function computeBreakpointsBase(breakpointValues, themeBreakpoints) {\n // fixed value\n if (typeof breakpointValues !== 'object') {\n return {};\n }\n const base = {};\n const breakpointsKeys = Object.keys(themeBreakpoints);\n if (Array.isArray(breakpointValues)) {\n breakpointsKeys.forEach((breakpoint, i) => {\n if (i < breakpointValues.length) {\n base[breakpoint] = true;\n }\n });\n } else {\n breakpointsKeys.forEach(breakpoint => {\n if (breakpointValues[breakpoint] != null) {\n base[breakpoint] = true;\n }\n });\n }\n return base;\n}\nexport function resolveBreakpointValues({\n values: breakpointValues,\n breakpoints: themeBreakpoints,\n base: customBase\n}) {\n const base = customBase || computeBreakpointsBase(breakpointValues, themeBreakpoints);\n const keys = Object.keys(base);\n if (keys.length === 0) {\n return breakpointValues;\n }\n let previous;\n return keys.reduce((acc, breakpoint, i) => {\n if (Array.isArray(breakpointValues)) {\n acc[breakpoint] = breakpointValues[i] != null ? breakpointValues[i] : breakpointValues[previous];\n previous = i;\n } else if (typeof breakpointValues === 'object') {\n acc[breakpoint] = breakpointValues[breakpoint] != null ? breakpointValues[breakpoint] : breakpointValues[previous];\n previous = breakpoint;\n } else {\n acc[breakpoint] = breakpointValues;\n }\n return acc;\n }, {});\n}\nexport default breakpoints;", "import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n// It should to be noted that this function isn't equivalent to `text-transform: capitalize`.\n//\n// A strict capitalization should uppercase the first letter of each word in the sentence.\n// We only handle the first word.\nexport default function capitalize(string) {\n if (typeof string !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'MUI: `capitalize(string)` expects a string argument.' : _formatMuiErrorMessage(7));\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n}", "import capitalize from '@mui/utils/capitalize';\nimport responsivePropType from \"../responsivePropType/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nexport function getPath(obj, path, checkVars = true) {\n if (!path || typeof path !== 'string') {\n return null;\n }\n\n // Check if CSS variables are used\n if (obj && obj.vars && checkVars) {\n const val = `vars.${path}`.split('.').reduce((acc, item) => acc && acc[item] ? acc[item] : null, obj);\n if (val != null) {\n return val;\n }\n }\n return path.split('.').reduce((acc, item) => {\n if (acc && acc[item] != null) {\n return acc[item];\n }\n return null;\n }, obj);\n}\nexport function getStyleValue(themeMapping, transform, propValueFinal, userValue = propValueFinal) {\n let value;\n if (typeof themeMapping === 'function') {\n value = themeMapping(propValueFinal);\n } else if (Array.isArray(themeMapping)) {\n value = themeMapping[propValueFinal] || userValue;\n } else {\n value = getPath(themeMapping, propValueFinal) || userValue;\n }\n if (transform) {\n value = transform(value, userValue, themeMapping);\n }\n return value;\n}\nfunction style(options) {\n const {\n prop,\n cssProperty = options.prop,\n themeKey,\n transform\n } = options;\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n if (props[prop] == null) {\n return null;\n }\n const propValue = props[prop];\n const theme = props.theme;\n const themeMapping = getPath(theme, themeKey) || {};\n const styleFromPropValue = propValueFinal => {\n let value = getStyleValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getStyleValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, propValue, styleFromPropValue);\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? {\n [prop]: responsivePropType\n } : {};\n fn.filterProps = [prop];\n return fn;\n}\nexport default style;", "export default function memoize(fn) {\n const cache = {};\n return arg => {\n if (cache[arg] === undefined) {\n cache[arg] = fn(arg);\n }\n return cache[arg];\n };\n}", "import responsivePropType from \"../responsivePropType/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nimport { getPath } from \"../style/index.js\";\nimport merge from \"../merge/index.js\";\nimport memoize from \"../memoize/index.js\";\nconst properties = {\n m: 'margin',\n p: 'padding'\n};\nconst directions = {\n t: 'Top',\n r: 'Right',\n b: 'Bottom',\n l: 'Left',\n x: ['Left', 'Right'],\n y: ['Top', 'Bottom']\n};\nconst aliases = {\n marginX: 'mx',\n marginY: 'my',\n paddingX: 'px',\n paddingY: 'py'\n};\n\n// memoize() impact:\n// From 300,000 ops/sec\n// To 350,000 ops/sec\nconst getCssProperties = memoize(prop => {\n // It's not a shorthand notation.\n if (prop.length > 2) {\n if (aliases[prop]) {\n prop = aliases[prop];\n } else {\n return [prop];\n }\n }\n const [a, b] = prop.split('');\n const property = properties[a];\n const direction = directions[b] || '';\n return Array.isArray(direction) ? direction.map(dir => property + dir) : [property + direction];\n});\nexport const marginKeys = ['m', 'mt', 'mr', 'mb', 'ml', 'mx', 'my', 'margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'marginX', 'marginY', 'marginInline', 'marginInlineStart', 'marginInlineEnd', 'marginBlock', 'marginBlockStart', 'marginBlockEnd'];\nexport const paddingKeys = ['p', 'pt', 'pr', 'pb', 'pl', 'px', 'py', 'padding', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'paddingX', 'paddingY', 'paddingInline', 'paddingInlineStart', 'paddingInlineEnd', 'paddingBlock', 'paddingBlockStart', 'paddingBlockEnd'];\nconst spacingKeys = [...marginKeys, ...paddingKeys];\nexport function createUnaryUnit(theme, themeKey, defaultValue, propName) {\n const themeSpacing = getPath(theme, themeKey, true) ?? defaultValue;\n if (typeof themeSpacing === 'number' || typeof themeSpacing === 'string') {\n return val => {\n if (typeof val === 'string') {\n return val;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (typeof val !== 'number') {\n console.error(`MUI: Expected ${propName} argument to be a number or a string, got ${val}.`);\n }\n }\n if (typeof themeSpacing === 'string') {\n return `calc(${val} * ${themeSpacing})`;\n }\n return themeSpacing * val;\n };\n }\n if (Array.isArray(themeSpacing)) {\n return val => {\n if (typeof val === 'string') {\n return val;\n }\n const abs = Math.abs(val);\n if (process.env.NODE_ENV !== 'production') {\n if (!Number.isInteger(abs)) {\n console.error([`MUI: The \\`theme.${themeKey}\\` array type cannot be combined with non integer values.` + `You should either use an integer value that can be used as index, or define the \\`theme.${themeKey}\\` as a number.`].join('\\n'));\n } else if (abs > themeSpacing.length - 1) {\n console.error([`MUI: The value provided (${abs}) overflows.`, `The supported values are: ${JSON.stringify(themeSpacing)}.`, `${abs} > ${themeSpacing.length - 1}, you need to add the missing values.`].join('\\n'));\n }\n }\n const transformed = themeSpacing[abs];\n if (val >= 0) {\n return transformed;\n }\n if (typeof transformed === 'number') {\n return -transformed;\n }\n return `-${transformed}`;\n };\n }\n if (typeof themeSpacing === 'function') {\n return themeSpacing;\n }\n if (process.env.NODE_ENV !== 'production') {\n console.error([`MUI: The \\`theme.${themeKey}\\` value (${themeSpacing}) is invalid.`, 'It should be a number, an array or a function.'].join('\\n'));\n }\n return () => undefined;\n}\nexport function createUnarySpacing(theme) {\n return createUnaryUnit(theme, 'spacing', 8, 'spacing');\n}\nexport function getValue(transformer, propValue) {\n if (typeof propValue === 'string' || propValue == null) {\n return propValue;\n }\n return transformer(propValue);\n}\nexport function getStyleFromPropValue(cssProperties, transformer) {\n return propValue => cssProperties.reduce((acc, cssProperty) => {\n acc[cssProperty] = getValue(transformer, propValue);\n return acc;\n }, {});\n}\nfunction resolveCssProperty(props, keys, prop, transformer) {\n // Using a hash computation over an array iteration could be faster, but with only 28 items,\n // it's doesn't worth the bundle size.\n if (!keys.includes(prop)) {\n return null;\n }\n const cssProperties = getCssProperties(prop);\n const styleFromPropValue = getStyleFromPropValue(cssProperties, transformer);\n const propValue = props[prop];\n return handleBreakpoints(props, propValue, styleFromPropValue);\n}\nfunction style(props, keys) {\n const transformer = createUnarySpacing(props.theme);\n return Object.keys(props).map(prop => resolveCssProperty(props, keys, prop, transformer)).reduce(merge, {});\n}\nexport function margin(props) {\n return style(props, marginKeys);\n}\nmargin.propTypes = process.env.NODE_ENV !== 'production' ? marginKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nmargin.filterProps = marginKeys;\nexport function padding(props) {\n return style(props, paddingKeys);\n}\npadding.propTypes = process.env.NODE_ENV !== 'production' ? paddingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\npadding.filterProps = paddingKeys;\nfunction spacing(props) {\n return style(props, spacingKeys);\n}\nspacing.propTypes = process.env.NODE_ENV !== 'production' ? spacingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nspacing.filterProps = spacingKeys;\nexport default spacing;", "import { createUnarySpacing } from \"../spacing/index.js\";\n\n// The different signatures imply different meaning for their arguments that can't be expressed structurally.\n// We express the difference with variable names.\n\nexport default function createSpacing(spacingInput = 8,\n// Material Design layouts are visually balanced. Most measurements align to an 8dp grid, which aligns both spacing and the overall layout.\n// Smaller components, such as icons, can align to a 4dp grid.\n// https://m2.material.io/design/layout/understanding-layout.html\ntransform = createUnarySpacing({\n spacing: spacingInput\n})) {\n // Already transformed.\n if (spacingInput.mui) {\n return spacingInput;\n }\n const spacing = (...argsInput) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!(argsInput.length <= 4)) {\n console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${argsInput.length}`);\n }\n }\n const args = argsInput.length === 0 ? [1] : argsInput;\n return args.map(argument => {\n const output = transform(argument);\n return typeof output === 'number' ? `${output}px` : output;\n }).join(' ');\n };\n spacing.mui = true;\n return spacing;\n}", "import merge from \"../merge/index.js\";\nfunction compose(...styles) {\n const handlers = styles.reduce((acc, style) => {\n style.filterProps.forEach(prop => {\n acc[prop] = style;\n });\n return acc;\n }, {});\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n return Object.keys(props).reduce((acc, prop) => {\n if (handlers[prop]) {\n return merge(acc, handlers[prop](props));\n }\n return acc;\n }, {});\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? styles.reduce((acc, style) => Object.assign(acc, style.propTypes), {}) : {};\n fn.filterProps = styles.reduce((acc, style) => acc.concat(style.filterProps), []);\n return fn;\n}\nexport default compose;", "import responsivePropType from \"../responsivePropType/index.js\";\nimport style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nimport { createUnaryUnit, getValue } from \"../spacing/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nexport function borderTransform(value) {\n if (typeof value !== 'number') {\n return value;\n }\n return `${value}px solid`;\n}\nfunction createBorderStyle(prop, transform) {\n return style({\n prop,\n themeKey: 'borders',\n transform\n });\n}\nexport const border = createBorderStyle('border', borderTransform);\nexport const borderTop = createBorderStyle('borderTop', borderTransform);\nexport const borderRight = createBorderStyle('borderRight', borderTransform);\nexport const borderBottom = createBorderStyle('borderBottom', borderTransform);\nexport const borderLeft = createBorderStyle('borderLeft', borderTransform);\nexport const borderColor = createBorderStyle('borderColor');\nexport const borderTopColor = createBorderStyle('borderTopColor');\nexport const borderRightColor = createBorderStyle('borderRightColor');\nexport const borderBottomColor = createBorderStyle('borderBottomColor');\nexport const borderLeftColor = createBorderStyle('borderLeftColor');\nexport const outline = createBorderStyle('outline', borderTransform);\nexport const outlineColor = createBorderStyle('outlineColor');\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const borderRadius = props => {\n if (props.borderRadius !== undefined && props.borderRadius !== null) {\n const transformer = createUnaryUnit(props.theme, 'shape.borderRadius', 4, 'borderRadius');\n const styleFromPropValue = propValue => ({\n borderRadius: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.borderRadius, styleFromPropValue);\n }\n return null;\n};\nborderRadius.propTypes = process.env.NODE_ENV !== 'production' ? {\n borderRadius: responsivePropType\n} : {};\nborderRadius.filterProps = ['borderRadius'];\nconst borders = compose(border, borderTop, borderRight, borderBottom, borderLeft, borderColor, borderTopColor, borderRightColor, borderBottomColor, borderLeftColor, borderRadius, outline, outlineColor);\nexport default borders;", "import style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nimport { createUnaryUnit, getValue } from \"../spacing/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nimport responsivePropType from \"../responsivePropType/index.js\";\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const gap = props => {\n if (props.gap !== undefined && props.gap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'gap');\n const styleFromPropValue = propValue => ({\n gap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.gap, styleFromPropValue);\n }\n return null;\n};\ngap.propTypes = process.env.NODE_ENV !== 'production' ? {\n gap: responsivePropType\n} : {};\ngap.filterProps = ['gap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const columnGap = props => {\n if (props.columnGap !== undefined && props.columnGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'columnGap');\n const styleFromPropValue = propValue => ({\n columnGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.columnGap, styleFromPropValue);\n }\n return null;\n};\ncolumnGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n columnGap: responsivePropType\n} : {};\ncolumnGap.filterProps = ['columnGap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const rowGap = props => {\n if (props.rowGap !== undefined && props.rowGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'rowGap');\n const styleFromPropValue = propValue => ({\n rowGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.rowGap, styleFromPropValue);\n }\n return null;\n};\nrowGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n rowGap: responsivePropType\n} : {};\nrowGap.filterProps = ['rowGap'];\nexport const gridColumn = style({\n prop: 'gridColumn'\n});\nexport const gridRow = style({\n prop: 'gridRow'\n});\nexport const gridAutoFlow = style({\n prop: 'gridAutoFlow'\n});\nexport const gridAutoColumns = style({\n prop: 'gridAutoColumns'\n});\nexport const gridAutoRows = style({\n prop: 'gridAutoRows'\n});\nexport const gridTemplateColumns = style({\n prop: 'gridTemplateColumns'\n});\nexport const gridTemplateRows = style({\n prop: 'gridTemplateRows'\n});\nexport const gridTemplateAreas = style({\n prop: 'gridTemplateAreas'\n});\nexport const gridArea = style({\n prop: 'gridArea'\n});\nconst grid = compose(gap, columnGap, rowGap, gridColumn, gridRow, gridAutoFlow, gridAutoColumns, gridAutoRows, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridArea);\nexport default grid;", "import style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nexport function paletteTransform(value, userValue) {\n if (userValue === 'grey') {\n return userValue;\n }\n return value;\n}\nexport const color = style({\n prop: 'color',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const bgcolor = style({\n prop: 'bgcolor',\n cssProperty: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const backgroundColor = style({\n prop: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nconst palette = compose(color, bgcolor, backgroundColor);\nexport default palette;", "import style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nimport { handleBreakpoints, values as breakpointsValues } from \"../breakpoints/index.js\";\nexport function sizingTransform(value) {\n return value <= 1 && value !== 0 ? `${value * 100}%` : value;\n}\nexport const width = style({\n prop: 'width',\n transform: sizingTransform\n});\nexport const maxWidth = props => {\n if (props.maxWidth !== undefined && props.maxWidth !== null) {\n const styleFromPropValue = propValue => {\n const breakpoint = props.theme?.breakpoints?.values?.[propValue] || breakpointsValues[propValue];\n if (!breakpoint) {\n return {\n maxWidth: sizingTransform(propValue)\n };\n }\n if (props.theme?.breakpoints?.unit !== 'px') {\n return {\n maxWidth: `${breakpoint}${props.theme.breakpoints.unit}`\n };\n }\n return {\n maxWidth: breakpoint\n };\n };\n return handleBreakpoints(props, props.maxWidth, styleFromPropValue);\n }\n return null;\n};\nmaxWidth.filterProps = ['maxWidth'];\nexport const minWidth = style({\n prop: 'minWidth',\n transform: sizingTransform\n});\nexport const height = style({\n prop: 'height',\n transform: sizingTransform\n});\nexport const maxHeight = style({\n prop: 'maxHeight',\n transform: sizingTransform\n});\nexport const minHeight = style({\n prop: 'minHeight',\n transform: sizingTransform\n});\nexport const sizeWidth = style({\n prop: 'size',\n cssProperty: 'width',\n transform: sizingTransform\n});\nexport const sizeHeight = style({\n prop: 'size',\n cssProperty: 'height',\n transform: sizingTransform\n});\nexport const boxSizing = style({\n prop: 'boxSizing'\n});\nconst sizing = compose(width, maxWidth, minWidth, height, maxHeight, minHeight, boxSizing);\nexport default sizing;", "import { padding, margin } from \"../spacing/index.js\";\nimport { borderRadius, borderTransform } from \"../borders/index.js\";\nimport { gap, rowGap, columnGap } from \"../cssGrid/index.js\";\nimport { paletteTransform } from \"../palette/index.js\";\nimport { maxWidth, sizingTransform } from \"../sizing/index.js\";\nconst defaultSxConfig = {\n // borders\n border: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderTop: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderRight: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderBottom: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderLeft: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderColor: {\n themeKey: 'palette'\n },\n borderTopColor: {\n themeKey: 'palette'\n },\n borderRightColor: {\n themeKey: 'palette'\n },\n borderBottomColor: {\n themeKey: 'palette'\n },\n borderLeftColor: {\n themeKey: 'palette'\n },\n outline: {\n themeKey: 'borders',\n transform: borderTransform\n },\n outlineColor: {\n themeKey: 'palette'\n },\n borderRadius: {\n themeKey: 'shape.borderRadius',\n style: borderRadius\n },\n // palette\n color: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n bgcolor: {\n themeKey: 'palette',\n cssProperty: 'backgroundColor',\n transform: paletteTransform\n },\n backgroundColor: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n // spacing\n p: {\n style: padding\n },\n pt: {\n style: padding\n },\n pr: {\n style: padding\n },\n pb: {\n style: padding\n },\n pl: {\n style: padding\n },\n px: {\n style: padding\n },\n py: {\n style: padding\n },\n padding: {\n style: padding\n },\n paddingTop: {\n style: padding\n },\n paddingRight: {\n style: padding\n },\n paddingBottom: {\n style: padding\n },\n paddingLeft: {\n style: padding\n },\n paddingX: {\n style: padding\n },\n paddingY: {\n style: padding\n },\n paddingInline: {\n style: padding\n },\n paddingInlineStart: {\n style: padding\n },\n paddingInlineEnd: {\n style: padding\n },\n paddingBlock: {\n style: padding\n },\n paddingBlockStart: {\n style: padding\n },\n paddingBlockEnd: {\n style: padding\n },\n m: {\n style: margin\n },\n mt: {\n style: margin\n },\n mr: {\n style: margin\n },\n mb: {\n style: margin\n },\n ml: {\n style: margin\n },\n mx: {\n style: margin\n },\n my: {\n style: margin\n },\n margin: {\n style: margin\n },\n marginTop: {\n style: margin\n },\n marginRight: {\n style: margin\n },\n marginBottom: {\n style: margin\n },\n marginLeft: {\n style: margin\n },\n marginX: {\n style: margin\n },\n marginY: {\n style: margin\n },\n marginInline: {\n style: margin\n },\n marginInlineStart: {\n style: margin\n },\n marginInlineEnd: {\n style: margin\n },\n marginBlock: {\n style: margin\n },\n marginBlockStart: {\n style: margin\n },\n marginBlockEnd: {\n style: margin\n },\n // display\n displayPrint: {\n cssProperty: false,\n transform: value => ({\n '@media print': {\n display: value\n }\n })\n },\n display: {},\n overflow: {},\n textOverflow: {},\n visibility: {},\n whiteSpace: {},\n // flexbox\n flexBasis: {},\n flexDirection: {},\n flexWrap: {},\n justifyContent: {},\n alignItems: {},\n alignContent: {},\n order: {},\n flex: {},\n flexGrow: {},\n flexShrink: {},\n alignSelf: {},\n justifyItems: {},\n justifySelf: {},\n // grid\n gap: {\n style: gap\n },\n rowGap: {\n style: rowGap\n },\n columnGap: {\n style: columnGap\n },\n gridColumn: {},\n gridRow: {},\n gridAutoFlow: {},\n gridAutoColumns: {},\n gridAutoRows: {},\n gridTemplateColumns: {},\n gridTemplateRows: {},\n gridTemplateAreas: {},\n gridArea: {},\n // positions\n position: {},\n zIndex: {\n themeKey: 'zIndex'\n },\n top: {},\n right: {},\n bottom: {},\n left: {},\n // shadows\n boxShadow: {\n themeKey: 'shadows'\n },\n // sizing\n width: {\n transform: sizingTransform\n },\n maxWidth: {\n style: maxWidth\n },\n minWidth: {\n transform: sizingTransform\n },\n height: {\n transform: sizingTransform\n },\n maxHeight: {\n transform: sizingTransform\n },\n minHeight: {\n transform: sizingTransform\n },\n boxSizing: {},\n // typography\n font: {\n themeKey: 'font'\n },\n fontFamily: {\n themeKey: 'typography'\n },\n fontSize: {\n themeKey: 'typography'\n },\n fontStyle: {\n themeKey: 'typography'\n },\n fontWeight: {\n themeKey: 'typography'\n },\n letterSpacing: {},\n textTransform: {},\n lineHeight: {},\n textAlign: {},\n typography: {\n cssProperty: false,\n themeKey: 'typography'\n }\n};\nexport default defaultSxConfig;", "import capitalize from '@mui/utils/capitalize';\nimport merge from \"../merge/index.js\";\nimport { getPath, getStyleValue as getValue } from \"../style/index.js\";\nimport { handleBreakpoints, createEmptyBreakpointObject, removeUnusedBreakpoints } from \"../breakpoints/index.js\";\nimport { sortContainerQueries } from \"../cssContainerQueries/index.js\";\nimport defaultSxConfig from \"./defaultSxConfig.js\";\nfunction objectsHaveSameKeys(...objects) {\n const allKeys = objects.reduce((keys, object) => keys.concat(Object.keys(object)), []);\n const union = new Set(allKeys);\n return objects.every(object => union.size === Object.keys(object).length);\n}\nfunction callIfFn(maybeFn, arg) {\n return typeof maybeFn === 'function' ? maybeFn(arg) : maybeFn;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function unstable_createStyleFunctionSx() {\n function getThemeValue(prop, val, theme, config) {\n const props = {\n [prop]: val,\n theme\n };\n const options = config[prop];\n if (!options) {\n return {\n [prop]: val\n };\n }\n const {\n cssProperty = prop,\n themeKey,\n transform,\n style\n } = options;\n if (val == null) {\n return null;\n }\n\n // TODO v6: remove, see https://github.com/mui/material-ui/pull/38123\n if (themeKey === 'typography' && val === 'inherit') {\n return {\n [prop]: val\n };\n }\n const themeMapping = getPath(theme, themeKey) || {};\n if (style) {\n return style(props);\n }\n const styleFromPropValue = propValueFinal => {\n let value = getValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, val, styleFromPropValue);\n }\n function styleFunctionSx(props) {\n const {\n sx,\n theme = {}\n } = props || {};\n if (!sx) {\n return null; // Emotion & styled-components will neglect null\n }\n const config = theme.unstable_sxConfig ?? defaultSxConfig;\n\n /*\n * Receive `sxInput` as object or callback\n * and then recursively check keys & values to create media query object styles.\n * (the result will be used in `styled`)\n */\n function traverse(sxInput) {\n let sxObject = sxInput;\n if (typeof sxInput === 'function') {\n sxObject = sxInput(theme);\n } else if (typeof sxInput !== 'object') {\n // value\n return sxInput;\n }\n if (!sxObject) {\n return null;\n }\n const emptyBreakpoints = createEmptyBreakpointObject(theme.breakpoints);\n const breakpointsKeys = Object.keys(emptyBreakpoints);\n let css = emptyBreakpoints;\n Object.keys(sxObject).forEach(styleKey => {\n const value = callIfFn(sxObject[styleKey], theme);\n if (value !== null && value !== undefined) {\n if (typeof value === 'object') {\n if (config[styleKey]) {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n } else {\n const breakpointsValues = handleBreakpoints({\n theme\n }, value, x => ({\n [styleKey]: x\n }));\n if (objectsHaveSameKeys(breakpointsValues, value)) {\n css[styleKey] = styleFunctionSx({\n sx: value,\n theme\n });\n } else {\n css = merge(css, breakpointsValues);\n }\n }\n } else {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n }\n }\n });\n return sortContainerQueries(theme, removeUnusedBreakpoints(breakpointsKeys, css));\n }\n return Array.isArray(sx) ? sx.map(traverse) : traverse(sx);\n }\n return styleFunctionSx;\n}\nconst styleFunctionSx = unstable_createStyleFunctionSx();\nstyleFunctionSx.filterProps = ['sx'];\nexport default styleFunctionSx;", "/**\n * A universal utility to style components with multiple color modes. Always use it from the theme object.\n * It works with:\n * - [Basic theme](https://mui.com/material-ui/customization/dark-mode/)\n * - [CSS theme variables](https://mui.com/material-ui/customization/css-theme-variables/overview/)\n * - Zero-runtime engine\n *\n * Tips: Use an array over object spread and place `theme.applyStyles()` last.\n *\n * \u2705 [{ background: '#e5e5e5' }, theme.applyStyles('dark', { background: '#1c1c1c' })]\n *\n * \uD83D\uDEAB { background: '#e5e5e5', ...theme.applyStyles('dark', { background: '#1c1c1c' })}\n *\n * @example\n * 1. using with `styled`:\n * ```jsx\n * const Component = styled('div')(({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]);\n * ```\n *\n * @example\n * 2. using with `sx` prop:\n * ```jsx\n * [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]}\n * />\n * ```\n *\n * @example\n * 3. theming a component:\n * ```jsx\n * extendTheme({\n * components: {\n * MuiButton: {\n * styleOverrides: {\n * root: ({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ],\n * },\n * }\n * }\n * })\n *```\n */\nexport default function applyStyles(key, styles) {\n // @ts-expect-error this is 'any' type\n const theme = this;\n if (theme.vars) {\n if (!theme.colorSchemes?.[key] || typeof theme.getColorSchemeSelector !== 'function') {\n return {};\n }\n // If CssVarsProvider is used as a provider, returns '*:where({selector}) &'\n let selector = theme.getColorSchemeSelector(key);\n if (selector === '&') {\n return styles;\n }\n if (selector.includes('data-') || selector.includes('.')) {\n // '*' is required as a workaround for Emotion issue (https://github.com/emotion-js/emotion/issues/2836)\n selector = `*:where(${selector.replace(/\\s*&$/, '')}) &`;\n }\n return {\n [selector]: styles\n };\n }\n if (theme.palette.mode === key) {\n return styles;\n }\n return {};\n}", "import deepmerge from '@mui/utils/deepmerge';\nimport createBreakpoints from \"../createBreakpoints/createBreakpoints.js\";\nimport cssContainerQueries from \"../cssContainerQueries/index.js\";\nimport shape from \"./shape.js\";\nimport createSpacing from \"./createSpacing.js\";\nimport styleFunctionSx from \"../styleFunctionSx/styleFunctionSx.js\";\nimport defaultSxConfig from \"../styleFunctionSx/defaultSxConfig.js\";\nimport applyStyles from \"./applyStyles.js\";\nfunction createTheme(options = {}, ...args) {\n const {\n breakpoints: breakpointsInput = {},\n palette: paletteInput = {},\n spacing: spacingInput,\n shape: shapeInput = {},\n ...other\n } = options;\n const breakpoints = createBreakpoints(breakpointsInput);\n const spacing = createSpacing(spacingInput);\n let muiTheme = deepmerge({\n breakpoints,\n direction: 'ltr',\n components: {},\n // Inject component definitions.\n palette: {\n mode: 'light',\n ...paletteInput\n },\n spacing,\n shape: {\n ...shape,\n ...shapeInput\n }\n }, other);\n muiTheme = cssContainerQueries(muiTheme);\n muiTheme.applyStyles = applyStyles;\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n muiTheme.unstable_sxConfig = {\n ...defaultSxConfig,\n ...other?.unstable_sxConfig\n };\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n return muiTheme;\n}\nexport default createTheme;", "'use client';\n\nimport * as React from 'react';\nimport { ThemeContext } from '@mui/styled-engine';\nfunction isObjectEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction useTheme(defaultTheme = null) {\n const contextTheme = React.useContext(ThemeContext);\n return !contextTheme || isObjectEmpty(contextTheme) ? defaultTheme : contextTheme;\n}\nexport default useTheme;", "'use client';\n\nimport createTheme from \"../createTheme/index.js\";\nimport useThemeWithoutDefault from \"../useThemeWithoutDefault/index.js\";\nexport const systemDefaultTheme = createTheme();\nfunction useTheme(defaultTheme = systemDefaultTheme) {\n return useThemeWithoutDefault(defaultTheme);\n}\nexport default useTheme;", "import { isPlainObject } from '@mui/utils/deepmerge';\nimport defaultSxConfig from \"./defaultSxConfig.js\";\nconst splitProps = props => {\n const result = {\n systemProps: {},\n otherProps: {}\n };\n const config = props?.theme?.unstable_sxConfig ?? defaultSxConfig;\n Object.keys(props).forEach(prop => {\n if (config[prop]) {\n result.systemProps[prop] = props[prop];\n } else {\n result.otherProps[prop] = props[prop];\n }\n });\n return result;\n};\nexport default function extendSxProp(props) {\n const {\n sx: inSx,\n ...other\n } = props;\n const {\n systemProps,\n otherProps\n } = splitProps(other);\n let finalSx;\n if (Array.isArray(inSx)) {\n finalSx = [systemProps, ...inSx];\n } else if (typeof inSx === 'function') {\n finalSx = (...args) => {\n const result = inSx(...args);\n if (!isPlainObject(result)) {\n return systemProps;\n }\n return {\n ...systemProps,\n ...result\n };\n };\n } else {\n finalSx = {\n ...systemProps,\n ...inSx\n };\n }\n return {\n ...otherProps,\n sx: finalSx\n };\n}", "const defaultGenerator = componentName => componentName;\nconst createClassNameGenerator = () => {\n let generate = defaultGenerator;\n return {\n configure(generator) {\n generate = generator;\n },\n generate(componentName) {\n return generate(componentName);\n },\n reset() {\n generate = defaultGenerator;\n }\n };\n};\nconst ClassNameGenerator = createClassNameGenerator();\nexport default ClassNameGenerator;", "'use client';\n\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport styled from '@mui/styled-engine';\nimport styleFunctionSx, { extendSxProp } from \"../styleFunctionSx/index.js\";\nimport useTheme from \"../useTheme/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createBox(options = {}) {\n const {\n themeId,\n defaultTheme,\n defaultClassName = 'MuiBox-root',\n generateClassName\n } = options;\n const BoxRoot = styled('div', {\n shouldForwardProp: prop => prop !== 'theme' && prop !== 'sx' && prop !== 'as'\n })(styleFunctionSx);\n const Box = /*#__PURE__*/React.forwardRef(function Box(inProps, ref) {\n const theme = useTheme(defaultTheme);\n const {\n className,\n component = 'div',\n ...other\n } = extendSxProp(inProps);\n return /*#__PURE__*/_jsx(BoxRoot, {\n as: component,\n ref: ref,\n className: clsx(className, generateClassName ? generateClassName(defaultClassName) : defaultClassName),\n theme: themeId ? theme[themeId] || theme : theme,\n ...other\n });\n });\n return Box;\n}", "import ClassNameGenerator from \"../ClassNameGenerator/index.js\";\nexport const globalStateClasses = {\n active: 'active',\n checked: 'checked',\n completed: 'completed',\n disabled: 'disabled',\n error: 'error',\n expanded: 'expanded',\n focused: 'focused',\n focusVisible: 'focusVisible',\n open: 'open',\n readOnly: 'readOnly',\n required: 'required',\n selected: 'selected'\n};\nexport default function generateUtilityClass(componentName, slot, globalStatePrefix = 'Mui') {\n const globalStateClass = globalStateClasses[slot];\n return globalStateClass ? `${globalStatePrefix}-${globalStateClass}` : `${ClassNameGenerator.generate(componentName)}-${slot}`;\n}\nexport function isGlobalState(slot) {\n return globalStateClasses[slot] !== undefined;\n}", "import generateUtilityClass from \"../generateUtilityClass/index.js\";\nexport default function generateUtilityClasses(componentName, slots, globalStatePrefix = 'Mui') {\n const result = {};\n slots.forEach(slot => {\n result[slot] = generateUtilityClass(componentName, slot, globalStatePrefix);\n });\n return result;\n}", "import { internal_serializeStyles } from '@mui/styled-engine';\nexport default function preprocessStyles(input) {\n const {\n variants,\n ...style\n } = input;\n const result = {\n variants,\n style: internal_serializeStyles(style),\n isProcessed: true\n };\n\n // Not supported on styled-components\n if (result.style === style) {\n return result;\n }\n if (variants) {\n variants.forEach(variant => {\n if (typeof variant.style !== 'function') {\n variant.style = internal_serializeStyles(variant.style);\n }\n });\n }\n return result;\n}", "import styledEngineStyled, { internal_mutateStyles as mutateStyles } from '@mui/styled-engine';\nimport { isPlainObject } from '@mui/utils/deepmerge';\nimport capitalize from '@mui/utils/capitalize';\nimport getDisplayName from '@mui/utils/getDisplayName';\nimport createTheme from \"../createTheme/index.js\";\nimport styleFunctionSx from \"../styleFunctionSx/index.js\";\nimport preprocessStyles from \"../preprocessStyles.js\";\n\n/* eslint-disable no-underscore-dangle */\n/* eslint-disable no-labels */\n/* eslint-disable no-lone-blocks */\n\nexport const systemDefaultTheme = createTheme();\n\n// Update /system/styled/#api in case if this changes\nexport function shouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nfunction defaultOverridesResolver(slot) {\n if (!slot) {\n return null;\n }\n return (_props, styles) => styles[slot];\n}\nfunction attachTheme(props, themeId, defaultTheme) {\n props.theme = isObjectEmpty(props.theme) ? defaultTheme : props.theme[themeId] || props.theme;\n}\nfunction processStyle(props, style) {\n /*\n * Style types:\n * - null/undefined\n * - string\n * - CSS style object: { [cssKey]: [cssValue], variants }\n * - Processed style object: { style, variants, isProcessed: true }\n * - Array of any of the above\n */\n\n const resolvedStyle = typeof style === 'function' ? style(props) : style;\n if (Array.isArray(resolvedStyle)) {\n return resolvedStyle.flatMap(subStyle => processStyle(props, subStyle));\n }\n if (Array.isArray(resolvedStyle?.variants)) {\n let rootStyle;\n if (resolvedStyle.isProcessed) {\n rootStyle = resolvedStyle.style;\n } else {\n const {\n variants,\n ...otherStyles\n } = resolvedStyle;\n rootStyle = otherStyles;\n }\n return processStyleVariants(props, resolvedStyle.variants, [rootStyle]);\n }\n if (resolvedStyle?.isProcessed) {\n return resolvedStyle.style;\n }\n return resolvedStyle;\n}\nfunction processStyleVariants(props, variants, results = []) {\n let mergedState; // We might not need it, initialized lazily\n\n variantLoop: for (let i = 0; i < variants.length; i += 1) {\n const variant = variants[i];\n if (typeof variant.props === 'function') {\n mergedState ??= {\n ...props,\n ...props.ownerState,\n ownerState: props.ownerState\n };\n if (!variant.props(mergedState)) {\n continue;\n }\n } else {\n for (const key in variant.props) {\n if (props[key] !== variant.props[key] && props.ownerState?.[key] !== variant.props[key]) {\n continue variantLoop;\n }\n }\n }\n if (typeof variant.style === 'function') {\n mergedState ??= {\n ...props,\n ...props.ownerState,\n ownerState: props.ownerState\n };\n results.push(variant.style(mergedState));\n } else {\n results.push(variant.style);\n }\n }\n return results;\n}\nexport default function createStyled(input = {}) {\n const {\n themeId,\n defaultTheme = systemDefaultTheme,\n rootShouldForwardProp = shouldForwardProp,\n slotShouldForwardProp = shouldForwardProp\n } = input;\n function styleAttachTheme(props) {\n attachTheme(props, themeId, defaultTheme);\n }\n const styled = (tag, inputOptions = {}) => {\n // If `tag` is already a styled component, filter out the `sx` style function\n // to prevent unnecessary styles generated by the composite components.\n mutateStyles(tag, styles => styles.filter(style => style !== styleFunctionSx));\n const {\n name: componentName,\n slot: componentSlot,\n skipVariantsResolver: inputSkipVariantsResolver,\n skipSx: inputSkipSx,\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n overridesResolver = defaultOverridesResolver(lowercaseFirstLetter(componentSlot)),\n ...options\n } = inputOptions;\n\n // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.\n const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver :\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n componentSlot && componentSlot !== 'Root' && componentSlot !== 'root' || false;\n const skipSx = inputSkipSx || false;\n let shouldForwardPropOption = shouldForwardProp;\n\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n if (componentSlot === 'Root' || componentSlot === 'root') {\n shouldForwardPropOption = rootShouldForwardProp;\n } else if (componentSlot) {\n // any other slot specified\n shouldForwardPropOption = slotShouldForwardProp;\n } else if (isStringTag(tag)) {\n // for string (html) tag, preserve the behavior in emotion & styled-components.\n shouldForwardPropOption = undefined;\n }\n const defaultStyledResolver = styledEngineStyled(tag, {\n shouldForwardProp: shouldForwardPropOption,\n label: generateStyledLabel(componentName, componentSlot),\n ...options\n });\n const transformStyle = style => {\n // On the server Emotion doesn't use React.forwardRef for creating components, so the created\n // component stays as a function. This condition makes sure that we do not interpolate functions\n // which are basically components used as a selectors.\n if (typeof style === 'function' && style.__emotion_real !== style) {\n return function styleFunctionProcessor(props) {\n return processStyle(props, style);\n };\n }\n if (isPlainObject(style)) {\n const serialized = preprocessStyles(style);\n if (!serialized.variants) {\n return serialized.style;\n }\n return function styleObjectProcessor(props) {\n return processStyle(props, serialized);\n };\n }\n return style;\n };\n const muiStyledResolver = (...expressionsInput) => {\n const expressionsHead = [];\n const expressionsBody = expressionsInput.map(transformStyle);\n const expressionsTail = [];\n\n // Preprocess `props` to set the scoped theme value.\n // This must run before any other expression.\n expressionsHead.push(styleAttachTheme);\n if (componentName && overridesResolver) {\n expressionsTail.push(function styleThemeOverrides(props) {\n const theme = props.theme;\n const styleOverrides = theme.components?.[componentName]?.styleOverrides;\n if (!styleOverrides) {\n return null;\n }\n const resolvedStyleOverrides = {};\n\n // TODO: v7 remove iteration and use `resolveStyleArg(styleOverrides[slot])` directly\n // eslint-disable-next-line guard-for-in\n for (const slotKey in styleOverrides) {\n resolvedStyleOverrides[slotKey] = processStyle(props, styleOverrides[slotKey]);\n }\n return overridesResolver(props, resolvedStyleOverrides);\n });\n }\n if (componentName && !skipVariantsResolver) {\n expressionsTail.push(function styleThemeVariants(props) {\n const theme = props.theme;\n const themeVariants = theme?.components?.[componentName]?.variants;\n if (!themeVariants) {\n return null;\n }\n return processStyleVariants(props, themeVariants);\n });\n }\n if (!skipSx) {\n expressionsTail.push(styleFunctionSx);\n }\n\n // This function can be called as a tagged template, so the first argument would contain\n // CSS `string[]` values.\n if (Array.isArray(expressionsBody[0])) {\n const inputStrings = expressionsBody.shift();\n\n // We need to add placeholders in the tagged template for the custom functions we have\n // possibly added (attachTheme, overrides, variants, and sx).\n const placeholdersHead = new Array(expressionsHead.length).fill('');\n const placeholdersTail = new Array(expressionsTail.length).fill('');\n let outputStrings;\n // prettier-ignore\n {\n outputStrings = [...placeholdersHead, ...inputStrings, ...placeholdersTail];\n outputStrings.raw = [...placeholdersHead, ...inputStrings.raw, ...placeholdersTail];\n }\n\n // The only case where we put something before `attachTheme`\n expressionsHead.unshift(outputStrings);\n }\n const expressions = [...expressionsHead, ...expressionsBody, ...expressionsTail];\n const Component = defaultStyledResolver(...expressions);\n if (tag.muiName) {\n Component.muiName = tag.muiName;\n }\n if (process.env.NODE_ENV !== 'production') {\n Component.displayName = generateDisplayName(componentName, componentSlot, tag);\n }\n return Component;\n };\n if (defaultStyledResolver.withConfig) {\n muiStyledResolver.withConfig = defaultStyledResolver.withConfig;\n }\n return muiStyledResolver;\n };\n return styled;\n}\nfunction generateDisplayName(componentName, componentSlot, tag) {\n if (componentName) {\n return `${componentName}${capitalize(componentSlot || '')}`;\n }\n return `Styled(${getDisplayName(tag)})`;\n}\nfunction generateStyledLabel(componentName, componentSlot) {\n let label;\n if (process.env.NODE_ENV !== 'production') {\n if (componentName) {\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n label = `${componentName}-${lowercaseFirstLetter(componentSlot || 'Root')}`;\n }\n }\n return label;\n}\nfunction isObjectEmpty(object) {\n // eslint-disable-next-line\n for (const _ in object) {\n return false;\n }\n return true;\n}\n\n// https://github.com/emotion-js/emotion/blob/26ded6109fcd8ca9875cc2ce4564fee678a3f3c5/packages/styled/src/utils.js#L40\nfunction isStringTag(tag) {\n return typeof tag === 'string' &&\n // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96;\n}\nfunction lowercaseFirstLetter(string) {\n if (!string) {\n return string;\n }\n return string.charAt(0).toLowerCase() + string.slice(1);\n}", "import createStyled from \"../createStyled/index.js\";\nconst styled = createStyled();\nexport default styled;", "/**\n * Add keys, values of `defaultProps` that does not exist in `props`\n * @param defaultProps\n * @param props\n * @returns resolved props\n */\nexport default function resolveProps(defaultProps, props) {\n const output = {\n ...props\n };\n for (const key in defaultProps) {\n if (Object.prototype.hasOwnProperty.call(defaultProps, key)) {\n const propName = key;\n if (propName === 'components' || propName === 'slots') {\n output[propName] = {\n ...defaultProps[propName],\n ...output[propName]\n };\n } else if (propName === 'componentsProps' || propName === 'slotProps') {\n const defaultSlotProps = defaultProps[propName];\n const slotProps = props[propName];\n if (!slotProps) {\n output[propName] = defaultSlotProps || {};\n } else if (!defaultSlotProps) {\n output[propName] = slotProps;\n } else {\n output[propName] = {\n ...slotProps\n };\n for (const slotKey in defaultSlotProps) {\n if (Object.prototype.hasOwnProperty.call(defaultSlotProps, slotKey)) {\n const slotPropName = slotKey;\n output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]);\n }\n }\n }\n } else if (output[propName] === undefined) {\n output[propName] = defaultProps[propName];\n }\n }\n }\n return output;\n}", "import resolveProps from '@mui/utils/resolveProps';\nexport default function getThemeProps(params) {\n const {\n theme,\n name,\n props\n } = params;\n if (!theme || !theme.components || !theme.components[name] || !theme.components[name].defaultProps) {\n return props;\n }\n return resolveProps(theme.components[name].defaultProps, props);\n}", "'use client';\n\nimport getThemeProps from \"./getThemeProps.js\";\nimport useTheme from \"../useTheme/index.js\";\nexport default function useThemeProps({\n props,\n name,\n defaultTheme,\n themeId\n}) {\n let theme = useTheme(defaultTheme);\n if (themeId) {\n theme = theme[themeId] || theme;\n }\n return getThemeProps({\n theme,\n name,\n props\n });\n}", "'use client';\n\nimport * as React from 'react';\nimport useEnhancedEffect from '@mui/utils/useEnhancedEffect';\nimport { getThemeProps } from \"../useThemeProps/index.js\";\nimport useTheme from \"../useThemeWithoutDefault/index.js\";\n// TODO React 17: Remove `useMediaQueryOld` once React 17 support is removed\nfunction useMediaQueryOld(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {\n const [match, setMatch] = React.useState(() => {\n if (noSsr && matchMedia) {\n return matchMedia(query).matches;\n }\n if (ssrMatchMedia) {\n return ssrMatchMedia(query).matches;\n }\n\n // Once the component is mounted, we rely on the\n // event listeners to return the correct matches value.\n return defaultMatches;\n });\n useEnhancedEffect(() => {\n if (!matchMedia) {\n return undefined;\n }\n const queryList = matchMedia(query);\n const updateMatch = () => {\n setMatch(queryList.matches);\n };\n updateMatch();\n queryList.addEventListener('change', updateMatch);\n return () => {\n queryList.removeEventListener('change', updateMatch);\n };\n }, [query, matchMedia]);\n return match;\n}\n\n// See https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379 for why\nconst safeReact = {\n ...React\n};\nconst maybeReactUseSyncExternalStore = safeReact.useSyncExternalStore;\nfunction useMediaQueryNew(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {\n const getDefaultSnapshot = React.useCallback(() => defaultMatches, [defaultMatches]);\n const getServerSnapshot = React.useMemo(() => {\n if (noSsr && matchMedia) {\n return () => matchMedia(query).matches;\n }\n if (ssrMatchMedia !== null) {\n const {\n matches\n } = ssrMatchMedia(query);\n return () => matches;\n }\n return getDefaultSnapshot;\n }, [getDefaultSnapshot, query, ssrMatchMedia, noSsr, matchMedia]);\n const [getSnapshot, subscribe] = React.useMemo(() => {\n if (matchMedia === null) {\n return [getDefaultSnapshot, () => () => {}];\n }\n const mediaQueryList = matchMedia(query);\n return [() => mediaQueryList.matches, notify => {\n mediaQueryList.addEventListener('change', notify);\n return () => {\n mediaQueryList.removeEventListener('change', notify);\n };\n }];\n }, [getDefaultSnapshot, matchMedia, query]);\n const match = maybeReactUseSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n return match;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function unstable_createUseMediaQuery(params = {}) {\n const {\n themeId\n } = params;\n return function useMediaQuery(queryInput, options = {}) {\n let theme = useTheme();\n if (theme && themeId) {\n theme = theme[themeId] || theme;\n }\n // Wait for jsdom to support the match media feature.\n // All the browsers MUI support have this built-in.\n // This defensive check is here for simplicity.\n // Most of the time, the match media logic isn't central to people tests.\n const supportMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined';\n const {\n defaultMatches = false,\n matchMedia = supportMatchMedia ? window.matchMedia : null,\n ssrMatchMedia = null,\n noSsr = false\n } = getThemeProps({\n name: 'MuiUseMediaQuery',\n props: options,\n theme\n });\n if (process.env.NODE_ENV !== 'production') {\n if (typeof queryInput === 'function' && theme === null) {\n console.error(['MUI: The `query` argument provided is invalid.', 'You are providing a function without a theme in the context.', 'One of the parent elements needs to use a ThemeProvider.'].join('\\n'));\n }\n }\n let query = typeof queryInput === 'function' ? queryInput(theme) : queryInput;\n query = query.replace(/^@media( ?)/m, '');\n const useMediaQueryImplementation = maybeReactUseSyncExternalStore !== undefined ? useMediaQueryNew : useMediaQueryOld;\n const match = useMediaQueryImplementation(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue({\n query,\n match\n });\n }\n return match;\n };\n}\nconst useMediaQuery = unstable_createUseMediaQuery();\nexport default useMediaQuery;", "'use client';\n\nimport * as React from 'react';\n\n/**\n * A version of `React.useLayoutEffect` that does not show a warning when server-side rendering.\n * This is useful for effects that are only needed for client-side rendering but not for SSR.\n *\n * Before you use this hook, make sure to read https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * and confirm it doesn't apply to your use-case.\n */\nconst useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nexport default useEnhancedEffect;", "function clamp(val, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {\n return Math.max(min, Math.min(val, max));\n}\nexport default clamp;", "import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n/* eslint-disable @typescript-eslint/naming-convention */\nimport clamp from '@mui/utils/clamp';\n\n/**\n * Returns a number whose value is limited to the given range.\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clampWrapper(value, min = 0, max = 1) {\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);\n }\n }\n return clamp(value, min, max);\n}\n\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\nexport function hexToRgb(color) {\n color = color.slice(1);\n const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, 'g');\n let colors = color.match(re);\n if (colors && colors[0].length === 1) {\n colors = colors.map(n => n + n);\n }\n return colors ? `rgb${colors.length === 4 ? 'a' : ''}(${colors.map((n, index) => {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', ')})` : '';\n}\nfunction intToHex(int) {\n const hex = int.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n}\n\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\nexport function decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n const marker = color.indexOf('(');\n const type = color.substring(0, marker);\n if (!['rgb', 'rgba', 'hsl', 'hsla', 'color'].includes(type)) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Unsupported \\`${color}\\` color.\\n` + 'The following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().' : _formatMuiErrorMessage(9, color));\n }\n let values = color.substring(marker + 1, color.length - 1);\n let colorSpace;\n if (type === 'color') {\n values = values.split(' ');\n colorSpace = values.shift();\n if (values.length === 4 && values[3].charAt(0) === '/') {\n values[3] = values[3].slice(1);\n }\n if (!['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].includes(colorSpace)) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: unsupported \\`${colorSpace}\\` color space.\\n` + 'The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.' : _formatMuiErrorMessage(10, colorSpace));\n }\n } else {\n values = values.split(',');\n }\n values = values.map(value => parseFloat(value));\n return {\n type,\n values,\n colorSpace\n };\n}\n\n/**\n * Returns a channel created from the input color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {string} - The channel for the color, that can be used in rgba or hsla colors\n */\nexport const colorChannel = color => {\n const decomposedColor = decomposeColor(color);\n return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.includes('hsl') && idx !== 0 ? `${val}%` : val).join(' ');\n};\nexport const private_safeColorChannel = (color, warning) => {\n try {\n return colorChannel(color);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n};\n\n/**\n * Converts a color object with type and values to a string.\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\nexport function recomposeColor(color) {\n const {\n type,\n colorSpace\n } = color;\n let {\n values\n } = color;\n if (type.includes('rgb')) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n);\n } else if (type.includes('hsl')) {\n values[1] = `${values[1]}%`;\n values[2] = `${values[2]}%`;\n }\n if (type.includes('color')) {\n values = `${colorSpace} ${values.join(' ')}`;\n } else {\n values = `${values.join(', ')}`;\n }\n return `${type}(${values})`;\n}\n\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\nexport function rgbToHex(color) {\n // Idempotent\n if (color.startsWith('#')) {\n return color;\n }\n const {\n values\n } = decomposeColor(color);\n return `#${values.map((n, i) => intToHex(i === 3 ? Math.round(255 * n) : n)).join('')}`;\n}\n\n/**\n * Converts a color from hsl format to rgb format.\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\nexport function hslToRgb(color) {\n color = decomposeColor(color);\n const {\n values\n } = color;\n const h = values[0];\n const s = values[1] / 100;\n const l = values[2] / 100;\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n let type = 'rgb';\n const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n return recomposeColor({\n type,\n values: rgb\n });\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\nexport function getLuminance(color) {\n color = decomposeColor(color);\n let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(val => {\n if (color.type !== 'color') {\n val /= 255; // normalized\n }\n return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4;\n });\n\n // Truncate at 3 digits\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\nexport function getContrastRatio(foreground, background) {\n const lumA = getLuminance(foreground);\n const lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n\n/**\n * Sets the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} value - value to set the alpha channel to in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function alpha(color, value) {\n color = decomposeColor(color);\n value = clampWrapper(value);\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n if (color.type === 'color') {\n color.values[3] = `/${value}`;\n } else {\n color.values[3] = value;\n }\n return recomposeColor(color);\n}\nexport function private_safeAlpha(color, value, warning) {\n try {\n return alpha(color, value);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darkens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.includes('hsl')) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.includes('rgb') || color.type.includes('color')) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeDarken(color, coefficient, warning) {\n try {\n return darken(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Lightens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.includes('hsl')) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.includes('rgb')) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n } else if (color.type.includes('color')) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (1 - color.values[i]) * coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeLighten(color, coefficient, warning) {\n try {\n return lighten(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function emphasize(color, coefficient = 0.15) {\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nexport function private_safeEmphasize(color, coefficient, warning) {\n try {\n return emphasize(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Blend a transparent overlay color with a background color, resulting in a single\n * RGB color.\n * @param {string} background - CSS color\n * @param {string} overlay - CSS color\n * @param {number} opacity - Opacity multiplier in the range 0 - 1\n * @param {number} [gamma=1.0] - Gamma correction factor. For gamma-correct blending, 2.2 is usual.\n */\nexport function blend(background, overlay, opacity, gamma = 1.0) {\n const blendChannel = (b, o) => Math.round((b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma);\n const backgroundColor = decomposeColor(background);\n const overlayColor = decomposeColor(overlay);\n const rgb = [blendChannel(backgroundColor.values[0], overlayColor.values[0]), blendChannel(backgroundColor.values[1], overlayColor.values[1]), blendChannel(backgroundColor.values[2], overlayColor.values[2])];\n return recomposeColor({\n type: 'rgb',\n values: rgb\n });\n}", "/**\n * Safe chained function.\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n */\nexport default function createChainedFunction(...funcs) {\n return funcs.reduce((acc, func) => {\n if (func == null) {\n return acc;\n }\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n }, () => {});\n}", "// Corresponds to 10 frames at 60 Hz.\n// A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B.\nexport default function debounce(func, wait = 166) {\n let timeout;\n function debounced(...args) {\n const later = () => {\n // @ts-ignore\n func.apply(this, args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n }\n debounced.clear = () => {\n clearTimeout(timeout);\n };\n return debounced;\n}", "import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(\n // For server components `muiName` is avaialble in element.type._payload.value.muiName\n // relevant info - https://github.com/facebook/react/blob/2807d781a08db8e9873687fccc25c0f12b4fb3d4/packages/react/src/ReactLazy.js#L45\n // eslint-disable-next-line no-underscore-dangle\n element.type.muiName ?? element.type?._payload?.value?.muiName) !== -1;\n}", "export default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}", "import ownerDocument from \"../ownerDocument/index.js\";\nexport default function ownerWindow(node) {\n const doc = ownerDocument(node);\n return doc.defaultView || window;\n}", "/**\n * TODO v5: consider making it private\n *\n * passes {value} to {ref}\n *\n * WARNING: Be sure to only call this inside a callback that is passed as a ref.\n * Otherwise, make sure to cleanup the previous {ref} if it changes. See\n * https://github.com/mui/material-ui/issues/13539\n *\n * Useful if you want to expose the ref of an inner component to the public API\n * while still using it inside the component.\n * @param ref A ref callback or ref object. If anything falsy, this is a no-op.\n */\nexport default function setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}", "'use client';\n\nimport * as React from 'react';\nlet globalId = 0;\n\n// TODO React 17: Remove `useGlobalId` once React 17 support is removed\nfunction useGlobalId(idOverride) {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`mui-${globalId}`);\n }\n }, [defaultId]);\n return id;\n}\n\n// See https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379 for why\nconst safeReact = {\n ...React\n};\nconst maybeReactUseId = safeReact.useId;\n\n/**\n *\n * @example
\n * @param idOverride\n * @returns {string}\n */\nexport default function useId(idOverride) {\n // React.useId() is only available from React 17.0.0.\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride ?? reactId;\n }\n\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.\n return useGlobalId(idOverride);\n}", "'use client';\n\n// TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler -- process.env never changes, dependency arrays are intentionally ignored\n/* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */\nimport * as React from 'react';\nexport default function useControlled({\n controlled,\n default: defaultProp,\n name,\n state = 'value'\n}) {\n // isControlled is ignored in the hook dependency lists as it should never change.\n const {\n current: isControlled\n } = React.useRef(controlled !== undefined);\n const [valueState, setValue] = React.useState(defaultProp);\n const value = isControlled ? controlled : valueState;\n if (process.env.NODE_ENV !== 'production') {\n React.useEffect(() => {\n if (isControlled !== (controlled !== undefined)) {\n console.error([`MUI: A component is changing the ${isControlled ? '' : 'un'}controlled ${state} state of ${name} to be ${isControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled ${name} ` + 'element for the lifetime of the component.', \"The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.\", 'More info: https://fb.me/react-controlled-components'].join('\\n'));\n }\n }, [state, name, controlled]);\n const {\n current: defaultValue\n } = React.useRef(defaultProp);\n React.useEffect(() => {\n // Object.is() is not equivalent to the === operator.\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is for more details.\n if (!isControlled && !Object.is(defaultValue, defaultProp)) {\n console.error([`MUI: A component is changing the default ${state} state of an uncontrolled ${name} after being initialized. ` + `To suppress this warning opt to use a controlled ${name}.`].join('\\n'));\n }\n }, [JSON.stringify(defaultProp)]);\n }\n const setValueIfUncontrolled = React.useCallback(newValue => {\n if (!isControlled) {\n setValue(newValue);\n }\n }, []);\n return [value, setValueIfUncontrolled];\n}", "'use client';\n\nimport * as React from 'react';\nimport useEnhancedEffect from \"../useEnhancedEffect/index.js\";\n\n/**\n * Inspired by https://github.com/facebook/react/issues/14099#issuecomment-440013892\n * See RFC in https://github.com/reactjs/rfcs/pull/220\n */\n\nfunction useEventCallback(fn) {\n const ref = React.useRef(fn);\n useEnhancedEffect(() => {\n ref.current = fn;\n });\n return React.useRef((...args) =>\n // @ts-expect-error hide `this`\n (0, ref.current)(...args)).current;\n}\nexport default useEventCallback;", "'use client';\n\nimport * as React from 'react';\nimport setRef from \"../setRef/index.js\";\n\n/**\n * Takes an array of refs and returns a new ref which will apply any modification to all of the refs.\n * This is useful when you want to have the ref used in multiple places.\n *\n * ```tsx\n * const rootRef = React.useRef(null);\n * const refFork = useForkRef(rootRef, props.ref);\n *\n * return (\n * \n * );\n * ```\n *\n * @param {Array | undefined>} refs The ref array.\n * @returns {React.RefCallback | null} The new ref callback.\n */\nexport default function useForkRef(...refs) {\n /**\n * This will create a new function if the refs passed to this hook change and are all defined.\n * This means react will call the old forkRef with `null` and the new forkRef\n * with the ref. Cleanup naturally emerges from this behavior.\n */\n return React.useMemo(() => {\n if (refs.every(ref => ref == null)) {\n return null;\n }\n return instance => {\n refs.forEach(ref => {\n setRef(ref, instance);\n });\n };\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler -- intentionally ignoring that the dependency array must be an array literal\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}", "'use client';\n\nimport * as React from 'react';\nconst UNINITIALIZED = {};\n\n/**\n * A React.useRef() that is initialized lazily with a function. Note that it accepts an optional\n * initialization argument, so the initialization function doesn't need to be an inline closure.\n *\n * @usage\n * const ref = useLazyRef(sortColumns, columns)\n */\nexport default function useLazyRef(init, initArg) {\n const ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = init(initArg);\n }\n return ref;\n}", "'use client';\n\nimport * as React from 'react';\nconst EMPTY = [];\n\n/**\n * A React.useEffect equivalent that runs once, when the component is mounted.\n */\nexport default function useOnMount(fn) {\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler -- no need to put `fn` in the dependency array\n /* eslint-disable react-hooks/exhaustive-deps */\n React.useEffect(fn, EMPTY);\n /* eslint-enable react-hooks/exhaustive-deps */\n}", "'use client';\n\nimport useLazyRef from \"../useLazyRef/useLazyRef.js\";\nimport useOnMount from \"../useOnMount/useOnMount.js\";\nexport class Timeout {\n static create() {\n return new Timeout();\n }\n currentId = null;\n\n /**\n * Executes `fn` after `delay`, clearing any previously scheduled call.\n */\n start(delay, fn) {\n this.clear();\n this.currentId = setTimeout(() => {\n this.currentId = null;\n fn();\n }, delay);\n }\n clear = () => {\n if (this.currentId !== null) {\n clearTimeout(this.currentId);\n this.currentId = null;\n }\n };\n disposeEffect = () => {\n return this.clear;\n };\n}\nexport default function useTimeout() {\n const timeout = useLazyRef(Timeout.create).current;\n useOnMount(timeout.disposeEffect);\n return timeout;\n}", "/**\n * Returns a boolean indicating if the event's target has :focus-visible\n */\nexport default function isFocusVisible(element) {\n try {\n return element.matches(':focus-visible');\n } catch (error) {\n // Do not warn on jsdom tests, otherwise all tests that rely on focus have to be skipped\n // Tests that rely on `:focus-visible` will still have to be skipped in jsdom\n if (process.env.NODE_ENV !== 'production' && !/jsdom/.test(window.navigator.userAgent)) {\n console.warn(['MUI: The `:focus-visible` pseudo class is not supported in this browser.', 'Some components rely on this feature to work properly.'].join('\\n'));\n }\n }\n return false;\n}", "// A change of the browser zoom change the scrollbar size.\n// Credit https://github.com/twbs/bootstrap/blob/488fd8afc535ca3a6ad4dc581f5e89217b6a36ac/js/src/util/scrollbar.js#L14-L18\nexport default function getScrollbarSize(win = window) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = win.document.documentElement.clientWidth;\n return win.innerWidth - documentWidth;\n}", "'use client';\n\nimport * as React from 'react';\nconst usePreviousProps = value => {\n const ref = React.useRef({});\n React.useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\nexport default usePreviousProps;", "/* eslint no-restricted-syntax: 0, prefer-template: 0, guard-for-in: 0\n ---\n These rules are preventing the performance optimizations below.\n */\n\nexport default function composeClasses(slots, getUtilityClass, classes = undefined) {\n const output = {};\n for (const slotName in slots) {\n const slot = slots[slotName];\n let buffer = '';\n let start = true;\n for (let i = 0; i < slot.length; i += 1) {\n const value = slot[i];\n if (value) {\n buffer += (start === true ? '' : ' ') + getUtilityClass(value);\n start = false;\n if (classes && classes[value]) {\n buffer += ' ' + classes[value];\n }\n }\n }\n output[slotName] = buffer;\n }\n return output;\n}", "/**\n * Determines if a given element is a DOM element name (i.e. not a React component).\n */\nfunction isHostComponent(element) {\n return typeof element === 'string';\n}\nexport default isHostComponent;", "import isHostComponent from \"../isHostComponent/index.js\";\n\n/**\n * Type of the ownerState based on the type of an element it applies to.\n * This resolves to the provided OwnerState for React components and `undefined` for host components.\n * Falls back to `OwnerState | undefined` when the exact type can't be determined in development time.\n */\n\n/**\n * Appends the ownerState object to the props, merging with the existing one if necessary.\n *\n * @param elementType Type of the element that owns the `existingProps`. If the element is a DOM node or undefined, `ownerState` is not applied.\n * @param otherProps Props of the element.\n * @param ownerState\n */\nfunction appendOwnerState(elementType, otherProps, ownerState) {\n if (elementType === undefined || isHostComponent(elementType)) {\n return otherProps;\n }\n return {\n ...otherProps,\n ownerState: {\n ...otherProps.ownerState,\n ...ownerState\n }\n };\n}\nexport default appendOwnerState;", "/**\n * Extracts event handlers from a given object.\n * A prop is considered an event handler if it is a function and its name starts with `on`.\n *\n * @param object An object to extract event handlers from.\n * @param excludeKeys An array of keys to exclude from the returned object.\n */\nfunction extractEventHandlers(object, excludeKeys = []) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => prop.match(/^on[A-Z]/) && typeof object[prop] === 'function' && !excludeKeys.includes(prop)).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}\nexport default extractEventHandlers;", "/**\n * Removes event handlers from the given object.\n * A field is considered an event handler if it is a function with a name beginning with `on`.\n *\n * @param object Object to remove event handlers from.\n * @returns Object with event handlers removed.\n */\nfunction omitEventHandlers(object) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => !(prop.match(/^on[A-Z]/) && typeof object[prop] === 'function')).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}\nexport default omitEventHandlers;", "import clsx from 'clsx';\nimport extractEventHandlers from \"../extractEventHandlers/index.js\";\nimport omitEventHandlers from \"../omitEventHandlers/index.js\";\n/**\n * Merges the slot component internal props (usually coming from a hook)\n * with the externally provided ones.\n *\n * The merge order is (the latter overrides the former):\n * 1. The internal props (specified as a getter function to work with get*Props hook result)\n * 2. Additional props (specified internally on a Base UI component)\n * 3. External props specified on the owner component. These should only be used on a root slot.\n * 4. External props specified in the `slotProps.*` prop.\n * 5. The `className` prop - combined from all the above.\n * @param parameters\n * @returns\n */\nfunction mergeSlotProps(parameters) {\n const {\n getSlotProps,\n additionalProps,\n externalSlotProps,\n externalForwardedProps,\n className\n } = parameters;\n if (!getSlotProps) {\n // The simpler case - getSlotProps is not defined, so no internal event handlers are defined,\n // so we can simply merge all the props without having to worry about extracting event handlers.\n const joinedClasses = clsx(additionalProps?.className, className, externalForwardedProps?.className, externalSlotProps?.className);\n const mergedStyle = {\n ...additionalProps?.style,\n ...externalForwardedProps?.style,\n ...externalSlotProps?.style\n };\n const props = {\n ...additionalProps,\n ...externalForwardedProps,\n ...externalSlotProps\n };\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: undefined\n };\n }\n\n // In this case, getSlotProps is responsible for calling the external event handlers.\n // We don't need to include them in the merged props because of this.\n\n const eventHandlers = extractEventHandlers({\n ...externalForwardedProps,\n ...externalSlotProps\n });\n const componentsPropsWithoutEventHandlers = omitEventHandlers(externalSlotProps);\n const otherPropsWithoutEventHandlers = omitEventHandlers(externalForwardedProps);\n const internalSlotProps = getSlotProps(eventHandlers);\n\n // The order of classes is important here.\n // Emotion (that we use in libraries consuming Base UI) depends on this order\n // to properly override style. It requires the most important classes to be last\n // (see https://github.com/mui/material-ui/pull/33205) for the related discussion.\n const joinedClasses = clsx(internalSlotProps?.className, additionalProps?.className, className, externalForwardedProps?.className, externalSlotProps?.className);\n const mergedStyle = {\n ...internalSlotProps?.style,\n ...additionalProps?.style,\n ...externalForwardedProps?.style,\n ...externalSlotProps?.style\n };\n const props = {\n ...internalSlotProps,\n ...additionalProps,\n ...otherPropsWithoutEventHandlers,\n ...componentsPropsWithoutEventHandlers\n };\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: internalSlotProps.ref\n };\n}\nexport default mergeSlotProps;", "/**\n * If `componentProps` is a function, calls it with the provided `ownerState`.\n * Otherwise, just returns `componentProps`.\n */\nfunction resolveComponentProps(componentProps, ownerState, slotState) {\n if (typeof componentProps === 'function') {\n return componentProps(ownerState, slotState);\n }\n return componentProps;\n}\nexport default resolveComponentProps;", "'use client';\n\nimport useForkRef from \"../useForkRef/index.js\";\nimport appendOwnerState from \"../appendOwnerState/index.js\";\nimport mergeSlotProps from \"../mergeSlotProps/index.js\";\nimport resolveComponentProps from \"../resolveComponentProps/index.js\";\n/**\n * @ignore - do not document.\n * Builds the props to be passed into the slot of an unstyled component.\n * It merges the internal props of the component with the ones supplied by the user, allowing to customize the behavior.\n * If the slot component is not a host component, it also merges in the `ownerState`.\n *\n * @param parameters.getSlotProps - A function that returns the props to be passed to the slot component.\n */\nfunction useSlotProps(parameters) {\n const {\n elementType,\n externalSlotProps,\n ownerState,\n skipResolvingSlotProps = false,\n ...other\n } = parameters;\n const resolvedComponentsProps = skipResolvingSlotProps ? {} : resolveComponentProps(externalSlotProps, ownerState);\n const {\n props: mergedProps,\n internalRef\n } = mergeSlotProps({\n ...other,\n externalSlotProps: resolvedComponentsProps\n });\n const ref = useForkRef(internalRef, resolvedComponentsProps?.ref, parameters.additionalProps?.ref);\n const props = appendOwnerState(elementType, {\n ...mergedProps,\n ref\n }, ownerState);\n return props;\n}\nexport default useSlotProps;", "import * as React from 'react';\n\n/**\n * Returns the ref of a React element handling differences between React 19 and older versions.\n * It will throw runtime error if the element is not a valid React element.\n *\n * @param element React.ReactElement\n * @returns React.Ref | null\n */\nexport default function getReactElementRef(element) {\n // 'ref' is passed as prop in React 19, whereas 'ref' is directly attached to children in older versions\n if (parseInt(React.version, 10) >= 19) {\n return element?.props?.ref || null;\n }\n // @ts-expect-error element.ref is not included in the ReactElement type\n // https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/70189\n return element?.ref || null;\n}", "import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst RtlContext = /*#__PURE__*/React.createContext();\nfunction RtlProvider({\n value,\n ...props\n}) {\n return /*#__PURE__*/_jsx(RtlContext.Provider, {\n value: value ?? true,\n ...props\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? RtlProvider.propTypes = {\n children: PropTypes.node,\n value: PropTypes.bool\n} : void 0;\nexport const useRtl = () => {\n const value = React.useContext(RtlContext);\n return value ?? false;\n};\nexport default RtlProvider;", "'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport resolveProps from '@mui/utils/resolveProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PropsContext = /*#__PURE__*/React.createContext(undefined);\nfunction DefaultPropsProvider({\n value,\n children\n}) {\n return /*#__PURE__*/_jsx(PropsContext.Provider, {\n value: value,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? DefaultPropsProvider.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the TypeScript types and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n value: PropTypes.object\n} : void 0;\nfunction getThemeProps(params) {\n const {\n theme,\n name,\n props\n } = params;\n if (!theme || !theme.components || !theme.components[name]) {\n return props;\n }\n const config = theme.components[name];\n if (config.defaultProps) {\n // compatible with v5 signature\n return resolveProps(config.defaultProps, props);\n }\n if (!config.styleOverrides && !config.variants) {\n // v6 signature, no property 'defaultProps'\n return resolveProps(config, props);\n }\n return props;\n}\nexport function useDefaultProps({\n props,\n name\n}) {\n const ctx = React.useContext(PropsContext);\n return getThemeProps({\n props,\n name,\n theme: {\n components: ctx\n }\n });\n}\nexport default DefaultPropsProvider;", "import preprocessStyles from \"./preprocessStyles.js\";\n\n/* eslint-disable @typescript-eslint/naming-convention */\n\n// We need to pass an argument as `{ theme }` for PigmentCSS, but we don't want to\n// allocate more objects.\nconst arg = {\n theme: undefined\n};\n\n/**\n * Memoize style function on theme.\n * Intended to be used in styled() calls that only need access to the theme.\n */\nexport default function unstable_memoTheme(styleFn) {\n let lastValue;\n let lastTheme;\n return function styleMemoized(props) {\n let value = lastValue;\n if (value === undefined || props.theme !== lastTheme) {\n arg.theme = props.theme;\n value = preprocessStyles(styleFn(arg));\n lastValue = value;\n lastTheme = props.theme;\n }\n return value;\n };\n}", "/**\n * The benefit of this function is to help developers get CSS var from theme without specifying the whole variable\n * and they does not need to remember the prefix (defined once).\n */\nexport default function createGetCssVar(prefix = '') {\n function appendVar(...vars) {\n if (!vars.length) {\n return '';\n }\n const value = vars[0];\n if (typeof value === 'string' && !value.match(/(#|\\(|\\)|(-?(\\d*\\.)?\\d+)(px|em|%|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc))|^(-?(\\d*\\.)?\\d+)$|(\\d+ \\d+ \\d+)/)) {\n return `, var(--${prefix ? `${prefix}-` : ''}${value}${appendVar(...vars.slice(1))})`;\n }\n return `, ${value}`;\n }\n\n // AdditionalVars makes `getCssVar` less strict, so it can be use like this `getCssVar('non-mui-variable')` without type error.\n const getCssVar = (field, ...fallbacks) => {\n return `var(--${prefix ? `${prefix}-` : ''}${field}${appendVar(...fallbacks)})`;\n };\n return getCssVar;\n}", "/**\n * This function create an object from keys, value and then assign to target\n *\n * @param {Object} obj : the target object to be assigned\n * @param {string[]} keys\n * @param {string | number} value\n *\n * @example\n * const source = {}\n * assignNestedKeys(source, ['palette', 'primary'], 'var(--palette-primary)')\n * console.log(source) // { palette: { primary: 'var(--palette-primary)' } }\n *\n * @example\n * const source = { palette: { primary: 'var(--palette-primary)' } }\n * assignNestedKeys(source, ['palette', 'secondary'], 'var(--palette-secondary)')\n * console.log(source) // { palette: { primary: 'var(--palette-primary)', secondary: 'var(--palette-secondary)' } }\n */\nexport const assignNestedKeys = (obj, keys, value, arrayKeys = []) => {\n let temp = obj;\n keys.forEach((k, index) => {\n if (index === keys.length - 1) {\n if (Array.isArray(temp)) {\n temp[Number(k)] = value;\n } else if (temp && typeof temp === 'object') {\n temp[k] = value;\n }\n } else if (temp && typeof temp === 'object') {\n if (!temp[k]) {\n temp[k] = arrayKeys.includes(k) ? [] : {};\n }\n temp = temp[k];\n }\n });\n};\n\n/**\n *\n * @param {Object} obj : source object\n * @param {Function} callback : a function that will be called when\n * - the deepest key in source object is reached\n * - the value of the deepest key is NOT `undefined` | `null`\n *\n * @example\n * walkObjectDeep({ palette: { primary: { main: '#000000' } } }, console.log)\n * // ['palette', 'primary', 'main'] '#000000'\n */\nexport const walkObjectDeep = (obj, callback, shouldSkipPaths) => {\n function recurse(object, parentKeys = [], arrayKeys = []) {\n Object.entries(object).forEach(([key, value]) => {\n if (!shouldSkipPaths || shouldSkipPaths && !shouldSkipPaths([...parentKeys, key])) {\n if (value !== undefined && value !== null) {\n if (typeof value === 'object' && Object.keys(value).length > 0) {\n recurse(value, [...parentKeys, key], Array.isArray(value) ? [...arrayKeys, key] : arrayKeys);\n } else {\n callback([...parentKeys, key], value, arrayKeys);\n }\n }\n }\n });\n }\n recurse(obj);\n};\nconst getCssValue = (keys, value) => {\n if (typeof value === 'number') {\n if (['lineHeight', 'fontWeight', 'opacity', 'zIndex'].some(prop => keys.includes(prop))) {\n // CSS property that are unitless\n return value;\n }\n const lastKey = keys[keys.length - 1];\n if (lastKey.toLowerCase().includes('opacity')) {\n // opacity values are unitless\n return value;\n }\n return `${value}px`;\n }\n return value;\n};\n\n/**\n * a function that parse theme and return { css, vars }\n *\n * @param {Object} theme\n * @param {{\n * prefix?: string,\n * shouldSkipGeneratingVar?: (objectPathKeys: Array, value: string | number) => boolean\n * }} options.\n * `prefix`: The prefix of the generated CSS variables. This function does not change the value.\n *\n * @returns {{ css: Object, vars: Object }} `css` is the stylesheet, `vars` is an object to get css variable (same structure as theme).\n *\n * @example\n * const { css, vars } = parser({\n * fontSize: 12,\n * lineHeight: 1.2,\n * palette: { primary: { 500: 'var(--color)' } }\n * }, { prefix: 'foo' })\n *\n * console.log(css) // { '--foo-fontSize': '12px', '--foo-lineHeight': 1.2, '--foo-palette-primary-500': 'var(--color)' }\n * console.log(vars) // { fontSize: 'var(--foo-fontSize)', lineHeight: 'var(--foo-lineHeight)', palette: { primary: { 500: 'var(--foo-palette-primary-500)' } } }\n */\nexport default function cssVarsParser(theme, options) {\n const {\n prefix,\n shouldSkipGeneratingVar\n } = options || {};\n const css = {};\n const vars = {};\n const varsWithDefaults = {};\n walkObjectDeep(theme, (keys, value, arrayKeys) => {\n if (typeof value === 'string' || typeof value === 'number') {\n if (!shouldSkipGeneratingVar || !shouldSkipGeneratingVar(keys, value)) {\n // only create css & var if `shouldSkipGeneratingVar` return false\n const cssVar = `--${prefix ? `${prefix}-` : ''}${keys.join('-')}`;\n const resolvedValue = getCssValue(keys, value);\n Object.assign(css, {\n [cssVar]: resolvedValue\n });\n assignNestedKeys(vars, keys, `var(${cssVar})`, arrayKeys);\n assignNestedKeys(varsWithDefaults, keys, `var(${cssVar}, ${resolvedValue})`, arrayKeys);\n }\n }\n }, keys => keys[0] === 'vars' // skip 'vars/*' paths\n );\n return {\n css,\n vars,\n varsWithDefaults\n };\n}", "import deepmerge from '@mui/utils/deepmerge';\nimport cssVarsParser from \"./cssVarsParser.js\";\nfunction prepareCssVars(theme, parserConfig = {}) {\n const {\n getSelector = defaultGetSelector,\n disableCssColorScheme,\n colorSchemeSelector: selector\n } = parserConfig;\n // @ts-ignore - ignore components do not exist\n const {\n colorSchemes = {},\n components,\n defaultColorScheme = 'light',\n ...otherTheme\n } = theme;\n const {\n vars: rootVars,\n css: rootCss,\n varsWithDefaults: rootVarsWithDefaults\n } = cssVarsParser(otherTheme, parserConfig);\n let themeVars = rootVarsWithDefaults;\n const colorSchemesMap = {};\n const {\n [defaultColorScheme]: defaultScheme,\n ...otherColorSchemes\n } = colorSchemes;\n Object.entries(otherColorSchemes || {}).forEach(([key, scheme]) => {\n const {\n vars,\n css,\n varsWithDefaults\n } = cssVarsParser(scheme, parserConfig);\n themeVars = deepmerge(themeVars, varsWithDefaults);\n colorSchemesMap[key] = {\n css,\n vars\n };\n });\n if (defaultScheme) {\n // default color scheme vars should be merged last to set as default\n const {\n css,\n vars,\n varsWithDefaults\n } = cssVarsParser(defaultScheme, parserConfig);\n themeVars = deepmerge(themeVars, varsWithDefaults);\n colorSchemesMap[defaultColorScheme] = {\n css,\n vars\n };\n }\n function defaultGetSelector(colorScheme, cssObject) {\n let rule = selector;\n if (selector === 'class') {\n rule = '.%s';\n }\n if (selector === 'data') {\n rule = '[data-%s]';\n }\n if (selector?.startsWith('data-') && !selector.includes('%s')) {\n // 'data-joy-color-scheme' -> '[data-joy-color-scheme=\"%s\"]'\n rule = `[${selector}=\"%s\"]`;\n }\n if (colorScheme) {\n if (rule === 'media') {\n if (theme.defaultColorScheme === colorScheme) {\n return ':root';\n }\n const mode = colorSchemes[colorScheme]?.palette?.mode || colorScheme;\n return {\n [`@media (prefers-color-scheme: ${mode})`]: {\n ':root': cssObject\n }\n };\n }\n if (rule) {\n if (theme.defaultColorScheme === colorScheme) {\n return `:root, ${rule.replace('%s', String(colorScheme))}`;\n }\n return rule.replace('%s', String(colorScheme));\n }\n }\n return ':root';\n }\n const generateThemeVars = () => {\n let vars = {\n ...rootVars\n };\n Object.entries(colorSchemesMap).forEach(([, {\n vars: schemeVars\n }]) => {\n vars = deepmerge(vars, schemeVars);\n });\n return vars;\n };\n const generateStyleSheets = () => {\n const stylesheets = [];\n const colorScheme = theme.defaultColorScheme || 'light';\n function insertStyleSheet(key, css) {\n if (Object.keys(css).length) {\n stylesheets.push(typeof key === 'string' ? {\n [key]: {\n ...css\n }\n } : key);\n }\n }\n insertStyleSheet(getSelector(undefined, {\n ...rootCss\n }), rootCss);\n const {\n [colorScheme]: defaultSchemeVal,\n ...other\n } = colorSchemesMap;\n if (defaultSchemeVal) {\n // default color scheme has to come before other color schemes\n const {\n css\n } = defaultSchemeVal;\n const cssColorSheme = colorSchemes[colorScheme]?.palette?.mode;\n const finalCss = !disableCssColorScheme && cssColorSheme ? {\n colorScheme: cssColorSheme,\n ...css\n } : {\n ...css\n };\n insertStyleSheet(getSelector(colorScheme, {\n ...finalCss\n }), finalCss);\n }\n Object.entries(other).forEach(([key, {\n css\n }]) => {\n const cssColorSheme = colorSchemes[key]?.palette?.mode;\n const finalCss = !disableCssColorScheme && cssColorSheme ? {\n colorScheme: cssColorSheme,\n ...css\n } : {\n ...css\n };\n insertStyleSheet(getSelector(key, {\n ...finalCss\n }), finalCss);\n });\n return stylesheets;\n };\n return {\n vars: themeVars,\n generateThemeVars,\n generateStyleSheets\n };\n}\nexport default prepareCssVars;", "/* eslint-disable import/prefer-default-export */\nexport function createGetColorSchemeSelector(selector) {\n return function getColorSchemeSelector(colorScheme) {\n if (selector === 'media') {\n if (process.env.NODE_ENV !== 'production') {\n if (colorScheme !== 'light' && colorScheme !== 'dark') {\n console.error(`MUI: @media (prefers-color-scheme) supports only 'light' or 'dark', but receive '${colorScheme}'.`);\n }\n }\n return `@media (prefers-color-scheme: ${colorScheme})`;\n }\n if (selector) {\n if (selector.startsWith('data-') && !selector.includes('%s')) {\n return `[${selector}=\"${colorScheme}\"] &`;\n }\n if (selector === 'class') {\n return `.${colorScheme} &`;\n }\n if (selector === 'data') {\n return `[data-${colorScheme}] &`;\n }\n return `${selector.replace('%s', colorScheme)} &`;\n }\n return '&';\n };\n}", "import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport isMuiElement from '@mui/utils/isMuiElement';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport composeClasses from '@mui/utils/composeClasses';\nimport systemStyled from \"../styled/index.js\";\nimport useThemePropsSystem from \"../useThemeProps/index.js\";\nimport useTheme from \"../useTheme/index.js\";\nimport { extendSxProp } from \"../styleFunctionSx/index.js\";\nimport createTheme from \"../createTheme/index.js\";\nimport { generateGridStyles, generateGridSizeStyles, generateGridColumnsStyles, generateGridColumnSpacingStyles, generateGridRowSpacingStyles, generateGridDirectionStyles, generateGridOffsetStyles, generateSizeClassNames, generateSpacingClassNames, generateDirectionClasses } from \"./gridGenerator.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultTheme = createTheme();\n\n// widening Theme to any so that the consumer can own the theme structure.\nconst defaultCreateStyledComponent = systemStyled('div', {\n name: 'MuiGrid',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n});\nfunction useThemePropsDefault(props) {\n return useThemePropsSystem({\n props,\n name: 'MuiGrid',\n defaultTheme\n });\n}\nexport default function createGrid(options = {}) {\n const {\n // This will allow adding custom styled fn (for example for custom sx style function)\n createStyledComponent = defaultCreateStyledComponent,\n useThemeProps = useThemePropsDefault,\n componentName = 'MuiGrid'\n } = options;\n const useUtilityClasses = (ownerState, theme) => {\n const {\n container,\n direction,\n spacing,\n wrap,\n size\n } = ownerState;\n const slots = {\n root: ['root', container && 'container', wrap !== 'wrap' && `wrap-xs-${String(wrap)}`, ...generateDirectionClasses(direction), ...generateSizeClassNames(size), ...(container ? generateSpacingClassNames(spacing, theme.breakpoints.keys[0]) : [])]\n };\n return composeClasses(slots, slot => generateUtilityClass(componentName, slot), {});\n };\n function parseResponsiveProp(propValue, breakpoints, shouldUseValue = () => true) {\n const parsedProp = {};\n if (propValue === null) {\n return parsedProp;\n }\n if (Array.isArray(propValue)) {\n propValue.forEach((value, index) => {\n if (value !== null && shouldUseValue(value) && breakpoints.keys[index]) {\n parsedProp[breakpoints.keys[index]] = value;\n }\n });\n } else if (typeof propValue === 'object') {\n Object.keys(propValue).forEach(key => {\n const value = propValue[key];\n if (value !== null && value !== undefined && shouldUseValue(value)) {\n parsedProp[key] = value;\n }\n });\n } else {\n parsedProp[breakpoints.keys[0]] = propValue;\n }\n return parsedProp;\n }\n const GridRoot = createStyledComponent(generateGridColumnsStyles, generateGridColumnSpacingStyles, generateGridRowSpacingStyles, generateGridSizeStyles, generateGridDirectionStyles, generateGridStyles, generateGridOffsetStyles);\n const Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {\n const theme = useTheme();\n const themeProps = useThemeProps(inProps);\n const props = extendSxProp(themeProps); // `color` type conflicts with html color attribute.\n const {\n className,\n children,\n columns: columnsProp = 12,\n container = false,\n component = 'div',\n direction = 'row',\n wrap = 'wrap',\n size: sizeProp = {},\n offset: offsetProp = {},\n spacing: spacingProp = 0,\n rowSpacing: rowSpacingProp = spacingProp,\n columnSpacing: columnSpacingProp = spacingProp,\n unstable_level: level = 0,\n ...other\n } = props;\n const size = parseResponsiveProp(sizeProp, theme.breakpoints, val => val !== false);\n const offset = parseResponsiveProp(offsetProp, theme.breakpoints);\n const columns = inProps.columns ?? (level ? undefined : columnsProp);\n const spacing = inProps.spacing ?? (level ? undefined : spacingProp);\n const rowSpacing = inProps.rowSpacing ?? inProps.spacing ?? (level ? undefined : rowSpacingProp);\n const columnSpacing = inProps.columnSpacing ?? inProps.spacing ?? (level ? undefined : columnSpacingProp);\n const ownerState = {\n ...props,\n level,\n columns,\n container,\n direction,\n wrap,\n spacing,\n rowSpacing,\n columnSpacing,\n size,\n offset\n };\n const classes = useUtilityClasses(ownerState, theme);\n return /*#__PURE__*/_jsx(GridRoot, {\n ref: ref,\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ...other,\n children: React.Children.map(children, child => {\n if (/*#__PURE__*/React.isValidElement(child) && isMuiElement(child, ['Grid']) && container && child.props.container) {\n return /*#__PURE__*/React.cloneElement(child, {\n unstable_level: child.props?.unstable_level ?? level + 1\n });\n }\n return child;\n })\n });\n });\n process.env.NODE_ENV !== \"production\" ? Grid.propTypes /* remove-proptypes */ = {\n children: PropTypes.node,\n className: PropTypes.string,\n columns: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.object]),\n columnSpacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n component: PropTypes.elementType,\n container: PropTypes.bool,\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n offset: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])), PropTypes.object]),\n rowSpacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.bool, PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.bool, PropTypes.number])), PropTypes.object]),\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n wrap: PropTypes.oneOf(['nowrap', 'wrap-reverse', 'wrap'])\n } : void 0;\n\n // @ts-ignore internal logic for nested grid\n Grid.muiName = 'Grid';\n return Grid;\n}", "export const filterBreakpointKeys = (breakpointsKeys, responsiveKeys) => breakpointsKeys.filter(key => responsiveKeys.includes(key));\nexport const traverseBreakpoints = (breakpoints, responsive, iterator) => {\n const smallestBreakpoint = breakpoints.keys[0]; // the keys is sorted from smallest to largest by `createBreakpoints`.\n\n if (Array.isArray(responsive)) {\n responsive.forEach((breakpointValue, index) => {\n iterator((responsiveStyles, style) => {\n if (index <= breakpoints.keys.length - 1) {\n if (index === 0) {\n Object.assign(responsiveStyles, style);\n } else {\n responsiveStyles[breakpoints.up(breakpoints.keys[index])] = style;\n }\n }\n }, breakpointValue);\n });\n } else if (responsive && typeof responsive === 'object') {\n // prevent null\n // responsive could be a very big object, pick the smallest responsive values\n\n const keys = Object.keys(responsive).length > breakpoints.keys.length ? breakpoints.keys : filterBreakpointKeys(breakpoints.keys, Object.keys(responsive));\n keys.forEach(key => {\n if (breakpoints.keys.includes(key)) {\n // @ts-ignore already checked that responsive is an object\n const breakpointValue = responsive[key];\n if (breakpointValue !== undefined) {\n iterator((responsiveStyles, style) => {\n if (smallestBreakpoint === key) {\n Object.assign(responsiveStyles, style);\n } else {\n responsiveStyles[breakpoints.up(key)] = style;\n }\n }, breakpointValue);\n }\n }\n });\n } else if (typeof responsive === 'number' || typeof responsive === 'string') {\n iterator((responsiveStyles, style) => {\n Object.assign(responsiveStyles, style);\n }, responsive);\n }\n};", "import { traverseBreakpoints } from \"./traverseBreakpoints.js\";\nfunction getSelfSpacingVar(axis) {\n return `--Grid-${axis}Spacing`;\n}\nfunction getParentSpacingVar(axis) {\n return `--Grid-parent-${axis}Spacing`;\n}\nconst selfColumnsVar = '--Grid-columns';\nconst parentColumnsVar = '--Grid-parent-columns';\nexport const generateGridSizeStyles = ({\n theme,\n ownerState\n}) => {\n const styles = {};\n traverseBreakpoints(theme.breakpoints, ownerState.size, (appendStyle, value) => {\n let style = {};\n if (value === 'grow') {\n style = {\n flexBasis: 0,\n flexGrow: 1,\n maxWidth: '100%'\n };\n }\n if (value === 'auto') {\n style = {\n flexBasis: 'auto',\n flexGrow: 0,\n flexShrink: 0,\n maxWidth: 'none',\n width: 'auto'\n };\n }\n if (typeof value === 'number') {\n style = {\n flexGrow: 0,\n flexBasis: 'auto',\n width: `calc(100% * ${value} / var(${parentColumnsVar}) - (var(${parentColumnsVar}) - ${value}) * (var(${getParentSpacingVar('column')}) / var(${parentColumnsVar})))`\n };\n }\n appendStyle(styles, style);\n });\n return styles;\n};\nexport const generateGridOffsetStyles = ({\n theme,\n ownerState\n}) => {\n const styles = {};\n traverseBreakpoints(theme.breakpoints, ownerState.offset, (appendStyle, value) => {\n let style = {};\n if (value === 'auto') {\n style = {\n marginLeft: 'auto'\n };\n }\n if (typeof value === 'number') {\n style = {\n marginLeft: value === 0 ? '0px' : `calc(100% * ${value} / var(${parentColumnsVar}) + var(${getParentSpacingVar('column')}) * ${value} / var(${parentColumnsVar}))`\n };\n }\n appendStyle(styles, style);\n });\n return styles;\n};\nexport const generateGridColumnsStyles = ({\n theme,\n ownerState\n}) => {\n if (!ownerState.container) {\n return {};\n }\n const styles = {\n [selfColumnsVar]: 12\n };\n traverseBreakpoints(theme.breakpoints, ownerState.columns, (appendStyle, value) => {\n const columns = value ?? 12;\n appendStyle(styles, {\n [selfColumnsVar]: columns,\n '> *': {\n [parentColumnsVar]: columns\n }\n });\n });\n return styles;\n};\nexport const generateGridRowSpacingStyles = ({\n theme,\n ownerState\n}) => {\n if (!ownerState.container) {\n return {};\n }\n const styles = {};\n traverseBreakpoints(theme.breakpoints, ownerState.rowSpacing, (appendStyle, value) => {\n const spacing = typeof value === 'string' ? value : theme.spacing?.(value);\n appendStyle(styles, {\n [getSelfSpacingVar('row')]: spacing,\n '> *': {\n [getParentSpacingVar('row')]: spacing\n }\n });\n });\n return styles;\n};\nexport const generateGridColumnSpacingStyles = ({\n theme,\n ownerState\n}) => {\n if (!ownerState.container) {\n return {};\n }\n const styles = {};\n traverseBreakpoints(theme.breakpoints, ownerState.columnSpacing, (appendStyle, value) => {\n const spacing = typeof value === 'string' ? value : theme.spacing?.(value);\n appendStyle(styles, {\n [getSelfSpacingVar('column')]: spacing,\n '> *': {\n [getParentSpacingVar('column')]: spacing\n }\n });\n });\n return styles;\n};\nexport const generateGridDirectionStyles = ({\n theme,\n ownerState\n}) => {\n if (!ownerState.container) {\n return {};\n }\n const styles = {};\n traverseBreakpoints(theme.breakpoints, ownerState.direction, (appendStyle, value) => {\n appendStyle(styles, {\n flexDirection: value\n });\n });\n return styles;\n};\nexport const generateGridStyles = ({\n ownerState\n}) => {\n return {\n minWidth: 0,\n boxSizing: 'border-box',\n ...(ownerState.container && {\n display: 'flex',\n flexWrap: 'wrap',\n ...(ownerState.wrap && ownerState.wrap !== 'wrap' && {\n flexWrap: ownerState.wrap\n }),\n gap: `var(${getSelfSpacingVar('row')}) var(${getSelfSpacingVar('column')})`\n })\n };\n};\nexport const generateSizeClassNames = size => {\n const classNames = [];\n Object.entries(size).forEach(([key, value]) => {\n if (value !== false && value !== undefined) {\n classNames.push(`grid-${key}-${String(value)}`);\n }\n });\n return classNames;\n};\nexport const generateSpacingClassNames = (spacing, smallestBreakpoint = 'xs') => {\n function isValidSpacing(val) {\n if (val === undefined) {\n return false;\n }\n return typeof val === 'string' && !Number.isNaN(Number(val)) || typeof val === 'number' && val > 0;\n }\n if (isValidSpacing(spacing)) {\n return [`spacing-${smallestBreakpoint}-${String(spacing)}`];\n }\n if (typeof spacing === 'object' && !Array.isArray(spacing)) {\n const classNames = [];\n Object.entries(spacing).forEach(([key, value]) => {\n if (isValidSpacing(value)) {\n classNames.push(`spacing-${key}-${String(value)}`);\n }\n });\n return classNames;\n }\n return [];\n};\nexport const generateDirectionClasses = direction => {\n if (direction === undefined) {\n return [];\n }\n if (typeof direction === 'object') {\n return Object.entries(direction).map(([key, value]) => `direction-${key}-${value}`);\n }\n return [`direction-xs-${String(direction)}`];\n};", "const common = {\n black: '#000',\n white: '#fff'\n};\nexport default common;", "const grey = {\n 50: '#fafafa',\n 100: '#f5f5f5',\n 200: '#eeeeee',\n 300: '#e0e0e0',\n 400: '#bdbdbd',\n 500: '#9e9e9e',\n 600: '#757575',\n 700: '#616161',\n 800: '#424242',\n 900: '#212121',\n A100: '#f5f5f5',\n A200: '#eeeeee',\n A400: '#bdbdbd',\n A700: '#616161'\n};\nexport default grey;", "const purple = {\n 50: '#f3e5f5',\n 100: '#e1bee7',\n 200: '#ce93d8',\n 300: '#ba68c8',\n 400: '#ab47bc',\n 500: '#9c27b0',\n 600: '#8e24aa',\n 700: '#7b1fa2',\n 800: '#6a1b9a',\n 900: '#4a148c',\n A100: '#ea80fc',\n A200: '#e040fb',\n A400: '#d500f9',\n A700: '#aa00ff'\n};\nexport default purple;", "const red = {\n 50: '#ffebee',\n 100: '#ffcdd2',\n 200: '#ef9a9a',\n 300: '#e57373',\n 400: '#ef5350',\n 500: '#f44336',\n 600: '#e53935',\n 700: '#d32f2f',\n 800: '#c62828',\n 900: '#b71c1c',\n A100: '#ff8a80',\n A200: '#ff5252',\n A400: '#ff1744',\n A700: '#d50000'\n};\nexport default red;", "const orange = {\n 50: '#fff3e0',\n 100: '#ffe0b2',\n 200: '#ffcc80',\n 300: '#ffb74d',\n 400: '#ffa726',\n 500: '#ff9800',\n 600: '#fb8c00',\n 700: '#f57c00',\n 800: '#ef6c00',\n 900: '#e65100',\n A100: '#ffd180',\n A200: '#ffab40',\n A400: '#ff9100',\n A700: '#ff6d00'\n};\nexport default orange;", "const blue = {\n 50: '#e3f2fd',\n 100: '#bbdefb',\n 200: '#90caf9',\n 300: '#64b5f6',\n 400: '#42a5f5',\n 500: '#2196f3',\n 600: '#1e88e5',\n 700: '#1976d2',\n 800: '#1565c0',\n 900: '#0d47a1',\n A100: '#82b1ff',\n A200: '#448aff',\n A400: '#2979ff',\n A700: '#2962ff'\n};\nexport default blue;", "const lightBlue = {\n 50: '#e1f5fe',\n 100: '#b3e5fc',\n 200: '#81d4fa',\n 300: '#4fc3f7',\n 400: '#29b6f6',\n 500: '#03a9f4',\n 600: '#039be5',\n 700: '#0288d1',\n 800: '#0277bd',\n 900: '#01579b',\n A100: '#80d8ff',\n A200: '#40c4ff',\n A400: '#00b0ff',\n A700: '#0091ea'\n};\nexport default lightBlue;", "const green = {\n 50: '#e8f5e9',\n 100: '#c8e6c9',\n 200: '#a5d6a7',\n 300: '#81c784',\n 400: '#66bb6a',\n 500: '#4caf50',\n 600: '#43a047',\n 700: '#388e3c',\n 800: '#2e7d32',\n 900: '#1b5e20',\n A100: '#b9f6ca',\n A200: '#69f0ae',\n A400: '#00e676',\n A700: '#00c853'\n};\nexport default green;", "import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nimport deepmerge from '@mui/utils/deepmerge';\nimport { darken, getContrastRatio, lighten } from '@mui/system/colorManipulator';\nimport common from \"../colors/common.js\";\nimport grey from \"../colors/grey.js\";\nimport purple from \"../colors/purple.js\";\nimport red from \"../colors/red.js\";\nimport orange from \"../colors/orange.js\";\nimport blue from \"../colors/blue.js\";\nimport lightBlue from \"../colors/lightBlue.js\";\nimport green from \"../colors/green.js\";\nfunction getLight() {\n return {\n // The colors used to style the text.\n text: {\n // The most important text.\n primary: 'rgba(0, 0, 0, 0.87)',\n // Secondary text.\n secondary: 'rgba(0, 0, 0, 0.6)',\n // Disabled text have even lower visual prominence.\n disabled: 'rgba(0, 0, 0, 0.38)'\n },\n // The color used to divide different elements.\n divider: 'rgba(0, 0, 0, 0.12)',\n // The background colors used to style the surfaces.\n // Consistency between these values is important.\n background: {\n paper: common.white,\n default: common.white\n },\n // The colors used to style the action elements.\n action: {\n // The color of an active action like an icon button.\n active: 'rgba(0, 0, 0, 0.54)',\n // The color of an hovered action.\n hover: 'rgba(0, 0, 0, 0.04)',\n hoverOpacity: 0.04,\n // The color of a selected action.\n selected: 'rgba(0, 0, 0, 0.08)',\n selectedOpacity: 0.08,\n // The color of a disabled action.\n disabled: 'rgba(0, 0, 0, 0.26)',\n // The background color of a disabled action.\n disabledBackground: 'rgba(0, 0, 0, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(0, 0, 0, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.12\n }\n };\n}\nexport const light = getLight();\nfunction getDark() {\n return {\n text: {\n primary: common.white,\n secondary: 'rgba(255, 255, 255, 0.7)',\n disabled: 'rgba(255, 255, 255, 0.5)',\n icon: 'rgba(255, 255, 255, 0.5)'\n },\n divider: 'rgba(255, 255, 255, 0.12)',\n background: {\n paper: '#121212',\n default: '#121212'\n },\n action: {\n active: common.white,\n hover: 'rgba(255, 255, 255, 0.08)',\n hoverOpacity: 0.08,\n selected: 'rgba(255, 255, 255, 0.16)',\n selectedOpacity: 0.16,\n disabled: 'rgba(255, 255, 255, 0.3)',\n disabledBackground: 'rgba(255, 255, 255, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(255, 255, 255, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.24\n }\n };\n}\nexport const dark = getDark();\nfunction addLightOrDark(intent, direction, shade, tonalOffset) {\n const tonalOffsetLight = tonalOffset.light || tonalOffset;\n const tonalOffsetDark = tonalOffset.dark || tonalOffset * 1.5;\n if (!intent[direction]) {\n if (intent.hasOwnProperty(shade)) {\n intent[direction] = intent[shade];\n } else if (direction === 'light') {\n intent.light = lighten(intent.main, tonalOffsetLight);\n } else if (direction === 'dark') {\n intent.dark = darken(intent.main, tonalOffsetDark);\n }\n }\n}\nfunction getDefaultPrimary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: blue[200],\n light: blue[50],\n dark: blue[400]\n };\n }\n return {\n main: blue[700],\n light: blue[400],\n dark: blue[800]\n };\n}\nfunction getDefaultSecondary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: purple[200],\n light: purple[50],\n dark: purple[400]\n };\n }\n return {\n main: purple[500],\n light: purple[300],\n dark: purple[700]\n };\n}\nfunction getDefaultError(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: red[500],\n light: red[300],\n dark: red[700]\n };\n }\n return {\n main: red[700],\n light: red[400],\n dark: red[800]\n };\n}\nfunction getDefaultInfo(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: lightBlue[400],\n light: lightBlue[300],\n dark: lightBlue[700]\n };\n }\n return {\n main: lightBlue[700],\n light: lightBlue[500],\n dark: lightBlue[900]\n };\n}\nfunction getDefaultSuccess(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: green[400],\n light: green[300],\n dark: green[700]\n };\n }\n return {\n main: green[800],\n light: green[500],\n dark: green[900]\n };\n}\nfunction getDefaultWarning(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: orange[400],\n light: orange[300],\n dark: orange[700]\n };\n }\n return {\n main: '#ed6c02',\n // closest to orange[800] that pass 3:1.\n light: orange[500],\n dark: orange[900]\n };\n}\nexport default function createPalette(palette) {\n const {\n mode = 'light',\n contrastThreshold = 3,\n tonalOffset = 0.2,\n ...other\n } = palette;\n const primary = palette.primary || getDefaultPrimary(mode);\n const secondary = palette.secondary || getDefaultSecondary(mode);\n const error = palette.error || getDefaultError(mode);\n const info = palette.info || getDefaultInfo(mode);\n const success = palette.success || getDefaultSuccess(mode);\n const warning = palette.warning || getDefaultWarning(mode);\n\n // Use the same logic as\n // Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59\n // and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54\n function getContrastText(background) {\n const contrastText = getContrastRatio(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary;\n if (process.env.NODE_ENV !== 'production') {\n const contrast = getContrastRatio(background, contrastText);\n if (contrast < 3) {\n console.error([`MUI: The contrast ratio of ${contrast}:1 for ${contrastText} on ${background}`, 'falls below the WCAG recommended absolute minimum contrast ratio of 3:1.', 'https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast'].join('\\n'));\n }\n }\n return contrastText;\n }\n const augmentColor = ({\n color,\n name,\n mainShade = 500,\n lightShade = 300,\n darkShade = 700\n }) => {\n color = {\n ...color\n };\n if (!color.main && color[mainShade]) {\n color.main = color[mainShade];\n }\n if (!color.hasOwnProperty('main')) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\\n` + `The color object needs to have a \\`main\\` property or a \\`${mainShade}\\` property.` : _formatMuiErrorMessage(11, name ? ` (${name})` : '', mainShade));\n }\n if (typeof color.main !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\\n` + `\\`color.main\\` should be a string, but \\`${JSON.stringify(color.main)}\\` was provided instead.\\n` + '\\n' + 'Did you intend to use one of the following approaches?\\n' + '\\n' + 'import { green } from \"@mui/material/colors\";\\n' + '\\n' + 'const theme1 = createTheme({ palette: {\\n' + ' primary: green,\\n' + '} });\\n' + '\\n' + 'const theme2 = createTheme({ palette: {\\n' + ' primary: { main: green[500] },\\n' + '} });' : _formatMuiErrorMessage(12, name ? ` (${name})` : '', JSON.stringify(color.main)));\n }\n addLightOrDark(color, 'light', lightShade, tonalOffset);\n addLightOrDark(color, 'dark', darkShade, tonalOffset);\n if (!color.contrastText) {\n color.contrastText = getContrastText(color.main);\n }\n return color;\n };\n let modeHydrated;\n if (mode === 'light') {\n modeHydrated = getLight();\n } else if (mode === 'dark') {\n modeHydrated = getDark();\n }\n if (process.env.NODE_ENV !== 'production') {\n if (!modeHydrated) {\n console.error(`MUI: The palette mode \\`${mode}\\` is not supported.`);\n }\n }\n const paletteOutput = deepmerge({\n // A collection of common colors.\n common: {\n ...common\n },\n // prevent mutable object.\n // The palette mode, can be light or dark.\n mode,\n // The colors used to represent primary interface elements for a user.\n primary: augmentColor({\n color: primary,\n name: 'primary'\n }),\n // The colors used to represent secondary interface elements for a user.\n secondary: augmentColor({\n color: secondary,\n name: 'secondary',\n mainShade: 'A400',\n lightShade: 'A200',\n darkShade: 'A700'\n }),\n // The colors used to represent interface elements that the user should be made aware of.\n error: augmentColor({\n color: error,\n name: 'error'\n }),\n // The colors used to represent potentially dangerous actions or important messages.\n warning: augmentColor({\n color: warning,\n name: 'warning'\n }),\n // The colors used to present information to the user that is neutral and not necessarily important.\n info: augmentColor({\n color: info,\n name: 'info'\n }),\n // The colors used to indicate the successful completion of an action that user triggered.\n success: augmentColor({\n color: success,\n name: 'success'\n }),\n // The grey colors.\n grey,\n // Used by `getContrastText()` to maximize the contrast between\n // the background and the text.\n contrastThreshold,\n // Takes a background color and returns the text color that maximizes the contrast.\n getContrastText,\n // Generate a rich color object.\n augmentColor,\n // Used by the functions below to shift a color's luminance by approximately\n // two indexes within its tonal palette.\n // E.g., shift from Red 500 to Red 300 or Red 700.\n tonalOffset,\n // The light and dark mode object.\n ...modeHydrated\n }, other);\n return paletteOutput;\n}", "export default function prepareTypographyVars(typography) {\n const vars = {};\n const entries = Object.entries(typography);\n entries.forEach(entry => {\n const [key, value] = entry;\n if (typeof value === 'object') {\n vars[key] = `${value.fontStyle ? `${value.fontStyle} ` : ''}${value.fontVariant ? `${value.fontVariant} ` : ''}${value.fontWeight ? `${value.fontWeight} ` : ''}${value.fontStretch ? `${value.fontStretch} ` : ''}${value.fontSize || ''}${value.lineHeight ? `/${value.lineHeight} ` : ''}${value.fontFamily || ''}`;\n }\n });\n return vars;\n}", "export default function createMixins(breakpoints, mixins) {\n return {\n toolbar: {\n minHeight: 56,\n [breakpoints.up('xs')]: {\n '@media (orientation: landscape)': {\n minHeight: 48\n }\n },\n [breakpoints.up('sm')]: {\n minHeight: 64\n }\n },\n ...mixins\n };\n}", "import deepmerge from '@mui/utils/deepmerge';\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\nconst caseAllCaps = {\n textTransform: 'uppercase'\n};\nconst defaultFontFamily = '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif';\n\n/**\n * @see @link{https://m2.material.io/design/typography/the-type-system.html}\n * @see @link{https://m2.material.io/design/typography/understanding-typography.html}\n */\nexport default function createTypography(palette, typography) {\n const {\n fontFamily = defaultFontFamily,\n // The default font size of the Material Specification.\n fontSize = 14,\n // px\n fontWeightLight = 300,\n fontWeightRegular = 400,\n fontWeightMedium = 500,\n fontWeightBold = 700,\n // Tell MUI what's the font-size on the html element.\n // 16px is the default font-size used by browsers.\n htmlFontSize = 16,\n // Apply the CSS properties to all the variants.\n allVariants,\n pxToRem: pxToRem2,\n ...other\n } = typeof typography === 'function' ? typography(palette) : typography;\n if (process.env.NODE_ENV !== 'production') {\n if (typeof fontSize !== 'number') {\n console.error('MUI: `fontSize` is required to be a number.');\n }\n if (typeof htmlFontSize !== 'number') {\n console.error('MUI: `htmlFontSize` is required to be a number.');\n }\n }\n const coef = fontSize / 14;\n const pxToRem = pxToRem2 || (size => `${size / htmlFontSize * coef}rem`);\n const buildVariant = (fontWeight, size, lineHeight, letterSpacing, casing) => ({\n fontFamily,\n fontWeight,\n fontSize: pxToRem(size),\n // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/\n lineHeight,\n // The letter spacing was designed for the Roboto font-family. Using the same letter-spacing\n // across font-families can cause issues with the kerning.\n ...(fontFamily === defaultFontFamily ? {\n letterSpacing: `${round(letterSpacing / size)}em`\n } : {}),\n ...casing,\n ...allVariants\n });\n const variants = {\n h1: buildVariant(fontWeightLight, 96, 1.167, -1.5),\n h2: buildVariant(fontWeightLight, 60, 1.2, -0.5),\n h3: buildVariant(fontWeightRegular, 48, 1.167, 0),\n h4: buildVariant(fontWeightRegular, 34, 1.235, 0.25),\n h5: buildVariant(fontWeightRegular, 24, 1.334, 0),\n h6: buildVariant(fontWeightMedium, 20, 1.6, 0.15),\n subtitle1: buildVariant(fontWeightRegular, 16, 1.75, 0.15),\n subtitle2: buildVariant(fontWeightMedium, 14, 1.57, 0.1),\n body1: buildVariant(fontWeightRegular, 16, 1.5, 0.15),\n body2: buildVariant(fontWeightRegular, 14, 1.43, 0.15),\n button: buildVariant(fontWeightMedium, 14, 1.75, 0.4, caseAllCaps),\n caption: buildVariant(fontWeightRegular, 12, 1.66, 0.4),\n overline: buildVariant(fontWeightRegular, 12, 2.66, 1, caseAllCaps),\n // TODO v6: Remove handling of 'inherit' variant from the theme as it is already handled in Material UI's Typography component. Also, remember to remove the associated types.\n inherit: {\n fontFamily: 'inherit',\n fontWeight: 'inherit',\n fontSize: 'inherit',\n lineHeight: 'inherit',\n letterSpacing: 'inherit'\n }\n };\n return deepmerge({\n htmlFontSize,\n pxToRem,\n fontFamily,\n fontSize,\n fontWeightLight,\n fontWeightRegular,\n fontWeightMedium,\n fontWeightBold,\n ...variants\n }, other, {\n clone: false // No need to clone deep\n });\n}", "const shadowKeyUmbraOpacity = 0.2;\nconst shadowKeyPenumbraOpacity = 0.14;\nconst shadowAmbientShadowOpacity = 0.12;\nfunction createShadow(...px) {\n return [`${px[0]}px ${px[1]}px ${px[2]}px ${px[3]}px rgba(0,0,0,${shadowKeyUmbraOpacity})`, `${px[4]}px ${px[5]}px ${px[6]}px ${px[7]}px rgba(0,0,0,${shadowKeyPenumbraOpacity})`, `${px[8]}px ${px[9]}px ${px[10]}px ${px[11]}px rgba(0,0,0,${shadowAmbientShadowOpacity})`].join(',');\n}\n\n// Values from https://github.com/material-components/material-components-web/blob/be8747f94574669cb5e7add1a7c54fa41a89cec7/packages/mdc-elevation/_variables.scss\nconst shadows = ['none', createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];\nexport default shadows;", "// Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves\n// to learn the context in which each easing should be used.\nexport const easing = {\n // This is the most common easing curve.\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n // Objects enter the screen at full velocity from off-screen and\n // slowly decelerate to a resting point.\n easeOut: 'cubic-bezier(0.0, 0, 0.2, 1)',\n // Objects leave the screen at full velocity. They do not decelerate when off-screen.\n easeIn: 'cubic-bezier(0.4, 0, 1, 1)',\n // The sharp curve is used by objects that may return to the screen at any time.\n sharp: 'cubic-bezier(0.4, 0, 0.6, 1)'\n};\n\n// Follow https://m2.material.io/guidelines/motion/duration-easing.html#duration-easing-common-durations\n// to learn when use what timing\nexport const duration = {\n shortest: 150,\n shorter: 200,\n short: 250,\n // most basic recommended timing\n standard: 300,\n // this is to be used in complex animations\n complex: 375,\n // recommended when something is entering screen\n enteringScreen: 225,\n // recommended when something is leaving screen\n leavingScreen: 195\n};\nfunction formatMs(milliseconds) {\n return `${Math.round(milliseconds)}ms`;\n}\nfunction getAutoHeightDuration(height) {\n if (!height) {\n return 0;\n }\n const constant = height / 36;\n\n // https://www.desmos.com/calculator/vbrp3ggqet\n return Math.min(Math.round((4 + 15 * constant ** 0.25 + constant / 5) * 10), 3000);\n}\nexport default function createTransitions(inputTransitions) {\n const mergedEasing = {\n ...easing,\n ...inputTransitions.easing\n };\n const mergedDuration = {\n ...duration,\n ...inputTransitions.duration\n };\n const create = (props = ['all'], options = {}) => {\n const {\n duration: durationOption = mergedDuration.standard,\n easing: easingOption = mergedEasing.easeInOut,\n delay = 0,\n ...other\n } = options;\n if (process.env.NODE_ENV !== 'production') {\n const isString = value => typeof value === 'string';\n const isNumber = value => !Number.isNaN(parseFloat(value));\n if (!isString(props) && !Array.isArray(props)) {\n console.error('MUI: Argument \"props\" must be a string or Array.');\n }\n if (!isNumber(durationOption) && !isString(durationOption)) {\n console.error(`MUI: Argument \"duration\" must be a number or a string but found ${durationOption}.`);\n }\n if (!isString(easingOption)) {\n console.error('MUI: Argument \"easing\" must be a string.');\n }\n if (!isNumber(delay) && !isString(delay)) {\n console.error('MUI: Argument \"delay\" must be a number or a string.');\n }\n if (typeof options !== 'object') {\n console.error(['MUI: Secong argument of transition.create must be an object.', \"Arguments should be either `create('prop1', options)` or `create(['prop1', 'prop2'], options)`\"].join('\\n'));\n }\n if (Object.keys(other).length !== 0) {\n console.error(`MUI: Unrecognized argument(s) [${Object.keys(other).join(',')}].`);\n }\n }\n return (Array.isArray(props) ? props : [props]).map(animatedProp => `${animatedProp} ${typeof durationOption === 'string' ? durationOption : formatMs(durationOption)} ${easingOption} ${typeof delay === 'string' ? delay : formatMs(delay)}`).join(',');\n };\n return {\n getAutoHeightDuration,\n create,\n ...inputTransitions,\n easing: mergedEasing,\n duration: mergedDuration\n };\n}", "// We need to centralize the zIndex definitions as they work\n// like global values in the browser.\nconst zIndex = {\n mobileStepper: 1000,\n fab: 1050,\n speedDial: 1050,\n appBar: 1100,\n drawer: 1200,\n modal: 1300,\n snackbar: 1400,\n tooltip: 1500\n};\nexport default zIndex;", "/* eslint-disable import/prefer-default-export */\nimport { isPlainObject } from '@mui/utils/deepmerge';\nfunction isSerializable(val) {\n return isPlainObject(val) || typeof val === 'undefined' || typeof val === 'string' || typeof val === 'boolean' || typeof val === 'number' || Array.isArray(val);\n}\n\n/**\n * `baseTheme` usually comes from `createTheme()` or `extendTheme()`.\n *\n * This function is intended to be used with zero-runtime CSS-in-JS like Pigment CSS\n * For example, in a Next.js project:\n *\n * ```js\n * // next.config.js\n * const { extendTheme } = require('@mui/material/styles');\n *\n * const theme = extendTheme();\n * // `.toRuntimeSource` is Pigment CSS specific to create a theme that is available at runtime.\n * theme.toRuntimeSource = stringifyTheme;\n *\n * module.exports = withPigment({\n * theme,\n * });\n * ```\n */\nexport function stringifyTheme(baseTheme = {}) {\n const serializableTheme = {\n ...baseTheme\n };\n function serializeTheme(object) {\n const array = Object.entries(object);\n // eslint-disable-next-line no-plusplus\n for (let index = 0; index < array.length; index++) {\n const [key, value] = array[index];\n if (!isSerializable(value) || key.startsWith('unstable_')) {\n delete object[key];\n } else if (isPlainObject(value)) {\n object[key] = {\n ...value\n };\n serializeTheme(object[key]);\n }\n }\n }\n serializeTheme(serializableTheme);\n return `import { unstable_createBreakpoints as createBreakpoints, createTransitions } from '@mui/material/styles';\n\nconst theme = ${JSON.stringify(serializableTheme, null, 2)};\n\ntheme.breakpoints = createBreakpoints(theme.breakpoints || {});\ntheme.transitions = createTransitions(theme.transitions || {});\n\nexport default theme;`;\n}", "import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nimport deepmerge from '@mui/utils/deepmerge';\nimport styleFunctionSx, { unstable_defaultSxConfig as defaultSxConfig } from '@mui/system/styleFunctionSx';\nimport systemCreateTheme from '@mui/system/createTheme';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport createMixins from \"./createMixins.js\";\nimport createPalette from \"./createPalette.js\";\nimport createTypography from \"./createTypography.js\";\nimport shadows from \"./shadows.js\";\nimport createTransitions from \"./createTransitions.js\";\nimport zIndex from \"./zIndex.js\";\nimport { stringifyTheme } from \"./stringifyTheme.js\";\nfunction createThemeNoVars(options = {}, ...args) {\n const {\n breakpoints: breakpointsInput,\n mixins: mixinsInput = {},\n spacing: spacingInput,\n palette: paletteInput = {},\n transitions: transitionsInput = {},\n typography: typographyInput = {},\n shape: shapeInput,\n ...other\n } = options;\n if (options.vars) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'MUI: `vars` is a private field used for CSS variables support.\\n' + 'Please use another name.' : _formatMuiErrorMessage(20));\n }\n const palette = createPalette(paletteInput);\n const systemTheme = systemCreateTheme(options);\n let muiTheme = deepmerge(systemTheme, {\n mixins: createMixins(systemTheme.breakpoints, mixinsInput),\n palette,\n // Don't use [...shadows] until you've verified its transpiled code is not invoking the iterator protocol.\n shadows: shadows.slice(),\n typography: createTypography(palette, typographyInput),\n transitions: createTransitions(transitionsInput),\n zIndex: {\n ...zIndex\n }\n });\n muiTheme = deepmerge(muiTheme, other);\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n if (process.env.NODE_ENV !== 'production') {\n // TODO v6: Refactor to use globalStateClassesMapping from @mui/utils once `readOnly` state class is used in Rating component.\n const stateClasses = ['active', 'checked', 'completed', 'disabled', 'error', 'expanded', 'focused', 'focusVisible', 'required', 'selected'];\n const traverse = (node, component) => {\n let key;\n\n // eslint-disable-next-line guard-for-in\n for (key in node) {\n const child = node[key];\n if (stateClasses.includes(key) && Object.keys(child).length > 0) {\n if (process.env.NODE_ENV !== 'production') {\n const stateClass = generateUtilityClass('', key);\n console.error([`MUI: The \\`${component}\\` component increases ` + `the CSS specificity of the \\`${key}\\` internal state.`, 'You can not override it like this: ', JSON.stringify(node, null, 2), '', `Instead, you need to use the '&.${stateClass}' syntax:`, JSON.stringify({\n root: {\n [`&.${stateClass}`]: child\n }\n }, null, 2), '', 'https://mui.com/r/state-classes-guide'].join('\\n'));\n }\n // Remove the style to prevent global conflicts.\n node[key] = {};\n }\n }\n };\n Object.keys(muiTheme.components).forEach(component => {\n const styleOverrides = muiTheme.components[component].styleOverrides;\n if (styleOverrides && component.startsWith('Mui')) {\n traverse(styleOverrides, component);\n }\n });\n }\n muiTheme.unstable_sxConfig = {\n ...defaultSxConfig,\n ...other?.unstable_sxConfig\n };\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n muiTheme.toRuntimeSource = stringifyTheme; // for Pigment CSS integration\n\n return muiTheme;\n}\nlet warnedOnce = false;\nexport function createMuiTheme(...args) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.error(['MUI: the createMuiTheme function was renamed to createTheme.', '', \"You should use `import { createTheme } from '@mui/material/styles'`\"].join('\\n'));\n }\n }\n return createThemeNoVars(...args);\n}\nexport default createThemeNoVars;", "// Inspired by https://github.com/material-components/material-components-ios/blob/bca36107405594d5b7b16265a5b0ed698f85a5ee/components/Elevation/src/UIColor%2BMaterialElevation.m#L61\nexport default function getOverlayAlpha(elevation) {\n let alphaValue;\n if (elevation < 1) {\n alphaValue = 5.11916 * elevation ** 2;\n } else {\n alphaValue = 4.5 * Math.log(elevation + 1) + 2;\n }\n return Math.round(alphaValue * 10) / 1000;\n}", "import createPalette from \"./createPalette.js\";\nimport getOverlayAlpha from \"./getOverlayAlpha.js\";\nconst defaultDarkOverlays = [...Array(25)].map((_, index) => {\n if (index === 0) {\n return 'none';\n }\n const overlay = getOverlayAlpha(index);\n return `linear-gradient(rgba(255 255 255 / ${overlay}), rgba(255 255 255 / ${overlay}))`;\n});\nexport function getOpacity(mode) {\n return {\n inputPlaceholder: mode === 'dark' ? 0.5 : 0.42,\n inputUnderline: mode === 'dark' ? 0.7 : 0.42,\n switchTrackDisabled: mode === 'dark' ? 0.2 : 0.12,\n switchTrack: mode === 'dark' ? 0.3 : 0.38\n };\n}\nexport function getOverlays(mode) {\n return mode === 'dark' ? defaultDarkOverlays : [];\n}\nexport default function createColorScheme(options) {\n const {\n palette: paletteInput = {\n mode: 'light'\n },\n // need to cast to avoid module augmentation test\n opacity,\n overlays,\n ...rest\n } = options;\n const palette = createPalette(paletteInput);\n return {\n palette,\n opacity: {\n ...getOpacity(palette.mode),\n ...opacity\n },\n overlays: overlays || getOverlays(palette.mode),\n ...rest\n };\n}", "export default function shouldSkipGeneratingVar(keys) {\n return !!keys[0].match(/(cssVarPrefix|colorSchemeSelector|rootSelector|typography|mixins|breakpoints|direction|transitions)/) || !!keys[0].match(/sxConfig$/) ||\n // ends with sxConfig\n keys[0] === 'palette' && !!keys[1]?.match(/(mode|contrastThreshold|tonalOffset)/);\n}", "/**\n * @internal These variables should not appear in the :root stylesheet when the `defaultColorScheme=\"dark\"`\n */\nconst excludeVariablesFromRoot = cssVarPrefix => [...[...Array(25)].map((_, index) => `--${cssVarPrefix ? `${cssVarPrefix}-` : ''}overlays-${index}`), `--${cssVarPrefix ? `${cssVarPrefix}-` : ''}palette-AppBar-darkBg`, `--${cssVarPrefix ? `${cssVarPrefix}-` : ''}palette-AppBar-darkColor`];\nexport default excludeVariablesFromRoot;", "import excludeVariablesFromRoot from \"./excludeVariablesFromRoot.js\";\nexport default theme => (colorScheme, css) => {\n const root = theme.rootSelector || ':root';\n const selector = theme.colorSchemeSelector;\n let rule = selector;\n if (selector === 'class') {\n rule = '.%s';\n }\n if (selector === 'data') {\n rule = '[data-%s]';\n }\n if (selector?.startsWith('data-') && !selector.includes('%s')) {\n // 'data-mui-color-scheme' -> '[data-mui-color-scheme=\"%s\"]'\n rule = `[${selector}=\"%s\"]`;\n }\n if (theme.defaultColorScheme === colorScheme) {\n if (colorScheme === 'dark') {\n const excludedVariables = {};\n excludeVariablesFromRoot(theme.cssVarPrefix).forEach(cssVar => {\n excludedVariables[cssVar] = css[cssVar];\n delete css[cssVar];\n });\n if (rule === 'media') {\n return {\n [root]: css,\n [`@media (prefers-color-scheme: dark)`]: {\n [root]: excludedVariables\n }\n };\n }\n if (rule) {\n return {\n [rule.replace('%s', colorScheme)]: excludedVariables,\n [`${root}, ${rule.replace('%s', colorScheme)}`]: css\n };\n }\n return {\n [root]: {\n ...css,\n ...excludedVariables\n }\n };\n }\n if (rule && rule !== 'media') {\n return `${root}, ${rule.replace('%s', String(colorScheme))}`;\n }\n } else if (colorScheme) {\n if (rule === 'media') {\n return {\n [`@media (prefers-color-scheme: ${String(colorScheme)})`]: {\n [root]: css\n }\n };\n }\n if (rule) {\n return rule.replace('%s', String(colorScheme));\n }\n }\n return root;\n};", "import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nimport deepmerge from '@mui/utils/deepmerge';\nimport { unstable_createGetCssVar as systemCreateGetCssVar, createSpacing } from '@mui/system';\nimport { createUnarySpacing } from '@mui/system/spacing';\nimport { prepareCssVars, prepareTypographyVars, createGetColorSchemeSelector } from '@mui/system/cssVars';\nimport styleFunctionSx, { unstable_defaultSxConfig as defaultSxConfig } from '@mui/system/styleFunctionSx';\nimport { private_safeColorChannel as safeColorChannel, private_safeAlpha as safeAlpha, private_safeDarken as safeDarken, private_safeLighten as safeLighten, private_safeEmphasize as safeEmphasize, hslToRgb } from '@mui/system/colorManipulator';\nimport createThemeNoVars from \"./createThemeNoVars.js\";\nimport createColorScheme, { getOpacity, getOverlays } from \"./createColorScheme.js\";\nimport defaultShouldSkipGeneratingVar from \"./shouldSkipGeneratingVar.js\";\nimport defaultGetSelector from \"./createGetSelector.js\";\nimport { stringifyTheme } from \"./stringifyTheme.js\";\nfunction assignNode(obj, keys) {\n keys.forEach(k => {\n if (!obj[k]) {\n obj[k] = {};\n }\n });\n}\nfunction setColor(obj, key, defaultValue) {\n if (!obj[key] && defaultValue) {\n obj[key] = defaultValue;\n }\n}\nfunction toRgb(color) {\n if (!color || !color.startsWith('hsl')) {\n return color;\n }\n return hslToRgb(color);\n}\nfunction setColorChannel(obj, key) {\n if (!(`${key}Channel` in obj)) {\n // custom channel token is not provided, generate one.\n // if channel token can't be generated, show a warning.\n obj[`${key}Channel`] = safeColorChannel(toRgb(obj[key]), `MUI: Can't create \\`palette.${key}Channel\\` because \\`palette.${key}\\` is not one of these formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` + '\\n' + `To suppress this warning, you need to explicitly provide the \\`palette.${key}Channel\\` as a string (in rgb format, for example \"12 12 12\") or undefined if you want to remove the channel token.`);\n }\n}\nfunction getSpacingVal(spacingInput) {\n if (typeof spacingInput === 'number') {\n return `${spacingInput}px`;\n }\n if (typeof spacingInput === 'string' || typeof spacingInput === 'function' || Array.isArray(spacingInput)) {\n return spacingInput;\n }\n return '8px';\n}\nconst silent = fn => {\n try {\n return fn();\n } catch (error) {\n // ignore error\n }\n return undefined;\n};\nexport const createGetCssVar = (cssVarPrefix = 'mui') => systemCreateGetCssVar(cssVarPrefix);\nfunction attachColorScheme(colorSchemes, scheme, restTheme, colorScheme) {\n if (!scheme) {\n return undefined;\n }\n scheme = scheme === true ? {} : scheme;\n const mode = colorScheme === 'dark' ? 'dark' : 'light';\n if (!restTheme) {\n colorSchemes[colorScheme] = createColorScheme({\n ...scheme,\n palette: {\n mode,\n ...scheme?.palette\n }\n });\n return undefined;\n }\n const {\n palette,\n ...muiTheme\n } = createThemeNoVars({\n ...restTheme,\n palette: {\n mode,\n ...scheme?.palette\n }\n });\n colorSchemes[colorScheme] = {\n ...scheme,\n palette,\n opacity: {\n ...getOpacity(mode),\n ...scheme?.opacity\n },\n overlays: scheme?.overlays || getOverlays(mode)\n };\n return muiTheme;\n}\n\n/**\n * A default `createThemeWithVars` comes with a single color scheme, either `light` or `dark` based on the `defaultColorScheme`.\n * This is better suited for apps that only need a single color scheme.\n *\n * To enable built-in `light` and `dark` color schemes, either:\n * 1. provide a `colorSchemeSelector` to define how the color schemes will change.\n * 2. provide `colorSchemes.dark` will set `colorSchemeSelector: 'media'` by default.\n */\nexport default function createThemeWithVars(options = {}, ...args) {\n const {\n colorSchemes: colorSchemesInput = {\n light: true\n },\n defaultColorScheme: defaultColorSchemeInput,\n disableCssColorScheme = false,\n cssVarPrefix = 'mui',\n shouldSkipGeneratingVar = defaultShouldSkipGeneratingVar,\n colorSchemeSelector: selector = colorSchemesInput.light && colorSchemesInput.dark ? 'media' : undefined,\n rootSelector = ':root',\n ...input\n } = options;\n const firstColorScheme = Object.keys(colorSchemesInput)[0];\n const defaultColorScheme = defaultColorSchemeInput || (colorSchemesInput.light && firstColorScheme !== 'light' ? 'light' : firstColorScheme);\n const getCssVar = createGetCssVar(cssVarPrefix);\n const {\n [defaultColorScheme]: defaultSchemeInput,\n light: builtInLight,\n dark: builtInDark,\n ...customColorSchemes\n } = colorSchemesInput;\n const colorSchemes = {\n ...customColorSchemes\n };\n let defaultScheme = defaultSchemeInput;\n\n // For built-in light and dark color schemes, ensure that the value is valid if they are the default color scheme.\n if (defaultColorScheme === 'dark' && !('dark' in colorSchemesInput) || defaultColorScheme === 'light' && !('light' in colorSchemesInput)) {\n defaultScheme = true;\n }\n if (!defaultScheme) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The \\`colorSchemes.${defaultColorScheme}\\` option is either missing or invalid.` : _formatMuiErrorMessage(21, defaultColorScheme));\n }\n\n // Create the palette for the default color scheme, either `light`, `dark`, or custom color scheme.\n const muiTheme = attachColorScheme(colorSchemes, defaultScheme, input, defaultColorScheme);\n if (builtInLight && !colorSchemes.light) {\n attachColorScheme(colorSchemes, builtInLight, undefined, 'light');\n }\n if (builtInDark && !colorSchemes.dark) {\n attachColorScheme(colorSchemes, builtInDark, undefined, 'dark');\n }\n let theme = {\n defaultColorScheme,\n ...muiTheme,\n cssVarPrefix,\n colorSchemeSelector: selector,\n rootSelector,\n getCssVar,\n colorSchemes,\n font: {\n ...prepareTypographyVars(muiTheme.typography),\n ...muiTheme.font\n },\n spacing: getSpacingVal(input.spacing)\n };\n Object.keys(theme.colorSchemes).forEach(key => {\n const palette = theme.colorSchemes[key].palette;\n const setCssVarColor = cssVar => {\n const tokens = cssVar.split('-');\n const color = tokens[1];\n const colorToken = tokens[2];\n return getCssVar(cssVar, palette[color][colorToken]);\n };\n\n // attach black & white channels to common node\n if (palette.mode === 'light') {\n setColor(palette.common, 'background', '#fff');\n setColor(palette.common, 'onBackground', '#000');\n }\n if (palette.mode === 'dark') {\n setColor(palette.common, 'background', '#000');\n setColor(palette.common, 'onBackground', '#fff');\n }\n\n // assign component variables\n assignNode(palette, ['Alert', 'AppBar', 'Avatar', 'Button', 'Chip', 'FilledInput', 'LinearProgress', 'Skeleton', 'Slider', 'SnackbarContent', 'SpeedDialAction', 'StepConnector', 'StepContent', 'Switch', 'TableCell', 'Tooltip']);\n if (palette.mode === 'light') {\n setColor(palette.Alert, 'errorColor', safeDarken(palette.error.light, 0.6));\n setColor(palette.Alert, 'infoColor', safeDarken(palette.info.light, 0.6));\n setColor(palette.Alert, 'successColor', safeDarken(palette.success.light, 0.6));\n setColor(palette.Alert, 'warningColor', safeDarken(palette.warning.light, 0.6));\n setColor(palette.Alert, 'errorFilledBg', setCssVarColor('palette-error-main'));\n setColor(palette.Alert, 'infoFilledBg', setCssVarColor('palette-info-main'));\n setColor(palette.Alert, 'successFilledBg', setCssVarColor('palette-success-main'));\n setColor(palette.Alert, 'warningFilledBg', setCssVarColor('palette-warning-main'));\n setColor(palette.Alert, 'errorFilledColor', silent(() => palette.getContrastText(palette.error.main)));\n setColor(palette.Alert, 'infoFilledColor', silent(() => palette.getContrastText(palette.info.main)));\n setColor(palette.Alert, 'successFilledColor', silent(() => palette.getContrastText(palette.success.main)));\n setColor(palette.Alert, 'warningFilledColor', silent(() => palette.getContrastText(palette.warning.main)));\n setColor(palette.Alert, 'errorStandardBg', safeLighten(palette.error.light, 0.9));\n setColor(palette.Alert, 'infoStandardBg', safeLighten(palette.info.light, 0.9));\n setColor(palette.Alert, 'successStandardBg', safeLighten(palette.success.light, 0.9));\n setColor(palette.Alert, 'warningStandardBg', safeLighten(palette.warning.light, 0.9));\n setColor(palette.Alert, 'errorIconColor', setCssVarColor('palette-error-main'));\n setColor(palette.Alert, 'infoIconColor', setCssVarColor('palette-info-main'));\n setColor(palette.Alert, 'successIconColor', setCssVarColor('palette-success-main'));\n setColor(palette.Alert, 'warningIconColor', setCssVarColor('palette-warning-main'));\n setColor(palette.AppBar, 'defaultBg', setCssVarColor('palette-grey-100'));\n setColor(palette.Avatar, 'defaultBg', setCssVarColor('palette-grey-400'));\n setColor(palette.Button, 'inheritContainedBg', setCssVarColor('palette-grey-300'));\n setColor(palette.Button, 'inheritContainedHoverBg', setCssVarColor('palette-grey-A100'));\n setColor(palette.Chip, 'defaultBorder', setCssVarColor('palette-grey-400'));\n setColor(palette.Chip, 'defaultAvatarColor', setCssVarColor('palette-grey-700'));\n setColor(palette.Chip, 'defaultIconColor', setCssVarColor('palette-grey-700'));\n setColor(palette.FilledInput, 'bg', 'rgba(0, 0, 0, 0.06)');\n setColor(palette.FilledInput, 'hoverBg', 'rgba(0, 0, 0, 0.09)');\n setColor(palette.FilledInput, 'disabledBg', 'rgba(0, 0, 0, 0.12)');\n setColor(palette.LinearProgress, 'primaryBg', safeLighten(palette.primary.main, 0.62));\n setColor(palette.LinearProgress, 'secondaryBg', safeLighten(palette.secondary.main, 0.62));\n setColor(palette.LinearProgress, 'errorBg', safeLighten(palette.error.main, 0.62));\n setColor(palette.LinearProgress, 'infoBg', safeLighten(palette.info.main, 0.62));\n setColor(palette.LinearProgress, 'successBg', safeLighten(palette.success.main, 0.62));\n setColor(palette.LinearProgress, 'warningBg', safeLighten(palette.warning.main, 0.62));\n setColor(palette.Skeleton, 'bg', `rgba(${setCssVarColor('palette-text-primaryChannel')} / 0.11)`);\n setColor(palette.Slider, 'primaryTrack', safeLighten(palette.primary.main, 0.62));\n setColor(palette.Slider, 'secondaryTrack', safeLighten(palette.secondary.main, 0.62));\n setColor(palette.Slider, 'errorTrack', safeLighten(palette.error.main, 0.62));\n setColor(palette.Slider, 'infoTrack', safeLighten(palette.info.main, 0.62));\n setColor(palette.Slider, 'successTrack', safeLighten(palette.success.main, 0.62));\n setColor(palette.Slider, 'warningTrack', safeLighten(palette.warning.main, 0.62));\n const snackbarContentBackground = safeEmphasize(palette.background.default, 0.8);\n setColor(palette.SnackbarContent, 'bg', snackbarContentBackground);\n setColor(palette.SnackbarContent, 'color', silent(() => palette.getContrastText(snackbarContentBackground)));\n setColor(palette.SpeedDialAction, 'fabHoverBg', safeEmphasize(palette.background.paper, 0.15));\n setColor(palette.StepConnector, 'border', setCssVarColor('palette-grey-400'));\n setColor(palette.StepContent, 'border', setCssVarColor('palette-grey-400'));\n setColor(palette.Switch, 'defaultColor', setCssVarColor('palette-common-white'));\n setColor(palette.Switch, 'defaultDisabledColor', setCssVarColor('palette-grey-100'));\n setColor(palette.Switch, 'primaryDisabledColor', safeLighten(palette.primary.main, 0.62));\n setColor(palette.Switch, 'secondaryDisabledColor', safeLighten(palette.secondary.main, 0.62));\n setColor(palette.Switch, 'errorDisabledColor', safeLighten(palette.error.main, 0.62));\n setColor(palette.Switch, 'infoDisabledColor', safeLighten(palette.info.main, 0.62));\n setColor(palette.Switch, 'successDisabledColor', safeLighten(palette.success.main, 0.62));\n setColor(palette.Switch, 'warningDisabledColor', safeLighten(palette.warning.main, 0.62));\n setColor(palette.TableCell, 'border', safeLighten(safeAlpha(palette.divider, 1), 0.88));\n setColor(palette.Tooltip, 'bg', safeAlpha(palette.grey[700], 0.92));\n }\n if (palette.mode === 'dark') {\n setColor(palette.Alert, 'errorColor', safeLighten(palette.error.light, 0.6));\n setColor(palette.Alert, 'infoColor', safeLighten(palette.info.light, 0.6));\n setColor(palette.Alert, 'successColor', safeLighten(palette.success.light, 0.6));\n setColor(palette.Alert, 'warningColor', safeLighten(palette.warning.light, 0.6));\n setColor(palette.Alert, 'errorFilledBg', setCssVarColor('palette-error-dark'));\n setColor(palette.Alert, 'infoFilledBg', setCssVarColor('palette-info-dark'));\n setColor(palette.Alert, 'successFilledBg', setCssVarColor('palette-success-dark'));\n setColor(palette.Alert, 'warningFilledBg', setCssVarColor('palette-warning-dark'));\n setColor(palette.Alert, 'errorFilledColor', silent(() => palette.getContrastText(palette.error.dark)));\n setColor(palette.Alert, 'infoFilledColor', silent(() => palette.getContrastText(palette.info.dark)));\n setColor(palette.Alert, 'successFilledColor', silent(() => palette.getContrastText(palette.success.dark)));\n setColor(palette.Alert, 'warningFilledColor', silent(() => palette.getContrastText(palette.warning.dark)));\n setColor(palette.Alert, 'errorStandardBg', safeDarken(palette.error.light, 0.9));\n setColor(palette.Alert, 'infoStandardBg', safeDarken(palette.info.light, 0.9));\n setColor(palette.Alert, 'successStandardBg', safeDarken(palette.success.light, 0.9));\n setColor(palette.Alert, 'warningStandardBg', safeDarken(palette.warning.light, 0.9));\n setColor(palette.Alert, 'errorIconColor', setCssVarColor('palette-error-main'));\n setColor(palette.Alert, 'infoIconColor', setCssVarColor('palette-info-main'));\n setColor(palette.Alert, 'successIconColor', setCssVarColor('palette-success-main'));\n setColor(palette.Alert, 'warningIconColor', setCssVarColor('palette-warning-main'));\n setColor(palette.AppBar, 'defaultBg', setCssVarColor('palette-grey-900'));\n setColor(palette.AppBar, 'darkBg', setCssVarColor('palette-background-paper')); // specific for dark mode\n setColor(palette.AppBar, 'darkColor', setCssVarColor('palette-text-primary')); // specific for dark mode\n setColor(palette.Avatar, 'defaultBg', setCssVarColor('palette-grey-600'));\n setColor(palette.Button, 'inheritContainedBg', setCssVarColor('palette-grey-800'));\n setColor(palette.Button, 'inheritContainedHoverBg', setCssVarColor('palette-grey-700'));\n setColor(palette.Chip, 'defaultBorder', setCssVarColor('palette-grey-700'));\n setColor(palette.Chip, 'defaultAvatarColor', setCssVarColor('palette-grey-300'));\n setColor(palette.Chip, 'defaultIconColor', setCssVarColor('palette-grey-300'));\n setColor(palette.FilledInput, 'bg', 'rgba(255, 255, 255, 0.09)');\n setColor(palette.FilledInput, 'hoverBg', 'rgba(255, 255, 255, 0.13)');\n setColor(palette.FilledInput, 'disabledBg', 'rgba(255, 255, 255, 0.12)');\n setColor(palette.LinearProgress, 'primaryBg', safeDarken(palette.primary.main, 0.5));\n setColor(palette.LinearProgress, 'secondaryBg', safeDarken(palette.secondary.main, 0.5));\n setColor(palette.LinearProgress, 'errorBg', safeDarken(palette.error.main, 0.5));\n setColor(palette.LinearProgress, 'infoBg', safeDarken(palette.info.main, 0.5));\n setColor(palette.LinearProgress, 'successBg', safeDarken(palette.success.main, 0.5));\n setColor(palette.LinearProgress, 'warningBg', safeDarken(palette.warning.main, 0.5));\n setColor(palette.Skeleton, 'bg', `rgba(${setCssVarColor('palette-text-primaryChannel')} / 0.13)`);\n setColor(palette.Slider, 'primaryTrack', safeDarken(palette.primary.main, 0.5));\n setColor(palette.Slider, 'secondaryTrack', safeDarken(palette.secondary.main, 0.5));\n setColor(palette.Slider, 'errorTrack', safeDarken(palette.error.main, 0.5));\n setColor(palette.Slider, 'infoTrack', safeDarken(palette.info.main, 0.5));\n setColor(palette.Slider, 'successTrack', safeDarken(palette.success.main, 0.5));\n setColor(palette.Slider, 'warningTrack', safeDarken(palette.warning.main, 0.5));\n const snackbarContentBackground = safeEmphasize(palette.background.default, 0.98);\n setColor(palette.SnackbarContent, 'bg', snackbarContentBackground);\n setColor(palette.SnackbarContent, 'color', silent(() => palette.getContrastText(snackbarContentBackground)));\n setColor(palette.SpeedDialAction, 'fabHoverBg', safeEmphasize(palette.background.paper, 0.15));\n setColor(palette.StepConnector, 'border', setCssVarColor('palette-grey-600'));\n setColor(palette.StepContent, 'border', setCssVarColor('palette-grey-600'));\n setColor(palette.Switch, 'defaultColor', setCssVarColor('palette-grey-300'));\n setColor(palette.Switch, 'defaultDisabledColor', setCssVarColor('palette-grey-600'));\n setColor(palette.Switch, 'primaryDisabledColor', safeDarken(palette.primary.main, 0.55));\n setColor(palette.Switch, 'secondaryDisabledColor', safeDarken(palette.secondary.main, 0.55));\n setColor(palette.Switch, 'errorDisabledColor', safeDarken(palette.error.main, 0.55));\n setColor(palette.Switch, 'infoDisabledColor', safeDarken(palette.info.main, 0.55));\n setColor(palette.Switch, 'successDisabledColor', safeDarken(palette.success.main, 0.55));\n setColor(palette.Switch, 'warningDisabledColor', safeDarken(palette.warning.main, 0.55));\n setColor(palette.TableCell, 'border', safeDarken(safeAlpha(palette.divider, 1), 0.68));\n setColor(palette.Tooltip, 'bg', safeAlpha(palette.grey[700], 0.92));\n }\n\n // MUI X - DataGrid needs this token.\n setColorChannel(palette.background, 'default');\n\n // added for consistency with the `background.default` token\n setColorChannel(palette.background, 'paper');\n setColorChannel(palette.common, 'background');\n setColorChannel(palette.common, 'onBackground');\n setColorChannel(palette, 'divider');\n Object.keys(palette).forEach(color => {\n const colors = palette[color];\n\n // The default palettes (primary, secondary, error, info, success, and warning) errors are handled by the above `createTheme(...)`.\n\n if (colors && typeof colors === 'object') {\n // Silent the error for custom palettes.\n if (colors.main) {\n setColor(palette[color], 'mainChannel', safeColorChannel(toRgb(colors.main)));\n }\n if (colors.light) {\n setColor(palette[color], 'lightChannel', safeColorChannel(toRgb(colors.light)));\n }\n if (colors.dark) {\n setColor(palette[color], 'darkChannel', safeColorChannel(toRgb(colors.dark)));\n }\n if (colors.contrastText) {\n setColor(palette[color], 'contrastTextChannel', safeColorChannel(toRgb(colors.contrastText)));\n }\n if (color === 'text') {\n // Text colors: text.primary, text.secondary\n setColorChannel(palette[color], 'primary');\n setColorChannel(palette[color], 'secondary');\n }\n if (color === 'action') {\n // Action colors: action.active, action.selected\n if (colors.active) {\n setColorChannel(palette[color], 'active');\n }\n if (colors.selected) {\n setColorChannel(palette[color], 'selected');\n }\n }\n }\n });\n });\n theme = args.reduce((acc, argument) => deepmerge(acc, argument), theme);\n const parserConfig = {\n prefix: cssVarPrefix,\n disableCssColorScheme,\n shouldSkipGeneratingVar,\n getSelector: defaultGetSelector(theme)\n };\n const {\n vars,\n generateThemeVars,\n generateStyleSheets\n } = prepareCssVars(theme, parserConfig);\n theme.vars = vars;\n Object.entries(theme.colorSchemes[theme.defaultColorScheme]).forEach(([key, value]) => {\n theme[key] = value;\n });\n theme.generateThemeVars = generateThemeVars;\n theme.generateStyleSheets = generateStyleSheets;\n theme.generateSpacing = function generateSpacing() {\n return createSpacing(input.spacing, createUnarySpacing(this));\n };\n theme.getColorSchemeSelector = createGetColorSchemeSelector(selector);\n theme.spacing = theme.generateSpacing();\n theme.shouldSkipGeneratingVar = shouldSkipGeneratingVar;\n theme.unstable_sxConfig = {\n ...defaultSxConfig,\n ...input?.unstable_sxConfig\n };\n theme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n theme.toRuntimeSource = stringifyTheme; // for Pigment CSS integration\n\n return theme;\n}", "import createPalette from \"./createPalette.js\";\nimport createThemeWithVars from \"./createThemeWithVars.js\";\nimport createThemeNoVars from \"./createThemeNoVars.js\";\nexport { createMuiTheme } from \"./createThemeNoVars.js\";\n// eslint-disable-next-line consistent-return\nfunction attachColorScheme(theme, scheme, colorScheme) {\n if (!theme.colorSchemes) {\n return undefined;\n }\n if (colorScheme) {\n theme.colorSchemes[scheme] = {\n ...(colorScheme !== true && colorScheme),\n palette: createPalette({\n ...(colorScheme === true ? {} : colorScheme.palette),\n mode: scheme\n }) // cast type to skip module augmentation test\n };\n }\n}\n\n/**\n * Generate a theme base on the options received.\n * @param options Takes an incomplete theme object and adds the missing parts.\n * @param args Deep merge the arguments with the about to be returned theme.\n * @returns A complete, ready-to-use theme object.\n */\nexport default function createTheme(options = {},\n// cast type to skip module augmentation test\n...args) {\n const {\n palette,\n cssVariables = false,\n colorSchemes: initialColorSchemes = !palette ? {\n light: true\n } : undefined,\n defaultColorScheme: initialDefaultColorScheme = palette?.mode,\n ...rest\n } = options;\n const defaultColorSchemeInput = initialDefaultColorScheme || 'light';\n const defaultScheme = initialColorSchemes?.[defaultColorSchemeInput];\n const colorSchemesInput = {\n ...initialColorSchemes,\n ...(palette ? {\n [defaultColorSchemeInput]: {\n ...(typeof defaultScheme !== 'boolean' && defaultScheme),\n palette\n }\n } : undefined)\n };\n if (cssVariables === false) {\n if (!('colorSchemes' in options)) {\n // Behaves exactly as v5\n return createThemeNoVars(options, ...args);\n }\n let paletteOptions = palette;\n if (!('palette' in options)) {\n if (colorSchemesInput[defaultColorSchemeInput]) {\n if (colorSchemesInput[defaultColorSchemeInput] !== true) {\n paletteOptions = colorSchemesInput[defaultColorSchemeInput].palette;\n } else if (defaultColorSchemeInput === 'dark') {\n // @ts-ignore to prevent the module augmentation test from failing\n paletteOptions = {\n mode: 'dark'\n };\n }\n }\n }\n const theme = createThemeNoVars({\n ...options,\n palette: paletteOptions\n }, ...args);\n theme.defaultColorScheme = defaultColorSchemeInput;\n theme.colorSchemes = colorSchemesInput;\n if (theme.palette.mode === 'light') {\n theme.colorSchemes.light = {\n ...(colorSchemesInput.light !== true && colorSchemesInput.light),\n palette: theme.palette\n };\n attachColorScheme(theme, 'dark', colorSchemesInput.dark);\n }\n if (theme.palette.mode === 'dark') {\n theme.colorSchemes.dark = {\n ...(colorSchemesInput.dark !== true && colorSchemesInput.dark),\n palette: theme.palette\n };\n attachColorScheme(theme, 'light', colorSchemesInput.light);\n }\n return theme;\n }\n if (!palette && !('light' in colorSchemesInput) && defaultColorSchemeInput === 'light') {\n colorSchemesInput.light = true;\n }\n return createThemeWithVars({\n ...rest,\n colorSchemes: colorSchemesInput,\n defaultColorScheme: defaultColorSchemeInput,\n ...(typeof cssVariables !== 'boolean' && cssVariables)\n }, ...args);\n}", "'use client';\n\nimport * as React from 'react';\nimport { useTheme as useThemeSystem } from '@mui/system';\nimport defaultTheme from \"./defaultTheme.js\";\nimport THEME_ID from \"./identifier.js\";\nexport default function useTheme() {\n const theme = useThemeSystem(defaultTheme);\n if (process.env.NODE_ENV !== 'production') {\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n return theme[THEME_ID] || theme;\n}", "'use client';\n\nimport createTheme from \"./createTheme.js\";\nconst defaultTheme = createTheme();\nexport default defaultTheme;", "// copied from @mui/system/createStyled\nfunction slotShouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nexport default slotShouldForwardProp;", "import slotShouldForwardProp from \"./slotShouldForwardProp.js\";\nconst rootShouldForwardProp = prop => slotShouldForwardProp(prop) && prop !== 'classes';\nexport default rootShouldForwardProp;", "'use client';\n\nimport createStyled from '@mui/system/createStyled';\nimport defaultTheme from \"./defaultTheme.js\";\nimport THEME_ID from \"./identifier.js\";\nimport rootShouldForwardProp from \"./rootShouldForwardProp.js\";\nexport { default as slotShouldForwardProp } from \"./slotShouldForwardProp.js\";\nexport { default as rootShouldForwardProp } from \"./rootShouldForwardProp.js\";\nconst styled = createStyled({\n themeId: THEME_ID,\n defaultTheme,\n rootShouldForwardProp\n});\nexport default styled;", "import { type CSSProperties } from 'react';\nimport { createTheme, alpha, type PaletteOptions as PaletteOptionsMui } from '@mui/material/styles';\nimport { orange, grey } from '@mui/material/colors';\n\nimport type { SimplePaletteColorOptions } from '@mui/material/styles/createPalette';\nimport type { ThemeOptions as ThemeOptionsMui } from '@mui/material/styles/createTheme';\nimport type { IobTheme, ThemeName, ThemeType } from './types';\n\nconst step = (16 - 5) / 23 / 100;\n\n/**\n * Convert hex color in the format '#rrggbb' or '#rgb' to an RGB object.\n */\nfunction toInt(hex: string): { r: number; g: number; b: number } {\n const rgb: { r: number; g: number; b: number } = {\n r: 0,\n g: 0,\n b: 0,\n };\n\n if (hex.length === 7) {\n rgb.r = parseInt(hex.substr(1, 2), 16);\n rgb.g = parseInt(hex.substr(3, 2), 16);\n rgb.b = parseInt(hex.substr(5, 2), 16);\n } else if (hex.length === 4) {\n const r = hex.substr(1, 1);\n const g = hex.substr(2, 1);\n const b = hex.substr(3, 1);\n\n rgb.r = parseInt(r + r, 16);\n rgb.g = parseInt(g + g, 16);\n rgb.b = parseInt(b + b, 16);\n }\n\n return rgb;\n}\n\n/**\n * Convert an RGB object to a hex color string in the format '#rrggbb'.\n */\nfunction toHex(int: { r: number; g: number; b: number }): string {\n return `#${Math.round(int.r).toString(16)}${Math.round(int.g).toString(16)}${Math.round(int.b).toString(16)}`;\n}\n\n/** Returns the hex color string in the format '#rrggbb' */\nfunction getElevation(\n /** color in the format '#rrggbb' or '#rgb' */\n color: string,\n /** overlay color in the format '#rrggbb' or '#rgb' */\n overlayColor: string,\n /** elevation as an integer starting with 1 */\n elevation: number,\n): string {\n const rgb: { r: number; g: number; b: number } = toInt(color);\n const overlay: { r: number; g: number; b: number } = toInt(overlayColor);\n\n rgb.r += overlay.r * (0.05 + step * (elevation - 1));\n rgb.g += overlay.g * (0.05 + step * (elevation - 1));\n rgb.b += overlay.b * (0.05 + step * (elevation - 1));\n\n return toHex(rgb);\n}\n\n/**\n * Get all 24 elevations of the given color and overlay.\n *\n * @param color color in the format '#rrggbb' or '#rgb'\n * @param overlay overlay color in the format '#rrggbb' or '#rgb'\n */\nfunction getElevations(color: string, overlay: string): Record {\n const elevations: Record = {};\n\n for (let i = 1; i <= 24; i++) {\n elevations[`elevation${i}`] = {\n backgroundColor: getElevation(color, overlay, i),\n };\n }\n\n return elevations;\n}\n\n// const buttonsPalette = () => ({\n// palette: {\n// // mode: \"dark\",\n// grey: {\n// main: grey[300],\n// dark: grey[400],\n// },\n// },\n// });\n\n// const buttonsTheme = theme => ({\n// components: {\n// MuiButton: {\n// variants: [\n// {\n// props: { variant: 'contained', color: 'grey' },\n// style: {\n// color: theme.palette.getContrastText(theme.palette.grey[300]),\n// },\n// },\n// {\n// props: { variant: 'outlined', color: 'grey' },\n// style: {\n// color: theme.palette.text.primary,\n// borderColor:\n// theme.palette.mode === 'light'\n// ? 'rgba(0, 0, 0, 0.23)'\n// : 'rgba(255, 255, 255, 0.23)',\n// '&.Mui-disabled': {\n// border: `1px solid ${theme.palette.action.disabledBackground}`,\n// },\n// '&:hover': {\n// borderColor:\n// theme.palette.mode === 'light'\n// ? 'rgba(0, 0, 0, 0.23)'\n// : 'rgba(255, 255, 255, 0.23)',\n// backgroundColor: alpha(\n// theme.palette.text.primary,\n// theme.palette.action.hoverOpacity,\n// ),\n// },\n// },\n// },\n// {\n// props: { color: 'grey', variant: 'text' },\n// style: {\n// color: 'black',\n// '&:hover': {\n// backgroundColor: alpha(\n// theme.palette.text.primary,\n// theme.palette.action.hoverOpacity,\n// ),\n// },\n// },\n// },\n// ],\n// },\n// },\n// });\n\ninterface PaletteOptions extends PaletteOptionsMui {\n mode: ThemeType;\n expert: string;\n grey?: {\n main?: string;\n dark?: string;\n 50?: string;\n 100?: string;\n 200?: string;\n 300?: string;\n 400?: string;\n 500?: string;\n 600?: string;\n 700?: string;\n 800?: string;\n 900?: string;\n A100?: string;\n A200?: string;\n A400?: string;\n A700?: string;\n };\n}\n\ninterface ThemeOptions extends ThemeOptionsMui {\n name: ThemeName;\n palette?: PaletteOptions;\n toolbar?: CSSProperties;\n saveToolbar?: {\n background: string;\n button: CSSProperties;\n };\n}\n\n/**\n * The theme creation factory function.\n */\nexport function Theme(type: ThemeName, overrides?: Record): IobTheme {\n let options: ThemeOptions;\n let localOverrides: Record;\n\n if (type === 'dark') {\n localOverrides = {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#272727',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[200],\n '&:hover': {\n color: orange[100],\n },\n },\n },\n MuiPaper: getElevations('#121212', '#fff'),\n };\n\n options = {\n name: type,\n palette: {\n mode: 'dark',\n background: {\n paper: '#121212',\n default: '#121212',\n },\n primary: {\n main: '#4dabf5',\n },\n secondary: {\n main: '#436a93',\n },\n expert: '#14bb00',\n text: {\n primary: '#ffffff',\n secondary: '#ffffff',\n },\n },\n };\n } else if (type === 'blue') {\n localOverrides = {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#3399CC',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n };\n\n options = {\n name: type,\n palette: {\n mode: 'dark',\n background: {\n paper: '#151d21',\n default: '#151d21',\n },\n primary: {\n main: '#4dabf5',\n },\n secondary: {\n main: '#436a93',\n },\n expert: '#14bb00',\n text: {\n primary: '#ffffff',\n secondary: '#ffffff',\n },\n },\n };\n } else if (type === 'colored') {\n localOverrides = {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#2a3135',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[200],\n '&:hover': {\n color: orange[100],\n },\n },\n },\n MuiPaper: getElevations('#151d21', '#fff'),\n };\n\n options = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#3399CC',\n },\n secondary: {\n main: '#164477',\n },\n expert: '#96fc96',\n },\n };\n } else if (type === 'PT') {\n localOverrides = {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#0F99DE',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n };\n\n options = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#0F99DE',\n },\n secondary: {\n main: '#88A536',\n },\n expert: '#BD1B24',\n },\n };\n } else if (type === 'DX') {\n localOverrides = {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#a9a9a9',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n };\n\n options = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#F5F5F7',\n },\n secondary: {\n main: '#a9a9a9',\n },\n expert: '#BD1B24',\n text: {\n primary: '#007AFE',\n secondary: '#007AFE',\n disabled: '#007AFEAA',\n },\n },\n };\n } else {\n localOverrides = {\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n };\n\n options = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#3399CC',\n dark: '#256c97',\n light: '#76d0fd',\n },\n secondary: {\n main: '#164477',\n },\n expert: '#14bb00',\n },\n };\n }\n\n options.toolbar = {\n height: 48,\n };\n\n options.saveToolbar = {\n background: (options.palette?.primary as SimplePaletteColorOptions)?.main,\n button: {\n borderRadius: 3,\n height: 32,\n },\n };\n\n if (options.palette) {\n options.palette.grey = {\n main: grey[300],\n dark: grey[400],\n };\n }\n\n const theme: IobTheme = createTheme(options) as IobTheme;\n\n const palette: PaletteOptions = theme.palette as PaletteOptions;\n\n return createTheme(theme, {\n ...(overrides || undefined),\n components: {\n ...localOverrides,\n MuiButton: {\n variants: [\n {\n props: { variant: 'contained', color: 'grey' },\n style: {\n backgroundColor: palette.grey?.[300],\n color:\n palette.getContrastText && palette.grey?.[300]\n ? palette.getContrastText(palette.grey[300])\n : undefined,\n },\n },\n {\n props: { variant: 'outlined', color: 'grey' },\n style: {\n color: palette.text?.primary,\n borderColor: palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)',\n '&.Mui-disabled': {\n border: `1px solid ${palette.action?.disabledBackground}`,\n },\n '&:hover': {\n borderColor:\n palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)',\n backgroundColor: alpha(\n palette.text?.primary || '',\n palette.action?.hoverOpacity || 0.04,\n ),\n },\n },\n },\n {\n props: { variant: 'text', color: 'grey' },\n style: {\n color: palette.text?.primary,\n '&:hover': {\n backgroundColor: alpha(\n palette.text?.primary || '',\n palette.action?.hoverOpacity || 0.04,\n ),\n },\n },\n },\n ],\n },\n ...(overrides?.components || undefined),\n },\n }) as IobTheme;\n}\n", "/**\n * Copyright 2018-2024 Denis Haev (bluefox) \n *\n * MIT License\n *\n */\nimport React, { type JSX } from 'react';\nimport { PROGRESS, Connection, type AdminConnection } from '@iobroker/socket-client';\nimport * as Sentry from '@sentry/browser';\n\nimport { Snackbar, IconButton } from '@mui/material';\n\nimport { Close as IconClose } from '@mui/icons-material';\n\nimport { printPrompt } from './Prompt';\nimport { Theme } from './Theme';\nimport { Loader } from './Components/Loader';\nimport { Router } from './Components/Router';\nimport { Utils } from './Components/Utils';\nimport { SaveCloseButtons } from './Components/SaveCloseButtons';\nimport { DialogConfirm } from './Dialogs/Confirm';\nimport { I18n } from './i18n';\nimport { DialogError } from './Dialogs/Error';\nimport type {\n GenericAppProps,\n GenericAppState,\n GenericAppSettings,\n ThemeName,\n ThemeType,\n IobTheme,\n Width,\n} from './types';\n\nimport { dictionary } from './dictionary';\n\ndeclare global {\n /** If config has been changed */\n // eslint-disable-next-line no-var\n var changed: boolean;\n\n interface Window {\n io: any;\n SocketClient: any;\n adapterName: undefined | string;\n socketUrl: undefined | string;\n oldAlert: any;\n changed: boolean;\n $iframeDialog: {\n close?: () => void;\n };\n }\n}\n\n// import './index.css';\nconst cssStyle = `\nhtml {\n height: 100%;\n}\n\nbody {\n margin: 0;\n padding: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n/* scrollbar */\n::-webkit-scrollbar-track {\n background-color: #ccc;\n border-radius: 5px;\n}\n\n::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n background-color: #ccc;\n}\n\n::-webkit-scrollbar-thumb {\n background-color: #575757;\n border-radius: 5px;\n}\n\n#root {\n height: 100%;\n}\n\n.App {\n height: 100%;\n}\n\n@keyframes glow {\n from {\n background-color: initial;\n }\n to {\n background-color: #58c458;\n }\n}\n`;\n\nexport class GenericApp<\n TProps extends GenericAppProps = GenericAppProps,\n TState extends GenericAppState = GenericAppState,\n> extends Router {\n protected socket: AdminConnection;\n\n protected readonly instance: number;\n\n protected readonly adapterName: string;\n\n protected readonly instanceId: string;\n\n protected readonly newReact: boolean;\n\n protected encryptedFields: string[];\n\n protected readonly sentryDSN: string | undefined;\n\n private alertDialogRendered: boolean;\n\n private _secret: string | undefined;\n\n protected _systemConfig: ioBroker.SystemConfigCommon | undefined;\n\n // it is not readonly\n private savedNative: Record;\n\n protected common: ioBroker.InstanceCommon | null = null;\n\n private sentryStarted: boolean = false;\n\n private sentryInited: boolean = false;\n\n private resizeTimer: ReturnType | null = null;\n\n constructor(props: TProps, settings?: GenericAppSettings) {\n const ConnectionClass = (props.Connection ||\n settings?.Connection ||\n Connection) as unknown as typeof AdminConnection;\n // const ConnectionClass = props.Connection === 'admin' || settings.Connection = 'admin' ? AdminConnection : (props.Connection || settings.Connection || Connection);\n\n if (!window.document.getElementById('generic-app-iobroker-component')) {\n const style = window.document.createElement('style');\n style.setAttribute('id', 'generic-app-iobroker-component');\n style.innerHTML = cssStyle;\n window.document.head.appendChild(style);\n }\n\n // Remove `!Connection.isWeb() && window.adapterName !== 'material'` when iobroker.socket will support native ws\n if (!GenericApp.isWeb() && window.io && window.location.port === '3000') {\n try {\n const io = new window.SocketClient();\n delete window.io;\n window.io = io;\n } catch {\n // ignore\n }\n }\n\n super(props);\n\n printPrompt();\n\n const query = (window.location.search || '').replace(/^\\?/, '').replace(/#.*$/, '');\n const args: Record = {};\n query\n .trim()\n .split('&')\n .filter(t => t.trim())\n .forEach(b => {\n const parts = b.split('=');\n args[parts[0]] = parts.length === 2 ? parts[1] : true;\n if (args[parts[0]] === 'true') {\n args[parts[0]] = true;\n } else if (args[parts[0]] === 'false') {\n args[parts[0]] = false;\n }\n });\n\n // extract instance from URL\n this.instance =\n settings?.instance ??\n props.instance ??\n (args.instance !== undefined\n ? parseInt(args.instance as string, 10) || 0\n : parseInt(window.location.search.slice(1), 10) || 0);\n // extract adapter name from URL\n const tmp = window.location.pathname.split('/');\n this.adapterName =\n settings?.adapterName || props.adapterName || window.adapterName || tmp[tmp.length - 2] || 'iot';\n this.instanceId = `system.adapter.${this.adapterName}.${this.instance}`;\n this.newReact = args.newReact === true; // it is admin5\n\n const location = Router.getLocation();\n location.tab =\n location.tab ||\n ((window as any)._localStorage || window.localStorage).getItem(`${this.adapterName}-adapter`) ||\n '';\n\n const themeInstance = this.createTheme();\n\n this.state = Object.assign(\n this.state || {}, // keep the existing state\n {\n selectedTab:\n ((window as any)._localStorage || window.localStorage).getItem(`${this.adapterName}-adapter`) || '',\n selectedTabNum: -1,\n native: {},\n errorText: '',\n changed: false,\n connected: false,\n loaded: false,\n isConfigurationError: '',\n expertMode: false,\n toast: '',\n theme: themeInstance,\n themeName: this.getThemeName(themeInstance),\n themeType: this.getThemeType(themeInstance),\n bottomButtons: (settings && settings.bottomButtons) === false ? false : props?.bottomButtons !== false,\n width: GenericApp.getWidth(),\n confirmClose: false,\n _alert: false,\n _alertType: 'info',\n _alertMessage: '',\n },\n ) as TState;\n\n // init translations\n const translations: Record> = dictionary;\n\n // merge together\n if (settings?.translations) {\n Object.keys(settings.translations).forEach(lang => {\n if (settings.translations) {\n translations[lang as ioBroker.Languages] = Object.assign(\n translations[lang as ioBroker.Languages],\n settings.translations[lang as ioBroker.Languages] || {},\n );\n }\n });\n } else if (props.translations) {\n Object.keys(props.translations).forEach(lang => {\n if (props.translations) {\n translations[lang as ioBroker.Languages] = Object.assign(\n translations[lang as ioBroker.Languages],\n props.translations[lang as ioBroker.Languages] || {},\n );\n }\n });\n }\n\n I18n.setTranslations(translations);\n\n this.savedNative = {}; // to detect if the config changed\n\n this.encryptedFields = props.encryptedFields || settings?.encryptedFields || [];\n\n this.sentryDSN = (settings && settings.sentryDSN) || props.sentryDSN;\n\n if (window.socketUrl) {\n if (window.socketUrl.startsWith(':')) {\n window.socketUrl = `${window.location.protocol}//${window.location.hostname}${window.socketUrl}`;\n } else if (!window.socketUrl.startsWith('http://') && !window.socketUrl.startsWith('https://')) {\n window.socketUrl = `${window.location.protocol}//${window.socketUrl}`;\n }\n }\n\n this.alertDialogRendered = false;\n\n window.oldAlert = window.alert;\n window.alert = message => {\n if (!this.alertDialogRendered) {\n window.oldAlert(message);\n return;\n }\n if (message && message.toString().toLowerCase().includes('error')) {\n console.error(message);\n this.showAlert(message.toString(), 'error');\n } else {\n console.log(message);\n this.showAlert(message.toString(), 'info');\n }\n };\n\n // @ts-expect-error either make props in ConnectionProps required or the constructor needs to accept than as they are (means adapt socket-client)\n this.socket = new ConnectionClass({\n ...(props?.socket || settings?.socket),\n name: this.adapterName,\n doNotLoadAllObjects: settings?.doNotLoadAllObjects,\n onProgress: (progress: PROGRESS) => {\n if (progress === PROGRESS.CONNECTING) {\n this.setState({ connected: false });\n } else if (progress === PROGRESS.READY) {\n this.setState({ connected: true });\n } else {\n this.setState({ connected: true });\n }\n },\n onReady: (/* objects, scripts */) => {\n I18n.setLanguage(this.socket.systemLang);\n\n // subscribe because of language and expert mode\n this.socket\n .subscribeObject('system.config', this.onSystemConfigChanged)\n .then(() => this.getSystemConfig())\n .then(obj => {\n this._secret =\n (typeof obj !== 'undefined' && obj.native && obj.native.secret) || 'Zgfr56gFe87jJOM';\n this._systemConfig = obj?.common || ({} as ioBroker.SystemConfigCommon);\n return this.socket.getObject(this.instanceId);\n })\n .then(async obj => {\n let waitPromise;\n const instanceObj: ioBroker.InstanceObject | null | undefined = obj as\n | ioBroker.InstanceObject\n | null\n | undefined;\n\n const sentryPluginEnabled = (\n await this.socket.getState(`${this.instanceId}.plugins.sentry.enabled`)\n )?.val;\n\n const sentryEnabled =\n sentryPluginEnabled !== false &&\n this._systemConfig?.diag !== 'none' &&\n instanceObj?.common &&\n instanceObj.common.name &&\n instanceObj.common.version &&\n // @ts-expect-error will be extended in js-controller TODO: (BF: 2024.05.30) this is redundant to state `${this.instanceId}.plugins.sentry.enabled`, remove this in future when admin sets the state correctly\n !instanceObj.common.disableDataReporting &&\n window.location.host !== 'localhost:3000';\n\n // activate sentry plugin\n if (!this.sentryStarted && this.sentryDSN && sentryEnabled) {\n this.sentryStarted = true;\n\n Sentry.init({\n dsn: this.sentryDSN,\n release: `iobroker.${instanceObj.common.name}@${instanceObj.common.version}`,\n integrations: [Sentry.dedupeIntegration()],\n });\n\n console.log('Sentry initialized');\n }\n\n // read UUID and init sentry with it.\n // for backward compatibility it will be processed separately from the above logic: some adapters could still have this.sentryDSN as undefined\n if (!this.sentryInited && sentryEnabled) {\n this.sentryInited = true;\n\n waitPromise = this.socket.getObject('system.meta.uuid').then(uuidObj => {\n if (uuidObj && uuidObj.native && uuidObj.native.uuid) {\n const scope = Sentry.getCurrentScope();\n scope.setUser({ id: uuidObj.native.uuid });\n }\n });\n }\n\n waitPromise = waitPromise instanceof Promise ? waitPromise : Promise.resolve();\n\n void waitPromise.then(() => {\n if (instanceObj) {\n this.common = instanceObj?.common;\n this.onPrepareLoad(instanceObj.native, instanceObj.encryptedNative); // decode all secrets\n this.savedNative = JSON.parse(JSON.stringify(instanceObj.native));\n this.setState(\n { native: instanceObj.native, loaded: true, expertMode: this.getExpertMode() },\n () => this.onConnectionReady && this.onConnectionReady(),\n );\n } else {\n console.warn('Cannot load instance settings');\n this.setState(\n {\n native: {},\n loaded: true,\n expertMode: this.getExpertMode(),\n },\n () => this.onConnectionReady && this.onConnectionReady(),\n );\n }\n });\n })\n .catch(e => window.alert(`Cannot settings: ${e}`));\n },\n onError: (err: string) => {\n console.error(err);\n this.showError(err);\n },\n });\n }\n\n /**\n * Checks if this connection is running in a web adapter and not in an admin.\n *\n * @returns True if running in a web adapter or in a socketio adapter.\n */\n static isWeb(): boolean {\n return window.socketUrl !== undefined;\n }\n\n showAlert(message: string, type?: 'info' | 'warning' | 'error' | 'success'): void {\n if (type !== 'error' && type !== 'warning' && type !== 'info' && type !== 'success') {\n type = 'info';\n }\n\n this.setState({\n _alert: true,\n _alertType: type,\n _alertMessage: message,\n });\n }\n\n renderAlertSnackbar(): JSX.Element {\n this.alertDialogRendered = true;\n\n return (\n reason !== 'clickaway' && this.setState({ _alert: false })}\n message={this.state._alertMessage}\n />\n );\n }\n\n onSystemConfigChanged = (id: string, obj: ioBroker.AnyObject | null | undefined): void => {\n if (obj && id === 'system.config') {\n if (this.socket.systemLang !== (obj as ioBroker.SystemConfigObject)?.common.language) {\n this.socket.systemLang = (obj as ioBroker.SystemConfigObject)?.common.language || 'en';\n I18n.setLanguage(this.socket.systemLang);\n }\n\n if (this._systemConfig?.expertMode !== !!(obj as ioBroker.SystemConfigObject)?.common?.expertMode) {\n this._systemConfig =\n (obj as ioBroker.SystemConfigObject)?.common || ({} as ioBroker.SystemConfigCommon);\n this.setState({ expertMode: this.getExpertMode() });\n } else {\n this._systemConfig =\n (obj as ioBroker.SystemConfigObject)?.common || ({} as ioBroker.SystemConfigCommon);\n }\n }\n };\n\n /**\n * Called immediately after a component is mounted. Setting state here will trigger re-rendering.\n */\n componentDidMount(): void {\n window.addEventListener('resize', this.onResize, true);\n window.addEventListener('message', this.onReceiveMessage, false);\n super.componentDidMount();\n }\n\n /**\n * Called immediately before a component is destroyed.\n */\n componentWillUnmount(): void {\n window.removeEventListener('resize', this.onResize, true);\n window.removeEventListener('message', this.onReceiveMessage, false);\n super.componentWillUnmount();\n }\n\n onReceiveMessage = (message: { data: string } | null): void => {\n if (message?.data) {\n if (message.data === 'updateTheme') {\n const newThemeName = Utils.getThemeName();\n Utils.setThemeName(Utils.getThemeName());\n\n const newTheme = this.createTheme(newThemeName);\n\n this.setState(\n {\n theme: newTheme,\n themeName: this.getThemeName(newTheme),\n themeType: this.getThemeType(newTheme),\n },\n () => {\n this.props.onThemeChange && this.props.onThemeChange(newThemeName);\n this.onThemeChanged && this.onThemeChanged(newThemeName);\n },\n );\n } else if (message.data === 'updateExpertMode') {\n this.onToggleExpertMode && this.onToggleExpertMode(this.getExpertMode());\n } else if (message.data !== 'chartReady') {\n // if not \"echart ready\" message\n console.debug(\n `Received unknown message: \"${JSON.stringify(message.data)}\". May be it will be processed later`,\n );\n }\n }\n };\n\n private onResize = (): void => {\n this.resizeTimer && clearTimeout(this.resizeTimer);\n this.resizeTimer = setTimeout(() => {\n this.resizeTimer = null;\n this.setState({ width: GenericApp.getWidth() });\n }, 200);\n };\n\n /**\n * Gets the width depending on the window inner width.\n */\n static getWidth(): Width {\n /**\n * innerWidth |xs sm md lg xl\n * |-------|-------|-------|-------|------>\n * width | xs | sm | md | lg | xl\n */\n\n const SIZES: Record = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n };\n const width = window.innerWidth;\n const keys = Object.keys(SIZES).reverse();\n const widthComputed = keys.find(key => width >= SIZES[key as Width]) as Width;\n\n return widthComputed || 'xs';\n }\n\n /**\n * Get a theme\n *\n * @param name Theme name\n */\n // eslint-disable-next-line class-methods-use-this\n createTheme(name?: ThemeName | null): IobTheme {\n return Theme(Utils.getThemeName(name));\n }\n\n /**\n * Get the theme name\n */\n // eslint-disable-next-line class-methods-use-this\n getThemeName(currentTheme: IobTheme): ThemeName {\n return currentTheme.name;\n }\n\n /**\n * Get the theme type\n */\n // eslint-disable-next-line class-methods-use-this\n getThemeType(currentTheme: IobTheme): ThemeType {\n return currentTheme.palette.mode;\n }\n\n // eslint-disable-next-line class-methods-use-this\n onThemeChanged(_newThemeName: string): void {}\n\n // eslint-disable-next-line class-methods-use-this\n onToggleExpertMode(_expertMode: boolean): void {}\n\n /**\n * Changes the current theme\n */\n toggleTheme(newThemeName?: ThemeName): void {\n const themeName = this.state.themeName;\n\n // dark => blue => colored => light => dark\n newThemeName =\n newThemeName ||\n (themeName === 'dark'\n ? 'light'\n : themeName === 'blue'\n ? 'light'\n : themeName === 'colored'\n ? 'light'\n : 'dark');\n\n if (newThemeName !== themeName) {\n Utils.setThemeName(newThemeName);\n\n const newTheme = this.createTheme(newThemeName);\n\n this.setState(\n {\n theme: newTheme,\n themeName: this.getThemeName(newTheme),\n themeType: this.getThemeType(newTheme),\n },\n () => {\n this.props.onThemeChange && this.props.onThemeChange(newThemeName || 'light');\n this.onThemeChanged && this.onThemeChanged(newThemeName || 'light');\n },\n );\n }\n }\n\n /**\n * Gets the system configuration.\n */\n getSystemConfig(): Promise {\n return this.socket.getSystemConfig();\n }\n\n /**\n * Get current expert mode\n */\n getExpertMode(): boolean {\n return window.sessionStorage.getItem('App.expertMode') === 'true' || !!this._systemConfig?.expertMode;\n }\n\n /**\n * Gets called when the socket.io connection is ready.\n * You can overload this function to execute own commands.\n */\n // eslint-disable-next-line class-methods-use-this\n onConnectionReady(): void {}\n\n /**\n * Encrypts a string.\n */\n encrypt(value: string): string {\n let result = '';\n if (this._secret) {\n for (let i = 0; i < value.length; i++) {\n result += String.fromCharCode(\n this._secret[i % this._secret.length].charCodeAt(0) ^ value.charCodeAt(i),\n );\n }\n }\n return result;\n }\n\n /**\n * Decrypts a string.\n */\n decrypt(value: string): string {\n let result = '';\n if (this._secret) {\n for (let i = 0; i < value.length; i++) {\n result += String.fromCharCode(\n this._secret[i % this._secret.length].charCodeAt(0) ^ value.charCodeAt(i),\n );\n }\n }\n return result;\n }\n\n /**\n * Gets called when the navigation hash changes.\n * You may override this if needed.\n */\n onHashChanged(): void {\n const location = Router.getLocation();\n if (location.tab !== this.state.selectedTab) {\n this.selectTab(location.tab);\n }\n }\n\n /**\n * Selects the given tab.\n */\n selectTab(tab: string, index?: number): void {\n ((window as any)._localStorage || window.localStorage).setItem(`${this.adapterName}-adapter`, tab);\n this.setState({ selectedTab: tab, selectedTabNum: index });\n }\n\n /**\n * Gets called before the settings are saved.\n * You may override this if needed.\n */\n onPrepareSave(settings: Record): boolean {\n // here you can encode values\n this.encryptedFields &&\n this.encryptedFields.forEach(attr => {\n if (settings[attr]) {\n settings[attr] = this.encrypt(settings[attr]);\n }\n });\n\n return true;\n }\n\n /**\n * Gets called after the settings are loaded.\n * You may override this if needed.\n *\n * @param settings instance settings from native part\n * @param encryptedNative optional list of fields to be decrypted\n */\n onPrepareLoad(settings: Record, encryptedNative?: string[]): void {\n // here you can encode values\n this.encryptedFields &&\n this.encryptedFields.forEach(attr => {\n if (settings[attr]) {\n settings[attr] = this.decrypt(settings[attr]);\n }\n });\n encryptedNative &&\n encryptedNative.forEach(attr => {\n this.encryptedFields = this.encryptedFields || [];\n !this.encryptedFields.includes(attr) && this.encryptedFields.push(attr);\n if (settings[attr]) {\n settings[attr] = this.decrypt(settings[attr]);\n }\n });\n }\n\n /**\n * Gets the extendable instances.\n */\n async getExtendableInstances(): Promise {\n try {\n const instances = await this.socket.getObjectViewSystem(\n 'instance',\n 'system.adapter.',\n 'system.adapter.\\u9999',\n );\n return Object.values(instances).filter(instance => !!instance?.common?.webExtendable);\n } catch {\n return [];\n }\n }\n\n /**\n * Gets the IP addresses of the given host.\n */\n async getIpAddresses(host: string): Promise<{ name: string; address: string; family: 'ipv4' | 'ipv6' }[]> {\n const ips = await this.socket.getHostByIp(host || this.common?.host || '');\n // translate names\n const ip4 = ips.find(ip => ip.address === '0.0.0.0');\n if (ip4) {\n ip4.name = `[IPv4] 0.0.0.0 - ${I18n.t('ra_Listen on all IPs')}`;\n }\n const ip6 = ips.find(ip => ip.address === '::');\n if (ip6) {\n ip6.name = `[IPv4] :: - ${I18n.t('ra_Listen on all IPs')}`;\n }\n return ips;\n }\n\n /**\n * Saves the settings to the server.\n *\n * @param isClose True if the user is closing the dialog.\n */\n onSave(isClose?: boolean): void {\n let oldObj: ioBroker.InstanceObject;\n if (this.state.isConfigurationError) {\n this.setState({ errorText: this.state.isConfigurationError });\n return;\n }\n\n this.socket\n .getObject(this.instanceId)\n .then(_oldObj => {\n oldObj = (_oldObj || {}) as ioBroker.InstanceObject;\n\n for (const a in this.state.native) {\n if (Object.prototype.hasOwnProperty.call(this.state.native, a)) {\n if (this.state.native[a] === null) {\n oldObj.native[a] = null;\n } else if (this.state.native[a] !== undefined) {\n oldObj.native[a] = JSON.parse(JSON.stringify(this.state.native[a]));\n } else {\n delete oldObj.native[a];\n }\n }\n }\n\n if (this.state.common) {\n for (const b in this.state.common) {\n if (this.state.common[b] === null) {\n (oldObj as Record).common[b] = null;\n } else if (this.state.common[b] !== undefined) {\n (oldObj as Record).common[b] = JSON.parse(\n JSON.stringify(this.state.common[b]),\n );\n } else {\n delete (oldObj as Record).common[b];\n }\n }\n }\n\n if (this.onPrepareSave(oldObj.native) !== false) {\n return this.socket.setObject(this.instanceId, oldObj);\n }\n\n return Promise.reject(new Error('Invalid configuration'));\n })\n .then(() => {\n this.savedNative = oldObj.native;\n globalThis.changed = false;\n try {\n window.parent.postMessage('nochange', '*');\n } catch {\n // ignore\n }\n\n this.setState({ changed: false });\n isClose && GenericApp.onClose();\n })\n .catch(e => console.error(`Cannot save configuration: ${e}`));\n }\n\n /**\n * Renders the toast.\n */\n renderToast(): JSX.Element | null {\n if (!this.state.toast) {\n return null;\n }\n\n return (\n this.setState({ toast: '' })}\n ContentProps={{ 'aria-describedby': 'message-id' }}\n message={{this.state.toast}}\n action={[\n this.setState({ toast: '' })}\n size=\"large\"\n >\n \n ,\n ]}\n />\n );\n }\n\n /**\n * Closes the dialog.\n */\n static onClose(): void {\n if (typeof window.parent !== 'undefined' && window.parent) {\n try {\n if (window.parent.$iframeDialog && typeof window.parent.$iframeDialog.close === 'function') {\n window.parent.$iframeDialog.close();\n } else {\n window.parent.postMessage('close', '*');\n }\n } catch {\n window.parent.postMessage('close', '*');\n }\n }\n }\n\n /**\n * Renders the error dialog.\n */\n renderError(): React.JSX.Element | null {\n if (!this.state.errorText) {\n return null;\n }\n\n return (\n this.setState({ errorText: '' })}\n />\n );\n }\n\n /**\n * Checks if the configuration has changed.\n *\n * @param native the new state\n */\n getIsChanged(native: Record): boolean {\n native = native || this.state.native;\n const isChanged = JSON.stringify(native) !== JSON.stringify(this.savedNative);\n\n globalThis.changed = isChanged;\n\n return isChanged;\n }\n\n /**\n * Gets called when loading the configuration.\n *\n * @param newNative The new configuration object.\n */\n onLoadConfig(newNative: Record): void {\n if (JSON.stringify(newNative) !== JSON.stringify(this.state.native)) {\n this.setState({ native: newNative, changed: this.getIsChanged(newNative) });\n }\n }\n\n /**\n * Sets the configuration error.\n */\n setConfigurationError(errorText: string): void {\n if (this.state.isConfigurationError !== errorText) {\n this.setState({ isConfigurationError: errorText });\n }\n }\n\n /**\n * Renders the save and close buttons.\n */\n renderSaveCloseButtons(): React.JSX.Element | null {\n if (!this.state.confirmClose && !this.state.bottomButtons) {\n return null;\n }\n\n return (\n <>\n {this.state.bottomButtons ? (\n this.onSave(isClose)}\n onClose={() => {\n if (this.state.changed) {\n this.setState({ confirmClose: true });\n } else {\n GenericApp.onClose();\n }\n }}\n />\n ) : null}\n {this.state.confirmClose ? (\n this.setState({ confirmClose: false }, () => isYes && GenericApp.onClose())}\n />\n ) : null}\n \n );\n }\n\n private _updateNativeValue(obj: Record, attrs: string | string[], value: any): boolean {\n if (typeof attrs !== 'object') {\n attrs = attrs.split('.');\n }\n const attr: string = attrs.shift() || '';\n if (!attrs.length) {\n if (value && typeof value === 'object') {\n if (JSON.stringify(obj[attr]) !== JSON.stringify(value)) {\n obj[attr] = value;\n return true;\n }\n return false;\n }\n if (obj[attr] !== value) {\n obj[attr] = value;\n return true;\n }\n\n return false;\n }\n\n obj[attr] = obj[attr] || {};\n if (typeof obj[attr] !== 'object') {\n throw new Error(`attribute ${attr} is no object, but ${typeof obj[attr]}`);\n }\n return this._updateNativeValue(obj[attr], attrs, value);\n }\n\n /**\n * Update the native value\n *\n * @param attr The attribute name with dots as delimiter.\n * @param value The new value.\n * @param cb Callback which will be called upon completion.\n */\n updateNativeValue(attr: string, value: any, cb?: () => void): void {\n const native = JSON.parse(JSON.stringify(this.state.native));\n if (this._updateNativeValue(native, attr, value)) {\n const changed = this.getIsChanged(native);\n\n if (changed !== this.state.changed) {\n try {\n window.parent.postMessage(changed ? 'change' : 'nochange', '*');\n } catch {\n // ignore\n }\n }\n\n this.setState({ native, changed }, cb);\n }\n }\n\n /**\n * Set the error text to be shown.\n */\n showError(text: string | React.JSX.Element): void {\n this.setState({ errorText: text });\n }\n\n /**\n * Sets the toast to be shown.\n *\n * @param toast Text to be shown.\n */\n showToast(toast: string | React.JSX.Element): void {\n this.setState({ toast });\n }\n\n /**\n * Renders helper dialogs\n */\n renderHelperDialogs(): React.JSX.Element {\n return (\n <>\n {this.renderError()}\n {this.renderToast()}\n {this.renderSaveCloseButtons()}\n {this.renderAlertSnackbar()}\n \n );\n }\n\n /**\n * Renders this component.\n */\n render(): React.JSX.Element {\n if (!this.state.loaded) {\n return ;\n }\n\n return (\n
\n {this.renderError()}\n {this.renderToast()}\n {this.renderSaveCloseButtons()}\n {this.renderAlertSnackbar()}\n
\n );\n }\n}\n", "export interface DeferredPromise extends Promise {\n resolve(value: T | PromiseLike): void;\n reject(reason?: any): void;\n}\n\nexport function createDeferredPromise(): DeferredPromise {\n let res: (value: T | PromiseLike) => void;\n let rej: (reason?: any) => void;\n\n const promise = new Promise((resolve, reject) => {\n res = resolve;\n rej = reject;\n }) as DeferredPromise;\n\n promise.resolve = res!;\n promise.reject = rej!;\n\n return promise;\n}\n", "export function getObjectViewResultToArray(\n doc:\n | {\n rows: ioBroker.GetObjectViewItem[];\n }\n | undefined,\n): T[] {\n return doc?.rows.map(item => item.value).filter((val): val is T => !!val) ?? [];\n}\n\n/** Makes sure that a host id starts with \"system.host.\" */\nexport function normalizeHostId(host: string): string {\n if (!host?.startsWith('system.host.')) {\n host = `system.host.${host}`;\n }\n return host;\n}\n\nexport function objectIdToHostname(id: string): string {\n if (id?.startsWith('system.host.')) {\n id = id.substring('system.host.'.length);\n }\n return id;\n}\n\n/**\n * Creates a promise that waits for the specified time and then resolves\n */\nexport function wait(ms: number): Promise {\n return new Promise(resolve => {\n setTimeout(resolve, ms);\n });\n}\n\n/** Converts ioB pattern into regex */\nexport function pattern2RegEx(pattern: string): string {\n pattern = (pattern || '').toString();\n\n const startsWithWildcard = pattern[0] === '*';\n const endsWithWildcard = pattern[pattern.length - 1] === '*';\n\n pattern = pattern.replace(/[-/\\\\^$+?.()|[\\]{}]/g, '\\\\$&').replace(/\\*/g, '.*');\n\n return (startsWithWildcard ? '' : '^') + pattern + (endsWithWildcard ? '' : '$');\n}\n", "import type { ConnectionProps, LogMessage } from './ConnectionProps.js';\nimport { createDeferredPromise } from './DeferredPromise.js';\nimport type { EmitEventHandler, ListenEventHandler, SocketClient } from './SocketClient.js';\nimport { getObjectViewResultToArray, normalizeHostId, pattern2RegEx, wait } from './tools.js';\n\n/** Possible progress states. */\nexport enum PROGRESS {\n /** The socket is connecting. */\n CONNECTING = 0,\n /** The socket is successfully connected. */\n CONNECTED = 1,\n /** All objects are loaded. */\n OBJECTS_LOADED = 2,\n /** The socket is ready for use. */\n READY = 3,\n}\n\nexport enum ERRORS {\n PERMISSION_ERROR = 'permissionError',\n NOT_CONNECTED = 'notConnectedError',\n TIMEOUT = 'timeout',\n NOT_ADMIN = 'Allowed only in admin',\n NOT_SUPPORTED = 'Not supported',\n}\n\n/** @deprecated Use {@link ERRORS.PERMISSION_ERROR} instead */\nexport const PERMISSION_ERROR = ERRORS.PERMISSION_ERROR;\n/** @deprecated Use {@link ERRORS.NOT_CONNECTED} instead */\nexport const NOT_CONNECTED = ERRORS.NOT_CONNECTED;\n\n// Options to use for the backend request wrapper\n/**\n * @internal\n */\nexport interface RequestOptions {\n /** The key that is used to cache the results for later requests of the same kind */\n cacheKey?: string;\n /** Used to bypass the cache */\n forceUpdate?: boolean;\n /** Can be used to identify the request method in error messages */\n requestName?: string;\n /**\n * The timeout in milliseconds after which the call will reject with a timeout error.\n * If no timeout is given, the default is used. Set this to `false` to explicitly disable the timeout.\n */\n commandTimeout?: number | false;\n /** Will be called when the timeout elapses */\n onTimeout?: () => void;\n /** Whether the call should only be allowed in the admin adapter */\n requireAdmin?: boolean;\n /** Require certain features to be supported for this call */\n requireFeatures?: string[];\n /** The function that does the actual work */\n executor: (\n resolve: (value: T | PromiseLike | Promise) => void,\n reject: (reason?: any) => void,\n /** Can be used to check in the executor whether the request has timed out and/or stop it from timing out */\n timeout: Readonly<{ elapsed: boolean; clearTimeout: () => void }>,\n ) => void | Promise;\n}\n\nexport type BinaryStateChangeHandler = (id: string, base64: string | null) => void;\n\nexport type FileChangeHandler = (\n id: string,\n fileName: string,\n size: number | null, // null if deleted\n) => void;\n\nexport interface OldObject {\n _id: string;\n type: string;\n}\n\nexport type ObjectChangeHandler = (\n id: string,\n obj: ioBroker.Object | null | undefined,\n oldObj?: OldObject,\n) => void | Promise;\n\nexport type InstanceMessageCallback = (data: any, sourceInstance: string, messageType: string) => void | Promise;\n\nexport type InstanceSubscribe = {\n messageType: string;\n callback: InstanceMessageCallback;\n};\n\nconst ADAPTERS = ['material', 'echarts', 'vis'];\n\nexport class Connection<\n CustomListenEvents extends Record = Record,\n CustomEmitEvents extends Record = Record,\n> {\n constructor(props: Partial) {\n this.props = this.applyDefaultProps(props);\n\n this.waitForSocketLib()\n .then(() => this.startSocket())\n .catch(e => {\n alert(`Socket connection could not be initialized: ${e}`);\n });\n }\n\n private applyDefaultProps(props: Partial): ConnectionProps {\n return {\n ...props,\n // Define default props that always need to be set\n protocol: props.protocol || window.location.protocol,\n host: props.host || window.location.hostname,\n port: props.port || (window.location.port === '3000' ? 8081 : window.location.port),\n ioTimeout: Math.max(props.ioTimeout || 20000, 20000),\n cmdTimeout: Math.max(props.cmdTimeout || 5000, 5000),\n admin5only: props.admin5only || false,\n autoSubscribes: props.autoSubscribes ?? [],\n autoSubscribeLog: props.autoSubscribeLog ?? false,\n doNotLoadACL: props.doNotLoadACL ?? true,\n doNotLoadAllObjects: props.doNotLoadAllObjects ?? true,\n };\n }\n\n private readonly props: ConnectionProps;\n\n private ignoreState: string = '';\n private connected: boolean = false;\n private subscribed: boolean = false;\n private firstConnect: boolean = true;\n public waitForRestart: boolean = false;\n public loaded: boolean = false;\n private simStates: Record = {};\n\n private readonly statesSubscribes: Record<\n string,\n {\n reg: RegExp;\n cbs: (ioBroker.StateChangeHandler | BinaryStateChangeHandler)[];\n }\n > = {};\n private readonly filesSubscribes: Record<\n string,\n {\n regId: RegExp;\n regFilePattern: RegExp;\n cbs: FileChangeHandler[];\n }\n > = {};\n private readonly objectsSubscribes: Record = {};\n private objects: Record = {};\n private states: Record = {};\n\n public acl: any = null;\n public isSecure: boolean = false;\n // Do not inform about readiness two times\n public onReadyDone: boolean = false;\n\n private readonly onConnectionHandlers: ((connected: boolean) => void)[] = [];\n private readonly onLogHandlers: ((message: LogMessage) => void)[] = [];\n\n private onCmdStdoutHandler?: (id: string, text: string) => void;\n private onCmdStderrHandler?: (id: string, text: string) => void;\n private onCmdExitHandler?: (id: string, exitCode: number) => void;\n private onError(error: any): void {\n (this.props.onError ?? console.error)(error);\n }\n\n /** The socket instance */\n protected _socket!: SocketClient;\n\n private _waitForSocketPromise?: Promise;\n private readonly _waitForFirstConnectionPromise = createDeferredPromise();\n\n /** array with all subscriptions to instances */\n private _instanceSubscriptions: Record = {};\n\n /** Cache for server requests */\n private readonly _promises: Record> = {};\n\n protected _authTimer: any;\n\n protected _systemConfig?: ioBroker.SystemConfigObject;\n /** The \"system.config\" object */\n public get systemConfig(): Readonly | undefined {\n return this._systemConfig;\n }\n\n /** System language. It could be changed during runtime */\n public systemLang: ioBroker.Languages = 'en';\n\n /**\n * Checks if this connection is running in a web adapter and not in an admin.\n *\n * @returns True if running in a web adapter or in a socketio adapter.\n */\n static isWeb(): boolean {\n return window.socketUrl !== undefined;\n }\n\n private waitForSocketLib(): Promise {\n // Only wait once\n if (this._waitForSocketPromise) {\n return this._waitForSocketPromise;\n }\n\n // eslint-disable-next-line no-async-promise-executor\n this._waitForSocketPromise = new Promise(async (resolve, reject) => {\n // If socket io is not yet loaded, we need to wait for it\n if (typeof window.io === 'undefined' && typeof window.iob === 'undefined') {\n // If the registerSocketOnLoad function is defined in index.html,\n // we can use it to know when the socket library was loaded\n if (typeof window.registerSocketOnLoad === 'function') {\n window.registerSocketOnLoad(() => resolve());\n } else {\n // otherwise, we need to poll\n for (let i = 1; i <= 30; i++) {\n if (window.io || window.iob) {\n return resolve();\n }\n await wait(100);\n }\n\n reject(new Error('Socket library could not be loaded!'));\n }\n } else {\n resolve();\n }\n });\n return this._waitForSocketPromise;\n }\n\n /**\n * Starts the socket.io connection.\n */\n async startSocket(): Promise {\n if (this._socket) {\n return;\n }\n\n let host = this.props.host;\n let port = this.props.port;\n let protocol = (this.props.protocol || window.location.protocol).replace(':', '');\n let path = window.location.pathname;\n\n if (window.location.hostname === 'iobroker.net' || window.location.hostname === 'iobroker.pro') {\n path = '';\n } else {\n // if web adapter, socket io could be on another port or even host\n if (window.socketUrl) {\n const parsed = new URL(window.socketUrl);\n host = parsed.hostname;\n port = parsed.port;\n protocol = parsed.protocol.replace(':', '');\n }\n // get a current path\n const pos = path.lastIndexOf('/');\n if (pos !== -1) {\n path = path.substring(0, pos + 1);\n }\n\n if (Connection.isWeb()) {\n // remove one level, like echarts, vis, .... We have here: '/echarts/'\n const parts = path.split('/');\n if (parts.length > 2) {\n parts.pop();\n parts.pop();\n // material can have paths like this '/material/1.3.0/', so remove one more level\n if (ADAPTERS.includes(parts[parts.length - 1])) {\n parts.pop();\n }\n path = parts.join('/');\n if (!path.endsWith('/')) {\n path += '/';\n }\n }\n }\n }\n\n const url = port ? `${protocol}://${host}:${port}` : `${protocol}://${host}`;\n\n this._socket = (window.io || window.iob).connect(url, {\n path: path.endsWith('/') ? `${path}socket.io` : `${path}/socket.io`,\n query: 'ws=true',\n name: this.props.name,\n timeout: this.props.ioTimeout,\n uuid: this.props.uuid,\n token: this.props.token,\n });\n\n this._socket.on('connect', noTimeout => {\n this.onReadyDone = false;\n // If the user is not admin, it takes some time to install the handlers, because all rights must be checked\n if (noTimeout !== true) {\n this.connected = true;\n setTimeout(\n () =>\n this.getVersion()\n .then(info => {\n const [major, minor, patch] = info.version.split('.');\n const v = parseInt(major, 10) * 10000 + parseInt(minor, 10) * 100 + parseInt(patch, 10);\n if (v < 40102) {\n this._authTimer = null;\n // possible this is an old version of admin\n this.onPreConnect(false, false);\n } else {\n this._socket.emit('authenticate', (isOk, isSecure) =>\n this.onPreConnect(isOk, isSecure),\n );\n }\n })\n .catch(e =>\n this.onError({\n message: e.toString(),\n operation: 'getVersion',\n }),\n ),\n 500,\n );\n } else {\n // iobroker websocket waits, till all handlers are installed\n this._socket.emit('authenticate', (isOk, isSecure) => {\n this.onPreConnect(isOk, isSecure);\n });\n }\n });\n\n this._socket.on('reconnect', () => {\n this.onReadyDone = false;\n this.props.onProgress?.(PROGRESS.READY);\n this.connected = true;\n\n if (this.waitForRestart) {\n window.location.reload();\n } else {\n this._subscribe(true);\n this.onConnectionHandlers.forEach(cb => cb(true));\n }\n });\n\n this._socket.on('disconnect', () => {\n this.onReadyDone = false;\n this.connected = false;\n this.subscribed = false;\n this.props.onProgress?.(PROGRESS.CONNECTING);\n this.onConnectionHandlers.forEach(cb => cb(false));\n });\n\n this._socket.on('reauthenticate', () => this.authenticate());\n\n this._socket.on('log', (message: LogMessage) => {\n this.props.onLog?.(message);\n this.onLogHandlers.forEach(cb => cb(message));\n });\n\n this._socket.on('error', (err: any) => {\n let _err: string;\n\n if (err == undefined) {\n _err = '';\n } else if (typeof err.toString === 'function') {\n _err = err.toString();\n } else {\n _err = JSON.stringify(err);\n console.error(`Received strange error: ${_err}`);\n }\n\n if (_err.includes('User not authorized')) {\n this.authenticate();\n } else if (_err.includes('websocket error')) {\n console.error(`Socket Error => reload: ${err}`);\n window.location.reload();\n } else {\n console.error(`Socket Error: ${err}`);\n }\n });\n\n this._socket.on('connect_error', (err: any) => console.error(`Connect error: ${err}`));\n\n this._socket.on('permissionError', err =>\n this.onError({\n message: 'no permission',\n operation: err.operation,\n type: err.type,\n id: err.id || '',\n }),\n );\n\n this._socket.on('objectChange', (id, obj) => {\n setTimeout(() => this.objectChange(id, obj), 0);\n });\n\n this._socket.on('stateChange', (id, state) => {\n setTimeout(() => this.stateChange(id, state), 0);\n });\n\n // instance message\n this._socket.on('im', (messageType, from, data) => {\n setTimeout(() => this.instanceMessage(messageType, from, data), 0);\n });\n\n this._socket.on('fileChange', (id, fileName, size) => {\n setTimeout(() => this.fileChange(id, fileName, size), 0);\n });\n\n this._socket.on('cmdStdout', (id, text) => {\n this.onCmdStdoutHandler?.(id, text);\n });\n\n this._socket.on('cmdStderr', (id, text) => {\n this.onCmdStderrHandler?.(id, text);\n });\n\n this._socket.on('cmdExit', (id, exitCode) => {\n this.onCmdExitHandler?.(id, exitCode);\n });\n\n return Promise.resolve();\n }\n\n /**\n * Called internally.\n */\n private onPreConnect(_isOk: boolean, isSecure: boolean): void {\n if (this._authTimer) {\n clearTimeout(this._authTimer);\n this._authTimer = null;\n }\n\n this.connected = true;\n this.isSecure = isSecure;\n\n if (this.waitForRestart) {\n window.location.reload();\n } else {\n if (this.firstConnect) {\n void this.loadData().catch(e => console.error(`Cannot load data: ${e}`));\n } else {\n this.props.onProgress?.(PROGRESS.READY);\n }\n\n this._subscribe(true);\n this.onConnectionHandlers.forEach(cb => cb(true));\n }\n\n this._waitForFirstConnectionPromise.resolve();\n }\n\n /**\n * Checks if running in ioBroker cloud\n */\n static isCloud(): boolean {\n if (window.location.hostname.includes('amazonaws.com') || window.location.hostname.includes('iobroker.in')) {\n return true;\n }\n if (typeof window.socketUrl === 'undefined') {\n return false;\n }\n return window.socketUrl.includes('iobroker.in') || window.socketUrl.includes('amazonaws');\n }\n\n /**\n * Checks if the socket is connected.\n *\n * @returns true if connected.\n */\n isConnected(): boolean {\n return this.connected;\n }\n\n /**\n * Returns a promise which is resolved when the socket is connected.\n */\n waitForFirstConnection(): Promise {\n return this._waitForFirstConnectionPromise;\n }\n\n /**\n * Called internally.\n */\n private async getUserPermissions(): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('getUserPermissions', (err, acl) => {\n if (err) {\n reject(err);\n } else {\n resolve(acl);\n }\n });\n },\n });\n }\n\n /** Loads the important data and retries a couple of times if it takes too long */\n private async loadData(): Promise {\n if (this.loaded) {\n return;\n }\n const maxAttempts = 10;\n for (let i = 1; i <= maxAttempts; i++) {\n void this.doLoadData().catch(e => console.error(`Cannot load data: ${e}`));\n if (this.loaded) {\n return;\n }\n // give more time via remote connection\n await wait(Connection.isCloud() ? 5000 : 1000);\n }\n }\n\n /**\n * Called after the socket is connected. Loads the necessary data.\n */\n private async doLoadData(): Promise {\n if (this.loaded) {\n return;\n }\n\n // Load ACL if not disabled\n if (!this.props.doNotLoadACL) {\n try {\n this.acl = await this.getUserPermissions();\n } catch (e) {\n this.onError(`Cannot read user permissions: ${e}`);\n return;\n }\n }\n\n // Load system config if not disabled\n try {\n if (\n this.props.admin5only &&\n !Connection.isWeb() &&\n (!window.vendorPrefix || window.vendorPrefix === '@@vendorPrefix@@')\n ) {\n this._systemConfig = await this.getCompactSystemConfig();\n } else {\n this._systemConfig = await this.getSystemConfig();\n }\n } catch (e) {\n this.onError(`Cannot read system config: ${e}`);\n return;\n }\n\n // Detect the system language\n if (this._systemConfig) {\n this.systemLang = this._systemConfig.common?.language;\n if (!this.systemLang) {\n this.systemLang = (window.navigator.userLanguage || window.navigator.language) as any;\n // Browsers may report languages like \"de-DE\", \"en-US\", etc.\n // ioBroker expects \"de\", \"en\", ...\n if (/^(en|de|ru|pt|nl|fr|it|es|pl|uk)-?/.test(this.systemLang)) {\n this.systemLang = this.systemLang.substring(0, 2) as any;\n } else if (!/^(en|de|ru|pt|nl|fr|it|es|pl|uk|zh-cn)$/.test(this.systemLang)) {\n this.systemLang = 'en';\n }\n this._systemConfig.common.language = this.systemLang;\n }\n }\n this.props.onLanguage?.(this.systemLang);\n\n // We are now connected\n this.loaded = true;\n this.props.onProgress?.(PROGRESS.CONNECTED);\n this.firstConnect = false;\n\n // Load all objects if desired\n if (!this.props.doNotLoadAllObjects) {\n this.objects = await this.getObjects();\n } else if (this.props.admin5only) {\n this.objects = {};\n } else {\n this.objects = { 'system.config': this._systemConfig };\n }\n\n this.props.onProgress?.(PROGRESS.READY);\n if (!this.onReadyDone) {\n this.onReadyDone = true;\n this.props.onReady?.(this.objects);\n }\n }\n\n /**\n * Called internally.\n */\n private authenticate(): void {\n if (window.location.search.includes('&href=')) {\n window.location.href = `${window.location.protocol}//${window.location.host}${window.location.pathname}${window.location.search}${window.location.hash}`;\n } else {\n window.location.href = `${window.location.protocol}//${window.location.host}${window.location.pathname}?login&href=${window.location.search}${window.location.hash}`;\n }\n }\n\n /**\n * Subscribe to the changes of the given state.\n * In compare to the subscribeObject method,\n * this method calls the handler with the current state value immediately after subscribing.\n *\n * @param id The ioBroker state ID or array of state IDs.\n * @param binary Set to true if the given state is binary and requires Base64 decoding.\n * @param cb The callback.\n */\n subscribeState(id: string | string[], binary: true, cb: BinaryStateChangeHandler): Promise;\n\n subscribeState(id: string | string[], binary: false, cb: ioBroker.StateChangeHandler): Promise;\n\n subscribeState(id: string | string[], cb: ioBroker.StateChangeHandler): Promise;\n\n async subscribeState(\n ...args:\n | [id: string | string[], binary: true, cb: BinaryStateChangeHandler]\n | [id: string | string[], binary: false, cb: ioBroker.StateChangeHandler]\n | [id: string | string[], cb: ioBroker.StateChangeHandler]\n ): Promise {\n let id: string | string[];\n let binary: boolean;\n let cb: ioBroker.StateChangeHandler | BinaryStateChangeHandler;\n if (args.length === 3) {\n [id, binary, cb] = args;\n } else {\n [id, cb] = args;\n binary = false;\n }\n let ids: string[];\n if (!Array.isArray(id)) {\n ids = [id];\n } else {\n ids = id;\n }\n\n if (typeof cb !== 'function') {\n throw new Error('The state change handler must be a function!');\n }\n const toSubscribe: string[] = [];\n for (let i = 0; i < ids.length; i++) {\n const _id = ids[i];\n if (!this.statesSubscribes[_id]) {\n this.statesSubscribes[_id] = {\n reg: new RegExp(pattern2RegEx(_id)),\n cbs: [cb],\n };\n if (id !== this.ignoreState) {\n toSubscribe.push(_id);\n }\n } else {\n !this.statesSubscribes[_id].cbs.includes(cb) && this.statesSubscribes[_id].cbs.push(cb);\n }\n }\n\n if (!this.connected) {\n return;\n }\n\n if (toSubscribe.length) {\n // no answer from server required\n this._socket.emit('subscribe', toSubscribe);\n }\n\n // Try to get the current value(s) of the state(s) and call the change handlers\n if (binary) {\n let base64: string | undefined;\n for (let i = 0; i < ids.length; i++) {\n try {\n // binary states are deprecated\n base64 = await this.getBinaryState(ids[i]);\n } catch (e) {\n console.error(`Cannot getBinaryState \"${ids[i]}\": ${JSON.stringify(e)}`);\n base64 = undefined;\n }\n if (base64 != undefined) {\n (cb as BinaryStateChangeHandler)(ids[i], base64);\n }\n }\n } else if (ids.find(_id => _id.includes('*'))) {\n let states: Record | undefined;\n for (let i = 0; i < ids.length; i++) {\n try {\n states = await this.getForeignStates(ids[i]);\n } catch (e) {\n console.error(`Cannot getForeignStates \"${ids[i]}\": ${JSON.stringify(e)}`);\n return;\n }\n if (states) {\n for (const [id, state] of Object.entries(states)) {\n const mayBePromise = (cb as ioBroker.StateChangeHandler)(id, state);\n if (mayBePromise instanceof Promise) {\n void mayBePromise.catch(e => console.error(`Cannot call state change handler: ${e}`));\n }\n }\n }\n }\n } else {\n try {\n const states = await (Connection.isWeb() ? this.getStates(ids) : this.getForeignStates(ids));\n if (states) {\n for (const [id, state] of Object.entries(states)) {\n const mayBePromise = (cb as ioBroker.StateChangeHandler)(id, state);\n if (mayBePromise instanceof Promise) {\n void mayBePromise.catch(e => console.error(`Cannot call state change handler: ${e}`));\n }\n }\n }\n } catch (e) {\n console.error(`Cannot getState \"${ids.join(', ')}\": ${e.message}`);\n return;\n }\n }\n }\n\n /**\n * Subscribe to the changes of the given state and wait for answer.\n *\n * @param id The ioBroker state ID.\n * @param cb The callback.\n */\n async subscribeStateAsync(id: string | string[], cb: ioBroker.StateChangeHandler): Promise {\n return this.subscribeState(id, cb);\n }\n\n /**\n * Unsubscribes the given callback from changes of the given state.\n *\n * @param id The ioBroker state ID or array of state IDs.\n * @param cb The callback.\n */\n unsubscribeState(id: string | string[], cb?: ioBroker.StateChangeHandler): void {\n let ids: string[];\n if (!Array.isArray(id)) {\n ids = [id];\n } else {\n ids = id;\n }\n const toUnsubscribe = [];\n for (let i = 0; i < ids.length; i++) {\n const _id = ids[i];\n\n if (this.statesSubscribes[_id]) {\n const sub = this.statesSubscribes[_id];\n if (cb) {\n const pos = sub.cbs.indexOf(cb);\n pos !== -1 && sub.cbs.splice(pos, 1);\n } else {\n sub.cbs = [];\n }\n\n if (!sub.cbs?.length) {\n delete this.statesSubscribes[_id];\n if (_id !== this.ignoreState) {\n toUnsubscribe.push(_id);\n }\n }\n }\n }\n if (this.connected && toUnsubscribe.length) {\n this._socket.emit('unsubscribe', ids);\n }\n }\n\n /**\n * Subscribe to changes of the given object.\n * In compare to the subscribeState method,\n * this method does not call the handler with the current value immediately after subscribe.\n *\n * the current value.\n *\n * @param id The ioBroker object ID.\n * @param cb The callback.\n */\n subscribeObject(id: string | string[], cb: ObjectChangeHandler): Promise {\n let ids: string[];\n if (!Array.isArray(id)) {\n ids = [id];\n } else {\n ids = id;\n }\n\n if (typeof cb !== 'function') {\n throw new Error('The object change handler must be a function!');\n }\n\n const toSubscribe: string[] = [];\n for (let i = 0; i < ids.length; i++) {\n const _id = ids[i];\n if (!this.objectsSubscribes[_id]) {\n this.objectsSubscribes[_id] = {\n reg: new RegExp(pattern2RegEx(_id)),\n cbs: [cb],\n };\n toSubscribe.push(_id);\n } else {\n !this.objectsSubscribes[_id].cbs.includes(cb) && this.objectsSubscribes[_id].cbs.push(cb);\n }\n }\n\n if (this.connected && toSubscribe.length) {\n this._socket.emit('subscribeObjects', toSubscribe);\n }\n\n return Promise.resolve();\n }\n\n /**\n * Unsubscribes all callbacks from changes of the given object.\n *\n * @param id The ioBroker object ID.\n */\n /**\n * Unsubscribes the given callback from changes of the given object.\n *\n * @param id The ioBroker object ID.\n * @param cb The callback.\n */\n unsubscribeObject(id: string | string[], cb?: ObjectChangeHandler): Promise {\n let ids: string[];\n if (!Array.isArray(id)) {\n ids = [id];\n } else {\n ids = id;\n }\n const toUnsubscribe: string[] = [];\n for (let i = 0; i < ids.length; i++) {\n const _id = ids[i];\n if (this.objectsSubscribes[_id]) {\n const sub = this.objectsSubscribes[_id];\n if (cb) {\n const pos = sub.cbs.indexOf(cb);\n pos !== -1 && sub.cbs.splice(pos, 1);\n } else {\n sub.cbs = [];\n }\n\n if (!sub.cbs?.length) {\n delete this.objectsSubscribes[_id];\n toUnsubscribe.push(_id);\n }\n }\n }\n if (this.connected && toUnsubscribe.length) {\n this._socket.emit('unsubscribeObjects', toUnsubscribe);\n }\n return Promise.resolve();\n }\n\n /**\n * Called internally.\n *\n * @param id The ioBroker object ID.\n * @param obj The new object.\n */\n private objectChange(id: string, obj: ioBroker.Object | null | undefined): void {\n // update main.objects cache\n\n // Remember the id and type of th old object\n let oldObj: OldObject | undefined;\n if (this.objects[id]) {\n oldObj = { _id: id, type: this.objects[id].type };\n }\n\n let changed = false;\n if (obj) {\n // The object was added, updated or changed\n\n // Copy the _rev property (whatever that is)\n if ((obj as any)._rev && this.objects[id]) {\n (this.objects[id] as any)._rev = (obj as any)._rev;\n }\n\n // Detect if there was a change\n if (!this.objects[id] || JSON.stringify(this.objects[id]) !== JSON.stringify(obj)) {\n this.objects[id] = obj;\n changed = true;\n }\n } else if (this.objects[id]) {\n // The object was deleted\n delete this.objects[id];\n changed = true;\n }\n\n // Notify all subscribed listeners\n for (const [_id, sub] of Object.entries(this.objectsSubscribes)) {\n if (_id === id || sub.reg.test(id)) {\n sub.cbs.forEach(cb => {\n try {\n const mayBePromise = cb(id, obj, oldObj);\n if (mayBePromise instanceof Promise) {\n void mayBePromise.catch(e => console.error(`Cannot call object change handler: ${e}`));\n }\n } catch (e) {\n console.error(`Error by callback of objectChange: ${e}`);\n }\n });\n }\n }\n\n // Notify the default listener on change\n if (changed) {\n const mayBePromise = this.props.onObjectChange?.(id, obj);\n if (mayBePromise instanceof Promise) {\n void mayBePromise.catch(e => console.error(`Cannot call object change handler: ${e}`));\n }\n }\n }\n\n /**\n * Called internally.\n *\n * @param id The ioBroker state ID.\n * @param state The new state value.\n */\n private stateChange(id: string, state: ioBroker.State | null | undefined): void {\n for (const sub of Object.values(this.statesSubscribes)) {\n if (sub.reg.test(id)) {\n for (const cb of sub.cbs) {\n try {\n const mayBePromise = cb(id, (state ?? null) as any);\n if (mayBePromise instanceof Promise) {\n void mayBePromise.catch(e => console.error(`Cannot call state change handler: ${e}`));\n }\n } catch (e) {\n console.error(`Error by callback of stateChanged: ${e}`);\n }\n }\n }\n }\n }\n\n /**\n * Called internally.\n *\n * @param messageType The message type from the instance\n * @param sourceInstance The source instance\n * @param data The message data\n */\n private instanceMessage(messageType: string, sourceInstance: string, data: any): void {\n this._instanceSubscriptions[sourceInstance]?.forEach(sub => {\n if (sub.messageType === messageType) {\n const mayBePromise = sub.callback(data, sourceInstance, messageType);\n if (mayBePromise instanceof Promise) {\n void mayBePromise.catch(e => console.error(`Cannot call instance message handler: ${e}`));\n }\n }\n });\n }\n\n /**\n * Called internally.\n *\n * @param id The ioBroker object ID of type 'meta'.\n * @param fileName - file name\n * @param size - size of the file\n */\n private fileChange(id: string, fileName: string, size: number | null): void {\n for (const sub of Object.values(this.filesSubscribes)) {\n if (sub.regId.test(id) && sub.regFilePattern.test(fileName)) {\n for (const cb of sub.cbs) {\n try {\n cb(id, fileName, size);\n } catch (e) {\n console.error(`Error by callback of fileChange: ${e}`);\n }\n }\n }\n }\n }\n\n /**\n * Subscribe to changes of the files.\n *\n * @param id The ioBroker state ID for a \"meta\" object. Could be a pattern\n * @param filePattern Pattern or file name, like 'main/*' or 'main/visViews.json`\n * @param cb The callback.\n */\n async subscribeFiles(id: string, filePattern: string | string[], cb: FileChangeHandler): Promise {\n if (typeof cb !== 'function') {\n throw new Error('The state change handler must be a function!');\n }\n\n let filePatterns: string[];\n if (Array.isArray(filePattern)) {\n filePatterns = filePattern;\n } else {\n filePatterns = [filePattern];\n }\n\n const toSubscribe = [];\n for (let f = 0; f < filePatterns.length; f++) {\n const pattern = filePatterns[f];\n const key = `${id}$%$${pattern}`;\n\n if (!this.filesSubscribes[key]) {\n this.filesSubscribes[key] = {\n regId: new RegExp(pattern2RegEx(id)),\n regFilePattern: new RegExp(pattern2RegEx(pattern)),\n cbs: [cb],\n };\n toSubscribe.push(pattern);\n } else {\n !this.filesSubscribes[key].cbs.includes(cb) && this.filesSubscribes[key].cbs.push(cb);\n }\n }\n if (this.connected && toSubscribe.length) {\n this._socket.emit('subscribeFiles', id, toSubscribe);\n }\n\n return Promise.resolve();\n }\n\n /**\n * Unsubscribes the given callback from changes of files.\n *\n * @param id The ioBroker state ID.\n * @param filePattern Pattern or file name, like 'main/*' or 'main/visViews.json`\n * @param cb The callback.\n */\n unsubscribeFiles(id: string, filePattern: string | string[], cb?: FileChangeHandler): void {\n let filePatterns: string[];\n if (Array.isArray(filePattern)) {\n filePatterns = filePattern;\n } else {\n filePatterns = [filePattern];\n }\n const toUnsubscribe = [];\n for (let f = 0; f < filePatterns.length; f++) {\n const pattern = filePatterns[f];\n const key = `${id}$%$${pattern}`;\n if (this.filesSubscribes[key]) {\n const sub = this.filesSubscribes[key];\n if (cb) {\n const pos = sub.cbs.indexOf(cb);\n pos !== -1 && sub.cbs.splice(pos, 1);\n } else {\n sub.cbs = [];\n }\n\n if (!sub.cbs?.length) {\n delete this.filesSubscribes[key];\n toUnsubscribe.push(pattern);\n }\n }\n }\n if (this.connected && toUnsubscribe.length) {\n this._socket.emit('unsubscribeFiles', id, toUnsubscribe);\n }\n }\n\n /** Requests data from the server or reads it from the cache */\n protected async request({\n cacheKey,\n forceUpdate,\n commandTimeout,\n onTimeout,\n requireAdmin,\n requireFeatures,\n // requestName,\n executor,\n }: RequestOptions): Promise {\n // TODO: mention requestName in errors\n\n // If the command requires the admin adapter, enforce it\n if (requireAdmin && Connection.isWeb()) {\n return Promise.reject(new Error(ERRORS.NOT_ADMIN));\n }\n\n // Return the cached value if allowed\n if (cacheKey && !forceUpdate && cacheKey in this._promises) {\n return this._promises[cacheKey];\n }\n\n // Require the socket to be connected\n if (!this.connected) {\n return Promise.reject(new Error(ERRORS.NOT_CONNECTED));\n }\n\n // Check if all required features are supported\n if (requireFeatures?.length) {\n for (const feature of requireFeatures) {\n if (!(await this.checkFeatureSupported(feature))) {\n throw new Error(ERRORS.NOT_SUPPORTED);\n }\n }\n }\n\n // eslint-disable-next-line no-async-promise-executor\n const promise = new Promise(async (resolve, reject) => {\n const timeoutControl = {\n elapsed: false,\n clearTimeout: () => {\n // no-op unless there is a timeout\n },\n };\n let timeout: NodeJS.Timeout | undefined;\n if (commandTimeout !== false) {\n timeout = setTimeout(() => {\n timeoutControl.elapsed = true;\n // Let the caller know that the timeout elapsed\n onTimeout?.();\n\n // do not cache responses with timeout or no connection\n if (cacheKey && this._promises[cacheKey] instanceof Promise) {\n delete this._promises[cacheKey];\n }\n reject(new Error(ERRORS.TIMEOUT));\n }, commandTimeout ?? this.props.cmdTimeout);\n timeoutControl.clearTimeout = () => {\n clearTimeout(timeout);\n };\n }\n // Call the actual function - awaiting it allows us to catch sync and async errors\n // no matter if the executor is async or not\n try {\n await executor(resolve, reject, timeoutControl);\n } catch (e) {\n // do not cache responses with timeout or no connection\n if (cacheKey && this._promises[cacheKey] instanceof Promise) {\n delete this._promises[cacheKey];\n }\n reject(new Error(e.toString()));\n }\n });\n if (cacheKey) {\n this._promises[cacheKey] = promise;\n }\n return promise;\n }\n\n /**\n * Deletes cached promise.\n * So next time the information will be requested anew\n */\n resetCache(key: string, isAll?: boolean): void {\n if (isAll) {\n Object.keys(this._promises)\n .filter(k => k.startsWith(key))\n .forEach(k => {\n delete this._promises[k];\n });\n } else {\n delete this._promises[key];\n }\n }\n\n /**\n * Gets all states.\n *\n * @param pattern Pattern of states or array of IDs\n */\n getStates(pattern?: string | string[]): Promise> {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('getStates', pattern, (err, res) => {\n this.states = res ?? {};\n\n // if (!disableProgressUpdate) {\n // \tthis.props.onProgress?.(PROGRESS.STATES_LOADED);\n // }\n if (err) {\n reject(err);\n } else {\n resolve(this.states);\n }\n });\n },\n });\n }\n\n /**\n * Gets the given state.\n *\n * @param id The state ID.\n */\n getState(id: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n if (id && id === this.ignoreState) {\n resolve(this.simStates[id] || { val: null, ack: true });\n return;\n }\n this._socket.emit('getState', id, (err, state) => {\n if (err) {\n reject(err);\n } else {\n resolve(state);\n }\n });\n },\n });\n }\n\n /**\n * Gets the given binary state Base64 encoded.\n *\n * @deprecated since js-controller 5.0. Use files instead.\n * @param id The state ID.\n */\n getBinaryState(id: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('getBinaryState', id, (err, state) => {\n if (err) {\n reject(err);\n } else {\n resolve(state);\n }\n });\n },\n });\n }\n\n /**\n * Sets the given binary state.\n *\n * @deprecated since js-controller 5.0. Use files instead.\n * @param id The state ID.\n * @param base64 The Base64 encoded binary data.\n */\n setBinaryState(id: string, base64: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('setBinaryState', id, base64, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Sets the given state value.\n *\n * @param id The state ID.\n * @param val The state value.\n * @param ack Acknowledgement flag.\n */\n setState(\n id: string,\n val: ioBroker.State | ioBroker.StateValue | ioBroker.SettableState,\n ack?: boolean,\n ): Promise {\n if (typeof ack === 'boolean') {\n val = { val: val as ioBroker.StateValue, ack };\n }\n\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n // extra handling for \"nothing_selected\" state for vis\n if (id && id === this.ignoreState) {\n let state: ioBroker.State;\n\n if (typeof ack === 'boolean') {\n state = val as ioBroker.State;\n } else if (typeof val === 'object' && (val as ioBroker.State).val !== undefined) {\n state = val as ioBroker.State;\n } else {\n state = {\n val: val as ioBroker.StateValue,\n ack: false,\n ts: Date.now(),\n lc: Date.now(),\n from: 'system.adapter.vis.0',\n };\n }\n\n this.simStates[id] = state;\n\n // inform subscribers about changes\n if (this.statesSubscribes[id]) {\n for (const cb of this.statesSubscribes[id].cbs) {\n try {\n const mayBePromise = cb(id, state as any);\n if (mayBePromise instanceof Promise) {\n void mayBePromise.catch(e =>\n console.error(`Cannot call state change handler: ${e}`),\n );\n }\n } catch (e) {\n console.error(`Error by callback of stateChanged: ${e}`);\n }\n }\n }\n resolve();\n return;\n }\n this._socket.emit('setState', id, val, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Gets all objects.\n *\n * @param update Callback that is executed when all objects are retrieved.\n */\n /**\n * Gets all objects.\n *\n * @param update Set to true to retrieve all objects from the server (instead of using the local cache).\n * @param disableProgressUpdate don't call onProgress() when done\n */\n getObjects(update?: boolean, disableProgressUpdate?: boolean): Promise> {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n if (!update && this.objects) {\n resolve(this.objects);\n return;\n }\n\n this._socket.emit(Connection.isWeb() ? 'getObjects' : 'getAllObjects', (err, res) => {\n if (!disableProgressUpdate) {\n this.props.onProgress?.(PROGRESS.OBJECTS_LOADED);\n }\n if (err) {\n reject(err);\n } else {\n this.objects = res ?? {};\n resolve(this.objects);\n }\n });\n },\n });\n }\n\n /**\n * Gets the list of objects by ID.\n *\n * @param list array of IDs to retrieve\n */\n getObjectsById(list: string[]): Promise | undefined> {\n return this.request({\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('getObjects', list, (err, res) => {\n if (err) {\n reject(err);\n } else {\n resolve(res);\n }\n });\n },\n });\n }\n\n /**\n * Called internally.\n *\n * @param isEnable Set to true if subscribing, false to unsubscribe.\n */\n private _subscribe(isEnable: boolean): void {\n if (isEnable && !this.subscribed) {\n this.subscribed = true;\n if (this.props.autoSubscribes?.length) {\n this._socket.emit('subscribeObjects', this.props.autoSubscribes);\n }\n // re subscribe objects\n const ids = Object.keys(this.objectsSubscribes);\n if (ids.length) {\n this._socket.emit('subscribeObjects', ids);\n }\n Object.keys(this.objectsSubscribes).forEach(id => this._socket.emit('subscribeObjects', id));\n // re-subscribe logs\n this.props.autoSubscribeLog && this._socket.emit('requireLog', true);\n // re subscribe states\n Object.keys(this.statesSubscribes).forEach(id => this._socket.emit('subscribe', id));\n // re-subscribe files\n Object.keys(this.filesSubscribes).forEach(key => {\n const [id, filePattern] = key.split('$%$');\n this._socket.emit('subscribeFiles', id, filePattern);\n });\n } else if (!isEnable && this.subscribed) {\n this.subscribed = false;\n // un-subscribe objects\n if (this.props.autoSubscribes?.length) {\n this._socket.emit('unsubscribeObjects', this.props.autoSubscribes);\n }\n const ids = Object.keys(this.objectsSubscribes);\n if (ids.length) {\n this._socket.emit('unsubscribeObjects', ids);\n }\n // un-subscribe logs\n this.props.autoSubscribeLog && this._socket.emit('requireLog', false);\n\n // un-subscribe states\n Object.keys(this.statesSubscribes).forEach(id => this._socket.emit('unsubscribe', id));\n // re-subscribe files\n Object.keys(this.filesSubscribes).forEach(key => {\n const [id, filePattern] = key.split('$%$');\n this._socket.emit('unsubscribeFiles', id, filePattern);\n });\n }\n }\n\n /**\n * Requests log updates.\n *\n * @param isEnabled Set to true to get logs.\n */\n requireLog(isEnabled: boolean): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('requireLog', isEnabled, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Deletes the given object.\n *\n * @param id The object ID.\n * @param maintenance Force deletion of non conform IDs.\n */\n delObject(id: string, maintenance: boolean = false): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('delObject', id, { maintenance }, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Deletes the given object and all its children.\n *\n * @param id The object ID.\n * @param maintenance Force deletion of non conform IDs.\n */\n delObjects(id: string, maintenance: boolean): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('delObjects', id, { maintenance }, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Sets the object.\n *\n * @param id The object ID.\n * @param obj The object.\n */\n setObject(id: string, obj: ioBroker.SettableObject): Promise {\n if (!obj) {\n return Promise.reject(new Error('Null object is not allowed'));\n }\n\n obj = JSON.parse(JSON.stringify(obj));\n delete obj.from;\n delete obj.user;\n delete obj.ts;\n\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('setObject', id, obj, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Gets the object with the given id from the server.\n *\n * @param id The object ID.\n * @returns The object.\n */\n getObject(id: T): ioBroker.GetObjectPromise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n if (id && id === this.ignoreState) {\n resolve({\n _id: this.ignoreState,\n type: 'state',\n common: {\n name: 'ignored state',\n type: 'mixed',\n },\n } as any);\n return;\n }\n this._socket.emit('getObject', id, (err, obj) => {\n if (err) {\n reject(err);\n } else {\n resolve(obj as any);\n }\n });\n },\n });\n }\n\n /**\n * Sends a message to a specific instance or all instances of some specific adapter.\n *\n * @param instance The instance to send this message to.\n * @param command Command name of the target instance.\n * @param data The message data to send.\n */\n sendTo(instance: string, command: string, data?: any): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: resolve => {\n this._socket.emit('sendTo', instance, command, data, (result: any) => {\n resolve(result);\n });\n },\n });\n }\n\n /**\n * Extend an object and create it if it might not exist.\n *\n * @param id The id.\n * @param obj The object.\n */\n extendObject(id: string, obj: ioBroker.PartialObject): Promise {\n if (!obj) {\n return Promise.reject(new Error('Null object is not allowed'));\n }\n\n obj = JSON.parse(JSON.stringify(obj));\n delete obj.from;\n delete obj.user;\n delete obj.ts;\n\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('extendObject', id, obj, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Register a handler for log messages.\n *\n * @param handler The handler.\n */\n registerLogHandler(handler: (message: LogMessage) => void): void {\n if (!this.onLogHandlers.includes(handler)) {\n this.onLogHandlers.push(handler);\n }\n }\n\n /**\n * Unregister a handler for log messages.\n *\n * @param handler The handler.\n */\n unregisterLogHandler(handler: (message: LogMessage) => void): void {\n const pos = this.onLogHandlers.indexOf(handler);\n pos !== -1 && this.onLogHandlers.splice(pos, 1);\n }\n\n /**\n * Register a handler for the connection state.\n *\n * @param handler The handler.\n */\n registerConnectionHandler(handler: (connected: boolean) => void): void {\n if (!this.onConnectionHandlers.includes(handler)) {\n this.onConnectionHandlers.push(handler);\n }\n }\n\n /**\n * Unregister a handler for the connection state.\n *\n * @param handler The handler.\n */\n unregisterConnectionHandler(handler: (connected: boolean) => void): void {\n const pos = this.onConnectionHandlers.indexOf(handler);\n pos !== -1 && this.onConnectionHandlers.splice(pos, 1);\n }\n\n /**\n * Set the handler for standard output of a command.\n *\n * @param handler The handler.\n */\n registerCmdStdoutHandler(handler: (id: string, text: string) => void): void {\n this.onCmdStdoutHandler = handler;\n }\n\n /**\n * Unset the handler for standard output of a command.\n */\n unregisterCmdStdoutHandler(): void {\n this.onCmdStdoutHandler = undefined;\n }\n\n /**\n * Set the handler for standard error of a command.\n *\n * @param handler The handler.\n */\n registerCmdStderrHandler(handler: (id: string, text: string) => void): void {\n this.onCmdStderrHandler = handler;\n }\n\n /**\n * Unset the handler for standard error of a command.\n */\n unregisterCmdStderrHandler(): void {\n this.onCmdStderrHandler = undefined;\n }\n\n /**\n * Set the handler for exit of a command.\n *\n * @param handler The handler.\n */\n registerCmdExitHandler(handler: (id: string, exitCode: number) => void): void {\n this.onCmdExitHandler = handler;\n }\n\n /**\n * Unset the handler for exit of a command.\n */\n unregisterCmdExitHandler(): void {\n this.onCmdExitHandler = undefined;\n }\n\n /**\n * Get all enums with the given name.\n *\n * @param _enum The name of the enum, like `rooms` or `functions`\n * @param update Force update.\n */\n getEnums(_enum?: string, update?: boolean): Promise> {\n return this.request({\n cacheKey: `enums_${_enum || 'all'}`,\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit(\n 'getObjectView',\n 'system',\n 'enum',\n {\n startkey: `enum.${_enum || ''}`,\n endkey: _enum ? `enum.${_enum}.\\u9999` : `enum.\\u9999`,\n },\n (err, res) => {\n if (err) {\n reject(err);\n } else {\n const _res: Record = {};\n if (res) {\n for (let i = 0; i < res.rows.length; i++) {\n if (_enum && res.rows[i].id === `enum.${_enum}`) {\n continue;\n }\n _res[res.rows[i].id] = res.rows[i].value as ioBroker.EnumObject;\n }\n }\n resolve(_res);\n }\n },\n );\n },\n });\n }\n\n /**\n * @deprecated since version 1.1.15, cause parameter order does not match backend\n * Query a predefined object view.\n * @param start The start ID.\n * @param end The end ID.\n * @param type The type of object.\n */\n getObjectView(\n start: string | undefined,\n end: string | undefined,\n type: T,\n ): Promise> {\n return this.getObjectViewCustom('system', type, start, end);\n }\n\n /**\n * Query a predefined object view.\n *\n * @param type The type of object.\n * @param start The start ID.\n * @param [end] The end ID.\n */\n getObjectViewSystem(\n type: T,\n start?: string,\n end?: string,\n ): Promise> {\n return this.getObjectViewCustom('system', type, start, end);\n }\n\n /**\n * Query a predefined object view.\n *\n * @param design design - 'system' or other designs like `custom`.\n * @param type The type of object.\n * @param start The start ID.\n * @param [end] The end ID.\n */\n getObjectViewCustom(\n design: string,\n type: T,\n start?: string,\n end?: string,\n ): Promise> {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n start = start || '';\n end = end || '\\u9999';\n\n this._socket.emit('getObjectView', design, type, { startkey: start, endkey: end }, (err, res) => {\n if (err) {\n reject(err);\n } else {\n const _res: Record = {};\n if (res && res.rows) {\n for (let i = 0; i < res.rows.length; i++) {\n _res[res.rows[i].id] = res.rows[i].value;\n }\n }\n resolve(_res);\n }\n });\n },\n });\n }\n\n /**\n * Read the meta items.\n */\n readMetaItems(): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit(\n 'getObjectView',\n 'system',\n 'meta',\n { startkey: '', endkey: '\\u9999' },\n (err, objs) => {\n if (err) {\n reject(err);\n } else {\n resolve(objs!.rows?.map(obj => obj.value).filter((val): val is ioBroker.Object => !!val));\n }\n },\n );\n },\n });\n }\n\n /**\n * Read the directory of an adapter.\n *\n * @param namespace (this may be the adapter name, the instance name or the name of a storage object within the adapter).\n * @param path The directory name.\n */\n readDir(namespace: string | null, path: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('readDir', namespace, path, (err, files) => {\n if (err) {\n reject(err);\n } else {\n resolve(files!);\n }\n });\n },\n });\n }\n\n /**\n * Read a file of an adapter.\n *\n * @param namespace (this may be the adapter name, the instance name or the name of a storage object within the adapter).\n * @param fileName The file name.\n * @param base64 If it must be a base64 format\n */\n readFile(\n namespace: string | null,\n fileName: string,\n base64?: boolean,\n ): Promise<{ file: string; mimeType: string }> {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit(base64 ? 'readFile64' : 'readFile', namespace, fileName, (err, data, type) => {\n if (err) {\n reject(err);\n } else {\n resolve({ file: data as string, mimeType: type! });\n }\n });\n },\n });\n }\n\n /**\n * Write a file of an adapter.\n *\n * @param namespace (this may be the adapter name, the instance name or the name of a storage object within the adapter).\n * @param fileName The file name.\n * @param data The data (if it's a Buffer, it will be converted to Base64).\n */\n writeFile64(namespace: string, fileName: string, data: Buffer | string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n if (typeof data === 'string') {\n this._socket.emit('writeFile', namespace, fileName, data, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n } else {\n const base64 = btoa(\n new Uint8Array(data).reduce((data, byte) => data + String.fromCharCode(byte), ''),\n );\n\n this._socket.emit('writeFile64', namespace, fileName, base64, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n }\n },\n });\n }\n\n /**\n * Delete a file of an adapter.\n *\n * @param namespace (this may be the adapter name, the instance name or the name of a storage object within the adapter).\n * @param fileName The file name.\n */\n deleteFile(namespace: string, fileName: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('deleteFile', namespace, fileName, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Delete a folder of an adapter.\n *\n * @param namespace (this may be the adapter name, the instance name or the name of a storage object within the adapter).\n * @param folderName The folder name.\n */\n deleteFolder(namespace: string, folderName: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('deleteFolder', namespace, folderName, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Rename file or folder in ioBroker DB\n *\n * @param namespace (this may be the adapter name, the instance name or the name of a storage object within the adapter).\n * @param oldName current file name, e.g., main/vis-views.json\n * @param newName new file name, e.g., main/vis-views-new.json\n */\n rename(namespace: string, oldName: string, newName: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('rename', namespace, oldName, newName, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Rename file in ioBroker DB\n *\n * @param namespace (this may be the adapter name, the instance name or the name of a storage object within the adapter).\n * @param oldName current file name, e.g., main/vis-views.json\n * @param newName new file name, e.g., main/vis-views-new.json\n */\n renameFile(namespace: string, oldName: string, newName: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('renameFile', namespace, oldName, newName, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Execute a command on a host.\n */\n cmdExec(\n /** Host name */\n host: string,\n /** Command to execute */\n cmd: string,\n /** Command ID */\n cmdId: number,\n /** Timeout of command in ms */\n cmdTimeout?: number,\n ): Promise {\n return this.request({\n commandTimeout: cmdTimeout,\n executor: (resolve, reject, timeout) => {\n host = normalizeHostId(host);\n\n this._socket.emit('cmdExec', host, cmdId, cmd, err => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Gets the system configuration.\n *\n * @param update Force update.\n */\n getSystemConfig(update?: boolean): Promise {\n return this.request({\n cacheKey: 'systemConfig',\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: async resolve => {\n let systemConfig = await this.getObject('system.config');\n (systemConfig as any) ??= {};\n (systemConfig as any).common ??= {};\n (systemConfig as any).native ??= {};\n\n resolve(systemConfig!);\n },\n });\n }\n\n // returns very optimized information for adapters to minimize a connection load\n getCompactSystemConfig(update?: boolean): Promise {\n return this.request({\n cacheKey: 'systemConfigCommon',\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n requireAdmin: true,\n executor: (resolve, reject) => {\n this._socket.emit('getCompactSystemConfig', (err, systemConfig) => {\n if (err) {\n reject(err);\n } else {\n (systemConfig as any) ??= {};\n (systemConfig as any).common ??= {};\n (systemConfig as any).native ??= {};\n resolve(systemConfig!);\n }\n });\n },\n });\n }\n\n /**\n * Read all states (which might not belong to this adapter) which match the given pattern.\n *\n * @param pattern The pattern to match.\n */\n getForeignStates(pattern?: string | string[] | null): ioBroker.GetStatesPromise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('getForeignStates', pattern || '*', (err, states) => {\n if (err) {\n reject(err);\n } else {\n resolve(states ?? {});\n }\n });\n },\n });\n }\n\n /**\n * Get foreign objects by pattern, by specific type and resolve their enums.\n *\n * @param pattern The pattern to match.\n * @param type The type of the object.\n */\n getForeignObjects(\n pattern: string | null | undefined,\n type: T,\n ): Promise> {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('getForeignObjects', pattern || '*', type, (err, objects) => {\n if (err) {\n reject(err);\n } else {\n resolve(objects as any);\n }\n });\n },\n });\n }\n\n /**\n * Sets the system configuration.\n *\n * @param obj The new system configuration.\n */\n setSystemConfig(obj: ioBroker.SystemConfigObject): Promise {\n return this.setObject('system.config', obj);\n }\n\n /**\n * Get the raw socket.io socket.\n */\n getRawSocket(): any {\n return this._socket;\n }\n\n /**\n * Get the history of a given state.\n *\n * @param id The state ID.\n * @param options The query options.\n */\n getHistory(id: string, options: ioBroker.GetHistoryOptions): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('getHistory', id, options, (err, values) => {\n if (err) {\n reject(err);\n } else {\n resolve(values!);\n }\n });\n },\n });\n }\n\n /**\n * Get the history of a given state.\n *\n * @param id The state ID.\n * @param options The query options.\n */\n getHistoryEx(\n id: string,\n options: ioBroker.GetHistoryOptions,\n ): Promise<{\n values: ioBroker.GetHistoryResult;\n sessionId: string;\n stepIgnore: number;\n }> {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('getHistory', id, options, (err, values, stepIgnore, sessionId) => {\n if (err) {\n reject(err);\n } else {\n resolve({\n values: values!,\n sessionId: sessionId!,\n // TODO: WTF is up with the ignore thing?\n stepIgnore: stepIgnore!,\n });\n }\n });\n },\n });\n }\n\n /**\n * Get the IP addresses of the given host.\n *\n * @param host The host name.\n * @param update Force update.\n */\n getIpAddresses(host: string, update?: boolean): Promise {\n host = normalizeHostId(host);\n return this.request({\n cacheKey: `IPs_${host}`,\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: async resolve => {\n const obj = await this.getObject(host);\n resolve(obj?.common.address ?? []);\n },\n });\n }\n\n /**\n * Gets the version.\n */\n getVersion(update?: boolean): Promise<{ version: string; serverName: string }> {\n return this.request({\n cacheKey: 'version',\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('getVersion', (err, version, serverName) => {\n // Old socket.io had no error parameter\n if (err && !version && typeof err === 'string' && err.match(/\\d+\\.\\d+\\.\\d+/)) {\n resolve({ version: err, serverName: 'socketio' });\n } else {\n if (err) {\n reject(err);\n } else {\n resolve({\n version: version!,\n serverName: serverName!,\n });\n }\n }\n });\n },\n });\n }\n\n /**\n * Gets the web server name.\n */\n getWebServerName(): Promise {\n return this.request({\n cacheKey: 'webName',\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('getAdapterName', (err, name) => {\n if (err) {\n reject(err);\n } else {\n resolve(name!);\n }\n });\n },\n });\n }\n\n /**\n * Check if the file exists\n *\n * @param adapter adapter name\n * @param filename file name with the full path. it could be like vis.0/*\n */\n fileExists(adapter: string, filename: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('fileExists', adapter, filename, (err, exists) => {\n if (err) {\n reject(err);\n } else {\n resolve(!!exists);\n }\n });\n },\n });\n }\n\n /**\n * Read current user\n */\n getCurrentUser(): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: resolve => {\n this._socket.emit('authEnabled', (_isSecure, user) => {\n resolve(user);\n });\n },\n });\n }\n\n /**\n * Get uuid\n */\n getUuid(): Promise {\n return this.request({\n cacheKey: 'uuid',\n // TODO: check if this should time out\n commandTimeout: false,\n executor: async resolve => {\n const obj = await this.getObject('system.meta.uuid');\n resolve(obj?.native?.uuid);\n },\n });\n }\n\n /**\n * Checks if a given feature is supported.\n *\n * @param feature The feature to check.\n * @param update Force update.\n */\n checkFeatureSupported(feature: string, update?: boolean): Promise {\n return this.request({\n cacheKey: `supportedFeatures_${feature}`,\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('checkFeatureSupported', feature, (err, features) => {\n if (err) {\n reject(err);\n } else {\n resolve(features);\n }\n });\n },\n });\n }\n\n /**\n * Get all adapter instances.\n *\n * @param update Force update.\n */\n /**\n * Get all instances of the given adapter.\n *\n * @param adapter The name of the adapter.\n * @param update Force update.\n */\n getAdapterInstances(adapter?: string | boolean, update?: boolean): Promise {\n if (typeof adapter === 'boolean') {\n update = adapter;\n adapter = '';\n }\n adapter = adapter || '';\n\n return this.request({\n cacheKey: `instances_${adapter}`,\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: async resolve => {\n const startKey = adapter ? `system.adapter.${adapter}.` : 'system.adapter.';\n const endKey = `${startKey}\\u9999`;\n\n const instances = await this.getObjectViewSystem('instance', startKey, endKey);\n const instanceObjects = Object.values(instances);\n if (adapter) {\n resolve(instanceObjects.filter(o => o.common.name === adapter));\n } else {\n resolve(instanceObjects);\n }\n },\n });\n }\n\n /**\n * Get adapters with the given name.\n *\n * @param adapter The name of the adapter.\n * @param update Force update.\n */\n getAdapters(adapter?: string, update?: boolean): Promise {\n if (typeof adapter === 'boolean') {\n update = adapter;\n adapter = '';\n }\n adapter = adapter || '';\n\n return this.request({\n cacheKey: `adapter_${adapter}`,\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: async resolve => {\n const adapters = await this.getObjectViewSystem(\n 'adapter',\n `system.adapter.${adapter || ''}`,\n `system.adapter.${adapter || '\\u9999'}`,\n );\n const adapterObjects = Object.values(adapters);\n if (adapter) {\n resolve(adapterObjects.filter(o => o.common.name === adapter));\n } else {\n resolve(adapterObjects);\n }\n },\n });\n }\n\n /**\n * Get the list of all groups.\n *\n * @param update Force update.\n */\n getGroups(update?: boolean): Promise {\n return this.request({\n cacheKey: 'groups',\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit(\n 'getObjectView',\n 'system',\n 'group',\n {\n startkey: 'system.group.',\n endkey: 'system.group.\\u9999',\n },\n (err, doc) => {\n if (err) {\n reject(err);\n } else {\n resolve(getObjectViewResultToArray(doc));\n }\n },\n );\n },\n });\n }\n\n /**\n * Logout current user\n */\n logout(): Promise {\n return this.request({\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('logout', err => {\n err ? reject(err) : resolve(null);\n });\n },\n });\n }\n\n /**\n * Subscribe on instance message\n *\n * @param targetInstance instance, like 'cameras.0'\n * @param messageType message type like 'startCamera/cam3'\n * @param data optional data object\n * @param callback message handler\n */\n subscribeOnInstance(\n targetInstance: string,\n messageType: string,\n data: any,\n callback: InstanceMessageCallback,\n ): Promise<{\n error?: string;\n accepted?: boolean;\n heartbeat?: number;\n } | null> {\n return this.request({\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('clientSubscribe', targetInstance, messageType, data, (err, subscribeResult) => {\n if (err) {\n reject(err);\n } else if (subscribeResult) {\n if (subscribeResult.error) {\n reject(subscribeResult.error);\n } else {\n if (!targetInstance.startsWith('system.adapter.')) {\n targetInstance = `system.adapter.${targetInstance}`;\n }\n // save callback\n this._instanceSubscriptions[targetInstance] =\n this._instanceSubscriptions[targetInstance] || [];\n\n if (\n !this._instanceSubscriptions[targetInstance].find(\n subscription =>\n subscription.messageType === messageType && subscription.callback === callback,\n )\n ) {\n this._instanceSubscriptions[targetInstance].push({\n messageType,\n callback,\n });\n }\n resolve(subscribeResult);\n }\n }\n });\n },\n });\n }\n\n /**\n * Unsubscribe from instance message\n *\n * @param targetInstance instance, like 'cameras.0'\n * @param messageType message type like 'startCamera/cam3'\n * @param callback message handler\n */\n unsubscribeFromInstance(\n targetInstance: string,\n messageType: string,\n callback: InstanceMessageCallback,\n ): Promise {\n if (!targetInstance.startsWith('system.adapter.')) {\n targetInstance = `system.adapter.${targetInstance}`;\n }\n\n let deleted;\n const promiseResults = [];\n do {\n deleted = false;\n const index = this._instanceSubscriptions[targetInstance]?.findIndex(\n sub => (!messageType || sub.messageType === messageType) && (!callback || sub.callback === callback),\n );\n\n if (index !== undefined && index !== null && index !== -1) {\n deleted = true;\n // remember messageType\n const _messageType = this._instanceSubscriptions[targetInstance][index].messageType;\n\n this._instanceSubscriptions[targetInstance].splice(index, 1);\n if (!this._instanceSubscriptions[targetInstance].length) {\n delete this._instanceSubscriptions[targetInstance];\n }\n\n // try to find another subscription for this instance and messageType\n const found =\n this._instanceSubscriptions[targetInstance] &&\n this._instanceSubscriptions[targetInstance].find(sub => sub.messageType === _messageType);\n\n if (!found) {\n promiseResults.push(\n this.request({\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit(\n 'clientUnsubscribe',\n targetInstance,\n messageType,\n (err, wasSubscribed) => (err ? reject(err) : resolve(wasSubscribed)),\n );\n },\n }),\n );\n }\n }\n } while (deleted && (!callback || !messageType));\n\n if (promiseResults.length) {\n return Promise.all(promiseResults).then(results => !!results.find(result => result));\n }\n\n return Promise.resolve(false);\n }\n\n /**\n * Send log to ioBroker log\n *\n * @param text Log text\n * @param level `info`, `debug`, `warn`, `error` or `silly`\n */\n log(text: string, level?: string): Promise {\n return text\n ? this.request({\n commandTimeout: false,\n executor: resolve => {\n this._socket.emit('log', text, level);\n return resolve(null);\n },\n })\n : Promise.resolve(null);\n }\n\n /**\n * This is a special method for vis.\n * It is used to not send to server the changes about \"nothing_selected\" state\n *\n * @param id The state that has to be ignored by communication\n */\n setStateToIgnore(id: string): void {\n this.ignoreState = id;\n }\n}\n", "import { Connection, ERRORS, type RequestOptions } from './Connection.js';\nimport type { ConnectionProps } from './ConnectionProps.js';\nimport type {\n AdminEmitEvents,\n AdminListenEvents,\n CompactAdapterInfo,\n CompactHost,\n CompactInstalledInfo,\n CompactInstanceInfo,\n CompactRepository,\n CompactSystemRepository,\n License,\n LogFile,\n} from './SocketEvents.js';\nimport { getObjectViewResultToArray, normalizeHostId, objectIdToHostname } from './tools.js';\n\ninterface Certificate {\n name: string;\n type: 'public' | 'private' | 'chained';\n}\n\n// taken from \"@iobroker/js-controller-common-db/build/lib/common/notificationHandler\"\nexport type MultilingualObject = Exclude;\nexport type Severity = 'info' | 'notify' | 'alert';\nexport interface NotificationMessageObject {\n message: string;\n ts: number;\n}\n\nexport interface FilteredNotificationInformation {\n [scope: string]: {\n description: MultilingualObject;\n name: MultilingualObject;\n categories: {\n [category: string]: {\n description: MultilingualObject;\n name: MultilingualObject;\n severity: Severity;\n instances: {\n [instance: string]: {\n messages: NotificationMessageObject[];\n };\n };\n };\n };\n };\n}\n\nfunction parseCertificate(name: string, cert: string): Certificate | void {\n if (!cert) {\n return;\n }\n\n let type: Certificate['type'];\n // If it is a filename, it could be everything\n if (cert.length < 700 && (cert.indexOf('/') !== -1 || cert.indexOf('\\\\') !== -1)) {\n if (name.toLowerCase().includes('private')) {\n type = 'private';\n } else if (cert.toLowerCase().includes('private')) {\n type = 'private';\n } else if (name.toLowerCase().includes('public')) {\n type = 'public';\n } else if (cert.toLowerCase().includes('public')) {\n type = 'public';\n } else if (name.toLowerCase().includes('chain')) {\n type = 'chained';\n } else if (cert.toLowerCase().includes('chain')) {\n type = 'chained';\n } else {\n // TODO: is this correct?\n return;\n }\n } else {\n type =\n cert.substring(0, '-----BEGIN RSA PRIVATE KEY'.length) === '-----BEGIN RSA PRIVATE KEY' ||\n cert.substring(0, '-----BEGIN PRIVATE KEY'.length) === '-----BEGIN PRIVATE KEY'\n ? 'private'\n : 'public';\n\n if (type === 'public') {\n const m = cert.split('-----END CERTIFICATE-----');\n if (m.filter(t => t.replace(/\\r\\n|\\r|\\n/, '').trim()).length > 1) {\n type = 'chained';\n }\n }\n }\n return { name, type };\n}\n\nexport interface IPAddress {\n name: string;\n address: string;\n family: 'ipv4' | 'ipv6';\n internal?: boolean;\n}\n\ninterface IPAddresses {\n IPs4: IPAddress[];\n IPs6: IPAddress[];\n}\n\nfunction parseIPAddresses(host: ioBroker.HostObject): IPAddresses {\n const IPs4: IPAddress[] = [\n {\n name: '[IPv4] 0.0.0.0 - Listen on all IPs',\n address: '0.0.0.0',\n family: 'ipv4',\n },\n ];\n const IPs6: IPAddress[] = [\n {\n name: '[IPv6] :: - Listen on all IPs',\n address: '::',\n family: 'ipv6',\n },\n ];\n if (host.native?.hardware?.networkInterfaces) {\n for (const [eth, iface] of Object.entries(host.native.hardware.networkInterfaces)) {\n if (!iface) {\n continue;\n }\n\n for (const ip of iface) {\n if (ip.family !== 'IPv6') {\n IPs4.push({\n name: `[${ip.family}] ${ip.address} - ${eth}`,\n address: ip.address,\n family: 'ipv4',\n });\n } else {\n IPs6.push({\n name: `[${ip.family}] ${ip.address} - ${eth}`,\n address: ip.address,\n family: 'ipv6',\n });\n }\n }\n }\n }\n return { IPs4, IPs6 };\n}\n\nexport class AdminConnection extends Connection {\n constructor(props: ConnectionProps) {\n super(props);\n }\n\n // We overload the request method here because the admin connection's methods all have `requireAdmin: true`\n protected request(options: RequestOptions): Promise {\n return super.request({ requireAdmin: true, ...options });\n }\n\n /**\n * Get the stored certificates.\n *\n * @param update Force update.\n */\n getCertificates(update?: boolean): Promise {\n return this.request({\n cacheKey: 'cert',\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: async resolve => {\n const obj = await this.getObject('system.certificates');\n if (obj?.native?.certificates) {\n resolve(\n Object.entries(obj.native.certificates)\n .map(([name, cert]) => parseCertificate(name, cert))\n .filter((cert): cert is Certificate => !!cert),\n );\n } else {\n resolve([]);\n }\n },\n });\n }\n\n /**\n * Get the logs from a host (only for admin connection).\n */\n getLogs(host: string, linesNumber: number = 200): Promise<(string | number)[] | string | { error: string }> {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: resolve => {\n this._socket.emit('sendToHost', host, 'getLogs', linesNumber || 200, (lines: any) => {\n resolve(lines);\n });\n },\n });\n }\n\n /**\n * Upgrade adapter with webserver.\n */\n upgradeAdapterWithWebserver(\n host: string,\n options: {\n version: string;\n adapterName: string;\n port: number;\n useHttps?: boolean;\n certPublicName?: string;\n certPrivateName?: string;\n },\n ): Promise<{ result: boolean }> {\n return this.request({\n commandTimeout: false,\n executor: resolve => {\n this._socket.emit(\n 'sendToHost',\n host,\n 'upgradeAdapterWithWebserver',\n options as any,\n (result: unknown) => {\n resolve(result as { result: boolean });\n },\n );\n },\n });\n }\n\n /**\n * Upgrade controller\n */\n upgradeController(host: string, version: string, adminInstance: number): Promise {\n return this.request({\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit(\n 'sendToHost',\n host,\n 'upgradeController',\n {\n version,\n adminInstance,\n } as any,\n (result: unknown) => {\n const _result = result as {\n result: string;\n error?: string;\n };\n if (_result.error) {\n reject(_result.error);\n } else {\n resolve(_result.result);\n }\n },\n );\n },\n });\n }\n\n /**\n * Read licenses from ioBroker.net anew\n */\n updateLicenses(\n /** login for ioBroker.net */\n login: string,\n /** password for ioBroker.net */\n password: string,\n ): Promise {\n return this.request({\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('updateLicenses', login, password, (err, licenses?: License[]) => {\n if (err) {\n reject(err);\n } else {\n resolve(licenses);\n }\n });\n },\n });\n }\n\n /**\n * Upgrade controller\n */\n upgradeOsPackages(\n host: string,\n packages: { name: string; version?: string }[],\n restart?: boolean,\n ): Promise<{ success: boolean; error?: string }> {\n return this.request({\n commandTimeout: false,\n executor: resolve => {\n this._socket.emit(\n 'sendToHost',\n host,\n 'upgradeOsPackages',\n {\n packages,\n restart: !!restart,\n } as any,\n (result: unknown) => {\n resolve(result as { success: boolean; error?: string });\n },\n );\n },\n });\n }\n\n /**\n * Get the log files (only for admin connection).\n */\n getLogsFiles(host: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('readLogs', host, (err, files) => {\n if (err) {\n reject(err);\n }\n resolve(files!);\n });\n },\n });\n }\n\n /**\n * Delete the logs from a host (only for admin connection).\n */\n delLogs(host: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('sendToHost', host, 'delLogs', null, err => {\n if (err) {\n reject(err);\n }\n resolve();\n });\n },\n });\n }\n\n /**\n * Delete a file of an adapter.\n *\n * @param adapter The adapter name.\n * @param fileName The file name.\n */\n deleteFile(adapter: string, fileName: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('deleteFile', adapter, fileName, err => {\n if (err) {\n reject(err);\n }\n resolve();\n });\n },\n });\n }\n\n /**\n * Delete a folder of an adapter.\n *\n * @param adapter The adapter name.\n * @param folderName The folder name.\n */\n deleteFolder(adapter: string, folderName: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('deleteFolder', adapter, folderName, err => {\n if (err) {\n reject(err);\n }\n resolve();\n });\n },\n });\n }\n /**\n * Rename file or folder in ioBroker DB\n *\n * @param adapter instance name\n * @param oldName current file name, e.g., main/vis-views.json\n * @param newName new file name, e.g., main/vis-views-new.json\n */\n rename(adapter: string, oldName: string, newName: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('rename', adapter, oldName, newName, err => {\n if (err) {\n reject(err);\n }\n resolve();\n });\n },\n });\n }\n\n /**\n * Rename file in ioBroker DB\n *\n * @param adapter instance name\n * @param oldName current file name, e.g., main/vis-views.json\n * @param newName new file name, e.g., main/vis-views-new.json\n */\n renameFile(adapter: string, oldName: string, newName: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('renameFile', adapter, oldName, newName, err => {\n if (err) {\n reject(err);\n }\n resolve();\n });\n },\n });\n }\n\n /**\n * Get the list of all hosts.\n *\n * @param update Force update.\n */\n getHosts(update?: boolean): Promise {\n return this.request({\n cacheKey: 'hosts',\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit(\n 'getObjectView',\n 'system',\n 'host',\n { startkey: 'system.host.', endkey: 'system.host.\\u9999' },\n (err, doc) => {\n if (err) {\n reject(err);\n } else {\n resolve(getObjectViewResultToArray(doc));\n }\n },\n );\n },\n });\n }\n\n /**\n * Get the list of all users.\n *\n * @param update Force update.\n */\n getUsers(update?: boolean): Promise {\n return this.request({\n cacheKey: 'users',\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit(\n 'getObjectView',\n 'system',\n 'user',\n { startkey: 'system.user.', endkey: 'system.user.\\u9999' },\n (err, doc) => {\n if (err) {\n reject(err);\n } else {\n resolve(getObjectViewResultToArray(doc));\n }\n },\n );\n },\n });\n }\n\n /**\n * Rename a group.\n *\n * @param id The id.\n * @param newId The new id.\n * @param newName The new name.\n */\n renameGroup(id: string, newId: string, newName: ioBroker.StringOrTranslated): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: async resolve => {\n const groups = await this.getGroups(true);\n // renaming a group happens by re-creating the object under a different ID\n const subGroups = groups.filter(g => g._id.startsWith(`${id}.`));\n // First, do this for all sub-groups\n for (const group of subGroups) {\n const oldGroupId = group._id;\n const newGroupId = (newId + group._id.substring(id.length)) as ioBroker.ObjectIDs.Group;\n group._id = newGroupId;\n\n // Create a new object, then delete the old one if it worked\n await this.setObject(newGroupId, group);\n await this.delObject(oldGroupId);\n }\n // Then for the parent group\n const parentGroup = groups.find(g => g._id === id);\n if (parentGroup) {\n const oldGroupId = parentGroup._id;\n parentGroup._id = newId as ioBroker.ObjectIDs.Group;\n if (newName !== undefined) {\n (parentGroup.common as any) ??= {};\n parentGroup.common.name = newName as any;\n }\n\n // Create a new object, then delete the old one if it worked\n await this.setObject(newId, parentGroup);\n await this.delObject(oldGroupId);\n }\n\n resolve();\n },\n });\n }\n\n /**\n * Get the host information.\n *\n * @param host host name\n * @param update Force update.\n * @param timeoutMs optional read timeout.\n */\n getHostInfo(host: string, update?: boolean, timeoutMs?: number): Promise {\n host = normalizeHostId(host);\n return this.request({\n cacheKey: `hostInfo_${host}`,\n forceUpdate: update,\n commandTimeout: timeoutMs,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('sendToHost', host, 'getHostInfo', null, data => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (data === ERRORS.PERMISSION_ERROR) {\n reject('May not read \"getHostInfo\"');\n } else if (!data) {\n reject('Cannot read \"getHostInfo\"');\n } else {\n resolve(data);\n }\n });\n },\n });\n }\n\n /**\n * Get the host information (short version).\n *\n * @param host host name\n * @param update Force update.\n * @param timeoutMs optional read timeout.\n */\n getHostInfoShort(host: string, update?: boolean, timeoutMs?: number): Promise {\n host = normalizeHostId(host);\n return this.request({\n cacheKey: `hostInfoShort_${host}`,\n forceUpdate: update,\n commandTimeout: timeoutMs,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('sendToHost', host, 'getHostInfoShort', null, data => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (data === ERRORS.PERMISSION_ERROR) {\n reject('May not read \"getHostInfoShort\"');\n } else if (!data) {\n reject('Cannot read \"getHostInfoShort\"');\n } else {\n resolve(data);\n }\n });\n },\n });\n }\n\n /**\n * Get the repository.\n *\n * @param host The host name.\n * @param args The arguments.\n * @param update Force update.\n * @param timeoutMs timeout in ms.\n */\n getRepository(\n host: string,\n args?: { update?: boolean; repo?: string | string[] } | string | null,\n update?: boolean,\n timeoutMs?: number,\n ): Promise {\n return this.request({\n cacheKey: `repository_${host}`,\n forceUpdate: update,\n commandTimeout: timeoutMs,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('sendToHost', host, 'getRepository', args, data => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (data === ERRORS.PERMISSION_ERROR) {\n reject('May not read \"getRepository\"');\n } else if (!data) {\n reject('Cannot read \"getRepository\"');\n } else {\n resolve(data);\n }\n });\n },\n });\n }\n\n /**\n * Get the installed.\n *\n * @param host The host name.\n * @param update Force update.\n * @param cmdTimeout timeout in ms\n */\n getInstalled(host: string, update?: boolean, cmdTimeout?: number): Promise {\n host = normalizeHostId(host);\n\n return this.request({\n cacheKey: `installed_${host}`,\n forceUpdate: update,\n commandTimeout: cmdTimeout,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('sendToHost', host, 'getInstalled', null, data => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (data === ERRORS.PERMISSION_ERROR) {\n reject('May not read \"getInstalled\"');\n } else if (!data) {\n reject('Cannot read \"getInstalled\"');\n } else {\n resolve(data);\n }\n });\n },\n });\n }\n\n /**\n * Execute a command on a host.\n */\n cmdExec(\n /** The host name. */\n host: string,\n /** The command to execute. */\n cmd: string,\n /** The command ID. */\n cmdId: number,\n /** Timeout of command in ms */\n cmdTimeout?: number,\n ): Promise {\n return this.request({\n commandTimeout: cmdTimeout,\n executor: (resolve, reject, timeout) => {\n host = normalizeHostId(host);\n\n this._socket.emit('cmdExec', host, cmdId, cmd, err => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n\n if (err) {\n reject(err);\n }\n resolve();\n });\n },\n });\n }\n\n /**\n * Read the base settings of a given host.\n *\n * @param host The host name.\n */\n readBaseSettings(host: string): Promise<{ config?: ioBroker.IoBrokerJson; isActive?: boolean }> {\n // Make sure we deal with a hostname, not an object ID\n host = objectIdToHostname(host);\n\n return this.request({\n requireFeatures: ['CONTROLLER_READWRITE_BASE_SETTINGS'],\n executor: (resolve, reject, timeout) => {\n this._socket.emit('sendToHost', host, 'readBaseSettings', null, data => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n\n if (data === ERRORS.PERMISSION_ERROR) {\n reject('May not read \"BaseSettings\"');\n } else if (!data) {\n reject('Cannot read \"BaseSettings\"');\n } else if ((data as { error?: string }).error) {\n reject(new Error((data as { error?: string }).error));\n } else {\n resolve(data as { config: ioBroker.IoBrokerJson; isActive: boolean });\n }\n });\n },\n });\n }\n\n /**\n * Write the base settings of a given host.\n *\n * @param host The host name.\n * @param config The configuration to write.\n */\n writeBaseSettings(host: string, config: ioBroker.IoBrokerJson): Promise<{ error?: any; result?: 'ok' }> {\n // Make sure we deal with a hostname, not an object ID\n host = objectIdToHostname(host);\n\n return this.request({\n requireFeatures: ['CONTROLLER_READWRITE_BASE_SETTINGS'],\n executor: (resolve, reject, timeout) => {\n this._socket.emit('sendToHost', host, 'writeBaseSettings', config, data => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n\n if (data === ERRORS.PERMISSION_ERROR) {\n reject('May not write \"BaseSettings\"');\n } else if (!data) {\n reject('Cannot write \"BaseSettings\"');\n } else {\n resolve(data);\n }\n });\n },\n });\n }\n\n /**\n * Send command to restart the iobroker on host\n *\n * @param host The host name.\n */\n restartController(host: string): Promise {\n // Make sure we deal with a hostname, not an object ID\n host = objectIdToHostname(host);\n\n return this.request({\n executor: (resolve, reject, timeout) => {\n this._socket.emit('sendToHost', host, 'restartController', null, () => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n resolve(true);\n });\n },\n });\n }\n\n /**\n * Read statistics information from host\n *\n * @param host The host name.\n * @param typeOfDiag one of none, normal, no-city, extended\n */\n getDiagData(host: string, typeOfDiag: string): Promise | null> {\n // Make sure we deal with a hostname, not an object ID\n host = objectIdToHostname(host);\n\n return this.request({\n executor: (resolve, _reject, timeout) => {\n this._socket.emit('sendToHost', host, 'getDiagData', typeOfDiag, result => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (!result) {\n resolve(null);\n } else {\n resolve(result as Promise>);\n }\n });\n },\n });\n }\n\n /**\n * Change the password of the given user.\n *\n * @param user The user name.\n * @param password The new password.\n */\n changePassword(user: string, password: string): Promise {\n return this.request({\n executor: (resolve, reject, timeout) => {\n this._socket.emit('changePassword', user, password, err => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve();\n });\n },\n });\n }\n\n /**\n * Get the IP addresses of the given host.\n *\n * @param host The host name.\n * @param update Force update.\n */\n getIpAddresses(host: string, update?: boolean): Promise {\n host = normalizeHostId(host);\n return this.request({\n cacheKey: `IPs_${host}`,\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: async resolve => {\n const obj = await this.getObject(host);\n resolve(obj?.common.address ?? []);\n },\n });\n }\n\n /**\n * Get the IP addresses with interface names of the given host or find host by IP.\n *\n * @param ipOrHostName The IP address or host name.\n * @param update Force update.\n */\n getHostByIp(ipOrHostName: string, update?: boolean): Promise {\n // Make sure we deal with a hostname, not an object ID\n ipOrHostName = objectIdToHostname(ipOrHostName);\n\n return this.request({\n cacheKey: `rIPs_${ipOrHostName}`,\n forceUpdate: update,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getHostByIp', ipOrHostName, (ip, host) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n\n const { IPs4, IPs6 } = parseIPAddresses(host);\n resolve([...IPs4, ...IPs6]);\n });\n },\n });\n }\n\n /**\n * Encrypt a text\n *\n * @param plaintext The text to encrypt.\n */\n encrypt(plaintext: string): Promise {\n return this.request({\n executor: (resolve, reject, timeout) => {\n this._socket.emit('encrypt', plaintext, (err, ciphertext) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(ciphertext!);\n });\n },\n });\n }\n\n /**\n * Decrypt a text\n *\n * @param ciphertext The text to decrypt.\n */\n decrypt(ciphertext: string): Promise {\n return this.request({\n executor: (resolve, reject, timeout) => {\n this._socket.emit('decrypt', ciphertext, (err, plaintext) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(plaintext!);\n });\n },\n });\n }\n\n /**\n * Change access rights for file\n *\n * @param adapter adapter name\n * @param path file name with a full path. It could be like 'vis.0/*'\n * @param options like {mode: 0x644}\n * @param options.mode The new mode for the file\n */\n chmodFile(\n adapter: string | null,\n path: string,\n options?: { mode: number | string },\n ): Promise {\n return this.request({\n executor: (resolve, reject, timeout) => {\n this._socket.emit('chmodFile', adapter, path, options, (err, processed) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(processed!);\n });\n },\n });\n }\n\n /**\n * Change an owner or/and owner group for file\n *\n * @param adapter adapter name\n * @param filename file name with a full path. it could be like vis.0/*\n * @param options like {owner: \"newOwner\", ownerGroup: \"newGroup\"}\n * @param options.owner The new owner for the file\n * @param options.ownerGroup The new owner group for the file\n */\n chownFile(\n adapter: string,\n filename: string,\n options?: { owner?: string; ownerGroup?: string },\n ): Promise {\n return this.request({\n executor: (resolve, reject, timeout) => {\n this._socket.emit('chownFile', adapter, filename, options, (err, processed) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(processed!);\n });\n },\n });\n }\n\n /**\n * Get the alarm notifications from a host (only for admin connection).\n *\n * @param host The host name.\n * @param category - optional\n */\n getNotifications(host: string, category?: string): Promise {\n return this.request({\n executor: (resolve, reject, timeout) => {\n this._socket.emit('sendToHost', host, 'getNotifications', { category }, notifications => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n resolve(\n notifications as {\n result: FilteredNotificationInformation;\n },\n );\n });\n },\n });\n }\n\n /**\n * Clear the alarm notifications on a host (only for admin connection).\n *\n * @param host The host name.\n * @param category - optional\n */\n clearNotifications(host: string, category: string): Promise {\n return this.request({\n executor: (resolve, reject, timeout) => {\n this._socket.emit('sendToHost', host, 'clearNotifications', { category }, notifications => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n resolve(notifications);\n });\n },\n });\n }\n\n /**\n * Read if only easy mode is allowed (only for admin connection).\n */\n getIsEasyModeStrict(): Promise {\n return this.request({\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getIsEasyModeStrict', (err, isStrict) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(!!isStrict);\n });\n },\n });\n }\n\n /**\n * Read easy mode configuration (only for admin connection).\n */\n getEasyMode(): Promise<{\n strict: boolean;\n configs: {\n id: string;\n title: ioBroker.StringOrTranslated;\n desc: ioBroker.StringOrTranslated;\n color: string;\n url: string;\n icon: string;\n materialize: boolean;\n jsonConfig: boolean;\n version: string;\n }[];\n }> {\n return this.request({\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getEasyMode', (err, config) => {\n if (timeout.elapsed) {\n return;\n }\n\n timeout.clearTimeout();\n\n if (err) {\n reject(new Error(err));\n } else {\n resolve(\n config as {\n strict: boolean;\n configs: {\n id: string;\n title: ioBroker.StringOrTranslated;\n desc: ioBroker.StringOrTranslated;\n color: string;\n url: string;\n icon: string;\n materialize: boolean;\n jsonConfig: boolean;\n version: string;\n }[];\n },\n );\n }\n });\n },\n });\n }\n\n /**\n * Read adapter ratings\n */\n getRatings(update?: boolean): Promise<{\n [adapterName: string]: {\n rating: {\n r: number;\n c: number;\n };\n [versionNumber: string]: {\n r: number;\n c: number;\n };\n };\n }> {\n return this.request({\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getRatings', !!update, (err, ratings) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(new Error(err));\n } else {\n resolve(\n ratings as {\n [adapterName: string]: {\n rating: {\n r: number;\n c: number;\n };\n [versionNumber: string]: {\n r: number;\n c: number;\n };\n };\n },\n );\n }\n });\n },\n });\n }\n\n getCurrentSession(cmdTimeout?: number): any {\n const controller = new AbortController();\n\n return this.request({\n commandTimeout: cmdTimeout || 5000,\n onTimeout: () => {\n controller.abort();\n },\n executor: async (resolve, reject, timeout) => {\n try {\n const res = await fetch('./session', {\n signal: controller.signal,\n });\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n resolve(res.json());\n } catch (e) {\n reject(`getCurrentSession: ${e}`);\n }\n },\n });\n }\n\n /**\n * Read current web, socketio or admin namespace, like admin.0\n */\n getCurrentInstance(): Promise {\n return this.request({\n cacheKey: 'currentInstance',\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getCurrentInstance', (err, namespace) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(namespace!);\n });\n },\n });\n }\n\n /**\n * Get all instances of the given adapter or get all instances.\n *\n * @param adapter The name of the adapter.\n * @param update Force update.\n */\n getAdapterInstances(adapter?: string | boolean, update?: boolean): Promise {\n let adapterStr: string;\n if (typeof adapter === 'boolean') {\n update = adapter;\n adapterStr = '';\n } else {\n adapterStr = adapter || '';\n }\n\n return this.request({\n cacheKey: `instances_${adapterStr}`,\n forceUpdate: update,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getAdapterInstances', adapterStr, (err, instances) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(instances!);\n });\n },\n });\n }\n\n /**\n * Get adapters with the given name or get all adapters.\n *\n * @param adapter The name of the adapter.\n * @param update Force update.\n */\n getAdapters(adapter?: string | boolean, update?: boolean): Promise {\n let adapterStr: string;\n if (typeof adapter === 'boolean') {\n update = adapter;\n adapterStr = '';\n } else {\n adapterStr = adapter || '';\n }\n\n return this.request({\n cacheKey: `adapter_${adapterStr}`,\n forceUpdate: update,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getAdapters', adapterStr, (err, adapters) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(adapters!);\n });\n },\n });\n }\n\n // returns very optimized information for adapters to minimize a connection load\n getCompactAdapters(update?: boolean): Promise> {\n return this.request({\n cacheKey: 'compactAdapters',\n forceUpdate: update,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getCompactAdapters', (err, adapters) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(adapters!);\n });\n },\n });\n }\n\n // reset cached promise, so next time the information will be requested anew\n getAdaptersResetCache(adapter?: string): void {\n adapter = adapter ?? '';\n this.resetCache(`adapter_${adapter}`);\n this.resetCache(`compactAdapters`);\n }\n\n // returns very optimized information for adapters to minimize a connection load\n getCompactInstances(update?: boolean): Promise> {\n return this.request({\n cacheKey: 'compactInstances',\n forceUpdate: update,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getCompactInstances', (err, instances) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(instances!);\n });\n },\n });\n }\n\n // reset cached promise, so next time the information will be requested anew\n getAdapterInstancesResetCache(adapter?: string): void {\n adapter = adapter ?? '';\n this.resetCache(`instances_${adapter}`);\n this.resetCache(`compactInstances`);\n }\n\n // returns very optimized information for adapters to minimize a connection load\n // reads only a version of installed adapter\n getCompactInstalled(host: string, update?: boolean, cmdTimeout?: number): Promise {\n host = normalizeHostId(host);\n\n return this.request({\n cacheKey: `installedCompact_${host}`,\n forceUpdate: update,\n commandTimeout: cmdTimeout,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getCompactInstalled', host, data => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n\n if (data === ERRORS.PERMISSION_ERROR) {\n reject('May not read \"getCompactInstalled\"');\n } else if (!data) {\n reject('Cannot read \"getCompactInstalled\"');\n } else {\n resolve(data);\n }\n });\n },\n });\n }\n\n // reset cached promise, so next time the information will be requested anew\n getInstalledResetCache(host?: string): void {\n if (!host) {\n this.resetCache(`installedCompact_`, true);\n this.resetCache(`installed_`, true);\n } else {\n this.resetCache(`installedCompact_${host}`);\n this.resetCache(`installed_${host}`);\n }\n }\n\n /**\n * Get the repository in compact form (only version and icon).\n *\n * @param host The host name.\n * @param update Force update.\n * @param timeoutMs timeout in ms.\n */\n getCompactRepository(host: string, update?: boolean, timeoutMs?: number): Promise {\n host = normalizeHostId(host);\n\n return this.request({\n cacheKey: `repositoryCompact_${host}`,\n forceUpdate: update,\n commandTimeout: timeoutMs,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getCompactRepository', host, data => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n\n if (data === ERRORS.PERMISSION_ERROR) {\n reject('May not read \"getCompactRepository\"');\n } else if (!data) {\n reject('Cannot read \"getCompactRepository\"');\n } else {\n resolve(data);\n }\n });\n },\n });\n }\n\n // reset cached promise, so next time the information will be requested anew\n getRepositoryResetCache(host: string): void {\n if (!host) {\n this.resetCache(`repositoryCompact_`, true);\n this.resetCache(`repository_`, true);\n } else {\n this.resetCache(`repositoryCompact_${host}`);\n this.resetCache(`repository_${host}`);\n }\n }\n\n /**\n * Get the list of all hosts in compact form (only _id, common.name, common.icon, common.color, native.hardware.networkInterfaces)\n *\n * @param update Force update.\n */\n getCompactHosts(update?: boolean): Promise {\n return this.request({\n cacheKey: 'hostsCompact',\n forceUpdate: update,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getCompactHosts', (err, compactHostsInfo) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(compactHostsInfo!);\n });\n },\n });\n }\n\n /**\n * Get `system.repository` without big JSON\n */\n getCompactSystemRepositories(update?: boolean): Promise {\n return this.request({\n cacheKey: 'repositoriesCompact',\n forceUpdate: update,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getCompactSystemRepositories', (err, systemRepositories) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(systemRepositories!);\n });\n },\n });\n }\n}\n", "declare const __DEBUG_BUILD__: boolean;\n\n/**\n * This serves as a build time flag that will be true by default, but false in non-debug builds or if users replace `__SENTRY_DEBUG__` in their generated code.\n *\n * ATTENTION: This constant must never cross package boundaries (i.e. be exported) to guarantee that it can be used for tree shaking.\n */\nexport const DEBUG_BUILD = __DEBUG_BUILD__;\n", "// This is a magic string replaced by rollup\ndeclare const __SENTRY_SDK_VERSION__: string;\n\nexport const SDK_VERSION = typeof __SENTRY_SDK_VERSION__ === 'string' ? __SENTRY_SDK_VERSION__ : '0.0.0-unknown.0';\n", "/**\n * NOTE: In order to avoid circular dependencies, if you add a function to this module and it needs to print something,\n * you must either a) use `console.log` rather than the logger, or b) put your function elsewhere.\n *\n * Note: This file was originally called `global.ts`, but was changed to unblock users which might be doing\n * string replaces with bundlers like Vite for `global` (would break imports that rely on importing from utils/src/global).\n *\n * Why worldwide?\n *\n * Why not?\n */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport type { Client, MetricsAggregator, Scope } from '@sentry/types';\n\nimport type { SdkSource } from './env';\nimport type { logger } from './logger';\nimport { SDK_VERSION } from './version';\n\ninterface SentryCarrier {\n acs?: any;\n stack?: any;\n\n globalScope?: Scope;\n defaultIsolationScope?: Scope;\n defaultCurrentScope?: Scope;\n globalMetricsAggregators?: WeakMap | undefined;\n logger?: typeof logger;\n\n /** Overwrites TextEncoder used in `@sentry/core`, need for `react-native@0.73` and older */\n encodePolyfill?: (input: string) => Uint8Array;\n /** Overwrites TextDecoder used in `@sentry/core`, need for `react-native@0.73` and older */\n decodePolyfill?: (input: Uint8Array) => string;\n}\n\n// TODO(v9): Clean up or remove this type\ntype BackwardsCompatibleSentryCarrier = SentryCarrier & {\n // pre-v7 hub (replaced by .stack)\n hub: any;\n integrations?: any[];\n logger: any;\n extensions?: {\n /** Extension methods for the hub, which are bound to the current Hub instance */\n // eslint-disable-next-line @typescript-eslint/ban-types\n [key: string]: Function;\n };\n};\n\n/** Internal global with common properties and Sentry extensions */\nexport type InternalGlobal = {\n navigator?: { userAgent?: string };\n console: Console;\n PerformanceObserver?: any;\n Sentry?: any;\n onerror?: {\n (event: object | string, source?: string, lineno?: number, colno?: number, error?: Error): any;\n __SENTRY_INSTRUMENTED__?: true;\n __SENTRY_LOADER__?: true;\n };\n onunhandledrejection?: {\n (event: unknown): boolean;\n __SENTRY_INSTRUMENTED__?: true;\n __SENTRY_LOADER__?: true;\n };\n SENTRY_ENVIRONMENT?: string;\n SENTRY_DSN?: string;\n SENTRY_RELEASE?: {\n id?: string;\n };\n SENTRY_SDK_SOURCE?: SdkSource;\n /**\n * Debug IDs are indirectly injected by Sentry CLI or bundler plugins to directly reference a particular source map\n * for resolving of a source file. The injected code will place an entry into the record for each loaded bundle/JS\n * file.\n */\n _sentryDebugIds?: Record;\n __SENTRY__: Record, SentryCarrier> & {\n version?: string;\n } & BackwardsCompatibleSentryCarrier;\n /**\n * Raw module metadata that is injected by bundler plugins.\n *\n * Keys are `error.stack` strings, values are the metadata.\n */\n _sentryModuleMetadata?: Record;\n _sentryEsmLoaderHookRegistered?: boolean;\n};\n\n/** Get's the global object for the current JavaScript runtime */\nexport const GLOBAL_OBJ = globalThis as unknown as InternalGlobal;\n\n/**\n * Returns a global singleton contained in the global `__SENTRY__[]` object.\n *\n * If the singleton doesn't already exist in `__SENTRY__`, it will be created using the given factory\n * function and added to the `__SENTRY__` object.\n *\n * @param name name of the global singleton on __SENTRY__\n * @param creator creator Factory function to create the singleton if it doesn't already exist on `__SENTRY__`\n * @param obj (Optional) The global object on which to look for `__SENTRY__`, if not `GLOBAL_OBJ`'s return value\n * @returns the singleton\n */\nexport function getGlobalSingleton(name: keyof SentryCarrier, creator: () => T, obj?: unknown): T {\n const gbl = (obj || GLOBAL_OBJ) as InternalGlobal;\n const __SENTRY__ = (gbl.__SENTRY__ = gbl.__SENTRY__ || {});\n const versionedCarrier = (__SENTRY__[SDK_VERSION] = __SENTRY__[SDK_VERSION] || {});\n return versionedCarrier[name] || (versionedCarrier[name] = creator());\n}\n", "declare const __DEBUG_BUILD__: boolean;\n\n/**\n * This serves as a build time flag that will be true by default, but false in non-debug builds or if users replace `__SENTRY_DEBUG__` in their generated code.\n *\n * ATTENTION: This constant must never cross package boundaries (i.e. be exported) to guarantee that it can be used for tree shaking.\n */\nexport const DEBUG_BUILD = __DEBUG_BUILD__;\n", "import type { ConsoleLevel } from '@sentry/types';\n\nimport { DEBUG_BUILD } from './debug-build';\nimport { GLOBAL_OBJ, getGlobalSingleton } from './worldwide';\n\n/** Prefix for logging strings */\nconst PREFIX = 'Sentry Logger ';\n\nexport const CONSOLE_LEVELS: readonly ConsoleLevel[] = [\n 'debug',\n 'info',\n 'warn',\n 'error',\n 'log',\n 'assert',\n 'trace',\n] as const;\n\ntype LoggerMethod = (...args: unknown[]) => void;\ntype LoggerConsoleMethods = Record;\n\n/** This may be mutated by the console instrumentation. */\nexport const originalConsoleMethods: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key in ConsoleLevel]?: (...args: any[]) => void;\n} = {};\n\n/** JSDoc */\nexport interface Logger extends LoggerConsoleMethods {\n disable(): void;\n enable(): void;\n isEnabled(): boolean;\n}\n\n/**\n * Temporarily disable sentry console instrumentations.\n *\n * @param callback The function to run against the original `console` messages\n * @returns The results of the callback\n */\nexport function consoleSandbox(callback: () => T): T {\n if (!('console' in GLOBAL_OBJ)) {\n return callback();\n }\n\n const console = GLOBAL_OBJ.console as Console;\n const wrappedFuncs: Partial = {};\n\n const wrappedLevels = Object.keys(originalConsoleMethods) as ConsoleLevel[];\n\n // Restore all wrapped console methods\n wrappedLevels.forEach(level => {\n const originalConsoleMethod = originalConsoleMethods[level] as LoggerMethod;\n wrappedFuncs[level] = console[level] as LoggerMethod | undefined;\n console[level] = originalConsoleMethod;\n });\n\n try {\n return callback();\n } finally {\n // Revert restoration to wrapped state\n wrappedLevels.forEach(level => {\n console[level] = wrappedFuncs[level] as LoggerMethod;\n });\n }\n}\n\nfunction makeLogger(): Logger {\n let enabled = false;\n const logger: Partial = {\n enable: () => {\n enabled = true;\n },\n disable: () => {\n enabled = false;\n },\n isEnabled: () => enabled,\n };\n\n if (DEBUG_BUILD) {\n CONSOLE_LEVELS.forEach(name => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n logger[name] = (...args: any[]) => {\n if (enabled) {\n consoleSandbox(() => {\n GLOBAL_OBJ.console[name](`${PREFIX}[${name}]:`, ...args);\n });\n }\n };\n });\n } else {\n CONSOLE_LEVELS.forEach(name => {\n logger[name] = () => undefined;\n });\n }\n\n return logger as Logger;\n}\n\n/**\n * This is a logger singleton which either logs things or no-ops if logging is not enabled.\n * The logger is a singleton on the carrier, to ensure that a consistent logger is used throughout the SDK.\n */\nexport const logger = getGlobalSingleton('logger', makeLogger);\n", "import type { Event, StackFrame, StackLineParser, StackParser } from '@sentry/types';\n\nconst STACKTRACE_FRAME_LIMIT = 50;\nexport const UNKNOWN_FUNCTION = '?';\n// Used to sanitize webpack (error: *) wrapped stack errors\nconst WEBPACK_ERROR_REGEXP = /\\(error: (.*)\\)/;\nconst STRIP_FRAME_REGEXP = /captureMessage|captureException/;\n\n/**\n * Creates a stack parser with the supplied line parsers\n *\n * StackFrames are returned in the correct order for Sentry Exception\n * frames and with Sentry SDK internal frames removed from the top and bottom\n *\n */\nexport function createStackParser(...parsers: StackLineParser[]): StackParser {\n const sortedParsers = parsers.sort((a, b) => a[0] - b[0]).map(p => p[1]);\n\n return (stack: string, skipFirstLines: number = 0, framesToPop: number = 0): StackFrame[] => {\n const frames: StackFrame[] = [];\n const lines = stack.split('\\n');\n\n for (let i = skipFirstLines; i < lines.length; i++) {\n const line = lines[i] as string;\n // Ignore lines over 1kb as they are unlikely to be stack frames.\n // Many of the regular expressions use backtracking which results in run time that increases exponentially with\n // input size. Huge strings can result in hangs/Denial of Service:\n // https://github.com/getsentry/sentry-javascript/issues/2286\n if (line.length > 1024) {\n continue;\n }\n\n // https://github.com/getsentry/sentry-javascript/issues/5459\n // Remove webpack (error: *) wrappers\n const cleanedLine = WEBPACK_ERROR_REGEXP.test(line) ? line.replace(WEBPACK_ERROR_REGEXP, '$1') : line;\n\n // https://github.com/getsentry/sentry-javascript/issues/7813\n // Skip Error: lines\n if (cleanedLine.match(/\\S*Error: /)) {\n continue;\n }\n\n for (const parser of sortedParsers) {\n const frame = parser(cleanedLine);\n\n if (frame) {\n frames.push(frame);\n break;\n }\n }\n\n if (frames.length >= STACKTRACE_FRAME_LIMIT + framesToPop) {\n break;\n }\n }\n\n return stripSentryFramesAndReverse(frames.slice(framesToPop));\n };\n}\n\n/**\n * Gets a stack parser implementation from Options.stackParser\n * @see Options\n *\n * If options contains an array of line parsers, it is converted into a parser\n */\nexport function stackParserFromStackParserOptions(stackParser: StackParser | StackLineParser[]): StackParser {\n if (Array.isArray(stackParser)) {\n return createStackParser(...stackParser);\n }\n return stackParser;\n}\n\n/**\n * Removes Sentry frames from the top and bottom of the stack if present and enforces a limit of max number of frames.\n * Assumes stack input is ordered from top to bottom and returns the reverse representation so call site of the\n * function that caused the crash is the last frame in the array.\n * @hidden\n */\nexport function stripSentryFramesAndReverse(stack: ReadonlyArray): StackFrame[] {\n if (!stack.length) {\n return [];\n }\n\n const localStack = Array.from(stack);\n\n // If stack starts with one of our API calls, remove it (starts, meaning it's the top of the stack - aka last call)\n if (/sentryWrapped/.test(getLastStackFrame(localStack).function || '')) {\n localStack.pop();\n }\n\n // Reversing in the middle of the procedure allows us to just pop the values off the stack\n localStack.reverse();\n\n // If stack ends with one of our internal API calls, remove it (ends, meaning it's the bottom of the stack - aka top-most call)\n if (STRIP_FRAME_REGEXP.test(getLastStackFrame(localStack).function || '')) {\n localStack.pop();\n\n // When using synthetic events, we will have a 2 levels deep stack, as `new Error('Sentry syntheticException')`\n // is produced within the hub itself, making it:\n //\n // Sentry.captureException()\n // getCurrentHub().captureException()\n //\n // instead of just the top `Sentry` call itself.\n // This forces us to possibly strip an additional frame in the exact same was as above.\n if (STRIP_FRAME_REGEXP.test(getLastStackFrame(localStack).function || '')) {\n localStack.pop();\n }\n }\n\n return localStack.slice(0, STACKTRACE_FRAME_LIMIT).map(frame => ({\n ...frame,\n filename: frame.filename || getLastStackFrame(localStack).filename,\n function: frame.function || UNKNOWN_FUNCTION,\n }));\n}\n\nfunction getLastStackFrame(arr: StackFrame[]): StackFrame {\n return arr[arr.length - 1] || {};\n}\n\nconst defaultFunctionName = '';\n\n/**\n * Safely extract function name from itself\n */\nexport function getFunctionName(fn: unknown): string {\n try {\n if (!fn || typeof fn !== 'function') {\n return defaultFunctionName;\n }\n return fn.name || defaultFunctionName;\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n return defaultFunctionName;\n }\n}\n\n/**\n * Get's stack frames from an event without needing to check for undefined properties.\n */\nexport function getFramesFromEvent(event: Event): StackFrame[] | undefined {\n const exception = event.exception;\n\n if (exception) {\n const frames: StackFrame[] = [];\n try {\n // @ts-expect-error Object could be undefined\n exception.values.forEach(value => {\n // @ts-expect-error Value could be undefined\n if (value.stacktrace.frames) {\n // @ts-expect-error Value could be undefined\n frames.push(...value.stacktrace.frames);\n }\n });\n return frames;\n } catch (_oO) {\n return undefined;\n }\n }\n return undefined;\n}\n", "import { DEBUG_BUILD } from '../debug-build';\nimport { logger } from '../logger';\nimport { getFunctionName } from '../stacktrace';\n\nexport type InstrumentHandlerType =\n | 'console'\n | 'dom'\n | 'fetch'\n | 'fetch-body-resolved'\n | 'history'\n | 'xhr'\n | 'error'\n | 'unhandledrejection';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type InstrumentHandlerCallback = (data: any) => void;\n\n// We keep the handlers globally\nconst handlers: { [key in InstrumentHandlerType]?: InstrumentHandlerCallback[] } = {};\nconst instrumented: { [key in InstrumentHandlerType]?: boolean } = {};\n\n/** Add a handler function. */\nexport function addHandler(type: InstrumentHandlerType, handler: InstrumentHandlerCallback): void {\n handlers[type] = handlers[type] || [];\n (handlers[type] as InstrumentHandlerCallback[]).push(handler);\n}\n\n/**\n * Reset all instrumentation handlers.\n * This can be used by tests to ensure we have a clean slate of instrumentation handlers.\n */\nexport function resetInstrumentationHandlers(): void {\n Object.keys(handlers).forEach(key => {\n handlers[key as InstrumentHandlerType] = undefined;\n });\n}\n\n/** Maybe run an instrumentation function, unless it was already called. */\nexport function maybeInstrument(type: InstrumentHandlerType, instrumentFn: () => void): void {\n if (!instrumented[type]) {\n instrumented[type] = true;\n try {\n instrumentFn();\n } catch (e) {\n DEBUG_BUILD && logger.error(`Error while instrumenting ${type}`, e);\n }\n }\n}\n\n/** Trigger handlers for a given instrumentation type. */\nexport function triggerHandlers(type: InstrumentHandlerType, data: unknown): void {\n const typeHandlers = type && handlers[type];\n if (!typeHandlers) {\n return;\n }\n\n for (const handler of typeHandlers) {\n try {\n handler(data);\n } catch (e) {\n DEBUG_BUILD &&\n logger.error(\n `Error while triggering instrumentation handler.\\nType: ${type}\\nName: ${getFunctionName(handler)}\\nError:`,\n e,\n );\n }\n }\n}\n", "import type { HandlerDataError } from '@sentry/types';\n\nimport { GLOBAL_OBJ } from '../worldwide';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers';\n\nlet _oldOnErrorHandler: (typeof GLOBAL_OBJ)['onerror'] | null = null;\n\n/**\n * Add an instrumentation handler for when an error is captured by the global error handler.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addGlobalErrorInstrumentationHandler(handler: (data: HandlerDataError) => void): void {\n const type = 'error';\n addHandler(type, handler);\n maybeInstrument(type, instrumentError);\n}\n\nfunction instrumentError(): void {\n _oldOnErrorHandler = GLOBAL_OBJ.onerror;\n\n GLOBAL_OBJ.onerror = function (\n msg: string | object,\n url?: string,\n line?: number,\n column?: number,\n error?: Error,\n ): boolean {\n const handlerData: HandlerDataError = {\n column,\n error,\n line,\n msg,\n url,\n };\n triggerHandlers('error', handlerData);\n\n if (_oldOnErrorHandler && !_oldOnErrorHandler.__SENTRY_LOADER__) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnErrorHandler.apply(this, arguments);\n }\n\n return false;\n };\n\n GLOBAL_OBJ.onerror.__SENTRY_INSTRUMENTED__ = true;\n}\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport type { HandlerDataUnhandledRejection } from '@sentry/types';\n\nimport { GLOBAL_OBJ } from '../worldwide';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers';\n\nlet _oldOnUnhandledRejectionHandler: (typeof GLOBAL_OBJ)['onunhandledrejection'] | null = null;\n\n/**\n * Add an instrumentation handler for when an unhandled promise rejection is captured.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addGlobalUnhandledRejectionInstrumentationHandler(\n handler: (data: HandlerDataUnhandledRejection) => void,\n): void {\n const type = 'unhandledrejection';\n addHandler(type, handler);\n maybeInstrument(type, instrumentUnhandledRejection);\n}\n\nfunction instrumentUnhandledRejection(): void {\n _oldOnUnhandledRejectionHandler = GLOBAL_OBJ.onunhandledrejection;\n\n GLOBAL_OBJ.onunhandledrejection = function (e: any): boolean {\n const handlerData: HandlerDataUnhandledRejection = e;\n triggerHandlers('unhandledrejection', handlerData);\n\n if (_oldOnUnhandledRejectionHandler && !_oldOnUnhandledRejectionHandler.__SENTRY_LOADER__) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnUnhandledRejectionHandler.apply(this, arguments);\n }\n\n return true;\n };\n\n GLOBAL_OBJ.onunhandledrejection.__SENTRY_INSTRUMENTED__ = true;\n}\n", "import type { Client, Integration, MetricsAggregator, Scope } from '@sentry/types';\nimport type { AsyncContextStack } from './asyncContext/stackStrategy';\nimport type { AsyncContextStrategy } from './asyncContext/types';\nimport { SDK_VERSION } from './utils-hoist/version';\nimport { GLOBAL_OBJ } from './utils-hoist/worldwide';\n\n/**\n * An object that contains globally accessible properties and maintains a scope stack.\n * @hidden\n */\nexport interface Carrier {\n __SENTRY__?: VersionedCarrier;\n}\n\ntype VersionedCarrier = {\n version?: string;\n} & Record, SentryCarrier>;\n\ninterface SentryCarrier {\n acs?: AsyncContextStrategy;\n stack?: AsyncContextStack;\n\n globalScope?: Scope;\n defaultIsolationScope?: Scope;\n defaultCurrentScope?: Scope;\n globalMetricsAggregators?: WeakMap | undefined;\n\n // TODO(v9): Remove these properties - they are no longer used and were left over in v8\n integrations?: Integration[];\n extensions?: {\n // eslint-disable-next-line @typescript-eslint/ban-types\n [key: string]: Function;\n };\n}\n\n/**\n * Returns the global shim registry.\n *\n * FIXME: This function is problematic, because despite always returning a valid Carrier,\n * it has an optional `__SENTRY__` property, which then in turn requires us to always perform an unnecessary check\n * at the call-site. We always access the carrier through this function, so we can guarantee that `__SENTRY__` is there.\n **/\nexport function getMainCarrier(): Carrier {\n // This ensures a Sentry carrier exists\n getSentryCarrier(GLOBAL_OBJ);\n return GLOBAL_OBJ;\n}\n\n/** Will either get the existing sentry carrier, or create a new one. */\nexport function getSentryCarrier(carrier: Carrier): SentryCarrier {\n const __SENTRY__ = (carrier.__SENTRY__ = carrier.__SENTRY__ || {});\n\n // For now: First SDK that sets the .version property wins\n __SENTRY__.version = __SENTRY__.version || SDK_VERSION;\n\n // Intentionally populating and returning the version of \"this\" SDK instance\n // rather than what's set in .version so that \"this\" SDK always gets its carrier\n return (__SENTRY__[SDK_VERSION] = __SENTRY__[SDK_VERSION] || {});\n}\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport type { ParameterizedString, PolymorphicEvent, Primitive } from '@sentry/types';\n\n// eslint-disable-next-line @typescript-eslint/unbound-method\nconst objectToString = Object.prototype.toString;\n\n/**\n * Checks whether given value's type is one of a few Error or Error-like\n * {@link isError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isError(wat: unknown): wat is Error {\n switch (objectToString.call(wat)) {\n case '[object Error]':\n case '[object Exception]':\n case '[object DOMException]':\n case '[object WebAssembly.Exception]':\n return true;\n default:\n return isInstanceOf(wat, Error);\n }\n}\n/**\n * Checks whether given value is an instance of the given built-in class.\n *\n * @param wat The value to be checked\n * @param className\n * @returns A boolean representing the result.\n */\nfunction isBuiltin(wat: unknown, className: string): boolean {\n return objectToString.call(wat) === `[object ${className}]`;\n}\n\n/**\n * Checks whether given value's type is ErrorEvent\n * {@link isErrorEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isErrorEvent(wat: unknown): boolean {\n return isBuiltin(wat, 'ErrorEvent');\n}\n\n/**\n * Checks whether given value's type is DOMError\n * {@link isDOMError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMError(wat: unknown): boolean {\n return isBuiltin(wat, 'DOMError');\n}\n\n/**\n * Checks whether given value's type is DOMException\n * {@link isDOMException}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMException(wat: unknown): boolean {\n return isBuiltin(wat, 'DOMException');\n}\n\n/**\n * Checks whether given value's type is a string\n * {@link isString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isString(wat: unknown): wat is string {\n return isBuiltin(wat, 'String');\n}\n\n/**\n * Checks whether given string is parameterized\n * {@link isParameterizedString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isParameterizedString(wat: unknown): wat is ParameterizedString {\n return (\n typeof wat === 'object' &&\n wat !== null &&\n '__sentry_template_string__' in wat &&\n '__sentry_template_values__' in wat\n );\n}\n\n/**\n * Checks whether given value is a primitive (undefined, null, number, boolean, string, bigint, symbol)\n * {@link isPrimitive}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPrimitive(wat: unknown): wat is Primitive {\n return wat === null || isParameterizedString(wat) || (typeof wat !== 'object' && typeof wat !== 'function');\n}\n\n/**\n * Checks whether given value's type is an object literal, or a class instance.\n * {@link isPlainObject}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPlainObject(wat: unknown): wat is Record {\n return isBuiltin(wat, 'Object');\n}\n\n/**\n * Checks whether given value's type is an Event instance\n * {@link isEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isEvent(wat: unknown): wat is PolymorphicEvent {\n return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\n\n/**\n * Checks whether given value's type is an Element instance\n * {@link isElement}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isElement(wat: unknown): boolean {\n return typeof Element !== 'undefined' && isInstanceOf(wat, Element);\n}\n\n/**\n * Checks whether given value's type is an regexp\n * {@link isRegExp}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isRegExp(wat: unknown): wat is RegExp {\n return isBuiltin(wat, 'RegExp');\n}\n\n/**\n * Checks whether given value has a then function.\n * @param wat A value to be checked.\n */\nexport function isThenable(wat: any): wat is PromiseLike {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return Boolean(wat && wat.then && typeof wat.then === 'function');\n}\n\n/**\n * Checks whether given value's type is a SyntheticEvent\n * {@link isSyntheticEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isSyntheticEvent(wat: unknown): boolean {\n return isPlainObject(wat) && 'nativeEvent' in wat && 'preventDefault' in wat && 'stopPropagation' in wat;\n}\n\n/**\n * Checks whether given value's type is an instance of provided constructor.\n * {@link isInstanceOf}.\n *\n * @param wat A value to be checked.\n * @param base A constructor to be used in a check.\n * @returns A boolean representing the result.\n */\nexport function isInstanceOf(wat: any, base: any): boolean {\n try {\n return wat instanceof base;\n } catch (_e) {\n return false;\n }\n}\n\ninterface VueViewModel {\n // Vue3\n __isVue?: boolean;\n // Vue2\n _isVue?: boolean;\n}\n/**\n * Checks whether given value's type is a Vue ViewModel.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isVueViewModel(wat: unknown): boolean {\n // Not using Object.prototype.toString because in Vue 3 it would read the instance's Symbol(Symbol.toStringTag) property.\n return !!(typeof wat === 'object' && wat !== null && ((wat as VueViewModel).__isVue || (wat as VueViewModel)._isVue));\n}\n", "import { isString } from './is';\nimport { GLOBAL_OBJ } from './worldwide';\n\nconst WINDOW = GLOBAL_OBJ as unknown as Window;\n\nconst DEFAULT_MAX_STRING_LENGTH = 80;\n\ntype SimpleNode = {\n parentNode: SimpleNode;\n} | null;\n\n/**\n * Given a child DOM element, returns a query-selector statement describing that\n * and its ancestors\n * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nexport function htmlTreeAsString(\n elem: unknown,\n options: string[] | { keyAttrs?: string[]; maxStringLength?: number } = {},\n): string {\n if (!elem) {\n return '';\n }\n\n // try/catch both:\n // - accessing event.target (see getsentry/raven-js#838, #768)\n // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly\n // - can throw an exception in some circumstances.\n try {\n let currentElem = elem as SimpleNode;\n const MAX_TRAVERSE_HEIGHT = 5;\n const out = [];\n let height = 0;\n let len = 0;\n const separator = ' > ';\n const sepLength = separator.length;\n let nextStr;\n const keyAttrs = Array.isArray(options) ? options : options.keyAttrs;\n const maxStringLength = (!Array.isArray(options) && options.maxStringLength) || DEFAULT_MAX_STRING_LENGTH;\n\n while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = _htmlElementAsString(currentElem, keyAttrs);\n // bail out if\n // - nextStr is the 'html' element\n // - the length of the string that would be created exceeds maxStringLength\n // (ignore this limit if we are on the first iteration)\n if (nextStr === 'html' || (height > 1 && len + out.length * sepLength + nextStr.length >= maxStringLength)) {\n break;\n }\n\n out.push(nextStr);\n\n len += nextStr.length;\n currentElem = currentElem.parentNode;\n }\n\n return out.reverse().join(separator);\n } catch (_oO) {\n return '';\n }\n}\n\n/**\n * Returns a simple, query-selector representation of a DOM element\n * e.g. [HTMLElement] => input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction _htmlElementAsString(el: unknown, keyAttrs?: string[]): string {\n const elem = el as {\n tagName?: string;\n id?: string;\n className?: string;\n getAttribute(key: string): string;\n };\n\n const out = [];\n\n if (!elem || !elem.tagName) {\n return '';\n }\n\n // @ts-expect-error WINDOW has HTMLElement\n if (WINDOW.HTMLElement) {\n // If using the component name annotation plugin, this value may be available on the DOM node\n if (elem instanceof HTMLElement && elem.dataset) {\n if (elem.dataset['sentryComponent']) {\n return elem.dataset['sentryComponent'];\n }\n if (elem.dataset['sentryElement']) {\n return elem.dataset['sentryElement'];\n }\n }\n }\n\n out.push(elem.tagName.toLowerCase());\n\n // Pairs of attribute keys defined in `serializeAttribute` and their values on element.\n const keyAttrPairs =\n keyAttrs && keyAttrs.length\n ? keyAttrs.filter(keyAttr => elem.getAttribute(keyAttr)).map(keyAttr => [keyAttr, elem.getAttribute(keyAttr)])\n : null;\n\n if (keyAttrPairs && keyAttrPairs.length) {\n keyAttrPairs.forEach(keyAttrPair => {\n out.push(`[${keyAttrPair[0]}=\"${keyAttrPair[1]}\"]`);\n });\n } else {\n if (elem.id) {\n out.push(`#${elem.id}`);\n }\n\n const className = elem.className;\n if (className && isString(className)) {\n const classes = className.split(/\\s+/);\n for (const c of classes) {\n out.push(`.${c}`);\n }\n }\n }\n const allowedAttrs = ['aria-label', 'type', 'name', 'title', 'alt'];\n for (const k of allowedAttrs) {\n const attr = elem.getAttribute(k);\n if (attr) {\n out.push(`[${k}=\"${attr}\"]`);\n }\n }\n\n return out.join('');\n}\n\n/**\n * A safe form of location.href\n */\nexport function getLocationHref(): string {\n try {\n return WINDOW.document.location.href;\n } catch (oO) {\n return '';\n }\n}\n\n/**\n * Gets a DOM element by using document.querySelector.\n *\n * This wrapper will first check for the existence of the function before\n * actually calling it so that we don't have to take care of this check,\n * every time we want to access the DOM.\n *\n * Reason: DOM/querySelector is not available in all environments.\n *\n * We have to cast to any because utils can be consumed by a variety of environments,\n * and we don't want to break TS users. If you know what element will be selected by\n * `document.querySelector`, specify it as part of the generic call. For example,\n * `const element = getDomElement('selector');`\n *\n * @param selector the selector string passed on to document.querySelector\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getDomElement(selector: string): E | null {\n if (WINDOW.document && WINDOW.document.querySelector) {\n return WINDOW.document.querySelector(selector) as unknown as E;\n }\n return null;\n}\n\n/**\n * Given a DOM element, traverses up the tree until it finds the first ancestor node\n * that has the `data-sentry-component` or `data-sentry-element` attribute with `data-sentry-component` taking\n * precedence. This attribute is added at build-time by projects that have the component name annotation plugin installed.\n *\n * @returns a string representation of the component for the provided DOM element, or `null` if not found\n */\nexport function getComponentName(elem: unknown): string | null {\n // @ts-expect-error WINDOW has HTMLElement\n if (!WINDOW.HTMLElement) {\n return null;\n }\n\n let currentElem = elem as SimpleNode;\n const MAX_TRAVERSE_HEIGHT = 5;\n for (let i = 0; i < MAX_TRAVERSE_HEIGHT; i++) {\n if (!currentElem) {\n return null;\n }\n\n if (currentElem instanceof HTMLElement) {\n if (currentElem.dataset['sentryComponent']) {\n return currentElem.dataset['sentryComponent'];\n }\n if (currentElem.dataset['sentryElement']) {\n return currentElem.dataset['sentryElement'];\n }\n }\n\n currentElem = currentElem.parentNode;\n }\n\n return null;\n}\n", "import { isRegExp, isString, isVueViewModel } from './is';\n\nexport { escapeStringForRegex } from './vendor/escapeStringForRegex';\n\n/**\n * Truncates given string to the maximum characters count\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string (0 = unlimited)\n * @returns string Encoded\n */\nexport function truncate(str: string, max: number = 0): string {\n if (typeof str !== 'string' || max === 0) {\n return str;\n }\n return str.length <= max ? str : `${str.slice(0, max)}...`;\n}\n\n/**\n * This is basically just `trim_line` from\n * https://github.com/getsentry/sentry/blob/master/src/sentry/lang/javascript/processor.py#L67\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nexport function snipLine(line: string, colno: number): string {\n let newLine = line;\n const lineLength = newLine.length;\n if (lineLength <= 150) {\n return newLine;\n }\n if (colno > lineLength) {\n // eslint-disable-next-line no-param-reassign\n colno = lineLength;\n }\n\n let start = Math.max(colno - 60, 0);\n if (start < 5) {\n start = 0;\n }\n\n let end = Math.min(start + 140, lineLength);\n if (end > lineLength - 5) {\n end = lineLength;\n }\n if (end === lineLength) {\n start = Math.max(end - 140, 0);\n }\n\n newLine = newLine.slice(start, end);\n if (start > 0) {\n newLine = `'{snip} ${newLine}`;\n }\n if (end < lineLength) {\n newLine += ' {snip}';\n }\n\n return newLine;\n}\n\n/**\n * Join values in array\n * @param input array of values to be joined together\n * @param delimiter string to be placed in-between values\n * @returns Joined values\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function safeJoin(input: any[], delimiter?: string): string {\n if (!Array.isArray(input)) {\n return '';\n }\n\n const output = [];\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < input.length; i++) {\n const value = input[i];\n try {\n // This is a hack to fix a Vue3-specific bug that causes an infinite loop of\n // console warnings. This happens when a Vue template is rendered with\n // an undeclared variable, which we try to stringify, ultimately causing\n // Vue to issue another warning which repeats indefinitely.\n // see: https://github.com/getsentry/sentry-javascript/pull/8981\n if (isVueViewModel(value)) {\n output.push('[VueViewModel]');\n } else {\n output.push(String(value));\n }\n } catch (e) {\n output.push('[value cannot be serialized]');\n }\n }\n\n return output.join(delimiter);\n}\n\n/**\n * Checks if the given value matches a regex or string\n *\n * @param value The string to test\n * @param pattern Either a regex or a string against which `value` will be matched\n * @param requireExactStringMatch If true, `value` must match `pattern` exactly. If false, `value` will match\n * `pattern` if it contains `pattern`. Only applies to string-type patterns.\n */\nexport function isMatchingPattern(\n value: string,\n pattern: RegExp | string,\n requireExactStringMatch: boolean = false,\n): boolean {\n if (!isString(value)) {\n return false;\n }\n\n if (isRegExp(pattern)) {\n return pattern.test(value);\n }\n if (isString(pattern)) {\n return requireExactStringMatch ? value === pattern : value.includes(pattern);\n }\n\n return false;\n}\n\n/**\n * Test the given string against an array of strings and regexes. By default, string matching is done on a\n * substring-inclusion basis rather than a strict equality basis\n *\n * @param testString The string to test\n * @param patterns The patterns against which to test the string\n * @param requireExactStringMatch If true, `testString` must match one of the given string patterns exactly in order to\n * count. If false, `testString` will match a string pattern if it contains that pattern.\n * @returns\n */\nexport function stringMatchesSomePattern(\n testString: string,\n patterns: Array = [],\n requireExactStringMatch: boolean = false,\n): boolean {\n return patterns.some(pattern => isMatchingPattern(testString, pattern, requireExactStringMatch));\n}\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { WrappedFunction } from '@sentry/types';\n\nimport { htmlTreeAsString } from './browser';\nimport { DEBUG_BUILD } from './debug-build';\nimport { isElement, isError, isEvent, isInstanceOf, isPlainObject, isPrimitive } from './is';\nimport { logger } from './logger';\nimport { truncate } from './string';\n\n/**\n * Replace a method in an object with a wrapped version of itself.\n *\n * @param source An object that contains a method to be wrapped.\n * @param name The name of the method to be wrapped.\n * @param replacementFactory A higher-order function that takes the original version of the given method and returns a\n * wrapped version. Note: The function returned by `replacementFactory` needs to be a non-arrow function, in order to\n * preserve the correct value of `this`, and the original method must be called using `origMethod.call(this, )` or `origMethod.apply(this, [])` (rather than being called directly), again to preserve `this`.\n * @returns void\n */\nexport function fill(source: { [key: string]: any }, name: string, replacementFactory: (...args: any[]) => any): void {\n if (!(name in source)) {\n return;\n }\n\n const original = source[name] as () => any;\n const wrapped = replacementFactory(original) as WrappedFunction;\n\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n if (typeof wrapped === 'function') {\n markFunctionWrapped(wrapped, original);\n }\n\n try {\n source[name] = wrapped;\n } catch {\n DEBUG_BUILD && logger.log(`Failed to replace method \"${name}\" in object`, source);\n }\n}\n\n/**\n * Defines a non-enumerable property on the given object.\n *\n * @param obj The object on which to set the property\n * @param name The name of the property to be set\n * @param value The value to which to set the property\n */\nexport function addNonEnumerableProperty(obj: object, name: string, value: unknown): void {\n try {\n Object.defineProperty(obj, name, {\n // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it\n value: value,\n writable: true,\n configurable: true,\n });\n } catch (o_O) {\n DEBUG_BUILD && logger.log(`Failed to add non-enumerable property \"${name}\" to object`, obj);\n }\n}\n\n/**\n * Remembers the original function on the wrapped function and\n * patches up the prototype.\n *\n * @param wrapped the wrapper function\n * @param original the original function that gets wrapped\n */\nexport function markFunctionWrapped(wrapped: WrappedFunction, original: WrappedFunction): void {\n try {\n const proto = original.prototype || {};\n wrapped.prototype = original.prototype = proto;\n addNonEnumerableProperty(wrapped, '__sentry_original__', original);\n } catch (o_O) {} // eslint-disable-line no-empty\n}\n\n/**\n * This extracts the original function if available. See\n * `markFunctionWrapped` for more information.\n *\n * @param func the function to unwrap\n * @returns the unwrapped version of the function if available.\n */\nexport function getOriginalFunction(func: WrappedFunction): WrappedFunction | undefined {\n return func.__sentry_original__;\n}\n\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n *\n * @deprecated This function is deprecated and will be removed in the next major version of the SDK.\n */\nexport function urlEncode(object: { [key: string]: any }): string {\n return Object.keys(object)\n .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(object[key])}`)\n .join('&');\n}\n\n/**\n * Transforms any `Error` or `Event` into a plain object with all of their enumerable properties, and some of their\n * non-enumerable properties attached.\n *\n * @param value Initial source that we have to transform in order for it to be usable by the serializer\n * @returns An Event or Error turned into an object - or the value argument itself, when value is neither an Event nor\n * an Error.\n */\nexport function convertToPlainObject(\n value: V,\n):\n | {\n [ownProps: string]: unknown;\n type: string;\n target: string;\n currentTarget: string;\n detail?: unknown;\n }\n | {\n [ownProps: string]: unknown;\n message: string;\n name: string;\n stack?: string;\n }\n | V {\n if (isError(value)) {\n return {\n message: value.message,\n name: value.name,\n stack: value.stack,\n ...getOwnProperties(value),\n };\n } else if (isEvent(value)) {\n const newObj: {\n [ownProps: string]: unknown;\n type: string;\n target: string;\n currentTarget: string;\n detail?: unknown;\n } = {\n type: value.type,\n target: serializeEventTarget(value.target),\n currentTarget: serializeEventTarget(value.currentTarget),\n ...getOwnProperties(value),\n };\n\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n newObj.detail = value.detail;\n }\n\n return newObj;\n } else {\n return value;\n }\n}\n\n/** Creates a string representation of the target of an `Event` object */\nfunction serializeEventTarget(target: unknown): string {\n try {\n return isElement(target) ? htmlTreeAsString(target) : Object.prototype.toString.call(target);\n } catch (_oO) {\n return '';\n }\n}\n\n/** Filters out all but an object's own properties */\nfunction getOwnProperties(obj: unknown): { [key: string]: unknown } {\n if (typeof obj === 'object' && obj !== null) {\n const extractedProps: { [key: string]: unknown } = {};\n for (const property in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, property)) {\n extractedProps[property] = (obj as Record)[property];\n }\n }\n return extractedProps;\n } else {\n return {};\n }\n}\n\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\nexport function extractExceptionKeysForMessage(exception: Record, maxLength: number = 40): string {\n const keys = Object.keys(convertToPlainObject(exception));\n keys.sort();\n\n const firstKey = keys[0];\n\n if (!firstKey) {\n return '[object has no keys]';\n }\n\n if (firstKey.length >= maxLength) {\n return truncate(firstKey, maxLength);\n }\n\n for (let includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n const serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n\n return '';\n}\n\n/**\n * Given any object, return a new object having removed all fields whose value was `undefined`.\n * Works recursively on objects and arrays.\n *\n * Attention: This function keeps circular references in the returned object.\n */\nexport function dropUndefinedKeys(inputValue: T): T {\n // This map keeps track of what already visited nodes map to.\n // Our Set - based memoBuilder doesn't work here because we want to the output object to have the same circular\n // references as the input object.\n const memoizationMap = new Map();\n\n // This function just proxies `_dropUndefinedKeys` to keep the `memoBuilder` out of this function's API\n return _dropUndefinedKeys(inputValue, memoizationMap);\n}\n\nfunction _dropUndefinedKeys(inputValue: T, memoizationMap: Map): T {\n if (isPojo(inputValue)) {\n // If this node has already been visited due to a circular reference, return the object it was mapped to in the new object\n const memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal as T;\n }\n\n const returnValue: { [key: string]: any } = {};\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n for (const key of Object.getOwnPropertyNames(inputValue)) {\n if (typeof inputValue[key] !== 'undefined') {\n returnValue[key] = _dropUndefinedKeys(inputValue[key], memoizationMap);\n }\n }\n\n return returnValue as T;\n }\n\n if (Array.isArray(inputValue)) {\n // If this node has already been visited due to a circular reference, return the array it was mapped to in the new object\n const memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal as T;\n }\n\n const returnValue: unknown[] = [];\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n inputValue.forEach((item: unknown) => {\n returnValue.push(_dropUndefinedKeys(item, memoizationMap));\n });\n\n return returnValue as unknown as T;\n }\n\n return inputValue;\n}\n\nfunction isPojo(input: unknown): input is Record {\n if (!isPlainObject(input)) {\n return false;\n }\n\n try {\n const name = (Object.getPrototypeOf(input) as { constructor: { name: string } }).constructor.name;\n return !name || name === 'Object';\n } catch {\n return true;\n }\n}\n\n/**\n * Ensure that something is an object.\n *\n * Turns `undefined` and `null` into `String`s and all other primitives into instances of their respective wrapper\n * classes (String, Boolean, Number, etc.). Acts as the identity function on non-primitives.\n *\n * @param wat The subject of the objectification\n * @returns A version of `wat` which can safely be used with `Object` class methods\n */\nexport function objectify(wat: unknown): typeof Object {\n let objectified;\n switch (true) {\n case wat === undefined || wat === null:\n objectified = new String(wat);\n break;\n\n // Though symbols and bigints do have wrapper classes (`Symbol` and `BigInt`, respectively), for whatever reason\n // those classes don't have constructors which can be used with the `new` keyword. We therefore need to cast each as\n // an object in order to wrap it.\n case typeof wat === 'symbol' || typeof wat === 'bigint':\n objectified = Object(wat);\n break;\n\n // this will catch the remaining primitives: `String`, `Number`, and `Boolean`\n case isPrimitive(wat):\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n objectified = new (wat as any).constructor(wat);\n break;\n\n // by process of elimination, at this point we know that `wat` must already be an object\n default:\n objectified = wat;\n break;\n }\n return objectified;\n}\n", "import { GLOBAL_OBJ } from './worldwide';\n\nconst ONE_SECOND_IN_MS = 1000;\n\n/**\n * A partial definition of the [Performance Web API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Performance}\n * for accessing a high-resolution monotonic clock.\n */\ninterface Performance {\n /**\n * The millisecond timestamp at which measurement began, measured in Unix time.\n */\n timeOrigin: number;\n /**\n * Returns the current millisecond timestamp, where 0 represents the start of measurement.\n */\n now(): number;\n}\n\n/**\n * Returns a timestamp in seconds since the UNIX epoch using the Date API.\n *\n * TODO(v8): Return type should be rounded.\n */\nexport function dateTimestampInSeconds(): number {\n return Date.now() / ONE_SECOND_IN_MS;\n}\n\n/**\n * Returns a wrapper around the native Performance API browser implementation, or undefined for browsers that do not\n * support the API.\n *\n * Wrapping the native API works around differences in behavior from different browsers.\n */\nfunction createUnixTimestampInSecondsFunc(): () => number {\n const { performance } = GLOBAL_OBJ as typeof GLOBAL_OBJ & { performance?: Performance };\n if (!performance || !performance.now) {\n return dateTimestampInSeconds;\n }\n\n // Some browser and environments don't have a timeOrigin, so we fallback to\n // using Date.now() to compute the starting time.\n const approxStartingTimeOrigin = Date.now() - performance.now();\n const timeOrigin = performance.timeOrigin == undefined ? approxStartingTimeOrigin : performance.timeOrigin;\n\n // performance.now() is a monotonic clock, which means it starts at 0 when the process begins. To get the current\n // wall clock time (actual UNIX timestamp), we need to add the starting time origin and the current time elapsed.\n //\n // TODO: This does not account for the case where the monotonic clock that powers performance.now() drifts from the\n // wall clock time, which causes the returned timestamp to be inaccurate. We should investigate how to detect and\n // correct for this.\n // See: https://github.com/getsentry/sentry-javascript/issues/2590\n // See: https://github.com/mdn/content/issues/4713\n // See: https://dev.to/noamr/when-a-millisecond-is-not-a-millisecond-3h6\n return () => {\n return (timeOrigin + performance.now()) / ONE_SECOND_IN_MS;\n };\n}\n\n/**\n * Returns a timestamp in seconds since the UNIX epoch using either the Performance or Date APIs, depending on the\n * availability of the Performance API.\n *\n * BUG: Note that because of how browsers implement the Performance API, the clock might stop when the computer is\n * asleep. This creates a skew between `dateTimestampInSeconds` and `timestampInSeconds`. The\n * skew can grow to arbitrary amounts like days, weeks or months.\n * See https://github.com/getsentry/sentry-javascript/issues/2590.\n */\nexport const timestampInSeconds = createUnixTimestampInSecondsFunc();\n\n/**\n * Internal helper to store what is the source of browserPerformanceTimeOrigin below. For debugging only.\n */\nexport let _browserPerformanceTimeOriginMode: string;\n\n/**\n * The number of milliseconds since the UNIX epoch. This value is only usable in a browser, and only when the\n * performance API is available.\n */\nexport const browserPerformanceTimeOrigin = ((): number | undefined => {\n // Unfortunately browsers may report an inaccurate time origin data, through either performance.timeOrigin or\n // performance.timing.navigationStart, which results in poor results in performance data. We only treat time origin\n // data as reliable if they are within a reasonable threshold of the current time.\n\n const { performance } = GLOBAL_OBJ as typeof GLOBAL_OBJ & Window;\n if (!performance || !performance.now) {\n _browserPerformanceTimeOriginMode = 'none';\n return undefined;\n }\n\n const threshold = 3600 * 1000;\n const performanceNow = performance.now();\n const dateNow = Date.now();\n\n // if timeOrigin isn't available set delta to threshold so it isn't used\n const timeOriginDelta = performance.timeOrigin\n ? Math.abs(performance.timeOrigin + performanceNow - dateNow)\n : threshold;\n const timeOriginIsReliable = timeOriginDelta < threshold;\n\n // While performance.timing.navigationStart is deprecated in favor of performance.timeOrigin, performance.timeOrigin\n // is not as widely supported. Namely, performance.timeOrigin is undefined in Safari as of writing.\n // Also as of writing, performance.timing is not available in Web Workers in mainstream browsers, so it is not always\n // a valid fallback. In the absence of an initial time provided by the browser, fallback to the current time from the\n // Date API.\n // eslint-disable-next-line deprecation/deprecation\n const navigationStart = performance.timing && performance.timing.navigationStart;\n const hasNavigationStart = typeof navigationStart === 'number';\n // if navigationStart isn't available set delta to threshold so it isn't used\n const navigationStartDelta = hasNavigationStart ? Math.abs(navigationStart + performanceNow - dateNow) : threshold;\n const navigationStartIsReliable = navigationStartDelta < threshold;\n\n if (timeOriginIsReliable || navigationStartIsReliable) {\n // Use the more reliable time origin\n if (timeOriginDelta <= navigationStartDelta) {\n _browserPerformanceTimeOriginMode = 'timeOrigin';\n return performance.timeOrigin;\n } else {\n _browserPerformanceTimeOriginMode = 'navigationStart';\n return navigationStart;\n }\n }\n\n // Either both timeOrigin and navigationStart are skewed or neither is available, fallback to Date.\n _browserPerformanceTimeOriginMode = 'dateNow';\n return dateNow;\n})();\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { Event, Exception, Mechanism, StackFrame } from '@sentry/types';\n\nimport { addNonEnumerableProperty } from './object';\nimport { snipLine } from './string';\nimport { GLOBAL_OBJ } from './worldwide';\n\ninterface CryptoInternal {\n getRandomValues(array: Uint8Array): Uint8Array;\n randomUUID?(): string;\n}\n\n/** An interface for common properties on global */\ninterface CryptoGlobal {\n msCrypto?: CryptoInternal;\n crypto?: CryptoInternal;\n}\n\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\nexport function uuid4(): string {\n const gbl = GLOBAL_OBJ as typeof GLOBAL_OBJ & CryptoGlobal;\n const crypto = gbl.crypto || gbl.msCrypto;\n\n let getRandomByte = (): number => Math.random() * 16;\n try {\n if (crypto && crypto.randomUUID) {\n return crypto.randomUUID().replace(/-/g, '');\n }\n if (crypto && crypto.getRandomValues) {\n getRandomByte = () => {\n // crypto.getRandomValues might return undefined instead of the typed array\n // in old Chromium versions (e.g. 23.0.1235.0 (151422))\n // However, `typedArray` is still filled in-place.\n // @see https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues#typedarray\n const typedArray = new Uint8Array(1);\n crypto.getRandomValues(typedArray);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return typedArray[0]!;\n };\n }\n } catch (_) {\n // some runtimes can crash invoking crypto\n // https://github.com/getsentry/sentry-javascript/issues/8935\n }\n\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n // Concatenating the following numbers as strings results in '10000000100040008000100000000000'\n return (([1e7] as unknown as string) + 1e3 + 4e3 + 8e3 + 1e11).replace(/[018]/g, c =>\n // eslint-disable-next-line no-bitwise\n ((c as unknown as number) ^ ((getRandomByte() & 15) >> ((c as unknown as number) / 4))).toString(16),\n );\n}\n\nfunction getFirstException(event: Event): Exception | undefined {\n return event.exception && event.exception.values ? event.exception.values[0] : undefined;\n}\n\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\nexport function getEventDescription(event: Event): string {\n const { message, event_id: eventId } = event;\n if (message) {\n return message;\n }\n\n const firstException = getFirstException(event);\n if (firstException) {\n if (firstException.type && firstException.value) {\n return `${firstException.type}: ${firstException.value}`;\n }\n return firstException.type || firstException.value || eventId || '';\n }\n return eventId || '';\n}\n\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\nexport function addExceptionTypeValue(event: Event, value?: string, type?: string): void {\n const exception = (event.exception = event.exception || {});\n const values = (exception.values = exception.values || []);\n const firstException = (values[0] = values[0] || {});\n if (!firstException.value) {\n firstException.value = value || '';\n }\n if (!firstException.type) {\n firstException.type = type || 'Error';\n }\n}\n\n/**\n * Adds exception mechanism data to a given event. Uses defaults if the second parameter is not passed.\n *\n * @param event The event to modify.\n * @param newMechanism Mechanism data to add to the event.\n * @hidden\n */\nexport function addExceptionMechanism(event: Event, newMechanism?: Partial): void {\n const firstException = getFirstException(event);\n if (!firstException) {\n return;\n }\n\n const defaultMechanism = { type: 'generic', handled: true };\n const currentMechanism = firstException.mechanism;\n firstException.mechanism = { ...defaultMechanism, ...currentMechanism, ...newMechanism };\n\n if (newMechanism && 'data' in newMechanism) {\n const mergedData = { ...(currentMechanism && currentMechanism.data), ...newMechanism.data };\n firstException.mechanism.data = mergedData;\n }\n}\n\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nconst SEMVER_REGEXP =\n /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n\n/**\n * Represents Semantic Versioning object\n */\ninterface SemVer {\n major?: number;\n minor?: number;\n patch?: number;\n prerelease?: string;\n buildmetadata?: string;\n}\n\nfunction _parseInt(input: string | undefined): number {\n return parseInt(input || '', 10);\n}\n\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\nexport function parseSemver(input: string): SemVer {\n const match = input.match(SEMVER_REGEXP) || [];\n const major = _parseInt(match[1]);\n const minor = _parseInt(match[2]);\n const patch = _parseInt(match[3]);\n return {\n buildmetadata: match[5],\n major: isNaN(major) ? undefined : major,\n minor: isNaN(minor) ? undefined : minor,\n patch: isNaN(patch) ? undefined : patch,\n prerelease: match[4],\n };\n}\n\n/**\n * This function adds context (pre/post/line) lines to the provided frame\n *\n * @param lines string[] containing all lines\n * @param frame StackFrame that will be mutated\n * @param linesOfContext number of context lines we want to add pre/post\n */\nexport function addContextToFrame(lines: string[], frame: StackFrame, linesOfContext: number = 5): void {\n // When there is no line number in the frame, attaching context is nonsensical and will even break grouping\n if (frame.lineno === undefined) {\n return;\n }\n\n const maxLines = lines.length;\n const sourceLine = Math.max(Math.min(maxLines - 1, frame.lineno - 1), 0);\n\n frame.pre_context = lines\n .slice(Math.max(0, sourceLine - linesOfContext), sourceLine)\n .map((line: string) => snipLine(line, 0));\n\n // We guard here to ensure this is not larger than the existing number of lines\n const lineIndex = Math.min(maxLines - 1, sourceLine);\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n frame.context_line = snipLine(lines[lineIndex]!, frame.colno || 0);\n\n frame.post_context = lines\n .slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext)\n .map((line: string) => snipLine(line, 0));\n}\n\n/**\n * Checks whether or not we've already captured the given exception (note: not an identical exception - the very object\n * in question), and marks it captured if not.\n *\n * This is useful because it's possible for an error to get captured by more than one mechanism. After we intercept and\n * record an error, we rethrow it (assuming we've intercepted it before it's reached the top-level global handlers), so\n * that we don't interfere with whatever effects the error might have had were the SDK not there. At that point, because\n * the error has been rethrown, it's possible for it to bubble up to some other code we've instrumented. If it's not\n * caught after that, it will bubble all the way up to the global handlers (which of course we also instrument). This\n * function helps us ensure that even if we encounter the same error more than once, we only record it the first time we\n * see it.\n *\n * Note: It will ignore primitives (always return `false` and not mark them as seen), as properties can't be set on\n * them. {@link: Object.objectify} can be used on exceptions to convert any that are primitives into their equivalent\n * object wrapper forms so that this check will always work. However, because we need to flag the exact object which\n * will get rethrown, and because that rethrowing happens outside of the event processing pipeline, the objectification\n * must be done before the exception captured.\n *\n * @param A thrown exception to check or flag as having been seen\n * @returns `true` if the exception has already been captured, `false` if not (with the side effect of marking it seen)\n */\nexport function checkOrSetAlreadyCaught(exception: unknown): boolean {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (exception && (exception as any).__sentry_captured__) {\n return true;\n }\n\n try {\n // set it this way rather than by assignment so that it's not ennumerable and therefore isn't recorded by the\n // `ExtraErrorData` integration\n addNonEnumerableProperty(exception as { [key: string]: unknown }, '__sentry_captured__', true);\n } catch (err) {\n // `exception` is a primitive, so we can't mark it seen\n }\n\n return false;\n}\n\n/**\n * Checks whether the given input is already an array, and if it isn't, wraps it in one.\n *\n * @param maybeArray Input to turn into an array, if necessary\n * @returns The input, if already an array, or an array with the input as the only element, if not\n *\n * @deprecated This function has been deprecated and will not be replaced.\n */\nexport function arrayify(maybeArray: T | T[]): T[] {\n return Array.isArray(maybeArray) ? maybeArray : [maybeArray];\n}\n", "/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { isThenable } from './is';\n\n/** SyncPromise internal states */\nconst enum States {\n /** Pending */\n PENDING = 0,\n /** Resolved / OK */\n RESOLVED = 1,\n /** Rejected / Error */\n REJECTED = 2,\n}\n\n// Overloads so we can call resolvedSyncPromise without arguments and generic argument\nexport function resolvedSyncPromise(): PromiseLike;\nexport function resolvedSyncPromise(value: T | PromiseLike): PromiseLike;\n\n/**\n * Creates a resolved sync promise.\n *\n * @param value the value to resolve the promise with\n * @returns the resolved sync promise\n */\nexport function resolvedSyncPromise(value?: T | PromiseLike): PromiseLike {\n return new SyncPromise(resolve => {\n resolve(value);\n });\n}\n\n/**\n * Creates a rejected sync promise.\n *\n * @param value the value to reject the promise with\n * @returns the rejected sync promise\n */\nexport function rejectedSyncPromise(reason?: any): PromiseLike {\n return new SyncPromise((_, reject) => {\n reject(reason);\n });\n}\n\n/**\n * Thenable class that behaves like a Promise and follows it's interface\n * but is not async internally\n */\nclass SyncPromise implements PromiseLike {\n private _state: States;\n private _handlers: Array<[boolean, (value: T) => void, (reason: any) => any]>;\n private _value: any;\n\n public constructor(\n executor: (resolve: (value?: T | PromiseLike | null) => void, reject: (reason?: any) => void) => void,\n ) {\n this._state = States.PENDING;\n this._handlers = [];\n\n try {\n executor(this._resolve, this._reject);\n } catch (e) {\n this._reject(e);\n }\n }\n\n /** JSDoc */\n public then(\n onfulfilled?: ((value: T) => TResult1 | PromiseLike) | null,\n onrejected?: ((reason: any) => TResult2 | PromiseLike) | null,\n ): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n this._handlers.push([\n false,\n result => {\n if (!onfulfilled) {\n // TODO: ¯\\_(ツ)_/¯\n // TODO: FIXME\n resolve(result as any);\n } else {\n try {\n resolve(onfulfilled(result));\n } catch (e) {\n reject(e);\n }\n }\n },\n reason => {\n if (!onrejected) {\n reject(reason);\n } else {\n try {\n resolve(onrejected(reason));\n } catch (e) {\n reject(e);\n }\n }\n },\n ]);\n this._executeHandlers();\n });\n }\n\n /** JSDoc */\n public catch(\n onrejected?: ((reason: any) => TResult | PromiseLike) | null,\n ): PromiseLike {\n return this.then(val => val, onrejected);\n }\n\n /** JSDoc */\n public finally(onfinally?: (() => void) | null): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n let val: TResult | any;\n let isRejected: boolean;\n\n return this.then(\n value => {\n isRejected = false;\n val = value;\n if (onfinally) {\n onfinally();\n }\n },\n reason => {\n isRejected = true;\n val = reason;\n if (onfinally) {\n onfinally();\n }\n },\n ).then(() => {\n if (isRejected) {\n reject(val);\n return;\n }\n\n resolve(val as unknown as any);\n });\n });\n }\n\n /** JSDoc */\n private readonly _resolve = (value?: T | PromiseLike | null) => {\n this._setResult(States.RESOLVED, value);\n };\n\n /** JSDoc */\n private readonly _reject = (reason?: any) => {\n this._setResult(States.REJECTED, reason);\n };\n\n /** JSDoc */\n private readonly _setResult = (state: States, value?: T | PromiseLike | any) => {\n if (this._state !== States.PENDING) {\n return;\n }\n\n if (isThenable(value)) {\n void (value as PromiseLike).then(this._resolve, this._reject);\n return;\n }\n\n this._state = state;\n this._value = value;\n\n this._executeHandlers();\n };\n\n /** JSDoc */\n private readonly _executeHandlers = () => {\n if (this._state === States.PENDING) {\n return;\n }\n\n const cachedHandlers = this._handlers.slice();\n this._handlers = [];\n\n cachedHandlers.forEach(handler => {\n if (handler[0]) {\n return;\n }\n\n if (this._state === States.RESOLVED) {\n handler[1](this._value as unknown as any);\n }\n\n if (this._state === States.REJECTED) {\n handler[2](this._value);\n }\n\n handler[0] = true;\n });\n };\n}\n\nexport { SyncPromise };\n", "import type { SerializedSession, Session, SessionContext, SessionStatus } from '@sentry/types';\nimport { dropUndefinedKeys, timestampInSeconds, uuid4 } from './utils-hoist';\n\n/**\n * Creates a new `Session` object by setting certain default parameters. If optional @param context\n * is passed, the passed properties are applied to the session object.\n *\n * @param context (optional) additional properties to be applied to the returned session object\n *\n * @returns a new `Session` object\n */\nexport function makeSession(context?: Omit): Session {\n // Both timestamp and started are in seconds since the UNIX epoch.\n const startingTime = timestampInSeconds();\n\n const session: Session = {\n sid: uuid4(),\n init: true,\n timestamp: startingTime,\n started: startingTime,\n duration: 0,\n status: 'ok',\n errors: 0,\n ignoreDuration: false,\n toJSON: () => sessionToJSON(session),\n };\n\n if (context) {\n updateSession(session, context);\n }\n\n return session;\n}\n\n/**\n * Updates a session object with the properties passed in the context.\n *\n * Note that this function mutates the passed object and returns void.\n * (Had to do this instead of returning a new and updated session because closing and sending a session\n * makes an update to the session after it was passed to the sending logic.\n * @see BaseClient.captureSession )\n *\n * @param session the `Session` to update\n * @param context the `SessionContext` holding the properties that should be updated in @param session\n */\n// eslint-disable-next-line complexity\nexport function updateSession(session: Session, context: SessionContext = {}): void {\n if (context.user) {\n if (!session.ipAddress && context.user.ip_address) {\n session.ipAddress = context.user.ip_address;\n }\n\n if (!session.did && !context.did) {\n session.did = context.user.id || context.user.email || context.user.username;\n }\n }\n\n session.timestamp = context.timestamp || timestampInSeconds();\n\n if (context.abnormal_mechanism) {\n session.abnormal_mechanism = context.abnormal_mechanism;\n }\n\n if (context.ignoreDuration) {\n session.ignoreDuration = context.ignoreDuration;\n }\n if (context.sid) {\n // Good enough uuid validation. — Kamil\n session.sid = context.sid.length === 32 ? context.sid : uuid4();\n }\n if (context.init !== undefined) {\n session.init = context.init;\n }\n if (!session.did && context.did) {\n session.did = `${context.did}`;\n }\n if (typeof context.started === 'number') {\n session.started = context.started;\n }\n if (session.ignoreDuration) {\n session.duration = undefined;\n } else if (typeof context.duration === 'number') {\n session.duration = context.duration;\n } else {\n const duration = session.timestamp - session.started;\n session.duration = duration >= 0 ? duration : 0;\n }\n if (context.release) {\n session.release = context.release;\n }\n if (context.environment) {\n session.environment = context.environment;\n }\n if (!session.ipAddress && context.ipAddress) {\n session.ipAddress = context.ipAddress;\n }\n if (!session.userAgent && context.userAgent) {\n session.userAgent = context.userAgent;\n }\n if (typeof context.errors === 'number') {\n session.errors = context.errors;\n }\n if (context.status) {\n session.status = context.status;\n }\n}\n\n/**\n * Closes a session by setting its status and updating the session object with it.\n * Internally calls `updateSession` to update the passed session object.\n *\n * Note that this function mutates the passed session (@see updateSession for explanation).\n *\n * @param session the `Session` object to be closed\n * @param status the `SessionStatus` with which the session was closed. If you don't pass a status,\n * this function will keep the previously set status, unless it was `'ok'` in which case\n * it is changed to `'exited'`.\n */\nexport function closeSession(session: Session, status?: Exclude): void {\n let context = {};\n if (status) {\n context = { status };\n } else if (session.status === 'ok') {\n context = { status: 'exited' };\n }\n\n updateSession(session, context);\n}\n\n/**\n * Serializes a passed session object to a JSON object with a slightly different structure.\n * This is necessary because the Sentry backend requires a slightly different schema of a session\n * than the one the JS SDKs use internally.\n *\n * @param session the session to be converted\n *\n * @returns a JSON object of the passed session\n */\nfunction sessionToJSON(session: Session): SerializedSession {\n return dropUndefinedKeys({\n sid: `${session.sid}`,\n init: session.init,\n // Make sure that sec is converted to ms for date constructor\n started: new Date(session.started * 1000).toISOString(),\n timestamp: new Date(session.timestamp * 1000).toISOString(),\n status: session.status,\n errors: session.errors,\n did: typeof session.did === 'number' || typeof session.did === 'string' ? `${session.did}` : undefined,\n duration: session.duration,\n abnormal_mechanism: session.abnormal_mechanism,\n attrs: {\n release: session.release,\n environment: session.environment,\n ip_address: session.ipAddress,\n user_agent: session.userAgent,\n },\n });\n}\n", "import type { PropagationContext } from '@sentry/types';\nimport { uuid4 } from './misc';\n\n/**\n * Returns a new minimal propagation context\n */\nexport function generatePropagationContext(): PropagationContext {\n return {\n traceId: uuid4(),\n spanId: uuid4().substring(16),\n };\n}\n", "/**\n * Shallow merge two objects.\n * Does not mutate the passed in objects.\n * Undefined/empty values in the merge object will overwrite existing values.\n *\n * By default, this merges 2 levels deep.\n */\nexport function merge(initialObj: T, mergeObj: T, levels = 2): T {\n // If the merge value is not an object, or we have no merge levels left,\n // we just set the value to the merge value\n if (!mergeObj || typeof mergeObj !== 'object' || levels <= 0) {\n return mergeObj;\n }\n\n // If the merge object is an empty object, and the initial object is not undefined, we return the initial object\n if (initialObj && mergeObj && Object.keys(mergeObj).length === 0) {\n return initialObj;\n }\n\n // Clone object\n const output = { ...initialObj };\n\n // Merge values into output, resursively\n for (const key in mergeObj) {\n if (Object.prototype.hasOwnProperty.call(mergeObj, key)) {\n output[key] = merge(output[key], mergeObj[key], levels - 1);\n }\n }\n\n return output;\n}\n", "import type { Scope, Span } from '@sentry/types';\nimport { addNonEnumerableProperty } from '../utils-hoist/object';\n\nconst SCOPE_SPAN_FIELD = '_sentrySpan';\n\ntype ScopeWithMaybeSpan = Scope & {\n [SCOPE_SPAN_FIELD]?: Span;\n};\n\n/**\n * Set the active span for a given scope.\n * NOTE: This should NOT be used directly, but is only used internally by the trace methods.\n */\nexport function _setSpanForScope(scope: Scope, span: Span | undefined): void {\n if (span) {\n addNonEnumerableProperty(scope as ScopeWithMaybeSpan, SCOPE_SPAN_FIELD, span);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete (scope as ScopeWithMaybeSpan)[SCOPE_SPAN_FIELD];\n }\n}\n\n/**\n * Get the active span for a given scope.\n * NOTE: This should NOT be used directly, but is only used internally by the trace methods.\n */\nexport function _getSpanForScope(scope: ScopeWithMaybeSpan): Span | undefined {\n return scope[SCOPE_SPAN_FIELD];\n}\n", "/* eslint-disable max-lines */\nimport type {\n Attachment,\n Breadcrumb,\n CaptureContext,\n Client,\n Context,\n Contexts,\n Event,\n EventHint,\n EventProcessor,\n Extra,\n Extras,\n Primitive,\n PropagationContext,\n RequestSession,\n Scope as ScopeInterface,\n ScopeContext,\n ScopeData,\n Session,\n SeverityLevel,\n User,\n} from '@sentry/types';\n\nimport { updateSession } from './session';\nimport { isPlainObject } from './utils-hoist/is';\nimport { logger } from './utils-hoist/logger';\nimport { uuid4 } from './utils-hoist/misc';\nimport { generatePropagationContext } from './utils-hoist/propagationContext';\nimport { dateTimestampInSeconds } from './utils-hoist/time';\nimport { merge } from './utils/merge';\nimport { _getSpanForScope, _setSpanForScope } from './utils/spanOnScope';\n\n/**\n * Default value for maximum number of breadcrumbs added to an event.\n */\nconst DEFAULT_MAX_BREADCRUMBS = 100;\n\n/**\n * Holds additional event information.\n */\nclass ScopeClass implements ScopeInterface {\n /** Flag if notifying is happening. */\n protected _notifyingListeners: boolean;\n\n /** Callback for client to receive scope changes. */\n protected _scopeListeners: Array<(scope: Scope) => void>;\n\n /** Callback list that will be called during event processing. */\n protected _eventProcessors: EventProcessor[];\n\n /** Array of breadcrumbs. */\n protected _breadcrumbs: Breadcrumb[];\n\n /** User */\n protected _user: User;\n\n /** Tags */\n protected _tags: { [key: string]: Primitive };\n\n /** Extra */\n protected _extra: Extras;\n\n /** Contexts */\n protected _contexts: Contexts;\n\n /** Attachments */\n protected _attachments: Attachment[];\n\n /** Propagation Context for distributed tracing */\n protected _propagationContext: PropagationContext;\n\n /**\n * A place to stash data which is needed at some point in the SDK's event processing pipeline but which shouldn't get\n * sent to Sentry\n */\n protected _sdkProcessingMetadata: { [key: string]: unknown };\n\n /** Fingerprint */\n protected _fingerprint?: string[];\n\n /** Severity */\n protected _level?: SeverityLevel;\n\n /**\n * Transaction Name\n *\n * IMPORTANT: The transaction name on the scope has nothing to do with root spans/transaction objects.\n * It's purpose is to assign a transaction to the scope that's added to non-transaction events.\n */\n protected _transactionName?: string;\n\n /** Session */\n protected _session?: Session;\n\n /** Request Mode Session Status */\n protected _requestSession?: RequestSession;\n\n /** The client on this scope */\n protected _client?: Client;\n\n /** Contains the last event id of a captured event. */\n protected _lastEventId?: string;\n\n // NOTE: Any field which gets added here should get added not only to the constructor but also to the `clone` method.\n\n public constructor() {\n this._notifyingListeners = false;\n this._scopeListeners = [];\n this._eventProcessors = [];\n this._breadcrumbs = [];\n this._attachments = [];\n this._user = {};\n this._tags = {};\n this._extra = {};\n this._contexts = {};\n this._sdkProcessingMetadata = {};\n this._propagationContext = generatePropagationContext();\n }\n\n /**\n * @inheritDoc\n */\n public clone(): ScopeClass {\n const newScope = new ScopeClass();\n newScope._breadcrumbs = [...this._breadcrumbs];\n newScope._tags = { ...this._tags };\n newScope._extra = { ...this._extra };\n newScope._contexts = { ...this._contexts };\n newScope._user = this._user;\n newScope._level = this._level;\n newScope._session = this._session;\n newScope._transactionName = this._transactionName;\n newScope._fingerprint = this._fingerprint;\n newScope._eventProcessors = [...this._eventProcessors];\n newScope._requestSession = this._requestSession;\n newScope._attachments = [...this._attachments];\n newScope._sdkProcessingMetadata = { ...this._sdkProcessingMetadata };\n newScope._propagationContext = { ...this._propagationContext };\n newScope._client = this._client;\n newScope._lastEventId = this._lastEventId;\n\n _setSpanForScope(newScope, _getSpanForScope(this));\n\n return newScope;\n }\n\n /**\n * @inheritDoc\n */\n public setClient(client: Client | undefined): void {\n this._client = client;\n }\n\n /**\n * @inheritDoc\n */\n public setLastEventId(lastEventId: string | undefined): void {\n this._lastEventId = lastEventId;\n }\n\n /**\n * @inheritDoc\n */\n public getClient(): C | undefined {\n return this._client as C | undefined;\n }\n\n /**\n * @inheritDoc\n */\n public lastEventId(): string | undefined {\n return this._lastEventId;\n }\n\n /**\n * @inheritDoc\n */\n public addScopeListener(callback: (scope: Scope) => void): void {\n this._scopeListeners.push(callback);\n }\n\n /**\n * @inheritDoc\n */\n public addEventProcessor(callback: EventProcessor): this {\n this._eventProcessors.push(callback);\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setUser(user: User | null): this {\n // If null is passed we want to unset everything, but still define keys,\n // so that later down in the pipeline any existing values are cleared.\n this._user = user || {\n email: undefined,\n id: undefined,\n ip_address: undefined,\n username: undefined,\n };\n\n if (this._session) {\n updateSession(this._session, { user });\n }\n\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getUser(): User | undefined {\n return this._user;\n }\n\n /**\n * @inheritDoc\n */\n public getRequestSession(): RequestSession | undefined {\n return this._requestSession;\n }\n\n /**\n * @inheritDoc\n */\n public setRequestSession(requestSession?: RequestSession): this {\n this._requestSession = requestSession;\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setTags(tags: { [key: string]: Primitive }): this {\n this._tags = {\n ...this._tags,\n ...tags,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setTag(key: string, value: Primitive): this {\n this._tags = { ...this._tags, [key]: value };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setExtras(extras: Extras): this {\n this._extra = {\n ...this._extra,\n ...extras,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setExtra(key: string, extra: Extra): this {\n this._extra = { ...this._extra, [key]: extra };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setFingerprint(fingerprint: string[]): this {\n this._fingerprint = fingerprint;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setLevel(level: SeverityLevel): this {\n this._level = level;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setTransactionName(name?: string): this {\n this._transactionName = name;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setContext(key: string, context: Context | null): this {\n if (context === null) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete this._contexts[key];\n } else {\n this._contexts[key] = context;\n }\n\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setSession(session?: Session): this {\n if (!session) {\n delete this._session;\n } else {\n this._session = session;\n }\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getSession(): Session | undefined {\n return this._session;\n }\n\n /**\n * @inheritDoc\n */\n public update(captureContext?: CaptureContext): this {\n if (!captureContext) {\n return this;\n }\n\n const scopeToMerge = typeof captureContext === 'function' ? captureContext(this) : captureContext;\n\n const [scopeInstance, requestSession] =\n scopeToMerge instanceof Scope\n ? [scopeToMerge.getScopeData(), scopeToMerge.getRequestSession()]\n : isPlainObject(scopeToMerge)\n ? [captureContext as ScopeContext, (captureContext as ScopeContext).requestSession]\n : [];\n\n const { tags, extra, user, contexts, level, fingerprint = [], propagationContext } = scopeInstance || {};\n\n this._tags = { ...this._tags, ...tags };\n this._extra = { ...this._extra, ...extra };\n this._contexts = { ...this._contexts, ...contexts };\n\n if (user && Object.keys(user).length) {\n this._user = user;\n }\n\n if (level) {\n this._level = level;\n }\n\n if (fingerprint.length) {\n this._fingerprint = fingerprint;\n }\n\n if (propagationContext) {\n this._propagationContext = propagationContext;\n }\n\n if (requestSession) {\n this._requestSession = requestSession;\n }\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public clear(): this {\n // client is not cleared here on purpose!\n this._breadcrumbs = [];\n this._tags = {};\n this._extra = {};\n this._user = {};\n this._contexts = {};\n this._level = undefined;\n this._transactionName = undefined;\n this._fingerprint = undefined;\n this._requestSession = undefined;\n this._session = undefined;\n _setSpanForScope(this, undefined);\n this._attachments = [];\n this._propagationContext = generatePropagationContext();\n\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public addBreadcrumb(breadcrumb: Breadcrumb, maxBreadcrumbs?: number): this {\n const maxCrumbs = typeof maxBreadcrumbs === 'number' ? maxBreadcrumbs : DEFAULT_MAX_BREADCRUMBS;\n\n // No data has been changed, so don't notify scope listeners\n if (maxCrumbs <= 0) {\n return this;\n }\n\n const mergedBreadcrumb = {\n timestamp: dateTimestampInSeconds(),\n ...breadcrumb,\n };\n\n const breadcrumbs = this._breadcrumbs;\n breadcrumbs.push(mergedBreadcrumb);\n this._breadcrumbs = breadcrumbs.length > maxCrumbs ? breadcrumbs.slice(-maxCrumbs) : breadcrumbs;\n\n this._notifyScopeListeners();\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getLastBreadcrumb(): Breadcrumb | undefined {\n return this._breadcrumbs[this._breadcrumbs.length - 1];\n }\n\n /**\n * @inheritDoc\n */\n public clearBreadcrumbs(): this {\n this._breadcrumbs = [];\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public addAttachment(attachment: Attachment): this {\n this._attachments.push(attachment);\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public clearAttachments(): this {\n this._attachments = [];\n return this;\n }\n\n /** @inheritDoc */\n public getScopeData(): ScopeData {\n return {\n breadcrumbs: this._breadcrumbs,\n attachments: this._attachments,\n contexts: this._contexts,\n tags: this._tags,\n extra: this._extra,\n user: this._user,\n level: this._level,\n fingerprint: this._fingerprint || [],\n eventProcessors: this._eventProcessors,\n propagationContext: this._propagationContext,\n sdkProcessingMetadata: this._sdkProcessingMetadata,\n transactionName: this._transactionName,\n span: _getSpanForScope(this),\n };\n }\n\n /**\n * @inheritDoc\n */\n public setSDKProcessingMetadata(newData: { [key: string]: unknown }): this {\n this._sdkProcessingMetadata = merge(this._sdkProcessingMetadata, newData, 2);\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setPropagationContext(context: PropagationContext): this {\n this._propagationContext = context;\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getPropagationContext(): PropagationContext {\n return this._propagationContext;\n }\n\n /**\n * @inheritDoc\n */\n public captureException(exception: unknown, hint?: EventHint): string {\n const eventId = hint && hint.event_id ? hint.event_id : uuid4();\n\n if (!this._client) {\n logger.warn('No client configured on scope - will not capture exception!');\n return eventId;\n }\n\n const syntheticException = new Error('Sentry syntheticException');\n\n this._client.captureException(\n exception,\n {\n originalException: exception,\n syntheticException,\n ...hint,\n event_id: eventId,\n },\n this,\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureMessage(message: string, level?: SeverityLevel, hint?: EventHint): string {\n const eventId = hint && hint.event_id ? hint.event_id : uuid4();\n\n if (!this._client) {\n logger.warn('No client configured on scope - will not capture message!');\n return eventId;\n }\n\n const syntheticException = new Error(message);\n\n this._client.captureMessage(\n message,\n level,\n {\n originalException: message,\n syntheticException,\n ...hint,\n event_id: eventId,\n },\n this,\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureEvent(event: Event, hint?: EventHint): string {\n const eventId = hint && hint.event_id ? hint.event_id : uuid4();\n\n if (!this._client) {\n logger.warn('No client configured on scope - will not capture event!');\n return eventId;\n }\n\n this._client.captureEvent(event, { ...hint, event_id: eventId }, this);\n\n return eventId;\n }\n\n /**\n * This will be called on every set call.\n */\n protected _notifyScopeListeners(): void {\n // We need this check for this._notifyingListeners to be able to work on scope during updates\n // If this check is not here we'll produce endless recursion when something is done with the scope\n // during the callback.\n if (!this._notifyingListeners) {\n this._notifyingListeners = true;\n this._scopeListeners.forEach(callback => {\n callback(this);\n });\n this._notifyingListeners = false;\n }\n }\n}\n\n// NOTE: By exporting this here as const & type, instead of doing `export class`,\n// We can get the correct class when importing from `@sentry/core`, but the original type (from `@sentry/types`)\n// This is helpful for interop, e.g. when doing `import type { Scope } from '@sentry/node';` (which re-exports this)\n\n/**\n * Holds additional event information.\n */\nexport const Scope = ScopeClass;\n\n/**\n * Holds additional event information.\n */\nexport type Scope = ScopeInterface;\n", "import type { Scope } from '@sentry/types';\nimport { Scope as ScopeClass } from './scope';\nimport { getGlobalSingleton } from './utils-hoist/worldwide';\n\n/** Get the default current scope. */\nexport function getDefaultCurrentScope(): Scope {\n return getGlobalSingleton('defaultCurrentScope', () => new ScopeClass());\n}\n\n/** Get the default isolation scope. */\nexport function getDefaultIsolationScope(): Scope {\n return getGlobalSingleton('defaultIsolationScope', () => new ScopeClass());\n}\n", "import type { Client, Scope as ScopeInterface } from '@sentry/types';\nimport { getDefaultCurrentScope, getDefaultIsolationScope } from '../defaultScopes';\nimport { Scope } from '../scope';\n\nimport { isThenable } from '../utils-hoist';\nimport { getMainCarrier, getSentryCarrier } from './../carrier';\nimport type { AsyncContextStrategy } from './types';\n\ninterface Layer {\n client?: Client;\n scope: ScopeInterface;\n}\n\n/**\n * This is an object that holds a stack of scopes.\n */\nexport class AsyncContextStack {\n private readonly _stack: [Layer, ...Layer[]];\n private _isolationScope: ScopeInterface;\n\n public constructor(scope?: ScopeInterface, isolationScope?: ScopeInterface) {\n let assignedScope;\n if (!scope) {\n assignedScope = new Scope();\n } else {\n assignedScope = scope;\n }\n\n let assignedIsolationScope;\n if (!isolationScope) {\n assignedIsolationScope = new Scope();\n } else {\n assignedIsolationScope = isolationScope;\n }\n\n // scope stack for domains or the process\n this._stack = [{ scope: assignedScope }];\n this._isolationScope = assignedIsolationScope;\n }\n\n /**\n * Fork a scope for the stack.\n */\n public withScope(callback: (scope: ScopeInterface) => T): T {\n const scope = this._pushScope();\n\n let maybePromiseResult: T;\n try {\n maybePromiseResult = callback(scope);\n } catch (e) {\n this._popScope();\n throw e;\n }\n\n if (isThenable(maybePromiseResult)) {\n // @ts-expect-error - isThenable returns the wrong type\n return maybePromiseResult.then(\n res => {\n this._popScope();\n return res;\n },\n e => {\n this._popScope();\n throw e;\n },\n );\n }\n\n this._popScope();\n return maybePromiseResult;\n }\n\n /**\n * Get the client of the stack.\n */\n public getClient(): C | undefined {\n return this.getStackTop().client as C;\n }\n\n /**\n * Returns the scope of the top stack.\n */\n public getScope(): ScopeInterface {\n return this.getStackTop().scope;\n }\n\n /**\n * Get the isolation scope for the stack.\n */\n public getIsolationScope(): ScopeInterface {\n return this._isolationScope;\n }\n\n /**\n * Returns the topmost scope layer in the order domain > local > process.\n */\n public getStackTop(): Layer {\n return this._stack[this._stack.length - 1] as Layer;\n }\n\n /**\n * Push a scope to the stack.\n */\n private _pushScope(): ScopeInterface {\n // We want to clone the content of prev scope\n const scope = this.getScope().clone();\n this._stack.push({\n client: this.getClient(),\n scope,\n });\n return scope;\n }\n\n /**\n * Pop a scope from the stack.\n */\n private _popScope(): boolean {\n if (this._stack.length <= 1) return false;\n return !!this._stack.pop();\n }\n}\n\n/**\n * Get the global async context stack.\n * This will be removed during the v8 cycle and is only here to make migration easier.\n */\nfunction getAsyncContextStack(): AsyncContextStack {\n const registry = getMainCarrier();\n const sentry = getSentryCarrier(registry);\n\n return (sentry.stack = sentry.stack || new AsyncContextStack(getDefaultCurrentScope(), getDefaultIsolationScope()));\n}\n\nfunction withScope(callback: (scope: ScopeInterface) => T): T {\n return getAsyncContextStack().withScope(callback);\n}\n\nfunction withSetScope(scope: ScopeInterface, callback: (scope: ScopeInterface) => T): T {\n const stack = getAsyncContextStack() as AsyncContextStack;\n return stack.withScope(() => {\n stack.getStackTop().scope = scope;\n return callback(scope);\n });\n}\n\nfunction withIsolationScope(callback: (isolationScope: ScopeInterface) => T): T {\n return getAsyncContextStack().withScope(() => {\n return callback(getAsyncContextStack().getIsolationScope());\n });\n}\n\n/**\n * Get the stack-based async context strategy.\n */\nexport function getStackAsyncContextStrategy(): AsyncContextStrategy {\n return {\n withIsolationScope,\n withScope,\n withSetScope,\n withSetIsolationScope: (_isolationScope: ScopeInterface, callback: (isolationScope: ScopeInterface) => T) => {\n return withIsolationScope(callback);\n },\n getCurrentScope: () => getAsyncContextStack().getScope(),\n getIsolationScope: () => getAsyncContextStack().getIsolationScope(),\n };\n}\n", "import type { Carrier } from './../carrier';\nimport { getMainCarrier, getSentryCarrier } from './../carrier';\nimport { getStackAsyncContextStrategy } from './stackStrategy';\nimport type { AsyncContextStrategy } from './types';\n\n/**\n * @private Private API with no semver guarantees!\n *\n * Sets the global async context strategy\n */\nexport function setAsyncContextStrategy(strategy: AsyncContextStrategy | undefined): void {\n // Get main carrier (global for every environment)\n const registry = getMainCarrier();\n const sentry = getSentryCarrier(registry);\n sentry.acs = strategy;\n}\n\n/**\n * Get the current async context strategy.\n * If none has been setup, the default will be used.\n */\nexport function getAsyncContextStrategy(carrier: Carrier): AsyncContextStrategy {\n const sentry = getSentryCarrier(carrier);\n\n if (sentry.acs) {\n return sentry.acs;\n }\n\n // Otherwise, use the default one (stack)\n return getStackAsyncContextStrategy();\n}\n", "import type { Scope, TraceContext } from '@sentry/types';\nimport type { Client } from '@sentry/types';\nimport { getAsyncContextStrategy } from './asyncContext';\nimport { getMainCarrier } from './carrier';\nimport { Scope as ScopeClass } from './scope';\nimport { dropUndefinedKeys } from './utils-hoist/object';\nimport { getGlobalSingleton } from './utils-hoist/worldwide';\n\n/**\n * Get the currently active scope.\n */\nexport function getCurrentScope(): Scope {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n return acs.getCurrentScope();\n}\n\n/**\n * Get the currently active isolation scope.\n * The isolation scope is active for the current execution context.\n */\nexport function getIsolationScope(): Scope {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n return acs.getIsolationScope();\n}\n\n/**\n * Get the global scope.\n * This scope is applied to _all_ events.\n */\nexport function getGlobalScope(): Scope {\n return getGlobalSingleton('globalScope', () => new ScopeClass());\n}\n\n/**\n * Creates a new scope with and executes the given operation within.\n * The scope is automatically removed once the operation\n * finishes or throws.\n */\nexport function withScope(callback: (scope: Scope) => T): T;\n/**\n * Set the given scope as the active scope in the callback.\n */\nexport function withScope(scope: Scope | undefined, callback: (scope: Scope) => T): T;\n/**\n * Either creates a new active scope, or sets the given scope as active scope in the given callback.\n */\nexport function withScope(\n ...rest: [callback: (scope: Scope) => T] | [scope: Scope | undefined, callback: (scope: Scope) => T]\n): T {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n\n // If a scope is defined, we want to make this the active scope instead of the default one\n if (rest.length === 2) {\n const [scope, callback] = rest;\n\n if (!scope) {\n return acs.withScope(callback);\n }\n\n return acs.withSetScope(scope, callback);\n }\n\n return acs.withScope(rest[0]);\n}\n\n/**\n * Attempts to fork the current isolation scope and the current scope based on the current async context strategy. If no\n * async context strategy is set, the isolation scope and the current scope will not be forked (this is currently the\n * case, for example, in the browser).\n *\n * Usage of this function in environments without async context strategy is discouraged and may lead to unexpected behaviour.\n *\n * This function is intended for Sentry SDK and SDK integration development. It is not recommended to be used in \"normal\"\n * applications directly because it comes with pitfalls. Use at your own risk!\n */\nexport function withIsolationScope(callback: (isolationScope: Scope) => T): T;\n/**\n * Set the provided isolation scope as active in the given callback. If no\n * async context strategy is set, the isolation scope and the current scope will not be forked (this is currently the\n * case, for example, in the browser).\n *\n * Usage of this function in environments without async context strategy is discouraged and may lead to unexpected behaviour.\n *\n * This function is intended for Sentry SDK and SDK integration development. It is not recommended to be used in \"normal\"\n * applications directly because it comes with pitfalls. Use at your own risk!\n *\n * If you pass in `undefined` as a scope, it will fork a new isolation scope, the same as if no scope is passed.\n */\nexport function withIsolationScope(isolationScope: Scope | undefined, callback: (isolationScope: Scope) => T): T;\n/**\n * Either creates a new active isolation scope, or sets the given isolation scope as active scope in the given callback.\n */\nexport function withIsolationScope(\n ...rest:\n | [callback: (isolationScope: Scope) => T]\n | [isolationScope: Scope | undefined, callback: (isolationScope: Scope) => T]\n): T {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n\n // If a scope is defined, we want to make this the active scope instead of the default one\n if (rest.length === 2) {\n const [isolationScope, callback] = rest;\n\n if (!isolationScope) {\n return acs.withIsolationScope(callback);\n }\n\n return acs.withSetIsolationScope(isolationScope, callback);\n }\n\n return acs.withIsolationScope(rest[0]);\n}\n\n/**\n * Get the currently active client.\n */\nexport function getClient(): C | undefined {\n return getCurrentScope().getClient();\n}\n\n/**\n * Get a trace context for the given scope.\n */\nexport function getTraceContextFromScope(scope: Scope): TraceContext {\n const propagationContext = scope.getPropagationContext();\n\n const { traceId, spanId, parentSpanId } = propagationContext;\n\n const traceContext: TraceContext = dropUndefinedKeys({\n trace_id: traceId,\n span_id: spanId,\n parent_span_id: parentSpanId,\n });\n\n return traceContext;\n}\n", "import type { MeasurementUnit, Span } from '@sentry/types';\nimport type { MetricSummary } from '@sentry/types';\nimport type { Primitive } from '@sentry/types';\nimport { dropUndefinedKeys } from '../utils-hoist/object';\nimport type { MetricType } from './types';\n\n/**\n * key: bucketKey\n * value: [exportKey, MetricSummary]\n */\ntype MetricSummaryStorage = Map;\n\nconst METRICS_SPAN_FIELD = '_sentryMetrics';\n\ntype SpanWithPotentialMetrics = Span & {\n [METRICS_SPAN_FIELD]?: MetricSummaryStorage;\n};\n\n/**\n * Fetches the metric summary if it exists for the passed span\n */\nexport function getMetricSummaryJsonForSpan(span: Span): Record> | undefined {\n const storage = (span as SpanWithPotentialMetrics)[METRICS_SPAN_FIELD];\n\n if (!storage) {\n return undefined;\n }\n const output: Record> = {};\n\n for (const [, [exportKey, summary]] of storage) {\n const arr = output[exportKey] || (output[exportKey] = []);\n arr.push(dropUndefinedKeys(summary));\n }\n\n return output;\n}\n\n/**\n * Updates the metric summary on a span.\n */\nexport function updateMetricSummaryOnSpan(\n span: Span,\n metricType: MetricType,\n sanitizedName: string,\n value: number,\n unit: MeasurementUnit,\n tags: Record,\n bucketKey: string,\n): void {\n const existingStorage = (span as SpanWithPotentialMetrics)[METRICS_SPAN_FIELD];\n const storage =\n existingStorage ||\n ((span as SpanWithPotentialMetrics)[METRICS_SPAN_FIELD] = new Map());\n\n const exportKey = `${metricType}:${sanitizedName}@${unit}`;\n const bucketItem = storage.get(bucketKey);\n\n if (bucketItem) {\n const [, summary] = bucketItem;\n storage.set(bucketKey, [\n exportKey,\n {\n min: Math.min(summary.min, value),\n max: Math.max(summary.max, value),\n count: (summary.count += 1),\n sum: (summary.sum += value),\n tags: summary.tags,\n },\n ]);\n } else {\n storage.set(bucketKey, [\n exportKey,\n {\n min: value,\n max: value,\n count: 1,\n sum: value,\n tags,\n },\n ]);\n }\n}\n", "/**\n * Use this attribute to represent the source of a span.\n * Should be one of: custom, url, route, view, component, task, unknown\n *\n */\nexport const SEMANTIC_ATTRIBUTE_SENTRY_SOURCE = 'sentry.source';\n\n/**\n * Use this attribute to represent the sample rate used for a span.\n */\nexport const SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE = 'sentry.sample_rate';\n\n/**\n * Use this attribute to represent the operation of a span.\n */\nexport const SEMANTIC_ATTRIBUTE_SENTRY_OP = 'sentry.op';\n\n/**\n * Use this attribute to represent the origin of a span.\n */\nexport const SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN = 'sentry.origin';\n\n/** The reason why an idle span finished. */\nexport const SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON = 'sentry.idle_span_finish_reason';\n\n/** The unit of a measurement, which may be stored as a TimedEvent. */\nexport const SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT = 'sentry.measurement_unit';\n\n/** The value of a measurement, which may be stored as a TimedEvent. */\nexport const SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE = 'sentry.measurement_value';\n\n/**\n * The id of the profile that this span occurred in.\n */\nexport const SEMANTIC_ATTRIBUTE_PROFILE_ID = 'sentry.profile_id';\n\nexport const SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME = 'sentry.exclusive_time';\n\nexport const SEMANTIC_ATTRIBUTE_CACHE_HIT = 'cache.hit';\n\nexport const SEMANTIC_ATTRIBUTE_CACHE_KEY = 'cache.key';\n\nexport const SEMANTIC_ATTRIBUTE_CACHE_ITEM_SIZE = 'cache.item_size';\n\n/** TODO: Remove these once we update to latest semantic conventions */\nexport const SEMANTIC_ATTRIBUTE_HTTP_REQUEST_METHOD = 'http.request.method';\nexport const SEMANTIC_ATTRIBUTE_URL_FULL = 'url.full';\n", "import type { DynamicSamplingContext } from '@sentry/types';\n\nimport { DEBUG_BUILD } from './debug-build';\nimport { isString } from './is';\nimport { logger } from './logger';\n\n/**\n * @deprecated Use a `\"baggage\"` string directly\n */\nexport const BAGGAGE_HEADER_NAME = 'baggage';\n\nexport const SENTRY_BAGGAGE_KEY_PREFIX = 'sentry-';\n\nexport const SENTRY_BAGGAGE_KEY_PREFIX_REGEX = /^sentry-/;\n\n/**\n * Max length of a serialized baggage string\n *\n * https://www.w3.org/TR/baggage/#limits\n */\nexport const MAX_BAGGAGE_STRING_LENGTH = 8192;\n\n/**\n * Takes a baggage header and turns it into Dynamic Sampling Context, by extracting all the \"sentry-\" prefixed values\n * from it.\n *\n * @param baggageHeader A very bread definition of a baggage header as it might appear in various frameworks.\n * @returns The Dynamic Sampling Context that was found on `baggageHeader`, if there was any, `undefined` otherwise.\n */\nexport function baggageHeaderToDynamicSamplingContext(\n // Very liberal definition of what any incoming header might look like\n baggageHeader: string | string[] | number | null | undefined | boolean,\n): Partial | undefined {\n const baggageObject = parseBaggageHeader(baggageHeader);\n\n if (!baggageObject) {\n return undefined;\n }\n\n // Read all \"sentry-\" prefixed values out of the baggage object and put it onto a dynamic sampling context object.\n const dynamicSamplingContext = Object.entries(baggageObject).reduce>((acc, [key, value]) => {\n if (key.match(SENTRY_BAGGAGE_KEY_PREFIX_REGEX)) {\n const nonPrefixedKey = key.slice(SENTRY_BAGGAGE_KEY_PREFIX.length);\n acc[nonPrefixedKey] = value;\n }\n return acc;\n }, {});\n\n // Only return a dynamic sampling context object if there are keys in it.\n // A keyless object means there were no sentry values on the header, which means that there is no DSC.\n if (Object.keys(dynamicSamplingContext).length > 0) {\n return dynamicSamplingContext as Partial;\n } else {\n return undefined;\n }\n}\n\n/**\n * Turns a Dynamic Sampling Object into a baggage header by prefixing all the keys on the object with \"sentry-\".\n *\n * @param dynamicSamplingContext The Dynamic Sampling Context to turn into a header. For convenience and compatibility\n * with the `getDynamicSamplingContext` method on the Transaction class ,this argument can also be `undefined`. If it is\n * `undefined` the function will return `undefined`.\n * @returns a baggage header, created from `dynamicSamplingContext`, or `undefined` either if `dynamicSamplingContext`\n * was `undefined`, or if `dynamicSamplingContext` didn't contain any values.\n */\nexport function dynamicSamplingContextToSentryBaggageHeader(\n // this also takes undefined for convenience and bundle size in other places\n dynamicSamplingContext?: Partial,\n): string | undefined {\n if (!dynamicSamplingContext) {\n return undefined;\n }\n\n // Prefix all DSC keys with \"sentry-\" and put them into a new object\n const sentryPrefixedDSC = Object.entries(dynamicSamplingContext).reduce>(\n (acc, [dscKey, dscValue]) => {\n if (dscValue) {\n acc[`${SENTRY_BAGGAGE_KEY_PREFIX}${dscKey}`] = dscValue;\n }\n return acc;\n },\n {},\n );\n\n return objectToBaggageHeader(sentryPrefixedDSC);\n}\n\n/**\n * Take a baggage header and parse it into an object.\n */\nexport function parseBaggageHeader(\n baggageHeader: string | string[] | number | null | undefined | boolean,\n): Record | undefined {\n if (!baggageHeader || (!isString(baggageHeader) && !Array.isArray(baggageHeader))) {\n return undefined;\n }\n\n if (Array.isArray(baggageHeader)) {\n // Combine all baggage headers into one object containing the baggage values so we can later read the Sentry-DSC-values from it\n return baggageHeader.reduce>((acc, curr) => {\n const currBaggageObject = baggageHeaderToObject(curr);\n Object.entries(currBaggageObject).forEach(([key, value]) => {\n acc[key] = value;\n });\n return acc;\n }, {});\n }\n\n return baggageHeaderToObject(baggageHeader);\n}\n\n/**\n * Will parse a baggage header, which is a simple key-value map, into a flat object.\n *\n * @param baggageHeader The baggage header to parse.\n * @returns a flat object containing all the key-value pairs from `baggageHeader`.\n */\nfunction baggageHeaderToObject(baggageHeader: string): Record {\n return baggageHeader\n .split(',')\n .map(baggageEntry => baggageEntry.split('=').map(keyOrValue => decodeURIComponent(keyOrValue.trim())))\n .reduce>((acc, [key, value]) => {\n if (key && value) {\n acc[key] = value;\n }\n return acc;\n }, {});\n}\n\n/**\n * Turns a flat object (key-value pairs) into a baggage header, which is also just key-value pairs.\n *\n * @param object The object to turn into a baggage header.\n * @returns a baggage header string, or `undefined` if the object didn't have any values, since an empty baggage header\n * is not spec compliant.\n */\nfunction objectToBaggageHeader(object: Record): string | undefined {\n if (Object.keys(object).length === 0) {\n // An empty baggage header is not spec compliant: We return undefined.\n return undefined;\n }\n\n return Object.entries(object).reduce((baggageHeader, [objectKey, objectValue], currentIndex) => {\n const baggageEntry = `${encodeURIComponent(objectKey)}=${encodeURIComponent(objectValue)}`;\n const newBaggageHeader = currentIndex === 0 ? baggageEntry : `${baggageHeader},${baggageEntry}`;\n if (newBaggageHeader.length > MAX_BAGGAGE_STRING_LENGTH) {\n DEBUG_BUILD &&\n logger.warn(\n `Not adding key: ${objectKey} with val: ${objectValue} to baggage header due to exceeding baggage size limits.`,\n );\n return baggageHeader;\n } else {\n return newBaggageHeader;\n }\n }, '');\n}\n", "import type {\n MeasurementUnit,\n Primitive,\n Span,\n SpanAttributes,\n SpanJSON,\n SpanOrigin,\n SpanStatus,\n SpanTimeInput,\n TraceContext,\n} from '@sentry/types';\nimport { getAsyncContextStrategy } from '../asyncContext';\nimport { getMainCarrier } from '../carrier';\nimport { getCurrentScope } from '../currentScopes';\nimport { getMetricSummaryJsonForSpan, updateMetricSummaryOnSpan } from '../metrics/metric-summary';\nimport type { MetricType } from '../metrics/types';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '../semanticAttributes';\nimport type { SentrySpan } from '../tracing/sentrySpan';\nimport { SPAN_STATUS_OK, SPAN_STATUS_UNSET } from '../tracing/spanstatus';\nimport { consoleSandbox } from '../utils-hoist/logger';\nimport { addNonEnumerableProperty, dropUndefinedKeys } from '../utils-hoist/object';\nimport { timestampInSeconds } from '../utils-hoist/time';\nimport { generateSentryTraceHeader } from '../utils-hoist/tracing';\nimport { _getSpanForScope } from './spanOnScope';\n\n// These are aligned with OpenTelemetry trace flags\nexport const TRACE_FLAG_NONE = 0x0;\nexport const TRACE_FLAG_SAMPLED = 0x1;\n\n// todo(v9): Remove this once we've stopped dropping spans via `beforeSendSpan`\nlet hasShownSpanDropWarning = false;\n\n/**\n * Convert a span to a trace context, which can be sent as the `trace` context in an event.\n * By default, this will only include trace_id, span_id & parent_span_id.\n * If `includeAllData` is true, it will also include data, op, status & origin.\n */\nexport function spanToTransactionTraceContext(span: Span): TraceContext {\n const { spanId: span_id, traceId: trace_id } = span.spanContext();\n const { data, op, parent_span_id, status, origin } = spanToJSON(span);\n\n return dropUndefinedKeys({\n parent_span_id,\n span_id,\n trace_id,\n data,\n op,\n status,\n origin,\n });\n}\n\n/**\n * Convert a span to a trace context, which can be sent as the `trace` context in a non-transaction event.\n */\nexport function spanToTraceContext(span: Span): TraceContext {\n const { spanId: span_id, traceId: trace_id } = span.spanContext();\n const { parent_span_id } = spanToJSON(span);\n\n return dropUndefinedKeys({ parent_span_id, span_id, trace_id });\n}\n\n/**\n * Convert a Span to a Sentry trace header.\n */\nexport function spanToTraceHeader(span: Span): string {\n const { traceId, spanId } = span.spanContext();\n const sampled = spanIsSampled(span);\n return generateSentryTraceHeader(traceId, spanId, sampled);\n}\n\n/**\n * Convert a span time input into a timestamp in seconds.\n */\nexport function spanTimeInputToSeconds(input: SpanTimeInput | undefined): number {\n if (typeof input === 'number') {\n return ensureTimestampInSeconds(input);\n }\n\n if (Array.isArray(input)) {\n // See {@link HrTime} for the array-based time format\n return input[0] + input[1] / 1e9;\n }\n\n if (input instanceof Date) {\n return ensureTimestampInSeconds(input.getTime());\n }\n\n return timestampInSeconds();\n}\n\n/**\n * Converts a timestamp to second, if it was in milliseconds, or keeps it as second.\n */\nfunction ensureTimestampInSeconds(timestamp: number): number {\n const isMs = timestamp > 9999999999;\n return isMs ? timestamp / 1000 : timestamp;\n}\n\n/**\n * Convert a span to a JSON representation.\n */\n// Note: Because of this, we currently have a circular type dependency (which we opted out of in package.json).\n// This is not avoidable as we need `spanToJSON` in `spanUtils.ts`, which in turn is needed by `span.ts` for backwards compatibility.\n// And `spanToJSON` needs the Span class from `span.ts` to check here.\nexport function spanToJSON(span: Span): Partial {\n if (spanIsSentrySpan(span)) {\n return span.getSpanJSON();\n }\n\n try {\n const { spanId: span_id, traceId: trace_id } = span.spanContext();\n\n // Handle a span from @opentelemetry/sdk-base-trace's `Span` class\n if (spanIsOpenTelemetrySdkTraceBaseSpan(span)) {\n const { attributes, startTime, name, endTime, parentSpanId, status } = span;\n\n return dropUndefinedKeys({\n span_id,\n trace_id,\n data: attributes,\n description: name,\n parent_span_id: parentSpanId,\n start_timestamp: spanTimeInputToSeconds(startTime),\n // This is [0,0] by default in OTEL, in which case we want to interpret this as no end time\n timestamp: spanTimeInputToSeconds(endTime) || undefined,\n status: getStatusMessage(status),\n op: attributes[SEMANTIC_ATTRIBUTE_SENTRY_OP],\n origin: attributes[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN] as SpanOrigin | undefined,\n _metrics_summary: getMetricSummaryJsonForSpan(span),\n });\n }\n\n // Finally, at least we have `spanContext()`....\n return {\n span_id,\n trace_id,\n };\n } catch {\n return {};\n }\n}\n\nfunction spanIsOpenTelemetrySdkTraceBaseSpan(span: Span): span is OpenTelemetrySdkTraceBaseSpan {\n const castSpan = span as OpenTelemetrySdkTraceBaseSpan;\n return !!castSpan.attributes && !!castSpan.startTime && !!castSpan.name && !!castSpan.endTime && !!castSpan.status;\n}\n\n/** Exported only for tests. */\nexport interface OpenTelemetrySdkTraceBaseSpan extends Span {\n attributes: SpanAttributes;\n startTime: SpanTimeInput;\n name: string;\n status: SpanStatus;\n endTime: SpanTimeInput;\n parentSpanId?: string;\n}\n\n/**\n * Sadly, due to circular dependency checks we cannot actually import the Span class here and check for instanceof.\n * :( So instead we approximate this by checking if it has the `getSpanJSON` method.\n */\nfunction spanIsSentrySpan(span: Span): span is SentrySpan {\n return typeof (span as SentrySpan).getSpanJSON === 'function';\n}\n\n/**\n * Returns true if a span is sampled.\n * In most cases, you should just use `span.isRecording()` instead.\n * However, this has a slightly different semantic, as it also returns false if the span is finished.\n * So in the case where this distinction is important, use this method.\n */\nexport function spanIsSampled(span: Span): boolean {\n // We align our trace flags with the ones OpenTelemetry use\n // So we also check for sampled the same way they do.\n const { traceFlags } = span.spanContext();\n return traceFlags === TRACE_FLAG_SAMPLED;\n}\n\n/** Get the status message to use for a JSON representation of a span. */\nexport function getStatusMessage(status: SpanStatus | undefined): string | undefined {\n if (!status || status.code === SPAN_STATUS_UNSET) {\n return undefined;\n }\n\n if (status.code === SPAN_STATUS_OK) {\n return 'ok';\n }\n\n return status.message || 'unknown_error';\n}\n\nconst CHILD_SPANS_FIELD = '_sentryChildSpans';\nconst ROOT_SPAN_FIELD = '_sentryRootSpan';\n\ntype SpanWithPotentialChildren = Span & {\n [CHILD_SPANS_FIELD]?: Set;\n [ROOT_SPAN_FIELD]?: Span;\n};\n\n/**\n * Adds an opaque child span reference to a span.\n */\nexport function addChildSpanToSpan(span: SpanWithPotentialChildren, childSpan: Span): void {\n // We store the root span reference on the child span\n // We need this for `getRootSpan()` to work\n const rootSpan = span[ROOT_SPAN_FIELD] || span;\n addNonEnumerableProperty(childSpan as SpanWithPotentialChildren, ROOT_SPAN_FIELD, rootSpan);\n\n // We store a list of child spans on the parent span\n // We need this for `getSpanDescendants()` to work\n if (span[CHILD_SPANS_FIELD]) {\n span[CHILD_SPANS_FIELD].add(childSpan);\n } else {\n addNonEnumerableProperty(span, CHILD_SPANS_FIELD, new Set([childSpan]));\n }\n}\n\n/** This is only used internally by Idle Spans. */\nexport function removeChildSpanFromSpan(span: SpanWithPotentialChildren, childSpan: Span): void {\n if (span[CHILD_SPANS_FIELD]) {\n span[CHILD_SPANS_FIELD].delete(childSpan);\n }\n}\n\n/**\n * Returns an array of the given span and all of its descendants.\n */\nexport function getSpanDescendants(span: SpanWithPotentialChildren): Span[] {\n const resultSet = new Set();\n\n function addSpanChildren(span: SpanWithPotentialChildren): void {\n // This exit condition is required to not infinitely loop in case of a circular dependency.\n if (resultSet.has(span)) {\n return;\n // We want to ignore unsampled spans (e.g. non recording spans)\n } else if (spanIsSampled(span)) {\n resultSet.add(span);\n const childSpans = span[CHILD_SPANS_FIELD] ? Array.from(span[CHILD_SPANS_FIELD]) : [];\n for (const childSpan of childSpans) {\n addSpanChildren(childSpan);\n }\n }\n }\n\n addSpanChildren(span);\n\n return Array.from(resultSet);\n}\n\n/**\n * Returns the root span of a given span.\n */\nexport function getRootSpan(span: SpanWithPotentialChildren): Span {\n return span[ROOT_SPAN_FIELD] || span;\n}\n\n/**\n * Returns the currently active span.\n */\nexport function getActiveSpan(): Span | undefined {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n if (acs.getActiveSpan) {\n return acs.getActiveSpan();\n }\n\n return _getSpanForScope(getCurrentScope());\n}\n\n/**\n * Updates the metric summary on the currently active span\n */\nexport function updateMetricSummaryOnActiveSpan(\n metricType: MetricType,\n sanitizedName: string,\n value: number,\n unit: MeasurementUnit,\n tags: Record,\n bucketKey: string,\n): void {\n const span = getActiveSpan();\n if (span) {\n updateMetricSummaryOnSpan(span, metricType, sanitizedName, value, unit, tags, bucketKey);\n }\n}\n\n/**\n * Logs a warning once if `beforeSendSpan` is used to drop spans.\n *\n * todo(v9): Remove this once we've stopped dropping spans via `beforeSendSpan`.\n */\nexport function showSpanDropWarning(): void {\n if (!hasShownSpanDropWarning) {\n consoleSandbox(() => {\n // eslint-disable-next-line no-console\n console.warn(\n '[Sentry] Deprecation warning: Returning null from `beforeSendSpan` will be disallowed from SDK version 9.0.0 onwards. The callback will only support mutating spans. To drop certain spans, configure the respective integrations directly.',\n );\n });\n hasShownSpanDropWarning = true;\n }\n}\n", "import type { Options } from '@sentry/types';\nimport { getClient } from '../currentScopes';\n\n// Treeshakable guard to remove all code related to tracing\ndeclare const __SENTRY_TRACING__: boolean | undefined;\n\n/**\n * Determines if tracing is currently enabled.\n *\n * Tracing is enabled when at least one of `tracesSampleRate` and `tracesSampler` is defined in the SDK config.\n */\nexport function hasTracingEnabled(\n maybeOptions?: Pick | undefined,\n): boolean {\n if (typeof __SENTRY_TRACING__ === 'boolean' && !__SENTRY_TRACING__) {\n return false;\n }\n\n const client = getClient();\n const options = maybeOptions || (client && client.getOptions());\n // eslint-disable-next-line deprecation/deprecation\n return !!options && (options.enableTracing || 'tracesSampleRate' in options || 'tracesSampler' in options);\n}\n", "export const DEFAULT_ENVIRONMENT = 'production';\n", "import type { Client, DynamicSamplingContext, Scope, Span } from '@sentry/types';\n\nimport { DEFAULT_ENVIRONMENT } from '../constants';\nimport { getClient } from '../currentScopes';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE } from '../semanticAttributes';\nimport {\n baggageHeaderToDynamicSamplingContext,\n dynamicSamplingContextToSentryBaggageHeader,\n} from '../utils-hoist/baggage';\nimport { addNonEnumerableProperty, dropUndefinedKeys } from '../utils-hoist/object';\nimport { hasTracingEnabled } from '../utils/hasTracingEnabled';\nimport { getRootSpan, spanIsSampled, spanToJSON } from '../utils/spanUtils';\n\n/**\n * If you change this value, also update the terser plugin config to\n * avoid minification of the object property!\n */\nconst FROZEN_DSC_FIELD = '_frozenDsc';\n\ntype SpanWithMaybeDsc = Span & {\n [FROZEN_DSC_FIELD]?: Partial | undefined;\n};\n\n/**\n * Freeze the given DSC on the given span.\n */\nexport function freezeDscOnSpan(span: Span, dsc: Partial): void {\n const spanWithMaybeDsc = span as SpanWithMaybeDsc;\n addNonEnumerableProperty(spanWithMaybeDsc, FROZEN_DSC_FIELD, dsc);\n}\n\n/**\n * Creates a dynamic sampling context from a client.\n *\n * Dispatches the `createDsc` lifecycle hook as a side effect.\n */\nexport function getDynamicSamplingContextFromClient(trace_id: string, client: Client): DynamicSamplingContext {\n const options = client.getOptions();\n\n const { publicKey: public_key } = client.getDsn() || {};\n\n const dsc = dropUndefinedKeys({\n environment: options.environment || DEFAULT_ENVIRONMENT,\n release: options.release,\n public_key,\n trace_id,\n }) as DynamicSamplingContext;\n\n client.emit('createDsc', dsc);\n\n return dsc;\n}\n\n/**\n * Get the dynamic sampling context for the currently active scopes.\n */\nexport function getDynamicSamplingContextFromScope(client: Client, scope: Scope): Partial {\n const propagationContext = scope.getPropagationContext();\n return propagationContext.dsc || getDynamicSamplingContextFromClient(propagationContext.traceId, client);\n}\n\n/**\n * Creates a dynamic sampling context from a span (and client and scope)\n *\n * @param span the span from which a few values like the root span name and sample rate are extracted.\n *\n * @returns a dynamic sampling context\n */\nexport function getDynamicSamplingContextFromSpan(span: Span): Readonly> {\n const client = getClient();\n if (!client) {\n return {};\n }\n\n const rootSpan = getRootSpan(span);\n\n // For core implementation, we freeze the DSC onto the span as a non-enumerable property\n const frozenDsc = (rootSpan as SpanWithMaybeDsc)[FROZEN_DSC_FIELD];\n if (frozenDsc) {\n return frozenDsc;\n }\n\n // For OpenTelemetry, we freeze the DSC on the trace state\n const traceState = rootSpan.spanContext().traceState;\n const traceStateDsc = traceState && traceState.get('sentry.dsc');\n\n // If the span has a DSC, we want it to take precedence\n const dscOnTraceState = traceStateDsc && baggageHeaderToDynamicSamplingContext(traceStateDsc);\n\n if (dscOnTraceState) {\n return dscOnTraceState;\n }\n\n // Else, we generate it from the span\n const dsc = getDynamicSamplingContextFromClient(span.spanContext().traceId, client);\n const jsonSpan = spanToJSON(rootSpan);\n const attributes = jsonSpan.data || {};\n const maybeSampleRate = attributes[SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE];\n\n if (maybeSampleRate != null) {\n dsc.sample_rate = `${maybeSampleRate}`;\n }\n\n // We don't want to have a transaction name in the DSC if the source is \"url\" because URLs might contain PII\n const source = attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE];\n\n // after JSON conversion, txn.name becomes jsonSpan.description\n const name = jsonSpan.description;\n if (source !== 'url' && name) {\n dsc.transaction = name;\n }\n\n // How can we even land here with hasTracingEnabled() returning false?\n // Otel creates a Non-recording span in Tracing Without Performance mode when handling incoming requests\n // So we end up with an active span that is not sampled (neither positively nor negatively)\n if (hasTracingEnabled()) {\n dsc.sampled = String(spanIsSampled(rootSpan));\n }\n\n client.emit('createDsc', dsc, rootSpan);\n\n return dsc;\n}\n\n/**\n * Convert a Span to a baggage header.\n */\nexport function spanToBaggageHeader(span: Span): string | undefined {\n const dsc = getDynamicSamplingContextFromSpan(span);\n return dynamicSamplingContextToSentryBaggageHeader(dsc);\n}\n", "import { DEBUG_BUILD } from '../debug-build';\nimport { logger } from '../utils-hoist/logger';\n\n/**\n * Parse a sample rate from a given value.\n * This will either return a boolean or number sample rate, if the sample rate is valid (between 0 and 1).\n * If a string is passed, we try to convert it to a number.\n *\n * Any invalid sample rate will return `undefined`.\n */\nexport function parseSampleRate(sampleRate: unknown): number | undefined {\n if (typeof sampleRate === 'boolean') {\n return Number(sampleRate);\n }\n\n const rate = typeof sampleRate === 'string' ? parseFloat(sampleRate) : sampleRate;\n if (typeof rate !== 'number' || isNaN(rate) || rate < 0 || rate > 1) {\n DEBUG_BUILD &&\n logger.warn(\n `[Tracing] Given sample rate is invalid. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(\n sampleRate,\n )} of type ${JSON.stringify(typeof sampleRate)}.`,\n );\n return undefined;\n }\n\n return rate;\n}\n", "import type { DsnComponents, DsnLike, DsnProtocol } from '@sentry/types';\n\nimport { DEBUG_BUILD } from './debug-build';\nimport { consoleSandbox, logger } from './logger';\n\n/** Regular expression used to parse a Dsn. */\nconst DSN_REGEX = /^(?:(\\w+):)\\/\\/(?:(\\w+)(?::(\\w+)?)?@)([\\w.-]+)(?::(\\d+))?\\/(.+)/;\n\nfunction isValidProtocol(protocol?: string): protocol is DsnProtocol {\n return protocol === 'http' || protocol === 'https';\n}\n\n/**\n * Renders the string representation of this Dsn.\n *\n * By default, this will render the public representation without the password\n * component. To get the deprecated private representation, set `withPassword`\n * to true.\n *\n * @param withPassword When set to true, the password will be included.\n */\nexport function dsnToString(dsn: DsnComponents, withPassword: boolean = false): string {\n const { host, path, pass, port, projectId, protocol, publicKey } = dsn;\n return (\n `${protocol}://${publicKey}${withPassword && pass ? `:${pass}` : ''}` +\n `@${host}${port ? `:${port}` : ''}/${path ? `${path}/` : path}${projectId}`\n );\n}\n\n/**\n * Parses a Dsn from a given string.\n *\n * @param str A Dsn as string\n * @returns Dsn as DsnComponents or undefined if @param str is not a valid DSN string\n */\nexport function dsnFromString(str: string): DsnComponents | undefined {\n const match = DSN_REGEX.exec(str);\n\n if (!match) {\n // This should be logged to the console\n consoleSandbox(() => {\n // eslint-disable-next-line no-console\n console.error(`Invalid Sentry Dsn: ${str}`);\n });\n return undefined;\n }\n\n const [protocol, publicKey, pass = '', host = '', port = '', lastPath = ''] = match.slice(1);\n let path = '';\n let projectId = lastPath;\n\n const split = projectId.split('/');\n if (split.length > 1) {\n path = split.slice(0, -1).join('/');\n projectId = split.pop() as string;\n }\n\n if (projectId) {\n const projectMatch = projectId.match(/^\\d+/);\n if (projectMatch) {\n projectId = projectMatch[0];\n }\n }\n\n return dsnFromComponents({ host, pass, path, projectId, port, protocol: protocol as DsnProtocol, publicKey });\n}\n\nfunction dsnFromComponents(components: DsnComponents): DsnComponents {\n return {\n protocol: components.protocol,\n publicKey: components.publicKey || '',\n pass: components.pass || '',\n host: components.host,\n port: components.port || '',\n path: components.path || '',\n projectId: components.projectId,\n };\n}\n\nfunction validateDsn(dsn: DsnComponents): boolean {\n if (!DEBUG_BUILD) {\n return true;\n }\n\n const { port, projectId, protocol } = dsn;\n\n const requiredComponents: ReadonlyArray = ['protocol', 'publicKey', 'host', 'projectId'];\n const hasMissingRequiredComponent = requiredComponents.find(component => {\n if (!dsn[component]) {\n logger.error(`Invalid Sentry Dsn: ${component} missing`);\n return true;\n }\n return false;\n });\n\n if (hasMissingRequiredComponent) {\n return false;\n }\n\n if (!projectId.match(/^\\d+$/)) {\n logger.error(`Invalid Sentry Dsn: Invalid projectId ${projectId}`);\n return false;\n }\n\n if (!isValidProtocol(protocol)) {\n logger.error(`Invalid Sentry Dsn: Invalid protocol ${protocol}`);\n return false;\n }\n\n if (port && isNaN(parseInt(port, 10))) {\n logger.error(`Invalid Sentry Dsn: Invalid port ${port}`);\n return false;\n }\n\n return true;\n}\n\n/**\n * Creates a valid Sentry Dsn object, identifying a Sentry instance and project.\n * @returns a valid DsnComponents object or `undefined` if @param from is an invalid DSN source\n */\nexport function makeDsn(from: DsnLike): DsnComponents | undefined {\n const components = typeof from === 'string' ? dsnFromString(from) : dsnFromComponents(from);\n if (!components || !validateDsn(components)) {\n return undefined;\n }\n return components;\n}\n", "/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport type MemoFunc = [\n // memoize\n (obj: any) => boolean,\n // unmemoize\n (obj: any) => void,\n];\n\n/**\n * Helper to decycle json objects\n *\n * @deprecated This function is deprecated and will be removed in the next major version.\n */\n// TODO(v9): Move this function into normalize() directly\nexport function memoBuilder(): MemoFunc {\n const hasWeakSet = typeof WeakSet === 'function';\n const inner: any = hasWeakSet ? new WeakSet() : [];\n function memoize(obj: any): boolean {\n if (hasWeakSet) {\n if (inner.has(obj)) {\n return true;\n }\n inner.add(obj);\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < inner.length; i++) {\n const value = inner[i];\n if (value === obj) {\n return true;\n }\n }\n inner.push(obj);\n return false;\n }\n\n function unmemoize(obj: any): void {\n if (hasWeakSet) {\n inner.delete(obj);\n } else {\n for (let i = 0; i < inner.length; i++) {\n if (inner[i] === obj) {\n inner.splice(i, 1);\n break;\n }\n }\n }\n }\n return [memoize, unmemoize];\n}\n", "import type { Primitive } from '@sentry/types';\n\nimport { isSyntheticEvent, isVueViewModel } from './is';\nimport type { MemoFunc } from './memo';\nimport { memoBuilder } from './memo';\nimport { convertToPlainObject } from './object';\nimport { getFunctionName } from './stacktrace';\n\ntype Prototype = { constructor: (...args: unknown[]) => unknown };\n// This is a hack to placate TS, relying on the fact that technically, arrays are objects with integer keys. Normally we\n// think of those keys as actual numbers, but `arr['0']` turns out to work just as well as `arr[0]`, and doing it this\n// way lets us use a single type in the places where behave as if we are only dealing with objects, even if some of them\n// might be arrays.\ntype ObjOrArray = { [key: string]: T };\n\n/**\n * Recursively normalizes the given object.\n *\n * - Creates a copy to prevent original input mutation\n * - Skips non-enumerable properties\n * - When stringifying, calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializable values (`undefined`/`NaN`/functions) to serializable format\n * - Translates known global objects/classes to a string representations\n * - Takes care of `Error` object serialization\n * - Optionally limits depth of final output\n * - Optionally limits number of properties/elements included in any single object/array\n *\n * @param input The object to be normalized.\n * @param depth The max depth to which to normalize the object. (Anything deeper stringified whole.)\n * @param maxProperties The max number of elements or properties to be included in any single array or\n * object in the normalized output.\n * @returns A normalized version of the object, or `\"**non-serializable**\"` if any errors are thrown during normalization.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function normalize(input: unknown, depth: number = 100, maxProperties: number = +Infinity): any {\n try {\n // since we're at the outermost level, we don't provide a key\n return visit('', input, depth, maxProperties);\n } catch (err) {\n return { ERROR: `**non-serializable** (${err})` };\n }\n}\n\n/** JSDoc */\nexport function normalizeToSize(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n object: { [key: string]: any },\n // Default Node.js REPL depth\n depth: number = 3,\n // 100kB, as 200kB is max payload size, so half sounds reasonable\n maxSize: number = 100 * 1024,\n): T {\n const normalized = normalize(object, depth);\n\n if (jsonSize(normalized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n\n return normalized as T;\n}\n\n/**\n * Visits a node to perform normalization on it\n *\n * @param key The key corresponding to the given node\n * @param value The node to be visited\n * @param depth Optional number indicating the maximum recursion depth\n * @param maxProperties Optional maximum number of properties/elements included in any single object/array\n * @param memo Optional Memo class handling decycling\n */\nfunction visit(\n key: string,\n value: unknown,\n depth: number = +Infinity,\n maxProperties: number = +Infinity,\n // eslint-disable-next-line deprecation/deprecation\n memo: MemoFunc = memoBuilder(),\n): Primitive | ObjOrArray {\n const [memoize, unmemoize] = memo;\n\n // Get the simple cases out of the way first\n if (\n value == null || // this matches null and undefined -> eqeq not eqeqeq\n ['boolean', 'string'].includes(typeof value) ||\n (typeof value === 'number' && Number.isFinite(value))\n ) {\n return value as Primitive;\n }\n\n const stringified = stringifyValue(key, value);\n\n // Anything we could potentially dig into more (objects or arrays) will have come back as `\"[object XXXX]\"`.\n // Everything else will have already been serialized, so if we don't see that pattern, we're done.\n if (!stringified.startsWith('[object ')) {\n return stringified;\n }\n\n // From here on, we can assert that `value` is either an object or an array.\n\n // Do not normalize objects that we know have already been normalized. As a general rule, the\n // \"__sentry_skip_normalization__\" property should only be used sparingly and only should only be set on objects that\n // have already been normalized.\n if ((value as ObjOrArray)['__sentry_skip_normalization__']) {\n return value as ObjOrArray;\n }\n\n // We can set `__sentry_override_normalization_depth__` on an object to ensure that from there\n // We keep a certain amount of depth.\n // This should be used sparingly, e.g. we use it for the redux integration to ensure we get a certain amount of state.\n const remainingDepth =\n typeof (value as ObjOrArray)['__sentry_override_normalization_depth__'] === 'number'\n ? ((value as ObjOrArray)['__sentry_override_normalization_depth__'] as number)\n : depth;\n\n // We're also done if we've reached the max depth\n if (remainingDepth === 0) {\n // At this point we know `serialized` is a string of the form `\"[object XXXX]\"`. Clean it up so it's just `\"[XXXX]\"`.\n return stringified.replace('object ', '');\n }\n\n // If we've already visited this branch, bail out, as it's circular reference. If not, note that we're seeing it now.\n if (memoize(value)) {\n return '[Circular ~]';\n }\n\n // If the value has a `toJSON` method, we call it to extract more information\n const valueWithToJSON = value as unknown & { toJSON?: () => unknown };\n if (valueWithToJSON && typeof valueWithToJSON.toJSON === 'function') {\n try {\n const jsonValue = valueWithToJSON.toJSON();\n // We need to normalize the return value of `.toJSON()` in case it has circular references\n return visit('', jsonValue, remainingDepth - 1, maxProperties, memo);\n } catch (err) {\n // pass (The built-in `toJSON` failed, but we can still try to do it ourselves)\n }\n }\n\n // At this point we know we either have an object or an array, we haven't seen it before, and we're going to recurse\n // because we haven't yet reached the max depth. Create an accumulator to hold the results of visiting each\n // property/entry, and keep track of the number of items we add to it.\n const normalized = (Array.isArray(value) ? [] : {}) as ObjOrArray;\n let numAdded = 0;\n\n // Before we begin, convert`Error` and`Event` instances into plain objects, since some of each of their relevant\n // properties are non-enumerable and otherwise would get missed.\n const visitable = convertToPlainObject(value as ObjOrArray);\n\n for (const visitKey in visitable) {\n // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n if (!Object.prototype.hasOwnProperty.call(visitable, visitKey)) {\n continue;\n }\n\n if (numAdded >= maxProperties) {\n normalized[visitKey] = '[MaxProperties ~]';\n break;\n }\n\n // Recursively visit all the child nodes\n const visitValue = visitable[visitKey];\n normalized[visitKey] = visit(visitKey, visitValue, remainingDepth - 1, maxProperties, memo);\n\n numAdded++;\n }\n\n // Once we've visited all the branches, remove the parent from memo storage\n unmemoize(value);\n\n // Return accumulated values\n return normalized;\n}\n\n/* eslint-disable complexity */\n/**\n * Stringify the given value. Handles various known special values and types.\n *\n * Not meant to be used on simple primitives which already have a string representation, as it will, for example, turn\n * the number 1231 into \"[Object Number]\", nor on `null`, as it will throw.\n *\n * @param value The value to stringify\n * @returns A stringified representation of the given value\n */\nfunction stringifyValue(\n key: unknown,\n // this type is a tiny bit of a cheat, since this function does handle NaN (which is technically a number), but for\n // our internal use, it'll do\n value: Exclude,\n): string {\n try {\n if (key === 'domain' && value && typeof value === 'object' && (value as { _events: unknown })._events) {\n return '[Domain]';\n }\n\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n }\n\n // It's safe to use `global`, `window`, and `document` here in this manner, as we are asserting using `typeof` first\n // which won't throw if they are not present.\n\n if (typeof global !== 'undefined' && value === global) {\n return '[Global]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof window !== 'undefined' && value === window) {\n return '[Window]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof document !== 'undefined' && value === document) {\n return '[Document]';\n }\n\n if (isVueViewModel(value)) {\n return '[VueViewModel]';\n }\n\n // React's SyntheticEvent thingy\n if (isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n\n if (typeof value === 'number' && !Number.isFinite(value)) {\n return `[${value}]`;\n }\n\n if (typeof value === 'function') {\n return `[Function: ${getFunctionName(value)}]`;\n }\n\n if (typeof value === 'symbol') {\n return `[${String(value)}]`;\n }\n\n // stringified BigInts are indistinguishable from regular numbers, so we need to label them to avoid confusion\n if (typeof value === 'bigint') {\n return `[BigInt: ${String(value)}]`;\n }\n\n // Now that we've knocked out all the special cases and the primitives, all we have left are objects. Simply casting\n // them to strings means that instances of classes which haven't defined their `toStringTag` will just come out as\n // `\"[object Object]\"`. If we instead look at the constructor's name (which is the same as the name of the class),\n // we can make sure that only plain objects come out that way.\n const objName = getConstructorName(value);\n\n // Handle HTML Elements\n if (/^HTML(\\w*)Element$/.test(objName)) {\n return `[HTMLElement: ${objName}]`;\n }\n\n return `[object ${objName}]`;\n } catch (err) {\n return `**non-serializable** (${err})`;\n }\n}\n/* eslint-enable complexity */\n\nfunction getConstructorName(value: unknown): string {\n const prototype: Prototype | null = Object.getPrototypeOf(value);\n\n return prototype ? prototype.constructor.name : 'null prototype';\n}\n\n/** Calculates bytes size of input string */\nfunction utf8Length(value: string): number {\n // eslint-disable-next-line no-bitwise\n return ~-encodeURI(value).split(/%..|./).length;\n}\n\n/** Calculates bytes size of input object */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction jsonSize(value: any): number {\n return utf8Length(JSON.stringify(value));\n}\n\n/**\n * Normalizes URLs in exceptions and stacktraces to a base path so Sentry can fingerprint\n * across platforms and working directory.\n *\n * @param url The URL to be normalized.\n * @param basePath The application base path.\n * @returns The normalized URL.\n */\nexport function normalizeUrlToBase(url: string, basePath: string): string {\n const escapedBase = basePath\n // Backslash to forward\n .replace(/\\\\/g, '/')\n // Escape RegExp special characters\n .replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n\n let newUrl = url;\n try {\n newUrl = decodeURI(url);\n } catch (_Oo) {\n // Sometime this breaks\n }\n return (\n newUrl\n .replace(/\\\\/g, '/')\n .replace(/webpack:\\/?/g, '') // Remove intermediate base path\n // eslint-disable-next-line @sentry-internal/sdk/no-regexp-constructor\n .replace(new RegExp(`(file://)?/*${escapedBase}/*`, 'ig'), 'app:///')\n );\n}\n", "import type {\n Attachment,\n AttachmentItem,\n BaseEnvelopeHeaders,\n BaseEnvelopeItemHeaders,\n DataCategory,\n DsnComponents,\n Envelope,\n EnvelopeItemType,\n Event,\n EventEnvelopeHeaders,\n SdkInfo,\n SdkMetadata,\n SpanItem,\n SpanJSON,\n} from '@sentry/types';\n\nimport { dsnToString } from './dsn';\nimport { normalize } from './normalize';\nimport { dropUndefinedKeys } from './object';\nimport { GLOBAL_OBJ } from './worldwide';\n\n/**\n * Creates an envelope.\n * Make sure to always explicitly provide the generic to this function\n * so that the envelope types resolve correctly.\n */\nexport function createEnvelope(headers: E[0], items: E[1] = []): E {\n return [headers, items] as E;\n}\n\n/**\n * Add an item to an envelope.\n * Make sure to always explicitly provide the generic to this function\n * so that the envelope types resolve correctly.\n */\nexport function addItemToEnvelope(envelope: E, newItem: E[1][number]): E {\n const [headers, items] = envelope;\n return [headers, [...items, newItem]] as unknown as E;\n}\n\n/**\n * Convenience function to loop through the items and item types of an envelope.\n * (This function was mostly created because working with envelope types is painful at the moment)\n *\n * If the callback returns true, the rest of the items will be skipped.\n */\nexport function forEachEnvelopeItem(\n envelope: Envelope,\n callback: (envelopeItem: E[1][number], envelopeItemType: E[1][number][0]['type']) => boolean | void,\n): boolean {\n const envelopeItems = envelope[1];\n\n for (const envelopeItem of envelopeItems) {\n const envelopeItemType = envelopeItem[0].type;\n const result = callback(envelopeItem, envelopeItemType);\n\n if (result) {\n return true;\n }\n }\n\n return false;\n}\n\n/**\n * Returns true if the envelope contains any of the given envelope item types\n */\nexport function envelopeContainsItemType(envelope: Envelope, types: EnvelopeItemType[]): boolean {\n return forEachEnvelopeItem(envelope, (_, type) => types.includes(type));\n}\n\n/**\n * Encode a string to UTF8 array.\n */\nfunction encodeUTF8(input: string): Uint8Array {\n return GLOBAL_OBJ.__SENTRY__ && GLOBAL_OBJ.__SENTRY__.encodePolyfill\n ? GLOBAL_OBJ.__SENTRY__.encodePolyfill(input)\n : new TextEncoder().encode(input);\n}\n\n/**\n * Decode a UTF8 array to string.\n */\nfunction decodeUTF8(input: Uint8Array): string {\n return GLOBAL_OBJ.__SENTRY__ && GLOBAL_OBJ.__SENTRY__.decodePolyfill\n ? GLOBAL_OBJ.__SENTRY__.decodePolyfill(input)\n : new TextDecoder().decode(input);\n}\n\n/**\n * Serializes an envelope.\n */\nexport function serializeEnvelope(envelope: Envelope): string | Uint8Array {\n const [envHeaders, items] = envelope;\n\n // Initially we construct our envelope as a string and only convert to binary chunks if we encounter binary data\n let parts: string | Uint8Array[] = JSON.stringify(envHeaders);\n\n function append(next: string | Uint8Array): void {\n if (typeof parts === 'string') {\n parts = typeof next === 'string' ? parts + next : [encodeUTF8(parts), next];\n } else {\n parts.push(typeof next === 'string' ? encodeUTF8(next) : next);\n }\n }\n\n for (const item of items) {\n const [itemHeaders, payload] = item;\n\n append(`\\n${JSON.stringify(itemHeaders)}\\n`);\n\n if (typeof payload === 'string' || payload instanceof Uint8Array) {\n append(payload);\n } else {\n let stringifiedPayload: string;\n try {\n stringifiedPayload = JSON.stringify(payload);\n } catch (e) {\n // In case, despite all our efforts to keep `payload` circular-dependency-free, `JSON.stringify()` still\n // fails, we try again after normalizing it again with infinite normalization depth. This of course has a\n // performance impact but in this case a performance hit is better than throwing.\n stringifiedPayload = JSON.stringify(normalize(payload));\n }\n append(stringifiedPayload);\n }\n }\n\n return typeof parts === 'string' ? parts : concatBuffers(parts);\n}\n\nfunction concatBuffers(buffers: Uint8Array[]): Uint8Array {\n const totalLength = buffers.reduce((acc, buf) => acc + buf.length, 0);\n\n const merged = new Uint8Array(totalLength);\n let offset = 0;\n for (const buffer of buffers) {\n merged.set(buffer, offset);\n offset += buffer.length;\n }\n\n return merged;\n}\n\n/**\n * Parses an envelope\n */\nexport function parseEnvelope(env: string | Uint8Array): Envelope {\n let buffer = typeof env === 'string' ? encodeUTF8(env) : env;\n\n function readBinary(length: number): Uint8Array {\n const bin = buffer.subarray(0, length);\n // Replace the buffer with the remaining data excluding trailing newline\n buffer = buffer.subarray(length + 1);\n return bin;\n }\n\n function readJson(): T {\n let i = buffer.indexOf(0xa);\n // If we couldn't find a newline, we must have found the end of the buffer\n if (i < 0) {\n i = buffer.length;\n }\n\n return JSON.parse(decodeUTF8(readBinary(i))) as T;\n }\n\n const envelopeHeader = readJson();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const items: [any, any][] = [];\n\n while (buffer.length) {\n const itemHeader = readJson();\n const binaryLength = typeof itemHeader.length === 'number' ? itemHeader.length : undefined;\n\n items.push([itemHeader, binaryLength ? readBinary(binaryLength) : readJson()]);\n }\n\n return [envelopeHeader, items];\n}\n\n/**\n * Creates envelope item for a single span\n */\nexport function createSpanEnvelopeItem(spanJson: Partial): SpanItem {\n const spanHeaders: SpanItem[0] = {\n type: 'span',\n };\n\n return [spanHeaders, spanJson];\n}\n\n/**\n * Creates attachment envelope items\n */\nexport function createAttachmentEnvelopeItem(attachment: Attachment): AttachmentItem {\n const buffer = typeof attachment.data === 'string' ? encodeUTF8(attachment.data) : attachment.data;\n\n return [\n dropUndefinedKeys({\n type: 'attachment',\n length: buffer.length,\n filename: attachment.filename,\n content_type: attachment.contentType,\n attachment_type: attachment.attachmentType,\n }),\n buffer,\n ];\n}\n\nconst ITEM_TYPE_TO_DATA_CATEGORY_MAP: Record = {\n session: 'session',\n sessions: 'session',\n attachment: 'attachment',\n transaction: 'transaction',\n event: 'error',\n client_report: 'internal',\n user_report: 'default',\n profile: 'profile',\n profile_chunk: 'profile',\n replay_event: 'replay',\n replay_recording: 'replay',\n check_in: 'monitor',\n feedback: 'feedback',\n span: 'span',\n statsd: 'metric_bucket',\n};\n\n/**\n * Maps the type of an envelope item to a data category.\n */\nexport function envelopeItemTypeToDataCategory(type: EnvelopeItemType): DataCategory {\n return ITEM_TYPE_TO_DATA_CATEGORY_MAP[type];\n}\n\n/** Extracts the minimal SDK info from the metadata or an events */\nexport function getSdkMetadataForEnvelopeHeader(metadataOrEvent?: SdkMetadata | Event): SdkInfo | undefined {\n if (!metadataOrEvent || !metadataOrEvent.sdk) {\n return;\n }\n const { name, version } = metadataOrEvent.sdk;\n return { name, version };\n}\n\n/**\n * Creates event envelope headers, based on event, sdk info and tunnel\n * Note: This function was extracted from the core package to make it available in Replay\n */\nexport function createEventEnvelopeHeaders(\n event: Event,\n sdkInfo: SdkInfo | undefined,\n tunnel: string | undefined,\n dsn?: DsnComponents,\n): EventEnvelopeHeaders {\n const dynamicSamplingContext = event.sdkProcessingMetadata && event.sdkProcessingMetadata.dynamicSamplingContext;\n return {\n event_id: event.event_id as string,\n sent_at: new Date().toISOString(),\n ...(sdkInfo && { sdk: sdkInfo }),\n ...(!!tunnel && dsn && { dsn: dsnToString(dsn) }),\n ...(dynamicSamplingContext && {\n trace: dropUndefinedKeys({ ...dynamicSamplingContext }),\n }),\n };\n}\n", "import type {\n Client,\n DsnComponents,\n DynamicSamplingContext,\n Event,\n EventEnvelope,\n EventItem,\n SdkInfo,\n SdkMetadata,\n Session,\n SessionAggregates,\n SessionEnvelope,\n SessionItem,\n SpanEnvelope,\n SpanItem,\n SpanJSON,\n} from '@sentry/types';\nimport { getDynamicSamplingContextFromSpan } from './tracing/dynamicSamplingContext';\nimport type { SentrySpan } from './tracing/sentrySpan';\nimport { dsnToString } from './utils-hoist/dsn';\nimport {\n createEnvelope,\n createEventEnvelopeHeaders,\n createSpanEnvelopeItem,\n getSdkMetadataForEnvelopeHeader,\n} from './utils-hoist/envelope';\nimport { showSpanDropWarning, spanToJSON } from './utils/spanUtils';\n\n/**\n * Apply SdkInfo (name, version, packages, integrations) to the corresponding event key.\n * Merge with existing data if any.\n **/\nfunction enhanceEventWithSdkInfo(event: Event, sdkInfo?: SdkInfo): Event {\n if (!sdkInfo) {\n return event;\n }\n event.sdk = event.sdk || {};\n event.sdk.name = event.sdk.name || sdkInfo.name;\n event.sdk.version = event.sdk.version || sdkInfo.version;\n event.sdk.integrations = [...(event.sdk.integrations || []), ...(sdkInfo.integrations || [])];\n event.sdk.packages = [...(event.sdk.packages || []), ...(sdkInfo.packages || [])];\n return event;\n}\n\n/** Creates an envelope from a Session */\nexport function createSessionEnvelope(\n session: Session | SessionAggregates,\n dsn?: DsnComponents,\n metadata?: SdkMetadata,\n tunnel?: string,\n): SessionEnvelope {\n const sdkInfo = getSdkMetadataForEnvelopeHeader(metadata);\n const envelopeHeaders = {\n sent_at: new Date().toISOString(),\n ...(sdkInfo && { sdk: sdkInfo }),\n ...(!!tunnel && dsn && { dsn: dsnToString(dsn) }),\n };\n\n const envelopeItem: SessionItem =\n 'aggregates' in session ? [{ type: 'sessions' }, session] : [{ type: 'session' }, session.toJSON()];\n\n return createEnvelope(envelopeHeaders, [envelopeItem]);\n}\n\n/**\n * Create an Envelope from an event.\n */\nexport function createEventEnvelope(\n event: Event,\n dsn?: DsnComponents,\n metadata?: SdkMetadata,\n tunnel?: string,\n): EventEnvelope {\n const sdkInfo = getSdkMetadataForEnvelopeHeader(metadata);\n\n /*\n Note: Due to TS, event.type may be `replay_event`, theoretically.\n In practice, we never call `createEventEnvelope` with `replay_event` type,\n and we'd have to adjust a looot of types to make this work properly.\n We want to avoid casting this around, as that could lead to bugs (e.g. when we add another type)\n So the safe choice is to really guard against the replay_event type here.\n */\n const eventType = event.type && event.type !== 'replay_event' ? event.type : 'event';\n\n enhanceEventWithSdkInfo(event, metadata && metadata.sdk);\n\n const envelopeHeaders = createEventEnvelopeHeaders(event, sdkInfo, tunnel, dsn);\n\n // Prevent this data (which, if it exists, was used in earlier steps in the processing pipeline) from being sent to\n // sentry. (Note: Our use of this property comes and goes with whatever we might be debugging, whatever hacks we may\n // have temporarily added, etc. Even if we don't happen to be using it at some point in the future, let's not get rid\n // of this `delete`, lest we miss putting it back in the next time the property is in use.)\n delete event.sdkProcessingMetadata;\n\n const eventItem: EventItem = [{ type: eventType }, event];\n return createEnvelope(envelopeHeaders, [eventItem]);\n}\n\n/**\n * Create envelope from Span item.\n *\n * Takes an optional client and runs spans through `beforeSendSpan` if available.\n */\nexport function createSpanEnvelope(spans: [SentrySpan, ...SentrySpan[]], client?: Client): SpanEnvelope {\n function dscHasRequiredProps(dsc: Partial): dsc is DynamicSamplingContext {\n return !!dsc.trace_id && !!dsc.public_key;\n }\n\n // For the moment we'll obtain the DSC from the first span in the array\n // This might need to be changed if we permit sending multiple spans from\n // different segments in one envelope\n const dsc = getDynamicSamplingContextFromSpan(spans[0]);\n\n const dsn = client && client.getDsn();\n const tunnel = client && client.getOptions().tunnel;\n\n const headers: SpanEnvelope[0] = {\n sent_at: new Date().toISOString(),\n ...(dscHasRequiredProps(dsc) && { trace: dsc }),\n ...(!!tunnel && dsn && { dsn: dsnToString(dsn) }),\n };\n\n const beforeSendSpan = client && client.getOptions().beforeSendSpan;\n const convertToSpanJSON = beforeSendSpan\n ? (span: SentrySpan) => {\n const spanJson = beforeSendSpan(spanToJSON(span) as SpanJSON);\n if (!spanJson) {\n showSpanDropWarning();\n }\n return spanJson;\n }\n : (span: SentrySpan) => spanToJSON(span);\n\n const items: SpanItem[] = [];\n for (const span of spans) {\n const spanJson = convertToSpanJSON(span);\n if (spanJson) {\n items.push(createSpanEnvelopeItem(spanJson));\n }\n }\n\n return createEnvelope(headers, items);\n}\n", "import type { Event, EventHint, EventProcessor } from '@sentry/types';\n\nimport { DEBUG_BUILD } from './debug-build';\nimport { isThenable } from './utils-hoist/is';\nimport { logger } from './utils-hoist/logger';\nimport { SyncPromise } from './utils-hoist/syncpromise';\n\n/**\n * Process an array of event processors, returning the processed event (or `null` if the event was dropped).\n */\nexport function notifyEventProcessors(\n processors: EventProcessor[],\n event: Event | null,\n hint: EventHint,\n index: number = 0,\n): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n const processor = processors[index];\n if (event === null || typeof processor !== 'function') {\n resolve(event);\n } else {\n const result = processor({ ...event }, hint) as Event | null;\n\n DEBUG_BUILD && processor.id && result === null && logger.log(`Event processor \"${processor.id}\" dropped event`);\n\n if (isThenable(result)) {\n void result\n .then(final => notifyEventProcessors(processors, final, hint, index + 1).then(resolve))\n .then(null, reject);\n } else {\n void notifyEventProcessors(processors, result, hint, index + 1)\n .then(resolve)\n .then(null, reject);\n }\n }\n });\n}\n", "import type { DebugImage, StackParser } from '@sentry/types';\nimport { GLOBAL_OBJ } from './worldwide';\n\ntype StackString = string;\ntype CachedResult = [string, string];\n\nlet parsedStackResults: Record | undefined;\nlet lastKeysCount: number | undefined;\nlet cachedFilenameDebugIds: Record | undefined;\n\n/**\n * Returns a map of filenames to debug identifiers.\n */\nexport function getFilenameToDebugIdMap(stackParser: StackParser): Record {\n const debugIdMap = GLOBAL_OBJ._sentryDebugIds;\n if (!debugIdMap) {\n return {};\n }\n\n const debugIdKeys = Object.keys(debugIdMap);\n\n // If the count of registered globals hasn't changed since the last call, we\n // can just return the cached result.\n if (cachedFilenameDebugIds && debugIdKeys.length === lastKeysCount) {\n return cachedFilenameDebugIds;\n }\n\n lastKeysCount = debugIdKeys.length;\n\n // Build a map of filename -> debug_id.\n cachedFilenameDebugIds = debugIdKeys.reduce>((acc, stackKey) => {\n if (!parsedStackResults) {\n parsedStackResults = {};\n }\n\n const result = parsedStackResults[stackKey];\n\n if (result) {\n acc[result[0]] = result[1];\n } else {\n const parsedStack = stackParser(stackKey);\n\n for (let i = parsedStack.length - 1; i >= 0; i--) {\n const stackFrame = parsedStack[i];\n const filename = stackFrame && stackFrame.filename;\n const debugId = debugIdMap[stackKey];\n\n if (filename && debugId) {\n acc[filename] = debugId;\n parsedStackResults[stackKey] = [filename, debugId];\n break;\n }\n }\n }\n\n return acc;\n }, {});\n\n return cachedFilenameDebugIds;\n}\n\n/**\n * Returns a list of debug images for the given resources.\n */\nexport function getDebugImagesForResources(\n stackParser: StackParser,\n resource_paths: ReadonlyArray,\n): DebugImage[] {\n const filenameDebugIdMap = getFilenameToDebugIdMap(stackParser);\n\n if (!filenameDebugIdMap) {\n return [];\n }\n\n const images: DebugImage[] = [];\n for (const path of resource_paths) {\n if (path && filenameDebugIdMap[path]) {\n images.push({\n type: 'sourcemap',\n code_file: path,\n debug_id: filenameDebugIdMap[path] as string,\n });\n }\n }\n\n return images;\n}\n", "import type { Breadcrumb, Event, ScopeData, Span } from '@sentry/types';\nimport { getDynamicSamplingContextFromSpan } from '../tracing/dynamicSamplingContext';\nimport { dropUndefinedKeys } from '../utils-hoist';\nimport { merge } from './merge';\nimport { getRootSpan, spanToJSON, spanToTraceContext } from './spanUtils';\n\n/**\n * Applies data from the scope to the event and runs all event processors on it.\n */\nexport function applyScopeDataToEvent(event: Event, data: ScopeData): void {\n const { fingerprint, span, breadcrumbs, sdkProcessingMetadata } = data;\n\n // Apply general data\n applyDataToEvent(event, data);\n\n // We want to set the trace context for normal events only if there isn't already\n // a trace context on the event. There is a product feature in place where we link\n // errors with transaction and it relies on that.\n if (span) {\n applySpanToEvent(event, span);\n }\n\n applyFingerprintToEvent(event, fingerprint);\n applyBreadcrumbsToEvent(event, breadcrumbs);\n applySdkMetadataToEvent(event, sdkProcessingMetadata);\n}\n\n/** Merge data of two scopes together. */\nexport function mergeScopeData(data: ScopeData, mergeData: ScopeData): void {\n const {\n extra,\n tags,\n user,\n contexts,\n level,\n sdkProcessingMetadata,\n breadcrumbs,\n fingerprint,\n eventProcessors,\n attachments,\n propagationContext,\n transactionName,\n span,\n } = mergeData;\n\n mergeAndOverwriteScopeData(data, 'extra', extra);\n mergeAndOverwriteScopeData(data, 'tags', tags);\n mergeAndOverwriteScopeData(data, 'user', user);\n mergeAndOverwriteScopeData(data, 'contexts', contexts);\n\n data.sdkProcessingMetadata = merge(data.sdkProcessingMetadata, sdkProcessingMetadata, 2);\n\n if (level) {\n data.level = level;\n }\n\n if (transactionName) {\n data.transactionName = transactionName;\n }\n\n if (span) {\n data.span = span;\n }\n\n if (breadcrumbs.length) {\n data.breadcrumbs = [...data.breadcrumbs, ...breadcrumbs];\n }\n\n if (fingerprint.length) {\n data.fingerprint = [...data.fingerprint, ...fingerprint];\n }\n\n if (eventProcessors.length) {\n data.eventProcessors = [...data.eventProcessors, ...eventProcessors];\n }\n\n if (attachments.length) {\n data.attachments = [...data.attachments, ...attachments];\n }\n\n data.propagationContext = { ...data.propagationContext, ...propagationContext };\n}\n\n/**\n * Merges certain scope data. Undefined values will overwrite any existing values.\n * Exported only for tests.\n */\nexport function mergeAndOverwriteScopeData<\n Prop extends 'extra' | 'tags' | 'user' | 'contexts' | 'sdkProcessingMetadata',\n Data extends ScopeData,\n>(data: Data, prop: Prop, mergeVal: Data[Prop]): void {\n data[prop] = merge(data[prop], mergeVal, 1);\n}\n\n/** Exported only for tests */\nexport function mergeArray(\n event: Event,\n prop: Prop,\n mergeVal: ScopeData[Prop],\n): void {\n const prevVal = event[prop];\n // If we are not merging any new values,\n // we only need to proceed if there was an empty array before (as we want to replace it with undefined)\n if (!mergeVal.length && (!prevVal || prevVal.length)) {\n return;\n }\n\n const merged = [...(prevVal || []), ...mergeVal] as ScopeData[Prop];\n event[prop] = merged.length ? merged : undefined;\n}\n\nfunction applyDataToEvent(event: Event, data: ScopeData): void {\n const { extra, tags, user, contexts, level, transactionName } = data;\n\n const cleanedExtra = dropUndefinedKeys(extra);\n if (cleanedExtra && Object.keys(cleanedExtra).length) {\n event.extra = { ...cleanedExtra, ...event.extra };\n }\n\n const cleanedTags = dropUndefinedKeys(tags);\n if (cleanedTags && Object.keys(cleanedTags).length) {\n event.tags = { ...cleanedTags, ...event.tags };\n }\n\n const cleanedUser = dropUndefinedKeys(user);\n if (cleanedUser && Object.keys(cleanedUser).length) {\n event.user = { ...cleanedUser, ...event.user };\n }\n\n const cleanedContexts = dropUndefinedKeys(contexts);\n if (cleanedContexts && Object.keys(cleanedContexts).length) {\n event.contexts = { ...cleanedContexts, ...event.contexts };\n }\n\n if (level) {\n event.level = level;\n }\n\n // transaction events get their `transaction` from the root span name\n if (transactionName && event.type !== 'transaction') {\n event.transaction = transactionName;\n }\n}\n\nfunction applyBreadcrumbsToEvent(event: Event, breadcrumbs: Breadcrumb[]): void {\n const mergedBreadcrumbs = [...(event.breadcrumbs || []), ...breadcrumbs];\n event.breadcrumbs = mergedBreadcrumbs.length ? mergedBreadcrumbs : undefined;\n}\n\nfunction applySdkMetadataToEvent(event: Event, sdkProcessingMetadata: ScopeData['sdkProcessingMetadata']): void {\n event.sdkProcessingMetadata = {\n ...event.sdkProcessingMetadata,\n ...sdkProcessingMetadata,\n };\n}\n\nfunction applySpanToEvent(event: Event, span: Span): void {\n event.contexts = {\n trace: spanToTraceContext(span),\n ...event.contexts,\n };\n\n event.sdkProcessingMetadata = {\n dynamicSamplingContext: getDynamicSamplingContextFromSpan(span),\n ...event.sdkProcessingMetadata,\n };\n\n const rootSpan = getRootSpan(span);\n const transactionName = spanToJSON(rootSpan).description;\n if (transactionName && !event.transaction && event.type === 'transaction') {\n event.transaction = transactionName;\n }\n}\n\n/**\n * Applies fingerprint from the scope to the event if there's one,\n * uses message if there's one instead or get rid of empty fingerprint\n */\nfunction applyFingerprintToEvent(event: Event, fingerprint: ScopeData['fingerprint'] | undefined): void {\n // Make sure it's an array first and we actually have something in place\n event.fingerprint = event.fingerprint\n ? Array.isArray(event.fingerprint)\n ? event.fingerprint\n : [event.fingerprint]\n : [];\n\n // If we have something on the scope, then merge it with event\n if (fingerprint) {\n event.fingerprint = event.fingerprint.concat(fingerprint);\n }\n\n // If we have no data at all, remove empty array default\n if (event.fingerprint && !event.fingerprint.length) {\n delete event.fingerprint;\n }\n}\n", "import type {\n CaptureContext,\n Client,\n ClientOptions,\n Event,\n EventHint,\n Scope as ScopeInterface,\n ScopeContext,\n StackParser,\n} from '@sentry/types';\n\nimport { DEFAULT_ENVIRONMENT } from '../constants';\nimport { getGlobalScope } from '../currentScopes';\nimport { notifyEventProcessors } from '../eventProcessors';\nimport { Scope } from '../scope';\nimport { getFilenameToDebugIdMap } from '../utils-hoist/debug-ids';\nimport { addExceptionMechanism, uuid4 } from '../utils-hoist/misc';\nimport { normalize } from '../utils-hoist/normalize';\nimport { truncate } from '../utils-hoist/string';\nimport { dateTimestampInSeconds } from '../utils-hoist/time';\nimport { applyScopeDataToEvent, mergeScopeData } from './applyScopeDataToEvent';\n\n/**\n * This type makes sure that we get either a CaptureContext, OR an EventHint.\n * It does not allow mixing them, which could lead to unexpected outcomes, e.g. this is disallowed:\n * { user: { id: '123' }, mechanism: { handled: false } }\n */\nexport type ExclusiveEventHintOrCaptureContext =\n | (CaptureContext & Partial<{ [key in keyof EventHint]: never }>)\n | (EventHint & Partial<{ [key in keyof ScopeContext]: never }>);\n\n/**\n * Adds common information to events.\n *\n * The information includes release and environment from `options`,\n * breadcrumbs and context (extra, tags and user) from the scope.\n *\n * Information that is already present in the event is never overwritten. For\n * nested objects, such as the context, keys are merged.\n *\n * @param event The original event.\n * @param hint May contain additional information about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A new event with more information.\n * @hidden\n */\nexport function prepareEvent(\n options: ClientOptions,\n event: Event,\n hint: EventHint,\n scope?: ScopeInterface,\n client?: Client,\n isolationScope?: ScopeInterface,\n): PromiseLike {\n const { normalizeDepth = 3, normalizeMaxBreadth = 1_000 } = options;\n const prepared: Event = {\n ...event,\n event_id: event.event_id || hint.event_id || uuid4(),\n timestamp: event.timestamp || dateTimestampInSeconds(),\n };\n const integrations = hint.integrations || options.integrations.map(i => i.name);\n\n applyClientOptions(prepared, options);\n applyIntegrationsMetadata(prepared, integrations);\n\n if (client) {\n client.emit('applyFrameMetadata', event);\n }\n\n // Only put debug IDs onto frames for error events.\n if (event.type === undefined) {\n applyDebugIds(prepared, options.stackParser);\n }\n\n // If we have scope given to us, use it as the base for further modifications.\n // This allows us to prevent unnecessary copying of data if `captureContext` is not provided.\n const finalScope = getFinalScope(scope, hint.captureContext);\n\n if (hint.mechanism) {\n addExceptionMechanism(prepared, hint.mechanism);\n }\n\n const clientEventProcessors = client ? client.getEventProcessors() : [];\n\n // This should be the last thing called, since we want that\n // {@link Scope.addEventProcessor} gets the finished prepared event.\n // Merge scope data together\n const data = getGlobalScope().getScopeData();\n\n if (isolationScope) {\n const isolationData = isolationScope.getScopeData();\n mergeScopeData(data, isolationData);\n }\n\n if (finalScope) {\n const finalScopeData = finalScope.getScopeData();\n mergeScopeData(data, finalScopeData);\n }\n\n const attachments = [...(hint.attachments || []), ...data.attachments];\n if (attachments.length) {\n hint.attachments = attachments;\n }\n\n applyScopeDataToEvent(prepared, data);\n\n const eventProcessors = [\n ...clientEventProcessors,\n // Run scope event processors _after_ all other processors\n ...data.eventProcessors,\n ];\n\n const result = notifyEventProcessors(eventProcessors, prepared, hint);\n\n return result.then(evt => {\n if (evt) {\n // We apply the debug_meta field only after all event processors have ran, so that if any event processors modified\n // file names (e.g.the RewriteFrames integration) the filename -> debug ID relationship isn't destroyed.\n // This should not cause any PII issues, since we're only moving data that is already on the event and not adding\n // any new data\n applyDebugMeta(evt);\n }\n\n if (typeof normalizeDepth === 'number' && normalizeDepth > 0) {\n return normalizeEvent(evt, normalizeDepth, normalizeMaxBreadth);\n }\n return evt;\n });\n}\n\n/**\n * Enhances event using the client configuration.\n * It takes care of all \"static\" values like environment, release and `dist`,\n * as well as truncating overly long values.\n *\n * Only exported for tests.\n *\n * @param event event instance to be enhanced\n */\nexport function applyClientOptions(event: Event, options: ClientOptions): void {\n const { environment, release, dist, maxValueLength = 250 } = options;\n\n // empty strings do not make sense for environment, release, and dist\n // so we handle them the same as if they were not provided\n event.environment = event.environment || environment || DEFAULT_ENVIRONMENT;\n\n if (!event.release && release) {\n event.release = release;\n }\n\n if (!event.dist && dist) {\n event.dist = dist;\n }\n\n if (event.message) {\n event.message = truncate(event.message, maxValueLength);\n }\n\n const exception = event.exception && event.exception.values && event.exception.values[0];\n if (exception && exception.value) {\n exception.value = truncate(exception.value, maxValueLength);\n }\n\n const request = event.request;\n if (request && request.url) {\n request.url = truncate(request.url, maxValueLength);\n }\n}\n\n/**\n * Puts debug IDs into the stack frames of an error event.\n */\nexport function applyDebugIds(event: Event, stackParser: StackParser): void {\n // Build a map of filename -> debug_id\n const filenameDebugIdMap = getFilenameToDebugIdMap(stackParser);\n\n try {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n event!.exception!.values!.forEach(exception => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n exception.stacktrace!.frames!.forEach(frame => {\n if (filenameDebugIdMap && frame.filename) {\n frame.debug_id = filenameDebugIdMap[frame.filename];\n }\n });\n });\n } catch (e) {\n // To save bundle size we're just try catching here instead of checking for the existence of all the different objects.\n }\n}\n\n/**\n * Moves debug IDs from the stack frames of an error event into the debug_meta field.\n */\nexport function applyDebugMeta(event: Event): void {\n // Extract debug IDs and filenames from the stack frames on the event.\n const filenameDebugIdMap: Record = {};\n try {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n event.exception!.values!.forEach(exception => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n exception.stacktrace!.frames!.forEach(frame => {\n if (frame.debug_id) {\n if (frame.abs_path) {\n filenameDebugIdMap[frame.abs_path] = frame.debug_id;\n } else if (frame.filename) {\n filenameDebugIdMap[frame.filename] = frame.debug_id;\n }\n delete frame.debug_id;\n }\n });\n });\n } catch (e) {\n // To save bundle size we're just try catching here instead of checking for the existence of all the different objects.\n }\n\n if (Object.keys(filenameDebugIdMap).length === 0) {\n return;\n }\n\n // Fill debug_meta information\n event.debug_meta = event.debug_meta || {};\n event.debug_meta.images = event.debug_meta.images || [];\n const images = event.debug_meta.images;\n Object.entries(filenameDebugIdMap).forEach(([filename, debug_id]) => {\n images.push({\n type: 'sourcemap',\n code_file: filename,\n debug_id,\n });\n });\n}\n\n/**\n * This function adds all used integrations to the SDK info in the event.\n * @param event The event that will be filled with all integrations.\n */\nfunction applyIntegrationsMetadata(event: Event, integrationNames: string[]): void {\n if (integrationNames.length > 0) {\n event.sdk = event.sdk || {};\n event.sdk.integrations = [...(event.sdk.integrations || []), ...integrationNames];\n }\n}\n\n/**\n * Applies `normalize` function on necessary `Event` attributes to make them safe for serialization.\n * Normalized keys:\n * - `breadcrumbs.data`\n * - `user`\n * - `contexts`\n * - `extra`\n * @param event Event\n * @returns Normalized event\n */\nfunction normalizeEvent(event: Event | null, depth: number, maxBreadth: number): Event | null {\n if (!event) {\n return null;\n }\n\n const normalized: Event = {\n ...event,\n ...(event.breadcrumbs && {\n breadcrumbs: event.breadcrumbs.map(b => ({\n ...b,\n ...(b.data && {\n data: normalize(b.data, depth, maxBreadth),\n }),\n })),\n }),\n ...(event.user && {\n user: normalize(event.user, depth, maxBreadth),\n }),\n ...(event.contexts && {\n contexts: normalize(event.contexts, depth, maxBreadth),\n }),\n ...(event.extra && {\n extra: normalize(event.extra, depth, maxBreadth),\n }),\n };\n\n // event.contexts.trace stores information about a Transaction. Similarly,\n // event.spans[] stores information about child Spans. Given that a\n // Transaction is conceptually a Span, normalization should apply to both\n // Transactions and Spans consistently.\n // For now the decision is to skip normalization of Transactions and Spans,\n // so this block overwrites the normalized event to add back the original\n // Transaction information prior to normalization.\n if (event.contexts && event.contexts.trace && normalized.contexts) {\n normalized.contexts.trace = event.contexts.trace;\n\n // event.contexts.trace.data may contain circular/dangerous data so we need to normalize it\n if (event.contexts.trace.data) {\n normalized.contexts.trace.data = normalize(event.contexts.trace.data, depth, maxBreadth);\n }\n }\n\n // event.spans[].data may contain circular/dangerous data so we need to normalize it\n if (event.spans) {\n normalized.spans = event.spans.map(span => {\n return {\n ...span,\n ...(span.data && {\n data: normalize(span.data, depth, maxBreadth),\n }),\n };\n });\n }\n\n return normalized;\n}\n\nfunction getFinalScope(\n scope: ScopeInterface | undefined,\n captureContext: CaptureContext | undefined,\n): ScopeInterface | undefined {\n if (!captureContext) {\n return scope;\n }\n\n const finalScope = scope ? scope.clone() : new Scope();\n finalScope.update(captureContext);\n return finalScope;\n}\n\n/**\n * Parse either an `EventHint` directly, or convert a `CaptureContext` to an `EventHint`.\n * This is used to allow to update method signatures that used to accept a `CaptureContext` but should now accept an `EventHint`.\n */\nexport function parseEventHintOrCaptureContext(\n hint: ExclusiveEventHintOrCaptureContext | undefined,\n): EventHint | undefined {\n if (!hint) {\n return undefined;\n }\n\n // If you pass a Scope or `() => Scope` as CaptureContext, we just return this as captureContext\n if (hintIsScopeOrFunction(hint)) {\n return { captureContext: hint };\n }\n\n if (hintIsScopeContext(hint)) {\n return {\n captureContext: hint,\n };\n }\n\n return hint;\n}\n\nfunction hintIsScopeOrFunction(\n hint: CaptureContext | EventHint,\n): hint is ScopeInterface | ((scope: ScopeInterface) => ScopeInterface) {\n return hint instanceof Scope || typeof hint === 'function';\n}\n\ntype ScopeContextProperty = keyof ScopeContext;\nconst captureContextKeys: readonly ScopeContextProperty[] = [\n 'user',\n 'level',\n 'extra',\n 'contexts',\n 'tags',\n 'fingerprint',\n 'requestSession',\n 'propagationContext',\n] as const;\n\nfunction hintIsScopeContext(hint: Partial | EventHint): hint is Partial {\n return Object.keys(hint).some(key => captureContextKeys.includes(key as ScopeContextProperty));\n}\n", "import type {\n CaptureContext,\n CheckIn,\n Event,\n EventHint,\n EventProcessor,\n Extra,\n Extras,\n FinishedCheckIn,\n MonitorConfig,\n Primitive,\n Session,\n SessionContext,\n SeverityLevel,\n User,\n} from '@sentry/types';\n\nimport { DEFAULT_ENVIRONMENT } from './constants';\nimport { getClient, getCurrentScope, getIsolationScope, withIsolationScope } from './currentScopes';\nimport { DEBUG_BUILD } from './debug-build';\nimport { closeSession, makeSession, updateSession } from './session';\nimport { isThenable } from './utils-hoist/is';\nimport { logger } from './utils-hoist/logger';\nimport { uuid4 } from './utils-hoist/misc';\nimport { timestampInSeconds } from './utils-hoist/time';\nimport { GLOBAL_OBJ } from './utils-hoist/worldwide';\nimport type { ExclusiveEventHintOrCaptureContext } from './utils/prepareEvent';\nimport { parseEventHintOrCaptureContext } from './utils/prepareEvent';\n\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception The exception to capture.\n * @param hint Optional additional data to attach to the Sentry event.\n * @returns the id of the captured Sentry event.\n */\nexport function captureException(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n exception: any,\n hint?: ExclusiveEventHintOrCaptureContext,\n): string {\n return getCurrentScope().captureException(exception, parseEventHintOrCaptureContext(hint));\n}\n\n/**\n * Captures a message event and sends it to Sentry.\n *\n * @param message The message to send to Sentry.\n * @param captureContext Define the level of the message or pass in additional data to attach to the message.\n * @returns the id of the captured message.\n */\nexport function captureMessage(message: string, captureContext?: CaptureContext | SeverityLevel): string {\n // This is necessary to provide explicit scopes upgrade, without changing the original\n // arity of the `captureMessage(message, level)` method.\n const level = typeof captureContext === 'string' ? captureContext : undefined;\n const context = typeof captureContext !== 'string' ? { captureContext } : undefined;\n return getCurrentScope().captureMessage(message, level, context);\n}\n\n/**\n * Captures a manually created event and sends it to Sentry.\n *\n * @param event The event to send to Sentry.\n * @param hint Optional additional data to attach to the Sentry event.\n * @returns the id of the captured event.\n */\nexport function captureEvent(event: Event, hint?: EventHint): string {\n return getCurrentScope().captureEvent(event, hint);\n}\n\n/**\n * Sets context data with the given name.\n * @param name of the context\n * @param context Any kind of data. This data will be normalized.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function setContext(name: string, context: { [key: string]: any } | null): void {\n getIsolationScope().setContext(name, context);\n}\n\n/**\n * Set an object that will be merged sent as extra data with the event.\n * @param extras Extras object to merge into current context.\n */\nexport function setExtras(extras: Extras): void {\n getIsolationScope().setExtras(extras);\n}\n\n/**\n * Set key:value that will be sent as extra data with the event.\n * @param key String of extra\n * @param extra Any kind of data. This data will be normalized.\n */\nexport function setExtra(key: string, extra: Extra): void {\n getIsolationScope().setExtra(key, extra);\n}\n\n/**\n * Set an object that will be merged sent as tags data with the event.\n * @param tags Tags context object to merge into current context.\n */\nexport function setTags(tags: { [key: string]: Primitive }): void {\n getIsolationScope().setTags(tags);\n}\n\n/**\n * Set key:value that will be sent as tags data with the event.\n *\n * Can also be used to unset a tag, by passing `undefined`.\n *\n * @param key String key of tag\n * @param value Value of tag\n */\nexport function setTag(key: string, value: Primitive): void {\n getIsolationScope().setTag(key, value);\n}\n\n/**\n * Updates user context information for future events.\n *\n * @param user User context object to be set in the current context. Pass `null` to unset the user.\n */\nexport function setUser(user: User | null): void {\n getIsolationScope().setUser(user);\n}\n\n/**\n * The last error event id of the isolation scope.\n *\n * Warning: This function really returns the last recorded error event id on the current\n * isolation scope. If you call this function after handling a certain error and another error\n * is captured in between, the last one is returned instead of the one you might expect.\n * Also, ids of events that were never sent to Sentry (for example because\n * they were dropped in `beforeSend`) could be returned.\n *\n * @returns The last event id of the isolation scope.\n */\nexport function lastEventId(): string | undefined {\n return getIsolationScope().lastEventId();\n}\n\n/**\n * Create a cron monitor check in and send it to Sentry.\n *\n * @param checkIn An object that describes a check in.\n * @param upsertMonitorConfig An optional object that describes a monitor config. Use this if you want\n * to create a monitor automatically when sending a check in.\n */\nexport function captureCheckIn(checkIn: CheckIn, upsertMonitorConfig?: MonitorConfig): string {\n const scope = getCurrentScope();\n const client = getClient();\n if (!client) {\n DEBUG_BUILD && logger.warn('Cannot capture check-in. No client defined.');\n } else if (!client.captureCheckIn) {\n DEBUG_BUILD && logger.warn('Cannot capture check-in. Client does not support sending check-ins.');\n } else {\n return client.captureCheckIn(checkIn, upsertMonitorConfig, scope);\n }\n\n return uuid4();\n}\n\n/**\n * Wraps a callback with a cron monitor check in. The check in will be sent to Sentry when the callback finishes.\n *\n * @param monitorSlug The distinct slug of the monitor.\n * @param upsertMonitorConfig An optional object that describes a monitor config. Use this if you want\n * to create a monitor automatically when sending a check in.\n */\nexport function withMonitor(\n monitorSlug: CheckIn['monitorSlug'],\n callback: () => T,\n upsertMonitorConfig?: MonitorConfig,\n): T {\n const checkInId = captureCheckIn({ monitorSlug, status: 'in_progress' }, upsertMonitorConfig);\n const now = timestampInSeconds();\n\n function finishCheckIn(status: FinishedCheckIn['status']): void {\n captureCheckIn({ monitorSlug, status, checkInId, duration: timestampInSeconds() - now });\n }\n\n return withIsolationScope(() => {\n let maybePromiseResult: T;\n try {\n maybePromiseResult = callback();\n } catch (e) {\n finishCheckIn('error');\n throw e;\n }\n\n if (isThenable(maybePromiseResult)) {\n Promise.resolve(maybePromiseResult).then(\n () => {\n finishCheckIn('ok');\n },\n e => {\n finishCheckIn('error');\n throw e;\n },\n );\n } else {\n finishCheckIn('ok');\n }\n\n return maybePromiseResult;\n });\n}\n\n/**\n * Call `flush()` on the current client, if there is one. See {@link Client.flush}.\n *\n * @param timeout Maximum time in ms the client should wait to flush its event queue. Omitting this parameter will cause\n * the client to wait until all events are sent before resolving the promise.\n * @returns A promise which resolves to `true` if the queue successfully drains before the timeout, or `false` if it\n * doesn't (or if there's no client defined).\n */\nexport async function flush(timeout?: number): Promise {\n const client = getClient();\n if (client) {\n return client.flush(timeout);\n }\n DEBUG_BUILD && logger.warn('Cannot flush events. No client defined.');\n return Promise.resolve(false);\n}\n\n/**\n * Call `close()` on the current client, if there is one. See {@link Client.close}.\n *\n * @param timeout Maximum time in ms the client should wait to flush its event queue before shutting down. Omitting this\n * parameter will cause the client to wait until all events are sent before disabling itself.\n * @returns A promise which resolves to `true` if the queue successfully drains before the timeout, or `false` if it\n * doesn't (or if there's no client defined).\n */\nexport async function close(timeout?: number): Promise {\n const client = getClient();\n if (client) {\n return client.close(timeout);\n }\n DEBUG_BUILD && logger.warn('Cannot flush events and disable SDK. No client defined.');\n return Promise.resolve(false);\n}\n\n/**\n * Returns true if Sentry has been properly initialized.\n */\nexport function isInitialized(): boolean {\n return !!getClient();\n}\n\n/** If the SDK is initialized & enabled. */\nexport function isEnabled(): boolean {\n const client = getClient();\n return !!client && client.getOptions().enabled !== false && !!client.getTransport();\n}\n\n/**\n * Add an event processor.\n * This will be added to the current isolation scope, ensuring any event that is processed in the current execution\n * context will have the processor applied.\n */\nexport function addEventProcessor(callback: EventProcessor): void {\n getIsolationScope().addEventProcessor(callback);\n}\n\n/**\n * Start a session on the current isolation scope.\n *\n * @param context (optional) additional properties to be applied to the returned session object\n *\n * @returns the new active session\n */\nexport function startSession(context?: SessionContext): Session {\n const client = getClient();\n const isolationScope = getIsolationScope();\n const currentScope = getCurrentScope();\n\n const { release, environment = DEFAULT_ENVIRONMENT } = (client && client.getOptions()) || {};\n\n // Will fetch userAgent if called from browser sdk\n const { userAgent } = GLOBAL_OBJ.navigator || {};\n\n const session = makeSession({\n release,\n environment,\n user: currentScope.getUser() || isolationScope.getUser(),\n ...(userAgent && { userAgent }),\n ...context,\n });\n\n // End existing session if there's one\n const currentSession = isolationScope.getSession();\n if (currentSession && currentSession.status === 'ok') {\n updateSession(currentSession, { status: 'exited' });\n }\n\n endSession();\n\n // Afterwards we set the new session on the scope\n isolationScope.setSession(session);\n\n // TODO (v8): Remove this and only use the isolation scope(?).\n // For v7 though, we can't \"soft-break\" people using getCurrentHub().getScope().setSession()\n currentScope.setSession(session);\n\n return session;\n}\n\n/**\n * End the session on the current isolation scope.\n */\nexport function endSession(): void {\n const isolationScope = getIsolationScope();\n const currentScope = getCurrentScope();\n\n const session = currentScope.getSession() || isolationScope.getSession();\n if (session) {\n closeSession(session);\n }\n _sendSessionUpdate();\n\n // the session is over; take it off of the scope\n isolationScope.setSession();\n\n // TODO (v8): Remove this and only use the isolation scope(?).\n // For v7 though, we can't \"soft-break\" people using getCurrentHub().getScope().setSession()\n currentScope.setSession();\n}\n\n/**\n * Sends the current Session on the scope\n */\nfunction _sendSessionUpdate(): void {\n const isolationScope = getIsolationScope();\n const currentScope = getCurrentScope();\n const client = getClient();\n // TODO (v8): Remove currentScope and only use the isolation scope(?).\n // For v7 though, we can't \"soft-break\" people using getCurrentHub().getScope().setSession()\n const session = currentScope.getSession() || isolationScope.getSession();\n if (session && client) {\n client.captureSession(session);\n }\n}\n\n/**\n * Sends the current session on the scope to Sentry\n *\n * @param end If set the session will be marked as exited and removed from the scope.\n * Defaults to `false`.\n */\nexport function captureSession(end: boolean = false): void {\n // both send the update and pull the session from the scope\n if (end) {\n endSession();\n return;\n }\n\n // only send the update\n _sendSessionUpdate();\n}\n", "import type { DsnComponents, DsnLike, SdkInfo } from '@sentry/types';\nimport { dsnToString, makeDsn } from './utils-hoist/dsn';\n\nconst SENTRY_API_VERSION = '7';\n\n/** Returns the prefix to construct Sentry ingestion API endpoints. */\nfunction getBaseApiEndpoint(dsn: DsnComponents): string {\n const protocol = dsn.protocol ? `${dsn.protocol}:` : '';\n const port = dsn.port ? `:${dsn.port}` : '';\n return `${protocol}//${dsn.host}${port}${dsn.path ? `/${dsn.path}` : ''}/api/`;\n}\n\n/** Returns the ingest API endpoint for target. */\nfunction _getIngestEndpoint(dsn: DsnComponents): string {\n return `${getBaseApiEndpoint(dsn)}${dsn.projectId}/envelope/`;\n}\n\n/** Returns a URL-encoded string with auth config suitable for a query string. */\nfunction _encodedAuth(dsn: DsnComponents, sdkInfo: SdkInfo | undefined): string {\n const params: Record = {\n sentry_version: SENTRY_API_VERSION,\n };\n\n if (dsn.publicKey) {\n // We send only the minimum set of required information. See\n // https://github.com/getsentry/sentry-javascript/issues/2572.\n params.sentry_key = dsn.publicKey;\n }\n\n if (sdkInfo) {\n params.sentry_client = `${sdkInfo.name}/${sdkInfo.version}`;\n }\n\n return new URLSearchParams(params).toString();\n}\n\n/**\n * Returns the envelope endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\nexport function getEnvelopeEndpointWithUrlEncodedAuth(dsn: DsnComponents, tunnel?: string, sdkInfo?: SdkInfo): string {\n return tunnel ? tunnel : `${_getIngestEndpoint(dsn)}?${_encodedAuth(dsn, sdkInfo)}`;\n}\n\n/** Returns the url to the report dialog endpoint. */\nexport function getReportDialogEndpoint(\n dsnLike: DsnLike,\n dialogOptions: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n user?: { name?: string; email?: string };\n },\n): string {\n const dsn = makeDsn(dsnLike);\n if (!dsn) {\n return '';\n }\n\n const endpoint = `${getBaseApiEndpoint(dsn)}embed/error-page/`;\n\n let encodedOptions = `dsn=${dsnToString(dsn)}`;\n for (const key in dialogOptions) {\n if (key === 'dsn') {\n continue;\n }\n\n if (key === 'onClose') {\n continue;\n }\n\n if (key === 'user') {\n const user = dialogOptions.user;\n if (!user) {\n continue;\n }\n if (user.name) {\n encodedOptions += `&name=${encodeURIComponent(user.name)}`;\n }\n if (user.email) {\n encodedOptions += `&email=${encodeURIComponent(user.email)}`;\n }\n } else {\n encodedOptions += `&${encodeURIComponent(key)}=${encodeURIComponent(dialogOptions[key] as string)}`;\n }\n }\n\n return `${endpoint}?${encodedOptions}`;\n}\n", "import type { Client, Event, EventHint, Integration, IntegrationFn, Options } from '@sentry/types';\nimport { getClient } from './currentScopes';\n\nimport { DEBUG_BUILD } from './debug-build';\nimport { logger } from './utils-hoist/logger';\n\ndeclare module '@sentry/types' {\n interface Integration {\n isDefaultInstance?: boolean;\n }\n}\n\nexport const installedIntegrations: string[] = [];\n\n/** Map of integrations assigned to a client */\nexport type IntegrationIndex = {\n [key: string]: Integration;\n};\n\n/**\n * Remove duplicates from the given array, preferring the last instance of any duplicate. Not guaranteed to\n * preserve the order of integrations in the array.\n *\n * @private\n */\nfunction filterDuplicates(integrations: Integration[]): Integration[] {\n const integrationsByName: { [key: string]: Integration } = {};\n\n integrations.forEach(currentInstance => {\n const { name } = currentInstance;\n\n const existingInstance = integrationsByName[name];\n\n // We want integrations later in the array to overwrite earlier ones of the same type, except that we never want a\n // default instance to overwrite an existing user instance\n if (existingInstance && !existingInstance.isDefaultInstance && currentInstance.isDefaultInstance) {\n return;\n }\n\n integrationsByName[name] = currentInstance;\n });\n\n return Object.values(integrationsByName);\n}\n\n/** Gets integrations to install */\nexport function getIntegrationsToSetup(options: Pick): Integration[] {\n const defaultIntegrations = options.defaultIntegrations || [];\n const userIntegrations = options.integrations;\n\n // We flag default instances, so that later we can tell them apart from any user-created instances of the same class\n defaultIntegrations.forEach(integration => {\n integration.isDefaultInstance = true;\n });\n\n let integrations: Integration[];\n\n if (Array.isArray(userIntegrations)) {\n integrations = [...defaultIntegrations, ...userIntegrations];\n } else if (typeof userIntegrations === 'function') {\n const resolvedUserIntegrations = userIntegrations(defaultIntegrations);\n integrations = Array.isArray(resolvedUserIntegrations) ? resolvedUserIntegrations : [resolvedUserIntegrations];\n } else {\n integrations = defaultIntegrations;\n }\n\n const finalIntegrations = filterDuplicates(integrations);\n\n // The `Debug` integration prints copies of the `event` and `hint` which will be passed to `beforeSend` or\n // `beforeSendTransaction`. It therefore has to run after all other integrations, so that the changes of all event\n // processors will be reflected in the printed values. For lack of a more elegant way to guarantee that, we therefore\n // locate it and, assuming it exists, pop it out of its current spot and shove it onto the end of the array.\n const debugIndex = finalIntegrations.findIndex(integration => integration.name === 'Debug');\n if (debugIndex > -1) {\n const [debugInstance] = finalIntegrations.splice(debugIndex, 1) as [Integration];\n finalIntegrations.push(debugInstance);\n }\n\n return finalIntegrations;\n}\n\n/**\n * Given a list of integration instances this installs them all. When `withDefaults` is set to `true` then all default\n * integrations are added unless they were already provided before.\n * @param integrations array of integration instances\n * @param withDefault should enable default integrations\n */\nexport function setupIntegrations(client: Client, integrations: Integration[]): IntegrationIndex {\n const integrationIndex: IntegrationIndex = {};\n\n integrations.forEach(integration => {\n // guard against empty provided integrations\n if (integration) {\n setupIntegration(client, integration, integrationIndex);\n }\n });\n\n return integrationIndex;\n}\n\n/**\n * Execute the `afterAllSetup` hooks of the given integrations.\n */\nexport function afterSetupIntegrations(client: Client, integrations: Integration[]): void {\n for (const integration of integrations) {\n // guard against empty provided integrations\n if (integration && integration.afterAllSetup) {\n integration.afterAllSetup(client);\n }\n }\n}\n\n/** Setup a single integration. */\nexport function setupIntegration(client: Client, integration: Integration, integrationIndex: IntegrationIndex): void {\n if (integrationIndex[integration.name]) {\n DEBUG_BUILD && logger.log(`Integration skipped because it was already installed: ${integration.name}`);\n return;\n }\n integrationIndex[integration.name] = integration;\n\n // `setupOnce` is only called the first time\n if (installedIntegrations.indexOf(integration.name) === -1 && typeof integration.setupOnce === 'function') {\n integration.setupOnce();\n installedIntegrations.push(integration.name);\n }\n\n // `setup` is run for each client\n if (integration.setup && typeof integration.setup === 'function') {\n integration.setup(client);\n }\n\n if (typeof integration.preprocessEvent === 'function') {\n const callback = integration.preprocessEvent.bind(integration) as typeof integration.preprocessEvent;\n client.on('preprocessEvent', (event, hint) => callback(event, hint, client));\n }\n\n if (typeof integration.processEvent === 'function') {\n const callback = integration.processEvent.bind(integration) as typeof integration.processEvent;\n\n const processor = Object.assign((event: Event, hint: EventHint) => callback(event, hint, client), {\n id: integration.name,\n });\n\n client.addEventProcessor(processor);\n }\n\n DEBUG_BUILD && logger.log(`Integration installed: ${integration.name}`);\n}\n\n/** Add an integration to the current scope's client. */\nexport function addIntegration(integration: Integration): void {\n const client = getClient();\n\n if (!client) {\n DEBUG_BUILD && logger.warn(`Cannot add integration \"${integration.name}\" because no SDK Client is available.`);\n return;\n }\n\n client.addIntegration(integration);\n}\n\n/**\n * Define an integration function that can be used to create an integration instance.\n * Note that this by design hides the implementation details of the integration, as they are considered internal.\n */\nexport function defineIntegration(fn: Fn): (...args: Parameters) => Integration {\n return fn;\n}\n", "import type { ClientReport, ClientReportEnvelope, ClientReportItem } from '@sentry/types';\n\nimport { createEnvelope } from './envelope';\nimport { dateTimestampInSeconds } from './time';\n\n/**\n * Creates client report envelope\n * @param discarded_events An array of discard events\n * @param dsn A DSN that can be set on the header. Optional.\n */\nexport function createClientReportEnvelope(\n discarded_events: ClientReport['discarded_events'],\n dsn?: string,\n timestamp?: number,\n): ClientReportEnvelope {\n const clientReportItem: ClientReportItem = [\n { type: 'client_report' },\n {\n timestamp: timestamp || dateTimestampInSeconds(),\n discarded_events,\n },\n ];\n return createEnvelope(dsn ? { dsn } : {}, [clientReportItem]);\n}\n", "import type { ConsoleLevel } from '@sentry/types';\n\n/** An error emitted by Sentry SDKs and related utilities. */\nexport class SentryError extends Error {\n /** Display name of this error instance. */\n public name: string;\n\n public logLevel: ConsoleLevel;\n\n public constructor(public message: string, logLevel: ConsoleLevel = 'warn') {\n super(message);\n\n this.name = new.target.prototype.constructor.name;\n // This sets the prototype to be `Error`, not `SentryError`. It's unclear why we do this, but commenting this line\n // out causes various (seemingly totally unrelated) playwright tests consistently time out. FYI, this makes\n // instances of `SentryError` fail `obj instanceof SentryError` checks.\n Object.setPrototypeOf(this, new.target.prototype);\n this.logLevel = logLevel;\n }\n}\n", "/* eslint-disable max-lines */\nimport type {\n Breadcrumb,\n BreadcrumbHint,\n Client,\n ClientOptions,\n DataCategory,\n DsnComponents,\n DynamicSamplingContext,\n Envelope,\n ErrorEvent,\n Event,\n EventDropReason,\n EventHint,\n EventProcessor,\n FeedbackEvent,\n Integration,\n Outcome,\n ParameterizedString,\n SdkMetadata,\n Session,\n SessionAggregates,\n SeverityLevel,\n Span,\n SpanAttributes,\n SpanContextData,\n SpanJSON,\n StartSpanOptions,\n TransactionEvent,\n Transport,\n TransportMakeRequestResponse,\n} from '@sentry/types';\n\nimport { getEnvelopeEndpointWithUrlEncodedAuth } from './api';\nimport { getCurrentScope, getIsolationScope, getTraceContextFromScope } from './currentScopes';\nimport { DEBUG_BUILD } from './debug-build';\nimport { createEventEnvelope, createSessionEnvelope } from './envelope';\nimport type { IntegrationIndex } from './integration';\nimport { afterSetupIntegrations } from './integration';\nimport { setupIntegration, setupIntegrations } from './integration';\nimport type { Scope } from './scope';\nimport { updateSession } from './session';\nimport { getDynamicSamplingContextFromScope } from './tracing/dynamicSamplingContext';\nimport { createClientReportEnvelope } from './utils-hoist/clientreport';\nimport { dsnToString, makeDsn } from './utils-hoist/dsn';\nimport { addItemToEnvelope, createAttachmentEnvelopeItem } from './utils-hoist/envelope';\nimport { SentryError } from './utils-hoist/error';\nimport { isParameterizedString, isPlainObject, isPrimitive, isThenable } from './utils-hoist/is';\nimport { consoleSandbox, logger } from './utils-hoist/logger';\nimport { checkOrSetAlreadyCaught, uuid4 } from './utils-hoist/misc';\nimport { SyncPromise, rejectedSyncPromise, resolvedSyncPromise } from './utils-hoist/syncpromise';\nimport { parseSampleRate } from './utils/parseSampleRate';\nimport { prepareEvent } from './utils/prepareEvent';\nimport { showSpanDropWarning } from './utils/spanUtils';\n\nconst ALREADY_SEEN_ERROR = \"Not capturing exception because it's already been captured.\";\n\n/**\n * Base implementation for all JavaScript SDK clients.\n *\n * Call the constructor with the corresponding options\n * specific to the client subclass. To access these options later, use\n * {@link Client.getOptions}.\n *\n * If a Dsn is specified in the options, it will be parsed and stored. Use\n * {@link Client.getDsn} to retrieve the Dsn at any moment. In case the Dsn is\n * invalid, the constructor will throw a {@link SentryException}. Note that\n * without a valid Dsn, the SDK will not send any events to Sentry.\n *\n * Before sending an event, it is passed through\n * {@link BaseClient._prepareEvent} to add SDK information and scope data\n * (breadcrumbs and context). To add more custom information, override this\n * method and extend the resulting prepared event.\n *\n * To issue automatically created events (e.g. via instrumentation), use\n * {@link Client.captureEvent}. It will prepare the event and pass it through\n * the callback lifecycle. To issue auto-breadcrumbs, use\n * {@link Client.addBreadcrumb}.\n *\n * @example\n * class NodeClient extends BaseClient {\n * public constructor(options: NodeOptions) {\n * super(options);\n * }\n *\n * // ...\n * }\n */\nexport abstract class BaseClient implements Client {\n /** Options passed to the SDK. */\n protected readonly _options: O;\n\n /** The client Dsn, if specified in options. Without this Dsn, the SDK will be disabled. */\n protected readonly _dsn?: DsnComponents;\n\n protected readonly _transport?: Transport;\n\n /** Array of set up integrations. */\n protected _integrations: IntegrationIndex;\n\n /** Number of calls being processed */\n protected _numProcessing: number;\n\n protected _eventProcessors: EventProcessor[];\n\n /** Holds flushable */\n private _outcomes: { [key: string]: number };\n\n // eslint-disable-next-line @typescript-eslint/ban-types\n private _hooks: Record;\n\n /**\n * Initializes this client instance.\n *\n * @param options Options for the client.\n */\n protected constructor(options: O) {\n this._options = options;\n this._integrations = {};\n this._numProcessing = 0;\n this._outcomes = {};\n this._hooks = {};\n this._eventProcessors = [];\n\n if (options.dsn) {\n this._dsn = makeDsn(options.dsn);\n } else {\n DEBUG_BUILD && logger.warn('No DSN provided, client will not send events.');\n }\n\n if (this._dsn) {\n const url = getEnvelopeEndpointWithUrlEncodedAuth(\n this._dsn,\n options.tunnel,\n options._metadata ? options._metadata.sdk : undefined,\n );\n this._transport = options.transport({\n tunnel: this._options.tunnel,\n recordDroppedEvent: this.recordDroppedEvent.bind(this),\n ...options.transportOptions,\n url,\n });\n }\n\n // TODO(v9): Remove this deprecation warning\n const tracingOptions = ['enableTracing', 'tracesSampleRate', 'tracesSampler'] as const;\n const undefinedOption = tracingOptions.find(option => option in options && options[option] == undefined);\n if (undefinedOption) {\n consoleSandbox(() => {\n // eslint-disable-next-line no-console\n console.warn(\n `[Sentry] Deprecation warning: \\`${undefinedOption}\\` is set to undefined, which leads to tracing being enabled. In v9, a value of \\`undefined\\` will result in tracing being disabled.`,\n );\n });\n }\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public captureException(exception: any, hint?: EventHint, scope?: Scope): string {\n const eventId = uuid4();\n\n // ensure we haven't captured this very object before\n if (checkOrSetAlreadyCaught(exception)) {\n DEBUG_BUILD && logger.log(ALREADY_SEEN_ERROR);\n return eventId;\n }\n\n const hintWithEventId = {\n event_id: eventId,\n ...hint,\n };\n\n this._process(\n this.eventFromException(exception, hintWithEventId).then(event =>\n this._captureEvent(event, hintWithEventId, scope),\n ),\n );\n\n return hintWithEventId.event_id;\n }\n\n /**\n * @inheritDoc\n */\n public captureMessage(\n message: ParameterizedString,\n level?: SeverityLevel,\n hint?: EventHint,\n currentScope?: Scope,\n ): string {\n const hintWithEventId = {\n event_id: uuid4(),\n ...hint,\n };\n\n const eventMessage = isParameterizedString(message) ? message : String(message);\n\n const promisedEvent = isPrimitive(message)\n ? this.eventFromMessage(eventMessage, level, hintWithEventId)\n : this.eventFromException(message, hintWithEventId);\n\n this._process(promisedEvent.then(event => this._captureEvent(event, hintWithEventId, currentScope)));\n\n return hintWithEventId.event_id;\n }\n\n /**\n * @inheritDoc\n */\n public captureEvent(event: Event, hint?: EventHint, currentScope?: Scope): string {\n const eventId = uuid4();\n\n // ensure we haven't captured this very object before\n if (hint && hint.originalException && checkOrSetAlreadyCaught(hint.originalException)) {\n DEBUG_BUILD && logger.log(ALREADY_SEEN_ERROR);\n return eventId;\n }\n\n const hintWithEventId = {\n event_id: eventId,\n ...hint,\n };\n\n const sdkProcessingMetadata = event.sdkProcessingMetadata || {};\n const capturedSpanScope: Scope | undefined = sdkProcessingMetadata.capturedSpanScope;\n\n this._process(this._captureEvent(event, hintWithEventId, capturedSpanScope || currentScope));\n\n return hintWithEventId.event_id;\n }\n\n /**\n * @inheritDoc\n */\n public captureSession(session: Session): void {\n if (!(typeof session.release === 'string')) {\n DEBUG_BUILD && logger.warn('Discarded session because of missing or non-string release');\n } else {\n this.sendSession(session);\n // After sending, we set init false to indicate it's not the first occurrence\n updateSession(session, { init: false });\n }\n }\n\n /**\n * @inheritDoc\n */\n public getDsn(): DsnComponents | undefined {\n return this._dsn;\n }\n\n /**\n * @inheritDoc\n */\n public getOptions(): O {\n return this._options;\n }\n\n /**\n * @see SdkMetadata in @sentry/types\n *\n * @return The metadata of the SDK\n */\n public getSdkMetadata(): SdkMetadata | undefined {\n return this._options._metadata;\n }\n\n /**\n * @inheritDoc\n */\n public getTransport(): Transport | undefined {\n return this._transport;\n }\n\n /**\n * @inheritDoc\n */\n public flush(timeout?: number): PromiseLike {\n const transport = this._transport;\n if (transport) {\n this.emit('flush');\n return this._isClientDoneProcessing(timeout).then(clientFinished => {\n return transport.flush(timeout).then(transportFlushed => clientFinished && transportFlushed);\n });\n } else {\n return resolvedSyncPromise(true);\n }\n }\n\n /**\n * @inheritDoc\n */\n public close(timeout?: number): PromiseLike {\n return this.flush(timeout).then(result => {\n this.getOptions().enabled = false;\n this.emit('close');\n return result;\n });\n }\n\n /** Get all installed event processors. */\n public getEventProcessors(): EventProcessor[] {\n return this._eventProcessors;\n }\n\n /** @inheritDoc */\n public addEventProcessor(eventProcessor: EventProcessor): void {\n this._eventProcessors.push(eventProcessor);\n }\n\n /** @inheritdoc */\n public init(): void {\n if (\n this._isEnabled() ||\n // Force integrations to be setup even if no DSN was set when we have\n // Spotlight enabled. This is particularly important for browser as we\n // don't support the `spotlight` option there and rely on the users\n // adding the `spotlightBrowserIntegration()` to their integrations which\n // wouldn't get initialized with the check below when there's no DSN set.\n this._options.integrations.some(({ name }) => name.startsWith('Spotlight'))\n ) {\n this._setupIntegrations();\n }\n }\n\n /**\n * Gets an installed integration by its name.\n *\n * @returns The installed integration or `undefined` if no integration with that `name` was installed.\n */\n public getIntegrationByName(integrationName: string): T | undefined {\n return this._integrations[integrationName] as T | undefined;\n }\n\n /**\n * @inheritDoc\n */\n public addIntegration(integration: Integration): void {\n const isAlreadyInstalled = this._integrations[integration.name];\n\n // This hook takes care of only installing if not already installed\n setupIntegration(this, integration, this._integrations);\n // Here we need to check manually to make sure to not run this multiple times\n if (!isAlreadyInstalled) {\n afterSetupIntegrations(this, [integration]);\n }\n }\n\n /**\n * @inheritDoc\n */\n public sendEvent(event: Event, hint: EventHint = {}): void {\n this.emit('beforeSendEvent', event, hint);\n\n let env = createEventEnvelope(event, this._dsn, this._options._metadata, this._options.tunnel);\n\n for (const attachment of hint.attachments || []) {\n env = addItemToEnvelope(env, createAttachmentEnvelopeItem(attachment));\n }\n\n const promise = this.sendEnvelope(env);\n if (promise) {\n promise.then(sendResponse => this.emit('afterSendEvent', event, sendResponse), null);\n }\n }\n\n /**\n * @inheritDoc\n */\n public sendSession(session: Session | SessionAggregates): void {\n const env = createSessionEnvelope(session, this._dsn, this._options._metadata, this._options.tunnel);\n\n // sendEnvelope should not throw\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.sendEnvelope(env);\n }\n\n /**\n * @inheritDoc\n */\n public recordDroppedEvent(reason: EventDropReason, category: DataCategory, eventOrCount?: Event | number): void {\n if (this._options.sendClientReports) {\n // TODO v9: We do not need the `event` passed as third argument anymore, and can possibly remove this overload\n // If event is passed as third argument, we assume this is a count of 1\n const count = typeof eventOrCount === 'number' ? eventOrCount : 1;\n\n // We want to track each category (error, transaction, session, replay_event) separately\n // but still keep the distinction between different type of outcomes.\n // We could use nested maps, but it's much easier to read and type this way.\n // A correct type for map-based implementation if we want to go that route\n // would be `Partial>>>`\n // With typescript 4.1 we could even use template literal types\n const key = `${reason}:${category}`;\n DEBUG_BUILD && logger.log(`Recording outcome: \"${key}\"${count > 1 ? ` (${count} times)` : ''}`);\n this._outcomes[key] = (this._outcomes[key] || 0) + count;\n }\n }\n\n // Keep on() & emit() signatures in sync with types' client.ts interface\n /* eslint-disable @typescript-eslint/unified-signatures */\n\n /** @inheritdoc */\n public on(hook: 'spanStart', callback: (span: Span) => void): () => void;\n\n /** @inheritdoc */\n public on(hook: 'spanEnd', callback: (span: Span) => void): () => void;\n\n /** @inheritdoc */\n public on(hook: 'idleSpanEnableAutoFinish', callback: (span: Span) => void): () => void;\n\n /** @inheritdoc */\n public on(hook: 'beforeEnvelope', callback: (envelope: Envelope) => void): () => void;\n\n /** @inheritdoc */\n public on(hook: 'beforeSendEvent', callback: (event: Event, hint?: EventHint) => void): () => void;\n\n /** @inheritdoc */\n public on(hook: 'preprocessEvent', callback: (event: Event, hint?: EventHint) => void): () => void;\n\n /** @inheritdoc */\n public on(\n hook: 'afterSendEvent',\n callback: (event: Event, sendResponse: TransportMakeRequestResponse) => void,\n ): () => void;\n\n /** @inheritdoc */\n public on(hook: 'beforeAddBreadcrumb', callback: (breadcrumb: Breadcrumb, hint?: BreadcrumbHint) => void): () => void;\n\n /** @inheritdoc */\n public on(hook: 'createDsc', callback: (dsc: DynamicSamplingContext, rootSpan?: Span) => void): () => void;\n\n /** @inheritdoc */\n public on(\n hook: 'beforeSendFeedback',\n callback: (feedback: FeedbackEvent, options?: { includeReplay: boolean }) => void,\n ): () => void;\n\n /** @inheritdoc */\n public on(\n hook: 'beforeSampling',\n callback: (\n samplingData: {\n spanAttributes: SpanAttributes;\n spanName: string;\n parentSampled?: boolean;\n parentContext?: SpanContextData;\n },\n samplingDecision: { decision: boolean },\n ) => void,\n ): void;\n\n /** @inheritdoc */\n public on(\n hook: 'startPageLoadSpan',\n callback: (\n options: StartSpanOptions,\n traceOptions?: { sentryTrace?: string | undefined; baggage?: string | undefined },\n ) => void,\n ): () => void;\n\n /** @inheritdoc */\n public on(hook: 'startNavigationSpan', callback: (options: StartSpanOptions) => void): () => void;\n\n public on(hook: 'flush', callback: () => void): () => void;\n\n public on(hook: 'close', callback: () => void): () => void;\n\n public on(hook: 'applyFrameMetadata', callback: (event: Event) => void): () => void;\n\n /** @inheritdoc */\n public on(hook: string, callback: unknown): () => void {\n const hooks = (this._hooks[hook] = this._hooks[hook] || []);\n\n // @ts-expect-error We assume the types are correct\n hooks.push(callback);\n\n // This function returns a callback execution handler that, when invoked,\n // deregisters a callback. This is crucial for managing instances where callbacks\n // need to be unregistered to prevent self-referencing in callback closures,\n // ensuring proper garbage collection.\n return () => {\n // @ts-expect-error We assume the types are correct\n const cbIndex = hooks.indexOf(callback);\n if (cbIndex > -1) {\n hooks.splice(cbIndex, 1);\n }\n };\n }\n\n /** @inheritdoc */\n public emit(\n hook: 'beforeSampling',\n samplingData: {\n spanAttributes: SpanAttributes;\n spanName: string;\n parentSampled?: boolean;\n parentContext?: SpanContextData;\n },\n samplingDecision: { decision: boolean },\n ): void;\n\n /** @inheritdoc */\n public emit(hook: 'spanStart', span: Span): void;\n\n /** @inheritdoc */\n public emit(hook: 'spanEnd', span: Span): void;\n\n /** @inheritdoc */\n public emit(hook: 'idleSpanEnableAutoFinish', span: Span): void;\n\n /** @inheritdoc */\n public emit(hook: 'beforeEnvelope', envelope: Envelope): void;\n\n /** @inheritdoc */\n public emit(hook: 'beforeSendEvent', event: Event, hint?: EventHint): void;\n\n /** @inheritdoc */\n public emit(hook: 'preprocessEvent', event: Event, hint?: EventHint): void;\n\n /** @inheritdoc */\n public emit(hook: 'afterSendEvent', event: Event, sendResponse: TransportMakeRequestResponse): void;\n\n /** @inheritdoc */\n public emit(hook: 'beforeAddBreadcrumb', breadcrumb: Breadcrumb, hint?: BreadcrumbHint): void;\n\n /** @inheritdoc */\n public emit(hook: 'createDsc', dsc: DynamicSamplingContext, rootSpan?: Span): void;\n\n /** @inheritdoc */\n public emit(hook: 'beforeSendFeedback', feedback: FeedbackEvent, options?: { includeReplay: boolean }): void;\n\n /** @inheritdoc */\n public emit(\n hook: 'startPageLoadSpan',\n options: StartSpanOptions,\n traceOptions?: { sentryTrace?: string | undefined; baggage?: string | undefined },\n ): void;\n\n /** @inheritdoc */\n public emit(hook: 'startNavigationSpan', options: StartSpanOptions): void;\n\n /** @inheritdoc */\n public emit(hook: 'flush'): void;\n\n /** @inheritdoc */\n public emit(hook: 'close'): void;\n\n /** @inheritdoc */\n public emit(hook: 'applyFrameMetadata', event: Event): void;\n\n /** @inheritdoc */\n public emit(hook: string, ...rest: unknown[]): void {\n const callbacks = this._hooks[hook];\n if (callbacks) {\n callbacks.forEach(callback => callback(...rest));\n }\n }\n\n /**\n * @inheritdoc\n */\n public sendEnvelope(envelope: Envelope): PromiseLike {\n this.emit('beforeEnvelope', envelope);\n\n if (this._isEnabled() && this._transport) {\n return this._transport.send(envelope).then(null, reason => {\n DEBUG_BUILD && logger.error('Error while sending envelope:', reason);\n return reason;\n });\n }\n\n DEBUG_BUILD && logger.error('Transport disabled');\n\n return resolvedSyncPromise({});\n }\n\n /* eslint-enable @typescript-eslint/unified-signatures */\n\n /** Setup integrations for this client. */\n protected _setupIntegrations(): void {\n const { integrations } = this._options;\n this._integrations = setupIntegrations(this, integrations);\n afterSetupIntegrations(this, integrations);\n }\n\n /** Updates existing session based on the provided event */\n protected _updateSessionFromEvent(session: Session, event: Event): void {\n let crashed = false;\n let errored = false;\n const exceptions = event.exception && event.exception.values;\n\n if (exceptions) {\n errored = true;\n\n for (const ex of exceptions) {\n const mechanism = ex.mechanism;\n if (mechanism && mechanism.handled === false) {\n crashed = true;\n break;\n }\n }\n }\n\n // A session is updated and that session update is sent in only one of the two following scenarios:\n // 1. Session with non terminal status and 0 errors + an error occurred -> Will set error count to 1 and send update\n // 2. Session with non terminal status and 1 error + a crash occurred -> Will set status crashed and send update\n const sessionNonTerminal = session.status === 'ok';\n const shouldUpdateAndSend = (sessionNonTerminal && session.errors === 0) || (sessionNonTerminal && crashed);\n\n if (shouldUpdateAndSend) {\n updateSession(session, {\n ...(crashed && { status: 'crashed' }),\n errors: session.errors || Number(errored || crashed),\n });\n this.captureSession(session);\n }\n }\n\n /**\n * Determine if the client is finished processing. Returns a promise because it will wait `timeout` ms before saying\n * \"no\" (resolving to `false`) in order to give the client a chance to potentially finish first.\n *\n * @param timeout The time, in ms, after which to resolve to `false` if the client is still busy. Passing `0` (or not\n * passing anything) will make the promise wait as long as it takes for processing to finish before resolving to\n * `true`.\n * @returns A promise which will resolve to `true` if processing is already done or finishes before the timeout, and\n * `false` otherwise\n */\n protected _isClientDoneProcessing(timeout?: number): PromiseLike {\n return new SyncPromise(resolve => {\n let ticked: number = 0;\n const tick: number = 1;\n\n const interval = setInterval(() => {\n if (this._numProcessing == 0) {\n clearInterval(interval);\n resolve(true);\n } else {\n ticked += tick;\n if (timeout && ticked >= timeout) {\n clearInterval(interval);\n resolve(false);\n }\n }\n }, tick);\n });\n }\n\n /** Determines whether this SDK is enabled and a transport is present. */\n protected _isEnabled(): boolean {\n return this.getOptions().enabled !== false && this._transport !== undefined;\n }\n\n /**\n * Adds common information to events.\n *\n * The information includes release and environment from `options`,\n * breadcrumbs and context (extra, tags and user) from the scope.\n *\n * Information that is already present in the event is never overwritten. For\n * nested objects, such as the context, keys are merged.\n *\n * @param event The original event.\n * @param hint May contain additional information about the original exception.\n * @param currentScope A scope containing event metadata.\n * @returns A new event with more information.\n */\n protected _prepareEvent(\n event: Event,\n hint: EventHint,\n currentScope = getCurrentScope(),\n isolationScope = getIsolationScope(),\n ): PromiseLike {\n const options = this.getOptions();\n const integrations = Object.keys(this._integrations);\n if (!hint.integrations && integrations.length > 0) {\n hint.integrations = integrations;\n }\n\n this.emit('preprocessEvent', event, hint);\n\n if (!event.type) {\n isolationScope.setLastEventId(event.event_id || hint.event_id);\n }\n\n return prepareEvent(options, event, hint, currentScope, this, isolationScope).then(evt => {\n if (evt === null) {\n return evt;\n }\n\n evt.contexts = {\n trace: getTraceContextFromScope(currentScope),\n ...evt.contexts,\n };\n\n const dynamicSamplingContext = getDynamicSamplingContextFromScope(this, currentScope);\n\n evt.sdkProcessingMetadata = {\n dynamicSamplingContext,\n ...evt.sdkProcessingMetadata,\n };\n\n return evt;\n });\n }\n\n /**\n * Processes the event and logs an error in case of rejection\n * @param event\n * @param hint\n * @param scope\n */\n protected _captureEvent(event: Event, hint: EventHint = {}, scope?: Scope): PromiseLike {\n return this._processEvent(event, hint, scope).then(\n finalEvent => {\n return finalEvent.event_id;\n },\n reason => {\n if (DEBUG_BUILD) {\n // If something's gone wrong, log the error as a warning. If it's just us having used a `SentryError` for\n // control flow, log just the message (no stack) as a log-level log.\n const sentryError = reason as SentryError;\n if (sentryError.logLevel === 'log') {\n logger.log(sentryError.message);\n } else {\n logger.warn(sentryError);\n }\n }\n return undefined;\n },\n );\n }\n\n /**\n * Processes an event (either error or message) and sends it to Sentry.\n *\n * This also adds breadcrumbs and context information to the event. However,\n * platform specific meta data (such as the User's IP address) must be added\n * by the SDK implementor.\n *\n *\n * @param event The event to send to Sentry.\n * @param hint May contain additional information about the original exception.\n * @param currentScope A scope containing event metadata.\n * @returns A SyncPromise that resolves with the event or rejects in case event was/will not be send.\n */\n protected _processEvent(event: Event, hint: EventHint, currentScope?: Scope): PromiseLike {\n const options = this.getOptions();\n const { sampleRate } = options;\n\n const isTransaction = isTransactionEvent(event);\n const isError = isErrorEvent(event);\n const eventType = event.type || 'error';\n const beforeSendLabel = `before send for type \\`${eventType}\\``;\n\n // 1.0 === 100% events are sent\n // 0.0 === 0% events are sent\n // Sampling for transaction happens somewhere else\n const parsedSampleRate = typeof sampleRate === 'undefined' ? undefined : parseSampleRate(sampleRate);\n if (isError && typeof parsedSampleRate === 'number' && Math.random() > parsedSampleRate) {\n this.recordDroppedEvent('sample_rate', 'error', event);\n return rejectedSyncPromise(\n new SentryError(\n `Discarding event because it's not included in the random sample (sampling rate = ${sampleRate})`,\n 'log',\n ),\n );\n }\n\n const dataCategory: DataCategory = eventType === 'replay_event' ? 'replay' : eventType;\n\n const sdkProcessingMetadata = event.sdkProcessingMetadata || {};\n const capturedSpanIsolationScope: Scope | undefined = sdkProcessingMetadata.capturedSpanIsolationScope;\n\n return this._prepareEvent(event, hint, currentScope, capturedSpanIsolationScope)\n .then(prepared => {\n if (prepared === null) {\n this.recordDroppedEvent('event_processor', dataCategory, event);\n throw new SentryError('An event processor returned `null`, will not send event.', 'log');\n }\n\n const isInternalException = hint.data && (hint.data as { __sentry__: boolean }).__sentry__ === true;\n if (isInternalException) {\n return prepared;\n }\n\n const result = processBeforeSend(this, options, prepared, hint);\n return _validateBeforeSendResult(result, beforeSendLabel);\n })\n .then(processedEvent => {\n if (processedEvent === null) {\n this.recordDroppedEvent('before_send', dataCategory, event);\n if (isTransaction) {\n const spans = event.spans || [];\n // the transaction itself counts as one span, plus all the child spans that are added\n const spanCount = 1 + spans.length;\n this.recordDroppedEvent('before_send', 'span', spanCount);\n }\n throw new SentryError(`${beforeSendLabel} returned \\`null\\`, will not send event.`, 'log');\n }\n\n const session = currentScope && currentScope.getSession();\n if (!isTransaction && session) {\n this._updateSessionFromEvent(session, processedEvent);\n }\n\n if (isTransaction) {\n const spanCountBefore =\n (processedEvent.sdkProcessingMetadata && processedEvent.sdkProcessingMetadata.spanCountBeforeProcessing) ||\n 0;\n const spanCountAfter = processedEvent.spans ? processedEvent.spans.length : 0;\n\n const droppedSpanCount = spanCountBefore - spanCountAfter;\n if (droppedSpanCount > 0) {\n this.recordDroppedEvent('before_send', 'span', droppedSpanCount);\n }\n }\n\n // None of the Sentry built event processor will update transaction name,\n // so if the transaction name has been changed by an event processor, we know\n // it has to come from custom event processor added by a user\n const transactionInfo = processedEvent.transaction_info;\n if (isTransaction && transactionInfo && processedEvent.transaction !== event.transaction) {\n const source = 'custom';\n processedEvent.transaction_info = {\n ...transactionInfo,\n source,\n };\n }\n\n this.sendEvent(processedEvent, hint);\n return processedEvent;\n })\n .then(null, reason => {\n if (reason instanceof SentryError) {\n throw reason;\n }\n\n this.captureException(reason, {\n data: {\n __sentry__: true,\n },\n originalException: reason,\n });\n throw new SentryError(\n `Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\\nReason: ${reason}`,\n );\n });\n }\n\n /**\n * Occupies the client with processing and event\n */\n protected _process(promise: PromiseLike): void {\n this._numProcessing++;\n void promise.then(\n value => {\n this._numProcessing--;\n return value;\n },\n reason => {\n this._numProcessing--;\n return reason;\n },\n );\n }\n\n /**\n * Clears outcomes on this client and returns them.\n */\n protected _clearOutcomes(): Outcome[] {\n const outcomes = this._outcomes;\n this._outcomes = {};\n return Object.entries(outcomes).map(([key, quantity]) => {\n const [reason, category] = key.split(':') as [EventDropReason, DataCategory];\n return {\n reason,\n category,\n quantity,\n };\n });\n }\n\n /**\n * Sends client reports as an envelope.\n */\n protected _flushOutcomes(): void {\n DEBUG_BUILD && logger.log('Flushing outcomes...');\n\n const outcomes = this._clearOutcomes();\n\n if (outcomes.length === 0) {\n DEBUG_BUILD && logger.log('No outcomes to send');\n return;\n }\n\n // This is really the only place where we want to check for a DSN and only send outcomes then\n if (!this._dsn) {\n DEBUG_BUILD && logger.log('No dsn provided, will not send outcomes');\n return;\n }\n\n DEBUG_BUILD && logger.log('Sending outcomes:', outcomes);\n\n const envelope = createClientReportEnvelope(outcomes, this._options.tunnel && dsnToString(this._dsn));\n\n // sendEnvelope should not throw\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.sendEnvelope(envelope);\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public abstract eventFromException(_exception: any, _hint?: EventHint): PromiseLike;\n\n /**\n * @inheritDoc\n */\n public abstract eventFromMessage(\n _message: ParameterizedString,\n _level?: SeverityLevel,\n _hint?: EventHint,\n ): PromiseLike;\n}\n\n/**\n * Verifies that return value of configured `beforeSend` or `beforeSendTransaction` is of expected type, and returns the value if so.\n */\nfunction _validateBeforeSendResult(\n beforeSendResult: PromiseLike | Event | null,\n beforeSendLabel: string,\n): PromiseLike | Event | null {\n const invalidValueError = `${beforeSendLabel} must return \\`null\\` or a valid event.`;\n if (isThenable(beforeSendResult)) {\n return beforeSendResult.then(\n event => {\n if (!isPlainObject(event) && event !== null) {\n throw new SentryError(invalidValueError);\n }\n return event;\n },\n e => {\n throw new SentryError(`${beforeSendLabel} rejected with ${e}`);\n },\n );\n } else if (!isPlainObject(beforeSendResult) && beforeSendResult !== null) {\n throw new SentryError(invalidValueError);\n }\n return beforeSendResult;\n}\n\n/**\n * Process the matching `beforeSendXXX` callback.\n */\nfunction processBeforeSend(\n client: Client,\n options: ClientOptions,\n event: Event,\n hint: EventHint,\n): PromiseLike | Event | null {\n const { beforeSend, beforeSendTransaction, beforeSendSpan } = options;\n\n if (isErrorEvent(event) && beforeSend) {\n return beforeSend(event, hint);\n }\n\n if (isTransactionEvent(event)) {\n if (event.spans && beforeSendSpan) {\n const processedSpans: SpanJSON[] = [];\n for (const span of event.spans) {\n const processedSpan = beforeSendSpan(span);\n if (processedSpan) {\n processedSpans.push(processedSpan);\n } else {\n showSpanDropWarning();\n client.recordDroppedEvent('before_send', 'span');\n }\n }\n event.spans = processedSpans;\n }\n\n if (beforeSendTransaction) {\n if (event.spans) {\n // We store the # of spans before processing in SDK metadata,\n // so we can compare it afterwards to determine how many spans were dropped\n const spanCountBefore = event.spans.length;\n event.sdkProcessingMetadata = {\n ...event.sdkProcessingMetadata,\n spanCountBeforeProcessing: spanCountBefore,\n };\n }\n return beforeSendTransaction(event, hint);\n }\n }\n\n return event;\n}\n\nfunction isErrorEvent(event: Event): event is ErrorEvent {\n return event.type === undefined;\n}\n\nfunction isTransactionEvent(event: Event): event is TransactionEvent {\n return event.type === 'transaction';\n}\n", "import type { Client, ClientOptions } from '@sentry/types';\nimport { getCurrentScope } from './currentScopes';\n\nimport { DEBUG_BUILD } from './debug-build';\nimport { consoleSandbox, logger } from './utils-hoist/logger';\n\n/** A class object that can instantiate Client objects. */\nexport type ClientClass = new (options: O) => F;\n\n/**\n * Internal function to create a new SDK client instance. The client is\n * installed and then bound to the current scope.\n *\n * @param clientClass The client class to instantiate.\n * @param options Options to pass to the client.\n */\nexport function initAndBind(\n clientClass: ClientClass,\n options: O,\n): Client {\n if (options.debug === true) {\n if (DEBUG_BUILD) {\n logger.enable();\n } else {\n // use `console.warn` rather than `logger.warn` since by non-debug bundles have all `logger.x` statements stripped\n consoleSandbox(() => {\n // eslint-disable-next-line no-console\n console.warn('[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.');\n });\n }\n }\n const scope = getCurrentScope();\n scope.update(options.initialScope);\n\n const client = new clientClass(options);\n setCurrentClient(client);\n client.init();\n return client;\n}\n\n/**\n * Make the given client the current client.\n */\nexport function setCurrentClient(client: Client): void {\n getCurrentScope().setClient(client);\n}\n", "import { SentryError } from './error';\nimport { SyncPromise, rejectedSyncPromise, resolvedSyncPromise } from './syncpromise';\n\nexport interface PromiseBuffer {\n // exposes the internal array so tests can assert on the state of it.\n // XXX: this really should not be public api.\n $: Array>;\n add(taskProducer: () => PromiseLike): PromiseLike;\n drain(timeout?: number): PromiseLike;\n}\n\n/**\n * Creates an new PromiseBuffer object with the specified limit\n * @param limit max number of promises that can be stored in the buffer\n */\nexport function makePromiseBuffer(limit?: number): PromiseBuffer {\n const buffer: Array> = [];\n\n function isReady(): boolean {\n return limit === undefined || buffer.length < limit;\n }\n\n /**\n * Remove a promise from the queue.\n *\n * @param task Can be any PromiseLike\n * @returns Removed promise.\n */\n function remove(task: PromiseLike): PromiseLike {\n return buffer.splice(buffer.indexOf(task), 1)[0] || Promise.resolve(undefined);\n }\n\n /**\n * Add a promise (representing an in-flight action) to the queue, and set it to remove itself on fulfillment.\n *\n * @param taskProducer A function producing any PromiseLike; In previous versions this used to be `task:\n * PromiseLike`, but under that model, Promises were instantly created on the call-site and their executor\n * functions therefore ran immediately. Thus, even if the buffer was full, the action still happened. By\n * requiring the promise to be wrapped in a function, we can defer promise creation until after the buffer\n * limit check.\n * @returns The original promise.\n */\n function add(taskProducer: () => PromiseLike): PromiseLike {\n if (!isReady()) {\n return rejectedSyncPromise(new SentryError('Not adding Promise because buffer limit was reached.'));\n }\n\n // start the task and add its promise to the queue\n const task = taskProducer();\n if (buffer.indexOf(task) === -1) {\n buffer.push(task);\n }\n void task\n .then(() => remove(task))\n // Use `then(null, rejectionHandler)` rather than `catch(rejectionHandler)` so that we can use `PromiseLike`\n // rather than `Promise`. `PromiseLike` doesn't have a `.catch` method, making its polyfill smaller. (ES5 didn't\n // have promises, so TS has to polyfill when down-compiling.)\n .then(null, () =>\n remove(task).then(null, () => {\n // We have to add another catch here because `remove()` starts a new promise chain.\n }),\n );\n return task;\n }\n\n /**\n * Wait for all promises in the queue to resolve or for timeout to expire, whichever comes first.\n *\n * @param timeout The time, in ms, after which to resolve to `false` if the queue is still non-empty. Passing `0` (or\n * not passing anything) will make the promise wait as long as it takes for the queue to drain before resolving to\n * `true`.\n * @returns A promise which will resolve to `true` if the queue is already empty or drains before the timeout, and\n * `false` otherwise\n */\n function drain(timeout?: number): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n let counter = buffer.length;\n\n if (!counter) {\n return resolve(true);\n }\n\n // wait for `timeout` ms and then resolve to `false` (if not cancelled first)\n const capturedSetTimeout = setTimeout(() => {\n if (timeout && timeout > 0) {\n resolve(false);\n }\n }, timeout);\n\n // if all promises resolve in time, cancel the timer and resolve to `true`\n buffer.forEach(item => {\n void resolvedSyncPromise(item).then(() => {\n if (!--counter) {\n clearTimeout(capturedSetTimeout);\n resolve(true);\n }\n }, reject);\n });\n });\n }\n\n return {\n $: buffer,\n add,\n drain,\n };\n}\n", "import type { DataCategory, TransportMakeRequestResponse } from '@sentry/types';\n\n// Intentionally keeping the key broad, as we don't know for sure what rate limit headers get returned from backend\nexport type RateLimits = Record;\n\nexport const DEFAULT_RETRY_AFTER = 60 * 1000; // 60 seconds\n\n/**\n * Extracts Retry-After value from the request header or returns default value\n * @param header string representation of 'Retry-After' header\n * @param now current unix timestamp\n *\n */\nexport function parseRetryAfterHeader(header: string, now: number = Date.now()): number {\n const headerDelay = parseInt(`${header}`, 10);\n if (!isNaN(headerDelay)) {\n return headerDelay * 1000;\n }\n\n const headerDate = Date.parse(`${header}`);\n if (!isNaN(headerDate)) {\n return headerDate - now;\n }\n\n return DEFAULT_RETRY_AFTER;\n}\n\n/**\n * Gets the time that the given category is disabled until for rate limiting.\n * In case no category-specific limit is set but a general rate limit across all categories is active,\n * that time is returned.\n *\n * @return the time in ms that the category is disabled until or 0 if there's no active rate limit.\n */\nexport function disabledUntil(limits: RateLimits, dataCategory: DataCategory): number {\n return limits[dataCategory] || limits.all || 0;\n}\n\n/**\n * Checks if a category is rate limited\n */\nexport function isRateLimited(limits: RateLimits, dataCategory: DataCategory, now: number = Date.now()): boolean {\n return disabledUntil(limits, dataCategory) > now;\n}\n\n/**\n * Update ratelimits from incoming headers.\n *\n * @return the updated RateLimits object.\n */\nexport function updateRateLimits(\n limits: RateLimits,\n { statusCode, headers }: TransportMakeRequestResponse,\n now: number = Date.now(),\n): RateLimits {\n const updatedRateLimits: RateLimits = {\n ...limits,\n };\n\n // \"The name is case-insensitive.\"\n // https://developer.mozilla.org/en-US/docs/Web/API/Headers/get\n const rateLimitHeader = headers && headers['x-sentry-rate-limits'];\n const retryAfterHeader = headers && headers['retry-after'];\n\n if (rateLimitHeader) {\n /**\n * rate limit headers are of the form\n *
,
,..\n * where each
is of the form\n * : : : : \n * where\n * is a delay in seconds\n * is the event type(s) (error, transaction, etc) being rate limited and is of the form\n * ;;...\n * is what's being limited (org, project, or key) - ignored by SDK\n * is an arbitrary string like \"org_quota\" - ignored by SDK\n * Semicolon-separated list of metric namespace identifiers. Defines which namespace(s) will be affected.\n * Only present if rate limit applies to the metric_bucket data category.\n */\n for (const limit of rateLimitHeader.trim().split(',')) {\n const [retryAfter, categories, , , namespaces] = limit.split(':', 5) as [string, ...string[]];\n const headerDelay = parseInt(retryAfter, 10);\n const delay = (!isNaN(headerDelay) ? headerDelay : 60) * 1000; // 60sec default\n if (!categories) {\n updatedRateLimits.all = now + delay;\n } else {\n for (const category of categories.split(';')) {\n if (category === 'metric_bucket') {\n // namespaces will be present when category === 'metric_bucket'\n if (!namespaces || namespaces.split(';').includes('custom')) {\n updatedRateLimits[category] = now + delay;\n }\n } else {\n updatedRateLimits[category] = now + delay;\n }\n }\n }\n }\n } else if (retryAfterHeader) {\n updatedRateLimits.all = now + parseRetryAfterHeader(retryAfterHeader, now);\n } else if (statusCode === 429) {\n updatedRateLimits.all = now + 60 * 1000;\n }\n\n return updatedRateLimits;\n}\n", "import type {\n Envelope,\n EnvelopeItem,\n EnvelopeItemType,\n Event,\n EventDropReason,\n EventItem,\n InternalBaseTransportOptions,\n Transport,\n TransportMakeRequestResponse,\n TransportRequestExecutor,\n} from '@sentry/types';\n\nimport { DEBUG_BUILD } from '../debug-build';\nimport {\n createEnvelope,\n envelopeItemTypeToDataCategory,\n forEachEnvelopeItem,\n serializeEnvelope,\n} from '../utils-hoist/envelope';\nimport { SentryError } from '../utils-hoist/error';\nimport { logger } from '../utils-hoist/logger';\nimport { type PromiseBuffer, makePromiseBuffer } from '../utils-hoist/promisebuffer';\nimport { type RateLimits, isRateLimited, updateRateLimits } from '../utils-hoist/ratelimit';\nimport { resolvedSyncPromise } from '../utils-hoist/syncpromise';\n\nexport const DEFAULT_TRANSPORT_BUFFER_SIZE = 64;\n\n/**\n * Creates an instance of a Sentry `Transport`\n *\n * @param options\n * @param makeRequest\n */\nexport function createTransport(\n options: InternalBaseTransportOptions,\n makeRequest: TransportRequestExecutor,\n buffer: PromiseBuffer = makePromiseBuffer(\n options.bufferSize || DEFAULT_TRANSPORT_BUFFER_SIZE,\n ),\n): Transport {\n let rateLimits: RateLimits = {};\n const flush = (timeout?: number): PromiseLike => buffer.drain(timeout);\n\n function send(envelope: Envelope): PromiseLike {\n const filteredEnvelopeItems: EnvelopeItem[] = [];\n\n // Drop rate limited items from envelope\n forEachEnvelopeItem(envelope, (item, type) => {\n const dataCategory = envelopeItemTypeToDataCategory(type);\n if (isRateLimited(rateLimits, dataCategory)) {\n const event: Event | undefined = getEventForEnvelopeItem(item, type);\n options.recordDroppedEvent('ratelimit_backoff', dataCategory, event);\n } else {\n filteredEnvelopeItems.push(item);\n }\n });\n\n // Skip sending if envelope is empty after filtering out rate limited events\n if (filteredEnvelopeItems.length === 0) {\n return resolvedSyncPromise({});\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const filteredEnvelope: Envelope = createEnvelope(envelope[0], filteredEnvelopeItems as any);\n\n // Creates client report for each item in an envelope\n const recordEnvelopeLoss = (reason: EventDropReason): void => {\n forEachEnvelopeItem(filteredEnvelope, (item, type) => {\n const event: Event | undefined = getEventForEnvelopeItem(item, type);\n options.recordDroppedEvent(reason, envelopeItemTypeToDataCategory(type), event);\n });\n };\n\n const requestTask = (): PromiseLike =>\n makeRequest({ body: serializeEnvelope(filteredEnvelope) }).then(\n response => {\n // We don't want to throw on NOK responses, but we want to at least log them\n if (response.statusCode !== undefined && (response.statusCode < 200 || response.statusCode >= 300)) {\n DEBUG_BUILD && logger.warn(`Sentry responded with status code ${response.statusCode} to sent event.`);\n }\n\n rateLimits = updateRateLimits(rateLimits, response);\n return response;\n },\n error => {\n recordEnvelopeLoss('network_error');\n throw error;\n },\n );\n\n return buffer.add(requestTask).then(\n result => result,\n error => {\n if (error instanceof SentryError) {\n DEBUG_BUILD && logger.error('Skipped sending event because buffer is full.');\n recordEnvelopeLoss('queue_overflow');\n return resolvedSyncPromise({});\n } else {\n throw error;\n }\n },\n );\n }\n\n return {\n send,\n flush,\n };\n}\n\nfunction getEventForEnvelopeItem(item: Envelope[1][number], type: EnvelopeItemType): Event | undefined {\n if (type !== 'event' && type !== 'transaction') {\n return undefined;\n }\n\n return Array.isArray(item) ? (item as EventItem)[1] : undefined;\n}\n", "import type { Options } from '@sentry/types';\nimport { SDK_VERSION } from '../utils-hoist/version';\n\n/**\n * A builder for the SDK metadata in the options for the SDK initialization.\n *\n * Note: This function is identical to `buildMetadata` in Remix and NextJS and SvelteKit.\n * We don't extract it for bundle size reasons.\n * @see https://github.com/getsentry/sentry-javascript/pull/7404\n * @see https://github.com/getsentry/sentry-javascript/pull/4196\n *\n * If you make changes to this function consider updating the others as well.\n *\n * @param options SDK options object that gets mutated\n * @param names list of package names\n */\nexport function applySdkMetadata(options: Options, name: string, names = [name], source = 'npm'): void {\n const metadata = options._metadata || {};\n\n if (!metadata.sdk) {\n metadata.sdk = {\n name: `sentry.javascript.${name}`,\n packages: names.map(name => ({\n name: `${source}:@sentry/${name}`,\n version: SDK_VERSION,\n })),\n version: SDK_VERSION,\n };\n }\n\n options._metadata = metadata;\n}\n", "import type { Breadcrumb, BreadcrumbHint } from '@sentry/types';\nimport { getClient, getIsolationScope } from './currentScopes';\nimport { consoleSandbox } from './utils-hoist/logger';\nimport { dateTimestampInSeconds } from './utils-hoist/time';\n\n/**\n * Default maximum number of breadcrumbs added to an event. Can be overwritten\n * with {@link Options.maxBreadcrumbs}.\n */\nconst DEFAULT_BREADCRUMBS = 100;\n\n/**\n * Records a new breadcrumb which will be attached to future events.\n *\n * Breadcrumbs will be added to subsequent events to provide more context on\n * user's actions prior to an error or crash.\n */\nexport function addBreadcrumb(breadcrumb: Breadcrumb, hint?: BreadcrumbHint): void {\n const client = getClient();\n const isolationScope = getIsolationScope();\n\n if (!client) return;\n\n const { beforeBreadcrumb = null, maxBreadcrumbs = DEFAULT_BREADCRUMBS } = client.getOptions();\n\n if (maxBreadcrumbs <= 0) return;\n\n const timestamp = dateTimestampInSeconds();\n const mergedBreadcrumb = { timestamp, ...breadcrumb };\n const finalBreadcrumb = beforeBreadcrumb\n ? (consoleSandbox(() => beforeBreadcrumb(mergedBreadcrumb, hint)) as Breadcrumb | null)\n : mergedBreadcrumb;\n\n if (finalBreadcrumb === null) return;\n\n if (client.emit) {\n client.emit('beforeAddBreadcrumb', finalBreadcrumb, hint);\n }\n\n isolationScope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs);\n}\n", "import type { Client, IntegrationFn, WrappedFunction } from '@sentry/types';\nimport { getClient } from '../currentScopes';\nimport { defineIntegration } from '../integration';\nimport { getOriginalFunction } from '../utils-hoist/object';\n\nlet originalFunctionToString: () => void;\n\nconst INTEGRATION_NAME = 'FunctionToString';\n\nconst SETUP_CLIENTS = new WeakMap();\n\nconst _functionToStringIntegration = (() => {\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n originalFunctionToString = Function.prototype.toString;\n\n // intrinsics (like Function.prototype) might be immutable in some environments\n // e.g. Node with --frozen-intrinsics, XS (an embedded JavaScript engine) or SES (a JavaScript proposal)\n try {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Function.prototype.toString = function (this: WrappedFunction, ...args: any[]): string {\n const originalFunction = getOriginalFunction(this);\n const context =\n SETUP_CLIENTS.has(getClient() as Client) && originalFunction !== undefined ? originalFunction : this;\n return originalFunctionToString.apply(context, args);\n };\n } catch {\n // ignore errors here, just don't patch this\n }\n },\n setup(client) {\n SETUP_CLIENTS.set(client, true);\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Patch toString calls to return proper name for wrapped functions.\n *\n * ```js\n * Sentry.init({\n * integrations: [\n * functionToStringIntegration(),\n * ],\n * });\n * ```\n */\nexport const functionToStringIntegration = defineIntegration(_functionToStringIntegration);\n", "import type { Event, IntegrationFn, StackFrame } from '@sentry/types';\n\nimport { DEBUG_BUILD } from '../debug-build';\nimport { defineIntegration } from '../integration';\nimport { logger } from '../utils-hoist/logger';\nimport { getEventDescription } from '../utils-hoist/misc';\nimport { stringMatchesSomePattern } from '../utils-hoist/string';\n\n// \"Script error.\" is hard coded into browsers for errors that it can't read.\n// this is the result of a script being pulled in from an external domain and CORS.\nconst DEFAULT_IGNORE_ERRORS = [\n /^Script error\\.?$/,\n /^Javascript error: Script error\\.? on line 0$/,\n /^ResizeObserver loop completed with undelivered notifications.$/, // The browser logs this when a ResizeObserver handler takes a bit longer. Usually this is not an actual issue though. It indicates slowness.\n /^Cannot redefine property: googletag$/, // This is thrown when google tag manager is used in combination with an ad blocker\n \"undefined is not an object (evaluating 'a.L')\", // Random error that happens but not actionable or noticeable to end-users.\n 'can\\'t redefine non-configurable property \"solana\"', // Probably a browser extension or custom browser (Brave) throwing this error\n \"vv().getRestrictions is not a function. (In 'vv().getRestrictions(1,a)', 'vv().getRestrictions' is undefined)\", // Error thrown by GTM, seemingly not affecting end-users\n \"Can't find variable: _AutofillCallbackHandler\", // Unactionable error in instagram webview https://developers.facebook.com/community/threads/320013549791141/\n];\n\n/** Options for the InboundFilters integration */\nexport interface InboundFiltersOptions {\n allowUrls: Array;\n denyUrls: Array;\n ignoreErrors: Array;\n ignoreTransactions: Array;\n ignoreInternal: boolean;\n disableErrorDefaults: boolean;\n}\n\nconst INTEGRATION_NAME = 'InboundFilters';\nconst _inboundFiltersIntegration = ((options: Partial = {}) => {\n return {\n name: INTEGRATION_NAME,\n processEvent(event, _hint, client) {\n const clientOptions = client.getOptions();\n const mergedOptions = _mergeOptions(options, clientOptions);\n return _shouldDropEvent(event, mergedOptions) ? null : event;\n },\n };\n}) satisfies IntegrationFn;\n\nexport const inboundFiltersIntegration = defineIntegration(_inboundFiltersIntegration);\n\nfunction _mergeOptions(\n internalOptions: Partial = {},\n clientOptions: Partial = {},\n): Partial {\n return {\n allowUrls: [...(internalOptions.allowUrls || []), ...(clientOptions.allowUrls || [])],\n denyUrls: [...(internalOptions.denyUrls || []), ...(clientOptions.denyUrls || [])],\n ignoreErrors: [\n ...(internalOptions.ignoreErrors || []),\n ...(clientOptions.ignoreErrors || []),\n ...(internalOptions.disableErrorDefaults ? [] : DEFAULT_IGNORE_ERRORS),\n ],\n ignoreTransactions: [...(internalOptions.ignoreTransactions || []), ...(clientOptions.ignoreTransactions || [])],\n ignoreInternal: internalOptions.ignoreInternal !== undefined ? internalOptions.ignoreInternal : true,\n };\n}\n\nfunction _shouldDropEvent(event: Event, options: Partial): boolean {\n if (options.ignoreInternal && _isSentryError(event)) {\n DEBUG_BUILD &&\n logger.warn(`Event dropped due to being internal Sentry Error.\\nEvent: ${getEventDescription(event)}`);\n return true;\n }\n if (_isIgnoredError(event, options.ignoreErrors)) {\n DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to being matched by \\`ignoreErrors\\` option.\\nEvent: ${getEventDescription(event)}`,\n );\n return true;\n }\n if (_isUselessError(event)) {\n DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to not having an error message, error type or stacktrace.\\nEvent: ${getEventDescription(\n event,\n )}`,\n );\n return true;\n }\n if (_isIgnoredTransaction(event, options.ignoreTransactions)) {\n DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to being matched by \\`ignoreTransactions\\` option.\\nEvent: ${getEventDescription(event)}`,\n );\n return true;\n }\n if (_isDeniedUrl(event, options.denyUrls)) {\n DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to being matched by \\`denyUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${_getEventFilterUrl(event)}`,\n );\n return true;\n }\n if (!_isAllowedUrl(event, options.allowUrls)) {\n DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to not being matched by \\`allowUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${_getEventFilterUrl(event)}`,\n );\n return true;\n }\n return false;\n}\n\nfunction _isIgnoredError(event: Event, ignoreErrors?: Array): boolean {\n // If event.type, this is not an error\n if (event.type || !ignoreErrors || !ignoreErrors.length) {\n return false;\n }\n\n return _getPossibleEventMessages(event).some(message => stringMatchesSomePattern(message, ignoreErrors));\n}\n\nfunction _isIgnoredTransaction(event: Event, ignoreTransactions?: Array): boolean {\n if (event.type !== 'transaction' || !ignoreTransactions || !ignoreTransactions.length) {\n return false;\n }\n\n const name = event.transaction;\n return name ? stringMatchesSomePattern(name, ignoreTransactions) : false;\n}\n\nfunction _isDeniedUrl(event: Event, denyUrls?: Array): boolean {\n // TODO: Use Glob instead?\n if (!denyUrls || !denyUrls.length) {\n return false;\n }\n const url = _getEventFilterUrl(event);\n return !url ? false : stringMatchesSomePattern(url, denyUrls);\n}\n\nfunction _isAllowedUrl(event: Event, allowUrls?: Array): boolean {\n // TODO: Use Glob instead?\n if (!allowUrls || !allowUrls.length) {\n return true;\n }\n const url = _getEventFilterUrl(event);\n return !url ? true : stringMatchesSomePattern(url, allowUrls);\n}\n\nfunction _getPossibleEventMessages(event: Event): string[] {\n const possibleMessages: string[] = [];\n\n if (event.message) {\n possibleMessages.push(event.message);\n }\n\n let lastException;\n try {\n // @ts-expect-error Try catching to save bundle size\n lastException = event.exception.values[event.exception.values.length - 1];\n } catch (e) {\n // try catching to save bundle size checking existence of variables\n }\n\n if (lastException) {\n if (lastException.value) {\n possibleMessages.push(lastException.value);\n if (lastException.type) {\n possibleMessages.push(`${lastException.type}: ${lastException.value}`);\n }\n }\n }\n\n return possibleMessages;\n}\n\nfunction _isSentryError(event: Event): boolean {\n try {\n // @ts-expect-error can't be a sentry error if undefined\n return event.exception.values[0].type === 'SentryError';\n } catch (e) {\n // ignore\n }\n return false;\n}\n\nfunction _getLastValidUrl(frames: StackFrame[] = []): string | null {\n for (let i = frames.length - 1; i >= 0; i--) {\n const frame = frames[i];\n\n if (frame && frame.filename !== '' && frame.filename !== '[native code]') {\n return frame.filename || null;\n }\n }\n\n return null;\n}\n\nfunction _getEventFilterUrl(event: Event): string | null {\n try {\n let frames;\n try {\n // @ts-expect-error we only care about frames if the whole thing here is defined\n frames = event.exception.values[0].stacktrace.frames;\n } catch (e) {\n // ignore\n }\n return frames ? _getLastValidUrl(frames) : null;\n } catch (oO) {\n DEBUG_BUILD && logger.error(`Cannot extract url for event ${getEventDescription(event)}`);\n return null;\n }\n}\n\nfunction _isUselessError(event: Event): boolean {\n if (event.type) {\n // event is not an error\n return false;\n }\n\n // We only want to consider events for dropping that actually have recorded exception values.\n if (!event.exception || !event.exception.values || event.exception.values.length === 0) {\n return false;\n }\n\n return (\n // No top-level message\n !event.message &&\n // There are no exception values that have a stacktrace, a non-generic-Error type or value\n !event.exception.values.some(value => value.stacktrace || (value.type && value.type !== 'Error') || value.value)\n );\n}\n", "import type { Event, EventHint, Exception, ExtendedError, StackParser } from '@sentry/types';\n\nimport { isInstanceOf } from './is';\nimport { truncate } from './string';\n\n/**\n * Creates exceptions inside `event.exception.values` for errors that are nested on properties based on the `key` parameter.\n */\nexport function applyAggregateErrorsToEvent(\n exceptionFromErrorImplementation: (stackParser: StackParser, ex: Error) => Exception,\n parser: StackParser,\n maxValueLimit: number = 250,\n key: string,\n limit: number,\n event: Event,\n hint?: EventHint,\n): void {\n if (!event.exception || !event.exception.values || !hint || !isInstanceOf(hint.originalException, Error)) {\n return;\n }\n\n // Generally speaking the last item in `event.exception.values` is the exception originating from the original Error\n const originalException: Exception | undefined =\n event.exception.values.length > 0 ? event.exception.values[event.exception.values.length - 1] : undefined;\n\n // We only create exception grouping if there is an exception in the event.\n if (originalException) {\n event.exception.values = truncateAggregateExceptions(\n aggregateExceptionsFromError(\n exceptionFromErrorImplementation,\n parser,\n limit,\n hint.originalException as ExtendedError,\n key,\n event.exception.values,\n originalException,\n 0,\n ),\n maxValueLimit,\n );\n }\n}\n\nfunction aggregateExceptionsFromError(\n exceptionFromErrorImplementation: (stackParser: StackParser, ex: Error) => Exception,\n parser: StackParser,\n limit: number,\n error: ExtendedError,\n key: string,\n prevExceptions: Exception[],\n exception: Exception,\n exceptionId: number,\n): Exception[] {\n if (prevExceptions.length >= limit + 1) {\n return prevExceptions;\n }\n\n let newExceptions = [...prevExceptions];\n\n // Recursively call this function in order to walk down a chain of errors\n if (isInstanceOf(error[key], Error)) {\n applyExceptionGroupFieldsForParentException(exception, exceptionId);\n const newException = exceptionFromErrorImplementation(parser, error[key]);\n const newExceptionId = newExceptions.length;\n applyExceptionGroupFieldsForChildException(newException, key, newExceptionId, exceptionId);\n newExceptions = aggregateExceptionsFromError(\n exceptionFromErrorImplementation,\n parser,\n limit,\n error[key],\n key,\n [newException, ...newExceptions],\n newException,\n newExceptionId,\n );\n }\n\n // This will create exception grouping for AggregateErrors\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError\n if (Array.isArray(error.errors)) {\n error.errors.forEach((childError, i) => {\n if (isInstanceOf(childError, Error)) {\n applyExceptionGroupFieldsForParentException(exception, exceptionId);\n const newException = exceptionFromErrorImplementation(parser, childError);\n const newExceptionId = newExceptions.length;\n applyExceptionGroupFieldsForChildException(newException, `errors[${i}]`, newExceptionId, exceptionId);\n newExceptions = aggregateExceptionsFromError(\n exceptionFromErrorImplementation,\n parser,\n limit,\n childError,\n key,\n [newException, ...newExceptions],\n newException,\n newExceptionId,\n );\n }\n });\n }\n\n return newExceptions;\n}\n\nfunction applyExceptionGroupFieldsForParentException(exception: Exception, exceptionId: number): void {\n // Don't know if this default makes sense. The protocol requires us to set these values so we pick *some* default.\n exception.mechanism = exception.mechanism || { type: 'generic', handled: true };\n\n exception.mechanism = {\n ...exception.mechanism,\n ...(exception.type === 'AggregateError' && { is_exception_group: true }),\n exception_id: exceptionId,\n };\n}\n\nfunction applyExceptionGroupFieldsForChildException(\n exception: Exception,\n source: string,\n exceptionId: number,\n parentId: number | undefined,\n): void {\n // Don't know if this default makes sense. The protocol requires us to set these values so we pick *some* default.\n exception.mechanism = exception.mechanism || { type: 'generic', handled: true };\n\n exception.mechanism = {\n ...exception.mechanism,\n type: 'chained',\n source,\n exception_id: exceptionId,\n parent_id: parentId,\n };\n}\n\n/**\n * Truncate the message (exception.value) of all exceptions in the event.\n * Because this event processor is ran after `applyClientOptions`,\n * we need to truncate the message of the added exceptions here.\n */\nfunction truncateAggregateExceptions(exceptions: Exception[], maxValueLength: number): Exception[] {\n return exceptions.map(exception => {\n if (exception.value) {\n exception.value = truncate(exception.value, maxValueLength);\n }\n return exception;\n });\n}\n", "type PartialURL = {\n host?: string;\n path?: string;\n protocol?: string;\n relative?: string;\n search?: string;\n hash?: string;\n};\n\n/**\n * Parses string form of URL into an object\n * // borrowed from https://tools.ietf.org/html/rfc3986#appendix-B\n * // intentionally using regex and not href parsing trick because React Native and other\n * // environments where DOM might not be available\n * @returns parsed URL object\n */\nexport function parseUrl(url: string): PartialURL {\n if (!url) {\n return {};\n }\n\n const match = url.match(/^(([^:/?#]+):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);\n\n if (!match) {\n return {};\n }\n\n // coerce to undefined values to empty string so we don't get 'undefined'\n const query = match[6] || '';\n const fragment = match[8] || '';\n return {\n host: match[4],\n path: match[5],\n protocol: match[2],\n search: query,\n hash: fragment,\n relative: match[5] + query + fragment, // everything minus origin\n };\n}\n\n/**\n * Strip the query string and fragment off of a given URL or path (if present)\n *\n * @param urlPath Full URL or path, including possible query string and/or fragment\n * @returns URL or path without query string or fragment\n */\nexport function stripUrlQueryAndFragment(urlPath: string): string {\n return (urlPath.split(/[?#]/, 1) as [string, ...string[]])[0];\n}\n\n/**\n * Returns number of URL segments of a passed string URL.\n *\n * @deprecated This function will be removed in the next major version.\n */\n// TODO(v9): Hoist this function into the places where we use it. (as it stands only react router v6 instrumentation)\nexport function getNumberOfUrlSegments(url: string): number {\n // split at '/' or at '\\/' to split regex urls correctly\n return url.split(/\\\\?\\//).filter(s => s.length > 0 && s !== ',').length;\n}\n\n/**\n * Takes a URL object and returns a sanitized string which is safe to use as span name\n * see: https://develop.sentry.dev/sdk/data-handling/#structuring-data\n */\nexport function getSanitizedUrlString(url: PartialURL): string {\n const { protocol, host, path } = url;\n\n const filteredHost =\n (host &&\n host\n // Always filter out authority\n .replace(/^.*@/, '[filtered]:[filtered]@')\n // Don't show standard :80 (http) and :443 (https) ports to reduce the noise\n // TODO: Use new URL global if it exists\n .replace(/(:80)$/, '')\n .replace(/(:443)$/, '')) ||\n '';\n\n return `${protocol ? `${protocol}://` : ''}${filteredHost}${path}`;\n}\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/ban-types */\nimport type { ConsoleLevel, HandlerDataConsole } from '@sentry/types';\n\nimport { CONSOLE_LEVELS, originalConsoleMethods } from '../logger';\nimport { fill } from '../object';\nimport { GLOBAL_OBJ } from '../worldwide';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers';\n\n/**\n * Add an instrumentation handler for when a console.xxx method is called.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addConsoleInstrumentationHandler(handler: (data: HandlerDataConsole) => void): void {\n const type = 'console';\n addHandler(type, handler);\n maybeInstrument(type, instrumentConsole);\n}\n\nfunction instrumentConsole(): void {\n if (!('console' in GLOBAL_OBJ)) {\n return;\n }\n\n CONSOLE_LEVELS.forEach(function (level: ConsoleLevel): void {\n if (!(level in GLOBAL_OBJ.console)) {\n return;\n }\n\n fill(GLOBAL_OBJ.console, level, function (originalConsoleMethod: () => any): Function {\n originalConsoleMethods[level] = originalConsoleMethod;\n\n return function (...args: any[]): void {\n const handlerData: HandlerDataConsole = { args, level };\n triggerHandlers('console', handlerData);\n\n const log = originalConsoleMethods[level];\n log && log.apply(GLOBAL_OBJ.console, args);\n };\n });\n });\n}\n", "import type { SeverityLevel } from '@sentry/types';\n\n/**\n * @deprecated This variable has been deprecated and will be removed in the next major version.\n */\nexport const validSeverityLevels = ['fatal', 'error', 'warning', 'log', 'info', 'debug'];\n\n/**\n * Converts a string-based level into a `SeverityLevel`, normalizing it along the way.\n *\n * @param level String representation of desired `SeverityLevel`.\n * @returns The `SeverityLevel` corresponding to the given string, or 'log' if the string isn't a valid level.\n */\nexport function severityLevelFromString(level: SeverityLevel | string): SeverityLevel {\n return (\n level === 'warn' ? 'warning' : ['fatal', 'error', 'warning', 'log', 'info', 'debug'].includes(level) ? level : 'log'\n ) as SeverityLevel;\n}\n", "import type { Event, Exception, IntegrationFn, StackFrame } from '@sentry/types';\nimport { defineIntegration } from '../integration';\n\nimport { DEBUG_BUILD } from '../debug-build';\nimport { logger } from '../utils-hoist/logger';\nimport { getFramesFromEvent } from '../utils-hoist/stacktrace';\n\nconst INTEGRATION_NAME = 'Dedupe';\n\nconst _dedupeIntegration = (() => {\n let previousEvent: Event | undefined;\n\n return {\n name: INTEGRATION_NAME,\n processEvent(currentEvent) {\n // We want to ignore any non-error type events, e.g. transactions or replays\n // These should never be deduped, and also not be compared against as _previousEvent.\n if (currentEvent.type) {\n return currentEvent;\n }\n\n // Juuust in case something goes wrong\n try {\n if (_shouldDropEvent(currentEvent, previousEvent)) {\n DEBUG_BUILD && logger.warn('Event dropped due to being a duplicate of previously captured event.');\n return null;\n }\n } catch (_oO) {} // eslint-disable-line no-empty\n\n return (previousEvent = currentEvent);\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Deduplication filter.\n */\nexport const dedupeIntegration = defineIntegration(_dedupeIntegration);\n\n/** only exported for tests. */\nexport function _shouldDropEvent(currentEvent: Event, previousEvent?: Event): boolean {\n if (!previousEvent) {\n return false;\n }\n\n if (_isSameMessageEvent(currentEvent, previousEvent)) {\n return true;\n }\n\n if (_isSameExceptionEvent(currentEvent, previousEvent)) {\n return true;\n }\n\n return false;\n}\n\nfunction _isSameMessageEvent(currentEvent: Event, previousEvent: Event): boolean {\n const currentMessage = currentEvent.message;\n const previousMessage = previousEvent.message;\n\n // If neither event has a message property, they were both exceptions, so bail out\n if (!currentMessage && !previousMessage) {\n return false;\n }\n\n // If only one event has a stacktrace, but not the other one, they are not the same\n if ((currentMessage && !previousMessage) || (!currentMessage && previousMessage)) {\n return false;\n }\n\n if (currentMessage !== previousMessage) {\n return false;\n }\n\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n\n return true;\n}\n\nfunction _isSameExceptionEvent(currentEvent: Event, previousEvent: Event): boolean {\n const previousException = _getExceptionFromEvent(previousEvent);\n const currentException = _getExceptionFromEvent(currentEvent);\n\n if (!previousException || !currentException) {\n return false;\n }\n\n if (previousException.type !== currentException.type || previousException.value !== currentException.value) {\n return false;\n }\n\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n\n return true;\n}\n\nfunction _isSameStacktrace(currentEvent: Event, previousEvent: Event): boolean {\n let currentFrames = getFramesFromEvent(currentEvent);\n let previousFrames = getFramesFromEvent(previousEvent);\n\n // If neither event has a stacktrace, they are assumed to be the same\n if (!currentFrames && !previousFrames) {\n return true;\n }\n\n // If only one event has a stacktrace, but not the other one, they are not the same\n if ((currentFrames && !previousFrames) || (!currentFrames && previousFrames)) {\n return false;\n }\n\n currentFrames = currentFrames as StackFrame[];\n previousFrames = previousFrames as StackFrame[];\n\n // If number of frames differ, they are not the same\n if (previousFrames.length !== currentFrames.length) {\n return false;\n }\n\n // Otherwise, compare the two\n for (let i = 0; i < previousFrames.length; i++) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const frameA = previousFrames[i]!;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const frameB = currentFrames[i]!;\n\n if (\n frameA.filename !== frameB.filename ||\n frameA.lineno !== frameB.lineno ||\n frameA.colno !== frameB.colno ||\n frameA.function !== frameB.function\n ) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction _isSameFingerprint(currentEvent: Event, previousEvent: Event): boolean {\n let currentFingerprint = currentEvent.fingerprint;\n let previousFingerprint = previousEvent.fingerprint;\n\n // If neither event has a fingerprint, they are assumed to be the same\n if (!currentFingerprint && !previousFingerprint) {\n return true;\n }\n\n // If only one event has a fingerprint, but not the other one, they are not the same\n if ((currentFingerprint && !previousFingerprint) || (!currentFingerprint && previousFingerprint)) {\n return false;\n }\n\n currentFingerprint = currentFingerprint as string[];\n previousFingerprint = previousFingerprint as string[];\n\n // Otherwise, compare the two\n try {\n return !!(currentFingerprint.join('') === previousFingerprint.join(''));\n } catch (_oO) {\n return false;\n }\n}\n\nfunction _getExceptionFromEvent(event: Event): Exception | undefined {\n return event.exception && event.exception.values && event.exception.values[0];\n}\n", "import type { SeverityLevel } from '@sentry/types';\n\n/**\n * Determine a breadcrumb's log level (only `warning` or `error`) based on an HTTP status code.\n */\nexport function getBreadcrumbLogLevelFromHttpStatusCode(statusCode: number | undefined): SeverityLevel | undefined {\n // NOTE: undefined defaults to 'info' in Sentry\n if (statusCode === undefined) {\n return undefined;\n } else if (statusCode >= 400 && statusCode < 500) {\n return 'warning';\n } else if (statusCode >= 500) {\n return 'error';\n } else {\n return undefined;\n }\n}\n", "import { DEBUG_BUILD } from './debug-build';\nimport { logger } from './logger';\nimport { GLOBAL_OBJ } from './worldwide';\n\nconst WINDOW = GLOBAL_OBJ as unknown as Window;\n\ndeclare const EdgeRuntime: string | undefined;\n\nexport { supportsHistory } from './vendor/supportsHistory';\n\n/**\n * Tells whether current environment supports ErrorEvent objects\n * {@link supportsErrorEvent}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsErrorEvent(): boolean {\n try {\n new ErrorEvent('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports DOMError objects\n * {@link supportsDOMError}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMError(): boolean {\n try {\n // Chrome: VM89:1 Uncaught TypeError: Failed to construct 'DOMError':\n // 1 argument required, but only 0 present.\n // @ts-expect-error It really needs 1 argument, not 0.\n new DOMError('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports DOMException objects\n * {@link supportsDOMException}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMException(): boolean {\n try {\n new DOMException('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports Fetch API\n * {@link supportsFetch}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsFetch(): boolean {\n if (!('fetch' in WINDOW)) {\n return false;\n }\n\n try {\n new Headers();\n new Request('http://www.example.com');\n new Response();\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * isNative checks if the given function is a native implementation\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function isNativeFunction(func: Function): boolean {\n return func && /^function\\s+\\w+\\(\\)\\s+\\{\\s+\\[native code\\]\\s+\\}$/.test(func.toString());\n}\n\n/**\n * Tells whether current environment supports Fetch API natively\n * {@link supportsNativeFetch}.\n *\n * @returns true if `window.fetch` is natively implemented, false otherwise\n */\nexport function supportsNativeFetch(): boolean {\n if (typeof EdgeRuntime === 'string') {\n return true;\n }\n\n if (!supportsFetch()) {\n return false;\n }\n\n // Fast path to avoid DOM I/O\n // eslint-disable-next-line @typescript-eslint/unbound-method\n if (isNativeFunction(WINDOW.fetch)) {\n return true;\n }\n\n // window.fetch is implemented, but is polyfilled or already wrapped (e.g: by a chrome extension)\n // so create a \"pure\" iframe to see if that has native fetch\n let result = false;\n const doc = WINDOW.document;\n // eslint-disable-next-line deprecation/deprecation\n if (doc && typeof (doc.createElement as unknown) === 'function') {\n try {\n const sandbox = doc.createElement('iframe');\n sandbox.hidden = true;\n doc.head.appendChild(sandbox);\n if (sandbox.contentWindow && sandbox.contentWindow.fetch) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n result = isNativeFunction(sandbox.contentWindow.fetch);\n }\n doc.head.removeChild(sandbox);\n } catch (err) {\n DEBUG_BUILD &&\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', err);\n }\n }\n\n return result;\n}\n\n/**\n * Tells whether current environment supports ReportingObserver API\n * {@link supportsReportingObserver}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReportingObserver(): boolean {\n return 'ReportingObserver' in WINDOW;\n}\n\n/**\n * Tells whether current environment supports Referrer Policy API\n * {@link supportsReferrerPolicy}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReferrerPolicy(): boolean {\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default'\n // (see https://caniuse.com/#feat=referrer-policy),\n // it doesn't. And it throws an exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n\n if (!supportsFetch()) {\n return false;\n }\n\n try {\n new Request('_', {\n referrerPolicy: 'origin' as ReferrerPolicy,\n });\n return true;\n } catch (e) {\n return false;\n }\n}\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { HandlerDataFetch } from '@sentry/types';\n\nimport { isError } from '../is';\nimport { addNonEnumerableProperty, fill } from '../object';\nimport { supportsNativeFetch } from '../supports';\nimport { timestampInSeconds } from '../time';\nimport { GLOBAL_OBJ } from '../worldwide';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers';\n\ntype FetchResource = string | { toString(): string } | { url: string };\n\n/**\n * Add an instrumentation handler for when a fetch request happens.\n * The handler function is called once when the request starts and once when it ends,\n * which can be identified by checking if it has an `endTimestamp`.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addFetchInstrumentationHandler(\n handler: (data: HandlerDataFetch) => void,\n skipNativeFetchCheck?: boolean,\n): void {\n const type = 'fetch';\n addHandler(type, handler);\n maybeInstrument(type, () => instrumentFetch(undefined, skipNativeFetchCheck));\n}\n\n/**\n * Add an instrumentation handler for long-lived fetch requests, like consuming server-sent events (SSE) via fetch.\n * The handler will resolve the request body and emit the actual `endTimestamp`, so that the\n * span can be updated accordingly.\n *\n * Only used internally\n * @hidden\n */\nexport function addFetchEndInstrumentationHandler(handler: (data: HandlerDataFetch) => void): void {\n const type = 'fetch-body-resolved';\n addHandler(type, handler);\n maybeInstrument(type, () => instrumentFetch(streamHandler));\n}\n\nfunction instrumentFetch(onFetchResolved?: (response: Response) => void, skipNativeFetchCheck: boolean = false): void {\n if (skipNativeFetchCheck && !supportsNativeFetch()) {\n return;\n }\n\n fill(GLOBAL_OBJ, 'fetch', function (originalFetch: () => void): () => void {\n return function (...args: any[]): void {\n const { method, url } = parseFetchArgs(args);\n const handlerData: HandlerDataFetch = {\n args,\n fetchData: {\n method,\n url,\n },\n startTimestamp: timestampInSeconds() * 1000,\n };\n\n // if there is no callback, fetch is instrumented directly\n if (!onFetchResolved) {\n triggerHandlers('fetch', {\n ...handlerData,\n });\n }\n\n // We capture the stack right here and not in the Promise error callback because Safari (and probably other\n // browsers too) will wipe the stack trace up to this point, only leaving us with this file which is useless.\n\n // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n // it means the error, that was caused by your fetch call did not\n // have a stack trace, so the SDK backfilled the stack trace so\n // you can see which fetch call failed.\n const virtualStackTrace = new Error().stack;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return originalFetch.apply(GLOBAL_OBJ, args).then(\n async (response: Response) => {\n if (onFetchResolved) {\n onFetchResolved(response);\n } else {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: timestampInSeconds() * 1000,\n response,\n });\n }\n\n return response;\n },\n (error: Error) => {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: timestampInSeconds() * 1000,\n error,\n });\n\n if (isError(error) && error.stack === undefined) {\n // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n // it means the error, that was caused by your fetch call did not\n // have a stack trace, so the SDK backfilled the stack trace so\n // you can see which fetch call failed.\n error.stack = virtualStackTrace;\n addNonEnumerableProperty(error, 'framesToPop', 1);\n }\n\n // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n // it means the sentry.javascript SDK caught an error invoking your application code.\n // This is expected behavior and NOT indicative of a bug with sentry.javascript.\n throw error;\n },\n );\n };\n });\n}\n\nasync function resolveResponse(res: Response | undefined, onFinishedResolving: () => void): Promise {\n if (res && res.body) {\n const body = res.body;\n const responseReader = body.getReader();\n\n // Define a maximum duration after which we just cancel\n const maxFetchDurationTimeout = setTimeout(\n () => {\n body.cancel().then(null, () => {\n // noop\n });\n },\n 90 * 1000, // 90s\n );\n\n let readingActive = true;\n while (readingActive) {\n let chunkTimeout;\n try {\n // abort reading if read op takes more than 5s\n chunkTimeout = setTimeout(() => {\n body.cancel().then(null, () => {\n // noop on error\n });\n }, 5000);\n\n // This .read() call will reject/throw when we abort due to timeouts through `body.cancel()`\n const { done } = await responseReader.read();\n\n clearTimeout(chunkTimeout);\n\n if (done) {\n onFinishedResolving();\n readingActive = false;\n }\n } catch (error) {\n readingActive = false;\n } finally {\n clearTimeout(chunkTimeout);\n }\n }\n\n clearTimeout(maxFetchDurationTimeout);\n\n responseReader.releaseLock();\n body.cancel().then(null, () => {\n // noop on error\n });\n }\n}\n\nfunction streamHandler(response: Response): void {\n // clone response for awaiting stream\n let clonedResponseForResolving: Response;\n try {\n clonedResponseForResolving = response.clone();\n } catch {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n resolveResponse(clonedResponseForResolving, () => {\n triggerHandlers('fetch-body-resolved', {\n endTimestamp: timestampInSeconds() * 1000,\n response,\n });\n });\n}\n\nfunction hasProp(obj: unknown, prop: T): obj is Record {\n return !!obj && typeof obj === 'object' && !!(obj as Record)[prop];\n}\n\nfunction getUrlFromResource(resource: FetchResource): string {\n if (typeof resource === 'string') {\n return resource;\n }\n\n if (!resource) {\n return '';\n }\n\n if (hasProp(resource, 'url')) {\n return resource.url;\n }\n\n if (resource.toString) {\n return resource.toString();\n }\n\n return '';\n}\n\n/**\n * Parses the fetch arguments to find the used Http method and the url of the request.\n * Exported for tests only.\n */\nexport function parseFetchArgs(fetchArgs: unknown[]): { method: string; url: string } {\n if (fetchArgs.length === 0) {\n return { method: 'GET', url: '' };\n }\n\n if (fetchArgs.length === 2) {\n const [url, options] = fetchArgs as [FetchResource, object];\n\n return {\n url: getUrlFromResource(url),\n method: hasProp(options, 'method') ? String(options.method).toUpperCase() : 'GET',\n };\n }\n\n const arg = fetchArgs[0];\n return {\n url: getUrlFromResource(arg as FetchResource),\n method: hasProp(arg, 'method') ? String(arg.method).toUpperCase() : 'GET',\n };\n}\n", "/*\n * This module exists for optimizations in the build process through rollup and terser. We define some global\n * constants, which can be overridden during build. By guarding certain pieces of code with functions that return these\n * constants, we can control whether or not they appear in the final bundle. (Any code guarded by a false condition will\n * never run, and will hence be dropped during treeshaking.) The two primary uses for this are stripping out calls to\n * `logger` and preventing node-related code from appearing in browser bundles.\n *\n * Attention:\n * This file should not be used to define constants/flags that are intended to be used for tree-shaking conducted by\n * users. These flags should live in their respective packages, as we identified user tooling (specifically webpack)\n * having issues tree-shaking these constants across package boundaries.\n * An example for this is the __SENTRY_DEBUG__ constant. It is declared in each package individually because we want\n * users to be able to shake away expressions that it guards.\n */\n\ndeclare const __SENTRY_BROWSER_BUNDLE__: boolean | undefined;\n\nexport type SdkSource = 'npm' | 'cdn' | 'loader';\n\n/**\n * Figures out if we're building a browser bundle.\n *\n * @returns true if this is a browser bundle build.\n */\nexport function isBrowserBundle(): boolean {\n return typeof __SENTRY_BROWSER_BUNDLE__ !== 'undefined' && !!__SENTRY_BROWSER_BUNDLE__;\n}\n\n/**\n * Get source of SDK.\n */\nexport function getSDKSource(): SdkSource {\n // This comment is used to identify this line in the CDN bundle build step and replace this with \"return 'cdn';\"\n /* __SENTRY_SDK_SOURCE__ */ return 'npm';\n}\n", "// Based on https://github.com/angular/angular.js/pull/13945/files\n// The MIT License\n\n// Copyright (c) 2010-2016 Google, Inc. http://angularjs.org\n\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\nimport { GLOBAL_OBJ } from '../worldwide';\n\nconst WINDOW = GLOBAL_OBJ as unknown as Window;\n\n/**\n * Tells whether current environment supports History API\n * {@link supportsHistory}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsHistory(): boolean {\n // NOTE: in Chrome App environment, touching history.pushState, *even inside\n // a try/catch block*, will cause Chrome to output an error to console.error\n // borrowed from: https://github.com/angular/angular.js/pull/13945/files\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const chromeVar = (WINDOW as any).chrome;\n const isChromePackagedApp = chromeVar && chromeVar.app && chromeVar.app.runtime;\n /* eslint-enable @typescript-eslint/no-unsafe-member-access */\n const hasHistoryApi = 'history' in WINDOW && !!WINDOW.history.pushState && !!WINDOW.history.replaceState;\n\n return !isChromePackagedApp && hasHistoryApi;\n}\n", "import { captureException, withScope } from '@sentry/core';\nimport {\n GLOBAL_OBJ,\n addExceptionMechanism,\n addExceptionTypeValue,\n addNonEnumerableProperty,\n getOriginalFunction,\n markFunctionWrapped,\n} from '@sentry/core';\nimport type { Mechanism, WrappedFunction } from '@sentry/types';\n\nexport const WINDOW = GLOBAL_OBJ as typeof GLOBAL_OBJ & Window;\n\nlet ignoreOnError: number = 0;\n\n/**\n * @hidden\n */\nexport function shouldIgnoreOnError(): boolean {\n return ignoreOnError > 0;\n}\n\n/**\n * @hidden\n */\nexport function ignoreNextOnError(): void {\n // onerror should trigger before setTimeout\n ignoreOnError++;\n setTimeout(() => {\n ignoreOnError--;\n });\n}\n\n/**\n * Instruments the given function and sends an event to Sentry every time the\n * function throws an exception.\n *\n * @param fn A function to wrap. It is generally safe to pass an unbound function, because the returned wrapper always\n * has a correct `this` context.\n * @returns The wrapped function.\n * @hidden\n */\nexport function wrap(\n fn: WrappedFunction,\n options: {\n mechanism?: Mechanism;\n } = {},\n before?: WrappedFunction,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any {\n // for future readers what this does is wrap a function and then create\n // a bi-directional wrapping between them.\n //\n // example: wrapped = wrap(original);\n // original.__sentry_wrapped__ -> wrapped\n // wrapped.__sentry_original__ -> original\n\n if (typeof fn !== 'function') {\n return fn;\n }\n\n try {\n // if we're dealing with a function that was previously wrapped, return\n // the original wrapper.\n const wrapper = fn.__sentry_wrapped__;\n if (wrapper) {\n if (typeof wrapper === 'function') {\n return wrapper;\n } else {\n // If we find that the `__sentry_wrapped__` function is not a function at the time of accessing it, it means\n // that something messed with it. In that case we want to return the originally passed function.\n return fn;\n }\n }\n\n // We don't wanna wrap it twice\n if (getOriginalFunction(fn)) {\n return fn;\n }\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n // Bail on wrapping and return the function as-is (defers to window.onerror).\n return fn;\n }\n\n /* eslint-disable prefer-rest-params */\n // It is important that `sentryWrapped` is not an arrow function to preserve the context of `this`\n const sentryWrapped: WrappedFunction = function (this: unknown): void {\n const args = Array.prototype.slice.call(arguments);\n\n try {\n if (before && typeof before === 'function') {\n before.apply(this, arguments);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n const wrappedArguments = args.map((arg: any) => wrap(arg, options));\n\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n return fn.apply(this, wrappedArguments);\n } catch (ex) {\n ignoreNextOnError();\n\n withScope(scope => {\n scope.addEventProcessor(event => {\n if (options.mechanism) {\n addExceptionTypeValue(event, undefined, undefined);\n addExceptionMechanism(event, options.mechanism);\n }\n\n event.extra = {\n ...event.extra,\n arguments: args,\n };\n\n return event;\n });\n\n captureException(ex);\n });\n\n throw ex;\n }\n };\n /* eslint-enable prefer-rest-params */\n\n // Accessing some objects may throw\n // ref: https://github.com/getsentry/sentry-javascript/issues/1168\n try {\n for (const property in fn) {\n if (Object.prototype.hasOwnProperty.call(fn, property)) {\n sentryWrapped[property] = fn[property];\n }\n }\n } catch (_oO) {} // eslint-disable-line no-empty\n\n // Signal that this function has been wrapped/filled already\n // for both debugging and to prevent it to being wrapped/filled twice\n markFunctionWrapped(sentryWrapped, fn);\n\n addNonEnumerableProperty(fn, '__sentry_wrapped__', sentryWrapped);\n\n // Restore original function name (not all browsers allow that)\n try {\n const descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, 'name') as PropertyDescriptor;\n if (descriptor.configurable) {\n Object.defineProperty(sentryWrapped, 'name', {\n get(): string {\n return fn.name;\n },\n });\n }\n // eslint-disable-next-line no-empty\n } catch (_oO) {}\n\n return sentryWrapped;\n}\n", "declare const __DEBUG_BUILD__: boolean;\n\n/**\n * This serves as a build time flag that will be true by default, but false in non-debug builds or if users replace `__SENTRY_DEBUG__` in their generated code.\n *\n * ATTENTION: This constant must never cross package boundaries (i.e. be exported) to guarantee that it can be used for tree shaking.\n */\nexport const DEBUG_BUILD = __DEBUG_BUILD__;\n", "import { getClient } from '@sentry/core';\nimport {\n addExceptionMechanism,\n addExceptionTypeValue,\n extractExceptionKeysForMessage,\n isDOMError,\n isDOMException,\n isError,\n isErrorEvent,\n isEvent,\n isParameterizedString,\n isPlainObject,\n normalizeToSize,\n resolvedSyncPromise,\n} from '@sentry/core';\nimport type {\n Event,\n EventHint,\n Exception,\n ParameterizedString,\n SeverityLevel,\n StackFrame,\n StackParser,\n} from '@sentry/types';\n\ntype Prototype = { constructor: (...args: unknown[]) => unknown };\n\n/**\n * This function creates an exception from a JavaScript Error\n */\nexport function exceptionFromError(stackParser: StackParser, ex: Error): Exception {\n // Get the frames first since Opera can lose the stack if we touch anything else first\n const frames = parseStackFrames(stackParser, ex);\n\n const exception: Exception = {\n type: extractType(ex),\n value: extractMessage(ex),\n };\n\n if (frames.length) {\n exception.stacktrace = { frames };\n }\n\n if (exception.type === undefined && exception.value === '') {\n exception.value = 'Unrecoverable error caught';\n }\n\n return exception;\n}\n\nfunction eventFromPlainObject(\n stackParser: StackParser,\n exception: Record,\n syntheticException?: Error,\n isUnhandledRejection?: boolean,\n): Event {\n const client = getClient();\n const normalizeDepth = client && client.getOptions().normalizeDepth;\n\n // If we can, we extract an exception from the object properties\n const errorFromProp = getErrorPropertyFromObject(exception);\n\n const extra = {\n __serialized__: normalizeToSize(exception, normalizeDepth),\n };\n\n if (errorFromProp) {\n return {\n exception: {\n values: [exceptionFromError(stackParser, errorFromProp)],\n },\n extra,\n };\n }\n\n const event = {\n exception: {\n values: [\n {\n type: isEvent(exception) ? exception.constructor.name : isUnhandledRejection ? 'UnhandledRejection' : 'Error',\n value: getNonErrorObjectExceptionValue(exception, { isUnhandledRejection }),\n } as Exception,\n ],\n },\n extra,\n } satisfies Event;\n\n if (syntheticException) {\n const frames = parseStackFrames(stackParser, syntheticException);\n if (frames.length) {\n // event.exception.values[0] has been set above\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n event.exception.values[0]!.stacktrace = { frames };\n }\n }\n\n return event;\n}\n\nfunction eventFromError(stackParser: StackParser, ex: Error): Event {\n return {\n exception: {\n values: [exceptionFromError(stackParser, ex)],\n },\n };\n}\n\n/** Parses stack frames from an error */\nfunction parseStackFrames(\n stackParser: StackParser,\n ex: Error & { framesToPop?: number; stacktrace?: string },\n): StackFrame[] {\n // Access and store the stacktrace property before doing ANYTHING\n // else to it because Opera is not very good at providing it\n // reliably in other circumstances.\n const stacktrace = ex.stacktrace || ex.stack || '';\n\n const skipLines = getSkipFirstStackStringLines(ex);\n const framesToPop = getPopFirstTopFrames(ex);\n\n try {\n return stackParser(stacktrace, skipLines, framesToPop);\n } catch (e) {\n // no-empty\n }\n\n return [];\n}\n\n// Based on our own mapping pattern - https://github.com/getsentry/sentry/blob/9f08305e09866c8bd6d0c24f5b0aabdd7dd6c59c/src/sentry/lang/javascript/errormapping.py#L83-L108\nconst reactMinifiedRegexp = /Minified React error #\\d+;/i;\n\n/**\n * Certain known React errors contain links that would be falsely\n * parsed as frames. This function check for these errors and\n * returns number of the stack string lines to skip.\n */\nfunction getSkipFirstStackStringLines(ex: Error): number {\n if (ex && reactMinifiedRegexp.test(ex.message)) {\n return 1;\n }\n\n return 0;\n}\n\n/**\n * If error has `framesToPop` property, it means that the\n * creator tells us the first x frames will be useless\n * and should be discarded. Typically error from wrapper function\n * which don't point to the actual location in the developer's code.\n *\n * Example: https://github.com/zertosh/invariant/blob/master/invariant.js#L46\n */\nfunction getPopFirstTopFrames(ex: Error & { framesToPop?: unknown }): number {\n if (typeof ex.framesToPop === 'number') {\n return ex.framesToPop;\n }\n\n return 0;\n}\n\n// https://developer.mozilla.org/en-US/docs/WebAssembly/JavaScript_interface/Exception\n// @ts-expect-error - WebAssembly.Exception is a valid class\nfunction isWebAssemblyException(exception: unknown): exception is WebAssembly.Exception {\n // Check for support\n // @ts-expect-error - WebAssembly.Exception is a valid class\n if (typeof WebAssembly !== 'undefined' && typeof WebAssembly.Exception !== 'undefined') {\n // @ts-expect-error - WebAssembly.Exception is a valid class\n return exception instanceof WebAssembly.Exception;\n } else {\n return false;\n }\n}\n\n/**\n * Extracts from errors what we use as the exception `type` in error events.\n *\n * Usually, this is the `name` property on Error objects but WASM errors need to be treated differently.\n */\nexport function extractType(ex: Error & { message: { error?: Error } }): string | undefined {\n const name = ex && ex.name;\n\n // The name for WebAssembly.Exception Errors needs to be extracted differently.\n // Context: https://github.com/getsentry/sentry-javascript/issues/13787\n if (!name && isWebAssemblyException(ex)) {\n // Emscripten sets array[type, message] to the \"message\" property on the WebAssembly.Exception object\n const hasTypeInMessage = ex.message && Array.isArray(ex.message) && ex.message.length == 2;\n return hasTypeInMessage ? ex.message[0] : 'WebAssembly.Exception';\n }\n\n return name;\n}\n\n/**\n * There are cases where stacktrace.message is an Event object\n * https://github.com/getsentry/sentry-javascript/issues/1949\n * In this specific case we try to extract stacktrace.message.error.message\n */\nexport function extractMessage(ex: Error & { message: { error?: Error } }): string {\n const message = ex && ex.message;\n\n if (!message) {\n return 'No error message';\n }\n\n if (message.error && typeof message.error.message === 'string') {\n return message.error.message;\n }\n\n // Emscripten sets array[type, message] to the \"message\" property on the WebAssembly.Exception object\n if (isWebAssemblyException(ex) && Array.isArray(ex.message) && ex.message.length == 2) {\n return ex.message[1];\n }\n\n return message;\n}\n\n/**\n * Creates an {@link Event} from all inputs to `captureException` and non-primitive inputs to `captureMessage`.\n * @hidden\n */\nexport function eventFromException(\n stackParser: StackParser,\n exception: unknown,\n hint?: EventHint,\n attachStacktrace?: boolean,\n): PromiseLike {\n const syntheticException = (hint && hint.syntheticException) || undefined;\n const event = eventFromUnknownInput(stackParser, exception, syntheticException, attachStacktrace);\n addExceptionMechanism(event); // defaults to { type: 'generic', handled: true }\n event.level = 'error';\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n}\n\n/**\n * Builds and Event from a Message\n * @hidden\n */\nexport function eventFromMessage(\n stackParser: StackParser,\n message: ParameterizedString,\n level: SeverityLevel = 'info',\n hint?: EventHint,\n attachStacktrace?: boolean,\n): PromiseLike {\n const syntheticException = (hint && hint.syntheticException) || undefined;\n const event = eventFromString(stackParser, message, syntheticException, attachStacktrace);\n event.level = level;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n}\n\n/**\n * @hidden\n */\nexport function eventFromUnknownInput(\n stackParser: StackParser,\n exception: unknown,\n syntheticException?: Error,\n attachStacktrace?: boolean,\n isUnhandledRejection?: boolean,\n): Event {\n let event: Event;\n\n if (isErrorEvent(exception as ErrorEvent) && (exception as ErrorEvent).error) {\n // If it is an ErrorEvent with `error` property, extract it to get actual Error\n const errorEvent = exception as ErrorEvent;\n return eventFromError(stackParser, errorEvent.error as Error);\n }\n\n // If it is a `DOMError` (which is a legacy API, but still supported in some browsers) then we just extract the name\n // and message, as it doesn't provide anything else. According to the spec, all `DOMExceptions` should also be\n // `Error`s, but that's not the case in IE11, so in that case we treat it the same as we do a `DOMError`.\n //\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMError\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMException\n // https://webidl.spec.whatwg.org/#es-DOMException-specialness\n if (isDOMError(exception) || isDOMException(exception as DOMException)) {\n const domException = exception as DOMException;\n\n if ('stack' in (exception as Error)) {\n event = eventFromError(stackParser, exception as Error);\n } else {\n const name = domException.name || (isDOMError(domException) ? 'DOMError' : 'DOMException');\n const message = domException.message ? `${name}: ${domException.message}` : name;\n event = eventFromString(stackParser, message, syntheticException, attachStacktrace);\n addExceptionTypeValue(event, message);\n }\n if ('code' in domException) {\n // eslint-disable-next-line deprecation/deprecation\n event.tags = { ...event.tags, 'DOMException.code': `${domException.code}` };\n }\n\n return event;\n }\n if (isError(exception)) {\n // we have a real Error object, do nothing\n return eventFromError(stackParser, exception);\n }\n if (isPlainObject(exception) || isEvent(exception)) {\n // If it's a plain object or an instance of `Event` (the built-in JS kind, not this SDK's `Event` type), serialize\n // it manually. This will allow us to group events based on top-level keys which is much better than creating a new\n // group on any key/value change.\n const objectException = exception as Record;\n event = eventFromPlainObject(stackParser, objectException, syntheticException, isUnhandledRejection);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n return event;\n }\n\n // If none of previous checks were valid, then it means that it's not:\n // - an instance of DOMError\n // - an instance of DOMException\n // - an instance of Event\n // - an instance of Error\n // - a valid ErrorEvent (one with an error property)\n // - a plain Object\n //\n // So bail out and capture it as a simple message:\n event = eventFromString(stackParser, exception as string, syntheticException, attachStacktrace);\n addExceptionTypeValue(event, `${exception}`, undefined);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n\n return event;\n}\n\nfunction eventFromString(\n stackParser: StackParser,\n message: ParameterizedString,\n syntheticException?: Error,\n attachStacktrace?: boolean,\n): Event {\n const event: Event = {};\n\n if (attachStacktrace && syntheticException) {\n const frames = parseStackFrames(stackParser, syntheticException);\n if (frames.length) {\n event.exception = {\n values: [{ value: message, stacktrace: { frames } }],\n };\n }\n }\n\n if (isParameterizedString(message)) {\n const { __sentry_template_string__, __sentry_template_values__ } = message;\n\n event.logentry = {\n message: __sentry_template_string__,\n params: __sentry_template_values__,\n };\n return event;\n }\n\n event.message = message;\n return event;\n}\n\nfunction getNonErrorObjectExceptionValue(\n exception: Record,\n { isUnhandledRejection }: { isUnhandledRejection?: boolean },\n): string {\n const keys = extractExceptionKeysForMessage(exception);\n const captureType = isUnhandledRejection ? 'promise rejection' : 'exception';\n\n // Some ErrorEvent instances do not have an `error` property, which is why they are not handled before\n // We still want to try to get a decent message for these cases\n if (isErrorEvent(exception)) {\n return `Event \\`ErrorEvent\\` captured as ${captureType} with message \\`${exception.message}\\``;\n }\n\n if (isEvent(exception)) {\n const className = getObjectClassName(exception);\n return `Event \\`${className}\\` (type=${exception.type}) captured as ${captureType}`;\n }\n\n return `Object captured as ${captureType} with keys: ${keys}`;\n}\n\nfunction getObjectClassName(obj: unknown): string | undefined | void {\n try {\n const prototype: Prototype | null = Object.getPrototypeOf(obj);\n return prototype ? prototype.constructor.name : undefined;\n } catch (e) {\n // ignore errors here\n }\n}\n\n/** If a plain object has a property that is an `Error`, return this error. */\nfunction getErrorPropertyFromObject(obj: Record): Error | undefined {\n for (const prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n const value = obj[prop];\n if (value instanceof Error) {\n return value;\n }\n }\n }\n\n return undefined;\n}\n", "import { createEnvelope, dsnToString } from '@sentry/core';\nimport type { DsnComponents, EventEnvelope, SdkMetadata, UserFeedback, UserFeedbackItem } from '@sentry/types';\n\n/**\n * Creates an envelope from a user feedback.\n */\nexport function createUserFeedbackEnvelope(\n feedback: UserFeedback,\n {\n metadata,\n tunnel,\n dsn,\n }: {\n metadata: SdkMetadata | undefined;\n tunnel: string | undefined;\n dsn: DsnComponents | undefined;\n },\n): EventEnvelope {\n const headers: EventEnvelope[0] = {\n event_id: feedback.event_id,\n sent_at: new Date().toISOString(),\n ...(metadata &&\n metadata.sdk && {\n sdk: {\n name: metadata.sdk.name,\n version: metadata.sdk.version,\n },\n }),\n ...(!!tunnel && !!dsn && { dsn: dsnToString(dsn) }),\n };\n const item = createUserFeedbackEnvelopeItem(feedback);\n\n return createEnvelope(headers, [item]);\n}\n\nfunction createUserFeedbackEnvelopeItem(feedback: UserFeedback): UserFeedbackItem {\n const feedbackHeaders: UserFeedbackItem[0] = {\n type: 'user_report',\n };\n return [feedbackHeaders, feedback];\n}\n", "import type { Scope } from '@sentry/core';\nimport { applySdkMetadata } from '@sentry/core';\nimport { BaseClient } from '@sentry/core';\nimport { getSDKSource, logger } from '@sentry/core';\nimport type {\n BrowserClientProfilingOptions,\n BrowserClientReplayOptions,\n ClientOptions,\n Event,\n EventHint,\n Options,\n ParameterizedString,\n SeverityLevel,\n UserFeedback,\n} from '@sentry/types';\n\nimport { DEBUG_BUILD } from './debug-build';\nimport { eventFromException, eventFromMessage } from './eventbuilder';\nimport { WINDOW } from './helpers';\nimport type { BrowserTransportOptions } from './transports/types';\nimport { createUserFeedbackEnvelope } from './userfeedback';\n\n/**\n * Configuration options for the Sentry Browser SDK.\n * @see @sentry/types Options for more information.\n */\nexport type BrowserOptions = Options &\n BrowserClientReplayOptions &\n BrowserClientProfilingOptions & {\n /**\n * Important: Only set this option if you know what you are doing!\n *\n * By default, the SDK will check if `Sentry.init` is called in a browser extension.\n * In case it is, it will stop initialization and log a warning\n * because browser extensions require a different Sentry initialization process:\n * https://docs.sentry.io/platforms/javascript/best-practices/shared-environments/\n *\n * Setting up the SDK in a browser extension with global error monitoring is not recommended\n * and will likely flood you with errors from other web sites or extensions. This can heavily\n * impact your quota and cause interference with your and other Sentry SDKs in shared environments.\n *\n * If this check wrongfully flags your setup as a browser extension, you can set this\n * option to `true` to skip the check.\n *\n * @default false\n */\n skipBrowserExtensionCheck?: boolean;\n };\n\n/**\n * Configuration options for the Sentry Browser SDK Client class\n * @see BrowserClient for more information.\n */\nexport type BrowserClientOptions = ClientOptions &\n BrowserClientReplayOptions &\n BrowserClientProfilingOptions & {\n /** If configured, this URL will be used as base URL for lazy loading integration. */\n cdnBaseUrl?: string;\n };\n\n/**\n * The Sentry Browser SDK Client.\n *\n * @see BrowserOptions for documentation on configuration options.\n * @see SentryClient for usage documentation.\n */\nexport class BrowserClient extends BaseClient {\n /**\n * Creates a new Browser SDK instance.\n *\n * @param options Configuration options for this SDK.\n */\n public constructor(options: BrowserClientOptions) {\n const opts = {\n // We default this to true, as it is the safer scenario\n parentSpanIsAlwaysRootSpan: true,\n ...options,\n };\n const sdkSource = WINDOW.SENTRY_SDK_SOURCE || getSDKSource();\n applySdkMetadata(opts, 'browser', ['browser'], sdkSource);\n\n super(opts);\n\n if (opts.sendClientReports && WINDOW.document) {\n WINDOW.document.addEventListener('visibilitychange', () => {\n if (WINDOW.document.visibilityState === 'hidden') {\n this._flushOutcomes();\n }\n });\n }\n }\n\n /**\n * @inheritDoc\n */\n public eventFromException(exception: unknown, hint?: EventHint): PromiseLike {\n return eventFromException(this._options.stackParser, exception, hint, this._options.attachStacktrace);\n }\n\n /**\n * @inheritDoc\n */\n public eventFromMessage(\n message: ParameterizedString,\n level: SeverityLevel = 'info',\n hint?: EventHint,\n ): PromiseLike {\n return eventFromMessage(this._options.stackParser, message, level, hint, this._options.attachStacktrace);\n }\n\n /**\n * Sends user feedback to Sentry.\n *\n * @deprecated Use `captureFeedback` instead.\n */\n public captureUserFeedback(feedback: UserFeedback): void {\n if (!this._isEnabled()) {\n DEBUG_BUILD && logger.warn('SDK not enabled, will not capture user feedback.');\n return;\n }\n\n const envelope = createUserFeedbackEnvelope(feedback, {\n metadata: this.getSdkMetadata(),\n dsn: this.getDsn(),\n tunnel: this.getOptions().tunnel,\n });\n\n // sendEnvelope should not throw\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.sendEnvelope(envelope);\n }\n\n /**\n * @inheritDoc\n */\n protected _prepareEvent(event: Event, hint: EventHint, scope?: Scope): PromiseLike {\n event.platform = event.platform || 'javascript';\n return super._prepareEvent(event, hint, scope);\n }\n}\n", "declare const __DEBUG_BUILD__: boolean;\n\n/**\n * This serves as a build time flag that will be true by default, but false in non-debug builds or if users replace `__SENTRY_DEBUG__` in their generated code.\n *\n * ATTENTION: This constant must never cross package boundaries (i.e. be exported) to guarantee that it can be used for tree shaking.\n */\nexport const DEBUG_BUILD = __DEBUG_BUILD__;\n", "import { GLOBAL_OBJ } from '@sentry/core';\n\nexport const WINDOW = GLOBAL_OBJ as typeof GLOBAL_OBJ &\n // document is not available in all browser environments (webworkers). We make it optional so you have to explicitly check for it\n Omit &\n Partial>;\n", "import type { HandlerDataDom } from '@sentry/types';\n\nimport { addHandler, addNonEnumerableProperty, fill, maybeInstrument, triggerHandlers, uuid4 } from '@sentry/core';\nimport { WINDOW } from '../types';\n\ntype SentryWrappedTarget = HTMLElement & { _sentryId?: string };\n\ntype AddEventListener = (\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions,\n) => void;\ntype RemoveEventListener = (\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions,\n) => void;\n\ntype InstrumentedElement = Element & {\n __sentry_instrumentation_handlers__?: {\n [key in 'click' | 'keypress']?: {\n handler?: unknown;\n /** The number of custom listeners attached to this element */\n refCount: number;\n };\n };\n};\n\nconst DEBOUNCE_DURATION = 1000;\n\nlet debounceTimerID: number | undefined;\nlet lastCapturedEventType: string | undefined;\nlet lastCapturedEventTargetId: string | undefined;\n\n/**\n * Add an instrumentation handler for when a click or a keypress happens.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addClickKeypressInstrumentationHandler(handler: (data: HandlerDataDom) => void): void {\n const type = 'dom';\n addHandler(type, handler);\n maybeInstrument(type, instrumentDOM);\n}\n\n/** Exported for tests only. */\nexport function instrumentDOM(): void {\n if (!WINDOW.document) {\n return;\n }\n\n // Make it so that any click or keypress that is unhandled / bubbled up all the way to the document triggers our dom\n // handlers. (Normally we have only one, which captures a breadcrumb for each click or keypress.) Do this before\n // we instrument `addEventListener` so that we don't end up attaching this handler twice.\n const triggerDOMHandler = triggerHandlers.bind(null, 'dom');\n const globalDOMEventHandler = makeDOMEventHandler(triggerDOMHandler, true);\n WINDOW.document.addEventListener('click', globalDOMEventHandler, false);\n WINDOW.document.addEventListener('keypress', globalDOMEventHandler, false);\n\n // After hooking into click and keypress events bubbled up to `document`, we also hook into user-handled\n // clicks & keypresses, by adding an event listener of our own to any element to which they add a listener. That\n // way, whenever one of their handlers is triggered, ours will be, too. (This is needed because their handler\n // could potentially prevent the event from bubbling up to our global listeners. This way, our handler are still\n // guaranteed to fire at least once.)\n ['EventTarget', 'Node'].forEach((target: string) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any\n const proto = (WINDOW as any)[target] && (WINDOW as any)[target].prototype;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, no-prototype-builtins\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n\n fill(proto, 'addEventListener', function (originalAddEventListener: AddEventListener): AddEventListener {\n return function (\n this: Element,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ): AddEventListener {\n if (type === 'click' || type == 'keypress') {\n try {\n const el = this as InstrumentedElement;\n const handlers = (el.__sentry_instrumentation_handlers__ = el.__sentry_instrumentation_handlers__ || {});\n const handlerForType = (handlers[type] = handlers[type] || { refCount: 0 });\n\n if (!handlerForType.handler) {\n const handler = makeDOMEventHandler(triggerDOMHandler);\n handlerForType.handler = handler;\n originalAddEventListener.call(this, type, handler, options);\n }\n\n handlerForType.refCount++;\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListeners` calls with no proper `this` context.\n }\n }\n\n return originalAddEventListener.call(this, type, listener, options);\n };\n });\n\n fill(\n proto,\n 'removeEventListener',\n function (originalRemoveEventListener: RemoveEventListener): RemoveEventListener {\n return function (\n this: Element,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions,\n ): () => void {\n if (type === 'click' || type == 'keypress') {\n try {\n const el = this as InstrumentedElement;\n const handlers = el.__sentry_instrumentation_handlers__ || {};\n const handlerForType = handlers[type];\n\n if (handlerForType) {\n handlerForType.refCount--;\n // If there are no longer any custom handlers of the current type on this element, we can remove ours, too.\n if (handlerForType.refCount <= 0) {\n originalRemoveEventListener.call(this, type, handlerForType.handler, options);\n handlerForType.handler = undefined;\n delete handlers[type]; // eslint-disable-line @typescript-eslint/no-dynamic-delete\n }\n\n // If there are no longer any custom handlers of any type on this element, cleanup everything.\n if (Object.keys(handlers).length === 0) {\n delete el.__sentry_instrumentation_handlers__;\n }\n }\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListeners` calls with no proper `this` context.\n }\n }\n\n return originalRemoveEventListener.call(this, type, listener, options);\n };\n },\n );\n });\n}\n\n/**\n * Check whether the event is similar to the last captured one. For example, two click events on the same button.\n */\nfunction isSimilarToLastCapturedEvent(event: Event): boolean {\n // If both events have different type, then user definitely performed two separate actions. e.g. click + keypress.\n if (event.type !== lastCapturedEventType) {\n return false;\n }\n\n try {\n // If both events have the same type, it's still possible that actions were performed on different targets.\n // e.g. 2 clicks on different buttons.\n if (!event.target || (event.target as SentryWrappedTarget)._sentryId !== lastCapturedEventTargetId) {\n return false;\n }\n } catch (e) {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n }\n\n // If both events have the same type _and_ same `target` (an element which triggered an event, _not necessarily_\n // to which an event listener was attached), we treat them as the same action, as we want to capture\n // only one breadcrumb. e.g. multiple clicks on the same button, or typing inside a user input box.\n return true;\n}\n\n/**\n * Decide whether an event should be captured.\n * @param event event to be captured\n */\nfunction shouldSkipDOMEvent(eventType: string, target: SentryWrappedTarget | null): boolean {\n // We are only interested in filtering `keypress` events for now.\n if (eventType !== 'keypress') {\n return false;\n }\n\n if (!target || !target.tagName) {\n return true;\n }\n\n // Only consider keypress events on actual input elements. This will disregard keypresses targeting body\n // e.g.tabbing through elements, hotkeys, etc.\n if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n return false;\n }\n\n return true;\n}\n\n/**\n * Wraps addEventListener to capture UI breadcrumbs\n */\nfunction makeDOMEventHandler(\n handler: (data: HandlerDataDom) => void,\n globalListener: boolean = false,\n): (event: Event) => void {\n return (event: Event & { _sentryCaptured?: true }): void => {\n // It's possible this handler might trigger multiple times for the same\n // event (e.g. event propagation through node ancestors).\n // Ignore if we've already captured that event.\n if (!event || event['_sentryCaptured']) {\n return;\n }\n\n const target = getEventTarget(event);\n\n // We always want to skip _some_ events.\n if (shouldSkipDOMEvent(event.type, target)) {\n return;\n }\n\n // Mark event as \"seen\"\n addNonEnumerableProperty(event, '_sentryCaptured', true);\n\n if (target && !target._sentryId) {\n // Add UUID to event target so we can identify if\n addNonEnumerableProperty(target, '_sentryId', uuid4());\n }\n\n const name = event.type === 'keypress' ? 'input' : event.type;\n\n // If there is no last captured event, it means that we can safely capture the new event and store it for future comparisons.\n // If there is a last captured event, see if the new event is different enough to treat it as a unique one.\n // If that's the case, emit the previous event and store locally the newly-captured DOM event.\n if (!isSimilarToLastCapturedEvent(event)) {\n const handlerData: HandlerDataDom = { event, name, global: globalListener };\n handler(handlerData);\n lastCapturedEventType = event.type;\n lastCapturedEventTargetId = target ? target._sentryId : undefined;\n }\n\n // Start a new debounce timer that will prevent us from capturing multiple events that should be grouped together.\n clearTimeout(debounceTimerID);\n debounceTimerID = WINDOW.setTimeout(() => {\n lastCapturedEventTargetId = undefined;\n lastCapturedEventType = undefined;\n }, DEBOUNCE_DURATION);\n };\n}\n\nfunction getEventTarget(event: Event): SentryWrappedTarget | null {\n try {\n return event.target as SentryWrappedTarget | null;\n } catch (e) {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n return null;\n }\n}\n", "import { addHandler, fill, maybeInstrument, supportsHistory, triggerHandlers } from '@sentry/core';\nimport type { HandlerDataHistory } from '@sentry/types';\nimport { WINDOW } from '../types';\n\nlet lastHref: string | undefined;\n\n/**\n * Add an instrumentation handler for when a fetch request happens.\n * The handler function is called once when the request starts and once when it ends,\n * which can be identified by checking if it has an `endTimestamp`.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addHistoryInstrumentationHandler(handler: (data: HandlerDataHistory) => void): void {\n const type = 'history';\n addHandler(type, handler);\n maybeInstrument(type, instrumentHistory);\n}\n\nfunction instrumentHistory(): void {\n if (!supportsHistory()) {\n return;\n }\n\n const oldOnPopState = WINDOW.onpopstate;\n WINDOW.onpopstate = function (this: WindowEventHandlers, ...args: unknown[]) {\n const to = WINDOW.location.href;\n // keep track of the current URL state, as we always receive only the updated state\n const from = lastHref;\n lastHref = to;\n const handlerData: HandlerDataHistory = { from, to };\n triggerHandlers('history', handlerData);\n if (oldOnPopState) {\n // Apparently this can throw in Firefox when incorrectly implemented plugin is installed.\n // https://github.com/getsentry/sentry-javascript/issues/3344\n // https://github.com/bugsnag/bugsnag-js/issues/469\n try {\n return oldOnPopState.apply(this, args);\n } catch (_oO) {\n // no-empty\n }\n }\n };\n\n function historyReplacementFunction(originalHistoryFunction: () => void): () => void {\n return function (this: History, ...args: unknown[]): void {\n const url = args.length > 2 ? args[2] : undefined;\n if (url) {\n // coerce to string (this is what pushState does)\n const from = lastHref;\n const to = String(url);\n // keep track of the current URL state, as we always receive only the updated state\n lastHref = to;\n const handlerData: HandlerDataHistory = { from, to };\n triggerHandlers('history', handlerData);\n }\n return originalHistoryFunction.apply(this, args);\n };\n }\n\n fill(WINDOW.history, 'pushState', historyReplacementFunction);\n fill(WINDOW.history, 'replaceState', historyReplacementFunction);\n}\n", "import { isNativeFunction, logger } from '@sentry/core';\nimport { DEBUG_BUILD } from './debug-build';\nimport { WINDOW } from './types';\n\n/**\n * We generally want to use window.fetch / window.setTimeout.\n * However, in some cases this may be wrapped (e.g. by Zone.js for Angular),\n * so we try to get an unpatched version of this from a sandboxed iframe.\n */\n\ninterface CacheableImplementations {\n setTimeout: typeof WINDOW.setTimeout;\n fetch: typeof WINDOW.fetch;\n}\n\nconst cachedImplementations: Partial = {};\n\n/**\n * Get the native implementation of a browser function.\n *\n * This can be used to ensure we get an unwrapped version of a function, in cases where a wrapped function can lead to problems.\n *\n * The following methods can be retrieved:\n * - `setTimeout`: This can be wrapped by e.g. Angular, causing change detection to be triggered.\n * - `fetch`: This can be wrapped by e.g. ad-blockers, causing an infinite loop when a request is blocked.\n */\nexport function getNativeImplementation(\n name: T,\n): CacheableImplementations[T] {\n const cached = cachedImplementations[name];\n if (cached) {\n return cached;\n }\n\n let impl = WINDOW[name] as CacheableImplementations[T];\n\n // Fast path to avoid DOM I/O\n if (isNativeFunction(impl)) {\n return (cachedImplementations[name] = impl.bind(WINDOW) as CacheableImplementations[T]);\n }\n\n const document = WINDOW.document;\n // eslint-disable-next-line deprecation/deprecation\n if (document && typeof document.createElement === 'function') {\n try {\n const sandbox = document.createElement('iframe');\n sandbox.hidden = true;\n document.head.appendChild(sandbox);\n const contentWindow = sandbox.contentWindow;\n if (contentWindow && contentWindow[name]) {\n impl = contentWindow[name] as CacheableImplementations[T];\n }\n document.head.removeChild(sandbox);\n } catch (e) {\n // Could not create sandbox iframe, just use window.xxx\n DEBUG_BUILD && logger.warn(`Could not create sandbox iframe for ${name} check, bailing to window.${name}: `, e);\n }\n }\n\n // Sanity check: This _should_ not happen, but if it does, we just skip caching...\n // This can happen e.g. in tests where fetch may not be available in the env, or similar.\n if (!impl) {\n return impl;\n }\n\n return (cachedImplementations[name] = impl.bind(WINDOW) as CacheableImplementations[T]);\n}\n\n/** Clear a cached implementation. */\nexport function clearCachedImplementation(name: keyof CacheableImplementations): void {\n cachedImplementations[name] = undefined;\n}\n\n/**\n * A special usecase for incorrectly wrapped Fetch APIs in conjunction with ad-blockers.\n * Whenever someone wraps the Fetch API and returns the wrong promise chain,\n * this chain becomes orphaned and there is no possible way to capture it's rejections\n * other than allowing it bubble up to this very handler. eg.\n *\n * const f = window.fetch;\n * window.fetch = function () {\n * const p = f.apply(this, arguments);\n *\n * p.then(function() {\n * console.log('hi.');\n * });\n *\n * return p;\n * }\n *\n * `p.then(function () { ... })` is producing a completely separate promise chain,\n * however, what's returned is `p` - the result of original `fetch` call.\n *\n * This mean, that whenever we use the Fetch API to send our own requests, _and_\n * some ad-blocker blocks it, this orphaned chain will _always_ reject,\n * effectively causing another event to be captured.\n * This makes a whole process become an infinite loop, which we need to somehow\n * deal with, and break it in one way or another.\n *\n * To deal with this issue, we are making sure that we _always_ use the real\n * browser Fetch API, instead of relying on what `window.fetch` exposes.\n * The only downside to this would be missing our own requests as breadcrumbs,\n * but because we are already not doing this, it should be just fine.\n *\n * Possible failed fetch error messages per-browser:\n *\n * Chrome: Failed to fetch\n * Edge: Failed to Fetch\n * Firefox: NetworkError when attempting to fetch resource\n * Safari: resource blocked by content blocker\n */\nexport function fetch(...rest: Parameters): ReturnType {\n return getNativeImplementation('fetch')(...rest);\n}\n\n/**\n * Get an unwrapped `setTimeout` method.\n * This ensures that even if e.g. Angular wraps `setTimeout`, we get the native implementation,\n * avoiding triggering change detection.\n */\nexport function setTimeout(...rest: Parameters): ReturnType {\n return getNativeImplementation('setTimeout')(...rest);\n}\n", "import type { HandlerDataXhr, SentryWrappedXMLHttpRequest } from '@sentry/types';\n\nimport { addHandler, isString, maybeInstrument, timestampInSeconds, triggerHandlers } from '@sentry/core';\nimport { WINDOW } from '../types';\n\nexport const SENTRY_XHR_DATA_KEY = '__sentry_xhr_v3__';\n\ntype WindowWithXhr = Window & { XMLHttpRequest?: typeof XMLHttpRequest };\n\n/**\n * Add an instrumentation handler for when an XHR request happens.\n * The handler function is called once when the request starts and once when it ends,\n * which can be identified by checking if it has an `endTimestamp`.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addXhrInstrumentationHandler(handler: (data: HandlerDataXhr) => void): void {\n const type = 'xhr';\n addHandler(type, handler);\n maybeInstrument(type, instrumentXHR);\n}\n\n/** Exported only for tests. */\nexport function instrumentXHR(): void {\n if (!(WINDOW as WindowWithXhr).XMLHttpRequest) {\n return;\n }\n\n const xhrproto = XMLHttpRequest.prototype;\n\n // eslint-disable-next-line @typescript-eslint/unbound-method\n xhrproto.open = new Proxy(xhrproto.open, {\n apply(originalOpen, xhrOpenThisArg: XMLHttpRequest & SentryWrappedXMLHttpRequest, xhrOpenArgArray) {\n const startTimestamp = timestampInSeconds() * 1000;\n\n // open() should always be called with two or more arguments\n // But to be on the safe side, we actually validate this and bail out if we don't have a method & url\n const method = isString(xhrOpenArgArray[0]) ? xhrOpenArgArray[0].toUpperCase() : undefined;\n const url = parseUrl(xhrOpenArgArray[1]);\n\n if (!method || !url) {\n return originalOpen.apply(xhrOpenThisArg, xhrOpenArgArray);\n }\n\n xhrOpenThisArg[SENTRY_XHR_DATA_KEY] = {\n method,\n url,\n request_headers: {},\n };\n\n // if Sentry key appears in URL, don't capture it as a request\n if (method === 'POST' && url.match(/sentry_key/)) {\n xhrOpenThisArg.__sentry_own_request__ = true;\n }\n\n const onreadystatechangeHandler: () => void = () => {\n // For whatever reason, this is not the same instance here as from the outer method\n const xhrInfo = xhrOpenThisArg[SENTRY_XHR_DATA_KEY];\n\n if (!xhrInfo) {\n return;\n }\n\n if (xhrOpenThisArg.readyState === 4) {\n try {\n // touching statusCode in some platforms throws\n // an exception\n xhrInfo.status_code = xhrOpenThisArg.status;\n } catch (e) {\n /* do nothing */\n }\n\n const handlerData: HandlerDataXhr = {\n endTimestamp: timestampInSeconds() * 1000,\n startTimestamp,\n xhr: xhrOpenThisArg,\n };\n triggerHandlers('xhr', handlerData);\n }\n };\n\n if ('onreadystatechange' in xhrOpenThisArg && typeof xhrOpenThisArg.onreadystatechange === 'function') {\n xhrOpenThisArg.onreadystatechange = new Proxy(xhrOpenThisArg.onreadystatechange, {\n apply(originalOnreadystatechange, onreadystatechangeThisArg, onreadystatechangeArgArray: unknown[]) {\n onreadystatechangeHandler();\n return originalOnreadystatechange.apply(onreadystatechangeThisArg, onreadystatechangeArgArray);\n },\n });\n } else {\n xhrOpenThisArg.addEventListener('readystatechange', onreadystatechangeHandler);\n }\n\n // Intercepting `setRequestHeader` to access the request headers of XHR instance.\n // This will only work for user/library defined headers, not for the default/browser-assigned headers.\n // Request cookies are also unavailable for XHR, as `Cookie` header can't be defined by `setRequestHeader`.\n xhrOpenThisArg.setRequestHeader = new Proxy(xhrOpenThisArg.setRequestHeader, {\n apply(\n originalSetRequestHeader,\n setRequestHeaderThisArg: SentryWrappedXMLHttpRequest,\n setRequestHeaderArgArray: unknown[],\n ) {\n const [header, value] = setRequestHeaderArgArray;\n\n const xhrInfo = setRequestHeaderThisArg[SENTRY_XHR_DATA_KEY];\n\n if (xhrInfo && isString(header) && isString(value)) {\n xhrInfo.request_headers[header.toLowerCase()] = value;\n }\n\n return originalSetRequestHeader.apply(setRequestHeaderThisArg, setRequestHeaderArgArray);\n },\n });\n\n return originalOpen.apply(xhrOpenThisArg, xhrOpenArgArray);\n },\n });\n\n // eslint-disable-next-line @typescript-eslint/unbound-method\n xhrproto.send = new Proxy(xhrproto.send, {\n apply(originalSend, sendThisArg: XMLHttpRequest & SentryWrappedXMLHttpRequest, sendArgArray: unknown[]) {\n const sentryXhrData = sendThisArg[SENTRY_XHR_DATA_KEY];\n\n if (!sentryXhrData) {\n return originalSend.apply(sendThisArg, sendArgArray);\n }\n\n if (sendArgArray[0] !== undefined) {\n sentryXhrData.body = sendArgArray[0];\n }\n\n const handlerData: HandlerDataXhr = {\n startTimestamp: timestampInSeconds() * 1000,\n xhr: sendThisArg,\n };\n triggerHandlers('xhr', handlerData);\n\n return originalSend.apply(sendThisArg, sendArgArray);\n },\n });\n}\n\nfunction parseUrl(url: string | unknown): string | undefined {\n if (isString(url)) {\n return url;\n }\n\n try {\n // url can be a string or URL\n // but since URL is not available in IE11, we do not check for it,\n // but simply assume it is an URL and return `toString()` from it (which returns the full URL)\n // If that fails, we just return undefined\n return (url as URL).toString();\n } catch {} // eslint-disable-line no-empty\n\n return undefined;\n}\n", "import { clearCachedImplementation, getNativeImplementation } from '@sentry-internal/browser-utils';\nimport { createTransport } from '@sentry/core';\nimport { rejectedSyncPromise } from '@sentry/core';\nimport type { Transport, TransportMakeRequestResponse, TransportRequest } from '@sentry/types';\nimport type { WINDOW } from '../helpers';\n\nimport type { BrowserTransportOptions } from './types';\n\n/**\n * Creates a Transport that uses the Fetch API to send events to Sentry.\n */\nexport function makeFetchTransport(\n options: BrowserTransportOptions,\n nativeFetch: typeof WINDOW.fetch | undefined = getNativeImplementation('fetch'),\n): Transport {\n let pendingBodySize = 0;\n let pendingCount = 0;\n\n function makeRequest(request: TransportRequest): PromiseLike {\n const requestSize = request.body.length;\n pendingBodySize += requestSize;\n pendingCount++;\n\n const requestOptions: RequestInit = {\n body: request.body,\n method: 'POST',\n referrerPolicy: 'origin',\n headers: options.headers,\n // Outgoing requests are usually cancelled when navigating to a different page, causing a \"TypeError: Failed to\n // fetch\" error and sending a \"network_error\" client-outcome - in Chrome, the request status shows \"(cancelled)\".\n // The `keepalive` flag keeps outgoing requests alive, even when switching pages. We want this since we're\n // frequently sending events right before the user is switching pages (eg. when finishing navigation transactions).\n // Gotchas:\n // - `keepalive` isn't supported by Firefox\n // - As per spec (https://fetch.spec.whatwg.org/#http-network-or-cache-fetch):\n // If the sum of contentLength and inflightKeepaliveBytes is greater than 64 kibibytes, then return a network error.\n // We will therefore only activate the flag when we're below that limit.\n // There is also a limit of requests that can be open at the same time, so we also limit this to 15\n // See https://github.com/getsentry/sentry-javascript/pull/7553 for details\n keepalive: pendingBodySize <= 60_000 && pendingCount < 15,\n ...options.fetchOptions,\n };\n\n if (!nativeFetch) {\n clearCachedImplementation('fetch');\n return rejectedSyncPromise('No fetch implementation available');\n }\n\n try {\n // TODO: This may need a `suppressTracing` call in the future when we switch the browser SDK to OTEL\n return nativeFetch(options.url, requestOptions).then(response => {\n pendingBodySize -= requestSize;\n pendingCount--;\n return {\n statusCode: response.status,\n headers: {\n 'x-sentry-rate-limits': response.headers.get('X-Sentry-Rate-Limits'),\n 'retry-after': response.headers.get('Retry-After'),\n },\n };\n });\n } catch (e) {\n clearCachedImplementation('fetch');\n pendingBodySize -= requestSize;\n pendingCount--;\n return rejectedSyncPromise(e);\n }\n }\n\n return createTransport(options, makeRequest);\n}\n", "// This was originally forked from https://github.com/csnover/TraceKit, and was largely\n// re - written as part of raven - js.\n//\n// This code was later copied to the JavaScript mono - repo and further modified and\n// refactored over the years.\n\n// Copyright (c) 2013 Onur Can Cakmak onur.cakmak@gmail.com and all TraceKit contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy of this\n// software and associated documentation files(the 'Software'), to deal in the Software\n// without restriction, including without limitation the rights to use, copy, modify,\n// merge, publish, distribute, sublicense, and / or sell copies of the Software, and to\n// permit persons to whom the Software is furnished to do so, subject to the following\n// conditions:\n//\n// The above copyright notice and this permission notice shall be included in all copies\n// or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,\n// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\n// PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF\n// CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE\n// OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nimport { UNKNOWN_FUNCTION, createStackParser } from '@sentry/core';\nimport type { StackFrame, StackLineParser, StackLineParserFn } from '@sentry/types';\n\nconst OPERA10_PRIORITY = 10;\nconst OPERA11_PRIORITY = 20;\nconst CHROME_PRIORITY = 30;\nconst WINJS_PRIORITY = 40;\nconst GECKO_PRIORITY = 50;\n\nfunction createFrame(filename: string, func: string, lineno?: number, colno?: number): StackFrame {\n const frame: StackFrame = {\n filename,\n function: func === '' ? UNKNOWN_FUNCTION : func,\n in_app: true, // All browser frames are considered in_app\n };\n\n if (lineno !== undefined) {\n frame.lineno = lineno;\n }\n\n if (colno !== undefined) {\n frame.colno = colno;\n }\n\n return frame;\n}\n\n// This regex matches frames that have no function name (ie. are at the top level of a module).\n// For example \"at http://localhost:5000//script.js:1:126\"\n// Frames _with_ function names usually look as follows: \"at commitLayoutEffects (react-dom.development.js:23426:1)\"\nconst chromeRegexNoFnName = /^\\s*at (\\S+?)(?::(\\d+))(?::(\\d+))\\s*$/i;\n\n// This regex matches all the frames that have a function name.\nconst chromeRegex =\n /^\\s*at (?:(.+?\\)(?: \\[.+\\])?|.*?) ?\\((?:address at )?)?(?:async )?((?:|[-a-z]+:|.*bundle|\\/)?.*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\n\nconst chromeEvalRegex = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n\n// Chromium based browsers: Chrome, Brave, new Opera, new Edge\n// We cannot call this variable `chrome` because it can conflict with global `chrome` variable in certain environments\n// See: https://github.com/getsentry/sentry-javascript/issues/6880\nconst chromeStackParserFn: StackLineParserFn = line => {\n // If the stack line has no function name, we need to parse it differently\n const noFnParts = chromeRegexNoFnName.exec(line) as null | [string, string, string, string];\n\n if (noFnParts) {\n const [, filename, line, col] = noFnParts;\n return createFrame(filename, UNKNOWN_FUNCTION, +line, +col);\n }\n\n const parts = chromeRegex.exec(line) as null | [string, string, string, string, string];\n\n if (parts) {\n const isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n\n if (isEval) {\n const subMatch = chromeEvalRegex.exec(parts[2]) as null | [string, string, string, string];\n\n if (subMatch) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = subMatch[1]; // url\n parts[3] = subMatch[2]; // line\n parts[4] = subMatch[3]; // column\n }\n }\n\n // Kamil: One more hack won't hurt us right? Understanding and adding more rules on top of these regexps right now\n // would be way too time consuming. (TODO: Rewrite whole RegExp to be more readable)\n const [func, filename] = extractSafariExtensionDetails(parts[1] || UNKNOWN_FUNCTION, parts[2]);\n\n return createFrame(filename, func, parts[3] ? +parts[3] : undefined, parts[4] ? +parts[4] : undefined);\n }\n\n return;\n};\n\nexport const chromeStackLineParser: StackLineParser = [CHROME_PRIORITY, chromeStackParserFn];\n\n// gecko regex: `(?:bundle|\\d+\\.js)`: `bundle` is for react native, `\\d+\\.js` also but specifically for ram bundles because it\n// generates filenames without a prefix like `file://` the filenames in the stacktrace are just 42.js\n// We need this specific case for now because we want no other regex to match.\nconst geckoREgex =\n /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:[-a-z]+)?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js)|\\/[\\w\\-. /=]+)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nconst geckoEvalRegex = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\n\nconst gecko: StackLineParserFn = line => {\n const parts = geckoREgex.exec(line) as null | [string, string, string, string, string, string];\n\n if (parts) {\n const isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n if (isEval) {\n const subMatch = geckoEvalRegex.exec(parts[3]) as null | [string, string, string];\n\n if (subMatch) {\n // throw out eval line/column and use top-most line number\n parts[1] = parts[1] || 'eval';\n parts[3] = subMatch[1];\n parts[4] = subMatch[2];\n parts[5] = ''; // no column when eval\n }\n }\n\n let filename = parts[3];\n let func = parts[1] || UNKNOWN_FUNCTION;\n [func, filename] = extractSafariExtensionDetails(func, filename);\n\n return createFrame(filename, func, parts[4] ? +parts[4] : undefined, parts[5] ? +parts[5] : undefined);\n }\n\n return;\n};\n\nexport const geckoStackLineParser: StackLineParser = [GECKO_PRIORITY, gecko];\n\nconst winjsRegex = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:[-a-z]+):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nconst winjs: StackLineParserFn = line => {\n const parts = winjsRegex.exec(line) as null | [string, string, string, string, string];\n\n return parts\n ? createFrame(parts[2], parts[1] || UNKNOWN_FUNCTION, +parts[3], parts[4] ? +parts[4] : undefined)\n : undefined;\n};\n\nexport const winjsStackLineParser: StackLineParser = [WINJS_PRIORITY, winjs];\n\nconst opera10Regex = / line (\\d+).*script (?:in )?(\\S+)(?:: in function (\\S+))?$/i;\n\nconst opera10: StackLineParserFn = line => {\n const parts = opera10Regex.exec(line) as null | [string, string, string, string];\n return parts ? createFrame(parts[2], parts[3] || UNKNOWN_FUNCTION, +parts[1]) : undefined;\n};\n\nexport const opera10StackLineParser: StackLineParser = [OPERA10_PRIORITY, opera10];\n\nconst opera11Regex =\n / line (\\d+), column (\\d+)\\s*(?:in (?:]+)>|([^)]+))\\(.*\\))? in (.*):\\s*$/i;\n\nconst opera11: StackLineParserFn = line => {\n const parts = opera11Regex.exec(line) as null | [string, string, string, string, string, string];\n return parts ? createFrame(parts[5], parts[3] || parts[4] || UNKNOWN_FUNCTION, +parts[1], +parts[2]) : undefined;\n};\n\nexport const opera11StackLineParser: StackLineParser = [OPERA11_PRIORITY, opera11];\n\nexport const defaultStackLineParsers = [chromeStackLineParser, geckoStackLineParser];\n\nexport const defaultStackParser = createStackParser(...defaultStackLineParsers);\n\n/**\n * Safari web extensions, starting version unknown, can produce \"frames-only\" stacktraces.\n * What it means, is that instead of format like:\n *\n * Error: wat\n * at function@url:row:col\n * at function@url:row:col\n * at function@url:row:col\n *\n * it produces something like:\n *\n * function@url:row:col\n * function@url:row:col\n * function@url:row:col\n *\n * Because of that, it won't be captured by `chrome` RegExp and will fall into `Gecko` branch.\n * This function is extracted so that we can use it in both places without duplicating the logic.\n * Unfortunately \"just\" changing RegExp is too complicated now and making it pass all tests\n * and fix this case seems like an impossible, or at least way too time-consuming task.\n */\nconst extractSafariExtensionDetails = (func: string, filename: string): [string, string] => {\n const isSafariExtension = func.indexOf('safari-extension') !== -1;\n const isSafariWebExtension = func.indexOf('safari-web-extension') !== -1;\n\n return isSafariExtension || isSafariWebExtension\n ? [\n func.indexOf('@') !== -1 ? (func.split('@')[0] as string) : UNKNOWN_FUNCTION,\n isSafariExtension ? `safari-extension:${filename}` : `safari-web-extension:${filename}`,\n ]\n : [func, filename];\n};\n", "import {\n SENTRY_XHR_DATA_KEY,\n addClickKeypressInstrumentationHandler,\n addHistoryInstrumentationHandler,\n addXhrInstrumentationHandler,\n} from '@sentry-internal/browser-utils';\nimport { addBreadcrumb, defineIntegration, getClient } from '@sentry/core';\nimport {\n addConsoleInstrumentationHandler,\n addFetchInstrumentationHandler,\n getBreadcrumbLogLevelFromHttpStatusCode,\n getComponentName,\n getEventDescription,\n htmlTreeAsString,\n logger,\n parseUrl,\n safeJoin,\n severityLevelFromString,\n} from '@sentry/core';\nimport type {\n Breadcrumb,\n Client,\n Event as SentryEvent,\n FetchBreadcrumbData,\n FetchBreadcrumbHint,\n HandlerDataConsole,\n HandlerDataDom,\n HandlerDataFetch,\n HandlerDataHistory,\n HandlerDataXhr,\n IntegrationFn,\n XhrBreadcrumbData,\n XhrBreadcrumbHint,\n} from '@sentry/types';\n\nimport { DEBUG_BUILD } from '../debug-build';\nimport { WINDOW } from '../helpers';\n\ninterface BreadcrumbsOptions {\n console: boolean;\n dom:\n | boolean\n | {\n serializeAttribute?: string | string[];\n maxStringLength?: number;\n };\n fetch: boolean;\n history: boolean;\n sentry: boolean;\n xhr: boolean;\n}\n\n/** maxStringLength gets capped to prevent 100 breadcrumbs exceeding 1MB event payload size */\nconst MAX_ALLOWED_STRING_LENGTH = 1024;\n\nconst INTEGRATION_NAME = 'Breadcrumbs';\n\nconst _breadcrumbsIntegration = ((options: Partial = {}) => {\n const _options = {\n console: true,\n dom: true,\n fetch: true,\n history: true,\n sentry: true,\n xhr: true,\n ...options,\n };\n\n return {\n name: INTEGRATION_NAME,\n setup(client) {\n if (_options.console) {\n addConsoleInstrumentationHandler(_getConsoleBreadcrumbHandler(client));\n }\n if (_options.dom) {\n addClickKeypressInstrumentationHandler(_getDomBreadcrumbHandler(client, _options.dom));\n }\n if (_options.xhr) {\n addXhrInstrumentationHandler(_getXhrBreadcrumbHandler(client));\n }\n if (_options.fetch) {\n addFetchInstrumentationHandler(_getFetchBreadcrumbHandler(client));\n }\n if (_options.history) {\n addHistoryInstrumentationHandler(_getHistoryBreadcrumbHandler(client));\n }\n if (_options.sentry) {\n client.on('beforeSendEvent', _getSentryBreadcrumbHandler(client));\n }\n },\n };\n}) satisfies IntegrationFn;\n\nexport const breadcrumbsIntegration = defineIntegration(_breadcrumbsIntegration);\n\n/**\n * Adds a breadcrumb for Sentry events or transactions if this option is enabled.\n */\nfunction _getSentryBreadcrumbHandler(client: Client): (event: SentryEvent) => void {\n return function addSentryBreadcrumb(event: SentryEvent): void {\n if (getClient() !== client) {\n return;\n }\n\n addBreadcrumb(\n {\n category: `sentry.${event.type === 'transaction' ? 'transaction' : 'event'}`,\n event_id: event.event_id,\n level: event.level,\n message: getEventDescription(event),\n },\n {\n event,\n },\n );\n };\n}\n\n/**\n * A HOC that creates a function that creates breadcrumbs from DOM API calls.\n * This is a HOC so that we get access to dom options in the closure.\n */\nfunction _getDomBreadcrumbHandler(\n client: Client,\n dom: BreadcrumbsOptions['dom'],\n): (handlerData: HandlerDataDom) => void {\n return function _innerDomBreadcrumb(handlerData: HandlerDataDom): void {\n if (getClient() !== client) {\n return;\n }\n\n let target;\n let componentName;\n let keyAttrs = typeof dom === 'object' ? dom.serializeAttribute : undefined;\n\n let maxStringLength =\n typeof dom === 'object' && typeof dom.maxStringLength === 'number' ? dom.maxStringLength : undefined;\n if (maxStringLength && maxStringLength > MAX_ALLOWED_STRING_LENGTH) {\n DEBUG_BUILD &&\n logger.warn(\n `\\`dom.maxStringLength\\` cannot exceed ${MAX_ALLOWED_STRING_LENGTH}, but a value of ${maxStringLength} was configured. Sentry will use ${MAX_ALLOWED_STRING_LENGTH} instead.`,\n );\n maxStringLength = MAX_ALLOWED_STRING_LENGTH;\n }\n\n if (typeof keyAttrs === 'string') {\n keyAttrs = [keyAttrs];\n }\n\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n const event = handlerData.event as Event | Node;\n const element = _isEvent(event) ? event.target : event;\n\n target = htmlTreeAsString(element, { keyAttrs, maxStringLength });\n componentName = getComponentName(element);\n } catch (e) {\n target = '';\n }\n\n if (target.length === 0) {\n return;\n }\n\n const breadcrumb: Breadcrumb = {\n category: `ui.${handlerData.name}`,\n message: target,\n };\n\n if (componentName) {\n breadcrumb.data = { 'ui.component_name': componentName };\n }\n\n addBreadcrumb(breadcrumb, {\n event: handlerData.event,\n name: handlerData.name,\n global: handlerData.global,\n });\n };\n}\n\n/**\n * Creates breadcrumbs from console API calls\n */\nfunction _getConsoleBreadcrumbHandler(client: Client): (handlerData: HandlerDataConsole) => void {\n return function _consoleBreadcrumb(handlerData: HandlerDataConsole): void {\n if (getClient() !== client) {\n return;\n }\n\n const breadcrumb = {\n category: 'console',\n data: {\n arguments: handlerData.args,\n logger: 'console',\n },\n level: severityLevelFromString(handlerData.level),\n message: safeJoin(handlerData.args, ' '),\n };\n\n if (handlerData.level === 'assert') {\n if (handlerData.args[0] === false) {\n breadcrumb.message = `Assertion failed: ${safeJoin(handlerData.args.slice(1), ' ') || 'console.assert'}`;\n breadcrumb.data.arguments = handlerData.args.slice(1);\n } else {\n // Don't capture a breadcrumb for passed assertions\n return;\n }\n }\n\n addBreadcrumb(breadcrumb, {\n input: handlerData.args,\n level: handlerData.level,\n });\n };\n}\n\n/**\n * Creates breadcrumbs from XHR API calls\n */\nfunction _getXhrBreadcrumbHandler(client: Client): (handlerData: HandlerDataXhr) => void {\n return function _xhrBreadcrumb(handlerData: HandlerDataXhr): void {\n if (getClient() !== client) {\n return;\n }\n\n const { startTimestamp, endTimestamp } = handlerData;\n\n const sentryXhrData = handlerData.xhr[SENTRY_XHR_DATA_KEY];\n\n // We only capture complete, non-sentry requests\n if (!startTimestamp || !endTimestamp || !sentryXhrData) {\n return;\n }\n\n const { method, url, status_code, body } = sentryXhrData;\n\n const data: XhrBreadcrumbData = {\n method,\n url,\n status_code,\n };\n\n const hint: XhrBreadcrumbHint = {\n xhr: handlerData.xhr,\n input: body,\n startTimestamp,\n endTimestamp,\n };\n\n const level = getBreadcrumbLogLevelFromHttpStatusCode(status_code);\n\n addBreadcrumb(\n {\n category: 'xhr',\n data,\n type: 'http',\n level,\n },\n hint,\n );\n };\n}\n\n/**\n * Creates breadcrumbs from fetch API calls\n */\nfunction _getFetchBreadcrumbHandler(client: Client): (handlerData: HandlerDataFetch) => void {\n return function _fetchBreadcrumb(handlerData: HandlerDataFetch): void {\n if (getClient() !== client) {\n return;\n }\n\n const { startTimestamp, endTimestamp } = handlerData;\n\n // We only capture complete fetch requests\n if (!endTimestamp) {\n return;\n }\n\n if (handlerData.fetchData.url.match(/sentry_key/) && handlerData.fetchData.method === 'POST') {\n // We will not create breadcrumbs for fetch requests that contain `sentry_key` (internal sentry requests)\n return;\n }\n\n if (handlerData.error) {\n const data: FetchBreadcrumbData = handlerData.fetchData;\n const hint: FetchBreadcrumbHint = {\n data: handlerData.error,\n input: handlerData.args,\n startTimestamp,\n endTimestamp,\n };\n\n addBreadcrumb(\n {\n category: 'fetch',\n data,\n level: 'error',\n type: 'http',\n },\n hint,\n );\n } else {\n const response = handlerData.response as Response | undefined;\n const data: FetchBreadcrumbData = {\n ...handlerData.fetchData,\n status_code: response && response.status,\n };\n const hint: FetchBreadcrumbHint = {\n input: handlerData.args,\n response,\n startTimestamp,\n endTimestamp,\n };\n const level = getBreadcrumbLogLevelFromHttpStatusCode(data.status_code);\n\n addBreadcrumb(\n {\n category: 'fetch',\n data,\n type: 'http',\n level,\n },\n hint,\n );\n }\n };\n}\n\n/**\n * Creates breadcrumbs from history API calls\n */\nfunction _getHistoryBreadcrumbHandler(client: Client): (handlerData: HandlerDataHistory) => void {\n return function _historyBreadcrumb(handlerData: HandlerDataHistory): void {\n if (getClient() !== client) {\n return;\n }\n\n let from: string | undefined = handlerData.from;\n let to: string | undefined = handlerData.to;\n const parsedLoc = parseUrl(WINDOW.location.href);\n let parsedFrom = from ? parseUrl(from) : undefined;\n const parsedTo = parseUrl(to);\n\n // Initial pushState doesn't provide `from` information\n if (!parsedFrom || !parsedFrom.path) {\n parsedFrom = parsedLoc;\n }\n\n // Use only the path component of the URL if the URL matches the current\n // document (almost all the time when using pushState)\n if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {\n to = parsedTo.relative;\n }\n if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {\n from = parsedFrom.relative;\n }\n\n addBreadcrumb({\n category: 'navigation',\n data: {\n from,\n to,\n },\n });\n };\n}\n\nfunction _isEvent(event: unknown): event is Event {\n return !!event && !!(event as Record).target;\n}\n", "import { defineIntegration } from '@sentry/core';\nimport { fill, getFunctionName, getOriginalFunction } from '@sentry/core';\nimport type { IntegrationFn, WrappedFunction } from '@sentry/types';\n\nimport { WINDOW, wrap } from '../helpers';\n\nconst DEFAULT_EVENT_TARGET = [\n 'EventTarget',\n 'Window',\n 'Node',\n 'ApplicationCache',\n 'AudioTrackList',\n 'BroadcastChannel',\n 'ChannelMergerNode',\n 'CryptoOperation',\n 'EventSource',\n 'FileReader',\n 'HTMLUnknownElement',\n 'IDBDatabase',\n 'IDBRequest',\n 'IDBTransaction',\n 'KeyOperation',\n 'MediaController',\n 'MessagePort',\n 'ModalWindow',\n 'Notification',\n 'SVGElementInstance',\n 'Screen',\n 'SharedWorker',\n 'TextTrack',\n 'TextTrackCue',\n 'TextTrackList',\n 'WebSocket',\n 'WebSocketWorker',\n 'Worker',\n 'XMLHttpRequest',\n 'XMLHttpRequestEventTarget',\n 'XMLHttpRequestUpload',\n];\n\nconst INTEGRATION_NAME = 'BrowserApiErrors';\n\ntype XMLHttpRequestProp = 'onload' | 'onerror' | 'onprogress' | 'onreadystatechange';\n\ninterface BrowserApiErrorsOptions {\n setTimeout: boolean;\n setInterval: boolean;\n requestAnimationFrame: boolean;\n XMLHttpRequest: boolean;\n eventTarget: boolean | string[];\n}\n\nconst _browserApiErrorsIntegration = ((options: Partial = {}) => {\n const _options = {\n XMLHttpRequest: true,\n eventTarget: true,\n requestAnimationFrame: true,\n setInterval: true,\n setTimeout: true,\n ...options,\n };\n\n return {\n name: INTEGRATION_NAME,\n // TODO: This currently only works for the first client this is setup\n // We may want to adjust this to check for client etc.\n setupOnce() {\n if (_options.setTimeout) {\n fill(WINDOW, 'setTimeout', _wrapTimeFunction);\n }\n\n if (_options.setInterval) {\n fill(WINDOW, 'setInterval', _wrapTimeFunction);\n }\n\n if (_options.requestAnimationFrame) {\n fill(WINDOW, 'requestAnimationFrame', _wrapRAF);\n }\n\n if (_options.XMLHttpRequest && 'XMLHttpRequest' in WINDOW) {\n fill(XMLHttpRequest.prototype, 'send', _wrapXHR);\n }\n\n const eventTargetOption = _options.eventTarget;\n if (eventTargetOption) {\n const eventTarget = Array.isArray(eventTargetOption) ? eventTargetOption : DEFAULT_EVENT_TARGET;\n eventTarget.forEach(_wrapEventTarget);\n }\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Wrap timer functions and event targets to catch errors and provide better meta data.\n */\nexport const browserApiErrorsIntegration = defineIntegration(_browserApiErrorsIntegration);\n\nfunction _wrapTimeFunction(original: () => void): () => number {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: any, ...args: any[]): number {\n const originalCallback = args[0];\n args[0] = wrap(originalCallback, {\n mechanism: {\n data: { function: getFunctionName(original) },\n handled: false,\n type: 'instrument',\n },\n });\n return original.apply(this, args);\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _wrapRAF(original: any): (callback: () => void) => any {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: any, callback: () => void): () => void {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return original.apply(this, [\n wrap(callback, {\n mechanism: {\n data: {\n function: 'requestAnimationFrame',\n handler: getFunctionName(original),\n },\n handled: false,\n type: 'instrument',\n },\n }),\n ]);\n };\n}\n\nfunction _wrapXHR(originalSend: () => void): () => void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: XMLHttpRequest, ...args: any[]): void {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const xhr = this;\n const xmlHttpRequestProps: XMLHttpRequestProp[] = ['onload', 'onerror', 'onprogress', 'onreadystatechange'];\n\n xmlHttpRequestProps.forEach(prop => {\n if (prop in xhr && typeof xhr[prop] === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n fill(xhr, prop, function (original: WrappedFunction): () => any {\n const wrapOptions = {\n mechanism: {\n data: {\n function: prop,\n handler: getFunctionName(original),\n },\n handled: false,\n type: 'instrument',\n },\n };\n\n // If Instrument integration has been called before BrowserApiErrors, get the name of original function\n const originalFunction = getOriginalFunction(original);\n if (originalFunction) {\n wrapOptions.mechanism.data.handler = getFunctionName(originalFunction);\n }\n\n // Otherwise wrap directly\n return wrap(original, wrapOptions);\n });\n }\n });\n\n return originalSend.apply(this, args);\n };\n}\n\nfunction _wrapEventTarget(target: string): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const globalObject = WINDOW as { [key: string]: any };\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const proto = globalObject[target] && globalObject[target].prototype;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, no-prototype-builtins\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n\n fill(proto, 'addEventListener', function (original: VoidFunction,): (\n eventName: string,\n fn: EventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ) => void {\n return function (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this: any,\n eventName: string,\n fn: EventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ): (eventName: string, fn: EventListenerObject, capture?: boolean, secure?: boolean) => void {\n try {\n if (typeof fn.handleEvent === 'function') {\n // ESlint disable explanation:\n // First, it is generally safe to call `wrap` with an unbound function. Furthermore, using `.bind()` would\n // introduce a bug here, because bind returns a new function that doesn't have our\n // flags(like __sentry_original__) attached. `wrap` checks for those flags to avoid unnecessary wrapping.\n // Without those flags, every call to addEventListener wraps the function again, causing a memory leak.\n // eslint-disable-next-line @typescript-eslint/unbound-method\n fn.handleEvent = wrap(fn.handleEvent, {\n mechanism: {\n data: {\n function: 'handleEvent',\n handler: getFunctionName(fn),\n target,\n },\n handled: false,\n type: 'instrument',\n },\n });\n }\n } catch (err) {\n // can sometimes get 'Permission denied to access property \"handle Event'\n }\n\n return original.apply(this, [\n eventName,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n wrap(fn as any as WrappedFunction, {\n mechanism: {\n data: {\n function: 'addEventListener',\n handler: getFunctionName(fn),\n target,\n },\n handled: false,\n type: 'instrument',\n },\n }),\n options,\n ]);\n };\n });\n\n fill(\n proto,\n 'removeEventListener',\n function (\n originalRemoveEventListener: () => void,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): (this: any, eventName: string, fn: EventListenerObject, options?: boolean | EventListenerOptions) => () => void {\n return function (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this: any,\n eventName: string,\n fn: EventListenerObject,\n options?: boolean | EventListenerOptions,\n ): () => void {\n /**\n * There are 2 possible scenarios here:\n *\n * 1. Someone passes a callback, which was attached prior to Sentry initialization, or by using unmodified\n * method, eg. `document.addEventListener.call(el, name, handler). In this case, we treat this function\n * as a pass-through, and call original `removeEventListener` with it.\n *\n * 2. Someone passes a callback, which was attached after Sentry was initialized, which means that it was using\n * our wrapped version of `addEventListener`, which internally calls `wrap` helper.\n * This helper \"wraps\" whole callback inside a try/catch statement, and attached appropriate metadata to it,\n * in order for us to make a distinction between wrapped/non-wrapped functions possible.\n * If a function was wrapped, it has additional property of `__sentry_wrapped__`, holding the handler.\n *\n * When someone adds a handler prior to initialization, and then do it again, but after,\n * then we have to detach both of them. Otherwise, if we'd detach only wrapped one, it'd be impossible\n * to get rid of the initial handler and it'd stick there forever.\n */\n const wrappedEventHandler = fn as unknown as WrappedFunction;\n try {\n const originalEventHandler = wrappedEventHandler && wrappedEventHandler.__sentry_wrapped__;\n if (originalEventHandler) {\n originalRemoveEventListener.call(this, eventName, originalEventHandler, options);\n }\n } catch (e) {\n // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n return originalRemoveEventListener.call(this, eventName, wrappedEventHandler, options);\n };\n },\n );\n}\n", "import { captureEvent, defineIntegration, getClient } from '@sentry/core';\nimport {\n UNKNOWN_FUNCTION,\n addGlobalErrorInstrumentationHandler,\n addGlobalUnhandledRejectionInstrumentationHandler,\n getLocationHref,\n isPrimitive,\n isString,\n logger,\n} from '@sentry/core';\nimport type { Client, Event, IntegrationFn, Primitive, StackParser } from '@sentry/types';\n\nimport type { BrowserClient } from '../client';\nimport { DEBUG_BUILD } from '../debug-build';\nimport { eventFromUnknownInput } from '../eventbuilder';\nimport { shouldIgnoreOnError } from '../helpers';\n\ntype GlobalHandlersIntegrationsOptionKeys = 'onerror' | 'onunhandledrejection';\n\ntype GlobalHandlersIntegrations = Record;\n\nconst INTEGRATION_NAME = 'GlobalHandlers';\n\nconst _globalHandlersIntegration = ((options: Partial = {}) => {\n const _options = {\n onerror: true,\n onunhandledrejection: true,\n ...options,\n };\n\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n Error.stackTraceLimit = 50;\n },\n setup(client) {\n if (_options.onerror) {\n _installGlobalOnErrorHandler(client);\n globalHandlerLog('onerror');\n }\n if (_options.onunhandledrejection) {\n _installGlobalOnUnhandledRejectionHandler(client);\n globalHandlerLog('onunhandledrejection');\n }\n },\n };\n}) satisfies IntegrationFn;\n\nexport const globalHandlersIntegration = defineIntegration(_globalHandlersIntegration);\n\nfunction _installGlobalOnErrorHandler(client: Client): void {\n addGlobalErrorInstrumentationHandler(data => {\n const { stackParser, attachStacktrace } = getOptions();\n\n if (getClient() !== client || shouldIgnoreOnError()) {\n return;\n }\n\n const { msg, url, line, column, error } = data;\n\n const event = _enhanceEventWithInitialFrame(\n eventFromUnknownInput(stackParser, error || msg, undefined, attachStacktrace, false),\n url,\n line,\n column,\n );\n\n event.level = 'error';\n\n captureEvent(event, {\n originalException: error,\n mechanism: {\n handled: false,\n type: 'onerror',\n },\n });\n });\n}\n\nfunction _installGlobalOnUnhandledRejectionHandler(client: Client): void {\n addGlobalUnhandledRejectionInstrumentationHandler(e => {\n const { stackParser, attachStacktrace } = getOptions();\n\n if (getClient() !== client || shouldIgnoreOnError()) {\n return;\n }\n\n const error = _getUnhandledRejectionError(e as unknown);\n\n const event = isPrimitive(error)\n ? _eventFromRejectionWithPrimitive(error)\n : eventFromUnknownInput(stackParser, error, undefined, attachStacktrace, true);\n\n event.level = 'error';\n\n captureEvent(event, {\n originalException: error,\n mechanism: {\n handled: false,\n type: 'onunhandledrejection',\n },\n });\n });\n}\n\nfunction _getUnhandledRejectionError(error: unknown): unknown {\n if (isPrimitive(error)) {\n return error;\n }\n\n // dig the object of the rejection out of known event types\n try {\n type ErrorWithReason = { reason: unknown };\n // PromiseRejectionEvents store the object of the rejection under 'reason'\n // see https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n if ('reason' in (error as ErrorWithReason)) {\n return (error as ErrorWithReason).reason;\n }\n\n type CustomEventWithDetail = { detail: { reason: unknown } };\n // something, somewhere, (likely a browser extension) effectively casts PromiseRejectionEvents\n // to CustomEvents, moving the `promise` and `reason` attributes of the PRE into\n // the CustomEvent's `detail` attribute, since they're not part of CustomEvent's spec\n // see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent and\n // https://github.com/getsentry/sentry-javascript/issues/2380\n if ('detail' in (error as CustomEventWithDetail) && 'reason' in (error as CustomEventWithDetail).detail) {\n return (error as CustomEventWithDetail).detail.reason;\n }\n } catch {} // eslint-disable-line no-empty\n\n return error;\n}\n\n/**\n * Create an event from a promise rejection where the `reason` is a primitive.\n *\n * @param reason: The `reason` property of the promise rejection\n * @returns An Event object with an appropriate `exception` value\n */\nfunction _eventFromRejectionWithPrimitive(reason: Primitive): Event {\n return {\n exception: {\n values: [\n {\n type: 'UnhandledRejection',\n // String() is needed because the Primitive type includes symbols (which can't be automatically stringified)\n value: `Non-Error promise rejection captured with value: ${String(reason)}`,\n },\n ],\n },\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _enhanceEventWithInitialFrame(event: Event, url: any, line: any, column: any): Event {\n // event.exception\n const e = (event.exception = event.exception || {});\n // event.exception.values\n const ev = (e.values = e.values || []);\n // event.exception.values[0]\n const ev0 = (ev[0] = ev[0] || {});\n // event.exception.values[0].stacktrace\n const ev0s = (ev0.stacktrace = ev0.stacktrace || {});\n // event.exception.values[0].stacktrace.frames\n const ev0sf = (ev0s.frames = ev0s.frames || []);\n\n const colno = isNaN(parseInt(column, 10)) ? undefined : column;\n const lineno = isNaN(parseInt(line, 10)) ? undefined : line;\n const filename = isString(url) && url.length > 0 ? url : getLocationHref();\n\n // event.exception.values[0].stacktrace.frames\n if (ev0sf.length === 0) {\n ev0sf.push({\n colno,\n filename,\n function: UNKNOWN_FUNCTION,\n in_app: true,\n lineno,\n });\n }\n\n return event;\n}\n\nfunction globalHandlerLog(type: string): void {\n DEBUG_BUILD && logger.log(`Global Handler attached: ${type}`);\n}\n\nfunction getOptions(): { stackParser: StackParser; attachStacktrace?: boolean } {\n const client = getClient();\n const options = (client && client.getOptions()) || {\n stackParser: () => [],\n attachStacktrace: false,\n };\n return options;\n}\n", "import { defineIntegration } from '@sentry/core';\nimport { WINDOW } from '../helpers';\n\n/**\n * Collects information about HTTP request headers and\n * attaches them to the event.\n */\nexport const httpContextIntegration = defineIntegration(() => {\n return {\n name: 'HttpContext',\n preprocessEvent(event) {\n // if none of the information we want exists, don't bother\n if (!WINDOW.navigator && !WINDOW.location && !WINDOW.document) {\n return;\n }\n\n // grab as much info as exists and add it to the event\n const url = (event.request && event.request.url) || (WINDOW.location && WINDOW.location.href);\n const { referrer } = WINDOW.document || {};\n const { userAgent } = WINDOW.navigator || {};\n\n const headers = {\n ...(event.request && event.request.headers),\n ...(referrer && { Referer: referrer }),\n ...(userAgent && { 'User-Agent': userAgent }),\n };\n const request = { ...event.request, ...(url && { url }), headers };\n\n event.request = request;\n },\n };\n});\n", "import { defineIntegration } from '@sentry/core';\nimport { applyAggregateErrorsToEvent } from '@sentry/core';\nimport type { IntegrationFn } from '@sentry/types';\nimport { exceptionFromError } from '../eventbuilder';\n\ninterface LinkedErrorsOptions {\n key?: string;\n limit?: number;\n}\n\nconst DEFAULT_KEY = 'cause';\nconst DEFAULT_LIMIT = 5;\n\nconst INTEGRATION_NAME = 'LinkedErrors';\n\nconst _linkedErrorsIntegration = ((options: LinkedErrorsOptions = {}) => {\n const limit = options.limit || DEFAULT_LIMIT;\n const key = options.key || DEFAULT_KEY;\n\n return {\n name: INTEGRATION_NAME,\n preprocessEvent(event, hint, client) {\n const options = client.getOptions();\n\n applyAggregateErrorsToEvent(\n // This differs from the LinkedErrors integration in core by using a different exceptionFromError function\n exceptionFromError,\n options.stackParser,\n options.maxValueLength,\n key,\n limit,\n event,\n hint,\n );\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Aggregrate linked errors in an event.\n */\nexport const linkedErrorsIntegration = defineIntegration(_linkedErrorsIntegration);\n", "import { getCurrentScope } from '@sentry/core';\nimport { functionToStringIntegration, inboundFiltersIntegration } from '@sentry/core';\nimport {\n captureSession,\n getClient,\n getIntegrationsToSetup,\n getReportDialogEndpoint,\n initAndBind,\n lastEventId,\n startSession,\n} from '@sentry/core';\nimport { consoleSandbox, logger, stackParserFromStackParserOptions, supportsFetch } from '@sentry/core';\nimport type { Client, DsnLike, Integration, Options, UserFeedback } from '@sentry/types';\n\nimport { addHistoryInstrumentationHandler } from '@sentry-internal/browser-utils';\nimport { dedupeIntegration } from '@sentry/core';\nimport type { BrowserClientOptions, BrowserOptions } from './client';\nimport { BrowserClient } from './client';\nimport { DEBUG_BUILD } from './debug-build';\nimport { WINDOW } from './helpers';\nimport { breadcrumbsIntegration } from './integrations/breadcrumbs';\nimport { browserApiErrorsIntegration } from './integrations/browserapierrors';\nimport { globalHandlersIntegration } from './integrations/globalhandlers';\nimport { httpContextIntegration } from './integrations/httpcontext';\nimport { linkedErrorsIntegration } from './integrations/linkederrors';\nimport { defaultStackParser } from './stack-parsers';\nimport { makeFetchTransport } from './transports/fetch';\n\n/** Get the default integrations for the browser SDK. */\nexport function getDefaultIntegrations(_options: Options): Integration[] {\n /**\n * Note: Please make sure this stays in sync with Angular SDK, which re-exports\n * `getDefaultIntegrations` but with an adjusted set of integrations.\n */\n return [\n inboundFiltersIntegration(),\n functionToStringIntegration(),\n browserApiErrorsIntegration(),\n breadcrumbsIntegration(),\n globalHandlersIntegration(),\n linkedErrorsIntegration(),\n dedupeIntegration(),\n httpContextIntegration(),\n ];\n}\n\nfunction applyDefaultOptions(optionsArg: BrowserOptions = {}): BrowserOptions {\n const defaultOptions: BrowserOptions = {\n defaultIntegrations: getDefaultIntegrations(optionsArg),\n release:\n typeof __SENTRY_RELEASE__ === 'string' // This allows build tooling to find-and-replace __SENTRY_RELEASE__ to inject a release value\n ? __SENTRY_RELEASE__\n : WINDOW.SENTRY_RELEASE && WINDOW.SENTRY_RELEASE.id // This supports the variable that sentry-webpack-plugin injects\n ? WINDOW.SENTRY_RELEASE.id\n : undefined,\n autoSessionTracking: true,\n sendClientReports: true,\n };\n\n // TODO: Instead of dropping just `defaultIntegrations`, we should simply\n // call `dropUndefinedKeys` on the entire `optionsArg`.\n // However, for this to work we need to adjust the `hasTracingEnabled()` logic\n // first as it differentiates between `undefined` and the key not being in the object.\n if (optionsArg.defaultIntegrations == null) {\n delete optionsArg.defaultIntegrations;\n }\n\n return { ...defaultOptions, ...optionsArg };\n}\n\ntype ExtensionProperties = {\n chrome?: Runtime;\n browser?: Runtime;\n nw?: unknown;\n};\ntype Runtime = {\n runtime?: {\n id?: string;\n };\n};\n\nfunction shouldShowBrowserExtensionError(): boolean {\n const windowWithMaybeExtension =\n typeof WINDOW.window !== 'undefined' && (WINDOW as typeof WINDOW & ExtensionProperties);\n if (!windowWithMaybeExtension) {\n // No need to show the error if we're not in a browser window environment (e.g. service workers)\n return false;\n }\n\n const extensionKey = windowWithMaybeExtension.chrome ? 'chrome' : 'browser';\n const extensionObject = windowWithMaybeExtension[extensionKey];\n\n const runtimeId = extensionObject && extensionObject.runtime && extensionObject.runtime.id;\n const href = (WINDOW.location && WINDOW.location.href) || '';\n\n const extensionProtocols = ['chrome-extension:', 'moz-extension:', 'ms-browser-extension:', 'safari-web-extension:'];\n\n // Running the SDK in a dedicated extension page and calling Sentry.init is fine; no risk of data leakage\n const isDedicatedExtensionPage =\n !!runtimeId && WINDOW === WINDOW.top && extensionProtocols.some(protocol => href.startsWith(`${protocol}//`));\n\n // Running the SDK in NW.js, which appears like a browser extension but isn't, is also fine\n // see: https://github.com/getsentry/sentry-javascript/issues/12668\n const isNWjs = typeof windowWithMaybeExtension.nw !== 'undefined';\n\n return !!runtimeId && !isDedicatedExtensionPage && !isNWjs;\n}\n\n/**\n * A magic string that build tooling can leverage in order to inject a release value into the SDK.\n */\ndeclare const __SENTRY_RELEASE__: string | undefined;\n\n/**\n * The Sentry Browser SDK Client.\n *\n * To use this SDK, call the {@link init} function as early as possible when\n * loading the web page. To set context information or send manual events, use\n * the provided methods.\n *\n * @example\n *\n * ```\n *\n * import { init } from '@sentry/browser';\n *\n * init({\n * dsn: '__DSN__',\n * // ...\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { addBreadcrumb } from '@sentry/browser';\n * addBreadcrumb({\n * message: 'My Breadcrumb',\n * // ...\n * });\n * ```\n *\n * @example\n *\n * ```\n *\n * import * as Sentry from '@sentry/browser';\n * Sentry.captureMessage('Hello, world!');\n * Sentry.captureException(new Error('Good bye'));\n * Sentry.captureEvent({\n * message: 'Manual',\n * stacktrace: [\n * // ...\n * ],\n * });\n * ```\n *\n * @see {@link BrowserOptions} for documentation on configuration options.\n */\nexport function init(browserOptions: BrowserOptions = {}): Client | undefined {\n const options = applyDefaultOptions(browserOptions);\n\n if (!options.skipBrowserExtensionCheck && shouldShowBrowserExtensionError()) {\n consoleSandbox(() => {\n // eslint-disable-next-line no-console\n console.error(\n '[Sentry] You cannot run Sentry this way in a browser extension, check: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/',\n );\n });\n return;\n }\n\n if (DEBUG_BUILD) {\n if (!supportsFetch()) {\n logger.warn(\n 'No Fetch API detected. The Sentry SDK requires a Fetch API compatible environment to send events. Please add a Fetch API polyfill.',\n );\n }\n }\n const clientOptions: BrowserClientOptions = {\n ...options,\n stackParser: stackParserFromStackParserOptions(options.stackParser || defaultStackParser),\n integrations: getIntegrationsToSetup(options),\n transport: options.transport || makeFetchTransport,\n };\n\n const client = initAndBind(BrowserClient, clientOptions);\n\n if (options.autoSessionTracking) {\n startSessionTracking();\n }\n\n return client;\n}\n\n/**\n * All properties the report dialog supports\n */\nexport interface ReportDialogOptions {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n eventId?: string;\n dsn?: DsnLike;\n user?: {\n email?: string;\n name?: string;\n };\n lang?: string;\n title?: string;\n subtitle?: string;\n subtitle2?: string;\n labelName?: string;\n labelEmail?: string;\n labelComments?: string;\n labelClose?: string;\n labelSubmit?: string;\n errorGeneric?: string;\n errorFormEntry?: string;\n successMessage?: string;\n /** Callback after reportDialog showed up */\n onLoad?(this: void): void;\n /** Callback after reportDialog closed */\n onClose?(this: void): void;\n}\n\n/**\n * Present the user with a report dialog.\n *\n * @param options Everything is optional, we try to fetch all info need from the global scope.\n */\nexport function showReportDialog(options: ReportDialogOptions = {}): void {\n // doesn't work without a document (React Native)\n if (!WINDOW.document) {\n DEBUG_BUILD && logger.error('Global document not defined in showReportDialog call');\n return;\n }\n\n const scope = getCurrentScope();\n const client = scope.getClient();\n const dsn = client && client.getDsn();\n\n if (!dsn) {\n DEBUG_BUILD && logger.error('DSN not configured for showReportDialog call');\n return;\n }\n\n if (scope) {\n options.user = {\n ...scope.getUser(),\n ...options.user,\n };\n }\n\n if (!options.eventId) {\n const eventId = lastEventId();\n if (eventId) {\n options.eventId = eventId;\n }\n }\n\n const script = WINDOW.document.createElement('script');\n script.async = true;\n script.crossOrigin = 'anonymous';\n script.src = getReportDialogEndpoint(dsn, options);\n\n if (options.onLoad) {\n script.onload = options.onLoad;\n }\n\n const { onClose } = options;\n if (onClose) {\n const reportDialogClosedMessageHandler = (event: MessageEvent): void => {\n if (event.data === '__sentry_reportdialog_closed__') {\n try {\n onClose();\n } finally {\n WINDOW.removeEventListener('message', reportDialogClosedMessageHandler);\n }\n }\n };\n WINDOW.addEventListener('message', reportDialogClosedMessageHandler);\n }\n\n const injectionPoint = WINDOW.document.head || WINDOW.document.body;\n if (injectionPoint) {\n injectionPoint.appendChild(script);\n } else {\n DEBUG_BUILD && logger.error('Not injecting report dialog. No injection point found in HTML');\n }\n}\n\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nexport function forceLoad(): void {\n // Noop\n}\n\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nexport function onLoad(callback: () => void): void {\n callback();\n}\n\n/**\n * Enable automatic Session Tracking for the initial page load.\n */\nfunction startSessionTracking(): void {\n if (typeof WINDOW.document === 'undefined') {\n DEBUG_BUILD && logger.warn('Session tracking in non-browser environment with @sentry/browser is not supported.');\n return;\n }\n\n // The session duration for browser sessions does not track a meaningful\n // concept that can be used as a metric.\n // Automatically captured sessions are akin to page views, and thus we\n // discard their duration.\n startSession({ ignoreDuration: true });\n captureSession();\n\n // We want to create a session for every navigation as well\n addHistoryInstrumentationHandler(({ from, to }) => {\n // Don't create an additional session for the initial route or if the location did not change\n if (from !== undefined && from !== to) {\n startSession({ ignoreDuration: true });\n captureSession();\n }\n });\n}\n\n/**\n * Captures user feedback and sends it to Sentry.\n *\n * @deprecated Use `captureFeedback` instead.\n */\nexport function captureUserFeedback(feedback: UserFeedback): void {\n const client = getClient();\n if (client) {\n // eslint-disable-next-line deprecation/deprecation\n client.captureUserFeedback(feedback);\n }\n}\n", "import capitalize from '@mui/utils/capitalize';\nexport default capitalize;", "import createChainedFunction from '@mui/utils/createChainedFunction';\nexport default createChainedFunction;", "'use client';\n\nimport * as React from 'react';\nimport SvgIcon from \"../SvgIcon/index.js\";\n\n/**\n * Private module reserved for @mui packages.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createSvgIcon(path, displayName) {\n function Component(props, ref) {\n return /*#__PURE__*/_jsx(SvgIcon, {\n \"data-testid\": `${displayName}Icon`,\n ref: ref,\n ...props,\n children: path\n });\n }\n if (process.env.NODE_ENV !== 'production') {\n // Need to set `displayName` on the inner component for React.memo.\n // React prior to 16.14 ignores `displayName` on the wrapper.\n Component.displayName = `${displayName}Icon`;\n }\n Component.muiName = SvgIcon.muiName;\n return /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(Component));\n}", "'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from \"../utils/capitalize.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getSvgIconUtilityClass } from \"./svgIconClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n fontSize,\n classes\n } = ownerState;\n const slots = {\n root: ['root', color !== 'inherit' && `color${capitalize(color)}`, `fontSize${capitalize(fontSize)}`]\n };\n return composeClasses(slots, getSvgIconUtilityClass, classes);\n};\nconst SvgIconRoot = styled('svg', {\n name: 'MuiSvgIcon',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'inherit' && styles[`color${capitalize(ownerState.color)}`], styles[`fontSize${capitalize(ownerState.fontSize)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n userSelect: 'none',\n width: '1em',\n height: '1em',\n display: 'inline-block',\n flexShrink: 0,\n transition: theme.transitions?.create?.('fill', {\n duration: (theme.vars ?? theme).transitions?.duration?.shorter\n }),\n variants: [{\n props: props => !props.hasSvgAsChild,\n style: {\n // the will define the property that has `currentColor`\n // for example heroicons uses fill=\"none\" and stroke=\"currentColor\"\n fill: 'currentColor'\n }\n }, {\n props: {\n fontSize: 'inherit'\n },\n style: {\n fontSize: 'inherit'\n }\n }, {\n props: {\n fontSize: 'small'\n },\n style: {\n fontSize: theme.typography?.pxToRem?.(20) || '1.25rem'\n }\n }, {\n props: {\n fontSize: 'medium'\n },\n style: {\n fontSize: theme.typography?.pxToRem?.(24) || '1.5rem'\n }\n }, {\n props: {\n fontSize: 'large'\n },\n style: {\n fontSize: theme.typography?.pxToRem?.(35) || '2.1875rem'\n }\n },\n // TODO v5 deprecate color prop, v6 remove for sx\n ...Object.entries((theme.vars ?? theme).palette).filter(([, value]) => value && value.main).map(([color]) => ({\n props: {\n color\n },\n style: {\n color: (theme.vars ?? theme).palette?.[color]?.main\n }\n })), {\n props: {\n color: 'action'\n },\n style: {\n color: (theme.vars ?? theme).palette?.action?.active\n }\n }, {\n props: {\n color: 'disabled'\n },\n style: {\n color: (theme.vars ?? theme).palette?.action?.disabled\n }\n }, {\n props: {\n color: 'inherit'\n },\n style: {\n color: undefined\n }\n }]\n})));\nconst SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiSvgIcon'\n });\n const {\n children,\n className,\n color = 'inherit',\n component = 'svg',\n fontSize = 'medium',\n htmlColor,\n inheritViewBox = false,\n titleAccess,\n viewBox = '0 0 24 24',\n ...other\n } = props;\n const hasSvgAsChild = /*#__PURE__*/React.isValidElement(children) && children.type === 'svg';\n const ownerState = {\n ...props,\n color,\n component,\n fontSize,\n instanceFontSize: inProps.fontSize,\n inheritViewBox,\n viewBox,\n hasSvgAsChild\n };\n const more = {};\n if (!inheritViewBox) {\n more.viewBox = viewBox;\n }\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SvgIconRoot, {\n as: component,\n className: clsx(classes.root, className),\n focusable: \"false\",\n color: htmlColor,\n \"aria-hidden\": titleAccess ? undefined : true,\n role: titleAccess ? 'img' : undefined,\n ref: ref,\n ...more,\n ...other,\n ...(hasSvgAsChild && children.props),\n ownerState: ownerState,\n children: [hasSvgAsChild ? children.props.children : children, titleAccess ? /*#__PURE__*/_jsx(\"title\", {\n children: titleAccess\n }) : null]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? SvgIcon.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the d.ts file and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * Node passed into the SVG element.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * You can use the `htmlColor` prop to apply a color attribute to the SVG element.\n * @default 'inherit'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'action', 'disabled', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size.\n * @default 'medium'\n */\n fontSize: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'large', 'medium', 'small']), PropTypes.string]),\n /**\n * Applies a color attribute to the SVG element.\n */\n htmlColor: PropTypes.string,\n /**\n * If `true`, the root node will inherit the custom `component`'s viewBox and the `viewBox`\n * prop will be ignored.\n * Useful when you want to reference a custom `component` and have `SvgIcon` pass that\n * `component`'s viewBox to the root node.\n * @default false\n */\n inheritViewBox: PropTypes.bool,\n /**\n * The shape-rendering attribute. The behavior of the different options is described on the\n * [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/shape-rendering).\n * If you are having issues with blurry icons you should investigate this prop.\n */\n shapeRendering: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Provides a human-readable title for the element that contains it.\n * https://www.w3.org/TR/SVG-access/#Equivalent\n */\n titleAccess: PropTypes.string,\n /**\n * Allows you to redefine what the coordinates without units mean inside an SVG element.\n * For example, if the SVG element is 500 (width) by 200 (height),\n * and you pass viewBox=\"0 0 50 20\",\n * this means that the coordinates inside the SVG will go from the top left corner (0,0)\n * to bottom right (50,20) and each unit will be worth 10px.\n * @default '0 0 24 24'\n */\n viewBox: PropTypes.string\n} : void 0;\nif (SvgIcon) {\n SvgIcon.muiName = 'SvgIcon';\n}\nexport default SvgIcon;", "import * as React from 'react';\nimport { extendSxProp } from '@mui/system/styleFunctionSx';\nimport useTheme from \"../styles/useTheme.js\";\nimport GlobalStyles from \"../GlobalStyles/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport { css, keyframes } from '@mui/system';\nexport { default as styled } from \"../styles/styled.js\";\nexport function globalCss(styles) {\n return function GlobalStylesWrapper(props) {\n return (\n /*#__PURE__*/\n // Pigment CSS `globalCss` support callback with theme inside an object but `GlobalStyles` support theme as a callback value.\n _jsx(GlobalStyles, {\n styles: typeof styles === 'function' ? theme => styles({\n theme,\n ...props\n }) : styles\n })\n );\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function internal_createExtendSxProp() {\n return extendSxProp;\n}\nexport { useTheme };", "'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { GlobalStyles as SystemGlobalStyles } from '@mui/system';\nimport defaultTheme from \"../styles/defaultTheme.js\";\nimport THEME_ID from \"../styles/identifier.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction GlobalStyles(props) {\n return /*#__PURE__*/_jsx(SystemGlobalStyles, {\n ...props,\n defaultTheme: defaultTheme,\n themeId: THEME_ID\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? GlobalStyles.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the d.ts file and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * The styles you want to apply globally.\n */\n styles: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.array, PropTypes.func, PropTypes.number, PropTypes.object, PropTypes.string, PropTypes.bool])\n} : void 0;\nexport default GlobalStyles;", "import { unstable_memoTheme } from '@mui/system';\nconst memoTheme = unstable_memoTheme;\nexport default memoTheme;", "'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport SystemDefaultPropsProvider, { useDefaultProps as useSystemDefaultProps } from '@mui/system/DefaultPropsProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction DefaultPropsProvider(props) {\n return /*#__PURE__*/_jsx(SystemDefaultPropsProvider, {\n ...props\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? DefaultPropsProvider.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the TypeScript types and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n value: PropTypes.object.isRequired\n} : void 0;\nexport default DefaultPropsProvider;\nexport function useDefaultProps(params) {\n return useSystemDefaultProps(params);\n}", "import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSvgIconUtilityClass(slot) {\n return generateUtilityClass('MuiSvgIcon', slot);\n}\nconst svgIconClasses = generateUtilityClasses('MuiSvgIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);\nexport default svgIconClasses;", "import debounce from '@mui/utils/debounce';\nexport default debounce;", "import isMuiElement from '@mui/utils/isMuiElement';\nexport default isMuiElement;", "import ownerDocument from '@mui/utils/ownerDocument';\nexport default ownerDocument;", "import ownerWindow from '@mui/utils/ownerWindow';\nexport default ownerWindow;", "'use client';\n\nimport useEnhancedEffect from '@mui/utils/useEnhancedEffect';\nexport default useEnhancedEffect;", "'use client';\n\nimport useId from '@mui/utils/useId';\nexport default useId;", "'use client';\n\nimport useControlled from '@mui/utils/useControlled';\nexport default useControlled;", "'use client';\n\nimport useEventCallback from '@mui/utils/useEventCallback';\nexport default useEventCallback;", "'use client';\n\nimport useForkRef from '@mui/utils/useForkRef';\nexport default useForkRef;", "function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };", "import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };", "import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n * \n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;", "export default {\n disabled: false\n};", "import React from 'react';\nexport default React.createContext(null);", "export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};", "import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;", "function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };", "import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}", "export const reflow = node => node.scrollTop;\nexport function getTransitionProps(props, options) {\n const {\n timeout,\n easing,\n style = {}\n } = props;\n return {\n duration: style.transitionDuration ?? (typeof timeout === 'number' ? timeout : timeout[options.mode] || 0),\n easing: style.transitionTimingFunction ?? (typeof easing === 'object' ? easing[options.mode] : easing),\n delay: style.transitionDelay\n };\n}", "'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport { styled, useTheme } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport getOverlayAlpha from \"../styles/getOverlayAlpha.js\";\nimport { getPaperUtilityClass } from \"./paperClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n square,\n elevation,\n variant,\n classes\n } = ownerState;\n const slots = {\n root: ['root', variant, !square && 'rounded', variant === 'elevation' && `elevation${elevation}`]\n };\n return composeClasses(slots, getPaperUtilityClass, classes);\n};\nconst PaperRoot = styled('div', {\n name: 'MuiPaper',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], !ownerState.square && styles.rounded, ownerState.variant === 'elevation' && styles[`elevation${ownerState.elevation}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n backgroundColor: (theme.vars || theme).palette.background.paper,\n color: (theme.vars || theme).palette.text.primary,\n transition: theme.transitions.create('box-shadow'),\n variants: [{\n props: ({\n ownerState\n }) => !ownerState.square,\n style: {\n borderRadius: theme.shape.borderRadius\n }\n }, {\n props: {\n variant: 'outlined'\n },\n style: {\n border: `1px solid ${(theme.vars || theme).palette.divider}`\n }\n }, {\n props: {\n variant: 'elevation'\n },\n style: {\n boxShadow: 'var(--Paper-shadow)',\n backgroundImage: 'var(--Paper-overlay)'\n }\n }]\n})));\nconst Paper = /*#__PURE__*/React.forwardRef(function Paper(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiPaper'\n });\n const theme = useTheme();\n const {\n className,\n component = 'div',\n elevation = 1,\n square = false,\n variant = 'elevation',\n ...other\n } = props;\n const ownerState = {\n ...props,\n component,\n elevation,\n square,\n variant\n };\n const classes = useUtilityClasses(ownerState);\n if (process.env.NODE_ENV !== 'production') {\n if (theme.shadows[elevation] === undefined) {\n console.error([`MUI: The elevation provided is not available in the theme.`, `Please make sure that \\`theme.shadows[${elevation}]\\` is defined.`].join('\\n'));\n }\n }\n return /*#__PURE__*/_jsx(PaperRoot, {\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref,\n ...other,\n style: {\n ...(variant === 'elevation' && {\n '--Paper-shadow': (theme.vars || theme).shadows[elevation],\n ...(theme.vars && {\n '--Paper-overlay': theme.vars.overlays?.[elevation]\n }),\n ...(!theme.vars && theme.palette.mode === 'dark' && {\n '--Paper-overlay': `linear-gradient(${alpha('#fff', getOverlayAlpha(elevation))}, ${alpha('#fff', getOverlayAlpha(elevation))})`\n })\n }),\n ...other.style\n }\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Paper.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the d.ts file and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Shadow depth, corresponds to `dp` in the spec.\n * It accepts values between 0 and 24 inclusive.\n * @default 1\n */\n elevation: chainPropTypes(integerPropType, props => {\n const {\n elevation,\n variant\n } = props;\n if (elevation > 0 && variant === 'outlined') {\n return new Error(`MUI: Combining \\`elevation={${elevation}}\\` with \\`variant=\"${variant}\"\\` has no effect. Either use \\`elevation={0}\\` or use a different \\`variant\\`.`);\n }\n return null;\n }),\n /**\n * If `true`, rounded corners are disabled.\n * @default false\n */\n square: PropTypes.bool,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'elevation'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['elevation', 'outlined']), PropTypes.string])\n} : void 0;\nexport default Paper;", "import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getPaperUtilityClass(slot) {\n return generateUtilityClass('MuiPaper', slot);\n}\nconst paperClasses = generateUtilityClasses('MuiPaper', ['root', 'rounded', 'outlined', 'elevation', 'elevation0', 'elevation1', 'elevation2', 'elevation3', 'elevation4', 'elevation5', 'elevation6', 'elevation7', 'elevation8', 'elevation9', 'elevation10', 'elevation11', 'elevation12', 'elevation13', 'elevation14', 'elevation15', 'elevation16', 'elevation17', 'elevation18', 'elevation19', 'elevation20', 'elevation21', 'elevation22', 'elevation23', 'elevation24']);\nexport default paperClasses;", "'use client';\n\nimport useForkRef from '@mui/utils/useForkRef';\nimport appendOwnerState from '@mui/utils/appendOwnerState';\nimport resolveComponentProps from '@mui/utils/resolveComponentProps';\nimport mergeSlotProps from '@mui/utils/mergeSlotProps';\n/**\n * An internal function to create a Material UI slot.\n *\n * This is an advanced version of Base UI `useSlotProps` because Material UI allows leaf component to be customized via `component` prop\n * while Base UI does not need to support leaf component customization.\n *\n * @param {string} name: name of the slot\n * @param {object} parameters\n * @returns {[Slot, slotProps]} The slot's React component and the slot's props\n *\n * Note: the returned slot's props\n * - will never contain `component` prop.\n * - might contain `as` prop.\n */\nexport default function useSlot(\n/**\n * The slot's name. All Material UI components should have `root` slot.\n *\n * If the name is `root`, the logic behaves differently from other slots,\n * e.g. the `externalForwardedProps` are spread to `root` slot but not other slots.\n */\nname, parameters) {\n const {\n className,\n elementType: initialElementType,\n ownerState,\n externalForwardedProps,\n getSlotOwnerState,\n internalForwardedProps,\n ...useSlotPropsParams\n } = parameters;\n const {\n component: rootComponent,\n slots = {\n [name]: undefined\n },\n slotProps = {\n [name]: undefined\n },\n ...other\n } = externalForwardedProps;\n const elementType = slots[name] || initialElementType;\n\n // `slotProps[name]` can be a callback that receives the component's ownerState.\n // `resolvedComponentsProps` is always a plain object.\n const resolvedComponentsProps = resolveComponentProps(slotProps[name], ownerState);\n const {\n props: {\n component: slotComponent,\n ...mergedProps\n },\n internalRef\n } = mergeSlotProps({\n className,\n ...useSlotPropsParams,\n externalForwardedProps: name === 'root' ? other : undefined,\n externalSlotProps: resolvedComponentsProps\n });\n const ref = useForkRef(internalRef, resolvedComponentsProps?.ref, parameters.ref);\n const slotOwnerState = getSlotOwnerState ? getSlotOwnerState(mergedProps) : {};\n const finalOwnerState = {\n ...ownerState,\n ...slotOwnerState\n };\n const LeafComponent = name === 'root' ? slotComponent || rootComponent : slotComponent;\n const props = appendOwnerState(elementType, {\n ...(name === 'root' && !rootComponent && !slots[name] && internalForwardedProps),\n ...(name !== 'root' && !slots[name] && internalForwardedProps),\n ...mergedProps,\n ...(LeafComponent && {\n as: LeafComponent\n }),\n ref\n }, finalOwnerState);\n Object.keys(slotOwnerState).forEach(propName => {\n delete props[propName];\n });\n return [elementType, props];\n}", "'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport composeClasses from '@mui/utils/composeClasses';\nimport isFocusVisible from '@mui/utils/isFocusVisible';\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport useForkRef from \"../utils/useForkRef.js\";\nimport useEventCallback from \"../utils/useEventCallback.js\";\nimport useLazyRipple from \"../useLazyRipple/index.js\";\nimport TouchRipple from \"./TouchRipple.js\";\nimport buttonBaseClasses, { getButtonBaseUtilityClass } from \"./buttonBaseClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n focusVisible,\n focusVisibleClassName,\n classes\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', focusVisible && 'focusVisible']\n };\n const composedClasses = composeClasses(slots, getButtonBaseUtilityClass, classes);\n if (focusVisible && focusVisibleClassName) {\n composedClasses.root += ` ${focusVisibleClassName}`;\n }\n return composedClasses;\n};\nexport const ButtonBaseRoot = styled('button', {\n name: 'MuiButtonBase',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n boxSizing: 'border-box',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // Reset\n textDecoration: 'none',\n // So we take precedent over the style of a native element.\n color: 'inherit',\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n },\n [`&.${buttonBaseClasses.disabled}`]: {\n pointerEvents: 'none',\n // Disable link interactions\n cursor: 'default'\n },\n '@media print': {\n colorAdjust: 'exact'\n }\n});\n\n/**\n * `ButtonBase` contains as few styles as possible.\n * It aims to be a simple building block for creating a button.\n * It contains a load of style reset and some focus/ripple logic.\n */\nconst ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiButtonBase'\n });\n const {\n action,\n centerRipple = false,\n children,\n className,\n component = 'button',\n disabled = false,\n disableRipple = false,\n disableTouchRipple = false,\n focusRipple = false,\n focusVisibleClassName,\n LinkComponent = 'a',\n onBlur,\n onClick,\n onContextMenu,\n onDragLeave,\n onFocus,\n onFocusVisible,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onMouseLeave,\n onMouseUp,\n onTouchEnd,\n onTouchMove,\n onTouchStart,\n tabIndex = 0,\n TouchRippleProps,\n touchRippleRef,\n type,\n ...other\n } = props;\n const buttonRef = React.useRef(null);\n const ripple = useLazyRipple();\n const handleRippleRef = useForkRef(ripple.ref, touchRippleRef);\n const [focusVisible, setFocusVisible] = React.useState(false);\n if (disabled && focusVisible) {\n setFocusVisible(false);\n }\n React.useImperativeHandle(action, () => ({\n focusVisible: () => {\n setFocusVisible(true);\n buttonRef.current.focus();\n }\n }), []);\n const enableTouchRipple = ripple.shouldMount && !disableRipple && !disabled;\n React.useEffect(() => {\n if (focusVisible && focusRipple && !disableRipple) {\n ripple.pulsate();\n }\n }, [disableRipple, focusRipple, focusVisible, ripple]);\n function useRippleHandler(rippleAction, eventCallback, skipRippleAction = disableTouchRipple) {\n return useEventCallback(event => {\n if (eventCallback) {\n eventCallback(event);\n }\n const ignore = skipRippleAction;\n if (!ignore) {\n ripple[rippleAction](event);\n }\n return true;\n });\n }\n const handleMouseDown = useRippleHandler('start', onMouseDown);\n const handleContextMenu = useRippleHandler('stop', onContextMenu);\n const handleDragLeave = useRippleHandler('stop', onDragLeave);\n const handleMouseUp = useRippleHandler('stop', onMouseUp);\n const handleMouseLeave = useRippleHandler('stop', event => {\n if (focusVisible) {\n event.preventDefault();\n }\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n });\n const handleTouchStart = useRippleHandler('start', onTouchStart);\n const handleTouchEnd = useRippleHandler('stop', onTouchEnd);\n const handleTouchMove = useRippleHandler('stop', onTouchMove);\n const handleBlur = useRippleHandler('stop', event => {\n if (!isFocusVisible(event.target)) {\n setFocusVisible(false);\n }\n if (onBlur) {\n onBlur(event);\n }\n }, false);\n const handleFocus = useEventCallback(event => {\n // Fix for https://github.com/facebook/react/issues/7769\n if (!buttonRef.current) {\n buttonRef.current = event.currentTarget;\n }\n if (isFocusVisible(event.target)) {\n setFocusVisible(true);\n if (onFocusVisible) {\n onFocusVisible(event);\n }\n }\n if (onFocus) {\n onFocus(event);\n }\n });\n const isNonNativeButton = () => {\n const button = buttonRef.current;\n return component && component !== 'button' && !(button.tagName === 'A' && button.href);\n };\n const handleKeyDown = useEventCallback(event => {\n // Check if key is already down to avoid repeats being counted as multiple activations\n if (focusRipple && !event.repeat && focusVisible && event.key === ' ') {\n ripple.stop(event, () => {\n ripple.start(event);\n });\n }\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === ' ') {\n event.preventDefault();\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n\n // Keyboard accessibility for non interactive elements\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === 'Enter' && !disabled) {\n event.preventDefault();\n if (onClick) {\n onClick(event);\n }\n }\n });\n const handleKeyUp = useEventCallback(event => {\n // calling preventDefault in keyUp on a \n this.handleCancel()}\n color=\"grey\"\n startIcon={}\n >\n {this.props.cancel || I18n.t('ra_Cancel')}\n \n \n \n );\n }\n}\n", "/**\n * Copyright 2018-2023 Denis Haev (bluefox) \n *\n * MIT License\n *\n */\n// please do not delete React, as without it other projects could not be compiled: ReferenceError: React is not defined\nimport React, { Component, type JSX } from 'react';\n\nimport { Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle } from '@mui/material';\n\nimport { Check as IconCheck } from '@mui/icons-material';\n\nimport { I18n } from '../i18n';\n\ninterface DialogErrorProps {\n /* The dialog title; default: Error (translated) */\n title?: string;\n /* The dialog text */\n text: string | React.JSX.Element | React.JSX.Element[];\n /* Close handler. */\n onClose?: () => void;\n /* if the dialog must be fill sized */\n fullWidth?: boolean;\n}\n\nexport class DialogError extends Component {\n handleOk(): void {\n if (this.props.onClose) {\n this.props.onClose();\n }\n }\n\n render(): JSX.Element {\n return (\n this.handleOk()}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n {this.props.title || I18n.t('ra_Error')}\n \n \n {this.props.text || I18n.t('ra_Unknown error!')}\n \n \n \n this.handleOk()}\n color=\"primary\"\n autoFocus\n startIcon={}\n >\n {I18n.t('ra_Ok')}\n \n \n \n );\n }\n}\n", "{\n \"ra_%s links from aliases\": \"%s links from aliases\",\n \"ra_%s object(s) processed\": \"%s object(s) processed\",\n \"ra_%s was imported\": \"%s was imported\",\n \"ra_Accept license\": \"Accept license\",\n \"ra_Add new child object to selected parent\": \"Add new child object to selected parent\",\n \"ra_Add objects tree from JSON file\": \"Add objects tree from JSON file\",\n \"ra_Add row\": \"Add row\",\n \"ra_Advanced options\": \"Advanced options\",\n \"ra_All items are filtered out\": \"All items are filtered out\",\n \"ra_All objects\": \"All objects\",\n \"ra_Append\": \"Append\",\n \"ra_Append %s entries or replace existing?\": \"Append %s entries or replace existing?\",\n \"ra_Append or replace?\": \"Append or replace?\",\n \"ra_Are you sure?\": \"Are you sure?\",\n \"ra_Auto (no custom columns)\": \"Auto (no custom columns)\",\n \"ra_Back to %s\": \"Back to %s\",\n \"ra_Background image\": \"Background image\",\n \"ra_Cancel\": \"Cancel\",\n \"ra_Cannot add items with set filter\": \"Cannot add items with set filter\",\n \"ra_Cannot decode license\": \"Cannot decode license\",\n \"ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser\": \"Cannot determine position: System settings are empty and GPS detection is disabled in browser\",\n \"ra_Cannot find \\\"%s\\\"\": \"Cannot find \\\"%s\\\"\",\n \"ra_Cannot read \\\"%s\\\"\": \"Cannot read \\\"%s\\\"\",\n \"ra_Cannot read licenses: %s\": \"Cannot read licenses: %s\",\n \"ra_Cannot retrieve options, as instance is offline\": \"Cannot retrieve options, as instance is offline\",\n \"ra_Cannot update attribute, because not found in the object\": \"Cannot update attribute, because not found in the object\",\n \"ra_Cannot upload\": \"Cannot upload\",\n \"ra_Categories\": \"Categories\",\n \"ra_Chained certificate\": \"Chained certificate\",\n \"ra_Change color theme\": \"Change color theme\",\n \"ra_Changed from\": \"Changed from\",\n \"ra_Channel \u2192 State\": \"Channel \u2192 State\",\n \"ra_Check license\": \"Check license\",\n \"ra_Checked\": \"Checked\",\n \"ra_Clear\": \"Delete\",\n \"ra_Clear filter\": \"Clear filter\",\n \"ra_Clear icon\": \"Clear icon\",\n \"ra_Clone current row\": \"Clone current row\",\n \"ra_Close\": \"Close\",\n \"ra_Collapse all nodes\": \"Collapse all nodes\",\n \"ra_Collapse one step node\": \"Collapse one level\",\n \"ra_Commercial\": \"Commercial\",\n \"ra_Configure\": \"Configure\",\n \"ra_Configure visible columns\": \"Configure visible columns\",\n \"ra_Confirm deletion of %s\": \"Confirm deletion of %s\",\n \"ra_Connected\": \"Connected\",\n \"ra_Copied\": \"Copied\",\n \"ra_Copied %s\": \"Copied \\\"%s\\\"\",\n \"ra_Copy content\": \"Copy content\",\n \"ra_Create\": \"Create\",\n \"ra_Create alias\": \"Create alias\",\n \"ra_Create folder\": \"Create folder\",\n \"ra_Create new folder in %s\": \"Create new folder in %s\",\n \"ra_Crop\": \"Crop\",\n \"ra_Define CRON...\": \"Define CRON...\",\n \"ra_Define functions\": \"Define functions\",\n \"ra_Define rooms\": \"Define rooms\",\n \"ra_Define schedule\": \"Define schedule\",\n \"ra_Define schedule...\": \"Define schedule...\",\n \"ra_Del\": \"Delete\",\n \"ra_Delete\": \"Delete\",\n \"ra_Delete (no confirm for 5 mins)\": \"Delete (no confirm for 5 mins)\",\n \"ra_Delete current row\": \"Delete current row\",\n \"ra_Deselect all\": \"Unselect all\",\n \"ra_Device \u2192 Channel \u2192 State\": \"Device \u2192 Channel \u2192 State\",\n \"ra_Discard\": \"Discard\",\n \"ra_Disconnected\": \"Disconnected\",\n \"ra_Do not export values of states\": \"Do not export values of states\",\n \"ra_Do not use let's encrypt\": \"Do not use let's encrypt\",\n \"ra_Double click to reset table layout\": \"Double click to reset table layout\",\n \"ra_Drag 'n' drop some files here, or click to select files\": \"Drag 'n' drop some files here, or click to select files\",\n \"ra_Drop file here\": \"Drop file here\",\n \"ra_Drop the files here...\": \"Drop the file here...\",\n \"ra_Duplicate name\": \"Duplicate name\",\n \"ra_Edit ACL\": \"Edit ACL\",\n \"ra_Edit alias\": \"Edit alias\",\n \"ra_Edit custom config\": \"Edit custom config\",\n \"ra_Edit function\": \"Edit function\",\n \"ra_Edit object field\": \"Edit object field\",\n \"ra_Edit role\": \"Edit role\",\n \"ra_Edit room\": \"Edit room\",\n \"ra_Edit value\": \"Edit value\",\n \"ra_Error\": \"Error\",\n \"ra_Expand all nodes\": \"Expand all nodes\",\n \"ra_Expand one step node\": \"Expand one level\",\n \"ra_Export data to %s file\": \"Export data to %s file\",\n \"ra_Failed to open JSON File\": \"Failed to open JSON File\",\n \"ra_Fallback custom certificates\": \"Fallback custom certificates\",\n \"ra_File is too big. Max %sk allowed. Try use SVG.\": \"File is too big. Max %sk allowed. Try use SVG.\",\n \"ra_Filter\": \"Filter\",\n \"ra_Filter files\": \"Filter files\",\n \"ra_Folder name\": \"Folder name\",\n \"ra_Folder \u2192 Channel \u2192 State\": \"Folder \u2192 Channel \u2192 State\",\n \"ra_Folder \u2192 Device \u2192 Channel \u2192 State\": \"Folder \u2192 Device \u2192 Channel \u2192 State\",\n \"ra_Folder \u2192 State\": \"Folder \u2192 State\",\n \"ra_Folders always first\": \"Folders always first\",\n \"ra_Friday\": \"Friday\",\n \"ra_Good luck\": \"Good luck\",\n \"ra_Hide empty folders\": \"Hide empty folders\",\n \"ra_If no file will be created in the folder, it will disappear after the browser closed\": \"If no file will be created in the folder, it will disappear after the browser closed\",\n \"ra_Import data from %s file\": \"Import data from %s file\",\n \"ra_Import from %s\": \"Import from %s\",\n \"ra_Instance %s is alive\": \"Instance %s is alive\",\n \"ra_Instance %s is not alive\": \"Instance %s is not alive\",\n \"ra_Instance is not alive\": \"Instance is not alive\",\n \"ra_Invalid CRON\": \"Invalid CRON\",\n \"ra_Invalid JSON\": \"Invalid JSON\",\n \"ra_Invalid answer from server\": \"Invalid answer from server\",\n \"ra_Invalid parent folder!\": \"Invalid parent folder!\",\n \"ra_Invalid structure\": \"Invalid structure\",\n \"ra_JSON editor\": \"JSON editor\",\n \"ra_Last change\": \"Last change\",\n \"ra_Latitude\": \"Latitude\",\n \"ra_License %s\": \"License %s\",\n \"ra_License agreement\": \"License agreement\",\n \"ra_License does not exist\": \"License does not exist\",\n \"ra_License expired on %s\": \"License expired on %s\",\n \"ra_License for other product \\\"%s\\\"\": \"License for other product \\\"%s\\\"\",\n \"ra_License is for version %s, but required version is %s.\": \"License is for version %s, but required version is %s.\",\n \"ra_License must be converted\": \"License must be converted to newer version. You can do it in your iobroker.net profile.\",\n \"ra_License not found in license manager. Do you want to read licenses from iobroker.net?\": \"License not found in the license manager. Do you want to update licenses from iobroker.net?\",\n \"ra_Listen on all IPs\": \"Listen on all IPs\",\n \"ra_Load configuration from file\": \"Load configuration from file\",\n \"ra_Longitude\": \"Longitude\",\n \"ra_May not trigger \\\"updateLicenses\\\"\": \"May not trigger \\\"updateLicenses\\\"\",\n \"ra_Message\": \"Message\",\n \"ra_Monday\": \"Monday\",\n \"ra_Move down\": \"Move down\",\n \"ra_Move up\": \"Move up\",\n \"ra_Name\": \"Name\",\n \"ra_No data found in file\": \"No data found in file\",\n \"ra_No one license found in license manager\": \"No one license found in license manager\",\n \"ra_No response from the backend\": \"No response from the backend\",\n \"ra_Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\": \"Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\",\n \"ra_Not a number\": \"Not a number\",\n \"ra_Objects\": \"Objects\",\n \"ra_Ok\": \"Ok\",\n \"ra_On weekdays\": \"On weekdays\",\n \"ra_Only following structures of objects are available:\": \"Only following structures of objects are available:\",\n \"ra_Only selected\": \"Only selected\",\n \"ra_Owner group\": \"Owner group\",\n \"ra_Owner user\": \"Owner user\",\n \"ra_Passwords are not equal!\": \"Passwords are not equal!\",\n \"ra_Place your files here or click here to open the browse dialog\": \"Place your files here or click here to open the browse dialog\",\n \"ra_Please confirm\": \"Please confirm\",\n \"ra_Please create license\": \"Please create license\",\n \"ra_Please enter the license\": \"Please enter the license\",\n \"ra_Please select file...\": \"Please select file...\",\n \"ra_Please select object ID...\": \"Please select object ID...\",\n \"ra_Port could be used by %s\": \"Port could be used by %s\",\n \"ra_Port is already used by %s\": \"Port is already used by %s\",\n \"ra_Private certificate\": \"Private certificate\",\n \"ra_Product\": \"Product\",\n \"ra_Public certificate\": \"Public certificate\",\n \"ra_Quality code\": \"Quality\",\n \"ra_Refresh tree\": \"Refresh tree\",\n \"ra_Reload files\": \"Reload files\",\n \"ra_Repeat\": \"Repeat\",\n \"ra_Replace\": \"Replace\",\n \"ra_Request timed out\": \"Request timed out\",\n \"ra_Restrict to folder\": \"Restrict to folder\",\n \"ra_Root\": \"Root\",\n \"ra_Saturday\": \"Saturday\",\n \"ra_Save\": \"Save\",\n \"ra_Save and close\": \"Save and close\",\n \"ra_Save configuration to file\": \"Save configuration to file\",\n \"ra_Save objects tree as JSON file\": \"Save objects tree as JSON file\",\n \"ra_Select all\": \"Select all\",\n \"ra_Select color\": \"Select color\",\n \"ra_Select predefined icon\": \"Select predefined icon\",\n \"ra_Select type of export\": \"Select type of export\",\n \"ra_Selected\": \"Selected\",\n \"ra_Selected %s object(s)\": \"Selected %s object(s)\",\n \"ra_Serial number (UUID)\": \"Serial number (UUID)\",\n \"ra_Serial number (UUID) \\\"%s\\\" in license is for other device.\": \"Serial number (UUID) \\\"%s\\\" in license is for other device.\",\n \"ra_Show all folders\": \"Show all folders\",\n \"ra_Show lines between rows\": \"Show lines between rows\",\n \"ra_Show/Hide object descriptions\": \"Show/Hide object descriptions\",\n \"ra_Show/hide filter input\": \"Show/hide filter input\",\n \"ra_Some data are not stored. Discard?\": \"Some data are not stored. Discard?\",\n \"ra_States\": \"States\",\n \"ra_Suitable license not found in license manager\": \"Suitable license not found in license manager\",\n \"ra_Sunday\": \"Sunday\",\n \"ra_Suppress question for next %s minutes\": \"Suppress question for next %s minutes\",\n \"ra_System language\": \"System language\",\n \"ra_Take browser position\": \"Take position from browser\",\n \"ra_Take position from system settings\": \"Take position from system settings\",\n \"ra_The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\": \"The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\",\n \"ra_The page you are looking for was not found\": \"The page you are looking for was not found\",\n \"ra_The schedule will be executed every minute. Are you sure?\": \"The schedule will be executed every minute. Are you sure?\",\n \"ra_The schedule will be executed every second. Are you sure?\": \"The schedule will be executed every second. Are you sure?\",\n \"ra_Thursday\": \"Thursday\",\n \"ra_Timestamp\": \"Timestamp\",\n \"ra_Toggle expert mode\": \"Toggle expert mode\",\n \"ra_Toggle the states view\": \"Toggle the states view\",\n \"ra_Toggle view mode\": \"Toggle view mode\",\n \"ra_Too big\": \"Too big\",\n \"ra_Too small\": \"Too small\",\n \"ra_Transparent dialog\": \"Transparent dialog\",\n \"ra_Tuesday\": \"Tuesday\",\n \"ra_Unknown error\": \"Unknown error\",\n \"ra_Unknown error!\": \"Unknown error!\",\n \"ra_Update\": \"Update\",\n \"ra_Upload file\": \"Upload file\",\n \"ra_Use all available let's encrypt certificates\": \"Use all available let's encrypt certificates\",\n \"ra_Use iobroker.acme adapter for letsencrypt certificates\": \"Use iobroker.acme adapter for letsencrypt certificates\",\n \"ra_Use system settings for position\": \"Use system settings for position\",\n \"ra_Used system settings\": \"Used system settings\",\n \"ra_User files\": \"User files\",\n \"ra_ValidTill\": \"Valid till\",\n \"ra_Value\": \"Value\",\n \"ra_Version\": \"Version\",\n \"ra_View file\": \"View file\",\n \"ra_View: %s\": \"View: %s\",\n \"ra_Wednesday\": \"Wednesday\",\n \"ra_Width\": \"Width\",\n \"ra_Yes\": \"Yes\",\n \"ra_You can export all objects or just the selected branch.\": \"You can export all objects or just the selected branch.\",\n \"ra_You can filter entries by entering here some text\": \"You can filter entries by entering here some text\",\n \"ra___different__\": \"different\",\n \"ra_aclEveryone_read_object\": \"Everyone can read object\",\n \"ra_aclEveryone_read_state\": \"Everyone can read state\",\n \"ra_aclEveryone_write_object\": \"Everyone can write object\",\n \"ra_aclEveryone_write_state\": \"Everyone can write state\",\n \"ra_aclGroup_read_object\": \"Group can read object\",\n \"ra_aclGroup_read_state\": \"Group can read state\",\n \"ra_aclGroup_write_object\": \"Group can write object\",\n \"ra_aclGroup_write_state\": \"Group can write state\",\n \"ra_aclOwner_read_object\": \"Owner can read object\",\n \"ra_aclOwner_read_state\": \"Owner can read state\",\n \"ra_aclOwner_write_object\": \"Owner can write object\",\n \"ra_aclOwner_write_state\": \"Owner can write state\",\n \"ra_buttons\": \"Buttons\",\n \"ra_changedFrom\": \"Changed from\",\n \"ra_close\": \"close\",\n \"ra_create_boolean_state\": \"Create boolean state\",\n \"ra_create_channel\": \"Create channel\",\n \"ra_create_device\": \"Create device\",\n \"ra_create_number_state\": \"Create number state\",\n \"ra_create_state\": \"Create state\",\n \"ra_create_string_state\": \"Create string state\",\n \"ra_daysShortText\": \"days\",\n \"ra_dow_Fr\": \"Fr\",\n \"ra_dow_Mo\": \"Mo\",\n \"ra_dow_Sa\": \"Sa\",\n \"ra_dow_Su\": \"Su\",\n \"ra_dow_Th\": \"Th\",\n \"ra_dow_Tu\": \"Tu\",\n \"ra_dow_We\": \"We\",\n \"ra_expertMode\": \"Expert mode\",\n \"ra_fileType_all\": \"All files\",\n \"ra_fileType_audio\": \"Audio\",\n \"ra_fileType_code\": \"Code/JSON\",\n \"ra_fileType_images\": \"Images\",\n \"ra_fileType_txt\": \"Text\",\n \"ra_fileType_video\": \"Video\",\n \"ra_fileType_video,\": \"Video\",\n \"ra_filter_customs\": \"Settings\",\n \"ra_filter_customs_without\": \"without\",\n \"ra_filter_func\": \"Function\",\n \"ra_filter_id\": \"ID\",\n \"ra_filter_name\": \"Name\",\n \"ra_filter_role\": \"Role\",\n \"ra_filter_room\": \"Room\",\n \"ra_filter_type\": \"Type\",\n \"ra_import data from %s file\": \"Import data from %s file\",\n \"ra_invalidConfig\": \"Invalid settings\",\n \"ra_lastChange\": \"Last change\",\n \"ra_locally\": \"locally\",\n \"ra_month_Apr\": \"Apr\",\n \"ra_month_Aug\": \"Aug\",\n \"ra_month_Dec\": \"Dec\",\n \"ra_month_Feb\": \"Feb\",\n \"ra_month_Jan\": \"Jan\",\n \"ra_month_Jul\": \"Jul\",\n \"ra_month_Jun\": \"Jun\",\n \"ra_month_Mai\": \"Mai\",\n \"ra_month_Mar\": \"Mar\",\n \"ra_month_Nov\": \"Nov\",\n \"ra_month_Oct\": \"Oct\",\n \"ra_month_Sep\": \"Sep\",\n \"ra_months_Apr\": \"Apr\",\n \"ra_months_Aug\": \"Aug\",\n \"ra_months_Dec\": \"Dec\",\n \"ra_months_Feb\": \"Feb\",\n \"ra_months_Jan\": \"Jan\",\n \"ra_months_Jul\": \"Jul\",\n \"ra_months_Jun\": \"Jun\",\n \"ra_months_Mai\": \"Mai\",\n \"ra_months_Mar\": \"Mar\",\n \"ra_months_Nov\": \"Nov\",\n \"ra_months_Oct\": \"Oct\",\n \"ra_months_Sep\": \"Sep\",\n \"ra_none\": \"none\",\n \"ra_object_changed_by\": \"Object changed by\",\n \"ra_object_changed_by_user\": \"Object last changed at\",\n \"ra_otherConfig\": \"Settings from other adapter %s\",\n \"ra_qualityCode\": \"Quality code\",\n \"ra_repeat\": \"repeat\",\n \"ra_select_folder_hint\": \"To select folder, just hold the key \\\"shift\\\" by clicking the folder.\",\n \"ra_state_changed_by\": \"State changed by\",\n \"ra_state_changed_from\": \"Object changed from\",\n \"ra_timestamp\": \"Timestamp\",\n \"ra_tooltip_ack\": \"Acknowledged\",\n \"ra_tooltip_comment\": \"Comment\",\n \"ra_tooltip_copyState\": \"Copy the state value\",\n \"ra_tooltip_customConfig\": \"Custom settings\",\n \"ra_tooltip_deleteObject\": \"Delete object\",\n \"ra_tooltip_editObject\": \"Edit object\",\n \"ra_tooltip_editState\": \"Edit the state value\",\n \"ra_tooltip_from\": \"From\",\n \"ra_tooltip_lc\": \"Last changed\",\n \"ra_tooltip_quality\": \"Quality\",\n \"ra_tooltip_ts\": \"Time stamp\",\n \"ra_tooltip_user\": \"User\",\n \"ra_tooltip_value\": \"Value\",\n \"ra_use seconds\": \"use seconds\",\n \"ra_val\": \"Value\",\n \"ra_via internet\": \"via internet\",\n \"ra_warning_every_minute\": \"Warning: The CRON job will run every minute during the specified period!\",\n \"ra_warning_every_second\": \"Warning: The CRON job will run every second during the specified period!\",\n \"sc_cron\": \"CRON\",\n \"sc_date\": \"Date\",\n \"sc_dates\": \"Dates\",\n \"sc_dow\": \"Day\",\n \"sc_dows\": \"Day of week\",\n \"sc_every\": \"Every\",\n \"sc_everyN_dates\": \"every N days\",\n \"sc_everyN_dow\": \"every Nth day of the week\",\n \"sc_everyN_dows\": \"every N day of week\",\n \"sc_everyN_hours\": \"every N hours\",\n \"sc_everyN_minutes\": \"every N minutes\",\n \"sc_everyN_months\": \"every N months\",\n \"sc_everyN_seconds\": \"every N seconds\",\n \"sc_every_dates\": \"every day\",\n \"sc_every_dow\": \"every day of the week\",\n \"sc_every_dows\": \"every day of the week\",\n \"sc_every_hours\": \"every hour\",\n \"sc_every_minutes\": \"every minute\",\n \"sc_every_months\": \"every month\",\n \"sc_every_seconds\": \"every second\",\n \"sc_from\": \"From\",\n \"sc_hours\": \"Hours\",\n \"sc_interval\": \"Interval\",\n \"sc_intervalBetween\": \"Interval between\",\n \"sc_invalid_cron\": \"Invalid CRON\",\n \"sc_minutes\": \"Minutes\",\n \"sc_months\": \"months\",\n \"sc_once\": \"Once\",\n \"sc_period\": \"Period\",\n \"sc_seconds\": \"Seconds\",\n \"sc_simple\": \"Simple\",\n \"sc_specific\": \"Specific time\",\n \"sc_specific_dates\": \"specific dates\",\n \"sc_specific_dow\": \"specific day(s) of the week\",\n \"sc_specific_dows\": \"specific day of weeks\",\n \"sc_specific_hours\": \"specific hours\",\n \"sc_specific_minutes\": \"specific minutes\",\n \"sc_specific_months\": \"specific months\",\n \"sc_specific_seconds\": \"specific seconds\",\n \"sc_time\": \"Time\",\n \"sc_to\": \"To\",\n \"sc_wizard\": \"Wizard\",\n \"sch_all\": \"all\",\n \"sch_astroDay\": \"Astro day\",\n \"sch_astroNight\": \"Astro night\",\n \"sch_astro_dawn\": \"Dawn\",\n \"sch_astro_dusk\": \"Dusk\",\n \"sch_astro_goldenHour\": \"Golden hour\",\n \"sch_astro_goldenHourEnd\": \"Golden hour end\",\n \"sch_astro_nadir\": \"Nadir\",\n \"sch_astro_nauticalDawn\": \"Nautical dawn\",\n \"sch_astro_nauticalDusk\": \"Nautical dusk\",\n \"sch_astro_night\": \"Night\",\n \"sch_astro_nightEnd\": \"Night end\",\n \"sch_astro_solarNoon\": \"Solar noon\",\n \"sch_astro_sunrise\": \"Sunrise\",\n \"sch_astro_sunriseEnd\": \"Sunrise end\",\n \"sch_astro_sunset\": \"Sunset\",\n \"sch_astro_sunsetStart\": \"Sunset start\",\n \"sch_at\": \"at\",\n \"sch_desc_atTime\": \"at %s\",\n \"sch_desc_everyDay\": \"every day\",\n \"sch_desc_everyHour\": \"every hour\",\n \"sch_desc_everyMinute\": \"every minute\",\n \"sch_desc_everyMonth\": \"every month\",\n \"sch_desc_everyNDay\": \"every %s day\",\n \"sch_desc_everyNHours\": \"every %s hours\",\n \"sch_desc_everyNMinutes\": \"every %s minutes\",\n \"sch_desc_everyNMonths\": \"every %s months\",\n \"sch_desc_everyNWeeks\": \"every %s weeks\",\n \"sch_desc_everyNYears\": \"every %s years\",\n \"sch_desc_everyWeek\": \"every week\",\n \"sch_desc_everyYear\": \"every year\",\n \"sch_desc_intervalFromTo\": \"from %s to %s\",\n \"sch_desc_never\": \"never\",\n \"sch_desc_onDate\": \"on %s of %s\",\n \"sch_desc_onDates\": \"on %s and %s of\",\n \"sch_desc_onEveryDate\": \"on every date of\",\n \"sch_desc_onMonth\": \"%s\",\n \"sch_desc_onMonths\": \"%s and %s\",\n \"sch_desc_onWeekday\": \"on %s\",\n \"sch_desc_onWeekdays\": \"on %s and %s\",\n \"sch_desc_onWeekends\": \"on weekends\",\n \"sch_desc_onWorkdays\": \"on working days\",\n \"sch_desc_onceInPast\": \"will ne be not executed any more, because start is in the past\",\n \"sch_desc_once_on\": \"on %s\",\n \"sch_desc_validFrom\": \"from %s\",\n \"sch_desc_validFromTo\": \"Execute from to\",\n \"sch_desc_validTo\": \"to %s\",\n \"sch_every\": \"every\",\n \"sch_exactTime\": \"Specific time\",\n \"sch_from\": \"from\",\n \"sch_fromTo\": \"From-to\",\n \"sch_intervalTime\": \"Interval time\",\n \"sch_invert\": \"invert\",\n \"sch_no_one\": \"none\",\n \"sch_on\": \"on\",\n \"sch_period\": \"Period\",\n \"sch_periodDaily\": \"Daily\",\n \"sch_periodDates\": \"Dates\",\n \"sch_periodDay\": \"Day\",\n \"sch_periodEvery\": \"Every\",\n \"sch_periodEveryDay\": \"Every day\",\n \"sch_periodEveryMonth\": \"Every month\",\n \"sch_periodEveryWeek\": \"Every week\",\n \"sch_periodEveryYear\": \"Every year\",\n \"sch_periodHours\": \"Hours\",\n \"sch_periodMinutes\": \"Minutes\",\n \"sch_periodMonth\": \"month\",\n \"sch_periodMonthly\": \"Monthly\",\n \"sch_periodOnce\": \"Once\",\n \"sch_periodSpecificMonths\": \"Specific months\",\n \"sch_periodWeek\": \"Week\",\n \"sch_periodWeekdays\": \"Weekdays\",\n \"sch_periodWeekend\": \"Weekend\",\n \"sch_periodWeekly\": \"Weekly\",\n \"sch_periodWorkdays\": \"Workdays\",\n \"sch_periodYear\": \"Year\",\n \"sch_periodYearly\": \"Yearly\",\n \"sch_specificTime\": \"Specific time\",\n \"sch_time\": \"Time\",\n \"sch_to\": \"to\",\n \"sch_valid\": \"Valid\",\n \"sch_validFrom\": \"from\",\n \"sch_validTo\": \"to\",\n \"sch_wholeDay\": \"Whole day\",\n \"sch_yearEveryMonth\": \"every month\"\n}\n", "{\n \"ra_%s links from aliases\": \"%s Links von Aliasen\",\n \"ra_%s object(s) processed\": \"%s Objekt(e) verarbeitet\",\n \"ra_%s was imported\": \"%s wurde importiert\",\n \"ra_Accept license\": \"Lizenz akzeptieren\",\n \"ra_Add new child object to selected parent\": \"Dem ausgew\u00E4hlten \u00FCbergeordneten Objekt ein neues untergeordnetes Objekt hinzuf\u00FCgen\",\n \"ra_Add objects tree from JSON file\": \"Objektbaum aus JSON-Datei hinzuf\u00FCgen\",\n \"ra_Add row\": \"Zeile hinzuf\u00FCgen\",\n \"ra_Advanced options\": \"Erweiterte Optionen\",\n \"ra_All items are filtered out\": \"Alle Elemente werden herausgefiltert\",\n \"ra_All objects\": \"Alle Objekte\",\n \"ra_Append\": \"Anh\u00E4ngen\",\n \"ra_Append %s entries or replace existing?\": \"%s Eintr\u00E4ge anh\u00E4ngen oder vorhandene ersetzen?\",\n \"ra_Append or replace?\": \"Anh\u00E4ngen oder ersetzen?\",\n \"ra_Are you sure?\": \"Bist du sicher?\",\n \"ra_Auto (no custom columns)\": \"Auto (keine benutzerdefinierten Spalten)\",\n \"ra_Back to %s\": \"Zur\u00FCck zu %s\",\n \"ra_Background image\": \"Hintergrundbild\",\n \"ra_Cancel\": \"Abbrechen\",\n \"ra_Cannot add items with set filter\": \"Elemente mit festgelegtem Filter k\u00F6nnen nicht hinzugef\u00FCgt werden\",\n \"ra_Cannot decode license\": \"Lizenz kann nicht entschl\u00FCsselt werden\",\n \"ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser\": \"Position kann nicht bestimmt werden: Die Systemeinstellungen sind leer und die GPS-Erkennung ist im Browser deaktiviert\",\n \"ra_Cannot find \\\"%s\\\"\": \"Kann \\\"%s\\\" nicht finden\",\n \"ra_Cannot read \\\"%s\\\"\": \"\\\"%s\\\" kann nicht gelesen werden\",\n \"ra_Cannot read licenses: %s\": \"Lizenzen k\u00F6nnen nicht gelesen werden: %s\",\n \"ra_Cannot retrieve options, as instance is offline\": \"Optionen k\u00F6nnen nicht abgerufen werden, da die Instanz offline ist\",\n \"ra_Cannot update attribute, because not found in the object\": \"Attribut kann nicht aktualisiert werden, da es nicht im Objekt gefunden wurde\",\n \"ra_Cannot upload\": \"Kann nicht hochladen\",\n \"ra_Categories\": \"Kategorien\",\n \"ra_Chained certificate\": \"Chained Zertifikat\",\n \"ra_Change color theme\": \"Farbthema \u00E4ndern\",\n \"ra_Changed from\": \"Ge\u00E4ndert von\",\n \"ra_Channel \u2192 State\": \"Kanal \u2192 Zustand\",\n \"ra_Check license\": \"Lizenz pr\u00FCfen\",\n \"ra_Checked\": \"Gepr\u00FCft\",\n \"ra_Clear\": \"L\u00F6schen\",\n \"ra_Clear filter\": \"Filter l\u00F6schen\",\n \"ra_Clear icon\": \"Symbol l\u00F6schen\",\n \"ra_Clone current row\": \"Aktuelle Zeile klonen\",\n \"ra_Close\": \"Schlie\u00DFen\",\n \"ra_Collapse all nodes\": \"Alle Knoten zuklappen\",\n \"ra_Collapse one step node\": \"Eine Ebene zuklappen\",\n \"ra_Commercial\": \"Kommerziell\",\n \"ra_Configure\": \"Konfigurieren\",\n \"ra_Configure visible columns\": \"Spalten Konfigurieren\",\n \"ra_Confirm deletion of %s\": \"Das L\u00F6schen von %s best\u00E4tigen\",\n \"ra_Connected\": \"Verbunden\",\n \"ra_Copied\": \"Kopiert\",\n \"ra_Copied %s\": \"\\\"%s\\\" kopiert\",\n \"ra_Copy content\": \"Inhalte kopieren\",\n \"ra_Create\": \"Erstellen\",\n \"ra_Create alias\": \"Alias erstellen\",\n \"ra_Create folder\": \"Ordner erstellen\",\n \"ra_Create new folder in %s\": \"Neuen Ordner in \\\"%s\\\" erstellen\",\n \"ra_Crop\": \"Ernte\",\n \"ra_Define CRON...\": \"Definieren Sie CRON ...\",\n \"ra_Define functions\": \"Funktionen definieren\",\n \"ra_Define rooms\": \"R\u00E4ume definieren\",\n \"ra_Define schedule\": \"Zeitplan definieren\",\n \"ra_Define schedule...\": \"Zeitplan definieren ...\",\n \"ra_Del\": \"Entf\",\n \"ra_Delete\": \"L\u00F6schen\",\n \"ra_Delete (no confirm for 5 mins)\": \"L\u00F6schen (keine Best\u00E4tigung f\u00FCr 5 Minuten)\",\n \"ra_Delete current row\": \"Aktuelle Zeile l\u00F6schen\",\n \"ra_Deselect all\": \"Alles abw\u00E4hlen\",\n \"ra_Device \u2192 Channel \u2192 State\": \"Ger\u00E4t \u2192 Kanal \u2192 Zustand\",\n \"ra_Discard\": \"Verwerfen\",\n \"ra_Disconnected\": \"Getrennt\",\n \"ra_Do not export values of states\": \"Keine Zustandswerte exportieren\",\n \"ra_Do not use let's encrypt\": \"Let's encrypt nicht verwenden\",\n \"ra_Double click to reset table layout\": \"Doppelklicken, um das Tabellenlayout zur\u00FCckzusetzen\",\n \"ra_Drag 'n' drop some files here, or click to select files\": \"Die Datei hierher ziehen und ablegen, oder klicken, um die Datei auszuw\u00E4hlen\",\n \"ra_Drop file here\": \"Datei hier ablegen\",\n \"ra_Drop the files here...\": \"Datei hier ablegen...\",\n \"ra_Duplicate name\": \"Doppelter Name\",\n \"ra_Edit ACL\": \"ACL bearbeiten\",\n \"ra_Edit alias\": \"Alias bearbeiten\",\n \"ra_Edit custom config\": \"Bearbeite Benutzerdefinierte Konfiguration\",\n \"ra_Edit function\": \"Funktion bearbeiten\",\n \"ra_Edit object field\": \"Objektfeld bearbeiten\",\n \"ra_Edit role\": \"Rolle bearbeiten\",\n \"ra_Edit room\": \"Raum bearbeiten\",\n \"ra_Edit value\": \"Wert bearbeiten\",\n \"ra_Error\": \"Fehler\",\n \"ra_Expand all nodes\": \"Alle Knoten aufklappen\",\n \"ra_Expand one step node\": \"Eine Ebene aufklappen\",\n \"ra_Export data to %s file\": \"Daten in %s-Datei exportieren\",\n \"ra_Failed to open JSON File\": \"Fehler beim \u00D6ffnen der JSON-Datei\",\n \"ra_Fallback custom certificates\": \"Benutzerdefinierte Fallback-Zertifikate\",\n \"ra_File is too big. Max %sk allowed. Try use SVG.\": \"Datei ist zu gro\u00DF. Max %sk erlaubt. Versuchen Sie, SVG zu verwenden.\",\n \"ra_Filter\": \"Filter\",\n \"ra_Filter files\": \"Dateien filtern\",\n \"ra_Folder name\": \"Ordnernamen\",\n \"ra_Folder \u2192 Channel \u2192 State\": \"Ordner \u2192 Kanal \u2192 Zustand\",\n \"ra_Folder \u2192 Device \u2192 Channel \u2192 State\": \"Ordner \u2192 Ger\u00E4t \u2192 Kanal \u2192 Zustand\",\n \"ra_Folder \u2192 State\": \"Ordner \u2192 Zustand\",\n \"ra_Folders always first\": \"Ordner immer zuerst\",\n \"ra_Friday\": \"Freitag\",\n \"ra_Good luck\": \"Viel Gl\u00FCck\",\n \"ra_Hide empty folders\": \"Leere Ordner ausblenden\",\n \"ra_If no file will be created in the folder, it will disappear after the browser closed\": \"Wenn im Ordner keine Datei erstellt wird, verschwindet dieser nach dem Schlie\u00DFen des Browsers\",\n \"ra_Import data from %s file\": \"Daten aus %s-Datei importieren\",\n \"ra_Import from %s\": \"Von %s importieren\",\n \"ra_Instance %s is alive\": \"Instanz %s ist aktiv\",\n \"ra_Instance %s is not alive\": \"Instanz %s ist nicht aktiv\",\n \"ra_Instance is not alive\": \"Instanz ist nicht am Leben\",\n \"ra_Invalid CRON\": \"Ung\u00FCltiger CRON\",\n \"ra_Invalid JSON\": \"Ung\u00FCltiges JSON\",\n \"ra_Invalid answer from server\": \"Ung\u00FCltige Antwort vom Server\",\n \"ra_Invalid parent folder!\": \"Ung\u00FCltiger \u00FCbergeordneter Ordner!\",\n \"ra_Invalid structure\": \"Ung\u00FCltige Struktur\",\n \"ra_JSON editor\": \"JSON-Editor\",\n \"ra_Last change\": \"Letzte \u00C4nderung\",\n \"ra_Latitude\": \"Breite\",\n \"ra_License %s\": \"Lizenz %s\",\n \"ra_License agreement\": \"Lizenzvereinbarung\",\n \"ra_License does not exist\": \"Lizenz existiert nicht\",\n \"ra_License expired on %s\": \"Lizenz am %s abgelaufen\",\n \"ra_License for other product \\\"%s\\\"\": \"Lizenz f\u00FCr anderes Produkt \u201E%s\u201C\",\n \"ra_License is for version %s, but required version is %s.\": \"Lizenz ist f\u00FCr Version %s, aber erforderliche Version ist %s.\",\n \"ra_License must be converted\": \"Die Lizenz muss auf eine neuere Version konvertiert werden. Sie k\u00F6nnen dies in Ihrem iobroker.net-Profil tun.\",\n \"ra_License not found in license manager. Do you want to read licenses from iobroker.net?\": \"Lizenz im Lizenzmanager nicht gefunden. M\u00F6chten Sie Lizenzen von iobroker.net aktualisieren?\",\n \"ra_Listen on all IPs\": \"Zugriff von allen IPs zulassen\",\n \"ra_Load configuration from file\": \"Konfiguration aus Datei laden\",\n \"ra_Longitude\": \"L\u00E4ngengrad\",\n \"ra_May not trigger \\\"updateLicenses\\\"\": \"L\u00F6st m\u00F6glicherweise nicht \u201EupdateLicenses\u201C aus\",\n \"ra_Message\": \"Meldung\",\n \"ra_Monday\": \"Montag\",\n \"ra_Move down\": \"Nach unten\",\n \"ra_Move up\": \"Nach oben\",\n \"ra_Name\": \"Name\",\n \"ra_No data found in file\": \"Keine Daten in der Datei gefunden\",\n \"ra_No one license found in license manager\": \"Im Lizenzmanager wurde keine Lizenz gefunden\",\n \"ra_No response from the backend\": \"Keine Antwort vom Backend\",\n \"ra_Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\": \"Nicht-Experten d\u00FCrfen neue Objekte nur in \\\"0_userdata.0\\\" oder \\\"alias.0\\\" erstellen.\",\n \"ra_Not a number\": \"Keine Nummer\",\n \"ra_Objects\": \"Objekte\",\n \"ra_Ok\": \"OK\",\n \"ra_On weekdays\": \"An Wochentagen\",\n \"ra_Only following structures of objects are available:\": \"Es stehen nur folgende Objektstrukturen zur Verf\u00FCgung:\",\n \"ra_Only selected\": \"Nur ausgew\u00E4hlt\",\n \"ra_Owner group\": \"Besitzergruppe\",\n \"ra_Owner user\": \"Besitzer Benutzer\",\n \"ra_Passwords are not equal!\": \"Passw\u00F6rter sind nicht gleich!\",\n \"ra_Place your files here or click here to open the browse dialog\": \"Die Dateien hier platzieren oder hier klicken, um den Suchdialog zu \u00F6ffnen\",\n \"ra_Please confirm\": \"Bitte best\u00E4tigen\",\n \"ra_Please create license\": \"Bitte erstellen Sie eine Lizenz\",\n \"ra_Please enter the license\": \"Bitte die Lizenz eingeben\",\n \"ra_Please select file...\": \"Bitte Datei ausw\u00E4hlen...\",\n \"ra_Please select object ID...\": \"Bitte Objekt-ID ausw\u00E4hlen...\",\n \"ra_Port could be used by %s\": \"Port k\u00F6nnte von %s verwendet werden\",\n \"ra_Port is already used by %s\": \"Port wird bereits von %s verwendet\",\n \"ra_Private certificate\": \"Privates Zertifikat\",\n \"ra_Product\": \"Produkt\",\n \"ra_Public certificate\": \"\u00D6ffentliches Zertifikat\",\n \"ra_Quality code\": \"Qualit\u00E4t\",\n \"ra_Refresh tree\": \"Baum aktualisieren\",\n \"ra_Reload files\": \"Dateien neu laden\",\n \"ra_Repeat\": \"Wiederholen\",\n \"ra_Replace\": \"Ersetzen\",\n \"ra_Request timed out\": \"Zeit\u00FCberschreitung der Anforderung\",\n \"ra_Restrict to folder\": \"Auf Ordner beschr\u00E4nken\",\n \"ra_Root\": \"Anfang\",\n \"ra_Saturday\": \"Samstag\",\n \"ra_Save\": \"Speichern\",\n \"ra_Save and close\": \"Speichern und schlie\u00DFen\",\n \"ra_Save configuration to file\": \"Konfiguration in Datei speichern\",\n \"ra_Save objects tree as JSON file\": \"Objektbaum als JSON-Datei speichern\",\n \"ra_Select all\": \"Alle ausw\u00E4hlen\",\n \"ra_Select color\": \"W\u00E4hle Farbe\",\n \"ra_Select predefined icon\": \"Vordefiniertes Symbol ausw\u00E4hlen\",\n \"ra_Select type of export\": \"Die Art des Exports ausw\u00E4hlen \",\n \"ra_Selected\": \"Ausgew\u00E4hlt\",\n \"ra_Selected %s object(s)\": \"Ausgew\u00E4hlt %s Objekt(en)\",\n \"ra_Serial number (UUID)\": \"Seriennummer (UUID)\",\n \"ra_Serial number (UUID) \\\"%s\\\" in license is for other device.\": \"Seriennummer (UUID) \u201E%s\u201C in der Lizenz gilt f\u00FCr ein anderes Ger\u00E4t.\",\n \"ra_Show all folders\": \"Alle Ordner anzeigen\",\n \"ra_Show lines between rows\": \"Linien zwischen Zeilen anzeigen\",\n \"ra_Show/Hide object descriptions\": \"Objektbeschreibungen ein-/ausblenden\",\n \"ra_Show/hide filter input\": \"Filtereingabe ein-/ausblenden\",\n \"ra_Some data are not stored. Discard?\": \"Einige Daten werden nicht gespeichert. Verwerfen?\",\n \"ra_States\": \"Zust\u00E4nde\",\n \"ra_Suitable license not found in license manager\": \"Passende Lizenz im Lizenzmanager nicht gefunden\",\n \"ra_Sunday\": \"Sonntag\",\n \"ra_Suppress question for next %s minutes\": \"Frage f\u00FCr die n\u00E4chsten %s Minuten unterdr\u00FCcken\",\n \"ra_System language\": \"Systemsprache\",\n \"ra_Take browser position\": \"Position vom Browser einnehmen\",\n \"ra_Take position from system settings\": \"Position aus den Systemeinstellungen \u00FCbernehmen\",\n \"ra_The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\": \"Die Experten k\u00F6nnen Objekte \u00FCberall erstellen, au\u00DFer auf der zweiten Ebene (z. B. \\\"vis.0\\\" oder \\\"javascript.0\\\").\",\n \"ra_The page you are looking for was not found\": \"Die gesuchte Seite wurde nicht gefunden\",\n \"ra_The schedule will be executed every minute. Are you sure?\": \"Der Zeitplan wird jede Minute ausgef\u00FChrt. Sind Sie sicher?\",\n \"ra_The schedule will be executed every second. Are you sure?\": \"Der Zeitplan wird jede Sekunde ausgef\u00FChrt. Sind Sie sicher?\",\n \"ra_Thursday\": \"Donnerstag\",\n \"ra_Timestamp\": \"Zeitstempel\",\n \"ra_Toggle expert mode\": \"Expertenmodus umschalten\",\n \"ra_Toggle the states view\": \"Statusansicht umschalten\",\n \"ra_Toggle view mode\": \"Ansichtsmodus umschalten\",\n \"ra_Too big\": \"Zu gro\u00DF\",\n \"ra_Too small\": \"Zu klein\",\n \"ra_Transparent dialog\": \"Transparenter Dialog\",\n \"ra_Tuesday\": \"Dienstag\",\n \"ra_Unknown error\": \"Unbekannter Fehler\",\n \"ra_Unknown error!\": \"Unbekannter Fehler!\",\n \"ra_Update\": \"Aktualisieren\",\n \"ra_Upload file\": \"Datei hochladen\",\n \"ra_Use all available let's encrypt certificates\": \"Alle verf\u00FCgbaren Zertifikate von Let's encrypt benutzen\",\n \"ra_Use iobroker.acme adapter for letsencrypt certificates\": \"ioBroker.acme-Adapter f\u00FCr letsencrypt-Zertifikate verwenden\",\n \"ra_Use system settings for position\": \"Systemeinstellungen f\u00FCr die Position verwenden\",\n \"ra_Used system settings\": \"Systemeinstellungen\",\n \"ra_User files\": \"Benutzerdaten\",\n \"ra_ValidTill\": \"G\u00FCltig bis\",\n \"ra_Value\": \"Wert\",\n \"ra_Version\": \"Ausf\u00FChrung\",\n \"ra_View file\": \"Datei ansehen\",\n \"ra_View: %s\": \"Anschauen: %s\",\n \"ra_Wednesday\": \"Mittwoch\",\n \"ra_Width\": \"Breite\",\n \"ra_Yes\": \"Ja\",\n \"ra_You can export all objects or just the selected branch.\": \"Sie k\u00F6nnen alle Objekte oder nur den ausgew\u00E4hlten Zweig exportieren.\",\n \"ra_You can filter entries by entering here some text\": \"Sie k\u00F6nnen Eintr\u00E4ge filtern, indem Sie hier Text eingeben\",\n \"ra___different__\": \"unterschiedlich\",\n \"ra_aclEveryone_read_object\": \"Jeder kann Objekt lesen\",\n \"ra_aclEveryone_read_state\": \"Jeder kann Zustand lesen\",\n \"ra_aclEveryone_write_object\": \"Jeder kann ein Objekt schreiben\",\n \"ra_aclEveryone_write_state\": \"Jeder kann Zustand schreiben\",\n \"ra_aclGroup_read_object\": \"Gruppe kann Objekt lesen\",\n \"ra_aclGroup_read_state\": \"Gruppe kann Status lesen\",\n \"ra_aclGroup_write_object\": \"Gruppe kann Objekt schreiben\",\n \"ra_aclGroup_write_state\": \"Gruppe kann Status schreiben\",\n \"ra_aclOwner_read_object\": \"Besitzer kann Objekt lesen\",\n \"ra_aclOwner_read_state\": \"Besitzer kann Zustand lesen\",\n \"ra_aclOwner_write_object\": \"Besitzer kann Objekt schreiben\",\n \"ra_aclOwner_write_state\": \"Besitzer kann Zustand schreiben\",\n \"ra_buttons\": \"Tasten\",\n \"ra_changedFrom\": \"Ge\u00E4ndert von\",\n \"ra_close\": \"Schlie\u00DFen\",\n \"ra_create_boolean_state\": \"Booleschen Zustand erstellen\",\n \"ra_create_channel\": \"Kanal erstellen\",\n \"ra_create_device\": \"Ger\u00E4t erstellen\",\n \"ra_create_number_state\": \"Nummern-Zustand erstellen\",\n \"ra_create_state\": \"Zustand erstellen\",\n \"ra_create_string_state\": \"String-Zustand erstellen\",\n \"ra_daysShortText\": \"T.\",\n \"ra_dow_Fr\": \"Fr\",\n \"ra_dow_Mo\": \"Mo\",\n \"ra_dow_Sa\": \"Sa\",\n \"ra_dow_Su\": \"So\",\n \"ra_dow_Th\": \"Do\",\n \"ra_dow_Tu\": \"Di\",\n \"ra_dow_We\": \"Mi\",\n \"ra_expertMode\": \"Expertenmodus\",\n \"ra_fileType_all\": \"Alle Dateien\",\n \"ra_fileType_audio\": \"Audio\",\n \"ra_fileType_code\": \"Code/JSON\",\n \"ra_fileType_images\": \"Bilder\",\n \"ra_fileType_txt\": \"Text\",\n \"ra_fileType_video\": \"Video\",\n \"ra_fileType_video,\": \"Video\",\n \"ra_filter_customs\": \"Einstellungen\",\n \"ra_filter_customs_without\": \"ohne\",\n \"ra_filter_func\": \"Funktion\",\n \"ra_filter_id\": \"ID\",\n \"ra_filter_name\": \"Name\",\n \"ra_filter_role\": \"Rolle\",\n \"ra_filter_room\": \"Raum\",\n \"ra_filter_type\": \"Typ\",\n \"ra_import data from %s file\": \"Daten aus %s-Datei importieren\",\n \"ra_invalidConfig\": \"Ung\u00FCltige Einstellungen\",\n \"ra_lastChange\": \"Letzte \u00C4nderung\",\n \"ra_locally\": \"\u00F6rtlich\",\n \"ra_month_Apr\": \"Apr\",\n \"ra_month_Aug\": \"Aug\",\n \"ra_month_Dec\": \"Dez\",\n \"ra_month_Feb\": \"Feb\",\n \"ra_month_Jan\": \"Jan\",\n \"ra_month_Jul\": \"Jul\",\n \"ra_month_Jun\": \"Jun\",\n \"ra_month_Mai\": \"Mai\",\n \"ra_month_Mar\": \"M\u00E4r\",\n \"ra_month_Nov\": \"Nov\",\n \"ra_month_Oct\": \"Okt\",\n \"ra_month_Sep\": \"Sep\",\n \"ra_months_Apr\": \"Apr\",\n \"ra_months_Aug\": \"Aug\",\n \"ra_months_Dec\": \"Dez\",\n \"ra_months_Feb\": \"Feb\",\n \"ra_months_Jan\": \"Jan\",\n \"ra_months_Jul\": \"Jul\",\n \"ra_months_Jun\": \"Jun\",\n \"ra_months_Mai\": \"Mai\",\n \"ra_months_Mar\": \"M\u00E4r\",\n \"ra_months_Nov\": \"Nov\",\n \"ra_months_Oct\": \"Okt\",\n \"ra_months_Sep\": \"Sep\",\n \"ra_none\": \"kein\",\n \"ra_object_changed_by\": \"Objekt ge\u00E4ndert von\",\n \"ra_object_changed_by_user\": \"Objekt zuletzt ge\u00E4ndert um\",\n \"ra_otherConfig\": \"Einstellungen von anderen Adaptern %s\",\n \"ra_qualityCode\": \"Qualit\u00E4tscode\",\n \"ra_repeat\": \"wiederholen\",\n \"ra_select_folder_hint\": \"Um einen Ordner auszuw\u00E4hlen, halten Sie einfach die Taste \\\"Shift\\\" gedr\u00FCckt, indem Sie auf den Ordner klicken.\",\n \"ra_state_changed_by\": \"Zustand ge\u00E4ndert durch\",\n \"ra_state_changed_from\": \"Objekt ge\u00E4ndert von\",\n \"ra_timestamp\": \"Zeitstempel\",\n \"ra_tooltip_ack\": \"Best\u00E4tigt\",\n \"ra_tooltip_comment\": \"Kommentar\",\n \"ra_tooltip_copyState\": \"Statuswert kopieren\",\n \"ra_tooltip_customConfig\": \"Benutzerdefinierte Einstellungen\",\n \"ra_tooltip_deleteObject\": \"Objekt l\u00F6schen\",\n \"ra_tooltip_editObject\": \"Objekt bearbeiten\",\n \"ra_tooltip_editState\": \"Statuswert bearbeiten\",\n \"ra_tooltip_from\": \"Von\",\n \"ra_tooltip_lc\": \"Zuletzt ge\u00E4ndert\",\n \"ra_tooltip_quality\": \"Qualit\u00E4t\",\n \"ra_tooltip_ts\": \"Zeitstempel\",\n \"ra_tooltip_user\": \"Benutzer\",\n \"ra_tooltip_value\": \"Wert\",\n \"ra_use seconds\": \"Sekunden benutzen\",\n \"ra_val\": \"Wert\",\n \"ra_via internet\": \"\u00FCbers Internet\",\n \"ra_warning_every_minute\": \"Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Minute ausgef\u00FChrt!\",\n \"ra_warning_every_second\": \"Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Sekunde ausgef\u00FChrt!\",\n \"sc_cron\": \"CRON\",\n \"sc_date\": \"Datum\",\n \"sc_dates\": \"Tage\",\n \"sc_dow\": \"Tag\",\n \"sc_dows\": \"Wochentage\",\n \"sc_every\": \"Jeden\",\n \"sc_everyN_dates\": \"alle N Tage\",\n \"sc_everyN_dow\": \"jeden x-ten Tag der Woche\",\n \"sc_everyN_dows\": \"alle N Wochentage\",\n \"sc_everyN_hours\": \"alle N Stunden\",\n \"sc_everyN_minutes\": \"alle N Minuten\",\n \"sc_everyN_months\": \"alle N Monate\",\n \"sc_everyN_seconds\": \"alle N Sekunden\",\n \"sc_every_dates\": \"jeden Tag\",\n \"sc_every_dow\": \"jeden Tag der Woche\",\n \"sc_every_dows\": \"jeden Tag der Woche\",\n \"sc_every_hours\": \"jede Stunde\",\n \"sc_every_minutes\": \"jede Minute\",\n \"sc_every_months\": \"jeden Monat\",\n \"sc_every_seconds\": \"jede Sekunde\",\n \"sc_from\": \"Von\",\n \"sc_hours\": \"Stunden\",\n \"sc_interval\": \"Intervall\",\n \"sc_intervalBetween\": \"Intervall zwischen\",\n \"sc_invalid_cron\": \"Ung\u00FCltiger CRON\",\n \"sc_minutes\": \"Minuten\",\n \"sc_months\": \"Monate\",\n \"sc_once\": \"Einmal\",\n \"sc_period\": \"Zeitraum\",\n \"sc_seconds\": \"Sekunden\",\n \"sc_simple\": \"Einfach\",\n \"sc_specific\": \"Bestimmte Zeit\",\n \"sc_specific_dates\": \"bestimmte Tage\",\n \"sc_specific_dow\": \"bestimmte(r) Tag(e) der Woche\",\n \"sc_specific_dows\": \"bestimmten Wochentag\",\n \"sc_specific_hours\": \"bestimmte Stunden\",\n \"sc_specific_minutes\": \"bestimmte Minuten\",\n \"sc_specific_months\": \"bestimmte Monate\",\n \"sc_specific_seconds\": \"bestimmte Sekunden\",\n \"sc_time\": \"Zeit\",\n \"sc_to\": \"Bis\",\n \"sc_wizard\": \"Wizard\",\n \"sch_all\": \"alle\",\n \"sch_astroDay\": \"Astronomischer Tag\",\n \"sch_astroNight\": \"Astronomische Nacht\",\n \"sch_astro_dawn\": \"Morgend\u00E4mmerung\",\n \"sch_astro_dusk\": \"Abendd\u00E4mmerung\",\n \"sch_astro_goldenHour\": \"Goldene Stunde\",\n \"sch_astro_goldenHourEnd\": \"Goldene Stundenende\",\n \"sch_astro_nadir\": \"Nadir\",\n \"sch_astro_nauticalDawn\": \"Nautische Morgend\u00E4mmerung\",\n \"sch_astro_nauticalDusk\": \"Nautische Abendd\u00E4mmerung\",\n \"sch_astro_night\": \"Nacht\",\n \"sch_astro_nightEnd\": \"Nachtende\",\n \"sch_astro_solarNoon\": \"Sonnenmittag\",\n \"sch_astro_sunrise\": \"Sonnenaufgang\",\n \"sch_astro_sunriseEnd\": \"Sonnenaufgangende\",\n \"sch_astro_sunset\": \"Sonnenuntergang\",\n \"sch_astro_sunsetStart\": \"Sonnenuntergangstart\",\n \"sch_at\": \"am\",\n \"sch_desc_atTime\": \"um %s\",\n \"sch_desc_everyDay\": \"jeden Tag\",\n \"sch_desc_everyHour\": \"jede Stunde\",\n \"sch_desc_everyMinute\": \"jede Minute\",\n \"sch_desc_everyMonth\": \"jeden Monat\",\n \"sch_desc_everyNDay\": \"jeden %s Tag\",\n \"sch_desc_everyNHours\": \"alle %s Stunden\",\n \"sch_desc_everyNMinutes\": \"alle %s Minuten\",\n \"sch_desc_everyNMonths\": \"alle %s Monate\",\n \"sch_desc_everyNWeeks\": \"alle %s Wochen\",\n \"sch_desc_everyNYears\": \"alle %s Jahre\",\n \"sch_desc_everyWeek\": \"jede Woche\",\n \"sch_desc_everyYear\": \"jedes Jahr\",\n \"sch_desc_intervalFromTo\": \"von %s bis %s\",\n \"sch_desc_never\": \"noch nie\",\n \"sch_desc_onDate\": \"am %s von %s\",\n \"sch_desc_onDates\": \"am %s und %s von\",\n \"sch_desc_onEveryDate\": \"an jedem Datum von\",\n \"sch_desc_onMonth\": \"%s\",\n \"sch_desc_onMonths\": \"%s und %s\",\n \"sch_desc_onWeekday\": \"auf %s\",\n \"sch_desc_onWeekdays\": \"auf %s und %s\",\n \"sch_desc_onWeekends\": \"an Wochenenden\",\n \"sch_desc_onWorkdays\": \"an Werktagen\",\n \"sch_desc_onceInPast\": \"wird nicht mehr ausgef\u00FChrt, weil der Start in der Vergangenheit ist\",\n \"sch_desc_once_on\": \"auf %s\",\n \"sch_desc_validFrom\": \"von %s\",\n \"sch_desc_validFromTo\": \"Ausf\u00FChren von bis\",\n \"sch_desc_validTo\": \"bis %s\",\n \"sch_every\": \"jeden\",\n \"sch_exactTime\": \"Bestimmte Zeit\",\n \"sch_from\": \"von\",\n \"sch_fromTo\": \"Von bis\",\n \"sch_intervalTime\": \"Zeitintervall\",\n \"sch_invert\": \"umkehren\",\n \"sch_no_one\": \"keiner\",\n \"sch_on\": \"am\",\n \"sch_period\": \"Zeitraum\",\n \"sch_periodDaily\": \"T\u00E4glich\",\n \"sch_periodDates\": \"Daten\",\n \"sch_periodDay\": \"Tag\",\n \"sch_periodEvery\": \"Jeden\",\n \"sch_periodEveryDay\": \"Jeden Tag\",\n \"sch_periodEveryMonth\": \"Jeden Monat\",\n \"sch_periodEveryWeek\": \"Jede Woche\",\n \"sch_periodEveryYear\": \"Jedes Jahr\",\n \"sch_periodHours\": \"Stunden\",\n \"sch_periodMinutes\": \"Minuten\",\n \"sch_periodMonth\": \"Monat\",\n \"sch_periodMonthly\": \"Monatlich\",\n \"sch_periodOnce\": \"Einmal\",\n \"sch_periodSpecificMonths\": \"Bestimmte Monate\",\n \"sch_periodWeek\": \"Woche\",\n \"sch_periodWeekdays\": \"Wochentage\",\n \"sch_periodWeekend\": \"Wochenende\",\n \"sch_periodWeekly\": \"W\u00F6chentlich\",\n \"sch_periodWorkdays\": \"Arbeitstage\",\n \"sch_periodYear\": \"Jahr\",\n \"sch_periodYearly\": \"J\u00E4hrlich\",\n \"sch_specificTime\": \"Bestimmte Zeit\",\n \"sch_time\": \"Zeit\",\n \"sch_to\": \"zu\",\n \"sch_valid\": \"G\u00FCltigkeit\",\n \"sch_validFrom\": \"von\",\n \"sch_validTo\": \"bis\",\n \"sch_wholeDay\": \"Ganzer Tag\",\n \"sch_yearEveryMonth\": \"jeden Monat\"\n}\n", "{\n \"ra_%s links from aliases\": \"%s \u0441\u0441\u044B\u043B\u043E\u043A \u0438\u0437 \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0438\u043C\u043E\u0432\",\n \"ra_%s object(s) processed\": \"\u041E\u0431\u044A\u0435\u043A\u0442\u043E\u0432 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u0430\u043D\u043E: %s\",\n \"ra_%s was imported\": \"%s \u0431\u044B\u043B \u0438\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\",\n \"ra_Accept license\": \"\u041F\u0440\u0438\u043D\u044F\u0442\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E\",\n \"ra_Add new child object to selected parent\": \"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u0434\u043E\u0447\u0435\u0440\u043D\u0438\u0439 \u043E\u0431\u044A\u0435\u043A\u0442 \u043A \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u043C\u0443 \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u043C\u0443 \u043E\u0431\u044A\u0435\u043A\u0442\u0443\",\n \"ra_Add objects tree from JSON file\": \"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0434\u0435\u0440\u0435\u0432\u043E \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432 \u0438\u0437 \u0444\u0430\u0439\u043B\u0430 JSON\",\n \"ra_Add row\": \"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0440\u044F\u0434\",\n \"ra_Advanced options\": \"\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438\",\n \"ra_All items are filtered out\": \"\u0412\u0441\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043E\u0442\u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u043D\u044B\",\n \"ra_All objects\": \"\u0412\u0441\u0435 \u043E\u0431\u044A\u0435\u043A\u0442\u044B\",\n \"ra_Append\": \"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C\",\n \"ra_Append %s entries or replace existing?\": \"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0437\u0430\u043F\u0438\u0441\u0438 %s \u0438\u043B\u0438 \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0435?\",\n \"ra_Append or replace?\": \"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0438\u043B\u0438 \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C?\",\n \"ra_Are you sure?\": \"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B?\",\n \"ra_Auto (no custom columns)\": \"\u0410\u0432\u0442\u043E (\u0431\u0435\u0437 \u043D\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043C\u044B\u0445 \u0441\u0442\u043E\u043B\u0431\u0446\u043E\u0432)\",\n \"ra_Back to %s\": \"\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043A %s\",\n \"ra_Background image\": \"\u0424\u043E\u043D\u043E\u0432\u0430\u044F \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430\",\n \"ra_Cancel\": \"\u041E\u0442\u043C\u0435\u043D\u0430\",\n \"ra_Cannot add items with set filter\": \"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0441 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044B\u043C \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u043C\",\n \"ra_Cannot decode license\": \"\u041D\u0435 \u043C\u043E\u0433\u0443 \u0434\u0435\u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E\",\n \"ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser\": \"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u043C\u0435\u0441\u0442\u043E\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435: \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043F\u0443\u0441\u0442\u044B, \u0430 \u043E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u0438\u0435 GPS \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u043E \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435.\",\n \"ra_Cannot find \\\"%s\\\"\": \"\u041D\u0435 \u043C\u043E\u0433\u0443 \u043D\u0430\u0439\u0442\u0438 \\\"%s\\\"\",\n \"ra_Cannot read \\\"%s\\\"\": \"\u041D\u0435 \u043C\u043E\u0433\u0443 \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \\\"%s\\\"\",\n \"ra_Cannot read licenses: %s\": \"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438: %s\",\n \"ra_Cannot retrieve options, as instance is offline\": \"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B, \u0442\u0430\u043A \u043A\u0430\u043A \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0441\u044F \u0432 \u0430\u0432\u0442\u043E\u043D\u043E\u043C\u043D\u043E\u043C \u0440\u0435\u0436\u0438\u043C\u0435.\",\n \"ra_Cannot update attribute, because not found in the object\": \"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0430\u0442\u0440\u0438\u0431\u0443\u0442, \u043F\u043E\u0442\u043E\u043C\u0443 \u0447\u0442\u043E \u043E\u043D \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u0432 \u043E\u0431\u044A\u0435\u043A\u0442\u0435\",\n \"ra_Cannot upload\": \"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C\",\n \"ra_Categories\": \"\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438\",\n \"ra_Chained certificate\": \"Chained \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442\",\n \"ra_Change color theme\": \"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0446\u0432\u0435\u0442\u043E\u0432\u0443\u044E \u0442\u0435\u043C\u0443\",\n \"ra_Changed from\": \"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u043E\",\n \"ra_Channel \u2192 State\": \"\u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_Check license\": \"\u041F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E\",\n \"ra_Checked\": \"\u041F\u0440\u043E\u0432\u0435\u0440\u0435\u043D\u043E\",\n \"ra_Clear\": \"\u0423\u0434\u0430\u043B\u0438\u0442\u044C\",\n \"ra_Clear filter\": \"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440\",\n \"ra_Clear icon\": \"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u043E\u043A\",\n \"ra_Clone current row\": \"\u041A\u043B\u043E\u043D\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443\",\n \"ra_Close\": \"\u0417\u0430\u043A\u0440\u044B\u0442\u044C\",\n \"ra_Collapse all nodes\": \"\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435 \u0443\u0437\u043B\u044B\",\n \"ra_Collapse one step node\": \"\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u043E\u0434\u0438\u043D \u0443\u0440\u043E\u0432\u0435\u043D\u044C\",\n \"ra_Commercial\": \"\u041A\u043E\u043C\u043C\u0435\u0440\u0447\u0435\u0441\u043A\u0430\u044F\",\n \"ra_Configure\": \"\u041D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C\",\n \"ra_Configure visible columns\": \"\u041D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0432\u0438\u0434\u0438\u043C\u044B\u0435 \u0441\u0442\u043E\u043B\u0431\u0446\u044B\",\n \"ra_Confirm deletion of %s\": \"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435 %s\",\n \"ra_Connected\": \"\u0421\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E\",\n \"ra_Copied\": \"\u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u043E\",\n \"ra_Copied %s\": \"\u0421\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u043E \\\"%s\\\"\",\n \"ra_Copy content\": \"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435\",\n \"ra_Create\": \"\u0421\u043E\u0437\u0434\u0430\u0442\u044C\",\n \"ra_Create alias\": \"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0438\u043C\",\n \"ra_Create folder\": \"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0443\",\n \"ra_Create new folder in %s\": \"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u0443\u044E \u043F\u0430\u043F\u043A\u0443 \u0432 %s\",\n \"ra_Crop\": \"\u041E\u0431\u0440\u0435\u0437\u0430\u0442\u044C\",\n \"ra_Define CRON...\": \"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u0435 CRON...\",\n \"ra_Define functions\": \"\u0417\u0430\u0434\u0430\u0442\u044C \u0444\u0443\u043D\u043A\u0446\u0438\u0438\",\n \"ra_Define rooms\": \"\u0417\u0430\u0434\u0430\u0442\u044C \u043A\u043E\u043C\u043D\u0430\u0442\u044B\",\n \"ra_Define schedule\": \"\u0417\u0430\u0434\u0430\u0442\u044C \u0440\u0430\u0441\u043F\u0438\u0441\u0430\u043D\u0438\u0435\",\n \"ra_Define schedule...\": \"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u0440\u0430\u0441\u043F\u0438\u0441\u0430\u043D\u0438\u0435 ...\",\n \"ra_Del\": \"Delete\",\n \"ra_Delete\": \"\u0423\u0434\u0430\u043B\u0438\u0442\u044C\",\n \"ra_Delete (no confirm for 5 mins)\": \"\u0423\u0434\u0430\u043B\u0438\u0442\u044C (\u0431\u0435\u0437 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0432 \u0442\u0435\u0447\u0435\u043D\u0438\u0435 5 \u043C\u0438\u043D\u0443\u0442)\",\n \"ra_Delete current row\": \"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443\",\n \"ra_Deselect all\": \"\u0423\u0431\u0440\u0430\u0442\u044C \u0432\u044B\u0431\u043E\u0440 \u0432\u0435\u0437\u0434\u0435\",\n \"ra_Device \u2192 Channel \u2192 State\": \"\u0423\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_Discard\": \"\u041E\u0442\u043A\u0430\u0437\u0430\u0442\u044C\u0441\u044F\",\n \"ra_Disconnected\": \"\u041E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u043E\",\n \"ra_Do not export values of states\": \"\u041D\u0435 \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0439\",\n \"ra_Do not use let's encrypt\": \"\u041D\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C Let\u2019s Encrypt\",\n \"ra_Double click to reset table layout\": \"\u0414\u0432\u0430\u0436\u0434\u044B \u0449\u0435\u043B\u043A\u043D\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0441\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043C\u0430\u043A\u0435\u0442 \u0442\u0430\u0431\u043B\u0438\u0446\u044B\",\n \"ra_Drag 'n' drop some files here, or click to select files\": \"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0441\u044E\u0434\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0444\u0430\u0439\u043B\u043E\u0432 \u0438\u043B\u0438 \u0449\u0435\u043B\u043A\u043D\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B\",\n \"ra_Drop file here\": \"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0444\u0430\u0439\u043B \u0441\u044E\u0434\u0430\",\n \"ra_Drop the files here...\": \"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0444\u0430\u0439\u043B \u0441\u044E\u0434\u0430 ...\",\n \"ra_Duplicate name\": \"\u041F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0435\u0435\u0441\u044F \u0438\u043C\u044F\",\n \"ra_Edit ACL\": \"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C ACL-\u0441\u043F\u0438\u0441\u043E\u043A\",\n \"ra_Edit alias\": \"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0438\u043C\",\n \"ra_Edit custom config\": \"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043C\u0443\u044E \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E\",\n \"ra_Edit function\": \"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0444\u0443\u043D\u043A\u0446\u0438\u044E\",\n \"ra_Edit object field\": \"\u041F\u043E\u043B\u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u043E\u0431\u044A\u0435\u043A\u0442\u0430\",\n \"ra_Edit role\": \"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0440\u043E\u043B\u044C\",\n \"ra_Edit room\": \"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043A\u043E\u043C\u043D\u0430\u0442\u0443\",\n \"ra_Edit value\": \"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\",\n \"ra_Error\": \"\u041E\u0448\u0438\u0431\u043A\u0430\",\n \"ra_Expand all nodes\": \"\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435 \u0443\u0437\u043B\u044B\",\n \"ra_Expand one step node\": \"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043E\u0434\u0438\u043D \u0443\u0440\u043E\u0432\u0435\u043D\u044C\",\n \"ra_Export data to %s file\": \"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0434\u0430\u043D\u043D\u044B\u0445 \u0432 \u0444\u0430\u0439\u043B %s\",\n \"ra_Failed to open JSON File\": \"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0444\u0430\u0439\u043B JSON\",\n \"ra_Fallback custom certificates\": \"\u0420\u0435\u0437\u0435\u0440\u0432\u043D\u044B\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u044B\",\n \"ra_File is too big. Max %sk allowed. Try use SVG.\": \"\u0424\u0430\u0439\u043B \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0439. \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u043E \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E %sk. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C SVG.\",\n \"ra_Filter\": \"\u0424\u0438\u043B\u044C\u0442\u0440\",\n \"ra_Filter files\": \"\u0424\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B\",\n \"ra_Folder name\": \"\u0418\u043C\u044F \u043F\u0430\u043F\u043A\u0438\",\n \"ra_Folder \u2192 Channel \u2192 State\": \"\u041F\u0430\u043F\u043A\u0430 \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_Folder \u2192 Device \u2192 Channel \u2192 State\": \"\u041F\u0430\u043F\u043A\u0430 \u2192 \u0423\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_Folder \u2192 State\": \"\u041F\u0430\u043F\u043A\u0430 \u2192 \u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_Folders always first\": \"\u041F\u0430\u043F\u043A\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u043D\u0430 \u043F\u0435\u0440\u0432\u043E\u043C \u043C\u0435\u0441\u0442\u0435\",\n \"ra_Friday\": \"\u041F\u044F\u0442\u043D\u0438\u0446\u0430\",\n \"ra_Good luck\": \"\u0423\u0434\u0430\u0447\u0438\",\n \"ra_Hide empty folders\": \"\u0421\u043A\u0440\u044B\u0442\u044C \u043F\u0443\u0441\u0442\u044B\u0435 \u043F\u0430\u043F\u043A\u0438\",\n \"ra_If no file will be created in the folder, it will disappear after the browser closed\": \"\u0415\u0441\u043B\u0438 \u0432 \u043F\u0430\u043F\u043A\u0435 \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u043E\u0437\u0434\u0430\u043D \u0444\u0430\u0439\u043B, \u043E\u043D \u0438\u0441\u0447\u0435\u0437\u043D\u0435\u0442 \u043F\u043E\u0441\u043B\u0435 \u0437\u0430\u043A\u0440\u044B\u0442\u0438\u044F \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430.\",\n \"ra_Import data from %s file\": \"\u0418\u043C\u043F\u043E\u0440\u0442 \u0434\u0430\u043D\u043D\u044B\u0445 \u0438\u0437 \u0444\u0430\u0439\u043B\u0430 %s\",\n \"ra_Import from %s\": \"\u0418\u043C\u043F\u043E\u0440\u0442 \u0438\u0437 %s\",\n \"ra_Instance %s is alive\": \"\u042D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 %s \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442\",\n \"ra_Instance %s is not alive\": \"\u042D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 %s \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442\",\n \"ra_Instance is not alive\": \"\u042D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u043D\u0435 \u0436\u0438\u0432\u043E\u0439\",\n \"ra_Invalid CRON\": \"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 CRON\",\n \"ra_Invalid JSON\": \"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 JSON\",\n \"ra_Invalid answer from server\": \"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043E\u0442\u0432\u0435\u0442 \u043E\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\",\n \"ra_Invalid parent folder!\": \"\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u0430\u044F \u043F\u0430\u043F\u043A\u0430!\",\n \"ra_Invalid structure\": \"\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0430\",\n \"ra_JSON editor\": \"\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 JSON\",\n \"ra_Last change\": \"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435\",\n \"ra_Latitude\": \"\u0428\u0438\u0440\u043E\u0442\u0430\",\n \"ra_License %s\": \"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F %s\",\n \"ra_License agreement\": \"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u043E\u043D\u043D\u043E\u0435 \u0441\u043E\u0433\u043B\u0430\u0448\u0435\u043D\u0438\u0435\",\n \"ra_License does not exist\": \"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442\",\n \"ra_License expired on %s\": \"\u0421\u0440\u043E\u043A \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438 \u0438\u0441\u0442\u0435\u043A %s\",\n \"ra_License for other product \\\"%s\\\"\": \"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043D\u0430 \u0434\u0440\u0443\u0433\u043E\u0439 \u043F\u0440\u043E\u0434\u0443\u043A\u0442 \\\"%s\\\"\",\n \"ra_License is for version %s, but required version is %s.\": \"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043F\u0440\u0435\u0434\u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0430 \u0434\u043B\u044F \u0432\u0435\u0440\u0441\u0438\u0438 %s, \u043D\u043E \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u0430 \u0432\u0435\u0440\u0441\u0438\u044F %s.\",\n \"ra_License must be converted\": \"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u0434\u043E\u043B\u0436\u043D\u0430 \u0431\u044B\u0442\u044C \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0430 \u0432 \u0431\u043E\u043B\u0435\u0435 \u043D\u043E\u0432\u0443\u044E \u0432\u0435\u0440\u0441\u0438\u044E. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u044D\u0442\u043E \u0432 \u0441\u0432\u043E\u0435\u043C \u043F\u0440\u043E\u0444\u0438\u043B\u0435 \u043D\u0430 iobroker.net.\",\n \"ra_License not found in license manager. Do you want to read licenses from iobroker.net?\": \"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u0432 \u0434\u0438\u0441\u043F\u0435\u0442\u0447\u0435\u0440\u0435 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0439. \u0412\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438 \u043E\u0442 iobroker.net?\",\n \"ra_Listen on all IPs\": \"\u0421\u043B\u0443\u0448\u0430\u0442\u044C \u043D\u0430 \u0432\u0441\u0435\u0445 IP\",\n \"ra_Load configuration from file\": \"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E \u0438\u0437 \u0444\u0430\u0439\u043B\u0430\",\n \"ra_Longitude\": \"\u0414\u043E\u043B\u0433\u043E\u0442\u0430\",\n \"ra_May not trigger \\\"updateLicenses\\\"\": \"\u041D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u043F\u0443\u0441\u043A\u0430\u0442\u044C \u00ABupdateLicenses\u00BB\",\n \"ra_Message\": \"\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435\",\n \"ra_Monday\": \"\u041F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A\",\n \"ra_Move down\": \"\u0412\u043D\u0438\u0437\",\n \"ra_Move up\": \"\u0412\u0432\u0435\u0440\u0445\",\n \"ra_Name\": \"\u0418\u043C\u044F\",\n \"ra_No data found in file\": \"\u0414\u0430\u043D\u043D\u044B\u0435 \u0432 \u0444\u0430\u0439\u043B\u0435 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B\",\n \"ra_No one license found in license manager\": \"\u0412 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u0435 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0439 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u043D\u0438 \u043E\u0434\u043D\u0430 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044F\",\n \"ra_No response from the backend\": \"\u041D\u0435\u0442 \u043E\u0442\u0432\u0435\u0442\u0430 \u043E\u0442 \u0431\u044D\u043A\u044D\u043D\u0434\u0430\",\n \"ra_Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\": \"\u041D\u0435-\u044D\u043A\u0441\u043F\u0435\u0440\u0442\u044B \u043C\u043E\u0433\u0443\u0442 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0435 \u043E\u0431\u044A\u0435\u043A\u0442\u044B \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u00AB0_userdata.0\u00BB \u0438\u043B\u0438 \u00ABalias.0\u00BB.\",\n \"ra_Not a number\": \"\u041D\u0435 \u0447\u0438\u0441\u043B\u043E\",\n \"ra_Objects\": \"\u041E\u0431\u044A\u0435\u043A\u0442\u044B\",\n \"ra_Ok\": \"Ok\",\n \"ra_On weekdays\": \"\u041D\u0430 \u0432\u044B\u0445\u043E\u0434\u043D\u044B\u0445\",\n \"ra_Only following structures of objects are available:\": \"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B \u0442\u043E\u043B\u044C\u043A\u043E \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u044B \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432:\",\n \"ra_Only selected\": \"\u0422\u043E\u043B\u044C\u043A\u043E \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435\",\n \"ra_Owner group\": \"\u0413\u0440\u0443\u043F\u043F\u0430 \u0432\u043B\u0430\u0434\u0435\u043B\u044C\u0446\u0435\u0432\",\n \"ra_Owner user\": \"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C-\u0432\u043B\u0430\u0434\u0435\u043B\u0435\u0446\",\n \"ra_Passwords are not equal!\": \"\u041F\u0430\u0440\u043E\u043B\u0438 \u043D\u0435 \u0440\u0430\u0432\u043D\u044B!\",\n \"ra_Place your files here or click here to open the browse dialog\": \"\u041F\u043E\u043C\u0435\u0441\u0442\u0438\u0442\u0435 \u0441\u0432\u043E\u0438 \u0444\u0430\u0439\u043B\u044B \u0441\u044E\u0434\u0430 \u0438\u043B\u0438 \u0449\u0435\u043B\u043A\u043D\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044C, \u0447\u0442\u043E\u0431\u044B \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0434\u0438\u0430\u043B\u043E\u0433\u043E\u0432\u043E\u0435 \u043E\u043A\u043D\u043E \u0432\u044B\u0431\u043E\u0440\u0430\",\n \"ra_Please confirm\": \"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435\",\n \"ra_Please create license\": \"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0441\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E\",\n \"ra_Please enter the license\": \"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E\",\n \"ra_Please select file...\": \"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043B...\",\n \"ra_Please select object ID...\": \"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u043E\u0431\u044A\u0435\u043A\u0442\u0430 ...\",\n \"ra_Port could be used by %s\": \"\u041F\u043E\u0440\u0442 \u043C\u043E\u0436\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F %s\",\n \"ra_Port is already used by %s\": \"\u041F\u043E\u0440\u0442 \u0443\u0436\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F %s\",\n \"ra_Private certificate\": \"\u0427\u0430\u0441\u0442\u043D\u044B\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442\",\n \"ra_Product\": \"\u041F\u0440\u043E\u0434\u0443\u043A\u0442\",\n \"ra_Public certificate\": \"\u041F\u0443\u0431\u043B\u0438\u0447\u043D\u044B\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442\",\n \"ra_Quality code\": \"\u0412\u0430\u043B\u0438\u0434\u043D\u043E\u0441\u0442\u044C\",\n \"ra_Refresh tree\": \"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0434\u0435\u0440\u0435\u0432\u043E\",\n \"ra_Reload files\": \"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C\",\n \"ra_Repeat\": \"\u041F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435\",\n \"ra_Replace\": \"\u0417\u0430\u043C\u0435\u043D\u044F\u0442\u044C\",\n \"ra_Request timed out\": \"\u0418\u0441\u0442\u0435\u043A\u043B\u043E \u0432\u0440\u0435\u043C\u044F \u0437\u0430\u043F\u0440\u043E\u0441\u0430\",\n \"ra_Restrict to folder\": \"\u041E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0442\u044C \u043F\u0430\u043F\u043A\u043E\u0439\",\n \"ra_Root\": \"\u041D\u0430\u0447\u0430\u043B\u043E\",\n \"ra_Saturday\": \"\u0421\u0443\u0431\u0431\u043E\u0442\u0430\",\n \"ra_Save\": \"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C\",\n \"ra_Save and close\": \"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0438 \u0437\u0430\u043A\u0440\u044B\u0442\u044C\",\n \"ra_Save configuration to file\": \"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E \u0432 \u0444\u0430\u0439\u043B\",\n \"ra_Save objects tree as JSON file\": \"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0434\u0435\u0440\u0435\u0432\u043E \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432 \u043A\u0430\u043A \u0444\u0430\u0439\u043B JSON\",\n \"ra_Select all\": \"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435\",\n \"ra_Select color\": \"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0446\u0432\u0435\u0442\",\n \"ra_Select predefined icon\": \"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u0440\u0435\u0434\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0439 \u0437\u043D\u0430\u0447\u043E\u043A\",\n \"ra_Select type of export\": \"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0438\u043F \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0430\",\n \"ra_Selected\": \"\u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0439\",\n \"ra_Selected %s object(s)\": \"\u041E\u0431\u044A\u0435\u043A\u0442\u043E\u0432: %s\",\n \"ra_Serial number (UUID)\": \"\u0421\u0435\u0440\u0438\u0439\u043D\u044B\u0439 \u043D\u043E\u043C\u0435\u0440 (UUID)\",\n \"ra_Serial number (UUID) \\\"%s\\\" in license is for other device.\": \"\u0421\u0435\u0440\u0438\u0439\u043D\u044B\u0439 \u043D\u043E\u043C\u0435\u0440 (UUID) \u00AB%s\u00BB \u0432 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438 \u043F\u0440\u0435\u0434\u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D \u0434\u043B\u044F \u0434\u0440\u0443\u0433\u043E\u0433\u043E \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430.\",\n \"ra_Show all folders\": \"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0441\u0435 \u043F\u0430\u043F\u043A\u0438\",\n \"ra_Show lines between rows\": \"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043B\u0438\u043D\u0438\u0438 \u043C\u0435\u0436\u0434\u0443 \u0441\u0442\u0440\u043E\u043A\u0430\u043C\u0438\",\n \"ra_Show/Hide object descriptions\": \"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C/\u0441\u043A\u0440\u044B\u0442\u044C \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u044F \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432\",\n \"ra_Show/hide filter input\": \"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C/\u0441\u043A\u0440\u044B\u0442\u044C \u0432\u0432\u043E\u0434 \u0444\u0438\u043B\u044C\u0442\u0440\u0430\",\n \"ra_Some data are not stored. Discard?\": \"\u041D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 \u043D\u0435 \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0441\u044C. \u041E\u0442\u043A\u0430\u0437\u0430\u0442\u044C\u0441\u044F?\",\n \"ra_States\": \"\u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F\",\n \"ra_Suitable license not found in license manager\": \"\u041F\u043E\u0434\u0445\u043E\u0434\u044F\u0449\u0430\u044F \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u0432 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u0435 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0439\",\n \"ra_Sunday\": \"\u0412\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435\",\n \"ra_Suppress question for next %s minutes\": \"\u0421\u043A\u0440\u044B\u0442\u044C \u0432\u043E\u043F\u0440\u043E\u0441 \u043D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 %s \u043C\u0438\u043D\u0443\u0442(\u044B)\",\n \"ra_System language\": \"\u042F\u0437\u044B\u043A \u0441\u0438\u0441\u0442\u0435\u043C\u044B\",\n \"ra_Take browser position\": \"\u0412\u0437\u044F\u0442\u044C \u043F\u043E\u0437\u0438\u0446\u0438\u044E \u0438\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\",\n \"ra_Take position from system settings\": \"\u0417\u0430\u043D\u044F\u0442\u044C \u043F\u043E\u0437\u0438\u0446\u0438\u044E \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u044B\u0445 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A\",\n \"ra_The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\": \"\u042D\u043A\u0441\u043F\u0435\u0440\u0442\u044B \u043C\u043E\u0433\u0443\u0442 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442\u044B \u0432\u0435\u0437\u0434\u0435, \u043A\u0440\u043E\u043C\u0435 \u0432\u0442\u043E\u0440\u043E\u0433\u043E \u0443\u0440\u043E\u0432\u043D\u044F (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u00ABvis.0\u00BB \u0438\u043B\u0438 \u00ABjavascript.0\u00BB).\",\n \"ra_The page you are looking for was not found\": \"\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430, \u043A\u043E\u0442\u043E\u0440\u0443\u044E \u0432\u044B \u0438\u0449\u0435\u0442\u0435, \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430\",\n \"ra_The schedule will be executed every minute. Are you sure?\": \"\u0420\u0430\u0441\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0442\u044C\u0441\u044F \u043A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443. \u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B?\",\n \"ra_The schedule will be executed every second. Are you sure?\": \"\u0420\u0430\u0441\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0442\u044C\u0441\u044F \u043A\u0430\u0436\u0434\u0443\u044E \u0441\u0435\u043A\u0443\u043D\u0434\u0443. \u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B?\",\n \"ra_Thursday\": \"\u0427\u0435\u0442\u0432\u0435\u0440\u0433\",\n \"ra_Timestamp\": \"\u0412\u0440\u0435\u043C\u0435\u043D\u0438\",\n \"ra_Toggle expert mode\": \"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u044D\u043A\u0441\u043F\u0435\u0440\u0442\u043D\u044B\u0439 \u0440\u0435\u0436\u0438\u043C\",\n \"ra_Toggle the states view\": \"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0440\u0435\u0436\u0438\u043C \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0439\",\n \"ra_Toggle view mode\": \"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0440\u0435\u0436\u0438\u043C \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430\",\n \"ra_Too big\": \"\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435\",\n \"ra_Too small\": \"\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435\",\n \"ra_Transparent dialog\": \"\u041F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u0439 \u0434\u0438\u0430\u043B\u043E\u0433\",\n \"ra_Tuesday\": \"\u0412\u0442\u043E\u0440\u043D\u0438\u043A\",\n \"ra_Unknown error\": \"\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430\",\n \"ra_Unknown error!\": \"\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430!\",\n \"ra_Update\": \"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C\",\n \"ra_Upload file\": \"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0444\u0430\u0439\u043B\",\n \"ra_Use all available let's encrypt certificates\": \"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u044B Let\u2019s encrypt\",\n \"ra_Use iobroker.acme adapter for letsencrypt certificates\": \"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0430\u0434\u0430\u043F\u0442\u0435\u0440 iobroker.acme \u0434\u043B\u044F \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0432 letsencrypt\",\n \"ra_Use system settings for position\": \"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0434\u043B\u044F \u043F\u043E\u0437\u0438\u0446\u0438\u0438\",\n \"ra_Used system settings\": \"\u0421\u0438\u0441\u0442\u0435\u043C\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438\",\n \"ra_User files\": \"\u0424\u0430\u0439\u043B\u044B \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F\",\n \"ra_ValidTill\": \"\u0413\u043E\u0434\u0435\u043D \u0434\u043E\",\n \"ra_Value\": \"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435\",\n \"ra_Version\": \"\u0412\u0435\u0440\u0441\u0438\u044F\",\n \"ra_View file\": \"\u041F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u0444\u0430\u0439\u043B\",\n \"ra_View: %s\": \"\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440: %s\",\n \"ra_Wednesday\": \"\u0421\u0440\u0435\u0434\u0430\",\n \"ra_Width\": \"\u0428\u0438\u0440\u0438\u043D\u0430\",\n \"ra_Yes\": \"\u0414\u0430\",\n \"ra_You can export all objects or just the selected branch.\": \"\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u043E\u0431\u044A\u0435\u043A\u0442\u044B \u0438\u043B\u0438 \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u0443\u044E \u0432\u0435\u0442\u0432\u044C.\",\n \"ra_You can filter entries by entering here some text\": \"\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043E\u0442\u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u043F\u0438\u0441\u0438, \u0432\u0432\u0435\u0434\u044F \u0437\u0434\u0435\u0441\u044C \u0442\u0435\u043A\u0441\u0442\",\n \"ra___different__\": \"\u0440\u0430\u0437\u043D\u043E\u0435\",\n \"ra_aclEveryone_read_object\": \"\u041A\u0430\u0436\u0434\u044B\u0439 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442\",\n \"ra_aclEveryone_read_state\": \"\u041A\u0430\u0436\u0434\u044B\u0439 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_aclEveryone_write_object\": \"\u041A\u0430\u0436\u0434\u044B\u0439 \u043C\u043E\u0436\u0435\u0442 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442\",\n \"ra_aclEveryone_write_state\": \"\u041A\u0430\u0436\u0434\u044B\u0439 \u043C\u043E\u0436\u0435\u0442 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_aclGroup_read_object\": \"\u0413\u0440\u0443\u043F\u043F\u0430 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442\",\n \"ra_aclGroup_read_state\": \"\u0413\u0440\u0443\u043F\u043F\u0430 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_aclGroup_write_object\": \"\u0413\u0440\u0443\u043F\u043F\u0430 \u043C\u043E\u0436\u0435\u0442 \u043F\u0438\u0441\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442\",\n \"ra_aclGroup_write_state\": \"\u0413\u0440\u0443\u043F\u043F\u0430 \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_aclOwner_read_object\": \"\u0412\u043B\u0430\u0434\u0435\u043B\u0435\u0446 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442\",\n \"ra_aclOwner_read_state\": \"\u0412\u043B\u0430\u0434\u0435\u043B\u0435\u0446 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_aclOwner_write_object\": \"\u0412\u043B\u0430\u0434\u0435\u043B\u0435\u0446 \u043C\u043E\u0436\u0435\u0442 \u043F\u0438\u0441\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442\",\n \"ra_aclOwner_write_state\": \"\u0412\u043B\u0430\u0434\u0435\u043B\u0435\u0446 \u043C\u043E\u0436\u0435\u0442 \u043F\u0438\u0441\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_buttons\": \"\u041A\u043D\u043E\u043F\u043A\u0438\",\n \"ra_changedFrom\": \"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u043E \u0441\",\n \"ra_close\": \"\u0417\u0430\u043A\u0440\u044B\u0442\u044C\",\n \"ra_create_boolean_state\": \"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043B\u043E\u0433\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_create_channel\": \"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043A\u0430\u043D\u0430\u043B\",\n \"ra_create_device\": \"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E\",\n \"ra_create_number_state\": \"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u043D\u043E\u043C\u0435\u0440\u0430\",\n \"ra_create_state\": \"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_create_string_state\": \"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u0441\u0442\u0440\u043E\u043A\u0438\",\n \"ra_daysShortText\": \"\u0434.\",\n \"ra_dow_Fr\": \"\u041F\u0442\",\n \"ra_dow_Mo\": \"\u041F\u043D\",\n \"ra_dow_Sa\": \"\u0421\u0431\",\n \"ra_dow_Su\": \"\u0412\u0441\",\n \"ra_dow_Th\": \"\u0427\u0442\",\n \"ra_dow_Tu\": \"\u0412\u0442\",\n \"ra_dow_We\": \"\u0421\u0440\",\n \"ra_expertMode\": \"\u042D\u043A\u0441\u043F\u0435\u0440\u0442\u043D\u044B\u0439 \u0440\u0435\u0436\u0438\u043C\",\n \"ra_fileType_all\": \"\u0412\u0441\u0435 \u0444\u0430\u0439\u043B\u044B\",\n \"ra_fileType_audio\": \"\u0410\u0443\u0434\u0438\u043E\",\n \"ra_fileType_code\": \"\u041A\u043E\u0434/JSON\",\n \"ra_fileType_images\": \"\u041A\u0430\u0440\u0442\u0438\u043D\u043A\u0438\",\n \"ra_fileType_txt\": \"\u0422\u0435\u043A\u0441\u0442\",\n \"ra_fileType_video\": \"\u0432\u0438\u0434\u0435\u043E\",\n \"ra_fileType_video,\": \"\u0432\u0438\u0434\u0435\u043E\",\n \"ra_filter_customs\": \"\u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438\",\n \"ra_filter_customs_without\": \"\u0431\u0435\u0437\",\n \"ra_filter_func\": \"\u0444\u0443\u043D\u043A\u0446\u0438\u044F\",\n \"ra_filter_id\": \"ID\",\n \"ra_filter_name\": \"\u0418\u043C\u044F\",\n \"ra_filter_role\": \"\u0440\u043E\u043B\u044C\",\n \"ra_filter_room\": \"\u043A\u043E\u043C\u043D\u0430\u0442\u0430\",\n \"ra_filter_type\": \"\u0422\u0438\u043F\",\n \"ra_import data from %s file\": \"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435 \u0438\u0437 \u0444\u0430\u0439\u043B\u0430 %s\",\n \"ra_invalidConfig\": \"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438\",\n \"ra_lastChange\": \"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435\",\n \"ra_locally\": \"\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E\",\n \"ra_month_Apr\": \"\u0410\u043F\u0440\",\n \"ra_month_Aug\": \"\u0410\u0432\u0433\",\n \"ra_month_Dec\": \"\u0414\u0435\u043A\",\n \"ra_month_Feb\": \"\u0424\u0435\u0432\",\n \"ra_month_Jan\": \"\u042F\u043D\u0432\",\n \"ra_month_Jul\": \"\u0418\u044E\u043B\",\n \"ra_month_Jun\": \"\u0418\u044E\u043D\",\n \"ra_month_Mai\": \"\u041C\u0430\u0439\",\n \"ra_month_Mar\": \"\u041C\u0440\u0442\",\n \"ra_month_Nov\": \"\u041D\u043E\u044F\",\n \"ra_month_Oct\": \"\u041E\u043A\u0442\",\n \"ra_month_Sep\": \"\u0421\u0435\u043D\",\n \"ra_months_Apr\": \"\u0410\u043F\u0440\",\n \"ra_months_Aug\": \"\u0410\u0432\u0433\",\n \"ra_months_Dec\": \"\u0414\u0435\u043A\",\n \"ra_months_Feb\": \"\u0424\u0435\u0432\",\n \"ra_months_Jan\": \"\u042F\u043D\u0432\",\n \"ra_months_Jul\": \"\u0418\u044E\u043D\u044C\",\n \"ra_months_Jun\": \"\u0418\u044E\u043B\u044C\",\n \"ra_months_Mai\": \"\u041C\u0430\u0439\",\n \"ra_months_Mar\": \"\u041C\u0430\u0440\u0442\",\n \"ra_months_Nov\": \"\u041D\u043E\u044F\",\n \"ra_months_Oct\": \"\u041E\u043A\u0442\",\n \"ra_months_Sep\": \"\u0421\u0435\u043D\",\n \"ra_none\": \"\u043D\u0438\u0447\u0435\u0433\u043E\",\n \"ra_object_changed_by\": \"\u041E\u0431\u044A\u0435\u043A\u0442 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\",\n \"ra_object_changed_by_user\": \"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0440\u0430\u0437 \u043E\u0431\u044A\u0435\u043A\u0442 \u0438\u0437\u043C\u0435\u043D\u0435\u043D \u0432\",\n \"ra_otherConfig\": \"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0438\u0437 \u0434\u0440\u0443\u0433\u043E\u0433\u043E \u0430\u0434\u0430\u043F\u0442\u0435\u0440\u0430 %s\",\n \"ra_qualityCode\": \"\u041A\u043E\u0434 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0430\",\n \"ra_repeat\": \"\u043F\u043E\u0432\u0442\u043E\u0440\",\n \"ra_select_folder_hint\": \"\u0427\u0442\u043E\u0431\u044B \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0443, \u043F\u0440\u043E\u0441\u0442\u043E \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0439\u0442\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0443 \u00ABShift\u00BB, \u0449\u0435\u043B\u043A\u043D\u0443\u0432 \u043F\u0430\u043F\u043A\u0443.\",\n \"ra_state_changed_by\": \"\u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u043E\",\n \"ra_state_changed_from\": \"\u041E\u0431\u044A\u0435\u043A\u0442 \u0438\u0437\u043C\u0435\u043D\u0435\u043D \u0441\",\n \"ra_timestamp\": \"\u041E\u0442\u043C\u0435\u0442\u043A\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438\",\n \"ra_tooltip_ack\": \"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u043E\",\n \"ra_tooltip_comment\": \"\u041A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439\",\n \"ra_tooltip_copyState\": \"\u0421\u043A\u043E\u043F\u0438\u0440\u0443\u0439\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F\",\n \"ra_tooltip_customConfig\": \"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438\",\n \"ra_tooltip_deleteObject\": \"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442\",\n \"ra_tooltip_editObject\": \"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442\",\n \"ra_tooltip_editState\": \"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F\",\n \"ra_tooltip_from\": \"\u041E\u0442\",\n \"ra_tooltip_lc\": \"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435\",\n \"ra_tooltip_quality\": \"\u041A\u0430\u0447\u0435\u0441\u0442\u0432\u043E\",\n \"ra_tooltip_ts\": \"\u041E\u0442\u043C\u0435\u0442\u043A\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438\",\n \"ra_tooltip_user\": \"\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\",\n \"ra_tooltip_value\": \"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435\",\n \"ra_use seconds\": \"\u0441\u0435\u043A\u0443\u043D\u0434\u044B\",\n \"ra_val\": \"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435\",\n \"ra_via internet\": \"\u0447\u0435\u0440\u0435\u0437 \u0438\u043D\u0442\u0435\u0440\u043D\u0435\u0442\",\n \"ra_warning_every_minute\": \"\u0412\u043D\u0438\u043C\u0430\u043D\u0438\u0435: \u0437\u0430\u0434\u0430\u043D\u0438\u0435 CRON \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043F\u0443\u0441\u043A\u0430\u0442\u044C\u0441\u044F \u043A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443 \u0432 \u0442\u0435\u0447\u0435\u043D\u0438\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u043E\u0433\u043E \u043F\u0435\u0440\u0438\u043E\u0434\u0430!\",\n \"ra_warning_every_second\": \"\u0412\u043D\u0438\u043C\u0430\u043D\u0438\u0435: \u0437\u0430\u0434\u0430\u043D\u0438\u0435 CRON \u0431\u0443\u0434\u0435\u0442 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0442\u044C\u0441\u044F \u043A\u0430\u0436\u0434\u0443\u044E \u0441\u0435\u043A\u0443\u043D\u0434\u0443 \u0432 \u0442\u0435\u0447\u0435\u043D\u0438\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u043E\u0433\u043E \u043F\u0435\u0440\u0438\u043E\u0434\u0430!\",\n \"sc_cron\": \"CRON\",\n \"sc_date\": \"\u0414\u0430\u0442\u0430\",\n \"sc_dates\": \"\u0414\u0430\u0442\u044B\",\n \"sc_dow\": \"\u0414\u0435\u043D\u044C\",\n \"sc_dows\": \"\u0414\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438\",\n \"sc_every\": \"\u043A\u0430\u0436\u0434\u044B\u0439(\u0443\u044E/\u044B\u0435)\",\n \"sc_everyN_dates\": \"\u043A\u0430\u0436\u0434\u044B\u0439 N \u0434\u0435\u043D\u044C\",\n \"sc_everyN_dow\": \"\u043A\u0430\u0436\u0434\u044B\u0439 N-\u0439 \u0434\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438\",\n \"sc_everyN_dows\": \"\u043A\u0430\u0436\u0434\u044B\u0439 N \u0434\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438\",\n \"sc_everyN_hours\": \"\u043A\u0430\u0436\u0434\u044B\u0435 N \u0447\u0430\u0441\u043E\u0432\",\n \"sc_everyN_minutes\": \"\u043A\u0430\u0436\u0434\u044B\u0435 N \u043C\u0438\u043D\u0443\u0442\",\n \"sc_everyN_months\": \"\u043A\u0430\u0436\u0434\u044B\u0435 N \u043C\u0435\u0441\u044F\u0446\u0435\u0432\",\n \"sc_everyN_seconds\": \"\u043A\u0430\u0436\u0434\u044B\u0435 N \u0441\u0435\u043A\u0443\u043D\u0434\",\n \"sc_every_dates\": \"\u043A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C\",\n \"sc_every_dow\": \"\u041A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438\",\n \"sc_every_dows\": \"\u043A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438\",\n \"sc_every_hours\": \"\u043A\u0430\u0436\u0434\u044B\u0439 \u0447\u0430\u0441\",\n \"sc_every_minutes\": \"\u043A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443\",\n \"sc_every_months\": \"\u043A\u0430\u0436\u0434\u044B\u0439 \u043C\u0435\u0441\u044F\u0446\",\n \"sc_every_seconds\": \"\u043A\u0430\u0436\u0434\u0443\u044E \u0441\u0435\u043A\u0443\u043D\u0434\u0443\",\n \"sc_from\": \"\u041E\u0442\",\n \"sc_hours\": \"\u0447\u0430\u0441\u044B\",\n \"sc_interval\": \"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B\",\n \"sc_intervalBetween\": \"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u043C\u0435\u0436\u0434\u0443\",\n \"sc_invalid_cron\": \"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 CRON\",\n \"sc_minutes\": \"\u043C\u0438\u043D\u0443\u0442\u044B\",\n \"sc_months\": \"\u041C\u0435\u0441\u044F\u0446\u044B\",\n \"sc_once\": \"\u043E\u0434\u0438\u043D \u0440\u0430\u0437\",\n \"sc_period\": \"\u041F\u0435\u0440\u0438\u043E\u0434\",\n \"sc_seconds\": \"\u0441\u0435\u043A\u0443\u043D\u0434\u044B\",\n \"sc_simple\": \"\u041F\u0440\u043E\u0441\u0442\u043E\",\n \"sc_specific\": \"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F\",\n \"sc_specific_dates\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u0434\u0430\u0442\u044B\",\n \"sc_specific_dow\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0439 \u0434\u0435\u043D\u044C(\u0430) \u043D\u0435\u0434\u0435\u043B\u0438\",\n \"sc_specific_dows\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0439 \u0434\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438\",\n \"sc_specific_hours\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u0447\u0430\u0441\u044B\",\n \"sc_specific_minutes\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u043C\u0438\u043D\u0443\u0442\u044B\",\n \"sc_specific_months\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u043C\u0435\u0441\u044F\u0446\u044B\",\n \"sc_specific_seconds\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u0441\u0435\u043A\u0443\u043D\u0434\u044B\",\n \"sc_time\": \"\u0412\u0440\u0435\u043C\u044F\",\n \"sc_to\": \"\u0414\u043E\",\n \"sc_wizard\": \"\u0424\u043E\u0440\u043C\u0430\",\n \"sch_all\": \"\u0432\u0441\u0435\",\n \"sch_astroDay\": \"\u0434\u043D\u0451\u043C\",\n \"sch_astroNight\": \"\u043D\u043E\u0447\u044C\u044E\",\n \"sch_astro_dawn\": \"\u0420\u0430\u0441\u0441\u0432\u0435\u0442\",\n \"sch_astro_dusk\": \"\u0421\u0443\u043C\u0435\u0440\u043A\u0438\",\n \"sch_astro_goldenHour\": \"\u0417\u043E\u043B\u043E\u0442\u043E\u0439 \u0447\u0430\u0441\",\n \"sch_astro_goldenHourEnd\": \"\u041A\u043E\u043D\u0435\u0446 \u0437\u043E\u043B\u043E\u0442\u043E\u0433\u043E \u0447\u0430\u0441\u0430\",\n \"sch_astro_nadir\": \"\u041D\u0430\u0434\u0438\u0440\",\n \"sch_astro_nauticalDawn\": \"\u041C\u043E\u0440\u0441\u043A\u043E\u0439 \u0440\u0430\u0441\u0441\u0432\u0435\u0442\",\n \"sch_astro_nauticalDusk\": \"\u041C\u043E\u0440\u0441\u043A\u0438\u0435 \u0441\u0443\u043C\u0435\u0440\u043A\u0438\",\n \"sch_astro_night\": \"\u041D\u043E\u0447\u044C\",\n \"sch_astro_nightEnd\": \"\u041A\u043E\u043D\u0435\u0446 \u043D\u043E\u0447\u0438\",\n \"sch_astro_solarNoon\": \"\u0421\u043E\u043B\u043D\u0435\u0447\u043D\u044B\u0439 \u043F\u043E\u043B\u0434\u0435\u043D\u044C\",\n \"sch_astro_sunrise\": \"\u0412\u043E\u0441\u0445\u043E\u0434\",\n \"sch_astro_sunriseEnd\": \"\u0412\u043E\u0441\u0445\u043E\u0434 \u0441\u043E\u043B\u043D\u0446\u0430\",\n \"sch_astro_sunset\": \"\u0417\u0430\u0445\u043E\u0434 \u0441\u043E\u043B\u043D\u0446\u0430\",\n \"sch_astro_sunsetStart\": \"\u041D\u0430\u0447\u0430\u043B\u043E \u0437\u0430\u043A\u0430\u0442\u0430\",\n \"sch_at\": \"\u0434\u0430\u0442\u0430\",\n \"sch_desc_atTime\": \"\u0432 %s\",\n \"sch_desc_everyDay\": \"\u043A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C\",\n \"sch_desc_everyHour\": \"\u043A\u0430\u0436\u0434\u044B\u0439 \u0447\u0430\u0441\",\n \"sch_desc_everyMinute\": \"\u043A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443\",\n \"sch_desc_everyMonth\": \"\u043A\u0430\u0436\u0434\u044B\u0439 \u043C\u0435\u0441\u044F\u0446\",\n \"sch_desc_everyNDay\": \"\u043A\u0430\u0436\u0434\u044B\u0439 %s \u0434\u0435\u043D\u044C\",\n \"sch_desc_everyNHours\": \"\u043A\u0430\u0436\u0434\u044B\u0439 %s \u0447\u0430\u0441\u043E\u0432\",\n \"sch_desc_everyNMinutes\": \"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0438\u043D\u0443\u0442\",\n \"sch_desc_everyNMonths\": \"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0435\u0441\u044F\u0446\u0435\u0432\",\n \"sch_desc_everyNWeeks\": \"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043D\u0435\u0434\u0435\u043B\u044C\",\n \"sch_desc_everyNYears\": \"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043B\u0435\u0442\",\n \"sch_desc_everyWeek\": \"\u043A\u0430\u0436\u0434\u0443\u044E \u043D\u0435\u0434\u0435\u043B\u044E\",\n \"sch_desc_everyYear\": \"\u043A\u0430\u0436\u0434\u044B\u0439 \u0433\u043E\u0434\",\n \"sch_desc_intervalFromTo\": \"\u043E\u0442 %s \u0434\u043E %s\",\n \"sch_desc_never\": \"\u043D\u0438\u043A\u043E\u0433\u0434\u0430\",\n \"sch_desc_onDate\": \"%s %s\",\n \"sch_desc_onDates\": \"%s \u0438 %s\",\n \"sch_desc_onEveryDate\": \"\u0432 \u043A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C\",\n \"sch_desc_onMonth\": \"%s\",\n \"sch_desc_onMonths\": \"%s \u0438 %s\",\n \"sch_desc_onWeekday\": \"%s\",\n \"sch_desc_onWeekdays\": \"%s \u0438 %s\",\n \"sch_desc_onWeekends\": \"\u043D\u0430 \u0432\u044B\u0445\u043E\u0434\u043D\u044B\u0445\",\n \"sch_desc_onWorkdays\": \"\u0432 \u0440\u0430\u0431\u043E\u0447\u0438\u0435 \u0434\u043D\u0438\",\n \"sch_desc_onceInPast\": \"\u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u0431\u043E\u043B\u044C\u0448\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0442\u044C\u0441\u044F, \u043F\u043E\u0442\u043E\u043C\u0443 \u0447\u0442\u043E \u043D\u0430\u0447\u0430\u043B\u043E \u0432 \u043F\u0440\u043E\u0448\u043B\u043E\u043C\",\n \"sch_desc_once_on\": \"%s\",\n \"sch_desc_validFrom\": \"%s\",\n \"sch_desc_validFromTo\": \"\u0412\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0441\",\n \"sch_desc_validTo\": \"%s\",\n \"sch_every\": \"\u043A\u0430\u0436\u0434\u044B\u0439\",\n \"sch_exactTime\": \"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F\",\n \"sch_from\": \"\u043E\u0442\",\n \"sch_fromTo\": \"\u041E\u0442 \u0438 \u0434\u043E\",\n \"sch_intervalTime\": \"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u0432\u0440\u0435\u043C\u0435\u043D\u0438\",\n \"sch_invert\": \"\u0438\u043D\u0432\u0435\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C\",\n \"sch_no_one\": \"\u043D\u0438\u043A\u0430\u043A\u043E\u0439\",\n \"sch_on\": \"\u043D\u0430\",\n \"sch_period\": \"\u043F\u0435\u0440\u0438\u043E\u0434\",\n \"sch_periodDaily\": \"\u0415\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u043E\",\n \"sch_periodDates\": \"\u0414\u0430\u0442\u044B\",\n \"sch_periodDay\": \"\u0414\u0435\u043D\u044C\",\n \"sch_periodEvery\": \"\u043A\u0430\u0436\u0434\u044B\u0439\",\n \"sch_periodEveryDay\": \"\u041A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C\",\n \"sch_periodEveryMonth\": \"\u041A\u0430\u0436\u0434\u044B\u0439 \u043C\u0435\u0441\u044F\u0446\",\n \"sch_periodEveryWeek\": \"\u041A\u0430\u0436\u0434\u0443\u044E \u043D\u0435\u0434\u0435\u043B\u044E\",\n \"sch_periodEveryYear\": \"\u041A\u0430\u0436\u0434\u044B\u0439 \u0433\u043E\u0434\",\n \"sch_periodHours\": \"\u0447\u0430\u0441\u043E\u0432\",\n \"sch_periodMinutes\": \"\u043C\u0438\u043D\u0443\u0442\",\n \"sch_periodMonth\": \"\u043C\u0435\u0441\u044F\u0446\",\n \"sch_periodMonthly\": \"\u0435\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u043E\",\n \"sch_periodOnce\": \"\u043E\u0434\u043D\u0430\u0436\u0434\u044B\",\n \"sch_periodSpecificMonths\": \"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u043C\u0435\u0441\u044F\u0446\u044B\",\n \"sch_periodWeek\": \"\u041D\u0435\u0434\u0435\u043B\u044E\",\n \"sch_periodWeekdays\": \"\u0411\u0443\u0434\u043D\u0438\u0435 \u0434\u043D\u0438\",\n \"sch_periodWeekend\": \"\u0432\u044B\u0445\u043E\u0434\u043D\u044B\u0435\",\n \"sch_periodWeekly\": \"\u0435\u0436\u0435\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u043E\",\n \"sch_periodWorkdays\": \"\u0420\u0430\u0431\u043E\u0447\u0438\u0435 \u0434\u043D\u0438\",\n \"sch_periodYear\": \"\u0413\u043E\u0434\",\n \"sch_periodYearly\": \"\u043A\u0430\u0436\u0434\u044B\u0439 \u0433\u043E\u0434\",\n \"sch_specificTime\": \"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F\",\n \"sch_time\": \"\u0412\u0440\u0435\u043C\u044F\",\n \"sch_to\": \"\u0432\",\n \"sch_valid\": \"\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0439\",\n \"sch_validFrom\": \"\u043E\u0442\",\n \"sch_validTo\": \"\u0432\",\n \"sch_wholeDay\": \"\u0412\u0435\u0441\u044C \u0434\u0435\u043D\u044C\",\n \"sch_yearEveryMonth\": \"\u043A\u0430\u0436\u0434\u044B\u0439 \u043C\u0435\u0441\u044F\u0446\"\n}\n", "{\n \"ra_%s links from aliases\": \"%s links de aliases\",\n \"ra_%s object(s) processed\": \"%s objeto(s) processado(s)\",\n \"ra_%s was imported\": \"%s foi importado\",\n \"ra_Accept license\": \"Aceitar licen\u00E7a\",\n \"ra_Add new child object to selected parent\": \"Adicionar novo objeto filho ao pai selecionado\",\n \"ra_Add objects tree from JSON file\": \"Adicionar \u00E1rvore de objetos do arquivo JSON\",\n \"ra_Add row\": \"Adicionar linha\",\n \"ra_Advanced options\": \"Op\u00E7\u00F5es avan\u00E7adas\",\n \"ra_All items are filtered out\": \"Todos os itens s\u00E3o filtrados\",\n \"ra_All objects\": \"Todos os objetos\",\n \"ra_Append\": \"Acrescentar\",\n \"ra_Append %s entries or replace existing?\": \"Acrescentar %s entradas ou substituir as existentes?\",\n \"ra_Append or replace?\": \"Acrescentar ou substituir?\",\n \"ra_Are you sure?\": \"Voc\u00EA tem certeza?\",\n \"ra_Auto (no custom columns)\": \"Auto (sem colunas personalizadas)\",\n \"ra_Back to %s\": \"Voltar para %s\",\n \"ra_Background image\": \"Imagem de fundo\",\n \"ra_Cancel\": \"Cancelar\",\n \"ra_Cannot add items with set filter\": \"N\u00E3o \u00E9 poss\u00EDvel adicionar itens com filtro definido\",\n \"ra_Cannot decode license\": \"N\u00E3o \u00E9 poss\u00EDvel decodificar a licen\u00E7a\",\n \"ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser\": \"N\u00E3o \u00E9 poss\u00EDvel determinar a posi\u00E7\u00E3o: as configura\u00E7\u00F5es do sistema est\u00E3o vazias e a detec\u00E7\u00E3o de GPS est\u00E1 desativada no navegador\",\n \"ra_Cannot find \\\"%s\\\"\": \"N\u00E3o foi poss\u00EDvel encontrar \\\"%s\\\"\",\n \"ra_Cannot read \\\"%s\\\"\": \"N\u00E3o \u00E9 poss\u00EDvel ler \\\"%s\\\"\",\n \"ra_Cannot read licenses: %s\": \"N\u00E3o \u00E9 poss\u00EDvel ler licen\u00E7as: %s\",\n \"ra_Cannot retrieve options, as instance is offline\": \"N\u00E3o \u00E9 poss\u00EDvel recuperar op\u00E7\u00F5es, pois a inst\u00E2ncia est\u00E1 off-line\",\n \"ra_Cannot update attribute, because not found in the object\": \"N\u00E3o \u00E9 poss\u00EDvel atualizar o atributo, porque n\u00E3o foi encontrado no objeto\",\n \"ra_Cannot upload\": \"N\u00E3o \u00E9 poss\u00EDvel fazer upload\",\n \"ra_Categories\": \"Categorias\",\n \"ra_Chained certificate\": \"certificado encadeado\",\n \"ra_Change color theme\": \"Alterar tema de cores\",\n \"ra_Changed from\": \"Mudou de\",\n \"ra_Channel \u2192 State\": \"Canal \u2192 Estado\",\n \"ra_Check license\": \"Verifique a licen\u00E7a\",\n \"ra_Checked\": \"Verificado\",\n \"ra_Clear\": \"Excluir\",\n \"ra_Clear filter\": \"Filtro limpo\",\n \"ra_Clear icon\": \"\u00CDcone de limpeza\",\n \"ra_Clone current row\": \"Clonar linha atual\",\n \"ra_Close\": \"Perto\",\n \"ra_Collapse all nodes\": \"Recolher todos os n\u00F3s\",\n \"ra_Collapse one step node\": \"Recolher um n\u00EDvel\",\n \"ra_Commercial\": \"Comercial\",\n \"ra_Configure\": \"Configurar\",\n \"ra_Configure visible columns\": \"Configurar colunas vis\u00EDveis\",\n \"ra_Confirm deletion of %s\": \"Confirme a exclus\u00E3o de %s\",\n \"ra_Connected\": \"Conectado\",\n \"ra_Copied\": \"Copiado\",\n \"ra_Copied %s\": \"\\\"%s\\\" copiado\",\n \"ra_Copy content\": \"Copiar conte\u00FAdo\",\n \"ra_Create\": \"Crio\",\n \"ra_Create alias\": \"Criar alias\",\n \"ra_Create folder\": \"Criar pasta\",\n \"ra_Create new folder in %s\": \"Crie uma nova pasta em %s\",\n \"ra_Crop\": \"Colheita\",\n \"ra_Define CRON...\": \"Defina CRON...\",\n \"ra_Define functions\": \"Definir fun\u00E7\u00F5es\",\n \"ra_Define rooms\": \"Definir quartos\",\n \"ra_Define schedule\": \"Definir cronograma\",\n \"ra_Define schedule...\": \"Definir programa\u00E7\u00E3o ...\",\n \"ra_Del\": \"Delete\",\n \"ra_Delete\": \"Excluir\",\n \"ra_Delete (no confirm for 5 mins)\": \"Excluir (sem confirma\u00E7\u00E3o por 5 minutos)\",\n \"ra_Delete current row\": \"Excluir linha atual\",\n \"ra_Deselect all\": \"Desmarque todos\",\n \"ra_Device \u2192 Channel \u2192 State\": \"Dispositivo \u2192 Canal \u2192 Estado\",\n \"ra_Discard\": \"Descartar\",\n \"ra_Disconnected\": \"Desconectado\",\n \"ra_Do not export values of states\": \"N\u00E3o exporte valores de estados\",\n \"ra_Do not use let's encrypt\": \"N\u00E3o use vamos criptografar\",\n \"ra_Double click to reset table layout\": \"Clique duas vezes para redefinir o layout da tabela\",\n \"ra_Drag 'n' drop some files here, or click to select files\": \"Arraste e solte alguns arquivos aqui ou clique para selecionar arquivos\",\n \"ra_Drop file here\": \"Solte o arquivo aqui\",\n \"ra_Drop the files here...\": \"Solte o arquivo aqui ...\",\n \"ra_Duplicate name\": \"Nome duplicado\",\n \"ra_Edit ACL\": \"Editar ACL\",\n \"ra_Edit alias\": \"Editar alias\",\n \"ra_Edit custom config\": \"Editar configura\u00E7\u00E3o personalizada\",\n \"ra_Edit function\": \"Fun\u00E7\u00E3o de edi\u00E7\u00E3o\",\n \"ra_Edit object field\": \"Editar campo de objeto\",\n \"ra_Edit role\": \"Editar papel\",\n \"ra_Edit room\": \"Sala de edi\u00E7\u00E3o\",\n \"ra_Edit value\": \"Editar valor\",\n \"ra_Error\": \"Erro\",\n \"ra_Expand all nodes\": \"Expanda todos os n\u00F3s\",\n \"ra_Expand one step node\": \"Expanda um n\u00EDvel\",\n \"ra_Export data to %s file\": \"Exportar dados para o arquivo %s\",\n \"ra_Failed to open JSON File\": \"Falha ao abrir arquivo JSON\",\n \"ra_Fallback custom certificates\": \"Certificados personalizados alternativos\",\n \"ra_File is too big. Max %sk allowed. Try use SVG.\": \"O arquivo \u00E9 muito grande. Max %sk permitido. Tente usar SVG.\",\n \"ra_Filter\": \"Filtro\",\n \"ra_Filter files\": \"Filtrar arquivos\",\n \"ra_Folder name\": \"Nome da pasta\",\n \"ra_Folder \u2192 Channel \u2192 State\": \"Pasta \u2192 Canal \u2192 Estado\",\n \"ra_Folder \u2192 Device \u2192 Channel \u2192 State\": \"Pasta \u2192 Dispositivo \u2192 Canal \u2192 Estado\",\n \"ra_Folder \u2192 State\": \"Pasta \u2192 Estado\",\n \"ra_Folders always first\": \"Pastas sempre primeiro\",\n \"ra_Friday\": \"Sexta-feira\",\n \"ra_Good luck\": \"Boa sorte\",\n \"ra_Hide empty folders\": \"Esconder pastas vazias\",\n \"ra_If no file will be created in the folder, it will disappear after the browser closed\": \"Se nenhum arquivo for criado na pasta, ele desaparecer\u00E1 depois que o navegador for fechado\",\n \"ra_Import data from %s file\": \"Importar dados do arquivo %s\",\n \"ra_Import from %s\": \"Importar de %s\",\n \"ra_Instance %s is alive\": \"O %s da inst\u00E2ncia est\u00E1 ativo\",\n \"ra_Instance %s is not alive\": \"O %s da inst\u00E2ncia n\u00E3o est\u00E1 ativo\",\n \"ra_Instance is not alive\": \"A inst\u00E2ncia n\u00E3o est\u00E1 ativa\",\n \"ra_Invalid CRON\": \"CRON inv\u00E1lido\",\n \"ra_Invalid JSON\": \"JSON inv\u00E1lido\",\n \"ra_Invalid answer from server\": \"Resposta inv\u00E1lida do servidor\",\n \"ra_Invalid parent folder!\": \"Pasta pai inv\u00E1lida!\",\n \"ra_Invalid structure\": \"Estrutura inv\u00E1lida\",\n \"ra_JSON editor\": \"Editor JSON\",\n \"ra_Last change\": \"\u00DAltima mudan\u00E7a\",\n \"ra_Latitude\": \"Latitude\",\n \"ra_License %s\": \"Licen\u00E7a %s\",\n \"ra_License agreement\": \"Contrato de licen\u00E7a\",\n \"ra_License does not exist\": \"A licen\u00E7a n\u00E3o existe\",\n \"ra_License expired on %s\": \"A licen\u00E7a expirou em %s\",\n \"ra_License for other product \\\"%s\\\"\": \"Licen\u00E7a para outro produto \\\"%s\\\"\",\n \"ra_License is for version %s, but required version is %s.\": \"A licen\u00E7a \u00E9 para a vers\u00E3o %s, mas a vers\u00E3o necess\u00E1ria \u00E9 %s.\",\n \"ra_License must be converted\": \"A licen\u00E7a deve ser convertida para uma vers\u00E3o mais recente. Voc\u00EA pode faz\u00EA-lo em seu perfil iobroker.net.\",\n \"ra_License not found in license manager. Do you want to read licenses from iobroker.net?\": \"Licen\u00E7a n\u00E3o encontrada no gerenciador de licen\u00E7as. Deseja atualizar as licen\u00E7as do iobroker.net?\",\n \"ra_Listen on all IPs\": \"Ou\u00E7a em todos os IPs\",\n \"ra_Load configuration from file\": \"Carregar configura\u00E7\u00E3o do arquivo\",\n \"ra_Longitude\": \"Longitude\",\n \"ra_May not trigger \\\"updateLicenses\\\"\": \"Pode n\u00E3o acionar \\\"updateLicenses\\\"\",\n \"ra_Message\": \"mensagem\",\n \"ra_Monday\": \"Segunda-feira\",\n \"ra_Move down\": \"Mover para baixo\",\n \"ra_Move up\": \"Subir\",\n \"ra_Name\": \"Nome\",\n \"ra_No data found in file\": \"Nenhum dado encontrado no arquivo\",\n \"ra_No one license found in license manager\": \"Nenhuma licen\u00E7a encontrada no gerenciador de licen\u00E7as\",\n \"ra_No response from the backend\": \"Nenhuma resposta do backend\",\n \"ra_Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\": \"Os n\u00E3o especialistas podem criar novos objetos apenas em \\\"0_userdata.0\\\" ou \\\"alias.0\\\".\",\n \"ra_Not a number\": \"N\u00E3o \u00E9 um n\u00FAmero\",\n \"ra_Objects\": \"Objetos\",\n \"ra_Ok\": \"Est\u00E1 bem\",\n \"ra_On weekdays\": \"Nos dias \u00FAteis\",\n \"ra_Only following structures of objects are available:\": \"Apenas as seguintes estruturas de objetos est\u00E3o dispon\u00EDveis:\",\n \"ra_Only selected\": \"Apenas selecionado\",\n \"ra_Owner group\": \"Grupo propriet\u00E1rio\",\n \"ra_Owner user\": \"Usu\u00E1rio propriet\u00E1rio\",\n \"ra_Passwords are not equal!\": \"As senhas n\u00E3o s\u00E3o iguais!\",\n \"ra_Place your files here or click here to open the browse dialog\": \"Coloque seus arquivos aqui ou clique aqui para abrir a janela de navega\u00E7\u00E3o\",\n \"ra_Please confirm\": \"Por favor confirme\",\n \"ra_Please create license\": \"Crie uma licen\u00E7a\",\n \"ra_Please enter the license\": \"Por favor, insira a licen\u00E7a\",\n \"ra_Please select file...\": \"Selecione o arquivo...\",\n \"ra_Please select object ID...\": \"Selecione o ID do objeto ...\",\n \"ra_Port could be used by %s\": \"A porta pode ser usada por %s\",\n \"ra_Port is already used by %s\": \"A porta j\u00E1 est\u00E1 sendo usada por %s\",\n \"ra_Private certificate\": \"certificado privado\",\n \"ra_Product\": \"produtos\",\n \"ra_Public certificate\": \"certificado p\u00FAblico\",\n \"ra_Quality code\": \"Qualidade\",\n \"ra_Refresh tree\": \"Atualizar \u00E1rvore\",\n \"ra_Reload files\": \"Recarregar arquivos\",\n \"ra_Repeat\": \"Repita\",\n \"ra_Replace\": \"Substituir\",\n \"ra_Request timed out\": \"Solicita\u00E7\u00E3o expirou\",\n \"ra_Restrict to folder\": \"Restringir \u00E0 pasta\",\n \"ra_Root\": \"Raiz\",\n \"ra_Saturday\": \"S\u00E1bado\",\n \"ra_Save\": \"Salve \uE051\",\n \"ra_Save and close\": \"Salvar e fechar\",\n \"ra_Save configuration to file\": \"Salvar configura\u00E7\u00E3o em arquivo\",\n \"ra_Save objects tree as JSON file\": \"Salvar \u00E1rvore de objetos como arquivo JSON\",\n \"ra_Select all\": \"Selecionar tudo\",\n \"ra_Select color\": \"Selecione a cor\",\n \"ra_Select predefined icon\": \"Selecione o \u00EDcone predefinido\",\n \"ra_Select type of export\": \"Selecione o tipo de exporta\u00E7\u00E3o\",\n \"ra_Selected\": \"Selecionado\",\n \"ra_Selected %s object(s)\": \"%s objeto(s) selecionado(s)\",\n \"ra_Serial number (UUID)\": \"N\u00FAmero de s\u00E9rie (UUID)\",\n \"ra_Serial number (UUID) \\\"%s\\\" in license is for other device.\": \"O n\u00FAmero de s\u00E9rie (UUID) \\\"%s\\\" na licen\u00E7a \u00E9 para outro dispositivo.\",\n \"ra_Show all folders\": \"Mostrar todas as pastas\",\n \"ra_Show lines between rows\": \"Mostrar linhas entre as linhas\",\n \"ra_Show/Hide object descriptions\": \"Mostrar/ocultar descri\u00E7\u00F5es de objetos\",\n \"ra_Show/hide filter input\": \"Mostrar/ocultar entrada de filtro\",\n \"ra_Some data are not stored. Discard?\": \"Alguns dados n\u00E3o s\u00E3o armazenados. Descartar?\",\n \"ra_States\": \"Estados\",\n \"ra_Suitable license not found in license manager\": \"Licen\u00E7a adequada n\u00E3o encontrada no gerenciador de licen\u00E7as\",\n \"ra_Sunday\": \"Domingo\",\n \"ra_Suppress question for next %s minutes\": \"Suprimir pergunta nos pr\u00F3ximos %s minutos\",\n \"ra_System language\": \"Idioma do sistema\",\n \"ra_Take browser position\": \"Tomar posi\u00E7\u00E3o do navegador\",\n \"ra_Take position from system settings\": \"Tomar posi\u00E7\u00E3o a partir das configura\u00E7\u00F5es do sistema\",\n \"ra_The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\": \"Os especialistas podem criar objetos em qualquer lugar, exceto no segundo n\u00EDvel (por exemplo, \\\"vis.0\\\" ou \\\"javascript.0\\\").\",\n \"ra_The page you are looking for was not found\": \"A p\u00E1gina que voc\u00EA est\u00E1 procurando n\u00E3o foi encontrada\",\n \"ra_The schedule will be executed every minute. Are you sure?\": \"O agendamento ser\u00E1 executado a cada minuto. Tem certeza?\",\n \"ra_The schedule will be executed every second. Are you sure?\": \"O agendamento ser\u00E1 executado a cada segundo. Tem certeza?\",\n \"ra_Thursday\": \"Quinta-feira\",\n \"ra_Timestamp\": \"Timestamp\",\n \"ra_Toggle expert mode\": \"Alternar modo especialista\",\n \"ra_Toggle the states view\": \"Alternar a visualiza\u00E7\u00E3o dos estados\",\n \"ra_Toggle view mode\": \"Alternar modo de visualiza\u00E7\u00E3o\",\n \"ra_Too big\": \"Muito grande\",\n \"ra_Too small\": \"Muito pequeno\",\n \"ra_Transparent dialog\": \"Di\u00E1logo transparente\",\n \"ra_Tuesday\": \"Ter\u00E7a-feira\",\n \"ra_Unknown error\": \"Erro desconhecido\",\n \"ra_Unknown error!\": \"Erro desconhecido!\",\n \"ra_Update\": \"Atualizar\",\n \"ra_Upload file\": \"Subir arquivo\",\n \"ra_Use all available let's encrypt certificates\": \"Use todos os certificados dispon\u00EDveis vamos criptografar\",\n \"ra_Use iobroker.acme adapter for letsencrypt certificates\": \"Use o adaptador iobroker.acme para certificados letsencrypt\",\n \"ra_Use system settings for position\": \"Use as configura\u00E7\u00F5es do sistema para a posi\u00E7\u00E3o\",\n \"ra_Used system settings\": \"Configura\u00E7\u00F5es do sistema usadas\",\n \"ra_User files\": \"Arquivos do usu\u00E1rio\",\n \"ra_ValidTill\": \"V\u00E1lida at\u00E9\",\n \"ra_Value\": \"Valor\",\n \"ra_Version\": \"Vers\u00E3o\",\n \"ra_View file\": \"Visualizar arquivo\",\n \"ra_View: %s\": \"Visualizar: %s\",\n \"ra_Wednesday\": \"Quarta-feira\",\n \"ra_Width\": \"Largura\",\n \"ra_Yes\": \"Sim\",\n \"ra_You can export all objects or just the selected branch.\": \"Voc\u00EA pode exportar todos os objetos ou apenas a ramifica\u00E7\u00E3o selecionada.\",\n \"ra_You can filter entries by entering here some text\": \"Voc\u00EA pode filtrar as entradas digitando aqui algum texto\",\n \"ra___different__\": \"diferente\",\n \"ra_aclEveryone_read_object\": \"Todos podem ler objetos\",\n \"ra_aclEveryone_read_state\": \"Todos podem ler o estado\",\n \"ra_aclEveryone_write_object\": \"Todos podem escrever objetos\",\n \"ra_aclEveryone_write_state\": \"Todos podem escrever o estado\",\n \"ra_aclGroup_read_object\": \"O grupo pode ler o objeto\",\n \"ra_aclGroup_read_state\": \"O grupo pode ler o estado\",\n \"ra_aclGroup_write_object\": \"O grupo pode escrever o objeto\",\n \"ra_aclGroup_write_state\": \"O grupo pode escrever o estado\",\n \"ra_aclOwner_read_object\": \"O propriet\u00E1rio pode ler o objeto\",\n \"ra_aclOwner_read_state\": \"O propriet\u00E1rio pode ler o estado\",\n \"ra_aclOwner_write_object\": \"O propriet\u00E1rio pode escrever o objeto\",\n \"ra_aclOwner_write_state\": \"O propriet\u00E1rio pode escrever o estado\",\n \"ra_buttons\": \"Bot\u00F5es\",\n \"ra_changedFrom\": \"Mudou de\",\n \"ra_close\": \"fechar\",\n \"ra_create_boolean_state\": \"Criar estado booleano\",\n \"ra_create_channel\": \"Criar canal\",\n \"ra_create_device\": \"Criar dispositivo\",\n \"ra_create_number_state\": \"Criar estado num\u00E9rico\",\n \"ra_create_state\": \"Criar estado\",\n \"ra_create_string_state\": \"Criar estado de string\",\n \"ra_daysShortText\": \"d.\",\n \"ra_dow_Fr\": \"Fr\",\n \"ra_dow_Mo\": \"Mo\",\n \"ra_dow_Sa\": \"Sa\",\n \"ra_dow_Su\": \"Su\",\n \"ra_dow_Th\": \"\u00BA\",\n \"ra_dow_Tu\": \"Tu\",\n \"ra_dow_We\": \"N\u00F3s\",\n \"ra_expertMode\": \"Modo especialista\",\n \"ra_fileType_all\": \"Todos os arquivos\",\n \"ra_fileType_audio\": \"\u00E1udio\",\n \"ra_fileType_code\": \"C\u00F3digo/JSON\",\n \"ra_fileType_images\": \"Imagens\",\n \"ra_fileType_txt\": \"Texto\",\n \"ra_fileType_video\": \"V\u00EDdeo\",\n \"ra_fileType_video,\": \"V\u00EDdeo\",\n \"ra_filter_customs\": \"Configura\u00E7\u00F5es\",\n \"ra_filter_customs_without\": \"sem\",\n \"ra_filter_func\": \"Fun\u00E7\u00E3o\",\n \"ra_filter_id\": \"ID\",\n \"ra_filter_name\": \"Nome\",\n \"ra_filter_role\": \"Papel (Fun\u00E7\u00E3o)\",\n \"ra_filter_room\": \"Quarto\",\n \"ra_filter_type\": \"Tipo\",\n \"ra_import data from %s file\": \"Importar dados do arquivo %s\",\n \"ra_invalidConfig\": \"Configura\u00E7\u00F5es inv\u00E1lidas\",\n \"ra_lastChange\": \"\u00DAltima mudan\u00E7a\",\n \"ra_locally\": \"localmente\",\n \"ra_month_Apr\": \"abril\",\n \"ra_month_Aug\": \"agosto\",\n \"ra_month_Dec\": \"dezembro\",\n \"ra_month_Feb\": \"fevereiro\",\n \"ra_month_Jan\": \"janeiro\",\n \"ra_month_Jul\": \"julho\",\n \"ra_month_Jun\": \"junho\",\n \"ra_month_Mai\": \"Mai\",\n \"ra_month_Mar\": \"mar\u00E7o\",\n \"ra_month_Nov\": \"novembro\",\n \"ra_month_Oct\": \"outubro\",\n \"ra_month_Sep\": \"setembro\",\n \"ra_months_Apr\": \"abril\",\n \"ra_months_Aug\": \"agosto\",\n \"ra_months_Dec\": \"dezembro\",\n \"ra_months_Feb\": \"fevereiro\",\n \"ra_months_Jan\": \"janeiro\",\n \"ra_months_Jul\": \"julho\",\n \"ra_months_Jun\": \"junho\",\n \"ra_months_Mai\": \"Mai\",\n \"ra_months_Mar\": \"mar\u00E7o\",\n \"ra_months_Nov\": \"novembro\",\n \"ra_months_Oct\": \"outubro\",\n \"ra_months_Sep\": \"setembro\",\n \"ra_none\": \"Nenhum\",\n \"ra_object_changed_by\": \"Objeto alterado por\",\n \"ra_object_changed_by_user\": \"Objeto alterado pela \u00FAltima vez em\",\n \"ra_otherConfig\": \"Configura\u00E7\u00F5es de outro adaptador %s\",\n \"ra_qualityCode\": \"C\u00F3digo de qualidade\",\n \"ra_repeat\": \"repetir\",\n \"ra_select_folder_hint\": \"Para selecionar a pasta, basta segurar a tecla \\\"shift\\\" clicando na pasta.\",\n \"ra_state_changed_by\": \"Estado alterado por\",\n \"ra_state_changed_from\": \"Objeto alterado de\",\n \"ra_timestamp\": \"Timestamp\",\n \"ra_tooltip_ack\": \"Confirmado\",\n \"ra_tooltip_comment\": \"Comente\",\n \"ra_tooltip_copyState\": \"Copie o valor do estado\",\n \"ra_tooltip_customConfig\": \"Op\u00E7\u00F5es customizadas\",\n \"ra_tooltip_deleteObject\": \"Excluir objeto\",\n \"ra_tooltip_editObject\": \"Editar objeto\",\n \"ra_tooltip_editState\": \"Edite o valor do estado\",\n \"ra_tooltip_from\": \"De\",\n \"ra_tooltip_lc\": \"\u00DAltima altera\u00E7\u00E3o\",\n \"ra_tooltip_quality\": \"Qualidade\",\n \"ra_tooltip_ts\": \"Timestamp\",\n \"ra_tooltip_user\": \"Usu\u00E1rio\",\n \"ra_tooltip_value\": \"Valor\",\n \"ra_use seconds\": \"use segundos\",\n \"ra_val\": \"Valor\",\n \"ra_via internet\": \"via internet\",\n \"ra_warning_every_minute\": \"Aviso: O trabalho CRON ser\u00E1 executado a cada minuto durante o per\u00EDodo especificado!\",\n \"ra_warning_every_second\": \"Aviso: O trabalho CRON ser\u00E1 executado a cada segundo durante o per\u00EDodo especificado!\",\n \"sc_cron\": \"CRON\",\n \"sc_date\": \"Data\",\n \"sc_dates\": \"Dias\",\n \"sc_dow\": \"Dia\",\n \"sc_dows\": \"Dia da semana\",\n \"sc_every\": \"todos\",\n \"sc_everyN_dates\": \"a cada N dias\",\n \"sc_everyN_dow\": \"todo en\u00E9simo dia da semana\",\n \"sc_everyN_dows\": \"todos os N dias da semana\",\n \"sc_everyN_hours\": \"a cada N horas\",\n \"sc_everyN_minutes\": \"a cada N minutos\",\n \"sc_everyN_months\": \"a cada N meses\",\n \"sc_everyN_seconds\": \"a cada N segundos\",\n \"sc_every_dates\": \"todo dia\",\n \"sc_every_dow\": \"todos os dias da semana\",\n \"sc_every_dows\": \"todos os dias da semana\",\n \"sc_every_hours\": \"toda hora\",\n \"sc_every_minutes\": \"todo minuto\",\n \"sc_every_months\": \"todo m\u00EAs\",\n \"sc_every_seconds\": \"todo segundo\",\n \"sc_from\": \"de\",\n \"sc_hours\": \"horas\",\n \"sc_interval\": \"intervalo\",\n \"sc_intervalBetween\": \"intervalo entre\",\n \"sc_invalid_cron\": \"CRON inv\u00E1lido\",\n \"sc_minutes\": \"minutos\",\n \"sc_months\": \"meses\",\n \"sc_once\": \"uma vez\",\n \"sc_period\": \"per\u00EDodo\",\n \"sc_seconds\": \"segundos\",\n \"sc_simple\": \"simples\",\n \"sc_specific\": \"tempo espec\u00EDfico\",\n \"sc_specific_dates\": \"datas espec\u00EDficas\",\n \"sc_specific_dow\": \"dia(s) espec\u00EDfico(s) da semana\",\n \"sc_specific_dows\": \"dia espec\u00EDfico de semanas\",\n \"sc_specific_hours\": \"horas espec\u00EDficas\",\n \"sc_specific_minutes\": \"minutos espec\u00EDficos\",\n \"sc_specific_months\": \"meses espec\u00EDficos\",\n \"sc_specific_seconds\": \"segundos espec\u00EDficos\",\n \"sc_time\": \"tempo\",\n \"sc_to\": \"para\",\n \"sc_wizard\": \"assistente\",\n \"sch_all\": \"tudo\",\n \"sch_astroDay\": \"dia astral\",\n \"sch_astroNight\": \"noite astral\",\n \"sch_astro_dawn\": \"amanhecer\",\n \"sch_astro_dusk\": \"anoitecer\",\n \"sch_astro_goldenHour\": \"hora dourada\",\n \"sch_astro_goldenHourEnd\": \"Fim da hora dourada\",\n \"sch_astro_nadir\": \"nadir\",\n \"sch_astro_nauticalDawn\": \"Amanhecer n\u00E1utico\",\n \"sch_astro_nauticalDusk\": \"Anoitecer n\u00E1utico\",\n \"sch_astro_night\": \"noite\",\n \"sch_astro_nightEnd\": \"fim da noite\",\n \"sch_astro_solarNoon\": \"meio-dia solar\",\n \"sch_astro_sunrise\": \"nascer do sol\",\n \"sch_astro_sunriseEnd\": \"fim do nascer do sol\",\n \"sch_astro_sunset\": \"p\u00F4r do sol\",\n \"sch_astro_sunsetStart\": \"in\u00EDcio do p\u00F4r do sol\",\n \"sch_at\": \"\u00E0s\",\n \"sch_desc_atTime\": \"em %s\",\n \"sch_desc_everyDay\": \"todo dia\",\n \"sch_desc_everyHour\": \"toda hora\",\n \"sch_desc_everyMinute\": \"todo minuto\",\n \"sch_desc_everyMonth\": \"todo m\u00EAs\",\n \"sch_desc_everyNDay\": \"a cada %s dias\",\n \"sch_desc_everyNHours\": \"a cada %s horas\",\n \"sch_desc_everyNMinutes\": \"a cada %s minutos\",\n \"sch_desc_everyNMonths\": \"a cada %s meses\",\n \"sch_desc_everyNWeeks\": \"a cada %s semanas\",\n \"sch_desc_everyNYears\": \"a cada %s anos\",\n \"sch_desc_everyWeek\": \"toda semana\",\n \"sch_desc_everyYear\": \"todo ano\",\n \"sch_desc_intervalFromTo\": \"de %s para %s\",\n \"sch_desc_never\": \"nunca\",\n \"sch_desc_onDate\": \"em %s de %s\",\n \"sch_desc_onDates\": \"em %s e %s de\",\n \"sch_desc_onEveryDate\": \"em toda data de\",\n \"sch_desc_onMonth\": \"%s\",\n \"sch_desc_onMonths\": \"%s e %s\",\n \"sch_desc_onWeekday\": \"em %s\",\n \"sch_desc_onWeekdays\": \"em %s e %s\",\n \"sch_desc_onWeekends\": \"nos fins de semana\",\n \"sch_desc_onWorkdays\": \"em dias \u00FAteis\",\n \"sch_desc_onceInPast\": \"n\u00E3o ser\u00E1 mais executado, porque o come\u00E7o est\u00E1 no passado\",\n \"sch_desc_once_on\": \"em %s\",\n \"sch_desc_validFrom\": \"de %s\",\n \"sch_desc_validFromTo\": \"Executar de at\u00E9\",\n \"sch_desc_validTo\": \"at\u00E9 %s\",\n \"sch_every\": \"cada\",\n \"sch_exactTime\": \"tempo espec\u00EDfico\",\n \"sch_from\": \"de\",\n \"sch_fromTo\": \"de a\u00B4t\",\n \"sch_intervalTime\": \"tempo de intervalo\",\n \"sch_invert\": \"invertido\",\n \"sch_no_one\": \"nenhum\",\n \"sch_on\": \"em\",\n \"sch_period\": \"per\u00EDodo\",\n \"sch_periodDaily\": \"diariamente\",\n \"sch_periodDates\": \"datas\",\n \"sch_periodDay\": \"dia\",\n \"sch_periodEvery\": \"todos\",\n \"sch_periodEveryDay\": \"todo dia\",\n \"sch_periodEveryMonth\": \"todo m\u00EAs\",\n \"sch_periodEveryWeek\": \"toda semana\",\n \"sch_periodEveryYear\": \"todo ano\",\n \"sch_periodHours\": \"horas\",\n \"sch_periodMinutes\": \"minutos\",\n \"sch_periodMonth\": \"m\u00EAs\",\n \"sch_periodMonthly\": \"por m\u00EAs\",\n \"sch_periodOnce\": \"uma vez\",\n \"sch_periodSpecificMonths\": \"meses espec\u00EDficos\",\n \"sch_periodWeek\": \"semana\",\n \"sch_periodWeekdays\": \"dias \u00FAteis\",\n \"sch_periodWeekend\": \"final de semana\",\n \"sch_periodWeekly\": \"semanal\",\n \"sch_periodWorkdays\": \"dias \u00FAteis\",\n \"sch_periodYear\": \"ano\",\n \"sch_periodYearly\": \"anual\",\n \"sch_specificTime\": \"tempo espec\u00EDfico\",\n \"sch_time\": \"tempo\",\n \"sch_to\": \"para\",\n \"sch_valid\": \"v\u00E1lido\",\n \"sch_validFrom\": \"de\",\n \"sch_validTo\": \"para\",\n \"sch_wholeDay\": \"dia inteiro\",\n \"sch_yearEveryMonth\": \"todo m\u00EAs\"\n}\n", "{\n \"ra_%s links from aliases\": \"%s links van aliassen\",\n \"ra_%s object(s) processed\": \"%s object(en) verwerkt\",\n \"ra_%s was imported\": \"%s is ge\u00EFmporteerd\",\n \"ra_Accept license\": \"Accepteer licentie\",\n \"ra_Add new child object to selected parent\": \"Voeg een nieuw kindobject toe aan het geselecteerde bovenliggende object\",\n \"ra_Add objects tree from JSON file\": \"Objectenboom toevoegen vanuit JSON-bestand\",\n \"ra_Add row\": \"Voeg een rij toe\",\n \"ra_Advanced options\": \"Geavanceerde mogelijkheden\",\n \"ra_All items are filtered out\": \"Alle items zijn uitgefilterd\",\n \"ra_All objects\": \"Alle objecten\",\n \"ra_Append\": \"toevoegen\",\n \"ra_Append %s entries or replace existing?\": \"%s ingangen toevoegen of bestaande vervangen?\",\n \"ra_Append or replace?\": \"Toevoegen of vervangen?\",\n \"ra_Are you sure?\": \"Weet je het zeker?\",\n \"ra_Auto (no custom columns)\": \"Auto (geen aangepaste kolommen)\",\n \"ra_Back to %s\": \"Terug naar %s\",\n \"ra_Background image\": \"Achtergrond afbeelding\",\n \"ra_Cancel\": \"Annuleer\",\n \"ra_Cannot add items with set filter\": \"Kan geen items toevoegen met ingestelde filter\",\n \"ra_Cannot decode license\": \"Kan licentie niet decoderen\",\n \"ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser\": \"Kan positie niet bepalen: systeeminstellingen zijn leeg en GPS-detectie is uitgeschakeld in browser\",\n \"ra_Cannot find \\\"%s\\\"\": \"Kan \\\"%s\\\" niet vinden\",\n \"ra_Cannot read \\\"%s\\\"\": \"Kan \\\"%s\\\" niet lezen\",\n \"ra_Cannot read licenses: %s\": \"Kan licenties niet lezen: %s\",\n \"ra_Cannot retrieve options, as instance is offline\": \"Kan opties niet ophalen, omdat instantie offline is\",\n \"ra_Cannot update attribute, because not found in the object\": \"Kan kenmerk niet bijwerken, omdat het niet in het object is gevonden\",\n \"ra_Cannot upload\": \"Kan niet uploaden\",\n \"ra_Categories\": \"Categorie\u00EBn\",\n \"ra_Chained certificate\": \"Geketend certificaat\",\n \"ra_Change color theme\": \"Kleurthema wijzigen\",\n \"ra_Changed from\": \"Veranderd van\",\n \"ra_Channel \u2192 State\": \"Kanaal \u2192 Staat\",\n \"ra_Check license\": \"Licentie controleren\",\n \"ra_Checked\": \"Gecontroleerd\",\n \"ra_Clear\": \"Verwijderen\",\n \"ra_Clear filter\": \"Filter wissen\",\n \"ra_Clear icon\": \"Pictogram wissen\",\n \"ra_Clone current row\": \"Kloon de huidige rij\",\n \"ra_Close\": \"Dichtbij\",\n \"ra_Collapse all nodes\": \"Vouw alle knooppunten samen\",\n \"ra_Collapse one step node\": \"E\u00E9n niveau samenvouwen\",\n \"ra_Commercial\": \"Reclame\",\n \"ra_Configure\": \"Configureren\",\n \"ra_Configure visible columns\": \"Configureer zichtbare kolommen\",\n \"ra_Confirm deletion of %s\": \"Bevestig het verwijderen van %s\",\n \"ra_Connected\": \"Verbonden\",\n \"ra_Copied\": \"Gekopieerd\",\n \"ra_Copied %s\": \"\\\"%s\\\" gekopieerd\",\n \"ra_Copy content\": \"Inhoud kopi\u00EBren\",\n \"ra_Create\": \"Cre\u00EBer\",\n \"ra_Create alias\": \"Alias maken\",\n \"ra_Create folder\": \"Map aanmaken\",\n \"ra_Create new folder in %s\": \"Maak een nieuwe map in %s\",\n \"ra_Crop\": \"Bijsnijden\",\n \"ra_Define CRON...\": \"Definieer CRON...\",\n \"ra_Define functions\": \"Definieer functies\",\n \"ra_Define rooms\": \"Definieer kamers\",\n \"ra_Define schedule\": \"Definieer schema\",\n \"ra_Define schedule...\": \"Schema defini\u00EBren ...\",\n \"ra_Del\": \"Delete\",\n \"ra_Delete\": \"Verwijderen\",\n \"ra_Delete (no confirm for 5 mins)\": \"Verwijderen (geen bevestiging gedurende 5 minuten)\",\n \"ra_Delete current row\": \"Huidige rij verwijderen\",\n \"ra_Deselect all\": \"Deselecteer alles\",\n \"ra_Device \u2192 Channel \u2192 State\": \"Apparaat \u2192 Kanaal \u2192 Staat\",\n \"ra_Discard\": \"Weggooien\",\n \"ra_Disconnected\": \"Verbinding verbroken\",\n \"ra_Do not export values of states\": \"Exporteer geen waarden van staten\",\n \"ra_Do not use let's encrypt\": \"Gebruik geen let's encrypt\",\n \"ra_Double click to reset table layout\": \"Dubbelklik om de tafelindeling te resetten\",\n \"ra_Drag 'n' drop some files here, or click to select files\": \"Sleep enkele bestanden hierheen, of klik om bestanden te selecteren\",\n \"ra_Drop file here\": \"Zet het bestand hier neer\",\n \"ra_Drop the files here...\": \"Zet het bestand hier neer...\",\n \"ra_Duplicate name\": \"Dubbele naam\",\n \"ra_Edit ACL\": \"ACL bewerken\",\n \"ra_Edit alias\": \"Alias bewerken\",\n \"ra_Edit custom config\": \"Bewerk aangepaste config\",\n \"ra_Edit function\": \"Bewerkingsfunctie\",\n \"ra_Edit object field\": \"Bewerk objectveld\",\n \"ra_Edit role\": \"Rol bewerken\",\n \"ra_Edit room\": \"Kamer bewerken\",\n \"ra_Edit value\": \"Waarde bewerken\",\n \"ra_Error\": \"Fout\",\n \"ra_Expand all nodes\": \"Vouw alle knooppunten uit\",\n \"ra_Expand one step node\": \"Vouw een niveau uit\",\n \"ra_Export data to %s file\": \"Exporteer gegevens naar %s bestand\",\n \"ra_Failed to open JSON File\": \"JSON-bestand kan niet worden geopend\",\n \"ra_Fallback custom certificates\": \"Fallback aangepaste certificaten\",\n \"ra_File is too big. Max %sk allowed. Try use SVG.\": \"Bestand is te groot. Max. %sk toegestaan. Probeer SVG te gebruiken.\",\n \"ra_Filter\": \"Filter\",\n \"ra_Filter files\": \"Bestanden filteren\",\n \"ra_Folder name\": \"Naam van de map\",\n \"ra_Folder \u2192 Channel \u2192 State\": \"Map \u2192 Kanaal \u2192 Staat\",\n \"ra_Folder \u2192 Device \u2192 Channel \u2192 State\": \"Map \u2192 Apparaat \u2192 Kanaal \u2192 Staat\",\n \"ra_Folder \u2192 State\": \"Map \u2192 Staat\",\n \"ra_Folders always first\": \"Mappen altijd eerst\",\n \"ra_Friday\": \"Vrijdag\",\n \"ra_Good luck\": \"Veel geluk\",\n \"ra_Hide empty folders\": \"Verberg lege mappen\",\n \"ra_If no file will be created in the folder, it will disappear after the browser closed\": \"Als er geen bestand in de map wordt gemaakt, verdwijnt het nadat de browser is gesloten\",\n \"ra_Import data from %s file\": \"Importeer gegevens uit %s bestand\",\n \"ra_Import from %s\": \"Importeren uit %s\",\n \"ra_Instance %s is alive\": \"Instantie %s leeft\",\n \"ra_Instance %s is not alive\": \"Instantie %s is niet actief\",\n \"ra_Instance is not alive\": \"Instantie leeft niet\",\n \"ra_Invalid CRON\": \"Ongeldige CRON\",\n \"ra_Invalid JSON\": \"Ongeldige JSON\",\n \"ra_Invalid answer from server\": \"Ongeldig antwoord van de server\",\n \"ra_Invalid parent folder!\": \"Ongeldige bovenliggende map!\",\n \"ra_Invalid structure\": \"Ongeldige structuur\",\n \"ra_JSON editor\": \"JSON-editor\",\n \"ra_Last change\": \"Laatste wijziging\",\n \"ra_Latitude\": \"Breedtegraad\",\n \"ra_License %s\": \"Licentie %s\",\n \"ra_License agreement\": \"Licentieovereenkomst\",\n \"ra_License does not exist\": \"Licentie bestaat niet\",\n \"ra_License expired on %s\": \"Licentie verlopen op %s\",\n \"ra_License for other product \\\"%s\\\"\": \"Licentie voor ander product \\\"%s\\\"\",\n \"ra_License is for version %s, but required version is %s.\": \"Licentie is voor versie %s, maar vereiste versie is %s.\",\n \"ra_License must be converted\": \"Licentie moet worden omgezet naar nieuwere versie. U kunt dit doen in uw iobroker.net-profiel.\",\n \"ra_License not found in license manager. Do you want to read licenses from iobroker.net?\": \"Licentie niet gevonden in licentiebeheer. Wilt u licenties van iobroker.net bijwerken?\",\n \"ra_Listen on all IPs\": \"Luister op alle IP's\",\n \"ra_Load configuration from file\": \"Laad configuratie uit bestand\",\n \"ra_Longitude\": \"Lengtegraad\",\n \"ra_May not trigger \\\"updateLicenses\\\"\": \"Activeert mogelijk niet \\\"updateLicenses\\\"\",\n \"ra_Message\": \"Bericht\",\n \"ra_Monday\": \"Maandag\",\n \"ra_Move down\": \"Naar beneden verplaatsen\",\n \"ra_Move up\": \"Omhoog gaan\",\n \"ra_Name\": \"Naam\",\n \"ra_No data found in file\": \"Geen gegevens gevonden in bestand\",\n \"ra_No one license found in license manager\": \"Geen enkele licentie gevonden in licentiebeheer\",\n \"ra_No response from the backend\": \"Geen reactie van de backend\",\n \"ra_Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\": \"Niet-experts mogen alleen nieuwe objecten maken in \\\"0_userdata.0\\\" of \\\"alias.0\\\".\",\n \"ra_Not a number\": \"Geen nummer\",\n \"ra_Objects\": \"Voorwerpen\",\n \"ra_Ok\": \"OK\",\n \"ra_On weekdays\": \"Op weekdagen\",\n \"ra_Only following structures of objects are available:\": \"Alleen de volgende structuren van objecten zijn beschikbaar:\",\n \"ra_Only selected\": \"Alleen geselecteerd\",\n \"ra_Owner group\": \"Eigenaarsgroep\",\n \"ra_Owner user\": \"Eigenaar gebruiker\",\n \"ra_Passwords are not equal!\": \"Wachtwoorden zijn niet gelijk!\",\n \"ra_Place your files here or click here to open the browse dialog\": \"Plaats uw bestanden hier of klik hier om het bladervenster te openen\",\n \"ra_Please confirm\": \"Bevestig alstublieft\",\n \"ra_Please create license\": \"Maak een licentie aan\",\n \"ra_Please enter the license\": \"Voer de licentie in\",\n \"ra_Please select file...\": \"Selecteer bestand...\",\n \"ra_Please select object ID...\": \"Selecteer object-ID ...\",\n \"ra_Port could be used by %s\": \"Poort kan worden gebruikt door %s\",\n \"ra_Port is already used by %s\": \"Poort wordt al gebruikt door %s\",\n \"ra_Private certificate\": \"Priv\u00E9 certificaat\",\n \"ra_Product\": \"Product\",\n \"ra_Public certificate\": \"Openbaar certificaat\",\n \"ra_Quality code\": \"Kwaliteit\",\n \"ra_Refresh tree\": \"Vernieuw de boom\",\n \"ra_Reload files\": \"Laad bestanden opnieuw\",\n \"ra_Repeat\": \"Herhaling\",\n \"ra_Replace\": \"Vervangen\",\n \"ra_Request timed out\": \"Verzoek verlopen\",\n \"ra_Restrict to folder\": \"Beperken tot map\",\n \"ra_Root\": \"Wortel\",\n \"ra_Saturday\": \"Zaterdag\",\n \"ra_Save\": \"Sparen\",\n \"ra_Save and close\": \"Opslaan en afsluiten\",\n \"ra_Save configuration to file\": \"Sla de configuratie op in een bestand\",\n \"ra_Save objects tree as JSON file\": \"Sla de objectenboom op als JSON-bestand\",\n \"ra_Select all\": \"Selecteer alles\",\n \"ra_Select color\": \"Selecteer kleur\",\n \"ra_Select predefined icon\": \"Selecteer voorgedefinieerd pictogram\",\n \"ra_Select type of export\": \"Selecteer het type export\",\n \"ra_Selected\": \"Geselecteerd\",\n \"ra_Selected %s object(s)\": \"Geselecteerde %s object(en)\",\n \"ra_Serial number (UUID)\": \"Serienummer (UUID)\",\n \"ra_Serial number (UUID) \\\"%s\\\" in license is for other device.\": \"Serienummer (UUID) \\\"%s\\\" in licentie is voor ander apparaat.\",\n \"ra_Show all folders\": \"Toon alle mappen\",\n \"ra_Show lines between rows\": \"Toon lijnen tussen rijen\",\n \"ra_Show/Hide object descriptions\": \"Toon/verberg objectbeschrijvingen\",\n \"ra_Show/hide filter input\": \"Filterinvoer weergeven/verbergen\",\n \"ra_Some data are not stored. Discard?\": \"Sommige gegevens worden niet opgeslagen. Weggooien?\",\n \"ra_States\": \"Staten\",\n \"ra_Suitable license not found in license manager\": \"Geschikte licentie niet gevonden in licentiebeheer\",\n \"ra_Sunday\": \"Zondag\",\n \"ra_Suppress question for next %s minutes\": \"Vraag de volgende %s minuten onderdrukken\",\n \"ra_System language\": \"Systeemtaal\",\n \"ra_Take browser position\": \"Positie innemen vanuit de browser\",\n \"ra_Take position from system settings\": \"Neem positie over van systeeminstellingen\",\n \"ra_The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\": \"De experts kunnen overal objecten maken, behalve vanaf het tweede niveau (bijv. \\\"Vis.0\\\" of \\\"javascript.0\\\").\",\n \"ra_The page you are looking for was not found\": \"De pagina die u zoekt is niet gevonden\",\n \"ra_The schedule will be executed every minute. Are you sure?\": \"Het schema wordt elke minuut uitgevoerd. Weet u het zeker?\",\n \"ra_The schedule will be executed every second. Are you sure?\": \"Het schema wordt elke seconde uitgevoerd. Weet je het zeker?\",\n \"ra_Thursday\": \"Donderdag\",\n \"ra_Timestamp\": \"Tijdstempel\",\n \"ra_Toggle expert mode\": \"Schakel tussen expertmodus\",\n \"ra_Toggle the states view\": \"Schakel de statusweergave in of uit\",\n \"ra_Toggle view mode\": \"Schakelen tussen weergavemodus\",\n \"ra_Too big\": \"Te groot\",\n \"ra_Too small\": \"Te klein\",\n \"ra_Transparent dialog\": \"Transparant dialoogvenster\",\n \"ra_Tuesday\": \"Dinsdag\",\n \"ra_Unknown error\": \"Onbekende fout\",\n \"ra_Unknown error!\": \"Onbekende fout!\",\n \"ra_Update\": \"Bijwerken\",\n \"ra_Upload file\": \"Upload bestand\",\n \"ra_Use all available let's encrypt certificates\": \"Gebruik alle beschikbare Let's Encrypt-certificaten\",\n \"ra_Use iobroker.acme adapter for letsencrypt certificates\": \"Gebruik de iobroker.acme-adapter voor letsencrypt-certificaten\",\n \"ra_Use system settings for position\": \"Gebruik systeeminstellingen voor positie\",\n \"ra_Used system settings\": \"Gebruikte systeeminstellingen\",\n \"ra_User files\": \"Gebruikersbestanden\",\n \"ra_ValidTill\": \"Geldig tot\",\n \"ra_Value\": \"Waarde\",\n \"ra_Version\": \"Versie\",\n \"ra_View file\": \"Bestand bekijken\",\n \"ra_View: %s\": \"Bekijk: %s\",\n \"ra_Wednesday\": \"Woensdag\",\n \"ra_Width\": \"Breedte\",\n \"ra_Yes\": \"Ja\",\n \"ra_You can export all objects or just the selected branch.\": \"U kunt alle objecten of alleen de geselecteerde tak exporteren.\",\n \"ra_You can filter entries by entering here some text\": \"U kunt items filteren door hier wat tekst in te voeren\",\n \"ra___different__\": \"verschillend\",\n \"ra_aclEveryone_read_object\": \"Iedereen kan object lezen\",\n \"ra_aclEveryone_read_state\": \"Iedereen kan staat lezen\",\n \"ra_aclEveryone_write_object\": \"Iedereen kan object schrijven\",\n \"ra_aclEveryone_write_state\": \"Iedereen kan staat schrijven\",\n \"ra_aclGroup_read_object\": \"Groep kan object lezen\",\n \"ra_aclGroup_read_state\": \"Groep kan status lezen\",\n \"ra_aclGroup_write_object\": \"Groep kan object schrijven\",\n \"ra_aclGroup_write_state\": \"Groep kan staat schrijven\",\n \"ra_aclOwner_read_object\": \"Eigenaar kan object lezen\",\n \"ra_aclOwner_read_state\": \"Eigenaar kan staat lezen\",\n \"ra_aclOwner_write_object\": \"Eigenaar kan object schrijven\",\n \"ra_aclOwner_write_state\": \"Eigenaar kan staat schrijven\",\n \"ra_buttons\": \"Toetsen\",\n \"ra_changedFrom\": \"Veranderd van\",\n \"ra_close\": \"dichtbij\",\n \"ra_create_boolean_state\": \"Cre\u00EBer een Booleaanse status\",\n \"ra_create_channel\": \"Kanaal maken\",\n \"ra_create_device\": \"Apparaat maken\",\n \"ra_create_number_state\": \"Nummerstatus maken\",\n \"ra_create_state\": \"Staat cre\u00EBren\",\n \"ra_create_string_state\": \"Tekenreeksstatus maken\",\n \"ra_daysShortText\": \"d.\",\n \"ra_dow_Fr\": \"Fr\",\n \"ra_dow_Mo\": \"Mo\",\n \"ra_dow_Sa\": \"Za\",\n \"ra_dow_Su\": \"Zo\",\n \"ra_dow_Th\": \"Th\",\n \"ra_dow_Tu\": \"Tu\",\n \"ra_dow_We\": \"Wij\",\n \"ra_expertMode\": \"Expert modus\",\n \"ra_fileType_all\": \"Alle bestanden\",\n \"ra_fileType_audio\": \"Audio\",\n \"ra_fileType_code\": \"Code/JSON\",\n \"ra_fileType_images\": \"Afbeeldingen\",\n \"ra_fileType_txt\": \"Tekst\",\n \"ra_fileType_video\": \"Video\",\n \"ra_fileType_video,\": \"Video\",\n \"ra_filter_customs\": \"Instellingen\",\n \"ra_filter_customs_without\": \"zonder\",\n \"ra_filter_func\": \"Functie\",\n \"ra_filter_id\": \"ID\",\n \"ra_filter_name\": \"Naam\",\n \"ra_filter_role\": \"Rol\",\n \"ra_filter_room\": \"Kamer\",\n \"ra_filter_type\": \"Type\",\n \"ra_import data from %s file\": \"Importeer gegevens uit %s bestand\",\n \"ra_invalidConfig\": \"Ongeldige instellingen\",\n \"ra_lastChange\": \"Laatste wijziging\",\n \"ra_locally\": \"plaatselijk\",\n \"ra_month_Apr\": \"april\",\n \"ra_month_Aug\": \"aug\",\n \"ra_month_Dec\": \"dec\",\n \"ra_month_Feb\": \"februari\",\n \"ra_month_Jan\": \"jan\",\n \"ra_month_Jul\": \"jul\",\n \"ra_month_Jun\": \"juni\",\n \"ra_month_Mai\": \"Mei\",\n \"ra_month_Mar\": \"mrt\",\n \"ra_month_Nov\": \"nov\",\n \"ra_month_Oct\": \"Okt\",\n \"ra_month_Sep\": \"sept\",\n \"ra_months_Apr\": \"april\",\n \"ra_months_Aug\": \"aug\",\n \"ra_months_Dec\": \"dec\",\n \"ra_months_Feb\": \"februari\",\n \"ra_months_Jan\": \"jan\",\n \"ra_months_Jul\": \"jul\",\n \"ra_months_Jun\": \"juni\",\n \"ra_months_Mai\": \"Mei\",\n \"ra_months_Mar\": \"mrt\",\n \"ra_months_Nov\": \"nov\",\n \"ra_months_Oct\": \"Okt\",\n \"ra_months_Sep\": \"sept\",\n \"ra_none\": \"geen\",\n \"ra_object_changed_by\": \"Object veranderd door\",\n \"ra_object_changed_by_user\": \"Object voor het laatst gewijzigd om\",\n \"ra_otherConfig\": \"Instellingen van andere adapter %s\",\n \"ra_qualityCode\": \"Kwaliteitscode\",\n \"ra_repeat\": \"herhalen\",\n \"ra_select_folder_hint\": \"Om een map te selecteren, houdt u gewoon de toets \\\"shift\\\" ingedrukt door op de map te klikken.\",\n \"ra_state_changed_by\": \"Staat veranderd door\",\n \"ra_state_changed_from\": \"Object veranderd van\",\n \"ra_timestamp\": \"Tijdstempel\",\n \"ra_tooltip_ack\": \"Erkende vlag\",\n \"ra_tooltip_comment\": \"Opmerking\",\n \"ra_tooltip_copyState\": \"Kopieer de statuswaarde\",\n \"ra_tooltip_customConfig\": \"Aangepaste instellingen\",\n \"ra_tooltip_deleteObject\": \"Object verwijderen\",\n \"ra_tooltip_editObject\": \"Object bewerken\",\n \"ra_tooltip_editState\": \"Bewerk de statuswaarde\",\n \"ra_tooltip_from\": \"Van\",\n \"ra_tooltip_lc\": \"Laatst gewijzigd\",\n \"ra_tooltip_quality\": \"Kwaliteit\",\n \"ra_tooltip_ts\": \"Tijdstempel\",\n \"ra_tooltip_user\": \"Gebruiker\",\n \"ra_tooltip_value\": \"Waarde\",\n \"ra_use seconds\": \"gebruik seconden\",\n \"ra_val\": \"Waarde\",\n \"ra_via internet\": \"via internet\",\n \"ra_warning_every_minute\": \"Waarschuwing: De CRON-taak wordt elke minuut uitgevoerd gedurende de opgegeven periode!\",\n \"ra_warning_every_second\": \"Waarschuwing: De CRON-taak wordt elke seconde uitgevoerd gedurende de opgegeven periode!\",\n \"sc_cron\": \"CRON\",\n \"sc_date\": \"Datum\",\n \"sc_dates\": \"data\",\n \"sc_dow\": \"Dag\",\n \"sc_dows\": \"Dag van de week\",\n \"sc_every\": \"elk\",\n \"sc_everyN_dates\": \"elke N dagen\",\n \"sc_everyN_dow\": \"elke N-de dag van de week\",\n \"sc_everyN_dows\": \"elke N dag van de week\",\n \"sc_everyN_hours\": \"elke N uur\",\n \"sc_everyN_minutes\": \"elke N minuten\",\n \"sc_everyN_months\": \"elke N maanden\",\n \"sc_everyN_seconds\": \"elke N seconden\",\n \"sc_every_dates\": \"elke dag\",\n \"sc_every_dow\": \"elke dag van de week\",\n \"sc_every_dows\": \"elke dag van de week\",\n \"sc_every_hours\": \"elk uur\",\n \"sc_every_minutes\": \"elke minuut\",\n \"sc_every_months\": \"elke maand\",\n \"sc_every_seconds\": \"elke seconde\",\n \"sc_from\": \"Van\",\n \"sc_hours\": \"uren\",\n \"sc_interval\": \"Interval\",\n \"sc_intervalBetween\": \"Interval tussen\",\n \"sc_invalid_cron\": \"Ongeldige CRON\",\n \"sc_minutes\": \"Notulen\",\n \"sc_months\": \"maanden\",\n \"sc_once\": \"Een keer\",\n \"sc_period\": \"Periode\",\n \"sc_seconds\": \"seconden\",\n \"sc_simple\": \"Gemakkelijk\",\n \"sc_specific\": \"Specifieke tijd\",\n \"sc_specific_dates\": \"specifieke data\",\n \"sc_specific_dow\": \"specifieke dag(en) van de week\",\n \"sc_specific_dows\": \"specifieke dag van weken\",\n \"sc_specific_hours\": \"specifieke uren\",\n \"sc_specific_minutes\": \"specifieke minuten\",\n \"sc_specific_months\": \"specifieke maanden\",\n \"sc_specific_seconds\": \"specifieke seconden\",\n \"sc_time\": \"Tijd\",\n \"sc_to\": \"Naar\",\n \"sc_wizard\": \"tovenaar\",\n \"sch_all\": \"allemaal\",\n \"sch_astroDay\": \"Astro-dag\",\n \"sch_astroNight\": \"Astro-nacht\",\n \"sch_astro_dawn\": \"Dageraad\",\n \"sch_astro_dusk\": \"Schemer\",\n \"sch_astro_goldenHour\": \"gouden uur\",\n \"sch_astro_goldenHourEnd\": \"Gouden uur einde\",\n \"sch_astro_nadir\": \"Nadir\",\n \"sch_astro_nauticalDawn\": \"Nautische dageraad\",\n \"sch_astro_nauticalDusk\": \"Nautische schemering\",\n \"sch_astro_night\": \"Nacht\",\n \"sch_astro_nightEnd\": \"Nacht einde\",\n \"sch_astro_solarNoon\": \"Zonne middag\",\n \"sch_astro_sunrise\": \"zonsopkomst\",\n \"sch_astro_sunriseEnd\": \"Sunrise einde\",\n \"sch_astro_sunset\": \"Zonsondergang\",\n \"sch_astro_sunsetStart\": \"Zonsondergang start\",\n \"sch_at\": \"Bij\",\n \"sch_desc_atTime\": \"op %s\",\n \"sch_desc_everyDay\": \"elke dag\",\n \"sch_desc_everyHour\": \"elk uur\",\n \"sch_desc_everyMinute\": \"elke minuut\",\n \"sch_desc_everyMonth\": \"elke maand\",\n \"sch_desc_everyNDay\": \"elke %s dag\",\n \"sch_desc_everyNHours\": \"elke %s uur\",\n \"sch_desc_everyNMinutes\": \"elke %s minuten\",\n \"sch_desc_everyNMonths\": \"elke %s maanden\",\n \"sch_desc_everyNWeeks\": \"elke %s weken\",\n \"sch_desc_everyNYears\": \"elke %s jaar\",\n \"sch_desc_everyWeek\": \"elke week\",\n \"sch_desc_everyYear\": \"elk jaar\",\n \"sch_desc_intervalFromTo\": \"van %s tot %s\",\n \"sch_desc_never\": \"nooit\",\n \"sch_desc_onDate\": \"op %s van %s\",\n \"sch_desc_onDates\": \"op %s en %s van\",\n \"sch_desc_onEveryDate\": \"op elke datum van\",\n \"sch_desc_onMonth\": \"%s\",\n \"sch_desc_onMonths\": \"%s en %s\",\n \"sch_desc_onWeekday\": \"op %s\",\n \"sch_desc_onWeekdays\": \"op %s en %s\",\n \"sch_desc_onWeekends\": \"in het weekend\",\n \"sch_desc_onWorkdays\": \"op werkdagen\",\n \"sch_desc_onceInPast\": \"zal niet meer worden uitgevoerd, omdat start verleden tijd is\",\n \"sch_desc_once_on\": \"op %s\",\n \"sch_desc_validFrom\": \"van %s\",\n \"sch_desc_validFromTo\": \"Uitvoeren van tot\",\n \"sch_desc_validTo\": \"tot %s\",\n \"sch_every\": \"elk\",\n \"sch_exactTime\": \"Specifieke tijd\",\n \"sch_from\": \"van\",\n \"sch_fromTo\": \"Van naar\",\n \"sch_intervalTime\": \"Interval tijd\",\n \"sch_invert\": \"omkeren\",\n \"sch_no_one\": \"geen\",\n \"sch_on\": \"Aan\",\n \"sch_period\": \"Periode\",\n \"sch_periodDaily\": \"Dagelijks\",\n \"sch_periodDates\": \"data\",\n \"sch_periodDay\": \"Dag\",\n \"sch_periodEvery\": \"elk\",\n \"sch_periodEveryDay\": \"Elke dag\",\n \"sch_periodEveryMonth\": \"Elke maand\",\n \"sch_periodEveryWeek\": \"Elke week\",\n \"sch_periodEveryYear\": \"Elk jaar\",\n \"sch_periodHours\": \"uren\",\n \"sch_periodMinutes\": \"Notulen\",\n \"sch_periodMonth\": \"maand\",\n \"sch_periodMonthly\": \"Maandelijks\",\n \"sch_periodOnce\": \"Een keer\",\n \"sch_periodSpecificMonths\": \"Specifieke maanden\",\n \"sch_periodWeek\": \"Week\",\n \"sch_periodWeekdays\": \"Doordeweekse dagen\",\n \"sch_periodWeekend\": \"Weekend\",\n \"sch_periodWeekly\": \"Wekelijks\",\n \"sch_periodWorkdays\": \"werkdagen\",\n \"sch_periodYear\": \"Jaar\",\n \"sch_periodYearly\": \"jaar-\",\n \"sch_specificTime\": \"Specifieke tijd\",\n \"sch_time\": \"Tijd\",\n \"sch_to\": \"naar\",\n \"sch_valid\": \"Geldig\",\n \"sch_validFrom\": \"van\",\n \"sch_validTo\": \"naar\",\n \"sch_wholeDay\": \"Hele dag\",\n \"sch_yearEveryMonth\": \"elke maand\"\n}\n", "{\n \"ra_%s links from aliases\": \"%s liens provenant d'alias\",\n \"ra_%s object(s) processed\": \"%s objet(s) trait\u00E9(s)\",\n \"ra_%s was imported\": \"%s a \u00E9t\u00E9 import\u00E9\",\n \"ra_Accept license\": \"Accepter la licence\",\n \"ra_Add new child object to selected parent\": \"Ajouter un nouvel objet enfant au parent s\u00E9lectionn\u00E9\",\n \"ra_Add objects tree from JSON file\": \"Ajouter une arborescence d'objets \u00E0 partir d'un fichier JSON\",\n \"ra_Add row\": \"Ajouter une rang\u00E9e\",\n \"ra_Advanced options\": \"Options avanc\u00E9es\",\n \"ra_All items are filtered out\": \"Tous les \u00E9l\u00E9ments sont filtr\u00E9s\",\n \"ra_All objects\": \"Tous les objets\",\n \"ra_Append\": \"Ajouter\",\n \"ra_Append %s entries or replace existing?\": \"Ajouter %s entr\u00E9es ou remplacer l'existant\u00A0?\",\n \"ra_Append or replace?\": \"Ajouter ou remplacer\u00A0?\",\n \"ra_Are you sure?\": \"\u00CAtes-vous s\u00FBr?\",\n \"ra_Auto (no custom columns)\": \"Auto (pas de colonnes personnalis\u00E9es)\",\n \"ra_Back to %s\": \"Retour \u00E0 %s\",\n \"ra_Background image\": \"Image de fond\",\n \"ra_Cancel\": \"Annuler\",\n \"ra_Cannot add items with set filter\": \"Impossible d'ajouter des \u00E9l\u00E9ments avec le filtre d\u00E9fini\",\n \"ra_Cannot decode license\": \"Impossible de d\u00E9coder la licence\",\n \"ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser\": \"Impossible de d\u00E9terminer la position\u00A0: les param\u00E8tres syst\u00E8me sont vides et la d\u00E9tection GPS est d\u00E9sactiv\u00E9e dans le navigateur\",\n \"ra_Cannot find \\\"%s\\\"\": \"Impossible de trouver \\\"%s\\\"\",\n \"ra_Cannot read \\\"%s\\\"\": \"Impossible de lire \\\"%s\\\"\",\n \"ra_Cannot read licenses: %s\": \"Impossible de lire les licences\u00A0: %s\",\n \"ra_Cannot retrieve options, as instance is offline\": \"Impossible de r\u00E9cup\u00E9rer les options, car l'instance est hors ligne\",\n \"ra_Cannot update attribute, because not found in the object\": \"Impossible de mettre \u00E0 jour l'attribut, car il est introuvable dans l'objet\",\n \"ra_Cannot upload\": \"Impossible de t\u00E9l\u00E9charger\",\n \"ra_Categories\": \"Cat\u00E9gories\",\n \"ra_Chained certificate\": \"Certificat cha\u00EEn\u00E9\",\n \"ra_Change color theme\": \"Changer le th\u00E8me de couleur\",\n \"ra_Changed from\": \"Chang\u00E9 de\",\n \"ra_Channel \u2192 State\": \"Canal \u2192 \u00C9tat\",\n \"ra_Check license\": \"V\u00E9rifier la licence\",\n \"ra_Checked\": \"V\u00E9rifi\u00E9\",\n \"ra_Clear\": \"Effacer\",\n \"ra_Clear filter\": \"Effacer le filtre\",\n \"ra_Clear icon\": \"Effacer l'ic\u00F4ne\",\n \"ra_Clone current row\": \"Cloner la ligne actuelle\",\n \"ra_Close\": \"Fermer\",\n \"ra_Collapse all nodes\": \"R\u00E9duire tous les n\u0153uds\",\n \"ra_Collapse one step node\": \"R\u00E9duire d'un niveau\",\n \"ra_Commercial\": \"Commercial\",\n \"ra_Configure\": \"Configurer\",\n \"ra_Configure visible columns\": \"Configurer les colonnes visibles\",\n \"ra_Confirm deletion of %s\": \"Confirmer la suppression de %s\",\n \"ra_Connected\": \"Li\u00E9\",\n \"ra_Copied\": \"Copi\u00E9\",\n \"ra_Copied %s\": \"\\\"%s\\\" copi\u00E9\",\n \"ra_Copy content\": \"Copier le contenu\",\n \"ra_Create\": \"Cr\u00E9er\",\n \"ra_Create alias\": \"Cr\u00E9er un alias\",\n \"ra_Create folder\": \"Cr\u00E9er le dossier\",\n \"ra_Create new folder in %s\": \"Cr\u00E9er un nouveau dossier dans %s\",\n \"ra_Crop\": \"Recadrer\",\n \"ra_Define CRON...\": \"D\u00E9finir CRON...\",\n \"ra_Define functions\": \"D\u00E9finir des fonctions\",\n \"ra_Define rooms\": \"D\u00E9finir des pi\u00E8ces\",\n \"ra_Define schedule\": \"D\u00E9finir le calendrier\",\n \"ra_Define schedule...\": \"D\u00E9finir le calendrier ...\",\n \"ra_Del\": \"Delete\",\n \"ra_Delete\": \"Supprimer\",\n \"ra_Delete (no confirm for 5 mins)\": \"Supprimer (pas de confirmation pendant 5 minutes)\",\n \"ra_Delete current row\": \"Supprimer la ligne actuelle\",\n \"ra_Deselect all\": \"Tout d\u00E9selectionner\",\n \"ra_Device \u2192 Channel \u2192 State\": \"Appareil \u2192 Canal \u2192 \u00C9tat\",\n \"ra_Discard\": \"Jeter\",\n \"ra_Disconnected\": \"D\u00E9branch\u00E9\",\n \"ra_Do not export values of states\": \"Ne pas exporter les valeurs des \u00E9tats\",\n \"ra_Do not use let's encrypt\": \"Ne pas utiliser let's encrypt\",\n \"ra_Double click to reset table layout\": \"Double-cliquez pour r\u00E9initialiser la disposition du tableau\",\n \"ra_Drag 'n' drop some files here, or click to select files\": \"Glissez-d\u00E9posez des fichiers ici, ou cliquez pour s\u00E9lectionner des fichiers\",\n \"ra_Drop file here\": \"D\u00E9poser le fichier ici\",\n \"ra_Drop the files here...\": \"D\u00E9posez le fichier ici...\",\n \"ra_Duplicate name\": \"Nom en double\",\n \"ra_Edit ACL\": \"Modifier la LCA\",\n \"ra_Edit alias\": \"Modifier l'alias\",\n \"ra_Edit custom config\": \"Modifier la configuration personnalis\u00E9e\",\n \"ra_Edit function\": \"Fonction d'\u00E9dition\",\n \"ra_Edit object field\": \"Modifier le champ d'objet\",\n \"ra_Edit role\": \"Modifier le r\u00F4le\",\n \"ra_Edit room\": \"Modifier la salle\",\n \"ra_Edit value\": \"Modifier la valeur\",\n \"ra_Error\": \"Erreur\",\n \"ra_Expand all nodes\": \"D\u00E9velopper tous les n\u0153uds\",\n \"ra_Expand one step node\": \"D\u00E9velopper un niveau\",\n \"ra_Export data to %s file\": \"Exporter les donn\u00E9es vers le fichier %s\",\n \"ra_Failed to open JSON File\": \"\u00C9chec de l'ouverture du fichier JSON\",\n \"ra_Fallback custom certificates\": \"Certificats personnalis\u00E9s de secours\",\n \"ra_File is too big. Max %sk allowed. Try use SVG.\": \"Le fichier est trop volumineux. Max %sk autoris\u00E9. Essayez d'utiliser SVG.\",\n \"ra_Filter\": \"Filtre\",\n \"ra_Filter files\": \"Filtrer les fichiers\",\n \"ra_Folder name\": \"Nom de dossier\",\n \"ra_Folder \u2192 Channel \u2192 State\": \"Dossier \u2192 Cha\u00EEne \u2192 \u00C9tat\",\n \"ra_Folder \u2192 Device \u2192 Channel \u2192 State\": \"Dossier \u2192 Appareil \u2192 Canal \u2192 \u00C9tat\",\n \"ra_Folder \u2192 State\": \"Dossier \u2192 \u00C9tat\",\n \"ra_Folders always first\": \"Les dossiers toujours en premier\",\n \"ra_Friday\": \"Vendredi\",\n \"ra_Good luck\": \"Bonne chance\",\n \"ra_Hide empty folders\": \"Masquer les dossiers vides\",\n \"ra_If no file will be created in the folder, it will disappear after the browser closed\": \"Si aucun fichier ne sera cr\u00E9\u00E9 dans le dossier, il dispara\u00EEtra apr\u00E8s la fermeture du navigateur\",\n \"ra_Import data from %s file\": \"Importer des donn\u00E9es \u00E0 partir du fichier %s\",\n \"ra_Import from %s\": \"Importer depuis %s\",\n \"ra_Instance %s is alive\": \"L'instance %s est active\",\n \"ra_Instance %s is not alive\": \"L'instance %s n'est pas active\",\n \"ra_Instance is not alive\": \"L'instance n'est pas active\",\n \"ra_Invalid CRON\": \"CRON invalide\",\n \"ra_Invalid JSON\": \"JSON invalide\",\n \"ra_Invalid answer from server\": \"R\u00E9ponse invalide du serveur\",\n \"ra_Invalid parent folder!\": \"Dossier parent non valide!\",\n \"ra_Invalid structure\": \"Structure invalide\",\n \"ra_JSON editor\": \"\u00C9diteur JSON\",\n \"ra_Last change\": \"Dernier changement\",\n \"ra_Latitude\": \"Latitude\",\n \"ra_License %s\": \"Licence %s\",\n \"ra_License agreement\": \"Accord de licence\",\n \"ra_License does not exist\": \"La licence n'existe pas\",\n \"ra_License expired on %s\": \"Licence expir\u00E9e le %s\",\n \"ra_License for other product \\\"%s\\\"\": \"Licence pour un autre produit \\\"%s\\\"\",\n \"ra_License is for version %s, but required version is %s.\": \"La licence est pour la version %s, mais la version requise est %s.\",\n \"ra_License must be converted\": \"La licence doit \u00EAtre convertie en une version plus r\u00E9cente. Vous pouvez le faire dans votre profil iobroker.net.\",\n \"ra_License not found in license manager. Do you want to read licenses from iobroker.net?\": \"Licence introuvable dans le gestionnaire de licences. Voulez-vous mettre \u00E0 jour les licences depuis iobroker.net\u00A0?\",\n \"ra_Listen on all IPs\": \"\u00C9coutez sur toutes les adresses IP\",\n \"ra_Load configuration from file\": \"Charger la configuration \u00E0 partir du fichier\",\n \"ra_Longitude\": \"Longitude\",\n \"ra_May not trigger \\\"updateLicenses\\\"\": \"Peut ne pas d\u00E9clencher \\\"updateLicences\\\"\",\n \"ra_Message\": \"Message\",\n \"ra_Monday\": \"Lundi\",\n \"ra_Move down\": \"Descendre\",\n \"ra_Move up\": \"D\u00E9placer vers le haut\",\n \"ra_Name\": \"Nom\",\n \"ra_No data found in file\": \"Aucune donn\u00E9e trouv\u00E9e dans le fichier\",\n \"ra_No one license found in license manager\": \"Aucune licence trouv\u00E9e dans le gestionnaire de licences\",\n \"ra_No response from the backend\": \"Aucune r\u00E9ponse du backend\",\n \"ra_Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\": \"Les non-experts ne peuvent cr\u00E9er de nouveaux objets que dans \\\"0_userdata.0\\\" ou \\\"alias.0\\\".\",\n \"ra_Not a number\": \"Pas un num\u00E9ro\",\n \"ra_Objects\": \"Objets\",\n \"ra_Ok\": \"D'accord\",\n \"ra_On weekdays\": \"En semaine\",\n \"ra_Only following structures of objects are available:\": \"Seules les structures d'objets suivantes sont disponibles:\",\n \"ra_Only selected\": \"Uniquement s\u00E9lectionn\u00E9\",\n \"ra_Owner group\": \"Groupe propri\u00E9taire\",\n \"ra_Owner user\": \"Utilisateur propri\u00E9taire\",\n \"ra_Passwords are not equal!\": \"Les mots de passe ne sont pas \u00E9gaux !\",\n \"ra_Place your files here or click here to open the browse dialog\": \"Placez vos fichiers ici ou cliquez ici pour ouvrir la bo\u00EEte de dialogue de navigation\",\n \"ra_Please confirm\": \"Veuillez confirmer\",\n \"ra_Please create license\": \"Veuillez cr\u00E9er une licence\",\n \"ra_Please enter the license\": \"Veuillez entrer la licence\",\n \"ra_Please select file...\": \"Veuillez s\u00E9lectionner le fichier...\",\n \"ra_Please select object ID...\": \"Veuillez s\u00E9lectionner l'ID d'objet ...\",\n \"ra_Port could be used by %s\": \"Le port pourrait \u00EAtre utilis\u00E9 par %s\",\n \"ra_Port is already used by %s\": \"Le port est d\u00E9j\u00E0 utilis\u00E9 par %s\",\n \"ra_Private certificate\": \"Certificat priv\u00E9\",\n \"ra_Product\": \"Produit\",\n \"ra_Public certificate\": \"Certificat public\",\n \"ra_Quality code\": \"Qualit\u00E9\",\n \"ra_Refresh tree\": \"Rafra\u00EEchir l'arborescence\",\n \"ra_Reload files\": \"Recharger les fichiers\",\n \"ra_Repeat\": \"R\u00E9p\u00E9ter\",\n \"ra_Replace\": \"Remplacer\",\n \"ra_Request timed out\": \"La demande a expir\u00E9\",\n \"ra_Restrict to folder\": \"Restreindre au dossier\",\n \"ra_Root\": \"Racine\",\n \"ra_Saturday\": \"Samedi\",\n \"ra_Save\": \"sauver\",\n \"ra_Save and close\": \"Sauver et fermer\",\n \"ra_Save configuration to file\": \"Enregistrer la configuration dans un fichier\",\n \"ra_Save objects tree as JSON file\": \"Enregistrer l'arborescence des objets en tant que fichier JSON\",\n \"ra_Select all\": \"Tout s\u00E9lectionner\",\n \"ra_Select color\": \"Choisissez la couleur\",\n \"ra_Select predefined icon\": \"S\u00E9lectionnez l'ic\u00F4ne pr\u00E9d\u00E9finie\",\n \"ra_Select type of export\": \"S\u00E9lectionnez le type d'exportation\",\n \"ra_Selected\": \"Choisi\",\n \"ra_Selected %s object(s)\": \"Objet(s) %s s\u00E9lectionn\u00E9(s)\",\n \"ra_Serial number (UUID)\": \"Num\u00E9ro de s\u00E9rie (UUID)\",\n \"ra_Serial number (UUID) \\\"%s\\\" in license is for other device.\": \"Le num\u00E9ro de s\u00E9rie (UUID) \\\"%s\\\" dans la licence est pour un autre appareil.\",\n \"ra_Show all folders\": \"Afficher tous les dossiers\",\n \"ra_Show lines between rows\": \"Afficher les lignes entre les lignes\",\n \"ra_Show/Hide object descriptions\": \"Afficher/Masquer les descriptions d'objets\",\n \"ra_Show/hide filter input\": \"Afficher/masquer l'entr\u00E9e de filtre\",\n \"ra_Some data are not stored. Discard?\": \"Certaines donn\u00E9es ne sont pas stock\u00E9es. Jeter?\",\n \"ra_States\": \"\u00C9tats\",\n \"ra_Suitable license not found in license manager\": \"Licence appropri\u00E9e introuvable dans le gestionnaire de licences\",\n \"ra_Sunday\": \"Dimanche\",\n \"ra_Suppress question for next %s minutes\": \"Supprimer la question pour les %s prochaines minutes\",\n \"ra_System language\": \"Langue du syst\u00E8me\",\n \"ra_Take browser position\": \"Prendre position depuis le navigateur\",\n \"ra_Take position from system settings\": \"Prendre position \u00E0 partir des param\u00E8tres syst\u00E8me\",\n \"ra_The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\": \"Les experts peuvent cr\u00E9er des objets partout mais \u00E0 partir du deuxi\u00E8me niveau (par exemple \\\"vis.0\\\" ou \\\"javascript.0\\\").\",\n \"ra_The page you are looking for was not found\": \"La page que vous recherchez n'a pas \u00E9t\u00E9 trouv\u00E9e\",\n \"ra_The schedule will be executed every minute. Are you sure?\": \"Le planning sera ex\u00E9cut\u00E9 toutes les minutes. \u00CAtes-vous s\u00FBr ?\",\n \"ra_The schedule will be executed every second. Are you sure?\": \"Le planning sera ex\u00E9cut\u00E9 toutes les secondes. \u00CAtes-vous s\u00FBr ?\",\n \"ra_Thursday\": \"Jeudi\",\n \"ra_Timestamp\": \"Horodatage\",\n \"ra_Toggle expert mode\": \"Basculer en mode expert\",\n \"ra_Toggle the states view\": \"Basculer la vue des \u00E9tats\",\n \"ra_Toggle view mode\": \"Basculer le mode d'affichage\",\n \"ra_Too big\": \"Trop grand\",\n \"ra_Too small\": \"Trop petit\",\n \"ra_Transparent dialog\": \"Dialogue transparent\",\n \"ra_Tuesday\": \"Mardi\",\n \"ra_Unknown error\": \"Erreur inconnue\",\n \"ra_Unknown error!\": \"Erreur inconnue!\",\n \"ra_Update\": \"Mise \u00E0 jour\",\n \"ra_Upload file\": \"T\u00E9l\u00E9verser un fichier\",\n \"ra_Use all available let's encrypt certificates\": \"Utilisez tous les certificats let's encrypt disponibles\",\n \"ra_Use iobroker.acme adapter for letsencrypt certificates\": \"Utiliser l'adaptateur iobroker.acme pour les certificats Letsencrypt\",\n \"ra_Use system settings for position\": \"Utiliser les param\u00E8tres syst\u00E8me pour la position\",\n \"ra_Used system settings\": \"Param\u00E8tres syst\u00E8me utilis\u00E9s\",\n \"ra_User files\": \"Fichiers utilisateurs\",\n \"ra_ValidTill\": \"Valable jusqu'au\",\n \"ra_Value\": \"Valeur\",\n \"ra_Version\": \"Version\",\n \"ra_View file\": \"Voir la fiche\",\n \"ra_View: %s\": \"Affichage : %s\",\n \"ra_Wednesday\": \"Mercredi\",\n \"ra_Width\": \"Largeur\",\n \"ra_Yes\": \"Oui\",\n \"ra_You can export all objects or just the selected branch.\": \"Vous pouvez exporter tous les objets ou uniquement la branche s\u00E9lectionn\u00E9e.\",\n \"ra_You can filter entries by entering here some text\": \"Vous pouvez filtrer les entr\u00E9es en saisissant ici du texte\",\n \"ra___different__\": \"diff\u00E9rent\",\n \"ra_aclEveryone_read_object\": \"Tout le monde peut lire un objet\",\n \"ra_aclEveryone_read_state\": \"Tout le monde peut lire l'\u00E9tat\",\n \"ra_aclEveryone_write_object\": \"Tout le monde peut \u00E9crire un objet\",\n \"ra_aclEveryone_write_state\": \"Tout le monde peut \u00E9crire l'\u00E9tat\",\n \"ra_aclGroup_read_object\": \"Le groupe peut lire l'objet\",\n \"ra_aclGroup_read_state\": \"Le groupe peut lire l'\u00E9tat\",\n \"ra_aclGroup_write_object\": \"Le groupe peut \u00E9crire un objet\",\n \"ra_aclGroup_write_state\": \"Le groupe peut \u00E9crire l'\u00E9tat\",\n \"ra_aclOwner_read_object\": \"Le propri\u00E9taire peut lire l'objet\",\n \"ra_aclOwner_read_state\": \"Le propri\u00E9taire peut lire l'\u00E9tat\",\n \"ra_aclOwner_write_object\": \"Le propri\u00E9taire peut \u00E9crire un objet\",\n \"ra_aclOwner_write_state\": \"Le propri\u00E9taire peut \u00E9crire l'\u00E9tat\",\n \"ra_buttons\": \"Boutons\",\n \"ra_changedFrom\": \"Chang\u00E9 de\",\n \"ra_close\": \"Fermer\",\n \"ra_create_boolean_state\": \"Cr\u00E9er un \u00E9tat bool\u00E9en\",\n \"ra_create_channel\": \"Cr\u00E9er une cha\u00EEne\",\n \"ra_create_device\": \"Cr\u00E9er un appareil\",\n \"ra_create_number_state\": \"Cr\u00E9er un \u00E9tat de num\u00E9ro\",\n \"ra_create_state\": \"Cr\u00E9er un \u00E9tat\",\n \"ra_create_string_state\": \"Cr\u00E9er un \u00E9tat de cha\u00EEne\",\n \"ra_daysShortText\": \"j.\",\n \"ra_dow_Fr\": \"Fr\",\n \"ra_dow_Mo\": \"Mo\",\n \"ra_dow_Sa\": \"Sa\",\n \"ra_dow_Su\": \"Su\",\n \"ra_dow_Th\": \"Th\",\n \"ra_dow_Tu\": \"Tu\",\n \"ra_dow_We\": \"Nous\",\n \"ra_expertMode\": \"Mode expert\",\n \"ra_fileType_all\": \"Tous les fichiers\",\n \"ra_fileType_audio\": \"l'audio\",\n \"ra_fileType_code\": \"Code/JSON\",\n \"ra_fileType_images\": \"Images\",\n \"ra_fileType_txt\": \"Texte\",\n \"ra_fileType_video\": \"Vid\u00E9o\",\n \"ra_fileType_video,\": \"Vid\u00E9o\",\n \"ra_filter_customs\": \"Param\u00E8tres\",\n \"ra_filter_customs_without\": \"sans\",\n \"ra_filter_func\": \"Une fonction\",\n \"ra_filter_id\": \"ID\",\n \"ra_filter_name\": \"Pr\u00E9nom\",\n \"ra_filter_role\": \"R\u00F4le\",\n \"ra_filter_room\": \"Pi\u00E8ce\",\n \"ra_filter_type\": \"Type\",\n \"ra_import data from %s file\": \"Importer des donn\u00E9es \u00E0 partir du fichier %s\",\n \"ra_invalidConfig\": \"Param\u00E8tres invalides\",\n \"ra_lastChange\": \"Dernier changement\",\n \"ra_locally\": \"localement\",\n \"ra_month_Apr\": \"Avr\",\n \"ra_month_Aug\": \"Ao\u00FBt\",\n \"ra_month_Dec\": \"D\u00E9c\",\n \"ra_month_Feb\": \"F\u00E9v\",\n \"ra_month_Jan\": \"Jan\",\n \"ra_month_Jul\": \"Juil\",\n \"ra_month_Jun\": \"Juin\",\n \"ra_month_Mai\": \"Mai\",\n \"ra_month_Mar\": \"Mar\",\n \"ra_month_Nov\": \"Nov\",\n \"ra_month_Oct\": \"Oct\",\n \"ra_month_Sep\": \"Sep\",\n \"ra_months_Apr\": \"Avr\",\n \"ra_months_Aug\": \"Ao\u00FBt\",\n \"ra_months_Dec\": \"D\u00E9c\",\n \"ra_months_Feb\": \"F\u00E9v\",\n \"ra_months_Jan\": \"Jan\",\n \"ra_months_Jul\": \"Juil\",\n \"ra_months_Jun\": \"Juin\",\n \"ra_months_Mai\": \"Mai\",\n \"ra_months_Mar\": \"Mar\",\n \"ra_months_Nov\": \"Nov\",\n \"ra_months_Oct\": \"Oct\",\n \"ra_months_Sep\": \"Sep\",\n \"ra_none\": \"rien\",\n \"ra_object_changed_by\": \"Objet modifi\u00E9 par\",\n \"ra_object_changed_by_user\": \"Objet modifi\u00E9 pour la derni\u00E8re fois \u00E0\",\n \"ra_otherConfig\": \"Param\u00E8tres d'un autre adaptateur %s\",\n \"ra_qualityCode\": \"Code de qualit\u00E9\",\n \"ra_repeat\": \"r\u00E9p\u00E9ter\",\n \"ra_select_folder_hint\": \"Pour s\u00E9lectionner un dossier, maintenez simplement la touche \\\"shift\\\" enfonc\u00E9e en cliquant sur le dossier.\",\n \"ra_state_changed_by\": \"\u00C9tat modifi\u00E9 par\",\n \"ra_state_changed_from\": \"Objet chang\u00E9 de\",\n \"ra_timestamp\": \"Horodatage\",\n \"ra_tooltip_ack\": \"Drapeau reconnu\",\n \"ra_tooltip_comment\": \"Commentaire\",\n \"ra_tooltip_copyState\": \"Copiez la valeur d'\u00E9tat\",\n \"ra_tooltip_customConfig\": \"Param\u00E8tres personnalis\u00E9s\",\n \"ra_tooltip_deleteObject\": \"Supprimer un objet\",\n \"ra_tooltip_editObject\": \"Modifier l'objet\",\n \"ra_tooltip_editState\": \"Modifier la valeur d'\u00E9tat\",\n \"ra_tooltip_from\": \"De\",\n \"ra_tooltip_lc\": \"Derni\u00E8re modification\",\n \"ra_tooltip_quality\": \"Qualit\u00E9\",\n \"ra_tooltip_ts\": \"Horodatage\",\n \"ra_tooltip_user\": \"Utilisateur\",\n \"ra_tooltip_value\": \"Valeur\",\n \"ra_use seconds\": \"utiliser les secondes\",\n \"ra_val\": \"Valeur\",\n \"ra_via internet\": \"par Internet\",\n \"ra_warning_every_minute\": \"Attention\u00A0: la t\u00E2che CRON s\u2019ex\u00E9cutera toutes les minutes pendant la p\u00E9riode sp\u00E9cifi\u00E9e\u00A0!\",\n \"ra_warning_every_second\": \"Attention\u00A0: la t\u00E2che CRON s\u2019ex\u00E9cutera toutes les secondes pendant la p\u00E9riode sp\u00E9cifi\u00E9e\u00A0!\",\n \"sc_cron\": \"CRON\",\n \"sc_date\": \"Date\",\n \"sc_dates\": \"Rendez-vous\",\n \"sc_dow\": \"Jour\",\n \"sc_dows\": \"Jour de la semaine\",\n \"sc_every\": \"Chaque\",\n \"sc_everyN_dates\": \"tous les N jours\",\n \"sc_everyN_dow\": \"chaque Ni\u00E8me jour de la semaine\",\n \"sc_everyN_dows\": \"tous les N jours de la semaine\",\n \"sc_everyN_hours\": \"toutes les N heures\",\n \"sc_everyN_minutes\": \"toutes les N minutes\",\n \"sc_everyN_months\": \"tous les N mois\",\n \"sc_everyN_seconds\": \"toutes les N secondes\",\n \"sc_every_dates\": \"tous les jours\",\n \"sc_every_dow\": \"Chaque jour de la semaine\",\n \"sc_every_dows\": \"Chaque jour de la semaine\",\n \"sc_every_hours\": \"Toutes les heures\",\n \"sc_every_minutes\": \"chaque minute\",\n \"sc_every_months\": \"chaque mois\",\n \"sc_every_seconds\": \"chaque seconde\",\n \"sc_from\": \"De\",\n \"sc_hours\": \"Heures\",\n \"sc_interval\": \"Intervalle\",\n \"sc_intervalBetween\": \"Intervalle entre\",\n \"sc_invalid_cron\": \"CRON non valide\",\n \"sc_minutes\": \"Minutes\",\n \"sc_months\": \"mois\",\n \"sc_once\": \"Une fois que\",\n \"sc_period\": \"P\u00E9riode\",\n \"sc_seconds\": \"Secondes\",\n \"sc_simple\": \"Facile\",\n \"sc_specific\": \"Temps sp\u00E9cifique\",\n \"sc_specific_dates\": \"dates sp\u00E9cifiques\",\n \"sc_specific_dow\": \"jour(s) sp\u00E9cifique(s) de la semaine\",\n \"sc_specific_dows\": \"jour sp\u00E9cifique de semaines\",\n \"sc_specific_hours\": \"heures sp\u00E9cifiques\",\n \"sc_specific_minutes\": \"minutes sp\u00E9cifiques\",\n \"sc_specific_months\": \"mois sp\u00E9cifiques\",\n \"sc_specific_seconds\": \"secondes sp\u00E9cifiques\",\n \"sc_time\": \"Temps\",\n \"sc_to\": \"\u00C0\",\n \"sc_wizard\": \"sorcier\",\n \"sch_all\": \"tout\",\n \"sch_astroDay\": \"Journ\u00E9e astronomique\",\n \"sch_astroNight\": \"Nuit astronomique\",\n \"sch_astro_dawn\": \"Aube\",\n \"sch_astro_dusk\": \"Cr\u00E9puscule\",\n \"sch_astro_goldenHour\": \"Heure d'or\",\n \"sch_astro_goldenHourEnd\": \"Fin de l'heure d'or\",\n \"sch_astro_nadir\": \"Nadir\",\n \"sch_astro_nauticalDawn\": \"Aube nautique\",\n \"sch_astro_nauticalDusk\": \"Cr\u00E9puscule nautique\",\n \"sch_astro_night\": \"Nuit\",\n \"sch_astro_nightEnd\": \"Fin de nuit\",\n \"sch_astro_solarNoon\": \"Midi solaire\",\n \"sch_astro_sunrise\": \"lever du soleil\",\n \"sch_astro_sunriseEnd\": \"Fin du lever du soleil\",\n \"sch_astro_sunset\": \"Le coucher du soleil\",\n \"sch_astro_sunsetStart\": \"Coucher du soleil\",\n \"sch_at\": \"\u00E0\",\n \"sch_desc_atTime\": \"\u00E0 %s\",\n \"sch_desc_everyDay\": \"tous les jours\",\n \"sch_desc_everyHour\": \"Toutes les heures\",\n \"sch_desc_everyMinute\": \"chaque minute\",\n \"sch_desc_everyMonth\": \"chaque mois\",\n \"sch_desc_everyNDay\": \"chaque %s jour\",\n \"sch_desc_everyNHours\": \"chaque %s heures\",\n \"sch_desc_everyNMinutes\": \"toutes les %s minutes\",\n \"sch_desc_everyNMonths\": \"tous les %s mois\",\n \"sch_desc_everyNWeeks\": \"chaque %s semaines\",\n \"sch_desc_everyNYears\": \"tous les %s ans\",\n \"sch_desc_everyWeek\": \"toutes les semaines\",\n \"sch_desc_everyYear\": \"chaque ann\u00E9e\",\n \"sch_desc_intervalFromTo\": \"de %s \u00E0 %s\",\n \"sch_desc_never\": \"jamais\",\n \"sch_desc_onDate\": \"sur %s de %s\",\n \"sch_desc_onDates\": \"sur %s et %s de\",\n \"sch_desc_onEveryDate\": \"\u00E0 chaque date de\",\n \"sch_desc_onMonth\": \"%s\",\n \"sch_desc_onMonths\": \"%s et %s\",\n \"sch_desc_onWeekday\": \"sur %s\",\n \"sch_desc_onWeekdays\": \"sur %s et %s\",\n \"sch_desc_onWeekends\": \"les weekends\",\n \"sch_desc_onWorkdays\": \"les jours ouvrables\",\n \"sch_desc_onceInPast\": \"ne sera plus ex\u00E9cut\u00E9, car start est dans le pass\u00E9\",\n \"sch_desc_once_on\": \"sur %s\",\n \"sch_desc_validFrom\": \"de %s\",\n \"sch_desc_validFromTo\": \"Ex\u00E9cuter de \u00E0\",\n \"sch_desc_validTo\": \"\u00E0 %s\",\n \"sch_every\": \"chaque\",\n \"sch_exactTime\": \"Temps sp\u00E9cifique\",\n \"sch_from\": \"de\",\n \"sch_fromTo\": \"De \u00E0\",\n \"sch_intervalTime\": \"Temps d'interval\",\n \"sch_invert\": \"inverser\",\n \"sch_no_one\": \"aucun\",\n \"sch_on\": \"sur\",\n \"sch_period\": \"P\u00E9riode\",\n \"sch_periodDaily\": \"du quotidien\",\n \"sch_periodDates\": \"Rendez-vous\",\n \"sch_periodDay\": \"journ\u00E9e\",\n \"sch_periodEvery\": \"Chaque\",\n \"sch_periodEveryDay\": \"Tous les jours\",\n \"sch_periodEveryMonth\": \"Chaque mois\",\n \"sch_periodEveryWeek\": \"Toutes les semaines\",\n \"sch_periodEveryYear\": \"Chaque ann\u00E9e\",\n \"sch_periodHours\": \"Heures\",\n \"sch_periodMinutes\": \"Minutes\",\n \"sch_periodMonth\": \"mois\",\n \"sch_periodMonthly\": \"Mensuel\",\n \"sch_periodOnce\": \"Une fois que\",\n \"sch_periodSpecificMonths\": \"Mois sp\u00E9cifiques\",\n \"sch_periodWeek\": \"La semaine\",\n \"sch_periodWeekdays\": \"Jours de la semaine\",\n \"sch_periodWeekend\": \"Weekend\",\n \"sch_periodWeekly\": \"Hebdomadaire\",\n \"sch_periodWorkdays\": \"Jours ouvrables\",\n \"sch_periodYear\": \"Ann\u00E9e\",\n \"sch_periodYearly\": \"Annuel\",\n \"sch_specificTime\": \"Temps sp\u00E9cifique\",\n \"sch_time\": \"Temps\",\n \"sch_to\": \"\u00E0\",\n \"sch_valid\": \"Valide\",\n \"sch_validFrom\": \"de\",\n \"sch_validTo\": \"\u00E0\",\n \"sch_wholeDay\": \"Toute la journ\u00E9e\",\n \"sch_yearEveryMonth\": \"chaque mois\"\n}\n", "{\n \"ra_%s links from aliases\": \"%s link da alias\",\n \"ra_%s object(s) processed\": \"%s oggetti elaborati\",\n \"ra_%s was imported\": \"%s \u00E8 stato importato\",\n \"ra_Accept license\": \"Accetta licenza\",\n \"ra_Add new child object to selected parent\": \"Aggiungi un nuovo oggetto figlio al genitore selezionato\",\n \"ra_Add objects tree from JSON file\": \"Aggiungi l'albero degli oggetti dal file JSON\",\n \"ra_Add row\": \"Aggiungi riga\",\n \"ra_Advanced options\": \"Opzioni avanzate\",\n \"ra_All items are filtered out\": \"Tutti gli elementi vengono filtrati\",\n \"ra_All objects\": \"Tutti gli oggetti\",\n \"ra_Append\": \"Aggiungere\",\n \"ra_Append %s entries or replace existing?\": \"Aggiungi %s voci o sostituisci quelle esistenti?\",\n \"ra_Append or replace?\": \"Aggiungere o sostituire?\",\n \"ra_Are you sure?\": \"Sei sicuro?\",\n \"ra_Auto (no custom columns)\": \"Auto (nessuna colonna personalizzata)\",\n \"ra_Back to %s\": \"Torna a %s\",\n \"ra_Background image\": \"Immagine di sfondo\",\n \"ra_Cancel\": \"Annulla\",\n \"ra_Cannot add items with set filter\": \"Impossibile aggiungere elementi con il filtro impostato\",\n \"ra_Cannot decode license\": \"Impossibile decodificare la licenza\",\n \"ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser\": \"Impossibile determinare la posizione: le impostazioni di sistema sono vuote e il rilevamento GPS \u00E8 disabilitato nel browser\",\n \"ra_Cannot find \\\"%s\\\"\": \"Impossibile trovare \\\"%s\\\"\",\n \"ra_Cannot read \\\"%s\\\"\": \"Impossibile leggere \\\"%s\\\"\",\n \"ra_Cannot read licenses: %s\": \"Impossibile leggere le licenze: %s\",\n \"ra_Cannot retrieve options, as instance is offline\": \"Impossibile recuperare le opzioni, poich\u00E9 l'istanza \u00E8 offline\",\n \"ra_Cannot update attribute, because not found in the object\": \"Impossibile aggiornare l'attributo, perch\u00E9 non trovato nell'oggetto\",\n \"ra_Cannot upload\": \"Impossibile caricare\",\n \"ra_Categories\": \"Categorie\",\n \"ra_Chained certificate\": \"Certificato incatenato\",\n \"ra_Change color theme\": \"Cambia tema colore\",\n \"ra_Changed from\": \"Cambiato da\",\n \"ra_Channel \u2192 State\": \"Canale \u2192 Stato\",\n \"ra_Check license\": \"Controlla la licenza\",\n \"ra_Checked\": \"Controllato\",\n \"ra_Clear\": \"Elimina\",\n \"ra_Clear filter\": \"Filtro pulito\",\n \"ra_Clear icon\": \"Cancella icona\",\n \"ra_Clone current row\": \"Clona riga corrente\",\n \"ra_Close\": \"Vicino\",\n \"ra_Collapse all nodes\": \"Comprimi tutti i nodi\",\n \"ra_Collapse one step node\": \"Comprimi un livello\",\n \"ra_Commercial\": \"Commerciale\",\n \"ra_Configure\": \"Configura\",\n \"ra_Configure visible columns\": \"Configura colonne visibili\",\n \"ra_Confirm deletion of %s\": \"Conferma l'eliminazione di %s\",\n \"ra_Connected\": \"Collegato\",\n \"ra_Copied\": \"Copiato\",\n \"ra_Copied %s\": \"\\\"%s\\\" copiato\",\n \"ra_Copy content\": \"Copia contenuto\",\n \"ra_Create\": \"Creare\",\n \"ra_Create alias\": \"Crea alias\",\n \"ra_Create folder\": \"Creare una cartella\",\n \"ra_Create new folder in %s\": \"Crea nuova cartella in %s\",\n \"ra_Crop\": \"Raccolto\",\n \"ra_Define CRON...\": \"Definisci CRON...\",\n \"ra_Define functions\": \"Definire le funzioni\",\n \"ra_Define rooms\": \"Definisci le stanze\",\n \"ra_Define schedule\": \"Definisci programma\",\n \"ra_Define schedule...\": \"Definisci pianificazione ...\",\n \"ra_Del\": \"Delete\",\n \"ra_Delete\": \"Elimina\",\n \"ra_Delete (no confirm for 5 mins)\": \"Elimina (nessuna conferma per 5 minuti)\",\n \"ra_Delete current row\": \"Elimina la riga corrente\",\n \"ra_Deselect all\": \"Deseleziona tutto\",\n \"ra_Device \u2192 Channel \u2192 State\": \"Dispositivo \u2192 Canale \u2192 Stato\",\n \"ra_Discard\": \"Scartare\",\n \"ra_Disconnected\": \"Disconnesso\",\n \"ra_Do not export values of states\": \"Non esportare i valori degli stati\",\n \"ra_Do not use let's encrypt\": \"Non utilizzare crittografiamo\",\n \"ra_Double click to reset table layout\": \"Fare doppio clic per ripristinare il layout della tabella\",\n \"ra_Drag 'n' drop some files here, or click to select files\": \"Trascina e rilascia alcuni file qui o fai clic per selezionare i file\",\n \"ra_Drop file here\": \"Trascina il file qui\",\n \"ra_Drop the files here...\": \"Trascina qui il file...\",\n \"ra_Duplicate name\": \"Nome duplicato\",\n \"ra_Edit ACL\": \"Modifica ACL\",\n \"ra_Edit alias\": \"Modifica alias\",\n \"ra_Edit custom config\": \"Modifica configurazione personalizzata\",\n \"ra_Edit function\": \"Funzione di modifica\",\n \"ra_Edit object field\": \"Modifica campo oggetto\",\n \"ra_Edit role\": \"Modifica ruolo\",\n \"ra_Edit room\": \"Modifica stanza\",\n \"ra_Edit value\": \"Modifica valore\",\n \"ra_Error\": \"Errore\",\n \"ra_Expand all nodes\": \"Espandi tutti i nodi\",\n \"ra_Expand one step node\": \"Espandi un livello\",\n \"ra_Export data to %s file\": \"Esporta i dati nel file %s\",\n \"ra_Failed to open JSON File\": \"Impossibile aprire il file JSON\",\n \"ra_Fallback custom certificates\": \"Certificati personalizzati di fallback\",\n \"ra_File is too big. Max %sk allowed. Try use SVG.\": \"Il file \u00E8 troppo grande. Max %sk consentito. Prova a usare SVG.\",\n \"ra_Filter\": \"Filtro\",\n \"ra_Filter files\": \"Filtra i file\",\n \"ra_Folder name\": \"Nome della cartella\",\n \"ra_Folder \u2192 Channel \u2192 State\": \"Cartella \u2192 Canale \u2192 Stato\",\n \"ra_Folder \u2192 Device \u2192 Channel \u2192 State\": \"Cartella \u2192 Dispositivo \u2192 Canale \u2192 Stato\",\n \"ra_Folder \u2192 State\": \"Cartella \u2192 Stato\",\n \"ra_Folders always first\": \"Le cartelle sono sempre al primo posto\",\n \"ra_Friday\": \"Venerd\u00EC\",\n \"ra_Good luck\": \"Buona fortuna\",\n \"ra_Hide empty folders\": \"Nascondi cartelle vuote\",\n \"ra_If no file will be created in the folder, it will disappear after the browser closed\": \"Se nessun file verr\u00E0 creato nella cartella, scomparir\u00E0 dopo la chiusura del browser\",\n \"ra_Import data from %s file\": \"Importa i dati dal file %s\",\n \"ra_Import from %s\": \"Importa da %s\",\n \"ra_Instance %s is alive\": \"Il %s dell'istanza \u00E8 vivo\",\n \"ra_Instance %s is not alive\": \"Il TESTO dell'istanza non \u00E8 vivo\",\n \"ra_Instance is not alive\": \"L'istanza non \u00E8 viva\",\n \"ra_Invalid CRON\": \"CRON non valido\",\n \"ra_Invalid JSON\": \"JSON non valido\",\n \"ra_Invalid answer from server\": \"Risposta non valida dal server\",\n \"ra_Invalid parent folder!\": \"Cartella principale non valida!\",\n \"ra_Invalid structure\": \"Struttura non valida\",\n \"ra_JSON editor\": \"Editor JSON\",\n \"ra_Last change\": \"Ultima modifica\",\n \"ra_Latitude\": \"Latitudine\",\n \"ra_License %s\": \"Licenza %s\",\n \"ra_License agreement\": \"Contratto di licenza\",\n \"ra_License does not exist\": \"La licenza non esiste\",\n \"ra_License expired on %s\": \"Licenza scaduta il %s\",\n \"ra_License for other product \\\"%s\\\"\": \"Licenza per altro prodotto \\\"%s\\\"\",\n \"ra_License is for version %s, but required version is %s.\": \"La licenza \u00E8 per la versione %s, ma la versione richiesta \u00E8 %s.\",\n \"ra_License must be converted\": \"La licenza deve essere convertita in una versione pi\u00F9 recente. Puoi farlo nel tuo profilo iobroker.net.\",\n \"ra_License not found in license manager. Do you want to read licenses from iobroker.net?\": \"Licenza non trovata nel gestore delle licenze. Vuoi aggiornare le licenze da iobroker.net?\",\n \"ra_Listen on all IPs\": \"Ascolta su tutti gli IP\",\n \"ra_Load configuration from file\": \"Carica la configurazione dal file\",\n \"ra_Longitude\": \"Longitudine\",\n \"ra_May not trigger \\\"updateLicenses\\\"\": \"Potrebbe non attivare \\\"updateLicenses\\\"\",\n \"ra_Message\": \"Messaggio\",\n \"ra_Monday\": \"Lunedi\",\n \"ra_Move down\": \"Abbassati\",\n \"ra_Move up\": \"Andare avanti\",\n \"ra_Name\": \"Nome\",\n \"ra_No data found in file\": \"Nessun dato trovato nel file\",\n \"ra_No one license found in license manager\": \"Nessuna licenza trovata nel gestore delle licenze\",\n \"ra_No response from the backend\": \"Nessuna risposta dal backend\",\n \"ra_Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\": \"I non esperti possono creare nuovi oggetti solo in \\\"0_userdata.0\\\" o \\\"alias.0\\\".\",\n \"ra_Not a number\": \"Non un numero\",\n \"ra_Objects\": \"Oggetti\",\n \"ra_Ok\": \"Ok\",\n \"ra_On weekdays\": \"Nei giorni della settimana\",\n \"ra_Only following structures of objects are available:\": \"Sono disponibili solo le seguenti strutture di oggetti:\",\n \"ra_Only selected\": \"Solo selezionato\",\n \"ra_Owner group\": \"Gruppo di proprietari\",\n \"ra_Owner user\": \"Utente proprietario\",\n \"ra_Passwords are not equal!\": \"Le password non sono uguali!\",\n \"ra_Place your files here or click here to open the browse dialog\": \"Posiziona i file qui o fai clic qui per aprire la finestra di dialogo Sfoglia\",\n \"ra_Please confirm\": \"Si prega di confermare\",\n \"ra_Please create license\": \"Si prega di creare la licenza\",\n \"ra_Please enter the license\": \"Inserisci la licenza\",\n \"ra_Please select file...\": \"Si prega di selezionare il file...\",\n \"ra_Please select object ID...\": \"Seleziona l'ID oggetto ...\",\n \"ra_Port could be used by %s\": \"La porta potrebbe essere utilizzata da %s\",\n \"ra_Port is already used by %s\": \"La porta \u00E8 gi\u00E0 utilizzata da %s\",\n \"ra_Private certificate\": \"Certificato privato\",\n \"ra_Product\": \"Prodotto\",\n \"ra_Public certificate\": \"Certificato pubblico\",\n \"ra_Quality code\": \"Qualit\u00E0\",\n \"ra_Refresh tree\": \"Aggiorna l'albero\",\n \"ra_Reload files\": \"Ricarica i file\",\n \"ra_Repeat\": \"Ripetere\",\n \"ra_Replace\": \"Sostituire\",\n \"ra_Request timed out\": \"Tempo scaduto per la richiesta\",\n \"ra_Restrict to folder\": \"Limita alla cartella\",\n \"ra_Root\": \"Radice\",\n \"ra_Saturday\": \"Sabato\",\n \"ra_Save\": \"Salva\",\n \"ra_Save and close\": \"Salva e chiudi\",\n \"ra_Save configuration to file\": \"Salva la configurazione su file\",\n \"ra_Save objects tree as JSON file\": \"Salva l'albero degli oggetti come file JSON\",\n \"ra_Select all\": \"Seleziona tutto\",\n \"ra_Select color\": \"Seleziona il colore\",\n \"ra_Select predefined icon\": \"Seleziona l'icona predefinita\",\n \"ra_Select type of export\": \"Seleziona il tipo di esportazione\",\n \"ra_Selected\": \"Selezionato\",\n \"ra_Selected %s object(s)\": \"%s oggetto/i selezionato/i\",\n \"ra_Serial number (UUID)\": \"Numero di serie (UUID)\",\n \"ra_Serial number (UUID) \\\"%s\\\" in license is for other device.\": \"Il numero di serie (UUID) \\\"%s\\\" nella licenza \u00E8 per un altro dispositivo.\",\n \"ra_Show all folders\": \"Mostra tutte le cartelle\",\n \"ra_Show lines between rows\": \"Mostra linee tra le righe\",\n \"ra_Show/Hide object descriptions\": \"Mostra/Nascondi le descrizioni degli oggetti\",\n \"ra_Show/hide filter input\": \"Mostra/nascondi input filtro\",\n \"ra_Some data are not stored. Discard?\": \"Alcuni dati non vengono memorizzati. Scartare?\",\n \"ra_States\": \"stati\",\n \"ra_Suitable license not found in license manager\": \"Licenza adatta non trovata nel gestore delle licenze\",\n \"ra_Sunday\": \"Domenica\",\n \"ra_Suppress question for next %s minutes\": \"Sopprimi la domanda per i prossimi %s minuti\",\n \"ra_System language\": \"Linguaggio di sistema\",\n \"ra_Take browser position\": \"Prendi posizione dal browser\",\n \"ra_Take position from system settings\": \"Prendi posizione dalle impostazioni di sistema\",\n \"ra_The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\": \"Gli esperti possono creare oggetti ovunque ma dal secondo livello (es. \\\"Vis.0\\\" o \\\"javascript.0\\\").\",\n \"ra_The page you are looking for was not found\": \"La pagina che stai cercando non \u00E8 stata trovata\",\n \"ra_The schedule will be executed every minute. Are you sure?\": \"La pianificazione verr\u00E0 eseguita ogni minuto. Sei sicuro?\",\n \"ra_The schedule will be executed every second. Are you sure?\": \"La pianificazione verr\u00E0 eseguita ogni secondo. Sei sicuro?\",\n \"ra_Thursday\": \"Gioved\u00EC\",\n \"ra_Timestamp\": \"Timestamp\",\n \"ra_Toggle expert mode\": \"Attiva / disattiva la modalit\u00E0 esperto\",\n \"ra_Toggle the states view\": \"Attiva o disattiva la visualizzazione degli stati\",\n \"ra_Toggle view mode\": \"Attiva / disattiva la modalit\u00E0 di visualizzazione\",\n \"ra_Too big\": \"Troppo grande\",\n \"ra_Too small\": \"Troppo piccolo\",\n \"ra_Transparent dialog\": \"Finestra di dialogo trasparente\",\n \"ra_Tuesday\": \"Marted\u00EC\",\n \"ra_Unknown error\": \"Errore sconosciuto\",\n \"ra_Unknown error!\": \"Errore sconosciuto!\",\n \"ra_Update\": \"Aggiornare\",\n \"ra_Upload file\": \"Caricare un file\",\n \"ra_Use all available let's encrypt certificates\": \"Usa tutti i certificati Let's Encrypt disponibili\",\n \"ra_Use iobroker.acme adapter for letsencrypt certificates\": \"Utilizzare l'adattatore iobroker.acme per i certificati letsencrypt\",\n \"ra_Use system settings for position\": \"Usa le impostazioni di sistema per la posizione\",\n \"ra_Used system settings\": \"Impostazioni di sistema utilizzate\",\n \"ra_User files\": \"File utente\",\n \"ra_ValidTill\": \"Valido fino a\",\n \"ra_Value\": \"Valore\",\n \"ra_Version\": \"Versione\",\n \"ra_View file\": \"Vedi il file\",\n \"ra_View: %s\": \"Visualizza: %s\",\n \"ra_Wednesday\": \"Mercoled\u00EC\",\n \"ra_Width\": \"Larghezza\",\n \"ra_Yes\": \"S\u00CC\",\n \"ra_You can export all objects or just the selected branch.\": \"Puoi esportare tutti gli oggetti o solo il ramo selezionato.\",\n \"ra_You can filter entries by entering here some text\": \"Puoi filtrare le voci inserendo qui del testo\",\n \"ra___different__\": \"diverso\",\n \"ra_aclEveryone_read_object\": \"Tutti possono leggere gli oggetti\",\n \"ra_aclEveryone_read_state\": \"Tutti possono leggere lo stato\",\n \"ra_aclEveryone_write_object\": \"Tutti possono scrivere oggetti\",\n \"ra_aclEveryone_write_state\": \"Tutti possono scrivere stato\",\n \"ra_aclGroup_read_object\": \"Il gruppo pu\u00F2 leggere l'oggetto\",\n \"ra_aclGroup_read_state\": \"Il gruppo pu\u00F2 leggere lo stato\",\n \"ra_aclGroup_write_object\": \"Il gruppo pu\u00F2 scrivere l'oggetto\",\n \"ra_aclGroup_write_state\": \"Il gruppo pu\u00F2 scrivere lo stato\",\n \"ra_aclOwner_read_object\": \"Il proprietario pu\u00F2 leggere l'oggetto\",\n \"ra_aclOwner_read_state\": \"Il proprietario pu\u00F2 leggere lo stato\",\n \"ra_aclOwner_write_object\": \"Il proprietario pu\u00F2 scrivere l'oggetto\",\n \"ra_aclOwner_write_state\": \"Il proprietario pu\u00F2 scrivere lo stato\",\n \"ra_buttons\": \"Bottoni\",\n \"ra_changedFrom\": \"Cambiato da\",\n \"ra_close\": \"vicino\",\n \"ra_create_boolean_state\": \"Crea uno stato booleano\",\n \"ra_create_channel\": \"Crea canale\",\n \"ra_create_device\": \"Crea dispositivo\",\n \"ra_create_number_state\": \"Crea lo stato del numero\",\n \"ra_create_state\": \"Crea stato\",\n \"ra_create_string_state\": \"Crea lo stato della stringa\",\n \"ra_daysShortText\": \"g.\",\n \"ra_dow_Fr\": \"fr\",\n \"ra_dow_Mo\": \"momento\",\n \"ra_dow_Sa\": \"Sa\",\n \"ra_dow_Su\": \"su\",\n \"ra_dow_Th\": \"th\",\n \"ra_dow_Tu\": \"Tu\",\n \"ra_dow_We\": \"Noi\",\n \"ra_expertMode\": \"Modalit\u00E0 esperto\",\n \"ra_fileType_all\": \"Tutti i files\",\n \"ra_fileType_audio\": \"Audio\",\n \"ra_fileType_code\": \"Codice/JSON\",\n \"ra_fileType_images\": \"immagini\",\n \"ra_fileType_txt\": \"Testo\",\n \"ra_fileType_video\": \"video\",\n \"ra_fileType_video,\": \"video\",\n \"ra_filter_customs\": \"impostazioni\",\n \"ra_filter_customs_without\": \"senza\",\n \"ra_filter_func\": \"Funzione\",\n \"ra_filter_id\": \"ID\",\n \"ra_filter_name\": \"Nome\",\n \"ra_filter_role\": \"Ruolo\",\n \"ra_filter_room\": \"Camera\",\n \"ra_filter_type\": \"genere\",\n \"ra_import data from %s file\": \"Importa dati dal file %s\",\n \"ra_invalidConfig\": \"Impostazioni non valide\",\n \"ra_lastChange\": \"Ultima modifica\",\n \"ra_locally\": \"localmente\",\n \"ra_month_Apr\": \"apr\",\n \"ra_month_Aug\": \"agosto\",\n \"ra_month_Dec\": \"Dic\",\n \"ra_month_Feb\": \"febbraio\",\n \"ra_month_Jan\": \"gen\",\n \"ra_month_Jul\": \"lug\",\n \"ra_month_Jun\": \"giu\",\n \"ra_month_Mai\": \"Mai\",\n \"ra_month_Mar\": \"marzo\",\n \"ra_month_Nov\": \"nov\",\n \"ra_month_Oct\": \"ottobre\",\n \"ra_month_Sep\": \"Sett\",\n \"ra_months_Apr\": \"apr\",\n \"ra_months_Aug\": \"agosto\",\n \"ra_months_Dec\": \"Dic\",\n \"ra_months_Feb\": \"febbraio\",\n \"ra_months_Jan\": \"gen\",\n \"ra_months_Jul\": \"lug\",\n \"ra_months_Jun\": \"giu\",\n \"ra_months_Mai\": \"Mai\",\n \"ra_months_Mar\": \"marzo\",\n \"ra_months_Nov\": \"nov\",\n \"ra_months_Oct\": \"ottobre\",\n \"ra_months_Sep\": \"Sett\",\n \"ra_none\": \"nessuna\",\n \"ra_object_changed_by\": \"Oggetto modificato da\",\n \"ra_object_changed_by_user\": \"L'oggetto \u00E8 stato modificato l'ultima volta alle\",\n \"ra_otherConfig\": \"Impostazioni dall'altro adattatore %s\",\n \"ra_qualityCode\": \"Codice di qualit\u00E0\",\n \"ra_repeat\": \"ripetere\",\n \"ra_select_folder_hint\": \"Per selezionare la cartella, basta tenere premuto il tasto \\\"shift\\\" facendo clic sulla cartella.\",\n \"ra_state_changed_by\": \"Stato cambiato da\",\n \"ra_state_changed_from\": \"Oggetto cambiato da\",\n \"ra_timestamp\": \"Timestamp\",\n \"ra_tooltip_ack\": \"Bandiera riconosciuta\",\n \"ra_tooltip_comment\": \"Commento\",\n \"ra_tooltip_copyState\": \"Copia il valore dello stato\",\n \"ra_tooltip_customConfig\": \"Impostazioni personalizzate\",\n \"ra_tooltip_deleteObject\": \"Elimina oggetto\",\n \"ra_tooltip_editObject\": \"Modifica oggetto\",\n \"ra_tooltip_editState\": \"Modifica il valore dello stato\",\n \"ra_tooltip_from\": \"A partire dal\",\n \"ra_tooltip_lc\": \"Ultima modifica\",\n \"ra_tooltip_quality\": \"Qualit\u00E0\",\n \"ra_tooltip_ts\": \"Data e ora\",\n \"ra_tooltip_user\": \"Utente\",\n \"ra_tooltip_value\": \"Valore\",\n \"ra_use seconds\": \"usa i secondi\",\n \"ra_val\": \"Valore\",\n \"ra_via internet\": \"attraverso internet\",\n \"ra_warning_every_minute\": \"Attenzione: il processo CRON verr\u00E0 eseguito ogni minuto durante il periodo specificato!\",\n \"ra_warning_every_second\": \"Attenzione: il processo CRON verr\u00E0 eseguito ogni secondo durante il periodo specificato!\",\n \"sc_cron\": \"CRON\",\n \"sc_date\": \"Data\",\n \"sc_dates\": \"Date\",\n \"sc_dow\": \"Giorno\",\n \"sc_dows\": \"Giorno della settimana\",\n \"sc_every\": \"Ogni\",\n \"sc_everyN_dates\": \"ogni N giorni\",\n \"sc_everyN_dow\": \"ogni Nesimo giorno della settimana\",\n \"sc_everyN_dows\": \"ogni N giorno della settimana\",\n \"sc_everyN_hours\": \"ogni N ore\",\n \"sc_everyN_minutes\": \"ogni N minuti\",\n \"sc_everyN_months\": \"ogni N mesi\",\n \"sc_everyN_seconds\": \"ogni N secondi\",\n \"sc_every_dates\": \"ogni giorno\",\n \"sc_every_dow\": \"Tutti i giorni della settimana\",\n \"sc_every_dows\": \"Tutti i giorni della settimana\",\n \"sc_every_hours\": \"ogni ora\",\n \"sc_every_minutes\": \"ogni minuto\",\n \"sc_every_months\": \"ogni mese\",\n \"sc_every_seconds\": \"ogni secondo\",\n \"sc_from\": \"A partire dal\",\n \"sc_hours\": \"Ore\",\n \"sc_interval\": \"Intervallo\",\n \"sc_intervalBetween\": \"Intervallo tra\",\n \"sc_invalid_cron\": \"CRON non valido\",\n \"sc_minutes\": \"Minuti\",\n \"sc_months\": \"mesi\",\n \"sc_once\": \"Una volta\",\n \"sc_period\": \"Periodo\",\n \"sc_seconds\": \"secondi\",\n \"sc_simple\": \"Semplice\",\n \"sc_specific\": \"Orario preciso\",\n \"sc_specific_dates\": \"date specifiche\",\n \"sc_specific_dow\": \"giorno/i specifico/i della settimana\",\n \"sc_specific_dows\": \"giorno specifico delle settimane\",\n \"sc_specific_hours\": \"orari specifici\",\n \"sc_specific_minutes\": \"minuti specifici\",\n \"sc_specific_months\": \"mesi specifici\",\n \"sc_specific_seconds\": \"secondi specifici\",\n \"sc_time\": \"Tempo\",\n \"sc_to\": \"Per\",\n \"sc_wizard\": \"procedura guidata\",\n \"sch_all\": \"tutti\",\n \"sch_astroDay\": \"Astro day\",\n \"sch_astroNight\": \"Astro night\",\n \"sch_astro_dawn\": \"Alba\",\n \"sch_astro_dusk\": \"Crepuscolo\",\n \"sch_astro_goldenHour\": \"Ora d'oro\",\n \"sch_astro_goldenHourEnd\": \"Fine dell'ora d'oro\",\n \"sch_astro_nadir\": \"Nadir\",\n \"sch_astro_nauticalDawn\": \"Alba nautica\",\n \"sch_astro_nauticalDusk\": \"Crepuscolo nautico\",\n \"sch_astro_night\": \"Notte\",\n \"sch_astro_nightEnd\": \"Fine della notte\",\n \"sch_astro_solarNoon\": \"Mezzogiorno solare\",\n \"sch_astro_sunrise\": \"Alba\",\n \"sch_astro_sunriseEnd\": \"Fine dell'alba\",\n \"sch_astro_sunset\": \"Tramonto\",\n \"sch_astro_sunsetStart\": \"Inizio del tramonto\",\n \"sch_at\": \"a\",\n \"sch_desc_atTime\": \"a %s\",\n \"sch_desc_everyDay\": \"ogni giorno\",\n \"sch_desc_everyHour\": \"ogni ora\",\n \"sch_desc_everyMinute\": \"ogni minuto\",\n \"sch_desc_everyMonth\": \"ogni mese\",\n \"sch_desc_everyNDay\": \"ogni %s giorno\",\n \"sch_desc_everyNHours\": \"ogni %s ore\",\n \"sch_desc_everyNMinutes\": \"ogni %s minuti\",\n \"sch_desc_everyNMonths\": \"ogni %s mesi\",\n \"sch_desc_everyNWeeks\": \"ogni %s settimane\",\n \"sch_desc_everyNYears\": \"ogni %s anni\",\n \"sch_desc_everyWeek\": \"ogni settimana\",\n \"sch_desc_everyYear\": \"ogni anno\",\n \"sch_desc_intervalFromTo\": \"da %s a %s\",\n \"sch_desc_never\": \"mai\",\n \"sch_desc_onDate\": \"su %s di %s\",\n \"sch_desc_onDates\": \"su %s e %s di\",\n \"sch_desc_onEveryDate\": \"in ogni data di\",\n \"sch_desc_onMonth\": \"%s\",\n \"sch_desc_onMonths\": \"%s e %s\",\n \"sch_desc_onWeekday\": \"su %s\",\n \"sch_desc_onWeekdays\": \"su %s e %s\",\n \"sch_desc_onWeekends\": \"nei finesettimana\",\n \"sch_desc_onWorkdays\": \"nei giorni lavorativi\",\n \"sch_desc_onceInPast\": \"non verr\u00E0 pi\u00F9 eseguito, perch\u00E9 start \u00E8 nel passato\",\n \"sch_desc_once_on\": \"su %s\",\n \"sch_desc_validFrom\": \"da %s\",\n \"sch_desc_validFromTo\": \"Eseguire da a\",\n \"sch_desc_validTo\": \"a %s\",\n \"sch_every\": \"ogni\",\n \"sch_exactTime\": \"Orario preciso\",\n \"sch_from\": \"a partire dal\",\n \"sch_fromTo\": \"Da A\",\n \"sch_intervalTime\": \"Intervallo di tempo\",\n \"sch_invert\": \"invertire\",\n \"sch_no_one\": \"nessuna\",\n \"sch_on\": \"sopra\",\n \"sch_period\": \"Periodo\",\n \"sch_periodDaily\": \"Quotidiano\",\n \"sch_periodDates\": \"Date\",\n \"sch_periodDay\": \"Giorno\",\n \"sch_periodEvery\": \"Ogni\",\n \"sch_periodEveryDay\": \"Ogni giorno\",\n \"sch_periodEveryMonth\": \"Ogni mese\",\n \"sch_periodEveryWeek\": \"Ogni settimana\",\n \"sch_periodEveryYear\": \"Ogni anno\",\n \"sch_periodHours\": \"Ore\",\n \"sch_periodMinutes\": \"Minuti\",\n \"sch_periodMonth\": \"mese\",\n \"sch_periodMonthly\": \"Mensile\",\n \"sch_periodOnce\": \"Una volta\",\n \"sch_periodSpecificMonths\": \"Mesi specifici\",\n \"sch_periodWeek\": \"Settimana\",\n \"sch_periodWeekdays\": \"Giorni della settimana\",\n \"sch_periodWeekend\": \"Fine settimana\",\n \"sch_periodWeekly\": \"settimanalmente\",\n \"sch_periodWorkdays\": \"giorni feriali\",\n \"sch_periodYear\": \"Anno\",\n \"sch_periodYearly\": \"Annuale\",\n \"sch_specificTime\": \"Orario preciso\",\n \"sch_time\": \"Tempo\",\n \"sch_to\": \"per\",\n \"sch_valid\": \"Valido\",\n \"sch_validFrom\": \"a partire dal\",\n \"sch_validTo\": \"per\",\n \"sch_wholeDay\": \"Giorno intero\",\n \"sch_yearEveryMonth\": \"ogni mese\"\n}\n", "{\n \"ra_%s links from aliases\": \"%s enlaces de alias\",\n \"ra_%s object(s) processed\": \"%s objeto(s) procesados\",\n \"ra_%s was imported\": \"%s fue importado\",\n \"ra_Accept license\": \"Aceptar licencia\",\n \"ra_Add new child object to selected parent\": \"Agregar nuevo objeto hijo al padre seleccionado\",\n \"ra_Add objects tree from JSON file\": \"Agregar \u00E1rbol de objetos desde el archivo JSON\",\n \"ra_Add row\": \"A\u00F1adir fila\",\n \"ra_Advanced options\": \"Opciones avanzadas\",\n \"ra_All items are filtered out\": \"Todos los elementos se filtran\",\n \"ra_All objects\": \"Todos los objetos\",\n \"ra_Append\": \"Adjuntar\",\n \"ra_Append %s entries or replace existing?\": \"\u00BFAgregar %s entradas o reemplazar las existentes?\",\n \"ra_Append or replace?\": \"\u00BFAgregar o reemplazar?\",\n \"ra_Are you sure?\": \"\u00BFEst\u00E1s seguro?\",\n \"ra_Auto (no custom columns)\": \"Autom\u00E1tico (sin columnas personalizadas)\",\n \"ra_Back to %s\": \"Volver a %s\",\n \"ra_Background image\": \"Imagen de fondo\",\n \"ra_Cancel\": \"Cancelar\",\n \"ra_Cannot add items with set filter\": \"No se pueden agregar elementos con el filtro establecido\",\n \"ra_Cannot decode license\": \"No se puede decodificar la licencia\",\n \"ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser\": \"No se puede determinar la posici\u00F3n: la configuraci\u00F3n del sistema est\u00E1 vac\u00EDa y la detecci\u00F3n de GPS est\u00E1 deshabilitada en el navegador\",\n \"ra_Cannot find \\\"%s\\\"\": \"No se puede encontrar \\\"%s\\\"\",\n \"ra_Cannot read \\\"%s\\\"\": \"No se puede leer \\\"%s\\\"\",\n \"ra_Cannot read licenses: %s\": \"No se pueden leer licencias: %s\",\n \"ra_Cannot retrieve options, as instance is offline\": \"No se pueden recuperar las opciones, ya que la instancia est\u00E1 fuera de l\u00EDnea\",\n \"ra_Cannot update attribute, because not found in the object\": \"No se puede actualizar el atributo porque no se encuentra en el objeto\",\n \"ra_Cannot upload\": \"no se puede cargar\",\n \"ra_Categories\": \"Categor\u00EDas\",\n \"ra_Chained certificate\": \"certificado encadenado\",\n \"ra_Change color theme\": \"Cambiar tema de color\",\n \"ra_Changed from\": \"Cambiaron desde\",\n \"ra_Channel \u2192 State\": \"Canal \u2192 Estado\",\n \"ra_Check license\": \"Verificar licencia\",\n \"ra_Checked\": \"Comprobado\",\n \"ra_Clear\": \"Borrar\",\n \"ra_Clear filter\": \"Filtro claro\",\n \"ra_Clear icon\": \"Icono claro\",\n \"ra_Clone current row\": \"Clonar fila actual\",\n \"ra_Close\": \"Cerca\",\n \"ra_Collapse all nodes\": \"Contraer todos los nodos\",\n \"ra_Collapse one step node\": \"Contraer un nivel\",\n \"ra_Commercial\": \"Comercial\",\n \"ra_Configure\": \"Configurar\",\n \"ra_Configure visible columns\": \"Configurar columnas visibles\",\n \"ra_Confirm deletion of %s\": \"Confirmar la eliminaci\u00F3n de %s\",\n \"ra_Connected\": \"Conectado\",\n \"ra_Copied\": \"Copiado\",\n \"ra_Copied %s\": \"Copiado \\\"%s\\\"\",\n \"ra_Copy content\": \"Copiar contenido\",\n \"ra_Create\": \"Crear\",\n \"ra_Create alias\": \"Crear alias\",\n \"ra_Create folder\": \"Crear carpeta\",\n \"ra_Create new folder in %s\": \"Crear nueva carpeta en %s\",\n \"ra_Crop\": \"Cultivo\",\n \"ra_Define CRON...\": \"Definir CRON...\",\n \"ra_Define functions\": \"Definir funciones\",\n \"ra_Define rooms\": \"Definir habitaciones\",\n \"ra_Define schedule\": \"Definir horario\",\n \"ra_Define schedule...\": \"Definir horario ...\",\n \"ra_Del\": \"Delete\",\n \"ra_Delete\": \"Eliminar\",\n \"ra_Delete (no confirm for 5 mins)\": \"Eliminar (sin confirmar durante 5 minutos)\",\n \"ra_Delete current row\": \"Eliminar fila actual\",\n \"ra_Deselect all\": \"Deselecciona todo\",\n \"ra_Device \u2192 Channel \u2192 State\": \"Dispositivo \u2192 Canal \u2192 Estado\",\n \"ra_Discard\": \"Desechar\",\n \"ra_Disconnected\": \"Desconectado\",\n \"ra_Do not export values of states\": \"No exportar valores de estados.\",\n \"ra_Do not use let's encrypt\": \"No use vamos a cifrar\",\n \"ra_Double click to reset table layout\": \"Haga doble clic para restablecer el dise\u00F1o de la tabla\",\n \"ra_Drag 'n' drop some files here, or click to select files\": \"Arrastre y suelte algunos archivos aqu\u00ED, o haga clic para seleccionar archivos\",\n \"ra_Drop file here\": \"Suelta el archivo aqu\u00ED\",\n \"ra_Drop the files here...\": \"Suelta el archivo aqu\u00ED ...\",\n \"ra_Duplicate name\": \"Nombre duplicado\",\n \"ra_Edit ACL\": \"Editar LCA\",\n \"ra_Edit alias\": \"Editar alias\",\n \"ra_Edit custom config\": \"Editar configuraci\u00F3n personalizada\",\n \"ra_Edit function\": \"Funci\u00F3n de edici\u00F3n\",\n \"ra_Edit object field\": \"Editar campo de objeto\",\n \"ra_Edit role\": \"Editar rol\",\n \"ra_Edit room\": \"Cuarto de edici\u00F3n\",\n \"ra_Edit value\": \"Editar valor\",\n \"ra_Error\": \"Error\",\n \"ra_Expand all nodes\": \"Expandir todos los nodos\",\n \"ra_Expand one step node\": \"Expandir un nivel\",\n \"ra_Export data to %s file\": \"Exportar datos al archivo %s\",\n \"ra_Failed to open JSON File\": \"No se pudo abrir el archivo JSON\",\n \"ra_Fallback custom certificates\": \"Certificados personalizados alternativos\",\n \"ra_File is too big. Max %sk allowed. Try use SVG.\": \"El archivo es demasiado grande. M\u00E1ximo de %sk permitido. Intenta usar SVG.\",\n \"ra_Filter\": \"Filtrar\",\n \"ra_Filter files\": \"Filtrar archivos\",\n \"ra_Folder name\": \"Nombre de la carpeta\",\n \"ra_Folder \u2192 Channel \u2192 State\": \"Carpeta \u2192 Canal \u2192 Estado\",\n \"ra_Folder \u2192 Device \u2192 Channel \u2192 State\": \"Carpeta \u2192 Dispositivo \u2192 Canal \u2192 Estado\",\n \"ra_Folder \u2192 State\": \"Carpeta \u2192 Estado\",\n \"ra_Folders always first\": \"Carpetas siempre primero\",\n \"ra_Friday\": \"Viernes\",\n \"ra_Good luck\": \"Buena suerte\",\n \"ra_Hide empty folders\": \"Ocultar carpetas vac\u00EDas\",\n \"ra_If no file will be created in the folder, it will disappear after the browser closed\": \"Si no se crear\u00E1 ning\u00FAn archivo en la carpeta, desaparecer\u00E1 despu\u00E9s de que se cierre el navegador.\",\n \"ra_Import data from %s file\": \"Importar datos del archivo %s\",\n \"ra_Import from %s\": \"Importar desde %s\",\n \"ra_Instance %s is alive\": \"Instancia %s est\u00E1 vivo\",\n \"ra_Instance %s is not alive\": \"Instancia %s no est\u00E1 vivo\",\n \"ra_Instance is not alive\": \"La instancia no est\u00E1 viva\",\n \"ra_Invalid CRON\": \"CRON no v\u00E1lido\",\n \"ra_Invalid JSON\": \"JSON no v\u00E1lido\",\n \"ra_Invalid answer from server\": \"Respuesta inv\u00E1lida del servidor\",\n \"ra_Invalid parent folder!\": \"Carpeta principal no v\u00E1lida.\",\n \"ra_Invalid structure\": \"Estructura inv\u00E1lida\",\n \"ra_JSON editor\": \"editor JSON\",\n \"ra_Last change\": \"Ultimo cambio\",\n \"ra_Latitude\": \"Latitud\",\n \"ra_License %s\": \"Licencia %s\",\n \"ra_License agreement\": \"Acuerdo de licencia\",\n \"ra_License does not exist\": \"La licencia no existe\",\n \"ra_License expired on %s\": \"La licencia venci\u00F3 el %s\",\n \"ra_License for other product \\\"%s\\\"\": \"Licencia para otro producto \\\"%s\\\"\",\n \"ra_License is for version %s, but required version is %s.\": \"La licencia es para la versi\u00F3n %s, pero la versi\u00F3n requerida es %s.\",\n \"ra_License must be converted\": \"La licencia debe convertirse a una versi\u00F3n m\u00E1s reciente. Puedes hacerlo en tu perfil de iobroker.net.\",\n \"ra_License not found in license manager. Do you want to read licenses from iobroker.net?\": \"Licencia no encontrada en el administrador de licencias. \u00BFQuieres actualizar las licencias de iobroker.net?\",\n \"ra_Listen on all IPs\": \"Escuche en todas las IP\",\n \"ra_Load configuration from file\": \"Cargar configuraci\u00F3n desde archivo\",\n \"ra_Longitude\": \"Longitud\",\n \"ra_May not trigger \\\"updateLicenses\\\"\": \"No puede activar \\\"updateLicenses\\\"\",\n \"ra_Message\": \"Mensaje\",\n \"ra_Monday\": \"Lunes\",\n \"ra_Move down\": \"Mover hacia abajo\",\n \"ra_Move up\": \"Ascender\",\n \"ra_Name\": \"Nombre\",\n \"ra_No data found in file\": \"No se encontraron datos en el archivo\",\n \"ra_No one license found in license manager\": \"No se encontr\u00F3 ninguna licencia en el administrador de licencias\",\n \"ra_No response from the backend\": \"No hay respuesta del backend\",\n \"ra_Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\": \"Los no expertos pueden crear nuevos objetos solo en \\\"0_userdata.0\\\" o \\\"alias.0\\\".\",\n \"ra_Not a number\": \"No un n\u00FAmero\",\n \"ra_Objects\": \"Objetos\",\n \"ra_Ok\": \"Okay\",\n \"ra_On weekdays\": \"De lunes a viernes\",\n \"ra_Only following structures of objects are available:\": \"Solo est\u00E1n disponibles las siguientes estructuras de objetos:\",\n \"ra_Only selected\": \"Solo seleccionados\",\n \"ra_Owner group\": \"Grupo propietario\",\n \"ra_Owner user\": \"Usuario propietario\",\n \"ra_Passwords are not equal!\": \"\u00A1Las contrase\u00F1as no son iguales!\",\n \"ra_Place your files here or click here to open the browse dialog\": \"Coloque sus archivos aqu\u00ED o haga clic aqu\u00ED para abrir el cuadro de di\u00E1logo de exploraci\u00F3n\",\n \"ra_Please confirm\": \"Por favor confirmar\",\n \"ra_Please create license\": \"Por favor cree una licencia\",\n \"ra_Please enter the license\": \"Por favor ingrese la licencia\",\n \"ra_Please select file...\": \"Seleccione el archivo...\",\n \"ra_Please select object ID...\": \"Por favor seleccione ID de objeto ...\",\n \"ra_Port could be used by %s\": \"El puerto podr\u00EDa ser utilizado por %s\",\n \"ra_Port is already used by %s\": \"El puerto ya est\u00E1 en uso por %s\",\n \"ra_Private certificate\": \"certificado privado\",\n \"ra_Product\": \"Producto\",\n \"ra_Public certificate\": \"Certificado p\u00FAblico\",\n \"ra_Quality code\": \"Calidad\",\n \"ra_Refresh tree\": \"Actualizar \u00E1rbol\",\n \"ra_Reload files\": \"Recargar archivos\",\n \"ra_Repeat\": \"Repetir\",\n \"ra_Replace\": \"Reemplazar\",\n \"ra_Request timed out\": \"Tiempo de espera agotado\",\n \"ra_Restrict to folder\": \"Restringir a carpeta\",\n \"ra_Root\": \"Ra\u00EDz\",\n \"ra_Saturday\": \"S\u00E1bado\",\n \"ra_Save\": \"Salvar\",\n \"ra_Save and close\": \"Guardar y cerrar\",\n \"ra_Save configuration to file\": \"Guardar configuraci\u00F3n en archivo\",\n \"ra_Save objects tree as JSON file\": \"Guardar el \u00E1rbol de objetos como archivo JSON\",\n \"ra_Select all\": \"Seleccionar todo\",\n \"ra_Select color\": \"Seleccionar el color\",\n \"ra_Select predefined icon\": \"Seleccionar icono predefinido\",\n \"ra_Select type of export\": \"Seleccione tipo de exportaci\u00F3n\",\n \"ra_Selected\": \"Seleccionado\",\n \"ra_Selected %s object(s)\": \"%s objetos seleccionados\",\n \"ra_Serial number (UUID)\": \"N\u00FAmero de serie (UUID)\",\n \"ra_Serial number (UUID) \\\"%s\\\" in license is for other device.\": \"El n\u00FAmero de serie (UUID) \\\"%s\\\" en la licencia es para otro dispositivo.\",\n \"ra_Show all folders\": \"Mostrar todas las carpetas\",\n \"ra_Show lines between rows\": \"Mostrar l\u00EDneas entre filas\",\n \"ra_Show/Hide object descriptions\": \"Mostrar/ocultar descripciones de objetos\",\n \"ra_Show/hide filter input\": \"Mostrar/ocultar entrada de filtro\",\n \"ra_Some data are not stored. Discard?\": \"Algunos datos no se almacenan. \u00BFDesechar?\",\n \"ra_States\": \"Estados\",\n \"ra_Suitable license not found in license manager\": \"Licencia adecuada no encontrada en el administrador de licencias\",\n \"ra_Sunday\": \"Domingo\",\n \"ra_Suppress question for next %s minutes\": \"Suprimir pregunta durante los pr\u00F3ximos %s minutos\",\n \"ra_System language\": \"Lenguaje del sistema\",\n \"ra_Take browser position\": \"Tomar posici\u00F3n desde el navegador\",\n \"ra_Take position from system settings\": \"Tomar posici\u00F3n desde la configuraci\u00F3n del sistema\",\n \"ra_The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\": \"Los expertos pueden crear objetos en todas partes excepto desde el segundo nivel (por ejemplo, \\\"vis.0\\\" o \\\"javascript.0\\\").\",\n \"ra_The page you are looking for was not found\": \"No se encontr\u00F3 la p\u00E1gina que busca\",\n \"ra_The schedule will be executed every minute. Are you sure?\": \"El cronograma se ejecutar\u00E1 cada minuto. \u00BFEst\u00E1s seguro?\",\n \"ra_The schedule will be executed every second. Are you sure?\": \"El cronograma se ejecutar\u00E1 cada segundo. \u00BFEst\u00E1s seguro?\",\n \"ra_Thursday\": \"Jueves\",\n \"ra_Timestamp\": \"Marca de tiempo\",\n \"ra_Toggle expert mode\": \"Alternar modo experto\",\n \"ra_Toggle the states view\": \"Alternar la vista de estados\",\n \"ra_Toggle view mode\": \"Alternar modo de vista\",\n \"ra_Too big\": \"Demasiado grande\",\n \"ra_Too small\": \"Demasiado peque\u00F1a\",\n \"ra_Transparent dialog\": \"Di\u00E1logo transparente\",\n \"ra_Tuesday\": \"Martes\",\n \"ra_Unknown error\": \"Error desconocido\",\n \"ra_Unknown error!\": \"\u00A1Error desconocido!\",\n \"ra_Update\": \"Actualizar\",\n \"ra_Upload file\": \"Subir archivo\",\n \"ra_Use all available let's encrypt certificates\": \"Utilice todos los certificados let's encrypt disponibles\",\n \"ra_Use iobroker.acme adapter for letsencrypt certificates\": \"Use el adaptador iobroker.acme para los certificados de letsencrypt\",\n \"ra_Use system settings for position\": \"Usar la configuraci\u00F3n del sistema para la posici\u00F3n\",\n \"ra_Used system settings\": \"Configuraciones del sistema usadas\",\n \"ra_User files\": \"Archivos de usuario\",\n \"ra_ValidTill\": \"V\u00E1lida hasta\",\n \"ra_Value\": \"Valor\",\n \"ra_Version\": \"Versi\u00F3n\",\n \"ra_View file\": \"Ver archivo\",\n \"ra_View: %s\": \"Ver: %s\",\n \"ra_Wednesday\": \"Mi\u00E9rcoles\",\n \"ra_Width\": \"Anchura\",\n \"ra_Yes\": \"S\u00ED\",\n \"ra_You can export all objects or just the selected branch.\": \"Puede exportar todos los objetos o solo la rama seleccionada.\",\n \"ra_You can filter entries by entering here some text\": \"Puede filtrar las entradas ingresando aqu\u00ED alg\u00FAn texto\",\n \"ra___different__\": \"diferente\",\n \"ra_aclEveryone_read_object\": \"Todo el mundo puede leer el objeto\",\n \"ra_aclEveryone_read_state\": \"Todos pueden leer el estado\",\n \"ra_aclEveryone_write_object\": \"Todos pueden escribir objetos\",\n \"ra_aclEveryone_write_state\": \"Todos pueden escribir el estado\",\n \"ra_aclGroup_read_object\": \"El grupo puede leer el objeto\",\n \"ra_aclGroup_read_state\": \"El grupo puede leer el estado\",\n \"ra_aclGroup_write_object\": \"El grupo puede escribir un objeto\",\n \"ra_aclGroup_write_state\": \"El grupo puede escribir el estado\",\n \"ra_aclOwner_read_object\": \"El propietario puede leer el objeto\",\n \"ra_aclOwner_read_state\": \"El propietario puede leer el estado\",\n \"ra_aclOwner_write_object\": \"El propietario puede escribir el objeto\",\n \"ra_aclOwner_write_state\": \"El propietario puede escribir el estado\",\n \"ra_buttons\": \"Botones\",\n \"ra_changedFrom\": \"Cambiaron desde\",\n \"ra_close\": \"cerrar\",\n \"ra_create_boolean_state\": \"Crear estado booleano\",\n \"ra_create_channel\": \"Crear canal\",\n \"ra_create_device\": \"Crear dispositivo\",\n \"ra_create_number_state\": \"Crear estado num\u00E9rico\",\n \"ra_create_state\": \"Crear estado\",\n \"ra_create_string_state\": \"Crear estado de cadena\",\n \"ra_daysShortText\": \"d.\",\n \"ra_dow_Fr\": \"Fr\",\n \"ra_dow_Mo\": \"Mes\",\n \"ra_dow_Sa\": \"Sa\",\n \"ra_dow_Su\": \"Su\",\n \"ra_dow_Th\": \"Th\",\n \"ra_dow_Tu\": \"Tu\",\n \"ra_dow_We\": \"Nosotros\",\n \"ra_expertMode\": \"Modo experto\",\n \"ra_fileType_all\": \"Todos los archivos\",\n \"ra_fileType_audio\": \"Audio\",\n \"ra_fileType_code\": \"C\u00F3digo/JSON\",\n \"ra_fileType_images\": \"Im\u00E1genes\",\n \"ra_fileType_txt\": \"Texto\",\n \"ra_fileType_video\": \"Video\",\n \"ra_fileType_video,\": \"Video\",\n \"ra_filter_customs\": \"Configuraciones\",\n \"ra_filter_customs_without\": \"sin\",\n \"ra_filter_func\": \"Funci\u00F3n\",\n \"ra_filter_id\": \"ID\",\n \"ra_filter_name\": \"Nombre\",\n \"ra_filter_role\": \"Papel\",\n \"ra_filter_room\": \"Habitaci\u00F3n\",\n \"ra_filter_type\": \"Tipo\",\n \"ra_import data from %s file\": \"Importar datos del archivo %s\",\n \"ra_invalidConfig\": \"Configuraciones inv\u00E1lidas\",\n \"ra_lastChange\": \"Ultimo cambio\",\n \"ra_locally\": \"en la zona\",\n \"ra_month_Apr\": \"Abr\",\n \"ra_month_Aug\": \"Ago\",\n \"ra_month_Dec\": \"Dic\",\n \"ra_month_Feb\": \"Feb\",\n \"ra_month_Jan\": \"Ene\",\n \"ra_month_Jul\": \"Jul\",\n \"ra_month_Jun\": \"Jun\",\n \"ra_month_Mai\": \"Mai\",\n \"ra_month_Mar\": \"Mar\",\n \"ra_month_Nov\": \"Nov\",\n \"ra_month_Oct\": \"Oct\",\n \"ra_month_Sep\": \"Sep\",\n \"ra_months_Apr\": \"Abr\",\n \"ra_months_Aug\": \"Ago\",\n \"ra_months_Dec\": \"Dic\",\n \"ra_months_Feb\": \"Feb\",\n \"ra_months_Jan\": \"Ene\",\n \"ra_months_Jul\": \"Jul\",\n \"ra_months_Jun\": \"Jun\",\n \"ra_months_Mai\": \"Mai\",\n \"ra_months_Mar\": \"Mar\",\n \"ra_months_Nov\": \"Nov\",\n \"ra_months_Oct\": \"Oct\",\n \"ra_months_Sep\": \"Sep\",\n \"ra_none\": \"ninguno\",\n \"ra_object_changed_by\": \"Objeto cambiado por\",\n \"ra_object_changed_by_user\": \"Objeto cambiado por \u00FAltima vez a las\",\n \"ra_otherConfig\": \"Configuraciones de otro adaptador %s\",\n \"ra_qualityCode\": \"C\u00F3digo de calidad\",\n \"ra_repeat\": \"repetir\",\n \"ra_select_folder_hint\": \"Para seleccionar la carpeta, simplemente mantenga presionada la tecla \\\"shift\\\" haciendo clic en la carpeta.\",\n \"ra_state_changed_by\": \"Estado cambiado por\",\n \"ra_state_changed_from\": \"Objeto cambiado de\",\n \"ra_timestamp\": \"Marca de tiempo\",\n \"ra_tooltip_ack\": \"Bandera reconocida\",\n \"ra_tooltip_comment\": \"Comentario\",\n \"ra_tooltip_copyState\": \"Copie el valor del estado\",\n \"ra_tooltip_customConfig\": \"Ajustes personalizados\",\n \"ra_tooltip_deleteObject\": \"Eliminar objeto\",\n \"ra_tooltip_editObject\": \"Editar objeto\",\n \"ra_tooltip_editState\": \"Edite el valor del estado\",\n \"ra_tooltip_from\": \"Desde\",\n \"ra_tooltip_lc\": \"\u00DAltimo cambio\",\n \"ra_tooltip_quality\": \"Calidad\",\n \"ra_tooltip_ts\": \"Sello de tiempo\",\n \"ra_tooltip_user\": \"Usuario\",\n \"ra_tooltip_value\": \"Valor\",\n \"ra_use seconds\": \"usar segundos\",\n \"ra_val\": \"Valor\",\n \"ra_via internet\": \"v\u00EDa Internet\",\n \"ra_warning_every_minute\": \"Advertencia: \u00A1El trabajo CRON se ejecutar\u00E1 cada minuto durante el per\u00EDodo especificado!\",\n \"ra_warning_every_second\": \"Advertencia: \u00A1El trabajo CRON se ejecutar\u00E1 cada segundo durante el per\u00EDodo especificado!\",\n \"sc_cron\": \"CRON\",\n \"sc_date\": \"Fecha\",\n \"sc_dates\": \"fechas\",\n \"sc_dow\": \"D\u00EDa\",\n \"sc_dows\": \"D\u00EDa de la semana\",\n \"sc_every\": \"Cada\",\n \"sc_everyN_dates\": \"cada N d\u00EDas\",\n \"sc_everyN_dow\": \"cada en\u00E9simo d\u00EDa de la semana\",\n \"sc_everyN_dows\": \"cada N d\u00EDa de la semana\",\n \"sc_everyN_hours\": \"cada N horas\",\n \"sc_everyN_minutes\": \"cada N minutos\",\n \"sc_everyN_months\": \"cada N meses\",\n \"sc_everyN_seconds\": \"cada N segundos\",\n \"sc_every_dates\": \"cada d\u00EDa\",\n \"sc_every_dow\": \"Cada d\u00EDa de la semana\",\n \"sc_every_dows\": \"Cada d\u00EDa de la semana\",\n \"sc_every_hours\": \"cada hora\",\n \"sc_every_minutes\": \"cada minuto\",\n \"sc_every_months\": \"cada mes\",\n \"sc_every_seconds\": \"cada segundo\",\n \"sc_from\": \"De\",\n \"sc_hours\": \"Horas\",\n \"sc_interval\": \"Intervalo\",\n \"sc_intervalBetween\": \"Intervalo entre\",\n \"sc_invalid_cron\": \"CRON no v\u00E1lido\",\n \"sc_minutes\": \"Minutos\",\n \"sc_months\": \"meses\",\n \"sc_once\": \"Una vez\",\n \"sc_period\": \"Per\u00EDodo\",\n \"sc_seconds\": \"Segundos\",\n \"sc_simple\": \"Sencillo\",\n \"sc_specific\": \"Tiempo espec\u00EDfico\",\n \"sc_specific_dates\": \"fechas especificas\",\n \"sc_specific_dow\": \"d\u00EDa(s) espec\u00EDfico(s) de la semana\",\n \"sc_specific_dows\": \"d\u00EDa espec\u00EDfico de semanas\",\n \"sc_specific_hours\": \"horas espec\u00EDficas\",\n \"sc_specific_minutes\": \"minutos espec\u00EDficos\",\n \"sc_specific_months\": \"meses espec\u00EDficos\",\n \"sc_specific_seconds\": \"segundos espec\u00EDficos\",\n \"sc_time\": \"Hora\",\n \"sc_to\": \"A\",\n \"sc_wizard\": \"Mago\",\n \"sch_all\": \"todas\",\n \"sch_astroDay\": \"D\u00EDa astro\",\n \"sch_astroNight\": \"Noche astro\",\n \"sch_astro_dawn\": \"Amanecer\",\n \"sch_astro_dusk\": \"Oscuridad\",\n \"sch_astro_goldenHour\": \"hora dorada\",\n \"sch_astro_goldenHourEnd\": \"Fin de la hora dorada\",\n \"sch_astro_nadir\": \"Nadir\",\n \"sch_astro_nauticalDawn\": \"Amanecer n\u00E1utico\",\n \"sch_astro_nauticalDusk\": \"Anochecer n\u00E1utico\",\n \"sch_astro_night\": \"Noche\",\n \"sch_astro_nightEnd\": \"Fin de la noche\",\n \"sch_astro_solarNoon\": \"Mediod\u00EDa solar\",\n \"sch_astro_sunrise\": \"amanecer\",\n \"sch_astro_sunriseEnd\": \"Fin del amanecer\",\n \"sch_astro_sunset\": \"Puesta de sol\",\n \"sch_astro_sunsetStart\": \"Puesta de sol\",\n \"sch_at\": \"a\",\n \"sch_desc_atTime\": \"en %s\",\n \"sch_desc_everyDay\": \"cada d\u00EDa\",\n \"sch_desc_everyHour\": \"cada hora\",\n \"sch_desc_everyMinute\": \"cada minuto\",\n \"sch_desc_everyMonth\": \"cada mes\",\n \"sch_desc_everyNDay\": \"cada %s d\u00EDas\",\n \"sch_desc_everyNHours\": \"cada %s horas\",\n \"sch_desc_everyNMinutes\": \"cada %s minutos\",\n \"sch_desc_everyNMonths\": \"cada %s meses\",\n \"sch_desc_everyNWeeks\": \"cada %s semanas\",\n \"sch_desc_everyNYears\": \"cada %s a\u00F1os\",\n \"sch_desc_everyWeek\": \"cada semana\",\n \"sch_desc_everyYear\": \"todos los a\u00F1os\",\n \"sch_desc_intervalFromTo\": \"de %s a %s\",\n \"sch_desc_never\": \"Nunca\",\n \"sch_desc_onDate\": \"en %s de %s\",\n \"sch_desc_onDates\": \"en %s y %s de\",\n \"sch_desc_onEveryDate\": \"en cada fecha de\",\n \"sch_desc_onMonth\": \"%s\",\n \"sch_desc_onMonths\": \"%s y %s\",\n \"sch_desc_onWeekday\": \"en %s\",\n \"sch_desc_onWeekdays\": \"en %s y %s\",\n \"sch_desc_onWeekends\": \"en los fines de semana\",\n \"sch_desc_onWorkdays\": \"en d\u00EDas laborables\",\n \"sch_desc_onceInPast\": \"ya no se ejecutar\u00E1 m\u00E1s, porque el inicio est\u00E1 en el pasado\",\n \"sch_desc_once_on\": \"en %s\",\n \"sch_desc_validFrom\": \"de %s\",\n \"sch_desc_validFromTo\": \"Ejecutar desde hasta\",\n \"sch_desc_validTo\": \"a %s\",\n \"sch_every\": \"cada\",\n \"sch_exactTime\": \"Tiempo espec\u00EDfico\",\n \"sch_from\": \"de\",\n \"sch_fromTo\": \"De-a\",\n \"sch_intervalTime\": \"Tiempo de intervalo\",\n \"sch_invert\": \"invertir; poner boca abajo o en la posici\u00F3n opuesta, orden o arreglo; Boca abajo\",\n \"sch_no_one\": \"ninguna\",\n \"sch_on\": \"en\",\n \"sch_period\": \"Per\u00EDodo\",\n \"sch_periodDaily\": \"Diario\",\n \"sch_periodDates\": \"fechas\",\n \"sch_periodDay\": \"D\u00EDa\",\n \"sch_periodEvery\": \"Cada\",\n \"sch_periodEveryDay\": \"Cada d\u00EDa\",\n \"sch_periodEveryMonth\": \"Cada mes\",\n \"sch_periodEveryWeek\": \"Cada semana\",\n \"sch_periodEveryYear\": \"Todos los a\u00F1os\",\n \"sch_periodHours\": \"Horas\",\n \"sch_periodMinutes\": \"Minutos\",\n \"sch_periodMonth\": \"mes\",\n \"sch_periodMonthly\": \"Mensual\",\n \"sch_periodOnce\": \"Una vez\",\n \"sch_periodSpecificMonths\": \"Meses espec\u00EDficos\",\n \"sch_periodWeek\": \"Semana\",\n \"sch_periodWeekdays\": \"D\u00EDas laborables\",\n \"sch_periodWeekend\": \"Fin de semana\",\n \"sch_periodWeekly\": \"Semanal\",\n \"sch_periodWorkdays\": \"D\u00EDas laborables\",\n \"sch_periodYear\": \"A\u00F1o\",\n \"sch_periodYearly\": \"Anual\",\n \"sch_specificTime\": \"Tiempo espec\u00EDfico\",\n \"sch_time\": \"Hora\",\n \"sch_to\": \"a\",\n \"sch_valid\": \"V\u00E1lido\",\n \"sch_validFrom\": \"de\",\n \"sch_validTo\": \"a\",\n \"sch_wholeDay\": \"Todo el dia\",\n \"sch_yearEveryMonth\": \"cada mes\"\n}\n", "{\n \"ra_%s links from aliases\": \"%s link\u00F3w z alias\u00F3w\",\n \"ra_%s object(s) processed\": \"Przetworzono %s obiekt\u00F3w\",\n \"ra_%s was imported\": \"%s zosta\u0142 zaimportowany\",\n \"ra_Accept license\": \"Zaakceptuj licencj\u0119\",\n \"ra_Add new child object to selected parent\": \"Dodaj nowy obiekt potomny do wybranego rodzica\",\n \"ra_Add objects tree from JSON file\": \"Dodaj drzewo obiekt\u00F3w z pliku JSON\",\n \"ra_Add row\": \"Dodaj wiersz\",\n \"ra_Advanced options\": \"Zaawansowane opcje\",\n \"ra_All items are filtered out\": \"Wszystkie pozycje s\u0105 odfiltrowane\",\n \"ra_All objects\": \"Wszystkie obiekty\",\n \"ra_Append\": \"Doda\u0107\",\n \"ra_Append %s entries or replace existing?\": \"Do\u0142\u0105czy\u0107 wpisy %s czy zast\u0105pi\u0107 istniej\u0105ce?\",\n \"ra_Append or replace?\": \"Do\u0142\u0105czy\u0107 czy zast\u0105pi\u0107?\",\n \"ra_Are you sure?\": \"Jeste\u015B pewny?\",\n \"ra_Auto (no custom columns)\": \"Auto (bez kolumn niestandardowych)\",\n \"ra_Back to %s\": \"Powr\u00F3t do %s\",\n \"ra_Background image\": \"Zdj\u0119cie w tle\",\n \"ra_Cancel\": \"Anuluj\",\n \"ra_Cannot add items with set filter\": \"Nie mo\u017Cna doda\u0107 element\u00F3w z ustawionym filtrem\",\n \"ra_Cannot decode license\": \"Nie mo\u017Cna zdekodowa\u0107 licencji\",\n \"ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser\": \"Nie mo\u017Cna okre\u015Bli\u0107 pozycji: ustawienia systemu s\u0105 puste, a wykrywanie GPS jest wy\u0142\u0105czone w przegl\u0105darce\",\n \"ra_Cannot find \\\"%s\\\"\": \"Nie mo\u017Cna znale\u017A\u0107 \u201E%s\u201D\",\n \"ra_Cannot read \\\"%s\\\"\": \"Nie mo\u017Cna odczyta\u0107 \u201E%s\u201D\",\n \"ra_Cannot read licenses: %s\": \"Nie mo\u017Cna odczyta\u0107 licencji: %s\",\n \"ra_Cannot retrieve options, as instance is offline\": \"Nie mo\u017Cna pobra\u0107 opcji, poniewa\u017C instancja jest w trybie offline\",\n \"ra_Cannot update attribute, because not found in the object\": \"Nie mo\u017Cna zaktualizowa\u0107 atrybutu, poniewa\u017C nie znaleziono go w obiekcie\",\n \"ra_Cannot upload\": \"Nie mo\u017Cna przes\u0142a\u0107\",\n \"ra_Categories\": \"Kategorie\",\n \"ra_Chained certificate\": \"Certyfikat \u0142a\u0144cuchowy\",\n \"ra_Change color theme\": \"Zmie\u0144 motyw kolorystyczny\",\n \"ra_Changed from\": \"Zmieniony z\",\n \"ra_Channel \u2192 State\": \"Kana\u0142 \u2192 Stan\",\n \"ra_Check license\": \"Sprawd\u017A licencj\u0119\",\n \"ra_Checked\": \"Sprawdzony\",\n \"ra_Clear\": \"Kasowa\u0107\",\n \"ra_Clear filter\": \"Czysty filtr\",\n \"ra_Clear icon\": \"Wyczy\u015B\u0107 ikon\u0119\",\n \"ra_Clone current row\": \"Sklonuj bie\u017C\u0105cy wiersz\",\n \"ra_Close\": \"Blisko\",\n \"ra_Collapse all nodes\": \"Zwi\u0144 wszystkie w\u0119z\u0142y\",\n \"ra_Collapse one step node\": \"Zwi\u0144 o jeden poziom\",\n \"ra_Commercial\": \"Handlowy\",\n \"ra_Configure\": \"Konfiguruj\",\n \"ra_Configure visible columns\": \"Skonfiguruj widoczne kolumny\",\n \"ra_Confirm deletion of %s\": \"Potwierd\u017A usuni\u0119cie %s\",\n \"ra_Connected\": \"Po\u0142\u0105czony\",\n \"ra_Copied\": \"Skopiowano\",\n \"ra_Copied %s\": \"Skopiowano \\\"%s\\\"\",\n \"ra_Copy content\": \"Kopiuj zawarto\u015B\u0107\",\n \"ra_Create\": \"Stw\u00F3rz\",\n \"ra_Create alias\": \"Utw\u00F3rz alias\",\n \"ra_Create folder\": \"Utw\u00F3rz folder\",\n \"ra_Create new folder in %s\": \"Utw\u00F3rz nowy folder w %s\",\n \"ra_Crop\": \"Przyci\u0105\u0107\",\n \"ra_Define CRON...\": \"Zdefiniuj CRON...\",\n \"ra_Define functions\": \"Zdefiniuj funkcje\",\n \"ra_Define rooms\": \"Zdefiniuj pokoje\",\n \"ra_Define schedule\": \"Zdefiniuj harmonogram\",\n \"ra_Define schedule...\": \"Zdefiniuj harmonogram ...\",\n \"ra_Del\": \"Delete\",\n \"ra_Delete\": \"Usun\u0105\u0107\",\n \"ra_Delete (no confirm for 5 mins)\": \"Usu\u0144 (bez potwierdzenia przez 5 minut)\",\n \"ra_Delete current row\": \"Usu\u0144 bie\u017C\u0105cy wiersz\",\n \"ra_Deselect all\": \"Odznacz wszystko\",\n \"ra_Device \u2192 Channel \u2192 State\": \"Urz\u0105dzenie \u2192 Kana\u0142 \u2192 Stan\",\n \"ra_Discard\": \"Wyrzuca\u0107\",\n \"ra_Disconnected\": \"Niepowi\u0105zany\",\n \"ra_Do not export values of states\": \"Nie eksportuj warto\u015Bci stan\u00F3w\",\n \"ra_Do not use let's encrypt\": \"Nie u\u017Cywaj zaszyfrujmy\",\n \"ra_Double click to reset table layout\": \"Kliknij dwukrotnie, aby zresetowa\u0107 uk\u0142ad tabeli\",\n \"ra_Drag 'n' drop some files here, or click to select files\": \"Przeci\u0105gnij i upu\u015B\u0107 kilka plik\u00F3w tutaj lub kliknij, aby wybra\u0107 pliki\",\n \"ra_Drop file here\": \"Upu\u015B\u0107 plik tutaj\",\n \"ra_Drop the files here...\": \"Upu\u015B\u0107 plik tutaj...\",\n \"ra_Duplicate name\": \"Zduplikowana nazwa\",\n \"ra_Edit ACL\": \"Edytuj listy ACL\",\n \"ra_Edit alias\": \"Edytuj alias\",\n \"ra_Edit custom config\": \"Edytuj konfiguracj\u0119 niestandardow\u0105\",\n \"ra_Edit function\": \"Funkcja edycji\",\n \"ra_Edit object field\": \"Edytuj pole obiektu\",\n \"ra_Edit role\": \"Edytuj rol\u0119\",\n \"ra_Edit room\": \"Edytuj pok\u00F3j\",\n \"ra_Edit value\": \"Edytuj warto\u015B\u0107\",\n \"ra_Error\": \"B\u0142\u0105d\",\n \"ra_Expand all nodes\": \"Rozwi\u0144 wszystkie w\u0119z\u0142y\",\n \"ra_Expand one step node\": \"Rozwi\u0144 o jeden poziom\",\n \"ra_Export data to %s file\": \"Eksportuj dane do pliku %s\",\n \"ra_Failed to open JSON File\": \"Nie uda\u0142o si\u0119 otworzy\u0107 pliku JSON\",\n \"ra_Fallback custom certificates\": \"Niestandardowe certyfikaty zast\u0119pcze\",\n \"ra_File is too big. Max %sk allowed. Try use SVG.\": \"Plik jest za du\u017Cy. Maksymalna dozwolona liczba %sk. Spr\u00F3buj u\u017Cy\u0107 SVG.\",\n \"ra_Filter\": \"Filtr\",\n \"ra_Filter files\": \"Filtruj pliki\",\n \"ra_Folder name\": \"Nazwa folderu\",\n \"ra_Folder \u2192 Channel \u2192 State\": \"Folder \u2192 Kana\u0142 \u2192 Stan\",\n \"ra_Folder \u2192 Device \u2192 Channel \u2192 State\": \"Folder \u2192 Urz\u0105dzenie \u2192 Kana\u0142 \u2192 Stan\",\n \"ra_Folder \u2192 State\": \"Folder \u2192 Stan\",\n \"ra_Folders always first\": \"Foldery zawsze na pierwszym miejscu\",\n \"ra_Friday\": \"Pi\u0105tek\",\n \"ra_Good luck\": \"Powodzenia\",\n \"ra_Hide empty folders\": \"Ukryj puste foldery\",\n \"ra_If no file will be created in the folder, it will disappear after the browser closed\": \"Je\u015Bli w folderze nie zostanie utworzony \u017Caden plik, zniknie on po zamkni\u0119ciu przegl\u0105darki\",\n \"ra_Import data from %s file\": \"Importuj dane z pliku %s\",\n \"ra_Import from %s\": \"Importuj z %s\",\n \"ra_Instance %s is alive\": \"Instancja %s jest aktywna\",\n \"ra_Instance %s is not alive\": \"Instancja TEKST nie jest aktywna\",\n \"ra_Instance is not alive\": \"Instancja nie jest aktywna\",\n \"ra_Invalid CRON\": \"Nieprawid\u0142owy CRON\",\n \"ra_Invalid JSON\": \"Nieprawid\u0142owy JSON\",\n \"ra_Invalid answer from server\": \"Nieprawid\u0142owa odpowied\u017A z serwera\",\n \"ra_Invalid parent folder!\": \"Nieprawid\u0142owy folder nadrz\u0119dny!\",\n \"ra_Invalid structure\": \"Nieprawid\u0142owa struktura\",\n \"ra_JSON editor\": \"Edytor JSON\",\n \"ra_Last change\": \"Ostatnia zmiana\",\n \"ra_Latitude\": \"Szeroko\u015B\u0107\",\n \"ra_License %s\": \"Licencja %s\",\n \"ra_License agreement\": \"Umowa licencyjna\",\n \"ra_License does not exist\": \"Licencja nie istnieje\",\n \"ra_License expired on %s\": \"Licencja wygas\u0142a w dniu %s\",\n \"ra_License for other product \\\"%s\\\"\": \"Licencja na inny produkt \u201E%s\u201D\",\n \"ra_License is for version %s, but required version is %s.\": \"Licencja dotyczy wersji %s, ale wymagana wersja to %s.\",\n \"ra_License must be converted\": \"Licencja musi zosta\u0107 przekonwertowana na nowsz\u0105 wersj\u0119. Mo\u017Cesz to zrobi\u0107 w swoim profilu iobroker.net.\",\n \"ra_License not found in license manager. Do you want to read licenses from iobroker.net?\": \"Nie znaleziono licencji w mened\u017Cerze licencji. Chcesz zaktualizowa\u0107 licencje z iobroker.net?\",\n \"ra_Listen on all IPs\": \"S\u0142uchaj na wszystkich adresach IP\",\n \"ra_Load configuration from file\": \"Za\u0142aduj konfiguracj\u0119 z pliku\",\n \"ra_Longitude\": \"D\u0142ugo\u015B\u0107 geograficzna\",\n \"ra_May not trigger \\\"updateLicenses\\\"\": \"Mo\u017Ce nie uruchamia\u0107 \u201EupdateLicenses\u201D\",\n \"ra_Message\": \"Wiadomo\u015B\u0107\",\n \"ra_Monday\": \"Poniedzia\u0142ek\",\n \"ra_Move down\": \"Padnij\",\n \"ra_Move up\": \"Podnie\u015B\u0107\",\n \"ra_Name\": \"Nazwa\",\n \"ra_No data found in file\": \"Nie znaleziono danych w pliku\",\n \"ra_No one license found in license manager\": \"Nie znaleziono licencji w mened\u017Cerze licencji\",\n \"ra_No response from the backend\": \"Brak odpowiedzi z zaplecza\",\n \"ra_Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\": \"Osoby nie b\u0119d\u0105ce ekspertami mog\u0105 tworzy\u0107 nowe obiekty tylko w \u201E0_userdata.0\u201D lub \u201Ealias.0\u201D.\",\n \"ra_Not a number\": \"Nie numer\",\n \"ra_Objects\": \"Obiekty\",\n \"ra_Ok\": \"Dobrze\",\n \"ra_On weekdays\": \"W dni powszednie\",\n \"ra_Only following structures of objects are available:\": \"Dost\u0119pne s\u0105 tylko nast\u0119puj\u0105ce struktury obiekt\u00F3w:\",\n \"ra_Only selected\": \"Tylko wybrane\",\n \"ra_Owner group\": \"Grupa w\u0142a\u015Bcicieli\",\n \"ra_Owner user\": \"W\u0142a\u015Bciciel u\u017Cytkownika\",\n \"ra_Passwords are not equal!\": \"Has\u0142a nie s\u0105 r\u00F3wne!\",\n \"ra_Place your files here or click here to open the browse dialog\": \"Umie\u015B\u0107 swoje pliki tutaj lub kliknij tutaj, aby otworzy\u0107 okno dialogowe przegl\u0105dania\",\n \"ra_Please confirm\": \"Prosz\u0119 potwierdzi\u0107\",\n \"ra_Please create license\": \"Utw\u00F3rz licencj\u0119\",\n \"ra_Please enter the license\": \"Prosz\u0119 wprowadzi\u0107 licencj\u0119\",\n \"ra_Please select file...\": \"Wybierz plik...\",\n \"ra_Please select object ID...\": \"Wybierz identyfikator obiektu ...\",\n \"ra_Port could be used by %s\": \"Port mo\u017Ce by\u0107 u\u017Cywany przez %s\",\n \"ra_Port is already used by %s\": \"Port jest ju\u017C u\u017Cywany przez %s\",\n \"ra_Private certificate\": \"Prywatny certyfikat\",\n \"ra_Product\": \"Produkt\",\n \"ra_Public certificate\": \"Certyfikat publiczny\",\n \"ra_Quality code\": \"Jako\u015Bci\",\n \"ra_Refresh tree\": \"Od\u015Bwie\u017C drzewo\",\n \"ra_Reload files\": \"Za\u0142aduj ponownie pliki\",\n \"ra_Repeat\": \"Powtarza\u0107\",\n \"ra_Replace\": \"Zast\u0119powa\u0107\",\n \"ra_Request timed out\": \"Up\u0142yn\u0105\u0142 limit czasu \u017C\u0105dania\",\n \"ra_Restrict to folder\": \"Ogranicz do folderu\",\n \"ra_Root\": \"Korze\u0144\",\n \"ra_Saturday\": \"Sobota\",\n \"ra_Save\": \"Zapisa\u0107\",\n \"ra_Save and close\": \"Zapisz i zamknij\",\n \"ra_Save configuration to file\": \"Zapisz konfiguracj\u0119 do pliku\",\n \"ra_Save objects tree as JSON file\": \"Zapisz drzewo obiekt\u00F3w jako plik JSON\",\n \"ra_Select all\": \"Zaznacz wszystko\",\n \"ra_Select color\": \"Wybierz kolor\",\n \"ra_Select predefined icon\": \"Wybierz predefiniowan\u0105 ikon\u0119\",\n \"ra_Select type of export\": \"Wybierz rodzaj eksportu\",\n \"ra_Selected\": \"Wybrany\",\n \"ra_Selected %s object(s)\": \"Wybrane obiekty %s\",\n \"ra_Serial number (UUID)\": \"Numer seryjny (UUID)\",\n \"ra_Serial number (UUID) \\\"%s\\\" in license is for other device.\": \"Numer seryjny (UUID) \u201E%s\u201D w licencji dotyczy innego urz\u0105dzenia.\",\n \"ra_Show all folders\": \"Poka\u017C wszystkie foldery\",\n \"ra_Show lines between rows\": \"Poka\u017C linie mi\u0119dzy rz\u0119dami\",\n \"ra_Show/Hide object descriptions\": \"Poka\u017C/ukryj opisy obiekt\u00F3w\",\n \"ra_Show/hide filter input\": \"Poka\u017C/ukryj wej\u015Bcie filtra\",\n \"ra_Some data are not stored. Discard?\": \"Niekt\u00F3re dane nie s\u0105 przechowywane. Wyrzuca\u0107?\",\n \"ra_States\": \"Stany\",\n \"ra_Suitable license not found in license manager\": \"Nie znaleziono odpowiedniej licencji w mened\u017Cerze licencji\",\n \"ra_Sunday\": \"Niedziela\",\n \"ra_Suppress question for next %s minutes\": \"Ukryj pytanie przez nast\u0119pne %s minut\",\n \"ra_System language\": \"J\u0119zyk systemu\",\n \"ra_Take browser position\": \"Zajmij pozycj\u0119 z przegl\u0105darki\",\n \"ra_Take position from system settings\": \"Zajmij pozycj\u0119 z ustawie\u0144 systemowych\",\n \"ra_The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\": \"Eksperci mog\u0105 tworzy\u0107 obiekty wsz\u0119dzie poza drugim poziomem (np. \u201EVis.0\u201D lub \u201Ejavascript.0\u201D).\",\n \"ra_The page you are looking for was not found\": \"Strona, kt\u00F3rej szukasz nie zosta\u0142a znaleziona\",\n \"ra_The schedule will be executed every minute. Are you sure?\": \"Harmonogram b\u0119dzie wykonywany co minut\u0119. Czy jeste\u015B pewien?\",\n \"ra_The schedule will be executed every second. Are you sure?\": \"Harmonogram b\u0119dzie wykonywany co sekund\u0119. Czy jeste\u015B pewien?\",\n \"ra_Thursday\": \"Czwartek\",\n \"ra_Timestamp\": \"Znak czasu\",\n \"ra_Toggle expert mode\": \"Prze\u0142\u0105cz tryb eksperta\",\n \"ra_Toggle the states view\": \"Prze\u0142\u0105cz widok stan\u00F3w\",\n \"ra_Toggle view mode\": \"Prze\u0142\u0105cz tryb widoku\",\n \"ra_Too big\": \"Za du\u017Cy\",\n \"ra_Too small\": \"Za ma\u0142y\",\n \"ra_Transparent dialog\": \"Przejrzyste okno dialogowe\",\n \"ra_Tuesday\": \"Wtorek\",\n \"ra_Unknown error\": \"Nieznany b\u0142\u0105d\",\n \"ra_Unknown error!\": \"Nieznany b\u0142\u0105d!\",\n \"ra_Update\": \"Aktualizacja\",\n \"ra_Upload file\": \"Przesy\u0142anie pliku\",\n \"ra_Use all available let's encrypt certificates\": \"U\u017Cyj wszystkich dost\u0119pnych certyfikat\u00F3w Let's Encrypt\",\n \"ra_Use iobroker.acme adapter for letsencrypt certificates\": \"U\u017Cyj adaptera iobroker.acme dla certyfikat\u00F3w letsencrypt\",\n \"ra_Use system settings for position\": \"U\u017Cyj ustawie\u0144 systemowych dla pozycji\",\n \"ra_Used system settings\": \"U\u017Cywane ustawienia systemowe\",\n \"ra_User files\": \"Pliki u\u017Cytkownika\",\n \"ra_ValidTill\": \"Obowi\u0105zuje do\",\n \"ra_Value\": \"Warto\u015B\u0107\",\n \"ra_Version\": \"Wersja\",\n \"ra_View file\": \"Zobaczy\u0107 plik\",\n \"ra_View: %s\": \"Widok: %s\",\n \"ra_Wednesday\": \"\u015Aroda\",\n \"ra_Width\": \"Szeroko\u015B\u0107\",\n \"ra_Yes\": \"Tak\",\n \"ra_You can export all objects or just the selected branch.\": \"Mo\u017Cesz wyeksportowa\u0107 wszystkie obiekty lub tylko wybran\u0105 ga\u0142\u0105\u017A.\",\n \"ra_You can filter entries by entering here some text\": \"Mo\u017Cesz filtrowa\u0107 wpisy, wpisuj\u0105c tutaj jaki\u015B tekst\",\n \"ra___different__\": \"r\u00F3\u017Cne\",\n \"ra_aclEveryone_read_object\": \"Ka\u017Cdy mo\u017Ce czyta\u0107 obiekt\",\n \"ra_aclEveryone_read_state\": \"Ka\u017Cdy mo\u017Ce czyta\u0107 stan\",\n \"ra_aclEveryone_write_object\": \"Ka\u017Cdy mo\u017Ce pisa\u0107 przedmiot\",\n \"ra_aclEveryone_write_state\": \"Ka\u017Cdy mo\u017Ce pisa\u0107 stan\",\n \"ra_aclGroup_read_object\": \"Grupa mo\u017Ce odczyta\u0107 obiekt\",\n \"ra_aclGroup_read_state\": \"Grupa mo\u017Ce odczyta\u0107 stan\",\n \"ra_aclGroup_write_object\": \"Grupa mo\u017Ce pisa\u0107 obiekt\",\n \"ra_aclGroup_write_state\": \"Grupa mo\u017Ce pisa\u0107 stan\",\n \"ra_aclOwner_read_object\": \"W\u0142a\u015Bciciel mo\u017Ce czyta\u0107 obiekt\",\n \"ra_aclOwner_read_state\": \"W\u0142a\u015Bciciel mo\u017Ce odczyta\u0107 stan\",\n \"ra_aclOwner_write_object\": \"W\u0142a\u015Bciciel mo\u017Ce napisa\u0107 obiekt\",\n \"ra_aclOwner_write_state\": \"W\u0142a\u015Bciciel mo\u017Ce pisa\u0107 stan\",\n \"ra_buttons\": \"guziki\",\n \"ra_changedFrom\": \"Zmieniony z\",\n \"ra_close\": \"blisko\",\n \"ra_create_boolean_state\": \"Utw\u00F3rz stan logiczny\",\n \"ra_create_channel\": \"Utw\u00F3rz kana\u0142\",\n \"ra_create_device\": \"Utw\u00F3rz urz\u0105dzenie\",\n \"ra_create_number_state\": \"Utw\u00F3rz stan liczbowy\",\n \"ra_create_state\": \"Utw\u00F3rz stan\",\n \"ra_create_string_state\": \"Utw\u00F3rz stan ci\u0105gu\",\n \"ra_daysShortText\": \"d.\",\n \"ra_dow_Fr\": \"Ks\",\n \"ra_dow_Mo\": \"Mo\",\n \"ra_dow_Sa\": \"Sa\",\n \"ra_dow_Su\": \"Su\",\n \"ra_dow_Th\": \"Th\",\n \"ra_dow_Tu\": \"Tu\",\n \"ra_dow_We\": \"My\",\n \"ra_expertMode\": \"Tryb ekspercki\",\n \"ra_fileType_all\": \"Wszystkie pliki\",\n \"ra_fileType_audio\": \"Audio\",\n \"ra_fileType_code\": \"Kod/JSON\",\n \"ra_fileType_images\": \"Obrazy\",\n \"ra_fileType_txt\": \"Tekst\",\n \"ra_fileType_video\": \"Wideo\",\n \"ra_fileType_video,\": \"Wideo\",\n \"ra_filter_customs\": \"Ustawienia\",\n \"ra_filter_customs_without\": \"bez\",\n \"ra_filter_func\": \"Funkcjonowa\u0107\",\n \"ra_filter_id\": \"ID\",\n \"ra_filter_name\": \"Imi\u0119\",\n \"ra_filter_role\": \"Rola\",\n \"ra_filter_room\": \"Sala\",\n \"ra_filter_type\": \"Rodzaj\",\n \"ra_import data from %s file\": \"Importuj dane z pliku %s\",\n \"ra_invalidConfig\": \"Nieprawid\u0142owe ustawienia\",\n \"ra_lastChange\": \"Ostatnia zmiana\",\n \"ra_locally\": \"lokalnie\",\n \"ra_month_Apr\": \"kwiecie\u0144\",\n \"ra_month_Aug\": \"sierpie\u0144\",\n \"ra_month_Dec\": \"grudzie\u0144\",\n \"ra_month_Feb\": \"luty\",\n \"ra_month_Jan\": \"stycze\u0144\",\n \"ra_month_Jul\": \"lipiec\",\n \"ra_month_Jun\": \"czerwiec\",\n \"ra_month_Mai\": \"Mai\",\n \"ra_month_Mar\": \"Zniszczy\u0107\",\n \"ra_month_Nov\": \"listopad\",\n \"ra_month_Oct\": \"pa\u017Adziernik\",\n \"ra_month_Sep\": \"wrzesie\u0144\",\n \"ra_months_Apr\": \"kwiecie\u0144\",\n \"ra_months_Aug\": \"sierpie\u0144\",\n \"ra_months_Dec\": \"grudzie\u0144\",\n \"ra_months_Feb\": \"luty\",\n \"ra_months_Jan\": \"stycze\u0144\",\n \"ra_months_Jul\": \"lipiec\",\n \"ra_months_Jun\": \"czerwiec\",\n \"ra_months_Mai\": \"Mai\",\n \"ra_months_Mar\": \"Zniszczy\u0107\",\n \"ra_months_Nov\": \"listopad\",\n \"ra_months_Oct\": \"pa\u017Adziernik\",\n \"ra_months_Sep\": \"wrzesie\u0144\",\n \"ra_none\": \"\u017Baden\",\n \"ra_object_changed_by\": \"Obiekt zmieniony przez\",\n \"ra_object_changed_by_user\": \"Obiekt ostatnio zmieniony o godz\",\n \"ra_otherConfig\": \"Ustawienia z innego adaptera %s\",\n \"ra_qualityCode\": \"Kod jako\u015Bci\",\n \"ra_repeat\": \"powtarza\u0107\",\n \"ra_select_folder_hint\": \"Aby wybra\u0107 folder, wystarczy przytrzyma\u0107 klawisz \u201Eshift\u201D, klikaj\u0105c folder.\",\n \"ra_state_changed_by\": \"Stan zmieniony przez\",\n \"ra_state_changed_from\": \"Obiekt zmieniony z\",\n \"ra_timestamp\": \"Znak czasu\",\n \"ra_tooltip_ack\": \"Potwierdzon\",\n \"ra_tooltip_comment\": \"Komentarz\",\n \"ra_tooltip_copyState\": \"Skopiuj warto\u015B\u0107 stanu\",\n \"ra_tooltip_customConfig\": \"W\u0142asne ustawienia\",\n \"ra_tooltip_deleteObject\": \"Usu\u0144 obiekt\",\n \"ra_tooltip_editObject\": \"Edytuj obiekt\",\n \"ra_tooltip_editState\": \"Edytuj warto\u015B\u0107 stanu\",\n \"ra_tooltip_from\": \"Z\",\n \"ra_tooltip_lc\": \"Ostatnia zmiana\",\n \"ra_tooltip_quality\": \"Jako\u015B\u0107\",\n \"ra_tooltip_ts\": \"Znak czasu\",\n \"ra_tooltip_user\": \"U\u017Cytkownik\",\n \"ra_tooltip_value\": \"Warto\u015B\u0107\",\n \"ra_use seconds\": \"u\u017Cyj sekund\",\n \"ra_val\": \"Warto\u015B\u0107\",\n \"ra_via internet\": \"przez internet\",\n \"ra_warning_every_minute\": \"Ostrze\u017Cenie: Zadanie CRON b\u0119dzie uruchamiane co minut\u0119 w okre\u015Blonym przedziale czasowym!\",\n \"ra_warning_every_second\": \"Ostrze\u017Cenie: Zadanie CRON b\u0119dzie uruchamiane co sekund\u0119 w okre\u015Blonym przedziale czasowym!\",\n \"sc_cron\": \"CRON\",\n \"sc_date\": \"Data\",\n \"sc_dates\": \"Daktyle\",\n \"sc_dow\": \"Dzie\u0144\",\n \"sc_dows\": \"Dzie\u0144 tygodnia\",\n \"sc_every\": \"Ka\u017Cdy\",\n \"sc_everyN_dates\": \"co N dni\",\n \"sc_everyN_dow\": \"w ka\u017Cdy N-ty dzie\u0144 tygodnia\",\n \"sc_everyN_dows\": \"co N dnia tygodnia\",\n \"sc_everyN_hours\": \"co N godzin\",\n \"sc_everyN_minutes\": \"co N minut\",\n \"sc_everyN_months\": \"co N miesi\u0119cy\",\n \"sc_everyN_seconds\": \"co N sekund\",\n \"sc_every_dates\": \"codziennie\",\n \"sc_every_dow\": \"ka\u017Cdy dzie\u0144 tygodnia\",\n \"sc_every_dows\": \"ka\u017Cdy dzie\u0144 tygodnia\",\n \"sc_every_hours\": \"co godzin\u0119\",\n \"sc_every_minutes\": \"ka\u017Cda minuta\",\n \"sc_every_months\": \"ka\u017Cdego miesi\u0105ca\",\n \"sc_every_seconds\": \"ka\u017Cda sekunda\",\n \"sc_from\": \"Od\",\n \"sc_hours\": \"godziny\",\n \"sc_interval\": \"Interwa\u0142\",\n \"sc_intervalBetween\": \"Interwa\u0142 mi\u0119dzy\",\n \"sc_invalid_cron\": \"Nieprawid\u0142owy CRON\",\n \"sc_minutes\": \"Minuty\",\n \"sc_months\": \"miesi\u0119cy\",\n \"sc_once\": \"Pewnego razu\",\n \"sc_period\": \"Kropka\",\n \"sc_seconds\": \"sekundy\",\n \"sc_simple\": \"Prosty\",\n \"sc_specific\": \"Okre\u015Blony czas\",\n \"sc_specific_dates\": \"konkretne daty\",\n \"sc_specific_dow\": \"okre\u015Blone dni tygodnia\",\n \"sc_specific_dows\": \"okre\u015Blony dzie\u0144 tygodni\",\n \"sc_specific_hours\": \"okre\u015Blone godziny\",\n \"sc_specific_minutes\": \"okre\u015Blone minuty\",\n \"sc_specific_months\": \"okre\u015Blone miesi\u0105ce\",\n \"sc_specific_seconds\": \"okre\u015Blone sekundy\",\n \"sc_time\": \"Czas\",\n \"sc_to\": \"Do\",\n \"sc_wizard\": \"Czarodziej\",\n \"sch_all\": \"wszystko\",\n \"sch_astroDay\": \"Dzie\u0144 Astro\",\n \"sch_astroNight\": \"Noc Astro\",\n \"sch_astro_dawn\": \"\u015Awit\",\n \"sch_astro_dusk\": \"Zmierzch\",\n \"sch_astro_goldenHour\": \"z\u0142ota godzina\",\n \"sch_astro_goldenHourEnd\": \"Koniec z\u0142otej godziny\",\n \"sch_astro_nadir\": \"Nadir\",\n \"sch_astro_nauticalDawn\": \"Morski \u015Bwit\",\n \"sch_astro_nauticalDusk\": \"Morski zmierzch\",\n \"sch_astro_night\": \"Noc\",\n \"sch_astro_nightEnd\": \"Koniec nocy\",\n \"sch_astro_solarNoon\": \"Po\u0142udnie s\u0142oneczne\",\n \"sch_astro_sunrise\": \"wsch\u00F3d s\u0142o\u0144ca\",\n \"sch_astro_sunriseEnd\": \"Koniec wschodu s\u0142o\u0144ca\",\n \"sch_astro_sunset\": \"Zach\u00F3d s\u0142o\u0144ca\",\n \"sch_astro_sunsetStart\": \"Pocz\u0105tek zachodu s\u0142o\u0144ca\",\n \"sch_at\": \"w\",\n \"sch_desc_atTime\": \"na %s\",\n \"sch_desc_everyDay\": \"codziennie\",\n \"sch_desc_everyHour\": \"co godzin\u0119\",\n \"sch_desc_everyMinute\": \"ka\u017Cda minuta\",\n \"sch_desc_everyMonth\": \"ka\u017Cdego miesi\u0105ca\",\n \"sch_desc_everyNDay\": \"ka\u017Cdego dnia %s\",\n \"sch_desc_everyNHours\": \"co %s godzin\",\n \"sch_desc_everyNMinutes\": \"co %s minut\",\n \"sch_desc_everyNMonths\": \"co %s miesi\u0119cy\",\n \"sch_desc_everyNWeeks\": \"co %s tygodni\",\n \"sch_desc_everyNYears\": \"co %s lat\",\n \"sch_desc_everyWeek\": \"co tydzie\u0144\",\n \"sch_desc_everyYear\": \"ka\u017Cdego roku\",\n \"sch_desc_intervalFromTo\": \"od %s do %s\",\n \"sch_desc_never\": \"nigdy\",\n \"sch_desc_onDate\": \"na %s z %s\",\n \"sch_desc_onDates\": \"na %s i %s z\",\n \"sch_desc_onEveryDate\": \"w ka\u017Cd\u0105 dat\u0119\",\n \"sch_desc_onMonth\": \"%s\",\n \"sch_desc_onMonths\": \"%s i %s\",\n \"sch_desc_onWeekday\": \"na %s\",\n \"sch_desc_onWeekdays\": \"na %s i %s\",\n \"sch_desc_onWeekends\": \"w weekendy\",\n \"sch_desc_onWorkdays\": \"w dni robocze\",\n \"sch_desc_onceInPast\": \"nie b\u0119dzie ju\u017C wykonywany, poniewa\u017C start jest w przesz\u0142o\u015Bci\",\n \"sch_desc_once_on\": \"na %s\",\n \"sch_desc_validFrom\": \"z %s\",\n \"sch_desc_validFromTo\": \"Wykonaj od do\",\n \"sch_desc_validTo\": \"do %s\",\n \"sch_every\": \"ka\u017Cdy\",\n \"sch_exactTime\": \"Okre\u015Blony czas\",\n \"sch_from\": \"od\",\n \"sch_fromTo\": \"Od-do\",\n \"sch_intervalTime\": \"Czas przerwy\",\n \"sch_invert\": \"odwraca\u0107\",\n \"sch_no_one\": \"\u017Baden\",\n \"sch_on\": \"na\",\n \"sch_period\": \"Kropka\",\n \"sch_periodDaily\": \"Codziennie\",\n \"sch_periodDates\": \"Daktyle\",\n \"sch_periodDay\": \"Dzie\u0144\",\n \"sch_periodEvery\": \"Ka\u017Cdy\",\n \"sch_periodEveryDay\": \"Codziennie\",\n \"sch_periodEveryMonth\": \"Ka\u017Cdego miesi\u0105ca\",\n \"sch_periodEveryWeek\": \"Co tydzie\u0144\",\n \"sch_periodEveryYear\": \"Ka\u017Cdego roku\",\n \"sch_periodHours\": \"godziny\",\n \"sch_periodMinutes\": \"Minuty\",\n \"sch_periodMonth\": \"miesi\u0105c\",\n \"sch_periodMonthly\": \"Miesi\u0119czny\",\n \"sch_periodOnce\": \"Pewnego razu\",\n \"sch_periodSpecificMonths\": \"Okre\u015Blone miesi\u0105ce\",\n \"sch_periodWeek\": \"Tydzie\u0144\",\n \"sch_periodWeekdays\": \"Dni powszednie\",\n \"sch_periodWeekend\": \"Weekend\",\n \"sch_periodWeekly\": \"Co tydzie\u0144\",\n \"sch_periodWorkdays\": \"Dni robocze\",\n \"sch_periodYear\": \"Rok\",\n \"sch_periodYearly\": \"Rocznie\",\n \"sch_specificTime\": \"Okre\u015Blony czas\",\n \"sch_time\": \"Czas\",\n \"sch_to\": \"do\",\n \"sch_valid\": \"Wa\u017Cny\",\n \"sch_validFrom\": \"od\",\n \"sch_validTo\": \"do\",\n \"sch_wholeDay\": \"Ca\u0142y dzie\u0144\",\n \"sch_yearEveryMonth\": \"ka\u017Cdego miesi\u0105ca\"\n}\n", "{\n \"ra_%s links from aliases\": \"%s \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u044C \u0456\u0437 \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0456\u043C\u0456\u0432\",\n \"ra_%s object(s) processed\": \"\u041E\u0431\u0440\u043E\u0431\u043B\u0435\u043D\u043E %s \u043E\u0431\u2019\u0454\u043A\u0442\u0456\u0432\",\n \"ra_%s was imported\": \"%s \u0431\u0443\u043B\u043E \u0456\u043C\u043F\u043E\u0440\u0442\u043E\u0432\u0430\u043D\u043E\",\n \"ra_Accept license\": \"\u041F\u0440\u0438\u0439\u043D\u044F\u0442\u0438 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E\",\n \"ra_Add new child object to selected parent\": \"\u0414\u043E\u0434\u0430\u0442\u0438 \u043D\u043E\u0432\u0438\u0439 \u0434\u043E\u0447\u0456\u0440\u043D\u0456\u0439 \u043E\u0431\u2019\u0454\u043A\u0442 \u0434\u043E \u0432\u0438\u0431\u0440\u0430\u043D\u043E\u0433\u043E \u0431\u0430\u0442\u044C\u043A\u0456\u0432\u0441\u044C\u043A\u043E\u0433\u043E\",\n \"ra_Add objects tree from JSON file\": \"\u0414\u043E\u0434\u0430\u0439\u0442\u0435 \u0434\u0435\u0440\u0435\u0432\u043E \u043E\u0431\u2019\u0454\u043A\u0442\u0456\u0432 \u0456\u0437 \u0444\u0430\u0439\u043B\u0443 JSON\",\n \"ra_Add row\": \"\u0414\u043E\u0434\u0430\u0442\u0438 \u0440\u044F\u0434\u043E\u043A\",\n \"ra_Advanced options\": \"\u0420\u043E\u0437\u0448\u0438\u0440\u0435\u043D\u0456 \u043E\u043F\u0446\u0456\u0457\",\n \"ra_All items are filtered out\": \"\u0423\u0441\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0432\u0456\u0434\u0444\u0456\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u043D\u043E\",\n \"ra_All objects\": \"\u0412\u0441\u0456 \u043E\u0431'\u0454\u043A\u0442\u0438\",\n \"ra_Append\": \"\u0414\u043E\u0434\u0430\u0439\u0442\u0435\",\n \"ra_Append %s entries or replace existing?\": \"\u0414\u043E\u0434\u0430\u0442\u0438 %s \u0437\u0430\u043F\u0438\u0441\u0456\u0432 \u0447\u0438 \u0437\u0430\u043C\u0456\u043D\u0438\u0442\u0438 \u043D\u0430\u044F\u0432\u043D\u0456?\",\n \"ra_Append or replace?\": \"\u0414\u043E\u0434\u0430\u0442\u0438 \u0447\u0438 \u0437\u0430\u043C\u0456\u043D\u0438\u0442\u0438?\",\n \"ra_Are you sure?\": \"\u0422\u0438 \u0432\u043F\u0435\u0432\u043D\u0435\u043D\u0438\u0439?\",\n \"ra_Auto (no custom columns)\": \"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E (\u0431\u0435\u0437 \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0438\u0445 \u0441\u0442\u043E\u0432\u043F\u0446\u0456\u0432)\",\n \"ra_Back to %s\": \"\u041D\u0430\u0437\u0430\u0434 \u0434\u043E %s\",\n \"ra_Background image\": \"\u0424\u043E\u043D\u043E\u0432\u0435 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F\",\n \"ra_Cancel\": \"\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438\",\n \"ra_Cannot add items with set filter\": \"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0434\u043E\u0434\u0430\u0442\u0438 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0437\u0456 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u043C \u0444\u0456\u043B\u044C\u0442\u0440\u043E\u043C\",\n \"ra_Cannot decode license\": \"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0440\u043E\u0437\u0448\u0438\u0444\u0440\u0443\u0432\u0430\u0442\u0438 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E\",\n \"ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser\": \"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0432\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438 \u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044F: \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u043F\u043E\u0440\u043E\u0436\u043D\u0456, \u0430 \u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F GPS \u0432\u0438\u043C\u043A\u043D\u0435\u043D\u043E \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0456\",\n \"ra_Cannot find \\\"%s\\\"\": \"\u041D\u0435 \u0432\u0434\u0430\u0454\u0442\u044C\u0441\u044F \u0437\u043D\u0430\u0439\u0442\u0438 \\\"%s\\\"\",\n \"ra_Cannot read \\\"%s\\\"\": \"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u0438 \\\"%s\\\"\",\n \"ra_Cannot read licenses: %s\": \"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u0438 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0457: %s\",\n \"ra_Cannot retrieve options, as instance is offline\": \"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043E\u0442\u0440\u0438\u043C\u0430\u0442\u0438 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438, \u043E\u0441\u043A\u0456\u043B\u044C\u043A\u0438 \u0435\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u043E\u0444\u043B\u0430\u0439\u043D\",\n \"ra_Cannot update attribute, because not found in the object\": \"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043E\u043D\u043E\u0432\u0438\u0442\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442, \u043E\u0441\u043A\u0456\u043B\u044C\u043A\u0438 \u0439\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0432 \u043E\u0431\u2019\u0454\u043A\u0442\u0456\",\n \"ra_Cannot upload\": \"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438\",\n \"ra_Categories\": \"\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0456\u0457\",\n \"ra_Chained certificate\": \"\u041F\u0440\u0438\u043A\u0443\u0442\u0438\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442\",\n \"ra_Change color theme\": \"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u043A\u043E\u043B\u044C\u043E\u0440\u043E\u0432\u0443 \u0442\u0435\u043C\u0443\",\n \"ra_Changed from\": \"\u0417\u043C\u0456\u043D\u0435\u043D\u043E \u0437\",\n \"ra_Channel \u2192 State\": \"\u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u0442\u0430\u043D\",\n \"ra_Check license\": \"\u041F\u0435\u0440\u0435\u0432\u0456\u0440\u0438\u0442\u0438 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E\",\n \"ra_Checked\": \"\u041F\u0435\u0440\u0435\u0432\u0456\u0440\u0435\u043D\u043E\",\n \"ra_Clear\": \"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438\",\n \"ra_Clear filter\": \"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u0444\u0456\u043B\u044C\u0442\u0440\",\n \"ra_Clear icon\": \"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u0437\u043D\u0430\u0447\u043E\u043A\",\n \"ra_Clone current row\": \"\u041A\u043B\u043E\u043D\u0443\u0432\u0430\u0442\u0438 \u043F\u043E\u0442\u043E\u0447\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A\",\n \"ra_Close\": \"\u0417\u0430\u043A\u0440\u0438\u0442\u0438\",\n \"ra_Collapse all nodes\": \"\u0417\u0433\u043E\u0440\u043D\u0443\u0442\u0438 \u0432\u0441\u0456 \u0432\u0443\u0437\u043B\u0438\",\n \"ra_Collapse one step node\": \"\u0417\u0433\u043E\u0440\u043D\u0443\u0442\u0438 \u043D\u0430 \u043E\u0434\u0438\u043D \u0440\u0456\u0432\u0435\u043D\u044C\",\n \"ra_Commercial\": \"\u041A\u043E\u043C\u0435\u0440\u0446\u0456\u0439\u043D\u0438\u0439\",\n \"ra_Configure\": \"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438\",\n \"ra_Configure visible columns\": \"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u0434\u0438\u043C\u0456 \u0441\u0442\u043E\u0432\u043F\u0446\u0456\",\n \"ra_Confirm deletion of %s\": \"\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0438 \u0432\u0438\u0434\u0430\u043B\u0435\u043D\u043D\u044F %s\",\n \"ra_Connected\": \"\u041F\u0456\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u043E\",\n \"ra_Copied\": \"\u0421\u043A\u043E\u043F\u0456\u0439\u043E\u0432\u0430\u043D\u043E\",\n \"ra_Copied %s\": \"\u0421\u043A\u043E\u043F\u0456\u0439\u043E\u0432\u0430\u043D\u043E \\\"%s\\\"\",\n \"ra_Copy content\": \"\u0421\u043A\u043E\u043F\u0456\u044E\u0439\u0442\u0435 \u0432\u043C\u0456\u0441\u0442\",\n \"ra_Create\": \"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438\",\n \"ra_Create alias\": \"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0456\u043C\",\n \"ra_Create folder\": \"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043F\u0430\u043F\u043A\u0443\",\n \"ra_Create new folder in %s\": \"\u0421\u0442\u0432\u043E\u0440\u0456\u0442\u044C \u043D\u043E\u0432\u0443 \u043F\u0430\u043F\u043A\u0443 \u0432 %s\",\n \"ra_Crop\": \"\u0423\u0440\u043E\u0436\u0430\u0439\",\n \"ra_Define CRON...\": \"\u0412\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438 CRON...\",\n \"ra_Define functions\": \"\u0412\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438 \u0444\u0443\u043D\u043A\u0446\u0456\u0457\",\n \"ra_Define rooms\": \"\u0412\u0438\u0437\u043D\u0430\u0447\u0442\u0435 \u043A\u0456\u043C\u043D\u0430\u0442\u0438\",\n \"ra_Define schedule\": \"\u0412\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438 \u0440\u043E\u0437\u043A\u043B\u0430\u0434\",\n \"ra_Define schedule...\": \"\u0412\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438 \u0440\u043E\u0437\u043A\u043B\u0430\u0434...\",\n \"ra_Del\": \"Delete\",\n \"ra_Delete\": \"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438\",\n \"ra_Delete (no confirm for 5 mins)\": \"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 (\u0431\u0435\u0437 \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043D\u043D\u044F \u043F\u0440\u043E\u0442\u044F\u0433\u043E\u043C 5 \u0445\u0432\u0438\u043B\u0438\u043D)\",\n \"ra_Delete current row\": \"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u043F\u043E\u0442\u043E\u0447\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A\",\n \"ra_Deselect all\": \"\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u0431\u0456\u0440 \u0443\u0441\u0456\u0445\",\n \"ra_Device \u2192 Channel \u2192 State\": \"\u041F\u0440\u0438\u0441\u0442\u0440\u0456\u0439 \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u0442\u0430\u043D\",\n \"ra_Discard\": \"\u0412\u0456\u0434\u043A\u0438\u043D\u0443\u0442\u0438\",\n \"ra_Disconnected\": \"\u0412\u0456\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u043E\",\n \"ra_Do not export values of states\": \"\u041D\u0435 \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0439\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0441\u0442\u0430\u043D\u0456\u0432\",\n \"ra_Do not use let's encrypt\": \"\u041D\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 let's encrypt\",\n \"ra_Double click to reset table layout\": \"\u0414\u0432\u0456\u0447\u0456 \u043A\u043B\u0430\u0446\u043D\u0456\u0442\u044C, \u0449\u043E\u0431 \u0441\u043A\u0438\u043D\u0443\u0442\u0438 \u043C\u0430\u043A\u0435\u0442 \u0442\u0430\u0431\u043B\u0438\u0446\u0456\",\n \"ra_Drag 'n' drop some files here, or click to select files\": \"\u041F\u0435\u0440\u0435\u0442\u044F\u0433\u043D\u0456\u0442\u044C \u0434\u0435\u044F\u043A\u0456 \u0444\u0430\u0439\u043B\u0438 \u0441\u044E\u0434\u0438 \u0430\u0431\u043E \u043D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C, \u0449\u043E\u0431 \u0432\u0438\u0431\u0440\u0430\u0442\u0438 \u0444\u0430\u0439\u043B\u0438\",\n \"ra_Drop file here\": \"\u041F\u0435\u0440\u0435\u0442\u044F\u0433\u043D\u0456\u0442\u044C \u0444\u0430\u0439\u043B \u0441\u044E\u0434\u0438\",\n \"ra_Drop the files here...\": \"\u041F\u0435\u0440\u0435\u0442\u044F\u0433\u043D\u0456\u0442\u044C \u0444\u0430\u0439\u043B \u0441\u044E\u0434\u0438...\",\n \"ra_Duplicate name\": \"\u041F\u043E\u0432\u0442\u043E\u0440\u044E\u0432\u0430\u043D\u0435 \u0456\u043C'\u044F\",\n \"ra_Edit ACL\": \"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 ACL\",\n \"ra_Edit alias\": \"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0456\u043C\",\n \"ra_Edit custom config\": \"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0443 \u043A\u043E\u043D\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044E\",\n \"ra_Edit function\": \"\u0444\u0443\u043D\u043A\u0446\u0456\u044F \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F\",\n \"ra_Edit object field\": \"\u041F\u043E\u043B\u0435 \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F \u043E\u0431'\u0454\u043A\u0442\u0430\",\n \"ra_Edit role\": \"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0440\u043E\u043B\u044C\",\n \"ra_Edit room\": \"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u043A\u0456\u043C\u043D\u0430\u0442\u0443\",\n \"ra_Edit value\": \"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\",\n \"ra_Error\": \"\u041F\u043E\u043C\u0438\u043B\u043A\u0430\",\n \"ra_Expand all nodes\": \"\u0420\u043E\u0437\u0433\u043E\u0440\u043D\u0443\u0442\u0438 \u0432\u0441\u0456 \u0432\u0443\u0437\u043B\u0438\",\n \"ra_Expand one step node\": \"\u0420\u043E\u0437\u0433\u043E\u0440\u043D\u0456\u0442\u044C \u043E\u0434\u0438\u043D \u0440\u0456\u0432\u0435\u043D\u044C\",\n \"ra_Export data to %s file\": \"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0434\u0430\u043D\u0456 \u0443 \u0444\u0430\u0439\u043B %s\",\n \"ra_Failed to open JSON File\": \"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u0444\u0430\u0439\u043B JSON\",\n \"ra_Fallback custom certificates\": \"\u0417\u0430\u043F\u0430\u0441\u043D\u0456 \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0456 \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u0438\",\n \"ra_File is too big. Max %sk allowed. Try use SVG.\": \"\u0424\u0430\u0439\u043B \u0437\u0430\u0432\u0435\u043B\u0438\u043A\u0438\u0439. \u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E \u0434\u043E\u0437\u0432\u043E\u043B\u0435\u043D\u043E %sk. \u0421\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 SVG.\",\n \"ra_Filter\": \"\u0444\u0456\u043B\u044C\u0442\u0440\",\n \"ra_Filter files\": \"\u0424\u0456\u043B\u044C\u0442\u0440 \u0444\u0430\u0439\u043B\u0456\u0432\",\n \"ra_Folder name\": \"\u041D\u0430\u0437\u0432\u0430 \u043F\u0430\u043F\u043A\u0438\",\n \"ra_Folder \u2192 Channel \u2192 State\": \"\u041F\u0430\u043F\u043A\u0430 \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u0442\u0430\u043D\",\n \"ra_Folder \u2192 Device \u2192 Channel \u2192 State\": \"\u041F\u0430\u043F\u043A\u0430 \u2192 \u041F\u0440\u0438\u0441\u0442\u0440\u0456\u0439 \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u0442\u0430\u043D\",\n \"ra_Folder \u2192 State\": \"\u041F\u0430\u043F\u043A\u0430 \u2192 \u0421\u0442\u0430\u043D\",\n \"ra_Folders always first\": \"\u041F\u0430\u043F\u043A\u0438 \u0437\u0430\u0432\u0436\u0434\u0438 \u043F\u0435\u0440\u0448\u0438\u043C\u0438\",\n \"ra_Friday\": \"\u041F'\u044F\u0442\u043D\u0438\u0446\u044F\",\n \"ra_Good luck\": \"\u0423\u0434\u0430\u0447\u0456\",\n \"ra_Hide empty folders\": \"\u041F\u0440\u0438\u0445\u043E\u0432\u0430\u0442\u0438 \u043F\u043E\u0440\u043E\u0436\u043D\u0456 \u043F\u0430\u043F\u043A\u0438\",\n \"ra_If no file will be created in the folder, it will disappear after the browser closed\": \"\u042F\u043A\u0449\u043E \u0432 \u043F\u0430\u043F\u0446\u0456 \u043D\u0435 \u0431\u0443\u0434\u0435 \u0441\u0442\u0432\u043E\u0440\u0435\u043D\u043E \u0444\u0430\u0439\u043B, \u0432\u0456\u043D \u0437\u043D\u0438\u043A\u043D\u0435 \u043F\u0456\u0441\u043B\u044F \u0437\u0430\u043A\u0440\u0438\u0442\u0442\u044F \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\",\n \"ra_Import data from %s file\": \"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0434\u0430\u043D\u0456 \u0437 \u0444\u0430\u0439\u043B\u0443 %s\",\n \"ra_Import from %s\": \"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0437 %s\",\n \"ra_Instance %s is alive\": \"\u041F\u0440\u0438\u043C\u0456\u0440\u043D\u0438\u043A %s \u0436\u0438\u0432\u0438\u0439\",\n \"ra_Instance %s is not alive\": \"\u041F\u0440\u0438\u043C\u0456\u0440\u043D\u0438\u043A %s \u043D\u0435 \u0436\u0438\u0432\u0438\u0439\",\n \"ra_Instance is not alive\": \"\u041F\u0440\u0438\u043C\u0456\u0440\u043D\u0438\u043A \u043D\u0435 \u0436\u0438\u0432\u0438\u0439\",\n \"ra_Invalid CRON\": \"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0438\u0439 CRON\",\n \"ra_Invalid JSON\": \"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0438\u0439 JSON\",\n \"ra_Invalid answer from server\": \"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0430 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u044C \u0432\u0456\u0434 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\",\n \"ra_Invalid parent folder!\": \"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0430 \u0431\u0430\u0442\u044C\u043A\u0456\u0432\u0441\u044C\u043A\u0430 \u043F\u0430\u043F\u043A\u0430!\",\n \"ra_Invalid structure\": \"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0430 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0430\",\n \"ra_JSON editor\": \"\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 JSON\",\n \"ra_Last change\": \"\u041E\u0441\u0442\u0430\u043D\u043D\u044F \u0437\u043C\u0456\u043D\u0430\",\n \"ra_Latitude\": \"\u0428\u0438\u0440\u043E\u0442\u0430\",\n \"ra_License %s\": \"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u044F %s\",\n \"ra_License agreement\": \"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u0439\u043D\u0430 \u0443\u0433\u043E\u0434\u0430\",\n \"ra_License does not exist\": \"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u0457 \u043D\u0435 \u0456\u0441\u043D\u0443\u0454\",\n \"ra_License expired on %s\": \"\u0422\u0435\u0440\u043C\u0456\u043D \u0434\u0456\u0457 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0457 \u0437\u0430\u043A\u0456\u043D\u0447\u0438\u0432\u0441\u044F %s\",\n \"ra_License for other product \\\"%s\\\"\": \"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u044F \u043D\u0430 \u0456\u043D\u0448\u0438\u0439 \u043F\u0440\u043E\u0434\u0443\u043A\u0442 \\\"%s\\\"\",\n \"ra_License is for version %s, but required version is %s.\": \"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u044F \u0434\u043B\u044F \u0432\u0435\u0440\u0441\u0456\u0457 %s, \u0430\u043B\u0435 \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u0430 \u0432\u0435\u0440\u0441\u0456\u044F %s.\",\n \"ra_License must be converted\": \"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u044E \u043D\u0435\u043E\u0431\u0445\u0456\u0434\u043D\u043E \u043A\u043E\u043D\u0432\u0435\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0434\u043E \u043D\u043E\u0432\u0456\u0448\u043E\u0457 \u0432\u0435\u0440\u0441\u0456\u0457. \u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0437\u0440\u043E\u0431\u0438\u0442\u0438 \u0446\u0435 \u0443 \u0441\u0432\u043E\u0454\u043C\u0443 \u043F\u0440\u043E\u0444\u0456\u043B\u0456 \u043D\u0430 iobroker.net.\",\n \"ra_License not found in license manager. Do you want to read licenses from iobroker.net?\": \"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u044F \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u0432 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u0456 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0439. \u0425\u043E\u0447\u0435\u0442\u0435 \u043E\u043D\u043E\u0432\u0438\u0442\u0438 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0457 \u0437 iobroker.net?\",\n \"ra_Listen on all IPs\": \"\u041F\u0440\u043E\u0441\u043B\u0443\u0445\u043E\u0432\u0443\u0432\u0430\u043D\u043D\u044F \u043D\u0430 \u0432\u0441\u0456\u0445 IP\",\n \"ra_Load configuration from file\": \"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043A\u043E\u043D\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044E \u0437 \u0444\u0430\u0439\u043B\u0443\",\n \"ra_Longitude\": \"\u0414\u043E\u0432\u0433\u043E\u0442\u0430\",\n \"ra_May not trigger \\\"updateLicenses\\\"\": \"\u041C\u043E\u0436\u0435 \u043D\u0435 \u0437\u0430\u043F\u0443\u0441\u043A\u0430\u0442\u0438 \\\"updateLicenses\\\"\",\n \"ra_Message\": \"\u043F\u043E\u0432\u0456\u0434\u043E\u043C\u043B\u0435\u043D\u043D\u044F\",\n \"ra_Monday\": \"\u043F\u043E\u043D\u0435\u0434\u0456\u043B\u043E\u043A\",\n \"ra_Move down\": \"\u0420\u0443\u0445\u0430\u0442\u0438\u0441\u044F \u0432\u043D\u0438\u0437\",\n \"ra_Move up\": \"\u0420\u0443\u0445\u0430\u0442\u0438\u0441\u044F \u0432\u0433\u043E\u0440\u0443\",\n \"ra_Name\": \"\u0406\u043C'\u044F\",\n \"ra_No data found in file\": \"\u041D\u0435\u043C\u0430\u0454 \u0434\u0430\u043D\u0438\u0445 \u0443 \u0444\u0430\u0439\u043B\u0456\",\n \"ra_No one license found in license manager\": \"\u0423 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u0456 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0439 \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0436\u043E\u0434\u043D\u043E\u0457 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0457\",\n \"ra_No response from the backend\": \"\u041D\u0435\u043C\u0430\u0454 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u0456 \u0432\u0456\u0434 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\",\n \"ra_Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\": \"\u041D\u0435\u0435\u043A\u0441\u043F\u0435\u0440\u0442\u0438 \u043C\u043E\u0436\u0443\u0442\u044C \u0441\u0442\u0432\u043E\u0440\u044E\u0432\u0430\u0442\u0438 \u043D\u043E\u0432\u0456 \u043E\u0431\u2019\u0454\u043A\u0442\u0438 \u043B\u0438\u0448\u0435 \u0432 \u00AB0_userdata.0\u00BB \u0430\u0431\u043E \u00ABalias.0\u00BB.\",\n \"ra_Not a number\": \"\u041D\u0435 \u043D\u043E\u043C\u0435\u0440\",\n \"ra_Objects\": \"\u041E\u0431'\u0454\u043A\u0442\u0438\",\n \"ra_Ok\": \"\u0412 \u043F\u043E\u0440\u044F\u0434\u043A\u0443\",\n \"ra_On weekdays\": \"\u0412 \u0431\u0443\u0434\u043D\u0456 \u0434\u043D\u0456\",\n \"ra_Only following structures of objects are available:\": \"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u0456 \u0442\u0456\u043B\u044C\u043A\u0438 \u0442\u0430\u043A\u0456 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0438 \u043E\u0431'\u0454\u043A\u0442\u0456\u0432:\",\n \"ra_Only selected\": \"\u0422\u0456\u043B\u044C\u043A\u0438 \u043E\u0431\u0440\u0430\u043D\u0456\",\n \"ra_Owner group\": \"\u0413\u0440\u0443\u043F\u0430 \u0432\u043B\u0430\u0441\u043D\u0438\u043A\u0456\u0432\",\n \"ra_Owner user\": \"\u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447-\u0432\u043B\u0430\u0441\u043D\u0438\u043A\",\n \"ra_Passwords are not equal!\": \"\u041F\u0430\u0440\u043E\u043B\u0456 \u043D\u0435 \u0431\u0443\u0432\u0430\u044E\u0442\u044C \u0440\u0456\u0432\u043D\u0438\u043C\u0438!\",\n \"ra_Place your files here or click here to open the browse dialog\": \"\u0420\u043E\u0437\u043C\u0456\u0441\u0442\u0456\u0442\u044C \u0441\u0432\u043E\u0457 \u0444\u0430\u0439\u043B\u0438 \u0442\u0443\u0442 \u0430\u0431\u043E \u043D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u0442\u0443\u0442, \u0449\u043E\u0431 \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u0434\u0456\u0430\u043B\u043E\u0433\u043E\u0432\u0435 \u0432\u0456\u043A\u043D\u043E \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443\",\n \"ra_Please confirm\": \"\u0411\u0443\u0434\u044C-\u043B\u0430\u0441\u043A\u0430 \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0456\u0442\u044C\",\n \"ra_Please create license\": \"\u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0441\u0442\u0432\u043E\u0440\u0456\u0442\u044C \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E\",\n \"ra_Please enter the license\": \"\u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0432\u0432\u0435\u0434\u0456\u0442\u044C \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E\",\n \"ra_Please select file...\": \"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0444\u0430\u0439\u043B...\",\n \"ra_Please select object ID...\": \"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440 \u043E\u0431'\u0454\u043A\u0442\u0430...\",\n \"ra_Port could be used by %s\": \"\u041F\u043E\u0440\u0442 \u043C\u043E\u0436\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438\u0441\u044F %s\",\n \"ra_Port is already used by %s\": \"\u041F\u043E\u0440\u0442 \u0443\u0436\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454\u0442\u044C\u0441\u044F %s\",\n \"ra_Private certificate\": \"\u041F\u0440\u0438\u0432\u0430\u0442\u043D\u0438\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442\",\n \"ra_Product\": \"\u041F\u0440\u043E\u0434\u0443\u043A\u0442\",\n \"ra_Public certificate\": \"\u041F\u0443\u0431\u043B\u0456\u0447\u043D\u0438\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442\",\n \"ra_Quality code\": \"\u044F\u043A\u0456\u0441\u0442\u044C\",\n \"ra_Refresh tree\": \"\u041E\u043D\u043E\u0432\u0438\u0442\u0438 \u0434\u0435\u0440\u0435\u0432\u043E\",\n \"ra_Reload files\": \"\u041F\u0435\u0440\u0435\u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0442\u0435 \u0444\u0430\u0439\u043B\u0438\",\n \"ra_Repeat\": \"\u041F\u043E\u0432\u0442\u043E\u0440\u0456\u0442\u044C\",\n \"ra_Replace\": \"\u0417\u0430\u043C\u0456\u043D\u0438\u0442\u0438\",\n \"ra_Request timed out\": \"\u0427\u0430\u0441 \u0437\u0430\u043F\u0438\u0442\u0443 \u0432\u0438\u0447\u0435\u0440\u043F\u0430\u043D\u043E\",\n \"ra_Restrict to folder\": \"\u041E\u0431\u043C\u0435\u0436\u0438\u0442\u0438 \u043F\u0430\u043F\u043A\u043E\u044E\",\n \"ra_Root\": \"\u041A\u043E\u0440\u0456\u043D\u044C\",\n \"ra_Saturday\": \"\u0421\u0443\u0431\u043E\u0442\u0430\",\n \"ra_Save\": \"\u0437\u0431\u0435\u0440\u0435\u0433\u0442\u0438\",\n \"ra_Save and close\": \"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0442\u0430 \u0437\u0430\u043A\u0440\u0438\u0442\u0438\",\n \"ra_Save configuration to file\": \"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u043A\u043E\u043D\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044E \u0443 \u0444\u0430\u0439\u043B\",\n \"ra_Save objects tree as JSON file\": \"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0434\u0435\u0440\u0435\u0432\u043E \u043E\u0431\u2019\u0454\u043A\u0442\u0456\u0432 \u044F\u043A \u0444\u0430\u0439\u043B JSON\",\n \"ra_Select all\": \"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0432\u0441\u0435\",\n \"ra_Select color\": \"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043A\u043E\u043B\u0456\u0440\",\n \"ra_Select predefined icon\": \"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u044C\u043E \u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439 \u0437\u043D\u0430\u0447\u043E\u043A\",\n \"ra_Select type of export\": \"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0442\u0438\u043F \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u0443\",\n \"ra_Selected\": \"\u0412\u0438\u0431\u0440\u0430\u043D\u0435\",\n \"ra_Selected %s object(s)\": \"\u0412\u0438\u0431\u0440\u0430\u043D\u0456 \u043E\u0431\u2019\u0454\u043A\u0442\u0438 %s\",\n \"ra_Serial number (UUID)\": \"\u0421\u0435\u0440\u0456\u0439\u043D\u0438\u0439 \u043D\u043E\u043C\u0435\u0440 (UUID)\",\n \"ra_Serial number (UUID) \\\"%s\\\" in license is for other device.\": \"\u0421\u0435\u0440\u0456\u0439\u043D\u0438\u0439 \u043D\u043E\u043C\u0435\u0440 (UUID) \\\"%s\\\" \u0443 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0457 \u043F\u0440\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439 \u0434\u043B\u044F \u0456\u043D\u0448\u043E\u0433\u043E \u043F\u0440\u0438\u0441\u0442\u0440\u043E\u044E.\",\n \"ra_Show all folders\": \"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u0432\u0441\u0456 \u043F\u0430\u043F\u043A\u0438\",\n \"ra_Show lines between rows\": \"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043B\u0456\u043D\u0456\u0457 \u043C\u0456\u0436 \u0440\u044F\u0434\u043A\u0430\u043C\u0438\",\n \"ra_Show/Hide object descriptions\": \"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438/\u0421\u0445\u043E\u0432\u0430\u0442\u0438 \u043E\u043F\u0438\u0441\u0438 \u043E\u0431\u2019\u0454\u043A\u0442\u0456\u0432\",\n \"ra_Show/hide filter input\": \"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438/\u0441\u0445\u043E\u0432\u0430\u0442\u0438 \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F \u0444\u0456\u043B\u044C\u0442\u0440\u0430\",\n \"ra_Some data are not stored. Discard?\": \"\u0414\u0435\u044F\u043A\u0456 \u0434\u0430\u043D\u0456 \u043D\u0435 \u0437\u0431\u0435\u0440\u0456\u0433\u0430\u044E\u0442\u044C\u0441\u044F. \u0412\u0456\u0434\u043A\u0438\u043D\u0443\u0442\u0438?\",\n \"ra_States\": \"\u0434\u0435\u0440\u0436\u0430\u0432\u0438\",\n \"ra_Suitable license not found in license manager\": \"\u0412\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u043D\u0430 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044F \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u0432 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u0456 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0439\",\n \"ra_Sunday\": \"\u043D\u0435\u0434\u0456\u043B\u044F\",\n \"ra_Suppress question for next %s minutes\": \"\u041F\u0440\u0438\u0445\u043E\u0432\u0430\u0442\u0438 \u0437\u0430\u043F\u0438\u0442\u0430\u043D\u043D\u044F \u043D\u0430 \u043D\u0430\u0441\u0442\u0443\u043F\u043D\u0456 %s \u0445\u0432\u0438\u043B\u0438\u043D\",\n \"ra_System language\": \"\u0421\u0438\u0441\u0442\u0435\u043C\u043D\u0430 \u043C\u043E\u0432\u0430\",\n \"ra_Take browser position\": \"\u0417\u0430\u0439\u043C\u0456\u0442\u044C \u043F\u043E\u0437\u0438\u0446\u0456\u044E \u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\",\n \"ra_Take position from system settings\": \"\u0417\u0430\u0439\u043C\u0456\u0442\u044C \u043F\u043E\u0437\u0438\u0446\u0456\u044E \u0432 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F\u0445 \u0441\u0438\u0441\u0442\u0435\u043C\u0438\",\n \"ra_The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\": \"\u0415\u043A\u0441\u043F\u0435\u0440\u0442\u0438 \u043C\u043E\u0436\u0443\u0442\u044C \u0441\u0442\u0432\u043E\u0440\u044E\u0432\u0430\u0442\u0438 \u043E\u0431\u2019\u0454\u043A\u0442\u0438 \u0432\u0441\u044E\u0434\u0438, \u043A\u0440\u0456\u043C \u0434\u0440\u0443\u0433\u043E\u0433\u043E \u0440\u0456\u0432\u043D\u044F (\u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, \u00ABvis.0\u00BB \u0430\u0431\u043E \u00ABjavascript.0\u00BB).\",\n \"ra_The page you are looking for was not found\": \"\u0421\u0442\u043E\u0440\u0456\u043D\u043A\u0430, \u044F\u043A\u0443 \u0432\u0438 \u0448\u0443\u043A\u0430\u0454\u0442\u0435, \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u0430\",\n \"ra_The schedule will be executed every minute. Are you sure?\": \"\u0420\u043E\u0437\u043A\u043B\u0430\u0434 \u0431\u0443\u0434\u0435 \u0432\u0438\u043A\u043E\u043D\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u0449\u043E\u0445\u0432\u0438\u043B\u0438\u043D\u0438. \u0412\u0438 \u0432\u043F\u0435\u0432\u043D\u0435\u043D\u0456?\",\n \"ra_The schedule will be executed every second. Are you sure?\": \"\u0420\u043E\u0437\u043A\u043B\u0430\u0434 \u0431\u0443\u0434\u0435 \u0432\u0438\u043A\u043E\u043D\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u0449\u043E\u0441\u0435\u043A\u0443\u043D\u0434\u0438. \u0412\u0438 \u0432\u043F\u0435\u0432\u043D\u0435\u043D\u0456?\",\n \"ra_Thursday\": \"\u0447\u0435\u0442\u0432\u0435\u0440\",\n \"ra_Timestamp\": \"\u041C\u0456\u0442\u043A\u0430 \u0447\u0430\u0441\u0443\",\n \"ra_Toggle expert mode\": \"\u041F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438 \u0435\u043A\u0441\u043F\u0435\u0440\u0442\u043D\u0438\u0439 \u0440\u0435\u0436\u0438\u043C\",\n \"ra_Toggle the states view\": \"\u041F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434 \u0448\u0442\u0430\u0442\u0456\u0432\",\n \"ra_Toggle view mode\": \"\u041F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438 \u0440\u0435\u0436\u0438\u043C \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443\",\n \"ra_Too big\": \"\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439\",\n \"ra_Too small\": \"\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0438\u0439\",\n \"ra_Transparent dialog\": \"\u041F\u0440\u043E\u0437\u043E\u0440\u0438\u0439 \u0434\u0456\u0430\u043B\u043E\u0433\",\n \"ra_Tuesday\": \"\u0432\u0456\u0432\u0442\u043E\u0440\u043E\u043A\",\n \"ra_Unknown error\": \"\u041D\u0435\u0432\u0456\u0434\u043E\u043C\u0430 \u043F\u043E\u043C\u0438\u043B\u043A\u0430\",\n \"ra_Unknown error!\": \"\u041D\u0435\u0432\u0456\u0434\u043E\u043C\u0430 \u043F\u043E\u043C\u0438\u043B\u043A\u0430!\",\n \"ra_Update\": \"\u043E\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044F\",\n \"ra_Upload file\": \"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0444\u0430\u0439\u043B\",\n \"ra_Use all available let's encrypt certificates\": \"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u0432\u0441\u0456 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0456 \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u0438 let's encrypt\",\n \"ra_Use iobroker.acme adapter for letsencrypt certificates\": \"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u0430\u0434\u0430\u043F\u0442\u0435\u0440 iobroker.acme \u0434\u043B\u044F \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u0456\u0432 letsencrypt\",\n \"ra_Use system settings for position\": \"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0434\u043B\u044F \u043F\u043E\u0437\u0438\u0446\u0456\u0457\",\n \"ra_Used system settings\": \"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u0456 \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F\",\n \"ra_User files\": \"\u0424\u0430\u0439\u043B\u0438 \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430\",\n \"ra_ValidTill\": \"\u0414\u0456\u0439\u0441\u043D\u0438\u0439 \u0434\u043E\",\n \"ra_Value\": \"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F\",\n \"ra_Version\": \"\u0412\u0435\u0440\u0441\u0456\u044F\",\n \"ra_View file\": \"\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u043D\u0443\u0442\u0438 \u0444\u0430\u0439\u043B\",\n \"ra_View: %s\": \"\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u0434: %s\",\n \"ra_Wednesday\": \"\u0421\u0435\u0440\u0435\u0434\u0430\",\n \"ra_Width\": \"\u0428\u0438\u0440\u0438\u043D\u0430\",\n \"ra_Yes\": \"\u0422\u0430\u043A\",\n \"ra_You can export all objects or just the selected branch.\": \"\u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0432\u0441\u0456 \u043E\u0431\u2019\u0454\u043A\u0442\u0438 \u0430\u0431\u043E \u043B\u0438\u0448\u0435 \u0432\u0438\u0431\u0440\u0430\u043D\u0443 \u0433\u0456\u043B\u043A\u0443.\",\n \"ra_You can filter entries by entering here some text\": \"\u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0444\u0456\u043B\u044C\u0442\u0440\u0443\u0432\u0430\u0442\u0438 \u0437\u0430\u043F\u0438\u0441\u0438, \u0432\u0432\u0456\u0432\u0448\u0438 \u0442\u0443\u0442 \u043F\u0435\u0432\u043D\u0438\u0439 \u0442\u0435\u043A\u0441\u0442\",\n \"ra___different__\": \"\u0456\u043D\u0448\u0438\u0439\",\n \"ra_aclEveryone_read_object\": \"\u041A\u043E\u0436\u0435\u043D \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442\",\n \"ra_aclEveryone_read_state\": \"\u041A\u043E\u0436\u0435\u043D \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u0441\u0442\u0430\u043D\",\n \"ra_aclEveryone_write_object\": \"\u041A\u043E\u0436\u0435\u043D \u043C\u043E\u0436\u0435 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442\",\n \"ra_aclEveryone_write_state\": \"\u041A\u043E\u0436\u0435\u043D \u043C\u043E\u0436\u0435 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u0438 \u0441\u0442\u0430\u043D\",\n \"ra_aclGroup_read_object\": \"\u0413\u0440\u0443\u043F\u0430 \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442\",\n \"ra_aclGroup_read_state\": \"\u0413\u0440\u0443\u043F\u0430 \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u0441\u0442\u0430\u043D\",\n \"ra_aclGroup_write_object\": \"\u0413\u0440\u0443\u043F\u0430 \u043C\u043E\u0436\u0435 \u043F\u0438\u0441\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442\",\n \"ra_aclGroup_write_state\": \"\u0413\u0440\u0443\u043F\u0430 \u043C\u043E\u0436\u0435 \u043F\u0438\u0441\u0430\u0442\u0438 \u0441\u0442\u0430\u043D\",\n \"ra_aclOwner_read_object\": \"\u0412\u043B\u0430\u0441\u043D\u0438\u043A \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442\",\n \"ra_aclOwner_read_state\": \"\u0412\u043B\u0430\u0441\u043D\u0438\u043A \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u0441\u0442\u0430\u043D\",\n \"ra_aclOwner_write_object\": \"\u0412\u043B\u0430\u0441\u043D\u0438\u043A \u043C\u043E\u0436\u0435 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442\",\n \"ra_aclOwner_write_state\": \"\u0412\u043B\u0430\u0441\u043D\u0438\u043A \u043C\u043E\u0436\u0435 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u0438 \u0441\u0442\u0430\u043D\",\n \"ra_buttons\": \"\u043A\u043D\u043E\u043F\u043A\u0438\",\n \"ra_changedFrom\": \"\u0417\u043C\u0456\u043D\u0435\u043D\u043E \u0437\",\n \"ra_close\": \"\u0437\u0430\u043A\u0440\u0438\u0442\u0438\",\n \"ra_create_boolean_state\": \"\u0421\u0442\u0432\u043E\u0440\u0456\u0442\u044C \u043B\u043E\u0433\u0456\u0447\u043D\u0438\u0439 \u0441\u0442\u0430\u043D\",\n \"ra_create_channel\": \"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043A\u0430\u043D\u0430\u043B\",\n \"ra_create_device\": \"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043F\u0440\u0438\u0441\u0442\u0440\u0456\u0439\",\n \"ra_create_number_state\": \"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043D\u043E\u043C\u0435\u0440\u043D\u0438\u0439 \u0441\u0442\u0430\u043D\",\n \"ra_create_state\": \"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_create_string_state\": \"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0440\u044F\u0434\u043A\u043E\u0432\u0438\u0439 \u0441\u0442\u0430\u043D\",\n \"ra_daysShortText\": \"\u0434\u043D\u0456\u0432\",\n \"ra_dow_Fr\": \"\u041E\",\n \"ra_dow_Mo\": \"\u043F\u043D\",\n \"ra_dow_Sa\": \"Sa\",\n \"ra_dow_Su\": \"\u041D\u0434\",\n \"ra_dow_Th\": \"\u0447\u0442\",\n \"ra_dow_Tu\": \"\u0432\u0442\",\n \"ra_dow_We\": \"\u043C\u0438\",\n \"ra_expertMode\": \"\u0415\u043A\u0441\u043F\u0435\u0440\u0442\u043D\u0438\u0439 \u0440\u0435\u0436\u0438\u043C\",\n \"ra_fileType_all\": \"\u0412\u0441\u0456 \u0444\u0430\u0439\u043B\u0438\",\n \"ra_fileType_audio\": \"\u0410\u0443\u0434\u0456\u043E\",\n \"ra_fileType_code\": \"\u041A\u043E\u0434/JSON\",\n \"ra_fileType_images\": \"\u0417\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F\",\n \"ra_fileType_txt\": \"\u0442\u0435\u043A\u0441\u0442\",\n \"ra_fileType_video\": \"\u0432\u0456\u0434\u0435\u043E\",\n \"ra_fileType_video,\": \"\u0432\u0456\u0434\u0435\u043E\",\n \"ra_filter_customs\": \"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F\",\n \"ra_filter_customs_without\": \"\u0431\u0435\u0437\",\n \"ra_filter_func\": \"\u0444\u0443\u043D\u043A\u0446\u0456\u044F\",\n \"ra_filter_id\": \"ID\",\n \"ra_filter_name\": \"\u0406\u043C'\u044F\",\n \"ra_filter_role\": \"\u0420\u043E\u043B\u044C\",\n \"ra_filter_room\": \"\u041A\u0456\u043C\u043D\u0430\u0442\u0430\",\n \"ra_filter_type\": \"\u0422\u0438\u043F\",\n \"ra_import data from %s file\": \"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0434\u0430\u043D\u0456 \u0437 \u0444\u0430\u0439\u043B\u0443 %s\",\n \"ra_invalidConfig\": \"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F\",\n \"ra_lastChange\": \"\u041E\u0441\u0442\u0430\u043D\u043D\u044F \u0437\u043C\u0456\u043D\u0430\",\n \"ra_locally\": \"\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E\",\n \"ra_month_Apr\": \"\u043A\u0432\u0456\u0442\",\n \"ra_month_Aug\": \"\u0441\u0435\u0440\u043F\",\n \"ra_month_Dec\": \"\u0433\u0440\u0443\u0434\",\n \"ra_month_Feb\": \"\u043B\u044E\u0442\u0438\u0439\",\n \"ra_month_Jan\": \"\u0441\u0456\u0447\u043D\u044F\",\n \"ra_month_Jul\": \"\u043B\u0438\u043F\",\n \"ra_month_Jun\": \"\u0447\u0435\u0440\u0432\",\n \"ra_month_Mai\": \"\u0442\u0440\u0430\u0432\u0435\u043D\u044C\",\n \"ra_month_Mar\": \"\u0431\u0435\u0440\u0435\u0437\u0435\u043D\u044C\",\n \"ra_month_Nov\": \"\u041B\u0438\u0441\u0442\u043E\u043F\u0430\u0434\",\n \"ra_month_Oct\": \"\u0436\u043E\u0432\u0442\",\n \"ra_month_Sep\": \"\u0432\u0435\u0440\",\n \"ra_months_Apr\": \"\u043A\u0432\u0456\u0442\",\n \"ra_months_Aug\": \"\u0441\u0435\u0440\u043F\",\n \"ra_months_Dec\": \"\u0433\u0440\u0443\u0434\",\n \"ra_months_Feb\": \"\u043B\u044E\u0442\u0438\u0439\",\n \"ra_months_Jan\": \"\u0441\u0456\u0447\u043D\u044F\",\n \"ra_months_Jul\": \"\u043B\u0438\u043F\",\n \"ra_months_Jun\": \"\u0447\u0435\u0440\u0432\",\n \"ra_months_Mai\": \"\u0442\u0440\u0430\u0432\u0435\u043D\u044C\",\n \"ra_months_Mar\": \"\u0431\u0435\u0440\u0435\u0437\u0435\u043D\u044C\",\n \"ra_months_Nov\": \"\u041B\u0438\u0441\u0442\u043E\u043F\u0430\u0434\",\n \"ra_months_Oct\": \"\u0436\u043E\u0432\u0442\",\n \"ra_months_Sep\": \"\u0432\u0435\u0440\",\n \"ra_none\": \"\u043D\u0435\u043C\u0430\u0454\",\n \"ra_object_changed_by\": \"\u041E\u0431'\u0454\u043A\u0442 \u0437\u043C\u0456\u043D\u0435\u043D\u043E\",\n \"ra_object_changed_by_user\": \"\u041E\u0431'\u0454\u043A\u0442 \u0432\u043E\u0441\u0442\u0430\u043D\u043D\u0454 \u0437\u043C\u0456\u043D\u0435\u043D\u043E \u043E\",\n \"ra_otherConfig\": \"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0437 \u0456\u043D\u0448\u043E\u0433\u043E \u0430\u0434\u0430\u043F\u0442\u0435\u0440\u0430 %s\",\n \"ra_qualityCode\": \"\u041A\u043E\u0434 \u044F\u043A\u043E\u0441\u0442\u0456\",\n \"ra_repeat\": \"\u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438\",\n \"ra_select_folder_hint\": \"\u0429\u043E\u0431 \u0432\u0438\u0431\u0440\u0430\u0442\u0438 \u043F\u0430\u043F\u043A\u0443, \u043F\u0440\u043E\u0441\u0442\u043E \u043A\u043B\u0430\u0446\u043D\u0456\u0442\u044C \u043F\u0430\u043F\u043A\u0443, \u0443\u0442\u0440\u0438\u043C\u0443\u044E\u0447\u0438 \u043A\u043B\u0430\u0432\u0456\u0448\u0443 \u00ABShift\u00BB.\",\n \"ra_state_changed_by\": \"\u0421\u0442\u0430\u043D \u0437\u043C\u0456\u043D\u0435\u043D\u043E \u043D\u0430\",\n \"ra_state_changed_from\": \"\u041E\u0431'\u0454\u043A\u0442 \u0437\u043C\u0456\u043D\u0435\u043D\u043E \u0437\",\n \"ra_timestamp\": \"\u041C\u0456\u0442\u043A\u0430 \u0447\u0430\u0441\u0443\",\n \"ra_tooltip_ack\": \"\u0412\u0438\u0437\u043D\u0430\u043D\u043E\",\n \"ra_tooltip_comment\": \"\u043A\u043E\u043C\u0435\u043D\u0442\u0430\u0440\",\n \"ra_tooltip_copyState\": \"\u0421\u043A\u043E\u043F\u0456\u044E\u0439\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0441\u0442\u0430\u043D\u0443\",\n \"ra_tooltip_customConfig\": \"\u0421\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F\",\n \"ra_tooltip_deleteObject\": \"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442\",\n \"ra_tooltip_editObject\": \"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442\",\n \"ra_tooltip_editState\": \"\u0412\u0456\u0434\u0440\u0435\u0434\u0430\u0433\u0443\u0439\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0441\u0442\u0430\u043D\u0443\",\n \"ra_tooltip_from\": \"\u0412\u0456\u0434\",\n \"ra_tooltip_lc\": \"\u0412\u043E\u0441\u0442\u0430\u043D\u043D\u0454 \u0437\u043C\u0456\u043D\u0435\u043D\u043E\",\n \"ra_tooltip_quality\": \"\u044F\u043A\u0456\u0441\u0442\u044C\",\n \"ra_tooltip_ts\": \"\u041F\u043E\u0437\u043D\u0430\u0447\u043A\u0430 \u0447\u0430\u0441\u0443\",\n \"ra_tooltip_user\": \"\u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\",\n \"ra_tooltip_value\": \"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F\",\n \"ra_use seconds\": \"\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u0441\u0435\u043A\u0443\u043D\u0434\u0438\",\n \"ra_val\": \"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F\",\n \"ra_via internet\": \"\u0447\u0435\u0440\u0435\u0437 \u0456\u043D\u0442\u0435\u0440\u043D\u0435\u0442\",\n \"ra_warning_every_minute\": \"\u041F\u043E\u043F\u0435\u0440\u0435\u0434\u0436\u0435\u043D\u043D\u044F: \u0437\u0430\u0432\u0434\u0430\u043D\u043D\u044F CRON \u0432\u0438\u043A\u043E\u043D\u0443\u0432\u0430\u0442\u0438\u043C\u0435\u0442\u044C\u0441\u044F \u0449\u043E\u0445\u0432\u0438\u043B\u0438\u043D\u0438 \u043F\u0440\u043E\u0442\u044F\u0433\u043E\u043C \u0437\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u043E\u0433\u043E \u043F\u0435\u0440\u0456\u043E\u0434\u0443!\",\n \"ra_warning_every_second\": \"\u041F\u043E\u043F\u0435\u0440\u0435\u0434\u0436\u0435\u043D\u043D\u044F: \u0437\u0430\u0432\u0434\u0430\u043D\u043D\u044F CRON \u0432\u0438\u043A\u043E\u043D\u0443\u0432\u0430\u0442\u0438\u043C\u0435\u0442\u044C\u0441\u044F \u043A\u043E\u0436\u043D\u0443 \u0441\u0435\u043A\u0443\u043D\u0434\u0443 \u043F\u0440\u043E\u0442\u044F\u0433\u043E\u043C \u0437\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u043E\u0433\u043E \u043F\u0435\u0440\u0456\u043E\u0434\u0443!\",\n \"sc_cron\": \"CRON\",\n \"sc_date\": \"\u0414\u0430\u0442\u0430\",\n \"sc_dates\": \"\u0434\u0430\u0442\u0438\",\n \"sc_dow\": \"\u0414\u0435\u043D\u044C\",\n \"sc_dows\": \"\u0414\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F\",\n \"sc_every\": \"\u043A\u043E\u0436\u0435\u043D\",\n \"sc_everyN_dates\": \"\u043A\u043E\u0436\u043D\u0456 N \u0434\u043D\u0456\u0432\",\n \"sc_everyN_dow\": \"\u043A\u043E\u0436\u0435\u043D N-\u0439 \u0434\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F\",\n \"sc_everyN_dows\": \"\u043A\u043E\u0436\u043D\u0456 N \u0434\u043D\u0456\u0432 \u0442\u0438\u0436\u043D\u044F\",\n \"sc_everyN_hours\": \"\u043A\u043E\u0436\u043D\u0456 N \u0433\u043E\u0434\u0438\u043D\",\n \"sc_everyN_minutes\": \"\u043A\u043E\u0436\u043D\u0456 N \u0445\u0432\u0438\u043B\u0438\u043D\",\n \"sc_everyN_months\": \"\u043A\u043E\u0436\u043D\u0456 N \u043C\u0456\u0441\u044F\u0446\u0456\u0432\",\n \"sc_everyN_seconds\": \"\u043A\u043E\u0436\u043D\u0456 N \u0441\u0435\u043A\u0443\u043D\u0434\",\n \"sc_every_dates\": \"\u043A\u043E\u0436\u0435\u043D \u0434\u0435\u043D\u044C\",\n \"sc_every_dow\": \"\u043A\u043E\u0436\u0435\u043D \u0434\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F\",\n \"sc_every_dows\": \"\u043A\u043E\u0436\u0435\u043D \u0434\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F\",\n \"sc_every_hours\": \"\u0449\u043E\u0433\u043E\u0434\u0438\u043D\u0438\",\n \"sc_every_minutes\": \"\u043A\u043E\u0436\u043D\u0443 \u0445\u0432\u0438\u043B\u0438\u043D\u0443\",\n \"sc_every_months\": \"\u0449\u043E\u043C\u0456\u0441\u044F\u0446\u044F\",\n \"sc_every_seconds\": \"\u043A\u043E\u0436\u043D\u0430 \u0441\u0435\u043A\u0443\u043D\u0434\u0430\",\n \"sc_from\": \"\u0412\u0456\u0434\",\n \"sc_hours\": \"\u0433\u043E\u0434\u0438\u043D\u0438\",\n \"sc_interval\": \"\u0406\u043D\u0442\u0435\u0440\u0432\u0430\u043B\",\n \"sc_intervalBetween\": \"\u0406\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u043C\u0456\u0436\",\n \"sc_invalid_cron\": \"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0438\u0439 CRON\",\n \"sc_minutes\": \"\u0445\u0432\u0438\u043B\u0438\u043D\",\n \"sc_months\": \"\u043C\u0456\u0441\u044F\u0446\u0456\u0432\",\n \"sc_once\": \"\u041E\u0434\u0438\u043D \u0440\u0430\u0437\",\n \"sc_period\": \"\u041A\u0440\u0430\u043F\u043A\u0430\",\n \"sc_seconds\": \"\u0441\u0435\u043A\u0443\u043D\u0434\",\n \"sc_simple\": \"\u043F\u0440\u043E\u0441\u0442\u043E\",\n \"sc_specific\": \"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0438\u0439 \u0447\u0430\u0441\",\n \"sc_specific_dates\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u0434\u0430\u0442\u0438\",\n \"sc_specific_dow\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0438\u0439 \u0434\u0435\u043D\u044C (\u0434\u043D\u0456) \u0442\u0438\u0436\u043D\u044F\",\n \"sc_specific_dows\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0438\u0439 \u0434\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F\",\n \"sc_specific_hours\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u0433\u043E\u0434\u0438\u043D\u0438\",\n \"sc_specific_minutes\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u0445\u0432\u0438\u043B\u0438\u043D\u0438\",\n \"sc_specific_months\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u043C\u0456\u0441\u044F\u0446\u0456\",\n \"sc_specific_seconds\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u0441\u0435\u043A\u0443\u043D\u0434\u0438\",\n \"sc_time\": \"\u0447\u0430\u0441\",\n \"sc_to\": \"\u0434\u043E\",\n \"sc_wizard\": \"\u043C\u0430\u0439\u0441\u0442\u0435\u0440\",\n \"sch_all\": \"\u0432\u0441\u0435\",\n \"sch_astroDay\": \"\u0410\u0441\u0442\u0440\u043E\u0434\u0435\u043D\u044C\",\n \"sch_astroNight\": \"\u0410\u0441\u0442\u0440\u043E \u043D\u0456\u0447\",\n \"sch_astro_dawn\": \"\u0421\u0432\u0456\u0442\u0430\u043D\u043E\u043A\",\n \"sch_astro_dusk\": \"\u0421\u0443\u0442\u0456\u043D\u043A\u0438\",\n \"sch_astro_goldenHour\": \"\u0417\u043E\u043B\u043E\u0442\u0430 \u0433\u043E\u0434\u0438\u043D\u0430\",\n \"sch_astro_goldenHourEnd\": \"\u041A\u0456\u043D\u0435\u0446\u044C \u0437\u043E\u043B\u043E\u0442\u043E\u0457 \u0433\u043E\u0434\u0438\u043D\u0438\",\n \"sch_astro_nadir\": \"\u041D\u0430\u0434\u0456\u0440\",\n \"sch_astro_nauticalDawn\": \"\u041C\u043E\u0440\u0441\u044C\u043A\u0438\u0439 \u0441\u0432\u0456\u0442\u0430\u043D\u043E\u043A\",\n \"sch_astro_nauticalDusk\": \"\u041C\u043E\u0440\u0441\u044C\u043A\u0456 \u0441\u0443\u0442\u0456\u043D\u043A\u0438\",\n \"sch_astro_night\": \"\u043D\u0456\u0447\",\n \"sch_astro_nightEnd\": \"\u041A\u0456\u043D\u0435\u0446\u044C \u043D\u043E\u0447\u0456\",\n \"sch_astro_solarNoon\": \"\u0421\u043E\u043D\u044F\u0447\u043D\u0438\u0439 \u043F\u043E\u043B\u0443\u0434\u0435\u043D\u044C\",\n \"sch_astro_sunrise\": \"\u0421\u0445\u0456\u0434 \u0441\u043E\u043D\u0446\u044F\",\n \"sch_astro_sunriseEnd\": \"\u041A\u0456\u043D\u0435\u0446\u044C \u0441\u0445\u043E\u0434\u0443 \u0441\u043E\u043D\u0446\u044F\",\n \"sch_astro_sunset\": \"\u0417\u0430\u0445\u0456\u0434 \u0441\u043E\u043D\u0446\u044F\",\n \"sch_astro_sunsetStart\": \"\u041F\u043E\u0447\u0430\u0442\u043E\u043A \u0437\u0430\u0445\u043E\u0434\u0443 \u0441\u043E\u043D\u0446\u044F\",\n \"sch_at\": \"\u0432\",\n \"sch_desc_atTime\": \"\u0432 %s\",\n \"sch_desc_everyDay\": \"\u043A\u043E\u0436\u0435\u043D \u0434\u0435\u043D\u044C\",\n \"sch_desc_everyHour\": \"\u0449\u043E\u0433\u043E\u0434\u0438\u043D\u0438\",\n \"sch_desc_everyMinute\": \"\u043A\u043E\u0436\u043D\u0443 \u0445\u0432\u0438\u043B\u0438\u043D\u0443\",\n \"sch_desc_everyMonth\": \"\u0449\u043E\u043C\u0456\u0441\u044F\u0446\u044F\",\n \"sch_desc_everyNDay\": \"\u043A\u043E\u0436\u0435\u043D %s \u0434\u0435\u043D\u044C\",\n \"sch_desc_everyNHours\": \"\u043A\u043E\u0436\u043D\u0456 %s \u0433\u043E\u0434\u0438\u043D\",\n \"sch_desc_everyNMinutes\": \"\u043A\u043E\u0436\u043D\u0456 %s \u0445\u0432\u0438\u043B\u0438\u043D\",\n \"sch_desc_everyNMonths\": \"\u043A\u043E\u0436\u043D\u0456 %s \u043C\u0456\u0441\u044F\u0446\u0456\u0432\",\n \"sch_desc_everyNWeeks\": \"\u043A\u043E\u0436\u043D\u0456 %s \u0442\u0438\u0436\u043D\u0456\u0432\",\n \"sch_desc_everyNYears\": \"\u043A\u043E\u0436\u043D\u0456 %s \u0440\u043E\u043A\u0456\u0432\",\n \"sch_desc_everyWeek\": \"\u0449\u043E\u0442\u0438\u0436\u043D\u044F\",\n \"sch_desc_everyYear\": \"\u0449\u043E\u0440\u043E\u043A\u0443\",\n \"sch_desc_intervalFromTo\": \"\u0432\u0456\u0434 %s \u0434\u043E %s\",\n \"sch_desc_never\": \"\u043D\u0456\u043A\u043E\u043B\u0438\",\n \"sch_desc_onDate\": \"\u043D\u0430 %s \u0437 %s\",\n \"sch_desc_onDates\": \"\u043D\u0430 %s \u0456 %s \u0437\",\n \"sch_desc_onEveryDate\": \"\u043D\u0430 \u043A\u043E\u0436\u043D\u0443 \u0434\u0430\u0442\u0443\",\n \"sch_desc_onMonth\": \"%s\",\n \"sch_desc_onMonths\": \"%s \u0456 %s\",\n \"sch_desc_onWeekday\": \"\u043D\u0430 %s\",\n \"sch_desc_onWeekdays\": \"\u043D\u0430 %s \u0456 %s\",\n \"sch_desc_onWeekends\": \"\u043D\u0430 \u0432\u0438\u0445\u0456\u0434\u043D\u0438\u0445\",\n \"sch_desc_onWorkdays\": \"\u0432 \u0440\u043E\u0431\u043E\u0447\u0456 \u0434\u043D\u0456\",\n \"sch_desc_onceInPast\": \"\u0431\u0456\u043B\u044C\u0448\u0435 \u043D\u0435 \u0432\u0438\u043A\u043E\u043D\u0443\u0432\u0430\u0442\u0438\u043C\u0435\u0442\u044C\u0441\u044F, \u043E\u0441\u043A\u0456\u043B\u044C\u043A\u0438 \u0437\u0430\u043F\u0443\u0441\u043A \u0443 \u043C\u0438\u043D\u0443\u043B\u043E\u043C\u0443\",\n \"sch_desc_once_on\": \"\u043D\u0430 %s\",\n \"sch_desc_validFrom\": \"\u0432\u0456\u0434 %s\",\n \"sch_desc_validFromTo\": \"\u0412\u0438\u043A\u043E\u043D\u0430\u0442\u0438 \u0432\u0456\u0434 \u0434\u043E\",\n \"sch_desc_validTo\": \"\u0434\u043E %s\",\n \"sch_every\": \"\u043A\u043E\u0436\u0435\u043D\",\n \"sch_exactTime\": \"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0438\u0439 \u0447\u0430\u0441\",\n \"sch_from\": \"\u0432\u0456\u0434\",\n \"sch_fromTo\": \"\u0412\u0456\u0434 \u0434\u043E\",\n \"sch_intervalTime\": \"\u0427\u0430\u0441 \u0456\u043D\u0442\u0435\u0440\u0432\u0430\u043B\u0443\",\n \"sch_invert\": \"\u0456\u043D\u0432\u0435\u0440\u0442\u0443\u0432\u0430\u0442\u0438\",\n \"sch_no_one\": \"\u043D\u0435\u043C\u0430\u0454\",\n \"sch_on\": \"\u043D\u0430\",\n \"sch_period\": \"\u041A\u0440\u0430\u043F\u043A\u0430\",\n \"sch_periodDaily\": \"\u0429\u043E\u0434\u043D\u044F\",\n \"sch_periodDates\": \"\u0434\u0430\u0442\u0438\",\n \"sch_periodDay\": \"\u0414\u0435\u043D\u044C\",\n \"sch_periodEvery\": \"\u043A\u043E\u0436\u0435\u043D\",\n \"sch_periodEveryDay\": \"\u041A\u043E\u0436\u0435\u043D \u0434\u0435\u043D\u044C\",\n \"sch_periodEveryMonth\": \"\u0429\u043E\u043C\u0456\u0441\u044F\u0446\u044F\",\n \"sch_periodEveryWeek\": \"\u0429\u043E\u0442\u0438\u0436\u043D\u044F\",\n \"sch_periodEveryYear\": \"\u0429\u043E\u0440\u043E\u043A\u0443\",\n \"sch_periodHours\": \"\u0433\u043E\u0434\u0438\u043D\u0438\",\n \"sch_periodMinutes\": \"\u0445\u0432\u0438\u043B\u0438\u043D\",\n \"sch_periodMonth\": \"\u043C\u0456\u0441\u044F\u0446\u044C\",\n \"sch_periodMonthly\": \"\u0429\u043E\u043C\u0456\u0441\u044F\u0446\u044F\",\n \"sch_periodOnce\": \"\u041E\u0434\u0438\u043D \u0440\u0430\u0437\",\n \"sch_periodSpecificMonths\": \"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u043C\u0456\u0441\u044F\u0446\u0456\",\n \"sch_periodWeek\": \"\u0442\u0438\u0436\u0434\u0435\u043D\u044C\",\n \"sch_periodWeekdays\": \"\u0431\u0443\u0434\u043D\u0456\",\n \"sch_periodWeekend\": \"\u0412\u0438\u0445\u0456\u0434\u043D\u0456\",\n \"sch_periodWeekly\": \"\u0429\u043E\u0442\u0438\u0436\u043D\u044F\",\n \"sch_periodWorkdays\": \"\u0440\u043E\u0431\u043E\u0447\u0456 \u0434\u043D\u0456\",\n \"sch_periodYear\": \"\u0440\u0456\u043A\",\n \"sch_periodYearly\": \"\u0449\u043E\u0440\u0456\u0447\u043D\u043E\",\n \"sch_specificTime\": \"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0438\u0439 \u0447\u0430\u0441\",\n \"sch_time\": \"\u0447\u0430\u0441\",\n \"sch_to\": \"\u0434\u043E\",\n \"sch_valid\": \"\u0414\u0456\u0439\u0441\u043D\u0438\u0439\",\n \"sch_validFrom\": \"\u0432\u0456\u0434\",\n \"sch_validTo\": \"\u0434\u043E\",\n \"sch_wholeDay\": \"\u0426\u0456\u043B\u0438\u0439 \u0434\u0435\u043D\u044C\",\n \"sch_yearEveryMonth\": \"\u0449\u043E\u043C\u0456\u0441\u044F\u0446\u044F\"\n}\n", "{\n \"ra_%s links from aliases\": \"\u6765\u81EA\u522B\u540D\u7684 %s \u4E2A\u94FE\u63A5\",\n \"ra_%s object(s) processed\": \"\u5DF2\u5904\u7406%s\u4E2A\u5BF9\u8C61\",\n \"ra_%s was imported\": \"\u5BF9\u8C61\u5DF2\u5BFC\u5165\",\n \"ra_Accept license\": \"\u63A5\u53D7\u8BB8\u53EF\",\n \"ra_Add new child object to selected parent\": \"\u5C06\u65B0\u7684\u5B50\u5BF9\u8C61\u6DFB\u52A0\u5230\u9009\u5B9A\u7684\u7236\u5BF9\u8C61\",\n \"ra_Add objects tree from JSON file\": \"\u4ECEJSON\u6587\u4EF6\u6DFB\u52A0\u5BF9\u8C61\u6811\",\n \"ra_Add row\": \"\u6DFB\u52A0\u884C\",\n \"ra_Advanced options\": \"\u9AD8\u7EA7\u9009\u9879\",\n \"ra_All items are filtered out\": \"\u6240\u6709\u9879\u76EE\u90FD\u88AB\u8FC7\u6EE4\u6389\",\n \"ra_All objects\": \"\u6240\u6709\u5BF9\u8C61\",\n \"ra_Append\": \"\u9644\u52A0\",\n \"ra_Append %s entries or replace existing?\": \"\u8FFD\u52A0 %s \u6761\u76EE\u8FD8\u662F\u66FF\u6362\u73B0\u6709\u6761\u76EE\uFF1F\",\n \"ra_Append or replace?\": \"\u8FFD\u52A0\u8FD8\u662F\u66FF\u6362\uFF1F\",\n \"ra_Are you sure?\": \"\u4F60\u786E\u5B9A\u5417\uFF1F\",\n \"ra_Auto (no custom columns)\": \"\u81EA\u52A8\uFF08\u65E0\u81EA\u5B9A\u4E49\u5217\uFF09\",\n \"ra_Back to %s\": \"\u8FD4\u56DE\u201C%s\u201D\",\n \"ra_Background image\": \"\u80CC\u666F\u56FE\u50CF\",\n \"ra_Cancel\": \"\u53D6\u6D88\",\n \"ra_Cannot add items with set filter\": \"\u65E0\u6CD5\u4F7F\u7528\u8BBE\u7F6E\u8FC7\u6EE4\u5668\u6DFB\u52A0\u9879\u76EE\",\n \"ra_Cannot decode license\": \"\u65E0\u6CD5\u89E3\u7801\u8BB8\u53EF\u8BC1\",\n \"ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser\": \"\u65E0\u6CD5\u786E\u5B9A\u4F4D\u7F6E\uFF1A\u7CFB\u7EDF\u8BBE\u7F6E\u4E3A\u7A7A\u4E14\u6D4F\u89C8\u5668\u4E2D\u7981\u7528\u4E86 GPS \u68C0\u6D4B\",\n \"ra_Cannot find \\\"%s\\\"\": \"\u627E\u4E0D\u5230\u201C%s\u201D\",\n \"ra_Cannot read \\\"%s\\\"\": \"\u65E0\u6CD5\u9605\u8BFB\u201C%s\u201D\",\n \"ra_Cannot read licenses: %s\": \"\u65E0\u6CD5\u8BFB\u53D6\u8BB8\u53EF\u8BC1\uFF1A%s\",\n \"ra_Cannot retrieve options, as instance is offline\": \"\u65E0\u6CD5\u68C0\u7D22\u9009\u9879\uFF0C\u56E0\u4E3A\u5B9E\u4F8B\u5904\u4E8E\u8131\u673A\u72B6\u6001\",\n \"ra_Cannot update attribute, because not found in the object\": \"\u65E0\u6CD5\u66F4\u65B0\u5C5E\u6027\uFF0C\u56E0\u4E3A\u5728\u5BF9\u8C61\u4E2D\u627E\u4E0D\u5230\",\n \"ra_Cannot upload\": \"\u65E0\u6CD5\u4E0A\u4F20\",\n \"ra_Categories\": \"\u7C7B\u522B\",\n \"ra_Chained certificate\": \"\u94FE\u5F0F\u8BC1\u4E66\",\n \"ra_Change color theme\": \"\u66F4\u6539\u989C\u8272\u4E3B\u9898\",\n \"ra_Changed from\": \"\u66F4\u6539\u4E3A\",\n \"ra_Channel \u2192 State\": \"\u9891\u9053\u2192\u72B6\u6001\",\n \"ra_Check license\": \"\u68C0\u67E5\u8BB8\u53EF\u8BC1\",\n \"ra_Checked\": \"\u52FE\u9009\",\n \"ra_Clear\": \"\u5220\u9664\",\n \"ra_Clear filter\": \"\u6E05\u9664\u7B5B\u9009\",\n \"ra_Clear icon\": \"\u6E05\u9664\u56FE\u6807\",\n \"ra_Clone current row\": \"\u514B\u9686\u5F53\u524D\u884C\",\n \"ra_Close\": \"\u5173\",\n \"ra_Collapse all nodes\": \"\u6536\u5408\u6240\u6709\u8282\u70B9\",\n \"ra_Collapse one step node\": \"\u6298\u53E0\u4E00\u7EA7\",\n \"ra_Commercial\": \"\u5546\u4E1A\u7684\",\n \"ra_Configure\": \"\u914D\u7F6E\",\n \"ra_Configure visible columns\": \"\u914D\u7F6E\u53EF\u89C1\u5217\",\n \"ra_Confirm deletion of %s\": \"\u786E\u8BA4\u5220\u9664%s\",\n \"ra_Connected\": \"\u8FDE\u63A5\u7684\",\n \"ra_Copied\": \"\u590D\u5236\u7684\",\n \"ra_Copied %s\": \"\u590D\u5236\u7684\\\"%s\\\"\",\n \"ra_Copy content\": \"\u590D\u5236\u5185\u5BB9\",\n \"ra_Create\": \"\u521B\u5EFA\",\n \"ra_Create alias\": \"\u521B\u5EFA\u522B\u540D\",\n \"ra_Create folder\": \"\u521B\u5EFA\u6587\u4EF6\u5939\",\n \"ra_Create new folder in %s\": \"\u5728%s\u4E2D\u521B\u5EFA\u65B0\u6587\u4EF6\u5939\",\n \"ra_Crop\": \"\u5E84\u7A3C\",\n \"ra_Define CRON...\": \"\u5B9A\u4E49 CRON...\",\n \"ra_Define functions\": \"\u5B9A\u4E49\u529F\u80FD\",\n \"ra_Define rooms\": \"\u5B9A\u4E49\u623F\u95F4\",\n \"ra_Define schedule\": \"\u5B9A\u4E49\u65F6\u95F4\u8868\",\n \"ra_Define schedule...\": \"\u5B9A\u4E49\u65F6\u95F4\u8868...\",\n \"ra_Del\": \"Delete\",\n \"ra_Delete\": \"\u5220\u9664\",\n \"ra_Delete (no confirm for 5 mins)\": \"\u5220\u9664\uFF085\u5206\u949F\u5185\u672A\u786E\u8BA4\uFF09\",\n \"ra_Delete current row\": \"\u5220\u9664\u5F53\u524D\u884C\",\n \"ra_Deselect all\": \"\u5168\u90E8\u53D6\u6D88\u9009\u62E9\",\n \"ra_Device \u2192 Channel \u2192 State\": \"\u8BBE\u5907\u2192\u9891\u9053\u2192\u72B6\u6001\",\n \"ra_Discard\": \"\u4E22\u5F03\",\n \"ra_Disconnected\": \"\u65AD\u5F00\u8FDE\u63A5\",\n \"ra_Do not export values of states\": \"\u4E0D\u5BFC\u51FA\u72B6\u6001\u503C\",\n \"ra_Do not use let's encrypt\": \"\u4E0D\u8981\u4F7F\u7528\u8BA9\u6211\u4EEC\u52A0\u5BC6\",\n \"ra_Double click to reset table layout\": \"\u53CC\u51FB\u91CD\u7F6E\u8868\u683C\u5E03\u5C40\",\n \"ra_Drag 'n' drop some files here, or click to select files\": \"\u5C06\u4E00\u4E9B\u6587\u4EF6\u62D6\u653E\u5230\u6B64\u5904\uFF0C\u6216\u5355\u51FB\u4EE5\u9009\u62E9\u6587\u4EF6\",\n \"ra_Drop file here\": \"\u5C06\u6863\u6848\u653E\u5728\u8FD9\u91CC\",\n \"ra_Drop the files here...\": \"\u628A\u6587\u4EF6\u653E\u5728\u8FD9\u91CC...\",\n \"ra_Duplicate name\": \"\u540D\u79F0\u91CD\u590D\",\n \"ra_Edit ACL\": \"\u7F16\u8F91\u8BBF\u95EE\u63A7\u5236\u5217\u8868\",\n \"ra_Edit alias\": \"\u7F16\u8F91\u522B\u540D\",\n \"ra_Edit custom config\": \"\u7F16\u8F91\u81EA\u5B9A\u4E49\u914D\u7F6E\",\n \"ra_Edit function\": \"\u7F16\u8F91\u529F\u80FD\",\n \"ra_Edit object field\": \"\u7F16\u8F91\u5BF9\u8C61\u5B57\u6BB5\",\n \"ra_Edit role\": \"\u7F16\u8F91\u89D2\u8272\",\n \"ra_Edit room\": \"\u7F16\u8F91\u5BA4\",\n \"ra_Edit value\": \"\u7F16\u8F91\u503C\",\n \"ra_Error\": \"\u9519\u8BEF\",\n \"ra_Expand all nodes\": \"\u5C55\u5F00\u6240\u6709\u8282\u70B9\",\n \"ra_Expand one step node\": \"\u6269\u5927\u4E00\u7EA7\",\n \"ra_Export data to %s file\": \"\u5C06\u6570\u636E\u5BFC\u51FA\u5230 %s \u6587\u4EF6\",\n \"ra_Failed to open JSON File\": \"\u65E0\u6CD5\u6253\u5F00JSON\u6587\u4EF6\",\n \"ra_Fallback custom certificates\": \"\u540E\u5907\u81EA\u5B9A\u4E49\u8BC1\u4E66\",\n \"ra_File is too big. Max %sk allowed. Try use SVG.\": \"\u6587\u4EF6\u592A\u5927\u3002\u5141\u8BB8\u7684\u6700\u5927\u5B57\u8282%s\u6570\u3002\u5C1D\u8BD5\u4F7F\u7528 SVG\u3002\",\n \"ra_Filter\": \"\u7B5B\u9009\",\n \"ra_Filter files\": \"\u8FC7\u6EE4\u6587\u4EF6\",\n \"ra_Folder name\": \"\u6587\u4EF6\u5939\u540D\u79F0\",\n \"ra_Folder \u2192 Channel \u2192 State\": \"\u6587\u4EF6\u5939\u2192\u9891\u9053\u2192\u72B6\u6001\",\n \"ra_Folder \u2192 Device \u2192 Channel \u2192 State\": \"\u6587\u4EF6\u5939\u2192\u8BBE\u5907\u2192\u9891\u9053\u2192\u72B6\u6001\",\n \"ra_Folder \u2192 State\": \"\u6587\u4EF6\u5939\u2192\u72B6\u6001\",\n \"ra_Folders always first\": \"\u8D44\u6599\u5939\u6C38\u8FDC\u4F18\u5148\",\n \"ra_Friday\": \"\u661F\u671F\u4E94\",\n \"ra_Good luck\": \"\u795D\u4F60\u597D\u8FD0\",\n \"ra_Hide empty folders\": \"\u9690\u85CF\u7A7A\u6587\u4EF6\u5939\",\n \"ra_If no file will be created in the folder, it will disappear after the browser closed\": \"\u5982\u679C\u5728\u8BE5\u6587\u4EF6\u5939\u4E2D\u672A\u521B\u5EFA\u4EFB\u4F55\u6587\u4EF6\uFF0C\u5219\u8BE5\u6587\u4EF6\u5C06\u5728\u6D4F\u89C8\u5668\u5173\u95ED\u540E\u6D88\u5931\",\n \"ra_Import data from %s file\": \"\u4ECE %s \u6587\u4EF6\u5BFC\u5165\u6570\u636E\",\n \"ra_Import from %s\": \"\u4ECE %s \u5BFC\u5165\",\n \"ra_Instance %s is alive\": \"\u5B9E\u4F8B %s \u662F\u6D3B\u52A8\u7684\",\n \"ra_Instance %s is not alive\": \"\u5B9E\u4F8B %s \u4E0D\u5B58\u5728\",\n \"ra_Instance is not alive\": \"\u5B9E\u4F8B\u4E0D\u5B58\u5728\",\n \"ra_Invalid CRON\": \"\u65E0\u6548\u7684 CRON\",\n \"ra_Invalid JSON\": \"JSON \u65E0\u6548\",\n \"ra_Invalid answer from server\": \"\u6765\u81EA\u670D\u52A1\u5668\u7684\u65E0\u6548\u7B54\u6848\",\n \"ra_Invalid parent folder!\": \"\u7236\u6587\u4EF6\u5939\u65E0\u6548\uFF01\",\n \"ra_Invalid structure\": \"\u7ED3\u6784\u65E0\u6548\",\n \"ra_JSON editor\": \"JSON \u7F16\u8F91\u5668\",\n \"ra_Last change\": \"\u6700\u540E\u4E00\u6B21\u53D8\u66F4\",\n \"ra_Latitude\": \"\u7EAC\u5EA6\",\n \"ra_License %s\": \"\u8BB8\u53EF\u8BC1 %s\",\n \"ra_License agreement\": \"\u8BB8\u53EF\u534F\u8BAE\",\n \"ra_License does not exist\": \"\u8BB8\u53EF\u8BC1\u4E0D\u5B58\u5728\",\n \"ra_License expired on %s\": \"\u8BB8\u53EF\u8BC1\u5DF2\u4E8E %s \u8FC7\u671F\",\n \"ra_License for other product \\\"%s\\\"\": \"\u5176\u4ED6\u4EA7\u54C1\u201C%s\u201D\u7684\u8BB8\u53EF\u8BC1\",\n \"ra_License is for version %s, but required version is %s.\": \"\u8BB8\u53EF\u8BC1\u9002\u7528\u4E8E\u7248\u672C %s\uFF0C\u4F46\u6240\u9700\u7248\u672C\u4E3A %s\u3002\",\n \"ra_License must be converted\": \"\u8BB8\u53EF\u8BC1\u5FC5\u987B\u8F6C\u6362\u4E3A\u66F4\u65B0\u7248\u672C\u3002\u60A8\u53EF\u4EE5\u5728 iobroker.net \u4E2A\u4EBA\u8D44\u6599\u4E2D\u6267\u884C\u6B64\u64CD\u4F5C\u3002\",\n \"ra_License not found in license manager. Do you want to read licenses from iobroker.net?\": \"\u5728\u8BB8\u53EF\u8BC1\u7BA1\u7406\u5668\u4E2D\u627E\u4E0D\u5230\u8BB8\u53EF\u8BC1\u3002\u60A8\u8981\u4ECE iobroker.net \u66F4\u65B0\u8BB8\u53EF\u8BC1\u5417\uFF1F\",\n \"ra_Listen on all IPs\": \"\u76D1\u542C\u6240\u6709IP\",\n \"ra_Load configuration from file\": \"\u4ECE\u6587\u4EF6\u52A0\u8F7D\u914D\u7F6E\",\n \"ra_Longitude\": \"\u7ECF\u5EA6\",\n \"ra_May not trigger \\\"updateLicenses\\\"\": \"\u53EF\u80FD\u4E0D\u4F1A\u89E6\u53D1\u201CupdateLicenses\u201D\",\n \"ra_Message\": \"\u4FE1\u606F\",\n \"ra_Monday\": \"\u5468\u4E00\",\n \"ra_Move down\": \"\u4E0B\u79FB\",\n \"ra_Move up\": \"\u63D0\u5347\",\n \"ra_Name\": \"\u59D3\u540D\",\n \"ra_No data found in file\": \"\u6587\u4EF6\u4E2D\u672A\u627E\u5230\u6570\u636E\",\n \"ra_No one license found in license manager\": \"\u8BB8\u53EF\u8BC1\u7BA1\u7406\u5668\u4E2D\u672A\u627E\u5230\u4EFB\u4F55\u8BB8\u53EF\u8BC1\",\n \"ra_No response from the backend\": \"\u540E\u7AEF\u65E0\u54CD\u5E94\",\n \"ra_Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\": \"\u975E\u4E13\u5BB6\u53EA\u80FD\u5728\u201C 0_userdata.0\u201D\u6216\u201C alias.0\u201D\u4E2D\u521B\u5EFA\u65B0\u5BF9\u8C61\u3002\",\n \"ra_Not a number\": \"\u4E0D\u662F\u6570\u5B57\",\n \"ra_Objects\": \"\u5BF9\u8C61\",\n \"ra_Ok\": \"\u597D\",\n \"ra_On weekdays\": \"\u5728\u5DE5\u4F5C\u65E5\",\n \"ra_Only following structures of objects are available:\": \"\u4EC5\u4EE5\u4E0B\u5BF9\u8C61\u7ED3\u6784\u53EF\u7528\uFF1A\",\n \"ra_Only selected\": \"\u53EA\u9009\u62E9\",\n \"ra_Owner group\": \"\u6240\u6709\u8005\u7EC4\",\n \"ra_Owner user\": \"\u6240\u6709\u8005\u7528\u6237\",\n \"ra_Passwords are not equal!\": \"\u5BC6\u7801\u4E0D\u76F8\u7B49\uFF01\",\n \"ra_Place your files here or click here to open the browse dialog\": \"\u5C06\u6587\u4EF6\u653E\u5728\u6B64\u5904\u6216\u5355\u51FB\u6B64\u5904\u6253\u5F00\u6D4F\u89C8\u5BF9\u8BDD\u6846\",\n \"ra_Please confirm\": \"\u8BF7\u786E\u8BA4\",\n \"ra_Please create license\": \"\u8BF7\u521B\u5EFA\u8BB8\u53EF\u8BC1\",\n \"ra_Please enter the license\": \"\u8BF7\u8F93\u5165\u8BB8\u53EF\u8BC1\",\n \"ra_Please select file...\": \"\u8BF7\u9009\u62E9\u6587\u4EF6...\",\n \"ra_Please select object ID...\": \"\u8BF7\u9009\u62E9\u5BF9\u8C61ID ...\",\n \"ra_Port could be used by %s\": \"%s \u53EF\u4EE5\u4F7F\u7528\u7AEF\u53E3\",\n \"ra_Port is already used by %s\": \"\u7AEF\u53E3\u5DF2\u88AB %s \u4F7F\u7528\",\n \"ra_Private certificate\": \"\u79C1\u6709\u8BC1\u4E66\",\n \"ra_Product\": \"\u4EA7\u54C1\",\n \"ra_Public certificate\": \"\u516C\u5171\u8BC1\u4E66\",\n \"ra_Quality code\": \"\u8D28\u91CF\u4EE3\u7801\",\n \"ra_Refresh tree\": \"\u5237\u65B0\u6811\",\n \"ra_Reload files\": \"\u91CD\u65B0\u8F7D\u5165\u6587\u4EF6\",\n \"ra_Repeat\": \"\u91CD\u590D\",\n \"ra_Replace\": \"\u4EE3\u66FF\",\n \"ra_Request timed out\": \"\u8BF7\u6C42\u8D85\u65F6\",\n \"ra_Restrict to folder\": \"\u9650\u5236\u5230\u6587\u4EF6\u5939\",\n \"ra_Root\": \"\u6839\",\n \"ra_Saturday\": \"\u5468\u516D\",\n \"ra_Save\": \"\u4FDD\u5B58\",\n \"ra_Save and close\": \"\u4FDD\u5B58\u5E76\u5173\u95ED\",\n \"ra_Save configuration to file\": \"\u5C06\u914D\u7F6E\u4FDD\u5B58\u5230\u6587\u4EF6\",\n \"ra_Save objects tree as JSON file\": \"\u5C06\u5BF9\u8C61\u6811\u53E6\u5B58\u4E3AJSON\u6587\u4EF6\",\n \"ra_Select all\": \"\u5168\u9009\",\n \"ra_Select color\": \"\u9009\u62E9\u989C\u8272\",\n \"ra_Select predefined icon\": \"\u9009\u62E9\u9884\u5B9A\u4E49\u56FE\u6807\",\n \"ra_Select type of export\": \"\u9009\u62E9\u5BFC\u51FA\u7C7B\u578B\",\n \"ra_Selected\": \"\u5DF2\u9009\",\n \"ra_Selected %s object(s)\": \"\u9009\u5B9A\u7684 %s \u4E2A\u5BF9\u8C61\",\n \"ra_Serial number (UUID)\": \"\u5E8F\u5217\u53F7 (UUID)\",\n \"ra_Serial number (UUID) \\\"%s\\\" in license is for other device.\": \"\u8BB8\u53EF\u8BC1\u4E2D\u7684\u5E8F\u5217\u53F7 (UUID)\u201C%s\u201D\u7528\u4E8E\u5176\u4ED6\u8BBE\u5907\u3002\",\n \"ra_Show all folders\": \"\u663E\u793A\u6240\u6709\u6587\u4EF6\u5939\",\n \"ra_Show lines between rows\": \"\u663E\u793A\u884C\u4E4B\u95F4\u7684\u7EBF\",\n \"ra_Show/Hide object descriptions\": \"\u663E\u793A/\u9690\u85CF\u5BF9\u8C61\u63CF\u8FF0\",\n \"ra_Show/hide filter input\": \"\u663E\u793A/\u9690\u85CF\u8FC7\u6EE4\u5668\u8F93\u5165\",\n \"ra_Some data are not stored. Discard?\": \"\u90E8\u5206\u6570\u636E\u672A\u5B58\u50A8\u3002\u4E22\u5F03\uFF1F\",\n \"ra_States\": \"\u72B6\u6001\",\n \"ra_Suitable license not found in license manager\": \"\u5728\u8BB8\u53EF\u8BC1\u7BA1\u7406\u5668\u4E2D\u627E\u4E0D\u5230\u5408\u9002\u7684\u8BB8\u53EF\u8BC1\",\n \"ra_Sunday\": \"\u661F\u671F\u65E5\",\n \"ra_Suppress question for next %s minutes\": \"\u5728\u63A5\u4E0B\u6765\u7684%s\u5206\u949F\u5185\u53D6\u6D88\u63D0\u95EE\",\n \"ra_System language\": \"\u7CFB\u7EDF\u8BED\u8A00\",\n \"ra_Take browser position\": \"\u4ECE\u6D4F\u89C8\u5668\u83B7\u53D6\u4F4D\u7F6E\",\n \"ra_Take position from system settings\": \"\u4ECE\u7CFB\u7EDF\u8BBE\u7F6E\u4E2D\u83B7\u53D6\u4F4D\u7F6E\",\n \"ra_The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\": \"\u4E13\u5BB6\u53EF\u4EE5\u5728\u4EFB\u4F55\u5730\u65B9\u521B\u5EFA\u5BF9\u8C61\uFF0C\u4F46\u8981\u4ECE\u7B2C\u4E8C\u5C42\u5F00\u59CB\uFF08\u4F8B\u5982\u201C vis.0\u201D\u6216\u201C javascript.0\u201D\uFF09\u3002\",\n \"ra_The page you are looking for was not found\": \"\u672A\u627E\u5230\u60A8\u8981\u67E5\u627E\u7684\u9875\u9762\",\n \"ra_The schedule will be executed every minute. Are you sure?\": \"\u8BE5\u8BA1\u5212\u5C06\u6BCF\u5206\u949F\u6267\u884C\u4E00\u6B21\u3002\u60A8\u786E\u5B9A\u5417\uFF1F\",\n \"ra_The schedule will be executed every second. Are you sure?\": \"\u8BE5\u8BA1\u5212\u5C06\u6BCF\u79D2\u6267\u884C\u4E00\u6B21\u3002\u4F60\u786E\u5B9A\u5417\uFF1F\",\n \"ra_Thursday\": \"\u5468\u56DB\",\n \"ra_Timestamp\": \"\u65F6\u95F4\u6233\u8BB0\",\n \"ra_Toggle expert mode\": \"\u5207\u6362\u4E13\u5BB6\u6A21\u5F0F\",\n \"ra_Toggle the states view\": \"\u5207\u6362\u72B6\u6001\u89C6\u56FE\",\n \"ra_Toggle view mode\": \"\u5207\u6362\u68C0\u89C6\u6A21\u5F0F\",\n \"ra_Too big\": \"\u592A\u5927\",\n \"ra_Too small\": \"\u592A\u5C0F\",\n \"ra_Transparent dialog\": \"\u900F\u660E\u5BF9\u8BDD\u6846\",\n \"ra_Tuesday\": \"\u5468\u4E8C\",\n \"ra_Unknown error\": \"\u672A\u77E5\u9519\u8BEF\",\n \"ra_Unknown error!\": \"\u672A\u77E5\u9519\u8BEF\uFF01\",\n \"ra_Update\": \"\u66F4\u65B0\u8D44\u6599\",\n \"ra_Upload file\": \"\u4E0A\u4F20\u6587\u4EF6\",\n \"ra_Use all available let's encrypt certificates\": \"\u4F7F\u7528\u6240\u6709\u53EF\u7528\u7684\u8BA9\u6211\u4EEC\u52A0\u5BC6\u8BC1\u4E66\",\n \"ra_Use iobroker.acme adapter for letsencrypt certificates\": \"\u4F7F\u7528 iobroker.acme \u9002\u914D\u5668\u83B7\u53D6 letsencrypt \u8BC1\u4E66\",\n \"ra_Use system settings for position\": \"\u4F7F\u7528\u7CFB\u7EDF\u8BBE\u7F6E\u5B9A\u4F4D\",\n \"ra_Used system settings\": \"\u4F7F\u7528\u7684\u7CFB\u7EDF\u8BBE\u7F6E\",\n \"ra_User files\": \"\u7528\u6237\u6863\u6848\",\n \"ra_ValidTill\": \"\u6709\u6548\u671F\u81F3\",\n \"ra_Value\": \"\u503C\",\n \"ra_Version\": \"\u7248\u672C\",\n \"ra_View file\": \"\u67E5\u770B\u6587\u4EF6\",\n \"ra_View: %s\": \"\u67E5\u770B\uFF1A%s\",\n \"ra_Wednesday\": \"\u5468\u4E09\",\n \"ra_Width\": \"\u5BBD\u5EA6\",\n \"ra_Yes\": \"\u662F\u7684\",\n \"ra_You can export all objects or just the selected branch.\": \"\u60A8\u53EF\u4EE5\u5BFC\u51FA\u6240\u6709\u5BF9\u8C61\u6216\u4EC5\u5BFC\u51FA\u9009\u5B9A\u7684\u5206\u652F\u3002\",\n \"ra_You can filter entries by entering here some text\": \"\u60A8\u53EF\u4EE5\u901A\u8FC7\u5728\u6B64\u5904\u8F93\u5165\u4E00\u4E9B\u6587\u672C\u6765\u8FC7\u6EE4\u6761\u76EE\",\n \"ra___different__\": \"\u4E0D\u540C\u7684\",\n \"ra_aclEveryone_read_object\": \"\u6BCF\u4E2A\u4EBA\u90FD\u53EF\u4EE5\u9605\u8BFB\u5BF9\u8C61\",\n \"ra_aclEveryone_read_state\": \"\u6BCF\u4E2A\u4EBA\u90FD\u53EF\u4EE5\u9605\u8BFB\u72B6\u6001\",\n \"ra_aclEveryone_write_object\": \"\u6BCF\u4E2A\u4EBA\u90FD\u53EF\u4EE5\u5199\u5BF9\u8C61\",\n \"ra_aclEveryone_write_state\": \"\u6BCF\u4E2A\u4EBA\u90FD\u53EF\u4EE5\u5199\u72B6\u6001\",\n \"ra_aclGroup_read_object\": \"\u7EC4\u53EF\u4EE5\u8BFB\u53D6\u5BF9\u8C61\",\n \"ra_aclGroup_read_state\": \"\u7FA4\u7EC4\u53EF\u4EE5\u8BFB\u53D6\u72B6\u6001\",\n \"ra_aclGroup_write_object\": \"\u7EC4\u53EF\u4EE5\u5199\u5BF9\u8C61\",\n \"ra_aclGroup_write_state\": \"\u7EC4\u53EF\u4EE5\u5199\u72B6\u6001\",\n \"ra_aclOwner_read_object\": \"\u6240\u6709\u8005\u53EF\u4EE5\u8BFB\u53D6\u5BF9\u8C61\",\n \"ra_aclOwner_read_state\": \"\u6240\u6709\u8005\u53EF\u4EE5\u8BFB\u53D6\u72B6\u6001\",\n \"ra_aclOwner_write_object\": \"\u6240\u6709\u8005\u53EF\u4EE5\u5199\u5BF9\u8C61\",\n \"ra_aclOwner_write_state\": \"\u6240\u6709\u8005\u53EF\u4EE5\u5199\u72B6\u6001\",\n \"ra_buttons\": \"\u7EBD\u6263\",\n \"ra_changedFrom\": \"\u66F4\u6539\u4E3A\",\n \"ra_close\": \"\u5173\u95ED\",\n \"ra_create_boolean_state\": \"\u521B\u5EFA\u5E03\u5C14\u72B6\u6001\",\n \"ra_create_channel\": \"\u521B\u5EFA\u9891\u9053\",\n \"ra_create_device\": \"\u521B\u5EFA\u8BBE\u5907\",\n \"ra_create_number_state\": \"\u521B\u5EFA\u53F7\u7801\u72B6\u6001\",\n \"ra_create_state\": \"\u521B\u5EFA\u72B6\u6001\",\n \"ra_create_string_state\": \"\u521B\u5EFA\u5B57\u7B26\u4E32\u72B6\u6001\",\n \"ra_daysShortText\": \"\u5929\",\n \"ra_dow_Fr\": \"r\",\n \"ra_dow_Mo\": \"\u83AB\",\n \"ra_dow_Sa\": \"\u8428\",\n \"ra_dow_Su\": \"\u82CF\",\n \"ra_dow_Th\": \"Th\",\n \"ra_dow_Tu\": \"Tu\",\n \"ra_dow_We\": \"\u6211\u4EEC\",\n \"ra_expertMode\": \"\u4E13\u5BB6\u6A21\u5F0F\",\n \"ra_fileType_all\": \"\u6240\u6709\u6587\u4EF6\",\n \"ra_fileType_audio\": \"\u58F0\u97F3\u7684\",\n \"ra_fileType_code\": \"\u4EE3\u7801/JSON\",\n \"ra_fileType_images\": \"\u56FE\u7247\",\n \"ra_fileType_txt\": \"\u6587\u672C\",\n \"ra_fileType_video\": \"\u89C6\u9891\",\n \"ra_fileType_video,\": \"\u89C6\u9891\",\n \"ra_filter_customs\": \"\u8BBE\u5B9A\u503C\",\n \"ra_filter_customs_without\": \"\u6CA1\u6709\",\n \"ra_filter_func\": \"\u529F\u80FD\",\n \"ra_filter_id\": \"ID\",\n \"ra_filter_name\": \"\u540D\u79F0\",\n \"ra_filter_role\": \"\u89D2\u8272\",\n \"ra_filter_room\": \"\u623F\u95F4\",\n \"ra_filter_type\": \"\u7C7B\u578B\",\n \"ra_import data from %s file\": \"\u4ECE %s \u6587\u4EF6\u5BFC\u5165\u6570\u636E\",\n \"ra_invalidConfig\": \"\u65E0\u6548\u7684\u8BBE\u5B9A\",\n \"ra_lastChange\": \"\u6700\u540E\u4E00\u6B21\u53D8\u66F4\",\n \"ra_locally\": \"\u672C\u5730\",\n \"ra_month_Apr\": \"4\u6708\",\n \"ra_month_Aug\": \"\u516B\u6708\",\n \"ra_month_Dec\": \"\u5341\u4E8C\u6708\",\n \"ra_month_Feb\": \"\u4E8C\u6708\",\n \"ra_month_Jan\": \"\u7B80\",\n \"ra_month_Jul\": \"\u4E03\u6708\",\n \"ra_month_Jun\": \"\u541B\",\n \"ra_month_Mai\": \"\u8FC8\",\n \"ra_month_Mar\": \"\u4E09\u6708\",\n \"ra_month_Nov\": \"\u5341\u4E00\u6708\",\n \"ra_month_Oct\": \"\u5341\u6708\",\n \"ra_month_Sep\": \"\u4E5D\u6708\",\n \"ra_months_Apr\": \"4\u6708\",\n \"ra_months_Aug\": \"\u516B\u6708\",\n \"ra_months_Dec\": \"\u5341\u4E8C\u6708\",\n \"ra_months_Feb\": \"\u4E8C\u6708\",\n \"ra_months_Jan\": \"\u7B80\",\n \"ra_months_Jul\": \"\u4E03\u6708\",\n \"ra_months_Jun\": \"\u541B\",\n \"ra_months_Mai\": \"\u8FC8\",\n \"ra_months_Mar\": \"\u4E09\u6708\",\n \"ra_months_Nov\": \"\u5341\u4E00\u6708\",\n \"ra_months_Oct\": \"\u5341\u6708\",\n \"ra_months_Sep\": \"\u4E5D\u6708\",\n \"ra_none\": \"\u6CA1\u6709\u4EFB\u4F55\",\n \"ra_object_changed_by\": \"\u7269\u4EF6\u53D8\u66F4\u8005\",\n \"ra_object_changed_by_user\": \"\u5BF9\u8C61\u4E0A\u6B21\u66F4\u6539\u65F6\u95F4\u4E3A\",\n \"ra_otherConfig\": \"\u6765\u81EA\u5176\u4ED6\u9002\u914D\u5668%s\u7684\u8BBE\u7F6E\",\n \"ra_qualityCode\": \"\u8D28\u91CF\u4EE3\u7801\",\n \"ra_repeat\": \"\u91CD\u590D\",\n \"ra_select_folder_hint\": \"\u8981\u9009\u62E9\u6587\u4EF6\u5939\uFF0C\u53EA\u9700\u6309\u4F4F\u201Cshift\u201D\u952E\u5355\u51FB\u6587\u4EF6\u5939\u5373\u53EF\u3002\",\n \"ra_state_changed_by\": \"\u72B6\u6001\u7531\",\n \"ra_state_changed_from\": \"\u5BF9\u8C61\u5DF2\u4ECE\u66F4\u6539\",\n \"ra_timestamp\": \"\u65F6\u95F4\u6233\u8BB0\",\n \"ra_tooltip_ack\": \"\u81F4\u8C22\u56FD\u65D7\",\n \"ra_tooltip_comment\": \"\u8BC4\u8BBA\",\n \"ra_tooltip_copyState\": \"\u590D\u5236\u72B6\u6001\u503C\",\n \"ra_tooltip_customConfig\": \"\u81EA\u5B9A\u4E49\u8BBE\u7F6E\",\n \"ra_tooltip_deleteObject\": \"\u5220\u9664\u7269\u4EF6\",\n \"ra_tooltip_editObject\": \"\u7F16\u8F91\u7269\u4EF6\",\n \"ra_tooltip_editState\": \"\u7F16\u8F91\u72B6\u6001\u503C\",\n \"ra_tooltip_from\": \"\u4ECE\",\n \"ra_tooltip_lc\": \"\u6700\u540E\u6539\u53D8\u4E86\",\n \"ra_tooltip_quality\": \"\u8D28\u91CF\",\n \"ra_tooltip_ts\": \"\u65F6\u95F4\u6233\",\n \"ra_tooltip_user\": \"\u7528\u6237\",\n \"ra_tooltip_value\": \"\u503C\",\n \"ra_use seconds\": \"\u7528\u79D2\",\n \"ra_val\": \"\u503C\",\n \"ra_via internet\": \"\u901A\u8FC7\u4E92\u8054\u7F51\",\n \"ra_warning_every_minute\": \"\u8B66\u544A\uFF1ACRON \u4F5C\u4E1A\u5C06\u5728\u6307\u5B9A\u671F\u95F4\u5185\u6BCF\u5206\u949F\u8FD0\u884C\u4E00\u6B21\uFF01\",\n \"ra_warning_every_second\": \"\u8B66\u544A\uFF1ACRON \u4F5C\u4E1A\u5C06\u5728\u6307\u5B9A\u671F\u95F4\u5185\u6BCF\u79D2\u8FD0\u884C\u4E00\u6B21\uFF01\",\n \"sc_cron\": \"\u5468\u671F\u4EFB\u52A1\",\n \"sc_date\": \"\u65E5\u671F\",\n \"sc_dates\": \"\u65E5\",\n \"sc_dow\": \"\u5929\",\n \"sc_dows\": \"\u661F\u671F\",\n \"sc_every\": \"\u6BCF\",\n \"sc_everyN_dates\": \"\u6BCFN\u5929\",\n \"sc_everyN_dow\": \"\u6BCF\u5468\u7684\u7B2C N \u5929\",\n \"sc_everyN_dows\": \"\u6BCF\u5468N\u5929\",\n \"sc_everyN_hours\": \"\u6BCFN\u5C0F\u65F6\u4E00\u6B21\",\n \"sc_everyN_minutes\": \"\u6BCFN\u5206\u949F\",\n \"sc_everyN_months\": \"\u6BCFN\u4E2A\u6708\",\n \"sc_everyN_seconds\": \"\u6BCFN\u79D2\",\n \"sc_every_dates\": \"\u6BCF\u5929\",\n \"sc_every_dow\": \"\u4E00\u5468\u7684\u6BCF\u4E00\u5929\",\n \"sc_every_dows\": \"\u4E00\u5468\u7684\u6BCF\u4E00\u5929\",\n \"sc_every_hours\": \"\u6BCF\u5C0F\u65F6\",\n \"sc_every_minutes\": \"\u6BCF\u5206\u949F\",\n \"sc_every_months\": \"\u6BCF\u6708\",\n \"sc_every_seconds\": \"\u6BCF\u79D2\",\n \"sc_from\": \"\u4ECE\",\n \"sc_hours\": \"\u5C0F\u65F6\",\n \"sc_interval\": \"\u95F4\u9694\",\n \"sc_intervalBetween\": \"\u95F4\u9694\u65F6\u95F4\",\n \"sc_invalid_cron\": \"\u65E0\u6548\u7684 CRON\",\n \"sc_minutes\": \"\u5206\u949F\",\n \"sc_months\": \"\u6708\",\n \"sc_once\": \"\u4E00\u6B21\",\n \"sc_period\": \"\u5468\u671F\",\n \"sc_seconds\": \"\u79D2\",\n \"sc_simple\": \"\u7B80\u5355\u6A21\u5F0F\",\n \"sc_specific\": \"\u7279\u5B9A\u7684\u65F6\u95F4\",\n \"sc_specific_dates\": \"\u7279\u5B9A\u7684\u65E5\u5B50\",\n \"sc_specific_dow\": \"\u4E00\u5468\u4E2D\u7684\u7279\u5B9A\u65E5\u5B50\",\n \"sc_specific_dows\": \"\u7279\u5B9A\u7684\u4E00\u5468\",\n \"sc_specific_hours\": \"\u7279\u5B9A\u7684\u5C0F\u65F6\",\n \"sc_specific_minutes\": \"\u7279\u5B9A\u7684\u5206\u949F\",\n \"sc_specific_months\": \"\u7279\u5B9A\u7684\u6708\u4EFD\",\n \"sc_specific_seconds\": \"\u7279\u5B9A\u7684\u63CF\u8FF0\",\n \"sc_time\": \"\u65F6\u95F4\",\n \"sc_to\": \"\u81F3\",\n \"sc_wizard\": \"\u5411\u5BFC\u6A21\u5F0F\",\n \"sch_all\": \"\u5168\u9009\",\n \"sch_astroDay\": \"\u5929\u6587\u767D\u5929\",\n \"sch_astroNight\": \"\u5929\u6587\u591C\u665A\",\n \"sch_astro_dawn\": \"\u9ECE\u660E\",\n \"sch_astro_dusk\": \"\u9EC4\u660F\",\n \"sch_astro_goldenHour\": \"\u9EC4\u91D1\u65F6\u6BB5\",\n \"sch_astro_goldenHourEnd\": \"\u9EC4\u91D1\u65F6\u6BB5\u7ED3\u675F\",\n \"sch_astro_nadir\": \"\u5929\u5E95\",\n \"sch_astro_nauticalDawn\": \"\u822A\u6D77\u9ECE\u660E\",\n \"sch_astro_nauticalDusk\": \"\u822A\u6D77\u9EC4\u660F\",\n \"sch_astro_night\": \"\u591C\u665A\",\n \"sch_astro_nightEnd\": \"\u591C\u665A\u7ED3\u675F\",\n \"sch_astro_solarNoon\": \"\u6B63\u5348\",\n \"sch_astro_sunrise\": \"\u65E5\u51FA\",\n \"sch_astro_sunriseEnd\": \"\u65E5\u51FA\u7ED3\u675F\",\n \"sch_astro_sunset\": \"\u65E5\u843D\",\n \"sch_astro_sunsetStart\": \"\u65E5\u843D\u5F00\u59CB\",\n \"sch_at\": \"\u5728\",\n \"sch_desc_atTime\": \"\u7684%s\",\n \"sch_desc_everyDay\": \"\u6BCF\u5929\",\n \"sch_desc_everyHour\": \"\u6BCF\u5C0F\u65F6\",\n \"sch_desc_everyMinute\": \"\u6BCF\u5206\u949F\",\n \"sch_desc_everyMonth\": \"\u6BCF\u6708\",\n \"sch_desc_everyNDay\": \"\u6BCF%s\u5929\",\n \"sch_desc_everyNHours\": \"\u6BCF%s\u5C0F\u65F6\",\n \"sch_desc_everyNMinutes\": \"\u6BCF%s\u5206\u949F\",\n \"sch_desc_everyNMonths\": \"\u6BCF%s\u6708\",\n \"sch_desc_everyNWeeks\": \"\u6BCF%s\u5468\",\n \"sch_desc_everyNYears\": \"\u6BCF%s\u5E74\",\n \"sch_desc_everyWeek\": \"\u6BCF\u5468\",\n \"sch_desc_everyYear\": \"\u6BCF\u5E74\",\n \"sch_desc_intervalFromTo\": \"\u4ECE%s\u5230%s\",\n \"sch_desc_never\": \"\u51B3\u4E0D\",\n \"sch_desc_onDate\": \"\u5728%s\u7684%s\u4E0A\",\n \"sch_desc_onDates\": \"\u5728%s\u548C%s\u4E0A\",\n \"sch_desc_onEveryDate\": \"\u5728\u6BCF\u5929\",\n \"sch_desc_onMonth\": \"%s\",\n \"sch_desc_onMonths\": \"%s\u548C%s\",\n \"sch_desc_onWeekday\": \"\u5728%s\u4E0A\",\n \"sch_desc_onWeekdays\": \"\u5728%s\u548C%s\u4E0A\",\n \"sch_desc_onWeekends\": \"\u5728\u5468\u672B\",\n \"sch_desc_onWorkdays\": \"\u5728\u5DE5\u4F5C\u65E5\",\n \"sch_desc_onceInPast\": \"\u5C06\u4E0D\u518D\u6267\u884C\uFF0C\u56E0\u4E3A\u8D77\u59CB\u65F6\u95F4\u5DF2\u7ECF\u662F\u8FC7\u53BB\u7684\u65F6\u95F4\u4E86\u3002\",\n \"sch_desc_once_on\": \"\u5728%s\u4E0A\",\n \"sch_desc_validFrom\": \"\u6765\u81EA%s\",\n \"sch_desc_validFromTo\": \"\u4ECE\u6267\u884C\u5230\",\n \"sch_desc_validTo\": \"\u5230%s\",\n \"sch_every\": \"\u6BCF\",\n \"sch_exactTime\": \"\u7279\u5B9A\u7684\u65F6\u95F4\",\n \"sch_from\": \"\u4ECE\",\n \"sch_fromTo\": \"\u4ECE\u5230\",\n \"sch_intervalTime\": \"\u95F4\u9694\u65F6\u95F4\",\n \"sch_invert\": \"\u5012\u7F6E\",\n \"sch_no_one\": \"\u53D6\u6D88\u5168\u9009\",\n \"sch_on\": \"\u7684\",\n \"sch_period\": \"\u5468\u671F\",\n \"sch_periodDaily\": \"\u6BCF\u5929\",\n \"sch_periodDates\": \"\u65E5\u671F\",\n \"sch_periodDay\": \"\u5929\",\n \"sch_periodEvery\": \"\u6BCF\",\n \"sch_periodEveryDay\": \"\u6BCF\u5929\",\n \"sch_periodEveryMonth\": \"\u6BCF\u6708\",\n \"sch_periodEveryWeek\": \"\u6BCF\u5468\",\n \"sch_periodEveryYear\": \"\u6BCF\u5E74\",\n \"sch_periodHours\": \"\u5C0F\u65F6\",\n \"sch_periodMinutes\": \"\u5206\u949F\",\n \"sch_periodMonth\": \"\u6708\",\n \"sch_periodMonthly\": \"\u6BCF\u6708\u4E00\u6B21\",\n \"sch_periodOnce\": \"\u4E00\u6B21\",\n \"sch_periodSpecificMonths\": \"\u7279\u5B9A\u7684\u6708\u4EFD\",\n \"sch_periodWeek\": \"\u5468\",\n \"sch_periodWeekdays\": \"\u5DE5\u4F5C\u65E5\",\n \"sch_periodWeekend\": \"\u5468\u672B\",\n \"sch_periodWeekly\": \"\u6BCF\u5468\",\n \"sch_periodWorkdays\": \"\u5DE5\u4F5C\u65E5\",\n \"sch_periodYear\": \"\u5E74\",\n \"sch_periodYearly\": \"\u6BCF\u5E74\",\n \"sch_specificTime\": \"\u7279\u5B9A\u7684\u65F6\u95F4\",\n \"sch_time\": \"\u65F6\u95F4\",\n \"sch_to\": \"\u81F3\",\n \"sch_valid\": \"\u751F\u6548\",\n \"sch_validFrom\": \"\u4ECE\",\n \"sch_validTo\": \"\u81F3\",\n \"sch_wholeDay\": \"\u4E00\u6574\u5929\",\n \"sch_yearEveryMonth\": \"\u6BCF\u6708\"\n}\n", "import langEn from './i18n/en.json';\nimport langDe from './i18n/de.json';\nimport langRu from './i18n/ru.json';\nimport langPt from './i18n/pt.json';\nimport langNl from './i18n/nl.json';\nimport langFr from './i18n/fr.json';\nimport langIt from './i18n/it.json';\nimport langEs from './i18n/es.json';\nimport langPl from './i18n/pl.json';\nimport langUk from './i18n/uk.json';\nimport langZhCn from './i18n/zh-cn.json';\n\nexport const dictionary: Record> = {\n en: langEn,\n de: langDe,\n ru: langRu,\n pt: langPt,\n nl: langNl,\n fr: langFr,\n it: langIt,\n es: langEs,\n pl: langPl,\n uk: langUk,\n 'zh-cn': langZhCn,\n};\n", "/**\n * Copyright 2018-2024 Denis Haev (bluefox) \n *\n * Licensed under the Creative Commons Attribution-NonCommercial License, Version 4.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://creativecommons.org/licenses/by-nc/4.0/legalcode.txt\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport React, { Component, type CSSProperties } from 'react';\nimport { ChromePicker, type RGBColor } from 'react-color';\n\nimport { TextField, Menu, IconButton, Button, Box } from '@mui/material';\n\nimport { Delete as IconDelete, Close as IconClose } from '@mui/icons-material';\n\nimport { I18n } from '../i18n';\n\nimport type { IobTheme } from '../types';\n\nconst styles: Record = {\n color: {\n width: 36,\n height: 14,\n borderRadius: 2,\n },\n delButton: {\n marginTop: 16,\n },\n swatch: {\n mt: '16px',\n p: '5px',\n backgroundColor: 'background.paper',\n borderRadius: '1px',\n boxShadow: '0 0 0 1px rgba(0,0,0,.1)',\n display: 'inline-block',\n cursor: 'pointer',\n verticalAlign: 'middle',\n },\n swatchDisabled: {\n opacity: 0.5,\n cursor: 'default',\n },\n popover: {\n '& .MuiPaper-root': {\n textAlign: 'right',\n backgroundColor: '#00000000',\n boxShadow: 'none',\n },\n },\n popoverList: {\n padding: 0,\n },\n closeButton: (theme: IobTheme) => ({\n backgroundColor: `${theme.palette.background.paper} !important`,\n borderRadius: '0 0 25% 25%',\n '&:hover': {\n backgroundColor: `${theme.palette.secondary.main} !important`,\n },\n }),\n cover: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n },\n textDense: {\n mt: 0,\n mb: 0,\n },\n picker: (theme: IobTheme) => ({\n background: `${theme.palette.background.paper} !important`,\n }),\n iconButton: {\n width: 16,\n height: 16,\n },\n button: {\n width: 32,\n height: 32,\n minWidth: 32,\n minHeight: 32,\n },\n};\n\ninterface ColorPickerProps {\n /** Set to true to disable the color picker. */\n disabled?: boolean;\n /** The currently selected color. */\n value?: string;\n /** @deprecated The currently selected color use value */\n color?: string;\n /** The color change callback. */\n onChange: (rgba: string) => void;\n /** Label of the color picker. */\n label?: string;\n /** @deprecated TLabel of the color picker use label */\n name?: string;\n /** Additional styling for this component. */\n style?: CSSProperties;\n /** The CSS class name. */\n className?: string;\n customPalette?: string[];\n noInputField?: boolean;\n barWidth?: number;\n sx?: Record;\n theme?: IobTheme;\n}\n\ninterface ColorPickerState {\n displayColorPicker: boolean;\n color: string | RGBColor;\n anchorEl: HTMLDivElement | null;\n}\n\n/**\n * A color picker component.\n */\nexport class ColorPicker extends Component {\n /**\n * Constructor for the color picker.\n *\n * @param props The properties.\n */\n constructor(props: ColorPickerProps) {\n super(props);\n this.state = {\n displayColorPicker: false,\n color: this.props.value || this.props.color || '',\n anchorEl: null,\n };\n }\n\n private handleClick = (e: React.MouseEvent): void => {\n this.setState({\n displayColorPicker: !this.state.displayColorPicker,\n anchorEl: this.state.displayColorPicker ? null : e.currentTarget,\n });\n };\n\n private handleClose = (): void => {\n this.setState({ displayColorPicker: false, anchorEl: null });\n };\n\n /**\n * Convert the given color to hex ('#rrggbb') or rgba ('rgba(r,g,b,a)') format.\n *\n * @param color The color to convert.\n * @param isHex If true, the color will be converted to hex format.\n * @returns the hex or rgba representation of the given color.\n */\n static getColor(color: string | { rgb: RGBColor } | RGBColor, isHex?: boolean): string {\n if (color && typeof color === 'object') {\n const oColor = color as { rgb: RGBColor };\n if (oColor.rgb) {\n if (isHex) {\n return `#${oColor.rgb.r.toString(16).padStart(2, '0')}${oColor.rgb.g.toString(16).padStart(2, '0')}${oColor.rgb.b.toString(16).padStart(2, '0')}`;\n }\n return `rgba(${oColor.rgb.r},${oColor.rgb.g},${oColor.rgb.b},${oColor.rgb.a})`;\n }\n const rColor = color as RGBColor;\n if (isHex) {\n return `#${rColor.r.toString(16).padStart(2, '0')}${rColor.g.toString(16).padStart(2, '0')}${rColor.b.toString(16).padStart(2, '0')}`;\n }\n return `rgba(${rColor.r},${rColor.g},${rColor.b},${rColor.a})`;\n }\n if (typeof color === 'string') {\n return isHex ? ColorPicker.rgb2hex(color || '') : color || '';\n }\n return '';\n }\n\n /**\n * Convert rgb() or rgba() format to hex format #rrggbb.\n *\n * @param rgb The color in rgb() or rgba() format. if not in this format, the color will be returned as is.\n */\n static rgb2hex(rgb: string): string {\n const m = rgb.match(/^rgba?[\\s+]?\\([\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?/i);\n\n if (m) {\n const r = parseInt(m[1], 10).toString(16).padStart(2, '0');\n const g = parseInt(m[2], 10).toString(16).padStart(2, '0');\n const b = parseInt(m[3], 10).toString(16).padStart(2, '0');\n\n return m?.length === 4 ? `#${r}${g}${b}` : rgb;\n }\n return rgb;\n }\n\n private handleChange = (color: string | RGBColor): void => {\n this.setState({ color }, () => this.props.onChange && this.props.onChange(ColorPicker.getColor(color)));\n };\n\n /**\n * If the props are updated from outside, they should override the state\n *\n * @param _prevProps The previous properties.\n * @param prevState The previous state.\n */\n componentDidUpdate(_prevProps: ColorPickerProps, prevState: ColorPickerState): void {\n const color = ColorPicker.getColor(this.props.color || this.props.value || '');\n\n if (color !== prevState.color) {\n this.setState({ color });\n }\n }\n\n renderCustomPalette(): React.JSX.Element | null {\n if (!this.props.customPalette) {\n return null;\n }\n return (\n
\n {this.props.customPalette.map(color => (\n {\n this.handleChange(color);\n setTimeout(() => this.handleClose(), 300);\n }}\n >\n
\n \n ))}\n
\n );\n }\n\n render(): React.JSX.Element {\n const style = { ...(this.props.style || {}) };\n style.position = 'relative';\n const { color } = this.state;\n\n return (\n \n {this.props.noInputField ? null : (\n this.handleChange(e.target.value)}\n />\n )}\n {!this.props.noInputField && color ? (\n this.handleChange('')}\n size=\"small\"\n style={this.props.label || this.props.name ? styles.delButton : undefined}\n >\n \n \n ) : null}\n !this.props.disabled && this.handleClick(e)}\n title={I18n.t('ra_Select color')}\n sx={{\n ...styles.swatch,\n ...(this.props.disabled ? styles.swatchDisabled : undefined),\n background: color ? undefined : 'transparent',\n border: color ? undefined : '1px dashed #ccc',\n boxSizing: 'border-box',\n marginTop: this.props.noInputField || !(this.props.label || this.props.name) ? 0 : undefined,\n }}\n >\n \n \n {this.state.displayColorPicker && !this.props.disabled ? (\n this.handleClose()}\n >\n this.handleChange(_color.rgb)}\n styles={{\n default: {\n picker: {\n backgroundColor: this.props.theme?.palette.background.paper || '#888',\n },\n },\n }}\n />\n {color && this.props.noInputField ? (\n this.handleChange('')}\n >\n \n \n ) : null}\n this.handleClose()}\n >\n \n \n {this.renderCustomPalette()}\n \n ) : null}\n \n );\n }\n}\n", "var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport React from 'react';\nimport reactCSS from 'reactcss';\n\nimport { ColorWrap, Alpha } from '../common';\nimport AlphaPointer from './AlphaPointer';\n\nexport var AlphaPicker = function AlphaPicker(_ref) {\n var rgb = _ref.rgb,\n hsl = _ref.hsl,\n width = _ref.width,\n height = _ref.height,\n onChange = _ref.onChange,\n direction = _ref.direction,\n style = _ref.style,\n renderers = _ref.renderers,\n pointer = _ref.pointer,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = reactCSS({\n 'default': {\n picker: {\n position: 'relative',\n width: width,\n height: height\n },\n alpha: {\n radius: '2px',\n style: style\n }\n }\n });\n\n return React.createElement(\n 'div',\n { style: styles.picker, className: 'alpha-picker ' + className },\n React.createElement(Alpha, _extends({}, styles.alpha, {\n rgb: rgb,\n hsl: hsl,\n pointer: pointer,\n renderers: renderers,\n onChange: onChange,\n direction: direction\n }))\n );\n};\n\nAlphaPicker.defaultProps = {\n width: '316px',\n height: '16px',\n direction: 'horizontal',\n pointer: AlphaPointer\n};\n\nexport default ColorWrap(AlphaPicker);", "var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React, { Component, PureComponent } from 'react';\nimport reactCSS from 'reactcss';\nimport * as alpha from '../../helpers/alpha';\n\nimport Checkboard from './Checkboard';\n\nexport var Alpha = function (_ref) {\n _inherits(Alpha, _ref);\n\n function Alpha() {\n var _ref2;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Alpha);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref2 = Alpha.__proto__ || Object.getPrototypeOf(Alpha)).call.apply(_ref2, [this].concat(args))), _this), _this.handleChange = function (e) {\n var change = alpha.calculateChange(e, _this.props.hsl, _this.props.direction, _this.props.a, _this.container);\n change && typeof _this.props.onChange === 'function' && _this.props.onChange(change, e);\n }, _this.handleMouseDown = function (e) {\n _this.handleChange(e);\n window.addEventListener('mousemove', _this.handleChange);\n window.addEventListener('mouseup', _this.handleMouseUp);\n }, _this.handleMouseUp = function () {\n _this.unbindEventListeners();\n }, _this.unbindEventListeners = function () {\n window.removeEventListener('mousemove', _this.handleChange);\n window.removeEventListener('mouseup', _this.handleMouseUp);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Alpha, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.unbindEventListeners();\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var rgb = this.props.rgb;\n var styles = reactCSS({\n 'default': {\n alpha: {\n absolute: '0px 0px 0px 0px',\n borderRadius: this.props.radius\n },\n checkboard: {\n absolute: '0px 0px 0px 0px',\n overflow: 'hidden',\n borderRadius: this.props.radius\n },\n gradient: {\n absolute: '0px 0px 0px 0px',\n background: 'linear-gradient(to right, rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 0) 0%,\\n rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 1) 100%)',\n boxShadow: this.props.shadow,\n borderRadius: this.props.radius\n },\n container: {\n position: 'relative',\n height: '100%',\n margin: '0 3px'\n },\n pointer: {\n position: 'absolute',\n left: rgb.a * 100 + '%'\n },\n slider: {\n width: '4px',\n borderRadius: '1px',\n height: '8px',\n boxShadow: '0 0 2px rgba(0, 0, 0, .6)',\n background: '#fff',\n marginTop: '1px',\n transform: 'translateX(-2px)'\n }\n },\n 'vertical': {\n gradient: {\n background: 'linear-gradient(to bottom, rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 0) 0%,\\n rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 1) 100%)'\n },\n pointer: {\n left: 0,\n top: rgb.a * 100 + '%'\n }\n },\n 'overwrite': _extends({}, this.props.style)\n }, {\n vertical: this.props.direction === 'vertical',\n overwrite: true\n });\n\n return React.createElement(\n 'div',\n { style: styles.alpha },\n React.createElement(\n 'div',\n { style: styles.checkboard },\n React.createElement(Checkboard, { renderers: this.props.renderers })\n ),\n React.createElement('div', { style: styles.gradient }),\n React.createElement(\n 'div',\n {\n style: styles.container,\n ref: function ref(container) {\n return _this2.container = container;\n },\n onMouseDown: this.handleMouseDown,\n onTouchMove: this.handleChange,\n onTouchStart: this.handleChange\n },\n React.createElement(\n 'div',\n { style: styles.pointer },\n this.props.pointer ? React.createElement(this.props.pointer, this.props) : React.createElement('div', { style: styles.slider })\n )\n )\n );\n }\n }]);\n\n return Alpha;\n}(PureComponent || Component);\n\nexport default Alpha;", "export var calculateChange = function calculateChange(e, hsl, direction, initialA, container) {\n var containerWidth = container.clientWidth;\n var containerHeight = container.clientHeight;\n var x = typeof e.pageX === 'number' ? e.pageX : e.touches[0].pageX;\n var y = typeof e.pageY === 'number' ? e.pageY : e.touches[0].pageY;\n var left = x - (container.getBoundingClientRect().left + window.pageXOffset);\n var top = y - (container.getBoundingClientRect().top + window.pageYOffset);\n\n if (direction === 'vertical') {\n var a = void 0;\n if (top < 0) {\n a = 0;\n } else if (top > containerHeight) {\n a = 1;\n } else {\n a = Math.round(top * 100 / containerHeight) / 100;\n }\n\n if (hsl.a !== a) {\n return {\n h: hsl.h,\n s: hsl.s,\n l: hsl.l,\n a: a,\n source: 'rgb'\n };\n }\n } else {\n var _a = void 0;\n if (left < 0) {\n _a = 0;\n } else if (left > containerWidth) {\n _a = 1;\n } else {\n _a = Math.round(left * 100 / containerWidth) / 100;\n }\n\n if (initialA !== _a) {\n return {\n h: hsl.h,\n s: hsl.s,\n l: hsl.l,\n a: _a,\n source: 'rgb'\n };\n }\n }\n return null;\n};", "var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport React, { isValidElement } from 'react';\nimport reactCSS from 'reactcss';\nimport * as checkboard from '../../helpers/checkboard';\n\nexport var Checkboard = function Checkboard(_ref) {\n var white = _ref.white,\n grey = _ref.grey,\n size = _ref.size,\n renderers = _ref.renderers,\n borderRadius = _ref.borderRadius,\n boxShadow = _ref.boxShadow,\n children = _ref.children;\n\n var styles = reactCSS({\n 'default': {\n grid: {\n borderRadius: borderRadius,\n boxShadow: boxShadow,\n absolute: '0px 0px 0px 0px',\n background: 'url(' + checkboard.get(white, grey, size, renderers.canvas) + ') center left'\n }\n }\n });\n return isValidElement(children) ? React.cloneElement(children, _extends({}, children.props, { style: _extends({}, children.props.style, styles.grid) })) : React.createElement('div', { style: styles.grid });\n};\n\nCheckboard.defaultProps = {\n size: 8,\n white: 'transparent',\n grey: 'rgba(0,0,0,.08)',\n renderers: {}\n};\n\nexport default Checkboard;", "var checkboardCache = {};\n\nexport var render = function render(c1, c2, size, serverCanvas) {\n if (typeof document === 'undefined' && !serverCanvas) {\n return null;\n }\n var canvas = serverCanvas ? new serverCanvas() : document.createElement('canvas');\n canvas.width = size * 2;\n canvas.height = size * 2;\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n return null;\n } // If no context can be found, return early.\n ctx.fillStyle = c1;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n ctx.fillStyle = c2;\n ctx.fillRect(0, 0, size, size);\n ctx.translate(size, size);\n ctx.fillRect(0, 0, size, size);\n return canvas.toDataURL();\n};\n\nexport var get = function get(c1, c2, size, serverCanvas) {\n var key = c1 + '-' + c2 + '-' + size + (serverCanvas ? '-server' : '');\n\n if (checkboardCache[key]) {\n return checkboardCache[key];\n }\n\n var checkboard = render(c1, c2, size, serverCanvas);\n checkboardCache[key] = checkboard;\n return checkboard;\n};", "var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React, { Component, PureComponent } from 'react';\nimport reactCSS from 'reactcss';\n\nvar DEFAULT_ARROW_OFFSET = 1;\n\nvar UP_KEY_CODE = 38;\nvar DOWN_KEY_CODE = 40;\nvar VALID_KEY_CODES = [UP_KEY_CODE, DOWN_KEY_CODE];\nvar isValidKeyCode = function isValidKeyCode(keyCode) {\n return VALID_KEY_CODES.indexOf(keyCode) > -1;\n};\nvar getNumberValue = function getNumberValue(value) {\n return Number(String(value).replace(/%/g, ''));\n};\n\nvar idCounter = 1;\n\nexport var EditableInput = function (_ref) {\n _inherits(EditableInput, _ref);\n\n function EditableInput(props) {\n _classCallCheck(this, EditableInput);\n\n var _this = _possibleConstructorReturn(this, (EditableInput.__proto__ || Object.getPrototypeOf(EditableInput)).call(this));\n\n _this.handleBlur = function () {\n if (_this.state.blurValue) {\n _this.setState({ value: _this.state.blurValue, blurValue: null });\n }\n };\n\n _this.handleChange = function (e) {\n _this.setUpdatedValue(e.target.value, e);\n };\n\n _this.handleKeyDown = function (e) {\n // In case `e.target.value` is a percentage remove the `%` character\n // and update accordingly with a percentage\n // https://github.com/casesandberg/react-color/issues/383\n var value = getNumberValue(e.target.value);\n if (!isNaN(value) && isValidKeyCode(e.keyCode)) {\n var offset = _this.getArrowOffset();\n var updatedValue = e.keyCode === UP_KEY_CODE ? value + offset : value - offset;\n\n _this.setUpdatedValue(updatedValue, e);\n }\n };\n\n _this.handleDrag = function (e) {\n if (_this.props.dragLabel) {\n var newValue = Math.round(_this.props.value + e.movementX);\n if (newValue >= 0 && newValue <= _this.props.dragMax) {\n _this.props.onChange && _this.props.onChange(_this.getValueObjectWithLabel(newValue), e);\n }\n }\n };\n\n _this.handleMouseDown = function (e) {\n if (_this.props.dragLabel) {\n e.preventDefault();\n _this.handleDrag(e);\n window.addEventListener('mousemove', _this.handleDrag);\n window.addEventListener('mouseup', _this.handleMouseUp);\n }\n };\n\n _this.handleMouseUp = function () {\n _this.unbindEventListeners();\n };\n\n _this.unbindEventListeners = function () {\n window.removeEventListener('mousemove', _this.handleDrag);\n window.removeEventListener('mouseup', _this.handleMouseUp);\n };\n\n _this.state = {\n value: String(props.value).toUpperCase(),\n blurValue: String(props.value).toUpperCase()\n };\n\n _this.inputId = 'rc-editable-input-' + idCounter++;\n return _this;\n }\n\n _createClass(EditableInput, [{\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n if (this.props.value !== this.state.value && (prevProps.value !== this.props.value || prevState.value !== this.state.value)) {\n if (this.input === document.activeElement) {\n this.setState({ blurValue: String(this.props.value).toUpperCase() });\n } else {\n this.setState({ value: String(this.props.value).toUpperCase(), blurValue: !this.state.blurValue && String(this.props.value).toUpperCase() });\n }\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.unbindEventListeners();\n }\n }, {\n key: 'getValueObjectWithLabel',\n value: function getValueObjectWithLabel(value) {\n return _defineProperty({}, this.props.label, value);\n }\n }, {\n key: 'getArrowOffset',\n value: function getArrowOffset() {\n return this.props.arrowOffset || DEFAULT_ARROW_OFFSET;\n }\n }, {\n key: 'setUpdatedValue',\n value: function setUpdatedValue(value, e) {\n var onChangeValue = this.props.label ? this.getValueObjectWithLabel(value) : value;\n this.props.onChange && this.props.onChange(onChangeValue, e);\n\n this.setState({ value: value });\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var styles = reactCSS({\n 'default': {\n wrap: {\n position: 'relative'\n }\n },\n 'user-override': {\n wrap: this.props.style && this.props.style.wrap ? this.props.style.wrap : {},\n input: this.props.style && this.props.style.input ? this.props.style.input : {},\n label: this.props.style && this.props.style.label ? this.props.style.label : {}\n },\n 'dragLabel-true': {\n label: {\n cursor: 'ew-resize'\n }\n }\n }, {\n 'user-override': true\n }, this.props);\n\n return React.createElement(\n 'div',\n { style: styles.wrap },\n React.createElement('input', {\n id: this.inputId,\n style: styles.input,\n ref: function ref(input) {\n return _this2.input = input;\n },\n value: this.state.value,\n onKeyDown: this.handleKeyDown,\n onChange: this.handleChange,\n onBlur: this.handleBlur,\n placeholder: this.props.placeholder,\n spellCheck: 'false'\n }),\n this.props.label && !this.props.hideLabel ? React.createElement(\n 'label',\n {\n htmlFor: this.inputId,\n style: styles.label,\n onMouseDown: this.handleMouseDown\n },\n this.props.label\n ) : null\n );\n }\n }]);\n\n return EditableInput;\n}(PureComponent || Component);\n\nexport default EditableInput;", "var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React, { Component, PureComponent } from 'react';\nimport reactCSS from 'reactcss';\nimport * as hue from '../../helpers/hue';\n\nexport var Hue = function (_ref) {\n _inherits(Hue, _ref);\n\n function Hue() {\n var _ref2;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Hue);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref2 = Hue.__proto__ || Object.getPrototypeOf(Hue)).call.apply(_ref2, [this].concat(args))), _this), _this.handleChange = function (e) {\n var change = hue.calculateChange(e, _this.props.direction, _this.props.hsl, _this.container);\n change && typeof _this.props.onChange === 'function' && _this.props.onChange(change, e);\n }, _this.handleMouseDown = function (e) {\n _this.handleChange(e);\n window.addEventListener('mousemove', _this.handleChange);\n window.addEventListener('mouseup', _this.handleMouseUp);\n }, _this.handleMouseUp = function () {\n _this.unbindEventListeners();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Hue, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.unbindEventListeners();\n }\n }, {\n key: 'unbindEventListeners',\n value: function unbindEventListeners() {\n window.removeEventListener('mousemove', this.handleChange);\n window.removeEventListener('mouseup', this.handleMouseUp);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props$direction = this.props.direction,\n direction = _props$direction === undefined ? 'horizontal' : _props$direction;\n\n\n var styles = reactCSS({\n 'default': {\n hue: {\n absolute: '0px 0px 0px 0px',\n borderRadius: this.props.radius,\n boxShadow: this.props.shadow\n },\n container: {\n padding: '0 2px',\n position: 'relative',\n height: '100%',\n borderRadius: this.props.radius\n },\n pointer: {\n position: 'absolute',\n left: this.props.hsl.h * 100 / 360 + '%'\n },\n slider: {\n marginTop: '1px',\n width: '4px',\n borderRadius: '1px',\n height: '8px',\n boxShadow: '0 0 2px rgba(0, 0, 0, .6)',\n background: '#fff',\n transform: 'translateX(-2px)'\n }\n },\n 'vertical': {\n pointer: {\n left: '0px',\n top: -(this.props.hsl.h * 100 / 360) + 100 + '%'\n }\n }\n }, { vertical: direction === 'vertical' });\n\n return React.createElement(\n 'div',\n { style: styles.hue },\n React.createElement(\n 'div',\n {\n className: 'hue-' + direction,\n style: styles.container,\n ref: function ref(container) {\n return _this2.container = container;\n },\n onMouseDown: this.handleMouseDown,\n onTouchMove: this.handleChange,\n onTouchStart: this.handleChange\n },\n React.createElement(\n 'style',\n null,\n '\\n .hue-horizontal {\\n background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0\\n 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n background: -webkit-linear-gradient(to right, #f00 0%, #ff0\\n 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n }\\n\\n .hue-vertical {\\n background: linear-gradient(to top, #f00 0%, #ff0 17%, #0f0 33%,\\n #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n background: -webkit-linear-gradient(to top, #f00 0%, #ff0 17%,\\n #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n }\\n '\n ),\n React.createElement(\n 'div',\n { style: styles.pointer },\n this.props.pointer ? React.createElement(this.props.pointer, this.props) : React.createElement('div', { style: styles.slider })\n )\n )\n );\n }\n }]);\n\n return Hue;\n}(PureComponent || Component);\n\nexport default Hue;", "export var calculateChange = function calculateChange(e, direction, hsl, container) {\n var containerWidth = container.clientWidth;\n var containerHeight = container.clientHeight;\n var x = typeof e.pageX === 'number' ? e.pageX : e.touches[0].pageX;\n var y = typeof e.pageY === 'number' ? e.pageY : e.touches[0].pageY;\n var left = x - (container.getBoundingClientRect().left + window.pageXOffset);\n var top = y - (container.getBoundingClientRect().top + window.pageYOffset);\n\n if (direction === 'vertical') {\n var h = void 0;\n if (top < 0) {\n h = 359;\n } else if (top > containerHeight) {\n h = 0;\n } else {\n var percent = -(top * 100 / containerHeight) + 100;\n h = 360 * percent / 100;\n }\n\n if (hsl.h !== h) {\n return {\n h: h,\n s: hsl.s,\n l: hsl.l,\n a: hsl.a,\n source: 'hsl'\n };\n }\n } else {\n var _h = void 0;\n if (left < 0) {\n _h = 0;\n } else if (left > containerWidth) {\n _h = 359;\n } else {\n var _percent = left * 100 / containerWidth;\n _h = 360 * _percent / 100;\n }\n\n if (hsl.h !== _h) {\n return {\n h: _h,\n s: hsl.s,\n l: hsl.l,\n a: hsl.a,\n source: 'hsl'\n };\n }\n }\n return null;\n};", "import React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport merge from 'lodash-es/merge';\n\nexport var Raised = function Raised(_ref) {\n var zDepth = _ref.zDepth,\n radius = _ref.radius,\n background = _ref.background,\n children = _ref.children,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles;\n\n var styles = reactCSS(merge({\n 'default': {\n wrap: {\n position: 'relative',\n display: 'inline-block'\n },\n content: {\n position: 'relative'\n },\n bg: {\n absolute: '0px 0px 0px 0px',\n boxShadow: '0 ' + zDepth + 'px ' + zDepth * 4 + 'px rgba(0,0,0,.24)',\n borderRadius: radius,\n background: background\n }\n },\n 'zDepth-0': {\n bg: {\n boxShadow: 'none'\n }\n },\n\n 'zDepth-1': {\n bg: {\n boxShadow: '0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16)'\n }\n },\n 'zDepth-2': {\n bg: {\n boxShadow: '0 6px 20px rgba(0,0,0,.19), 0 8px 17px rgba(0,0,0,.2)'\n }\n },\n 'zDepth-3': {\n bg: {\n boxShadow: '0 17px 50px rgba(0,0,0,.19), 0 12px 15px rgba(0,0,0,.24)'\n }\n },\n 'zDepth-4': {\n bg: {\n boxShadow: '0 25px 55px rgba(0,0,0,.21), 0 16px 28px rgba(0,0,0,.22)'\n }\n },\n 'zDepth-5': {\n bg: {\n boxShadow: '0 40px 77px rgba(0,0,0,.22), 0 27px 24px rgba(0,0,0,.2)'\n }\n },\n 'square': {\n bg: {\n borderRadius: '0'\n }\n },\n 'circle': {\n bg: {\n borderRadius: '50%'\n }\n }\n }, passedStyles), { 'zDepth-1': zDepth === 1 });\n\n return React.createElement(\n 'div',\n { style: styles.wrap },\n React.createElement('div', { style: styles.bg }),\n React.createElement(\n 'div',\n { style: styles.content },\n children\n )\n );\n};\n\nRaised.propTypes = {\n background: PropTypes.string,\n zDepth: PropTypes.oneOf([0, 1, 2, 3, 4, 5]),\n radius: PropTypes.number,\n styles: PropTypes.object\n};\n\nRaised.defaultProps = {\n background: '#fff',\n zDepth: 1,\n radius: 2,\n styles: {}\n};\n\nexport default Raised;", "/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nexport default listCacheClear;\n", "/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nexport default eq;\n", "import eq from './eq.js';\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nexport default assocIndexOf;\n", "import assocIndexOf from './_assocIndexOf.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nexport default listCacheDelete;\n", "import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nexport default listCacheGet;\n", "import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nexport default listCacheHas;\n", "import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nexport default listCacheSet;\n", "import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nexport default ListCache;\n", "import ListCache from './_ListCache.js';\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nexport default stackClear;\n", "/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nexport default stackDelete;\n", "/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nexport default stackGet;\n", "/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nexport default stackHas;\n", "/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n", "import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n", "import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n", "import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n", "/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n", "import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n", "/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n", "import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n", "import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n", "import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n", "/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nexport default toSource;\n", "import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\n", "/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nexport default getValue;\n", "import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nexport default getNative;\n", "import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n", "import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n", "import nativeCreate from './_nativeCreate.js';\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nexport default hashClear;\n", "/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default hashDelete;\n", "import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nexport default hashGet;\n", "import nativeCreate from './_nativeCreate.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nexport default hashHas;\n", "import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nexport default hashSet;\n", "import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nexport default Hash;\n", "import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nexport default mapCacheClear;\n", "/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nexport default isKeyable;\n", "import isKeyable from './_isKeyable.js';\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nexport default getMapData;\n", "import getMapData from './_getMapData.js';\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default mapCacheDelete;\n", "import getMapData from './_getMapData.js';\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nexport default mapCacheGet;\n", "import getMapData from './_getMapData.js';\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nexport default mapCacheHas;\n", "import getMapData from './_getMapData.js';\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nexport default mapCacheSet;\n", "import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nexport default MapCache;\n", "import ListCache from './_ListCache.js';\nimport Map from './_Map.js';\nimport MapCache from './_MapCache.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nexport default stackSet;\n", "import ListCache from './_ListCache.js';\nimport stackClear from './_stackClear.js';\nimport stackDelete from './_stackDelete.js';\nimport stackGet from './_stackGet.js';\nimport stackHas from './_stackHas.js';\nimport stackSet from './_stackSet.js';\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nexport default Stack;\n", "import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nexport default defineProperty;\n", "import defineProperty from './_defineProperty.js';\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nexport default baseAssignValue;\n", "import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignMergeValue;\n", "/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nexport default createBaseFor;\n", "import createBaseFor from './_createBaseFor.js';\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nexport default baseFor;\n", "import root from './_root.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nexport default cloneBuffer;\n", "import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nexport default Uint8Array;\n", "import Uint8Array from './_Uint8Array.js';\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nexport default cloneArrayBuffer;\n", "import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nexport default cloneTypedArray;\n", "/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nexport default copyArray;\n", "import isObject from './isObject.js';\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nexport default baseCreate;\n", "/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n", "import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n", "/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nexport default isPrototype;\n", "import baseCreate from './_baseCreate.js';\nimport getPrototype from './_getPrototype.js';\nimport isPrototype from './_isPrototype.js';\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nexport default initCloneObject;\n", "/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n", "import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n", "import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nexport default isArguments;\n", "/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n", "/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n", "import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nexport default isArrayLike;\n", "import isArrayLike from './isArrayLike.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nexport default isArrayLikeObject;\n", "/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nexport default stubFalse;\n", "import root from './_root.js';\nimport stubFalse from './stubFalse.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nexport default isBuffer;\n", "import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n", "import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nexport default baseIsTypedArray;\n", "/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nexport default baseUnary;\n", "import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nexport default nodeUtil;\n", "import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nexport default isTypedArray;\n", "/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nexport default safeGet;\n", "import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignValue;\n", "import assignValue from './_assignValue.js';\nimport baseAssignValue from './_baseAssignValue.js';\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nexport default copyObject;\n", "/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nexport default baseTimes;\n", "/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n", "import baseTimes from './_baseTimes.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isIndex from './_isIndex.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default arrayLikeKeys;\n", "/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default nativeKeysIn;\n", "import isObject from './isObject.js';\nimport isPrototype from './_isPrototype.js';\nimport nativeKeysIn from './_nativeKeysIn.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeysIn;\n", "import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nexport default keysIn;\n", "import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nexport default toPlainObject;\n", "import assignMergeValue from './_assignMergeValue.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\nimport copyArray from './_copyArray.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\nimport isBuffer from './isBuffer.js';\nimport isFunction from './isFunction.js';\nimport isObject from './isObject.js';\nimport isPlainObject from './isPlainObject.js';\nimport isTypedArray from './isTypedArray.js';\nimport safeGet from './_safeGet.js';\nimport toPlainObject from './toPlainObject.js';\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nexport default baseMergeDeep;\n", "import Stack from './_Stack.js';\nimport assignMergeValue from './_assignMergeValue.js';\nimport baseFor from './_baseFor.js';\nimport baseMergeDeep from './_baseMergeDeep.js';\nimport isObject from './isObject.js';\nimport keysIn from './keysIn.js';\nimport safeGet from './_safeGet.js';\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nexport default baseMerge;\n", "/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n", "/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nexport default apply;\n", "import apply from './_apply.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nexport default overRest;\n", "/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nexport default constant;\n", "import constant from './constant.js';\nimport defineProperty from './_defineProperty.js';\nimport identity from './identity.js';\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nexport default baseSetToString;\n", "/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nexport default shortOut;\n", "import baseSetToString from './_baseSetToString.js';\nimport shortOut from './_shortOut.js';\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nexport default setToString;\n", "import identity from './identity.js';\nimport overRest from './_overRest.js';\nimport setToString from './_setToString.js';\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nexport default baseRest;\n", "import eq from './eq.js';\nimport isArrayLike from './isArrayLike.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nexport default isIterateeCall;\n", "import baseRest from './_baseRest.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nexport default createAssigner;\n", "import baseMerge from './_baseMerge.js';\nimport createAssigner from './_createAssigner.js';\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nexport default merge;\n", "var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React, { Component, PureComponent } from 'react';\nimport reactCSS from 'reactcss';\nimport throttle from 'lodash-es/throttle';\nimport * as saturation from '../../helpers/saturation';\n\nexport var Saturation = function (_ref) {\n _inherits(Saturation, _ref);\n\n function Saturation(props) {\n _classCallCheck(this, Saturation);\n\n var _this = _possibleConstructorReturn(this, (Saturation.__proto__ || Object.getPrototypeOf(Saturation)).call(this, props));\n\n _this.handleChange = function (e) {\n typeof _this.props.onChange === 'function' && _this.throttle(_this.props.onChange, saturation.calculateChange(e, _this.props.hsl, _this.container), e);\n };\n\n _this.handleMouseDown = function (e) {\n _this.handleChange(e);\n var renderWindow = _this.getContainerRenderWindow();\n renderWindow.addEventListener('mousemove', _this.handleChange);\n renderWindow.addEventListener('mouseup', _this.handleMouseUp);\n };\n\n _this.handleMouseUp = function () {\n _this.unbindEventListeners();\n };\n\n _this.throttle = throttle(function (fn, data, e) {\n fn(data, e);\n }, 50);\n return _this;\n }\n\n _createClass(Saturation, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.throttle.cancel();\n this.unbindEventListeners();\n }\n }, {\n key: 'getContainerRenderWindow',\n value: function getContainerRenderWindow() {\n var container = this.container;\n\n var renderWindow = window;\n while (!renderWindow.document.contains(container) && renderWindow.parent !== renderWindow) {\n renderWindow = renderWindow.parent;\n }\n return renderWindow;\n }\n }, {\n key: 'unbindEventListeners',\n value: function unbindEventListeners() {\n var renderWindow = this.getContainerRenderWindow();\n renderWindow.removeEventListener('mousemove', this.handleChange);\n renderWindow.removeEventListener('mouseup', this.handleMouseUp);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _ref2 = this.props.style || {},\n color = _ref2.color,\n white = _ref2.white,\n black = _ref2.black,\n pointer = _ref2.pointer,\n circle = _ref2.circle;\n\n var styles = reactCSS({\n 'default': {\n color: {\n absolute: '0px 0px 0px 0px',\n background: 'hsl(' + this.props.hsl.h + ',100%, 50%)',\n borderRadius: this.props.radius\n },\n white: {\n absolute: '0px 0px 0px 0px',\n borderRadius: this.props.radius\n },\n black: {\n absolute: '0px 0px 0px 0px',\n boxShadow: this.props.shadow,\n borderRadius: this.props.radius\n },\n pointer: {\n position: 'absolute',\n top: -(this.props.hsv.v * 100) + 100 + '%',\n left: this.props.hsv.s * 100 + '%',\n cursor: 'default'\n },\n circle: {\n width: '4px',\n height: '4px',\n boxShadow: '0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0,0,0,.3),\\n 0 0 1px 2px rgba(0,0,0,.4)',\n borderRadius: '50%',\n cursor: 'hand',\n transform: 'translate(-2px, -2px)'\n }\n },\n 'custom': {\n color: color,\n white: white,\n black: black,\n pointer: pointer,\n circle: circle\n }\n }, { 'custom': !!this.props.style });\n\n return React.createElement(\n 'div',\n {\n style: styles.color,\n ref: function ref(container) {\n return _this2.container = container;\n },\n onMouseDown: this.handleMouseDown,\n onTouchMove: this.handleChange,\n onTouchStart: this.handleChange\n },\n React.createElement(\n 'style',\n null,\n '\\n .saturation-white {\\n background: -webkit-linear-gradient(to right, #fff, rgba(255,255,255,0));\\n background: linear-gradient(to right, #fff, rgba(255,255,255,0));\\n }\\n .saturation-black {\\n background: -webkit-linear-gradient(to top, #000, rgba(0,0,0,0));\\n background: linear-gradient(to top, #000, rgba(0,0,0,0));\\n }\\n '\n ),\n React.createElement(\n 'div',\n { style: styles.white, className: 'saturation-white' },\n React.createElement('div', { style: styles.black, className: 'saturation-black' }),\n React.createElement(\n 'div',\n { style: styles.pointer },\n this.props.pointer ? React.createElement(this.props.pointer, this.props) : React.createElement('div', { style: styles.circle })\n )\n )\n );\n }\n }]);\n\n return Saturation;\n}(PureComponent || Component);\n\nexport default Saturation;", "import root from './_root.js';\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nexport default now;\n", "/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nexport default trimmedEndIndex;\n", "import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\n", "import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n", "import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n", "import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nexport default debounce;\n", "import debounce from './debounce.js';\nimport isObject from './isObject.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nexport default throttle;\n", "export var calculateChange = function calculateChange(e, hsl, container) {\n var _container$getBoundin = container.getBoundingClientRect(),\n containerWidth = _container$getBoundin.width,\n containerHeight = _container$getBoundin.height;\n\n var x = typeof e.pageX === 'number' ? e.pageX : e.touches[0].pageX;\n var y = typeof e.pageY === 'number' ? e.pageY : e.touches[0].pageY;\n var left = x - (container.getBoundingClientRect().left + window.pageXOffset);\n var top = y - (container.getBoundingClientRect().top + window.pageYOffset);\n\n if (left < 0) {\n left = 0;\n } else if (left > containerWidth) {\n left = containerWidth;\n }\n\n if (top < 0) {\n top = 0;\n } else if (top > containerHeight) {\n top = containerHeight;\n }\n\n var saturation = left / containerWidth;\n var bright = 1 - top / containerHeight;\n\n return {\n h: hsl.h,\n s: saturation,\n v: bright,\n a: hsl.a,\n source: 'hsv'\n };\n};", "var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React, { Component, PureComponent } from 'react';\nimport debounce from 'lodash-es/debounce';\nimport * as color from '../../helpers/color';\n\nexport var ColorWrap = function ColorWrap(Picker) {\n var ColorPicker = function (_ref) {\n _inherits(ColorPicker, _ref);\n\n function ColorPicker(props) {\n _classCallCheck(this, ColorPicker);\n\n var _this = _possibleConstructorReturn(this, (ColorPicker.__proto__ || Object.getPrototypeOf(ColorPicker)).call(this));\n\n _this.handleChange = function (data, event) {\n var isValidColor = color.simpleCheckForValidColor(data);\n if (isValidColor) {\n var colors = color.toState(data, data.h || _this.state.oldHue);\n _this.setState(colors);\n _this.props.onChangeComplete && _this.debounce(_this.props.onChangeComplete, colors, event);\n _this.props.onChange && _this.props.onChange(colors, event);\n }\n };\n\n _this.handleSwatchHover = function (data, event) {\n var isValidColor = color.simpleCheckForValidColor(data);\n if (isValidColor) {\n var colors = color.toState(data, data.h || _this.state.oldHue);\n _this.props.onSwatchHover && _this.props.onSwatchHover(colors, event);\n }\n };\n\n _this.state = _extends({}, color.toState(props.color, 0));\n\n _this.debounce = debounce(function (fn, data, event) {\n fn(data, event);\n }, 100);\n return _this;\n }\n\n _createClass(ColorPicker, [{\n key: 'render',\n value: function render() {\n var optionalEvents = {};\n if (this.props.onSwatchHover) {\n optionalEvents.onSwatchHover = this.handleSwatchHover;\n }\n\n return React.createElement(Picker, _extends({}, this.props, this.state, {\n onChange: this.handleChange\n }, optionalEvents));\n }\n }], [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(nextProps, state) {\n return _extends({}, color.toState(nextProps.color, state.oldHue));\n }\n }]);\n\n return ColorPicker;\n }(PureComponent || Component);\n\n ColorPicker.propTypes = _extends({}, Picker.propTypes);\n\n ColorPicker.defaultProps = _extends({}, Picker.defaultProps, {\n color: {\n h: 250,\n s: 0.50,\n l: 0.20,\n a: 1\n }\n });\n\n return ColorPicker;\n};\n\nexport default ColorWrap;", "/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nexport default arrayEach;\n", "import overArg from './_overArg.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nexport default nativeKeys;\n", "import isPrototype from './_isPrototype.js';\nimport nativeKeys from './_nativeKeys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeys;\n", "import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeys from './_baseKeys.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nexport default keys;\n", "import baseFor from './_baseFor.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nexport default baseForOwn;\n", "import isArrayLike from './isArrayLike.js';\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nexport default createBaseEach;\n", "import baseForOwn from './_baseForOwn.js';\nimport createBaseEach from './_createBaseEach.js';\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nexport default baseEach;\n", "import identity from './identity.js';\n\n/**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\nfunction castFunction(value) {\n return typeof value == 'function' ? value : identity;\n}\n\nexport default castFunction;\n", "import arrayEach from './_arrayEach.js';\nimport baseEach from './_baseEach.js';\nimport castFunction from './_castFunction.js';\nimport isArray from './isArray.js';\n\n/**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, castFunction(iteratee));\n}\n\nexport default forEach;\n", "// This file is autogenerated. It's used to publish ESM to npm.\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\nvar trimLeft = /^\\s+/;\nvar trimRight = /\\s+$/;\nfunction tinycolor(color, opts) {\n color = color ? color : \"\";\n opts = opts || {};\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n var rgb = inputToRGB(color);\n this._originalInput = color, this._r = rgb.r, this._g = rgb.g, this._b = rgb.b, this._a = rgb.a, this._roundA = Math.round(100 * this._a) / 100, this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) this._r = Math.round(this._r);\n if (this._g < 1) this._g = Math.round(this._g);\n if (this._b < 1) this._b = Math.round(this._b);\n this._ok = rgb.ok;\n}\ntinycolor.prototype = {\n isDark: function isDark() {\n return this.getBrightness() < 128;\n },\n isLight: function isLight() {\n return !this.isDark();\n },\n isValid: function isValid() {\n return this._ok;\n },\n getOriginalInput: function getOriginalInput() {\n return this._originalInput;\n },\n getFormat: function getFormat() {\n return this._format;\n },\n getAlpha: function getAlpha() {\n return this._a;\n },\n getBrightness: function getBrightness() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function getLuminance() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r / 255;\n GsRGB = rgb.g / 255;\n BsRGB = rgb.b / 255;\n if (RsRGB <= 0.03928) R = RsRGB / 12.92;else R = Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n if (GsRGB <= 0.03928) G = GsRGB / 12.92;else G = Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n if (BsRGB <= 0.03928) B = BsRGB / 12.92;else B = Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n },\n setAlpha: function setAlpha(value) {\n this._a = boundAlpha(value);\n this._roundA = Math.round(100 * this._a) / 100;\n return this;\n },\n toHsv: function toHsv() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v,\n a: this._a\n };\n },\n toHsvString: function toHsvString() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = Math.round(hsv.h * 360),\n s = Math.round(hsv.s * 100),\n v = Math.round(hsv.v * 100);\n return this._a == 1 ? \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" : \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \" + this._roundA + \")\";\n },\n toHsl: function toHsl() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return {\n h: hsl.h * 360,\n s: hsl.s,\n l: hsl.l,\n a: this._a\n };\n },\n toHslString: function toHslString() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = Math.round(hsl.h * 360),\n s = Math.round(hsl.s * 100),\n l = Math.round(hsl.l * 100);\n return this._a == 1 ? \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" : \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \" + this._roundA + \")\";\n },\n toHex: function toHex(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function toHexString(allow3Char) {\n return \"#\" + this.toHex(allow3Char);\n },\n toHex8: function toHex8(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function toHex8String(allow4Char) {\n return \"#\" + this.toHex8(allow4Char);\n },\n toRgb: function toRgb() {\n return {\n r: Math.round(this._r),\n g: Math.round(this._g),\n b: Math.round(this._b),\n a: this._a\n };\n },\n toRgbString: function toRgbString() {\n return this._a == 1 ? \"rgb(\" + Math.round(this._r) + \", \" + Math.round(this._g) + \", \" + Math.round(this._b) + \")\" : \"rgba(\" + Math.round(this._r) + \", \" + Math.round(this._g) + \", \" + Math.round(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function toPercentageRgb() {\n return {\n r: Math.round(bound01(this._r, 255) * 100) + \"%\",\n g: Math.round(bound01(this._g, 255) * 100) + \"%\",\n b: Math.round(bound01(this._b, 255) * 100) + \"%\",\n a: this._a\n };\n },\n toPercentageRgbString: function toPercentageRgbString() {\n return this._a == 1 ? \"rgb(\" + Math.round(bound01(this._r, 255) * 100) + \"%, \" + Math.round(bound01(this._g, 255) * 100) + \"%, \" + Math.round(bound01(this._b, 255) * 100) + \"%)\" : \"rgba(\" + Math.round(bound01(this._r, 255) * 100) + \"%, \" + Math.round(bound01(this._g, 255) * 100) + \"%, \" + Math.round(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function toName() {\n if (this._a === 0) {\n return \"transparent\";\n }\n if (this._a < 1) {\n return false;\n }\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function toFilter(secondColor) {\n var hex8String = \"#\" + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = \"#\" + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n return \"progid:DXImageTransform.Microsoft.gradient(\" + gradientType + \"startColorstr=\" + hex8String + \",endColorstr=\" + secondHex8String + \")\";\n },\n toString: function toString(format) {\n var formatSet = !!format;\n format = format || this._format;\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n return formattedString || this.toHexString();\n },\n clone: function clone() {\n return tinycolor(this.toString());\n },\n _applyModification: function _applyModification(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function lighten() {\n return this._applyModification(_lighten, arguments);\n },\n brighten: function brighten() {\n return this._applyModification(_brighten, arguments);\n },\n darken: function darken() {\n return this._applyModification(_darken, arguments);\n },\n desaturate: function desaturate() {\n return this._applyModification(_desaturate, arguments);\n },\n saturate: function saturate() {\n return this._applyModification(_saturate, arguments);\n },\n greyscale: function greyscale() {\n return this._applyModification(_greyscale, arguments);\n },\n spin: function spin() {\n return this._applyModification(_spin, arguments);\n },\n _applyCombination: function _applyCombination(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function analogous() {\n return this._applyCombination(_analogous, arguments);\n },\n complement: function complement() {\n return this._applyCombination(_complement, arguments);\n },\n monochromatic: function monochromatic() {\n return this._applyCombination(_monochromatic, arguments);\n },\n splitcomplement: function splitcomplement() {\n return this._applyCombination(_splitcomplement, arguments);\n },\n // Disabled until https://github.com/bgrins/TinyColor/issues/254\n // polyad: function (number) {\n // return this._applyCombination(polyad, [number]);\n // },\n triad: function triad() {\n return this._applyCombination(polyad, [3]);\n },\n tetrad: function tetrad() {\n return this._applyCombination(polyad, [4]);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function (color, opts) {\n if (_typeof(color) == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n } else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n var rgb = {\n r: 0,\n g: 0,\n b: 0\n };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n if (_typeof(color) == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a\n };\n}\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// \n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// \n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b),\n min = Math.min(r, g, b);\n var h,\n s,\n l = (max + min) / 2;\n if (max == min) {\n h = s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return {\n h: h,\n s: s,\n l: l\n };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n function hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n if (s === 0) {\n r = g = b = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b),\n min = Math.min(r, g, b);\n var h,\n s,\n v = max;\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n if (max == min) {\n h = 0; // achromatic\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return {\n h: h,\n s: s,\n v: v\n };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n var hex = [pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16))];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16)), pad2(convertDecimalToHex(a))];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n var hex = [pad2(convertDecimalToHex(a)), pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16))];\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) return false;\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\ntinycolor.random = function () {\n return tinycolor.fromRatio({\n r: Math.random(),\n g: Math.random(),\n b: Math.random()\n });\n};\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// \n\nfunction _desaturate(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\nfunction _saturate(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\nfunction _greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\nfunction _lighten(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\nfunction _brighten(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var rgb = tinycolor(color).toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return tinycolor(rgb);\n}\nfunction _darken(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction _spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// \n\nfunction _complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\nfunction polyad(color, number) {\n if (isNaN(number) || number <= 0) {\n throw new Error(\"Argument to polyad must be a positive number\");\n }\n var hsl = tinycolor(color).toHsl();\n var result = [tinycolor(color)];\n var step = 360 / number;\n for (var i = 1; i < number; i++) {\n result.push(tinycolor({\n h: (hsl.h + i * step) % 360,\n s: hsl.s,\n l: hsl.l\n }));\n }\n return result;\n}\nfunction _splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [tinycolor(color), tinycolor({\n h: (h + 72) % 360,\n s: hsl.s,\n l: hsl.l\n }), tinycolor({\n h: (h + 216) % 360,\n s: hsl.s,\n l: hsl.l\n })];\n}\nfunction _analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n for (hsl.h = (hsl.h - (part * results >> 1) + 720) % 360; --results;) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\nfunction _monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h,\n s = hsv.s,\n v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n while (results--) {\n ret.push(tinycolor({\n h: h,\n s: s,\n v: v\n }));\n v = (v + modification) % 1;\n }\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function (color1, color2, amount) {\n amount = amount === 0 ? 0 : amount || 50;\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n var p = amount / 100;\n var rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a\n };\n return tinycolor(rgba);\n};\n\n// Readability Functions\n// ---------------------\n// false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function (color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n out = false;\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function (baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors;\n level = args.level;\n size = args.size;\n for (var i = 0; i < colorList.length; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n if (tinycolor.isReadable(baseColor, bestColor, {\n level: level,\n size: size\n }) || !includeFallbackColors) {\n return bestColor;\n } else {\n args.includeFallbackColors = false;\n return tinycolor.mostReadable(baseColor, [\"#fff\", \"#000\"], args);\n }\n};\n\n// Big List of Colors\n// ------------------\n// \nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = {};\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) n = \"100%\";\n var processPercent = isPercentage(n);\n n = Math.min(max, Math.max(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return n % max / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// \nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf(\".\") != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf(\"%\") != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? \"0\" + c : \"\" + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = n * 100 + \"%\";\n }\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\nvar matchers = function () {\n // \n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // \n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n}();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n color = color.replace(trimLeft, \"\").replace(trimRight, \"\").toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n } else if (color == \"transparent\") {\n return {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n format: \"name\"\n };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if (match = matchers.rgb.exec(color)) {\n return {\n r: match[1],\n g: match[2],\n b: match[3]\n };\n }\n if (match = matchers.rgba.exec(color)) {\n return {\n r: match[1],\n g: match[2],\n b: match[3],\n a: match[4]\n };\n }\n if (match = matchers.hsl.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n l: match[3]\n };\n }\n if (match = matchers.hsla.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n l: match[3],\n a: match[4]\n };\n }\n if (match = matchers.hsv.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n v: match[3]\n };\n }\n if (match = matchers.hsva.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n v: match[3],\n a: match[4]\n };\n }\n if (match = matchers.hex8.exec(color)) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if (match = matchers.hex6.exec(color)) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if (match = matchers.hex4.exec(color)) {\n return {\n r: parseIntFromHex(match[1] + \"\" + match[1]),\n g: parseIntFromHex(match[2] + \"\" + match[2]),\n b: parseIntFromHex(match[3] + \"\" + match[3]),\n a: convertHexToDecimal(match[4] + \"\" + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if (match = matchers.hex3.exec(color)) {\n return {\n r: parseIntFromHex(match[1] + \"\" + match[1]),\n g: parseIntFromHex(match[2] + \"\" + match[2]),\n b: parseIntFromHex(match[3] + \"\" + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n return false;\n}\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\n level: \"AA\",\n size: \"small\"\n };\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\n level: level,\n size: size\n };\n}\n\nexport { tinycolor as default };\n", "import each from 'lodash-es/each';\nimport tinycolor from 'tinycolor2';\n\nexport var simpleCheckForValidColor = function simpleCheckForValidColor(data) {\n var keysToCheck = ['r', 'g', 'b', 'a', 'h', 's', 'l', 'v'];\n var checked = 0;\n var passed = 0;\n each(keysToCheck, function (letter) {\n if (data[letter]) {\n checked += 1;\n if (!isNaN(data[letter])) {\n passed += 1;\n }\n if (letter === 's' || letter === 'l') {\n var percentPatt = /^\\d+%$/;\n if (percentPatt.test(data[letter])) {\n passed += 1;\n }\n }\n }\n });\n return checked === passed ? data : false;\n};\n\nexport var toState = function toState(data, oldHue) {\n var color = data.hex ? tinycolor(data.hex) : tinycolor(data);\n var hsl = color.toHsl();\n var hsv = color.toHsv();\n var rgb = color.toRgb();\n var hex = color.toHex();\n if (hsl.s === 0) {\n hsl.h = oldHue || 0;\n hsv.h = oldHue || 0;\n }\n var transparent = hex === '000000' && rgb.a === 0;\n\n return {\n hsl: hsl,\n hex: transparent ? 'transparent' : '#' + hex,\n rgb: rgb,\n hsv: hsv,\n oldHue: data.h || oldHue || hsl.h,\n source: data.source\n };\n};\n\nexport var isValidHex = function isValidHex(hex) {\n if (hex === 'transparent') {\n return true;\n }\n // disable hex4 and hex8\n var lh = String(hex).charAt(0) === '#' ? 1 : 0;\n return hex.length !== 4 + lh && hex.length < 7 + lh && tinycolor(hex).isValid();\n};\n\nexport var getContrastingColor = function getContrastingColor(data) {\n if (!data) {\n return '#fff';\n }\n var col = toState(data);\n if (col.hex === 'transparent') {\n return 'rgba(0,0,0,0.4)';\n }\n var yiq = (col.rgb.r * 299 + col.rgb.g * 587 + col.rgb.b * 114) / 1000;\n return yiq >= 128 ? '#000' : '#fff';\n};\n\nexport var red = {\n hsl: { a: 1, h: 0, l: 0.5, s: 1 },\n hex: '#ff0000',\n rgb: { r: 255, g: 0, b: 0, a: 1 },\n hsv: { h: 0, s: 1, v: 1, a: 1 }\n};\n\nexport var isvalidColorString = function isvalidColorString(string, type) {\n var stringWithoutDegree = string.replace('\u00B0', '');\n return tinycolor(type + ' (' + stringWithoutDegree + ')')._ok;\n};", "var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport React from 'react';\nimport reactCSS from 'reactcss';\nimport { handleFocus } from '../../helpers/interaction';\n\nimport Checkboard from './Checkboard';\n\nvar ENTER = 13;\n\nexport var Swatch = function Swatch(_ref) {\n var color = _ref.color,\n style = _ref.style,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n onHover = _ref.onHover,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? color : _ref$title,\n children = _ref.children,\n focus = _ref.focus,\n _ref$focusStyle = _ref.focusStyle,\n focusStyle = _ref$focusStyle === undefined ? {} : _ref$focusStyle;\n\n var transparent = color === 'transparent';\n var styles = reactCSS({\n default: {\n swatch: _extends({\n background: color,\n height: '100%',\n width: '100%',\n cursor: 'pointer',\n position: 'relative',\n outline: 'none'\n }, style, focus ? focusStyle : {})\n }\n });\n\n var handleClick = function handleClick(e) {\n return onClick(color, e);\n };\n var handleKeyDown = function handleKeyDown(e) {\n return e.keyCode === ENTER && onClick(color, e);\n };\n var handleHover = function handleHover(e) {\n return onHover(color, e);\n };\n\n var optionalEvents = {};\n if (onHover) {\n optionalEvents.onMouseOver = handleHover;\n }\n\n return React.createElement(\n 'div',\n _extends({\n style: styles.swatch,\n onClick: handleClick,\n title: title,\n tabIndex: 0,\n onKeyDown: handleKeyDown\n }, optionalEvents),\n children,\n transparent && React.createElement(Checkboard, {\n borderRadius: styles.swatch.borderRadius,\n boxShadow: 'inset 0 0 0 1px rgba(0,0,0,0.1)'\n })\n );\n};\n\nexport default handleFocus(Swatch);", "var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/* eslint-disable no-invalid-this */\nimport React from 'react';\n\nexport var handleFocus = function handleFocus(Component) {\n var Span = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'span';\n return function (_React$Component) {\n _inherits(Focus, _React$Component);\n\n function Focus() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Focus);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Focus.__proto__ || Object.getPrototypeOf(Focus)).call.apply(_ref, [this].concat(args))), _this), _this.state = { focus: false }, _this.handleFocus = function () {\n return _this.setState({ focus: true });\n }, _this.handleBlur = function () {\n return _this.setState({ focus: false });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Focus, [{\n key: 'render',\n value: function render() {\n return React.createElement(\n Span,\n { onFocus: this.handleFocus, onBlur: this.handleBlur },\n React.createElement(Component, _extends({}, this.props, this.state))\n );\n }\n }]);\n\n return Focus;\n }(React.Component);\n};", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nexport var AlphaPointer = function AlphaPointer(_ref) {\n var direction = _ref.direction;\n\n var styles = reactCSS({\n 'default': {\n picker: {\n width: '18px',\n height: '18px',\n borderRadius: '50%',\n transform: 'translate(-9px, -1px)',\n backgroundColor: 'rgb(248, 248, 248)',\n boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'\n }\n },\n 'vertical': {\n picker: {\n transform: 'translate(-3px, -9px)'\n }\n }\n }, { vertical: direction === 'vertical' });\n\n return React.createElement('div', { style: styles.picker });\n};\n\nexport default AlphaPointer;", "import React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport merge from 'lodash-es/merge';\nimport * as color from '../../helpers/color';\n\nimport { ColorWrap, EditableInput, Checkboard } from '../common';\nimport BlockSwatches from './BlockSwatches';\n\nexport var Block = function Block(_ref) {\n var onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n hex = _ref.hex,\n colors = _ref.colors,\n width = _ref.width,\n triangle = _ref.triangle,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var transparent = hex === 'transparent';\n var handleChange = function handleChange(hexCode, e) {\n color.isValidHex(hexCode) && onChange({\n hex: hexCode,\n source: 'hex'\n }, e);\n };\n\n var styles = reactCSS(merge({\n 'default': {\n card: {\n width: width,\n background: '#fff',\n boxShadow: '0 1px rgba(0,0,0,.1)',\n borderRadius: '6px',\n position: 'relative'\n },\n head: {\n height: '110px',\n background: hex,\n borderRadius: '6px 6px 0 0',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative'\n },\n body: {\n padding: '10px'\n },\n label: {\n fontSize: '18px',\n color: color.getContrastingColor(hex),\n position: 'relative'\n },\n triangle: {\n width: '0px',\n height: '0px',\n borderStyle: 'solid',\n borderWidth: '0 10px 10px 10px',\n borderColor: 'transparent transparent ' + hex + ' transparent',\n position: 'absolute',\n top: '-10px',\n left: '50%',\n marginLeft: '-10px'\n },\n input: {\n width: '100%',\n fontSize: '12px',\n color: '#666',\n border: '0px',\n outline: 'none',\n height: '22px',\n boxShadow: 'inset 0 0 0 1px #ddd',\n borderRadius: '4px',\n padding: '0 7px',\n boxSizing: 'border-box'\n }\n },\n 'hide-triangle': {\n triangle: {\n display: 'none'\n }\n }\n }, passedStyles), { 'hide-triangle': triangle === 'hide' });\n\n return React.createElement(\n 'div',\n { style: styles.card, className: 'block-picker ' + className },\n React.createElement('div', { style: styles.triangle }),\n React.createElement(\n 'div',\n { style: styles.head },\n transparent && React.createElement(Checkboard, { borderRadius: '6px 6px 0 0' }),\n React.createElement(\n 'div',\n { style: styles.label },\n hex\n )\n ),\n React.createElement(\n 'div',\n { style: styles.body },\n React.createElement(BlockSwatches, { colors: colors, onClick: handleChange, onSwatchHover: onSwatchHover }),\n React.createElement(EditableInput, {\n style: { input: styles.input },\n value: hex,\n onChange: handleChange\n })\n )\n );\n};\n\nBlock.propTypes = {\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n colors: PropTypes.arrayOf(PropTypes.string),\n triangle: PropTypes.oneOf(['top', 'hide']),\n styles: PropTypes.object\n};\n\nBlock.defaultProps = {\n width: 170,\n colors: ['#D9E3F0', '#F47373', '#697689', '#37D67A', '#2CCCE4', '#555555', '#dce775', '#ff8a65', '#ba68c8'],\n triangle: 'top',\n styles: {}\n};\n\nexport default ColorWrap(Block);", "import React from 'react';\nimport reactCSS from 'reactcss';\nimport map from 'lodash-es/map';\n\nimport { Swatch } from '../common';\n\nexport var BlockSwatches = function BlockSwatches(_ref) {\n var colors = _ref.colors,\n onClick = _ref.onClick,\n onSwatchHover = _ref.onSwatchHover;\n\n var styles = reactCSS({\n 'default': {\n swatches: {\n marginRight: '-10px'\n },\n swatch: {\n width: '22px',\n height: '22px',\n float: 'left',\n marginRight: '10px',\n marginBottom: '10px',\n borderRadius: '4px'\n },\n clear: {\n clear: 'both'\n }\n }\n });\n\n return React.createElement(\n 'div',\n { style: styles.swatches },\n map(colors, function (c) {\n return React.createElement(Swatch, {\n key: c,\n color: c,\n style: styles.swatch,\n onClick: onClick,\n onHover: onSwatchHover,\n focusStyle: {\n boxShadow: '0 0 4px ' + c\n }\n });\n }),\n React.createElement('div', { style: styles.clear })\n );\n};\n\nexport default BlockSwatches;", "/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nexport default arrayMap;\n", "/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nexport default setCacheAdd;\n", "/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nexport default setCacheHas;\n", "import MapCache from './_MapCache.js';\nimport setCacheAdd from './_setCacheAdd.js';\nimport setCacheHas from './_setCacheHas.js';\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nexport default SetCache;\n", "/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nexport default arraySome;\n", "/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nexport default cacheHas;\n", "import SetCache from './_SetCache.js';\nimport arraySome from './_arraySome.js';\nimport cacheHas from './_cacheHas.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nexport default equalArrays;\n", "/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nexport default mapToArray;\n", "/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nexport default setToArray;\n", "import Symbol from './_Symbol.js';\nimport Uint8Array from './_Uint8Array.js';\nimport eq from './eq.js';\nimport equalArrays from './_equalArrays.js';\nimport mapToArray from './_mapToArray.js';\nimport setToArray from './_setToArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nexport default equalByTag;\n", "/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nexport default arrayPush;\n", "import arrayPush from './_arrayPush.js';\nimport isArray from './isArray.js';\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nexport default baseGetAllKeys;\n", "/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nexport default arrayFilter;\n", "/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nexport default stubArray;\n", "import arrayFilter from './_arrayFilter.js';\nimport stubArray from './stubArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nexport default getSymbols;\n", "import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nexport default getAllKeys;\n", "import getAllKeys from './_getAllKeys.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nexport default equalObjects;\n", "import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nexport default DataView;\n", "import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nexport default Promise;\n", "import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n", "import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n", "import DataView from './_DataView.js';\nimport Map from './_Map.js';\nimport Promise from './_Promise.js';\nimport Set from './_Set.js';\nimport WeakMap from './_WeakMap.js';\nimport baseGetTag from './_baseGetTag.js';\nimport toSource from './_toSource.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nexport default getTag;\n", "import Stack from './_Stack.js';\nimport equalArrays from './_equalArrays.js';\nimport equalByTag from './_equalByTag.js';\nimport equalObjects from './_equalObjects.js';\nimport getTag from './_getTag.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nexport default baseIsEqualDeep;\n", "import baseIsEqualDeep from './_baseIsEqualDeep.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nexport default baseIsEqual;\n", "import Stack from './_Stack.js';\nimport baseIsEqual from './_baseIsEqual.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nexport default baseIsMatch;\n", "import isObject from './isObject.js';\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nexport default isStrictComparable;\n", "import isStrictComparable from './_isStrictComparable.js';\nimport keys from './keys.js';\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nexport default getMatchData;\n", "/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nexport default matchesStrictComparable;\n", "import baseIsMatch from './_baseIsMatch.js';\nimport getMatchData from './_getMatchData.js';\nimport matchesStrictComparable from './_matchesStrictComparable.js';\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nexport default baseMatches;\n", "import isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nexport default isKey;\n", "import MapCache from './_MapCache.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nexport default memoize;\n", "import memoize from './memoize.js';\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nexport default memoizeCapped;\n", "import memoizeCapped from './_memoizeCapped.js';\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nexport default stringToPath;\n", "import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default baseToString;\n", "import baseToString from './_baseToString.js';\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nexport default toString;\n", "import isArray from './isArray.js';\nimport isKey from './_isKey.js';\nimport stringToPath from './_stringToPath.js';\nimport toString from './toString.js';\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nexport default castPath;\n", "import isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default toKey;\n", "import castPath from './_castPath.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nexport default baseGet;\n", "import baseGet from './_baseGet.js';\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nexport default get;\n", "/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nexport default baseHasIn;\n", "import castPath from './_castPath.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isIndex from './_isIndex.js';\nimport isLength from './isLength.js';\nimport toKey from './_toKey.js';\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nexport default hasPath;\n", "import baseHasIn from './_baseHasIn.js';\nimport hasPath from './_hasPath.js';\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nexport default hasIn;\n", "import baseIsEqual from './_baseIsEqual.js';\nimport get from './get.js';\nimport hasIn from './hasIn.js';\nimport isKey from './_isKey.js';\nimport isStrictComparable from './_isStrictComparable.js';\nimport matchesStrictComparable from './_matchesStrictComparable.js';\nimport toKey from './_toKey.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nexport default baseMatchesProperty;\n", "/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nexport default baseProperty;\n", "import baseGet from './_baseGet.js';\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nexport default basePropertyDeep;\n", "import baseProperty from './_baseProperty.js';\nimport basePropertyDeep from './_basePropertyDeep.js';\nimport isKey from './_isKey.js';\nimport toKey from './_toKey.js';\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nexport default property;\n", "import baseMatches from './_baseMatches.js';\nimport baseMatchesProperty from './_baseMatchesProperty.js';\nimport identity from './identity.js';\nimport isArray from './isArray.js';\nimport property from './property.js';\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nexport default baseIteratee;\n", "import baseEach from './_baseEach.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nexport default baseMap;\n", "import arrayMap from './_arrayMap.js';\nimport baseIteratee from './_baseIteratee.js';\nimport baseMap from './_baseMap.js';\nimport isArray from './isArray.js';\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, baseIteratee(iteratee, 3));\n}\n\nexport default map;\n", "import React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport map from 'lodash-es/map';\nimport merge from 'lodash-es/merge';\nimport * as material from 'material-colors';\n\nimport { ColorWrap } from '../common';\nimport CircleSwatch from './CircleSwatch';\n\nexport var Circle = function Circle(_ref) {\n var width = _ref.width,\n onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n colors = _ref.colors,\n hex = _ref.hex,\n circleSize = _ref.circleSize,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n circleSpacing = _ref.circleSpacing,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = reactCSS(merge({\n 'default': {\n card: {\n width: width,\n display: 'flex',\n flexWrap: 'wrap',\n marginRight: -circleSpacing,\n marginBottom: -circleSpacing\n }\n }\n }, passedStyles));\n\n var handleChange = function handleChange(hexCode, e) {\n return onChange({ hex: hexCode, source: 'hex' }, e);\n };\n\n return React.createElement(\n 'div',\n { style: styles.card, className: 'circle-picker ' + className },\n map(colors, function (c) {\n return React.createElement(CircleSwatch, {\n key: c,\n color: c,\n onClick: handleChange,\n onSwatchHover: onSwatchHover,\n active: hex === c.toLowerCase(),\n circleSize: circleSize,\n circleSpacing: circleSpacing\n });\n })\n );\n};\n\nCircle.propTypes = {\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n circleSize: PropTypes.number,\n circleSpacing: PropTypes.number,\n styles: PropTypes.object\n};\n\nCircle.defaultProps = {\n width: 252,\n circleSize: 28,\n circleSpacing: 14,\n colors: [material.red['500'], material.pink['500'], material.purple['500'], material.deepPurple['500'], material.indigo['500'], material.blue['500'], material.lightBlue['500'], material.cyan['500'], material.teal['500'], material.green['500'], material.lightGreen['500'], material.lime['500'], material.yellow['500'], material.amber['500'], material.orange['500'], material.deepOrange['500'], material.brown['500'], material.blueGrey['500']],\n styles: {}\n};\n\nexport default ColorWrap(Circle);", "export var red = {\"50\":\"#ffebee\",\"100\":\"#ffcdd2\",\"200\":\"#ef9a9a\",\"300\":\"#e57373\",\"400\":\"#ef5350\",\"500\":\"#f44336\",\"600\":\"#e53935\",\"700\":\"#d32f2f\",\"800\":\"#c62828\",\"900\":\"#b71c1c\",\"a100\":\"#ff8a80\",\"a200\":\"#ff5252\",\"a400\":\"#ff1744\",\"a700\":\"#d50000\"};\nexport var pink = {\"50\":\"#fce4ec\",\"100\":\"#f8bbd0\",\"200\":\"#f48fb1\",\"300\":\"#f06292\",\"400\":\"#ec407a\",\"500\":\"#e91e63\",\"600\":\"#d81b60\",\"700\":\"#c2185b\",\"800\":\"#ad1457\",\"900\":\"#880e4f\",\"a100\":\"#ff80ab\",\"a200\":\"#ff4081\",\"a400\":\"#f50057\",\"a700\":\"#c51162\"};\nexport var purple = {\"50\":\"#f3e5f5\",\"100\":\"#e1bee7\",\"200\":\"#ce93d8\",\"300\":\"#ba68c8\",\"400\":\"#ab47bc\",\"500\":\"#9c27b0\",\"600\":\"#8e24aa\",\"700\":\"#7b1fa2\",\"800\":\"#6a1b9a\",\"900\":\"#4a148c\",\"a100\":\"#ea80fc\",\"a200\":\"#e040fb\",\"a400\":\"#d500f9\",\"a700\":\"#aa00ff\"};\nexport var deepPurple = {\"50\":\"#ede7f6\",\"100\":\"#d1c4e9\",\"200\":\"#b39ddb\",\"300\":\"#9575cd\",\"400\":\"#7e57c2\",\"500\":\"#673ab7\",\"600\":\"#5e35b1\",\"700\":\"#512da8\",\"800\":\"#4527a0\",\"900\":\"#311b92\",\"a100\":\"#b388ff\",\"a200\":\"#7c4dff\",\"a400\":\"#651fff\",\"a700\":\"#6200ea\"};\nexport var indigo = {\"50\":\"#e8eaf6\",\"100\":\"#c5cae9\",\"200\":\"#9fa8da\",\"300\":\"#7986cb\",\"400\":\"#5c6bc0\",\"500\":\"#3f51b5\",\"600\":\"#3949ab\",\"700\":\"#303f9f\",\"800\":\"#283593\",\"900\":\"#1a237e\",\"a100\":\"#8c9eff\",\"a200\":\"#536dfe\",\"a400\":\"#3d5afe\",\"a700\":\"#304ffe\"};\nexport var blue = {\"50\":\"#e3f2fd\",\"100\":\"#bbdefb\",\"200\":\"#90caf9\",\"300\":\"#64b5f6\",\"400\":\"#42a5f5\",\"500\":\"#2196f3\",\"600\":\"#1e88e5\",\"700\":\"#1976d2\",\"800\":\"#1565c0\",\"900\":\"#0d47a1\",\"a100\":\"#82b1ff\",\"a200\":\"#448aff\",\"a400\":\"#2979ff\",\"a700\":\"#2962ff\"};\nexport var lightBlue = {\"50\":\"#e1f5fe\",\"100\":\"#b3e5fc\",\"200\":\"#81d4fa\",\"300\":\"#4fc3f7\",\"400\":\"#29b6f6\",\"500\":\"#03a9f4\",\"600\":\"#039be5\",\"700\":\"#0288d1\",\"800\":\"#0277bd\",\"900\":\"#01579b\",\"a100\":\"#80d8ff\",\"a200\":\"#40c4ff\",\"a400\":\"#00b0ff\",\"a700\":\"#0091ea\"};\nexport var cyan = {\"50\":\"#e0f7fa\",\"100\":\"#b2ebf2\",\"200\":\"#80deea\",\"300\":\"#4dd0e1\",\"400\":\"#26c6da\",\"500\":\"#00bcd4\",\"600\":\"#00acc1\",\"700\":\"#0097a7\",\"800\":\"#00838f\",\"900\":\"#006064\",\"a100\":\"#84ffff\",\"a200\":\"#18ffff\",\"a400\":\"#00e5ff\",\"a700\":\"#00b8d4\"};\nexport var teal = {\"50\":\"#e0f2f1\",\"100\":\"#b2dfdb\",\"200\":\"#80cbc4\",\"300\":\"#4db6ac\",\"400\":\"#26a69a\",\"500\":\"#009688\",\"600\":\"#00897b\",\"700\":\"#00796b\",\"800\":\"#00695c\",\"900\":\"#004d40\",\"a100\":\"#a7ffeb\",\"a200\":\"#64ffda\",\"a400\":\"#1de9b6\",\"a700\":\"#00bfa5\"};\nexport var green = {\"50\":\"#e8f5e9\",\"100\":\"#c8e6c9\",\"200\":\"#a5d6a7\",\"300\":\"#81c784\",\"400\":\"#66bb6a\",\"500\":\"#4caf50\",\"600\":\"#43a047\",\"700\":\"#388e3c\",\"800\":\"#2e7d32\",\"900\":\"#1b5e20\",\"a100\":\"#b9f6ca\",\"a200\":\"#69f0ae\",\"a400\":\"#00e676\",\"a700\":\"#00c853\"};\nexport var lightGreen = {\"50\":\"#f1f8e9\",\"100\":\"#dcedc8\",\"200\":\"#c5e1a5\",\"300\":\"#aed581\",\"400\":\"#9ccc65\",\"500\":\"#8bc34a\",\"600\":\"#7cb342\",\"700\":\"#689f38\",\"800\":\"#558b2f\",\"900\":\"#33691e\",\"a100\":\"#ccff90\",\"a200\":\"#b2ff59\",\"a400\":\"#76ff03\",\"a700\":\"#64dd17\"};\nexport var lime = {\"50\":\"#f9fbe7\",\"100\":\"#f0f4c3\",\"200\":\"#e6ee9c\",\"300\":\"#dce775\",\"400\":\"#d4e157\",\"500\":\"#cddc39\",\"600\":\"#c0ca33\",\"700\":\"#afb42b\",\"800\":\"#9e9d24\",\"900\":\"#827717\",\"a100\":\"#f4ff81\",\"a200\":\"#eeff41\",\"a400\":\"#c6ff00\",\"a700\":\"#aeea00\"};\nexport var yellow = {\"50\":\"#fffde7\",\"100\":\"#fff9c4\",\"200\":\"#fff59d\",\"300\":\"#fff176\",\"400\":\"#ffee58\",\"500\":\"#ffeb3b\",\"600\":\"#fdd835\",\"700\":\"#fbc02d\",\"800\":\"#f9a825\",\"900\":\"#f57f17\",\"a100\":\"#ffff8d\",\"a200\":\"#ffff00\",\"a400\":\"#ffea00\",\"a700\":\"#ffd600\"};\nexport var amber = {\"50\":\"#fff8e1\",\"100\":\"#ffecb3\",\"200\":\"#ffe082\",\"300\":\"#ffd54f\",\"400\":\"#ffca28\",\"500\":\"#ffc107\",\"600\":\"#ffb300\",\"700\":\"#ffa000\",\"800\":\"#ff8f00\",\"900\":\"#ff6f00\",\"a100\":\"#ffe57f\",\"a200\":\"#ffd740\",\"a400\":\"#ffc400\",\"a700\":\"#ffab00\"};\nexport var orange = {\"50\":\"#fff3e0\",\"100\":\"#ffe0b2\",\"200\":\"#ffcc80\",\"300\":\"#ffb74d\",\"400\":\"#ffa726\",\"500\":\"#ff9800\",\"600\":\"#fb8c00\",\"700\":\"#f57c00\",\"800\":\"#ef6c00\",\"900\":\"#e65100\",\"a100\":\"#ffd180\",\"a200\":\"#ffab40\",\"a400\":\"#ff9100\",\"a700\":\"#ff6d00\"};\nexport var deepOrange = {\"50\":\"#fbe9e7\",\"100\":\"#ffccbc\",\"200\":\"#ffab91\",\"300\":\"#ff8a65\",\"400\":\"#ff7043\",\"500\":\"#ff5722\",\"600\":\"#f4511e\",\"700\":\"#e64a19\",\"800\":\"#d84315\",\"900\":\"#bf360c\",\"a100\":\"#ff9e80\",\"a200\":\"#ff6e40\",\"a400\":\"#ff3d00\",\"a700\":\"#dd2c00\"};\nexport var brown = {\"50\":\"#efebe9\",\"100\":\"#d7ccc8\",\"200\":\"#bcaaa4\",\"300\":\"#a1887f\",\"400\":\"#8d6e63\",\"500\":\"#795548\",\"600\":\"#6d4c41\",\"700\":\"#5d4037\",\"800\":\"#4e342e\",\"900\":\"#3e2723\"};\nexport var grey = {\"50\":\"#fafafa\",\"100\":\"#f5f5f5\",\"200\":\"#eeeeee\",\"300\":\"#e0e0e0\",\"400\":\"#bdbdbd\",\"500\":\"#9e9e9e\",\"600\":\"#757575\",\"700\":\"#616161\",\"800\":\"#424242\",\"900\":\"#212121\"};\nexport var blueGrey = {\"50\":\"#eceff1\",\"100\":\"#cfd8dc\",\"200\":\"#b0bec5\",\"300\":\"#90a4ae\",\"400\":\"#78909c\",\"500\":\"#607d8b\",\"600\":\"#546e7a\",\"700\":\"#455a64\",\"800\":\"#37474f\",\"900\":\"#263238\"};\nexport var darkText = {\"primary\":\"rgba(0, 0, 0, 0.87)\",\"secondary\":\"rgba(0, 0, 0, 0.54)\",\"disabled\":\"rgba(0, 0, 0, 0.38)\",\"dividers\":\"rgba(0, 0, 0, 0.12)\"};\nexport var lightText = {\"primary\":\"rgba(255, 255, 255, 1)\",\"secondary\":\"rgba(255, 255, 255, 0.7)\",\"disabled\":\"rgba(255, 255, 255, 0.5)\",\"dividers\":\"rgba(255, 255, 255, 0.12)\"};\nexport var darkIcons = {\"active\":\"rgba(0, 0, 0, 0.54)\",\"inactive\":\"rgba(0, 0, 0, 0.38)\"};\nexport var lightIcons = {\"active\":\"rgba(255, 255, 255, 1)\",\"inactive\":\"rgba(255, 255, 255, 0.5)\"};\nexport var white = \"#ffffff\";\nexport var black = \"#000000\";\n\nexport default {\n red: red,\n pink: pink,\n purple: purple,\n deepPurple: deepPurple,\n indigo: indigo,\n blue: blue,\n lightBlue: lightBlue,\n cyan: cyan,\n teal: teal,\n green: green,\n lightGreen: lightGreen,\n lime: lime,\n yellow: yellow,\n amber: amber,\n orange: orange,\n deepOrange: deepOrange,\n brown: brown,\n grey: grey,\n blueGrey: blueGrey,\n darkText: darkText,\n lightText: lightText,\n darkIcons: darkIcons,\n lightIcons: lightIcons,\n white: white,\n black: black\n};\n", "import React from 'react';\nimport reactCSS, { handleHover } from 'reactcss';\n\nimport { Swatch } from '../common';\n\nexport var CircleSwatch = function CircleSwatch(_ref) {\n var color = _ref.color,\n onClick = _ref.onClick,\n onSwatchHover = _ref.onSwatchHover,\n hover = _ref.hover,\n active = _ref.active,\n circleSize = _ref.circleSize,\n circleSpacing = _ref.circleSpacing;\n\n var styles = reactCSS({\n 'default': {\n swatch: {\n width: circleSize,\n height: circleSize,\n marginRight: circleSpacing,\n marginBottom: circleSpacing,\n transform: 'scale(1)',\n transition: '100ms transform ease'\n },\n Swatch: {\n borderRadius: '50%',\n background: 'transparent',\n boxShadow: 'inset 0 0 0 ' + (circleSize / 2 + 1) + 'px ' + color,\n transition: '100ms box-shadow ease'\n }\n },\n 'hover': {\n swatch: {\n transform: 'scale(1.2)'\n }\n },\n 'active': {\n Swatch: {\n boxShadow: 'inset 0 0 0 3px ' + color\n }\n }\n }, { hover: hover, active: active });\n\n return React.createElement(\n 'div',\n { style: styles.swatch },\n React.createElement(Swatch, {\n style: styles.Swatch,\n color: color,\n onClick: onClick,\n onHover: onSwatchHover,\n focusStyle: { boxShadow: styles.Swatch.boxShadow + ', 0 0 5px ' + color }\n })\n );\n};\n\nCircleSwatch.defaultProps = {\n circleSize: 28,\n circleSpacing: 14\n};\n\nexport default handleHover(CircleSwatch);", "import React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport merge from 'lodash-es/merge';\n\nimport { ColorWrap, Saturation, Hue, Alpha, Checkboard } from '../common';\nimport ChromeFields from './ChromeFields';\nimport ChromePointer from './ChromePointer';\nimport ChromePointerCircle from './ChromePointerCircle';\n\nexport var Chrome = function Chrome(_ref) {\n var width = _ref.width,\n onChange = _ref.onChange,\n disableAlpha = _ref.disableAlpha,\n rgb = _ref.rgb,\n hsl = _ref.hsl,\n hsv = _ref.hsv,\n hex = _ref.hex,\n renderers = _ref.renderers,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className,\n defaultView = _ref.defaultView;\n\n var styles = reactCSS(merge({\n 'default': {\n picker: {\n width: width,\n background: '#fff',\n borderRadius: '2px',\n boxShadow: '0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3)',\n boxSizing: 'initial',\n fontFamily: 'Menlo'\n },\n saturation: {\n width: '100%',\n paddingBottom: '55%',\n position: 'relative',\n borderRadius: '2px 2px 0 0',\n overflow: 'hidden'\n },\n Saturation: {\n radius: '2px 2px 0 0'\n },\n body: {\n padding: '16px 16px 12px'\n },\n controls: {\n display: 'flex'\n },\n color: {\n width: '32px'\n },\n swatch: {\n marginTop: '6px',\n width: '16px',\n height: '16px',\n borderRadius: '8px',\n position: 'relative',\n overflow: 'hidden'\n },\n active: {\n absolute: '0px 0px 0px 0px',\n borderRadius: '8px',\n boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.1)',\n background: 'rgba(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ', ' + rgb.a + ')',\n zIndex: '2'\n },\n toggles: {\n flex: '1'\n },\n hue: {\n height: '10px',\n position: 'relative',\n marginBottom: '8px'\n },\n Hue: {\n radius: '2px'\n },\n alpha: {\n height: '10px',\n position: 'relative'\n },\n Alpha: {\n radius: '2px'\n }\n },\n 'disableAlpha': {\n color: {\n width: '22px'\n },\n alpha: {\n display: 'none'\n },\n hue: {\n marginBottom: '0px'\n },\n swatch: {\n width: '10px',\n height: '10px',\n marginTop: '0px'\n }\n }\n }, passedStyles), { disableAlpha: disableAlpha });\n\n return React.createElement(\n 'div',\n { style: styles.picker, className: 'chrome-picker ' + className },\n React.createElement(\n 'div',\n { style: styles.saturation },\n React.createElement(Saturation, {\n style: styles.Saturation,\n hsl: hsl,\n hsv: hsv,\n pointer: ChromePointerCircle,\n onChange: onChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.body },\n React.createElement(\n 'div',\n { style: styles.controls, className: 'flexbox-fix' },\n React.createElement(\n 'div',\n { style: styles.color },\n React.createElement(\n 'div',\n { style: styles.swatch },\n React.createElement('div', { style: styles.active }),\n React.createElement(Checkboard, { renderers: renderers })\n )\n ),\n React.createElement(\n 'div',\n { style: styles.toggles },\n React.createElement(\n 'div',\n { style: styles.hue },\n React.createElement(Hue, {\n style: styles.Hue,\n hsl: hsl,\n pointer: ChromePointer,\n onChange: onChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.alpha },\n React.createElement(Alpha, {\n style: styles.Alpha,\n rgb: rgb,\n hsl: hsl,\n pointer: ChromePointer,\n renderers: renderers,\n onChange: onChange\n })\n )\n )\n ),\n React.createElement(ChromeFields, {\n rgb: rgb,\n hsl: hsl,\n hex: hex,\n view: defaultView,\n onChange: onChange,\n disableAlpha: disableAlpha\n })\n )\n );\n};\n\nChrome.propTypes = {\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disableAlpha: PropTypes.bool,\n styles: PropTypes.object,\n defaultView: PropTypes.oneOf([\"hex\", \"rgb\", \"hsl\"])\n};\n\nChrome.defaultProps = {\n width: 225,\n disableAlpha: false,\n styles: {}\n};\n\nexport default ColorWrap(Chrome);", "var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/* eslint-disable react/no-did-mount-set-state, no-param-reassign */\n\nimport React from 'react';\nimport reactCSS from 'reactcss';\nimport * as color from '../../helpers/color';\nimport isUndefined from 'lodash-es/isUndefined';\n\nimport { EditableInput } from '../common';\nimport UnfoldMoreHorizontalIcon from '@icons/material/UnfoldMoreHorizontalIcon';\n\nexport var ChromeFields = function (_React$Component) {\n _inherits(ChromeFields, _React$Component);\n\n function ChromeFields(props) {\n _classCallCheck(this, ChromeFields);\n\n var _this = _possibleConstructorReturn(this, (ChromeFields.__proto__ || Object.getPrototypeOf(ChromeFields)).call(this));\n\n _this.toggleViews = function () {\n if (_this.state.view === 'hex') {\n _this.setState({ view: 'rgb' });\n } else if (_this.state.view === 'rgb') {\n _this.setState({ view: 'hsl' });\n } else if (_this.state.view === 'hsl') {\n if (_this.props.hsl.a === 1) {\n _this.setState({ view: 'hex' });\n } else {\n _this.setState({ view: 'rgb' });\n }\n }\n };\n\n _this.handleChange = function (data, e) {\n if (data.hex) {\n color.isValidHex(data.hex) && _this.props.onChange({\n hex: data.hex,\n source: 'hex'\n }, e);\n } else if (data.r || data.g || data.b) {\n _this.props.onChange({\n r: data.r || _this.props.rgb.r,\n g: data.g || _this.props.rgb.g,\n b: data.b || _this.props.rgb.b,\n source: 'rgb'\n }, e);\n } else if (data.a) {\n if (data.a < 0) {\n data.a = 0;\n } else if (data.a > 1) {\n data.a = 1;\n }\n\n _this.props.onChange({\n h: _this.props.hsl.h,\n s: _this.props.hsl.s,\n l: _this.props.hsl.l,\n a: Math.round(data.a * 100) / 100,\n source: 'rgb'\n }, e);\n } else if (data.h || data.s || data.l) {\n // Remove any occurances of '%'.\n if (typeof data.s === 'string' && data.s.includes('%')) {\n data.s = data.s.replace('%', '');\n }\n if (typeof data.l === 'string' && data.l.includes('%')) {\n data.l = data.l.replace('%', '');\n }\n\n // We store HSL as a unit interval so we need to override the 1 input to 0.01\n if (data.s == 1) {\n data.s = 0.01;\n } else if (data.l == 1) {\n data.l = 0.01;\n }\n\n _this.props.onChange({\n h: data.h || _this.props.hsl.h,\n s: Number(!isUndefined(data.s) ? data.s : _this.props.hsl.s),\n l: Number(!isUndefined(data.l) ? data.l : _this.props.hsl.l),\n source: 'hsl'\n }, e);\n }\n };\n\n _this.showHighlight = function (e) {\n e.currentTarget.style.background = '#eee';\n };\n\n _this.hideHighlight = function (e) {\n e.currentTarget.style.background = 'transparent';\n };\n\n if (props.hsl.a !== 1 && props.view === \"hex\") {\n _this.state = {\n view: \"rgb\"\n };\n } else {\n _this.state = {\n view: props.view\n };\n }\n return _this;\n }\n\n _createClass(ChromeFields, [{\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var styles = reactCSS({\n 'default': {\n wrap: {\n paddingTop: '16px',\n display: 'flex'\n },\n fields: {\n flex: '1',\n display: 'flex',\n marginLeft: '-6px'\n },\n field: {\n paddingLeft: '6px',\n width: '100%'\n },\n alpha: {\n paddingLeft: '6px',\n width: '100%'\n },\n toggle: {\n width: '32px',\n textAlign: 'right',\n position: 'relative'\n },\n icon: {\n marginRight: '-4px',\n marginTop: '12px',\n cursor: 'pointer',\n position: 'relative'\n },\n iconHighlight: {\n position: 'absolute',\n width: '24px',\n height: '28px',\n background: '#eee',\n borderRadius: '4px',\n top: '10px',\n left: '12px',\n display: 'none'\n },\n input: {\n fontSize: '11px',\n color: '#333',\n width: '100%',\n borderRadius: '2px',\n border: 'none',\n boxShadow: 'inset 0 0 0 1px #dadada',\n height: '21px',\n textAlign: 'center'\n },\n label: {\n textTransform: 'uppercase',\n fontSize: '11px',\n lineHeight: '11px',\n color: '#969696',\n textAlign: 'center',\n display: 'block',\n marginTop: '12px'\n },\n svg: {\n fill: '#333',\n width: '24px',\n height: '24px',\n border: '1px transparent solid',\n borderRadius: '5px'\n }\n },\n 'disableAlpha': {\n alpha: {\n display: 'none'\n }\n }\n }, this.props, this.state);\n\n var fields = void 0;\n if (this.state.view === 'hex') {\n fields = React.createElement(\n 'div',\n { style: styles.fields, className: 'flexbox-fix' },\n React.createElement(\n 'div',\n { style: styles.field },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'hex', value: this.props.hex,\n onChange: this.handleChange\n })\n )\n );\n } else if (this.state.view === 'rgb') {\n fields = React.createElement(\n 'div',\n { style: styles.fields, className: 'flexbox-fix' },\n React.createElement(\n 'div',\n { style: styles.field },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'r',\n value: this.props.rgb.r,\n onChange: this.handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.field },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'g',\n value: this.props.rgb.g,\n onChange: this.handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.field },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'b',\n value: this.props.rgb.b,\n onChange: this.handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.alpha },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'a',\n value: this.props.rgb.a,\n arrowOffset: 0.01,\n onChange: this.handleChange\n })\n )\n );\n } else if (this.state.view === 'hsl') {\n fields = React.createElement(\n 'div',\n { style: styles.fields, className: 'flexbox-fix' },\n React.createElement(\n 'div',\n { style: styles.field },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'h',\n value: Math.round(this.props.hsl.h),\n onChange: this.handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.field },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 's',\n value: Math.round(this.props.hsl.s * 100) + '%',\n onChange: this.handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.field },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'l',\n value: Math.round(this.props.hsl.l * 100) + '%',\n onChange: this.handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.alpha },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'a',\n value: this.props.hsl.a,\n arrowOffset: 0.01,\n onChange: this.handleChange\n })\n )\n );\n }\n\n return React.createElement(\n 'div',\n { style: styles.wrap, className: 'flexbox-fix' },\n fields,\n React.createElement(\n 'div',\n { style: styles.toggle },\n React.createElement(\n 'div',\n { style: styles.icon, onClick: this.toggleViews, ref: function ref(icon) {\n return _this2.icon = icon;\n } },\n React.createElement(UnfoldMoreHorizontalIcon, {\n style: styles.svg,\n onMouseOver: this.showHighlight,\n onMouseEnter: this.showHighlight,\n onMouseOut: this.hideHighlight\n })\n )\n )\n );\n }\n }], [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(nextProps, state) {\n if (nextProps.hsl.a !== 1 && state.view === 'hex') {\n return { view: 'rgb' };\n }\n return null;\n }\n }]);\n\n return ChromeFields;\n}(React.Component);\n\nChromeFields.defaultProps = {\n view: \"hex\"\n};\n\nexport default ChromeFields;", "/**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\nfunction isUndefined(value) {\n return value === undefined;\n}\n\nexport default isUndefined;\n", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nexport var ChromePointer = function ChromePointer() {\n var styles = reactCSS({\n 'default': {\n picker: {\n width: '12px',\n height: '12px',\n borderRadius: '6px',\n transform: 'translate(-6px, -1px)',\n backgroundColor: 'rgb(248, 248, 248)',\n boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'\n }\n }\n });\n\n return React.createElement('div', { style: styles.picker });\n};\n\nexport default ChromePointer;", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nexport var ChromePointerCircle = function ChromePointerCircle() {\n var styles = reactCSS({\n 'default': {\n picker: {\n width: '12px',\n height: '12px',\n borderRadius: '6px',\n boxShadow: 'inset 0 0 0 1px #fff',\n transform: 'translate(-6px, -6px)'\n }\n }\n });\n\n return React.createElement('div', { style: styles.picker });\n};\n\nexport default ChromePointerCircle;", "import React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport map from 'lodash-es/map';\nimport merge from 'lodash-es/merge';\nimport * as color from '../../helpers/color';\n\nimport { ColorWrap, Raised } from '../common';\nimport CompactColor from './CompactColor';\nimport CompactFields from './CompactFields';\n\nexport var Compact = function Compact(_ref) {\n var onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n colors = _ref.colors,\n hex = _ref.hex,\n rgb = _ref.rgb,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = reactCSS(merge({\n 'default': {\n Compact: {\n background: '#f6f6f6',\n radius: '4px'\n },\n compact: {\n paddingTop: '5px',\n paddingLeft: '5px',\n boxSizing: 'initial',\n width: '240px'\n },\n clear: {\n clear: 'both'\n }\n }\n }, passedStyles));\n\n var handleChange = function handleChange(data, e) {\n if (data.hex) {\n color.isValidHex(data.hex) && onChange({\n hex: data.hex,\n source: 'hex'\n }, e);\n } else {\n onChange(data, e);\n }\n };\n\n return React.createElement(\n Raised,\n { style: styles.Compact, styles: passedStyles },\n React.createElement(\n 'div',\n { style: styles.compact, className: 'compact-picker ' + className },\n React.createElement(\n 'div',\n null,\n map(colors, function (c) {\n return React.createElement(CompactColor, {\n key: c,\n color: c,\n active: c.toLowerCase() === hex,\n onClick: handleChange,\n onSwatchHover: onSwatchHover\n });\n }),\n React.createElement('div', { style: styles.clear })\n ),\n React.createElement(CompactFields, { hex: hex, rgb: rgb, onChange: handleChange })\n )\n );\n};\n\nCompact.propTypes = {\n colors: PropTypes.arrayOf(PropTypes.string),\n styles: PropTypes.object\n};\n\nCompact.defaultProps = {\n colors: ['#4D4D4D', '#999999', '#FFFFFF', '#F44E3B', '#FE9200', '#FCDC00', '#DBDF00', '#A4DD00', '#68CCCA', '#73D8FF', '#AEA1FF', '#FDA1FF', '#333333', '#808080', '#cccccc', '#D33115', '#E27300', '#FCC400', '#B0BC00', '#68BC00', '#16A5A5', '#009CE0', '#7B64FF', '#FA28FF', '#000000', '#666666', '#B3B3B3', '#9F0500', '#C45100', '#FB9E00', '#808900', '#194D33', '#0C797D', '#0062B1', '#653294', '#AB149E'],\n styles: {}\n};\n\nexport default ColorWrap(Compact);", "import React from 'react';\nimport reactCSS from 'reactcss';\nimport * as colorUtils from '../../helpers/color';\n\nimport { Swatch } from '../common';\n\nexport var CompactColor = function CompactColor(_ref) {\n var color = _ref.color,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n onSwatchHover = _ref.onSwatchHover,\n active = _ref.active;\n\n var styles = reactCSS({\n 'default': {\n color: {\n background: color,\n width: '15px',\n height: '15px',\n float: 'left',\n marginRight: '5px',\n marginBottom: '5px',\n position: 'relative',\n cursor: 'pointer'\n },\n dot: {\n absolute: '5px 5px 5px 5px',\n background: colorUtils.getContrastingColor(color),\n borderRadius: '50%',\n opacity: '0'\n }\n },\n 'active': {\n dot: {\n opacity: '1'\n }\n },\n 'color-#FFFFFF': {\n color: {\n boxShadow: 'inset 0 0 0 1px #ddd'\n },\n dot: {\n background: '#000'\n }\n },\n 'transparent': {\n dot: {\n background: '#000'\n }\n }\n }, { active: active, 'color-#FFFFFF': color === '#FFFFFF', 'transparent': color === 'transparent' });\n\n return React.createElement(\n Swatch,\n {\n style: styles.color,\n color: color,\n onClick: onClick,\n onHover: onSwatchHover,\n focusStyle: { boxShadow: '0 0 4px ' + color }\n },\n React.createElement('div', { style: styles.dot })\n );\n};\n\nexport default CompactColor;", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nimport { EditableInput } from '../common';\n\nexport var CompactFields = function CompactFields(_ref) {\n var hex = _ref.hex,\n rgb = _ref.rgb,\n onChange = _ref.onChange;\n\n var styles = reactCSS({\n 'default': {\n fields: {\n display: 'flex',\n paddingBottom: '6px',\n paddingRight: '5px',\n position: 'relative'\n },\n active: {\n position: 'absolute',\n top: '6px',\n left: '5px',\n height: '9px',\n width: '9px',\n background: hex\n },\n HEXwrap: {\n flex: '6',\n position: 'relative'\n },\n HEXinput: {\n width: '80%',\n padding: '0px',\n paddingLeft: '20%',\n border: 'none',\n outline: 'none',\n background: 'none',\n fontSize: '12px',\n color: '#333',\n height: '16px'\n },\n HEXlabel: {\n display: 'none'\n },\n RGBwrap: {\n flex: '3',\n position: 'relative'\n },\n RGBinput: {\n width: '70%',\n padding: '0px',\n paddingLeft: '30%',\n border: 'none',\n outline: 'none',\n background: 'none',\n fontSize: '12px',\n color: '#333',\n height: '16px'\n },\n RGBlabel: {\n position: 'absolute',\n top: '3px',\n left: '0px',\n lineHeight: '16px',\n textTransform: 'uppercase',\n fontSize: '12px',\n color: '#999'\n }\n }\n });\n\n var handleChange = function handleChange(data, e) {\n if (data.r || data.g || data.b) {\n onChange({\n r: data.r || rgb.r,\n g: data.g || rgb.g,\n b: data.b || rgb.b,\n source: 'rgb'\n }, e);\n } else {\n onChange({\n hex: data.hex,\n source: 'hex'\n }, e);\n }\n };\n\n return React.createElement(\n 'div',\n { style: styles.fields, className: 'flexbox-fix' },\n React.createElement('div', { style: styles.active }),\n React.createElement(EditableInput, {\n style: { wrap: styles.HEXwrap, input: styles.HEXinput, label: styles.HEXlabel },\n label: 'hex',\n value: hex,\n onChange: handleChange\n }),\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'r',\n value: rgb.r,\n onChange: handleChange\n }),\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'g',\n value: rgb.g,\n onChange: handleChange\n }),\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'b',\n value: rgb.b,\n onChange: handleChange\n })\n );\n};\n\nexport default CompactFields;", "import React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport map from 'lodash-es/map';\nimport merge from 'lodash-es/merge';\n\nimport { ColorWrap } from '../common';\nimport GithubSwatch from './GithubSwatch';\n\nexport var Github = function Github(_ref) {\n var width = _ref.width,\n colors = _ref.colors,\n onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n triangle = _ref.triangle,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = reactCSS(merge({\n 'default': {\n card: {\n width: width,\n background: '#fff',\n border: '1px solid rgba(0,0,0,0.2)',\n boxShadow: '0 3px 12px rgba(0,0,0,0.15)',\n borderRadius: '4px',\n position: 'relative',\n padding: '5px',\n display: 'flex',\n flexWrap: 'wrap'\n },\n triangle: {\n position: 'absolute',\n border: '7px solid transparent',\n borderBottomColor: '#fff'\n },\n triangleShadow: {\n position: 'absolute',\n border: '8px solid transparent',\n borderBottomColor: 'rgba(0,0,0,0.15)'\n }\n },\n 'hide-triangle': {\n triangle: {\n display: 'none'\n },\n triangleShadow: {\n display: 'none'\n }\n },\n 'top-left-triangle': {\n triangle: {\n top: '-14px',\n left: '10px'\n },\n triangleShadow: {\n top: '-16px',\n left: '9px'\n }\n },\n 'top-right-triangle': {\n triangle: {\n top: '-14px',\n right: '10px'\n },\n triangleShadow: {\n top: '-16px',\n right: '9px'\n }\n },\n 'bottom-left-triangle': {\n triangle: {\n top: '35px',\n left: '10px',\n transform: 'rotate(180deg)'\n },\n triangleShadow: {\n top: '37px',\n left: '9px',\n transform: 'rotate(180deg)'\n }\n },\n 'bottom-right-triangle': {\n triangle: {\n top: '35px',\n right: '10px',\n transform: 'rotate(180deg)'\n },\n triangleShadow: {\n top: '37px',\n right: '9px',\n transform: 'rotate(180deg)'\n }\n }\n }, passedStyles), {\n 'hide-triangle': triangle === 'hide',\n 'top-left-triangle': triangle === 'top-left',\n 'top-right-triangle': triangle === 'top-right',\n 'bottom-left-triangle': triangle === 'bottom-left',\n 'bottom-right-triangle': triangle === 'bottom-right'\n });\n\n var handleChange = function handleChange(hex, e) {\n return onChange({ hex: hex, source: 'hex' }, e);\n };\n\n return React.createElement(\n 'div',\n { style: styles.card, className: 'github-picker ' + className },\n React.createElement('div', { style: styles.triangleShadow }),\n React.createElement('div', { style: styles.triangle }),\n map(colors, function (c) {\n return React.createElement(GithubSwatch, {\n color: c,\n key: c,\n onClick: handleChange,\n onSwatchHover: onSwatchHover\n });\n })\n );\n};\n\nGithub.propTypes = {\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n colors: PropTypes.arrayOf(PropTypes.string),\n triangle: PropTypes.oneOf(['hide', 'top-left', 'top-right', 'bottom-left', 'bottom-right']),\n styles: PropTypes.object\n};\n\nGithub.defaultProps = {\n width: 200,\n colors: ['#B80000', '#DB3E00', '#FCCB00', '#008B02', '#006B76', '#1273DE', '#004DCF', '#5300EB', '#EB9694', '#FAD0C3', '#FEF3BD', '#C1E1C5', '#BEDADC', '#C4DEF6', '#BED3F3', '#D4C4FB'],\n triangle: 'top-left',\n styles: {}\n};\n\nexport default ColorWrap(Github);", "import React from 'react';\nimport reactCSS, { handleHover } from 'reactcss';\n\nimport { Swatch } from '../common';\n\nexport var GithubSwatch = function GithubSwatch(_ref) {\n var hover = _ref.hover,\n color = _ref.color,\n onClick = _ref.onClick,\n onSwatchHover = _ref.onSwatchHover;\n\n var hoverSwatch = {\n position: 'relative',\n zIndex: '2',\n outline: '2px solid #fff',\n boxShadow: '0 0 5px 2px rgba(0,0,0,0.25)'\n };\n\n var styles = reactCSS({\n 'default': {\n swatch: {\n width: '25px',\n height: '25px',\n fontSize: '0'\n }\n },\n 'hover': {\n swatch: hoverSwatch\n }\n }, { hover: hover });\n\n return React.createElement(\n 'div',\n { style: styles.swatch },\n React.createElement(Swatch, {\n color: color,\n onClick: onClick,\n onHover: onSwatchHover,\n focusStyle: hoverSwatch\n })\n );\n};\n\nexport default handleHover(GithubSwatch);", "var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport merge from 'lodash-es/merge';\n\nimport { ColorWrap, Hue } from '../common';\nimport HuePointer from './HuePointer';\n\nexport var HuePicker = function HuePicker(_ref) {\n var width = _ref.width,\n height = _ref.height,\n onChange = _ref.onChange,\n hsl = _ref.hsl,\n direction = _ref.direction,\n pointer = _ref.pointer,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = reactCSS(merge({\n 'default': {\n picker: {\n position: 'relative',\n width: width,\n height: height\n },\n hue: {\n radius: '2px'\n }\n }\n }, passedStyles));\n\n // Overwrite to provide pure hue color\n var handleChange = function handleChange(data) {\n return onChange({ a: 1, h: data.h, l: 0.5, s: 1 });\n };\n\n return React.createElement(\n 'div',\n { style: styles.picker, className: 'hue-picker ' + className },\n React.createElement(Hue, _extends({}, styles.hue, {\n hsl: hsl,\n pointer: pointer,\n onChange: handleChange,\n direction: direction\n }))\n );\n};\n\nHuePicker.propTypes = {\n styles: PropTypes.object\n};\nHuePicker.defaultProps = {\n width: '316px',\n height: '16px',\n direction: 'horizontal',\n pointer: HuePointer,\n styles: {}\n};\n\nexport default ColorWrap(HuePicker);", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nexport var SliderPointer = function SliderPointer(_ref) {\n var direction = _ref.direction;\n\n var styles = reactCSS({\n 'default': {\n picker: {\n width: '18px',\n height: '18px',\n borderRadius: '50%',\n transform: 'translate(-9px, -1px)',\n backgroundColor: 'rgb(248, 248, 248)',\n boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'\n }\n },\n 'vertical': {\n picker: {\n transform: 'translate(-3px, -9px)'\n }\n }\n }, { vertical: direction === 'vertical' });\n\n return React.createElement('div', { style: styles.picker });\n};\n\nexport default SliderPointer;", "import React from 'react';\nimport reactCSS from 'reactcss';\nimport merge from 'lodash-es/merge';\nimport * as color from '../../helpers/color';\n\nimport { ColorWrap, EditableInput, Raised } from '../common';\n\nexport var Material = function Material(_ref) {\n var onChange = _ref.onChange,\n hex = _ref.hex,\n rgb = _ref.rgb,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = reactCSS(merge({\n 'default': {\n material: {\n width: '98px',\n height: '98px',\n padding: '16px',\n fontFamily: 'Roboto'\n },\n HEXwrap: {\n position: 'relative'\n },\n HEXinput: {\n width: '100%',\n marginTop: '12px',\n fontSize: '15px',\n color: '#333',\n padding: '0px',\n border: '0px',\n borderBottom: '2px solid ' + hex,\n outline: 'none',\n height: '30px'\n },\n HEXlabel: {\n position: 'absolute',\n top: '0px',\n left: '0px',\n fontSize: '11px',\n color: '#999999',\n textTransform: 'capitalize'\n },\n Hex: {\n style: {}\n },\n RGBwrap: {\n position: 'relative'\n },\n RGBinput: {\n width: '100%',\n marginTop: '12px',\n fontSize: '15px',\n color: '#333',\n padding: '0px',\n border: '0px',\n borderBottom: '1px solid #eee',\n outline: 'none',\n height: '30px'\n },\n RGBlabel: {\n position: 'absolute',\n top: '0px',\n left: '0px',\n fontSize: '11px',\n color: '#999999',\n textTransform: 'capitalize'\n },\n split: {\n display: 'flex',\n marginRight: '-10px',\n paddingTop: '11px'\n },\n third: {\n flex: '1',\n paddingRight: '10px'\n }\n }\n }, passedStyles));\n\n var handleChange = function handleChange(data, e) {\n if (data.hex) {\n color.isValidHex(data.hex) && onChange({\n hex: data.hex,\n source: 'hex'\n }, e);\n } else if (data.r || data.g || data.b) {\n onChange({\n r: data.r || rgb.r,\n g: data.g || rgb.g,\n b: data.b || rgb.b,\n source: 'rgb'\n }, e);\n }\n };\n\n return React.createElement(\n Raised,\n { styles: passedStyles },\n React.createElement(\n 'div',\n { style: styles.material, className: 'material-picker ' + className },\n React.createElement(EditableInput, {\n style: { wrap: styles.HEXwrap, input: styles.HEXinput, label: styles.HEXlabel },\n label: 'hex',\n value: hex,\n onChange: handleChange\n }),\n React.createElement(\n 'div',\n { style: styles.split, className: 'flexbox-fix' },\n React.createElement(\n 'div',\n { style: styles.third },\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'r', value: rgb.r,\n onChange: handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.third },\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'g',\n value: rgb.g,\n onChange: handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.third },\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'b',\n value: rgb.b,\n onChange: handleChange\n })\n )\n )\n )\n );\n};\n\nexport default ColorWrap(Material);", "var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport merge from 'lodash-es/merge';\n\nimport { ColorWrap, Saturation, Hue } from '../common';\nimport PhotoshopFields from './PhotoshopFields';\nimport PhotoshopPointerCircle from './PhotoshopPointerCircle';\nimport PhotoshopPointer from './PhotoshopPointer';\nimport PhotoshopButton from './PhotoshopButton';\nimport PhotoshopPreviews from './PhotoshopPreviews';\n\nexport var Photoshop = function (_React$Component) {\n _inherits(Photoshop, _React$Component);\n\n function Photoshop(props) {\n _classCallCheck(this, Photoshop);\n\n var _this = _possibleConstructorReturn(this, (Photoshop.__proto__ || Object.getPrototypeOf(Photoshop)).call(this));\n\n _this.state = {\n currentColor: props.hex\n };\n return _this;\n }\n\n _createClass(Photoshop, [{\n key: 'render',\n value: function render() {\n var _props = this.props,\n _props$styles = _props.styles,\n passedStyles = _props$styles === undefined ? {} : _props$styles,\n _props$className = _props.className,\n className = _props$className === undefined ? '' : _props$className;\n\n var styles = reactCSS(merge({\n 'default': {\n picker: {\n background: '#DCDCDC',\n borderRadius: '4px',\n boxShadow: '0 0 0 1px rgba(0,0,0,.25), 0 8px 16px rgba(0,0,0,.15)',\n boxSizing: 'initial',\n width: '513px'\n },\n head: {\n backgroundImage: 'linear-gradient(-180deg, #F0F0F0 0%, #D4D4D4 100%)',\n borderBottom: '1px solid #B1B1B1',\n boxShadow: 'inset 0 1px 0 0 rgba(255,255,255,.2), inset 0 -1px 0 0 rgba(0,0,0,.02)',\n height: '23px',\n lineHeight: '24px',\n borderRadius: '4px 4px 0 0',\n fontSize: '13px',\n color: '#4D4D4D',\n textAlign: 'center'\n },\n body: {\n padding: '15px 15px 0',\n display: 'flex'\n },\n saturation: {\n width: '256px',\n height: '256px',\n position: 'relative',\n border: '2px solid #B3B3B3',\n borderBottom: '2px solid #F0F0F0',\n overflow: 'hidden'\n },\n hue: {\n position: 'relative',\n height: '256px',\n width: '19px',\n marginLeft: '10px',\n border: '2px solid #B3B3B3',\n borderBottom: '2px solid #F0F0F0'\n },\n controls: {\n width: '180px',\n marginLeft: '10px'\n },\n top: {\n display: 'flex'\n },\n previews: {\n width: '60px'\n },\n actions: {\n flex: '1',\n marginLeft: '20px'\n }\n }\n }, passedStyles));\n\n return React.createElement(\n 'div',\n { style: styles.picker, className: 'photoshop-picker ' + className },\n React.createElement(\n 'div',\n { style: styles.head },\n this.props.header\n ),\n React.createElement(\n 'div',\n { style: styles.body, className: 'flexbox-fix' },\n React.createElement(\n 'div',\n { style: styles.saturation },\n React.createElement(Saturation, {\n hsl: this.props.hsl,\n hsv: this.props.hsv,\n pointer: PhotoshopPointerCircle,\n onChange: this.props.onChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.hue },\n React.createElement(Hue, {\n direction: 'vertical',\n hsl: this.props.hsl,\n pointer: PhotoshopPointer,\n onChange: this.props.onChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.controls },\n React.createElement(\n 'div',\n { style: styles.top, className: 'flexbox-fix' },\n React.createElement(\n 'div',\n { style: styles.previews },\n React.createElement(PhotoshopPreviews, {\n rgb: this.props.rgb,\n currentColor: this.state.currentColor\n })\n ),\n React.createElement(\n 'div',\n { style: styles.actions },\n React.createElement(PhotoshopButton, { label: 'OK', onClick: this.props.onAccept, active: true }),\n React.createElement(PhotoshopButton, { label: 'Cancel', onClick: this.props.onCancel }),\n React.createElement(PhotoshopFields, {\n onChange: this.props.onChange,\n rgb: this.props.rgb,\n hsv: this.props.hsv,\n hex: this.props.hex\n })\n )\n )\n )\n )\n );\n }\n }]);\n\n return Photoshop;\n}(React.Component);\n\nPhotoshop.propTypes = {\n header: PropTypes.string,\n styles: PropTypes.object\n};\n\nPhotoshop.defaultProps = {\n header: 'Color Picker',\n styles: {}\n};\n\nexport default ColorWrap(Photoshop);", "import React from 'react';\nimport reactCSS from 'reactcss';\nimport * as color from '../../helpers/color';\n\nimport { EditableInput } from '../common';\n\nexport var PhotoshopPicker = function PhotoshopPicker(_ref) {\n var onChange = _ref.onChange,\n rgb = _ref.rgb,\n hsv = _ref.hsv,\n hex = _ref.hex;\n\n var styles = reactCSS({\n 'default': {\n fields: {\n paddingTop: '5px',\n paddingBottom: '9px',\n width: '80px',\n position: 'relative'\n },\n divider: {\n height: '5px'\n },\n RGBwrap: {\n position: 'relative'\n },\n RGBinput: {\n marginLeft: '40%',\n width: '40%',\n height: '18px',\n border: '1px solid #888888',\n boxShadow: 'inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC',\n marginBottom: '5px',\n fontSize: '13px',\n paddingLeft: '3px',\n marginRight: '10px'\n },\n RGBlabel: {\n left: '0px',\n top: '0px',\n width: '34px',\n textTransform: 'uppercase',\n fontSize: '13px',\n height: '18px',\n lineHeight: '22px',\n position: 'absolute'\n },\n HEXwrap: {\n position: 'relative'\n },\n HEXinput: {\n marginLeft: '20%',\n width: '80%',\n height: '18px',\n border: '1px solid #888888',\n boxShadow: 'inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC',\n marginBottom: '6px',\n fontSize: '13px',\n paddingLeft: '3px'\n },\n HEXlabel: {\n position: 'absolute',\n top: '0px',\n left: '0px',\n width: '14px',\n textTransform: 'uppercase',\n fontSize: '13px',\n height: '18px',\n lineHeight: '22px'\n },\n fieldSymbols: {\n position: 'absolute',\n top: '5px',\n right: '-7px',\n fontSize: '13px'\n },\n symbol: {\n height: '20px',\n lineHeight: '22px',\n paddingBottom: '7px'\n }\n }\n });\n\n var handleChange = function handleChange(data, e) {\n if (data['#']) {\n color.isValidHex(data['#']) && onChange({\n hex: data['#'],\n source: 'hex'\n }, e);\n } else if (data.r || data.g || data.b) {\n onChange({\n r: data.r || rgb.r,\n g: data.g || rgb.g,\n b: data.b || rgb.b,\n source: 'rgb'\n }, e);\n } else if (data.h || data.s || data.v) {\n onChange({\n h: data.h || hsv.h,\n s: data.s || hsv.s,\n v: data.v || hsv.v,\n source: 'hsv'\n }, e);\n }\n };\n\n return React.createElement(\n 'div',\n { style: styles.fields },\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'h',\n value: Math.round(hsv.h),\n onChange: handleChange\n }),\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 's',\n value: Math.round(hsv.s * 100),\n onChange: handleChange\n }),\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'v',\n value: Math.round(hsv.v * 100),\n onChange: handleChange\n }),\n React.createElement('div', { style: styles.divider }),\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'r',\n value: rgb.r,\n onChange: handleChange\n }),\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'g',\n value: rgb.g,\n onChange: handleChange\n }),\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'b',\n value: rgb.b,\n onChange: handleChange\n }),\n React.createElement('div', { style: styles.divider }),\n React.createElement(EditableInput, {\n style: { wrap: styles.HEXwrap, input: styles.HEXinput, label: styles.HEXlabel },\n label: '#',\n value: hex.replace('#', ''),\n onChange: handleChange\n }),\n React.createElement(\n 'div',\n { style: styles.fieldSymbols },\n React.createElement(\n 'div',\n { style: styles.symbol },\n '\\xB0'\n ),\n React.createElement(\n 'div',\n { style: styles.symbol },\n '%'\n ),\n React.createElement(\n 'div',\n { style: styles.symbol },\n '%'\n )\n )\n );\n};\n\nexport default PhotoshopPicker;", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nexport var PhotoshopPointerCircle = function PhotoshopPointerCircle(_ref) {\n var hsl = _ref.hsl;\n\n var styles = reactCSS({\n 'default': {\n picker: {\n width: '12px',\n height: '12px',\n borderRadius: '6px',\n boxShadow: 'inset 0 0 0 1px #fff',\n transform: 'translate(-6px, -6px)'\n }\n },\n 'black-outline': {\n picker: {\n boxShadow: 'inset 0 0 0 1px #000'\n }\n }\n }, { 'black-outline': hsl.l > 0.5 });\n\n return React.createElement('div', { style: styles.picker });\n};\n\nexport default PhotoshopPointerCircle;", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nexport var PhotoshopPointerCircle = function PhotoshopPointerCircle() {\n var styles = reactCSS({\n 'default': {\n triangle: {\n width: 0,\n height: 0,\n borderStyle: 'solid',\n borderWidth: '4px 0 4px 6px',\n borderColor: 'transparent transparent transparent #fff',\n position: 'absolute',\n top: '1px',\n left: '1px'\n },\n triangleBorder: {\n width: 0,\n height: 0,\n borderStyle: 'solid',\n borderWidth: '5px 0 5px 8px',\n borderColor: 'transparent transparent transparent #555'\n },\n\n left: {\n Extend: 'triangleBorder',\n transform: 'translate(-13px, -4px)'\n },\n leftInside: {\n Extend: 'triangle',\n transform: 'translate(-8px, -5px)'\n },\n\n right: {\n Extend: 'triangleBorder',\n transform: 'translate(20px, -14px) rotate(180deg)'\n },\n rightInside: {\n Extend: 'triangle',\n transform: 'translate(-8px, -5px)'\n }\n }\n });\n\n return React.createElement(\n 'div',\n { style: styles.pointer },\n React.createElement(\n 'div',\n { style: styles.left },\n React.createElement('div', { style: styles.leftInside })\n ),\n React.createElement(\n 'div',\n { style: styles.right },\n React.createElement('div', { style: styles.rightInside })\n )\n );\n};\n\nexport default PhotoshopPointerCircle;", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nexport var PhotoshopButton = function PhotoshopButton(_ref) {\n var onClick = _ref.onClick,\n label = _ref.label,\n children = _ref.children,\n active = _ref.active;\n\n var styles = reactCSS({\n 'default': {\n button: {\n backgroundImage: 'linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%)',\n border: '1px solid #878787',\n borderRadius: '2px',\n height: '20px',\n boxShadow: '0 1px 0 0 #EAEAEA',\n fontSize: '14px',\n color: '#000',\n lineHeight: '20px',\n textAlign: 'center',\n marginBottom: '10px',\n cursor: 'pointer'\n }\n },\n 'active': {\n button: {\n boxShadow: '0 0 0 1px #878787'\n }\n }\n }, { active: active });\n\n return React.createElement(\n 'div',\n { style: styles.button, onClick: onClick },\n label || children\n );\n};\n\nexport default PhotoshopButton;", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nexport var PhotoshopPreviews = function PhotoshopPreviews(_ref) {\n var rgb = _ref.rgb,\n currentColor = _ref.currentColor;\n\n var styles = reactCSS({\n 'default': {\n swatches: {\n border: '1px solid #B3B3B3',\n borderBottom: '1px solid #F0F0F0',\n marginBottom: '2px',\n marginTop: '1px'\n },\n new: {\n height: '34px',\n background: 'rgb(' + rgb.r + ',' + rgb.g + ', ' + rgb.b + ')',\n boxShadow: 'inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000'\n },\n current: {\n height: '34px',\n background: currentColor,\n boxShadow: 'inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 -1px 0 #000'\n },\n label: {\n fontSize: '14px',\n color: '#000',\n textAlign: 'center'\n }\n }\n });\n\n return React.createElement(\n 'div',\n null,\n React.createElement(\n 'div',\n { style: styles.label },\n 'new'\n ),\n React.createElement(\n 'div',\n { style: styles.swatches },\n React.createElement('div', { style: styles.new }),\n React.createElement('div', { style: styles.current })\n ),\n React.createElement(\n 'div',\n { style: styles.label },\n 'current'\n )\n );\n};\n\nexport default PhotoshopPreviews;", "var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport merge from 'lodash-es/merge';\n\nimport { ColorWrap, Saturation, Hue, Alpha, Checkboard } from '../common';\nimport SketchFields from './SketchFields';\nimport SketchPresetColors from './SketchPresetColors';\n\nexport var Sketch = function Sketch(_ref) {\n var width = _ref.width,\n rgb = _ref.rgb,\n hex = _ref.hex,\n hsv = _ref.hsv,\n hsl = _ref.hsl,\n onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n disableAlpha = _ref.disableAlpha,\n presetColors = _ref.presetColors,\n renderers = _ref.renderers,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = reactCSS(merge({\n 'default': _extends({\n picker: {\n width: width,\n padding: '10px 10px 0',\n boxSizing: 'initial',\n background: '#fff',\n borderRadius: '4px',\n boxShadow: '0 0 0 1px rgba(0,0,0,.15), 0 8px 16px rgba(0,0,0,.15)'\n },\n saturation: {\n width: '100%',\n paddingBottom: '75%',\n position: 'relative',\n overflow: 'hidden'\n },\n Saturation: {\n radius: '3px',\n shadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)'\n },\n controls: {\n display: 'flex'\n },\n sliders: {\n padding: '4px 0',\n flex: '1'\n },\n color: {\n width: '24px',\n height: '24px',\n position: 'relative',\n marginTop: '4px',\n marginLeft: '4px',\n borderRadius: '3px'\n },\n activeColor: {\n absolute: '0px 0px 0px 0px',\n borderRadius: '2px',\n background: 'rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ',' + rgb.a + ')',\n boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)'\n },\n hue: {\n position: 'relative',\n height: '10px',\n overflow: 'hidden'\n },\n Hue: {\n radius: '2px',\n shadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)'\n },\n\n alpha: {\n position: 'relative',\n height: '10px',\n marginTop: '4px',\n overflow: 'hidden'\n },\n Alpha: {\n radius: '2px',\n shadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)'\n }\n }, passedStyles),\n 'disableAlpha': {\n color: {\n height: '10px'\n },\n hue: {\n height: '10px'\n },\n alpha: {\n display: 'none'\n }\n }\n }, passedStyles), { disableAlpha: disableAlpha });\n\n return React.createElement(\n 'div',\n { style: styles.picker, className: 'sketch-picker ' + className },\n React.createElement(\n 'div',\n { style: styles.saturation },\n React.createElement(Saturation, {\n style: styles.Saturation,\n hsl: hsl,\n hsv: hsv,\n onChange: onChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.controls, className: 'flexbox-fix' },\n React.createElement(\n 'div',\n { style: styles.sliders },\n React.createElement(\n 'div',\n { style: styles.hue },\n React.createElement(Hue, {\n style: styles.Hue,\n hsl: hsl,\n onChange: onChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.alpha },\n React.createElement(Alpha, {\n style: styles.Alpha,\n rgb: rgb,\n hsl: hsl,\n renderers: renderers,\n onChange: onChange\n })\n )\n ),\n React.createElement(\n 'div',\n { style: styles.color },\n React.createElement(Checkboard, null),\n React.createElement('div', { style: styles.activeColor })\n )\n ),\n React.createElement(SketchFields, {\n rgb: rgb,\n hsl: hsl,\n hex: hex,\n onChange: onChange,\n disableAlpha: disableAlpha\n }),\n React.createElement(SketchPresetColors, {\n colors: presetColors,\n onClick: onChange,\n onSwatchHover: onSwatchHover\n })\n );\n};\n\nSketch.propTypes = {\n disableAlpha: PropTypes.bool,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n styles: PropTypes.object\n};\n\nSketch.defaultProps = {\n disableAlpha: false,\n width: 200,\n styles: {},\n presetColors: ['#D0021B', '#F5A623', '#F8E71C', '#8B572A', '#7ED321', '#417505', '#BD10E0', '#9013FE', '#4A90E2', '#50E3C2', '#B8E986', '#000000', '#4A4A4A', '#9B9B9B', '#FFFFFF']\n};\n\nexport default ColorWrap(Sketch);", "/* eslint-disable no-param-reassign */\n\nimport React from 'react';\nimport reactCSS from 'reactcss';\nimport * as color from '../../helpers/color';\n\nimport { EditableInput } from '../common';\n\nexport var SketchFields = function SketchFields(_ref) {\n var onChange = _ref.onChange,\n rgb = _ref.rgb,\n hsl = _ref.hsl,\n hex = _ref.hex,\n disableAlpha = _ref.disableAlpha;\n\n var styles = reactCSS({\n 'default': {\n fields: {\n display: 'flex',\n paddingTop: '4px'\n },\n single: {\n flex: '1',\n paddingLeft: '6px'\n },\n alpha: {\n flex: '1',\n paddingLeft: '6px'\n },\n double: {\n flex: '2'\n },\n input: {\n width: '80%',\n padding: '4px 10% 3px',\n border: 'none',\n boxShadow: 'inset 0 0 0 1px #ccc',\n fontSize: '11px'\n },\n label: {\n display: 'block',\n textAlign: 'center',\n fontSize: '11px',\n color: '#222',\n paddingTop: '3px',\n paddingBottom: '4px',\n textTransform: 'capitalize'\n }\n },\n 'disableAlpha': {\n alpha: {\n display: 'none'\n }\n }\n }, { disableAlpha: disableAlpha });\n\n var handleChange = function handleChange(data, e) {\n if (data.hex) {\n color.isValidHex(data.hex) && onChange({\n hex: data.hex,\n source: 'hex'\n }, e);\n } else if (data.r || data.g || data.b) {\n onChange({\n r: data.r || rgb.r,\n g: data.g || rgb.g,\n b: data.b || rgb.b,\n a: rgb.a,\n source: 'rgb'\n }, e);\n } else if (data.a) {\n if (data.a < 0) {\n data.a = 0;\n } else if (data.a > 100) {\n data.a = 100;\n }\n\n data.a /= 100;\n onChange({\n h: hsl.h,\n s: hsl.s,\n l: hsl.l,\n a: data.a,\n source: 'rgb'\n }, e);\n }\n };\n\n return React.createElement(\n 'div',\n { style: styles.fields, className: 'flexbox-fix' },\n React.createElement(\n 'div',\n { style: styles.double },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'hex',\n value: hex.replace('#', ''),\n onChange: handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.single },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'r',\n value: rgb.r,\n onChange: handleChange,\n dragLabel: 'true',\n dragMax: '255'\n })\n ),\n React.createElement(\n 'div',\n { style: styles.single },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'g',\n value: rgb.g,\n onChange: handleChange,\n dragLabel: 'true',\n dragMax: '255'\n })\n ),\n React.createElement(\n 'div',\n { style: styles.single },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'b',\n value: rgb.b,\n onChange: handleChange,\n dragLabel: 'true',\n dragMax: '255'\n })\n ),\n React.createElement(\n 'div',\n { style: styles.alpha },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'a',\n value: Math.round(rgb.a * 100),\n onChange: handleChange,\n dragLabel: 'true',\n dragMax: '100'\n })\n )\n );\n};\n\nexport default SketchFields;", "var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\n\nimport { Swatch } from '../common';\n\nexport var SketchPresetColors = function SketchPresetColors(_ref) {\n var colors = _ref.colors,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n onSwatchHover = _ref.onSwatchHover;\n\n var styles = reactCSS({\n 'default': {\n colors: {\n margin: '0 -10px',\n padding: '10px 0 0 10px',\n borderTop: '1px solid #eee',\n display: 'flex',\n flexWrap: 'wrap',\n position: 'relative'\n },\n swatchWrap: {\n width: '16px',\n height: '16px',\n margin: '0 10px 10px 0'\n },\n swatch: {\n borderRadius: '3px',\n boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.15)'\n }\n },\n 'no-presets': {\n colors: {\n display: 'none'\n }\n }\n }, {\n 'no-presets': !colors || !colors.length\n });\n\n var handleClick = function handleClick(hex, e) {\n onClick({\n hex: hex,\n source: 'hex'\n }, e);\n };\n\n return React.createElement(\n 'div',\n { style: styles.colors, className: 'flexbox-fix' },\n colors.map(function (colorObjOrString) {\n var c = typeof colorObjOrString === 'string' ? { color: colorObjOrString } : colorObjOrString;\n var key = '' + c.color + (c.title || '');\n return React.createElement(\n 'div',\n { key: key, style: styles.swatchWrap },\n React.createElement(Swatch, _extends({}, c, {\n style: styles.swatch,\n onClick: handleClick,\n onHover: onSwatchHover,\n focusStyle: {\n boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.15), 0 0 4px ' + c.color\n }\n }))\n );\n })\n );\n};\n\nSketchPresetColors.propTypes = {\n colors: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.shape({\n color: PropTypes.string,\n title: PropTypes.string\n })])).isRequired\n};\n\nexport default SketchPresetColors;", "import React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport merge from 'lodash-es/merge';\n\nimport { ColorWrap, Hue } from '../common';\nimport SliderSwatches from './SliderSwatches';\nimport SliderPointer from './SliderPointer';\n\nexport var Slider = function Slider(_ref) {\n var hsl = _ref.hsl,\n onChange = _ref.onChange,\n pointer = _ref.pointer,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = reactCSS(merge({\n 'default': {\n hue: {\n height: '12px',\n position: 'relative'\n },\n Hue: {\n radius: '2px'\n }\n }\n }, passedStyles));\n\n return React.createElement(\n 'div',\n { style: styles.wrap || {}, className: 'slider-picker ' + className },\n React.createElement(\n 'div',\n { style: styles.hue },\n React.createElement(Hue, {\n style: styles.Hue,\n hsl: hsl,\n pointer: pointer,\n onChange: onChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.swatches },\n React.createElement(SliderSwatches, { hsl: hsl, onClick: onChange })\n )\n );\n};\n\nSlider.propTypes = {\n styles: PropTypes.object\n};\nSlider.defaultProps = {\n pointer: SliderPointer,\n styles: {}\n};\n\nexport default ColorWrap(Slider);", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nimport SliderSwatch from './SliderSwatch';\n\nexport var SliderSwatches = function SliderSwatches(_ref) {\n var onClick = _ref.onClick,\n hsl = _ref.hsl;\n\n var styles = reactCSS({\n 'default': {\n swatches: {\n marginTop: '20px'\n },\n swatch: {\n boxSizing: 'border-box',\n width: '20%',\n paddingRight: '1px',\n float: 'left'\n },\n clear: {\n clear: 'both'\n }\n }\n });\n\n // Acceptible difference in floating point equality\n var epsilon = 0.1;\n\n return React.createElement(\n 'div',\n { style: styles.swatches },\n React.createElement(\n 'div',\n { style: styles.swatch },\n React.createElement(SliderSwatch, {\n hsl: hsl,\n offset: '.80',\n active: Math.abs(hsl.l - 0.80) < epsilon && Math.abs(hsl.s - 0.50) < epsilon,\n onClick: onClick,\n first: true\n })\n ),\n React.createElement(\n 'div',\n { style: styles.swatch },\n React.createElement(SliderSwatch, {\n hsl: hsl,\n offset: '.65',\n active: Math.abs(hsl.l - 0.65) < epsilon && Math.abs(hsl.s - 0.50) < epsilon,\n onClick: onClick\n })\n ),\n React.createElement(\n 'div',\n { style: styles.swatch },\n React.createElement(SliderSwatch, {\n hsl: hsl,\n offset: '.50',\n active: Math.abs(hsl.l - 0.50) < epsilon && Math.abs(hsl.s - 0.50) < epsilon,\n onClick: onClick\n })\n ),\n React.createElement(\n 'div',\n { style: styles.swatch },\n React.createElement(SliderSwatch, {\n hsl: hsl,\n offset: '.35',\n active: Math.abs(hsl.l - 0.35) < epsilon && Math.abs(hsl.s - 0.50) < epsilon,\n onClick: onClick\n })\n ),\n React.createElement(\n 'div',\n { style: styles.swatch },\n React.createElement(SliderSwatch, {\n hsl: hsl,\n offset: '.20',\n active: Math.abs(hsl.l - 0.20) < epsilon && Math.abs(hsl.s - 0.50) < epsilon,\n onClick: onClick,\n last: true\n })\n ),\n React.createElement('div', { style: styles.clear })\n );\n};\n\nexport default SliderSwatches;", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nexport var SliderSwatch = function SliderSwatch(_ref) {\n var hsl = _ref.hsl,\n offset = _ref.offset,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n active = _ref.active,\n first = _ref.first,\n last = _ref.last;\n\n var styles = reactCSS({\n 'default': {\n swatch: {\n height: '12px',\n background: 'hsl(' + hsl.h + ', 50%, ' + offset * 100 + '%)',\n cursor: 'pointer'\n }\n },\n 'first': {\n swatch: {\n borderRadius: '2px 0 0 2px'\n }\n },\n 'last': {\n swatch: {\n borderRadius: '0 2px 2px 0'\n }\n },\n 'active': {\n swatch: {\n transform: 'scaleY(1.8)',\n borderRadius: '3.6px/2px'\n }\n }\n }, { active: active, first: first, last: last });\n\n var handleClick = function handleClick(e) {\n return onClick({\n h: hsl.h,\n s: 0.5,\n l: offset,\n source: 'hsl'\n }, e);\n };\n\n return React.createElement('div', { style: styles.swatch, onClick: handleClick });\n};\n\nexport default SliderSwatch;", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nexport var SliderPointer = function SliderPointer() {\n var styles = reactCSS({\n 'default': {\n picker: {\n width: '14px',\n height: '14px',\n borderRadius: '6px',\n transform: 'translate(-7px, -1px)',\n backgroundColor: 'rgb(248, 248, 248)',\n boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'\n }\n }\n });\n\n return React.createElement('div', { style: styles.picker });\n};\n\nexport default SliderPointer;", "import React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport map from 'lodash-es/map';\nimport merge from 'lodash-es/merge';\nimport * as material from 'material-colors';\n\nimport { ColorWrap, Raised } from '../common';\nimport SwatchesGroup from './SwatchesGroup';\n\nexport var Swatches = function Swatches(_ref) {\n var width = _ref.width,\n height = _ref.height,\n onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n colors = _ref.colors,\n hex = _ref.hex,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = reactCSS(merge({\n 'default': {\n picker: {\n width: width,\n height: height\n },\n overflow: {\n height: height,\n overflowY: 'scroll'\n },\n body: {\n padding: '16px 0 6px 16px'\n },\n clear: {\n clear: 'both'\n }\n }\n }, passedStyles));\n\n var handleChange = function handleChange(data, e) {\n return onChange({ hex: data, source: 'hex' }, e);\n };\n\n return React.createElement(\n 'div',\n { style: styles.picker, className: 'swatches-picker ' + className },\n React.createElement(\n Raised,\n null,\n React.createElement(\n 'div',\n { style: styles.overflow },\n React.createElement(\n 'div',\n { style: styles.body },\n map(colors, function (group) {\n return React.createElement(SwatchesGroup, {\n key: group.toString(),\n group: group,\n active: hex,\n onClick: handleChange,\n onSwatchHover: onSwatchHover\n });\n }),\n React.createElement('div', { style: styles.clear })\n )\n )\n )\n );\n};\n\nSwatches.propTypes = {\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n colors: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.string)),\n styles: PropTypes.object\n\n /* eslint-disable max-len */\n};Swatches.defaultProps = {\n width: 320,\n height: 240,\n colors: [[material.red['900'], material.red['700'], material.red['500'], material.red['300'], material.red['100']], [material.pink['900'], material.pink['700'], material.pink['500'], material.pink['300'], material.pink['100']], [material.purple['900'], material.purple['700'], material.purple['500'], material.purple['300'], material.purple['100']], [material.deepPurple['900'], material.deepPurple['700'], material.deepPurple['500'], material.deepPurple['300'], material.deepPurple['100']], [material.indigo['900'], material.indigo['700'], material.indigo['500'], material.indigo['300'], material.indigo['100']], [material.blue['900'], material.blue['700'], material.blue['500'], material.blue['300'], material.blue['100']], [material.lightBlue['900'], material.lightBlue['700'], material.lightBlue['500'], material.lightBlue['300'], material.lightBlue['100']], [material.cyan['900'], material.cyan['700'], material.cyan['500'], material.cyan['300'], material.cyan['100']], [material.teal['900'], material.teal['700'], material.teal['500'], material.teal['300'], material.teal['100']], ['#194D33', material.green['700'], material.green['500'], material.green['300'], material.green['100']], [material.lightGreen['900'], material.lightGreen['700'], material.lightGreen['500'], material.lightGreen['300'], material.lightGreen['100']], [material.lime['900'], material.lime['700'], material.lime['500'], material.lime['300'], material.lime['100']], [material.yellow['900'], material.yellow['700'], material.yellow['500'], material.yellow['300'], material.yellow['100']], [material.amber['900'], material.amber['700'], material.amber['500'], material.amber['300'], material.amber['100']], [material.orange['900'], material.orange['700'], material.orange['500'], material.orange['300'], material.orange['100']], [material.deepOrange['900'], material.deepOrange['700'], material.deepOrange['500'], material.deepOrange['300'], material.deepOrange['100']], [material.brown['900'], material.brown['700'], material.brown['500'], material.brown['300'], material.brown['100']], [material.blueGrey['900'], material.blueGrey['700'], material.blueGrey['500'], material.blueGrey['300'], material.blueGrey['100']], ['#000000', '#525252', '#969696', '#D9D9D9', '#FFFFFF']],\n styles: {}\n};\n\nexport default ColorWrap(Swatches);", "import React from 'react';\nimport reactCSS from 'reactcss';\nimport map from 'lodash-es/map';\n\nimport SwatchesColor from './SwatchesColor';\n\nexport var SwatchesGroup = function SwatchesGroup(_ref) {\n var onClick = _ref.onClick,\n onSwatchHover = _ref.onSwatchHover,\n group = _ref.group,\n active = _ref.active;\n\n var styles = reactCSS({\n 'default': {\n group: {\n paddingBottom: '10px',\n width: '40px',\n float: 'left',\n marginRight: '10px'\n }\n }\n });\n\n return React.createElement(\n 'div',\n { style: styles.group },\n map(group, function (color, i) {\n return React.createElement(SwatchesColor, {\n key: color,\n color: color,\n active: color.toLowerCase() === active,\n first: i === 0,\n last: i === group.length - 1,\n onClick: onClick,\n onSwatchHover: onSwatchHover\n });\n })\n );\n};\n\nexport default SwatchesGroup;", "import React from 'react';\nimport reactCSS from 'reactcss';\nimport * as colorUtils from '../../helpers/color';\n\nimport { Swatch } from '../common';\nimport CheckIcon from '@icons/material/CheckIcon';\n\nexport var SwatchesColor = function SwatchesColor(_ref) {\n var color = _ref.color,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n onSwatchHover = _ref.onSwatchHover,\n first = _ref.first,\n last = _ref.last,\n active = _ref.active;\n\n var styles = reactCSS({\n 'default': {\n color: {\n width: '40px',\n height: '24px',\n cursor: 'pointer',\n background: color,\n marginBottom: '1px'\n },\n check: {\n color: colorUtils.getContrastingColor(color),\n marginLeft: '8px',\n display: 'none'\n }\n },\n 'first': {\n color: {\n overflow: 'hidden',\n borderRadius: '2px 2px 0 0'\n }\n },\n 'last': {\n color: {\n overflow: 'hidden',\n borderRadius: '0 0 2px 2px'\n }\n },\n 'active': {\n check: {\n display: 'block'\n }\n },\n 'color-#FFFFFF': {\n color: {\n boxShadow: 'inset 0 0 0 1px #ddd'\n },\n check: {\n color: '#333'\n }\n },\n 'transparent': {\n check: {\n color: '#333'\n }\n }\n }, {\n first: first,\n last: last,\n active: active,\n 'color-#FFFFFF': color === '#FFFFFF',\n 'transparent': color === 'transparent'\n });\n\n return React.createElement(\n Swatch,\n {\n color: color,\n style: styles.color,\n onClick: onClick,\n onHover: onSwatchHover,\n focusStyle: { boxShadow: '0 0 4px ' + color }\n },\n React.createElement(\n 'div',\n { style: styles.check },\n React.createElement(CheckIcon, null)\n )\n );\n};\n\nexport default SwatchesColor;", "import React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport map from 'lodash-es/map';\nimport merge from 'lodash-es/merge';\nimport * as color from '../../helpers/color';\n\nimport { ColorWrap, EditableInput, Swatch } from '../common';\n\nexport var Twitter = function Twitter(_ref) {\n var onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n hex = _ref.hex,\n colors = _ref.colors,\n width = _ref.width,\n triangle = _ref.triangle,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = reactCSS(merge({\n 'default': {\n card: {\n width: width,\n background: '#fff',\n border: '0 solid rgba(0,0,0,0.25)',\n boxShadow: '0 1px 4px rgba(0,0,0,0.25)',\n borderRadius: '4px',\n position: 'relative'\n },\n body: {\n padding: '15px 9px 9px 15px'\n },\n label: {\n fontSize: '18px',\n color: '#fff'\n },\n triangle: {\n width: '0px',\n height: '0px',\n borderStyle: 'solid',\n borderWidth: '0 9px 10px 9px',\n borderColor: 'transparent transparent #fff transparent',\n position: 'absolute'\n },\n triangleShadow: {\n width: '0px',\n height: '0px',\n borderStyle: 'solid',\n borderWidth: '0 9px 10px 9px',\n borderColor: 'transparent transparent rgba(0,0,0,.1) transparent',\n position: 'absolute'\n },\n hash: {\n background: '#F0F0F0',\n height: '30px',\n width: '30px',\n borderRadius: '4px 0 0 4px',\n float: 'left',\n color: '#98A1A4',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n },\n input: {\n width: '100px',\n fontSize: '14px',\n color: '#666',\n border: '0px',\n outline: 'none',\n height: '28px',\n boxShadow: 'inset 0 0 0 1px #F0F0F0',\n boxSizing: 'content-box',\n borderRadius: '0 4px 4px 0',\n float: 'left',\n paddingLeft: '8px'\n },\n swatch: {\n width: '30px',\n height: '30px',\n float: 'left',\n borderRadius: '4px',\n margin: '0 6px 6px 0'\n },\n clear: {\n clear: 'both'\n }\n },\n 'hide-triangle': {\n triangle: {\n display: 'none'\n },\n triangleShadow: {\n display: 'none'\n }\n },\n 'top-left-triangle': {\n triangle: {\n top: '-10px',\n left: '12px'\n },\n triangleShadow: {\n top: '-11px',\n left: '12px'\n }\n },\n 'top-right-triangle': {\n triangle: {\n top: '-10px',\n right: '12px'\n },\n triangleShadow: {\n top: '-11px',\n right: '12px'\n }\n }\n }, passedStyles), {\n 'hide-triangle': triangle === 'hide',\n 'top-left-triangle': triangle === 'top-left',\n 'top-right-triangle': triangle === 'top-right'\n });\n\n var handleChange = function handleChange(hexcode, e) {\n color.isValidHex(hexcode) && onChange({\n hex: hexcode,\n source: 'hex'\n }, e);\n };\n\n return React.createElement(\n 'div',\n { style: styles.card, className: 'twitter-picker ' + className },\n React.createElement('div', { style: styles.triangleShadow }),\n React.createElement('div', { style: styles.triangle }),\n React.createElement(\n 'div',\n { style: styles.body },\n map(colors, function (c, i) {\n return React.createElement(Swatch, {\n key: i,\n color: c,\n hex: c,\n style: styles.swatch,\n onClick: handleChange,\n onHover: onSwatchHover,\n focusStyle: {\n boxShadow: '0 0 4px ' + c\n }\n });\n }),\n React.createElement(\n 'div',\n { style: styles.hash },\n '#'\n ),\n React.createElement(EditableInput, {\n label: null,\n style: { input: styles.input },\n value: hex.replace('#', ''),\n onChange: handleChange\n }),\n React.createElement('div', { style: styles.clear })\n )\n );\n};\n\nTwitter.propTypes = {\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n triangle: PropTypes.oneOf(['hide', 'top-left', 'top-right']),\n colors: PropTypes.arrayOf(PropTypes.string),\n styles: PropTypes.object\n};\n\nTwitter.defaultProps = {\n width: 276,\n colors: ['#FF6900', '#FCB900', '#7BDCB5', '#00D084', '#8ED1FC', '#0693E3', '#ABB8C3', '#EB144C', '#F78DA7', '#9900EF'],\n triangle: 'top-left',\n styles: {}\n};\n\nexport default ColorWrap(Twitter);", "import React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport merge from 'lodash-es/merge';\n\nimport { ColorWrap, Saturation, Hue } from '../common';\nimport GooglePointerCircle from './GooglePointerCircle';\nimport GooglePointer from './GooglePointer';\nimport GoogleFields from './GoogleFields';\n\nexport var Google = function Google(_ref) {\n var width = _ref.width,\n onChange = _ref.onChange,\n rgb = _ref.rgb,\n hsl = _ref.hsl,\n hsv = _ref.hsv,\n hex = _ref.hex,\n header = _ref.header,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = reactCSS(merge({\n 'default': {\n picker: {\n width: width,\n background: '#fff',\n border: '1px solid #dfe1e5',\n boxSizing: 'initial',\n display: 'flex',\n flexWrap: 'wrap',\n borderRadius: '8px 8px 0px 0px'\n },\n head: {\n height: '57px',\n width: '100%',\n paddingTop: '16px',\n paddingBottom: '16px',\n paddingLeft: '16px',\n fontSize: '20px',\n boxSizing: 'border-box',\n fontFamily: 'Roboto-Regular,HelveticaNeue,Arial,sans-serif'\n },\n saturation: {\n width: '70%',\n padding: '0px',\n position: 'relative',\n overflow: 'hidden'\n },\n swatch: {\n width: '30%',\n height: '228px',\n padding: '0px',\n background: 'rgba(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ', 1)',\n position: 'relative',\n overflow: 'hidden'\n },\n body: {\n margin: 'auto',\n width: '95%'\n },\n controls: {\n display: 'flex',\n boxSizing: 'border-box',\n height: '52px',\n paddingTop: '22px'\n },\n color: {\n width: '32px'\n },\n hue: {\n height: '8px',\n position: 'relative',\n margin: '0px 16px 0px 16px',\n width: '100%'\n },\n Hue: {\n radius: '2px'\n }\n }\n }, passedStyles));\n return React.createElement(\n 'div',\n { style: styles.picker, className: 'google-picker ' + className },\n React.createElement(\n 'div',\n { style: styles.head },\n header\n ),\n React.createElement('div', { style: styles.swatch }),\n React.createElement(\n 'div',\n { style: styles.saturation },\n React.createElement(Saturation, {\n hsl: hsl,\n hsv: hsv,\n pointer: GooglePointerCircle,\n onChange: onChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.body },\n React.createElement(\n 'div',\n { style: styles.controls, className: 'flexbox-fix' },\n React.createElement(\n 'div',\n { style: styles.hue },\n React.createElement(Hue, {\n style: styles.Hue,\n hsl: hsl,\n radius: '4px',\n pointer: GooglePointer,\n onChange: onChange\n })\n )\n ),\n React.createElement(GoogleFields, {\n rgb: rgb,\n hsl: hsl,\n hex: hex,\n hsv: hsv,\n onChange: onChange\n })\n )\n );\n};\n\nGoogle.propTypes = {\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n styles: PropTypes.object,\n header: PropTypes.string\n\n};\n\nGoogle.defaultProps = {\n width: 652,\n styles: {},\n header: 'Color picker'\n};\n\nexport default ColorWrap(Google);", "import React from 'react';\nimport reactCSS from 'reactcss';\nimport PropTypes from 'prop-types';\n\nexport var GooglePointerCircle = function GooglePointerCircle(props) {\n var styles = reactCSS({\n 'default': {\n picker: {\n width: '20px',\n height: '20px',\n borderRadius: '22px',\n border: '2px #fff solid',\n transform: 'translate(-12px, -13px)',\n background: 'hsl(' + Math.round(props.hsl.h) + ', ' + Math.round(props.hsl.s * 100) + '%, ' + Math.round(props.hsl.l * 100) + '%)'\n }\n }\n });\n\n return React.createElement('div', { style: styles.picker });\n};\n\nGooglePointerCircle.propTypes = {\n hsl: PropTypes.shape({\n h: PropTypes.number,\n s: PropTypes.number,\n l: PropTypes.number,\n a: PropTypes.number\n })\n};\n\nGooglePointerCircle.defaultProps = {\n hsl: { a: 1, h: 249.94, l: 0.2, s: 0.50 }\n};\n\nexport default GooglePointerCircle;", "import React from 'react';\nimport reactCSS from 'reactcss';\nimport PropTypes from 'prop-types';\n\nexport var GooglePointer = function GooglePointer(props) {\n var styles = reactCSS({\n 'default': {\n picker: {\n width: '20px',\n height: '20px',\n borderRadius: '22px',\n transform: 'translate(-10px, -7px)',\n background: 'hsl(' + Math.round(props.hsl.h) + ', 100%, 50%)',\n border: '2px white solid'\n }\n }\n });\n\n return React.createElement('div', { style: styles.picker });\n};\n\nGooglePointer.propTypes = {\n hsl: PropTypes.shape({\n h: PropTypes.number,\n s: PropTypes.number,\n l: PropTypes.number,\n a: PropTypes.number\n })\n};\n\nGooglePointer.defaultProps = {\n hsl: { a: 1, h: 249.94, l: 0.2, s: 0.50 }\n};\n\nexport default GooglePointer;", "import React from 'react';\nimport reactCSS from 'reactcss';\nimport * as color from '../../helpers/color';\nimport { EditableInput } from '../common';\n\nexport var GoogleFields = function GoogleFields(_ref) {\n var onChange = _ref.onChange,\n rgb = _ref.rgb,\n hsl = _ref.hsl,\n hex = _ref.hex,\n hsv = _ref.hsv;\n\n\n var handleChange = function handleChange(data, e) {\n if (data.hex) {\n color.isValidHex(data.hex) && onChange({\n hex: data.hex,\n source: 'hex'\n }, e);\n } else if (data.rgb) {\n var values = data.rgb.split(',');\n color.isvalidColorString(data.rgb, 'rgb') && onChange({\n r: values[0],\n g: values[1],\n b: values[2],\n a: 1,\n source: 'rgb'\n }, e);\n } else if (data.hsv) {\n var _values = data.hsv.split(',');\n if (color.isvalidColorString(data.hsv, 'hsv')) {\n _values[2] = _values[2].replace('%', '');\n _values[1] = _values[1].replace('%', '');\n _values[0] = _values[0].replace('\u00B0', '');\n if (_values[1] == 1) {\n _values[1] = 0.01;\n } else if (_values[2] == 1) {\n _values[2] = 0.01;\n }\n onChange({\n h: Number(_values[0]),\n s: Number(_values[1]),\n v: Number(_values[2]),\n source: 'hsv'\n }, e);\n }\n } else if (data.hsl) {\n var _values2 = data.hsl.split(',');\n if (color.isvalidColorString(data.hsl, 'hsl')) {\n _values2[2] = _values2[2].replace('%', '');\n _values2[1] = _values2[1].replace('%', '');\n _values2[0] = _values2[0].replace('\u00B0', '');\n if (hsvValue[1] == 1) {\n hsvValue[1] = 0.01;\n } else if (hsvValue[2] == 1) {\n hsvValue[2] = 0.01;\n }\n onChange({\n h: Number(_values2[0]),\n s: Number(_values2[1]),\n v: Number(_values2[2]),\n source: 'hsl'\n }, e);\n }\n }\n };\n\n var styles = reactCSS({\n 'default': {\n wrap: {\n display: 'flex',\n height: '100px',\n marginTop: '4px'\n },\n fields: {\n width: '100%'\n },\n column: {\n paddingTop: '10px',\n display: 'flex',\n justifyContent: 'space-between'\n },\n double: {\n padding: '0px 4.4px',\n boxSizing: 'border-box'\n },\n input: {\n width: '100%',\n height: '38px',\n boxSizing: 'border-box',\n padding: '4px 10% 3px',\n textAlign: 'center',\n border: '1px solid #dadce0',\n fontSize: '11px',\n textTransform: 'lowercase',\n borderRadius: '5px',\n outline: 'none',\n fontFamily: 'Roboto,Arial,sans-serif'\n },\n input2: {\n height: '38px',\n width: '100%',\n border: '1px solid #dadce0',\n boxSizing: 'border-box',\n fontSize: '11px',\n textTransform: 'lowercase',\n borderRadius: '5px',\n outline: 'none',\n paddingLeft: '10px',\n fontFamily: 'Roboto,Arial,sans-serif'\n },\n label: {\n textAlign: 'center',\n fontSize: '12px',\n background: '#fff',\n position: 'absolute',\n textTransform: 'uppercase',\n color: '#3c4043',\n width: '35px',\n top: '-6px',\n left: '0',\n right: '0',\n marginLeft: 'auto',\n marginRight: 'auto',\n fontFamily: 'Roboto,Arial,sans-serif'\n },\n label2: {\n left: '10px',\n textAlign: 'center',\n fontSize: '12px',\n background: '#fff',\n position: 'absolute',\n textTransform: 'uppercase',\n color: '#3c4043',\n width: '32px',\n top: '-6px',\n fontFamily: 'Roboto,Arial,sans-serif'\n },\n single: {\n flexGrow: '1',\n margin: '0px 4.4px'\n }\n }\n });\n\n var rgbValue = rgb.r + ', ' + rgb.g + ', ' + rgb.b;\n var hslValue = Math.round(hsl.h) + '\\xB0, ' + Math.round(hsl.s * 100) + '%, ' + Math.round(hsl.l * 100) + '%';\n var hsvValue = Math.round(hsv.h) + '\\xB0, ' + Math.round(hsv.s * 100) + '%, ' + Math.round(hsv.v * 100) + '%';\n\n return React.createElement(\n 'div',\n { style: styles.wrap, className: 'flexbox-fix' },\n React.createElement(\n 'div',\n { style: styles.fields },\n React.createElement(\n 'div',\n { style: styles.double },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'hex',\n value: hex,\n onChange: handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.column },\n React.createElement(\n 'div',\n { style: styles.single },\n React.createElement(EditableInput, {\n style: { input: styles.input2, label: styles.label2 },\n label: 'rgb',\n value: rgbValue,\n onChange: handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.single },\n React.createElement(EditableInput, {\n style: { input: styles.input2, label: styles.label2 },\n label: 'hsv',\n value: hsvValue,\n onChange: handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.single },\n React.createElement(EditableInput, {\n style: { input: styles.input2, label: styles.label2 },\n label: 'hsl',\n value: hslValue,\n onChange: handleChange\n })\n )\n )\n )\n );\n};\n\nexport default GoogleFields;", "import React, { Component } from 'react';\n\nimport { Checkbox, Button, MenuItem, Select, FormControlLabel, AppBar, Tabs, Tab, TextField } from '@mui/material';\n\nimport { I18n } from '../i18n';\nimport { convertCronToText } from './SimpleCron/cronText';\n\nconst styles: Record = {\n mainDiv: {\n width: '100%',\n height: '100%',\n },\n periodSelect: {\n // margin: '0 10px 60px 10px',\n display: 'block',\n width: 250,\n },\n slider: {\n marginTop: 20,\n display: 'block',\n width: '100%',\n },\n tabContent: {\n padding: 20,\n height: 'calc(100% - 240px)',\n overflow: 'auto',\n },\n numberButton: {\n padding: 4,\n minWidth: 40,\n margin: 5,\n },\n numberButtonBreak: {\n display: 'block',\n },\n appBar: {\n color: 'white',\n },\n warning: {\n marginLeft: 16,\n color: 'red',\n fontSize: 12,\n },\n};\n\nconst WEEKDAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];\nconst MONTHS = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n];\n\n// 5-7,9-11 => [5,6,7,9,10,11]\nfunction convertMinusIntoArray(value: string | false | undefined, max: number): number[] {\n const result: number[] = [];\n\n if (value === '*') {\n if (max === 24 || max === 60 || max === 7) {\n for (let i = 0; i < max; i++) {\n result.push(i);\n }\n } else {\n for (let i = 1; i <= max; i++) {\n result.push(i);\n }\n }\n return result; // array with entries max\n }\n\n const parts = (value || '').toString().split(',');\n\n for (let p = 0; p < parts.length; p++) {\n if (!parts[p].trim().length) {\n continue;\n }\n const items = parts[p].trim().split('-');\n if (items.length > 1) {\n const iMax = parseInt(items[1], 10);\n for (let i = parseInt(items[0], 10); i <= iMax; i++) {\n result.push(i);\n }\n } else {\n result.push(parseInt(parts[p], 10));\n }\n }\n\n result.sort();\n\n // remove double entries\n for (let p = result.length - 1; p >= 0; p--) {\n if (result[p] === result[p + 1]) {\n result.splice(p + 1, 1);\n }\n }\n\n return result;\n}\n\n// [5,6,7,9,10,11] => 5-7,9-11\nfunction convertArrayIntoMinus(value: number | number[], max: number): string {\n if (typeof value !== 'object') {\n value = [value];\n }\n if (value.length === max) {\n return '*';\n }\n const newParts = [];\n if (!value.length) {\n return '-';\n }\n value = value.map(a => parseInt(a as any as string, 10));\n\n value.sort((a, b) => a - b);\n\n let start = value[0];\n let end = value[0];\n for (let p = 1; p < value.length; p++) {\n if (value[p] - 1 !== parseInt(value[p - 1] as any as string, 10)) {\n if (start === end) {\n newParts.push(start);\n } else if (end - 1 === start) {\n newParts.push(`${start},${end}`);\n } else {\n newParts.push(`${start}-${end}`);\n }\n start = value[p];\n }\n end = value[p];\n }\n\n if (start === end) {\n newParts.push(start);\n } else if (end - 1 === start) {\n newParts.push(`${start},${end}`);\n } else {\n newParts.push(`${start}-${end}`);\n }\n\n return newParts.join(',');\n}\n\ntype CronNames = 'seconds' | 'minutes' | 'hours' | 'dates' | 'months' | 'dow';\n\ninterface CronProps {\n seconds: string | false | null;\n minutes: string | null;\n hours: string | null;\n dates: string | null;\n months: string | null;\n dow: string | null;\n}\n\ninterface ComplexCronProps {\n cronExpression: string;\n onChange: (cron: string) => void;\n language: ioBroker.Languages;\n}\n\n// type CronModes = 'every' | 'everyN' | 'specific';\n\ninterface ComplexCronState {\n extended: boolean;\n tab: number;\n cron: string;\n seconds?: string | false;\n minutes?: string;\n hours?: string;\n dates?: string;\n months?: string;\n dow?: string;\n modes: CronProps;\n}\n\nexport class ComplexCron extends Component {\n constructor(props: ComplexCronProps) {\n super(props);\n let cron =\n typeof this.props.cronExpression === 'string'\n ? this.props.cronExpression.replace(/^[\"']/, '').replace(/[\"']\\n?$/, '')\n : '';\n if (cron[0] === '{') {\n cron = '';\n }\n const state = ComplexCron.cron2state(cron || '* * * * *');\n\n this.state = {\n extended: false,\n tab: state.seconds !== false ? 1 : 0,\n cron: ComplexCron.state2cron(state),\n modes: {\n seconds: null,\n minutes: null,\n hours: null,\n dates: null,\n months: null,\n dow: null,\n },\n };\n Object.assign(this.state, state);\n if (this.state.cron !== this.props.cronExpression) {\n setTimeout(() => this.props.onChange && this.props.onChange(this.state.cron), 100);\n }\n }\n\n static cron2state(cron: string): CronProps {\n cron = cron.replace(/['\"]/g, '').trim();\n const cronParts = cron.split(' ').map(p => p.trim());\n let options: CronProps;\n\n if (cronParts.length === 6) {\n options = {\n seconds: cronParts[0] || '*',\n minutes: cronParts[1] || '*',\n hours: cronParts[2] || '*',\n dates: cronParts[3] || '*',\n months: cronParts[4] || '*',\n dow: cronParts[5] || '*',\n };\n } else {\n options = {\n seconds: false,\n minutes: cronParts[0] || '*',\n hours: cronParts[1] || '*',\n dates: cronParts[2] || '*',\n months: cronParts[3] || '*',\n dow: cronParts[4] || '*',\n };\n }\n return options;\n }\n\n static state2cron(state: ComplexCronState | CronProps): string {\n let text = `${state.minutes} ${state.hours} ${state.dates} ${state.months} ${state.dow}`;\n if (state.seconds !== false) {\n text = `${state.seconds} ${text}`;\n }\n return text;\n }\n\n recalcCron(): void {\n const cron = ComplexCron.state2cron(this.state);\n if (cron !== this.state.cron) {\n this.setState({ cron }, () => this.props.onChange && this.props.onChange(this.state.cron));\n }\n }\n\n onToggle(i: boolean | number, type: CronNames, max: number): void {\n if (i === true) {\n this.setCronAttr(type, '*');\n } else if (i === false) {\n if (max === 60 || max === 24) {\n this.setCronAttr(type, '0');\n } else {\n this.setCronAttr(type, '1');\n }\n } else {\n const nums = convertMinusIntoArray(this.state[type], max);\n const pos = nums.indexOf(i);\n if (pos !== -1) {\n nums.splice(pos, 1);\n } else {\n nums.push(i);\n nums.sort();\n }\n this.setCronAttr(type, convertArrayIntoMinus(nums, max));\n }\n }\n\n getDigitsSelector(type: CronNames, max: number): React.JSX.Element[] {\n let values = [];\n if (max === 7) {\n values = [1, 2, 3, 4, 5, 6, 0];\n } else if (max === 60 || max === 24) {\n for (let i = 0; i < max; i++) {\n values.push(i);\n }\n } else {\n for (let i = 1; i <= max; i++) {\n values.push(i);\n }\n }\n\n const parts = convertMinusIntoArray(this.state[type], max);\n\n return [\n this.onToggle(false, type, max)}\n >\n {I18n.t('ra_Deselect all')}\n ,\n this.onToggle(true, type, max)}\n >\n {I18n.t('ra_Select all')}\n ,\n
\n {values.map(i => [\n (max === 7 && i === 4) ||\n (max === 12 && i === 7) ||\n (max === 31 && !((i - 1) % 10)) ||\n (max === 60 && i && !(i % 10)) ||\n (max === 24 && i && !(i % 6)) ? (\n \n ) : null,\n this.onToggle(i, type, max)}\n >\n {max === 7 ? I18n.t(WEEKDAYS[i]) : max === 12 ? MONTHS[i - 1] : i}\n ,\n ])}\n
,\n ];\n }\n\n getPeriodsTab(type: CronNames, max: number): React.JSX.Element | null {\n const value = this.state[type];\n let every = value === '*';\n let everyN = value === undefined || value === null ? false : value.toString().includes('/');\n let select;\n if (this.state.modes[type] === null) {\n select = every ? 'every' : everyN ? 'everyN' : 'specific';\n const modes = JSON.parse(JSON.stringify(this.state.modes));\n modes[type] = select;\n setTimeout(() => this.setState({ modes }, () => this.recalcCron()), 100);\n return null;\n }\n\n every = this.state.modes[type] === 'every';\n everyN = this.state.modes[type] === 'everyN';\n select = this.state.modes[type];\n\n let valueNumber = 1;\n if (everyN && value) {\n valueNumber = parseInt(value.replace('*/', ''), 10) || 1;\n }\n\n return (\n
\n {\n const modes = JSON.parse(JSON.stringify(this.state.modes));\n modes[type] = e.target.value;\n if (e.target.value === 'every') {\n this.setCronAttr(type, '*', modes);\n } else if (e.target.value === 'everyN') {\n const num = parseInt((this.state[type] || '').toString().replace('*/', ''), 10) || 1;\n this.setCronAttr(type, `*/${num}`, modes);\n } else if (e.target.value === 'specific') {\n let num = parseInt((this.state[type] || '').toString().split(',')[0], 10) || 0;\n if (!num && (type === 'months' || type === 'dates')) {\n num = 1;\n }\n this.setCronAttr(type, convertArrayIntoMinus(num, max), modes);\n }\n }}\n >\n \n {I18n.t(`sc_every_${type}`)}\n \n \n {I18n.t(`sc_everyN_${type}`)}\n \n \n {I18n.t(`sc_specific_${type}`)}\n \n \n {/* everyN && false && {value} */}\n {everyN && (\n {\n // @ts-expect-error is allowed\n this.setState({ [type]: `*/${e.target.value}` }, () => this.recalcCron());\n }}\n type=\"number\"\n margin=\"normal\"\n />\n )}\n {!every && !everyN && this.getDigitsSelector(type, max)}\n
\n );\n }\n\n static convertCronToText(cron: string, lang: ioBroker.Languages): string {\n if (cron.split(' ').includes('-')) {\n return I18n.t('ra_Invalid CRON');\n }\n return convertCronToText(cron, lang);\n }\n\n setCronAttr(attr: CronNames, value: string, modes?: CronProps): void {\n if (modes) {\n if (attr === 'seconds') {\n this.setState({ seconds: value, modes }, () => this.recalcCron());\n } else if (attr === 'minutes') {\n this.setState({ minutes: value, modes }, () => this.recalcCron());\n } else if (attr === 'hours') {\n this.setState({ hours: value, modes }, () => this.recalcCron());\n } else if (attr === 'dates') {\n this.setState({ dates: value, modes }, () => this.recalcCron());\n } else if (attr === 'months') {\n this.setState({ months: value, modes }, () => this.recalcCron());\n } else if (attr === 'dow') {\n this.setState({ dow: value, modes }, () => this.recalcCron());\n } else {\n this.setState({ modes }, () => this.recalcCron());\n }\n } else if (attr === 'seconds') {\n this.setState({ seconds: value }, () => this.recalcCron());\n } else if (attr === 'minutes') {\n this.setState({ minutes: value }, () => this.recalcCron());\n } else if (attr === 'hours') {\n this.setState({ hours: value }, () => this.recalcCron());\n } else if (attr === 'dates') {\n this.setState({ dates: value }, () => this.recalcCron());\n } else if (attr === 'months') {\n this.setState({ months: value }, () => this.recalcCron());\n } else if (attr === 'dow') {\n this.setState({ dow: value }, () => this.recalcCron());\n }\n }\n\n render(): React.JSX.Element {\n const tab = this.state.seconds !== false ? this.state.tab : this.state.tab + 1;\n\n // Detect if every minute or every second is activated\n const everyMinute = this.state.minutes === '*' || this.state.minutes === '*/1';\n const everySecond = this.state.seconds === '*' || this.state.seconds === '*/1';\n\n return (\n
\n
\n \n
\n
\n {ComplexCron.convertCronToText(this.state.cron, this.props.language || 'en')}\n \n {everySecond\n ? I18n.t('ra_warning_every_second')\n : everyMinute\n ? I18n.t('ra_warning_every_minute')\n : ''}\n \n
\n \n this.setState({ seconds: e.target.checked ? '*' : false }, () => this.recalcCron())\n }\n />\n }\n label={I18n.t('ra_use seconds')}\n />\n \n this.setState({ tab: _tab })}\n >\n {this.state.seconds !== false && (\n \n )}\n \n \n \n \n \n \n \n {tab === 0 &&
{this.getPeriodsTab('seconds', 60)}
}\n {tab === 1 &&
{this.getPeriodsTab('minutes', 60)}
}\n {tab === 2 &&
{this.getPeriodsTab('hours', 24)}
}\n {tab === 3 &&
{this.getPeriodsTab('dates', 31)}
}\n {tab === 4 &&
{this.getPeriodsTab('months', 12)}
}\n {tab === 5 &&
{this.getPeriodsTab('dow', 7)}
}\n
\n );\n }\n}\n", "import cronstrue from 'cronstrue';\nimport 'cronstrue/locales/fr';\nimport 'cronstrue/locales/es';\nimport 'cronstrue/locales/de';\nimport 'cronstrue/locales/it';\nimport 'cronstrue/locales/ru';\nimport 'cronstrue/locales/zh_CN';\nimport 'cronstrue/locales/uk';\nimport 'cronstrue/locales/pt_BR';\nimport 'cronstrue/locales/pl';\n\nexport function convertCronToText(cron: string, lang?: ioBroker.Languages): string {\n return cronstrue.toString(cron, { locale: lang });\n}\n", "import React, { useEffect, useState } from 'react';\n\nimport { Dialog, DialogActions, DialogContent, DialogTitle, IconButton, TextField, Button } from '@mui/material';\n\nimport { Check as CheckIcon, Close as CloseIcon, Language as LanguageIcon } from '@mui/icons-material';\n\nimport { I18n } from '../i18n';\nimport type { IobTheme } from '../types';\nimport { Utils } from './Utils';\n\nconst styles: Record = {\n modalDialog: {\n minWidth: 400,\n maxWidth: 800,\n },\n overflowHidden: {\n display: 'flex',\n overflow: 'hidden',\n },\n titleIcon: {\n marginRight: 5,\n },\n content: {\n fontSize: 16,\n },\n languageButton: {\n position: 'absolute',\n right: 8,\n top: 8,\n },\n languageButtonActive: (theme: IobTheme) => ({\n color: theme.palette.primary.main,\n }),\n};\n\ninterface CustomModalProps {\n icon?: any;\n open: boolean;\n onClose: () => void;\n children: React.JSX.Element | null;\n titleButtonClose?: string;\n titleButtonApply?: string;\n onApply: (result: string) => void;\n fullWidth?: boolean;\n maxWidth?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n applyButton?: boolean;\n applyDisabled?: boolean;\n overflowHidden?: boolean;\n help?: string;\n noTranslation?: boolean;\n toggleTranslation?: () => void;\n title?: string;\n progress?: boolean;\n textInput?: boolean;\n defaultValue?: string;\n theme: IobTheme;\n}\n\nexport function CustomModal(props: CustomModalProps): React.JSX.Element {\n const {\n open,\n toggleTranslation,\n noTranslation,\n title,\n fullWidth,\n help,\n maxWidth,\n progress,\n icon,\n applyDisabled,\n applyButton,\n onClose,\n children,\n titleButtonApply,\n titleButtonClose,\n onApply,\n textInput,\n defaultValue,\n overflowHidden,\n } = props;\n\n const [value, setValue] = useState(defaultValue || '');\n\n useEffect(() => {\n setValue(defaultValue || '');\n }, [defaultValue]);\n\n let Icon = null;\n\n if (icon) {\n Icon = icon;\n }\n\n return (\n \n {title && (\n \n {icon ? : null}\n {title}\n {I18n.getLanguage() !== 'en' && toggleTranslation ? (\n toggleTranslation()}\n title={I18n.t('Disable/Enable translation')}\n >\n \n \n ) : null}\n \n )}\n \n {textInput && (\n setValue(e.target.value)}\n // customValue\n />\n )}\n {children}\n {help ?
{help}
: null}\n \n \n {applyButton !== false && (\n }\n disabled={progress || (applyDisabled && defaultValue === value)}\n onClick={() => onApply(textInput ? value : '')}\n variant=\"contained\"\n color=\"primary\"\n >\n {I18n.t(titleButtonApply || 'ra_Ok')}\n \n )}\n }\n >\n {I18n.t(titleButtonClose || 'ra_Cancel')}\n \n \n \n );\n}\n", "/**\n * Copyright 2020-2024, Denis Haev \n *\n * MIT License\n *\n */\nimport React, { Component, type JSX } from 'react';\nimport Dropzone from 'react-dropzone';\n\nimport {\n LinearProgress,\n ListItemIcon,\n ListItemText,\n Menu,\n MenuItem,\n Tooltip,\n CircularProgress,\n Toolbar,\n IconButton,\n Fab,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogContentText,\n DialogActions,\n Button,\n Input,\n Breadcrumbs,\n Box,\n} from '@mui/material';\n\n// MUI Icons\nimport {\n Refresh as RefreshIcon,\n Close as CloseIcon,\n Bookmark as JsonIcon,\n BookmarkBorder as CssIcon,\n Description as HtmlIcon,\n Edit as EditIcon,\n Code as JSIcon,\n InsertDriveFile as FileIcon,\n Publish as UploadIcon,\n MusicNote as MusicIcon,\n SaveAlt as DownloadIcon,\n CreateNewFolder as AddFolderIcon,\n FolderOpen as EmptyFilterIcon,\n List as IconList,\n ViewModule as IconTile,\n ArrowBack as IconBack,\n Delete as DeleteIcon,\n Brightness6 as Brightness5Icon,\n Image as TypeIconImages,\n FontDownload as TypeIconTxt,\n AudioFile as TypeIconAudio,\n Videocam as TypeIconVideo,\n KeyboardReturn as EnterIcon,\n FolderSpecial as RestrictedIcon,\n} from '@mui/icons-material';\n\nimport type { Connection } from '@iobroker/socket-client';\n\nimport { DialogError } from '../Dialogs/Error';\nimport { Utils } from './Utils';\nimport { DialogTextInput } from '../Dialogs/TextInput';\n\n// Custom Icons\nimport { IconExpert } from '../icons/IconExpert';\nimport { IconClosed } from '../icons/IconClosed';\nimport { IconOpen } from '../icons/IconOpen';\nimport { IconNoIcon } from '../icons/IconNoIcon';\nimport { Icon } from './Icon';\n\nimport { withWidth } from './withWidth';\nimport type { ThemeName, ThemeType, Translate, IobTheme } from '../types';\n\nimport { FileViewer, EXTENSIONS, type FileViewerProps } from './FileViewer';\n\nconst ROW_HEIGHT = 32;\nconst BUTTON_WIDTH = 32;\nconst TILE_HEIGHT = 120;\nconst TILE_WIDTH = 64;\n\nconst NOT_FOUND = 'Not found';\n\n// Todo: replace with js-controller types\nexport interface MetaACL extends ioBroker.ObjectACL {\n file: number;\n}\n\n// Todo: replace with js-controller types\nexport interface MetaObject extends ioBroker.MetaObject {\n acl: MetaACL;\n}\n\nconst FILE_TYPE_ICONS: Record> = {\n all: FileIcon,\n images: TypeIconImages,\n code: JSIcon,\n txt: TypeIconTxt,\n audio: TypeIconAudio,\n video: TypeIconVideo,\n};\n\nconst styles: Record = {\n root: {\n width: '100%',\n overflow: 'hidden',\n height: '100%',\n position: 'relative',\n },\n filesDiv: {\n width: 'calc(100% - 16px)',\n overflowX: 'hidden',\n overflowY: 'auto',\n padding: 8,\n },\n filesDivHint: {\n position: 'absolute',\n bottom: 0,\n left: 20,\n opacity: 0.7,\n fontStyle: 'italic',\n fontSize: 12,\n },\n filesDivTable: {\n height: 'calc(100% - 56px)',\n },\n filesDivTile: {\n height: `calc(100% - ${48 * 2 + 8}px)`,\n display: 'flex',\n alignContent: 'flex-start',\n alignItems: 'stretch',\n flexWrap: 'wrap',\n flex: `0 0 ${TILE_WIDTH}px`,\n },\n\n itemTile: (theme: IobTheme): any => ({\n position: 'relative',\n userSelect: 'none',\n cursor: 'pointer',\n height: TILE_HEIGHT,\n width: TILE_WIDTH,\n display: 'inline-block',\n textAlign: 'center',\n opacity: 0.1,\n transition: 'opacity 1s',\n margin: '4px',\n borderRadius: '4px',\n '&:hover': {\n background: theme.palette.secondary.light,\n color: Utils.invertColor(theme.palette.secondary.main, true),\n },\n }),\n itemNameFolderTile: {\n fontWeight: 'bold',\n },\n itemNameTile: {\n width: '100%',\n height: 32,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n fontSize: 12,\n textAlign: 'center',\n wordBreak: 'break-all',\n },\n itemFolderIconTile: (theme: IobTheme): any => ({\n width: '100%',\n height: TILE_HEIGHT - 32 - 16 - 8, // name + size\n display: 'block',\n pl: 1,\n color: theme.palette.secondary.main || '#fbff7d',\n }),\n itemFolderIconBack: (theme: IobTheme): React.CSSProperties => ({\n position: 'absolute',\n top: 22,\n left: 18,\n zIndex: 1,\n color: theme.palette.mode === 'dark' ? '#FFF' : '#000',\n }),\n itemSizeTile: {\n width: '100%',\n height: 16,\n textAlign: 'center',\n fontSize: 10,\n },\n itemImageTile: {\n width: 'calc(100% - 8px)',\n height: TILE_HEIGHT - 32 - 16 - 8, // name + size\n margin: 4,\n display: 'block',\n textAlign: 'center',\n objectFit: 'contain',\n },\n itemIconTile: {\n width: '100%',\n height: TILE_HEIGHT - 32 - 16 - 8, // name + size\n display: 'block',\n objectFit: 'contain',\n },\n\n itemSelected: (theme: IobTheme): React.CSSProperties => ({\n background: theme.palette.primary.main,\n color: Utils.invertColor(theme.palette.primary.main, true),\n }),\n\n itemTable: (theme: IobTheme): any => ({\n userSelect: 'none',\n cursor: 'pointer',\n height: ROW_HEIGHT,\n display: 'inline-flex',\n lineHeight: `${ROW_HEIGHT}px`,\n '&:hover': {\n background: theme.palette.secondary.light,\n color: Utils.invertColor(theme.palette.secondary.main, true),\n },\n }),\n itemNameTable: {\n display: 'inline-block',\n pl: '10px',\n fontSize: '1rem',\n verticalAlign: 'top',\n flexGrow: 1,\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n '@media screen and (max-width: 500px)': {\n textAlign: 'end',\n direction: 'rtl',\n },\n },\n itemNameFolderTable: {\n fontWeight: 'bold',\n },\n itemSizeTable: {\n display: 'inline-block',\n width: 60,\n verticalAlign: 'top',\n textAlign: 'right',\n whiteSpace: 'nowrap',\n },\n itemAccessTable: {\n // display: 'inline-block',\n verticalAlign: 'top',\n width: 60,\n textAlign: 'right',\n paddingRight: 5,\n display: 'flex',\n justifyContent: 'center',\n },\n itemImageTable: {\n display: 'inline-block',\n width: 30,\n marginTop: 1,\n objectFit: 'contain',\n maxHeight: 30,\n },\n itemNoImageTable: {\n marginTop: 6,\n },\n itemIconTable: {\n display: 'inline-block',\n marginTop: 1,\n width: 30,\n height: 30,\n },\n itemFolderTable: {},\n itemFolderTemp: {\n opacity: 0.4,\n },\n itemFolderIconTable: (theme: IobTheme): React.CSSProperties => ({\n marginTop: '1px',\n marginLeft: '8px',\n display: 'inline-block',\n width: 30,\n height: 30,\n color: theme.palette.secondary.main || '#fbff7d',\n }),\n itemDownloadButtonTable: (theme: IobTheme): any => ({\n display: 'inline-block',\n width: BUTTON_WIDTH,\n height: ROW_HEIGHT,\n minWidth: BUTTON_WIDTH,\n verticalAlign: 'middle',\n textAlign: 'center',\n padding: 0,\n borderRadius: `${BUTTON_WIDTH / 2}px`,\n '&:hover': {\n backgroundColor: theme.palette.mode === 'dark' ? 'rgba(255, 255, 255, 0.08)' : 'rgba(0, 0, 0, 0.08)',\n },\n '& span': {\n pt: '9px',\n },\n '& svg': {\n width: 14,\n height: 14,\n fontSize: '1rem',\n mt: '-3px',\n verticalAlign: 'middle',\n color: theme.palette.mode === 'dark' ? '#EEE' : '#111',\n },\n }),\n itemDownloadEmptyTable: {\n display: 'inline-block',\n width: BUTTON_WIDTH,\n height: ROW_HEIGHT,\n minWidth: BUTTON_WIDTH,\n padding: 0,\n },\n itemAclButtonTable: {\n width: BUTTON_WIDTH,\n height: ROW_HEIGHT,\n minWidth: BUTTON_WIDTH,\n verticalAlign: 'top',\n padding: 0,\n fontSize: 12,\n display: 'flex',\n },\n itemDeleteButtonTable: {\n display: 'inline-block',\n width: BUTTON_WIDTH,\n height: ROW_HEIGHT,\n minWidth: BUTTON_WIDTH,\n verticalAlign: 'top',\n padding: 0,\n '& svg': {\n width: 18,\n height: 18,\n fontSize: '1.5rem',\n },\n },\n\n uploadDiv: {\n top: 0,\n zIndex: 1,\n bottom: 0,\n left: 0,\n right: 0,\n position: 'absolute',\n opacity: 0.9,\n textAlign: 'center',\n background: '#FFFFFF',\n },\n uploadDivDragging: {\n opacity: 1,\n },\n\n uploadCenterDiv: (theme: IobTheme): any => ({\n m: '20px',\n border: '3px dashed grey',\n borderRadius: '30px',\n width: 'calc(100% - 40px)',\n height: 'calc(100% - 40px)',\n position: 'relative',\n color: theme.palette.mode === 'dark' ? '#222' : '#CCC',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }),\n uploadCenterIcon: {\n width: '25%',\n height: '25%',\n },\n uploadCenterText: {\n fontSize: 24,\n fontWeight: 'bold',\n },\n uploadCloseButton: {\n zIndex: 2,\n position: 'absolute',\n top: 30,\n right: 30,\n },\n uploadCenterTextAndIcon: {\n position: 'absolute',\n height: '30%',\n width: '100%',\n margin: 'auto',\n opacity: 0.3,\n },\n menuButtonExpertActive: {\n color: '#c00000',\n },\n menuButtonRestrictActive: {\n color: '#c05000',\n },\n pathDiv: (theme: IobTheme): any => ({\n display: 'flex',\n width: 'calc(100% - 16px)',\n ml: 1,\n mr: 1,\n textOverflow: 'clip',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n backgroundColor: theme.palette.secondary.main,\n }),\n pathDivInput: {\n width: '100%',\n },\n pathDivBreadcrumbDir: (theme: IobTheme): any => ({\n pl: '2px',\n pr: '2px',\n cursor: 'pointer',\n '&:hover': {\n background: theme.palette.primary.main,\n },\n }),\n pathDivBreadcrumbSelected: {\n // todo: add style\n },\n backgroundImageLight: {\n background: 'white',\n },\n backgroundImageDark: {\n background: 'black',\n },\n backgroundImageColored: {\n background: 'silver',\n },\n specialFolder: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#229b0f' : '#5dd300',\n }),\n tooltip: {\n pointerEvents: 'none',\n },\n};\n\nconst USER_DATA = '0_userdata.0';\n\nfunction getParentDir(dir: string | null): string {\n const parts = (dir || '').split('/');\n if (parts.length) {\n parts.pop();\n }\n return parts.join('/');\n}\n\nfunction isFile(path: string): boolean {\n const ext = Utils.getFileExtension(path);\n return !!(ext?.toLowerCase().match(/[a-z]+/) && ext.length < 5);\n}\n\nconst TABLE = 'Table';\nconst TILE = 'Tile';\n\nexport interface FileBrowserProps {\n /** The key to identify this component. */\n key?: string;\n /** Additional styling for this component. */\n style?: React.CSSProperties;\n /** The CSS class name. */\n className?: string;\n /** Translation function. */\n t: Translate;\n /** The selected language. */\n lang: ioBroker.Languages;\n /** The socket connection. */\n socket: Connection;\n /** Shows if the component data ready. */\n ready?: boolean;\n /** Is expert mode enabled? (default: false) */\n expertMode?: boolean;\n /** Show the toolbar? (default: false) */\n showToolbar?: boolean;\n /** If defined, allow selecting only files from this folder and subfolders */\n limitPath?: string;\n /** Allow upload of new files? (default: false) */\n allowUpload?: boolean;\n /** Allow download of files? (default: false) */\n allowDownload?: boolean;\n /** Allow creation of new folders? (default: false) */\n allowCreateFolder?: boolean;\n /** Allow deleting files? (default: false) */\n allowDelete?: boolean;\n /** Allow viewing files? (default: false) */\n allowView?: boolean;\n /** Prefix (default: '.') */\n imagePrefix?: string;\n /** Show the expert button? */\n showExpertButton?: boolean;\n /** Type of view */\n viewType?: 'Table' | 'Tile';\n /** Show the buttons to switch the view from table to tile? (default: false) */\n showViewTypeButton?: boolean;\n /** The ID of the selected file. */\n selected?: string | string[];\n /** The file extensions to show, like ['png', 'svg', 'bmp', 'jpg', 'jpeg', 'gif']. */\n filterFiles?: string[];\n /** The file extension categories to show. */\n filterByType?: 'images' | 'code' | 'txt';\n /** Callback for file selection. */\n onSelect?: (id: string | string[], isDoubleClick?: boolean, isFolder?: boolean) => void;\n /** Theme name */\n themeName?: ThemeName;\n /** Theme type. */\n themeType?: ThemeType;\n /** Theme object. */\n theme: IobTheme;\n\n /** Padding in pixels for folder levels */\n levelPadding?: number;\n\n restrictToFolder?: string;\n\n modalEditOfAccessControl?: (obj: FileBrowserClass) => JSX.Element | null;\n\n allowNonRestricted?: boolean;\n\n showTypeSelector?: boolean;\n\n FileViewer?: React.FC;\n}\n\nexport interface FolderOrFileItem {\n id: string;\n level: number;\n name: string;\n folder: boolean;\n temp?: boolean;\n\n size?: number | undefined;\n ext?: string | null;\n modified?: number;\n title?: ioBroker.StringOrTranslated;\n meta?: boolean;\n from?: string;\n ts?: number;\n color?: string;\n icon?: string;\n acl?: ioBroker.EvaluatedFileACL | MetaACL;\n}\n\nexport type Folders = Record;\n\nfunction sortFolders(a: FolderOrFileItem, b: FolderOrFileItem): number {\n if (a.folder && b.folder) {\n return a.name > b.name ? 1 : a.name < b.name ? -1 : 0;\n }\n if (a.folder) {\n return -1;\n }\n if (b.folder) {\n return 1;\n }\n return a.name > b.name ? 1 : a.name < b.name ? -1 : 0;\n}\n\ninterface FileBrowserState {\n viewType: string;\n folders: Folders;\n filterEmpty: boolean;\n expanded: string[];\n currentDir: string;\n expertMode: boolean;\n addFolder: boolean;\n uploadFile: boolean | 'dragging';\n deleteItem: string;\n viewer: string;\n formatEditFile: string | null;\n path: string;\n selected: string;\n errorText: string;\n modalEditOfAccess: boolean;\n backgroundImage: string | null;\n queueLength: number;\n loadAllFolders: boolean;\n fileErrors: string[];\n filterByType: string;\n showTypesMenu: HTMLButtonElement | null;\n restrictToFolder: string;\n pathFocus: boolean;\n}\n\nexport class FileBrowserClass extends Component {\n private readonly imagePrefix: string;\n\n private readonly levelPadding: number;\n\n private mounted: boolean;\n\n private suppressDeleteConfirm: number;\n\n private browseList:\n | {\n processing?: boolean;\n resolve: null | ((files: ioBroker.ReadDirResult[]) => void);\n reject: null | ((e: any) => void);\n adapter: string | null;\n relPath: string | null;\n }[]\n | null;\n\n private browseListRunning: boolean;\n\n private initialReadFinished: boolean;\n\n private supportSubscribes: boolean | null;\n\n private _tempTimeout: Record>;\n\n private readonly limitToObjectID: string | null = null;\n\n private readonly limitToPath: string | null = null;\n\n private lastSelect: number | null = null;\n\n private setOpacityTimer: ReturnType | null = null;\n\n private cacheFoldersTimeout: ReturnType | null = null;\n\n private foldersLoading: boolean | null = null;\n\n private cacheFolders: Folders | null = null;\n\n private readonly localStorage: Storage;\n\n constructor(props: FileBrowserProps) {\n super(props);\n\n this.localStorage = (window as any)._localStorage || window.localStorage;\n const expandedStr = this.localStorage.getItem('files.expanded') || '[]';\n\n if (this.props.limitPath) {\n const parts = this.props.limitPath.split('/');\n this.limitToObjectID = parts[0];\n this.limitToPath = !parts.length ? null : parts.length === 1 && parts[0] === '' ? null : parts.join('/');\n if (this.limitToPath && this.limitToPath.endsWith('/')) {\n this.limitToPath.substring(0, this.limitToPath.length - 1);\n }\n }\n\n let expanded: string[];\n try {\n expanded = JSON.parse(expandedStr);\n if (this.limitToPath) {\n expanded = expanded.filter(\n id =>\n id.startsWith(`${this.limitToPath}/`) ||\n id === this.limitToPath ||\n this.limitToPath?.startsWith(`${id}/`),\n );\n }\n } catch {\n expanded = [];\n }\n\n let viewType;\n if (this.props.showViewTypeButton) {\n viewType = this.localStorage.getItem('files.viewType') || TABLE;\n } else {\n viewType = TABLE;\n }\n\n let selected = this.props.selected || this.localStorage.getItem('files.selected') || USER_DATA;\n\n let currentDir: string;\n\n if (props.restrictToFolder) {\n selected = props.restrictToFolder;\n currentDir = props.restrictToFolder;\n const parts = props.restrictToFolder.split('/');\n expanded = [];\n let path = '';\n for (let i = 0; i < parts.length; i++) {\n path += (path ? '/' : '') + parts[i];\n expanded.push(path);\n }\n } else {\n // TODO: Now we do not support multiple selection\n if (Array.isArray(selected)) {\n selected = selected[0];\n }\n\n if (isFile(selected)) {\n currentDir = getParentDir(selected);\n } else {\n currentDir = selected;\n }\n }\n const backgroundImage = this.localStorage.getItem('files.backgroundImage') || null;\n\n this.state = {\n viewType,\n folders: {},\n filterEmpty: this.localStorage.getItem('files.empty') !== 'false',\n expanded,\n currentDir,\n expertMode: !!props.expertMode,\n addFolder: false,\n uploadFile: false,\n deleteItem: '',\n // marked: [],\n viewer: '',\n formatEditFile: '',\n path: selected,\n selected,\n errorText: '',\n modalEditOfAccess: false,\n backgroundImage,\n queueLength: 0,\n loadAllFolders: false,\n // allFoldersLoaded: false,\n fileErrors: [],\n filterByType: props.filterByType || window.localStorage.getItem('files.filterByType') || '',\n showTypesMenu: null,\n restrictToFolder: props.restrictToFolder || '',\n pathFocus: false,\n };\n\n this.imagePrefix = this.props.imagePrefix || './files/';\n\n this.levelPadding = this.props.levelPadding || 20;\n this.mounted = true;\n this.suppressDeleteConfirm = 0;\n\n this.browseList = [];\n this.browseListRunning = false;\n this.initialReadFinished = false;\n this.supportSubscribes = null;\n this._tempTimeout = {};\n }\n\n static getDerivedStateFromProps(\n props: FileBrowserProps,\n state: FileBrowserState,\n ): Partial | null {\n if (props.expertMode !== undefined && props.expertMode !== state.expertMode) {\n return { expertMode: props.expertMode, loadAllFolders: true };\n }\n\n return null;\n }\n\n async loadFolders(): Promise {\n this.initialReadFinished = false;\n\n let folders = (await this.browseFolder('/')) as unknown as Folders;\n\n if (this.state.viewType === TABLE) {\n folders = (await this.browseFolders([...this.state.expanded], folders)) as unknown as Folders;\n } else if (\n this.state.currentDir &&\n this.state.currentDir !== '/' &&\n (!this.limitToObjectID || this.state.currentDir.startsWith(this.limitToObjectID))\n ) {\n folders = (await this.browseFolder(this.state.currentDir, folders)) as unknown as Folders;\n }\n\n this.setState({ folders }, () => {\n if (this.state.viewType === TABLE && !this.findItem(this.state.selected)) {\n const parts = this.state.selected.split('/');\n while (parts.length && !this.findItem(parts.join('/'))) {\n parts.pop();\n }\n let selected;\n if (parts.length) {\n selected = parts.join('/');\n } else {\n selected = USER_DATA;\n }\n this.setState({ selected, path: selected, pathFocus: false }, () => this.scrollToSelected());\n } else {\n this.scrollToSelected();\n }\n this.initialReadFinished = true;\n });\n }\n\n scrollToSelected(): void {\n if (this.mounted) {\n const el = document.getElementById(this.state.selected);\n el?.scrollIntoView();\n }\n }\n\n async componentDidMount(): Promise {\n this.mounted = true;\n this.loadFolders().catch(error => console.error(`Cannot load folders: ${error}`));\n\n this.supportSubscribes = await this.props.socket.checkFeatureSupported('BINARY_STATE_EVENT');\n if (this.supportSubscribes) {\n await this.props.socket.subscribeFiles('*', '*', this.onFileChange);\n }\n }\n\n componentWillUnmount(): void {\n if (this.supportSubscribes) {\n this.props.socket.unsubscribeFiles('*', '*', this.onFileChange);\n }\n this.mounted = false;\n this.browseList = null;\n this.browseListRunning = false;\n Object.values(this._tempTimeout).forEach(timer => timer && clearTimeout(timer));\n this._tempTimeout = {};\n }\n\n browseFoldersCb(foldersList: string[], newFoldersNotNull: Folders, cb: (folders: Folders) => void): void {\n if (!foldersList?.length) {\n cb(newFoldersNotNull);\n } else {\n const folder = foldersList.shift();\n if (folder) {\n void this.browseFolder(folder, newFoldersNotNull)\n .catch((e: Error) => console.error(`Cannot read folder ${folder}: ${e.message}`))\n .then(() => {\n setTimeout(() => this.browseFoldersCb(foldersList, newFoldersNotNull, cb), 0);\n });\n } else {\n setTimeout(() => this.browseFoldersCb(foldersList, newFoldersNotNull, cb), 0);\n }\n }\n }\n\n browseFolders(foldersList: string[], _newFolders?: Folders | null): Promise {\n let newFoldersNotNull: Folders;\n if (!_newFolders) {\n newFoldersNotNull = {};\n Object.keys(this.state.folders).forEach(folder => (newFoldersNotNull[folder] = this.state.folders[folder]));\n } else {\n newFoldersNotNull = _newFolders;\n }\n\n if (!foldersList?.length) {\n return Promise.resolve(newFoldersNotNull);\n }\n return new Promise(resolve => {\n this.browseFoldersCb(foldersList, newFoldersNotNull, resolve);\n });\n }\n\n readDirSerial(adapter: string, relPath: string): Promise {\n return new Promise((resolve, reject) => {\n if (this.browseList) {\n // if component still mounted\n this.browseList.push({\n resolve: resolve as unknown as (files: ioBroker.ReadDirResult[]) => void,\n reject,\n adapter,\n relPath,\n });\n if (!this.browseListRunning) {\n this.processBrowseList();\n }\n }\n });\n }\n\n processBrowseList(level: number = 0): void {\n if (!this.browseListRunning && this.browseList && this.browseList.length) {\n this.browseListRunning = true;\n if (this.browseList.length > 10) {\n // not too often\n if (!(this.browseList.length % 10)) {\n this.setState({ queueLength: this.browseList.length });\n }\n } else {\n this.setState({ queueLength: this.browseList.length });\n }\n\n this.browseList[0].processing = true;\n this.props.socket\n .readDir(this.browseList[0].adapter, this.browseList[0].relPath)\n .then(files => {\n if (this.browseList) {\n // if component still mounted\n const item = this.browseList.shift();\n if (item) {\n const resolve = item.resolve;\n item.resolve = null;\n item.reject = null;\n item.adapter = null;\n item.relPath = null;\n if (resolve) {\n resolve(files);\n }\n this.browseListRunning = false;\n if (this.browseList.length) {\n if (level < 5) {\n this.processBrowseList(level + 1);\n } else {\n setTimeout(() => this.processBrowseList(0), 0);\n }\n } else {\n this.setState({ queueLength: 0 });\n }\n } else {\n this.setState({ queueLength: 0 });\n }\n }\n })\n .catch(e => {\n if (this.browseList) {\n // if component still mounted\n const item = this.browseList.shift();\n if (item) {\n const reject = item.reject;\n item.resolve = null;\n item.reject = null;\n item.adapter = null;\n item.relPath = null;\n if (reject) {\n reject(e);\n }\n this.browseListRunning = false;\n if (this.browseList.length) {\n if (level < 5) {\n this.processBrowseList(level + 1);\n } else {\n setTimeout(() => this.processBrowseList(0), 0);\n }\n } else {\n this.setState({ queueLength: 0 });\n }\n } else {\n this.setState({ queueLength: 0 });\n }\n }\n });\n }\n }\n\n async browseFolder(\n folderId: string,\n _newFolders?: Folders | null,\n _checkEmpty?: boolean,\n force?: boolean,\n ): Promise {\n let newFoldersNotNull: Folders;\n if (!_newFolders) {\n newFoldersNotNull = {};\n Object.keys(this.state.folders).forEach(folder => {\n newFoldersNotNull[folder] = this.state.folders[folder];\n });\n } else {\n newFoldersNotNull = _newFolders;\n }\n\n if (newFoldersNotNull[folderId] && !force) {\n if (!_checkEmpty) {\n return new Promise((resolve, reject): void => {\n Promise.all(\n newFoldersNotNull[folderId]\n .filter(item => item.folder)\n .map(item =>\n this.browseFolder(item.id, newFoldersNotNull, true).catch((): undefined => undefined),\n ),\n )\n .then((): void => resolve(newFoldersNotNull))\n .catch((error: unknown): void => reject(new Error(error as string)));\n });\n }\n\n return Promise.resolve(newFoldersNotNull);\n }\n\n // if root folder\n if (!folderId || folderId === '/') {\n try {\n let objs = (await this.props.socket.readMetaItems()) as MetaObject[];\n const _folders: FolderOrFileItem[] = [];\n let userData = null;\n\n if (this.state.restrictToFolder) {\n const adapter = this.state.restrictToFolder.split('/')[0];\n objs = objs.filter(obj => obj._id === adapter);\n } else if (!this.state.expertMode) {\n // load only adapter.admin and not other meta files like hm-rpc.0.devices.blablabla\n objs = objs.filter(obj => !obj._id.endsWith('.admin'));\n }\n\n const pos = objs.findIndex(obj => obj._id === 'system.meta.uuid');\n if (pos !== -1) {\n objs.splice(pos, 1);\n }\n\n objs.forEach(obj => {\n if (this.limitToObjectID && this.limitToObjectID !== obj._id) {\n return;\n }\n\n const item: FolderOrFileItem = {\n id: obj._id,\n name: obj._id,\n title: (obj.common && obj.common.name) || obj._id,\n meta: true,\n from: obj.from,\n ts: obj.ts,\n color: obj.common && obj.common.color,\n icon: obj.common && obj.common.icon,\n folder: true,\n acl: obj.acl,\n level: 0,\n };\n\n if (item.id === USER_DATA) {\n // user data must be first\n userData = item;\n } else {\n _folders.push(item);\n }\n });\n\n _folders.sort((a, b) => (a.id > b.id ? 1 : a.id < b.id ? -1 : 0));\n if (!this.limitToObjectID || this.limitToObjectID === USER_DATA) {\n if (userData) {\n _folders.unshift(userData);\n }\n }\n\n newFoldersNotNull[folderId || '/'] = _folders;\n\n if (!_checkEmpty) {\n return Promise.all(\n _folders\n .filter(item => item.folder)\n .map(item =>\n this.browseFolder(item.id, newFoldersNotNull, true).catch((): undefined => undefined),\n ),\n ).then((): Folders => newFoldersNotNull);\n }\n } catch (e: unknown) {\n const knownError = e as Error;\n if (this.initialReadFinished) {\n window.alert(`Cannot read meta items: ${knownError.message}`);\n }\n newFoldersNotNull[folderId || '/'] = [];\n }\n return newFoldersNotNull;\n }\n\n const parts = folderId.split('/');\n const level = parts.length;\n const adapter = parts.shift();\n const relPath = parts.join('/');\n\n // make all requests here serial\n let files: ioBroker.ReadDirResult[];\n try {\n files = await this.readDirSerial(adapter || '', relPath);\n } catch (error: unknown) {\n // work around: 0_userdata.0 is a special folder, that should exist event when other folders and itself do not exit, as the browser shows it anyway.\n if (error === 'Not exists' && adapter === '0_userdata.0') {\n files = [];\n } else {\n throw error;\n }\n }\n try {\n const _folders: FolderOrFileItem[] = [];\n\n files.forEach(file => {\n const item: FolderOrFileItem = {\n id: `${folderId}/${file.file}`,\n ext: Utils.getFileExtension(file.file),\n folder: file.isDir,\n name: file.file,\n size: file.stats?.size,\n modified: file.modifiedAt,\n acl: file.acl,\n level,\n };\n\n if (this.state.restrictToFolder) {\n if (\n item.folder &&\n (item.id.startsWith(`${this.state.restrictToFolder}/`) ||\n item.id === this.state.restrictToFolder ||\n this.state.restrictToFolder.startsWith(`${item.id}/`))\n ) {\n _folders.push(item);\n } else if (item.id.startsWith(`${this.state.restrictToFolder}/`)) {\n _folders.push(item);\n }\n } else if (this.limitToPath) {\n if (\n item.folder &&\n (item.id.startsWith(`${this.limitToPath}/`) ||\n item.id === this.limitToPath ||\n this.limitToPath.startsWith(`${item.id}/`))\n ) {\n _folders.push(item);\n } else if (item.id.startsWith(`${this.limitToPath}/`)) {\n _folders.push(item);\n }\n } else {\n _folders.push(item);\n }\n });\n\n _folders.sort(sortFolders);\n newFoldersNotNull[folderId] = _folders;\n\n if (!_checkEmpty) {\n return Promise.all(\n _folders\n .filter(item => item.folder)\n .map(item => this.browseFolder(item.id, newFoldersNotNull, true)),\n ).then(() => newFoldersNotNull);\n }\n } catch (e: unknown) {\n const knownError = e as Error;\n if (this.initialReadFinished) {\n window.alert(`Cannot read ${adapter}${relPath ? `/${relPath}` : ''}: ${knownError?.message}`);\n }\n newFoldersNotNull[folderId] = [];\n }\n\n return newFoldersNotNull;\n }\n\n toggleFolder(item: FolderOrFileItem, e: React.MouseEvent): void {\n e?.stopPropagation();\n const expanded = [...this.state.expanded];\n const pos = expanded.indexOf(item.id);\n if (pos === -1) {\n expanded.push(item.id);\n expanded.sort();\n\n this.localStorage.setItem('files.expanded', JSON.stringify(expanded));\n\n if (!item.temp) {\n this.browseFolder(item.id)\n .then(folders => this.setState({ expanded, folders }))\n .catch(err =>\n window.alert(\n err === NOT_FOUND\n ? this.props.t('ra_Cannot find \"%s\"', item.id)\n : this.props.t('ra_Cannot read \"%s\"', item.id),\n ),\n );\n } else {\n this.setState({ expanded });\n }\n } else {\n expanded.splice(pos, 1);\n this.localStorage.setItem('files.expanded', JSON.stringify(expanded));\n this.setState({ expanded });\n }\n }\n\n onFileChange = (id: string, fileName: string, size: number | null): void => {\n const key = `${id}/${fileName}`;\n const pos = key.lastIndexOf('/');\n const folder = key.substring(0, pos);\n console.log(`File changed ${key}[${size}]`);\n\n if (this.state.folders[folder]) {\n if (this._tempTimeout[folder]) {\n clearTimeout(this._tempTimeout[folder]);\n }\n\n this._tempTimeout[folder] = setTimeout(() => {\n delete this._tempTimeout[folder];\n\n this.browseFolder(folder, null, false, true)\n .then(folders => this.setState({ folders }))\n .catch(e => console.error(`Cannot read folder: ${e.message}`));\n }, 300);\n }\n };\n\n changeFolder(e: React.MouseEvent, folder?: string): void {\n e?.stopPropagation();\n\n this.lastSelect = Date.now();\n\n let _folder = folder || getParentDir(this.state.currentDir);\n\n if (_folder === '/') {\n _folder = '';\n }\n\n this.localStorage.setItem('files.currentDir', _folder);\n\n if (folder && e && (e.altKey || e.shiftKey || e.ctrlKey || e.metaKey)) {\n this.setState({ selected: _folder });\n return;\n }\n\n // If desired folder is not yet loaded\n if (_folder && !this.state.folders[_folder]) {\n this.browseFolder(_folder)\n .then(folders =>\n this.setState(\n {\n folders,\n path: _folder,\n currentDir: _folder,\n selected: _folder,\n pathFocus: false,\n },\n () => this.props.onSelect && this.props.onSelect(''),\n ),\n )\n .catch(_e => console.error(`Cannot read folder: ${_e.message}`));\n return;\n }\n\n this.setState(\n {\n currentDir: _folder,\n selected: _folder,\n path: _folder,\n pathFocus: false,\n },\n () => this.props.onSelect && this.props.onSelect(''),\n );\n }\n\n select(id: string, e?: React.MouseEvent | null, cb?: () => void): void {\n if (e) {\n e.stopPropagation();\n }\n this.lastSelect = Date.now();\n\n this.localStorage.setItem('files.selected', id);\n\n this.setState({ selected: id, path: id, pathFocus: false }, () => {\n if (this.props.onSelect) {\n const ext = Utils.getFileExtension(id);\n if (\n (!this.props.filterFiles || (ext && this.props.filterFiles.includes(ext))) &&\n (!this.state.filterByType ||\n (ext && (EXTENSIONS as Record)[this.state.filterByType].includes(ext)))\n ) {\n this.props.onSelect(id, false, !!this.state.folders[id]);\n } else {\n this.props.onSelect('');\n }\n }\n if (cb) {\n cb();\n }\n });\n }\n\n getText(text?: ioBroker.StringOrTranslated | null): string | undefined {\n if (text) {\n if (typeof text === 'object') {\n return text[this.props.lang] || text.en || undefined;\n }\n return text;\n }\n return undefined;\n }\n\n renderFolder(item: FolderOrFileItem, expanded?: boolean): JSX.Element | null {\n if (\n this.state.viewType === TABLE &&\n this.state.filterEmpty &&\n (!this.state.folders[item.id] || !this.state.folders[item.id].length) &&\n item.id !== USER_DATA &&\n !item.temp\n ) {\n return null;\n }\n const IconEl = expanded ? IconOpen : IconClosed;\n const padding = this.state.viewType === TABLE ? item.level * this.levelPadding : 0;\n const isUserData = item.name === USER_DATA;\n const isSpecialData = isUserData || item.name === 'vis.0' || item.name === 'vis-2.0';\n\n const iconStyle = Utils.getStyle(\n this.props.theme,\n styles[`itemFolderIcon${this.state.viewType}`],\n isSpecialData && styles.specialFolder,\n );\n return (\n (this.state.viewType === TABLE ? this.select(item.id, e) : this.changeFolder(e, item.id))}\n onDoubleClick={e => this.state.viewType === TABLE && this.toggleFolder(item, e)}\n title={this.getText(item.title)}\n className=\"browserItem\"\n sx={Utils.getStyle(\n this.props.theme,\n styles[`item${this.state.viewType}`],\n styles[`itemFolder${this.state.viewType}`],\n this.state.selected === item.id ? styles.itemSelected : {},\n item.temp ? styles.itemFolderTemp : {},\n )}\n >\n this.toggleFolder(item, e) : undefined\n }\n />\n\n \n {isUserData ? this.props.t('ra_User files') : item.name}\n \n\n \n {this.state.viewType === TABLE && this.state.folders[item.id]\n ? this.state.folders[item.id].length\n : ''}\n \n\n \n {this.state.viewType === TABLE && this.props.expertMode ? this.formatAcl(item.acl) : null}\n \n\n {this.state.viewType === TABLE && this.props.expertMode ? (\n \n ) : null}\n\n {this.state.viewType === TABLE && this.props.allowDownload ? (\n
\n ) : null}\n\n {this.state.viewType === TABLE &&\n this.props.allowDelete &&\n this.state.folders[item.id] &&\n this.state.folders[item.id].length ? (\n {\n e.stopPropagation();\n if (this.suppressDeleteConfirm > Date.now()) {\n this.deleteItem(item.id);\n } else {\n this.setState({ deleteItem: item.id });\n }\n }}\n sx={styles[`itemDeleteButton${this.state.viewType}`]}\n size=\"large\"\n >\n \n \n ) : this.state.viewType === TABLE && this.props.allowDelete ? (\n \n ) : null}\n \n );\n }\n\n renderBackFolder(): JSX.Element {\n return (\n this.changeFolder(e)}\n title={this.props.t('ra_Back to %s', getParentDir(this.state.currentDir))}\n className=\"browserItem\"\n sx={Utils.getStyle(\n this.props.theme,\n styles[`item${this.state.viewType}`],\n styles[`itemFolder${this.state.viewType}`],\n )}\n >\n \n \n\n \n ..\n \n \n );\n }\n\n formatSize(size: number | null | undefined): JSX.Element {\n return (\n
\n {size || size === 0 ? Utils.formatBytes(size) : ''}\n
\n );\n }\n\n formatAcl(acl: ioBroker.EvaluatedFileACL | MetaACL | undefined): JSX.Element {\n const access: number = acl ? (acl as ioBroker.EvaluatedFileACL).permissions || (acl as MetaACL).file : 0;\n let accessStr: string;\n if (access) {\n accessStr = access.toString(16).padStart(3, '0');\n } else {\n accessStr = '';\n }\n\n return (\n
\n {this.props.modalEditOfAccessControl ? (\n this.setState({ modalEditOfAccess: true })}\n sx={styles[`itemAclButton${this.state.viewType}`]}\n >\n {accessStr || '---'}\n \n ) : (\n accessStr || '---'\n )}\n
\n );\n }\n\n getFileIcon(ext: string | null): JSX.Element {\n switch (ext) {\n case 'json':\n case 'json5':\n return ;\n\n case 'css':\n return ;\n\n case 'js':\n case 'ts':\n return ;\n\n case 'html':\n case 'md':\n return ;\n\n case 'mp3':\n case 'ogg':\n case 'wav':\n case 'm4a':\n case 'mp4':\n case 'flac':\n return ;\n\n default:\n return ;\n }\n }\n\n static getEditFile(ext: string | null): boolean {\n switch (ext) {\n case 'json':\n case 'json5':\n case 'js':\n case 'html':\n case 'txt':\n case 'css':\n case 'log':\n return true;\n default:\n return false;\n }\n }\n\n setStateBackgroundImage = (): void => {\n const array = ['light', 'dark', 'colored', 'delete'];\n this.setState(({ backgroundImage }) => {\n if (\n backgroundImage &&\n array.indexOf(backgroundImage) !== -1 &&\n array.length - 1 !== array.indexOf(backgroundImage)\n ) {\n this.localStorage.setItem('files.backgroundImage', array[array.indexOf(backgroundImage) + 1]);\n return { backgroundImage: array[array.indexOf(backgroundImage) + 1] };\n }\n this.localStorage.setItem('files.backgroundImage', array[0]);\n return { backgroundImage: array[0] };\n });\n };\n\n getStyleBackgroundImage = (): React.CSSProperties | null => {\n // ['light', 'dark', 'colored', 'delete']\n switch (this.state.backgroundImage) {\n case 'light':\n return styles.backgroundImageLight;\n case 'dark':\n return styles.backgroundImageDark;\n case 'colored':\n return styles.backgroundImageColored;\n case 'delete':\n return null;\n default:\n return null;\n }\n };\n\n renderFile(item: FolderOrFileItem): JSX.Element {\n const padding = this.state.viewType === TABLE ? item.level * this.levelPadding : 0;\n const ext = Utils.getFileExtension(item.name);\n\n return (\n {\n e.stopPropagation();\n if (!this.props.onSelect) {\n this.setState({ viewer: this.imagePrefix + item.id, formatEditFile: ext });\n } else if (\n (!this.props.filterFiles || (item.ext && this.props.filterFiles.includes(item.ext))) &&\n (!this.state.filterByType ||\n (item.ext &&\n (EXTENSIONS as Record)[this.state.filterByType].includes(item.ext)))\n ) {\n this.props.onSelect(item.id, true, !!this.state.folders[item.id]);\n }\n }}\n onClick={e => this.select(item.id, e)}\n style={this.state.viewType === TABLE ? { marginLeft: padding, width: `calc(100% - ${padding}px)` } : {}}\n className=\"browserItem\"\n sx={Utils.getStyle(\n this.props.theme,\n styles[`item${this.state.viewType}`],\n styles[`itemFile${this.state.viewType}`],\n this.state.selected === item.id ? styles.itemSelected : undefined,\n )}\n >\n {ext && EXTENSIONS.images.includes(ext) ? (\n this.state.fileErrors.includes(item.id) ? (\n \n ) : (\n {\n (e.target as HTMLImageElement).onerror = null;\n const fileErrors = [...this.state.fileErrors];\n if (!fileErrors.includes(item.id)) {\n fileErrors.push(item.id);\n this.setState({ fileErrors });\n }\n }}\n style={{ ...styles[`itemImage${this.state.viewType}`], ...this.getStyleBackgroundImage() }}\n src={this.imagePrefix + item.id}\n alt={item.name}\n />\n )\n ) : (\n this.getFileIcon(ext)\n )}\n \n {item.name}\n \n \n {this.formatSize(item.size)}\n \n \n {this.state.viewType === TABLE && this.props.expertMode ? this.formatAcl(item.acl) : null}\n \n \n {this.state.viewType === TABLE && this.props.expertMode && FileBrowserClass.getEditFile(ext) ? (\n {\n e.stopPropagation();\n if (!this.props.onSelect) {\n this.setState({ viewer: this.imagePrefix + item.id, formatEditFile: ext });\n } else if (\n (!this.props.filterFiles ||\n (item.ext && this.props.filterFiles.includes(item.ext))) &&\n (!this.state.filterByType ||\n (item.ext &&\n (EXTENSIONS as Record)[this.state.filterByType].includes(\n item.ext,\n )))\n ) {\n this.props.onSelect(item.id, true, !!this.state.folders[item.id]);\n }\n }}\n sx={styles.itemDeleteButtonTable}\n size=\"large\"\n >\n \n \n ) : (\n \n )}\n \n {this.state.viewType === TABLE && this.props.allowDownload ? (\n e.stopPropagation()}\n >\n \n \n ) : null}\n\n {this.state.viewType === TABLE &&\n this.props.allowDelete &&\n item.id !== 'vis.0/' &&\n item.id !== 'vis-2.0/' &&\n item.id !== USER_DATA ? (\n {\n e.stopPropagation();\n if (this.suppressDeleteConfirm > Date.now()) {\n this.deleteItem(item.id);\n } else {\n this.setState({ deleteItem: item.id });\n }\n }}\n sx={styles[`itemDeleteButton${this.state.viewType}`]}\n size=\"large\"\n >\n \n \n ) : this.state.viewType === TABLE && this.props.allowDelete ? (\n \n ) : null}\n \n );\n }\n\n renderItems(folderId: string): JSX.Element | (JSX.Element | null)[] {\n if (this.state.folders && this.state.folders[folderId]) {\n // tile\n if (this.state.viewType === TILE) {\n const res: (JSX.Element | null)[] = [];\n if (folderId && folderId !== '/') {\n res.push(this.renderBackFolder());\n }\n this.state.folders[folderId].forEach(item => {\n if (item.folder) {\n res.push(this.renderFolder(item));\n } else if (\n (!this.props.filterFiles || (item.ext && this.props.filterFiles.includes(item.ext))) &&\n (!this.state.filterByType ||\n (item.ext &&\n (EXTENSIONS as Record)[this.state.filterByType].includes(item.ext)))\n ) {\n res.push(this.renderFile(item));\n }\n });\n return res;\n }\n\n const totalResult: (JSX.Element | null)[] = [];\n this.state.folders[folderId].forEach(item => {\n if (item.folder) {\n const expanded = this.state.expanded.includes(item.id);\n\n const folders = this.renderFolder(item, expanded);\n if (Array.isArray(folders)) {\n folders.forEach(folder => totalResult.push(folder));\n } else {\n totalResult.push(folders);\n }\n if (this.state.folders[item.id] && expanded) {\n const items = this.renderItems(item.id);\n if (Array.isArray(items)) {\n items.forEach(_item => totalResult.push(_item));\n } else {\n totalResult.push(items);\n }\n }\n } else if (\n (!this.props.filterFiles || (item.ext && this.props.filterFiles.includes(item.ext))) &&\n (!this.state.filterByType ||\n (item.ext &&\n (EXTENSIONS as Record)[this.state.filterByType].includes(item.ext)))\n ) {\n totalResult.push(this.renderFile(item));\n }\n });\n\n return totalResult;\n }\n\n return (\n
\n \n \n {this.state.queueLength}\n
\n
\n );\n }\n\n renderToolbar(): JSX.Element {\n const IconType: React.FC<{ fontSize?: 'small' }> | null = this.props.showTypeSelector\n ? FILE_TYPE_ICONS[this.state.filterByType || 'all'] || FILE_TYPE_ICONS.all\n : null;\n\n const isInFolder = this.findFirstFolder(this.state.selected);\n\n return (\n \n {this.props.allowNonRestricted && this.props.restrictToFolder ? (\n \n this.setState({\n restrictToFolder:\n (this.state.restrictToFolder ? '' : this.props.restrictToFolder) || '',\n loadAllFolders: true,\n })\n }\n size=\"small\"\n >\n \n \n ) : null}\n {this.props.showExpertButton ? (\n this.setState({ expertMode: !this.state.expertMode })}\n size=\"small\"\n >\n \n \n ) : null}\n {this.props.showViewTypeButton ? (\n {\n const viewType = this.state.viewType === TABLE ? TILE : TABLE;\n this.localStorage.setItem('files.viewType', viewType);\n let currentDir = this.state.selected;\n if (isFile(currentDir)) {\n currentDir = getParentDir(currentDir);\n }\n this.setState({ viewType, currentDir }, () => {\n if (this.state.viewType === TABLE) {\n this.scrollToSelected();\n }\n });\n }}\n size=\"small\"\n >\n {this.state.viewType !== TABLE ? : }\n \n ) : null}\n {\n this.localStorage.setItem('file.empty', this.state.filterEmpty ? 'false' : 'true');\n this.setState({ filterEmpty: !this.state.filterEmpty });\n }}\n size=\"small\"\n >\n \n \n this.setState({ folders: {} }, () => this.loadFolders())}\n size=\"small\"\n >\n \n \n {this.props.allowCreateFolder ? (\n this.setState({ addFolder: true })}\n size=\"small\"\n >\n \n \n ) : null}\n {this.props.allowUpload ? (\n this.setState({ uploadFile: true })}\n size=\"small\"\n >\n \n \n ) : null}\n {this.props.showTypeSelector && IconType ? (\n \n this.setState({ showTypesMenu: e.target as HTMLButtonElement })}\n >\n \n \n \n ) : null}\n {this.state.showTypesMenu ? (\n this.setState({ showTypesMenu: null })}\n >\n {Object.keys(FILE_TYPE_ICONS).map(type => {\n const MyIcon: React.FC<{ fontSize?: 'small' }> = FILE_TYPE_ICONS[type];\n return (\n {\n if (type === 'all') {\n this.localStorage.removeItem('files.filterByType');\n this.setState({ filterByType: '', showTypesMenu: null });\n } else {\n this.localStorage.setItem('files.filterByType', type);\n this.setState({ filterByType: type, showTypesMenu: null });\n }\n }}\n >\n \n \n \n {this.props.t(`ra_fileType_${type}`)}\n \n );\n })}\n \n ) : null}\n \n \n \n \n \n {this.state.viewType !== TABLE && this.props.allowDelete ? (\n \n \n {\n e.stopPropagation();\n if (this.suppressDeleteConfirm > Date.now()) {\n this.deleteItem(this.state.selected);\n } else {\n this.setState({ deleteItem: this.state.selected });\n }\n }}\n size=\"small\"\n >\n \n \n \n \n ) : null}\n \n );\n }\n\n findItem(id: string, folders?: Folders | null): null | FolderOrFileItem {\n folders = folders || this.state.folders;\n if (!folders) {\n return null;\n }\n const parts = id.split('/');\n parts.pop();\n const parentFolder = parts.join('/') || '/';\n if (!folders[parentFolder]) {\n return null;\n }\n return folders[parentFolder].find(item => item.id === id) || null;\n }\n\n renderInputDialog(): JSX.Element | null {\n if (this.state.addFolder) {\n const parentFolder = this.findFirstFolder(this.state.selected);\n\n if (!parentFolder) {\n window.alert(this.props.t('ra_Invalid parent folder!'));\n return null;\n }\n\n return (\n \n this.state.folders[parentFolder].find(item => item.name === text)\n ? ''\n : this.props.t('ra_Duplicate name')\n }\n onClose={(name: string | null) => {\n if (name) {\n const folders: Folders = {};\n Object.keys(this.state.folders).forEach(\n folder => (folders[folder] = this.state.folders[folder]),\n );\n const parent = this.findItem(parentFolder);\n const id = `${parentFolder}/${name}`;\n folders[parentFolder].push({\n id,\n level: (parent?.level || 0) + 1,\n name,\n folder: true,\n temp: true,\n });\n\n folders[parentFolder].sort(sortFolders);\n\n folders[id] = [];\n const expanded = [...this.state.expanded];\n if (!expanded.includes(parentFolder)) {\n expanded.push(parentFolder);\n expanded.sort();\n }\n this.localStorage.setItem('files.expanded', JSON.stringify(expanded));\n this.setState({ addFolder: false, folders, expanded }, () => this.select(id));\n } else {\n this.setState({ addFolder: false });\n }\n }}\n replace={(text: string) => text.replace(/[^-_\\w]/, '_')}\n />\n );\n }\n return null;\n }\n\n componentDidUpdate(/* prevProps , prevState, snapshot */): void {\n if (this.setOpacityTimer) {\n clearTimeout(this.setOpacityTimer);\n }\n this.setOpacityTimer = setTimeout(() => {\n this.setOpacityTimer = null;\n const items = window.document.getElementsByClassName('browserItem');\n for (let i = 0; i < items.length; i++) {\n (items[i] as HTMLElement).style.opacity = '1';\n }\n }, 100);\n }\n\n findFirstFolder(id: string): string | null {\n let parentFolder = id;\n const item = this.findItem(parentFolder);\n // find folder\n if (item && !item.folder) {\n const parts = parentFolder.split('/');\n parts.pop();\n parentFolder = '';\n while (parts.length) {\n const _item = this.findItem(parts.join('/'));\n if (_item?.folder) {\n parentFolder = parts.join('/');\n break;\n }\n parts.pop();\n }\n if (!parts.length) {\n return null;\n }\n }\n\n return parentFolder;\n }\n\n async uploadFile(fileName: string, data: string): Promise {\n const parts: string[] = fileName.split('/');\n const adapterName = parts.shift();\n try {\n await this.props.socket.writeFile64(adapterName || '', parts.join('/'), data);\n } catch (e: unknown) {\n const knownError = e as Error;\n window.alert(`Cannot write file: ${knownError?.message}`);\n }\n }\n\n renderUpload(): JSX.Element[] | null {\n if (this.state.uploadFile) {\n return [\n this.setState({ uploadFile: false })}\n >\n \n ,\n this.setState({ uploadFile: 'dragging' })}\n onDragLeave={() => this.setState({ uploadFile: true })}\n onDrop={acceptedFiles => {\n let count = acceptedFiles.length;\n\n acceptedFiles.forEach(file => {\n const reader = new FileReader();\n\n reader.onabort = () => console.log('file reading was aborted');\n reader.onerror = () => console.log('file reading has failed');\n reader.onload = () => {\n const parentFolder = this.findFirstFolder(this.state.selected);\n\n if (!parentFolder) {\n window.alert(this.props.t('ra_Invalid parent folder!'));\n } else {\n const id = `${parentFolder}/${file.name}`;\n\n void this.uploadFile(id, reader.result as string).then(() => {\n if (!--count) {\n this.setState({ uploadFile: false }, () => {\n if (this.supportSubscribes) {\n // open current folder\n const expanded = [...this.state.expanded];\n if (!expanded.includes(parentFolder)) {\n expanded.push(parentFolder);\n expanded.sort();\n this.localStorage.setItem(\n 'files.expanded',\n JSON.stringify(expanded),\n );\n }\n this.setState({ expanded }, () => this.select(id));\n } else {\n setTimeout(\n () =>\n this.browseFolder(parentFolder, null, false, true).then(\n folders => {\n // open current folder\n const expanded = [...this.state.expanded];\n if (!expanded.includes(parentFolder)) {\n expanded.push(parentFolder);\n expanded.sort();\n this.localStorage.setItem(\n 'files.expanded',\n JSON.stringify(expanded),\n );\n }\n this.setState({ folders, expanded }, () =>\n this.select(id),\n );\n },\n ),\n 500,\n );\n }\n });\n }\n });\n }\n };\n\n reader.readAsArrayBuffer(file);\n });\n }}\n >\n {({ getRootProps, getInputProps }) => (\n \n \n \n
\n \n
\n {this.state.uploadFile === 'dragging'\n ? this.props.t('ra_Drop file here')\n : this.props.t(\n 'ra_Place your files here or click here to open the browse dialog',\n )}\n
\n
\n \n
\n )}\n ,\n ];\n }\n return null;\n }\n\n deleteRecursive(id: string): Promise {\n const item = this.findItem(id);\n if (item?.folder) {\n return (\n this.state.folders[id]\n ? Promise.all(this.state.folders[id].map(_item => this.deleteRecursive(_item.id)))\n : Promise.resolve()\n ).then(() => {\n // If it is a folder of second level\n if (item.level >= 1) {\n const parts = id.split('/');\n const adapter = parts.shift();\n void this.props.socket.deleteFolder(adapter || '', parts.join('/')).then(() => {\n // remove this folder\n const folders = JSON.parse(JSON.stringify(this.state.folders));\n delete folders[item.id];\n // delete folder from parent item\n const parentId = getParentDir(item.id);\n const parentFolder = folders[parentId];\n if (parentFolder) {\n const pos = parentFolder.findIndex((f: FolderOrFileItem) => f.id === item.id);\n if (pos !== -1) {\n parentFolder.splice(pos, 1);\n }\n\n this.select(parentId, null, () => this.setState({ folders }));\n }\n });\n }\n });\n }\n\n const parts = id.split('/');\n const adapter = parts.shift();\n if (parts.length) {\n return this.props.socket\n .deleteFile(adapter || '', parts.join('/'))\n .catch(e => window.alert(`Cannot delete file: ${e}`));\n }\n return Promise.resolve();\n }\n\n deleteItem(deleteItem: string): void {\n deleteItem = deleteItem || this.state.deleteItem;\n\n this.setState({ deleteItem: '' }, () =>\n this.deleteRecursive(deleteItem).then(() => {\n const newState: Partial = {};\n const pos = this.state.expanded.indexOf(deleteItem);\n if (pos !== -1) {\n const expanded = [...this.state.expanded];\n expanded.splice(pos, 1);\n this.localStorage.setItem('files.expanded', JSON.stringify(expanded));\n newState.expanded = expanded;\n }\n\n if (this.state.selected === deleteItem) {\n const parts = this.state.selected.split('/');\n parts.pop();\n newState.selected = parts.join('/');\n }\n\n if (!this.supportSubscribes) {\n const parentFolder = this.findFirstFolder(deleteItem);\n const folders: Folders = {};\n\n Object.keys(this.state.folders).forEach(name => {\n if (name !== parentFolder && !name.startsWith(`${parentFolder}/`)) {\n folders[name] = this.state.folders[name];\n }\n });\n\n newState.folders = folders;\n\n this.setState(newState as FileBrowserState, () =>\n setTimeout(() => {\n this.browseFolders([...this.state.expanded], folders)\n .then(_folders => this.setState({ folders: _folders }))\n .catch(e => console.error(e));\n }, 200),\n );\n } else {\n this.setState(newState as FileBrowserState);\n }\n }),\n );\n }\n\n renderDeleteDialog(): JSX.Element | null {\n if (this.state.deleteItem) {\n return (\n this.setState({ deleteItem: '' })}\n aria-labelledby=\"ar_dialog_file_delete_title\"\n >\n \n {this.props.t('ra_Confirm deletion of %s', this.state.deleteItem.split('/').pop())}\n \n \n {this.props.t('ra_Are you sure?')}\n \n \n {\n this.suppressDeleteConfirm = Date.now() + 60000 * 5;\n this.deleteItem('');\n }}\n >\n {this.props.t('ra_Delete (no confirm for 5 mins)')}\n \n this.deleteItem('')}\n color=\"primary\"\n autoFocus\n >\n {this.props.t('ra_Delete')}\n \n this.setState({ deleteItem: '' })}\n color=\"grey\"\n >\n {this.props.t('ra_Cancel')}\n \n \n \n );\n }\n return null;\n }\n\n renderViewDialog(): JSX.Element | null {\n const FileViewerComponent = this.props.FileViewer || FileViewer;\n\n return this.state.viewer ? (\n this.setState({ viewer: '', formatEditFile: '' })}\n />\n ) : null;\n }\n\n renderError(): JSX.Element | null {\n if (this.state.errorText) {\n return (\n this.setState({ errorText: '' })}\n />\n );\n }\n return null;\n }\n\n // used in tabs/Files\n // eslint-disable-next-line react/no-unused-class-component-methods\n updateItemsAcl(info: FolderOrFileItem[]): void {\n this.cacheFolders = this.cacheFolders || JSON.parse(JSON.stringify(this.state.folders));\n let changed;\n\n info.forEach(it => {\n const item = this.findItem(it.id, this.cacheFolders);\n if (item && JSON.stringify(item.acl) !== JSON.stringify(it.acl)) {\n item.acl = it.acl;\n changed = true;\n }\n });\n if (changed) {\n if (this.cacheFoldersTimeout) {\n clearTimeout(this.cacheFoldersTimeout);\n }\n this.cacheFoldersTimeout = setTimeout(() => {\n this.cacheFoldersTimeout = null;\n const folders = this.cacheFolders || {};\n this.cacheFolders = null;\n this.setState({ folders });\n }, 200);\n }\n }\n\n changeToPath(): void {\n setTimeout(() => {\n if (this.state.path !== this.state.selected && (!this.lastSelect || Date.now() - this.lastSelect > 100)) {\n let folder = this.state.path;\n if (isFile(this.state.path)) {\n folder = getParentDir(this.state.path);\n }\n new Promise(resolve => {\n if (!this.state.folders[folder]) {\n this.browseFolder(folder)\n .then(folders => this.setState({ folders }, () => resolve(true)))\n .catch(err =>\n this.setState({\n errorText:\n err === NOT_FOUND\n ? this.props.t('ra_Cannot find \"%s\"', folder)\n : this.props.t('ra_Cannot read \"%s\"', folder),\n }),\n );\n } else {\n resolve(true);\n }\n })\n .then(\n result =>\n result &&\n this.setState({ selected: this.state.path, currentDir: folder, pathFocus: false }),\n )\n .catch(e => console.error(e));\n } else if (!this.lastSelect || Date.now() - this.lastSelect > 100) {\n this.setState({ pathFocus: false });\n }\n }, 100);\n }\n\n renderBreadcrumb(): JSX.Element {\n const parts = this.state.currentDir.startsWith('/')\n ? this.state.currentDir.split('/')\n : `/${this.state.currentDir}`.split('/');\n const p: string[] = [];\n return (\n \n {parts.map((part, i) => {\n if (part) {\n p.push(part);\n }\n const path = p.join('/');\n if (i < parts.length - 1) {\n return (\n this.changeFolder(e, path || '/')}\n >\n {part || this.props.t('ra_Root')}\n \n );\n }\n\n return (\n this.setState({ pathFocus: true })}\n >\n {part}\n
\n );\n })}\n \n );\n }\n\n renderPath(): JSX.Element {\n return (\n \n {this.state.pathFocus ? (\n {\n if (e.key === 'Enter') {\n this.changeToPath();\n } else if (e.key === 'Escape') {\n this.setState({ pathFocus: false });\n }\n }}\n endAdornment={\n this.changeToPath()}\n >\n \n \n }\n onBlur={() => this.changeToPath()}\n onChange={e => this.setState({ path: e.target.value })}\n style={styles.pathDivInput}\n />\n ) : (\n this.renderBreadcrumb()\n )}\n \n );\n }\n\n render(): JSX.Element {\n if (!this.props.ready) {\n return ;\n }\n\n if (this.state.loadAllFolders && !this.foldersLoading) {\n this.foldersLoading = true;\n setTimeout(() => {\n this.setState({ loadAllFolders: false, folders: {} }, () => {\n this.foldersLoading = false;\n this.loadFolders().catch(error => console.error(`Cannot load folders: ${error}`));\n });\n }, 300);\n }\n\n return (\n \n {this.props.showToolbar ? this.renderToolbar() : null}\n {this.state.viewType === TILE ? this.renderPath() : null}\n {\n if (this.state.viewType !== TABLE) {\n if (this.state.selected !== (this.state.currentDir || '/')) {\n this.changeFolder(e, this.state.currentDir || '/');\n } else {\n e.stopPropagation();\n }\n }\n }}\n >\n {this.state.viewType === TABLE\n ? this.renderItems('/')\n : this.renderItems(this.state.currentDir || '/')}\n {this.state.viewType !== TABLE ? (\n
{this.props.t('ra_select_folder_hint')}
\n ) : null}\n
\n {this.props.allowUpload ? this.renderInputDialog() : null}\n {this.props.allowUpload ? this.renderUpload() : null}\n {this.props.allowDelete ? this.renderDeleteDialog() : null}\n {this.props.allowView ? this.renderViewDialog() : null}\n {this.state.modalEditOfAccess && this.props.modalEditOfAccessControl\n ? this.props.modalEditOfAccessControl(this)\n : null}\n {this.renderError()}\n
\n );\n }\n}\n\nexport const FileBrowser = withWidth()(FileBrowserClass);\n", "var _excluded = [\"children\"],\n _excluded2 = [\"open\"],\n _excluded3 = [\"refKey\", \"role\", \"onKeyDown\", \"onFocus\", \"onBlur\", \"onClick\", \"onDragEnter\", \"onDragOver\", \"onDragLeave\", \"onDrop\"],\n _excluded4 = [\"refKey\", \"onChange\", \"onClick\"];\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* eslint prefer-template: 0 */\nimport React, { forwardRef, Fragment, useCallback, useEffect, useImperativeHandle, useMemo, useReducer, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { fromEvent } from \"file-selector\";\nimport { acceptPropAsAcceptAttr, allFilesAccepted, composeEventHandlers, fileAccepted, fileMatchSize, canUseFileSystemAccessAPI, isAbort, isEvtWithFiles, isIeOrEdge, isPropagationStopped, isSecurityError, onDocumentDragOver, pickerOptionsFromAccept, TOO_MANY_FILES_REJECTION } from \"./utils/index\";\n/**\n * Convenience wrapper component for the `useDropzone` hook\n *\n * ```jsx\n * \n * {({getRootProps, getInputProps}) => (\n *
\n * \n *

Drag 'n' drop some files here, or click to select files

\n *
\n * )}\n *
\n * ```\n */\n\nvar Dropzone = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var children = _ref.children,\n params = _objectWithoutProperties(_ref, _excluded);\n\n var _useDropzone = useDropzone(params),\n open = _useDropzone.open,\n props = _objectWithoutProperties(_useDropzone, _excluded2);\n\n useImperativeHandle(ref, function () {\n return {\n open: open\n };\n }, [open]); // TODO: Figure out why react-styleguidist cannot create docs if we don't return a jsx element\n\n return /*#__PURE__*/React.createElement(Fragment, null, children(_objectSpread(_objectSpread({}, props), {}, {\n open: open\n })));\n});\nDropzone.displayName = \"Dropzone\"; // Add default props for react-docgen\n\nvar defaultProps = {\n disabled: false,\n getFilesFromEvent: fromEvent,\n maxSize: Infinity,\n minSize: 0,\n multiple: true,\n maxFiles: 0,\n preventDropOnDocument: true,\n noClick: false,\n noKeyboard: false,\n noDrag: false,\n noDragEventsBubbling: false,\n validator: null,\n useFsAccessApi: false,\n autoFocus: false\n};\nDropzone.defaultProps = defaultProps;\nDropzone.propTypes = {\n /**\n * Render function that exposes the dropzone state and prop getter fns\n *\n * @param {object} params\n * @param {Function} params.getRootProps Returns the props you should apply to the root drop container you render\n * @param {Function} params.getInputProps Returns the props you should apply to hidden file input you render\n * @param {Function} params.open Open the native file selection dialog\n * @param {boolean} params.isFocused Dropzone area is in focus\n * @param {boolean} params.isFileDialogActive File dialog is opened\n * @param {boolean} params.isDragActive Active drag is in progress\n * @param {boolean} params.isDragAccept Dragged files are accepted\n * @param {boolean} params.isDragReject Some dragged files are rejected\n * @param {File[]} params.acceptedFiles Accepted files\n * @param {FileRejection[]} params.fileRejections Rejected files and why they were rejected\n */\n children: PropTypes.func,\n\n /**\n * Set accepted file types.\n * Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).\n */\n accept: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.string)),\n\n /**\n * Allow drag 'n' drop (or selection from the file dialog) of multiple files\n */\n multiple: PropTypes.bool,\n\n /**\n * If false, allow dropped items to take over the current browser window\n */\n preventDropOnDocument: PropTypes.bool,\n\n /**\n * If true, disables click to open the native file selection dialog\n */\n noClick: PropTypes.bool,\n\n /**\n * If true, disables SPACE/ENTER to open the native file selection dialog.\n * Note that it also stops tracking the focus state.\n */\n noKeyboard: PropTypes.bool,\n\n /**\n * If true, disables drag 'n' drop\n */\n noDrag: PropTypes.bool,\n\n /**\n * If true, stops drag event propagation to parents\n */\n noDragEventsBubbling: PropTypes.bool,\n\n /**\n * Minimum file size (in bytes)\n */\n minSize: PropTypes.number,\n\n /**\n * Maximum file size (in bytes)\n */\n maxSize: PropTypes.number,\n\n /**\n * Maximum accepted number of files\n * The default value is 0 which means there is no limitation to how many files are accepted.\n */\n maxFiles: PropTypes.number,\n\n /**\n * Enable/disable the dropzone\n */\n disabled: PropTypes.bool,\n\n /**\n * Use this to provide a custom file aggregator\n *\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n getFilesFromEvent: PropTypes.func,\n\n /**\n * Cb for when closing the file dialog with no selection\n */\n onFileDialogCancel: PropTypes.func,\n\n /**\n * Cb for when opening the file dialog\n */\n onFileDialogOpen: PropTypes.func,\n\n /**\n * Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API\n * to open the file picker instead of using an `` click event.\n */\n useFsAccessApi: PropTypes.bool,\n\n /**\n * Set to true to focus the root element on render\n */\n autoFocus: PropTypes.bool,\n\n /**\n * Cb for when the `dragenter` event occurs.\n *\n * @param {DragEvent} event\n */\n onDragEnter: PropTypes.func,\n\n /**\n * Cb for when the `dragleave` event occurs\n *\n * @param {DragEvent} event\n */\n onDragLeave: PropTypes.func,\n\n /**\n * Cb for when the `dragover` event occurs\n *\n * @param {DragEvent} event\n */\n onDragOver: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n *\n * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n * `accept` must be a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) or a valid file extension.\n * If `multiple` is set to false and additional files are dropped,\n * all files besides the first will be rejected.\n * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n *\n * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n *\n * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n *\n * ```js\n * function onDrop(acceptedFiles) {\n * const req = request.post('/upload')\n * acceptedFiles.forEach(file => {\n * req.attach(file.name, file)\n * })\n * req.end(callback)\n * }\n * ```\n *\n * @param {File[]} acceptedFiles\n * @param {FileRejection[]} fileRejections\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n onDrop: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that if no files are accepted, this callback is not invoked.\n *\n * @param {File[]} files\n * @param {(DragEvent|Event)} event\n */\n onDropAccepted: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that if no files are rejected, this callback is not invoked.\n *\n * @param {FileRejection[]} fileRejections\n * @param {(DragEvent|Event)} event\n */\n onDropRejected: PropTypes.func,\n\n /**\n * Cb for when there's some error from any of the promises.\n *\n * @param {Error} error\n */\n onError: PropTypes.func,\n\n /**\n * Custom validation function. It must return null if there's no errors.\n * @param {File} file\n * @returns {FileError|FileError[]|null}\n */\n validator: PropTypes.func\n};\nexport default Dropzone;\n/**\n * A function that is invoked for the `dragenter`,\n * `dragover` and `dragleave` events.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dragCb\n * @param {DragEvent} event\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dropCb\n * @param {File[]} acceptedFiles List of accepted files\n * @param {FileRejection[]} fileRejections List of rejected files and why they were rejected\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are files (such as link, text, etc.).\n *\n * @callback dropAcceptedCb\n * @param {File[]} files List of accepted files that meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n *\n * @callback dropRejectedCb\n * @param {File[]} files List of rejected files that do not meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is used aggregate files,\n * in a asynchronous fashion, from drag or input change events.\n *\n * @callback getFilesFromEvent\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n * @returns {(File[]|Promise)}\n */\n\n/**\n * An object with the current dropzone state.\n *\n * @typedef {object} DropzoneState\n * @property {boolean} isFocused Dropzone area is in focus\n * @property {boolean} isFileDialogActive File dialog is opened\n * @property {boolean} isDragActive Active drag is in progress\n * @property {boolean} isDragAccept Dragged files are accepted\n * @property {boolean} isDragReject Some dragged files are rejected\n * @property {File[]} acceptedFiles Accepted files\n * @property {FileRejection[]} fileRejections Rejected files and why they were rejected\n */\n\n/**\n * An object with the dropzone methods.\n *\n * @typedef {object} DropzoneMethods\n * @property {Function} getRootProps Returns the props you should apply to the root drop container you render\n * @property {Function} getInputProps Returns the props you should apply to hidden file input you render\n * @property {Function} open Open the native file selection dialog\n */\n\nvar initialState = {\n isFocused: false,\n isFileDialogActive: false,\n isDragActive: false,\n isDragAccept: false,\n isDragReject: false,\n acceptedFiles: [],\n fileRejections: []\n};\n/**\n * A React hook that creates a drag 'n' drop area.\n *\n * ```jsx\n * function MyDropzone(props) {\n * const {getRootProps, getInputProps} = useDropzone({\n * onDrop: acceptedFiles => {\n * // do something with the File objects, e.g. upload to some server\n * }\n * });\n * return (\n *
\n * \n *

Drag and drop some files here, or click to select files

\n *
\n * )\n * }\n * ```\n *\n * @function useDropzone\n *\n * @param {object} props\n * @param {import(\"./utils\").AcceptProp} [props.accept] Set accepted file types.\n * Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).\n * @param {boolean} [props.multiple=true] Allow drag 'n' drop (or selection from the file dialog) of multiple files\n * @param {boolean} [props.preventDropOnDocument=true] If false, allow dropped items to take over the current browser window\n * @param {boolean} [props.noClick=false] If true, disables click to open the native file selection dialog\n * @param {boolean} [props.noKeyboard=false] If true, disables SPACE/ENTER to open the native file selection dialog.\n * Note that it also stops tracking the focus state.\n * @param {boolean} [props.noDrag=false] If true, disables drag 'n' drop\n * @param {boolean} [props.noDragEventsBubbling=false] If true, stops drag event propagation to parents\n * @param {number} [props.minSize=0] Minimum file size (in bytes)\n * @param {number} [props.maxSize=Infinity] Maximum file size (in bytes)\n * @param {boolean} [props.disabled=false] Enable/disable the dropzone\n * @param {getFilesFromEvent} [props.getFilesFromEvent] Use this to provide a custom file aggregator\n * @param {Function} [props.onFileDialogCancel] Cb for when closing the file dialog with no selection\n * @param {boolean} [props.useFsAccessApi] Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API\n * to open the file picker instead of using an `` click event.\n * @param {boolean} autoFocus Set to true to auto focus the root element.\n * @param {Function} [props.onFileDialogOpen] Cb for when opening the file dialog\n * @param {dragCb} [props.onDragEnter] Cb for when the `dragenter` event occurs.\n * @param {dragCb} [props.onDragLeave] Cb for when the `dragleave` event occurs\n * @param {dragCb} [props.onDragOver] Cb for when the `dragover` event occurs\n * @param {dropCb} [props.onDrop] Cb for when the `drop` event occurs.\n * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n *\n * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n * `accept` must be an object with keys as a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) and the value an array of file extensions (optional).\n * If `multiple` is set to false and additional files are dropped,\n * all files besides the first will be rejected.\n * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n *\n * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n *\n * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n *\n * ```js\n * function onDrop(acceptedFiles) {\n * const req = request.post('/upload')\n * acceptedFiles.forEach(file => {\n * req.attach(file.name, file)\n * })\n * req.end(callback)\n * }\n * ```\n * @param {dropAcceptedCb} [props.onDropAccepted]\n * @param {dropRejectedCb} [props.onDropRejected]\n * @param {(error: Error) => void} [props.onError]\n *\n * @returns {DropzoneState & DropzoneMethods}\n */\n\nexport function useDropzone() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),\n accept = _defaultProps$props.accept,\n disabled = _defaultProps$props.disabled,\n getFilesFromEvent = _defaultProps$props.getFilesFromEvent,\n maxSize = _defaultProps$props.maxSize,\n minSize = _defaultProps$props.minSize,\n multiple = _defaultProps$props.multiple,\n maxFiles = _defaultProps$props.maxFiles,\n onDragEnter = _defaultProps$props.onDragEnter,\n onDragLeave = _defaultProps$props.onDragLeave,\n onDragOver = _defaultProps$props.onDragOver,\n onDrop = _defaultProps$props.onDrop,\n onDropAccepted = _defaultProps$props.onDropAccepted,\n onDropRejected = _defaultProps$props.onDropRejected,\n onFileDialogCancel = _defaultProps$props.onFileDialogCancel,\n onFileDialogOpen = _defaultProps$props.onFileDialogOpen,\n useFsAccessApi = _defaultProps$props.useFsAccessApi,\n autoFocus = _defaultProps$props.autoFocus,\n preventDropOnDocument = _defaultProps$props.preventDropOnDocument,\n noClick = _defaultProps$props.noClick,\n noKeyboard = _defaultProps$props.noKeyboard,\n noDrag = _defaultProps$props.noDrag,\n noDragEventsBubbling = _defaultProps$props.noDragEventsBubbling,\n onError = _defaultProps$props.onError,\n validator = _defaultProps$props.validator;\n\n var acceptAttr = useMemo(function () {\n return acceptPropAsAcceptAttr(accept);\n }, [accept]);\n var pickerTypes = useMemo(function () {\n return pickerOptionsFromAccept(accept);\n }, [accept]);\n var onFileDialogOpenCb = useMemo(function () {\n return typeof onFileDialogOpen === \"function\" ? onFileDialogOpen : noop;\n }, [onFileDialogOpen]);\n var onFileDialogCancelCb = useMemo(function () {\n return typeof onFileDialogCancel === \"function\" ? onFileDialogCancel : noop;\n }, [onFileDialogCancel]);\n /**\n * @constant\n * @type {React.MutableRefObject}\n */\n\n var rootRef = useRef(null);\n var inputRef = useRef(null);\n\n var _useReducer = useReducer(reducer, initialState),\n _useReducer2 = _slicedToArray(_useReducer, 2),\n state = _useReducer2[0],\n dispatch = _useReducer2[1];\n\n var isFocused = state.isFocused,\n isFileDialogActive = state.isFileDialogActive;\n var fsAccessApiWorksRef = useRef(typeof window !== \"undefined\" && window.isSecureContext && useFsAccessApi && canUseFileSystemAccessAPI()); // Update file dialog active state when the window is focused on\n\n var onWindowFocus = function onWindowFocus() {\n // Execute the timeout only if the file dialog is opened in the browser\n if (!fsAccessApiWorksRef.current && isFileDialogActive) {\n setTimeout(function () {\n if (inputRef.current) {\n var files = inputRef.current.files;\n\n if (!files.length) {\n dispatch({\n type: \"closeDialog\"\n });\n onFileDialogCancelCb();\n }\n }\n }, 300);\n }\n };\n\n useEffect(function () {\n window.addEventListener(\"focus\", onWindowFocus, false);\n return function () {\n window.removeEventListener(\"focus\", onWindowFocus, false);\n };\n }, [inputRef, isFileDialogActive, onFileDialogCancelCb, fsAccessApiWorksRef]);\n var dragTargetsRef = useRef([]);\n\n var onDocumentDrop = function onDocumentDrop(event) {\n if (rootRef.current && rootRef.current.contains(event.target)) {\n // If we intercepted an event for our instance, let it propagate down to the instance's onDrop handler\n return;\n }\n\n event.preventDefault();\n dragTargetsRef.current = [];\n };\n\n useEffect(function () {\n if (preventDropOnDocument) {\n document.addEventListener(\"dragover\", onDocumentDragOver, false);\n document.addEventListener(\"drop\", onDocumentDrop, false);\n }\n\n return function () {\n if (preventDropOnDocument) {\n document.removeEventListener(\"dragover\", onDocumentDragOver);\n document.removeEventListener(\"drop\", onDocumentDrop);\n }\n };\n }, [rootRef, preventDropOnDocument]); // Auto focus the root when autoFocus is true\n\n useEffect(function () {\n if (!disabled && autoFocus && rootRef.current) {\n rootRef.current.focus();\n }\n\n return function () {};\n }, [rootRef, autoFocus, disabled]);\n var onErrCb = useCallback(function (e) {\n if (onError) {\n onError(e);\n } else {\n // Let the user know something's gone wrong if they haven't provided the onError cb.\n console.error(e);\n }\n }, [onError]);\n var onDragEnterCb = useCallback(function (event) {\n event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done\n\n event.persist();\n stopPropagation(event);\n dragTargetsRef.current = [].concat(_toConsumableArray(dragTargetsRef.current), [event.target]);\n\n if (isEvtWithFiles(event)) {\n Promise.resolve(getFilesFromEvent(event)).then(function (files) {\n if (isPropagationStopped(event) && !noDragEventsBubbling) {\n return;\n }\n\n var fileCount = files.length;\n var isDragAccept = fileCount > 0 && allFilesAccepted({\n files: files,\n accept: acceptAttr,\n minSize: minSize,\n maxSize: maxSize,\n multiple: multiple,\n maxFiles: maxFiles,\n validator: validator\n });\n var isDragReject = fileCount > 0 && !isDragAccept;\n dispatch({\n isDragAccept: isDragAccept,\n isDragReject: isDragReject,\n isDragActive: true,\n type: \"setDraggedFiles\"\n });\n\n if (onDragEnter) {\n onDragEnter(event);\n }\n }).catch(function (e) {\n return onErrCb(e);\n });\n }\n }, [getFilesFromEvent, onDragEnter, onErrCb, noDragEventsBubbling, acceptAttr, minSize, maxSize, multiple, maxFiles, validator]);\n var onDragOverCb = useCallback(function (event) {\n event.preventDefault();\n event.persist();\n stopPropagation(event);\n var hasFiles = isEvtWithFiles(event);\n\n if (hasFiles && event.dataTransfer) {\n try {\n event.dataTransfer.dropEffect = \"copy\";\n } catch (_unused) {}\n /* eslint-disable-line no-empty */\n\n }\n\n if (hasFiles && onDragOver) {\n onDragOver(event);\n }\n\n return false;\n }, [onDragOver, noDragEventsBubbling]);\n var onDragLeaveCb = useCallback(function (event) {\n event.preventDefault();\n event.persist();\n stopPropagation(event); // Only deactivate once the dropzone and all children have been left\n\n var targets = dragTargetsRef.current.filter(function (target) {\n return rootRef.current && rootRef.current.contains(target);\n }); // Make sure to remove a target present multiple times only once\n // (Firefox may fire dragenter/dragleave multiple times on the same element)\n\n var targetIdx = targets.indexOf(event.target);\n\n if (targetIdx !== -1) {\n targets.splice(targetIdx, 1);\n }\n\n dragTargetsRef.current = targets;\n\n if (targets.length > 0) {\n return;\n }\n\n dispatch({\n type: \"setDraggedFiles\",\n isDragActive: false,\n isDragAccept: false,\n isDragReject: false\n });\n\n if (isEvtWithFiles(event) && onDragLeave) {\n onDragLeave(event);\n }\n }, [rootRef, onDragLeave, noDragEventsBubbling]);\n var setFiles = useCallback(function (files, event) {\n var acceptedFiles = [];\n var fileRejections = [];\n files.forEach(function (file) {\n var _fileAccepted = fileAccepted(file, acceptAttr),\n _fileAccepted2 = _slicedToArray(_fileAccepted, 2),\n accepted = _fileAccepted2[0],\n acceptError = _fileAccepted2[1];\n\n var _fileMatchSize = fileMatchSize(file, minSize, maxSize),\n _fileMatchSize2 = _slicedToArray(_fileMatchSize, 2),\n sizeMatch = _fileMatchSize2[0],\n sizeError = _fileMatchSize2[1];\n\n var customErrors = validator ? validator(file) : null;\n\n if (accepted && sizeMatch && !customErrors) {\n acceptedFiles.push(file);\n } else {\n var errors = [acceptError, sizeError];\n\n if (customErrors) {\n errors = errors.concat(customErrors);\n }\n\n fileRejections.push({\n file: file,\n errors: errors.filter(function (e) {\n return e;\n })\n });\n }\n });\n\n if (!multiple && acceptedFiles.length > 1 || multiple && maxFiles >= 1 && acceptedFiles.length > maxFiles) {\n // Reject everything and empty accepted files\n acceptedFiles.forEach(function (file) {\n fileRejections.push({\n file: file,\n errors: [TOO_MANY_FILES_REJECTION]\n });\n });\n acceptedFiles.splice(0);\n }\n\n dispatch({\n acceptedFiles: acceptedFiles,\n fileRejections: fileRejections,\n isDragReject: fileRejections.length > 0,\n type: \"setFiles\"\n });\n\n if (onDrop) {\n onDrop(acceptedFiles, fileRejections, event);\n }\n\n if (fileRejections.length > 0 && onDropRejected) {\n onDropRejected(fileRejections, event);\n }\n\n if (acceptedFiles.length > 0 && onDropAccepted) {\n onDropAccepted(acceptedFiles, event);\n }\n }, [dispatch, multiple, acceptAttr, minSize, maxSize, maxFiles, onDrop, onDropAccepted, onDropRejected, validator]);\n var onDropCb = useCallback(function (event) {\n event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done\n\n event.persist();\n stopPropagation(event);\n dragTargetsRef.current = [];\n\n if (isEvtWithFiles(event)) {\n Promise.resolve(getFilesFromEvent(event)).then(function (files) {\n if (isPropagationStopped(event) && !noDragEventsBubbling) {\n return;\n }\n\n setFiles(files, event);\n }).catch(function (e) {\n return onErrCb(e);\n });\n }\n\n dispatch({\n type: \"reset\"\n });\n }, [getFilesFromEvent, setFiles, onErrCb, noDragEventsBubbling]); // Fn for opening the file dialog programmatically\n\n var openFileDialog = useCallback(function () {\n // No point to use FS access APIs if context is not secure\n // https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts#feature_detection\n if (fsAccessApiWorksRef.current) {\n dispatch({\n type: \"openDialog\"\n });\n onFileDialogOpenCb(); // https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker\n\n var opts = {\n multiple: multiple,\n types: pickerTypes\n };\n window.showOpenFilePicker(opts).then(function (handles) {\n return getFilesFromEvent(handles);\n }).then(function (files) {\n setFiles(files, null);\n dispatch({\n type: \"closeDialog\"\n });\n }).catch(function (e) {\n // AbortError means the user canceled\n if (isAbort(e)) {\n onFileDialogCancelCb(e);\n dispatch({\n type: \"closeDialog\"\n });\n } else if (isSecurityError(e)) {\n fsAccessApiWorksRef.current = false; // CORS, so cannot use this API\n // Try using the input\n\n if (inputRef.current) {\n inputRef.current.value = null;\n inputRef.current.click();\n } else {\n onErrCb(new Error(\"Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided.\"));\n }\n } else {\n onErrCb(e);\n }\n });\n return;\n }\n\n if (inputRef.current) {\n dispatch({\n type: \"openDialog\"\n });\n onFileDialogOpenCb();\n inputRef.current.value = null;\n inputRef.current.click();\n }\n }, [dispatch, onFileDialogOpenCb, onFileDialogCancelCb, useFsAccessApi, setFiles, onErrCb, pickerTypes, multiple]); // Cb to open the file dialog when SPACE/ENTER occurs on the dropzone\n\n var onKeyDownCb = useCallback(function (event) {\n // Ignore keyboard events bubbling up the DOM tree\n if (!rootRef.current || !rootRef.current.isEqualNode(event.target)) {\n return;\n }\n\n if (event.key === \" \" || event.key === \"Enter\" || event.keyCode === 32 || event.keyCode === 13) {\n event.preventDefault();\n openFileDialog();\n }\n }, [rootRef, openFileDialog]); // Update focus state for the dropzone\n\n var onFocusCb = useCallback(function () {\n dispatch({\n type: \"focus\"\n });\n }, []);\n var onBlurCb = useCallback(function () {\n dispatch({\n type: \"blur\"\n });\n }, []); // Cb to open the file dialog when click occurs on the dropzone\n\n var onClickCb = useCallback(function () {\n if (noClick) {\n return;\n } // In IE11/Edge the file-browser dialog is blocking, therefore, use setTimeout()\n // to ensure React can handle state changes\n // See: https://github.com/react-dropzone/react-dropzone/issues/450\n\n\n if (isIeOrEdge()) {\n setTimeout(openFileDialog, 0);\n } else {\n openFileDialog();\n }\n }, [noClick, openFileDialog]);\n\n var composeHandler = function composeHandler(fn) {\n return disabled ? null : fn;\n };\n\n var composeKeyboardHandler = function composeKeyboardHandler(fn) {\n return noKeyboard ? null : composeHandler(fn);\n };\n\n var composeDragHandler = function composeDragHandler(fn) {\n return noDrag ? null : composeHandler(fn);\n };\n\n var stopPropagation = function stopPropagation(event) {\n if (noDragEventsBubbling) {\n event.stopPropagation();\n }\n };\n\n var getRootProps = useMemo(function () {\n return function () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$refKey = _ref2.refKey,\n refKey = _ref2$refKey === void 0 ? \"ref\" : _ref2$refKey,\n role = _ref2.role,\n onKeyDown = _ref2.onKeyDown,\n onFocus = _ref2.onFocus,\n onBlur = _ref2.onBlur,\n onClick = _ref2.onClick,\n onDragEnter = _ref2.onDragEnter,\n onDragOver = _ref2.onDragOver,\n onDragLeave = _ref2.onDragLeave,\n onDrop = _ref2.onDrop,\n rest = _objectWithoutProperties(_ref2, _excluded3);\n\n return _objectSpread(_objectSpread(_defineProperty({\n onKeyDown: composeKeyboardHandler(composeEventHandlers(onKeyDown, onKeyDownCb)),\n onFocus: composeKeyboardHandler(composeEventHandlers(onFocus, onFocusCb)),\n onBlur: composeKeyboardHandler(composeEventHandlers(onBlur, onBlurCb)),\n onClick: composeHandler(composeEventHandlers(onClick, onClickCb)),\n onDragEnter: composeDragHandler(composeEventHandlers(onDragEnter, onDragEnterCb)),\n onDragOver: composeDragHandler(composeEventHandlers(onDragOver, onDragOverCb)),\n onDragLeave: composeDragHandler(composeEventHandlers(onDragLeave, onDragLeaveCb)),\n onDrop: composeDragHandler(composeEventHandlers(onDrop, onDropCb)),\n role: typeof role === \"string\" && role !== \"\" ? role : \"presentation\"\n }, refKey, rootRef), !disabled && !noKeyboard ? {\n tabIndex: 0\n } : {}), rest);\n };\n }, [rootRef, onKeyDownCb, onFocusCb, onBlurCb, onClickCb, onDragEnterCb, onDragOverCb, onDragLeaveCb, onDropCb, noKeyboard, noDrag, disabled]);\n var onInputElementClick = useCallback(function (event) {\n event.stopPropagation();\n }, []);\n var getInputProps = useMemo(function () {\n return function () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$refKey = _ref3.refKey,\n refKey = _ref3$refKey === void 0 ? \"ref\" : _ref3$refKey,\n onChange = _ref3.onChange,\n onClick = _ref3.onClick,\n rest = _objectWithoutProperties(_ref3, _excluded4);\n\n var inputProps = _defineProperty({\n accept: acceptAttr,\n multiple: multiple,\n type: \"file\",\n style: {\n border: 0,\n clip: \"rect(0, 0, 0, 0)\",\n clipPath: \"inset(50%)\",\n height: \"1px\",\n margin: \"0 -1px -1px 0\",\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n width: \"1px\",\n whiteSpace: \"nowrap\"\n },\n onChange: composeHandler(composeEventHandlers(onChange, onDropCb)),\n onClick: composeHandler(composeEventHandlers(onClick, onInputElementClick)),\n tabIndex: -1\n }, refKey, inputRef);\n\n return _objectSpread(_objectSpread({}, inputProps), rest);\n };\n }, [inputRef, accept, multiple, onDropCb, disabled]);\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: isFocused && !disabled,\n getRootProps: getRootProps,\n getInputProps: getInputProps,\n rootRef: rootRef,\n inputRef: inputRef,\n open: composeHandler(openFileDialog)\n });\n}\n/**\n * @param {DropzoneState} state\n * @param {{type: string} & DropzoneState} action\n * @returns {DropzoneState}\n */\n\nfunction reducer(state, action) {\n /* istanbul ignore next */\n switch (action.type) {\n case \"focus\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: true\n });\n\n case \"blur\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: false\n });\n\n case \"openDialog\":\n return _objectSpread(_objectSpread({}, initialState), {}, {\n isFileDialogActive: true\n });\n\n case \"closeDialog\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isFileDialogActive: false\n });\n\n case \"setDraggedFiles\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isDragActive: action.isDragActive,\n isDragAccept: action.isDragAccept,\n isDragReject: action.isDragReject\n });\n\n case \"setFiles\":\n return _objectSpread(_objectSpread({}, state), {}, {\n acceptedFiles: action.acceptedFiles,\n fileRejections: action.fileRejections,\n isDragReject: action.isDragReject\n });\n\n case \"reset\":\n return _objectSpread({}, initialState);\n\n default:\n return state;\n }\n}\n\nfunction noop() {}\n\nexport { ErrorCode } from \"./utils\";", "/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n", "export const COMMON_MIME_TYPES = new Map([\n // https://github.com/guzzle/psr7/blob/2d9260799e713f1c475d3c5fdc3d6561ff7441b2/src/MimeType.php\n ['1km', 'application/vnd.1000minds.decision-model+xml'],\n ['3dml', 'text/vnd.in3d.3dml'],\n ['3ds', 'image/x-3ds'],\n ['3g2', 'video/3gpp2'],\n ['3gp', 'video/3gp'],\n ['3gpp', 'video/3gpp'],\n ['3mf', 'model/3mf'],\n ['7z', 'application/x-7z-compressed'],\n ['7zip', 'application/x-7z-compressed'],\n ['123', 'application/vnd.lotus-1-2-3'],\n ['aab', 'application/x-authorware-bin'],\n ['aac', 'audio/x-acc'],\n ['aam', 'application/x-authorware-map'],\n ['aas', 'application/x-authorware-seg'],\n ['abw', 'application/x-abiword'],\n ['ac', 'application/vnd.nokia.n-gage.ac+xml'],\n ['ac3', 'audio/ac3'],\n ['acc', 'application/vnd.americandynamics.acc'],\n ['ace', 'application/x-ace-compressed'],\n ['acu', 'application/vnd.acucobol'],\n ['acutc', 'application/vnd.acucorp'],\n ['adp', 'audio/adpcm'],\n ['aep', 'application/vnd.audiograph'],\n ['afm', 'application/x-font-type1'],\n ['afp', 'application/vnd.ibm.modcap'],\n ['ahead', 'application/vnd.ahead.space'],\n ['ai', 'application/pdf'],\n ['aif', 'audio/x-aiff'],\n ['aifc', 'audio/x-aiff'],\n ['aiff', 'audio/x-aiff'],\n ['air', 'application/vnd.adobe.air-application-installer-package+zip'],\n ['ait', 'application/vnd.dvb.ait'],\n ['ami', 'application/vnd.amiga.ami'],\n ['amr', 'audio/amr'],\n ['apk', 'application/vnd.android.package-archive'],\n ['apng', 'image/apng'],\n ['appcache', 'text/cache-manifest'],\n ['application', 'application/x-ms-application'],\n ['apr', 'application/vnd.lotus-approach'],\n ['arc', 'application/x-freearc'],\n ['arj', 'application/x-arj'],\n ['asc', 'application/pgp-signature'],\n ['asf', 'video/x-ms-asf'],\n ['asm', 'text/x-asm'],\n ['aso', 'application/vnd.accpac.simply.aso'],\n ['asx', 'video/x-ms-asf'],\n ['atc', 'application/vnd.acucorp'],\n ['atom', 'application/atom+xml'],\n ['atomcat', 'application/atomcat+xml'],\n ['atomdeleted', 'application/atomdeleted+xml'],\n ['atomsvc', 'application/atomsvc+xml'],\n ['atx', 'application/vnd.antix.game-component'],\n ['au', 'audio/x-au'],\n ['avi', 'video/x-msvideo'],\n ['avif', 'image/avif'],\n ['aw', 'application/applixware'],\n ['azf', 'application/vnd.airzip.filesecure.azf'],\n ['azs', 'application/vnd.airzip.filesecure.azs'],\n ['azv', 'image/vnd.airzip.accelerator.azv'],\n ['azw', 'application/vnd.amazon.ebook'],\n ['b16', 'image/vnd.pco.b16'],\n ['bat', 'application/x-msdownload'],\n ['bcpio', 'application/x-bcpio'],\n ['bdf', 'application/x-font-bdf'],\n ['bdm', 'application/vnd.syncml.dm+wbxml'],\n ['bdoc', 'application/x-bdoc'],\n ['bed', 'application/vnd.realvnc.bed'],\n ['bh2', 'application/vnd.fujitsu.oasysprs'],\n ['bin', 'application/octet-stream'],\n ['blb', 'application/x-blorb'],\n ['blorb', 'application/x-blorb'],\n ['bmi', 'application/vnd.bmi'],\n ['bmml', 'application/vnd.balsamiq.bmml+xml'],\n ['bmp', 'image/bmp'],\n ['book', 'application/vnd.framemaker'],\n ['box', 'application/vnd.previewsystems.box'],\n ['boz', 'application/x-bzip2'],\n ['bpk', 'application/octet-stream'],\n ['bpmn', 'application/octet-stream'],\n ['bsp', 'model/vnd.valve.source.compiled-map'],\n ['btif', 'image/prs.btif'],\n ['buffer', 'application/octet-stream'],\n ['bz', 'application/x-bzip'],\n ['bz2', 'application/x-bzip2'],\n ['c', 'text/x-c'],\n ['c4d', 'application/vnd.clonk.c4group'],\n ['c4f', 'application/vnd.clonk.c4group'],\n ['c4g', 'application/vnd.clonk.c4group'],\n ['c4p', 'application/vnd.clonk.c4group'],\n ['c4u', 'application/vnd.clonk.c4group'],\n ['c11amc', 'application/vnd.cluetrust.cartomobile-config'],\n ['c11amz', 'application/vnd.cluetrust.cartomobile-config-pkg'],\n ['cab', 'application/vnd.ms-cab-compressed'],\n ['caf', 'audio/x-caf'],\n ['cap', 'application/vnd.tcpdump.pcap'],\n ['car', 'application/vnd.curl.car'],\n ['cat', 'application/vnd.ms-pki.seccat'],\n ['cb7', 'application/x-cbr'],\n ['cba', 'application/x-cbr'],\n ['cbr', 'application/x-cbr'],\n ['cbt', 'application/x-cbr'],\n ['cbz', 'application/x-cbr'],\n ['cc', 'text/x-c'],\n ['cco', 'application/x-cocoa'],\n ['cct', 'application/x-director'],\n ['ccxml', 'application/ccxml+xml'],\n ['cdbcmsg', 'application/vnd.contact.cmsg'],\n ['cda', 'application/x-cdf'],\n ['cdf', 'application/x-netcdf'],\n ['cdfx', 'application/cdfx+xml'],\n ['cdkey', 'application/vnd.mediastation.cdkey'],\n ['cdmia', 'application/cdmi-capability'],\n ['cdmic', 'application/cdmi-container'],\n ['cdmid', 'application/cdmi-domain'],\n ['cdmio', 'application/cdmi-object'],\n ['cdmiq', 'application/cdmi-queue'],\n ['cdr', 'application/cdr'],\n ['cdx', 'chemical/x-cdx'],\n ['cdxml', 'application/vnd.chemdraw+xml'],\n ['cdy', 'application/vnd.cinderella'],\n ['cer', 'application/pkix-cert'],\n ['cfs', 'application/x-cfs-compressed'],\n ['cgm', 'image/cgm'],\n ['chat', 'application/x-chat'],\n ['chm', 'application/vnd.ms-htmlhelp'],\n ['chrt', 'application/vnd.kde.kchart'],\n ['cif', 'chemical/x-cif'],\n ['cii', 'application/vnd.anser-web-certificate-issue-initiation'],\n ['cil', 'application/vnd.ms-artgalry'],\n ['cjs', 'application/node'],\n ['cla', 'application/vnd.claymore'],\n ['class', 'application/octet-stream'],\n ['clkk', 'application/vnd.crick.clicker.keyboard'],\n ['clkp', 'application/vnd.crick.clicker.palette'],\n ['clkt', 'application/vnd.crick.clicker.template'],\n ['clkw', 'application/vnd.crick.clicker.wordbank'],\n ['clkx', 'application/vnd.crick.clicker'],\n ['clp', 'application/x-msclip'],\n ['cmc', 'application/vnd.cosmocaller'],\n ['cmdf', 'chemical/x-cmdf'],\n ['cml', 'chemical/x-cml'],\n ['cmp', 'application/vnd.yellowriver-custom-menu'],\n ['cmx', 'image/x-cmx'],\n ['cod', 'application/vnd.rim.cod'],\n ['coffee', 'text/coffeescript'],\n ['com', 'application/x-msdownload'],\n ['conf', 'text/plain'],\n ['cpio', 'application/x-cpio'],\n ['cpp', 'text/x-c'],\n ['cpt', 'application/mac-compactpro'],\n ['crd', 'application/x-mscardfile'],\n ['crl', 'application/pkix-crl'],\n ['crt', 'application/x-x509-ca-cert'],\n ['crx', 'application/x-chrome-extension'],\n ['cryptonote', 'application/vnd.rig.cryptonote'],\n ['csh', 'application/x-csh'],\n ['csl', 'application/vnd.citationstyles.style+xml'],\n ['csml', 'chemical/x-csml'],\n ['csp', 'application/vnd.commonspace'],\n ['csr', 'application/octet-stream'],\n ['css', 'text/css'],\n ['cst', 'application/x-director'],\n ['csv', 'text/csv'],\n ['cu', 'application/cu-seeme'],\n ['curl', 'text/vnd.curl'],\n ['cww', 'application/prs.cww'],\n ['cxt', 'application/x-director'],\n ['cxx', 'text/x-c'],\n ['dae', 'model/vnd.collada+xml'],\n ['daf', 'application/vnd.mobius.daf'],\n ['dart', 'application/vnd.dart'],\n ['dataless', 'application/vnd.fdsn.seed'],\n ['davmount', 'application/davmount+xml'],\n ['dbf', 'application/vnd.dbf'],\n ['dbk', 'application/docbook+xml'],\n ['dcr', 'application/x-director'],\n ['dcurl', 'text/vnd.curl.dcurl'],\n ['dd2', 'application/vnd.oma.dd2+xml'],\n ['ddd', 'application/vnd.fujixerox.ddd'],\n ['ddf', 'application/vnd.syncml.dmddf+xml'],\n ['dds', 'image/vnd.ms-dds'],\n ['deb', 'application/x-debian-package'],\n ['def', 'text/plain'],\n ['deploy', 'application/octet-stream'],\n ['der', 'application/x-x509-ca-cert'],\n ['dfac', 'application/vnd.dreamfactory'],\n ['dgc', 'application/x-dgc-compressed'],\n ['dic', 'text/x-c'],\n ['dir', 'application/x-director'],\n ['dis', 'application/vnd.mobius.dis'],\n ['disposition-notification', 'message/disposition-notification'],\n ['dist', 'application/octet-stream'],\n ['distz', 'application/octet-stream'],\n ['djv', 'image/vnd.djvu'],\n ['djvu', 'image/vnd.djvu'],\n ['dll', 'application/octet-stream'],\n ['dmg', 'application/x-apple-diskimage'],\n ['dmn', 'application/octet-stream'],\n ['dmp', 'application/vnd.tcpdump.pcap'],\n ['dms', 'application/octet-stream'],\n ['dna', 'application/vnd.dna'],\n ['doc', 'application/msword'],\n ['docm', 'application/vnd.ms-word.template.macroEnabled.12'],\n ['docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'],\n ['dot', 'application/msword'],\n ['dotm', 'application/vnd.ms-word.template.macroEnabled.12'],\n ['dotx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.template'],\n ['dp', 'application/vnd.osgi.dp'],\n ['dpg', 'application/vnd.dpgraph'],\n ['dra', 'audio/vnd.dra'],\n ['drle', 'image/dicom-rle'],\n ['dsc', 'text/prs.lines.tag'],\n ['dssc', 'application/dssc+der'],\n ['dtb', 'application/x-dtbook+xml'],\n ['dtd', 'application/xml-dtd'],\n ['dts', 'audio/vnd.dts'],\n ['dtshd', 'audio/vnd.dts.hd'],\n ['dump', 'application/octet-stream'],\n ['dvb', 'video/vnd.dvb.file'],\n ['dvi', 'application/x-dvi'],\n ['dwd', 'application/atsc-dwd+xml'],\n ['dwf', 'model/vnd.dwf'],\n ['dwg', 'image/vnd.dwg'],\n ['dxf', 'image/vnd.dxf'],\n ['dxp', 'application/vnd.spotfire.dxp'],\n ['dxr', 'application/x-director'],\n ['ear', 'application/java-archive'],\n ['ecelp4800', 'audio/vnd.nuera.ecelp4800'],\n ['ecelp7470', 'audio/vnd.nuera.ecelp7470'],\n ['ecelp9600', 'audio/vnd.nuera.ecelp9600'],\n ['ecma', 'application/ecmascript'],\n ['edm', 'application/vnd.novadigm.edm'],\n ['edx', 'application/vnd.novadigm.edx'],\n ['efif', 'application/vnd.picsel'],\n ['ei6', 'application/vnd.pg.osasli'],\n ['elc', 'application/octet-stream'],\n ['emf', 'image/emf'],\n ['eml', 'message/rfc822'],\n ['emma', 'application/emma+xml'],\n ['emotionml', 'application/emotionml+xml'],\n ['emz', 'application/x-msmetafile'],\n ['eol', 'audio/vnd.digital-winds'],\n ['eot', 'application/vnd.ms-fontobject'],\n ['eps', 'application/postscript'],\n ['epub', 'application/epub+zip'],\n ['es', 'application/ecmascript'],\n ['es3', 'application/vnd.eszigno3+xml'],\n ['esa', 'application/vnd.osgi.subsystem'],\n ['esf', 'application/vnd.epson.esf'],\n ['et3', 'application/vnd.eszigno3+xml'],\n ['etx', 'text/x-setext'],\n ['eva', 'application/x-eva'],\n ['evy', 'application/x-envoy'],\n ['exe', 'application/octet-stream'],\n ['exi', 'application/exi'],\n ['exp', 'application/express'],\n ['exr', 'image/aces'],\n ['ext', 'application/vnd.novadigm.ext'],\n ['ez', 'application/andrew-inset'],\n ['ez2', 'application/vnd.ezpix-album'],\n ['ez3', 'application/vnd.ezpix-package'],\n ['f', 'text/x-fortran'],\n ['f4v', 'video/mp4'],\n ['f77', 'text/x-fortran'],\n ['f90', 'text/x-fortran'],\n ['fbs', 'image/vnd.fastbidsheet'],\n ['fcdt', 'application/vnd.adobe.formscentral.fcdt'],\n ['fcs', 'application/vnd.isac.fcs'],\n ['fdf', 'application/vnd.fdf'],\n ['fdt', 'application/fdt+xml'],\n ['fe_launch', 'application/vnd.denovo.fcselayout-link'],\n ['fg5', 'application/vnd.fujitsu.oasysgp'],\n ['fgd', 'application/x-director'],\n ['fh', 'image/x-freehand'],\n ['fh4', 'image/x-freehand'],\n ['fh5', 'image/x-freehand'],\n ['fh7', 'image/x-freehand'],\n ['fhc', 'image/x-freehand'],\n ['fig', 'application/x-xfig'],\n ['fits', 'image/fits'],\n ['flac', 'audio/x-flac'],\n ['fli', 'video/x-fli'],\n ['flo', 'application/vnd.micrografx.flo'],\n ['flv', 'video/x-flv'],\n ['flw', 'application/vnd.kde.kivio'],\n ['flx', 'text/vnd.fmi.flexstor'],\n ['fly', 'text/vnd.fly'],\n ['fm', 'application/vnd.framemaker'],\n ['fnc', 'application/vnd.frogans.fnc'],\n ['fo', 'application/vnd.software602.filler.form+xml'],\n ['for', 'text/x-fortran'],\n ['fpx', 'image/vnd.fpx'],\n ['frame', 'application/vnd.framemaker'],\n ['fsc', 'application/vnd.fsc.weblaunch'],\n ['fst', 'image/vnd.fst'],\n ['ftc', 'application/vnd.fluxtime.clip'],\n ['fti', 'application/vnd.anser-web-funds-transfer-initiation'],\n ['fvt', 'video/vnd.fvt'],\n ['fxp', 'application/vnd.adobe.fxp'],\n ['fxpl', 'application/vnd.adobe.fxp'],\n ['fzs', 'application/vnd.fuzzysheet'],\n ['g2w', 'application/vnd.geoplan'],\n ['g3', 'image/g3fax'],\n ['g3w', 'application/vnd.geospace'],\n ['gac', 'application/vnd.groove-account'],\n ['gam', 'application/x-tads'],\n ['gbr', 'application/rpki-ghostbusters'],\n ['gca', 'application/x-gca-compressed'],\n ['gdl', 'model/vnd.gdl'],\n ['gdoc', 'application/vnd.google-apps.document'],\n ['geo', 'application/vnd.dynageo'],\n ['geojson', 'application/geo+json'],\n ['gex', 'application/vnd.geometry-explorer'],\n ['ggb', 'application/vnd.geogebra.file'],\n ['ggt', 'application/vnd.geogebra.tool'],\n ['ghf', 'application/vnd.groove-help'],\n ['gif', 'image/gif'],\n ['gim', 'application/vnd.groove-identity-message'],\n ['glb', 'model/gltf-binary'],\n ['gltf', 'model/gltf+json'],\n ['gml', 'application/gml+xml'],\n ['gmx', 'application/vnd.gmx'],\n ['gnumeric', 'application/x-gnumeric'],\n ['gpg', 'application/gpg-keys'],\n ['gph', 'application/vnd.flographit'],\n ['gpx', 'application/gpx+xml'],\n ['gqf', 'application/vnd.grafeq'],\n ['gqs', 'application/vnd.grafeq'],\n ['gram', 'application/srgs'],\n ['gramps', 'application/x-gramps-xml'],\n ['gre', 'application/vnd.geometry-explorer'],\n ['grv', 'application/vnd.groove-injector'],\n ['grxml', 'application/srgs+xml'],\n ['gsf', 'application/x-font-ghostscript'],\n ['gsheet', 'application/vnd.google-apps.spreadsheet'],\n ['gslides', 'application/vnd.google-apps.presentation'],\n ['gtar', 'application/x-gtar'],\n ['gtm', 'application/vnd.groove-tool-message'],\n ['gtw', 'model/vnd.gtw'],\n ['gv', 'text/vnd.graphviz'],\n ['gxf', 'application/gxf'],\n ['gxt', 'application/vnd.geonext'],\n ['gz', 'application/gzip'],\n ['gzip', 'application/gzip'],\n ['h', 'text/x-c'],\n ['h261', 'video/h261'],\n ['h263', 'video/h263'],\n ['h264', 'video/h264'],\n ['hal', 'application/vnd.hal+xml'],\n ['hbci', 'application/vnd.hbci'],\n ['hbs', 'text/x-handlebars-template'],\n ['hdd', 'application/x-virtualbox-hdd'],\n ['hdf', 'application/x-hdf'],\n ['heic', 'image/heic'],\n ['heics', 'image/heic-sequence'],\n ['heif', 'image/heif'],\n ['heifs', 'image/heif-sequence'],\n ['hej2', 'image/hej2k'],\n ['held', 'application/atsc-held+xml'],\n ['hh', 'text/x-c'],\n ['hjson', 'application/hjson'],\n ['hlp', 'application/winhlp'],\n ['hpgl', 'application/vnd.hp-hpgl'],\n ['hpid', 'application/vnd.hp-hpid'],\n ['hps', 'application/vnd.hp-hps'],\n ['hqx', 'application/mac-binhex40'],\n ['hsj2', 'image/hsj2'],\n ['htc', 'text/x-component'],\n ['htke', 'application/vnd.kenameaapp'],\n ['htm', 'text/html'],\n ['html', 'text/html'],\n ['hvd', 'application/vnd.yamaha.hv-dic'],\n ['hvp', 'application/vnd.yamaha.hv-voice'],\n ['hvs', 'application/vnd.yamaha.hv-script'],\n ['i2g', 'application/vnd.intergeo'],\n ['icc', 'application/vnd.iccprofile'],\n ['ice', 'x-conference/x-cooltalk'],\n ['icm', 'application/vnd.iccprofile'],\n ['ico', 'image/x-icon'],\n ['ics', 'text/calendar'],\n ['ief', 'image/ief'],\n ['ifb', 'text/calendar'],\n ['ifm', 'application/vnd.shana.informed.formdata'],\n ['iges', 'model/iges'],\n ['igl', 'application/vnd.igloader'],\n ['igm', 'application/vnd.insors.igm'],\n ['igs', 'model/iges'],\n ['igx', 'application/vnd.micrografx.igx'],\n ['iif', 'application/vnd.shana.informed.interchange'],\n ['img', 'application/octet-stream'],\n ['imp', 'application/vnd.accpac.simply.imp'],\n ['ims', 'application/vnd.ms-ims'],\n ['in', 'text/plain'],\n ['ini', 'text/plain'],\n ['ink', 'application/inkml+xml'],\n ['inkml', 'application/inkml+xml'],\n ['install', 'application/x-install-instructions'],\n ['iota', 'application/vnd.astraea-software.iota'],\n ['ipfix', 'application/ipfix'],\n ['ipk', 'application/vnd.shana.informed.package'],\n ['irm', 'application/vnd.ibm.rights-management'],\n ['irp', 'application/vnd.irepository.package+xml'],\n ['iso', 'application/x-iso9660-image'],\n ['itp', 'application/vnd.shana.informed.formtemplate'],\n ['its', 'application/its+xml'],\n ['ivp', 'application/vnd.immervision-ivp'],\n ['ivu', 'application/vnd.immervision-ivu'],\n ['jad', 'text/vnd.sun.j2me.app-descriptor'],\n ['jade', 'text/jade'],\n ['jam', 'application/vnd.jam'],\n ['jar', 'application/java-archive'],\n ['jardiff', 'application/x-java-archive-diff'],\n ['java', 'text/x-java-source'],\n ['jhc', 'image/jphc'],\n ['jisp', 'application/vnd.jisp'],\n ['jls', 'image/jls'],\n ['jlt', 'application/vnd.hp-jlyt'],\n ['jng', 'image/x-jng'],\n ['jnlp', 'application/x-java-jnlp-file'],\n ['joda', 'application/vnd.joost.joda-archive'],\n ['jp2', 'image/jp2'],\n ['jpe', 'image/jpeg'],\n ['jpeg', 'image/jpeg'],\n ['jpf', 'image/jpx'],\n ['jpg', 'image/jpeg'],\n ['jpg2', 'image/jp2'],\n ['jpgm', 'video/jpm'],\n ['jpgv', 'video/jpeg'],\n ['jph', 'image/jph'],\n ['jpm', 'video/jpm'],\n ['jpx', 'image/jpx'],\n ['js', 'application/javascript'],\n ['json', 'application/json'],\n ['json5', 'application/json5'],\n ['jsonld', 'application/ld+json'],\n // https://jsonlines.org/\n ['jsonl', 'application/jsonl'],\n ['jsonml', 'application/jsonml+json'],\n ['jsx', 'text/jsx'],\n ['jxr', 'image/jxr'],\n ['jxra', 'image/jxra'],\n ['jxrs', 'image/jxrs'],\n ['jxs', 'image/jxs'],\n ['jxsc', 'image/jxsc'],\n ['jxsi', 'image/jxsi'],\n ['jxss', 'image/jxss'],\n ['kar', 'audio/midi'],\n ['karbon', 'application/vnd.kde.karbon'],\n ['kdb', 'application/octet-stream'],\n ['kdbx', 'application/x-keepass2'],\n ['key', 'application/x-iwork-keynote-sffkey'],\n ['kfo', 'application/vnd.kde.kformula'],\n ['kia', 'application/vnd.kidspiration'],\n ['kml', 'application/vnd.google-earth.kml+xml'],\n ['kmz', 'application/vnd.google-earth.kmz'],\n ['kne', 'application/vnd.kinar'],\n ['knp', 'application/vnd.kinar'],\n ['kon', 'application/vnd.kde.kontour'],\n ['kpr', 'application/vnd.kde.kpresenter'],\n ['kpt', 'application/vnd.kde.kpresenter'],\n ['kpxx', 'application/vnd.ds-keypoint'],\n ['ksp', 'application/vnd.kde.kspread'],\n ['ktr', 'application/vnd.kahootz'],\n ['ktx', 'image/ktx'],\n ['ktx2', 'image/ktx2'],\n ['ktz', 'application/vnd.kahootz'],\n ['kwd', 'application/vnd.kde.kword'],\n ['kwt', 'application/vnd.kde.kword'],\n ['lasxml', 'application/vnd.las.las+xml'],\n ['latex', 'application/x-latex'],\n ['lbd', 'application/vnd.llamagraphics.life-balance.desktop'],\n ['lbe', 'application/vnd.llamagraphics.life-balance.exchange+xml'],\n ['les', 'application/vnd.hhe.lesson-player'],\n ['less', 'text/less'],\n ['lgr', 'application/lgr+xml'],\n ['lha', 'application/octet-stream'],\n ['link66', 'application/vnd.route66.link66+xml'],\n ['list', 'text/plain'],\n ['list3820', 'application/vnd.ibm.modcap'],\n ['listafp', 'application/vnd.ibm.modcap'],\n ['litcoffee', 'text/coffeescript'],\n ['lnk', 'application/x-ms-shortcut'],\n ['log', 'text/plain'],\n ['lostxml', 'application/lost+xml'],\n ['lrf', 'application/octet-stream'],\n ['lrm', 'application/vnd.ms-lrm'],\n ['ltf', 'application/vnd.frogans.ltf'],\n ['lua', 'text/x-lua'],\n ['luac', 'application/x-lua-bytecode'],\n ['lvp', 'audio/vnd.lucent.voice'],\n ['lwp', 'application/vnd.lotus-wordpro'],\n ['lzh', 'application/octet-stream'],\n ['m1v', 'video/mpeg'],\n ['m2a', 'audio/mpeg'],\n ['m2v', 'video/mpeg'],\n ['m3a', 'audio/mpeg'],\n ['m3u', 'text/plain'],\n ['m3u8', 'application/vnd.apple.mpegurl'],\n ['m4a', 'audio/x-m4a'],\n ['m4p', 'application/mp4'],\n ['m4s', 'video/iso.segment'],\n ['m4u', 'application/vnd.mpegurl'],\n ['m4v', 'video/x-m4v'],\n ['m13', 'application/x-msmediaview'],\n ['m14', 'application/x-msmediaview'],\n ['m21', 'application/mp21'],\n ['ma', 'application/mathematica'],\n ['mads', 'application/mads+xml'],\n ['maei', 'application/mmt-aei+xml'],\n ['mag', 'application/vnd.ecowin.chart'],\n ['maker', 'application/vnd.framemaker'],\n ['man', 'text/troff'],\n ['manifest', 'text/cache-manifest'],\n ['map', 'application/json'],\n ['mar', 'application/octet-stream'],\n ['markdown', 'text/markdown'],\n ['mathml', 'application/mathml+xml'],\n ['mb', 'application/mathematica'],\n ['mbk', 'application/vnd.mobius.mbk'],\n ['mbox', 'application/mbox'],\n ['mc1', 'application/vnd.medcalcdata'],\n ['mcd', 'application/vnd.mcd'],\n ['mcurl', 'text/vnd.curl.mcurl'],\n ['md', 'text/markdown'],\n ['mdb', 'application/x-msaccess'],\n ['mdi', 'image/vnd.ms-modi'],\n ['mdx', 'text/mdx'],\n ['me', 'text/troff'],\n ['mesh', 'model/mesh'],\n ['meta4', 'application/metalink4+xml'],\n ['metalink', 'application/metalink+xml'],\n ['mets', 'application/mets+xml'],\n ['mfm', 'application/vnd.mfmp'],\n ['mft', 'application/rpki-manifest'],\n ['mgp', 'application/vnd.osgeo.mapguide.package'],\n ['mgz', 'application/vnd.proteus.magazine'],\n ['mid', 'audio/midi'],\n ['midi', 'audio/midi'],\n ['mie', 'application/x-mie'],\n ['mif', 'application/vnd.mif'],\n ['mime', 'message/rfc822'],\n ['mj2', 'video/mj2'],\n ['mjp2', 'video/mj2'],\n ['mjs', 'application/javascript'],\n ['mk3d', 'video/x-matroska'],\n ['mka', 'audio/x-matroska'],\n ['mkd', 'text/x-markdown'],\n ['mks', 'video/x-matroska'],\n ['mkv', 'video/x-matroska'],\n ['mlp', 'application/vnd.dolby.mlp'],\n ['mmd', 'application/vnd.chipnuts.karaoke-mmd'],\n ['mmf', 'application/vnd.smaf'],\n ['mml', 'text/mathml'],\n ['mmr', 'image/vnd.fujixerox.edmics-mmr'],\n ['mng', 'video/x-mng'],\n ['mny', 'application/x-msmoney'],\n ['mobi', 'application/x-mobipocket-ebook'],\n ['mods', 'application/mods+xml'],\n ['mov', 'video/quicktime'],\n ['movie', 'video/x-sgi-movie'],\n ['mp2', 'audio/mpeg'],\n ['mp2a', 'audio/mpeg'],\n ['mp3', 'audio/mpeg'],\n ['mp4', 'video/mp4'],\n ['mp4a', 'audio/mp4'],\n ['mp4s', 'application/mp4'],\n ['mp4v', 'video/mp4'],\n ['mp21', 'application/mp21'],\n ['mpc', 'application/vnd.mophun.certificate'],\n ['mpd', 'application/dash+xml'],\n ['mpe', 'video/mpeg'],\n ['mpeg', 'video/mpeg'],\n ['mpg', 'video/mpeg'],\n ['mpg4', 'video/mp4'],\n ['mpga', 'audio/mpeg'],\n ['mpkg', 'application/vnd.apple.installer+xml'],\n ['mpm', 'application/vnd.blueice.multipass'],\n ['mpn', 'application/vnd.mophun.application'],\n ['mpp', 'application/vnd.ms-project'],\n ['mpt', 'application/vnd.ms-project'],\n ['mpy', 'application/vnd.ibm.minipay'],\n ['mqy', 'application/vnd.mobius.mqy'],\n ['mrc', 'application/marc'],\n ['mrcx', 'application/marcxml+xml'],\n ['ms', 'text/troff'],\n ['mscml', 'application/mediaservercontrol+xml'],\n ['mseed', 'application/vnd.fdsn.mseed'],\n ['mseq', 'application/vnd.mseq'],\n ['msf', 'application/vnd.epson.msf'],\n ['msg', 'application/vnd.ms-outlook'],\n ['msh', 'model/mesh'],\n ['msi', 'application/x-msdownload'],\n ['msl', 'application/vnd.mobius.msl'],\n ['msm', 'application/octet-stream'],\n ['msp', 'application/octet-stream'],\n ['msty', 'application/vnd.muvee.style'],\n ['mtl', 'model/mtl'],\n ['mts', 'model/vnd.mts'],\n ['mus', 'application/vnd.musician'],\n ['musd', 'application/mmt-usd+xml'],\n ['musicxml', 'application/vnd.recordare.musicxml+xml'],\n ['mvb', 'application/x-msmediaview'],\n ['mvt', 'application/vnd.mapbox-vector-tile'],\n ['mwf', 'application/vnd.mfer'],\n ['mxf', 'application/mxf'],\n ['mxl', 'application/vnd.recordare.musicxml'],\n ['mxmf', 'audio/mobile-xmf'],\n ['mxml', 'application/xv+xml'],\n ['mxs', 'application/vnd.triscape.mxs'],\n ['mxu', 'video/vnd.mpegurl'],\n ['n-gage', 'application/vnd.nokia.n-gage.symbian.install'],\n ['n3', 'text/n3'],\n ['nb', 'application/mathematica'],\n ['nbp', 'application/vnd.wolfram.player'],\n ['nc', 'application/x-netcdf'],\n ['ncx', 'application/x-dtbncx+xml'],\n ['nfo', 'text/x-nfo'],\n ['ngdat', 'application/vnd.nokia.n-gage.data'],\n ['nitf', 'application/vnd.nitf'],\n ['nlu', 'application/vnd.neurolanguage.nlu'],\n ['nml', 'application/vnd.enliven'],\n ['nnd', 'application/vnd.noblenet-directory'],\n ['nns', 'application/vnd.noblenet-sealer'],\n ['nnw', 'application/vnd.noblenet-web'],\n ['npx', 'image/vnd.net-fpx'],\n ['nq', 'application/n-quads'],\n ['nsc', 'application/x-conference'],\n ['nsf', 'application/vnd.lotus-notes'],\n ['nt', 'application/n-triples'],\n ['ntf', 'application/vnd.nitf'],\n ['numbers', 'application/x-iwork-numbers-sffnumbers'],\n ['nzb', 'application/x-nzb'],\n ['oa2', 'application/vnd.fujitsu.oasys2'],\n ['oa3', 'application/vnd.fujitsu.oasys3'],\n ['oas', 'application/vnd.fujitsu.oasys'],\n ['obd', 'application/x-msbinder'],\n ['obgx', 'application/vnd.openblox.game+xml'],\n ['obj', 'model/obj'],\n ['oda', 'application/oda'],\n ['odb', 'application/vnd.oasis.opendocument.database'],\n ['odc', 'application/vnd.oasis.opendocument.chart'],\n ['odf', 'application/vnd.oasis.opendocument.formula'],\n ['odft', 'application/vnd.oasis.opendocument.formula-template'],\n ['odg', 'application/vnd.oasis.opendocument.graphics'],\n ['odi', 'application/vnd.oasis.opendocument.image'],\n ['odm', 'application/vnd.oasis.opendocument.text-master'],\n ['odp', 'application/vnd.oasis.opendocument.presentation'],\n ['ods', 'application/vnd.oasis.opendocument.spreadsheet'],\n ['odt', 'application/vnd.oasis.opendocument.text'],\n ['oga', 'audio/ogg'],\n ['ogex', 'model/vnd.opengex'],\n ['ogg', 'audio/ogg'],\n ['ogv', 'video/ogg'],\n ['ogx', 'application/ogg'],\n ['omdoc', 'application/omdoc+xml'],\n ['onepkg', 'application/onenote'],\n ['onetmp', 'application/onenote'],\n ['onetoc', 'application/onenote'],\n ['onetoc2', 'application/onenote'],\n ['opf', 'application/oebps-package+xml'],\n ['opml', 'text/x-opml'],\n ['oprc', 'application/vnd.palm'],\n ['opus', 'audio/ogg'],\n ['org', 'text/x-org'],\n ['osf', 'application/vnd.yamaha.openscoreformat'],\n ['osfpvg', 'application/vnd.yamaha.openscoreformat.osfpvg+xml'],\n ['osm', 'application/vnd.openstreetmap.data+xml'],\n ['otc', 'application/vnd.oasis.opendocument.chart-template'],\n ['otf', 'font/otf'],\n ['otg', 'application/vnd.oasis.opendocument.graphics-template'],\n ['oth', 'application/vnd.oasis.opendocument.text-web'],\n ['oti', 'application/vnd.oasis.opendocument.image-template'],\n ['otp', 'application/vnd.oasis.opendocument.presentation-template'],\n ['ots', 'application/vnd.oasis.opendocument.spreadsheet-template'],\n ['ott', 'application/vnd.oasis.opendocument.text-template'],\n ['ova', 'application/x-virtualbox-ova'],\n ['ovf', 'application/x-virtualbox-ovf'],\n ['owl', 'application/rdf+xml'],\n ['oxps', 'application/oxps'],\n ['oxt', 'application/vnd.openofficeorg.extension'],\n ['p', 'text/x-pascal'],\n ['p7a', 'application/x-pkcs7-signature'],\n ['p7b', 'application/x-pkcs7-certificates'],\n ['p7c', 'application/pkcs7-mime'],\n ['p7m', 'application/pkcs7-mime'],\n ['p7r', 'application/x-pkcs7-certreqresp'],\n ['p7s', 'application/pkcs7-signature'],\n ['p8', 'application/pkcs8'],\n ['p10', 'application/x-pkcs10'],\n ['p12', 'application/x-pkcs12'],\n ['pac', 'application/x-ns-proxy-autoconfig'],\n ['pages', 'application/x-iwork-pages-sffpages'],\n ['pas', 'text/x-pascal'],\n ['paw', 'application/vnd.pawaafile'],\n ['pbd', 'application/vnd.powerbuilder6'],\n ['pbm', 'image/x-portable-bitmap'],\n ['pcap', 'application/vnd.tcpdump.pcap'],\n ['pcf', 'application/x-font-pcf'],\n ['pcl', 'application/vnd.hp-pcl'],\n ['pclxl', 'application/vnd.hp-pclxl'],\n ['pct', 'image/x-pict'],\n ['pcurl', 'application/vnd.curl.pcurl'],\n ['pcx', 'image/x-pcx'],\n ['pdb', 'application/x-pilot'],\n ['pde', 'text/x-processing'],\n ['pdf', 'application/pdf'],\n ['pem', 'application/x-x509-user-cert'],\n ['pfa', 'application/x-font-type1'],\n ['pfb', 'application/x-font-type1'],\n ['pfm', 'application/x-font-type1'],\n ['pfr', 'application/font-tdpfr'],\n ['pfx', 'application/x-pkcs12'],\n ['pgm', 'image/x-portable-graymap'],\n ['pgn', 'application/x-chess-pgn'],\n ['pgp', 'application/pgp'],\n ['php', 'application/x-httpd-php'],\n ['php3', 'application/x-httpd-php'],\n ['php4', 'application/x-httpd-php'],\n ['phps', 'application/x-httpd-php-source'],\n ['phtml', 'application/x-httpd-php'],\n ['pic', 'image/x-pict'],\n ['pkg', 'application/octet-stream'],\n ['pki', 'application/pkixcmp'],\n ['pkipath', 'application/pkix-pkipath'],\n ['pkpass', 'application/vnd.apple.pkpass'],\n ['pl', 'application/x-perl'],\n ['plb', 'application/vnd.3gpp.pic-bw-large'],\n ['plc', 'application/vnd.mobius.plc'],\n ['plf', 'application/vnd.pocketlearn'],\n ['pls', 'application/pls+xml'],\n ['pm', 'application/x-perl'],\n ['pml', 'application/vnd.ctc-posml'],\n ['png', 'image/png'],\n ['pnm', 'image/x-portable-anymap'],\n ['portpkg', 'application/vnd.macports.portpkg'],\n ['pot', 'application/vnd.ms-powerpoint'],\n ['potm', 'application/vnd.ms-powerpoint.presentation.macroEnabled.12'],\n ['potx', 'application/vnd.openxmlformats-officedocument.presentationml.template'],\n ['ppa', 'application/vnd.ms-powerpoint'],\n ['ppam', 'application/vnd.ms-powerpoint.addin.macroEnabled.12'],\n ['ppd', 'application/vnd.cups-ppd'],\n ['ppm', 'image/x-portable-pixmap'],\n ['pps', 'application/vnd.ms-powerpoint'],\n ['ppsm', 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12'],\n ['ppsx', 'application/vnd.openxmlformats-officedocument.presentationml.slideshow'],\n ['ppt', 'application/powerpoint'],\n ['pptm', 'application/vnd.ms-powerpoint.presentation.macroEnabled.12'],\n ['pptx', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'],\n ['pqa', 'application/vnd.palm'],\n ['prc', 'application/x-pilot'],\n ['pre', 'application/vnd.lotus-freelance'],\n ['prf', 'application/pics-rules'],\n ['provx', 'application/provenance+xml'],\n ['ps', 'application/postscript'],\n ['psb', 'application/vnd.3gpp.pic-bw-small'],\n ['psd', 'application/x-photoshop'],\n ['psf', 'application/x-font-linux-psf'],\n ['pskcxml', 'application/pskc+xml'],\n ['pti', 'image/prs.pti'],\n ['ptid', 'application/vnd.pvi.ptid1'],\n ['pub', 'application/x-mspublisher'],\n ['pvb', 'application/vnd.3gpp.pic-bw-var'],\n ['pwn', 'application/vnd.3m.post-it-notes'],\n ['pya', 'audio/vnd.ms-playready.media.pya'],\n ['pyv', 'video/vnd.ms-playready.media.pyv'],\n ['qam', 'application/vnd.epson.quickanime'],\n ['qbo', 'application/vnd.intu.qbo'],\n ['qfx', 'application/vnd.intu.qfx'],\n ['qps', 'application/vnd.publishare-delta-tree'],\n ['qt', 'video/quicktime'],\n ['qwd', 'application/vnd.quark.quarkxpress'],\n ['qwt', 'application/vnd.quark.quarkxpress'],\n ['qxb', 'application/vnd.quark.quarkxpress'],\n ['qxd', 'application/vnd.quark.quarkxpress'],\n ['qxl', 'application/vnd.quark.quarkxpress'],\n ['qxt', 'application/vnd.quark.quarkxpress'],\n ['ra', 'audio/x-realaudio'],\n ['ram', 'audio/x-pn-realaudio'],\n ['raml', 'application/raml+yaml'],\n ['rapd', 'application/route-apd+xml'],\n ['rar', 'application/x-rar'],\n ['ras', 'image/x-cmu-raster'],\n ['rcprofile', 'application/vnd.ipunplugged.rcprofile'],\n ['rdf', 'application/rdf+xml'],\n ['rdz', 'application/vnd.data-vision.rdz'],\n ['relo', 'application/p2p-overlay+xml'],\n ['rep', 'application/vnd.businessobjects'],\n ['res', 'application/x-dtbresource+xml'],\n ['rgb', 'image/x-rgb'],\n ['rif', 'application/reginfo+xml'],\n ['rip', 'audio/vnd.rip'],\n ['ris', 'application/x-research-info-systems'],\n ['rl', 'application/resource-lists+xml'],\n ['rlc', 'image/vnd.fujixerox.edmics-rlc'],\n ['rld', 'application/resource-lists-diff+xml'],\n ['rm', 'audio/x-pn-realaudio'],\n ['rmi', 'audio/midi'],\n ['rmp', 'audio/x-pn-realaudio-plugin'],\n ['rms', 'application/vnd.jcp.javame.midlet-rms'],\n ['rmvb', 'application/vnd.rn-realmedia-vbr'],\n ['rnc', 'application/relax-ng-compact-syntax'],\n ['rng', 'application/xml'],\n ['roa', 'application/rpki-roa'],\n ['roff', 'text/troff'],\n ['rp9', 'application/vnd.cloanto.rp9'],\n ['rpm', 'audio/x-pn-realaudio-plugin'],\n ['rpss', 'application/vnd.nokia.radio-presets'],\n ['rpst', 'application/vnd.nokia.radio-preset'],\n ['rq', 'application/sparql-query'],\n ['rs', 'application/rls-services+xml'],\n ['rsa', 'application/x-pkcs7'],\n ['rsat', 'application/atsc-rsat+xml'],\n ['rsd', 'application/rsd+xml'],\n ['rsheet', 'application/urc-ressheet+xml'],\n ['rss', 'application/rss+xml'],\n ['rtf', 'text/rtf'],\n ['rtx', 'text/richtext'],\n ['run', 'application/x-makeself'],\n ['rusd', 'application/route-usd+xml'],\n ['rv', 'video/vnd.rn-realvideo'],\n ['s', 'text/x-asm'],\n ['s3m', 'audio/s3m'],\n ['saf', 'application/vnd.yamaha.smaf-audio'],\n ['sass', 'text/x-sass'],\n ['sbml', 'application/sbml+xml'],\n ['sc', 'application/vnd.ibm.secure-container'],\n ['scd', 'application/x-msschedule'],\n ['scm', 'application/vnd.lotus-screencam'],\n ['scq', 'application/scvp-cv-request'],\n ['scs', 'application/scvp-cv-response'],\n ['scss', 'text/x-scss'],\n ['scurl', 'text/vnd.curl.scurl'],\n ['sda', 'application/vnd.stardivision.draw'],\n ['sdc', 'application/vnd.stardivision.calc'],\n ['sdd', 'application/vnd.stardivision.impress'],\n ['sdkd', 'application/vnd.solent.sdkm+xml'],\n ['sdkm', 'application/vnd.solent.sdkm+xml'],\n ['sdp', 'application/sdp'],\n ['sdw', 'application/vnd.stardivision.writer'],\n ['sea', 'application/octet-stream'],\n ['see', 'application/vnd.seemail'],\n ['seed', 'application/vnd.fdsn.seed'],\n ['sema', 'application/vnd.sema'],\n ['semd', 'application/vnd.semd'],\n ['semf', 'application/vnd.semf'],\n ['senmlx', 'application/senml+xml'],\n ['sensmlx', 'application/sensml+xml'],\n ['ser', 'application/java-serialized-object'],\n ['setpay', 'application/set-payment-initiation'],\n ['setreg', 'application/set-registration-initiation'],\n ['sfd-hdstx', 'application/vnd.hydrostatix.sof-data'],\n ['sfs', 'application/vnd.spotfire.sfs'],\n ['sfv', 'text/x-sfv'],\n ['sgi', 'image/sgi'],\n ['sgl', 'application/vnd.stardivision.writer-global'],\n ['sgm', 'text/sgml'],\n ['sgml', 'text/sgml'],\n ['sh', 'application/x-sh'],\n ['shar', 'application/x-shar'],\n ['shex', 'text/shex'],\n ['shf', 'application/shf+xml'],\n ['shtml', 'text/html'],\n ['sid', 'image/x-mrsid-image'],\n ['sieve', 'application/sieve'],\n ['sig', 'application/pgp-signature'],\n ['sil', 'audio/silk'],\n ['silo', 'model/mesh'],\n ['sis', 'application/vnd.symbian.install'],\n ['sisx', 'application/vnd.symbian.install'],\n ['sit', 'application/x-stuffit'],\n ['sitx', 'application/x-stuffitx'],\n ['siv', 'application/sieve'],\n ['skd', 'application/vnd.koan'],\n ['skm', 'application/vnd.koan'],\n ['skp', 'application/vnd.koan'],\n ['skt', 'application/vnd.koan'],\n ['sldm', 'application/vnd.ms-powerpoint.slide.macroenabled.12'],\n ['sldx', 'application/vnd.openxmlformats-officedocument.presentationml.slide'],\n ['slim', 'text/slim'],\n ['slm', 'text/slim'],\n ['sls', 'application/route-s-tsid+xml'],\n ['slt', 'application/vnd.epson.salt'],\n ['sm', 'application/vnd.stepmania.stepchart'],\n ['smf', 'application/vnd.stardivision.math'],\n ['smi', 'application/smil'],\n ['smil', 'application/smil'],\n ['smv', 'video/x-smv'],\n ['smzip', 'application/vnd.stepmania.package'],\n ['snd', 'audio/basic'],\n ['snf', 'application/x-font-snf'],\n ['so', 'application/octet-stream'],\n ['spc', 'application/x-pkcs7-certificates'],\n ['spdx', 'text/spdx'],\n ['spf', 'application/vnd.yamaha.smaf-phrase'],\n ['spl', 'application/x-futuresplash'],\n ['spot', 'text/vnd.in3d.spot'],\n ['spp', 'application/scvp-vp-response'],\n ['spq', 'application/scvp-vp-request'],\n ['spx', 'audio/ogg'],\n ['sql', 'application/x-sql'],\n ['src', 'application/x-wais-source'],\n ['srt', 'application/x-subrip'],\n ['sru', 'application/sru+xml'],\n ['srx', 'application/sparql-results+xml'],\n ['ssdl', 'application/ssdl+xml'],\n ['sse', 'application/vnd.kodak-descriptor'],\n ['ssf', 'application/vnd.epson.ssf'],\n ['ssml', 'application/ssml+xml'],\n ['sst', 'application/octet-stream'],\n ['st', 'application/vnd.sailingtracker.track'],\n ['stc', 'application/vnd.sun.xml.calc.template'],\n ['std', 'application/vnd.sun.xml.draw.template'],\n ['stf', 'application/vnd.wt.stf'],\n ['sti', 'application/vnd.sun.xml.impress.template'],\n ['stk', 'application/hyperstudio'],\n ['stl', 'model/stl'],\n ['stpx', 'model/step+xml'],\n ['stpxz', 'model/step-xml+zip'],\n ['stpz', 'model/step+zip'],\n ['str', 'application/vnd.pg.format'],\n ['stw', 'application/vnd.sun.xml.writer.template'],\n ['styl', 'text/stylus'],\n ['stylus', 'text/stylus'],\n ['sub', 'text/vnd.dvb.subtitle'],\n ['sus', 'application/vnd.sus-calendar'],\n ['susp', 'application/vnd.sus-calendar'],\n ['sv4cpio', 'application/x-sv4cpio'],\n ['sv4crc', 'application/x-sv4crc'],\n ['svc', 'application/vnd.dvb.service'],\n ['svd', 'application/vnd.svd'],\n ['svg', 'image/svg+xml'],\n ['svgz', 'image/svg+xml'],\n ['swa', 'application/x-director'],\n ['swf', 'application/x-shockwave-flash'],\n ['swi', 'application/vnd.aristanetworks.swi'],\n ['swidtag', 'application/swid+xml'],\n ['sxc', 'application/vnd.sun.xml.calc'],\n ['sxd', 'application/vnd.sun.xml.draw'],\n ['sxg', 'application/vnd.sun.xml.writer.global'],\n ['sxi', 'application/vnd.sun.xml.impress'],\n ['sxm', 'application/vnd.sun.xml.math'],\n ['sxw', 'application/vnd.sun.xml.writer'],\n ['t', 'text/troff'],\n ['t3', 'application/x-t3vm-image'],\n ['t38', 'image/t38'],\n ['taglet', 'application/vnd.mynfc'],\n ['tao', 'application/vnd.tao.intent-module-archive'],\n ['tap', 'image/vnd.tencent.tap'],\n ['tar', 'application/x-tar'],\n ['tcap', 'application/vnd.3gpp2.tcap'],\n ['tcl', 'application/x-tcl'],\n ['td', 'application/urc-targetdesc+xml'],\n ['teacher', 'application/vnd.smart.teacher'],\n ['tei', 'application/tei+xml'],\n ['teicorpus', 'application/tei+xml'],\n ['tex', 'application/x-tex'],\n ['texi', 'application/x-texinfo'],\n ['texinfo', 'application/x-texinfo'],\n ['text', 'text/plain'],\n ['tfi', 'application/thraud+xml'],\n ['tfm', 'application/x-tex-tfm'],\n ['tfx', 'image/tiff-fx'],\n ['tga', 'image/x-tga'],\n ['tgz', 'application/x-tar'],\n ['thmx', 'application/vnd.ms-officetheme'],\n ['tif', 'image/tiff'],\n ['tiff', 'image/tiff'],\n ['tk', 'application/x-tcl'],\n ['tmo', 'application/vnd.tmobile-livetv'],\n ['toml', 'application/toml'],\n ['torrent', 'application/x-bittorrent'],\n ['tpl', 'application/vnd.groove-tool-template'],\n ['tpt', 'application/vnd.trid.tpt'],\n ['tr', 'text/troff'],\n ['tra', 'application/vnd.trueapp'],\n ['trig', 'application/trig'],\n ['trm', 'application/x-msterminal'],\n ['ts', 'video/mp2t'],\n ['tsd', 'application/timestamped-data'],\n ['tsv', 'text/tab-separated-values'],\n ['ttc', 'font/collection'],\n ['ttf', 'font/ttf'],\n ['ttl', 'text/turtle'],\n ['ttml', 'application/ttml+xml'],\n ['twd', 'application/vnd.simtech-mindmapper'],\n ['twds', 'application/vnd.simtech-mindmapper'],\n ['txd', 'application/vnd.genomatix.tuxedo'],\n ['txf', 'application/vnd.mobius.txf'],\n ['txt', 'text/plain'],\n ['u8dsn', 'message/global-delivery-status'],\n ['u8hdr', 'message/global-headers'],\n ['u8mdn', 'message/global-disposition-notification'],\n ['u8msg', 'message/global'],\n ['u32', 'application/x-authorware-bin'],\n ['ubj', 'application/ubjson'],\n ['udeb', 'application/x-debian-package'],\n ['ufd', 'application/vnd.ufdl'],\n ['ufdl', 'application/vnd.ufdl'],\n ['ulx', 'application/x-glulx'],\n ['umj', 'application/vnd.umajin'],\n ['unityweb', 'application/vnd.unity'],\n ['uoml', 'application/vnd.uoml+xml'],\n ['uri', 'text/uri-list'],\n ['uris', 'text/uri-list'],\n ['urls', 'text/uri-list'],\n ['usdz', 'model/vnd.usdz+zip'],\n ['ustar', 'application/x-ustar'],\n ['utz', 'application/vnd.uiq.theme'],\n ['uu', 'text/x-uuencode'],\n ['uva', 'audio/vnd.dece.audio'],\n ['uvd', 'application/vnd.dece.data'],\n ['uvf', 'application/vnd.dece.data'],\n ['uvg', 'image/vnd.dece.graphic'],\n ['uvh', 'video/vnd.dece.hd'],\n ['uvi', 'image/vnd.dece.graphic'],\n ['uvm', 'video/vnd.dece.mobile'],\n ['uvp', 'video/vnd.dece.pd'],\n ['uvs', 'video/vnd.dece.sd'],\n ['uvt', 'application/vnd.dece.ttml+xml'],\n ['uvu', 'video/vnd.uvvu.mp4'],\n ['uvv', 'video/vnd.dece.video'],\n ['uvva', 'audio/vnd.dece.audio'],\n ['uvvd', 'application/vnd.dece.data'],\n ['uvvf', 'application/vnd.dece.data'],\n ['uvvg', 'image/vnd.dece.graphic'],\n ['uvvh', 'video/vnd.dece.hd'],\n ['uvvi', 'image/vnd.dece.graphic'],\n ['uvvm', 'video/vnd.dece.mobile'],\n ['uvvp', 'video/vnd.dece.pd'],\n ['uvvs', 'video/vnd.dece.sd'],\n ['uvvt', 'application/vnd.dece.ttml+xml'],\n ['uvvu', 'video/vnd.uvvu.mp4'],\n ['uvvv', 'video/vnd.dece.video'],\n ['uvvx', 'application/vnd.dece.unspecified'],\n ['uvvz', 'application/vnd.dece.zip'],\n ['uvx', 'application/vnd.dece.unspecified'],\n ['uvz', 'application/vnd.dece.zip'],\n ['vbox', 'application/x-virtualbox-vbox'],\n ['vbox-extpack', 'application/x-virtualbox-vbox-extpack'],\n ['vcard', 'text/vcard'],\n ['vcd', 'application/x-cdlink'],\n ['vcf', 'text/x-vcard'],\n ['vcg', 'application/vnd.groove-vcard'],\n ['vcs', 'text/x-vcalendar'],\n ['vcx', 'application/vnd.vcx'],\n ['vdi', 'application/x-virtualbox-vdi'],\n ['vds', 'model/vnd.sap.vds'],\n ['vhd', 'application/x-virtualbox-vhd'],\n ['vis', 'application/vnd.visionary'],\n ['viv', 'video/vnd.vivo'],\n ['vlc', 'application/videolan'],\n ['vmdk', 'application/x-virtualbox-vmdk'],\n ['vob', 'video/x-ms-vob'],\n ['vor', 'application/vnd.stardivision.writer'],\n ['vox', 'application/x-authorware-bin'],\n ['vrml', 'model/vrml'],\n ['vsd', 'application/vnd.visio'],\n ['vsf', 'application/vnd.vsf'],\n ['vss', 'application/vnd.visio'],\n ['vst', 'application/vnd.visio'],\n ['vsw', 'application/vnd.visio'],\n ['vtf', 'image/vnd.valve.source.texture'],\n ['vtt', 'text/vtt'],\n ['vtu', 'model/vnd.vtu'],\n ['vxml', 'application/voicexml+xml'],\n ['w3d', 'application/x-director'],\n ['wad', 'application/x-doom'],\n ['wadl', 'application/vnd.sun.wadl+xml'],\n ['war', 'application/java-archive'],\n ['wasm', 'application/wasm'],\n ['wav', 'audio/x-wav'],\n ['wax', 'audio/x-ms-wax'],\n ['wbmp', 'image/vnd.wap.wbmp'],\n ['wbs', 'application/vnd.criticaltools.wbs+xml'],\n ['wbxml', 'application/wbxml'],\n ['wcm', 'application/vnd.ms-works'],\n ['wdb', 'application/vnd.ms-works'],\n ['wdp', 'image/vnd.ms-photo'],\n ['weba', 'audio/webm'],\n ['webapp', 'application/x-web-app-manifest+json'],\n ['webm', 'video/webm'],\n ['webmanifest', 'application/manifest+json'],\n ['webp', 'image/webp'],\n ['wg', 'application/vnd.pmi.widget'],\n ['wgt', 'application/widget'],\n ['wks', 'application/vnd.ms-works'],\n ['wm', 'video/x-ms-wm'],\n ['wma', 'audio/x-ms-wma'],\n ['wmd', 'application/x-ms-wmd'],\n ['wmf', 'image/wmf'],\n ['wml', 'text/vnd.wap.wml'],\n ['wmlc', 'application/wmlc'],\n ['wmls', 'text/vnd.wap.wmlscript'],\n ['wmlsc', 'application/vnd.wap.wmlscriptc'],\n ['wmv', 'video/x-ms-wmv'],\n ['wmx', 'video/x-ms-wmx'],\n ['wmz', 'application/x-msmetafile'],\n ['woff', 'font/woff'],\n ['woff2', 'font/woff2'],\n ['word', 'application/msword'],\n ['wpd', 'application/vnd.wordperfect'],\n ['wpl', 'application/vnd.ms-wpl'],\n ['wps', 'application/vnd.ms-works'],\n ['wqd', 'application/vnd.wqd'],\n ['wri', 'application/x-mswrite'],\n ['wrl', 'model/vrml'],\n ['wsc', 'message/vnd.wfa.wsc'],\n ['wsdl', 'application/wsdl+xml'],\n ['wspolicy', 'application/wspolicy+xml'],\n ['wtb', 'application/vnd.webturbo'],\n ['wvx', 'video/x-ms-wvx'],\n ['x3d', 'model/x3d+xml'],\n ['x3db', 'model/x3d+fastinfoset'],\n ['x3dbz', 'model/x3d+binary'],\n ['x3dv', 'model/x3d-vrml'],\n ['x3dvz', 'model/x3d+vrml'],\n ['x3dz', 'model/x3d+xml'],\n ['x32', 'application/x-authorware-bin'],\n ['x_b', 'model/vnd.parasolid.transmit.binary'],\n ['x_t', 'model/vnd.parasolid.transmit.text'],\n ['xaml', 'application/xaml+xml'],\n ['xap', 'application/x-silverlight-app'],\n ['xar', 'application/vnd.xara'],\n ['xav', 'application/xcap-att+xml'],\n ['xbap', 'application/x-ms-xbap'],\n ['xbd', 'application/vnd.fujixerox.docuworks.binder'],\n ['xbm', 'image/x-xbitmap'],\n ['xca', 'application/xcap-caps+xml'],\n ['xcs', 'application/calendar+xml'],\n ['xdf', 'application/xcap-diff+xml'],\n ['xdm', 'application/vnd.syncml.dm+xml'],\n ['xdp', 'application/vnd.adobe.xdp+xml'],\n ['xdssc', 'application/dssc+xml'],\n ['xdw', 'application/vnd.fujixerox.docuworks'],\n ['xel', 'application/xcap-el+xml'],\n ['xenc', 'application/xenc+xml'],\n ['xer', 'application/patch-ops-error+xml'],\n ['xfdf', 'application/vnd.adobe.xfdf'],\n ['xfdl', 'application/vnd.xfdl'],\n ['xht', 'application/xhtml+xml'],\n ['xhtml', 'application/xhtml+xml'],\n ['xhvml', 'application/xv+xml'],\n ['xif', 'image/vnd.xiff'],\n ['xl', 'application/excel'],\n ['xla', 'application/vnd.ms-excel'],\n ['xlam', 'application/vnd.ms-excel.addin.macroEnabled.12'],\n ['xlc', 'application/vnd.ms-excel'],\n ['xlf', 'application/xliff+xml'],\n ['xlm', 'application/vnd.ms-excel'],\n ['xls', 'application/vnd.ms-excel'],\n ['xlsb', 'application/vnd.ms-excel.sheet.binary.macroEnabled.12'],\n ['xlsm', 'application/vnd.ms-excel.sheet.macroEnabled.12'],\n ['xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],\n ['xlt', 'application/vnd.ms-excel'],\n ['xltm', 'application/vnd.ms-excel.template.macroEnabled.12'],\n ['xltx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.template'],\n ['xlw', 'application/vnd.ms-excel'],\n ['xm', 'audio/xm'],\n ['xml', 'application/xml'],\n ['xns', 'application/xcap-ns+xml'],\n ['xo', 'application/vnd.olpc-sugar'],\n ['xop', 'application/xop+xml'],\n ['xpi', 'application/x-xpinstall'],\n ['xpl', 'application/xproc+xml'],\n ['xpm', 'image/x-xpixmap'],\n ['xpr', 'application/vnd.is-xpr'],\n ['xps', 'application/vnd.ms-xpsdocument'],\n ['xpw', 'application/vnd.intercon.formnet'],\n ['xpx', 'application/vnd.intercon.formnet'],\n ['xsd', 'application/xml'],\n ['xsl', 'application/xml'],\n ['xslt', 'application/xslt+xml'],\n ['xsm', 'application/vnd.syncml+xml'],\n ['xspf', 'application/xspf+xml'],\n ['xul', 'application/vnd.mozilla.xul+xml'],\n ['xvm', 'application/xv+xml'],\n ['xvml', 'application/xv+xml'],\n ['xwd', 'image/x-xwindowdump'],\n ['xyz', 'chemical/x-xyz'],\n ['xz', 'application/x-xz'],\n ['yaml', 'text/yaml'],\n ['yang', 'application/yang'],\n ['yin', 'application/yin+xml'],\n ['yml', 'text/yaml'],\n ['ymp', 'text/x-suse-ymp'],\n ['z', 'application/x-compress'],\n ['z1', 'application/x-zmachine'],\n ['z2', 'application/x-zmachine'],\n ['z3', 'application/x-zmachine'],\n ['z4', 'application/x-zmachine'],\n ['z5', 'application/x-zmachine'],\n ['z6', 'application/x-zmachine'],\n ['z7', 'application/x-zmachine'],\n ['z8', 'application/x-zmachine'],\n ['zaz', 'application/vnd.zzazz.deck+xml'],\n ['zip', 'application/zip'],\n ['zir', 'application/vnd.zul'],\n ['zirz', 'application/vnd.zul'],\n ['zmm', 'application/vnd.handheld-entertainment+xml'],\n ['zsh', 'text/x-scriptzsh']\n]);\n\n\nexport function toFileWithPath(file: FileWithPath, path?: string, h?: FileSystemHandle): FileWithPath {\n const f = withMimeType(file);\n const {webkitRelativePath} = file;\n const p = typeof path === 'string'\n ? path\n // If is set,\n // the File will have a {webkitRelativePath} property\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory\n : typeof webkitRelativePath === 'string' && webkitRelativePath.length > 0\n ? webkitRelativePath\n : `./${file.name}`;\n if (typeof f.path !== 'string') { // on electron, path is already set to the absolute path\n setObjProp(f, 'path', p);\n }\n if (h !== undefined) {\n Object.defineProperty(f, 'handle', {\n value: h,\n writable: false,\n configurable: false,\n enumerable: true\n });\n }\n // Always populate a relative path so that even electron apps have access to a relativePath value\n setObjProp(f, 'relativePath', p);\n return f;\n}\n\nexport interface FileWithPath extends File {\n readonly path?: string;\n readonly handle?: FileSystemFileHandle;\n readonly relativePath?: string;\n}\n\nfunction withMimeType(file: FileWithPath) {\n const {name} = file;\n const hasExtension = name && name.lastIndexOf('.') !== -1;\n\n if (hasExtension && !file.type) {\n const ext = name.split('.')\n .pop()!.toLowerCase();\n const type = COMMON_MIME_TYPES.get(ext);\n if (type) {\n Object.defineProperty(file, 'type', {\n value: type,\n writable: false,\n configurable: false,\n enumerable: true\n });\n }\n }\n\n return file;\n}\n\nfunction setObjProp(f: FileWithPath, key: string, value: string) {\n Object.defineProperty(f, key, {\n value,\n writable: false,\n configurable: false,\n enumerable: true\n })\n}\n", "import {FileWithPath, toFileWithPath} from './file';\n\n\nconst FILES_TO_IGNORE = [\n // Thumbnail cache files for macOS and Windows\n '.DS_Store', // macOs\n 'Thumbs.db' // Windows\n];\n\n\n/**\n * Convert a DragEvent's DataTrasfer object to a list of File objects\n * NOTE: If some of the items are folders,\n * everything will be flattened and placed in the same list but the paths will be kept as a {path} property.\n *\n * EXPERIMENTAL: A list of https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle objects can also be passed as an arg\n * and a list of File objects will be returned.\n *\n * @param evt\n */\nexport async function fromEvent(evt: Event | any): Promise<(FileWithPath | DataTransferItem)[]> {\n if (isObject(evt) && isDataTransfer(evt.dataTransfer)) {\n return getDataTransferFiles(evt.dataTransfer, evt.type);\n } else if (isChangeEvt(evt)) {\n return getInputFiles(evt);\n } else if (Array.isArray(evt) && evt.every(item => 'getFile' in item && typeof item.getFile === 'function')) {\n return getFsHandleFiles(evt)\n }\n return [];\n}\n\nfunction isDataTransfer(value: any): value is DataTransfer {\n return isObject(value);\n}\n\nfunction isChangeEvt(value: any): value is Event {\n return isObject(value) && isObject(value.target);\n}\n\nfunction isObject(v: any): v is T {\n return typeof v === 'object' && v !== null\n}\n\nfunction getInputFiles(evt: Event) {\n return fromList((evt.target as HTMLInputElement).files).map(file => toFileWithPath(file));\n}\n\n// Ee expect each handle to be https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileHandle\nasync function getFsHandleFiles(handles: any[]) {\n const files = await Promise.all(handles.map(h => h.getFile()));\n return files.map(file => toFileWithPath(file));\n}\n\n\nasync function getDataTransferFiles(dt: DataTransfer, type: string) {\n // IE11 does not support dataTransfer.items\n // See https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/items#Browser_compatibility\n if (dt.items) {\n const items = fromList(dt.items)\n .filter(item => item.kind === 'file');\n // According to https://html.spec.whatwg.org/multipage/dnd.html#dndevents,\n // only 'dragstart' and 'drop' has access to the data (source node)\n if (type !== 'drop') {\n return items;\n }\n const files = await Promise.all(items.map(toFilePromises));\n return noIgnoredFiles(flatten(files));\n }\n\n return noIgnoredFiles(fromList(dt.files)\n .map(file => toFileWithPath(file)));\n}\n\nfunction noIgnoredFiles(files: FileWithPath[]) {\n return files.filter(file => FILES_TO_IGNORE.indexOf(file.name) === -1);\n}\n\n// IE11 does not support Array.from()\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Browser_compatibility\n// https://developer.mozilla.org/en-US/docs/Web/API/FileList\n// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList\nfunction fromList(items: DataTransferItemList | FileList | null): T[] {\n if (items === null) {\n return [];\n }\n\n const files = [];\n\n // tslint:disable: prefer-for-of\n for (let i = 0; i < items.length; i++) {\n const file = items[i];\n files.push(file);\n }\n\n return files as any;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem\nfunction toFilePromises(item: DataTransferItem) {\n if (typeof item.webkitGetAsEntry !== 'function') {\n return fromDataTransferItem(item);\n }\n\n const entry = item.webkitGetAsEntry();\n\n // Safari supports dropping an image node from a different window and can be retrieved using\n // the DataTransferItem.getAsFile() API\n // NOTE: FileSystemEntry.file() throws if trying to get the file\n if (entry && entry.isDirectory) {\n return fromDirEntry(entry) as any;\n }\n\n return fromDataTransferItem(item, entry);\n}\n\nfunction flatten(items: any[]): T[] {\n return items.reduce((acc, files) => [\n ...acc,\n ...(Array.isArray(files) ? flatten(files) : [files])\n ], []);\n}\n\nasync function fromDataTransferItem(item: DataTransferItem, entry?: FileSystemEntry | null) {\n // Check if we're in a secure context; due to a bug in Chrome (as far as we know)\n // the browser crashes when calling this API (yet to be confirmed as a consistent behaviour).\n //\n // See:\n // - https://issues.chromium.org/issues/40186242\n // - https://github.com/react-dropzone/react-dropzone/issues/1397\n if (globalThis.isSecureContext && typeof (item as any).getAsFileSystemHandle === 'function') {\n const h = await (item as any).getAsFileSystemHandle();\n if (h === null) {\n throw new Error(`${item} is not a File`);\n }\n // It seems that the handle can be `undefined` (see https://github.com/react-dropzone/file-selector/issues/120),\n // so we check if it isn't; if it is, the code path continues to the next API (`getAsFile`).\n if (h !== undefined) {\n const file = await h.getFile();\n file.handle = h;\n return toFileWithPath(file);\n }\n }\n const file = item.getAsFile();\n if (!file) {\n throw new Error(`${item} is not a File`);\n }\n const fwp = toFileWithPath(file, entry?.fullPath ?? undefined);\n return fwp;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemEntry\nasync function fromEntry(entry: any) {\n return entry.isDirectory ? fromDirEntry(entry) : fromFileEntry(entry);\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry\nfunction fromDirEntry(entry: any) {\n const reader = entry.createReader();\n\n return new Promise((resolve, reject) => {\n const entries: Promise[] = [];\n\n function readEntries() {\n // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry/createReader\n // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryReader/readEntries\n reader.readEntries(async (batch: any[]) => {\n if (!batch.length) {\n // Done reading directory\n try {\n const files = await Promise.all(entries);\n resolve(files);\n } catch (err) {\n reject(err);\n }\n } else {\n const items = Promise.all(batch.map(fromEntry));\n entries.push(items);\n\n // Continue reading\n readEntries();\n }\n }, (err: any) => {\n reject(err);\n });\n }\n\n readEntries();\n });\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileEntry\nasync function fromFileEntry(entry: any) {\n return new Promise((resolve, reject) => {\n entry.file((file: FileWithPath) => {\n const fwp = toFileWithPath(file, entry.fullPath);\n resolve(fwp);\n }, (err: any) => {\n reject(err);\n });\n });\n}\n\n// Infinite type recursion\n// https://github.com/Microsoft/TypeScript/issues/3496#issuecomment-128553540\ninterface FileArray extends Array {}\ntype FileValue = FileWithPath\n | FileArray[];\n", "function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport _accepts from \"attr-accept\";\nvar accepts = typeof _accepts === \"function\" ? _accepts : _accepts.default; // Error codes\n\nexport var FILE_INVALID_TYPE = \"file-invalid-type\";\nexport var FILE_TOO_LARGE = \"file-too-large\";\nexport var FILE_TOO_SMALL = \"file-too-small\";\nexport var TOO_MANY_FILES = \"too-many-files\";\nexport var ErrorCode = {\n FileInvalidType: FILE_INVALID_TYPE,\n FileTooLarge: FILE_TOO_LARGE,\n FileTooSmall: FILE_TOO_SMALL,\n TooManyFiles: TOO_MANY_FILES\n};\n/**\n *\n * @param {string} accept\n */\n\nexport var getInvalidTypeRejectionErr = function getInvalidTypeRejectionErr() {\n var accept = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var acceptArr = accept.split(\",\");\n var msg = acceptArr.length > 1 ? \"one of \".concat(acceptArr.join(\", \")) : acceptArr[0];\n return {\n code: FILE_INVALID_TYPE,\n message: \"File type must be \".concat(msg)\n };\n};\nexport var getTooLargeRejectionErr = function getTooLargeRejectionErr(maxSize) {\n return {\n code: FILE_TOO_LARGE,\n message: \"File is larger than \".concat(maxSize, \" \").concat(maxSize === 1 ? \"byte\" : \"bytes\")\n };\n};\nexport var getTooSmallRejectionErr = function getTooSmallRejectionErr(minSize) {\n return {\n code: FILE_TOO_SMALL,\n message: \"File is smaller than \".concat(minSize, \" \").concat(minSize === 1 ? \"byte\" : \"bytes\")\n };\n};\nexport var TOO_MANY_FILES_REJECTION = {\n code: TOO_MANY_FILES,\n message: \"Too many files\"\n};\n/**\n * Check if file is accepted.\n *\n * Firefox versions prior to 53 return a bogus MIME type for every file drag,\n * so dragovers with that MIME type will always be accepted.\n *\n * @param {File} file\n * @param {string} accept\n * @returns\n */\n\nexport function fileAccepted(file, accept) {\n var isAcceptable = file.type === \"application/x-moz-file\" || accepts(file, accept);\n return [isAcceptable, isAcceptable ? null : getInvalidTypeRejectionErr(accept)];\n}\nexport function fileMatchSize(file, minSize, maxSize) {\n if (isDefined(file.size)) {\n if (isDefined(minSize) && isDefined(maxSize)) {\n if (file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];\n if (file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];\n } else if (isDefined(minSize) && file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];else if (isDefined(maxSize) && file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];\n }\n\n return [true, null];\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\n/**\n *\n * @param {object} options\n * @param {File[]} options.files\n * @param {string} [options.accept]\n * @param {number} [options.minSize]\n * @param {number} [options.maxSize]\n * @param {boolean} [options.multiple]\n * @param {number} [options.maxFiles]\n * @param {(f: File) => FileError|FileError[]|null} [options.validator]\n * @returns\n */\n\n\nexport function allFilesAccepted(_ref) {\n var files = _ref.files,\n accept = _ref.accept,\n minSize = _ref.minSize,\n maxSize = _ref.maxSize,\n multiple = _ref.multiple,\n maxFiles = _ref.maxFiles,\n validator = _ref.validator;\n\n if (!multiple && files.length > 1 || multiple && maxFiles >= 1 && files.length > maxFiles) {\n return false;\n }\n\n return files.every(function (file) {\n var _fileAccepted = fileAccepted(file, accept),\n _fileAccepted2 = _slicedToArray(_fileAccepted, 1),\n accepted = _fileAccepted2[0];\n\n var _fileMatchSize = fileMatchSize(file, minSize, maxSize),\n _fileMatchSize2 = _slicedToArray(_fileMatchSize, 1),\n sizeMatch = _fileMatchSize2[0];\n\n var customErrors = validator ? validator(file) : null;\n return accepted && sizeMatch && !customErrors;\n });\n} // React's synthetic events has event.isPropagationStopped,\n// but to remain compatibility with other libs (Preact) fall back\n// to check event.cancelBubble\n\nexport function isPropagationStopped(event) {\n if (typeof event.isPropagationStopped === \"function\") {\n return event.isPropagationStopped();\n } else if (typeof event.cancelBubble !== \"undefined\") {\n return event.cancelBubble;\n }\n\n return false;\n}\nexport function isEvtWithFiles(event) {\n if (!event.dataTransfer) {\n return !!event.target && !!event.target.files;\n } // https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/types\n // https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Recommended_drag_types#file\n\n\n return Array.prototype.some.call(event.dataTransfer.types, function (type) {\n return type === \"Files\" || type === \"application/x-moz-file\";\n });\n}\nexport function isKindFile(item) {\n return _typeof(item) === \"object\" && item !== null && item.kind === \"file\";\n} // allow the entire document to be a drag target\n\nexport function onDocumentDragOver(event) {\n event.preventDefault();\n}\n\nfunction isIe(userAgent) {\n return userAgent.indexOf(\"MSIE\") !== -1 || userAgent.indexOf(\"Trident/\") !== -1;\n}\n\nfunction isEdge(userAgent) {\n return userAgent.indexOf(\"Edge/\") !== -1;\n}\n\nexport function isIeOrEdge() {\n var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.navigator.userAgent;\n return isIe(userAgent) || isEdge(userAgent);\n}\n/**\n * This is intended to be used to compose event handlers\n * They are executed in order until one of them calls `event.isPropagationStopped()`.\n * Note that the check is done on the first invoke too,\n * meaning that if propagation was stopped before invoking the fns,\n * no handlers will be executed.\n *\n * @param {Function} fns the event hanlder functions\n * @return {Function} the event handler to add to an element\n */\n\nexport function composeEventHandlers() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return fns.some(function (fn) {\n if (!isPropagationStopped(event) && fn) {\n fn.apply(void 0, [event].concat(args));\n }\n\n return isPropagationStopped(event);\n });\n };\n}\n/**\n * canUseFileSystemAccessAPI checks if the [File System Access API](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API)\n * is supported by the browser.\n * @returns {boolean}\n */\n\nexport function canUseFileSystemAccessAPI() {\n return \"showOpenFilePicker\" in window;\n}\n/**\n * Convert the `{accept}` dropzone prop to the\n * `{types}` option for https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker\n *\n * @param {AcceptProp} accept\n * @returns {{accept: string[]}[]}\n */\n\nexport function pickerOptionsFromAccept(accept) {\n if (isDefined(accept)) {\n var acceptForPicker = Object.entries(accept).filter(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n mimeType = _ref3[0],\n ext = _ref3[1];\n\n var ok = true;\n\n if (!isMIMEType(mimeType)) {\n console.warn(\"Skipped \\\"\".concat(mimeType, \"\\\" because it is not a valid MIME type. Check https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types for a list of valid MIME types.\"));\n ok = false;\n }\n\n if (!Array.isArray(ext) || !ext.every(isExt)) {\n console.warn(\"Skipped \\\"\".concat(mimeType, \"\\\" because an invalid file extension was provided.\"));\n ok = false;\n }\n\n return ok;\n }).reduce(function (agg, _ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n mimeType = _ref5[0],\n ext = _ref5[1];\n\n return _objectSpread(_objectSpread({}, agg), {}, _defineProperty({}, mimeType, ext));\n }, {});\n return [{\n // description is required due to https://crbug.com/1264708\n description: \"Files\",\n accept: acceptForPicker\n }];\n }\n\n return accept;\n}\n/**\n * Convert the `{accept}` dropzone prop to an array of MIME types/extensions.\n * @param {AcceptProp} accept\n * @returns {string}\n */\n\nexport function acceptPropAsAcceptAttr(accept) {\n if (isDefined(accept)) {\n return Object.entries(accept).reduce(function (a, _ref6) {\n var _ref7 = _slicedToArray(_ref6, 2),\n mimeType = _ref7[0],\n ext = _ref7[1];\n\n return [].concat(_toConsumableArray(a), [mimeType], _toConsumableArray(ext));\n }, []) // Silently discard invalid entries as pickerOptionsFromAccept warns about these\n .filter(function (v) {\n return isMIMEType(v) || isExt(v);\n }).join(\",\");\n }\n\n return undefined;\n}\n/**\n * Check if v is an exception caused by aborting a request (e.g window.showOpenFilePicker()).\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.\n * @param {any} v\n * @returns {boolean} True if v is an abort exception.\n */\n\nexport function isAbort(v) {\n return v instanceof DOMException && (v.name === \"AbortError\" || v.code === v.ABORT_ERR);\n}\n/**\n * Check if v is a security error.\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.\n * @param {any} v\n * @returns {boolean} True if v is a security error.\n */\n\nexport function isSecurityError(v) {\n return v instanceof DOMException && (v.name === \"SecurityError\" || v.code === v.SECURITY_ERR);\n}\n/**\n * Check if v is a MIME type string.\n *\n * See accepted format: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers.\n *\n * @param {string} v\n */\n\nexport function isMIMEType(v) {\n return v === \"audio/*\" || v === \"video/*\" || v === \"image/*\" || v === \"text/*\" || v === \"application/*\" || /\\w+\\/[-+.\\w]+/g.test(v);\n}\n/**\n * Check if v is a file extension.\n * @param {string} v\n */\n\nexport function isExt(v) {\n return /^.*\\.[\\w]+$/.test(v);\n}\n/**\n * @typedef {Object.} AcceptProp\n */\n\n/**\n * @typedef {object} FileError\n * @property {string} message\n * @property {ErrorCode|string} code\n */\n\n/**\n * @typedef {\"file-invalid-type\"|\"file-too-large\"|\"file-too-small\"|\"too-many-files\"} ErrorCode\n */", "import React, { type JSX } from 'react';\n\nimport { Button, TextField, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle } from '@mui/material';\n\nimport { Close as IconClose, Check as IconCheck } from '@mui/icons-material';\n\nimport { I18n } from '../i18n';\nimport { withWidth } from '../Components/withWidth';\n\ninterface TextInputProps {\n /** The dialog close callback */\n onClose: (text: string | null) => void;\n /** The title text */\n titleText: string;\n /** Prompt text (default: empty) */\n promptText?: string;\n /** Label text (default: empty) */\n labelText?: string;\n /** The text of the cancel button */\n cancelText: string;\n /** The text of the \"apply\" button */\n applyText: string;\n /** The verification callback. Return a non-empty string if there was an error */\n verify?: (text: string) => string;\n /** The text replacement callback */\n rule?: (text: string) => string;\n /** The type of the textbox (default: text) */\n type?: 'text' | 'number' | 'password' | 'email';\n /** The initial input value when opening the dialog */\n value?: string;\n /** @deprecated Use value. The input when opening the dialog */\n input?: string;\n /** If true, the dialog will be full width */\n fullWidth?: boolean;\n}\n\nfunction TextInputFunc(props: TextInputProps): JSX.Element {\n const [text, setText] = React.useState(props.input || props.value || '');\n const [error, setError] = React.useState('');\n return (\n props.onClose(null)}\n aria-labelledby=\"form-dialog-title\"\n fullWidth={props.fullWidth !== undefined ? props.fullWidth : false}\n >\n {props.titleText}\n \n {props.promptText}\n e.code === 'Enter' && text && props.onClose(text)}\n onChange={e => {\n let _error: string | boolean = '';\n if (props.verify) {\n _error = !props.verify(e.target.value);\n }\n\n if (props.rule) {\n setText(props.rule(e.target.value));\n } else {\n setText(e.target.value);\n }\n setError(_error);\n }}\n fullWidth\n />\n \n \n props.onClose(text)}\n color=\"primary\"\n startIcon={}\n >\n {props.applyText || I18n.t('ra_Ok')}\n \n props.onClose(null)}\n startIcon={}\n >\n {props.cancelText || I18n.t('ra_Cancel')}\n \n \n \n );\n}\n\nexport const DialogTextInput = withWidth()(TextInputFunc);\n", "import React, { type JSXElementConstructor, type JSX } from 'react';\nimport { useTheme } from '@mui/material/styles';\nimport { type Breakpoint, useMediaQuery } from '@mui/material';\n\nfunction useWidth(): Breakpoint {\n const theme = useTheme();\n const keys = [...theme.breakpoints.keys].reverse();\n return (\n keys.reduce((output: Breakpoint | null, key: Breakpoint) => {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const matches = useMediaQuery(theme.breakpoints.up(key));\n return !output && matches ? key : output;\n }, null) || 'xs'\n );\n}\n\n// FIXME checkout https://mui.com/components/use-media-query/#migrating-from-withwidth\nexport function withWidth() {\n return (WrappedComponent: JSXElementConstructor) => {\n return function AnyComponent(props: Record): JSX.Element {\n const width = useWidth();\n return (\n \n );\n };\n };\n}\n", "import React from 'react';\n\nimport { type IconProps } from './IconProps';\n\nexport const IconExpert = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 486 486\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n xmlns=\"http://www.w3.org/2000/svg\"\n className={props.className}\n style={props.style}\n >\n \n \n \n);\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\n// Icon copied from https://github.com/FortAwesome/Font-Awesome/blob/0d1f27efb836eb2ab994ba37221849ed64a73e5c/svgs/regular/\nexport const IconClosed = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 650 512\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n);\n", "import React, { type JSX } from 'react';\nimport { type IconProps } from './IconProps';\n\n// Icon copied from https://github.com/FortAwesome/Font-Awesome/blob/0d1f27efb836eb2ab994ba37221849ed64a73e5c/svgs/regular/\nexport const IconOpen = (props: IconProps): JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 650 512\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n);\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\nexport const IconNoIcon = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 512 512\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n);\n", "import React, { type ReactEventHandler } from 'react';\nimport SVG from 'react-inlinesvg';\n\nimport { Box } from '@mui/material';\n\nimport {\n SettingsApplications as IconSystem,\n Photo as IconPhoto,\n SupervisedUserCircle as IconGroup,\n PersonOutlined as IconUser,\n Router as IconHost,\n Wifi as IconConnection,\n Info as IconInfo,\n Description as IconMeta,\n} from '@mui/icons-material';\n\nimport { IconAlias } from '../icons/IconAlias';\nimport { Utils } from './Utils';\n\n/**\n * Get icon by object type (state, channel, device, ...).\n *\n * @param obj Object\n */\nexport function getSystemIcon(obj: ioBroker.Object | null): React.JSX.Element | null {\n let icon;\n const id = obj?._id;\n\n if (!id) {\n return null;\n }\n\n // system or design has special icons\n if (id.startsWith('_design/') || id === 'system') {\n icon = ;\n } else if (id === '0_userdata' || id === '0_userdata.0') {\n icon = ;\n } else if (id === 'alias' || id === 'alias.0') {\n icon = ;\n } else if (id === 'system.adapter') {\n icon = ;\n } else if (id === 'system.group') {\n icon = ;\n } else if (id === 'system.user') {\n icon = ;\n } else if (id === 'system.host') {\n icon = ;\n } else if (id.endsWith('.connection') || id.endsWith('.connected')) {\n icon = ;\n } else if (id.endsWith('.info')) {\n icon = ;\n } else if (obj?.type === 'meta') {\n icon = ;\n }\n\n return icon || null;\n}\n\n/**\n * Get icon from the object.\n *\n * @param obj Object\n * @param imagePrefix Prefix for image\n */\nexport function getSelectIdIcon(obj: ioBroker.Object | null, imagePrefix?: string): string | null {\n imagePrefix = imagePrefix || '.'; // http://localhost:8081';\n let src = '';\n const common = obj?.common;\n\n if (common) {\n const cIcon = common.icon;\n if (cIcon) {\n if (!cIcon.startsWith('data:image/')) {\n if (cIcon.includes('.')) {\n let instance;\n if (obj.type === 'instance' || obj.type === 'adapter') {\n src = `${imagePrefix}/adapter/${common.name as string}/${cIcon}`;\n } else if (obj._id && obj._id.startsWith('system.adapter.')) {\n instance = obj._id.split('.', 3);\n if (cIcon[0] === '/') {\n instance[2] += cIcon;\n } else {\n instance[2] += `/${cIcon}`;\n }\n src = `${imagePrefix}/adapter/${instance[2]}`;\n } else {\n instance = obj._id.split('.', 2);\n if (cIcon[0] === '/') {\n instance[0] += cIcon;\n } else {\n instance[0] += `/${cIcon}`;\n }\n src = `${imagePrefix}/adapter/${instance[0]}`;\n }\n } else {\n return null;\n }\n } else {\n // base 64 image\n src = cIcon;\n }\n }\n }\n\n return src || null;\n}\n\nexport interface IconProps {\n /** URL, UTF-8 character, or svg code (data:image/svg...) */\n src: string | React.JSX.Element | null | undefined;\n /** Class name */\n className?: string;\n /** Style for image */\n style?: React.CSSProperties;\n /** Styles for mui */\n sx?: Record;\n /** Tooltip */\n title?: string;\n /** Styles for utf-8 characters */\n styleUTF8?: React.CSSProperties;\n /** On error handler */\n onError?: ReactEventHandler;\n /** Reference to image */\n ref?: React.RefObject;\n /** Alternative text for image */\n alt?: string;\n}\n\nconst REMOTE_SERVER = window.location.hostname.endsWith('iobroker.in');\nconst REMOTE_PREFIX = window.location.pathname.substring(0, window.location.pathname.lastIndexOf('/') + 1);\n\nexport function Icon(props: IconProps): React.JSX.Element | null {\n if (props.src) {\n if (typeof props.src === 'string') {\n if (props.src.length < 3) {\n // utf-8 char\n if (props.sx) {\n return (\n \n {props.src}\n
\n );\n }\n return (\n \n {props.src}\n \n );\n }\n if (props.src.startsWith('data:image/svg')) {\n return (\n \n );\n }\n if (REMOTE_SERVER && !props.src.startsWith('http://') && !props.src.startsWith('https://')) {\n let src = props.src;\n if (src.startsWith('./')) {\n src = REMOTE_PREFIX + src.substring(2);\n } else if (!src.startsWith('/')) {\n src = REMOTE_PREFIX + src;\n }\n\n if (props.sx) {\n return (\n props.onError && props.onError(e)}\n />\n );\n }\n return (\n props.onError && props.onError(e)}\n />\n );\n }\n if (props.sx) {\n return (\n \n );\n }\n return (\n \n );\n }\n\n return props.src;\n }\n return null;\n}\n", "import React, {\n cloneElement,\n isValidElement,\n ReactElement,\n useCallback,\n useEffect,\n useReducer,\n useRef,\n useState,\n} from 'react';\nimport convert from 'react-from-dom';\n\nimport { STATUS } from './config';\nimport CacheStore from './modules/cache';\nimport { canUseDOM, isSupportedEnvironment, omit, randomString, request } from './modules/helpers';\nimport { usePrevious } from './modules/hooks';\nimport { getNode } from './modules/utils';\nimport { FetchError, Props, State, Status } from './types';\n\n// eslint-disable-next-line import/no-mutable-exports\nexport let cacheStore: CacheStore;\n\nfunction ReactInlineSVG(props: Props) {\n const {\n cacheRequests = true,\n children = null,\n description,\n fetchOptions,\n innerRef,\n loader = null,\n onError,\n onLoad,\n src,\n title,\n uniqueHash,\n } = props;\n const [state, setState] = useReducer(\n (previousState: State, nextState: Partial) => ({\n ...previousState,\n ...nextState,\n }),\n {\n content: '',\n element: null,\n\n isCached: cacheRequests && cacheStore.isCached(props.src),\n status: STATUS.IDLE,\n },\n );\n const { content, element, isCached, status } = state;\n const previousProps = usePrevious(props);\n const previousState = usePrevious(state);\n\n const hash = useRef(uniqueHash ?? randomString(8));\n const isActive = useRef(false);\n const isInitialized = useRef(false);\n\n const handleError = useCallback(\n (error: Error | FetchError) => {\n if (isActive.current) {\n setState({\n status:\n error.message === 'Browser does not support SVG' ? STATUS.UNSUPPORTED : STATUS.FAILED,\n });\n\n onError?.(error);\n }\n },\n [onError],\n );\n\n const handleLoad = useCallback((loadedContent: string, hasCache = false) => {\n if (isActive.current) {\n setState({\n content: loadedContent,\n isCached: hasCache,\n status: STATUS.LOADED,\n });\n }\n }, []);\n\n const fetchContent = useCallback(async () => {\n const responseContent: string = await request(src, fetchOptions);\n\n handleLoad(responseContent);\n }, [fetchOptions, handleLoad, src]);\n\n const getElement = useCallback(() => {\n try {\n const node = getNode({ ...props, handleError, hash: hash.current, content }) as Node;\n const convertedElement = convert(node);\n\n if (!convertedElement || !isValidElement(convertedElement)) {\n throw new Error('Could not convert the src to a React element');\n }\n\n setState({\n element: convertedElement,\n status: STATUS.READY,\n });\n } catch (error: any) {\n handleError(new Error(error.message));\n }\n }, [content, handleError, props]);\n\n const getContent = useCallback(async () => {\n const dataURI = /^data:image\\/svg[^,]*?(;base64)?,(.*)/u.exec(src);\n let inlineSrc;\n\n if (dataURI) {\n inlineSrc = dataURI[1] ? window.atob(dataURI[2]) : decodeURIComponent(dataURI[2]);\n } else if (src.includes(' {\n if (isActive.current) {\n setState({\n content: '',\n element: null,\n isCached: false,\n status: STATUS.LOADING,\n });\n }\n }, []);\n\n // Run on mount\n useEffect(\n () => {\n isActive.current = true;\n\n if (!canUseDOM() || isInitialized.current) {\n return () => undefined;\n }\n\n try {\n if (status === STATUS.IDLE) {\n if (!isSupportedEnvironment()) {\n throw new Error('Browser does not support SVG');\n }\n\n if (!src) {\n throw new Error('Missing src');\n }\n\n load();\n }\n } catch (error: any) {\n handleError(error);\n }\n\n isInitialized.current = true;\n\n return () => {\n isActive.current = false;\n };\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n // Handle prop changes\n useEffect(() => {\n if (!canUseDOM()) {\n return;\n }\n\n if (!previousProps) {\n return;\n }\n\n if (previousProps.src !== src) {\n if (!src) {\n handleError(new Error('Missing src'));\n\n return;\n }\n\n load();\n } else if (previousProps.title !== title || previousProps.description !== description) {\n getElement();\n }\n }, [description, getElement, handleError, load, previousProps, src, title]);\n\n // handle state\n useEffect(() => {\n if (!previousState) {\n return;\n }\n\n if (previousState.status !== STATUS.LOADING && status === STATUS.LOADING) {\n getContent();\n }\n\n if (previousState.status !== STATUS.LOADED && status === STATUS.LOADED) {\n getElement();\n }\n\n if (previousState.status !== STATUS.READY && status === STATUS.READY) {\n onLoad?.(src, isCached);\n }\n }, [getContent, getElement, isCached, onLoad, previousState, src, status]);\n\n const elementProps = omit(\n props,\n 'baseURL',\n 'cacheRequests',\n 'children',\n 'description',\n 'fetchOptions',\n 'innerRef',\n 'loader',\n 'onError',\n 'onLoad',\n 'preProcessor',\n 'src',\n 'title',\n 'uniqueHash',\n 'uniquifyIDs',\n );\n\n if (!canUseDOM()) {\n return loader;\n }\n\n if (element) {\n return cloneElement(element as ReactElement, { ref: innerRef, ...elementProps });\n }\n\n if (([STATUS.UNSUPPORTED, STATUS.FAILED] as Status[]).includes(status)) {\n return children;\n }\n\n return loader;\n}\n\nexport default function InlineSVG(props: Props) {\n if (!cacheStore) {\n cacheStore = new CacheStore();\n }\n\n const { loader } = props;\n const hasCallback = useRef(false);\n const [isReady, setReady] = useState(cacheStore.isReady);\n\n useEffect(() => {\n if (!hasCallback.current) {\n cacheStore.onReady(() => {\n setReady(true);\n });\n\n hasCallback.current = true;\n }\n }, []);\n\n if (!isReady) {\n return loader;\n }\n\n return ;\n}\n\nexport * from './types';\n", "export const CACHE_NAME = 'react-inlinesvg';\nexport const CACHE_MAX_RETRIES = 10;\n\nexport const STATUS = {\n IDLE: 'idle',\n LOADING: 'loading',\n LOADED: 'loaded',\n FAILED: 'failed',\n READY: 'ready',\n UNSUPPORTED: 'unsupported',\n} as const;\n", "import type { PlainObject } from '../types';\n\nexport function canUseDOM(): boolean {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}\n\nexport function isSupportedEnvironment(): boolean {\n return supportsInlineSVG() && typeof window !== 'undefined' && window !== null;\n}\n\nexport async function request(url: string, options?: RequestInit) {\n const response = await fetch(url, options);\n const contentType = response.headers.get('content-type');\n const [fileType] = (contentType ?? '').split(/ ?; ?/);\n\n if (response.status > 299) {\n throw new Error('Not found');\n }\n\n if (!['image/svg+xml', 'text/plain'].some(d => fileType.includes(d))) {\n throw new Error(`Content type isn't valid: ${fileType}`);\n }\n\n return response.text();\n}\n\nexport function sleep(seconds = 1) {\n return new Promise(resolve => {\n setTimeout(resolve, seconds * 1000);\n });\n}\n\nexport function supportsInlineSVG(): boolean {\n /* c8 ignore next 3 */\n if (!document) {\n return false;\n }\n\n const div = document.createElement('div');\n\n div.innerHTML = '';\n const svg = div.firstChild as SVGSVGElement;\n\n return !!svg && svg.namespaceURI === 'http://www.w3.org/2000/svg';\n}\n\nfunction randomCharacter(character: string) {\n return character[Math.floor(Math.random() * character.length)];\n}\n\nexport function randomString(length: number): string {\n const letters = 'abcdefghijklmnopqrstuvwxyz';\n const numbers = '1234567890';\n const charset = `${letters}${letters.toUpperCase()}${numbers}`;\n\n let R = '';\n\n for (let index = 0; index < length; index++) {\n R += randomCharacter(charset);\n }\n\n return R;\n}\n\n/**\n * Remove properties from an object\n */\nexport function omit(\n input: T,\n ...filter: K[]\n): Omit {\n const output: any = {};\n\n for (const key in input) {\n if ({}.hasOwnProperty.call(input, key)) {\n if (!filter.includes(key as unknown as K)) {\n output[key] = input[key];\n }\n }\n }\n\n return output as Omit;\n}\n", "import { canUseDOM, request, sleep } from './helpers';\n\nimport { CACHE_MAX_RETRIES, CACHE_NAME, STATUS } from '../config';\nimport { StorageItem } from '../types';\n\nexport default class CacheStore {\n private cacheApi: Cache | undefined;\n private readonly cacheStore: Map;\n private readonly subscribers: Array<() => void> = [];\n public isReady = false;\n\n constructor() {\n this.cacheStore = new Map();\n\n let cacheName = CACHE_NAME;\n let usePersistentCache = false;\n\n if (canUseDOM()) {\n cacheName = window.REACT_INLINESVG_CACHE_NAME ?? CACHE_NAME;\n usePersistentCache = !!window.REACT_INLINESVG_PERSISTENT_CACHE && 'caches' in window;\n }\n\n if (usePersistentCache) {\n caches\n .open(cacheName)\n .then(cache => {\n this.cacheApi = cache;\n })\n .catch(error => {\n // eslint-disable-next-line no-console\n console.error(`Failed to open cache: ${error.message}`);\n })\n .finally(() => {\n this.isReady = true;\n this.subscribers.forEach(callback => callback());\n });\n } else {\n this.isReady = true;\n }\n }\n\n public onReady(callback: () => void) {\n if (this.isReady) {\n callback();\n } else {\n this.subscribers.push(callback);\n }\n }\n\n public async get(url: string, fetchOptions?: RequestInit) {\n await (this.cacheApi\n ? this.fetchAndAddToPersistentCache(url, fetchOptions)\n : this.fetchAndAddToInternalCache(url, fetchOptions));\n\n return this.cacheStore.get(url)?.content ?? '';\n }\n\n public set(url: string, data: StorageItem) {\n this.cacheStore.set(url, data);\n }\n\n public isCached(url: string) {\n return this.cacheStore.get(url)?.status === STATUS.LOADED;\n }\n\n private async fetchAndAddToInternalCache(url: string, fetchOptions?: RequestInit) {\n const cache = this.cacheStore.get(url);\n\n if (cache?.status === STATUS.LOADING) {\n await this.handleLoading(url, async () => {\n this.cacheStore.set(url, { content: '', status: STATUS.IDLE });\n await this.fetchAndAddToInternalCache(url, fetchOptions);\n });\n\n return;\n }\n\n if (!cache?.content) {\n this.cacheStore.set(url, { content: '', status: STATUS.LOADING });\n\n try {\n const content = await request(url, fetchOptions);\n\n this.cacheStore.set(url, { content, status: STATUS.LOADED });\n } catch (error: any) {\n this.cacheStore.set(url, { content: '', status: STATUS.FAILED });\n throw error;\n }\n }\n }\n\n private async fetchAndAddToPersistentCache(url: string, fetchOptions?: RequestInit) {\n const cache = this.cacheStore.get(url);\n\n if (cache?.status === STATUS.LOADED) {\n return;\n }\n\n if (cache?.status === STATUS.LOADING) {\n await this.handleLoading(url, async () => {\n this.cacheStore.set(url, { content: '', status: STATUS.IDLE });\n await this.fetchAndAddToPersistentCache(url, fetchOptions);\n });\n\n return;\n }\n\n this.cacheStore.set(url, { content: '', status: STATUS.LOADING });\n\n const data = await this.cacheApi?.match(url);\n\n if (data) {\n const content = await data.text();\n\n this.cacheStore.set(url, { content, status: STATUS.LOADED });\n\n return;\n }\n\n try {\n await this.cacheApi?.add(new Request(url, fetchOptions));\n\n const response = await this.cacheApi?.match(url);\n const content = (await response?.text()) ?? '';\n\n this.cacheStore.set(url, { content, status: STATUS.LOADED });\n } catch (error: any) {\n this.cacheStore.set(url, { content: '', status: STATUS.FAILED });\n throw error;\n }\n }\n\n private async handleLoading(url: string, callback: () => Promise) {\n let retryCount = 0;\n\n while (this.cacheStore.get(url)?.status === STATUS.LOADING && retryCount < CACHE_MAX_RETRIES) {\n // eslint-disable-next-line no-await-in-loop\n await sleep(0.1);\n retryCount += 1;\n }\n\n if (retryCount >= CACHE_MAX_RETRIES) {\n await callback();\n }\n }\n\n public keys(): Array {\n return [...this.cacheStore.keys()];\n }\n\n public data(): Array> {\n return [...this.cacheStore.entries()].map(([key, value]) => ({ [key]: value }));\n }\n\n public async delete(url: string) {\n if (this.cacheApi) {\n await this.cacheApi.delete(url);\n }\n\n this.cacheStore.delete(url);\n }\n\n public async clear() {\n if (this.cacheApi) {\n const keys = await this.cacheApi.keys();\n\n for (const key of keys) {\n // eslint-disable-next-line no-await-in-loop\n await this.cacheApi.delete(key);\n }\n }\n\n this.cacheStore.clear();\n }\n}\n", "import { useEffect, useRef } from 'react';\n\nexport function usePrevious(state: T): T | undefined {\n const ref = useRef();\n\n useEffect(() => {\n ref.current = state;\n });\n\n return ref.current;\n}\n", "import convert from 'react-from-dom';\n\nimport { Props, State } from '../types';\n\ninterface GetNodeOptions extends Props, Pick {\n handleError: (error: Error) => void;\n hash: string;\n}\n\ninterface UpdateSVGAttributesOptions extends Pick {\n hash: string;\n}\n\nexport function getNode(options: GetNodeOptions) {\n const {\n baseURL,\n content,\n description,\n handleError,\n hash,\n preProcessor,\n title,\n uniquifyIDs = false,\n } = options;\n\n try {\n const svgText = processSVG(content, preProcessor);\n const node = convert(svgText, { nodeOnly: true });\n\n if (!node || !(node instanceof SVGSVGElement)) {\n throw new Error('Could not convert the src to a DOM Node');\n }\n\n const svg = updateSVGAttributes(node, { baseURL, hash, uniquifyIDs });\n\n if (description) {\n const originalDesc = svg.querySelector('desc');\n\n if (originalDesc?.parentNode) {\n originalDesc.parentNode.removeChild(originalDesc);\n }\n\n const descElement = document.createElementNS('http://www.w3.org/2000/svg', 'desc');\n\n descElement.innerHTML = description;\n svg.prepend(descElement);\n }\n\n if (typeof title !== 'undefined') {\n const originalTitle = svg.querySelector('title');\n\n if (originalTitle?.parentNode) {\n originalTitle.parentNode.removeChild(originalTitle);\n }\n\n if (title) {\n const titleElement = document.createElementNS('http://www.w3.org/2000/svg', 'title');\n\n titleElement.innerHTML = title;\n svg.prepend(titleElement);\n }\n }\n\n return svg;\n } catch (error: any) {\n return handleError(error);\n }\n}\n\nexport function processSVG(content: string, preProcessor?: Props['preProcessor']) {\n if (preProcessor) {\n return preProcessor(content);\n }\n\n return content;\n}\n\nexport function updateSVGAttributes(\n node: SVGSVGElement,\n options: UpdateSVGAttributesOptions,\n): SVGSVGElement {\n const { baseURL = '', hash, uniquifyIDs } = options;\n const replaceableAttributes = ['id', 'href', 'xlink:href', 'xlink:role', 'xlink:arcrole'];\n const linkAttributes = ['href', 'xlink:href'];\n const isDataValue = (name: string, value: string) =>\n linkAttributes.includes(name) && (value ? !value.includes('#') : false);\n\n if (!uniquifyIDs) {\n return node;\n }\n\n [...node.children].forEach(d => {\n if (d.attributes?.length) {\n const attributes = Object.values(d.attributes).map(a => {\n const attribute = a;\n const match = /url\\((.*?)\\)/.exec(a.value);\n\n if (match?.[1]) {\n attribute.value = a.value.replace(match[0], `url(${baseURL}${match[1]}__${hash})`);\n }\n\n return attribute;\n });\n\n replaceableAttributes.forEach(r => {\n const attribute = attributes.find(a => a.name === r);\n\n if (attribute && !isDataValue(r, attribute.value)) {\n attribute.value = `${attribute.value}__${hash}`;\n }\n });\n }\n\n if (d.children.length) {\n return updateSVGAttributes(d as SVGSVGElement, options);\n }\n\n return d;\n });\n\n return node;\n}\n", "import * as React from 'react';\n\nimport { noTextChildNodes, possibleStandardNames, randomString, styleToObject } from './helpers';\n\nexport interface Options {\n /**\n * An array of actions to modify the nodes before converting them to ReactNodes.\n */\n actions?: Action[];\n /**\n * Don't remove white spaces in the output.\n */\n allowWhiteSpaces?: boolean;\n /**\n * Parse all nodes instead of just a single parent node.\n * This will return a ReactNode array (or a NodeList if `nodeOnly` is true).\n */\n includeAllNodes?: boolean;\n /**\n * The index to start the React key identification.\n * @default 0\n */\n index?: number;\n /**\n * The level to start the React key identification.\n * @default 0\n */\n level?: number;\n /**\n * Only return the node (or NodeList) without converting it to a ReactNode.\n */\n nodeOnly?: boolean;\n /**\n * Add a random key to the root element.\n * @default false\n */\n randomKey?: boolean;\n /**\n * The selector to use in the `document.querySelector` method.\n * @default 'body > *'\n */\n selector?: string;\n /**\n * The mimeType to use in the DOMParser's parseFromString.\n * @default 'text/html'\n */\n type?: DOMParserSupportedType;\n}\n\nexport type Output = React.ReactNode | Node | NodeList;\n\ninterface Attributes {\n [index: string]: any;\n\n key: string;\n}\n\ninterface GetReactNodeOptions extends Options {\n key: string;\n level: number;\n}\n\nexport interface Action {\n // If this returns true, the two following functions are called if they are defined\n condition: (node: Node, key: string, level: number) => boolean;\n\n // Use this to inject a component or remove the node\n // It must return something that can be rendered by React\n post?: (node: Node, key: string, level: number) => React.ReactNode;\n\n // Use this to update or replace the node\n // e.g. for removing or adding attributes, changing the node type\n pre?: (node: Node, key: string, level: number) => Node;\n}\n\nfunction getReactNode(node: Node, options: GetReactNodeOptions): React.ReactNode {\n const { key, level, ...rest } = options;\n\n switch (node.nodeType) {\n case 1: {\n // regular dom-node\n return React.createElement(\n parseName(node.nodeName),\n parseAttributes(node, key),\n parseChildren(node.childNodes, level, rest),\n );\n }\n case 3: {\n // textnode\n const nodeText = node.nodeValue?.toString() ?? '';\n\n if (!rest.allowWhiteSpaces && /^\\s+$/.test(nodeText) && !/[\\u00A0\\u202F]/.test(nodeText)) {\n return null;\n }\n\n /* c8 ignore next 3 */\n if (!node.parentNode) {\n return nodeText;\n }\n\n const parentNodeName = node.parentNode.nodeName.toLowerCase();\n\n if (noTextChildNodes.includes(parentNodeName)) {\n if (/\\S/.test(nodeText)) {\n // eslint-disable-next-line no-console\n console.warn(\n `A textNode is not allowed inside '${parentNodeName}'. Your text \"${nodeText}\" will be ignored`,\n );\n }\n\n return null;\n }\n\n return nodeText;\n }\n case 8: {\n // html-comment\n return null;\n }\n case 11: {\n // fragment\n\n return parseChildren(node.childNodes, level, options);\n }\n /* c8 ignore next 3 */\n default: {\n return null;\n }\n }\n}\n\nfunction parseAttributes(node: Node, reactKey: string): Attributes {\n const attributes: Attributes = {\n key: reactKey,\n };\n\n if (node instanceof Element) {\n const nodeClassNames = node.getAttribute('class');\n\n if (nodeClassNames) {\n attributes.className = nodeClassNames;\n }\n\n [...node.attributes].forEach(d => {\n switch (d.name) {\n // this is manually handled above, so break;\n case 'class':\n break;\n case 'style':\n attributes[d.name] = styleToObject(d.value);\n break;\n case 'allowfullscreen':\n case 'allowpaymentrequest':\n case 'async':\n case 'autofocus':\n case 'autoplay':\n case 'checked':\n case 'controls':\n case 'default':\n case 'defer':\n case 'disabled':\n case 'formnovalidate':\n case 'hidden':\n case 'ismap':\n case 'itemscope':\n case 'loop':\n case 'multiple':\n case 'muted':\n case 'nomodule':\n case 'novalidate':\n case 'open':\n case 'readonly':\n case 'required':\n case 'reversed':\n case 'selected':\n case 'typemustmatch':\n attributes[possibleStandardNames[d.name] || d.name] = true;\n break;\n default:\n attributes[possibleStandardNames[d.name] || d.name] = d.value;\n }\n });\n }\n\n return attributes;\n}\n\nfunction parseChildren(childNodeList: NodeList, level: number, options: Options) {\n const children: React.ReactNode[] = [...childNodeList]\n .map((node, index) =>\n convertFromNode(node, {\n ...options,\n index,\n level: level + 1,\n }),\n )\n .filter(Boolean);\n\n if (!children.length) {\n return null;\n }\n\n return children;\n}\n\nfunction parseName(nodeName: string) {\n if (/[a-z]+[A-Z]+[a-z]+/.test(nodeName)) {\n return nodeName;\n }\n\n return nodeName.toLowerCase();\n}\n\nexport function convertFromNode(input: Node, options: Options = {}): React.ReactNode {\n if (!input || !(input instanceof Node)) {\n return null;\n }\n\n const { actions = [], index = 0, level = 0, randomKey } = options;\n\n let node = input;\n let key = `${level}-${index}`;\n const result: React.ReactNode[] = [];\n\n if (randomKey && level === 0) {\n key = `${randomString()}-${key}`;\n }\n\n if (Array.isArray(actions)) {\n actions.forEach((action: Action) => {\n if (action.condition(node, key, level)) {\n if (typeof action.pre === 'function') {\n node = action.pre(node, key, level);\n\n if (!(node instanceof Node)) {\n node = input;\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn(\n 'The `pre` method always must return a valid DomNode (instanceof Node) - your modification will be ignored (Hint: if you want to render a React-component, use the `post` method instead)',\n );\n }\n }\n }\n\n if (typeof action.post === 'function') {\n result.push(action.post(node, key, level));\n }\n }\n });\n }\n\n if (result.length) {\n return result;\n }\n\n return getReactNode(node, { key, level, ...options });\n}\n\nexport function convertFromString(input: string, options: Options = {}): Output {\n if (!input || typeof input !== 'string') {\n return null;\n }\n\n const {\n includeAllNodes = false,\n nodeOnly = false,\n selector = 'body > *',\n type = 'text/html',\n } = options;\n\n try {\n const parser = new DOMParser();\n const document = parser.parseFromString(input, type);\n\n if (includeAllNodes) {\n const { childNodes } = document.body;\n\n if (nodeOnly) {\n return childNodes;\n }\n\n return [...childNodes].map(node => convertFromNode(node, options));\n }\n\n const node = document.querySelector(selector) || document.body.childNodes[0];\n\n /* c8 ignore next 3 */\n if (!(node instanceof Node)) {\n throw new TypeError('Error parsing input');\n }\n\n if (nodeOnly) {\n return node;\n }\n\n return convertFromNode(node, options);\n /* c8 ignore start */\n } catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error(error);\n }\n }\n\n return null;\n /* c8 ignore stop */\n}\n\nexport default function convert(input: Node | string, options: Options = {}): Output {\n if (typeof input === 'string') {\n return convertFromString(input, options);\n }\n\n if (input instanceof Node) {\n return convertFromNode(input, options);\n }\n\n return null;\n}\n", "export const styleToObject = (input: string): Record => {\n /* c8 ignore next 3 */\n if (typeof input !== 'string') {\n return {};\n }\n\n return input.split(/ ?; ?/).reduce>((acc, item: string) => {\n const [key, value] = item\n .split(/ ?: ?/)\n .map((d, index) => (index === 0 ? d.replace(/\\s+/g, '') : d.trim()));\n\n if (key && value) {\n const nextKey = key.replace(/(\\w)-(\\w)/g, (_$0, $1, $2) => `${$1}${$2.toUpperCase()}`);\n let nextValue: string | number = value.trim();\n\n if (!Number.isNaN(Number(value))) {\n nextValue = Number(value);\n }\n\n acc[key.startsWith('-') ? key : nextKey] = nextValue;\n }\n\n return acc;\n }, {});\n};\n\nexport function randomString(length = 6): string {\n const characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n let result = '';\n\n for (let index = length; index > 0; --index) {\n result += characters[Math.round(Math.random() * (characters.length - 1))];\n }\n\n return result;\n}\n\nexport const noTextChildNodes = [\n 'br',\n 'col',\n 'colgroup',\n 'dl',\n 'hr',\n 'iframe',\n 'img',\n 'input',\n 'link',\n 'menuitem',\n 'meta',\n 'ol',\n 'param',\n 'select',\n 'table',\n 'tbody',\n 'tfoot',\n 'thead',\n 'tr',\n 'ul',\n 'wbr',\n];\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// Taken from https://raw.githubusercontent.com/facebook/react/baff5cc2f69d30589a5dc65b089e47765437294b/packages/react-dom/src/shared/possibleStandardNames.js\n// tslint:disable:object-literal-sort-keys\nexport const possibleStandardNames: Record = {\n // HTML\n 'accept-charset': 'acceptCharset',\n acceptcharset: 'acceptCharset',\n accesskey: 'accessKey',\n allowfullscreen: 'allowFullScreen',\n autocapitalize: 'autoCapitalize',\n autocomplete: 'autoComplete',\n autocorrect: 'autoCorrect',\n autofocus: 'autoFocus',\n autoplay: 'autoPlay',\n autosave: 'autoSave',\n cellpadding: 'cellPadding',\n cellspacing: 'cellSpacing',\n charset: 'charSet',\n class: 'className',\n classid: 'classID',\n classname: 'className',\n colspan: 'colSpan',\n contenteditable: 'contentEditable',\n contextmenu: 'contextMenu',\n controlslist: 'controlsList',\n crossorigin: 'crossOrigin',\n dangerouslysetinnerhtml: 'dangerouslySetInnerHTML',\n datetime: 'dateTime',\n defaultchecked: 'defaultChecked',\n defaultvalue: 'defaultValue',\n enctype: 'encType',\n for: 'htmlFor',\n formmethod: 'formMethod',\n formaction: 'formAction',\n formenctype: 'formEncType',\n formnovalidate: 'formNoValidate',\n formtarget: 'formTarget',\n frameborder: 'frameBorder',\n hreflang: 'hrefLang',\n htmlfor: 'htmlFor',\n httpequiv: 'httpEquiv',\n 'http-equiv': 'httpEquiv',\n icon: 'icon',\n innerhtml: 'innerHTML',\n inputmode: 'inputMode',\n itemid: 'itemID',\n itemprop: 'itemProp',\n itemref: 'itemRef',\n itemscope: 'itemScope',\n itemtype: 'itemType',\n keyparams: 'keyParams',\n keytype: 'keyType',\n marginwidth: 'marginWidth',\n marginheight: 'marginHeight',\n maxlength: 'maxLength',\n mediagroup: 'mediaGroup',\n minlength: 'minLength',\n nomodule: 'noModule',\n novalidate: 'noValidate',\n playsinline: 'playsInline',\n radiogroup: 'radioGroup',\n readonly: 'readOnly',\n referrerpolicy: 'referrerPolicy',\n rowspan: 'rowSpan',\n spellcheck: 'spellCheck',\n srcdoc: 'srcDoc',\n srclang: 'srcLang',\n srcset: 'srcSet',\n tabindex: 'tabIndex',\n typemustmatch: 'typeMustMatch',\n usemap: 'useMap',\n\n // SVG\n accentheight: 'accentHeight',\n 'accent-height': 'accentHeight',\n alignmentbaseline: 'alignmentBaseline',\n 'alignment-baseline': 'alignmentBaseline',\n allowreorder: 'allowReorder',\n arabicform: 'arabicForm',\n 'arabic-form': 'arabicForm',\n attributename: 'attributeName',\n attributetype: 'attributeType',\n autoreverse: 'autoReverse',\n basefrequency: 'baseFrequency',\n baselineshift: 'baselineShift',\n 'baseline-shift': 'baselineShift',\n baseprofile: 'baseProfile',\n calcmode: 'calcMode',\n capheight: 'capHeight',\n 'cap-height': 'capHeight',\n clippath: 'clipPath',\n 'clip-path': 'clipPath',\n clippathunits: 'clipPathUnits',\n cliprule: 'clipRule',\n 'clip-rule': 'clipRule',\n colorinterpolation: 'colorInterpolation',\n 'color-interpolation': 'colorInterpolation',\n colorinterpolationfilters: 'colorInterpolationFilters',\n 'color-interpolation-filters': 'colorInterpolationFilters',\n colorprofile: 'colorProfile',\n 'color-profile': 'colorProfile',\n colorrendering: 'colorRendering',\n 'color-rendering': 'colorRendering',\n contentscripttype: 'contentScriptType',\n contentstyletype: 'contentStyleType',\n diffuseconstant: 'diffuseConstant',\n dominantbaseline: 'dominantBaseline',\n 'dominant-baseline': 'dominantBaseline',\n edgemode: 'edgeMode',\n enablebackground: 'enableBackground',\n 'enable-background': 'enableBackground',\n externalresourcesrequired: 'externalResourcesRequired',\n fillopacity: 'fillOpacity',\n 'fill-opacity': 'fillOpacity',\n fillrule: 'fillRule',\n 'fill-rule': 'fillRule',\n filterres: 'filterRes',\n filterunits: 'filterUnits',\n floodopacity: 'floodOpacity',\n 'flood-opacity': 'floodOpacity',\n floodcolor: 'floodColor',\n 'flood-color': 'floodColor',\n fontfamily: 'fontFamily',\n 'font-family': 'fontFamily',\n fontsize: 'fontSize',\n 'font-size': 'fontSize',\n fontsizeadjust: 'fontSizeAdjust',\n 'font-size-adjust': 'fontSizeAdjust',\n fontstretch: 'fontStretch',\n 'font-stretch': 'fontStretch',\n fontstyle: 'fontStyle',\n 'font-style': 'fontStyle',\n fontvariant: 'fontVariant',\n 'font-variant': 'fontVariant',\n fontweight: 'fontWeight',\n 'font-weight': 'fontWeight',\n glyphname: 'glyphName',\n 'glyph-name': 'glyphName',\n glyphorientationhorizontal: 'glyphOrientationHorizontal',\n 'glyph-orientation-horizontal': 'glyphOrientationHorizontal',\n glyphorientationvertical: 'glyphOrientationVertical',\n 'glyph-orientation-vertical': 'glyphOrientationVertical',\n glyphref: 'glyphRef',\n gradienttransform: 'gradientTransform',\n gradientunits: 'gradientUnits',\n horizadvx: 'horizAdvX',\n 'horiz-adv-x': 'horizAdvX',\n horizoriginx: 'horizOriginX',\n 'horiz-origin-x': 'horizOriginX',\n imagerendering: 'imageRendering',\n 'image-rendering': 'imageRendering',\n kernelmatrix: 'kernelMatrix',\n kernelunitlength: 'kernelUnitLength',\n keypoints: 'keyPoints',\n keysplines: 'keySplines',\n keytimes: 'keyTimes',\n lengthadjust: 'lengthAdjust',\n letterspacing: 'letterSpacing',\n 'letter-spacing': 'letterSpacing',\n lightingcolor: 'lightingColor',\n 'lighting-color': 'lightingColor',\n limitingconeangle: 'limitingConeAngle',\n markerend: 'markerEnd',\n 'marker-end': 'markerEnd',\n markerheight: 'markerHeight',\n markermid: 'markerMid',\n 'marker-mid': 'markerMid',\n markerstart: 'markerStart',\n 'marker-start': 'markerStart',\n markerunits: 'markerUnits',\n markerwidth: 'markerWidth',\n maskcontentunits: 'maskContentUnits',\n maskunits: 'maskUnits',\n numoctaves: 'numOctaves',\n overlineposition: 'overlinePosition',\n 'overline-position': 'overlinePosition',\n overlinethickness: 'overlineThickness',\n 'overline-thickness': 'overlineThickness',\n paintorder: 'paintOrder',\n 'paint-order': 'paintOrder',\n 'panose-1': 'panose1',\n pathlength: 'pathLength',\n patterncontentunits: 'patternContentUnits',\n patterntransform: 'patternTransform',\n patternunits: 'patternUnits',\n pointerevents: 'pointerEvents',\n 'pointer-events': 'pointerEvents',\n pointsatx: 'pointsAtX',\n pointsaty: 'pointsAtY',\n pointsatz: 'pointsAtZ',\n preservealpha: 'preserveAlpha',\n preserveaspectratio: 'preserveAspectRatio',\n primitiveunits: 'primitiveUnits',\n refx: 'refX',\n refy: 'refY',\n renderingintent: 'renderingIntent',\n 'rendering-intent': 'renderingIntent',\n repeatcount: 'repeatCount',\n repeatdur: 'repeatDur',\n requiredextensions: 'requiredExtensions',\n requiredfeatures: 'requiredFeatures',\n shaperendering: 'shapeRendering',\n 'shape-rendering': 'shapeRendering',\n specularconstant: 'specularConstant',\n specularexponent: 'specularExponent',\n spreadmethod: 'spreadMethod',\n startoffset: 'startOffset',\n stddeviation: 'stdDeviation',\n stitchtiles: 'stitchTiles',\n stopcolor: 'stopColor',\n 'stop-color': 'stopColor',\n stopopacity: 'stopOpacity',\n 'stop-opacity': 'stopOpacity',\n strikethroughposition: 'strikethroughPosition',\n 'strikethrough-position': 'strikethroughPosition',\n strikethroughthickness: 'strikethroughThickness',\n 'strikethrough-thickness': 'strikethroughThickness',\n strokedasharray: 'strokeDasharray',\n 'stroke-dasharray': 'strokeDasharray',\n strokedashoffset: 'strokeDashoffset',\n 'stroke-dashoffset': 'strokeDashoffset',\n strokelinecap: 'strokeLinecap',\n 'stroke-linecap': 'strokeLinecap',\n strokelinejoin: 'strokeLinejoin',\n 'stroke-linejoin': 'strokeLinejoin',\n strokemiterlimit: 'strokeMiterlimit',\n 'stroke-miterlimit': 'strokeMiterlimit',\n strokewidth: 'strokeWidth',\n 'stroke-width': 'strokeWidth',\n strokeopacity: 'strokeOpacity',\n 'stroke-opacity': 'strokeOpacity',\n suppresscontenteditablewarning: 'suppressContentEditableWarning',\n suppresshydrationwarning: 'suppressHydrationWarning',\n surfacescale: 'surfaceScale',\n systemlanguage: 'systemLanguage',\n tablevalues: 'tableValues',\n targetx: 'targetX',\n targety: 'targetY',\n textanchor: 'textAnchor',\n 'text-anchor': 'textAnchor',\n textdecoration: 'textDecoration',\n 'text-decoration': 'textDecoration',\n textlength: 'textLength',\n textrendering: 'textRendering',\n 'text-rendering': 'textRendering',\n underlineposition: 'underlinePosition',\n 'underline-position': 'underlinePosition',\n underlinethickness: 'underlineThickness',\n 'underline-thickness': 'underlineThickness',\n unicodebidi: 'unicodeBidi',\n 'unicode-bidi': 'unicodeBidi',\n unicoderange: 'unicodeRange',\n 'unicode-range': 'unicodeRange',\n unitsperem: 'unitsPerEm',\n 'units-per-em': 'unitsPerEm',\n unselectable: 'unselectable',\n valphabetic: 'vAlphabetic',\n 'v-alphabetic': 'vAlphabetic',\n vectoreffect: 'vectorEffect',\n 'vector-effect': 'vectorEffect',\n vertadvy: 'vertAdvY',\n 'vert-adv-y': 'vertAdvY',\n vertoriginx: 'vertOriginX',\n 'vert-origin-x': 'vertOriginX',\n vertoriginy: 'vertOriginY',\n 'vert-origin-y': 'vertOriginY',\n vhanging: 'vHanging',\n 'v-hanging': 'vHanging',\n videographic: 'vIdeographic',\n 'v-ideographic': 'vIdeographic',\n viewbox: 'viewBox',\n viewtarget: 'viewTarget',\n vmathematical: 'vMathematical',\n 'v-mathematical': 'vMathematical',\n wordspacing: 'wordSpacing',\n 'word-spacing': 'wordSpacing',\n writingmode: 'writingMode',\n 'writing-mode': 'writingMode',\n xchannelselector: 'xChannelSelector',\n xheight: 'xHeight',\n 'x-height': 'xHeight',\n xlinkactuate: 'xlinkActuate',\n 'xlink:actuate': 'xlinkActuate',\n xlinkarcrole: 'xlinkArcrole',\n 'xlink:arcrole': 'xlinkArcrole',\n xlinkhref: 'xlinkHref',\n 'xlink:href': 'xlinkHref',\n xlinkrole: 'xlinkRole',\n 'xlink:role': 'xlinkRole',\n xlinkshow: 'xlinkShow',\n 'xlink:show': 'xlinkShow',\n xlinktitle: 'xlinkTitle',\n 'xlink:title': 'xlinkTitle',\n xlinktype: 'xlinkType',\n 'xlink:type': 'xlinkType',\n xmlbase: 'xmlBase',\n 'xml:base': 'xmlBase',\n xmllang: 'xmlLang',\n 'xml:lang': 'xmlLang',\n 'xml:space': 'xmlSpace',\n xmlnsxlink: 'xmlnsXlink',\n 'xmlns:xlink': 'xmlnsXlink',\n xmlspace: 'xmlSpace',\n ychannelselector: 'yChannelSelector',\n zoomandpan: 'zoomAndPan',\n\n // event handlers\n onblur: 'onBlur',\n onchange: 'onChange',\n onclick: 'onClick',\n oncontextmenu: 'onContextMenu',\n ondoubleclick: 'onDoubleClick',\n ondrag: 'onDrag',\n ondragend: 'onDragEnd',\n ondragenter: 'onDragEnter',\n ondragexit: 'onDragExit',\n ondragleave: 'onDragLeave',\n ondragover: 'onDragOver',\n ondragstart: 'onDragStart',\n ondrop: 'onDrop',\n onerror: 'onError',\n onfocus: 'onFocus',\n oninput: 'onInput',\n oninvalid: 'onInvalid',\n onkeydown: 'onKeyDown',\n onkeypress: 'onKeyPress',\n onkeyup: 'onKeyUp',\n onload: 'onLoad',\n onmousedown: 'onMouseDown',\n onmouseenter: 'onMouseEnter',\n onmouseleave: 'onMouseLeave',\n onmousemove: 'onMouseMove',\n onmouseout: 'onMouseOut',\n onmouseover: 'onMouseOver',\n onmouseup: 'onMouseUp',\n onscroll: 'onScroll',\n onsubmit: 'onSubmit',\n ontouchcancel: 'onTouchCancel',\n ontouchend: 'onTouchEnd',\n ontouchmove: 'onTouchMove',\n ontouchstart: 'onTouchStart',\n onwheel: 'onWheel',\n};\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\n// Icon copied from https://github.com/FortAwesome/Font-Awesome/blob/0d1f27efb836eb2ab994ba37221849ed64a73e5c/svgs/regular/\nexport const IconAlias = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 512 512\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n);\n", "// File viewer in adapter-react does not support write\n// import { Buffer } from 'buffer';\nimport React, { Component, type JSX } from 'react';\n\nimport { TextField, Button, Dialog, DialogActions, DialogContent, DialogTitle, IconButton } from '@mui/material';\n\n// Icons\nimport {\n Close as CloseIcon,\n Save as SaveIcon,\n Brightness6 as Brightness5Icon,\n ContentCopy as CopyIcon,\n} from '@mui/icons-material';\n\nimport type { Connection } from '@iobroker/socket-client';\n\nimport { IconNoIcon } from '../icons/IconNoIcon';\nimport { withWidth } from './withWidth';\nimport { Utils } from './Utils';\nimport type { ThemeType, Translate } from '../types';\nimport { Icon } from './Icon';\n\nconst styles: Record = {\n dialog: {\n height: '100%',\n },\n paper: {\n height: 'calc(100% - 64px)',\n },\n content: {\n textAlign: 'center',\n },\n textarea: {\n width: '100%',\n height: '100%',\n },\n img: {\n width: 'auto',\n height: 'calc(100% - 5px)',\n objectFit: 'contain',\n },\n dialogTitle: {\n justifyContent: 'space-between',\n display: 'flex',\n },\n};\n\nexport const EXTENSIONS = {\n images: ['png', 'jpg', 'svg', 'jpeg', 'bmp', 'gif', 'apng', 'avif', 'webp', 'ico'],\n code: ['js', 'json', 'json5', 'md'],\n txt: ['log', 'txt', 'html', 'css', 'xml', 'ics'],\n audio: ['mp3', 'wav', 'ogg', 'acc'],\n video: ['mp4', 'mov', 'avi'],\n};\n\nfunction bufferToBase64(buffer: Buffer, isFull?: boolean): string {\n let binary = '';\n const bytes = new Uint8Array((buffer as unknown as { data: number[]; type: 'Buffer' })?.data || buffer);\n const len = bytes.byteLength;\n for (let i = 0; i < len && (isFull || i < 50); i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return window.btoa(binary);\n}\n\nexport interface FileViewerProps {\n /** Translation function */\n t: Translate;\n /** Callback when the viewer is closed. */\n onClose: () => void;\n /** The URL (file path) to the file to be displayed. */\n href: string;\n formatEditFile?: string;\n socket: Connection;\n setStateBackgroundImage: () => void;\n themeType: ThemeType;\n getStyleBackgroundImage: () => React.CSSProperties | null;\n /** Flag is the js-controller support subscribe on file */\n supportSubscribes?: boolean;\n}\n\nexport interface FileViewerState {\n text: string | null;\n code: string | null;\n ext: string | null;\n editing: boolean;\n editingValue: string | null;\n copyPossible: boolean;\n forceUpdate: number;\n changed: boolean;\n imgError: boolean;\n}\n\nexport class FileViewerClass extends Component {\n private timeout: ReturnType | null = null;\n\n constructor(props: FileViewerProps) {\n super(props);\n const ext = Utils.getFileExtension(props.href);\n\n this.state = {\n text: null,\n code: null,\n ext,\n // File viewer in adapter-react does not support write\n editing: /* !!this.props.formatEditFile || */ false,\n editingValue: null,\n copyPossible: !!ext && (EXTENSIONS.code.includes(ext) || EXTENSIONS.txt.includes(ext)),\n forceUpdate: Date.now(),\n changed: false,\n imgError: false,\n };\n }\n\n readFile(): void {\n if (this.props.href) {\n const parts = this.props.href.split('/');\n parts.splice(0, 2);\n const adapter = parts[0];\n const name = parts.splice(1).join('/');\n\n this.props.socket\n .readFile(adapter, name)\n .then((data: { file: string | Buffer; mimeType: string }) => {\n let fileData: string | Buffer = '';\n if (data.file !== undefined) {\n fileData = (data as { file: string; mimeType: string }).file;\n }\n\n const newState: Partial = {\n copyPossible: this.state.copyPossible,\n ext: this.state.ext,\n };\n // try to detect valid extension\n if ((fileData as unknown as { data: Buffer; type: string }).type === 'Buffer') {\n if (name.toLowerCase().endsWith('.json5')) {\n newState.ext = 'json5';\n newState.copyPossible = true;\n try {\n fileData = atob(bufferToBase64(fileData as unknown as Buffer, true));\n } catch {\n console.error('Cannot convert base64 to string');\n fileData = '';\n }\n } else {\n const ext = Utils.detectMimeType(bufferToBase64(fileData as unknown as Buffer));\n if (ext) {\n newState.ext = ext;\n newState.copyPossible = EXTENSIONS.code.includes(ext) || EXTENSIONS.txt.includes(ext);\n }\n }\n }\n\n if (newState.copyPossible) {\n if (newState.ext && EXTENSIONS.txt.includes(newState.ext)) {\n newState.text = fileData;\n newState.editingValue = fileData;\n } else if (newState.ext && EXTENSIONS.code.includes(newState.ext)) {\n newState.code = fileData;\n newState.editingValue = fileData;\n }\n }\n\n this.setState(newState as FileViewerState);\n })\n .catch(e => window.alert(`Cannot read file: ${e}`));\n }\n }\n\n componentDidMount(): void {\n this.readFile();\n\n const parts = this.props.href.split('/');\n parts.splice(0, 2);\n const adapter = parts[0];\n const name = parts.splice(1).join('/');\n\n if (this.props.supportSubscribes) {\n this.props.socket\n .subscribeFiles(adapter, name, this.onFileChanged)\n .catch(e => window.alert(`Cannot subscribe on file: ${e}`));\n }\n }\n\n componentWillUnmount(): void {\n if (this.timeout) {\n clearTimeout(this.timeout);\n this.timeout = null;\n }\n const parts = this.props.href.split('/');\n parts.splice(0, 2);\n const adapter = parts[0];\n const name = parts.splice(1).join('/');\n if (this.props.supportSubscribes) {\n this.props.socket\n .subscribeFiles(adapter, name, this.onFileChanged)\n .catch(e => window.alert(`Cannot subscribe on file: ${e}`));\n }\n }\n\n onFileChanged = (_id: string, _fileName: string, size: number | null): void => {\n if (!this.state.changed) {\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n this.timeout = setTimeout(() => {\n this.timeout = null;\n if (size === null) {\n window.alert('Show file was deleted!');\n } else if (this.state.text !== null || this.state.code !== null) {\n this.readFile();\n } else {\n this.setState({ forceUpdate: Date.now() });\n }\n }, 300);\n }\n };\n\n getEditorOrViewer(): JSX.Element {\n return (\n this.setState({ editingValue: newValue, changed: true })}\n slotProps={{\n htmlInput: {\n readOnly: !this.state.editing,\n },\n }}\n />\n );\n }\n\n getContent(): React.JSX.Element | null {\n if (this.state.ext && EXTENSIONS.images.includes(this.state.ext)) {\n if (this.state.imgError) {\n return ;\n }\n return (\n {\n (e.target as HTMLImageElement).onerror = null;\n this.setState({ imgError: true });\n }}\n style={{ ...styles.img, ...this.props.getStyleBackgroundImage() }}\n src={`${this.props.href}?ts=${this.state.forceUpdate}`}\n alt={this.props.href}\n />\n );\n }\n if (this.state.ext && EXTENSIONS.audio.includes(this.state.ext)) {\n return (\n \n \n \n );\n }\n if (this.state.ext && EXTENSIONS.video.includes(this.state.ext)) {\n return (\n \n \n \n \n \n );\n }\n if (this.state.code !== null || this.state.text !== null || this.state.editing) {\n // File viewer in adapter-react does not support write\n // return this.setState({ editingValue: newValue, changed: true }) : undefined}\n // />;\n return this.getEditorOrViewer();\n }\n return null;\n }\n\n // eslint-disable-next-line class-methods-use-this\n onSave(): void {\n // Do nothing as the file viewer in adapter-react does not support writing\n }\n\n render(): JSX.Element {\n return (\n this.props.onClose()}\n fullWidth\n maxWidth=\"xl\"\n aria-labelledby=\"ar_dialog_file_view_title\"\n >\n
\n {`${this.props.t(this.state.editing ? 'Edit' : 'View')}: ${this.props.href}`}\n {this.state.ext && EXTENSIONS.images.includes(this.state.ext) && (\n
\n \n \n \n
\n )}\n
\n {this.getContent()}\n \n {this.state.copyPossible ? (\n {\n e.stopPropagation();\n e.preventDefault();\n Utils.copyToClipboard(this.state.text || this.state.code || '');\n }}\n startIcon={}\n >\n {this.props.t('Copy content')}\n \n ) : null}\n {this.state.editing ? (\n this.onSave()}\n startIcon={}\n >\n {this.props.t('Save')}\n \n ) : null}\n this.props.onClose()}\n color=\"primary\"\n startIcon={}\n >\n {this.props.t('Close')}\n \n \n \n );\n }\n}\nexport const FileViewer = withWidth()(FileViewerClass);\n", "import React from 'react';\nimport {\n AcUnit,\n Air,\n Blinds,\n BlindsClosed,\n ColorLens,\n ControlCamera,\n DeviceHub,\n DirectionsRun,\n DoorSliding,\n Gradient,\n Hub,\n Image,\n Info,\n Lightbulb,\n LocationOn,\n Lock,\n Palette,\n PlayArrowRounded,\n Polyline,\n Power,\n QuestionMark,\n SensorDoor,\n type SvgIconComponent,\n Thermostat,\n Timeline,\n TipsAndUpdates,\n Tune,\n Videocam,\n VolumeUp,\n Warning,\n Water,\n WaterDrop,\n WbSunny,\n Whatshot,\n Window,\n} from '@mui/icons-material';\nimport { Icon, type IconProps } from './Icon';\nimport { Utils } from './Utils';\nimport { IconButtonImage } from '../icons/IconButtonImage';\nimport { IconVacuum } from '../icons/IconVacuum';\nimport { IconInstance } from '../icons/IconInstance';\n\n// Taken from type detector: https://github.com/ioBroker/ioBroker.type-detector/blob/master/src/types.ts#L27\nconst deviceTypes = [\n 'unknown',\n 'airCondition',\n 'blind',\n 'blindButtons',\n 'button',\n 'buttonSensor',\n 'camera',\n 'chart',\n 'cie',\n 'ct',\n 'dimmer',\n 'door',\n 'fireAlarm',\n 'floodAlarm',\n 'gate',\n 'hue',\n 'humidity',\n 'image',\n 'info',\n 'instance',\n 'light',\n 'location',\n 'lock',\n 'media',\n 'motion',\n 'rgb',\n 'rgbSingle',\n 'rgbwSingle',\n 'slider',\n 'socket',\n 'temperature',\n 'thermostat',\n 'vacuumCleaner',\n 'volume',\n 'volumeGroup',\n 'warning',\n 'weatherCurrent',\n 'weatherForecast',\n 'window',\n 'windowTilt',\n 'hub3',\n 'node',\n 'controller',\n 'hub5',\n] as const;\n\nexport type DeviceType = (typeof deviceTypes)[number];\n\nexport function isDeviceIcon(icon: string): DeviceType | null {\n if (deviceTypes.includes(icon as DeviceType)) {\n return icon as DeviceType;\n }\n return null;\n}\n\nexport function getDeviceIcon(type: DeviceType, props?: IconProps): React.JSX.Element | null {\n let SvgComponent: SvgIconComponent | undefined;\n if (type === 'hub3') {\n SvgComponent = DeviceHub;\n }\n if (type === 'node') {\n SvgComponent = Polyline;\n }\n if (type === 'hub5') {\n SvgComponent = Hub;\n }\n if (type === 'controller') {\n SvgComponent = ControlCamera;\n }\n if (type === 'airCondition') {\n SvgComponent = AcUnit;\n }\n if (type === 'blind') {\n SvgComponent = Blinds;\n }\n if (type === 'camera') {\n SvgComponent = Videocam;\n }\n if (type === 'chart') {\n SvgComponent = Timeline;\n }\n if (type === 'ct') {\n SvgComponent = Gradient;\n }\n if (type === 'dimmer') {\n SvgComponent = TipsAndUpdates;\n }\n if (type === 'door') {\n SvgComponent = SensorDoor;\n }\n if (type === 'fireAlarm') {\n SvgComponent = Whatshot;\n }\n if (type === 'floodAlarm') {\n SvgComponent = Water;\n }\n if (type === 'humidity') {\n SvgComponent = WaterDrop;\n }\n if (type === 'image') {\n SvgComponent = Image;\n }\n if (type === 'light') {\n SvgComponent = Lightbulb;\n }\n if (type === 'lock') {\n SvgComponent = Lock;\n }\n if (type === 'location') {\n SvgComponent = LocationOn;\n }\n if (type === 'media') {\n SvgComponent = PlayArrowRounded;\n }\n if (type === 'motion') {\n SvgComponent = DirectionsRun;\n }\n if (type === 'rgb') {\n SvgComponent = Palette;\n }\n if (type === 'rgbSingle') {\n SvgComponent = Palette;\n }\n if (type === 'rgbwSingle') {\n SvgComponent = Palette;\n }\n if (type === 'slider') {\n SvgComponent = Tune;\n }\n if (type === 'socket') {\n SvgComponent = Power;\n }\n if (type === 'temperature') {\n SvgComponent = Thermostat;\n }\n if (type === 'thermostat') {\n SvgComponent = Thermostat;\n }\n if (type === 'volume') {\n SvgComponent = VolumeUp;\n }\n if (type === 'volumeGroup') {\n SvgComponent = VolumeUp;\n }\n if (type === 'weatherCurrent') {\n SvgComponent = Air;\n }\n if (type === 'weatherForecast') {\n SvgComponent = WbSunny;\n }\n if (type === 'window') {\n SvgComponent = Window;\n }\n if (type === 'windowTilt') {\n SvgComponent = Window;\n }\n if (type === 'blindButtons') {\n SvgComponent = BlindsClosed;\n }\n if (type === 'button') {\n SvgComponent = IconButtonImage as SvgIconComponent;\n }\n if (type === 'buttonSensor') {\n SvgComponent = IconButtonImage as SvgIconComponent;\n }\n if (type === 'cie') {\n SvgComponent = ColorLens;\n }\n if (type === 'gate') {\n SvgComponent = DoorSliding;\n }\n if (type === 'hue') {\n SvgComponent = ColorLens;\n }\n if (type === 'info') {\n SvgComponent = Info;\n }\n if (type === 'instance') {\n SvgComponent = IconInstance as SvgIconComponent;\n }\n if (type === 'unknown') {\n SvgComponent = QuestionMark;\n }\n if (type === 'vacuumCleaner') {\n SvgComponent = IconVacuum as SvgIconComponent;\n }\n if (type === 'warning') {\n SvgComponent = Warning;\n }\n\n if (SvgComponent) {\n return (\n \n );\n }\n return null;\n}\n\nexport function IconDeviceType(props: IconProps): React.JSX.Element | null {\n const icon = getDeviceIcon(props.src as DeviceType, props);\n if (icon) {\n return icon;\n }\n\n return ;\n}\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\n// Copyright Bluefox\nexport const IconButtonImage = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 436 436\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n \n \n \n);\n", "import React, { type JSX } from 'react';\nimport { type IconProps } from './IconProps';\n\nexport const IconVacuum = (props: IconProps): JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 339 339\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n \n vacuum\n \n \n);\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\n// Icon copied from https://github.com/FortAwesome/Font-Awesome/blob/0d1f27efb836eb2ab994ba37221849ed64a73e5c/svgs/regular/\nexport const IconInstance = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 512 512\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n);\n", "import React, { useCallback } from 'react';\nimport { useDropzone } from 'react-dropzone';\n\nimport { InputLabel, FormControl, IconButton } from '@mui/material';\nimport { Clear as ClearIcon } from '@mui/icons-material';\n\nimport { IconSelector } from './IconSelector';\nimport { Icon } from './Icon';\nimport { I18n } from '../i18n';\nimport { Utils } from './Utils';\n\nconst styles: Record = {\n formContainer: {\n display: 'flex',\n justifyContent: 'left',\n alignItems: 'center',\n },\n formControl: {\n display: 'flex',\n padding: 24,\n flexGrow: 1000,\n },\n divContainer: {\n width: 32 + 32,\n height: 32,\n whiteSpace: 'nowrap',\n lineHeight: '32px',\n marginRight: 8,\n },\n dragField: {\n textAlign: 'center',\n display: 'table',\n minHeight: 90,\n width: 'calc(100% - 60px)',\n border: '2px dashed #777',\n borderRadius: 10,\n padding: 4,\n },\n formIcon: {\n margin: 10,\n opacity: 0.6,\n },\n text: {\n display: 'table-cell',\n verticalAlign: 'middle',\n },\n};\n\ninterface IconPickerProps {\n previewStyle?: React.CSSProperties;\n previewClassName?: string;\n /** Custom icon element. */\n icon?: React.FC<{ style?: React.CSSProperties }>;\n customStyles?: Record;\n customClasses?: Record;\n /** The label. */\n label?: string;\n /** The value. */\n value?: any;\n /** Set to true to disable the icon picker. */\n disabled?: boolean;\n /** The icon change callback. */\n onChange: (icon: string) => void;\n icons?: {\n icon?: string;\n src?: string;\n href?: string;\n name?: ioBroker.StringOrTranslated;\n _id?: string;\n }[];\n onlyRooms?: boolean;\n onlyDevices?: boolean;\n}\n\nexport function IconPicker(props: IconPickerProps): React.JSX.Element {\n const IconCustom = props.icon;\n\n const onChange = props.onChange;\n\n const onDrop = useCallback(\n (acceptedFiles: File[]) => {\n const reader = new FileReader();\n\n reader.addEventListener('load', () => onChange(reader.result as string), false);\n\n if (acceptedFiles[0]) {\n reader.readAsDataURL(acceptedFiles[0]);\n }\n },\n [onChange],\n );\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({ onDrop });\n\n return (\n
\n {IconCustom ? : null}\n \n \n {props.label}\n \n
\n {props.value ? (\n
\n \n {!props.disabled && (\n props.onChange('')}\n >\n \n \n )}\n
\n ) : (\n !props.disabled && (\n props.onChange(base64)}\n t={I18n.t}\n lang={I18n.getLanguage()}\n />\n )\n )}\n\n {!props.disabled && (\n \n \n {isDragActive ? (\n {I18n.t('ra_Drop the files here...')}\n ) : (\n \n {I18n.t(\"ra_Drag 'n' drop some files here, or click to select files\")}\n \n )}\n
\n )}\n
\n \n \n );\n}\n", "import React, { Component } from 'react';\n\nimport {\n Dialog,\n DialogTitle,\n DialogActions,\n DialogContent,\n Button,\n IconButton,\n TextField,\n Tooltip,\n CircularProgress,\n} from '@mui/material';\n\nimport { Close as CloseIcon, Clear as ClearIcon } from '@mui/icons-material';\n\nimport { Icon } from './Icon';\nimport { Utils } from './Utils';\nimport devicesIcons from '../assets/devices.json';\nimport roomsIcons from '../assets/rooms.json';\nimport type { Translate } from '../types';\n\n// import devices from '../assets/devices/list.json';\nconst devices: { _id: string; name: ioBroker.StringOrTranslated; icon: string }[] = [\n {\n _id: 'hood',\n name: {\n en: 'Hood',\n ru: 'Вытяжка',\n de: 'Abzugshaube',\n fr: 'Capot',\n it: 'Cappe',\n nl: 'Hood',\n pl: 'Okapy',\n pt: 'Hood',\n es: 'Campana',\n 'zh-cn': '抽油烟机',\n },\n icon: 'Hoods.svg',\n },\n {\n _id: 'alarm_system',\n name: {\n en: 'Alarm System',\n ru: 'Сигнализация',\n de: 'Alarmanlage',\n fr: \"Systèmes D'Alarme\",\n it: 'Sistemi Di Allarme',\n nl: 'Alarm Systems',\n pl: 'Systemy Alarmowe',\n pt: 'Sistemas De Alarme',\n es: 'Sistemas De Alarma',\n 'zh-cn': '报警系统',\n },\n icon: 'Alarm Systems.svg',\n },\n {\n _id: 'battery_status',\n name: {\n en: 'Battery Status',\n ru: 'Заряд батареи',\n de: 'Batteriestatus',\n fr: 'État De La Batterie',\n it: 'Stato Della Batteria',\n nl: 'Batterij Status',\n pl: 'Stan Baterii',\n pt: 'Estado Da Bateria',\n es: 'Estado De La Batería',\n 'zh-cn': '电池状态',\n },\n icon: 'Battery Status.svg',\n },\n {\n _id: 'lighting',\n name: {\n en: 'Lighting',\n ru: 'Светильник',\n de: 'Beleuchtung',\n fr: 'Éclairages',\n it: 'Illuminazione',\n nl: 'Verlichting',\n pl: 'Oprawy Oświetleniowe',\n pt: 'Iluminações',\n es: 'Iluminaciones',\n 'zh-cn': '照明',\n },\n icon: 'Lightings.svg',\n },\n {\n _id: 'shading',\n name: {\n en: 'Shading',\n ru: 'Затенение',\n de: 'Beschattungen',\n fr: 'Ombres',\n it: 'Ombreggiatura',\n nl: 'Shading',\n pl: 'Zacienienie',\n pt: 'Shading',\n es: 'Sombreado',\n 'zh-cn': '底纹',\n },\n icon: 'Shading.svg',\n },\n {\n _id: 'irrigation',\n name: {\n en: 'Irrigation',\n ru: 'Орошение',\n de: 'Bewässerung',\n fr: 'Irrigation',\n it: 'Irrigazione',\n nl: 'Irrigatie',\n pl: 'Nawadnianie',\n pt: 'Irrigação',\n es: 'Irrigación',\n 'zh-cn': '灌溉',\n },\n icon: 'Irrigation.svg',\n },\n {\n _id: 'iron',\n name: {\n en: 'Iron',\n ru: 'Утюг',\n de: 'Bügeleisen',\n fr: 'Le Fer',\n it: 'Ferro',\n nl: 'Ijzer',\n pl: 'Żelazo',\n pt: 'Ferro',\n es: 'Hierro',\n 'zh-cn': '铁',\n },\n icon: 'Iron.svg',\n },\n {\n _id: 'computer',\n name: {\n en: 'Computer',\n ru: 'Компьютер',\n de: 'Rechner',\n fr: \"L'Ordinateur\",\n it: 'Computer',\n nl: 'Computer',\n pl: 'Komputer',\n pt: 'Computador',\n es: 'Ordenador',\n 'zh-cn': '电脑',\n },\n icon: 'Computer.svg',\n },\n {\n _id: 'ceiling_spotlight',\n name: {\n en: 'Ceiling Spotlight',\n ru: 'Потолочный прожектор',\n de: 'Deckenspot',\n fr: 'Plafond Spotlight',\n it: 'Faretti A Soffitto',\n nl: 'Plafond Spotlight',\n pl: 'Reflektory Sufitowe',\n pt: 'Tecto Foco',\n es: 'Focos De Techo',\n 'zh-cn': '天花射灯',\n },\n icon: 'Ceiling Spotlights.svg',\n },\n {\n _id: 'printer',\n name: {\n en: 'Printer',\n de: 'Drucker',\n ru: 'Принтер',\n pt: 'Impressora',\n nl: 'Printer',\n fr: 'Imprimante',\n it: 'Stampante',\n es: 'Impresora',\n pl: 'Drukarka',\n 'zh-cn': '打印机',\n },\n icon: 'Printer.svg',\n },\n {\n _id: 'power_consumption',\n name: {\n en: 'Power Consumption',\n ru: 'Потребляемая мощность',\n de: 'Stromverbrauch',\n fr: \"Consommation D'Énergie\",\n it: 'Consumo Di Energia',\n nl: 'Energieverbruik',\n pl: 'Pobór Energii',\n pt: 'Consumo De Energia',\n es: 'El Consumo De Energía',\n 'zh-cn': '能量消耗',\n },\n icon: 'Power Consumption.svg',\n },\n {\n _id: 'window',\n name: {\n en: 'Window',\n ru: 'Окно',\n de: 'Fenster',\n fr: 'La Fenêtre',\n it: 'Finestra',\n nl: 'Venster',\n pl: 'Okno',\n pt: 'Janela',\n es: 'Ventana',\n 'zh-cn': '窗户',\n },\n icon: 'Window.svg',\n },\n {\n _id: 'garage_door',\n name: {\n en: 'Garage Door',\n ru: 'Гаражные Ворота',\n de: 'Garagentor',\n fr: 'Portes De Garage',\n it: 'Garage Door',\n nl: 'Garage Door',\n pl: 'Bramy Garażowe',\n pt: 'Portas De Garagem',\n es: 'Las Puertas De Garaje',\n 'zh-cn': '车库门',\n },\n icon: 'Garage Doors.svg',\n },\n {\n _id: 'hairdryer',\n name: {\n en: 'Hairdryer',\n ru: 'Фен',\n de: 'Haartrockner',\n fr: 'Sèche-Cheveux',\n it: 'Asciugacapelli',\n nl: 'Haardroger',\n pl: 'Suszarka Do Włosów',\n pt: 'Secador De Cabelo',\n es: 'Secador De Pelo',\n 'zh-cn': '电吹风',\n },\n icon: 'Hairdryer.svg',\n },\n {\n _id: 'hanging_lamp',\n name: {\n en: 'Hanging Lamp',\n ru: 'Подвесной светильник',\n de: 'Hängelampe',\n fr: 'Lampes Suspendues',\n it: 'Lampade A Sospensione',\n nl: 'Opknoping Lampen',\n pl: 'Lampy Wiszące',\n pt: 'Lâmpadas De Suspensão',\n es: 'Lámparas Colgantes',\n 'zh-cn': '挂灯',\n },\n icon: 'Hanging Lamps.svg',\n },\n {\n _id: 'doorstep',\n name: {\n en: 'Enterance',\n ru: 'Входная дверь',\n de: 'Haustür',\n fr: 'Seuil De Porte',\n it: 'Gradino Della Porta',\n nl: 'Drempel',\n pl: 'Próg',\n pt: 'Porta',\n es: 'Peldaño',\n 'zh-cn': '门阶',\n },\n icon: 'Doorstep.svg',\n },\n {\n _id: 'hot_water',\n name: {\n en: 'Hot Water',\n ru: 'Горячая вода',\n de: 'Heißwasser',\n fr: 'Eau Chaude',\n it: 'Acqua Calda',\n nl: 'Heet Water',\n pl: 'Gorąca Woda',\n pt: 'Água Quente',\n es: 'Agua Caliente',\n 'zh-cn': '热水',\n },\n icon: 'Hot Water.svg',\n },\n {\n _id: 'heating',\n name: {\n en: 'Heating',\n ru: 'Отопление',\n de: 'Heizung',\n fr: 'Chauffe-Eau',\n it: 'Riscaldatore',\n nl: 'Verwarmer',\n pl: 'Podgrzewacz',\n pt: 'Aquecedor',\n es: 'Calentador',\n 'zh-cn': '加热器',\n },\n icon: 'Heater.svg',\n },\n {\n _id: 'stove',\n name: {\n en: 'Stove',\n ru: 'Печь',\n de: 'Herd',\n fr: 'Le Fourneau',\n it: 'Stufa',\n nl: 'Fornuis',\n pl: 'Kuchenka',\n pt: 'Forno',\n es: 'Cocina',\n 'zh-cn': '火炉',\n },\n icon: 'Stove.svg',\n },\n {\n _id: 'louvre',\n name: {\n en: 'Louvre',\n ru: 'Жалюзи',\n de: 'Jalousie',\n fr: 'Persienne',\n it: 'Persiana Di Ventilazione',\n nl: 'Louvre',\n pl: 'Żaluzja',\n pt: 'Trapeira',\n es: 'Lumbrera',\n 'zh-cn': '卢浮宫',\n },\n icon: 'Louvre.svg',\n },\n {\n _id: 'coffee_maker',\n name: {\n en: 'Coffee Maker',\n ru: 'Кофеварка',\n de: 'Kaffemaschine',\n fr: 'Cafetière',\n it: 'Macchine Da Caffè',\n nl: 'Koffie Maker',\n pl: 'Ekspresy Do Kawy',\n pt: 'Cafeteira',\n es: 'Cafetera',\n 'zh-cn': '咖啡壶',\n },\n icon: 'Coffee Makers.svg',\n },\n {\n _id: 'cold_water',\n name: {\n en: 'Cold Water',\n ru: 'Холодная вода',\n de: 'Kaltwasser',\n fr: 'Eau Froide',\n it: 'Acqua Fredda',\n nl: 'Koud Water',\n pl: 'Zimna Woda',\n pt: 'Água Fria',\n es: 'Agua Fría',\n 'zh-cn': '冷水',\n },\n icon: 'Cold Water.svg',\n },\n {\n _id: 'climate',\n name: {\n en: 'Climate',\n ru: 'Климат',\n de: 'Klima',\n fr: 'Climat',\n it: 'Clima',\n nl: 'Klimaat',\n pl: 'Klimat',\n pt: 'Clima',\n es: 'Clima',\n 'zh-cn': '气候',\n },\n icon: 'Climate.svg',\n },\n {\n _id: 'speaker',\n name: {\n en: 'Speaker',\n ru: 'Звуковая система',\n de: 'Lautsprecher',\n fr: 'Orateur',\n it: 'Altoparlante',\n nl: 'Spreker',\n pl: 'Głośnik',\n pt: 'Palestrante',\n es: 'Altavoz',\n 'zh-cn': '扬声器',\n },\n icon: 'Speaker.svg',\n },\n {\n _id: 'led_strip',\n name: {\n en: 'Led Strip',\n ru: 'Светодиодная лента',\n de: 'LED Leiste',\n fr: 'Led Strip',\n it: 'Led Strip',\n nl: 'Loden Strip',\n pl: 'Pasek Ledowy',\n pt: 'Led Faixa',\n es: 'Tira Llevada',\n 'zh-cn': '灯带',\n },\n icon: 'Led Strip.svg',\n },\n {\n _id: 'light',\n name: {\n en: 'Light',\n ru: 'Свет',\n de: 'Licht',\n fr: 'Lumière',\n it: 'Leggero',\n nl: 'Licht',\n pl: 'Lekki',\n pt: 'Luz',\n es: 'Luz',\n 'zh-cn': '光',\n },\n icon: 'Light.svg',\n },\n {\n _id: 'fan',\n name: {\n en: 'Fan',\n ru: 'Вентилятор',\n de: 'Lüfter',\n fr: 'Ventilateur',\n it: 'Fan',\n nl: 'Ventilator',\n pl: 'Wentylator',\n pt: 'Ventilador',\n es: 'Ventilador',\n 'zh-cn': '扇子',\n },\n icon: 'Fan.svg',\n },\n {\n _id: 'humidity',\n name: {\n en: 'Humidity',\n ru: 'Влажность',\n de: 'Luftfeuchtigkeit',\n fr: 'Humidité',\n it: 'Umidità',\n nl: 'Vochtigheid',\n pl: 'Wilgotność',\n pt: 'Umidade',\n es: 'Humedad',\n 'zh-cn': '湿度',\n },\n icon: 'Humidity.svg',\n },\n {\n _id: 'ventilation',\n name: {\n en: 'Ventilation',\n ru: 'Вентиляция',\n de: 'Lüftung',\n fr: 'Ventilation',\n it: 'Ventilazione',\n nl: 'Ventilatie',\n pl: 'Wentylacja',\n pt: 'Ventilação',\n es: 'Ventilación',\n 'zh-cn': '通风',\n },\n icon: 'Ventilation.svg',\n },\n {\n _id: 'chandelier',\n name: {\n en: 'Chandelier',\n ru: 'Люстра',\n de: 'Kronleuchter',\n fr: 'Lustre',\n it: 'Lampadario',\n nl: 'Kroonluchter',\n pl: 'Żyrandol',\n pt: 'Lustre',\n es: 'Candelabro',\n 'zh-cn': '枝形吊灯',\n },\n icon: 'Chandelier.svg',\n },\n {\n _id: 'awning',\n name: {\n en: 'Awning',\n ru: 'Маркиза',\n de: 'Markise',\n fr: 'Auvents',\n it: 'Tende',\n nl: 'Luifels',\n pl: 'Okrycia',\n pt: 'Toldos',\n es: 'Toldos',\n 'zh-cn': '遮阳篷',\n },\n icon: 'Awnings.svg',\n },\n {\n _id: 'music',\n name: {\n en: 'Music',\n ru: 'Музыка',\n de: 'Musik',\n fr: 'Musique',\n it: 'Musica',\n nl: 'Muziek',\n pl: 'Muzyka',\n pt: 'Música',\n es: 'Música',\n 'zh-cn': '音乐',\n },\n icon: 'Music.svg',\n },\n {\n _id: 'people',\n name: {\n en: 'People',\n ru: 'Люди',\n de: 'Personen',\n fr: 'Gens',\n it: 'Persone',\n nl: 'Mensen',\n pl: 'Ludzie',\n pt: 'Pessoas',\n es: 'Personas',\n 'zh-cn': '人们',\n },\n icon: 'People.svg',\n },\n {\n _id: 'pool',\n name: {\n en: 'Pool',\n ru: 'Бассейн',\n de: 'Pool',\n fr: 'Piscine',\n it: 'Piscina',\n nl: 'Zwembad',\n pl: 'Basen',\n pt: 'Piscina',\n es: 'Piscina',\n 'zh-cn': '水池',\n },\n icon: 'Pool.svg',\n },\n {\n _id: 'pump',\n name: {\n en: 'Pump',\n ru: 'Насос',\n de: 'Pumpe',\n fr: 'Pompe',\n it: 'Pompa',\n nl: 'Pomp',\n pl: 'Pompa',\n pt: 'Bombear',\n es: 'Bomba',\n 'zh-cn': '泵',\n },\n icon: 'Pump.svg',\n },\n {\n _id: 'outdoor_blinds',\n name: {\n en: 'Outdoor Blinds',\n ru: 'Внещгте жалюзи',\n de: 'Raffstore',\n fr: 'Volets',\n it: 'Tende Da Esterni',\n nl: 'Outdoor Blinds',\n pl: 'Rolety Zewnętrzne',\n pt: 'Estores Exteriores',\n es: 'Persianas Exteriores',\n 'zh-cn': '室外百叶窗',\n },\n icon: 'Outdoor Blinds.svg',\n },\n {\n _id: 'mowing_machine',\n name: {\n en: 'Mowing Machine',\n ru: 'Газонокосилка',\n de: 'Rasenmäher',\n fr: 'Machine De Fauchage',\n it: 'Macchina Di Falciatura',\n nl: 'Maaimachine',\n pl: 'Kosiarka',\n pt: 'Roçada Máquina',\n es: 'Segadora',\n 'zh-cn': '割草机',\n },\n icon: 'Mowing Machine.svg',\n },\n {\n _id: 'receiver',\n name: {\n en: 'Receiver',\n ru: 'Приставка',\n de: 'Receiver',\n fr: 'Destinataire',\n it: 'Ricevitore',\n nl: 'Ontvanger',\n pl: 'Odbiorca',\n pt: 'Recebedor',\n es: 'Receptor',\n 'zh-cn': '接收者',\n },\n icon: 'Receiver.svg',\n },\n {\n _id: 'shutters',\n name: {\n en: 'Shutters',\n ru: 'Ставни',\n de: 'Rollladen',\n fr: 'Volets',\n it: 'Persiane',\n nl: 'Shutters',\n pl: 'Żaluzje',\n pt: 'Persianas',\n es: 'Persianas',\n 'zh-cn': '百叶窗',\n },\n icon: 'Shutters.svg',\n },\n {\n _id: 'smoke_detector',\n name: {\n en: 'Smoke detector',\n de: 'Rauchmelder',\n ru: 'Детектор дыма',\n pt: 'Detector de fumaça',\n nl: 'Rookdetector',\n fr: 'Détecteur de fumée',\n it: 'Rilevatore di fumo',\n es: 'Detector de humo',\n pl: 'Wykrywacz dymu',\n 'zh-cn': '烟雾探测器',\n },\n icon: 'SmokeDetector.svg',\n },\n {\n _id: 'lock',\n name: {\n en: 'Lock',\n ru: 'Замок',\n de: 'Schloß',\n fr: 'Fermer À Clé',\n it: 'Serratura',\n nl: 'Slot',\n pl: 'Zamek',\n pt: 'Trancar',\n es: 'Cerrar Con Llave',\n 'zh-cn': '锁',\n },\n icon: 'Lock.svg',\n },\n {\n _id: 'security',\n name: {\n en: 'Security',\n ru: 'Безопасность',\n de: 'Sicherheit',\n fr: 'Sécurité',\n it: 'Sicurezza',\n nl: 'Veiligheid',\n pl: 'Bezpieczeństwo',\n pt: 'Segurança',\n es: 'Seguridad',\n 'zh-cn': '安全',\n },\n icon: 'Security.svg',\n },\n {\n _id: 'dishwasher',\n name: {\n en: 'Dishwasher',\n ru: 'Посудомоечная машина',\n de: 'Spülmaschine',\n fr: 'Lave-Vaisselles',\n it: 'Lavastoviglie',\n nl: 'Vaatwassers',\n pl: 'Zmywarki',\n pt: 'Máquinas De Lavar Louça',\n es: 'Lavaplatos',\n 'zh-cn': '洗碗机',\n },\n icon: 'Dishwashers.svg',\n },\n {\n _id: 'vacuum_cleaner',\n name: {\n en: 'Vacuum Cleaner',\n ru: 'Пылесос',\n de: 'Staubsauger',\n fr: 'Aspirateur',\n it: 'Aspirapolvere',\n nl: 'Stofzuiger',\n pl: 'Odkurzacz',\n pt: 'Aspirador De Pó',\n es: 'Aspiradora',\n 'zh-cn': '吸尘器',\n },\n icon: 'Vacuum Cleaner.svg',\n },\n {\n _id: 'socket',\n name: {\n en: 'Socket',\n ru: 'Розетка',\n de: 'Steckdose',\n fr: 'Prise',\n it: 'Socket',\n nl: 'Socket',\n pl: 'Gniazdka',\n pt: 'Tomada',\n es: 'Zócalo',\n 'zh-cn': '套接字',\n },\n icon: 'Sockets.svg',\n },\n {\n _id: 'floor_lamp',\n name: {\n en: 'Floor Lamp',\n ru: 'Торшер',\n de: 'Stehlampe',\n fr: 'Lampes Pour Plancher',\n it: 'Lampade A Stelo',\n nl: 'Vloerlampen',\n pl: 'Lampy Podłogowe',\n pt: 'Lâmpadas Chão',\n es: 'Lámparas De Pie',\n 'zh-cn': '落地灯',\n },\n icon: 'Floor Lamps.svg',\n },\n {\n _id: 'power_consumption',\n name: {\n en: 'Power Consumption',\n ru: 'Потребляемая мощность',\n de: 'Stromverbrauch',\n fr: \"Consommation D'Énergie\",\n it: 'Consumo Di Energia',\n nl: 'Energieverbruik',\n pl: 'Pobór Energii',\n pt: 'Consumo De Energia',\n es: 'El Consumo De Energía',\n 'zh-cn': '能量消耗',\n },\n icon: 'Power Consumption.svg',\n },\n {\n _id: 'temperature_sensor',\n name: {\n en: 'Temperature Sensor',\n ru: 'Температурный датчик',\n de: 'Temperatur-Sensor',\n fr: 'Capteur De Température',\n it: 'Sensori Di Temperatura',\n nl: 'Temperatuursensor',\n pl: 'Czujniki Temperatury',\n pt: 'Sensores De Temperatura',\n es: 'Sensores De Temperatura',\n 'zh-cn': '温度传感器',\n },\n icon: 'Temperature Sensors.svg',\n },\n {\n _id: 'table_lamp',\n name: {\n en: 'Table Lamp',\n ru: 'Настольная лампа',\n de: 'Tischlampe',\n fr: 'Lampe De Chevet',\n it: 'Lampade Da Tavolo',\n nl: 'Tafellampen',\n pl: 'Lampy Stołowe',\n pt: 'Lâmpadas De Mesa',\n es: 'Lámparas De Mesa',\n 'zh-cn': '台灯',\n },\n icon: 'Table Lamps.svg',\n },\n {\n _id: 'gate',\n name: {\n en: 'Gate',\n ru: 'Ворота',\n de: 'Tor',\n fr: 'Porte',\n it: 'Gate',\n nl: 'Gate',\n pl: 'Bramy',\n pt: 'Portões',\n es: 'Puertas',\n 'zh-cn': '盖茨',\n },\n icon: 'Gates.svg',\n },\n {\n _id: 'dryer',\n name: {\n en: 'Dryer',\n ru: 'Сушилка',\n de: 'Trockner',\n fr: 'Séchoir',\n it: 'Asciugatrice',\n nl: 'Droger',\n pl: 'Suszarka',\n pt: 'Secador',\n es: 'Secadora',\n 'zh-cn': '烘干机',\n },\n icon: 'Dryer.svg',\n },\n {\n _id: 'door',\n name: {\n en: 'Door',\n ru: 'Дверь',\n de: 'Tür',\n fr: 'Des Portes',\n it: 'Porte',\n nl: 'Deuren',\n pl: 'Drzwi',\n pt: 'Portas',\n es: 'Puertas',\n 'zh-cn': '门',\n },\n icon: 'Doors.svg',\n },\n {\n _id: 'tv',\n name: {\n en: 'Tv',\n ru: 'Телевизор',\n de: 'TV',\n fr: 'La Télé',\n it: 'Tv',\n nl: 'Tv',\n pl: 'Telewizja',\n pt: 'Televisão',\n es: 'Televisor',\n 'zh-cn': '电视',\n },\n icon: 'Tv.svg',\n },\n {\n _id: 'consumption',\n name: {\n en: 'Consumption',\n ru: 'Потребление',\n de: 'Verbrauch',\n fr: 'Consommation',\n it: 'Consumo',\n nl: 'Consumptie',\n pl: 'Konsumpcja',\n pt: 'Consumo',\n es: 'Consumo',\n 'zh-cn': '消费',\n },\n icon: 'Consumption.svg',\n },\n {\n _id: 'amplifier',\n name: {\n en: 'Amplifier',\n ru: 'Усилитель звука',\n de: 'Verstärker',\n fr: 'Amplificateur',\n it: 'Amplificatore',\n nl: 'Versterker',\n pl: 'Wzmacniacz',\n pt: 'Amplificador',\n es: 'Amplificador',\n 'zh-cn': '放大器',\n },\n icon: 'Amplifier.svg',\n },\n {\n _id: 'curtains',\n name: {\n en: 'Curtains',\n ru: 'Шторы',\n de: 'Vorhänge',\n fr: 'Des Rideaux',\n it: 'Le Tende',\n nl: 'Gordijnen',\n pl: 'Zasłony',\n pt: 'Cortinas',\n es: 'Cortinas',\n 'zh-cn': '窗帘',\n },\n icon: 'Curtains.svg',\n },\n {\n _id: 'sconce',\n name: {\n en: 'Sconce',\n ru: 'Настенный светильник',\n de: 'Wandlampe',\n fr: 'Sconce',\n it: 'Sconce',\n nl: 'Sconce',\n pl: 'Kinkiety',\n pt: 'Arandelas',\n es: 'Los Apliques',\n 'zh-cn': '壁灯',\n },\n icon: 'Sconces.svg',\n },\n {\n _id: 'washing_machine',\n name: {\n en: 'Washing Machine',\n ru: 'Стиральная машина',\n de: 'Waschmaschine',\n fr: 'Machines À Laver',\n it: 'Lavatrici',\n nl: 'Wasmachines',\n pl: 'Pralki',\n pt: 'Máquinas De Lavar Roupas',\n es: 'Lavadoras',\n 'zh-cn': '洗衣机',\n },\n icon: 'Washing Machines.svg',\n },\n {\n _id: 'water',\n name: {\n en: 'Water',\n ru: 'Вода',\n de: 'Wasser',\n fr: \"L'Eau\",\n it: 'Acqua',\n nl: 'Water',\n pl: 'Woda',\n pt: 'Água',\n es: 'Agua',\n 'zh-cn': '水',\n },\n icon: 'Water.svg',\n },\n {\n _id: 'water_heater',\n name: {\n en: 'Water Heater',\n ru: 'Нагреватель воды',\n de: 'Wasserkocher',\n fr: 'Chauffe-Eau',\n it: 'Scaldabagno',\n nl: 'Waterkoker',\n pl: 'Podgrzewacz Wody',\n pt: 'Aquecedor De Água',\n es: 'Calentador De Agua',\n 'zh-cn': '热水器',\n },\n icon: 'Water Heater.svg',\n },\n {\n _id: 'water_consumption',\n name: {\n en: 'Water Consumption',\n ru: 'Потребление воды',\n de: 'Wasserverbrauch',\n fr: \"Consommation D'Eau\",\n it: \"Consumo D'Acqua\",\n nl: 'Waterverbruik',\n pl: 'Konsumpcja Wody',\n pt: 'Consumo De Água',\n es: 'Consumo De Agua',\n 'zh-cn': '耗水量',\n },\n icon: 'Water Consumption.svg',\n },\n {\n _id: 'weather',\n name: {\n en: 'Weather',\n ru: 'Погода',\n de: 'Wetter',\n fr: 'La Météo',\n it: 'Tempo Metereologico',\n nl: 'Weer',\n pl: 'Pogoda',\n pt: 'Clima',\n es: 'Tiempo',\n 'zh-cn': '天气',\n },\n icon: 'Weather.svg',\n },\n];\n\n// import rooms from '../assets/rooms/list.json';\nconst rooms: { _id: string; name: ioBroker.StringOrTranslated; icon: string }[] = [\n {\n _id: 'storeroom',\n name: {\n en: 'Storeroom',\n ru: 'Кладовая',\n de: 'Abstellraum',\n fr: 'Débarras',\n it: 'Dispensa',\n nl: 'Bergplaats',\n pl: 'Magazyn',\n pt: 'Despensa',\n es: 'Trastero',\n 'zh-cn': '库房',\n },\n icon: 'Storeroom.svg',\n },\n {\n _id: 'second_floor',\n name: {\n en: 'Second floor',\n ru: 'Второй этаж',\n de: 'Erster OG',\n pt: 'Primeiro andar',\n nl: 'Eerste verdieping',\n fr: 'Premier étage',\n it: 'Primo piano',\n es: 'Primer piso',\n pl: 'Pierwsze piętro',\n 'zh-cn': '第一层',\n },\n icon: 'Second Floor.svg',\n },\n {\n _id: 'dressing_room',\n name: {\n en: 'Dressing Room',\n ru: 'Гардеробная',\n de: 'Ankleide',\n fr: 'Vestiaire',\n it: 'Camerino',\n nl: 'Kleedkamer',\n pl: 'Przebieralnia',\n pt: 'Provador',\n es: 'Vestidor',\n 'zh-cn': '更衣室',\n },\n icon: 'Dressing Room.svg',\n },\n {\n _id: 'workspace',\n name: {\n en: 'Workspace',\n ru: 'Рабочая Среда',\n de: 'Arbeitszimmer',\n fr: 'Espace De Travail',\n it: 'Area Di Lavoro',\n nl: 'Workspace',\n pl: 'Workspace',\n pt: 'Área De Trabalho',\n es: 'Espacio De Trabajo',\n 'zh-cn': '工作区',\n },\n icon: 'Workspace.svg',\n },\n {\n _id: 'driveway',\n name: {\n en: 'Driveway',\n ru: 'Дорога',\n de: 'Auffahrt',\n fr: 'Allée',\n it: 'Viale',\n nl: 'Pad',\n pl: 'Podjazd',\n pt: 'Entrada Da Garagem',\n es: 'Entrada De Coches',\n 'zh-cn': '车道',\n },\n icon: 'Driveway.svg',\n },\n {\n _id: 'outdoors',\n name: {\n en: 'Outdoors',\n ru: 'На Улице',\n de: 'Außenbereich',\n fr: 'En Plein Air',\n it: \"All'Aperto\",\n nl: 'Buitenshuis',\n pl: 'Na Dworze',\n pt: 'Ao Ar Livre',\n es: 'Al Aire Libre',\n 'zh-cn': '户外',\n },\n icon: 'Outdoors.svg',\n },\n {\n _id: 'bathroom',\n name: {\n en: 'Bathroom',\n ru: 'Ванная Комната',\n de: 'Badezimmer',\n fr: 'Salle De Bains',\n it: 'Bagno',\n nl: 'Badkamer',\n pl: 'Łazienka',\n pt: 'Banheiro',\n es: 'Baño',\n 'zh-cn': '浴室',\n },\n icon: 'Bathroom.svg',\n },\n {\n _id: 'balcony',\n name: {\n en: 'Balcony',\n ru: 'Балкон',\n de: 'Balkon',\n fr: 'Balcon',\n it: 'Balcone',\n nl: 'Balkon',\n pl: 'Balkon',\n pt: 'Sacada',\n es: 'Balcón',\n 'zh-cn': '阳台',\n },\n icon: 'Balcony.svg',\n },\n {\n _id: 'office',\n name: {\n en: 'Office',\n ru: 'Офис',\n de: 'Office',\n fr: 'Bureau',\n it: 'Ufficio',\n nl: 'Kantoor',\n pl: 'Gabinet',\n pt: 'Escritório',\n es: 'Oficina',\n 'zh-cn': '办公室',\n },\n icon: 'Office.svg',\n },\n {\n _id: 'carport',\n name: {\n en: 'Carport',\n ru: 'Навес',\n de: 'Carport',\n fr: 'Carport',\n it: 'Posto Auto Coperto',\n nl: 'Carport',\n pl: 'Wiata',\n pt: 'Telheiro',\n es: 'Cochera',\n 'zh-cn': '车棚',\n },\n icon: 'Carport.svg',\n },\n {\n _id: 'attic',\n name: {\n en: 'Attic',\n ru: 'Чердак',\n de: 'Dachgeschoss',\n fr: 'Grenier',\n it: 'Attico',\n nl: 'Zolder',\n pl: 'Poddasze',\n pt: 'Sótão',\n es: 'Ático',\n 'zh-cn': '阁楼',\n },\n icon: 'Attic.svg',\n },\n {\n _id: 'hall',\n name: {\n en: 'Hall',\n ru: 'Зал',\n de: 'Diele',\n fr: 'Salle',\n it: 'Sala',\n nl: 'Hal',\n pl: 'Sala',\n pt: 'Corredor',\n es: 'Sala',\n 'zh-cn': '大厅',\n },\n icon: 'Hall.svg',\n },\n {\n _id: 'entrance',\n name: {\n en: 'Entrance',\n ru: 'Вход',\n de: 'Eingang',\n fr: 'Entrée',\n it: 'Ingresso',\n nl: 'Ingang',\n pl: 'Wejście',\n pt: 'Entrada',\n es: 'Entrada',\n 'zh-cn': '入口',\n },\n icon: 'Entrance.svg',\n },\n {\n _id: 'ground_floor',\n name: {\n en: 'Ground Floor',\n ru: 'Первый Этаж',\n de: 'Erdgeschoss',\n fr: 'Rez-De-Chaussée',\n it: 'Piano Terra',\n nl: 'Begane Grond',\n pl: 'Parter',\n pt: 'Térreo',\n es: 'Planta Baja',\n 'zh-cn': '一楼',\n },\n icon: 'Ground Floor.svg',\n },\n {\n _id: 'dining_area',\n name: {\n en: 'Dining Area',\n ru: 'Столовая',\n de: 'Essbereich',\n fr: 'Salle À Manger',\n it: 'Zona Pranzo',\n nl: 'Eethoek',\n pl: 'Jadalnia',\n pt: 'Área De Refeições',\n es: 'Comedor',\n 'zh-cn': '用餐区',\n },\n icon: 'Dining Area.svg',\n },\n {\n _id: 'dining_room',\n name: {\n en: 'Dining Room',\n ru: 'Столовая',\n de: 'Esszimmer',\n fr: 'Salle À Manger',\n it: 'Sala Da Pranzo',\n nl: 'Eetkamer',\n pl: 'Jadalnia',\n pt: 'Sala De Jantar',\n es: 'Comedor',\n 'zh-cn': '饭厅',\n },\n icon: 'Dining Room.svg',\n },\n {\n _id: 'gym',\n name: {\n en: 'Gym',\n ru: 'Спортзал',\n de: 'Fitnessraum',\n fr: 'Gym',\n it: 'Palestra',\n nl: 'Sportschool',\n pl: 'Siłownia',\n pt: 'Ginásio',\n es: 'Gimnasio',\n 'zh-cn': '健身房',\n },\n icon: 'Gym.svg',\n },\n {\n _id: 'gallery',\n name: {\n en: 'Gallery',\n ru: 'Галерея',\n de: 'Galerie',\n fr: 'Galerie',\n it: 'Galleria',\n nl: 'Galerij',\n pl: 'Galeria',\n pt: 'Galeria',\n es: 'Galería',\n 'zh-cn': '画廊',\n },\n icon: 'Gallery.svg',\n },\n {\n _id: 'garage',\n name: {\n en: 'Garage',\n ru: 'Гараж',\n de: 'Garage',\n fr: 'Garage',\n it: 'Box Auto',\n nl: 'Garage',\n pl: 'Garaż',\n pt: 'Garagem',\n es: 'Garaje',\n 'zh-cn': '车库',\n },\n icon: 'Garage.svg',\n },\n {\n _id: 'wardrobe',\n name: {\n en: 'Wardrobe',\n ru: 'Гардероб',\n de: 'Garderobe',\n fr: 'Penderie',\n it: 'Armadio',\n nl: 'Garderobe',\n pl: 'Szafa',\n pt: 'Guarda Roupa',\n es: 'Armario',\n 'zh-cn': '衣柜',\n },\n icon: 'Wardrobe.svg',\n },\n {\n _id: 'garden',\n name: {\n en: 'Garden',\n ru: 'Сад',\n de: 'Garten',\n fr: 'Jardin',\n it: 'Giardino',\n nl: 'Tuin',\n pl: 'Ogród',\n pt: 'Jardim',\n es: 'Jardín',\n 'zh-cn': '花园',\n },\n icon: 'Garden.svg',\n },\n {\n _id: 'summer_house',\n name: {\n en: 'Summer House',\n ru: 'Дача',\n de: 'Gartenhaus',\n fr: \"Maison D'Été\",\n it: 'Casa Estiva',\n nl: 'Zomerhuis',\n pl: 'Domek Letniskowy',\n pt: 'Summer House',\n es: 'Casa De Verano',\n 'zh-cn': '凉亭',\n },\n icon: 'Summer House.svg',\n },\n {\n _id: 'guest_bathroom',\n name: {\n en: 'Guest Bathroom',\n ru: 'Гостевая Комната',\n de: 'Gäste-WC',\n fr: 'Salle De Bains Invité',\n it: 'Guest Bathroom',\n nl: 'Gastenbadkamer',\n pl: 'Łazienka Gościnna',\n pt: 'Banheiro De Hóspedes',\n es: 'Baño De Visitas',\n 'zh-cn': '客用浴室',\n },\n icon: 'Guest Bathroom.svg',\n },\n {\n _id: 'guest_room',\n name: {\n en: 'Guest Room',\n ru: 'Гостевая Комната',\n de: 'Gästezimmer',\n fr: \"Chambre D'Amis\",\n it: 'Stanza Degli Ospiti',\n nl: 'Guest Room',\n pl: 'Pokój Gościnny',\n pt: 'Quarto De Hóspedes',\n es: 'Habitación De Huéspedes',\n 'zh-cn': '客房',\n },\n icon: 'Guest Room.svg',\n },\n {\n _id: 'laundry_room',\n name: {\n en: 'Laundry Room',\n ru: 'Прачечная',\n de: 'Hauswirtschaftsraum',\n fr: 'Buanderie',\n it: 'Lavanderia',\n nl: 'Wasruimte',\n pl: 'Pralnia',\n pt: 'Lavandaria',\n es: 'Cuarto De Lavado',\n 'zh-cn': '洗衣房',\n },\n icon: 'Laundry Room.svg',\n },\n {\n _id: 'home_theater',\n name: {\n en: 'Home Theater',\n ru: 'Домашний Театр',\n de: 'Heimkino',\n fr: 'Cinéma Maison',\n it: 'Home Theater',\n nl: 'Thuisbioscoop',\n pl: 'Kino Domowe',\n pt: 'Cinema Em Casa',\n es: 'Cine En Casa',\n 'zh-cn': '家庭电影院',\n },\n icon: 'Home Theater.svg',\n },\n {\n _id: 'boiler_room',\n name: {\n en: 'Boiler Room',\n ru: 'Бойлерная',\n de: 'Heizungsraum',\n fr: 'Chaufferie',\n it: 'Locale Caldaia',\n nl: 'Boiler Room',\n pl: 'Kotłownia',\n pt: 'Sala Da Caldeira',\n es: 'Sala De Calderas',\n 'zh-cn': '锅炉房',\n },\n icon: 'Boiler Room.svg',\n },\n {\n _id: 'chamber',\n name: {\n en: 'Chamber',\n ru: 'Камера',\n de: 'Kammer',\n fr: 'Chambre',\n it: 'Camera',\n nl: 'Kamer',\n pl: 'Izba',\n pt: 'Câmara',\n es: 'Cámara',\n 'zh-cn': '商会',\n },\n icon: 'Chamber.svg',\n },\n {\n _id: 'basement,_cellar',\n name: {\n en: 'Basement, Cellar',\n ru: 'Подвал, Погреб',\n de: 'Keller',\n fr: 'Sous-Sol, Cave',\n it: 'Taverna, Cantina',\n nl: 'Kelder, Kelder',\n pl: 'Piwnica, Piwnica',\n pt: 'Porão, Adega',\n es: 'Sótano, Bodega',\n 'zh-cn': '地下室,地窖',\n },\n icon: 'Basement.svg',\n },\n {\n _id: 'nursery',\n name: {\n en: 'Nursery',\n ru: 'Питомник',\n de: 'Kinderzimmer',\n fr: 'Garderie',\n it: 'Asilo',\n nl: 'Kinderkamer',\n pl: 'Żłobek',\n pt: 'Berçário',\n es: 'Guardería',\n 'zh-cn': '苗圃',\n },\n icon: 'Nursery.svg',\n },\n {\n _id: 'corridor',\n name: {\n en: 'Corridor',\n ru: 'Коридор',\n de: 'Korridor',\n fr: 'Couloir',\n it: 'Corridoio',\n nl: 'Gang',\n pl: 'Korytarz',\n pt: 'Corredor',\n es: 'Corredor',\n 'zh-cn': '走廊',\n },\n icon: 'Corridor.svg',\n },\n {\n _id: 'kitchen',\n name: {\n en: 'Kitchen',\n ru: 'Кухня',\n de: 'Küche',\n fr: 'Cuisine',\n it: 'Cucina',\n nl: 'Keuken',\n pl: 'Kuchnia',\n pt: 'Cozinha',\n es: 'Cocina',\n 'zh-cn': '厨房',\n },\n icon: 'Kitchen.svg',\n },\n {\n _id: 'upstairs',\n name: {\n en: 'Upstairs',\n ru: 'Вверх По Лестнице',\n de: 'Obergeschoss',\n fr: 'En Haut',\n it: 'Di Sopra',\n nl: 'Boven',\n pl: 'Na Górę',\n pt: 'Andar De Cima',\n es: 'Piso Superior',\n 'zh-cn': '楼上',\n },\n icon: 'Upstairs.svg',\n },\n {\n _id: 'office',\n name: {\n en: 'Office',\n ru: 'Офис',\n de: 'Office',\n fr: 'Bureau',\n it: 'Ufficio',\n nl: 'Kantoor',\n pl: 'Gabinet',\n pt: 'Escritório',\n es: 'Oficina',\n 'zh-cn': '办公室',\n },\n icon: 'Office.svg',\n },\n {\n _id: 'pool',\n name: {\n en: 'Pool',\n ru: 'Бассейн',\n de: 'Pool',\n fr: 'Piscine',\n it: 'Piscina',\n nl: 'Zwembad',\n pl: 'Basen',\n pt: 'Piscina',\n es: 'Piscina',\n 'zh-cn': '水池',\n },\n icon: 'Pool.svg',\n },\n {\n _id: 'rear_wall',\n name: {\n en: 'Rear Wall',\n ru: 'Задняя Стенка',\n de: 'Rückwand',\n fr: 'Paroi Arrière',\n it: 'Parete Posteriore',\n nl: 'Achterwand',\n pl: 'Tylna Ściana',\n pt: 'Parede Traseira',\n es: 'Pared Posterior',\n 'zh-cn': '后墙',\n },\n icon: 'Rear Wall.svg',\n },\n {\n _id: 'barn',\n name: {\n en: 'Barn',\n ru: 'Амбар',\n de: 'Scheune',\n fr: 'Grange',\n it: 'Fienile',\n nl: 'Schuur',\n pl: 'Stodoła',\n pt: 'Celeiro',\n es: 'Granero',\n 'zh-cn': '谷仓',\n },\n icon: 'Barn.svg',\n },\n {\n _id: 'sleeping_area',\n name: {\n en: 'Sleeping Area',\n ru: 'Спальное Место',\n de: 'Schlafbereich',\n fr: 'Coin Montagne',\n it: 'Area Sleeping',\n nl: 'Sleeping Area',\n pl: 'Powierzchnia Spania',\n pt: 'Sleeping Area',\n es: 'Área De Dormir',\n 'zh-cn': '睡眠区',\n },\n icon: 'Sleeping Area.svg',\n },\n {\n _id: 'bedroom',\n name: {\n en: 'Bedroom',\n ru: 'Спальная Комната',\n de: 'Schlafzimmer',\n fr: 'Chambre',\n it: 'Camera Da Letto',\n nl: 'Slaapkamer',\n pl: 'Sypialnia',\n pt: 'Quarto',\n es: 'Cuarto',\n 'zh-cn': '卧室',\n },\n icon: 'Bedroom.svg',\n },\n {\n _id: 'shed',\n name: {\n en: 'Shed',\n ru: 'Сбрасывать',\n de: 'Schuppen',\n fr: 'Hangar',\n it: 'Capannone',\n nl: 'Schuur',\n pl: 'Budka',\n pt: 'Cabana',\n es: 'Cobertizo',\n 'zh-cn': '棚',\n },\n icon: 'Shed.svg',\n },\n {\n _id: 'swimming_pool',\n name: {\n en: 'Swimming Pool',\n ru: 'Плавательный Бассейн',\n de: 'Schwimmbad',\n fr: 'Piscine',\n it: 'Piscina',\n nl: 'Zwembad',\n pl: 'Basen',\n pt: 'Piscina',\n es: 'Piscina',\n 'zh-cn': '游泳池',\n },\n icon: 'Swimming Pool.svg',\n },\n {\n _id: 'dining',\n name: {\n en: 'Dining',\n ru: 'Обеденный',\n de: 'Speis',\n fr: 'À Manger',\n it: 'Cenare',\n nl: 'Dining',\n pl: 'Jadalnia',\n pt: 'Jantar',\n es: 'Comida',\n 'zh-cn': '用餐',\n },\n icon: 'Dining.svg',\n },\n {\n _id: 'playroom',\n name: {\n en: 'Playroom',\n ru: 'Игровая Комната',\n de: 'Spielzimmer',\n fr: 'Salle De Jeux',\n it: 'Stanza Dei Giochi',\n nl: 'Speelkamer',\n pl: 'Pokój Zabaw',\n pt: 'Sala De Jogos',\n es: 'Cuarto De Jugar',\n 'zh-cn': '游戏室',\n },\n icon: 'Playroom.svg',\n },\n {\n _id: 'stairway',\n name: {\n en: 'Stairway',\n ru: 'Лестница',\n de: 'Treppe',\n fr: 'Escalier',\n it: 'Scala',\n nl: 'Trap',\n pl: 'Klatka Schodowa',\n pt: 'Escada',\n es: 'Escalera',\n 'zh-cn': '楼梯',\n },\n icon: 'Stairway.svg',\n },\n {\n _id: 'equipment_room',\n name: {\n en: 'Equipment Room',\n ru: 'Оборудование Номера',\n de: 'Technikraum',\n fr: \"Salle D'Équipement\",\n it: 'Stanza Degli Attrezzi',\n nl: 'Technische Ruimte',\n pl: 'Wyposażenie Pokoi',\n pt: 'Sala De Equipamentos',\n es: 'Cuarto De Equipos',\n 'zh-cn': '机房',\n },\n icon: 'Equipment Room.svg',\n },\n {\n _id: 'terrace',\n name: {\n en: 'Terrace',\n ru: 'Терраса',\n de: 'Terrasse',\n fr: 'Terrasse',\n it: 'Terrazza',\n nl: 'Terras',\n pl: 'Taras',\n pt: 'Terraço',\n es: 'Terraza',\n 'zh-cn': '阳台',\n },\n icon: 'Terrace.svg',\n },\n {\n _id: 'toilet',\n name: {\n en: 'Toilet',\n ru: 'Туалет',\n de: 'Toilette',\n fr: 'Toilette',\n it: 'Gabinetto',\n nl: 'Toilet',\n pl: 'Toaleta',\n pt: 'Banheiro',\n es: 'Inodoro',\n 'zh-cn': '洗手间',\n },\n icon: 'Toilet.svg',\n },\n {\n _id: 'stairwell',\n name: {\n en: 'Stairwell',\n ru: 'Лестничная клетка',\n de: 'Treppenhaus',\n fr: \"Cage D'Escalier\",\n it: 'Tromba Delle Scale',\n nl: 'Trappenhuis',\n pl: 'Klatka Schodowa',\n pt: 'Caixa De Escada',\n es: 'Hueco De Escalera',\n 'zh-cn': '楼梯间',\n },\n icon: 'Stairwell.svg',\n },\n {\n _id: 'locker_room',\n name: {\n en: 'Locker Room',\n ru: 'Камера Хранения',\n de: 'Umkleideraum',\n fr: 'Vestiaire',\n it: 'Spogliatoio',\n nl: 'Kleedkamer',\n pl: 'Szatnia',\n pt: 'Vestiário',\n es: 'Vestuario',\n 'zh-cn': '更衣室',\n },\n icon: 'Locker Room.svg',\n },\n {\n _id: 'basement',\n name: {\n en: 'Basement',\n ru: 'Подвал',\n de: 'Untergeschoss',\n fr: 'Sous-Sol',\n it: 'Seminterrato',\n nl: 'Kelder',\n pl: 'Piwnica',\n pt: 'Porão',\n es: 'Sótano',\n 'zh-cn': '地下室',\n },\n icon: 'Basement.svg',\n },\n {\n _id: 'front_yard',\n name: {\n en: 'Front Yard',\n ru: 'Передний Двор',\n de: 'Vorgarten',\n fr: 'Front Yard',\n it: 'Cortile',\n nl: 'Voortuin',\n pl: 'Podwórko',\n pt: 'Jardim Da Frente',\n es: 'Patio Delantero',\n 'zh-cn': '前院',\n },\n icon: 'Front Yard.svg',\n },\n {\n _id: 'anteroom',\n name: {\n en: 'Anteroom',\n ru: 'Передняя',\n de: 'Vorraum',\n fr: 'Antichambre',\n it: 'Anticamera',\n nl: 'Voorkamer',\n pl: 'Przedpokój',\n pt: 'Ante-Sala',\n es: 'Antesala',\n 'zh-cn': '接待室',\n },\n icon: 'Anteroom.svg',\n },\n {\n _id: 'washroom',\n name: {\n en: 'Washroom',\n ru: 'Уборная',\n de: 'Waschraum',\n fr: 'Toilettes',\n it: 'Bagno',\n nl: 'Waskamer',\n pl: 'Umywalnia',\n pt: 'Banheiro',\n es: 'Baño',\n 'zh-cn': '卫生间',\n },\n icon: 'Washroom.svg',\n },\n {\n _id: 'wc',\n name: {\n en: 'Wc',\n ru: 'Туалет',\n de: 'WC',\n fr: 'Toilettes',\n it: 'Bagno',\n nl: 'Wc',\n pl: 'Toaleta',\n pt: 'Banheiro',\n es: 'Wc',\n 'zh-cn': '厕所',\n },\n icon: 'Wc.svg',\n },\n {\n _id: 'workshop',\n name: {\n en: 'Workshop',\n ru: 'Мастерская',\n de: 'Werkstatt',\n fr: 'Atelier',\n it: 'Laboratorio',\n nl: 'Werkplaats',\n pl: 'Warsztat',\n pt: 'Oficina',\n es: 'Taller',\n 'zh-cn': '作坊',\n },\n icon: 'Workshop.svg',\n },\n {\n _id: 'windscreen',\n name: {\n en: 'Windscreen',\n ru: 'Ветровое Стекло',\n de: 'Windfang',\n fr: 'Pare-Brise',\n it: 'Parabrezza',\n nl: 'Voorruit',\n pl: 'Szyba Przednia',\n pt: 'Pára-Brisas',\n es: 'Parabrisas',\n 'zh-cn': '风档',\n },\n icon: 'Windscreen.svg',\n },\n {\n _id: 'living_area',\n name: {\n en: 'Living Area',\n ru: 'Жилая Площадь',\n de: 'Wohnbereich',\n fr: 'Salon',\n it: 'Zona Giorno',\n nl: 'Living Area',\n pl: 'Powierzchnia Mieszkalna',\n pt: 'Sala-De-Estar',\n es: 'Sala De Estar',\n 'zh-cn': '生活区域',\n },\n icon: 'Living Area.svg',\n },\n {\n _id: 'living_room',\n name: {\n en: 'Living Room',\n ru: 'Гостинная',\n de: 'Wohnzimmer',\n fr: 'Le Salon',\n it: 'Soggiorno',\n nl: 'Woonkamer',\n pl: 'Salon',\n pt: 'Sala De Estar',\n es: 'Sala De Estar',\n 'zh-cn': '客厅',\n },\n icon: 'Living Room.svg',\n },\n {\n _id: 'living_room',\n name: {\n en: 'Living Room',\n ru: 'Гостинная',\n de: 'Wohnzimmer',\n fr: 'Le Salon',\n it: 'Soggiorno',\n nl: 'Woonkamer',\n pl: 'Salon',\n pt: 'Sala De Estar',\n es: 'Sala De Estar',\n 'zh-cn': '客厅',\n },\n icon: 'Living Room.svg',\n },\n];\n\ninterface IconSelectorProps {\n icons?: {\n icon?: string;\n src?: string;\n href?: string;\n name?: ioBroker.StringOrTranslated;\n _id?: string;\n }[];\n onlyRooms?: boolean;\n onlyDevices?: boolean;\n onSelect?: (icon: string) => void; // one of onSelect or onChange are required\n onChange?: (icon: string) => void;\n t: Translate;\n lang: ioBroker.Languages;\n}\n\ninterface IconSelectorState {\n opened: boolean;\n names: string[];\n filter: string;\n icons: string[] | null;\n loading: boolean;\n isAnyName: boolean;\n}\n\nexport class IconSelector extends Component {\n constructor(props: IconSelectorProps) {\n super(props);\n\n this.state = {\n opened: false,\n names: [],\n filter: '',\n icons: null,\n loading: false,\n isAnyName: false,\n };\n }\n\n loadAllIcons(): void {\n if (this.state.loading || this.state.icons) {\n return;\n }\n this.setState({ loading: true }, () => {\n const icons: string[] = [];\n const names: string[] = [];\n\n if (!this.props.icons) {\n // load rooms\n let templates =\n this.props.onlyRooms || (!this.props.onlyRooms && !this.props.onlyDevices) ? rooms : null;\n\n if (templates) {\n templates.forEach(item => {\n if (item.name && typeof item.name === 'object') {\n item.name = item.name[this.props.lang] || item.name.en || item._id;\n }\n item.name = item.name || item._id;\n });\n\n templates = templates.filter(\n (item, i) =>\n !templates?.find(\n (_item, _i) => i !== _i && _item.icon === item.icon && _item.name === item.name,\n ),\n );\n\n templates.forEach((template, i) => {\n names[i] = template.name as string;\n icons[i] =\n `data:image/svg+xml;base64,${(roomsIcons as Record)[template.icon.replace(/\\.svg$/, '')]}`;\n });\n }\n\n // load devices\n templates =\n this.props.onlyDevices || (!this.props.onlyRooms && !this.props.onlyDevices) ? devices : null;\n if (templates) {\n const offset = icons.length;\n templates &&\n templates.forEach(item => {\n if (item.name && typeof item.name === 'object') {\n item.name = item.name[this.props.lang] || item.name.en || item._id;\n }\n item.name = item.name || item._id;\n });\n\n templates = templates.filter(\n (item, i) =>\n !templates?.find(\n (_item, _i) => i !== _i && _item.icon === item.icon && _item.name === item.name,\n ),\n );\n\n templates.forEach((template, i) => {\n names[i + offset] = template.name as string;\n icons[i + offset] =\n `data:image/svg+xml;base64,${(devicesIcons as Record)[template.icon.replace(/\\.svg$/, '')]}`;\n });\n }\n this.setState({\n icons,\n loading: false,\n names,\n isAnyName: !!names.find(i => i),\n });\n } else {\n const promises = this.props.icons.map((item, i) => {\n let href: string;\n if (typeof item === 'object') {\n href = item.icon || item.src || item.href || '';\n names[i] =\n typeof item.name === 'object'\n ? item.name[this.props.lang] || item.name.en || item._id || ''\n : item.name || '';\n if (!names[i]) {\n const parts = href.split('.');\n parts.pop();\n names[i] = parts[parts.length - 1];\n }\n } else {\n href = item;\n }\n\n if (href) {\n if (href.startsWith('data:')) {\n icons[i] = href;\n return Promise.resolve();\n }\n return Utils.getSvg(href).then(icon => (icons[i] = icon));\n }\n\n return Promise.resolve();\n });\n\n void Promise.all(promises)\n .catch((e: Error) => console.error(e))\n .then(() =>\n this.setState({\n icons,\n loading: false,\n names,\n isAnyName: !!names.find(i => i),\n }),\n );\n }\n });\n }\n\n render(): React.JSX.Element {\n if (this.state.loading) {\n return ;\n }\n\n return (\n <>\n this.setState({ opened: true }, () => this.loadAllIcons())}\n style={{ minWidth: 40, marginRight: 8 }}\n >\n ...\n \n {this.state.opened ? (\n this.setState({ opened: false })}\n open={!0}\n >\n \n {this.props.t('ra_Select predefined icon')}\n {this.state.isAnyName ? (\n this.setState({ filter: e.target.value.toLowerCase() })}\n placeholder={this.props.t('ra_Filter')}\n slotProps={{\n input: {\n endAdornment: this.state.filter ? (\n this.setState({ filter: '' })}\n >\n \n \n ) : undefined,\n },\n }}\n />\n ) : null}\n \n \n
\n {this.state.icons &&\n this.state.icons.map((icon, i) => {\n if (\n !this.state.filter ||\n (this.state.names[i] &&\n this.state.names[i].toLowerCase().includes(this.state.filter))\n ) {\n return (\n \n \n this.setState({ opened: false }, () => {\n const onApply: ((_icon: string) => void) | undefined =\n this.props.onSelect || this.props.onChange;\n if (onApply) {\n onApply(icon);\n }\n })\n }\n size=\"large\"\n >\n \n \n \n );\n }\n\n return null;\n })}\n
\n
\n \n this.setState({ opened: false })}\n startIcon={}\n >\n {this.props.t('ra_Close')}\n \n \n \n ) : null}\n \n );\n }\n}\n", "import React, { type JSX } from 'react';\nimport { Component } from 'react';\n\nimport { IconNoIcon } from '../icons/IconNoIcon';\n\nfunction getElementFromSource(src: string): HTMLElement | null {\n const svgContainer = document.createElement('div');\n svgContainer.innerHTML = src;\n const svg: HTMLElement = svgContainer.firstElementChild as HTMLElement;\n if (svg?.remove) {\n svg.remove();\n } else if (svg) {\n svgContainer.removeChild(svg);\n }\n\n svgContainer.remove();\n return svg;\n}\n\nfunction serializeAttrs(map?: NamedNodeMap): Record {\n const ret: Record = {};\n if (!map) {\n return ret;\n }\n for (let prop, i = 0; i < map.length; i++) {\n const key = map[i].name;\n if (key === 'class') {\n prop = 'className';\n } else if (!key.startsWith('data-')) {\n prop = key.replace(/[-|:]([a-z])/g, g => g[1].toUpperCase());\n } else {\n prop = key;\n }\n\n ret[prop] = map[i].value;\n }\n return ret;\n}\n\ninterface ImageProps {\n /* The color */\n color?: string;\n /* The source of the image */\n src?: string;\n /* The image prefix (default: './files/') */\n imagePrefix?: string;\n /* The CSS class name */\n className?: string;\n /* Show image errors (or just show no image)? */\n showError?: boolean;\n}\n\ninterface ImageState {\n svg?: boolean;\n created?: boolean;\n color?: string;\n src?: string;\n imgError?: boolean;\n showError?: boolean;\n}\n\n/**\n * A component for displaying an image.\n */\nexport class Image extends Component {\n private svg: JSX.Element | null;\n\n static REMOTE_SERVER: boolean = window.location.hostname.includes('iobroker.in');\n\n static REMOTE_PREFIX: string = window.location.pathname.substring(0, window.location.pathname.lastIndexOf('/') + 1);\n\n constructor(props: ImageProps) {\n super(props);\n this.state = {\n svg: !!this.props.src?.startsWith('data:'),\n created: true,\n color: this.props.color || '',\n src: this.props.src || '',\n imgError: false,\n showError: !!this.props.showError,\n };\n\n this.svg = this.state.svg && this.state.src ? this.getSvgFromData(this.state.src) : null;\n }\n\n static getDerivedStateFromProps(props: ImageProps, state: ImageState): Partial | null {\n const newState: ImageState = {};\n let changed = false;\n\n if (props && state && props.src !== state.src) {\n newState.src = props.src;\n newState.svg = props.src?.startsWith('data:');\n newState.created = false;\n changed = true;\n }\n\n if (props && state && props.color !== state.color) {\n newState.color = props.color;\n newState.created = false;\n changed = true;\n }\n\n if (props && state && props.showError !== state.showError) {\n newState.showError = props.showError;\n changed = true;\n }\n\n return changed ? newState : null;\n }\n\n getSvgFromData(src: string): JSX.Element | null {\n const len = 'data:image/svg+xml;base64,';\n if (!src.startsWith(len)) {\n return null;\n }\n src = src.substring(len.length);\n try {\n src = atob(src);\n const svg: HTMLElement = getElementFromSource(src);\n const inner = svg.innerHTML;\n const svgProps = serializeAttrs(svg.attributes);\n\n svg.remove();\n\n return (\n \n );\n } catch {\n // ignore\n }\n return null;\n }\n\n render(): JSX.Element | null {\n if (this.state.svg) {\n if (!this.state.created) {\n setTimeout(() => {\n this.svg = this.state.src ? this.getSvgFromData(this.state.src) : null;\n this.setState({ created: true });\n }, 50);\n }\n\n return this.svg;\n }\n if (this.state.src) {\n if (this.state.imgError || !this.state.src) {\n return ;\n }\n if (\n Image.REMOTE_SERVER &&\n !this.state.src.startsWith('http://') &&\n !this.state.src.startsWith('https://')\n ) {\n let src = (this.props.imagePrefix || '') + this.state.src;\n if (src.startsWith('./')) {\n src = Image.REMOTE_PREFIX + src.substring(2);\n } else if (!src.startsWith('/')) {\n src = Image.REMOTE_PREFIX + src;\n }\n return (\n \n this.props.showError ? this.setState({ imgError: true }) : this.setState({ src: '' })\n }\n />\n );\n }\n\n return (\n \n this.props.showError ? this.setState({ imgError: true }) : this.setState({ src: '' })\n }\n />\n );\n }\n\n return null;\n }\n}\n", "import React from 'react';\nimport { Fab } from '@mui/material';\n\nimport {\n Help as IconHelp,\n VerticalAlignTop as IconUpload,\n VerticalAlignBottom as IconDownload,\n} from '@mui/icons-material';\n\nimport { I18n } from '../i18n';\nimport { Icon } from './Icon';\n\ninterface LogoProps {\n /* Adapter common configuration from io-package.json */\n common: any;\n /* Adapter native data from io-package.json */\n native: any;\n /* Adapter instance number. */\n instance: number;\n /* on Load handler */\n onLoad?: (contents: any) => void;\n /* on Error handler */\n onError?: (error: string) => void;\n className?: string;\n style?: Record;\n}\n\nexport class Logo extends React.Component {\n static generateFile(fileName: string, obj: any): void {\n const el = window.document.createElement('a');\n el.setAttribute(\n 'href',\n `data:application/json;charset=utf-8,${encodeURIComponent(JSON.stringify(obj, null, 2))}`,\n );\n el.setAttribute('download', fileName);\n\n el.style.display = 'none';\n window.document.body.appendChild(el);\n\n el.click();\n\n window.document.body.removeChild(el);\n }\n\n handleFileSelect = (evt: Event): void => {\n const target = evt.target as HTMLInputElement;\n const files = target?.files;\n if (!files || !files.length) {\n console.error('No files found. Please report to developers');\n return;\n }\n const f = files[0];\n\n if (f) {\n const reader = new window.FileReader();\n reader.onload = () => {\n const contents: string = reader.result?.toString() || '';\n try {\n const json = JSON.parse(contents);\n if (json.native && json.common) {\n if (json.common.name !== this.props.common.name) {\n this.props.onError && this.props.onError(I18n.t('ra_otherConfig', json.common.name));\n } else {\n this.props.onLoad && this.props.onLoad(json.native);\n }\n } else {\n this.props.onError && this.props.onError(I18n.t('ra_invalidConfig'));\n }\n } catch (err: any) {\n this.props.onError && this.props.onError(err?.toString());\n }\n };\n reader.readAsText(f);\n } else {\n alert('Failed to open JSON File');\n }\n };\n\n download(): void {\n const result = {\n _id: `system.adapter.${this.props.common.name}.${this.props.instance}`,\n common: JSON.parse(JSON.stringify(this.props.common)),\n native: this.props.native,\n };\n // remove unimportant information\n if (result.common.news) {\n delete result.common.news;\n }\n if (result.common.titleLang) {\n delete result.common.titleLang;\n }\n if (result.common.desc) {\n delete result.common.desc;\n }\n\n // window.open('data:application/iobroker; content-disposition=attachment; filename=' + result._id + '.json,' + JSON.stringify(result, null, 2));\n Logo.generateFile(`${result._id}.json`, result);\n }\n\n upload(): void {\n const input = window.document.createElement('input');\n input.setAttribute('type', 'file');\n input.setAttribute('id', 'files');\n input.setAttribute('opacity', '0');\n input.addEventListener('change', this.handleFileSelect, false);\n input.click();\n }\n\n render(): React.JSX.Element {\n return (\n \n {this.props.common.icon ? (\n \n ) : null}\n {this.props.common.readme ? (\n {\n const win = window.open(this.props.common.readme, '_blank');\n win?.focus();\n }}\n >\n \n \n ) : null}\n this.upload()}\n >\n \n \n this.download()}\n >\n \n \n \n );\n }\n}\n", "/**\n * Copyright 2020-2024, Denis Haev \n *\n * MIT License\n *\n */\nimport React, { Component, createRef, type JSX } from 'react';\nimport SVG from 'react-inlinesvg';\n\nimport {\n Badge,\n Box,\n Button,\n Checkbox,\n CircularProgress,\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n Fab,\n FormControl,\n FormControlLabel,\n Grid2,\n IconButton,\n Input,\n List,\n ListItem,\n ListItemButton,\n ListItemIcon,\n ListItemText,\n Menu,\n MenuItem,\n Paper,\n Select,\n Snackbar,\n Switch,\n TextField,\n type Theme,\n Tooltip,\n} from '@mui/material';\n\n// Icons\nimport {\n Add as AddIcon,\n ArrowRight as ArrowRightIcon,\n BedroomParent,\n BorderColor,\n Build as BuildIcon,\n CalendarToday as IconSchedule,\n Check as IconCheck,\n Close as IconClose,\n Code as IconScript,\n Construction,\n CreateNewFolder as IconFolder,\n Delete as IconDelete,\n Description as IconMeta,\n Edit as IconEdit,\n Error as IconError,\n FindInPage,\n FormatItalic as IconValueEdit,\n Info as IconInfo,\n Link as IconLink,\n ListAlt as IconEnum,\n LooksOne as LooksOneIcon,\n PersonOutlined as IconUser,\n Publish as PublishIcon,\n Refresh as RefreshIcon,\n Router as IconHost,\n Settings as IconConfig,\n SettingsApplications as IconSystem,\n DataObject as IconData,\n ShowChart as IconChart,\n SupervisedUserCircle as IconGroup,\n TextFields as TextFieldsIcon,\n ViewColumn as IconColumns,\n Wifi as IconConnection,\n WifiOff as IconDisconnected,\n} from '@mui/icons-material';\n\nimport { IconExpert } from '../icons/IconExpert';\nimport { IconAdapter } from '../icons/IconAdapter';\nimport { IconChannel } from '../icons/IconChannel';\nimport { IconCopy } from '../icons/IconCopy';\nimport { IconDevice } from '../icons/IconDevice';\nimport { IconDocument } from '../icons/IconDocument';\nimport { IconDocumentReadOnly } from '../icons/IconDocumentReadOnly';\nimport { IconInstance } from '../icons/IconInstance';\nimport { IconState } from '../icons/IconState';\nimport { IconClosed } from '../icons/IconClosed';\nimport { IconOpen } from '../icons/IconOpen';\nimport { IconClearFilter } from '../icons/IconClearFilter';\n\n// own\nimport type { ThemeType, ThemeName, IobTheme, Translate } from '../types';\nimport type { Router } from './Router';\nimport { Connection } from '../Connection';\nimport { Icon } from './Icon';\nimport { withWidth } from './withWidth';\nimport { Utils } from './Utils'; // @iobroker/adapter-react-v5/Components/Utils\nimport { TabContainer } from './TabContainer';\nimport { TabContent } from './TabContent';\nimport { TabHeader } from './TabHeader';\n\ndeclare global {\n interface Window {\n sparkline: {\n sparkline: (el: HTMLDivElement, data: number[]) => JSX.Element;\n };\n }\n}\ndeclare module '@mui/material/Button' {\n interface ButtonPropsColorOverrides {\n grey: true;\n }\n}\n\nconst ICON_SIZE = 24;\nconst ROW_HEIGHT = 32;\nconst ITEM_LEVEL = 16;\nconst SMALL_BUTTON_SIZE = 20;\nconst COLOR_NAME_USERDATA = (themeType: ThemeType): string => (themeType === 'dark' ? '#62ff25' : '#37c400');\nconst COLOR_NAME_ALIAS = (themeType: ThemeType): string => (themeType === 'dark' ? '#ee56ff' : '#a204b4');\nconst COLOR_NAME_JAVASCRIPT = (themeType: ThemeType): string => (themeType === 'dark' ? '#fff46e' : '#b89101');\nconst COLOR_NAME_SYSTEM = (themeType: ThemeType): string => (themeType === 'dark' ? '#ff6d69' : '#ff6d69');\nconst COLOR_NAME_SYSTEM_ADAPTER = (themeType: ThemeType): string => (themeType === 'dark' ? '#5773ff' : '#5773ff');\nconst COLOR_NAME_ERROR_DARK = '#ff413c';\nconst COLOR_NAME_ERROR_LIGHT = '#86211f';\nconst COLOR_NAME_CONNECTED_DARK = '#57ff45';\nconst COLOR_NAME_CONNECTED_LIGHT = '#098c04';\nconst COLOR_NAME_DISCONNECTED_DARK = '#f3ad11';\nconst COLOR_NAME_DISCONNECTED_LIGHT = '#6c5008';\n\ntype ObjectEventType = 'new' | 'changed' | 'deleted';\n\ninterface ObjectEvent {\n id: string;\n obj?: ioBroker.Object;\n type: ObjectEventType;\n oldObj?: ioBroker.Object;\n}\n\ninterface ObjectsWorker {\n getObjects(update?: boolean): Promise>;\n registerHandler(cb: (events: ObjectEvent[]) => void): void;\n unregisterHandler(cb: (events: ObjectEvent[]) => void, doNotUnsubscribe?: boolean): void;\n}\n\ninterface CustomAdminColumnStored {\n path: string;\n name: string;\n objTypes?: ioBroker.ObjectType[];\n width?: number;\n edit?: boolean;\n type?: ioBroker.CommonType;\n}\n\ninterface ContextMenuItem {\n /** hotkey */\n key?: string;\n visibility: boolean;\n icon: JSX.Element | string;\n label: string;\n onClick?: () => void;\n listItemIconStyle?: React.CSSProperties;\n style?: React.CSSProperties;\n subMenu?: {\n label: string;\n visibility: boolean;\n icon: JSX.Element;\n onClick: () => void;\n iconStyle?: React.CSSProperties;\n style?: React.CSSProperties;\n listItemIconStyle?: React.CSSProperties;\n }[];\n iconStyle?: React.CSSProperties;\n}\n\nexport interface TreeItemData {\n id: string;\n name: string;\n obj?: ioBroker.Object;\n /** Object ID in lower case for filtering */\n fID?: string;\n /** translated common.name in lower case for filtering */\n fName?: string;\n /** Link to parent item */\n parent?: TreeItem;\n level?: number;\n icon?: string | JSX.Element | null;\n /** If the item existing object or generated folder */\n generated?: boolean;\n title?: string;\n /** if the item has \"write\" button (value=true, ack=false) */\n button?: boolean;\n /** If the item has read and write and is boolean */\n switch?: boolean;\n /** if the item has custom settings in `common.custom` */\n hasCustoms?: boolean;\n /** If this item is visible */\n visible?: boolean;\n /** Is any of the children visible (not only directly children) */\n hasVisibleChildren?: boolean;\n /** Is any of the parents visible (not only directly parent) */\n hasVisibleParent?: boolean;\n /** Combination of `visible || hasVisibleChildren` */\n sumVisibility?: boolean;\n /** translated names of enumerations (functions) where this object is the member (or the parent), divided by comma */\n funcs?: string;\n /** is if the enums are from parent */\n pef?: boolean;\n /** translated names of enumerations (rooms) where this object is the member (or the parent), divided by comma */\n rooms?: string;\n /** is if the enums are from parent */\n per?: boolean;\n // language in what the rooms and functions where translated\n lang?: ioBroker.Languages;\n state?: {\n valTextRx?: JSX.Element[] | null;\n style?: React.CSSProperties;\n };\n aclTooltip?: null | JSX.Element;\n}\n\ninterface InputSelectItem {\n value: string;\n name: string;\n icon?: null | JSX.Element;\n}\n\ntype ioBrokerObjectForExport = ioBroker.Object & Partial;\n\nexport interface ObjectBrowserCustomFilter {\n type?: ioBroker.ObjectType | ioBroker.ObjectType[];\n common?: {\n type?: ioBroker.CommonType | ioBroker.CommonType[];\n role?: string | string[];\n // If \"_\" - no custom set\n // If \"_dataSources\" - only data sources (history, sql, influxdb, ...)\n // Else \"telegram.\" or something like this\n // `true` - If common.custom not empty\n // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\n custom?: '_' | '_dataSources' | true | string | string[];\n };\n}\n\ninterface FormatValueOptions {\n state: ioBroker.State;\n obj: ioBroker.StateObject;\n texts: Record;\n dateFormat: string;\n isFloatComma: boolean;\n full?: boolean;\n}\n\nexport interface TreeItem {\n id?: string;\n data: TreeItemData;\n children?: TreeItem[];\n}\n\ninterface TreeInfo {\n funcEnums: string[];\n roomEnums: string[];\n roles: string[];\n ids: string[];\n types: string[];\n objects: Record;\n customs: string[];\n enums: string[];\n hasSomeCustoms: boolean;\n // List of all aliases that shows to this state\n aliasesMap: { [stateId: string]: string[] };\n}\n\ninterface GetValueStyleOptions {\n state: ioBroker.State;\n isExpertMode?: boolean;\n isButton?: boolean;\n}\n\nconst styles: Record = {\n toolbar: {\n minHeight: 38, // Theme.toolbar.height,\n // boxShadow: '0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12)'\n },\n toolbarButtons: {\n padding: 4,\n marginLeft: 4,\n },\n switchColumnAuto: {\n marginLeft: 16,\n },\n dialogColumns: {\n transition: 'opacity 1s',\n },\n dialogColumnsLabel: {\n fontSize: 12,\n paddingTop: 8,\n },\n columnCustom: {\n width: '100%',\n display: 'inline-block',\n },\n columnCustomEditable: {\n cursor: 'text',\n },\n columnCustom_center: {\n textAlign: 'center',\n },\n columnCustom_left: {\n textAlign: 'left',\n },\n columnCustom_right: {\n textAlign: 'right',\n },\n width100: {\n width: '100%',\n },\n transparent_10: {\n opacity: 0.1,\n },\n transparent_20: {\n opacity: 0.2,\n },\n transparent_30: {\n opacity: 0.3,\n },\n transparent_40: {\n opacity: 0.4,\n },\n transparent_50: {\n opacity: 0.5,\n },\n transparent_60: {\n opacity: 0.6,\n },\n transparent_70: {\n opacity: 0.7,\n },\n transparent_80: {\n opacity: 0.8,\n },\n transparent_90: {\n opacity: 0.9,\n },\n transparent_100: {\n opacity: 1,\n },\n headerRow: {\n paddingLeft: 8,\n height: 38,\n whiteSpace: 'nowrap',\n userSelect: 'none',\n },\n buttonClearFilter: {\n position: 'relative',\n float: 'right',\n padding: 0,\n },\n buttonClearFilterIcon: {\n zIndex: 2,\n position: 'absolute',\n top: 0,\n left: 0,\n color: '#FF0000',\n opacity: 0.7,\n },\n\n tableDiv: {\n paddingTop: 0,\n paddingLeft: 0,\n width: 'calc(100% - 8px)',\n height: 'calc(100% - 38px)',\n overflow: 'auto',\n },\n tableRow: (theme: IobTheme): any => ({\n pl: 1,\n height: ROW_HEIGHT,\n lineHeight: `${ROW_HEIGHT}px`,\n verticalAlign: 'top',\n userSelect: 'none',\n position: 'relative',\n width: '100%',\n '&:hover': {\n background: `${\n theme.palette.mode === 'dark' ? theme.palette.primary.dark : theme.palette.primary.light\n } !important`,\n color: Utils.invertColor(theme.palette.primary.main, true),\n },\n whiteSpace: 'nowrap',\n flexWrap: 'nowrap',\n }),\n tableRowLines: (theme: IobTheme): any => ({\n borderBottom: `1px solid ${theme.palette.mode === 'dark' ? '#8888882e' : '#8888882e'}`,\n '& > div': {\n borderRight: `1px solid ${theme.palette.mode === 'dark' ? '#8888882e' : '#8888882e'}`,\n },\n }),\n tableRowNoDragging: {\n cursor: 'pointer',\n },\n tableRowAlias: {\n height: ROW_HEIGHT + 10,\n },\n tableRowAliasReadWrite: {\n height: ROW_HEIGHT + 22,\n },\n tableRowFocused: (theme: IobTheme): any => ({\n '&:after': {\n content: '\"\"',\n position: 'absolute',\n top: 1,\n left: 1,\n right: 1,\n bottom: 1,\n border: theme.palette.mode ? '1px dotted #000' : '1px dotted #FFF',\n },\n }),\n checkBox: {\n padding: 0,\n },\n cellId: {\n position: 'relative',\n fontSize: '1rem',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n // verticalAlign: 'top',\n // position: 'relative',\n '& .copyButton': {\n display: 'none',\n },\n '&:hover .copyButton': {\n display: 'block',\n },\n '& .iconOwn': {\n display: 'block',\n width: ROW_HEIGHT - 4,\n height: ROW_HEIGHT - 4,\n mt: '2px',\n float: 'right',\n },\n '&:hover .iconOwn': {\n display: 'none',\n },\n '& *': {\n width: 'initial',\n },\n },\n cellIdSpan: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n // display: 'inline-block',\n // verticalAlign: 'top',\n },\n // This style is used for simple div. Do not migrate it to \"secondary.main\"\n cellIdIconFolder: (theme: IobTheme): React.CSSProperties => ({\n marginRight: 8,\n width: ROW_HEIGHT - 4,\n height: ROW_HEIGHT - 4,\n cursor: 'pointer',\n color: theme.palette.secondary.main || '#fbff7d',\n verticalAlign: 'top',\n }),\n cellIdIconDocument: {\n verticalAlign: 'middle',\n marginLeft: (ROW_HEIGHT - SMALL_BUTTON_SIZE) / 2,\n marginRight: 8,\n width: SMALL_BUTTON_SIZE,\n height: SMALL_BUTTON_SIZE,\n },\n cellIdIconOwn: {},\n cellIdTooltip: {\n fontSize: 14,\n },\n cellIdTooltipLink: {\n color: '#7ec2fd',\n '&:hover': {\n color: '#7ec2fd',\n },\n '&:visited': {\n color: '#7ec2fd',\n },\n },\n cellCopyButton: {\n width: SMALL_BUTTON_SIZE,\n height: SMALL_BUTTON_SIZE,\n top: (ROW_HEIGHT - SMALL_BUTTON_SIZE) / 2,\n opacity: 0.8,\n position: 'absolute',\n right: 3,\n },\n cellCopyButtonInDetails: {\n width: SMALL_BUTTON_SIZE,\n height: SMALL_BUTTON_SIZE,\n top: (ROW_HEIGHT - SMALL_BUTTON_SIZE) / 2,\n opacity: 0.8,\n },\n cellEditButton: {\n width: SMALL_BUTTON_SIZE,\n height: SMALL_BUTTON_SIZE,\n color: 'white',\n position: 'absolute',\n top: (ROW_HEIGHT - SMALL_BUTTON_SIZE) / 2,\n right: SMALL_BUTTON_SIZE + 3,\n opacity: 0.7,\n '&:hover': {\n opacity: 1,\n },\n },\n cellName: {\n display: 'inline-block',\n verticalAlign: 'top',\n fontSize: 14,\n ml: '5px',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n position: 'relative',\n '& .copyButton': {\n display: 'none',\n },\n '&:hover .copyButton': {\n display: 'block',\n },\n },\n cellNameWithDesc: {\n lineHeight: 'normal',\n },\n cellNameDivDiv: {},\n cellDescription: {\n fontSize: 10,\n opacity: 0.5,\n fontStyle: 'italic',\n },\n cellIdAlias: (theme: IobTheme): any => ({\n fontStyle: 'italic',\n fontSize: 12,\n opacity: 0.7,\n '&:hover': {\n color: theme.palette.mode === 'dark' ? '#009900' : '#007700',\n },\n }),\n cellIdAliasReadWriteDiv: {\n height: 24,\n marginTop: -5,\n },\n cellIdAliasAlone: {\n lineHeight: 0,\n },\n cellIdAliasReadWrite: {\n lineHeight: '12px',\n },\n cellType: {\n display: 'inline-block',\n verticalAlign: 'top',\n '& .itemIcon': {\n verticalAlign: 'middle',\n width: ICON_SIZE,\n height: ICON_SIZE,\n display: 'inline-block',\n },\n '& .itemIconFolder': {\n marginLeft: 3,\n },\n },\n cellRole: {\n display: 'inline-block',\n verticalAlign: 'top',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n },\n cellRoom: {\n display: 'inline-block',\n verticalAlign: 'top',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n },\n cellEnumParent: {\n opacity: 0.4,\n },\n cellFunc: {\n display: 'inline-block',\n verticalAlign: 'top',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n },\n cellValue: {\n display: 'inline-block',\n verticalAlign: 'top',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n },\n cellValueButton: {\n marginTop: 5,\n },\n cellValueButtonFalse: {\n opacity: 0.3,\n },\n cellAdapter: {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n cellValueTooltip: {\n fontSize: 12,\n },\n cellValueText: {\n width: '100%',\n height: ROW_HEIGHT,\n fontSize: 16,\n display: 'flex',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n position: 'relative',\n verticalAlign: 'top',\n '& .copyButton': {\n display: 'none',\n },\n '&:hover .copyButton': {\n display: 'block',\n },\n },\n cellValueFile: {\n color: '#2837b9',\n },\n cellValueTooltipTitle: {\n fontStyle: 'italic',\n width: 100,\n display: 'inline-block',\n },\n cellValueTooltipValue: {\n width: 120,\n display: 'inline-block',\n // overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n },\n cellValueTooltipImage: {\n width: 100,\n height: 'auto',\n },\n cellValueTooltipBoth: {\n width: 220,\n display: 'inline-block',\n whiteSpace: 'nowrap',\n },\n cellValueTooltipBox: {\n width: 250,\n overflow: 'hidden',\n pointerEvents: 'none',\n },\n tooltip: {\n pointerEvents: 'none',\n },\n cellValueTextUnit: {\n marginLeft: 4,\n opacity: 0.8,\n display: 'inline-block',\n },\n cellValueTextState: {\n opacity: 0.7,\n },\n cellValueTooltipCopy: {\n position: 'absolute',\n bottom: 3,\n right: 3,\n },\n cellValueTooltipEdit: {\n position: 'absolute',\n bottom: 3,\n right: 15,\n },\n cellButtons: {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n cellButtonsButton: {\n display: 'inline-block',\n opacity: 0.5,\n width: SMALL_BUTTON_SIZE + 4,\n height: SMALL_BUTTON_SIZE + 4,\n '&:hover': {\n opacity: 1,\n },\n p: 0,\n mt: '-2px',\n },\n cellButtonsEmptyButton: {\n fontSize: 12,\n },\n cellButtonMinWidth: {\n minWidth: 40,\n },\n cellButtonsButtonAlone: {\n ml: `${SMALL_BUTTON_SIZE + 6}px`,\n pt: 0,\n mt: '-2px',\n },\n cellButtonsButtonWithCustoms: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? theme.palette.primary.main : theme.palette.secondary.main,\n }),\n cellButtonsButtonWithoutCustoms: {\n opacity: 0.2,\n },\n cellButtonsValueButton: (theme: IobTheme): any => ({\n position: 'absolute',\n top: SMALL_BUTTON_SIZE / 2 - 2,\n opacity: 0.7,\n width: SMALL_BUTTON_SIZE - 2,\n height: SMALL_BUTTON_SIZE - 2,\n color: theme.palette.action.active,\n '&:hover': {\n opacity: 1,\n },\n }),\n cellButtonsValueButtonCopy: {\n right: 8,\n cursor: 'pointer',\n },\n cellButtonsValueButtonEdit: {\n right: SMALL_BUTTON_SIZE / 2 + 16,\n },\n cellDetailsLine: {\n display: 'flex',\n alignItems: 'center',\n width: '100%',\n height: 32,\n fontSize: 16,\n },\n cellDetailsName: {\n fontWeight: 'bold',\n marginRight: 8,\n minWidth: 80,\n },\n\n filteredOut: {\n opacity: 0.5,\n },\n filteredParentOut: {\n opacity: 0.3,\n },\n filterInput: {\n mt: 0,\n mb: 0,\n },\n selectIcon: {\n width: 24,\n height: 24,\n marginRight: 4,\n },\n selectNone: {\n opacity: 0.5,\n },\n itemSelected: (theme: IobTheme): React.CSSProperties => ({\n background: `${theme.palette.primary.main} !important`,\n color: `${Utils.invertColor(theme.palette.primary.main, true)} !important`,\n }),\n header: {\n width: '100%',\n },\n headerCell: {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n headerCellValue: {\n paddingTop: 4,\n // paddingLeft: 5,\n fontSize: 16,\n },\n headerCellInput: {\n width: 'calc(100% - 5px)',\n height: ROW_HEIGHT,\n pt: 0,\n '& .itemIcon': {\n verticalAlign: 'middle',\n width: ICON_SIZE,\n height: ICON_SIZE,\n display: 'inline-block',\n },\n },\n headerCellSelectItem: {\n '& .itemIcon': {\n width: ICON_SIZE,\n height: ICON_SIZE,\n mr: '5px',\n display: 'inline-block',\n },\n },\n visibleButtons: {\n color: '#2196f3',\n opacity: 0.7,\n },\n grow: {\n flexGrow: 1,\n },\n enumIconDiv: {\n marginRight: 8,\n width: 32,\n height: 32,\n borderRadius: 8,\n background: '#FFFFFF',\n },\n enumIcon: {\n marginTop: 4,\n marginLeft: 4,\n width: 24,\n height: 24,\n },\n enumDialog: {\n overflow: 'hidden',\n },\n enumList: {\n minWidth: 250,\n height: 'calc(100% - 50px)',\n overflow: 'auto',\n },\n enumButton: {\n float: 'right',\n },\n enumCheckbox: {\n minWidth: 0,\n },\n buttonDiv: {\n display: 'flex',\n height: '100%',\n alignItems: 'center',\n },\n aclText: {\n fontSize: 13,\n marginTop: 6,\n },\n rightsObject: {\n color: '#55ff55',\n paddingLeft: 3,\n },\n rightsState: {\n color: '#86b6ff',\n paddingLeft: 3,\n },\n textCenter: {\n padding: 12,\n textAlign: 'center',\n },\n tooltipAccessControl: {\n display: 'flex',\n flexDirection: 'column',\n },\n fontSizeTitle: {\n '@media screen and (max-width: 465px)': {\n '& *': {\n fontSize: 12,\n },\n },\n },\n draggable: {\n cursor: 'copy',\n },\n nonDraggable: {\n cursor: 'no-drop',\n },\n selectClearButton: {\n position: 'absolute',\n top: 0,\n right: 0,\n borderRadius: 5,\n backgroundColor: 'background.default',\n },\n iconDeviceConnected: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? COLOR_NAME_CONNECTED_DARK : COLOR_NAME_CONNECTED_LIGHT,\n opacity: 0.8,\n position: 'absolute',\n top: 4,\n right: 32,\n width: 20,\n }),\n iconDeviceDisconnected: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? COLOR_NAME_DISCONNECTED_DARK : COLOR_NAME_DISCONNECTED_LIGHT,\n opacity: 0.8,\n position: 'absolute',\n top: 4,\n right: 32,\n width: 20,\n }),\n iconDeviceError: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? COLOR_NAME_ERROR_DARK : COLOR_NAME_ERROR_LIGHT,\n opacity: 0.8,\n position: 'absolute',\n top: 4,\n right: 50,\n width: 20,\n }),\n resizeHandle: {\n display: 'block',\n position: 'absolute',\n cursor: 'col-resize',\n width: 7,\n top: 2,\n bottom: 2,\n zIndex: 1,\n },\n resizeHandleRight: {\n right: 3,\n borderRight: '2px dotted #888',\n '&:hover': {\n borderColor: '#ccc',\n borderRightStyle: 'solid',\n },\n '&.active': {\n borderColor: '#517ea5',\n borderRightStyle: 'solid',\n },\n },\n invertedBackground: (theme: IobTheme): React.CSSProperties => ({\n backgroundColor: theme.palette.mode === 'dark' ? '#9a9a9a' : '#565656',\n padding: '0 3px',\n borderRadius: '2px 0 0 2px',\n }),\n invertedBackgroundFlex: (theme: IobTheme): React.CSSProperties => ({\n backgroundColor: theme.palette.mode === 'dark' ? '#9a9a9a' : '#565656',\n borderRadius: '0 2px 2px 0',\n }),\n contextMenuEdit: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#ffee48' : '#cbb801',\n }),\n contextMenuEditValue: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#5dff45' : '#1cd301',\n }),\n contextMenuView: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#FFF' : '#000',\n }),\n contextMenuCustom: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#42eaff' : '#01bbc2',\n }),\n contextMenuACL: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#e079ff' : '#500070',\n }),\n contextMenuRoom: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#ff9a33' : '#642a00',\n }),\n contextMenuRole: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#ffdb43' : '#562d00',\n }),\n contextMenuDelete: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#ff4f4f' : '#cf0000',\n }),\n contextMenuKeys: {\n marginLeft: 8,\n opacity: 0.7,\n fontSize: 'smaller',\n },\n contextMenuWithSubMenu: {\n display: 'flex',\n },\n};\n\nfunction ButtonIcon(props?: { style?: React.CSSProperties }): JSX.Element {\n return (\n \n \n \n \n \n \n );\n}\n\n/**\n * Function that walks through all keys of an object or array and applies a function to each key.\n */\nfunction walkThroughArray(object: any[], iteratee: (result: any[], value: any, key: number) => void): any[] {\n const copiedObject: any[] = [];\n for (let index = 0; index < object.length; index++) {\n iteratee(copiedObject, object[index], index);\n }\n return copiedObject;\n}\n\n/**\n * Function that walks through all keys of an object or array and applies a function to each key.\n */\nfunction walkThroughObject(\n object: Record,\n iteratee: (result: Record, value: any, key: string) => void,\n): Record {\n const copiedObject: Record = {};\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n iteratee(copiedObject, object[key], key);\n }\n }\n return copiedObject;\n}\n\n/**\n * Function to reduce an object primarily by a given list of keys\n */\nfunction filterObject(\n /** The objects which should be filtered */\n obj: Record | any[],\n /** The keys which should be excluded */\n filterKeys: string[],\n /** Whether translations should be reduced to only the english value */\n excludeTranslations?: boolean,\n): Record | any[] {\n if (Array.isArray(obj)) {\n return walkThroughArray(obj, (result: any[], value: any, key: number) => {\n if (value === undefined || value === null) {\n return;\n }\n // if the key is an object, run it through the inner function - omitFromObject\n const isObject = typeof value === 'object';\n if (excludeTranslations && isObject) {\n if (typeof value.en === 'string' && typeof value.de === 'string') {\n result[key] = value.en;\n return;\n }\n }\n result[key] = isObject ? filterObject(value, filterKeys, excludeTranslations) : value;\n });\n }\n\n return walkThroughObject(obj, (result: Record, value: any, key: string) => {\n if (value === undefined || value === null) {\n return;\n }\n if (filterKeys.includes(key)) {\n return;\n }\n // if the key is an object, run it through the inner function - omitFromObject\n const isObject = typeof value === 'object';\n if (excludeTranslations && isObject) {\n if (typeof value.en === 'string' && typeof value.de === 'string') {\n result[key] = value.en;\n return;\n }\n }\n result[key] = isObject ? filterObject(value, filterKeys, excludeTranslations) : value;\n });\n}\n\n/**\n * Function to generate a json-file for an object and trigger download it\n */\nfunction generateFile(\n /** The desired filename */\n fileName: string,\n /** The objects which should be downloaded */\n obj: Record,\n /** Options to filter/reduce the output */\n options: {\n /** Whether the output should be beautified */\n beautify?: boolean;\n /** Whether \"system.repositories\" should be excluded */\n excludeSystemRepositories?: boolean;\n /** Whether translations should be reduced to only the english value */\n excludeTranslations?: boolean;\n },\n): void {\n const el = document.createElement('a');\n const filterKeys = [];\n if (options.excludeSystemRepositories) {\n filterKeys.push('system.repositories');\n }\n const filteredObject =\n filterKeys.length > 0 || options.excludeTranslations\n ? filterObject(obj, filterKeys, options.excludeTranslations)\n : obj;\n const data = options.beautify ? JSON.stringify(filteredObject, null, 2) : JSON.stringify(filteredObject);\n el.setAttribute('href', `data:application/json;charset=utf-8,${encodeURIComponent(data)}`);\n el.setAttribute('download', fileName);\n\n el.style.display = 'none';\n document.body.appendChild(el);\n\n el.click();\n\n document.body.removeChild(el);\n}\n\n// d=data, t=target, s=start, e=end, m=middle\nfunction binarySearch(list: string[], find: string, _start?: number, _end?: number): boolean {\n _start = _start || 0;\n if (_end === undefined) {\n _end = list.length - 1;\n if (!_end) {\n return list[0] === find;\n }\n }\n const middle = Math.floor((_start + _end) / 2);\n if (find === list[middle]) {\n return true;\n }\n if (_end - 1 === _start) {\n return list[_start] === find || list[_end] === find;\n }\n if (find > list[middle]) {\n return binarySearch(list, find, middle, _end);\n }\n if (find < list[middle]) {\n return binarySearch(list, find, _start, middle);\n }\n return false;\n}\n\nfunction getName(name: ioBroker.StringOrTranslated, lang: ioBroker.Languages): string {\n if (typeof name === 'object') {\n if (!name) {\n return '';\n }\n return (name[lang] || name.en || '').toString();\n }\n\n return name ? name.toString() : '';\n}\n\nexport function getSelectIdIconFromObjects(\n objects: Record,\n id: string,\n lang: ioBroker.Languages,\n imagePrefix?: string,\n): string | JSX.Element | null {\n // `admin` has prefix '.' and `web` has '../..'\n imagePrefix = imagePrefix || '.'; // http://localhost:8081';\n let src: string | JSX.Element = '';\n const _id_ = `system.adapter.${id}`;\n const aIcon = id && objects[_id_] && objects[_id_].common && objects[_id_].common.icon;\n if (aIcon) {\n // if not BASE64\n if (!aIcon.startsWith('data:image/')) {\n if (aIcon.includes('.')) {\n const name = objects[_id_].common.name;\n if (typeof name === 'object') {\n src = `${imagePrefix}/adapter/${name[lang] || name.en}/${aIcon}`;\n } else {\n src = `${imagePrefix}/adapter/${name}/${aIcon}`;\n }\n } else if (aIcon && aIcon.length < 3) {\n return aIcon; // utf-8\n } else {\n return null; // '' + objects[_id_].common.icon + '';\n }\n } else if (aIcon.startsWith('data:image/svg')) {\n src = (\n \n );\n } else {\n src = aIcon;\n }\n } else {\n const common = objects[id] && objects[id].common;\n\n if (common) {\n const cIcon = common.icon;\n if (cIcon) {\n if (!cIcon.startsWith('data:image/')) {\n if (cIcon.includes('.')) {\n let instance;\n if (objects[id].type === 'instance' || objects[id].type === 'adapter') {\n if (typeof common.name === 'object') {\n src = `${imagePrefix}/adapter/${common.name[lang] || common.name.en}/${cIcon}`;\n } else {\n src = `${imagePrefix}/adapter/${common.name}/${cIcon}`;\n }\n } else if (id && id.startsWith('system.adapter.')) {\n instance = id.split('.', 3);\n if (cIcon[0] === '/') {\n instance[2] += cIcon;\n } else {\n instance[2] += `/${cIcon}`;\n }\n src = `${imagePrefix}/adapter/${instance[2]}`;\n } else {\n instance = id.split('.', 2);\n if (cIcon[0] === '/') {\n instance[0] += cIcon;\n } else {\n instance[0] += `/${cIcon}`;\n }\n src = `${imagePrefix}/adapter/${instance[0]}`;\n }\n } else if (aIcon && aIcon.length < 3) {\n return aIcon; // utf-8\n } else {\n return null;\n }\n } else if (cIcon.startsWith('data:image/svg')) {\n // if base 64 image\n src = (\n \n );\n } else {\n src = cIcon;\n }\n }\n }\n }\n\n return src || null;\n}\n\nfunction applyFilter(\n item: TreeItem,\n filters: ObjectBrowserFilter,\n lang: ioBroker.Languages,\n objects: Record,\n context?: {\n id?: string;\n name?: string;\n type?: string;\n custom?: string;\n role?: string;\n room?: string[];\n func?: string[];\n },\n counter?: { count: number },\n customFilter?: ObjectBrowserCustomFilter,\n selectedTypes?: string[],\n _depth?: number,\n): boolean {\n _depth = _depth || 0;\n let filteredOut = false;\n if (!context) {\n context = {};\n if (filters.id) {\n context.id = filters.id.toLowerCase();\n }\n if (filters.name) {\n context.name = filters.name.toLowerCase();\n }\n if (filters.type) {\n context.type = filters.type.toLowerCase();\n }\n if (filters.custom) {\n context.custom = filters.custom.toLowerCase();\n }\n if (filters.role) {\n context.role = filters.role.toLowerCase();\n }\n if (filters.room) {\n context.room = (objects[filters.room] as ioBroker.EnumObject)?.common?.members || [];\n }\n if (filters.func) {\n context.func = (objects[filters.func] as ioBroker.EnumObject)?.common?.members || [];\n }\n }\n\n const data = item.data;\n\n if (data && data.id) {\n const common: ioBroker.StateCommon = data.obj?.common as ioBroker.StateCommon;\n\n if (customFilter) {\n if (customFilter.type) {\n if (typeof customFilter.type === 'string') {\n if (!data.obj || customFilter.type !== data.obj.type) {\n filteredOut = true;\n }\n } else if (Array.isArray(customFilter.type)) {\n if (!data.obj || !customFilter.type.includes(data.obj.type)) {\n filteredOut = true;\n }\n }\n }\n if (!filteredOut && customFilter.common?.type) {\n if (!common?.type) {\n filteredOut = true;\n } else if (typeof customFilter.common.type === 'string') {\n if (customFilter.common.type !== common.type) {\n filteredOut = true;\n }\n } else if (Array.isArray(customFilter.common.type)) {\n if (!customFilter.common.type.includes(common.type)) {\n filteredOut = true;\n }\n }\n }\n if (!filteredOut && customFilter.common?.role) {\n if (!common?.role) {\n filteredOut = true;\n } else if (typeof customFilter.common.role === 'string') {\n if (common.role.startsWith(customFilter.common.role)) {\n filteredOut = true;\n }\n } else if (Array.isArray(customFilter.common.role)) {\n if (!customFilter.common.role.find(role => common.role.startsWith(role))) {\n filteredOut = true;\n }\n }\n }\n\n if (!filteredOut && customFilter.common?.custom === '_' && common?.custom) {\n filteredOut = true;\n } else if (!filteredOut && customFilter.common?.custom && customFilter.common?.custom !== '_') {\n const filterOfCustom = customFilter.common.custom as string | string[] | boolean;\n if (!common?.custom) {\n filteredOut = true;\n } else if (filterOfCustom === '_dataSources') {\n // TODO: make it configurable\n if (\n !Object.keys(common.custom).find(\n id => id.startsWith('history.') || id.startsWith('sql.') || id.startsWith('influxdb.'),\n )\n ) {\n filteredOut = true;\n }\n } else if (Array.isArray(filterOfCustom)) {\n // here are ['influxdb.', 'telegram.']\n const customs = Object.keys(common.custom); // here are ['influxdb.0', 'telegram.2']\n if (filterOfCustom.find(cst => customs.find(id => id.startsWith(cst)))) {\n filteredOut = true;\n }\n } else if (\n filterOfCustom !== true &&\n !Object.keys(common.custom).find(id => id.startsWith(filterOfCustom as string))\n ) {\n filteredOut = true;\n }\n }\n }\n\n if (!filteredOut && !filters.expertMode) {\n filteredOut =\n data.id === 'system' ||\n data.id === 'enum' ||\n // (data.obj && data.obj.type === 'meta') ||\n data.id.startsWith('system.') ||\n data.id.startsWith('enum.') ||\n data.id.startsWith('_design/') ||\n data.id.endsWith('.admin') ||\n !!common?.expert;\n }\n if (!filteredOut && context.id) {\n if (data.fID === undefined) {\n data.fID = data.id.toLowerCase();\n }\n filteredOut = !data.fID.includes(context.id);\n }\n if (!filteredOut && context.name) {\n if (common) {\n if (data.fName === undefined) {\n data.fName = (common && getName(common.name, lang)) || '';\n data.fName = data.fName.toLowerCase();\n }\n filteredOut = !data.fName.includes(context.name);\n } else {\n filteredOut = true;\n }\n }\n if (!filteredOut && filters.role && common) {\n if (common) {\n filteredOut = !(common.role && common.role.startsWith(context.role));\n } else {\n filteredOut = true;\n }\n }\n if (!filteredOut && context.room) {\n filteredOut = !context.room.find(id => id === data.id || data.id.startsWith(`${id}.`));\n }\n if (!filteredOut && context.func) {\n filteredOut = !context.func.find(id => id === data.id || data.id.startsWith(`${id}.`));\n }\n if (!filteredOut && context.type) {\n filteredOut = !(data.obj && data.obj.type && data.obj.type === context.type);\n }\n if (!filteredOut && selectedTypes) {\n filteredOut = !(data.obj && data.obj.type && selectedTypes.includes(data.obj.type));\n }\n if (!filteredOut && context.custom) {\n if (common) {\n if (context.custom === '_') {\n filteredOut = !!common.custom;\n } else {\n filteredOut = !common.custom || !common.custom[context.custom];\n }\n } else {\n filteredOut = true;\n }\n }\n }\n\n data.visible = !filteredOut;\n\n data.hasVisibleChildren = false;\n if (item.children && _depth < 20) {\n item.children.forEach(_item => {\n const visible = applyFilter(\n _item,\n filters,\n lang,\n objects,\n context,\n counter,\n customFilter,\n selectedTypes,\n _depth + 1,\n );\n if (visible) {\n data.hasVisibleChildren = true;\n }\n });\n }\n\n // const visible = data.visible || data.hasVisibleChildren;\n data.sumVisibility = data.visible || data.hasVisibleChildren; // || data.hasVisibleParent;\n if (counter && data.sumVisibility) {\n counter.count++;\n }\n\n // show all children of visible object with opacity 0.5\n if (data.id && data.sumVisibility && item.children) {\n item.children.forEach(_item => (_item.data.hasVisibleParent = true));\n }\n\n return data.visible || data.hasVisibleChildren;\n}\n\nfunction getVisibleItems(\n item: TreeItem,\n type: ioBroker.ObjectType,\n objects: Record,\n _result?: string[],\n): string[] {\n _result = _result || [];\n const data = item.data;\n if (data.sumVisibility) {\n if (data.id && objects[data.id] && (!type || objects[data.id].type === type)) {\n _result.push(data.id);\n }\n item.children?.forEach(_item => getVisibleItems(_item, type, objects, _result));\n }\n\n return _result;\n}\n\nfunction getSystemIcon(\n objects: Record,\n id: string,\n level: number,\n themeType: ThemeType,\n lang: ioBroker.Languages,\n imagePrefix?: string,\n): string | JSX.Element | null {\n let icon;\n\n // system or design has special icons\n if (id === 'alias' || id === 'alias.0') {\n icon = (\n \n );\n } else if (id === '0_userdata' || id === '0_userdata.0') {\n icon = (\n \n );\n } else if (id.startsWith('_design/') || id === 'system') {\n icon = (\n \n );\n } else if (id === 'system.adapter') {\n icon = (\n \n );\n } else if (id === 'system.group') {\n icon = ;\n } else if (id === 'system.user') {\n icon = ;\n } else if (id === 'system.host') {\n icon = ;\n } else if (id.endsWith('.connection') || id.endsWith('.connected')) {\n icon = ;\n } else if (id.endsWith('.info')) {\n icon = ;\n } else if (objects[id] && objects[id].type === 'meta') {\n icon = ;\n } else if (level < 2) {\n // detect \"cloud.0\"\n if (objects[`system.adapter.${id}`]) {\n icon = getSelectIdIconFromObjects(objects, `system.adapter.${id}`, lang, imagePrefix);\n }\n }\n\n return icon || null;\n}\n\nfunction getObjectTooltip(data: TreeItemData, lang: ioBroker.Languages): string | null {\n if (data?.obj?.common?.desc) {\n return getName(data.obj.common.desc, lang) || null;\n }\n\n return null;\n}\n\nfunction getIdFieldTooltip(data: TreeItemData, lang: ioBroker.Languages): JSX.Element {\n const tooltip = getObjectTooltip(data, lang);\n if (tooltip?.startsWith('http')) {\n return (\n \n {tooltip}\n
\n );\n }\n return {tooltip || data.id || ''};\n}\n\nfunction buildTree(\n objects: Record,\n options: {\n imagePrefix?: string;\n root?: string;\n lang: ioBroker.Languages;\n themeType: ThemeType;\n },\n): { root: TreeItem; info: TreeInfo } {\n const imagePrefix = options.imagePrefix || '.';\n\n let ids = Object.keys(objects);\n\n ids.sort((a, b) => {\n if (a === b) {\n return 0;\n }\n a = a.replace(/\\./g, '!!!');\n b = b.replace(/\\./g, '!!!');\n if (a > b) {\n return 1;\n }\n return -1;\n });\n\n if (options.root) {\n ids = ids.filter(id => id === options.root || id.startsWith(`${options.root}.`));\n }\n\n // find empty nodes and create names for it\n let currentPathArr: string[] = [];\n let currentPath = '';\n let currentPathLen = 0;\n const root: TreeItem = {\n data: {\n name: '',\n id: '',\n },\n children: [],\n };\n\n const info: TreeInfo = {\n funcEnums: [],\n roomEnums: [],\n roles: [],\n ids: [],\n types: [],\n objects,\n customs: ['_'],\n enums: [],\n hasSomeCustoms: false,\n aliasesMap: {},\n };\n\n let cRoot: TreeItem = root;\n\n for (let i = 0; i < ids.length; i++) {\n const id = ids[i];\n if (!id) {\n continue;\n }\n const obj = objects[id];\n const parts = id.split('.');\n\n if (obj.type && !info.types.includes(obj.type)) {\n info.types.push(obj.type);\n }\n\n if (obj) {\n const common = obj.common;\n const role = common && common.role;\n if (role && !info.roles.includes(role)) {\n info.roles.push(role);\n } else if (id.startsWith('enum.rooms.')) {\n info.roomEnums.push(id);\n info.enums.push(id);\n } else if (id.startsWith('enum.functions.')) {\n info.funcEnums.push(id);\n info.enums.push(id);\n } else if (obj.type === 'enum') {\n info.enums.push(id);\n } else if (obj.type === 'instance' && common && (common.supportCustoms || common.adminUI?.custom)) {\n info.hasSomeCustoms = true;\n info.customs.push(id.substring('system.adapter.'.length));\n }\n\n // Build a map of aliases\n if (id.startsWith('alias.') && obj.common.alias?.id) {\n if (typeof obj.common.alias.id === 'string') {\n const usedId = obj.common.alias.id;\n if (!info.aliasesMap[usedId]) {\n info.aliasesMap[usedId] = [id];\n } else if (!info.aliasesMap[usedId].includes(id)) {\n info.aliasesMap[usedId].push(id);\n }\n } else {\n const readId = obj.common.alias.id.read;\n if (readId) {\n if (!info.aliasesMap[readId]) {\n info.aliasesMap[readId] = [id];\n } else if (!info.aliasesMap[readId].includes(id)) {\n info.aliasesMap[readId].push(id);\n }\n }\n const writeId = obj.common.alias.id.write;\n if (writeId) {\n if (!info.aliasesMap[writeId]) {\n info.aliasesMap[writeId] = [id];\n } else if (!info.aliasesMap[writeId].includes(id)) {\n info.aliasesMap[writeId].push(id);\n }\n }\n }\n }\n }\n\n info.ids.push(id);\n\n let repeat;\n\n // if next level\n do {\n repeat = false;\n\n // If the current level is still OK, and we can add ID to children\n if (!currentPath || id.startsWith(`${currentPath}.`)) {\n // if more than one level added\n if (parts.length - currentPathLen > 1) {\n let curPath = currentPath;\n // generate missing levels\n for (let k = currentPathLen; k < parts.length - 1; k++) {\n curPath += (curPath ? '.' : '') + parts[k];\n // level does not exist\n if (!binarySearch(info.ids, curPath)) {\n const _cRoot: TreeItem = {\n data: {\n name: parts[k],\n parent: cRoot,\n id: curPath,\n obj: objects[curPath],\n level: k,\n icon: getSystemIcon(\n objects,\n curPath,\n k,\n options.themeType,\n options.lang,\n imagePrefix,\n ),\n generated: true,\n },\n };\n\n cRoot.children = cRoot.children || [];\n cRoot.children.push(_cRoot);\n cRoot = _cRoot;\n info.ids.push(curPath); // IDs will be added by alphabet\n } else if (cRoot.children) {\n cRoot = cRoot.children.find(item => item.data.name === parts[k]);\n }\n }\n }\n\n const _cRoot: TreeItem = {\n data: {\n name: parts[parts.length - 1],\n title: getName(obj?.common?.name, options.lang),\n obj,\n parent: cRoot,\n icon:\n getSelectIdIconFromObjects(objects, id, options.lang, imagePrefix) ||\n getSystemIcon(objects, id, 0, options.themeType, options.lang, imagePrefix),\n id,\n hasCustoms: !!(obj.common?.custom && Object.keys(obj.common.custom).length),\n level: parts.length - 1,\n generated: false,\n button:\n obj.type === 'state' &&\n !!obj.common?.role &&\n typeof obj.common.role === 'string' &&\n obj.common.role.startsWith('button') &&\n obj.common?.write !== false,\n switch:\n obj.type === 'state' &&\n obj.common?.type === 'boolean' &&\n obj.common?.write !== false &&\n obj.common?.read !== false,\n },\n };\n\n cRoot.children = cRoot.children || [];\n cRoot.children.push(_cRoot);\n cRoot = _cRoot;\n\n currentPathLen = parts.length;\n currentPathArr = parts;\n currentPath = id;\n } else {\n let u = 0;\n\n while (currentPathArr[u] === parts[u]) {\n u++;\n }\n\n if (u > 0) {\n let move = currentPathArr.length;\n currentPathArr = currentPathArr.splice(0, u);\n currentPathLen = u;\n currentPath = currentPathArr.join('.');\n while (move > u) {\n if (cRoot.data.parent) {\n cRoot = cRoot.data.parent;\n } else {\n console.error(`Parent is null for ${id} ${currentPath} ${currentPathArr.join('.')}`);\n }\n move--;\n }\n } else {\n cRoot = root;\n currentPathArr = [];\n currentPath = '';\n currentPathLen = 0;\n }\n repeat = true;\n }\n } while (repeat);\n }\n\n info.roomEnums.sort((a, b) => {\n const aName: string = getName(objects[a]?.common?.name, options.lang) || a.split('.').pop();\n const bName: string = getName(objects[b]?.common?.name, options.lang) || b.split('.').pop();\n if (aName > bName) {\n return 1;\n }\n if (aName < bName) {\n return -1;\n }\n return 0;\n });\n info.funcEnums.sort((a, b) => {\n const aName: string = getName(objects[a]?.common?.name, options.lang) || a.split('.').pop();\n const bName: string = getName(objects[b]?.common?.name, options.lang) || b.split('.').pop();\n if (aName > bName) {\n return 1;\n }\n if (aName < bName) {\n return -1;\n }\n return 0;\n });\n info.roles.sort();\n info.types.sort();\n\n return { info, root };\n}\n\nfunction findNode(root: TreeItem, id: string, _parts?: string[], _path?: string, _level?: number): TreeItem | null {\n if (root.data.id === id) {\n return root;\n }\n if (!_parts) {\n _parts = id.split('.');\n _level = 0;\n _path = _parts[_level];\n }\n if (!root.children && root.data.id !== id) {\n return null;\n }\n let found;\n if (root.children) {\n for (let i = 0; i < root.children.length; i++) {\n const _id = root.children[i].data.id;\n if (_id === _path) {\n found = root.children[i];\n break;\n } else if (_id > _path) {\n break;\n }\n }\n }\n if (found) {\n _level = _level || 0;\n return findNode(found, id, _parts, `${_path}.${_parts[_level + 1]}`, _level + 1);\n }\n\n return null;\n}\n\nfunction findRoomsForObject(\n info: TreeInfo,\n id: string,\n lang: ioBroker.Languages,\n rooms?: string[],\n): { rooms: string[]; per: boolean } {\n if (!id) {\n return { rooms: [], per: false };\n }\n rooms = rooms || [];\n for (const room of info.roomEnums) {\n const common = info.objects[room]?.common;\n\n if (!common) {\n continue;\n }\n\n const name = getName(common.name, lang);\n\n if (common.members?.includes(id) && !rooms.includes(name)) {\n rooms.push(name);\n }\n }\n\n let ownEnums;\n\n // Check parent\n const parts = id.split('.');\n parts.pop();\n id = parts.join('.');\n if (info.objects[id]) {\n ownEnums = rooms.length;\n findRoomsForObject(info, id, lang, rooms);\n }\n\n return { rooms, per: !ownEnums }; // per is if the enums are from parent\n}\n\nfunction findEnumsForObjectAsIds(\n info: TreeInfo,\n id: string,\n enumName: 'roomEnums' | 'funcEnums',\n funcs?: string[],\n): string[] {\n if (!id) {\n return [];\n }\n funcs = funcs || [];\n for (let i = 0; i < info[enumName].length; i++) {\n const common = info.objects[info[enumName][i]]?.common;\n if (common?.members?.includes(id) && !funcs.includes(info[enumName][i])) {\n funcs.push(info[enumName][i]);\n }\n }\n funcs.sort();\n\n return funcs;\n}\n\nfunction findFunctionsForObject(\n info: TreeInfo,\n id: string,\n lang: ioBroker.Languages,\n funcs?: string[],\n): { funcs: string[]; pef: boolean } {\n if (!id) {\n return { funcs: [], pef: false };\n }\n funcs = funcs || [];\n for (let i = 0; i < info.funcEnums.length; i++) {\n const common = info.objects[info.funcEnums[i]]?.common;\n\n if (!common) {\n continue;\n }\n\n const name = getName(common.name, lang);\n if (common.members?.includes(id) && !funcs.includes(name)) {\n funcs.push(name);\n }\n }\n\n let ownEnums;\n\n // Check parent\n const parts = id.split('.');\n parts.pop();\n id = parts.join('.');\n if (info.objects[id]) {\n ownEnums = funcs.length;\n findFunctionsForObject(info, id, lang, funcs);\n }\n\n return { funcs, pef: !ownEnums };\n}\n\n/*\nfunction quality2text(q) {\n if (!q) {\n return 'ok';\n }\n const custom = q & 0xFFFF0000;\n let text = '';\n if (q & 0x40) text += 'device';\n if (q & 0x80) text += 'sensor';\n if (q & 0x01) text += ' bad';\n if (q & 0x02) text += ' not connected';\n if (q & 0x04) text += ' error';\n\n return text + (custom ? '|0x' + (custom >> 16).toString(16).toUpperCase() : '') + ' [0x' + q.toString(16).toUpperCase() + ']';\n}\n*/\n\n/**\n * Format a state value for visualization\n */\nfunction formatValue(options: FormatValueOptions): {\n valText: {\n /** value as string */\n v: string;\n /** value unit */\n u?: string;\n /** value not replaced by `common.states` */\n s?: string;\n };\n valFull:\n | {\n /** label */\n t: string;\n /** value */\n v: string;\n /** no break */\n nbr?: boolean;\n }[]\n | undefined;\n fileViewer: 'image' | 'text' | 'json' | 'html' | 'pdf' | 'audio' | 'video' | undefined;\n} {\n const { dateFormat, state, isFloatComma, texts, obj } = options;\n const states = Utils.getStates(obj);\n const isCommon = obj.common;\n let fileViewer: 'image' | 'text' | 'json' | 'html' | 'pdf' | 'audio' | 'video' | undefined;\n\n let v: any =\n // @ts-expect-error deprecated from js-controller 6\n isCommon?.type === 'file'\n ? '[file]'\n : !state || state.val === null\n ? '(null)'\n : state.val === undefined\n ? '[undef]'\n : state.val;\n\n const type = typeof v;\n\n if (isCommon?.role && typeof isCommon.role === 'string' && isCommon.role.match(/^value\\.time|^date/)) {\n if (v && typeof v === 'string') {\n if (Utils.isStringInteger(v)) {\n // we assume a unix ts\n v = new Date(parseInt(v, 10)).toString();\n } else {\n // check if parsable by new date\n try {\n const parsedDate = new Date(v);\n\n if (Utils.isValidDate(parsedDate)) {\n v = parsedDate.toString();\n }\n } catch {\n // ignore\n }\n }\n } else {\n if (v > 946681200 && v < 946681200000) {\n // '2000-01-01T00:00:00' => 946681200000\n v *= 1_000; // maybe the time is in seconds (UNIX time)\n }\n // \"null\" and undefined could not be here. See `let v = (isCommon && isCommon.type === 'file') ....` above\n v = v ? new Date(v).toString() : v;\n }\n } else {\n if (type === 'number') {\n if (!Number.isInteger(v)) {\n v = Math.round(v * 100_000_000) / 100_000_000; // remove 4.00000000000000001\n if (isFloatComma) {\n v = v.toString().replace('.', ',');\n }\n }\n } else if (type === 'object') {\n v = JSON.stringify(v);\n } else if (type !== 'string') {\n v = v.toString();\n } else if (v.startsWith('data:image/')) {\n fileViewer = 'image';\n }\n\n if (typeof v !== 'string') {\n v = v.toString();\n }\n }\n\n const valText: {\n /** value as string */\n v: string;\n /** value unit */\n u?: string;\n /** value not replaced by `common.states` */\n s?: string;\n } = { v: v as string };\n\n // try to replace number with \"common.states\"\n if (states && states[v] !== undefined) {\n if (v !== states[v]) {\n valText.s = v;\n v = states[v];\n valText.v = v;\n }\n }\n\n if (isCommon?.unit) {\n valText.u = isCommon.unit;\n }\n let valFull:\n | {\n /** label */\n t: string;\n /** value */\n v: string;\n nbr?: boolean;\n }[]\n | undefined;\n if (options.full) {\n valFull = [{ t: texts.value, v }];\n\n if (state) {\n if (state.ack !== undefined && state.ack !== null) {\n valFull.push({ t: texts.ack, v: state.ack.toString() });\n }\n if (state.ts) {\n valFull.push({ t: texts.ts, v: state.ts ? Utils.formatDate(new Date(state.ts), dateFormat) : '' });\n }\n if (state.lc) {\n valFull.push({ t: texts.lc, v: state.lc ? Utils.formatDate(new Date(state.lc), dateFormat) : '' });\n }\n if (state.from) {\n let from = state.from.toString();\n if (from.startsWith('system.adapter.')) {\n from = from.substring(15);\n }\n valFull.push({ t: texts.from, v: from });\n }\n if (state.user) {\n let user = state.user.toString();\n if (user.startsWith('system.user.')) {\n user = user.substring(12);\n }\n valFull.push({ t: texts.user, v: user });\n }\n if (state.c) {\n valFull.push({ t: texts.c, v: state.c });\n }\n valFull.push({ t: texts.quality, v: Utils.quality2text(state.q || 0).join(', '), nbr: true });\n }\n }\n\n return {\n valText,\n valFull,\n fileViewer,\n };\n}\n\n/**\n * Get CSS style for given state value\n */\nfunction getValueStyle(options: GetValueStyleOptions): { color: string } {\n const { state /* , isExpertMode, isButton */ } = options;\n const color = state?.ack ? (state.q ? '#ffa500' : '') : '#ff2222c9';\n\n // do not show the color of the button in non-expert mode\n // if (!isExpertMode && isButton) {\n // color = '';\n // }\n\n return { color };\n}\n\nfunction prepareSparkData(values: ioBroker.GetHistoryResult, from: number): number[] {\n // set one point every hour\n let time = from;\n let i = 1;\n const v = [];\n\n while (i < values.length && time < from + 25 * 3600000) {\n // find the interval\n while (values[i - 1].ts < time && time <= values[i].ts && i < values.length) {\n i++;\n }\n if (i === 1 && values[i - 1].ts >= time) {\n // assume the value was always null\n v.push(0);\n } else if (i < values.length) {\n if (typeof values[i].val === 'boolean' || typeof values[i - 1].val === 'boolean') {\n v.push(values[i].val ? 1 : 0);\n } else {\n // remove nulls\n values[i - 1].val = values[i - 1].val || 0;\n values[i].val = values[i].val || 0;\n // interpolate\n const nm1: number = values[i - 1].val as number;\n const n: number = values[i].val as number;\n const val = nm1 + ((n - nm1) * (time - values[i - 1].ts)) / (values[i].ts - values[i - 1].ts);\n\n v.push(val);\n }\n }\n\n time += 3600000;\n }\n\n return v;\n}\n\nexport const ITEM_IMAGES: Record = {\n state: (\n \n ),\n channel: (\n \n ),\n device: (\n \n ),\n adapter: (\n \n ),\n meta: (\n \n ),\n instance: (\n \n ),\n enum: (\n \n ),\n chart: (\n \n ),\n config: (\n \n ),\n group: (\n \n ),\n user: (\n \n ),\n host: (\n \n ),\n schedule: (\n \n ),\n script: (\n \n ),\n folder: (\n \n ),\n};\n\ninterface ScreenWidthOne {\n idWidth: string | number;\n widths: {\n room?: number;\n val?: number;\n name?: number;\n func?: number;\n buttons?: number;\n type?: number;\n role?: number;\n changedFrom?: number;\n qualityCode?: number;\n timestamp?: number;\n lastChange?: number;\n };\n fields: ObjectBrowserPossibleColumns[];\n}\n\ninterface ScreenWidth {\n xs: ScreenWidthOne;\n sm: ScreenWidthOne;\n md: ScreenWidthOne;\n lg: ScreenWidthOne;\n xl: ScreenWidthOne;\n}\n\nconst SCREEN_WIDTHS: ScreenWidth = {\n // extra-small: 0px\n xs: { idWidth: '100%', fields: [], widths: {} },\n // small: 600px\n sm: { idWidth: 300, fields: ['room', 'val'], widths: { room: 100, val: 200 } },\n // medium: 960px\n md: {\n idWidth: 300,\n fields: ['room', 'func', 'val', 'buttons'],\n widths: {\n name: 200,\n room: 150,\n func: 150,\n val: 120,\n buttons: 120,\n },\n },\n // large: 1280px\n lg: {\n idWidth: 300,\n fields: [\n 'name',\n 'type',\n 'role',\n 'room',\n 'func',\n 'val',\n 'buttons',\n 'changedFrom',\n 'qualityCode',\n 'timestamp',\n 'lastChange',\n ],\n widths: {\n name: 300,\n type: 80,\n role: 120,\n room: 180,\n func: 180,\n val: 140,\n buttons: 120,\n changedFrom: 120,\n qualityCode: 100,\n timestamp: 165,\n lastChange: 165,\n },\n },\n // /////////////\n // extra-large: 1920px\n xl: {\n idWidth: 550,\n fields: [\n 'name',\n 'type',\n 'role',\n 'room',\n 'func',\n 'val',\n 'buttons',\n 'changedFrom',\n 'qualityCode',\n 'timestamp',\n 'lastChange',\n ],\n widths: {\n name: 400,\n type: 80,\n role: 120,\n room: 180,\n func: 180,\n val: 140,\n buttons: 120,\n changedFrom: 120,\n qualityCode: 100,\n timestamp: 170,\n lastChange: 170,\n },\n },\n};\n\nlet objectsAlreadyLoaded = false;\n\nexport interface ObjectBrowserFilter {\n id?: string;\n name?: string;\n room?: string;\n func?: string;\n role?: string;\n type?: string;\n custom?: string;\n expertMode?: boolean;\n}\n\nconst DEFAULT_FILTER: ObjectBrowserFilter = {\n id: '',\n name: '',\n room: '',\n func: '',\n role: '',\n type: '',\n custom: '',\n expertMode: false,\n};\n\ninterface AdapterColumn {\n adapter: string;\n id: string;\n name: string;\n path: string[];\n pathText: string;\n edit?: boolean;\n type?: 'boolean' | 'string' | 'number';\n objTypes?: ioBroker.ObjectType[];\n align?: 'center' | 'left' | 'right';\n}\n\ninterface ObjectBrowserEditRoleProps {\n roles: string[];\n id: string;\n socket: Connection;\n onClose: (obj?: ioBroker.Object | null) => void;\n t: Translate;\n}\n\ninterface ObjectViewFileDialogProps {\n t: Translate;\n socket: Connection;\n obj: ioBroker.AnyObject;\n onClose: () => void;\n}\n\ninterface DragWrapperProps {\n item: TreeItem;\n className?: string;\n style?: React.CSSProperties;\n children: JSX.Element | null;\n}\n\ninterface ObjectCustomDialogProps {\n t: Translate;\n lang: ioBroker.Languages;\n expertMode?: boolean;\n objects: Record;\n socket: Connection;\n theme: IobTheme;\n themeName: ThemeName;\n themeType: ThemeType;\n customsInstances: string[];\n objectIDs: string[];\n onClose: () => void;\n reportChangedIds: (ids: string[]) => void;\n isFloatComma: boolean;\n allVisibleObjects: boolean;\n systemConfig: ioBroker.SystemConfigObject;\n}\n\ninterface ObjectBrowserValueProps {\n /** State type */\n type: 'states' | 'string' | 'number' | 'boolean' | 'json';\n /** State role */\n role: string;\n /** common.states */\n states: Record | null;\n /** The state value */\n value: string | number | boolean | null;\n /** If expert mode is enabled */\n expertMode: boolean;\n onClose: (newValue?: {\n val: ioBroker.StateValue;\n ack: boolean;\n q: ioBroker.STATE_QUALITY[keyof ioBroker.STATE_QUALITY];\n expire: number | undefined;\n }) => void;\n /** Configured theme */\n themeType: ThemeType;\n theme: IobTheme;\n socket: Connection;\n defaultHistory: string;\n dateFormat: string;\n object: ioBroker.StateObject;\n isFloatComma: boolean;\n t: Translate;\n lang: ioBroker.Languages;\n width?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n}\n\ninterface ObjectBrowserEditObjectProps {\n socket: Connection;\n obj: ioBroker.AnyObject;\n roleArray: string[];\n expertMode: boolean;\n themeType: ThemeType;\n theme: IobTheme;\n aliasTab: boolean;\n onClose: (obj?: ioBroker.AnyObject) => void;\n dialogName?: string;\n objects: Record;\n dateFormat: string;\n isFloatComma: boolean;\n onNewObject: (obj: ioBroker.AnyObject) => void;\n t: Translate;\n width?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n}\n\nexport interface ObjectAliasEditorProps {\n t: Translate;\n socket: Connection;\n objects: Record;\n onRedirect: (id: string, delay?: number) => void;\n obj: ioBroker.AnyObject;\n onClose: () => void;\n}\nexport type ObjectBrowserColumn = 'name' | 'type' | 'role' | 'room' | 'func' | 'val' | 'buttons';\n\ntype ObjectBrowserPossibleColumns =\n | 'name'\n | 'type'\n | 'role'\n | 'room'\n | 'func'\n | 'val'\n | 'buttons'\n | 'changedFrom'\n | 'qualityCode'\n | 'timestamp'\n | 'lastChange'\n | 'id';\n\nexport interface ObjectBrowserProps {\n /** where to store settings in localStorage */\n dialogName?: string;\n defaultFilters?: ObjectBrowserFilter;\n selected?: string | string[];\n onSelect?: (selected: string | string[], name: string, isDouble?: boolean) => void;\n onFilterChanged?: (newFilter: ObjectBrowserFilter) => void;\n socket: Connection;\n showExpertButton?: boolean;\n expertMode?: boolean;\n imagePrefix?: string;\n themeName: ThemeName;\n themeType: ThemeType;\n /** will be filled by withWidth */\n width?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n theme: IobTheme;\n t: Translate;\n lang: ioBroker.Languages;\n multiSelect?: boolean;\n notEditable?: boolean;\n foldersFirst?: boolean;\n disableColumnSelector?: boolean;\n isFloatComma?: boolean;\n dateFormat?: string;\n levelPadding?: number;\n\n // components\n objectCustomDialog?: React.FC;\n objectAddBoolean?: boolean; // optional toolbar button\n objectEditBoolean?: boolean; // optional toolbar button\n objectStatesView?: boolean; // optional toolbar button\n objectImportExport?: boolean; // optional toolbar button\n objectEditOfAccessControl?: boolean; // Access Control\n /** modal add object */\n modalNewObject?: (oBrowser: ObjectBrowserClass) => JSX.Element;\n /** modal Edit Of Access Control */\n modalEditOfAccessControl: (oBrowser: ObjectBrowserClass, data: TreeItemData) => JSX.Element;\n onObjectDelete?: (id: string, hasChildren: boolean, objectExists: boolean, childrenCount: number) => void;\n /**\n * Optional filter\n * `{common: {custom: true}}` - show only objects with some custom settings\n * `{common: {custom: 'sql.0'}}` - show only objects with sql.0 custom settings (only of the specific instance)\n * `{common: {custom: '_dataSources'}}` - show only objects of adapters `influxdb' or 'sql' or 'history'\n * `{common: {custom: 'adapterName.'}}` - show only objects of custom settings of specific adapter (all instances)\n * `{type: 'channel'}` - show only channels\n * `{type: ['channel', 'device']}` - show only channels and devices\n * `{common: {type: 'number'}` - show only states of type 'number\n * `{common: {type: ['number', 'string']}` - show only states of type 'number and string\n * `{common: {role: ['switch']}` - show only states with roles starting from switch\n * `{common: {role: ['switch', 'button']}` - show only states with roles starting from `switch` and `button`\n */\n customFilter: ObjectBrowserCustomFilter;\n objectBrowserValue?: React.FC;\n objectBrowserEditObject?: React.FC;\n /** on edit alias */\n objectBrowserAliasEditor?: React.FC;\n /** on Edit role */\n objectBrowserEditRole?: React.FC;\n /** on view file state */\n objectBrowserViewFile?: React.FC;\n router?: typeof Router;\n types?: ioBroker.ObjectType[];\n /** Possible columns: ['name', 'type', 'role', 'room', 'func', 'val', 'buttons'] */\n columns?: ObjectBrowserColumn[];\n /** Shows only elements of this root */\n root?: string;\n\n /** cache of objects */\n objectsWorker?: ObjectsWorker;\n /**\n * function to filter out all unnecessary objects. It cannot be used together with \"types\"\n * Example for function: `obj => obj.common?.type === 'boolean'` to show only boolean states\n */\n filterFunc?: (obj: ioBroker.Object) => boolean;\n /** Used for enums dragging */\n DragWrapper?: React.FC;\n /** let DragWrapper know about objects to get the icons */\n setObjectsReference?: (objects: Record) => void;\n dragEnabled?: boolean;\n}\n\ninterface ObjectBrowserState {\n loaded: boolean;\n foldersFirst: boolean;\n selected: string[];\n focused: string;\n selectedNonObject: string;\n filter: ObjectBrowserFilter;\n filterKey: number;\n depth: number;\n expandAllVisible: boolean;\n expanded: string[];\n toast: string;\n scrollBarWidth: number;\n customDialog: null | string[];\n customDialogAll?: boolean;\n editObjectDialog: string;\n editObjectAlias: boolean; // open the edit object dialog on alias tab\n viewFileDialog: string;\n showAliasEditor: string;\n enumDialog: null | {\n item: TreeItem;\n type: 'room' | 'func';\n enumsOriginal: string;\n };\n enumDialogEnums?: null | string[];\n roleDialog: null | string;\n statesView: boolean;\n /** ['name', 'type', 'role', 'room', 'func', 'val', 'buttons'] */\n columns: ObjectBrowserPossibleColumns[] | null;\n columnsForAdmin: Record | null;\n columnsSelectorShow: boolean;\n columnsAuto: boolean;\n columnsWidths: Record;\n columnsDialogTransparent: number;\n columnsEditCustomDialog: null | {\n obj: ioBroker.Object;\n item: TreeItem;\n it: AdapterColumn;\n };\n customColumnDialogValueChanged: boolean;\n showExportDialog: false | number;\n showAllExportOptions: boolean;\n linesEnabled: boolean;\n showDescription: boolean;\n showContextMenu: {\n item: TreeItem;\n position: { left: number; top: number };\n subItem?: string;\n subAnchor?: HTMLLIElement;\n } | null;\n noStatesByExportImport: boolean;\n beautifyJsonExport: boolean;\n excludeSystemRepositoriesFromExport: boolean;\n excludeTranslations: boolean;\n updating?: boolean;\n modalNewObj?: null | { id: string; initialType?: ioBroker.ObjectType; initialStateType?: ioBroker.CommonType };\n error?: any;\n modalEditOfAccess?: boolean;\n modalEditOfAccessObjData?: TreeItemData;\n updateOpened?: boolean;\n tooltipInfo: null | { el: JSX.Element[]; id: string };\n /** Show the menu with aliases for state */\n aliasMenu: string;\n}\n\nexport class ObjectBrowserClass extends Component {\n // do not define the type as null to save the performance, so we must check it every time\n private info: TreeInfo = {\n funcEnums: [],\n roomEnums: [],\n roles: [],\n ids: [],\n types: [],\n objects: {},\n customs: [],\n enums: [],\n hasSomeCustoms: false,\n aliasesMap: {},\n };\n\n private localStorage: Storage = ((window as any)._localStorage as Storage) || window.localStorage;\n\n private lastAppliedFilter: string | null = null;\n\n private readonly tableRef: React.RefObject;\n\n private readonly filterRefs: Record>;\n\n private pausedSubscribes: boolean = false;\n\n private selectFirst: string;\n\n private root: TreeItem | null = null;\n\n private readonly states: Record = {};\n\n private subscribes: string[] = [];\n\n private unsubscribeTimer: ReturnType | null = null;\n\n private statesUpdateTimer: ReturnType | null = null;\n\n private objectsUpdateTimer: ReturnType | null = null;\n\n private filterTimer: ReturnType | null = null;\n\n private readonly visibleCols: ObjectBrowserPossibleColumns[];\n\n private readonly texts: Record;\n\n private readonly possibleCols: ObjectBrowserPossibleColumns[];\n\n private readonly imagePrefix: string;\n\n private adapterColumns: AdapterColumn[] = [];\n\n private styleTheme: string = '';\n\n private edit: {\n val: string | number | boolean | null;\n q: number;\n ack: boolean;\n id: string;\n } = {\n id: '',\n val: '',\n q: 0,\n ack: false,\n };\n\n private readonly levelPadding: number;\n\n private customWidth: boolean = false;\n\n private resizeTimeout: ReturnType | null = null;\n\n private resizerNextName: string | null = null;\n\n private resizerActiveName: string | null = null;\n\n private resizerCurrentWidths: Record = {};\n\n private resizeLeft: boolean = false;\n\n private resizerOldWidth: number = 0;\n\n private resizerMin: number = 0;\n\n private resizerNextMin: number = 0;\n\n private resizerOldWidthNext: number = 0;\n\n private resizerPosition: number = 0;\n\n private resizerActiveDiv: HTMLDivElement | null = null;\n\n private resizerNextDiv: HTMLDivElement | null = null;\n\n private storedWidths: ScreenWidthOne | null = null;\n\n private systemConfig: ioBroker.SystemConfigObject;\n\n public objects: Record;\n\n private defaultHistory: string = '';\n\n private columnsVisibility: {\n id?: number | string;\n name?: number | string;\n nameHeader?: number | string;\n type?: number;\n role?: number;\n room?: number;\n func?: number;\n changedFrom?: number;\n qualityCode?: number;\n timestamp?: number;\n lastChange?: number;\n val?: number;\n buttons?: number;\n } = {};\n\n private changedIds: null | string[] = null;\n\n private contextMenu: null | { item: any; ts: number } = null;\n\n private recordStates: string[] = [];\n\n private styles: {\n cellIdIconFolder?: React.CSSProperties;\n cellIdIconDocument?: React.CSSProperties;\n iconDeviceError?: React.CSSProperties;\n iconDeviceConnected?: React.CSSProperties;\n iconDeviceDisconnected?: React.CSSProperties;\n cellButtonsButtonWithCustoms?: React.CSSProperties;\n invertedBackground?: React.CSSProperties;\n invertedBackgroundFlex?: React.CSSProperties;\n contextMenuEdit?: React.CSSProperties;\n contextMenuEditValue?: React.CSSProperties;\n contextMenuView?: React.CSSProperties;\n contextMenuCustom?: React.CSSProperties;\n contextMenuACL?: React.CSSProperties;\n contextMenuRoom?: React.CSSProperties;\n contextMenuRole?: React.CSSProperties;\n contextMenuDelete?: React.CSSProperties;\n filterInput?: React.CSSProperties;\n iconCopy?: React.CSSProperties;\n aliasReadWrite?: React.CSSProperties;\n aliasAlone?: React.CSSProperties;\n } = {};\n\n private customColumnDialog: null | {\n value: boolean | number | string;\n type: 'boolean' | 'number' | 'string';\n initValue: boolean | number | string;\n } = null;\n\n /** Namespaces which are allowed to be edited by non-expert users */\n static #NON_EXPERT_NAMESPACES = ['0_userdata.0.', 'alias.0.'];\n\n constructor(props: ObjectBrowserProps) {\n super(props);\n\n const lastSelectedItemStr: string =\n this.localStorage.getItem(`${props.dialogName || 'App'}.objectSelected`) || '';\n\n this.selectFirst = '';\n\n if (lastSelectedItemStr.startsWith('[')) {\n try {\n const lastSelectedItems = JSON.parse(lastSelectedItemStr) as string[];\n this.selectFirst = lastSelectedItems[0] || '';\n } catch {\n // ignore\n }\n } else {\n this.selectFirst = lastSelectedItemStr;\n }\n\n let expanded: string[];\n const expandedStr = this.localStorage.getItem(`${props.dialogName || 'App'}.objectExpanded`) || '[]';\n try {\n expanded = JSON.parse(expandedStr);\n } catch {\n expanded = [];\n }\n\n let filter: ObjectBrowserFilter;\n const filterStr: string = props.defaultFilters\n ? ''\n : this.localStorage.getItem(`${props.dialogName || 'App'}.objectFilter`) || '';\n if (filterStr) {\n try {\n filter = JSON.parse(filterStr);\n } catch {\n filter = { ...DEFAULT_FILTER };\n }\n } else if (props.defaultFilters && typeof props.defaultFilters === 'object') {\n filter = { ...props.defaultFilters };\n } else {\n filter = { ...DEFAULT_FILTER };\n }\n\n filter.expertMode =\n props.expertMode !== undefined\n ? props.expertMode\n : (((window as any)._sessionStorage as Storage) || window.sessionStorage).getItem('App.expertMode') ===\n 'true';\n this.tableRef = createRef();\n this.filterRefs = {};\n\n Object.keys(DEFAULT_FILTER).forEach(name => (this.filterRefs[name] = createRef()));\n\n this.visibleCols = props.columns || SCREEN_WIDTHS[props.width || 'lg'].fields;\n // remove type column if only one type must be selected\n if (props.types && props.types.length === 1) {\n const pos = this.visibleCols.indexOf('type');\n if (pos !== -1) {\n this.visibleCols.splice(pos, 1);\n }\n }\n\n this.possibleCols = SCREEN_WIDTHS.xl.fields;\n\n let customDialog = null;\n\n if (props.router) {\n const location = props.router.getLocation();\n if (location.id && location.dialog === 'customs') {\n customDialog = [location.id];\n this.pauseSubscribe(true);\n }\n }\n\n let selected: string[];\n if (!Array.isArray(props.selected)) {\n selected = [props.selected || ''];\n } else {\n selected = props.selected;\n }\n selected = selected.map(id => id.replace(/[\"']/g, '')).filter(id => id);\n\n this.selectFirst = selected.length && selected[0] ? selected[0] : this.selectFirst;\n\n const columnsStr = this.localStorage.getItem(`${props.dialogName || 'App'}.columns`);\n let columns: ObjectBrowserPossibleColumns[] | null;\n try {\n columns = columnsStr ? JSON.parse(columnsStr) : null;\n } catch {\n columns = null;\n }\n\n let columnsWidths = null; // this.localStorage.getItem(`${props.dialogName || 'App'}.columnsWidths`);\n try {\n columnsWidths = columnsWidths ? JSON.parse(columnsWidths) : {};\n } catch {\n columnsWidths = {};\n }\n\n this.imagePrefix = props.imagePrefix || '.';\n let foldersFirst: boolean;\n const foldersFirstStr = this.localStorage.getItem(`${props.dialogName || 'App'}.foldersFirst`);\n\n if (foldersFirstStr === 'false') {\n foldersFirst = false;\n } else if (foldersFirstStr === 'true') {\n foldersFirst = true;\n } else {\n foldersFirst = props.foldersFirst === undefined ? true : props.foldersFirst;\n }\n\n let statesView = false;\n try {\n statesView = this.props.objectStatesView\n ? JSON.parse(this.localStorage.getItem(`${props.dialogName || 'App'}.objectStatesView`) || '') || false\n : false;\n } catch {\n // ignore\n }\n\n this.state = {\n loaded: false,\n foldersFirst,\n selected,\n selectedNonObject: this.localStorage.getItem(`${props.dialogName || 'App'}.selectedNonObject`) || '',\n filter,\n filterKey: 0,\n focused: this.localStorage.getItem(`${props.dialogName || 'App'}.focused`) || '',\n depth: 0,\n expandAllVisible: false,\n expanded,\n toast: '',\n scrollBarWidth: 16,\n customDialog,\n editObjectDialog: '',\n editObjectAlias: false, // open the edit object dialog on alias tab\n viewFileDialog: '',\n showAliasEditor: '',\n enumDialog: null,\n roleDialog: null,\n statesView,\n columns,\n columnsForAdmin: null,\n columnsSelectorShow: false,\n columnsAuto: this.localStorage.getItem(`${props.dialogName || 'App'}.columnsAuto`) !== 'false',\n columnsWidths,\n columnsDialogTransparent: 100,\n columnsEditCustomDialog: null,\n customColumnDialogValueChanged: false,\n showExportDialog: false,\n showAllExportOptions: false,\n linesEnabled: this.localStorage.getItem(`${props.dialogName || 'App'}.lines`) === 'true',\n showDescription: this.localStorage.getItem(`${props.dialogName || 'App'}.desc`) !== 'false',\n showContextMenu: null,\n noStatesByExportImport: false,\n beautifyJsonExport: true,\n excludeSystemRepositoriesFromExport: true,\n excludeTranslations: false,\n tooltipInfo: null,\n aliasMenu: '',\n };\n\n this.texts = {\n name: props.t('ra_Name'),\n categories: props.t('ra_Categories'),\n value: props.t('ra_tooltip_value'),\n ack: props.t('ra_tooltip_ack'),\n ts: props.t('ra_tooltip_ts'),\n lc: props.t('ra_tooltip_lc'),\n from: props.t('ra_tooltip_from'),\n user: props.t('ra_tooltip_user'),\n c: props.t('ra_tooltip_comment'),\n quality: props.t('ra_tooltip_quality'),\n editObject: props.t('ra_tooltip_editObject'),\n deleteObject: props.t('ra_tooltip_deleteObject'),\n customConfig: props.t('ra_tooltip_customConfig'),\n copyState: props.t('ra_tooltip_copyState'),\n editState: props.t('ra_tooltip_editState'),\n close: props.t('ra_Close'),\n filter_id: props.t('ra_filter_id'),\n filter_name: props.t('ra_filter_name'),\n filter_type: props.t('ra_filter_type'),\n filter_role: props.t('ra_filter_role'),\n filter_room: props.t('ra_filter_room'),\n filter_func: props.t('ra_filter_func'),\n filter_custom: props.t('ra_filter_customs'), //\n filterCustomsWithout: props.t('ra_filter_customs_without'), //\n objectChangedByUser: props.t('ra_object_changed_by_user'), // Object last changed at\n objectChangedBy: props.t('ra_object_changed_by'), // Object changed by\n objectChangedFrom: props.t('ra_state_changed_from'), // Object changed from\n stateChangedBy: props.t('ra_state_changed_by'), // State changed by\n stateChangedFrom: props.t('ra_state_changed_from'), // State changed from\n ownerGroup: props.t('ra_Owner group'),\n ownerUser: props.t('ra_Owner user'),\n deviceError: props.t('ra_Error'),\n deviceDisconnected: props.t('ra_Disconnected'),\n deviceConnected: props.t('ra_Connected'),\n\n aclOwner_read_object: props.t('ra_aclOwner_read_object'),\n aclOwner_read_state: props.t('ra_aclOwner_read_state'),\n aclOwner_write_object: props.t('ra_aclOwner_write_object'),\n aclOwner_write_state: props.t('ra_aclOwner_write_state'),\n aclGroup_read_object: props.t('ra_aclGroup_read_object'),\n aclGroup_read_state: props.t('ra_aclGroup_read_state'),\n aclGroup_write_object: props.t('ra_aclGroup_write_object'),\n aclGroup_write_state: props.t('ra_aclGroup_write_state'),\n aclEveryone_read_object: props.t('ra_aclEveryone_read_object'),\n aclEveryone_read_state: props.t('ra_aclEveryone_read_state'),\n aclEveryone_write_object: props.t('ra_aclEveryone_write_object'),\n aclEveryone_write_state: props.t('ra_aclEveryone_write_state'),\n\n create: props.t('ra_Create'),\n createBooleanState: props.t('ra_create_boolean_state'),\n createNumberState: props.t('ra_create_number_state'),\n createStringState: props.t('ra_create_string_state'),\n createState: props.t('ra_create_state'),\n createChannel: props.t('ra_create_channel'),\n createDevice: props.t('ra_create_device'),\n createFolder: props.t('ra_Create folder'),\n };\n\n this.levelPadding = props.levelPadding || ITEM_LEVEL;\n\n const resizerCurrentWidthsStr = this.localStorage.getItem(`${this.props.dialogName || 'App'}.table`);\n if (resizerCurrentWidthsStr) {\n try {\n const resizerCurrentWidths = JSON.parse(resizerCurrentWidthsStr);\n const width = this.props.width || 'lg';\n this.storedWidths = JSON.parse(JSON.stringify(SCREEN_WIDTHS[width]));\n Object.keys(resizerCurrentWidths).forEach(id => {\n if (id === 'id') {\n SCREEN_WIDTHS[width].idWidth = resizerCurrentWidths.id;\n } else if (id === 'nameHeader') {\n SCREEN_WIDTHS[width].widths.name = resizerCurrentWidths[id];\n } else if ((SCREEN_WIDTHS[width].widths as Record)[id] !== undefined) {\n (SCREEN_WIDTHS[width].widths as Record)[id] = resizerCurrentWidths[id];\n }\n });\n\n this.customWidth = true;\n } catch {\n // ignore\n }\n }\n\n this.calculateColumnsVisibility();\n }\n\n async loadAllObjects(update?: boolean): Promise {\n const props = this.props;\n\n try {\n await new Promise(resolve => {\n this.setState({ updating: true }, () => resolve());\n });\n\n const objects =\n (this.props.objectsWorker\n ? await this.props.objectsWorker.getObjects(update)\n : await props.socket.getObjects(update, true)) || {};\n if (props.types && Connection.isWeb()) {\n for (let i = 0; i < props.types.length; i++) {\n // admin has ALL objects\n // web has only state, channel, device, enum, and system.config\n if (\n props.types[i] === 'state' ||\n props.types[i] === 'channel' ||\n props.types[i] === 'device' ||\n props.types[i] === 'enum'\n ) {\n continue;\n }\n const moreObjects = await props.socket.getObjectViewSystem(props.types[i]);\n Object.assign(objects || {}, moreObjects as Record);\n }\n }\n\n this.systemConfig =\n this.systemConfig ||\n (objects?.['system.config'] as ioBroker.SystemConfigObject) ||\n (await props.socket.getObject('system.config'));\n\n this.systemConfig.common = this.systemConfig.common || ({} as ioBroker.SystemConfigCommon);\n this.systemConfig.common.defaultNewAcl = this.systemConfig.common.defaultNewAcl || {\n object: 0,\n state: 0,\n file: 0,\n owner: 'system.user.admin',\n ownerGroup: 'system.group.administrator',\n };\n this.systemConfig.common.defaultNewAcl.owner =\n this.systemConfig.common.defaultNewAcl.owner || 'system.user.admin';\n this.systemConfig.common.defaultNewAcl.ownerGroup =\n this.systemConfig.common.defaultNewAcl.ownerGroup || 'system.group.administrator';\n if (typeof this.systemConfig.common.defaultNewAcl.state !== 'number') {\n // TODO: may be convert here from string\n this.systemConfig.common.defaultNewAcl.state = 0x664;\n }\n if (typeof this.systemConfig.common.defaultNewAcl.object !== 'number') {\n // TODO: may be convert here from string\n this.systemConfig.common.defaultNewAcl.state = 0x664;\n }\n\n if (typeof props.filterFunc === 'function') {\n this.objects = {};\n const filterFunc: (obj: ioBroker.Object) => boolean = props.filterFunc;\n\n Object.keys(objects).forEach(id => {\n try {\n if (filterFunc(objects[id])) {\n this.objects[id] = objects[id];\n } else {\n const type = objects[id] && objects[id].type;\n // include \"folder\" types too for icons and names of nodes\n if (\n type &&\n (type === 'channel' ||\n type === 'device' ||\n type === 'folder' ||\n type === 'adapter' ||\n type === 'instance')\n ) {\n this.objects[id] = objects[id];\n }\n }\n } catch (e) {\n console.log(`Error by filtering of \"${id}\": ${e}`);\n }\n });\n } else if (props.types) {\n this.objects = {};\n const propsTypes = props.types;\n\n Object.keys(objects).forEach(id => {\n const type = objects[id] && objects[id].type;\n // include \"folder\" types too\n if (\n type &&\n (type === 'channel' ||\n type === 'device' ||\n type === 'enum' ||\n type === 'folder' ||\n type === 'adapter' ||\n type === 'instance' ||\n propsTypes.includes(type))\n ) {\n this.objects[id] = objects[id];\n }\n });\n } else {\n this.objects = objects;\n }\n\n if (props.setObjectsReference) {\n props.setObjectsReference(this.objects);\n }\n\n // read default history\n this.defaultHistory = this.systemConfig.common.defaultHistory;\n if (this.defaultHistory) {\n props.socket\n .getState(`system.adapter.${this.defaultHistory}.alive`)\n .then(state => {\n if (!state || !state.val) {\n this.defaultHistory = '';\n }\n })\n .catch(e => window.alert(`Cannot get state: ${e}`));\n }\n\n const columnsForAdmin = await this.getAdditionalColumns();\n this.calculateColumnsVisibility(null, null, columnsForAdmin);\n\n const { info, root } = buildTree(this.objects, {\n imagePrefix: this.props.imagePrefix,\n root: this.props.root,\n lang: this.props.lang,\n themeType: this.props.themeType,\n });\n this.root = root;\n this.info = info;\n\n // Show first selected item\n const node =\n this.state.selected && this.state.selected.length && findNode(this.root, this.state.selected[0]);\n\n this.lastAppliedFilter = null;\n\n // If the selected ID is not visible, reset filter\n if (\n node &&\n !applyFilter(\n node,\n this.state.filter,\n this.props.lang,\n this.objects,\n undefined,\n undefined,\n props.customFilter,\n props.types,\n )\n ) {\n // reset filter\n this.setState({ filter: { ...DEFAULT_FILTER }, columnsForAdmin }, () => {\n this.setState({ loaded: true, updating: false }, () =>\n this.expandAllSelected(() => this.onAfterSelect()),\n );\n });\n } else {\n this.setState({ loaded: true, updating: false, columnsForAdmin }, () =>\n this.expandAllSelected(() => this.onAfterSelect()),\n );\n }\n } catch (e1) {\n this.showError(e1);\n }\n }\n\n /**\n * Check if it is a non-expert id\n */\n static isNonExpertId(\n /** id to test */\n id: string,\n ): boolean {\n return !!ObjectBrowserClass.#NON_EXPERT_NAMESPACES.find(saveNamespace => id.startsWith(saveNamespace));\n }\n\n private expandAllSelected(cb?: () => void): void {\n const expanded = [...this.state.expanded];\n let changed = false;\n this.state.selected.forEach(id => {\n const parts = id.split('.');\n const path = [];\n for (let i = 0; i < parts.length - 1; i++) {\n path.push(parts[i]);\n if (!expanded.includes(path.join('.'))) {\n expanded.push(path.join('.'));\n changed = true;\n }\n }\n });\n if (changed) {\n expanded.sort();\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectExpanded`, JSON.stringify(expanded));\n this.setState({ expanded }, cb);\n } else if (cb) {\n cb();\n }\n }\n\n /**\n * @param isDouble is double click\n */\n private onAfterSelect(isDouble?: boolean): void {\n if (this.state.selected?.length && this.state.selected[0]) {\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectSelected`, this.state.selected[0]);\n\n // remove a task to select the pre-selected item if now we want to see another object\n if (this.selectFirst && this.selectFirst !== this.state.selected[0]) {\n this.selectFirst = '';\n }\n\n if (this.state.selected.length === 1 && this.objects[this.state.selected[0]]) {\n const name = Utils.getObjectName(this.objects, this.state.selected[0], null, {\n language: this.props.lang,\n });\n if (this.props.onSelect) {\n this.props.onSelect(this.state.selected, name, isDouble);\n }\n }\n } else {\n this.localStorage.removeItem(`${this.props.dialogName || 'App'}.objectSelected`);\n\n if (this.state.selected.length) {\n this.setState({ selected: [] }, () => this.props.onSelect && this.props.onSelect([], ''));\n } else if (this.props.onSelect) {\n this.props.onSelect([], '');\n }\n }\n }\n\n private static getDerivedStateFromProps(\n props: ObjectBrowserProps,\n state: ObjectBrowserState,\n ): Partial | null {\n const newState: Partial = {};\n let changed = false;\n if (props.expertMode !== undefined && props.expertMode !== state.filter.expertMode) {\n changed = true;\n newState.filter = { ...state.filter };\n newState.filter.expertMode = props.expertMode;\n }\n return changed ? newState : null;\n }\n\n /**\n * Called when component is mounted.\n */\n async componentDidMount(): Promise {\n await this.loadAllObjects(!objectsAlreadyLoaded);\n if (this.props.objectsWorker) {\n this.props.objectsWorker.registerHandler(this.onObjectChangeFromWorker);\n } else {\n await this.props.socket.subscribeObject('*', this.onObjectChange);\n }\n\n objectsAlreadyLoaded = true;\n\n window.addEventListener('contextmenu', this.onContextMenu, true);\n }\n\n /**\n * Called when component is unmounted.\n */\n componentWillUnmount(): void {\n if (this.filterTimer) {\n clearTimeout(this.filterTimer);\n this.filterTimer = null;\n }\n window.removeEventListener('contextmenu', this.onContextMenu, true);\n\n if (this.props.objectsWorker) {\n this.props.objectsWorker.unregisterHandler(this.onObjectChangeFromWorker, true);\n } else {\n void this.props.socket\n .unsubscribeObject('*', this.onObjectChange)\n .catch(e => console.error(`Cannot unsubscribe *: ${e}`));\n }\n\n // remove all subscribes\n this.subscribes.forEach(pattern => {\n console.log(`- unsubscribe ${pattern}`);\n this.props.socket.unsubscribeState(pattern, this.onStateChange);\n });\n\n this.subscribes = [];\n this.objects = {};\n }\n\n /**\n * Show the deletion dialog for a given object\n */\n showDeleteDialog(options: { id: string; obj: ioBroker.Object; item: TreeItem }): void {\n const { id, obj, item } = options;\n\n // calculate the number of children\n const keys = Object.keys(this.objects);\n keys.sort();\n let count = 0;\n const start = `${id}.`;\n for (let i = 0; i < keys.length; i++) {\n if (keys[i].startsWith(start)) {\n count++;\n } else if (keys[i] > start) {\n break;\n }\n }\n\n if (this.props.onObjectDelete) {\n this.props.onObjectDelete(id, !!item.children?.length, !obj.common?.dontDelete, count + 1);\n }\n }\n\n /**\n * Context menu handler.\n */\n onContextMenu = (e: MouseEvent): void => {\n // console.log(`CONTEXT MENU: ${this.contextMenu ? Date.now() - this.contextMenu.ts : 'false'}`);\n if (this.contextMenu && Date.now() - this.contextMenu.ts < 2000) {\n e.preventDefault();\n this.setState({\n showContextMenu: {\n item: this.contextMenu.item,\n position: { left: e.clientX + 2, top: e.clientY - 6 },\n },\n });\n } else if (this.state.showContextMenu) {\n e.preventDefault();\n this.setState({ showContextMenu: null });\n }\n this.contextMenu = null;\n };\n\n /**\n * Called when component is mounted.\n */\n refreshComponent(): void {\n // remove all subscribes\n this.subscribes.forEach(pattern => {\n console.log(`- unsubscribe ${pattern}`);\n this.props.socket.unsubscribeState(pattern, this.onStateChange);\n });\n\n this.subscribes = [];\n\n this.loadAllObjects(true)\n .then(() => console.log('updated!'))\n .catch(e => this.showError(e));\n }\n\n /**\n * Renders the error dialog.\n */\n renderErrorDialog(): JSX.Element | null {\n return this.state.error ? (\n this.setState({ error: '' })}\n aria-labelledby=\"error-dialog-title\"\n aria-describedby=\"error-dialog-description\"\n >\n {this.props.t('ra_Error')}\n \n {this.state.error}\n \n \n this.setState({ error: '' })}\n color=\"primary\"\n autoFocus\n startIcon={}\n >\n {this.props.t('ra_Ok')}\n \n \n \n ) : null;\n }\n\n /**\n * Show the error dialog.\n */\n showError(error: any): void {\n this.setState({\n error:\n typeof error === 'object'\n ? error && typeof error.toString === 'function'\n ? error.toString()\n : JSON.stringify(error)\n : error,\n });\n }\n\n /**\n * Called when an item is selected/deselected.\n */\n onSelect(toggleItem: string, isDouble?: boolean, cb?: () => void): void {\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.focused`, toggleItem);\n\n if (!this.props.multiSelect) {\n if (\n this.objects[toggleItem] &&\n (!this.props.types || this.props.types.includes(this.objects[toggleItem].type))\n ) {\n this.localStorage.removeItem(`${this.props.dialogName || 'App'}.selectedNonObject`);\n if (this.state.selected[0] !== toggleItem) {\n this.setState({ selected: [toggleItem], selectedNonObject: '', focused: toggleItem }, () => {\n this.onAfterSelect(isDouble);\n if (cb) {\n cb();\n }\n });\n } else if (isDouble && this.props.onSelect) {\n this.onAfterSelect(isDouble);\n }\n } else {\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.selectedNonObject`, toggleItem);\n this.setState({ selected: [], selectedNonObject: toggleItem, focused: toggleItem }, () => {\n this.onAfterSelect();\n if (cb) {\n cb();\n }\n });\n }\n } else if (\n this.objects[toggleItem] &&\n (!this.props.types || this.props.types.includes(this.objects[toggleItem].type))\n ) {\n this.localStorage.removeItem(`${this.props.dialogName || 'App'}.selectedNonObject`);\n\n const selected = [...this.state.selected];\n const pos = selected.indexOf(toggleItem);\n if (pos === -1) {\n selected.push(toggleItem);\n selected.sort();\n } else if (!isDouble) {\n selected.splice(pos, 1);\n }\n\n this.setState({ selected, selectedNonObject: '', focused: toggleItem }, () => {\n this.onAfterSelect(isDouble);\n if (cb) {\n cb();\n }\n });\n }\n }\n\n private _renderDefinedList(isLast: boolean): JSX.Element[] {\n const cols = [...this.possibleCols];\n cols.unshift('id');\n if (this.props.columns && !this.props.columns.includes('buttons')) {\n const pos = cols.indexOf('buttons');\n if (pos !== -1) {\n cols.splice(pos, 1);\n }\n }\n return cols\n .filter(\n id => (isLast && (id === 'val' || id === 'buttons')) || (!isLast && id !== 'val' && id !== 'buttons'),\n )\n .map(id => (\n {\n if (!this.state.columnsAuto && id !== 'id') {\n const columns = [...(this.state.columns || [])];\n const pos = columns.indexOf(id);\n if (pos === -1) {\n columns.push(id);\n columns.sort();\n } else {\n columns.splice(pos, 1);\n }\n this.localStorage.setItem(\n `${this.props.dialogName || 'App'}.columns`,\n JSON.stringify(columns),\n );\n this.calculateColumnsVisibility(null, columns);\n this.setState({ columns });\n }\n }}\n key={id}\n >\n \n \n {/*\n \n \n {\n const columnsWidths = JSON.parse(JSON.stringify(this.state.columnsWidths));\n columnsWidths[id] = e.target.value;\n this.localStorage.setItem((this.props.dialogName || 'App') + '.columnsWidths', JSON.stringify(columnsWidths));\n this.calculateColumnsVisibility(null, null, null, columnsWidths);\n this.setState({ columnsWidths });\n }}\n autoComplete=\"off\"\n />\n \n \n */}\n \n ));\n }\n\n /**\n * Renders the columns' selector.\n */\n renderColumnsSelectorDialog(): JSX.Element | null {\n if (!this.state.columnsSelectorShow) {\n return null;\n }\n return (\n this.setState({ columnsSelectorShow: false })}\n open={!0}\n sx={{\n '& .MuiPaper-root': Utils.getStyle(\n this.props.theme,\n styles.dialogColumns,\n styles[`transparent_${this.state.columnsDialogTransparent}`],\n ),\n }}\n >\n {this.props.t('ra_Configure')}\n \n {\n this.localStorage.setItem(\n `${this.props.dialogName || 'App'}.foldersFirst`,\n this.state.foldersFirst ? 'false' : 'true',\n );\n this.setState({ foldersFirst: !this.state.foldersFirst });\n }}\n />\n }\n label={this.props.t('ra_Folders always first')}\n />\n {\n this.localStorage.setItem(\n `${this.props.dialogName || 'App'}.lines`,\n this.state.linesEnabled ? 'false' : 'true',\n );\n this.setState({ linesEnabled: !this.state.linesEnabled });\n }}\n />\n }\n label={this.props.t('ra_Show lines between rows')}\n />\n {\n this.localStorage.setItem(\n `${this.props.dialogName || 'App'}.columnsAuto`,\n this.state.columnsAuto ? 'false' : 'true',\n );\n if (!this.state.columnsAuto) {\n this.calculateColumnsVisibility(true);\n this.setState({ columnsAuto: true });\n } else if (!this.state.columns) {\n this.calculateColumnsVisibility(false, [...this.visibleCols]);\n this.setState({ columnsAuto: false, columns: [...this.visibleCols] });\n } else {\n this.calculateColumnsVisibility(false);\n this.setState({ columnsAuto: false });\n }\n }}\n />\n }\n label={this.props.t('ra_Auto (no custom columns)')}\n />\n {/*\n {this.props.t('ra_Transparent dialog')}\n \n this.setState({ columnsDialogTransparent: newValue })\n } />\n */}\n \n {this._renderDefinedList(false)}\n\n {this.state.columnsForAdmin &&\n Object.keys(this.state.columnsForAdmin)\n .sort()\n .map(\n adapter =>\n this.state.columnsForAdmin &&\n this.state.columnsForAdmin[adapter].map(column => (\n {\n if (!this.state.columnsAuto) {\n const columns = [...(this.state.columns || [])];\n const id: ObjectBrowserPossibleColumns =\n `_${adapter}_${column.path}` as ObjectBrowserPossibleColumns;\n const pos = columns.indexOf(id);\n if (pos === -1) {\n columns.push(id);\n columns.sort();\n } else {\n columns.splice(pos, 1);\n }\n this.calculateColumnsVisibility(null, columns);\n this.localStorage.setItem(\n `${this.props.dialogName || 'App'}.columns`,\n JSON.stringify(columns),\n );\n this.setState({ columns });\n }\n }}\n key={`${adapter}_${column.name}`}\n >\n \n \n \n \n {/*\n \n \n {\n const columnsWidths = JSON.parse(JSON.stringify(this.state.columnsWidths));\n columnsWidths['_' + adapter + '_' + column.path] = e.target.value;\n this.localStorage.setItem((this.props.dialogName || 'App') + '.columnsWidths', JSON.stringify(columnsWidths));\n this.calculateColumnsVisibility(null, null, null, columnsWidths);\n this.setState({ columnsWidths });\n }}\n autoComplete=\"off\"\n />\n \n \n */}\n \n )),\n )}\n {this._renderDefinedList(true)}\n \n \n \n this.setState({ columnsSelectorShow: false })}\n color=\"primary\"\n startIcon={}\n >\n {this.texts.close}\n \n \n \n );\n }\n\n private async getAdditionalColumns(): Promise | null> {\n try {\n const instances = await this.props.socket.getAdapters();\n\n let columnsForAdmin: Record | null = null;\n // find all additional columns\n instances.forEach(obj => (columnsForAdmin = this.parseObjectForAdmins(columnsForAdmin, obj)));\n\n return columnsForAdmin;\n } catch (err) {\n // window.alert('Cannot get adapters: ' + e);\n // Object browser in Web has no additional columns\n console.error(`Cannot get adapters: ${err}`);\n return null;\n }\n }\n\n private checkUnsubscribes(): void {\n // Remove unused subscriptions\n for (let i = this.subscribes.length - 1; i >= 0; i--) {\n if (!this.recordStates.includes(this.subscribes[i])) {\n this.unsubscribe(this.subscribes[i]);\n }\n }\n this.recordStates = [];\n }\n\n /**\n * Find an item.\n */\n findItem(id: string, _parts?: string[], _root?: TreeItem | null, _partyId?: string): TreeItem | null {\n _parts = _parts || id.split('.');\n _root = _root || this.root;\n if (!_root || !_parts.length) {\n return null;\n }\n\n _partyId = (_partyId ? `${_partyId}.` : '') + _parts.shift();\n\n if (_root.children) {\n const item = _root.children.find(i => i.data.id === _partyId);\n if (item) {\n if (item.data.id === id) {\n return item;\n }\n if (_parts.length) {\n return this.findItem(id, _parts, item, _partyId);\n }\n } else {\n return null;\n }\n }\n\n return null;\n }\n\n /**\n * Called when a state changes.\n */\n onStateChange = (id: string, state?: ioBroker.State | null): void => {\n console.log(`> stateChange ${id}`);\n if (this.states[id]) {\n const item = this.findItem(id);\n if (item?.data.state) {\n item.data.state = undefined;\n }\n }\n if (state) {\n this.states[id] = state;\n } else {\n delete this.states[id];\n }\n\n if (!this.pausedSubscribes) {\n if (!this.statesUpdateTimer) {\n this.statesUpdateTimer = setTimeout(() => {\n this.statesUpdateTimer = null;\n this.forceUpdate();\n }, 300);\n }\n } else if (this.statesUpdateTimer) {\n clearTimeout(this.statesUpdateTimer);\n this.statesUpdateTimer = null;\n }\n };\n\n private parseObjectForAdmins(\n columnsForAdmin: Record | null,\n obj: ioBroker.AdapterObject,\n ): Record | null {\n if (obj.common && obj.common.adminColumns && obj.common.name) {\n const columns: string | (string | ioBroker.CustomAdminColumn)[] = obj.common.adminColumns;\n let aColumns: (string | ioBroker.CustomAdminColumn)[] | undefined;\n if (columns && typeof columns !== 'object') {\n aColumns = [columns];\n } else if (columns) {\n aColumns = columns as (string | ioBroker.CustomAdminColumn)[];\n }\n let cColumns: CustomAdminColumnStored[] | null;\n if (columns) {\n cColumns = aColumns\n .map((_item: string | ioBroker.CustomAdminColumn) => {\n if (typeof _item !== 'object') {\n return { path: _item, name: _item.split('.').pop() };\n }\n const item: ioBroker.CustomAdminColumn = _item;\n // string => array\n if (item.objTypes && typeof item.objTypes !== 'object') {\n item.objTypes = [item.objTypes];\n } else if (!item.objTypes) {\n item.objTypes = undefined;\n }\n\n if (!item.name && item.path) {\n return {\n path: item.path,\n name: item.path.split('.').pop(),\n width: item.width,\n edit: !!item.edit,\n type: item.type,\n objTypes: item.objTypes,\n } as CustomAdminColumnStored;\n }\n if (!item.path) {\n console.warn(`Admin columns for ${obj._id} ignored, because path not found`);\n return null;\n }\n return {\n path: item.path,\n name: getName(item.name || '', this.props.lang),\n width: item.width,\n edit: !!item.edit,\n type: item.type,\n objTypes: item.objTypes,\n } as CustomAdminColumnStored;\n })\n .filter((item: CustomAdminColumnStored) => item);\n } else {\n cColumns = null;\n }\n\n if (cColumns && cColumns.length) {\n columnsForAdmin = columnsForAdmin || {};\n columnsForAdmin[obj.common.name] = cColumns.sort((a, b) =>\n a.path > b.path ? -1 : a.path < b.path ? 1 : 0,\n );\n }\n } else if (obj.common && obj.common.name && columnsForAdmin && columnsForAdmin[obj.common.name]) {\n delete columnsForAdmin[obj.common.name];\n }\n return columnsForAdmin;\n }\n\n onObjectChangeFromWorker = (events: ObjectEvent[]): void => {\n if (Array.isArray(events)) {\n let newState: { columnsForAdmin: Record | null } | null = null;\n events.forEach(event => {\n const { newInnerState, filtered } = this.processOnObjectChangeElement(event.id, event.obj);\n if (filtered) {\n return;\n }\n if (newInnerState && newState) {\n Object.assign(newState, newInnerState);\n } else {\n newState = newInnerState;\n }\n });\n\n if (newState) {\n this.setState(newState);\n }\n this.afterObjectUpdated();\n }\n };\n\n onObjectChange = (id: string, obj?: ioBroker.Object | null): void => {\n const { newInnerState, filtered } = this.processOnObjectChangeElement(id, obj);\n if (filtered) {\n return;\n }\n\n if (newInnerState) {\n this.setState(newInnerState);\n }\n this.afterObjectUpdated();\n };\n\n afterObjectUpdated(): void {\n if (!this.objectsUpdateTimer && this.objects) {\n this.objectsUpdateTimer = setTimeout(() => {\n this.objectsUpdateTimer = null;\n const { info, root } = buildTree(this.objects, {\n imagePrefix: this.props.imagePrefix,\n root: this.props.root,\n lang: this.props.lang,\n themeType: this.props.themeType,\n });\n this.root = root;\n this.info = info;\n this.lastAppliedFilter = null; // apply filter anew\n\n if (!this.pausedSubscribes) {\n this.forceUpdate();\n }\n // else it will be re-rendered when the dialog will be closed\n }, 500);\n }\n }\n\n // This function is called when the user changes the alias of an object.\n // It updates the aliasMap and returns true if the aliasMap has changed.\n updateAliases(aliasId: string): void {\n if (!this.objects || !this.info?.aliasesMap || !aliasId?.startsWith('alias.')) {\n return;\n }\n // Rebuild aliases map\n const aliasesIds = Object.keys(this.objects).filter(id => id.startsWith('alias.0'));\n\n this.info.aliasesMap = {};\n\n for (const id of aliasesIds) {\n const obj = this.objects[id];\n if (obj?.common?.alias?.id) {\n if (typeof obj.common.alias.id === 'string') {\n const usedId = obj.common.alias.id;\n if (!this.info.aliasesMap[usedId]) {\n this.info.aliasesMap[usedId] = [id];\n } else if (!this.info.aliasesMap[usedId].includes(id)) {\n this.info.aliasesMap[usedId].push(id);\n }\n } else {\n const readId = obj.common.alias.id.read;\n if (readId) {\n if (!this.info.aliasesMap[readId]) {\n this.info.aliasesMap[readId] = [id];\n } else if (!this.info.aliasesMap[readId].includes(id)) {\n this.info.aliasesMap[readId].push(id);\n }\n }\n const writeId = obj.common.alias.id.write;\n if (writeId) {\n if (!this.info.aliasesMap[writeId]) {\n this.info.aliasesMap[writeId] = [id];\n } else if (!this.info.aliasesMap[writeId].includes(id)) {\n this.info.aliasesMap[writeId].push(id);\n }\n }\n }\n }\n }\n }\n\n /**\n * Processes a single element in regard to certain filters, columns for admin and updates object dict\n *\n * @param id The id of the object\n * @param obj The object itself\n * @returns Returns an object containing the new state (if any) and whether the object was filtered.\n */\n processOnObjectChangeElement(\n id: string,\n obj?: ioBroker.Object | null,\n ): {\n filtered: boolean;\n newInnerState: null | { columnsForAdmin: Record | null };\n } {\n console.log(`> objectChange ${id}`);\n const type = obj?.type;\n\n // If the object is filtered out, we don't need to update the React state\n if (\n obj &&\n typeof this.props.filterFunc === 'function' &&\n !this.props.filterFunc(obj) &&\n type !== 'channel' &&\n type !== 'device' &&\n type !== 'folder' &&\n type !== 'adapter' &&\n type !== 'instance'\n ) {\n return { newInnerState: null, filtered: true };\n }\n\n let newInnerState = null;\n if (id.startsWith('system.adapter.') && obj?.type === 'adapter') {\n const columnsForAdmin: Record | null = JSON.parse(\n JSON.stringify(this.state.columnsForAdmin),\n );\n\n this.parseObjectForAdmins(columnsForAdmin, obj as ioBroker.AdapterObject);\n\n if (JSON.stringify(this.state.columnsForAdmin) !== JSON.stringify(columnsForAdmin)) {\n newInnerState = { columnsForAdmin };\n }\n }\n\n this.objects = this.objects || {};\n\n if (obj) {\n this.objects[id] = obj;\n } else if (this.objects[id]) {\n delete this.objects[id];\n }\n\n this.updateAliases(id);\n\n return { newInnerState, filtered: false };\n }\n\n private subscribe(id: string): void {\n if (!this.subscribes.includes(id)) {\n this.subscribes.push(id);\n console.log(`+ subscribe ${id}`);\n if (!this.pausedSubscribes) {\n this.props.socket\n .subscribeState(id, this.onStateChange)\n .catch(e => console.error(`Cannot subscribe on state ${id}: ${e}`));\n }\n }\n }\n\n private unsubscribe(id: string): void {\n const pos = this.subscribes.indexOf(id);\n if (pos !== -1) {\n this.subscribes.splice(pos, 1);\n if (this.states[id]) {\n delete this.states[id];\n }\n console.log(`- unsubscribe ${id}`);\n this.props.socket.unsubscribeState(id, this.onStateChange);\n\n if (this.pausedSubscribes) {\n console.warn('Unsubscribe during pause?');\n }\n }\n }\n\n private pauseSubscribe(isPause: boolean): void {\n if (!this.pausedSubscribes && isPause) {\n this.pausedSubscribes = true;\n this.subscribes.forEach(id => this.props.socket.unsubscribeState(id, this.onStateChange));\n } else if (this.pausedSubscribes && !isPause) {\n this.pausedSubscribes = false;\n this.subscribes.forEach(id => this.props.socket.subscribeState(id, this.onStateChange));\n }\n }\n\n private onFilter(name?: string, value?: string | boolean): void {\n this.filterTimer = null;\n const filter: ObjectBrowserFilter = { ...this.state.filter };\n\n Object.keys(this.filterRefs).forEach(_name => {\n if (this.filterRefs[_name] && this.filterRefs[_name].current) {\n const filterRef: HTMLSelectElement = this.filterRefs[_name].current;\n for (let i = 0; i < filterRef.children.length; i++) {\n if (filterRef.children[i].tagName === 'INPUT') {\n (filter as Record)[_name] = (filterRef.children[i] as HTMLInputElement).value;\n break;\n }\n }\n }\n });\n\n if (name) {\n (filter as Record)[name] = value;\n if (name === 'expertMode') {\n (((window as any)._sessionStorage as Storage) || window.sessionStorage).setItem(\n 'App.expertMode',\n value ? 'true' : 'false',\n );\n }\n }\n\n if (JSON.stringify(this.state.filter) !== JSON.stringify(filter)) {\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectFilter`, JSON.stringify(filter));\n this.setState({ filter }, () => this.props.onFilterChanged && this.props.onFilterChanged(filter));\n }\n }\n\n clearFilter(): void {\n const filter: ObjectBrowserFilter = { ...this.state.filter };\n\n Object.keys(this.filterRefs).forEach(name => {\n if (this.filterRefs[name] && this.filterRefs[name].current) {\n const filterRef: HTMLSelectElement = this.filterRefs[name].current;\n for (let i = 0; i < filterRef.childNodes.length; i++) {\n const item = filterRef.childNodes[i];\n if ((item as HTMLInputElement).tagName === 'INPUT') {\n (filter as Record)[name] = '';\n (item as HTMLInputElement).value = '';\n break;\n }\n }\n }\n });\n\n if (JSON.stringify(this.state.filter) !== JSON.stringify(filter)) {\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectFilter`, JSON.stringify(filter));\n this.setState(\n { filter, filterKey: this.state.filterKey + 1 },\n () => this.props.onFilterChanged && this.props.onFilterChanged(filter),\n );\n }\n }\n\n isFilterEmpty(): boolean {\n const someNotEmpty = Object.keys(this.state.filter).find(\n attr => attr !== 'expertMode' && (this.state.filter as Record)[attr],\n );\n return !someNotEmpty;\n }\n\n private getFilterInput(filterName: string): JSX.Element {\n return (\n \n )[filterName] || ''}\n onChange={() => {\n if (this.filterTimer) {\n clearTimeout(this.filterTimer);\n }\n this.filterTimer = setTimeout(() => this.onFilter(), 400);\n }}\n autoComplete=\"off\"\n />\n {(this.filterRefs[filterName]?.current?.firstChild as HTMLInputElement)?.value ? (\n \n {\n (this.filterRefs[filterName].current?.firstChild as HTMLInputElement).value = '';\n this.onFilter(filterName, '');\n }}\n >\n \n \n \n ) : null}\n \n );\n }\n\n private getFilterSelect(name: string, values?: (string | InputSelectItem)[]): JSX.Element {\n const hasIcons = !!values?.find(item => (item as InputSelectItem).icon);\n\n return (\n
\n {\n if (this.filterTimer) {\n clearTimeout(this.filterTimer);\n }\n this.filterTimer = setTimeout(() => this.onFilter(), 400);\n }}\n defaultValue={(this.state.filter as Record)[name] || ''}\n inputProps={{ name, id: name }}\n displayEmpty\n >\n \n {this.texts[`filter_${name}`]}\n \n {values?.map(item => {\n let id: string;\n let _name: string;\n let icon: null | JSX.Element | undefined;\n if (typeof item === 'object') {\n id = item.value;\n _name = item.name;\n icon = item.icon;\n } else {\n id = item;\n _name = item;\n }\n return (\n \n {icon || (hasIcons ?
: null)}\n {_name}\n \n );\n })}\n \n {(this.filterRefs[name]?.current?.childNodes[1] as HTMLInputElement)?.value ? (\n \n {\n const newFilter: ObjectBrowserFilter = { ...this.state.filter };\n (newFilter as Record)[name] = '';\n (this.filterRefs[name].current?.childNodes[1] as HTMLInputElement).value = '';\n this.localStorage.setItem(\n `${this.props.dialogName || 'App'}.objectFilter`,\n JSON.stringify(newFilter),\n );\n this.setState(\n { filter: newFilter, filterKey: this.state.filterKey + 1 },\n () => this.props.onFilterChanged && this.props.onFilterChanged(newFilter),\n );\n }}\n >\n \n \n \n ) : null}\n
\n );\n }\n\n private getFilterSelectRole(): JSX.Element {\n return this.getFilterSelect('role', this.info.roles);\n }\n\n private getFilterSelectRoom(): JSX.Element {\n const rooms: InputSelectItem[] = this.info.roomEnums.map(\n id =>\n ({\n name: getName(this.objects[id]?.common?.name, this.props.lang) || id.split('.').pop(),\n value: id,\n icon: (\n \n ),\n }) as InputSelectItem,\n );\n\n return this.getFilterSelect('room', rooms);\n }\n\n private getFilterSelectFunction(): JSX.Element {\n const func: InputSelectItem[] = this.info.funcEnums.map(\n id =>\n ({\n name: getName(this.objects[id]?.common?.name, this.props.lang) || id.split('.').pop(),\n value: id,\n icon: (\n \n ),\n }) as InputSelectItem,\n );\n\n return this.getFilterSelect('func', func);\n }\n\n private getFilterSelectType(): JSX.Element {\n const types = this.info.types.map(type => ({\n name: type,\n value: type,\n icon: ITEM_IMAGES[type] || null,\n }));\n\n return this.getFilterSelect('type', types);\n }\n\n private getFilterSelectCustoms(): JSX.Element | null {\n if (this.info.customs.length > 1) {\n const customs = this.info.customs.map(id => ({\n name: id === '_' ? this.texts.filterCustomsWithout : id,\n value: id,\n icon:\n id === '_' ? null : (\n \n ),\n }));\n return this.getFilterSelect('custom', customs);\n }\n return null;\n }\n\n private onExpandAll(root?: TreeItem, expanded?: string[]): void {\n const _root: TreeItem | null = root || this.root;\n expanded = expanded || [];\n\n _root?.children?.forEach((item: TreeItem) => {\n if (item.data.sumVisibility) {\n expanded.push(item.data.id);\n this.onExpandAll(item, expanded);\n }\n });\n\n if (_root === this.root) {\n expanded.sort();\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectExpanded`, JSON.stringify(expanded));\n\n this.setState({ expanded });\n }\n }\n\n private onCollapseAll(): void {\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectExpanded`, JSON.stringify([]));\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectSelected`, '[]');\n this.setState({ expanded: [], depth: 0, selected: [] }, () => this.onAfterSelect());\n }\n\n private expandDepth(root: TreeItem, depth: number, expanded: string[]): void {\n root = root || this.root;\n if (depth > 0) {\n root.children?.forEach(item => {\n if (item.data.sumVisibility) {\n if (!binarySearch(expanded, item.data.id)) {\n expanded.push(item.data.id);\n expanded.sort();\n }\n if (depth - 1 > 0) {\n this.expandDepth(item, depth - 1, expanded);\n }\n }\n });\n }\n }\n\n private static collapseDepth(depth: number, expanded: string[]): string[] {\n return expanded.filter(id => id.split('.').length <= depth);\n }\n\n private onExpandVisible(): void {\n if (this.state.depth < 9) {\n const depth = this.state.depth + 1;\n const expanded = [...this.state.expanded];\n if (this.root) {\n this.expandDepth(this.root, depth, expanded);\n }\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectExpanded`, JSON.stringify(expanded));\n this.setState({ depth, expanded });\n }\n }\n\n private onStatesViewVisible(): void {\n const statesView = !this.state.statesView;\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectStatesView`, JSON.stringify(statesView));\n this.setState({ statesView });\n }\n\n private onCollapseVisible(): void {\n if (this.state.depth > 0) {\n const depth = this.state.depth - 1;\n const expanded = ObjectBrowserClass.collapseDepth(depth, this.state.expanded);\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectExpanded`, JSON.stringify(expanded));\n this.setState({ depth, expanded });\n }\n }\n\n private getEnumsForId = (id: string): ioBroker.EnumObject[] | undefined => {\n const result: ioBroker.EnumObject[] = [];\n this.info.enums.forEach(_id => {\n if (this.objects[_id]?.common?.members?.includes(id)) {\n const enumItem: ioBroker.EnumObject = {\n _id: this.objects[_id]._id,\n common: JSON.parse(JSON.stringify(this.objects[_id].common)) as ioBroker.EnumCommon,\n native: this.objects[_id].native,\n type: 'enum',\n } as ioBroker.EnumObject;\n if (enumItem.common) {\n delete enumItem.common.members;\n delete enumItem.common.custom;\n // @ts-expect-error deprecated attribute\n delete enumItem.common.mobile;\n }\n result.push(enumItem);\n }\n });\n\n return result.length ? result : undefined;\n };\n\n private _createAllEnums = async (enums: (string | ioBroker.EnumObject)[], objId: string): Promise => {\n for (let e = 0; e < enums.length; e++) {\n const item: string | ioBroker.EnumObject = enums[e];\n let id: string;\n let newObj: ioBroker.EnumObject | undefined;\n\n // some admin version delivered enums as string\n if (typeof item === 'object') {\n newObj = item;\n id = newObj._id;\n } else {\n id = item;\n }\n\n let oldObj: ioBroker.EnumObject | undefined = this.objects[id] as ioBroker.EnumObject | undefined;\n // if enum does not exist\n if (!oldObj) {\n // create a new one\n oldObj =\n newObj ||\n ({\n _id: id,\n common: {\n name: id.split('.').pop(),\n members: [],\n },\n native: {},\n type: 'enum',\n } as ioBroker.EnumObject);\n\n oldObj.common = oldObj.common || ({} as ioBroker.EnumCommon);\n oldObj.common.members = [objId];\n oldObj.type = 'enum';\n\n await this.props.socket.setObject(id, oldObj);\n } else if (!oldObj.common?.members?.includes(objId)) {\n oldObj.common = oldObj.common || ({} as ioBroker.EnumCommon);\n oldObj.type = 'enum';\n oldObj.common.members = oldObj.common.members || [];\n // add the missing object\n oldObj.common.members.push(objId);\n oldObj.common.members.sort();\n await this.props.socket.setObject(id, oldObj);\n }\n }\n };\n\n private async loadObjects(objs: Record): Promise {\n if (objs) {\n for (const id in objs) {\n if (!Object.prototype.hasOwnProperty.call(objs, id) || !objs[id]) {\n continue;\n }\n const obj = objs[id];\n let enums = null;\n let val;\n let ack;\n if (obj && obj.common && obj.common.enums) {\n enums = obj.common.enums;\n delete obj.common.enums;\n } else {\n enums = null;\n }\n\n if (obj.val || obj.val === 0) {\n val = obj.val;\n delete obj.val;\n }\n if (obj.ack !== undefined) {\n ack = obj.ack;\n delete obj.ack;\n }\n try {\n await this.props.socket.setObject(id, obj);\n if (enums) {\n await this._createAllEnums(enums, obj._id);\n }\n if (obj.type === 'state') {\n if (val !== undefined && val !== null) {\n try {\n await this.props.socket.setState(obj._id, val, ack !== undefined ? ack : true);\n } catch (e) {\n window.alert(`Cannot set state \"${obj._id} with ${val}\": ${e}`);\n }\n } else {\n try {\n const state = await this.props.socket.getState(obj._id);\n if (!state || state.val === null) {\n try {\n await this.props.socket.setState(\n obj._id,\n !obj.common || obj.common.def === undefined ? null : obj.common.def,\n true,\n );\n } catch (e) {\n window.alert(`Cannot set state \"${obj._id}\": ${e}`);\n }\n }\n } catch (e) {\n window.alert(`Cannot read state \"${obj._id}\": ${e}`);\n }\n }\n }\n } catch (error) {\n window.alert(error);\n }\n }\n }\n }\n\n _getSelectedIdsForExport(): string[] {\n if (this.state.selected.length || this.state.selectedNonObject) {\n const result = [];\n const keys = Object.keys(this.objects);\n keys.sort();\n const id = this.state.selected[0] || this.state.selectedNonObject;\n const idDot = `${id}.`;\n const idLen = idDot.length;\n for (let k = 0; k < keys.length; k++) {\n const key = keys[k];\n if (id === key || key.startsWith(idDot)) {\n result.push(key);\n }\n if (key.substring(0, idLen) > idDot) {\n break;\n }\n }\n\n return result;\n }\n return [];\n }\n\n /**\n * Exports the selected objects based on the given options and triggers file generation\n */\n private async _exportObjects(\n /** Options to filter/reduce the output */\n options: {\n /** Whether all objects should be exported or only the selected ones */\n isAll?: boolean;\n /** Whether the output should be beautified */\n beautify?: boolean;\n /** Whether \"system.repositories\" should be excluded */\n excludeSystemRepositories?: boolean;\n /** Whether translations should be reduced to only the english value */\n excludeTranslations?: boolean;\n /** Whether the values of the states should be not included */\n noStatesByExportImport?: boolean;\n },\n ): Promise {\n if (options.isAll) {\n generateFile('allObjects.json', this.objects, options);\n return;\n }\n if (!(this.state.selected.length || this.state.selectedNonObject)) {\n window.alert(this.props.t('ra_Save of objects-tree is not possible'));\n return;\n }\n const result: Record = {};\n const id = this.state.selected[0] || this.state.selectedNonObject;\n const ids = this._getSelectedIdsForExport();\n\n for (const key of ids) {\n result[key] = JSON.parse(JSON.stringify(this.objects[key])) as ioBrokerObjectForExport;\n // read states values\n if (result[key]?.type === 'state' && !options.noStatesByExportImport) {\n const state = await this.props.socket.getState(key);\n if (state) {\n result[key].val = state.val;\n result[key].ack = state.ack;\n }\n }\n // add enum information\n if (result[key].common) {\n const enums = this.getEnumsForId(key);\n if (enums) {\n result[key].common.enums = enums;\n }\n }\n }\n\n generateFile(`${id}.json`, result, options);\n }\n\n renderExportDialog(): JSX.Element | null {\n if (this.state.showExportDialog === false) {\n return null;\n }\n return (\n \n {this.props.t('ra_Select type of export')}\n \n \n {this.state.filter.expertMode || this.state.showAllExportOptions ? (\n <>\n {this.props.t('ra_You can export all objects or just the selected branch.')}\n
\n {this.props.t('ra_Selected %s object(s)', this.state.showExportDialog)}\n
\n this.setState({ noStatesByExportImport: e.target.checked })}\n />\n }\n label={this.props.t('ra_Do not export values of states')}\n />\n
\n {this.props.t('These options can reduce the size of the export file:')}\n this.setState({ beautifyJsonExport: e.target.checked })}\n />\n }\n label={this.props.t('Beautify JSON output')}\n />\n
\n \n this.setState({ excludeSystemRepositoriesFromExport: e.target.checked })\n }\n />\n }\n label={this.props.t('Exclude system repositories from export JSON')}\n />\n this.setState({ excludeTranslations: e.target.checked })}\n />\n }\n label={this.props.t('Exclude translations (except english) from export JSON')}\n />\n \n ) : null}\n
\n
\n \n {this.state.filter.expertMode || this.state.showAllExportOptions ? (\n \n this.setState({ showExportDialog: false, showAllExportOptions: false }, () =>\n this._exportObjects({\n isAll: true,\n noStatesByExportImport: this.state.noStatesByExportImport,\n beautify: this.state.beautifyJsonExport,\n excludeSystemRepositories: this.state.excludeSystemRepositoriesFromExport,\n excludeTranslations: this.state.excludeTranslations,\n }),\n )\n }\n >\n {this.props.t('ra_All objects')}(\n {Object.keys(this.objects).length})\n \n ) : (\n }\n onClick={() => this.setState({ showAllExportOptions: true })}\n >\n {this.props.t('ra_Advanced options')}\n \n )}\n \n this.setState({ showExportDialog: false, showAllExportOptions: false }, () =>\n this._exportObjects({\n isAll: false,\n noStatesByExportImport: this.state.noStatesByExportImport,\n beautify: this.state.beautifyJsonExport,\n excludeSystemRepositories: this.state.excludeSystemRepositoriesFromExport,\n excludeTranslations: this.state.excludeTranslations,\n }),\n )\n }\n >\n {this.props.t('ra_Only selected')}(\n {this.state.showExportDialog})\n \n this.setState({ showExportDialog: false, showAllExportOptions: false })}\n startIcon={}\n >\n {this.props.t('ra_Cancel')}\n \n \n \n );\n }\n\n private handleJsonUpload(evt: Event): void {\n const target = evt.target as HTMLInputElement;\n const f = target.files?.length && target.files[0];\n if (f) {\n const r = new FileReader();\n r.onload = async e => {\n const contents = e.target?.result;\n try {\n const json = JSON.parse(contents as string);\n const len = Object.keys(json).length;\n const id = json._id;\n // it could be a single object or many objects\n if (id === undefined && len) {\n // many objects\n await this.loadObjects(json as Record);\n window.alert(this.props.t('ra_%s object(s) processed', len));\n } else {\n // it is only one object in form\n // {\n // \"_id\": \"xxx\",\n // \"common\": \"yyy\",\n // \"native\": \"zzz\"\n // \"val\": JSON.stringify(value)\n // \"ack\": true\n // }\n if (!id) {\n return window.alert(this.props.t('ra_Invalid structure'));\n }\n try {\n let enums;\n let val;\n let ack;\n if (json.common.enums) {\n enums = json.common.enums;\n delete json.common.enums;\n }\n if (json.val) {\n val = json.val;\n delete json.val;\n }\n if (json.ack !== undefined) {\n ack = json.ack;\n delete json.ack;\n }\n await this.props.socket.setObject(json._id, json);\n\n if (json.type === 'state') {\n if (val !== undefined && val !== null) {\n await this.props.socket.setState(json._id, val, ack === undefined ? true : ack);\n } else {\n const state = await this.props.socket.getState(json._id);\n if (!state || state.val === null || state.val === undefined) {\n await this.props.socket.setState(\n json._id,\n json.common.def === undefined ? null : json.common.def,\n true,\n );\n }\n }\n }\n if (enums) {\n await this._createAllEnums(enums, json._id);\n }\n\n window.alert(this.props.t('ra_%s was imported', json._id));\n } catch (err) {\n window.alert(err);\n }\n }\n } catch (err) {\n window.alert(err);\n }\n return null;\n };\n r.readAsText(f);\n } else {\n window.alert(this.props.t('ra_Failed to open JSON File'));\n }\n }\n\n toolTipObjectCreating = (): JSX.Element[] | string => {\n const { t } = this.props;\n\n let value = [\n
{t('ra_Only following structures of objects are available:')}
,\n
{t('ra_Folder → State')}
,\n
{t('ra_Folder → Channel → State')}
,\n
{t('ra_Folder → Device → Channel → State')}
,\n
{t('ra_Device → Channel → State')}
,\n
{t('ra_Channel → State')}
,\n ,\n
{t('ra_Non-experts may create new objects only in \"0_userdata.0\" or \"alias.0\".')}
,\n
\n {t(\n 'ra_The experts may create objects everywhere but from second level (e.g. \"vis.0\" or \"javascript.0\").',\n )}\n
,\n ];\n\n if (this.state.selected.length || this.state.selectedNonObject) {\n const id = this.state.selected[0] || this.state.selectedNonObject;\n if (id.split('.').length < 2 || (this.objects[id] && this.objects[id]?.type === 'state')) {\n // show default tooltip\n } else if (this.state.filter.expertMode) {\n switch (this.objects[id]?.type) {\n case 'device':\n value = [\n
{t('ra_Only following structures of objects are available:')}
,\n
{t('ra_Device → Channel → State')}
,\n ,\n
\n {t('ra_Non-experts may create new objects only in \"0_userdata.0\" or \"alias.0\".')}\n
,\n
\n {t(\n 'ra_The experts may create objects everywhere but from second level (e.g. \"vis.0\" or \"javascript.0\").',\n )}\n
,\n ];\n break;\n case 'folder':\n value = [\n
{t('ra_Only following structures of objects are available:')}
,\n
{t('ra_Folder → State')}
,\n
{t('ra_Folder → Channel → State')}
,\n
{t('ra_Folder → Device → Channel → State')}
,\n ,\n
\n {t('ra_Non-experts may create new objects only in \"0_userdata.0\" or \"alias.0\".')}\n
,\n
\n {t(\n 'ra_The experts may create objects everywhere but from second level (e.g. \"vis.0\" or \"javascript.0\").',\n )}\n
,\n ];\n break;\n case 'channel':\n value = [\n
{t('ra_Only following structures of objects are available:')}
,\n
{t('ra_Channel → State')}
,\n ,\n
\n {t('ra_Non-experts may create new objects only in \"0_userdata.0\" or \"alias.0\".')}\n
,\n
\n {t(\n 'ra_The experts may create objects everywhere but from second level (e.g. \"vis.0\" or \"javascript.0\").',\n )}\n
,\n ];\n break;\n default:\n break;\n }\n } else if (id.startsWith('alias.0') || id.startsWith('0_userdata')) {\n value = [\n
{t('ra_Only following structures of objects are available:')}
,\n
{t('ra_Folder → State')}
,\n
{t('ra_Folder → Channel → State')}
,\n
{t('ra_Folder → Device → Channel → State')}
,\n
{t('ra_Device → Channel → State')}
,\n
{t('ra_Channel → State')}
,\n ,\n
\n {t('ra_Non-experts may create new objects only in \"0_userdata.0\" or \"alias.0\".')}\n
,\n
\n {t(\n 'ra_The experts may create objects everywhere but from second level (e.g. \"vis.0\" or \"javascript.0\").',\n )}\n
,\n ];\n }\n }\n\n return value.length ? value : t('ra_Add new child object to selected parent');\n };\n\n /**\n * Renders the toolbar.\n */\n getToolbar(): JSX.Element {\n let allowObjectCreation = false;\n if (this.state.selected.length || this.state.selectedNonObject) {\n const id = this.state.selected[0] || this.state.selectedNonObject;\n\n if (id.split('.').length < 2 || (this.objects[id] && this.objects[id].type === 'state')) {\n allowObjectCreation = false;\n } else if (this.state.filter.expertMode) {\n allowObjectCreation = true;\n } else if (id.startsWith('alias.0') || id.startsWith('0_userdata')) {\n allowObjectCreation = true;\n }\n }\n\n return (\n \n \n \n
\n this.refreshComponent()}\n disabled={this.state.updating}\n size=\"large\"\n >\n \n \n
\n \n {this.props.showExpertButton && !this.props.expertMode && (\n \n this.onFilter('expertMode', !this.state.filter.expertMode)}\n size=\"large\"\n >\n \n \n \n )}\n {!this.props.disableColumnSelector && this.props.width !== 'xs' && (\n \n this.setState({ columnsSelectorShow: true })}\n size=\"large\"\n >\n \n \n \n )}\n {this.props.width !== 'xs' && this.state.expandAllVisible && (\n \n this.onExpandAll()}\n size=\"large\"\n >\n \n \n \n )}\n \n this.onCollapseAll()}\n size=\"large\"\n >\n \n \n \n {this.props.width !== 'xs' && (\n \n this.onExpandVisible()}\n size=\"large\"\n >\n ({\n badge: {\n right: 3,\n top: 3,\n border: `2px solid ${theme.palette.background.paper}`,\n padding: '0 4px',\n },\n })}\n >\n \n \n \n \n )}\n {this.props.width !== 'xs' && (\n \n this.onCollapseVisible()}\n size=\"large\"\n >\n ({\n badge: {\n right: 3,\n top: 3,\n border: `2px solid ${theme.palette.background.paper}`,\n padding: '0 4px',\n },\n })}\n badgeContent={this.state.depth}\n color=\"secondary\"\n >\n \n \n \n \n )}\n {this.props.objectStatesView && (\n \n this.onStatesViewVisible()}\n size=\"large\"\n >\n \n \n \n )}\n\n \n {\n this.localStorage.setItem(\n `${this.props.dialogName || 'App'}.desc`,\n this.state.showDescription ? 'false' : 'true',\n );\n this.setState({ showDescription: !this.state.showDescription });\n }}\n size=\"large\"\n >\n \n \n \n\n {this.props.objectAddBoolean ? (\n \n
\n \n this.setState({\n modalNewObj: {\n id: this.state.selected[0] || this.state.selectedNonObject,\n },\n })\n }\n size=\"large\"\n >\n \n \n
\n \n ) : null}\n\n {this.props.objectImportExport && (\n \n {\n const input = document.createElement('input');\n input.setAttribute('type', 'file');\n input.setAttribute('id', 'files');\n input.setAttribute('opacity', '0');\n input.addEventListener('change', (e: Event) => this.handleJsonUpload(e), false);\n input.click();\n }}\n size=\"large\"\n >\n \n \n \n )}\n {this.props.objectImportExport &&\n (!!this.state.selected.length || this.state.selectedNonObject) && (\n \n \n this.setState({ showExportDialog: this._getSelectedIdsForExport().length })\n }\n size=\"large\"\n >\n \n \n \n )}\n
\n {!!this.props.objectBrowserEditObject && this.props.width !== 'xs' && (\n
\n {`${this.props.t('ra_Objects')}: ${Object.keys(this.info.objects).length}, ${this.props.t(\n 'ra_States',\n )}: ${\n Object.keys(this.info.objects).filter(el => this.info.objects[el].type === 'state').length\n }`}\n
\n )}\n {this.props.objectEditBoolean && (\n \n {\n // get all visible states\n const ids = this.root ? getVisibleItems(this.root, 'state', this.objects) : [];\n\n if (ids.length) {\n this.pauseSubscribe(true);\n\n if (ids.length === 1) {\n this.localStorage.setItem(\n `${this.props.dialogName || 'App'}.objectSelected`,\n this.state.selected[0],\n );\n this.props.router?.doNavigate(null, 'custom', this.state.selected[0]);\n }\n this.setState({ customDialog: ids, customDialogAll: true });\n } else {\n this.setState({ toast: this.props.t('ra_please select object') });\n }\n }}\n size=\"large\"\n >\n \n \n \n )}\n \n );\n }\n\n private toggleExpanded(id: string): void {\n const expanded = JSON.parse(JSON.stringify(this.state.expanded));\n const pos = expanded.indexOf(id);\n if (pos === -1) {\n expanded.push(id);\n expanded.sort();\n } else {\n expanded.splice(pos, 1);\n }\n\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectExpanded`, JSON.stringify(expanded));\n\n this.setState({ expanded });\n }\n\n private onCopy(e: React.MouseEvent, text: string | undefined): void {\n e.stopPropagation();\n e.preventDefault();\n if (text) {\n Utils.copyToClipboard(text);\n if (text.length < 50) {\n this.setState({ toast: this.props.t('ra_Copied %s', text) });\n } else {\n this.setState({ toast: this.props.t('ra_Copied') });\n }\n }\n }\n\n renderTooltipAccessControl = (acl: ioBroker.StateACL): null | JSX.Element => {\n // acl ={object,state,owner,ownerGroup}\n if (!acl) {\n return null;\n }\n const check = [\n {\n value: '0x400',\n valueNum: 0x400,\n title: 'read',\n group: 'Owner',\n },\n {\n value: '0x200',\n valueNum: 0x200,\n title: 'write',\n group: 'Owner',\n },\n {\n value: '0x40',\n valueNum: 0x40,\n title: 'read',\n group: 'Group',\n },\n {\n value: '0x20',\n valueNum: 0x20,\n title: 'write',\n group: 'Group',\n },\n {\n value: '0x4',\n valueNum: 0x4,\n title: 'read',\n group: 'Everyone',\n },\n {\n value: '0x2',\n valueNum: 0x2,\n title: 'write',\n group: 'Everyone',\n },\n ];\n const arrayTooltipText = [];\n const funcRenderStateObject = (value: 'object' | 'state'): void => {\n const rights: number = acl[value];\n check.forEach((el, i) => {\n if (rights & el.valueNum) {\n arrayTooltipText.push(\n \n {this.texts[`acl${el.group}_${el.title}_${value}`]},\n \n {el.value}\n \n ,\n );\n }\n });\n };\n\n arrayTooltipText.push(\n \n {`${this.texts.ownerGroup}: ${(acl.ownerGroup || '').replace('system.group.', '')}`}\n ,\n );\n arrayTooltipText.push(\n {`${this.texts.ownerUser}: ${(acl.owner || '').replace('system.user.', '')}`},\n );\n funcRenderStateObject('object');\n if (acl.state) {\n funcRenderStateObject('state');\n }\n\n return arrayTooltipText.length ? (\n {arrayTooltipText.map(el => el)}\n ) : null;\n };\n\n renderColumnButtons(id: string, item: TreeItem): (JSX.Element | null)[] | JSX.Element | null {\n if (!item.data.obj) {\n return this.props.onObjectDelete || this.props.objectEditOfAccessControl ? (\n
\n {this.state.filter.expertMode && this.props.objectEditOfAccessControl ? (\n \n this.setState({ modalEditOfAccess: true, modalEditOfAccessObjData: item.data })\n }\n size=\"large\"\n >\n
---
\n \n ) : null}\n {this.props.onObjectDelete && item.children && item.children.length ? (\n {\n // calculate the number of children\n const keys = Object.keys(this.objects);\n keys.sort();\n let count = 0;\n const start = `${id}.`;\n for (let i = 0; i < keys.length; i++) {\n if (keys[i].startsWith(start)) {\n count++;\n } else if (keys[i] > start) {\n break;\n }\n }\n\n if (this.props.onObjectDelete) {\n this.props.onObjectDelete(id, !!item.children?.length, false, count + 1);\n }\n }}\n >\n \n \n ) : null}\n
\n ) : null;\n }\n\n item.data.aclTooltip =\n item.data.aclTooltip || this.renderTooltipAccessControl(item.data.obj.acl as ioBroker.StateACL);\n\n const acl = item.data.obj.acl\n ? item.data.obj.type === 'state'\n ? item.data.obj.acl.state\n : item.data.obj.acl.object\n : 0;\n const aclSystemConfig =\n item.data.obj.acl &&\n (item.data.obj.type === 'state'\n ? this.systemConfig.common.defaultNewAcl.state\n : this.systemConfig.common.defaultNewAcl.object);\n\n const showEdit = this.state.filter.expertMode || ObjectBrowserClass.isNonExpertId(item.data.id);\n\n return [\n this.state.filter.expertMode && this.props.objectEditOfAccessControl ? (\n \n this.setState({ modalEditOfAccess: true, modalEditOfAccessObjData: item.data })}\n size=\"large\"\n >\n
\n {Number.isNaN(Number(acl))\n ? Number(aclSystemConfig).toString(16)\n : Number(acl).toString(16)}\n
\n \n \n ) : (\n \n ),\n\n showEdit ? (\n {\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectSelected`, id);\n this.setState({ editObjectDialog: id, editObjectAlias: false });\n }}\n >\n \n \n ) : (\n \n ),\n\n this.props.onObjectDelete && (item.children?.length || !item.data.obj.common?.dontDelete) ? (\n {\n const keys = Object.keys(this.objects);\n keys.sort();\n let count = 0;\n const start = `${id}.`;\n for (let i = 0; i < keys.length; i++) {\n if (keys[i].startsWith(start)) {\n count++;\n } else if (keys[i] > start) {\n break;\n }\n }\n if (this.props.onObjectDelete) {\n this.props.onObjectDelete(\n id,\n !!item.children?.length,\n !item.data.obj?.common?.dontDelete,\n count,\n );\n }\n }}\n title={this.texts.deleteObject}\n >\n \n \n ) : null,\n\n this.props.objectCustomDialog &&\n this.info.hasSomeCustoms &&\n item.data.obj.type === 'state' &&\n // @ts-expect-error deprecated from js-controller 6\n item.data.obj.common?.type !== 'file' ? (\n {\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectSelected`, id);\n\n this.pauseSubscribe(true);\n this.props.router?.doNavigate(null, 'customs', id);\n this.setState({ customDialog: [id], customDialogAll: false });\n }}\n >\n \n \n ) : null,\n ];\n }\n\n private readHistory(id: string): void {\n /* interface GetHistoryOptions {\n instance?: string;\n start?: number;\n end?: number;\n step?: number;\n count?: number;\n from?: boolean;\n ack?: boolean;\n q?: boolean;\n addID?: boolean;\n limit?: number;\n ignoreNull?: boolean;\n sessionId?: any;\n aggregate?: 'minmax' | 'min' | 'max' | 'average' | 'total' | 'count' | 'none';\n } */\n if (\n window.sparkline &&\n this.defaultHistory &&\n this.objects[id]?.common?.custom &&\n this.objects[id].common.custom[this.defaultHistory]\n ) {\n const now = new Date();\n now.setHours(now.getHours() - 24);\n now.setMinutes(0);\n now.setSeconds(0);\n now.setMilliseconds(0);\n const nowMs = now.getTime();\n\n this.props.socket\n .getHistory(id, {\n instance: this.defaultHistory,\n start: nowMs,\n end: Date.now(),\n step: 3600000,\n from: false,\n ack: false,\n q: false,\n addID: false,\n aggregate: 'minmax',\n })\n .then(values => {\n const sparks: HTMLDivElement[] = window.document.getElementsByClassName(\n 'sparkline',\n ) as any as HTMLDivElement[];\n\n for (let s = 0; s < sparks.length; s++) {\n if (sparks[s].dataset.id === id) {\n const v = prepareSparkData(values, nowMs);\n\n window.sparkline.sparkline(sparks[s], v);\n break;\n }\n }\n })\n .catch(e => console.warn(`Cannot read history: ${e}`));\n }\n }\n\n private getTooltipInfo(id: string, cb?: () => void): void {\n const obj = this.objects[id];\n const state = this.states[id];\n\n const { valFull, fileViewer } = formatValue({\n state,\n obj: obj as ioBroker.StateObject,\n texts: this.texts,\n dateFormat: this.props.dateFormat || this.systemConfig.common.dateFormat,\n isFloatComma:\n this.props.isFloatComma === undefined ? this.systemConfig.common.isFloatComma : this.props.isFloatComma,\n full: true,\n });\n const valFullRx: JSX.Element[] = [];\n\n valFull?.forEach(_item => {\n if (_item.t === this.texts.quality && state.q) {\n valFullRx.push(\n \n {_item.t}\n : \n {_item.v}\n ,\n );\n //
{item.v}
,\n if (!_item.nbr) {\n valFullRx.push(
);\n }\n } else {\n valFullRx.push(\n \n {_item.t}\n : \n ,\n );\n valFullRx.push(\n \n {_item.v}\n ,\n );\n if (!_item.nbr) {\n valFullRx.push(
);\n }\n }\n });\n\n if (fileViewer === 'image') {\n valFullRx.push(\n ,\n );\n } else if (\n this.defaultHistory &&\n this.objects[id]?.common?.custom &&\n this.objects[id].common.custom[this.defaultHistory]\n ) {\n valFullRx.push(\n ,\n );\n }\n\n this.setState({ tooltipInfo: { el: valFullRx, id } }, () => cb && cb());\n }\n\n private renderColumnValue(id: string, item: TreeItem, narrowStyleWithDetails?: boolean): JSX.Element | null {\n const obj = item.data.obj;\n if (!obj || !this.states) {\n return null;\n }\n\n if (obj.common?.type === 'file') {\n return (\n \n [file]\n
\n );\n }\n if (!this.states[id]) {\n if (obj.type === 'state') {\n // we are waiting for state\n if (!this.recordStates.includes(id)) {\n this.recordStates.push(id);\n }\n this.states[id] = { val: null } as ioBroker.State;\n this.subscribe(id);\n }\n return null;\n }\n if (!this.recordStates.includes(id)) {\n this.recordStates.push(id);\n }\n\n const state = this.states[id];\n\n let info = item.data.state;\n if (!info) {\n const { valText } = formatValue({\n state,\n obj: obj as ioBroker.StateObject,\n texts: this.texts,\n dateFormat: this.props.dateFormat || this.systemConfig.common.dateFormat,\n isFloatComma:\n this.props.isFloatComma === undefined\n ? this.systemConfig.common.isFloatComma\n : this.props.isFloatComma,\n });\n const valTextRx: JSX.Element[] = [];\n item.data.state = { valTextRx };\n\n const copyText = valText.v || '';\n valTextRx.push(\n \n {valText.v.toString()}\n ,\n );\n if (valText.u) {\n valTextRx.push(\n \n {valText.u}\n ,\n );\n }\n if (valText.s !== undefined) {\n valTextRx.push(\n \n ({valText.s})\n ,\n );\n }\n if (!narrowStyleWithDetails) {\n valTextRx.push(\n this.onCopy(e, copyText)}\n key=\"cc\"\n />,\n );\n }\n // \n\n info = item.data.state;\n }\n\n info.style = getValueStyle({ state, isExpertMode: this.state.filter.expertMode, isButton: item.data.button });\n\n let val: JSX.Element[] = info.valTextRx;\n if (!this.state.filter.expertMode) {\n if (item.data.button) {\n val = [\n ,\n ];\n } else if (item.data.switch) {\n val = [\n ,\n ];\n }\n }\n\n return (\n this.getTooltipInfo(id, () => this.readHistory(id))}\n onClose={() => this.state.tooltipInfo?.id === id && this.setState({ tooltipInfo: null })}\n >\n \n {val}\n \n \n );\n }\n\n private _syncEnum(id: string, enumIds: string[], newArray: string[], cb: () => void): void {\n if (!enumIds || !enumIds.length) {\n if (cb) {\n cb();\n }\n return;\n }\n const enumId = enumIds.pop() || '';\n const promises = [];\n if (this.info.objects[enumId]?.common) {\n if (this.info.objects[enumId].common.members?.length) {\n const pos = this.info.objects[enumId].common.members.indexOf(id);\n if (pos !== -1 && !newArray.includes(enumId)) {\n // delete it from members\n const obj = JSON.parse(JSON.stringify(this.info.objects[enumId]));\n obj.common.members.splice(pos, 1);\n promises.push(\n this.props.socket\n .setObject(enumId, obj)\n .then(() => (this.info.objects[enumId] = obj))\n .catch(e => this.showError(e)),\n );\n }\n }\n\n // add to it\n if (newArray.includes(enumId) && !this.info.objects[enumId].common.members?.includes(id)) {\n // add to object\n const obj = JSON.parse(JSON.stringify(this.info.objects[enumId]));\n obj.common.members = obj.common.members || [];\n obj.common.members.push(id);\n obj.common.members.sort();\n promises.push(\n this.props.socket\n .setObject(enumId, obj)\n .then(() => (this.info.objects[enumId] = obj))\n .catch(e => this.showError(e)),\n );\n }\n }\n\n void Promise.all(promises).then(() => {\n setTimeout(() => this._syncEnum(id, enumIds, newArray, cb), 0);\n });\n }\n\n private syncEnum(id: string, enumName: 'func' | 'room', newArray: string[]): Promise {\n const toCheck = [...this.info[enumName === 'func' ? 'funcEnums' : 'roomEnums']];\n\n return new Promise(resolve => {\n this._syncEnum(id, toCheck, newArray, () => {\n // force update of an object\n resolve();\n });\n });\n }\n\n private renderEnumDialog(): JSX.Element | null {\n if (!this.state.enumDialog) {\n return null;\n }\n const type = this.state.enumDialog.type;\n const item = this.state.enumDialog.item;\n const itemEnums: string[] = this.state.enumDialogEnums;\n const enumsOriginal = this.state.enumDialog.enumsOriginal;\n\n const enums = (type === 'room' ? this.info.roomEnums : this.info.funcEnums)\n .map(id => ({\n name: getName(this.objects[id]?.common?.name || id.split('.').pop() || '', this.props.lang),\n value: id,\n icon: getSelectIdIconFromObjects(this.objects, id, this.props.lang, this.imagePrefix),\n }))\n .sort((a, b) => (a.name > b.name ? 1 : -1));\n\n enums.forEach(_item => {\n if (_item.icon && typeof _item.icon === 'string') {\n _item.icon = (\n \n \n \n );\n }\n });\n\n // const hasIcons = !!enums.find(item => item.icon);\n\n return (\n this.setState({ enumDialog: null })}\n aria-labelledby=\"enum-dialog-title\"\n open={!0} // true\n >\n \n {type === 'func' ? this.props.t('ra_Define functions') : this.props.t('ra_Define rooms')}\n \n this.syncEnum(item.data.id, type, itemEnums).then(() =>\n this.setState({ enumDialog: null, enumDialogEnums: null }),\n )\n }\n >\n \n \n \n \n {enums.map(_item => {\n let id;\n let name;\n let icon;\n\n if (typeof _item === 'object') {\n id = _item.value;\n name = _item.name;\n icon = _item.icon;\n } else {\n id = _item;\n name = _item;\n }\n const labelId = `checkbox-list-label-${id}`;\n\n return (\n {\n const pos = itemEnums.indexOf(id);\n const enumDialogEnums = JSON.parse(JSON.stringify(this.state.enumDialogEnums));\n if (pos === -1) {\n enumDialogEnums.push(id);\n enumDialogEnums.sort();\n } else {\n enumDialogEnums.splice(pos, 1);\n }\n this.setState({ enumDialogEnums });\n }}\n secondaryAction={icon}\n >\n \n \n \n {name}\n \n );\n })}\n \n \n );\n }\n\n private renderEditRoleDialog(): JSX.Element | null {\n if (!this.state.roleDialog || !this.props.objectBrowserEditRole) {\n return null;\n }\n\n if (this.state.roleDialog && this.props.objectBrowserEditRole) {\n const ObjectBrowserEditRole = this.props.objectBrowserEditRole;\n\n return (\n {\n if (obj) {\n this.info.objects[this.state.roleDialog] = obj;\n }\n this.setState({ roleDialog: null });\n }}\n />\n );\n }\n return null;\n }\n\n private onColumnsEditCustomDialogClose(isSave?: boolean): void {\n // cannot be null\n const customColumnDialog: {\n value: boolean | number | string;\n type: 'boolean' | 'number' | 'string';\n initValue: boolean | number | string;\n } = this.customColumnDialog as {\n value: boolean | number | string;\n type: 'boolean' | 'number' | 'string';\n initValue: boolean | number | string;\n };\n\n if (isSave) {\n let value: string | number | boolean = customColumnDialog.value;\n if (customColumnDialog.type === 'boolean') {\n value = value === 'true' || value === true;\n } else if (customColumnDialog.type === 'number') {\n value = parseFloat(value as any as string);\n }\n this.customColumnDialog = null;\n this.props.socket\n .getObject(this.state.columnsEditCustomDialog?.obj?._id || '')\n .then(obj => {\n if (obj && ObjectBrowserClass.setCustomValue(obj, this.state.columnsEditCustomDialog?.it, value)) {\n return this.props.socket.setObject(obj._id, obj);\n }\n throw new Error(this.props.t('ra_Cannot update attribute, because not found in the object'));\n })\n .then(() => this.setState({ columnsEditCustomDialog: null }))\n .catch(e => this.showError(e));\n } else {\n this.customColumnDialog = null;\n this.setState({ columnsEditCustomDialog: null });\n }\n }\n\n private renderColumnsEditCustomDialog(): JSX.Element | null {\n if (!this.state.columnsEditCustomDialog) {\n return null;\n }\n if (!this.customColumnDialog) {\n const value = ObjectBrowserClass.getCustomValue(\n this.state.columnsEditCustomDialog.obj,\n this.state.columnsEditCustomDialog.it,\n );\n this.customColumnDialog = {\n type: (this.state.columnsEditCustomDialog.it.type || typeof value) as 'boolean' | 'string' | 'number',\n initValue: (value === null || value === undefined ? '' : value).toString(),\n value: (value === null || value === undefined ? '' : value).toString(),\n };\n }\n\n return (\n this.setState({ columnsEditCustomDialog: null })}\n maxWidth=\"md\"\n aria-labelledby=\"custom-dialog-title\"\n open={!0}\n >\n \n {`${this.props.t('ra_Edit object field')}: ${this.state.columnsEditCustomDialog.obj._id}`}\n \n \n \n {this.customColumnDialog.type === 'boolean' ? (\n e.key === 'Enter' && this.onColumnsEditCustomDialogClose(true)}\n defaultChecked={this.customColumnDialog.value === 'true'}\n onChange={e => {\n const customColumnDialog: {\n value: boolean | number | string;\n type: 'boolean' | 'number' | 'string';\n initValue: boolean | number | string;\n } = this.customColumnDialog as {\n value: boolean | number | string;\n type: 'boolean' | 'number' | 'string';\n initValue: boolean | number | string;\n };\n\n customColumnDialog.value = e.target.checked.toString();\n const changed = customColumnDialog.value !== customColumnDialog.initValue;\n if (changed === !this.state.customColumnDialogValueChanged) {\n this.setState({ customColumnDialogValueChanged: changed });\n }\n }}\n />\n }\n label={`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`}\n />\n ) : (\n e.key === 'Enter' && this.onColumnsEditCustomDialogClose(true)}\n label={`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`}\n onChange={e => {\n const customColumnDialog: {\n value: boolean | number | string;\n type: 'boolean' | 'number' | 'string';\n initValue: boolean | number | string;\n } = this.customColumnDialog as {\n value: boolean | number | string;\n type: 'boolean' | 'number' | 'string';\n initValue: boolean | number | string;\n };\n\n customColumnDialog.value = e.target.value;\n const changed = customColumnDialog.value !== customColumnDialog.initValue;\n if (changed === !this.state.customColumnDialogValueChanged) {\n this.setState({ customColumnDialogValueChanged: changed });\n }\n }}\n autoFocus\n />\n )}\n \n \n \n this.onColumnsEditCustomDialogClose(true)}\n disabled={!this.state.customColumnDialogValueChanged}\n color=\"primary\"\n startIcon={}\n >\n {this.props.t('ra_Update')}\n \n this.onColumnsEditCustomDialogClose()}\n startIcon={}\n >\n {this.props.t('ra_Cancel')}\n \n \n \n );\n }\n\n private static getCustomValue(obj: ioBroker.Object, it: AdapterColumn): string | number | boolean | null {\n if (obj?._id?.startsWith(`${it.adapter}.`) && it.path.length > 1) {\n const p = it.path;\n let value;\n const anyObj: Record = obj as Record;\n if (anyObj[p[0]] && typeof anyObj[p[0]] === 'object') {\n if (p.length === 2) {\n // most common case\n value = anyObj[p[0]][p[1]];\n } else if (p.length === 3) {\n value =\n anyObj[p[0]][p[1]] && typeof anyObj[p[0]][p[1]] === 'object' ? anyObj[p[0]][p[1]][p[2]] : null;\n } else if (p.length === 4) {\n value =\n anyObj[p[0]][p[1]] && typeof anyObj[p[0]][p[1]] === 'object' && anyObj[p[0]][p[1]][p[2]]\n ? anyObj[p[0]][p[1]][p[2]][p[3]]\n : null;\n } else if (p.length === 5) {\n value =\n anyObj[p[0]][p[1]] &&\n typeof anyObj[p[0]][p[1]] === 'object' &&\n anyObj[p[0]][p[1]][p[2]] &&\n anyObj[p[0]][p[1]][p[2]][p[3]]\n ? anyObj[p[0]][p[1]][p[2]][p[3]][p[4]]\n : null;\n } else if (p.length === 6) {\n value =\n anyObj[p[0]][p[1]] &&\n typeof anyObj[p[0]][p[1]] === 'object' &&\n anyObj[p[0]][p[1]][p[2]] &&\n anyObj[p[0]][p[1]][p[2]][p[3]] &&\n anyObj[p[0]][p[1]][p[2]][p[3]][p[4]]\n ? anyObj[p[0]][p[1]][p[2]][p[3]][p[4]][p[5]]\n : null;\n }\n if (value === undefined || value === null) {\n return null;\n }\n return value;\n }\n }\n\n return null;\n }\n\n private static setCustomValue(obj: ioBroker.Object, it: AdapterColumn, value: string | number | boolean): boolean {\n if (obj?._id?.startsWith(`${it.adapter}.`) && it.path.length > 1) {\n const p = it.path;\n const anyObj: Record = obj as Record;\n if (anyObj[p[0]] && typeof anyObj[p[0]] === 'object') {\n if (p.length === 2) {\n // most common case\n anyObj[p[0]][p[1]] = value;\n return true;\n }\n if (p.length === 3) {\n if (anyObj[p[0]][p[1]] && typeof anyObj[p[0]][p[1]] === 'object') {\n anyObj[p[0]][p[1]][p[2]] = value;\n return true;\n }\n } else if (p.length === 4) {\n if (\n anyObj[p[0]][p[1]] &&\n typeof anyObj[p[0]][p[1]] === 'object' &&\n anyObj[p[0]][p[1]][p[2]] &&\n typeof anyObj[p[0]][p[1]][p[2]] === 'object'\n ) {\n anyObj[p[0]][p[1]][p[2]][p[3]] = value;\n return true;\n }\n } else if (p.length === 5) {\n if (\n anyObj[p[0]][p[1]] &&\n typeof anyObj[p[0]][p[1]] === 'object' &&\n anyObj[p[0]][p[1]][p[2]] &&\n typeof anyObj[p[0]][p[1]][p[2]] === 'object' &&\n anyObj[p[0]][p[1]][p[2]][p[3]] &&\n typeof anyObj[p[0]][p[1]][p[2]][p[3]] === 'object'\n ) {\n anyObj[p[0]][p[1]][p[2]][p[3]][p[4]] = value;\n return true;\n }\n } else if (p.length === 6) {\n if (\n anyObj[p[0]][p[1]] &&\n typeof anyObj[p[0]][p[1]] === 'object' &&\n anyObj[p[0]][p[1]][p[2]] &&\n typeof anyObj[p[0]][p[1]][p[2]] === 'object' &&\n anyObj[p[0]][p[1]][p[2]][p[3]] &&\n typeof anyObj[p[0]][p[1]][p[2]][p[3]] === 'object' &&\n anyObj[p[0]][p[1]][p[2]][p[3]][p[4]] &&\n typeof anyObj[p[0]][p[1]][p[2]][p[3]][p[4]] === 'object'\n ) {\n anyObj[p[0]][p[1]][p[2]][p[3]][p[4]][p[5]] = value;\n return true;\n }\n }\n }\n }\n return false;\n }\n\n /**\n * Renders a custom value.\n */\n renderCustomValue(obj: ioBroker.Object, it: AdapterColumn, item: TreeItem): JSX.Element | null {\n const text = ObjectBrowserClass.getCustomValue(obj, it);\n if (text !== null && text !== undefined) {\n if (it.edit && !this.props.notEditable && (!it.objTypes || it.objTypes.includes(obj.type))) {\n return (\n \n this.setState({\n columnsEditCustomDialog: { item, it, obj },\n customColumnDialogValueChanged: false,\n })\n }\n >\n {text}\n \n );\n }\n return (\n \n {text}\n \n );\n }\n return null;\n }\n\n renderAliasLink(id: string, index?: number, customStyle?: Record): JSX.Element | null {\n const _index = index || 0;\n // read the type of operation\n const aliasObj = this.objects[this.info.aliasesMap[id][_index]].common.alias.id;\n if (aliasObj) {\n return (\n {\n e.stopPropagation();\n e.preventDefault();\n const aliasId = this.info.aliasesMap[id][_index];\n // if more than one alias, close the menu\n if (this.info.aliasesMap[id].length > 1) {\n this.setState({ aliasMenu: '' });\n }\n this.onSelect(aliasId);\n setTimeout(() => this.expandAllSelected(() => this.scrollToItem(aliasId)), 100);\n }}\n sx={customStyle || this.styles.aliasAlone}\n >\n \n {typeof aliasObj === 'string' || (aliasObj.read === id && aliasObj.write === id)\n ? '↔'\n : aliasObj.read === id\n ? '→'\n : '←'}\n \n {this.info.aliasesMap[id][_index]}\n \n );\n }\n\n return null;\n }\n\n /**\n * Renders a leaf.\n */\n renderLeaf(\n item: TreeItem,\n isExpanded: boolean | undefined,\n counter: { count: number },\n ): { row: JSX.Element; details: JSX.Element | null } {\n const id = item.data.id;\n counter.count++;\n isExpanded = isExpanded === undefined ? this.state.expanded.includes(id) : isExpanded;\n\n // icon\n let iconFolder;\n const obj = item.data.obj;\n const itemType = obj?.type;\n\n if (\n item.children ||\n itemType === 'folder' ||\n itemType === 'device' ||\n itemType === 'channel' ||\n itemType === 'meta'\n ) {\n iconFolder = isExpanded ? (\n this.toggleExpanded(id)}\n />\n ) : (\n this.toggleExpanded(id)}\n />\n );\n } else if (obj && obj.common && obj.common.write === false && obj.type === 'state') {\n iconFolder = ;\n } else {\n iconFolder = ;\n }\n\n let iconItem = null;\n if (item.data.icon) {\n if (typeof item.data.icon === 'string') {\n if (item.data.icon.length < 3) {\n iconItem = (\n \n {item.data.icon}\n \n ); // utf-8 char\n } else {\n iconItem = (\n \n );\n }\n } else {\n iconItem = item.data.icon;\n }\n }\n\n const common = obj?.common;\n\n const typeImg = (obj?.type && ITEM_IMAGES[obj.type]) ||
;\n\n const paddingLeft = this.levelPadding * (item.data.level || 0);\n\n // recalculate rooms and function names if the language changed\n if (item.data.lang !== this.props.lang) {\n const { rooms, per } = findRoomsForObject(this.info, id, this.props.lang);\n item.data.rooms = rooms.join(', ');\n item.data.per = per;\n const { funcs, pef } = findFunctionsForObject(this.info, id, this.props.lang);\n item.data.funcs = funcs.join(', ');\n item.data.pef = pef;\n item.data.lang = this.props.lang;\n }\n\n const checkbox =\n this.props.multiSelect &&\n this.objects[id] &&\n (!this.props.types || this.props.types.includes(this.objects[id].type)) ? (\n \n ) : null;\n\n let valueEditable =\n !this.props.notEditable &&\n itemType === 'state' &&\n (this.state.filter.expertMode || common?.write !== false);\n if (this.props.objectBrowserViewFile && common?.type === 'file') {\n valueEditable = true;\n }\n const enumEditable =\n !this.props.notEditable &&\n this.objects[id] &&\n (this.state.filter.expertMode || itemType === 'state' || itemType === 'channel' || itemType === 'device');\n\n const checkVisibleObjectType =\n this.state.statesView && (itemType === 'state' || itemType === 'channel' || itemType === 'device');\n\n let newValue = '';\n const newValueTitle = [];\n if (checkVisibleObjectType) {\n newValue = this.states[id]?.from;\n if (newValue === undefined) {\n newValue = ' ';\n } else {\n newValue = newValue ? newValue.replace(/^system\\.adapter\\.|^system\\./, '') : '';\n newValueTitle.push(`${this.texts.stateChangedFrom} ${newValue}`);\n }\n if (obj?.user) {\n const user = obj.user.replace('system.user.', '');\n newValue += `/${user}`;\n newValueTitle.push(`${this.texts.stateChangedBy} ${user}`);\n }\n }\n\n if (obj) {\n if (obj.from) {\n newValueTitle.push(\n `${this.texts.objectChangedFrom} ${obj.from.replace(/^system\\.adapter\\.|^system\\./, '')}`,\n );\n }\n if (obj.user) {\n newValueTitle.push(`${this.texts.objectChangedBy} ${obj.user.replace(/^system\\.user\\./, '')}`);\n }\n if (obj.ts) {\n newValueTitle.push(\n `${this.texts.objectChangedByUser} ${Utils.formatDate(new Date(obj.ts), this.props.dateFormat || this.systemConfig.common.dateFormat)}`,\n );\n }\n }\n\n let readWriteAlias = false;\n let alias: JSX.Element | null = null;\n if (id.startsWith('alias.') && common?.alias?.id) {\n readWriteAlias = typeof common.alias.id === 'object';\n if (readWriteAlias) {\n alias = (\n
\n {common.alias.id.read ? (\n {\n e.stopPropagation();\n e.preventDefault();\n this.onSelect(common.alias.id.read);\n setTimeout(\n () => this.expandAllSelected(() => this.scrollToItem(common.alias.id.read)),\n 100,\n );\n }}\n sx={this.styles.aliasReadWrite}\n >\n ←{common.alias.id.read}\n \n ) : null}\n {common.alias.id.write ? (\n {\n e.stopPropagation();\n e.preventDefault();\n this.onSelect(common.alias.id.write);\n setTimeout(\n () => this.expandAllSelected(() => this.scrollToItem(common.alias.id.write)),\n 100,\n );\n }}\n sx={this.styles.aliasReadWrite}\n >\n →{common.alias.id.write}\n \n ) : null}\n
\n );\n } else {\n alias = (\n {\n e.stopPropagation();\n e.preventDefault();\n this.onSelect(common.alias.id);\n setTimeout(() => this.expandAllSelected(() => this.scrollToItem(common.alias.id)), 100);\n }}\n sx={this.styles.aliasAlone}\n >\n →{common.alias.id}\n \n );\n }\n } else if (this.info.aliasesMap[id]) {\n // Some alias points to this object. It can be more than one\n if (this.info.aliasesMap[id].length > 1) {\n // Show number of aliases and open a menu by click\n alias = (\n {\n e.stopPropagation();\n e.preventDefault();\n this.setState({ aliasMenu: id });\n }}\n sx={this.styles.aliasAlone}\n >\n {this.props.t('ra_%s links from aliases', this.info.aliasesMap[id].length)}\n \n );\n } else {\n // Show name of alias and open it by click\n alias = this.renderAliasLink(id, 0);\n }\n }\n\n let checkColor = common?.color;\n let invertBackground;\n if (checkColor && !this.state.selected.includes(id)) {\n const background =\n this.props.themeName === 'dark' ? '#1f1f1f' : this.props.themeName === 'blue' ? '#222a2e' : '#FFFFFF';\n const distance = Utils.colorDistance(checkColor, background);\n // console.log(`Distance: ${checkColor} - ${background} = ${distance}`);\n if (distance < 1000) {\n invertBackground = this.props.themeType === 'dark' ? '#9a9a9a' : '#565656';\n }\n }\n let bold = false;\n if (id === '0_userdata') {\n checkColor = COLOR_NAME_USERDATA(this.props.themeType);\n bold = true;\n } else if (id === 'alias') {\n checkColor = COLOR_NAME_ALIAS(this.props.themeType);\n bold = true;\n } else if (id === 'javascript') {\n checkColor = COLOR_NAME_JAVASCRIPT(this.props.themeType);\n bold = true;\n } else if (id === 'system') {\n checkColor = COLOR_NAME_SYSTEM(this.props.themeType);\n bold = true;\n } else if (id === 'system.adapter') {\n checkColor = COLOR_NAME_SYSTEM_ADAPTER(this.props.themeType);\n } else if (!checkColor || this.state.selected.includes(id)) {\n checkColor = 'inherit';\n }\n\n const icons = [];\n\n if (common?.statusStates) {\n const ids: Record = {};\n Object.keys(common.statusStates).forEach(name => {\n let _id = common.statusStates[name];\n if (_id.split('.').length < 3) {\n _id = `${id}.${_id}`;\n }\n ids[name] = _id;\n\n if (!this.states[_id]) {\n if (this.objects[_id]?.type === 'state') {\n if (!this.recordStates.includes(_id)) {\n this.recordStates.push(_id);\n }\n this.states[_id] = { val: null } as ioBroker.State;\n this.subscribe(_id);\n }\n } else if (!this.recordStates.includes(_id)) {\n this.recordStates.push(_id);\n }\n });\n // calculate color\n // errorId has priority\n let colorSet = false;\n if (common.statusStates.errorId && this.states[ids.errorId] && this.states[ids.errorId].val) {\n checkColor = this.props.themeType === 'dark' ? COLOR_NAME_ERROR_DARK : COLOR_NAME_ERROR_LIGHT;\n colorSet = true;\n icons.push(\n ,\n );\n }\n\n if (ids.onlineId && this.states[ids.onlineId]) {\n if (!colorSet) {\n if (this.states[ids.onlineId].val) {\n checkColor =\n this.props.themeType === 'dark' ? COLOR_NAME_CONNECTED_DARK : COLOR_NAME_CONNECTED_LIGHT;\n icons.push(\n ,\n );\n } else {\n checkColor =\n this.props.themeType === 'dark'\n ? COLOR_NAME_DISCONNECTED_DARK\n : COLOR_NAME_DISCONNECTED_LIGHT;\n icons.push(\n ,\n );\n }\n } else if (this.states[ids.onlineId].val) {\n icons.push(\n ,\n );\n } else {\n icons.push(\n ,\n );\n }\n } else if (ids.offlineId && this.states[ids.offlineId]) {\n if (!colorSet) {\n if (this.states[ids.offlineId].val) {\n checkColor =\n this.props.themeType === 'dark'\n ? COLOR_NAME_DISCONNECTED_DARK\n : COLOR_NAME_DISCONNECTED_LIGHT;\n icons.push(\n ,\n );\n } else {\n checkColor =\n this.props.themeType === 'dark' ? COLOR_NAME_CONNECTED_DARK : COLOR_NAME_CONNECTED_LIGHT;\n icons.push(\n ,\n );\n }\n } else if (this.states[ids.offlineId].val) {\n icons.push(\n ,\n );\n } else {\n icons.push(\n ,\n );\n }\n }\n }\n\n const q = checkVisibleObjectType ? Utils.quality2text(this.states[id]?.q || 0).join(', ') : null;\n\n let name: JSX.Element[] | string = item.data?.title || '';\n let useDesc = false;\n if (this.state.showDescription) {\n const oTooltip: string | null = getObjectTooltip(item.data, this.props.lang);\n if (oTooltip) {\n name = [\n \n {name}\n
,\n \n {oTooltip}\n ,\n ];\n useDesc = !!oTooltip;\n }\n }\n\n const narrowStyleWithDetails = this.props.width === 'xs' && this.state.focused === id;\n\n const colID = (\n \n \n {checkbox}\n {iconFolder}\n \n \n \n
{item.data.name}
\n \n {alias}\n {icons}\n \n
\n \n {iconItem}\n \n {this.props.width !== 'xs' ? (\n
\n this.onCopy(e, id)}\n />\n
\n ) : null}\n \n );\n\n let colName =\n (narrowStyleWithDetails && name) || this.columnsVisibility.name ? (\n \n {name}\n {!narrowStyleWithDetails && item.data?.title ? (\n \n this.onCopy(e, item.data?.title)}\n />\n \n ) : null}\n \n ) : null;\n\n let colMiddle:\n | ({\n el: JSX.Element;\n type:\n | 'filter_type'\n | 'filter_role'\n | 'filter_func'\n | 'filter_room'\n | 'quality'\n | 'from'\n | 'lc'\n | 'ts';\n onClick?: (() => void) | null | undefined;\n } | null)[]\n | null;\n if (!this.state.statesView) {\n colMiddle = [\n (narrowStyleWithDetails && obj?.type) || this.columnsVisibility.type\n ? {\n el: (\n \n {typeImg}\n  \n {obj?.type}\n
\n ),\n type: 'filter_type',\n }\n : null,\n (narrowStyleWithDetails && common) || this.columnsVisibility.role\n ? {\n el: (\n this.setState({ roleDialog: item.data.id })\n : undefined\n }\n >\n {common?.role}\n \n ),\n type: 'filter_role',\n onClick:\n narrowStyleWithDetails &&\n this.state.filter.expertMode &&\n enumEditable &&\n this.props.objectBrowserEditRole\n ? () => this.setState({ roleDialog: item.data.id })\n : undefined,\n }\n : null,\n (narrowStyleWithDetails && common) || this.columnsVisibility.room\n ? {\n el: (\n {\n const enums = findEnumsForObjectAsIds(\n this.info,\n item.data.id,\n 'roomEnums',\n );\n this.setState({\n enumDialogEnums: enums,\n enumDialog: {\n item,\n type: 'room',\n enumsOriginal: JSON.stringify(enums),\n },\n });\n }\n : undefined\n }\n >\n {item.data.rooms}\n \n ),\n type: 'filter_room',\n onClick:\n narrowStyleWithDetails && enumEditable\n ? () => {\n const enums = findEnumsForObjectAsIds(this.info, item.data.id, 'roomEnums');\n this.setState({\n enumDialogEnums: enums,\n enumDialog: {\n item,\n type: 'room',\n enumsOriginal: JSON.stringify(enums),\n },\n });\n }\n : undefined,\n }\n : null,\n (narrowStyleWithDetails && common) || this.columnsVisibility.func\n ? {\n el: (\n {\n const enums = findEnumsForObjectAsIds(\n this.info,\n item.data.id,\n 'funcEnums',\n );\n this.setState({\n enumDialogEnums: enums,\n enumDialog: {\n item,\n type: 'func',\n enumsOriginal: JSON.stringify(enums),\n },\n });\n }\n : undefined\n }\n >\n {item.data.funcs}\n \n ),\n type: 'filter_func',\n onClick:\n narrowStyleWithDetails && enumEditable\n ? () => {\n const enums = findEnumsForObjectAsIds(this.info, item.data.id, 'funcEnums');\n this.setState({\n enumDialogEnums: enums,\n enumDialog: {\n item,\n type: 'func',\n enumsOriginal: JSON.stringify(enums),\n },\n });\n }\n : undefined,\n }\n : null,\n ];\n } else {\n colMiddle = [\n (narrowStyleWithDetails && checkVisibleObjectType && this.states[id]?.from) ||\n this.columnsVisibility.changedFrom\n ? {\n el: (\n \n {checkVisibleObjectType && this.states[id]?.from ? newValue : null}\n \n ),\n type: 'from',\n }\n : null,\n (narrowStyleWithDetails && q) || this.columnsVisibility.qualityCode\n ? {\n el: (\n \n {q}\n \n ),\n type: 'quality',\n }\n : null,\n (narrowStyleWithDetails && checkVisibleObjectType && this.states[id]?.ts) ||\n this.columnsVisibility.timestamp\n ? {\n el: (\n \n {checkVisibleObjectType && this.states[id]?.ts\n ? Utils.formatDate(\n new Date(this.states[id].ts),\n this.props.dateFormat || this.systemConfig.common.dateFormat,\n )\n : null}\n \n ),\n type: 'ts',\n }\n : null,\n (narrowStyleWithDetails && checkVisibleObjectType && this.states[id]?.lc) ||\n this.columnsVisibility.lastChange\n ? {\n el: (\n \n {checkVisibleObjectType && this.states[id]?.lc\n ? Utils.formatDate(\n new Date(this.states[id].lc),\n this.props.dateFormat || this.systemConfig.common.dateFormat,\n )\n : null}\n \n ),\n type: 'lc',\n }\n : null,\n ];\n }\n\n let colCustom: JSX.Element[] | null =\n this.adapterColumns?.map(it => (\n )[it.id]\n : undefined,\n }}\n key={it.id}\n title={`${it.adapter} => ${it.pathText}`}\n >\n {obj ? this.renderCustomValue(obj, it, item) : null}\n \n )) || null;\n\n const columnValue =\n narrowStyleWithDetails || this.columnsVisibility.val\n ? this.renderColumnValue(id, item, narrowStyleWithDetails)\n : null;\n\n let colValue =\n (narrowStyleWithDetails && columnValue) || this.columnsVisibility.val ? (\n {\n if (!obj || !this.states) {\n // return;\n } else if (common?.type === 'file') {\n this.setState({ viewFileDialog: id });\n } else if (!this.state.filter.expertMode && item.data.button) {\n // in non-expert mode control button directly\n this.props.socket\n .setState(id, true)\n .catch(e => window.alert(`Cannot write state \"${id}\": ${e}`));\n } else if (!this.state.filter.expertMode && item.data.switch) {\n // in non-expert mode control switch directly\n this.props.socket\n .setState(id, !this.states[id].val)\n .catch(e => window.alert(`Cannot write state \"${id}\": ${e}`));\n } else {\n this.edit = {\n val: this.states[id] ? this.states[id].val : '',\n q: this.states[id] ? this.states[id].q || 0 : 0,\n ack: false,\n id,\n };\n this.setState({ updateOpened: true });\n }\n }\n : undefined\n }\n >\n {columnValue}\n \n ) : null;\n\n let colButtons =\n narrowStyleWithDetails || this.columnsVisibility.buttons ? (\n \n {this.renderColumnButtons(id, item)}\n \n ) : null;\n\n let colDetails: JSX.Element | null = null;\n if (this.props.width === 'xs' && this.state.focused === id) {\n colMiddle = colMiddle.filter(a => a);\n let renderedMiddle: (JSX.Element | null)[] | null;\n if (!colMiddle.length) {\n renderedMiddle = null;\n } else {\n renderedMiddle = colMiddle.map(it => {\n if (!it) {\n return null;\n }\n return (\n \n {this.texts[it.type]}:\n {it.el}\n
\n {it.onClick ? (\n {\n if (it?.onClick) {\n it.onClick();\n }\n }}\n />\n ) : null}\n
\n );\n });\n }\n if (!colCustom.length) {\n colCustom = null;\n }\n colDetails = (\n \n
\n
\n this.onCopy(e, id)}\n />\n
\n {colName && (\n
\n {this.texts.name}:\n {colName}\n
\n {item.data?.title ? (\n this.onCopy(e, item.data?.title)}\n />\n ) : null}\n
\n )}\n {renderedMiddle}\n {colCustom &&
{colCustom}
}\n {this.objects[id]?.type === 'state' && (\n
\n {this.texts.value}:\n {colValue}\n
\n {\n const { valText } = formatValue({\n state: this.states[id],\n obj: this.objects[id] as ioBroker.StateObject,\n texts: this.texts,\n dateFormat: this.props.dateFormat || this.systemConfig.common.dateFormat,\n isFloatComma:\n this.props.isFloatComma === undefined\n ? this.systemConfig.common.isFloatComma\n : this.props.isFloatComma,\n });\n this.onCopy(e, valText.v.toString());\n }}\n key=\"cc\"\n />\n
\n )}\n {colButtons && (\n
{colButtons}
\n )}\n \n );\n\n colName = null;\n colMiddle = null;\n colCustom = null;\n colValue = null;\n colButtons = null;\n }\n\n const row = (\n {\n this.onSelect(id);\n let isRightMB;\n if ('which' in e) {\n // Gecko (Firefox), WebKit (Safari/Chrome) & Opera\n isRightMB = e.which === 3;\n } else if ('button' in e) {\n // IE, Opera\n isRightMB = e.button === 2;\n }\n if (isRightMB) {\n this.contextMenu = {\n item,\n ts: Date.now(),\n };\n } else {\n this.contextMenu = null;\n }\n }}\n onDoubleClick={() => {\n if (!item.children) {\n this.onSelect(id, true);\n } else {\n this.toggleExpanded(id);\n }\n }}\n >\n {colID}\n {colName}\n {colMiddle?.map(it => it?.el)}\n {colCustom}\n {colValue}\n {colButtons}\n \n );\n return { row, details: colDetails };\n }\n\n /**\n * Renders an item.\n */\n renderItem(root: TreeItem, isExpanded: boolean | undefined, counter?: { count: number }): JSX.Element[] {\n const items: (JSX.Element | null)[] = [];\n counter = counter || { count: 0 };\n const result = this.renderLeaf(root, isExpanded, counter);\n let leaf: JSX.Element;\n const DragWrapper = this.props.DragWrapper;\n if (this.props.dragEnabled && DragWrapper) {\n if (root.data.sumVisibility) {\n leaf = (\n \n {result.row}\n \n );\n } else {\n // change cursor\n leaf = (\n \n {result.row}\n
\n );\n }\n } else {\n leaf = result.row;\n }\n if (root.data.id && leaf) {\n items.push(leaf);\n }\n if (result.details) {\n items.push(result.details);\n }\n\n isExpanded = isExpanded === undefined ? binarySearch(this.state.expanded, root.data.id) : isExpanded;\n\n if (!root.data.id || isExpanded) {\n if (!this.state.foldersFirst) {\n if (root.children) {\n items.push(\n root.children.map(item => {\n // do not render too many items in column editor mode\n if (!this.state.columnsSelectorShow || counter.count < 15) {\n if (item.data.sumVisibility) {\n return this.renderItem(item, undefined, counter);\n }\n }\n return null;\n }) as any as JSX.Element,\n );\n }\n } else if (root.children) {\n // first only folder\n items.push(\n root.children.map(item => {\n if (item.children) {\n // do not render too many items in column editor mode\n if (!this.state.columnsSelectorShow || counter.count < 15) {\n if (item.data.sumVisibility) {\n return this.renderItem(item, undefined, counter);\n }\n }\n }\n\n return null;\n }) as any as JSX.Element,\n );\n\n // then items\n items.push(\n root.children.map(item => {\n if (!item.children) {\n // do not render too many items in column editor mode\n if (!this.state.columnsSelectorShow || counter.count < 15) {\n if (item.data.sumVisibility) {\n return this.renderItem(item, undefined, counter);\n }\n }\n }\n return null;\n }) as any as JSX.Element,\n );\n }\n }\n\n return items;\n }\n\n private calculateColumnsVisibility(\n aColumnsAuto?: boolean | null,\n aColumns?: string[] | null,\n aColumnsForAdmin?: Record | null,\n aColumnsWidths?: Record,\n ): void {\n let columnsWidths: Record = aColumnsWidths || this.state.columnsWidths;\n const columnsForAdmin: Record | null =\n aColumnsForAdmin || this.state.columnsForAdmin;\n const columns: string[] = aColumns || this.state.columns || [];\n const columnsAuto: boolean = typeof aColumnsAuto !== 'boolean' ? this.state.columnsAuto : aColumnsAuto;\n\n columnsWidths = JSON.parse(JSON.stringify(columnsWidths));\n Object.keys(columnsWidths).forEach(name => {\n if (columnsWidths[name]) {\n columnsWidths[name] = parseInt(columnsWidths[name] as any as string, 10) || 0;\n }\n });\n\n this.adapterColumns = [];\n const WIDTHS = SCREEN_WIDTHS[this.props.width || 'lg'].widths;\n\n if (columnsAuto) {\n this.columnsVisibility = {\n id: SCREEN_WIDTHS[this.props.width || 'lg'].idWidth,\n name: this.visibleCols.includes('name') ? WIDTHS.name || 0 : 0,\n nameHeader: this.visibleCols.includes('name') ? WIDTHS.name || 0 : 0,\n type: this.visibleCols.includes('type') ? WIDTHS.type || 0 : 0,\n role: this.visibleCols.includes('role') ? WIDTHS.role || 0 : 0,\n room: this.visibleCols.includes('room') ? WIDTHS.room || 0 : 0,\n func: this.visibleCols.includes('func') ? WIDTHS.func || 0 : 0,\n changedFrom: this.visibleCols.includes('changedFrom') ? WIDTHS.changedFrom || 0 : 0,\n qualityCode: this.visibleCols.includes('qualityCode') ? WIDTHS.qualityCode || 0 : 0,\n timestamp: this.visibleCols.includes('timestamp') ? WIDTHS.timestamp || 0 : 0,\n lastChange: this.visibleCols.includes('lastChange') ? WIDTHS.lastChange || 0 : 0,\n val: this.visibleCols.includes('val') ? WIDTHS.val || 0 : 0,\n buttons: this.visibleCols.includes('buttons') ? WIDTHS.buttons || 0 : 0,\n };\n\n // in xs name is not visible\n if (this.columnsVisibility.name && !this.customWidth) {\n let widthSum: number = (this.columnsVisibility.id as number) || 0; // id is always visible\n if (this.state.statesView) {\n widthSum += this.columnsVisibility.changedFrom || 0;\n widthSum += this.columnsVisibility.qualityCode || 0;\n widthSum += this.columnsVisibility.timestamp || 0;\n widthSum += this.columnsVisibility.lastChange || 0;\n } else {\n widthSum += this.columnsVisibility.type || 0;\n widthSum += this.columnsVisibility.role || 0;\n widthSum += this.columnsVisibility.room || 0;\n widthSum += this.columnsVisibility.func || 0;\n }\n widthSum += this.columnsVisibility.val || 0;\n widthSum += this.columnsVisibility.buttons || 0;\n this.columnsVisibility.name = `calc(100% - ${widthSum + 5}px)`;\n this.columnsVisibility.nameHeader = `calc(100% - ${widthSum + 5 + this.state.scrollBarWidth}px)`;\n } else if (!this.customWidth) {\n // Calculate the width of ID\n let widthSum = 0; // id is always visible\n if (this.state.statesView) {\n widthSum += this.columnsVisibility.changedFrom || 0;\n widthSum += this.columnsVisibility.qualityCode || 0;\n widthSum += this.columnsVisibility.timestamp || 0;\n widthSum += this.columnsVisibility.lastChange || 0;\n } else {\n widthSum += this.columnsVisibility.type || 0;\n widthSum += this.columnsVisibility.role || 0;\n widthSum += this.columnsVisibility.room || 0;\n widthSum += this.columnsVisibility.func || 0;\n }\n widthSum += this.columnsVisibility.val || 0;\n widthSum += this.columnsVisibility.buttons || 0;\n this.columnsVisibility.id = `calc(100% - ${widthSum + 5}px)`;\n }\n } else {\n const width = this.props.width || 'lg';\n this.columnsVisibility = {\n id: columnsWidths.id || SCREEN_WIDTHS[width].idWidth,\n name: columns.includes('name')\n ? columnsWidths.name || WIDTHS.name || SCREEN_WIDTHS[width].widths.name || 0\n : 0,\n type: columns.includes('type')\n ? columnsWidths.type || WIDTHS.type || SCREEN_WIDTHS[width].widths.type || 0\n : 0,\n role: columns.includes('role')\n ? columnsWidths.role || WIDTHS.role || SCREEN_WIDTHS[width].widths.role || 0\n : 0,\n room: columns.includes('room')\n ? columnsWidths.room || WIDTHS.room || SCREEN_WIDTHS[width].widths.room || 0\n : 0,\n func: columns.includes('func')\n ? columnsWidths.func || WIDTHS.func || SCREEN_WIDTHS[width].widths.func || 0\n : 0,\n };\n let widthSum: number = this.columnsVisibility.id as number; // id is always visible\n if (this.columnsVisibility.name) {\n widthSum += this.columnsVisibility.type || 0;\n widthSum += this.columnsVisibility.role || 0;\n widthSum += this.columnsVisibility.room || 0;\n widthSum += this.columnsVisibility.func || 0;\n }\n\n if (columnsForAdmin && columns) {\n Object.keys(columnsForAdmin)\n .sort()\n .forEach(adapter =>\n columnsForAdmin[adapter].forEach(column => {\n const id = `_${adapter}_${column.path}`;\n if (columns.includes(id)) {\n const item: AdapterColumn = {\n adapter,\n id: `_${adapter}_${column.path}`,\n name: column.name,\n path: column.path.split('.'),\n pathText: column.path,\n };\n if (column.edit) {\n item.edit = true;\n if (column.type) {\n item.type = column.type as 'number' | 'boolean' | 'string';\n }\n if (column.objTypes) {\n item.objTypes = column.objTypes;\n }\n }\n\n this.adapterColumns.push(item);\n (this.columnsVisibility as Record)[id] =\n columnsWidths[item.id] ||\n column.width ||\n SCREEN_WIDTHS[width].widths.func ||\n SCREEN_WIDTHS.xl.widths.func ||\n 0;\n widthSum += (this.columnsVisibility as Record)[id];\n } else {\n (this.columnsVisibility as Record)[id] = 0;\n }\n }),\n );\n }\n this.adapterColumns.sort((a, b) => (a.id > b.id ? -1 : a.id < b.id ? 1 : 0));\n this.columnsVisibility.val = columns.includes('val')\n ? columnsWidths.val || WIDTHS.val || SCREEN_WIDTHS.xl.widths.val\n : 0;\n\n // do not show buttons if not desired\n if (!this.props.columns || this.props.columns.includes('buttons')) {\n this.columnsVisibility.buttons = columns.includes('buttons')\n ? columnsWidths.buttons || WIDTHS.buttons || SCREEN_WIDTHS.xl.widths.buttons\n : 0;\n widthSum += this.columnsVisibility.buttons || 0;\n }\n\n if (this.columnsVisibility.name && !columnsWidths.name) {\n widthSum += this.columnsVisibility.val || 0;\n this.columnsVisibility.name = `calc(100% - ${widthSum}px)`;\n this.columnsVisibility.nameHeader = `calc(100% - ${widthSum + 5 + this.state.scrollBarWidth}px)`;\n } else {\n const newWidth = Object.keys(this.columnsVisibility).reduce((accumulator: number, name: string) => {\n // do not summarize strings\n if (\n name === 'id' ||\n typeof (this.columnsVisibility as Record)[name] === 'string' ||\n !(this.columnsVisibility as Record)[name]\n ) {\n return accumulator;\n }\n return accumulator + (this.columnsVisibility as Record)[name];\n }, 0);\n this.columnsVisibility.id = `calc(100% - ${newWidth}px)`;\n }\n }\n }\n\n resizerMouseMove = (e: MouseEvent): void => {\n if (this.resizerActiveDiv) {\n let width: number;\n let widthNext: number;\n if (this.resizeLeft) {\n width = this.resizerOldWidth - e.clientX + this.resizerPosition;\n widthNext = this.resizerOldWidthNext + e.clientX - this.resizerPosition;\n } else {\n width = this.resizerOldWidth + e.clientX - this.resizerPosition;\n widthNext = this.resizerOldWidthNext - e.clientX + this.resizerPosition;\n }\n\n if (\n this.resizerActiveName &&\n this.resizerNextName &&\n (!this.resizerMin || width > this.resizerMin) &&\n (!this.resizerNextMin || widthNext > this.resizerNextMin)\n ) {\n this.resizerCurrentWidths[this.resizerActiveName] = width;\n this.resizerCurrentWidths[this.resizerNextName] = widthNext;\n\n this.resizerActiveDiv.style.width = `${width}px`;\n if (this.resizerNextDiv) {\n this.resizerNextDiv.style.width = `${widthNext}px`;\n }\n\n (this.columnsVisibility as Record)[this.resizerActiveName] = width;\n (this.columnsVisibility as Record)[this.resizerNextName] = widthNext;\n if (this.resizerNextName === 'nameHeader') {\n this.columnsVisibility.name = widthNext - this.state.scrollBarWidth;\n this.resizerCurrentWidths.name = widthNext - this.state.scrollBarWidth;\n } else if (this.resizerActiveName === 'nameHeader') {\n this.columnsVisibility.name = width - this.state.scrollBarWidth;\n this.resizerCurrentWidths.name = width - this.state.scrollBarWidth;\n }\n this.customWidth = true;\n if (this.resizeTimeout) {\n clearTimeout(this.resizeTimeout);\n }\n this.resizeTimeout = setTimeout(() => {\n this.resizeTimeout = null;\n this.forceUpdate();\n }, 200);\n }\n }\n };\n\n resizerMouseUp = (): void => {\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.table`, JSON.stringify(this.resizerCurrentWidths));\n this.resizerActiveName = null;\n this.resizerNextName = null;\n this.resizerActiveDiv = null;\n this.resizerNextDiv = null;\n window.removeEventListener('mousemove', this.resizerMouseMove);\n window.removeEventListener('mouseup', this.resizerMouseUp);\n };\n\n resizerMouseDown = (e: React.MouseEvent): void => {\n this.storedWidths =\n this.storedWidths ||\n (JSON.parse(JSON.stringify(SCREEN_WIDTHS[this.props.width || 'lg'])) as ScreenWidthOne);\n\n this.resizerCurrentWidths = this.resizerCurrentWidths || {};\n this.resizerActiveDiv = (e.target as HTMLDivElement).parentNode as HTMLDivElement;\n this.resizerActiveName = this.resizerActiveDiv.dataset.name || null;\n if (this.resizerActiveName) {\n let i = 0;\n if ((e.target as HTMLDivElement).dataset.left === 'true') {\n this.resizeLeft = true;\n this.resizerNextDiv = this.resizerActiveDiv.previousElementSibling as HTMLDivElement;\n let handle: HTMLDivElement | null = this.resizerNextDiv.querySelector('.iob-ob-resize-handler');\n while (this.resizerNextDiv && !handle && i < 10) {\n this.resizerNextDiv = this.resizerNextDiv.previousElementSibling as HTMLDivElement;\n handle = this.resizerNextDiv.querySelector('.iob-ob-resize-handler');\n i++;\n }\n if (handle?.dataset.left !== 'true') {\n this.resizerNextDiv = this.resizerNextDiv.nextElementSibling as HTMLDivElement;\n }\n } else {\n this.resizeLeft = false;\n this.resizerNextDiv = this.resizerActiveDiv.nextElementSibling as HTMLDivElement;\n /* while (this.resizerNextDiv && !this.resizerNextDiv.querySelector('.iob-ob-resize-handler') && i < 10) {\n this.resizerNextDiv = this.resizerNextDiv.nextElementSibling;\n i++;\n } */\n }\n this.resizerNextName = this.resizerNextDiv.dataset.name || null;\n\n this.resizerMin = parseInt(this.resizerActiveDiv.dataset.min, 10) || 0;\n this.resizerNextMin = parseInt(this.resizerNextDiv.dataset.min, 10) || 0;\n\n this.resizerPosition = e.clientX;\n\n this.resizerCurrentWidths[this.resizerActiveName] = this.resizerActiveDiv.offsetWidth;\n this.resizerOldWidth = this.resizerCurrentWidths[this.resizerActiveName];\n\n if (this.resizerNextName) {\n this.resizerCurrentWidths[this.resizerNextName] = this.resizerNextDiv.offsetWidth;\n this.resizerOldWidthNext = this.resizerCurrentWidths[this.resizerNextName];\n }\n\n window.addEventListener('mousemove', this.resizerMouseMove);\n window.addEventListener('mouseup', this.resizerMouseUp);\n }\n };\n\n /**\n * Handle keyboard events for navigation\n */\n navigateKeyPress(event: React.KeyboardEvent): void {\n const selectedId = this.state.selectedNonObject || this.state.selected[0];\n\n if (!selectedId) {\n return;\n }\n\n if (event.code === 'ArrowUp' || event.code === 'ArrowDown') {\n event.preventDefault();\n const ids: string[] = [];\n this.tableRef.current?.childNodes.forEach((node: any) => ids.push((node as HTMLDivElement).id));\n const idx = ids.indexOf(selectedId);\n const newIdx = event.code === 'ArrowDown' ? idx + 1 : idx - 1;\n const newId = ids[newIdx] || selectedId;\n this.onSelect(newId);\n this.scrollToItem(newId);\n }\n\n if (event.code === 'ArrowRight' || event.code === 'ArrowLeft') {\n this.toggleExpanded(selectedId);\n }\n\n if (event.code === 'Delete' && this.root && selectedId) {\n const item = ObjectBrowserClass.getItemFromRoot(this.root, selectedId);\n if (item) {\n const { obj } = item.data;\n if (obj && !obj.common?.dontDelete) {\n this.showDeleteDialog({ id: selectedId, obj, item });\n }\n }\n }\n }\n\n /**\n * Find the id from the root\n *\n * @param root The current root\n * @param id The object id to find\n */\n private static getItemFromRoot(root: TreeItem, id: string): TreeItem | null {\n const idArr = id.split('.');\n let currId = '';\n let _root: TreeItem | null | undefined = root;\n\n for (let i = 0; i < idArr.length; i++) {\n const idEntry = idArr[i];\n currId = currId ? `${currId}.${idEntry}` : idEntry;\n let found = false;\n if (_root.children) {\n for (let j = 0; j < _root.children.length; j++) {\n if (_root.children[j].data.id === currId) {\n _root = _root.children[j];\n found = true;\n break;\n }\n }\n }\n if (!found) {\n return null;\n }\n }\n\n return _root || null;\n }\n\n resizerReset = (): void => {\n this.customWidth = false;\n SCREEN_WIDTHS[this.props.width || 'lg'] = JSON.parse(JSON.stringify(this.storedWidths));\n this.calculateColumnsVisibility();\n this.localStorage.removeItem(`${this.props.dialogName || 'App'}.table`);\n this.forceUpdate();\n };\n\n /**\n * Render the right handle for resizing\n */\n renderHandleRight(): JSX.Element {\n return (\n \n );\n }\n\n private renderHeader(): JSX.Element {\n let filterClearInValue = null;\n\n if (!this.columnsVisibility.buttons && !this.isFilterEmpty()) {\n filterClearInValue = (\n this.clearFilter()}\n style={styles.buttonClearFilter}\n title={this.props.t('ra_Clear filter')}\n size=\"large\"\n >\n \n \n \n );\n }\n\n if (this.props.width === 'xs') {\n return (\n
\n
{this.getFilterInput('id')}
\n
\n );\n }\n\n return (\n
\n \n {this.getFilterInput('id')}\n {this.renderHandleRight()}\n
\n {this.columnsVisibility.name ? (\n \n {this.getFilterInput('name')}\n {this.renderHandleRight()}\n
\n ) : null}\n {!this.state.statesView && (\n <>\n {this.columnsVisibility.type ? (\n \n {this.getFilterSelectType()}\n {this.renderHandleRight()}\n
\n ) : null}\n {this.columnsVisibility.role ? (\n \n {this.getFilterSelectRole()}\n {this.renderHandleRight()}\n \n ) : null}\n {this.columnsVisibility.room ? (\n \n {this.getFilterSelectRoom()}\n {this.renderHandleRight()}\n \n ) : null}\n {this.columnsVisibility.func ? (\n \n {this.getFilterSelectFunction()}\n {this.renderHandleRight()}\n \n ) : null}\n \n )}\n {this.state.statesView && (\n <>\n \n {this.props.t('ra_Changed from')}\n {this.renderHandleRight()}\n \n \n {this.props.t('ra_Quality code')}\n {this.renderHandleRight()}\n \n \n {this.props.t('ra_Timestamp')}\n {this.renderHandleRight()}\n \n \n {this.props.t('ra_Last change')}\n {this.renderHandleRight()}\n \n \n )}\n {this.adapterColumns.map(item => (\n )[item.id],\n }}\n title={item.adapter}\n key={item.id}\n data-min={100}\n data-name={item.id}\n >\n {item.name}\n \n ))}\n {this.columnsVisibility.val ? (\n \n {this.props.t('ra_Value')}\n {filterClearInValue}\n \n ) : null}\n {this.columnsVisibility.buttons ? (\n \n {' '}\n {this.getFilterSelectCustoms()}\n \n ) : null}\n \n );\n }\n\n private renderToast(): JSX.Element {\n return (\n this.setState({ toast: '' })}\n onClose={() => this.setState({ toast: '' })}\n message={this.state.toast}\n action={\n this.setState({ toast: '' })}\n >\n \n \n }\n />\n );\n }\n\n /**\n * Called when component is updated.\n */\n componentDidUpdate(): void {\n if (this.tableRef.current) {\n const scrollBarWidth = this.tableRef.current.offsetWidth - this.tableRef.current.clientWidth;\n if (this.state.scrollBarWidth !== scrollBarWidth) {\n setTimeout(() => this.setState({ scrollBarWidth }), 100);\n } else if (this.selectFirst) {\n this.scrollToItem(this.selectFirst);\n }\n }\n }\n\n scrollToItem(id: string): void {\n this.selectFirst = '';\n\n const node = window.document.getElementById(id);\n node?.scrollIntoView({\n behavior: 'auto',\n block: 'center',\n inline: 'center',\n });\n }\n\n private renderCustomDialog(): JSX.Element | null {\n if (this.state.customDialog && this.props.objectCustomDialog) {\n const ObjectCustomDialog = this.props.objectCustomDialog;\n\n return (\n (this.changedIds = [...changedIds])}\n objectIDs={this.state.customDialog}\n allVisibleObjects={!!this.state.customDialogAll}\n expertMode={this.state.filter.expertMode}\n isFloatComma={\n this.props.isFloatComma === undefined\n ? this.systemConfig.common.isFloatComma\n : this.props.isFloatComma\n }\n t={this.props.t}\n lang={this.props.lang}\n socket={this.props.socket}\n themeName={this.props.themeName}\n themeType={this.props.themeType}\n theme={this.props.theme}\n objects={this.objects}\n customsInstances={this.info.customs}\n onClose={() => {\n this.pauseSubscribe(false);\n this.setState({ customDialog: null });\n if (this.changedIds) {\n this.changedIds = null;\n // update all changed IDs\n this.forceUpdate();\n }\n\n this.props.router?.doNavigate('tab-objects');\n }}\n systemConfig={this.systemConfig}\n />\n );\n }\n return null;\n }\n\n private onUpdate(valAck: {\n val: ioBroker.StateValue;\n ack: boolean;\n q: ioBroker.STATE_QUALITY[keyof ioBroker.STATE_QUALITY];\n expire: number | undefined;\n }): void {\n this.props.socket\n .setState(this.edit.id, {\n val: valAck.val,\n ack: valAck.ack,\n q: valAck.q || 0,\n expire: valAck.expire || undefined,\n })\n .catch(e => this.showError(`Cannot write value: ${e}`));\n }\n\n private renderEditObjectDialog(): JSX.Element | null {\n if (!this.state.editObjectDialog || !this.props.objectBrowserEditObject) {\n return null;\n }\n\n const ObjectBrowserEditObject = this.props.objectBrowserEditObject;\n\n return (\n \n this.props.socket\n .setObject(obj._id, obj)\n .then(() =>\n this.setState({ editObjectDialog: obj._id, editObjectAlias: false }, () =>\n this.onSelect(obj._id),\n ),\n )\n .catch(e => this.showError(`Cannot write object: ${e}`))\n }\n onClose={(obj?: ioBroker.AnyObject) => {\n if (obj) {\n let updateAlias: string;\n if (this.state.editObjectDialog.startsWith('alias.')) {\n if (\n JSON.stringify(this.objects[this.state.editObjectDialog].common?.alias) !==\n JSON.stringify((obj as ioBroker.StateObject).common?.alias)\n ) {\n updateAlias = this.state.editObjectDialog;\n }\n }\n\n this.props.socket\n .setObject(obj._id, obj)\n .then(() => {\n if (updateAlias && this.subscribes.includes(updateAlias)) {\n this.unsubscribe(updateAlias);\n setTimeout(() => this.subscribe(updateAlias), 100);\n }\n })\n .catch(e => this.showError(`Cannot write object: ${e}`));\n }\n this.setState({ editObjectDialog: '', editObjectAlias: false });\n }}\n width={this.props.width}\n />\n );\n }\n\n private renderViewObjectFileDialog(): JSX.Element | null {\n if (!this.state.viewFileDialog || !this.props.objectBrowserViewFile) {\n return null;\n }\n const ObjectBrowserViewFile = this.props.objectBrowserViewFile;\n\n return (\n this.setState({ viewFileDialog: '' })}\n />\n );\n }\n\n private renderAliasEditorDialog(): JSX.Element | null {\n if (!this.props.objectBrowserAliasEditor || !this.state.showAliasEditor) {\n return null;\n }\n const ObjectBrowserAliasEditor = this.props.objectBrowserAliasEditor;\n\n return (\n this.setState({ showAliasEditor: '' })}\n onRedirect={(id: string, timeout?: number) =>\n setTimeout(\n () =>\n this.onSelect(id, false, () =>\n this.expandAllSelected(() => {\n this.scrollToItem(id);\n setTimeout(\n () =>\n this.setState({\n editObjectDialog: id,\n showAliasEditor: '',\n editObjectAlias: true,\n }),\n 300,\n );\n }),\n ),\n timeout || 0,\n )\n }\n />\n );\n }\n\n showAddDataPointDialog(id: string, initialType: ioBroker.ObjectType, initialStateType?: ioBroker.CommonType): void {\n this.setState({\n showContextMenu: null,\n modalNewObj: {\n id,\n initialType,\n initialStateType,\n },\n });\n }\n\n /** Renders the aliases list for one state (if more than 2) */\n private renderAliasMenu(): JSX.Element | null {\n if (!this.state.aliasMenu) {\n return null;\n }\n\n return (\n this.setState({ aliasMenu: '' })}\n >\n {this.info.aliasesMap[this.state.aliasMenu].map((aliasId, i) => (\n this.onSelect(aliasId)}\n >\n \n {this.renderAliasLink(this.state.aliasMenu, i, {\n '& .admin-browser-arrow': {\n mr: '8px',\n },\n })}\n \n \n ))}\n \n );\n }\n\n /**\n * Renders the right mouse button context menu\n */\n private renderContextMenu(): JSX.Element | null {\n if (!this.state.showContextMenu) {\n return null;\n }\n const item = this.state.showContextMenu.item;\n const id = item.data.id;\n const items: JSX.Element[] = [];\n // const ctrl = isIOS() ? '⌘' : (this.props.lang === 'de' ? 'Strg+' : 'Ctrl+');\n\n const obj = item.data.obj;\n\n let showACL = '';\n if (this.props.objectEditOfAccessControl && this.state.filter.expertMode) {\n if (!obj) {\n showACL = '---';\n } else {\n const acl = obj.acl ? (obj.type === 'state' ? obj.acl.state : obj.acl.object) : 0;\n const aclSystemConfig =\n obj.acl &&\n (obj.type === 'state'\n ? this.systemConfig.common.defaultNewAcl.state\n : this.systemConfig.common.defaultNewAcl.object);\n showACL = Number.isNaN(Number(acl)) ? Number(aclSystemConfig).toString(16) : Number(acl).toString(16);\n }\n }\n\n const enumEditable =\n !this.props.notEditable &&\n obj &&\n (this.state.filter.expertMode || obj.type === 'state' || obj.type === 'channel' || obj.type === 'device');\n\n const createStateVisible =\n !item.data.obj ||\n item.data.obj.type === 'folder' ||\n item.data.obj.type === 'channel' ||\n item.data.obj.type === 'device' ||\n item.data.id === '0_userdata.0' ||\n item.data.obj.type === 'meta';\n const createChannelVisible =\n !item.data.obj ||\n item.data.obj.type === 'folder' ||\n item.data.obj.type === 'device' ||\n item.data.id === '0_userdata.0' ||\n item.data.obj.type === 'meta';\n const createDeviceVisible =\n !item.data.obj ||\n item.data.obj.type === 'folder' ||\n item.data.id === '0_userdata.0' ||\n item.data.obj.type === 'meta';\n const createFolderVisible =\n !item.data.obj ||\n item.data.obj.type === 'folder' ||\n item.data.id === '0_userdata.0' ||\n item.data.obj.type === 'meta';\n\n const ITEMS: Record = {\n EDIT: {\n key: '0',\n visibility: !!(\n this.props.objectBrowserEditObject &&\n obj &&\n (this.state.filter.expertMode || ObjectBrowserClass.isNonExpertId(id))\n ),\n icon: (\n \n ),\n label: this.texts.editObject,\n onClick: () =>\n this.setState({ editObjectDialog: item.data.id, showContextMenu: null, editObjectAlias: false }),\n },\n EDIT_VALUE: {\n key: '1',\n visibility: !!(\n this.states &&\n !this.props.notEditable &&\n obj &&\n obj.type === 'state' &&\n // @ts-expect-error deprecated from js-controller 6\n obj.common?.type !== 'file' &&\n (this.state.filter.expertMode || obj.common.write !== false)\n ),\n icon: (\n \n ),\n label: this.props.t('ra_Edit value'),\n onClick: () => {\n this.edit = {\n val: this.states[id] ? this.states[id].val : '',\n q: this.states[id] ? this.states[id].q || 0 : 0,\n ack: false,\n id,\n };\n this.setState({ updateOpened: true, showContextMenu: null });\n },\n },\n VIEW: {\n visibility:\n !!this.props.objectBrowserViewFile &&\n obj?.type === 'state' &&\n // @ts-expect-error deprecated from js-controller 6\n obj.common?.type === 'file',\n icon: (\n \n ),\n label: this.props.t('ra_View file'),\n onClick: () => this.setState({ viewFileDialog: obj?._id || '', showContextMenu: null }),\n },\n CUSTOM: {\n key: '2',\n visibility: !(\n this.props.objectCustomDialog &&\n this.info.hasSomeCustoms &&\n obj &&\n obj.type === 'state' &&\n // @ts-expect-error deprecated from js-controller 6\n obj.common?.type !== 'file'\n ),\n icon: (\n \n ),\n style: this.styles.contextMenuCustom,\n label: this.texts.customConfig,\n onClick: () => {\n this.pauseSubscribe(true);\n this.props.router?.doNavigate(null, 'customs', id);\n this.setState({ customDialog: [id], showContextMenu: null });\n },\n },\n ACL: {\n key: '3',\n visibility: !!showACL,\n icon: showACL,\n iconStyle: { fontSize: 'smaller' },\n listItemIconStyle: this.styles.contextMenuACL,\n style: this.styles.contextMenuACL,\n label: this.props.t('ra_Edit ACL'),\n onClick: () =>\n this.setState({\n showContextMenu: null,\n modalEditOfAccess: true,\n modalEditOfAccessObjData: item.data,\n }),\n },\n ROLE: {\n key: '4',\n visibility: !!(this.state.filter.expertMode && enumEditable && this.props.objectBrowserEditRole),\n icon: (\n \n ),\n label: this.props.t('ra_Edit role'),\n onClick: () => this.setState({ roleDialog: item.data.id, showContextMenu: null }),\n },\n FUNCTION: {\n key: '5',\n visibility: !!enumEditable,\n icon: (\n \n ),\n label: this.props.t('ra_Edit function'),\n onClick: () => {\n const enums = findEnumsForObjectAsIds(this.info, item.data.id, 'funcEnums');\n this.setState({\n enumDialogEnums: enums,\n enumDialog: {\n item,\n type: 'func',\n enumsOriginal: JSON.stringify(enums),\n },\n showContextMenu: null,\n });\n },\n },\n ROOM: {\n key: '6',\n visibility: !!enumEditable,\n icon: (\n \n ),\n label: this.props.t('ra_Edit room'),\n onClick: () => {\n const enums = findEnumsForObjectAsIds(this.info, item.data.id, 'roomEnums');\n this.setState({\n enumDialogEnums: enums,\n enumDialog: {\n item,\n type: 'room',\n enumsOriginal: JSON.stringify(enums),\n },\n showContextMenu: null,\n });\n },\n },\n ALIAS: {\n key: '7',\n visibility: !!(\n !this.props.notEditable &&\n this.props.objectBrowserAliasEditor &&\n this.props.objectBrowserEditObject &&\n obj?.type === 'state' &&\n // @ts-expect-error deprecated from js-controller 6\n obj.common?.type !== 'file'\n ),\n icon: (\n \n ),\n label:\n this.info.aliasesMap[item.data.id] || item.data.id.startsWith('alias.0.')\n ? this.props.t('ra_Edit alias')\n : this.props.t('ra_Create alias'),\n onClick: () => {\n if (obj?.common?.alias) {\n this.setState({ showContextMenu: null, editObjectDialog: item.data.id, editObjectAlias: true });\n } else {\n this.setState({ showContextMenu: null, showAliasEditor: item.data.id });\n }\n },\n },\n CREATE: {\n key: '+',\n visibility:\n (item.data.id.startsWith('0_userdata.0') || item.data.id.startsWith('javascript.')) &&\n (createStateVisible || createChannelVisible || createDeviceVisible || createFolderVisible),\n icon: (\n \n ),\n style: styles.contextMenuWithSubMenu,\n label: this.texts.create,\n subMenu: [\n {\n label: this.texts.createBooleanState,\n visibility: createStateVisible,\n icon: ,\n onClick: () => this.showAddDataPointDialog(item.data.id, 'state', 'boolean'),\n },\n {\n label: this.texts.createNumberState,\n visibility: createStateVisible,\n icon: ,\n onClick: () => this.showAddDataPointDialog(item.data.id, 'state', 'number'),\n },\n {\n label: this.texts.createStringState,\n visibility: createStateVisible,\n icon: ,\n onClick: () => this.showAddDataPointDialog(item.data.id, 'state', 'string'),\n },\n {\n label: this.texts.createState,\n visibility: createStateVisible,\n icon: ,\n onClick: () => this.showAddDataPointDialog(item.data.id, 'state'),\n },\n {\n label: this.texts.createChannel,\n visibility: createChannelVisible,\n icon: ,\n onClick: () => this.showAddDataPointDialog(item.data.id, 'channel'),\n },\n {\n label: this.texts.createDevice,\n visibility: createDeviceVisible,\n icon: ,\n onClick: () => this.showAddDataPointDialog(item.data.id, 'device'),\n },\n {\n label: this.texts.createFolder,\n icon: ,\n visibility: createFolderVisible,\n onClick: () => this.showAddDataPointDialog(item.data.id, 'folder'),\n },\n ],\n },\n DELETE: {\n key: 'Delete',\n visibility: !!(\n this.props.onObjectDelete &&\n (item.children?.length || (obj && !obj.common?.dontDelete))\n ),\n icon: (\n \n ),\n style: this.styles.contextMenuDelete,\n label: this.texts.deleteObject,\n onClick: () =>\n this.setState({ showContextMenu: null }, () =>\n this.showDeleteDialog({\n id,\n obj: obj || ({} as ioBroker.Object),\n item,\n }),\n ),\n },\n };\n\n Object.keys(ITEMS).forEach(key => {\n if (ITEMS[key].visibility) {\n if (ITEMS[key].subMenu) {\n items.push(\n ) =>\n this.state.showContextMenu &&\n this.setState({\n showContextMenu: {\n item: this.state.showContextMenu.item,\n position: this.state.showContextMenu.position,\n subItem: key,\n subAnchor: e.target as HTMLLIElement,\n },\n })\n }\n style={ITEMS[key].style}\n >\n \n {ITEMS[key].icon}\n \n \n {ITEMS[key].label}\n ...\n \n
\n \n
\n ,\n );\n\n if (this.state.showContextMenu?.subItem === key) {\n items.push(\n {\n if (this.state.showContextMenu) {\n this.setState({\n showContextMenu: {\n item: this.state.showContextMenu.item,\n position: this.state.showContextMenu.position,\n },\n });\n }\n this.contextMenu = null;\n }}\n >\n {ITEMS[key].subMenu?.map(subItem =>\n subItem.visibility ? (\n \n \n {subItem.icon}\n \n {subItem.label}\n \n ) : null,\n )}\n ,\n );\n }\n } else {\n items.push(\n \n \n {ITEMS[key].icon}\n \n {ITEMS[key].label}\n {ITEMS[key].key ? (\n
\n {`Alt+${ITEMS[key].key === 'Delete' ? this.props.t('ra_Del') : ITEMS[key].key}`}\n
\n ) : null}\n ,\n );\n }\n }\n });\n\n if (!items.length) {\n setTimeout(() => this.setState({ showContextMenu: null }), 100);\n return null;\n }\n\n return (\n {\n e.preventDefault();\n if (e.altKey) {\n Object.keys(ITEMS).forEach(key => {\n if (e.key === ITEMS[key].key && ITEMS[key].onClick) {\n ITEMS[key].onClick();\n }\n });\n }\n }}\n anchorReference=\"anchorPosition\"\n anchorPosition={this.state.showContextMenu.position}\n onClose={() => {\n this.setState({ showContextMenu: null });\n this.contextMenu = null;\n }}\n >\n {items}\n \n );\n }\n\n private renderEditValueDialog(): JSX.Element | null {\n if (!this.state.updateOpened || !this.props.objectBrowserValue) {\n return null;\n }\n\n if (!this.edit.id) {\n console.error(`Invalid ID for edit: ${JSON.stringify(this.edit)}`);\n return null;\n }\n\n if (!this.objects[this.edit.id]) {\n console.error(`Something went wrong. Possibly the object ${this.edit.id} was deleted.`);\n return null;\n }\n\n const type = this.objects[this.edit.id].common?.type\n ? this.objects[this.edit.id].common.type\n : typeof this.edit.val;\n\n const role = this.objects[this.edit.id].common.role;\n\n const ObjectBrowserValue = this.props.objectBrowserValue;\n\n return (\n {\n this.setState({ updateOpened: false });\n if (res) {\n this.onUpdate(res);\n }\n }}\n width={this.props.width}\n />\n );\n }\n\n /**\n * The rendering method of this component.\n */\n render(): JSX.Element {\n this.recordStates = [];\n if (this.unsubscribeTimer) {\n clearTimeout(this.unsubscribeTimer);\n }\n\n if (this.styleTheme !== this.props.themeType) {\n this.styles = {\n cellIdIconFolder: Utils.getStyle(this.props.theme, styles.cellIdIconFolder),\n cellIdIconDocument: Utils.getStyle(this.props.theme, styles.cellIdIconDocument),\n iconDeviceError: Utils.getStyle(this.props.theme, styles.iconDeviceError),\n iconDeviceConnected: Utils.getStyle(this.props.theme, styles.iconDeviceConnected),\n iconDeviceDisconnected: Utils.getStyle(this.props.theme, styles.iconDeviceDisconnected),\n cellButtonsButtonWithCustoms: Utils.getStyle(this.props.theme, styles.cellButtonsButtonWithCustoms),\n invertedBackground: Utils.getStyle(this.props.theme, styles.invertedBackground),\n invertedBackgroundFlex: Utils.getStyle(this.props.theme, styles.invertedBackgroundFlex),\n contextMenuEdit: Utils.getStyle(this.props.theme, styles.contextMenuEdit),\n contextMenuEditValue: Utils.getStyle(this.props.theme, styles.contextMenuEditValue),\n contextMenuView: Utils.getStyle(this.props.theme, styles.contextMenuView),\n contextMenuCustom: Utils.getStyle(this.props.theme, styles.contextMenuCustom),\n contextMenuACL: Utils.getStyle(this.props.theme, styles.contextMenuACL),\n contextMenuRoom: Utils.getStyle(this.props.theme, styles.contextMenuRoom),\n contextMenuRole: Utils.getStyle(this.props.theme, styles.contextMenuRole),\n contextMenuDelete: Utils.getStyle(this.props.theme, styles.contextMenuDelete),\n filterInput: Utils.getStyle(this.props.theme, styles.headerCellInput, styles.filterInput),\n iconCopy: Utils.getStyle(\n this.props.theme,\n styles.cellButtonsValueButton,\n styles.cellButtonsValueButtonCopy,\n ),\n aliasReadWrite: Utils.getStyle(this.props.theme, styles.cellIdAlias, styles.cellIdAliasReadWrite),\n aliasAlone: Utils.getStyle(this.props.theme, styles.cellIdAlias, styles.cellIdAliasAlone),\n };\n this.styleTheme = this.props.themeType;\n }\n\n // apply filter if changed\n const jsonFilter = JSON.stringify(this.state.filter);\n\n if (this.lastAppliedFilter !== jsonFilter && this.objects && this.root) {\n const counter = { count: 0 };\n\n applyFilter(\n this.root,\n this.state.filter,\n this.props.lang,\n this.objects,\n undefined,\n counter,\n this.props.customFilter,\n this.props.types,\n );\n\n if (counter.count < 500 && !this.state.expandAllVisible) {\n setTimeout(() => this.setState({ expandAllVisible: true }));\n } else if (counter.count >= 500 && this.state.expandAllVisible) {\n setTimeout(() => this.setState({ expandAllVisible: false }));\n }\n\n this.lastAppliedFilter = jsonFilter;\n }\n\n this.unsubscribeTimer = setTimeout(() => {\n this.unsubscribeTimer = null;\n this.checkUnsubscribes();\n }, 200);\n\n if (!this.state.loaded) {\n return ;\n }\n const items = this.root ? this.renderItem(this.root, undefined) : null;\n\n return (\n \n \n {this.getToolbar()}\n \n {this.renderHeader()}\n this.navigateKeyPress(event)}\n >\n {items}\n \n \n {this.renderContextMenu()}\n {this.renderAliasMenu()}\n {this.renderToast()}\n {this.renderColumnsEditCustomDialog()}\n {this.renderColumnsSelectorDialog()}\n {this.renderCustomDialog()}\n {this.renderEditValueDialog()}\n {this.renderEditObjectDialog()}\n {this.renderViewObjectFileDialog()}\n {this.renderAliasEditorDialog()}\n {this.renderEditRoleDialog()}\n {this.renderEnumDialog()}\n {this.renderErrorDialog()}\n {this.renderExportDialog()}\n {this.state.modalNewObj && this.props.modalNewObject && this.props.modalNewObject(this)}\n {this.state.modalEditOfAccess &&\n this.state.modalEditOfAccessObjData &&\n this.props.modalEditOfAccessControl &&\n this.props.modalEditOfAccessControl(this, this.state.modalEditOfAccessObjData)}\n \n );\n }\n}\n\nexport const ObjectBrowser = withWidth()(ObjectBrowserClass);\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\n// Icon copied from https://github.com/FortAwesome/Font-Awesome/blob/0d1f27efb836eb2ab994ba37221849ed64a73e5c/svgs/regular/\nexport const IconAdapter = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 512 512\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n);\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\nexport const IconChannel = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 320 320\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n \n \n \n \n \n);\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\nexport const IconCopy = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 512 512\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n);\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\nexport const IconDevice = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 320 320\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\n// Icon copied from https://github.com/FortAwesome/Font-Awesome/blob/0d1f27efb836eb2ab994ba37221849ed64a73e5c/svgs/regular/\nexport const IconDocument = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n);\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\n// Icon copied from https://github.com/FortAwesome/Font-Awesome/blob/0d1f27efb836eb2ab994ba37221849ed64a73e5c/svgs/regular/\nexport const IconDocumentReadOnly = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 512 512\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n \n);\n", "import React, { type JSX } from 'react';\nimport { type IconProps } from './IconProps';\n\nexport const IconState = (props: IconProps): JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 320 320\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n \n);\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\n// Copyright Apache 2.0 https://raw.githubusercontent.com/material-icons/material-icons/master/svg/filter_alt/baseline.svg\n// https://github.com/material-icons/material-icons/blob/master/LICENSE\nexport const IconClearFilter = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 24 24\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n);\n", "import React from 'react';\n\nimport { Grid2, Paper } from '@mui/material';\n\nconst styles: Record = {\n root: {\n width: '100%',\n height: '100%',\n },\n overflowHidden: {\n overflow: 'hidden',\n },\n container: {\n height: '100%',\n },\n};\n\ninterface TabContainerProps {\n /* The elevation of the tab container. */\n elevation?: number;\n /* Set to 'visible' show the overflow. */\n overflow?: string;\n styles?: {\n root?: React.CSSProperties;\n container?: React.CSSProperties;\n };\n onKeyDown?: (event: React.KeyboardEvent) => void;\n tabIndex?: number;\n /** The content of the component. */\n children: React.ReactNode;\n}\n\nexport function TabContainer(props: TabContainerProps): React.JSX.Element {\n return (\n \n \n {props.children}\n \n \n );\n}\n", "// please do not delete React, as without it other projects could not be compiled: ReferenceError: React is not defined\nimport React from 'react';\nimport { Grid2 } from '@mui/material';\n\nconst styles: Record = {\n root: {\n height: '100%',\n overflow: 'hidden',\n },\n overflowAuto: {\n overflow: 'auto',\n },\n};\n\ninterface TabContentProps {\n /** The content of the component. */\n children: React.JSX.Element | (React.JSX.Element | null | React.JSX.Element[])[];\n /** Overflow behavior */\n overflow?: 'auto';\n style?: React.CSSProperties;\n ref?: React.RefObject;\n}\n\nexport function TabContent(props: TabContentProps): React.JSX.Element {\n return (\n \n {props.children}\n \n );\n}\n", "import React from 'react';\n\nimport { Grid2 } from '@mui/material';\n\ninterface TabHeaderProps {\n children: React.ReactNode;\n}\n\nexport function TabHeader(props: TabHeaderProps): React.JSX.Element {\n return (\n \n {props.children}\n \n );\n}\n", "import React, { Component, type JSX } from 'react';\n\nimport {\n Input,\n Radio,\n FormControlLabel,\n FormGroup,\n Checkbox,\n MenuItem,\n Select,\n TextField,\n Box,\n type Theme,\n} from '@mui/material';\n\nimport { I18n } from '../i18n';\nimport type { IobTheme } from '../types';\nimport { Utils } from './Utils';\n\nconst styles: Record = {\n hr: {\n border: 0,\n borderTop: '1px solid gray',\n },\n scrollWindow: {\n width: '100%',\n overflow: 'auto',\n height: 'calc(100% - 22px)',\n },\n rowDiv: {\n width: '100%',\n },\n modeDiv: {\n width: 200,\n display: 'inline-block',\n verticalAlign: 'top',\n },\n settingsDiv: {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n inputTime: {\n width: 90,\n marginTop: 0,\n marginLeft: 5,\n },\n inputDate: {\n width: 140,\n marginTop: 0,\n marginLeft: 5,\n },\n inputEvery: {\n width: 40,\n marginLeft: 5,\n marginRight: 5,\n },\n inputRadio: {\n padding: '4px 12px',\n verticalAlign: 'top',\n },\n inputGroup: {\n maxWidth: 400,\n display: 'inline-block',\n },\n inputGroupElement: {\n width: 120,\n },\n inputDateDay: {\n width: 60,\n },\n inputDateDayCheck: {\n padding: 4,\n },\n inputSmallCheck: {\n padding: 0,\n },\n rowOnce: {},\n rowDays: (theme: IobTheme) => ({\n background: theme.palette.mode !== 'dark' ? '#ddeaff' : '#4b5057',\n }),\n rowDows: (theme: IobTheme) => ({\n background: theme.palette.mode !== 'dark' ? '#DDFFDD' : '#52646c',\n }),\n rowDates: (theme: IobTheme) => ({\n background: theme.palette.mode !== 'dark' ? '#DDDDFF' : '#747a86',\n }),\n rowWeeks: (theme: IobTheme) => ({\n background: theme.palette.mode !== 'dark' ? '#DDDDFF' : '#717680',\n }),\n rowMonths: (theme: IobTheme) => ({\n background: theme.palette.mode !== 'dark' ? '#DDFFFF' : '#1f5557',\n }),\n rowMonthsDates: (theme: IobTheme) => ({\n background: theme.palette.mode !== 'dark' ? '#EEFFFF' : '#3c5737',\n maxWidth: 600,\n }),\n rowYears: (theme: IobTheme) => ({\n background: theme.palette.mode !== 'dark' ? '#fbffdd' : '#574b33',\n }),\n rowDaysDows: (theme: IobTheme) => ({\n background: theme.palette.mode !== 'dark' ? '#EEEAFF' : '#573544',\n pl: '10px',\n pb: '10px',\n }),\n rowDowsDows: (theme: IobTheme) => ({\n background: theme.palette.mode !== 'dark' ? '#EEFFEE' : '#3d4c54',\n pl: '10px',\n pb: '10px',\n }),\n};\n\nconst WEEKDAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];\nconst MONTHS = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n];\nconst PERIODS = {\n minutes: 'minutes',\n hours: 'hours',\n};\nconst ASTRO = [\n 'sunrise',\n 'sunriseEnd',\n 'goldenHourEnd',\n 'solarNoon',\n 'goldenHour',\n 'sunsetStart',\n 'sunset',\n 'dusk',\n 'nauticalDusk',\n 'night',\n 'nightEnd',\n 'nauticalDawn',\n 'dawn',\n 'nadir',\n];\n\nfunction padding(num: number): string {\n if (num < 10) {\n return `0${num}`;\n }\n return `${num}`;\n}\n\nexport interface ScheduleConfig {\n time: {\n exactTime: boolean;\n start: string;\n end: string;\n mode: string;\n interval: number;\n };\n period: {\n once: string;\n days: number;\n dows: string;\n dates: string;\n weeks: number;\n months: string | number;\n years: number;\n yearMonth: number;\n yearDate: number;\n };\n valid: {\n from: string;\n to?: string;\n };\n}\n\n// interface TextTimeProps {\n// inputRef: React.RefObject;\n// placeholder?: string;\n// }\n\n// function TextTime(props: TextTimeProps) {\n// const { inputRef, ...other } = props;\n//\n// return ;\n// }\n\n// function TextDate(props: TextTimeProps) {\n// const { inputRef, ...other } = props;\n//\n// return ;\n// }\n\nconst DEFAULT: ScheduleConfig = {\n time: {\n exactTime: false,\n\n start: '00:00',\n end: '23:59',\n\n mode: 'hours',\n interval: 1,\n },\n period: {\n once: '',\n days: 1,\n dows: '',\n dates: '',\n weeks: 0,\n months: '',\n\n years: 0,\n yearMonth: 0,\n yearDate: 0,\n },\n valid: {\n from: '',\n to: '',\n },\n};\n\nfunction string2USdate(date: string): string {\n const parts = date.split('.');\n if (parts.length === 3) {\n return `${parts[2]}-${parts[1]}-${parts[0]}`;\n }\n return '';\n}\n\ninterface ScheduleProps {\n schedule: string | ScheduleConfig;\n onChange: (schedule: string, desc?: string) => void;\n theme: IobTheme;\n}\n\ninterface ScheduleState {\n schedule: ScheduleConfig;\n desc: string;\n}\n\nexport class Schedule extends Component {\n private readonly refFrom: React.RefObject;\n\n private readonly refTo: React.RefObject;\n\n private readonly refOnce: React.RefObject;\n\n private timerOnce: ReturnType | null = null;\n\n private timerFrom: ReturnType | null = null;\n\n private timerTo: ReturnType | null = null;\n\n constructor(props: ScheduleProps) {\n super(props);\n let schedule: ScheduleConfig | undefined;\n if (this.props.schedule && typeof this.props.schedule === 'string' && this.props.schedule[0] === '{') {\n try {\n schedule = JSON.parse(this.props.schedule);\n } catch {\n // ignore\n }\n } else if (typeof this.props.schedule === 'object') {\n schedule = this.props.schedule;\n }\n\n if (!schedule || !Object.keys(schedule).length) {\n setTimeout(() => this.onChange(this.state.schedule, true), 200);\n schedule = DEFAULT;\n }\n schedule = { ...DEFAULT, ...schedule };\n schedule.valid.from = schedule.valid.from || Schedule.now2string();\n\n this.refFrom = React.createRef();\n this.refTo = React.createRef();\n this.refOnce = React.createRef();\n\n this.state = {\n schedule,\n desc: Schedule.state2text(schedule),\n };\n\n if (JSON.stringify(schedule) !== this.props.schedule) {\n setTimeout(() => this.props.onChange && this.props.onChange(JSON.stringify(schedule)), 100);\n }\n }\n\n onChange(schedule: ScheduleConfig, force?: boolean): void {\n const isDiff = JSON.stringify(schedule) !== JSON.stringify(this.state.schedule);\n if (force || isDiff) {\n isDiff && this.setState({ schedule, desc: Schedule.state2text(schedule) });\n const copy = JSON.parse(JSON.stringify(schedule));\n if (copy.period.once) {\n const once = copy.period.once;\n delete copy.period;\n copy.period = { once };\n delete copy.valid;\n } else if (copy.period.days) {\n const days = copy.period.days;\n const daysOfWeek = copy.period.dows;\n delete copy.period;\n copy.period = { days };\n if (daysOfWeek && daysOfWeek !== '[]') {\n copy.period.dows = daysOfWeek;\n }\n } else if (copy.period.weeks) {\n const weeks = copy.period.weeks;\n const daysOfWeek = copy.period.dows;\n delete copy.period;\n copy.period = { weeks };\n if (daysOfWeek && daysOfWeek !== '[]') {\n copy.period.dows = daysOfWeek;\n }\n } else if (copy.period.months) {\n const months = copy.period.months;\n const dates = copy.period.dates;\n delete copy.period;\n copy.period = { months };\n if (dates && dates !== '[]') {\n copy.period.dates = dates;\n }\n } else if (copy.period.years) {\n const years = copy.period.years;\n const yearMonth = copy.period.yearMonth;\n const yearDate = copy.period.yearDate;\n delete copy.period;\n copy.period = { years, yearDate };\n if (yearMonth) {\n copy.period.yearMonth = yearMonth;\n }\n }\n\n if (copy.time.exactTime) {\n delete copy.time.end;\n delete copy.time.mode;\n delete copy.time.interval;\n } else {\n delete copy.time.exactTime;\n }\n if (copy.valid) {\n if (!copy.valid.to) {\n delete copy.valid.to;\n }\n if (\n copy.period.days === 1 ||\n copy.period.weeks === 1 ||\n copy.period.months === 1 ||\n copy.period.years === 1\n ) {\n const from = Schedule.string2date(copy.valid.from);\n const today = new Date();\n today.setHours(0);\n today.setMinutes(0);\n today.setSeconds(0);\n today.setMilliseconds(0);\n if (from <= today) {\n delete copy.valid.from;\n }\n }\n if (!copy.valid.from && !copy.valid.to) {\n delete copy.valid;\n }\n }\n\n this.props.onChange && this.props.onChange(JSON.stringify(copy), Schedule.state2text(schedule));\n }\n }\n\n static state2text(schedule: string | ScheduleConfig): string {\n if (typeof schedule === 'string') {\n try {\n schedule = JSON.parse(schedule) as ScheduleConfig;\n } catch {\n return '';\n }\n }\n\n const desc = [];\n const validFrom = Schedule.string2date(schedule.valid.from);\n if (schedule.period.once) {\n // once\n const once = Schedule.string2date(schedule.period.once);\n const now = new Date();\n now.setMilliseconds(0);\n now.setSeconds(0);\n now.setMinutes(0);\n now.setHours(0);\n\n //\n if (once < now) {\n // will be not executed anymore, because start is in the past\n return I18n.t('sch_desc_onceInPast');\n }\n // only once\n desc.push(I18n.t('sch_desc_once_on', schedule.period.once));\n } else if (schedule.period.days) {\n if (schedule.period.days === 1) {\n if (schedule.period.dows) {\n const daysOfWeek = JSON.parse(schedule.period.dows);\n if (daysOfWeek.length === 2 && daysOfWeek[0] === 0 && daysOfWeek[1] === 6) {\n // on weekends\n desc.push(I18n.t('sch_desc_onWeekends'));\n } else if (\n daysOfWeek.length === 5 &&\n daysOfWeek[0] === 1 &&\n daysOfWeek[1] === 2 &&\n daysOfWeek[2] === 3 &&\n daysOfWeek[3] === 4 &&\n daysOfWeek[4] === 5\n ) {\n // on workdays\n desc.push(I18n.t('sch_desc_onWorkdays'));\n } else {\n const tDows = daysOfWeek.map((day: number) => I18n.t(WEEKDAYS[day]));\n if (tDows.length === 1) {\n // on Monday\n desc.push(I18n.t('sch_desc_onWeekday', tDows[0]));\n } else if (tDows.length === 7) {\n // on every day\n desc.push(I18n.t('sch_desc_everyDay'));\n } else {\n const last = tDows.pop();\n // on Monday and Sunday\n desc.push(I18n.t('sch_desc_onWeekdays', tDows.join(', '), last));\n }\n }\n } else {\n desc.push(I18n.t('sch_desc_everyDay'));\n }\n } else {\n desc.push(I18n.t('sch_desc_everyNDay', schedule.period.days.toString()));\n }\n } else if (schedule.period.weeks) {\n if (schedule.period.weeks === 1) {\n desc.push(I18n.t('sch_desc_everyWeek'));\n } else {\n desc.push(I18n.t('sch_desc_everyNWeeks', schedule.period.weeks.toString()));\n }\n\n if (schedule.period.dows) {\n const daysOfWeek = JSON.parse(schedule.period.dows);\n if (daysOfWeek.length === 2 && daysOfWeek[0] === 0 && daysOfWeek[1] === 6) {\n // on weekends\n desc.push(I18n.t('sch_desc_onWeekends'));\n } else if (\n daysOfWeek.length === 5 &&\n daysOfWeek[0] === 1 &&\n daysOfWeek[1] === 2 &&\n daysOfWeek[2] === 3 &&\n daysOfWeek[3] === 4 &&\n daysOfWeek[4] === 5\n ) {\n // on workdays\n desc.push(I18n.t('sch_desc_onWorkdays'));\n } else {\n const tDows = daysOfWeek.map((day: number) => I18n.t(WEEKDAYS[day]));\n if (tDows.length === 1) {\n // on Monday\n desc.push(I18n.t('sch_desc_onWeekday', tDows[0]));\n } else if (tDows.length === 7) {\n // on every day\n desc.push(I18n.t('sch_desc_everyDay'));\n } else {\n const last = tDows.pop();\n // on Monday and Sunday\n desc.push(I18n.t('sch_desc_onWeekdays', tDows.join(', '), last));\n }\n }\n } else {\n return I18n.t('sch_desc_never');\n }\n } else if (schedule.period.months) {\n if (schedule.period.dates) {\n const dates = JSON.parse(schedule.period.dates);\n if (dates.length === 1) {\n // in 1 of month\n desc.push(I18n.t('sch_desc_onDate', dates[0]));\n } else if (dates.length === 31) {\n desc.push(I18n.t('sch_desc_onEveryDate'));\n } else if (!dates.length) {\n return I18n.t('sch_desc_never');\n } else {\n const last = dates.pop();\n // in 1 and 4 of month\n desc.push(I18n.t('sch_desc_onDates', dates.join(', '), last));\n }\n } else {\n desc.push(I18n.t('sch_desc_onEveryDate'));\n }\n\n if (schedule.period.months === 1) {\n desc.push(I18n.t('sch_desc_everyMonth'));\n } else if (typeof schedule.period.months === 'number') {\n desc.push(I18n.t('sch_desc_everyNMonths', schedule.period.months.toString()));\n } else {\n const months = JSON.parse(schedule.period.months);\n const tMonths = months.map((month: number) => I18n.t(MONTHS[month - 1]));\n if (!tMonths.length) {\n // in January\n return I18n.t('sch_desc_never');\n }\n if (tMonths.length === 1) {\n // in January\n desc.push(I18n.t('sch_desc_onMonth', tMonths[0]));\n } else if (tMonths.length === 12) {\n // every month\n desc.push(I18n.t('sch_desc_everyMonth'));\n } else {\n const last = tMonths.pop();\n // in January and May\n desc.push(I18n.t('sch_desc_onMonths', tMonths.join(', '), last));\n }\n }\n } else if (schedule.period.years) {\n if (schedule.period.years === 1) {\n desc.push(I18n.t('sch_desc_everyYear'));\n } else {\n desc.push(I18n.t('sch_desc_everyNYears', schedule.period.years.toString()));\n }\n desc.push(\n I18n.t(\n 'sch_desc_onDate',\n schedule.period.yearDate.toString(),\n schedule.period.yearMonth\n ? I18n.t(MONTHS[schedule.period.yearMonth - 1])\n : I18n.t('sch_desc_everyMonth'),\n ),\n );\n }\n\n // time\n if (schedule.time.exactTime) {\n if (ASTRO.includes(schedule.time.start)) {\n // at sunset\n desc.push(I18n.t('sch_desc_atTime', I18n.t(`sch_astro_${schedule.time.start}`)));\n } else {\n // at HH:MM\n desc.push(I18n.t('sch_desc_atTime', schedule.time.start));\n }\n } else {\n if (schedule.time.mode === PERIODS.minutes) {\n if (schedule.time.interval === 1) {\n // every minute\n desc.push(I18n.t('sch_desc_everyMinute'));\n } else {\n // every N minute\n desc.push(I18n.t('sch_desc_everyNMinutes', schedule.time.interval.toString()));\n }\n } else if (schedule.time.interval === 1) {\n // every minute\n desc.push(I18n.t('sch_desc_everyHour'));\n } else {\n // every N minute\n desc.push(I18n.t('sch_desc_everyNHours', schedule.time.interval.toString()));\n }\n\n const start =\n ASTRO.indexOf(schedule.time.start) !== -1\n ? I18n.t(`sch_astro_${schedule.time.start}`)\n : schedule.time.start;\n const end =\n ASTRO.indexOf(schedule.time.end) !== -1 ? I18n.t(`sch_astro_${schedule.time.end}`) : schedule.time.end;\n if (start !== '00:00' || (end !== '24:00' && end !== '23:59')) {\n // from HH:mm to HH:mm\n desc.push(I18n.t('sch_desc_intervalFromTo', start, end));\n }\n }\n\n if (!schedule.period.once) {\n // valid\n if (validFrom.getTime() > Date.now() && schedule.valid.to) {\n // from XXX to XXXX\n desc.push(I18n.t('sch_desc_validFromTo', schedule.valid.from, schedule.valid.to));\n } else if (validFrom.getTime() > Date.now()) {\n // from XXXX\n desc.push(I18n.t('sch_desc_validFrom', schedule.valid.from));\n } else if (schedule.valid.to) {\n // till XXXX\n desc.push(I18n.t('sch_desc_validTo', schedule.valid.to));\n }\n }\n return desc.join(' ');\n }\n\n getTimePeriodElements(): JSX.Element {\n const schedule = this.state.schedule;\n let wholeDay = false;\n let day = false;\n let night = false;\n let fromTo = true;\n if (schedule.time.start === '00:00' && schedule.time.end === '24:00') {\n wholeDay = true;\n fromTo = false;\n } else if (schedule.time.start === 'sunrise') {\n day = true;\n fromTo = false;\n } else if (schedule.time.start === 'sunset') {\n night = true;\n fromTo = false;\n }\n\n return (\n \n
\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.exactTime = false;\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_intervalTime')}\n />\n
\n
\n
\n {!schedule.time.exactTime && (\n
\n
\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = '00:00';\n _schedule.time.end = '23:59';\n this.onChange(_schedule);\n }}\n />\n }\n label={!fromTo ? I18n.t('sch_fromTo') : ''}\n />\n {fromTo && [\n ({\n '& input[type=\"time\"]::-webkit-calendar-picker-indicator': {\n filter: theme.palette.mode === 'dark' ? 'invert(80%)' : undefined,\n },\n })}\n value={this.state.schedule.time.start}\n // InputProps={{inputComponent: TextTime}}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n slotProps={{\n inputLabel: { shrink: true },\n }}\n label={I18n.t('sch_from')}\n margin=\"normal\"\n />,\n ({\n '& input[type=\"time\"]::-webkit-calendar-picker-indicator': {\n filter: theme.palette.mode === 'dark' ? 'invert(80%)' : undefined,\n },\n })}\n value={this.state.schedule.time.end}\n // InputProps={{inputComponent: TextTime}}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.end = e.target.value;\n this.onChange(_schedule);\n }}\n slotProps={{\n inputLabel: { shrink: true },\n }}\n label={I18n.t('sch_to')}\n margin=\"normal\"\n />,\n ]}\n
\n
\n )}\n\n {!schedule.time.exactTime && (\n
\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = '00:00';\n _schedule.time.end = '24:00';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_wholeDay')}\n />\n
\n )}\n\n {!schedule.time.exactTime && (\n
\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = 'sunrise';\n _schedule.time.end = 'sunset';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_astroDay')}\n />\n
\n )}\n\n {!schedule.time.exactTime && (\n
\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = 'sunset';\n _schedule.time.end = 'sunrise';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_astroNight')}\n />\n
\n )}\n
\n {!schedule.time.exactTime && this.getPeriodSettingsMinutes(fromTo)}\n
\n \n );\n }\n\n getTimeExactElements(): JSX.Element {\n const isAstro = ASTRO.includes(this.state.schedule.time.start);\n\n return (\n \n
\n {\n const schedule = JSON.parse(JSON.stringify(this.state.schedule));\n schedule.time.exactTime = true;\n this.onChange(schedule);\n }}\n />\n }\n label={I18n.t('sch_exactTime')}\n />\n
\n {this.state.schedule.time.exactTime && (\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n >\n \n {I18n.t('sch_specificTime')}\n \n {ASTRO.map(event => (\n \n {I18n.t(`sch_astro_${event}`)}\n \n ))}\n \n )}\n {this.state.schedule.time.exactTime && !isAstro && (\n
\n ({\n '& input[type=\"time\"]::-webkit-calendar-picker-indicator': {\n filter: theme.palette.mode === 'dark' ? 'invert(80%)' : undefined,\n },\n })}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n slotProps={{\n inputLabel: { shrink: true },\n }}\n margin=\"normal\"\n />\n
\n )}\n \n );\n }\n\n static getDivider(): JSX.Element {\n return
;\n }\n\n getPeriodModes(): JSX.Element[] {\n const schedule = this.state.schedule;\n const isOnce =\n !schedule.period.dows &&\n !schedule.period.months &&\n !schedule.period.dates &&\n !schedule.period.years &&\n !schedule.period.days &&\n !schedule.period.weeks;\n\n if (isOnce && !schedule.period.once) {\n schedule.period.once = Schedule.now2string(true);\n }\n\n return [\n // ----- once ---\n \n
\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.once = _schedule.period.once || Schedule.now2string(true);\n _schedule.period.dows = '';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodOnce')}\n />\n
\n {isOnce && (\n
\n {\n this.timerOnce && clearTimeout(this.timerOnce);\n this.timerOnce = null;\n\n if (this.refOnce.current) {\n this.refOnce.current.style.background = '#ff000030';\n }\n this.timerOnce = setTimeout(\n value => {\n this.timerOnce = null;\n if (this.refOnce.current) {\n this.refOnce.current.style.background = '';\n }\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.period.once = `${padding(date.getDate())}.${padding(date.getMonth() + 1)}.${date.getFullYear()}`;\n this.onChange(_schedule);\n }\n },\n 1500,\n e.target.value,\n );\n }}\n slotProps={{\n inputLabel: { shrink: true },\n }}\n label={I18n.t('sch_at')}\n margin=\"normal\"\n />\n
\n )}\n ,\n\n // ----- days ---\n \n
\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 1;\n _schedule.period.dows = '';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodDaily')}\n />\n
\n
\n {this.getPeriodSettingsDaily()}\n {schedule.period.days ? this.getPeriodSettingsWeekdays() : null}\n
\n ,\n\n // ----- days of weeks ---\n /*\n !schedule.period.days && (\n
\n
\n {\n const schedule = JSON.parse(JSON.stringify(this.state.schedule));\n schedule.period.dows = schedule.period.dows ? '' : '[0,1,2,3,4,5,6]';\n this.onChange(schedule);\n }}/>}\n label={I18n.t('sch_periodWeekdays')} />\n
\n
\n {this.getPeriodSettingsWeekdays()}\n
\n
,\n */\n // ----- weeks ---\n \n
\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = schedule.period.weeks ? 0 : 1;\n _schedule.period.dows = schedule.period.dows || '[0]';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodWeekly')}\n />\n
\n \n
{this.getPeriodSettingsWeekly()}
\n \n {this.state.schedule.period.weeks ? this.getPeriodSettingsWeekdays() : null}\n \n \n ,\n\n // ----- months ---\n \n
\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 1;\n _schedule.period.dows = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodMonthly')}\n />\n
\n
\n {this.getPeriodSettingsMonthly()}\n {schedule.period.months ? (\n \n \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = _schedule.period.months || 1;\n const dates = [];\n for (let i = 1; i <= 31; i++) {\n dates.push(i);\n }\n _schedule.period.dates =\n _schedule.period.dates || JSON.stringify(dates);\n _schedule.period.dows = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodDates')}\n />\n \n \n {this.getPeriodSettingsDates()}\n \n \n ) : null}\n
\n ,\n\n // ----- years ---\n \n
\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 1;\n _schedule.period.yearDate = 1;\n _schedule.period.yearMonth = 1;\n _schedule.period.dows = '';\n _schedule.period.months = 0;\n _schedule.period.dates = '';\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodYearly')}\n />\n
\n
\n
{this.getPeriodSettingsYearly()}
\n {!!schedule.period.years && (\n
\n {I18n.t('sch_on')}\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.yearDate = parseInt(e.target.value, 10);\n if (_schedule.period.yearDate < 1) {\n _schedule.period.yearDate = 31;\n }\n if (_schedule.period.yearDate > 31) {\n _schedule.period.yearDate = 1;\n }\n this.onChange(_schedule);\n }}\n />\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.yearMonth = e.target.value;\n this.onChange(_schedule);\n }}\n >\n \n {I18n.t('sch_yearEveryMonth')}\n \n {MONTHS.map((month, i) => (\n \n {I18n.t(month)}\n \n ))}\n \n
\n )}\n
\n ,\n ];\n }\n\n getPeriodSettingsMinutes(fromTo: boolean): JSX.Element {\n return (\n
\n \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.interval = parseInt(e.target.value, 10);\n this.onChange(_schedule);\n }}\n />\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.mode = e.target.value;\n this.onChange(_schedule);\n }}\n >\n {I18n.t('sch_periodMinutes')}\n {I18n.t('sch_periodHours')}\n \n
\n );\n }\n\n getPeriodSettingsWeekdays(): JSX.Element[] {\n // || this.state.schedule.period.dows === '[1, 2, 3, 4, 5]' || this.state.schedule.period.dows === '[0, 6]'\n const schedule = this.state.schedule;\n const isSpecific =\n schedule.period.dows && schedule.period.dows !== '[1, 2, 3, 4, 5]' && schedule.period.dows !== '[0, 6]';\n return [\n
\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[1, 2, 3, 4, 5]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodWorkdays')}\n />\n
,\n\n
\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[0, 6]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodWeekend')}\n />\n
,\n\n \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[0, 1, 2, 3, 4, 5, 6]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodWeekdays')}\n />\n {isSpecific && (schedule.period.days === 1 || schedule.period.weeks) && (\n \n {[1, 2, 3, 4, 5, 6, 0].map(i => (\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let daysOfWeek: number[];\n try {\n daysOfWeek = JSON.parse(_schedule.period.dows);\n } catch {\n daysOfWeek = [];\n }\n if (e.target.checked && !daysOfWeek.includes(i)) {\n daysOfWeek.push(i);\n } else if (!e.target.checked && daysOfWeek.includes(i)) {\n daysOfWeek.splice(daysOfWeek.indexOf(i), 1);\n }\n daysOfWeek.sort((a: number, b: number) => a - b);\n _schedule.period.dows = JSON.stringify(daysOfWeek);\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t(WEEKDAYS[i])}\n />\n ))}\n \n )}\n ,\n ];\n }\n\n getPeriodSettingsDaily(): JSX.Element[] | null {\n if (!this.state.schedule.period.days) {\n return null;\n }\n const schedule = this.state.schedule;\n return [\n
\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 1;\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodEveryDay')}\n />\n
,\n
\n 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 2;\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodEvery')}\n />\n {schedule.period.days > 1 && [\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = parseInt(e.target.value, 10);\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}\n />,\n \n {I18n.t('sch_periodDay')}\n ,\n ]}\n
,\n ];\n }\n\n getPeriodSettingsWeekly(): JSX.Element[] | null {\n if (!this.state.schedule.period.weeks) {\n return null;\n }\n const schedule = this.state.schedule;\n return [\n \n
\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = 1;\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodEveryWeek')}\n />\n
\n
\n 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = 2;\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodEvery')}\n />\n {schedule.period.weeks > 1 && [\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = parseInt(e.target.value, 10);\n this.onChange(_schedule);\n }}\n />,\n {I18n.t('sch_periodWeek')},\n ]}\n
\n ,\n ];\n }\n\n getPeriodSettingsDates(): JSX.Element | null {\n if (!this.state.schedule.period.dates) {\n return null;\n }\n const schedule = this.state.schedule;\n\n const dates = [];\n for (let i = 1; i <= 31; i++) {\n dates.push(i);\n }\n\n const parsedDates = JSON.parse(schedule.period.dates);\n\n return (\n \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const _dates = [];\n for (let i = 1; i <= 31; i++) {\n _dates.push(i);\n }\n _schedule.period.dates = JSON.stringify(_dates);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_all')}\n />\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dates = '[]';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_no_one')}\n />\n {parsedDates.length !== 31 && !!parsedDates.length && (\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const result = [];\n const _parsedDates = JSON.parse(_schedule.period.dates);\n for (let i = 1; i <= 31; i++) {\n if (!_parsedDates.includes(i)) {\n result.push(i);\n }\n }\n result.sort((a, b) => a - b);\n _schedule.period.dates = JSON.stringify(result);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_invert')}\n />\n )}\n
\n {dates.map(i => (\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let _dates;\n try {\n _dates = JSON.parse(_schedule.period.dates);\n } catch {\n _dates = [];\n }\n if (e.target.checked && !_dates.includes(i)) {\n _dates.push(i);\n } else if (!e.target.checked && _dates.includes(i)) {\n _dates.splice(_dates.indexOf(i), 1);\n }\n _dates.sort((a: number, b: number) => a - b);\n _schedule.period.dates = JSON.stringify(_dates);\n this.onChange(_schedule);\n }}\n />\n }\n label={\n i < 10\n ? [\n \n 0\n ,\n {i},\n ]\n : i\n }\n />\n ))}\n \n );\n }\n\n getPeriodSettingsMonthly(): JSX.Element[] | null {\n if (!this.state.schedule.period.months) {\n return null;\n }\n const schedule = this.state.schedule;\n const parsedMonths = typeof schedule.period.months === 'string' ? JSON.parse(schedule.period.months) : [];\n\n return [\n
\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 1;\n this.onChange(schedule);\n }}\n />\n }\n label={I18n.t('sch_periodEveryMonth')}\n />\n
,\n
\n 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 2;\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodEvery')}\n />\n {typeof schedule.period.months === 'number' &&\n schedule.period.months > 1 && [\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = parseInt(e.target.value, 10);\n if (_schedule.period.months < 1) {\n _schedule.period.months = 1;\n }\n this.onChange(_schedule);\n }}\n />,\n {I18n.t('sch_periodMonth')},\n ]}\n
,\n \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = '[1,2,3,4,5,6,7,8,9,10,11,12]';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodSpecificMonths')}\n />\n {typeof schedule.period.months === 'string' && (\n \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const months = [];\n for (let i = 1; i <= 12; i++) {\n months.push(i);\n }\n _schedule.period.months = JSON.stringify(months);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_all')}\n />\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = '[]';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_no_one')}\n />\n {parsedMonths.length !== 12 && !!parsedMonths.length && (\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const result = [];\n const _parsedMonths = JSON.parse(_schedule.period.months);\n for (let i = 1; i <= 12; i++) {\n if (!_parsedMonths.includes(i)) {\n result.push(i);\n }\n }\n result.sort((a, b) => a - b);\n _schedule.period.months = JSON.stringify(result);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_invert')}\n />\n )}\n
\n {MONTHS.map((month, i) => (\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let months;\n try {\n months = JSON.parse(_schedule.period.months);\n } catch {\n months = [];\n }\n if (e.target.checked && !months.includes(i + 1)) {\n months.push(i + 1);\n } else if (!e.target.checked && months.includes(i + 1)) {\n months.splice(months.indexOf(i + 1), 1);\n }\n months.sort((a: number, b: number) => a - b);\n _schedule.period.months = JSON.stringify(months);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t(month)}\n />\n ))}\n \n )}\n
,\n ];\n }\n\n getPeriodSettingsYearly(): JSX.Element[] | null {\n if (!this.state.schedule.period.years) {\n return null;\n }\n const schedule = this.state.schedule;\n return [\n
\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 1;\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodEveryYear')}\n />\n
,\n
\n 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 2;\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodEvery')}\n />\n {schedule.period.years > 1 && [\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = parseInt(e.target.value, 10);\n if (_schedule.period.years < 1) {\n _schedule.period.years = 1;\n }\n this.onChange(_schedule);\n }}\n />,\n {I18n.t('sch_periodYear')},\n ]}\n
,\n ];\n }\n\n static now2string(isEnd?: boolean): string {\n const d = new Date();\n d.setHours(0);\n d.setMinutes(0);\n d.setSeconds(0);\n d.setMilliseconds(0);\n if (isEnd) {\n d.setDate(d.getDate() + 2);\n d.setMilliseconds(d.getMilliseconds() - 1);\n }\n\n return `${padding(d.getDate())}.${padding(d.getMonth() + 1)}.${padding(d.getFullYear())}`;\n }\n\n static string2date(str: string): Date {\n let parts = str.split('.'); // 31.12.2019\n if (parts.length === 1) {\n parts = str.split('-'); // 2018-12-31\n return new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10));\n }\n return new Date(parseInt(parts[2], 10), parseInt(parts[1], 10) - 1, parseInt(parts[0], 10));\n }\n\n getValidSettings(): JSX.Element {\n const schedule = this.state.schedule;\n // ----- from ---\n return (\n
\n
\n {I18n.t('sch_valid')}\n {I18n.t('sch_validFrom')}\n
\n
\n {\n this.timerFrom && clearTimeout(this.timerFrom);\n\n if (this.refFrom.current) {\n this.refFrom.current.style.background = '#ff000030';\n }\n\n this.timerFrom = setTimeout(\n value => {\n this.timerFrom = null;\n if (this.refFrom.current) {\n this.refFrom.current.style.background = '';\n }\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.valid.from = `${padding(date.getDate())}.${padding(date.getMonth() + 1)}.${date.getFullYear()}`;\n this.onChange(_schedule);\n }\n },\n 1500,\n e.target.value,\n );\n }}\n slotProps={{\n inputLabel: { shrink: true },\n }}\n margin=\"normal\"\n />\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.valid.to = _schedule.valid.to ? '' : Schedule.now2string(true);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_validTo')}\n />\n {!!schedule.valid.to && (\n {\n this.timerTo && clearTimeout(this.timerTo);\n\n if (this.refTo.current) {\n this.refTo.current.style.background = '#ff000030';\n }\n this.timerTo = setTimeout(\n value => {\n this.timerTo = null;\n if (this.refTo.current) {\n this.refTo.current.style.background = '';\n }\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.valid.to = `${padding(date.getDate())}.${padding(date.getMonth() + 1)}.${date.getFullYear()}`;\n this.onChange(_schedule);\n }\n },\n 1500,\n e.target.value,\n );\n }}\n slotProps={{\n inputLabel: { shrink: true },\n }}\n margin=\"normal\"\n />\n )}\n
\n
\n );\n }\n\n render(): JSX.Element {\n return (\n
\n
{this.state.desc}
\n
\n
{I18n.t('sch_time')}
\n {this.getTimePeriodElements()}\n {this.getTimeExactElements()}\n {Schedule.getDivider()}\n
{I18n.t('sch_period')}
\n {this.getPeriodModes()}\n {!this.state.schedule.period.once && Schedule.getDivider()}\n {!this.state.schedule.period.once && this.getValidSettings()}\n
\n
\n );\n }\n}\n", "import React, { Component } from 'react';\n\nimport { FormControl, InputLabel, MenuItem, Select } from '@mui/material';\nimport type { InputProps } from '@mui/material/Input';\n\nimport type { ThemeType, Translate } from '../types';\n\nimport { Icon } from './Icon';\nimport { Utils } from './Utils';\nimport { I18n } from '../i18n';\n\nconst styles: Record = {\n different: {\n opacity: 0.5,\n },\n icon: {\n width: 16,\n height: 16,\n marginRight: 8,\n },\n};\n\ninterface SelectWithIconProps {\n t: Translate;\n lang: ioBroker.Languages;\n themeType: ThemeType;\n value?: string;\n onChange: (id: string) => void;\n disabled?: boolean;\n list?: ioBroker.Object[] | Record; // one of \"list\"(Array) or \"options\"(object) is required\n options?: Record; // one of \"list\"(Array) or \"options\"(object) is required\n different?: string | boolean;\n label?: string;\n fullWidth?: boolean;\n className?: string;\n style?: React.CSSProperties;\n removePrefix?: string;\n allowNone?: boolean;\n inputProps?: InputProps['inputProps'];\n dense?: boolean;\n}\n\ninterface TextWithIconItem {\n name: string;\n value: string;\n icon?: string;\n color?: string;\n}\n\ninterface SelectWithIconState {\n list: TextWithIconItem[];\n}\n\nexport class SelectWithIcon extends Component {\n private readonly wordDifferent: string | undefined;\n\n private timeout: ReturnType | null = null;\n\n constructor(props: SelectWithIconProps) {\n super(props);\n\n if (props.different) {\n this.wordDifferent = props.t('ra___different__');\n }\n\n let list: TextWithIconItem[];\n if (Array.isArray(props.list || props.options)) {\n list = ((props.list || props.options) as ioBroker.Object[]).map(obj => ({\n name: Utils.getObjectNameFromObj(obj, props.lang)\n .replace('system.group.', '')\n .replace('system.user.', '')\n .replace('enum.rooms.', '')\n .replace('enum.functions.', ''),\n value: obj._id,\n icon: obj.common?.icon,\n color: obj.common?.color,\n }));\n } else {\n list = Object.values((props.list || props.options) as Record).map(obj => ({\n name: Utils.getObjectNameFromObj(obj, props.lang)\n .replace('system.group.', '')\n .replace('system.user.', '')\n .replace('enum.rooms.', '')\n .replace('enum.functions.', ''),\n value: obj._id,\n icon: obj.common?.icon,\n color: obj.common?.color,\n }));\n }\n\n if (props.different && props.value === props.different) {\n list.unshift({ value: props.different, name: this.wordDifferent || '' });\n }\n\n if (props.allowNone) {\n list.unshift({ value: '', name: I18n.t('ra_none') });\n }\n\n this.state = {\n list,\n };\n }\n\n render(): React.JSX.Element {\n if (this.props.allowNone && !this.state.list.find(obj => obj.value === '')) {\n this.timeout =\n this.timeout ||\n setTimeout(() => {\n this.timeout = null;\n const list = JSON.parse(JSON.stringify(this.state.list));\n list.unshift({ value: '', name: I18n.t('ra_none') });\n this.setState({ list });\n }, 100);\n } else if (!this.props.allowNone && this.state.list.find(obj => obj.value === '')) {\n this.timeout =\n this.timeout ||\n setTimeout(() => {\n this.timeout = null;\n const list = JSON.parse(JSON.stringify(this.state.list));\n const i = this.state.list.findIndex(obj => obj.value === '');\n list.splice(i, 1);\n this.setState({ list });\n }, 100);\n }\n\n const item = this.state.list.find(\n it =>\n it.value === this.props.value ||\n (this.props.removePrefix && it.value.replace(this.props.removePrefix, '') === this.props.value),\n );\n\n const style =\n this.props.value === this.props.different\n ? {}\n : {\n color: item?.color || undefined,\n backgroundColor: Utils.getInvertedColor(item?.color || '', this.props.themeType),\n };\n\n if (this.props.dense && this.props.style) {\n Object.assign(style, this.props.style);\n }\n\n const select = (\n (\n \n {item?.icon ? (\n \n ) : null}\n {item?.name}\n \n )\n }\n sx={{\n '&.MuiSelect-root': this.props.value === this.props.different ? styles.different : {},\n }}\n classes={{\n root: this.props.dense ? this.props.className : '',\n }}\n style={style}\n onChange={el => {\n if (this.props.different && el.target.value !== this.props.different) {\n let pos = null;\n for (let i = 0; i < this.state.list.length; i++) {\n if (this.state.list[i].value === this.props.different) {\n pos = i;\n break;\n }\n }\n if (pos !== null) {\n const list: TextWithIconItem[] = Utils.clone(this.state.list) as TextWithIconItem[];\n list.splice(pos, 1);\n this.setState({ list }, () => this.props.onChange(el.target.value));\n return;\n }\n }\n\n this.props.onChange(\n this.props.removePrefix\n ? el.target.value.replace(this.props.removePrefix, '')\n : el.target.value,\n );\n }}\n >\n {this.state.list.map(el => (\n \n {el.icon ? (\n \n ) : null}\n {el.name}\n \n ))}\n \n );\n\n if (this.props.dense) {\n return select;\n }\n\n return (\n \n {this.props.label}\n {select}\n \n );\n }\n}\n", "/**\n * Copyright 2022-2024, Denis Haev \n *\n * MIT License\n *\n */\nimport React, { Component } from 'react';\n\nimport { Table, Skeleton } from '@mui/material';\n\ninterface TableResizeProps {\n name?: string;\n ready?: boolean;\n stickyHeader?: boolean;\n size?: 'small' | 'medium';\n className?: string;\n sx?: Record;\n style?: React.CSSProperties;\n initialWidths?: (number | 'auto')[];\n minWidths?: number[];\n dblTitle?: string;\n children?: React.ReactNode;\n}\n\nexport class TableResize extends Component {\n private readonly resizerRefTable: React.RefObject;\n\n private resizerActiveIndex: number | null;\n\n private resizerActiveDiv: HTMLDivElement | null;\n\n private resizerCurrentWidths: (number | 'auto')[];\n\n private widthFilled: boolean = false;\n\n private installTimeout: ReturnType | null = null;\n\n private resizerMin: number = 0;\n\n private resizerMinNext: number = 0;\n\n private resizerPosition: number = 0;\n\n private resizerOldWidth: number = 0;\n\n private resizerOldWidthNext: number = 0;\n\n constructor(props: TableResizeProps) {\n super(props);\n this.resizerRefTable = React.createRef();\n this.resizerActiveIndex = null;\n this.resizerActiveDiv = null;\n this.resizerCurrentWidths = [];\n }\n\n componentDidMount(): void {\n this.resizerInstall();\n }\n\n componentWillUnmount(): void {\n this.resizerUninstall();\n }\n\n resizerInstall(): void {\n if (this.resizerRefTable.current && !(this.resizerRefTable.current as any)._installed) {\n (this.resizerRefTable.current as any)._installed = true;\n const ths = this.resizerRefTable.current.querySelectorAll('th');\n\n const widthsStored = ((window as any)._localStorage || window.localStorage).getItem(\n `App.${this.props.name || 'history'}.table`,\n );\n this.widthFilled = false;\n\n if (widthsStored) {\n try {\n this.resizerCurrentWidths = JSON.parse(widthsStored);\n this.widthFilled = true;\n } catch {\n // ignore\n }\n }\n if (this.widthFilled) {\n if (this.resizerCurrentWidths.length !== ths.length) {\n this.resizerCurrentWidths = [];\n this.widthFilled = false;\n } else {\n const tableWidth = this.resizerRefTable.current.offsetWidth;\n let storedWidth: number | null = 0;\n for (let w = 0; w < this.resizerCurrentWidths.length; w++) {\n if (window.isFinite(this.resizerCurrentWidths[w] as number)) {\n storedWidth += this.resizerCurrentWidths[w] as number;\n } else {\n storedWidth = null;\n break;\n }\n }\n if (storedWidth !== null && Math.abs(storedWidth - tableWidth) > 20) {\n this.resizerCurrentWidths = [];\n this.widthFilled = false;\n }\n }\n }\n\n for (let i = 0; i < ths.length; i++) {\n !this.widthFilled && this.resizerCurrentWidths.push(ths[i].offsetWidth);\n\n // last column does need a handle\n if (i < ths.length - 1) {\n const div = window.document.createElement('div');\n div.dataset.index = i.toString();\n div.onmousedown = this.resizerMouseDown;\n div.ondblclick = this.resizerReset;\n div.title = this.props.dblTitle || 'Double click to reset table layout';\n div.className = 'resize-handle';\n ths[i].appendChild(div);\n }\n }\n if (this.widthFilled) {\n this.resizerApplyWidths();\n }\n } else {\n this.installTimeout = setTimeout(() => {\n this.installTimeout = null;\n this.resizerInstall();\n }, 100);\n }\n }\n\n resizerReset = (): void => {\n for (let c = 0; c < this.resizerCurrentWidths.length; c++) {\n this.resizerCurrentWidths[c] = (this.props.initialWidths || [])[c] || 'auto';\n }\n\n ((window as any)._localStorage || window.localStorage).setItem(\n `App.${this.props.name || 'history'}.table`,\n JSON.stringify(this.resizerCurrentWidths),\n );\n this.resizerApplyWidths();\n };\n\n resizerUninstall(): void {\n this.installTimeout && clearTimeout(this.installTimeout);\n this.installTimeout = null;\n\n // resizer\n if (this.resizerRefTable.current && (this.resizerRefTable.current as any)._installed) {\n (this.resizerRefTable.current as any)._installed = false;\n const ths = this.resizerRefTable.current.querySelectorAll('th');\n for (let i = 0; i < ths.length; i++) {\n const div: HTMLDivElement | null = ths[i].querySelector('.resize-handle');\n if (div) {\n div.onmousedown = null;\n div.remove();\n }\n }\n }\n }\n\n resizerApplyWidths(): string | undefined {\n const gridTemplateColumns: string[] = [];\n if (this.resizerCurrentWidths.length) {\n for (let c = 0; c < this.resizerCurrentWidths.length; c++) {\n if (this.resizerCurrentWidths[c]) {\n gridTemplateColumns.push(\n this.resizerCurrentWidths[c] !== 'auto' ? `${this.resizerCurrentWidths[c]}px` : 'auto',\n );\n } else if (this.props.initialWidths && this.props.initialWidths[c]) {\n gridTemplateColumns.push(\n this.props.initialWidths[c] !== 'auto' ? `${this.props.initialWidths[c]}px` : 'auto',\n );\n } else {\n gridTemplateColumns.push('auto');\n }\n }\n } else if (this.props.initialWidths) {\n for (let c = 0; c < this.props.initialWidths.length; c++) {\n if (this.props.initialWidths[c]) {\n gridTemplateColumns.push(\n this.props.initialWidths[c] !== 'auto' ? `${this.props.initialWidths[c]}px` : 'auto',\n );\n } else {\n gridTemplateColumns.push('auto');\n }\n }\n }\n\n if (this.resizerRefTable.current && gridTemplateColumns.length) {\n this.resizerRefTable.current.style.gridTemplateColumns = gridTemplateColumns.join(' ');\n }\n\n return gridTemplateColumns.length ? gridTemplateColumns.join(' ') : undefined;\n }\n\n resizerMouseMove = (e: MouseEvent): void => {\n if (this.resizerActiveDiv && this.resizerActiveIndex !== null) {\n const width = this.resizerOldWidth + e.clientX - this.resizerPosition;\n const widthNext = this.resizerOldWidthNext - e.clientX + this.resizerPosition;\n if (\n (!this.resizerMin || width > this.resizerMin) &&\n (!this.resizerMinNext || widthNext > this.resizerMinNext)\n ) {\n this.resizerCurrentWidths[this.resizerActiveIndex] = width;\n this.resizerCurrentWidths[this.resizerActiveIndex + 1] = widthNext;\n this.resizerApplyWidths();\n }\n }\n };\n\n resizerMouseUp = (): void => {\n ((window as any)._localStorage || window.localStorage).setItem(\n `App.${this.props.name || 'history'}.table`,\n JSON.stringify(this.resizerCurrentWidths),\n );\n\n this.resizerActiveIndex = null;\n this.resizerActiveDiv = null;\n window.removeEventListener('mousemove', this.resizerMouseMove);\n window.removeEventListener('mouseup', this.resizerMouseUp);\n };\n\n resizerMouseDown = (e: MouseEvent): void => {\n if (this.resizerActiveIndex === null || this.resizerActiveIndex === undefined) {\n console.log(`Mouse down ${(e.target as HTMLDivElement)?.dataset.index}`);\n this.resizerActiveIndex = parseInt((e.target as HTMLDivElement)?.dataset.index || '0', 10);\n this.resizerActiveDiv = e.target as HTMLDivElement;\n this.resizerMin = this.props.minWidths ? this.props.minWidths[this.resizerActiveIndex] : 0;\n this.resizerMinNext = this.props.minWidths ? this.props.minWidths[this.resizerActiveIndex + 1] : 0;\n this.resizerPosition = e.clientX;\n let ths;\n if (this.resizerCurrentWidths[this.resizerActiveIndex] === 'auto') {\n ths = this.resizerRefTable.current?.querySelectorAll('th');\n if (ths) {\n this.resizerCurrentWidths[this.resizerActiveIndex] = ths[this.resizerActiveIndex].offsetWidth;\n }\n }\n if (this.resizerCurrentWidths[this.resizerActiveIndex + 1] === 'auto') {\n ths = ths || this.resizerRefTable.current?.querySelectorAll('th');\n if (ths) {\n this.resizerCurrentWidths[this.resizerActiveIndex + 1] =\n ths[this.resizerActiveIndex + 1].offsetWidth;\n }\n }\n\n this.resizerOldWidth = this.resizerCurrentWidths[this.resizerActiveIndex] as number;\n this.resizerOldWidthNext = this.resizerCurrentWidths[this.resizerActiveIndex + 1] as number;\n\n window.addEventListener('mousemove', this.resizerMouseMove);\n window.addEventListener('mouseup', this.resizerMouseUp);\n }\n };\n\n render(): React.JSX.Element {\n if (this.props.ready === false) {\n return ;\n }\n\n const style = { gridTemplateColumns: this.resizerApplyWidths() };\n\n return (\n \n {this.props.children}\n \n );\n }\n}\n", "import React from 'react';\n\nimport { Icon } from './Icon';\nimport { Utils } from './Utils';\nimport type { ThemeType } from '../types';\n\nconst styles: Record = {\n div: {\n borderRadius: 3,\n padding: '0 3px',\n lineHeight: '20px',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n display: 'flex',\n alignItems: 'center',\n },\n icon: {\n width: 16,\n height: 16,\n marginRight: 8,\n verticalAlign: 'middle',\n },\n text: {\n display: 'inline-block',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n};\n\ninterface TextWithIconProps {\n lang: ioBroker.Languages;\n themeType?: ThemeType;\n value: string | Record;\n list?: ioBroker.Object[] | Record;\n options?: Record;\n className?: string;\n style?: React.CSSProperties;\n title?: string;\n removePrefix?: string;\n moreClasses?: {\n root?: string;\n icon?: string;\n text?: string;\n };\n icon?: string;\n color?: string;\n}\n\ninterface TextWithIconItem {\n name: string;\n value: string;\n icon?: string;\n color?: string;\n}\n\nexport function TextWithIcon(props: TextWithIconProps): React.JSX.Element {\n const value = props.value;\n let item: TextWithIconItem;\n const prefix = props.removePrefix || '';\n\n if (typeof value === 'string') {\n const list = props.list || props.options;\n if (list) {\n // if a list is array, then it is list of ioBroker.Object\n if (Array.isArray(list)) {\n const _item: ioBroker.Object = list.find((obj: ioBroker.Object) => obj._id === prefix + value);\n if (_item) {\n item = {\n name: Utils.getObjectNameFromObj(_item, props.lang).replace('system.group.', ''),\n value: _item._id,\n icon: props.icon || _item.common?.icon,\n color: props.color || _item.common?.color,\n };\n } else {\n item = {\n name: value,\n value: prefix + value,\n };\n }\n } else if (list[prefix + value]) {\n // List is object with key-value pairs: {'enum.rooms.1': {common: {name: 'Room 1'}}}\n const obj: ioBroker.Object = list[prefix + value];\n item = {\n name: Utils.getObjectNameFromObj(obj, props.lang).replace('system.group.', ''),\n value: obj._id,\n icon: props.icon || obj.common?.icon,\n color: props.color || obj.common?.color,\n };\n } else {\n // value is a string, ignore list\n item = {\n name: value,\n value: prefix + value,\n icon: props.icon,\n color: props.color,\n };\n }\n } else {\n item = {\n name: value,\n value: prefix + value,\n icon: props.icon,\n color: props.color,\n };\n }\n } else if (!value || typeof value !== 'object') {\n item = {\n name: '',\n value: '',\n icon: props.icon,\n color: props.color,\n };\n } else {\n // Item is an ioBroker.Object\n const obj: ioBroker.Object = value as ioBroker.Object;\n item = {\n name: Utils.getObjectNameFromObj(obj, props.lang)\n .replace('system.group.', '')\n .replace('system.user.', '')\n .replace('enum.rooms.', '')\n .replace('enum.functions.', ''),\n value: obj._id,\n icon: props.icon || obj.common?.icon,\n color: props.color || obj.common?.color,\n };\n }\n\n const style = item?.color\n ? {\n border: `1px solid ${Utils.invertColor(item?.color)}`,\n color: Utils.getInvertedColor(item?.color, props.themeType || 'light', true) || undefined,\n backgroundColor: item?.color,\n }\n : {};\n\n return (\n \n {item?.icon ? (\n \n ) : null}\n \n {item?.name}\n
\n \n );\n}\n", "import React, { type JSX } from 'react';\n\nimport { IconButton, Tooltip } from '@mui/material';\n\nimport {\n Brightness4 as Brightness4Icon,\n Brightness5 as Brightness5Icon,\n Brightness6 as Brightness6Icon,\n Brightness7 as Brightness7Icon,\n} from '@mui/icons-material';\n\ninterface ToggleThemeMenuProps {\n themeName: 'dark' | 'blue' | 'colored' | 'light';\n toggleTheme: () => void;\n t: (key: string) => string;\n className?: string;\n style?: React.CSSProperties;\n size?: 'small' | 'medium' | 'large';\n}\n\nexport function ToggleThemeMenu({\n themeName,\n toggleTheme,\n t,\n className,\n style,\n size,\n}: ToggleThemeMenuProps): JSX.Element {\n return (\n \n \n toggleTheme()}\n size={size || 'medium'}\n >\n {themeName === 'dark' && }\n {themeName === 'blue' && }\n {themeName === 'colored' && }\n {themeName !== 'dark' && themeName !== 'blue' && themeName !== 'colored' && (\n \n )}\n \n \n \n );\n}\n", "import React, { Component, type JSX } from 'react';\n\nimport { HexColorPicker as ColorPicker } from 'react-colorful';\n\nimport {\n Fab,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n TableSortLabel,\n IconButton,\n Select,\n MenuItem,\n TextField,\n Checkbox,\n Dialog,\n} from '@mui/material';\n\nimport {\n Edit as IconEdit,\n Delete as IconDelete,\n NavigateNext as IconExpand,\n ExpandMore as IconCollapse,\n Check as IconCheck,\n Close as IconClose,\n Add as IconAdd,\n ViewHeadline as IconList,\n Colorize as IconColor,\n} from '@mui/icons-material';\n\nimport type { Connection } from '../Connection';\n\nimport { DialogSelectID } from '../Dialogs/SelectID';\nimport { Utils } from './Utils';\nimport type { IobTheme } from '../types';\n\nfunction getAttr(obj: Record, attr: string | string[], lookup?: Record): any {\n if (typeof attr === 'string') {\n attr = attr.split('.');\n }\n\n if (!obj) {\n return null;\n }\n\n if (attr.length === 1) {\n if (lookup && lookup[obj[attr[0]]]) {\n return lookup[obj[attr[0]]];\n }\n return obj[attr[0]];\n }\n\n const name: string = attr.shift();\n return getAttr(obj[name], attr);\n}\n\nfunction setAttr(obj: Record, attr: string | string[], value: any): void {\n if (typeof attr === 'string') {\n attr = attr.split('.');\n }\n\n if (attr.length === 1) {\n return (obj[attr[0]] = value);\n }\n const name: string = attr.shift();\n if (obj[name] === null || obj[name] === undefined) {\n obj[name] = {};\n }\n return setAttr(obj[name], attr, value);\n}\n\nconst styles: Record = {\n tableContainer: {\n width: '100%',\n height: '100%',\n overflow: 'auto',\n },\n table: {\n width: '100%',\n minWidth: 800,\n maxWidth: 1920,\n },\n cell: {\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 4,\n paddingRight: 4,\n },\n rowMainWithChildren: {},\n rowMainWithoutChildren: {},\n rowNoEdit: {\n opacity: 0.3,\n },\n cellExpand: {\n width: 30,\n },\n cellButton: {\n width: 30,\n },\n cellHeader: {\n fontWeight: 'bold',\n background: (theme: IobTheme) => (theme.palette.mode === 'dark' ? '#888' : '#888'),\n color: (theme: IobTheme) => (theme.palette.mode === 'dark' ? '#EEE' : '#111'),\n height: 48,\n wordBreak: 'break-word',\n whiteSpace: 'pre',\n },\n width_name_nicknames: {\n maxWidth: 150,\n },\n width_ioType: {\n maxWidth: 100,\n },\n width_type: {\n maxWidth: 100,\n },\n width_displayTraits: {\n maxWidth: 100,\n },\n width_roomHint: {\n maxWidth: 100,\n },\n rowSecondary: {\n fontStyle: 'italic',\n },\n cellSecondary: {\n fontSize: 10,\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1,\n },\n fieldEditWithButton: {\n width: 'calc(100% - 33px)',\n display: 'inline-block',\n },\n fieldEdit: {\n width: '100%',\n display: 'inline-block',\n lineHeight: '50px',\n verticalAlign: 'middle',\n },\n fieldButton: {\n width: 30,\n display: 'inline-block',\n },\n colorDialog: {\n overflow: 'hidden',\n padding: 15,\n },\n subText: {\n fontSize: 10,\n fontStyle: 'italic',\n },\n glow: {\n animation: 'glow 0.2s 2 alternate',\n },\n};\n\nfunction descendingComparator(\n a: Record,\n b: Record,\n orderBy: string,\n lookup?: Record,\n): number {\n const _a = getAttr(a, orderBy, lookup) || '';\n const _b = getAttr(b, orderBy, lookup) || '';\n\n if (_b < _a) {\n return -1;\n }\n if (_b > _a) {\n return 1;\n }\n return 0;\n}\n\nfunction getComparator(\n order: 'desc' | 'asc',\n orderBy: string,\n lookup?: Record,\n): (a: Record, b: Record) => number {\n return order === 'desc'\n ? (a, b) => descendingComparator(a, b, orderBy, lookup)\n : (a, b) => -descendingComparator(a, b, orderBy, lookup);\n}\n\nfunction stableSort(\n array: Record[],\n comparator: (a: Record, b: Record) => number,\n): Record[] {\n const stabilizedThis: { e: Record; i: number }[] = array.map((el, index) => ({ e: el, i: index }));\n\n stabilizedThis.sort((a, b) => {\n const order = comparator(a.e, b.e);\n if (order) {\n return order;\n }\n return a.i - b.i;\n });\n\n return stabilizedThis.map(item => item.e);\n}\n\ninterface Column {\n cellStyle?: Record;\n editComponent?: React.FC<{ value: any; rowData: Record; onChange: (newValue: any) => void }>;\n field: string;\n headerStyle?: Record;\n hidden?: boolean;\n lookup?: Record;\n editable?: boolean | 'never';\n title?: string;\n type?: 'string' | 'boolean' | 'numeric' | 'icon' | 'oid' | 'color';\n subField?: string;\n subLookup?: Record;\n subStyle?: Record;\n}\n\ninterface TreeTableProps {\n data: Record[];\n className?: string;\n /** name of table to save settings in localStorage */\n name?: string;\n columns: Column[];\n noSort?: boolean;\n onUpdate?: ((newData: Record, oldData: Record) => void) | ((addNew: true) => void);\n onDelete?: (oldData: Record) => void;\n /** hide add button */\n noAdd?: boolean;\n themeType?: string;\n glowOnChange?: boolean;\n /** only if an oid type is used */\n socket?: Connection;\n /** Shift in pixels for every level */\n levelShift?: number;\n adapterName: string;\n theme: IobTheme;\n}\n\ninterface TreeTableState {\n opened: string[];\n editMode: number | false;\n deleteMode: number | false;\n editData: Record | null;\n order: 'desc' | 'asc';\n update: string[] | null;\n orderBy: string;\n showSelectColor: boolean;\n selectIdValue?: string | null;\n showSelectId?: boolean;\n data?: Record[];\n}\n\nexport class TreeTable extends Component {\n private selectCallback: ((selected: string) => void) | null = null;\n\n private updateTimeout: ReturnType | null = null;\n\n constructor(props: TreeTableProps) {\n super(props);\n\n let opened =\n ((window as any)._localStorage || window.localStorage).getItem(this.props.name || 'iob-table') || '[]';\n try {\n opened = JSON.parse(opened) || [];\n } catch {\n opened = [];\n }\n if (!Array.isArray(opened)) {\n opened = [];\n }\n\n this.state = {\n opened,\n editMode: false,\n deleteMode: false,\n editData: null,\n order: 'asc',\n update: null,\n orderBy: this.props.columns[0].field,\n showSelectColor: false,\n };\n }\n\n static getDerivedStateFromProps(props: TreeTableProps, state: TreeTableState): Partial {\n if (props.glowOnChange) {\n const update: string[] = [];\n let count = 0;\n if (props.data && state.data) {\n props.data.forEach(line => {\n count++;\n const oldLine = state.data?.find(it => it.id === line.id);\n if (oldLine) {\n if (JSON.stringify(oldLine) !== JSON.stringify(line)) {\n update.push(line.id);\n }\n } else {\n update.push(line.id);\n }\n });\n }\n\n if (update.length && update.length !== count) {\n return { data: props.data, update };\n }\n return { data: props.data };\n }\n\n return { data: props.data };\n }\n\n renderCellEdit(item: Record, col: Column): JSX.Element | null {\n let val = getAttr(item, col.field);\n if (Array.isArray(val)) {\n val = val[0];\n }\n\n if (col.lookup) {\n return this.renderCellEditSelect(col, val);\n }\n if (col.editComponent) {\n return this.renderCellEditCustom(col, val, item);\n }\n if (col.type === 'boolean' || (!col.type && typeof val === 'boolean')) {\n return this.renderCellEditBoolean(col, val);\n }\n if (col.type === 'color') {\n return this.renderCellEditColor(col, val);\n }\n if (col.type === 'oid') {\n return this.renderCellEditObjectID(col, val);\n }\n if (col.type === 'numeric') {\n return this.renderCellEditNumber(col, val);\n }\n\n return this.renderCellEditString(col, val);\n }\n\n onChange(col: Column, oldValue: string | number | boolean, newValue: string | number | boolean): void {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (newValue === oldValue) {\n delete editData[col.field];\n } else {\n editData[col.field] = newValue;\n }\n this.setState({ editData });\n }\n\n renderCellEditSelect(col: Column, val: string | number): JSX.Element {\n return (\n this.onChange(col, val, e.target.value)}\n value={(this.state.editData && this.state.editData[col.field]) || val}\n >\n {col.lookup &&\n Object.keys(col.lookup).map((v, i) => (\n \n {col.lookup?.[v]}\n \n ))}\n \n );\n }\n\n renderCellEditString(col: Column, val: string): JSX.Element {\n return (\n this.onChange(col, val, e.target.value)}\n />\n );\n }\n\n renderCellEditNumber(col: Column, val: number): JSX.Element {\n return (\n this.onChange(col, val, e.target.value)}\n />\n );\n }\n\n renderCellEditCustom(col: Column, val: any, item: Record): JSX.Element | null {\n const EditComponent = col.editComponent;\n\n // use new value if exists\n if (this.state.editData && this.state.editData[col.field] !== undefined) {\n val = this.state.editData[col.field];\n item = JSON.parse(JSON.stringify(item));\n item[col.field] = val;\n }\n\n return EditComponent ? (\n this.onChange(col, val, newVal as string | number)}\n />\n ) : null;\n }\n\n renderCellEditBoolean(col: Column, val: boolean): JSX.Element {\n return (\n this.onChange(col, !!val, e.target.checked)}\n inputProps={{ 'aria-label': 'checkbox' }}\n />\n );\n }\n\n renderSelectColorDialog(): JSX.Element {\n return (\n {\n this.selectCallback = null;\n this.setState({ showSelectColor: false });\n }}\n open={this.state.showSelectColor}\n >\n \n this.setState({ selectIdValue: color }, () => {\n if (this.selectCallback) {\n this.selectCallback(color);\n }\n })\n }\n />\n \n );\n }\n\n renderCellEditColor(col: Column, val: string): JSX.Element {\n const _val =\n this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val;\n return (\n
\n this.onChange(col, !!val, e.target.value)}\n />\n\n {\n this.selectCallback = newColor => this.onChange(col, val, newColor);\n this.setState({ showSelectColor: true, selectIdValue: val });\n }}\n size=\"large\"\n >\n \n \n
\n );\n }\n\n renderSelectIdDialog(): JSX.Element | null {\n if (this.state.showSelectId && this.props.socket) {\n return (\n this.setState({ showSelectId: false })}\n onOk={(selected: string | string[] | undefined) => {\n this.setState({ showSelectId: false, selectIdValue: null });\n const selectedStr: string | undefined = Array.isArray(selected) ? selected[0] : selected;\n if (selectedStr && this.selectCallback) {\n this.selectCallback && this.selectCallback(selectedStr);\n this.selectCallback = null;\n }\n }}\n />\n );\n }\n\n return null;\n }\n\n renderCellEditObjectID(col: Column, val: string): JSX.Element {\n return (\n
\n this.onChange(col, val, e.target.value)}\n />\n\n {\n this.selectCallback = selected => this.onChange(col, val, selected);\n this.setState({ showSelectId: true, selectIdValue: val });\n }}\n size=\"large\"\n >\n \n \n
\n );\n }\n\n static renderCellNonEdit(item: Record, col: Column): JSX.Element | string | number | null {\n let val = getAttr(item, col.field, col.lookup);\n if (Array.isArray(val)) {\n val = val[0];\n }\n\n if (col.type === 'boolean') {\n return (\n \n );\n }\n\n return val;\n }\n\n renderCell(item: Record, col: Column, level: number, i: number): JSX.Element {\n if (this.state.editMode === i && col.editable !== 'never' && col.editable !== false) {\n return (\n \n {this.renderCellEdit(item, col)}\n \n );\n }\n return (\n \n {TreeTable.renderCellNonEdit(item, col)}\n \n );\n }\n\n static renderCellWithSubField(item: Record, col: Column): JSX.Element {\n const main = getAttr(item, col.field, col.lookup);\n if (col.subField) {\n const sub = getAttr(item, col.subField, col.subLookup);\n return (\n
\n
{main}
\n
{sub}
\n
\n );\n }\n return (\n
\n
{main}
\n
\n );\n }\n\n renderLine(item: Record, level?: number): JSX.Element | JSX.Element[] | null {\n const levelShift = this.props.levelShift === undefined ? 24 : this.props.levelShift;\n\n level = level || 0;\n const i = this.props.data.indexOf(item);\n if (!item) {\n return null;\n }\n if (!level && item.parentId) {\n return null;\n }\n if (level && !item.parentId) {\n return null; // should never happen\n }\n // try to find children\n const opened = this.state.opened.includes(item.id);\n const children = this.props.data.filter(it => it.parentId === item.id);\n\n const row = (\n \n \n {children.length ? (\n {\n const _opened = [...this.state.opened];\n const pos = _opened.indexOf(item.id);\n if (pos === -1) {\n _opened.push(item.id);\n _opened.sort();\n } else {\n _opened.splice(pos, 1);\n }\n\n ((window as any)._localStorage || window.localStorage).setItem(\n this.props.name || 'iob-table',\n JSON.stringify(_opened),\n );\n\n this.setState({ opened: _opened });\n }}\n size=\"small\"\n >\n {opened ? : }\n \n ) : null}\n \n \n {this.props.columns[0].subField\n ? TreeTable.renderCellWithSubField(item, this.props.columns[0])\n : getAttr(item, this.props.columns[0].field, this.props.columns[0].lookup)}\n \n\n {this.props.columns.map((col, ii) =>\n !ii && !col.hidden ? null : this.renderCell(item, col, level, i),\n )}\n\n {this.props.onUpdate ? (\n \n {this.state.editMode === i || this.state.deleteMode === i ? (\n {\n if (this.state.editMode !== false) {\n const newData = JSON.parse(JSON.stringify(item));\n this.state.editData &&\n Object.keys(this.state.editData).forEach(attr =>\n setAttr(newData, attr, this.state.editData?.[attr]),\n );\n this.setState(\n { editMode: false },\n () => this.props.onUpdate && this.props.onUpdate(newData, item),\n );\n } else {\n this.setState(\n { deleteMode: false },\n () => this.props.onDelete && this.props.onDelete(item),\n );\n }\n }}\n size=\"large\"\n >\n \n \n ) : (\n this.setState({ editMode: i, editData: null })}\n size=\"large\"\n >\n \n \n )}\n \n ) : null}\n\n {this.props.onDelete && !this.props.onUpdate ? (\n \n {this.state.deleteMode === i ? (\n \n this.setState(\n { deleteMode: false },\n () => this.props.onDelete && this.props.onDelete(item),\n )\n }\n size=\"large\"\n >\n \n \n ) : null}\n \n ) : null}\n\n {this.props.onUpdate || this.props.onDelete ? (\n \n {this.state.editMode === i || this.state.deleteMode === i ? (\n this.setState({ editMode: false, deleteMode: false })}\n size=\"large\"\n >\n \n \n ) : this.props.onDelete ? (\n this.setState({ deleteMode: i })}\n size=\"large\"\n >\n \n \n ) : null}\n \n ) : null}\n \n );\n\n if (!level && opened) {\n const items: JSX.Element[] = children.map(it => this.renderLine(it, level + 1)) as JSX.Element[];\n items.unshift(row);\n return items;\n }\n return row;\n }\n\n handleRequestSort(property: string): void {\n const isAsc = this.state.orderBy === property && this.state.order === 'asc';\n this.setState({ order: isAsc ? 'desc' : 'asc', orderBy: property });\n }\n\n renderHead(): JSX.Element {\n return (\n \n \n \n \n {this.props.noSort ? null : (\n this.handleRequestSort(this.props.columns[0].field)}\n >\n {this.props.columns[0].title || this.props.columns[0].field}\n {this.state.orderBy === this.props.columns[0].field ? (\n \n {this.state.order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n \n ) : null}\n \n )}\n \n {this.props.columns.map((col, i) =>\n !i && !col.hidden ? null : (\n \n {this.props.noSort ? null : (\n this.handleRequestSort(col.field)}\n >\n {col.title || col.field}\n {this.state.orderBy === col.field ? (\n \n {this.state.order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n \n ) : null}\n \n )}\n \n ),\n )}\n {this.props.onUpdate ? (\n \n {!this.props.noAdd ? (\n \n this.props.onUpdate && (this.props.onUpdate as (addNew: true) => void)(true)\n }\n >\n \n \n ) : null}\n \n ) : null}\n {this.props.onDelete || this.props.onUpdate ? (\n \n ) : null}\n \n \n );\n }\n\n render(): JSX.Element | null {\n const col = this.props.columns.find(_col => _col.field === this.state.orderBy);\n if (col) {\n const lookup = col.lookup;\n const table = stableSort(this.props.data, getComparator(this.state.order, this.state.orderBy, lookup));\n\n if (this.state.update && this.state.update.length) {\n this.updateTimeout && clearTimeout(this.updateTimeout);\n this.updateTimeout = setTimeout(() => {\n this.updateTimeout = null;\n this.setState({ update: null });\n }, 500);\n }\n\n return (\n \n \n {this.renderHead()}\n {table.map(it => this.renderLine(it))}\n \n {this.renderSelectIdDialog()}\n {this.renderSelectColorDialog()}\n \n );\n }\n\n return null;\n }\n}\n/*\nconst columns = [\n {\n title: 'Name of field', // required, else it will be \"field\"\n field: 'fieldIdInData', // required\n editable: false, // or true [default - true]\n cellStyle: { // CSS style - // optional\n maxWidth: '12rem',\n overflow: 'hidden',\n wordBreak: 'break-word'\n },\n lookup: { // optional => edit will be automatically \"SELECT\"\n 'value1': 'text1',\n 'value2': 'text2',\n }\n },\n {\n title: 'Type', // required, else it will be \"field\"\n field: 'myType', // required\n editable: true, // or true [default - true]\n lookup: { // optional => edit will be automatically \"SELECT\"\n 'number': 'Number',\n 'string': 'String',\n 'boolean': 'Boolean',\n },\n type: 'number/string/color/oid/icon/boolean', // oid=ObjectID,icon=base64-icon\n editComponent: props =>\n
Prefix{
\n props.onChange(e.target.value)}\n />\n Suffix\n
,\n },\n];\n*/\n/* const data = [\n {\n id: 'UniqueID1' // required\n fieldIdInData: 'Name1',\n myType: 'number',\n },\n {\n id: 'UniqueID2' // required\n fieldIdInData: 'Name12',\n myType: 'string',\n },\n];\n */\n\n/*\n// STYLES\nconst styles = theme => ({\n tableDiv: {\n width: '100%',\n overflow: 'hidden',\n height: 'calc(100% - 48px)',\n },\n});\n// renderTable\nrenderTable() {\n return
\n console.log('Update: ' + JSON.stringify(newData))}\n onDelete={oldData => console.log('Delete: ' + JSON.stringify(oldData))}\n />\n
;\n}\n */\n", "/**\n * Copyright 2018-2023 Denis Haev (bluefox) \n *\n * MIT License\n *\n */\n// please do not delete React, as without it other projects could not be compiled: ReferenceError: React is not defined\nimport React, { Component, type JSX } from 'react';\n\nimport { Button, DialogTitle, DialogContent, DialogActions, Dialog } from '@mui/material';\n\nimport { Cancel as IconCancel, Check as IconOk } from '@mui/icons-material';\n\nimport type { Connection } from '../Connection';\n\nimport { I18n } from '../i18n';\nimport {\n ObjectBrowser,\n type ObjectBrowserFilter,\n type ObjectBrowserColumn,\n type ObjectBrowserCustomFilter,\n} from '../Components/ObjectBrowser';\nimport type { IobTheme } from '../types';\n\nexport interface SelectIDFilters {\n id?: string;\n name?: string;\n room?: string;\n func?: string;\n role?: string;\n type?: string;\n custom?: string;\n}\n\ninterface DialogSelectIDProps {\n /** The internal name of the dialog; default: \"default\". Used to store settings in local storage */\n dialogName?: string;\n /** The dialog title; default: Please select object ID... (translated) */\n title?: string;\n /** Set to true to allow the selection of multiple IDs. */\n multiSelect?: boolean;\n /** Show folders before any leaves. */\n foldersFirst?: boolean;\n /** Path prefix for images (default: '.') */\n imagePrefix?: string;\n /** @deprecated same as imagePrefix */\n prefix?: string;\n /** Show the expert button */\n showExpertButton?: boolean;\n /** Force expert mode */\n expertMode?: boolean;\n /** optional ['name', 'type', 'role', 'room', 'func', 'val', 'buttons'] */\n columns?: ObjectBrowserColumn[];\n /** Object types to show; default: 'state' only */\n types?: ioBroker.ObjectType | ioBroker.ObjectType[];\n /** The language. */\n lang?: ioBroker.Languages;\n /** The socket connection. */\n socket: Connection;\n /** Can't objects be edited? (default: true) */\n notEditable?: boolean;\n /** Theme name. */\n themeName?: string;\n /** Theme type: dark or light */\n themeType?: string;\n /** The theme object */\n theme: IobTheme;\n /** The date format for the date columns */\n dateFormat?: string;\n /** Is use comma or point for displaying of float numbers */\n isFloatComma?: boolean;\n /** Custom filter. */\n customFilter?: ObjectBrowserCustomFilter;\n /** The selected IDs. */\n selected?: string | string[];\n /** The ok button text; default: OK (translated) */\n ok?: string;\n /** The cancel button text; default: Cancel (translated) */\n cancel?: string;\n /** Close handler that is always called when the dialog is closed. */\n onClose: () => void;\n /** Handler that is called when the user presses OK. */\n onOk: (selected: string | string[] | undefined, name: string) => void;\n /**\n * Function to filter out all unnecessary objects. Can be string or function.\n * It cannot be used together with \"types\".\n * Example for function: `obj => obj.common?.type === 'boolean'` to show only boolean states\n * In case of string, it must look like `obj.common && obj.common.type === 'boolean'`\n */\n filterFunc?: string | ((obj: ioBroker.Object) => boolean);\n /** predefined filter fields, like {\"id\":\"\",\"name\":\"\",\"room\":\"\",\"func\":\"\",\"role\":\"level\",\"type\":\"\",\"custom\":\"\"} */\n filters?: SelectIDFilters;\n /** Show elements only of this root ID */\n root?: string;\n}\n\ninterface DialogSelectIDState {\n selected: string[];\n name: string;\n}\n\nexport class DialogSelectID extends Component {\n private readonly dialogName: string;\n\n private filters: ObjectBrowserFilter;\n\n private readonly filterFunc?: (obj: ioBroker.Object) => boolean;\n\n constructor(props: DialogSelectIDProps) {\n super(props);\n this.dialogName = this.props.dialogName || 'default';\n this.dialogName = `SelectID.${this.dialogName}`;\n\n const filters: string = ((window as any)._localStorage || window.localStorage).getItem(this.dialogName) || '{}';\n\n try {\n this.filters = JSON.parse(filters);\n } catch {\n this.filters = {};\n }\n\n if (props.filters) {\n this.filters = { ...this.filters, ...(props.filters || {}) };\n }\n\n let selected = this.props.selected || [];\n if (!Array.isArray(selected)) {\n selected = [selected];\n }\n selected = selected.filter(id => id);\n\n if (props.filterFunc) {\n if (typeof props.filterFunc === 'string') {\n try {\n this.filterFunc = new Function('obj', props.filterFunc) as (obj: ioBroker.Object) => boolean;\n } catch {\n console.error(`Cannot parse filter function: \"obj => ${props.filterFunc}\"`);\n this.filterFunc = undefined;\n }\n } else {\n this.filterFunc = props.filterFunc;\n }\n }\n\n this.state = {\n selected,\n name: '',\n };\n }\n\n handleCancel(): void {\n this.props.onClose();\n }\n\n handleOk(): void {\n this.props.onOk(this.props.multiSelect ? this.state.selected : this.state.selected[0] || '', this.state.name);\n this.props.onClose();\n }\n\n render(): JSX.Element {\n let title;\n if (this.state.name || this.state.selected.length) {\n if (this.state.selected.length === 1) {\n title = [\n \n {I18n.t('ra_Selected')}\n  \n ,\n \n {(this.state.name || this.state.selected[0]) +\n (this.state.name ? ` [${this.state.selected[0]}]` : '')}\n ,\n ];\n } else {\n title = [\n \n {I18n.t('ra_Selected')}\n  \n ,\n \n {I18n.t('%s items', this.state.selected.length.toString())}\n ,\n ];\n }\n } else {\n title = this.props.title || I18n.t('ra_Please select object ID...');\n }\n\n return (\n {}}\n maxWidth={false}\n sx={{\n '& .MuiDialog-paper': {\n height: '95%',\n p: '4px',\n width: '100%',\n maxWidth: '100%',\n maxHeight: 'calc(100% - 16px)',\n },\n }}\n fullWidth\n open={!0}\n aria-labelledby=\"ar_dialog_selectid_title\"\n >\n \n {title}\n \n \n {\n this.filters = filterConfig;\n ((window as any)._localStorage || window.localStorage).setItem(\n this.dialogName,\n JSON.stringify(filterConfig),\n );\n }}\n onSelect={(_selected: string | string[], name: string, isDouble?: boolean) => {\n let selected: string[];\n if (!Array.isArray(_selected)) {\n selected = [_selected];\n } else {\n selected = _selected;\n }\n if (JSON.stringify(selected) !== JSON.stringify(this.state.selected)) {\n this.setState({ selected, name }, () => isDouble && this.handleOk());\n } else if (isDouble) {\n this.handleOk();\n }\n }}\n filterFunc={this.filterFunc}\n title=\"\"\n classes={{}}\n />\n \n \n this.handleOk()}\n startIcon={}\n disabled={!this.state.selected.length}\n color=\"primary\"\n >\n {this.props.ok || I18n.t('ra_Ok')}\n \n this.handleCancel()}\n startIcon={}\n >\n {this.props.cancel || I18n.t('ra_Cancel')}\n \n \n \n );\n }\n}\n", "import React, { Component, createRef, type JSX } from 'react';\nimport Dropzone, { type FileRejection } from 'react-dropzone';\nimport { Cropper, type ReactCropperElement } from 'react-cropper';\n\nimport { Menu, MenuItem, Tooltip, IconButton } from '@mui/material';\n\nimport { Close as IconClose, Crop as CropIcon, UploadFileOutlined as UploadIcon } from '@mui/icons-material';\n\nimport { I18n } from '../i18n';\nimport { Icon } from './Icon';\n\n// import 'cropperjs/dist/cropper.css';\nconst cropperStyles = `\n/*!\n * Cropper.js v1.5.12\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2021-06-12T08:00:11.623Z\n */\n\n.cropper-container {\n direction: ltr;\n font-size: 0;\n line-height: 0;\n position: relative;\n -ms-touch-action: none;\n touch-action: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.cropper-container img {\n display: block;\n height: 100%;\n image-orientation: 0deg;\n max-height: none !important;\n max-width: none !important;\n min-height: 0 !important;\n min-width: 0 !important;\n width: 100%;\n}\n\n.cropper-wrap-box,\n.cropper-canvas,\n.cropper-drag-box,\n.cropper-crop-box,\n.cropper-modal {\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.cropper-wrap-box,\n.cropper-canvas {\n overflow: hidden;\n}\n\n.cropper-drag-box {\n background-color: #fff;\n opacity: 0;\n}\n\n.cropper-modal {\n background-color: #000;\n opacity: 0.5;\n}\n\n.cropper-view-box {\n display: block;\n height: 100%;\n outline: 1px solid #39f;\n outline-color: rgba(51, 153, 255, 0.75);\n overflow: hidden;\n width: 100%;\n}\n\n.cropper-dashed {\n border: 0 dashed #eee;\n display: block;\n opacity: 0.5;\n position: absolute;\n}\n\n.cropper-dashed.dashed-h {\n border-bottom-width: 1px;\n border-top-width: 1px;\n height: calc(100% / 3);\n left: 0;\n top: calc(100% / 3);\n width: 100%;\n}\n\n.cropper-dashed.dashed-v {\n border-left-width: 1px;\n border-right-width: 1px;\n height: 100%;\n left: calc(100% / 3);\n top: 0;\n width: calc(100% / 3);\n}\n\n.cropper-center {\n display: block;\n height: 0;\n left: 50%;\n opacity: 0.75;\n position: absolute;\n top: 50%;\n width: 0;\n}\n\n.cropper-center::before,\n.cropper-center::after {\n background-color: #eee;\n content: ' ';\n display: block;\n position: absolute;\n}\n\n.cropper-center::before {\n height: 1px;\n left: -3px;\n top: 0;\n width: 7px;\n}\n\n.cropper-center::after {\n height: 7px;\n left: 0;\n top: -3px;\n width: 1px;\n}\n\n.cropper-face,\n.cropper-line,\n.cropper-point {\n display: block;\n height: 100%;\n opacity: 0.1;\n position: absolute;\n width: 100%;\n}\n\n.cropper-face {\n background-color: #fff;\n left: 0;\n top: 0;\n}\n\n.cropper-line {\n background-color: #39f;\n}\n\n.cropper-line.line-e {\n cursor: ew-resize;\n right: -3px;\n top: 0;\n width: 5px;\n}\n\n.cropper-line.line-n {\n cursor: ns-resize;\n height: 5px;\n left: 0;\n top: -3px;\n}\n\n.cropper-line.line-w {\n cursor: ew-resize;\n left: -3px;\n top: 0;\n width: 5px;\n}\n\n.cropper-line.line-s {\n bottom: -3px;\n cursor: ns-resize;\n height: 5px;\n left: 0;\n}\n\n.cropper-point {\n background-color: #39f;\n height: 5px;\n opacity: 0.75;\n width: 5px;\n}\n\n.cropper-point.point-e {\n cursor: ew-resize;\n margin-top: -3px;\n right: -3px;\n top: 50%;\n}\n\n.cropper-point.point-n {\n cursor: ns-resize;\n left: 50%;\n margin-left: -3px;\n top: -3px;\n}\n\n.cropper-point.point-w {\n cursor: ew-resize;\n left: -3px;\n margin-top: -3px;\n top: 50%;\n}\n\n.cropper-point.point-s {\n bottom: -3px;\n cursor: s-resize;\n left: 50%;\n margin-left: -3px;\n}\n\n.cropper-point.point-ne {\n cursor: nesw-resize;\n right: -3px;\n top: -3px;\n}\n\n.cropper-point.point-nw {\n cursor: nwse-resize;\n left: -3px;\n top: -3px;\n}\n\n.cropper-point.point-sw {\n bottom: -3px;\n cursor: nesw-resize;\n left: -3px;\n}\n\n.cropper-point.point-se {\n bottom: -3px;\n cursor: nwse-resize;\n height: 20px;\n opacity: 1;\n right: -3px;\n width: 20px;\n}\n\n@media (min-width: 768px) {\n .cropper-point.point-se {\n height: 15px;\n width: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .cropper-point.point-se {\n height: 10px;\n width: 10px;\n }\n}\n\n@media (min-width: 1200px) {\n .cropper-point.point-se {\n height: 5px;\n opacity: 0.75;\n width: 5px;\n }\n}\n\n.cropper-point.point-se::before {\n background-color: #39f;\n bottom: -50%;\n content: ' ';\n display: block;\n height: 200%;\n opacity: 0;\n position: absolute;\n right: -50%;\n width: 200%;\n}\n\n.cropper-invisible {\n opacity: 0;\n}\n\n.cropper-bg {\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC');\n}\n\n.cropper-hide {\n display: block;\n height: 0;\n position: absolute;\n width: 0;\n}\n\n.cropper-hidden {\n display: none !important;\n}\n\n.cropper-move {\n cursor: move;\n}\n\n.cropper-crop {\n cursor: crosshair;\n}\n\n.cropper-disabled .cropper-drag-box,\n.cropper-disabled .cropper-face,\n.cropper-disabled .cropper-line,\n.cropper-disabled .cropper-point {\n cursor: not-allowed;\n}\n`;\n\nconst styles: Record = {\n dropZone: {\n width: '100%',\n height: 100,\n position: 'relative',\n },\n dropZoneEmpty: {},\n image: {\n objectFit: 'contain',\n margin: 'auto',\n display: 'flex',\n width: '100%',\n height: '100%',\n },\n\n uploadDiv: {\n position: 'relative',\n width: '100%',\n height: 300,\n opacity: 0.9,\n marginTop: 30,\n cursor: 'pointer',\n outline: 'none',\n },\n uploadDivDragging: {\n opacity: 1,\n background: 'rgba(128,255,128,0.1)',\n },\n\n uploadCenterDiv: {\n margin: 5,\n border: '3px dashed grey',\n borderRadius: 5,\n width: 'calc(100% - 10px)',\n height: 'calc(100% - 10px)',\n position: 'relative',\n display: 'flex',\n },\n uploadCenterIcon: {\n paddingTop: 10,\n width: 48,\n height: 48,\n },\n uploadCenterText: {\n fontSize: 16,\n },\n uploadCenterTextAndIcon: {\n textAlign: 'center',\n position: 'absolute',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n },\n disabledOpacity: {\n opacity: 0.3,\n cursor: 'default',\n },\n buttonRemoveWrapper: {\n position: 'absolute',\n zIndex: 222,\n right: 0,\n },\n buttonCropWrapper: {\n position: 'absolute',\n zIndex: 222,\n right: 0,\n top: 50,\n },\n error: {\n border: '2px solid red',\n boxSizing: 'border-box',\n },\n};\n\ninterface UploadImageProps {\n maxSize?: number;\n disabled?: boolean;\n crop?: boolean;\n error?: boolean;\n onChange: (base64: string) => void | undefined;\n icon: string | null;\n removeIconFunc: () => void | null;\n accept?: Record;\n}\n\ninterface UploadImageState {\n uploadFile: boolean | 'dragging';\n anchorEl: HTMLElement | null;\n cropHandler: boolean;\n}\n\nexport class UploadImage extends Component {\n private readonly cropperRef: React.RefObject;\n\n constructor(props: UploadImageProps) {\n super(props);\n\n this.state = {\n uploadFile: false,\n anchorEl: null,\n cropHandler: false,\n };\n this.cropperRef = createRef();\n\n if (!window.document.getElementById('cropper-style-json-component')) {\n const style = window.document.createElement('style');\n style.setAttribute('id', 'cropper-style-json-component');\n style.innerHTML = cropperStyles;\n window.document.head.appendChild(style);\n }\n }\n\n onDrop(acceptedFiles: File[]): void {\n const onChange = this.props.onChange;\n const maxSize = this.props.maxSize || 10 * 1024;\n\n const file = acceptedFiles[0];\n const reader = new FileReader();\n\n reader.onabort = () => console.log('file reading was aborted');\n reader.onerror = () => console.log('file reading has failed');\n reader.onload = () => {\n if (!file || !file.name) {\n return;\n }\n const parts = file.name?.split('.');\n let ext = parts?.length ? `image/${parts.pop()?.toLowerCase()}` : 'image/jpeg';\n if (ext === 'image/jpg') {\n ext = 'image/jpeg';\n } else if (ext.includes('svg')) {\n ext = 'image/svg+xml';\n }\n if (file.size > maxSize) {\n window.alert(I18n.t('ra_File is too big. Max %sk allowed. Try use SVG.', Math.round(maxSize / 1024)));\n } else {\n const base64 = `data:${ext};base64,${btoa(\n new Uint8Array(reader.result as ArrayBufferLike).reduce(\n (data, byte) => data + String.fromCharCode(byte),\n '',\n ),\n )}`;\n\n if (onChange) {\n onChange(base64);\n } else {\n console.log(base64);\n }\n }\n };\n reader.readAsArrayBuffer(file);\n }\n\n render(): JSX.Element {\n const { disabled, icon, removeIconFunc, error, crop, onChange } = this.props;\n const maxSize = this.props.maxSize || 10 * 1024;\n let accept = this.props.accept || { 'image/*': [] };\n const { uploadFile, anchorEl, cropHandler } = this.state;\n\n // covert '\"image/png\"' to { 'image/*': [] }\n if (typeof accept === 'string') {\n accept = { [accept]: [] };\n } else if (Array.isArray(accept)) {\n const result: Record = {};\n accept.forEach(item => {\n result[item] = [];\n });\n accept = result;\n }\n\n return (\n this.setState({ uploadFile: 'dragging' })}\n onDragLeave={() => this.setState({ uploadFile: true })}\n onDrop={(acceptedFiles: File[], errors: FileRejection[]) => {\n this.setState({ uploadFile: false });\n if (!acceptedFiles.length) {\n window.alert(errors?.[0]?.errors?.[0]?.message || I18n.t('ra_Cannot upload'));\n } else {\n this.onDrop(acceptedFiles);\n }\n }}\n >\n {({ getRootProps, getInputProps }) => (\n \n \n
\n {!icon ? (\n
\n \n
\n {uploadFile === 'dragging'\n ? I18n.t('ra_Drop file here')\n : I18n.t(\n 'ra_Place your files here or click here to open the browse dialog',\n )}\n
\n
\n ) : (\n removeIconFunc &&\n !cropHandler && (\n
\n \n {\n removeIconFunc && removeIconFunc();\n e.stopPropagation();\n }}\n >\n \n \n \n
\n )\n )}\n {icon && crop && (\n
\n \n {\n if (!cropHandler) {\n this.setState({ cropHandler: true });\n } else {\n this.setState({ anchorEl: e.currentTarget });\n }\n e.stopPropagation();\n }}\n >\n \n \n \n this.setState({ anchorEl: null })}\n >\n \n this.setState({ anchorEl: null, cropHandler: false }, () => {\n const imageElement = this.cropperRef?.current?.cropper;\n if (imageElement) {\n if (onChange) {\n onChange(imageElement.getCroppedCanvas().toDataURL());\n } else {\n console.log(imageElement.getCroppedCanvas().toDataURL());\n }\n }\n })\n }\n >\n {I18n.t('ra_Save')}\n \n this.setState({ anchorEl: null, cropHandler: false })}>\n {I18n.t('ra_Close')}\n \n \n
\n )}\n {icon && !cropHandler ? (\n \n ) : null}\n\n {icon && crop && cropHandler ? (\n \n ) : null}\n
\n \n )}\n \n );\n }\n}\n", "import e,{useRef as r,useEffect as o}from\"react\";import t from\"cropperjs\";var n=function(){return n=Object.assign||function(e){for(var r,o=1,t=arguments.length;o0&&e.zoomTo(s)}(e.currentTarget.cropper,M),w&&w(e)}}));x&&x(e)}return function(){var e,r;null===(r=null===(e=E.current)||void 0===e?void 0:e.cropper)||void 0===r||r.destroy()}}),[E]);var R=function(e){return c.reduce((function(e,r){var o=e,t=r;return o[t],a(o,[\"symbol\"==typeof t?t:t+\"\"])}),e)}(n(n({},j),{crossOrigin:g,src:v,alt:C}));return e.createElement(\"div\",{style:f,className:m},e.createElement(\"img\",n({},R,{style:i,ref:E})))}));export{l as Cropper,l as default};\n", "import React from 'react';\n\nimport {\n InputLabel,\n MenuItem,\n Select,\n TextField,\n FormControl,\n FormControlLabel,\n Checkbox,\n type Theme,\n} from '@mui/material';\n\nimport { convertCronToText } from './cronText';\n\nimport { I18n } from '../../i18n';\n\nconst styles: Record = {\n mainDiv: {\n width: '100%',\n height: '100%',\n overflow: 'auto',\n },\n formControl: {\n margin: 0,\n minWidth: 120,\n },\n formControlMarginRight: {\n marginRight: 5,\n },\n formControlPaddingTop: {\n paddingTop: 6.2,\n },\n};\n\ntype SimpleCronType = 'once' | 'interval' | 'intervalBetween' | 'specific';\nconst PERIODIC = {\n once: 'once',\n interval: 'interval',\n intervalBetween: 'intervalBetween',\n specific: 'specific',\n};\nconst PERIODIC_TYPES = {\n seconds: 'seconds',\n minutes: 'minutes',\n // hours: 'hours',\n};\nconst WEEKDAYS = [\n 'ra_Sunday',\n 'ra_Monday',\n 'ra_Tuesday',\n 'ra_Wednesday',\n 'ra_Thursday',\n 'ra_Friday',\n 'ra_Saturday',\n 'ra_Sunday',\n];\n\nfunction padding(num: number): string {\n if (num < 10) {\n return `0${num}`;\n }\n\n return `${num}`;\n}\nconst DEFAULT_STATE = {\n mode: 'interval',\n interval: {\n period: 1,\n unit: PERIODIC_TYPES.minutes,\n },\n};\n\ninterface SimpleCronProps {\n cronExpression?: string;\n onChange: (cron: string) => void;\n language: ioBroker.Languages;\n}\n\ninterface SimpleCronState {\n extended: boolean;\n cron: string;\n mode: SimpleCronType;\n once: {\n time: string;\n date: string;\n // weekdays?: number[];\n };\n interval: {\n period: number;\n unit: string;\n minutes?: number; // if extended\n hours?: number; // if extended\n };\n intervalBetween: {\n period: number;\n unit: string;\n timeFrom: number;\n timeTo: number;\n weekdays: number[];\n minutes?: number; // if extended\n hours?: number; // if extended\n };\n specific: {\n time: string;\n weekdays: number[];\n };\n}\n\ninterface CronStructure {\n seconds: string | null;\n minutes: string;\n hours: string;\n date: string;\n months: string;\n dow: string;\n}\n\nfunction text2weekdays(text: string): number[] {\n if (text === '*') {\n return [0, 1, 2, 3, 4, 5, 6];\n }\n\n const parts = text.split(',');\n const list: number[] = [];\n parts.forEach(part => {\n const _parts = part.split('-');\n if (_parts.length === 2) {\n const start = parseInt(_parts[0], 10);\n const end = parseInt(_parts[1], 10);\n for (let day = start; day <= end; day++) {\n if (!list.includes(day === 7 ? 0 : day)) {\n list.push(day === 7 ? 0 : day);\n }\n }\n } else {\n if (part === '7') {\n part = '0';\n }\n const numPart = parseInt(part, 10);\n if (!list.includes(numPart)) {\n list.push(numPart);\n }\n }\n });\n list.sort();\n return list;\n}\n\nexport function cron2state(cron: string, force?: boolean): Partial | null {\n cron = cron.replace(/['\"]/g, '').trim();\n const cronParts = cron.split(' ');\n let options: CronStructure;\n let state: Partial | null = null;\n\n if (cronParts.length === 6) {\n options = {\n seconds: cronParts[0] || '*',\n minutes: cronParts[1] || '*',\n hours: cronParts[2] || '*',\n date: cronParts[3] || '*',\n months: cronParts[4] || '*',\n dow: cronParts[5] || '*',\n };\n } else {\n options = {\n seconds: null,\n minutes: cronParts[0] || '*',\n hours: cronParts[1] || '*',\n date: cronParts[2] || '*',\n months: cronParts[3] || '*',\n dow: cronParts[4] || '*',\n };\n }\n\n // * * * * *\n if (\n options.seconds === null &&\n options.minutes === '*' &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*' &&\n (options.dow === '*' || force)\n ) {\n state = {\n mode: 'interval',\n interval: {\n period: 1,\n unit: PERIODIC_TYPES.minutes,\n },\n };\n } // * * * * * *\n\n if (\n options.seconds === '*' &&\n options.minutes === '*' &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*' &&\n (options.dow === '*' || force)\n ) {\n state = {\n mode: 'interval',\n interval: {\n period: 1,\n unit: PERIODIC_TYPES.seconds,\n },\n };\n } else if (\n options.seconds === null &&\n options.minutes.includes('/') &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*' &&\n (options.dow === '*' || force)\n ) {\n // */n * * * *\n state = {\n mode: 'interval',\n interval: {\n period: parseInt(options.minutes.split('/')[1], 10),\n unit: PERIODIC_TYPES.minutes,\n },\n };\n } else if (\n options.seconds !== null &&\n options.seconds.includes('/') &&\n options.minutes === '*' &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*' &&\n (options.dow === '*' || force)\n ) {\n // */n * * * * *\n state = {\n mode: 'interval',\n interval: {\n period: parseInt(options.seconds.split('/')[1], 10),\n unit: PERIODIC_TYPES.seconds,\n },\n };\n } else if (\n options.seconds !== null &&\n options.seconds.includes('/') &&\n options.minutes === '*' &&\n options.hours.includes('-') &&\n options.date === '*' &&\n options.months === '*' &&\n (options.dow === '*' || force)\n ) {\n // */n * 0-23 * * 1-7 or */n * 0-23 * * *\n state = {\n mode: 'intervalBetween',\n intervalBetween: {\n period: parseInt(options.seconds.split('/')[1], 10),\n unit: PERIODIC_TYPES.seconds,\n timeFrom: parseInt(options.hours.split('-')[0], 10),\n timeTo: parseInt(options.hours.split('-')[1], 10),\n weekdays: text2weekdays(options.dow),\n },\n };\n } else if (\n options.seconds === null &&\n options.minutes.includes('/') &&\n options.hours.includes('-') &&\n options.date === '*' &&\n options.months === '*' &&\n (options.dow === '*' || force)\n ) {\n // */n 0-23 * * 1-7 or */n 0-23 * * *\n state = {\n mode: 'intervalBetween',\n intervalBetween: {\n period: parseInt(options.minutes.split('/')[1], 10),\n unit: PERIODIC_TYPES.minutes,\n timeFrom: parseInt(options.hours.split('-')[0], 10),\n timeTo: parseInt(options.hours.split('-')[1], 10),\n weekdays: text2weekdays(options.dow),\n },\n };\n } else if (\n options.seconds === null &&\n parseInt(options.minutes, 10).toString() === options.minutes &&\n parseInt(options.hours, 10).toString() === options.hours &&\n options.date === '*' &&\n options.months === '*' &&\n (options.dow === '*' || force)\n ) {\n // m h * * 1-7 or m h * * *\n state = {\n mode: 'specific',\n specific: {\n time: `${padding(parseInt(options.hours, 10))}:${padding(parseInt(options.minutes, 10))}`,\n weekdays: text2weekdays(options.dow),\n },\n };\n } else if (\n options.seconds === null &&\n parseInt(options.minutes, 10).toString() === options.minutes &&\n parseInt(options.hours, 10).toString() === options.hours &&\n parseInt(options.date, 10).toString() === options.date &&\n parseInt(options.months, 10).toString() === options.months &&\n (options.dow === '*' || force)\n ) {\n // m h d M *\n state = {\n mode: 'once',\n once: {\n time: `${padding(parseInt(options.hours, 10))}:${padding(parseInt(options.minutes, 10))}`,\n date: `${padding(parseInt(options.date, 10))}.${padding(parseInt(options.months, 10))}`,\n },\n };\n }\n\n return state;\n}\n\nexport class SimpleCron extends React.Component {\n constructor(props: SimpleCronProps) {\n super(props);\n let cron =\n typeof props.cronExpression === 'string'\n ? props.cronExpression.replace(/^[\"']/, '').replace(/[\"']\\n?$/, '')\n : '';\n if (cron[0] === '{') {\n cron = '';\n }\n const state = cron2state(cron || '* * * * *', true) || DEFAULT_STATE;\n\n this.state = {\n extended: false,\n cron: SimpleCron.state2cron(state as SimpleCronState),\n mode: 'interval',\n once: {\n time: '00:00',\n date: '',\n },\n interval: {\n period: 1,\n unit: PERIODIC_TYPES.minutes,\n },\n intervalBetween: {\n period: 1,\n unit: PERIODIC_TYPES.minutes,\n timeFrom: 0,\n timeTo: 23,\n weekdays: [0, 1, 2, 3, 4, 5, 6],\n },\n specific: {\n time: '00:00',\n weekdays: [0, 1, 2, 3, 4, 5, 6],\n },\n };\n Object.assign(this.state, state);\n\n if (this.state.cron !== props.cronExpression) {\n setTimeout(() => props.onChange && props.onChange(this.state.cron), 100);\n }\n }\n\n static periodArray2text(list: number[], max: number = 7): string {\n max = max || 7;\n if (list.length === max) {\n return '*';\n }\n const text = [];\n let start = null;\n let end = null;\n if (!list.length) {\n return '_';\n }\n for (let i = 0; i < list.length; i++) {\n if (start === null) {\n start = list[i];\n end = list[i];\n } else if (list[i - 1] + 1 === list[i]) {\n end = list[i];\n } else {\n if (start !== end) {\n text.push(`${start}-${end}`);\n } else {\n text.push(start);\n }\n start = list[i];\n end = list[i];\n }\n }\n if (start !== end) {\n text.push(`${start}-${end}`);\n } else {\n text.push(start);\n }\n return text.join(',');\n }\n\n static text2weekdays(text: string): number[] {\n return text2weekdays(text);\n }\n\n static state2cron(state: Partial): string {\n let cron = '* * * * *';\n if (state.mode === 'interval') {\n const settings = state.interval || {\n period: 1,\n unit: PERIODIC_TYPES.minutes,\n };\n if (settings.period !== undefined && settings.period > 60) {\n settings.period = 60;\n }\n if (settings.period !== undefined && settings.period < 1) {\n settings.period = 1;\n }\n\n if (settings.minutes !== undefined && settings.minutes !== null && settings.minutes > 60) {\n settings.minutes = 60;\n }\n if (settings.minutes !== undefined && settings.minutes !== null && settings.minutes < 1) {\n settings.minutes = 1;\n }\n\n if (settings.hours !== undefined && settings.hours !== null && settings.hours > 24) {\n settings.hours = 24;\n }\n if (settings.hours !== undefined && settings.hours !== null && settings.hours < 1) {\n settings.hours = 1;\n }\n\n if (state.extended) {\n cron = `${settings.minutes !== undefined && settings.minutes !== null && settings.minutes > 1 ? `*/${settings.minutes}` : '*'} ${settings.hours !== undefined && settings.hours !== null && settings.hours > 1 ? `*/${settings.hours}` : '*'} * * *`;\n } else {\n switch (settings.unit) {\n case PERIODIC_TYPES.seconds:\n cron = `${settings.period > 1 ? `*/${settings.period}` : '*'} * * * * *`;\n break;\n case PERIODIC_TYPES.minutes:\n cron = `${settings.period > 1 ? `*/${settings.period}` : '*'} * * * *`;\n break;\n default:\n break;\n }\n }\n } else if (state.mode === 'intervalBetween') {\n const settings = state.intervalBetween || {\n period: 1,\n unit: PERIODIC_TYPES.minutes,\n timeFrom: 0,\n timeTo: 24,\n weekdays: [0, 1, 2, 3, 4, 5, 6],\n };\n let hours;\n settings.timeFrom = settings.timeFrom || 0;\n settings.timeTo = settings.timeTo === undefined ? 24 : settings.timeTo;\n if (settings.timeFrom !== 0 && settings.timeTo === 24) {\n settings.timeTo = 23;\n }\n if (settings.timeFrom === 0 && settings.timeTo === 24) {\n hours = '*';\n } else {\n hours = settings.timeFrom !== settings.timeTo ? `${settings.timeFrom}-${settings.timeTo}` : '*';\n }\n if (settings.period > 60) {\n settings.period = 60;\n }\n if (settings.period < 1) {\n settings.period = 1;\n }\n settings.unit = settings.unit || PERIODIC_TYPES.minutes;\n switch (settings.unit) {\n case PERIODIC_TYPES.seconds:\n cron = `${settings.period > 1 ? `*/${settings.period}` : '*'} * ${hours} * * ${this.periodArray2text(settings.weekdays)}`;\n break;\n case PERIODIC_TYPES.minutes:\n cron = `${settings.period > 1 ? `*/${settings.period}` : '*'} ${hours} * * ${this.periodArray2text(settings.weekdays)}`;\n break;\n default:\n break;\n }\n } else if (state.mode === 'specific') {\n const settings = state.specific || {\n time: '00:00',\n weekdays: [0, 1, 2, 3, 4, 5, 6],\n };\n const parts = (settings.time || '00:00').split(':');\n let minutes = parseInt(parts[1], 10) || 0;\n if (minutes > 59) {\n minutes = 59;\n }\n if (minutes < 0) {\n minutes = 0;\n }\n let hours = parseInt(parts[0], 10) || 0;\n if (hours > 23) {\n hours = 59;\n }\n if (hours < 0) {\n hours = 0;\n }\n\n cron = `${minutes} ${hours} * * ${this.periodArray2text(settings.weekdays || [])}`;\n } else if (state.mode === 'once') {\n const settings = state.once || {\n time: '00:00',\n date: '',\n };\n if (!settings.date) {\n settings.date = `${new Date().getDate()}.${padding(new Date().getMonth() + 1)}`;\n }\n const parts = (settings.time || '00:00').split(':');\n const partsDate = settings.date.split('.');\n let minutes = parseInt(parts[1], 10) || 0;\n if (minutes > 59) {\n minutes = 59;\n }\n if (minutes < 0) {\n minutes = 0;\n }\n let hours = parseInt(parts[0], 10) || 0;\n if (hours > 23) {\n hours = 59;\n }\n if (hours < 0) {\n hours = 0;\n }\n let date = parseInt(partsDate[0], 10) || 1;\n if (date > 31) {\n date = 31;\n }\n if (date < 1) {\n hours = 1;\n }\n let month = parseInt(partsDate[1], 10) || 1;\n if (month > 12) {\n month = 12;\n }\n if (month < 1) {\n month = 1;\n }\n\n cron = `${minutes} ${hours} ${date} ${month} *`;\n }\n return cron;\n }\n\n recalcCron(): void {\n this.onChange(SimpleCron.state2cron(this.state));\n }\n\n getControlsWeekdaysElements(type: 'intervalBetween' | 'specific'): React.JSX.Element {\n const settings = type === 'intervalBetween' ? this.state.intervalBetween : this.state.specific;\n return (\n \n
{I18n.t('ra_On weekdays')}
\n {[1, 2, 3, 4, 5, 6, 0].map(day => (\n {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n const pos = _settings.weekdays.indexOf(day);\n if (e.target.checked) {\n if (pos === -1) {\n _settings.weekdays.push(day);\n }\n } else {\n if (pos !== -1) {\n _settings.weekdays.splice(pos, 1);\n }\n }\n _settings.weekdays.sort();\n if (type === 'intervalBetween') {\n this.setState({ intervalBetween: _settings }, () => this.recalcCron());\n } else {\n this.setState({ specific: _settings }, () => this.recalcCron());\n }\n }}\n value={day.toString()}\n />\n }\n label={I18n.t(WEEKDAYS[day])}\n />\n ))}\n \n );\n }\n\n getControlsPeriodElements(type: 'interval' | 'intervalBetween'): React.JSX.Element {\n const settings = type === 'interval' ? this.state.interval : this.state.intervalBetween;\n\n if (this.state.extended) {\n return (\n \n
{I18n.t('sc_period')}
\n {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n _settings.minutes = parseInt(e.target.value, 10);\n if (_settings.minutes < 1) {\n _settings.minutes = 1;\n }\n if (type === 'interval') {\n this.setState({ interval: _settings }, () => this.recalcCron());\n } else {\n this.setState({ intervalBetween: _settings }, () => this.recalcCron());\n }\n }}\n slotProps={{\n htmlInput: {\n min: 1,\n max: 60,\n },\n inputLabel: {\n shrink: true,\n },\n }}\n type=\"number\"\n margin=\"normal\"\n />\n {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n _settings.hours = parseInt(e.target.value, 10);\n if (_settings.hours < 1) {\n _settings.hours = 1;\n }\n if (type === 'interval') {\n this.setState({ interval: _settings }, () => this.recalcCron());\n } else {\n this.setState({ intervalBetween: _settings }, () => this.recalcCron());\n }\n }}\n slotProps={{\n htmlInput: {\n min: 1,\n max: 24,\n },\n inputLabel: {\n shrink: true,\n },\n }}\n type=\"number\"\n margin=\"normal\"\n />\n \n );\n }\n\n return (\n \n
{I18n.t('sc_period')}
\n {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n _settings.period = parseInt(e.target.value, 10);\n if (_settings.period < 1) {\n _settings.period = 1;\n }\n if (type === 'interval') {\n this.setState({ interval: _settings }, () => this.recalcCron());\n } else {\n this.setState({ intervalBetween: _settings }, () => this.recalcCron());\n }\n }}\n slotProps={{\n htmlInput: {\n min: 1,\n max: 60,\n },\n inputLabel: {\n shrink: true,\n },\n }}\n type=\"number\"\n margin=\"normal\"\n />\n {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n _settings.unit = e.target.value;\n if (type === 'interval') {\n this.setState({ interval: _settings }, () => this.recalcCron());\n } else {\n this.setState({ intervalBetween: _settings }, () => this.recalcCron());\n }\n }}\n >\n {I18n.t('sc_seconds')})\n {I18n.t('sc_minutes')})\n \n \n );\n }\n\n getControlsTime(type: 'once' | 'specific'): React.JSX.Element {\n const settings = type === 'once' ? this.state.once : this.state.specific;\n return (\n \n ({\n '& input[type=\"time\"]::-webkit-calendar-picker-indicator': {\n filter: theme.palette.mode === 'dark' ? 'invert(80%)' : undefined,\n },\n })}\n onChange={e => {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n _settings.time = e.target.value;\n if (type === 'once') {\n this.setState({ once: _settings }, () => this.recalcCron());\n } else {\n this.setState({ specific: _settings }, () => this.recalcCron());\n }\n }}\n slotProps={{\n inputLabel: {\n shrink: true,\n },\n }}\n margin=\"normal\"\n />\n \n );\n }\n\n getControlsDate(): React.JSX.Element {\n const settings = this.state.once;\n\n if (!settings.date) {\n const d = new Date();\n settings.date = `${d.getDate()}.${padding(d.getMonth() + 1)}`;\n }\n\n // {I18n.t('sc_at')}\n return (\n \n {\n const _settings = JSON.parse(JSON.stringify(this.state.once));\n _settings.date = e.target.value;\n this.setState({ once: _settings }, () => this.recalcCron());\n }}\n margin=\"normal\"\n />\n \n );\n }\n\n getOnceElements(): React.JSX.Element {\n return (\n
\n {this.getControlsTime('once')}\n {this.getControlsDate()}\n
\n );\n }\n\n getIntervalElements(): React.JSX.Element {\n return this.getControlsPeriodElements('interval');\n }\n\n getIntervalBetweenElements(): React.JSX.Element[] {\n const settings = this.state.intervalBetween;\n return [\n this.getControlsPeriodElements('intervalBetween'),\n \n
{I18n.t('sc_hours')}
\n \n \n {I18n.t('sc_from')}\n \n {\n const _settings = JSON.parse(JSON.stringify(this.state.intervalBetween));\n _settings.timeFrom = parseInt(e.target.value as string, 10);\n if (_settings.timeTo === 24) {\n _settings.timeTo = 23;\n }\n this.setState({ intervalBetween: _settings }, () => this.recalcCron());\n }}\n >\n {[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23].map(\n hour => (\n \n {`${padding(hour)}:00`}\n \n ),\n )}\n \n \n \n \n {I18n.t('sc_to')}\n \n {\n const _settings = JSON.parse(JSON.stringify(this.state.intervalBetween));\n _settings.timeTo = parseInt(e.target.value as string, 10);\n this.setState({ intervalBetween: _settings }, () => this.recalcCron());\n }}\n >\n {[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23].map(\n hour => (\n \n {`${padding(hour)}:00`}\n \n ),\n )}\n {!settings.timeFrom && 00:00}\n \n \n ,\n this.getControlsWeekdaysElements('intervalBetween'),\n ];\n }\n\n getSpecificTimeElements(): React.JSX.Element[] {\n return [\n \n {this.getControlsTime('specific')}\n ,\n this.getControlsWeekdaysElements('specific'),\n ];\n }\n\n onModeChange(mode: 'once' | 'interval' | 'intervalBetween' | 'specific'): void {\n if (mode !== this.state.mode) {\n this.setState({ mode }, () => this.recalcCron());\n }\n }\n\n onChange(cron: string): void {\n if (cron !== this.state.cron) {\n this.setState({ cron });\n this.props.onChange && this.props.onChange(cron);\n }\n }\n\n render(): React.JSX.Element {\n return (\n
\n
\n \n
\n
\n {this.state.cron.includes('_')\n ? I18n.t('sc_invalid_cron')\n : convertCronToText(this.state.cron, this.props.language || 'en')}\n
\n
\n \n {I18n.t('ra_Repeat')}\n this.onModeChange(e.target.value as SimpleCronType)}\n inputProps={{ name: 'mode', id: 'mode' }}\n >\n {I18n.t('sc_once')}\n {I18n.t('sc_interval')}\n {I18n.t('sc_intervalBetween')}\n {I18n.t('sc_specific')}\n \n \n
\n {this.state.mode === PERIODIC.once && this.getOnceElements()}\n {this.state.mode === 'interval' && this.getIntervalElements()}\n {this.state.mode === 'intervalBetween' && this.getIntervalBetweenElements()}\n {this.state.mode === 'specific' && this.getSpecificTimeElements()}\n
\n );\n }\n}\n", "/**\n * Copyright 2021-2024 ioBroker GmbH\n *\n * MIT License\n *\n */\nimport React, { useEffect } from 'react';\nimport { CircularProgress } from '@mui/material';\n\nimport type { ThemeType, ThemeName } from '../../types';\n\n// import './Vendor.css'\nconst vendorStyles = `\n.logo-background-light, .logo-background-colored {\n background: white;\n}\n.logo-background-dark, .logo-background-blue {\n background: black;\n}\n`;\n\ninterface LoaderVendorProps {\n /** The size in pixels of this loader. */\n size?: number;\n /** The chosen theme type. */\n themeType?: ThemeType;\n /** The chosen theme name. */\n themeName?: ThemeName;\n /** Background color */\n backgroundColor?: string;\n /** Background image URL */\n backgroundImage?: string;\n}\n\nexport function LoaderVendor(props: LoaderVendorProps): React.JSX.Element {\n useEffect(() => {\n if (!window.document.getElementById('vendor-iobroker-component')) {\n const style = window.document.createElement('style');\n style.setAttribute('id', 'vendor-iobroker-component');\n style.innerHTML = vendorStyles;\n window.document.head.appendChild(style);\n }\n }, []);\n\n const theme = props.themeType || props.themeName || 'light';\n return (\n \n
\n \n
\n
\n );\n}\n", "/**\n * Copyright 2021-2024 ioBroker GmbH\n *\n * MIT License\n *\n */\nimport React, { useEffect } from 'react';\n\nimport type { ThemeType, ThemeName } from '../../types';\n\n// import './PT.css'\nconst ptStyles = `\n.logo-background-light, .logo-background-colored {\n background: white;\n}\n.logo-background-dark, .logo-background-blue {\n background: black;\n}\n.pt-logo-div {\n position: absolute;\n top: 50%;\n left: 50%;\n -ms-transform: translateX(-50%) translateY(-50%);\n -webkit-transform: translate(-50%,-50%);\n transform: translate(-50%,-50%);\n z-index: 2;\n}\n.pt-logo-border {\n border-style: solid;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n position: absolute;\n}\n.pt-loader-block {\n height: 65px;\n width: 74px;\n border-radius: 15px;\n position: absolute;\n box-sizing: content-box;\n}\n.pt-loader-blue {\n border: 9px solid #0F99DE;\n transform: rotate(5grad);\n left: 93px;\n top: 0;\n animation: spin-blue 5s ease-in-out infinite;\n}\n.pt-loader-green {\n border: 9px solid #88A536;\n transform: rotate(-6grad);\n left: 70px;\n top: 58px;\n animation: spin-green 5s ease-in-out infinite;\n}\n.pt-loader-red {\n border: 9px solid #BD1B24;\n transform: rotate(-15grad);\n left: 24px;\n top: 100px;\n animation: spin-red 5s ease-in-out infinite;\n}\n\n@keyframes spin-blue {\n 0% {\n transform: rotate(5deg);\n }\n 25% {\n transform: rotate(185deg);\n }\n 50% {\n transform: rotate(185deg);\n }\n 75% {\n transform: rotate(185deg);\n }\n 100% {\n transform: rotate(185deg);\n }\n}\n@keyframes spin-green {\n 0% {\n transform: rotate(-6deg);\n }\n 25% {\n transform: rotate(-6deg);\n }\n 50% {\n transform: rotate(174deg);\n }\n 75% {\n transform: rotate(174deg);\n }\n 100% {\n transform: rotate(-6deg);\n }\n}\n@keyframes spin-red {\n 0% {\n transform: rotate(-15deg);\n }\n 25% {\n transform: rotate(-15deg);\n }\n 50% {\n transform: rotate(-15deg);\n }\n 75% {\n transform: rotate(165deg);\n }\n 100% {\n transform: rotate(165deg);\n }\n}\n`;\n\ninterface LoaderPTProps {\n /** The size in pixels of this loader. */\n size?: number;\n /** The chosen theme type. */\n themeType?: ThemeType;\n /** The chosen theme name. */\n themeName?: ThemeName;\n /** Background color */\n backgroundColor?: string;\n /** Background image URL */\n backgroundImage?: string;\n}\n\n/**\n * A loader component with the vendor-specific logo\n *\n * @param props Properties of the loader of type LoaderPTProps\n */\nexport function LoaderPT(props: LoaderPTProps): React.JSX.Element {\n const size = props.size || 200;\n useEffect(() => {\n if (!window.document.getElementById('pt-iobroker-component')) {\n const style = window.document.createElement('style');\n style.setAttribute('id', 'pt-iobroker-component');\n style.innerHTML = ptStyles;\n window.document.head.appendChild(style);\n }\n }, []);\n\n const themeName = props.themeType || props.themeName || 'light';\n return (\n \n \n
\n
\n
\n
\n
\n
\n
\n );\n}\n", "import React from 'react';\nimport type { ThemeType } from '../../types';\n\ninterface LogoProps {\n themeType?: ThemeType;\n size?: number;\n /** Background color */\n backgroundColor?: string;\n /** Background image URL */\n backgroundImage?: string;\n}\n\n/**\n * Vendor specific loader\n *\n * @param props Properties\n */\nexport function LoaderMV(props: LogoProps): React.JSX.Element {\n const themeType = props.themeType || 'light';\n const size = props.size || 300;\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {[\n 0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180, 195, 210, 225, 240, 255, 270, 285,\n 300, 315, 330, 345,\n ].map(angle => (\n \n ))}\n \n \n \n \n
\n
\n );\n}\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\nexport const IconFx = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 95 95\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n);\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\nexport const IconLogout = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 512 512\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n \n);\n", "import React, { type JSX } from 'react';\n\nimport { Button, DialogTitle, DialogContent, DialogActions, Dialog } from '@mui/material';\n\nimport { Check as IconOk, Cancel as IconCancel, Delete as IconClear } from '@mui/icons-material';\n\nimport { ComplexCron } from '../Components/ComplexCron';\nimport { DialogConfirm } from '../Dialogs/Confirm';\n\nimport { I18n } from '../i18n';\n\n// Generate cron expression\nconst styles: Record = {\n headerID: {\n fontWeight: 'bold',\n fontStyle: 'italic',\n },\n radio: {\n display: 'inline-block',\n },\n dialogPaper: {\n height: 'calc(100% - 96px)',\n },\n};\n\ninterface DialogCronProps {\n onClose: () => void;\n onOk: (cron: string | false) => void;\n title?: string;\n cron?: string;\n cancel?: string;\n ok?: string;\n clear?: string;\n clearButton?: boolean;\n}\n\ninterface DialogCronState {\n cron: string;\n showWarning: '' | 'everySecond' | 'everyMinute';\n}\n\nexport class DialogComplexCron extends React.Component {\n constructor(props: DialogCronProps) {\n super(props);\n let cron;\n if (this.props.cron && typeof this.props.cron === 'string' && this.props.cron.replace(/^[\"']/, '')[0] !== '{') {\n cron = this.props.cron.replace(/['\"]/g, '').trim();\n } else {\n cron = this.props.cron || '{}';\n if (typeof cron === 'string') {\n cron = cron.replace(/^[\"']/, '').replace(/[\"']\\n?$/, '');\n }\n }\n\n this.state = {\n showWarning: '',\n cron,\n };\n }\n\n handleCancel(): void {\n this.props.onClose();\n }\n\n handleOk(ignoreCheck?: boolean): void {\n if (!ignoreCheck) {\n // Check if the CRON will be executed every second or every minute and warn about it\n const cron = ComplexCron.cron2state(this.state.cron);\n if (cron.seconds === '*' || cron.seconds === '*/1') {\n this.setState({ showWarning: 'everySecond' });\n return;\n }\n if (cron.minutes === '*' || cron.minutes === '*/1') {\n this.setState({ showWarning: 'everyMinute' });\n return;\n }\n }\n\n this.props.onOk(this.state.cron);\n this.props.onClose();\n }\n\n renderWarningDialog(): JSX.Element | null {\n if (!this.state.showWarning) {\n return null;\n }\n return (\n \n this.setState({ showWarning: '' }, () => {\n if (ok) {\n this.handleOk(true);\n }\n })\n }\n />\n );\n }\n\n handleClear(): void {\n this.props.onOk(false);\n this.props.onClose();\n }\n\n render(): JSX.Element {\n return (\n {}}\n maxWidth=\"md\"\n fullWidth\n sx={{ '& .MuiDialog-paper': styles.dialogPaper }}\n open={!0}\n aria-labelledby=\"cron-dialog-title\"\n >\n {this.renderWarningDialog()}\n {this.props.title || I18n.t('ra_Define schedule...')}\n \n this.setState({ cron })}\n language={I18n.getLanguage()}\n />\n \n \n {!!this.props.clearButton && (\n this.handleClear()}\n startIcon={}\n >\n {this.props.clear || I18n.t('ra_Clear')}\n \n )}\n this.handleOk()}\n color=\"primary\"\n startIcon={}\n >\n {this.props.ok || I18n.t('ra_Ok')}\n \n this.handleCancel()}\n startIcon={}\n >\n {this.props.cancel || I18n.t('ra_Cancel')}\n \n \n \n );\n }\n}\n", "import React, { type JSX } from 'react';\n\nimport { Button, DialogTitle, DialogContent, DialogActions, Dialog, Radio } from '@mui/material';\n\nimport { Check as IconOk, Cancel as IconCancel } from '@mui/icons-material';\n\nimport { ComplexCron } from '../Components/ComplexCron';\nimport { SimpleCron, cron2state } from '../Components/SimpleCron';\nimport { Schedule } from '../Components/Schedule';\n\nimport { I18n } from '../i18n';\nimport type { IobTheme } from '../types';\n\n// Generate cron expression\n\nconst styles: Record = {\n dialogPaper: {\n height: 'calc(100% - 96px)',\n },\n};\n\ninterface DialogCronProps {\n onClose: () => void;\n onOk: (cron: string) => void;\n title?: string;\n cron?: string;\n cancel?: string;\n ok?: string;\n /** show only simple configuration */\n simple?: boolean;\n /** show only complex configuration */\n complex?: boolean;\n /** do not show wizard */\n noWizard?: boolean;\n theme: IobTheme;\n}\n\ninterface DialogCronState {\n cron: string;\n mode: 'simple' | 'complex' | 'wizard';\n}\n\nexport class DialogCron extends React.Component {\n constructor(props: DialogCronProps) {\n super(props);\n let cron;\n if (this.props.cron && typeof this.props.cron === 'string' && this.props.cron.replace(/^[\"']/, '')[0] !== '{') {\n cron = this.props.cron.replace(/['\"]/g, '').trim();\n } else {\n cron = this.props.cron || '{}';\n if (typeof cron === 'string') {\n cron = cron.replace(/^[\"']/, '').replace(/[\"']\\n?$/, '');\n }\n }\n\n this.state = {\n cron,\n mode: this.props.simple\n ? 'simple'\n : this.props.complex\n ? 'complex'\n : (typeof cron === 'object' || cron[0] === '{') && !this.props.noWizard\n ? 'wizard'\n : cron2state(this.props.cron || '* * * * *')\n ? 'simple'\n : 'complex',\n };\n }\n\n handleCancel(): void {\n this.props.onClose();\n }\n\n handleOk(): void {\n this.props.onOk(this.state.cron);\n this.props.onClose();\n }\n\n setMode(mode: 'simple' | 'complex' | 'wizard'): void {\n this.setState({ mode });\n }\n\n render(): JSX.Element {\n return (\n {}}\n maxWidth=\"md\"\n fullWidth\n sx={{ '& .MuiDialog-paper': styles.dialogPaper }}\n open={!0}\n aria-labelledby=\"cron-dialog-title\"\n >\n {this.props.title || I18n.t('ra_Define schedule...')}\n \n {(this.props.simple && this.props.complex) || (!this.props.simple && !this.props.complex) ? (\n
\n {!this.props.simple && !this.props.complex && !this.props.noWizard && (\n <>\n this.setMode('wizard')}\n />\n this.setMode('wizard')}\n style={this.state.mode !== 'wizard' ? { color: 'lightgrey' } : {}}\n >\n {I18n.t('sc_wizard')}\n \n \n )}\n\n {((!this.props.simple && !this.props.complex) || this.props.simple) && (\n <>\n this.setMode('simple')}\n />\n this.setMode('simple')}\n style={this.state.mode !== 'simple' ? { color: 'lightgrey' } : {}}\n >\n {I18n.t('sc_simple')}\n \n \n )}\n\n {((!this.props.simple && !this.props.complex) || this.props.complex) && (\n <>\n this.setMode('complex')}\n />\n this.setMode('complex')}\n style={this.state.mode !== 'complex' ? { color: 'lightgrey' } : {}}\n >\n {I18n.t('sc_cron')}\n \n \n )}\n
\n ) : null}\n\n {this.state.mode === 'simple' && (\n this.setState({ cron })}\n language={I18n.getLanguage()}\n />\n )}\n {this.state.mode === 'wizard' && (\n this.setState({ cron })}\n />\n )}\n {this.state.mode === 'complex' && (\n this.setState({ cron })}\n language={I18n.getLanguage()}\n />\n )}\n
\n \n this.handleOk()}\n color=\"primary\"\n startIcon={}\n >\n {this.props.ok || I18n.t('ra_Ok')}\n \n this.handleCancel()}\n color=\"grey\"\n startIcon={}\n >\n {this.props.cancel || I18n.t('ra_Cancel')}\n \n \n \n );\n }\n}\n", "/**\n * Copyright 2018-2023 Denis Haev (bluefox) \n *\n * MIT License\n *\n */\n\n// please do not delete React, as without it other projects could not be compiled: ReferenceError: React is not defined\nimport React, { Component, type JSX } from 'react';\n\nimport { Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle } from '@mui/material';\n\nimport { Close as IconClose } from '@mui/icons-material';\n\nimport { I18n } from '../i18n';\n\ninterface DialogMessageProps {\n /* The dialog title; default: Message (translated) */\n title?: string;\n /* The dialog text */\n text: string | React.JSX.Element | React.JSX.Element[];\n /* Close handler. */\n onClose?: () => void;\n /* if the dialog must be fill sized */\n fullWidth?: boolean;\n /* optional icon */\n icon?: React.JSX.Element;\n /* optional ok button text */\n ok?: string;\n}\n\nexport class DialogMessage extends Component {\n handleOk(): void {\n if (this.props.onClose) {\n this.props.onClose();\n }\n }\n\n render(): JSX.Element {\n return (\n this.handleOk()}\n aria-labelledby=\"ar_dialog_message_title\"\n aria-describedby=\"ar_dialog_message_description\"\n >\n {this.props.title || I18n.t('ra_Message')}\n \n \n {this.props.icon || null}\n {this.props.text}\n \n \n \n this.handleOk()}\n color=\"primary\"\n autoFocus\n startIcon={}\n >\n {this.props.ok || I18n.t('ra_Close')}\n \n \n \n );\n }\n}\n", "/*\n * Copyright 2022-2024 Denis Haev (bluefox) \n *\n * MIT License\n *\n */\n// please do not delete React, as without it other projects could not be compiled: ReferenceError: React is not defined\nimport React, { type JSX } from 'react';\n\nimport { Button, DialogTitle, DialogContent, DialogActions, Dialog } from '@mui/material';\n\nimport { Cancel as IconCancel, Check as IconOk } from '@mui/icons-material';\n\nimport type { Connection } from '@iobroker/socket-client';\n\nimport { I18n } from '../i18n';\nimport { FileBrowser } from '../Components/FileBrowser';\nimport type { IobTheme } from '../types';\n\nconst styles: Record = {\n headerID: {\n fontWeight: 'bold',\n fontStyle: 'italic',\n },\n dialog: {\n height: '95%',\n },\n dialogMobile: {\n // it is sx\n padding: '4px',\n width: '100%',\n maxWidth: '100%',\n maxHeight: 'calc(100% - 16px)',\n height: '100%',\n },\n content: {\n height: '100%',\n overflow: 'hidden',\n },\n contentMobile: {\n padding: '8px 4px',\n },\n titleRoot: {\n whiteSpace: 'nowrap',\n width: 'calc(100% - 72px)',\n overflow: 'hidden',\n display: 'inline-block',\n textOverflow: 'ellipsis',\n },\n};\n\ninterface DialogSelectFileProps {\n /** where to store settings in localStorage * @property {string} [title] The dialog title; default: Please select object ID... (translated) */\n dialogName?: string;\n /** The dialog title; default: Please select object ID... (translated) */\n title?: string;\n /** Set to true to allow the selection of multiple IDs. */\n multiSelect?: boolean;\n /** Image prefix. Normally, admin has '../..' and the web has '../' */\n imagePrefix?: string; // Prefix (default: '.')\n /** @deprecated Image prefix */\n prefix?: string;\n /** Show the expert button? */\n showExpertButton?: boolean;\n /** Language */\n lang?: ioBroker.Languages;\n /** Socket class */\n socket: Connection;\n /** Theme name. */\n themeName?: string;\n /** Theme type. */\n themeType?: 'dark' | 'light';\n /** Theme object. */\n theme: IobTheme;\n /** The selected IDs. */\n selected?: string | string[];\n /** The ok button text; default: OK (translated) */\n ok?: string;\n /** The cancel button text; default: Cancel (translated) */\n cancel?: string;\n /** If download of files enabled */\n allowUpload?: boolean;\n /** If download of files enabled */\n allowDownload?: boolean;\n /** If creation of folders enabled */\n allowCreateFolder?: boolean;\n /** If creation of folders enabled */\n allowDelete?: boolean;\n /** if tile view enabled (default true) */\n allowView?: boolean;\n /** Show toolbar (default true) */\n showToolbar?: boolean;\n /** Limit file browser to one specific objectID of type meta and the following path (like vis.0/main) */\n limitPath?: string;\n /** like `['png', 'svg', 'bmp', 'jpg', 'jpeg', 'gif']` */\n filterFiles?: string[];\n /** images, code, txt, audio, video */\n filterByType?: 'images' | 'code' | 'txt';\n /** allow only folder's selection */\n selectOnlyFolders?: boolean;\n /** Close handler that is always called when the dialog is closed. */\n onClose: () => void;\n /** Handler that is called when the user presses OK or by double click. */\n onOk: (selected: string | string[] | undefined) => void;\n /** The styling class names. */\n filters?: Record;\n /** Allow switch views Table<=>Rows */\n showViewTypeButton?: boolean;\n /** If type selector should be shown */\n showTypeSelector?: boolean;\n /** If defined, allow selecting only files from this folder */\n restrictToFolder?: string;\n /** If restrictToFolder defined, allow selecting files outside of this folder */\n allowNonRestricted?: boolean;\n /** force expert mode */\n expertMode?: boolean;\n /** Translate function - optional */\n t?: (text: string, ...args: any[]) => string;\n}\n\ninterface DialogSelectFileState {\n selected: string[];\n}\n\nexport class DialogSelectFile extends React.Component {\n private readonly dialogName: string;\n\n private readonly filters: Record;\n\n constructor(props: DialogSelectFileProps) {\n super(props);\n this.dialogName = this.props.dialogName || 'default';\n this.dialogName = `SelectFile.${this.dialogName}`;\n\n const filters: string = ((window as any)._localStorage || window.localStorage).getItem(this.dialogName) || '{}';\n\n try {\n this.filters = JSON.parse(filters);\n } catch {\n this.filters = {};\n }\n\n if (props.filters) {\n this.filters = { ...this.filters, ...props.filters };\n }\n\n let selected = this.props.selected || [];\n if (typeof selected !== 'object') {\n selected = [selected];\n } else {\n selected = [...selected];\n }\n selected = selected.filter(id => id);\n\n this.state = {\n selected,\n };\n }\n\n handleCancel(): void {\n this.props.onClose();\n }\n\n handleOk(): void {\n this.props.onOk(\n this.props.multiSelect || !Array.isArray(this.state.selected)\n ? this.state.selected\n : this.state.selected[0] || '',\n );\n this.props.onClose();\n }\n\n render(): JSX.Element {\n let title;\n if (this.state.selected.length) {\n if (!Array.isArray(this.state.selected) || this.state.selected.length === 1) {\n title = [\n \n {I18n.t('ra_Selected')}\n  \n ,\n \n {this.state.selected}\n ,\n ];\n } else {\n title = [\n \n {I18n.t('ra_Selected')}\n  \n ,\n \n {I18n.t('%s items', this.state.selected.length)}\n ,\n ];\n }\n } else {\n title = this.props.title || I18n.t('ra_Please select file...');\n }\n\n return (\n {}}\n maxWidth={false}\n sx={{ '& .MuiDialog-paper': { ...styles.dialog, ...styles.dialogMobile } }}\n fullWidth\n open={!0}\n aria-labelledby=\"ar_dialog_selectfile_title\"\n >\n \n {title}\n \n \n {\n this.setState(\n { selected: Array.isArray(selected) ? selected : [selected] },\n () => isDoubleClick && (!this.props.selectOnlyFolders || isFolder) && this.handleOk(),\n );\n }}\n t={this.props.t || I18n.t}\n lang={this.props.lang || I18n.getLanguage()}\n socket={this.props.socket}\n themeType={this.props.themeType}\n themeName={this.props.themeName}\n theme={this.props.theme}\n showExpertButton={this.props.showExpertButton}\n expertMode={this.props.expertMode}\n showTypeSelector={this.props.showTypeSelector}\n />\n \n \n this.handleOk()}\n startIcon={}\n disabled={!this.state.selected.length}\n color=\"primary\"\n >\n {this.props.ok || I18n.t('ra_Ok')}\n \n this.handleCancel()}\n startIcon={}\n >\n {this.props.cancel || I18n.t('ra_Cancel')}\n \n \n \n );\n }\n}\n", "import React, { type JSX } from 'react';\nimport { Button, DialogTitle, DialogContent, DialogActions, Dialog } from '@mui/material';\n\nimport { Check as IconOk, Cancel as IconCancel } from '@mui/icons-material';\n\nimport { SimpleCron } from '../Components/SimpleCron';\n\nimport { I18n } from '../i18n';\n\n// Generates cron expression\n\nconst styles: Record = {\n dialogPaper: {\n height: 'calc(100% - 96px)',\n },\n};\n\ninterface DialogCronProps {\n onClose: () => void;\n onOk: (cron: string) => void;\n title?: string;\n cron?: string;\n cancel?: string;\n ok?: string;\n}\n\ninterface DialogCronState {\n cron: string;\n}\n\nexport class DialogSimpleCron extends React.Component {\n constructor(props: DialogCronProps) {\n super(props);\n\n let cron;\n if (this.props.cron && typeof this.props.cron === 'string' && this.props.cron.replace(/^[\"']/, '')[0] !== '{') {\n cron = this.props.cron.replace(/['\"]/g, '').trim();\n } else {\n cron = this.props.cron || '{}';\n if (typeof cron === 'string') {\n cron = cron.replace(/^[\"']/, '').replace(/[\"']\\n?$/, '');\n }\n }\n\n this.state = {\n cron,\n };\n }\n\n handleCancel(): void {\n this.props.onClose();\n }\n\n handleOk(): void {\n this.props.onOk(this.state.cron);\n this.props.onClose();\n }\n\n render(): JSX.Element {\n return (\n {}}\n maxWidth=\"md\"\n fullWidth\n sx={{ '& .MuiDialog-paper': styles.dialogPaper }}\n open={!0}\n aria-labelledby=\"cron-dialog-title\"\n >\n {this.props.title || I18n.t('ra_Define CRON...')}\n \n this.setState({ cron })}\n language={I18n.getLanguage()}\n />\n \n \n this.handleOk()}\n color=\"primary\"\n startIcon={}\n >\n {this.props.ok || I18n.t('ra_Ok')}\n \n this.handleCancel()}\n color=\"grey\"\n startIcon={}\n >\n {this.props.cancel || I18n.t('ra_Cancel')}\n \n \n \n );\n }\n}\n", "import type {\n NativeData,\n SetStateFunction,\n TriggerObj,\n UsersInGroup,\n ActionNewRowProps,\n RowsSetState,\n TabValueEntries,\n} from '@/types/app';\nimport React from 'react';\nimport { tabValues } from '@/config/entries';\nimport { isTruthy } from './string';\nimport { deepCopy, deleteDoubleEntriesInArray, sortArray } from './Utils';\nimport type { UpdateProps } from '@/types/props-types';\n\nfunction createData(\n element: ActionNewRowProps,\n index: string,\n rowElements: TabValueEntries[],\n): { [key: string]: string } {\n const obj = {};\n rowElements.forEach(entry => {\n obj[entry.name] = element[entry.name] && element[entry.name][index] ? element[entry.name][index] : '';\n });\n return obj;\n}\n\nfunction getRows(\n element: ActionNewRowProps,\n rowElements: TabValueEntries[],\n): { rows: { [key: string]: string }[] | null; trigger: string } {\n if (!element) {\n return { rows: null, trigger: '' };\n }\n\n const rows: { [key: string]: string }[] = [];\n\n let trigger = '';\n if (element.trigger && element.trigger[0]) {\n trigger = element.trigger[0];\n }\n const generateBy = rowElements.find(element => element.elementGetRows !== undefined)?.elementGetRows;\n if (!generateBy) {\n return { rows: null, trigger: '' };\n }\n if (!(element && element[generateBy])) {\n console.error(\n `GenerateBy not found in element, actionUtils.js. Check entries.mjs for ${generateBy} is not a name of an element`,\n );\n }\n\n for (const index in element[generateBy]) {\n const row = createData(element, index, rowElements);\n if (row) {\n rows.push(row);\n }\n }\n return { rows: rows, trigger: trigger };\n}\n\nexport const saveRows = (\n props: { data: { newRow: ActionNewRowProps; tab: { entries: TabValueEntries[] } } },\n setState: SetStateFunction,\n newRow: ActionNewRowProps | [],\n existingRow?: RowsSetState[],\n): void => {\n if (existingRow?.length == 0) {\n const { rows, trigger } = getRows(props.data.newRow, props.data.tab.entries);\n if (!rows) {\n return;\n }\n setState({ trigger, rows });\n return;\n }\n\n const { rows, trigger } = getRows(newRow as ActionNewRowProps, props.data.tab.entries);\n if (!rows) {\n return;\n }\n setState({ trigger, rows });\n};\n\nexport const updateData = (\n { index, val, id }: { id: string; val: string | number | boolean; index: number },\n props: UpdateProps,\n setState: SetStateFunction,\n): void => {\n const newRow = deepCopy(props.data.newRow);\n if (!newRow) {\n return;\n }\n newRow[id][index] = val.toString();\n if (props.callback?.setStateTabActionContent) {\n props.callback.setStateTabActionContent({ newRow: newRow });\n }\n\n saveRows(props, setState, newRow);\n};\n\nexport const updateTrigger = (value: { trigger: string }, props: UpdateProps, setState: SetStateFunction): void => {\n const newRow = deepCopy(props.data.newRow);\n if (!newRow) {\n return;\n }\n newRow.trigger[0] = value.trigger;\n if (props.callback?.setStateTabActionContent) {\n props.callback.setStateTabActionContent({ newRow: newRow });\n }\n saveRows(props, setState, newRow);\n};\n\nexport const addNewRow = (\n index: number,\n props: UpdateProps,\n setState: SetStateFunction,\n cb: SetStateFunction,\n): void => {\n let newRow: ActionNewRowProps | undefined;\n if (index >= 0) {\n newRow = deepCopy(props.data.newRow);\n }\n if (!newRow) {\n return;\n }\n props.data.tab.entries.forEach(element => {\n if (!index && index !== 0 && newRow) {\n newRow[element.name] = [element.val];\n } else if (newRow && element.name !== 'trigger') {\n newRow[element.name].splice(index + 1, 0, element.val);\n }\n });\n cb({ newRow: newRow });\n saveRows(props, setState, newRow);\n};\n\nexport const deleteRow = (index: number, props: UpdateProps, setState: SetStateFunction): void => {\n const newRow = deepCopy(props.data.newRow);\n if (!newRow) {\n return;\n }\n props.data.tab.entries.forEach(element => {\n newRow[element.name].splice(index, 1);\n });\n if (props.callback?.setStateTabActionContent) {\n props.callback.setStateTabActionContent({ newRow: newRow });\n }\n saveRows(props, setState, newRow);\n};\n\nexport const moveItem = (index: number, props: UpdateProps, setState: SetStateFunction, val: number): void => {\n const newRow = deepCopy(props.data.newRow);\n if (!newRow) {\n return;\n }\n props.data.tab.entries.forEach(element => {\n if (element.name !== 'trigger') {\n newRow[element.name].splice(index + val, 0, newRow[element.name].splice(index, 1)[0]);\n }\n });\n if (props.callback?.setStateTabActionContent) {\n props.callback.setStateTabActionContent({ newRow: newRow });\n }\n saveRows(props, setState, newRow);\n};\n\nexport const updateId = (\n selected: string | string[] | undefined,\n props: UpdateProps,\n indexID: number,\n setState: SetStateFunction,\n ID: string,\n): void => {\n const newRow = deepCopy(props.data.newRow);\n if (!newRow) {\n return;\n }\n newRow[ID][indexID] = selected;\n if (props.callback?.setStateTabActionContent) {\n props.callback.setStateTabActionContent({ newRow: newRow });\n }\n saveRows(props, setState, newRow);\n};\nconst disassembleTextToTriggers = (text: string): string[] => {\n const triggerArray: string[] = [];\n let textArray: string[];\n if (text.includes('&&')) {\n textArray = text.split('&&');\n } else {\n textArray = [text];\n }\n if (textArray[0].includes('menu:')) {\n const array = text[0].split(':');\n\n const trigger = array[2];\n if (trigger) {\n triggerArray.push(trigger.trim());\n }\n } else {\n textArray.forEach(element => {\n element.split(',').forEach(word => {\n if (word.trim() != '-') {\n triggerArray.push(word.trim());\n }\n });\n });\n }\n\n return triggerArray;\n};\n\nexport const updateTriggerForSelect = (\n data: NativeData,\n usersInGroup: UsersInGroup,\n activeMenu: string,\n): { usedTrigger: string[]; unUsedTrigger: string[]; triggerObj: TriggerObj } | undefined => {\n const submenu: string[] = [];\n tabValues.forEach(element => {\n if (element.trigger) {\n submenu.push(element.value);\n }\n });\n\n const users = usersInGroup[activeMenu];\n\n let menusToSearchIn: string[] = [];\n\n if (!users) {\n return;\n }\n users.forEach(user => {\n Object.keys(usersInGroup).forEach(group => {\n if (usersInGroup[group].includes(user)) {\n menusToSearchIn.push(group);\n }\n });\n });\n menusToSearchIn = deleteDoubleEntriesInArray(menusToSearchIn);\n\n let usedTrigger: string[] = [];\n let allTrigger: string[] = [];\n const triggerArray: string[] = [];\n const everyTrigger = {};\n\n const triggerObj: TriggerObj = {\n unUsedTrigger: [''],\n everyTrigger: everyTrigger,\n usedTrigger: { nav: {}, action: {} },\n };\n menusToSearchIn.forEach(menu => {\n let triggerInMenu: string[] = [];\n if (!data.nav[menu]) {\n return;\n }\n data.nav[menu].forEach((element, index) => {\n usedTrigger.push(element.call);\n triggerArray.push(element.call);\n const triggerInRow = disassembleTextToTriggers(element.value);\n triggerInMenu = triggerInMenu.concat(triggerInRow);\n allTrigger = allTrigger.concat(triggerInRow);\n\n if (index == data.nav[menu].length - 1) {\n triggerObj.usedTrigger.nav[menu] = [...triggerArray];\n\n triggerObj.everyTrigger[menu] = deleteDoubleEntriesInArray(\n [...triggerInMenu].filter(x => x != '-'),\n ).sort();\n triggerArray.length = 0;\n }\n });\n\n triggerObj.usedTrigger.action[menu] = {};\n const actionTrigger: string[] = [];\n submenu.forEach(sub => {\n if (!data.action[menu][sub]) {\n return;\n }\n data.action[menu][sub].forEach((element, index) => {\n usedTrigger = usedTrigger.concat(element.trigger);\n actionTrigger.push(element.trigger[0]);\n\n if (index == data.action[menu][sub].length - 1) {\n triggerObj.usedTrigger.action[menu][sub] = [...actionTrigger];\n actionTrigger.length = 0;\n }\n });\n });\n });\n\n if (Array.isArray(allTrigger)) {\n allTrigger = deleteDoubleEntriesInArray(allTrigger);\n }\n\n let unUsedTrigger = allTrigger.filter(x => !usedTrigger.includes(x));\n\n if (unUsedTrigger.length > 0) {\n triggerObj.unUsedTrigger = unUsedTrigger;\n }\n unUsedTrigger = sortArray(unUsedTrigger);\n\n return { usedTrigger: usedTrigger, unUsedTrigger: unUsedTrigger, triggerObj: triggerObj };\n};\n\nconst buttonCheck = (): React.ReactElement => {\n return React.createElement(\n 'button',\n { className: 'buttonTrue' },\n React.createElement('span', null, React.createElement('i', { className: 'material-icons' }, 'done')),\n );\n};\n\nconst buttonClose = (): React.ReactElement => {\n return React.createElement(\n 'button',\n { className: 'buttonFalse' },\n React.createElement('span', null, React.createElement('i', { className: 'material-icons' }, 'close')),\n );\n};\n\nexport const getElementIcon = (\n element: string | boolean,\n entry?: TabValueEntries,\n): undefined | React.ReactElement | string => {\n if (!element) {\n return;\n }\n\n if (!entry?.noIcon) {\n if (isTruthy(element)) {\n return buttonCheck();\n }\n if (element === 'false') {\n return buttonClose();\n }\n }\n return element.toString().replace(/&/g, '&');\n};\n\nexport const sortObjectByKey = (usersInGroup: UsersInGroup): UsersInGroup => {\n const newObject = {};\n Object.entries(usersInGroup)\n .sort()\n .forEach(element => {\n newObject[element[0]] = element[1];\n });\n\n return newObject;\n};\n\nexport function updateActiveMenuAndTrigger(\n menu: string,\n setState: SetStateFunction,\n data: NativeData,\n usersInGroup: UsersInGroup,\n): void {\n const result = updateTriggerForSelect(data, usersInGroup, menu);\n if (result) {\n setState({\n unUsedTrigger: result.unUsedTrigger,\n usedTrigger: result.usedTrigger,\n triggerObject: result.triggerObj,\n });\n }\n}\n", "import type { TabValueEntries, TabValues } from '@/types/app';\n\nexport const tabValues: TabValues[] = [\n // Danach noch generateActions anpassen in action.js\n {\n label: 'SetState',\n value: 'set',\n trigger: true, // Wenn Trigger true ist wird hierf\u00FCr UsedTrigger gesucht\n entries: [\n { name: 'trigger', val: '', headline: 'trigger', elementGetRows: 'IDs', required: true },\n { name: 'IDs', val: '', headline: 'ID', width: '20%', required: true },\n { name: 'values', val: '', headline: 'value', width: '10%', required: true, btnCircleAdd: true },\n { name: 'returnText', val: '', headline: 'returnText', width: '40%', required: true, btnCircleAdd: true },\n {\n name: 'ack',\n val: 'false',\n headline: 'Ack',\n title: 'setWithAck',\n checkbox: true,\n width: '3%',\n required: true,\n },\n {\n name: 'confirm',\n val: 'false',\n headline: 'Con',\n title: 'confirmMessage',\n checkbox: true,\n width: '3%',\n required: true,\n },\n {\n name: 'switch_checkbox',\n val: 'false',\n headline: 'Tog',\n title: 'toggle',\n checkbox: true,\n width: '3%',\n required: true,\n },\n {\n name: 'parse_mode',\n val: 'false',\n headline: 'Par',\n title: 'parseMode',\n checkbox: true,\n width: '3%',\n required: true,\n },\n ],\n popupCard: { buttons: { add: true, remove: true, copy: true }, width: '99%', height: '70%' },\n },\n {\n label: 'GetState',\n value: 'get',\n trigger: true,\n entries: [\n { name: 'trigger', val: '', headline: 'trigger', width: '20%', elementGetRows: 'IDs', required: true },\n { name: 'IDs', val: '', headline: 'ID', width: '40%', required: true },\n { name: 'text', val: '', headline: 'text', width: '40%', required: true, btnCircleAdd: true },\n {\n name: 'newline_checkbox',\n val: 'true',\n headline: 'New',\n title: 'newlineCheckbox',\n checkbox: true,\n width: '3%',\n required: true,\n },\n {\n name: 'parse_mode',\n val: 'false',\n headline: 'Par',\n title: 'Parse Mode HTML',\n checkbox: true,\n width: '3%',\n required: true,\n },\n ],\n popupCard: { buttons: { add: true, remove: true, copy: true }, width: '99%', height: '70%' },\n },\n\n {\n label: 'Send Picture',\n value: 'pic',\n trigger: true,\n entries: [\n { name: 'trigger', val: '', headline: 'trigger', width: '20%', elementGetRows: 'IDs', required: true },\n { name: 'IDs', val: '', headline: 'ID', width: '40%', required: true },\n { name: 'fileName', val: '', headline: 'filename', width: '40%', required: true },\n { name: 'picSendDelay', val: '', headline: 'delay', width: '40%', type: 'number', required: true },\n ],\n popupCard: { buttons: { add: true, remove: true }, width: '99%', height: '70%' },\n },\n {\n label: 'Send Location',\n value: 'loc',\n trigger: true,\n entries: [\n { name: 'trigger', val: '', headline: 'trigger', width: '20%', elementGetRows: 'latitude', required: true },\n { name: 'latitude', val: '', headline: 'latitude', width: '20%', search: true, required: true },\n { name: 'longitude', val: '', headline: 'longitude', width: '20%', search: true, required: true },\n {\n name: 'parse_mode',\n val: 'false',\n headline: 'Par',\n title: 'Parse Mode HTML',\n checkbox: true,\n width: '3%',\n required: true,\n },\n ],\n popupCard: { buttons: { add: true, remove: true }, width: '99%', height: '70%' },\n },\n {\n label: 'Events',\n value: 'events',\n trigger: false,\n entries: [\n { name: 'ID', val: '', headline: 'ID', width: '40%', search: true, required: true },\n { name: 'menu', val: '', headline: 'executedMenu', width: '20%', elementGetRows: 'menu', required: true },\n { name: 'condition', val: '', headline: 'conditionMenu', width: '20%', noIcon: true, required: true },\n {\n name: 'ack',\n val: 'false',\n headline: 'Ack',\n title: 'setAck',\n checkbox: true,\n width: '3%',\n required: true,\n },\n ],\n popupCard: { buttons: { add: false, remove: false }, width: '99%', height: '40%' },\n },\n {\n label: 'Echarts',\n value: 'echarts',\n searchRoot: { root: 'echarts', type: ['chart'] }, // Search Root for SelectID\n trigger: true,\n entries: [\n { name: 'trigger', val: '', headline: 'trigger', width: '20%', required: true },\n {\n name: 'preset',\n val: '',\n headline: 'preset',\n width: '40%',\n elementGetRows: 'preset',\n search: true,\n required: true,\n },\n { name: 'background', val: '#FFFFFF', headline: 'background', width: '10%', required: true },\n { name: 'theme', val: 'light', headline: 'theme', width: '10%', required: true },\n { name: 'filename', val: 'echarts-temp-photo.jpg', headline: 'filename', width: '20%', required: true },\n ],\n popupCard: { buttons: { add: true, remove: true }, width: '99%', height: '70%' },\n },\n {\n label: 'Http Request',\n value: 'httpRequest',\n trigger: true,\n entries: [\n { name: 'trigger', val: '', headline: 'trigger', width: '20%', required: true },\n {\n name: 'url',\n val: '',\n headline: 'url',\n width: '20%',\n elementGetRows: 'url',\n search: true,\n required: true,\n },\n { name: 'user', val: '', headline: 'user', width: '20%' },\n { name: 'password', val: '', headline: 'password', password: true, width: '20%' },\n { name: 'filename', val: 'http-request-photo.jpg', headline: 'filename', width: '20%', required: true },\n ],\n popupCard: { buttons: { add: true, remove: true }, width: '99%', height: '70%' },\n },\n];\n// Danach noch generateActions anpassen in action.js\n\nexport const navEntries: TabValueEntries[] = [\n { name: 'call', val: '', headline: 'trigger', width: '25%', editWidth: '98%' },\n { name: 'value', val: '', headline: 'navigation', width: '45%', editWidth: '98%' },\n { name: 'text', val: 'chooseAction', headline: 'text', width: '35%', editWidth: '98%' },\n { name: 'parse_mode', val: 'false', headline: 'Par', title: 'Parse Mode HTML', checkbox: true, width: '10%' },\n];\n", "export function replaceSpaceWithUnderscore(menu: string): string {\n return menu.replace(/ /g, '_');\n}\n\nexport function isTruthy(value: string | number | boolean): boolean {\n return value === '1' || value === 1 || value === true || value === 'true';\n}\n", "export const processUserData = (data: string): { name: string; chatID: string }[] | undefined => {\n try {\n const array: { name: string; chatID: string }[] = [];\n\n const newData = JSON.parse(data);\n Object.keys(newData).forEach(key => {\n const name = newData[key].firstName;\n array.push({ name: name, chatID: key });\n });\n return array;\n } catch (err) {\n console.error(`Error processUserData: ${JSON.stringify(err)}`);\n }\n};\n\nexport const deepCopy = (obj: T): T | undefined => {\n try {\n return JSON.parse(JSON.stringify(obj));\n } catch (err) {\n console.error(`Error deepCopy: ${JSON.stringify(err)}`);\n }\n};\n\nexport const isChecked = (value: string | boolean): boolean => {\n return ['true', true].includes(value);\n};\n\nexport const deleteDoubleEntriesInArray = (arr: T[]): T[] => {\n return arr.filter((item, index) => arr.indexOf(item) === index);\n};\n\nexport const sortArray = (arr: string[]): string[] => {\n arr.sort((a, b) => {\n const lowerCaseA = a.toLowerCase();\n const lowerCaseB = b.toLowerCase();\n\n if (lowerCaseA < lowerCaseB) {\n return -1;\n }\n if (lowerCaseA > lowerCaseB) {\n return 1;\n }\n return 0;\n });\n return arr;\n};\n\nexport const checkObjectOrArray = (obj: object): string => {\n if (typeof obj == 'object' && Array.isArray(obj)) {\n return 'array';\n }\n if (typeof obj == 'object') {\n return 'object';\n }\n return typeof obj;\n};\n", "import type { Dropbox, SetStateFunction } from '@/types/app';\n\nconst drag = { dragStartX: 0, dragStartY: 0, dragEndX: 0, dragEndY: 0 };\n\nexport function onDragStart(event: React.DragEvent | undefined): void {\n if (!event) {\n return;\n }\n drag.dragStartX = event.clientX;\n drag.dragStartY = event.clientY;\n}\n\nexport function onDragEnd(\n event: React.DragEvent | undefined,\n setState: SetStateFunction | undefined,\n): void {\n if (!event) {\n return;\n }\n event.preventDefault();\n drag.dragEndX = event.clientX;\n drag.dragEndY = event.clientY;\n const dropDifferenzY = drag.dragEndY - drag.dragStartY;\n const dropDifferenzX = drag.dragEndX - drag.dragStartX;\n if (setState) {\n setState({ dropDifferenzY: dropDifferenzY, dropDifferenzX: dropDifferenzX });\n }\n}\n\nexport function onDragOver(event: React.DragEvent | undefined): void {\n if (!event) {\n return;\n }\n event.preventDefault();\n}\n\nexport function onDrop(event: React.DragEvent | undefined): void {\n if (!event) {\n return;\n }\n event.preventDefault();\n}\n\nexport function onDrag(event: React.DragEvent | undefined): void {\n if (!event) {\n return;\n }\n event.preventDefault();\n}\n\nexport function onMouseEnter(): void {\n document.querySelectorAll('tr[draggable],span[draggable]').forEach(element => {\n element.classList.add('draggingDropBox');\n });\n}\n\nexport function onMouseLeave(): void {\n document.querySelectorAll('tr[draggable],span[draggable]').forEach(element => {\n (element as HTMLElement).draggable = true;\n element.classList.remove('draggingDropBox');\n });\n}\n\nexport const updatePositionDropBox = (\n newX: Dropbox.newX,\n newY: Dropbox.newY,\n dropboxRef: Dropbox.Ref,\n showDropBox: boolean,\n dropbox: Dropbox.Position,\n): void => {\n if (dropboxRef?.current != null && showDropBox) {\n if (!(newX || newY)) {\n newX = parseInt(dropboxRef.current.style.right.replace('px', ''));\n newY = parseInt(dropboxRef.current.style.top.replace('px', ''));\n }\n const element = document.querySelector('.adapter-container') as HTMLElement;\n const { maxTop, maxRight } = computeMaxPosition(element, dropboxRef);\n\n const { y, x } = calculateNewPosition({ maxTop, maxRight, newX, newY, dropbox });\n\n dropboxRef.current.style.top = `${y}px`;\n dropboxRef.current.style.right = `${x}px`;\n }\n};\nfunction computeMaxPosition(element: HTMLElement, dropboxRef: Dropbox.Ref): { maxTop: number; maxRight: number } {\n return {\n maxTop: element?.offsetHeight - (dropboxRef?.current?.offsetHeight || 0),\n maxRight: element?.offsetWidth - (dropboxRef?.current?.offsetWidth || 0),\n };\n}\n\nfunction calculateNewPosition({\n maxTop,\n maxRight,\n newX,\n newY,\n dropbox,\n}: {\n dropbox: Dropbox.Position;\n newX: Dropbox.newX;\n newY: Dropbox.newY;\n maxTop: number;\n maxRight: number;\n}): { y: number; x: number } {\n if (newY && newX) {\n return { y: adjustYCoordinate(newY, maxTop), x: adjustXCoordinate(newX, maxRight) };\n }\n if (dropbox && dropbox.dropboxRight && dropbox.dropboxTop) {\n return { x: dropbox.dropboxRight, y: dropbox.dropboxTop };\n }\n return { y: 105, x: 5 };\n}\n\nfunction adjustXCoordinate(newX: number, maxRight: number): number {\n if (newX < 1) {\n return 1;\n }\n return newX > maxRight ? maxRight : newX;\n}\n\nfunction adjustYCoordinate(newY: number, maxTop: number): number {\n if (newY < 1) {\n return 1;\n }\n return newY > maxTop ? maxTop : newY;\n}\n", "import type { NativeData, UpdateNativeFunction } from '@/types/app.js';\nimport { deepCopy } from './Utils.js';\n\nconst insertParseModeCheckbox = (data: NativeData): NativeData => {\n const actions = ['set', 'get'];\n Object.keys(data.action).forEach(menu => {\n actions.forEach(action => {\n data.action[menu][action].forEach((_, indexItem) => {\n const element = data.action[menu][action][indexItem];\n\n if (!element.parse_mode) {\n data.action[menu][action][indexItem].parse_mode = ['false'];\n }\n });\n });\n });\n Object.keys(data.nav).forEach(menu => {\n data.nav[menu].forEach((_, indexItem) => {\n const element = data.nav[menu][indexItem];\n\n if (!element.parse_mode) {\n data.nav[menu][indexItem].parse_mode = 'false';\n }\n });\n });\n return data;\n};\n\nconst insertAckCheckbox = (data: NativeData, updateNative: UpdateNativeFunction): void => {\n Object.keys(data.action).forEach(menu => {\n data.action[menu].set.forEach((item, indexItem) => {\n const element = data.action[menu].set[indexItem];\n\n if (!element.ack) {\n data.action[menu].set[indexItem].ack = [];\n } else {\n return;\n }\n element.returnText.map((textItem, textIndex) => {\n let substring = '';\n if (textItem.includes('ack:')) {\n if (textItem.includes('ack:true')) {\n substring = textItem.replace('ack:true', '').replace(' ', ' ');\n data.action[menu].set[indexItem].ack[textIndex] = 'true';\n } else {\n substring = textItem.includes('ack:false')\n ? textItem.replace('ack:false', '').replace(' ', ' ')\n : textItem;\n data.action[menu].set[indexItem].ack[textIndex] = 'false';\n }\n data.action[menu].set[indexItem].returnText[textIndex] = substring;\n return;\n }\n data.action[menu].set[indexItem].ack[textIndex] = 'false';\n });\n });\n });\n\n updateNative('data', data);\n};\n\nexport const insertNewItemsInData = (data: NativeData, updateNative: UpdateNativeFunction): void => {\n if (Object.keys(data).length == 0) {\n return;\n }\n const copyData = deepCopy(data);\n if (!copyData) {\n return;\n }\n insertAckCheckbox(insertParseModeCheckbox(copyData), updateNative);\n};\n\nexport function decomposeText(\n text: string,\n searchValue: string,\n secondValue: string,\n): { startindex: number; endindex: number; substring: string; textWithoutSubstring: string } {\n const startindex = text.indexOf(searchValue);\n const endindex = text.indexOf(secondValue, startindex);\n const substring = text.substring(startindex, endindex + secondValue.length);\n const textWithoutSubstring = text.replace(substring, '').trim();\n return {\n startindex: startindex,\n endindex: endindex,\n substring: substring,\n textWithoutSubstring: textWithoutSubstring,\n };\n}\n", "import type { socket } from '@/types/app';\n\nasync function getUsersFromTelegram(\n socket: socket,\n telegramInstance = 'telegram.0',\n cb: (val: string) => void,\n): Promise {\n try {\n await socket.getState(`${telegramInstance}.communicate.users`).then((state: any) => {\n if (state && state.val) {\n return cb(state.val);\n }\n });\n } catch (err) {\n console.error(`Error get Users vom Telegram: ${JSON.stringify(err)}`);\n }\n}\n\nasync function getAllTelegramInstances(socket: socket, callback: (val: string[]) => void): Promise {\n const IDs: string[] = [];\n try {\n await socket.getObjectViewCustom('system', 'instance', '', '\\u9999').then(objects => {\n Object.keys(objects).forEach(obj => {\n if (isAdapterTelegram(objects, obj)) {\n IDs.push(objects[obj]._id.replace(/^system\\.adapter\\./, ''));\n }\n });\n callback(IDs);\n });\n } catch (err) {\n console.error(`Error getAllTelegramInstance: ${JSON.stringify(err)}`);\n }\n\n function isAdapterTelegram(objects: { [key: string]: { common: { name: string } } }, obj: string): boolean {\n return 'telegram' === objects?.[obj]?.common.name;\n }\n}\n\nconst getIobrokerData = {\n getUsersFromTelegram,\n getAllTelegramInstances,\n};\nexport default getIobrokerData;\n", "import React, { Component } from 'react';\nimport { Grid } from '@mui/material';\nimport HeaderMenu from '@/pages/AppContentHeaderMenu';\nimport HeaderTelegramUsers from '@/pages/AppContentHeaderTelegramUsers';\nimport type { PropsMainActions } from '@/types/app';\n\nclass MainActions extends Component {\n constructor(props: PropsMainActions) {\n super(props);\n this.state = {};\n }\n isSettings(): boolean {\n return this.props.data.state.tab === 'settings';\n }\n\n render(): React.ReactNode {\n return (\n \n {!this.isSettings() ? (\n \n \n \n ) : null}\n \n {!this.isSettings() ? (\n \n ) : null}\n \n \n );\n }\n}\n\nexport default MainActions;\n", "import capitalize from '@mui/utils/capitalize';\nexport default capitalize;", "import createChainedFunction from '@mui/utils/createChainedFunction';\nexport default createChainedFunction;", "'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport SvgIcon from '../SvgIcon';\n\n/**\n * Private module reserved for @mui packages.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createSvgIcon(path, displayName) {\n function Component(props, ref) {\n return /*#__PURE__*/_jsx(SvgIcon, _extends({\n \"data-testid\": `${displayName}Icon`,\n ref: ref\n }, props, {\n children: path\n }));\n }\n if (process.env.NODE_ENV !== 'production') {\n // Need to set `displayName` on the inner component for React.memo.\n // React prior to 16.14 ignores `displayName` on the wrapper.\n Component.displayName = `${displayName}Icon`;\n }\n Component.muiName = SvgIcon.muiName;\n return /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(Component));\n}", "'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"fontSize\", \"htmlColor\", \"inheritViewBox\", \"titleAccess\", \"viewBox\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '../utils/capitalize';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport { getSvgIconUtilityClass } from './svgIconClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n fontSize,\n classes\n } = ownerState;\n const slots = {\n root: ['root', color !== 'inherit' && `color${capitalize(color)}`, `fontSize${capitalize(fontSize)}`]\n };\n return composeClasses(slots, getSvgIconUtilityClass, classes);\n};\nconst SvgIconRoot = styled('svg', {\n name: 'MuiSvgIcon',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'inherit' && styles[`color${capitalize(ownerState.color)}`], styles[`fontSize${capitalize(ownerState.fontSize)}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n var _theme$transitions, _theme$transitions$cr, _theme$transitions2, _theme$typography, _theme$typography$pxT, _theme$typography2, _theme$typography2$px, _theme$typography3, _theme$typography3$px, _palette$ownerState$c, _palette, _palette2, _palette3;\n return {\n userSelect: 'none',\n width: '1em',\n height: '1em',\n display: 'inline-block',\n // the will define the property that has `currentColor`\n // for example heroicons uses fill=\"none\" and stroke=\"currentColor\"\n fill: ownerState.hasSvgAsChild ? undefined : 'currentColor',\n flexShrink: 0,\n transition: (_theme$transitions = theme.transitions) == null || (_theme$transitions$cr = _theme$transitions.create) == null ? void 0 : _theme$transitions$cr.call(_theme$transitions, 'fill', {\n duration: (_theme$transitions2 = theme.transitions) == null || (_theme$transitions2 = _theme$transitions2.duration) == null ? void 0 : _theme$transitions2.shorter\n }),\n fontSize: {\n inherit: 'inherit',\n small: ((_theme$typography = theme.typography) == null || (_theme$typography$pxT = _theme$typography.pxToRem) == null ? void 0 : _theme$typography$pxT.call(_theme$typography, 20)) || '1.25rem',\n medium: ((_theme$typography2 = theme.typography) == null || (_theme$typography2$px = _theme$typography2.pxToRem) == null ? void 0 : _theme$typography2$px.call(_theme$typography2, 24)) || '1.5rem',\n large: ((_theme$typography3 = theme.typography) == null || (_theme$typography3$px = _theme$typography3.pxToRem) == null ? void 0 : _theme$typography3$px.call(_theme$typography3, 35)) || '2.1875rem'\n }[ownerState.fontSize],\n // TODO v5 deprecate, v6 remove for sx\n color: (_palette$ownerState$c = (_palette = (theme.vars || theme).palette) == null || (_palette = _palette[ownerState.color]) == null ? void 0 : _palette.main) != null ? _palette$ownerState$c : {\n action: (_palette2 = (theme.vars || theme).palette) == null || (_palette2 = _palette2.action) == null ? void 0 : _palette2.active,\n disabled: (_palette3 = (theme.vars || theme).palette) == null || (_palette3 = _palette3.action) == null ? void 0 : _palette3.disabled,\n inherit: undefined\n }[ownerState.color]\n };\n});\nconst SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiSvgIcon'\n });\n const {\n children,\n className,\n color = 'inherit',\n component = 'svg',\n fontSize = 'medium',\n htmlColor,\n inheritViewBox = false,\n titleAccess,\n viewBox = '0 0 24 24'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const hasSvgAsChild = /*#__PURE__*/React.isValidElement(children) && children.type === 'svg';\n const ownerState = _extends({}, props, {\n color,\n component,\n fontSize,\n instanceFontSize: inProps.fontSize,\n inheritViewBox,\n viewBox,\n hasSvgAsChild\n });\n const more = {};\n if (!inheritViewBox) {\n more.viewBox = viewBox;\n }\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SvgIconRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n focusable: \"false\",\n color: htmlColor,\n \"aria-hidden\": titleAccess ? undefined : true,\n role: titleAccess ? 'img' : undefined,\n ref: ref\n }, more, other, hasSvgAsChild && children.props, {\n ownerState: ownerState,\n children: [hasSvgAsChild ? children.props.children : children, titleAccess ? /*#__PURE__*/_jsx(\"title\", {\n children: titleAccess\n }) : null]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? SvgIcon.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the d.ts file and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * Node passed into the SVG element.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * You can use the `htmlColor` prop to apply a color attribute to the SVG element.\n * @default 'inherit'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'action', 'disabled', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size.\n * @default 'medium'\n */\n fontSize: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'large', 'medium', 'small']), PropTypes.string]),\n /**\n * Applies a color attribute to the SVG element.\n */\n htmlColor: PropTypes.string,\n /**\n * If `true`, the root node will inherit the custom `component`'s viewBox and the `viewBox`\n * prop will be ignored.\n * Useful when you want to reference a custom `component` and have `SvgIcon` pass that\n * `component`'s viewBox to the root node.\n * @default false\n */\n inheritViewBox: PropTypes.bool,\n /**\n * The shape-rendering attribute. The behavior of the different options is described on the\n * [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/shape-rendering).\n * If you are having issues with blurry icons you should investigate this prop.\n */\n shapeRendering: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Provides a human-readable title for the element that contains it.\n * https://www.w3.org/TR/SVG-access/#Equivalent\n */\n titleAccess: PropTypes.string,\n /**\n * Allows you to redefine what the coordinates without units mean inside an SVG element.\n * For example, if the SVG element is 500 (width) by 200 (height),\n * and you pass viewBox=\"0 0 50 20\",\n * this means that the coordinates inside the SVG will go from the top left corner (0,0)\n * to bottom right (50,20) and each unit will be worth 10px.\n * @default '0 0 24 24'\n */\n viewBox: PropTypes.string\n} : void 0;\nSvgIcon.muiName = 'SvgIcon';\nexport default SvgIcon;", "'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport SystemDefaultPropsProvider, { useDefaultProps as useSystemDefaultProps } from '@mui/system/DefaultPropsProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction DefaultPropsProvider(props) {\n return /*#__PURE__*/_jsx(SystemDefaultPropsProvider, _extends({}, props));\n}\nprocess.env.NODE_ENV !== \"production\" ? DefaultPropsProvider.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the TypeScript types and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n value: PropTypes.object.isRequired\n} : void 0;\nexport default DefaultPropsProvider;\nexport function useDefaultProps(params) {\n return useSystemDefaultProps(params);\n}", "import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSvgIconUtilityClass(slot) {\n return generateUtilityClass('MuiSvgIcon', slot);\n}\nconst svgIconClasses = generateUtilityClasses('MuiSvgIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);\nexport default svgIconClasses;", "import debounce from '@mui/utils/debounce';\nexport default debounce;", "import ownerDocument from '@mui/utils/ownerDocument';\nexport default ownerDocument;", "import ownerWindow from '@mui/utils/ownerWindow';\nexport default ownerWindow;", "'use client';\n\nimport useEnhancedEffect from '@mui/utils/useEnhancedEffect';\nexport default useEnhancedEffect;", "'use client';\n\nimport useControlled from '@mui/utils/useControlled';\nexport default useControlled;", "'use client';\n\nimport useEventCallback from '@mui/utils/useEventCallback';\nexport default useEventCallback;", "'use client';\n\nimport useForkRef from '@mui/utils/useForkRef';\nexport default useForkRef;", "'use client';\n\nimport useIsFocusVisible from '@mui/utils/useIsFocusVisible';\nexport default useIsFocusVisible;", "'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"elevation\", \"square\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled from '../styles/styled';\nimport getOverlayAlpha from '../styles/getOverlayAlpha';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport useTheme from '../styles/useTheme';\nimport { getPaperUtilityClass } from './paperClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n square,\n elevation,\n variant,\n classes\n } = ownerState;\n const slots = {\n root: ['root', variant, !square && 'rounded', variant === 'elevation' && `elevation${elevation}`]\n };\n return composeClasses(slots, getPaperUtilityClass, classes);\n};\nconst PaperRoot = styled('div', {\n name: 'MuiPaper',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], !ownerState.square && styles.rounded, ownerState.variant === 'elevation' && styles[`elevation${ownerState.elevation}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n var _theme$vars$overlays;\n return _extends({\n backgroundColor: (theme.vars || theme).palette.background.paper,\n color: (theme.vars || theme).palette.text.primary,\n transition: theme.transitions.create('box-shadow')\n }, !ownerState.square && {\n borderRadius: theme.shape.borderRadius\n }, ownerState.variant === 'outlined' && {\n border: `1px solid ${(theme.vars || theme).palette.divider}`\n }, ownerState.variant === 'elevation' && _extends({\n boxShadow: (theme.vars || theme).shadows[ownerState.elevation]\n }, !theme.vars && theme.palette.mode === 'dark' && {\n backgroundImage: `linear-gradient(${alpha('#fff', getOverlayAlpha(ownerState.elevation))}, ${alpha('#fff', getOverlayAlpha(ownerState.elevation))})`\n }, theme.vars && {\n backgroundImage: (_theme$vars$overlays = theme.vars.overlays) == null ? void 0 : _theme$vars$overlays[ownerState.elevation]\n }));\n});\nconst Paper = /*#__PURE__*/React.forwardRef(function Paper(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiPaper'\n });\n const {\n className,\n component = 'div',\n elevation = 1,\n square = false,\n variant = 'elevation'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n elevation,\n square,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const theme = useTheme();\n if (theme.shadows[elevation] === undefined) {\n console.error([`MUI: The elevation provided is not available in the theme.`, `Please make sure that \\`theme.shadows[${elevation}]\\` is defined.`].join('\\n'));\n }\n }\n return /*#__PURE__*/_jsx(PaperRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Paper.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the d.ts file and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Shadow depth, corresponds to `dp` in the spec.\n * It accepts values between 0 and 24 inclusive.\n * @default 1\n */\n elevation: chainPropTypes(integerPropType, props => {\n const {\n elevation,\n variant\n } = props;\n if (elevation > 0 && variant === 'outlined') {\n return new Error(`MUI: Combining \\`elevation={${elevation}}\\` with \\`variant=\"${variant}\"\\` has no effect. Either use \\`elevation={0}\\` or use a different \\`variant\\`.`);\n }\n return null;\n }),\n /**\n * If `true`, rounded corners are disabled.\n * @default false\n */\n square: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'elevation'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['elevation', 'outlined']), PropTypes.string])\n} : void 0;\nexport default Paper;", "import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getPaperUtilityClass(slot) {\n return generateUtilityClass('MuiPaper', slot);\n}\nconst paperClasses = generateUtilityClasses('MuiPaper', ['root', 'rounded', 'outlined', 'elevation', 'elevation0', 'elevation1', 'elevation2', 'elevation3', 'elevation4', 'elevation5', 'elevation6', 'elevation7', 'elevation8', 'elevation9', 'elevation10', 'elevation11', 'elevation12', 'elevation13', 'elevation14', 'elevation15', 'elevation16', 'elevation17', 'elevation18', 'elevation19', 'elevation20', 'elevation21', 'elevation22', 'elevation23', 'elevation24']);\nexport default paperClasses;", "'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"action\", \"centerRipple\", \"children\", \"className\", \"component\", \"disabled\", \"disableRipple\", \"disableTouchRipple\", \"focusRipple\", \"focusVisibleClassName\", \"LinkComponent\", \"onBlur\", \"onClick\", \"onContextMenu\", \"onDragLeave\", \"onFocus\", \"onFocusVisible\", \"onKeyDown\", \"onKeyUp\", \"onMouseDown\", \"onMouseLeave\", \"onMouseUp\", \"onTouchEnd\", \"onTouchMove\", \"onTouchStart\", \"tabIndex\", \"TouchRippleProps\", \"touchRippleRef\", \"type\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport useForkRef from '../utils/useForkRef';\nimport useEventCallback from '../utils/useEventCallback';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport TouchRipple from './TouchRipple';\nimport buttonBaseClasses, { getButtonBaseUtilityClass } from './buttonBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n focusVisible,\n focusVisibleClassName,\n classes\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', focusVisible && 'focusVisible']\n };\n const composedClasses = composeClasses(slots, getButtonBaseUtilityClass, classes);\n if (focusVisible && focusVisibleClassName) {\n composedClasses.root += ` ${focusVisibleClassName}`;\n }\n return composedClasses;\n};\nexport const ButtonBaseRoot = styled('button', {\n name: 'MuiButtonBase',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n boxSizing: 'border-box',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // Reset\n textDecoration: 'none',\n // So we take precedent over the style of a native element.\n color: 'inherit',\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n },\n [`&.${buttonBaseClasses.disabled}`]: {\n pointerEvents: 'none',\n // Disable link interactions\n cursor: 'default'\n },\n '@media print': {\n colorAdjust: 'exact'\n }\n});\n\n/**\n * `ButtonBase` contains as few styles as possible.\n * It aims to be a simple building block for creating a button.\n * It contains a load of style reset and some focus/ripple logic.\n */\nconst ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiButtonBase'\n });\n const {\n action,\n centerRipple = false,\n children,\n className,\n component = 'button',\n disabled = false,\n disableRipple = false,\n disableTouchRipple = false,\n focusRipple = false,\n LinkComponent = 'a',\n onBlur,\n onClick,\n onContextMenu,\n onDragLeave,\n onFocus,\n onFocusVisible,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onMouseLeave,\n onMouseUp,\n onTouchEnd,\n onTouchMove,\n onTouchStart,\n tabIndex = 0,\n TouchRippleProps,\n touchRippleRef,\n type\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const buttonRef = React.useRef(null);\n const rippleRef = React.useRef(null);\n const handleRippleRef = useForkRef(rippleRef, touchRippleRef);\n const {\n isFocusVisibleRef,\n onFocus: handleFocusVisible,\n onBlur: handleBlurVisible,\n ref: focusVisibleRef\n } = useIsFocusVisible();\n const [focusVisible, setFocusVisible] = React.useState(false);\n if (disabled && focusVisible) {\n setFocusVisible(false);\n }\n React.useImperativeHandle(action, () => ({\n focusVisible: () => {\n setFocusVisible(true);\n buttonRef.current.focus();\n }\n }), []);\n const [mountedState, setMountedState] = React.useState(false);\n React.useEffect(() => {\n setMountedState(true);\n }, []);\n const enableTouchRipple = mountedState && !disableRipple && !disabled;\n React.useEffect(() => {\n if (focusVisible && focusRipple && !disableRipple && mountedState) {\n rippleRef.current.pulsate();\n }\n }, [disableRipple, focusRipple, focusVisible, mountedState]);\n function useRippleHandler(rippleAction, eventCallback, skipRippleAction = disableTouchRipple) {\n return useEventCallback(event => {\n if (eventCallback) {\n eventCallback(event);\n }\n const ignore = skipRippleAction;\n if (!ignore && rippleRef.current) {\n rippleRef.current[rippleAction](event);\n }\n return true;\n });\n }\n const handleMouseDown = useRippleHandler('start', onMouseDown);\n const handleContextMenu = useRippleHandler('stop', onContextMenu);\n const handleDragLeave = useRippleHandler('stop', onDragLeave);\n const handleMouseUp = useRippleHandler('stop', onMouseUp);\n const handleMouseLeave = useRippleHandler('stop', event => {\n if (focusVisible) {\n event.preventDefault();\n }\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n });\n const handleTouchStart = useRippleHandler('start', onTouchStart);\n const handleTouchEnd = useRippleHandler('stop', onTouchEnd);\n const handleTouchMove = useRippleHandler('stop', onTouchMove);\n const handleBlur = useRippleHandler('stop', event => {\n handleBlurVisible(event);\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n if (onBlur) {\n onBlur(event);\n }\n }, false);\n const handleFocus = useEventCallback(event => {\n // Fix for https://github.com/facebook/react/issues/7769\n if (!buttonRef.current) {\n buttonRef.current = event.currentTarget;\n }\n handleFocusVisible(event);\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n if (onFocusVisible) {\n onFocusVisible(event);\n }\n }\n if (onFocus) {\n onFocus(event);\n }\n });\n const isNonNativeButton = () => {\n const button = buttonRef.current;\n return component && component !== 'button' && !(button.tagName === 'A' && button.href);\n };\n\n /**\n * IE11 shim for https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat\n */\n const keydownRef = React.useRef(false);\n const handleKeyDown = useEventCallback(event => {\n // Check if key is already down to avoid repeats being counted as multiple activations\n if (focusRipple && !keydownRef.current && focusVisible && rippleRef.current && event.key === ' ') {\n keydownRef.current = true;\n rippleRef.current.stop(event, () => {\n rippleRef.current.start(event);\n });\n }\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === ' ') {\n event.preventDefault();\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n\n // Keyboard accessibility for non interactive elements\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === 'Enter' && !disabled) {\n event.preventDefault();\n if (onClick) {\n onClick(event);\n }\n }\n });\n const handleKeyUp = useEventCallback(event => {\n // calling preventDefault in keyUp on a \n \n {this.props.isOpen ? 'expand_more' : 'chevron_right'}\n \n \n );\n }\n}\n\nexport default ButtonExpand;\n", "import type { Properties } from 'csstype';\nimport React, { Component } from 'react';\nimport type { ButtonProps } from '@/types/app';\nimport { I18n } from '@iobroker/adapter-react-v5';\n\nclass Button extends Component {\n eventOnclickButton = (event: React.MouseEvent): void => {\n this.props.callback({\n innerText: (event.target as HTMLButtonElement).innerText,\n id: this.props.id,\n value: this.props.callbackValue,\n index: this.props.index,\n event: event,\n });\n };\n\n render(): React.ReactNode {\n const buttonStyle: Properties = {\n backgroundColor: this.props.b_color || '#ddd',\n color: this.props.color || 'black',\n padding: this.props.small === 'true' ? '2px' : this.props.padding ? this.props.padding : '8px 32px',\n textAlign: 'center',\n textDecoration: 'none',\n display: 'inline-block',\n fontSize: this.props.fontSize ? this.props.fontSize : '12px',\n border: this.props.border ? this.props.border : 'none',\n width: this.props.small === 'true' ? '30px' : this.props.width ? this.props.width : '',\n minWidth: this.props.small === 'true' ? '30px' : '60px',\n height: this.props.small === 'true' ? '30px' : this.props.height ? this.props.height : '50px',\n margin: this.props.margin || '0px 0px 0px 0px',\n borderRadius: this.props.round === 'true' ? '50%' : this.props.round ? this.props.round : '0px',\n maxWidth: this.props.maxWidth || '100%',\n verticalAlign: this.props.verticalAlign || 'middle',\n };\n\n return (\n \n {this.props.children}\n \n );\n }\n}\n\nexport default Button;\n", "import ButtonExpand from '@components/btn-Input/btn-expand';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport { Grid } from '@mui/material';\nimport type { PropsHeaderMenu } from '@/types/app';\nimport React, { Component } from 'react';\nimport AppContentHeaderMenuButtons from './AppContentHeaderMenuButtons';\nimport AppContentHeaderMenuList from './AppContentHeaderMenuList';\n\nclass HeaderMenu extends Component {\n eventOnMouse = (event: React.MouseEvent | undefined): void => {\n if (!event) {\n return;\n }\n if (event.type === 'mouseenter') {\n this.props.callback.setStateApp({ showPopupMenuList: true });\n }\n if (event.type === 'mouseleave') {\n this.props.callback.setStateApp({ showPopupMenuList: false });\n }\n };\n\n handleClick = (): void => {\n this.props.callback.setStateApp({ showPopupMenuList: !this.props.data.state.showPopupMenuList });\n };\n\n showList(): boolean {\n return this.props.data.state.showPopupMenuList;\n }\n\n isActiveMenu(): boolean {\n return this.props.data.state.activeMenu != undefined;\n }\n\n render(): React.ReactNode {\n return (\n \n \n \n \n\n {I18n.t('menuList')}\n {this.showList() && this.isActiveMenu() ? (\n \n ) : null}\n \n\n
\n

{I18n.t('activeMenu')}

\n\n \n {this.isActiveMenu() ? this.props.data.state.activeMenu : I18n.t('createMenu')}\n \n
\n \n \n \n );\n }\n}\n\nexport default HeaderMenu;\n", "import { I18n, Confirm } from '@iobroker/adapter-react-v5';\nimport { Grid } from '@mui/material';\nimport React, { Component } from 'react';\nimport Button from '@components/Button';\nimport Input from '../components/btn-Input/input';\nimport RenameModal from '@components/RenameModal';\nimport type { NativeData, PropsBtnCard, StateBtnCard, UserActiveCheckbox, UsersInGroup } from '@/types/app';\nimport { replaceSpaceWithUnderscore } from '@/lib/string';\nimport { deepCopy } from '@/lib/Utils';\nimport type { EventButton, EventInput } from '@/types/event';\n\nclass BtnCard extends Component {\n constructor(props: PropsBtnCard) {\n super(props);\n this.state = {\n oldMenuName: '',\n newMenuName: '',\n renamedMenuName: '',\n confirmDialog: false,\n renameDialog: false,\n menuNameExists: false,\n isOK: false,\n };\n }\n\n componentDidUpdate(prevProps: Readonly, prevState: Readonly): void {\n if (prevState.oldMenuName !== this.props.data.state.activeMenu) {\n this.setState({\n oldMenuName: this.props.data.state.activeMenu,\n renamedMenuName: this.props.data.state.activeMenu,\n });\n }\n\n if (prevState.newMenuName !== this.state.newMenuName) {\n this.setState({ menuNameExists: this.validateMenuName() });\n }\n\n if (this.state.renamedMenuName) {\n if (prevState.renamedMenuName !== this.state.renamedMenuName) {\n if (this.userChangedMenuName()) {\n this.setState({ isOK: false });\n }\n\n if (!this.props.data.state.native.usersInGroup) {\n return;\n }\n this.setState({ isOK: !this.validateMenuName() });\n }\n }\n }\n\n validateMenuName(): boolean {\n return (\n this.state.renamedMenuName !== '' &&\n !!this.props.data.state.native.usersInGroup?.[this.state.renamedMenuName.replace(/ /g, '_')]\n );\n }\n\n userChangedMenuName(): boolean {\n return this.state.renamedMenuName === this.props.data.state.activeMenu;\n }\n\n addNewMenu = (newMenuName: string, copyMenu: boolean): void => {\n newMenuName = replaceSpaceWithUnderscore(newMenuName);\n let addNewMenu = false;\n const data = deepCopy(this.props.data.state.native.data);\n let userActiveCheckbox = deepCopy(this.props.data.state.native.userActiveCheckbox);\n\n if (!data || !userActiveCheckbox) {\n return;\n }\n\n const usersInGroup = { ...this.props.data.state.native.usersInGroup };\n if (!this.props.data.state.native.data.nav) {\n data.nav = {};\n data.action = {};\n userActiveCheckbox = {};\n addNewMenu = true;\n } else if (newMenuName !== '' && !this.props.data.state.native.data.nav[newMenuName]) {\n if (copyMenu) {\n data.nav[newMenuName] = data.nav[this.state.oldMenuName];\n data.action[newMenuName] = data.action[this.state.oldMenuName];\n userActiveCheckbox[newMenuName] = userActiveCheckbox[this.state.oldMenuName];\n usersInGroup[newMenuName] = usersInGroup[this.state.oldMenuName];\n } else {\n addNewMenu = true;\n }\n } else {\n return;\n }\n if (addNewMenu) {\n data.nav[newMenuName] = [\n {\n call: 'StartSide',\n value: 'Iobroker, Light, Grafana, Weather',\n text: 'chooseAction',\n parse_mode: 'false',\n },\n ];\n data.action[newMenuName] = { get: [], set: [], pic: [], echarts: [], events: [], httpRequest: [] };\n userActiveCheckbox[newMenuName] = false;\n usersInGroup[newMenuName] = [];\n this.setState({ newMenuName: '' });\n }\n\n this.updateNative(data, usersInGroup, userActiveCheckbox);\n\n setTimeout(() => {\n this.props.callback.setStateApp({ activeMenu: newMenuName });\n }, 500);\n };\n\n updateNative(data: NativeData, usersInGroup: UsersInGroup, userActiveCheckbox: UserActiveCheckbox): void {\n this.props.callback.updateNative('data', data, () =>\n this.props.callback.updateNative('usersInGroup', usersInGroup, () =>\n this.props.callback.updateNative('userActiveCheckbox', userActiveCheckbox),\n ),\n );\n }\n\n removeMenu = (menu: string, renameMenu: boolean, newMenu?: string): void => {\n const newObject = deepCopy(this.props.data.state.native.data);\n const copyOfUsersInGroup = deepCopy(this.props.data.state.native.usersInGroup);\n const userActiveCheckbox = deepCopy(this.props.data.state.native.userActiveCheckbox);\n\n if (!copyOfUsersInGroup || !userActiveCheckbox || !newObject) {\n return;\n }\n\n delete newObject.nav[menu];\n delete newObject.action[menu];\n delete userActiveCheckbox[menu];\n delete copyOfUsersInGroup[menu];\n\n this.updateNative(newObject, copyOfUsersInGroup, userActiveCheckbox);\n\n if (renameMenu) {\n this.props.callback.setStateApp({ activeMenu: newMenu });\n return;\n }\n this.setFirstMenuInList(newObject);\n };\n\n openConfirmDialog = (): void => {\n this.setState({ confirmDialog: true });\n };\n\n renameMenu = ({ value }: EventButton): void => {\n if (!value) {\n this.setState({ renameDialog: false });\n return;\n }\n const oldMenuName = this.state.oldMenuName;\n const newMenu = this.state.renamedMenuName;\n if (BtnCard.validateNewMenuName(newMenu, oldMenuName)) {\n return;\n }\n this.addNewMenu(this.state.renamedMenuName, true);\n setTimeout(() => {\n this.removeMenu(oldMenuName, true, newMenu);\n }, 1000);\n this.setState({ renameDialog: false });\n };\n\n static validateNewMenuName(newMenu: string, oldMenuName: string): boolean {\n return newMenu === '' || newMenu == undefined || newMenu === oldMenuName;\n }\n\n openRenameDialog = (): void => {\n this.setState({ renamedMenuName: this.state.oldMenuName });\n this.setState({ renameDialog: true });\n };\n\n buttonAddNewMenuHandler = ({ value }: EventButton): void => {\n this.addNewMenu(value as string, false);\n };\n\n appSetStateHandler = ({ id, value: cbValue }: EventButton): void => {\n this.props.callback.setStateApp({ [id]: cbValue });\n };\n\n private setFirstMenuInList(newObject: NativeData): void {\n const firstMenu = Object.keys(newObject.nav)[0];\n this.props.callback.setStateApp({ activeMenu: firstMenu });\n }\n\n render(): React.ReactNode {\n return (\n <>\n \n this.setState({ newMenuName: val as string })}\n class={this.state.menuNameExists ? 'inUse' : undefined}\n />\n \n\n \n group_add\n {I18n.t('add')}\n \n\n \n delete\n {I18n.t('delete')}\n \n\n \n edit\n {I18n.t('edit')}\n \n\n \n content_copy\n {I18n.t('copy')}\n \n\n \n info\n {I18n.t('overview')}\n \n\n {this.state.confirmDialog ? (\n {\n if (isYes) {\n this.removeMenu(this.state.oldMenuName, false);\n }\n\n this.setState({ confirmDialog: false });\n }}\n />\n ) : null}\n {this.state.renameDialog ? (\n \n ) : null}\n \n );\n }\n}\n\nexport default BtnCard;\n", "import React, { Component } from 'react';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport type { InputProps } from '@/types/app';\nimport type { EventInput } from '@/types/event';\n\nclass Input extends Component {\n onChangeHandler = (event: React.ChangeEvent | undefined): void => {\n const obj: EventInput = { val: event?.target.value, index: this.props.index, id: this.props.id };\n this.props.callback(obj);\n };\n\n render(): React.ReactNode {\n return (\n
\n \n
\n );\n }\n}\n\nexport default Input;\n", "import React, { Component } from 'react';\nimport PopupContainer from './popupCards/PopupContainer';\nimport RenameCard from './popupCards/RenameCard';\nimport type { SetStateFunction } from '@/types/app';\nimport type { EventButton } from '@/types/event';\n\ninterface RenameProps {\n title: string;\n rename: (obj: EventButton) => void;\n isOK: boolean;\n value: string;\n setState: SetStateFunction;\n id: string;\n}\n\nclass RenameModal extends Component {\n constructor(props: RenameProps) {\n super(props);\n this.state = {};\n }\n\n render(): React.ReactNode {\n return (\n \n \n \n );\n }\n}\n\nexport default RenameModal;\n", "import React, { Component } from 'react';\nimport Button from '../Button';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport type { Properties } from 'csstype';\nimport type { PropsPopupContainer, StatePopupContainer } from '@/types/app';\n\nclass PopupContainer extends Component {\n constructor(props: PropsPopupContainer) {\n super(props);\n this.state = {\n menuName: this.props.value || '',\n disable: true,\n inUse: false,\n };\n }\n componentDidMount(): void {\n if (this.props.drag) {\n const element = document.querySelector('.DialogBackground') as HTMLElement;\n element.draggable = true;\n }\n }\n //FIXME - css verwenden\n render(): React.ReactNode {\n const DialogContainer: Properties = {\n position: 'absolute',\n top: this.props.top ? this.props.top : '50%',\n left: this.props.left ? this.props.left : '50%',\n right: this.props.right ? this.props.right : '50%',\n transform: 'translate(-50%, -60%)',\n backgroundColor: '#fff',\n width: this.props.width || '400px',\n height: this.props.height || '200px',\n zIndex: '100',\n borderRadius: '4px',\n border: '2px solid #ccc',\n };\n\n return (\n this.props.onDragStart!(event, this.props.setState) : undefined\n }\n onDragEnd={\n this.props.onDragEnd ? event => this.props.onDragEnd!(event, this.props.setState) : undefined\n }\n onDragOver={\n this.props.onDragOver ? event => this.props.onDragOver!(event, this.props.setState) : undefined\n }\n onDrop={this.props.onDrop ? event => this.props.onDrop!(event, this.props.setState) : undefined}\n onDrag={this.props.onDrag ? event => this.props.onDrag!(event, this.props.setState) : undefined}\n onMouseEnter={\n this.props.onMouseEnter ? event => this.props.onMouseEnter!(event, this.props.setState) : undefined\n }\n onMouseLeave={\n this.props.onMouseLeave ? event => this.props.onMouseLeave!(event, this.props.setState) : undefined\n }\n >\n \n
{this.props.title}
\n
\n {this.state.inUse ?

{I18n.t('Call is already in use!')}

: null}\n {this.props.children}\n
\n
\n {!this.props.closeBtn ? (\n \n {I18n.t(this.props.labelBtnOK ? this.props.labelBtnOK : 'ok')}\n \n ) : null}\n \n {!this.props.closeBtn ? I18n.t('abort') : I18n.t('close')}\n \n
\n \n \n );\n }\n}\n\nexport default PopupContainer;\n", "import React, { Component } from 'react';\nimport Input from '../btn-Input/input';\nimport type { PropsRenameCard, StateRenameCard } from '@/types/app';\nimport type { EventInput } from '@/types/event';\n\nclass RenameCard extends Component {\n constructor(props: PropsRenameCard) {\n super(props);\n this.state = {};\n }\n\n render(): React.ReactNode {\n return (\n
\n this.props.callback.setState({ [this.props.id]: val })}\n />\n
\n );\n }\n}\n\nexport default RenameCard;\n", "import React, { Component } from 'react';\nimport Button from '@components/Button';\nimport type { PropsMenuPopupCard } from '@/types/app';\nimport type { EventButton } from '@/types/event';\n\nclass MenuPopupCard extends Component {\n constructor(props: PropsMenuPopupCard) {\n super(props);\n this.state = {};\n }\n\n componentDidUpdate(prevProps: Readonly): void {\n if (prevProps.usersInGroup !== this.props.usersInGroup) {\n this.menuList = Object.keys(this.props.usersInGroup);\n }\n }\n\n secondCallback = (): void => {\n this.props.callback.setStateApp({ showPopupMenuList: false });\n };\n\n menuList = Object.keys(this.props.usersInGroup);\n\n render(): React.ReactNode {\n return (\n
\n {this.menuList.map((menu, index) => {\n return (\n {\n this.props.callback.setStateApp({ [id]: innerText });\n this.secondCallback();\n }}\n callbackValue=\"event.target.innerText\"\n >\n {menu}\n \n );\n })}\n
\n );\n }\n}\nexport default MenuPopupCard;\n", "import type { EventCheckbox } from '@/types/event';\nimport ButtonExpand from '@components/btn-Input/btn-expand';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport { Grid } from '@mui/material';\nimport type { PropsHeaderTelegramUsers, StateHeaderTelegramUsers, UserListWithChatID, UsersInGroup } from '@/types/app';\nimport React, { Component } from 'react';\nimport Checkbox from '../components/btn-Input/checkbox';\nimport AppContentHeaderTelegramUsersUserCard from './AppContentHeaderTelegramUsersUserCard';\nimport AppContentHeaderTelegramUsersErrorMessage from './AppContentHeaderTelegramUsersErrorMessage';\nimport CoverSaveBtn from '@components/CoverSaveBtn';\n\nclass HeaderTelegramUsers extends Component {\n constructor(props: PropsHeaderTelegramUsers) {\n super(props);\n this.state = {\n menuOpen: true,\n errorUserChecked: false,\n menuChecked: false,\n };\n }\n\n componentDidUpdate = (prevProps: Readonly): void => {\n if (prevProps.data.usersInGroup !== this.props.data.usersInGroup) {\n this.checkUserSelection();\n }\n if (prevProps.data.activeMenu !== this.props.data.activeMenu) {\n this.setState({ menuChecked: this.props.data.userActiveCheckbox[this.props.data.activeMenu] });\n }\n };\n\n updateMenuOpen = (): void => {\n this.setState({ menuOpen: !this.state.menuOpen });\n };\n\n menuActiveChecked = (): boolean => {\n return this.props.data.userActiveCheckbox[this.props.data.activeMenu];\n };\n\n clickCheckbox = ({ isChecked }: EventCheckbox): void => {\n if (isChecked) {\n if (!this.checkUserSelection(true)) {\n return;\n }\n } else {\n this.setState({ errorUserChecked: false });\n }\n this.setState({ menuChecked: isChecked });\n this.props.callback.updateNative(`userActiveCheckbox.${this.props.data.activeMenu}`, isChecked);\n };\n\n checkUserSelection = (val?: boolean): boolean => {\n const usersInGroup = this.props.data.usersInGroup;\n if (this.state.menuChecked || val) {\n if (this.isMinOneUserChecked(usersInGroup)) {\n if (\n !HeaderTelegramUsers.checkUsersAreActiveInTelegram(\n usersInGroup[this.props.data.activeMenu],\n this.props.data.state.native?.userListWithChatID,\n )\n ) {\n this.setState({ errorUserChecked: true });\n return false;\n }\n return true;\n }\n }\n return false;\n };\n\n static checkUsersAreActiveInTelegram(activeGroup: string[], userListWithChatID: UserListWithChatID[]): boolean {\n for (const user of activeGroup) {\n if (HeaderTelegramUsers.isUserActiveInTelegram(user, userListWithChatID)) {\n return true;\n }\n }\n return false;\n }\n\n private isMinOneUserChecked(usersInGroup: UsersInGroup): boolean {\n return usersInGroup[this.props.data.activeMenu]?.length > 0;\n }\n\n static isUserActiveInTelegram(user: string, userListWithChatID: UserListWithChatID[]): boolean {\n return userListWithChatID.some(item => item.name === user);\n }\n\n isUserGroupLength(): boolean {\n return Object.keys(this.props.data.usersInGroup).length !== 0;\n }\n\n render(): React.ReactNode {\n return (\n \n \n
\n {this.isUserGroupLength() ? (\n \n ) : null}\n {this.state.menuOpen && this.isUserGroupLength() ? (\n
\n
\n

\n {I18n.t('telegramUser')} \n {this.state.errorUserChecked ? (\n \n ) : null}\n

\n {this.props.data.state.native?.userListWithChatID.map((user, key) => {\n return (\n \n );\n })}\n
\n {this.props.data.state.activeMenu != undefined ? (\n \n ) : null}\n
\n ) : null}\n
\n \n {this.state.errorUserChecked ? : null}\n \n );\n }\n}\n\nexport default HeaderTelegramUsers;\n", "import { I18n } from '@iobroker/adapter-react-v5';\nimport React, { Component } from 'react';\nimport type { PropsCheckbox } from '@/types/app';\n\nclass Checkbox extends Component {\n onChangeHandler = (event: React.ChangeEvent): void => {\n this.props.callback({ isChecked: event.target.checked, id: this.props?.id, index: this.props?.index });\n };\n\n render(): React.ReactNode {\n return (\n \n );\n }\n}\n\nexport default Checkbox;\n", "import type { PropsTelegramUserCard, StateTelegramUserCard } from '@/types/app';\nimport React, { Component } from 'react';\nimport Checkbox from '../components/btn-Input/checkbox';\nimport type { EventCheckbox } from '@/types/event';\n\nclass AppContentHeaderTelegramUsersUserCard extends Component {\n constructor(props: PropsTelegramUserCard) {\n super(props);\n this.state = {\n usersInGroup: this.props.data.usersInGroup,\n name: this.props.user.name,\n activeMenu: this.props.data.state.activeMenu,\n };\n }\n\n componentDidUpdate = (): void => {\n if (this.props.data.usersInGroup !== this.state.usersInGroup) {\n this.setState({ usersInGroup: this.props.data.usersInGroup });\n }\n if (this.props.data.state.activeMenu !== this.state.activeMenu) {\n this.setState({ activeMenu: this.props.data.state.activeMenu });\n }\n };\n\n private isUserChecked = (): boolean => {\n if (!this.props.data.usersInGroup || !this.props.data.usersInGroup[this.state.activeMenu]) {\n return false;\n }\n return this.isUserInList();\n };\n\n private isUserInList(): boolean {\n if (!this.state.activeMenu || this.props.data.usersInGroup[this.state.activeMenu].length == 0) {\n return false;\n }\n return this.props.data.usersInGroup[this.state.activeMenu].includes(this.props.user.name);\n }\n\n checkboxClicked = ({ isChecked, id: name }: EventCheckbox): void => {\n if (isChecked) {\n this.props.setState({ errorUserChecked: false });\n }\n const listOfUsers = [...this.props.data.usersInGroup[this.state.activeMenu]];\n if (isChecked && !listOfUsers.includes(name)) {\n listOfUsers.push(name);\n } else {\n const index = listOfUsers.indexOf(name);\n if (index > -1) {\n listOfUsers.splice(index, 1);\n }\n }\n this.props.callback.updateNative(`usersInGroup.${this.state.activeMenu}`, listOfUsers);\n };\n\n render(): React.ReactNode {\n const { name, chatID } = this.props.user;\n return (\n
\n
\n

{name}

\n \n
\n

\n ChatID :{chatID}\n

\n
\n );\n }\n}\n\nexport default AppContentHeaderTelegramUsersUserCard;\n", "import { I18n } from '@iobroker/adapter-react-v5';\nimport React, { Component } from 'react';\ninterface AppContentHeaderTelegramUsersErrorMessageProps {\n any?: any;\n}\n\nclass AppContentHeaderTelegramUsersErrorMessage extends Component {\n constructor(props: AppContentHeaderTelegramUsersErrorMessageProps) {\n super(props);\n this.state = {};\n }\n\n static render(): React.ReactNode {\n return {I18n.t('userSelect')};\n }\n}\n\nexport default AppContentHeaderTelegramUsersErrorMessage;\n", "import React, { Component } from 'react';\n/* eslint-disable @typescript-eslint/no-empty-object-type */\ninterface CoverSaveBtnProps {}\nclass CoverSaveBtn extends Component {\n constructor(props: CoverSaveBtnProps) {\n super(props);\n this.state = {};\n }\n /* eslint-disable class-methods-use-this */\n render(): React.ReactNode {\n return
\n\n \n
  • \n

    {I18n.t('navigationButtons')}

    \n
      \n {this.state.trigger?.everyTrigger[menu].map((trigger, indexTrigger) => {\n return (\n \n \n\n \n {trigger}\n \n \n );\n })}\n
    \n
  • \n
  • {I18n.t('usedTrigger')}
  • \n
  • \n

    nav

    \n
      \n {this.state.trigger?.usedTrigger.nav[menu].map(\n (trigger, indexTrigger) => {\n return (\n \n {this.getColorUsedTriggerNav({\n index: indexUsedTrigger,\n menuCall: menu,\n trigger,\n })?.map((item, i) => (\n \n ))}\n \n {trigger}\n \n \n );\n },\n )}\n
    \n
  • \n\n {this.state.trigger?.usedTrigger.action[menu]\n ? Object.keys(this.state.trigger?.usedTrigger.action[menu]).map(\n (action, index2) => {\n return (\n
  • \n

    {action}

    \n
      \n {(\n this.state.trigger?.usedTrigger.action[menu][\n action\n ] as string[]\n ).map((trigger, index3) => {\n return (\n \n {this.getColorUsedTriggerNav({\n index: indexUsedTrigger,\n menuCall: menu,\n trigger,\n })?.map((item, i) => (\n \n ))}\n \n {trigger}\n \n \n );\n })}\n
    \n
  • \n );\n },\n )\n : null}\n \n \n );\n })}\n \n ) : null}\n \n );\n }\n}\n\nexport default TriggerOverview;\n", "export const colors = [\n 'Aqua',\n // \"Aquamarine\",\n 'Blue',\n 'BlueViolet',\n 'Brown',\n 'BurlyWood',\n 'CadetBlue',\n 'Chartreuse',\n 'Chocolate',\n 'Coral',\n 'CornflowerBlue',\n 'Crimson',\n 'Cyan',\n 'DarkBlue',\n 'DarkCyan',\n 'DarkGoldenRod',\n 'DarkGreen',\n 'DarkKhaki',\n 'DarkMagenta',\n 'DarkOliveGreen',\n 'DarkOrange',\n 'DarkOrchid',\n 'DarkRed',\n 'DarkSalmon',\n 'DarkSeaGreen',\n 'DarkSlateBlue',\n 'DarkSlateGray',\n 'DarkSlateGrey',\n 'DarkTurquoise',\n 'DarkViolet',\n 'DeepPink',\n 'DeepSkyBlue',\n 'DimGray',\n 'DimGrey',\n 'DodgerBlue',\n 'FireBrick',\n 'FloralWhite',\n 'ForestGreen',\n 'Fuchsia',\n 'Gainsboro',\n 'GhostWhite',\n 'Gold',\n 'GoldenRod',\n 'Gray',\n 'Grey',\n 'Green',\n 'GreenYellow',\n 'HoneyDew',\n 'HotPink',\n 'IndianRed',\n 'Indigo',\n 'Ivory',\n 'Khaki',\n 'Lavender',\n 'LavenderBlush',\n 'LawnGreen',\n 'LemonChiffon',\n 'LightBlue',\n 'LightCoral',\n 'LightCyan',\n 'LightGoldenRodYellow',\n 'LightGray',\n 'LightGrey',\n 'LightGreen',\n 'LightPink',\n 'LightSalmon',\n 'LightSeaGreen',\n 'LightSkyBlue',\n 'LightSlateGray',\n 'LightSlateGrey',\n 'LightSteelBlue',\n 'LightYellow',\n 'Lime',\n 'LimeGreen',\n 'Linen',\n 'Magenta',\n 'Maroon',\n 'MediumAquaMarine',\n 'MediumBlue',\n 'MediumOrchid',\n 'MediumPurple',\n 'MediumSeaGreen',\n 'MediumSlateBlue',\n 'MediumSpringGreen',\n 'MediumTurquoise',\n 'MediumVioletRed',\n 'MidnightBlue',\n 'MintCream',\n 'MistyRose',\n 'Moccasin',\n 'NavajoWhite',\n 'Navy',\n 'OldLace',\n 'Olive',\n 'OliveDrab',\n 'Orange',\n 'OrangeRed',\n 'Orchid',\n 'PaleGoldenRod',\n 'PaleGreen',\n 'PaleTurquoise',\n 'PaleVioletRed',\n 'PapayaWhip',\n 'PeachPuff',\n 'Peru',\n 'Pink',\n 'Plum',\n 'PowderBlue',\n 'Purple',\n 'RebeccaPurple',\n 'RosyBrown',\n 'RoyalBlue',\n 'SaddleBrown',\n 'Salmon',\n 'SandyBrown',\n 'SeaGreen',\n 'SeaShell',\n 'Sienna',\n 'Silver',\n 'SkyBlue',\n 'SlateBlue',\n 'SlateGray',\n 'SlateGrey',\n 'Snow',\n 'SpringGreen',\n 'SteelBlue',\n 'Tan',\n 'Teal',\n 'Thistle',\n 'Tomato',\n 'Turquoise',\n 'Violet',\n 'Wheat',\n 'White',\n 'WhiteSmoke',\n 'Yellow',\n 'YellowGreen',\n];\n", "import { I18n } from '@iobroker/adapter-react-v5';\nimport type { PropsSquare, StateSquare } from '@/types/app';\nimport React, { Component } from 'react';\n\nclass Square extends Component {\n constructor(props: PropsSquare) {\n super(props);\n this.state = {\n bColor: '',\n width: 6,\n color: 'black',\n text: '',\n left: '20px',\n fontWeight: 'normal',\n };\n }\n\n getValuesForSquare(): void {\n switch (this.props.color) {\n case 'white':\n if (this.props.trigger == '-') {\n this.setState({ bColor: 'transparent' });\n break;\n }\n this.setState({ bColor: 'white', width: 60, text: 'Not linked', left: '-59px', fontWeight: 'bold' });\n break;\n case 'black':\n this.setState({\n bColor: 'black',\n width: this.props.noText ? 6 : 60,\n color: 'white',\n text: this.props.noText ? '' : 'Unused',\n left: this.props.noText ? '-5px' : '-59px',\n fontWeight: 'bold',\n });\n break;\n\n default:\n if (this.props.trigger != '-') {\n this.setState({ bColor: this.props.color, left: `${-(this.props.position * 10 + 5)}px` });\n } else {\n this.setState({ bColor: 'transparent' });\n }\n break;\n }\n }\n\n componentDidMount(): void {\n this.getValuesForSquare();\n }\n\n componentDidUpdate(prevProps: Readonly): void {\n if (\n this.props.color !== prevProps.color ||\n this.props.trigger !== prevProps.trigger ||\n this.props.position !== prevProps.position\n ) {\n this.getValuesForSquare();\n }\n }\n\n render(): React.ReactNode {\n return (\n
    \n \n {I18n.t(this.state.text)}\n
    \n \n );\n }\n}\n\nexport default Square;\n", "import type { ErrorInfo } from 'react';\n/* eslint-disable no-duplicate-imports */\nimport { Component } from 'react';\n\ninterface State {\n hasError: boolean;\n}\n\ntype ErrorBoundaryProps = any;\n\nclass ErrorBoundary extends Component {\n constructor(props: ErrorBoundaryProps) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError(error: Error): { hasError: boolean } {\n // Aktualisieren Sie den Zustand, sodass der n\u00E4chste Render einen Fallback-UI zeigt\n console.error('ErrorBoundary getDerivedStateFromError:', error);\n return { hasError: true };\n }\n\n static componentDidCatch(error: Error, errorInfo: ErrorInfo): void {\n // Fehlerprotokollierung\n console.error('Error caught by ErrorBoundary:', error, errorInfo);\n }\n\n render(): React.ReactNode {\n // if (this.state.hasError) {\n // \t// Fallback-UI anzeigen\n // \treturn

    Etwas ist schief gelaufen.

    ;\n // }\n\n return this.props.children;\n }\n}\n\nexport default ErrorBoundary;\n", "import { sortObjectByKey, updateActiveMenuAndTrigger } from '@/lib/actionUtils';\nimport { updatePositionDropBox } from '@/lib/movePosition';\nimport { insertNewItemsInData } from '@/lib/newValuesForNewVersion';\nimport getIobrokerData from '@/lib/socket';\nimport AppContent from '@/pages/AppContent';\nimport AppDoubleTriggerInfo from '@/pages/AppDoubleTriggerInfo';\nimport AppDropBox from '@/pages/AppDropBox';\nimport AppHeaderIconBar from '@/pages/AppHeaderIconBar';\nimport AppTriggerOverview from '@/pages/AppTriggerOverview';\nimport ErrorBoundary from '@components/ErrorBoundary';\nimport { AdminConnection, GenericApp } from '@iobroker/adapter-react-v5';\nimport { Grid } from '@mui/material';\nimport type { Dropbox, Native, Nullable, TriggerObject } from '@/types/app.d.ts';\nimport React from 'react';\nimport { getDefaultDropBoxCoordinates } from './lib/dragNDrop';\nimport { getDoubleEntries, getFirstItem as getFirstObjectKey } from './lib/object';\nimport type { TelegramMenuApp } from './types/props-types';\nimport { processUserData } from './lib/Utils';\nimport en from '../i18n/en/translations.json';\nimport de from '../i18n/de/translations.json';\nimport ru from '../i18n/ru/translations.json';\nimport pt from '../i18n/pt/translations.json';\nimport nl from '../i18n/nl/translations.json';\nimport fr from '../i18n/fr/translations.json';\nimport it from '../i18n/it/translations.json';\nimport es from '../i18n/es/translations.json';\nimport pl from '../i18n/pl/translations.json';\nimport uk from '../i18n/uk/translations.json';\nimport zhCN from '../i18n/zh-cn/translations.json';\n\nclass App extends GenericApp {\n dropBoxRef: Dropbox.Ref;\n\n constructor(props: any) {\n const extendedProps: TelegramMenuApp.ExtendedProps = {\n ...props,\n encryptedFields: [],\n Connection: AdminConnection,\n translations: {\n en,\n de,\n ru,\n pt,\n nl,\n fr,\n it,\n es,\n pl,\n uk,\n 'zh-cn': zhCN,\n },\n };\n super(props, extendedProps);\n this.dropBoxRef = React.createRef();\n this.state = {\n ...this.state,\n native: {} as Native,\n tab: 'nav',\n subTab: 'set',\n draggingRowIndex: null,\n activeMenu: '',\n showPopupMenuList: false,\n instances: [],\n popupMenuOpen: false,\n themeName: 'light',\n themeType: 'light',\n unUsedTrigger: [],\n usedTrigger: [],\n triggerObject: {} as TriggerObject,\n showTriggerInfo: false,\n showDropBox: false,\n doubleTrigger: [],\n connectionReady: false,\n dropBoxTop: 105,\n dropBoxRight: 5,\n dropDifferenzX: 0,\n dropDifferenzY: 0,\n copyDataObject: { targetCheckboxes: {}, targetActionName: '' },\n };\n\n this.setState = this.setState.bind(this);\n }\n\n handleResize = (): void => {\n updatePositionDropBox(null, null, this.dropBoxRef, this.state.showDropBox, this.state.native.dropbox);\n };\n\n componentDidMount(): void {\n updatePositionDropBox(this.newX, this.newY, this.dropBoxRef, this.state.showDropBox, this.state.native.dropbox);\n window.addEventListener('resize', this.handleResize);\n }\n\n componentWillUnmount(): void {\n window.removeEventListener('resize', this.handleResize);\n }\n\n newX: Nullable = null;\n newY: Nullable = null;\n async componentDidUpdate(\n prevProps: Readonly,\n prevState: Readonly,\n ): Promise {\n if (prevState.native.instance !== this.state.native.instance && this.state.connectionReady) {\n await this.getUsersFromTelegram();\n }\n if (prevState.native.data !== this.state.native.data || prevState.activeMenu !== this.state.activeMenu) {\n if (this.state.activeMenu && this.state.activeMenu != '') {\n updateActiveMenuAndTrigger(\n this.state.activeMenu,\n this.setState,\n this.state.native.data,\n this.state.native.usersInGroup,\n );\n }\n }\n if (prevState.native.usersInGroup !== this.state.native.usersInGroup) {\n this.updateNativeValue('usersInGroup', sortObjectByKey(this.state.native.usersInGroup));\n }\n if (prevState.usedTrigger !== this.state.usedTrigger) {\n this.setState({ doubleTrigger: getDoubleEntries(this.state.usedTrigger) });\n }\n if (\n prevState.native.dropbox !== this.state.native.dropbox ||\n this.state.showDropBox !== prevState.showDropBox\n ) {\n updatePositionDropBox(\n this.newX,\n this.newY,\n this.dropBoxRef,\n this.state.showDropBox,\n this.state.native.dropbox,\n );\n }\n if (\n prevState.dropDifferenzX !== this.state.dropDifferenzX ||\n prevState.dropDifferenzY !== this.state.dropDifferenzY\n ) {\n const { newX, newY } = getDefaultDropBoxCoordinates(\n this.state.native.dropbox,\n this.state.dropDifferenzX,\n this.state.dropDifferenzY,\n );\n this.newX = newX;\n this.newY = newY;\n const dropbox = { dropboxRight: newX, dropboxTop: newY };\n this.updateNativeValue('dropbox', dropbox);\n updatePositionDropBox(\n this.newX,\n this.newY,\n this.dropBoxRef,\n this.state.showDropBox,\n this.state.native.dropbox,\n );\n }\n }\n\n async onConnectionReady(): Promise {\n insertNewItemsInData(this.state.native.data, this.updateNativeValue.bind(this));\n this.updateNativeValue('usersInGroup', sortObjectByKey(this.state.native.usersInGroup));\n await this.getUsersFromTelegram();\n await getIobrokerData.getAllTelegramInstances(this.socket, (data: string[]) => {\n this.setState({ instances: data });\n });\n const firstMenu = getFirstObjectKey(this.state.native.usersInGroup);\n this.setState({ activeMenu: firstMenu });\n updateActiveMenuAndTrigger(firstMenu, this.setState, this.state.native.data, this.state.native.usersInGroup);\n\n this.setState({ connectionReady: true });\n }\n\n async getUsersFromTelegram(): Promise {\n await getIobrokerData.getUsersFromTelegram(this.socket, this.state.native.instance || 'telegram.0', data => {\n !this.state.native.instance\n ? this.updateNativeValue('instance', 'telegram.0')\n : this.updateNativeValue('userListWithChatID', processUserData(data));\n });\n }\n\n render(): React.ReactElement {\n if (!this.state.loaded) {\n return super.render();\n }\n\n return (\n
    \n \n \n this.setState({ errorText: text.toString() })}\n onLoad={native => this.onLoadConfig(native)}\n instance={this.instance}\n adapterName={this.adapterName}\n changed={this.state.changed}\n onChange={(attr, value, cb) => this.updateNativeValue(attr, value, cb)}\n />\n\n this.updateNativeValue(attr, value, cb),\n }}\n data={{ state: this.state, adapterName: this.adapterName, socket: this.socket }}\n />\n \n {this.state.showDropBox ? (\n this.updateNativeValue(attr, value, cb),\n }}\n />\n ) : null}\n {this.state.showTriggerInfo ? (\n this.updateNativeValue(attr, value, cb),\n }}\n />\n ) : null}\n {this.state.doubleTrigger.length > 0 ? : null}\n {this.renderError()}\n {this.renderToast()}\n {this.renderSaveCloseButtons()}\n \n
    \n );\n }\n}\n\nexport default App;\n", "export const getDoubleEntries = (array: string[]): string[] => {\n const entries = [...array];\n const doubleEntries: string[] = [];\n entries.forEach((element, index) => {\n if (index !== entries.indexOf(element)) {\n if (element != '-') {\n doubleEntries.push(element);\n }\n }\n });\n return doubleEntries;\n};\n\nexport function getFirstItem(obj: { [key: string]: any }): any {\n return Object.keys(obj)[0];\n}\n", "{\r\n \"ID\": \"ID\",\r\n \"IDs\": \"IDs\",\r\n \"abort\": \"Abort\",\r\n \"ack\": \"Ack\",\r\n \"action\": \"Action\",\r\n \"active\": \"Active\",\r\n \"activeMenu\": \"Active Menu:\",\r\n \"add\": \"Add\",\r\n \"addAction\": \"Add new Action\",\r\n \"addMenu\": \"Add new Menu Name\",\r\n \"binding\": \"Bindings: First Var with id then the condition and the text.\",\r\n \"breakpointNewline\": \"Breakpoint for a new line, Only insert this in the Text\",\r\n \"call\": \"Call\",\r\n \"cancel\": \"Cancel\",\r\n \"changeFunction\": \"Changes the value in the return text, in this case from true to on and false to off\",\r\n \"chooseAction\": \"Choose an action\",\r\n \"close\": \"Close\",\r\n \"commonName\": \"Outputs the name of the data point\",\r\n \"condition\": \"Condition\",\r\n \"conditionMenu\": \"Condition to open Menu\",\r\n \"confirm\": \"Confirm\",\r\n \"confirmDelete\": \"All data will be lost. Confirm?\",\r\n \"confirmMessage\": \"Confirm with message\",\r\n \"confirmSet\": \"Attention. The value has only been set but not yet confirmed by the Adapter. You can remove noValue, then the value will displayed. Position && replaced by Value or will be put at the End\",\r\n \"convertsUnixTimestamp\": \"Converts a Unix timestamp to a local time\",\r\n \"copy\": \"Copy\",\r\n \"createMenu\": \"Please create a menu!\",\r\n \"delay\": \"Delay (ms)\",\r\n \"delete\": \"Delete\",\r\n \"directory\": \"Directory\",\r\n \"doubleTrigger\": \"You have double triggers, please remove them!\",\r\n \"edit\": \"Edit\",\r\n \"entryNotFound\": \"Entry not found!\",\r\n \"executedMenu\": \"Executed Menu\",\r\n \"filename\": \"Filename\",\r\n \"hide\": \"Hide\",\r\n \"identification\": \"Identification\",\r\n \"inactive\": \"Inactive\",\r\n \"insertID\": \"To insert an ID, simply insert the block first, select the ID. This will then be automatically inserted in the appropriate place, even if the ID is to be changed. If the code does not recognize the block, the ID is appended to the end.\",\r\n \"instance\": \"Instance\",\r\n \"isSubmenu\": \"This is a Submenu!\",\r\n \"jsonShoppingList\": \"The same as above, but when you click on a button, the item will be deleted,the Key for the Items is `name:`, you can also add `time:`. Important!!! 'shoppinglist' may not be changed.\",\r\n \"jsonTable\": \"!!! To use it, parseMode must not be active !!! Creates a table from a JSON as Text-Table. The first value is one key of the JSON ,behind it is the name of the column. You can use more than two values.The header must be filled in. Don\u00B4t change TextTable.\",\r\n \"latitude\": \"Latitude\",\r\n \"lcTimestamp\": \"LastChange. Converts a Unix timestamp to a local time, the format can be changed, for example to DD.MM.YYYY YY hh:mm:ss:sss\",\r\n \"linkedWith\": \"Is linked with:\",\r\n \"longitude\": \"Longitude\",\r\n \"manuallyValue\": \"This allows you to set a manually value in combination with ID Value, like this: staticValue{id:ID}staticValue\",\r\n \"math\": \"Converts the value, /10 can be replaced\",\r\n \"menu\": \"Menu\",\r\n \"menuBack\": \"When pressed, you jump back to the previous menu\",\r\n \"menuDeleteAll\": \"Generates a button to delete all messages from the bot. The navigation is optional. Simply leave it blank otherwise you can enter a menu that should be called up.\",\r\n \"menuDynamicSwitch\": \"Generates multiply buttons, values can be insert individual. Replace TRIGGER with a unique value. LengthOfRow is optional and can be used to set the number of buttons per row.
    Breaking Change!!!   Please change manually: `[Name1:Value1, Name2:Value2]` to `[Name1|Value1, Name2|Value2]`. Decimal numbers can now also be used as values.\",\r\n \"menuList\": \"Menu list\",\r\n \"menuNumber\": \"The numbers can be completely exchanged. 0-6 indicates the range, and 1 the step size, UNIT is replaced by a unit, but can also be left empty. Replace TRIGGER with a unique value.\",\r\n \"menuPercent\": \"10 can be replaced and indicates the step size 0%, 10%, 20%...! Replace TRIGGER with a unique value. This is used in action SetState. Enter the desired ID. Below value ! insert\",\r\n \"menuSwitch\": \"Generates two buttons, in this case on and off with the respective values true and false. Replace TRIGGER with a unique value.\",\r\n \"menuToCopy\": \"First select the menu to which you want to copy data. Then the line where it should be added. If there is no data yet, click on save and it will be created after querying the new trigger name.\",\r\n \"modifiedSubmenuValue\": \"This allows you to set a modified Submenu Value in combination with a static part , like this: staticValue{value}staticValue\",\r\n \"navigation\": \"Navigation\",\r\n \"navigationButtons\": \"Navigation Buttons\",\r\n \"newlineCheckbox\": \"Newline\",\r\n \"no\": \"No\",\r\n \"noValue\": \"The Value is not specified in the return text\",\r\n \"notifiedByChangeOfAnotherState\": \"If you want to be notified of the change of another data point after you have set the data point in the ID input field. The change will only be shared if it is set with ack:true. It is mandatory to specify a text outside the {}, otherwise it will be added automatically.\",\r\n \"ok\": \"OK\",\r\n \"oneTimeKey\": \"Requests clients to resize the keyboard vertically for optimal fit (e.g., make the keyboard smaller if there are just two rows of buttons). Defaults to false, in which case the custom keyboard is always of the same height as the app's standard keyboard.\",\r\n \"overview\": \"Overview\",\r\n \"parseMode\": \"Parse Mode HTML\",\r\n \"parseModeBold\": \"Text in Parse-Mode is bold\",\r\n \"parseModeCode\": \"Text in Parse-Mode is code\",\r\n \"parseModeItalic\": \"Text in Parse-Mode is italic\",\r\n \"parseModeLink\": \"Text in Parse-Mode is link\",\r\n \"password\": \"Password\",\r\n \"percent\": \"Percent\",\r\n \"picSendDelay\": \"Picture send delay\",\r\n \"placeholderInstance\": \"--Please choose a telegram instance--\",\r\n \"placeholderValue\": \"Placeholder for the value\",\r\n \"reallyDelete\": \"Do you really want to delete this?\",\r\n \"renameMenu\": \"Rename menu name\",\r\n \"returnText\": \"Return text\",\r\n \"save\": \"Save\",\r\n \"select\": \"Select\",\r\n \"selectAMenuDropBox\": \"Select a Menu,select move or copy. Watch out! A user must be active in the selected menu!\",\r\n \"selectTargetMenu\": \"Select a target menu\",\r\n \"sendMenuAfterRestart\": \"Send Menu after Restart\",\r\n \"setAck\": \"Set ack flag\",\r\n \"setDynamicValue\": \"This allows you to write dynamic values \u200B\u200Binto data points. Simply make a call and then you can enter the value in the input field. RequestText: Text to request the value. Type: type of the value(boolean or number). ConfirmText: Text to confirm the value. ID: If you want to confirm from another State, enter the ID here.(This is optional)\",\r\n \"setID\": \"Sets the value of the ID to the val, with ack(confirmed)\",\r\n \"setMenu\": \"Set menu\",\r\n \"setWithAck\": \"Set Value with ack-Flag\",\r\n \"settings\": \"Settings\",\r\n \"startMenus\": \"Start Menus\",\r\n \"startSide\": \"Start side\",\r\n \"statusMenu\": \"Queries the value of the ID and then replaces it with the value, so text can be written around it, it is also possible to use it more than one time in a row. The parameter true is a option to change Value by function change. You have to set it to false if you don\u00B4t change this value, but behind this there is another {status: ... request with change:true.\",\r\n \"submenu\": \"Submenu\",\r\n \"switch\": \"Switch\",\r\n \"switchCheckbox\": \"Switch\",\r\n \"telegramInstance\": \"Telegram Instance\",\r\n \"telegramUser\": \"Users from Telegram\",\r\n \"text\": \"Text\",\r\n \"textNoEntry\": \"Text will be send if no entry was found!\",\r\n \"toggle\": \"Toggle\",\r\n \"trigger\": \"Trigger\",\r\n \"tsTimestamp\": \"TimeStamp. Converts a Unix timestamp to a local time, the format can be changed, for example to DD.MM.YYYY YY hh:mm:ss:sss\",\r\n \"unusedTrigger\": \"Unused Trigger\",\r\n \"url\": \"URL\",\r\n \"usedTrigger\": \"Used Trigger\",\r\n \"user\": \"User\",\r\n \"userList\": \"User List\",\r\n \"userSelect\": \"Please select a user, or deactivate the Menu, bevor you can save!\",\r\n \"value\": \"Value\",\r\n \"valueRound\": \"Rounds the value for example to 2 decimal places\",\r\n \"values\": \"Values\",\r\n \"yes\": \"Yes\"\r\n}\r\n", "{\r\n \"ID\": \"ID\",\r\n \"IDs\": \"ID\",\r\n \"abort\": \"Abbrechen\",\r\n \"ack\": \"Ack\",\r\n \"action\": \"Aktion\",\r\n \"active\": \"Aktiv\",\r\n \"activeMenu\": \"Aktives Men\u00FC:\",\r\n \"add\": \"Hinzuf\u00FCgen\",\r\n \"addAction\": \"Neue Aktion hinzuf\u00FCgen\",\r\n \"addMenu\": \"Neuen Men\u00FCnamen hinzuf\u00FCgen\",\r\n \"binding\": \"Bindungen: Zuerst Var mit ID, dann die Bedingung und der Text.\",\r\n \"breakpointNewline\": \"Haltepunkt f\u00FCr eine neue Zeile. F\u00FCgen Sie diesen nur in den Text ein\",\r\n \"call\": \"Anruf\",\r\n \"cancel\": \"Stornieren\",\r\n \"changeFunction\": \"\u00C4ndert den Wert im R\u00FCckgabetext, in diesem Fall von \u201Etrue\u201C auf \u201Eon\u201C und von \u201Efalse\u201C auf \u201Eoff\u201C.\",\r\n \"chooseAction\": \"W\u00E4hlen Sie eine Aktion\",\r\n \"close\": \"Schlie\u00DFen\",\r\n \"commonName\": \"Gibt den Namen des Datenpunkts aus\",\r\n \"condition\": \"Zustand\",\r\n \"conditionMenu\": \"Bedingung zum \u00D6ffnen des Men\u00FCs\",\r\n \"confirm\": \"Best\u00E4tigen\",\r\n \"confirmDelete\": \"Alle Daten gehen verloren. Best\u00E4tigen?\",\r\n \"confirmMessage\": \"Mit Nachricht best\u00E4tigen\",\r\n \"confirmSet\": \"Aufmerksamkeit. Der Wert wurde vom Adapter nur gesetzt, aber noch nicht best\u00E4tigt. Sie k\u00F6nnen noValue entfernen, dann wird der Wert angezeigt. Position && wird durch Wert ersetzt oder ans Ende gestellt\",\r\n \"convertsUnixTimestamp\": \"Konvertiert einen Unix-Zeitstempel in eine lokale Zeit\",\r\n \"copy\": \"Kopieren\",\r\n \"createMenu\": \"Bitte erstellen Sie ein Men\u00FC!\",\r\n \"delay\": \"Verz\u00F6gerung (ms)\",\r\n \"delete\": \"L\u00F6schen\",\r\n \"directory\": \"Verzeichnis\",\r\n \"doubleTrigger\": \"Sie haben Doppelausl\u00F6ser, bitte entfernen Sie diese!\",\r\n \"edit\": \"Bearbeiten\",\r\n \"entryNotFound\": \"Eintrag nicht gefunden!\",\r\n \"executedMenu\": \"Ausgef\u00FChrtes Men\u00FC\",\r\n \"filename\": \"Dateiname\",\r\n \"hide\": \"Verstecken\",\r\n \"identification\": \"Identifikation\",\r\n \"inactive\": \"Inaktiv\",\r\n \"insertID\": \"Um eine ID einzuf\u00FCgen, f\u00FCgen Sie einfach zuerst den Block ein und w\u00E4hlen Sie die ID aus. Diese wird dann automatisch an der entsprechenden Stelle eingef\u00FCgt, auch wenn die ID ge\u00E4ndert werden soll. Wenn der Code den Block nicht erkennt, wird die ID am Ende angeh\u00E4ngt.\",\r\n \"instance\": \"Beispiel\",\r\n \"isSubmenu\": \"Dies ist ein Untermen\u00FC!\",\r\n \"jsonShoppingList\": \"Das Gleiche wie oben, aber wenn Sie auf eine Schaltfl\u00E4che klicken, wird das Element gel\u00F6scht. Der Schl\u00FCssel f\u00FCr die Elemente ist \u201EName:\u201C, Sie k\u00F6nnen auch \u201EZeit:\u201C hinzuf\u00FCgen. Wichtig!!! 'Einkaufsliste' darf nicht ge\u00E4ndert werden.\",\r\n \"jsonTable\": \"!!! Um es zu verwenden, darf parseMode nicht aktiv sein!!! Erstellt eine Tabelle aus einem JSON als Texttabelle. Der erste Wert ist ein Schl\u00FCssel des JSON, dahinter steht der Name der Spalte. Sie k\u00F6nnen mehr als zwei Werte verwenden. Die Kopfzeile muss ausgef\u00FCllt sein. \u00C4ndern Sie TextTable nicht.\",\r\n \"latitude\": \"Breitengrad\",\r\n \"lcTimestamp\": \"Letzte Bearbeitung. Konvertiert einen Unix-Zeitstempel in eine lokale Zeit. Das Format kann ge\u00E4ndert werden, beispielsweise in TT.MM.JJJJ JJ hh:mm:ss:sss\",\r\n \"linkedWith\": \"Ist verkn\u00FCpft mit:\",\r\n \"longitude\": \"L\u00E4ngengrad\",\r\n \"manuallyValue\": \"Dadurch k\u00F6nnen Sie einen manuellen Wert in Kombination mit dem ID-Wert festlegen, etwa so: staticValue{id:ID}staticValue\",\r\n \"math\": \"Wandelt den Wert um, /10 kann ersetzt werden\",\r\n \"menu\": \"Speisekarte\",\r\n \"menuBack\": \"Beim Dr\u00FCcken springen Sie zur\u00FCck zum vorherigen Men\u00FC\",\r\n \"menuDeleteAll\": \"Erzeugt eine Schaltfl\u00E4che zum L\u00F6schen aller Nachrichten vom Bot. Die Navigation ist optional. Lassen Sie es einfach leer, sonst k\u00F6nnen Sie ein Men\u00FC eingeben, das aufgerufen werden soll.\",\r\n \"menuDynamicSwitch\": \"Erzeugt Multiplikationsschaltfl\u00E4chen, Werte k\u00F6nnen individuell eingegeben werden. Ersetzen Sie TRIGGER durch einen eindeutigen Wert. LengthOfRow ist optional und kann verwendet werden, um die Anzahl der Schaltfl\u00E4chen pro Zeile festzulegen.
    Breaking Change!!! \u00A0 Bitte \u00E4ndern Sie manuell: \u201E[Name1:Wert1, Name2:Wert2]\u201C in \u201E[Name1|Wert1, Name2|Wert2]\u201C. Als Werte k\u00F6nnen nun auch Dezimalzahlen verwendet werden.\",\r\n \"menuList\": \"Men\u00FCliste\",\r\n \"menuNumber\": \"Die Nummern k\u00F6nnen komplett ausgetauscht werden. 0-6 gibt den Bereich und 1 die Schrittweite an, UNIT wird durch eine Einheit ersetzt, kann aber auch leer gelassen werden. Ersetzen Sie TRIGGER durch einen eindeutigen Wert.\",\r\n \"menuPercent\": \"10 ist ersetzbar und gibt die Schrittweite 0%, 10%, 20%... an! Ersetzen Sie TRIGGER durch einen eindeutigen Wert. Dies wird in der Aktion SetState verwendet. Geben Sie die gew\u00FCnschte ID ein. Unter dem Wert! einf\u00FCgen\",\r\n \"menuSwitch\": \"Erzeugt zwei Schaltfl\u00E4chen, in diesem Fall ein und aus, mit den jeweiligen Werten wahr und falsch. Ersetzen Sie TRIGGER durch einen eindeutigen Wert.\",\r\n \"menuToCopy\": \"W\u00E4hlen Sie zun\u00E4chst das Men\u00FC aus, in das Sie Daten kopieren m\u00F6chten. Dann die Zeile, in der es hinzugef\u00FCgt werden soll. Sollten noch keine Daten vorhanden sein, klicken Sie auf Speichern und diese werden nach Abfrage des neuen Triggernamens erstellt.\",\r\n \"modifiedSubmenuValue\": \"Dadurch k\u00F6nnen Sie einen modifizierten Untermen\u00FCwert in Kombination mit einem statischen Teil festlegen, etwa so: staticValue{value}staticValue\",\r\n \"navigation\": \"Navigation\",\r\n \"navigationButtons\": \"Navigationstasten\",\r\n \"newlineCheckbox\": \"Newline\",\r\n \"no\": \"NEIN\",\r\n \"noValue\": \"Der Wert ist im R\u00FCckgabetext nicht angegeben\",\r\n \"notifiedByChangeOfAnotherState\": \"Wenn Sie \u00FCber die \u00C4nderung eines anderen Datenpunkts benachrichtigt werden m\u00F6chten, nachdem Sie den Datenpunkt im Eingabefeld ID festgelegt haben. Die \u00C4nderung wird nur geteilt, wenn sie mit ack:true gesetzt ist. Es ist zwingend erforderlich, einen Text au\u00DFerhalb des {} anzugeben, andernfalls wird er automatisch hinzugef\u00FCgt.\",\r\n \"ok\": \"OK\",\r\n \"oneTimeKey\": \"Fordert Kunden auf, die Gr\u00F6\u00DFe der Tastatur vertikal zu \u00E4ndern, um eine optimale Passform zu erzielen (z. B. die Tastatur kleiner zu machen, wenn nur zwei Tastenreihen vorhanden sind). Der Standardwert ist \u201Efalse\u201C. In diesem Fall hat die benutzerdefinierte Tastatur immer die gleiche H\u00F6he wie die Standardtastatur der App.\",\r\n \"overview\": \"\u00DCberblick\",\r\n \"parseMode\": \"HTML im Analysemodus\",\r\n \"parseModeBold\": \"Text im Parse-Modus ist fett\",\r\n \"parseModeCode\": \"Text im Parse-Modus ist Code\",\r\n \"parseModeItalic\": \"Text im Parse-Modus ist kursiv\",\r\n \"parseModeLink\": \"Text im Parse-Modus ist ein Link\",\r\n \"password\": \"Passwort\",\r\n \"percent\": \"Prozent\",\r\n \"picSendDelay\": \"Verz\u00F6gerung beim Senden von Bildern\",\r\n \"placeholderInstance\": \"--Bitte w\u00E4hlen Sie eine Telegram-Instanz--\",\r\n \"placeholderValue\": \"Platzhalter f\u00FCr den Wert\",\r\n \"reallyDelete\": \"M\u00F6chten Sie das wirklich l\u00F6schen?\",\r\n \"renameMenu\": \"Benennen Sie den Men\u00FCnamen um\",\r\n \"returnText\": \"R\u00FCckgabetext\",\r\n \"save\": \"Speichern\",\r\n \"select\": \"W\u00E4hlen\",\r\n \"selectAMenuDropBox\": \"W\u00E4hlen Sie ein Men\u00FC, w\u00E4hlen Sie \u201EVerschieben\u201C oder \u201EKopieren\u201C. Achtung! Im ausgew\u00E4hlten Men\u00FC muss ein Benutzer aktiv sein!\",\r\n \"selectTargetMenu\": \"W\u00E4hlen Sie ein Zielmen\u00FC aus\",\r\n \"sendMenuAfterRestart\": \"Men\u00FC nach Neustart senden\",\r\n \"setAck\": \"Best\u00E4tigungsflag setzen\",\r\n \"setDynamicValue\": \"Dadurch k\u00F6nnen Sie dynamische Werte in Datenpunkte schreiben. Einfach anrufen und dann den Wert in das Eingabefeld eingeben. RequestText: Text zum Anfordern des Werts. Typ: Typ des Werts (boolescher Wert oder Zahl). Best\u00E4tigungstext: Text zur Best\u00E4tigung des Werts. ID: Wenn Sie aus einem anderen Staat best\u00E4tigen m\u00F6chten, geben Sie hier die ID ein. (Dies ist optional)\",\r\n \"setID\": \"Setzt den Wert der ID auf den Wert, mit ack(best\u00E4tigt)\",\r\n \"setMenu\": \"Men\u00FC\",\r\n \"setWithAck\": \"Wert mit ack-Flag festlegen\",\r\n \"settings\": \"Einstellungen\",\r\n \"startMenus\": \"Startmen\u00FCs\",\r\n \"startSide\": \"Startseite\",\r\n \"statusMenu\": \"Fragt den Wert der ID ab und ersetzt ihn dann durch den Wert, sodass Text um ihn herum geschrieben werden kann. Es ist auch m\u00F6glich, ihn mehrmals hintereinander zu verwenden. Der Parameter true ist eine Option zum \u00C4ndern des Werts durch Funktions\u00E4nderung. Sie m\u00FCssen es auf false setzen, wenn Sie diesen Wert nicht \u00E4ndern, aber dahinter steht eine weitere {status: ...-Anfrage mit change:true.\",\r\n \"submenu\": \"Untermen\u00FC\",\r\n \"switch\": \"Schalten\",\r\n \"switchCheckbox\": \"Schalten\",\r\n \"telegramInstance\": \"Telegram-Instanz\",\r\n \"telegramUser\": \"Benutzer von Telegram\",\r\n \"text\": \"Text\",\r\n \"textNoEntry\": \"Text wird gesendet, wenn kein Eintrag gefunden wurde!\",\r\n \"toggle\": \"Umschalten\",\r\n \"trigger\": \"Ausl\u00F6sen\",\r\n \"tsTimestamp\": \"Zeitstempel. Konvertiert einen Unix-Zeitstempel in eine lokale Zeit. Das Format kann ge\u00E4ndert werden, beispielsweise in TT.MM.JJJJ JJ hh:mm:ss:sss\",\r\n \"unusedTrigger\": \"Unbenutzter Ausl\u00F6ser\",\r\n \"url\": \"URL\",\r\n \"usedTrigger\": \"Benutzter Ausl\u00F6ser\",\r\n \"user\": \"Benutzer\",\r\n \"userList\": \"Benutzerliste\",\r\n \"userSelect\": \"Bitte w\u00E4hlen Sie einen Benutzer aus oder deaktivieren Sie das Men\u00FC, bevor Sie speichern k\u00F6nnen!\",\r\n \"value\": \"Wert\",\r\n \"valueRound\": \"Rundet den Wert beispielsweise auf 2 Dezimalstellen\",\r\n \"values\": \"Werte\",\r\n \"yes\": \"Ja\"\r\n}\r\n", "{\r\n \"ID\": \"\u0418\u0414\u0415\u041D\u0422\u0418\u0424\u0418\u041A\u0410\u0422\u041E\u0420\",\r\n \"IDs\": \"\u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u044B\",\r\n \"abort\": \"\u041F\u0440\u0435\u0440\u0432\u0430\u0442\u044C\",\r\n \"ack\": \"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044E\",\r\n \"action\": \"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435\",\r\n \"active\": \"\u0410\u043A\u0442\u0438\u0432\u043D\u044B\u0439\",\r\n \"activeMenu\": \"\u0410\u043A\u0442\u0438\u0432\u043D\u043E\u0435 \u043C\u0435\u043D\u044E:\",\r\n \"add\": \"\u0414\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C\",\r\n \"addAction\": \"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u043E\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\",\r\n \"addMenu\": \"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u043E\u0435 \u0438\u043C\u044F \u043C\u0435\u043D\u044E\",\r\n \"binding\": \"\u041F\u0440\u0438\u0432\u044F\u0437\u043A\u0438: \u0441\u043D\u0430\u0447\u0430\u043B\u0430 Var \u0441 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u043E\u043C, \u0437\u0430\u0442\u0435\u043C \u0443\u0441\u043B\u043E\u0432\u0438\u0435 \u0438 \u0442\u0435\u043A\u0441\u0442.\",\r\n \"breakpointNewline\": \"\u0422\u043E\u0447\u043A\u0430 \u043E\u0441\u0442\u0430\u043D\u043E\u0432\u0430 \u0434\u043B\u044F \u043D\u043E\u0432\u043E\u0439 \u0441\u0442\u0440\u043E\u043A\u0438. \u0412\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0435\u0435 \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u0442\u0435\u043A\u0441\u0442.\",\r\n \"call\": \"\u0412\u044B\u0437\u043E\u0432\",\r\n \"cancel\": \"\u041E\u0442\u043C\u0435\u043D\u0430\",\r\n \"changeFunction\": \"\u0418\u0437\u043C\u0435\u043D\u044F\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043C\u043E\u043C \u0442\u0435\u043A\u0441\u0442\u0435, \u0432 \u0434\u0430\u043D\u043D\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435 \u0441 true \u043D\u0430 on \u0438 \u0441 false \u043D\u0430 off.\",\r\n \"chooseAction\": \"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\",\r\n \"close\": \"\u0417\u0430\u043A\u0440\u044B\u0432\u0430\u0442\u044C\",\r\n \"commonName\": \"\u0412\u044B\u0432\u043E\u0434\u0438\u0442 \u0438\u043C\u044F \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u043D\u044B\u0445\",\r\n \"condition\": \"\u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\r\n \"conditionMenu\": \"\u0423\u0441\u043B\u043E\u0432\u0438\u0435 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u044F \u043C\u0435\u043D\u044E\",\r\n \"confirm\": \"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0442\u044C\",\r\n \"confirmDelete\": \"\u0412\u0441\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 \u0431\u0443\u0434\u0443\u0442 \u043F\u043E\u0442\u0435\u0440\u044F\u043D\u044B. \u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0442\u044C?\",\r\n \"confirmMessage\": \"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435\u043C\",\r\n \"confirmSet\": \"\u0412\u043D\u0438\u043C\u0430\u043D\u0438\u0435. \u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0442\u043E\u043B\u044C\u043A\u043E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E, \u043D\u043E \u0435\u0449\u0435 \u043D\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u043E \u0430\u0434\u0430\u043F\u0442\u0435\u0440\u043E\u043C. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C noValue, \u0442\u043E\u0433\u0434\u0430 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F. \u041F\u043E\u0437\u0438\u0446\u0438\u044F && \u0437\u0430\u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C \u0438\u043B\u0438 \u0431\u0443\u0434\u0435\u0442 \u043F\u043E\u043C\u0435\u0449\u0435\u043D\u0430 \u0432 \u043A\u043E\u043D\u0435\u0446\",\r\n \"convertsUnixTimestamp\": \"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E \u043C\u0435\u0442\u043A\u0443 Unix \u0432 \u043C\u0435\u0441\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F.\",\r\n \"copy\": \"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C\",\r\n \"createMenu\": \"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0441\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u043C\u0435\u043D\u044E!\",\r\n \"delay\": \"\u0417\u0430\u0434\u0435\u0440\u0436\u043A\u0430 (\u043C\u0441)\",\r\n \"delete\": \"\u0423\u0434\u0430\u043B\u0438\u0442\u044C\",\r\n \"directory\": \"\u041A\u0430\u0442\u0430\u043B\u043E\u0433\",\r\n \"doubleTrigger\": \"\u0423 \u0432\u0430\u0441 \u0435\u0441\u0442\u044C \u0434\u0432\u043E\u0439\u043D\u044B\u0435 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u044B, \u043F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0443\u0434\u0430\u043B\u0438\u0442\u0435 \u0438\u0445!\",\r\n \"edit\": \"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C\",\r\n \"entryNotFound\": \"\u0417\u0430\u043F\u0438\u0441\u044C \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430!\",\r\n \"executedMenu\": \"\u0412\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u043D\u043E\u0435 \u043C\u0435\u043D\u044E\",\r\n \"filename\": \"\u0418\u043C\u044F \u0444\u0430\u0439\u043B\u0430\",\r\n \"hide\": \"\u0421\u043A\u0440\u044B\u0432\u0430\u0442\u044C\",\r\n \"identification\": \"\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044F\",\r\n \"inactive\": \"\u041D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439\",\r\n \"insertID\": \"\u0427\u0442\u043E\u0431\u044B \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440, \u043F\u0440\u043E\u0441\u0442\u043E \u0441\u043D\u0430\u0447\u0430\u043B\u0430 \u0432\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0431\u043B\u043E\u043A, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440. \u0417\u0430\u0442\u0435\u043C \u043E\u043D \u0431\u0443\u0434\u0435\u0442 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0432\u0441\u0442\u0430\u0432\u043B\u0435\u043D \u0432 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0435\u0435 \u043C\u0435\u0441\u0442\u043E, \u0434\u0430\u0436\u0435 \u0435\u0441\u043B\u0438 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C. \u0415\u0441\u043B\u0438 \u043A\u043E\u0434 \u043D\u0435 \u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u0435\u0442 \u0431\u043B\u043E\u043A, \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0432 \u043A\u043E\u043D\u0435\u0446.\",\r\n \"instance\": \"\u041F\u0440\u0438\u043C\u0435\u0440\",\r\n \"isSubmenu\": \"\u042D\u0442\u043E \u043F\u043E\u0434\u043C\u0435\u043D\u044E!\",\r\n \"jsonShoppingList\": \"\u0422\u043E \u0436\u0435, \u0447\u0442\u043E \u0438 \u0432\u044B\u0448\u0435, \u043D\u043E \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0443 \u044D\u043B\u0435\u043C\u0435\u043D\u0442 \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043B\u0435\u043D. \u041A\u043B\u044E\u0447\u043E\u043C \u0434\u043B\u044F \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F `name:`, \u0432\u044B \u0442\u0430\u043A\u0436\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C `time:`. \u0412\u0430\u0436\u043D\u043E!!! \u00AB\u0421\u043F\u0438\u0441\u043E\u043A \u043F\u043E\u043A\u0443\u043F\u043E\u043A\u00BB \u043D\u0435\u043B\u044C\u0437\u044F \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C.\",\r\n \"jsonTable\": \"!!! \u0427\u0442\u043E\u0431\u044B \u0435\u0433\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C, parseMode \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u043C!!! \u0421\u043E\u0437\u0434\u0430\u0435\u0442 \u0442\u0430\u0431\u043B\u0438\u0446\u0443 \u0438\u0437 JSON \u0432 \u0432\u0438\u0434\u0435 \u0442\u0435\u043A\u0441\u0442\u043E\u0432\u043E\u0439 \u0442\u0430\u0431\u043B\u0438\u0446\u044B. \u041F\u0435\u0440\u0432\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u2014 \u044D\u0442\u043E \u043E\u0434\u0438\u043D \u043A\u043B\u044E\u0447 JSON, \u0437\u0430 \u043D\u0438\u043C \u2014 \u0438\u043C\u044F \u0441\u0442\u043E\u043B\u0431\u0446\u0430. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0431\u043E\u043B\u0435\u0435 \u0434\u0432\u0443\u0445 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439. \u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D. \u041D\u0435 \u043C\u0435\u043D\u044F\u0439\u0442\u0435 TextTable.\",\r\n \"latitude\": \"\u0428\u0438\u0440\u043E\u0442\u0430\",\r\n \"lcTimestamp\": \"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435. \u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E \u043C\u0435\u0442\u043A\u0443 Unix \u0432 \u043C\u0435\u0441\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F, \u0444\u043E\u0440\u043C\u0430\u0442 \u043C\u043E\u0436\u043D\u043E \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u043D\u0430 \u0414\u0414.\u041C\u041C.\u0413\u0413\u0413\u0413 \u0413\u0413 \u0447\u0447:\u043C\u043C:\u0441\u0441:\u0441\u0441\",\r\n \"linkedWith\": \"\u0421\u0432\u044F\u0437\u0430\u043D\u043E \u0441:\",\r\n \"longitude\": \"\u0414\u043E\u043B\u0433\u043E\u0442\u0430\",\r\n \"manuallyValue\": \"\u042D\u0442\u043E \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0432\u0430\u043C \u0432\u0440\u0443\u0447\u043D\u0443\u044E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 \u0441\u043E\u0447\u0435\u0442\u0430\u043D\u0438\u0438 \u0441\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0430, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440: staticValue{id:ID}staticValue.\",\r\n \"math\": \"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435, /10 \u043C\u043E\u0436\u043D\u043E \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C\",\r\n \"menu\": \"\u041C\u0435\u043D\u044E\",\r\n \"menuBack\": \"\u041F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u0432\u044B \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0435\u0441\u044C \u0432 \u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u0435 \u043C\u0435\u043D\u044E.\",\r\n \"menuDeleteAll\": \"\u0421\u043E\u0437\u0434\u0430\u0435\u0442 \u043A\u043D\u043E\u043F\u043A\u0443 \u0434\u043B\u044F \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u0432\u0441\u0435\u0445 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439 \u043E\u0442 \u0431\u043E\u0442\u0430. \u041D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F \u043D\u0435 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0439. \u041F\u0440\u043E\u0441\u0442\u043E \u043E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u044D\u0442\u043E \u043F\u043E\u043B\u0435 \u043F\u0443\u0441\u0442\u044B\u043C, \u0438\u043D\u0430\u0447\u0435 \u0432\u044B \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u043E\u0439\u0442\u0438 \u0432 \u043C\u0435\u043D\u044E, \u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0432\u044B\u0437\u0432\u0430\u0442\u044C.\",\r\n \"menuDynamicSwitch\": \"\u0413\u0435\u043D\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043A\u043D\u043E\u043F\u043A\u0438 \u0443\u043C\u043D\u043E\u0436\u0435\u043D\u0438\u044F, \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u043C\u043E\u0436\u043D\u043E \u0432\u0441\u0442\u0430\u0432\u043B\u044F\u0442\u044C \u0438\u043D\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043B\u044C\u043D\u043E. \u0417\u0430\u043C\u0435\u043D\u0438\u0442\u0435 TRIGGER \u0443\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C. \u0414\u043B\u0438\u043D\u0430OfRow \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0439 \u0438 \u043C\u043E\u0436\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0434\u043B\u044F \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043A\u043D\u043E\u043F\u043E\u043A \u0432 \u0441\u0442\u0440\u043E\u043A\u0435.
    \u041A\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435!!! \u00A0 \u0418\u0437\u043C\u0435\u043D\u0438\u0442\u0435 \u0432\u0440\u0443\u0447\u043D\u0443\u044E: `[Name1:Value1, Name2:Value2]` \u043D\u0430 `[Name1|Value1, Name2|Value2]`. \u0414\u0435\u0441\u044F\u0442\u0438\u0447\u043D\u044B\u0435 \u0447\u0438\u0441\u043B\u0430 \u0442\u0435\u043F\u0435\u0440\u044C \u0442\u0430\u043A\u0436\u0435 \u043C\u043E\u0436\u043D\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0432 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439.\",\r\n \"menuList\": \"\u0421\u043F\u0438\u0441\u043E\u043A \u043C\u0435\u043D\u044E\",\r\n \"menuNumber\": \"\u041D\u043E\u043C\u0435\u0440\u0430 \u043C\u043E\u0436\u043D\u043E \u043F\u043E\u043B\u043D\u043E\u0441\u0442\u044C\u044E \u043F\u043E\u043C\u0435\u043D\u044F\u0442\u044C. 0\u20136 \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D, \u0430 1 \u2014 \u0440\u0430\u0437\u043C\u0435\u0440 \u0448\u0430\u0433\u0430, UNIT \u0437\u0430\u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F \u0435\u0434\u0438\u043D\u0438\u0446\u0435\u0439, \u043D\u043E \u0442\u0430\u043A\u0436\u0435 \u043C\u043E\u0436\u043D\u043E \u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043F\u0443\u0441\u0442\u044B\u043C. \u0417\u0430\u043C\u0435\u043D\u0438\u0442\u0435 TRIGGER \u0443\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C.\",\r\n \"menuPercent\": \"10 \u043C\u043E\u0436\u043D\u043E \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0438 \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u0440\u0430\u0437\u043C\u0435\u0440 \u0448\u0430\u0433\u0430 0%, 10%, 20%...! \u0417\u0430\u043C\u0435\u043D\u0438\u0442\u0435 TRIGGER \u0443\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C. \u042D\u0442\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438 SetState. \u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0436\u0435\u043B\u0430\u0435\u043C\u044B\u0439 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440. \u041D\u0438\u0436\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F! \u0432\u0441\u0442\u0430\u0432\u043B\u044F\u0442\u044C\",\r\n \"menuSwitch\": \"\u0421\u043E\u0437\u0434\u0430\u0435\u0442 \u0434\u0432\u0435 \u043A\u043D\u043E\u043F\u043A\u0438, \u0432 \u0434\u0430\u043D\u043D\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435 \u00AB\u0432\u043A\u043B\u00BB \u0438 \u00AB\u0432\u044B\u043A\u043B\u00BB \u0441 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u043C\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F\u043C\u0438 true \u0438 false. \u0417\u0430\u043C\u0435\u043D\u0438\u0442\u0435 TRIGGER \u0443\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C.\",\r\n \"menuToCopy\": \"\u0421\u043D\u0430\u0447\u0430\u043B\u0430 \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043C\u0435\u043D\u044E, \u0432 \u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435. \u0417\u0430\u0442\u0435\u043C \u0441\u0442\u0440\u043E\u043A\u0430, \u043A\u0443\u0434\u0430 \u0435\u0433\u043E \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C. \u0415\u0441\u043B\u0438 \u0434\u0430\u043D\u043D\u044B\u0445 \u0435\u0449\u0435 \u043D\u0435\u0442, \u043D\u0430\u0436\u043C\u0438\u0442\u0435 \u00AB\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C\u00BB, \u0438 \u043E\u043D\u0438 \u0431\u0443\u0434\u0443\u0442 \u0441\u043E\u0437\u0434\u0430\u043D\u044B \u043F\u043E\u0441\u043B\u0435 \u0437\u0430\u043F\u0440\u043E\u0441\u0430 \u043D\u043E\u0432\u043E\u0433\u043E \u0438\u043C\u0435\u043D\u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430.\",\r\n \"modifiedSubmenuValue\": \"\u042D\u0442\u043E \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0432\u0430\u043C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u043E\u0434\u043C\u0435\u043D\u044E \u0432 \u0441\u043E\u0447\u0435\u0442\u0430\u043D\u0438\u0438 \u0441\u043E \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0439 \u0447\u0430\u0441\u0442\u044C\u044E, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440: staticValue{value}staticValue\",\r\n \"navigation\": \"\u041D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F\",\r\n \"navigationButtons\": \"\u041A\u043D\u043E\u043F\u043A\u0438 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438\",\r\n \"newlineCheckbox\": \"\u041D\u043E\u0432\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430\",\r\n \"no\": \"\u041D\u0435\u0442\",\r\n \"noValue\": \"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u043E \u0432 \u0442\u0435\u043A\u0441\u0442\u0435 \u0432\u043E\u0437\u0432\u0440\u0430\u0442\u0430\",\r\n \"notifiedByChangeOfAnotherState\": \"\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043E\u0431 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0438 \u0434\u0440\u0443\u0433\u043E\u0439 \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u043D\u044B\u0445 \u043F\u043E\u0441\u043B\u0435 \u0442\u043E\u0433\u043E, \u043A\u0430\u043A \u0432\u044B \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u043B\u0438 \u0442\u043E\u0447\u043A\u0443 \u0434\u0430\u043D\u043D\u044B\u0445 \u0432 \u043F\u043E\u043B\u0435 \u0432\u0432\u043E\u0434\u0430 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0430. \u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u043E\u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u043D\u043E \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u0442\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435, \u0435\u0441\u043B\u0438 \u0434\u043B\u044F \u043D\u0435\u0433\u043E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 ack:true. \u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u0443\u043A\u0430\u0436\u0438\u0442\u0435 \u0442\u0435\u043A\u0441\u0442 \u0437\u0430 \u043F\u0440\u0435\u0434\u0435\u043B\u0430\u043C\u0438 {}, \u0438\u043D\u0430\u0447\u0435 \u043E\u043D \u0431\u0443\u0434\u0435\u0442 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438.\",\r\n \"ok\": \"\u0425\u041E\u0420\u041E\u0428\u041E\",\r\n \"oneTimeKey\": \"\u041F\u0440\u043E\u0441\u0438\u0442 \u043A\u043B\u0438\u0435\u043D\u0442\u043E\u0432 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0440 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B \u043F\u043E \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u0438 \u0434\u043B\u044F \u043E\u043F\u0442\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044F (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0443\u043C\u0435\u043D\u044C\u0448\u0438\u0442\u044C \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0443, \u0435\u0441\u043B\u0438 \u043D\u0430 \u043D\u0435\u0439 \u0432\u0441\u0435\u0433\u043E \u0434\u0432\u0430 \u0440\u044F\u0434\u0430 \u043A\u043D\u043E\u043F\u043E\u043A). \u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 false. \u0412 \u044D\u0442\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0430\u044F \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0430 \u0432\u0441\u0435\u0433\u0434\u0430 \u0438\u043C\u0435\u0435\u0442 \u0442\u0443 \u0436\u0435 \u0432\u044B\u0441\u043E\u0442\u0443, \u0447\u0442\u043E \u0438 \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0430\u044F \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0430 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F.\",\r\n \"overview\": \"\u041E\u0431\u0437\u043E\u0440\",\r\n \"parseMode\": \"\u0420\u0435\u0436\u0438\u043C \u0430\u043D\u0430\u043B\u0438\u0437\u0430 HTML\",\r\n \"parseModeBold\": \"\u0422\u0435\u043A\u0441\u0442 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0430\u043D\u0430\u043B\u0438\u0437\u0430 \u0432\u044B\u0434\u0435\u043B\u0435\u043D \u0436\u0438\u0440\u043D\u044B\u043C \u0448\u0440\u0438\u0444\u0442\u043E\u043C.\",\r\n \"parseModeCode\": \"\u0422\u0435\u043A\u0441\u0442 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0430\u043D\u0430\u043B\u0438\u0437\u0430 \u2014 \u044D\u0442\u043E \u043A\u043E\u0434\",\r\n \"parseModeItalic\": \"\u0422\u0435\u043A\u0441\u0442 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0430\u043D\u0430\u043B\u0438\u0437\u0430 \u0432\u044B\u0434\u0435\u043B\u0435\u043D \u043A\u0443\u0440\u0441\u0438\u0432\u043E\u043C.\",\r\n \"parseModeLink\": \"\u0422\u0435\u043A\u0441\u0442 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0430\u043D\u0430\u043B\u0438\u0437\u0430 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0441\u0441\u044B\u043B\u043A\u043E\u0439\",\r\n \"password\": \"\u041F\u0430\u0440\u043E\u043B\u044C\",\r\n \"percent\": \"\u041F\u0440\u043E\u0446\u0435\u043D\u0442\",\r\n \"picSendDelay\": \"\u0417\u0430\u0434\u0435\u0440\u0436\u043A\u0430 \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F\",\r\n \"placeholderInstance\": \"--\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 Telegram--\",\r\n \"placeholderValue\": \"\u0417\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F\",\r\n \"reallyDelete\": \"\u0412\u044B \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u044D\u0442\u043E?\",\r\n \"renameMenu\": \"\u041F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u0442\u044C \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043C\u0435\u043D\u044E\",\r\n \"returnText\": \"\u0412\u043E\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043C\u044B\u0439 \u0442\u0435\u043A\u0441\u0442\",\r\n \"save\": \"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C\",\r\n \"select\": \"\u0412\u044B\u0431\u0438\u0440\u0430\u0442\u044C\",\r\n \"selectAMenuDropBox\": \"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043C\u0435\u043D\u044E, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u0438\u043B\u0438 \u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435. \u041E\u0441\u0442\u043E\u0440\u043E\u0436\u043D\u043E! \u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u0435\u043D \u0432 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u043C \u043C\u0435\u043D\u044E!\",\r\n \"selectTargetMenu\": \"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0446\u0435\u043B\u0435\u0432\u043E\u0435 \u043C\u0435\u043D\u044E\",\r\n \"sendMenuAfterRestart\": \"\u041C\u0435\u043D\u044E \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438 \u043F\u043E\u0441\u043B\u0435 \u043F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438\",\r\n \"setAck\": \"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0444\u043B\u0430\u0433 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F\",\r\n \"setDynamicValue\": \"\u042D\u0442\u043E \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C \u0434\u0438\u043D\u0430\u043C\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0432 \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u043D\u044B\u0445. \u041F\u0440\u043E\u0441\u0442\u043E \u043F\u043E\u0437\u0432\u043E\u043D\u0438\u0442\u0435, \u0430 \u0437\u0430\u0442\u0435\u043C \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 \u043F\u043E\u043B\u0435 \u0432\u0432\u043E\u0434\u0430. RequestText: \u0442\u0435\u043A\u0441\u0442 \u0434\u043B\u044F \u0437\u0430\u043F\u0440\u043E\u0441\u0430 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F. \u0422\u0438\u043F: \u0442\u0438\u043F \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F (\u043B\u043E\u0433\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0438\u043B\u0438 \u0447\u0438\u0441\u043B\u043E\u0432\u043E\u0435). ConfirmText: \u0442\u0435\u043A\u0441\u0442 \u0434\u043B\u044F \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F. \u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440: \u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C \u0438\u0437 \u0434\u0440\u0443\u0433\u043E\u0433\u043E \u0448\u0442\u0430\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044C \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440. (\u042D\u0442\u043E \u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E).\",\r\n \"setID\": \"\u0423\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0430 val \u0441 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u0435\u043C (\u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u043E).\",\r\n \"setMenu\": \"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043C\u0435\u043D\u044E\",\r\n \"setWithAck\": \"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E ack-Flag\",\r\n \"settings\": \"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438\",\r\n \"startMenus\": \"\u041C\u0435\u043D\u044E \u00AB\u041F\u0443\u0441\u043A\u00BB\",\r\n \"startSide\": \"\u0421\u0442\u0430\u0440\u0442\u043E\u0432\u0430\u044F \u0441\u0442\u043E\u0440\u043E\u043D\u0430\",\r\n \"statusMenu\": \"\u0417\u0430\u043F\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0430, \u0430 \u0437\u0430\u0442\u0435\u043C \u0437\u0430\u043C\u0435\u043D\u044F\u0435\u0442 \u0435\u0433\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u0432\u043E\u043A\u0440\u0443\u0433 \u043D\u0435\u0433\u043E \u043C\u043E\u0436\u043D\u043E \u043F\u0438\u0441\u0430\u0442\u044C \u0442\u0435\u043A\u0441\u0442, \u0430 \u0442\u0430\u043A\u0436\u0435 \u043C\u043E\u0436\u043D\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0435\u0433\u043E \u0431\u043E\u043B\u0435\u0435 \u043E\u0434\u043D\u043E\u0433\u043E \u0440\u0430\u0437\u0430 \u043F\u043E\u0434\u0440\u044F\u0434. \u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 true \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u0443\u0442\u0435\u043C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0444\u0443\u043D\u043A\u0446\u0438\u0438. \u0412\u0430\u043C \u043F\u0440\u0438\u0434\u0435\u0442\u0441\u044F \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 false, \u0435\u0441\u043B\u0438 \u0432\u044B \u043D\u0435 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u0435 \u044D\u0442\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435, \u043D\u043E \u0437\u0430 \u044D\u0442\u0438\u043C \u0441\u0442\u043E\u0438\u0442 \u0434\u0440\u0443\u0433\u043E\u0439 \u0437\u0430\u043F\u0440\u043E\u0441 {status: ... \u0441 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435\u043C: true.\",\r\n \"submenu\": \"\u041F\u043E\u0434\u043C\u0435\u043D\u044E\",\r\n \"switch\": \"\u0412\u044B\u043A\u043B\u044E\u0447\u0430\u0442\u0435\u043B\u044C\",\r\n \"switchCheckbox\": \"\u0412\u044B\u043A\u043B\u044E\u0447\u0430\u0442\u0435\u043B\u044C\",\r\n \"telegramInstance\": \"\u042D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u0422\u0435\u043B\u0435\u0433\u0440\u0430\u043C\u043C\u044B\",\r\n \"telegramUser\": \"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0438 \u0438\u0437 Telegram\",\r\n \"text\": \"\u0422\u0435\u043A\u0441\u0442\",\r\n \"textNoEntry\": \"\u0422\u0435\u043A\u0441\u0442 \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D, \u0435\u0441\u043B\u0438 \u0437\u0430\u043F\u0438\u0441\u044C \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430!\",\r\n \"toggle\": \"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u044C\",\r\n \"trigger\": \"\u041A\u0443\u0440\u043E\u043A\",\r\n \"tsTimestamp\": \"\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u0430\u044F \u043C\u0435\u0442\u043A\u0430. \u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E \u043C\u0435\u0442\u043A\u0443 Unix \u0432 \u043C\u0435\u0441\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F, \u0444\u043E\u0440\u043C\u0430\u0442 \u043C\u043E\u0436\u043D\u043E \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u043D\u0430 \u0414\u0414.\u041C\u041C.\u0413\u0413\u0413\u0413 \u0413\u0413 \u0447\u0447:\u043C\u043C:\u0441\u0441:\u0441\u0441\",\r\n \"unusedTrigger\": \"\u041D\u0435\u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\",\r\n \"url\": \"URL-\u0430\u0434\u0440\u0435\u0441\",\r\n \"usedTrigger\": \"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u0439 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\",\r\n \"user\": \"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\",\r\n \"userList\": \"\u0421\u043F\u0438\u0441\u043E\u043A \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u0439\",\r\n \"userSelect\": \"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F \u0438\u043B\u0438 \u0434\u0435\u0430\u043A\u0442\u0438\u0432\u0438\u0440\u0443\u0439\u0442\u0435 \u043C\u0435\u043D\u044E, \u043F\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043C \u0432\u044B \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C!\",\r\n \"value\": \"\u0426\u0435\u043D\u0438\u0442\u044C\",\r\n \"valueRound\": \"\u041E\u043A\u0440\u0443\u0433\u043B\u044F\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0434\u043E 2 \u0434\u0435\u0441\u044F\u0442\u0438\u0447\u043D\u044B\u0445 \u0437\u043D\u0430\u043A\u043E\u0432.\",\r\n \"values\": \"\u0426\u0435\u043D\u043D\u043E\u0441\u0442\u0438\",\r\n \"yes\": \"\u0414\u0430\"\r\n}\r\n", "{\r\n \"ID\": \"EU IA\",\r\n \"IDs\": \"IDs\",\r\n \"abort\": \"Abortar\",\r\n \"ack\": \"Confirmar\",\r\n \"action\": \"A\u00E7\u00E3o\",\r\n \"active\": \"Ativo\",\r\n \"activeMenu\": \"Menu Ativo:\",\r\n \"add\": \"Adicionar\",\r\n \"addAction\": \"Adicionar nova a\u00E7\u00E3o\",\r\n \"addMenu\": \"Adicionar novo nome de menu\",\r\n \"binding\": \"Vincula\u00E7\u00F5es: primeiro Var com id, depois a condi\u00E7\u00E3o e o texto.\",\r\n \"breakpointNewline\": \"Ponto de interrup\u00E7\u00E3o para uma nova linha, insira apenas isso no texto\",\r\n \"call\": \"Chamar\",\r\n \"cancel\": \"Cancelar\",\r\n \"changeFunction\": \"Altera o valor no texto de retorno, neste caso de verdadeiro para ativado e falso para desativado\",\r\n \"chooseAction\": \"Escolha uma a\u00E7\u00E3o\",\r\n \"close\": \"Fechar\",\r\n \"commonName\": \"Produz o nome do ponto de dados\",\r\n \"condition\": \"Doen\u00E7a\",\r\n \"conditionMenu\": \"Condi\u00E7\u00E3o para abrir Menu\",\r\n \"confirm\": \"Confirmar\",\r\n \"confirmDelete\": \"Todos os dados ser\u00E3o perdidos. Confirmar?\",\r\n \"confirmMessage\": \"Confirme com mensagem\",\r\n \"confirmSet\": \"Aten\u00E7\u00E3o. O valor foi apenas definido, mas ainda n\u00E3o confirmado pelo Adaptador. Voc\u00EA pode remover noValue e o valor ser\u00E1 exibido. Posi\u00E7\u00E3o && substitu\u00EDda por Valor ou ser\u00E1 colocada no final\",\r\n \"convertsUnixTimestamp\": \"Converte um carimbo de data/hora Unix em uma hora local\",\r\n \"copy\": \"C\u00F3pia\",\r\n \"createMenu\": \"Por favor, crie um menu!\",\r\n \"delay\": \"Atraso (ms)\",\r\n \"delete\": \"Excluir\",\r\n \"directory\": \"Diret\u00F3rio\",\r\n \"doubleTrigger\": \"Voc\u00EA tem gatilhos duplos, remova-os!\",\r\n \"edit\": \"Editar\",\r\n \"entryNotFound\": \"Entrada n\u00E3o encontrada!\",\r\n \"executedMenu\": \"Menu Executado\",\r\n \"filename\": \"Nome do arquivo\",\r\n \"hide\": \"Esconder\",\r\n \"identification\": \"Identifica\u00E7\u00E3o\",\r\n \"inactive\": \"Inativo\",\r\n \"insertID\": \"Para inserir um ID, basta inserir primeiro o bloco e selecionar o ID. Este ser\u00E1 ent\u00E3o inserido automaticamente no local apropriado, mesmo que o ID deva ser alterado. Se o c\u00F3digo n\u00E3o reconhecer o bloco, o ID ser\u00E1 anexado ao final.\",\r\n \"instance\": \"Exemplo\",\r\n \"isSubmenu\": \"Este \u00E9 um submenu!\",\r\n \"jsonShoppingList\": \"O mesmo que acima, mas quando voc\u00EA clica em um bot\u00E3o, o item ser\u00E1 exclu\u00EDdo, a chave para os itens \u00E9 `nome:`, voc\u00EA tamb\u00E9m pode adicionar `tempo:`. Importante!!! 'lista de compras' n\u00E3o pode ser alterada.\",\r\n \"jsonTable\": \"!!! Para us\u00E1-lo, parseMode n\u00E3o deve estar ativo!!! Cria uma tabela a partir de um JSON como Text-Table. O primeiro valor \u00E9 uma chave do JSON, atr\u00E1s dele est\u00E1 o nome da coluna. Voc\u00EA pode usar mais de dois valores. O cabe\u00E7alho deve ser preenchido. N\u00E3o altere TextTable.\",\r\n \"latitude\": \"Latitude\",\r\n \"lcTimestamp\": \"\u00DAltima mudan\u00E7a. Converte um carimbo de data/hora Unix em uma hora local, o formato pode ser alterado, por exemplo, para DD.MM.AAAA AA hh:mm:ss:sss\",\r\n \"linkedWith\": \"Est\u00E1 vinculado a:\",\r\n \"longitude\": \"Longitude\",\r\n \"manuallyValue\": \"Isso permite que voc\u00EA defina um valor manualmente em combina\u00E7\u00E3o com o valor do ID, como este: staticValue{id:ID}staticValue\",\r\n \"math\": \"Converte o valor, /10 pode ser substitu\u00EDdo\",\r\n \"menu\": \"Menu\",\r\n \"menuBack\": \"Quando pressionado, voc\u00EA volta ao menu anterior\",\r\n \"menuDeleteAll\": \"Gera um bot\u00E3o para excluir todas as mensagens do bot. A navega\u00E7\u00E3o \u00E9 opcional. Simplesmente deixe em branco, caso contr\u00E1rio voc\u00EA poder\u00E1 entrar em um menu que deve ser acessado.\",\r\n \"menuDynamicSwitch\": \"Gera bot\u00F5es de multiplica\u00E7\u00E3o, os valores podem ser inseridos individualmente. Substitua TRIGGER por um valor exclusivo. LengthOfRow \u00E9 opcional e pode ser usado para definir o n\u00FAmero de bot\u00F5es por linha.
    Altera\u00E7\u00E3o significativa!!! \u00A0 Altere manualmente: `[Nome1:Valor1, Nome2:Valor2]` para `[Nome1|Valor1, Nome2|Valor2]`. Os n\u00FAmeros decimais agora tamb\u00E9m podem ser usados \u200B\u200Bcomo valores.\",\r\n \"menuList\": \"Lista de card\u00E1pios\",\r\n \"menuNumber\": \"Os n\u00FAmeros podem ser totalmente trocados. 0-6 indica o intervalo e 1 o tamanho do passo, UNIT \u00E9 substitu\u00EDdo por uma unidade, mas tamb\u00E9m pode ser deixado em branco. Substitua TRIGGER por um valor exclusivo.\",\r\n \"menuPercent\": \"10 pode ser substitu\u00EDdo e indica o tamanho do passo 0%, 10%, 20%...! Substitua TRIGGER por um valor exclusivo. Isso \u00E9 usado na a\u00E7\u00E3o SetState. Insira o ID desejado. Abaixo do valor! inserir\",\r\n \"menuSwitch\": \"Gera dois bot\u00F5es, neste caso liga e desliga com os respectivos valores verdadeiro e falso. Substitua TRIGGER por um valor exclusivo.\",\r\n \"menuToCopy\": \"Primeiro selecione o menu para o qual deseja copiar os dados. Em seguida, a linha onde deve ser adicionado. Caso ainda n\u00E3o haja dados, clique em salvar e ele ser\u00E1 criado ap\u00F3s consultar o novo nome do trigger.\",\r\n \"modifiedSubmenuValue\": \"Isso permite que voc\u00EA defina um valor de submenu modificado em combina\u00E7\u00E3o com uma parte est\u00E1tica, como esta: staticValue{value}staticValue\",\r\n \"navigation\": \"Navega\u00E7\u00E3o\",\r\n \"navigationButtons\": \"Bot\u00F5es de navega\u00E7\u00E3o\",\r\n \"newlineCheckbox\": \"Nova linha\",\r\n \"no\": \"N\u00E3o\",\r\n \"noValue\": \"O valor n\u00E3o \u00E9 especificado no texto de retorno\",\r\n \"notifiedByChangeOfAnotherState\": \"Se voc\u00EA deseja ser notificado sobre a altera\u00E7\u00E3o de outro ponto de dados depois de definir o ponto de dados no campo de entrada ID. A altera\u00E7\u00E3o s\u00F3 ser\u00E1 compartilhada se estiver definida com ack:true. \u00C9 obrigat\u00F3rio especificar um texto fora do {}, caso contr\u00E1rio ele ser\u00E1 adicionado automaticamente.\",\r\n \"ok\": \"OK\",\r\n \"oneTimeKey\": \"Solicita que os clientes redimensionem o teclado verticalmente para um ajuste ideal (por exemplo, diminuam o tamanho do teclado se houver apenas duas fileiras de bot\u00F5es). O padr\u00E3o \u00E9 falso; nesse caso, o teclado personalizado ter\u00E1 sempre a mesma altura do teclado padr\u00E3o do aplicativo.\",\r\n \"overview\": \"Vis\u00E3o geral\",\r\n \"parseMode\": \"HTML do modo de an\u00E1lise\",\r\n \"parseModeBold\": \"O texto no modo Parse est\u00E1 em negrito\",\r\n \"parseModeCode\": \"Texto no modo Parse \u00E9 c\u00F3digo\",\r\n \"parseModeItalic\": \"O texto no modo Parse est\u00E1 em it\u00E1lico\",\r\n \"parseModeLink\": \"O texto no modo de an\u00E1lise \u00E9 o link\",\r\n \"password\": \"Senha\",\r\n \"percent\": \"Por cento\",\r\n \"picSendDelay\": \"Atraso no envio de imagem\",\r\n \"placeholderInstance\": \"--Por favor, escolha uma inst\u00E2ncia do telegrama--\",\r\n \"placeholderValue\": \"Espa\u00E7o reservado para o valor\",\r\n \"reallyDelete\": \"Voc\u00EA realmente deseja excluir isso?\",\r\n \"renameMenu\": \"Renomear nome do menu\",\r\n \"returnText\": \"Texto de retorno\",\r\n \"save\": \"Salvar\",\r\n \"select\": \"Selecione\",\r\n \"selectAMenuDropBox\": \"Selecione um menu, selecione mover ou copiar. Aten\u00E7\u00E3o! Um usu\u00E1rio deve estar ativo no menu selecionado!\",\r\n \"selectTargetMenu\": \"Selecione um menu de destino\",\r\n \"sendMenuAfterRestart\": \"Enviar menu ap\u00F3s reiniciar\",\r\n \"setAck\": \"Definir sinalizador de confirma\u00E7\u00E3o\",\r\n \"setDynamicValue\": \"Isso permite gravar valores din\u00E2micos em pontos de dados. Basta fazer uma chamada e inserir o valor no campo de entrada. RequestText: Texto para solicitar o valor. Tipo: tipo do valor (booleano ou n\u00FAmero). ConfirmText: Texto para confirmar o valor. ID: Se voc\u00EA deseja confirmar de outro estado, insira o ID aqui.(Isso \u00E9 opcional)\",\r\n \"setID\": \"Define o valor do ID para val, com ack(confirmado)\",\r\n \"setMenu\": \"Definir card\u00E1pio\",\r\n \"setWithAck\": \"Definir valor com ack-Flag\",\r\n \"settings\": \"Configura\u00E7\u00F5es\",\r\n \"startMenus\": \"Menus iniciais\",\r\n \"startSide\": \"Lado inicial\",\r\n \"statusMenu\": \"Consulta o valor do ID e depois o substitui pelo valor, para que possa ser escrito texto ao redor dele, tamb\u00E9m \u00E9 poss\u00EDvel utiliz\u00E1-lo mais de uma vez seguida. O par\u00E2metro true \u00E9 uma op\u00E7\u00E3o para alterar o valor por altera\u00E7\u00E3o da fun\u00E7\u00E3o. Voc\u00EA deve defini-lo como falso se n\u00E3o alterar esse valor, mas por tr\u00E1s disso existe outro {status: ... solicita\u00E7\u00E3o com altera\u00E7\u00E3o: verdadeiro.\",\r\n \"submenu\": \"Submenu\",\r\n \"switch\": \"Trocar\",\r\n \"switchCheckbox\": \"Trocar\",\r\n \"telegramInstance\": \"Inst\u00E2ncia de telegrama\",\r\n \"telegramUser\": \"Usu\u00E1rios do Telegram\",\r\n \"text\": \"Texto\",\r\n \"textNoEntry\": \"O texto ser\u00E1 enviado se nenhuma entrada for encontrada!\",\r\n \"toggle\": \"Alternar\",\r\n \"trigger\": \"Acionar\",\r\n \"tsTimestamp\": \"Carimbo de hora. Converte um carimbo de data/hora Unix em uma hora local, o formato pode ser alterado, por exemplo, para DD.MM.AAAA AA hh:mm:ss:sss\",\r\n \"unusedTrigger\": \"Gatilho n\u00E3o utilizado\",\r\n \"url\": \"URL\",\r\n \"usedTrigger\": \"Gatilho usado\",\r\n \"user\": \"Usu\u00E1rio\",\r\n \"userList\": \"Lista de usu\u00E1rios\",\r\n \"userSelect\": \"Selecione um usu\u00E1rio ou desative o Menu antes de salvar!\",\r\n \"value\": \"Valor\",\r\n \"valueRound\": \"Arredonda o valor, por exemplo, para 2 casas decimais\",\r\n \"values\": \"Valores\",\r\n \"yes\": \"Sim\"\r\n}\r\n", "{\r\n \"ID\": \"Identiteitskaart\",\r\n \"IDs\": \"ID's\",\r\n \"abort\": \"Afbreken\",\r\n \"ack\": \"Ak\",\r\n \"action\": \"Actie\",\r\n \"active\": \"Actief\",\r\n \"activeMenu\": \"Actief menu:\",\r\n \"add\": \"Toevoegen\",\r\n \"addAction\": \"Nieuwe actie toevoegen\",\r\n \"addMenu\": \"Nieuwe menunaam toevoegen\",\r\n \"binding\": \"Bindingen: eerst Var met id, daarna de voorwaarde en de tekst.\",\r\n \"breakpointNewline\": \"Breekpunt voor een nieuwe regel. Voeg dit alleen in de tekst in\",\r\n \"call\": \"Telefoongesprek\",\r\n \"cancel\": \"Annuleren\",\r\n \"changeFunction\": \"Verandert de waarde in de retourtekst, in dit geval van true naar on en false naar off\",\r\n \"chooseAction\": \"Kies een actie\",\r\n \"close\": \"Dichtbij\",\r\n \"commonName\": \"Voert de naam van het gegevenspunt uit\",\r\n \"condition\": \"Voorwaarde\",\r\n \"conditionMenu\": \"Voorwaarde om Menu te openen\",\r\n \"confirm\": \"Bevestigen\",\r\n \"confirmDelete\": \"Alle gegevens gaan verloren. Bevestigen?\",\r\n \"confirmMessage\": \"Bevestig met bericht\",\r\n \"confirmSet\": \"Aandacht. De waarde is alleen ingesteld, maar nog niet bevestigd door de adapter. U kunt noValue verwijderen, waarna de waarde wordt weergegeven. Positie && vervangen door Waarde of wordt aan het Einde gezet\",\r\n \"convertsUnixTimestamp\": \"Converteert een Unix-tijdstempel naar een lokale tijd\",\r\n \"copy\": \"Kopi\u00EBren\",\r\n \"createMenu\": \"Maak alstublieft een menu aan!\",\r\n \"delay\": \"Vertraging (ms)\",\r\n \"delete\": \"Verwijderen\",\r\n \"directory\": \"Directory\",\r\n \"doubleTrigger\": \"U heeft dubbele triggers, verwijder deze alstublieft!\",\r\n \"edit\": \"Bewerking\",\r\n \"entryNotFound\": \"Invoer niet gevonden!\",\r\n \"executedMenu\": \"Uitgevoerd menu\",\r\n \"filename\": \"Bestandsnaam\",\r\n \"hide\": \"Verbergen\",\r\n \"identification\": \"Identificatie\",\r\n \"inactive\": \"Inactief\",\r\n \"insertID\": \"Om een \u200B\u200BID in te voegen, voegt u eenvoudigweg eerst het blok in en selecteert u de ID. Deze wordt dan automatisch op de juiste plaats ingevoegd, ook als de ID moet worden gewijzigd. Als de code het blok niet herkent, wordt de ID aan het einde toegevoegd.\",\r\n \"instance\": \"Aanleg\",\r\n \"isSubmenu\": \"Dit is een submenu!\",\r\n \"jsonShoppingList\": \"Hetzelfde als hierboven, maar wanneer u op een knop klikt, wordt het item verwijderd. De sleutel voor de items is `naam:`, u kunt ook `tijd:` toevoegen. Belangrijk!!! 'boodschappenlijstje' mag niet worden gewijzigd.\",\r\n \"jsonTable\": \"!!! Om het te gebruiken, mag parseMode niet actief zijn !!! Cre\u00EBert een tabel van een JSON als teksttabel. De eerste waarde is \u00E9\u00E9n sleutel van de JSON, daarachter staat de naam van de kolom. U kunt meer dan twee waarden gebruiken. De header moet worden ingevuld. Wijzig de TextTable niet.\",\r\n \"latitude\": \"Breedte\",\r\n \"lcTimestamp\": \"Laatste wijziging. Converteert een Unix-tijdstempel naar een lokale tijd, het formaat kan worden gewijzigd, bijvoorbeeld naar DD.MM.JJJJ JJ uu:mm:ss:sss\",\r\n \"linkedWith\": \"Is gekoppeld aan:\",\r\n \"longitude\": \"Lengte\",\r\n \"manuallyValue\": \"Hiermee kunt u handmatig een waarde instellen in combinatie met ID Value, zoals deze: staticValue{id:ID}staticValue\",\r\n \"math\": \"Converteert de waarde, /10 kan worden vervangen\",\r\n \"menu\": \"Menu\",\r\n \"menuBack\": \"Wanneer u hierop drukt, springt u terug naar het vorige menu\",\r\n \"menuDeleteAll\": \"Genereert een knop om alle berichten van de bot te verwijderen. De navigatie is optioneel. Laat het gewoon leeg, anders komt u in een menu dat moet worden opgeroepen.\",\r\n \"menuDynamicSwitch\": \"Genereert vermenigvuldigingsknoppen, waarden kunnen individueel worden ingevoegd. Vervang TRIGGER door een unieke waarde. LengthOfRow is optioneel en kan worden gebruikt om het aantal knoppen per rij in te stellen.
    Breekbare wijziging!!! \u00A0 Wijzig handmatig: `[Naam1:Waarde1, Naam2:Waarde2]` in `[Naam1|Waarde1, Naam2|Waarde2]`. Decimale getallen kunnen nu ook als waarden worden gebruikt.\",\r\n \"menuList\": \"Menulijst\",\r\n \"menuNumber\": \"De nummers zijn volledig uitwisselbaar. 0-6 geeft het bereik aan, en 1 de stapgrootte, UNIT wordt vervangen door een eenheid, maar kan ook leeg gelaten worden. Vervang TRIGGER door een unieke waarde.\",\r\n \"menuPercent\": \"10 kan vervangen worden en geeft de stapgrootte aan 0%, 10%, 20%...! Vervang TRIGGER door een unieke waarde. Dit wordt gebruikt in actie SetState. Voer het gewenste ID in. Onder de waarde! invoegen\",\r\n \"menuSwitch\": \"Genereert twee knoppen, in dit geval aan en uit met de respectieve waarden waar en onwaar. Vervang TRIGGER door een unieke waarde.\",\r\n \"menuToCopy\": \"Selecteer eerst het menu waarnaar u gegevens wilt kopi\u00EBren. Dan de regel waar het moet worden toegevoegd. Als er nog geen gegevens zijn, klik dan op Opslaan en deze worden aangemaakt na het opvragen van de nieuwe triggernaam.\",\r\n \"modifiedSubmenuValue\": \"Hiermee kunt u een aangepaste submenuwaarde instellen in combinatie met een statisch onderdeel, zoals dit: staticValue{value}staticValue\",\r\n \"navigation\": \"Navigatie\",\r\n \"navigationButtons\": \"Navigatieknoppen\",\r\n \"newlineCheckbox\": \"Nieuwe lijn\",\r\n \"no\": \"Nee\",\r\n \"noValue\": \"De waarde is niet gespecificeerd in de retourtekst\",\r\n \"notifiedByChangeOfAnotherState\": \"Als u op de hoogte wilt worden gesteld van de wijziging van een ander datapunt nadat u het datapunt in het ID-invoerveld hebt ingesteld. De wijziging wordt alleen gedeeld als deze is ingesteld met ack:true. Het is verplicht om een \u200B\u200Btekst buiten de {} op te geven, anders wordt deze automatisch toegevoegd.\",\r\n \"ok\": \"OK\",\r\n \"oneTimeKey\": \"Verzoekt klanten om het toetsenbord verticaal aan te passen voor een optimale pasvorm (maak het toetsenbord bijvoorbeeld kleiner als er slechts twee rijen knoppen zijn). Standaard ingesteld op false, in welk geval het aangepaste toetsenbord altijd dezelfde hoogte heeft als het standaardtoetsenbord van de app.\",\r\n \"overview\": \"Overzicht\",\r\n \"parseMode\": \"Parseermodus HTML\",\r\n \"parseModeBold\": \"Tekst in de parse-modus is vetgedrukt\",\r\n \"parseModeCode\": \"Tekst in de parse-modus is code\",\r\n \"parseModeItalic\": \"Tekst in de parse-modus is cursief\",\r\n \"parseModeLink\": \"Tekst in de parse-modus is een link\",\r\n \"password\": \"Wachtwoord\",\r\n \"percent\": \"Procent\",\r\n \"picSendDelay\": \"Vertraging foto verzenden\",\r\n \"placeholderInstance\": \"--Kies een telegraminstantie--\",\r\n \"placeholderValue\": \"Tijdelijke aanduiding voor de waarde\",\r\n \"reallyDelete\": \"Wil je dit echt verwijderen?\",\r\n \"renameMenu\": \"Hernoem de menunaam\",\r\n \"returnText\": \"Tekst retourneren\",\r\n \"save\": \"Redden\",\r\n \"select\": \"Selecteer\",\r\n \"selectAMenuDropBox\": \"Selecteer een menu, selecteer verplaatsen of kopi\u00EBren. Pas op! Er moet een gebruiker actief zijn in het geselecteerde menu!\",\r\n \"selectTargetMenu\": \"Selecteer een doelmenu\",\r\n \"sendMenuAfterRestart\": \"Menu verzenden na opnieuw opstarten\",\r\n \"setAck\": \"Bevestigingsvlag instellen\",\r\n \"setDynamicValue\": \"Hierdoor kunt u dynamische waarden in datapunten schrijven. U hoeft alleen maar te bellen en vervolgens kunt u de waarde in het invoerveld invoeren. RequestText: tekst om de waarde op te vragen. Type: type waarde (Boolean of getal). BevestigTekst: tekst om de waarde te bevestigen. ID: Als u vanuit een andere staat wilt bevestigen, voert u hier het ID in. (Dit is optioneel)\",\r\n \"setID\": \"Stelt de waarde van de ID in op val, met ack(confirmed)\",\r\n \"setMenu\": \"Menu instellen\",\r\n \"setWithAck\": \"Stel de waarde in met ack-Flag\",\r\n \"settings\": \"Instellingen\",\r\n \"startMenus\": \"Startmenu's\",\r\n \"startSide\": \"Begin kant\",\r\n \"statusMenu\": \"Vraagt \u200B\u200Bde waarde van het ID op en vervangt deze vervolgens door de waarde, zodat er tekst omheen kan worden geschreven, het is ook mogelijk om deze meerdere keren achter elkaar te gebruiken. De parameter true is een optie om de waarde te wijzigen door een functiewijziging. Je moet het op false zetten als je deze waarde niet verandert, maar hierachter zit nog een {status: ... request with change:true.\",\r\n \"submenu\": \"Submenu\",\r\n \"switch\": \"Schakelaar\",\r\n \"switchCheckbox\": \"Schakelaar\",\r\n \"telegramInstance\": \"Telegram-instantie\",\r\n \"telegramUser\": \"Gebruikers van Telegram\",\r\n \"text\": \"Tekst\",\r\n \"textNoEntry\": \"Er wordt een sms verzonden als er geen invoer is gevonden!\",\r\n \"toggle\": \"Schakelaar\",\r\n \"trigger\": \"Trekker\",\r\n \"tsTimestamp\": \"Tijdstempel. Converteert een Unix-tijdstempel naar een lokale tijd, het formaat kan worden gewijzigd, bijvoorbeeld naar DD.MM.JJJJ JJ uu:mm:ss:sss\",\r\n \"unusedTrigger\": \"Ongebruikte trekker\",\r\n \"url\": \"URL\",\r\n \"usedTrigger\": \"Gebruikte trekker\",\r\n \"user\": \"Gebruiker\",\r\n \"userList\": \"Gebruikerslijst\",\r\n \"userSelect\": \"Selecteer een gebruiker of deactiveer het menu voordat u kunt opslaan!\",\r\n \"value\": \"Waarde\",\r\n \"valueRound\": \"Rondt de waarde bijvoorbeeld af op 2 decimalen\",\r\n \"values\": \"Waarden\",\r\n \"yes\": \"Ja\"\r\n}\r\n", "{\r\n \"ID\": \"IDENTIFIANT\",\r\n \"IDs\": \"identifiants\",\r\n \"abort\": \"Avorter\",\r\n \"ack\": \"Acquitter\",\r\n \"action\": \"Action\",\r\n \"active\": \"Actif\",\r\n \"activeMenu\": \"Menu actif\u00A0:\",\r\n \"add\": \"Ajouter\",\r\n \"addAction\": \"Ajouter une nouvelle action\",\r\n \"addMenu\": \"Ajouter un nouveau nom de menu\",\r\n \"binding\": \"Reliures : D'abord Var avec l'identifiant puis la condition et le texte.\",\r\n \"breakpointNewline\": \"Point d'arr\u00EAt pour une nouvelle ligne, ins\u00E9rez-le uniquement dans le texte\",\r\n \"call\": \"Appel\",\r\n \"cancel\": \"Annuler\",\r\n \"changeFunction\": \"Modifie la valeur dans le texte de retour, dans ce cas de true \u00E0 on et false \u00E0 off\",\r\n \"chooseAction\": \"Choisissez une action\",\r\n \"close\": \"Fermer\",\r\n \"commonName\": \"Affiche le nom du point de donn\u00E9es\",\r\n \"condition\": \"Condition\",\r\n \"conditionMenu\": \"Condition pour ouvrir le menu\",\r\n \"confirm\": \"Confirmer\",\r\n \"confirmDelete\": \"Toutes les donn\u00E9es seront perdues. Confirmer?\",\r\n \"confirmMessage\": \"Confirmer par message\",\r\n \"confirmSet\": \"Attention. La valeur a seulement \u00E9t\u00E9 d\u00E9finie mais n'a pas encore \u00E9t\u00E9 confirm\u00E9e par l'adaptateur. Vous pouvez supprimer noValue, la valeur s'affichera alors. Position && remplac\u00E9 par Value ou sera mis \u00E0 la fin\",\r\n \"convertsUnixTimestamp\": \"Convertit un horodatage Unix en heure locale\",\r\n \"copy\": \"Copie\",\r\n \"createMenu\": \"S'il vous pla\u00EEt, cr\u00E9ez un menu\u00A0!\",\r\n \"delay\": \"D\u00E9lai (ms)\",\r\n \"delete\": \"Supprimer\",\r\n \"directory\": \"Annuaire\",\r\n \"doubleTrigger\": \"Vous avez des doubles d\u00E9clencheurs, veuillez les supprimer\u00A0!\",\r\n \"edit\": \"Modifier\",\r\n \"entryNotFound\": \"Entr\u00E9e introuvable\u00A0!\",\r\n \"executedMenu\": \"Menu ex\u00E9cut\u00E9\",\r\n \"filename\": \"Nom de fichier\",\r\n \"hide\": \"Cacher\",\r\n \"identification\": \"Identification\",\r\n \"inactive\": \"Inactif\",\r\n \"insertID\": \"Pour ins\u00E9rer un ID, ins\u00E9rez simplement le bloc en premier, s\u00E9lectionnez l'ID. Celui-ci sera alors automatiquement ins\u00E9r\u00E9 \u00E0 l'endroit appropri\u00E9, m\u00EAme si l'ID doit \u00EAtre modifi\u00E9. Si le code ne reconna\u00EEt pas le bloc, l'ID est ajout\u00E9 \u00E0 la fin.\",\r\n \"instance\": \"Exemple\",\r\n \"isSubmenu\": \"Ceci est un sous-menu\u00A0!\",\r\n \"jsonShoppingList\": \"Comme ci-dessus, mais lorsque vous cliquez sur un bouton, l'\u00E9l\u00E9ment sera supprim\u00E9, la cl\u00E9 des \u00E9l\u00E9ments est \u00AB nom : \u00BB, vous pouvez \u00E9galement ajouter \u00AB heure : \u00BB. Important !!! La \u00AB liste de courses \u00BB ne peut pas \u00EAtre modifi\u00E9e.\",\r\n \"jsonTable\": \"!!! Pour l'utiliser, parseMode ne doit pas \u00EAtre actif !!! Cr\u00E9e une table \u00E0 partir d'un JSON en tant que Text-Table. La premi\u00E8re valeur est une cl\u00E9 du JSON, derri\u00E8re elle se trouve le nom de la colonne. Vous pouvez utiliser plus de deux valeurs. L'en-t\u00EAte doit \u00EAtre renseign\u00E9. Ne modifiez pas TextTable.\",\r\n \"latitude\": \"Latitude\",\r\n \"lcTimestamp\": \"Dernier changement. Convertit un horodatage Unix en heure locale, le format peut \u00EAtre modifi\u00E9, par exemple en DD.MM.YYYY YY hh:mm:ss:sss\",\r\n \"linkedWith\": \"Est li\u00E9 \u00E0 :\",\r\n \"longitude\": \"Longitude\",\r\n \"manuallyValue\": \"Cela vous permet de d\u00E9finir manuellement une valeur en combinaison avec la valeur ID, comme ceci\u00A0: staticValue{id:ID}staticValue\",\r\n \"math\": \"Convertit la valeur, /10 peut \u00EAtre remplac\u00E9\",\r\n \"menu\": \"Menu\",\r\n \"menuBack\": \"Lorsque vous appuyez dessus, vous revenez au menu pr\u00E9c\u00E9dent\",\r\n \"menuDeleteAll\": \"G\u00E9n\u00E8re un bouton pour supprimer tous les messages du bot. La navigation est facultative. Laissez-le simplement vide, sinon vous pourrez acc\u00E9der \u00E0 un menu qui devrait \u00EAtre appel\u00E9.\",\r\n \"menuDynamicSwitch\": \"G\u00E9n\u00E8re des boutons de multiplication, les valeurs peuvent \u00EAtre ins\u00E9r\u00E9es individuellement. Remplacez TRIGGER par une valeur unique. LengthOfRow est facultatif et peut \u00EAtre utilis\u00E9 pour d\u00E9finir le nombre de boutons par ligne.
    Rupture de changement !!! \u00A0 Veuillez remplacer manuellement\u00A0: `[Name1:Value1, Name2:Value2]` par `[Name1|Value1, Name2|Value2]`. Les nombres d\u00E9cimaux peuvent d\u00E9sormais \u00E9galement \u00EAtre utilis\u00E9s comme valeurs.\",\r\n \"menuList\": \"Liste des menus\",\r\n \"menuNumber\": \"Les num\u00E9ros peuvent \u00EAtre enti\u00E8rement \u00E9chang\u00E9s. 0-6 indique la plage et 1 la taille du pas, UNIT est remplac\u00E9 par une unit\u00E9, mais peut \u00E9galement \u00EAtre laiss\u00E9 vide. Remplacez TRIGGER par une valeur unique.\",\r\n \"menuPercent\": \"10 peut \u00EAtre remplac\u00E9 et indique la taille du pas 0%, 10%, 20%...\u00A0! Remplacez TRIGGER par une valeur unique. Ceci est utilis\u00E9 dans l\u2019action SetState. Saisissez l'identifiant souhait\u00E9. En dessous de la valeur ! ins\u00E9rer\",\r\n \"menuSwitch\": \"G\u00E9n\u00E8re deux boutons, en l'occurrence on et off avec les valeurs respectives true et false. Remplacez TRIGGER par une valeur unique.\",\r\n \"menuToCopy\": \"S\u00E9lectionnez d'abord le menu dans lequel vous souhaitez copier les donn\u00E9es. Puis la ligne o\u00F9 il doit \u00EAtre ajout\u00E9. S'il n'y a pas encore de donn\u00E9es, cliquez sur Enregistrer et elles seront cr\u00E9\u00E9es apr\u00E8s avoir interrog\u00E9 le nouveau nom du d\u00E9clencheur.\",\r\n \"modifiedSubmenuValue\": \"Cela vous permet de d\u00E9finir une valeur de sous-menu modifi\u00E9e en combinaison avec une partie statique, comme ceci\u00A0: staticValue{value}staticValue\",\r\n \"navigation\": \"Navigation\",\r\n \"navigationButtons\": \"Boutons de navigation\",\r\n \"newlineCheckbox\": \"Nouvelle ligne\",\r\n \"no\": \"Non\",\r\n \"noValue\": \"La valeur n'est pas sp\u00E9cifi\u00E9e dans le texte de retour\",\r\n \"notifiedByChangeOfAnotherState\": \"Si vous souhaitez \u00EAtre inform\u00E9 du changement d'un autre point de donn\u00E9es apr\u00E8s avoir d\u00E9fini le point de donn\u00E9es dans le champ de saisie ID. La modification ne sera partag\u00E9e que si elle est d\u00E9finie avec ack:true. Il est obligatoire de pr\u00E9ciser un texte en dehors du {}, sinon il sera ajout\u00E9 automatiquement.\",\r\n \"ok\": \"D'ACCORD\",\r\n \"oneTimeKey\": \"Demande aux clients de redimensionner le clavier verticalement pour un ajustement optimal (par exemple, r\u00E9duire la taille du clavier s'il n'y a que deux rang\u00E9es de boutons). La valeur par d\u00E9faut est false, auquel cas le clavier personnalis\u00E9 a toujours la m\u00EAme hauteur que le clavier standard de l'application.\",\r\n \"overview\": \"Aper\u00E7u\",\r\n \"parseMode\": \"HTML en mode analyse\",\r\n \"parseModeBold\": \"Le texte en mode analyse est en gras\",\r\n \"parseModeCode\": \"Le texte en mode analyse est du code\",\r\n \"parseModeItalic\": \"Le texte en mode analyse est en italique\",\r\n \"parseModeLink\": \"Le texte en mode analyse est un lien\",\r\n \"password\": \"Mot de passe\",\r\n \"percent\": \"Pour cent\",\r\n \"picSendDelay\": \"D\u00E9lai d'envoi des photos\",\r\n \"placeholderInstance\": \"--Veuillez choisir une instance de t\u00E9l\u00E9gramme--\",\r\n \"placeholderValue\": \"Espace r\u00E9serv\u00E9 pour la valeur\",\r\n \"reallyDelete\": \"Voulez-vous vraiment supprimer ceci\u00A0?\",\r\n \"renameMenu\": \"Renommer le nom du menu\",\r\n \"returnText\": \"Retourner le texte\",\r\n \"save\": \"Sauvegarder\",\r\n \"select\": \"S\u00E9lectionner\",\r\n \"selectAMenuDropBox\": \"S\u00E9lectionnez un menu, s\u00E9lectionnez d\u00E9placer ou copier. Attention! Un utilisateur doit \u00EAtre actif dans le menu s\u00E9lectionn\u00E9 !\",\r\n \"selectTargetMenu\": \"S\u00E9lectionnez un menu cible\",\r\n \"sendMenuAfterRestart\": \"Envoyer le menu apr\u00E8s le red\u00E9marrage\",\r\n \"setAck\": \"D\u00E9finir le drapeau de r\u00E9ception\",\r\n \"setDynamicValue\": \"Cela vous permet d'\u00E9crire des valeurs dynamiques dans des points de donn\u00E9es. Passez simplement un appel et vous pourrez ensuite saisir la valeur dans le champ de saisie. RequestText\u00A0: texte pour demander la valeur. Type : type de la valeur (bool\u00E9en ou nombre). ConfirmText\u00A0: texte pour confirmer la valeur. ID\u00A0: Si vous souhaitez confirmer depuis un autre \u00C9tat, entrez l'ID ici. (Ceci est facultatif)\",\r\n \"setID\": \"D\u00E9finit la valeur de l'ID sur le val, avec ack (confirm\u00E9)\",\r\n \"setMenu\": \"D\u00E9finir le menu\",\r\n \"setWithAck\": \"D\u00E9finir la valeur avec ack-Flag\",\r\n \"settings\": \"Param\u00E8tres\",\r\n \"startMenus\": \"Menus D\u00E9marrer\",\r\n \"startSide\": \"C\u00F4t\u00E9 d\u00E9part\",\r\n \"statusMenu\": \"Interroge la valeur de l'ID puis la remplace par la valeur, afin que du texte puisse \u00EAtre \u00E9crit autour, il est \u00E9galement possible de l'utiliser plus d'une fois de suite. Le param\u00E8tre true est une option permettant de modifier la valeur par changement de fonction. Vous devez le d\u00E9finir sur false si vous ne modifiez pas cette valeur, mais derri\u00E8re cela se trouve une autre requ\u00EAte {status: ... avec change:true.\",\r\n \"submenu\": \"Sous-menu\",\r\n \"switch\": \"Changer\",\r\n \"switchCheckbox\": \"Changer\",\r\n \"telegramInstance\": \"Instance de t\u00E9l\u00E9gramme\",\r\n \"telegramUser\": \"Utilisateurs de Telegram\",\r\n \"text\": \"Texte\",\r\n \"textNoEntry\": \"Un texte sera envoy\u00E9 si aucune entr\u00E9e n'a \u00E9t\u00E9 trouv\u00E9e\u00A0!\",\r\n \"toggle\": \"Basculer\",\r\n \"trigger\": \"D\u00E9clenchement\",\r\n \"tsTimestamp\": \"Horodatage. Convertit un horodatage Unix en heure locale, le format peut \u00EAtre modifi\u00E9, par exemple en DD.MM.YYYY YY hh:mm:ss:sss\",\r\n \"unusedTrigger\": \"D\u00E9clencheur inutilis\u00E9\",\r\n \"url\": \"URL\",\r\n \"usedTrigger\": \"D\u00E9clencheur utilis\u00E9\",\r\n \"user\": \"Utilisateur\",\r\n \"userList\": \"Liste des utilisateurs\",\r\n \"userSelect\": \"Veuillez s\u00E9lectionner un utilisateur ou d\u00E9sactiver le menu avant de pouvoir enregistrer\u00A0!\",\r\n \"value\": \"Valeur\",\r\n \"valueRound\": \"Arrondit la valeur par exemple \u00E0 2 d\u00E9cimales\",\r\n \"values\": \"Valeurs\",\r\n \"yes\": \"Oui\"\r\n}\r\n", "{\r\n \"ID\": \"ID\",\r\n \"IDs\": \"ID\",\r\n \"abort\": \"Interrompere\",\r\n \"ack\": \"Ac\",\r\n \"action\": \"Azione\",\r\n \"active\": \"Attivo\",\r\n \"activeMenu\": \"Men\u00F9 attivo:\",\r\n \"add\": \"Aggiungere\",\r\n \"addAction\": \"Aggiungi nuova azione\",\r\n \"addMenu\": \"Aggiungi un nuovo nome al menu\",\r\n \"binding\": \"Binding: prima Var con id poi la condizione e il testo.\",\r\n \"breakpointNewline\": \"Punto di interruzione per una nuova riga, inseriscilo solo nel testo\",\r\n \"call\": \"Chiamata\",\r\n \"cancel\": \"Cancellare\",\r\n \"changeFunction\": \"Modifica il valore nel testo restituito, in questo caso da true a on e false a off\",\r\n \"chooseAction\": \"Scegli un'azione\",\r\n \"close\": \"Vicino\",\r\n \"commonName\": \"Restituisce il nome del punto dati\",\r\n \"condition\": \"Condizione\",\r\n \"conditionMenu\": \"Condizione per aprire il menu\",\r\n \"confirm\": \"Confermare\",\r\n \"confirmDelete\": \"Tutti i dati andranno persi. Confermare?\",\r\n \"confirmMessage\": \"Conferma con messaggio\",\r\n \"confirmSet\": \"Attenzione. Il valore \u00E8 stato solo impostato ma non ancora confermato dall'adattatore. Puoi rimuovere noValue, quindi il valore verr\u00E0 visualizzato. Posizione && sostituito da Valore o verr\u00E0 inserito alla fine\",\r\n \"convertsUnixTimestamp\": \"Converte un timestamp Unix in un'ora locale\",\r\n \"copy\": \"Copia\",\r\n \"createMenu\": \"Per favore crea un menu!\",\r\n \"delay\": \"Ritardo (ms)\",\r\n \"delete\": \"Eliminare\",\r\n \"directory\": \"Direttorio\",\r\n \"doubleTrigger\": \"Hai doppi trigger, rimuovili!\",\r\n \"edit\": \"Modificare\",\r\n \"entryNotFound\": \"Voce non trovata!\",\r\n \"executedMenu\": \"Men\u00F9 eseguito\",\r\n \"filename\": \"Nome file\",\r\n \"hide\": \"Nascondere\",\r\n \"identification\": \"Identificazione\",\r\n \"inactive\": \"Inattivo\",\r\n \"insertID\": \"Per inserire un ID \u00E8 sufficiente inserire prima il blocco, selezionare l'ID. Questo verr\u00E0 poi inserito automaticamente nell'apposito posto, anche nel caso in cui si voglia modificare l'ID. Se il codice non riconosce il blocco, l'ID viene aggiunto alla fine.\",\r\n \"instance\": \"Esempio\",\r\n \"isSubmenu\": \"Questo \u00E8 un sottomenu!\",\r\n \"jsonShoppingList\": \"Come sopra, ma quando fai clic su un pulsante, l'elemento verr\u00E0 eliminato, la chiave per gli elementi \u00E8 \\\"nome:\\\", puoi anche aggiungere \\\"ora:\\\". Importante!!! la 'lista della spesa' non pu\u00F2 essere modificata.\",\r\n \"jsonTable\": \"!!! Per usarlo, parseMode non deve essere attivo!!! Crea una tabella da un JSON come tabella di testo. Il primo valore \u00E8 una chiave del JSON, dietro c'\u00E8 il nome della colonna. Puoi utilizzare pi\u00F9 di due valori. L'intestazione deve essere compilata. Non modificare TextTable.\",\r\n \"latitude\": \"Latitudine\",\r\n \"lcTimestamp\": \"Ultimo cambio. Converte un timestamp Unix in un'ora locale, il formato pu\u00F2 essere modificato, ad esempio in GG.MM.AAAA AA hh:mm:ss:sss\",\r\n \"linkedWith\": \"\u00C8 collegato con:\",\r\n \"longitude\": \"Longitudine\",\r\n \"manuallyValue\": \"Ci\u00F2 ti consente di impostare manualmente un valore in combinazione con il valore ID, in questo modo: staticValue{id:ID}staticValue\",\r\n \"math\": \"Converte il valore, /10 pu\u00F2 essere sostituito\",\r\n \"menu\": \"Menu\",\r\n \"menuBack\": \"Quando viene premuto, si torna al menu precedente\",\r\n \"menuDeleteAll\": \"Genera un pulsante per eliminare tutti i messaggi dal bot. La navigazione \u00E8 facoltativa. Basta lasciarlo vuoto altrimenti si accede ad un menu da richiamare.\",\r\n \"menuDynamicSwitch\": \"Genera pulsanti moltiplicativi, i valori possono essere inseriti individualmente. Sostituisci TRIGGER con un valore univoco. LengthOfRow \u00E8 facoltativo e pu\u00F2 essere utilizzato per impostare il numero di pulsanti per riga.
    Modifica rivoluzionaria!!! \u00A0 Modifica manualmente: `[Nome1:Valore1, Nome2:Valore2]` in `[Nome1|Valore1, Nome2|Valore2]`. I numeri decimali ora possono essere utilizzati anche come valori.\",\r\n \"menuList\": \"Elenco dei men\u00F9\",\r\n \"menuNumber\": \"I numeri possono essere completamente scambiati. 0-6 indica l'intervallo e 1 la dimensione del passo, UNIT \u00E8 sostituito da un'unit\u00E0, ma pu\u00F2 anche essere lasciato vuoto. Sostituisci TRIGGER con un valore univoco.\",\r\n \"menuPercent\": \"10 pu\u00F2 essere sostituito e indica la dimensione del passo 0%, 10%, 20%...! Sostituisci TRIGGER con un valore univoco. Viene utilizzato nell'azione SetState. Inserisci l'ID desiderato. Sotto il valore! inserire\",\r\n \"menuSwitch\": \"Genera due pulsanti, in questo caso on e off con i rispettivi valori true e false. Sostituisci TRIGGER con un valore univoco.\",\r\n \"menuToCopy\": \"Seleziona innanzitutto il menu in cui desideri copiare i dati. Quindi la riga in cui dovrebbe essere aggiunto. Se non sono ancora presenti dati, fare clic su Salva e verranno creati dopo aver richiesto il nuovo nome del trigger.\",\r\n \"modifiedSubmenuValue\": \"Ci\u00F2 ti consente di impostare un valore del sottomenu modificato in combinazione con una parte statica, in questo modo: staticValue{value}staticValue\",\r\n \"navigation\": \"Navigazione\",\r\n \"navigationButtons\": \"Pulsanti di navigazione\",\r\n \"newlineCheckbox\": \"Nuova riga\",\r\n \"no\": \"NO\",\r\n \"noValue\": \"Il valore non \u00E8 specificato nel testo restituito\",\r\n \"notifiedByChangeOfAnotherState\": \"Se desideri essere avvisato della modifica di un altro punto dati dopo aver impostato il punto dati nel campo di immissione ID. La modifica verr\u00E0 condivisa solo se \u00E8 impostata con ack:true. \u00C8 obbligatorio specificare un testo fuori dal {}, altrimenti verr\u00E0 aggiunto automaticamente.\",\r\n \"ok\": \"OK\",\r\n \"oneTimeKey\": \"Richiede ai client di ridimensionare la tastiera verticalmente per adattarla in modo ottimale (ad esempio, riduci la tastiera se sono presenti solo due file di pulsanti). Il valore predefinito \u00E8 false, nel qual caso la tastiera personalizzata ha sempre la stessa altezza della tastiera standard dell'app.\",\r\n \"overview\": \"Panoramica\",\r\n \"parseMode\": \"Modalit\u00E0 di analisi HTML\",\r\n \"parseModeBold\": \"Il testo in modalit\u00E0 analisi \u00E8 in grassetto\",\r\n \"parseModeCode\": \"Il testo in modalit\u00E0 Parse \u00E8 codice\",\r\n \"parseModeItalic\": \"Il testo in modalit\u00E0 Parse \u00E8 in corsivo\",\r\n \"parseModeLink\": \"Il testo in modalit\u00E0 Parse \u00E8 link\",\r\n \"password\": \"Password\",\r\n \"percent\": \"Percentuale\",\r\n \"picSendDelay\": \"Ritardo nell'invio dell'immagine\",\r\n \"placeholderInstance\": \"--Scegli un'istanza di Telegram--\",\r\n \"placeholderValue\": \"Segnaposto per il valore\",\r\n \"reallyDelete\": \"Vuoi davvero eliminarlo?\",\r\n \"renameMenu\": \"Rinominare il nome del menu\",\r\n \"returnText\": \"Restituisci il testo\",\r\n \"save\": \"Salva\",\r\n \"select\": \"Selezionare\",\r\n \"selectAMenuDropBox\": \"Seleziona un menu, seleziona sposta o copia. Attento! Un utente deve essere attivo nel menu selezionato!\",\r\n \"selectTargetMenu\": \"Seleziona un menu di destinazione\",\r\n \"sendMenuAfterRestart\": \"Invia menu dopo il riavvio\",\r\n \"setAck\": \"Imposta il flag di riconoscimento\",\r\n \"setDynamicValue\": \"Ci\u00F2 consente di scrivere valori dinamici in punti dati. Basta effettuare una chiamata e quindi inserire il valore nel campo di immissione. RequestText: testo per richiedere il valore. Tipo: tipo del valore (booleano o numerico). confirmText: testo per confermare il valore. ID: se desideri confermare da un altro Stato, inserisci qui l'ID (facoltativo)\",\r\n \"setID\": \"Imposta il valore dell'ID su val, con ack(confirmed)\",\r\n \"setMenu\": \"Menu fisso\",\r\n \"setWithAck\": \"Imposta il valore con ack-Flag\",\r\n \"settings\": \"Impostazioni\",\r\n \"startMenus\": \"Menu di avvio\",\r\n \"startSide\": \"Lato iniziale\",\r\n \"statusMenu\": \"Interroga il valore dell'ID e poi lo sostituisce con il valore, in modo che sia possibile scrivere del testo attorno ad esso, ed \u00E8 anche possibile utilizzarlo pi\u00F9 di una volta di seguito. Il parametro true \u00E8 un'opzione per modificare il valore mediante modifica della funzione. Devi impostarlo su false se non cambi questo valore, ma dietro c'\u00E8 un'altra richiesta {status: ... con change:true.\",\r\n \"submenu\": \"Sottomenu\",\r\n \"switch\": \"Interruttore\",\r\n \"switchCheckbox\": \"Interruttore\",\r\n \"telegramInstance\": \"Istanza di Telegramma\",\r\n \"telegramUser\": \"Utenti di Telegram\",\r\n \"text\": \"Testo\",\r\n \"textNoEntry\": \"Il testo verr\u00E0 inviato se non viene trovata alcuna voce!\",\r\n \"toggle\": \"Attiva/disattiva\",\r\n \"trigger\": \"Grilletto\",\r\n \"tsTimestamp\": \"Timestamp. Converte un timestamp Unix in un'ora locale, il formato pu\u00F2 essere modificato, ad esempio in GG.MM.AAAA AA hh:mm:ss:sss\",\r\n \"unusedTrigger\": \"Grilletto non utilizzato\",\r\n \"url\": \"URL\",\r\n \"usedTrigger\": \"Grilletto usato\",\r\n \"user\": \"Utente\",\r\n \"userList\": \"Elenco utenti\",\r\n \"userSelect\": \"Seleziona un utente o disattiva il menu prima di poter salvare!\",\r\n \"value\": \"Valore\",\r\n \"valueRound\": \"Arrotonda il valore, ad esempio, a 2 cifre decimali\",\r\n \"values\": \"Valori\",\r\n \"yes\": \"S\u00CC\"\r\n}\r\n", "{\r\n \"ID\": \"IDENTIFICACI\u00D3N\",\r\n \"IDs\": \"identificaciones\",\r\n \"abort\": \"Abortar\",\r\n \"ack\": \"Ack\",\r\n \"action\": \"Acci\u00F3n\",\r\n \"active\": \"Activo\",\r\n \"activeMenu\": \"Men\u00FA activo:\",\r\n \"add\": \"Agregar\",\r\n \"addAction\": \"Agregar nueva acci\u00F3n\",\r\n \"addMenu\": \"Agregar nuevo nombre de men\u00FA\",\r\n \"binding\": \"Enlaces: Primero Var con id, luego la condici\u00F3n y el texto.\",\r\n \"breakpointNewline\": \"Punto de interrupci\u00F3n para una nueva l\u00EDnea, solo inserte esto en el texto\",\r\n \"call\": \"Llamar\",\r\n \"cancel\": \"Cancelar\",\r\n \"changeFunction\": \"Cambia el valor en el texto devuelto, en este caso de verdadero a activado y de falso a desactivado.\",\r\n \"chooseAction\": \"Elige una acci\u00F3n\",\r\n \"close\": \"Cerca\",\r\n \"commonName\": \"Muestra el nombre del punto de datos.\",\r\n \"condition\": \"Condici\u00F3n\",\r\n \"conditionMenu\": \"Condici\u00F3n para abrir Men\u00FA\",\r\n \"confirm\": \"Confirmar\",\r\n \"confirmDelete\": \"Todos los datos se perder\u00E1n. \u00BFConfirmar?\",\r\n \"confirmMessage\": \"Confirmar con mensaje\",\r\n \"confirmSet\": \"Atenci\u00F3n. El valor s\u00F3lo ha sido establecido pero a\u00FAn no confirmado por el Adaptador. Puede eliminar noValue, luego se mostrar\u00E1 el valor. Posici\u00F3n && reemplazada por Valor o se pondr\u00E1 al final\",\r\n \"convertsUnixTimestamp\": \"Convierte una marca de tiempo de Unix a una hora local\",\r\n \"copy\": \"Copiar\",\r\n \"createMenu\": \"\u00A1Por favor crea un men\u00FA!\",\r\n \"delay\": \"Retraso (ms)\",\r\n \"delete\": \"Borrar\",\r\n \"directory\": \"Directorio\",\r\n \"doubleTrigger\": \"Tienes activadores dobles, \u00A1elim\u00EDtalos!\",\r\n \"edit\": \"Editar\",\r\n \"entryNotFound\": \"\u00A1Entrada no encontrada!\",\r\n \"executedMenu\": \"Men\u00FA ejecutado\",\r\n \"filename\": \"Nombre del archivo\",\r\n \"hide\": \"Esconder\",\r\n \"identification\": \"Identificaci\u00F3n\",\r\n \"inactive\": \"Inactivo\",\r\n \"insertID\": \"Para insertar una ID, simplemente inserte el bloque primero, seleccione la ID. Este se insertar\u00E1 autom\u00E1ticamente en el lugar apropiado, incluso si se va a cambiar el ID. Si el c\u00F3digo no reconoce el bloque, se a\u00F1ade el ID al final.\",\r\n \"instance\": \"Instancia\",\r\n \"isSubmenu\": \"\u00A1Este es un submen\u00FA!\",\r\n \"jsonShoppingList\": \"Lo mismo que arriba, pero cuando haces clic en un bot\u00F3n, el elemento se eliminar\u00E1. La clave para los elementos es \\\"nombre:\\\", tambi\u00E9n puedes agregar \\\"hora:\\\". \u00A1\u00A1\u00A1Importante!!! La 'lista de compras' no se puede cambiar.\",\r\n \"jsonTable\": \"!!! \u00A1Para usarlo, parseMode no debe estar activo! Crea una tabla a partir de un JSON como Text-Table. El primer valor es una clave del JSON, detr\u00E1s est\u00E1 el nombre de la columna. Puede utilizar m\u00E1s de dos valores. El encabezado debe estar completo. No cambie TextTable.\",\r\n \"latitude\": \"Latitud\",\r\n \"lcTimestamp\": \"\u00DAltimo cambio. Convierte una marca de tiempo de Unix a una hora local; el formato se puede cambiar, por ejemplo a DD.MM.AAAA AA hh:mm:ss:sss\",\r\n \"linkedWith\": \"Est\u00E1 vinculado con:\",\r\n \"longitude\": \"Longitud\",\r\n \"manuallyValue\": \"Esto le permite establecer un valor manualmente en combinaci\u00F3n con el valor de ID, como este: staticValue{id:ID}staticValue\",\r\n \"math\": \"Convierte el valor, /10 se puede reemplazar\",\r\n \"menu\": \"Men\u00FA\",\r\n \"menuBack\": \"Al pulsarlo saltas al men\u00FA anterior.\",\r\n \"menuDeleteAll\": \"Genera un bot\u00F3n para eliminar todos los mensajes del bot. La navegaci\u00F3n es opcional. Simplemente d\u00E9jelo en blanco, de lo contrario podr\u00E1 ingresar a un men\u00FA que deber\u00EDa abrirse.\",\r\n \"menuDynamicSwitch\": \"Genera botones de multiplicar, los valores se pueden insertar individualmente. Reemplace TRIGGER con un valor \u00FAnico. LongitudDeRow es opcional y se puede utilizar para establecer el n\u00FAmero de botones por fila.
    \u00A1\u00A1\u00A1Cambio importante!!! \u00A0 Cambie manualmente: `[Nombre1:Valor1, Nombre2:Valor2]` a `[Nombre1|Valor1, Nombre2|Valor2]`. Ahora tambi\u00E9n se pueden utilizar n\u00FAmeros decimales como valores.\",\r\n \"menuList\": \"Lista de men\u00FA\",\r\n \"menuNumber\": \"Los n\u00FAmeros se pueden intercambiar completamente. 0-6 indica el rango y 1 el tama\u00F1o del paso, UNIT se reemplaza por una unidad, pero tambi\u00E9n se puede dejar vac\u00EDo. Reemplace TRIGGER con un valor \u00FAnico.\",\r\n \"menuPercent\": \"\u00A110 se puede reemplazar e indica el tama\u00F1o del paso 0%, 10%, 20%...! Reemplace TRIGGER con un valor \u00FAnico. Esto se utiliza en la acci\u00F3n SetState. Ingrese la identificaci\u00F3n deseada. \u00A1Por debajo del valor! insertar\",\r\n \"menuSwitch\": \"Genera dos botones, en este caso encendido y apagado con los valores respectivos verdadero y falso. Reemplace TRIGGER con un valor \u00FAnico.\",\r\n \"menuToCopy\": \"Primero seleccione el men\u00FA al que desea copiar los datos. Luego la l\u00EDnea donde se debe agregar. Si a\u00FAn no hay datos, haga clic en guardar y se crear\u00E1 despu\u00E9s de consultar el nuevo nombre del activador.\",\r\n \"modifiedSubmenuValue\": \"Esto le permite establecer un valor de submen\u00FA modificado en combinaci\u00F3n con una parte est\u00E1tica, como esta: staticValue{value}staticValue\",\r\n \"navigation\": \"Navegaci\u00F3n\",\r\n \"navigationButtons\": \"Botones de navegaci\u00F3n\",\r\n \"newlineCheckbox\": \"Nueva l\u00EDnea\",\r\n \"no\": \"No\",\r\n \"noValue\": \"El valor no est\u00E1 especificado en el texto de retorno.\",\r\n \"notifiedByChangeOfAnotherState\": \"Si desea recibir una notificaci\u00F3n sobre el cambio de otro punto de datos despu\u00E9s de haber configurado el punto de datos en el campo de entrada de ID. El cambio solo se compartir\u00E1 si se establece con ack:true. Es obligatorio especificar un texto fuera del {}, de lo contrario se agregar\u00E1 autom\u00E1ticamente.\",\r\n \"ok\": \"DE ACUERDO\",\r\n \"oneTimeKey\": \"Solicita a los clientes que cambien el tama\u00F1o del teclado verticalmente para lograr un ajuste \u00F3ptimo (por ejemplo, reducir el tama\u00F1o del teclado si solo hay dos filas de botones). El valor predeterminado es falso, en cuyo caso el teclado personalizado siempre tiene la misma altura que el teclado est\u00E1ndar de la aplicaci\u00F3n.\",\r\n \"overview\": \"Descripci\u00F3n general\",\r\n \"parseMode\": \"Modo de an\u00E1lisis HTML\",\r\n \"parseModeBold\": \"El texto en modo Parse est\u00E1 en negrita\",\r\n \"parseModeCode\": \"El texto en modo Parse es c\u00F3digo\",\r\n \"parseModeItalic\": \"El texto en modo Parse est\u00E1 en cursiva\",\r\n \"parseModeLink\": \"El texto en modo Parse es un enlace\",\r\n \"password\": \"Contrase\u00F1a\",\r\n \"percent\": \"Por ciento\",\r\n \"picSendDelay\": \"Retraso en env\u00EDo de imagen\",\r\n \"placeholderInstance\": \"--Por favor elija una instancia de telegrama--\",\r\n \"placeholderValue\": \"Marcador de posici\u00F3n para el valor\",\r\n \"reallyDelete\": \"\u00BFRealmente quieres eliminar esto?\",\r\n \"renameMenu\": \"Cambiar el nombre del men\u00FA\",\r\n \"returnText\": \"Texto de retorno\",\r\n \"save\": \"Ahorrar\",\r\n \"select\": \"Seleccionar\",\r\n \"selectAMenuDropBox\": \"Seleccione un men\u00FA, seleccione mover o copiar. \u00A1Cuidado! \u00A1Un usuario debe estar activo en el men\u00FA seleccionado!\",\r\n \"selectTargetMenu\": \"Seleccionar un men\u00FA de destino\",\r\n \"sendMenuAfterRestart\": \"Enviar men\u00FA despu\u00E9s de reiniciar\",\r\n \"setAck\": \"Establecer indicador de confirmaci\u00F3n\",\r\n \"setDynamicValue\": \"Esto le permite escribir valores din\u00E1micos en puntos de datos. Simplemente haga una llamada y luego podr\u00E1 ingresar el valor en el campo de entrada. RequestText: Texto para solicitar el valor. Tipo: tipo del valor (booleano o n\u00FAmero). ConfirmText: Texto para confirmar el valor. DNI: Si deseas confirmar desde otro Estado, ingresa aqu\u00ED el DNI. (Esto es opcional)\",\r\n \"setID\": \"Establece el valor del ID en val, con ack(confirmado)\",\r\n \"setMenu\": \"Men\u00FA fijo\",\r\n \"setWithAck\": \"Establecer valor con ack-Flag\",\r\n \"settings\": \"Ajustes\",\r\n \"startMenus\": \"Men\u00FAs de inicio\",\r\n \"startSide\": \"Lado de inicio\",\r\n \"statusMenu\": \"Consulta el valor del ID y luego lo reemplaza con el valor, para que se pueda escribir texto alrededor de \u00E9l, tambi\u00E9n es posible usarlo m\u00E1s de una vez seguida. El par\u00E1metro verdadero es una opci\u00F3n para cambiar el valor mediante el cambio de funci\u00F3n. Tienes que establecerlo en falso si no cambias este valor, pero detr\u00E1s de esto hay otra solicitud {status: ... con cambio:true.\",\r\n \"submenu\": \"Submen\u00FA\",\r\n \"switch\": \"Cambiar\",\r\n \"switchCheckbox\": \"Cambiar\",\r\n \"telegramInstance\": \"Instancia de telegrama\",\r\n \"telegramUser\": \"Usuarios de Telegram\",\r\n \"text\": \"Texto\",\r\n \"textNoEntry\": \"\u00A1Se enviar\u00E1 un mensaje de texto si no se encontr\u00F3 ninguna entrada!\",\r\n \"toggle\": \"Palanca\",\r\n \"trigger\": \"Desencadenar\",\r\n \"tsTimestamp\": \"Marca de tiempo. Convierte una marca de tiempo de Unix a una hora local; el formato se puede cambiar, por ejemplo a DD.MM.AAAA AA hh:mm:ss:sss\",\r\n \"unusedTrigger\": \"Gatillo no utilizado\",\r\n \"url\": \"URL\",\r\n \"usedTrigger\": \"Gatillo usado\",\r\n \"user\": \"Usuario\",\r\n \"userList\": \"Lista de usuarios\",\r\n \"userSelect\": \"\u00A1Seleccione un usuario o desactive el men\u00FA antes de poder guardar!\",\r\n \"value\": \"Valor\",\r\n \"valueRound\": \"Redondea el valor, por ejemplo, a 2 decimales.\",\r\n \"values\": \"Valores\",\r\n \"yes\": \"S\u00ED\"\r\n}\r\n", "{\r\n \"ID\": \"ID\",\r\n \"IDs\": \"identyfikatory\",\r\n \"abort\": \"Poroni\u0107\",\r\n \"ack\": \"Potwierd\u017A\",\r\n \"action\": \"Dzia\u0142anie\",\r\n \"active\": \"Aktywny\",\r\n \"activeMenu\": \"Aktywne menu:\",\r\n \"add\": \"Doda\u0107\",\r\n \"addAction\": \"Dodaj now\u0105 akcj\u0119\",\r\n \"addMenu\": \"Dodaj now\u0105 nazw\u0119 menu\",\r\n \"binding\": \"Powi\u0105zania: Najpierw Var z identyfikatorem, potem warunek i tekst.\",\r\n \"breakpointNewline\": \"Punkt przerwania nowej linii. Wstaw go tylko w tek\u015Bcie\",\r\n \"call\": \"Dzwoni\u0107\",\r\n \"cancel\": \"Anulowa\u0107\",\r\n \"changeFunction\": \"Zmienia warto\u015B\u0107 w tek\u015Bcie zwracanym, w tym przypadku z true na on i false na off\",\r\n \"chooseAction\": \"Wybierz akcj\u0119\",\r\n \"close\": \"Zamkn\u0105\u0107\",\r\n \"commonName\": \"Wy\u015Bwietla nazw\u0119 punktu danych\",\r\n \"condition\": \"Stan\",\r\n \"conditionMenu\": \"Warunek otwarcia Menu\",\r\n \"confirm\": \"Potwierdza\u0107\",\r\n \"confirmDelete\": \"Wszystkie dane zostan\u0105 utracone. Potwierdza\u0107?\",\r\n \"confirmMessage\": \"Potwierd\u017A komunikatem\",\r\n \"confirmSet\": \"Uwaga. Warto\u015B\u0107 zosta\u0142a ustawiona, ale jeszcze nie potwierdzona przez adapter. Mo\u017Cesz usun\u0105\u0107 noValue, wtedy warto\u015B\u0107 zostanie wy\u015Bwietlona. Pozycja && zostanie zast\u0105piona warto\u015Bci\u0105 lub zostanie umieszczona na ko\u0144cu\",\r\n \"convertsUnixTimestamp\": \"Konwertuje znacznik czasu Uniksa na czas lokalny\",\r\n \"copy\": \"Kopia\",\r\n \"createMenu\": \"Prosz\u0119 stworzy\u0107 menu!\",\r\n \"delay\": \"Op\u00F3\u017Anienie (ms)\",\r\n \"delete\": \"Usuwa\u0107\",\r\n \"directory\": \"Informator\",\r\n \"doubleTrigger\": \"Masz podw\u00F3jne wyzwalacze, usu\u0144 je!\",\r\n \"edit\": \"Redagowa\u0107\",\r\n \"entryNotFound\": \"Nie znaleziono wpisu!\",\r\n \"executedMenu\": \"Wykonane menu\",\r\n \"filename\": \"Nazwa pliku\",\r\n \"hide\": \"Ukrywa\u0107\",\r\n \"identification\": \"Identyfikacja\",\r\n \"inactive\": \"Nieaktywny\",\r\n \"insertID\": \"Aby wstawi\u0107 identyfikator, wystarczy najpierw wstawi\u0107 blok i wybra\u0107 identyfikator. Zostanie on nast\u0119pnie automatycznie wstawiony w odpowiednim miejscu, nawet je\u015Bli identyfikator ma zosta\u0107 zmieniony. Je\u017Celi kod nie rozpoznaje bloku, na ko\u0144cu dodawany jest identyfikator.\",\r\n \"instance\": \"Przyk\u0142ad\",\r\n \"isSubmenu\": \"To jest podmenu!\",\r\n \"jsonShoppingList\": \"To samo co powy\u017Cej, ale kiedy klikniesz przycisk, element zostanie usuni\u0119ty, kluczem do pozycji jest \u201Enazwa:\u201D, mo\u017Cesz tak\u017Ce doda\u0107 \u201Eczas:\u201D. Wa\u017Cne!!! \u201Elisty zakup\u00F3w\u201D nie mo\u017Cna zmienia\u0107.\",\r\n \"jsonTable\": \"!!! Aby z niego skorzysta\u0107, parseMode nie mo\u017Ce by\u0107 aktywny !!! Tworzy tabel\u0119 z JSON jako tabel\u0119 tekstow\u0105. Pierwsza warto\u015B\u0107 to jeden klucz JSON, za ni\u0105 znajduje si\u0119 nazwa kolumny. Mo\u017Cesz u\u017Cy\u0107 wi\u0119cej ni\u017C dw\u00F3ch warto\u015Bci. Nag\u0142\u00F3wek musi by\u0107 wype\u0142niony. Nie zmieniaj TextTable.\",\r\n \"latitude\": \"Szeroko\u015B\u0107\",\r\n \"lcTimestamp\": \"Ostatnia zmiana. Konwertuje znacznik czasu Uniksa na czas lokalny, format mo\u017Cna zmieni\u0107 na przyk\u0142ad na DD.MM.RRRR YY gg:mm:ss:sss\",\r\n \"linkedWith\": \"Jest powi\u0105zany z:\",\r\n \"longitude\": \"D\u0142ugo\u015B\u0107 geograficzna\",\r\n \"manuallyValue\": \"Umo\u017Cliwia to r\u0119czne ustawienie warto\u015Bci w po\u0142\u0105czeniu z warto\u015Bci\u0105 identyfikatora, na przyk\u0142ad: staticValue{id:ID}staticValue\",\r\n \"math\": \"Konwertuje warto\u015B\u0107, /10 mo\u017Cna zast\u0105pi\u0107\",\r\n \"menu\": \"Menu\",\r\n \"menuBack\": \"Po naci\u015Bni\u0119ciu nast\u0119puje powr\u00F3t do poprzedniego menu\",\r\n \"menuDeleteAll\": \"Generuje przycisk umo\u017Cliwiaj\u0105cy usuni\u0119cie wszystkich wiadomo\u015Bci od bota. Nawigacja jest opcjonalna. Po prostu pozostaw to pole puste, w przeciwnym razie mo\u017Cesz wej\u015B\u0107 do menu, kt\u00F3re nale\u017Cy wywo\u0142a\u0107.\",\r\n \"menuDynamicSwitch\": \"Generuje przyciski mno\u017Cenia, warto\u015Bci mo\u017Cna wstawia\u0107 indywidualnie. Zast\u0105p TRIGGER unikaln\u0105 warto\u015Bci\u0105. D\u0142ugo\u015B\u0107OfRow jest opcjonalna i mo\u017Cna jej u\u017Cy\u0107 do ustawienia liczby przycisk\u00F3w w rz\u0119dzie.
    Przerywanie zmiany!!! \u00A0 Zmie\u0144 r\u0119cznie: `[Nazwa1:Warto\u015B\u01071, Nazwa2:Warto\u015B\u01072]` na `[Nazwa1|Warto\u015B\u01071, Nazwa2|Warto\u015B\u01072]`. Liczb dziesi\u0119tnych mo\u017Cna teraz u\u017Cywa\u0107 tak\u017Ce jako warto\u015Bci.\",\r\n \"menuList\": \"Lista menu\",\r\n \"menuNumber\": \"Numery mo\u017Cna ca\u0142kowicie wymienia\u0107. 0-6 oznacza zakres, a 1 wielko\u015B\u0107 kroku. UNIT jest zast\u0119powany przez jednostk\u0119, ale mo\u017Ce te\u017C pozosta\u0107 pusty. Zast\u0105p TRIGGER unikaln\u0105 warto\u015Bci\u0105.\",\r\n \"menuPercent\": \"10 mo\u017Cna wymieni\u0107 i wskazuje wielko\u015B\u0107 kroku 0%, 10%, 20%...! Zast\u0105p TRIGGER unikaln\u0105 warto\u015Bci\u0105. Jest to u\u017Cywane w akcji SetState. Wprowad\u017A \u017C\u0105dany identyfikator. Poni\u017Cej warto\u015Bci! wstawi\u0107\",\r\n \"menuSwitch\": \"Generuje dwa przyciski, w tym przypadku w\u0142\u0105czaj\u0105ce i wy\u0142\u0105czaj\u0105ce z odpowiednimi warto\u015Bciami prawda i fa\u0142sz. Zast\u0105p TRIGGER unikaln\u0105 warto\u015Bci\u0105.\",\r\n \"menuToCopy\": \"Najpierw wybierz menu, do kt\u00F3rego chcesz skopiowa\u0107 dane. Nast\u0119pnie linia, w kt\u00F3rej nale\u017Cy go doda\u0107. Je\u015Bli nie ma jeszcze danych, kliknij Zapisz, a zostan\u0105 one utworzone po zapytaniu o now\u0105 nazw\u0119 wyzwalacza.\",\r\n \"modifiedSubmenuValue\": \"Pozwala to ustawi\u0107 zmodyfikowan\u0105 warto\u015B\u0107 podmenu w po\u0142\u0105czeniu z cz\u0119\u015Bci\u0105 statyczn\u0105, na przyk\u0142ad: staticValue{value}staticValue\",\r\n \"navigation\": \"Nawigacja\",\r\n \"navigationButtons\": \"Przyciski nawigacji\",\r\n \"newlineCheckbox\": \"Nowa linia\",\r\n \"no\": \"NIE\",\r\n \"noValue\": \"Warto\u015B\u0107 nie jest okre\u015Blona w tek\u015Bcie zwracanym\",\r\n \"notifiedByChangeOfAnotherState\": \"Je\u015Bli chcesz otrzyma\u0107 powiadomienie o zmianie innego punktu danych po ustawieniu punktu danych w polu wprowadzania ID. Zmiana zostanie udost\u0119pniona tylko wtedy, gdy zostanie ustawiona opcja ack:true. Obowi\u0105zkowe jest podanie tekstu poza {}, w przeciwnym razie zostanie on dodany automatycznie.\",\r\n \"ok\": \"OK\",\r\n \"oneTimeKey\": \"\u017B\u0105da od klient\u00F3w zmiany rozmiaru klawiatury w pionie w celu zapewnienia optymalnego dopasowania (np. zmniejszenia klawiatury, je\u015Bli s\u0105 tylko dwa rz\u0119dy przycisk\u00F3w). Domy\u015Blnie ustawiona jest warto\u015B\u0107 false. W takim przypadku niestandardowa klawiatura ma zawsze t\u0119 sam\u0105 wysoko\u015B\u0107 co standardowa klawiatura aplikacji.\",\r\n \"overview\": \"Przegl\u0105d\",\r\n \"parseMode\": \"Tryb analizy kodu HTML\",\r\n \"parseModeBold\": \"Tekst w trybie analizy jest pogrubiony\",\r\n \"parseModeCode\": \"Tekst w trybie analizy jest kodem\",\r\n \"parseModeItalic\": \"Tekst w trybie analizy jest kursyw\u0105\",\r\n \"parseModeLink\": \"Tekst w trybie analizy to link\",\r\n \"password\": \"Has\u0142o\",\r\n \"percent\": \"Procent\",\r\n \"picSendDelay\": \"Op\u00F3\u017Anienie wysy\u0142ania zdj\u0119\u0107\",\r\n \"placeholderInstance\": \"--Prosz\u0119 wybra\u0107 instancj\u0119 telegramu--\",\r\n \"placeholderValue\": \"Symbol zast\u0119pczy warto\u015Bci\",\r\n \"reallyDelete\": \"Czy na pewno chcesz to usun\u0105\u0107?\",\r\n \"renameMenu\": \"Zmie\u0144 nazw\u0119 menu\",\r\n \"returnText\": \"Zwr\u00F3\u0107 tekst\",\r\n \"save\": \"Ratowa\u0107\",\r\n \"select\": \"Wybiera\u0107\",\r\n \"selectAMenuDropBox\": \"Wybierz menu, wybierz opcj\u0119 przenie\u015B lub skopiuj. Uwa\u017Caj! U\u017Cytkownik musi by\u0107 aktywny w wybranym menu!\",\r\n \"selectTargetMenu\": \"Wybierz menu docelowe\",\r\n \"sendMenuAfterRestart\": \"Wy\u015Blij menu po ponownym uruchomieniu\",\r\n \"setAck\": \"Ustaw flag\u0119 potwierdzenia\",\r\n \"setDynamicValue\": \"Umo\u017Cliwia to zapisywanie warto\u015Bci dynamicznych w punktach danych. Wystarczy wykona\u0107 po\u0142\u0105czenie, a nast\u0119pnie wprowadzi\u0107 warto\u015B\u0107 w polu wej\u015Bciowym. RequestText: Tekst \u017C\u0105dania warto\u015Bci. Typ: typ warto\u015Bci (logiczna lub liczba). Potwierd\u017ATekst: Tekst potwierdzaj\u0105cy warto\u015B\u0107. ID: Je\u015Bli chcesz potwierdzi\u0107, \u017Ce pochodzisz z innego stanu, wprowad\u017A tutaj identyfikator. (jest to opcjonalne)\",\r\n \"setID\": \"Ustawia warto\u015B\u0107 identyfikatora na val, z potwierdzeniem (potwierdzone)\",\r\n \"setMenu\": \"Ustaw menu\",\r\n \"setWithAck\": \"Ustaw warto\u015B\u0107 za pomoc\u0105 flagi potwierdzenia\",\r\n \"settings\": \"Ustawienia\",\r\n \"startMenus\": \"Menu startowe\",\r\n \"startSide\": \"Strona startowa\",\r\n \"statusMenu\": \"Odpytuje warto\u015B\u0107 identyfikatora, a nast\u0119pnie zast\u0119puje j\u0105 warto\u015Bci\u0105, dzi\u0119ki czemu mo\u017Cna wok\u00F3\u0142 niego napisa\u0107 tekst, mo\u017Cna go r\u00F3wnie\u017C u\u017Cy\u0107 wi\u0119cej ni\u017C raz z rz\u0119du. Parametr true umo\u017Cliwia zmian\u0119 warto\u015Bci poprzez zmian\u0119 funkcji. Je\u015Bli nie zmienisz tej warto\u015Bci, musisz ustawi\u0107 j\u0105 na false, ale za tym kryje si\u0119 kolejne \u017C\u0105danie {status: ... ze zmian\u0105:true.\",\r\n \"submenu\": \"Podmenu\",\r\n \"switch\": \"Prze\u0142\u0105cznik\",\r\n \"switchCheckbox\": \"Prze\u0142\u0105cznik\",\r\n \"telegramInstance\": \"Instancja telegramu\",\r\n \"telegramUser\": \"U\u017Cytkownicy Telegramu\",\r\n \"text\": \"Tekst\",\r\n \"textNoEntry\": \"W przypadku braku wpisu zostanie wys\u0142any SMS!\",\r\n \"toggle\": \"D\u017Awignia kolankowa\",\r\n \"trigger\": \"Spust\",\r\n \"tsTimestamp\": \"Znacznik czasu. Konwertuje znacznik czasu Uniksa na czas lokalny, format mo\u017Cna zmieni\u0107 na przyk\u0142ad na DD.MM.RRRR YY gg:mm:ss:sss\",\r\n \"unusedTrigger\": \"Nieu\u017Cywany wyzwalacz\",\r\n \"url\": \"Adres URL\",\r\n \"usedTrigger\": \"U\u017Cywany spust\",\r\n \"user\": \"U\u017Cytkownik\",\r\n \"userList\": \"Lista u\u017Cytkownik\u00F3w\",\r\n \"userSelect\": \"Wybierz u\u017Cytkownika lub dezaktywuj Menu, aby m\u00F3c zapisa\u0107!\",\r\n \"value\": \"Warto\u015B\u0107\",\r\n \"valueRound\": \"Zaokr\u0105gla warto\u015B\u0107 na przyk\u0142ad do 2 miejsc po przecinku\",\r\n \"values\": \"Warto\u015Bci\",\r\n \"yes\": \"Tak\"\r\n}\r\n", "{\r\n \"ID\": \"ID\",\r\n \"IDs\": \"\u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440\u0438\",\r\n \"abort\": \"\u041F\u0435\u0440\u0435\u0440\u0432\u0430\u0442\u0438\",\r\n \"ack\": \"Ack\",\r\n \"action\": \"\u0414\u0456\u044F\",\r\n \"active\": \"\u0410\u043A\u0442\u0438\u0432\u043D\u0438\u0439\",\r\n \"activeMenu\": \"\u0410\u043A\u0442\u0438\u0432\u043D\u0435 \u043C\u0435\u043D\u044E:\",\r\n \"add\": \"\u0434\u043E\u0434\u0430\u0442\u0438\",\r\n \"addAction\": \"\u0414\u043E\u0434\u0430\u0442\u0438 \u043D\u043E\u0432\u0443 \u0434\u0456\u044E\",\r\n \"addMenu\": \"\u0414\u043E\u0434\u0430\u0439\u0442\u0435 \u043D\u043E\u0432\u0443 \u043D\u0430\u0437\u0432\u0443 \u043C\u0435\u043D\u044E\",\r\n \"binding\": \"\u041F\u0440\u0438\u0432\u2019\u044F\u0437\u043A\u0438: \u0441\u043F\u043E\u0447\u0430\u0442\u043A\u0443 Var \u0437 \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440\u043E\u043C, \u043F\u043E\u0442\u0456\u043C \u0443\u043C\u043E\u0432\u0430 \u0442\u0430 \u0442\u0435\u043A\u0441\u0442.\",\r\n \"breakpointNewline\": \"\u0422\u043E\u0447\u043A\u0430 \u0437\u0443\u043F\u0438\u043D\u0443 \u0434\u043B\u044F \u043D\u043E\u0432\u043E\u0433\u043E \u0440\u044F\u0434\u043A\u0430, \u0432\u0441\u0442\u0430\u0432\u0442\u0435 \u0446\u0435 \u043B\u0438\u0448\u0435 \u0432 \u0442\u0435\u043A\u0441\u0442\",\r\n \"call\": \"\u0422\u0435\u043B\u0435\u0444\u043E\u043D\u0443\u0439\u0442\u0435\",\r\n \"cancel\": \"\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438\",\r\n \"changeFunction\": \"\u0417\u043C\u0456\u043D\u044E\u0454 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 \u0442\u0435\u043A\u0441\u0442\u0456, \u0449\u043E \u043F\u043E\u0432\u0435\u0440\u0442\u0430\u0454\u0442\u044C\u0441\u044F, \u0443 \u0446\u044C\u043E\u043C\u0443 \u0432\u0438\u043F\u0430\u0434\u043A\u0443 \u0437 \u0456\u0441\u0442\u0438\u043D\u043D\u043E\u0433\u043E \u043D\u0430 \u0443\u0432\u0456\u043C\u043A\u043D\u0435\u043D\u0435 \u0442\u0430 \u0437 \u043D\u0435\u043F\u0440\u0430\u0432\u0434\u0438\u0432\u043E\u0433\u043E \u043D\u0430 \u0432\u0438\u043C\u043A\u043D\u0435\u043D\u0435\",\r\n \"chooseAction\": \"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0434\u0456\u044E\",\r\n \"close\": \"\u0417\u0430\u043A\u0440\u0438\u0442\u0438\",\r\n \"commonName\": \"\u0412\u0438\u0432\u043E\u0434\u0438\u0442\u044C \u043D\u0430\u0437\u0432\u0443 \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u0438\u0445\",\r\n \"condition\": \"\u0425\u0432\u043E\u0440\u043E\u0431\u0430\",\r\n \"conditionMenu\": \"\u0423\u043C\u043E\u0432\u0430 \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0442\u044F \u043C\u0435\u043D\u044E\",\r\n \"confirm\": \"\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0438\",\r\n \"confirmDelete\": \"\u0423\u0441\u0456 \u0434\u0430\u043D\u0456 \u0431\u0443\u0434\u0435 \u0432\u0442\u0440\u0430\u0447\u0435\u043D\u043E. \u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0438?\",\r\n \"confirmMessage\": \"\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u044C\u0442\u0435 \u043F\u043E\u0432\u0456\u0434\u043E\u043C\u043B\u0435\u043D\u043D\u044F\u043C\",\r\n \"confirmSet\": \"\u0423\u0432\u0430\u0433\u0430. \u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043B\u0438\u0448\u0435 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E, \u0430\u043B\u0435 \u0449\u0435 \u043D\u0435 \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043D\u043E \u0430\u0434\u0430\u043F\u0442\u0435\u0440\u043E\u043C. \u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u0438\u0434\u0430\u043B\u0438\u0442\u0438 noValue, \u0442\u043E\u0434\u0456 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u044C\u0441\u044F. \u041F\u043E\u0437\u0438\u0446\u0456\u044F && \u0437\u0430\u043C\u0456\u043D\u044E\u0454\u0442\u044C\u0441\u044F \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\u043C \u0430\u0431\u043E \u0431\u0443\u0434\u0435 \u0440\u043E\u0437\u043C\u0456\u0449\u0435\u043D\u043E \u0432 \u043A\u0456\u043D\u0446\u0456\",\r\n \"convertsUnixTimestamp\": \"\u041F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u044E\u0454 \u043C\u0456\u0442\u043A\u0443 \u0447\u0430\u0441\u0443 Unix \u043D\u0430 \u043C\u0456\u0441\u0446\u0435\u0432\u0438\u0439 \u0447\u0430\u0441\",\r\n \"copy\": \"\u041A\u043E\u043F\u0456\u044F\",\r\n \"createMenu\": \"\u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0441\u0442\u0432\u043E\u0440\u0456\u0442\u044C \u043C\u0435\u043D\u044E!\",\r\n \"delay\": \"\u0417\u0430\u0442\u0440\u0438\u043C\u043A\u0430 (\u043C\u0441)\",\r\n \"delete\": \"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438\",\r\n \"directory\": \"\u0414\u043E\u0432\u0456\u0434\u043D\u0438\u043A\",\r\n \"doubleTrigger\": \"\u0423 \u0432\u0430\u0441 \u0454 \u043F\u043E\u0434\u0432\u0456\u0439\u043D\u0456 \u0442\u0440\u0438\u0433\u0435\u0440\u0438, \u0431\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0432\u0438\u0434\u0430\u043B\u0456\u0442\u044C \u0457\u0445!\",\r\n \"edit\": \"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438\",\r\n \"entryNotFound\": \"\u0417\u0430\u043F\u0438\u0441 \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E!\",\r\n \"executedMenu\": \"\u0412\u0438\u043A\u043E\u043D\u0430\u043D\u0435 \u043C\u0435\u043D\u044E\",\r\n \"filename\": \"\u0406\u043C'\u044F \u0444\u0430\u0439\u043B\u0443\",\r\n \"hide\": \"\u0421\u0445\u043E\u0432\u0430\u0442\u0438\",\r\n \"identification\": \"\u0406\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0446\u0456\u044F\",\r\n \"inactive\": \"\u041D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u0438\u0439\",\r\n \"insertID\": \"\u0429\u043E\u0431 \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440, \u043F\u0440\u043E\u0441\u0442\u043E \u0441\u043F\u043E\u0447\u0430\u0442\u043A\u0443 \u0432\u0441\u0442\u0430\u0432\u0442\u0435 \u0431\u043B\u043E\u043A, \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440. \u041F\u043E\u0442\u0456\u043C \u0439\u043E\u0433\u043E \u0431\u0443\u0434\u0435 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E \u0432\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u043E \u0443 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u043D\u0435 \u043C\u0456\u0441\u0446\u0435, \u043D\u0430\u0432\u0456\u0442\u044C \u044F\u043A\u0449\u043E ID \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u043E \u0437\u043C\u0456\u043D\u0438\u0442\u0438. \u042F\u043A\u0449\u043E \u043A\u043E\u0434 \u043D\u0435 \u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u0454 \u0431\u043B\u043E\u043A, \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440 \u0434\u043E\u0434\u0430\u0454\u0442\u044C\u0441\u044F \u0432 \u043A\u0456\u043D\u0446\u0456.\",\r\n \"instance\": \"\u0415\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\",\r\n \"isSubmenu\": \"\u0426\u0435 \u043F\u0456\u0434\u043C\u0435\u043D\u044E!\",\r\n \"jsonShoppingList\": \"\u0422\u0435 \u0441\u0430\u043C\u0435, \u0449\u043E \u0439 \u0432\u0438\u0449\u0435, \u0430\u043B\u0435 \u043A\u043E\u043B\u0438 \u0432\u0438 \u043D\u0430\u0442\u0438\u0441\u043A\u0430\u0454\u0442\u0435 \u043A\u043D\u043E\u043F\u043A\u0443, \u0435\u043B\u0435\u043C\u0435\u043D\u0442 \u0431\u0443\u0434\u0435 \u0432\u0438\u0434\u0430\u043B\u0435\u043D\u043E, \u043A\u043B\u044E\u0447\u0435\u043C \u0434\u043B\u044F \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432 \u0454 `name:`, \u0432\u0438 \u0442\u0430\u043A\u043E\u0436 \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u043E\u0434\u0430\u0442\u0438 `time:`. \u0412\u0430\u0436\u043B\u0438\u0432\u043E!!! \\\"\u0441\u043F\u0438\u0441\u043E\u043A \u043F\u043E\u043A\u0443\u043F\u043E\u043A\\\" \u043D\u0435 \u043C\u043E\u0436\u043D\u0430 \u0437\u043C\u0456\u043D\u044E\u0432\u0430\u0442\u0438.\",\r\n \"jsonTable\": \"!!! \u0429\u043E\u0431 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0439\u043E\u0433\u043E, parseMode \u043D\u0435 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0430\u043A\u0442\u0438\u0432\u043D\u0438\u043C !!! \u0421\u0442\u0432\u043E\u0440\u044E\u0454 \u0442\u0430\u0431\u043B\u0438\u0446\u044E \u0437 JSON \u044F\u043A Text-Table. \u041F\u0435\u0440\u0448\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u2013 \u0446\u0435 \u043E\u0434\u0438\u043D \u043A\u043B\u044E\u0447 JSON, \u0430 \u0437\u0430 \u043D\u0438\u043C \u2013 \u043D\u0430\u0437\u0432\u0430 \u0441\u0442\u043E\u0432\u043F\u0446\u044F. \u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0431\u0456\u043B\u044C\u0448\u0435 \u0434\u0432\u043E\u0445 \u0437\u043D\u0430\u0447\u0435\u043D\u044C. \u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0437\u0430\u043F\u043E\u0432\u043D\u0435\u043D\u0438\u0439. \u041D\u0435 \u0437\u043C\u0456\u043D\u044E\u0439\u0442\u0435 TextTable.\",\r\n \"latitude\": \"\u0428\u0438\u0440\u043E\u0442\u0430\",\r\n \"lcTimestamp\": \"LastChange. \u041F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u044E\u0454 \u043C\u0456\u0442\u043A\u0443 \u0447\u0430\u0441\u0443 Unix \u043D\u0430 \u043C\u0456\u0441\u0446\u0435\u0432\u0438\u0439 \u0447\u0430\u0441, \u0444\u043E\u0440\u043C\u0430\u0442 \u043C\u043E\u0436\u043D\u0430 \u0437\u043C\u0456\u043D\u0438\u0442\u0438, \u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, \u043D\u0430 \u0414\u0414.\u041C\u041C.\u0420\u0420\u0420\u0420 \u0420\u0420 \u0433\u043E\u0434:\u0445\u0445:\u0441\u0441:\u0441\u0441\",\r\n \"linkedWith\": \"\u041F\u043E\u0432'\u044F\u0437\u0430\u043D\u0438\u0439 \u0437:\",\r\n \"longitude\": \"\u0414\u043E\u0432\u0433\u043E\u0442\u0430\",\r\n \"manuallyValue\": \"\u0426\u0435 \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u0454 \u0432\u0440\u0443\u0447\u043D\u0443 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0432 \u043F\u043E\u0454\u0434\u043D\u0430\u043D\u043D\u0456 \u0437\u0456 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\u043C ID, \u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434: staticValue{id:ID}staticValue\",\r\n \"math\": \"\u041F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u044E\u0454 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F, /10 \u043C\u043E\u0436\u043D\u0430 \u0437\u0430\u043C\u0456\u043D\u0438\u0442\u0438\",\r\n \"menu\": \"\u041C\u0435\u043D\u044E\",\r\n \"menuBack\": \"\u041F\u0440\u0438 \u043D\u0430\u0442\u0438\u0441\u043A\u0430\u043D\u043D\u0456 \u0432\u0456\u0434\u0431\u0443\u0432\u0430\u0454\u0442\u044C\u0441\u044F \u043F\u043E\u0432\u0435\u0440\u043D\u0435\u043D\u043D\u044F \u0434\u043E \u043F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u044C\u043E\u0433\u043E \u043C\u0435\u043D\u044E\",\r\n \"menuDeleteAll\": \"\u0413\u0435\u043D\u0435\u0440\u0443\u0454 \u043A\u043D\u043E\u043F\u043A\u0443 \u0434\u043B\u044F \u0432\u0438\u0434\u0430\u043B\u0435\u043D\u043D\u044F \u0432\u0441\u0456\u0445 \u043F\u043E\u0432\u0456\u0434\u043E\u043C\u043B\u0435\u043D\u044C \u0432\u0456\u0434 \u0431\u043E\u0442\u0430. \u041D\u0430\u0432\u0456\u0433\u0430\u0446\u0456\u044F \u043D\u0435\u043E\u0431\u043E\u0432'\u044F\u0437\u043A\u043E\u0432\u0430. \u041F\u0440\u043E\u0441\u0442\u043E \u0437\u0430\u043B\u0438\u0448\u0442\u0435 \u0446\u0435 \u043F\u043E\u043B\u0435 \u043F\u043E\u0440\u043E\u0436\u043D\u0456\u043C, \u0456\u043D\u0430\u043A\u0448\u0435 \u0432\u0438 \u0437\u043C\u043E\u0436\u0435\u0442\u0435 \u0443\u0432\u0456\u0439\u0442\u0438 \u0432 \u043C\u0435\u043D\u044E, \u044F\u043A\u0435 \u0441\u043B\u0456\u0434 \u0432\u0438\u043A\u043B\u0438\u043A\u0430\u0442\u0438.\",\r\n \"menuDynamicSwitch\": \"\u0413\u0435\u043D\u0435\u0440\u0443\u0454 \u043A\u0456\u043B\u044C\u043A\u0430 \u043A\u043D\u043E\u043F\u043E\u043A, \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043C\u043E\u0436\u043D\u0430 \u0432\u0441\u0442\u0430\u0432\u043B\u044F\u0442\u0438 \u043E\u043A\u0440\u0435\u043C\u043E. \u0417\u0430\u043C\u0456\u043D\u0456\u0442\u044C TRIGGER \u043D\u0430 \u0443\u043D\u0456\u043A\u0430\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F. LengthOfRow \u0454 \u043D\u0435\u043E\u0431\u043E\u0432\u2019\u044F\u0437\u043A\u043E\u0432\u0438\u043C \u0456 \u043C\u043E\u0436\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u0434\u043B\u044F \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044F \u043A\u0456\u043B\u044C\u043A\u043E\u0441\u0442\u0456 \u043A\u043D\u043E\u043F\u043E\u043A \u0443 \u0440\u044F\u0434\u043A\u0443.
    \u041A\u0440\u0438\u0442\u043E\u0432\u0430 \u0437\u043C\u0456\u043D\u0430!!! \u00A0 \u0417\u043C\u0456\u043D\u0456\u0442\u044C \u0432\u0440\u0443\u0447\u043D\u0443: `[Name1:Value1, Name2:Value2]` \u043D\u0430 `[Name1|Value1, Name2|Value2]`. \u0414\u0435\u0441\u044F\u0442\u043A\u043E\u0432\u0456 \u0447\u0438\u0441\u043B\u0430 \u0442\u0435\u043F\u0435\u0440 \u0442\u0430\u043A\u043E\u0436 \u043C\u043E\u0436\u043D\u0430 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u044F\u043A \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F.\",\r\n \"menuList\": \"\u0421\u043F\u0438\u0441\u043E\u043A \u043C\u0435\u043D\u044E\",\r\n \"menuNumber\": \"\u041D\u043E\u043C\u0435\u0440\u0438 \u043C\u043E\u0436\u043D\u0430 \u043F\u043E\u0432\u043D\u0456\u0441\u0442\u044E \u043F\u043E\u043C\u0456\u043D\u044F\u0442\u0438. 0-6 \u0432\u043A\u0430\u0437\u0443\u0454 \u043D\u0430 \u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D, \u0430 1 \u2014 \u043D\u0430 \u0440\u043E\u0437\u043C\u0456\u0440 \u043A\u0440\u043E\u043A\u0443, UNIT \u0437\u0430\u043C\u0456\u043D\u044E\u0454\u0442\u044C\u0441\u044F \u043E\u0434\u0438\u043D\u0438\u0446\u0435\u044E, \u0430\u043B\u0435 \u0439\u043E\u0433\u043E \u043C\u043E\u0436\u043D\u0430 \u0437\u0430\u043B\u0438\u0448\u0438\u0442\u0438 \u043F\u0443\u0441\u0442\u0438\u043C. \u0417\u0430\u043C\u0456\u043D\u0456\u0442\u044C TRIGGER \u043D\u0430 \u0443\u043D\u0456\u043A\u0430\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F.\",\r\n \"menuPercent\": \"10 \u043C\u043E\u0436\u043D\u0430 \u0437\u0430\u043C\u0456\u043D\u0438\u0442\u0438 \u0456 \u0432\u043A\u0430\u0437\u0443\u0454 \u043D\u0430 \u0440\u043E\u0437\u043C\u0456\u0440 \u043A\u0440\u043E\u043A\u0443 0%, 10%, 20%...! \u0417\u0430\u043C\u0456\u043D\u0456\u0442\u044C TRIGGER \u043D\u0430 \u0443\u043D\u0456\u043A\u0430\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F. \u0426\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454\u0442\u044C\u0441\u044F \u0432 \u0434\u0456\u0457 SetState. \u0412\u0432\u0435\u0434\u0456\u0442\u044C \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u0438\u0439 ID. \u041D\u0438\u0436\u0447\u0435 \u0432\u0430\u0440\u0442\u043E\u0441\u0442\u0456! \u0432\u0441\u0442\u0430\u0432\u043A\u0430\",\r\n \"menuSwitch\": \"\u0421\u0442\u0432\u043E\u0440\u044E\u0454 \u0434\u0432\u0456 \u043A\u043D\u043E\u043F\u043A\u0438, \u0443 \u0446\u044C\u043E\u043C\u0443 \u0432\u0438\u043F\u0430\u0434\u043A\u0443 \u0443\u0432\u0456\u043C\u043A\u043D\u0435\u043D\u043D\u044F \u0442\u0430 \u0432\u0438\u043C\u043A\u043D\u0435\u043D\u043D\u044F \u0437 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u043D\u0438\u043C\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\u043C\u0438 true \u0442\u0430 false. \u0417\u0430\u043C\u0456\u043D\u0456\u0442\u044C TRIGGER \u043D\u0430 \u0443\u043D\u0456\u043A\u0430\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F.\",\r\n \"menuToCopy\": \"\u0421\u043F\u043E\u0447\u0430\u0442\u043A\u0443 \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043C\u0435\u043D\u044E, \u0434\u043E \u044F\u043A\u043E\u0433\u043E \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u043E \u0441\u043A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438 \u0434\u0430\u043D\u0456. \u041F\u043E\u0442\u0456\u043C \u0440\u044F\u0434\u043E\u043A, \u0434\u0435 \u0439\u043E\u0433\u043E \u0441\u043B\u0456\u0434 \u0434\u043E\u0434\u0430\u0442\u0438. \u042F\u043A\u0449\u043E \u0434\u0430\u043D\u0438\u0445 \u0449\u0435 \u043D\u0435\u043C\u0430\u0454, \u043D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u00AB\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438\u00BB, \u0456 \u0432\u0456\u043D \u0431\u0443\u0434\u0435 \u0441\u0442\u0432\u043E\u0440\u0435\u043D\u0438\u0439 \u043F\u0456\u0441\u043B\u044F \u0437\u0430\u043F\u0438\u0442\u0443 \u043D\u0430 \u043D\u043E\u0432\u0443 \u043D\u0430\u0437\u0432\u0443 \u0442\u0440\u0438\u0433\u0435\u0440\u0430.\",\r\n \"modifiedSubmenuValue\": \"\u0426\u0435 \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u0454 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043C\u043E\u0434\u0438\u0444\u0456\u043A\u043E\u0432\u0430\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043F\u0456\u0434\u043C\u0435\u043D\u044E \u0432 \u043F\u043E\u0454\u0434\u043D\u0430\u043D\u043D\u0456 \u0437\u0456 \u0441\u0442\u0430\u0442\u0438\u0447\u043D\u043E\u044E \u0447\u0430\u0441\u0442\u0438\u043D\u043E\u044E, \u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434: staticValue{value}staticValue\",\r\n \"navigation\": \"\u041D\u0430\u0432\u0456\u0433\u0430\u0446\u0456\u044F\",\r\n \"navigationButtons\": \"\u041A\u043D\u043E\u043F\u043A\u0438 \u043D\u0430\u0432\u0456\u0433\u0430\u0446\u0456\u0457\",\r\n \"newlineCheckbox\": \"\u041D\u043E\u0432\u0438\u0439 \u0440\u044F\u0434\u043E\u043A\",\r\n \"no\": \"\u043D\u0435\u043C\u0430\u0454\",\r\n \"noValue\": \"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043D\u0435 \u0432\u043A\u0430\u0437\u0430\u043D\u043E \u0432 \u0442\u0435\u043A\u0441\u0442\u0456 \u043F\u043E\u0432\u0435\u0440\u043D\u0435\u043D\u043D\u044F\",\r\n \"notifiedByChangeOfAnotherState\": \"\u042F\u043A\u0449\u043E \u0432\u0438 \u0445\u043E\u0447\u0435\u0442\u0435 \u043E\u0442\u0440\u0438\u043C\u0443\u0432\u0430\u0442\u0438 \u0441\u043F\u043E\u0432\u0456\u0449\u0435\u043D\u043D\u044F \u043F\u0440\u043E \u0437\u043C\u0456\u043D\u0443 \u0456\u043D\u0448\u043E\u0457 \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u0438\u0445 \u043F\u0456\u0441\u043B\u044F \u0442\u043E\u0433\u043E, \u044F\u043A \u0432\u0438 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u043B\u0438 \u0442\u043E\u0447\u043A\u0443 \u0434\u0430\u043D\u0438\u0445 \u0443 \u043F\u043E\u043B\u0456 \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440\u0430. \u0417\u043C\u0456\u043D\u0443 \u0431\u0443\u0434\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0441\u043F\u0456\u043B\u044C\u043D\u0438\u0439 \u0434\u043E\u0441\u0442\u0443\u043F, \u043B\u0438\u0448\u0435 \u044F\u043A\u0449\u043E \u0434\u043B\u044F \u043D\u0435\u0457 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E ack:true. \u041E\u0431\u043E\u0432\u2019\u044F\u0437\u043A\u043E\u0432\u043E \u0432\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u0442\u0435\u043A\u0441\u0442 \u043F\u043E\u0437\u0430 {}, \u0456\u043D\u0430\u043A\u0448\u0435 \u0432\u0456\u043D \u0431\u0443\u0434\u0435 \u0434\u043E\u0434\u0430\u043D\u043E \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E.\",\r\n \"ok\": \"\u0434\u043E\u0431\u0440\u0435\",\r\n \"oneTimeKey\": \"\u041F\u0440\u043E\u0441\u0438\u0442\u044C \u043A\u043B\u0456\u0454\u043D\u0442\u0456\u0432 \u0437\u043C\u0456\u043D\u0438\u0442\u0438 \u0440\u043E\u0437\u043C\u0456\u0440 \u043A\u043B\u0430\u0432\u0456\u0430\u0442\u0443\u0440\u0438 \u043F\u043E \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u0456 \u0434\u043B\u044F \u043E\u043F\u0442\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u043F\u0440\u0438\u043F\u0430\u0441\u0443\u0432\u0430\u043D\u043D\u044F (\u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, \u0437\u0440\u043E\u0431\u0438\u0442\u0438 \u043A\u043B\u0430\u0432\u0456\u0430\u0442\u0443\u0440\u0443 \u043C\u0435\u043D\u0448\u043E\u044E, \u044F\u043A\u0449\u043E \u0454 \u043B\u0438\u0448\u0435 \u0434\u0432\u0430 \u0440\u044F\u0434\u0438 \u043A\u043D\u043E\u043F\u043E\u043A). \u0417\u0430 \u0437\u0430\u043C\u043E\u0432\u0447\u0443\u0432\u0430\u043D\u043D\u044F\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F false, \u0443 \u0446\u044C\u043E\u043C\u0443 \u0432\u0438\u043F\u0430\u0434\u043A\u0443 \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0430 \u043A\u043B\u0430\u0432\u0456\u0430\u0442\u0443\u0440\u0430 \u0437\u0430\u0432\u0436\u0434\u0438 \u043C\u0430\u0454 \u0442\u0443 \u0441\u0430\u043C\u0443 \u0432\u0438\u0441\u043E\u0442\u0443, \u0449\u043E \u0439 \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0430 \u043A\u043B\u0430\u0432\u0456\u0430\u0442\u0443\u0440\u0430 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u0438.\",\r\n \"overview\": \"\u041E\u0433\u043B\u044F\u0434\",\r\n \"parseMode\": \"\u0420\u0435\u0436\u0438\u043C \u0430\u043D\u0430\u043B\u0456\u0437\u0443 HTML\",\r\n \"parseModeBold\": \"\u0422\u0435\u043A\u0441\u0442 \u0443 \u0440\u0435\u0436\u0438\u043C\u0456 \u0430\u043D\u0430\u043B\u0456\u0437\u0443 \u0432\u0438\u0434\u0456\u043B\u044F\u0454\u0442\u044C\u0441\u044F \u0436\u0438\u0440\u043D\u0438\u043C \u0448\u0440\u0438\u0444\u0442\u043E\u043C\",\r\n \"parseModeCode\": \"\u0422\u0435\u043A\u0441\u0442 \u0443 Parse-Mode \u0454 \u043A\u043E\u0434\u043E\u043C\",\r\n \"parseModeItalic\": \"\u0422\u0435\u043A\u0441\u0442 \u0443 \u0440\u0435\u0436\u0438\u043C\u0456 \u0430\u043D\u0430\u043B\u0456\u0437\u0443 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043E \u043A\u0443\u0440\u0441\u0438\u0432\u043E\u043C\",\r\n \"parseModeLink\": \"\u0422\u0435\u043A\u0441\u0442 \u0443 \u0440\u0435\u0436\u0438\u043C\u0456 \u0430\u043D\u0430\u043B\u0456\u0437\u0443 \u0454 \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F\u043C\",\r\n \"password\": \"\u041F\u0430\u0440\u043E\u043B\u044C\",\r\n \"percent\": \"\u0412\u0456\u0434\u0441\u043E\u0442\u043E\u043A\",\r\n \"picSendDelay\": \"\u0417\u0430\u0442\u0440\u0438\u043C\u043A\u0430 \u043D\u0430\u0434\u0441\u0438\u043B\u0430\u043D\u043D\u044F \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F\",\r\n \"placeholderInstance\": \"--\u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0435\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u0442\u0435\u043B\u0435\u0433\u0440\u0430\u043C\u0438--\",\r\n \"placeholderValue\": \"\u0417\u0430\u043F\u043E\u0432\u043D\u044E\u0432\u0430\u0447 \u0434\u043B\u044F \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\",\r\n \"reallyDelete\": \"\u0412\u0438 \u0441\u043F\u0440\u0430\u0432\u0434\u0456 \u0445\u043E\u0447\u0435\u0442\u0435 \u0446\u0435 \u0432\u0438\u0434\u0430\u043B\u0438\u0442\u0438?\",\r\n \"renameMenu\": \"\u041F\u0435\u0440\u0435\u0439\u043C\u0435\u043D\u0443\u0432\u0430\u0442\u0438 \u043D\u0430\u0437\u0432\u0443 \u043C\u0435\u043D\u044E\",\r\n \"returnText\": \"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\",\r\n \"save\": \"\u0437\u0431\u0435\u0440\u0435\u0433\u0442\u0438\",\r\n \"select\": \"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C\",\r\n \"selectAMenuDropBox\": \"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043C\u0435\u043D\u044E, \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0430\u0431\u043E \u0441\u043A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438. \u041E\u0431\u0435\u0440\u0435\u0436\u043D\u043E! \u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447 \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0431\u0443\u0442\u0438 \u0430\u043A\u0442\u0438\u0432\u043D\u0438\u043C \u0443 \u0432\u0438\u0431\u0440\u0430\u043D\u043E\u043C\u0443 \u043C\u0435\u043D\u044E!\",\r\n \"selectTargetMenu\": \"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0446\u0456\u043B\u044C\u043E\u0432\u0435 \u043C\u0435\u043D\u044E\",\r\n \"sendMenuAfterRestart\": \"\u041D\u0430\u0434\u0456\u0441\u043B\u0430\u0442\u0438 \u043C\u0435\u043D\u044E \u043F\u0456\u0441\u043B\u044F \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u043A\u0443\",\r\n \"setAck\": \"\u0412\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043F\u0440\u0430\u043F\u043E\u0440 \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043D\u043D\u044F\",\r\n \"setDynamicValue\": \"\u0426\u0435 \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u0454 \u0437\u0430\u043F\u0438\u0441\u0443\u0432\u0430\u0442\u0438 \u0434\u0438\u043D\u0430\u043C\u0456\u0447\u043D\u0456 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0432 \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u0438\u0445. \u041F\u0440\u043E\u0441\u0442\u043E \u0437\u0430\u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443\u0439\u0442\u0435, \u0430 \u043F\u043E\u0442\u0456\u043C \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u0432\u0435\u0441\u0442\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0432 \u043F\u043E\u043B\u0435 \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F. RequestText: \u0442\u0435\u043A\u0441\u0442 \u0434\u043B\u044F \u0437\u0430\u043F\u0438\u0442\u0443 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F. \u0422\u0438\u043F: \u0442\u0438\u043F \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F (\u043B\u043E\u0433\u0456\u0447\u043D\u0435 \u0430\u0431\u043E \u0447\u0438\u0441\u043B\u043E\u0432\u0435). ConfirmText: \u0422\u0435\u043A\u0441\u0442 \u0434\u043B\u044F \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043D\u043D\u044F \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F. ID: \u044F\u043A\u0449\u043E \u0432\u0438 \u0445\u043E\u0447\u0435\u0442\u0435 \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0438 \u0437 \u0456\u043D\u0448\u043E\u0433\u043E \u0448\u0442\u0430\u0442\u0443, \u0432\u0432\u0435\u0434\u0456\u0442\u044C \u0442\u0443\u0442 \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440. (\u0426\u0435 \u043D\u0435\u043E\u0431\u043E\u0432\u2019\u044F\u0437\u043A\u043E\u0432\u043E)\",\r\n \"setID\": \"\u0412\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u044E\u0454 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440\u0430 \u044F\u043A val \u0437 ack(confirmed)\",\r\n \"setMenu\": \"\u0412\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043C\u0435\u043D\u044E\",\r\n \"setWithAck\": \"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0456\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0437\u0430 \u0434\u043E\u043F\u043E\u043C\u043E\u0433\u043E\u044E ack-Flag\",\r\n \"settings\": \"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F\",\r\n \"startMenus\": \"\u041C\u0435\u043D\u044E \u00AB\u041F\u0443\u0441\u043A\u00BB.\",\r\n \"startSide\": \"\u0421\u0442\u0430\u0440\u0442\u043E\u0432\u0430 \u0441\u0442\u043E\u0440\u043E\u043D\u0430\",\r\n \"statusMenu\": \"\u0417\u0430\u043F\u0438\u0442\u0443\u0454 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440\u0430, \u0430 \u043F\u043E\u0442\u0456\u043C \u0437\u0430\u043C\u0456\u043D\u044E\u0454 \u0439\u043E\u0433\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\u043C, \u0442\u043E\u043C\u0443 \u043D\u0430\u0432\u043A\u043E\u043B\u043E \u043D\u044C\u043E\u0433\u043E \u043C\u043E\u0436\u043D\u0430 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u0438 \u0442\u0435\u043A\u0441\u0442, \u0439\u043E\u0433\u043E \u0442\u0430\u043A\u043E\u0436 \u043C\u043E\u0436\u043D\u0430 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u043A\u0456\u043B\u044C\u043A\u0430 \u0440\u0430\u0437\u0456\u0432 \u043F\u043E\u0441\u043F\u0456\u043B\u044C. \u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 true \u2014 \u0446\u0435 \u043C\u043E\u0436\u043B\u0438\u0432\u0456\u0441\u0442\u044C \u0437\u043C\u0456\u043D\u0438\u0442\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0448\u043B\u044F\u0445\u043E\u043C \u0437\u043C\u0456\u043D\u0438 \u0444\u0443\u043D\u043A\u0446\u0456\u0457. \u0412\u0438 \u043F\u043E\u0432\u0438\u043D\u043D\u0456 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F false, \u044F\u043A\u0449\u043E \u0432\u0438 \u043D\u0435 \u0437\u043C\u0456\u043D\u044E\u0454\u0442\u0435 \u0446\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F, \u0430\u043B\u0435 \u0437\u0430 \u0446\u0438\u043C \u0454 \u0456\u043D\u0448\u0438\u0439 {status: ... \u0437\u0430\u043F\u0438\u0442 \u0456\u0437 change:true.\",\r\n \"submenu\": \"\u041F\u0456\u0434\u043C\u0435\u043D\u044E\",\r\n \"switch\": \"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u0447\",\r\n \"switchCheckbox\": \"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u0447\",\r\n \"telegramInstance\": \"\u041F\u0440\u0438\u043C\u0456\u0440\u043D\u0438\u043A Telegram\",\r\n \"telegramUser\": \"\u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0456 \u0437 Telegram\",\r\n \"text\": \"\u0442\u0435\u043A\u0441\u0442\",\r\n \"textNoEntry\": \"\u0422\u0435\u043A\u0441\u0442 \u0431\u0443\u0434\u0435 \u043D\u0430\u0434\u0456\u0441\u043B\u0430\u043D\u043E, \u044F\u043A\u0449\u043E \u0437\u0430\u043F\u0438\u0441 \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E!\",\r\n \"toggle\": \"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u0447\",\r\n \"trigger\": \"\u0422\u0440\u0438\u0433\u0435\u0440\",\r\n \"tsTimestamp\": \"TimeStamp. \u041F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u044E\u0454 \u043C\u0456\u0442\u043A\u0443 \u0447\u0430\u0441\u0443 Unix \u043D\u0430 \u043C\u0456\u0441\u0446\u0435\u0432\u0438\u0439 \u0447\u0430\u0441, \u0444\u043E\u0440\u043C\u0430\u0442 \u043C\u043E\u0436\u043D\u0430 \u0437\u043C\u0456\u043D\u0438\u0442\u0438, \u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, \u043D\u0430 \u0414\u0414.\u041C\u041C.\u0420\u0420\u0420\u0420 \u0420\u0420 \u0433\u043E\u0434:\u0445\u0445:\u0441\u0441:\u0441\u0441\",\r\n \"unusedTrigger\": \"\u041D\u0435\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u0438\u0439 \u0442\u0440\u0438\u0433\u0435\u0440\",\r\n \"url\": \"URL\",\r\n \"usedTrigger\": \"\u0422\u0440\u0438\u0433\u0435\u0440 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u0438\u0439\",\r\n \"user\": \"\u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\",\r\n \"userList\": \"\u0421\u043F\u0438\u0441\u043E\u043A \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0456\u0432\",\r\n \"userSelect\": \"\u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430 \u0430\u0431\u043E \u0434\u0435\u0430\u043A\u0442\u0438\u0432\u0443\u0439\u0442\u0435 \u043C\u0435\u043D\u044E, \u0431\u043E \u0432\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0437\u0431\u0435\u0440\u0435\u0433\u0442\u0438!\",\r\n \"value\": \"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F\",\r\n \"valueRound\": \"\u041E\u043A\u0440\u0443\u0433\u043B\u044E\u0454 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F, \u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, \u0434\u043E 2 \u0437\u043D\u0430\u043A\u0456\u0432 \u043F\u0456\u0441\u043B\u044F \u043A\u043E\u043C\u0438\",\r\n \"values\": \"\u0426\u0456\u043D\u043D\u043E\u0441\u0442\u0456\",\r\n \"yes\": \"\u0442\u0430\u043A\"\r\n}\r\n", "{\r\n \"ID\": \"ID\",\r\n \"IDs\": \"ID\",\r\n \"abort\": \"\u4E2D\u6B62\",\r\n \"ack\": \"\u786E\u8BA4\",\r\n \"action\": \"\u884C\u52A8\",\r\n \"active\": \"\u79EF\u6781\u7684\",\r\n \"activeMenu\": \"\u6D3B\u52A8\u83DC\u5355\uFF1A\",\r\n \"add\": \"\u6DFB\u52A0\",\r\n \"addAction\": \"\u6DFB\u52A0\u65B0\u52A8\u4F5C\",\r\n \"addMenu\": \"\u6DFB\u52A0\u65B0\u83DC\u5355\u540D\u79F0\",\r\n \"binding\": \"\u7ED1\u5B9A\uFF1A\u9996\u5148\u662F\u5E26\u6709 id \u7684 Var\uFF0C\u7136\u540E\u662F\u6761\u4EF6\u548C\u6587\u672C\u3002\",\r\n \"breakpointNewline\": \"\u65B0\u884C\u7684\u65AD\u70B9\uFF0C\u4EC5\u5C06\u5176\u63D2\u5165\u6587\u672C\u4E2D\",\r\n \"call\": \"\u79F0\u547C\",\r\n \"cancel\": \"\u53D6\u6D88\",\r\n \"changeFunction\": \"\u66F4\u6539\u8FD4\u56DE\u6587\u672C\u4E2D\u7684\u503C\uFF0C\u5728\u672C\u4F8B\u4E2D\u4ECE true \u66F4\u6539\u4E3A on\uFF0C\u5C06 false \u66F4\u6539\u4E3A off\",\r\n \"chooseAction\": \"\u9009\u62E9\u4E00\u4E2A\u52A8\u4F5C\",\r\n \"close\": \"\u5173\u95ED\",\r\n \"commonName\": \"\u8F93\u51FA\u6570\u636E\u70B9\u7684\u540D\u79F0\",\r\n \"condition\": \"\u5065\u5EB7\uFF09\u72B6\u51B5\",\r\n \"conditionMenu\": \"\u6253\u5F00\u83DC\u5355\u7684\u6761\u4EF6\",\r\n \"confirm\": \"\u786E\u8BA4\",\r\n \"confirmDelete\": \"\u6240\u6709\u6570\u636E\u90FD\u5C06\u4E22\u5931\u3002\u786E\u8BA4\uFF1F\",\r\n \"confirmMessage\": \"\u77ED\u4FE1\u786E\u8BA4\",\r\n \"confirmSet\": \"\u6CE8\u610F\u529B\u3002\u8BE5\u503C\u4EC5\u88AB\u8BBE\u7F6E\uFF0C\u4F46\u5C1A\u672A\u88AB\u9002\u914D\u5668\u786E\u8BA4\u3002\u60A8\u53EF\u4EE5\u5220\u9664 noValue\uFF0C\u7136\u540E\u5C06\u663E\u793A\u8BE5\u503C\u3002\u4F4D\u7F6E && \u66FF\u6362\u4E3A Value \u6216\u5C06\u653E\u5728\u672B\u5C3E\",\r\n \"convertsUnixTimestamp\": \"\u5C06 Unix \u65F6\u95F4\u6233\u8F6C\u6362\u4E3A\u672C\u5730\u65F6\u95F4\",\r\n \"copy\": \"\u590D\u5236\",\r\n \"createMenu\": \"\u8BF7\u521B\u5EFA\u4E00\u4E2A\u83DC\u5355\uFF01\",\r\n \"delay\": \"\u5EF6\u8FDF\uFF08\u6BEB\u79D2\uFF09\",\r\n \"delete\": \"\u5220\u9664\",\r\n \"directory\": \"\u76EE\u5F55\",\r\n \"doubleTrigger\": \"\u60A8\u6709\u53CC\u89E6\u53D1\u5668\uFF0C\u8BF7\u5220\u9664\u5B83\u4EEC\uFF01\",\r\n \"edit\": \"\u7F16\u8F91\",\r\n \"entryNotFound\": \"\u672A\u627E\u5230\u6761\u76EE\uFF01\",\r\n \"executedMenu\": \"\u6267\u884C\u83DC\u5355\",\r\n \"filename\": \"\u6587\u4EF6\u540D\",\r\n \"hide\": \"\u9690\u85CF\",\r\n \"identification\": \"\u9274\u522B\",\r\n \"inactive\": \"\u4E0D\u6D3B\u8DC3\",\r\n \"insertID\": \"\u8981\u63D2\u5165 ID\uFF0C\u53EA\u9700\u5148\u63D2\u5165\u5757\uFF0C\u7136\u540E\u9009\u62E9 ID\u3002\u5373\u4F7F\u8981\u66F4\u6539 ID\uFF0C\u4E5F\u4F1A\u81EA\u52A8\u5C06\u5176\u63D2\u5165\u5230\u9002\u5F53\u7684\u4F4D\u7F6E\u3002\u5982\u679C\u4EE3\u7801\u65E0\u6CD5\u8BC6\u522B\u8BE5\u5757\uFF0C\u5219\u5C06 ID \u9644\u52A0\u5230\u672B\u5C3E\u3002\",\r\n \"instance\": \"\u5B9E\u4F8B\",\r\n \"isSubmenu\": \"\u8FD9\u662F\u4E00\u4E2A\u5B50\u83DC\u5355\uFF01\",\r\n \"jsonShoppingList\": \"\u4E0E\u4E0A\u9762\u76F8\u540C\uFF0C\u4F46\u662F\u5F53\u60A8\u5355\u51FB\u6309\u94AE\u65F6\uFF0C\u8BE5\u9879\u76EE\u5C06\u88AB\u5220\u9664\uFF0C\u9879\u76EE\u7684 Key \u662F `name:`\uFF0C\u60A8\u4E5F\u53EF\u4EE5\u6DFB\u52A0 `time:`\u3002 \u91CD\u8981\uFF01\uFF01\uFF01\u201C\u8D2D\u7269\u6E05\u5355\u201D\u53EF\u80FD\u65E0\u6CD5\u66F4\u6539\u3002\",\r\n \"jsonTable\": \"!!!\u8981\u4F7F\u7528\u5B83\uFF0CparseMode \u4E00\u5B9A\u4E0D\u80FD\u5904\u4E8E\u6D3B\u52A8\u72B6\u6001\uFF01\u4ECE JSON \u521B\u5EFA\u4E00\u4E2A\u8868\u4F5C\u4E3A\u6587\u672C\u8868\u3002\u7B2C\u4E00\u4E2A\u503C\u662F JSON \u7684\u4E00\u4E2A\u952E\uFF0C\u540E\u9762\u662F\u5217\u7684\u540D\u79F0\u3002\u60A8\u53EF\u4EE5\u4F7F\u7528\u4E24\u4E2A\u4EE5\u4E0A\u7684\u503C\u3002\u5FC5\u987B\u586B\u5199\u6807\u9898\u3002\u4E0D\u8981\u66F4\u6539 TextTable\u3002\",\r\n \"latitude\": \"\u7EAC\u5EA6\",\r\n \"lcTimestamp\": \"\u6700\u540E\u66F4\u6539\u3002\u5C06 Unix \u65F6\u95F4\u6233\u8F6C\u6362\u4E3A\u672C\u5730\u65F6\u95F4\uFF0C\u683C\u5F0F\u53EF\u4EE5\u66F4\u6539\uFF0C\u4F8B\u5982 DD.MM.YYYY YY hh:mm:ss:sss\",\r\n \"linkedWith\": \"\u4E0E\u4EE5\u4E0B\u94FE\u63A5\uFF1A\",\r\n \"longitude\": \"\u7ECF\u5EA6\",\r\n \"manuallyValue\": \"\u8FD9\u5141\u8BB8\u60A8\u7ED3\u5408 ID \u503C\u624B\u52A8\u8BBE\u7F6E\u503C\uFF0C\u5982\u4E0B\u6240\u793A\uFF1AstaticValue{id:ID}staticValue\",\r\n \"math\": \"\u8F6C\u6362\u6570\u503C\uFF0C/10\u53EF\u4EE5\u66FF\u6362\",\r\n \"menu\": \"\u83DC\u5355\",\r\n \"menuBack\": \"\u5F53\u6309\u4E0B\u65F6\uFF0C\u60A8\u8DF3\u56DE\u5230\u4E0A\u4E00\u4E2A\u83DC\u5355\",\r\n \"menuDeleteAll\": \"\u751F\u6210\u4E00\u4E2A\u6309\u94AE\u4EE5\u5220\u9664\u673A\u5668\u4EBA\u4E2D\u7684\u6240\u6709\u6D88\u606F\u3002\u5BFC\u822A\u662F\u53EF\u9009\u7684\u3002\u53EA\u9700\u5C06\u5176\u7559\u7A7A\uFF0C\u5426\u5219\u60A8\u53EF\u4EE5\u8F93\u5165\u5E94\u8C03\u7528\u7684\u83DC\u5355\u3002\",\r\n \"menuDynamicSwitch\": \"\u751F\u6210\u4E58\u6CD5\u6309\u94AE\uFF0C\u53EF\u4EE5\u5355\u72EC\u63D2\u5165\u503C\u3002\u5C06 TRIGGER \u66FF\u6362\u4E3A\u552F\u4E00\u503C\u3002 LengthOfRow \u662F\u53EF\u9009\u7684\uFF0C\u53EF\u7528\u4E8E\u8BBE\u7F6E\u6BCF\u884C\u7684\u6309\u94AE\u6570\u91CF\u3002
    \u91CD\u5927\u66F4\u6539!!! \u00A0 \u8BF7\u624B\u52A8\u5C06\u201C[Name1:Value1, Name2:Value2]\u201D\u66F4\u6539\u4E3A\u201C[Name1|Value1, Name2|Value2]\u201D\u3002\u5341\u8FDB\u5236\u6570\u73B0\u5728\u4E5F\u53EF\u4EE5\u7528\u4F5C\u503C\u3002\",\r\n \"menuList\": \"\u83DC\u5355\u5217\u8868\",\r\n \"menuNumber\": \"\u53F7\u7801\u53EF\u4EE5\u5B8C\u5168\u4E92\u6362\u3002 0-6\u8868\u793A\u8303\u56F4\uFF0C1\u8868\u793A\u6B65\u957F\uFF0CUNIT\u7528\u5355\u4F4D\u4EE3\u66FF\uFF0C\u4F46\u4E5F\u53EF\u4EE5\u7559\u7A7A\u3002\u5C06 TRIGGER \u66FF\u6362\u4E3A\u552F\u4E00\u503C\u3002\",\r\n \"menuPercent\": \"10\u53EF\u4EE5\u66FF\u6362\uFF0C\u8868\u793A\u6B65\u957F0%\u300110%\u300120%...\uFF01\u5C06 TRIGGER \u66FF\u6362\u4E3A\u552F\u4E00\u503C\u3002\u8FD9\u5728\u64CD\u4F5C SetState \u4E2D\u4F7F\u7528\u3002\u8F93\u5165\u6240\u9700\u7684 ID\u3002\u4F4E\u4E8E\u4EF7\u503C\uFF01\u63D2\u5165\",\r\n \"menuSwitch\": \"\u751F\u6210\u4E24\u4E2A\u6309\u94AE\uFF0C\u5728\u672C\u4F8B\u4E2D\u4E3A\u6253\u5F00\u548C\u5173\u95ED\uFF0C\u5176\u503C\u5206\u522B\u4E3A true \u548C false\u3002\u5C06 TRIGGER \u66FF\u6362\u4E3A\u552F\u4E00\u503C\u3002\",\r\n \"menuToCopy\": \"\u9996\u5148\u9009\u62E9\u8981\u5C06\u6570\u636E\u590D\u5236\u5230\u7684\u83DC\u5355\u3002\u7136\u540E\u662F\u5E94\u8BE5\u6DFB\u52A0\u7684\u884C\u3002\u5982\u679C\u8FD8\u6CA1\u6709\u6570\u636E\uFF0C\u70B9\u51FB\u4FDD\u5B58\uFF0C\u67E5\u8BE2\u65B0\u7684\u89E6\u53D1\u5668\u540D\u79F0\u540E\u5C31\u4F1A\u521B\u5EFA\u3002\",\r\n \"modifiedSubmenuValue\": \"\u8FD9\u5141\u8BB8\u60A8\u7ED3\u5408\u9759\u6001\u90E8\u5206\u8BBE\u7F6E\u4FEE\u6539\u540E\u7684\u5B50\u83DC\u5355\u503C\uFF0C\u5982\u4E0B\u6240\u793A\uFF1AstaticValue{value}staticValue\",\r\n \"navigation\": \"\u5BFC\u822A\",\r\n \"navigationButtons\": \"\u5BFC\u822A\u6309\u94AE\",\r\n \"newlineCheckbox\": \"\u6362\u884C\u7B26\",\r\n \"no\": \"\u4E0D\",\r\n \"noValue\": \"\u8FD4\u56DE\u6587\u672C\u4E2D\u672A\u6307\u5B9A\u503C\",\r\n \"notifiedByChangeOfAnotherState\": \"\u5982\u679C\u60A8\u5728 ID \u8F93\u5165\u5B57\u6BB5\u4E2D\u8BBE\u7F6E\u6570\u636E\u70B9\u540E\u5E0C\u671B\u6536\u5230\u53E6\u4E00\u4E2A\u6570\u636E\u70B9\u66F4\u6539\u7684\u901A\u77E5\u3002\u4EC5\u5F53\u8BBE\u7F6E\u4E86 ack:true \u65F6\uFF0C\u66F4\u6539\u624D\u4F1A\u88AB\u5171\u4EAB\u3002\u5FC5\u987B\u5728 {} \u4E4B\u5916\u6307\u5B9A\u6587\u672C\uFF0C\u5426\u5219\u5C06\u81EA\u52A8\u6DFB\u52A0\u3002\",\r\n \"ok\": \"\u597D\u7684\",\r\n \"oneTimeKey\": \"\u8981\u6C42\u5BA2\u6237\u5782\u76F4\u8C03\u6574\u952E\u76D8\u5927\u5C0F\u4EE5\u83B7\u5F97\u6700\u4F73\u914D\u5408\uFF08\u4F8B\u5982\uFF0C\u5982\u679C\u53EA\u6709\u4E24\u884C\u6309\u94AE\uFF0C\u5219\u7F29\u5C0F\u952E\u76D8\uFF09\u3002\u9ED8\u8BA4\u4E3A false\uFF0C\u5728\u8FD9\u79CD\u60C5\u51B5\u4E0B\uFF0C\u81EA\u5B9A\u4E49\u952E\u76D8\u59CB\u7EC8\u4E0E\u5E94\u7528\u7A0B\u5E8F\u7684\u6807\u51C6\u952E\u76D8\u5177\u6709\u76F8\u540C\u7684\u9AD8\u5EA6\u3002\",\r\n \"overview\": \"\u6982\u8FF0\",\r\n \"parseMode\": \"\u89E3\u6790\u6A21\u5F0F HTML\",\r\n \"parseModeBold\": \"\u89E3\u6790\u6A21\u5F0F\u4E0B\u7684\u6587\u672C\u4E3A\u7C97\u4F53\",\r\n \"parseModeCode\": \"\u89E3\u6790\u6A21\u5F0F\u4E0B\u7684\u6587\u672C\u662F\u4EE3\u7801\",\r\n \"parseModeItalic\": \"\u89E3\u6790\u6A21\u5F0F\u4E0B\u7684\u6587\u672C\u4E3A\u659C\u4F53\",\r\n \"parseModeLink\": \"\u89E3\u6790\u6A21\u5F0F\u4E0B\u7684\u6587\u672C\u662F\u94FE\u63A5\",\r\n \"password\": \"\u5BC6\u7801\",\r\n \"percent\": \"\u767E\u5206\u6BD4\",\r\n \"picSendDelay\": \"\u56FE\u7247\u53D1\u9001\u5EF6\u8FDF\",\r\n \"placeholderInstance\": \"--\u8BF7\u9009\u62E9\u4E00\u4E2A\u7535\u62A5\u5B9E\u4F8B--\",\r\n \"placeholderValue\": \"\u503C\u7684\u5360\u4F4D\u7B26\",\r\n \"reallyDelete\": \"\u60A8\u771F\u7684\u8981\u5220\u9664\u8FD9\u4E2A\u5417\uFF1F\",\r\n \"renameMenu\": \"\u91CD\u547D\u540D\u83DC\u5355\u540D\u79F0\",\r\n \"returnText\": \"\u8FD4\u56DE\u6587\u672C\",\r\n \"save\": \"\u8282\u7701\",\r\n \"select\": \"\u9009\u62E9\",\r\n \"selectAMenuDropBox\": \"\u9009\u62E9\u4E00\u4E2A\u83DC\u5355\uFF0C\u9009\u62E9\u79FB\u52A8\u6216\u590D\u5236\u3002\u5F53\u5FC3\uFF01\u7528\u6237\u5FC5\u987B\u5728\u6240\u9009\u83DC\u5355\u4E2D\u5904\u4E8E\u6D3B\u52A8\u72B6\u6001\uFF01\",\r\n \"selectTargetMenu\": \"\u9009\u62E9\u76EE\u6807\u83DC\u5355\",\r\n \"sendMenuAfterRestart\": \"\u91CD\u542F\u540E\u53D1\u9001\u83DC\u5355\",\r\n \"setAck\": \"\u8BBE\u7F6E\u786E\u8BA4\u6807\u5FD7\",\r\n \"setDynamicValue\": \"\u8FD9\u5141\u8BB8\u60A8\u5C06\u52A8\u6001\u503C\u5199\u5165\u6570\u636E\u70B9\u3002\u53EA\u9700\u62E8\u6253\u7535\u8BDD\uFF0C\u7136\u540E\u60A8\u5C31\u53EF\u4EE5\u5728\u8F93\u5165\u5B57\u6BB5\u4E2D\u8F93\u5165\u503C\u3002 RequestText\uFF1A\u8BF7\u6C42\u503C\u7684\u6587\u672C\u3002\u7C7B\u578B\uFF1A\u503C\u7684\u7C7B\u578B\uFF08\u5E03\u5C14\u503C\u6216\u6570\u5B57\uFF09\u3002\u786E\u8BA4\u6587\u672C\uFF1A\u7528\u4E8E\u786E\u8BA4\u503C\u7684\u6587\u672C\u3002 ID\uFF1A\u5982\u679C\u60A8\u60F3\u4ECE\u5176\u4ED6\u5DDE\u786E\u8BA4\uFF0C\u8BF7\u5728\u6B64\u5904\u8F93\u5165 ID\u3002\uFF08\u8FD9\u662F\u53EF\u9009\u7684\uFF09\",\r\n \"setID\": \"\u5C06ID\u7684\u503C\u8BBE\u7F6E\u4E3Aval\uFF0C\u5E26\u6709ack\uFF08\u5DF2\u786E\u8BA4\uFF09\",\r\n \"setMenu\": \"\u5957\u9910\",\r\n \"setWithAck\": \"\u4F7F\u7528 ack-Flag \u8BBE\u7F6E\u503C\",\r\n \"settings\": \"\u8BBE\u7F6E\",\r\n \"startMenus\": \"\u5F00\u59CB\u83DC\u5355\",\r\n \"startSide\": \"\u8D77\u59CB\u9762\",\r\n \"statusMenu\": \"\u67E5\u8BE2ID\u7684\u503C\uFF0C\u7136\u540E\u5C06\u5176\u66FF\u6362\u4E3A\u503C\uFF0C\u56E0\u6B64\u53EF\u4EE5\u5728\u5176\u5468\u56F4\u5199\u5165\u6587\u672C\uFF0C\u4E5F\u53EF\u4EE5\u8FDE\u7EED\u591A\u6B21\u4F7F\u7528\u5B83\u3002\u53C2\u6570 true \u662F\u901A\u8FC7\u51FD\u6570\u66F4\u6539\u6765\u66F4\u6539\u503C\u7684\u9009\u9879\u3002\u5982\u679C\u60A8\u4E0D\u66F4\u6539\u6B64\u503C\uFF0C\u5219\u5FC5\u987B\u5C06\u5176\u8BBE\u7F6E\u4E3A false\uFF0C\u4F46\u5728\u8FD9\u540E\u9762\u8FD8\u6709\u53E6\u4E00\u4E2A\u5E26\u6709change:true \u7684 {status: ... \u8BF7\u6C42\u3002\",\r\n \"submenu\": \"\u5B50\u83DC\u5355\",\r\n \"switch\": \"\u8F6C\u53D8\",\r\n \"switchCheckbox\": \"\u8F6C\u53D8\",\r\n \"telegramInstance\": \"\u7535\u62A5\u5B9E\u4F8B\",\r\n \"telegramUser\": \"\u6765\u81EA Telegram \u7684\u7528\u6237\",\r\n \"text\": \"\u6587\u672C\",\r\n \"textNoEntry\": \"\u5982\u679C\u672A\u627E\u5230\u6761\u76EE\uFF0C\u5C06\u53D1\u9001\u6587\u672C\uFF01\",\r\n \"toggle\": \"\u5207\u6362\",\r\n \"trigger\": \"\u6273\u673A\",\r\n \"tsTimestamp\": \"\u65F6\u95F4\u6233\u3002\u5C06 Unix \u65F6\u95F4\u6233\u8F6C\u6362\u4E3A\u672C\u5730\u65F6\u95F4\uFF0C\u683C\u5F0F\u53EF\u4EE5\u66F4\u6539\uFF0C\u4F8B\u5982 DD.MM.YYYY YY hh:mm:ss:sss\",\r\n \"unusedTrigger\": \"\u672A\u4F7F\u7528\u7684\u89E6\u53D1\u5668\",\r\n \"url\": \"\u7F51\u5740\",\r\n \"usedTrigger\": \"\u4F7F\u7528\u8FC7\u7684\u89E6\u53D1\u5668\",\r\n \"user\": \"\u7528\u6237\",\r\n \"userList\": \"\u7528\u6237\u5217\u8868\",\r\n \"userSelect\": \"\u8BF7\u9009\u62E9\u4E00\u4E2A\u7528\u6237\uFF0C\u6216\u505C\u7528\u83DC\u5355\uFF0C\u7136\u540E\u624D\u80FD\u4FDD\u5B58\uFF01\",\r\n \"value\": \"\u4EF7\u503C\",\r\n \"valueRound\": \"\u4F8B\u5982\uFF0C\u5C06\u503C\u56DB\u820D\u4E94\u5165\u5230\u5C0F\u6570\u70B9\u540E\u4E24\u4F4D\",\r\n \"values\": \"\u4EF7\u503C\u89C2\",\r\n \"yes\": \"\u662F\u7684\"\r\n}\r\n"], - "mappings": "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EACA,aAAc,CACZ,SAAU,qBACV,MAAOC,EACT,EAEA,MAAO,CACL,SAAU,UACV,UAAWC,EACb,EACA,QAAS,CACP,SAAU,UACV,YAAa,kBACb,UAAWA,EACb,EACA,gBAAiB,CACf,SAAU,UACV,UAAWA,EACb,EAEA,EAAG,CACD,MAAOC,EACT,EACA,GAAI,CACF,MAAOA,EACT,EACA,GAAI,CACF,MAAOA,EACT,EACA,GAAI,CACF,MAAOA,EACT,EACA,GAAI,CACF,MAAOA,EACT,EACA,GAAI,CACF,MAAOA,EACT,EACA,GAAI,CACF,MAAOA,EACT,EACA,QAAS,CACP,MAAOA,EACT,EACA,WAAY,CACV,MAAOA,EACT,EACA,aAAc,CACZ,MAAOA,EACT,EACA,cAAe,CACb,MAAOA,EACT,EACA,YAAa,CACX,MAAOA,EACT,EACA,SAAU,CACR,MAAOA,EACT,EACA,SAAU,CACR,MAAOA,EACT,EACA,cAAe,CACb,MAAOA,EACT,EACA,mBAAoB,CAClB,MAAOA,EACT,EACA,iBAAkB,CAChB,MAAOA,EACT,EACA,aAAc,CACZ,MAAOA,EACT,EACA,kBAAmB,CACjB,MAAOA,EACT,EACA,gBAAiB,CACf,MAAOA,EACT,EACA,EAAG,CACD,MAAOC,EACT,EACA,GAAI,CACF,MAAOA,EACT,EACA,GAAI,CACF,MAAOA,EACT,EACA,GAAI,CACF,MAAOA,EACT,EACA,GAAI,CACF,MAAOA,EACT,EACA,GAAI,CACF,MAAOA,EACT,EACA,GAAI,CACF,MAAOA,EACT,EACA,OAAQ,CACN,MAAOA,EACT,EACA,UAAW,CACT,MAAOA,EACT,EACA,YAAa,CACX,MAAOA,EACT,EACA,aAAc,CACZ,MAAOA,EACT,EACA,WAAY,CACV,MAAOA,EACT,EACA,QAAS,CACP,MAAOA,EACT,EACA,QAAS,CACP,MAAOA,EACT,EACA,aAAc,CACZ,MAAOA,EACT,EACA,kBAAmB,CACjB,MAAOA,EACT,EACA,gBAAiB,CACf,MAAOA,EACT,EACA,YAAa,CACX,MAAOA,EACT,EACA,iBAAkB,CAChB,MAAOA,EACT,EACA,eAAgB,CACd,MAAOA,EACT,EAEA,aAAc,CACZ,YAAa,GACb,UAAWC,IAAU,CACnB,eAAgB,CACd,QAASA,CACX,CACF,EACF,EACA,QAAS,CAAC,EACV,SAAU,CAAC,EACX,aAAc,CAAC,EACf,WAAY,CAAC,EACb,WAAY,CAAC,EAEb,UAAW,CAAC,EACZ,cAAe,CAAC,EAChB,SAAU,CAAC,EACX,eAAgB,CAAC,EACjB,WAAY,CAAC,EACb,aAAc,CAAC,EACf,MAAO,CAAC,EACR,KAAM,CAAC,EACP,SAAU,CAAC,EACX,WAAY,CAAC,EACb,UAAW,CAAC,EACZ,aAAc,CAAC,EACf,YAAa,CAAC,EAEd,IAAK,CACH,MAAOC,EACT,EACA,OAAQ,CACN,MAAOC,EACT,EACA,UAAW,CACT,MAAOC,EACT,EACA,WAAY,CAAC,EACb,QAAS,CAAC,EACV,aAAc,CAAC,EACf,gBAAiB,CAAC,EAClB,aAAc,CAAC,EACf,oBAAqB,CAAC,EACtB,iBAAkB,CAAC,EACnB,kBAAmB,CAAC,EACpB,SAAU,CAAC,EAEX,SAAU,CAAC,EACX,OAAQ,CACN,SAAU,QACZ,EACA,IAAK,CAAC,EACN,MAAO,CAAC,EACR,OAAQ,CAAC,EACT,KAAM,CAAC,EAEP,UAAW,CACT,SAAU,SACZ,EAEA,MAAO,CACL,UAAWC,EACb,EACA,SAAU,CACR,MAAOC,EACT,EACA,SAAU,CACR,UAAWD,EACb,EACA,OAAQ,CACN,UAAWA,EACb,EACA,UAAW,CACT,UAAWA,EACb,EACA,UAAW,CACT,UAAWA,EACb,EACA,UAAW,CAAC,EAEZ,KAAM,CACJ,SAAU,MACZ,EACA,WAAY,CACV,SAAU,YACZ,EACA,SAAU,CACR,SAAU,YACZ,EACA,UAAW,CACT,SAAU,YACZ,EACA,WAAY,CACV,SAAU,YACZ,EACA,cAAe,CAAC,EAChB,cAAe,CAAC,EAChB,WAAY,CAAC,EACb,UAAW,CAAC,EACZ,WAAY,CACV,YAAa,GACb,SAAU,YACZ,CACF,EACOE,GAAQZ,IC/Rf,SAASa,OAAuBC,EAAS,CACvC,IAAMC,EAAUD,EAAQ,OAAO,CAACE,EAAMC,IAAWD,EAAK,OAAO,OAAO,KAAKC,CAAM,CAAC,EAAG,CAAC,CAAC,EAC/EC,EAAQ,IAAI,IAAIH,CAAO,EAC7B,OAAOD,EAAQ,MAAMG,GAAUC,EAAM,OAAS,OAAO,KAAKD,CAAM,EAAE,MAAM,CAC1E,CACA,SAASE,IAASC,EAASC,EAAK,CAC9B,OAAO,OAAOD,GAAY,WAAaA,EAAQC,CAAG,EAAID,CACxD,CAGO,SAASE,KAAiC,CAC/C,SAASC,EAAcC,EAAMC,EAAKC,EAAOC,EAAQ,CAC/C,IAAMC,EAAQ,CACZ,CAACJ,CAAI,EAAGC,EACR,MAAAC,CACF,EACMG,EAAUF,EAAOH,CAAI,EAC3B,GAAI,CAACK,EACH,MAAO,CACL,CAACL,CAAI,EAAGC,CACV,EAEF,GAAM,CACJ,YAAAK,EAAcN,EACd,SAAAO,EACA,UAAAC,EACA,MAAAC,CACF,EAAIJ,EACJ,GAAIJ,GAAO,KACT,OAAO,KAIT,GAAIM,IAAa,cAAgBN,IAAQ,UACvC,MAAO,CACL,CAACD,CAAI,EAAGC,CACV,EAEF,IAAMS,EAAeC,GAAQT,EAAOK,CAAQ,GAAK,CAAC,EAClD,OAAIE,EACKA,EAAML,CAAK,EAebQ,GAAkBR,EAAOH,EAbLY,GAAkB,CAC3C,IAAIC,EAAQC,GAASL,EAAcF,EAAWK,CAAc,EAK5D,OAJIA,IAAmBC,GAAS,OAAOD,GAAmB,WAExDC,EAAQC,GAASL,EAAcF,EAAW,GAAGR,CAAI,GAAGa,IAAmB,UAAY,GAAKG,GAAWH,CAAc,CAAC,GAAIA,CAAc,GAElIP,IAAgB,GACXQ,EAEF,CACL,CAACR,CAAW,EAAGQ,CACjB,CACF,CACuD,CACzD,CACA,SAASG,EAAgBb,EAAO,CA/DlC,IAAAc,EAgEI,GAAM,CACJ,GAAAC,EACA,MAAAjB,EAAQ,CAAC,CACX,EAAIE,GAAS,CAAC,EACd,GAAI,CAACe,EACH,OAAO,KAET,IAAMhB,GAASe,EAAAhB,EAAM,oBAAN,KAAAgB,EAA2BE,GAO1C,SAASC,EAASC,EAAS,CACzB,IAAIC,EAAWD,EACf,GAAI,OAAOA,GAAY,WACrBC,EAAWD,EAAQpB,CAAK,UACf,OAAOoB,GAAY,SAE5B,OAAOA,EAET,GAAI,CAACC,EACH,OAAO,KAET,IAAMC,EAAmBC,GAA4BvB,EAAM,WAAW,EAChEwB,EAAkB,OAAO,KAAKF,CAAgB,EAChDG,EAAMH,EACV,cAAO,KAAKD,CAAQ,EAAE,QAAQK,GAAY,CACxC,IAAMd,EAAQnB,IAAS4B,EAASK,CAAQ,EAAG1B,CAAK,EAChD,GAAIY,GAAU,KACZ,GAAI,OAAOA,GAAU,SACnB,GAAIX,EAAOyB,CAAQ,EACjBD,EAAME,GAAMF,EAAK5B,EAAc6B,EAAUd,EAAOZ,EAAOC,CAAM,CAAC,MACzD,CACL,IAAM2B,EAAoBlB,GAAkB,CAC1C,MAAAV,CACF,EAAGY,EAAOiB,IAAM,CACd,CAACH,CAAQ,EAAGG,CACd,EAAE,EACE1C,IAAoByC,EAAmBhB,CAAK,EAC9Ca,EAAIC,CAAQ,EAAIX,EAAgB,CAC9B,GAAIH,EACJ,MAAAZ,CACF,CAAC,EAEDyB,EAAME,GAAMF,EAAKG,CAAiB,CAEtC,MAEAH,EAAME,GAAMF,EAAK5B,EAAc6B,EAAUd,EAAOZ,EAAOC,CAAM,CAAC,CAGpE,CAAC,EACM6B,GAAqB9B,EAAO+B,GAAwBP,EAAiBC,CAAG,CAAC,CAClF,CACA,OAAO,MAAM,QAAQR,CAAE,EAAIA,EAAG,IAAIE,CAAQ,EAAIA,EAASF,CAAE,CAC3D,CACA,OAAOF,CACT,CACA,IAAMA,GAAkBnB,IAA+B,EACvDmB,GAAgB,YAAc,CAAC,IAAI,EACnC,IAAOiB,GAAQjB,GCpEA,SAARkB,GAA6BC,EAAKC,EAAQ,CA1DjD,IAAAC,EA4DE,IAAMC,EAAQ,KACd,GAAIA,EAAM,KAAM,CACd,GAAI,GAACD,EAAAC,EAAM,eAAN,MAAAD,EAAqBF,KAAQ,OAAOG,EAAM,wBAA2B,WACxE,MAAO,CAAC,EAGV,IAAIC,EAAWD,EAAM,uBAAuBH,CAAG,EAC/C,OAAII,IAAa,IACRH,IAELG,EAAS,SAAS,OAAO,GAAKA,EAAS,SAAS,GAAG,KAErDA,EAAW,WAAWA,EAAS,QAAQ,QAAS,EAAE,CAAC,OAE9C,CACL,CAACA,CAAQ,EAAGH,CACd,EACF,CACA,OAAIE,EAAM,QAAQ,OAASH,EAClBC,EAEF,CAAC,CACV,CC1EA,SAASI,IAAYC,EAAU,CAAC,KAAMC,EAAM,CAC1C,GAAM,CACJ,YAAaC,EAAmB,CAAC,EACjC,QAASC,EAAe,CAAC,EACzB,QAASC,EACT,MAAOC,EAAa,CAAC,EACrB,GAAGC,CACL,EAAIN,EACEO,EAAcC,GAAkBN,CAAgB,EAChDO,EAAUC,GAAcN,CAAY,EACtCO,EAAWC,GAAU,CACvB,YAAAL,EACA,UAAW,MACX,WAAY,CAAC,EAEb,QAAS,CACP,KAAM,QACN,GAAGJ,CACL,EACA,QAAAM,EACA,MAAO,CACL,GAAGI,GACH,GAAGR,CACL,CACF,EAAGC,CAAK,EACR,OAAAK,EAAWG,GAAoBH,CAAQ,EACvCA,EAAS,YAAcI,GACvBJ,EAAWV,EAAK,OAAO,CAACe,EAAKC,IAAaL,GAAUI,EAAKC,CAAQ,EAAGN,CAAQ,EAC5EA,EAAS,kBAAoB,CAC3B,GAAGO,GACH,GAAGZ,GAAA,YAAAA,EAAO,iBACZ,EACAK,EAAS,YAAc,SAAYQ,EAAO,CACxC,OAAOC,GAAgB,CACrB,GAAID,EACJ,MAAO,IACT,CAAC,CACH,EACOR,CACT,CACA,IAAOU,GAAQtB,IC9Cf,IAAAuB,GAAuB,OAEvB,SAASC,IAAcC,EAAK,CAC1B,OAAO,OAAO,KAAKA,CAAG,EAAE,SAAW,CACrC,CACA,SAASC,IAASC,EAAe,KAAM,CACrC,IAAMC,EAAqB,cAAWC,EAAY,EAClD,MAAO,CAACD,GAAgBJ,IAAcI,CAAY,EAAID,EAAeC,CACvE,CACA,IAAOE,GAAQJ,ICPR,IAAMK,IAAqBC,GAAY,EAC9C,SAASC,IAASC,EAAeH,IAAoB,CACnD,OAAOI,GAAuBD,CAAY,CAC5C,CACA,IAAOE,GAAQH,ItBFf,IAAAI,GAA4B,OAC5B,SAASC,IAAa,CACpB,OAAAC,EACA,QAAAC,EACA,aAAAC,EAAe,CAAC,CAClB,EAAG,CACD,IAAMC,EAAaC,GAASF,CAAY,EAClCG,EAAe,OAAOL,GAAW,WAAaA,EAAOC,GAAUE,EAAWF,CAAO,GAAKE,CAAuB,EAAIH,EACvH,SAAoB,GAAAM,KAAKP,GAAiB,CACxC,OAAQM,CACV,CAAC,CACH,CAmBA,IAAOE,GAAQR,IuBlCf,IAAMS,IAAaC,GAAS,CAF5B,IAAAC,EAAAC,EAGE,IAAMC,EAAS,CACb,YAAa,CAAC,EACd,WAAY,CAAC,CACf,EACMC,GAASF,GAAAD,EAAAD,GAAA,YAAAA,EAAO,QAAP,YAAAC,EAAc,oBAAd,KAAAC,EAAmCG,GAClD,cAAO,KAAKL,CAAK,EAAE,QAAQM,GAAQ,CAC7BF,EAAOE,CAAI,EACbH,EAAO,YAAYG,CAAI,EAAIN,EAAMM,CAAI,EAErCH,EAAO,WAAWG,CAAI,EAAIN,EAAMM,CAAI,CAExC,CAAC,EACMH,CACT,EACe,SAARI,GAA8BP,EAAO,CAC1C,GAAM,CACJ,GAAIQ,EACJ,GAAGC,CACL,EAAIT,EACE,CACJ,YAAAU,EACA,WAAAC,CACF,EAAIZ,IAAWU,CAAK,EAChBG,EACJ,OAAI,MAAM,QAAQJ,CAAI,EACpBI,EAAU,CAACF,EAAa,GAAGF,CAAI,EACtB,OAAOA,GAAS,WACzBI,EAAU,IAAIC,IAAS,CACrB,IAAMV,EAASK,EAAK,GAAGK,CAAI,EAC3B,OAAKC,GAAcX,CAAM,EAGlB,CACL,GAAGO,EACH,GAAGP,CACL,EALSO,CAMX,EAEAE,EAAU,CACR,GAAGF,EACH,GAAGF,CACL,EAEK,CACL,GAAGG,EACH,GAAIC,CACN,CACF,CClDA,IAAMG,GAAmBC,GAAiBA,EACpCC,IAA2B,IAAM,CACrC,IAAIC,EAAWH,GACf,MAAO,CACL,UAAUI,EAAW,CACnBD,EAAWC,CACb,EACA,SAASH,EAAe,CACtB,OAAOE,EAASF,CAAa,CAC/B,EACA,OAAQ,CACNE,EAAWH,EACb,CACF,CACF,EACMK,IAAqBH,IAAyB,EAC7CI,GAAQD,ICdf,IAAAE,GAAuB,OAKvB,IAAAC,GAA4B,OACb,SAARC,GAA2BC,EAAU,CAAC,EAAG,CAC9C,GAAM,CACJ,QAAAC,EACA,aAAAC,EACA,iBAAAC,EAAmB,cACnB,kBAAAC,CACF,EAAIJ,EACEK,EAAUC,GAAO,MAAO,CAC5B,kBAAmBC,GAAQA,IAAS,SAAWA,IAAS,MAAQA,IAAS,IAC3E,CAAC,EAAEC,EAAe,EAgBlB,OAf+B,cAAW,SAAaC,EAASC,EAAK,CACnE,IAAMC,EAAQC,GAASV,CAAY,EAC7B,CACJ,UAAAW,EACA,UAAAC,EAAY,MACZ,GAAGC,CACL,EAAIC,GAAaP,CAAO,EACxB,SAAoB,GAAAQ,KAAKZ,EAAS,CAChC,GAAIS,EACJ,IAAKJ,EACL,UAAWQ,EAAKL,EAAWT,EAAoBA,EAAkBD,CAAgB,EAAIA,CAAgB,EACrG,MAAOF,GAAUU,EAAMV,CAAO,GAAKU,EACnC,GAAGI,CACL,CAAC,CACH,CAAC,CAEH,CCjCO,IAAMI,IAAqB,CAChC,OAAQ,SACR,QAAS,UACT,UAAW,YACX,SAAU,WACV,MAAO,QACP,SAAU,WACV,QAAS,UACT,aAAc,eACd,KAAM,OACN,SAAU,WACV,SAAU,WACV,SAAU,UACZ,EACe,SAARC,GAAsCC,EAAeC,EAAMC,EAAoB,MAAO,CAC3F,IAAMC,EAAmBL,IAAmBG,CAAI,EAChD,OAAOE,EAAmB,GAAGD,CAAiB,IAAIC,CAAgB,GAAK,GAAGC,GAAmB,SAASJ,CAAa,CAAC,IAAIC,CAAI,EAC9H,CCjBe,SAARI,GAAwCC,EAAeC,EAAOC,EAAoB,MAAO,CAC9F,IAAMC,EAAS,CAAC,EAChB,OAAAF,EAAM,QAAQG,GAAQ,CACpBD,EAAOC,CAAI,EAAIC,GAAqBL,EAAeI,EAAMF,CAAiB,CAC5E,CAAC,EACMC,CACT,CCNe,SAARG,GAAkCC,EAAO,CAC9C,GAAM,CACJ,SAAAC,EACA,GAAGC,CACL,EAAIF,EACEG,EAAS,CACb,SAAAF,EACA,MAAOG,GAAyBF,CAAK,EACrC,YAAa,EACf,EAGA,OAAIC,EAAO,QAAUD,GAGjBD,GACFA,EAAS,QAAQI,GAAW,CACtB,OAAOA,EAAQ,OAAU,aAC3BA,EAAQ,MAAQD,GAAyBC,EAAQ,KAAK,EAE1D,CAAC,EAEIF,CACT,CCZO,IAAMG,IAAqBC,GAAY,EAGvC,SAASC,GAAkBC,EAAM,CACtC,OAAOA,IAAS,cAAgBA,IAAS,SAAWA,IAAS,MAAQA,IAAS,IAChF,CACA,SAASC,IAAyBC,EAAM,CACtC,OAAKA,EAGE,CAACC,EAAQC,IAAWA,EAAOF,CAAI,EAF7B,IAGX,CACA,SAASG,IAAYC,EAAOC,EAASC,EAAc,CACjDF,EAAM,MAAQG,IAAcH,EAAM,KAAK,EAAIE,EAAeF,EAAM,MAAMC,CAAO,GAAKD,EAAM,KAC1F,CACA,SAASI,GAAaJ,EAAOK,EAAO,CAUlC,IAAMC,EAAgB,OAAOD,GAAU,WAAaA,EAAML,CAAK,EAAIK,EACnE,GAAI,MAAM,QAAQC,CAAa,EAC7B,OAAOA,EAAc,QAAQC,GAAYH,GAAaJ,EAAOO,CAAQ,CAAC,EAExE,GAAI,MAAM,QAAQD,GAAA,YAAAA,EAAe,QAAQ,EAAG,CAC1C,IAAIE,EACJ,GAAIF,EAAc,YAChBE,EAAYF,EAAc,UACrB,CACL,GAAM,CACJ,SAAAG,EACA,GAAGC,CACL,EAAIJ,EACJE,EAAYE,CACd,CACA,OAAOC,GAAqBX,EAAOM,EAAc,SAAU,CAACE,CAAS,CAAC,CACxE,CACA,OAAIF,GAAA,MAAAA,EAAe,YACVA,EAAc,MAEhBA,CACT,CACA,SAASK,GAAqBX,EAAOS,EAAUG,EAAU,CAAC,EAAG,CA3D7D,IAAAC,EA4DE,IAAIC,EAEJC,EAAa,QAASC,EAAI,EAAGA,EAAIP,EAAS,OAAQO,GAAK,EAAG,CACxD,IAAMC,EAAUR,EAASO,CAAC,EAC1B,GAAI,OAAOC,EAAQ,OAAU,YAM3B,GALAH,GAAA,OAAAA,EAAgB,CACd,GAAGd,EACH,GAAGA,EAAM,WACT,WAAYA,EAAM,UACpB,GACI,CAACiB,EAAQ,MAAMH,CAAW,EAC5B,aAGF,SAAWI,KAAOD,EAAQ,MACxB,GAAIjB,EAAMkB,CAAG,IAAMD,EAAQ,MAAMC,CAAG,KAAKL,EAAAb,EAAM,aAAN,YAAAa,EAAmBK,MAASD,EAAQ,MAAMC,CAAG,EACpF,SAASH,EAIX,OAAOE,EAAQ,OAAU,YAC3BH,GAAA,OAAAA,EAAgB,CACd,GAAGd,EACH,GAAGA,EAAM,WACT,WAAYA,EAAM,UACpB,GACAY,EAAQ,KAAKK,EAAQ,MAAMH,CAAW,CAAC,GAEvCF,EAAQ,KAAKK,EAAQ,KAAK,CAE9B,CACA,OAAOL,CACT,CACe,SAARO,GAA8BC,EAAQ,CAAC,EAAG,CAC/C,GAAM,CACJ,QAAAnB,EACA,aAAAC,EAAeX,IACf,sBAAA8B,EAAwB5B,GACxB,sBAAA6B,EAAwB7B,EAC1B,EAAI2B,EACJ,SAASG,EAAiBvB,EAAO,CAC/BD,IAAYC,EAAOC,EAASC,CAAY,CAC1C,CAqIA,MApIe,CAACsB,EAAKC,EAAe,CAAC,IAAM,CAGzCC,GAAaF,EAAK1B,GAAUA,EAAO,OAAOO,GAASA,IAAUsB,EAAe,CAAC,EAC7E,GAAM,CACJ,KAAMC,EACN,KAAMC,EACN,qBAAsBC,EACtB,OAAQC,EAGR,kBAAAC,EAAoBrC,IAAyBsC,IAAqBJ,CAAa,CAAC,EAChF,GAAGK,CACL,EAAIT,EAGEU,EAAuBL,IAA8B,OAAYA,EAGvED,GAAiBA,IAAkB,QAAUA,IAAkB,QAAU,GACnEO,EAASL,GAAe,GAC1BM,EAA0B5C,GAI1BoC,IAAkB,QAAUA,IAAkB,OAChDQ,EAA0BhB,EACjBQ,EAETQ,EAA0Bf,EACjBgB,IAAYd,CAAG,IAExBa,EAA0B,QAE5B,IAAME,EAAwBC,GAAmBhB,EAAK,CACpD,kBAAmBa,EACnB,MAAOI,IAAoBb,EAAeC,CAAa,EACvD,GAAGK,CACL,CAAC,EACKQ,EAAiBrC,GAAS,CAI9B,GAAI,OAAOA,GAAU,YAAcA,EAAM,iBAAmBA,EAC1D,OAAO,SAAgCL,EAAO,CAC5C,OAAOI,GAAaJ,EAAOK,CAAK,CAClC,EAEF,GAAIsC,GAActC,CAAK,EAAG,CACxB,IAAMuC,EAAaC,GAAiBxC,CAAK,EACzC,OAAKuC,EAAW,SAGT,SAA8B5C,EAAO,CAC1C,OAAOI,GAAaJ,EAAO4C,CAAU,CACvC,EAJSA,EAAW,KAKtB,CACA,OAAOvC,CACT,EACMyC,EAAoB,IAAIC,IAAqB,CACjD,IAAMC,EAAkB,CAAC,EACnBC,EAAkBF,EAAiB,IAAIL,CAAc,EACrDQ,EAAkB,CAAC,EAsCzB,GAlCAF,EAAgB,KAAKzB,CAAgB,EACjCK,GAAiBI,GACnBkB,EAAgB,KAAK,SAA6BlD,EAAO,CA3KjE,IAAAa,EAAAsC,GA6KU,IAAMC,GAAiBD,IAAAtC,EADTb,EAAM,MACS,aAAN,YAAAa,EAAmBe,KAAnB,YAAAuB,GAAmC,eAC1D,GAAI,CAACC,EACH,OAAO,KAET,IAAMC,EAAyB,CAAC,EAIhC,QAAWC,MAAWF,EACpBC,EAAuBC,EAAO,EAAIlD,GAAaJ,EAAOoD,EAAeE,EAAO,CAAC,EAE/E,OAAOtB,EAAkBhC,EAAOqD,CAAsB,CACxD,CAAC,EAECzB,GAAiB,CAACO,GACpBe,EAAgB,KAAK,SAA4BlD,EAAO,CA5LhE,IAAAa,EAAAsC,EA6LU,IAAMI,EAAQvD,EAAM,MACdwD,GAAgBL,GAAAtC,EAAA0C,GAAA,YAAAA,EAAO,aAAP,YAAA1C,EAAoBe,KAApB,YAAAuB,EAAoC,SAC1D,OAAKK,EAGE7C,GAAqBX,EAAOwD,CAAa,EAFvC,IAGX,CAAC,EAEEpB,GACHc,EAAgB,KAAKvB,EAAe,EAKlC,MAAM,QAAQsB,EAAgB,CAAC,CAAC,EAAG,CACrC,IAAMQ,EAAeR,EAAgB,MAAM,EAIrCS,EAAmB,IAAI,MAAMV,EAAgB,MAAM,EAAE,KAAK,EAAE,EAC5DW,EAAmB,IAAI,MAAMT,EAAgB,MAAM,EAAE,KAAK,EAAE,EAC9DU,EAGFA,EAAgB,CAAC,GAAGF,EAAkB,GAAGD,EAAc,GAAGE,CAAgB,EAC1EC,EAAc,IAAM,CAAC,GAAGF,EAAkB,GAAGD,EAAa,IAAK,GAAGE,CAAgB,EAIpFX,EAAgB,QAAQY,CAAa,CACvC,CACA,IAAMC,EAAc,CAAC,GAAGb,EAAiB,GAAGC,EAAiB,GAAGC,CAAe,EACzEY,EAAYvB,EAAsB,GAAGsB,CAAW,EACtD,OAAIrC,EAAI,UACNsC,EAAU,QAAUtC,EAAI,SAKnBsC,CACT,EACA,OAAIvB,EAAsB,aACxBO,EAAkB,WAAaP,EAAsB,YAEhDO,CACT,CAEF,CAOA,SAASiB,IAAoBC,EAAeC,EAAe,CASzD,OARI,MASN,CACA,SAASC,IAAcC,EAAQ,CAE7B,QAAWC,KAAKD,EACd,MAAO,GAET,MAAO,EACT,CAGA,SAASE,IAAYC,EAAK,CACxB,OAAO,OAAOA,GAAQ,UAItBA,EAAI,WAAW,CAAC,EAAI,EACtB,CACA,SAASC,IAAqBC,EAAQ,CACpC,OAAKA,GAGEA,EAAO,OAAO,CAAC,EAAE,YAAY,EAAIA,EAAO,MAAM,CAAC,CACxD,CClRA,IAAMC,IAASC,GAAa,EACrBC,GAAQF,ICIA,SAARG,GAA8BC,EAAcC,EAAO,CACxD,IAAMC,EAAS,CACb,GAAGD,CACL,EACA,QAAWE,KAAOH,EAChB,GAAI,OAAO,UAAU,eAAe,KAAKA,EAAcG,CAAG,EAAG,CAC3D,IAAMC,EAAWD,EACjB,GAAIC,IAAa,cAAgBA,IAAa,QAC5CF,EAAOE,CAAQ,EAAI,CACjB,GAAGJ,EAAaI,CAAQ,EACxB,GAAGF,EAAOE,CAAQ,CACpB,UACSA,IAAa,mBAAqBA,IAAa,YAAa,CACrE,IAAMC,EAAmBL,EAAaI,CAAQ,EACxCE,EAAYL,EAAMG,CAAQ,EAChC,GAAI,CAACE,EACHJ,EAAOE,CAAQ,EAAIC,GAAoB,CAAC,UAC/B,CAACA,EACVH,EAAOE,CAAQ,EAAIE,MACd,CACLJ,EAAOE,CAAQ,EAAI,CACjB,GAAGE,CACL,EACA,QAAWC,KAAWF,EACpB,GAAI,OAAO,UAAU,eAAe,KAAKA,EAAkBE,CAAO,EAAG,CACnE,IAAMC,EAAeD,EACrBL,EAAOE,CAAQ,EAAEI,CAAY,EAAIT,GAAaM,EAAiBG,CAAY,EAAGF,EAAUE,CAAY,CAAC,CACvG,CAEJ,CACF,MAAWN,EAAOE,CAAQ,IAAM,SAC9BF,EAAOE,CAAQ,EAAIJ,EAAaI,CAAQ,EAE5C,CAEF,OAAOF,CACT,CCzCe,SAARO,GAA+BC,EAAQ,CAC5C,GAAM,CACJ,MAAAC,EACA,KAAAC,EACA,MAAAC,CACF,EAAIH,EACJ,MAAI,CAACC,GAAS,CAACA,EAAM,YAAc,CAACA,EAAM,WAAWC,CAAI,GAAK,CAACD,EAAM,WAAWC,CAAI,EAAE,aAC7EC,EAEFC,GAAaH,EAAM,WAAWC,CAAI,EAAE,aAAcC,CAAK,CAChE,CCPe,SAARE,GAA+B,CACpC,MAAAC,EACA,KAAAC,EACA,aAAAC,EACA,QAAAC,CACF,EAAG,CACD,IAAIC,EAAQC,GAASH,CAAY,EACjC,OAAIC,IACFC,EAAQA,EAAMD,CAAO,GAAKC,GAErBE,GAAc,CACnB,MAAAF,EACA,KAAAH,EACA,MAAAD,CACF,CAAC,CACH,CCjBA,IAAAO,GAAuB,OCAvB,IAAAC,GAAuB,OASjBC,IAAoB,OAAO,QAAW,YAAoB,mBAAwB,aACjFC,GAAQD,IDLf,SAASE,IAAiBC,EAAOC,EAAgBC,EAAYC,EAAeC,EAAO,CACjF,GAAM,CAACC,EAAOC,CAAQ,EAAU,YAAS,IACnCF,GAASF,EACJA,EAAWF,CAAK,EAAE,QAEvBG,EACKA,EAAcH,CAAK,EAAE,QAKvBC,CACR,EACD,OAAAM,GAAkB,IAAM,CACtB,GAAI,CAACL,EACH,OAEF,IAAMM,EAAYN,EAAWF,CAAK,EAC5BS,EAAc,IAAM,CACxBH,EAASE,EAAU,OAAO,CAC5B,EACA,OAAAC,EAAY,EACZD,EAAU,iBAAiB,SAAUC,CAAW,EACzC,IAAM,CACXD,EAAU,oBAAoB,SAAUC,CAAW,CACrD,CACF,EAAG,CAACT,EAAOE,CAAU,CAAC,EACfG,CACT,CAGA,IAAMK,IAAY,CAChB,GAAGC,EACL,EACMC,GAAiCF,IAAU,qBACjD,SAASG,IAAiBb,EAAOC,EAAgBC,EAAYC,EAAeC,EAAO,CACjF,IAAMU,EAA2B,eAAY,IAAMb,EAAgB,CAACA,CAAc,CAAC,EAC7Ec,EAA0B,WAAQ,IAAM,CAC5C,GAAIX,GAASF,EACX,MAAO,IAAMA,EAAWF,CAAK,EAAE,QAEjC,GAAIG,IAAkB,KAAM,CAC1B,GAAM,CACJ,QAAAa,CACF,EAAIb,EAAcH,CAAK,EACvB,MAAO,IAAMgB,CACf,CACA,OAAOF,CACT,EAAG,CAACA,EAAoBd,EAAOG,EAAeC,EAAOF,CAAU,CAAC,EAC1D,CAACe,EAAaC,CAAS,EAAU,WAAQ,IAAM,CACnD,GAAIhB,IAAe,KACjB,MAAO,CAACY,EAAoB,IAAM,IAAM,CAAC,CAAC,EAE5C,IAAMK,EAAiBjB,EAAWF,CAAK,EACvC,MAAO,CAAC,IAAMmB,EAAe,QAASC,IACpCD,EAAe,iBAAiB,SAAUC,CAAM,EACzC,IAAM,CACXD,EAAe,oBAAoB,SAAUC,CAAM,CACrD,EACD,CACH,EAAG,CAACN,EAAoBZ,EAAYF,CAAK,CAAC,EAE1C,OADcY,GAA+BM,EAAWD,EAAaF,CAAiB,CAExF,CAGO,SAASM,GAA6BC,EAAS,CAAC,EAAG,CACxD,GAAM,CACJ,QAAAC,CACF,EAAID,EACJ,OAAO,SAAuBE,EAAYC,EAAU,CAAC,EAAG,CACtD,IAAIC,EAAQC,GAAS,EACjBD,GAASH,IACXG,EAAQA,EAAMH,CAAO,GAAKG,GAM5B,IAAME,EAAoB,OAAO,QAAW,aAAe,OAAO,OAAO,YAAe,YAClF,CACJ,eAAA3B,EAAiB,GACjB,WAAAC,EAAa0B,EAAoB,OAAO,WAAa,KACrD,cAAAzB,EAAgB,KAChB,MAAAC,EAAQ,EACV,EAAIyB,GAAc,CAChB,KAAM,mBACN,MAAOJ,EACP,MAAAC,CACF,CAAC,EAMG1B,EAAQ,OAAOwB,GAAe,WAAaA,EAAWE,CAAK,EAAIF,EACnE,OAAAxB,EAAQA,EAAM,QAAQ,eAAgB,EAAE,GACJY,KAAmC,OAAYC,IAAmBd,KAC5DC,EAAOC,EAAgBC,EAAYC,EAAeC,CAAK,CASnG,CACF,CACA,IAAM0B,IAAgBT,GAA6B,EEpHnD,SAASU,IAAMC,EAAKC,EAAM,OAAO,iBAAkBC,EAAM,OAAO,iBAAkB,CAChF,OAAO,KAAK,IAAID,EAAK,KAAK,IAAID,EAAKE,CAAG,CAAC,CACzC,CACA,IAAOC,GAAQJ,ICQf,SAASK,GAAaC,EAAOC,EAAM,EAAGC,EAAM,EAAG,CAM7C,OAAOC,GAAMH,EAAOC,EAAKC,CAAG,CAC9B,CAOO,SAASE,GAASC,EAAO,CAC9BA,EAAQA,EAAM,MAAM,CAAC,EACrB,IAAMC,EAAK,IAAI,OAAO,OAAOD,EAAM,QAAU,EAAI,EAAI,CAAC,IAAK,GAAG,EAC1DE,EAASF,EAAM,MAAMC,CAAE,EAC3B,OAAIC,GAAUA,EAAO,CAAC,EAAE,SAAW,IACjCA,EAASA,EAAO,IAAIC,GAAKA,EAAIA,CAAC,GAEzBD,EAAS,MAAMA,EAAO,SAAW,EAAI,IAAM,EAAE,IAAIA,EAAO,IAAI,CAACC,EAAGC,IAC9DA,EAAQ,EAAI,SAASD,EAAG,EAAE,EAAI,KAAK,MAAM,SAASA,EAAG,EAAE,EAAI,IAAM,GAAI,EAAI,GACjF,EAAE,KAAK,IAAI,CAAC,IAAM,EACrB,CAaO,SAASE,GAAeC,EAAO,CAEpC,GAAIA,EAAM,KACR,OAAOA,EAET,GAAIA,EAAM,OAAO,CAAC,IAAM,IACtB,OAAOD,GAAeE,GAASD,CAAK,CAAC,EAEvC,IAAME,EAASF,EAAM,QAAQ,GAAG,EAC1BG,EAAOH,EAAM,UAAU,EAAGE,CAAM,EACtC,GAAI,CAAC,CAAC,MAAO,OAAQ,MAAO,OAAQ,OAAO,EAAE,SAASC,CAAI,EACxD,MAAM,IAAI,MAAwLC,GAAuB,EAAGJ,CAAK,CAAC,EAEpO,IAAIK,EAASL,EAAM,UAAUE,EAAS,EAAGF,EAAM,OAAS,CAAC,EACrDM,EACJ,GAAIH,IAAS,SAMX,GALAE,EAASA,EAAO,MAAM,GAAG,EACzBC,EAAaD,EAAO,MAAM,EACtBA,EAAO,SAAW,GAAKA,EAAO,CAAC,EAAE,OAAO,CAAC,IAAM,MACjDA,EAAO,CAAC,EAAIA,EAAO,CAAC,EAAE,MAAM,CAAC,GAE3B,CAAC,CAAC,OAAQ,aAAc,UAAW,eAAgB,UAAU,EAAE,SAASC,CAAU,EACpF,MAAM,IAAI,MAAqMF,GAAuB,GAAIE,CAAU,CAAC,OAGvPD,EAASA,EAAO,MAAM,GAAG,EAE3B,OAAAA,EAASA,EAAO,IAAIE,GAAS,WAAWA,CAAK,CAAC,EACvC,CACL,KAAAJ,EACA,OAAAE,EACA,WAAAC,CACF,CACF,CAQO,IAAME,IAAeR,GAAS,CACnC,IAAMS,EAAkBV,GAAeC,CAAK,EAC5C,OAAOS,EAAgB,OAAO,MAAM,EAAG,CAAC,EAAE,IAAI,CAACC,EAAKC,IAAQF,EAAgB,KAAK,SAAS,KAAK,GAAKE,IAAQ,EAAI,GAAGD,CAAG,IAAMA,CAAG,EAAE,KAAK,GAAG,CAC3I,EACaE,GAA2B,CAACZ,EAAOa,IAAY,CAC1D,GAAI,CACF,OAAOL,IAAaR,CAAK,CAC3B,OAASc,EAAO,CAId,OAAOd,CACT,CACF,EASO,SAASe,GAAef,EAAO,CACpC,GAAM,CACJ,KAAAG,EACA,WAAAG,CACF,EAAIN,EACA,CACF,OAAAK,CACF,EAAIL,EACJ,OAAIG,EAAK,SAAS,KAAK,EAErBE,EAASA,EAAO,IAAI,CAACW,EAAGC,IAAMA,EAAI,EAAI,SAASD,EAAG,EAAE,EAAIA,CAAC,EAChDb,EAAK,SAAS,KAAK,IAC5BE,EAAO,CAAC,EAAI,GAAGA,EAAO,CAAC,CAAC,IACxBA,EAAO,CAAC,EAAI,GAAGA,EAAO,CAAC,CAAC,KAEtBF,EAAK,SAAS,OAAO,EACvBE,EAAS,GAAGC,CAAU,IAAID,EAAO,KAAK,GAAG,CAAC,GAE1CA,EAAS,GAAGA,EAAO,KAAK,IAAI,CAAC,GAExB,GAAGF,CAAI,IAAIE,CAAM,GAC1B,CAuBO,SAASa,GAASC,EAAO,CAC9BA,EAAQC,GAAeD,CAAK,EAC5B,GAAM,CACJ,OAAAE,CACF,EAAIF,EACEG,EAAID,EAAO,CAAC,EACZE,EAAIF,EAAO,CAAC,EAAI,IAChBG,EAAIH,EAAO,CAAC,EAAI,IAChBI,EAAIF,EAAI,KAAK,IAAIC,EAAG,EAAIA,CAAC,EACzBE,EAAI,CAACC,EAAGC,GAAKD,EAAIL,EAAI,IAAM,KAAOE,EAAIC,EAAI,KAAK,IAAI,KAAK,IAAIG,EAAI,EAAG,EAAIA,EAAG,CAAC,EAAG,EAAE,EAClFC,EAAO,MACLC,EAAM,CAAC,KAAK,MAAMJ,EAAE,CAAC,EAAI,GAAG,EAAG,KAAK,MAAMA,EAAE,CAAC,EAAI,GAAG,EAAG,KAAK,MAAMA,EAAE,CAAC,EAAI,GAAG,CAAC,EACnF,OAAIP,EAAM,OAAS,SACjBU,GAAQ,IACRC,EAAI,KAAKT,EAAO,CAAC,CAAC,GAEbU,GAAe,CACpB,KAAAF,EACA,OAAQC,CACV,CAAC,CACH,CASO,SAASE,GAAab,EAAO,CAClCA,EAAQC,GAAeD,CAAK,EAC5B,IAAIW,EAAMX,EAAM,OAAS,OAASA,EAAM,OAAS,OAASC,GAAeF,GAASC,CAAK,CAAC,EAAE,OAASA,EAAM,OACzG,OAAAW,EAAMA,EAAI,IAAIG,IACRd,EAAM,OAAS,UACjBc,GAAO,KAEFA,GAAO,OAAUA,EAAM,QAAUA,EAAM,MAAS,QAAU,IAClE,EAGM,QAAQ,MAASH,EAAI,CAAC,EAAI,MAASA,EAAI,CAAC,EAAI,MAASA,EAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAChF,CAUO,SAASI,GAAiBC,EAAYC,EAAY,CACvD,IAAMC,EAAOL,GAAaG,CAAU,EAC9BG,EAAON,GAAaI,CAAU,EACpC,OAAQ,KAAK,IAAIC,EAAMC,CAAI,EAAI,MAAS,KAAK,IAAID,EAAMC,CAAI,EAAI,IACjE,CASO,SAASC,GAAMpB,EAAOqB,EAAO,CAClC,OAAArB,EAAQC,GAAeD,CAAK,EAC5BqB,EAAQC,GAAaD,CAAK,GACtBrB,EAAM,OAAS,OAASA,EAAM,OAAS,SACzCA,EAAM,MAAQ,KAEZA,EAAM,OAAS,QACjBA,EAAM,OAAO,CAAC,EAAI,IAAIqB,CAAK,GAE3BrB,EAAM,OAAO,CAAC,EAAIqB,EAEbT,GAAeZ,CAAK,CAC7B,CACO,SAASuB,GAAkBvB,EAAOqB,EAAOG,EAAS,CACvD,GAAI,CACF,OAAOJ,GAAMpB,EAAOqB,CAAK,CAC3B,OAASI,EAAO,CAId,OAAOzB,CACT,CACF,CAQO,SAAS0B,GAAO1B,EAAO2B,EAAa,CAGzC,GAFA3B,EAAQC,GAAeD,CAAK,EAC5B2B,EAAcL,GAAaK,CAAW,EAClC3B,EAAM,KAAK,SAAS,KAAK,EAC3BA,EAAM,OAAO,CAAC,GAAK,EAAI2B,UACd3B,EAAM,KAAK,SAAS,KAAK,GAAKA,EAAM,KAAK,SAAS,OAAO,EAClE,QAAS4B,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAC1B5B,EAAM,OAAO4B,CAAC,GAAK,EAAID,EAG3B,OAAOf,GAAeZ,CAAK,CAC7B,CACO,SAAS6B,GAAmB7B,EAAO2B,EAAaH,EAAS,CAC9D,GAAI,CACF,OAAOE,GAAO1B,EAAO2B,CAAW,CAClC,OAASF,EAAO,CAId,OAAOzB,CACT,CACF,CAQO,SAAS8B,GAAQ9B,EAAO2B,EAAa,CAG1C,GAFA3B,EAAQC,GAAeD,CAAK,EAC5B2B,EAAcL,GAAaK,CAAW,EAClC3B,EAAM,KAAK,SAAS,KAAK,EAC3BA,EAAM,OAAO,CAAC,IAAM,IAAMA,EAAM,OAAO,CAAC,GAAK2B,UACpC3B,EAAM,KAAK,SAAS,KAAK,EAClC,QAAS4B,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAC1B5B,EAAM,OAAO4B,CAAC,IAAM,IAAM5B,EAAM,OAAO4B,CAAC,GAAKD,UAEtC3B,EAAM,KAAK,SAAS,OAAO,EACpC,QAAS4B,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAC1B5B,EAAM,OAAO4B,CAAC,IAAM,EAAI5B,EAAM,OAAO4B,CAAC,GAAKD,EAG/C,OAAOf,GAAeZ,CAAK,CAC7B,CACO,SAAS+B,GAAoB/B,EAAO2B,EAAaH,EAAS,CAC/D,GAAI,CACF,OAAOM,GAAQ9B,EAAO2B,CAAW,CACnC,OAASF,EAAO,CAId,OAAOzB,CACT,CACF,CASO,SAASgC,GAAUhC,EAAO2B,EAAc,IAAM,CACnD,OAAOd,GAAab,CAAK,EAAI,GAAM0B,GAAO1B,EAAO2B,CAAW,EAAIG,GAAQ9B,EAAO2B,CAAW,CAC5F,CACO,SAASM,GAAsBjC,EAAO2B,EAAaH,EAAS,CACjE,GAAI,CACF,OAAOQ,GAAUhC,EAAO2B,CAAW,CACrC,OAASF,EAAO,CAId,OAAOzB,CACT,CACF,CC9Te,SAARkC,MAA0CC,EAAO,CACtD,OAAOA,EAAM,OAAO,CAACC,EAAKC,IACpBA,GAAQ,KACHD,EAEF,YAA4BE,EAAM,CACvCF,EAAI,MAAM,KAAME,CAAI,EACpBD,EAAK,MAAM,KAAMC,CAAI,CACvB,EACC,IAAM,CAAC,CAAC,CACb,CCde,SAARC,GAA0BC,EAAMC,EAAO,IAAK,CACjD,IAAIC,EACJ,SAASC,KAAaC,EAAM,CAC1B,IAAMC,EAAQ,IAAM,CAElBL,EAAK,MAAM,KAAMI,CAAI,CACvB,EACA,aAAaF,CAAO,EACpBA,EAAU,WAAWG,EAAOJ,CAAI,CAClC,CACA,OAAAE,EAAU,MAAQ,IAAM,CACtB,aAAaD,CAAO,CACtB,EACOC,CACT,CChBA,IAAAG,GAAuB,OACR,SAARC,GAA8BC,EAASC,EAAU,CADxD,IAAAC,EAAAC,EAAAC,EAAAC,EAEE,OAA0B,kBAAeL,CAAO,GAAKC,EAAS,SAI9DI,EAAAL,EAAQ,KAAK,UAAb,KAAAK,GAAwBD,GAAAD,GAAAD,EAAAF,EAAQ,OAAR,YAAAE,EAAc,WAAd,YAAAC,EAAwB,QAAxB,YAAAC,EAA+B,OAAO,IAAM,EACtE,CCPe,SAARE,GAA+BC,EAAM,CAC1C,OAAOA,GAAQA,EAAK,eAAiB,QACvC,CCDe,SAARC,GAA6BC,EAAM,CAExC,OADYC,GAAcD,CAAI,EACnB,aAAe,MAC5B,CCSe,SAARE,GAAwBC,EAAKC,EAAO,CACrC,OAAOD,GAAQ,WACjBA,EAAIC,CAAK,EACAD,IACTA,EAAI,QAAUC,EAElB,CCjBA,IAAAC,GAAuB,OACnBC,GAAW,EAGf,SAASC,IAAYC,EAAY,CAC/B,GAAM,CAACC,EAAWC,CAAY,EAAU,YAASF,CAAU,EACrDG,EAAKH,GAAcC,EACzB,OAAM,aAAU,IAAM,CAChBA,GAAa,OAKfH,IAAY,EACZI,EAAa,OAAOJ,EAAQ,EAAE,EAElC,EAAG,CAACG,CAAS,CAAC,EACPE,CACT,CAGA,IAAMC,IAAY,CAChB,GAAGP,EACL,EACMQ,GAAkBD,IAAU,MAQnB,SAARE,GAAuBN,EAAY,CAExC,GAAIK,KAAoB,OAAW,CACjC,IAAME,EAAUF,GAAgB,EAChC,OAAOL,GAAA,KAAAA,EAAcO,CACvB,CAIA,OAAOR,IAAYC,CAAU,CAC/B,CCxCA,IAAAQ,GAAuB,OACR,SAARC,GAA+B,CACpC,WAAAC,EACA,QAASC,EACT,KAAAC,EACA,MAAAC,EAAQ,OACV,EAAG,CAED,GAAM,CACJ,QAASC,CACX,EAAU,UAAOJ,IAAe,MAAS,EACnC,CAACK,EAAYC,CAAQ,EAAU,YAASL,CAAW,EACnDM,EAAQH,EAAeJ,EAAaK,EAkBpCG,EAA+B,eAAYC,GAAY,CACtDL,GACHE,EAASG,CAAQ,CAErB,EAAG,CAAC,CAAC,EACL,MAAO,CAACF,EAAOC,CAAsB,CACvC,CCtCA,IAAAE,GAAuB,OAQvB,SAASC,IAAiBC,EAAI,CAC5B,IAAMC,EAAY,UAAOD,CAAE,EAC3B,OAAAE,GAAkB,IAAM,CACtBD,EAAI,QAAUD,CAChB,CAAC,EACY,UAAO,IAAIG,OAEpBF,EAAI,SAAS,GAAGE,CAAI,CAAC,EAAE,OAC7B,CACA,IAAOC,GAAQL,ICjBf,IAAAM,GAAuB,OAmBR,SAARC,MAA+BC,EAAM,CAM1C,OAAa,WAAQ,IACfA,EAAK,MAAMC,GAAOA,GAAO,IAAI,EACxB,KAEFC,GAAY,CACjBF,EAAK,QAAQC,GAAO,CAClBE,GAAOF,EAAKC,CAAQ,CACtB,CAAC,CACH,EAGCF,CAAI,CACT,CCrCA,IAAAI,GAAuB,OACjBC,GAAgB,CAAC,EASR,SAARC,GAA4BC,EAAMC,EAAS,CAChD,IAAMC,EAAY,UAAOJ,EAAa,EACtC,OAAII,EAAI,UAAYJ,KAClBI,EAAI,QAAUF,EAAKC,CAAO,GAErBC,CACT,CChBA,IAAAC,GAAuB,OACjBC,IAAQ,CAAC,EAKA,SAARC,GAA4BC,EAAI,CAG/B,aAAUA,EAAIF,GAAK,CAE3B,CCTO,IAAMG,GAAN,MAAMC,CAAQ,CAAd,cAILC,EAAA,iBAAY,MAYZA,EAAA,aAAQ,IAAM,CACR,KAAK,YAAc,OACrB,aAAa,KAAK,SAAS,EAC3B,KAAK,UAAY,KAErB,GACAA,EAAA,qBAAgB,IACP,KAAK,OAtBd,OAAO,QAAS,CACd,OAAO,IAAID,CACb,CAMA,MAAME,EAAOC,EAAI,CACf,KAAK,MAAM,EACX,KAAK,UAAY,WAAW,IAAM,CAChC,KAAK,UAAY,KACjBA,EAAG,CACL,EAAGD,CAAK,CACV,CAUF,EACe,SAARE,IAA8B,CACnC,IAAMC,EAAUC,GAAWP,GAAQ,MAAM,EAAE,QAC3C,OAAAQ,GAAWF,EAAQ,aAAa,EACzBA,CACT,CC/Be,SAARG,GAAgCC,EAAS,CAC9C,GAAI,CACF,OAAOA,EAAQ,QAAQ,gBAAgB,CACzC,OAASC,EAAO,CAMhB,CACA,MAAO,EACT,CCZe,SAARC,GAAkCC,EAAM,OAAQ,CAErD,IAAMC,EAAgBD,EAAI,SAAS,gBAAgB,YACnD,OAAOA,EAAI,WAAaC,CAC1B,CCJA,IAAAC,GAAuB,OACjBC,IAAmBC,GAAS,CAChC,IAAMC,EAAY,UAAO,CAAC,CAAC,EAC3B,OAAM,aAAU,IAAM,CACpBA,EAAI,QAAUD,CAChB,CAAC,EACMC,EAAI,OACb,EACOC,GAAQH,ICLA,SAARI,GAAgCC,EAAOC,EAAiBC,EAAU,OAAW,CAClF,IAAMC,EAAS,CAAC,EAChB,QAAWC,KAAYJ,EAAO,CAC5B,IAAMK,EAAOL,EAAMI,CAAQ,EACvBE,EAAS,GACTC,EAAQ,GACZ,QAASC,EAAI,EAAGA,EAAIH,EAAK,OAAQG,GAAK,EAAG,CACvC,IAAMC,EAAQJ,EAAKG,CAAC,EAChBC,IACFH,IAAWC,IAAU,GAAO,GAAK,KAAON,EAAgBQ,CAAK,EAC7DF,EAAQ,GACJL,GAAWA,EAAQO,CAAK,IAC1BH,GAAU,IAAMJ,EAAQO,CAAK,GAGnC,CACAN,EAAOC,CAAQ,EAAIE,CACrB,CACA,OAAOH,CACT,CCrBA,SAASO,IAAgBC,EAAS,CAChC,OAAO,OAAOA,GAAY,QAC5B,CACA,IAAOC,GAAQF,ICSf,SAASG,IAAiBC,EAAaC,EAAYC,EAAY,CAC7D,OAAIF,IAAgB,QAAaG,GAAgBH,CAAW,EACnDC,EAEF,CACL,GAAGA,EACH,WAAY,CACV,GAAGA,EAAW,WACd,GAAGC,CACL,CACF,CACF,CACA,IAAOE,GAAQL,ICpBf,SAASM,IAAqBC,EAAQC,EAAc,CAAC,EAAG,CACtD,GAAID,IAAW,OACb,MAAO,CAAC,EAEV,IAAME,EAAS,CAAC,EAChB,cAAO,KAAKF,CAAM,EAAE,OAAOG,GAAQA,EAAK,MAAM,UAAU,GAAK,OAAOH,EAAOG,CAAI,GAAM,YAAc,CAACF,EAAY,SAASE,CAAI,CAAC,EAAE,QAAQA,GAAQ,CAC9ID,EAAOC,CAAI,EAAIH,EAAOG,CAAI,CAC5B,CAAC,EACMD,CACT,CACA,IAAOE,GAAQL,ICVf,SAASM,IAAkBC,EAAQ,CACjC,GAAIA,IAAW,OACb,MAAO,CAAC,EAEV,IAAMC,EAAS,CAAC,EAChB,cAAO,KAAKD,CAAM,EAAE,OAAOE,GAAQ,EAAEA,EAAK,MAAM,UAAU,GAAK,OAAOF,EAAOE,CAAI,GAAM,WAAW,EAAE,QAAQA,GAAQ,CAClHD,EAAOC,CAAI,EAAIF,EAAOE,CAAI,CAC5B,CAAC,EACMD,CACT,CACA,IAAOE,GAAQJ,ICDf,SAASK,IAAeC,EAAY,CAClC,GAAM,CACJ,aAAAC,EACA,gBAAAC,EACA,kBAAAC,EACA,uBAAAC,EACA,UAAAC,CACF,EAAIL,EACJ,GAAI,CAACC,EAAc,CAGjB,IAAMK,EAAgBC,EAAKL,GAAA,YAAAA,EAAiB,UAAWG,EAAWD,GAAA,YAAAA,EAAwB,UAAWD,GAAA,YAAAA,EAAmB,SAAS,EAC3HK,EAAc,CAClB,GAAGN,GAAA,YAAAA,EAAiB,MACpB,GAAGE,GAAA,YAAAA,EAAwB,MAC3B,GAAGD,GAAA,YAAAA,EAAmB,KACxB,EACMM,EAAQ,CACZ,GAAGP,EACH,GAAGE,EACH,GAAGD,CACL,EACA,OAAIG,EAAc,OAAS,IACzBG,EAAM,UAAYH,GAEhB,OAAO,KAAKE,CAAW,EAAE,OAAS,IACpCC,EAAM,MAAQD,GAET,CACL,MAAAC,EACA,YAAa,MACf,CACF,CAKA,IAAMC,EAAgBC,GAAqB,CACzC,GAAGP,EACH,GAAGD,CACL,CAAC,EACKS,EAAsCC,GAAkBV,CAAiB,EACzEW,EAAiCD,GAAkBT,CAAsB,EACzEW,EAAoBd,EAAaS,CAAa,EAM9CJ,EAAgBC,EAAKQ,GAAA,YAAAA,EAAmB,UAAWb,GAAA,YAAAA,EAAiB,UAAWG,EAAWD,GAAA,YAAAA,EAAwB,UAAWD,GAAA,YAAAA,EAAmB,SAAS,EACzJK,EAAc,CAClB,GAAGO,GAAA,YAAAA,EAAmB,MACtB,GAAGb,GAAA,YAAAA,EAAiB,MACpB,GAAGE,GAAA,YAAAA,EAAwB,MAC3B,GAAGD,GAAA,YAAAA,EAAmB,KACxB,EACMM,EAAQ,CACZ,GAAGM,EACH,GAAGb,EACH,GAAGY,EACH,GAAGF,CACL,EACA,OAAIN,EAAc,OAAS,IACzBG,EAAM,UAAYH,GAEhB,OAAO,KAAKE,CAAW,EAAE,OAAS,IACpCC,EAAM,MAAQD,GAET,CACL,MAAAC,EACA,YAAaM,EAAkB,GACjC,CACF,CACA,IAAOC,GAAQjB,ICrFf,SAASkB,IAAsBC,EAAgBC,EAAYC,EAAW,CACpE,OAAI,OAAOF,GAAmB,WACrBA,EAAeC,EAAYC,CAAS,EAEtCF,CACT,CACA,IAAOG,GAAQJ,ICIf,SAASK,IAAaC,EAAY,CAdlC,IAAAC,EAeE,GAAM,CACJ,YAAAC,EACA,kBAAAC,EACA,WAAAC,EACA,uBAAAC,EAAyB,GACzB,GAAGC,CACL,EAAIN,EACEO,EAA0BF,EAAyB,CAAC,EAAIG,GAAsBL,EAAmBC,CAAU,EAC3G,CACJ,MAAOK,EACP,YAAAC,CACF,EAAIC,GAAe,CACjB,GAAGL,EACH,kBAAmBC,CACrB,CAAC,EACKK,EAAMC,GAAWH,EAAaH,GAAA,YAAAA,EAAyB,KAAKN,EAAAD,EAAW,kBAAX,YAAAC,EAA4B,GAAG,EAKjG,OAJca,GAAiBZ,EAAa,CAC1C,GAAGO,EACH,IAAAG,CACF,EAAGR,CAAU,CAEf,CACA,IAAOW,GAAQhB,ICrCf,IAAAiB,GAAuB,OASR,SAARC,GAAoCC,EAAS,CATpD,IAAAC,EAWE,OAAI,SAAe,WAAS,EAAE,GAAK,KAC1BA,EAAAD,GAAA,YAAAA,EAAS,QAAT,YAAAC,EAAgB,MAAO,MAIzBD,GAAA,YAAAA,EAAS,MAAO,IACzB,CCjBA,IAAAE,GAAuB,OAEvB,IAAAC,IAA4B,OACtBC,IAAgC,iBAAc,EAc7C,IAAMC,GAAS,IAAM,CAC1B,IAAMC,EAAc,cAAWC,GAAU,EACzC,OAAOD,GAAA,KAAAA,EAAS,EAClB,EClBA,IAAAE,GAAuB,OAGvB,IAAAC,IAA4B,OACtBC,IAAkC,iBAAc,MAAS,EAwB/D,SAASC,IAAcC,EAAQ,CAC7B,GAAM,CACJ,MAAAC,EACA,KAAAC,EACA,MAAAC,CACF,EAAIH,EACJ,GAAI,CAACC,GAAS,CAACA,EAAM,YAAc,CAACA,EAAM,WAAWC,CAAI,EACvD,OAAOC,EAET,IAAMC,EAASH,EAAM,WAAWC,CAAI,EACpC,OAAIE,EAAO,aAEFC,GAAaD,EAAO,aAAcD,CAAK,EAE5C,CAACC,EAAO,gBAAkB,CAACA,EAAO,SAE7BC,GAAaD,EAAQD,CAAK,EAE5BA,CACT,CACO,SAASG,GAAgB,CAC9B,MAAAH,EACA,KAAAD,CACF,EAAG,CACD,IAAMK,EAAY,cAAWC,GAAY,EACzC,OAAOT,IAAc,CACnB,MAAAI,EACA,KAAAD,EACA,MAAO,CACL,WAAYK,CACd,CACF,CAAC,CACH,CCxDA,IAAME,GAAM,CACV,MAAO,MACT,EAMe,SAARC,GAAoCC,EAAS,CAClD,IAAIC,EACAC,EACJ,OAAO,SAAuBC,EAAO,CACnC,IAAIC,EAAQH,EACZ,OAAIG,IAAU,QAAaD,EAAM,QAAUD,KACzCJ,GAAI,MAAQK,EAAM,MAClBC,EAAQC,GAAiBL,EAAQF,EAAG,CAAC,EACrCG,EAAYG,EACZF,EAAYC,EAAM,OAEbC,CACT,CACF,CCvBe,SAARE,GAAiCC,EAAS,GAAI,CACnD,SAASC,KAAaC,EAAM,CAC1B,GAAI,CAACA,EAAK,OACR,MAAO,GAET,IAAMC,EAAQD,EAAK,CAAC,EACpB,OAAI,OAAOC,GAAU,UAAY,CAACA,EAAM,MAAM,6GAA6G,EAClJ,WAAWH,EAAS,GAAGA,CAAM,IAAM,EAAE,GAAGG,CAAK,GAAGF,EAAU,GAAGC,EAAK,MAAM,CAAC,CAAC,CAAC,IAE7E,KAAKC,CAAK,EACnB,CAMA,MAHkB,CAACC,KAAUC,IACpB,SAASL,EAAS,GAAGA,CAAM,IAAM,EAAE,GAAGI,CAAK,GAAGH,EAAU,GAAGI,CAAS,CAAC,GAGhF,CCJO,IAAMC,GAAmB,CAACC,EAAKC,EAAMC,EAAOC,EAAY,CAAC,IAAM,CACpE,IAAIC,EAAOJ,EACXC,EAAK,QAAQ,CAACI,EAAGC,IAAU,CACrBA,IAAUL,EAAK,OAAS,EACtB,MAAM,QAAQG,CAAI,EACpBA,EAAK,OAAOC,CAAC,CAAC,EAAIH,EACTE,GAAQ,OAAOA,GAAS,WACjCA,EAAKC,CAAC,EAAIH,GAEHE,GAAQ,OAAOA,GAAS,WAC5BA,EAAKC,CAAC,IACTD,EAAKC,CAAC,EAAIF,EAAU,SAASE,CAAC,EAAI,CAAC,EAAI,CAAC,GAE1CD,EAAOA,EAAKC,CAAC,EAEjB,CAAC,CACH,EAaaE,IAAiB,CAACP,EAAKQ,EAAUC,IAAoB,CAChE,SAASC,EAAQC,EAAQC,EAAa,CAAC,EAAGT,EAAY,CAAC,EAAG,CACxD,OAAO,QAAQQ,CAAM,EAAE,QAAQ,CAAC,CAACE,EAAKX,CAAK,IAAM,EAC3C,CAACO,GAAmBA,GAAmB,CAACA,EAAgB,CAAC,GAAGG,EAAYC,CAAG,CAAC,IACnDX,GAAU,OAC/B,OAAOA,GAAU,UAAY,OAAO,KAAKA,CAAK,EAAE,OAAS,EAC3DQ,EAAQR,EAAO,CAAC,GAAGU,EAAYC,CAAG,EAAG,MAAM,QAAQX,CAAK,EAAI,CAAC,GAAGC,EAAWU,CAAG,EAAIV,CAAS,EAE3FK,EAAS,CAAC,GAAGI,EAAYC,CAAG,EAAGX,EAAOC,CAAS,EAIvD,CAAC,CACH,CACAO,EAAQV,CAAG,CACb,EACMc,IAAc,CAACb,EAAMC,IACrB,OAAOA,GAAU,SACf,CAAC,aAAc,aAAc,UAAW,QAAQ,EAAE,KAAKa,GAAQd,EAAK,SAASc,CAAI,CAAC,GAItEd,EAAKA,EAAK,OAAS,CAAC,EACxB,YAAY,EAAE,SAAS,SAAS,EAEnCC,EAEF,GAAGA,CAAK,KAEVA,EAyBM,SAARc,GAA+BC,EAAOC,EAAS,CACpD,GAAM,CACJ,OAAAC,EACA,wBAAAC,CACF,EAAIF,GAAW,CAAC,EACVG,EAAM,CAAC,EACPC,EAAO,CAAC,EACRC,EAAmB,CAAC,EAC1B,OAAAhB,IAAeU,EAAO,CAAChB,EAAMC,EAAOC,IAAc,CAChD,IAAI,OAAOD,GAAU,UAAY,OAAOA,GAAU,YAC5C,CAACkB,GAA2B,CAACA,EAAwBnB,EAAMC,CAAK,GAAG,CAErE,IAAMsB,EAAS,KAAKL,EAAS,GAAGA,CAAM,IAAM,EAAE,GAAGlB,EAAK,KAAK,GAAG,CAAC,GACzDwB,EAAgBX,IAAYb,EAAMC,CAAK,EAC7C,OAAO,OAAOmB,EAAK,CACjB,CAACG,CAAM,EAAGC,CACZ,CAAC,EACD1B,GAAiBuB,EAAMrB,EAAM,OAAOuB,CAAM,IAAKrB,CAAS,EACxDJ,GAAiBwB,EAAkBtB,EAAM,OAAOuB,CAAM,KAAKC,CAAa,IAAKtB,CAAS,CACxF,CAEJ,EAAGF,GAAQA,EAAK,CAAC,IAAM,MACvB,EACO,CACL,IAAAoB,EACA,KAAAC,EACA,iBAAAC,CACF,CACF,CC9HA,SAASG,IAAeC,EAAOC,EAAe,CAAC,EAAG,CAChD,GAAM,CACJ,YAAAC,EAAcC,EACd,sBAAAC,EACA,oBAAqBC,CACvB,EAAIJ,EAEE,CACJ,aAAAK,EAAe,CAAC,EAChB,WAAAC,EACA,mBAAAC,EAAqB,QACrB,GAAGC,CACL,EAAIT,EACE,CACJ,KAAMU,EACN,IAAKC,EACL,iBAAkBC,CACpB,EAAIC,GAAcJ,EAAYR,CAAY,EACtCa,EAAYF,EACVG,EAAkB,CAAC,EACnB,CACJ,CAACP,CAAkB,EAAGQ,EACtB,GAAGC,CACL,EAAIX,EAaJ,GAZA,OAAO,QAAQW,GAAqB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAACC,EAAKC,CAAM,IAAM,CACjE,GAAM,CACJ,KAAAC,EACA,IAAAC,EACA,iBAAAC,CACF,EAAIT,GAAcM,EAAQlB,CAAY,EACtCa,EAAYS,GAAUT,EAAWQ,CAAgB,EACjDP,EAAgBG,CAAG,EAAI,CACrB,IAAAG,EACA,KAAAD,CACF,CACF,CAAC,EACGJ,EAAe,CAEjB,GAAM,CACJ,IAAAK,EACA,KAAAD,EACA,iBAAAE,CACF,EAAIT,GAAcG,EAAef,CAAY,EAC7Ca,EAAYS,GAAUT,EAAWQ,CAAgB,EACjDP,EAAgBP,CAAkB,EAAI,CACpC,IAAAa,EACA,KAAAD,CACF,CACF,CACA,SAASjB,EAAmBqB,EAAaC,EAAW,CAnDtD,IAAAC,EAAAC,EAoDI,IAAIC,EAAOvB,EAWX,GAVIA,IAAa,UACfuB,EAAO,OAELvB,IAAa,SACfuB,EAAO,aAELvB,GAAA,MAAAA,EAAU,WAAW,UAAY,CAACA,EAAS,SAAS,IAAI,IAE1DuB,EAAO,IAAIvB,CAAQ,UAEjBmB,EAAa,CACf,GAAII,IAAS,QACX,OAAI5B,EAAM,qBAAuBwB,EACxB,QAGF,CACL,CAAC,mCAFUG,GAAAD,EAAApB,EAAakB,CAAW,IAAxB,YAAAE,EAA2B,UAA3B,YAAAC,EAAoC,OAAQH,CAEjB,GAAG,EAAG,CAC1C,QAASC,CACX,CACF,EAEF,GAAIG,EACF,OAAI5B,EAAM,qBAAuBwB,EACxB,UAAUI,EAAK,QAAQ,KAAM,OAAOJ,CAAW,CAAC,CAAC,GAEnDI,EAAK,QAAQ,KAAM,OAAOJ,CAAW,CAAC,CAEjD,CACA,MAAO,OACT,CA+DA,MAAO,CACL,KAAMV,EACN,kBAhEwB,IAAM,CAC9B,IAAIM,EAAO,CACT,GAAGV,CACL,EACA,cAAO,QAAQK,CAAe,EAAE,QAAQ,CAAC,CAAC,CAAE,CAC1C,KAAMc,CACR,CAAC,IAAM,CACLT,EAAOG,GAAUH,EAAMS,CAAU,CACnC,CAAC,EACMT,CACT,EAuDE,oBAtD0B,IAAM,CA/FpC,IAAAM,EAAAC,EAgGI,IAAMG,EAAc,CAAC,EACfN,EAAcxB,EAAM,oBAAsB,QAChD,SAAS+B,EAAiBb,EAAKG,EAAK,CAC9B,OAAO,KAAKA,CAAG,EAAE,QACnBS,EAAY,KAAK,OAAOZ,GAAQ,SAAW,CACzC,CAACA,CAAG,EAAG,CACL,GAAGG,CACL,CACF,EAAIH,CAAG,CAEX,CACAa,EAAiB7B,EAAY,OAAW,CACtC,GAAGS,CACL,CAAC,EAAGA,CAAO,EACX,GAAM,CACJ,CAACa,CAAW,EAAGQ,EACf,GAAGC,CACL,EAAIlB,EACJ,GAAIiB,EAAkB,CAEpB,GAAM,CACJ,IAAAX,CACF,EAAIW,EACEE,GAAgBP,GAAAD,EAAApB,EAAakB,CAAW,IAAxB,YAAAE,EAA2B,UAA3B,YAAAC,EAAoC,KACpDQ,EAAW,CAAC/B,GAAyB8B,EAAgB,CACzD,YAAaA,EACb,GAAGb,CACL,EAAI,CACF,GAAGA,CACL,EACAU,EAAiB7B,EAAYsB,EAAa,CACxC,GAAGW,CACL,CAAC,EAAGA,CAAQ,CACd,CACA,cAAO,QAAQF,CAAK,EAAE,QAAQ,CAAC,CAACf,EAAK,CACnC,IAAAG,CACF,CAAC,IAAM,CApIX,IAAAK,EAAAC,EAqIM,IAAMO,GAAgBP,GAAAD,EAAApB,EAAaY,CAAG,IAAhB,YAAAQ,EAAmB,UAAnB,YAAAC,EAA4B,KAC5CQ,EAAW,CAAC/B,GAAyB8B,EAAgB,CACzD,YAAaA,EACb,GAAGb,CACL,EAAI,CACF,GAAGA,CACL,EACAU,EAAiB7B,EAAYgB,EAAK,CAChC,GAAGiB,CACL,CAAC,EAAGA,CAAQ,CACd,CAAC,EACML,CACT,CAKA,CACF,CACA,IAAOM,GAAQrC,ICvJR,SAASsC,GAA6BC,EAAU,CACrD,OAAO,SAAgCC,EAAa,CAClD,OAAID,IAAa,QAMR,iCAAiCC,CAAW,IAEjDD,EACEA,EAAS,WAAW,OAAO,GAAK,CAACA,EAAS,SAAS,IAAI,EAClD,IAAIA,CAAQ,KAAKC,CAAW,OAEjCD,IAAa,QACR,IAAIC,CAAW,KAEpBD,IAAa,OACR,SAASC,CAAW,MAEtB,GAAGD,EAAS,QAAQ,KAAMC,CAAW,CAAC,KAExC,GACT,CACF,CCzBA,IAAAC,GAAuB,OCAhB,IAAMC,IAAuB,CAACC,EAAiBC,IAAmBD,EAAgB,OAAOE,GAAOD,EAAe,SAASC,CAAG,CAAC,EACtHC,GAAsB,CAACC,EAAaC,EAAYC,IAAa,CACxE,IAAMC,EAAqBH,EAAY,KAAK,CAAC,EAEzC,MAAM,QAAQC,CAAU,EAC1BA,EAAW,QAAQ,CAACG,EAAiBC,IAAU,CAC7CH,EAAS,CAACI,EAAkBC,IAAU,CAChCF,GAASL,EAAY,KAAK,OAAS,IACjCK,IAAU,EACZ,OAAO,OAAOC,EAAkBC,CAAK,EAErCD,EAAiBN,EAAY,GAAGA,EAAY,KAAKK,CAAK,CAAC,CAAC,EAAIE,EAGlE,EAAGH,CAAe,CACpB,CAAC,EACQH,GAAc,OAAOA,GAAe,UAIhC,OAAO,KAAKA,CAAU,EAAE,OAASD,EAAY,KAAK,OAASA,EAAY,KAAOL,IAAqBK,EAAY,KAAM,OAAO,KAAKC,CAAU,CAAC,GACpJ,QAAQH,GAAO,CAClB,GAAIE,EAAY,KAAK,SAASF,CAAG,EAAG,CAElC,IAAMM,EAAkBH,EAAWH,CAAG,EAClCM,IAAoB,QACtBF,EAAS,CAACI,EAAkBC,IAAU,CAChCJ,IAAuBL,EACzB,OAAO,OAAOQ,EAAkBC,CAAK,EAErCD,EAAiBN,EAAY,GAAGF,CAAG,CAAC,EAAIS,CAE5C,EAAGH,CAAe,CAEtB,CACF,CAAC,GACQ,OAAOH,GAAe,UAAY,OAAOA,GAAe,WACjEC,EAAS,CAACI,EAAkBC,IAAU,CACpC,OAAO,OAAOD,EAAkBC,CAAK,CACvC,EAAGN,CAAU,CAEjB,ECxCA,SAASO,GAAkBC,EAAM,CAC/B,MAAO,UAAUA,CAAI,SACvB,CACA,SAASC,GAAoBD,EAAM,CACjC,MAAO,iBAAiBA,CAAI,SAC9B,CACA,IAAME,GAAiB,iBACjBC,GAAmB,wBACZC,GAAyB,CAAC,CACrC,MAAAC,EACA,WAAAC,CACF,IAAM,CACJ,IAAMC,EAAS,CAAC,EAChB,OAAAC,GAAoBH,EAAM,YAAaC,EAAW,KAAM,CAACG,EAAaC,IAAU,CAC9E,IAAIC,EAAQ,CAAC,EACTD,IAAU,SACZC,EAAQ,CACN,UAAW,EACX,SAAU,EACV,SAAU,MACZ,GAEED,IAAU,SACZC,EAAQ,CACN,UAAW,OACX,SAAU,EACV,WAAY,EACZ,SAAU,OACV,MAAO,MACT,GAEE,OAAOD,GAAU,WACnBC,EAAQ,CACN,SAAU,EACV,UAAW,OACX,MAAO,eAAeD,CAAK,UAAUP,EAAgB,YAAYA,EAAgB,OAAOO,CAAK,YAAYT,GAAoB,QAAQ,CAAC,WAAWE,EAAgB,KACnK,GAEFM,EAAYF,EAAQI,CAAK,CAC3B,CAAC,EACMJ,CACT,EACaK,GAA2B,CAAC,CACvC,MAAAP,EACA,WAAAC,CACF,IAAM,CACJ,IAAMC,EAAS,CAAC,EAChB,OAAAC,GAAoBH,EAAM,YAAaC,EAAW,OAAQ,CAACG,EAAaC,IAAU,CAChF,IAAIC,EAAQ,CAAC,EACTD,IAAU,SACZC,EAAQ,CACN,WAAY,MACd,GAEE,OAAOD,GAAU,WACnBC,EAAQ,CACN,WAAYD,IAAU,EAAI,MAAQ,eAAeA,CAAK,UAAUP,EAAgB,WAAWF,GAAoB,QAAQ,CAAC,OAAOS,CAAK,UAAUP,EAAgB,IAChK,GAEFM,EAAYF,EAAQI,CAAK,CAC3B,CAAC,EACMJ,CACT,EACaM,GAA4B,CAAC,CACxC,MAAAR,EACA,WAAAC,CACF,IAAM,CACJ,GAAI,CAACA,EAAW,UACd,MAAO,CAAC,EAEV,IAAMC,EAAS,CACb,CAACL,EAAc,EAAG,EACpB,EACA,OAAAM,GAAoBH,EAAM,YAAaC,EAAW,QAAS,CAACG,EAAaC,IAAU,CACjF,IAAMI,EAAUJ,GAAA,KAAAA,EAAS,GACzBD,EAAYF,EAAQ,CAClB,CAACL,EAAc,EAAGY,EAClB,MAAO,CACL,CAACX,EAAgB,EAAGW,CACtB,CACF,CAAC,CACH,CAAC,EACMP,CACT,EACaQ,GAA+B,CAAC,CAC3C,MAAAV,EACA,WAAAC,CACF,IAAM,CACJ,GAAI,CAACA,EAAW,UACd,MAAO,CAAC,EAEV,IAAMC,EAAS,CAAC,EAChB,OAAAC,GAAoBH,EAAM,YAAaC,EAAW,WAAY,CAACG,EAAaC,IAAU,CA7FxF,IAAAM,EA8FI,IAAMC,EAAU,OAAOP,GAAU,SAAWA,GAAQM,EAAAX,EAAM,UAAN,YAAAW,EAAA,KAAAX,EAAgBK,GACpED,EAAYF,EAAQ,CAClB,CAACR,GAAkB,KAAK,CAAC,EAAGkB,EAC5B,MAAO,CACL,CAAChB,GAAoB,KAAK,CAAC,EAAGgB,CAChC,CACF,CAAC,CACH,CAAC,EACMV,CACT,EACaW,GAAkC,CAAC,CAC9C,MAAAb,EACA,WAAAC,CACF,IAAM,CACJ,GAAI,CAACA,EAAW,UACd,MAAO,CAAC,EAEV,IAAMC,EAAS,CAAC,EAChB,OAAAC,GAAoBH,EAAM,YAAaC,EAAW,cAAe,CAACG,EAAaC,IAAU,CAhH3F,IAAAM,EAiHI,IAAMC,EAAU,OAAOP,GAAU,SAAWA,GAAQM,EAAAX,EAAM,UAAN,YAAAW,EAAA,KAAAX,EAAgBK,GACpED,EAAYF,EAAQ,CAClB,CAACR,GAAkB,QAAQ,CAAC,EAAGkB,EAC/B,MAAO,CACL,CAAChB,GAAoB,QAAQ,CAAC,EAAGgB,CACnC,CACF,CAAC,CACH,CAAC,EACMV,CACT,EACaY,GAA8B,CAAC,CAC1C,MAAAd,EACA,WAAAC,CACF,IAAM,CACJ,GAAI,CAACA,EAAW,UACd,MAAO,CAAC,EAEV,IAAMC,EAAS,CAAC,EAChB,OAAAC,GAAoBH,EAAM,YAAaC,EAAW,UAAW,CAACG,EAAaC,IAAU,CACnFD,EAAYF,EAAQ,CAClB,cAAeG,CACjB,CAAC,CACH,CAAC,EACMH,CACT,EACaa,GAAqB,CAAC,CACjC,WAAAd,CACF,KACS,CACL,SAAU,EACV,UAAW,aACX,GAAIA,EAAW,WAAa,CAC1B,QAAS,OACT,SAAU,OACV,GAAIA,EAAW,MAAQA,EAAW,OAAS,QAAU,CACnD,SAAUA,EAAW,IACvB,EACA,IAAK,OAAOP,GAAkB,KAAK,CAAC,SAASA,GAAkB,QAAQ,CAAC,GAC1E,CACF,GAEWsB,GAAyBC,GAAQ,CAC5C,IAAMC,EAAa,CAAC,EACpB,cAAO,QAAQD,CAAI,EAAE,QAAQ,CAAC,CAACE,EAAKd,CAAK,IAAM,CACzCA,IAAU,IAASA,IAAU,QAC/Ba,EAAW,KAAK,QAAQC,CAAG,IAAI,OAAOd,CAAK,CAAC,EAAE,CAElD,CAAC,EACMa,CACT,EACaE,GAA4B,CAACR,EAASS,EAAqB,OAAS,CAC/E,SAASC,EAAeC,EAAK,CAC3B,OAAIA,IAAQ,OACH,GAEF,OAAOA,GAAQ,UAAY,CAAC,OAAO,MAAM,OAAOA,CAAG,CAAC,GAAK,OAAOA,GAAQ,UAAYA,EAAM,CACnG,CACA,GAAID,EAAeV,CAAO,EACxB,MAAO,CAAC,WAAWS,CAAkB,IAAI,OAAOT,CAAO,CAAC,EAAE,EAE5D,GAAI,OAAOA,GAAY,UAAY,CAAC,MAAM,QAAQA,CAAO,EAAG,CAC1D,IAAMM,EAAa,CAAC,EACpB,cAAO,QAAQN,CAAO,EAAE,QAAQ,CAAC,CAACO,EAAKd,CAAK,IAAM,CAC5CiB,EAAejB,CAAK,GACtBa,EAAW,KAAK,WAAWC,CAAG,IAAI,OAAOd,CAAK,CAAC,EAAE,CAErD,CAAC,EACMa,CACT,CACA,MAAO,CAAC,CACV,EACaM,GAA2BC,GAClCA,IAAc,OACT,CAAC,EAEN,OAAOA,GAAc,SAChB,OAAO,QAAQA,CAAS,EAAE,IAAI,CAAC,CAACN,EAAKd,CAAK,IAAM,aAAac,CAAG,IAAId,CAAK,EAAE,EAE7E,CAAC,gBAAgB,OAAOoB,CAAS,CAAC,EAAE,EFnL7C,IAAAC,GAA4B,OACtBC,IAAeC,GAAY,EAG3BC,IAA+BC,GAAa,MAAO,CACvD,KAAM,UACN,KAAM,OACN,kBAAmB,CAACC,EAAOC,IAAWA,EAAO,IAC/C,CAAC,EACD,SAASC,IAAqBF,EAAO,CACnC,OAAOG,GAAoB,CACzB,MAAAH,EACA,KAAM,UACN,aAAAJ,GACF,CAAC,CACH,CACe,SAARQ,GAA4BC,EAAU,CAAC,EAAG,CAC/C,GAAM,CAEJ,sBAAAC,EAAwBR,IACxB,cAAAK,EAAgBD,IAChB,cAAAK,EAAgB,SAClB,EAAIF,EACEG,EAAoB,CAACC,EAAYC,IAAU,CAC/C,GAAM,CACJ,UAAAC,EACA,UAAAC,EACA,QAAAC,EACA,KAAAC,EACA,KAAAC,CACF,EAAIN,EACEO,EAAQ,CACZ,KAAM,CAAC,OAAQL,GAAa,YAAaG,IAAS,QAAU,WAAW,OAAOA,CAAI,CAAC,GAAI,GAAGG,GAAyBL,CAAS,EAAG,GAAGM,GAAuBH,CAAI,EAAG,GAAIJ,EAAYQ,GAA0BN,EAASH,EAAM,YAAY,KAAK,CAAC,CAAC,EAAI,CAAC,CAAE,CACrP,EACA,OAAOU,GAAeJ,EAAOK,GAAQC,GAAqBf,EAAec,CAAI,EAAG,CAAC,CAAC,CACpF,EACA,SAASE,EAAoBC,EAAWC,EAAaC,EAAiB,IAAM,GAAM,CAChF,IAAMC,EAAa,CAAC,EACpB,OAAIH,IAAc,OAGd,MAAM,QAAQA,CAAS,EACzBA,EAAU,QAAQ,CAACI,EAAOC,IAAU,CAC9BD,IAAU,MAAQF,EAAeE,CAAK,GAAKH,EAAY,KAAKI,CAAK,IACnEF,EAAWF,EAAY,KAAKI,CAAK,CAAC,EAAID,EAE1C,CAAC,EACQ,OAAOJ,GAAc,SAC9B,OAAO,KAAKA,CAAS,EAAE,QAAQM,GAAO,CACpC,IAAMF,EAAQJ,EAAUM,CAAG,EACvBF,GAAU,MAA+BF,EAAeE,CAAK,IAC/DD,EAAWG,CAAG,EAAIF,EAEtB,CAAC,EAEDD,EAAWF,EAAY,KAAK,CAAC,CAAC,EAAID,GAE7BG,CACT,CACA,IAAMI,EAAWzB,EAAsB0B,GAA2BC,GAAiCC,GAA8BC,GAAwBC,GAA6BC,GAAoBC,EAAwB,EAC5NC,EAA0B,cAAW,SAAcC,EAASC,EAAK,CAxEzE,IAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAyEI,IAAMrC,EAAQsC,GAAS,EACjBC,EAAa9C,EAAcqC,CAAO,EAClCxC,EAAQkD,GAAaD,CAAU,EAC/B,CACJ,UAAAE,EACA,SAAAC,EACA,QAASC,EAAc,GACvB,UAAA1C,EAAY,GACZ,UAAA2C,EAAY,MACZ,UAAA1C,EAAY,MACZ,KAAAE,EAAO,OACP,KAAMyC,EAAW,CAAC,EAClB,OAAQC,EAAa,CAAC,EACtB,QAASC,EAAc,EACvB,WAAYC,EAAiBD,EAC7B,cAAeE,EAAoBF,EACnC,eAAgBG,EAAQ,EACxB,GAAGC,CACL,EAAI7D,EACEe,EAAOQ,EAAoBgC,EAAU7C,EAAM,YAAaoD,IAAOA,KAAQ,EAAK,EAC5EC,EAASxC,EAAoBiC,EAAY9C,EAAM,WAAW,EAC1DsD,GAAUtB,GAAAF,EAAQ,UAAR,KAAAE,GAAoBkB,EAAQ,OAAYP,EAClDxC,GAAU8B,GAAAH,EAAQ,UAAR,KAAAG,GAAoBiB,EAAQ,OAAYH,EAClDQ,GAAapB,IAAAD,GAAAJ,EAAQ,aAAR,KAAAI,GAAsBJ,EAAQ,UAA9B,KAAAK,GAA0Ce,EAAQ,OAAYF,EAC3EQ,IAAgBnB,IAAAD,GAAAN,EAAQ,gBAAR,KAAAM,GAAyBN,EAAQ,UAAjC,KAAAO,GAA6Ca,EAAQ,OAAYD,EACjFlD,GAAa,CACjB,GAAGT,EACH,MAAA4D,EACA,QAAAI,EACA,UAAArD,EACA,UAAAC,EACA,KAAAE,EACA,QAAAD,EACA,WAAAoD,EACA,cAAAC,GACA,KAAAnD,EACA,OAAAgD,CACF,EACMI,GAAU3D,EAAkBC,GAAYC,CAAK,EACnD,SAAoB,GAAA0D,KAAKrC,EAAU,CACjC,IAAKU,EACL,GAAIa,EACJ,WAAY7C,GACZ,UAAW4D,EAAKF,GAAQ,KAAMhB,CAAS,EACvC,GAAGU,EACH,SAAgB,YAAS,IAAIT,EAAUkB,IAAS,CAtHtD,IAAA5B,GAAAC,GAuHQ,OAAuB,kBAAe2B,EAAK,GAAKC,GAAaD,GAAO,CAAC,MAAM,CAAC,GAAK3D,GAAa2D,GAAM,MAAM,UAC9E,gBAAaA,GAAO,CAC5C,gBAAgB3B,IAAAD,GAAA4B,GAAM,QAAN,YAAA5B,GAAa,iBAAb,KAAAC,GAA+BiB,EAAQ,CACzD,CAAC,EAEIU,EACT,CAAC,CACH,CAAC,CACH,CAAC,EAkBD,OAAA/B,EAAK,QAAU,OACRA,CACT,CGnJA,IAAMiC,IAAS,CACb,MAAO,OACP,MAAO,MACT,EACOC,GAAQD,ICJf,IAAME,IAAO,CACX,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,KAAM,UACN,KAAM,UACN,KAAM,UACN,KAAM,SACR,EACOC,GAAQD,IChBf,IAAME,IAAS,CACb,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,KAAM,UACN,KAAM,UACN,KAAM,UACN,KAAM,SACR,EACOC,GAAQD,IChBf,IAAME,IAAM,CACV,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,KAAM,UACN,KAAM,UACN,KAAM,UACN,KAAM,SACR,EACOC,GAAQD,IChBf,IAAME,IAAS,CACb,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,KAAM,UACN,KAAM,UACN,KAAM,UACN,KAAM,SACR,EACOC,GAAQD,IChBf,IAAME,IAAO,CACX,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,KAAM,UACN,KAAM,UACN,KAAM,UACN,KAAM,SACR,EACOC,GAAQD,IChBf,IAAME,IAAY,CAChB,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,KAAM,UACN,KAAM,UACN,KAAM,UACN,KAAM,SACR,EACOC,GAAQD,IChBf,IAAME,IAAQ,CACZ,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,KAAM,UACN,KAAM,UACN,KAAM,UACN,KAAM,SACR,EACOC,GA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", - "names": ["require_object_assign", "__commonJSMin", "exports", "module", "getOwnPropertySymbols", "hasOwnProperty", "propIsEnumerable", "toObject", "val", "shouldUseNative", "test1", "test2", "i", "order2", "test3", "letter", "err", "target", "source", "from", "to", "symbols", "s", "key", "require_react_production_min", "__commonJSMin", "exports", "l", "n", "p", "q", "r", "t", "u", "v", "w", "x", "y", "a", "z", "b", "c", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "e", "d", "k", "h", "g", "f", "m", "K", "L", "escape", "M", "N", "O", "P", "Q", "R", "S", "T", "require_react", "__commonJSMin", "exports", "module", "require_scheduler_production_min", "__commonJSMin", "exports", "f", "g", "h", "k", "l", "p", "q", "t", "u", "w", "a", "b", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "c", "d", "e", "I", "J", "K", "m", "n", "v", "r", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "require_scheduler", "__commonJSMin", "exports", "module", "require_react_dom_production_min", "__commonJSMin", "exports", "aa", "m", "r", "y", "a", "b", "c", "ba", "ca", "da", "ea", "fa", "ha", "ia", "ja", "ka", "la", "ma", "d", "na", "B", "e", "f", "g", "D", "oa", "pa", "qa", "ra", "sa", "ta", "ua", "wa", "xa", "ya", "za", "Aa", "Ba", "Ca", "Da", "Ea", "Fa", "Ga", "Ha", "Ia", "Ja", "E", "Ka", "La", "Ma", "Na", "Oa", "Pa", "k", "h", "Qa", "Ra", "Sa", "Ta", "Ua", "Va", "Wa", "Xa", "Ya", "Za", "$a", "ab", "bb", "cb", "db", "eb", "fb", "gb", "hb", "ib", "jb", "kb", "lb", "mb", "nb", "ob", "pb", "qb", "rb", "sb", "tb", "ub", "vb", "wb", "xb", "yb", "zb", "Ab", "Bb", "Cb", "Db", "Eb", "Fb", "Gb", "Hb", "Ib", "Jb", "Kb", "Lb", "Mb", "Nb", "Ob", "Pb", "Qb", "Rb", "n", "Sb", "Tb", "Ub", "Vb", "Wb", "Xb", "Yb", "Zb", "$b", "ac", "bc", "cc", "dc", "ec", "fc", "gc", "hc", "ic", "jc", "kc", "lc", "mc", "nc", "oc", "pc", "qc", "rc", "sc", "tc", "uc", "vc", "wc", "xc", "yc", "zc", "Ac", "Bc", "Cc", "Dc", "Ec", "Fc", "Gc", "Hc", "Ic", "Jc", "Kc", "Lc", "Mc", "Nc", "Oc", "Pc", "Qc", "F", "Rc", "Sc", "Tc", "Uc", "Vc", "Wc", "Xc", "Yc", "Zc", "$c", "ad", "bd", "cd", "dd", "ed", "fd", "gd", "hd", "id", "jd", "kd", "ld", "md", "nd", "od", "pd", "qd", "rd", "sd", "td", "ud", "vd", "wd", "xd", "yd", "Ad", "zd", "Bd", "Cd", "Dd", "Ed", "Fd", "Gd", "Hd", "Id", "Jd", "Kd", "Ld", "Md", "Nd", "Od", "Pd", "Qd", "Rd", "Sd", "Td", "Ud", "Vd", "Wd", "Xd", "Yd", "Zd", "$d", "ae", "be", "ce", "de", "ee", "fe", "ge", "he", "ie", "je", "ke", "le", "me", "ne", "oe", "pe", "qe", "re", "se", "te", "ue", "ve", "we", "ye", "ze", "xe", "Ae", "Be", "Ce", "De", "Ee", "Fe", "Ge", "He", "Ie", "Je", "Ke", "Le", "Me", "Ne", "Oe", "Pe", "Qe", "Re", "Se", "Te", "Ue", "Ve", "We", "Xe", "Ye", "Ze", "G", "$e", "af", "bf", "cf", "df", "x", "w", "z", "u", "t", "q", "v", "ef", "ff", "gf", "hf", "J", "K", "Q", "L", "jf", "kf", "lf", "mf", "nf", "of", "pf", "qf", "rf", "sf", "tf", "uf", "vf", "wf", "xf", "yf", "zf", "Af", "Bf", "H", "I", "Cf", "M", "N", "Df", "Ef", "Ff", "Gf", "Hf", "If", "Jf", "Kf", "Lf", "Mf", "Nf", "Of", "Pf", "Qf", "Rf", "Sf", "Tf", "Uf", "Vf", "Wf", "Xf", "Yf", "Zf", "$f", "ag", "bg", "cg", "dg", "O", "eg", "fg", "gg", "hg", "ig", "jg", "kg", "lg", "mg", "ng", "og", "pg", "qg", "rg", "sg", "tg", "ug", "vg", "wg", "xg", "yg", "zg", "Ag", "Bg", "Cg", "A", "p", "C", "Dg", "Eg", "Fg", "Gg", "Kg", "Hg", "Ig", "Jg", "Lg", "Mg", "Ng", "Og", "Pg", "Qg", "Rg", "Sg", "Tg", "Ug", "Vg", "Wg", "Xg", "l", "Yg", "Zg", "$g", "ah", "bh", "ch", "dh", "eh", "fh", "gh", "hh", "P", "ih", "jh", "kh", "lh", "mh", "nh", "oh", "ph", "qh", "rh", "sh", "th", "uh", "vh", "wh", "xh", "R", "S", "T", "yh", "zh", "Ah", "Bh", "Ch", "Dh", "Eh", "Fh", "Gh", "Hh", "Ih", "Jh", "Kh", "Lh", "Mh", "Nh", "U", "Oh", "Ph", "Qh", "Rh", "Sh", "Th", "Uh", "Vh", "Wh", "Xh", "Yh", "Zh", "$h", "ai", "bi", "ci", "di", "ei", "fi", "gi", "hi", "ii", "ji", "ki", "li", "mi", "ni", "oi", "pi", "qi", "ri", "si", "ti", "ui", "vi", "wi", "xi", "yi", "zi", "Ai", "Bi", "Ci", "Di", "Ei", "Fi", "Gi", "V", "Hi", "Ii", "W", "Ji", "Ki", "Li", "Mi", "Ni", "Oi", "Pi", "Qi", "Ri", "Si", "Ti", "Ui", "Vi", "Wi", "Xi", "Yi", "Zi", "$i", "aj", "bj", "cj", "dj", "ej", "fj", "gj", "hj", "ij", "jj", "kj", "lj", "mj", "nj", "oj", "pj", "X", "Y", "qj", "rj", "sj", "tj", "uj", "vj", "wj", "Z", "xj", "yj", "zj", "Aj", "Bj", "Cj", "Dj", "Ej", "Fj", "Gj", "Hj", "Ij", "Jj", "Kj", "Lj", "Mj", "Nj", "Oj", "Pj", "Qj", "Rj", "Sj", "Tj", "Uj", "Vj", "Wj", "Xj", "Yj", "Zj", "va", "ak", "bk", "ck", "dk", "ek", "fk", "gk", "hk", "ik", "jk", "kk", "lk", "mk", "nk", "ok", "pk", "qk", "rk", "sk", "tk", "uk", "vk", "wk", "xk", "yk", "require_react_dom", "__commonJSMin", "exports", "module", "checkDCE", "err", "require_interopRequireDefault", "__commonJSMin", "exports", "module", "_interopRequireDefault", "require_formatMuiErrorMessage", "__commonJSMin", "exports", "formatMuiErrorMessage", "code", "url", "i", "require_formatMuiErrorMessage", "__commonJSMin", "exports", "_interopRequireDefault", "_formatMuiErrorMessage", "_extends", "n", "e", "t", "r", "init_extends", "__esmMin", "memoize", "fn", "cache", "arg", "init_emotion_memoize_esm", "__esmMin", "reactPropsRegex", "isPropValid", "init_emotion_is_prop_valid_esm", "__esmMin", "init_emotion_memoize_esm", "memoize", "prop", "sheetForTag", "tag", "i", "createStyleElement", "options", "isDevelopment", "StyleSheet", "init_emotion_sheet_esm", "__esmMin", "_this", "before", "_proto", "nodes", "rule", "sheet", "e", "_tag$parentNode", "MS", "MOZ", "WEBKIT", "COMMENT", "RULESET", "DECLARATION", "IMPORT", "KEYFRAMES", "LAYER", "init_Enum", "__esmMin", "hash", "value", "length", "charat", "trim", "match", "pattern", "replace", "replacement", "indexof", "search", "index", "substr", "begin", "end", "strlen", "sizeof", "append", "array", "combine", "callback", "abs", "from", "assign", "init_Utility", "__esmMin", "node", "value", "root", "parent", "type", "props", "children", "length", "line", "column", "copy", "assign", "char", "character", "prev", "position", "charat", "characters", "next", "peek", "caret", "slice", "begin", "end", "substr", "token", "alloc", "strlen", "dealloc", "delimit", "trim", "delimiter", "whitespace", "escaping", "index", "count", "commenter", "from", "identifier", "init_Tokenizer", "__esmMin", "init_Utility", "compile", "value", "dealloc", "parse", "alloc", "root", "parent", "rule", "rules", "rulesets", "pseudo", "points", "declarations", "index", "offset", "length", "atrule", "property", "previous", "variable", "scanning", "ampersand", "character", "type", "props", "children", "reference", "characters", "next", "charat", "indexof", "replace", "delimit", "whitespace", "escaping", "caret", "peek", "append", "comment", "commenter", "strlen", "declaration", "ruleset", "prev", "from", "identifier", "post", "size", "sizeof", "i", "j", "k", "y", "substr", "abs", "z", "trim", "node", "RULESET", "COMMENT", "char", "DECLARATION", "init_Parser", "__esmMin", "init_Enum", "init_Utility", "init_Tokenizer", "init_Prefixer", "__esmMin", "serialize", "children", "callback", "output", "length", "sizeof", "i", "stringify", "element", "index", "LAYER", "IMPORT", "DECLARATION", "COMMENT", "KEYFRAMES", "RULESET", "strlen", "init_Serializer", "__esmMin", "init_Enum", "init_Utility", "middleware", "collection", "length", "sizeof", "element", "index", "children", "callback", "output", "rulesheet", "init_Middleware", "__esmMin", "init_Utility", "init_stylis", "__esmMin", "init_Enum", "init_Utility", "init_Parser", "init_Prefixer", "init_Tokenizer", "init_Serializer", "init_Middleware", "weakMemoize", "init_emotion_weak_memoize_esm", "__esmMin", "func", "cache", "arg", "ret", "init_emotion_memoize_esm", "__esmMin", "emotion_cache_browser_esm_exports", "__export", "createCache", "prefix", "value", "length", "hash", "WEBKIT", "MOZ", "MS", "replace", "strlen", "charat", "indexof", "identifierWithPointTracking", "toRules", "getRules", "fixedElements", "compat", "removeLabel", "prefixer", "defaultStylisPlugins", "init_emotion_cache_browser_esm", "__esmMin", "init_emotion_sheet_esm", "init_stylis", "init_emotion_weak_memoize_esm", "init_emotion_memoize_esm", "begin", "points", "index", "previous", "character", "peek", "token", "next", "slice", "position", "parsed", "delimit", "from", "dealloc", "alloc", "element", "parent", "isImplicitRule", "rules", "parentRules", "i", "k", "j", "children", "callback", "DECLARATION", "KEYFRAMES", "serialize", "copy", "RULESET", "combine", "match", "options", "key", "ssrStyles", "node", "dataEmotionAttribute", "stylisPlugins", "inserted", "container", "nodesToHydrate", "attrib", "_insert", "omnipresentPlugins", "currentSheet", "finalizingPlugins", "stringify", "rulesheet", "rule", "serializer", "middleware", "stylis", "styles", "compile", "selector", "serialized", "sheet", "shouldCache", "cache", "StyleSheet", "require_react_is_production_min", "__commonJSMin", "exports", "b", "c", "d", "e", "f", "g", "h", "k", "l", "m", "n", "p", "q", "r", "t", "v", "w", "x", "y", "z", "a", "u", "A", "require_react_is", "__commonJSMin", "exports", "module", "require_hoist_non_react_statics_cjs", "__commonJSMin", "exports", "module", "reactIs", "REACT_STATICS", "KNOWN_STATICS", "FORWARD_REF_STATICS", "MEMO_STATICS", "TYPE_STATICS", "getStatics", "component", "defineProperty", "getOwnPropertyNames", "getOwnPropertySymbols", "getOwnPropertyDescriptor", "getPrototypeOf", "objectPrototype", "hoistNonReactStatics", "targetComponent", "sourceComponent", "blacklist", "inheritedComponent", "keys", "targetStatics", "sourceStatics", "key", "descriptor", "e", "import_hoist_non_react_statics", "hoistNonReactStatics", "init_emotion_react_isolated_hnrs_browser_esm", "__esmMin", "targetComponent", "sourceComponent", "hoistNonReactStatics$1", "getRegisteredStyles", "registered", "registeredStyles", "classNames", "rawClassName", "className", "isBrowser", "registerStyles", "insertStyles", "init_emotion_utils_browser_esm", "__esmMin", "cache", "serialized", "isStringTag", "current", "murmur2", "str", "h", "k", "i", "len", "init_emotion_hash_esm", "__esmMin", "unitlessKeys", "init_emotion_unitless_esm", "__esmMin", "memoize", "fn", "cache", "arg", "init_emotion_memoize_esm", "__esmMin", "handleInterpolation", "mergedProps", "registered", "interpolation", "componentSelector", "keyframes", "cursor", "serializedStyles", "next", "styles", "createStringFromObject", "previousCursor", "result", "asString", "cached", "obj", "string", "i", "key", "value", "isProcessableValue", "processStyleName", "processStyleValue", "isDevelopment", "noComponentSelectorMessage", "_i", "interpolated", "serializeStyles", "args", "stringMode", "strings", "asTemplateStringsArr", "templateStringsArr", "labelPattern", "identifierName", "match", "name", "murmur2", "hyphenateRegex", "animationRegex", "isCustomProperty", "init_emotion_serialize_esm", "__esmMin", "init_emotion_hash_esm", "init_emotion_unitless_esm", "init_emotion_memoize_esm", "property", "memoize", "styleName", "p1", "p2", "unitlessKeys", "React", "syncFallback", "useInsertionEffect", "useInsertionEffectAlwaysWithSyncFallback", "useInsertionEffectWithLayoutFallback", "init_emotion_use_insertion_effect_with_fallbacks_browser_esm", "__esmMin", "create", "withTheme", "Component", "componentName", "render", "props", "ref", "theme", "ThemeContext", "_extends", "WithTheme", "hoistNonReactStatics", "React", "import_react", "isDevelopment", "EmotionCacheContext", "CacheProvider", "__unsafe_useEmotionCache", "withEmotionCache", "useTheme", "getTheme", "createCacheWithTheme", "ThemeProvider", "hasOwn", "typePropName", "createEmotionProps", "Insertion", "Emotion", "Emotion$1", "init_emotion_element_5486c51c_browser_esm", "__esmMin", "init_emotion_cache_browser_esm", "init_extends", "init_emotion_weak_memoize_esm", "init_emotion_react_isolated_hnrs_browser_esm", "init_emotion_utils_browser_esm", "init_emotion_serialize_esm", "init_emotion_use_insertion_effect_with_fallbacks_browser_esm", "createCache", "func", "cache", "outerTheme", "mergedTheme", "weakMemoize", "type", "newProps", "key", "_ref", "serialized", "isStringTag", "registerStyles", "useInsertionEffectAlwaysWithSyncFallback", "insertStyles", "cssProp", "WrappedComponent", "registeredStyles", "className", "getRegisteredStyles", "serializeStyles", "emotion_react_browser_esm_exports", "__export", "CacheProvider", "ClassNames", "Global", "ThemeContext", "ThemeProvider", "__unsafe_useEmotionCache", "jsx", "css", "keyframes", "useTheme", "withEmotionCache", "withTheme", "_len", "args", "_key", "serializeStyles", "merge", "registered", "className", "registeredStyles", "rawClassName", "getRegisteredStyles", "React", "import_hoist_non_react_statics", "classnames", "Insertion", "init_emotion_react_browser_esm", "__esmMin", "init_emotion_element_5486c51c_browser_esm", "init_emotion_utils_browser_esm", "init_emotion_use_insertion_effect_with_fallbacks_browser_esm", "init_emotion_serialize_esm", "init_emotion_cache_browser_esm", "init_extends", "init_emotion_weak_memoize_esm", "type", "props", "hasOwn", "argsLength", "createElementArgArray", "Emotion$1", "createEmotionProps", "i", "cache", "styles", "serialized", "sheetRef", "useInsertionEffectWithLayoutFallback", "key", "sheet", "rehydrating", "node", "sheetRefCurrent", "insertStyles", "element", "insertable", "name", "len", "cls", "arg", "toAdd", "k", "_ref", "serializedArr", "useInsertionEffectAlwaysWithSyncFallback", "hasRendered", "isDevelopment", "registerStyles", "cx", "_len2", "_key2", "content", "ele", "React", "testOmitPropsOnStringTag", "testOmitPropsOnComponent", "getDefaultShouldForwardProp", "composeShouldForwardProps", "isDevelopment", "Insertion", "createStyled", "init_emotion_styled_base_browser_esm", "__esmMin", "init_extends", "init_emotion_is_prop_valid_esm", "init_emotion_react_browser_esm", "init_emotion_utils_browser_esm", "init_emotion_serialize_esm", "init_emotion_use_insertion_effect_with_fallbacks_browser_esm", "isPropValid", "key", "tag", "options", "isReal", "shouldForwardProp", "optionsShouldForwardProp", "propName", "_ref", "cache", "serialized", "isStringTag", "registerStyles", "useInsertionEffectAlwaysWithSyncFallback", "insertStyles", "baseTag", "identifierName", "targetClassName", "defaultShouldForwardProp", "shouldUseAs", "args", "styles", "len", "i", "Styled", "withEmotionCache", "props", "ref", "FinalTag", "className", "classInterpolations", "mergedProps", "ThemeContext", "getRegisteredStyles", "serializeStyles", "finalShouldForwardProp", "newProps", "_key", "nextTag", "nextOptions", "_extends", "emotion_styled_browser_esm_exports", "__export", "newStyled", "import_react", "tags", "init_emotion_styled_browser_esm", "__esmMin", "init_emotion_styled_base_browser_esm", "init_extends", "init_emotion_is_prop_valid_esm", "init_emotion_utils_browser_esm", "init_emotion_serialize_esm", "init_emotion_use_insertion_effect_with_fallbacks_browser_esm", "createStyled", "tagName", "require_ReactPropTypesSecret", "__commonJSMin", "exports", "module", "ReactPropTypesSecret", "require_factoryWithThrowingShims", "__commonJSMin", "exports", "module", "ReactPropTypesSecret", "emptyFunction", "emptyFunctionWithReset", "shim", "props", "propName", "componentName", "location", "propFullName", "secret", "err", "getShim", "ReactPropTypes", "require_prop_types", "__commonJSMin", "exports", "module", "ReactIs", "throwOnDirectAccess", "require_react_jsx_runtime_production_min", "__commonJSMin", "exports", "f", "g", "h", "m", "n", "p", "q", "c", "a", "k", "b", "d", "e", "l", "require_jsx_runtime", "__commonJSMin", "exports", "module", "require_StyledEngineProvider", "__commonJSMin", "exports", "_interopRequireDefault", "StyledEngineProvider", "React", "_interopRequireWildcard", "_propTypes", "_react2", "_cache", "_jsxRuntime", "_getRequireWildcardCache", "r", "t", "e", "n", "u", "i", "cache", "props", "injectFirst", "children", "require_StyledEngineProvider", "__commonJSMin", "exports", "_interopRequireDefault", "_StyledEngineProvider", "require_GlobalStyles", "__commonJSMin", "exports", "_interopRequireDefault", "GlobalStyles", "React", "_interopRequireWildcard", "_propTypes", "_react2", "_jsxRuntime", "_getRequireWildcardCache", "r", "t", "e", "n", "u", "i", "isEmpty", "obj", "props", "styles", "defaultTheme", "globalStyles", "themeInput", "require_GlobalStyles", "__commonJSMin", "exports", "_interopRequireDefault", "_GlobalStyles", "require_node", "__commonJSMin", "exports", "_interopRequireDefault", "_GlobalStyles", "_StyledEngineProvider", "_react", "styled", "_styled", "tag", "options", "internal_processStyles", "processor", "require_extends", "__commonJSMin", "exports", "module", "_extends", "n", "e", "t", "r", "require_deepmerge", "__commonJSMin", "exports", "_interopRequireDefault", "deepmerge", "isPlainObject", "_extends2", "React", "_interopRequireWildcard", "_getRequireWildcardCache", "r", "t", "e", "n", "u", "i", "item", "prototype", "deepClone", "source", "output", "key", "target", "options", "require_deepmerge", "__commonJSMin", "exports", "_exportNames", "_deepmerge", "_interopRequireWildcard", "key", "_getRequireWildcardCache", "r", "t", "e", "n", "u", "i", "require_capitalize", "__commonJSMin", "exports", "_interopRequireDefault", "capitalize", "_formatMuiErrorMessage2", "string", "require_capitalize", "__commonJSMin", "exports", "_interopRequireDefault", "_capitalize", "require_react_is_production_min", "__commonJSMin", "exports", "b", "c", "d", "e", "f", "g", "h", "k", "l", "m", "n", "p", "q", "t", "u", "v", "a", "r", "require_react_is", "__commonJSMin", "exports", "module", "require_getDisplayName", "__commonJSMin", "exports", "getDisplayName", "getFunctionName", "_reactIs", "fnNameMatchRegex", "fn", "match", "getFunctionComponentName", "Component", "fallback", "getWrappedName", "outerType", "innerType", "wrapperName", "functionName", "require_getDisplayName", "__commonJSMin", "exports", "_exportNames", "_getDisplayName", "_interopRequireWildcard", "key", "_getRequireWildcardCache", "r", "t", "e", "n", "u", "i", "require_clamp", "__commonJSMin", "exports", "clamp", "val", "min", "max", "_default", "require_clamp", "__commonJSMin", "exports", "_interopRequireDefault", "_clamp", "require_merge", "__commonJSMin", "exports", "_interopRequireDefault", "_deepmerge", "merge", "acc", "item", "_default", "require_responsivePropType", "__commonJSMin", "exports", "_interopRequireDefault", "_propTypes", "responsivePropType", "_default", "require_breakpoints", "__commonJSMin", "exports", "_interopRequireDefault", "computeBreakpointsBase", "createEmptyBreakpointObject", "handleBreakpoints", "mergeBreakpointsInOrder", "removeUnusedBreakpoints", "resolveBreakpointValues", "_extends2", "_propTypes", "_deepmerge", "_merge", "values", "defaultBreakpoints", "key", "props", "propValue", "styleFromPropValue", "theme", "themeBreakpoints", "acc", "item", "index", "breakpoint", "mediaKey", "cssKey", "breakpoints", "styleFunction", "newStyleFunction", "base", "extended", "breakpointsInput", "_breakpointsInput$key", "breakpointStyleKey", "breakpointKeys", "style", "breakpointOutput", "styles", "emptyBreakpoints", "mergedOutput", "prev", "next", "breakpointValues", "breakpointsKeys", "i", "customBase", "keys", "previous", "_default", "require_style", "__commonJSMin", "exports", "_interopRequireDefault", "getPath", "getStyleValue", "_capitalize", "_responsivePropType", "_breakpoints", "obj", "path", "checkVars", "val", "acc", "item", "themeMapping", "transform", "propValueFinal", "userValue", "value", "style", "options", "prop", "cssProperty", "themeKey", "fn", "props", "propValue", "theme", "styleFromPropValue", "_default", "require_memoize", "__commonJSMin", "exports", "memoize", "fn", "cache", "arg", "require_spacing", "__commonJSMin", "exports", "_interopRequireDefault", "createUnarySpacing", "createUnaryUnit", "getStyleFromPropValue", "getValue", "margin", "padding", "_responsivePropType", "_breakpoints", "_style", "_merge", "_memoize", "properties", "directions", "aliases", "getCssProperties", "prop", "a", "b", "property", "direction", "dir", "marginKeys", "paddingKeys", "spacingKeys", "theme", "themeKey", "defaultValue", "propName", "_getPath", "themeSpacing", "abs", "transformer", "propValue", "transformed", "cssProperties", "acc", "cssProperty", "resolveCssProperty", "props", "keys", "styleFromPropValue", "style", "spacing", "_default", "require_compose", "__commonJSMin", "exports", "_interopRequireDefault", "_merge", "compose", "styles", "handlers", "acc", "style", "prop", "fn", "props", "_default", "require_borders", "__commonJSMin", "exports", "_interopRequireDefault", "borderTransform", "_responsivePropType", "_style", "_compose", "_spacing", "_breakpoints", "value", "createBorderStyle", "prop", "transform", "border", "borderTop", "borderRight", "borderBottom", "borderLeft", "borderColor", "borderTopColor", "borderRightColor", "borderBottomColor", "borderLeftColor", "outline", "outlineColor", "borderRadius", "props", "transformer", "styleFromPropValue", "propValue", "borders", "_default", "require_cssGrid", "__commonJSMin", "exports", "_interopRequireDefault", "_style", "_compose", "_spacing", "_breakpoints", "_responsivePropType", "gap", "props", "transformer", "styleFromPropValue", "propValue", "columnGap", "rowGap", "gridColumn", "gridRow", "gridAutoFlow", "gridAutoColumns", "gridAutoRows", "gridTemplateColumns", "gridTemplateRows", "gridTemplateAreas", "gridArea", "grid", "_default", "require_palette", "__commonJSMin", "exports", "_interopRequireDefault", "paletteTransform", "_style", "_compose", "value", "userValue", "color", "bgcolor", "backgroundColor", "palette", "_default", "require_sizing", "__commonJSMin", "exports", "_interopRequireDefault", "sizingTransform", "_style", "_compose", "_breakpoints", "value", "width", "maxWidth", "props", "styleFromPropValue", "propValue", "_props$theme", "_props$theme2", "breakpoint", "minWidth", "height", "maxHeight", "minHeight", "sizeWidth", "sizeHeight", "boxSizing", "sizing", "_default", "require_defaultSxConfig", "__commonJSMin", "exports", "_spacing", "_borders", "_cssGrid", "_palette", "_sizing", "defaultSxConfig", "value", "_default", "require_styleFunctionSx", "__commonJSMin", "exports", "_interopRequireDefault", "unstable_createStyleFunctionSx", "_capitalize", "_merge", "_style", "_breakpoints", "_defaultSxConfig", "objectsHaveSameKeys", "objects", "allKeys", "keys", "object", "union", "callIfFn", "maybeFn", "arg", "getThemeValue", "prop", "val", "theme", "config", "props", "options", "cssProperty", "themeKey", "transform", "style", "themeMapping", "styleFromPropValue", "propValueFinal", "value", "styleFunctionSx", "_theme$unstable_sxCon", "sx", "traverse", "sxInput", "sxObject", "emptyBreakpoints", "breakpointsKeys", "css", "styleKey", "breakpointsValues", "x", "_default", "require_objectWithoutPropertiesLoose", "__commonJSMin", "exports", "module", "_objectWithoutPropertiesLoose", "r", "e", "t", "n", "require_extendSxProp", "__commonJSMin", "exports", "_interopRequireDefault", "extendSxProp", "_extends2", "_objectWithoutPropertiesLoose2", "_deepmerge", "_defaultSxConfig", "_excluded", "splitProps", "props", "_props$theme$unstable", "_props$theme", "result", "config", "prop", "inSx", "other", "systemProps", "otherProps", "finalSx", "args", "require_styleFunctionSx", "__commonJSMin", "exports", "_interopRequireDefault", "_styleFunctionSx", "_extendSxProp", "_defaultSxConfig", "_interopRequireWildcard", "_getRequireWildcardCache", "r", "t", "e", "n", "u", "i", "require_createBreakpoints", "__commonJSMin", "exports", "_interopRequireDefault", "createBreakpoints", "_objectWithoutPropertiesLoose2", "_extends2", "_excluded", "breakpointKeys", "sortBreakpointsValues", "values", "breakpointsAsArray", "key", "breakpoint1", "breakpoint2", "acc", "obj", "breakpoints", "unit", "step", "other", "sortedValues", "keys", "up", "down", "between", "start", "end", "endIndex", "only", "not", "keyIndex", "require_shape", "__commonJSMin", "exports", "shape", "_default", "require_createSpacing", "__commonJSMin", "exports", "createSpacing", "_spacing", "spacingInput", "transform", "spacing", "argsInput", "argument", "output", "require_applyStyles", "__commonJSMin", "exports", "applyStyles", "key", "styles", "theme", "require_createTheme", "__commonJSMin", "exports", "_interopRequireDefault", "_extends2", "_objectWithoutPropertiesLoose2", "_deepmerge", "_createBreakpoints", "_shape", "_createSpacing", "_styleFunctionSx", "_defaultSxConfig", "_applyStyles", "_excluded", "createTheme", "options", "args", "breakpointsInput", "paletteInput", "spacingInput", "shapeInput", "other", "breakpoints", "spacing", "muiTheme", "acc", "argument", "props", "_default", "require_createTheme", "__commonJSMin", "exports", "_interopRequireDefault", "_createTheme", "_createBreakpoints", "_applyStyles", "require_colorManipulator", "__commonJSMin", "exports", "_interopRequireDefault", "alpha", "blend", "darken", "decomposeColor", "emphasize", "getContrastRatio", "getLuminance", "hexToRgb", "hslToRgb", "lighten", "private_safeAlpha", "private_safeDarken", "private_safeEmphasize", "private_safeLighten", "recomposeColor", "rgbToHex", "_formatMuiErrorMessage2", "_clamp", "clampWrapper", "value", "min", "max", "color", "re", "colors", "n", "index", "intToHex", "int", "hex", "marker", "type", "values", "colorSpace", "colorChannel", "decomposedColor", "val", "idx", "private_safeColorChannel", "warning", "error", "i", "h", "s", "l", "a", "f", "k", "rgb", "foreground", "background", "lumA", "lumB", "coefficient", "overlay", "opacity", "gamma", "blendChannel", "b", "o", "backgroundColor", "overlayColor", "require_createStyled", "__commonJSMin", "exports", "_interopRequireDefault", "createStyled", "shouldForwardProp", "_extends2", "_objectWithoutPropertiesLoose2", "_styledEngine", "_interopRequireWildcard", "_deepmerge", "_capitalize", "_getDisplayName", "_createTheme", "_styleFunctionSx", "_excluded", "_excluded2", "_excluded3", "_getRequireWildcardCache", "r", "t", "e", "n", "u", "i", "isEmpty", "obj", "isStringTag", "tag", "prop", "systemDefaultTheme", "lowercaseFirstLetter", "string", "resolveTheme", "defaultTheme", "theme", "themeId", "defaultOverridesResolver", "slot", "props", "styles", "processStyleArg", "callableStyle", "_ref", "ownerState", "resolvedStylesArg", "resolvedStyle", "variants", "result", "variant", "isMatch", "key", "input", "rootShouldForwardProp", "slotShouldForwardProp", "systemSx", "inputOptions", "style", "componentName", "componentSlot", "inputSkipVariantsResolver", "inputSkipSx", "overridesResolver", "options", "skipVariantsResolver", "skipSx", "label", "shouldForwardPropOption", "defaultStyledResolver", "transformStyleArg", "stylesArg", "muiStyledResolver", "styleArg", "expressions", "transformedStyleArg", "expressionsWithDefaultTheme", "styleOverrides", "resolvedStyleOverrides", "slotKey", "slotStyle", "_theme$components", "themeVariants", "numOfCustomFnsApplied", "placeholders", "Component", "require_freeGlobal", "__commonJSMin", "exports", "module", "freeGlobal", "require_root", "__commonJSMin", "exports", "module", "freeGlobal", "freeSelf", "root", "require_Symbol", "__commonJSMin", "exports", "module", "root", "Symbol", "require_getRawTag", "__commonJSMin", "exports", "module", "Symbol", "objectProto", "hasOwnProperty", "nativeObjectToString", "symToStringTag", "getRawTag", "value", "isOwn", "tag", "unmasked", "e", "result", "require_objectToString", "__commonJSMin", "exports", "module", "objectProto", "nativeObjectToString", "objectToString", "value", "require_baseGetTag", "__commonJSMin", "exports", "module", "Symbol", "getRawTag", "objectToString", "nullTag", "undefinedTag", "symToStringTag", "baseGetTag", "value", "require_isArray", "__commonJSMin", "exports", "module", "isArray", "require_isObjectLike", "__commonJSMin", "exports", "module", "isObjectLike", "value", "require_isString", "__commonJSMin", "exports", "module", "baseGetTag", "isArray", "isObjectLike", "stringTag", "isString", "value", "require_createBaseFor", "__commonJSMin", "exports", "module", "createBaseFor", "fromRight", "object", "iteratee", "keysFunc", "index", "iterable", "props", "length", "key", "require_baseFor", "__commonJSMin", "exports", "module", "createBaseFor", "baseFor", "require_baseTimes", "__commonJSMin", "exports", "module", "baseTimes", "n", "iteratee", "index", "result", "require_baseIsArguments", "__commonJSMin", "exports", "module", "baseGetTag", "isObjectLike", "argsTag", "baseIsArguments", "value", "require_isArguments", "__commonJSMin", "exports", "module", "baseIsArguments", "isObjectLike", "objectProto", "hasOwnProperty", "propertyIsEnumerable", "isArguments", "value", "require_stubFalse", "__commonJSMin", "exports", "module", "stubFalse", "require_isBuffer", "__commonJSMin", "exports", "module", "root", "stubFalse", "freeExports", "freeModule", "moduleExports", "Buffer", "nativeIsBuffer", "isBuffer", "require_isIndex", "__commonJSMin", "exports", "module", "MAX_SAFE_INTEGER", "reIsUint", "isIndex", "value", "length", "type", "require_isLength", "__commonJSMin", "exports", "module", "MAX_SAFE_INTEGER", "isLength", "value", "require_baseIsTypedArray", "__commonJSMin", "exports", "module", "baseGetTag", "isLength", "isObjectLike", "argsTag", "arrayTag", "boolTag", "dateTag", "errorTag", "funcTag", "mapTag", "numberTag", "objectTag", "regexpTag", "setTag", "stringTag", "weakMapTag", "arrayBufferTag", "dataViewTag", "float32Tag", "float64Tag", "int8Tag", "int16Tag", "int32Tag", "uint8Tag", "uint8ClampedTag", "uint16Tag", "uint32Tag", "typedArrayTags", "baseIsTypedArray", "value", "require_baseUnary", "__commonJSMin", "exports", "module", "baseUnary", "func", "value", "require_nodeUtil", "__commonJSMin", "exports", "module", "freeGlobal", "freeExports", "freeModule", "moduleExports", "freeProcess", "nodeUtil", "types", "e", "require_isTypedArray", "__commonJSMin", "exports", "module", "baseIsTypedArray", "baseUnary", "nodeUtil", "nodeIsTypedArray", "isTypedArray", "require_arrayLikeKeys", "__commonJSMin", "exports", "module", "baseTimes", "isArguments", "isArray", "isBuffer", "isIndex", "isTypedArray", "objectProto", "hasOwnProperty", "arrayLikeKeys", "value", "inherited", "isArr", "isArg", "isBuff", "isType", "skipIndexes", "result", "length", "key", "require_isPrototype", "__commonJSMin", "exports", "module", "objectProto", "isPrototype", "value", "Ctor", "proto", "require_overArg", "__commonJSMin", "exports", "module", "overArg", "func", "transform", "arg", "require_nativeKeys", "__commonJSMin", "exports", "module", "overArg", "nativeKeys", "require_baseKeys", "__commonJSMin", "exports", "module", "isPrototype", "nativeKeys", "objectProto", "hasOwnProperty", "baseKeys", "object", "result", "key", "require_isObject", "__commonJSMin", "exports", "module", "isObject", "value", "type", "require_isFunction", "__commonJSMin", "exports", "module", "baseGetTag", "isObject", "asyncTag", "funcTag", "genTag", "proxyTag", "isFunction", "value", "tag", "require_isArrayLike", "__commonJSMin", "exports", "module", "isFunction", "isLength", "isArrayLike", "value", "require_keys", "__commonJSMin", "exports", "module", "arrayLikeKeys", "baseKeys", "isArrayLike", "keys", "object", "require_baseForOwn", "__commonJSMin", "exports", "module", "baseFor", "keys", "baseForOwn", "object", "iteratee", "require_identity", "__commonJSMin", "exports", "module", "identity", "value", "require_castFunction", "__commonJSMin", "exports", "module", "identity", "castFunction", "value", "require_forOwn", "__commonJSMin", "exports", "module", "baseForOwn", "castFunction", "forOwn", "object", "iteratee", "require_getPrototype", "__commonJSMin", "exports", "module", "overArg", "getPrototype", "require_isPlainObject", "__commonJSMin", "exports", "module", "baseGetTag", "getPrototype", "isObjectLike", "objectTag", "funcProto", "objectProto", "funcToString", "hasOwnProperty", "objectCtorString", "isPlainObject", "value", "proto", "Ctor", "require_arrayMap", "__commonJSMin", "exports", "module", "arrayMap", "array", "iteratee", "index", "length", "result", "require_listCacheClear", "__commonJSMin", "exports", "module", "listCacheClear", "require_eq", "__commonJSMin", "exports", "module", "eq", "value", "other", "require_assocIndexOf", "__commonJSMin", "exports", "module", "eq", "assocIndexOf", "array", "key", "length", "require_listCacheDelete", "__commonJSMin", "exports", "module", "assocIndexOf", "arrayProto", "splice", "listCacheDelete", "key", "data", "index", "lastIndex", "require_listCacheGet", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheGet", "key", "data", "index", "require_listCacheHas", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheHas", "key", "require_listCacheSet", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheSet", "key", "value", "data", "index", "require_ListCache", "__commonJSMin", "exports", "module", "listCacheClear", "listCacheDelete", "listCacheGet", "listCacheHas", "listCacheSet", "ListCache", "entries", "index", "length", "entry", "require_stackClear", "__commonJSMin", "exports", "module", "ListCache", "stackClear", "require_stackDelete", "__commonJSMin", "exports", "module", "stackDelete", "key", "data", "result", "require_stackGet", "__commonJSMin", "exports", "module", "stackGet", "key", "require_stackHas", "__commonJSMin", "exports", "module", "stackHas", "key", "require_coreJsData", "__commonJSMin", "exports", "module", "root", "coreJsData", "require_isMasked", "__commonJSMin", "exports", "module", "coreJsData", "maskSrcKey", "uid", "isMasked", "func", "require_toSource", "__commonJSMin", "exports", "module", "funcProto", "funcToString", "toSource", "func", "e", "require_baseIsNative", "__commonJSMin", "exports", "module", "isFunction", "isMasked", "isObject", "toSource", "reRegExpChar", "reIsHostCtor", "funcProto", "objectProto", "funcToString", "hasOwnProperty", "reIsNative", "baseIsNative", "value", "pattern", "require_getValue", "__commonJSMin", "exports", "module", "getValue", "object", "key", "require_getNative", "__commonJSMin", "exports", "module", "baseIsNative", "getValue", "getNative", "object", "key", "value", "require_Map", "__commonJSMin", "exports", "module", "getNative", "root", "Map", "require_nativeCreate", "__commonJSMin", "exports", "module", "getNative", "nativeCreate", "require_hashClear", "__commonJSMin", "exports", "module", "nativeCreate", "hashClear", "require_hashDelete", "__commonJSMin", "exports", "module", "hashDelete", "key", "result", "require_hashGet", "__commonJSMin", "exports", "module", "nativeCreate", "HASH_UNDEFINED", "objectProto", "hasOwnProperty", "hashGet", "key", "data", "result", "require_hashHas", "__commonJSMin", "exports", "module", "nativeCreate", "objectProto", "hasOwnProperty", "hashHas", "key", "data", "require_hashSet", "__commonJSMin", "exports", "module", "nativeCreate", "HASH_UNDEFINED", "hashSet", "key", "value", "data", "require_Hash", "__commonJSMin", "exports", "module", "hashClear", "hashDelete", "hashGet", "hashHas", "hashSet", "Hash", "entries", "index", "length", "entry", "require_mapCacheClear", "__commonJSMin", "exports", "module", "Hash", "ListCache", "Map", "mapCacheClear", "require_isKeyable", "__commonJSMin", "exports", "module", "isKeyable", "value", "type", "require_getMapData", "__commonJSMin", "exports", "module", "isKeyable", "getMapData", "map", "key", "data", "require_mapCacheDelete", "__commonJSMin", "exports", "module", "getMapData", "mapCacheDelete", "key", "result", "require_mapCacheGet", "__commonJSMin", "exports", "module", "getMapData", "mapCacheGet", "key", "require_mapCacheHas", "__commonJSMin", "exports", "module", "getMapData", "mapCacheHas", "key", "require_mapCacheSet", "__commonJSMin", "exports", "module", "getMapData", "mapCacheSet", "key", "value", "data", "size", "require_MapCache", "__commonJSMin", "exports", "module", "mapCacheClear", "mapCacheDelete", "mapCacheGet", "mapCacheHas", "mapCacheSet", "MapCache", "entries", "index", "length", "entry", "require_stackSet", "__commonJSMin", "exports", "module", "ListCache", "Map", "MapCache", "LARGE_ARRAY_SIZE", "stackSet", "key", "value", "data", "pairs", "require_Stack", "__commonJSMin", "exports", "module", "ListCache", "stackClear", "stackDelete", "stackGet", "stackHas", "stackSet", "Stack", "entries", "data", "require_setCacheAdd", "__commonJSMin", "exports", "module", "HASH_UNDEFINED", "setCacheAdd", "value", "require_setCacheHas", "__commonJSMin", "exports", "module", "setCacheHas", "value", "require_SetCache", "__commonJSMin", "exports", "module", "MapCache", "setCacheAdd", "setCacheHas", "SetCache", "values", "index", "length", "require_arraySome", "__commonJSMin", "exports", "module", "arraySome", "array", "predicate", "index", "length", "require_cacheHas", "__commonJSMin", "exports", "module", "cacheHas", "cache", "key", "require_equalArrays", "__commonJSMin", "exports", "module", "SetCache", "arraySome", "cacheHas", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "equalArrays", "array", "other", "bitmask", "customizer", "equalFunc", "stack", "isPartial", "arrLength", "othLength", "arrStacked", "othStacked", "index", "result", "seen", "arrValue", "othValue", "compared", "othIndex", "require_Uint8Array", "__commonJSMin", "exports", "module", "root", "Uint8Array", "require_mapToArray", "__commonJSMin", "exports", "module", "mapToArray", "map", "index", "result", "value", "key", "require_setToArray", "__commonJSMin", "exports", "module", "setToArray", "set", "index", "result", "value", "require_equalByTag", "__commonJSMin", "exports", "module", "Symbol", "Uint8Array", "eq", "equalArrays", "mapToArray", "setToArray", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "boolTag", "dateTag", "errorTag", "mapTag", "numberTag", "regexpTag", "setTag", "stringTag", "symbolTag", "arrayBufferTag", "dataViewTag", "symbolProto", "symbolValueOf", "equalByTag", "object", "other", "tag", "bitmask", "customizer", "equalFunc", "stack", "convert", "isPartial", "stacked", "result", "require_arrayPush", "__commonJSMin", "exports", "module", "arrayPush", "array", "values", "index", "length", "offset", "require_baseGetAllKeys", "__commonJSMin", "exports", "module", "arrayPush", "isArray", "baseGetAllKeys", "object", "keysFunc", "symbolsFunc", "result", "require_arrayFilter", "__commonJSMin", "exports", "module", "arrayFilter", "array", "predicate", "index", "length", "resIndex", "result", "value", "require_stubArray", "__commonJSMin", "exports", "module", "stubArray", "require_getSymbols", "__commonJSMin", "exports", "module", "arrayFilter", "stubArray", "objectProto", "propertyIsEnumerable", "nativeGetSymbols", "getSymbols", "object", "symbol", "require_getAllKeys", "__commonJSMin", "exports", "module", "baseGetAllKeys", "getSymbols", "keys", "getAllKeys", "object", "require_equalObjects", "__commonJSMin", "exports", "module", "getAllKeys", "COMPARE_PARTIAL_FLAG", "objectProto", "hasOwnProperty", "equalObjects", "object", "other", "bitmask", "customizer", "equalFunc", "stack", "isPartial", "objProps", "objLength", "othProps", "othLength", "index", "key", "objStacked", "othStacked", "result", "skipCtor", "objValue", "othValue", "compared", "objCtor", "othCtor", "require_DataView", "__commonJSMin", "exports", "module", "getNative", "root", "DataView", "require_Promise", "__commonJSMin", "exports", "module", "getNative", "root", "Promise", "require_Set", "__commonJSMin", "exports", "module", "getNative", "root", "Set", "require_WeakMap", "__commonJSMin", "exports", "module", "getNative", "root", "WeakMap", "require_getTag", "__commonJSMin", "exports", "module", "DataView", "Map", "Promise", "Set", "WeakMap", "baseGetTag", "toSource", "mapTag", "objectTag", "promiseTag", "setTag", "weakMapTag", "dataViewTag", "dataViewCtorString", "mapCtorString", "promiseCtorString", "setCtorString", "weakMapCtorString", "getTag", "value", "result", "Ctor", "ctorString", "require_baseIsEqualDeep", "__commonJSMin", "exports", "module", "Stack", "equalArrays", "equalByTag", "equalObjects", "getTag", "isArray", "isBuffer", "isTypedArray", "COMPARE_PARTIAL_FLAG", "argsTag", "arrayTag", "objectTag", "objectProto", "hasOwnProperty", "baseIsEqualDeep", "object", "other", "bitmask", "customizer", "equalFunc", "stack", "objIsArr", "othIsArr", "objTag", "othTag", "objIsObj", "othIsObj", "isSameTag", "objIsWrapped", "othIsWrapped", "objUnwrapped", "othUnwrapped", "require_baseIsEqual", "__commonJSMin", "exports", "module", "baseIsEqualDeep", "isObjectLike", "baseIsEqual", "value", "other", "bitmask", "customizer", "stack", "require_baseIsMatch", "__commonJSMin", "exports", "module", "Stack", "baseIsEqual", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "baseIsMatch", "object", "source", "matchData", "customizer", "index", "length", "noCustomizer", "data", "key", "objValue", "srcValue", "stack", "result", "require_isStrictComparable", "__commonJSMin", "exports", "module", "isObject", "isStrictComparable", "value", "require_getMatchData", "__commonJSMin", "exports", "module", "isStrictComparable", "keys", "getMatchData", "object", "result", "length", "key", "value", "require_matchesStrictComparable", "__commonJSMin", "exports", "module", "matchesStrictComparable", "key", "srcValue", "object", "require_baseMatches", "__commonJSMin", "exports", "module", "baseIsMatch", "getMatchData", "matchesStrictComparable", "baseMatches", "source", "matchData", "object", "require_isSymbol", "__commonJSMin", "exports", "module", "baseGetTag", "isObjectLike", "symbolTag", "isSymbol", "value", "require_isKey", "__commonJSMin", "exports", "module", "isArray", "isSymbol", "reIsDeepProp", "reIsPlainProp", "isKey", "value", "object", "type", "require_memoize", "__commonJSMin", "exports", "module", "MapCache", "FUNC_ERROR_TEXT", "memoize", "func", "resolver", "memoized", "args", "key", "cache", "result", "require_memoizeCapped", "__commonJSMin", "exports", "module", "memoize", "MAX_MEMOIZE_SIZE", "memoizeCapped", "func", "result", "key", "cache", "require_stringToPath", "__commonJSMin", "exports", "module", "memoizeCapped", "rePropName", "reEscapeChar", "stringToPath", "string", "result", "match", "number", "quote", "subString", "require_baseToString", "__commonJSMin", "exports", "module", "Symbol", "arrayMap", "isArray", "isSymbol", "INFINITY", "symbolProto", "symbolToString", "baseToString", "value", "result", "require_toString", "__commonJSMin", "exports", "module", "baseToString", "toString", "value", "require_castPath", "__commonJSMin", "exports", "module", "isArray", "isKey", "stringToPath", "toString", "castPath", "value", "object", "require_toKey", "__commonJSMin", "exports", "module", "isSymbol", "INFINITY", "toKey", "value", "result", "require_baseGet", "__commonJSMin", "exports", "module", "castPath", "toKey", "baseGet", "object", "path", "index", "length", "require_get", "__commonJSMin", "exports", "module", "baseGet", "get", "object", "path", "defaultValue", "result", "require_baseHasIn", "__commonJSMin", "exports", "module", "baseHasIn", "object", "key", "require_hasPath", "__commonJSMin", "exports", "module", "castPath", "isArguments", "isArray", "isIndex", "isLength", "toKey", "hasPath", "object", "path", "hasFunc", "index", "length", "result", "key", "require_hasIn", "__commonJSMin", "exports", "module", "baseHasIn", "hasPath", "hasIn", "object", "path", "require_baseMatchesProperty", "__commonJSMin", "exports", "module", "baseIsEqual", "get", "hasIn", "isKey", "isStrictComparable", "matchesStrictComparable", "toKey", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "baseMatchesProperty", "path", "srcValue", "object", "objValue", "require_baseProperty", "__commonJSMin", "exports", "module", "baseProperty", "key", "object", "require_basePropertyDeep", "__commonJSMin", "exports", "module", "baseGet", "basePropertyDeep", "path", "object", "require_property", "__commonJSMin", "exports", "module", "baseProperty", "basePropertyDeep", "isKey", "toKey", "property", "path", "require_baseIteratee", "__commonJSMin", "exports", "module", "baseMatches", "baseMatchesProperty", "identity", "isArray", "property", "baseIteratee", "value", "require_createBaseEach", "__commonJSMin", "exports", "module", "isArrayLike", "createBaseEach", "eachFunc", "fromRight", "collection", "iteratee", "length", "index", "iterable", "require_baseEach", "__commonJSMin", "exports", "module", "baseForOwn", "createBaseEach", "baseEach", "require_baseMap", "__commonJSMin", "exports", "module", "baseEach", "isArrayLike", "baseMap", "collection", "iteratee", "index", "result", "value", "key", "require_map", "__commonJSMin", "exports", "module", "arrayMap", "baseIteratee", "baseMap", "isArray", "map", "collection", "iteratee", "func", "require_flattenNames", "__commonJSMin", "exports", "_isString2", "_isString3", "_interopRequireDefault", "_forOwn2", "_forOwn3", "_isPlainObject2", "_isPlainObject3", "_map2", "_map3", "obj", "flattenNames", "things", "names", "thing", "name", "value", "key", "require_arrayEach", "__commonJSMin", "exports", "module", "arrayEach", "array", "iteratee", "index", "length", "require_defineProperty", "__commonJSMin", "exports", "module", "getNative", "defineProperty", "func", "e", "require_baseAssignValue", "__commonJSMin", "exports", "module", "defineProperty", "baseAssignValue", "object", "key", "value", "require_assignValue", "__commonJSMin", "exports", "module", "baseAssignValue", "eq", "objectProto", "hasOwnProperty", "assignValue", "object", "key", "value", "objValue", "require_copyObject", "__commonJSMin", "exports", "module", "assignValue", "baseAssignValue", "copyObject", "source", "props", "object", "customizer", "isNew", "index", "length", "key", "newValue", "require_baseAssign", "__commonJSMin", "exports", "module", "copyObject", "keys", "baseAssign", "object", "source", "require_nativeKeysIn", "__commonJSMin", "exports", "module", "nativeKeysIn", "object", "result", "key", "require_baseKeysIn", "__commonJSMin", "exports", "module", "isObject", "isPrototype", "nativeKeysIn", "objectProto", "hasOwnProperty", "baseKeysIn", "object", "isProto", "result", "key", "require_keysIn", "__commonJSMin", "exports", "module", "arrayLikeKeys", "baseKeysIn", "isArrayLike", "keysIn", "object", "require_baseAssignIn", "__commonJSMin", "exports", "module", "copyObject", "keysIn", "baseAssignIn", "object", "source", "require_cloneBuffer", "__commonJSMin", "exports", "module", "root", "freeExports", "freeModule", "moduleExports", "Buffer", "allocUnsafe", "cloneBuffer", "buffer", "isDeep", "length", "result", "require_copyArray", "__commonJSMin", "exports", "module", "copyArray", "source", "array", "index", "length", "require_copySymbols", "__commonJSMin", "exports", "module", "copyObject", "getSymbols", "copySymbols", "source", "object", "require_getSymbolsIn", "__commonJSMin", "exports", "module", "arrayPush", "getPrototype", "getSymbols", "stubArray", "nativeGetSymbols", "getSymbolsIn", "object", "result", "require_copySymbolsIn", "__commonJSMin", "exports", "module", "copyObject", "getSymbolsIn", "copySymbolsIn", "source", "object", "require_getAllKeysIn", "__commonJSMin", "exports", "module", "baseGetAllKeys", "getSymbolsIn", "keysIn", "getAllKeysIn", "object", "require_initCloneArray", "__commonJSMin", "exports", "module", "objectProto", "hasOwnProperty", "initCloneArray", "array", "length", "result", "require_cloneArrayBuffer", "__commonJSMin", "exports", "module", "Uint8Array", "cloneArrayBuffer", "arrayBuffer", "result", "require_cloneDataView", "__commonJSMin", "exports", "module", "cloneArrayBuffer", "cloneDataView", "dataView", "isDeep", "buffer", "require_cloneRegExp", "__commonJSMin", "exports", "module", "reFlags", "cloneRegExp", "regexp", "result", "require_cloneSymbol", "__commonJSMin", "exports", "module", "Symbol", "symbolProto", "symbolValueOf", "cloneSymbol", "symbol", "require_cloneTypedArray", "__commonJSMin", "exports", "module", "cloneArrayBuffer", "cloneTypedArray", "typedArray", "isDeep", "buffer", "require_initCloneByTag", "__commonJSMin", "exports", "module", "cloneArrayBuffer", "cloneDataView", "cloneRegExp", "cloneSymbol", "cloneTypedArray", "boolTag", "dateTag", "mapTag", "numberTag", "regexpTag", "setTag", "stringTag", "symbolTag", "arrayBufferTag", "dataViewTag", "float32Tag", "float64Tag", "int8Tag", "int16Tag", "int32Tag", "uint8Tag", "uint8ClampedTag", "uint16Tag", "uint32Tag", "initCloneByTag", "object", "tag", "isDeep", "Ctor", "require_baseCreate", "__commonJSMin", "exports", "module", "isObject", "objectCreate", "baseCreate", "object", "proto", "result", "require_initCloneObject", "__commonJSMin", "exports", "module", "baseCreate", "getPrototype", "isPrototype", "initCloneObject", "object", "require_baseIsMap", "__commonJSMin", "exports", "module", "getTag", "isObjectLike", "mapTag", "baseIsMap", "value", "require_isMap", "__commonJSMin", "exports", "module", "baseIsMap", "baseUnary", "nodeUtil", "nodeIsMap", "isMap", "require_baseIsSet", "__commonJSMin", "exports", "module", "getTag", "isObjectLike", "setTag", "baseIsSet", "value", "require_isSet", "__commonJSMin", "exports", "module", "baseIsSet", "baseUnary", "nodeUtil", "nodeIsSet", "isSet", "require_baseClone", "__commonJSMin", "exports", "module", "Stack", "arrayEach", "assignValue", "baseAssign", "baseAssignIn", "cloneBuffer", "copyArray", "copySymbols", "copySymbolsIn", "getAllKeys", "getAllKeysIn", "getTag", "initCloneArray", "initCloneByTag", "initCloneObject", "isArray", "isBuffer", "isMap", "isObject", "isSet", "keys", "keysIn", "CLONE_DEEP_FLAG", "CLONE_FLAT_FLAG", "CLONE_SYMBOLS_FLAG", "argsTag", "arrayTag", "boolTag", "dateTag", "errorTag", "funcTag", "genTag", "mapTag", "numberTag", "objectTag", "regexpTag", "setTag", "stringTag", "symbolTag", "weakMapTag", "arrayBufferTag", "dataViewTag", "float32Tag", "float64Tag", "int8Tag", "int16Tag", "int32Tag", "uint8Tag", "uint8ClampedTag", "uint16Tag", "uint32Tag", "cloneableTags", "baseClone", "value", "bitmask", "customizer", "key", "object", "stack", "result", "isDeep", "isFlat", "isFull", "isArr", "tag", "isFunc", "stacked", "subValue", "keysFunc", "props", "require_cloneDeep", "__commonJSMin", "exports", "module", "baseClone", "CLONE_DEEP_FLAG", "CLONE_SYMBOLS_FLAG", "cloneDeep", "value", "require_mergeClasses", "__commonJSMin", "exports", "_forOwn2", "_forOwn3", "_interopRequireDefault", "_cloneDeep2", "_cloneDeep3", "_extends", "target", "i", "source", "key", "obj", "mergeClasses", "classes", "activeNames", "styles", "name", "toMerge", "value", "require_autoprefix", "__commonJSMin", "exports", "_forOwn2", "_forOwn3", "_interopRequireDefault", "_extends", "target", "i", "source", "key", "obj", "transforms", "value", "direction", "name", "otherElementStyles", "otherStyle", "autoprefix", "elements", "prefixed", "styles", "element", "expanded", "transform", "require_hover", "__commonJSMin", "exports", "_extends", "target", "i", "source", "key", "_react", "_react2", "_interopRequireDefault", "obj", "_classCallCheck", "instance", "Constructor", "_possibleConstructorReturn", "self", "call", "_inherits", "subClass", "superClass", "hover", "Component", "Span", "_React$Component", "Hover", "_ref", "_temp", "_this", "_ret", "_len", "args", "_key", "require_active", "__commonJSMin", "exports", "_extends", "target", "i", "source", "key", "_react", "_react2", "_interopRequireDefault", "obj", "_classCallCheck", "instance", "Constructor", "_possibleConstructorReturn", "self", "call", "_inherits", "subClass", "superClass", "active", "Component", "Span", "_React$Component", "Active", "_ref", "_temp", "_this", "_ret", "_len", "args", "_key", "require_loop", "__commonJSMin", "exports", "loopable", "i", "length", "props", "setProp", "name", "value", "require_lib", "__commonJSMin", "exports", "_flattenNames", "_flattenNames2", "_interopRequireDefault", "_mergeClasses", "_mergeClasses2", "_autoprefix", "_autoprefix2", "_hover2", "_hover3", "_active", "_active2", "_loop2", "_loop3", "obj", "ReactCSS", "classes", "_len", "activations", "_key", "activeNames", "merged", "require_UnfoldMoreHorizontalIcon", "__commonJSMin", "exports", "_extends", "target", "i", "source", "key", "_react", "_react2", "_interopRequireDefault", "obj", "_objectWithoutProperties", "keys", "DEFAULT_SIZE", "_ref", "_ref$fill", "fill", "_ref$width", "width", "_ref$height", "height", "_ref$style", "style", "props", "require_CheckIcon", "__commonJSMin", "exports", "_extends", "target", "i", "source", "key", "_react", "_react2", "_interopRequireDefault", "obj", "_objectWithoutProperties", "keys", "DEFAULT_SIZE", "_ref", "_ref$fill", "fill", "_ref$width", "width", "_ref$height", "height", "_ref$style", "style", "props", "require_cronstrue", "__commonJSMin", "exports", "module", "root", "factory", "__webpack_modules__", "__unused_webpack_module", "__webpack_require__", "rangeValidator_1", "CronParser", "expression", "dayOfWeekStartIndexZero", "monthStartIndexZero", "_a", "parsed", "special", "specialExpressions", "i", "arrayElement", "item", "a", "b", "isYearWithNoSecondsPart", "expressionParts", "_this", "t", "dowDigits", "dowDigitsAdjusted", "days", "day", "months", "month", "str", "stepRangeThrough", "parts", "partDescription", "invalidChars", "stringUtilities_1", "cronParser_1", "ExpressionDescriptor", "options", "fallBackLocale", "_b", "_c", "throwExceptionOnParseError", "_d", "verbose", "_e", "_f", "use24HourTimeFormat", "_g", "locale", "_h", "tzOffset", "descripter", "localesLoader", "defaultLocale", "description", "parser", "timeSegment", "dayOfMonthDesc", "monthDesc", "dayOfWeekDesc", "yearDesc", "ex", "secondsExpression", "minuteExpression", "hourExpression", "minuteParts", "hourParts", "secondsDescription", "minutesDescription", "hoursDescription", "s", "e", "atTheHourMatches", "lastAtTheHourMatchIndex", "daysOfWeekNames", "form", "exp", "parsedExp", "hour", "dayOfWeekOfMonthDescription", "dayOfWeekOfMonthNumber", "dayOfWeekNumber", "beginFrom", "domSpecified", "format", "dayOfWeek", "monthNames", "weekDayNumberMatches", "dayNumber", "dayString", "lastDayOffSetMatches", "offSetDays", "allDescription", "getSingleItemDescription", "getIncrementDescriptionFormat", "getRangeDescriptionFormat", "getDescriptionFormat", "doesExpressionContainIncrement", "doesExpressionContainRange", "doesExpressionContainMultipleValues", "segments", "descriptionContent", "isSegmentRangeWithoutIncrement", "currentDescriptionContent", "rangeSegmentDescription", "rangeItemDescription", "rangeExpression", "rangeSegments", "rangeSegment1Description", "rangeSegment2Description", "rangeDescriptionFormat", "secondExpression", "hourOffset", "minuteOffset", "minute", "period", "setPeriodBeforeTime", "second", "useVerboseFormat", "en_1", "enLocaleLoader", "availableLocales", "en", "assert", "value", "message", "RangeValidator", "parse", "dayOfMonth", "StringUtilities", "template", "values", "_i", "substring", "args", "text", "searchStrings", "c", "__webpack_module_cache__", "moduleId", "cachedModule", "__webpack_exports__", "expressionDescriptor_1", "enLocaleLoader_1", "toString", "require_fr", "__commonJSMin", "exports", "module", "root", "factory", "__WEBPACK_EXTERNAL_MODULE__93__", "__webpack_modules__", "__webpack_module_cache__", "__webpack_require__", "moduleId", "cachedModule", "getter", "definition", "key", "obj", "prop", "__webpack_exports__", "cronstrue__WEBPACK_IMPORTED_MODULE_0__", "cronstrue__WEBPACK_IMPORTED_MODULE_0___default", "fr", "require_es", "__commonJSMin", "exports", "module", "root", "factory", "__WEBPACK_EXTERNAL_MODULE__93__", "__webpack_modules__", "__webpack_module_cache__", "__webpack_require__", "moduleId", "cachedModule", "getter", "definition", "key", "obj", "prop", "__webpack_exports__", "cronstrue__WEBPACK_IMPORTED_MODULE_0__", "cronstrue__WEBPACK_IMPORTED_MODULE_0___default", "es", "require_de", "__commonJSMin", "exports", "module", "root", "factory", "__WEBPACK_EXTERNAL_MODULE__93__", "__webpack_modules__", "__webpack_module_cache__", "__webpack_require__", "moduleId", "cachedModule", "getter", "definition", "key", "obj", "prop", "__webpack_exports__", "cronstrue__WEBPACK_IMPORTED_MODULE_0__", "cronstrue__WEBPACK_IMPORTED_MODULE_0___default", "de", "require_it", "__commonJSMin", "exports", "module", "root", "factory", "__WEBPACK_EXTERNAL_MODULE__93__", "__webpack_modules__", "__webpack_module_cache__", "__webpack_require__", "moduleId", "cachedModule", "getter", "definition", "key", "obj", "prop", "__webpack_exports__", "cronstrue__WEBPACK_IMPORTED_MODULE_0__", "cronstrue__WEBPACK_IMPORTED_MODULE_0___default", "it", "require_ru", "__commonJSMin", "exports", "module", "root", "factory", "__WEBPACK_EXTERNAL_MODULE__93__", "__webpack_modules__", "__webpack_module_cache__", "__webpack_require__", "moduleId", "cachedModule", "getter", "definition", "key", "obj", "prop", "__webpack_exports__", "cronstrue__WEBPACK_IMPORTED_MODULE_0__", "cronstrue__WEBPACK_IMPORTED_MODULE_0___default", "getPhraseByNumber", "str", "words", "number", "getPhraseByDayOfWeek", "ru", "s", "require_zh_CN", "__commonJSMin", "exports", "module", "root", "factory", "__WEBPACK_EXTERNAL_MODULE__93__", "__webpack_modules__", "__webpack_module_cache__", "__webpack_require__", "moduleId", "cachedModule", "getter", "definition", "key", "obj", "prop", "__webpack_exports__", "cronstrue__WEBPACK_IMPORTED_MODULE_0__", "cronstrue__WEBPACK_IMPORTED_MODULE_0___default", "zh_CN", "require_uk", "__commonJSMin", "exports", "module", "root", "factory", "__WEBPACK_EXTERNAL_MODULE__93__", "__webpack_modules__", "__webpack_module_cache__", "__webpack_require__", "moduleId", "cachedModule", "getter", "definition", "key", "obj", "prop", "__webpack_exports__", "cronstrue__WEBPACK_IMPORTED_MODULE_0__", "cronstrue__WEBPACK_IMPORTED_MODULE_0___default", "uk", "require_pt_BR", "__commonJSMin", "exports", "module", "root", "factory", "__WEBPACK_EXTERNAL_MODULE__93__", "__webpack_modules__", "__webpack_module_cache__", "__webpack_require__", "moduleId", "cachedModule", "getter", "definition", "key", "obj", "prop", "__webpack_exports__", "cronstrue__WEBPACK_IMPORTED_MODULE_0__", "cronstrue__WEBPACK_IMPORTED_MODULE_0___default", "pt_BR", "s", "day", "require_pl", "__commonJSMin", "exports", "module", "root", "factory", "__WEBPACK_EXTERNAL_MODULE__93__", "__webpack_modules__", "__webpack_module_cache__", "__webpack_require__", "moduleId", "cachedModule", "getter", "definition", "key", "obj", "prop", "__webpack_exports__", "cronstrue__WEBPACK_IMPORTED_MODULE_0__", "cronstrue__WEBPACK_IMPORTED_MODULE_0___default", "pl", "require_es", "__commonJSMin", "exports", "file", "acceptedFiles", "acceptedFilesArray", "fileName", "mimeType", "baseMimeType", "type", "validType", "require_cropper", "__commonJSMin", "exports", "module", "global", "factory", "ownKeys", "e", "r", "t", "o", "_objectSpread2", "_defineProperty", "_toPrimitive", "i", "_toPropertyKey", "_typeof", "_classCallCheck", "instance", "Constructor", "_defineProperties", "target", "props", "descriptor", "_createClass", "protoProps", "staticProps", "obj", "key", "value", "_toConsumableArray", "arr", "_arrayWithoutHoles", "_iterableToArray", "_unsupportedIterableToArray", "_nonIterableSpread", "_arrayLikeToArray", "iter", "minLen", "n", "len", "arr2", "IS_BROWSER", "WINDOW", "IS_TOUCH_DEVICE", "HAS_POINTER_EVENT", "NAMESPACE", "ACTION_ALL", "ACTION_CROP", "ACTION_MOVE", "ACTION_ZOOM", "ACTION_EAST", "ACTION_WEST", "ACTION_SOUTH", "ACTION_NORTH", "ACTION_NORTH_EAST", "ACTION_NORTH_WEST", "ACTION_SOUTH_EAST", "ACTION_SOUTH_WEST", "CLASS_CROP", "CLASS_DISABLED", "CLASS_HIDDEN", "CLASS_HIDE", "CLASS_INVISIBLE", "CLASS_MODAL", "CLASS_MOVE", "DATA_ACTION", "DATA_PREVIEW", "DRAG_MODE_CROP", "DRAG_MODE_MOVE", "DRAG_MODE_NONE", "EVENT_CROP", "EVENT_CROP_END", "EVENT_CROP_MOVE", "EVENT_CROP_START", "EVENT_DBLCLICK", "EVENT_TOUCH_START", "EVENT_TOUCH_MOVE", "EVENT_TOUCH_END", "EVENT_POINTER_DOWN", "EVENT_POINTER_MOVE", "EVENT_POINTER_UP", "EVENT_READY", "EVENT_RESIZE", "EVENT_WHEEL", "EVENT_ZOOM", "MIME_TYPE_JPEG", "REGEXP_ACTIONS", "REGEXP_DATA_URL", "REGEXP_DATA_URL_JPEG", "REGEXP_TAG_NAME", "MIN_CONTAINER_WIDTH", "MIN_CONTAINER_HEIGHT", "DEFAULTS", "TEMPLATE", "isNaN", "isNumber", "isPositiveNumber", "isUndefined", "isObject", "hasOwnProperty", "isPlainObject", "_constructor", "prototype", "error", "isFunction", "slice", "toArray", "forEach", "data", "callback", "assign", "_len", "args", "_key", "arg", "REGEXP_DECIMALS", "normalizeDecimalNumber", "times", "REGEXP_SUFFIX", "setStyle", "element", "styles", "style", "property", "hasClass", "addClass", "elem", "className", "removeClass", "toggleClass", "added", "REGEXP_CAMEL_CASE", "toParamCase", "getData", "name", "setData", "removeData", "REGEXP_SPACES", "onceSupported", "supported", "once", "listener", "options", "removeListener", "type", "handler", "event", "listeners", "addListener", "_handler", "_element$listeners", "_len2", "_key2", "dispatchEvent", "getOffset", "box", "location", "REGEXP_ORIGINS", "isCrossOriginURL", "url", "parts", "addTimestamp", "timestamp", "getTransforms", "_ref", "rotate", "scaleX", "scaleY", "translateX", "translateY", "values", "transform", "getMaxZoomRatio", "pointers", "pointers2", "maxRatio", "pointer", "pointerId", "pointer2", "x1", "y1", "x2", "y2", "z1", "z2", "ratio", "getPointer", "_ref2", "endOnly", "pageX", "pageY", "end", "getPointersCenter", "count", "_ref3", "startX", "startY", "getAdjustedSizes", "_ref4", "aspectRatio", "height", "width", "isValidWidth", "isValidHeight", "adjustedWidth", "getRotatedSizes", "_ref5", "degree", "arc", "sinArc", "cosArc", "newWidth", "newHeight", "getSourceCanvas", "image", "_ref6", "_ref7", "_ref8", "imageAspectRatio", "imageNaturalWidth", "imageNaturalHeight", "_ref6$rotate", "_ref6$scaleX", "_ref6$scaleY", "naturalWidth", "naturalHeight", "_ref8$fillColor", "fillColor", "_ref8$imageSmoothingE", "imageSmoothingEnabled", "_ref8$imageSmoothingQ", "imageSmoothingQuality", "_ref8$maxWidth", "maxWidth", "_ref8$maxHeight", "maxHeight", "_ref8$minWidth", "minWidth", "_ref8$minHeight", "minHeight", "canvas", "context", "maxSizes", "minSizes", "destMaxSizes", "destMinSizes", "destWidth", "destHeight", "params", "param", "fromCharCode", "getStringFromCharCode", "dataView", "start", "length", "str", "REGEXP_DATA_URL_HEAD", "dataURLToArrayBuffer", "dataURL", "base64", "binary", "arrayBuffer", "uint8", "arrayBufferToDataURL", "mimeType", "chunks", "chunkSize", "resetAndGetOrientation", "orientation", "littleEndian", "app1Start", "ifdStart", "offset", "exifIDCode", "tiffOffset", "endianness", "firstIFDOffset", "_length", "_offset", "parseOrientation", "render", "container", "cropper", "containerData", "imageData", "viewMode", "rotated", "canvasWidth", "canvasHeight", "canvasData", "sizeLimited", "positionLimited", "cropBoxData", "cropped", "minCanvasWidth", "minCanvasHeight", "_getAdjustedSizes", "newCanvasLeft", "newCanvasTop", "changed", "transformed", "_getRotatedSizes", "autoCropArea", "limited", "minCropBoxWidth", "minCropBoxHeight", "maxCropBoxWidth", "maxCropBoxHeight", "preview", "crossOrigin", "alt", "previews", "el", "img", "cropBoxWidth", "cropBoxHeight", "left", "top", "originalWidth", "originalHeight", "events", "handlers", "ratioX", "ratioY", "_this", "delta", "buttons", "button", "action", "touch", "change", "right", "bottom", "minLeft", "minTop", "renderable", "range", "check", "side", "p", "methods", "hasSameSize", "offsetX", "offsetY", "_this$canvasData", "x", "y", "_originalEvent", "pivot", "center", "_scaleX", "_scaleY", "rounded", "widthChanged", "heightChanged", "source", "_this$getData", "initialX", "initialY", "initialWidth", "initialHeight", "_options$imageSmoothi", "sourceWidth", "sourceHeight", "srcX", "srcY", "srcWidth", "srcHeight", "dstX", "dstY", "dstWidth", "dstHeight", "scale", "mode", "dragBox", "face", "croppable", "movable", "AnotherCropper", "Cropper", "tagName", "xhr", "clone", "_parseOrientation", "crossOriginUrl", "_this2", "isIOSWebKit", "done", "sizingImage", "body", "template", "cropBox", "parentNode", "import_react", "import_react_dom", "identifier_default", "_objectWithoutPropertiesLoose", "r", "e", "t", "n", "import_styled_engine", "init_extends", "import_deepmerge", "init_extends", "_excluded", "sortBreakpointsValues", "values", "breakpointsAsArray", "key", "breakpoint1", "breakpoint2", "acc", "obj", "_extends", "createBreakpoints", "breakpoints", "unit", "step", "other", "_objectWithoutPropertiesLoose", "_excluded", "sortedValues", "keys", "up", "down", "between", "start", "end", "endIndex", "only", "not", "keyIndex", "shape", "shape_default", "init_extends", "import_deepmerge", "merge", "acc", "item", "deepmerge", "merge_default", "values", "defaultBreakpoints", "key", "handleBreakpoints", "props", "propValue", "styleFromPropValue", "theme", "themeBreakpoints", "acc", "item", "index", "breakpoint", "mediaKey", "cssKey", "createEmptyBreakpointObject", "breakpointsInput", "_breakpointsInput$key", "acc", "key", "breakpointStyleKey", "removeUnusedBreakpoints", "breakpointKeys", "style", "breakpointOutput", "computeBreakpointsBase", "breakpointValues", "themeBreakpoints", "base", "breakpointsKeys", "breakpoint", "i", "resolveBreakpointValues", "customBase", "keys", "previous", "acc", "import_capitalize", "getPath", "obj", "path", "checkVars", "val", "acc", "item", "getStyleValue", "themeMapping", "transform", "propValueFinal", "userValue", "value", "style", "options", "prop", "cssProperty", "themeKey", "fn", "props", "propValue", "theme", "handleBreakpoints", "capitalize", "style_default", "memoize", "fn", "cache", "arg", "properties", "directions", "aliases", "getCssProperties", "memoize", "prop", "a", "b", "property", "direction", "dir", "marginKeys", "paddingKeys", "spacingKeys", "createUnaryUnit", "theme", "themeKey", "defaultValue", "propName", "_getPath", "themeSpacing", "getPath", "abs", "createUnarySpacing", "getValue", "transformer", "propValue", "transformed", "getStyleFromPropValue", "cssProperties", "acc", "cssProperty", "resolveCssProperty", "props", "keys", "styleFromPropValue", "handleBreakpoints", "style", "merge_default", "margin", "padding", "spacing", "createSpacing", "spacingInput", "transform", "createUnarySpacing", "spacing", "argsInput", "argument", "output", "import_capitalize", "compose", "styles", "handlers", "acc", "style", "prop", "fn", "props", "merge_default", "compose_default", "borderTransform", "value", "createBorderStyle", "prop", "transform", "style_default", "border", "borderTop", "borderRight", "borderBottom", "borderLeft", "borderColor", "borderTopColor", "borderRightColor", "borderBottomColor", "borderLeftColor", "outline", "outlineColor", "borderRadius", "props", "transformer", "createUnaryUnit", "styleFromPropValue", "propValue", "getValue", "handleBreakpoints", "borders", "compose_default", "gap", "props", "transformer", "createUnaryUnit", "styleFromPropValue", "propValue", "getValue", "handleBreakpoints", "columnGap", "rowGap", "gridColumn", "style_default", "gridRow", "gridAutoFlow", "gridAutoColumns", "gridAutoRows", "gridTemplateColumns", "gridTemplateRows", "gridTemplateAreas", "gridArea", "grid", "compose_default", "paletteTransform", "value", "userValue", "color", "style_default", "bgcolor", "backgroundColor", "palette", "compose_default", "sizingTransform", "value", "width", "style_default", "maxWidth", "props", "styleFromPropValue", "propValue", "_props$theme", "_props$theme2", "breakpoint", "values", "handleBreakpoints", "minWidth", "height", "maxHeight", "minHeight", "sizeWidth", "sizeHeight", "boxSizing", "sizing", "compose_default", "defaultSxConfig", "borderTransform", "borderRadius", "paletteTransform", "padding", "margin", "value", "gap", "rowGap", "columnGap", "sizingTransform", "maxWidth", "defaultSxConfig_default", "objectsHaveSameKeys", "objects", "allKeys", "keys", "object", "union", "callIfFn", "maybeFn", "arg", "unstable_createStyleFunctionSx", "getThemeValue", "prop", "val", "theme", "config", "props", "options", "cssProperty", "themeKey", "transform", "style", "themeMapping", "getPath", "handleBreakpoints", "propValueFinal", "value", "getStyleValue", "capitalize", "styleFunctionSx", "_theme$unstable_sxCon", "sx", "defaultSxConfig_default", "traverse", "sxInput", "sxObject", "emptyBreakpoints", "createEmptyBreakpointObject", "breakpointsKeys", "css", "styleKey", "merge_default", "breakpointsValues", "x", "removeUnusedBreakpoints", "styleFunctionSx_default", "applyStyles", "key", "styles", "theme", "_excluded", "createTheme", "options", "args", "breakpointsInput", "paletteInput", "spacingInput", "shapeInput", "other", "_objectWithoutPropertiesLoose", "breakpoints", "createBreakpoints", "spacing", "createSpacing", "muiTheme", "deepmerge", "_extends", "shape_default", "applyStyles", "acc", "argument", "defaultSxConfig_default", "props", "styleFunctionSx_default", "createTheme_default", "React", "import_styled_engine", "isObjectEmpty", "obj", "useTheme", "defaultTheme", "contextTheme", "useThemeWithoutDefault_default", "systemDefaultTheme", "createTheme_default", "useTheme", "defaultTheme", "useThemeWithoutDefault_default", "useTheme_default", "init_extends", "import_deepmerge", "_excluded", "splitProps", "props", "_props$theme$unstable", "_props$theme", "result", "config", "defaultSxConfig_default", "prop", "extendSxProp", "inSx", "other", "_objectWithoutPropertiesLoose", "systemProps", "otherProps", "finalSx", "args", "_extends", "defaultGenerator", "componentName", "createClassNameGenerator", "generate", "generator", "ClassNameGenerator", "ClassNameGenerator_default", "init_extends", "React", "r", "f", "n", "o", "clsx", "clsx_default", "import_styled_engine", "import_jsx_runtime", "_excluded", "createBox", "options", "themeId", "defaultTheme", "defaultClassName", "generateClassName", "BoxRoot", "styled", "prop", "styleFunctionSx_default", "inProps", "ref", "theme", "useTheme_default", "_extendSxProp", "extendSxProp", "className", "component", "other", "_objectWithoutPropertiesLoose", "_jsx", "_extends", "clsx_default", "globalStateClasses", "generateUtilityClass", "componentName", "slot", "globalStatePrefix", "globalStateClass", "ClassNameGenerator_default", "generateUtilityClasses", "componentName", "slots", "globalStatePrefix", "result", "slot", "generateUtilityClass", "init_extends", "resolveProps", "defaultProps", "props", "output", "_extends", "propName", "defaultSlotProps", "slotProps", "slotPropName", "getThemeProps", "params", "theme", "name", "props", "resolveProps", "useThemeProps", "props", "name", "defaultTheme", "themeId", "theme", "useTheme_default", "getThemeProps", "React", "useEnhancedEffect", "useEnhancedEffect_default", "init_extends", "React", "init_extends", "React", "createChainedFunction", "funcs", "acc", "func", "args", "debounce", "func", "wait", "timeout", "debounced", "args", "later", "ownerDocument", "node", "ownerWindow", "node", "ownerDocument", "setRef", "ref", "value", "React", "useControlled", "controlled", "defaultProp", "name", "state", "isControlled", "valueState", "setValue", "value", "setValueIfUncontrolled", "newValue", "React", "useEventCallback", "fn", "ref", "useEnhancedEffect_default", "args", "useEventCallback_default", "React", "useForkRef", "refs", "ref", "instance", "setRef", "React", "UNINITIALIZED", "useLazyRef", "init", "initArg", "ref", "React", "EMPTY", "useOnMount", "fn", "Timeout", "_Timeout", "delay", "fn", "useTimeout", "timeout", "useLazyRef", "useOnMount", "React", "hadKeyboardEvent", "hadFocusVisibleRecently", "hadFocusVisibleRecentlyTimeout", "Timeout", "inputTypesWhitelist", "focusTriggersKeyboardModality", "node", "type", "tagName", "handleKeyDown", "event", "handlePointerDown", "handleVisibilityChange", "prepare", "doc", "isFocusVisible", "event", "target", "error", "hadKeyboardEvent", "focusTriggersKeyboardModality", "useIsFocusVisible", "ref", "node", "prepare", "isFocusVisibleRef", "handleBlurVisible", "hadFocusVisibleRecently", "hadFocusVisibleRecentlyTimeout", "handleFocusVisible", "cachedType", "detectScrollType", "dummy", "container", "getNormalizedScrollLeft", "element", "direction", "scrollLeft", "composeClasses", "slots", "getUtilityClass", "classes", "output", "slot", "acc", "key", "utilityClass", "init_extends", "init_extends", "isHostComponent", "element", "isHostComponent_default", "appendOwnerState", "elementType", "otherProps", "ownerState", "isHostComponent_default", "_extends", "appendOwnerState_default", "init_extends", "extractEventHandlers", "object", "excludeKeys", "result", "prop", "extractEventHandlers_default", "omitEventHandlers", "object", "result", "prop", "omitEventHandlers_default", "mergeSlotProps", "parameters", "getSlotProps", "additionalProps", "externalSlotProps", "externalForwardedProps", "className", "joinedClasses", "clsx_default", "mergedStyle", "_extends", "props", "eventHandlers", "extractEventHandlers_default", "componentsPropsWithoutEventHandlers", "omitEventHandlers_default", "otherPropsWithoutEventHandlers", "internalSlotProps", "mergeSlotProps_default", "resolveComponentProps", "componentProps", "ownerState", "slotState", "resolveComponentProps_default", "_excluded", "useSlotProps", "parameters", "_parameters$additiona", "elementType", "externalSlotProps", "ownerState", "skipResolvingSlotProps", "rest", "_objectWithoutPropertiesLoose", "resolvedComponentsProps", "resolveComponentProps_default", "mergedProps", "internalRef", "mergeSlotProps_default", "_extends", "ref", "useForkRef", "appendOwnerState_default", "useSlotProps_default", "React", "ThemeContext", "ThemeContext_default", "React", "useTheme", "ThemeContext_default", "hasSymbol", "nested_default", "import_jsx_runtime", "mergeOuterLocalTheme", "outerTheme", "localTheme", "_extends", "ThemeProvider", "props", "children", "useTheme", "theme", "output", "nested_default", "_jsx", "ThemeContext_default", "ThemeProvider_default", "import_styled_engine", "init_extends", "React", "import_jsx_runtime", "_excluded", "RtlContext", "RtlProvider", "_ref", "value", "props", "_objectWithoutPropertiesLoose", "_jsx", "_extends", "useRtl", "RtlProvider_default", "React", "import_jsx_runtime", "PropsContext", "DefaultPropsProvider", "value", "children", "_jsx", "getThemeProps", "params", "theme", "name", "props", "config", "resolveProps", "useDefaultProps", "ctx", "DefaultPropsProvider_default", "import_jsx_runtime", "EMPTY_THEME", "useThemeScoping", "themeId", "upperTheme", "localTheme", "isPrivate", "resolvedTheme", "mergedTheme", "result", "_extends", "ThemeProvider", "props", "children", "useThemeWithoutDefault_default", "upperPrivateTheme", "useTheme", "engineTheme", "privateTheme", "rtlValue", "_jsx", "ThemeProvider_default", "StyledEngineThemeContext", "RtlProvider_default", "DefaultPropsProvider_default", "init_extends", "import_formatMuiErrorMessage", "import_deepmerge", "import_styleFunctionSx", "import_createTheme", "init_extends", "createMixins", "breakpoints", "mixins", "_extends", "init_extends", "import_formatMuiErrorMessage", "import_deepmerge", "import_colorManipulator", "common", "common_default", "grey", "grey_default", "purple", "purple_default", "red", "red_default", "orange", "orange_default", "blue", "blue_default", "lightBlue", "lightBlue_default", "green", "green_default", "_excluded", "light", "common_default", "dark", "addLightOrDark", "intent", "direction", "shade", "tonalOffset", "tonalOffsetLight", "tonalOffsetDark", "getDefaultPrimary", "mode", "blue_default", "getDefaultSecondary", "purple_default", "getDefaultError", "red_default", "getDefaultInfo", "lightBlue_default", "getDefaultSuccess", "green_default", "getDefaultWarning", "orange_default", "createPalette", "palette", "contrastThreshold", "other", "_objectWithoutPropertiesLoose", "primary", "secondary", "error", "info", "success", "warning", "getContrastText", "background", "augmentColor", "color", "name", "mainShade", "lightShade", "darkShade", "_extends", "_formatMuiErrorMessage", "modes", "deepmerge", "grey_default", "init_extends", "import_deepmerge", "_excluded", "round", "value", "caseAllCaps", "defaultFontFamily", "createTypography", "palette", "typography", "_ref", "fontFamily", "fontSize", "fontWeightLight", "fontWeightRegular", "fontWeightMedium", "fontWeightBold", "htmlFontSize", "allVariants", "pxToRem2", "other", "_objectWithoutPropertiesLoose", "coef", "pxToRem", "size", "buildVariant", "fontWeight", "lineHeight", "letterSpacing", "casing", "_extends", "variants", "deepmerge", "createShadow", "px", "shadows", "shadows_default", "init_extends", "_excluded", "easing", "duration", "formatMs", "milliseconds", "getAutoHeightDuration", "height", "constant", "createTransitions", "inputTransitions", "mergedEasing", "_extends", "mergedDuration", "props", "options", "durationOption", "easingOption", "delay", "other", "_objectWithoutPropertiesLoose", "animatedProp", "zIndex", "zIndex_default", "_excluded", "createTheme", "options", "args", "mixinsInput", "paletteInput", "transitionsInput", "typographyInput", "other", "_objectWithoutPropertiesLoose", "_formatMuiErrorMessage", "palette", "createPalette", "systemTheme", "systemCreateTheme", "muiTheme", "deepmerge", "createMixins", "shadows_default", "createTypography", "createTransitions", "_extends", "zIndex_default", "acc", "argument", "defaultSxConfig", "props", "styleFunctionSx", "createTheme_default", "createTheme", "React", "defaultTheme", "createTheme_default", "defaultTheme_default", "useTheme", "theme", "useTheme_default", "defaultTheme_default", "identifier_default", "useThemeProps", "props", "name", "defaultTheme_default", "identifier_default", "import_createStyled", "slotShouldForwardProp", "prop", "slotShouldForwardProp_default", "rootShouldForwardProp", "prop", "slotShouldForwardProp_default", "rootShouldForwardProp_default", "styled", "createStyled", "identifier_default", "defaultTheme_default", "rootShouldForwardProp_default", "styled_default", "init_extends", "React", "import_jsx_runtime", "_excluded", "ThemeProvider", "_ref", "themeInput", "props", "_objectWithoutPropertiesLoose", "scopedTheme", "identifier_default", "_jsx", "ThemeProvider_default", "_extends", "getOverlayAlpha", "elevation", "alphaValue", "getOverlayAlpha_default", "formatMuiErrorMessage", "code", "args", "url", "arg", "identifier_default", "init_emotion_styled_browser_esm", "init_emotion_serialize_esm", "init_emotion_react_browser_esm", "React", "init_emotion_react_browser_esm", "import_jsx_runtime", "isEmpty", "obj", "GlobalStyles", "props", "styles", "defaultTheme", "_jsx", "Global", "themeInput", "styled", "tag", "options", "newStyled", "internal_mutateStyles", "processor", "wrapper", "internal_serializeStyles", "styles", "serializeStyles", "React", "React", "isPlainObject", "item", "prototype", "deepClone", "source", "output", "key", "deepmerge", "target", "options", "sortBreakpointsValues", "values", "breakpointsAsArray", "key", "breakpoint1", "breakpoint2", "acc", "obj", "createBreakpoints", "breakpoints", "unit", "step", "other", "sortedValues", "keys", "up", "down", "between", "start", "end", "endIndex", "only", "not", "keyIndex", "sortContainerQueries", "theme", "css", "sorted", "key", "a", "b", "_a", "_b", "regex", "acc", "value", "isCqShorthand", "breakpointKeys", "getContainerQuery", "shorthand", "matches", "containerQuery", "containerName", "cssContainerQueries", "themeInput", "toContainerQuery", "mediaQuery", "name", "attachCq", "node", "args", "result", "containerQueries", "shape", "shape_default", "merge", "acc", "item", "deepmerge", "merge_default", "values", "defaultBreakpoints", "key", "defaultContainerQueries", "containerName", "result", "handleBreakpoints", "props", "propValue", "styleFromPropValue", "theme", "themeBreakpoints", "acc", "item", "index", "breakpoint", "isCqShorthand", "containerKey", "getContainerQuery", "mediaKey", "cssKey", "createEmptyBreakpointObject", "breakpointsInput", "_a", "acc", "key", "breakpointStyleKey", "removeUnusedBreakpoints", "breakpointKeys", "style", "breakpointOutput", "capitalize", "string", "formatMuiErrorMessage", "getPath", "obj", "path", "checkVars", "val", "acc", "item", "getStyleValue", "themeMapping", "transform", "propValueFinal", "userValue", "value", "style", "options", "prop", "cssProperty", "themeKey", "fn", "props", "propValue", "theme", "handleBreakpoints", "capitalize", "style_default", "memoize", "fn", "cache", "arg", "properties", "directions", "aliases", "getCssProperties", "memoize", "prop", "a", "b", "property", "direction", "dir", "marginKeys", "paddingKeys", "spacingKeys", "createUnaryUnit", "theme", "themeKey", "defaultValue", "propName", "_a", "themeSpacing", "getPath", "val", "abs", "transformed", "createUnarySpacing", "getValue", "transformer", "propValue", "getStyleFromPropValue", "cssProperties", "acc", "cssProperty", "resolveCssProperty", "props", "keys", "styleFromPropValue", "handleBreakpoints", "style", "merge_default", "margin", "padding", "spacing", "createSpacing", "spacingInput", "transform", "createUnarySpacing", "spacing", "argsInput", "argument", "output", "compose", "styles", "handlers", "acc", "style", "prop", "fn", "props", "merge_default", "compose_default", "borderTransform", "value", "createBorderStyle", "prop", "transform", "style_default", "border", "borderTop", "borderRight", "borderBottom", "borderLeft", "borderColor", "borderTopColor", "borderRightColor", "borderBottomColor", "borderLeftColor", "outline", "outlineColor", "borderRadius", "props", "transformer", "createUnaryUnit", "styleFromPropValue", "propValue", "getValue", "handleBreakpoints", "borders", "compose_default", "gap", "props", "transformer", "createUnaryUnit", "styleFromPropValue", "propValue", "getValue", "handleBreakpoints", "columnGap", "rowGap", "gridColumn", "style_default", "gridRow", "gridAutoFlow", "gridAutoColumns", "gridAutoRows", "gridTemplateColumns", "gridTemplateRows", "gridTemplateAreas", "gridArea", "grid", "compose_default", "paletteTransform", "value", "userValue", "color", "style_default", "bgcolor", "backgroundColor", "palette", "compose_default", "sizingTransform", "value", "width", "style_default", "maxWidth", "props", "styleFromPropValue", "propValue", "_a", "_b", "_c", "_d", "_e", "breakpoint", "values", "handleBreakpoints", "minWidth", "height", "maxHeight", "minHeight", "sizeWidth", "sizeHeight", "boxSizing", "sizing", "compose_default", "defaultSxConfig", "borderTransform", "borderRadius", "paletteTransform", "padding", "margin", "value", "gap", "rowGap", "columnGap", "sizingTransform", "maxWidth", "defaultSxConfig_default", "objectsHaveSameKeys", "objects", "allKeys", "keys", "object", "union", "callIfFn", "maybeFn", "arg", "unstable_createStyleFunctionSx", "getThemeValue", "prop", "val", "theme", "config", "props", "options", "cssProperty", "themeKey", "transform", "style", "themeMapping", "getPath", "handleBreakpoints", "propValueFinal", "value", "getStyleValue", "capitalize", "styleFunctionSx", "_a", "sx", "defaultSxConfig_default", "traverse", "sxInput", "sxObject", "emptyBreakpoints", "createEmptyBreakpointObject", "breakpointsKeys", "css", "styleKey", "merge_default", "breakpointsValues", "x", "sortContainerQueries", "removeUnusedBreakpoints", "styleFunctionSx_default", "applyStyles", "key", "styles", "_a", "theme", "selector", "createTheme", "options", "args", "breakpointsInput", "paletteInput", "spacingInput", "shapeInput", "other", "breakpoints", "createBreakpoints", "spacing", "createSpacing", "muiTheme", "deepmerge", "shape_default", "cssContainerQueries", "applyStyles", "acc", "argument", "defaultSxConfig_default", "props", "styleFunctionSx_default", "createTheme_default", "React", "isObjectEmpty", "obj", "useTheme", "defaultTheme", "contextTheme", "ThemeContext", "useThemeWithoutDefault_default", "systemDefaultTheme", "createTheme_default", "useTheme", "defaultTheme", "useThemeWithoutDefault_default", "useTheme_default", "import_jsx_runtime", "GlobalStyles", "styles", "themeId", "defaultTheme", "upperTheme", "useTheme_default", "globalStyles", "_jsx", "GlobalStyles_default", "splitProps", "props", "_a", "_b", "result", "config", "defaultSxConfig_default", "prop", "extendSxProp", "inSx", "other", "systemProps", "otherProps", "finalSx", "args", "isPlainObject", "defaultGenerator", "componentName", "createClassNameGenerator", "generate", "generator", "ClassNameGenerator", "ClassNameGenerator_default", "React", "import_jsx_runtime", "createBox", "options", "themeId", "defaultTheme", "defaultClassName", "generateClassName", "BoxRoot", "styled", "prop", "styleFunctionSx_default", "inProps", "ref", "theme", "useTheme_default", "className", "component", "other", "extendSxProp", "_jsx", "clsx_default", "globalStateClasses", "generateUtilityClass", "componentName", "slot", "globalStatePrefix", "globalStateClass", "ClassNameGenerator_default", "generateUtilityClasses", "componentName", "slots", "globalStatePrefix", "result", "slot", "generateUtilityClass", "preprocessStyles", "input", "variants", "style", "result", "internal_serializeStyles", "variant", "systemDefaultTheme", "createTheme_default", "shouldForwardProp", "prop", "defaultOverridesResolver", "slot", "_props", "styles", "attachTheme", "props", "themeId", "defaultTheme", "isObjectEmpty", "processStyle", "style", "resolvedStyle", "subStyle", "rootStyle", "variants", "otherStyles", "processStyleVariants", "results", "_a", "mergedState", "variantLoop", "i", "variant", "key", "createStyled", "input", "rootShouldForwardProp", "slotShouldForwardProp", "styleAttachTheme", "tag", "inputOptions", "internal_mutateStyles", "styleFunctionSx_default", "componentName", "componentSlot", "inputSkipVariantsResolver", "inputSkipSx", "overridesResolver", "lowercaseFirstLetter", "options", "skipVariantsResolver", "skipSx", "shouldForwardPropOption", "isStringTag", "defaultStyledResolver", "styled", "generateStyledLabel", "transformStyle", "isPlainObject", "serialized", "preprocessStyles", "muiStyledResolver", "expressionsInput", "expressionsHead", "expressionsBody", "expressionsTail", "_b", "styleOverrides", "resolvedStyleOverrides", "slotKey", "theme", "themeVariants", "inputStrings", "placeholdersHead", "placeholdersTail", "outputStrings", "expressions", "Component", "generateStyledLabel", "componentName", "componentSlot", "isObjectEmpty", "object", "_", "isStringTag", "tag", "lowercaseFirstLetter", "string", "styled", "createStyled", "styled_default", "resolveProps", "defaultProps", "props", "output", "key", "propName", "defaultSlotProps", "slotProps", "slotKey", "slotPropName", "getThemeProps", "params", "theme", "name", "props", "resolveProps", "useThemeProps", "props", "name", "defaultTheme", "themeId", "theme", "useTheme_default", "getThemeProps", "React", "React", "useEnhancedEffect", "useEnhancedEffect_default", "useMediaQueryOld", "query", "defaultMatches", "matchMedia", "ssrMatchMedia", "noSsr", "match", "setMatch", "useEnhancedEffect_default", "queryList", "updateMatch", "safeReact", "React", "maybeReactUseSyncExternalStore", "useMediaQueryNew", "getDefaultSnapshot", "getServerSnapshot", "matches", "getSnapshot", "subscribe", "mediaQueryList", "notify", "unstable_createUseMediaQuery", "params", "themeId", "queryInput", "options", "theme", "useThemeWithoutDefault_default", "supportMatchMedia", "getThemeProps", "useMediaQuery", "clamp", "val", "min", "max", "clamp_default", "clampWrapper", "value", "min", "max", "clamp_default", "hexToRgb", "color", "re", "colors", "n", "index", "decomposeColor", "color", "hexToRgb", "marker", "type", "formatMuiErrorMessage", "values", "colorSpace", "value", "colorChannel", "decomposedColor", "val", "idx", "private_safeColorChannel", "warning", "error", "recomposeColor", "n", "i", "hslToRgb", "color", "decomposeColor", "values", "h", "s", "l", "a", "f", "n", "k", "type", "rgb", "recomposeColor", "getLuminance", "val", "getContrastRatio", "foreground", "background", "lumA", "lumB", "alpha", "value", "clampWrapper", "private_safeAlpha", "warning", "error", "darken", "coefficient", "i", "private_safeDarken", "lighten", "private_safeLighten", "emphasize", "private_safeEmphasize", "createChainedFunction", "funcs", "acc", "func", "args", "debounce", "func", "wait", "timeout", "debounced", "args", "later", "React", "isMuiElement", "element", "muiNames", "_a", "_b", "_c", "_d", "ownerDocument", "node", "ownerWindow", "node", "ownerDocument", "setRef", "ref", "value", "React", "globalId", "useGlobalId", "idOverride", "defaultId", "setDefaultId", "id", "safeReact", "maybeReactUseId", "useId", "reactId", "React", "useControlled", "controlled", "defaultProp", "name", "state", "isControlled", "valueState", "setValue", "value", "setValueIfUncontrolled", "newValue", "React", "useEventCallback", "fn", "ref", "useEnhancedEffect_default", "args", "useEventCallback_default", "React", "useForkRef", "refs", "ref", "instance", "setRef", "React", "UNINITIALIZED", "useLazyRef", "init", "initArg", "ref", "React", "EMPTY", "useOnMount", "fn", "Timeout", "_Timeout", "__publicField", "delay", "fn", "useTimeout", "timeout", "useLazyRef", "useOnMount", "isFocusVisible", "element", "error", "getScrollbarSize", "win", "documentWidth", "React", "usePreviousProps", "value", "ref", "usePreviousProps_default", "composeClasses", "slots", "getUtilityClass", "classes", "output", "slotName", "slot", "buffer", "start", "i", "value", "isHostComponent", "element", "isHostComponent_default", "appendOwnerState", "elementType", "otherProps", "ownerState", "isHostComponent_default", "appendOwnerState_default", "extractEventHandlers", "object", "excludeKeys", "result", "prop", "extractEventHandlers_default", "omitEventHandlers", "object", "result", "prop", "omitEventHandlers_default", "mergeSlotProps", "parameters", "getSlotProps", "additionalProps", "externalSlotProps", "externalForwardedProps", "className", "joinedClasses", "clsx_default", "mergedStyle", "props", "eventHandlers", "extractEventHandlers_default", "componentsPropsWithoutEventHandlers", "omitEventHandlers_default", "otherPropsWithoutEventHandlers", "internalSlotProps", "mergeSlotProps_default", "resolveComponentProps", "componentProps", "ownerState", "slotState", "resolveComponentProps_default", "useSlotProps", "parameters", "_a", "elementType", "externalSlotProps", "ownerState", "skipResolvingSlotProps", "other", "resolvedComponentsProps", "resolveComponentProps_default", "mergedProps", "internalRef", "mergeSlotProps_default", "ref", "useForkRef", "appendOwnerState_default", "useSlotProps_default", "React", "getReactElementRef", "element", "_a", "React", "import_jsx_runtime", "RtlContext", "useRtl", "value", "RtlContext", "React", "import_jsx_runtime", "PropsContext", "getThemeProps", "params", "theme", "name", "props", "config", "resolveProps", "useDefaultProps", "ctx", "PropsContext", "arg", "unstable_memoTheme", "styleFn", "lastValue", "lastTheme", "props", "value", "preprocessStyles", "createGetCssVar", "prefix", "appendVar", "vars", "value", "field", "fallbacks", "assignNestedKeys", "obj", "keys", "value", "arrayKeys", "temp", "k", "index", "walkObjectDeep", "callback", "shouldSkipPaths", "recurse", "object", "parentKeys", "key", "getCssValue", "prop", "cssVarsParser", "theme", "options", "prefix", "shouldSkipGeneratingVar", "css", "vars", "varsWithDefaults", "cssVar", "resolvedValue", "prepareCssVars", "theme", "parserConfig", "getSelector", "defaultGetSelector", "disableCssColorScheme", "selector", "colorSchemes", "components", "defaultColorScheme", "otherTheme", "rootVars", "rootCss", "rootVarsWithDefaults", "cssVarsParser", "themeVars", "colorSchemesMap", "defaultScheme", "otherColorSchemes", "key", "scheme", "vars", "css", "varsWithDefaults", "deepmerge", "colorScheme", "cssObject", "_a", "_b", "rule", "schemeVars", "stylesheets", "insertStyleSheet", "defaultSchemeVal", "other", "cssColorSheme", "finalCss", "prepareCssVars_default", "createGetColorSchemeSelector", "selector", "colorScheme", "React", "filterBreakpointKeys", "breakpointsKeys", "responsiveKeys", "key", "traverseBreakpoints", "breakpoints", "responsive", "iterator", "smallestBreakpoint", "breakpointValue", "index", "responsiveStyles", "style", "getSelfSpacingVar", "axis", "getParentSpacingVar", "selfColumnsVar", "parentColumnsVar", "generateGridSizeStyles", "theme", "ownerState", "styles", "traverseBreakpoints", "appendStyle", "value", "style", "generateGridOffsetStyles", "generateGridColumnsStyles", "columns", "generateGridRowSpacingStyles", "_a", "spacing", "generateGridColumnSpacingStyles", "generateGridDirectionStyles", "generateGridStyles", "generateSizeClassNames", "size", "classNames", "key", "generateSpacingClassNames", "smallestBreakpoint", "isValidSpacing", "val", "generateDirectionClasses", "direction", "import_jsx_runtime", "defaultTheme", "createTheme_default", "defaultCreateStyledComponent", "styled_default", "props", "styles", "useThemePropsDefault", "useThemeProps", "createGrid", "options", "createStyledComponent", "componentName", "useUtilityClasses", "ownerState", "theme", "container", "direction", "spacing", "wrap", "size", "slots", "generateDirectionClasses", "generateSizeClassNames", "generateSpacingClassNames", "composeClasses", "slot", "generateUtilityClass", "parseResponsiveProp", "propValue", "breakpoints", "shouldUseValue", "parsedProp", "value", "index", "key", "GridRoot", "generateGridColumnsStyles", "generateGridColumnSpacingStyles", "generateGridRowSpacingStyles", "generateGridSizeStyles", "generateGridDirectionStyles", "generateGridStyles", "generateGridOffsetStyles", "Grid", "inProps", "ref", "_a", "_b", "_c", "_d", "_e", "_f", "useTheme_default", "themeProps", "extendSxProp", "className", "children", "columnsProp", "component", "sizeProp", "offsetProp", "spacingProp", "rowSpacingProp", "columnSpacingProp", "level", "other", "val", "offset", "columns", "rowSpacing", "columnSpacing", "classes", "_jsx", "clsx_default", "child", "isMuiElement", "common", "common_default", "grey", "grey_default", "purple", "purple_default", "red", "red_default", "orange", "orange_default", "blue", "blue_default", "lightBlue", "lightBlue_default", "green", "green_default", "getLight", "common_default", "light", "getDark", "dark", "addLightOrDark", "intent", "direction", "shade", "tonalOffset", "tonalOffsetLight", "tonalOffsetDark", "lighten", "darken", "getDefaultPrimary", "mode", "blue_default", "getDefaultSecondary", "purple_default", "getDefaultError", "red_default", "getDefaultInfo", "lightBlue_default", "getDefaultSuccess", "green_default", "getDefaultWarning", "orange_default", "createPalette", "palette", "contrastThreshold", "other", "primary", "secondary", "error", "info", "success", "warning", "getContrastText", "background", "getContrastRatio", "augmentColor", "color", "name", "mainShade", "lightShade", "darkShade", "formatMuiErrorMessage", "modeHydrated", "deepmerge", "grey_default", "prepareTypographyVars", "typography", "vars", "entry", "key", "value", "createMixins", "breakpoints", "mixins", "round", "value", "caseAllCaps", "defaultFontFamily", "createTypography", "palette", "typography", "fontFamily", "fontSize", "fontWeightLight", "fontWeightRegular", "fontWeightMedium", "fontWeightBold", "htmlFontSize", "allVariants", "pxToRem2", "other", "coef", "pxToRem", "size", "buildVariant", "fontWeight", "lineHeight", "letterSpacing", "casing", "variants", "deepmerge", "createShadow", "px", "shadows", "shadows_default", "easing", "duration", "formatMs", "milliseconds", "getAutoHeightDuration", "height", "constant", "createTransitions", "inputTransitions", "mergedEasing", "mergedDuration", "props", "options", "durationOption", "easingOption", "delay", "other", "animatedProp", "zIndex", "zIndex_default", "isSerializable", "val", "isPlainObject", "stringifyTheme", "baseTheme", "serializableTheme", "serializeTheme", "object", "array", "index", "key", "value", "createThemeNoVars", "options", "args", "breakpointsInput", "mixinsInput", "spacingInput", "paletteInput", "transitionsInput", "typographyInput", "shapeInput", "other", "formatMuiErrorMessage", "palette", "createPalette", "systemTheme", "createTheme_default", "muiTheme", "deepmerge", "createMixins", "shadows_default", "createTypography", "createTransitions", "zIndex_default", "acc", "argument", "defaultSxConfig_default", "props", "styleFunctionSx_default", "stringifyTheme", "createThemeNoVars_default", "createThemeNoVars", "getOverlayAlpha", "elevation", "alphaValue", "defaultDarkOverlays", "_", "index", "overlay", "getOverlayAlpha", "getOpacity", "mode", "getOverlays", "createColorScheme", "options", "paletteInput", "opacity", "overlays", "rest", "palette", "createPalette", "shouldSkipGeneratingVar", "keys", "_a", "excludeVariablesFromRoot", "cssVarPrefix", "_", "index", "excludeVariablesFromRoot_default", "createGetSelector_default", "theme", "colorScheme", "css", "root", "selector", "rule", "excludedVariables", "excludeVariablesFromRoot_default", "cssVar", "assignNode", "obj", "keys", "k", "setColor", "key", "defaultValue", "toRgb", "color", "hslToRgb", "setColorChannel", "private_safeColorChannel", "getSpacingVal", "spacingInput", "silent", "fn", "error", "createGetCssVar", "cssVarPrefix", "attachColorScheme", "colorSchemes", "scheme", "restTheme", "colorScheme", "mode", "createColorScheme", "palette", "muiTheme", "createThemeNoVars_default", "getOpacity", "getOverlays", "createThemeWithVars", "options", "args", "colorSchemesInput", "defaultColorSchemeInput", "disableCssColorScheme", "shouldSkipGeneratingVar", "selector", "rootSelector", "input", "firstColorScheme", "defaultColorScheme", "getCssVar", "defaultSchemeInput", "builtInLight", "builtInDark", "customColorSchemes", "defaultScheme", "formatMuiErrorMessage", "theme", "prepareTypographyVars", "setCssVarColor", "cssVar", "tokens", "colorToken", "private_safeDarken", "private_safeLighten", "snackbarContentBackground", "private_safeEmphasize", "private_safeAlpha", "colors", "acc", "argument", "deepmerge", "parserConfig", "createGetSelector_default", "vars", "generateThemeVars", "generateStyleSheets", "prepareCssVars_default", "value", "createSpacing", "createUnarySpacing", "createGetColorSchemeSelector", "defaultSxConfig_default", "props", "styleFunctionSx_default", "stringifyTheme", "attachColorScheme", "theme", "scheme", "colorScheme", "createPalette", "createTheme", "options", "args", "palette", "cssVariables", "initialColorSchemes", "initialDefaultColorScheme", "rest", "defaultColorSchemeInput", "defaultScheme", "colorSchemesInput", "createThemeNoVars_default", "paletteOptions", "createThemeWithVars", "React", "defaultTheme", "createTheme", "defaultTheme_default", "useTheme", "theme", "useTheme_default", "defaultTheme_default", "identifier_default", "slotShouldForwardProp", "prop", "slotShouldForwardProp_default", "rootShouldForwardProp", "prop", "slotShouldForwardProp_default", "rootShouldForwardProp_default", "styled", "createStyled", "identifier_default", "defaultTheme_default", "rootShouldForwardProp_default", "styled_default", "step", "toInt", "hex", "rgb", "g", "b", "toHex", "int", "getElevation", "color", "overlayColor", "elevation", "overlay", "getElevations", "elevations", "i", "Theme", "type", "overrides", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "_h", "_i", "_j", "_k", "options", "localOverrides", "orange_default", "grey_default", "theme", "createTheme", "palette", "alpha", "import_react", "createDeferredPromise", "res", "rej", "promise", "resolve", "reject", "getObjectViewResultToArray", "doc", "_a", "item", "val", "normalizeHostId", "host", "objectIdToHostname", "id", "wait", "ms", "resolve", "pattern2RegEx", "pattern", "startsWithWildcard", "endsWithWildcard", "PROGRESS", "ERRORS", "PERMISSION_ERROR", "NOT_CONNECTED", "ADAPTERS", "Connection", "_Connection", "props", "__publicField", "createDeferredPromise", "e", "_a", "_b", "_c", "_d", "error", "resolve", "reject", "i", "wait", "host", "port", "protocol", "path", "parsed", "pos", "parts", "url", "noTimeout", "info", "major", "minor", "patch", "isOk", "isSecure", "cb", "message", "err", "_err", "id", "obj", "state", "messageType", "from", "data", "fileName", "size", "text", "exitCode", "_isOk", "acl", "maxAttempts", "_e", "_f", "_g", "_h", "_i", "args", "binary", "ids", "toSubscribe", "_id", "pattern2RegEx", "base64", "states", "mayBePromise", "toUnsubscribe", "sub", "oldObj", "changed", "sourceInstance", "filePattern", "filePatterns", "f", "pattern", "key", "cacheKey", "forceUpdate", "commandTimeout", "onTimeout", "requireAdmin", "requireFeatures", "executor", "feature", "promise", "timeoutControl", "timeout", "isAll", "k", "res", "val", "ack", "update", "disableProgressUpdate", "list", "isEnable", "isEnabled", "maintenance", "instance", "command", "result", "handler", "_enum", "_res", "start", "end", "type", "design", "objs", "namespace", "files", "byte", "folderName", "oldName", "newName", "cmd", "cmdId", "cmdTimeout", "normalizeHostId", "systemConfig", "objects", "options", "values", "stepIgnore", "sessionId", "version", "serverName", "name", "adapter", "filename", "exists", "_isSecure", "user", "features", "startKey", "endKey", "instances", "instanceObjects", "o", "adapters", "adapterObjects", "doc", "getObjectViewResultToArray", "targetInstance", "callback", "subscribeResult", "subscription", "deleted", "promiseResults", "index", "_messageType", "wasSubscribed", "results", "level", "parseCertificate", "name", "cert", "type", "t", "parseIPAddresses", "host", "_a", "_b", "IPs4", "IPs6", "eth", "iface", "ip", "AdminConnection", "Connection", "props", "options", "update", "resolve", "obj", "linesNumber", "lines", "result", "version", "adminInstance", "reject", "_result", "login", "password", "err", "licenses", "packages", "restart", "files", "adapter", "fileName", "folderName", "oldName", "newName", "doc", "getObjectViewResultToArray", "id", "newId", "groups", "subGroups", "g", "group", "oldGroupId", "newGroupId", "parentGroup", "timeoutMs", "normalizeHostId", "timeout", "data", "ERRORS", "args", "cmdTimeout", "cmd", "cmdId", "objectIdToHostname", "config", "typeOfDiag", "_reject", "user", "ipOrHostName", "plaintext", "ciphertext", "path", "processed", "filename", "category", "notifications", "isStrict", "ratings", "controller", "res", "e", "namespace", "adapterStr", "instances", "adapters", "compactHostsInfo", "systemRepositories", "DEBUG_BUILD", "SDK_VERSION", "GLOBAL_OBJ", "getGlobalSingleton", "name", "creator", "obj", "gbl", "__SENTRY__", "versionedCarrier", "SDK_VERSION", "DEBUG_BUILD", "PREFIX", "CONSOLE_LEVELS", "originalConsoleMethods", "consoleSandbox", "callback", "GLOBAL_OBJ", "console", "wrappedFuncs", "wrappedLevels", "level", "originalConsoleMethod", "makeLogger", "enabled", "logger", "DEBUG_BUILD", "name", "args", "getGlobalSingleton", "UNKNOWN_FUNCTION", "WEBPACK_ERROR_REGEXP", "STRIP_FRAME_REGEXP", "createStackParser", "parsers", "sortedParsers", "a", "b", "p", "stack", "skipFirstLines", "framesToPop", "frames", "lines", "line", "cleanedLine", "parser", "frame", "stripSentryFramesAndReverse", "stackParserFromStackParserOptions", "stackParser", "localStack", "getLastStackFrame", "arr", "defaultFunctionName", "getFunctionName", "fn", "e", "getFramesFromEvent", "event", "exception", "value", "_oO", "handlers", "instrumented", "addHandler", "type", "handler", "maybeInstrument", "type", "instrumentFn", "instrumented", "e", "DEBUG_BUILD", "logger", "triggerHandlers", "data", "typeHandlers", "handlers", "handler", "getFunctionName", "_oldOnErrorHandler", "addGlobalErrorInstrumentationHandler", "handler", "type", "addHandler", "maybeInstrument", "instrumentError", "GLOBAL_OBJ", "msg", "url", "line", "column", "error", "triggerHandlers", "_oldOnUnhandledRejectionHandler", "addGlobalUnhandledRejectionInstrumentationHandler", "handler", "type", "addHandler", "maybeInstrument", "instrumentUnhandledRejection", "GLOBAL_OBJ", "triggerHandlers", "getMainCarrier", "getSentryCarrier", "GLOBAL_OBJ", "carrier", "__SENTRY__", "SDK_VERSION", "objectToString", "isError", "wat", "isInstanceOf", "isBuiltin", "className", "isErrorEvent", "isDOMError", "isDOMException", "isString", "isParameterizedString", "isPrimitive", "isPlainObject", "isEvent", "isElement", "isRegExp", "isThenable", "isSyntheticEvent", "base", "_e", "isVueViewModel", "WINDOW", "GLOBAL_OBJ", "DEFAULT_MAX_STRING_LENGTH", "htmlTreeAsString", "elem", "options", "currentElem", "MAX_TRAVERSE_HEIGHT", "out", "height", "len", "separator", "sepLength", "nextStr", "keyAttrs", "maxStringLength", "_htmlElementAsString", "_oO", "el", "keyAttrPairs", "keyAttr", "keyAttrPair", "className", "isString", "classes", "c", "allowedAttrs", "k", "attr", "getLocationHref", "oO", "getComponentName", "elem", "WINDOW", "currentElem", "MAX_TRAVERSE_HEIGHT", "i", "truncate", "str", "max", "safeJoin", "input", "delimiter", "output", "i", "value", "isVueViewModel", "e", "isMatchingPattern", "pattern", "requireExactStringMatch", "isString", "isRegExp", "stringMatchesSomePattern", "testString", "patterns", "fill", "source", "name", "replacementFactory", "original", "wrapped", "markFunctionWrapped", "e", "DEBUG_BUILD", "logger", "addNonEnumerableProperty", "obj", "value", "o_O", "proto", "getOriginalFunction", "func", "convertToPlainObject", "value", "isError", "getOwnProperties", "isEvent", "newObj", "serializeEventTarget", "isInstanceOf", "target", "isElement", "htmlTreeAsString", "_oO", "obj", "extractedProps", "property", "extractExceptionKeysForMessage", "exception", "maxLength", "keys", "firstKey", "truncate", "includedKeys", "serialized", "dropUndefinedKeys", "inputValue", "_dropUndefinedKeys", "memoizationMap", "isPojo", "memoVal", "returnValue", "key", "item", "input", "isPlainObject", "name", "e2", "ONE_SECOND_IN_MS", "dateTimestampInSeconds", "createUnixTimestampInSecondsFunc", "performance", "GLOBAL_OBJ", "approxStartingTimeOrigin", "timeOrigin", "timestampInSeconds", "_browserPerformanceTimeOriginMode", "browserPerformanceTimeOrigin", "threshold", "performanceNow", "dateNow", "timeOriginDelta", "timeOriginIsReliable", "navigationStart", "navigationStartDelta", "navigationStartIsReliable", "uuid4", "gbl", "GLOBAL_OBJ", "crypto", "getRandomByte", "typedArray", "_", "c", "getFirstException", "event", "getEventDescription", "message", "eventId", "firstException", "addExceptionTypeValue", "value", "type", "exception", "values", "addExceptionMechanism", "newMechanism", "defaultMechanism", "currentMechanism", "mergedData", "checkOrSetAlreadyCaught", "exception", "addNonEnumerableProperty", "err", "States", "RESOLVED", "REJECTED", "resolvedSyncPromise", "value", "SyncPromise", "resolve", "rejectedSyncPromise", "reason", "_", "reject", "_SyncPromise", "executor", "e", "onfulfilled", "onrejected", "result", "val", "onfinally", "isRejected", "state", "isThenable", "cachedHandlers", "handler", "makeSession", "context", "startingTime", "timestampInSeconds", "session", "uuid4", "sessionToJSON", "updateSession", "duration", "closeSession", "status", "dropUndefinedKeys", "generatePropagationContext", "uuid4", "merge", "initialObj", "mergeObj", "levels", "output", "key", "SCOPE_SPAN_FIELD", "_setSpanForScope", "scope", "span", "addNonEnumerableProperty", "_getSpanForScope", "DEFAULT_MAX_BREADCRUMBS", "ScopeClass", "_ScopeClass", "generatePropagationContext", "newScope", "_setSpanForScope", "_getSpanForScope", "client", "lastEventId", "callback", "user", "updateSession", "requestSession", "tags", "key", "value", "extras", "extra", "fingerprint", "level", "name", "context", "session", "captureContext", "scopeToMerge", "scopeInstance", "Scope", "isPlainObject", "contexts", "propagationContext", "breadcrumb", "maxBreadcrumbs", "maxCrumbs", "mergedBreadcrumb", "dateTimestampInSeconds", "breadcrumbs", "attachment", "newData", "merge", "exception", "hint", "eventId", "uuid4", "logger", "syntheticException", "message", "event", "getDefaultCurrentScope", "getGlobalSingleton", "ScopeClass", "getDefaultIsolationScope", "AsyncContextStack", "scope", "isolationScope", "assignedScope", "Scope", "assignedIsolationScope", "callback", "maybePromiseResult", "e", "isThenable", "res", "getAsyncContextStack", "registry", "getMainCarrier", "sentry", "getSentryCarrier", "getDefaultCurrentScope", "getDefaultIsolationScope", "withScope", "withSetScope", "stack", "withIsolationScope", "getStackAsyncContextStrategy", "_isolationScope", "getAsyncContextStrategy", "carrier", "sentry", "getSentryCarrier", "getStackAsyncContextStrategy", "getCurrentScope", "carrier", "getMainCarrier", "getAsyncContextStrategy", "getIsolationScope", "getGlobalScope", "getGlobalSingleton", "ScopeClass", "withScope", "rest", "acs", "scope", "callback", "getClient", "getCurrentScope", "getTraceContextFromScope", "scope", "propagationContext", "traceId", "spanId", "parentSpanId", "dropUndefinedKeys", "METRICS_SPAN_FIELD", "getMetricSummaryJsonForSpan", "span", "storage", "output", "exportKey", "summary", "dropUndefinedKeys", "SEMANTIC_ATTRIBUTE_SENTRY_SOURCE", "SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE", "SEMANTIC_ATTRIBUTE_SENTRY_OP", "SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN", "SENTRY_BAGGAGE_KEY_PREFIX", "SENTRY_BAGGAGE_KEY_PREFIX_REGEX", "baggageHeaderToDynamicSamplingContext", "baggageHeader", "baggageObject", "parseBaggageHeader", "dynamicSamplingContext", "acc", "key", "value", "SENTRY_BAGGAGE_KEY_PREFIX_REGEX", "nonPrefixedKey", "SENTRY_BAGGAGE_KEY_PREFIX", "parseBaggageHeader", "baggageHeader", "isString", "acc", "curr", "currBaggageObject", "baggageHeaderToObject", "key", "value", "baggageEntry", "keyOrValue", "TRACE_FLAG_SAMPLED", "hasShownSpanDropWarning", "spanToTraceContext", "span", "span_id", "trace_id", "parent_span_id", "spanToJSON", "dropUndefinedKeys", "spanTimeInputToSeconds", "input", "ensureTimestampInSeconds", "timestampInSeconds", "timestamp", "spanToJSON", "span", "spanIsSentrySpan", "span_id", "trace_id", "spanIsOpenTelemetrySdkTraceBaseSpan", "attributes", "startTime", "name", "endTime", "parentSpanId", "status", "dropUndefinedKeys", "getStatusMessage", "SEMANTIC_ATTRIBUTE_SENTRY_OP", "SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN", "getMetricSummaryJsonForSpan", "e", "castSpan", "spanIsSampled", "traceFlags", "TRACE_FLAG_SAMPLED", "ROOT_SPAN_FIELD", "getRootSpan", "span", "ROOT_SPAN_FIELD", "showSpanDropWarning", "hasShownSpanDropWarning", "consoleSandbox", "hasTracingEnabled", "maybeOptions", "client", "getClient", "options", "DEFAULT_ENVIRONMENT", "FROZEN_DSC_FIELD", "getDynamicSamplingContextFromClient", "trace_id", "client", "options", "public_key", "dsc", "dropUndefinedKeys", "DEFAULT_ENVIRONMENT", "getDynamicSamplingContextFromScope", "scope", "propagationContext", "getDynamicSamplingContextFromSpan", "span", "getClient", "rootSpan", "getRootSpan", "frozenDsc", "FROZEN_DSC_FIELD", "traceState", "traceStateDsc", "dscOnTraceState", "baggageHeaderToDynamicSamplingContext", "jsonSpan", "spanToJSON", "attributes", "maybeSampleRate", "SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE", "source", "SEMANTIC_ATTRIBUTE_SENTRY_SOURCE", "name", "hasTracingEnabled", "spanIsSampled", "parseSampleRate", "sampleRate", "rate", "DEBUG_BUILD", "logger", "DSN_REGEX", "isValidProtocol", "protocol", "dsnToString", "dsn", "withPassword", "host", "path", "pass", "port", "projectId", "publicKey", "dsnFromString", "str", "match", "consoleSandbox", "lastPath", "split", "projectMatch", "dsnFromComponents", "components", "validateDsn", "DEBUG_BUILD", "component", "logger", "makeDsn", "from", "memoBuilder", "hasWeakSet", "inner", "memoize", "obj", "i", "unmemoize", "normalize", "input", "depth", "maxProperties", "visit", "err", "normalizeToSize", "object", "maxSize", "normalized", "jsonSize", "key", "value", "memo", "memoBuilder", "memoize", "unmemoize", "stringified", "stringifyValue", "remainingDepth", "valueWithToJSON", "jsonValue", "numAdded", "visitable", "convertToPlainObject", "visitKey", "visitValue", "isVueViewModel", "isSyntheticEvent", "getFunctionName", "objName", "getConstructorName", "prototype", "utf8Length", "createEnvelope", "headers", "items", "addItemToEnvelope", "envelope", "newItem", "forEachEnvelopeItem", "callback", "envelopeItems", "envelopeItem", "envelopeItemType", "encodeUTF8", "input", "GLOBAL_OBJ", "serializeEnvelope", "envelope", "envHeaders", "items", "parts", "append", "next", "encodeUTF8", "item", "itemHeaders", "payload", "stringifiedPayload", "e", "normalize", "concatBuffers", "buffers", "totalLength", "acc", "buf", "merged", "offset", "buffer", "createAttachmentEnvelopeItem", "attachment", "buffer", "encodeUTF8", "dropUndefinedKeys", "ITEM_TYPE_TO_DATA_CATEGORY_MAP", "envelopeItemTypeToDataCategory", "type", "getSdkMetadataForEnvelopeHeader", "metadataOrEvent", "name", "version", "createEventEnvelopeHeaders", "event", "sdkInfo", "tunnel", "dsn", "dynamicSamplingContext", "dsnToString", "enhanceEventWithSdkInfo", "event", "sdkInfo", "createSessionEnvelope", "session", "dsn", "metadata", "tunnel", "getSdkMetadataForEnvelopeHeader", "envelopeHeaders", "dsnToString", "envelopeItem", "createEnvelope", "createEventEnvelope", "eventType", "createEventEnvelopeHeaders", "notifyEventProcessors", "processors", "event", "hint", "index", "SyncPromise", "resolve", "reject", "processor", "result", "DEBUG_BUILD", "logger", "isThenable", "final", "parsedStackResults", "lastKeysCount", "cachedFilenameDebugIds", "getFilenameToDebugIdMap", "stackParser", "debugIdMap", "GLOBAL_OBJ", "debugIdKeys", "acc", "stackKey", "result", "parsedStack", "stackFrame", "filename", "debugId", "applyScopeDataToEvent", "event", "data", "fingerprint", "span", "breadcrumbs", "sdkProcessingMetadata", "applyDataToEvent", "applySpanToEvent", "applyFingerprintToEvent", "applyBreadcrumbsToEvent", "applySdkMetadataToEvent", "mergeScopeData", "mergeData", "extra", "tags", "user", "contexts", "level", "eventProcessors", "attachments", "propagationContext", "transactionName", "mergeAndOverwriteScopeData", "merge", "prop", "mergeVal", "cleanedExtra", "dropUndefinedKeys", "cleanedTags", "cleanedUser", "cleanedContexts", "mergedBreadcrumbs", "spanToTraceContext", "getDynamicSamplingContextFromSpan", "rootSpan", "getRootSpan", "spanToJSON", "prepareEvent", "options", "event", "hint", "scope", "client", "isolationScope", "normalizeDepth", "normalizeMaxBreadth", "prepared", "uuid4", "dateTimestampInSeconds", "integrations", "i", "applyClientOptions", "applyIntegrationsMetadata", "applyDebugIds", "finalScope", "getFinalScope", "addExceptionMechanism", "clientEventProcessors", "data", "getGlobalScope", "isolationData", "mergeScopeData", "finalScopeData", "attachments", "applyScopeDataToEvent", "eventProcessors", "notifyEventProcessors", "evt", "applyDebugMeta", "normalizeEvent", "environment", "release", "dist", "maxValueLength", "DEFAULT_ENVIRONMENT", "truncate", "exception", "request", "stackParser", "filenameDebugIdMap", "getFilenameToDebugIdMap", "frame", "e", "images", "filename", "debug_id", "integrationNames", "depth", "maxBreadth", "normalized", "b", "normalize", "span", "captureContext", "Scope", "parseEventHintOrCaptureContext", "hintIsScopeOrFunction", "hintIsScopeContext", "captureContextKeys", "key", "captureException", "exception", "hint", "getCurrentScope", "parseEventHintOrCaptureContext", "captureEvent", "event", "hint", "getCurrentScope", "startSession", "context", "client", "getClient", "isolationScope", "getIsolationScope", "currentScope", "getCurrentScope", "release", "environment", "DEFAULT_ENVIRONMENT", "userAgent", "GLOBAL_OBJ", "session", "makeSession", "currentSession", "updateSession", "endSession", "closeSession", "_sendSessionUpdate", "captureSession", "end", "SENTRY_API_VERSION", "getBaseApiEndpoint", "dsn", "protocol", "port", "_getIngestEndpoint", "_encodedAuth", "sdkInfo", "params", "getEnvelopeEndpointWithUrlEncodedAuth", "tunnel", "installedIntegrations", "filterDuplicates", "integrations", "integrationsByName", "currentInstance", "name", "existingInstance", "getIntegrationsToSetup", "options", "defaultIntegrations", "userIntegrations", "integration", "resolvedUserIntegrations", "finalIntegrations", "debugIndex", "debugInstance", "setupIntegrations", "client", "integrationIndex", "setupIntegration", "afterSetupIntegrations", "DEBUG_BUILD", "logger", "callback", "event", "hint", "processor", "createClientReportEnvelope", "discarded_events", "dsn", "timestamp", "clientReportItem", "dateTimestampInSeconds", "createEnvelope", "SentryError", "message", "logLevel", "ALREADY_SEEN_ERROR", "BaseClient", "options", "makeDsn", "DEBUG_BUILD", "logger", "url", "getEnvelopeEndpointWithUrlEncodedAuth", "undefinedOption", "option", "consoleSandbox", "exception", "hint", "scope", "eventId", "uuid4", "checkOrSetAlreadyCaught", "hintWithEventId", "event", "message", "level", "currentScope", "eventMessage", "isParameterizedString", "promisedEvent", "isPrimitive", "capturedSpanScope", "session", "updateSession", "timeout", "transport", "clientFinished", "transportFlushed", "resolvedSyncPromise", "result", "eventProcessor", "name", "integrationName", "integration", "isAlreadyInstalled", "setupIntegration", "afterSetupIntegrations", "env", "createEventEnvelope", "attachment", "addItemToEnvelope", "createAttachmentEnvelopeItem", "promise", "sendResponse", "createSessionEnvelope", "reason", "category", "eventOrCount", "count", "key", "hook", "callback", "hooks", "cbIndex", "rest", "callbacks", "envelope", "integrations", "setupIntegrations", "crashed", "errored", "exceptions", "ex", "mechanism", "sessionNonTerminal", "SyncPromise", "resolve", "ticked", "tick", "interval", "getCurrentScope", "isolationScope", "getIsolationScope", "prepareEvent", "evt", "getTraceContextFromScope", "dynamicSamplingContext", "getDynamicSamplingContextFromScope", "finalEvent", "sentryError", "sampleRate", "isTransaction", "isTransactionEvent", "isError", "isErrorEvent", "eventType", "beforeSendLabel", "parsedSampleRate", "parseSampleRate", "rejectedSyncPromise", "SentryError", "dataCategory", "capturedSpanIsolationScope", "prepared", "processBeforeSend", "_validateBeforeSendResult", "processedEvent", "spanCount", "spanCountBefore", "spanCountAfter", "droppedSpanCount", "transactionInfo", "source", "value", "outcomes", "quantity", "createClientReportEnvelope", "dsnToString", "beforeSendResult", "invalidValueError", "isThenable", "isPlainObject", "e", "client", "beforeSend", "beforeSendTransaction", "beforeSendSpan", "processedSpans", "span", "processedSpan", "showSpanDropWarning", "initAndBind", "clientClass", "options", "DEBUG_BUILD", "logger", "consoleSandbox", "getCurrentScope", "client", "setCurrentClient", "makePromiseBuffer", "limit", "buffer", "isReady", "remove", "task", "add", "taskProducer", "rejectedSyncPromise", "SentryError", "drain", "timeout", "SyncPromise", "resolve", "reject", "counter", "capturedSetTimeout", "item", "resolvedSyncPromise", "parseRetryAfterHeader", "header", "now", "headerDelay", "headerDate", "disabledUntil", "limits", "dataCategory", "isRateLimited", "updateRateLimits", "statusCode", "headers", "updatedRateLimits", "rateLimitHeader", "retryAfterHeader", "limit", "retryAfter", "categories", "namespaces", "delay", "category", "DEFAULT_TRANSPORT_BUFFER_SIZE", "createTransport", "options", "makeRequest", "buffer", "makePromiseBuffer", "rateLimits", "flush", "timeout", "send", "envelope", "filteredEnvelopeItems", "forEachEnvelopeItem", "item", "type", "dataCategory", "envelopeItemTypeToDataCategory", "isRateLimited", "event", "getEventForEnvelopeItem", "resolvedSyncPromise", "filteredEnvelope", "createEnvelope", "recordEnvelopeLoss", "reason", "requestTask", "serializeEnvelope", "response", "DEBUG_BUILD", "logger", "updateRateLimits", "error", "result", "SentryError", "applySdkMetadata", "options", "name", "names", "source", "metadata", "SDK_VERSION", "DEFAULT_BREADCRUMBS", "addBreadcrumb", "breadcrumb", "hint", "client", "getClient", "isolationScope", "getIsolationScope", "beforeBreadcrumb", "maxBreadcrumbs", "mergedBreadcrumb", "dateTimestampInSeconds", "finalBreadcrumb", "consoleSandbox", "originalFunctionToString", "INTEGRATION_NAME", "SETUP_CLIENTS", "_functionToStringIntegration", "args", "originalFunction", "getOriginalFunction", "context", "getClient", "client", "functionToStringIntegration", "DEFAULT_IGNORE_ERRORS", "INTEGRATION_NAME", "_inboundFiltersIntegration", "options", "event", "_hint", "client", "clientOptions", "mergedOptions", "_mergeOptions", "_shouldDropEvent", "inboundFiltersIntegration", "internalOptions", "_isSentryError", "DEBUG_BUILD", "logger", "getEventDescription", "_isIgnoredError", "_isUselessError", "_isIgnoredTransaction", "_isDeniedUrl", "_getEventFilterUrl", "_isAllowedUrl", "ignoreErrors", "_getPossibleEventMessages", "message", "stringMatchesSomePattern", "ignoreTransactions", "name", "denyUrls", "url", "allowUrls", "possibleMessages", "lastException", "e", "_getLastValidUrl", "frames", "i", "frame", "oO", "value", "applyAggregateErrorsToEvent", "exceptionFromErrorImplementation", "parser", "maxValueLimit", "key", "limit", "event", "hint", "isInstanceOf", "originalException", "truncateAggregateExceptions", "aggregateExceptionsFromError", "error", "prevExceptions", "exception", "exceptionId", "newExceptions", "applyExceptionGroupFieldsForParentException", "newException", "newExceptionId", "applyExceptionGroupFieldsForChildException", "childError", "i", "source", "parentId", "exceptions", "maxValueLength", "truncate", "parseUrl", "url", "match", "query", "fragment", "addConsoleInstrumentationHandler", "handler", "type", "addHandler", "maybeInstrument", "instrumentConsole", "GLOBAL_OBJ", "CONSOLE_LEVELS", "level", "fill", "originalConsoleMethod", "originalConsoleMethods", "args", "triggerHandlers", "log", "severityLevelFromString", "level", "INTEGRATION_NAME", "_dedupeIntegration", "previousEvent", "currentEvent", "_shouldDropEvent", "DEBUG_BUILD", "logger", "_oO", "dedupeIntegration", "_isSameMessageEvent", "_isSameExceptionEvent", "currentMessage", "previousMessage", "_isSameFingerprint", "_isSameStacktrace", "previousException", "_getExceptionFromEvent", "currentException", "currentFrames", "getFramesFromEvent", "previousFrames", "i", "frameA", "frameB", "currentFingerprint", "previousFingerprint", "event", "getBreadcrumbLogLevelFromHttpStatusCode", "statusCode", "WINDOW", "GLOBAL_OBJ", "supportsFetch", "WINDOW", "isNativeFunction", "func", "supportsNativeFetch", "result", "doc", "sandbox", "err", "DEBUG_BUILD", "logger", "addFetchInstrumentationHandler", "handler", "skipNativeFetchCheck", "type", "addHandler", "maybeInstrument", "instrumentFetch", "instrumentFetch", "onFetchResolved", "skipNativeFetchCheck", "supportsNativeFetch", "fill", "GLOBAL_OBJ", "originalFetch", "args", "method", "url", "parseFetchArgs", "handlerData", "timestampInSeconds", "triggerHandlers", "virtualStackTrace", "response", "error", "isError", "addNonEnumerableProperty", "hasProp", "obj", "prop", "getUrlFromResource", "resource", "parseFetchArgs", "fetchArgs", "url", "options", "arg", "getSDKSource", "WINDOW", "GLOBAL_OBJ", "supportsHistory", "chromeVar", "isChromePackagedApp", "hasHistoryApi", "WINDOW", "GLOBAL_OBJ", "ignoreOnError", "shouldIgnoreOnError", "ignoreNextOnError", "wrap", "fn", "options", "before", "wrapper", "getOriginalFunction", "e", "sentryWrapped", "args", "wrappedArguments", "arg", "ex", "withScope", "scope", "event", "addExceptionTypeValue", "addExceptionMechanism", "captureException", "property", "_oO", "markFunctionWrapped", "addNonEnumerableProperty", "DEBUG_BUILD", "exceptionFromError", "stackParser", "ex", "frames", "parseStackFrames", "exception", "extractType", "extractMessage", "eventFromPlainObject", "syntheticException", "isUnhandledRejection", "client", "getClient", "normalizeDepth", "errorFromProp", "getErrorPropertyFromObject", "extra", "normalizeToSize", "event", "isEvent", "getNonErrorObjectExceptionValue", "eventFromError", "stacktrace", "skipLines", "getSkipFirstStackStringLines", "framesToPop", "getPopFirstTopFrames", "e", "reactMinifiedRegexp", "isWebAssemblyException", "name", "message", "eventFromException", "hint", "attachStacktrace", "eventFromUnknownInput", "addExceptionMechanism", "resolvedSyncPromise", "eventFromMessage", "level", "eventFromString", "isErrorEvent", "isDOMError", "isDOMException", "domException", "addExceptionTypeValue", "isError", "isPlainObject", "isParameterizedString", "__sentry_template_string__", "__sentry_template_values__", "keys", "extractExceptionKeysForMessage", "captureType", "getObjectClassName", "obj", "prototype", "prop", "value", "createUserFeedbackEnvelope", "feedback", "metadata", "tunnel", "dsn", "headers", "dsnToString", "item", "createUserFeedbackEnvelopeItem", "createEnvelope", "BrowserClient", "BaseClient", "options", "opts", "sdkSource", "WINDOW", "getSDKSource", "applySdkMetadata", "exception", "hint", "eventFromException", "message", "level", "eventFromMessage", "feedback", "DEBUG_BUILD", "logger", "envelope", "createUserFeedbackEnvelope", "event", "scope", "DEBUG_BUILD", "WINDOW", "GLOBAL_OBJ", "DEBOUNCE_DURATION", "debounceTimerID", "lastCapturedEventType", "lastCapturedEventTargetId", "addClickKeypressInstrumentationHandler", "handler", "type", "addHandler", "maybeInstrument", "instrumentDOM", "WINDOW", "triggerDOMHandler", "triggerHandlers", "globalDOMEventHandler", "makeDOMEventHandler", "target", "proto", "fill", "originalAddEventListener", "listener", "options", "el", "handlers", "handlerForType", "e", "originalRemoveEventListener", "isSimilarToLastCapturedEvent", "event", "shouldSkipDOMEvent", "eventType", "globalListener", "getEventTarget", "addNonEnumerableProperty", "uuid4", "name", "lastHref", "addHistoryInstrumentationHandler", "handler", "type", "addHandler", "maybeInstrument", "instrumentHistory", "supportsHistory", "oldOnPopState", "WINDOW", "args", "to", "from", "triggerHandlers", "_oO", "historyReplacementFunction", "originalHistoryFunction", "url", "fill", "cachedImplementations", "getNativeImplementation", "name", "cached", "impl", "WINDOW", "isNativeFunction", "document", "sandbox", "contentWindow", "e", "DEBUG_BUILD", "logger", "clearCachedImplementation", "SENTRY_XHR_DATA_KEY", "addXhrInstrumentationHandler", "handler", "type", "addHandler", "maybeInstrument", "instrumentXHR", "WINDOW", "xhrproto", "originalOpen", "xhrOpenThisArg", "xhrOpenArgArray", "startTimestamp", "timestampInSeconds", "method", "isString", "url", "parseUrl", "onreadystatechangeHandler", "xhrInfo", "e", "handlerData", "triggerHandlers", "originalOnreadystatechange", "onreadystatechangeThisArg", "onreadystatechangeArgArray", "originalSetRequestHeader", "setRequestHeaderThisArg", "setRequestHeaderArgArray", "header", "value", "originalSend", "sendThisArg", "sendArgArray", "sentryXhrData", "e2", "makeFetchTransport", "options", "nativeFetch", "getNativeImplementation", "pendingBodySize", "pendingCount", "makeRequest", "request", "requestSize", "requestOptions", "clearCachedImplementation", "rejectedSyncPromise", "response", "e", "createTransport", "CHROME_PRIORITY", "GECKO_PRIORITY", "createFrame", "filename", "func", "lineno", "colno", "frame", "UNKNOWN_FUNCTION", "chromeRegexNoFnName", "chromeRegex", "chromeEvalRegex", "chromeStackParserFn", "line", "noFnParts", "col", "parts", "subMatch", "extractSafariExtensionDetails", "chromeStackLineParser", "CHROME_PRIORITY", "geckoREgex", "geckoEvalRegex", "gecko", "geckoStackLineParser", "defaultStackLineParsers", "chromeStackLineParser", "geckoStackLineParser", "defaultStackParser", "createStackParser", "extractSafariExtensionDetails", "func", "filename", "isSafariExtension", "isSafariWebExtension", "UNKNOWN_FUNCTION", "MAX_ALLOWED_STRING_LENGTH", "INTEGRATION_NAME", "_breadcrumbsIntegration", "options", "_options", "client", "addConsoleInstrumentationHandler", "_getConsoleBreadcrumbHandler", "addClickKeypressInstrumentationHandler", "_getDomBreadcrumbHandler", "addXhrInstrumentationHandler", "_getXhrBreadcrumbHandler", "addFetchInstrumentationHandler", "_getFetchBreadcrumbHandler", "addHistoryInstrumentationHandler", "_getHistoryBreadcrumbHandler", "_getSentryBreadcrumbHandler", "breadcrumbsIntegration", "event", "getClient", "addBreadcrumb", "getEventDescription", "dom", "handlerData", "target", "componentName", "keyAttrs", "maxStringLength", "DEBUG_BUILD", "logger", "element", "_isEvent", "htmlTreeAsString", "getComponentName", "e", "breadcrumb", "severityLevelFromString", "safeJoin", "startTimestamp", "endTimestamp", "sentryXhrData", "SENTRY_XHR_DATA_KEY", "method", "url", "status_code", "body", "data", "hint", "level", "getBreadcrumbLogLevelFromHttpStatusCode", "response", "from", "to", "parsedLoc", "parseUrl", "WINDOW", "parsedFrom", "parsedTo", "DEFAULT_EVENT_TARGET", "INTEGRATION_NAME", "_browserApiErrorsIntegration", "options", "_options", "fill", "WINDOW", "_wrapTimeFunction", "_wrapRAF", "_wrapXHR", "eventTargetOption", "_wrapEventTarget", "browserApiErrorsIntegration", "original", "args", "originalCallback", "wrap", "getFunctionName", "callback", "originalSend", "xhr", "prop", "wrapOptions", "originalFunction", "getOriginalFunction", "target", "globalObject", "proto", "eventName", "fn", "err", "originalRemoveEventListener", "wrappedEventHandler", "originalEventHandler", "e", "INTEGRATION_NAME", "_globalHandlersIntegration", "options", "_options", "client", "_installGlobalOnErrorHandler", "globalHandlerLog", "_installGlobalOnUnhandledRejectionHandler", "globalHandlersIntegration", "addGlobalErrorInstrumentationHandler", "data", "stackParser", "attachStacktrace", "getOptions", "getClient", "shouldIgnoreOnError", "msg", "url", "line", "column", "error", "event", "_enhanceEventWithInitialFrame", "eventFromUnknownInput", "captureEvent", "addGlobalUnhandledRejectionInstrumentationHandler", "e", "_getUnhandledRejectionError", "isPrimitive", "_eventFromRejectionWithPrimitive", "e2", "reason", "ev", "ev0", "ev0s", "ev0sf", "colno", "lineno", "filename", "isString", "getLocationHref", "UNKNOWN_FUNCTION", "type", "DEBUG_BUILD", "logger", "httpContextIntegration", "event", "WINDOW", "url", "referrer", "userAgent", "headers", "request", "DEFAULT_KEY", "DEFAULT_LIMIT", "INTEGRATION_NAME", "_linkedErrorsIntegration", "options", "limit", "key", "event", "hint", "client", "applyAggregateErrorsToEvent", "exceptionFromError", "linkedErrorsIntegration", "getDefaultIntegrations", "_options", "inboundFiltersIntegration", "functionToStringIntegration", "browserApiErrorsIntegration", "breadcrumbsIntegration", "globalHandlersIntegration", "linkedErrorsIntegration", "dedupeIntegration", "httpContextIntegration", "applyDefaultOptions", "optionsArg", "defaultOptions", "WINDOW", "shouldShowBrowserExtensionError", "windowWithMaybeExtension", "extensionKey", "extensionObject", "runtimeId", "href", "extensionProtocols", "isDedicatedExtensionPage", "protocol", "isNWjs", "init", "browserOptions", "options", "consoleSandbox", "DEBUG_BUILD", "supportsFetch", "logger", "clientOptions", "stackParserFromStackParserOptions", "defaultStackParser", "getIntegrationsToSetup", "makeFetchTransport", "client", "initAndBind", "BrowserClient", "startSessionTracking", "startSessionTracking", "WINDOW", "DEBUG_BUILD", "logger", "startSession", "captureSession", "addHistoryInstrumentationHandler", "from", "to", "capitalize_default", "capitalize", "createChainedFunction_default", "createChainedFunction", "React", "React", "React", "React", "import_jsx_runtime", "GlobalStyles", "props", "_jsx", "GlobalStyles_default", "defaultTheme_default", "identifier_default", "import_jsx_runtime", "globalCss", "styles", "props", "_jsx", "GlobalStyles_default", "theme", "internal_createExtendSxProp", "extendSxProp", "memoTheme", "unstable_memoTheme", "memoTheme_default", "React", "import_jsx_runtime", "useDefaultProps", "params", "getSvgIconUtilityClass", "slot", "generateUtilityClass", "svgIconClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "color", "fontSize", "classes", "slots", "capitalize_default", "composeClasses", "getSvgIconUtilityClass", "SvgIconRoot", "styled_default", "props", "styles", "memoTheme_default", "theme", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "_h", "_i", "_j", "_k", "_l", "_m", "_n", "_o", "_p", "_q", "_r", "value", "SvgIcon", "inProps", "ref", "useDefaultProps", "children", "className", "component", "htmlColor", "inheritViewBox", "titleAccess", "viewBox", "other", "hasSvgAsChild", "more", "_jsxs", "clsx_default", "_jsx", "SvgIcon_default", "import_jsx_runtime", "createSvgIcon", "path", "displayName", "Component", "props", "ref", "_jsx", "SvgIcon_default", "debounce_default", "debounce", "isMuiElement_default", "isMuiElement", "ownerDocument_default", "ownerDocument", "ownerWindow_default", "ownerWindow", "useEnhancedEffect_default", "useId_default", "useId", "useControlled_default", "useControlled", "useEventCallback_default", "useForkRef_default", "useForkRef", "_setPrototypeOf", "t", "e", "_inheritsLoose", "t", "o", "_setPrototypeOf", "import_react", "import_react_dom", "config_default", "import_react", "TransitionGroupContext_default", "React", "forceReflow", "node", "UNMOUNTED", "EXITED", "ENTERING", "ENTERED", "EXITING", "Transition", "_React$Component", "_inheritsLoose", "props", "context", "_this", "parentGroup", "appear", "initialStatus", "_ref", "prevState", "nextIn", "_proto", "prevProps", "nextStatus", "status", "timeout", "exit", "enter", "mounting", "node", "ReactDOM", "forceReflow", "_this2", "appearing", "_ref2", "maybeNode", "maybeAppearing", "timeouts", "enterTimeout", "config_default", "_this3", "nextState", "callback", "_this4", "active", "event", "handler", "doesNotHaveTimeoutOrListener", "_ref3", "maybeNextCallback", "_this$props", "children", "_in", "_mountOnEnter", "_unmountOnExit", "_appear", "_enter", "_exit", "_timeout", "_addEndListener", "_onEnter", "_onEntering", "_onEntered", "_onExit", "_onExiting", "_onExited", "_nodeRef", "childProps", "_objectWithoutPropertiesLoose", "React", "TransitionGroupContext_default", "noop", "Transition_default", "init_extends", "_assertThisInitialized", "import_react", "import_react", "getChildMapping", "children", "mapFn", "mapper", "child", "result", "c", "mergeChildMappings", "prev", "next", "getValueForKey", "key", "nextKeysPending", "pendingKeys", "prevKey", "i", "childMapping", "nextKey", "pendingNextKey", "getProp", "prop", "props", "getInitialChildMapping", "onExited", "getNextChildMapping", "nextProps", "prevChildMapping", "nextChildMapping", "hasPrev", "hasNext", "prevChild", "isLeaving", "values", "obj", "k", "defaultProps", "child", "TransitionGroup", "_React$Component", "_inheritsLoose", "props", "context", "_this", "handleExited", "_assertThisInitialized", "_proto", "nextProps", "_ref", "prevChildMapping", "firstRender", "getInitialChildMapping", "getNextChildMapping", "node", "currentChildMapping", "getChildMapping", "state", "children", "_extends", "_this$props", "Component", "childFactory", "_objectWithoutPropertiesLoose", "contextValue", "React", "TransitionGroupContext_default", "TransitionGroup_default", "reflow", "node", "getTransitionProps", "props", "options", "_a", "_b", "timeout", "easing", "style", "React", "getPaperUtilityClass", "slot", "generateUtilityClass", "paperClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "square", "elevation", "variant", "classes", "slots", "composeClasses", "getPaperUtilityClass", "PaperRoot", "styled_default", "props", "styles", "memoTheme_default", "theme", "Paper", "inProps", "ref", "_a", "useDefaultProps", "useTheme", "className", "component", "other", "_jsx", "clsx_default", "alpha", "getOverlayAlpha", "Paper_default", "useSlot", "name", "parameters", "className", "initialElementType", "ownerState", "externalForwardedProps", "getSlotOwnerState", "internalForwardedProps", "useSlotPropsParams", "rootComponent", "slots", "slotProps", "other", "elementType", "resolvedComponentsProps", "resolveComponentProps_default", "slotComponent", "mergedProps", "internalRef", "mergeSlotProps_default", "ref", "useForkRef", "slotOwnerState", "finalOwnerState", "LeafComponent", "props", "appendOwnerState_default", "propName", "React", "React", "LazyRipple", "_LazyRipple", "__publicField", "ripple", "useLazyRef", "shouldMount", "setShouldMount", "createControlledPromise", "args", "_a", "useLazyRipple", "resolve", "reject", "p", "resolveFn", "rejectFn", "React", "React", "import_jsx_runtime", "Ripple", "props", "className", "classes", "pulsate", "rippleX", "rippleY", "rippleSize", "inProp", "onExited", "timeout", "leaving", "setLeaving", "rippleClassName", "clsx_default", "rippleStyles", "childClassName", "timeoutId", "_jsx", "Ripple_default", "touchRippleClasses", "generateUtilityClasses", "touchRippleClasses_default", "import_jsx_runtime", "DURATION", "DELAY_RIPPLE", "enterKeyframe", "keyframes", "exitKeyframe", "pulsateKeyframe", "TouchRippleRoot", "styled_default", "TouchRippleRipple", "Ripple_default", "touchRippleClasses_default", "theme", "TouchRipple", "inProps", "ref", "props", "useDefaultProps", "centerProp", "classes", "className", "other", "ripples", "setRipples", "nextKey", "rippleCallback", "ignoringMouseDown", "startTimer", "useTimeout", "startTimerCommit", "container", "startCommit", "params", "pulsate", "rippleX", "rippleY", "rippleSize", "cb", "oldRipples", "_jsx", "clsx_default", "start", "event", "options", "center", "fakeElement", "element", "rect", "clientX", "clientY", "sizeX", "sizeY", "stop", "TransitionGroup_default", "TouchRipple_default", "getButtonBaseUtilityClass", "slot", "generateUtilityClass", "buttonBaseClasses", "generateUtilityClasses", "buttonBaseClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "disabled", "focusVisible", "focusVisibleClassName", "classes", "composedClasses", "composeClasses", "getButtonBaseUtilityClass", "ButtonBaseRoot", "styled_default", "props", "styles", "buttonBaseClasses_default", "ButtonBase", "inProps", "ref", "useDefaultProps", "action", "centerRipple", "children", "className", "component", "disableRipple", "disableTouchRipple", "focusRipple", "LinkComponent", "onBlur", "onClick", "onContextMenu", "onDragLeave", "onFocus", "onFocusVisible", "onKeyDown", "onKeyUp", "onMouseDown", "onMouseLeave", "onMouseUp", "onTouchEnd", "onTouchMove", "onTouchStart", "tabIndex", "TouchRippleProps", "touchRippleRef", "type", "other", "buttonRef", "ripple", "useLazyRipple", "handleRippleRef", "useForkRef_default", "setFocusVisible", "enableTouchRipple", "useRippleHandler", "rippleAction", "eventCallback", "skipRippleAction", "useEventCallback_default", "event", "handleMouseDown", "handleContextMenu", "handleDragLeave", "handleMouseUp", "handleMouseLeave", "handleTouchStart", "handleTouchEnd", "handleTouchMove", "handleBlur", "isFocusVisible", "handleFocus", "isNonNativeButton", "button", "handleKeyDown", "handleKeyUp", "ComponentProp", "buttonProps", "handleRef", "_jsxs", "clsx_default", "_jsx", "TouchRipple_default", "ButtonBase_default", "hasCorrectMainProperty", "obj", "checkSimplePaletteColorValues", "additionalPropertiesToCheck", "value", "createSimplePaletteValueFilter", "React", "getIconButtonUtilityClass", "slot", "generateUtilityClass", "iconButtonClasses", "generateUtilityClasses", "iconButtonClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "disabled", "color", "edge", "size", "slots", "capitalize_default", "composeClasses", "getIconButtonUtilityClass", "IconButtonRoot", "styled_default", "ButtonBase_default", "props", "styles", "memoTheme_default", "theme", "alpha", "createSimplePaletteValueFilter", "iconButtonClasses_default", "IconButton", "inProps", "ref", "useDefaultProps", "children", "className", "disableFocusRipple", "other", "_jsx", "clsx_default", "IconButton_default", "React", "getTypographyUtilityClass", "slot", "generateUtilityClass", "typographyClasses", "generateUtilityClasses", "typographyClasses_default", "import_jsx_runtime", "v6Colors", "extendSxProp", "internal_createExtendSxProp", "useUtilityClasses", "ownerState", "align", "gutterBottom", "noWrap", "paragraph", "variant", "classes", "slots", "capitalize_default", "composeClasses", "getTypographyUtilityClass", "TypographyRoot", "styled_default", "props", "styles", "memoTheme_default", "theme", "_a", "value", "createSimplePaletteValueFilter", "color", "defaultVariantMapping", "Typography", "inProps", "ref", "themeProps", "useDefaultProps", "isSxColor", "className", "component", "variantMapping", "other", "Component", "_jsx", "clsx_default", "Typography_default", "React", "getAppBarUtilityClass", "slot", "generateUtilityClass", "appBarClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "color", "position", "classes", "slots", "capitalize_default", "composeClasses", "getAppBarUtilityClass", "joinVars", "var1", "var2", "AppBarRoot", "styled_default", "Paper_default", "props", "styles", "memoTheme_default", "theme", "createSimplePaletteValueFilter", "_a", "_b", "AppBar", "inProps", "ref", "useDefaultProps", "className", "enableColorOnDark", "other", "_jsx", "clsx_default", "AppBar_default", "React", "React", "top", "bottom", "right", "left", "auto", "basePlacements", "start", "end", "clippingParents", "viewport", "popper", "reference", "variationPlacements", "acc", "placement", "placements", "beforeRead", "read", "afterRead", "beforeMain", "main", "afterMain", "beforeWrite", "write", "afterWrite", "modifierPhases", "getNodeName", "element", "getWindow", "node", "ownerDocument", "isElement", "node", "OwnElement", "getWindow", "isHTMLElement", "isShadowRoot", "applyStyles", "_ref", "state", "name", "style", "attributes", "element", "isHTMLElement", "getNodeName", "value", "effect", "_ref2", "initialStyles", "styleProperties", "property", "attribute", "applyStyles_default", "getBasePlacement", "placement", "max", "min", "round", "getUAString", "uaData", "item", "isLayoutViewport", "getUAString", "getBoundingClientRect", "element", "includeScale", "isFixedStrategy", "clientRect", "scaleX", "scaleY", "isHTMLElement", "round", "_ref", "isElement", "getWindow", "visualViewport", "addVisualOffsets", "isLayoutViewport", "x", "y", "width", "height", "getLayoutRect", "element", "clientRect", "getBoundingClientRect", "width", "height", "contains", "parent", "child", "rootNode", "isShadowRoot", "next", "getComputedStyle", "element", "getWindow", "isTableElement", "element", "getNodeName", "getDocumentElement", "element", "isElement", "getParentNode", "element", "getNodeName", "isShadowRoot", "getDocumentElement", "getTrueOffsetParent", "element", "isHTMLElement", "getComputedStyle", "getContainingBlock", "isFirefox", "getUAString", "isIE", "elementCss", "currentNode", "getParentNode", "isShadowRoot", "getNodeName", "css", "getOffsetParent", "window", "getWindow", "offsetParent", "isTableElement", "getMainAxisFromPlacement", "placement", "within", "min", "value", "max", "withinMaxClamp", "v", "getFreshSideObject", "mergePaddingObject", "paddingObject", "getFreshSideObject", "expandToHashMap", "value", "keys", "hashMap", "key", "toPaddingObject", "padding", "state", "mergePaddingObject", "expandToHashMap", "basePlacements", "arrow", "_ref", "_state$modifiersData$", "name", "options", "arrowElement", "popperOffsets", "basePlacement", "getBasePlacement", "axis", "getMainAxisFromPlacement", "isVertical", "left", "right", "len", "paddingObject", "arrowRect", "getLayoutRect", "minProp", "top", "maxProp", "bottom", "endDiff", "startDiff", "arrowOffsetParent", "getOffsetParent", "clientSize", "centerToReference", "min", "max", "center", "offset", "within", "axisProp", "effect", "_ref2", "_options$element", "contains", "arrow_default", "getVariation", "placement", "unsetSides", "roundOffsetsByDPR", "_ref", "win", "x", "y", "dpr", "round", "mapToStyles", "_ref2", "_Object$assign2", "popper", "popperRect", "placement", "variation", "offsets", "position", "gpuAcceleration", "adaptive", "roundOffsets", "isFixed", "_offsets$x", "_offsets$y", "_ref3", "hasX", "hasY", "sideX", "left", "sideY", "top", "offsetParent", "getOffsetParent", "heightProp", "widthProp", "getWindow", "getDocumentElement", "getComputedStyle", "right", "end", "bottom", "offsetY", "offsetX", "commonStyles", "_ref4", "_Object$assign", "computeStyles", "_ref5", "state", "options", "_options$gpuAccelerat", "_options$adaptive", "_options$roundOffsets", "getBasePlacement", "getVariation", "computeStyles_default", "passive", "effect", "_ref", "state", "instance", "options", "_options$scroll", "scroll", "_options$resize", "resize", "window", "getWindow", "scrollParents", "scrollParent", "eventListeners_default", "hash", "getOppositePlacement", "placement", "matched", "hash", "getOppositeVariationPlacement", "placement", "matched", "getWindowScroll", "node", "win", "getWindow", "scrollLeft", "scrollTop", "getWindowScrollBarX", "element", "getBoundingClientRect", "getDocumentElement", "getWindowScroll", "getViewportRect", "element", "strategy", "win", "getWindow", "html", "getDocumentElement", "visualViewport", "width", "height", "x", "y", "layoutViewport", "isLayoutViewport", "getWindowScrollBarX", "getDocumentRect", "element", "_element$ownerDocumen", "html", "getDocumentElement", "winScroll", "getWindowScroll", "body", "width", "max", "height", "x", "getWindowScrollBarX", "y", "getComputedStyle", "isScrollParent", "element", "_getComputedStyle", "getComputedStyle", "overflow", "overflowX", "overflowY", "getScrollParent", "node", "getNodeName", "isHTMLElement", "isScrollParent", "getParentNode", "listScrollParents", "element", "list", "_element$ownerDocumen", "scrollParent", "getScrollParent", "isBody", "win", "getWindow", "target", "isScrollParent", "updatedList", "getParentNode", "rectToClientRect", "rect", "getInnerBoundingClientRect", "element", "strategy", "rect", "getBoundingClientRect", "getClientRectFromMixedType", "clippingParent", "viewport", "rectToClientRect", "getViewportRect", "isElement", "getDocumentRect", "getDocumentElement", "getClippingParents", "clippingParents", "listScrollParents", "getParentNode", "canEscapeClipping", "getComputedStyle", "clipperElement", "isHTMLElement", "getOffsetParent", "contains", "getNodeName", "getClippingRect", "boundary", "rootBoundary", "mainClippingParents", "firstClippingParent", "clippingRect", "accRect", "max", "min", "computeOffsets", "_ref", "reference", "element", "placement", "basePlacement", "getBasePlacement", "variation", "getVariation", "commonX", "commonY", "offsets", "top", "bottom", "right", "left", "mainAxis", "getMainAxisFromPlacement", "len", "start", "end", "detectOverflow", "state", "options", "_options", "_options$placement", "placement", "_options$strategy", "strategy", "_options$boundary", "boundary", "clippingParents", "_options$rootBoundary", "rootBoundary", "viewport", "_options$elementConte", "elementContext", "popper", "_options$altBoundary", "altBoundary", "_options$padding", "padding", "paddingObject", "mergePaddingObject", "expandToHashMap", "basePlacements", "altContext", "reference", "popperRect", "element", "clippingClientRect", "getClippingRect", "isElement", "getDocumentElement", "referenceClientRect", "getBoundingClientRect", "popperOffsets", "computeOffsets", "popperClientRect", "rectToClientRect", "elementClientRect", "overflowOffsets", "offsetData", "offset", "key", "multiply", "right", "bottom", "axis", "top", "computeAutoPlacement", "state", "options", "_options", "placement", "boundary", "rootBoundary", "padding", "flipVariations", "_options$allowedAutoP", "allowedAutoPlacements", "placements", "variation", "getVariation", "variationPlacements", "basePlacements", "allowedPlacements", "overflows", "acc", "detectOverflow", "getBasePlacement", "a", "b", "getExpandedFallbackPlacements", "placement", "getBasePlacement", "auto", "oppositePlacement", "getOppositePlacement", "getOppositeVariationPlacement", "flip", "_ref", "state", "options", "name", "_options$mainAxis", "checkMainAxis", "_options$altAxis", "checkAltAxis", "specifiedFallbackPlacements", "padding", "boundary", "rootBoundary", "altBoundary", "_options$flipVariatio", "flipVariations", "allowedAutoPlacements", "preferredPlacement", "basePlacement", "isBasePlacement", "fallbackPlacements", "placements", "acc", "computeAutoPlacement", "referenceRect", "popperRect", "checksMap", "makeFallbackChecks", "firstFittingPlacement", "i", "_basePlacement", "isStartVariation", "getVariation", "start", "isVertical", "top", "bottom", "len", "overflow", "detectOverflow", "mainVariationSide", "right", "left", "altVariationSide", "checks", "check", "numberOfChecks", "_loop", "_i", "fittingPlacement", "_ret", "flip_default", "getSideOffsets", "overflow", "rect", "preventedOffsets", "isAnySideFullyClipped", "top", "right", "bottom", "left", "side", "hide", "_ref", "state", "name", "referenceRect", "popperRect", "referenceOverflow", "detectOverflow", "popperAltOverflow", "referenceClippingOffsets", "popperEscapeOffsets", "isReferenceHidden", "hasPopperEscaped", "hide_default", "distanceAndSkiddingToXY", "placement", "rects", "offset", "basePlacement", "getBasePlacement", "invertDistance", "left", "top", "_ref", "skidding", "distance", "right", "_ref2", "state", "options", "name", "_options$offset", "data", "placements", "acc", "_data$state$placement", "x", "y", "offset_default", "popperOffsets", "_ref", "state", "name", "computeOffsets", "popperOffsets_default", "getAltAxis", "axis", "preventOverflow", "_ref", "state", "options", "name", "_options$mainAxis", "checkMainAxis", "_options$altAxis", "checkAltAxis", "boundary", "rootBoundary", "altBoundary", "padding", "_options$tether", "tether", "_options$tetherOffset", "tetherOffset", "overflow", "detectOverflow", "basePlacement", "getBasePlacement", "variation", "getVariation", "isBasePlacement", "mainAxis", "getMainAxisFromPlacement", "altAxis", "getAltAxis", "popperOffsets", "referenceRect", "popperRect", "tetherOffsetValue", "normalizedTetherOffsetValue", "offsetModifierState", "data", "_offsetModifierState$", "mainSide", "top", "left", "altSide", "bottom", "right", "len", "offset", "min", "max", "additive", "minLen", "start", "maxLen", "arrowElement", "arrowRect", "getLayoutRect", "arrowPaddingObject", "getFreshSideObject", "arrowPaddingMin", "arrowPaddingMax", "arrowLen", "within", "minOffset", "maxOffset", "arrowOffsetParent", "getOffsetParent", "clientOffset", "offsetModifierValue", "tetherMin", "tetherMax", "preventedOffset", "_offsetModifierState$2", "_mainSide", "_altSide", "_offset", "_len", "_min", "_max", "isOriginSide", "_offsetModifierValue", "_tetherMin", "_tetherMax", "_preventedOffset", "withinMaxClamp", "preventOverflow_default", "getHTMLElementScroll", "element", "getNodeScroll", "node", "getWindow", "isHTMLElement", "getWindowScroll", "getHTMLElementScroll", "isElementScaled", "element", "rect", "scaleX", "round", "scaleY", "getCompositeRect", "elementOrVirtualElement", "offsetParent", "isFixed", "isOffsetParentAnElement", "isHTMLElement", "offsetParentIsScaled", "documentElement", "getDocumentElement", "getBoundingClientRect", "scroll", "offsets", "getNodeName", "isScrollParent", "getNodeScroll", "getWindowScrollBarX", "order", "modifiers", "map", "visited", "result", "modifier", "sort", "requires", "dep", "depModifier", "orderModifiers", "orderedModifiers", "modifierPhases", "acc", "phase", "debounce", "fn", "pending", "resolve", "mergeByName", "modifiers", "merged", "current", "existing", "key", "DEFAULT_OPTIONS", "areValidElements", "_len", "args", "_key", "element", "popperGenerator", "generatorOptions", "_generatorOptions", "_generatorOptions$def", "defaultModifiers", "_generatorOptions$def2", "defaultOptions", "reference", "popper", "options", "state", "effectCleanupFns", "isDestroyed", "instance", "setOptionsAction", "cleanupModifierEffects", "isElement", "listScrollParents", "orderedModifiers", "orderModifiers", "mergeByName", "m", "runModifierEffects", "_state$elements", "getCompositeRect", "getOffsetParent", "getLayoutRect", "modifier", "index", "_state$orderedModifie", "fn", "_state$orderedModifie2", "_options", "name", "debounce", "resolve", "_ref", "_ref$options", "effect", "cleanupFn", "noopFn", "defaultModifiers", "eventListeners_default", "popperOffsets_default", "computeStyles_default", "applyStyles_default", "offset_default", "flip_default", "preventOverflow_default", "arrow_default", "hide_default", "createPopper", "popperGenerator", "React", "ReactDOM", "import_jsx_runtime", "getContainer", "container", "Portal", "props", "forwardedRef", "children", "disablePortal", "mountNode", "setMountNode", "handleRef", "useForkRef", "getReactElementRef", "useEnhancedEffect_default", "setRef", "_jsx", "Portal_default", "getPopperUtilityClass", "slot", "generateUtilityClass", "popperClasses", "generateUtilityClasses", "import_jsx_runtime", "flipPlacement", "placement", "direction", "resolveAnchorEl", "anchorEl", "isHTMLElement", "element", "useUtilityClasses", "ownerState", "classes", "composeClasses", "getPopperUtilityClass", "defaultPopperOptions", "PopperTooltip", "props", "forwardedRef", "_a", "anchorEl", "children", "direction", "disablePortal", "modifiers", "open", "initialPlacement", "popperOptions", "popperRefProp", "slotProps", "slots", "TransitionProps", "ownerStateProp", "other", "tooltipRef", "ownRef", "useForkRef", "popperRef", "handlePopperRef", "handlePopperRefRef", "useEnhancedEffect_default", "rtlPlacement", "flipPlacement", "placement", "setPlacement", "resolvedAnchorElement", "setResolvedAnchorElement", "resolveAnchorEl", "handlePopperUpdate", "data", "popperModifiers", "state", "popper", "createPopper", "childProps", "Root", "rootProps", "useSlotProps_default", "_jsx", "Popper", "containerProp", "keepMounted", "style", "transition", "exited", "setExited", "handleEnter", "handleExited", "container", "resolvedAnchorEl", "isHTMLElement", "ownerDocument", "display", "transitionProps", "Portal_default", "BasePopper_default", "import_jsx_runtime", "PopperRoot", "styled_default", "BasePopper_default", "props", "styles", "Popper", "inProps", "ref", "_a", "isRtl", "useRtl", "useDefaultProps", "anchorEl", "component", "components", "componentsProps", "container", "disablePortal", "keepMounted", "modifiers", "open", "placement", "popperOptions", "popperRef", "transition", "slots", "slotProps", "other", "RootComponent", "otherProps", "_jsx", "Popper_default", "React", "React", "import_jsx_runtime", "getStyleValue", "value", "styles", "isEmpty", "obj", "TextareaAutosize", "props", "forwardedRef", "onChange", "maxRows", "minRows", "style", "other", "isControlled", "inputRef", "handleRef", "useForkRef", "heightRef", "shadowRef", "calculateTextareaStyles", "input", "computedStyle", "ownerWindow", "inputShallow", "boxSizing", "padding", "border", "innerHeight", "singleRowHeight", "outerHeight", "outerHeightStyle", "overflowing", "syncHeight", "textareaStyles", "useEnhancedEffect_default", "handleResize", "rAF", "rAFHandleResize", "debounceHandleResize", "debounce", "containerWindow", "resizeObserver", "_jsxs", "_jsx", "event", "TextareaAutosize_default", "isHostComponent", "element", "isHostComponent_default", "formControlState", "props", "states", "muiFormControl", "acc", "state", "React", "FormControlContext", "FormControlContext_default", "React", "useFormControl", "FormControlContext_default", "hasValue", "value", "isFilled", "obj", "SSR", "isAdornedStart", "getInputBaseUtilityClass", "slot", "generateUtilityClass", "inputBaseClasses", "generateUtilityClasses", "inputBaseClasses_default", "import_jsx_runtime", "_InputGlobalStyles", "rootOverridesResolver", "props", "styles", "ownerState", "capitalize_default", "inputOverridesResolver", "useUtilityClasses", "classes", "color", "disabled", "error", "endAdornment", "focused", "formControl", "fullWidth", "hiddenLabel", "multiline", "readOnly", "size", "startAdornment", "type", "slots", "composeClasses", "getInputBaseUtilityClass", "InputBaseRoot", "styled_default", "memoTheme_default", "theme", "inputBaseClasses_default", "InputBaseInput", "light", "placeholder", "placeholderHidden", "placeholderVisible", "InputGlobalStyles", "globalCss", "InputBase", "inProps", "ref", "_a", "useDefaultProps", "ariaDescribedby", "autoComplete", "autoFocus", "className", "components", "componentsProps", "defaultValue", "disableInjectingGlobalStyles", "id", "inputComponent", "inputPropsProp", "inputRefProp", "margin", "maxRows", "minRows", "name", "onBlur", "onChange", "onClick", "onFocus", "onKeyDown", "onKeyUp", "renderSuffix", "rows", "slotProps", "valueProp", "other", "value", "isControlled", "inputRef", "handleInputRefWarning", "instance", "handleInputRef", "useForkRef_default", "setFocused", "muiFormControl", "useFormControl", "fcs", "formControlState", "onFilled", "onEmpty", "checkDirty", "obj", "isFilled", "useEnhancedEffect_default", "handleFocus", "event", "handleBlur", "handleChange", "args", "element", "formatMuiErrorMessage", "handleClick", "InputComponent", "inputProps", "TextareaAutosize_default", "handleAutoFill", "Root", "rootProps", "Input", "_jsxs", "_jsx", "isHostComponent_default", "clsx_default", "FormControlContext_default", "InputBase_default", "getInputUtilityClass", "slot", "generateUtilityClass", "inputClasses", "inputBaseClasses_default", "generateUtilityClasses", "inputClasses_default", "getOutlinedInputUtilityClass", "slot", "generateUtilityClass", "outlinedInputClasses", "inputBaseClasses_default", "generateUtilityClasses", "outlinedInputClasses_default", "getFilledInputUtilityClass", "slot", "generateUtilityClass", "filledInputClasses", "inputBaseClasses_default", "generateUtilityClasses", "filledInputClasses_default", "React", "import_jsx_runtime", "ArrowDropDown_default", "createSvgIcon", "_jsx", "React", "React", "import_jsx_runtime", "styles", "Fade", "props", "ref", "theme", "useTheme", "defaultTimeout", "addEndListener", "appear", "children", "easing", "inProp", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent", "Transition_default", "other", "enableStrictModeCompat", "nodeRef", "handleRef", "useForkRef_default", "getReactElementRef", "normalizedTransitionCallback", "callback", "maybeIsAppearing", "node", "handleEntering", "handleEnter", "isAppearing", "reflow", "transitionProps", "getTransitionProps", "handleEntered", "handleExiting", "handleExit", "handleExited", "_jsx", "next", "state", "childProps", "Fade_default", "getBackdropUtilityClass", "slot", "generateUtilityClass", "backdropClasses", "generateUtilityClasses", "import_jsx_runtime", "removeOwnerState", "props", "ownerState", "rest", "useUtilityClasses", "classes", "invisible", "composeClasses", "getBackdropUtilityClass", "BackdropRoot", "styled_default", "styles", "Backdrop", "inProps", "ref", "useDefaultProps", "children", "className", "component", "open", "components", "componentsProps", "slotProps", "slots", "TransitionComponentProp", "transitionDuration", "other", "backwardCompatibleSlots", "backwardCompatibleSlotProps", "externalForwardedProps", "RootSlot", "rootProps", "useSlot", "clsx_default", "TransitionSlot", "transitionProps", "Fade_default", "transitionPropsRemoved", "_jsx", "Backdrop_default", "React", "useBadge", "parameters", "badgeContentProp", "invisibleProp", "maxProp", "showZero", "prevProps", "usePreviousProps_default", "invisible", "badgeContent", "max", "displayValue", "useBadge_default", "getBadgeUtilityClass", "slot", "generateUtilityClass", "badgeClasses", "generateUtilityClasses", "badgeClasses_default", "import_jsx_runtime", "RADIUS_STANDARD", "RADIUS_DOT", "useUtilityClasses", "ownerState", "color", "anchorOrigin", "invisible", "overlap", "variant", "classes", "slots", "capitalize_default", "composeClasses", "getBadgeUtilityClass", "BadgeRoot", "styled_default", "props", "styles", "BadgeBadge", "memoTheme_default", "theme", "createSimplePaletteValueFilter", "badgeClasses_default", "getAnchorOrigin", "_a", "_b", "Badge", "inProps", "ref", "_c", "_d", "_e", "_f", "useDefaultProps", "anchorOriginProp", "className", "classesProp", "component", "components", "componentsProps", "children", "overlapProp", "colorProp", "invisibleProp", "maxProp", "badgeContentProp", "slotProps", "showZero", "variantProp", "other", "badgeContent", "invisibleFromHook", "max", "displayValueFromHook", "useBadge_default", "prevProps", "usePreviousProps_default", "anchorOriginPropProp", "displayValue", "RootSlot", "BadgeSlot", "rootSlotProps", "badgeSlotProps", "rootProps", "useSlotProps_default", "clsx_default", "badgeProps", "_jsxs", "_jsx", "Badge_default", "boxClasses", "generateUtilityClasses", "boxClasses_default", "defaultTheme", "createTheme", "Box", "createBox", "identifier_default", "boxClasses_default", "ClassNameGenerator_default", "Box_default", "React", "import_react_is", "React", "React", "import_jsx_runtime", "MoreHoriz_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "BreadcrumbCollapsedButton", "styled_default", "ButtonBase_default", "memoTheme_default", "theme", "emphasize", "BreadcrumbCollapsedIcon", "MoreHoriz_default", "BreadcrumbCollapsed", "props", "slots", "slotProps", "otherProps", "ownerState", "_jsx", "BreadcrumbCollapsed_default", "getBreadcrumbsUtilityClass", "slot", "generateUtilityClass", "breadcrumbsClasses", "generateUtilityClasses", "breadcrumbsClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "composeClasses", "getBreadcrumbsUtilityClass", "BreadcrumbsRoot", "styled_default", "Typography_default", "props", "styles", "breadcrumbsClasses_default", "BreadcrumbsOl", "BreadcrumbsSeparator", "insertSeparators", "items", "className", "separator", "acc", "current", "index", "_jsx", "Breadcrumbs", "inProps", "ref", "useDefaultProps", "children", "component", "slots", "slotProps", "expandText", "itemsAfterCollapse", "itemsBeforeCollapse", "maxItems", "other", "expanded", "setExpanded", "collapsedIconSlotProps", "useSlotProps_default", "listRef", "renderItemsBeforeAndAfter", "allItems", "handleClickExpand", "focusable", "BreadcrumbCollapsed_default", "child", "clsx_default", "Breadcrumbs_default", "React", "getButtonUtilityClass", "slot", "generateUtilityClass", "buttonClasses", "generateUtilityClasses", "buttonClasses_default", "React", "ButtonGroupContext", "ButtonGroupContext_default", "React", "ButtonGroupButtonContext", "ButtonGroupButtonContext_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "color", "disableElevation", "fullWidth", "size", "variant", "classes", "slots", "capitalize_default", "composedClasses", "composeClasses", "getButtonUtilityClass", "commonIconStyles", "ButtonRoot", "styled_default", "ButtonBase_default", "prop", "rootShouldForwardProp_default", "props", "styles", "memoTheme_default", "theme", "inheritContainedBackgroundColor", "inheritContainedHoverBackgroundColor", "buttonClasses_default", "createSimplePaletteValueFilter", "alpha", "ButtonStartIcon", "ButtonEndIcon", "Button", "inProps", "ref", "contextProps", "ButtonGroupContext_default", "buttonGroupButtonContextPositionClassName", "ButtonGroupButtonContext_default", "resolvedProps", "resolveProps", "useDefaultProps", "children", "component", "className", "disabled", "disableFocusRipple", "endIconProp", "focusVisibleClassName", "startIconProp", "type", "other", "startIcon", "_jsx", "endIcon", "positionClassName", "_jsxs", "clsx_default", "Button_default", "React", "React", "getSwitchBaseUtilityClass", "slot", "generateUtilityClass", "switchBaseClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "checked", "disabled", "edge", "slots", "capitalize_default", "composeClasses", "getSwitchBaseUtilityClass", "SwitchBaseRoot", "styled_default", "ButtonBase_default", "SwitchBaseInput", "rootShouldForwardProp_default", "SwitchBase", "props", "ref", "autoFocus", "checkedProp", "checkedIcon", "className", "defaultChecked", "disabledProp", "disableFocusRipple", "icon", "id", "inputProps", "inputRef", "name", "onBlur", "onChange", "onFocus", "readOnly", "required", "tabIndex", "type", "value", "other", "setCheckedState", "useControlled_default", "muiFormControl", "useFormControl", "handleFocus", "event", "handleBlur", "handleInputChange", "newChecked", "hasLabelFor", "_jsxs", "clsx_default", "_jsx", "SwitchBase_default", "React", "import_jsx_runtime", "CheckBoxOutlineBlank_default", "createSvgIcon", "_jsx", "React", "import_jsx_runtime", "CheckBox_default", "createSvgIcon", "_jsx", "React", "import_jsx_runtime", "IndeterminateCheckBox_default", "createSvgIcon", "_jsx", "getCheckboxUtilityClass", "slot", "generateUtilityClass", "checkboxClasses", "generateUtilityClasses", "checkboxClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "indeterminate", "color", "size", "slots", "capitalize_default", "composedClasses", "composeClasses", "getCheckboxUtilityClass", "CheckboxRoot", "styled_default", "SwitchBase_default", "prop", "rootShouldForwardProp_default", "props", "styles", "memoTheme_default", "theme", "alpha", "createSimplePaletteValueFilter", "checkboxClasses_default", "defaultCheckedIcon", "_jsx", "CheckBox_default", "defaultIcon", "CheckBoxOutlineBlank_default", "defaultIndeterminateIcon", "IndeterminateCheckBox_default", "Checkbox", "inProps", "ref", "_a", "_b", "useDefaultProps", "checkedIcon", "iconProp", "indeterminateIconProp", "inputProps", "disableRipple", "className", "other", "icon", "indeterminateIcon", "clsx_default", "Checkbox_default", "React", "getCircularProgressUtilityClass", "slot", "generateUtilityClass", "circularProgressClasses", "generateUtilityClasses", "import_jsx_runtime", "SIZE", "circularRotateKeyframe", "keyframes", "circularDashKeyframe", "rotateAnimation", "css", "dashAnimation", "useUtilityClasses", "ownerState", "classes", "variant", "color", "disableShrink", "slots", "capitalize_default", "composeClasses", "getCircularProgressUtilityClass", "CircularProgressRoot", "styled_default", "props", "styles", "memoTheme_default", "theme", "createSimplePaletteValueFilter", "CircularProgressSVG", "CircularProgressCircle", "CircularProgress", "inProps", "ref", "useDefaultProps", "className", "size", "style", "thickness", "value", "other", "circleStyle", "rootStyle", "rootProps", "circumference", "_jsx", "clsx_default", "CircularProgress_default", "React", "import_jsx_runtime", "mapEventPropToEvent", "eventProp", "clickedRootScrollbar", "event", "doc", "ClickAwayListener", "props", "children", "disableReactTree", "mouseEvent", "onClickAway", "touchEvent", "movedRef", "nodeRef", "activatedRef", "syntheticEventRef", "handleRef", "useForkRef", "getReactElementRef", "handleClickAway", "useEventCallback_default", "insideReactTree", "ownerDocument", "insideDOM", "createHandleSynthetic", "handlerName", "childrenPropsHandler", "childrenProps", "mappedTouchEvent", "handleTouchMove", "mappedMouseEvent", "_jsx", "React", "isOverflowing", "container", "doc", "ownerDocument", "ownerWindow", "ariaHidden", "element", "hide", "getPaddingRight", "isAriaHiddenForbiddenOnElement", "isForbiddenTagName", "isInputHidden", "ariaHiddenSiblings", "mountElement", "currentElement", "elementsToExclude", "blacklist", "isNotExcludedElement", "isNotForbiddenElement", "findIndexOf", "items", "callback", "idx", "item", "index", "handleContainer", "containerInfo", "props", "restoreStyle", "scrollbarSize", "getScrollbarSize", "fixedElements", "scrollContainer", "parent", "containerWindow", "value", "el", "property", "getHiddenSiblings", "hiddenSiblings", "ModalManager", "modal", "modalIndex", "containerIndex", "ariaHiddenState", "nextTop", "React", "React", "import_jsx_runtime", "candidatesSelector", "getTabIndex", "node", "tabindexAttr", "isNonTabbableRadio", "getRadio", "selector", "roving", "isNodeMatchingSelectorFocusable", "defaultGetTabbable", "root", "regularTabNodes", "orderedTabNodes", "i", "nodeTabIndex", "a", "b", "defaultIsEnabled", "FocusTrap", "props", "children", "disableAutoFocus", "disableEnforceFocus", "disableRestoreFocus", "getTabbable", "isEnabled", "open", "ignoreNextEnforceFocus", "sentinelStart", "sentinelEnd", "nodeToRestore", "reactFocusEventTarget", "activated", "rootRef", "handleRef", "useForkRef", "getReactElementRef", "lastKeydown", "doc", "ownerDocument", "loopFocus", "nativeEvent", "contain", "_a", "_b", "rootElement", "tabbable", "isShiftTab", "focusNext", "focusPrevious", "interval", "onFocus", "event", "childrenPropsHandler", "handleFocusSentinel", "_jsxs", "_jsx", "FocusTrap_default", "React", "getContainer", "container", "getHasTransition", "children", "manager", "ModalManager", "useModal", "parameters", "disableEscapeKeyDown", "disableScrollLock", "closeAfterTransition", "onTransitionEnter", "onTransitionExited", "onClose", "open", "rootRef", "modal", "mountNodeRef", "modalRef", "handleRef", "useForkRef", "exited", "setExited", "hasTransition", "ariaHiddenProp", "getDoc", "ownerDocument", "getModal", "handleMounted", "handleOpen", "useEventCallback_default", "resolvedContainer", "isTopModal", "handlePortalRef", "node", "ariaHidden", "handleClose", "createHandleKeyDown", "otherHandlers", "event", "_a", "createHandleBackdropClick", "propsEventHandlers", "extractEventHandlers_default", "externalEventHandlers", "handleEnter", "handleExited", "createChainedFunction", "useModal_default", "getModalUtilityClass", "slot", "generateUtilityClass", "modalClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "open", "exited", "classes", "composeClasses", "getModalUtilityClass", "ModalRoot", "styled_default", "props", "styles", "memoTheme_default", "theme", "ModalBackdrop", "Backdrop_default", "Modal", "inProps", "ref", "useDefaultProps", "BackdropComponent", "BackdropProps", "classesProp", "className", "closeAfterTransition", "children", "container", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "onBackdropClick", "onClose", "onTransitionEnter", "onTransitionExited", "slotProps", "slots", "other", "propsWithDefaults", "getRootProps", "getBackdropProps", "getTransitionProps", "portalRef", "isTopModal", "hasTransition", "useModal_default", "childProps", "onEnter", "onExited", "externalForwardedProps", "RootSlot", "rootProps", "useSlot", "clsx_default", "BackdropSlot", "backdropProps", "otherHandlers", "event", "backdropRef", "useForkRef_default", "_jsx", "Portal_default", "_jsxs", "FocusTrap_default", "Modal_default", "getDialogUtilityClass", "slot", "generateUtilityClass", "dialogClasses", "generateUtilityClasses", "dialogClasses_default", "React", "DialogContext", "DialogContext_default", "import_jsx_runtime", "DialogBackdrop", "styled_default", "Backdrop_default", "props", "styles", "useUtilityClasses", "ownerState", "classes", "scroll", "maxWidth", "fullWidth", "fullScreen", "slots", "capitalize_default", "composeClasses", "getDialogUtilityClass", "DialogRoot", "Modal_default", "DialogContainer", "DialogPaper", "Paper_default", "memoTheme_default", "theme", "dialogClasses_default", "Dialog", "inProps", "ref", "useDefaultProps", "useTheme", "defaultTransitionDuration", "ariaDescribedby", "ariaLabelledbyProp", "ariaModal", "BackdropComponent", "BackdropProps", "children", "className", "disableEscapeKeyDown", "onBackdropClick", "onClick", "onClose", "open", "PaperComponent", "PaperProps", "TransitionComponent", "Fade_default", "transitionDuration", "TransitionProps", "other", "backdropClick", "handleMouseDown", "event", "handleBackdropClick", "ariaLabelledby", "useId", "dialogContextValue", "_jsx", "clsx_default", "DialogContext_default", "Dialog_default", "React", "getDialogActionsUtilityClass", "slot", "generateUtilityClass", "dialogActionsClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "disableSpacing", "composeClasses", "getDialogActionsUtilityClass", "DialogActionsRoot", "styled_default", "props", "styles", "DialogActions", "inProps", "ref", "useDefaultProps", "className", "other", "_jsx", "clsx_default", "DialogActions_default", "React", "getDialogContentUtilityClass", "slot", "generateUtilityClass", "dialogContentClasses", "generateUtilityClasses", "getDialogTitleUtilityClass", "slot", "generateUtilityClass", "dialogTitleClasses", "generateUtilityClasses", "dialogTitleClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "dividers", "composeClasses", "getDialogContentUtilityClass", "DialogContentRoot", "styled_default", "props", "styles", "memoTheme_default", "theme", "dialogTitleClasses_default", "DialogContent", "inProps", "ref", "useDefaultProps", "className", "other", "_jsx", "clsx_default", "DialogContent_default", "React", "getDialogContentTextUtilityClass", "slot", "generateUtilityClass", "dialogContentTextClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "composedClasses", "composeClasses", "getDialogContentTextUtilityClass", "DialogContentTextRoot", "styled_default", "Typography_default", "prop", "rootShouldForwardProp_default", "props", "styles", "DialogContentText", "inProps", "ref", "useDefaultProps", "children", "className", "_jsx", "clsx_default", "DialogContentText_default", "React", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "composeClasses", "getDialogTitleUtilityClass", "DialogTitleRoot", "styled_default", "Typography_default", "props", "styles", "DialogTitle", "inProps", "ref", "useDefaultProps", "className", "idProp", "other", "titleId", "DialogContext_default", "_jsx", "clsx_default", "DialogTitle_default", "dividerClasses", "generateUtilityClasses", "dividerClasses_default", "React", "getFabUtilityClass", "slot", "generateUtilityClass", "fabClasses", "generateUtilityClasses", "fabClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "color", "variant", "classes", "size", "slots", "capitalize_default", "composedClasses", "composeClasses", "getFabUtilityClass", "FabRoot", "styled_default", "ButtonBase_default", "prop", "rootShouldForwardProp_default", "props", "styles", "memoTheme_default", "theme", "_a", "_b", "fabClasses_default", "createSimplePaletteValueFilter", "Fab", "inProps", "ref", "useDefaultProps", "children", "className", "component", "disabled", "disableFocusRipple", "focusVisibleClassName", "other", "_jsx", "clsx_default", "Fab_default", "React", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "disableUnderline", "startAdornment", "endAdornment", "size", "hiddenLabel", "multiline", "slots", "capitalize_default", "composedClasses", "composeClasses", "getFilledInputUtilityClass", "FilledInputRoot", "styled_default", "InputBaseRoot", "prop", "rootShouldForwardProp_default", "props", "styles", "rootOverridesResolver", "memoTheme_default", "theme", "light", "bottomLineColor", "backgroundColor", "hoverBackground", "disabledBackground", "filledInputClasses_default", "createSimplePaletteValueFilter", "color", "_a", "FilledInputInput", "InputBaseInput", "inputOverridesResolver", "FilledInput", "inProps", "ref", "_b", "_c", "_d", "useDefaultProps", "components", "componentsPropsProp", "fullWidth", "inputComponent", "slotProps", "type", "other", "filledInputComponentsProps", "componentsProps", "deepmerge", "RootSlot", "InputSlot", "_jsx", "InputBase_default", "FilledInput_default", "React", "getFormControlUtilityClasses", "slot", "generateUtilityClass", "formControlClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "margin", "fullWidth", "slots", "capitalize_default", "composeClasses", "getFormControlUtilityClasses", "FormControlRoot", "styled_default", "styles", "FormControl", "inProps", "ref", "props", "useDefaultProps", "children", "className", "color", "component", "disabled", "error", "visuallyFocused", "hiddenLabel", "required", "size", "variant", "other", "adornedStart", "setAdornedStart", "initialAdornedStart", "child", "isMuiElement_default", "input", "isAdornedStart", "filled", "setFilled", "initialFilled", "isFilled", "focusedState", "setFocused", "focused", "registerEffect", "registeredInput", "childContext", "_jsx", "FormControlContext_default", "clsx_default", "FormControl_default", "React", "getFormControlLabelUtilityClasses", "slot", "generateUtilityClass", "formControlLabelClasses", "generateUtilityClasses", "formControlLabelClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "disabled", "labelPlacement", "error", "required", "slots", "capitalize_default", "composeClasses", "getFormControlLabelUtilityClasses", "FormControlLabelRoot", "styled_default", "props", "styles", "formControlLabelClasses_default", "memoTheme_default", "theme", "AsteriskComponent", "FormControlLabel", "inProps", "ref", "_a", "useDefaultProps", "checked", "className", "componentsProps", "control", "disabledProp", "disableTypography", "inputRef", "labelProp", "name", "onChange", "requiredProp", "slotProps", "value", "other", "muiFormControl", "useFormControl", "controlProps", "key", "fcs", "formControlState", "externalForwardedProps", "TypographySlot", "typographySlotProps", "useSlot", "Typography_default", "label", "_jsx", "clsx_default", "_jsxs", "FormControlLabel_default", "React", "getFormGroupUtilityClass", "slot", "generateUtilityClass", "formGroupClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "row", "error", "composeClasses", "getFormGroupUtilityClass", "FormGroupRoot", "styled_default", "props", "styles", "FormGroup", "inProps", "ref", "useDefaultProps", "className", "other", "muiFormControl", "useFormControl", "fcs", "formControlState", "_jsx", "clsx_default", "FormGroup_default", "React", "getFormHelperTextUtilityClasses", "slot", "generateUtilityClass", "formHelperTextClasses", "generateUtilityClasses", "formHelperTextClasses_default", "import_jsx_runtime", "_span", "useUtilityClasses", "ownerState", "classes", "contained", "size", "disabled", "error", "filled", "focused", "required", "slots", "capitalize_default", "composeClasses", "getFormHelperTextUtilityClasses", "FormHelperTextRoot", "styled_default", "props", "styles", "memoTheme_default", "theme", "formHelperTextClasses_default", "FormHelperText", "inProps", "ref", "useDefaultProps", "children", "className", "component", "margin", "variant", "other", "muiFormControl", "useFormControl", "fcs", "formControlState", "_jsx", "clsx_default", "FormHelperText_default", "React", "getFormLabelUtilityClasses", "slot", "generateUtilityClass", "formLabelClasses", "generateUtilityClasses", "formLabelClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "color", "focused", "disabled", "error", "filled", "required", "slots", "capitalize_default", "composeClasses", "getFormLabelUtilityClasses", "FormLabelRoot", "styled_default", "styles", "memoTheme_default", "theme", "createSimplePaletteValueFilter", "formLabelClasses_default", "AsteriskComponent", "props", "FormLabel", "inProps", "ref", "useDefaultProps", "children", "className", "component", "other", "muiFormControl", "useFormControl", "fcs", "formControlState", "_jsxs", "clsx_default", "FormLabel_default", "Grid2", "createGrid", "styled_default", "props", "styles", "inProps", "useDefaultProps", "Grid2_default", "React", "import_jsx_runtime", "getScale", "value", "styles", "isWebKit154", "Grow", "props", "ref", "addEndListener", "appear", "children", "easing", "inProp", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent", "Transition_default", "other", "timer", "useTimeout", "autoTimeout", "theme", "useTheme", "nodeRef", "handleRef", "useForkRef_default", "getReactElementRef", "normalizedTransitionCallback", "callback", "maybeIsAppearing", "node", "handleEntering", "handleEnter", "isAppearing", "reflow", "transitionDuration", "delay", "transitionTimingFunction", "getTransitionProps", "duration", "handleEntered", "handleExiting", "handleExit", "handleExited", "_jsx", "next", "state", "childProps", "Grow_default", "useMediaQuery", "unstable_createUseMediaQuery", "identifier_default", "useMediaQuery_default", "React", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "disableUnderline", "composedClasses", "composeClasses", "getInputUtilityClass", "InputRoot", "styled_default", "InputBaseRoot", "prop", "rootShouldForwardProp_default", "props", "styles", "rootOverridesResolver", "memoTheme_default", "theme", "bottomLineColor", "inputClasses_default", "createSimplePaletteValueFilter", "color", "InputInput", "InputBaseInput", "inputOverridesResolver", "Input", "inProps", "ref", "_a", "_b", "_c", "_d", "useDefaultProps", "components", "componentsPropsProp", "fullWidth", "inputComponent", "multiline", "slotProps", "slots", "type", "other", "inputComponentsProps", "componentsProps", "deepmerge", "RootSlot", "InputSlot", "_jsx", "InputBase_default", "Input_default", "React", "getInputLabelUtilityClasses", "slot", "generateUtilityClass", "inputLabelClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "formControl", "size", "shrink", "disableAnimation", "variant", "required", "slots", "capitalize_default", "composedClasses", "composeClasses", "getInputLabelUtilityClasses", "InputLabelRoot", "styled_default", "FormLabel_default", "prop", "rootShouldForwardProp_default", "props", "styles", "formLabelClasses_default", "memoTheme_default", "theme", "InputLabel", "inProps", "ref", "useDefaultProps", "margin", "shrinkProp", "className", "other", "muiFormControl", "useFormControl", "fcs", "formControlState", "_jsx", "clsx_default", "InputLabel_default", "React", "getLinearProgressUtilityClass", "slot", "generateUtilityClass", "linearProgressClasses", "generateUtilityClasses", "import_jsx_runtime", "TRANSITION_DURATION", "indeterminate1Keyframe", "keyframes", "indeterminate1Animation", "css", "indeterminate2Keyframe", "indeterminate2Animation", "bufferKeyframe", "bufferAnimation", "useUtilityClasses", "ownerState", "classes", "variant", "color", "slots", "capitalize_default", "composeClasses", "getLinearProgressUtilityClass", "getColorShade", "theme", "lighten", "darken", "LinearProgressRoot", "styled_default", "props", "styles", "memoTheme_default", "createSimplePaletteValueFilter", "LinearProgressDashed", "backgroundColor", "LinearProgressBar1", "LinearProgressBar2", "LinearProgress", "inProps", "ref", "useDefaultProps", "className", "value", "valueBuffer", "other", "isRtl", "useRtl", "rootProps", "inlineStyles", "transform", "_jsxs", "clsx_default", "_jsx", "LinearProgress_default", "React", "React", "ListContext", "ListContext_default", "getListUtilityClass", "slot", "generateUtilityClass", "listClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "disablePadding", "dense", "subheader", "composeClasses", "getListUtilityClass", "ListRoot", "styled_default", "props", "styles", "List", "inProps", "ref", "useDefaultProps", "children", "className", "component", "other", "context", "_jsx", "ListContext_default", "_jsxs", "clsx_default", "List_default", "React", "getListItemUtilityClass", "slot", "generateUtilityClass", "listItemClasses", "generateUtilityClasses", "React", "getListItemButtonUtilityClass", "slot", "generateUtilityClass", "listItemButtonClasses", "generateUtilityClasses", "listItemButtonClasses_default", "import_jsx_runtime", "overridesResolver", "props", "styles", "ownerState", "useUtilityClasses", "alignItems", "classes", "dense", "disabled", "disableGutters", "divider", "selected", "composedClasses", "composeClasses", "getListItemButtonUtilityClass", "ListItemButtonRoot", "styled_default", "ButtonBase_default", "prop", "rootShouldForwardProp_default", "memoTheme_default", "theme", "listItemButtonClasses_default", "alpha", "ListItemButton", "inProps", "ref", "useDefaultProps", "autoFocus", "component", "children", "focusVisibleClassName", "className", "other", "context", "ListContext_default", "childContext", "listItemRef", "useEnhancedEffect_default", "handleRef", "useForkRef_default", "_jsx", "clsx_default", "ListItemButton_default", "React", "getListItemSecondaryActionClassesUtilityClass", "slot", "generateUtilityClass", "listItemSecondaryActionClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "disableGutters", "classes", "composeClasses", "getListItemSecondaryActionClassesUtilityClass", "ListItemSecondaryActionRoot", "styled_default", "props", "styles", "ListItemSecondaryAction", "inProps", "ref", "useDefaultProps", "className", "other", "context", "ListContext_default", "_jsx", "clsx_default", "ListItemSecondaryAction_default", "import_jsx_runtime", "overridesResolver", "props", "styles", "ownerState", "useUtilityClasses", "alignItems", "classes", "dense", "disableGutters", "disablePadding", "divider", "hasSecondaryAction", "composeClasses", "getListItemUtilityClass", "ListItemRoot", "styled_default", "memoTheme_default", "theme", "listItemButtonClasses_default", "ListItemContainer", "ListItem", "inProps", "ref", "useDefaultProps", "childrenProp", "className", "componentProp", "components", "componentsProps", "ContainerComponent", "ContainerClassName", "ContainerProps", "secondaryAction", "slotProps", "slots", "other", "context", "ListContext_default", "childContext", "listItemRef", "children", "isMuiElement_default", "handleRef", "useForkRef_default", "Root", "rootProps", "componentProps", "clsx_default", "Component", "_jsx", "_jsxs", "isHostComponent_default", "ListItemSecondaryAction_default", "ListItem_default", "React", "getListItemIconUtilityClass", "slot", "generateUtilityClass", "listItemIconClasses", "generateUtilityClasses", "listItemIconClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "alignItems", "classes", "composeClasses", "getListItemIconUtilityClass", "ListItemIconRoot", "styled_default", "props", "styles", "memoTheme_default", "theme", "ListItemIcon", "inProps", "ref", "useDefaultProps", "className", "other", "context", "ListContext_default", "_jsx", "clsx_default", "ListItemIcon_default", "React", "getListItemTextUtilityClass", "slot", "generateUtilityClass", "listItemTextClasses", "generateUtilityClasses", "listItemTextClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "inset", "primary", "secondary", "dense", "composeClasses", "getListItemTextUtilityClass", "ListItemTextRoot", "styled_default", "props", "styles", "listItemTextClasses_default", "typographyClasses_default", "ListItemText", "inProps", "ref", "useDefaultProps", "children", "className", "disableTypography", "primaryProp", "primaryTypographyProps", "secondaryProp", "secondaryTypographyProps", "other", "ListContext_default", "Typography_default", "_jsx", "_jsxs", "clsx_default", "ListItemText_default", "React", "import_react_is", "React", "import_react_is", "getScrollbarSize_default", "getScrollbarSize", "import_jsx_runtime", "nextItem", "list", "item", "disableListWrap", "previousItem", "textCriteriaMatches", "nextFocus", "textCriteria", "text", "moveFocus", "currentFocus", "disabledItemsFocusable", "traversalFunction", "wrappedOnce", "nextFocusDisabled", "MenuList", "props", "ref", "actions", "autoFocus", "autoFocusItem", "children", "className", "onKeyDown", "variant", "other", "listRef", "textCriteriaRef", "useEnhancedEffect_default", "containerElement", "direction", "noExplicitWidth", "scrollbarSize", "getScrollbarSize_default", "ownerWindow_default", "handleKeyDown", "event", "key", "ownerDocument_default", "criteria", "lowerKey", "currTime", "keepFocusOnCurrent", "handleRef", "useForkRef_default", "activeItemIndex", "child", "index", "items", "newChildProps", "_jsx", "List_default", "MenuList_default", "React", "getPopoverUtilityClass", "slot", "generateUtilityClass", "popoverClasses", "generateUtilityClasses", "import_jsx_runtime", "getOffsetTop", "rect", "vertical", "offset", "getOffsetLeft", "horizontal", "getTransformOriginValue", "transformOrigin", "n", "resolveAnchorEl", "anchorEl", "useUtilityClasses", "ownerState", "classes", "composeClasses", "getPopoverUtilityClass", "PopoverRoot", "styled_default", "Modal_default", "props", "styles", "PopoverPaper", "Paper_default", "Popover", "inProps", "ref", "_a", "useDefaultProps", "action", "anchorOrigin", "anchorPosition", "anchorReference", "children", "className", "containerProp", "elevation", "marginThreshold", "open", "PaperPropsProp", "slots", "slotProps", "TransitionComponent", "Grow_default", "transitionDurationProp", "onEntering", "TransitionProps", "disableScrollLock", "other", "externalPaperSlotProps", "paperRef", "getAnchorOffset", "resolvedAnchorEl", "anchorRect", "ownerDocument_default", "getTransformOrigin", "elemRect", "getPositioningStyle", "element", "elemTransformOrigin", "anchorOffset", "top", "left", "bottom", "right", "containerWindow", "ownerWindow_default", "heightThreshold", "widthThreshold", "diff", "isPositioned", "setIsPositioned", "setPositioningStyles", "positioning", "handleEntering", "isAppearing", "handleExited", "handleResize", "debounce_default", "transitionDuration", "container", "externalForwardedProps", "PaperSlot", "paperProps", "useSlot", "clsx_default", "RootSlot", "rootSlotPropsProp", "rootProps", "handlePaperRef", "useForkRef_default", "_jsx", "isHostComponent_default", "Popover_default", "getMenuUtilityClass", "slot", "generateUtilityClass", "menuClasses", "generateUtilityClasses", "import_jsx_runtime", "RTL_ORIGIN", "LTR_ORIGIN", "useUtilityClasses", "ownerState", "classes", "composeClasses", "getMenuUtilityClass", "MenuRoot", "styled_default", "Popover_default", "prop", "rootShouldForwardProp_default", "props", "styles", "MenuPaper", "PopoverPaper", "MenuMenuList", "MenuList_default", "Menu", "inProps", "ref", "_a", "_b", "useDefaultProps", "autoFocus", "children", "className", "disableAutoFocusItem", "MenuListProps", "onClose", "open", "PaperProps", "PopoverClasses", "transitionDuration", "onEntering", "TransitionProps", "variant", "slots", "slotProps", "other", "isRtl", "useRtl", "autoFocusItem", "menuListActionsRef", "handleEntering", "element", "isAppearing", "handleListKeyDown", "event", "activeItemIndex", "child", "index", "PaperSlot", "paperExternalSlotProps", "rootSlotProps", "useSlotProps_default", "paperSlotProps", "_jsx", "clsx_default", "Menu_default", "React", "getMenuItemUtilityClass", "slot", "generateUtilityClass", "menuItemClasses", "generateUtilityClasses", "menuItemClasses_default", "import_jsx_runtime", "overridesResolver", "props", "styles", "ownerState", "useUtilityClasses", "disabled", "dense", "divider", "disableGutters", "selected", "classes", "composedClasses", "composeClasses", "getMenuItemUtilityClass", "MenuItemRoot", "styled_default", "ButtonBase_default", "prop", "rootShouldForwardProp_default", "memoTheme_default", "theme", "menuItemClasses_default", "alpha", "dividerClasses_default", "listItemTextClasses_default", "listItemIconClasses_default", "MenuItem", "inProps", "ref", "useDefaultProps", "autoFocus", "component", "focusVisibleClassName", "role", "tabIndexProp", "className", "other", "context", "ListContext_default", "childContext", "menuItemRef", "useEnhancedEffect_default", "handleRef", "useForkRef_default", "tabIndex", "_jsx", "clsx_default", "MenuItem_default", "React", "getNativeSelectUtilityClasses", "slot", "generateUtilityClass", "nativeSelectClasses", "generateUtilityClasses", "nativeSelectClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "variant", "disabled", "multiple", "open", "error", "slots", "capitalize_default", "composeClasses", "getNativeSelectUtilityClasses", "StyledSelectSelect", "styled_default", "theme", "nativeSelectClasses_default", "NativeSelectSelect", "rootShouldForwardProp_default", "props", "styles", "StyledSelectIcon", "NativeSelectIcon", "NativeSelectInput", "ref", "className", "IconComponent", "inputRef", "other", "_jsxs", "_jsx", "clsx_default", "NativeSelectInput_default", "React", "React", "import_jsx_runtime", "_span", "NotchedOutlineRoot", "styled_default", "rootShouldForwardProp_default", "NotchedOutlineLegend", "memoTheme_default", "theme", "ownerState", "NotchedOutline", "props", "children", "classes", "className", "label", "notched", "other", "withLabel", "_jsx", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "composedClasses", "composeClasses", "getOutlinedInputUtilityClass", "OutlinedInputRoot", "styled_default", "InputBaseRoot", "prop", "rootShouldForwardProp_default", "rootOverridesResolver", "memoTheme_default", "theme", "borderColor", "outlinedInputClasses_default", "createSimplePaletteValueFilter", "color", "size", "NotchedOutlineRoot", "NotchedOutline", "props", "styles", "OutlinedInputInput", "InputBaseInput", "inputOverridesResolver", "OutlinedInput", "inProps", "ref", "_a", "_b", "_c", "_d", "_React$Fragment", "useDefaultProps", "components", "fullWidth", "inputComponent", "label", "multiline", "notched", "slots", "type", "other", "muiFormControl", "useFormControl", "fcs", "formControlState", "RootSlot", "InputSlot", "_jsx", "InputBase_default", "state", "_jsxs", "OutlinedInput_default", "React", "React", "React", "import_jsx_runtime", "RadioButtonUnchecked_default", "createSvgIcon", "_jsx", "React", "import_jsx_runtime", "RadioButtonChecked_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "RadioButtonIconRoot", "styled_default", "rootShouldForwardProp_default", "RadioButtonIconBackground", "RadioButtonUnchecked_default", "RadioButtonIconDot", "RadioButtonChecked_default", "memoTheme_default", "theme", "RadioButtonIcon", "props", "checked", "classes", "fontSize", "ownerState", "_jsxs", "_jsx", "RadioButtonIcon_default", "React", "React", "RadioGroupContext", "RadioGroupContext_default", "useRadioGroup", "RadioGroupContext_default", "getRadioUtilityClass", "slot", "generateUtilityClass", "radioClasses", "generateUtilityClasses", "radioClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "color", "size", "slots", "capitalize_default", "composeClasses", "getRadioUtilityClass", "RadioRoot", "styled_default", "SwitchBase_default", "prop", "rootShouldForwardProp_default", "props", "styles", "memoTheme_default", "theme", "radioClasses_default", "alpha", "createSimplePaletteValueFilter", "areEqualValues", "a", "b", "defaultCheckedIcon", "_jsx", "RadioButtonIcon_default", "defaultIcon", "Radio", "inProps", "ref", "_a", "_b", "useDefaultProps", "checkedProp", "checkedIcon", "icon", "nameProp", "onChangeProp", "className", "disabledProp", "disableRipple", "other", "muiFormControl", "useFormControl", "disabled", "radioGroup", "useRadioGroup", "checked", "onChange", "createChainedFunction_default", "name", "clsx_default", "Radio_default", "React", "React", "import_react_is", "getSelectUtilityClasses", "slot", "generateUtilityClass", "selectClasses", "generateUtilityClasses", "selectClasses_default", "import_jsx_runtime", "_span", "SelectSelect", "styled_default", "StyledSelectSelect", "props", "styles", "ownerState", "selectClasses_default", "SelectIcon", "StyledSelectIcon", "capitalize_default", "SelectNativeInput", "prop", "slotShouldForwardProp_default", "areEqualValues", "a", "b", "isEmpty", "display", "useUtilityClasses", "classes", "variant", "disabled", "multiple", "open", "error", "slots", "composeClasses", "getSelectUtilityClasses", "SelectInput", "ref", "_a", "ariaDescribedby", "ariaLabel", "autoFocus", "autoWidth", "children", "className", "defaultOpen", "defaultValue", "displayEmpty", "IconComponent", "inputRefProp", "labelId", "MenuProps", "name", "onBlur", "onChange", "onClose", "onFocus", "onOpen", "openProp", "readOnly", "renderValue", "SelectDisplayProps", "tabIndexProp", "type", "valueProp", "other", "value", "setValueState", "useControlled_default", "openState", "setOpenState", "inputRef", "displayRef", "displayNode", "setDisplayNode", "isOpenControlled", "menuMinWidthState", "setMenuMinWidthState", "handleRef", "useForkRef_default", "handleDisplayRef", "node", "anchorElement", "label", "ownerDocument_default", "handler", "update", "event", "handleMouseDown", "handleClose", "childrenArray", "handleChange", "child", "childItem", "handleItemClick", "newValue", "itemIndex", "nativeEvent", "clonedEvent", "handleKeyDown", "handleBlur", "displaySingle", "displayMultiple", "computeDisplay", "foundMatch", "isFilled", "items", "selected", "formatMuiErrorMessage", "v", "output", "index", "menuMinWidth", "tabIndex", "buttonId", "paperProps", "listboxId", "useId", "_jsxs", "_jsx", "clsx_default", "Menu_default", "SelectInput_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "styledRootConfig", "props", "styles", "prop", "rootShouldForwardProp_default", "StyledInput", "styled_default", "Input_default", "StyledOutlinedInput", "OutlinedInput_default", "StyledFilledInput", "FilledInput_default", "Select", "inProps", "ref", "useDefaultProps", "autoWidth", "children", "classesProp", "className", "defaultOpen", "displayEmpty", "IconComponent", "ArrowDropDown_default", "id", "input", "inputProps", "label", "labelId", "MenuProps", "multiple", "native", "onClose", "onOpen", "open", "renderValue", "SelectDisplayProps", "variantProp", "other", "inputComponent", "NativeSelectInput_default", "SelectInput_default", "muiFormControl", "useFormControl", "fcs", "formControlState", "variant", "root", "restOfClasses", "InputComponent", "_jsx", "inputComponentRef", "useForkRef_default", "getReactElementRef", "deepmerge", "clsx_default", "Select_default", "React", "React", "useSnackbar", "parameters", "autoHideDuration", "disableWindowBlurListener", "onClose", "open", "resumeHideDuration", "timerAutoHide", "useTimeout", "handleKeyDown", "nativeEvent", "handleClose", "useEventCallback_default", "event", "reason", "setAutoHideTimer", "autoHideDurationParam", "handleClickAway", "handlePause", "handleResume", "createHandleBlur", "otherHandlers", "onBlurCallback", "createHandleFocus", "onFocusCallback", "createMouseEnter", "onMouseEnterCallback", "createMouseLeave", "onMouseLeaveCallback", "externalProps", "externalEventHandlers", "extractEventHandlers_default", "useSnackbar_default", "React", "getSnackbarContentUtilityClass", "slot", "generateUtilityClass", "snackbarContentClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "composeClasses", "getSnackbarContentUtilityClass", "SnackbarContentRoot", "styled_default", "Paper_default", "props", "styles", "memoTheme_default", "theme", "emphasis", "backgroundColor", "emphasize", "SnackbarContentMessage", "SnackbarContentAction", "SnackbarContent", "inProps", "ref", "useDefaultProps", "action", "className", "message", "role", "other", "_jsxs", "clsx_default", "_jsx", "SnackbarContent_default", "getSnackbarUtilityClass", "slot", "generateUtilityClass", "snackbarClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "anchorOrigin", "slots", "capitalize_default", "composeClasses", "getSnackbarUtilityClass", "SnackbarRoot", "styled_default", "props", "styles", "memoTheme_default", "theme", "Snackbar", "inProps", "ref", "useDefaultProps", "useTheme", "defaultTransitionDuration", "action", "vertical", "horizontal", "autoHideDuration", "children", "className", "ClickAwayListenerProps", "ContentProps", "disableWindowBlurListener", "message", "onBlur", "onClose", "onFocus", "onMouseEnter", "onMouseLeave", "open", "resumeHideDuration", "TransitionComponent", "Grow_default", "transitionDuration", "onEnter", "onExited", "TransitionProps", "other", "getRootProps", "onClickAway", "useSnackbar_default", "exited", "setExited", "rootProps", "useSlotProps_default", "handleExited", "node", "handleEnter", "isAppearing", "_jsx", "ClickAwayListener", "SnackbarContent_default", "Snackbar_default", "React", "getTooltipUtilityClass", "slot", "generateUtilityClass", "tooltipClasses", "generateUtilityClasses", "tooltipClasses_default", "import_jsx_runtime", "round", "value", "useUtilityClasses", "ownerState", "classes", "disableInteractive", "arrow", "touch", "placement", "slots", "capitalize_default", "composeClasses", "getTooltipUtilityClass", "TooltipPopper", "styled_default", "Popper_default", "props", "styles", "memoTheme_default", "theme", "open", "tooltipClasses_default", "TooltipTooltip", "alpha", "TooltipArrow", "hystersisOpen", "hystersisTimer", "Timeout", "cursorPosition", "composeEventHandler", "handler", "eventHandler", "event", "params", "Tooltip", "inProps", "ref", "_a", "_b", "_c", "props", "useDefaultProps", "arrow", "childrenProp", "classesProp", "components", "componentsProps", "describeChild", "disableFocusListener", "disableHoverListener", "disableInteractiveProp", "disableTouchListener", "enterDelay", "enterNextDelay", "enterTouchDelay", "followCursor", "idProp", "leaveDelay", "leaveTouchDelay", "onClose", "onOpen", "openProp", "placement", "PopperComponentProp", "PopperProps", "slotProps", "slots", "title", "TransitionComponentProp", "TransitionProps", "other", "children", "_jsx", "theme", "useTheme", "isRtl", "useRtl", "childNode", "setChildNode", "arrowRef", "setArrowRef", "ignoreNonTouchEvents", "disableInteractive", "closeTimer", "useTimeout", "enterTimer", "leaveTimer", "touchTimer", "openState", "setOpenState", "useControlled_default", "open", "id", "useId_default", "prevUserSelect", "stopTouchInteraction", "useEventCallback_default", "handleOpen", "hystersisTimer", "hystersisOpen", "handleClose", "handleMouseOver", "handleMouseLeave", "setChildIsFocusVisible", "handleBlur", "isFocusVisible", "handleFocus", "detectTouchStart", "childrenProps", "handleTouchStart", "handleTouchEnd", "handleKeyDown", "nativeEvent", "handleRef", "useForkRef_default", "getReactElementRef", "popperRef", "handleMouseMove", "cursorPosition", "nameOrDescProps", "titleIsString", "clsx_default", "interactiveWrapperListeners", "ownerState", "resolvedPopperProps", "popperOptions", "tooltipModifiers", "classes", "useUtilityClasses", "resolvedTransitionProps", "externalForwardedProps", "PopperSlot", "popperSlotProps", "useSlot", "TooltipPopper", "TransitionSlot", "transitionSlotProps", "Grow_default", "TooltipSlot", "tooltipSlotProps", "TooltipTooltip", "ArrowSlot", "arrowSlotProps", "TooltipArrow", "_jsxs", "Popper_default", "TransitionPropsInner", "Tooltip_default", "React", "getSwitchUtilityClass", "slot", "generateUtilityClass", "switchClasses", "generateUtilityClasses", "switchClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "edge", "size", "color", "checked", "disabled", "slots", "capitalize_default", "composedClasses", "composeClasses", "getSwitchUtilityClass", "SwitchRoot", "styled_default", "props", "styles", "switchClasses_default", "SwitchSwitchBase", "SwitchBase_default", "memoTheme_default", "theme", "alpha", "createSimplePaletteValueFilter", "lighten", "darken", "SwitchTrack", "SwitchThumb", "Switch", "inProps", "ref", "useDefaultProps", "className", "sx", "other", "icon", "_jsx", "_jsxs", "clsx_default", "Switch_default", "React", "getTabUtilityClass", "slot", "generateUtilityClass", "tabClasses", "generateUtilityClasses", "tabClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "textColor", "fullWidth", "wrapped", "icon", "label", "selected", "disabled", "slots", "capitalize_default", "composeClasses", "getTabUtilityClass", "TabRoot", "styled_default", "ButtonBase_default", "props", "styles", "tabClasses_default", "memoTheme_default", "theme", "iconPosition", "Tab", "inProps", "ref", "useDefaultProps", "className", "disableFocusRipple", "iconProp", "indicator", "onChange", "onClick", "onFocus", "selectionFollowsFocus", "value", "other", "clsx_default", "handleClick", "event", "handleFocus", "_jsxs", "Tab_default", "React", "getToolbarUtilityClass", "slot", "generateUtilityClass", "toolbarClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "disableGutters", "variant", "composeClasses", "getToolbarUtilityClass", "ToolbarRoot", "styled_default", "props", "styles", "memoTheme_default", "theme", "Toolbar", "inProps", "ref", "useDefaultProps", "className", "component", "other", "_jsx", "clsx_default", "Toolbar_default", "React", "import_jsx_runtime", "KeyboardArrowLeft_default", "createSvgIcon", "_jsx", "React", "import_jsx_runtime", "KeyboardArrowRight_default", "createSvgIcon", "_jsx", "React", "import_react_is", "easeInOutSin", "time", "animate", "property", "element", "to", "options", "cb", "ease", "duration", "start", "from", "cancelled", "cancel", "step", "timestamp", "React", "import_jsx_runtime", "styles", "ScrollbarSize", "props", "onChange", "other", "scrollbarHeight", "nodeRef", "setMeasurements", "useEnhancedEffect_default", "handleResize", "debounce_default", "prevHeight", "containerWindow", "ownerWindow_default", "_jsx", "React", "getTabScrollButtonUtilityClass", "slot", "generateUtilityClass", "tabScrollButtonClasses", "generateUtilityClasses", "tabScrollButtonClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "orientation", "disabled", "composeClasses", "getTabScrollButtonUtilityClass", "TabScrollButtonRoot", "styled_default", "ButtonBase_default", "props", "styles", "tabScrollButtonClasses_default", "TabScrollButton", "inProps", "ref", "_a", "_b", "useDefaultProps", "className", "slots", "slotProps", "direction", "other", "isRtl", "useRtl", "StartButtonIcon", "KeyboardArrowLeft_default", "EndButtonIcon", "KeyboardArrowRight_default", "startButtonIconProps", "useSlotProps_default", "endButtonIconProps", "_jsx", "clsx_default", "TabScrollButton_default", "getTabsUtilityClass", "slot", "generateUtilityClass", "tabsClasses", "generateUtilityClasses", "tabsClasses_default", "import_jsx_runtime", "nextItem", "list", "item", "previousItem", "moveFocus", "currentFocus", "traversalFunction", "wrappedOnce", "nextFocus", "nextFocusDisabled", "useUtilityClasses", "ownerState", "vertical", "fixed", "hideScrollbar", "scrollableX", "scrollableY", "centered", "scrollButtonsHideMobile", "classes", "composeClasses", "getTabsUtilityClass", "TabsRoot", "styled_default", "props", "styles", "tabsClasses_default", "memoTheme_default", "theme", "TabsScroller", "FlexContainer", "TabsIndicator", "TabsScrollbarSize", "ScrollbarSize", "defaultIndicatorStyle", "Tabs", "inProps", "ref", "props", "useDefaultProps", "theme", "useTheme", "isRtl", "useRtl", "ariaLabel", "ariaLabelledBy", "action", "centered", "childrenProp", "className", "component", "allowScrollButtonsMobile", "indicatorColor", "onChange", "orientation", "ScrollButtonComponent", "TabScrollButton_default", "scrollButtons", "selectionFollowsFocus", "slots", "slotProps", "TabIndicatorProps", "TabScrollButtonProps", "textColor", "value", "variant", "visibleScrollbar", "other", "scrollable", "vertical", "scrollStart", "start", "end", "clientSize", "size", "ownerState", "classes", "useUtilityClasses", "startScrollButtonIconProps", "useSlotProps_default", "endScrollButtonIconProps", "mounted", "setMounted", "indicatorStyle", "setIndicatorStyle", "defaultIndicatorStyle", "displayStartScroll", "setDisplayStartScroll", "displayEndScroll", "setDisplayEndScroll", "updateScrollObserver", "setUpdateScrollObserver", "scrollerStyle", "setScrollerStyle", "valueToIndex", "tabsRef", "tabListRef", "getTabsMeta", "tabsNode", "tabsMeta", "rect", "tabMeta", "children", "tab", "updateIndicatorState", "useEventCallback_default", "startValue", "startIndicator", "newIndicatorStyle", "dStart", "dSize", "scroll", "scrollValue", "animation", "animate", "moveTabsScroll", "delta", "getScrollSize", "containerSize", "totalSize", "i", "handleStartScrollClick", "handleEndScrollClick", "handleScrollbarSizeChange", "scrollbarWidth", "getConditionalElements", "conditionalElements", "_jsx", "TabsScrollbarSize", "clsx_default", "showScrollButtons", "scrollSelectedIntoView", "nextScrollStart", "updateScrollButtonState", "handleResize", "debounce_default", "resizeObserver", "handleMutation", "records", "record", "item", "win", "ownerWindow_default", "mutationObserver", "child", "tabListChildren", "length", "firstTab", "lastTab", "observerOptions", "handleScrollButtonStart", "entries", "firstObserver", "handleScrollButtonEnd", "lastObserver", "indicator", "TabsIndicator", "childIndex", "childValue", "selected", "handleKeyDown", "event", "list", "currentFocus", "ownerDocument_default", "previousItemKey", "nextItemKey", "moveFocus", "previousItem", "nextItem", "_jsxs", "TabsRoot", "TabsScroller", "FlexContainer", "Tabs_default", "React", "getTextFieldUtilityClass", "slot", "generateUtilityClass", "textFieldClasses", "generateUtilityClasses", "import_jsx_runtime", "variantComponent", "Input_default", "FilledInput_default", "OutlinedInput_default", "useUtilityClasses", "ownerState", "classes", "composeClasses", "getTextFieldUtilityClass", "TextFieldRoot", "styled_default", "FormControl_default", "props", "styles", "TextField", "inProps", "ref", "useDefaultProps", "autoComplete", "autoFocus", "children", "className", "color", "defaultValue", "disabled", "error", "FormHelperTextPropsProp", "fullWidth", "helperText", "idOverride", "InputLabelPropsProp", "inputPropsProp", "InputPropsProp", "inputRef", "label", "maxRows", "minRows", "multiline", "name", "onBlur", "onChange", "onFocus", "placeholder", "required", "rows", "select", "SelectPropsProp", "slots", "slotProps", "type", "value", "variant", "other", "id", "useId", "helperTextId", "inputLabelId", "InputComponent", "externalForwardedProps", "inputAdditionalProps", "inputLabelSlotProps", "InputSlot", "inputProps", "useSlot", "InputLabelSlot", "inputLabelProps", "InputLabel_default", "HtmlInputSlot", "htmlInputProps", "FormHelperTextSlot", "formHelperTextProps", "FormHelperText_default", "SelectSlot", "selectProps", "Select_default", "InputElement", "_jsx", "_jsxs", "clsx_default", "TextField_default", "import_jsx_runtime", "Add_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "ArrowBack_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "ArrowRight_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "AudioFile_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "BedroomParent_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Bookmark_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "BookmarkBorder_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "BorderColor_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Brightness6_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Build_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "CalendarToday_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Cancel_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Check_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Close_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Code_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Construction_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "ContentCopy_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "CreateNewFolder_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "DataObject_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Delete_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Description_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Edit_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Error_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "FindInPage_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "FolderOpen_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "FolderSpecial_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "FontDownload_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "FormatItalic_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Help_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Image_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Info_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "InsertDriveFile_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "KeyboardReturn_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Link_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "List_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "ListAlt_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "LooksOne_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "MusicNote_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "PersonOutlined_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Publish_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Refresh_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Router_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Save_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "SaveAlt_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Settings_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "SettingsApplications_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "ShowChart_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "SupervisedUserCircle_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "TextFields_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "VerticalAlignBottom_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "VerticalAlignTop_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Videocam_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "ViewColumn_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "ViewModule_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Wifi_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "WifiOff_default", "createSvgIcon", "_jsx", "printPrompt", "import_react", "loaderStyles", "Loader", "props", "style", "size", "theme", "React", "import_react", "Router", "_Router", "props", "__publicField", "hash", "parts", "item", "e", "tab", "dialog", "id", "arg", "location", "import_react", "deselectCurrent", "selection", "active", "ranges", "i", "range", "clipboardToIE11Formatting", "defaultMessage", "format", "message", "copyKey", "copy", "text", "options", "reselectPrevious", "mark", "success", "debug", "e", "_a", "_b", "_c", "_d", "_format", "err", "error", "_I18n", "lang", "words", "wordsWithPrefix", "prefix", "key", "_lang", "_words", "wordsOfOneLanguage", "word", "wordsOfOneLang", "_word", "languageDictionary", "e", "translations", "args", "translation", "w", "wordEn", "arg", "filter", "result", "disable", "__publicField", "I18n", "NAMESPACE", "days", "months", "QUALITY_BITS", "SIGNATURES", "_Utils", "name", "item", "word", "seconds", "days_", "hours", "minutes", "secondsStr", "text", "I18n", "objects", "id", "settings", "options", "isDesc", "_a", "textObj", "pos", "obj", "noTrim", "_b", "desc", "forEnumId", "common", "user", "list", "source", "dest", "result", "removed", "defaultEnabling", "s", "style", "React", "icon", "parts", "color", "defaultValue", "r", "g", "b", "rgb", "secs", "angle", "num", "format", "now", "m", "year", "y", "day", "mm", "date", "key", "start", "href", "target", "rel", "title", "states", "instanceId", "noCommon", "custom", "newSmartName", "byON", "smartType", "language", "nnn", "_smartName", "smartName", "empty", "e", "copy", "fileName", "bytes", "units", "u", "themeType", "invert", "invertedColor", "hex", "bw", "alfa", "rs", "gs", "bd", "x", "z", "color1", "color2", "rgb1", "rgb2", "lab1", "lab2", "dltL", "dltA", "dltB", "c1", "c2", "dltC", "dltH", "sc", "sh", "dltLKlsl", "dltCkcsc", "dltHkhsh", "i", "mix", "str", "k", "inputs", "tmp", "themeName", "vendorPrefix", "themes", "newTheme", "query", "part", "attr", "value", "f", "p", "dateObj", "dateFormat", "dd", "d", "h", "url", "header", "body", "lines", "attrs", "line", "pos_", "doc", "json", "el", "quality", "object", "blob", "resolve", "reader", "base64", "signature", "activeRepo", "theme", "args", "attr1", "__publicField", "Utils", "import_react", "styles", "SaveCloseButtons", "React", "props", "__publicField", "newReact", "e", "noTextOnButtons", "buttonStyle", "style", "Toolbar_default", "Fab_default", "Save_default", "I18n", "Close_default", "import_react", "styles", "DialogConfirm", "props", "suppress", "React", "Dialog_default", "event", "reason", "DialogTitle_default", "I18n", "DialogContent_default", "DialogContentText_default", "FormControlLabel_default", "Checkbox_default", "DialogActions_default", "Button_default", "Check_default", "Close_default", "import_react", "DialogError", "React", "Dialog_default", "DialogTitle_default", "I18n", "DialogContent_default", "DialogContentText_default", "DialogActions_default", "Button_default", "Check_default", "en_default", "de_default", "ru_default", "pt_default", "nl_default", "fr_default", "it_default", "es_default", "pl_default", "uk_default", "zh_cn_default", "dictionary", "en_default", "de_default", "ru_default", "pt_default", "nl_default", "fr_default", "it_default", "es_default", "pl_default", "uk_default", "zh_cn_default", "cssStyle", "GenericApp", "_GenericApp", "Router", "props", "settings", "_a", "_b", "ConnectionClass", "Connection", "style", "io", "e", "__publicField", "id", "obj", "I18n", "message", "newThemeName", "Utils", "newTheme", "printPrompt", "query", "args", "t", "b", "parts", "tmp", "location", "themeInstance", "translations", "dictionary", "lang", "progress", "PROGRESS", "waitPromise", "instanceObj", "sentryEnabled", "init", "dedupeIntegration", "uuidObj", "getCurrentScope", "err", "type", "React", "Snackbar_default", "_e", "reason", "SIZES", "width", "key", "name", "Theme", "currentTheme", "_newThemeName", "_expertMode", "themeName", "value", "result", "i", "tab", "index", "attr", "encryptedNative", "instances", "instance", "host", "ips", "ip4", "ip", "ip6", "isClose", "oldObj", "_oldObj", "a", "IconButton_default", "Close_default", "DialogError", "native", "isChanged", "newNative", "errorText", "SaveCloseButtons", "DialogConfirm", "isYes", "attrs", "cb", "changed", "text", "toast", "Loader", "import_react", "import_react", "import_reactcss", "import_react", "import_reactcss", "calculateChange", "e", "hsl", "direction", "initialA", "container", "containerWidth", "containerHeight", "x", "y", "left", "top", "a", "_a", "import_react", "import_reactcss", "checkboardCache", "render", "c1", "c2", "size", "serverCanvas", "canvas", "ctx", "get", "key", "checkboard", "_extends", "target", "i", "source", "key", "Checkboard", "_ref", "white", "grey", "size", "renderers", "borderRadius", "boxShadow", "children", "styles", "reactCSS", "get", "React", "Checkboard_default", "_extends", "target", "i", "source", "key", "_createClass", "defineProperties", "props", "descriptor", "Constructor", "protoProps", "staticProps", "_classCallCheck", "instance", "_possibleConstructorReturn", "self", "call", "_inherits", "subClass", "superClass", "Alpha", "_ref", "_ref2", "_temp", "_this", "_ret", "_len", "args", "_key", "e", "change", "calculateChange", "_this2", "rgb", "styles", "reactCSS", "React", "Checkboard_default", "container", "Alpha_default", "import_react", "import_reactcss", "_createClass", "defineProperties", "target", "props", "i", "descriptor", "Constructor", "protoProps", "staticProps", "_defineProperty", "obj", "key", "value", "_classCallCheck", "instance", "_possibleConstructorReturn", "self", "call", "_inherits", "subClass", "superClass", "DEFAULT_ARROW_OFFSET", "UP_KEY_CODE", "DOWN_KEY_CODE", "VALID_KEY_CODES", "isValidKeyCode", "keyCode", "getNumberValue", "idCounter", "EditableInput", "_ref", "_this", "e", "offset", "updatedValue", "newValue", "prevProps", "prevState", "onChangeValue", "_this2", "styles", "reactCSS", "React", "input", "EditableInput_default", "import_react", "import_reactcss", "calculateChange", "e", "direction", "hsl", "container", "containerWidth", "containerHeight", "x", "y", "left", "top", "h", "percent", "_h", "_percent", "_createClass", "defineProperties", "target", "props", "i", "descriptor", "Constructor", "protoProps", "staticProps", "_classCallCheck", "instance", "_possibleConstructorReturn", "self", "call", "_inherits", "subClass", "superClass", "Hue", "_ref", "_ref2", "_temp", "_this", "_ret", "_len", "args", "_key", "e", "change", "calculateChange", "_this2", "_props$direction", "direction", "styles", "reactCSS", "React", "container", "Hue_default", "import_react", "import_prop_types", "import_reactcss", "listCacheClear", "listCacheClear_default", "eq", "value", "other", "eq_default", "assocIndexOf", "array", "key", "length", "eq_default", "assocIndexOf_default", "arrayProto", "splice", "listCacheDelete", "key", "data", "index", "assocIndexOf_default", "lastIndex", "listCacheDelete_default", "listCacheGet", "key", "data", "index", "assocIndexOf_default", "listCacheGet_default", "listCacheHas", "key", "assocIndexOf_default", "listCacheHas_default", "listCacheSet", "key", "value", "data", "index", "assocIndexOf_default", "listCacheSet_default", "ListCache", "entries", "index", "length", "entry", "listCacheClear_default", "listCacheDelete_default", "listCacheGet_default", "listCacheHas_default", "listCacheSet_default", "ListCache_default", "stackClear", "ListCache_default", "stackClear_default", "stackDelete", "key", "data", "result", "stackDelete_default", "stackGet", "key", "stackGet_default", "stackHas", "key", "stackHas_default", "freeGlobal", "freeGlobal_default", "freeSelf", "root", "freeGlobal_default", "root_default", "Symbol", "root_default", "Symbol_default", "objectProto", "hasOwnProperty", "nativeObjectToString", "symToStringTag", "Symbol_default", "getRawTag", "value", "isOwn", "tag", "unmasked", "e", "result", "getRawTag_default", "objectProto", "nativeObjectToString", "objectToString", "value", "objectToString_default", "nullTag", "undefinedTag", "symToStringTag", "Symbol_default", "baseGetTag", "value", "getRawTag_default", "objectToString_default", "baseGetTag_default", "isObject", "value", "type", "isObject_default", "asyncTag", "funcTag", "genTag", "proxyTag", "isFunction", "value", "isObject_default", "tag", "baseGetTag_default", "isFunction_default", "coreJsData", "root_default", "coreJsData_default", "maskSrcKey", "uid", "coreJsData_default", "isMasked", "func", "isMasked_default", "funcProto", "funcToString", "toSource", "func", "e", "toSource_default", "reRegExpChar", "reIsHostCtor", "funcProto", "objectProto", "funcToString", "hasOwnProperty", "reIsNative", "baseIsNative", "value", "isObject_default", "isMasked_default", "pattern", "isFunction_default", "toSource_default", "baseIsNative_default", "getValue", "object", "key", "getValue_default", "getNative", "object", "key", "value", "getValue_default", "baseIsNative_default", "getNative_default", "Map", "getNative_default", "root_default", "Map_default", "nativeCreate", "getNative_default", "nativeCreate_default", "hashClear", "nativeCreate_default", "hashClear_default", "hashDelete", "key", "result", "hashDelete_default", "HASH_UNDEFINED", "objectProto", "hasOwnProperty", "hashGet", "key", "data", "nativeCreate_default", "result", "hashGet_default", "objectProto", "hasOwnProperty", "hashHas", "key", "data", "nativeCreate_default", "hashHas_default", "HASH_UNDEFINED", "hashSet", "key", "value", "data", "nativeCreate_default", "hashSet_default", "Hash", "entries", "index", "length", "entry", "hashClear_default", "hashDelete_default", "hashGet_default", "hashHas_default", "hashSet_default", "Hash_default", "mapCacheClear", "Hash_default", "Map_default", "ListCache_default", "mapCacheClear_default", "isKeyable", "value", "type", "isKeyable_default", "getMapData", "map", "key", "data", "isKeyable_default", "getMapData_default", "mapCacheDelete", "key", "result", "getMapData_default", "mapCacheDelete_default", "mapCacheGet", "key", "getMapData_default", "mapCacheGet_default", "mapCacheHas", "key", "getMapData_default", "mapCacheHas_default", "mapCacheSet", "key", "value", "data", "getMapData_default", "size", "mapCacheSet_default", "MapCache", "entries", "index", "length", "entry", "mapCacheClear_default", "mapCacheDelete_default", "mapCacheGet_default", "mapCacheHas_default", "mapCacheSet_default", "MapCache_default", "LARGE_ARRAY_SIZE", "stackSet", "key", "value", "data", "ListCache_default", "pairs", "Map_default", "MapCache_default", "stackSet_default", "Stack", "entries", "data", "ListCache_default", "stackClear_default", "stackDelete_default", "stackGet_default", "stackHas_default", "stackSet_default", "Stack_default", "defineProperty", "func", "getNative_default", "e", "defineProperty_default", "baseAssignValue", "object", "key", "value", "defineProperty_default", "baseAssignValue_default", "assignMergeValue", "object", "key", "value", "eq_default", "baseAssignValue_default", "assignMergeValue_default", "createBaseFor", "fromRight", "object", "iteratee", "keysFunc", "index", "iterable", "props", "length", "key", "createBaseFor_default", "baseFor", "createBaseFor_default", "baseFor_default", "freeExports", "freeModule", "moduleExports", "Buffer", "root_default", "allocUnsafe", "cloneBuffer", "buffer", "isDeep", "length", "result", "cloneBuffer_default", "Uint8Array", "root_default", "Uint8Array_default", "cloneArrayBuffer", "arrayBuffer", "result", "Uint8Array_default", "cloneArrayBuffer_default", "cloneTypedArray", "typedArray", "isDeep", "buffer", "cloneArrayBuffer_default", "cloneTypedArray_default", "copyArray", "source", "array", "index", "length", "copyArray_default", "objectCreate", "baseCreate", "object", "proto", "isObject_default", "result", "baseCreate_default", "overArg", "func", "transform", "arg", "overArg_default", "getPrototype", "overArg_default", "getPrototype_default", "objectProto", "isPrototype", "value", "Ctor", "proto", "isPrototype_default", "initCloneObject", "object", "isPrototype_default", "baseCreate_default", "getPrototype_default", "initCloneObject_default", "isObjectLike", "value", "isObjectLike_default", "argsTag", "baseIsArguments", "value", "isObjectLike_default", "baseGetTag_default", "baseIsArguments_default", "objectProto", "hasOwnProperty", "propertyIsEnumerable", "isArguments", "baseIsArguments_default", "value", "isObjectLike_default", "isArguments_default", "isArray", "isArray_default", "MAX_SAFE_INTEGER", "isLength", "value", "isLength_default", "isArrayLike", "value", "isLength_default", "isFunction_default", "isArrayLike_default", "isArrayLikeObject", "value", "isObjectLike_default", "isArrayLike_default", "isArrayLikeObject_default", "stubFalse", "stubFalse_default", "freeExports", "freeModule", "moduleExports", "Buffer", "root_default", "nativeIsBuffer", "isBuffer", "stubFalse_default", "isBuffer_default", "objectTag", "funcProto", "objectProto", "funcToString", "hasOwnProperty", "objectCtorString", "isPlainObject", "value", "isObjectLike_default", "baseGetTag_default", "proto", "getPrototype_default", "Ctor", "isPlainObject_default", "argsTag", "arrayTag", "boolTag", "dateTag", "errorTag", "funcTag", "mapTag", "numberTag", "objectTag", "regexpTag", "setTag", "stringTag", "weakMapTag", "arrayBufferTag", "dataViewTag", "float32Tag", "float64Tag", "int8Tag", "int16Tag", "int32Tag", "uint8Tag", "uint8ClampedTag", "uint16Tag", "uint32Tag", "typedArrayTags", "baseIsTypedArray", "value", "isObjectLike_default", "isLength_default", "baseGetTag_default", "baseIsTypedArray_default", "baseUnary", "func", "value", "baseUnary_default", "freeExports", "freeModule", "moduleExports", "freeProcess", "freeGlobal_default", "nodeUtil", "types", "e", "nodeUtil_default", "nodeIsTypedArray", "nodeUtil_default", "isTypedArray", "baseUnary_default", "baseIsTypedArray_default", "isTypedArray_default", "safeGet", "object", "key", "safeGet_default", "objectProto", "hasOwnProperty", "assignValue", "object", "key", "value", "objValue", "eq_default", "baseAssignValue_default", "assignValue_default", "copyObject", "source", "props", "object", "customizer", "isNew", "index", "length", "key", "newValue", "baseAssignValue_default", "assignValue_default", "copyObject_default", "baseTimes", "n", "iteratee", "index", "result", "baseTimes_default", "MAX_SAFE_INTEGER", "reIsUint", "isIndex", "value", "length", "type", "isIndex_default", "objectProto", "hasOwnProperty", "arrayLikeKeys", "value", "inherited", "isArr", "isArray_default", "isArg", "isArguments_default", "isBuff", "isBuffer_default", "isType", "isTypedArray_default", "skipIndexes", "result", "baseTimes_default", "length", "key", "isIndex_default", "arrayLikeKeys_default", "nativeKeysIn", "object", "result", "key", "nativeKeysIn_default", "objectProto", "hasOwnProperty", "baseKeysIn", "object", "isObject_default", "nativeKeysIn_default", "isProto", "isPrototype_default", "result", "key", "baseKeysIn_default", "keysIn", "object", "isArrayLike_default", "arrayLikeKeys_default", "baseKeysIn_default", "keysIn_default", "toPlainObject", "value", "copyObject_default", "keysIn_default", "toPlainObject_default", "baseMergeDeep", "object", "source", "key", "srcIndex", "mergeFunc", "customizer", "stack", "objValue", "safeGet_default", "srcValue", "stacked", "assignMergeValue_default", "newValue", "isCommon", "isArr", "isArray_default", "isBuff", "isBuffer_default", "isTyped", "isTypedArray_default", "isArrayLikeObject_default", "copyArray_default", "cloneBuffer_default", "cloneTypedArray_default", "isPlainObject_default", "isArguments_default", "toPlainObject_default", "isObject_default", "isFunction_default", "initCloneObject_default", "baseMergeDeep_default", "baseMerge", "object", "source", "srcIndex", "customizer", "stack", "baseFor_default", "srcValue", "key", "Stack_default", "isObject_default", "baseMergeDeep_default", "newValue", "safeGet_default", "assignMergeValue_default", "keysIn_default", "baseMerge_default", "identity", "value", "identity_default", "apply", "func", "thisArg", "args", "apply_default", "nativeMax", "overRest", "func", "start", "transform", "args", "index", "length", "array", "otherArgs", "apply_default", "overRest_default", "constant", "value", "constant_default", "baseSetToString", "defineProperty_default", "func", "string", "constant_default", "identity_default", "baseSetToString_default", "HOT_COUNT", "HOT_SPAN", "nativeNow", "shortOut", "func", "count", "lastCalled", "stamp", "remaining", "shortOut_default", "setToString", "shortOut_default", "baseSetToString_default", "setToString_default", "baseRest", "func", "start", "setToString_default", "overRest_default", "identity_default", "baseRest_default", "isIterateeCall", "value", "index", "object", "isObject_default", "type", "isArrayLike_default", "isIndex_default", "eq_default", "isIterateeCall_default", "createAssigner", "assigner", "baseRest_default", "object", "sources", "index", "length", "customizer", "guard", "isIterateeCall_default", "source", "createAssigner_default", "merge", "createAssigner_default", "object", "source", "srcIndex", "baseMerge_default", "merge_default", "Raised", "_ref", "zDepth", "radius", "background", "children", "_ref$styles", "passedStyles", "styles", "reactCSS", "merge_default", "React", "PropTypes", "Raised_default", "import_react", "import_reactcss", "now", "root_default", "now_default", "reWhitespace", "trimmedEndIndex", "string", "index", "trimmedEndIndex_default", "reTrimStart", "baseTrim", "string", "trimmedEndIndex_default", "baseTrim_default", "symbolTag", "isSymbol", "value", "isObjectLike_default", "baseGetTag_default", "isSymbol_default", "NAN", "reIsBadHex", "reIsBinary", "reIsOctal", "freeParseInt", "toNumber", "value", "isSymbol_default", "isObject_default", "other", "baseTrim_default", "isBinary", "toNumber_default", "FUNC_ERROR_TEXT", "nativeMax", "nativeMin", "debounce", "func", "wait", "options", "lastArgs", "lastThis", "maxWait", "result", "timerId", "lastCallTime", "lastInvokeTime", "leading", "maxing", "trailing", "toNumber_default", "isObject_default", "invokeFunc", "time", "args", "thisArg", "leadingEdge", "timerExpired", "remainingWait", "timeSinceLastCall", "timeSinceLastInvoke", "timeWaiting", "shouldInvoke", "now_default", "trailingEdge", "cancel", "flush", "debounced", "isInvoking", "debounce_default", "FUNC_ERROR_TEXT", "throttle", "func", "wait", "options", "leading", "trailing", "isObject_default", "debounce_default", "throttle_default", "calculateChange", "e", "hsl", "container", "_container$getBoundin", "containerWidth", "containerHeight", "x", "y", "left", "top", "saturation", "bright", "_createClass", "defineProperties", "target", "props", "i", "descriptor", "Constructor", "protoProps", "staticProps", "_classCallCheck", "instance", "_possibleConstructorReturn", "self", "call", "_inherits", "subClass", "superClass", "Saturation", "_ref", "_this", "e", "calculateChange", "renderWindow", "throttle_default", "fn", "data", "container", "_this2", "_ref2", "color", "white", "black", "pointer", "circle", "styles", "reactCSS", "React", "Saturation_default", "import_react", "arrayEach", "array", "iteratee", "index", "length", "arrayEach_default", "nativeKeys", "overArg_default", "nativeKeys_default", "objectProto", "hasOwnProperty", "baseKeys", "object", "isPrototype_default", "nativeKeys_default", "result", "key", "baseKeys_default", "keys", "object", "isArrayLike_default", "arrayLikeKeys_default", "baseKeys_default", "keys_default", "baseForOwn", "object", "iteratee", "baseFor_default", "keys_default", "baseForOwn_default", "createBaseEach", "eachFunc", "fromRight", "collection", "iteratee", "isArrayLike_default", "length", "index", "iterable", "createBaseEach_default", "baseEach", "createBaseEach_default", "baseForOwn_default", "baseEach_default", "castFunction", "value", "identity_default", "castFunction_default", "forEach", "collection", "iteratee", "func", "isArray_default", "arrayEach_default", "baseEach_default", "castFunction_default", "forEach_default", "_typeof", "obj", "trimLeft", "trimRight", "tinycolor", "color", "opts", "rgb", "inputToRGB", "RsRGB", "GsRGB", "BsRGB", "R", "G", "B", "value", "boundAlpha", "hsv", "rgbToHsv", "h", "s", "v", "hsl", "rgbToHsl", "l", "allow3Char", "rgbToHex", "allow4Char", "rgbaToHex", "bound01", "hexNames", "secondColor", "hex8String", "rgbaToArgbHex", "secondHex8String", "gradientType", "format", "formatSet", "formattedString", "hasAlpha", "needsAlphaFormat", "fn", "args", "_lighten", "_brighten", "_darken", "_desaturate", "_saturate", "_greyscale", "_spin", "_analogous", "_complement", "_monochromatic", "_splitcomplement", "polyad", "newColor", "i", "convertToPercentage", "a", "ok", "stringInputToObject", "isValidCSSUnit", "rgbToRgb", "hsvToRgb", "hslToRgb", "r", "g", "b", "max", "min", "d", "hue2rgb", "p", "q", "t", "f", "mod", "hex", "pad2", "convertDecimalToHex", "color1", "color2", "amount", "clamp01", "hue", "number", "result", "step", "results", "slices", "part", "ret", "modification", "rgb1", "rgb2", "rgba", "c1", "c2", "wcag2", "readability", "wcag2Parms", "out", "validateWCAG2Parms", "baseColor", "colorList", "bestColor", "bestScore", "includeFallbackColors", "level", "size", "names", "flip", "o", "flipped", "n", "isOnePointZero", "processPercent", "isPercentage", "val", "parseIntFromHex", "c", "convertHexToDecimal", "matchers", "CSS_INTEGER", "CSS_NUMBER", "CSS_UNIT", "PERMISSIVE_MATCH3", "PERMISSIVE_MATCH4", "named", "match", "parms", "simpleCheckForValidColor", "data", "keysToCheck", "checked", "passed", "forEach_default", "letter", "percentPatt", "toState", "oldHue", "color", "tinycolor", "hsl", "hsv", "rgb", "hex", "transparent", "isValidHex", "lh", "getContrastingColor", "col", "yiq", "isvalidColorString", "string", "type", "stringWithoutDegree", "tinycolor", "_extends", "target", "i", "source", "key", "_createClass", "defineProperties", "props", "descriptor", "Constructor", "protoProps", "staticProps", "_classCallCheck", "instance", "_possibleConstructorReturn", "self", "call", "_inherits", "subClass", "superClass", "ColorWrap", "Picker", "ColorPicker", "_ref", "_this", "data", "event", "isValidColor", "simpleCheckForValidColor", "colors", "toState", "debounce_default", "fn", "optionalEvents", "React", "nextProps", "state", "ColorWrap_default", "import_react", "import_reactcss", "import_react", "_extends", "target", "i", "source", "key", "_createClass", "defineProperties", "props", "descriptor", "Constructor", "protoProps", "staticProps", "_classCallCheck", "instance", "_possibleConstructorReturn", "self", "call", "_inherits", "subClass", "superClass", "handleFocus", "Component", "Span", "_React$Component", "Focus", "_ref", "_temp", "_this", "_ret", "_len", "args", "_key", "React", "_extends", "target", "i", "source", "key", "ENTER", "Swatch", "_ref", "color", "style", "_ref$onClick", "onClick", "onHover", "_ref$title", "title", "children", "focus", "_ref$focusStyle", "focusStyle", "transparent", "styles", "reactCSS", "handleClick", "e", "handleKeyDown", "handleHover", "optionalEvents", "React", "Checkboard_default", "Swatch_default", "handleFocus", "import_react", "import_reactcss", "AlphaPointer", "_ref", "direction", "styles", "reactCSS", "React", "AlphaPointer_default", "_extends", "target", "i", "source", "key", "AlphaPicker", "_ref", "rgb", "hsl", "width", "height", "onChange", "direction", "style", "renderers", "pointer", "_ref$className", "className", "styles", "reactCSS", "React", "Alpha_default", "AlphaPointer_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "import_react", "import_reactcss", "arrayMap", "array", "iteratee", "index", "length", "result", "arrayMap_default", "HASH_UNDEFINED", "setCacheAdd", "value", "setCacheAdd_default", "setCacheHas", "value", "setCacheHas_default", "SetCache", "values", "index", "length", "MapCache_default", "setCacheAdd_default", "setCacheHas_default", "SetCache_default", "arraySome", "array", "predicate", "index", "length", "arraySome_default", "cacheHas", "cache", "key", "cacheHas_default", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "equalArrays", "array", "other", "bitmask", "customizer", "equalFunc", "stack", "isPartial", "arrLength", "othLength", "arrStacked", "othStacked", "index", "result", "seen", "SetCache_default", "arrValue", "othValue", "compared", "arraySome_default", "othIndex", "cacheHas_default", "equalArrays_default", "mapToArray", "map", "index", "result", "value", "key", "mapToArray_default", "setToArray", "set", "index", "result", "value", "setToArray_default", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "boolTag", "dateTag", "errorTag", "mapTag", "numberTag", "regexpTag", "setTag", "stringTag", "symbolTag", "arrayBufferTag", "dataViewTag", "symbolProto", "Symbol_default", "symbolValueOf", "equalByTag", "object", "other", "tag", "bitmask", "customizer", "equalFunc", "stack", "Uint8Array_default", "eq_default", "convert", "mapToArray_default", "isPartial", "setToArray_default", "stacked", "result", "equalArrays_default", "equalByTag_default", "arrayPush", "array", "values", "index", "length", "offset", "arrayPush_default", "baseGetAllKeys", "object", "keysFunc", "symbolsFunc", "result", "isArray_default", "arrayPush_default", "baseGetAllKeys_default", "arrayFilter", "array", "predicate", "index", "length", "resIndex", "result", "value", "arrayFilter_default", "stubArray", "stubArray_default", "objectProto", "propertyIsEnumerable", "nativeGetSymbols", "getSymbols", "object", "arrayFilter_default", "symbol", "stubArray_default", "getSymbols_default", "getAllKeys", "object", "baseGetAllKeys_default", "keys_default", "getSymbols_default", "getAllKeys_default", "COMPARE_PARTIAL_FLAG", "objectProto", "hasOwnProperty", "equalObjects", "object", "other", "bitmask", "customizer", "equalFunc", "stack", "isPartial", "objProps", "getAllKeys_default", "objLength", "othProps", "othLength", "index", "key", "objStacked", "othStacked", "result", "skipCtor", "objValue", "othValue", "compared", "objCtor", "othCtor", "equalObjects_default", "DataView", "getNative_default", "root_default", "DataView_default", "Promise", "getNative_default", "root_default", "Promise_default", "Set", "getNative_default", "root_default", "Set_default", "WeakMap", "getNative_default", "root_default", "WeakMap_default", "mapTag", "objectTag", "promiseTag", "setTag", "weakMapTag", "dataViewTag", "dataViewCtorString", "toSource_default", "DataView_default", "mapCtorString", "Map_default", "promiseCtorString", "Promise_default", "setCtorString", "Set_default", "weakMapCtorString", "WeakMap_default", "getTag", "baseGetTag_default", "value", "result", "Ctor", "ctorString", "getTag_default", "COMPARE_PARTIAL_FLAG", "argsTag", "arrayTag", "objectTag", "objectProto", "hasOwnProperty", "baseIsEqualDeep", "object", "other", "bitmask", "customizer", "equalFunc", "stack", "objIsArr", "isArray_default", "othIsArr", "objTag", "getTag_default", "othTag", "objIsObj", "othIsObj", "isSameTag", "isBuffer_default", "Stack_default", "isTypedArray_default", "equalArrays_default", "equalByTag_default", "objIsWrapped", "othIsWrapped", "objUnwrapped", "othUnwrapped", "equalObjects_default", "baseIsEqualDeep_default", "baseIsEqual", "value", "other", "bitmask", "customizer", "stack", "isObjectLike_default", "baseIsEqualDeep_default", "baseIsEqual_default", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "baseIsMatch", "object", "source", "matchData", "customizer", "index", "length", "noCustomizer", "data", "key", "objValue", "srcValue", "stack", "Stack_default", "result", "baseIsEqual_default", "baseIsMatch_default", "isStrictComparable", "value", "isObject_default", "isStrictComparable_default", "getMatchData", "object", "result", "keys_default", "length", "key", "value", "isStrictComparable_default", "getMatchData_default", "matchesStrictComparable", "key", "srcValue", "object", "matchesStrictComparable_default", "baseMatches", "source", "matchData", "getMatchData_default", "matchesStrictComparable_default", "object", "baseIsMatch_default", "baseMatches_default", "reIsDeepProp", "reIsPlainProp", "isKey", "value", "object", "isArray_default", "type", "isSymbol_default", "isKey_default", "FUNC_ERROR_TEXT", "memoize", "func", "resolver", "memoized", "args", "key", "cache", "result", "MapCache_default", "memoize_default", "MAX_MEMOIZE_SIZE", "memoizeCapped", "func", "result", "memoize_default", "key", "cache", "memoizeCapped_default", "rePropName", "reEscapeChar", "stringToPath", "memoizeCapped_default", "string", "result", "match", "number", "quote", "subString", "stringToPath_default", "INFINITY", "symbolProto", "Symbol_default", "symbolToString", "baseToString", "value", "isArray_default", "arrayMap_default", "isSymbol_default", "result", "baseToString_default", "toString", "value", "baseToString_default", "toString_default", "castPath", "value", "object", "isArray_default", "isKey_default", "stringToPath_default", "toString_default", "castPath_default", "INFINITY", "toKey", "value", "isSymbol_default", "result", "toKey_default", "baseGet", "object", "path", "castPath_default", "index", "length", "toKey_default", "baseGet_default", "get", "object", "path", "defaultValue", "result", "baseGet_default", "get_default", "baseHasIn", "object", "key", "baseHasIn_default", "hasPath", "object", "path", "hasFunc", "castPath_default", "index", "length", "result", "key", "toKey_default", "isLength_default", "isIndex_default", "isArray_default", "isArguments_default", "hasPath_default", "hasIn", "object", "path", "hasPath_default", "baseHasIn_default", "hasIn_default", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "baseMatchesProperty", "path", "srcValue", "isKey_default", "isStrictComparable_default", "matchesStrictComparable_default", "toKey_default", "object", "objValue", "get_default", "hasIn_default", "baseIsEqual_default", "baseMatchesProperty_default", "baseProperty", "key", "object", "baseProperty_default", "basePropertyDeep", "path", "object", "baseGet_default", "basePropertyDeep_default", "property", "path", "isKey_default", "baseProperty_default", "toKey_default", "basePropertyDeep_default", "property_default", "baseIteratee", "value", "identity_default", "isArray_default", "baseMatchesProperty_default", "baseMatches_default", "property_default", "baseIteratee_default", "baseMap", "collection", "iteratee", "index", "result", "isArrayLike_default", "baseEach_default", "value", "key", "baseMap_default", "map", "collection", "iteratee", "func", "isArray_default", "arrayMap_default", "baseMap_default", "baseIteratee_default", "map_default", "BlockSwatches", "_ref", "colors", "onClick", "onSwatchHover", "styles", "reactCSS", "React", "map_default", "c", "Swatch_default", "BlockSwatches_default", "Block", "_ref", "onChange", "onSwatchHover", "hex", "colors", "width", "triangle", "_ref$styles", "passedStyles", "_ref$className", "className", "transparent", "handleChange", "hexCode", "e", "isValidHex", "styles", "reactCSS", "merge_default", "getContrastingColor", "React", "Checkboard_default", "BlockSwatches_default", "EditableInput_default", "PropTypes", "Block_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "red", "pink", "purple", "deepPurple", "indigo", "blue", "lightBlue", "cyan", "teal", "green", "lightGreen", "lime", "yellow", "amber", "orange", "deepOrange", "brown", "blueGrey", "import_react", "import_reactcss", "CircleSwatch", "_ref", "color", "onClick", "onSwatchHover", "hover", "active", "circleSize", "circleSpacing", "styles", "reactCSS", "React", "Swatch_default", "CircleSwatch_default", "Circle", "_ref", "width", "onChange", "onSwatchHover", "colors", "hex", "circleSize", "_ref$styles", "passedStyles", "circleSpacing", "_ref$className", "className", "styles", "reactCSS", "merge_default", "handleChange", "hexCode", "e", "React", "map_default", "c", "CircleSwatch_default", "PropTypes", "red", "pink", "purple", "deepPurple", "indigo", "blue", "lightBlue", "cyan", "teal", "green", "lightGreen", "lime", "yellow", "amber", "orange", "deepOrange", "brown", "blueGrey", "Circle_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "import_react", "import_reactcss", "isUndefined", "value", "isUndefined_default", "import_UnfoldMoreHorizontalIcon", "_createClass", "defineProperties", "target", "props", "i", "descriptor", "Constructor", "protoProps", "staticProps", "_classCallCheck", "instance", "_possibleConstructorReturn", "self", "call", "_inherits", "subClass", "superClass", "ChromeFields", "_React$Component", "_this", "data", "e", "isValidHex", "isUndefined_default", "_this2", "styles", "reactCSS", "fields", "React", "EditableInput_default", "icon", "UnfoldMoreHorizontalIcon", "nextProps", "state", "ChromeFields_default", "import_react", "import_reactcss", "ChromePointer", "styles", "reactCSS", "React", "ChromePointer_default", "import_react", "import_reactcss", "ChromePointerCircle", "styles", "reactCSS", "React", "ChromePointerCircle_default", "Chrome", "_ref", "width", "onChange", "disableAlpha", "rgb", "hsl", "hsv", "hex", "renderers", "_ref$styles", "passedStyles", "_ref$className", "className", "defaultView", "styles", "reactCSS", "merge_default", "React", "Saturation_default", "ChromePointerCircle_default", "Checkboard_default", "Hue_default", "ChromePointer_default", "Alpha_default", "ChromeFields_default", "PropTypes", "Chrome_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "import_react", "import_reactcss", "CompactColor", "_ref", "color", "_ref$onClick", "onClick", "onSwatchHover", "active", "styles", "reactCSS", "getContrastingColor", "React", "Swatch_default", "CompactColor_default", "import_react", "import_reactcss", "CompactFields", "_ref", "hex", "rgb", "onChange", "styles", "reactCSS", "handleChange", "data", "e", "React", "EditableInput_default", "CompactFields_default", "Compact", "_ref", "onChange", "onSwatchHover", "colors", "hex", "rgb", "_ref$styles", "passedStyles", "_ref$className", "className", "styles", "reactCSS", "merge_default", "handleChange", "data", "e", "isValidHex", "React", "Raised_default", "map_default", "CompactColor_default", "CompactFields_default", "PropTypes", "Compact_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "import_react", "import_reactcss", "GithubSwatch", "_ref", "hover", "color", "onClick", "onSwatchHover", "hoverSwatch", "styles", "reactCSS", "React", "Swatch_default", "GithubSwatch_default", "Github", "_ref", "width", "colors", "onChange", "onSwatchHover", "triangle", "_ref$styles", "passedStyles", "_ref$className", "className", "styles", "reactCSS", "merge_default", "handleChange", "hex", "e", "React", "map_default", "GithubSwatch_default", "PropTypes", "Github_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "import_react", "import_reactcss", "SliderPointer", "_ref", "direction", "styles", "reactCSS", "React", "HuePointer_default", "_extends", "target", "i", "source", "key", "HuePicker", "_ref", "width", "height", "onChange", "hsl", "direction", "pointer", "_ref$styles", "passedStyles", "_ref$className", "className", "styles", "reactCSS", "merge_default", "handleChange", "data", "React", "Hue_default", "PropTypes", "HuePointer_default", "ColorWrap_default", "import_react", "import_reactcss", "Material", "_ref", "onChange", "hex", "rgb", "_ref$styles", "passedStyles", "_ref$className", "className", "styles", "reactCSS", "merge_default", "handleChange", "data", "e", "isValidHex", "React", "Raised_default", "EditableInput_default", "Material_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "import_react", "import_reactcss", "PhotoshopPicker", "_ref", "onChange", "rgb", "hsv", "hex", "styles", "reactCSS", "handleChange", "data", "e", "isValidHex", "React", "EditableInput_default", "PhotoshopFields_default", "import_react", "import_reactcss", "PhotoshopPointerCircle", "_ref", "hsl", "styles", "reactCSS", "React", "PhotoshopPointerCircle_default", "import_react", "import_reactcss", "PhotoshopPointerCircle", "styles", "reactCSS", "React", "PhotoshopPointer_default", "import_react", "import_reactcss", "PhotoshopButton", "_ref", "onClick", "label", "children", "active", "styles", "reactCSS", "React", "PhotoshopButton_default", "import_react", "import_reactcss", "PhotoshopPreviews", "_ref", "rgb", "currentColor", "styles", "reactCSS", "React", "PhotoshopPreviews_default", "_createClass", "defineProperties", "target", "props", "i", "descriptor", "Constructor", "protoProps", "staticProps", "_classCallCheck", "instance", "_possibleConstructorReturn", "self", "call", "_inherits", "subClass", "superClass", "Photoshop", "_React$Component", "_this", "_props", "_props$styles", "passedStyles", "_props$className", "className", "styles", "reactCSS", "merge_default", "React", "Saturation_default", "PhotoshopPointerCircle_default", "Hue_default", "PhotoshopPointer_default", "PhotoshopPreviews_default", "PhotoshopButton_default", "PhotoshopFields_default", "PropTypes", "Photoshop_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "import_react", "import_reactcss", "SketchFields", "_ref", "onChange", "rgb", "hsl", "hex", "disableAlpha", "styles", "reactCSS", "handleChange", "data", "e", "isValidHex", "React", "EditableInput_default", "SketchFields_default", "import_react", "import_prop_types", "import_reactcss", "_extends", "target", "i", "source", "key", "SketchPresetColors", "_ref", "colors", "_ref$onClick", "onClick", "onSwatchHover", "styles", "reactCSS", "handleClick", "hex", "e", "React", "colorObjOrString", "c", "Swatch_default", "PropTypes", "SketchPresetColors_default", "_extends", "target", "i", "source", "key", "Sketch", "_ref", "width", "rgb", "hex", "hsv", "hsl", "onChange", "onSwatchHover", "disableAlpha", "presetColors", "renderers", "_ref$styles", "passedStyles", "_ref$className", "className", "styles", "reactCSS", "merge_default", "React", "Saturation_default", "Hue_default", "Alpha_default", "Checkboard_default", "SketchFields_default", "SketchPresetColors_default", "PropTypes", "Sketch_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "import_react", "import_reactcss", "import_react", "import_reactcss", "SliderSwatch", "_ref", "hsl", "offset", "_ref$onClick", "onClick", "active", "first", "last", "styles", "reactCSS", "handleClick", "e", "React", "SliderSwatch_default", "SliderSwatches", "_ref", "onClick", "hsl", "styles", "reactCSS", "epsilon", "React", "SliderSwatch_default", "SliderSwatches_default", "import_react", "import_reactcss", "SliderPointer", "styles", "reactCSS", "React", "SliderPointer_default", "Slider", "_ref", "hsl", "onChange", "pointer", "_ref$styles", "passedStyles", "_ref$className", "className", "styles", "reactCSS", "merge_default", "React", "Hue_default", "SliderSwatches_default", "PropTypes", "SliderPointer_default", "Slider_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "import_react", "import_reactcss", "import_react", "import_reactcss", "import_CheckIcon", "SwatchesColor", "_ref", "color", "_ref$onClick", "onClick", "onSwatchHover", "first", "last", "active", "styles", "reactCSS", "getContrastingColor", "React", "Swatch_default", "CheckIcon", "SwatchesColor_default", "SwatchesGroup", "_ref", "onClick", "onSwatchHover", "group", "active", "styles", "reactCSS", "React", "map_default", "color", "i", "SwatchesColor_default", "SwatchesGroup_default", "Swatches", "_ref", "width", "height", "onChange", "onSwatchHover", "colors", "hex", "_ref$styles", "passedStyles", "_ref$className", "className", "styles", "reactCSS", "merge_default", "handleChange", "data", "e", "React", "Raised_default", "map_default", "group", "SwatchesGroup_default", "PropTypes", "red", "pink", "purple", "deepPurple", "indigo", "blue", "lightBlue", "cyan", "teal", "green", "lightGreen", "lime", "yellow", "amber", "orange", "deepOrange", "brown", "blueGrey", "Swatches_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "Twitter", "_ref", "onChange", "onSwatchHover", "hex", "colors", "width", "triangle", "_ref$styles", "passedStyles", "_ref$className", "className", "styles", "reactCSS", "merge_default", "handleChange", "hexcode", "e", "isValidHex", "React", "map_default", "c", "i", "Swatch_default", "EditableInput_default", "PropTypes", "Twitter_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "import_react", "import_reactcss", "import_prop_types", "GooglePointerCircle", "props", "styles", "reactCSS", "React", "PropTypes", "GooglePointerCircle_default", "import_react", "import_reactcss", "import_prop_types", "GooglePointer", "props", "styles", "reactCSS", "React", "PropTypes", "GooglePointer_default", "import_react", "import_reactcss", "GoogleFields", "_ref", "onChange", "rgb", "hsl", "hex", "hsv", "handleChange", "data", "e", "isValidHex", "values", "isvalidColorString", "_values", "_values2", "hsvValue", "styles", "reactCSS", "rgbValue", "hslValue", "React", "EditableInput_default", "GoogleFields_default", "Google", "_ref", "width", "onChange", "rgb", "hsl", "hsv", "hex", "header", "_ref$styles", "passedStyles", "_ref$className", "className", "styles", "reactCSS", "merge_default", "React", "Saturation_default", "GooglePointerCircle_default", "Hue_default", "GooglePointer_default", "GoogleFields_default", "PropTypes", "Google_default", "ColorWrap_default", "import_react", "import_cronstrue", "import_fr", "import_es", "import_de", "import_it", "import_ru", "import_zh_CN", "import_uk", "import_pt_BR", "import_pl", "convertCronToText", "cron", "lang", "cronstrue", "styles", "WEEKDAYS", "MONTHS", "convertMinusIntoArray", "value", "max", "result", "i", "parts", "p", "items", "iMax", "convertArrayIntoMinus", "newParts", "a", "b", "start", "end", "ComplexCron", "_ComplexCron", "props", "cron", "state", "cronParts", "options", "text", "type", "nums", "pos", "values", "React", "Button_default", "I18n", "every", "everyN", "select", "modes", "valueNumber", "Select_default", "e", "num", "MenuItem_default", "TextField_default", "lang", "convertCronToText", "attr", "tab", "everyMinute", "everySecond", "FormControlLabel_default", "Checkbox_default", "AppBar_default", "Tabs_default", "_active", "_tab", "Tab_default", "import_react", "import_react", "import_react", "import_prop_types", "__awaiter", "thisArg", "_arguments", "P", "generator", "adopt", "value", "resolve", "reject", "fulfilled", "step", "e", "rejected", "result", "COMMON_MIME_TYPES", "toFileWithPath", "file", "path", "h", "f", "withMimeType", "webkitRelativePath", "p", "setObjProp", "name", "ext", "type", "key", "value", "FILES_TO_IGNORE", "fromEvent", "evt", "isObject", "isDataTransfer", "getDataTransferFiles", "isChangeEvt", "getInputFiles", "item", "getFsHandleFiles", "value", "v", "fromList", "file", "toFileWithPath", "handles", "h", "dt", "type", "items", "files", "toFilePromises", "noIgnoredFiles", "flatten", "i", "fromDataTransferItem", "entry", "fromDirEntry", "acc", "_a", "fromEntry", "fromFileEntry", "reader", "resolve", "reject", "entries", "readEntries", "batch", "__awaiter", "err", "fwp", "import_attr_accept", "_toConsumableArray", "arr", "_arrayWithoutHoles", "_iterableToArray", "_unsupportedIterableToArray", "_nonIterableSpread", "iter", "_arrayLikeToArray", "ownKeys", "object", "enumerableOnly", "keys", "symbols", "sym", "_objectSpread", "target", "i", "source", "key", "_defineProperty", "obj", "value", "_slicedToArray", "arr", "i", "_arrayWithHoles", "_iterableToArrayLimit", "_unsupportedIterableToArray", "_nonIterableRest", "o", "minLen", "_arrayLikeToArray", "n", "len", "arr2", "_i", "_arr", "_n", "_d", "_s", "_e", "err", "accepts", "_accepts", "FILE_INVALID_TYPE", "FILE_TOO_LARGE", "FILE_TOO_SMALL", "TOO_MANY_FILES", "getInvalidTypeRejectionErr", "accept", "acceptArr", "msg", "FILE_INVALID_TYPE", "getTooLargeRejectionErr", "maxSize", "FILE_TOO_LARGE", "getTooSmallRejectionErr", "minSize", "FILE_TOO_SMALL", "TOO_MANY_FILES_REJECTION", "TOO_MANY_FILES", "fileAccepted", "file", "isAcceptable", "accepts", "fileMatchSize", "isDefined", "value", "allFilesAccepted", "_ref", "files", "multiple", "maxFiles", "validator", "_fileAccepted", "_fileAccepted2", "_slicedToArray", "accepted", "_fileMatchSize", "_fileMatchSize2", "sizeMatch", "customErrors", "isPropagationStopped", "event", "isEvtWithFiles", "type", "onDocumentDragOver", "event", "isIe", "userAgent", "isEdge", "isIeOrEdge", "composeEventHandlers", "_len", "fns", "_key", "_len2", "args", "_key2", "fn", "isPropagationStopped", "canUseFileSystemAccessAPI", "pickerOptionsFromAccept", "accept", "isDefined", "acceptForPicker", "_ref2", "_ref3", "_slicedToArray", "mimeType", "ext", "ok", "isMIMEType", "isExt", "agg", "_ref4", "_ref5", "_objectSpread", "_defineProperty", "acceptPropAsAcceptAttr", "a", "_ref6", "_ref7", "_toConsumableArray", "v", "isAbort", "isSecurityError", "_excluded", "_excluded2", "_excluded3", "_excluded4", "_toConsumableArray", "arr", "_arrayWithoutHoles", "_iterableToArray", "_unsupportedIterableToArray", "_nonIterableSpread", "iter", "_arrayLikeToArray", "_slicedToArray", "i", "_arrayWithHoles", "_iterableToArrayLimit", "_nonIterableRest", "o", "minLen", "n", "len", "arr2", "_i", "_arr", "_n", "_d", "_s", "_e", "err", "ownKeys", "object", "enumerableOnly", "keys", "symbols", "sym", "_objectSpread", "target", "source", "key", "_defineProperty", "obj", "value", "_objectWithoutProperties", "excluded", "_objectWithoutPropertiesLoose", "sourceSymbolKeys", "sourceKeys", "Dropzone", "_ref", "ref", "children", "params", "_useDropzone", "useDropzone", "open", "props", "React", "defaultProps", "fromEvent", "PropTypes", "es_default", "initialState", "_defaultProps$props", "accept", "disabled", "getFilesFromEvent", "maxSize", "minSize", "multiple", "maxFiles", "onDragEnter", "onDragLeave", "onDragOver", "onDrop", "onDropAccepted", "onDropRejected", "onFileDialogCancel", "onFileDialogOpen", "useFsAccessApi", "autoFocus", "preventDropOnDocument", "noClick", "noKeyboard", "noDrag", "noDragEventsBubbling", "onError", "validator", "acceptAttr", "acceptPropAsAcceptAttr", "pickerTypes", "pickerOptionsFromAccept", "onFileDialogOpenCb", "noop", "onFileDialogCancelCb", "rootRef", "inputRef", "_useReducer", "reducer", "_useReducer2", "state", "dispatch", "isFocused", "isFileDialogActive", "fsAccessApiWorksRef", "canUseFileSystemAccessAPI", "onWindowFocus", "files", "dragTargetsRef", "onDocumentDrop", "event", "onDocumentDragOver", "onErrCb", "e", "onDragEnterCb", "stopPropagation", "isEvtWithFiles", "isPropagationStopped", "fileCount", "isDragAccept", "allFilesAccepted", "isDragReject", "onDragOverCb", "hasFiles", "_unused", "onDragLeaveCb", "targets", "targetIdx", "setFiles", "acceptedFiles", "fileRejections", "file", "_fileAccepted", "fileAccepted", "_fileAccepted2", "accepted", "acceptError", "_fileMatchSize", "fileMatchSize", "_fileMatchSize2", "sizeMatch", "sizeError", "customErrors", "errors", "TOO_MANY_FILES_REJECTION", "onDropCb", "openFileDialog", "opts", "handles", "isAbort", "isSecurityError", "onKeyDownCb", "onFocusCb", "onBlurCb", "onClickCb", "isIeOrEdge", "composeHandler", "fn", "composeKeyboardHandler", "composeDragHandler", "getRootProps", "_ref2", "_ref2$refKey", "refKey", "role", "onKeyDown", "onFocus", "onBlur", "onClick", "rest", "composeEventHandlers", "onInputElementClick", "getInputProps", "_ref3", "_ref3$refKey", "onChange", "inputProps", "action", "import_react", "import_react", "useWidth", "theme", "useTheme", "output", "key", "matches", "useMediaQuery_default", "withWidth", "WrappedComponent", "props", "width", "React", "TextInputFunc", "props", "text", "setText", "React", "error", "setError", "Dialog_default", "DialogTitle_default", "DialogContent_default", "DialogContentText_default", "TextField_default", "e", "_error", "DialogActions_default", "Button_default", "Check_default", "I18n", "Close_default", "DialogTextInput", "withWidth", "import_react", "IconExpert", "props", "React", "e", "import_react", "IconClosed", "props", "React", "e", "import_react", "IconOpen", "props", "React", "e", "import_react", "IconNoIcon", "props", "React", "e", "import_react", "import_react", "React", "styleToObject", "input", "acc", "item", "key", "value", "d", "index", "nextKey", "_$0", "$1", "$2", "nextValue", "randomString", "length", "characters", "result", "noTextChildNodes", "possibleStandardNames", "getReactNode", "node", "options", "level", "rest", "parseName", "parseAttributes", "parseChildren", "nodeText", "_b", "_a", "parentNodeName", "reactKey", "attributes", "nodeClassNames", "childNodeList", "children", "convertFromNode", "nodeName", "actions", "randomKey", "action", "convertFromString", "includeAllNodes", "nodeOnly", "selector", "type", "document", "childNodes", "error", "convert", "import_react", "CACHE_NAME", "CACHE_MAX_RETRIES", "STATUS", "canUseDOM", "isSupportedEnvironment", "supportsInlineSVG", "request", "url", "options", "response", "contentType", "fileType", "d", "sleep", "seconds", "resolve", "div", "svg", "randomCharacter", "character", "randomString", "length", "letters", "charset", "R", "index", "omit", "input", "filter", "output", "key", "CacheStore", "__publicField", "cacheName", "usePersistentCache", "_a", "cache", "error", "callback", "fetchOptions", "_b", "data", "content", "_c", "_d", "retryCount", "value", "keys", "usePrevious", "state", "ref", "getNode", "baseURL", "description", "handleError", "hash", "preProcessor", "title", "uniquifyIDs", "svgText", "processSVG", "node", "convert", "updateSVGAttributes", "originalDesc", "descElement", "originalTitle", "titleElement", "replaceableAttributes", "linkAttributes", "isDataValue", "name", "attributes", "a", "attribute", "match", "r", "cacheStore", "ReactInlineSVG", "props", "cacheRequests", "children", "innerRef", "loader", "onError", "onLoad", "src", "uniqueHash", "setState", "previousState", "nextState", "element", "isCached", "status", "previousProps", "useRef", "isActive", "isInitialized", "handleLoad", "loadedContent", "hasCache", "fetchContent", "responseContent", "getElement", "convertedElement", "getContent", "dataURI", "inlineSrc", "cachedContent", "load", "useEffect", "elementProps", "InlineSVG", "hasCallback", "isReady", "setReady", "React", "import_react", "REMOTE_SERVER", "REMOTE_PREFIX", "Icon", "props", "_a", "_b", "_c", "React", "Box_default", "Utils", "InlineSVG", "src", "e", "import_react", "styles", "EXTENSIONS", "bufferToBase64", "buffer", "isFull", "binary", "bytes", "len", "i", "FileViewerClass", "props", "__publicField", "_id", "_fileName", "size", "ext", "Utils", "parts", "adapter", "name", "data", "fileData", "newState", "e", "React", "TextField_default", "IconNoIcon", "Icon", "Dialog_default", "DialogTitle_default", "IconButton_default", "Brightness6_default", "DialogContent_default", "DialogActions_default", "Button_default", "ContentCopy_default", "Save_default", "Close_default", "FileViewer", "withWidth", "ROW_HEIGHT", "BUTTON_WIDTH", "TILE_HEIGHT", "TILE_WIDTH", "NOT_FOUND", "FILE_TYPE_ICONS", "InsertDriveFile_default", "Image_default", "Code_default", "FontDownload_default", "AudioFile_default", "Videocam_default", "styles", "theme", "Utils", "USER_DATA", "getParentDir", "dir", "parts", "isFile", "path", "ext", "TABLE", "TILE", "sortFolders", "a", "b", "FileBrowserClass", "_FileBrowserClass", "props", "__publicField", "id", "fileName", "size", "key", "pos", "folder", "folders", "e", "array", "backgroundImage", "expandedStr", "expanded", "_a", "viewType", "selected", "currentDir", "i", "state", "el", "error", "timer", "foldersList", "newFoldersNotNull", "cb", "_newFolders", "resolve", "adapter", "relPath", "reject", "level", "files", "item", "folderId", "_checkEmpty", "force", "objs", "_folders", "userData", "obj", "knownError", "file", "err", "_folder", "_e", "EXTENSIONS", "text", "IconEl", "IconOpen", "IconClosed", "padding", "isUserData", "isSpecialData", "iconStyle", "React", "Box_default", "IconButton_default", "Delete_default", "ArrowBack_default", "acl", "access", "accessStr", "Bookmark_default", "BookmarkBorder_default", "Description_default", "MusicNote_default", "IconNoIcon", "Icon", "fileErrors", "Edit_default", "SaveAlt_default", "res", "totalResult", "items", "_item", "CircularProgress_default", "IconType", "isInFolder", "Toolbar_default", "FolderSpecial_default", "IconExpert", "List_default", "ViewModule_default", "FolderOpen_default", "Refresh_default", "CreateNewFolder_default", "Publish_default", "Tooltip_default", "Menu_default", "type", "MyIcon", "MenuItem_default", "ListItemIcon_default", "ListItemText_default", "Brightness6_default", "parentFolder", "DialogTextInput", "name", "parent", "data", "adapterName", "Fab_default", "Close_default", "es_default", "acceptedFiles", "count", "reader", "getRootProps", "getInputProps", "parentId", "deleteItem", "newState", "Dialog_default", "DialogTitle_default", "DialogContent_default", "DialogContentText_default", "DialogActions_default", "Button_default", "FileViewerComponent", "FileViewer", "DialogError", "info", "changed", "it", "result", "p", "Breadcrumbs_default", "part", "Input_default", "KeyboardReturn_default", "LinearProgress_default", "FileBrowser", "withWidth", "import_react", "import_react", "import_react", "import_react", "IconInstance", "props", "React", "e", "import_react", "import_react", "import_react", "getElementFromSource", "src", "svgContainer", "svg", "serializeAttrs", "map", "ret", "prop", "i", "key", "g", "_Image", "props", "_a", "__publicField", "state", "newState", "changed", "len", "inner", "svgProps", "React", "e", "IconNoIcon", "Image", "import_react", "Logo", "_Logo", "React", "__publicField", "evt", "target", "files", "f", "reader", "_a", "contents", "json", "I18n", "err", "fileName", "obj", "el", "result", "input", "Icon", "Fab_default", "win", "Help_default", "VerticalAlignTop_default", "VerticalAlignBottom_default", "import_react", "import_react", "IconAdapter", "props", "React", "e", "import_react", "IconChannel", "props", "React", "e", "import_react", "IconCopy", "props", "React", "e", "import_react", "IconDevice", "props", "React", "e", "import_react", "IconDocument", "props", "React", "e", "import_react", "IconDocumentReadOnly", "props", "React", "e", "import_react", "IconState", "props", "React", "e", "import_react", "IconClearFilter", "props", "React", "e", "import_react", "styles", "TabContainer", "props", "_a", "React", "Paper_default", "Grid2_default", "import_react", "styles", "TabContent", "props", "React", "Grid2_default", "import_react", "TabHeader", "props", "React", "Grid2_default", "ICON_SIZE", "ROW_HEIGHT", "ITEM_LEVEL", "SMALL_BUTTON_SIZE", "COLOR_NAME_USERDATA", "themeType", "COLOR_NAME_ALIAS", "COLOR_NAME_JAVASCRIPT", "COLOR_NAME_SYSTEM", "COLOR_NAME_SYSTEM_ADAPTER", "COLOR_NAME_ERROR_DARK", "COLOR_NAME_ERROR_LIGHT", "COLOR_NAME_CONNECTED_DARK", "COLOR_NAME_CONNECTED_LIGHT", "COLOR_NAME_DISCONNECTED_DARK", "COLOR_NAME_DISCONNECTED_LIGHT", "styles", "theme", "Utils", "ButtonIcon", "props", "React", "walkThroughArray", "object", "iteratee", "copiedObject", "index", "walkThroughObject", "key", "filterObject", "obj", "filterKeys", "excludeTranslations", "result", "value", "isObject", "generateFile", "fileName", "options", "el", "filteredObject", "data", "binarySearch", "list", "find", "_start", "_end", "middle", "getName", "name", "lang", "getSelectIdIconFromObjects", "objects", "id", "imagePrefix", "src", "_id_", "aIcon", "InlineSVG", "common", "cIcon", "instance", "applyFilter", "item", "filters", "context", "counter", "customFilter", "selectedTypes", "_depth", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "_h", "_i", "_j", "filteredOut", "role", "filterOfCustom", "customs", "cst", "_item", "getVisibleItems", "type", "_result", "getSystemIcon", "level", "icon", "Link_default", "DataObject_default", "SettingsApplications_default", "SupervisedUserCircle_default", "PersonOutlined_default", "Router_default", "Wifi_default", "Info_default", "Description_default", "getObjectTooltip", "getIdFieldTooltip", "tooltip", "Box_default", "buildTree", "ids", "a", "currentPathArr", "currentPath", "currentPathLen", "root", "info", "cRoot", "i", "parts", "usedId", "readId", "writeId", "repeat", "curPath", "k", "_cRoot", "u", "move", "aName", "bName", "findNode", "_parts", "_path", "_level", "found", "_id", "findRoomsForObject", "rooms", "room", "ownEnums", "findEnumsForObjectAsIds", "enumName", "funcs", "findFunctionsForObject", "formatValue", "dateFormat", "state", "isFloatComma", "texts", "states", "isCommon", "fileViewer", "v", "parsedDate", "e", "valText", "valFull", "from", "user", "getValueStyle", "prepareSparkData", "values", "time", "nm1", "n", "val", "ITEM_IMAGES", "IconState", "IconChannel", "IconDevice", "IconAdapter", "IconInstance", "ListAlt_default", "ShowChart_default", "Settings_default", "CalendarToday_default", "Code_default", "IconClosed", "SCREEN_WIDTHS", "objectsAlreadyLoaded", "DEFAULT_FILTER", "_NON_EXPERT_NAMESPACES", "_ObjectBrowserClass", "__publicField", "events", "newState", "event", "newInnerState", "filtered", "enumItem", "enums", "objId", "newObj", "oldObj", "t", "acl", "check", "arrayTooltipText", "funcRenderStateObject", "rights", "width", "widthNext", "handle", "lastSelectedItemStr", "lastSelectedItems", "expanded", "expandedStr", "filter", "filterStr", "pos", "customDialog", "location", "selected", "columnsStr", "columns", "columnsWidths", "foldersFirst", "foldersFirstStr", "statesView", "resizerCurrentWidthsStr", "resizerCurrentWidths", "update", "resolve", "Connection", "moreObjects", "filterFunc", "propsTypes", "columnsForAdmin", "node", "e1", "__privateGet", "saveNamespace", "cb", "changed", "path", "isDouble", "pattern", "keys", "count", "start", "Dialog_default", "DialogTitle_default", "DialogContent_default", "DialogContentText_default", "DialogActions_default", "Button_default", "Check_default", "error", "toggleItem", "isLast", "cols", "ListItemButton_default", "Checkbox_default", "ListItemText_default", "FormControlLabel_default", "Switch_default", "List_default", "adapter", "column", "ListItemIcon_default", "Close_default", "instances", "err", "_root", "_partyId", "aColumns", "cColumns", "b", "aliasId", "aliasesIds", "isPause", "_name", "filterRef", "attr", "filterName", "FormControl_default", "Input_default", "IconButton_default", "hasIcons", "Select_default", "MenuItem_default", "newFilter", "Icon", "func", "types", "depth", "objs", "ack", "idDot", "idLen", "IconExpert", "evt", "target", "f", "r", "contents", "json", "len", "allowObjectCreation", "Tooltip_default", "Refresh_default", "ViewColumn_default", "IconOpen", "Badge_default", "LooksOne_default", "TextFields_default", "Add_default", "input", "Publish_default", "Build_default", "text", "Delete_default", "aclSystemConfig", "showEdit", "Edit_default", "now", "nowMs", "sparks", "s", "valFullRx", "narrowStyleWithDetails", "valTextRx", "copyText", "IconCopy", "enumIds", "newArray", "enumId", "promises", "toCheck", "itemEnums", "enumsOriginal", "Fab_default", "labelId", "ListItem_default", "enumDialogEnums", "ObjectBrowserEditRole", "isSave", "customColumnDialog", "TextField_default", "it", "p", "anyObj", "customStyle", "_index", "aliasObj", "isExpanded", "_k", "_l", "_m", "_n", "iconFolder", "itemType", "IconDocumentReadOnly", "IconDocument", "iconItem", "typeImg", "paddingLeft", "per", "pef", "checkbox", "valueEditable", "enumEditable", "checkVisibleObjectType", "newValue", "newValueTitle", "readWriteAlias", "alias", "checkColor", "invertBackground", "background", "bold", "icons", "colorSet", "Error_default", "WifiOff_default", "q", "useDesc", "oTooltip", "colID", "Grid2_default", "colName", "colMiddle", "colCustom", "columnValue", "colValue", "colButtons", "colDetails", "renderedMiddle", "Paper_default", "isRightMB", "items", "leaf", "DragWrapper", "aColumnsAuto", "aColumnsForAdmin", "aColumnsWidths", "columnsAuto", "WIDTHS", "widthSum", "newWidth", "accumulator", "selectedId", "idx", "newIdx", "newId", "idArr", "currId", "idEntry", "j", "filterClearInValue", "IconClearFilter", "Snackbar_default", "scrollBarWidth", "ObjectCustomDialog", "changedIds", "valAck", "ObjectBrowserEditObject", "updateAlias", "ObjectBrowserViewFile", "ObjectBrowserAliasEditor", "timeout", "initialType", "initialStateType", "Menu_default", "showACL", "createStateVisible", "createChannelVisible", "createDeviceVisible", "createFolderVisible", "ITEMS", "FormatItalic_default", "FindInPage_default", "BorderColor_default", "BedroomParent_default", "Construction_default", "CreateNewFolder_default", "ArrowRight_default", "subItem", "ObjectBrowserValue", "res", "jsonFilter", "CircularProgress_default", "TabContainer", "TabHeader", "TabContent", "__privateAdd", "ObjectBrowserClass", "ObjectBrowser", "withWidth", "import_react", "styles", "theme", "WEEKDAYS", "MONTHS", "PERIODS", "ASTRO", "padding", "num", "DEFAULT", "string2USdate", "date", "parts", "Schedule", "_Schedule", "props", "__publicField", "schedule", "e", "React", "force", "isDiff", "copy", "once", "days", "daysOfWeek", "weeks", "months", "dates", "years", "yearMonth", "yearDate", "from", "today", "desc", "validFrom", "now", "I18n", "tDows", "day", "last", "tMonths", "month", "start", "end", "wholeDay", "night", "fromTo", "FormControlLabel_default", "Radio_default", "_schedule", "TextField_default", "isAstro", "Select_default", "MenuItem_default", "event", "isOnce", "value", "Box_default", "Utils", "Checkbox_default", "i", "Input_default", "isSpecific", "FormGroup_default", "a", "b", "parsedDates", "_dates", "result", "_parsedDates", "parsedMonths", "_parsedMonths", "isEnd", "d", "str", "import_react", "import_react", "import_react", "import_react", "import_react", "import_react", "DialogSelectID", "props", "__publicField", "filters", "e", "selected", "id", "title", "React", "I18n", "Dialog_default", "DialogTitle_default", "DialogContent_default", "ObjectBrowser", "filterConfig", "_selected", "name", "isDouble", "DialogActions_default", "Button_default", "Check_default", "Cancel_default", "import_react", "import_react", "import_cropperjs", "n", "r", "o", "t", "a", "c", "i", "l", "e", "s", "u", "p", "d", "v", "f", "m", "g", "y", "b", "h", "O", "T", "z", "C", "w", "j", "M", "E", "R", "import_react", "styles", "PERIODIC", "PERIODIC_TYPES", "WEEKDAYS", "padding", "num", "DEFAULT_STATE", "text2weekdays", "text", "parts", "list", "part", "_parts", "start", "end", "day", "numPart", "cron2state", "cron", "force", "cronParts", "options", "state", "SimpleCron", "_SimpleCron", "React", "props", "max", "i", "settings", "hours", "minutes", "partsDate", "date", "month", "type", "I18n", "FormControlLabel_default", "Checkbox_default", "e", "_settings", "pos", "TextField_default", "Select_default", "MenuItem_default", "FormControl_default", "theme", "d", "InputLabel_default", "hour", "mode", "convertCronToText", "import_react", "import_react", "import_react", "import_react", "import_react", "import_react", "styles", "DialogComplexCron", "React", "props", "cron", "ignoreCheck", "ComplexCron", "DialogConfirm", "I18n", "ok", "Dialog_default", "DialogTitle_default", "DialogContent_default", "DialogActions_default", "Button_default", "Delete_default", "Check_default", "Cancel_default", "import_react", "styles", "DialogCron", "React", "props", "cron", "cron2state", "mode", "Dialog_default", "DialogTitle_default", "I18n", "DialogContent_default", "Radio_default", "SimpleCron", "Schedule", "ComplexCron", "DialogActions_default", "Button_default", "Check_default", "Cancel_default", "import_react", "import_react", "styles", "DialogSelectFile", "React", "props", "__publicField", "filters", "e", "selected", "id", "title", "I18n", "Dialog_default", "DialogTitle_default", "DialogContent_default", "FileBrowser", "isDoubleClick", "isFolder", "DialogActions_default", "Button_default", "Check_default", "Cancel_default", "import_react", "styles", "DialogSimpleCron", "React", "props", "cron", "Dialog_default", "DialogTitle_default", "I18n", "DialogContent_default", "SimpleCron", "DialogActions_default", "Button_default", "Check_default", "Cancel_default", "import_react", "tabValues", "navEntries", "replaceSpaceWithUnderscore", "menu", "isTruthy", "value", "processUserData", "data", "array", "newData", "key", "name", "err", "deepCopy", "obj", "isChecked", "value", "deleteDoubleEntriesInArray", "arr", "item", "index", "sortArray", "a", "b", "lowerCaseA", "lowerCaseB", "createData", "element", "index", "rowElements", "obj", "entry", "getRows", "_a", "rows", "trigger", "generateBy", "row", "saveRows", "props", "setState", "newRow", "existingRow", "updateData", "val", "id", "deepCopy", "updateTrigger", "value", "addNewRow", "cb", "deleteRow", "moveItem", "updateId", "selected", "indexID", "ID", "disassembleTextToTriggers", "text", "triggerArray", "textArray", "word", "updateTriggerForSelect", "data", "usersInGroup", "activeMenu", "submenu", "tabValues", "users", "menusToSearchIn", "user", "group", "deleteDoubleEntriesInArray", "usedTrigger", "allTrigger", "triggerObj", "menu", "triggerInMenu", "triggerInRow", "x", "actionTrigger", "sub", "unUsedTrigger", "sortArray", "buttonCheck", "React", "buttonClose", "getElementIcon", "isTruthy", "sortObjectByKey", "newObject", "updateActiveMenuAndTrigger", "result", "drag", "onDragStart", "event", "onDragEnd", "setState", "dropDifferenzY", "dropDifferenzX", "onDragOver", "onDrop", "onDrag", "onMouseEnter", "element", "onMouseLeave", "updatePositionDropBox", "newX", "newY", "dropboxRef", "showDropBox", "dropbox", "maxTop", "maxRight", "computeMaxPosition", "y", "x", "calculateNewPosition", "_a", "_b", "adjustYCoordinate", "adjustXCoordinate", "insertParseModeCheckbox", "data", "actions", "menu", "action", "_", "indexItem", "insertAckCheckbox", "updateNative", "item", "element", "textItem", "textIndex", "substring", "insertNewItemsInData", "copyData", "deepCopy", "getUsersFromTelegram", "socket", "telegramInstance", "cb", "state", "err", "getAllTelegramInstances", "callback", "IDs", "objects", "obj", "isAdapterTelegram", "_a", "getIobrokerData", "socket_default", "import_react", "import_capitalize", "capitalize_default", "capitalize", "createChainedFunction_default", "createChainedFunction", "init_extends", "React", "init_extends", "React", "init_extends", "React", "import_jsx_runtime", "useDefaultProps", "params", "getSvgIconUtilityClass", "slot", "generateUtilityClass", "svgIconClasses", "generateUtilityClasses", "import_jsx_runtime", "_excluded", "useUtilityClasses", "ownerState", "color", "fontSize", "classes", "slots", "capitalize_default", "composeClasses", "getSvgIconUtilityClass", "SvgIconRoot", "styled_default", "props", "styles", "theme", "_theme$transitions", "_theme$transitions$cr", "_theme$transitions2", "_theme$typography", "_theme$typography$pxT", "_theme$typography2", "_theme$typography2$px", "_theme$typography3", "_theme$typography3$px", "_palette$ownerState$c", "_palette", "_palette2", "_palette3", "SvgIcon", "inProps", "ref", "useDefaultProps", "children", "className", "component", "htmlColor", "inheritViewBox", "titleAccess", "viewBox", "other", "_objectWithoutPropertiesLoose", "hasSvgAsChild", "_extends", "more", "_jsxs", "clsx_default", "_jsx", "SvgIcon_default", "import_jsx_runtime", "createSvgIcon", "path", "displayName", "Component", "props", "ref", "_jsx", "SvgIcon_default", "_extends", "debounce_default", "debounce", "ownerDocument_default", "ownerDocument", "ownerWindow_default", "ownerWindow", "useEnhancedEffect_default", "useControlled_default", "useControlled", "useEventCallback_default", "useForkRef_default", "useForkRef", "useIsFocusVisible_default", "useIsFocusVisible", "init_extends", "React", "import_colorManipulator", "getPaperUtilityClass", "slot", "generateUtilityClass", "paperClasses", "generateUtilityClasses", "import_jsx_runtime", "_excluded", "useUtilityClasses", "ownerState", "square", "elevation", "variant", "classes", "slots", "composeClasses", "getPaperUtilityClass", "PaperRoot", "styled_default", "props", "styles", "theme", "_theme$vars$overlays", "_extends", "getOverlayAlpha_default", "Paper", "inProps", "ref", "useDefaultProps", "className", "component", "other", "_objectWithoutPropertiesLoose", "_jsx", "clsx_default", "Paper_default", "init_extends", "React", "init_extends", "React", "React", "import_jsx_runtime", "Ripple", "props", "className", "classes", "pulsate", "rippleX", "rippleY", "rippleSize", "inProp", "onExited", "timeout", "leaving", "setLeaving", "rippleClassName", "clsx_default", "rippleStyles", "childClassName", "timeoutId", "_jsx", "Ripple_default", "touchRippleClasses", "generateUtilityClasses", "touchRippleClasses_default", "import_jsx_runtime", "_excluded", "_", "t", "_t", "_t2", "_t3", "_t4", "DURATION", "DELAY_RIPPLE", "enterKeyframe", "exitKeyframe", "pulsateKeyframe", "TouchRippleRoot", "styled_default", "TouchRippleRipple", "Ripple_default", "touchRippleClasses_default", "theme", "TouchRipple", "inProps", "ref", "props", "useDefaultProps", "centerProp", "classes", "className", "other", "_objectWithoutPropertiesLoose", "ripples", "setRipples", "nextKey", "rippleCallback", "ignoringMouseDown", "startTimer", "useTimeout", "startTimerCommit", "container", "startCommit", "params", "pulsate", "rippleX", "rippleY", "rippleSize", "cb", "oldRipples", "_jsx", "clsx_default", "start", "event", "options", "center", "fakeElement", "element", "rect", "clientX", "clientY", "sizeX", "sizeY", "stop", "_extends", "TransitionGroup_default", "TouchRipple_default", "getButtonBaseUtilityClass", "slot", "generateUtilityClass", "buttonBaseClasses", "generateUtilityClasses", "buttonBaseClasses_default", "import_jsx_runtime", "_excluded", "useUtilityClasses", "ownerState", "disabled", "focusVisible", "focusVisibleClassName", "classes", "composedClasses", "composeClasses", "getButtonBaseUtilityClass", "ButtonBaseRoot", "styled_default", "props", "styles", "buttonBaseClasses_default", "ButtonBase", "inProps", "ref", "useDefaultProps", "action", "centerRipple", "children", "className", "component", "disableRipple", "disableTouchRipple", "focusRipple", "LinkComponent", "onBlur", "onClick", "onContextMenu", "onDragLeave", "onFocus", "onFocusVisible", "onKeyDown", "onKeyUp", "onMouseDown", "onMouseLeave", "onMouseUp", "onTouchEnd", "onTouchMove", "onTouchStart", "tabIndex", "TouchRippleProps", "touchRippleRef", "type", "other", "_objectWithoutPropertiesLoose", "buttonRef", "rippleRef", "handleRippleRef", "useForkRef_default", "isFocusVisibleRef", "handleFocusVisible", "handleBlurVisible", "focusVisibleRef", "useIsFocusVisible_default", "setFocusVisible", "mountedState", "setMountedState", "enableTouchRipple", "useRippleHandler", "rippleAction", "eventCallback", "skipRippleAction", "useEventCallback_default", "event", "handleMouseDown", "handleContextMenu", "handleDragLeave", "handleMouseUp", "handleMouseLeave", "handleTouchStart", "handleTouchEnd", "handleTouchMove", "handleBlur", "handleFocus", "isNonNativeButton", "button", "keydownRef", "handleKeyDown", "handleKeyUp", "ComponentProp", "buttonProps", "handleRef", "_extends", "_jsxs", "clsx_default", "_jsx", "TouchRipple_default", "ButtonBase_default", "React", "FormControlContext", "FormControlContext_default", "React", "useFormControl", "FormControlContext_default", "boxClasses", "generateUtilityClasses", "boxClasses_default", "defaultTheme", "createTheme_default", "Box", "createBox", "identifier_default", "boxClasses_default", "ClassNameGenerator_default", "Box_default", "init_extends", "React", "getSwitchBaseUtilityClass", "slot", "generateUtilityClass", "switchBaseClasses", "generateUtilityClasses", "import_jsx_runtime", "_excluded", "useUtilityClasses", "ownerState", "classes", "checked", "disabled", "edge", "slots", "capitalize_default", "composeClasses", "getSwitchBaseUtilityClass", "SwitchBaseRoot", "styled_default", "ButtonBase_default", "_extends", "SwitchBaseInput", "rootShouldForwardProp_default", "SwitchBase", "props", "ref", "autoFocus", "checkedProp", "checkedIcon", "className", "defaultChecked", "disabledProp", "disableFocusRipple", "icon", "id", "inputProps", "inputRef", "name", "onBlur", "onChange", "onFocus", "readOnly", "required", "tabIndex", "type", "value", "other", "_objectWithoutPropertiesLoose", "setCheckedState", "useControlled_default", "muiFormControl", "useFormControl", "handleFocus", "event", "handleBlur", "handleInputChange", "newChecked", "hasLabelFor", "_jsxs", "clsx_default", "_jsx", "SwitchBase_default", "init_extends", "React", "import_styleFunctionSx", "React", "GridContext", "GridContext_default", "getGridUtilityClass", "slot", "generateUtilityClass", "SPACINGS", "DIRECTIONS", "WRAPS", "GRID_SIZES", "gridClasses", "generateUtilityClasses", "spacing", "direction", "wrap", "size", "gridClasses_default", "import_jsx_runtime", "_excluded", "getOffset", "val", "parse", "generateGrid", "theme", "ownerState", "size", "globalStyles", "breakpoint", "styles", "columnsBreakpointValues", "resolveBreakpointValues", "columnValue", "width", "more", "themeSpacing", "fullWidth", "_extends", "generateDirection", "directionValues", "handleBreakpoints", "propValue", "output", "gridClasses_default", "extractZeroValueBreakpointKeys", "breakpoints", "values", "nonZeroKey", "key", "sortedBreakpointKeysByValue", "b", "generateRowGap", "container", "rowSpacing", "rowSpacingValues", "zeroValueBreakpointKeys", "_zeroValueBreakpointK", "generateColumnGap", "columnSpacing", "columnSpacingValues", "_zeroValueBreakpointK2", "resolveSpacingStyles", "spacing", "spacingStyles", "value", "GridRoot", "styled_default", "props", "direction", "item", "wrap", "zeroMinWidth", "breakpointsStyles", "resolveSpacingClasses", "classes", "className", "useUtilityClasses", "spacingClasses", "breakpointsClasses", "slots", "composeClasses", "getGridUtilityClass", "Grid", "inProps", "ref", "themeProps", "useDefaultProps", "useTheme", "columnsProp", "columnSpacingProp", "component", "rowSpacingProp", "other", "_objectWithoutPropertiesLoose", "columnsContext", "GridContext_default", "columns", "breakpointsValues", "otherFiltered", "_jsx", "clsx_default", "Grid_default", "init_extends", "React", "import_colorManipulator", "init_extends", "React", "React", "import_jsx_runtime", "RadioButtonUnchecked_default", "createSvgIcon", "_jsx", "React", "import_jsx_runtime", "RadioButtonChecked_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "RadioButtonIconRoot", "styled_default", "rootShouldForwardProp_default", "RadioButtonIconBackground", "RadioButtonUnchecked_default", "RadioButtonIconDot", "RadioButtonChecked_default", "theme", "ownerState", "_extends", "RadioButtonIcon", "props", "checked", "classes", "fontSize", "_jsxs", "_jsx", "RadioButtonIcon_default", "React", "React", "RadioGroupContext", "RadioGroupContext_default", "useRadioGroup", "RadioGroupContext_default", "getRadioUtilityClass", "slot", "generateUtilityClass", "radioClasses", "generateUtilityClasses", "radioClasses_default", "import_jsx_runtime", "_excluded", "useUtilityClasses", "ownerState", "classes", "color", "size", "slots", "capitalize_default", "_extends", "composeClasses", "getRadioUtilityClass", "RadioRoot", "styled_default", "SwitchBase_default", "prop", "rootShouldForwardProp_default", "props", "styles", "theme", "radioClasses_default", "areEqualValues", "a", "b", "defaultCheckedIcon", "_jsx", "RadioButtonIcon_default", "defaultIcon", "Radio", "inProps", "ref", "_defaultIcon$props$fo", "_defaultCheckedIcon$p", "useDefaultProps", "checkedProp", "checkedIcon", "icon", "nameProp", "onChangeProp", "className", "other", "_objectWithoutPropertiesLoose", "radioGroup", "useRadioGroup", "checked", "onChange", "createChainedFunction_default", "name", "clsx_default", "Radio_default", "init_extends", "React", "getTabUtilityClass", "slot", "generateUtilityClass", "tabClasses", "generateUtilityClasses", "tabClasses_default", "import_jsx_runtime", "_excluded", "useUtilityClasses", "ownerState", "classes", "textColor", "fullWidth", "wrapped", "icon", "label", "selected", "disabled", "slots", "capitalize_default", "composeClasses", "getTabUtilityClass", "TabRoot", "styled_default", "ButtonBase_default", "props", "styles", "tabClasses_default", "theme", "_extends", "Tab", "inProps", "ref", "useDefaultProps", "className", "disableFocusRipple", "iconProp", "iconPosition", "indicator", "onChange", "onClick", "onFocus", "selectionFollowsFocus", "value", "other", "_objectWithoutPropertiesLoose", "clsx_default", "handleClick", "event", "handleFocus", "_jsxs", "Tab_default", "init_extends", "React", "React", "TableContext", "TableContext_default", "getTableUtilityClass", "slot", "generateUtilityClass", "tableClasses", "generateUtilityClasses", "import_jsx_runtime", "_excluded", "useUtilityClasses", "ownerState", "classes", "stickyHeader", "composeClasses", "getTableUtilityClass", "TableRoot", "styled_default", "props", "styles", "theme", "_extends", "defaultComponent", "Table", "inProps", "ref", "useDefaultProps", "className", "component", "padding", "size", "other", "_objectWithoutPropertiesLoose", "table", "_jsx", "TableContext_default", "clsx_default", "Table_default", "init_extends", "React", "React", "Tablelvl2Context", "Tablelvl2Context_default", "getTableBodyUtilityClass", "slot", "generateUtilityClass", "tableBodyClasses", "generateUtilityClasses", "import_jsx_runtime", "_excluded", "useUtilityClasses", "ownerState", "classes", "composeClasses", "getTableBodyUtilityClass", "TableBodyRoot", "styled_default", "props", "styles", "tablelvl2", "defaultComponent", "TableBody", "inProps", "ref", "useDefaultProps", "className", "component", "other", "_objectWithoutPropertiesLoose", "_extends", "_jsx", "Tablelvl2Context_default", "clsx_default", "TableBody_default", "init_extends", "React", "import_colorManipulator", "getTableCellUtilityClass", "slot", "generateUtilityClass", "tableCellClasses", "generateUtilityClasses", "tableCellClasses_default", "import_jsx_runtime", "_excluded", "useUtilityClasses", "ownerState", "classes", "variant", "align", "padding", "size", "stickyHeader", "slots", "capitalize_default", "composeClasses", "getTableCellUtilityClass", "TableCellRoot", "styled_default", "props", "styles", "theme", "_extends", "tableCellClasses_default", "TableCell", "inProps", "ref", "useDefaultProps", "className", "componentProp", "paddingProp", "scopeProp", "sizeProp", "sortDirection", "variantProp", "other", "_objectWithoutPropertiesLoose", "table", "TableContext_default", "tablelvl2", "Tablelvl2Context_default", "isHeadCell", "component", "scope", "ariaSort", "_jsx", "clsx_default", "TableCell_default", "init_extends", "React", "getTableContainerUtilityClass", "slot", "generateUtilityClass", "tableContainerClasses", "generateUtilityClasses", "import_jsx_runtime", "_excluded", "useUtilityClasses", "ownerState", "classes", "composeClasses", "getTableContainerUtilityClass", "TableContainerRoot", "styled_default", "props", "styles", "TableContainer", "inProps", "ref", "useDefaultProps", "className", "component", "other", "_objectWithoutPropertiesLoose", "_extends", "_jsx", "clsx_default", "TableContainer_default", "init_extends", "React", "getTableHeadUtilityClass", "slot", "generateUtilityClass", "tableHeadClasses", "generateUtilityClasses", "import_jsx_runtime", "_excluded", "useUtilityClasses", "ownerState", "classes", "composeClasses", "getTableHeadUtilityClass", "TableHeadRoot", "styled_default", "props", "styles", "tablelvl2", "defaultComponent", "TableHead", "inProps", "ref", "useDefaultProps", "className", "component", "other", "_objectWithoutPropertiesLoose", "_extends", "_jsx", "Tablelvl2Context_default", "clsx_default", "TableHead_default", "React", "import_jsx_runtime", "KeyboardArrowLeft_default", "createSvgIcon", "_jsx", "React", "import_jsx_runtime", "KeyboardArrowRight_default", "createSvgIcon", "_jsx", "init_extends", "React", "import_colorManipulator", "getTableRowUtilityClass", "slot", "generateUtilityClass", "tableRowClasses", "generateUtilityClasses", "tableRowClasses_default", "import_jsx_runtime", "_excluded", "useUtilityClasses", "ownerState", "classes", "selected", "hover", "head", "footer", "composeClasses", "getTableRowUtilityClass", "TableRowRoot", "styled_default", "props", "styles", "theme", "tableRowClasses_default", "defaultComponent", "TableRow", "inProps", "ref", "useDefaultProps", "className", "component", "other", "_objectWithoutPropertiesLoose", "tablelvl2", "Tablelvl2Context_default", "_extends", "_jsx", "clsx_default", "TableRow_default", "init_extends", "React", "import_react_is", "easeInOutSin", "time", "animate", "property", "element", "to", "options", "cb", "ease", "duration", "start", "from", "cancelled", "cancel", "step", "timestamp", "init_extends", "React", "import_jsx_runtime", "_excluded", "styles", "ScrollbarSize", "props", "onChange", "other", "_objectWithoutPropertiesLoose", "scrollbarHeight", "nodeRef", "setMeasurements", "useEnhancedEffect_default", "handleResize", "debounce_default", "prevHeight", "containerWindow", "ownerWindow_default", "_jsx", "_extends", "init_extends", "React", "getTabScrollButtonUtilityClass", "slot", "generateUtilityClass", "tabScrollButtonClasses", "generateUtilityClasses", "tabScrollButtonClasses_default", "import_jsx_runtime", "_excluded", "useUtilityClasses", "ownerState", "classes", "orientation", "disabled", "composeClasses", "getTabScrollButtonUtilityClass", "TabScrollButtonRoot", "styled_default", "ButtonBase_default", "props", "styles", "_extends", "tabScrollButtonClasses_default", "TabScrollButton", "inProps", "ref", "_slots$StartScrollBut", "_slots$EndScrollButto", "useDefaultProps", "className", "slots", "slotProps", "direction", "other", "_objectWithoutPropertiesLoose", "isRtl", "useRtl", "StartButtonIcon", "KeyboardArrowLeft_default", "EndButtonIcon", "KeyboardArrowRight_default", "startButtonIconProps", "useSlotProps_default", "endButtonIconProps", "_jsx", "clsx_default", "TabScrollButton_default", "getTabsUtilityClass", "slot", "generateUtilityClass", "tabsClasses", "generateUtilityClasses", "tabsClasses_default", "import_jsx_runtime", "_excluded", "nextItem", "list", "item", "previousItem", "moveFocus", "currentFocus", "traversalFunction", "wrappedOnce", "nextFocus", "nextFocusDisabled", "useUtilityClasses", "ownerState", "vertical", "fixed", "hideScrollbar", "scrollableX", "scrollableY", "centered", "scrollButtonsHideMobile", "classes", "composeClasses", "getTabsUtilityClass", "TabsRoot", "styled_default", "props", "styles", "tabsClasses_default", "theme", "_extends", "TabsScroller", "FlexContainer", "TabsIndicator", "TabsScrollbarSize", "ScrollbarSize", "defaultIndicatorStyle", "Tabs", "inProps", "ref", "props", "useDefaultProps", "theme", "useTheme", "isRtl", "useRtl", "ariaLabel", "ariaLabelledBy", "action", "centered", "childrenProp", "className", "component", "allowScrollButtonsMobile", "indicatorColor", "onChange", "orientation", "ScrollButtonComponent", "TabScrollButton_default", "scrollButtons", "selectionFollowsFocus", "slots", "slotProps", "TabIndicatorProps", "TabScrollButtonProps", "textColor", "value", "variant", "visibleScrollbar", "other", "_objectWithoutPropertiesLoose", "_excluded", "scrollable", "vertical", "scrollStart", "start", "end", "clientSize", "size", "ownerState", "_extends", "classes", "useUtilityClasses", "startScrollButtonIconProps", "useSlotProps_default", "endScrollButtonIconProps", "mounted", "setMounted", "indicatorStyle", "setIndicatorStyle", "defaultIndicatorStyle", "displayStartScroll", "setDisplayStartScroll", "displayEndScroll", "setDisplayEndScroll", "updateScrollObserver", "setUpdateScrollObserver", "scrollerStyle", "setScrollerStyle", "valueToIndex", "tabsRef", "tabListRef", "getTabsMeta", "tabsNode", "tabsMeta", "rect", "getNormalizedScrollLeft", "tabMeta", "children", "tab", "updateIndicatorState", "useEventCallback_default", "startValue", "startIndicator", "correction", "newIndicatorStyle", "dStart", "dSize", "scroll", "scrollValue", "animation", "animate", "moveTabsScroll", "delta", "detectScrollType", "getScrollSize", "containerSize", "totalSize", "i", "handleStartScrollClick", "handleEndScrollClick", "handleScrollbarSizeChange", "scrollbarWidth", "getConditionalElements", "conditionalElements", "_jsx", "TabsScrollbarSize", "clsx_default", "showScrollButtons", "scrollSelectedIntoView", "nextScrollStart", "updateScrollButtonState", "handleResize", "debounce_default", "resizeObserver", "handleMutation", "records", "record", "item", "_resizeObserver", "_resizeObserver2", "win", "ownerWindow_default", "mutationObserver", "child", "_mutationObserver", "_resizeObserver3", "tabListChildren", "length", "firstTab", "lastTab", "observerOptions", "handleScrollButtonStart", "entries", "firstObserver", "handleScrollButtonEnd", "lastObserver", "indicator", "TabsIndicator", "childIndex", "childValue", "selected", "handleKeyDown", "event", "list", "currentFocus", "ownerDocument_default", "previousItemKey", "nextItemKey", "moveFocus", "previousItem", "nextItem", "_jsxs", "TabsRoot", "TabsScroller", "FlexContainer", "Tabs_default", "import_react", "import_react", "Button", "__publicField", "event", "buttonStyle", "React", "I18n", "Button_default", "ButtonExpand", "props", "React", "Button_default", "btn_expand_default", "import_react", "import_react", "import_react", "Input", "__publicField", "event", "obj", "React", "I18n", "e", "_a", "_b", "input_default", "import_react", "import_react", "PopupContainer", "props", "element", "DialogContainer", "React", "event", "I18n", "Button_default", "PopupContainer_default", "import_react", "RenameCard", "props", "React", "input_default", "val", "RenameCard_default", "RenameModal", "props", "React", "PopupContainer_default", "RenameCard_default", "RenameModal_default", "BtnCard", "_BtnCard", "props", "__publicField", "newMenuName", "copyMenu", "replaceSpaceWithUnderscore", "addNewMenu", "data", "deepCopy", "userActiveCheckbox", "usersInGroup", "menu", "renameMenu", "newMenu", "newObject", "copyOfUsersInGroup", "value", "oldMenuName", "id", "cbValue", "prevProps", "prevState", "_a", "firstMenu", "React", "Grid_default", "input_default", "I18n", "val", "Button_default", "DialogConfirm", "isYes", "RenameModal_default", "AppContentHeaderMenuButtons_default", "import_react", "MenuPopupCard", "props", "__publicField", "prevProps", "React", "menu", "index", "Button_default", "id", "innerText", "AppContentHeaderMenuList_default", "HeaderMenu", "__publicField", "event", "React", "Grid_default", "btn_expand_default", "I18n", "AppContentHeaderMenuList_default", "AppContentHeaderMenuButtons_default", "AppContentHeaderMenu_default", "import_react", "import_react", "Checkbox", "__publicField", "event", "_a", "_b", "React", "I18n", "checkbox_default", "import_react", "AppContentHeaderTelegramUsersUserCard", "props", "__publicField", "isChecked", "name", "listOfUsers", "index", "chatID", "React", "checkbox_default", "AppContentHeaderTelegramUsersUserCard_default", "import_react", "AppContentHeaderTelegramUsersErrorMessage", "props", "React", "I18n", "AppContentHeaderTelegramUsersErrorMessage_default", "import_react", "CoverSaveBtn", "props", "React", "CoverSaveBtn_default", "HeaderTelegramUsers", "_HeaderTelegramUsers", "props", "__publicField", "prevProps", "isChecked", "val", "_a", "usersInGroup", "activeGroup", "userListWithChatID", "user", "item", "React", "Grid_default", "btn_expand_default", "I18n", "AppContentHeaderTelegramUsersErrorMessage_default", "key", "AppContentHeaderTelegramUsersUserCard_default", "checkbox_default", "CoverSaveBtn_default", "AppContentHeaderTelegramUsers_default", "MainActions", "props", "React", "Grid_default", "AppContentHeaderMenu_default", "AppContentHeaderTelegramUsers_default", "AppContentHeader_default", "import_react", "React", "import_jsx_runtime", "Context", "useUniquePrefix", "id", "setId", "TabContext", "props", "children", "value", "idPrefix", "context", "_jsx", "useTabContext", "getPanelId", "getTabId", "init_extends", "React", "import_jsx_runtime", "_excluded", "TabList", "props", "ref", "childrenProp", "other", "_objectWithoutPropertiesLoose", "context", "useTabContext", "children", "child", "getPanelId", "getTabId", "_jsx", "Tabs_default", "_extends", "TabList_default", "init_extends", "React", "getTabPanelUtilityClass", "slot", "generateUtilityClass", "tabPanelClasses", "generateUtilityClasses", "import_jsx_runtime", "_excluded", "useUtilityClasses", "ownerState", "classes", "composeClasses", "getTabPanelUtilityClass", "TabPanelRoot", "styled_default", "props", "styles", "theme", "TabPanel", "inProps", "ref", "useThemeProps", "children", "className", "value", "other", "_objectWithoutPropertiesLoose", "_extends", "context", "useTabContext", "id", "getPanelId", "tabId", "getTabId", "_jsx", "clsx_default", "TabPanel_default", "import_react", "import_react", "import_react", "BtnSmallAdd", "React", "Button_default", "btn_small_add_default", "import_react", "BtnSmallUp", "React", "Button_default", "btn_small_search_default", "import_react", "Textarea", "__publicField", "event", "React", "I18n", "e", "_a", "_b", "textarea_default", "theme", "Theme", "HelperCard", "props", "__publicField", "selected", "value", "oldId", "id", "React", "TableContainer_default", "Paper_default", "Table_default", "TableHead_default", "TableRow_default", "TableCell_default", "TableBody_default", "row", "index", "I18n", "btn_small_add_default", "btn_small_search_default", "textarea_default", "DialogSelectID", "HelperCard_default", "globalItems", "helperText", "element", "data", "helper_default", "import_react", "BtnCircleAdd", "props", "React", "handleMouseOver", "target", "currentElement", "handleMouseOut", "handleDragStart", "index", "event", "mouseOverNoneDraggable", "setState", "cbVal", "cb", "handleDragOver", "indexRow", "handleDragEnter", "handleStyleDragOver", "dropOver", "dropStart", "handleDragEnd", "setStateApp", "handleDraggable", "getDefaultDropBoxCoordinates", "dropBox", "dropDifferenzX", "dropDifferenzY", "import_react", "AppContentTabActionContentRowEditorTableHead", "_AppContentTabActionContentRowEditorTableHead", "props", "__publicField", "isChecked", "entry", "name", "React", "TableHead_default", "TableRow_default", "TableCell_default", "checkbox_default", "index", "I18n", "AppContentTabActionContentRowEditorTableHead_default", "import_react", "import_react", "BtnSmallRemove", "React", "Button_default", "btn_small_remove_default", "import_react", "AppContentTabActionContentRowEditorButtons", "props", "buttons", "indexRow", "rows", "setStateEditor", "React", "TableCell_default", "btn_small_add_default", "addNewRow", "btn_small_remove_default", "index", "deleteRow", "AppContentTabActionContentRowEditorButtons_default", "import_react", "Select", "__publicField", "event", "React", "I18n", "option", "index", "select_default", "import_react", "import_react", "_AppContentTabActionContentRowEditorCopyModalSelectedValues", "props", "__publicField", "I18n", "isChecked", "index", "copy", "activeMenu", "copyToMenu", "tab", "checkboxesToCopy", "rowIndexToEdit", "newTriggerName", "_a", "addTrigger", "ob", "rowToCopy", "copyData", "deepCopy", "emptyObject", "value", "i", "key", "copyToIndex", "React", "Table_default", "TableHead_default", "TableRow_default", "TableCell_default", "item", "TableBody_default", "row", "checkbox_default", "val", "entry", "menuName", "tabActionName", "rowNumber", "rowParam", "elInRow", "AppContentTabActionContentRowEditorCopyModalSelectedValues", "AppContentTabActionContentRowEditorCopyModalSelectedValues_default", "AppContentTabActionContentRowEditorCopyModal", "props", "__publicField", "val", "_a", "_b", "React", "I18n", "select_default", "AppContentTabActionContentRowEditorCopyModalSelectedValues_default", "AppContentTabActionContentRowEditorCopyModal_default", "import_react", "AppContentTabActionContentRowEditorInputAboveTable", "props", "newRow", "newUnUsedTrigger", "React", "Button_default", "I18n", "select_default", "val", "updateTrigger", "checkbox_default", "isChecked", "AppContentTabActionContentRowEditorHeader_default", "theme", "Theme", "AppContentTabActionContentRowEditor", "props", "__publicField", "obj", "updateData", "index", "moveItem", "name", "_a", "_b", "_c", "isTruthy", "checkboxes", "_", "check", "rows", "checkboxesRowToCopy", "event", "val", "isEmpty", "action", "triggerName", "isOneMenuSelected", "targetCheckboxes", "item", "ref", "value", "saveRows", "prevProps", "prevState", "newRow", "isMinOneCheckboxChecked", "checkbox", "React", "RenameModal_default", "I18n", "AppContentTabActionContentRowEditorHeader_default", "id", "TableContainer_default", "Paper_default", "Table_default", "AppContentTabActionContentRowEditorTableHead_default", "TableBody_default", "row", "indexRow", "TableRow_default", "handleDragStart", "handleDragEnd", "handleDragOver", "handleDragEnter", "handleStyleDragOver", "TableCell_default", "checkbox_default", "e", "handleMouseOver", "handleMouseOut", "input_default", "btn_small_search_default", "entry", "BtnCircleAdd", "isChecked", "AppContentTabActionContentRowEditorButtons_default", "DialogSelectID", "selected", "updateId", "PopupContainer_default", "AppContentTabActionContentRowEditorCopyModal_default", "AppContentTabActionContentRowEditor_default", "import_react", "import_react", "import_react", "BtnSmallEdit", "React", "Button_default", "btn_small_edit_default", "import_react", "BtnSmallUp", "React", "Button_default", "btn_small_up_default", "import_react", "BtnSmallDown", "React", "Button_default", "btn_small_down_default", "ButtonCard", "props", "React", "TableCell_default", "btn_small_add_default", "btn_small_edit_default", "btn_small_up_default", "btn_small_down_default", "btn_small_remove_default", "getUserArray", "data", "card", "subCard", "activeMenu", "index", "dataCopy", "deepCopy", "userArray", "element", "moveItem", "updateNative", "upDown", "newPositionIndex", "deleteRow", "index", "data", "card", "subCard", "activeMenu", "updateNative", "userArray", "dataCopy", "getUserArray", "import_react", "SubTable", "React", "Table_default", "TableBody_default", "element", "index", "TableRow_default", "TableCell_default", "e", "handleMouseOver", "handleMouseOut", "getElementIcon", "AppContentTabActionContentTableSubTable_default", "_TableDndAction", "props", "__publicField", "activeMenu", "native", "action", "elements", "rows", "entry", "index", "event", "currentElement", "moveItem", "data", "setStateTabActionContent", "dataCopy", "deepCopy", "newRow", "entriesOfParentComponent", "element", "obj", "prevProps", "React", "TableBody_default", "row", "TableRow_default", "handleDragStart", "handleDragEnd", "handleDragOver", "handleDragEnter", "handleStyleDragOver", "TableCell_default", "e", "handleMouseOver", "handleMouseOut", "indexEntry", "AppContentTabActionContentTableSubTable_default", "getElementIcon", "ButtonCard", "deleteRow", "tBodies", "tds", "tbody", "offset", "td", "TableDndAction", "AppContentTabActionContentTable_default", "ActionCard", "props", "__publicField", "trigger", "unUsedTrigger", "deepCopy", "index", "saveData", "newRow", "entry", "data", "activeMenu", "_a", "_b", "subCard", "value", "row", "combinedProps", "addNewRow", "prevProps", "prevState", "native", "tab", "inputValuesAreOk", "val", "React", "Button_default", "I18n", "TableContainer_default", "Paper_default", "Table_default", "TableHead_default", "TableRow_default", "TableCell_default", "_", "i", "AppContentTabActionContentTable_default", "PopupContainer_default", "AppContentTabActionContentRowEditor_default", "HelperCard_default", "helper_default", "AppContentTabActionContent_default", "import_react", "TabActionTabs", "props", "__publicField", "event", "newValue", "React", "Box_default", "TabList_default", "tabValues", "tab", "index", "Tab_default", "AppContentTabActionTabsListing_default", "TabAction", "props", "React", "TabContext", "AppContentTabActionTabsListing_default", "tabValues", "tab", "index", "TabPanel_default", "AppContentTabActionContent_default", "AppContentTabAction_default", "import_react", "import_react", "createData", "entriesOfParentComponent", "element", "obj", "entry", "TableDndNav", "props", "__publicField", "event", "index", "currentElement", "moveItem", "native", "activeMenu", "rowToEdit", "nav", "elements", "rows", "prevProps", "React", "TableBody_default", "row", "indexRow", "TableRow_default", "handleDraggable", "handleDragStart", "handleDragEnd", "handleDragOver", "handleDragEnter", "handleStyleDragOver", "indexCell", "TableCell_default", "e", "handleMouseOver", "handleMouseOut", "getElementIcon", "I18n", "ButtonCard", "deleteRow", "AppContentTabNavigationTableBody_default", "import_react", "TabNavHeader", "props", "React", "TableHead_default", "TableRow_default", "entry", "index", "TableCell_default", "I18n", "AppContentTabNavigationTableHeader_default", "import_react", "AppContentTabNavigationTableRowEditorCard", "props", "React", "entry", "i", "input_default", "I18n", "BtnCircleAdd", "checkbox_default", "isChecked", "AppContentTabNavigationTableRowEditorCard_default", "import_react", "TableNavEditRow", "props", "__publicField", "val", "id", "copyNewRow", "deepCopy", "isChecked", "value", "React", "PopupContainer_default", "AppContentTabNavigationTableRowEditorCard_default", "AppContentTabNavigationTableRowEditor_default", "import_react", "TableNavHelper", "props", "__publicField", "value", "React", "PopupContainer_default", "HelperCard_default", "helper_default", "AppContentTabNavigationTableHelper_default", "TabNavigation", "props", "__publicField", "value", "dataCopy", "navUserArray", "index", "obj", "entry", "copyNewRow", "deepCopy", "name", "prevProps", "prevState", "React", "TableContainer_default", "Paper_default", "Table_default", "AppContentTabNavigationTableHeader_default", "AppContentTabNavigationTableBody_default", "AppContentTabNavigationTableRowEditor_default", "AppContentTabNavigationTableHelper_default", "AppContentTabNavigation_default", "import_react", "Settings", "props", "__publicField", "isChecked", "id", "checkbox", "React", "I18n", "Grid_default", "select_default", "val", "input_default", "checkbox_default", "AppContentTabSettings_default", "import_react", "Tabs", "props", "React", "TabPanel_default", "AppContentTabNavigation_default", "navEntries", "AppContentTabAction_default", "AppContentTabSettings_default", "AppContentTab_default", "import_react", "TabListing", "props", "__publicField", "event", "val", "React", "Box_default", "TabList_default", "tab", "Tab_default", "I18n", "AppContentTabsListing_default", "import_react", "AppContent", "props", "React", "Grid_default", "Box_default", "TabContext", "AppContentTabsListing_default", "AppContentHeader_default", "AppContentTab_default", "AppContent_default", "import_react", "DoubleTriggerInfo", "props", "React", "I18n", "element", "index", "AppDoubleTriggerInfo_default", "import_react", "import_react", "_DropBox", "props", "__publicField", "menuList", "_a", "_b", "data", "deepCopy", "rowToWorkWith", "moveOrCopy", "usedTrigger", "updateTriggerForSelect", "items", "val", "event", "value", "prevProps", "prevState", "React", "select_default", "I18n", "Radio_default", "PopupContainer_default", "RenameCard_default", "e", "searchedString", "count", "element", "DropBox", "AppDropBoxContent_default", "MainDropBox", "props", "__publicField", "React", "PopupContainer_default", "onDragStart", "onDragEnd", "onDragOver", "onDrop", "onDrag", "onMouseEnter", "onMouseLeave", "AppDropBoxContent_default", "AppDropBox_default", "import_react", "AppHeaderIconBar", "props", "React", "Grid_default", "Logo", "text", "AppHeaderIconBar_default", "import_react", "import_react", "colors", "import_react", "Square", "props", "prevProps", "React", "I18n", "AppTriggerOverviewContentSquare_default", "TriggerOverview", "props", "__publicField", "val", "menuCall", "arrayUsersInGroup", "menusWithUser", "userInMenu", "menu", "index", "user", "colorIndex", "trigger", "_a", "_b", "result", "deleteDoubleEntriesInArray", "key", "colors", "I18n", "_c", "menu2", "menuObj", "action", "updateTriggerForSelect", "deepCopy", "options", "prevProps", "prevState", "React", "select_default", "AppTriggerOverviewContentSquare_default", "indexUsedTrigger", "_d", "_e", "_f", "indexUser", "indexTrigger", "item", "i", "index2", "index3", "AppTriggerOverviewContent_default", "MainTriggerOverview", "props", "React", "PopupContainer_default", "value", "AppTriggerOverviewContent_default", "AppTriggerOverview_default", "import_react", "ErrorBoundary", "props", "error", "errorInfo", "ErrorBoundary_default", "import_react", "getDoubleEntries", "array", "entries", "doubleEntries", "element", "index", "getFirstItem", "obj", "translations_default", "translations_default", "translations_default", "translations_default", "translations_default", "translations_default", "translations_default", "translations_default", "translations_default", "translations_default", "translations_default", "App", "GenericApp", "props", "extendedProps", "AdminConnection", "translations_default", "__publicField", "updatePositionDropBox", "React", "prevProps", "prevState", "updateActiveMenuAndTrigger", "sortObjectByKey", "getDoubleEntries", "newX", "newY", "getDefaultDropBoxCoordinates", "dropbox", "insertNewItemsInData", "socket_default", "data", "firstMenu", "getFirstItem", "processUserData", "ErrorBoundary_default", "Grid_default", "AppHeaderIconBar_default", "text", "native", "attr", "value", "cb", "AppContent_default", "AppDropBox_default", "AppTriggerOverview_default", "AppDoubleTriggerInfo_default", "app_default", "themeName", "Utils", "build", "ReactDOM", "React", "ThemeProvider", "Theme", "app_default", "_theme"] + "sources": ["../../node_modules/object-assign/index.js", "../../node_modules/react/cjs/react.production.min.js", "../../node_modules/react/index.js", "../../node_modules/scheduler/cjs/scheduler.production.min.js", "../../node_modules/scheduler/index.js", "../../node_modules/react-dom/cjs/react-dom.production.min.js", "../../node_modules/react-dom/index.js", "../../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js", "../../node_modules/hoist-non-react-statics/node_modules/react-is/index.js", "../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js", "../../node_modules/prop-types/lib/ReactPropTypesSecret.js", "../../node_modules/prop-types/factoryWithThrowingShims.js", "../../node_modules/prop-types/index.js", "../../node_modules/react/cjs/react-jsx-runtime.production.min.js", "../../node_modules/react/jsx-runtime.js", "../../node_modules/react-is/cjs/react-is.production.min.js", "../../node_modules/react-is/index.js", "../../node_modules/lodash/_freeGlobal.js", "../../node_modules/lodash/_root.js", "../../node_modules/lodash/_Symbol.js", "../../node_modules/lodash/_getRawTag.js", "../../node_modules/lodash/_objectToString.js", "../../node_modules/lodash/_baseGetTag.js", "../../node_modules/lodash/isArray.js", "../../node_modules/lodash/isObjectLike.js", "../../node_modules/lodash/isString.js", "../../node_modules/lodash/_createBaseFor.js", "../../node_modules/lodash/_baseFor.js", "../../node_modules/lodash/_baseTimes.js", "../../node_modules/lodash/_baseIsArguments.js", "../../node_modules/lodash/isArguments.js", "../../node_modules/lodash/stubFalse.js", "../../node_modules/lodash/isBuffer.js", "../../node_modules/lodash/_isIndex.js", "../../node_modules/lodash/isLength.js", "../../node_modules/lodash/_baseIsTypedArray.js", "../../node_modules/lodash/_baseUnary.js", "../../node_modules/lodash/_nodeUtil.js", "../../node_modules/lodash/isTypedArray.js", "../../node_modules/lodash/_arrayLikeKeys.js", "../../node_modules/lodash/_isPrototype.js", "../../node_modules/lodash/_overArg.js", "../../node_modules/lodash/_nativeKeys.js", "../../node_modules/lodash/_baseKeys.js", "../../node_modules/lodash/isObject.js", "../../node_modules/lodash/isFunction.js", "../../node_modules/lodash/isArrayLike.js", "../../node_modules/lodash/keys.js", "../../node_modules/lodash/_baseForOwn.js", "../../node_modules/lodash/identity.js", "../../node_modules/lodash/_castFunction.js", "../../node_modules/lodash/forOwn.js", "../../node_modules/lodash/_getPrototype.js", "../../node_modules/lodash/isPlainObject.js", "../../node_modules/lodash/_arrayMap.js", "../../node_modules/lodash/_listCacheClear.js", "../../node_modules/lodash/eq.js", "../../node_modules/lodash/_assocIndexOf.js", "../../node_modules/lodash/_listCacheDelete.js", "../../node_modules/lodash/_listCacheGet.js", "../../node_modules/lodash/_listCacheHas.js", "../../node_modules/lodash/_listCacheSet.js", "../../node_modules/lodash/_ListCache.js", "../../node_modules/lodash/_stackClear.js", "../../node_modules/lodash/_stackDelete.js", "../../node_modules/lodash/_stackGet.js", "../../node_modules/lodash/_stackHas.js", "../../node_modules/lodash/_coreJsData.js", "../../node_modules/lodash/_isMasked.js", "../../node_modules/lodash/_toSource.js", "../../node_modules/lodash/_baseIsNative.js", "../../node_modules/lodash/_getValue.js", "../../node_modules/lodash/_getNative.js", "../../node_modules/lodash/_Map.js", "../../node_modules/lodash/_nativeCreate.js", "../../node_modules/lodash/_hashClear.js", "../../node_modules/lodash/_hashDelete.js", "../../node_modules/lodash/_hashGet.js", "../../node_modules/lodash/_hashHas.js", "../../node_modules/lodash/_hashSet.js", "../../node_modules/lodash/_Hash.js", "../../node_modules/lodash/_mapCacheClear.js", "../../node_modules/lodash/_isKeyable.js", "../../node_modules/lodash/_getMapData.js", "../../node_modules/lodash/_mapCacheDelete.js", "../../node_modules/lodash/_mapCacheGet.js", "../../node_modules/lodash/_mapCacheHas.js", "../../node_modules/lodash/_mapCacheSet.js", "../../node_modules/lodash/_MapCache.js", "../../node_modules/lodash/_stackSet.js", "../../node_modules/lodash/_Stack.js", "../../node_modules/lodash/_setCacheAdd.js", "../../node_modules/lodash/_setCacheHas.js", "../../node_modules/lodash/_SetCache.js", "../../node_modules/lodash/_arraySome.js", "../../node_modules/lodash/_cacheHas.js", "../../node_modules/lodash/_equalArrays.js", "../../node_modules/lodash/_Uint8Array.js", "../../node_modules/lodash/_mapToArray.js", "../../node_modules/lodash/_setToArray.js", "../../node_modules/lodash/_equalByTag.js", "../../node_modules/lodash/_arrayPush.js", "../../node_modules/lodash/_baseGetAllKeys.js", "../../node_modules/lodash/_arrayFilter.js", "../../node_modules/lodash/stubArray.js", "../../node_modules/lodash/_getSymbols.js", "../../node_modules/lodash/_getAllKeys.js", "../../node_modules/lodash/_equalObjects.js", "../../node_modules/lodash/_DataView.js", "../../node_modules/lodash/_Promise.js", "../../node_modules/lodash/_Set.js", "../../node_modules/lodash/_WeakMap.js", "../../node_modules/lodash/_getTag.js", "../../node_modules/lodash/_baseIsEqualDeep.js", "../../node_modules/lodash/_baseIsEqual.js", "../../node_modules/lodash/_baseIsMatch.js", "../../node_modules/lodash/_isStrictComparable.js", "../../node_modules/lodash/_getMatchData.js", "../../node_modules/lodash/_matchesStrictComparable.js", "../../node_modules/lodash/_baseMatches.js", "../../node_modules/lodash/isSymbol.js", "../../node_modules/lodash/_isKey.js", "../../node_modules/lodash/memoize.js", "../../node_modules/lodash/_memoizeCapped.js", "../../node_modules/lodash/_stringToPath.js", "../../node_modules/lodash/_baseToString.js", "../../node_modules/lodash/toString.js", "../../node_modules/lodash/_castPath.js", "../../node_modules/lodash/_toKey.js", "../../node_modules/lodash/_baseGet.js", "../../node_modules/lodash/get.js", "../../node_modules/lodash/_baseHasIn.js", "../../node_modules/lodash/_hasPath.js", "../../node_modules/lodash/hasIn.js", "../../node_modules/lodash/_baseMatchesProperty.js", "../../node_modules/lodash/_baseProperty.js", "../../node_modules/lodash/_basePropertyDeep.js", "../../node_modules/lodash/property.js", "../../node_modules/lodash/_baseIteratee.js", "../../node_modules/lodash/_createBaseEach.js", "../../node_modules/lodash/_baseEach.js", "../../node_modules/lodash/_baseMap.js", "../../node_modules/lodash/map.js", "../../node_modules/reactcss/lib/flattenNames.js", "../../node_modules/lodash/_arrayEach.js", "../../node_modules/lodash/_defineProperty.js", "../../node_modules/lodash/_baseAssignValue.js", "../../node_modules/lodash/_assignValue.js", "../../node_modules/lodash/_copyObject.js", "../../node_modules/lodash/_baseAssign.js", "../../node_modules/lodash/_nativeKeysIn.js", "../../node_modules/lodash/_baseKeysIn.js", "../../node_modules/lodash/keysIn.js", "../../node_modules/lodash/_baseAssignIn.js", "../../node_modules/lodash/_cloneBuffer.js", "../../node_modules/lodash/_copyArray.js", "../../node_modules/lodash/_copySymbols.js", "../../node_modules/lodash/_getSymbolsIn.js", "../../node_modules/lodash/_copySymbolsIn.js", "../../node_modules/lodash/_getAllKeysIn.js", "../../node_modules/lodash/_initCloneArray.js", "../../node_modules/lodash/_cloneArrayBuffer.js", "../../node_modules/lodash/_cloneDataView.js", "../../node_modules/lodash/_cloneRegExp.js", "../../node_modules/lodash/_cloneSymbol.js", "../../node_modules/lodash/_cloneTypedArray.js", "../../node_modules/lodash/_initCloneByTag.js", "../../node_modules/lodash/_baseCreate.js", "../../node_modules/lodash/_initCloneObject.js", "../../node_modules/lodash/_baseIsMap.js", "../../node_modules/lodash/isMap.js", "../../node_modules/lodash/_baseIsSet.js", "../../node_modules/lodash/isSet.js", "../../node_modules/lodash/_baseClone.js", "../../node_modules/lodash/cloneDeep.js", "../../node_modules/reactcss/lib/mergeClasses.js", "../../node_modules/reactcss/lib/autoprefix.js", "../../node_modules/reactcss/lib/components/hover.js", "../../node_modules/reactcss/lib/components/active.js", "../../node_modules/reactcss/lib/loop.js", "../../node_modules/reactcss/lib/index.js", "../../node_modules/@icons/material/UnfoldMoreHorizontalIcon.js", "../../node_modules/@icons/material/CheckIcon.js", "../../node_modules/cronstrue/dist/cronstrue.js", "../../node_modules/cronstrue/locales/fr.js", "../../node_modules/cronstrue/locales/es.js", "../../node_modules/cronstrue/locales/de.js", "../../node_modules/cronstrue/locales/it.js", "../../node_modules/cronstrue/locales/ru.js", "../../node_modules/cronstrue/locales/zh_CN.js", "../../node_modules/cronstrue/locales/uk.js", "../../node_modules/cronstrue/locales/pt_BR.js", "../../node_modules/cronstrue/locales/pl.js", "../../node_modules/attr-accept/dist/es/index.js", "../../node_modules/cropperjs/dist/cropper.js", "../src/index.tsx", "../../node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.js", "../../node_modules/@mui/material/styles/identifier.js", "../../node_modules/@babel/runtime/helpers/esm/extends.js", "../../node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js", "../../node_modules/@emotion/styled/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js", "../../node_modules/@emotion/styled/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js", "../../node_modules/@emotion/react/dist/emotion-element-5486c51c.browser.esm.js", "../../node_modules/@emotion/sheet/dist/emotion-sheet.esm.js", "../../node_modules/stylis/src/Enum.js", "../../node_modules/stylis/src/Utility.js", "../../node_modules/stylis/src/Tokenizer.js", "../../node_modules/stylis/src/Parser.js", "../../node_modules/stylis/src/Serializer.js", "../../node_modules/stylis/src/Middleware.js", "../../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js", "../../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js", "../../node_modules/@emotion/hash/dist/emotion-hash.esm.js", "../../node_modules/@emotion/serialize/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js", "../../node_modules/@emotion/serialize/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js", "../../node_modules/@emotion/serialize/dist/emotion-serialize.esm.js", "../../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js", "../../node_modules/@emotion/react/dist/emotion-react.browser.esm.js", "../../node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js", "../../node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.js", "../../node_modules/@mui/styled-engine/index.js", "../../node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js", "../../node_modules/@mui/utils/esm/deepmerge/deepmerge.js", "../../node_modules/@mui/system/esm/createBreakpoints/createBreakpoints.js", "../../node_modules/@mui/system/esm/cssContainerQueries/cssContainerQueries.js", "../../node_modules/@mui/system/esm/createTheme/shape.js", "../../node_modules/@mui/system/esm/merge/merge.js", "../../node_modules/@mui/system/esm/breakpoints/breakpoints.js", "../../node_modules/@mui/utils/esm/capitalize/capitalize.js", "../../node_modules/@mui/system/esm/style/style.js", "../../node_modules/@mui/system/esm/memoize/memoize.js", "../../node_modules/@mui/system/esm/spacing/spacing.js", "../../node_modules/@mui/system/esm/createTheme/createSpacing.js", "../../node_modules/@mui/system/esm/compose/compose.js", "../../node_modules/@mui/system/esm/borders/borders.js", "../../node_modules/@mui/system/esm/cssGrid/cssGrid.js", "../../node_modules/@mui/system/esm/palette/palette.js", "../../node_modules/@mui/system/esm/sizing/sizing.js", "../../node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js", "../../node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js", "../../node_modules/@mui/system/esm/createTheme/applyStyles.js", "../../node_modules/@mui/system/esm/createTheme/createTheme.js", "../../node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.js", "../../node_modules/@mui/system/esm/useTheme/useTheme.js", "../../node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.js", "../../node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js", "../../node_modules/@mui/system/esm/createBox/createBox.js", "../../node_modules/clsx/dist/clsx.mjs", "../../node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js", "../../node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js", "../../node_modules/@mui/system/esm/preprocessStyles.js", "../../node_modules/@mui/system/esm/createStyled/createStyled.js", "../../node_modules/@mui/system/esm/styled/styled.js", "../../node_modules/@mui/utils/esm/resolveProps/resolveProps.js", "../../node_modules/@mui/system/esm/useThemeProps/getThemeProps.js", "../../node_modules/@mui/system/esm/useThemeProps/useThemeProps.js", "../../node_modules/@mui/system/esm/useMediaQuery/useMediaQuery.js", "../../node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.js", "../../node_modules/@mui/utils/esm/clamp/clamp.js", "../../node_modules/@mui/system/esm/colorManipulator/colorManipulator.js", "../../node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.js", "../../node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.js", "../../node_modules/@mui/utils/esm/createChainedFunction/createChainedFunction.js", "../../node_modules/@mui/utils/esm/debounce/debounce.js", "../../node_modules/@mui/utils/esm/isMuiElement/isMuiElement.js", "../../node_modules/@mui/utils/esm/ownerDocument/ownerDocument.js", "../../node_modules/@mui/utils/esm/ownerWindow/ownerWindow.js", "../../node_modules/@mui/utils/esm/setRef/setRef.js", "../../node_modules/@mui/utils/esm/useId/useId.js", "../../node_modules/@mui/utils/esm/useControlled/useControlled.js", "../../node_modules/@mui/utils/esm/useEventCallback/useEventCallback.js", "../../node_modules/@mui/utils/esm/useForkRef/useForkRef.js", "../../node_modules/@mui/utils/esm/useLazyRef/useLazyRef.js", "../../node_modules/@mui/utils/esm/useOnMount/useOnMount.js", "../../node_modules/@mui/utils/esm/useTimeout/useTimeout.js", "../../node_modules/@mui/utils/esm/isFocusVisible/isFocusVisible.js", "../../node_modules/@mui/utils/esm/getScrollbarSize/getScrollbarSize.js", "../../node_modules/@mui/utils/esm/usePreviousProps/usePreviousProps.js", "../../node_modules/@mui/utils/esm/composeClasses/composeClasses.js", "../../node_modules/@mui/utils/esm/isHostComponent/isHostComponent.js", "../../node_modules/@mui/utils/esm/appendOwnerState/appendOwnerState.js", "../../node_modules/@mui/utils/esm/extractEventHandlers/extractEventHandlers.js", "../../node_modules/@mui/utils/esm/omitEventHandlers/omitEventHandlers.js", "../../node_modules/@mui/utils/esm/mergeSlotProps/mergeSlotProps.js", "../../node_modules/@mui/utils/esm/resolveComponentProps/resolveComponentProps.js", "../../node_modules/@mui/utils/esm/useSlotProps/useSlotProps.js", "../../node_modules/@mui/utils/esm/getReactElementRef/getReactElementRef.js", "../../node_modules/@mui/private-theming/useTheme/ThemeContext.js", "../../node_modules/@mui/private-theming/useTheme/useTheme.js", "../../node_modules/@mui/private-theming/ThemeProvider/nested.js", "../../node_modules/@mui/system/esm/RtlProvider/index.js", "../../node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.js", "../../node_modules/@mui/system/esm/memoTheme.js", "../../node_modules/@mui/system/esm/cssVars/createCssVarsProvider.js", "../../node_modules/@mui/system/esm/InitColorSchemeScript/InitColorSchemeScript.js", "../../node_modules/@mui/system/esm/cssVars/useCurrentColorScheme.js", "../../node_modules/@mui/system/esm/cssVars/createGetCssVar.js", "../../node_modules/@mui/system/esm/cssVars/cssVarsParser.js", "../../node_modules/@mui/system/esm/cssVars/prepareCssVars.js", "../../node_modules/@mui/system/esm/cssVars/getColorSchemeSelector.js", "../../node_modules/@mui/system/esm/Grid/createGrid.js", "../../node_modules/@mui/system/esm/Grid/traverseBreakpoints.js", "../../node_modules/@mui/system/esm/Grid/gridGenerator.js", "../../node_modules/@mui/material/colors/common.js", "../../node_modules/@mui/material/colors/grey.js", "../../node_modules/@mui/material/colors/purple.js", "../../node_modules/@mui/material/colors/red.js", "../../node_modules/@mui/material/colors/orange.js", "../../node_modules/@mui/material/colors/blue.js", "../../node_modules/@mui/material/colors/lightBlue.js", "../../node_modules/@mui/material/colors/green.js", "../../node_modules/@mui/material/styles/createPalette.js", "../../node_modules/@mui/system/esm/cssVars/prepareTypographyVars.js", "../../node_modules/@mui/material/styles/createMixins.js", "../../node_modules/@mui/material/styles/createTypography.js", "../../node_modules/@mui/material/styles/shadows.js", "../../node_modules/@mui/material/styles/createTransitions.js", "../../node_modules/@mui/material/styles/zIndex.js", "../../node_modules/@mui/material/styles/stringifyTheme.js", "../../node_modules/@mui/material/styles/createThemeNoVars.js", "../../node_modules/@mui/material/styles/getOverlayAlpha.js", "../../node_modules/@mui/material/styles/createColorScheme.js", "../../node_modules/@mui/material/styles/shouldSkipGeneratingVar.js", "../../node_modules/@mui/material/styles/excludeVariablesFromRoot.js", "../../node_modules/@mui/material/styles/createGetSelector.js", "../../node_modules/@mui/material/styles/createThemeWithVars.js", "../../node_modules/@mui/material/styles/createTheme.js", "../../node_modules/@mui/material/styles/useTheme.js", "../../node_modules/@mui/material/styles/defaultTheme.js", "../../node_modules/@mui/material/styles/useThemeProps.js", "../../node_modules/@mui/material/styles/slotShouldForwardProp.js", "../../node_modules/@mui/material/styles/rootShouldForwardProp.js", "../../node_modules/@mui/material/styles/styled.js", "../../node_modules/@mui/material/styles/ThemeProvider.js", "../../node_modules/@mui/material/styles/ThemeProviderNoVars.js", "../../node_modules/@mui/material/styles/ThemeProviderWithVars.js", "../../node_modules/@mui/material/InitColorSchemeScript/InitColorSchemeScript.js", "../../node_modules/@iobroker/adapter-react-v5/build/Theme.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/GenericApp.tsx", "../../node_modules/@iobroker/socket-client/src/DeferredPromise.ts", "../../node_modules/@iobroker/socket-client/src/tools.ts", "../../node_modules/@iobroker/socket-client/src/Connection.ts", "../../node_modules/@iobroker/socket-client/src/AdminConnection.ts", "../../node_modules/@sentry/core/src/debug-build.ts", "../../node_modules/@sentry/core/src/utils-hoist/version.ts", "../../node_modules/@sentry/core/src/utils-hoist/worldwide.ts", "../../node_modules/@sentry/core/src/utils-hoist/debug-build.ts", "../../node_modules/@sentry/core/src/utils-hoist/logger.ts", "../../node_modules/@sentry/core/src/utils-hoist/stacktrace.ts", "../../node_modules/@sentry/core/src/utils-hoist/instrument/handlers.ts", "../../node_modules/@sentry/core/src/utils-hoist/instrument/globalError.ts", "../../node_modules/@sentry/core/src/utils-hoist/instrument/globalUnhandledRejection.ts", "../../node_modules/@sentry/core/src/carrier.ts", "../../node_modules/@sentry/core/src/utils-hoist/is.ts", "../../node_modules/@sentry/core/src/utils-hoist/browser.ts", "../../node_modules/@sentry/core/src/utils-hoist/string.ts", "../../node_modules/@sentry/core/src/utils-hoist/object.ts", "../../node_modules/@sentry/core/src/utils-hoist/time.ts", "../../node_modules/@sentry/core/src/utils-hoist/misc.ts", "../../node_modules/@sentry/core/src/utils-hoist/syncpromise.ts", "../../node_modules/@sentry/core/src/session.ts", "../../node_modules/@sentry/core/src/utils-hoist/propagationContext.ts", "../../node_modules/@sentry/core/src/utils/merge.ts", "../../node_modules/@sentry/core/src/utils/spanOnScope.ts", "../../node_modules/@sentry/core/src/scope.ts", "../../node_modules/@sentry/core/src/defaultScopes.ts", "../../node_modules/@sentry/core/src/asyncContext/stackStrategy.ts", "../../node_modules/@sentry/core/src/asyncContext/index.ts", "../../node_modules/@sentry/core/src/currentScopes.ts", "../../node_modules/@sentry/core/src/metrics/metric-summary.ts", "../../node_modules/@sentry/core/src/semanticAttributes.ts", "../../node_modules/@sentry/core/src/utils-hoist/baggage.ts", "../../node_modules/@sentry/core/src/utils/spanUtils.ts", "../../node_modules/@sentry/core/src/utils/hasTracingEnabled.ts", "../../node_modules/@sentry/core/src/constants.ts", "../../node_modules/@sentry/core/src/tracing/dynamicSamplingContext.ts", "../../node_modules/@sentry/core/src/utils/parseSampleRate.ts", "../../node_modules/@sentry/core/src/utils-hoist/dsn.ts", "../../node_modules/@sentry/core/src/utils-hoist/memo.ts", "../../node_modules/@sentry/core/src/utils-hoist/normalize.ts", "../../node_modules/@sentry/core/src/utils-hoist/envelope.ts", "../../node_modules/@sentry/core/src/envelope.ts", "../../node_modules/@sentry/core/src/eventProcessors.ts", "../../node_modules/@sentry/core/src/utils-hoist/debug-ids.ts", "../../node_modules/@sentry/core/src/utils/applyScopeDataToEvent.ts", "../../node_modules/@sentry/core/src/utils/prepareEvent.ts", "../../node_modules/@sentry/core/src/exports.ts", "../../node_modules/@sentry/core/src/api.ts", "../../node_modules/@sentry/core/src/integration.ts", "../../node_modules/@sentry/core/src/utils-hoist/clientreport.ts", "../../node_modules/@sentry/core/src/utils-hoist/error.ts", "../../node_modules/@sentry/core/src/baseclient.ts", "../../node_modules/@sentry/core/src/sdk.ts", "../../node_modules/@sentry/core/src/utils-hoist/promisebuffer.ts", "../../node_modules/@sentry/core/src/utils-hoist/ratelimit.ts", "../../node_modules/@sentry/core/src/transports/base.ts", "../../node_modules/@sentry/core/src/utils/sdkMetadata.ts", "../../node_modules/@sentry/core/src/breadcrumbs.ts", "../../node_modules/@sentry/core/src/integrations/functiontostring.ts", "../../node_modules/@sentry/core/src/integrations/inboundfilters.ts", "../../node_modules/@sentry/core/src/utils-hoist/aggregate-errors.ts", "../../node_modules/@sentry/core/src/utils-hoist/url.ts", "../../node_modules/@sentry/core/src/utils-hoist/instrument/console.ts", "../../node_modules/@sentry/core/src/utils-hoist/severity.ts", "../../node_modules/@sentry/core/src/integrations/dedupe.ts", "../../node_modules/@sentry/core/src/utils-hoist/breadcrumb-log-level.ts", "../../node_modules/@sentry/core/src/utils-hoist/supports.ts", "../../node_modules/@sentry/core/src/utils-hoist/instrument/fetch.ts", "../../node_modules/@sentry/core/src/utils-hoist/env.ts", "../../node_modules/@sentry/core/src/utils-hoist/vendor/supportsHistory.ts", "../../node_modules/@sentry/browser/src/helpers.ts", "../../node_modules/@sentry/browser/src/debug-build.ts", "../../node_modules/@sentry/browser/src/eventbuilder.ts", "../../node_modules/@sentry/browser/src/userfeedback.ts", "../../node_modules/@sentry/browser/src/client.ts", "../../node_modules/@sentry-internal/browser-utils/src/debug-build.ts", "../../node_modules/@sentry-internal/browser-utils/src/types.ts", "../../node_modules/@sentry-internal/browser-utils/src/instrument/dom.ts", "../../node_modules/@sentry-internal/browser-utils/src/instrument/history.ts", "../../node_modules/@sentry-internal/browser-utils/src/getNativeImplementation.ts", "../../node_modules/@sentry-internal/browser-utils/src/instrument/xhr.ts", "../../node_modules/@sentry/browser/src/transports/fetch.ts", "../../node_modules/@sentry/browser/src/stack-parsers.ts", "../../node_modules/@sentry/browser/src/integrations/breadcrumbs.ts", "../../node_modules/@sentry/browser/src/integrations/browserapierrors.ts", "../../node_modules/@sentry/browser/src/integrations/globalhandlers.ts", "../../node_modules/@sentry/browser/src/integrations/httpcontext.ts", "../../node_modules/@sentry/browser/src/integrations/linkederrors.ts", "../../node_modules/@sentry/browser/src/sdk.ts", "../../node_modules/@mui/material/utils/capitalize.js", "../../node_modules/@mui/material/utils/createChainedFunction.js", "../../node_modules/@mui/material/utils/createSvgIcon.js", "../../node_modules/@mui/material/SvgIcon/SvgIcon.js", "../../node_modules/@mui/material/zero-styled/index.js", "../../node_modules/@mui/material/GlobalStyles/GlobalStyles.js", "../../node_modules/@mui/material/utils/memoTheme.js", "../../node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.js", "../../node_modules/@mui/material/SvgIcon/svgIconClasses.js", "../../node_modules/@mui/material/utils/debounce.js", "../../node_modules/@mui/material/utils/isMuiElement.js", "../../node_modules/@mui/material/utils/ownerDocument.js", "../../node_modules/@mui/material/utils/ownerWindow.js", "../../node_modules/@mui/material/utils/useEnhancedEffect.js", "../../node_modules/@mui/material/utils/useId.js", "../../node_modules/@mui/material/utils/useControlled.js", "../../node_modules/@mui/material/utils/useEventCallback.js", "../../node_modules/@mui/material/utils/useForkRef.js", "../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js", "../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js", "../../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js", "../../node_modules/react-transition-group/esm/Transition.js", "../../node_modules/react-transition-group/esm/config.js", "../../node_modules/react-transition-group/esm/TransitionGroupContext.js", "../../node_modules/react-transition-group/esm/utils/reflow.js", "../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js", "../../node_modules/react-transition-group/esm/TransitionGroup.js", "../../node_modules/react-transition-group/esm/utils/ChildMapping.js", "../../node_modules/@mui/material/transitions/utils.js", "../../node_modules/@mui/material/Paper/Paper.js", "../../node_modules/@mui/material/Paper/paperClasses.js", "../../node_modules/@mui/material/utils/useSlot.js", "../../node_modules/@mui/material/ButtonBase/ButtonBase.js", "../../node_modules/@mui/material/useLazyRipple/useLazyRipple.js", "../../node_modules/@mui/material/ButtonBase/TouchRipple.js", "../../node_modules/@mui/material/ButtonBase/Ripple.js", "../../node_modules/@mui/material/ButtonBase/touchRippleClasses.js", "../../node_modules/@mui/material/ButtonBase/buttonBaseClasses.js", "../../node_modules/@mui/material/utils/createSimplePaletteValueFilter.js", "../../node_modules/@mui/material/IconButton/IconButton.js", "../../node_modules/@mui/material/IconButton/iconButtonClasses.js", "../../node_modules/@mui/material/Typography/Typography.js", "../../node_modules/@mui/material/Typography/typographyClasses.js", "../../node_modules/@mui/material/AppBar/AppBar.js", "../../node_modules/@mui/material/AppBar/appBarClasses.js", "../../node_modules/@mui/material/Popper/Popper.js", "../../node_modules/@mui/material/Popper/BasePopper.js", "../../node_modules/@popperjs/core/lib/enums.js", "../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js", "../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js", "../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js", "../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js", "../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js", "../../node_modules/@popperjs/core/lib/utils/math.js", "../../node_modules/@popperjs/core/lib/utils/userAgent.js", "../../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js", "../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js", "../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js", "../../node_modules/@popperjs/core/lib/dom-utils/contains.js", "../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js", "../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js", "../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js", "../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js", "../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js", "../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js", "../../node_modules/@popperjs/core/lib/utils/within.js", "../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js", "../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js", "../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js", "../../node_modules/@popperjs/core/lib/modifiers/arrow.js", "../../node_modules/@popperjs/core/lib/utils/getVariation.js", "../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js", "../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js", "../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js", "../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js", "../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js", "../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js", "../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js", "../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js", "../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js", "../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js", "../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js", "../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js", "../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js", "../../node_modules/@popperjs/core/lib/utils/computeOffsets.js", "../../node_modules/@popperjs/core/lib/utils/detectOverflow.js", "../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js", "../../node_modules/@popperjs/core/lib/modifiers/flip.js", "../../node_modules/@popperjs/core/lib/modifiers/hide.js", "../../node_modules/@popperjs/core/lib/modifiers/offset.js", "../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js", "../../node_modules/@popperjs/core/lib/utils/getAltAxis.js", "../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js", "../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js", "../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js", "../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js", "../../node_modules/@popperjs/core/lib/utils/orderModifiers.js", "../../node_modules/@popperjs/core/lib/utils/debounce.js", "../../node_modules/@popperjs/core/lib/utils/mergeByName.js", "../../node_modules/@popperjs/core/lib/createPopper.js", "../../node_modules/@popperjs/core/lib/popper.js", "../../node_modules/@mui/material/Portal/Portal.js", "../../node_modules/@mui/material/Popper/popperClasses.js", "../../node_modules/@mui/material/InputBase/InputBase.js", "../../node_modules/@mui/material/TextareaAutosize/TextareaAutosize.js", "../../node_modules/@mui/material/utils/isHostComponent.js", "../../node_modules/@mui/material/FormControl/formControlState.js", "../../node_modules/@mui/material/FormControl/FormControlContext.js", "../../node_modules/@mui/material/FormControl/useFormControl.js", "../../node_modules/@mui/material/InputBase/utils.js", "../../node_modules/@mui/material/InputBase/inputBaseClasses.js", "../../node_modules/@mui/material/Input/inputClasses.js", "../../node_modules/@mui/material/OutlinedInput/outlinedInputClasses.js", "../../node_modules/@mui/material/FilledInput/filledInputClasses.js", "../../node_modules/@mui/material/internal/svg-icons/ArrowDropDown.js", "../../node_modules/@mui/material/Backdrop/Backdrop.js", "../../node_modules/@mui/material/Fade/Fade.js", "../../node_modules/@mui/material/Backdrop/backdropClasses.js", "../../node_modules/@mui/material/Badge/Badge.js", "../../node_modules/@mui/material/Badge/useBadge.js", "../../node_modules/@mui/material/Badge/badgeClasses.js", "../../node_modules/@mui/material/Box/boxClasses.js", "../../node_modules/@mui/material/Box/Box.js", "../../node_modules/@mui/material/Breadcrumbs/Breadcrumbs.js", "../../node_modules/@mui/material/Breadcrumbs/BreadcrumbCollapsed.js", "../../node_modules/@mui/material/internal/svg-icons/MoreHoriz.js", "../../node_modules/@mui/material/Breadcrumbs/breadcrumbsClasses.js", "../../node_modules/@mui/material/Button/Button.js", "../../node_modules/@mui/material/Button/buttonClasses.js", "../../node_modules/@mui/material/ButtonGroup/ButtonGroupContext.js", "../../node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext.js", "../../node_modules/@mui/material/Checkbox/Checkbox.js", "../../node_modules/@mui/material/internal/SwitchBase.js", "../../node_modules/@mui/material/internal/switchBaseClasses.js", "../../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js", "../../node_modules/@mui/material/internal/svg-icons/CheckBox.js", "../../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js", "../../node_modules/@mui/material/Checkbox/checkboxClasses.js", "../../node_modules/@mui/material/CircularProgress/CircularProgress.js", "../../node_modules/@mui/material/CircularProgress/circularProgressClasses.js", "../../node_modules/@mui/material/ClickAwayListener/ClickAwayListener.js", "../../node_modules/@mui/material/Dialog/Dialog.js", "../../node_modules/@mui/material/Modal/ModalManager.js", "../../node_modules/@mui/material/Modal/Modal.js", "../../node_modules/@mui/material/Unstable_TrapFocus/FocusTrap.js", "../../node_modules/@mui/material/Modal/useModal.js", "../../node_modules/@mui/material/Modal/modalClasses.js", "../../node_modules/@mui/material/Dialog/dialogClasses.js", "../../node_modules/@mui/material/Dialog/DialogContext.js", "../../node_modules/@mui/material/DialogActions/DialogActions.js", "../../node_modules/@mui/material/DialogActions/dialogActionsClasses.js", "../../node_modules/@mui/material/DialogContent/DialogContent.js", "../../node_modules/@mui/material/DialogContent/dialogContentClasses.js", "../../node_modules/@mui/material/DialogTitle/dialogTitleClasses.js", "../../node_modules/@mui/material/DialogContentText/DialogContentText.js", "../../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js", "../../node_modules/@mui/material/DialogTitle/DialogTitle.js", "../../node_modules/@mui/material/Divider/dividerClasses.js", "../../node_modules/@mui/material/Fab/Fab.js", "../../node_modules/@mui/material/Fab/fabClasses.js", "../../node_modules/@mui/material/FilledInput/FilledInput.js", "../../node_modules/@mui/material/FormControl/FormControl.js", "../../node_modules/@mui/material/FormControl/formControlClasses.js", "../../node_modules/@mui/material/FormControlLabel/FormControlLabel.js", "../../node_modules/@mui/material/FormControlLabel/formControlLabelClasses.js", "../../node_modules/@mui/material/FormGroup/FormGroup.js", "../../node_modules/@mui/material/FormGroup/formGroupClasses.js", "../../node_modules/@mui/material/FormHelperText/FormHelperText.js", "../../node_modules/@mui/material/FormHelperText/formHelperTextClasses.js", "../../node_modules/@mui/material/FormLabel/FormLabel.js", "../../node_modules/@mui/material/FormLabel/formLabelClasses.js", "../../node_modules/@mui/material/Grid/Grid.js", "../../node_modules/@mui/material/Grid/GridContext.js", "../../node_modules/@mui/material/Grid/gridClasses.js", "../../node_modules/@mui/material/Grid2/Grid2.js", "../../node_modules/@mui/material/Grow/Grow.js", "../../node_modules/@mui/material/useMediaQuery/index.js", "../../node_modules/@mui/material/Input/Input.js", "../../node_modules/@mui/material/InputLabel/InputLabel.js", "../../node_modules/@mui/material/InputLabel/inputLabelClasses.js", "../../node_modules/@mui/material/LinearProgress/LinearProgress.js", "../../node_modules/@mui/material/LinearProgress/linearProgressClasses.js", "../../node_modules/@mui/material/List/List.js", "../../node_modules/@mui/material/List/ListContext.js", "../../node_modules/@mui/material/List/listClasses.js", "../../node_modules/@mui/material/ListItem/ListItem.js", "../../node_modules/@mui/material/ListItem/listItemClasses.js", "../../node_modules/@mui/material/ListItemButton/ListItemButton.js", "../../node_modules/@mui/material/ListItemButton/listItemButtonClasses.js", "../../node_modules/@mui/material/ListItemSecondaryAction/ListItemSecondaryAction.js", "../../node_modules/@mui/material/ListItemSecondaryAction/listItemSecondaryActionClasses.js", "../../node_modules/@mui/material/ListItemIcon/ListItemIcon.js", "../../node_modules/@mui/material/ListItemIcon/listItemIconClasses.js", "../../node_modules/@mui/material/ListItemText/ListItemText.js", "../../node_modules/@mui/material/ListItemText/listItemTextClasses.js", "../../node_modules/@mui/material/Menu/Menu.js", "../../node_modules/@mui/material/MenuList/MenuList.js", "../../node_modules/@mui/material/utils/getScrollbarSize.js", "../../node_modules/@mui/material/Popover/Popover.js", "../../node_modules/@mui/material/Popover/popoverClasses.js", "../../node_modules/@mui/material/Menu/menuClasses.js", "../../node_modules/@mui/material/MenuItem/MenuItem.js", "../../node_modules/@mui/material/MenuItem/menuItemClasses.js", "../../node_modules/@mui/material/NativeSelect/NativeSelectInput.js", "../../node_modules/@mui/material/NativeSelect/nativeSelectClasses.js", "../../node_modules/@mui/material/OutlinedInput/OutlinedInput.js", "../../node_modules/@mui/material/OutlinedInput/NotchedOutline.js", "../../node_modules/@mui/material/Radio/Radio.js", "../../node_modules/@mui/material/Radio/RadioButtonIcon.js", "../../node_modules/@mui/material/internal/svg-icons/RadioButtonUnchecked.js", "../../node_modules/@mui/material/internal/svg-icons/RadioButtonChecked.js", "../../node_modules/@mui/material/RadioGroup/useRadioGroup.js", "../../node_modules/@mui/material/RadioGroup/RadioGroupContext.js", "../../node_modules/@mui/material/Radio/radioClasses.js", "../../node_modules/@mui/material/Select/Select.js", "../../node_modules/@mui/material/Select/SelectInput.js", "../../node_modules/@mui/material/Select/selectClasses.js", "../../node_modules/@mui/material/Snackbar/Snackbar.js", "../../node_modules/@mui/material/Snackbar/useSnackbar.js", "../../node_modules/@mui/material/SnackbarContent/SnackbarContent.js", "../../node_modules/@mui/material/SnackbarContent/snackbarContentClasses.js", "../../node_modules/@mui/material/Snackbar/snackbarClasses.js", "../../node_modules/@mui/material/Tooltip/Tooltip.js", "../../node_modules/@mui/material/Tooltip/tooltipClasses.js", "../../node_modules/@mui/material/Switch/Switch.js", "../../node_modules/@mui/material/Switch/switchClasses.js", "../../node_modules/@mui/material/Tab/Tab.js", "../../node_modules/@mui/material/Tab/tabClasses.js", "../../node_modules/@mui/material/Table/Table.js", "../../node_modules/@mui/material/Table/TableContext.js", "../../node_modules/@mui/material/Table/tableClasses.js", "../../node_modules/@mui/material/TableBody/TableBody.js", "../../node_modules/@mui/material/Table/Tablelvl2Context.js", "../../node_modules/@mui/material/TableBody/tableBodyClasses.js", "../../node_modules/@mui/material/TableCell/TableCell.js", "../../node_modules/@mui/material/TableCell/tableCellClasses.js", "../../node_modules/@mui/material/TableContainer/TableContainer.js", "../../node_modules/@mui/material/TableContainer/tableContainerClasses.js", "../../node_modules/@mui/material/TableHead/TableHead.js", "../../node_modules/@mui/material/TableHead/tableHeadClasses.js", "../../node_modules/@mui/material/Toolbar/Toolbar.js", "../../node_modules/@mui/material/Toolbar/toolbarClasses.js", "../../node_modules/@mui/material/internal/svg-icons/KeyboardArrowLeft.js", "../../node_modules/@mui/material/internal/svg-icons/KeyboardArrowRight.js", "../../node_modules/@mui/material/TableRow/TableRow.js", "../../node_modules/@mui/material/TableRow/tableRowClasses.js", "../../node_modules/@mui/material/Tabs/Tabs.js", "../../node_modules/@mui/material/internal/animate.js", "../../node_modules/@mui/material/Tabs/ScrollbarSize.js", "../../node_modules/@mui/material/TabScrollButton/TabScrollButton.js", "../../node_modules/@mui/material/TabScrollButton/tabScrollButtonClasses.js", "../../node_modules/@mui/material/Tabs/tabsClasses.js", "../../node_modules/@mui/material/TextField/TextField.js", "../../node_modules/@mui/material/TextField/textFieldClasses.js", "../../node_modules/@mui/icons-material/esm/Add.js", "../../node_modules/@mui/icons-material/esm/ArrowBack.js", "../../node_modules/@mui/icons-material/esm/ArrowRight.js", "../../node_modules/@mui/icons-material/esm/AudioFile.js", "../../node_modules/@mui/icons-material/esm/BedroomParent.js", "../../node_modules/@mui/icons-material/esm/Bookmark.js", "../../node_modules/@mui/icons-material/esm/BookmarkBorder.js", "../../node_modules/@mui/icons-material/esm/BorderColor.js", "../../node_modules/@mui/icons-material/esm/Brightness6.js", "../../node_modules/@mui/icons-material/esm/Build.js", "../../node_modules/@mui/icons-material/esm/CalendarToday.js", "../../node_modules/@mui/icons-material/esm/Cancel.js", "../../node_modules/@mui/icons-material/esm/Check.js", "../../node_modules/@mui/icons-material/esm/Close.js", "../../node_modules/@mui/icons-material/esm/Code.js", "../../node_modules/@mui/icons-material/esm/Construction.js", "../../node_modules/@mui/icons-material/esm/ContentCopy.js", "../../node_modules/@mui/icons-material/esm/CreateNewFolder.js", "../../node_modules/@mui/icons-material/esm/DataObject.js", "../../node_modules/@mui/icons-material/esm/Delete.js", "../../node_modules/@mui/icons-material/esm/Description.js", "../../node_modules/@mui/icons-material/esm/Edit.js", "../../node_modules/@mui/icons-material/esm/Error.js", "../../node_modules/@mui/icons-material/esm/FindInPage.js", "../../node_modules/@mui/icons-material/esm/FolderOpen.js", "../../node_modules/@mui/icons-material/esm/FolderSpecial.js", "../../node_modules/@mui/icons-material/esm/FontDownload.js", "../../node_modules/@mui/icons-material/esm/FormatItalic.js", "../../node_modules/@mui/icons-material/esm/Help.js", "../../node_modules/@mui/icons-material/esm/Image.js", "../../node_modules/@mui/icons-material/esm/Info.js", "../../node_modules/@mui/icons-material/esm/InsertDriveFile.js", "../../node_modules/@mui/icons-material/esm/KeyboardReturn.js", "../../node_modules/@mui/icons-material/esm/Link.js", "../../node_modules/@mui/icons-material/esm/List.js", "../../node_modules/@mui/icons-material/esm/ListAlt.js", "../../node_modules/@mui/icons-material/esm/LooksOne.js", "../../node_modules/@mui/icons-material/esm/MusicNote.js", "../../node_modules/@mui/icons-material/esm/PersonOutlined.js", "../../node_modules/@mui/icons-material/esm/Publish.js", "../../node_modules/@mui/icons-material/esm/Refresh.js", "../../node_modules/@mui/icons-material/esm/Router.js", "../../node_modules/@mui/icons-material/esm/Save.js", "../../node_modules/@mui/icons-material/esm/SaveAlt.js", "../../node_modules/@mui/icons-material/esm/Settings.js", "../../node_modules/@mui/icons-material/esm/SettingsApplications.js", "../../node_modules/@mui/icons-material/esm/ShowChart.js", "../../node_modules/@mui/icons-material/esm/SupervisedUserCircle.js", "../../node_modules/@mui/icons-material/esm/TextFields.js", "../../node_modules/@mui/icons-material/esm/VerticalAlignBottom.js", "../../node_modules/@mui/icons-material/esm/VerticalAlignTop.js", "../../node_modules/@mui/icons-material/esm/Videocam.js", "../../node_modules/@mui/icons-material/esm/ViewColumn.js", "../../node_modules/@mui/icons-material/esm/ViewModule.js", "../../node_modules/@mui/icons-material/esm/Wifi.js", "../../node_modules/@mui/icons-material/esm/WifiOff.js", "../../node_modules/@iobroker/adapter-react-v5/build/Prompt.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/Loader.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/Router.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/Utils.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/CopyToClipboard.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/i18n.ts", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/SaveCloseButtons.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Dialogs/Dialogs/Confirm.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Dialogs/Dialogs/Error.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/i18n/en.json", "../../node_modules/@iobroker/adapter-react-v5/build/i18n/de.json", "../../node_modules/@iobroker/adapter-react-v5/build/i18n/ru.json", "../../node_modules/@iobroker/adapter-react-v5/build/i18n/pt.json", "../../node_modules/@iobroker/adapter-react-v5/build/i18n/nl.json", "../../node_modules/@iobroker/adapter-react-v5/build/i18n/fr.json", "../../node_modules/@iobroker/adapter-react-v5/build/i18n/it.json", "../../node_modules/@iobroker/adapter-react-v5/build/i18n/es.json", "../../node_modules/@iobroker/adapter-react-v5/build/i18n/pl.json", "../../node_modules/@iobroker/adapter-react-v5/build/i18n/uk.json", "../../node_modules/@iobroker/adapter-react-v5/build/i18n/zh-cn.json", "../../node_modules/@iobroker/adapter-react-v5/build/dictionary.ts", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/ColorPicker.tsx", "../../node_modules/react-color/es/components/alpha/Alpha.js", "../../node_modules/react-color/es/components/common/Alpha.js", "../../node_modules/react-color/es/helpers/alpha.js", "../../node_modules/react-color/es/components/common/Checkboard.js", "../../node_modules/react-color/es/helpers/checkboard.js", "../../node_modules/react-color/es/components/common/EditableInput.js", "../../node_modules/react-color/es/components/common/Hue.js", "../../node_modules/react-color/es/helpers/hue.js", "../../node_modules/react-color/es/components/common/Raised.js", "../../node_modules/lodash-es/_listCacheClear.js", "../../node_modules/lodash-es/eq.js", "../../node_modules/lodash-es/_assocIndexOf.js", "../../node_modules/lodash-es/_listCacheDelete.js", "../../node_modules/lodash-es/_listCacheGet.js", "../../node_modules/lodash-es/_listCacheHas.js", "../../node_modules/lodash-es/_listCacheSet.js", "../../node_modules/lodash-es/_ListCache.js", "../../node_modules/lodash-es/_stackClear.js", "../../node_modules/lodash-es/_stackDelete.js", "../../node_modules/lodash-es/_stackGet.js", "../../node_modules/lodash-es/_stackHas.js", "../../node_modules/lodash-es/_freeGlobal.js", "../../node_modules/lodash-es/_root.js", "../../node_modules/lodash-es/_Symbol.js", "../../node_modules/lodash-es/_getRawTag.js", "../../node_modules/lodash-es/_objectToString.js", "../../node_modules/lodash-es/_baseGetTag.js", "../../node_modules/lodash-es/isObject.js", "../../node_modules/lodash-es/isFunction.js", "../../node_modules/lodash-es/_coreJsData.js", "../../node_modules/lodash-es/_isMasked.js", "../../node_modules/lodash-es/_toSource.js", "../../node_modules/lodash-es/_baseIsNative.js", "../../node_modules/lodash-es/_getValue.js", "../../node_modules/lodash-es/_getNative.js", "../../node_modules/lodash-es/_Map.js", "../../node_modules/lodash-es/_nativeCreate.js", "../../node_modules/lodash-es/_hashClear.js", "../../node_modules/lodash-es/_hashDelete.js", "../../node_modules/lodash-es/_hashGet.js", "../../node_modules/lodash-es/_hashHas.js", "../../node_modules/lodash-es/_hashSet.js", "../../node_modules/lodash-es/_Hash.js", "../../node_modules/lodash-es/_mapCacheClear.js", "../../node_modules/lodash-es/_isKeyable.js", "../../node_modules/lodash-es/_getMapData.js", "../../node_modules/lodash-es/_mapCacheDelete.js", "../../node_modules/lodash-es/_mapCacheGet.js", "../../node_modules/lodash-es/_mapCacheHas.js", "../../node_modules/lodash-es/_mapCacheSet.js", "../../node_modules/lodash-es/_MapCache.js", "../../node_modules/lodash-es/_stackSet.js", "../../node_modules/lodash-es/_Stack.js", "../../node_modules/lodash-es/_defineProperty.js", "../../node_modules/lodash-es/_baseAssignValue.js", "../../node_modules/lodash-es/_assignMergeValue.js", "../../node_modules/lodash-es/_createBaseFor.js", "../../node_modules/lodash-es/_baseFor.js", "../../node_modules/lodash-es/_cloneBuffer.js", "../../node_modules/lodash-es/_Uint8Array.js", "../../node_modules/lodash-es/_cloneArrayBuffer.js", "../../node_modules/lodash-es/_cloneTypedArray.js", "../../node_modules/lodash-es/_copyArray.js", "../../node_modules/lodash-es/_baseCreate.js", "../../node_modules/lodash-es/_overArg.js", "../../node_modules/lodash-es/_getPrototype.js", "../../node_modules/lodash-es/_isPrototype.js", "../../node_modules/lodash-es/_initCloneObject.js", "../../node_modules/lodash-es/isObjectLike.js", "../../node_modules/lodash-es/_baseIsArguments.js", "../../node_modules/lodash-es/isArguments.js", "../../node_modules/lodash-es/isArray.js", "../../node_modules/lodash-es/isLength.js", "../../node_modules/lodash-es/isArrayLike.js", "../../node_modules/lodash-es/isArrayLikeObject.js", "../../node_modules/lodash-es/stubFalse.js", "../../node_modules/lodash-es/isBuffer.js", "../../node_modules/lodash-es/isPlainObject.js", "../../node_modules/lodash-es/_baseIsTypedArray.js", "../../node_modules/lodash-es/_baseUnary.js", "../../node_modules/lodash-es/_nodeUtil.js", "../../node_modules/lodash-es/isTypedArray.js", "../../node_modules/lodash-es/_safeGet.js", "../../node_modules/lodash-es/_assignValue.js", "../../node_modules/lodash-es/_copyObject.js", "../../node_modules/lodash-es/_baseTimes.js", "../../node_modules/lodash-es/_isIndex.js", "../../node_modules/lodash-es/_arrayLikeKeys.js", "../../node_modules/lodash-es/_nativeKeysIn.js", "../../node_modules/lodash-es/_baseKeysIn.js", "../../node_modules/lodash-es/keysIn.js", "../../node_modules/lodash-es/toPlainObject.js", "../../node_modules/lodash-es/_baseMergeDeep.js", "../../node_modules/lodash-es/_baseMerge.js", "../../node_modules/lodash-es/identity.js", "../../node_modules/lodash-es/_apply.js", "../../node_modules/lodash-es/_overRest.js", "../../node_modules/lodash-es/constant.js", "../../node_modules/lodash-es/_baseSetToString.js", "../../node_modules/lodash-es/_shortOut.js", "../../node_modules/lodash-es/_setToString.js", "../../node_modules/lodash-es/_baseRest.js", "../../node_modules/lodash-es/_isIterateeCall.js", "../../node_modules/lodash-es/_createAssigner.js", "../../node_modules/lodash-es/merge.js", "../../node_modules/react-color/es/components/common/Saturation.js", "../../node_modules/lodash-es/now.js", "../../node_modules/lodash-es/_trimmedEndIndex.js", "../../node_modules/lodash-es/_baseTrim.js", "../../node_modules/lodash-es/isSymbol.js", "../../node_modules/lodash-es/toNumber.js", "../../node_modules/lodash-es/debounce.js", "../../node_modules/lodash-es/throttle.js", "../../node_modules/react-color/es/helpers/saturation.js", "../../node_modules/react-color/es/components/common/ColorWrap.js", "../../node_modules/lodash-es/_arrayEach.js", "../../node_modules/lodash-es/_nativeKeys.js", "../../node_modules/lodash-es/_baseKeys.js", "../../node_modules/lodash-es/keys.js", "../../node_modules/lodash-es/_baseForOwn.js", "../../node_modules/lodash-es/_createBaseEach.js", "../../node_modules/lodash-es/_baseEach.js", "../../node_modules/lodash-es/_castFunction.js", "../../node_modules/lodash-es/forEach.js", "../../node_modules/tinycolor2/esm/tinycolor.js", "../../node_modules/react-color/es/helpers/color.js", "../../node_modules/react-color/es/components/common/Swatch.js", "../../node_modules/react-color/es/helpers/interaction.js", "../../node_modules/react-color/es/components/alpha/AlphaPointer.js", "../../node_modules/react-color/es/components/block/Block.js", "../../node_modules/react-color/es/components/block/BlockSwatches.js", "../../node_modules/lodash-es/_arrayMap.js", "../../node_modules/lodash-es/_setCacheAdd.js", "../../node_modules/lodash-es/_setCacheHas.js", "../../node_modules/lodash-es/_SetCache.js", "../../node_modules/lodash-es/_arraySome.js", "../../node_modules/lodash-es/_cacheHas.js", "../../node_modules/lodash-es/_equalArrays.js", "../../node_modules/lodash-es/_mapToArray.js", "../../node_modules/lodash-es/_setToArray.js", "../../node_modules/lodash-es/_equalByTag.js", "../../node_modules/lodash-es/_arrayPush.js", "../../node_modules/lodash-es/_baseGetAllKeys.js", "../../node_modules/lodash-es/_arrayFilter.js", "../../node_modules/lodash-es/stubArray.js", "../../node_modules/lodash-es/_getSymbols.js", "../../node_modules/lodash-es/_getAllKeys.js", "../../node_modules/lodash-es/_equalObjects.js", "../../node_modules/lodash-es/_DataView.js", "../../node_modules/lodash-es/_Promise.js", "../../node_modules/lodash-es/_Set.js", "../../node_modules/lodash-es/_WeakMap.js", "../../node_modules/lodash-es/_getTag.js", "../../node_modules/lodash-es/_baseIsEqualDeep.js", "../../node_modules/lodash-es/_baseIsEqual.js", "../../node_modules/lodash-es/_baseIsMatch.js", "../../node_modules/lodash-es/_isStrictComparable.js", "../../node_modules/lodash-es/_getMatchData.js", "../../node_modules/lodash-es/_matchesStrictComparable.js", "../../node_modules/lodash-es/_baseMatches.js", "../../node_modules/lodash-es/_isKey.js", "../../node_modules/lodash-es/memoize.js", "../../node_modules/lodash-es/_memoizeCapped.js", "../../node_modules/lodash-es/_stringToPath.js", "../../node_modules/lodash-es/_baseToString.js", "../../node_modules/lodash-es/toString.js", "../../node_modules/lodash-es/_castPath.js", "../../node_modules/lodash-es/_toKey.js", "../../node_modules/lodash-es/_baseGet.js", "../../node_modules/lodash-es/get.js", "../../node_modules/lodash-es/_baseHasIn.js", "../../node_modules/lodash-es/_hasPath.js", "../../node_modules/lodash-es/hasIn.js", "../../node_modules/lodash-es/_baseMatchesProperty.js", "../../node_modules/lodash-es/_baseProperty.js", "../../node_modules/lodash-es/_basePropertyDeep.js", "../../node_modules/lodash-es/property.js", "../../node_modules/lodash-es/_baseIteratee.js", "../../node_modules/lodash-es/_baseMap.js", "../../node_modules/lodash-es/map.js", "../../node_modules/react-color/es/components/circle/Circle.js", "../../node_modules/material-colors/dist/colors.es2015.js", "../../node_modules/react-color/es/components/circle/CircleSwatch.js", "../../node_modules/react-color/es/components/chrome/Chrome.js", "../../node_modules/react-color/es/components/chrome/ChromeFields.js", "../../node_modules/lodash-es/isUndefined.js", "../../node_modules/react-color/es/components/chrome/ChromePointer.js", "../../node_modules/react-color/es/components/chrome/ChromePointerCircle.js", "../../node_modules/react-color/es/components/compact/Compact.js", "../../node_modules/react-color/es/components/compact/CompactColor.js", "../../node_modules/react-color/es/components/compact/CompactFields.js", "../../node_modules/react-color/es/components/github/Github.js", "../../node_modules/react-color/es/components/github/GithubSwatch.js", "../../node_modules/react-color/es/components/hue/Hue.js", "../../node_modules/react-color/es/components/hue/HuePointer.js", "../../node_modules/react-color/es/components/material/Material.js", "../../node_modules/react-color/es/components/photoshop/Photoshop.js", "../../node_modules/react-color/es/components/photoshop/PhotoshopFields.js", "../../node_modules/react-color/es/components/photoshop/PhotoshopPointerCircle.js", "../../node_modules/react-color/es/components/photoshop/PhotoshopPointer.js", "../../node_modules/react-color/es/components/photoshop/PhotoshopButton.js", "../../node_modules/react-color/es/components/photoshop/PhotoshopPreviews.js", "../../node_modules/react-color/es/components/sketch/Sketch.js", "../../node_modules/react-color/es/components/sketch/SketchFields.js", "../../node_modules/react-color/es/components/sketch/SketchPresetColors.js", "../../node_modules/react-color/es/components/slider/Slider.js", "../../node_modules/react-color/es/components/slider/SliderSwatches.js", "../../node_modules/react-color/es/components/slider/SliderSwatch.js", "../../node_modules/react-color/es/components/slider/SliderPointer.js", "../../node_modules/react-color/es/components/swatches/Swatches.js", "../../node_modules/react-color/es/components/swatches/SwatchesGroup.js", "../../node_modules/react-color/es/components/swatches/SwatchesColor.js", "../../node_modules/react-color/es/components/twitter/Twitter.js", "../../node_modules/react-color/es/components/google/Google.js", "../../node_modules/react-color/es/components/google/GooglePointerCircle.js", "../../node_modules/react-color/es/components/google/GooglePointer.js", "../../node_modules/react-color/es/components/google/GoogleFields.js", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/ComplexCron.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/SimpleCron/Components/SimpleCron/cronText.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/CustomModal.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/FileBrowser.tsx", "../../node_modules/react-dropzone/dist/es/index.js", "../../node_modules/file-selector/node_modules/tslib/tslib.es6.mjs", "../../node_modules/file-selector/src/file.ts", "../../node_modules/file-selector/src/file-selector.ts", "../../node_modules/react-dropzone/dist/es/utils/index.js", "../../node_modules/@iobroker/adapter-react-v5/build/Dialogs/Dialogs/TextInput.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/withWidth.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconExpert.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconClosed.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconOpen.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconNoIcon.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/Icon.tsx", "../../node_modules/react-inlinesvg/src/index.tsx", "../../node_modules/react-inlinesvg/src/config.ts", "../../node_modules/react-inlinesvg/src/modules/helpers.ts", "../../node_modules/react-inlinesvg/src/modules/cache.ts", "../../node_modules/react-inlinesvg/src/modules/hooks.tsx", "../../node_modules/react-inlinesvg/src/modules/utils.ts", "../../node_modules/react-from-dom/src/index.ts", "../../node_modules/react-from-dom/src/helpers.ts", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconAlias.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/FileViewer.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/IconDeviceType.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconButtonImage.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconVacuum.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconInstance.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/IconPicker.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/IconSelector.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/Image.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/Logo.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/ObjectBrowser.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconAdapter.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconChannel.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconCopy.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconDevice.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconDocument.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconDocumentReadOnly.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconState.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconClearFilter.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/TabContainer.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/TabContent.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/TabHeader.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/Schedule.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/SelectWithIcon.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/TableResize.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/TextWithIcon.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/ToggleThemeMenu.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/TreeTable.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Dialogs/Dialogs/SelectID.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Components/UploadImage.tsx", "../../node_modules/react-cropper/dist/react-cropper.es.js", "../../node_modules/@iobroker/adapter-react-v5/build/Components/SimpleCron/Components/SimpleCron/index.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Loaders/Components/Loaders/Vendor.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Loaders/Components/Loaders/PT.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Components/Loaders/Components/Loaders/MV.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconFx.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/icons/icons/IconLogout.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Dialogs/Dialogs/ComplexCron.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Dialogs/Dialogs/Cron.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Dialogs/Dialogs/Message.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Dialogs/Dialogs/SelectFile.tsx", "../../node_modules/@iobroker/adapter-react-v5/build/Dialogs/Dialogs/SimpleCron.tsx", "../src/lib/actionUtils.ts", "../src/config/entries.ts", "../src/lib/string.ts", "../src/lib/Utils.ts", "../src/lib/movePosition.ts", "../src/lib/newValuesForNewVersion.ts", "../src/lib/socket.ts", "../src/pages/AppContentHeader.tsx", "../src/components/btn-Input/btn-expand.tsx", "../src/components/Button.tsx", "../src/pages/AppContentHeaderMenu.tsx", "../src/pages/AppContentHeaderMenuButtons.tsx", "../src/components/btn-Input/input.tsx", "../src/components/RenameModal.tsx", "../src/components/popupCards/PopupContainer.tsx", "../src/components/popupCards/RenameCard.tsx", "../src/pages/AppContentHeaderMenuList.tsx", "../src/pages/AppContentHeaderTelegramUsers.tsx", "../src/components/btn-Input/checkbox.tsx", "../src/pages/AppContentHeaderTelegramUsersUserCard.tsx", "../src/pages/AppContentHeaderTelegramUsersErrorMessage.tsx", "../src/components/CoverSaveBtn.tsx", "../src/pages/AppContentTabAction.tsx", "../../node_modules/@mui/lab/TabContext/TabContext.js", "../../node_modules/@mui/lab/TabList/TabList.js", "../../node_modules/@mui/lab/TabPanel/TabPanel.js", "../../node_modules/@mui/lab/TabPanel/tabPanelClasses.js", "../src/pages/AppContentTabActionContent.tsx", "../src/components/popupCards/HelperCard.tsx", "../src/components/btn-Input/btn-small-add.tsx", "../src/components/btn-Input/btn-small-search.tsx", "../src/components/btn-Input/textarea.tsx", "../src/config/helper.ts", "../src/components/btn-Input/btn-circle-add.tsx", "../src/lib/dragNDrop.ts", "../src/pages/AppContentTabActionContentRowEditorTableHead.tsx", "../src/pages/AppContentTabActionContentRowEditor.tsx", "../src/components/btn-Input/btn-small-remove.tsx", "../src/pages/AppContentTabActionContentRowEditorButtons.tsx", "../src/components/btn-Input/select.tsx", "../src/pages/AppContentTabActionContentRowEditorCopyModal.tsx", "../src/pages/AppContentTabActionContentRowEditorCopyModalSelectedValues.tsx", "../src/pages/AppContentTabActionContentRowEditorHeader.tsx", "../src/pages/AppContentTabActionContentTable.tsx", "../src/components/popupCards/buttonCard.tsx", "../src/components/btn-Input/btn-small-edit.tsx", "../src/components/btn-Input/btn-small-up.tsx", "../src/components/btn-Input/btn-small-down.tsx", "../src/lib/button.ts", "../src/pages/AppContentTabActionContentTableSubTable.tsx", "../src/pages/AppContentTabActionTabsListing.tsx", "../src/pages/AppContentTabNavigation.tsx", "../src/pages/AppContentTabNavigationTableBody.tsx", "../src/pages/AppContentTabNavigationTableHeader.tsx", "../src/pages/AppContentTabNavigationTableRowEditorCard.tsx", "../src/pages/AppContentTabNavigationTableRowEditor.tsx", "../src/pages/AppContentTabNavigationTableHelper.tsx", "../src/pages/AppContentTabSettings.tsx", "../src/pages/AppContentTab.tsx", "../src/pages/AppContentTabsListing.tsx", "../src/pages/AppContent.tsx", "../src/pages/AppDoubleTriggerInfo.tsx", "../src/pages/AppDropBox.tsx", "../src/pages/AppDropBoxContent.tsx", "../src/pages/AppHeaderIconBar.tsx", "../src/pages/AppTriggerOverview.tsx", "../src/pages/AppTriggerOverviewContent.tsx", "../src/lib/color.ts", "../src/pages/AppTriggerOverviewContentSquare.tsx", "../src/components/ErrorBoundary.tsx", "../src/app.tsx", "../src/lib/object.ts", "../i18n/en/translations.json", "../i18n/de/translations.json", "../i18n/ru/translations.json", "../i18n/pt/translations.json", "../i18n/nl/translations.json", "../i18n/fr/translations.json", "../i18n/it/translations.json", "../i18n/es/translations.json", "../i18n/pl/translations.json", "../i18n/uk/translations.json", "../i18n/zh-cn/translations.json"], + "sourcesContent": ["/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n", "/** @license React v17.0.2\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n", "/** @license React v17.0.2\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;ad?0:1<c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0c?98:c,function(){a(!0)});gg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eJi&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;tO()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n", "/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n", "var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n", "/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n", "var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n", "/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n", "var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n", "var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n", "/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n", "var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n", "/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n", "/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n", "var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n", "/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n", "var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n", "var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n", "var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n", "/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n", "/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n", "var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n", "var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n", "/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n", "var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n", "var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n", "var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n", "var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n", "/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n", "var identity = require('./identity');\n\n/**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\nfunction castFunction(value) {\n return typeof value == 'function' ? value : identity;\n}\n\nmodule.exports = castFunction;\n", "var baseForOwn = require('./_baseForOwn'),\n castFunction = require('./_castFunction');\n\n/**\n * Iterates over own enumerable string keyed properties of an object and\n * invokes `iteratee` for each property. The iteratee is invoked with three\n * arguments: (value, key, object). Iteratee functions may exit iteration\n * early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwnRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forOwn(object, iteratee) {\n return object && baseForOwn(object, castFunction(iteratee));\n}\n\nmodule.exports = forOwn;\n", "var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n", "var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n", "/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n", "/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n", "/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n", "var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n", "var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n", "var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n", "var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n", "var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n", "var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n", "var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n", "/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n", "/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n", "/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n", "var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n", "var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n", "/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n", "var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n", "/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n", "var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n", "var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n", "var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n", "/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n", "var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n", "var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n", "var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n", "var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n", "var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n", "/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n", "var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n", "var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n", "var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n", "var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n", "var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n", "var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n", "var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n", "var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n", "/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n", "/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n", "var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n", "/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n", "/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n", "var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n", "var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n", "/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n", "/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n", "var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n", "/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n", "var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n", "/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n", "/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n", "var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n", "var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n", "var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n", "var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n", "var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n", "var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n", "var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n", "var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n", "var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n", "var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n", "/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n", "var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n", "var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n", "var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n", "var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n", "var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n", "var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n", "var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n", "var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n", "var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n", "var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n", "var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n", "var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n", "/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n", "var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n", "var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n", "var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n", "/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n", "var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n", "var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n", "var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n", "var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n", "var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n", "var baseEach = require('./_baseEach'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nmodule.exports = baseMap;\n", "var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n isArray = require('./isArray');\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, baseIteratee(iteratee, 3));\n}\n\nmodule.exports = map;\n", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.flattenNames = undefined;\n\nvar _isString2 = require('lodash/isString');\n\nvar _isString3 = _interopRequireDefault(_isString2);\n\nvar _forOwn2 = require('lodash/forOwn');\n\nvar _forOwn3 = _interopRequireDefault(_forOwn2);\n\nvar _isPlainObject2 = require('lodash/isPlainObject');\n\nvar _isPlainObject3 = _interopRequireDefault(_isPlainObject2);\n\nvar _map2 = require('lodash/map');\n\nvar _map3 = _interopRequireDefault(_map2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar flattenNames = exports.flattenNames = function flattenNames() {\n var things = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var names = [];\n\n (0, _map3.default)(things, function (thing) {\n if (Array.isArray(thing)) {\n flattenNames(thing).map(function (name) {\n return names.push(name);\n });\n } else if ((0, _isPlainObject3.default)(thing)) {\n (0, _forOwn3.default)(thing, function (value, key) {\n value === true && names.push(key);\n names.push(key + '-' + value);\n });\n } else if ((0, _isString3.default)(thing)) {\n names.push(thing);\n }\n });\n\n return names;\n};\n\nexports.default = flattenNames;", "/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n", "var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n", "var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n", "var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n", "var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n", "var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n", "/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n", "var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n", "var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n", "var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n", "var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n", "/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n", "var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n", "var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n", "var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n", "var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n", "/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n", "var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n", "var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n", "/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n", "var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n", "var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n", "var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n", "var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n", "var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n", "var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n", "var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n", "var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n", "var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n", "var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n", "var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.mergeClasses = undefined;\n\nvar _forOwn2 = require('lodash/forOwn');\n\nvar _forOwn3 = _interopRequireDefault(_forOwn2);\n\nvar _cloneDeep2 = require('lodash/cloneDeep');\n\nvar _cloneDeep3 = _interopRequireDefault(_cloneDeep2);\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar mergeClasses = exports.mergeClasses = function mergeClasses(classes) {\n var activeNames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n var styles = classes.default && (0, _cloneDeep3.default)(classes.default) || {};\n activeNames.map(function (name) {\n var toMerge = classes[name];\n if (toMerge) {\n (0, _forOwn3.default)(toMerge, function (value, key) {\n if (!styles[key]) {\n styles[key] = {};\n }\n\n styles[key] = _extends({}, styles[key], toMerge[key]);\n });\n }\n\n return name;\n });\n return styles;\n};\n\nexports.default = mergeClasses;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.autoprefix = undefined;\n\nvar _forOwn2 = require('lodash/forOwn');\n\nvar _forOwn3 = _interopRequireDefault(_forOwn2);\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar transforms = {\n borderRadius: function borderRadius(value) {\n return {\n msBorderRadius: value,\n MozBorderRadius: value,\n OBorderRadius: value,\n WebkitBorderRadius: value,\n borderRadius: value\n };\n },\n boxShadow: function boxShadow(value) {\n return {\n msBoxShadow: value,\n MozBoxShadow: value,\n OBoxShadow: value,\n WebkitBoxShadow: value,\n boxShadow: value\n };\n },\n userSelect: function userSelect(value) {\n return {\n WebkitTouchCallout: value,\n KhtmlUserSelect: value,\n MozUserSelect: value,\n msUserSelect: value,\n WebkitUserSelect: value,\n userSelect: value\n };\n },\n\n flex: function flex(value) {\n return {\n WebkitBoxFlex: value,\n MozBoxFlex: value,\n WebkitFlex: value,\n msFlex: value,\n flex: value\n };\n },\n flexBasis: function flexBasis(value) {\n return {\n WebkitFlexBasis: value,\n flexBasis: value\n };\n },\n justifyContent: function justifyContent(value) {\n return {\n WebkitJustifyContent: value,\n justifyContent: value\n };\n },\n\n transition: function transition(value) {\n return {\n msTransition: value,\n MozTransition: value,\n OTransition: value,\n WebkitTransition: value,\n transition: value\n };\n },\n\n transform: function transform(value) {\n return {\n msTransform: value,\n MozTransform: value,\n OTransform: value,\n WebkitTransform: value,\n transform: value\n };\n },\n absolute: function absolute(value) {\n var direction = value && value.split(' ');\n return {\n position: 'absolute',\n top: direction && direction[0],\n right: direction && direction[1],\n bottom: direction && direction[2],\n left: direction && direction[3]\n };\n },\n extend: function extend(name, otherElementStyles) {\n var otherStyle = otherElementStyles[name];\n if (otherStyle) {\n return otherStyle;\n }\n return {\n 'extend': name\n };\n }\n};\n\nvar autoprefix = exports.autoprefix = function autoprefix(elements) {\n var prefixed = {};\n (0, _forOwn3.default)(elements, function (styles, element) {\n var expanded = {};\n (0, _forOwn3.default)(styles, function (value, key) {\n var transform = transforms[key];\n if (transform) {\n expanded = _extends({}, expanded, transform(value));\n } else {\n expanded[key] = value;\n }\n });\n prefixed[element] = expanded;\n });\n return prefixed;\n};\n\nexports.default = autoprefix;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.hover = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar hover = exports.hover = function hover(Component) {\n var Span = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'span';\n\n return function (_React$Component) {\n _inherits(Hover, _React$Component);\n\n function Hover() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Hover);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Hover.__proto__ || Object.getPrototypeOf(Hover)).call.apply(_ref, [this].concat(args))), _this), _this.state = { hover: false }, _this.handleMouseOver = function () {\n return _this.setState({ hover: true });\n }, _this.handleMouseOut = function () {\n return _this.setState({ hover: false });\n }, _this.render = function () {\n return _react2.default.createElement(\n Span,\n { onMouseOver: _this.handleMouseOver, onMouseOut: _this.handleMouseOut },\n _react2.default.createElement(Component, _extends({}, _this.props, _this.state))\n );\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n return Hover;\n }(_react2.default.Component);\n};\n\nexports.default = hover;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.active = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar active = exports.active = function active(Component) {\n var Span = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'span';\n\n return function (_React$Component) {\n _inherits(Active, _React$Component);\n\n function Active() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Active);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Active.__proto__ || Object.getPrototypeOf(Active)).call.apply(_ref, [this].concat(args))), _this), _this.state = { active: false }, _this.handleMouseDown = function () {\n return _this.setState({ active: true });\n }, _this.handleMouseUp = function () {\n return _this.setState({ active: false });\n }, _this.render = function () {\n return _react2.default.createElement(\n Span,\n { onMouseDown: _this.handleMouseDown, onMouseUp: _this.handleMouseUp },\n _react2.default.createElement(Component, _extends({}, _this.props, _this.state))\n );\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n return Active;\n }(_react2.default.Component);\n};\n\nexports.default = active;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar loopable = function loopable(i, length) {\n var props = {};\n var setProp = function setProp(name) {\n var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n props[name] = value;\n };\n\n i === 0 && setProp('first-child');\n i === length - 1 && setProp('last-child');\n (i === 0 || i % 2 === 0) && setProp('even');\n Math.abs(i % 2) === 1 && setProp('odd');\n setProp('nth-child', i);\n\n return props;\n};\n\nexports.default = loopable;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ReactCSS = exports.loop = exports.handleActive = exports.handleHover = exports.hover = undefined;\n\nvar _flattenNames = require('./flattenNames');\n\nvar _flattenNames2 = _interopRequireDefault(_flattenNames);\n\nvar _mergeClasses = require('./mergeClasses');\n\nvar _mergeClasses2 = _interopRequireDefault(_mergeClasses);\n\nvar _autoprefix = require('./autoprefix');\n\nvar _autoprefix2 = _interopRequireDefault(_autoprefix);\n\nvar _hover2 = require('./components/hover');\n\nvar _hover3 = _interopRequireDefault(_hover2);\n\nvar _active = require('./components/active');\n\nvar _active2 = _interopRequireDefault(_active);\n\nvar _loop2 = require('./loop');\n\nvar _loop3 = _interopRequireDefault(_loop2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.hover = _hover3.default;\nexports.handleHover = _hover3.default;\nexports.handleActive = _active2.default;\nexports.loop = _loop3.default;\nvar ReactCSS = exports.ReactCSS = function ReactCSS(classes) {\n for (var _len = arguments.length, activations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n activations[_key - 1] = arguments[_key];\n }\n\n var activeNames = (0, _flattenNames2.default)(activations);\n var merged = (0, _mergeClasses2.default)(classes, activeNames);\n return (0, _autoprefix2.default)(merged);\n};\n\nexports.default = ReactCSS;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar DEFAULT_SIZE = 24;\n\nexports.default = function (_ref) {\n var _ref$fill = _ref.fill,\n fill = _ref$fill === undefined ? 'currentColor' : _ref$fill,\n _ref$width = _ref.width,\n width = _ref$width === undefined ? DEFAULT_SIZE : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === undefined ? DEFAULT_SIZE : _ref$height,\n _ref$style = _ref.style,\n style = _ref$style === undefined ? {} : _ref$style,\n props = _objectWithoutProperties(_ref, ['fill', 'width', 'height', 'style']);\n\n return _react2.default.createElement(\n 'svg',\n _extends({\n viewBox: '0 0 ' + DEFAULT_SIZE + ' ' + DEFAULT_SIZE,\n style: _extends({ fill: fill, width: width, height: height }, style)\n }, props),\n _react2.default.createElement('path', { d: 'M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z' })\n );\n};", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar DEFAULT_SIZE = 24;\n\nexports.default = function (_ref) {\n var _ref$fill = _ref.fill,\n fill = _ref$fill === undefined ? 'currentColor' : _ref$fill,\n _ref$width = _ref.width,\n width = _ref$width === undefined ? DEFAULT_SIZE : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === undefined ? DEFAULT_SIZE : _ref$height,\n _ref$style = _ref.style,\n style = _ref$style === undefined ? {} : _ref$style,\n props = _objectWithoutProperties(_ref, ['fill', 'width', 'height', 'style']);\n\n return _react2.default.createElement(\n 'svg',\n _extends({\n viewBox: '0 0 ' + DEFAULT_SIZE + ' ' + DEFAULT_SIZE,\n style: _extends({ fill: fill, width: width, height: height }, style)\n }, props),\n _react2.default.createElement('path', { d: 'M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z' })\n );\n};", "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"cronstrue\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"cronstrue\"] = factory();\n\telse\n\t\troot[\"cronstrue\"] = factory();\n})(globalThis, () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 949:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CronParser = void 0;\nvar rangeValidator_1 = __webpack_require__(515);\nvar CronParser = (function () {\n function CronParser(expression, dayOfWeekStartIndexZero, monthStartIndexZero) {\n if (dayOfWeekStartIndexZero === void 0) { dayOfWeekStartIndexZero = true; }\n if (monthStartIndexZero === void 0) { monthStartIndexZero = false; }\n this.expression = expression;\n this.dayOfWeekStartIndexZero = dayOfWeekStartIndexZero;\n this.monthStartIndexZero = monthStartIndexZero;\n }\n CronParser.prototype.parse = function () {\n var _a;\n var parsed;\n var expression = (_a = this.expression) !== null && _a !== void 0 ? _a : '';\n if (expression.startsWith('@')) {\n var special = this.parseSpecial(this.expression);\n parsed = this.extractParts(special);\n }\n else {\n parsed = this.extractParts(this.expression);\n }\n this.normalize(parsed);\n this.validate(parsed);\n return parsed;\n };\n CronParser.prototype.parseSpecial = function (expression) {\n var specialExpressions = {\n '@yearly': '0 0 1 1 *',\n '@annually': '0 0 1 1 *',\n '@monthly': '0 0 1 * *',\n '@weekly': '0 0 * * 0',\n '@daily': '0 0 * * *',\n '@midnight': '0 0 * * *',\n '@hourly': '0 * * * *'\n };\n var special = specialExpressions[expression];\n if (!special) {\n throw new Error('Unknown special expression.');\n }\n return special;\n };\n CronParser.prototype.extractParts = function (expression) {\n if (!this.expression) {\n throw new Error(\"cron expression is empty\");\n }\n var parsed = expression.trim().split(/[ ]+/);\n for (var i = 0; i < parsed.length; i++) {\n if (parsed[i].includes(\",\")) {\n var arrayElement = parsed[i]\n .split(\",\")\n .map(function (item) { return item.trim(); })\n .filter(function (item) { return item !== \"\"; })\n .map(function (item) { return (!isNaN(Number(item)) ? Number(item) : item); })\n .filter(function (item) { return item !== null && item !== \"\"; });\n if (arrayElement.length === 0) {\n arrayElement.push(\"*\");\n }\n arrayElement.sort(function (a, b) { return (a !== null && b !== null ? a - b : 0); });\n parsed[i] = arrayElement.map(function (item) { return (item !== null ? item.toString() : \"\"); }).join(\",\");\n }\n }\n if (parsed.length < 5) {\n throw new Error(\"Expression has only \".concat(parsed.length, \" part\").concat(parsed.length == 1 ? \"\" : \"s\", \". At least 5 parts are required.\"));\n }\n else if (parsed.length == 5) {\n parsed.unshift(\"\");\n parsed.push(\"\");\n }\n else if (parsed.length == 6) {\n var isYearWithNoSecondsPart = /\\d{4}$/.test(parsed[5]) || parsed[4] == \"?\" || parsed[2] == \"?\";\n if (isYearWithNoSecondsPart) {\n parsed.unshift(\"\");\n }\n else {\n parsed.push(\"\");\n }\n }\n else if (parsed.length > 7) {\n throw new Error(\"Expression has \".concat(parsed.length, \" parts; too many!\"));\n }\n return parsed;\n };\n CronParser.prototype.normalize = function (expressionParts) {\n var _this = this;\n expressionParts[3] = expressionParts[3].replace(\"?\", \"*\");\n expressionParts[5] = expressionParts[5].replace(\"?\", \"*\");\n expressionParts[2] = expressionParts[2].replace(\"?\", \"*\");\n if (expressionParts[0].indexOf(\"0/\") == 0) {\n expressionParts[0] = expressionParts[0].replace(\"0/\", \"*/\");\n }\n if (expressionParts[1].indexOf(\"0/\") == 0) {\n expressionParts[1] = expressionParts[1].replace(\"0/\", \"*/\");\n }\n if (expressionParts[2].indexOf(\"0/\") == 0) {\n expressionParts[2] = expressionParts[2].replace(\"0/\", \"*/\");\n }\n if (expressionParts[3].indexOf(\"1/\") == 0) {\n expressionParts[3] = expressionParts[3].replace(\"1/\", \"*/\");\n }\n if (expressionParts[4].indexOf(\"1/\") == 0) {\n expressionParts[4] = expressionParts[4].replace(\"1/\", \"*/\");\n }\n if (expressionParts[6].indexOf(\"1/\") == 0) {\n expressionParts[6] = expressionParts[6].replace(\"1/\", \"*/\");\n }\n expressionParts[5] = expressionParts[5].replace(/(^\\d)|([^#/\\s]\\d)/g, function (t) {\n var dowDigits = t.replace(/\\D/, \"\");\n var dowDigitsAdjusted = dowDigits;\n if (_this.dayOfWeekStartIndexZero) {\n if (dowDigits == \"7\") {\n dowDigitsAdjusted = \"0\";\n }\n }\n else {\n dowDigitsAdjusted = (parseInt(dowDigits) - 1).toString();\n }\n return t.replace(dowDigits, dowDigitsAdjusted);\n });\n if (expressionParts[5] == \"L\") {\n expressionParts[5] = \"6\";\n }\n if (expressionParts[3] == \"?\") {\n expressionParts[3] = \"*\";\n }\n if (expressionParts[3].indexOf(\"W\") > -1 &&\n (expressionParts[3].indexOf(\",\") > -1 || expressionParts[3].indexOf(\"-\") > -1)) {\n throw new Error(\"The 'W' character can be specified only when the day-of-month is a single day, not a range or list of days.\");\n }\n var days = {\n SUN: 0,\n MON: 1,\n TUE: 2,\n WED: 3,\n THU: 4,\n FRI: 5,\n SAT: 6,\n };\n for (var day in days) {\n expressionParts[5] = expressionParts[5].replace(new RegExp(day, \"gi\"), days[day].toString());\n }\n expressionParts[4] = expressionParts[4].replace(/(^\\d{1,2})|([^#/\\s]\\d{1,2})/g, function (t) {\n var dowDigits = t.replace(/\\D/, \"\");\n var dowDigitsAdjusted = dowDigits;\n if (_this.monthStartIndexZero) {\n dowDigitsAdjusted = (parseInt(dowDigits) + 1).toString();\n }\n return t.replace(dowDigits, dowDigitsAdjusted);\n });\n var months = {\n JAN: 1,\n FEB: 2,\n MAR: 3,\n APR: 4,\n MAY: 5,\n JUN: 6,\n JUL: 7,\n AUG: 8,\n SEP: 9,\n OCT: 10,\n NOV: 11,\n DEC: 12,\n };\n for (var month in months) {\n expressionParts[4] = expressionParts[4].replace(new RegExp(month, \"gi\"), months[month].toString());\n }\n if (expressionParts[0] == \"0\") {\n expressionParts[0] = \"\";\n }\n if (!/\\*|\\-|\\,|\\//.test(expressionParts[2]) &&\n (/\\*|\\//.test(expressionParts[1]) || /\\*|\\//.test(expressionParts[0]))) {\n expressionParts[2] += \"-\".concat(expressionParts[2]);\n }\n for (var i = 0; i < expressionParts.length; i++) {\n if (expressionParts[i].indexOf(\",\") != -1) {\n expressionParts[i] =\n expressionParts[i]\n .split(\",\")\n .filter(function (str) { return str !== \"\"; })\n .join(\",\") || \"*\";\n }\n if (expressionParts[i] == \"*/1\") {\n expressionParts[i] = \"*\";\n }\n if (expressionParts[i].indexOf(\"/\") > -1 && !/^\\*|\\-|\\,/.test(expressionParts[i])) {\n var stepRangeThrough = null;\n switch (i) {\n case 4:\n stepRangeThrough = \"12\";\n break;\n case 5:\n stepRangeThrough = \"6\";\n break;\n case 6:\n stepRangeThrough = \"9999\";\n break;\n default:\n stepRangeThrough = null;\n break;\n }\n if (stepRangeThrough !== null) {\n var parts = expressionParts[i].split(\"/\");\n expressionParts[i] = \"\".concat(parts[0], \"-\").concat(stepRangeThrough, \"/\").concat(parts[1]);\n }\n }\n }\n };\n CronParser.prototype.validate = function (parsed) {\n this.assertNoInvalidCharacters(\"DOW\", parsed[5]);\n this.assertNoInvalidCharacters(\"DOM\", parsed[3]);\n this.validateRange(parsed);\n };\n CronParser.prototype.validateRange = function (parsed) {\n rangeValidator_1.default.secondRange(parsed[0]);\n rangeValidator_1.default.minuteRange(parsed[1]);\n rangeValidator_1.default.hourRange(parsed[2]);\n rangeValidator_1.default.dayOfMonthRange(parsed[3]);\n rangeValidator_1.default.monthRange(parsed[4], this.monthStartIndexZero);\n rangeValidator_1.default.dayOfWeekRange(parsed[5], this.dayOfWeekStartIndexZero);\n };\n CronParser.prototype.assertNoInvalidCharacters = function (partDescription, expression) {\n var invalidChars = expression.match(/[A-KM-VX-Z]+/gi);\n if (invalidChars && invalidChars.length) {\n throw new Error(\"\".concat(partDescription, \" part contains invalid values: '\").concat(invalidChars.toString(), \"'\"));\n }\n };\n return CronParser;\n}());\nexports.CronParser = CronParser;\n\n\n/***/ }),\n\n/***/ 333:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ExpressionDescriptor = void 0;\nvar stringUtilities_1 = __webpack_require__(823);\nvar cronParser_1 = __webpack_require__(949);\nvar ExpressionDescriptor = (function () {\n function ExpressionDescriptor(expression, options) {\n this.expression = expression;\n this.options = options;\n this.expressionParts = new Array(5);\n if (!this.options.locale && ExpressionDescriptor.defaultLocale) {\n this.options.locale = ExpressionDescriptor.defaultLocale;\n }\n if (!ExpressionDescriptor.locales[this.options.locale]) {\n var fallBackLocale = Object.keys(ExpressionDescriptor.locales)[0];\n console.warn(\"Locale '\".concat(this.options.locale, \"' could not be found; falling back to '\").concat(fallBackLocale, \"'.\"));\n this.options.locale = fallBackLocale;\n }\n this.i18n = ExpressionDescriptor.locales[this.options.locale];\n if (options.use24HourTimeFormat === undefined) {\n options.use24HourTimeFormat = this.i18n.use24HourTimeFormatByDefault();\n }\n }\n ExpressionDescriptor.toString = function (expression, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.throwExceptionOnParseError, throwExceptionOnParseError = _c === void 0 ? true : _c, _d = _b.verbose, verbose = _d === void 0 ? false : _d, _e = _b.dayOfWeekStartIndexZero, dayOfWeekStartIndexZero = _e === void 0 ? true : _e, _f = _b.monthStartIndexZero, monthStartIndexZero = _f === void 0 ? false : _f, use24HourTimeFormat = _b.use24HourTimeFormat, _g = _b.locale, locale = _g === void 0 ? null : _g, _h = _b.tzOffset, tzOffset = _h === void 0 ? 0 : _h;\n var options = {\n throwExceptionOnParseError: throwExceptionOnParseError,\n verbose: verbose,\n dayOfWeekStartIndexZero: dayOfWeekStartIndexZero,\n monthStartIndexZero: monthStartIndexZero,\n use24HourTimeFormat: use24HourTimeFormat,\n locale: locale,\n tzOffset: tzOffset\n };\n var descripter = new ExpressionDescriptor(expression, options);\n return descripter.getFullDescription();\n };\n ExpressionDescriptor.initialize = function (localesLoader, defaultLocale) {\n if (defaultLocale === void 0) { defaultLocale = \"en\"; }\n ExpressionDescriptor.specialCharacters = [\"/\", \"-\", \",\", \"*\"];\n ExpressionDescriptor.defaultLocale = defaultLocale;\n localesLoader.load(ExpressionDescriptor.locales);\n };\n ExpressionDescriptor.prototype.getFullDescription = function () {\n var description = \"\";\n try {\n var parser = new cronParser_1.CronParser(this.expression, this.options.dayOfWeekStartIndexZero, this.options.monthStartIndexZero);\n this.expressionParts = parser.parse();\n var timeSegment = this.getTimeOfDayDescription();\n var dayOfMonthDesc = this.getDayOfMonthDescription();\n var monthDesc = this.getMonthDescription();\n var dayOfWeekDesc = this.getDayOfWeekDescription();\n var yearDesc = this.getYearDescription();\n description += timeSegment + dayOfMonthDesc + dayOfWeekDesc + monthDesc + yearDesc;\n description = this.transformVerbosity(description, !!this.options.verbose);\n description = description.charAt(0).toLocaleUpperCase() + description.substr(1);\n }\n catch (ex) {\n if (!this.options.throwExceptionOnParseError) {\n description = this.i18n.anErrorOccuredWhenGeneratingTheExpressionD();\n }\n else {\n throw \"\".concat(ex);\n }\n }\n return description;\n };\n ExpressionDescriptor.prototype.getTimeOfDayDescription = function () {\n var secondsExpression = this.expressionParts[0];\n var minuteExpression = this.expressionParts[1];\n var hourExpression = this.expressionParts[2];\n var description = \"\";\n if (!stringUtilities_1.StringUtilities.containsAny(minuteExpression, ExpressionDescriptor.specialCharacters) &&\n !stringUtilities_1.StringUtilities.containsAny(hourExpression, ExpressionDescriptor.specialCharacters) &&\n !stringUtilities_1.StringUtilities.containsAny(secondsExpression, ExpressionDescriptor.specialCharacters)) {\n description += this.i18n.atSpace() + this.formatTime(hourExpression, minuteExpression, secondsExpression);\n }\n else if (!secondsExpression &&\n minuteExpression.indexOf(\"-\") > -1 &&\n !(minuteExpression.indexOf(\",\") > -1) &&\n !(minuteExpression.indexOf(\"/\") > -1) &&\n !stringUtilities_1.StringUtilities.containsAny(hourExpression, ExpressionDescriptor.specialCharacters)) {\n var minuteParts = minuteExpression.split(\"-\");\n description += stringUtilities_1.StringUtilities.format(this.i18n.everyMinuteBetweenX0AndX1(), this.formatTime(hourExpression, minuteParts[0], \"\"), this.formatTime(hourExpression, minuteParts[1], \"\"));\n }\n else if (!secondsExpression &&\n hourExpression.indexOf(\",\") > -1 &&\n hourExpression.indexOf(\"-\") == -1 &&\n hourExpression.indexOf(\"/\") == -1 &&\n !stringUtilities_1.StringUtilities.containsAny(minuteExpression, ExpressionDescriptor.specialCharacters)) {\n var hourParts = hourExpression.split(\",\");\n description += this.i18n.at();\n for (var i = 0; i < hourParts.length; i++) {\n description += \" \";\n description += this.formatTime(hourParts[i], minuteExpression, \"\");\n if (i < hourParts.length - 2) {\n description += \",\";\n }\n if (i == hourParts.length - 2) {\n description += this.i18n.spaceAnd();\n }\n }\n }\n else {\n var secondsDescription = this.getSecondsDescription();\n var minutesDescription = this.getMinutesDescription();\n var hoursDescription = this.getHoursDescription();\n description += secondsDescription;\n if (description && minutesDescription) {\n description += \", \";\n }\n description += minutesDescription;\n if (minutesDescription === hoursDescription) {\n return description;\n }\n if (description && hoursDescription) {\n description += \", \";\n }\n description += hoursDescription;\n }\n return description;\n };\n ExpressionDescriptor.prototype.getSecondsDescription = function () {\n var _this = this;\n var description = this.getSegmentDescription(this.expressionParts[0], this.i18n.everySecond(), function (s) {\n return s;\n }, function (s) {\n return stringUtilities_1.StringUtilities.format(_this.i18n.everyX0Seconds(s), s);\n }, function (s) {\n return _this.i18n.secondsX0ThroughX1PastTheMinute();\n }, function (s) {\n return s == \"0\"\n ? \"\"\n : parseInt(s) < 20\n ? _this.i18n.atX0SecondsPastTheMinute(s)\n : _this.i18n.atX0SecondsPastTheMinuteGt20() || _this.i18n.atX0SecondsPastTheMinute(s);\n });\n return description;\n };\n ExpressionDescriptor.prototype.getMinutesDescription = function () {\n var _this = this;\n var secondsExpression = this.expressionParts[0];\n var hourExpression = this.expressionParts[2];\n var description = this.getSegmentDescription(this.expressionParts[1], this.i18n.everyMinute(), function (s) {\n return s;\n }, function (s) {\n return stringUtilities_1.StringUtilities.format(_this.i18n.everyX0Minutes(s), s);\n }, function (s) {\n return _this.i18n.minutesX0ThroughX1PastTheHour();\n }, function (s) {\n try {\n return s == \"0\" && hourExpression.indexOf(\"/\") == -1 && secondsExpression == \"\"\n ? _this.i18n.everyHour()\n : parseInt(s) < 20\n ? _this.i18n.atX0MinutesPastTheHour(s)\n : _this.i18n.atX0MinutesPastTheHourGt20() || _this.i18n.atX0MinutesPastTheHour(s);\n }\n catch (e) {\n return _this.i18n.atX0MinutesPastTheHour(s);\n }\n });\n return description;\n };\n ExpressionDescriptor.prototype.getHoursDescription = function () {\n var _this = this;\n var expression = this.expressionParts[2];\n var description = this.getSegmentDescription(expression, this.i18n.everyHour(), function (s) {\n return _this.formatTime(s, \"0\", \"\");\n }, function (s) {\n return stringUtilities_1.StringUtilities.format(_this.i18n.everyX0Hours(s), s);\n }, function (s) {\n return _this.i18n.betweenX0AndX1();\n }, function (s) {\n return _this.i18n.atX0();\n });\n if (description && expression.includes(\"-\") && this.expressionParts[1] != \"0\") {\n var atTheHourMatches = Array.from(description.matchAll(/:00/g));\n if (atTheHourMatches.length > 1) {\n var lastAtTheHourMatchIndex = atTheHourMatches[atTheHourMatches.length - 1].index;\n description =\n description.substring(0, lastAtTheHourMatchIndex) +\n \":59\" +\n description.substring(lastAtTheHourMatchIndex + 3);\n }\n }\n return description;\n };\n ExpressionDescriptor.prototype.getDayOfWeekDescription = function () {\n var _this = this;\n var daysOfWeekNames = this.i18n.daysOfTheWeek();\n var description = null;\n if (this.expressionParts[5] == \"*\") {\n description = \"\";\n }\n else {\n description = this.getSegmentDescription(this.expressionParts[5], this.i18n.commaEveryDay(), function (s, form) {\n var exp = s;\n if (s.indexOf(\"#\") > -1) {\n exp = s.substring(0, s.indexOf(\"#\"));\n }\n else if (s.indexOf(\"L\") > -1) {\n exp = exp.replace(\"L\", \"\");\n }\n var parsedExp = parseInt(exp);\n if (_this.options.tzOffset) {\n var hourExpression = _this.expressionParts[2];\n var hour = parseInt(hourExpression) + (_this.options.tzOffset ? _this.options.tzOffset : 0);\n if (hour >= 24) {\n parsedExp++;\n }\n else if (hour < 0) {\n parsedExp--;\n }\n if (parsedExp > 6) {\n parsedExp = 0;\n }\n else if (parsedExp < 0) {\n parsedExp = 6;\n }\n }\n var description = _this.i18n.daysOfTheWeekInCase\n ? _this.i18n.daysOfTheWeekInCase(form)[parsedExp]\n : daysOfWeekNames[parsedExp];\n if (s.indexOf(\"#\") > -1) {\n var dayOfWeekOfMonthDescription = null;\n var dayOfWeekOfMonthNumber = s.substring(s.indexOf(\"#\") + 1);\n var dayOfWeekNumber = s.substring(0, s.indexOf(\"#\"));\n switch (dayOfWeekOfMonthNumber) {\n case \"1\":\n dayOfWeekOfMonthDescription = _this.i18n.first(dayOfWeekNumber);\n break;\n case \"2\":\n dayOfWeekOfMonthDescription = _this.i18n.second(dayOfWeekNumber);\n break;\n case \"3\":\n dayOfWeekOfMonthDescription = _this.i18n.third(dayOfWeekNumber);\n break;\n case \"4\":\n dayOfWeekOfMonthDescription = _this.i18n.fourth(dayOfWeekNumber);\n break;\n case \"5\":\n dayOfWeekOfMonthDescription = _this.i18n.fifth(dayOfWeekNumber);\n break;\n }\n description = dayOfWeekOfMonthDescription + \" \" + description;\n }\n return description;\n }, function (s) {\n if (parseInt(s) == 1) {\n return \"\";\n }\n else {\n return stringUtilities_1.StringUtilities.format(_this.i18n.commaEveryX0DaysOfTheWeek(s), s);\n }\n }, function (s) {\n var beginFrom = s.substring(0, s.indexOf(\"-\"));\n var domSpecified = _this.expressionParts[3] != \"*\";\n return domSpecified ? _this.i18n.commaAndX0ThroughX1(beginFrom) : _this.i18n.commaX0ThroughX1(beginFrom);\n }, function (s) {\n var format = null;\n if (s.indexOf(\"#\") > -1) {\n var dayOfWeekOfMonthNumber = s.substring(s.indexOf(\"#\") + 1);\n var dayOfWeek = s.substring(0, s.indexOf(\"#\"));\n format = _this.i18n.commaOnThe(dayOfWeekOfMonthNumber, dayOfWeek).trim() + _this.i18n.spaceX0OfTheMonth();\n }\n else if (s.indexOf(\"L\") > -1) {\n format = _this.i18n.commaOnTheLastX0OfTheMonth(s.replace(\"L\", \"\"));\n }\n else {\n var domSpecified = _this.expressionParts[3] != \"*\";\n format = domSpecified ? _this.i18n.commaAndOnX0() : _this.i18n.commaOnlyOnX0(s);\n }\n return format;\n });\n }\n return description;\n };\n ExpressionDescriptor.prototype.getMonthDescription = function () {\n var _this = this;\n var monthNames = this.i18n.monthsOfTheYear();\n var description = this.getSegmentDescription(this.expressionParts[4], \"\", function (s, form) {\n return form && _this.i18n.monthsOfTheYearInCase\n ? _this.i18n.monthsOfTheYearInCase(form)[parseInt(s) - 1]\n : monthNames[parseInt(s) - 1];\n }, function (s) {\n if (parseInt(s) == 1) {\n return \"\";\n }\n else {\n return stringUtilities_1.StringUtilities.format(_this.i18n.commaEveryX0Months(s), s);\n }\n }, function (s) {\n return _this.i18n.commaMonthX0ThroughMonthX1() || _this.i18n.commaX0ThroughX1();\n }, function (s) {\n return _this.i18n.commaOnlyInMonthX0 ? _this.i18n.commaOnlyInMonthX0() : _this.i18n.commaOnlyInX0();\n });\n return description;\n };\n ExpressionDescriptor.prototype.getDayOfMonthDescription = function () {\n var _this = this;\n var description = null;\n var expression = this.expressionParts[3];\n switch (expression) {\n case \"L\":\n description = this.i18n.commaOnTheLastDayOfTheMonth();\n break;\n case \"WL\":\n case \"LW\":\n description = this.i18n.commaOnTheLastWeekdayOfTheMonth();\n break;\n default:\n var weekDayNumberMatches = expression.match(/(\\d{1,2}W)|(W\\d{1,2})/);\n if (weekDayNumberMatches) {\n var dayNumber = parseInt(weekDayNumberMatches[0].replace(\"W\", \"\"));\n var dayString = dayNumber == 1\n ? this.i18n.firstWeekday()\n : stringUtilities_1.StringUtilities.format(this.i18n.weekdayNearestDayX0(), dayNumber.toString());\n description = stringUtilities_1.StringUtilities.format(this.i18n.commaOnTheX0OfTheMonth(), dayString);\n break;\n }\n else {\n var lastDayOffSetMatches = expression.match(/L-(\\d{1,2})/);\n if (lastDayOffSetMatches) {\n var offSetDays = lastDayOffSetMatches[1];\n description = stringUtilities_1.StringUtilities.format(this.i18n.commaDaysBeforeTheLastDayOfTheMonth(offSetDays), offSetDays);\n break;\n }\n else if (expression == \"*\" && this.expressionParts[5] != \"*\") {\n return \"\";\n }\n else {\n description = this.getSegmentDescription(expression, this.i18n.commaEveryDay(), function (s) {\n return s == \"L\"\n ? _this.i18n.lastDay()\n : _this.i18n.dayX0\n ? stringUtilities_1.StringUtilities.format(_this.i18n.dayX0(), s)\n : s;\n }, function (s) {\n return s == \"1\" ? _this.i18n.commaEveryDay() : _this.i18n.commaEveryX0Days(s);\n }, function (s) {\n return _this.i18n.commaBetweenDayX0AndX1OfTheMonth(s);\n }, function (s) {\n return _this.i18n.commaOnDayX0OfTheMonth(s);\n });\n }\n break;\n }\n }\n return description;\n };\n ExpressionDescriptor.prototype.getYearDescription = function () {\n var _this = this;\n var description = this.getSegmentDescription(this.expressionParts[6], \"\", function (s) {\n return /^\\d+$/.test(s) ? new Date(parseInt(s), 1).getFullYear().toString() : s;\n }, function (s) {\n return stringUtilities_1.StringUtilities.format(_this.i18n.commaEveryX0Years(s), s);\n }, function (s) {\n return _this.i18n.commaYearX0ThroughYearX1() || _this.i18n.commaX0ThroughX1();\n }, function (s) {\n return _this.i18n.commaOnlyInYearX0 ? _this.i18n.commaOnlyInYearX0() : _this.i18n.commaOnlyInX0();\n });\n return description;\n };\n ExpressionDescriptor.prototype.getSegmentDescription = function (expression, allDescription, getSingleItemDescription, getIncrementDescriptionFormat, getRangeDescriptionFormat, getDescriptionFormat) {\n var description = null;\n var doesExpressionContainIncrement = expression.indexOf(\"/\") > -1;\n var doesExpressionContainRange = expression.indexOf(\"-\") > -1;\n var doesExpressionContainMultipleValues = expression.indexOf(\",\") > -1;\n if (!expression) {\n description = \"\";\n }\n else if (expression === \"*\") {\n description = allDescription;\n }\n else if (!doesExpressionContainIncrement && !doesExpressionContainRange && !doesExpressionContainMultipleValues) {\n description = stringUtilities_1.StringUtilities.format(getDescriptionFormat(expression), getSingleItemDescription(expression));\n }\n else if (doesExpressionContainMultipleValues) {\n var segments = expression.split(\",\");\n var descriptionContent = \"\";\n for (var i = 0; i < segments.length; i++) {\n if (i > 0 && segments.length > 2) {\n descriptionContent += \",\";\n if (i < segments.length - 1) {\n descriptionContent += \" \";\n }\n }\n if (i > 0 && segments.length > 1 && (i == segments.length - 1 || segments.length == 2)) {\n descriptionContent += \"\".concat(this.i18n.spaceAnd(), \" \");\n }\n if (segments[i].indexOf(\"/\") > -1 || segments[i].indexOf(\"-\") > -1) {\n var isSegmentRangeWithoutIncrement = segments[i].indexOf(\"-\") > -1 && segments[i].indexOf(\"/\") == -1;\n var currentDescriptionContent = this.getSegmentDescription(segments[i], allDescription, getSingleItemDescription, getIncrementDescriptionFormat, isSegmentRangeWithoutIncrement ? this.i18n.commaX0ThroughX1 : getRangeDescriptionFormat, getDescriptionFormat);\n if (isSegmentRangeWithoutIncrement) {\n currentDescriptionContent = currentDescriptionContent.replace(\", \", \"\");\n }\n descriptionContent += currentDescriptionContent;\n }\n else if (!doesExpressionContainIncrement) {\n descriptionContent += getSingleItemDescription(segments[i]);\n }\n else {\n descriptionContent += this.getSegmentDescription(segments[i], allDescription, getSingleItemDescription, getIncrementDescriptionFormat, getRangeDescriptionFormat, getDescriptionFormat);\n }\n }\n if (!doesExpressionContainIncrement) {\n description = stringUtilities_1.StringUtilities.format(getDescriptionFormat(expression), descriptionContent);\n }\n else {\n description = descriptionContent;\n }\n }\n else if (doesExpressionContainIncrement) {\n var segments = expression.split(\"/\");\n description = stringUtilities_1.StringUtilities.format(getIncrementDescriptionFormat(segments[1]), segments[1]);\n if (segments[0].indexOf(\"-\") > -1) {\n var rangeSegmentDescription = this.generateRangeSegmentDescription(segments[0], getRangeDescriptionFormat, getSingleItemDescription);\n if (rangeSegmentDescription.indexOf(\", \") != 0) {\n description += \", \";\n }\n description += rangeSegmentDescription;\n }\n else if (segments[0].indexOf(\"*\") == -1) {\n var rangeItemDescription = stringUtilities_1.StringUtilities.format(getDescriptionFormat(segments[0]), getSingleItemDescription(segments[0]));\n rangeItemDescription = rangeItemDescription.replace(\", \", \"\");\n description += stringUtilities_1.StringUtilities.format(this.i18n.commaStartingX0(), rangeItemDescription);\n }\n }\n else if (doesExpressionContainRange) {\n description = this.generateRangeSegmentDescription(expression, getRangeDescriptionFormat, getSingleItemDescription);\n }\n return description;\n };\n ExpressionDescriptor.prototype.generateRangeSegmentDescription = function (rangeExpression, getRangeDescriptionFormat, getSingleItemDescription) {\n var description = \"\";\n var rangeSegments = rangeExpression.split(\"-\");\n var rangeSegment1Description = getSingleItemDescription(rangeSegments[0], 1);\n var rangeSegment2Description = getSingleItemDescription(rangeSegments[1], 2);\n var rangeDescriptionFormat = getRangeDescriptionFormat(rangeExpression);\n description += stringUtilities_1.StringUtilities.format(rangeDescriptionFormat, rangeSegment1Description, rangeSegment2Description);\n return description;\n };\n ExpressionDescriptor.prototype.formatTime = function (hourExpression, minuteExpression, secondExpression) {\n var hourOffset = 0;\n var minuteOffset = 0;\n if (this.options.tzOffset) {\n hourOffset = this.options.tzOffset > 0 ? Math.floor(this.options.tzOffset) : Math.ceil(this.options.tzOffset);\n minuteOffset = (parseFloat((this.options.tzOffset % 1).toFixed(2)));\n if (minuteOffset != 0) {\n minuteOffset *= 60;\n }\n }\n var hour = parseInt(hourExpression) + (hourOffset);\n var minute = parseInt(minuteExpression) + (minuteOffset);\n if (minute >= 60) {\n minute -= 60;\n hour += 1;\n }\n else if (minute < 0) {\n minute += 60;\n hour -= 1;\n }\n if (hour >= 24) {\n hour = hour - 24;\n }\n else if (hour < 0) {\n hour = 24 + hour;\n }\n var period = \"\";\n var setPeriodBeforeTime = false;\n if (!this.options.use24HourTimeFormat) {\n setPeriodBeforeTime = !!(this.i18n.setPeriodBeforeTime && this.i18n.setPeriodBeforeTime());\n period = setPeriodBeforeTime ? \"\".concat(this.getPeriod(hour), \" \") : \" \".concat(this.getPeriod(hour));\n if (hour > 12) {\n hour -= 12;\n }\n if (hour === 0) {\n hour = 12;\n }\n }\n var second = \"\";\n if (secondExpression) {\n second = \":\".concat((\"00\" + secondExpression).substring(secondExpression.length));\n }\n return \"\".concat(setPeriodBeforeTime ? period : \"\").concat((\"00\" + hour.toString()).substring(hour.toString().length), \":\").concat((\"00\" + minute.toString()).substring(minute.toString().length)).concat(second).concat(!setPeriodBeforeTime ? period : \"\");\n };\n ExpressionDescriptor.prototype.transformVerbosity = function (description, useVerboseFormat) {\n if (!useVerboseFormat) {\n description = description.replace(new RegExp(\", \".concat(this.i18n.everyMinute()), \"g\"), \"\");\n description = description.replace(new RegExp(\", \".concat(this.i18n.everyHour()), \"g\"), \"\");\n description = description.replace(new RegExp(this.i18n.commaEveryDay(), \"g\"), \"\");\n description = description.replace(/\\, ?$/, \"\");\n }\n return description;\n };\n ExpressionDescriptor.prototype.getPeriod = function (hour) {\n return hour >= 12 ? (this.i18n.pm && this.i18n.pm()) || \"PM\" : (this.i18n.am && this.i18n.am()) || \"AM\";\n };\n ExpressionDescriptor.locales = {};\n return ExpressionDescriptor;\n}());\nexports.ExpressionDescriptor = ExpressionDescriptor;\n\n\n/***/ }),\n\n/***/ 747:\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.enLocaleLoader = void 0;\nvar en_1 = __webpack_require__(486);\nvar enLocaleLoader = (function () {\n function enLocaleLoader() {\n }\n enLocaleLoader.prototype.load = function (availableLocales) {\n availableLocales[\"en\"] = new en_1.en();\n };\n return enLocaleLoader;\n}());\nexports.enLocaleLoader = enLocaleLoader;\n\n\n/***/ }),\n\n/***/ 486:\n/***/ ((__unused_webpack_module, exports) => {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.en = void 0;\nvar en = (function () {\n function en() {\n }\n en.prototype.atX0SecondsPastTheMinuteGt20 = function () {\n return null;\n };\n en.prototype.atX0MinutesPastTheHourGt20 = function () {\n return null;\n };\n en.prototype.commaMonthX0ThroughMonthX1 = function () {\n return null;\n };\n en.prototype.commaYearX0ThroughYearX1 = function () {\n return null;\n };\n en.prototype.use24HourTimeFormatByDefault = function () {\n return false;\n };\n en.prototype.anErrorOccuredWhenGeneratingTheExpressionD = function () {\n return \"An error occured when generating the expression description. Check the cron expression syntax.\";\n };\n en.prototype.everyMinute = function () {\n return \"every minute\";\n };\n en.prototype.everyHour = function () {\n return \"every hour\";\n };\n en.prototype.atSpace = function () {\n return \"At \";\n };\n en.prototype.everyMinuteBetweenX0AndX1 = function () {\n return \"Every minute between %s and %s\";\n };\n en.prototype.at = function () {\n return \"At\";\n };\n en.prototype.spaceAnd = function () {\n return \" and\";\n };\n en.prototype.everySecond = function () {\n return \"every second\";\n };\n en.prototype.everyX0Seconds = function () {\n return \"every %s seconds\";\n };\n en.prototype.secondsX0ThroughX1PastTheMinute = function () {\n return \"seconds %s through %s past the minute\";\n };\n en.prototype.atX0SecondsPastTheMinute = function () {\n return \"at %s seconds past the minute\";\n };\n en.prototype.everyX0Minutes = function () {\n return \"every %s minutes\";\n };\n en.prototype.minutesX0ThroughX1PastTheHour = function () {\n return \"minutes %s through %s past the hour\";\n };\n en.prototype.atX0MinutesPastTheHour = function () {\n return \"at %s minutes past the hour\";\n };\n en.prototype.everyX0Hours = function () {\n return \"every %s hours\";\n };\n en.prototype.betweenX0AndX1 = function () {\n return \"between %s and %s\";\n };\n en.prototype.atX0 = function () {\n return \"at %s\";\n };\n en.prototype.commaEveryDay = function () {\n return \", every day\";\n };\n en.prototype.commaEveryX0DaysOfTheWeek = function () {\n return \", every %s days of the week\";\n };\n en.prototype.commaX0ThroughX1 = function () {\n return \", %s through %s\";\n };\n en.prototype.commaAndX0ThroughX1 = function () {\n return \", %s through %s\";\n };\n en.prototype.first = function () {\n return \"first\";\n };\n en.prototype.second = function () {\n return \"second\";\n };\n en.prototype.third = function () {\n return \"third\";\n };\n en.prototype.fourth = function () {\n return \"fourth\";\n };\n en.prototype.fifth = function () {\n return \"fifth\";\n };\n en.prototype.commaOnThe = function () {\n return \", on the \";\n };\n en.prototype.spaceX0OfTheMonth = function () {\n return \" %s of the month\";\n };\n en.prototype.lastDay = function () {\n return \"the last day\";\n };\n en.prototype.commaOnTheLastX0OfTheMonth = function () {\n return \", on the last %s of the month\";\n };\n en.prototype.commaOnlyOnX0 = function () {\n return \", only on %s\";\n };\n en.prototype.commaAndOnX0 = function () {\n return \", and on %s\";\n };\n en.prototype.commaEveryX0Months = function () {\n return \", every %s months\";\n };\n en.prototype.commaOnlyInX0 = function () {\n return \", only in %s\";\n };\n en.prototype.commaOnTheLastDayOfTheMonth = function () {\n return \", on the last day of the month\";\n };\n en.prototype.commaOnTheLastWeekdayOfTheMonth = function () {\n return \", on the last weekday of the month\";\n };\n en.prototype.commaDaysBeforeTheLastDayOfTheMonth = function () {\n return \", %s days before the last day of the month\";\n };\n en.prototype.firstWeekday = function () {\n return \"first weekday\";\n };\n en.prototype.weekdayNearestDayX0 = function () {\n return \"weekday nearest day %s\";\n };\n en.prototype.commaOnTheX0OfTheMonth = function () {\n return \", on the %s of the month\";\n };\n en.prototype.commaEveryX0Days = function () {\n return \", every %s days\";\n };\n en.prototype.commaBetweenDayX0AndX1OfTheMonth = function () {\n return \", between day %s and %s of the month\";\n };\n en.prototype.commaOnDayX0OfTheMonth = function () {\n return \", on day %s of the month\";\n };\n en.prototype.commaEveryHour = function () {\n return \", every hour\";\n };\n en.prototype.commaEveryX0Years = function () {\n return \", every %s years\";\n };\n en.prototype.commaStartingX0 = function () {\n return \", starting %s\";\n };\n en.prototype.daysOfTheWeek = function () {\n return [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\n };\n en.prototype.monthsOfTheYear = function () {\n return [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ];\n };\n return en;\n}());\nexports.en = en;\n\n\n/***/ }),\n\n/***/ 515:\n/***/ ((__unused_webpack_module, exports) => {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nfunction assert(value, message) {\n if (!value) {\n throw new Error(message);\n }\n}\nvar RangeValidator = (function () {\n function RangeValidator() {\n }\n RangeValidator.secondRange = function (parse) {\n var parsed = parse.split(',');\n for (var i = 0; i < parsed.length; i++) {\n if (!isNaN(parseInt(parsed[i], 10))) {\n var second = parseInt(parsed[i], 10);\n assert(second >= 0 && second <= 59, 'seconds part must be >= 0 and <= 59');\n }\n }\n };\n RangeValidator.minuteRange = function (parse) {\n var parsed = parse.split(',');\n for (var i = 0; i < parsed.length; i++) {\n if (!isNaN(parseInt(parsed[i], 10))) {\n var minute = parseInt(parsed[i], 10);\n assert(minute >= 0 && minute <= 59, 'minutes part must be >= 0 and <= 59');\n }\n }\n };\n RangeValidator.hourRange = function (parse) {\n var parsed = parse.split(',');\n for (var i = 0; i < parsed.length; i++) {\n if (!isNaN(parseInt(parsed[i], 10))) {\n var hour = parseInt(parsed[i], 10);\n assert(hour >= 0 && hour <= 23, 'hours part must be >= 0 and <= 23');\n }\n }\n };\n RangeValidator.dayOfMonthRange = function (parse) {\n var parsed = parse.split(',');\n for (var i = 0; i < parsed.length; i++) {\n if (!isNaN(parseInt(parsed[i], 10))) {\n var dayOfMonth = parseInt(parsed[i], 10);\n assert(dayOfMonth >= 1 && dayOfMonth <= 31, 'DOM part must be >= 1 and <= 31');\n }\n }\n };\n RangeValidator.monthRange = function (parse, monthStartIndexZero) {\n var parsed = parse.split(',');\n for (var i = 0; i < parsed.length; i++) {\n if (!isNaN(parseInt(parsed[i], 10))) {\n var month = parseInt(parsed[i], 10);\n assert(month >= 1 && month <= 12, monthStartIndexZero ? 'month part must be >= 0 and <= 11' : 'month part must be >= 1 and <= 12');\n }\n }\n };\n RangeValidator.dayOfWeekRange = function (parse, dayOfWeekStartIndexZero) {\n var parsed = parse.split(',');\n for (var i = 0; i < parsed.length; i++) {\n if (!isNaN(parseInt(parsed[i], 10))) {\n var dayOfWeek = parseInt(parsed[i], 10);\n assert(dayOfWeek >= 0 && dayOfWeek <= 6, dayOfWeekStartIndexZero ? 'DOW part must be >= 0 and <= 6' : 'DOW part must be >= 1 and <= 7');\n }\n }\n };\n return RangeValidator;\n}());\nexports[\"default\"] = RangeValidator;\n\n\n/***/ }),\n\n/***/ 823:\n/***/ ((__unused_webpack_module, exports) => {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StringUtilities = void 0;\nvar StringUtilities = (function () {\n function StringUtilities() {\n }\n StringUtilities.format = function (template) {\n var values = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n values[_i - 1] = arguments[_i];\n }\n return template.replace(/%s/g, function (substring) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n return values.shift();\n });\n };\n StringUtilities.containsAny = function (text, searchStrings) {\n return searchStrings.some(function (c) {\n return text.indexOf(c) > -1;\n });\n };\n return StringUtilities;\n}());\nexports.StringUtilities = StringUtilities;\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it uses a non-standard name for the exports (exports).\n(() => {\nvar exports = __webpack_exports__;\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.toString = void 0;\nvar expressionDescriptor_1 = __webpack_require__(333);\nvar enLocaleLoader_1 = __webpack_require__(747);\nexpressionDescriptor_1.ExpressionDescriptor.initialize(new enLocaleLoader_1.enLocaleLoader());\nexports[\"default\"] = expressionDescriptor_1.ExpressionDescriptor;\nvar toString = expressionDescriptor_1.ExpressionDescriptor.toString;\nexports.toString = toString;\n\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});", "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"cronstrue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"locales/fr\", [\"cronstrue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"locales/fr\"] = factory(require(\"cronstrue\"));\n\telse\n\t\troot[\"locales/fr\"] = factory(root[\"cronstrue\"]);\n})(globalThis, (__WEBPACK_EXTERNAL_MODULE__93__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 93:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__93__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(93);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cronstrue__WEBPACK_IMPORTED_MODULE_0__);\nvar exports = __webpack_exports__;\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fr = void 0;\nvar fr = (function () {\n function fr() {\n }\n fr.prototype.atX0SecondsPastTheMinuteGt20 = function () {\n return null;\n };\n fr.prototype.atX0MinutesPastTheHourGt20 = function () {\n return null;\n };\n fr.prototype.commaMonthX0ThroughMonthX1 = function () {\n return null;\n };\n fr.prototype.commaYearX0ThroughYearX1 = function () {\n return null;\n };\n fr.prototype.use24HourTimeFormatByDefault = function () {\n return true;\n };\n fr.prototype.everyMinute = function () {\n return \"toutes les minutes\";\n };\n fr.prototype.everyHour = function () {\n return \"toutes les heures\";\n };\n fr.prototype.anErrorOccuredWhenGeneratingTheExpressionD = function () {\n return \"Une erreur est survenue en g\u00E9n\u00E9rant la description de l'expression cron. V\u00E9rifiez sa syntaxe.\";\n };\n fr.prototype.atSpace = function () {\n return \"\u00C0 \";\n };\n fr.prototype.everyMinuteBetweenX0AndX1 = function () {\n return \"Toutes les minutes entre %s et %s\";\n };\n fr.prototype.at = function () {\n return \"\u00C0\";\n };\n fr.prototype.spaceAnd = function () {\n return \" et\";\n };\n fr.prototype.everySecond = function () {\n return \"toutes les secondes\";\n };\n fr.prototype.everyX0Seconds = function () {\n return \"toutes les %s secondes\";\n };\n fr.prototype.secondsX0ThroughX1PastTheMinute = function () {\n return \"les secondes entre %s et %s apr\u00E8s la minute\";\n };\n fr.prototype.atX0SecondsPastTheMinute = function () {\n return \"%s secondes apr\u00E8s la minute\";\n };\n fr.prototype.everyX0Minutes = function () {\n return \"toutes les %s minutes\";\n };\n fr.prototype.minutesX0ThroughX1PastTheHour = function () {\n return \"les minutes entre %s et %s apr\u00E8s l'heure\";\n };\n fr.prototype.atX0MinutesPastTheHour = function () {\n return \"%s minutes apr\u00E8s l'heure\";\n };\n fr.prototype.everyX0Hours = function () {\n return \"toutes les %s heures\";\n };\n fr.prototype.betweenX0AndX1 = function () {\n return \"de %s \u00E0 %s\";\n };\n fr.prototype.atX0 = function () {\n return \"\u00E0 %s\";\n };\n fr.prototype.commaEveryDay = function () {\n return \", tous les jours\";\n };\n fr.prototype.commaEveryX0DaysOfTheWeek = function () {\n return \", tous les %s jours de la semaine\";\n };\n fr.prototype.commaX0ThroughX1 = function () {\n return \", de %s \u00E0 %s\";\n };\n fr.prototype.commaAndX0ThroughX1 = function () {\n return \", et de %s \u00E0 %s\";\n };\n fr.prototype.first = function () {\n return \"premier\";\n };\n fr.prototype.second = function () {\n return \"second\";\n };\n fr.prototype.third = function () {\n return \"troisi\u00E8me\";\n };\n fr.prototype.fourth = function () {\n return \"quatri\u00E8me\";\n };\n fr.prototype.fifth = function () {\n return \"cinqui\u00E8me\";\n };\n fr.prototype.commaOnThe = function () {\n return \", le \";\n };\n fr.prototype.spaceX0OfTheMonth = function () {\n return \" %s du mois\";\n };\n fr.prototype.lastDay = function () {\n return \"le dernier jour\";\n };\n fr.prototype.commaOnTheLastX0OfTheMonth = function () {\n return \", le dernier %s du mois\";\n };\n fr.prototype.commaOnlyOnX0 = function () {\n return \", uniquement le %s\";\n };\n fr.prototype.commaAndOnX0 = function () {\n return \", et %s\";\n };\n fr.prototype.commaEveryX0Months = function () {\n return \", tous les %s mois\";\n };\n fr.prototype.commaOnlyInX0 = function () {\n return \", uniquement en %s\";\n };\n fr.prototype.commaOnTheLastDayOfTheMonth = function () {\n return \", le dernier jour du mois\";\n };\n fr.prototype.commaOnTheLastWeekdayOfTheMonth = function () {\n return \", le dernier jour ouvrable du mois\";\n };\n fr.prototype.commaDaysBeforeTheLastDayOfTheMonth = function () {\n return \", %s jours avant le dernier jour du mois\";\n };\n fr.prototype.firstWeekday = function () {\n return \"premier jour ouvrable\";\n };\n fr.prototype.weekdayNearestDayX0 = function () {\n return \"jour ouvrable le plus proche du %s\";\n };\n fr.prototype.commaOnTheX0OfTheMonth = function () {\n return \", le %s du mois\";\n };\n fr.prototype.commaEveryX0Days = function () {\n return \", tous les %s jours\";\n };\n fr.prototype.commaBetweenDayX0AndX1OfTheMonth = function () {\n return \", du %s au %s du mois\";\n };\n fr.prototype.commaOnDayX0OfTheMonth = function () {\n return \", le %s du mois\";\n };\n fr.prototype.commaEveryX0Years = function () {\n return \", tous les %s ans\";\n };\n fr.prototype.commaDaysX0ThroughX1 = function () {\n return \", du %s au %s\";\n };\n fr.prototype.commaStartingX0 = function () {\n return \", \u00E0 partir de %s\";\n };\n fr.prototype.daysOfTheWeek = function () {\n return [\"dimanche\", \"lundi\", \"mardi\", \"mercredi\", \"jeudi\", \"vendredi\", \"samedi\"];\n };\n fr.prototype.monthsOfTheYear = function () {\n return [\n \"janvier\",\n \"f\u00E9vrier\",\n \"mars\",\n \"avril\",\n \"mai\",\n \"juin\",\n \"juillet\",\n \"ao\u00FBt\",\n \"septembre\",\n \"octobre\",\n \"novembre\",\n \"d\u00E9cembre\",\n ];\n };\n return fr;\n}());\nexports.fr = fr;\n\n\n(cronstrue__WEBPACK_IMPORTED_MODULE_0___default().locales)[\"fr\"] = new fr();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});", "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"cronstrue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"locales/es\", [\"cronstrue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"locales/es\"] = factory(require(\"cronstrue\"));\n\telse\n\t\troot[\"locales/es\"] = factory(root[\"cronstrue\"]);\n})(globalThis, (__WEBPACK_EXTERNAL_MODULE__93__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 93:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__93__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(93);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cronstrue__WEBPACK_IMPORTED_MODULE_0__);\nvar exports = __webpack_exports__;\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.es = void 0;\nvar es = (function () {\n function es() {\n }\n es.prototype.atX0SecondsPastTheMinuteGt20 = function () {\n return null;\n };\n es.prototype.atX0MinutesPastTheHourGt20 = function () {\n return null;\n };\n es.prototype.commaMonthX0ThroughMonthX1 = function () {\n return null;\n };\n es.prototype.commaYearX0ThroughYearX1 = function () {\n return null;\n };\n es.prototype.use24HourTimeFormatByDefault = function () {\n return true;\n };\n es.prototype.anErrorOccuredWhenGeneratingTheExpressionD = function () {\n return \"Ocurri\u00F3 un error mientras se generaba la descripci\u00F3n de la expresi\u00F3n. Revise la sintaxis de la expresi\u00F3n de cron.\";\n };\n es.prototype.at = function () {\n return \"A las\";\n };\n es.prototype.atSpace = function () {\n return \"A las \";\n };\n es.prototype.atX0 = function () {\n return \"a las %s\";\n };\n es.prototype.atX0MinutesPastTheHour = function () {\n return \"a los %s minutos de la hora\";\n };\n es.prototype.atX0SecondsPastTheMinute = function () {\n return \"a los %s segundos del minuto\";\n };\n es.prototype.betweenX0AndX1 = function () {\n return \"entre las %s y las %s\";\n };\n es.prototype.commaBetweenDayX0AndX1OfTheMonth = function () {\n return \", entre los d\u00EDas %s y %s del mes\";\n };\n es.prototype.commaEveryDay = function () {\n return \", cada d\u00EDa\";\n };\n es.prototype.commaEveryX0Days = function () {\n return \", cada %s d\u00EDas\";\n };\n es.prototype.commaEveryX0DaysOfTheWeek = function () {\n return \", cada %s d\u00EDas de la semana\";\n };\n es.prototype.commaEveryX0Months = function () {\n return \", cada %s meses\";\n };\n es.prototype.commaOnDayX0OfTheMonth = function () {\n return \", el d\u00EDa %s del mes\";\n };\n es.prototype.commaOnlyInX0 = function () {\n return \", s\u00F3lo en %s\";\n };\n es.prototype.commaOnlyOnX0 = function () {\n return \", s\u00F3lo el %s\";\n };\n es.prototype.commaAndOnX0 = function () {\n return \", y el %s\";\n };\n es.prototype.commaOnThe = function () {\n return \", en el \";\n };\n es.prototype.commaOnTheLastDayOfTheMonth = function () {\n return \", en el \u00FAltimo d\u00EDa del mes\";\n };\n es.prototype.commaOnTheLastWeekdayOfTheMonth = function () {\n return \", en el \u00FAltimo d\u00EDa de la semana del mes\";\n };\n es.prototype.commaDaysBeforeTheLastDayOfTheMonth = function () {\n return \", %s d\u00EDas antes del \u00FAltimo d\u00EDa del mes\";\n };\n es.prototype.commaOnTheLastX0OfTheMonth = function () {\n return \", en el \u00FAltimo %s del mes\";\n };\n es.prototype.commaOnTheX0OfTheMonth = function () {\n return \", en el %s del mes\";\n };\n es.prototype.commaX0ThroughX1 = function () {\n return \", de %s a %s\";\n };\n es.prototype.commaAndX0ThroughX1 = function () {\n return \", y de %s a %s\";\n };\n es.prototype.everyHour = function () {\n return \"cada hora\";\n };\n es.prototype.everyMinute = function () {\n return \"cada minuto\";\n };\n es.prototype.everyMinuteBetweenX0AndX1 = function () {\n return \"cada minuto entre las %s y las %s\";\n };\n es.prototype.everySecond = function () {\n return \"cada segundo\";\n };\n es.prototype.everyX0Hours = function () {\n return \"cada %s horas\";\n };\n es.prototype.everyX0Minutes = function () {\n return \"cada %s minutos\";\n };\n es.prototype.everyX0Seconds = function () {\n return \"cada %s segundos\";\n };\n es.prototype.fifth = function () {\n return \"quinto\";\n };\n es.prototype.first = function () {\n return \"primero\";\n };\n es.prototype.firstWeekday = function () {\n return \"primer d\u00EDa de la semana\";\n };\n es.prototype.fourth = function () {\n return \"cuarto\";\n };\n es.prototype.minutesX0ThroughX1PastTheHour = function () {\n return \"del minuto %s al %s pasada la hora\";\n };\n es.prototype.second = function () {\n return \"segundo\";\n };\n es.prototype.secondsX0ThroughX1PastTheMinute = function () {\n return \"En los segundos %s al %s de cada minuto\";\n };\n es.prototype.spaceAnd = function () {\n return \" y\";\n };\n es.prototype.spaceX0OfTheMonth = function () {\n return \" %s del mes\";\n };\n es.prototype.lastDay = function () {\n return \"el \u00FAltimo d\u00EDa\";\n };\n es.prototype.third = function () {\n return \"tercer\";\n };\n es.prototype.weekdayNearestDayX0 = function () {\n return \"d\u00EDa de la semana m\u00E1s pr\u00F3ximo al %s\";\n };\n es.prototype.commaEveryX0Years = function () {\n return \", cada %s a\u00F1os\";\n };\n es.prototype.commaStartingX0 = function () {\n return \", comenzando %s\";\n };\n es.prototype.daysOfTheWeek = function () {\n return [\"domingo\", \"lunes\", \"martes\", \"mi\u00E9rcoles\", \"jueves\", \"viernes\", \"s\u00E1bado\"];\n };\n es.prototype.monthsOfTheYear = function () {\n return [\n \"enero\",\n \"febrero\",\n \"marzo\",\n \"abril\",\n \"mayo\",\n \"junio\",\n \"julio\",\n \"agosto\",\n \"septiembre\",\n \"octubre\",\n \"noviembre\",\n \"diciembre\",\n ];\n };\n return es;\n}());\nexports.es = es;\n\n\n(cronstrue__WEBPACK_IMPORTED_MODULE_0___default().locales)[\"es\"] = new es();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});", "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"cronstrue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"locales/de\", [\"cronstrue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"locales/de\"] = factory(require(\"cronstrue\"));\n\telse\n\t\troot[\"locales/de\"] = factory(root[\"cronstrue\"]);\n})(globalThis, (__WEBPACK_EXTERNAL_MODULE__93__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 93:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__93__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(93);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cronstrue__WEBPACK_IMPORTED_MODULE_0__);\nvar exports = __webpack_exports__;\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.de = void 0;\nvar de = (function () {\n function de() {\n }\n de.prototype.atX0SecondsPastTheMinuteGt20 = function () {\n return null;\n };\n de.prototype.atX0MinutesPastTheHourGt20 = function () {\n return null;\n };\n de.prototype.commaMonthX0ThroughMonthX1 = function () {\n return null;\n };\n de.prototype.commaYearX0ThroughYearX1 = function () {\n return null;\n };\n de.prototype.use24HourTimeFormatByDefault = function () {\n return true;\n };\n de.prototype.everyMinute = function () {\n return \"jede Minute\";\n };\n de.prototype.everyHour = function () {\n return \"jede Stunde\";\n };\n de.prototype.anErrorOccuredWhenGeneratingTheExpressionD = function () {\n return \"Beim Generieren der Ausdrucksbeschreibung ist ein Fehler aufgetreten. \u00DCberpr\u00FCfen Sie die Syntax des Cron-Ausdrucks.\";\n };\n de.prototype.atSpace = function () {\n return \"Um \";\n };\n de.prototype.everyMinuteBetweenX0AndX1 = function () {\n return \"Jede Minute zwischen %s und %s\";\n };\n de.prototype.at = function () {\n return \"Um\";\n };\n de.prototype.spaceAnd = function () {\n return \" und\";\n };\n de.prototype.everySecond = function () {\n return \"Jede Sekunde\";\n };\n de.prototype.everyX0Seconds = function () {\n return \"alle %s Sekunden\";\n };\n de.prototype.secondsX0ThroughX1PastTheMinute = function () {\n return \"Sekunden %s bis %s\";\n };\n de.prototype.atX0SecondsPastTheMinute = function () {\n return \"bei Sekunde %s\";\n };\n de.prototype.everyX0Minutes = function () {\n return \"alle %s Minuten\";\n };\n de.prototype.minutesX0ThroughX1PastTheHour = function () {\n return \"Minuten %s bis %s\";\n };\n de.prototype.atX0MinutesPastTheHour = function () {\n return \"bei Minute %s\";\n };\n de.prototype.everyX0Hours = function () {\n return \"alle %s Stunden\";\n };\n de.prototype.betweenX0AndX1 = function () {\n return \"zwischen %s und %s\";\n };\n de.prototype.atX0 = function () {\n return \"um %s\";\n };\n de.prototype.commaEveryDay = function () {\n return \", jeden Tag\";\n };\n de.prototype.commaEveryX0DaysOfTheWeek = function () {\n return \", alle %s Tage der Woche\";\n };\n de.prototype.commaX0ThroughX1 = function () {\n return \", %s bis %s\";\n };\n de.prototype.commaAndX0ThroughX1 = function () {\n return \", und %s bis %s\";\n };\n de.prototype.first = function () {\n return \"ersten\";\n };\n de.prototype.second = function () {\n return \"zweiten\";\n };\n de.prototype.third = function () {\n return \"dritten\";\n };\n de.prototype.fourth = function () {\n return \"vierten\";\n };\n de.prototype.fifth = function () {\n return \"f\u00FCnften\";\n };\n de.prototype.commaOnThe = function () {\n return \", am \";\n };\n de.prototype.spaceX0OfTheMonth = function () {\n return \" %s des Monats\";\n };\n de.prototype.lastDay = function () {\n return \"der letzte Tag\";\n };\n de.prototype.commaOnTheLastX0OfTheMonth = function () {\n return \", am letzten %s des Monats\";\n };\n de.prototype.commaOnlyOnX0 = function () {\n return \", nur jeden %s\";\n };\n de.prototype.commaAndOnX0 = function () {\n return \", und jeden %s\";\n };\n de.prototype.commaEveryX0Months = function () {\n return \", alle %s Monate\";\n };\n de.prototype.commaOnlyInX0 = function () {\n return \", nur im %s\";\n };\n de.prototype.commaOnTheLastDayOfTheMonth = function () {\n return \", am letzten Tag des Monats\";\n };\n de.prototype.commaOnTheLastWeekdayOfTheMonth = function () {\n return \", am letzten Werktag des Monats\";\n };\n de.prototype.commaDaysBeforeTheLastDayOfTheMonth = function () {\n return \", %s tage vor dem letzten Tag des Monats\";\n };\n de.prototype.firstWeekday = function () {\n return \"ersten Werktag\";\n };\n de.prototype.weekdayNearestDayX0 = function () {\n return \"Werktag am n\u00E4chsten zum %s Tag\";\n };\n de.prototype.commaOnTheX0OfTheMonth = function () {\n return \", am %s des Monats\";\n };\n de.prototype.commaEveryX0Days = function () {\n return \", alle %s Tage\";\n };\n de.prototype.commaBetweenDayX0AndX1OfTheMonth = function () {\n return \", zwischen Tag %s und %s des Monats\";\n };\n de.prototype.commaOnDayX0OfTheMonth = function () {\n return \", an Tag %s des Monats\";\n };\n de.prototype.commaEveryX0Years = function () {\n return \", alle %s Jahre\";\n };\n de.prototype.commaStartingX0 = function () {\n return \", beginnend %s\";\n };\n de.prototype.daysOfTheWeek = function () {\n return [\"Sonntag\", \"Montag\", \"Dienstag\", \"Mittwoch\", \"Donnerstag\", \"Freitag\", \"Samstag\"];\n };\n de.prototype.monthsOfTheYear = function () {\n return [\n \"Januar\",\n \"Februar\",\n \"M\u00E4rz\",\n \"April\",\n \"Mai\",\n \"Juni\",\n \"Juli\",\n \"August\",\n \"September\",\n \"Oktober\",\n \"November\",\n \"Dezember\",\n ];\n };\n return de;\n}());\nexports.de = de;\n\n\n(cronstrue__WEBPACK_IMPORTED_MODULE_0___default().locales)[\"de\"] = new de();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});", "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"cronstrue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"locales/it\", [\"cronstrue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"locales/it\"] = factory(require(\"cronstrue\"));\n\telse\n\t\troot[\"locales/it\"] = factory(root[\"cronstrue\"]);\n})(globalThis, (__WEBPACK_EXTERNAL_MODULE__93__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 93:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__93__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(93);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cronstrue__WEBPACK_IMPORTED_MODULE_0__);\nvar exports = __webpack_exports__;\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.it = void 0;\nvar it = (function () {\n function it() {\n }\n it.prototype.atX0SecondsPastTheMinuteGt20 = function () {\n return null;\n };\n it.prototype.atX0MinutesPastTheHourGt20 = function () {\n return null;\n };\n it.prototype.commaMonthX0ThroughMonthX1 = function () {\n return null;\n };\n it.prototype.commaYearX0ThroughYearX1 = function () {\n return null;\n };\n it.prototype.use24HourTimeFormatByDefault = function () {\n return true;\n };\n it.prototype.anErrorOccuredWhenGeneratingTheExpressionD = function () {\n return \"\u00C8 verificato un errore durante la generazione la descrizione espressione. Controllare la sintassi delle espressioni cron.\";\n };\n it.prototype.at = function () {\n return \"Alle\";\n };\n it.prototype.atSpace = function () {\n return \"Alle \";\n };\n it.prototype.atX0 = function () {\n return \"alle %s\";\n };\n it.prototype.atX0MinutesPastTheHour = function () {\n return \"al %s minuto passata l'ora\";\n };\n it.prototype.atX0SecondsPastTheMinute = function () {\n return \"al %s secondo passato il minuto\";\n };\n it.prototype.betweenX0AndX1 = function () {\n return \"tra le %s e le %s\";\n };\n it.prototype.commaBetweenDayX0AndX1OfTheMonth = function () {\n return \", tra il giorno %s e %s del mese\";\n };\n it.prototype.commaEveryDay = function () {\n return \", ogni giorno\";\n };\n it.prototype.commaEveryX0Days = function () {\n return \", ogni %s giorni\";\n };\n it.prototype.commaEveryX0DaysOfTheWeek = function () {\n return \", ogni %s giorni della settimana\";\n };\n it.prototype.commaEveryX0Months = function () {\n return \", ogni %s mesi\";\n };\n it.prototype.commaEveryX0Years = function () {\n return \", ogni %s anni\";\n };\n it.prototype.commaOnDayX0OfTheMonth = function () {\n return \", il giorno %s del mese\";\n };\n it.prototype.commaOnlyInX0 = function () {\n return \", solo in %s\";\n };\n it.prototype.commaOnlyOnX0 = function () {\n return \", solo il %s\";\n };\n it.prototype.commaAndOnX0 = function () {\n return \", e il %s\";\n };\n it.prototype.commaOnThe = function () {\n return \", il \";\n };\n it.prototype.commaOnTheLastDayOfTheMonth = function () {\n return \", l'ultimo giorno del mese\";\n };\n it.prototype.commaOnTheLastWeekdayOfTheMonth = function () {\n return \", nell'ultima settimana del mese\";\n };\n it.prototype.commaDaysBeforeTheLastDayOfTheMonth = function () {\n return \", %s giorni prima dell'ultimo giorno del mese\";\n };\n it.prototype.commaOnTheLastX0OfTheMonth = function () {\n return \", l'ultimo %s del mese\";\n };\n it.prototype.commaOnTheX0OfTheMonth = function () {\n return \", il %s del mese\";\n };\n it.prototype.commaX0ThroughX1 = function () {\n return \", %s al %s\";\n };\n it.prototype.commaAndX0ThroughX1 = function () {\n return \", e %s al %s\";\n };\n it.prototype.everyHour = function () {\n return \"ogni ora\";\n };\n it.prototype.everyMinute = function () {\n return \"ogni minuto\";\n };\n it.prototype.everyMinuteBetweenX0AndX1 = function () {\n return \"Ogni minuto tra le %s e le %s\";\n };\n it.prototype.everySecond = function () {\n return \"ogni secondo\";\n };\n it.prototype.everyX0Hours = function () {\n return \"ogni %s ore\";\n };\n it.prototype.everyX0Minutes = function () {\n return \"ogni %s minuti\";\n };\n it.prototype.everyX0Seconds = function () {\n return \"ogni %s secondi\";\n };\n it.prototype.fifth = function () {\n return \"quinto\";\n };\n it.prototype.first = function () {\n return \"primo\";\n };\n it.prototype.firstWeekday = function () {\n return \"primo giorno della settimana\";\n };\n it.prototype.fourth = function () {\n return \"quarto\";\n };\n it.prototype.minutesX0ThroughX1PastTheHour = function () {\n return \"minuti %s al %s dopo l'ora\";\n };\n it.prototype.second = function () {\n return \"secondo\";\n };\n it.prototype.secondsX0ThroughX1PastTheMinute = function () {\n return \"secondi %s al %s oltre il minuto\";\n };\n it.prototype.spaceAnd = function () {\n return \" e\";\n };\n it.prototype.spaceX0OfTheMonth = function () {\n return \" %s del mese\";\n };\n it.prototype.lastDay = function () {\n return \"l'ultimo giorno\";\n };\n it.prototype.third = function () {\n return \"terzo\";\n };\n it.prototype.weekdayNearestDayX0 = function () {\n return \"giorno della settimana pi\u00F9 vicino al %s\";\n };\n it.prototype.commaStartingX0 = function () {\n return \", a partire %s\";\n };\n it.prototype.daysOfTheWeek = function () {\n return [\"domenica\", \"luned\u00EC\", \"marted\u00EC\", \"mercoled\u00EC\", \"gioved\u00EC\", \"venerd\u00EC\", \"sabato\"];\n };\n it.prototype.monthsOfTheYear = function () {\n return [\n \"gennaio\",\n \"febbraio\",\n \"marzo\",\n \"aprile\",\n \"maggio\",\n \"giugno\",\n \"luglio\",\n \"agosto\",\n \"settembre\",\n \"ottobre\",\n \"novembre\",\n \"dicembre\",\n ];\n };\n return it;\n}());\nexports.it = it;\n\n\n(cronstrue__WEBPACK_IMPORTED_MODULE_0___default().locales)[\"it\"] = new it();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});", "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"cronstrue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"locales/ru\", [\"cronstrue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"locales/ru\"] = factory(require(\"cronstrue\"));\n\telse\n\t\troot[\"locales/ru\"] = factory(root[\"cronstrue\"]);\n})(globalThis, (__WEBPACK_EXTERNAL_MODULE__93__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 93:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__93__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(93);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cronstrue__WEBPACK_IMPORTED_MODULE_0__);\nvar exports = __webpack_exports__;\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ru = void 0;\nvar getPhraseByNumber = function (str, words) {\n var number = Number(str);\n return number !== undefined\n ? words[number % 100 > 4 && number % 100 < 20 ? 2 : [2, 0, 1, 1, 1, 2][number % 10 < 5 ? Math.abs(number) % 10 : 5]]\n : words[2];\n};\nvar getPhraseByDayOfWeek = function (str, words) {\n var number = Number(str);\n return number !== undefined\n ? words[number === 0 ? 0 : number === 1 || number === 2 || number === 4 ? 1 : 2]\n : words[1];\n};\nvar ru = (function () {\n function ru() {\n }\n ru.prototype.atX0SecondsPastTheMinuteGt20 = function () {\n return null;\n };\n ru.prototype.atX0MinutesPastTheHourGt20 = function () {\n return null;\n };\n ru.prototype.commaMonthX0ThroughMonthX1 = function () {\n return null;\n };\n ru.prototype.commaYearX0ThroughYearX1 = function () {\n return null;\n };\n ru.prototype.use24HourTimeFormatByDefault = function () {\n return true;\n };\n ru.prototype.everyMinute = function () {\n return \"\u043A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443\";\n };\n ru.prototype.everyHour = function () {\n return \"\u043A\u0430\u0436\u0434\u044B\u0439 \u0447\u0430\u0441\";\n };\n ru.prototype.anErrorOccuredWhenGeneratingTheExpressionD = function () {\n return \"\u041F\u0440\u043E\u0438\u0437\u043E\u0448\u043B\u0430 \u043E\u0448\u0438\u0431\u043A\u0430 \u0432\u043E \u0432\u0440\u0435\u043C\u044F \u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u0438 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u044F \u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u044F. \u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0441 \u043A\u0440\u043E\u043D-\u0432\u044B\u0440\u0430\u0436\u0435\u043D\u0438\u044F.\";\n };\n ru.prototype.atSpace = function () {\n return \"\u0412 \";\n };\n ru.prototype.everyMinuteBetweenX0AndX1 = function () {\n return \"\u041A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443 \u0441 %s \u043F\u043E %s\";\n };\n ru.prototype.at = function () {\n return \"\u0412\";\n };\n ru.prototype.spaceAnd = function () {\n return \" \u0438\";\n };\n ru.prototype.everySecond = function () {\n return \"\u043A\u0430\u0436\u0434\u0443\u044E \u0441\u0435\u043A\u0443\u043D\u0434\u0443\";\n };\n ru.prototype.everyX0Seconds = function (s) {\n return getPhraseByNumber(s, [\"\u043A\u0430\u0436\u0434\u0443\u044E %s \u0441\u0435\u043A\u0443\u043D\u0434\u0443\", \"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u0441\u0435\u043A\u0443\u043D\u0434\u044B\", \"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u0441\u0435\u043A\u0443\u043D\u0434\"]);\n };\n ru.prototype.secondsX0ThroughX1PastTheMinute = function () {\n return \"\u0441\u0435\u043A\u0443\u043D\u0434\u044B \u0441 %s \u043F\u043E %s\";\n };\n ru.prototype.atX0SecondsPastTheMinute = function (s) {\n return getPhraseByNumber(s, [\"\u0432 %s \u0441\u0435\u043A\u0443\u043D\u0434\u0443\", \"\u0432 %s \u0441\u0435\u043A\u0443\u043D\u0434\u044B\", \"\u0432 %s \u0441\u0435\u043A\u0443\u043D\u0434\"]);\n };\n ru.prototype.everyX0Minutes = function (s) {\n return getPhraseByNumber(s, [\"\u043A\u0430\u0436\u0434\u0443\u044E %s \u043C\u0438\u043D\u0443\u0442\u0443\", \"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0438\u043D\u0443\u0442\u044B\", \"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0438\u043D\u0443\u0442\"]);\n };\n ru.prototype.minutesX0ThroughX1PastTheHour = function () {\n return \"\u043C\u0438\u043D\u0443\u0442\u044B \u0441 %s \u043F\u043E %s\";\n };\n ru.prototype.atX0MinutesPastTheHour = function (s) {\n return getPhraseByNumber(s, [\"\u0432 %s \u043C\u0438\u043D\u0443\u0442\u0443\", \"\u0432 %s \u043C\u0438\u043D\u0443\u0442\u044B\", \"\u0432 %s \u043C\u0438\u043D\u0443\u0442\"]);\n };\n ru.prototype.everyX0Hours = function (s) {\n return getPhraseByNumber(s, [\"\u043A\u0430\u0436\u0434\u044B\u0439 %s \u0447\u0430\u0441\", \"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u0447\u0430\u0441\u0430\", \"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u0447\u0430\u0441\u043E\u0432\"]);\n };\n ru.prototype.betweenX0AndX1 = function () {\n return \"\u0441 %s \u043F\u043E %s\";\n };\n ru.prototype.atX0 = function () {\n return \"\u0432 %s\";\n };\n ru.prototype.commaEveryDay = function () {\n return \", \u043A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C\";\n };\n ru.prototype.commaEveryX0DaysOfTheWeek = function (s) {\n return getPhraseByNumber(s, [\"\", \", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u0434\u043D\u044F \u043D\u0435\u0434\u0435\u043B\u0438\", \", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u0434\u043D\u0435\u0439 \u043D\u0435\u0434\u0435\u043B\u0438\"]);\n };\n ru.prototype.commaX0ThroughX1 = function (s) {\n return s && (s[0] == \"2\" || s[0] == \"3\") ? \", \u0441\u043E %s \u043F\u043E %s\" : \", \u0441 %s \u043F\u043E %s\";\n };\n ru.prototype.commaAndX0ThroughX1 = function (s) {\n return s && (s[0] == \"2\" || s[0] == \"3\") ? \" \u0438 \u0441\u043E %s \u043F\u043E %s\" : \" \u0438 \u0441 %s \u043F\u043E %s\";\n };\n ru.prototype.first = function (s) {\n return getPhraseByDayOfWeek(s, [\"\u043F\u0435\u0440\u0432\u043E\u0435\", \"\u043F\u0435\u0440\u0432\u044B\u0439\", \"\u043F\u0435\u0440\u0432\u0443\u044E\"]);\n };\n ru.prototype.second = function (s) {\n return getPhraseByDayOfWeek(s, [\"\u0432\u0442\u043E\u0440\u043E\u0435\", \"\u0432\u0442\u043E\u0440\u043E\u0439\", \"\u0432\u0442\u043E\u0440\u0443\u044E\"]);\n };\n ru.prototype.third = function (s) {\n return getPhraseByDayOfWeek(s, [\"\u0442\u0440\u0435\u0442\u044C\u0435\", \"\u0442\u0440\u0435\u0442\u0438\u0439\", \"\u0442\u0440\u0435\u0442\u044C\u044E\"]);\n };\n ru.prototype.fourth = function (s) {\n return getPhraseByDayOfWeek(s, [\"\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043E\u0435\", \"\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u044B\u0439\", \"\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0443\u044E\"]);\n };\n ru.prototype.fifth = function (s) {\n return getPhraseByDayOfWeek(s, [\"\u043F\u044F\u0442\u043E\u0435\", \"\u043F\u044F\u0442\u044B\u0439\", \"\u043F\u044F\u0442\u0443\u044E\"]);\n };\n ru.prototype.commaOnThe = function (s) {\n return s === \"2\" ? \", \u0432\u043E \" : \", \u0432 \";\n };\n ru.prototype.spaceX0OfTheMonth = function () {\n return \" %s \u043C\u0435\u0441\u044F\u0446\u0430\";\n };\n ru.prototype.lastDay = function () {\n return \"\u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0434\u0435\u043D\u044C\";\n };\n ru.prototype.commaOnTheLastX0OfTheMonth = function (s) {\n return getPhraseByDayOfWeek(s, [\", \u0432 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435 %s \u043C\u0435\u0441\u044F\u0446\u0430\", \", \u0432 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 %s \u043C\u0435\u0441\u044F\u0446\u0430\", \", \u0432 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044E\u044E %s \u043C\u0435\u0441\u044F\u0446\u0430\"]);\n };\n ru.prototype.commaOnlyOnX0 = function (s) {\n return s && s[0] === \"2\" ? \", \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u043E %s\" : \", \u0442\u043E\u043B\u044C\u043A\u043E \u0432 %s\";\n };\n ru.prototype.commaAndOnX0 = function () {\n return \", \u0438 %s\";\n };\n ru.prototype.commaEveryX0Months = function (s) {\n return getPhraseByNumber(s, [\"\", \" \u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0435\u0441\u044F\u0446\u0430\", \" \u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0435\u0441\u044F\u0446\u0435\u0432\"]);\n };\n ru.prototype.commaOnlyInMonthX0 = function () {\n return \", \u0442\u043E\u043B\u044C\u043A\u043E %s\";\n };\n ru.prototype.commaOnlyInX0 = function () {\n return \", \u0442\u043E\u043B\u044C\u043A\u043E \u0432 %s\";\n };\n ru.prototype.commaOnTheLastDayOfTheMonth = function () {\n return \", \u0432 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0434\u0435\u043D\u044C \u043C\u0435\u0441\u044F\u0446\u0430\";\n };\n ru.prototype.commaOnTheLastWeekdayOfTheMonth = function () {\n return \", \u0432 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0431\u0443\u0434\u043D\u0438\u0439 \u0434\u0435\u043D\u044C \u043C\u0435\u0441\u044F\u0446\u0430\";\n };\n ru.prototype.commaDaysBeforeTheLastDayOfTheMonth = function (s) {\n return getPhraseByNumber(s, [\n \", \u0437\u0430 %s \u0434\u0435\u043D\u044C \u0434\u043E \u043A\u043E\u043D\u0446\u0430 \u043C\u0435\u0441\u044F\u0446\u0430\",\n \", \u0437\u0430 %s \u0434\u043D\u044F \u0434\u043E \u043A\u043E\u043D\u0446\u0430 \u043C\u0435\u0441\u044F\u0446\u0430\",\n \", \u0437\u0430 %s \u0434\u043D\u0435\u0439 \u0434\u043E \u043A\u043E\u043D\u0446\u0430 \u043C\u0435\u0441\u044F\u0446\u0430\",\n ]);\n };\n ru.prototype.firstWeekday = function () {\n return \"\u043F\u0435\u0440\u0432\u044B\u0439 \u0431\u0443\u0434\u043D\u0438\u0439 \u0434\u0435\u043D\u044C\";\n };\n ru.prototype.weekdayNearestDayX0 = function () {\n return \"\u0431\u043B\u0438\u0436\u0430\u0439\u0448\u0438\u0439 \u0431\u0443\u0434\u043D\u0438\u0439 \u0434\u0435\u043D\u044C \u043A %s \u0447\u0438\u0441\u043B\u0443\";\n };\n ru.prototype.commaOnTheX0OfTheMonth = function () {\n return \", \u0432 %s \u043C\u0435\u0441\u044F\u0446\u0430\";\n };\n ru.prototype.commaEveryX0Days = function (s) {\n return getPhraseByNumber(s, [\", \u043A\u0430\u0436\u0434\u044B\u0439 %s \u0434\u0435\u043D\u044C\", \", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u0434\u043D\u044F\", \", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u0434\u043D\u0435\u0439\"]);\n };\n ru.prototype.commaBetweenDayX0AndX1OfTheMonth = function (s) {\n return s && s.substring(0, s.indexOf(\"-\")) == \"2\" ? \", \u0441\u043E %s \u043F\u043E %s \u0447\u0438\u0441\u043B\u043E \u043C\u0435\u0441\u044F\u0446\u0430\" : \", \u0441 %s \u043F\u043E %s \u0447\u0438\u0441\u043B\u043E \u043C\u0435\u0441\u044F\u0446\u0430\";\n };\n ru.prototype.commaOnDayX0OfTheMonth = function (s) {\n return s && s[0] == \"2\" ? \", \u0432\u043E %s \u0447\u0438\u0441\u043B\u043E \u043C\u0435\u0441\u044F\u0446\u0430\" : \", \u0432 %s \u0447\u0438\u0441\u043B\u043E \u043C\u0435\u0441\u044F\u0446\u0430\";\n };\n ru.prototype.commaEveryX0Years = function (s) {\n return getPhraseByNumber(s, [\", \u043A\u0430\u0436\u0434\u044B\u0439 %s \u0433\u043E\u0434\", \", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u0433\u043E\u0434\u0430\", \", \u043A\u0430\u0436\u0434\u044B\u0435 %s \u043B\u0435\u0442\"]);\n };\n ru.prototype.commaStartingX0 = function () {\n return \", \u043D\u0430\u0447\u0430\u043B\u043E %s\";\n };\n ru.prototype.daysOfTheWeek = function () {\n return [\"\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435\", \"\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A\", \"\u0432\u0442\u043E\u0440\u043D\u0438\u043A\", \"\u0441\u0440\u0435\u0434\u0430\", \"\u0447\u0435\u0442\u0432\u0435\u0440\u0433\", \"\u043F\u044F\u0442\u043D\u0438\u0446\u0430\", \"\u0441\u0443\u0431\u0431\u043E\u0442\u0430\"];\n };\n ru.prototype.daysOfTheWeekInCase = function (f) {\n if (f === void 0) { f = 2; }\n return f == 1\n ? [\"\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u044F\", \"\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A\u0430\", \"\u0432\u0442\u043E\u0440\u043D\u0438\u043A\u0430\", \"\u0441\u0440\u0435\u0434\u044B\", \"\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430\", \"\u043F\u044F\u0442\u043D\u0438\u0446\u044B\", \"\u0441\u0443\u0431\u0431\u043E\u0442\u044B\"]\n : [\"\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435\", \"\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A\", \"\u0432\u0442\u043E\u0440\u043D\u0438\u043A\", \"\u0441\u0440\u0435\u0434\u0443\", \"\u0447\u0435\u0442\u0432\u0435\u0440\u0433\", \"\u043F\u044F\u0442\u043D\u0438\u0446\u0443\", \"\u0441\u0443\u0431\u0431\u043E\u0442\u0443\"];\n };\n ru.prototype.monthsOfTheYear = function () {\n return [\n \"\u044F\u043D\u0432\u0430\u0440\u044C\",\n \"\u0444\u0435\u0432\u0440\u0430\u043B\u044C\",\n \"\u043C\u0430\u0440\u0442\",\n \"\u0430\u043F\u0440\u0435\u043B\u044C\",\n \"\u043C\u0430\u0439\",\n \"\u0438\u044E\u043D\u044C\",\n \"\u0438\u044E\u043B\u044C\",\n \"\u0430\u0432\u0433\u0443\u0441\u0442\",\n \"\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044C\",\n \"\u043E\u043A\u0442\u044F\u0431\u0440\u044C\",\n \"\u043D\u043E\u044F\u0431\u0440\u044C\",\n \"\u0434\u0435\u043A\u0430\u0431\u0440\u044C\",\n ];\n };\n ru.prototype.monthsOfTheYearInCase = function (f) {\n return f == 1\n ? [\n \"\u044F\u043D\u0432\u0430\u0440\u044F\",\n \"\u0444\u0435\u0432\u0440\u0430\u043B\u044F\",\n \"\u043C\u0430\u0440\u0442\u0430\",\n \"\u0430\u043F\u0440\u0435\u043B\u044F\",\n \"\u043C\u0430\u044F\",\n \"\u0438\u044E\u043D\u044F\",\n \"\u0438\u044E\u043B\u044F\",\n \"\u0430\u0432\u0433\u0443\u0441\u0442\u0430\",\n \"\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044F\",\n \"\u043E\u043A\u0442\u044F\u0431\u0440\u044F\",\n \"\u043D\u043E\u044F\u0431\u0440\u044F\",\n \"\u0434\u0435\u043A\u0430\u0431\u0440\u044F\",\n ]\n : this.monthsOfTheYear();\n };\n return ru;\n}());\nexports.ru = ru;\n\n\n(cronstrue__WEBPACK_IMPORTED_MODULE_0___default().locales)[\"ru\"] = new ru();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});", "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"cronstrue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"locales/zh_CN\", [\"cronstrue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"locales/zh_CN\"] = factory(require(\"cronstrue\"));\n\telse\n\t\troot[\"locales/zh_CN\"] = factory(root[\"cronstrue\"]);\n})(globalThis, (__WEBPACK_EXTERNAL_MODULE__93__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 93:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__93__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(93);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cronstrue__WEBPACK_IMPORTED_MODULE_0__);\nvar exports = __webpack_exports__;\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.zh_CN = void 0;\nvar zh_CN = (function () {\n function zh_CN() {\n }\n zh_CN.prototype.setPeriodBeforeTime = function () {\n return true;\n };\n zh_CN.prototype.pm = function () {\n return \"\u4E0B\u5348\";\n };\n zh_CN.prototype.am = function () {\n return \"\u4E0A\u5348\";\n };\n zh_CN.prototype.atX0SecondsPastTheMinuteGt20 = function () {\n return null;\n };\n zh_CN.prototype.atX0MinutesPastTheHourGt20 = function () {\n return null;\n };\n zh_CN.prototype.commaMonthX0ThroughMonthX1 = function () {\n return null;\n };\n zh_CN.prototype.commaYearX0ThroughYearX1 = function () {\n return \", \u4ECE%s\u5E74\u81F3%s\u5E74\";\n };\n zh_CN.prototype.use24HourTimeFormatByDefault = function () {\n return false;\n };\n zh_CN.prototype.everyMinute = function () {\n return \"\u6BCF\u5206\u949F\";\n };\n zh_CN.prototype.everyHour = function () {\n return \"\u6BCF\u5C0F\u65F6\";\n };\n zh_CN.prototype.anErrorOccuredWhenGeneratingTheExpressionD = function () {\n return \"\u751F\u6210\u8868\u8FBE\u5F0F\u63CF\u8FF0\u65F6\u53D1\u751F\u4E86\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5cron\u8868\u8FBE\u5F0F\u8BED\u6CD5\u3002\";\n };\n zh_CN.prototype.atSpace = function () {\n return \"\u5728\";\n };\n zh_CN.prototype.everyMinuteBetweenX0AndX1 = function () {\n return \"\u5728 %s \u81F3 %s \u4E4B\u95F4\u7684\u6BCF\u5206\u949F\";\n };\n zh_CN.prototype.at = function () {\n return \"\u5728\";\n };\n zh_CN.prototype.spaceAnd = function () {\n return \" \u548C\";\n };\n zh_CN.prototype.everySecond = function () {\n return \"\u6BCF\u79D2\";\n };\n zh_CN.prototype.everyX0Seconds = function () {\n return \"\u6BCF\u9694 %s \u79D2\";\n };\n zh_CN.prototype.secondsX0ThroughX1PastTheMinute = function () {\n return \"\u5728\u6BCF\u5206\u949F\u7684\u7B2C %s \u5230 %s \u79D2\";\n };\n zh_CN.prototype.atX0SecondsPastTheMinute = function () {\n return \"\u5728\u6BCF\u5206\u949F\u7684\u7B2C %s \u79D2\";\n };\n zh_CN.prototype.everyX0Minutes = function () {\n return \"\u6BCF\u9694 %s \u5206\u949F\";\n };\n zh_CN.prototype.minutesX0ThroughX1PastTheHour = function () {\n return \"\u5728\u6BCF\u5C0F\u65F6\u7684\u7B2C %s \u5230 %s \u5206\u949F\";\n };\n zh_CN.prototype.atX0MinutesPastTheHour = function () {\n return \"\u5728\u6BCF\u5C0F\u65F6\u7684\u7B2C %s \u5206\u949F\";\n };\n zh_CN.prototype.everyX0Hours = function () {\n return \"\u6BCF\u9694 %s \u5C0F\u65F6\";\n };\n zh_CN.prototype.betweenX0AndX1 = function () {\n return \"\u5728 %s \u548C %s \u4E4B\u95F4\";\n };\n zh_CN.prototype.atX0 = function () {\n return \"\u5728%s\";\n };\n zh_CN.prototype.commaEveryDay = function () {\n return \", \u6BCF\u5929\";\n };\n zh_CN.prototype.commaEveryX0DaysOfTheWeek = function () {\n return \", \u6BCF\u5468\u7684\u6BCF %s \u5929\";\n };\n zh_CN.prototype.commaX0ThroughX1 = function () {\n return \", %s\u81F3%s\";\n };\n zh_CN.prototype.commaAndX0ThroughX1 = function () {\n return \", \u548C%s\u81F3%s\";\n };\n zh_CN.prototype.first = function () {\n return \"\u7B2C\u4E00\u4E2A\";\n };\n zh_CN.prototype.second = function () {\n return \"\u7B2C\u4E8C\u4E2A\";\n };\n zh_CN.prototype.third = function () {\n return \"\u7B2C\u4E09\u4E2A\";\n };\n zh_CN.prototype.fourth = function () {\n return \"\u7B2C\u56DB\u4E2A\";\n };\n zh_CN.prototype.fifth = function () {\n return \"\u7B2C\u4E94\u4E2A\";\n };\n zh_CN.prototype.commaOnThe = function () {\n return \", \u9650\u6BCF\u6708\u7684\";\n };\n zh_CN.prototype.spaceX0OfTheMonth = function () {\n return \"%s\";\n };\n zh_CN.prototype.lastDay = function () {\n return \"\u672C\u6708\u6700\u540E\u4E00\u5929\";\n };\n zh_CN.prototype.commaOnTheLastX0OfTheMonth = function () {\n return \", \u9650\u6BCF\u6708\u7684\u6700\u540E\u4E00\u4E2A%s\";\n };\n zh_CN.prototype.commaOnlyOnX0 = function () {\n return \", \u4EC5%s\";\n };\n zh_CN.prototype.commaAndOnX0 = function () {\n return \", \u6216\u8005\u4E3A%s\";\n };\n zh_CN.prototype.commaEveryX0Months = function () {\n return \", \u6BCF\u9694 %s \u4E2A\u6708\";\n };\n zh_CN.prototype.commaOnlyInX0 = function () {\n return \", \u4EC5\u9650%s\";\n };\n zh_CN.prototype.commaOnlyInMonthX0 = function () {\n return \", \u4EC5\u4E8E%s\u4EFD\";\n };\n zh_CN.prototype.commaOnlyInYearX0 = function () {\n return \", \u4EC5\u4E8E %s \u5E74\";\n };\n zh_CN.prototype.commaOnTheLastDayOfTheMonth = function () {\n return \", \u9650\u6BCF\u6708\u7684\u6700\u540E\u4E00\u5929\";\n };\n zh_CN.prototype.commaOnTheLastWeekdayOfTheMonth = function () {\n return \", \u9650\u6BCF\u6708\u7684\u6700\u540E\u4E00\u4E2A\u5DE5\u4F5C\u65E5\";\n };\n zh_CN.prototype.commaDaysBeforeTheLastDayOfTheMonth = function () {\n return \", \u9650\u6BCF\u6708\u6700\u540E%s\u5929\";\n };\n zh_CN.prototype.firstWeekday = function () {\n return \"\u7B2C\u4E00\u4E2A\u5DE5\u4F5C\u65E5\";\n };\n zh_CN.prototype.weekdayNearestDayX0 = function () {\n return \"\u6700\u63A5\u8FD1 %s \u53F7\u7684\u5DE5\u4F5C\u65E5\";\n };\n zh_CN.prototype.commaOnTheX0OfTheMonth = function () {\n return \", \u9650\u6BCF\u6708\u7684%s\";\n };\n zh_CN.prototype.commaEveryX0Days = function () {\n return \", \u6BCF\u9694 %s \u5929\";\n };\n zh_CN.prototype.commaBetweenDayX0AndX1OfTheMonth = function () {\n return \", \u9650\u6BCF\u6708\u7684 %s \u81F3 %s \u4E4B\u95F4\";\n };\n zh_CN.prototype.commaOnDayX0OfTheMonth = function () {\n return \", \u9650\u6BCF\u6708%s\";\n };\n zh_CN.prototype.commaEveryX0Years = function () {\n return \", \u6BCF\u9694 %s \u5E74\";\n };\n zh_CN.prototype.commaStartingX0 = function () {\n return \", %s\u5F00\u59CB\";\n };\n zh_CN.prototype.dayX0 = function () {\n return \" %s \u53F7\";\n };\n zh_CN.prototype.daysOfTheWeek = function () {\n return [\"\u661F\u671F\u65E5\", \"\u661F\u671F\u4E00\", \"\u661F\u671F\u4E8C\", \"\u661F\u671F\u4E09\", \"\u661F\u671F\u56DB\", \"\u661F\u671F\u4E94\", \"\u661F\u671F\u516D\"];\n };\n zh_CN.prototype.monthsOfTheYear = function () {\n return [\"\u4E00\u6708\", \"\u4E8C\u6708\", \"\u4E09\u6708\", \"\u56DB\u6708\", \"\u4E94\u6708\", \"\u516D\u6708\", \"\u4E03\u6708\", \"\u516B\u6708\", \"\u4E5D\u6708\", \"\u5341\u6708\", \"\u5341\u4E00\u6708\", \"\u5341\u4E8C\u6708\"];\n };\n return zh_CN;\n}());\nexports.zh_CN = zh_CN;\n\n\n(cronstrue__WEBPACK_IMPORTED_MODULE_0___default().locales)[\"zh_CN\"] = new zh_CN();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});", "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"cronstrue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"locales/uk\", [\"cronstrue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"locales/uk\"] = factory(require(\"cronstrue\"));\n\telse\n\t\troot[\"locales/uk\"] = factory(root[\"cronstrue\"]);\n})(globalThis, (__WEBPACK_EXTERNAL_MODULE__93__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 93:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__93__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(93);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cronstrue__WEBPACK_IMPORTED_MODULE_0__);\nvar exports = __webpack_exports__;\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.uk = void 0;\nvar uk = (function () {\n function uk() {\n }\n uk.prototype.atX0SecondsPastTheMinuteGt20 = function () {\n return null;\n };\n uk.prototype.atX0MinutesPastTheHourGt20 = function () {\n return null;\n };\n uk.prototype.commaMonthX0ThroughMonthX1 = function () {\n return null;\n };\n uk.prototype.commaYearX0ThroughYearX1 = function () {\n return null;\n };\n uk.prototype.use24HourTimeFormatByDefault = function () {\n return true;\n };\n uk.prototype.everyMinute = function () {\n return \"\u0449\u043E\u0445\u0432\u0438\u043B\u0438\u043D\u0438\";\n };\n uk.prototype.everyHour = function () {\n return \"\u0449\u043E\u0433\u043E\u0434\u0438\u043D\u0438\";\n };\n uk.prototype.anErrorOccuredWhenGeneratingTheExpressionD = function () {\n return \"\u0412\u0406\u0434\u0431\u0443\u043B\u0430\u0441\u044F \u043F\u043E\u043C\u0438\u043B\u043A\u0430 \u043F\u0456\u0434\u0447\u0430\u0441 \u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0456\u0457 \u043E\u043F\u0438\u0441\u0443. \u041F\u0435\u0440\u0435\u0432\u0456\u0440\u0442\u0430 \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456\u0441\u0442\u044C \u043D\u0430\u043F\u0438\u0441\u0430\u043D\u043D\u044F cron \u0432\u0438\u0440\u0430\u0437\u0443.\";\n };\n uk.prototype.atSpace = function () {\n return \"\u041E \";\n };\n uk.prototype.everyMinuteBetweenX0AndX1 = function () {\n return \"\u0429\u043E\u0445\u0432\u0438\u043B\u0438\u043D\u0438 \u043C\u0456\u0436 %s \u0442\u0430 %s\";\n };\n uk.prototype.at = function () {\n return \"\u041E\";\n };\n uk.prototype.spaceAnd = function () {\n return \" \u0442\u0430\";\n };\n uk.prototype.everySecond = function () {\n return \"\u0429\u043E\u0441\u0435\u043A\u0443\u043D\u0434\u0438\";\n };\n uk.prototype.everyX0Seconds = function () {\n return \"\u043A\u043E\u0436\u043D\u0456 %s \u0441\u0435\u043A\u0443\u043D\u0434\";\n };\n uk.prototype.secondsX0ThroughX1PastTheMinute = function () {\n return \"\u0437 %s \u043F\u043E %s \u0441\u0435\u043A\u0443\u043D\u0434\u0443\";\n };\n uk.prototype.atX0SecondsPastTheMinute = function () {\n return \"\u043E %s \u0441\u0435\u043A\u0443\u043D\u0434\u0456\";\n };\n uk.prototype.everyX0Minutes = function () {\n return \"\u043A\u043E\u0436\u043D\u0456 %s \u0445\u0432\u0438\u043B\u0438\u043D\";\n };\n uk.prototype.minutesX0ThroughX1PastTheHour = function () {\n return \"\u0437 %s \u043F\u043E %s \u0445\u0432\u0438\u043B\u0438\u043D\u0443\";\n };\n uk.prototype.atX0MinutesPastTheHour = function () {\n return \"\u043E %s \u0445\u0432\u0438\u043B\u0438\u043D\u0456\";\n };\n uk.prototype.everyX0Hours = function () {\n return \"\u043A\u043E\u0436\u043D\u0456 %s \u0433\u043E\u0434\u0438\u043D\";\n };\n uk.prototype.betweenX0AndX1 = function () {\n return \"\u043C\u0456\u0436 %s \u0442\u0430 %s\";\n };\n uk.prototype.atX0 = function () {\n return \"\u043E %s\";\n };\n uk.prototype.commaEveryDay = function () {\n return \", \u0449\u043E\u0434\u0435\u043D\u043D\u043E\";\n };\n uk.prototype.commaEveryX0DaysOfTheWeek = function () {\n return \", \u043A\u043E\u0436\u0435\u043D %s \u0434\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F\";\n };\n uk.prototype.commaX0ThroughX1 = function () {\n return \", %s \u043F\u043E %s\";\n };\n uk.prototype.commaAndX0ThroughX1 = function () {\n return \", \u0442\u0430 %s \u043F\u043E %s\";\n };\n uk.prototype.first = function () {\n return \"\u043F\u0435\u0440\u0448\u0438\u0439\";\n };\n uk.prototype.second = function () {\n return \"\u0434\u0440\u0443\u0433\u0438\u0439\";\n };\n uk.prototype.third = function () {\n return \"\u0442\u0440\u0435\u0442\u0456\u0439\";\n };\n uk.prototype.fourth = function () {\n return \"\u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0438\u0439\";\n };\n uk.prototype.fifth = function () {\n return \"\u043F'\u044F\u0442\u0438\u0439\";\n };\n uk.prototype.commaOnThe = function () {\n return \", \u0432 \";\n };\n uk.prototype.spaceX0OfTheMonth = function () {\n return \" %s \u043C\u0456\u0441\u044F\u0446\u044F\";\n };\n uk.prototype.lastDay = function () {\n return \"\u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0439 \u0434\u0435\u043D\u044C\";\n };\n uk.prototype.commaOnTheLastX0OfTheMonth = function () {\n return \", \u0432 \u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0439 %s \u043C\u0456\u0441\u044F\u0446\u044F\";\n };\n uk.prototype.commaOnlyOnX0 = function () {\n return \", \u0442\u0456\u043B\u044C\u043A\u0438 \u0432 %s\";\n };\n uk.prototype.commaAndOnX0 = function () {\n return \", \u0456 \u0432 %s\";\n };\n uk.prototype.commaEveryX0Months = function () {\n return \", \u043A\u043E\u0436\u0435\u043D %s \u043C\u0456\u0441\u044F\u0446\u044C\";\n };\n uk.prototype.commaOnlyInX0 = function () {\n return \", \u0442\u0456\u043B\u044C\u043A\u0438 \u0432 %s\";\n };\n uk.prototype.commaOnTheLastDayOfTheMonth = function () {\n return \", \u0432 \u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0439 \u0434\u0435\u043D\u044C \u043C\u0456\u0441\u044F\u0446\u044F\";\n };\n uk.prototype.commaOnTheLastWeekdayOfTheMonth = function () {\n return \", \u0432 \u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0439 \u0431\u0443\u0434\u0435\u043D\u044C \u043C\u0456\u0441\u044F\u0446\u044F\";\n };\n uk.prototype.commaDaysBeforeTheLastDayOfTheMonth = function () {\n return \", %s \u0434\u043D\u0456\u0432 \u0434\u043E \u043E\u0441\u0442\u0430\u043D\u043D\u044C\u043E\u0433\u043E \u0434\u043D\u044F \u043C\u0456\u0441\u044F\u0446\u044F\";\n };\n uk.prototype.firstWeekday = function () {\n return \"\u043F\u0435\u0440\u0448\u0438\u0439 \u0431\u0443\u0434\u0435\u043D\u044C\";\n };\n uk.prototype.weekdayNearestDayX0 = function () {\n return \"\u0431\u0443\u0434\u0435\u043D\u044C \u043D\u0430\u0439\u0431\u043B\u0438\u0436\u0447\u0438\u0439 \u0434\u043E %s \u0434\u043D\u044F\";\n };\n uk.prototype.commaOnTheX0OfTheMonth = function () {\n return \", \u0432 %s \u043C\u0456\u0441\u044F\u0446\u044F\";\n };\n uk.prototype.commaEveryX0Days = function () {\n return \", \u043A\u043E\u0436\u0435\u043D %s \u0434\u0435\u043D\u044C\";\n };\n uk.prototype.commaBetweenDayX0AndX1OfTheMonth = function () {\n return \", \u043C\u0456\u0436 %s \u0442\u0430 %s \u0434\u043D\u044F\u043C\u0438 \u043C\u0456\u0441\u044F\u0446\u044F\";\n };\n uk.prototype.commaOnDayX0OfTheMonth = function () {\n return \", \u043D\u0430 %s \u0434\u0435\u043D\u044C \u043C\u0456\u0441\u044F\u0446\u044F\";\n };\n uk.prototype.commaEveryX0Years = function () {\n return \", \u043A\u043E\u0436\u043D\u0456 %s \u0440\u043E\u043A\u0438\";\n };\n uk.prototype.commaStartingX0 = function () {\n return \", \u043F\u043E\u0447\u0430\u0442\u043E\u043A %s\";\n };\n uk.prototype.daysOfTheWeek = function () {\n return [\"\u043D\u0435\u0434\u0456\u043B\u044F\", \"\u043F\u043E\u043D\u0435\u0434\u0456\u043B\u043E\u043A\", \"\u0432\u0456\u0432\u0442\u043E\u0440\u043E\u043A\", \"\u0441\u0435\u0440\u0435\u0434\u0430\", \"\u0447\u0435\u0442\u0432\u0435\u0440\", \"\u043F'\u044F\u0442\u043D\u0438\u0446\u044F\", \"\u0441\u0443\u0431\u043E\u0442\u0430\"];\n };\n uk.prototype.monthsOfTheYear = function () {\n return [\n \"\u0441\u0456\u0447\u0435\u043D\u044C\",\n \"\u043B\u044E\u0442\u0438\u0439\",\n \"\u0431\u0435\u0440\u0435\u0437\u0435\u043D\u044C\",\n \"\u043A\u0432\u0456\u0442\u0435\u043D\u044C\",\n \"\u0442\u0440\u0430\u0432\u0435\u043D\u044C\",\n \"\u0447\u0435\u0440\u0432\u0435\u043D\u044C\",\n \"\u043B\u0438\u043F\u0435\u043D\u044C\",\n \"\u0441\u0435\u0440\u043F\u0435\u043D\u044C\",\n \"\u0432\u0435\u0440\u0435\u0441\u0435\u043D\u044C\",\n \"\u0436\u043E\u0432\u0442\u0435\u043D\u044C\",\n \"\u043B\u0438\u0441\u0442\u043E\u043F\u0430\u0434\",\n \"\u0433\u0440\u0443\u0434\u0435\u043D\u044C\",\n ];\n };\n return uk;\n}());\nexports.uk = uk;\n\n\n(cronstrue__WEBPACK_IMPORTED_MODULE_0___default().locales)[\"uk\"] = new uk();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});", "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"cronstrue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"locales/pt_BR\", [\"cronstrue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"locales/pt_BR\"] = factory(require(\"cronstrue\"));\n\telse\n\t\troot[\"locales/pt_BR\"] = factory(root[\"cronstrue\"]);\n})(globalThis, (__WEBPACK_EXTERNAL_MODULE__93__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 93:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__93__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(93);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cronstrue__WEBPACK_IMPORTED_MODULE_0__);\nvar exports = __webpack_exports__;\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.pt_BR = void 0;\nvar pt_BR = (function () {\n function pt_BR() {\n }\n pt_BR.prototype.atX0SecondsPastTheMinuteGt20 = function () {\n return null;\n };\n pt_BR.prototype.atX0MinutesPastTheHourGt20 = function () {\n return null;\n };\n pt_BR.prototype.commaMonthX0ThroughMonthX1 = function () {\n return null;\n };\n pt_BR.prototype.commaYearX0ThroughYearX1 = function () {\n return null;\n };\n pt_BR.prototype.use24HourTimeFormatByDefault = function () {\n return true;\n };\n pt_BR.prototype.anErrorOccuredWhenGeneratingTheExpressionD = function () {\n return \"Ocorreu um erro ao gerar a descri\u00E7\u00E3o da express\u00E3o Cron.\";\n };\n pt_BR.prototype.at = function () {\n return \"\u00E0s\";\n };\n pt_BR.prototype.atSpace = function () {\n return \"\u00E0s \";\n };\n pt_BR.prototype.atX0 = function () {\n return \"\u00C0s %s\";\n };\n pt_BR.prototype.atX0MinutesPastTheHour = function () {\n return \"aos %s minutos da hora\";\n };\n pt_BR.prototype.atX0SecondsPastTheMinute = function () {\n return \"aos %s segundos do minuto\";\n };\n pt_BR.prototype.betweenX0AndX1 = function () {\n return \"entre %s e %s\";\n };\n pt_BR.prototype.commaBetweenDayX0AndX1OfTheMonth = function () {\n return \", entre os dias %s e %s do m\u00EAs\";\n };\n pt_BR.prototype.commaEveryDay = function () {\n return \", a cada dia\";\n };\n pt_BR.prototype.commaEveryX0Days = function () {\n return \", a cada %s dias\";\n };\n pt_BR.prototype.commaEveryX0DaysOfTheWeek = function () {\n return \", a cada %s dias de semana\";\n };\n pt_BR.prototype.commaEveryX0Months = function () {\n return \", a cada %s meses\";\n };\n pt_BR.prototype.commaOnDayX0OfTheMonth = function () {\n return \", no dia %s do m\u00EAs\";\n };\n pt_BR.prototype.commaOnlyInX0 = function (s) {\n return s && s.length > 1 && s[1] === \"-\" ? \"somente %s\" : \", somente em %s\";\n };\n pt_BR.prototype.commaOnlyOnX0 = function (s) {\n return s && s.length > 1 && s[1] === \"-\" ? \", somente %s\" : \", somente de %s\";\n };\n pt_BR.prototype.commaAndOnX0 = function () {\n return \", e de %s\";\n };\n pt_BR.prototype.commaOnThe = function (s, day) {\n return day === '6' || day === '0' ? \", no\" : \", na \";\n };\n pt_BR.prototype.commaOnTheLastDayOfTheMonth = function () {\n return \", no \u00FAltimo dia do m\u00EAs\";\n };\n pt_BR.prototype.commaOnTheLastWeekdayOfTheMonth = function () {\n return \", no \u00FAltimo dia da semana do m\u00EAs\";\n };\n pt_BR.prototype.commaDaysBeforeTheLastDayOfTheMonth = function () {\n return \", %s dias antes do \u00FAltimo dia do m\u00EAs\";\n };\n pt_BR.prototype.commaOnTheLastX0OfTheMonth = function () {\n return \", na \u00FAltima %s do m\u00EAs\";\n };\n pt_BR.prototype.commaOnTheX0OfTheMonth = function () {\n return \", no %s do m\u00EAs\";\n };\n pt_BR.prototype.commaX0ThroughX1 = function () {\n return \", de %s a %s\";\n };\n pt_BR.prototype.commaAndX0ThroughX1 = function () {\n return \", e de %s a %s\";\n };\n pt_BR.prototype.everyHour = function () {\n return \"a cada hora\";\n };\n pt_BR.prototype.everyMinute = function () {\n return \"a cada minuto\";\n };\n pt_BR.prototype.everyMinuteBetweenX0AndX1 = function () {\n return \"a cada minuto entre %s e %s\";\n };\n pt_BR.prototype.everySecond = function () {\n return \"a cada segundo\";\n };\n pt_BR.prototype.everyX0Hours = function () {\n return \"a cada %s horas\";\n };\n pt_BR.prototype.everyX0Minutes = function () {\n return \"a cada %s minutos\";\n };\n pt_BR.prototype.everyX0Seconds = function () {\n return \"a cada %s segundos\";\n };\n pt_BR.prototype.fifth = function (s) {\n return s === '6' || s === '0' ? \"quinto\" : \"quinta\";\n };\n pt_BR.prototype.first = function (s) {\n return s === '6' || s === '0' ? \"primeiro\" : \"primeira\";\n };\n pt_BR.prototype.firstWeekday = function () {\n return \"primeiro dia da semana\";\n };\n pt_BR.prototype.fourth = function (s) {\n return s === '6' || s === '0' ? \"quarto\" : \"quarta\";\n };\n pt_BR.prototype.minutesX0ThroughX1PastTheHour = function () {\n return \"do minuto %s at\u00E9 %s de cada hora\";\n };\n pt_BR.prototype.second = function (s) {\n return s === '6' || s === '0' ? \"segundo\" : \"segunda\";\n };\n pt_BR.prototype.secondsX0ThroughX1PastTheMinute = function () {\n return \"No segundo %s at\u00E9 %s de cada minuto\";\n };\n pt_BR.prototype.spaceAnd = function () {\n return \" e\";\n };\n pt_BR.prototype.spaceX0OfTheMonth = function () {\n return \" %s do m\u00EAs\";\n };\n pt_BR.prototype.lastDay = function () {\n return \"o \u00FAltimo dia\";\n };\n pt_BR.prototype.third = function (s) {\n return s === '6' || s === '0' ? \"terceiro\" : \"terceira\";\n };\n pt_BR.prototype.weekdayNearestDayX0 = function () {\n return \"dia da semana mais pr\u00F3ximo do dia %s\";\n };\n pt_BR.prototype.commaEveryX0Years = function () {\n return \", a cada %s anos\";\n };\n pt_BR.prototype.commaStartingX0 = function () {\n return \", iniciando %s\";\n };\n pt_BR.prototype.daysOfTheWeek = function () {\n return [\"domingo\", \"segunda-feira\", \"ter\u00E7a-feira\", \"quarta-feira\", \"quinta-feira\", \"sexta-feira\", \"s\u00E1bado\"];\n };\n pt_BR.prototype.monthsOfTheYear = function () {\n return [\n \"janeiro\",\n \"fevereiro\",\n \"mar\u00E7o\",\n \"abril\",\n \"maio\",\n \"junho\",\n \"julho\",\n \"agosto\",\n \"setembro\",\n \"outubro\",\n \"novembro\",\n \"dezembro\",\n ];\n };\n return pt_BR;\n}());\nexports.pt_BR = pt_BR;\n\n\n(cronstrue__WEBPACK_IMPORTED_MODULE_0___default().locales)[\"pt_BR\"] = new pt_BR();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});", "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"cronstrue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"locales/pl\", [\"cronstrue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"locales/pl\"] = factory(require(\"cronstrue\"));\n\telse\n\t\troot[\"locales/pl\"] = factory(root[\"cronstrue\"]);\n})(globalThis, (__WEBPACK_EXTERNAL_MODULE__93__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 93:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__93__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(93);\n/* harmony import */ var cronstrue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cronstrue__WEBPACK_IMPORTED_MODULE_0__);\nvar exports = __webpack_exports__;\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.pl = void 0;\nvar pl = (function () {\n function pl() {\n }\n pl.prototype.atX0SecondsPastTheMinuteGt20 = function () {\n return null;\n };\n pl.prototype.atX0MinutesPastTheHourGt20 = function () {\n return null;\n };\n pl.prototype.commaMonthX0ThroughMonthX1 = function () {\n return null;\n };\n pl.prototype.commaYearX0ThroughYearX1 = function () {\n return null;\n };\n pl.prototype.use24HourTimeFormatByDefault = function () {\n return true;\n };\n pl.prototype.anErrorOccuredWhenGeneratingTheExpressionD = function () {\n return \"Wyst\u0105pi\u0142 b\u0142\u0105d podczas generowania opisu wyra\u017Cenia cron. Sprawd\u017A sk\u0142adni\u0119 wyra\u017Cenia cron.\";\n };\n pl.prototype.at = function () {\n return \"O\";\n };\n pl.prototype.atSpace = function () {\n return \"O \";\n };\n pl.prototype.atX0 = function () {\n return \"o %s\";\n };\n pl.prototype.atX0MinutesPastTheHour = function () {\n return \"w %s minucie\";\n };\n pl.prototype.atX0SecondsPastTheMinute = function () {\n return \"w %s sekundzie\";\n };\n pl.prototype.betweenX0AndX1 = function () {\n return \"od %s do %s\";\n };\n pl.prototype.commaBetweenDayX0AndX1OfTheMonth = function () {\n return \", od %s-ego do %s-ego dnia miesi\u0105ca\";\n };\n pl.prototype.commaEveryDay = function () {\n return \", co dzie\u0144\";\n };\n pl.prototype.commaEveryX0Days = function () {\n return \", co %s dni\";\n };\n pl.prototype.commaEveryX0DaysOfTheWeek = function () {\n return \", co %s dni tygodnia\";\n };\n pl.prototype.commaEveryX0Months = function () {\n return \", co %s miesi\u0119cy\";\n };\n pl.prototype.commaEveryX0Years = function () {\n return \", co %s lat\";\n };\n pl.prototype.commaOnDayX0OfTheMonth = function () {\n return \", %s-ego dnia miesi\u0105ca\";\n };\n pl.prototype.commaOnlyInX0 = function () {\n return \", tylko %s\";\n };\n pl.prototype.commaOnlyOnX0 = function () {\n return \", tylko %s\";\n };\n pl.prototype.commaAndOnX0 = function () {\n return \", i %s\";\n };\n pl.prototype.commaOnThe = function () {\n return \", \";\n };\n pl.prototype.commaOnTheLastDayOfTheMonth = function () {\n return \", ostatni dzie\u0144 miesi\u0105ca\";\n };\n pl.prototype.commaOnTheLastWeekdayOfTheMonth = function () {\n return \", ostatni dzie\u0144 roboczy miesi\u0105ca\";\n };\n pl.prototype.commaDaysBeforeTheLastDayOfTheMonth = function () {\n return \", %s dni przed ostatnim dniem miesi\u0105ca\";\n };\n pl.prototype.commaOnTheLastX0OfTheMonth = function () {\n return \", ostatni %s miesi\u0105ca\";\n };\n pl.prototype.commaOnTheX0OfTheMonth = function () {\n return \", %s miesi\u0105ca\";\n };\n pl.prototype.commaX0ThroughX1 = function () {\n return \", od %s do %s\";\n };\n pl.prototype.commaAndX0ThroughX1 = function () {\n return \", i od %s do %s\";\n };\n pl.prototype.everyHour = function () {\n return \"co godzin\u0119\";\n };\n pl.prototype.everyMinute = function () {\n return \"co minut\u0119\";\n };\n pl.prototype.everyMinuteBetweenX0AndX1 = function () {\n return \"Co minut\u0119 od %s do %s\";\n };\n pl.prototype.everySecond = function () {\n return \"co sekund\u0119\";\n };\n pl.prototype.everyX0Hours = function () {\n return \"co %s godzin\";\n };\n pl.prototype.everyX0Minutes = function () {\n return \"co %s minut\";\n };\n pl.prototype.everyX0Seconds = function () {\n return \"co %s sekund\";\n };\n pl.prototype.fifth = function () {\n return \"pi\u0105ty\";\n };\n pl.prototype.first = function () {\n return \"pierwszy\";\n };\n pl.prototype.firstWeekday = function () {\n return \"pierwszy dzie\u0144 roboczy\";\n };\n pl.prototype.fourth = function () {\n return \"czwarty\";\n };\n pl.prototype.minutesX0ThroughX1PastTheHour = function () {\n return \"minuty od %s do %s\";\n };\n pl.prototype.second = function () {\n return \"drugi\";\n };\n pl.prototype.secondsX0ThroughX1PastTheMinute = function () {\n return \"sekundy od %s do %s\";\n };\n pl.prototype.spaceAnd = function () {\n return \" i\";\n };\n pl.prototype.spaceX0OfTheMonth = function () {\n return \" %s miesi\u0105ca\";\n };\n pl.prototype.lastDay = function () {\n return \"ostatni dzie\u0144\";\n };\n pl.prototype.third = function () {\n return \"trzeci\";\n };\n pl.prototype.weekdayNearestDayX0 = function () {\n return \"dzie\u0144 roboczy najbli\u017Cszy %s-ego dnia\";\n };\n pl.prototype.commaStartingX0 = function () {\n return \", startowy %s\";\n };\n pl.prototype.daysOfTheWeek = function () {\n return [\"niedziela\", \"poniedzia\u0142ek\", \"wtorek\", \"\u015Broda\", \"czwartek\", \"pi\u0105tek\", \"sobota\"];\n };\n pl.prototype.monthsOfTheYear = function () {\n return [\n \"stycze\u0144\",\n \"luty\",\n \"marzec\",\n \"kwiecie\u0144\",\n \"maj\",\n \"czerwiec\",\n \"lipiec\",\n \"sierpie\u0144\",\n \"wrzesie\u0144\",\n \"pa\u017Adziernik\",\n \"listopad\",\n \"grudzie\u0144\",\n ];\n };\n return pl;\n}());\nexports.pl = pl;\n\n\n(cronstrue__WEBPACK_IMPORTED_MODULE_0___default().locales)[\"pl\"] = new pl();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});", "\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (file, acceptedFiles) {\n if (file && acceptedFiles) {\n var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');\n\n if (acceptedFilesArray.length === 0) {\n return true;\n }\n\n var fileName = file.name || '';\n var mimeType = (file.type || '').toLowerCase();\n var baseMimeType = mimeType.replace(/\\/.*$/, '');\n return acceptedFilesArray.some(function (type) {\n var validType = type.trim().toLowerCase();\n\n if (validType.charAt(0) === '.') {\n return fileName.toLowerCase().endsWith(validType);\n } else if (validType.endsWith('/*')) {\n // This is something like a image/* mime type\n return baseMimeType === validType.replace(/\\/.*$/, '');\n }\n\n return mimeType === validType;\n });\n }\n\n return true;\n};", "/*!\n * Cropper.js v1.6.2\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2024-04-21T07:43:05.335Z\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Cropper = factory());\n})(this, (function () { 'use strict';\n\n function ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n }\n function _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n }\n function _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n }\n function _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n }\n function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n function _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n }\n function _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n }\n function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n }\n function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n }\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n }\n function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var IS_BROWSER = typeof window !== 'undefined' && typeof window.document !== 'undefined';\n var WINDOW = IS_BROWSER ? window : {};\n var IS_TOUCH_DEVICE = IS_BROWSER && WINDOW.document.documentElement ? 'ontouchstart' in WINDOW.document.documentElement : false;\n var HAS_POINTER_EVENT = IS_BROWSER ? 'PointerEvent' in WINDOW : false;\n var NAMESPACE = 'cropper';\n\n // Actions\n var ACTION_ALL = 'all';\n var ACTION_CROP = 'crop';\n var ACTION_MOVE = 'move';\n var ACTION_ZOOM = 'zoom';\n var ACTION_EAST = 'e';\n var ACTION_WEST = 'w';\n var ACTION_SOUTH = 's';\n var ACTION_NORTH = 'n';\n var ACTION_NORTH_EAST = 'ne';\n var ACTION_NORTH_WEST = 'nw';\n var ACTION_SOUTH_EAST = 'se';\n var ACTION_SOUTH_WEST = 'sw';\n\n // Classes\n var CLASS_CROP = \"\".concat(NAMESPACE, \"-crop\");\n var CLASS_DISABLED = \"\".concat(NAMESPACE, \"-disabled\");\n var CLASS_HIDDEN = \"\".concat(NAMESPACE, \"-hidden\");\n var CLASS_HIDE = \"\".concat(NAMESPACE, \"-hide\");\n var CLASS_INVISIBLE = \"\".concat(NAMESPACE, \"-invisible\");\n var CLASS_MODAL = \"\".concat(NAMESPACE, \"-modal\");\n var CLASS_MOVE = \"\".concat(NAMESPACE, \"-move\");\n\n // Data keys\n var DATA_ACTION = \"\".concat(NAMESPACE, \"Action\");\n var DATA_PREVIEW = \"\".concat(NAMESPACE, \"Preview\");\n\n // Drag modes\n var DRAG_MODE_CROP = 'crop';\n var DRAG_MODE_MOVE = 'move';\n var DRAG_MODE_NONE = 'none';\n\n // Events\n var EVENT_CROP = 'crop';\n var EVENT_CROP_END = 'cropend';\n var EVENT_CROP_MOVE = 'cropmove';\n var EVENT_CROP_START = 'cropstart';\n var EVENT_DBLCLICK = 'dblclick';\n var EVENT_TOUCH_START = IS_TOUCH_DEVICE ? 'touchstart' : 'mousedown';\n var EVENT_TOUCH_MOVE = IS_TOUCH_DEVICE ? 'touchmove' : 'mousemove';\n var EVENT_TOUCH_END = IS_TOUCH_DEVICE ? 'touchend touchcancel' : 'mouseup';\n var EVENT_POINTER_DOWN = HAS_POINTER_EVENT ? 'pointerdown' : EVENT_TOUCH_START;\n var EVENT_POINTER_MOVE = HAS_POINTER_EVENT ? 'pointermove' : EVENT_TOUCH_MOVE;\n var EVENT_POINTER_UP = HAS_POINTER_EVENT ? 'pointerup pointercancel' : EVENT_TOUCH_END;\n var EVENT_READY = 'ready';\n var EVENT_RESIZE = 'resize';\n var EVENT_WHEEL = 'wheel';\n var EVENT_ZOOM = 'zoom';\n\n // Mime types\n var MIME_TYPE_JPEG = 'image/jpeg';\n\n // RegExps\n var REGEXP_ACTIONS = /^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/;\n var REGEXP_DATA_URL = /^data:/;\n var REGEXP_DATA_URL_JPEG = /^data:image\\/jpeg;base64,/;\n var REGEXP_TAG_NAME = /^img|canvas$/i;\n\n // Misc\n // Inspired by the default width and height of a canvas element.\n var MIN_CONTAINER_WIDTH = 200;\n var MIN_CONTAINER_HEIGHT = 100;\n\n var DEFAULTS = {\n // Define the view mode of the cropper\n viewMode: 0,\n // 0, 1, 2, 3\n\n // Define the dragging mode of the cropper\n dragMode: DRAG_MODE_CROP,\n // 'crop', 'move' or 'none'\n\n // Define the initial aspect ratio of the crop box\n initialAspectRatio: NaN,\n // Define the aspect ratio of the crop box\n aspectRatio: NaN,\n // An object with the previous cropping result data\n data: null,\n // A selector for adding extra containers to preview\n preview: '',\n // Re-render the cropper when resize the window\n responsive: true,\n // Restore the cropped area after resize the window\n restore: true,\n // Check if the current image is a cross-origin image\n checkCrossOrigin: true,\n // Check the current image's Exif Orientation information\n checkOrientation: true,\n // Show the black modal\n modal: true,\n // Show the dashed lines for guiding\n guides: true,\n // Show the center indicator for guiding\n center: true,\n // Show the white modal to highlight the crop box\n highlight: true,\n // Show the grid background\n background: true,\n // Enable to crop the image automatically when initialize\n autoCrop: true,\n // Define the percentage of automatic cropping area when initializes\n autoCropArea: 0.8,\n // Enable to move the image\n movable: true,\n // Enable to rotate the image\n rotatable: true,\n // Enable to scale the image\n scalable: true,\n // Enable to zoom the image\n zoomable: true,\n // Enable to zoom the image by dragging touch\n zoomOnTouch: true,\n // Enable to zoom the image by wheeling mouse\n zoomOnWheel: true,\n // Define zoom ratio when zoom the image by wheeling mouse\n wheelZoomRatio: 0.1,\n // Enable to move the crop box\n cropBoxMovable: true,\n // Enable to resize the crop box\n cropBoxResizable: true,\n // Toggle drag mode between \"crop\" and \"move\" when click twice on the cropper\n toggleDragModeOnDblclick: true,\n // Size limitation\n minCanvasWidth: 0,\n minCanvasHeight: 0,\n minCropBoxWidth: 0,\n minCropBoxHeight: 0,\n minContainerWidth: MIN_CONTAINER_WIDTH,\n minContainerHeight: MIN_CONTAINER_HEIGHT,\n // Shortcuts of events\n ready: null,\n cropstart: null,\n cropmove: null,\n cropend: null,\n crop: null,\n zoom: null\n };\n\n var TEMPLATE = '
    ' + '
    ' + '
    ' + '
    ' + '
    ' + '
    ' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '
    ' + '
    ';\n\n /**\n * Check if the given value is not a number.\n */\n var isNaN = Number.isNaN || WINDOW.isNaN;\n\n /**\n * Check if the given value is a number.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a number, else `false`.\n */\n function isNumber(value) {\n return typeof value === 'number' && !isNaN(value);\n }\n\n /**\n * Check if the given value is a positive number.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a positive number, else `false`.\n */\n var isPositiveNumber = function isPositiveNumber(value) {\n return value > 0 && value < Infinity;\n };\n\n /**\n * Check if the given value is undefined.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is undefined, else `false`.\n */\n function isUndefined(value) {\n return typeof value === 'undefined';\n }\n\n /**\n * Check if the given value is an object.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is an object, else `false`.\n */\n function isObject(value) {\n return _typeof(value) === 'object' && value !== null;\n }\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n\n /**\n * Check if the given value is a plain object.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a plain object, else `false`.\n */\n function isPlainObject(value) {\n if (!isObject(value)) {\n return false;\n }\n try {\n var _constructor = value.constructor;\n var prototype = _constructor.prototype;\n return _constructor && prototype && hasOwnProperty.call(prototype, 'isPrototypeOf');\n } catch (error) {\n return false;\n }\n }\n\n /**\n * Check if the given value is a function.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a function, else `false`.\n */\n function isFunction(value) {\n return typeof value === 'function';\n }\n var slice = Array.prototype.slice;\n\n /**\n * Convert array-like or iterable object to an array.\n * @param {*} value - The value to convert.\n * @returns {Array} Returns a new array.\n */\n function toArray(value) {\n return Array.from ? Array.from(value) : slice.call(value);\n }\n\n /**\n * Iterate the given data.\n * @param {*} data - The data to iterate.\n * @param {Function} callback - The process function for each element.\n * @returns {*} The original data.\n */\n function forEach(data, callback) {\n if (data && isFunction(callback)) {\n if (Array.isArray(data) || isNumber(data.length) /* array-like */) {\n toArray(data).forEach(function (value, key) {\n callback.call(data, value, key, data);\n });\n } else if (isObject(data)) {\n Object.keys(data).forEach(function (key) {\n callback.call(data, data[key], key, data);\n });\n }\n }\n return data;\n }\n\n /**\n * Extend the given object.\n * @param {*} target - The target object to extend.\n * @param {*} args - The rest objects for merging to the target object.\n * @returns {Object} The extended object.\n */\n var assign = Object.assign || function assign(target) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (isObject(target) && args.length > 0) {\n args.forEach(function (arg) {\n if (isObject(arg)) {\n Object.keys(arg).forEach(function (key) {\n target[key] = arg[key];\n });\n }\n });\n }\n return target;\n };\n var REGEXP_DECIMALS = /\\.\\d*(?:0|9){12}\\d*$/;\n\n /**\n * Normalize decimal number.\n * Check out {@link https://0.30000000000000004.com/}\n * @param {number} value - The value to normalize.\n * @param {number} [times=100000000000] - The times for normalizing.\n * @returns {number} Returns the normalized number.\n */\n function normalizeDecimalNumber(value) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100000000000;\n return REGEXP_DECIMALS.test(value) ? Math.round(value * times) / times : value;\n }\n var REGEXP_SUFFIX = /^width|height|left|top|marginLeft|marginTop$/;\n\n /**\n * Apply styles to the given element.\n * @param {Element} element - The target element.\n * @param {Object} styles - The styles for applying.\n */\n function setStyle(element, styles) {\n var style = element.style;\n forEach(styles, function (value, property) {\n if (REGEXP_SUFFIX.test(property) && isNumber(value)) {\n value = \"\".concat(value, \"px\");\n }\n style[property] = value;\n });\n }\n\n /**\n * Check if the given element has a special class.\n * @param {Element} element - The element to check.\n * @param {string} value - The class to search.\n * @returns {boolean} Returns `true` if the special class was found.\n */\n function hasClass(element, value) {\n return element.classList ? element.classList.contains(value) : element.className.indexOf(value) > -1;\n }\n\n /**\n * Add classes to the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be added.\n */\n function addClass(element, value) {\n if (!value) {\n return;\n }\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n addClass(elem, value);\n });\n return;\n }\n if (element.classList) {\n element.classList.add(value);\n return;\n }\n var className = element.className.trim();\n if (!className) {\n element.className = value;\n } else if (className.indexOf(value) < 0) {\n element.className = \"\".concat(className, \" \").concat(value);\n }\n }\n\n /**\n * Remove classes from the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be removed.\n */\n function removeClass(element, value) {\n if (!value) {\n return;\n }\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n removeClass(elem, value);\n });\n return;\n }\n if (element.classList) {\n element.classList.remove(value);\n return;\n }\n if (element.className.indexOf(value) >= 0) {\n element.className = element.className.replace(value, '');\n }\n }\n\n /**\n * Add or remove classes from the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be toggled.\n * @param {boolean} added - Add only.\n */\n function toggleClass(element, value, added) {\n if (!value) {\n return;\n }\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n toggleClass(elem, value, added);\n });\n return;\n }\n\n // IE10-11 doesn't support the second parameter of `classList.toggle`\n if (added) {\n addClass(element, value);\n } else {\n removeClass(element, value);\n }\n }\n var REGEXP_CAMEL_CASE = /([a-z\\d])([A-Z])/g;\n\n /**\n * Transform the given string from camelCase to kebab-case\n * @param {string} value - The value to transform.\n * @returns {string} The transformed value.\n */\n function toParamCase(value) {\n return value.replace(REGEXP_CAMEL_CASE, '$1-$2').toLowerCase();\n }\n\n /**\n * Get data from the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to get.\n * @returns {string} The data value.\n */\n function getData(element, name) {\n if (isObject(element[name])) {\n return element[name];\n }\n if (element.dataset) {\n return element.dataset[name];\n }\n return element.getAttribute(\"data-\".concat(toParamCase(name)));\n }\n\n /**\n * Set data to the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to set.\n * @param {string} data - The data value.\n */\n function setData(element, name, data) {\n if (isObject(data)) {\n element[name] = data;\n } else if (element.dataset) {\n element.dataset[name] = data;\n } else {\n element.setAttribute(\"data-\".concat(toParamCase(name)), data);\n }\n }\n\n /**\n * Remove data from the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to remove.\n */\n function removeData(element, name) {\n if (isObject(element[name])) {\n try {\n delete element[name];\n } catch (error) {\n element[name] = undefined;\n }\n } else if (element.dataset) {\n // #128 Safari not allows to delete dataset property\n try {\n delete element.dataset[name];\n } catch (error) {\n element.dataset[name] = undefined;\n }\n } else {\n element.removeAttribute(\"data-\".concat(toParamCase(name)));\n }\n }\n var REGEXP_SPACES = /\\s\\s*/;\n var onceSupported = function () {\n var supported = false;\n if (IS_BROWSER) {\n var once = false;\n var listener = function listener() {};\n var options = Object.defineProperty({}, 'once', {\n get: function get() {\n supported = true;\n return once;\n },\n /**\n * This setter can fix a `TypeError` in strict mode\n * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Getter_only}\n * @param {boolean} value - The value to set\n */\n set: function set(value) {\n once = value;\n }\n });\n WINDOW.addEventListener('test', listener, options);\n WINDOW.removeEventListener('test', listener, options);\n }\n return supported;\n }();\n\n /**\n * Remove event listener from the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Function} listener - The event listener.\n * @param {Object} options - The event options.\n */\n function removeListener(element, type, listener) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var handler = listener;\n type.trim().split(REGEXP_SPACES).forEach(function (event) {\n if (!onceSupported) {\n var listeners = element.listeners;\n if (listeners && listeners[event] && listeners[event][listener]) {\n handler = listeners[event][listener];\n delete listeners[event][listener];\n if (Object.keys(listeners[event]).length === 0) {\n delete listeners[event];\n }\n if (Object.keys(listeners).length === 0) {\n delete element.listeners;\n }\n }\n }\n element.removeEventListener(event, handler, options);\n });\n }\n\n /**\n * Add event listener to the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Function} listener - The event listener.\n * @param {Object} options - The event options.\n */\n function addListener(element, type, listener) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var _handler = listener;\n type.trim().split(REGEXP_SPACES).forEach(function (event) {\n if (options.once && !onceSupported) {\n var _element$listeners = element.listeners,\n listeners = _element$listeners === void 0 ? {} : _element$listeners;\n _handler = function handler() {\n delete listeners[event][listener];\n element.removeEventListener(event, _handler, options);\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n listener.apply(element, args);\n };\n if (!listeners[event]) {\n listeners[event] = {};\n }\n if (listeners[event][listener]) {\n element.removeEventListener(event, listeners[event][listener], options);\n }\n listeners[event][listener] = _handler;\n element.listeners = listeners;\n }\n element.addEventListener(event, _handler, options);\n });\n }\n\n /**\n * Dispatch event on the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Object} data - The additional event data.\n * @returns {boolean} Indicate if the event is default prevented or not.\n */\n function dispatchEvent(element, type, data) {\n var event;\n\n // Event and CustomEvent on IE9-11 are global objects, not constructors\n if (isFunction(Event) && isFunction(CustomEvent)) {\n event = new CustomEvent(type, {\n detail: data,\n bubbles: true,\n cancelable: true\n });\n } else {\n event = document.createEvent('CustomEvent');\n event.initCustomEvent(type, true, true, data);\n }\n return element.dispatchEvent(event);\n }\n\n /**\n * Get the offset base on the document.\n * @param {Element} element - The target element.\n * @returns {Object} The offset data.\n */\n function getOffset(element) {\n var box = element.getBoundingClientRect();\n return {\n left: box.left + (window.pageXOffset - document.documentElement.clientLeft),\n top: box.top + (window.pageYOffset - document.documentElement.clientTop)\n };\n }\n var location = WINDOW.location;\n var REGEXP_ORIGINS = /^(\\w+:)\\/\\/([^:/?#]*):?(\\d*)/i;\n\n /**\n * Check if the given URL is a cross origin URL.\n * @param {string} url - The target URL.\n * @returns {boolean} Returns `true` if the given URL is a cross origin URL, else `false`.\n */\n function isCrossOriginURL(url) {\n var parts = url.match(REGEXP_ORIGINS);\n return parts !== null && (parts[1] !== location.protocol || parts[2] !== location.hostname || parts[3] !== location.port);\n }\n\n /**\n * Add timestamp to the given URL.\n * @param {string} url - The target URL.\n * @returns {string} The result URL.\n */\n function addTimestamp(url) {\n var timestamp = \"timestamp=\".concat(new Date().getTime());\n return url + (url.indexOf('?') === -1 ? '?' : '&') + timestamp;\n }\n\n /**\n * Get transforms base on the given object.\n * @param {Object} obj - The target object.\n * @returns {string} A string contains transform values.\n */\n function getTransforms(_ref) {\n var rotate = _ref.rotate,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY,\n translateX = _ref.translateX,\n translateY = _ref.translateY;\n var values = [];\n if (isNumber(translateX) && translateX !== 0) {\n values.push(\"translateX(\".concat(translateX, \"px)\"));\n }\n if (isNumber(translateY) && translateY !== 0) {\n values.push(\"translateY(\".concat(translateY, \"px)\"));\n }\n\n // Rotate should come first before scale to match orientation transform\n if (isNumber(rotate) && rotate !== 0) {\n values.push(\"rotate(\".concat(rotate, \"deg)\"));\n }\n if (isNumber(scaleX) && scaleX !== 1) {\n values.push(\"scaleX(\".concat(scaleX, \")\"));\n }\n if (isNumber(scaleY) && scaleY !== 1) {\n values.push(\"scaleY(\".concat(scaleY, \")\"));\n }\n var transform = values.length ? values.join(' ') : 'none';\n return {\n WebkitTransform: transform,\n msTransform: transform,\n transform: transform\n };\n }\n\n /**\n * Get the max ratio of a group of pointers.\n * @param {string} pointers - The target pointers.\n * @returns {number} The result ratio.\n */\n function getMaxZoomRatio(pointers) {\n var pointers2 = _objectSpread2({}, pointers);\n var maxRatio = 0;\n forEach(pointers, function (pointer, pointerId) {\n delete pointers2[pointerId];\n forEach(pointers2, function (pointer2) {\n var x1 = Math.abs(pointer.startX - pointer2.startX);\n var y1 = Math.abs(pointer.startY - pointer2.startY);\n var x2 = Math.abs(pointer.endX - pointer2.endX);\n var y2 = Math.abs(pointer.endY - pointer2.endY);\n var z1 = Math.sqrt(x1 * x1 + y1 * y1);\n var z2 = Math.sqrt(x2 * x2 + y2 * y2);\n var ratio = (z2 - z1) / z1;\n if (Math.abs(ratio) > Math.abs(maxRatio)) {\n maxRatio = ratio;\n }\n });\n });\n return maxRatio;\n }\n\n /**\n * Get a pointer from an event object.\n * @param {Object} event - The target event object.\n * @param {boolean} endOnly - Indicates if only returns the end point coordinate or not.\n * @returns {Object} The result pointer contains start and/or end point coordinates.\n */\n function getPointer(_ref2, endOnly) {\n var pageX = _ref2.pageX,\n pageY = _ref2.pageY;\n var end = {\n endX: pageX,\n endY: pageY\n };\n return endOnly ? end : _objectSpread2({\n startX: pageX,\n startY: pageY\n }, end);\n }\n\n /**\n * Get the center point coordinate of a group of pointers.\n * @param {Object} pointers - The target pointers.\n * @returns {Object} The center point coordinate.\n */\n function getPointersCenter(pointers) {\n var pageX = 0;\n var pageY = 0;\n var count = 0;\n forEach(pointers, function (_ref3) {\n var startX = _ref3.startX,\n startY = _ref3.startY;\n pageX += startX;\n pageY += startY;\n count += 1;\n });\n pageX /= count;\n pageY /= count;\n return {\n pageX: pageX,\n pageY: pageY\n };\n }\n\n /**\n * Get the max sizes in a rectangle under the given aspect ratio.\n * @param {Object} data - The original sizes.\n * @param {string} [type='contain'] - The adjust type.\n * @returns {Object} The result sizes.\n */\n function getAdjustedSizes(_ref4) {\n var aspectRatio = _ref4.aspectRatio,\n height = _ref4.height,\n width = _ref4.width;\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'contain';\n var isValidWidth = isPositiveNumber(width);\n var isValidHeight = isPositiveNumber(height);\n if (isValidWidth && isValidHeight) {\n var adjustedWidth = height * aspectRatio;\n if (type === 'contain' && adjustedWidth > width || type === 'cover' && adjustedWidth < width) {\n height = width / aspectRatio;\n } else {\n width = height * aspectRatio;\n }\n } else if (isValidWidth) {\n height = width / aspectRatio;\n } else if (isValidHeight) {\n width = height * aspectRatio;\n }\n return {\n width: width,\n height: height\n };\n }\n\n /**\n * Get the new sizes of a rectangle after rotated.\n * @param {Object} data - The original sizes.\n * @returns {Object} The result sizes.\n */\n function getRotatedSizes(_ref5) {\n var width = _ref5.width,\n height = _ref5.height,\n degree = _ref5.degree;\n degree = Math.abs(degree) % 180;\n if (degree === 90) {\n return {\n width: height,\n height: width\n };\n }\n var arc = degree % 90 * Math.PI / 180;\n var sinArc = Math.sin(arc);\n var cosArc = Math.cos(arc);\n var newWidth = width * cosArc + height * sinArc;\n var newHeight = width * sinArc + height * cosArc;\n return degree > 90 ? {\n width: newHeight,\n height: newWidth\n } : {\n width: newWidth,\n height: newHeight\n };\n }\n\n /**\n * Get a canvas which drew the given image.\n * @param {HTMLImageElement} image - The image for drawing.\n * @param {Object} imageData - The image data.\n * @param {Object} canvasData - The canvas data.\n * @param {Object} options - The options.\n * @returns {HTMLCanvasElement} The result canvas.\n */\n function getSourceCanvas(image, _ref6, _ref7, _ref8) {\n var imageAspectRatio = _ref6.aspectRatio,\n imageNaturalWidth = _ref6.naturalWidth,\n imageNaturalHeight = _ref6.naturalHeight,\n _ref6$rotate = _ref6.rotate,\n rotate = _ref6$rotate === void 0 ? 0 : _ref6$rotate,\n _ref6$scaleX = _ref6.scaleX,\n scaleX = _ref6$scaleX === void 0 ? 1 : _ref6$scaleX,\n _ref6$scaleY = _ref6.scaleY,\n scaleY = _ref6$scaleY === void 0 ? 1 : _ref6$scaleY;\n var aspectRatio = _ref7.aspectRatio,\n naturalWidth = _ref7.naturalWidth,\n naturalHeight = _ref7.naturalHeight;\n var _ref8$fillColor = _ref8.fillColor,\n fillColor = _ref8$fillColor === void 0 ? 'transparent' : _ref8$fillColor,\n _ref8$imageSmoothingE = _ref8.imageSmoothingEnabled,\n imageSmoothingEnabled = _ref8$imageSmoothingE === void 0 ? true : _ref8$imageSmoothingE,\n _ref8$imageSmoothingQ = _ref8.imageSmoothingQuality,\n imageSmoothingQuality = _ref8$imageSmoothingQ === void 0 ? 'low' : _ref8$imageSmoothingQ,\n _ref8$maxWidth = _ref8.maxWidth,\n maxWidth = _ref8$maxWidth === void 0 ? Infinity : _ref8$maxWidth,\n _ref8$maxHeight = _ref8.maxHeight,\n maxHeight = _ref8$maxHeight === void 0 ? Infinity : _ref8$maxHeight,\n _ref8$minWidth = _ref8.minWidth,\n minWidth = _ref8$minWidth === void 0 ? 0 : _ref8$minWidth,\n _ref8$minHeight = _ref8.minHeight,\n minHeight = _ref8$minHeight === void 0 ? 0 : _ref8$minHeight;\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n var maxSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: maxWidth,\n height: maxHeight\n });\n var minSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: minWidth,\n height: minHeight\n }, 'cover');\n var width = Math.min(maxSizes.width, Math.max(minSizes.width, naturalWidth));\n var height = Math.min(maxSizes.height, Math.max(minSizes.height, naturalHeight));\n\n // Note: should always use image's natural sizes for drawing as\n // imageData.naturalWidth === canvasData.naturalHeight when rotate % 180 === 90\n var destMaxSizes = getAdjustedSizes({\n aspectRatio: imageAspectRatio,\n width: maxWidth,\n height: maxHeight\n });\n var destMinSizes = getAdjustedSizes({\n aspectRatio: imageAspectRatio,\n width: minWidth,\n height: minHeight\n }, 'cover');\n var destWidth = Math.min(destMaxSizes.width, Math.max(destMinSizes.width, imageNaturalWidth));\n var destHeight = Math.min(destMaxSizes.height, Math.max(destMinSizes.height, imageNaturalHeight));\n var params = [-destWidth / 2, -destHeight / 2, destWidth, destHeight];\n canvas.width = normalizeDecimalNumber(width);\n canvas.height = normalizeDecimalNumber(height);\n context.fillStyle = fillColor;\n context.fillRect(0, 0, width, height);\n context.save();\n context.translate(width / 2, height / 2);\n context.rotate(rotate * Math.PI / 180);\n context.scale(scaleX, scaleY);\n context.imageSmoothingEnabled = imageSmoothingEnabled;\n context.imageSmoothingQuality = imageSmoothingQuality;\n context.drawImage.apply(context, [image].concat(_toConsumableArray(params.map(function (param) {\n return Math.floor(normalizeDecimalNumber(param));\n }))));\n context.restore();\n return canvas;\n }\n var fromCharCode = String.fromCharCode;\n\n /**\n * Get string from char code in data view.\n * @param {DataView} dataView - The data view for read.\n * @param {number} start - The start index.\n * @param {number} length - The read length.\n * @returns {string} The read result.\n */\n function getStringFromCharCode(dataView, start, length) {\n var str = '';\n length += start;\n for (var i = start; i < length; i += 1) {\n str += fromCharCode(dataView.getUint8(i));\n }\n return str;\n }\n var REGEXP_DATA_URL_HEAD = /^data:.*,/;\n\n /**\n * Transform Data URL to array buffer.\n * @param {string} dataURL - The Data URL to transform.\n * @returns {ArrayBuffer} The result array buffer.\n */\n function dataURLToArrayBuffer(dataURL) {\n var base64 = dataURL.replace(REGEXP_DATA_URL_HEAD, '');\n var binary = atob(base64);\n var arrayBuffer = new ArrayBuffer(binary.length);\n var uint8 = new Uint8Array(arrayBuffer);\n forEach(uint8, function (value, i) {\n uint8[i] = binary.charCodeAt(i);\n });\n return arrayBuffer;\n }\n\n /**\n * Transform array buffer to Data URL.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to transform.\n * @param {string} mimeType - The mime type of the Data URL.\n * @returns {string} The result Data URL.\n */\n function arrayBufferToDataURL(arrayBuffer, mimeType) {\n var chunks = [];\n\n // Chunk Typed Array for better performance (#435)\n var chunkSize = 8192;\n var uint8 = new Uint8Array(arrayBuffer);\n while (uint8.length > 0) {\n // XXX: Babel's `toConsumableArray` helper will throw error in IE or Safari 9\n // eslint-disable-next-line prefer-spread\n chunks.push(fromCharCode.apply(null, toArray(uint8.subarray(0, chunkSize))));\n uint8 = uint8.subarray(chunkSize);\n }\n return \"data:\".concat(mimeType, \";base64,\").concat(btoa(chunks.join('')));\n }\n\n /**\n * Get orientation value from given array buffer.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to read.\n * @returns {number} The read orientation value.\n */\n function resetAndGetOrientation(arrayBuffer) {\n var dataView = new DataView(arrayBuffer);\n var orientation;\n\n // Ignores range error when the image does not have correct Exif information\n try {\n var littleEndian;\n var app1Start;\n var ifdStart;\n\n // Only handle JPEG image (start by 0xFFD8)\n if (dataView.getUint8(0) === 0xFF && dataView.getUint8(1) === 0xD8) {\n var length = dataView.byteLength;\n var offset = 2;\n while (offset + 1 < length) {\n if (dataView.getUint8(offset) === 0xFF && dataView.getUint8(offset + 1) === 0xE1) {\n app1Start = offset;\n break;\n }\n offset += 1;\n }\n }\n if (app1Start) {\n var exifIDCode = app1Start + 4;\n var tiffOffset = app1Start + 10;\n if (getStringFromCharCode(dataView, exifIDCode, 4) === 'Exif') {\n var endianness = dataView.getUint16(tiffOffset);\n littleEndian = endianness === 0x4949;\n if (littleEndian || endianness === 0x4D4D /* bigEndian */) {\n if (dataView.getUint16(tiffOffset + 2, littleEndian) === 0x002A) {\n var firstIFDOffset = dataView.getUint32(tiffOffset + 4, littleEndian);\n if (firstIFDOffset >= 0x00000008) {\n ifdStart = tiffOffset + firstIFDOffset;\n }\n }\n }\n }\n }\n if (ifdStart) {\n var _length = dataView.getUint16(ifdStart, littleEndian);\n var _offset;\n var i;\n for (i = 0; i < _length; i += 1) {\n _offset = ifdStart + i * 12 + 2;\n if (dataView.getUint16(_offset, littleEndian) === 0x0112 /* Orientation */) {\n // 8 is the offset of the current tag's value\n _offset += 8;\n\n // Get the original orientation value\n orientation = dataView.getUint16(_offset, littleEndian);\n\n // Override the orientation with its default value\n dataView.setUint16(_offset, 1, littleEndian);\n break;\n }\n }\n }\n } catch (error) {\n orientation = 1;\n }\n return orientation;\n }\n\n /**\n * Parse Exif Orientation value.\n * @param {number} orientation - The orientation to parse.\n * @returns {Object} The parsed result.\n */\n function parseOrientation(orientation) {\n var rotate = 0;\n var scaleX = 1;\n var scaleY = 1;\n switch (orientation) {\n // Flip horizontal\n case 2:\n scaleX = -1;\n break;\n\n // Rotate left 180\u00B0\n case 3:\n rotate = -180;\n break;\n\n // Flip vertical\n case 4:\n scaleY = -1;\n break;\n\n // Flip vertical and rotate right 90\u00B0\n case 5:\n rotate = 90;\n scaleY = -1;\n break;\n\n // Rotate right 90\u00B0\n case 6:\n rotate = 90;\n break;\n\n // Flip horizontal and rotate right 90\u00B0\n case 7:\n rotate = 90;\n scaleX = -1;\n break;\n\n // Rotate left 90\u00B0\n case 8:\n rotate = -90;\n break;\n }\n return {\n rotate: rotate,\n scaleX: scaleX,\n scaleY: scaleY\n };\n }\n\n var render = {\n render: function render() {\n this.initContainer();\n this.initCanvas();\n this.initCropBox();\n this.renderCanvas();\n if (this.cropped) {\n this.renderCropBox();\n }\n },\n initContainer: function initContainer() {\n var element = this.element,\n options = this.options,\n container = this.container,\n cropper = this.cropper;\n var minWidth = Number(options.minContainerWidth);\n var minHeight = Number(options.minContainerHeight);\n addClass(cropper, CLASS_HIDDEN);\n removeClass(element, CLASS_HIDDEN);\n var containerData = {\n width: Math.max(container.offsetWidth, minWidth >= 0 ? minWidth : MIN_CONTAINER_WIDTH),\n height: Math.max(container.offsetHeight, minHeight >= 0 ? minHeight : MIN_CONTAINER_HEIGHT)\n };\n this.containerData = containerData;\n setStyle(cropper, {\n width: containerData.width,\n height: containerData.height\n });\n addClass(element, CLASS_HIDDEN);\n removeClass(cropper, CLASS_HIDDEN);\n },\n // Canvas (image wrapper)\n initCanvas: function initCanvas() {\n var containerData = this.containerData,\n imageData = this.imageData;\n var viewMode = this.options.viewMode;\n var rotated = Math.abs(imageData.rotate) % 180 === 90;\n var naturalWidth = rotated ? imageData.naturalHeight : imageData.naturalWidth;\n var naturalHeight = rotated ? imageData.naturalWidth : imageData.naturalHeight;\n var aspectRatio = naturalWidth / naturalHeight;\n var canvasWidth = containerData.width;\n var canvasHeight = containerData.height;\n if (containerData.height * aspectRatio > containerData.width) {\n if (viewMode === 3) {\n canvasWidth = containerData.height * aspectRatio;\n } else {\n canvasHeight = containerData.width / aspectRatio;\n }\n } else if (viewMode === 3) {\n canvasHeight = containerData.width / aspectRatio;\n } else {\n canvasWidth = containerData.height * aspectRatio;\n }\n var canvasData = {\n aspectRatio: aspectRatio,\n naturalWidth: naturalWidth,\n naturalHeight: naturalHeight,\n width: canvasWidth,\n height: canvasHeight\n };\n this.canvasData = canvasData;\n this.limited = viewMode === 1 || viewMode === 2;\n this.limitCanvas(true, true);\n canvasData.width = Math.min(Math.max(canvasData.width, canvasData.minWidth), canvasData.maxWidth);\n canvasData.height = Math.min(Math.max(canvasData.height, canvasData.minHeight), canvasData.maxHeight);\n canvasData.left = (containerData.width - canvasData.width) / 2;\n canvasData.top = (containerData.height - canvasData.height) / 2;\n canvasData.oldLeft = canvasData.left;\n canvasData.oldTop = canvasData.top;\n this.initialCanvasData = assign({}, canvasData);\n },\n limitCanvas: function limitCanvas(sizeLimited, positionLimited) {\n var options = this.options,\n containerData = this.containerData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var viewMode = options.viewMode;\n var aspectRatio = canvasData.aspectRatio;\n var cropped = this.cropped && cropBoxData;\n if (sizeLimited) {\n var minCanvasWidth = Number(options.minCanvasWidth) || 0;\n var minCanvasHeight = Number(options.minCanvasHeight) || 0;\n if (viewMode > 1) {\n minCanvasWidth = Math.max(minCanvasWidth, containerData.width);\n minCanvasHeight = Math.max(minCanvasHeight, containerData.height);\n if (viewMode === 3) {\n if (minCanvasHeight * aspectRatio > minCanvasWidth) {\n minCanvasWidth = minCanvasHeight * aspectRatio;\n } else {\n minCanvasHeight = minCanvasWidth / aspectRatio;\n }\n }\n } else if (viewMode > 0) {\n if (minCanvasWidth) {\n minCanvasWidth = Math.max(minCanvasWidth, cropped ? cropBoxData.width : 0);\n } else if (minCanvasHeight) {\n minCanvasHeight = Math.max(minCanvasHeight, cropped ? cropBoxData.height : 0);\n } else if (cropped) {\n minCanvasWidth = cropBoxData.width;\n minCanvasHeight = cropBoxData.height;\n if (minCanvasHeight * aspectRatio > minCanvasWidth) {\n minCanvasWidth = minCanvasHeight * aspectRatio;\n } else {\n minCanvasHeight = minCanvasWidth / aspectRatio;\n }\n }\n }\n var _getAdjustedSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: minCanvasWidth,\n height: minCanvasHeight\n });\n minCanvasWidth = _getAdjustedSizes.width;\n minCanvasHeight = _getAdjustedSizes.height;\n canvasData.minWidth = minCanvasWidth;\n canvasData.minHeight = minCanvasHeight;\n canvasData.maxWidth = Infinity;\n canvasData.maxHeight = Infinity;\n }\n if (positionLimited) {\n if (viewMode > (cropped ? 0 : 1)) {\n var newCanvasLeft = containerData.width - canvasData.width;\n var newCanvasTop = containerData.height - canvasData.height;\n canvasData.minLeft = Math.min(0, newCanvasLeft);\n canvasData.minTop = Math.min(0, newCanvasTop);\n canvasData.maxLeft = Math.max(0, newCanvasLeft);\n canvasData.maxTop = Math.max(0, newCanvasTop);\n if (cropped && this.limited) {\n canvasData.minLeft = Math.min(cropBoxData.left, cropBoxData.left + (cropBoxData.width - canvasData.width));\n canvasData.minTop = Math.min(cropBoxData.top, cropBoxData.top + (cropBoxData.height - canvasData.height));\n canvasData.maxLeft = cropBoxData.left;\n canvasData.maxTop = cropBoxData.top;\n if (viewMode === 2) {\n if (canvasData.width >= containerData.width) {\n canvasData.minLeft = Math.min(0, newCanvasLeft);\n canvasData.maxLeft = Math.max(0, newCanvasLeft);\n }\n if (canvasData.height >= containerData.height) {\n canvasData.minTop = Math.min(0, newCanvasTop);\n canvasData.maxTop = Math.max(0, newCanvasTop);\n }\n }\n }\n } else {\n canvasData.minLeft = -canvasData.width;\n canvasData.minTop = -canvasData.height;\n canvasData.maxLeft = containerData.width;\n canvasData.maxTop = containerData.height;\n }\n }\n },\n renderCanvas: function renderCanvas(changed, transformed) {\n var canvasData = this.canvasData,\n imageData = this.imageData;\n if (transformed) {\n var _getRotatedSizes = getRotatedSizes({\n width: imageData.naturalWidth * Math.abs(imageData.scaleX || 1),\n height: imageData.naturalHeight * Math.abs(imageData.scaleY || 1),\n degree: imageData.rotate || 0\n }),\n naturalWidth = _getRotatedSizes.width,\n naturalHeight = _getRotatedSizes.height;\n var width = canvasData.width * (naturalWidth / canvasData.naturalWidth);\n var height = canvasData.height * (naturalHeight / canvasData.naturalHeight);\n canvasData.left -= (width - canvasData.width) / 2;\n canvasData.top -= (height - canvasData.height) / 2;\n canvasData.width = width;\n canvasData.height = height;\n canvasData.aspectRatio = naturalWidth / naturalHeight;\n canvasData.naturalWidth = naturalWidth;\n canvasData.naturalHeight = naturalHeight;\n this.limitCanvas(true, false);\n }\n if (canvasData.width > canvasData.maxWidth || canvasData.width < canvasData.minWidth) {\n canvasData.left = canvasData.oldLeft;\n }\n if (canvasData.height > canvasData.maxHeight || canvasData.height < canvasData.minHeight) {\n canvasData.top = canvasData.oldTop;\n }\n canvasData.width = Math.min(Math.max(canvasData.width, canvasData.minWidth), canvasData.maxWidth);\n canvasData.height = Math.min(Math.max(canvasData.height, canvasData.minHeight), canvasData.maxHeight);\n this.limitCanvas(false, true);\n canvasData.left = Math.min(Math.max(canvasData.left, canvasData.minLeft), canvasData.maxLeft);\n canvasData.top = Math.min(Math.max(canvasData.top, canvasData.minTop), canvasData.maxTop);\n canvasData.oldLeft = canvasData.left;\n canvasData.oldTop = canvasData.top;\n setStyle(this.canvas, assign({\n width: canvasData.width,\n height: canvasData.height\n }, getTransforms({\n translateX: canvasData.left,\n translateY: canvasData.top\n })));\n this.renderImage(changed);\n if (this.cropped && this.limited) {\n this.limitCropBox(true, true);\n }\n },\n renderImage: function renderImage(changed) {\n var canvasData = this.canvasData,\n imageData = this.imageData;\n var width = imageData.naturalWidth * (canvasData.width / canvasData.naturalWidth);\n var height = imageData.naturalHeight * (canvasData.height / canvasData.naturalHeight);\n assign(imageData, {\n width: width,\n height: height,\n left: (canvasData.width - width) / 2,\n top: (canvasData.height - height) / 2\n });\n setStyle(this.image, assign({\n width: imageData.width,\n height: imageData.height\n }, getTransforms(assign({\n translateX: imageData.left,\n translateY: imageData.top\n }, imageData))));\n if (changed) {\n this.output();\n }\n },\n initCropBox: function initCropBox() {\n var options = this.options,\n canvasData = this.canvasData;\n var aspectRatio = options.aspectRatio || options.initialAspectRatio;\n var autoCropArea = Number(options.autoCropArea) || 0.8;\n var cropBoxData = {\n width: canvasData.width,\n height: canvasData.height\n };\n if (aspectRatio) {\n if (canvasData.height * aspectRatio > canvasData.width) {\n cropBoxData.height = cropBoxData.width / aspectRatio;\n } else {\n cropBoxData.width = cropBoxData.height * aspectRatio;\n }\n }\n this.cropBoxData = cropBoxData;\n this.limitCropBox(true, true);\n\n // Initialize auto crop area\n cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);\n cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight);\n\n // The width/height of auto crop area must large than \"minWidth/Height\"\n cropBoxData.width = Math.max(cropBoxData.minWidth, cropBoxData.width * autoCropArea);\n cropBoxData.height = Math.max(cropBoxData.minHeight, cropBoxData.height * autoCropArea);\n cropBoxData.left = canvasData.left + (canvasData.width - cropBoxData.width) / 2;\n cropBoxData.top = canvasData.top + (canvasData.height - cropBoxData.height) / 2;\n cropBoxData.oldLeft = cropBoxData.left;\n cropBoxData.oldTop = cropBoxData.top;\n this.initialCropBoxData = assign({}, cropBoxData);\n },\n limitCropBox: function limitCropBox(sizeLimited, positionLimited) {\n var options = this.options,\n containerData = this.containerData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData,\n limited = this.limited;\n var aspectRatio = options.aspectRatio;\n if (sizeLimited) {\n var minCropBoxWidth = Number(options.minCropBoxWidth) || 0;\n var minCropBoxHeight = Number(options.minCropBoxHeight) || 0;\n var maxCropBoxWidth = limited ? Math.min(containerData.width, canvasData.width, canvasData.width + canvasData.left, containerData.width - canvasData.left) : containerData.width;\n var maxCropBoxHeight = limited ? Math.min(containerData.height, canvasData.height, canvasData.height + canvasData.top, containerData.height - canvasData.top) : containerData.height;\n\n // The min/maxCropBoxWidth/Height must be less than container's width/height\n minCropBoxWidth = Math.min(minCropBoxWidth, containerData.width);\n minCropBoxHeight = Math.min(minCropBoxHeight, containerData.height);\n if (aspectRatio) {\n if (minCropBoxWidth && minCropBoxHeight) {\n if (minCropBoxHeight * aspectRatio > minCropBoxWidth) {\n minCropBoxHeight = minCropBoxWidth / aspectRatio;\n } else {\n minCropBoxWidth = minCropBoxHeight * aspectRatio;\n }\n } else if (minCropBoxWidth) {\n minCropBoxHeight = minCropBoxWidth / aspectRatio;\n } else if (minCropBoxHeight) {\n minCropBoxWidth = minCropBoxHeight * aspectRatio;\n }\n if (maxCropBoxHeight * aspectRatio > maxCropBoxWidth) {\n maxCropBoxHeight = maxCropBoxWidth / aspectRatio;\n } else {\n maxCropBoxWidth = maxCropBoxHeight * aspectRatio;\n }\n }\n\n // The minWidth/Height must be less than maxWidth/Height\n cropBoxData.minWidth = Math.min(minCropBoxWidth, maxCropBoxWidth);\n cropBoxData.minHeight = Math.min(minCropBoxHeight, maxCropBoxHeight);\n cropBoxData.maxWidth = maxCropBoxWidth;\n cropBoxData.maxHeight = maxCropBoxHeight;\n }\n if (positionLimited) {\n if (limited) {\n cropBoxData.minLeft = Math.max(0, canvasData.left);\n cropBoxData.minTop = Math.max(0, canvasData.top);\n cropBoxData.maxLeft = Math.min(containerData.width, canvasData.left + canvasData.width) - cropBoxData.width;\n cropBoxData.maxTop = Math.min(containerData.height, canvasData.top + canvasData.height) - cropBoxData.height;\n } else {\n cropBoxData.minLeft = 0;\n cropBoxData.minTop = 0;\n cropBoxData.maxLeft = containerData.width - cropBoxData.width;\n cropBoxData.maxTop = containerData.height - cropBoxData.height;\n }\n }\n },\n renderCropBox: function renderCropBox() {\n var options = this.options,\n containerData = this.containerData,\n cropBoxData = this.cropBoxData;\n if (cropBoxData.width > cropBoxData.maxWidth || cropBoxData.width < cropBoxData.minWidth) {\n cropBoxData.left = cropBoxData.oldLeft;\n }\n if (cropBoxData.height > cropBoxData.maxHeight || cropBoxData.height < cropBoxData.minHeight) {\n cropBoxData.top = cropBoxData.oldTop;\n }\n cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);\n cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight);\n this.limitCropBox(false, true);\n cropBoxData.left = Math.min(Math.max(cropBoxData.left, cropBoxData.minLeft), cropBoxData.maxLeft);\n cropBoxData.top = Math.min(Math.max(cropBoxData.top, cropBoxData.minTop), cropBoxData.maxTop);\n cropBoxData.oldLeft = cropBoxData.left;\n cropBoxData.oldTop = cropBoxData.top;\n if (options.movable && options.cropBoxMovable) {\n // Turn to move the canvas when the crop box is equal to the container\n setData(this.face, DATA_ACTION, cropBoxData.width >= containerData.width && cropBoxData.height >= containerData.height ? ACTION_MOVE : ACTION_ALL);\n }\n setStyle(this.cropBox, assign({\n width: cropBoxData.width,\n height: cropBoxData.height\n }, getTransforms({\n translateX: cropBoxData.left,\n translateY: cropBoxData.top\n })));\n if (this.cropped && this.limited) {\n this.limitCanvas(true, true);\n }\n if (!this.disabled) {\n this.output();\n }\n },\n output: function output() {\n this.preview();\n dispatchEvent(this.element, EVENT_CROP, this.getData());\n }\n };\n\n var preview = {\n initPreview: function initPreview() {\n var element = this.element,\n crossOrigin = this.crossOrigin;\n var preview = this.options.preview;\n var url = crossOrigin ? this.crossOriginUrl : this.url;\n var alt = element.alt || 'The image to preview';\n var image = document.createElement('img');\n if (crossOrigin) {\n image.crossOrigin = crossOrigin;\n }\n image.src = url;\n image.alt = alt;\n this.viewBox.appendChild(image);\n this.viewBoxImage = image;\n if (!preview) {\n return;\n }\n var previews = preview;\n if (typeof preview === 'string') {\n previews = element.ownerDocument.querySelectorAll(preview);\n } else if (preview.querySelector) {\n previews = [preview];\n }\n this.previews = previews;\n forEach(previews, function (el) {\n var img = document.createElement('img');\n\n // Save the original size for recover\n setData(el, DATA_PREVIEW, {\n width: el.offsetWidth,\n height: el.offsetHeight,\n html: el.innerHTML\n });\n if (crossOrigin) {\n img.crossOrigin = crossOrigin;\n }\n img.src = url;\n img.alt = alt;\n\n /**\n * Override img element styles\n * Add `display:block` to avoid margin top issue\n * Add `height:auto` to override `height` attribute on IE8\n * (Occur only when margin-top <= -height)\n */\n img.style.cssText = 'display:block;' + 'width:100%;' + 'height:auto;' + 'min-width:0!important;' + 'min-height:0!important;' + 'max-width:none!important;' + 'max-height:none!important;' + 'image-orientation:0deg!important;\"';\n el.innerHTML = '';\n el.appendChild(img);\n });\n },\n resetPreview: function resetPreview() {\n forEach(this.previews, function (element) {\n var data = getData(element, DATA_PREVIEW);\n setStyle(element, {\n width: data.width,\n height: data.height\n });\n element.innerHTML = data.html;\n removeData(element, DATA_PREVIEW);\n });\n },\n preview: function preview() {\n var imageData = this.imageData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var cropBoxWidth = cropBoxData.width,\n cropBoxHeight = cropBoxData.height;\n var width = imageData.width,\n height = imageData.height;\n var left = cropBoxData.left - canvasData.left - imageData.left;\n var top = cropBoxData.top - canvasData.top - imageData.top;\n if (!this.cropped || this.disabled) {\n return;\n }\n setStyle(this.viewBoxImage, assign({\n width: width,\n height: height\n }, getTransforms(assign({\n translateX: -left,\n translateY: -top\n }, imageData))));\n forEach(this.previews, function (element) {\n var data = getData(element, DATA_PREVIEW);\n var originalWidth = data.width;\n var originalHeight = data.height;\n var newWidth = originalWidth;\n var newHeight = originalHeight;\n var ratio = 1;\n if (cropBoxWidth) {\n ratio = originalWidth / cropBoxWidth;\n newHeight = cropBoxHeight * ratio;\n }\n if (cropBoxHeight && newHeight > originalHeight) {\n ratio = originalHeight / cropBoxHeight;\n newWidth = cropBoxWidth * ratio;\n newHeight = originalHeight;\n }\n setStyle(element, {\n width: newWidth,\n height: newHeight\n });\n setStyle(element.getElementsByTagName('img')[0], assign({\n width: width * ratio,\n height: height * ratio\n }, getTransforms(assign({\n translateX: -left * ratio,\n translateY: -top * ratio\n }, imageData))));\n });\n }\n };\n\n var events = {\n bind: function bind() {\n var element = this.element,\n options = this.options,\n cropper = this.cropper;\n if (isFunction(options.cropstart)) {\n addListener(element, EVENT_CROP_START, options.cropstart);\n }\n if (isFunction(options.cropmove)) {\n addListener(element, EVENT_CROP_MOVE, options.cropmove);\n }\n if (isFunction(options.cropend)) {\n addListener(element, EVENT_CROP_END, options.cropend);\n }\n if (isFunction(options.crop)) {\n addListener(element, EVENT_CROP, options.crop);\n }\n if (isFunction(options.zoom)) {\n addListener(element, EVENT_ZOOM, options.zoom);\n }\n addListener(cropper, EVENT_POINTER_DOWN, this.onCropStart = this.cropStart.bind(this));\n if (options.zoomable && options.zoomOnWheel) {\n addListener(cropper, EVENT_WHEEL, this.onWheel = this.wheel.bind(this), {\n passive: false,\n capture: true\n });\n }\n if (options.toggleDragModeOnDblclick) {\n addListener(cropper, EVENT_DBLCLICK, this.onDblclick = this.dblclick.bind(this));\n }\n addListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove = this.cropMove.bind(this));\n addListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd = this.cropEnd.bind(this));\n if (options.responsive) {\n addListener(window, EVENT_RESIZE, this.onResize = this.resize.bind(this));\n }\n },\n unbind: function unbind() {\n var element = this.element,\n options = this.options,\n cropper = this.cropper;\n if (isFunction(options.cropstart)) {\n removeListener(element, EVENT_CROP_START, options.cropstart);\n }\n if (isFunction(options.cropmove)) {\n removeListener(element, EVENT_CROP_MOVE, options.cropmove);\n }\n if (isFunction(options.cropend)) {\n removeListener(element, EVENT_CROP_END, options.cropend);\n }\n if (isFunction(options.crop)) {\n removeListener(element, EVENT_CROP, options.crop);\n }\n if (isFunction(options.zoom)) {\n removeListener(element, EVENT_ZOOM, options.zoom);\n }\n removeListener(cropper, EVENT_POINTER_DOWN, this.onCropStart);\n if (options.zoomable && options.zoomOnWheel) {\n removeListener(cropper, EVENT_WHEEL, this.onWheel, {\n passive: false,\n capture: true\n });\n }\n if (options.toggleDragModeOnDblclick) {\n removeListener(cropper, EVENT_DBLCLICK, this.onDblclick);\n }\n removeListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove);\n removeListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd);\n if (options.responsive) {\n removeListener(window, EVENT_RESIZE, this.onResize);\n }\n }\n };\n\n var handlers = {\n resize: function resize() {\n if (this.disabled) {\n return;\n }\n var options = this.options,\n container = this.container,\n containerData = this.containerData;\n var ratioX = container.offsetWidth / containerData.width;\n var ratioY = container.offsetHeight / containerData.height;\n var ratio = Math.abs(ratioX - 1) > Math.abs(ratioY - 1) ? ratioX : ratioY;\n\n // Resize when width changed or height changed\n if (ratio !== 1) {\n var canvasData;\n var cropBoxData;\n if (options.restore) {\n canvasData = this.getCanvasData();\n cropBoxData = this.getCropBoxData();\n }\n this.render();\n if (options.restore) {\n this.setCanvasData(forEach(canvasData, function (n, i) {\n canvasData[i] = n * ratio;\n }));\n this.setCropBoxData(forEach(cropBoxData, function (n, i) {\n cropBoxData[i] = n * ratio;\n }));\n }\n }\n },\n dblclick: function dblclick() {\n if (this.disabled || this.options.dragMode === DRAG_MODE_NONE) {\n return;\n }\n this.setDragMode(hasClass(this.dragBox, CLASS_CROP) ? DRAG_MODE_MOVE : DRAG_MODE_CROP);\n },\n wheel: function wheel(event) {\n var _this = this;\n var ratio = Number(this.options.wheelZoomRatio) || 0.1;\n var delta = 1;\n if (this.disabled) {\n return;\n }\n event.preventDefault();\n\n // Limit wheel speed to prevent zoom too fast (#21)\n if (this.wheeling) {\n return;\n }\n this.wheeling = true;\n setTimeout(function () {\n _this.wheeling = false;\n }, 50);\n if (event.deltaY) {\n delta = event.deltaY > 0 ? 1 : -1;\n } else if (event.wheelDelta) {\n delta = -event.wheelDelta / 120;\n } else if (event.detail) {\n delta = event.detail > 0 ? 1 : -1;\n }\n this.zoom(-delta * ratio, event);\n },\n cropStart: function cropStart(event) {\n var buttons = event.buttons,\n button = event.button;\n if (this.disabled\n\n // Handle mouse event and pointer event and ignore touch event\n || (event.type === 'mousedown' || event.type === 'pointerdown' && event.pointerType === 'mouse') && (\n // No primary button (Usually the left button)\n isNumber(buttons) && buttons !== 1 || isNumber(button) && button !== 0\n\n // Open context menu\n || event.ctrlKey)) {\n return;\n }\n var options = this.options,\n pointers = this.pointers;\n var action;\n if (event.changedTouches) {\n // Handle touch event\n forEach(event.changedTouches, function (touch) {\n pointers[touch.identifier] = getPointer(touch);\n });\n } else {\n // Handle mouse event and pointer event\n pointers[event.pointerId || 0] = getPointer(event);\n }\n if (Object.keys(pointers).length > 1 && options.zoomable && options.zoomOnTouch) {\n action = ACTION_ZOOM;\n } else {\n action = getData(event.target, DATA_ACTION);\n }\n if (!REGEXP_ACTIONS.test(action)) {\n return;\n }\n if (dispatchEvent(this.element, EVENT_CROP_START, {\n originalEvent: event,\n action: action\n }) === false) {\n return;\n }\n\n // This line is required for preventing page zooming in iOS browsers\n event.preventDefault();\n this.action = action;\n this.cropping = false;\n if (action === ACTION_CROP) {\n this.cropping = true;\n addClass(this.dragBox, CLASS_MODAL);\n }\n },\n cropMove: function cropMove(event) {\n var action = this.action;\n if (this.disabled || !action) {\n return;\n }\n var pointers = this.pointers;\n event.preventDefault();\n if (dispatchEvent(this.element, EVENT_CROP_MOVE, {\n originalEvent: event,\n action: action\n }) === false) {\n return;\n }\n if (event.changedTouches) {\n forEach(event.changedTouches, function (touch) {\n // The first parameter should not be undefined (#432)\n assign(pointers[touch.identifier] || {}, getPointer(touch, true));\n });\n } else {\n assign(pointers[event.pointerId || 0] || {}, getPointer(event, true));\n }\n this.change(event);\n },\n cropEnd: function cropEnd(event) {\n if (this.disabled) {\n return;\n }\n var action = this.action,\n pointers = this.pointers;\n if (event.changedTouches) {\n forEach(event.changedTouches, function (touch) {\n delete pointers[touch.identifier];\n });\n } else {\n delete pointers[event.pointerId || 0];\n }\n if (!action) {\n return;\n }\n event.preventDefault();\n if (!Object.keys(pointers).length) {\n this.action = '';\n }\n if (this.cropping) {\n this.cropping = false;\n toggleClass(this.dragBox, CLASS_MODAL, this.cropped && this.options.modal);\n }\n dispatchEvent(this.element, EVENT_CROP_END, {\n originalEvent: event,\n action: action\n });\n }\n };\n\n var change = {\n change: function change(event) {\n var options = this.options,\n canvasData = this.canvasData,\n containerData = this.containerData,\n cropBoxData = this.cropBoxData,\n pointers = this.pointers;\n var action = this.action;\n var aspectRatio = options.aspectRatio;\n var left = cropBoxData.left,\n top = cropBoxData.top,\n width = cropBoxData.width,\n height = cropBoxData.height;\n var right = left + width;\n var bottom = top + height;\n var minLeft = 0;\n var minTop = 0;\n var maxWidth = containerData.width;\n var maxHeight = containerData.height;\n var renderable = true;\n var offset;\n\n // Locking aspect ratio in \"free mode\" by holding shift key\n if (!aspectRatio && event.shiftKey) {\n aspectRatio = width && height ? width / height : 1;\n }\n if (this.limited) {\n minLeft = cropBoxData.minLeft;\n minTop = cropBoxData.minTop;\n maxWidth = minLeft + Math.min(containerData.width, canvasData.width, canvasData.left + canvasData.width);\n maxHeight = minTop + Math.min(containerData.height, canvasData.height, canvasData.top + canvasData.height);\n }\n var pointer = pointers[Object.keys(pointers)[0]];\n var range = {\n x: pointer.endX - pointer.startX,\n y: pointer.endY - pointer.startY\n };\n var check = function check(side) {\n switch (side) {\n case ACTION_EAST:\n if (right + range.x > maxWidth) {\n range.x = maxWidth - right;\n }\n break;\n case ACTION_WEST:\n if (left + range.x < minLeft) {\n range.x = minLeft - left;\n }\n break;\n case ACTION_NORTH:\n if (top + range.y < minTop) {\n range.y = minTop - top;\n }\n break;\n case ACTION_SOUTH:\n if (bottom + range.y > maxHeight) {\n range.y = maxHeight - bottom;\n }\n break;\n }\n };\n switch (action) {\n // Move crop box\n case ACTION_ALL:\n left += range.x;\n top += range.y;\n break;\n\n // Resize crop box\n case ACTION_EAST:\n if (range.x >= 0 && (right >= maxWidth || aspectRatio && (top <= minTop || bottom >= maxHeight))) {\n renderable = false;\n break;\n }\n check(ACTION_EAST);\n width += range.x;\n if (width < 0) {\n action = ACTION_WEST;\n width = -width;\n left -= width;\n }\n if (aspectRatio) {\n height = width / aspectRatio;\n top += (cropBoxData.height - height) / 2;\n }\n break;\n case ACTION_NORTH:\n if (range.y <= 0 && (top <= minTop || aspectRatio && (left <= minLeft || right >= maxWidth))) {\n renderable = false;\n break;\n }\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n if (height < 0) {\n action = ACTION_SOUTH;\n height = -height;\n top -= height;\n }\n if (aspectRatio) {\n width = height * aspectRatio;\n left += (cropBoxData.width - width) / 2;\n }\n break;\n case ACTION_WEST:\n if (range.x <= 0 && (left <= minLeft || aspectRatio && (top <= minTop || bottom >= maxHeight))) {\n renderable = false;\n break;\n }\n check(ACTION_WEST);\n width -= range.x;\n left += range.x;\n if (width < 0) {\n action = ACTION_EAST;\n width = -width;\n left -= width;\n }\n if (aspectRatio) {\n height = width / aspectRatio;\n top += (cropBoxData.height - height) / 2;\n }\n break;\n case ACTION_SOUTH:\n if (range.y >= 0 && (bottom >= maxHeight || aspectRatio && (left <= minLeft || right >= maxWidth))) {\n renderable = false;\n break;\n }\n check(ACTION_SOUTH);\n height += range.y;\n if (height < 0) {\n action = ACTION_NORTH;\n height = -height;\n top -= height;\n }\n if (aspectRatio) {\n width = height * aspectRatio;\n left += (cropBoxData.width - width) / 2;\n }\n break;\n case ACTION_NORTH_EAST:\n if (aspectRatio) {\n if (range.y <= 0 && (top <= minTop || right >= maxWidth)) {\n renderable = false;\n break;\n }\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n width = height * aspectRatio;\n } else {\n check(ACTION_NORTH);\n check(ACTION_EAST);\n if (range.x >= 0) {\n if (right < maxWidth) {\n width += range.x;\n } else if (range.y <= 0 && top <= minTop) {\n renderable = false;\n }\n } else {\n width += range.x;\n }\n if (range.y <= 0) {\n if (top > minTop) {\n height -= range.y;\n top += range.y;\n }\n } else {\n height -= range.y;\n top += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_SOUTH_WEST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_NORTH_WEST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_SOUTH_EAST;\n height = -height;\n top -= height;\n }\n break;\n case ACTION_NORTH_WEST:\n if (aspectRatio) {\n if (range.y <= 0 && (top <= minTop || left <= minLeft)) {\n renderable = false;\n break;\n }\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n width = height * aspectRatio;\n left += cropBoxData.width - width;\n } else {\n check(ACTION_NORTH);\n check(ACTION_WEST);\n if (range.x <= 0) {\n if (left > minLeft) {\n width -= range.x;\n left += range.x;\n } else if (range.y <= 0 && top <= minTop) {\n renderable = false;\n }\n } else {\n width -= range.x;\n left += range.x;\n }\n if (range.y <= 0) {\n if (top > minTop) {\n height -= range.y;\n top += range.y;\n }\n } else {\n height -= range.y;\n top += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_SOUTH_EAST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_NORTH_EAST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_SOUTH_WEST;\n height = -height;\n top -= height;\n }\n break;\n case ACTION_SOUTH_WEST:\n if (aspectRatio) {\n if (range.x <= 0 && (left <= minLeft || bottom >= maxHeight)) {\n renderable = false;\n break;\n }\n check(ACTION_WEST);\n width -= range.x;\n left += range.x;\n height = width / aspectRatio;\n } else {\n check(ACTION_SOUTH);\n check(ACTION_WEST);\n if (range.x <= 0) {\n if (left > minLeft) {\n width -= range.x;\n left += range.x;\n } else if (range.y >= 0 && bottom >= maxHeight) {\n renderable = false;\n }\n } else {\n width -= range.x;\n left += range.x;\n }\n if (range.y >= 0) {\n if (bottom < maxHeight) {\n height += range.y;\n }\n } else {\n height += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_NORTH_EAST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_SOUTH_EAST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_NORTH_WEST;\n height = -height;\n top -= height;\n }\n break;\n case ACTION_SOUTH_EAST:\n if (aspectRatio) {\n if (range.x >= 0 && (right >= maxWidth || bottom >= maxHeight)) {\n renderable = false;\n break;\n }\n check(ACTION_EAST);\n width += range.x;\n height = width / aspectRatio;\n } else {\n check(ACTION_SOUTH);\n check(ACTION_EAST);\n if (range.x >= 0) {\n if (right < maxWidth) {\n width += range.x;\n } else if (range.y >= 0 && bottom >= maxHeight) {\n renderable = false;\n }\n } else {\n width += range.x;\n }\n if (range.y >= 0) {\n if (bottom < maxHeight) {\n height += range.y;\n }\n } else {\n height += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_NORTH_WEST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_SOUTH_WEST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_NORTH_EAST;\n height = -height;\n top -= height;\n }\n break;\n\n // Move canvas\n case ACTION_MOVE:\n this.move(range.x, range.y);\n renderable = false;\n break;\n\n // Zoom canvas\n case ACTION_ZOOM:\n this.zoom(getMaxZoomRatio(pointers), event);\n renderable = false;\n break;\n\n // Create crop box\n case ACTION_CROP:\n if (!range.x || !range.y) {\n renderable = false;\n break;\n }\n offset = getOffset(this.cropper);\n left = pointer.startX - offset.left;\n top = pointer.startY - offset.top;\n width = cropBoxData.minWidth;\n height = cropBoxData.minHeight;\n if (range.x > 0) {\n action = range.y > 0 ? ACTION_SOUTH_EAST : ACTION_NORTH_EAST;\n } else if (range.x < 0) {\n left -= width;\n action = range.y > 0 ? ACTION_SOUTH_WEST : ACTION_NORTH_WEST;\n }\n if (range.y < 0) {\n top -= height;\n }\n\n // Show the crop box if is hidden\n if (!this.cropped) {\n removeClass(this.cropBox, CLASS_HIDDEN);\n this.cropped = true;\n if (this.limited) {\n this.limitCropBox(true, true);\n }\n }\n break;\n }\n if (renderable) {\n cropBoxData.width = width;\n cropBoxData.height = height;\n cropBoxData.left = left;\n cropBoxData.top = top;\n this.action = action;\n this.renderCropBox();\n }\n\n // Override\n forEach(pointers, function (p) {\n p.startX = p.endX;\n p.startY = p.endY;\n });\n }\n };\n\n var methods = {\n // Show the crop box manually\n crop: function crop() {\n if (this.ready && !this.cropped && !this.disabled) {\n this.cropped = true;\n this.limitCropBox(true, true);\n if (this.options.modal) {\n addClass(this.dragBox, CLASS_MODAL);\n }\n removeClass(this.cropBox, CLASS_HIDDEN);\n this.setCropBoxData(this.initialCropBoxData);\n }\n return this;\n },\n // Reset the image and crop box to their initial states\n reset: function reset() {\n if (this.ready && !this.disabled) {\n this.imageData = assign({}, this.initialImageData);\n this.canvasData = assign({}, this.initialCanvasData);\n this.cropBoxData = assign({}, this.initialCropBoxData);\n this.renderCanvas();\n if (this.cropped) {\n this.renderCropBox();\n }\n }\n return this;\n },\n // Clear the crop box\n clear: function clear() {\n if (this.cropped && !this.disabled) {\n assign(this.cropBoxData, {\n left: 0,\n top: 0,\n width: 0,\n height: 0\n });\n this.cropped = false;\n this.renderCropBox();\n this.limitCanvas(true, true);\n\n // Render canvas after crop box rendered\n this.renderCanvas();\n removeClass(this.dragBox, CLASS_MODAL);\n addClass(this.cropBox, CLASS_HIDDEN);\n }\n return this;\n },\n /**\n * Replace the image's src and rebuild the cropper\n * @param {string} url - The new URL.\n * @param {boolean} [hasSameSize] - Indicate if the new image has the same size as the old one.\n * @returns {Cropper} this\n */\n replace: function replace(url) {\n var hasSameSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (!this.disabled && url) {\n if (this.isImg) {\n this.element.src = url;\n }\n if (hasSameSize) {\n this.url = url;\n this.image.src = url;\n if (this.ready) {\n this.viewBoxImage.src = url;\n forEach(this.previews, function (element) {\n element.getElementsByTagName('img')[0].src = url;\n });\n }\n } else {\n if (this.isImg) {\n this.replaced = true;\n }\n this.options.data = null;\n this.uncreate();\n this.load(url);\n }\n }\n return this;\n },\n // Enable (unfreeze) the cropper\n enable: function enable() {\n if (this.ready && this.disabled) {\n this.disabled = false;\n removeClass(this.cropper, CLASS_DISABLED);\n }\n return this;\n },\n // Disable (freeze) the cropper\n disable: function disable() {\n if (this.ready && !this.disabled) {\n this.disabled = true;\n addClass(this.cropper, CLASS_DISABLED);\n }\n return this;\n },\n /**\n * Destroy the cropper and remove the instance from the image\n * @returns {Cropper} this\n */\n destroy: function destroy() {\n var element = this.element;\n if (!element[NAMESPACE]) {\n return this;\n }\n element[NAMESPACE] = undefined;\n if (this.isImg && this.replaced) {\n element.src = this.originalUrl;\n }\n this.uncreate();\n return this;\n },\n /**\n * Move the canvas with relative offsets\n * @param {number} offsetX - The relative offset distance on the x-axis.\n * @param {number} [offsetY=offsetX] - The relative offset distance on the y-axis.\n * @returns {Cropper} this\n */\n move: function move(offsetX) {\n var offsetY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : offsetX;\n var _this$canvasData = this.canvasData,\n left = _this$canvasData.left,\n top = _this$canvasData.top;\n return this.moveTo(isUndefined(offsetX) ? offsetX : left + Number(offsetX), isUndefined(offsetY) ? offsetY : top + Number(offsetY));\n },\n /**\n * Move the canvas to an absolute point\n * @param {number} x - The x-axis coordinate.\n * @param {number} [y=x] - The y-axis coordinate.\n * @returns {Cropper} this\n */\n moveTo: function moveTo(x) {\n var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : x;\n var canvasData = this.canvasData;\n var changed = false;\n x = Number(x);\n y = Number(y);\n if (this.ready && !this.disabled && this.options.movable) {\n if (isNumber(x)) {\n canvasData.left = x;\n changed = true;\n }\n if (isNumber(y)) {\n canvasData.top = y;\n changed = true;\n }\n if (changed) {\n this.renderCanvas(true);\n }\n }\n return this;\n },\n /**\n * Zoom the canvas with a relative ratio\n * @param {number} ratio - The target ratio.\n * @param {Event} _originalEvent - The original event if any.\n * @returns {Cropper} this\n */\n zoom: function zoom(ratio, _originalEvent) {\n var canvasData = this.canvasData;\n ratio = Number(ratio);\n if (ratio < 0) {\n ratio = 1 / (1 - ratio);\n } else {\n ratio = 1 + ratio;\n }\n return this.zoomTo(canvasData.width * ratio / canvasData.naturalWidth, null, _originalEvent);\n },\n /**\n * Zoom the canvas to an absolute ratio\n * @param {number} ratio - The target ratio.\n * @param {Object} pivot - The zoom pivot point coordinate.\n * @param {Event} _originalEvent - The original event if any.\n * @returns {Cropper} this\n */\n zoomTo: function zoomTo(ratio, pivot, _originalEvent) {\n var options = this.options,\n canvasData = this.canvasData;\n var width = canvasData.width,\n height = canvasData.height,\n naturalWidth = canvasData.naturalWidth,\n naturalHeight = canvasData.naturalHeight;\n ratio = Number(ratio);\n if (ratio >= 0 && this.ready && !this.disabled && options.zoomable) {\n var newWidth = naturalWidth * ratio;\n var newHeight = naturalHeight * ratio;\n if (dispatchEvent(this.element, EVENT_ZOOM, {\n ratio: ratio,\n oldRatio: width / naturalWidth,\n originalEvent: _originalEvent\n }) === false) {\n return this;\n }\n if (_originalEvent) {\n var pointers = this.pointers;\n var offset = getOffset(this.cropper);\n var center = pointers && Object.keys(pointers).length ? getPointersCenter(pointers) : {\n pageX: _originalEvent.pageX,\n pageY: _originalEvent.pageY\n };\n\n // Zoom from the triggering point of the event\n canvasData.left -= (newWidth - width) * ((center.pageX - offset.left - canvasData.left) / width);\n canvasData.top -= (newHeight - height) * ((center.pageY - offset.top - canvasData.top) / height);\n } else if (isPlainObject(pivot) && isNumber(pivot.x) && isNumber(pivot.y)) {\n canvasData.left -= (newWidth - width) * ((pivot.x - canvasData.left) / width);\n canvasData.top -= (newHeight - height) * ((pivot.y - canvasData.top) / height);\n } else {\n // Zoom from the center of the canvas\n canvasData.left -= (newWidth - width) / 2;\n canvasData.top -= (newHeight - height) / 2;\n }\n canvasData.width = newWidth;\n canvasData.height = newHeight;\n this.renderCanvas(true);\n }\n return this;\n },\n /**\n * Rotate the canvas with a relative degree\n * @param {number} degree - The rotate degree.\n * @returns {Cropper} this\n */\n rotate: function rotate(degree) {\n return this.rotateTo((this.imageData.rotate || 0) + Number(degree));\n },\n /**\n * Rotate the canvas to an absolute degree\n * @param {number} degree - The rotate degree.\n * @returns {Cropper} this\n */\n rotateTo: function rotateTo(degree) {\n degree = Number(degree);\n if (isNumber(degree) && this.ready && !this.disabled && this.options.rotatable) {\n this.imageData.rotate = degree % 360;\n this.renderCanvas(true, true);\n }\n return this;\n },\n /**\n * Scale the image on the x-axis.\n * @param {number} scaleX - The scale ratio on the x-axis.\n * @returns {Cropper} this\n */\n scaleX: function scaleX(_scaleX) {\n var scaleY = this.imageData.scaleY;\n return this.scale(_scaleX, isNumber(scaleY) ? scaleY : 1);\n },\n /**\n * Scale the image on the y-axis.\n * @param {number} scaleY - The scale ratio on the y-axis.\n * @returns {Cropper} this\n */\n scaleY: function scaleY(_scaleY) {\n var scaleX = this.imageData.scaleX;\n return this.scale(isNumber(scaleX) ? scaleX : 1, _scaleY);\n },\n /**\n * Scale the image\n * @param {number} scaleX - The scale ratio on the x-axis.\n * @param {number} [scaleY=scaleX] - The scale ratio on the y-axis.\n * @returns {Cropper} this\n */\n scale: function scale(scaleX) {\n var scaleY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : scaleX;\n var imageData = this.imageData;\n var transformed = false;\n scaleX = Number(scaleX);\n scaleY = Number(scaleY);\n if (this.ready && !this.disabled && this.options.scalable) {\n if (isNumber(scaleX)) {\n imageData.scaleX = scaleX;\n transformed = true;\n }\n if (isNumber(scaleY)) {\n imageData.scaleY = scaleY;\n transformed = true;\n }\n if (transformed) {\n this.renderCanvas(true, true);\n }\n }\n return this;\n },\n /**\n * Get the cropped area position and size data (base on the original image)\n * @param {boolean} [rounded=false] - Indicate if round the data values or not.\n * @returns {Object} The result cropped data.\n */\n getData: function getData() {\n var rounded = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var options = this.options,\n imageData = this.imageData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var data;\n if (this.ready && this.cropped) {\n data = {\n x: cropBoxData.left - canvasData.left,\n y: cropBoxData.top - canvasData.top,\n width: cropBoxData.width,\n height: cropBoxData.height\n };\n var ratio = imageData.width / imageData.naturalWidth;\n forEach(data, function (n, i) {\n data[i] = n / ratio;\n });\n if (rounded) {\n // In case rounding off leads to extra 1px in right or bottom border\n // we should round the top-left corner and the dimension (#343).\n var bottom = Math.round(data.y + data.height);\n var right = Math.round(data.x + data.width);\n data.x = Math.round(data.x);\n data.y = Math.round(data.y);\n data.width = right - data.x;\n data.height = bottom - data.y;\n }\n } else {\n data = {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n }\n if (options.rotatable) {\n data.rotate = imageData.rotate || 0;\n }\n if (options.scalable) {\n data.scaleX = imageData.scaleX || 1;\n data.scaleY = imageData.scaleY || 1;\n }\n return data;\n },\n /**\n * Set the cropped area position and size with new data\n * @param {Object} data - The new data.\n * @returns {Cropper} this\n */\n setData: function setData(data) {\n var options = this.options,\n imageData = this.imageData,\n canvasData = this.canvasData;\n var cropBoxData = {};\n if (this.ready && !this.disabled && isPlainObject(data)) {\n var transformed = false;\n if (options.rotatable) {\n if (isNumber(data.rotate) && data.rotate !== imageData.rotate) {\n imageData.rotate = data.rotate;\n transformed = true;\n }\n }\n if (options.scalable) {\n if (isNumber(data.scaleX) && data.scaleX !== imageData.scaleX) {\n imageData.scaleX = data.scaleX;\n transformed = true;\n }\n if (isNumber(data.scaleY) && data.scaleY !== imageData.scaleY) {\n imageData.scaleY = data.scaleY;\n transformed = true;\n }\n }\n if (transformed) {\n this.renderCanvas(true, true);\n }\n var ratio = imageData.width / imageData.naturalWidth;\n if (isNumber(data.x)) {\n cropBoxData.left = data.x * ratio + canvasData.left;\n }\n if (isNumber(data.y)) {\n cropBoxData.top = data.y * ratio + canvasData.top;\n }\n if (isNumber(data.width)) {\n cropBoxData.width = data.width * ratio;\n }\n if (isNumber(data.height)) {\n cropBoxData.height = data.height * ratio;\n }\n this.setCropBoxData(cropBoxData);\n }\n return this;\n },\n /**\n * Get the container size data.\n * @returns {Object} The result container data.\n */\n getContainerData: function getContainerData() {\n return this.ready ? assign({}, this.containerData) : {};\n },\n /**\n * Get the image position and size data.\n * @returns {Object} The result image data.\n */\n getImageData: function getImageData() {\n return this.sized ? assign({}, this.imageData) : {};\n },\n /**\n * Get the canvas position and size data.\n * @returns {Object} The result canvas data.\n */\n getCanvasData: function getCanvasData() {\n var canvasData = this.canvasData;\n var data = {};\n if (this.ready) {\n forEach(['left', 'top', 'width', 'height', 'naturalWidth', 'naturalHeight'], function (n) {\n data[n] = canvasData[n];\n });\n }\n return data;\n },\n /**\n * Set the canvas position and size with new data.\n * @param {Object} data - The new canvas data.\n * @returns {Cropper} this\n */\n setCanvasData: function setCanvasData(data) {\n var canvasData = this.canvasData;\n var aspectRatio = canvasData.aspectRatio;\n if (this.ready && !this.disabled && isPlainObject(data)) {\n if (isNumber(data.left)) {\n canvasData.left = data.left;\n }\n if (isNumber(data.top)) {\n canvasData.top = data.top;\n }\n if (isNumber(data.width)) {\n canvasData.width = data.width;\n canvasData.height = data.width / aspectRatio;\n } else if (isNumber(data.height)) {\n canvasData.height = data.height;\n canvasData.width = data.height * aspectRatio;\n }\n this.renderCanvas(true);\n }\n return this;\n },\n /**\n * Get the crop box position and size data.\n * @returns {Object} The result crop box data.\n */\n getCropBoxData: function getCropBoxData() {\n var cropBoxData = this.cropBoxData;\n var data;\n if (this.ready && this.cropped) {\n data = {\n left: cropBoxData.left,\n top: cropBoxData.top,\n width: cropBoxData.width,\n height: cropBoxData.height\n };\n }\n return data || {};\n },\n /**\n * Set the crop box position and size with new data.\n * @param {Object} data - The new crop box data.\n * @returns {Cropper} this\n */\n setCropBoxData: function setCropBoxData(data) {\n var cropBoxData = this.cropBoxData;\n var aspectRatio = this.options.aspectRatio;\n var widthChanged;\n var heightChanged;\n if (this.ready && this.cropped && !this.disabled && isPlainObject(data)) {\n if (isNumber(data.left)) {\n cropBoxData.left = data.left;\n }\n if (isNumber(data.top)) {\n cropBoxData.top = data.top;\n }\n if (isNumber(data.width) && data.width !== cropBoxData.width) {\n widthChanged = true;\n cropBoxData.width = data.width;\n }\n if (isNumber(data.height) && data.height !== cropBoxData.height) {\n heightChanged = true;\n cropBoxData.height = data.height;\n }\n if (aspectRatio) {\n if (widthChanged) {\n cropBoxData.height = cropBoxData.width / aspectRatio;\n } else if (heightChanged) {\n cropBoxData.width = cropBoxData.height * aspectRatio;\n }\n }\n this.renderCropBox();\n }\n return this;\n },\n /**\n * Get a canvas drawn the cropped image.\n * @param {Object} [options={}] - The config options.\n * @returns {HTMLCanvasElement} - The result canvas.\n */\n getCroppedCanvas: function getCroppedCanvas() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!this.ready || !window.HTMLCanvasElement) {\n return null;\n }\n var canvasData = this.canvasData;\n var source = getSourceCanvas(this.image, this.imageData, canvasData, options);\n\n // Returns the source canvas if it is not cropped.\n if (!this.cropped) {\n return source;\n }\n var _this$getData = this.getData(options.rounded),\n initialX = _this$getData.x,\n initialY = _this$getData.y,\n initialWidth = _this$getData.width,\n initialHeight = _this$getData.height;\n var ratio = source.width / Math.floor(canvasData.naturalWidth);\n if (ratio !== 1) {\n initialX *= ratio;\n initialY *= ratio;\n initialWidth *= ratio;\n initialHeight *= ratio;\n }\n var aspectRatio = initialWidth / initialHeight;\n var maxSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.maxWidth || Infinity,\n height: options.maxHeight || Infinity\n });\n var minSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.minWidth || 0,\n height: options.minHeight || 0\n }, 'cover');\n var _getAdjustedSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.width || (ratio !== 1 ? source.width : initialWidth),\n height: options.height || (ratio !== 1 ? source.height : initialHeight)\n }),\n width = _getAdjustedSizes.width,\n height = _getAdjustedSizes.height;\n width = Math.min(maxSizes.width, Math.max(minSizes.width, width));\n height = Math.min(maxSizes.height, Math.max(minSizes.height, height));\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.width = normalizeDecimalNumber(width);\n canvas.height = normalizeDecimalNumber(height);\n context.fillStyle = options.fillColor || 'transparent';\n context.fillRect(0, 0, width, height);\n var _options$imageSmoothi = options.imageSmoothingEnabled,\n imageSmoothingEnabled = _options$imageSmoothi === void 0 ? true : _options$imageSmoothi,\n imageSmoothingQuality = options.imageSmoothingQuality;\n context.imageSmoothingEnabled = imageSmoothingEnabled;\n if (imageSmoothingQuality) {\n context.imageSmoothingQuality = imageSmoothingQuality;\n }\n\n // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.drawImage\n var sourceWidth = source.width;\n var sourceHeight = source.height;\n\n // Source canvas parameters\n var srcX = initialX;\n var srcY = initialY;\n var srcWidth;\n var srcHeight;\n\n // Destination canvas parameters\n var dstX;\n var dstY;\n var dstWidth;\n var dstHeight;\n if (srcX <= -initialWidth || srcX > sourceWidth) {\n srcX = 0;\n srcWidth = 0;\n dstX = 0;\n dstWidth = 0;\n } else if (srcX <= 0) {\n dstX = -srcX;\n srcX = 0;\n srcWidth = Math.min(sourceWidth, initialWidth + srcX);\n dstWidth = srcWidth;\n } else if (srcX <= sourceWidth) {\n dstX = 0;\n srcWidth = Math.min(initialWidth, sourceWidth - srcX);\n dstWidth = srcWidth;\n }\n if (srcWidth <= 0 || srcY <= -initialHeight || srcY > sourceHeight) {\n srcY = 0;\n srcHeight = 0;\n dstY = 0;\n dstHeight = 0;\n } else if (srcY <= 0) {\n dstY = -srcY;\n srcY = 0;\n srcHeight = Math.min(sourceHeight, initialHeight + srcY);\n dstHeight = srcHeight;\n } else if (srcY <= sourceHeight) {\n dstY = 0;\n srcHeight = Math.min(initialHeight, sourceHeight - srcY);\n dstHeight = srcHeight;\n }\n var params = [srcX, srcY, srcWidth, srcHeight];\n\n // Avoid \"IndexSizeError\"\n if (dstWidth > 0 && dstHeight > 0) {\n var scale = width / initialWidth;\n params.push(dstX * scale, dstY * scale, dstWidth * scale, dstHeight * scale);\n }\n\n // All the numerical parameters should be integer for `drawImage`\n // https://github.com/fengyuanchen/cropper/issues/476\n context.drawImage.apply(context, [source].concat(_toConsumableArray(params.map(function (param) {\n return Math.floor(normalizeDecimalNumber(param));\n }))));\n return canvas;\n },\n /**\n * Change the aspect ratio of the crop box.\n * @param {number} aspectRatio - The new aspect ratio.\n * @returns {Cropper} this\n */\n setAspectRatio: function setAspectRatio(aspectRatio) {\n var options = this.options;\n if (!this.disabled && !isUndefined(aspectRatio)) {\n // 0 -> NaN\n options.aspectRatio = Math.max(0, aspectRatio) || NaN;\n if (this.ready) {\n this.initCropBox();\n if (this.cropped) {\n this.renderCropBox();\n }\n }\n }\n return this;\n },\n /**\n * Change the drag mode.\n * @param {string} mode - The new drag mode.\n * @returns {Cropper} this\n */\n setDragMode: function setDragMode(mode) {\n var options = this.options,\n dragBox = this.dragBox,\n face = this.face;\n if (this.ready && !this.disabled) {\n var croppable = mode === DRAG_MODE_CROP;\n var movable = options.movable && mode === DRAG_MODE_MOVE;\n mode = croppable || movable ? mode : DRAG_MODE_NONE;\n options.dragMode = mode;\n setData(dragBox, DATA_ACTION, mode);\n toggleClass(dragBox, CLASS_CROP, croppable);\n toggleClass(dragBox, CLASS_MOVE, movable);\n if (!options.cropBoxMovable) {\n // Sync drag mode to crop box when it is not movable\n setData(face, DATA_ACTION, mode);\n toggleClass(face, CLASS_CROP, croppable);\n toggleClass(face, CLASS_MOVE, movable);\n }\n }\n return this;\n }\n };\n\n var AnotherCropper = WINDOW.Cropper;\n var Cropper = /*#__PURE__*/function () {\n /**\n * Create a new Cropper.\n * @param {Element} element - The target element for cropping.\n * @param {Object} [options={}] - The configuration options.\n */\n function Cropper(element) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Cropper);\n if (!element || !REGEXP_TAG_NAME.test(element.tagName)) {\n throw new Error('The first argument is required and must be an or element.');\n }\n this.element = element;\n this.options = assign({}, DEFAULTS, isPlainObject(options) && options);\n this.cropped = false;\n this.disabled = false;\n this.pointers = {};\n this.ready = false;\n this.reloading = false;\n this.replaced = false;\n this.sized = false;\n this.sizing = false;\n this.init();\n }\n return _createClass(Cropper, [{\n key: \"init\",\n value: function init() {\n var element = this.element;\n var tagName = element.tagName.toLowerCase();\n var url;\n if (element[NAMESPACE]) {\n return;\n }\n element[NAMESPACE] = this;\n if (tagName === 'img') {\n this.isImg = true;\n\n // e.g.: \"img/picture.jpg\"\n url = element.getAttribute('src') || '';\n this.originalUrl = url;\n\n // Stop when it's a blank image\n if (!url) {\n return;\n }\n\n // e.g.: \"https://example.com/img/picture.jpg\"\n url = element.src;\n } else if (tagName === 'canvas' && window.HTMLCanvasElement) {\n url = element.toDataURL();\n }\n this.load(url);\n }\n }, {\n key: \"load\",\n value: function load(url) {\n var _this = this;\n if (!url) {\n return;\n }\n this.url = url;\n this.imageData = {};\n var element = this.element,\n options = this.options;\n if (!options.rotatable && !options.scalable) {\n options.checkOrientation = false;\n }\n\n // Only IE10+ supports Typed Arrays\n if (!options.checkOrientation || !window.ArrayBuffer) {\n this.clone();\n return;\n }\n\n // Detect the mime type of the image directly if it is a Data URL\n if (REGEXP_DATA_URL.test(url)) {\n // Read ArrayBuffer from Data URL of JPEG images directly for better performance\n if (REGEXP_DATA_URL_JPEG.test(url)) {\n this.read(dataURLToArrayBuffer(url));\n } else {\n // Only a JPEG image may contains Exif Orientation information,\n // the rest types of Data URLs are not necessary to check orientation at all.\n this.clone();\n }\n return;\n }\n\n // 1. Detect the mime type of the image by a XMLHttpRequest.\n // 2. Load the image as ArrayBuffer for reading orientation if its a JPEG image.\n var xhr = new XMLHttpRequest();\n var clone = this.clone.bind(this);\n this.reloading = true;\n this.xhr = xhr;\n\n // 1. Cross origin requests are only supported for protocol schemes:\n // http, https, data, chrome, chrome-extension.\n // 2. Access to XMLHttpRequest from a Data URL will be blocked by CORS policy\n // in some browsers as IE11 and Safari.\n xhr.onabort = clone;\n xhr.onerror = clone;\n xhr.ontimeout = clone;\n xhr.onprogress = function () {\n // Abort the request directly if it not a JPEG image for better performance\n if (xhr.getResponseHeader('content-type') !== MIME_TYPE_JPEG) {\n xhr.abort();\n }\n };\n xhr.onload = function () {\n _this.read(xhr.response);\n };\n xhr.onloadend = function () {\n _this.reloading = false;\n _this.xhr = null;\n };\n\n // Bust cache when there is a \"crossOrigin\" property to avoid browser cache error\n if (options.checkCrossOrigin && isCrossOriginURL(url) && element.crossOrigin) {\n url = addTimestamp(url);\n }\n\n // The third parameter is required for avoiding side-effect (#682)\n xhr.open('GET', url, true);\n xhr.responseType = 'arraybuffer';\n xhr.withCredentials = element.crossOrigin === 'use-credentials';\n xhr.send();\n }\n }, {\n key: \"read\",\n value: function read(arrayBuffer) {\n var options = this.options,\n imageData = this.imageData;\n\n // Reset the orientation value to its default value 1\n // as some iOS browsers will render image with its orientation\n var orientation = resetAndGetOrientation(arrayBuffer);\n var rotate = 0;\n var scaleX = 1;\n var scaleY = 1;\n if (orientation > 1) {\n // Generate a new URL which has the default orientation value\n this.url = arrayBufferToDataURL(arrayBuffer, MIME_TYPE_JPEG);\n var _parseOrientation = parseOrientation(orientation);\n rotate = _parseOrientation.rotate;\n scaleX = _parseOrientation.scaleX;\n scaleY = _parseOrientation.scaleY;\n }\n if (options.rotatable) {\n imageData.rotate = rotate;\n }\n if (options.scalable) {\n imageData.scaleX = scaleX;\n imageData.scaleY = scaleY;\n }\n this.clone();\n }\n }, {\n key: \"clone\",\n value: function clone() {\n var element = this.element,\n url = this.url;\n var crossOrigin = element.crossOrigin;\n var crossOriginUrl = url;\n if (this.options.checkCrossOrigin && isCrossOriginURL(url)) {\n if (!crossOrigin) {\n crossOrigin = 'anonymous';\n }\n\n // Bust cache when there is not a \"crossOrigin\" property (#519)\n crossOriginUrl = addTimestamp(url);\n }\n this.crossOrigin = crossOrigin;\n this.crossOriginUrl = crossOriginUrl;\n var image = document.createElement('img');\n if (crossOrigin) {\n image.crossOrigin = crossOrigin;\n }\n image.src = crossOriginUrl || url;\n image.alt = element.alt || 'The image to crop';\n this.image = image;\n image.onload = this.start.bind(this);\n image.onerror = this.stop.bind(this);\n addClass(image, CLASS_HIDE);\n element.parentNode.insertBefore(image, element.nextSibling);\n }\n }, {\n key: \"start\",\n value: function start() {\n var _this2 = this;\n var image = this.image;\n image.onload = null;\n image.onerror = null;\n this.sizing = true;\n\n // Match all browsers that use WebKit as the layout engine in iOS devices,\n // such as Safari for iOS, Chrome for iOS, and in-app browsers.\n var isIOSWebKit = WINDOW.navigator && /(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(WINDOW.navigator.userAgent);\n var done = function done(naturalWidth, naturalHeight) {\n assign(_this2.imageData, {\n naturalWidth: naturalWidth,\n naturalHeight: naturalHeight,\n aspectRatio: naturalWidth / naturalHeight\n });\n _this2.initialImageData = assign({}, _this2.imageData);\n _this2.sizing = false;\n _this2.sized = true;\n _this2.build();\n };\n\n // Most modern browsers (excepts iOS WebKit)\n if (image.naturalWidth && !isIOSWebKit) {\n done(image.naturalWidth, image.naturalHeight);\n return;\n }\n var sizingImage = document.createElement('img');\n var body = document.body || document.documentElement;\n this.sizingImage = sizingImage;\n sizingImage.onload = function () {\n done(sizingImage.width, sizingImage.height);\n if (!isIOSWebKit) {\n body.removeChild(sizingImage);\n }\n };\n sizingImage.src = image.src;\n\n // iOS WebKit will convert the image automatically\n // with its orientation once append it into DOM (#279)\n if (!isIOSWebKit) {\n sizingImage.style.cssText = 'left:0;' + 'max-height:none!important;' + 'max-width:none!important;' + 'min-height:0!important;' + 'min-width:0!important;' + 'opacity:0;' + 'position:absolute;' + 'top:0;' + 'z-index:-1;';\n body.appendChild(sizingImage);\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var image = this.image;\n image.onload = null;\n image.onerror = null;\n image.parentNode.removeChild(image);\n this.image = null;\n }\n }, {\n key: \"build\",\n value: function build() {\n if (!this.sized || this.ready) {\n return;\n }\n var element = this.element,\n options = this.options,\n image = this.image;\n\n // Create cropper elements\n var container = element.parentNode;\n var template = document.createElement('div');\n template.innerHTML = TEMPLATE;\n var cropper = template.querySelector(\".\".concat(NAMESPACE, \"-container\"));\n var canvas = cropper.querySelector(\".\".concat(NAMESPACE, \"-canvas\"));\n var dragBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-drag-box\"));\n var cropBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-crop-box\"));\n var face = cropBox.querySelector(\".\".concat(NAMESPACE, \"-face\"));\n this.container = container;\n this.cropper = cropper;\n this.canvas = canvas;\n this.dragBox = dragBox;\n this.cropBox = cropBox;\n this.viewBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-view-box\"));\n this.face = face;\n canvas.appendChild(image);\n\n // Hide the original image\n addClass(element, CLASS_HIDDEN);\n\n // Inserts the cropper after to the current image\n container.insertBefore(cropper, element.nextSibling);\n\n // Show the hidden image\n removeClass(image, CLASS_HIDE);\n this.initPreview();\n this.bind();\n options.initialAspectRatio = Math.max(0, options.initialAspectRatio) || NaN;\n options.aspectRatio = Math.max(0, options.aspectRatio) || NaN;\n options.viewMode = Math.max(0, Math.min(3, Math.round(options.viewMode))) || 0;\n addClass(cropBox, CLASS_HIDDEN);\n if (!options.guides) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-dashed\")), CLASS_HIDDEN);\n }\n if (!options.center) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-center\")), CLASS_HIDDEN);\n }\n if (options.background) {\n addClass(cropper, \"\".concat(NAMESPACE, \"-bg\"));\n }\n if (!options.highlight) {\n addClass(face, CLASS_INVISIBLE);\n }\n if (options.cropBoxMovable) {\n addClass(face, CLASS_MOVE);\n setData(face, DATA_ACTION, ACTION_ALL);\n }\n if (!options.cropBoxResizable) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-line\")), CLASS_HIDDEN);\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-point\")), CLASS_HIDDEN);\n }\n this.render();\n this.ready = true;\n this.setDragMode(options.dragMode);\n if (options.autoCrop) {\n this.crop();\n }\n this.setData(options.data);\n if (isFunction(options.ready)) {\n addListener(element, EVENT_READY, options.ready, {\n once: true\n });\n }\n dispatchEvent(element, EVENT_READY);\n }\n }, {\n key: \"unbuild\",\n value: function unbuild() {\n if (!this.ready) {\n return;\n }\n this.ready = false;\n this.unbind();\n this.resetPreview();\n var parentNode = this.cropper.parentNode;\n if (parentNode) {\n parentNode.removeChild(this.cropper);\n }\n removeClass(this.element, CLASS_HIDDEN);\n }\n }, {\n key: \"uncreate\",\n value: function uncreate() {\n if (this.ready) {\n this.unbuild();\n this.ready = false;\n this.cropped = false;\n } else if (this.sizing) {\n this.sizingImage.onload = null;\n this.sizing = false;\n this.sized = false;\n } else if (this.reloading) {\n this.xhr.onabort = null;\n this.xhr.abort();\n } else if (this.image) {\n this.stop();\n }\n }\n\n /**\n * Get the no conflict cropper class.\n * @returns {Cropper} The cropper class.\n */\n }], [{\n key: \"noConflict\",\n value: function noConflict() {\n window.Cropper = AnotherCropper;\n return Cropper;\n }\n\n /**\n * Change the default options.\n * @param {Object} options - The new default options.\n */\n }, {\n key: \"setDefaults\",\n value: function setDefaults(options) {\n assign(DEFAULTS, isPlainObject(options) && options);\n }\n }]);\n }();\n assign(Cropper.prototype, render, preview, events, handlers, change, methods);\n\n return Cropper;\n\n}));\n", "import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { ThemeProvider } from '@mui/material/styles';\nimport { Theme, Utils } from '@iobroker/adapter-react-v5';\n\nimport App from './app';\n\nlet themeName = Utils.getThemeName();\n\nfunction build(): void {\n ReactDOM.render(\n \n {\n themeName = _theme;\n build();\n }}\n themeName={themeName}\n />\n ,\n document.getElementById('root'),\n );\n}\n\nbuild();\n", "/**\n * WARNING: Don't import this directly. It's imported by the code generated by\n * `@mui/interal-babel-plugin-minify-errors`. Make sure to always use string literals in `Error`\n * constructors to ensure the plugin works as expected. Supported patterns include:\n * throw new Error('My message');\n * throw new Error(`My message: ${foo}`);\n * throw new Error(`My message: ${foo}` + 'another string');\n * ...\n * @param {number} code\n */\nexport default function formatMuiErrorMessage(code, ...args) {\n const url = new URL(`https://mui.com/production-error/?code=${code}`);\n args.forEach(arg => url.searchParams.append('args[]', arg));\n return `Minified MUI error #${code}; visit ${url} for the full message.`;\n}", "export default '$$material';", "function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };", "import _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\n/* import type {\n ElementType,\n StatelessFunctionalComponent,\n AbstractComponent\n} from 'react' */\n/*\nexport type Interpolations = Array\n\nexport type StyledElementType =\n | string\n | AbstractComponent<{ ...Props, className: string }, mixed>\n\nexport type StyledOptions = {\n label?: string,\n shouldForwardProp?: string => boolean,\n target?: string\n}\n\nexport type StyledComponent = StatelessFunctionalComponent & {\n defaultProps: any,\n toString: () => string,\n withComponent: (\n nextTag: StyledElementType,\n nextOptions?: StyledOptions\n ) => StyledComponent\n}\n\nexport type PrivateStyledComponent = StyledComponent & {\n __emotion_real: StyledComponent,\n __emotion_base: any,\n __emotion_styles: any,\n __emotion_forwardProp: any\n}\n*/\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key\n/*: string */\n) {\n return key !== 'theme';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag\n/*: ElementType */\n) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\nvar composeShouldForwardProps = function composeShouldForwardProps(tag\n/*: PrivateStyledComponent */\n, options\n/*: StyledOptions | void */\n, isReal\n/*: boolean */\n) {\n var shouldForwardProp;\n\n if (options) {\n var optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName\n /*: string */\n ) {\n return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);\n } : optionsShouldForwardProp;\n }\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n return shouldForwardProp;\n};\n/*\nexport type CreateStyledComponent = (\n ...args: Interpolations\n) => StyledComponent\n\nexport type CreateStyled = {\n (\n tag: StyledElementType,\n options?: StyledOptions\n ): (...args: Interpolations) => StyledComponent,\n [key: string]: CreateStyledComponent,\n bind: () => CreateStyled\n}\n*/\n\nvar isDevelopment = false;\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar createStyled\n/*: CreateStyled */\n= function createStyled\n/*: CreateStyled */\n(tag\n/*: any */\n, options\n/* ?: StyledOptions */\n) {\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n var identifierName;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n\n var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n /* return function(): PrivateStyledComponent { */\n\n return function () {\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n styles.push.apply(styles, args);\n } else {\n\n styles.push(args[0][0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n\n styles.push(args[i], args[0][i]);\n }\n }\n\n var Styled\n /*: PrivateStyledComponent */\n = withEmotionCache(function (props, cache, ref) {\n var FinalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = React.useContext(ThemeContext);\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);\n className += cache.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if (finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof FinalTag === 'string'\n }), /*#__PURE__*/React.createElement(FinalTag, newProps));\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && isDevelopment) {\n return 'NO_COMPONENT_SELECTOR';\n }\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag\n /*: StyledElementType */\n , nextOptions\n /* ?: StyledOptions */\n ) {\n return createStyled(nextTag, _extends({}, options, nextOptions, {\n shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n })).apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport { createStyled as default };\n", "function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n", "import memoize from '@emotion/memoize';\n\n// eslint-disable-next-line no-undef\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n", "import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isDevelopment = false;\n\n/* import { type EmotionCache } from '@emotion/utils' */\nvar EmotionCacheContext\n/*: React.Context */\n= /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache()\n/*: EmotionCache | null*/\n{\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache\n/* > */\n(func\n/*: (props: Props, cache: EmotionCache, ref: Ref) => React.Node */\n)\n/*: React.AbstractComponent */\n{\n return /*#__PURE__*/forwardRef(function (props\n /*: Props */\n , ref\n /*: Ref */\n ) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme\n/*: Object */\n, theme\n/*: Object | (Object => Object) */\n) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n return mergedTheme;\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\n/*\ntype ThemeProviderProps = {\n theme: Object | (Object => Object),\n children: React.Node\n}\n*/\n\nvar ThemeProvider = function ThemeProvider(props\n/*: ThemeProviderProps */\n) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme\n/* */\n(Component\n/*: React.AbstractComponent */\n)\n/*: React.AbstractComponent<$Diff> */\n{\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n };\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar hasOwn = {}.hasOwnProperty;\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type\n/*: React.ElementType */\n, props\n/*: Object */\n) {\n\n var newProps\n /*: any */\n = {};\n\n for (var key in props) {\n if (hasOwn.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // Runtime labeling is an opt-in feature because:\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(\n/* */\nfunction (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwn.call(props, key) && key !== 'css' && key !== typePropName && (!isDevelopment )) {\n newProps[key] = props[key];\n }\n }\n\n newProps.className = className;\n\n if (ref) {\n newProps.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwn as h, isDevelopment as i, useTheme as u, withEmotionCache as w };\n", "var isDevelopment = false;\n\n/*\n\nBased off glamor's StyleSheet, thanks Sunil \u2764\uFE0F\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n return document.styleSheets[i];\n }\n } // this function should always return with a value\n // TS can't understand it though so we make it stop complaining here\n\n\n return undefined;\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? !isDevelopment : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n this.tags.forEach(function (tag) {\n var _tag$parentNode;\n\n return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n", "export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n", "/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n", "import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n", "import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n", "import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n", "import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n", "import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function\n /*: EmotionCache */\ncreateCache(options\n/*: Options */\n) {\n var key = options.key;\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node\n /*: HTMLStyleElement */\n ) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n var inserted = {};\n var container;\n /* : Node */\n\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node\n /*: HTMLStyleElement */\n ) {\n var attrib = node.getAttribute(\"data-emotion\").split(' ');\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n /*: (\n selector: string,\n serialized: SerializedStyles,\n sheet: StyleSheet,\n shouldCache: boolean\n ) => string | void */\n\n\n var omnipresentPlugins = [compat, removeLabel];\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function\n /*: void */\n insert(selector\n /*: string */\n , serialized\n /*: SerializedStyles */\n , sheet\n /*: StyleSheet */\n , shouldCache\n /*: boolean */\n ) {\n currentSheet = sheet;\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache\n /*: EmotionCache */\n = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n", "var isBrowser = true;\n\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else if (className) {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n", "/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n", "var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n scale: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n", "function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n", "import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar isDevelopment = false;\n\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n var componentSelector = interpolation;\n\n if (componentSelector.__emotion_styles !== undefined) {\n\n return componentSelector;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n var keyframes = interpolation;\n\n if (keyframes.anim === 1) {\n cursor = {\n name: keyframes.name,\n styles: keyframes.styles,\n next: cursor\n };\n return keyframes.name;\n }\n\n var serializedStyles = interpolation;\n\n if (serializedStyles.styles !== undefined) {\n var next = serializedStyles.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = serializedStyles.styles + \";\";\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n }\n\n break;\n }\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n var asString = interpolation;\n\n if (registered == null) {\n return asString;\n }\n\n var cached = registered[asString];\n return cached !== undefined ? cached : asString;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var key in obj) {\n var value = obj[key];\n\n if (typeof value !== 'object') {\n var asString = value;\n\n if (registered != null && registered[asString] !== undefined) {\n string += key + \"{\" + registered[asString] + \"}\";\n } else if (isProcessableValue(asString)) {\n string += processStyleName(key) + \":\" + processStyleValue(key, asString) + \";\";\n }\n } else {\n if (key === 'NO_COMPONENT_SELECTOR' && isDevelopment) {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(key) + \":\" + processStyleValue(key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n\n string += key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;{]+)\\s*(;|$)/g; // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\nvar cursor;\nfunction serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n var asTemplateStringsArr = strings;\n\n styles += asTemplateStringsArr[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n var templateStringsArr = strings;\n\n styles += templateStringsArr[i];\n }\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n}\n\nexport { serializeStyles };\n", "import * as React from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n", "import { h as hasOwn, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isDevelopment } from './emotion-element-5486c51c.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-5486c51c.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar jsx\n/*: typeof React.createElement */\n= function jsx\n/*: typeof React.createElement */\n(type\n/*: React.ElementType */\n, props\n/*: Object */\n) {\n var args = arguments;\n\n if (props == null || !hasOwn.call(props, 'css')) {\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n }\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global\n/*: React.AbstractComponent<\nGlobalProps\n> */\n= /* #__PURE__ */withEmotionCache(function (props\n/*: GlobalProps */\n, cache) {\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false;\n var node\n /*: HTMLStyleElement | null*/\n = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\n/* import type { Interpolation, SerializedStyles } from '@emotion/utils' */\n\nfunction css()\n/*: SerializedStyles */\n{\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\n/*\ntype Keyframes = {|\n name: string,\n styles: string,\n anim: 1,\n toString: () => string\n|} & string\n*/\n\nvar keyframes = function\n /*: Keyframes */\nkeyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name;\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\n/*\ntype ClassNameArg =\n | string\n | boolean\n | { [key: string]: boolean }\n | Array\n | null\n | void\n*/\n\nvar classnames = function\n /*: string */\nclassnames(args\n/*: Array */\n) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered\n/*: Object */\n, css\n/*: (...args: Array) => string */\n, className\n/*: string */\n) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n/*\ntype Props = {\n children: ({\n css: (...args: any) => string,\n cx: (...args: Array) => string,\n theme: Object\n }) => React.Node\n} */\n\n\nvar ClassNames\n/*: React.AbstractComponent*/\n= /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && isDevelopment) {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && isDevelopment) {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n", "import createStyled from '../base/dist/emotion-styled-base.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport 'react';\nimport '@emotion/is-prop-valid';\nimport '@emotion/react';\nimport '@emotion/utils';\nimport '@emotion/serialize';\nimport '@emotion/use-insertion-effect-with-fallbacks';\n\nvar tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nvar newStyled = createStyled.bind();\ntags.forEach(function (tagName) {\n newStyled[tagName] = newStyled(tagName);\n});\n\nexport { newStyled as default };\n", "'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Global } from '@emotion/react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction isEmpty(obj) {\n return obj === undefined || obj === null || Object.keys(obj).length === 0;\n}\nexport default function GlobalStyles(props) {\n const {\n styles,\n defaultTheme = {}\n } = props;\n const globalStyles = typeof styles === 'function' ? themeInput => styles(isEmpty(themeInput) ? defaultTheme : themeInput) : styles;\n return /*#__PURE__*/_jsx(Global, {\n styles: globalStyles\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? GlobalStyles.propTypes = {\n defaultTheme: PropTypes.object,\n styles: PropTypes.oneOfType([PropTypes.array, PropTypes.string, PropTypes.object, PropTypes.func])\n} : void 0;", "/**\n * @mui/styled-engine v6.1.9\n *\n * @license MIT\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/* eslint-disable no-underscore-dangle */\nimport emStyled from '@emotion/styled';\nimport { serializeStyles as emSerializeStyles } from '@emotion/serialize';\nexport default function styled(tag, options) {\n const stylesFactory = emStyled(tag, options);\n if (process.env.NODE_ENV !== 'production') {\n return (...styles) => {\n const component = typeof tag === 'string' ? `\"${tag}\"` : 'component';\n if (styles.length === 0) {\n console.error([`MUI: Seems like you called \\`styled(${component})()\\` without a \\`style\\` argument.`, 'You must provide a `styles` argument: `styled(\"div\")(styleYouForgotToPass)`.'].join('\\n'));\n } else if (styles.some(style => style === undefined)) {\n console.error(`MUI: the styled(${component})(...args) API requires all its args to be defined.`);\n }\n return stylesFactory(...styles);\n };\n }\n return stylesFactory;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function internal_mutateStyles(tag, processor) {\n // Emotion attaches all the styles as `__emotion_styles`.\n // Ref: https://github.com/emotion-js/emotion/blob/16d971d0da229596d6bcc39d282ba9753c9ee7cf/packages/styled/src/base.js#L186\n if (Array.isArray(tag.__emotion_styles)) {\n tag.__emotion_styles = processor(tag.__emotion_styles);\n }\n}\n\n// Emotion only accepts an array, but we want to avoid allocations\nconst wrapper = [];\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function internal_serializeStyles(styles) {\n wrapper[0] = styles;\n return emSerializeStyles(wrapper);\n}\nexport { ThemeContext, keyframes, css } from '@emotion/react';\nexport { default as StyledEngineProvider } from \"./StyledEngineProvider/index.js\";\nexport { default as GlobalStyles } from \"./GlobalStyles/index.js\";", "'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { GlobalStyles as MuiGlobalStyles } from '@mui/styled-engine';\nimport useTheme from \"../useTheme/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction GlobalStyles({\n styles,\n themeId,\n defaultTheme = {}\n}) {\n const upperTheme = useTheme(defaultTheme);\n const globalStyles = typeof styles === 'function' ? styles(themeId ? upperTheme[themeId] || upperTheme : upperTheme) : styles;\n return /*#__PURE__*/_jsx(MuiGlobalStyles, {\n styles: globalStyles\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? GlobalStyles.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the TypeScript types and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * @ignore\n */\n defaultTheme: PropTypes.object,\n /**\n * @ignore\n */\n styles: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.array, PropTypes.func, PropTypes.number, PropTypes.object, PropTypes.string, PropTypes.bool]),\n /**\n * @ignore\n */\n themeId: PropTypes.string\n} : void 0;\nexport default GlobalStyles;", "import * as React from 'react';\n\n// https://github.com/sindresorhus/is-plain-obj/blob/main/index.js\nexport function isPlainObject(item) {\n if (typeof item !== 'object' || item === null) {\n return false;\n }\n const prototype = Object.getPrototypeOf(item);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in item) && !(Symbol.iterator in item);\n}\nfunction deepClone(source) {\n if (/*#__PURE__*/React.isValidElement(source) || !isPlainObject(source)) {\n return source;\n }\n const output = {};\n Object.keys(source).forEach(key => {\n output[key] = deepClone(source[key]);\n });\n return output;\n}\nexport default function deepmerge(target, source, options = {\n clone: true\n}) {\n const output = options.clone ? {\n ...target\n } : target;\n if (isPlainObject(target) && isPlainObject(source)) {\n Object.keys(source).forEach(key => {\n if (/*#__PURE__*/React.isValidElement(source[key])) {\n output[key] = source[key];\n } else if (isPlainObject(source[key]) &&\n // Avoid prototype pollution\n Object.prototype.hasOwnProperty.call(target, key) && isPlainObject(target[key])) {\n // Since `output` is a clone of `target` and we have narrowed `target` in this block we can cast to the same type.\n output[key] = deepmerge(target[key], source[key], options);\n } else if (options.clone) {\n output[key] = isPlainObject(source[key]) ? deepClone(source[key]) : source[key];\n } else {\n output[key] = source[key];\n }\n });\n }\n return output;\n}", "// Sorted ASC by size. That's important.\n// It can't be configured as it's used statically for propTypes.\nexport const breakpointKeys = ['xs', 'sm', 'md', 'lg', 'xl'];\nconst sortBreakpointsValues = values => {\n const breakpointsAsArray = Object.keys(values).map(key => ({\n key,\n val: values[key]\n })) || [];\n // Sort in ascending order\n breakpointsAsArray.sort((breakpoint1, breakpoint2) => breakpoint1.val - breakpoint2.val);\n return breakpointsAsArray.reduce((acc, obj) => {\n return {\n ...acc,\n [obj.key]: obj.val\n };\n }, {});\n};\n\n// Keep in mind that @media is inclusive by the CSS specification.\nexport default function createBreakpoints(breakpoints) {\n const {\n // The breakpoint **start** at this value.\n // For instance with the first breakpoint xs: [xs, sm).\n values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n },\n unit = 'px',\n step = 5,\n ...other\n } = breakpoints;\n const sortedValues = sortBreakpointsValues(values);\n const keys = Object.keys(sortedValues);\n function up(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (min-width:${value}${unit})`;\n }\n function down(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (max-width:${value - step / 100}${unit})`;\n }\n function between(start, end) {\n const endIndex = keys.indexOf(end);\n return `@media (min-width:${typeof values[start] === 'number' ? values[start] : start}${unit}) and ` + `(max-width:${(endIndex !== -1 && typeof values[keys[endIndex]] === 'number' ? values[keys[endIndex]] : end) - step / 100}${unit})`;\n }\n function only(key) {\n if (keys.indexOf(key) + 1 < keys.length) {\n return between(key, keys[keys.indexOf(key) + 1]);\n }\n return up(key);\n }\n function not(key) {\n // handle first and last key separately, for better readability\n const keyIndex = keys.indexOf(key);\n if (keyIndex === 0) {\n return up(keys[1]);\n }\n if (keyIndex === keys.length - 1) {\n return down(keys[keyIndex]);\n }\n return between(key, keys[keys.indexOf(key) + 1]).replace('@media', '@media not all and');\n }\n return {\n keys,\n values: sortedValues,\n up,\n down,\n between,\n only,\n not,\n unit,\n ...other\n };\n}", "import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n/**\n * For using in `sx` prop to sort the breakpoint from low to high.\n * Note: this function does not work and will not support multiple units.\n * e.g. input: { '@container (min-width:300px)': '1rem', '@container (min-width:40rem)': '2rem' }\n * output: { '@container (min-width:40rem)': '2rem', '@container (min-width:300px)': '1rem' } // since 40 < 300 eventhough 40rem > 300px\n */\nexport function sortContainerQueries(theme, css) {\n if (!theme.containerQueries) {\n return css;\n }\n const sorted = Object.keys(css).filter(key => key.startsWith('@container')).sort((a, b) => {\n const regex = /min-width:\\s*([0-9.]+)/;\n return +(a.match(regex)?.[1] || 0) - +(b.match(regex)?.[1] || 0);\n });\n if (!sorted.length) {\n return css;\n }\n return sorted.reduce((acc, key) => {\n const value = css[key];\n delete acc[key];\n acc[key] = value;\n return acc;\n }, {\n ...css\n });\n}\nexport function isCqShorthand(breakpointKeys, value) {\n return value === '@' || value.startsWith('@') && (breakpointKeys.some(key => value.startsWith(`@${key}`)) || !!value.match(/^@\\d/));\n}\nexport function getContainerQuery(theme, shorthand) {\n const matches = shorthand.match(/^@([^/]+)?\\/?(.+)?$/);\n if (!matches) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The provided shorthand ${`(${shorthand})`} is invalid. The format should be \\`@\\` or \\`@/\\`.\\n` + 'For example, `@sm` or `@600` or `@40rem/sidebar`.' : _formatMuiErrorMessage(18, `(${shorthand})`));\n }\n return null;\n }\n const [, containerQuery, containerName] = matches;\n const value = Number.isNaN(+containerQuery) ? containerQuery || 0 : +containerQuery;\n return theme.containerQueries(containerName).up(value);\n}\nexport default function cssContainerQueries(themeInput) {\n const toContainerQuery = (mediaQuery, name) => mediaQuery.replace('@media', name ? `@container ${name}` : '@container');\n function attachCq(node, name) {\n node.up = (...args) => toContainerQuery(themeInput.breakpoints.up(...args), name);\n node.down = (...args) => toContainerQuery(themeInput.breakpoints.down(...args), name);\n node.between = (...args) => toContainerQuery(themeInput.breakpoints.between(...args), name);\n node.only = (...args) => toContainerQuery(themeInput.breakpoints.only(...args), name);\n node.not = (...args) => {\n const result = toContainerQuery(themeInput.breakpoints.not(...args), name);\n if (result.includes('not all and')) {\n // `@container` does not work with `not all and`, so need to invert the logic\n return result.replace('not all and ', '').replace('min-width:', 'width<').replace('max-width:', 'width>').replace('and', 'or');\n }\n return result;\n };\n }\n const node = {};\n const containerQueries = name => {\n attachCq(node, name);\n return node;\n };\n attachCq(containerQueries);\n return {\n ...themeInput,\n containerQueries\n };\n}", "const shape = {\n borderRadius: 4\n};\nexport default shape;", "import deepmerge from '@mui/utils/deepmerge';\nfunction merge(acc, item) {\n if (!item) {\n return acc;\n }\n return deepmerge(acc, item, {\n clone: false // No need to clone deep, it's way faster.\n });\n}\nexport default merge;", "import PropTypes from 'prop-types';\nimport deepmerge from '@mui/utils/deepmerge';\nimport merge from \"../merge/index.js\";\nimport { isCqShorthand, getContainerQuery } from \"../cssContainerQueries/index.js\";\n\n// The breakpoint **start** at this value.\n// For instance with the first breakpoint xs: [xs, sm[.\nexport const values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n};\nconst defaultBreakpoints = {\n // Sorted ASC by size. That's important.\n // It can't be configured as it's used statically for propTypes.\n keys: ['xs', 'sm', 'md', 'lg', 'xl'],\n up: key => `@media (min-width:${values[key]}px)`\n};\nconst defaultContainerQueries = {\n containerQueries: containerName => ({\n up: key => {\n let result = typeof key === 'number' ? key : values[key] || key;\n if (typeof result === 'number') {\n result = `${result}px`;\n }\n return containerName ? `@container ${containerName} (min-width:${result})` : `@container (min-width:${result})`;\n }\n })\n};\nexport function handleBreakpoints(props, propValue, styleFromPropValue) {\n const theme = props.theme || {};\n if (Array.isArray(propValue)) {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return propValue.reduce((acc, item, index) => {\n acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]);\n return acc;\n }, {});\n }\n if (typeof propValue === 'object') {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return Object.keys(propValue).reduce((acc, breakpoint) => {\n if (isCqShorthand(themeBreakpoints.keys, breakpoint)) {\n const containerKey = getContainerQuery(theme.containerQueries ? theme : defaultContainerQueries, breakpoint);\n if (containerKey) {\n acc[containerKey] = styleFromPropValue(propValue[breakpoint], breakpoint);\n }\n }\n // key is breakpoint\n else if (Object.keys(themeBreakpoints.values || values).includes(breakpoint)) {\n const mediaKey = themeBreakpoints.up(breakpoint);\n acc[mediaKey] = styleFromPropValue(propValue[breakpoint], breakpoint);\n } else {\n const cssKey = breakpoint;\n acc[cssKey] = propValue[cssKey];\n }\n return acc;\n }, {});\n }\n const output = styleFromPropValue(propValue);\n return output;\n}\nfunction breakpoints(styleFunction) {\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const newStyleFunction = props => {\n const theme = props.theme || {};\n const base = styleFunction(props);\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n const extended = themeBreakpoints.keys.reduce((acc, key) => {\n if (props[key]) {\n acc = acc || {};\n acc[themeBreakpoints.up(key)] = styleFunction({\n theme,\n ...props[key]\n });\n }\n return acc;\n }, null);\n return merge(base, extended);\n };\n newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? {\n ...styleFunction.propTypes,\n xs: PropTypes.object,\n sm: PropTypes.object,\n md: PropTypes.object,\n lg: PropTypes.object,\n xl: PropTypes.object\n } : {};\n newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl', ...styleFunction.filterProps];\n return newStyleFunction;\n}\nexport function createEmptyBreakpointObject(breakpointsInput = {}) {\n const breakpointsInOrder = breakpointsInput.keys?.reduce((acc, key) => {\n const breakpointStyleKey = breakpointsInput.up(key);\n acc[breakpointStyleKey] = {};\n return acc;\n }, {});\n return breakpointsInOrder || {};\n}\nexport function removeUnusedBreakpoints(breakpointKeys, style) {\n return breakpointKeys.reduce((acc, key) => {\n const breakpointOutput = acc[key];\n const isBreakpointUnused = !breakpointOutput || Object.keys(breakpointOutput).length === 0;\n if (isBreakpointUnused) {\n delete acc[key];\n }\n return acc;\n }, style);\n}\nexport function mergeBreakpointsInOrder(breakpointsInput, ...styles) {\n const emptyBreakpoints = createEmptyBreakpointObject(breakpointsInput);\n const mergedOutput = [emptyBreakpoints, ...styles].reduce((prev, next) => deepmerge(prev, next), {});\n return removeUnusedBreakpoints(Object.keys(emptyBreakpoints), mergedOutput);\n}\n\n// compute base for responsive values; e.g.,\n// [1,2,3] => {xs: true, sm: true, md: true}\n// {xs: 1, sm: 2, md: 3} => {xs: true, sm: true, md: true}\nexport function computeBreakpointsBase(breakpointValues, themeBreakpoints) {\n // fixed value\n if (typeof breakpointValues !== 'object') {\n return {};\n }\n const base = {};\n const breakpointsKeys = Object.keys(themeBreakpoints);\n if (Array.isArray(breakpointValues)) {\n breakpointsKeys.forEach((breakpoint, i) => {\n if (i < breakpointValues.length) {\n base[breakpoint] = true;\n }\n });\n } else {\n breakpointsKeys.forEach(breakpoint => {\n if (breakpointValues[breakpoint] != null) {\n base[breakpoint] = true;\n }\n });\n }\n return base;\n}\nexport function resolveBreakpointValues({\n values: breakpointValues,\n breakpoints: themeBreakpoints,\n base: customBase\n}) {\n const base = customBase || computeBreakpointsBase(breakpointValues, themeBreakpoints);\n const keys = Object.keys(base);\n if (keys.length === 0) {\n return breakpointValues;\n }\n let previous;\n return keys.reduce((acc, breakpoint, i) => {\n if (Array.isArray(breakpointValues)) {\n acc[breakpoint] = breakpointValues[i] != null ? breakpointValues[i] : breakpointValues[previous];\n previous = i;\n } else if (typeof breakpointValues === 'object') {\n acc[breakpoint] = breakpointValues[breakpoint] != null ? breakpointValues[breakpoint] : breakpointValues[previous];\n previous = breakpoint;\n } else {\n acc[breakpoint] = breakpointValues;\n }\n return acc;\n }, {});\n}\nexport default breakpoints;", "import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n// It should to be noted that this function isn't equivalent to `text-transform: capitalize`.\n//\n// A strict capitalization should uppercase the first letter of each word in the sentence.\n// We only handle the first word.\nexport default function capitalize(string) {\n if (typeof string !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'MUI: `capitalize(string)` expects a string argument.' : _formatMuiErrorMessage(7));\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n}", "import capitalize from '@mui/utils/capitalize';\nimport responsivePropType from \"../responsivePropType/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nexport function getPath(obj, path, checkVars = true) {\n if (!path || typeof path !== 'string') {\n return null;\n }\n\n // Check if CSS variables are used\n if (obj && obj.vars && checkVars) {\n const val = `vars.${path}`.split('.').reduce((acc, item) => acc && acc[item] ? acc[item] : null, obj);\n if (val != null) {\n return val;\n }\n }\n return path.split('.').reduce((acc, item) => {\n if (acc && acc[item] != null) {\n return acc[item];\n }\n return null;\n }, obj);\n}\nexport function getStyleValue(themeMapping, transform, propValueFinal, userValue = propValueFinal) {\n let value;\n if (typeof themeMapping === 'function') {\n value = themeMapping(propValueFinal);\n } else if (Array.isArray(themeMapping)) {\n value = themeMapping[propValueFinal] || userValue;\n } else {\n value = getPath(themeMapping, propValueFinal) || userValue;\n }\n if (transform) {\n value = transform(value, userValue, themeMapping);\n }\n return value;\n}\nfunction style(options) {\n const {\n prop,\n cssProperty = options.prop,\n themeKey,\n transform\n } = options;\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n if (props[prop] == null) {\n return null;\n }\n const propValue = props[prop];\n const theme = props.theme;\n const themeMapping = getPath(theme, themeKey) || {};\n const styleFromPropValue = propValueFinal => {\n let value = getStyleValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getStyleValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, propValue, styleFromPropValue);\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? {\n [prop]: responsivePropType\n } : {};\n fn.filterProps = [prop];\n return fn;\n}\nexport default style;", "export default function memoize(fn) {\n const cache = {};\n return arg => {\n if (cache[arg] === undefined) {\n cache[arg] = fn(arg);\n }\n return cache[arg];\n };\n}", "import responsivePropType from \"../responsivePropType/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nimport { getPath } from \"../style/index.js\";\nimport merge from \"../merge/index.js\";\nimport memoize from \"../memoize/index.js\";\nconst properties = {\n m: 'margin',\n p: 'padding'\n};\nconst directions = {\n t: 'Top',\n r: 'Right',\n b: 'Bottom',\n l: 'Left',\n x: ['Left', 'Right'],\n y: ['Top', 'Bottom']\n};\nconst aliases = {\n marginX: 'mx',\n marginY: 'my',\n paddingX: 'px',\n paddingY: 'py'\n};\n\n// memoize() impact:\n// From 300,000 ops/sec\n// To 350,000 ops/sec\nconst getCssProperties = memoize(prop => {\n // It's not a shorthand notation.\n if (prop.length > 2) {\n if (aliases[prop]) {\n prop = aliases[prop];\n } else {\n return [prop];\n }\n }\n const [a, b] = prop.split('');\n const property = properties[a];\n const direction = directions[b] || '';\n return Array.isArray(direction) ? direction.map(dir => property + dir) : [property + direction];\n});\nexport const marginKeys = ['m', 'mt', 'mr', 'mb', 'ml', 'mx', 'my', 'margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'marginX', 'marginY', 'marginInline', 'marginInlineStart', 'marginInlineEnd', 'marginBlock', 'marginBlockStart', 'marginBlockEnd'];\nexport const paddingKeys = ['p', 'pt', 'pr', 'pb', 'pl', 'px', 'py', 'padding', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'paddingX', 'paddingY', 'paddingInline', 'paddingInlineStart', 'paddingInlineEnd', 'paddingBlock', 'paddingBlockStart', 'paddingBlockEnd'];\nconst spacingKeys = [...marginKeys, ...paddingKeys];\nexport function createUnaryUnit(theme, themeKey, defaultValue, propName) {\n const themeSpacing = getPath(theme, themeKey, true) ?? defaultValue;\n if (typeof themeSpacing === 'number' || typeof themeSpacing === 'string') {\n return val => {\n if (typeof val === 'string') {\n return val;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (typeof val !== 'number') {\n console.error(`MUI: Expected ${propName} argument to be a number or a string, got ${val}.`);\n }\n }\n if (typeof themeSpacing === 'string') {\n return `calc(${val} * ${themeSpacing})`;\n }\n return themeSpacing * val;\n };\n }\n if (Array.isArray(themeSpacing)) {\n return val => {\n if (typeof val === 'string') {\n return val;\n }\n const abs = Math.abs(val);\n if (process.env.NODE_ENV !== 'production') {\n if (!Number.isInteger(abs)) {\n console.error([`MUI: The \\`theme.${themeKey}\\` array type cannot be combined with non integer values.` + `You should either use an integer value that can be used as index, or define the \\`theme.${themeKey}\\` as a number.`].join('\\n'));\n } else if (abs > themeSpacing.length - 1) {\n console.error([`MUI: The value provided (${abs}) overflows.`, `The supported values are: ${JSON.stringify(themeSpacing)}.`, `${abs} > ${themeSpacing.length - 1}, you need to add the missing values.`].join('\\n'));\n }\n }\n const transformed = themeSpacing[abs];\n if (val >= 0) {\n return transformed;\n }\n if (typeof transformed === 'number') {\n return -transformed;\n }\n return `-${transformed}`;\n };\n }\n if (typeof themeSpacing === 'function') {\n return themeSpacing;\n }\n if (process.env.NODE_ENV !== 'production') {\n console.error([`MUI: The \\`theme.${themeKey}\\` value (${themeSpacing}) is invalid.`, 'It should be a number, an array or a function.'].join('\\n'));\n }\n return () => undefined;\n}\nexport function createUnarySpacing(theme) {\n return createUnaryUnit(theme, 'spacing', 8, 'spacing');\n}\nexport function getValue(transformer, propValue) {\n if (typeof propValue === 'string' || propValue == null) {\n return propValue;\n }\n return transformer(propValue);\n}\nexport function getStyleFromPropValue(cssProperties, transformer) {\n return propValue => cssProperties.reduce((acc, cssProperty) => {\n acc[cssProperty] = getValue(transformer, propValue);\n return acc;\n }, {});\n}\nfunction resolveCssProperty(props, keys, prop, transformer) {\n // Using a hash computation over an array iteration could be faster, but with only 28 items,\n // it's doesn't worth the bundle size.\n if (!keys.includes(prop)) {\n return null;\n }\n const cssProperties = getCssProperties(prop);\n const styleFromPropValue = getStyleFromPropValue(cssProperties, transformer);\n const propValue = props[prop];\n return handleBreakpoints(props, propValue, styleFromPropValue);\n}\nfunction style(props, keys) {\n const transformer = createUnarySpacing(props.theme);\n return Object.keys(props).map(prop => resolveCssProperty(props, keys, prop, transformer)).reduce(merge, {});\n}\nexport function margin(props) {\n return style(props, marginKeys);\n}\nmargin.propTypes = process.env.NODE_ENV !== 'production' ? marginKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nmargin.filterProps = marginKeys;\nexport function padding(props) {\n return style(props, paddingKeys);\n}\npadding.propTypes = process.env.NODE_ENV !== 'production' ? paddingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\npadding.filterProps = paddingKeys;\nfunction spacing(props) {\n return style(props, spacingKeys);\n}\nspacing.propTypes = process.env.NODE_ENV !== 'production' ? spacingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nspacing.filterProps = spacingKeys;\nexport default spacing;", "import { createUnarySpacing } from \"../spacing/index.js\";\n\n// The different signatures imply different meaning for their arguments that can't be expressed structurally.\n// We express the difference with variable names.\n\nexport default function createSpacing(spacingInput = 8,\n// Material Design layouts are visually balanced. Most measurements align to an 8dp grid, which aligns both spacing and the overall layout.\n// Smaller components, such as icons, can align to a 4dp grid.\n// https://m2.material.io/design/layout/understanding-layout.html\ntransform = createUnarySpacing({\n spacing: spacingInput\n})) {\n // Already transformed.\n if (spacingInput.mui) {\n return spacingInput;\n }\n const spacing = (...argsInput) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!(argsInput.length <= 4)) {\n console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${argsInput.length}`);\n }\n }\n const args = argsInput.length === 0 ? [1] : argsInput;\n return args.map(argument => {\n const output = transform(argument);\n return typeof output === 'number' ? `${output}px` : output;\n }).join(' ');\n };\n spacing.mui = true;\n return spacing;\n}", "import merge from \"../merge/index.js\";\nfunction compose(...styles) {\n const handlers = styles.reduce((acc, style) => {\n style.filterProps.forEach(prop => {\n acc[prop] = style;\n });\n return acc;\n }, {});\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n return Object.keys(props).reduce((acc, prop) => {\n if (handlers[prop]) {\n return merge(acc, handlers[prop](props));\n }\n return acc;\n }, {});\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? styles.reduce((acc, style) => Object.assign(acc, style.propTypes), {}) : {};\n fn.filterProps = styles.reduce((acc, style) => acc.concat(style.filterProps), []);\n return fn;\n}\nexport default compose;", "import responsivePropType from \"../responsivePropType/index.js\";\nimport style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nimport { createUnaryUnit, getValue } from \"../spacing/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nexport function borderTransform(value) {\n if (typeof value !== 'number') {\n return value;\n }\n return `${value}px solid`;\n}\nfunction createBorderStyle(prop, transform) {\n return style({\n prop,\n themeKey: 'borders',\n transform\n });\n}\nexport const border = createBorderStyle('border', borderTransform);\nexport const borderTop = createBorderStyle('borderTop', borderTransform);\nexport const borderRight = createBorderStyle('borderRight', borderTransform);\nexport const borderBottom = createBorderStyle('borderBottom', borderTransform);\nexport const borderLeft = createBorderStyle('borderLeft', borderTransform);\nexport const borderColor = createBorderStyle('borderColor');\nexport const borderTopColor = createBorderStyle('borderTopColor');\nexport const borderRightColor = createBorderStyle('borderRightColor');\nexport const borderBottomColor = createBorderStyle('borderBottomColor');\nexport const borderLeftColor = createBorderStyle('borderLeftColor');\nexport const outline = createBorderStyle('outline', borderTransform);\nexport const outlineColor = createBorderStyle('outlineColor');\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const borderRadius = props => {\n if (props.borderRadius !== undefined && props.borderRadius !== null) {\n const transformer = createUnaryUnit(props.theme, 'shape.borderRadius', 4, 'borderRadius');\n const styleFromPropValue = propValue => ({\n borderRadius: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.borderRadius, styleFromPropValue);\n }\n return null;\n};\nborderRadius.propTypes = process.env.NODE_ENV !== 'production' ? {\n borderRadius: responsivePropType\n} : {};\nborderRadius.filterProps = ['borderRadius'];\nconst borders = compose(border, borderTop, borderRight, borderBottom, borderLeft, borderColor, borderTopColor, borderRightColor, borderBottomColor, borderLeftColor, borderRadius, outline, outlineColor);\nexport default borders;", "import style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nimport { createUnaryUnit, getValue } from \"../spacing/index.js\";\nimport { handleBreakpoints } from \"../breakpoints/index.js\";\nimport responsivePropType from \"../responsivePropType/index.js\";\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const gap = props => {\n if (props.gap !== undefined && props.gap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'gap');\n const styleFromPropValue = propValue => ({\n gap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.gap, styleFromPropValue);\n }\n return null;\n};\ngap.propTypes = process.env.NODE_ENV !== 'production' ? {\n gap: responsivePropType\n} : {};\ngap.filterProps = ['gap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const columnGap = props => {\n if (props.columnGap !== undefined && props.columnGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'columnGap');\n const styleFromPropValue = propValue => ({\n columnGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.columnGap, styleFromPropValue);\n }\n return null;\n};\ncolumnGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n columnGap: responsivePropType\n} : {};\ncolumnGap.filterProps = ['columnGap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const rowGap = props => {\n if (props.rowGap !== undefined && props.rowGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'rowGap');\n const styleFromPropValue = propValue => ({\n rowGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.rowGap, styleFromPropValue);\n }\n return null;\n};\nrowGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n rowGap: responsivePropType\n} : {};\nrowGap.filterProps = ['rowGap'];\nexport const gridColumn = style({\n prop: 'gridColumn'\n});\nexport const gridRow = style({\n prop: 'gridRow'\n});\nexport const gridAutoFlow = style({\n prop: 'gridAutoFlow'\n});\nexport const gridAutoColumns = style({\n prop: 'gridAutoColumns'\n});\nexport const gridAutoRows = style({\n prop: 'gridAutoRows'\n});\nexport const gridTemplateColumns = style({\n prop: 'gridTemplateColumns'\n});\nexport const gridTemplateRows = style({\n prop: 'gridTemplateRows'\n});\nexport const gridTemplateAreas = style({\n prop: 'gridTemplateAreas'\n});\nexport const gridArea = style({\n prop: 'gridArea'\n});\nconst grid = compose(gap, columnGap, rowGap, gridColumn, gridRow, gridAutoFlow, gridAutoColumns, gridAutoRows, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridArea);\nexport default grid;", "import style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nexport function paletteTransform(value, userValue) {\n if (userValue === 'grey') {\n return userValue;\n }\n return value;\n}\nexport const color = style({\n prop: 'color',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const bgcolor = style({\n prop: 'bgcolor',\n cssProperty: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const backgroundColor = style({\n prop: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nconst palette = compose(color, bgcolor, backgroundColor);\nexport default palette;", "import style from \"../style/index.js\";\nimport compose from \"../compose/index.js\";\nimport { handleBreakpoints, values as breakpointsValues } from \"../breakpoints/index.js\";\nexport function sizingTransform(value) {\n return value <= 1 && value !== 0 ? `${value * 100}%` : value;\n}\nexport const width = style({\n prop: 'width',\n transform: sizingTransform\n});\nexport const maxWidth = props => {\n if (props.maxWidth !== undefined && props.maxWidth !== null) {\n const styleFromPropValue = propValue => {\n const breakpoint = props.theme?.breakpoints?.values?.[propValue] || breakpointsValues[propValue];\n if (!breakpoint) {\n return {\n maxWidth: sizingTransform(propValue)\n };\n }\n if (props.theme?.breakpoints?.unit !== 'px') {\n return {\n maxWidth: `${breakpoint}${props.theme.breakpoints.unit}`\n };\n }\n return {\n maxWidth: breakpoint\n };\n };\n return handleBreakpoints(props, props.maxWidth, styleFromPropValue);\n }\n return null;\n};\nmaxWidth.filterProps = ['maxWidth'];\nexport const minWidth = style({\n prop: 'minWidth',\n transform: sizingTransform\n});\nexport const height = style({\n prop: 'height',\n transform: sizingTransform\n});\nexport const maxHeight = style({\n prop: 'maxHeight',\n transform: sizingTransform\n});\nexport const minHeight = style({\n prop: 'minHeight',\n transform: sizingTransform\n});\nexport const sizeWidth = style({\n prop: 'size',\n cssProperty: 'width',\n transform: sizingTransform\n});\nexport const sizeHeight = style({\n prop: 'size',\n cssProperty: 'height',\n transform: sizingTransform\n});\nexport const boxSizing = style({\n prop: 'boxSizing'\n});\nconst sizing = compose(width, maxWidth, minWidth, height, maxHeight, minHeight, boxSizing);\nexport default sizing;", "import { padding, margin } from \"../spacing/index.js\";\nimport { borderRadius, borderTransform } from \"../borders/index.js\";\nimport { gap, rowGap, columnGap } from \"../cssGrid/index.js\";\nimport { paletteTransform } from \"../palette/index.js\";\nimport { maxWidth, sizingTransform } from \"../sizing/index.js\";\nconst defaultSxConfig = {\n // borders\n border: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderTop: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderRight: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderBottom: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderLeft: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderColor: {\n themeKey: 'palette'\n },\n borderTopColor: {\n themeKey: 'palette'\n },\n borderRightColor: {\n themeKey: 'palette'\n },\n borderBottomColor: {\n themeKey: 'palette'\n },\n borderLeftColor: {\n themeKey: 'palette'\n },\n outline: {\n themeKey: 'borders',\n transform: borderTransform\n },\n outlineColor: {\n themeKey: 'palette'\n },\n borderRadius: {\n themeKey: 'shape.borderRadius',\n style: borderRadius\n },\n // palette\n color: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n bgcolor: {\n themeKey: 'palette',\n cssProperty: 'backgroundColor',\n transform: paletteTransform\n },\n backgroundColor: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n // spacing\n p: {\n style: padding\n },\n pt: {\n style: padding\n },\n pr: {\n style: padding\n },\n pb: {\n style: padding\n },\n pl: {\n style: padding\n },\n px: {\n style: padding\n },\n py: {\n style: padding\n },\n padding: {\n style: padding\n },\n paddingTop: {\n style: padding\n },\n paddingRight: {\n style: padding\n },\n paddingBottom: {\n style: padding\n },\n paddingLeft: {\n style: padding\n },\n paddingX: {\n style: padding\n },\n paddingY: {\n style: padding\n },\n paddingInline: {\n style: padding\n },\n paddingInlineStart: {\n style: padding\n },\n paddingInlineEnd: {\n style: padding\n },\n paddingBlock: {\n style: padding\n },\n paddingBlockStart: {\n style: padding\n },\n paddingBlockEnd: {\n style: padding\n },\n m: {\n style: margin\n },\n mt: {\n style: margin\n },\n mr: {\n style: margin\n },\n mb: {\n style: margin\n },\n ml: {\n style: margin\n },\n mx: {\n style: margin\n },\n my: {\n style: margin\n },\n margin: {\n style: margin\n },\n marginTop: {\n style: margin\n },\n marginRight: {\n style: margin\n },\n marginBottom: {\n style: margin\n },\n marginLeft: {\n style: margin\n },\n marginX: {\n style: margin\n },\n marginY: {\n style: margin\n },\n marginInline: {\n style: margin\n },\n marginInlineStart: {\n style: margin\n },\n marginInlineEnd: {\n style: margin\n },\n marginBlock: {\n style: margin\n },\n marginBlockStart: {\n style: margin\n },\n marginBlockEnd: {\n style: margin\n },\n // display\n displayPrint: {\n cssProperty: false,\n transform: value => ({\n '@media print': {\n display: value\n }\n })\n },\n display: {},\n overflow: {},\n textOverflow: {},\n visibility: {},\n whiteSpace: {},\n // flexbox\n flexBasis: {},\n flexDirection: {},\n flexWrap: {},\n justifyContent: {},\n alignItems: {},\n alignContent: {},\n order: {},\n flex: {},\n flexGrow: {},\n flexShrink: {},\n alignSelf: {},\n justifyItems: {},\n justifySelf: {},\n // grid\n gap: {\n style: gap\n },\n rowGap: {\n style: rowGap\n },\n columnGap: {\n style: columnGap\n },\n gridColumn: {},\n gridRow: {},\n gridAutoFlow: {},\n gridAutoColumns: {},\n gridAutoRows: {},\n gridTemplateColumns: {},\n gridTemplateRows: {},\n gridTemplateAreas: {},\n gridArea: {},\n // positions\n position: {},\n zIndex: {\n themeKey: 'zIndex'\n },\n top: {},\n right: {},\n bottom: {},\n left: {},\n // shadows\n boxShadow: {\n themeKey: 'shadows'\n },\n // sizing\n width: {\n transform: sizingTransform\n },\n maxWidth: {\n style: maxWidth\n },\n minWidth: {\n transform: sizingTransform\n },\n height: {\n transform: sizingTransform\n },\n maxHeight: {\n transform: sizingTransform\n },\n minHeight: {\n transform: sizingTransform\n },\n boxSizing: {},\n // typography\n font: {\n themeKey: 'font'\n },\n fontFamily: {\n themeKey: 'typography'\n },\n fontSize: {\n themeKey: 'typography'\n },\n fontStyle: {\n themeKey: 'typography'\n },\n fontWeight: {\n themeKey: 'typography'\n },\n letterSpacing: {},\n textTransform: {},\n lineHeight: {},\n textAlign: {},\n typography: {\n cssProperty: false,\n themeKey: 'typography'\n }\n};\nexport default defaultSxConfig;", "import capitalize from '@mui/utils/capitalize';\nimport merge from \"../merge/index.js\";\nimport { getPath, getStyleValue as getValue } from \"../style/index.js\";\nimport { handleBreakpoints, createEmptyBreakpointObject, removeUnusedBreakpoints } from \"../breakpoints/index.js\";\nimport { sortContainerQueries } from \"../cssContainerQueries/index.js\";\nimport defaultSxConfig from \"./defaultSxConfig.js\";\nfunction objectsHaveSameKeys(...objects) {\n const allKeys = objects.reduce((keys, object) => keys.concat(Object.keys(object)), []);\n const union = new Set(allKeys);\n return objects.every(object => union.size === Object.keys(object).length);\n}\nfunction callIfFn(maybeFn, arg) {\n return typeof maybeFn === 'function' ? maybeFn(arg) : maybeFn;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function unstable_createStyleFunctionSx() {\n function getThemeValue(prop, val, theme, config) {\n const props = {\n [prop]: val,\n theme\n };\n const options = config[prop];\n if (!options) {\n return {\n [prop]: val\n };\n }\n const {\n cssProperty = prop,\n themeKey,\n transform,\n style\n } = options;\n if (val == null) {\n return null;\n }\n\n // TODO v6: remove, see https://github.com/mui/material-ui/pull/38123\n if (themeKey === 'typography' && val === 'inherit') {\n return {\n [prop]: val\n };\n }\n const themeMapping = getPath(theme, themeKey) || {};\n if (style) {\n return style(props);\n }\n const styleFromPropValue = propValueFinal => {\n let value = getValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, val, styleFromPropValue);\n }\n function styleFunctionSx(props) {\n const {\n sx,\n theme = {}\n } = props || {};\n if (!sx) {\n return null; // Emotion & styled-components will neglect null\n }\n const config = theme.unstable_sxConfig ?? defaultSxConfig;\n\n /*\n * Receive `sxInput` as object or callback\n * and then recursively check keys & values to create media query object styles.\n * (the result will be used in `styled`)\n */\n function traverse(sxInput) {\n let sxObject = sxInput;\n if (typeof sxInput === 'function') {\n sxObject = sxInput(theme);\n } else if (typeof sxInput !== 'object') {\n // value\n return sxInput;\n }\n if (!sxObject) {\n return null;\n }\n const emptyBreakpoints = createEmptyBreakpointObject(theme.breakpoints);\n const breakpointsKeys = Object.keys(emptyBreakpoints);\n let css = emptyBreakpoints;\n Object.keys(sxObject).forEach(styleKey => {\n const value = callIfFn(sxObject[styleKey], theme);\n if (value !== null && value !== undefined) {\n if (typeof value === 'object') {\n if (config[styleKey]) {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n } else {\n const breakpointsValues = handleBreakpoints({\n theme\n }, value, x => ({\n [styleKey]: x\n }));\n if (objectsHaveSameKeys(breakpointsValues, value)) {\n css[styleKey] = styleFunctionSx({\n sx: value,\n theme\n });\n } else {\n css = merge(css, breakpointsValues);\n }\n }\n } else {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n }\n }\n });\n return sortContainerQueries(theme, removeUnusedBreakpoints(breakpointsKeys, css));\n }\n return Array.isArray(sx) ? sx.map(traverse) : traverse(sx);\n }\n return styleFunctionSx;\n}\nconst styleFunctionSx = unstable_createStyleFunctionSx();\nstyleFunctionSx.filterProps = ['sx'];\nexport default styleFunctionSx;", "/**\n * A universal utility to style components with multiple color modes. Always use it from the theme object.\n * It works with:\n * - [Basic theme](https://mui.com/material-ui/customization/dark-mode/)\n * - [CSS theme variables](https://mui.com/material-ui/customization/css-theme-variables/overview/)\n * - Zero-runtime engine\n *\n * Tips: Use an array over object spread and place `theme.applyStyles()` last.\n *\n * \u2705 [{ background: '#e5e5e5' }, theme.applyStyles('dark', { background: '#1c1c1c' })]\n *\n * \uD83D\uDEAB { background: '#e5e5e5', ...theme.applyStyles('dark', { background: '#1c1c1c' })}\n *\n * @example\n * 1. using with `styled`:\n * ```jsx\n * const Component = styled('div')(({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]);\n * ```\n *\n * @example\n * 2. using with `sx` prop:\n * ```jsx\n * [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]}\n * />\n * ```\n *\n * @example\n * 3. theming a component:\n * ```jsx\n * extendTheme({\n * components: {\n * MuiButton: {\n * styleOverrides: {\n * root: ({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ],\n * },\n * }\n * }\n * })\n *```\n */\nexport default function applyStyles(key, styles) {\n // @ts-expect-error this is 'any' type\n const theme = this;\n if (theme.vars) {\n if (!theme.colorSchemes?.[key] || typeof theme.getColorSchemeSelector !== 'function') {\n return {};\n }\n // If CssVarsProvider is used as a provider, returns '*:where({selector}) &'\n let selector = theme.getColorSchemeSelector(key);\n if (selector === '&') {\n return styles;\n }\n if (selector.includes('data-') || selector.includes('.')) {\n // '*' is required as a workaround for Emotion issue (https://github.com/emotion-js/emotion/issues/2836)\n selector = `*:where(${selector.replace(/\\s*&$/, '')}) &`;\n }\n return {\n [selector]: styles\n };\n }\n if (theme.palette.mode === key) {\n return styles;\n }\n return {};\n}", "import deepmerge from '@mui/utils/deepmerge';\nimport createBreakpoints from \"../createBreakpoints/createBreakpoints.js\";\nimport cssContainerQueries from \"../cssContainerQueries/index.js\";\nimport shape from \"./shape.js\";\nimport createSpacing from \"./createSpacing.js\";\nimport styleFunctionSx from \"../styleFunctionSx/styleFunctionSx.js\";\nimport defaultSxConfig from \"../styleFunctionSx/defaultSxConfig.js\";\nimport applyStyles from \"./applyStyles.js\";\nfunction createTheme(options = {}, ...args) {\n const {\n breakpoints: breakpointsInput = {},\n palette: paletteInput = {},\n spacing: spacingInput,\n shape: shapeInput = {},\n ...other\n } = options;\n const breakpoints = createBreakpoints(breakpointsInput);\n const spacing = createSpacing(spacingInput);\n let muiTheme = deepmerge({\n breakpoints,\n direction: 'ltr',\n components: {},\n // Inject component definitions.\n palette: {\n mode: 'light',\n ...paletteInput\n },\n spacing,\n shape: {\n ...shape,\n ...shapeInput\n }\n }, other);\n muiTheme = cssContainerQueries(muiTheme);\n muiTheme.applyStyles = applyStyles;\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n muiTheme.unstable_sxConfig = {\n ...defaultSxConfig,\n ...other?.unstable_sxConfig\n };\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n return muiTheme;\n}\nexport default createTheme;", "'use client';\n\nimport * as React from 'react';\nimport { ThemeContext } from '@mui/styled-engine';\nfunction isObjectEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction useTheme(defaultTheme = null) {\n const contextTheme = React.useContext(ThemeContext);\n return !contextTheme || isObjectEmpty(contextTheme) ? defaultTheme : contextTheme;\n}\nexport default useTheme;", "'use client';\n\nimport createTheme from \"../createTheme/index.js\";\nimport useThemeWithoutDefault from \"../useThemeWithoutDefault/index.js\";\nexport const systemDefaultTheme = createTheme();\nfunction useTheme(defaultTheme = systemDefaultTheme) {\n return useThemeWithoutDefault(defaultTheme);\n}\nexport default useTheme;", "import { isPlainObject } from '@mui/utils/deepmerge';\nimport defaultSxConfig from \"./defaultSxConfig.js\";\nconst splitProps = props => {\n const result = {\n systemProps: {},\n otherProps: {}\n };\n const config = props?.theme?.unstable_sxConfig ?? defaultSxConfig;\n Object.keys(props).forEach(prop => {\n if (config[prop]) {\n result.systemProps[prop] = props[prop];\n } else {\n result.otherProps[prop] = props[prop];\n }\n });\n return result;\n};\nexport default function extendSxProp(props) {\n const {\n sx: inSx,\n ...other\n } = props;\n const {\n systemProps,\n otherProps\n } = splitProps(other);\n let finalSx;\n if (Array.isArray(inSx)) {\n finalSx = [systemProps, ...inSx];\n } else if (typeof inSx === 'function') {\n finalSx = (...args) => {\n const result = inSx(...args);\n if (!isPlainObject(result)) {\n return systemProps;\n }\n return {\n ...systemProps,\n ...result\n };\n };\n } else {\n finalSx = {\n ...systemProps,\n ...inSx\n };\n }\n return {\n ...otherProps,\n sx: finalSx\n };\n}", "const defaultGenerator = componentName => componentName;\nconst createClassNameGenerator = () => {\n let generate = defaultGenerator;\n return {\n configure(generator) {\n generate = generator;\n },\n generate(componentName) {\n return generate(componentName);\n },\n reset() {\n generate = defaultGenerator;\n }\n };\n};\nconst ClassNameGenerator = createClassNameGenerator();\nexport default ClassNameGenerator;", "'use client';\n\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport styled from '@mui/styled-engine';\nimport styleFunctionSx, { extendSxProp } from \"../styleFunctionSx/index.js\";\nimport useTheme from \"../useTheme/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createBox(options = {}) {\n const {\n themeId,\n defaultTheme,\n defaultClassName = 'MuiBox-root',\n generateClassName\n } = options;\n const BoxRoot = styled('div', {\n shouldForwardProp: prop => prop !== 'theme' && prop !== 'sx' && prop !== 'as'\n })(styleFunctionSx);\n const Box = /*#__PURE__*/React.forwardRef(function Box(inProps, ref) {\n const theme = useTheme(defaultTheme);\n const {\n className,\n component = 'div',\n ...other\n } = extendSxProp(inProps);\n return /*#__PURE__*/_jsx(BoxRoot, {\n as: component,\n ref: ref,\n className: clsx(className, generateClassName ? generateClassName(defaultClassName) : defaultClassName),\n theme: themeId ? theme[themeId] || theme : theme,\n ...other\n });\n });\n return Box;\n}", "function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t {\n result[slot] = generateUtilityClass(componentName, slot, globalStatePrefix);\n });\n return result;\n}", "import { internal_serializeStyles } from '@mui/styled-engine';\nexport default function preprocessStyles(input) {\n const {\n variants,\n ...style\n } = input;\n const result = {\n variants,\n style: internal_serializeStyles(style),\n isProcessed: true\n };\n\n // Not supported on styled-components\n if (result.style === style) {\n return result;\n }\n if (variants) {\n variants.forEach(variant => {\n if (typeof variant.style !== 'function') {\n variant.style = internal_serializeStyles(variant.style);\n }\n });\n }\n return result;\n}", "import styledEngineStyled, { internal_mutateStyles as mutateStyles } from '@mui/styled-engine';\nimport { isPlainObject } from '@mui/utils/deepmerge';\nimport capitalize from '@mui/utils/capitalize';\nimport getDisplayName from '@mui/utils/getDisplayName';\nimport createTheme from \"../createTheme/index.js\";\nimport styleFunctionSx from \"../styleFunctionSx/index.js\";\nimport preprocessStyles from \"../preprocessStyles.js\";\n\n/* eslint-disable no-underscore-dangle */\n/* eslint-disable no-labels */\n/* eslint-disable no-lone-blocks */\n\nexport const systemDefaultTheme = createTheme();\n\n// Update /system/styled/#api in case if this changes\nexport function shouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nfunction defaultOverridesResolver(slot) {\n if (!slot) {\n return null;\n }\n return (_props, styles) => styles[slot];\n}\nfunction attachTheme(props, themeId, defaultTheme) {\n props.theme = isObjectEmpty(props.theme) ? defaultTheme : props.theme[themeId] || props.theme;\n}\nfunction processStyle(props, style) {\n /*\n * Style types:\n * - null/undefined\n * - string\n * - CSS style object: { [cssKey]: [cssValue], variants }\n * - Processed style object: { style, variants, isProcessed: true }\n * - Array of any of the above\n */\n\n const resolvedStyle = typeof style === 'function' ? style(props) : style;\n if (Array.isArray(resolvedStyle)) {\n return resolvedStyle.flatMap(subStyle => processStyle(props, subStyle));\n }\n if (Array.isArray(resolvedStyle?.variants)) {\n let rootStyle;\n if (resolvedStyle.isProcessed) {\n rootStyle = resolvedStyle.style;\n } else {\n const {\n variants,\n ...otherStyles\n } = resolvedStyle;\n rootStyle = otherStyles;\n }\n return processStyleVariants(props, resolvedStyle.variants, [rootStyle]);\n }\n if (resolvedStyle?.isProcessed) {\n return resolvedStyle.style;\n }\n return resolvedStyle;\n}\nfunction processStyleVariants(props, variants, results = []) {\n let mergedState; // We might not need it, initialized lazily\n\n variantLoop: for (let i = 0; i < variants.length; i += 1) {\n const variant = variants[i];\n if (typeof variant.props === 'function') {\n mergedState ??= {\n ...props,\n ...props.ownerState,\n ownerState: props.ownerState\n };\n if (!variant.props(mergedState)) {\n continue;\n }\n } else {\n for (const key in variant.props) {\n if (props[key] !== variant.props[key] && props.ownerState?.[key] !== variant.props[key]) {\n continue variantLoop;\n }\n }\n }\n if (typeof variant.style === 'function') {\n mergedState ??= {\n ...props,\n ...props.ownerState,\n ownerState: props.ownerState\n };\n results.push(variant.style(mergedState));\n } else {\n results.push(variant.style);\n }\n }\n return results;\n}\nexport default function createStyled(input = {}) {\n const {\n themeId,\n defaultTheme = systemDefaultTheme,\n rootShouldForwardProp = shouldForwardProp,\n slotShouldForwardProp = shouldForwardProp\n } = input;\n function styleAttachTheme(props) {\n attachTheme(props, themeId, defaultTheme);\n }\n const styled = (tag, inputOptions = {}) => {\n // If `tag` is already a styled component, filter out the `sx` style function\n // to prevent unnecessary styles generated by the composite components.\n mutateStyles(tag, styles => styles.filter(style => style !== styleFunctionSx));\n const {\n name: componentName,\n slot: componentSlot,\n skipVariantsResolver: inputSkipVariantsResolver,\n skipSx: inputSkipSx,\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n overridesResolver = defaultOverridesResolver(lowercaseFirstLetter(componentSlot)),\n ...options\n } = inputOptions;\n\n // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.\n const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver :\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n componentSlot && componentSlot !== 'Root' && componentSlot !== 'root' || false;\n const skipSx = inputSkipSx || false;\n let shouldForwardPropOption = shouldForwardProp;\n\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n if (componentSlot === 'Root' || componentSlot === 'root') {\n shouldForwardPropOption = rootShouldForwardProp;\n } else if (componentSlot) {\n // any other slot specified\n shouldForwardPropOption = slotShouldForwardProp;\n } else if (isStringTag(tag)) {\n // for string (html) tag, preserve the behavior in emotion & styled-components.\n shouldForwardPropOption = undefined;\n }\n const defaultStyledResolver = styledEngineStyled(tag, {\n shouldForwardProp: shouldForwardPropOption,\n label: generateStyledLabel(componentName, componentSlot),\n ...options\n });\n const transformStyle = style => {\n // On the server Emotion doesn't use React.forwardRef for creating components, so the created\n // component stays as a function. This condition makes sure that we do not interpolate functions\n // which are basically components used as a selectors.\n if (typeof style === 'function' && style.__emotion_real !== style) {\n return function styleFunctionProcessor(props) {\n return processStyle(props, style);\n };\n }\n if (isPlainObject(style)) {\n const serialized = preprocessStyles(style);\n if (!serialized.variants) {\n return serialized.style;\n }\n return function styleObjectProcessor(props) {\n return processStyle(props, serialized);\n };\n }\n return style;\n };\n const muiStyledResolver = (...expressionsInput) => {\n const expressionsHead = [];\n const expressionsBody = expressionsInput.map(transformStyle);\n const expressionsTail = [];\n\n // Preprocess `props` to set the scoped theme value.\n // This must run before any other expression.\n expressionsHead.push(styleAttachTheme);\n if (componentName && overridesResolver) {\n expressionsTail.push(function styleThemeOverrides(props) {\n const theme = props.theme;\n const styleOverrides = theme.components?.[componentName]?.styleOverrides;\n if (!styleOverrides) {\n return null;\n }\n const resolvedStyleOverrides = {};\n\n // TODO: v7 remove iteration and use `resolveStyleArg(styleOverrides[slot])` directly\n // eslint-disable-next-line guard-for-in\n for (const slotKey in styleOverrides) {\n resolvedStyleOverrides[slotKey] = processStyle(props, styleOverrides[slotKey]);\n }\n return overridesResolver(props, resolvedStyleOverrides);\n });\n }\n if (componentName && !skipVariantsResolver) {\n expressionsTail.push(function styleThemeVariants(props) {\n const theme = props.theme;\n const themeVariants = theme?.components?.[componentName]?.variants;\n if (!themeVariants) {\n return null;\n }\n return processStyleVariants(props, themeVariants);\n });\n }\n if (!skipSx) {\n expressionsTail.push(styleFunctionSx);\n }\n\n // This function can be called as a tagged template, so the first argument would contain\n // CSS `string[]` values.\n if (Array.isArray(expressionsBody[0])) {\n const inputStrings = expressionsBody.shift();\n\n // We need to add placeholders in the tagged template for the custom functions we have\n // possibly added (attachTheme, overrides, variants, and sx).\n const placeholdersHead = new Array(expressionsHead.length).fill('');\n const placeholdersTail = new Array(expressionsTail.length).fill('');\n let outputStrings;\n // prettier-ignore\n {\n outputStrings = [...placeholdersHead, ...inputStrings, ...placeholdersTail];\n outputStrings.raw = [...placeholdersHead, ...inputStrings.raw, ...placeholdersTail];\n }\n\n // The only case where we put something before `attachTheme`\n expressionsHead.unshift(outputStrings);\n }\n const expressions = [...expressionsHead, ...expressionsBody, ...expressionsTail];\n const Component = defaultStyledResolver(...expressions);\n if (tag.muiName) {\n Component.muiName = tag.muiName;\n }\n if (process.env.NODE_ENV !== 'production') {\n Component.displayName = generateDisplayName(componentName, componentSlot, tag);\n }\n return Component;\n };\n if (defaultStyledResolver.withConfig) {\n muiStyledResolver.withConfig = defaultStyledResolver.withConfig;\n }\n return muiStyledResolver;\n };\n return styled;\n}\nfunction generateDisplayName(componentName, componentSlot, tag) {\n if (componentName) {\n return `${componentName}${capitalize(componentSlot || '')}`;\n }\n return `Styled(${getDisplayName(tag)})`;\n}\nfunction generateStyledLabel(componentName, componentSlot) {\n let label;\n if (process.env.NODE_ENV !== 'production') {\n if (componentName) {\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n label = `${componentName}-${lowercaseFirstLetter(componentSlot || 'Root')}`;\n }\n }\n return label;\n}\nfunction isObjectEmpty(object) {\n // eslint-disable-next-line\n for (const _ in object) {\n return false;\n }\n return true;\n}\n\n// https://github.com/emotion-js/emotion/blob/26ded6109fcd8ca9875cc2ce4564fee678a3f3c5/packages/styled/src/utils.js#L40\nfunction isStringTag(tag) {\n return typeof tag === 'string' &&\n // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96;\n}\nfunction lowercaseFirstLetter(string) {\n if (!string) {\n return string;\n }\n return string.charAt(0).toLowerCase() + string.slice(1);\n}", "import createStyled from \"../createStyled/index.js\";\nconst styled = createStyled();\nexport default styled;", "/**\n * Add keys, values of `defaultProps` that does not exist in `props`\n * @param defaultProps\n * @param props\n * @returns resolved props\n */\nexport default function resolveProps(defaultProps, props) {\n const output = {\n ...props\n };\n for (const key in defaultProps) {\n if (Object.prototype.hasOwnProperty.call(defaultProps, key)) {\n const propName = key;\n if (propName === 'components' || propName === 'slots') {\n output[propName] = {\n ...defaultProps[propName],\n ...output[propName]\n };\n } else if (propName === 'componentsProps' || propName === 'slotProps') {\n const defaultSlotProps = defaultProps[propName];\n const slotProps = props[propName];\n if (!slotProps) {\n output[propName] = defaultSlotProps || {};\n } else if (!defaultSlotProps) {\n output[propName] = slotProps;\n } else {\n output[propName] = {\n ...slotProps\n };\n for (const slotKey in defaultSlotProps) {\n if (Object.prototype.hasOwnProperty.call(defaultSlotProps, slotKey)) {\n const slotPropName = slotKey;\n output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]);\n }\n }\n }\n } else if (output[propName] === undefined) {\n output[propName] = defaultProps[propName];\n }\n }\n }\n return output;\n}", "import resolveProps from '@mui/utils/resolveProps';\nexport default function getThemeProps(params) {\n const {\n theme,\n name,\n props\n } = params;\n if (!theme || !theme.components || !theme.components[name] || !theme.components[name].defaultProps) {\n return props;\n }\n return resolveProps(theme.components[name].defaultProps, props);\n}", "'use client';\n\nimport getThemeProps from \"./getThemeProps.js\";\nimport useTheme from \"../useTheme/index.js\";\nexport default function useThemeProps({\n props,\n name,\n defaultTheme,\n themeId\n}) {\n let theme = useTheme(defaultTheme);\n if (themeId) {\n theme = theme[themeId] || theme;\n }\n return getThemeProps({\n theme,\n name,\n props\n });\n}", "'use client';\n\nimport * as React from 'react';\nimport useEnhancedEffect from '@mui/utils/useEnhancedEffect';\nimport { getThemeProps } from \"../useThemeProps/index.js\";\nimport useTheme from \"../useThemeWithoutDefault/index.js\";\n// TODO React 17: Remove `useMediaQueryOld` once React 17 support is removed\nfunction useMediaQueryOld(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {\n const [match, setMatch] = React.useState(() => {\n if (noSsr && matchMedia) {\n return matchMedia(query).matches;\n }\n if (ssrMatchMedia) {\n return ssrMatchMedia(query).matches;\n }\n\n // Once the component is mounted, we rely on the\n // event listeners to return the correct matches value.\n return defaultMatches;\n });\n useEnhancedEffect(() => {\n if (!matchMedia) {\n return undefined;\n }\n const queryList = matchMedia(query);\n const updateMatch = () => {\n setMatch(queryList.matches);\n };\n updateMatch();\n queryList.addEventListener('change', updateMatch);\n return () => {\n queryList.removeEventListener('change', updateMatch);\n };\n }, [query, matchMedia]);\n return match;\n}\n\n// See https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379 for why\nconst safeReact = {\n ...React\n};\nconst maybeReactUseSyncExternalStore = safeReact.useSyncExternalStore;\nfunction useMediaQueryNew(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {\n const getDefaultSnapshot = React.useCallback(() => defaultMatches, [defaultMatches]);\n const getServerSnapshot = React.useMemo(() => {\n if (noSsr && matchMedia) {\n return () => matchMedia(query).matches;\n }\n if (ssrMatchMedia !== null) {\n const {\n matches\n } = ssrMatchMedia(query);\n return () => matches;\n }\n return getDefaultSnapshot;\n }, [getDefaultSnapshot, query, ssrMatchMedia, noSsr, matchMedia]);\n const [getSnapshot, subscribe] = React.useMemo(() => {\n if (matchMedia === null) {\n return [getDefaultSnapshot, () => () => {}];\n }\n const mediaQueryList = matchMedia(query);\n return [() => mediaQueryList.matches, notify => {\n mediaQueryList.addEventListener('change', notify);\n return () => {\n mediaQueryList.removeEventListener('change', notify);\n };\n }];\n }, [getDefaultSnapshot, matchMedia, query]);\n const match = maybeReactUseSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n return match;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function unstable_createUseMediaQuery(params = {}) {\n const {\n themeId\n } = params;\n return function useMediaQuery(queryInput, options = {}) {\n let theme = useTheme();\n if (theme && themeId) {\n theme = theme[themeId] || theme;\n }\n // Wait for jsdom to support the match media feature.\n // All the browsers MUI support have this built-in.\n // This defensive check is here for simplicity.\n // Most of the time, the match media logic isn't central to people tests.\n const supportMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined';\n const {\n defaultMatches = false,\n matchMedia = supportMatchMedia ? window.matchMedia : null,\n ssrMatchMedia = null,\n noSsr = false\n } = getThemeProps({\n name: 'MuiUseMediaQuery',\n props: options,\n theme\n });\n if (process.env.NODE_ENV !== 'production') {\n if (typeof queryInput === 'function' && theme === null) {\n console.error(['MUI: The `query` argument provided is invalid.', 'You are providing a function without a theme in the context.', 'One of the parent elements needs to use a ThemeProvider.'].join('\\n'));\n }\n }\n let query = typeof queryInput === 'function' ? queryInput(theme) : queryInput;\n query = query.replace(/^@media( ?)/m, '');\n const useMediaQueryImplementation = maybeReactUseSyncExternalStore !== undefined ? useMediaQueryNew : useMediaQueryOld;\n const match = useMediaQueryImplementation(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue({\n query,\n match\n });\n }\n return match;\n };\n}\nconst useMediaQuery = unstable_createUseMediaQuery();\nexport default useMediaQuery;", "'use client';\n\nimport * as React from 'react';\n\n/**\n * A version of `React.useLayoutEffect` that does not show a warning when server-side rendering.\n * This is useful for effects that are only needed for client-side rendering but not for SSR.\n *\n * Before you use this hook, make sure to read https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * and confirm it doesn't apply to your use-case.\n */\nconst useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nexport default useEnhancedEffect;", "function clamp(val, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {\n return Math.max(min, Math.min(val, max));\n}\nexport default clamp;", "import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n/* eslint-disable @typescript-eslint/naming-convention */\nimport clamp from '@mui/utils/clamp';\n\n/**\n * Returns a number whose value is limited to the given range.\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clampWrapper(value, min = 0, max = 1) {\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);\n }\n }\n return clamp(value, min, max);\n}\n\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\nexport function hexToRgb(color) {\n color = color.slice(1);\n const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, 'g');\n let colors = color.match(re);\n if (colors && colors[0].length === 1) {\n colors = colors.map(n => n + n);\n }\n return colors ? `rgb${colors.length === 4 ? 'a' : ''}(${colors.map((n, index) => {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', ')})` : '';\n}\nfunction intToHex(int) {\n const hex = int.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n}\n\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\nexport function decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n const marker = color.indexOf('(');\n const type = color.substring(0, marker);\n if (!['rgb', 'rgba', 'hsl', 'hsla', 'color'].includes(type)) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Unsupported \\`${color}\\` color.\\n` + 'The following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().' : _formatMuiErrorMessage(9, color));\n }\n let values = color.substring(marker + 1, color.length - 1);\n let colorSpace;\n if (type === 'color') {\n values = values.split(' ');\n colorSpace = values.shift();\n if (values.length === 4 && values[3].charAt(0) === '/') {\n values[3] = values[3].slice(1);\n }\n if (!['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].includes(colorSpace)) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: unsupported \\`${colorSpace}\\` color space.\\n` + 'The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.' : _formatMuiErrorMessage(10, colorSpace));\n }\n } else {\n values = values.split(',');\n }\n values = values.map(value => parseFloat(value));\n return {\n type,\n values,\n colorSpace\n };\n}\n\n/**\n * Returns a channel created from the input color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {string} - The channel for the color, that can be used in rgba or hsla colors\n */\nexport const colorChannel = color => {\n const decomposedColor = decomposeColor(color);\n return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.includes('hsl') && idx !== 0 ? `${val}%` : val).join(' ');\n};\nexport const private_safeColorChannel = (color, warning) => {\n try {\n return colorChannel(color);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n};\n\n/**\n * Converts a color object with type and values to a string.\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\nexport function recomposeColor(color) {\n const {\n type,\n colorSpace\n } = color;\n let {\n values\n } = color;\n if (type.includes('rgb')) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n);\n } else if (type.includes('hsl')) {\n values[1] = `${values[1]}%`;\n values[2] = `${values[2]}%`;\n }\n if (type.includes('color')) {\n values = `${colorSpace} ${values.join(' ')}`;\n } else {\n values = `${values.join(', ')}`;\n }\n return `${type}(${values})`;\n}\n\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\nexport function rgbToHex(color) {\n // Idempotent\n if (color.startsWith('#')) {\n return color;\n }\n const {\n values\n } = decomposeColor(color);\n return `#${values.map((n, i) => intToHex(i === 3 ? Math.round(255 * n) : n)).join('')}`;\n}\n\n/**\n * Converts a color from hsl format to rgb format.\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\nexport function hslToRgb(color) {\n color = decomposeColor(color);\n const {\n values\n } = color;\n const h = values[0];\n const s = values[1] / 100;\n const l = values[2] / 100;\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n let type = 'rgb';\n const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n return recomposeColor({\n type,\n values: rgb\n });\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\nexport function getLuminance(color) {\n color = decomposeColor(color);\n let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(val => {\n if (color.type !== 'color') {\n val /= 255; // normalized\n }\n return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4;\n });\n\n // Truncate at 3 digits\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\nexport function getContrastRatio(foreground, background) {\n const lumA = getLuminance(foreground);\n const lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n\n/**\n * Sets the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} value - value to set the alpha channel to in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function alpha(color, value) {\n color = decomposeColor(color);\n value = clampWrapper(value);\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n if (color.type === 'color') {\n color.values[3] = `/${value}`;\n } else {\n color.values[3] = value;\n }\n return recomposeColor(color);\n}\nexport function private_safeAlpha(color, value, warning) {\n try {\n return alpha(color, value);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darkens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.includes('hsl')) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.includes('rgb') || color.type.includes('color')) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeDarken(color, coefficient, warning) {\n try {\n return darken(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Lightens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.includes('hsl')) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.includes('rgb')) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n } else if (color.type.includes('color')) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (1 - color.values[i]) * coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeLighten(color, coefficient, warning) {\n try {\n return lighten(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function emphasize(color, coefficient = 0.15) {\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nexport function private_safeEmphasize(color, coefficient, warning) {\n try {\n return emphasize(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Blend a transparent overlay color with a background color, resulting in a single\n * RGB color.\n * @param {string} background - CSS color\n * @param {string} overlay - CSS color\n * @param {number} opacity - Opacity multiplier in the range 0 - 1\n * @param {number} [gamma=1.0] - Gamma correction factor. For gamma-correct blending, 2.2 is usual.\n */\nexport function blend(background, overlay, opacity, gamma = 1.0) {\n const blendChannel = (b, o) => Math.round((b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma);\n const backgroundColor = decomposeColor(background);\n const overlayColor = decomposeColor(overlay);\n const rgb = [blendChannel(backgroundColor.values[0], overlayColor.values[0]), blendChannel(backgroundColor.values[1], overlayColor.values[1]), blendChannel(backgroundColor.values[2], overlayColor.values[2])];\n return recomposeColor({\n type: 'rgb',\n values: rgb\n });\n}", "'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { ThemeProvider as MuiThemeProvider, useTheme as usePrivateTheme } from '@mui/private-theming';\nimport exactProp from '@mui/utils/exactProp';\nimport { ThemeContext as StyledEngineThemeContext } from '@mui/styled-engine';\nimport useThemeWithoutDefault from \"../useThemeWithoutDefault/index.js\";\nimport RtlProvider from \"../RtlProvider/index.js\";\nimport DefaultPropsProvider from \"../DefaultPropsProvider/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst EMPTY_THEME = {};\nfunction useThemeScoping(themeId, upperTheme, localTheme, isPrivate = false) {\n return React.useMemo(() => {\n const resolvedTheme = themeId ? upperTheme[themeId] || upperTheme : upperTheme;\n if (typeof localTheme === 'function') {\n const mergedTheme = localTheme(resolvedTheme);\n const result = themeId ? {\n ...upperTheme,\n [themeId]: mergedTheme\n } : mergedTheme;\n // must return a function for the private theme to NOT merge with the upper theme.\n // see the test case \"use provided theme from a callback\" in ThemeProvider.test.js\n if (isPrivate) {\n return () => result;\n }\n return result;\n }\n return themeId ? {\n ...upperTheme,\n [themeId]: localTheme\n } : {\n ...upperTheme,\n ...localTheme\n };\n }, [themeId, upperTheme, localTheme, isPrivate]);\n}\n\n/**\n * This component makes the `theme` available down the React tree.\n * It should preferably be used at **the root of your component tree**.\n *\n * // existing use case\n * // theme scoping\n */\nfunction ThemeProvider(props) {\n const {\n children,\n theme: localTheme,\n themeId\n } = props;\n const upperTheme = useThemeWithoutDefault(EMPTY_THEME);\n const upperPrivateTheme = usePrivateTheme() || EMPTY_THEME;\n if (process.env.NODE_ENV !== 'production') {\n if (upperTheme === null && typeof localTheme === 'function' || themeId && upperTheme && !upperTheme[themeId] && typeof localTheme === 'function') {\n console.error(['MUI: You are providing a theme function prop to the ThemeProvider component:', ' outerTheme} />', '', 'However, no outer theme is present.', 'Make sure a theme is already injected higher in the React tree ' + 'or provide a theme object.'].join('\\n'));\n }\n }\n const engineTheme = useThemeScoping(themeId, upperTheme, localTheme);\n const privateTheme = useThemeScoping(themeId, upperPrivateTheme, localTheme, true);\n const rtlValue = (themeId ? engineTheme[themeId] : engineTheme).direction === 'rtl';\n return /*#__PURE__*/_jsx(MuiThemeProvider, {\n theme: privateTheme,\n children: /*#__PURE__*/_jsx(StyledEngineThemeContext.Provider, {\n value: engineTheme,\n children: /*#__PURE__*/_jsx(RtlProvider, {\n value: rtlValue,\n children: /*#__PURE__*/_jsx(DefaultPropsProvider, {\n value: themeId ? engineTheme[themeId].components : engineTheme.components,\n children: children\n })\n })\n })\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the d.ts file and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * A theme object. You can provide a function to extend the outer theme.\n */\n theme: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).isRequired,\n /**\n * The design system's unique id for getting the corresponded theme when there are multiple design systems.\n */\n themeId: PropTypes.string\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = exactProp(ThemeProvider.propTypes) : void 0;\n}\nexport default ThemeProvider;", "import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp } from '@mui/utils';\nimport ThemeContext from \"../useTheme/ThemeContext.js\";\nimport useTheme from \"../useTheme/index.js\";\nimport nested from \"./nested.js\";\n\n// To support composition of theme.\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction mergeOuterLocalTheme(outerTheme, localTheme) {\n if (typeof localTheme === 'function') {\n const mergedTheme = localTheme(outerTheme);\n if (process.env.NODE_ENV !== 'production') {\n if (!mergedTheme) {\n console.error(['MUI: You should return an object from your theme function, i.e.', ' ({})} />'].join('\\n'));\n }\n }\n return mergedTheme;\n }\n return {\n ...outerTheme,\n ...localTheme\n };\n}\n\n/**\n * This component takes a `theme` prop.\n * It makes the `theme` available down the React tree thanks to React context.\n * This component should preferably be used at **the root of your component tree**.\n */\nfunction ThemeProvider(props) {\n const {\n children,\n theme: localTheme\n } = props;\n const outerTheme = useTheme();\n if (process.env.NODE_ENV !== 'production') {\n if (outerTheme === null && typeof localTheme === 'function') {\n console.error(['MUI: You are providing a theme function prop to the ThemeProvider component:', ' outerTheme} />', '', 'However, no outer theme is present.', 'Make sure a theme is already injected higher in the React tree ' + 'or provide a theme object.'].join('\\n'));\n }\n }\n const theme = React.useMemo(() => {\n const output = outerTheme === null ? {\n ...localTheme\n } : mergeOuterLocalTheme(outerTheme, localTheme);\n if (output != null) {\n output[nested] = outerTheme !== null;\n }\n return output;\n }, [localTheme, outerTheme]);\n return /*#__PURE__*/_jsx(ThemeContext.Provider, {\n value: theme,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * A theme object. You can provide a function to extend the outer theme.\n */\n theme: PropTypes.oneOfType([PropTypes.object, PropTypes.func]).isRequired\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = exactProp(ThemeProvider.propTypes) : void 0;\n}\nexport default ThemeProvider;", "/**\n * Safe chained function.\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n */\nexport default function createChainedFunction(...funcs) {\n return funcs.reduce((acc, func) => {\n if (func == null) {\n return acc;\n }\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n }, () => {});\n}", "// Corresponds to 10 frames at 60 Hz.\n// A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B.\nexport default function debounce(func, wait = 166) {\n let timeout;\n function debounced(...args) {\n const later = () => {\n // @ts-ignore\n func.apply(this, args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n }\n debounced.clear = () => {\n clearTimeout(timeout);\n };\n return debounced;\n}", "import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(\n // For server components `muiName` is avaialble in element.type._payload.value.muiName\n // relevant info - https://github.com/facebook/react/blob/2807d781a08db8e9873687fccc25c0f12b4fb3d4/packages/react/src/ReactLazy.js#L45\n // eslint-disable-next-line no-underscore-dangle\n element.type.muiName ?? element.type?._payload?.value?.muiName) !== -1;\n}", "export default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}", "import ownerDocument from \"../ownerDocument/index.js\";\nexport default function ownerWindow(node) {\n const doc = ownerDocument(node);\n return doc.defaultView || window;\n}", "/**\n * TODO v5: consider making it private\n *\n * passes {value} to {ref}\n *\n * WARNING: Be sure to only call this inside a callback that is passed as a ref.\n * Otherwise, make sure to cleanup the previous {ref} if it changes. See\n * https://github.com/mui/material-ui/issues/13539\n *\n * Useful if you want to expose the ref of an inner component to the public API\n * while still using it inside the component.\n * @param ref A ref callback or ref object. If anything falsy, this is a no-op.\n */\nexport default function setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}", "'use client';\n\nimport * as React from 'react';\nlet globalId = 0;\n\n// TODO React 17: Remove `useGlobalId` once React 17 support is removed\nfunction useGlobalId(idOverride) {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`mui-${globalId}`);\n }\n }, [defaultId]);\n return id;\n}\n\n// See https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379 for why\nconst safeReact = {\n ...React\n};\nconst maybeReactUseId = safeReact.useId;\n\n/**\n *\n * @example
    \n * @param idOverride\n * @returns {string}\n */\nexport default function useId(idOverride) {\n // React.useId() is only available from React 17.0.0.\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride ?? reactId;\n }\n\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.\n return useGlobalId(idOverride);\n}", "'use client';\n\n// TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler -- process.env never changes, dependency arrays are intentionally ignored\n/* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */\nimport * as React from 'react';\nexport default function useControlled({\n controlled,\n default: defaultProp,\n name,\n state = 'value'\n}) {\n // isControlled is ignored in the hook dependency lists as it should never change.\n const {\n current: isControlled\n } = React.useRef(controlled !== undefined);\n const [valueState, setValue] = React.useState(defaultProp);\n const value = isControlled ? controlled : valueState;\n if (process.env.NODE_ENV !== 'production') {\n React.useEffect(() => {\n if (isControlled !== (controlled !== undefined)) {\n console.error([`MUI: A component is changing the ${isControlled ? '' : 'un'}controlled ${state} state of ${name} to be ${isControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled ${name} ` + 'element for the lifetime of the component.', \"The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.\", 'More info: https://fb.me/react-controlled-components'].join('\\n'));\n }\n }, [state, name, controlled]);\n const {\n current: defaultValue\n } = React.useRef(defaultProp);\n React.useEffect(() => {\n // Object.is() is not equivalent to the === operator.\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is for more details.\n if (!isControlled && !Object.is(defaultValue, defaultProp)) {\n console.error([`MUI: A component is changing the default ${state} state of an uncontrolled ${name} after being initialized. ` + `To suppress this warning opt to use a controlled ${name}.`].join('\\n'));\n }\n }, [JSON.stringify(defaultProp)]);\n }\n const setValueIfUncontrolled = React.useCallback(newValue => {\n if (!isControlled) {\n setValue(newValue);\n }\n }, []);\n return [value, setValueIfUncontrolled];\n}", "'use client';\n\nimport * as React from 'react';\nimport useEnhancedEffect from \"../useEnhancedEffect/index.js\";\n\n/**\n * Inspired by https://github.com/facebook/react/issues/14099#issuecomment-440013892\n * See RFC in https://github.com/reactjs/rfcs/pull/220\n */\n\nfunction useEventCallback(fn) {\n const ref = React.useRef(fn);\n useEnhancedEffect(() => {\n ref.current = fn;\n });\n return React.useRef((...args) =>\n // @ts-expect-error hide `this`\n (0, ref.current)(...args)).current;\n}\nexport default useEventCallback;", "'use client';\n\nimport * as React from 'react';\nimport setRef from \"../setRef/index.js\";\n\n/**\n * Takes an array of refs and returns a new ref which will apply any modification to all of the refs.\n * This is useful when you want to have the ref used in multiple places.\n *\n * ```tsx\n * const rootRef = React.useRef(null);\n * const refFork = useForkRef(rootRef, props.ref);\n *\n * return (\n * \n * );\n * ```\n *\n * @param {Array | undefined>} refs The ref array.\n * @returns {React.RefCallback | null} The new ref callback.\n */\nexport default function useForkRef(...refs) {\n /**\n * This will create a new function if the refs passed to this hook change and are all defined.\n * This means react will call the old forkRef with `null` and the new forkRef\n * with the ref. Cleanup naturally emerges from this behavior.\n */\n return React.useMemo(() => {\n if (refs.every(ref => ref == null)) {\n return null;\n }\n return instance => {\n refs.forEach(ref => {\n setRef(ref, instance);\n });\n };\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler -- intentionally ignoring that the dependency array must be an array literal\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}", "'use client';\n\nimport * as React from 'react';\nconst UNINITIALIZED = {};\n\n/**\n * A React.useRef() that is initialized lazily with a function. Note that it accepts an optional\n * initialization argument, so the initialization function doesn't need to be an inline closure.\n *\n * @usage\n * const ref = useLazyRef(sortColumns, columns)\n */\nexport default function useLazyRef(init, initArg) {\n const ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = init(initArg);\n }\n return ref;\n}", "'use client';\n\nimport * as React from 'react';\nconst EMPTY = [];\n\n/**\n * A React.useEffect equivalent that runs once, when the component is mounted.\n */\nexport default function useOnMount(fn) {\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler -- no need to put `fn` in the dependency array\n /* eslint-disable react-hooks/exhaustive-deps */\n React.useEffect(fn, EMPTY);\n /* eslint-enable react-hooks/exhaustive-deps */\n}", "'use client';\n\nimport useLazyRef from \"../useLazyRef/useLazyRef.js\";\nimport useOnMount from \"../useOnMount/useOnMount.js\";\nexport class Timeout {\n static create() {\n return new Timeout();\n }\n currentId = null;\n\n /**\n * Executes `fn` after `delay`, clearing any previously scheduled call.\n */\n start(delay, fn) {\n this.clear();\n this.currentId = setTimeout(() => {\n this.currentId = null;\n fn();\n }, delay);\n }\n clear = () => {\n if (this.currentId !== null) {\n clearTimeout(this.currentId);\n this.currentId = null;\n }\n };\n disposeEffect = () => {\n return this.clear;\n };\n}\nexport default function useTimeout() {\n const timeout = useLazyRef(Timeout.create).current;\n useOnMount(timeout.disposeEffect);\n return timeout;\n}", "/**\n * Returns a boolean indicating if the event's target has :focus-visible\n */\nexport default function isFocusVisible(element) {\n try {\n return element.matches(':focus-visible');\n } catch (error) {\n // Do not warn on jsdom tests, otherwise all tests that rely on focus have to be skipped\n // Tests that rely on `:focus-visible` will still have to be skipped in jsdom\n if (process.env.NODE_ENV !== 'production' && !/jsdom/.test(window.navigator.userAgent)) {\n console.warn(['MUI: The `:focus-visible` pseudo class is not supported in this browser.', 'Some components rely on this feature to work properly.'].join('\\n'));\n }\n }\n return false;\n}", "// A change of the browser zoom change the scrollbar size.\n// Credit https://github.com/twbs/bootstrap/blob/488fd8afc535ca3a6ad4dc581f5e89217b6a36ac/js/src/util/scrollbar.js#L14-L18\nexport default function getScrollbarSize(win = window) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = win.document.documentElement.clientWidth;\n return win.innerWidth - documentWidth;\n}", "'use client';\n\nimport * as React from 'react';\nconst usePreviousProps = value => {\n const ref = React.useRef({});\n React.useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\nexport default usePreviousProps;", "/* eslint no-restricted-syntax: 0, prefer-template: 0, guard-for-in: 0\n ---\n These rules are preventing the performance optimizations below.\n */\n\nexport default function composeClasses(slots, getUtilityClass, classes = undefined) {\n const output = {};\n for (const slotName in slots) {\n const slot = slots[slotName];\n let buffer = '';\n let start = true;\n for (let i = 0; i < slot.length; i += 1) {\n const value = slot[i];\n if (value) {\n buffer += (start === true ? '' : ' ') + getUtilityClass(value);\n start = false;\n if (classes && classes[value]) {\n buffer += ' ' + classes[value];\n }\n }\n }\n output[slotName] = buffer;\n }\n return output;\n}", "/**\n * Determines if a given element is a DOM element name (i.e. not a React component).\n */\nfunction isHostComponent(element) {\n return typeof element === 'string';\n}\nexport default isHostComponent;", "import isHostComponent from \"../isHostComponent/index.js\";\n\n/**\n * Type of the ownerState based on the type of an element it applies to.\n * This resolves to the provided OwnerState for React components and `undefined` for host components.\n * Falls back to `OwnerState | undefined` when the exact type can't be determined in development time.\n */\n\n/**\n * Appends the ownerState object to the props, merging with the existing one if necessary.\n *\n * @param elementType Type of the element that owns the `existingProps`. If the element is a DOM node or undefined, `ownerState` is not applied.\n * @param otherProps Props of the element.\n * @param ownerState\n */\nfunction appendOwnerState(elementType, otherProps, ownerState) {\n if (elementType === undefined || isHostComponent(elementType)) {\n return otherProps;\n }\n return {\n ...otherProps,\n ownerState: {\n ...otherProps.ownerState,\n ...ownerState\n }\n };\n}\nexport default appendOwnerState;", "/**\n * Extracts event handlers from a given object.\n * A prop is considered an event handler if it is a function and its name starts with `on`.\n *\n * @param object An object to extract event handlers from.\n * @param excludeKeys An array of keys to exclude from the returned object.\n */\nfunction extractEventHandlers(object, excludeKeys = []) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => prop.match(/^on[A-Z]/) && typeof object[prop] === 'function' && !excludeKeys.includes(prop)).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}\nexport default extractEventHandlers;", "/**\n * Removes event handlers from the given object.\n * A field is considered an event handler if it is a function with a name beginning with `on`.\n *\n * @param object Object to remove event handlers from.\n * @returns Object with event handlers removed.\n */\nfunction omitEventHandlers(object) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => !(prop.match(/^on[A-Z]/) && typeof object[prop] === 'function')).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}\nexport default omitEventHandlers;", "import clsx from 'clsx';\nimport extractEventHandlers from \"../extractEventHandlers/index.js\";\nimport omitEventHandlers from \"../omitEventHandlers/index.js\";\n/**\n * Merges the slot component internal props (usually coming from a hook)\n * with the externally provided ones.\n *\n * The merge order is (the latter overrides the former):\n * 1. The internal props (specified as a getter function to work with get*Props hook result)\n * 2. Additional props (specified internally on a Base UI component)\n * 3. External props specified on the owner component. These should only be used on a root slot.\n * 4. External props specified in the `slotProps.*` prop.\n * 5. The `className` prop - combined from all the above.\n * @param parameters\n * @returns\n */\nfunction mergeSlotProps(parameters) {\n const {\n getSlotProps,\n additionalProps,\n externalSlotProps,\n externalForwardedProps,\n className\n } = parameters;\n if (!getSlotProps) {\n // The simpler case - getSlotProps is not defined, so no internal event handlers are defined,\n // so we can simply merge all the props without having to worry about extracting event handlers.\n const joinedClasses = clsx(additionalProps?.className, className, externalForwardedProps?.className, externalSlotProps?.className);\n const mergedStyle = {\n ...additionalProps?.style,\n ...externalForwardedProps?.style,\n ...externalSlotProps?.style\n };\n const props = {\n ...additionalProps,\n ...externalForwardedProps,\n ...externalSlotProps\n };\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: undefined\n };\n }\n\n // In this case, getSlotProps is responsible for calling the external event handlers.\n // We don't need to include them in the merged props because of this.\n\n const eventHandlers = extractEventHandlers({\n ...externalForwardedProps,\n ...externalSlotProps\n });\n const componentsPropsWithoutEventHandlers = omitEventHandlers(externalSlotProps);\n const otherPropsWithoutEventHandlers = omitEventHandlers(externalForwardedProps);\n const internalSlotProps = getSlotProps(eventHandlers);\n\n // The order of classes is important here.\n // Emotion (that we use in libraries consuming Base UI) depends on this order\n // to properly override style. It requires the most important classes to be last\n // (see https://github.com/mui/material-ui/pull/33205) for the related discussion.\n const joinedClasses = clsx(internalSlotProps?.className, additionalProps?.className, className, externalForwardedProps?.className, externalSlotProps?.className);\n const mergedStyle = {\n ...internalSlotProps?.style,\n ...additionalProps?.style,\n ...externalForwardedProps?.style,\n ...externalSlotProps?.style\n };\n const props = {\n ...internalSlotProps,\n ...additionalProps,\n ...otherPropsWithoutEventHandlers,\n ...componentsPropsWithoutEventHandlers\n };\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: internalSlotProps.ref\n };\n}\nexport default mergeSlotProps;", "/**\n * If `componentProps` is a function, calls it with the provided `ownerState`.\n * Otherwise, just returns `componentProps`.\n */\nfunction resolveComponentProps(componentProps, ownerState, slotState) {\n if (typeof componentProps === 'function') {\n return componentProps(ownerState, slotState);\n }\n return componentProps;\n}\nexport default resolveComponentProps;", "'use client';\n\nimport useForkRef from \"../useForkRef/index.js\";\nimport appendOwnerState from \"../appendOwnerState/index.js\";\nimport mergeSlotProps from \"../mergeSlotProps/index.js\";\nimport resolveComponentProps from \"../resolveComponentProps/index.js\";\n/**\n * @ignore - do not document.\n * Builds the props to be passed into the slot of an unstyled component.\n * It merges the internal props of the component with the ones supplied by the user, allowing to customize the behavior.\n * If the slot component is not a host component, it also merges in the `ownerState`.\n *\n * @param parameters.getSlotProps - A function that returns the props to be passed to the slot component.\n */\nfunction useSlotProps(parameters) {\n const {\n elementType,\n externalSlotProps,\n ownerState,\n skipResolvingSlotProps = false,\n ...other\n } = parameters;\n const resolvedComponentsProps = skipResolvingSlotProps ? {} : resolveComponentProps(externalSlotProps, ownerState);\n const {\n props: mergedProps,\n internalRef\n } = mergeSlotProps({\n ...other,\n externalSlotProps: resolvedComponentsProps\n });\n const ref = useForkRef(internalRef, resolvedComponentsProps?.ref, parameters.additionalProps?.ref);\n const props = appendOwnerState(elementType, {\n ...mergedProps,\n ref\n }, ownerState);\n return props;\n}\nexport default useSlotProps;", "import * as React from 'react';\n\n/**\n * Returns the ref of a React element handling differences between React 19 and older versions.\n * It will throw runtime error if the element is not a valid React element.\n *\n * @param element React.ReactElement\n * @returns React.Ref | null\n */\nexport default function getReactElementRef(element) {\n // 'ref' is passed as prop in React 19, whereas 'ref' is directly attached to children in older versions\n if (parseInt(React.version, 10) >= 19) {\n return element?.props?.ref || null;\n }\n // @ts-expect-error element.ref is not included in the ReactElement type\n // https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/70189\n return element?.ref || null;\n}", "import * as React from 'react';\nconst ThemeContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'ThemeContext';\n}\nexport default ThemeContext;", "import * as React from 'react';\nimport ThemeContext from \"./ThemeContext.js\";\nexport default function useTheme() {\n const theme = React.useContext(ThemeContext);\n if (process.env.NODE_ENV !== 'production') {\n // TODO: uncomment once we enable eslint-plugin-react-compiler eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks -- It's not required to run React.useDebugValue in production\n React.useDebugValue(theme);\n }\n return theme;\n}", "const hasSymbol = typeof Symbol === 'function' && Symbol.for;\nexport default hasSymbol ? Symbol.for('mui.nested') : '__THEME_NESTED__';", "import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst RtlContext = /*#__PURE__*/React.createContext();\nfunction RtlProvider({\n value,\n ...props\n}) {\n return /*#__PURE__*/_jsx(RtlContext.Provider, {\n value: value ?? true,\n ...props\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? RtlProvider.propTypes = {\n children: PropTypes.node,\n value: PropTypes.bool\n} : void 0;\nexport const useRtl = () => {\n const value = React.useContext(RtlContext);\n return value ?? false;\n};\nexport default RtlProvider;", "'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport resolveProps from '@mui/utils/resolveProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PropsContext = /*#__PURE__*/React.createContext(undefined);\nfunction DefaultPropsProvider({\n value,\n children\n}) {\n return /*#__PURE__*/_jsx(PropsContext.Provider, {\n value: value,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? DefaultPropsProvider.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the TypeScript types and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n value: PropTypes.object\n} : void 0;\nfunction getThemeProps(params) {\n const {\n theme,\n name,\n props\n } = params;\n if (!theme || !theme.components || !theme.components[name]) {\n return props;\n }\n const config = theme.components[name];\n if (config.defaultProps) {\n // compatible with v5 signature\n return resolveProps(config.defaultProps, props);\n }\n if (!config.styleOverrides && !config.variants) {\n // v6 signature, no property 'defaultProps'\n return resolveProps(config, props);\n }\n return props;\n}\nexport function useDefaultProps({\n props,\n name\n}) {\n const ctx = React.useContext(PropsContext);\n return getThemeProps({\n props,\n name,\n theme: {\n components: ctx\n }\n });\n}\nexport default DefaultPropsProvider;", "import preprocessStyles from \"./preprocessStyles.js\";\n\n/* eslint-disable @typescript-eslint/naming-convention */\n\n// We need to pass an argument as `{ theme }` for PigmentCSS, but we don't want to\n// allocate more objects.\nconst arg = {\n theme: undefined\n};\n\n/**\n * Memoize style function on theme.\n * Intended to be used in styled() calls that only need access to the theme.\n */\nexport default function unstable_memoTheme(styleFn) {\n let lastValue;\n let lastTheme;\n return function styleMemoized(props) {\n let value = lastValue;\n if (value === undefined || props.theme !== lastTheme) {\n arg.theme = props.theme;\n value = preprocessStyles(styleFn(arg));\n lastValue = value;\n lastTheme = props.theme;\n }\n return value;\n };\n}", "import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { GlobalStyles } from '@mui/styled-engine';\nimport { useTheme as muiUseTheme } from '@mui/private-theming';\nimport ThemeProvider from \"../ThemeProvider/index.js\";\nimport InitColorSchemeScript, { DEFAULT_COLOR_SCHEME_STORAGE_KEY, DEFAULT_MODE_STORAGE_KEY } from \"../InitColorSchemeScript/InitColorSchemeScript.js\";\nimport useCurrentColorScheme from \"./useCurrentColorScheme.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const DISABLE_CSS_TRANSITION = '*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}';\nexport default function createCssVarsProvider(options) {\n const {\n themeId,\n /**\n * This `theme` object needs to follow a certain structure to\n * be used correctly by the finel `CssVarsProvider`. It should have a\n * `colorSchemes` key with the light and dark (and any other) palette.\n * It should also ideally have a vars object created using `prepareCssVars`.\n */\n theme: defaultTheme = {},\n modeStorageKey: defaultModeStorageKey = DEFAULT_MODE_STORAGE_KEY,\n colorSchemeStorageKey: defaultColorSchemeStorageKey = DEFAULT_COLOR_SCHEME_STORAGE_KEY,\n disableTransitionOnChange: designSystemTransitionOnChange = false,\n defaultColorScheme,\n resolveTheme\n } = options;\n const defaultContext = {\n allColorSchemes: [],\n colorScheme: undefined,\n darkColorScheme: undefined,\n lightColorScheme: undefined,\n mode: undefined,\n setColorScheme: () => {},\n setMode: () => {},\n systemMode: undefined\n };\n const ColorSchemeContext = /*#__PURE__*/React.createContext(undefined);\n if (process.env.NODE_ENV !== 'production') {\n ColorSchemeContext.displayName = 'ColorSchemeContext';\n }\n const useColorScheme = () => React.useContext(ColorSchemeContext) || defaultContext;\n function CssVarsProvider(props) {\n const {\n children,\n theme: themeProp,\n modeStorageKey = defaultModeStorageKey,\n colorSchemeStorageKey = defaultColorSchemeStorageKey,\n disableTransitionOnChange = designSystemTransitionOnChange,\n storageWindow = typeof window === 'undefined' ? undefined : window,\n documentNode = typeof document === 'undefined' ? undefined : document,\n colorSchemeNode = typeof document === 'undefined' ? undefined : document.documentElement,\n disableNestedContext = false,\n disableStyleSheetGeneration = false,\n defaultMode: initialMode = 'system',\n noSsr\n } = props;\n const hasMounted = React.useRef(false);\n const upperTheme = muiUseTheme();\n const ctx = React.useContext(ColorSchemeContext);\n const nested = !!ctx && !disableNestedContext;\n const initialTheme = React.useMemo(() => {\n if (themeProp) {\n return themeProp;\n }\n return typeof defaultTheme === 'function' ? defaultTheme() : defaultTheme;\n }, [themeProp]);\n const scopedTheme = initialTheme[themeId];\n const {\n colorSchemes = {},\n components = {},\n cssVarPrefix,\n ...restThemeProp\n } = scopedTheme || initialTheme;\n const joinedColorSchemes = Object.keys(colorSchemes).filter(k => !!colorSchemes[k]).join(',');\n const allColorSchemes = React.useMemo(() => joinedColorSchemes.split(','), [joinedColorSchemes]);\n const defaultLightColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.light;\n const defaultDarkColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.dark;\n const defaultMode = colorSchemes[defaultLightColorScheme] && colorSchemes[defaultDarkColorScheme] ? initialMode : colorSchemes[restThemeProp.defaultColorScheme]?.palette?.mode || restThemeProp.palette?.mode;\n\n // 1. Get the data about the `mode`, `colorScheme`, and setter functions.\n const {\n mode: stateMode,\n setMode,\n systemMode,\n lightColorScheme,\n darkColorScheme,\n colorScheme: stateColorScheme,\n setColorScheme\n } = useCurrentColorScheme({\n supportedColorSchemes: allColorSchemes,\n defaultLightColorScheme,\n defaultDarkColorScheme,\n modeStorageKey,\n colorSchemeStorageKey,\n defaultMode,\n storageWindow,\n noSsr\n });\n let mode = stateMode;\n let colorScheme = stateColorScheme;\n if (nested) {\n mode = ctx.mode;\n colorScheme = ctx.colorScheme;\n }\n\n // `colorScheme` is undefined on the server and hydration phase\n const calculatedColorScheme = colorScheme || restThemeProp.defaultColorScheme;\n\n // 2. get the `vars` object that refers to the CSS custom properties\n const themeVars = restThemeProp.generateThemeVars?.() || restThemeProp.vars;\n\n // 3. Start composing the theme object\n const theme = {\n ...restThemeProp,\n components,\n colorSchemes,\n cssVarPrefix,\n vars: themeVars\n };\n if (typeof theme.generateSpacing === 'function') {\n theme.spacing = theme.generateSpacing();\n }\n\n // 4. Resolve the color scheme and merge it to the theme\n if (calculatedColorScheme) {\n const scheme = colorSchemes[calculatedColorScheme];\n if (scheme && typeof scheme === 'object') {\n // 4.1 Merge the selected color scheme to the theme\n Object.keys(scheme).forEach(schemeKey => {\n if (scheme[schemeKey] && typeof scheme[schemeKey] === 'object') {\n // shallow merge the 1st level structure of the theme.\n theme[schemeKey] = {\n ...theme[schemeKey],\n ...scheme[schemeKey]\n };\n } else {\n theme[schemeKey] = scheme[schemeKey];\n }\n });\n }\n }\n\n // 5. Declaring effects\n // 5.1 Updates the selector value to use the current color scheme which tells CSS to use the proper stylesheet.\n const colorSchemeSelector = restThemeProp.colorSchemeSelector;\n React.useEffect(() => {\n if (colorScheme && colorSchemeNode && colorSchemeSelector && colorSchemeSelector !== 'media') {\n const selector = colorSchemeSelector;\n let rule = colorSchemeSelector;\n if (selector === 'class') {\n rule = `.%s`;\n }\n if (selector === 'data') {\n rule = `[data-%s]`;\n }\n if (selector?.startsWith('data-') && !selector.includes('%s')) {\n // 'data-mui-color-scheme' -> '[data-mui-color-scheme=\"%s\"]'\n rule = `[${selector}=\"%s\"]`;\n }\n if (rule.startsWith('.')) {\n colorSchemeNode.classList.remove(...allColorSchemes.map(scheme => rule.substring(1).replace('%s', scheme)));\n colorSchemeNode.classList.add(rule.substring(1).replace('%s', colorScheme));\n } else {\n const matches = rule.replace('%s', colorScheme).match(/\\[([^\\]]+)\\]/);\n if (matches) {\n const [attr, value] = matches[1].split('=');\n if (!value) {\n // for attributes like `data-theme-dark`, `data-theme-light`\n // remove all the existing data attributes before setting the new one\n allColorSchemes.forEach(scheme => {\n colorSchemeNode.removeAttribute(attr.replace(colorScheme, scheme));\n });\n }\n colorSchemeNode.setAttribute(attr, value ? value.replace(/\"|'/g, '') : '');\n } else {\n colorSchemeNode.setAttribute(rule, colorScheme);\n }\n }\n }\n }, [colorScheme, colorSchemeSelector, colorSchemeNode, allColorSchemes]);\n\n // 5.2 Remove the CSS transition when color scheme changes to create instant experience.\n // credit: https://github.com/pacocoursey/next-themes/blob/b5c2bad50de2d61ad7b52a9c5cdc801a78507d7a/index.tsx#L313\n React.useEffect(() => {\n let timer;\n if (disableTransitionOnChange && hasMounted.current && documentNode) {\n const css = documentNode.createElement('style');\n css.appendChild(documentNode.createTextNode(DISABLE_CSS_TRANSITION));\n documentNode.head.appendChild(css);\n\n // Force browser repaint\n (() => window.getComputedStyle(documentNode.body))();\n timer = setTimeout(() => {\n documentNode.head.removeChild(css);\n }, 1);\n }\n return () => {\n clearTimeout(timer);\n };\n }, [colorScheme, disableTransitionOnChange, documentNode]);\n React.useEffect(() => {\n hasMounted.current = true;\n return () => {\n hasMounted.current = false;\n };\n }, []);\n const contextValue = React.useMemo(() => ({\n allColorSchemes,\n colorScheme,\n darkColorScheme,\n lightColorScheme,\n mode,\n setColorScheme,\n setMode: process.env.NODE_ENV === 'production' ? setMode : newMode => {\n if (theme.colorSchemeSelector === 'media') {\n console.error(['MUI: The `setMode` function has no effect if `colorSchemeSelector` is `media` (`media` is the default value).', 'To toggle the mode manually, please configure `colorSchemeSelector` to use a class or data attribute.', 'To learn more, visit https://mui.com/material-ui/customization/css-theme-variables/configuration/#toggling-dark-mode-manually'].join('\\n'));\n }\n setMode(newMode);\n },\n systemMode\n }), [allColorSchemes, colorScheme, darkColorScheme, lightColorScheme, mode, setColorScheme, setMode, systemMode, theme.colorSchemeSelector]);\n let shouldGenerateStyleSheet = true;\n if (disableStyleSheetGeneration || restThemeProp.cssVariables === false || nested && upperTheme?.cssVarPrefix === cssVarPrefix) {\n shouldGenerateStyleSheet = false;\n }\n const element = /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(ThemeProvider, {\n themeId: scopedTheme ? themeId : undefined,\n theme: resolveTheme ? resolveTheme(theme) : theme,\n children: children\n }), shouldGenerateStyleSheet && /*#__PURE__*/_jsx(GlobalStyles, {\n styles: theme.generateStyleSheets?.() || []\n })]\n });\n if (nested) {\n return element;\n }\n return /*#__PURE__*/_jsx(ColorSchemeContext.Provider, {\n value: contextValue,\n children: element\n });\n }\n process.env.NODE_ENV !== \"production\" ? CssVarsProvider.propTypes = {\n /**\n * The component tree.\n */\n children: PropTypes.node,\n /**\n * The node used to attach the color-scheme attribute\n */\n colorSchemeNode: PropTypes.any,\n /**\n * localStorage key used to store `colorScheme`\n */\n colorSchemeStorageKey: PropTypes.string,\n /**\n * The default mode when the storage is empty,\n * require the theme to have `colorSchemes` with light and dark.\n */\n defaultMode: PropTypes.string,\n /**\n * If `true`, the provider creates its own context and generate stylesheet as if it is a root `CssVarsProvider`.\n */\n disableNestedContext: PropTypes.bool,\n /**\n * If `true`, the style sheet won't be generated.\n *\n * This is useful for controlling nested CssVarsProvider behavior.\n */\n disableStyleSheetGeneration: PropTypes.bool,\n /**\n * Disable CSS transitions when switching between modes or color schemes.\n */\n disableTransitionOnChange: PropTypes.bool,\n /**\n * The document to attach the attribute to.\n */\n documentNode: PropTypes.any,\n /**\n * The key in the local storage used to store current color scheme.\n */\n modeStorageKey: PropTypes.string,\n /**\n * If `true`, the mode will be the same value as the storage without an extra rerendering after the hydration.\n * You should use this option in conjuction with `InitColorSchemeScript` component.\n */\n noSsr: PropTypes.bool,\n /**\n * The window that attaches the 'storage' event listener.\n * @default window\n */\n storageWindow: PropTypes.any,\n /**\n * The calculated theme object that will be passed through context.\n */\n theme: PropTypes.object\n } : void 0;\n const defaultLightColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.light;\n const defaultDarkColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.dark;\n const getInitColorSchemeScript = params => InitColorSchemeScript({\n colorSchemeStorageKey: defaultColorSchemeStorageKey,\n defaultLightColorScheme,\n defaultDarkColorScheme,\n modeStorageKey: defaultModeStorageKey,\n ...params\n });\n return {\n CssVarsProvider,\n useColorScheme,\n getInitColorSchemeScript\n };\n}", "/**\n * Split this component for RSC import\n */\nimport * as React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const DEFAULT_MODE_STORAGE_KEY = 'mode';\nexport const DEFAULT_COLOR_SCHEME_STORAGE_KEY = 'color-scheme';\nexport const DEFAULT_ATTRIBUTE = 'data-color-scheme';\nexport default function InitColorSchemeScript(options) {\n const {\n defaultMode = 'system',\n defaultLightColorScheme = 'light',\n defaultDarkColorScheme = 'dark',\n modeStorageKey = DEFAULT_MODE_STORAGE_KEY,\n colorSchemeStorageKey = DEFAULT_COLOR_SCHEME_STORAGE_KEY,\n attribute: initialAttribute = DEFAULT_ATTRIBUTE,\n colorSchemeNode = 'document.documentElement',\n nonce\n } = options || {};\n let setter = '';\n let attribute = initialAttribute;\n if (initialAttribute === 'class') {\n attribute = '.%s';\n }\n if (initialAttribute === 'data') {\n attribute = '[data-%s]';\n }\n if (attribute.startsWith('.')) {\n const selector = attribute.substring(1);\n setter += `${colorSchemeNode}.classList.remove('${selector}'.replace('%s', light), '${selector}'.replace('%s', dark));\n ${colorSchemeNode}.classList.add('${selector}'.replace('%s', colorScheme));`;\n }\n const matches = attribute.match(/\\[([^\\]]+)\\]/); // case [data-color-scheme=%s] or [data-color-scheme]\n if (matches) {\n const [attr, value] = matches[1].split('=');\n if (!value) {\n setter += `${colorSchemeNode}.removeAttribute('${attr}'.replace('%s', light));\n ${colorSchemeNode}.removeAttribute('${attr}'.replace('%s', dark));`;\n }\n setter += `\n ${colorSchemeNode}.setAttribute('${attr}'.replace('%s', colorScheme), ${value ? `${value}.replace('%s', colorScheme)` : '\"\"'});`;\n } else {\n setter += `${colorSchemeNode}.setAttribute('${attribute}', colorScheme);`;\n }\n return /*#__PURE__*/_jsx(\"script\", {\n suppressHydrationWarning: true,\n nonce: typeof window === 'undefined' ? nonce : ''\n // eslint-disable-next-line react/no-danger\n ,\n dangerouslySetInnerHTML: {\n __html: `(function() {\ntry {\n let colorScheme = '';\n const mode = localStorage.getItem('${modeStorageKey}') || '${defaultMode}';\n const dark = localStorage.getItem('${colorSchemeStorageKey}-dark') || '${defaultDarkColorScheme}';\n const light = localStorage.getItem('${colorSchemeStorageKey}-light') || '${defaultLightColorScheme}';\n if (mode === 'system') {\n // handle system mode\n const mql = window.matchMedia('(prefers-color-scheme: dark)');\n if (mql.matches) {\n colorScheme = dark\n } else {\n colorScheme = light\n }\n }\n if (mode === 'light') {\n colorScheme = light;\n }\n if (mode === 'dark') {\n colorScheme = dark;\n }\n if (colorScheme) {\n ${setter}\n }\n} catch(e){}})();`\n }\n }, \"mui-color-scheme-init\");\n}", "'use client';\n\nimport * as React from 'react';\nimport { DEFAULT_MODE_STORAGE_KEY, DEFAULT_COLOR_SCHEME_STORAGE_KEY } from \"../InitColorSchemeScript/InitColorSchemeScript.js\";\nexport function getSystemMode(mode) {\n if (typeof window !== 'undefined' && typeof window.matchMedia === 'function' && mode === 'system') {\n const mql = window.matchMedia('(prefers-color-scheme: dark)');\n if (mql.matches) {\n return 'dark';\n }\n return 'light';\n }\n return undefined;\n}\nfunction processState(state, callback) {\n if (state.mode === 'light' || state.mode === 'system' && state.systemMode === 'light') {\n return callback('light');\n }\n if (state.mode === 'dark' || state.mode === 'system' && state.systemMode === 'dark') {\n return callback('dark');\n }\n return undefined;\n}\nexport function getColorScheme(state) {\n return processState(state, mode => {\n if (mode === 'light') {\n return state.lightColorScheme;\n }\n if (mode === 'dark') {\n return state.darkColorScheme;\n }\n return undefined;\n });\n}\nfunction initializeValue(key, defaultValue) {\n if (typeof window === 'undefined') {\n return undefined;\n }\n let value;\n try {\n value = localStorage.getItem(key) || undefined;\n if (!value) {\n // the first time that user enters the site.\n localStorage.setItem(key, defaultValue);\n }\n } catch {\n // Unsupported\n }\n return value || defaultValue;\n}\nexport default function useCurrentColorScheme(options) {\n const {\n defaultMode = 'light',\n defaultLightColorScheme,\n defaultDarkColorScheme,\n supportedColorSchemes = [],\n modeStorageKey = DEFAULT_MODE_STORAGE_KEY,\n colorSchemeStorageKey = DEFAULT_COLOR_SCHEME_STORAGE_KEY,\n storageWindow = typeof window === 'undefined' ? undefined : window,\n noSsr = false\n } = options;\n const joinedColorSchemes = supportedColorSchemes.join(',');\n const isMultiSchemes = supportedColorSchemes.length > 1;\n const [state, setState] = React.useState(() => {\n const initialMode = initializeValue(modeStorageKey, defaultMode);\n const lightColorScheme = initializeValue(`${colorSchemeStorageKey}-light`, defaultLightColorScheme);\n const darkColorScheme = initializeValue(`${colorSchemeStorageKey}-dark`, defaultDarkColorScheme);\n return {\n mode: initialMode,\n systemMode: getSystemMode(initialMode),\n lightColorScheme,\n darkColorScheme\n };\n });\n const [isClient, setIsClient] = React.useState(noSsr || !isMultiSchemes);\n React.useEffect(() => {\n setIsClient(true); // to rerender the component after hydration\n }, []);\n const colorScheme = getColorScheme(state);\n const setMode = React.useCallback(mode => {\n setState(currentState => {\n if (mode === currentState.mode) {\n // do nothing if mode does not change\n return currentState;\n }\n const newMode = mode ?? defaultMode;\n try {\n localStorage.setItem(modeStorageKey, newMode);\n } catch {\n // Unsupported\n }\n return {\n ...currentState,\n mode: newMode,\n systemMode: getSystemMode(newMode)\n };\n });\n }, [modeStorageKey, defaultMode]);\n const setColorScheme = React.useCallback(value => {\n if (!value) {\n setState(currentState => {\n try {\n localStorage.setItem(`${colorSchemeStorageKey}-light`, defaultLightColorScheme);\n localStorage.setItem(`${colorSchemeStorageKey}-dark`, defaultDarkColorScheme);\n } catch {\n // Unsupported\n }\n return {\n ...currentState,\n lightColorScheme: defaultLightColorScheme,\n darkColorScheme: defaultDarkColorScheme\n };\n });\n } else if (typeof value === 'string') {\n if (value && !joinedColorSchemes.includes(value)) {\n console.error(`\\`${value}\\` does not exist in \\`theme.colorSchemes\\`.`);\n } else {\n setState(currentState => {\n const newState = {\n ...currentState\n };\n processState(currentState, mode => {\n try {\n localStorage.setItem(`${colorSchemeStorageKey}-${mode}`, value);\n } catch {\n // Unsupported\n }\n if (mode === 'light') {\n newState.lightColorScheme = value;\n }\n if (mode === 'dark') {\n newState.darkColorScheme = value;\n }\n });\n return newState;\n });\n }\n } else {\n setState(currentState => {\n const newState = {\n ...currentState\n };\n const newLightColorScheme = value.light === null ? defaultLightColorScheme : value.light;\n const newDarkColorScheme = value.dark === null ? defaultDarkColorScheme : value.dark;\n if (newLightColorScheme) {\n if (!joinedColorSchemes.includes(newLightColorScheme)) {\n console.error(`\\`${newLightColorScheme}\\` does not exist in \\`theme.colorSchemes\\`.`);\n } else {\n newState.lightColorScheme = newLightColorScheme;\n try {\n localStorage.setItem(`${colorSchemeStorageKey}-light`, newLightColorScheme);\n } catch (error) {\n // Unsupported\n }\n }\n }\n if (newDarkColorScheme) {\n if (!joinedColorSchemes.includes(newDarkColorScheme)) {\n console.error(`\\`${newDarkColorScheme}\\` does not exist in \\`theme.colorSchemes\\`.`);\n } else {\n newState.darkColorScheme = newDarkColorScheme;\n try {\n localStorage.setItem(`${colorSchemeStorageKey}-dark`, newDarkColorScheme);\n } catch (error) {\n // Unsupported\n }\n }\n }\n return newState;\n });\n }\n }, [joinedColorSchemes, colorSchemeStorageKey, defaultLightColorScheme, defaultDarkColorScheme]);\n const handleMediaQuery = React.useCallback(event => {\n if (state.mode === 'system') {\n setState(currentState => {\n const systemMode = event?.matches ? 'dark' : 'light';\n\n // Early exit, nothing changed.\n if (currentState.systemMode === systemMode) {\n return currentState;\n }\n return {\n ...currentState,\n systemMode\n };\n });\n }\n }, [state.mode]);\n\n // Ref hack to avoid adding handleMediaQuery as a dep\n const mediaListener = React.useRef(handleMediaQuery);\n mediaListener.current = handleMediaQuery;\n React.useEffect(() => {\n if (typeof window.matchMedia !== 'function' || !isMultiSchemes) {\n return undefined;\n }\n const handler = (...args) => mediaListener.current(...args);\n\n // Always listen to System preference\n const media = window.matchMedia('(prefers-color-scheme: dark)');\n\n // Intentionally use deprecated listener methods to support iOS & old browsers\n media.addListener(handler);\n handler(media);\n return () => {\n media.removeListener(handler);\n };\n }, [isMultiSchemes]);\n\n // Handle when localStorage has changed\n React.useEffect(() => {\n if (storageWindow && isMultiSchemes) {\n const handleStorage = event => {\n const value = event.newValue;\n if (typeof event.key === 'string' && event.key.startsWith(colorSchemeStorageKey) && (!value || joinedColorSchemes.match(value))) {\n // If the key is deleted, value will be null then reset color scheme to the default one.\n if (event.key.endsWith('light')) {\n setColorScheme({\n light: value\n });\n }\n if (event.key.endsWith('dark')) {\n setColorScheme({\n dark: value\n });\n }\n }\n if (event.key === modeStorageKey && (!value || ['light', 'dark', 'system'].includes(value))) {\n setMode(value || defaultMode);\n }\n };\n // For syncing color-scheme changes between iframes\n storageWindow.addEventListener('storage', handleStorage);\n return () => {\n storageWindow.removeEventListener('storage', handleStorage);\n };\n }\n return undefined;\n }, [setColorScheme, setMode, modeStorageKey, colorSchemeStorageKey, joinedColorSchemes, defaultMode, storageWindow, isMultiSchemes]);\n return {\n ...state,\n mode: isClient ? state.mode : undefined,\n systemMode: isClient ? state.systemMode : undefined,\n colorScheme: isClient ? colorScheme : undefined,\n setMode,\n setColorScheme\n };\n}", "/**\n * The benefit of this function is to help developers get CSS var from theme without specifying the whole variable\n * and they does not need to remember the prefix (defined once).\n */\nexport default function createGetCssVar(prefix = '') {\n function appendVar(...vars) {\n if (!vars.length) {\n return '';\n }\n const value = vars[0];\n if (typeof value === 'string' && !value.match(/(#|\\(|\\)|(-?(\\d*\\.)?\\d+)(px|em|%|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc))|^(-?(\\d*\\.)?\\d+)$|(\\d+ \\d+ \\d+)/)) {\n return `, var(--${prefix ? `${prefix}-` : ''}${value}${appendVar(...vars.slice(1))})`;\n }\n return `, ${value}`;\n }\n\n // AdditionalVars makes `getCssVar` less strict, so it can be use like this `getCssVar('non-mui-variable')` without type error.\n const getCssVar = (field, ...fallbacks) => {\n return `var(--${prefix ? `${prefix}-` : ''}${field}${appendVar(...fallbacks)})`;\n };\n return getCssVar;\n}", "/**\n * This function create an object from keys, value and then assign to target\n *\n * @param {Object} obj : the target object to be assigned\n * @param {string[]} keys\n * @param {string | number} value\n *\n * @example\n * const source = {}\n * assignNestedKeys(source, ['palette', 'primary'], 'var(--palette-primary)')\n * console.log(source) // { palette: { primary: 'var(--palette-primary)' } }\n *\n * @example\n * const source = { palette: { primary: 'var(--palette-primary)' } }\n * assignNestedKeys(source, ['palette', 'secondary'], 'var(--palette-secondary)')\n * console.log(source) // { palette: { primary: 'var(--palette-primary)', secondary: 'var(--palette-secondary)' } }\n */\nexport const assignNestedKeys = (obj, keys, value, arrayKeys = []) => {\n let temp = obj;\n keys.forEach((k, index) => {\n if (index === keys.length - 1) {\n if (Array.isArray(temp)) {\n temp[Number(k)] = value;\n } else if (temp && typeof temp === 'object') {\n temp[k] = value;\n }\n } else if (temp && typeof temp === 'object') {\n if (!temp[k]) {\n temp[k] = arrayKeys.includes(k) ? [] : {};\n }\n temp = temp[k];\n }\n });\n};\n\n/**\n *\n * @param {Object} obj : source object\n * @param {Function} callback : a function that will be called when\n * - the deepest key in source object is reached\n * - the value of the deepest key is NOT `undefined` | `null`\n *\n * @example\n * walkObjectDeep({ palette: { primary: { main: '#000000' } } }, console.log)\n * // ['palette', 'primary', 'main'] '#000000'\n */\nexport const walkObjectDeep = (obj, callback, shouldSkipPaths) => {\n function recurse(object, parentKeys = [], arrayKeys = []) {\n Object.entries(object).forEach(([key, value]) => {\n if (!shouldSkipPaths || shouldSkipPaths && !shouldSkipPaths([...parentKeys, key])) {\n if (value !== undefined && value !== null) {\n if (typeof value === 'object' && Object.keys(value).length > 0) {\n recurse(value, [...parentKeys, key], Array.isArray(value) ? [...arrayKeys, key] : arrayKeys);\n } else {\n callback([...parentKeys, key], value, arrayKeys);\n }\n }\n }\n });\n }\n recurse(obj);\n};\nconst getCssValue = (keys, value) => {\n if (typeof value === 'number') {\n if (['lineHeight', 'fontWeight', 'opacity', 'zIndex'].some(prop => keys.includes(prop))) {\n // CSS property that are unitless\n return value;\n }\n const lastKey = keys[keys.length - 1];\n if (lastKey.toLowerCase().includes('opacity')) {\n // opacity values are unitless\n return value;\n }\n return `${value}px`;\n }\n return value;\n};\n\n/**\n * a function that parse theme and return { css, vars }\n *\n * @param {Object} theme\n * @param {{\n * prefix?: string,\n * shouldSkipGeneratingVar?: (objectPathKeys: Array, value: string | number) => boolean\n * }} options.\n * `prefix`: The prefix of the generated CSS variables. This function does not change the value.\n *\n * @returns {{ css: Object, vars: Object }} `css` is the stylesheet, `vars` is an object to get css variable (same structure as theme).\n *\n * @example\n * const { css, vars } = parser({\n * fontSize: 12,\n * lineHeight: 1.2,\n * palette: { primary: { 500: 'var(--color)' } }\n * }, { prefix: 'foo' })\n *\n * console.log(css) // { '--foo-fontSize': '12px', '--foo-lineHeight': 1.2, '--foo-palette-primary-500': 'var(--color)' }\n * console.log(vars) // { fontSize: 'var(--foo-fontSize)', lineHeight: 'var(--foo-lineHeight)', palette: { primary: { 500: 'var(--foo-palette-primary-500)' } } }\n */\nexport default function cssVarsParser(theme, options) {\n const {\n prefix,\n shouldSkipGeneratingVar\n } = options || {};\n const css = {};\n const vars = {};\n const varsWithDefaults = {};\n walkObjectDeep(theme, (keys, value, arrayKeys) => {\n if (typeof value === 'string' || typeof value === 'number') {\n if (!shouldSkipGeneratingVar || !shouldSkipGeneratingVar(keys, value)) {\n // only create css & var if `shouldSkipGeneratingVar` return false\n const cssVar = `--${prefix ? `${prefix}-` : ''}${keys.join('-')}`;\n const resolvedValue = getCssValue(keys, value);\n Object.assign(css, {\n [cssVar]: resolvedValue\n });\n assignNestedKeys(vars, keys, `var(${cssVar})`, arrayKeys);\n assignNestedKeys(varsWithDefaults, keys, `var(${cssVar}, ${resolvedValue})`, arrayKeys);\n }\n }\n }, keys => keys[0] === 'vars' // skip 'vars/*' paths\n );\n return {\n css,\n vars,\n varsWithDefaults\n };\n}", "import deepmerge from '@mui/utils/deepmerge';\nimport cssVarsParser from \"./cssVarsParser.js\";\nfunction prepareCssVars(theme, parserConfig = {}) {\n const {\n getSelector = defaultGetSelector,\n disableCssColorScheme,\n colorSchemeSelector: selector\n } = parserConfig;\n // @ts-ignore - ignore components do not exist\n const {\n colorSchemes = {},\n components,\n defaultColorScheme = 'light',\n ...otherTheme\n } = theme;\n const {\n vars: rootVars,\n css: rootCss,\n varsWithDefaults: rootVarsWithDefaults\n } = cssVarsParser(otherTheme, parserConfig);\n let themeVars = rootVarsWithDefaults;\n const colorSchemesMap = {};\n const {\n [defaultColorScheme]: defaultScheme,\n ...otherColorSchemes\n } = colorSchemes;\n Object.entries(otherColorSchemes || {}).forEach(([key, scheme]) => {\n const {\n vars,\n css,\n varsWithDefaults\n } = cssVarsParser(scheme, parserConfig);\n themeVars = deepmerge(themeVars, varsWithDefaults);\n colorSchemesMap[key] = {\n css,\n vars\n };\n });\n if (defaultScheme) {\n // default color scheme vars should be merged last to set as default\n const {\n css,\n vars,\n varsWithDefaults\n } = cssVarsParser(defaultScheme, parserConfig);\n themeVars = deepmerge(themeVars, varsWithDefaults);\n colorSchemesMap[defaultColorScheme] = {\n css,\n vars\n };\n }\n function defaultGetSelector(colorScheme, cssObject) {\n let rule = selector;\n if (selector === 'class') {\n rule = '.%s';\n }\n if (selector === 'data') {\n rule = '[data-%s]';\n }\n if (selector?.startsWith('data-') && !selector.includes('%s')) {\n // 'data-joy-color-scheme' -> '[data-joy-color-scheme=\"%s\"]'\n rule = `[${selector}=\"%s\"]`;\n }\n if (colorScheme) {\n if (rule === 'media') {\n if (theme.defaultColorScheme === colorScheme) {\n return ':root';\n }\n const mode = colorSchemes[colorScheme]?.palette?.mode || colorScheme;\n return {\n [`@media (prefers-color-scheme: ${mode})`]: {\n ':root': cssObject\n }\n };\n }\n if (rule) {\n if (theme.defaultColorScheme === colorScheme) {\n return `:root, ${rule.replace('%s', String(colorScheme))}`;\n }\n return rule.replace('%s', String(colorScheme));\n }\n }\n return ':root';\n }\n const generateThemeVars = () => {\n let vars = {\n ...rootVars\n };\n Object.entries(colorSchemesMap).forEach(([, {\n vars: schemeVars\n }]) => {\n vars = deepmerge(vars, schemeVars);\n });\n return vars;\n };\n const generateStyleSheets = () => {\n const stylesheets = [];\n const colorScheme = theme.defaultColorScheme || 'light';\n function insertStyleSheet(key, css) {\n if (Object.keys(css).length) {\n stylesheets.push(typeof key === 'string' ? {\n [key]: {\n ...css\n }\n } : key);\n }\n }\n insertStyleSheet(getSelector(undefined, {\n ...rootCss\n }), rootCss);\n const {\n [colorScheme]: defaultSchemeVal,\n ...other\n } = colorSchemesMap;\n if (defaultSchemeVal) {\n // default color scheme has to come before other color schemes\n const {\n css\n } = defaultSchemeVal;\n const cssColorSheme = colorSchemes[colorScheme]?.palette?.mode;\n const finalCss = !disableCssColorScheme && cssColorSheme ? {\n colorScheme: cssColorSheme,\n ...css\n } : {\n ...css\n };\n insertStyleSheet(getSelector(colorScheme, {\n ...finalCss\n }), finalCss);\n }\n Object.entries(other).forEach(([key, {\n css\n }]) => {\n const cssColorSheme = colorSchemes[key]?.palette?.mode;\n const finalCss = !disableCssColorScheme && cssColorSheme ? {\n colorScheme: cssColorSheme,\n ...css\n } : {\n ...css\n };\n insertStyleSheet(getSelector(key, {\n ...finalCss\n }), finalCss);\n });\n return stylesheets;\n };\n return {\n vars: themeVars,\n generateThemeVars,\n generateStyleSheets\n };\n}\nexport default prepareCssVars;", "/* eslint-disable import/prefer-default-export */\nexport function createGetColorSchemeSelector(selector) {\n return function getColorSchemeSelector(colorScheme) {\n if (selector === 'media') {\n if (process.env.NODE_ENV !== 'production') {\n if (colorScheme !== 'light' && colorScheme !== 'dark') {\n console.error(`MUI: @media (prefers-color-scheme) supports only 'light' or 'dark', but receive '${colorScheme}'.`);\n }\n }\n return `@media (prefers-color-scheme: ${colorScheme})`;\n }\n if (selector) {\n if (selector.startsWith('data-') && !selector.includes('%s')) {\n return `[${selector}=\"${colorScheme}\"] &`;\n }\n if (selector === 'class') {\n return `.${colorScheme} &`;\n }\n if (selector === 'data') {\n return `[data-${colorScheme}] &`;\n }\n return `${selector.replace('%s', colorScheme)} &`;\n }\n return '&';\n };\n}", "import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport isMuiElement from '@mui/utils/isMuiElement';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport composeClasses from '@mui/utils/composeClasses';\nimport systemStyled from \"../styled/index.js\";\nimport useThemePropsSystem from \"../useThemeProps/index.js\";\nimport useTheme from \"../useTheme/index.js\";\nimport { extendSxProp } from \"../styleFunctionSx/index.js\";\nimport createTheme from \"../createTheme/index.js\";\nimport { generateGridStyles, generateGridSizeStyles, generateGridColumnsStyles, generateGridColumnSpacingStyles, generateGridRowSpacingStyles, generateGridDirectionStyles, generateGridOffsetStyles, generateSizeClassNames, generateSpacingClassNames, generateDirectionClasses } from \"./gridGenerator.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultTheme = createTheme();\n\n// widening Theme to any so that the consumer can own the theme structure.\nconst defaultCreateStyledComponent = systemStyled('div', {\n name: 'MuiGrid',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n});\nfunction useThemePropsDefault(props) {\n return useThemePropsSystem({\n props,\n name: 'MuiGrid',\n defaultTheme\n });\n}\nexport default function createGrid(options = {}) {\n const {\n // This will allow adding custom styled fn (for example for custom sx style function)\n createStyledComponent = defaultCreateStyledComponent,\n useThemeProps = useThemePropsDefault,\n componentName = 'MuiGrid'\n } = options;\n const useUtilityClasses = (ownerState, theme) => {\n const {\n container,\n direction,\n spacing,\n wrap,\n size\n } = ownerState;\n const slots = {\n root: ['root', container && 'container', wrap !== 'wrap' && `wrap-xs-${String(wrap)}`, ...generateDirectionClasses(direction), ...generateSizeClassNames(size), ...(container ? generateSpacingClassNames(spacing, theme.breakpoints.keys[0]) : [])]\n };\n return composeClasses(slots, slot => generateUtilityClass(componentName, slot), {});\n };\n function parseResponsiveProp(propValue, breakpoints, shouldUseValue = () => true) {\n const parsedProp = {};\n if (propValue === null) {\n return parsedProp;\n }\n if (Array.isArray(propValue)) {\n propValue.forEach((value, index) => {\n if (value !== null && shouldUseValue(value) && breakpoints.keys[index]) {\n parsedProp[breakpoints.keys[index]] = value;\n }\n });\n } else if (typeof propValue === 'object') {\n Object.keys(propValue).forEach(key => {\n const value = propValue[key];\n if (value !== null && value !== undefined && shouldUseValue(value)) {\n parsedProp[key] = value;\n }\n });\n } else {\n parsedProp[breakpoints.keys[0]] = propValue;\n }\n return parsedProp;\n }\n const GridRoot = createStyledComponent(generateGridColumnsStyles, generateGridColumnSpacingStyles, generateGridRowSpacingStyles, generateGridSizeStyles, generateGridDirectionStyles, generateGridStyles, generateGridOffsetStyles);\n const Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {\n const theme = useTheme();\n const themeProps = useThemeProps(inProps);\n const props = extendSxProp(themeProps); // `color` type conflicts with html color attribute.\n const {\n className,\n children,\n columns: columnsProp = 12,\n container = false,\n component = 'div',\n direction = 'row',\n wrap = 'wrap',\n size: sizeProp = {},\n offset: offsetProp = {},\n spacing: spacingProp = 0,\n rowSpacing: rowSpacingProp = spacingProp,\n columnSpacing: columnSpacingProp = spacingProp,\n unstable_level: level = 0,\n ...other\n } = props;\n const size = parseResponsiveProp(sizeProp, theme.breakpoints, val => val !== false);\n const offset = parseResponsiveProp(offsetProp, theme.breakpoints);\n const columns = inProps.columns ?? (level ? undefined : columnsProp);\n const spacing = inProps.spacing ?? (level ? undefined : spacingProp);\n const rowSpacing = inProps.rowSpacing ?? inProps.spacing ?? (level ? undefined : rowSpacingProp);\n const columnSpacing = inProps.columnSpacing ?? inProps.spacing ?? (level ? undefined : columnSpacingProp);\n const ownerState = {\n ...props,\n level,\n columns,\n container,\n direction,\n wrap,\n spacing,\n rowSpacing,\n columnSpacing,\n size,\n offset\n };\n const classes = useUtilityClasses(ownerState, theme);\n return /*#__PURE__*/_jsx(GridRoot, {\n ref: ref,\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ...other,\n children: React.Children.map(children, child => {\n if (/*#__PURE__*/React.isValidElement(child) && isMuiElement(child, ['Grid']) && container && child.props.container) {\n return /*#__PURE__*/React.cloneElement(child, {\n unstable_level: child.props?.unstable_level ?? level + 1\n });\n }\n return child;\n })\n });\n });\n process.env.NODE_ENV !== \"production\" ? Grid.propTypes /* remove-proptypes */ = {\n children: PropTypes.node,\n className: PropTypes.string,\n columns: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.object]),\n columnSpacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n component: PropTypes.elementType,\n container: PropTypes.bool,\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n offset: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])), PropTypes.object]),\n rowSpacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n size: PropTypes.oneOfType([PropTypes.string, PropTypes.bool, PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.bool, PropTypes.number])), PropTypes.object]),\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n wrap: PropTypes.oneOf(['nowrap', 'wrap-reverse', 'wrap'])\n } : void 0;\n\n // @ts-ignore internal logic for nested grid\n Grid.muiName = 'Grid';\n return Grid;\n}", "export const filterBreakpointKeys = (breakpointsKeys, responsiveKeys) => breakpointsKeys.filter(key => responsiveKeys.includes(key));\nexport const traverseBreakpoints = (breakpoints, responsive, iterator) => {\n const smallestBreakpoint = breakpoints.keys[0]; // the keys is sorted from smallest to largest by `createBreakpoints`.\n\n if (Array.isArray(responsive)) {\n responsive.forEach((breakpointValue, index) => {\n iterator((responsiveStyles, style) => {\n if (index <= breakpoints.keys.length - 1) {\n if (index === 0) {\n Object.assign(responsiveStyles, style);\n } else {\n responsiveStyles[breakpoints.up(breakpoints.keys[index])] = style;\n }\n }\n }, breakpointValue);\n });\n } else if (responsive && typeof responsive === 'object') {\n // prevent null\n // responsive could be a very big object, pick the smallest responsive values\n\n const keys = Object.keys(responsive).length > breakpoints.keys.length ? breakpoints.keys : filterBreakpointKeys(breakpoints.keys, Object.keys(responsive));\n keys.forEach(key => {\n if (breakpoints.keys.includes(key)) {\n // @ts-ignore already checked that responsive is an object\n const breakpointValue = responsive[key];\n if (breakpointValue !== undefined) {\n iterator((responsiveStyles, style) => {\n if (smallestBreakpoint === key) {\n Object.assign(responsiveStyles, style);\n } else {\n responsiveStyles[breakpoints.up(key)] = style;\n }\n }, breakpointValue);\n }\n }\n });\n } else if (typeof responsive === 'number' || typeof responsive === 'string') {\n iterator((responsiveStyles, style) => {\n Object.assign(responsiveStyles, style);\n }, responsive);\n }\n};", "import { traverseBreakpoints } from \"./traverseBreakpoints.js\";\nfunction getSelfSpacingVar(axis) {\n return `--Grid-${axis}Spacing`;\n}\nfunction getParentSpacingVar(axis) {\n return `--Grid-parent-${axis}Spacing`;\n}\nconst selfColumnsVar = '--Grid-columns';\nconst parentColumnsVar = '--Grid-parent-columns';\nexport const generateGridSizeStyles = ({\n theme,\n ownerState\n}) => {\n const styles = {};\n traverseBreakpoints(theme.breakpoints, ownerState.size, (appendStyle, value) => {\n let style = {};\n if (value === 'grow') {\n style = {\n flexBasis: 0,\n flexGrow: 1,\n maxWidth: '100%'\n };\n }\n if (value === 'auto') {\n style = {\n flexBasis: 'auto',\n flexGrow: 0,\n flexShrink: 0,\n maxWidth: 'none',\n width: 'auto'\n };\n }\n if (typeof value === 'number') {\n style = {\n flexGrow: 0,\n flexBasis: 'auto',\n width: `calc(100% * ${value} / var(${parentColumnsVar}) - (var(${parentColumnsVar}) - ${value}) * (var(${getParentSpacingVar('column')}) / var(${parentColumnsVar})))`\n };\n }\n appendStyle(styles, style);\n });\n return styles;\n};\nexport const generateGridOffsetStyles = ({\n theme,\n ownerState\n}) => {\n const styles = {};\n traverseBreakpoints(theme.breakpoints, ownerState.offset, (appendStyle, value) => {\n let style = {};\n if (value === 'auto') {\n style = {\n marginLeft: 'auto'\n };\n }\n if (typeof value === 'number') {\n style = {\n marginLeft: value === 0 ? '0px' : `calc(100% * ${value} / var(${parentColumnsVar}) + var(${getParentSpacingVar('column')}) * ${value} / var(${parentColumnsVar}))`\n };\n }\n appendStyle(styles, style);\n });\n return styles;\n};\nexport const generateGridColumnsStyles = ({\n theme,\n ownerState\n}) => {\n if (!ownerState.container) {\n return {};\n }\n const styles = {\n [selfColumnsVar]: 12\n };\n traverseBreakpoints(theme.breakpoints, ownerState.columns, (appendStyle, value) => {\n const columns = value ?? 12;\n appendStyle(styles, {\n [selfColumnsVar]: columns,\n '> *': {\n [parentColumnsVar]: columns\n }\n });\n });\n return styles;\n};\nexport const generateGridRowSpacingStyles = ({\n theme,\n ownerState\n}) => {\n if (!ownerState.container) {\n return {};\n }\n const styles = {};\n traverseBreakpoints(theme.breakpoints, ownerState.rowSpacing, (appendStyle, value) => {\n const spacing = typeof value === 'string' ? value : theme.spacing?.(value);\n appendStyle(styles, {\n [getSelfSpacingVar('row')]: spacing,\n '> *': {\n [getParentSpacingVar('row')]: spacing\n }\n });\n });\n return styles;\n};\nexport const generateGridColumnSpacingStyles = ({\n theme,\n ownerState\n}) => {\n if (!ownerState.container) {\n return {};\n }\n const styles = {};\n traverseBreakpoints(theme.breakpoints, ownerState.columnSpacing, (appendStyle, value) => {\n const spacing = typeof value === 'string' ? value : theme.spacing?.(value);\n appendStyle(styles, {\n [getSelfSpacingVar('column')]: spacing,\n '> *': {\n [getParentSpacingVar('column')]: spacing\n }\n });\n });\n return styles;\n};\nexport const generateGridDirectionStyles = ({\n theme,\n ownerState\n}) => {\n if (!ownerState.container) {\n return {};\n }\n const styles = {};\n traverseBreakpoints(theme.breakpoints, ownerState.direction, (appendStyle, value) => {\n appendStyle(styles, {\n flexDirection: value\n });\n });\n return styles;\n};\nexport const generateGridStyles = ({\n ownerState\n}) => {\n return {\n minWidth: 0,\n boxSizing: 'border-box',\n ...(ownerState.container && {\n display: 'flex',\n flexWrap: 'wrap',\n ...(ownerState.wrap && ownerState.wrap !== 'wrap' && {\n flexWrap: ownerState.wrap\n }),\n gap: `var(${getSelfSpacingVar('row')}) var(${getSelfSpacingVar('column')})`\n })\n };\n};\nexport const generateSizeClassNames = size => {\n const classNames = [];\n Object.entries(size).forEach(([key, value]) => {\n if (value !== false && value !== undefined) {\n classNames.push(`grid-${key}-${String(value)}`);\n }\n });\n return classNames;\n};\nexport const generateSpacingClassNames = (spacing, smallestBreakpoint = 'xs') => {\n function isValidSpacing(val) {\n if (val === undefined) {\n return false;\n }\n return typeof val === 'string' && !Number.isNaN(Number(val)) || typeof val === 'number' && val > 0;\n }\n if (isValidSpacing(spacing)) {\n return [`spacing-${smallestBreakpoint}-${String(spacing)}`];\n }\n if (typeof spacing === 'object' && !Array.isArray(spacing)) {\n const classNames = [];\n Object.entries(spacing).forEach(([key, value]) => {\n if (isValidSpacing(value)) {\n classNames.push(`spacing-${key}-${String(value)}`);\n }\n });\n return classNames;\n }\n return [];\n};\nexport const generateDirectionClasses = direction => {\n if (direction === undefined) {\n return [];\n }\n if (typeof direction === 'object') {\n return Object.entries(direction).map(([key, value]) => `direction-${key}-${value}`);\n }\n return [`direction-xs-${String(direction)}`];\n};", "const common = {\n black: '#000',\n white: '#fff'\n};\nexport default common;", "const grey = {\n 50: '#fafafa',\n 100: '#f5f5f5',\n 200: '#eeeeee',\n 300: '#e0e0e0',\n 400: '#bdbdbd',\n 500: '#9e9e9e',\n 600: '#757575',\n 700: '#616161',\n 800: '#424242',\n 900: '#212121',\n A100: '#f5f5f5',\n A200: '#eeeeee',\n A400: '#bdbdbd',\n A700: '#616161'\n};\nexport default grey;", "const purple = {\n 50: '#f3e5f5',\n 100: '#e1bee7',\n 200: '#ce93d8',\n 300: '#ba68c8',\n 400: '#ab47bc',\n 500: '#9c27b0',\n 600: '#8e24aa',\n 700: '#7b1fa2',\n 800: '#6a1b9a',\n 900: '#4a148c',\n A100: '#ea80fc',\n A200: '#e040fb',\n A400: '#d500f9',\n A700: '#aa00ff'\n};\nexport default purple;", "const red = {\n 50: '#ffebee',\n 100: '#ffcdd2',\n 200: '#ef9a9a',\n 300: '#e57373',\n 400: '#ef5350',\n 500: '#f44336',\n 600: '#e53935',\n 700: '#d32f2f',\n 800: '#c62828',\n 900: '#b71c1c',\n A100: '#ff8a80',\n A200: '#ff5252',\n A400: '#ff1744',\n A700: '#d50000'\n};\nexport default red;", "const orange = {\n 50: '#fff3e0',\n 100: '#ffe0b2',\n 200: '#ffcc80',\n 300: '#ffb74d',\n 400: '#ffa726',\n 500: '#ff9800',\n 600: '#fb8c00',\n 700: '#f57c00',\n 800: '#ef6c00',\n 900: '#e65100',\n A100: '#ffd180',\n A200: '#ffab40',\n A400: '#ff9100',\n A700: '#ff6d00'\n};\nexport default orange;", "const blue = {\n 50: '#e3f2fd',\n 100: '#bbdefb',\n 200: '#90caf9',\n 300: '#64b5f6',\n 400: '#42a5f5',\n 500: '#2196f3',\n 600: '#1e88e5',\n 700: '#1976d2',\n 800: '#1565c0',\n 900: '#0d47a1',\n A100: '#82b1ff',\n A200: '#448aff',\n A400: '#2979ff',\n A700: '#2962ff'\n};\nexport default blue;", "const lightBlue = {\n 50: '#e1f5fe',\n 100: '#b3e5fc',\n 200: '#81d4fa',\n 300: '#4fc3f7',\n 400: '#29b6f6',\n 500: '#03a9f4',\n 600: '#039be5',\n 700: '#0288d1',\n 800: '#0277bd',\n 900: '#01579b',\n A100: '#80d8ff',\n A200: '#40c4ff',\n A400: '#00b0ff',\n A700: '#0091ea'\n};\nexport default lightBlue;", "const green = {\n 50: '#e8f5e9',\n 100: '#c8e6c9',\n 200: '#a5d6a7',\n 300: '#81c784',\n 400: '#66bb6a',\n 500: '#4caf50',\n 600: '#43a047',\n 700: '#388e3c',\n 800: '#2e7d32',\n 900: '#1b5e20',\n A100: '#b9f6ca',\n A200: '#69f0ae',\n A400: '#00e676',\n A700: '#00c853'\n};\nexport default green;", "import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nimport deepmerge from '@mui/utils/deepmerge';\nimport { darken, getContrastRatio, lighten } from '@mui/system/colorManipulator';\nimport common from \"../colors/common.js\";\nimport grey from \"../colors/grey.js\";\nimport purple from \"../colors/purple.js\";\nimport red from \"../colors/red.js\";\nimport orange from \"../colors/orange.js\";\nimport blue from \"../colors/blue.js\";\nimport lightBlue from \"../colors/lightBlue.js\";\nimport green from \"../colors/green.js\";\nfunction getLight() {\n return {\n // The colors used to style the text.\n text: {\n // The most important text.\n primary: 'rgba(0, 0, 0, 0.87)',\n // Secondary text.\n secondary: 'rgba(0, 0, 0, 0.6)',\n // Disabled text have even lower visual prominence.\n disabled: 'rgba(0, 0, 0, 0.38)'\n },\n // The color used to divide different elements.\n divider: 'rgba(0, 0, 0, 0.12)',\n // The background colors used to style the surfaces.\n // Consistency between these values is important.\n background: {\n paper: common.white,\n default: common.white\n },\n // The colors used to style the action elements.\n action: {\n // The color of an active action like an icon button.\n active: 'rgba(0, 0, 0, 0.54)',\n // The color of an hovered action.\n hover: 'rgba(0, 0, 0, 0.04)',\n hoverOpacity: 0.04,\n // The color of a selected action.\n selected: 'rgba(0, 0, 0, 0.08)',\n selectedOpacity: 0.08,\n // The color of a disabled action.\n disabled: 'rgba(0, 0, 0, 0.26)',\n // The background color of a disabled action.\n disabledBackground: 'rgba(0, 0, 0, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(0, 0, 0, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.12\n }\n };\n}\nexport const light = getLight();\nfunction getDark() {\n return {\n text: {\n primary: common.white,\n secondary: 'rgba(255, 255, 255, 0.7)',\n disabled: 'rgba(255, 255, 255, 0.5)',\n icon: 'rgba(255, 255, 255, 0.5)'\n },\n divider: 'rgba(255, 255, 255, 0.12)',\n background: {\n paper: '#121212',\n default: '#121212'\n },\n action: {\n active: common.white,\n hover: 'rgba(255, 255, 255, 0.08)',\n hoverOpacity: 0.08,\n selected: 'rgba(255, 255, 255, 0.16)',\n selectedOpacity: 0.16,\n disabled: 'rgba(255, 255, 255, 0.3)',\n disabledBackground: 'rgba(255, 255, 255, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(255, 255, 255, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.24\n }\n };\n}\nexport const dark = getDark();\nfunction addLightOrDark(intent, direction, shade, tonalOffset) {\n const tonalOffsetLight = tonalOffset.light || tonalOffset;\n const tonalOffsetDark = tonalOffset.dark || tonalOffset * 1.5;\n if (!intent[direction]) {\n if (intent.hasOwnProperty(shade)) {\n intent[direction] = intent[shade];\n } else if (direction === 'light') {\n intent.light = lighten(intent.main, tonalOffsetLight);\n } else if (direction === 'dark') {\n intent.dark = darken(intent.main, tonalOffsetDark);\n }\n }\n}\nfunction getDefaultPrimary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: blue[200],\n light: blue[50],\n dark: blue[400]\n };\n }\n return {\n main: blue[700],\n light: blue[400],\n dark: blue[800]\n };\n}\nfunction getDefaultSecondary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: purple[200],\n light: purple[50],\n dark: purple[400]\n };\n }\n return {\n main: purple[500],\n light: purple[300],\n dark: purple[700]\n };\n}\nfunction getDefaultError(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: red[500],\n light: red[300],\n dark: red[700]\n };\n }\n return {\n main: red[700],\n light: red[400],\n dark: red[800]\n };\n}\nfunction getDefaultInfo(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: lightBlue[400],\n light: lightBlue[300],\n dark: lightBlue[700]\n };\n }\n return {\n main: lightBlue[700],\n light: lightBlue[500],\n dark: lightBlue[900]\n };\n}\nfunction getDefaultSuccess(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: green[400],\n light: green[300],\n dark: green[700]\n };\n }\n return {\n main: green[800],\n light: green[500],\n dark: green[900]\n };\n}\nfunction getDefaultWarning(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: orange[400],\n light: orange[300],\n dark: orange[700]\n };\n }\n return {\n main: '#ed6c02',\n // closest to orange[800] that pass 3:1.\n light: orange[500],\n dark: orange[900]\n };\n}\nexport default function createPalette(palette) {\n const {\n mode = 'light',\n contrastThreshold = 3,\n tonalOffset = 0.2,\n ...other\n } = palette;\n const primary = palette.primary || getDefaultPrimary(mode);\n const secondary = palette.secondary || getDefaultSecondary(mode);\n const error = palette.error || getDefaultError(mode);\n const info = palette.info || getDefaultInfo(mode);\n const success = palette.success || getDefaultSuccess(mode);\n const warning = palette.warning || getDefaultWarning(mode);\n\n // Use the same logic as\n // Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59\n // and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54\n function getContrastText(background) {\n const contrastText = getContrastRatio(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary;\n if (process.env.NODE_ENV !== 'production') {\n const contrast = getContrastRatio(background, contrastText);\n if (contrast < 3) {\n console.error([`MUI: The contrast ratio of ${contrast}:1 for ${contrastText} on ${background}`, 'falls below the WCAG recommended absolute minimum contrast ratio of 3:1.', 'https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast'].join('\\n'));\n }\n }\n return contrastText;\n }\n const augmentColor = ({\n color,\n name,\n mainShade = 500,\n lightShade = 300,\n darkShade = 700\n }) => {\n color = {\n ...color\n };\n if (!color.main && color[mainShade]) {\n color.main = color[mainShade];\n }\n if (!color.hasOwnProperty('main')) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\\n` + `The color object needs to have a \\`main\\` property or a \\`${mainShade}\\` property.` : _formatMuiErrorMessage(11, name ? ` (${name})` : '', mainShade));\n }\n if (typeof color.main !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\\n` + `\\`color.main\\` should be a string, but \\`${JSON.stringify(color.main)}\\` was provided instead.\\n` + '\\n' + 'Did you intend to use one of the following approaches?\\n' + '\\n' + 'import { green } from \"@mui/material/colors\";\\n' + '\\n' + 'const theme1 = createTheme({ palette: {\\n' + ' primary: green,\\n' + '} });\\n' + '\\n' + 'const theme2 = createTheme({ palette: {\\n' + ' primary: { main: green[500] },\\n' + '} });' : _formatMuiErrorMessage(12, name ? ` (${name})` : '', JSON.stringify(color.main)));\n }\n addLightOrDark(color, 'light', lightShade, tonalOffset);\n addLightOrDark(color, 'dark', darkShade, tonalOffset);\n if (!color.contrastText) {\n color.contrastText = getContrastText(color.main);\n }\n return color;\n };\n let modeHydrated;\n if (mode === 'light') {\n modeHydrated = getLight();\n } else if (mode === 'dark') {\n modeHydrated = getDark();\n }\n if (process.env.NODE_ENV !== 'production') {\n if (!modeHydrated) {\n console.error(`MUI: The palette mode \\`${mode}\\` is not supported.`);\n }\n }\n const paletteOutput = deepmerge({\n // A collection of common colors.\n common: {\n ...common\n },\n // prevent mutable object.\n // The palette mode, can be light or dark.\n mode,\n // The colors used to represent primary interface elements for a user.\n primary: augmentColor({\n color: primary,\n name: 'primary'\n }),\n // The colors used to represent secondary interface elements for a user.\n secondary: augmentColor({\n color: secondary,\n name: 'secondary',\n mainShade: 'A400',\n lightShade: 'A200',\n darkShade: 'A700'\n }),\n // The colors used to represent interface elements that the user should be made aware of.\n error: augmentColor({\n color: error,\n name: 'error'\n }),\n // The colors used to represent potentially dangerous actions or important messages.\n warning: augmentColor({\n color: warning,\n name: 'warning'\n }),\n // The colors used to present information to the user that is neutral and not necessarily important.\n info: augmentColor({\n color: info,\n name: 'info'\n }),\n // The colors used to indicate the successful completion of an action that user triggered.\n success: augmentColor({\n color: success,\n name: 'success'\n }),\n // The grey colors.\n grey,\n // Used by `getContrastText()` to maximize the contrast between\n // the background and the text.\n contrastThreshold,\n // Takes a background color and returns the text color that maximizes the contrast.\n getContrastText,\n // Generate a rich color object.\n augmentColor,\n // Used by the functions below to shift a color's luminance by approximately\n // two indexes within its tonal palette.\n // E.g., shift from Red 500 to Red 300 or Red 700.\n tonalOffset,\n // The light and dark mode object.\n ...modeHydrated\n }, other);\n return paletteOutput;\n}", "export default function prepareTypographyVars(typography) {\n const vars = {};\n const entries = Object.entries(typography);\n entries.forEach(entry => {\n const [key, value] = entry;\n if (typeof value === 'object') {\n vars[key] = `${value.fontStyle ? `${value.fontStyle} ` : ''}${value.fontVariant ? `${value.fontVariant} ` : ''}${value.fontWeight ? `${value.fontWeight} ` : ''}${value.fontStretch ? `${value.fontStretch} ` : ''}${value.fontSize || ''}${value.lineHeight ? `/${value.lineHeight} ` : ''}${value.fontFamily || ''}`;\n }\n });\n return vars;\n}", "export default function createMixins(breakpoints, mixins) {\n return {\n toolbar: {\n minHeight: 56,\n [breakpoints.up('xs')]: {\n '@media (orientation: landscape)': {\n minHeight: 48\n }\n },\n [breakpoints.up('sm')]: {\n minHeight: 64\n }\n },\n ...mixins\n };\n}", "import deepmerge from '@mui/utils/deepmerge';\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\nconst caseAllCaps = {\n textTransform: 'uppercase'\n};\nconst defaultFontFamily = '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif';\n\n/**\n * @see @link{https://m2.material.io/design/typography/the-type-system.html}\n * @see @link{https://m2.material.io/design/typography/understanding-typography.html}\n */\nexport default function createTypography(palette, typography) {\n const {\n fontFamily = defaultFontFamily,\n // The default font size of the Material Specification.\n fontSize = 14,\n // px\n fontWeightLight = 300,\n fontWeightRegular = 400,\n fontWeightMedium = 500,\n fontWeightBold = 700,\n // Tell MUI what's the font-size on the html element.\n // 16px is the default font-size used by browsers.\n htmlFontSize = 16,\n // Apply the CSS properties to all the variants.\n allVariants,\n pxToRem: pxToRem2,\n ...other\n } = typeof typography === 'function' ? typography(palette) : typography;\n if (process.env.NODE_ENV !== 'production') {\n if (typeof fontSize !== 'number') {\n console.error('MUI: `fontSize` is required to be a number.');\n }\n if (typeof htmlFontSize !== 'number') {\n console.error('MUI: `htmlFontSize` is required to be a number.');\n }\n }\n const coef = fontSize / 14;\n const pxToRem = pxToRem2 || (size => `${size / htmlFontSize * coef}rem`);\n const buildVariant = (fontWeight, size, lineHeight, letterSpacing, casing) => ({\n fontFamily,\n fontWeight,\n fontSize: pxToRem(size),\n // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/\n lineHeight,\n // The letter spacing was designed for the Roboto font-family. Using the same letter-spacing\n // across font-families can cause issues with the kerning.\n ...(fontFamily === defaultFontFamily ? {\n letterSpacing: `${round(letterSpacing / size)}em`\n } : {}),\n ...casing,\n ...allVariants\n });\n const variants = {\n h1: buildVariant(fontWeightLight, 96, 1.167, -1.5),\n h2: buildVariant(fontWeightLight, 60, 1.2, -0.5),\n h3: buildVariant(fontWeightRegular, 48, 1.167, 0),\n h4: buildVariant(fontWeightRegular, 34, 1.235, 0.25),\n h5: buildVariant(fontWeightRegular, 24, 1.334, 0),\n h6: buildVariant(fontWeightMedium, 20, 1.6, 0.15),\n subtitle1: buildVariant(fontWeightRegular, 16, 1.75, 0.15),\n subtitle2: buildVariant(fontWeightMedium, 14, 1.57, 0.1),\n body1: buildVariant(fontWeightRegular, 16, 1.5, 0.15),\n body2: buildVariant(fontWeightRegular, 14, 1.43, 0.15),\n button: buildVariant(fontWeightMedium, 14, 1.75, 0.4, caseAllCaps),\n caption: buildVariant(fontWeightRegular, 12, 1.66, 0.4),\n overline: buildVariant(fontWeightRegular, 12, 2.66, 1, caseAllCaps),\n // TODO v6: Remove handling of 'inherit' variant from the theme as it is already handled in Material UI's Typography component. Also, remember to remove the associated types.\n inherit: {\n fontFamily: 'inherit',\n fontWeight: 'inherit',\n fontSize: 'inherit',\n lineHeight: 'inherit',\n letterSpacing: 'inherit'\n }\n };\n return deepmerge({\n htmlFontSize,\n pxToRem,\n fontFamily,\n fontSize,\n fontWeightLight,\n fontWeightRegular,\n fontWeightMedium,\n fontWeightBold,\n ...variants\n }, other, {\n clone: false // No need to clone deep\n });\n}", "const shadowKeyUmbraOpacity = 0.2;\nconst shadowKeyPenumbraOpacity = 0.14;\nconst shadowAmbientShadowOpacity = 0.12;\nfunction createShadow(...px) {\n return [`${px[0]}px ${px[1]}px ${px[2]}px ${px[3]}px rgba(0,0,0,${shadowKeyUmbraOpacity})`, `${px[4]}px ${px[5]}px ${px[6]}px ${px[7]}px rgba(0,0,0,${shadowKeyPenumbraOpacity})`, `${px[8]}px ${px[9]}px ${px[10]}px ${px[11]}px rgba(0,0,0,${shadowAmbientShadowOpacity})`].join(',');\n}\n\n// Values from https://github.com/material-components/material-components-web/blob/be8747f94574669cb5e7add1a7c54fa41a89cec7/packages/mdc-elevation/_variables.scss\nconst shadows = ['none', createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];\nexport default shadows;", "// Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves\n// to learn the context in which each easing should be used.\nexport const easing = {\n // This is the most common easing curve.\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n // Objects enter the screen at full velocity from off-screen and\n // slowly decelerate to a resting point.\n easeOut: 'cubic-bezier(0.0, 0, 0.2, 1)',\n // Objects leave the screen at full velocity. They do not decelerate when off-screen.\n easeIn: 'cubic-bezier(0.4, 0, 1, 1)',\n // The sharp curve is used by objects that may return to the screen at any time.\n sharp: 'cubic-bezier(0.4, 0, 0.6, 1)'\n};\n\n// Follow https://m2.material.io/guidelines/motion/duration-easing.html#duration-easing-common-durations\n// to learn when use what timing\nexport const duration = {\n shortest: 150,\n shorter: 200,\n short: 250,\n // most basic recommended timing\n standard: 300,\n // this is to be used in complex animations\n complex: 375,\n // recommended when something is entering screen\n enteringScreen: 225,\n // recommended when something is leaving screen\n leavingScreen: 195\n};\nfunction formatMs(milliseconds) {\n return `${Math.round(milliseconds)}ms`;\n}\nfunction getAutoHeightDuration(height) {\n if (!height) {\n return 0;\n }\n const constant = height / 36;\n\n // https://www.desmos.com/calculator/vbrp3ggqet\n return Math.min(Math.round((4 + 15 * constant ** 0.25 + constant / 5) * 10), 3000);\n}\nexport default function createTransitions(inputTransitions) {\n const mergedEasing = {\n ...easing,\n ...inputTransitions.easing\n };\n const mergedDuration = {\n ...duration,\n ...inputTransitions.duration\n };\n const create = (props = ['all'], options = {}) => {\n const {\n duration: durationOption = mergedDuration.standard,\n easing: easingOption = mergedEasing.easeInOut,\n delay = 0,\n ...other\n } = options;\n if (process.env.NODE_ENV !== 'production') {\n const isString = value => typeof value === 'string';\n const isNumber = value => !Number.isNaN(parseFloat(value));\n if (!isString(props) && !Array.isArray(props)) {\n console.error('MUI: Argument \"props\" must be a string or Array.');\n }\n if (!isNumber(durationOption) && !isString(durationOption)) {\n console.error(`MUI: Argument \"duration\" must be a number or a string but found ${durationOption}.`);\n }\n if (!isString(easingOption)) {\n console.error('MUI: Argument \"easing\" must be a string.');\n }\n if (!isNumber(delay) && !isString(delay)) {\n console.error('MUI: Argument \"delay\" must be a number or a string.');\n }\n if (typeof options !== 'object') {\n console.error(['MUI: Secong argument of transition.create must be an object.', \"Arguments should be either `create('prop1', options)` or `create(['prop1', 'prop2'], options)`\"].join('\\n'));\n }\n if (Object.keys(other).length !== 0) {\n console.error(`MUI: Unrecognized argument(s) [${Object.keys(other).join(',')}].`);\n }\n }\n return (Array.isArray(props) ? props : [props]).map(animatedProp => `${animatedProp} ${typeof durationOption === 'string' ? durationOption : formatMs(durationOption)} ${easingOption} ${typeof delay === 'string' ? delay : formatMs(delay)}`).join(',');\n };\n return {\n getAutoHeightDuration,\n create,\n ...inputTransitions,\n easing: mergedEasing,\n duration: mergedDuration\n };\n}", "// We need to centralize the zIndex definitions as they work\n// like global values in the browser.\nconst zIndex = {\n mobileStepper: 1000,\n fab: 1050,\n speedDial: 1050,\n appBar: 1100,\n drawer: 1200,\n modal: 1300,\n snackbar: 1400,\n tooltip: 1500\n};\nexport default zIndex;", "/* eslint-disable import/prefer-default-export */\nimport { isPlainObject } from '@mui/utils/deepmerge';\nfunction isSerializable(val) {\n return isPlainObject(val) || typeof val === 'undefined' || typeof val === 'string' || typeof val === 'boolean' || typeof val === 'number' || Array.isArray(val);\n}\n\n/**\n * `baseTheme` usually comes from `createTheme()` or `extendTheme()`.\n *\n * This function is intended to be used with zero-runtime CSS-in-JS like Pigment CSS\n * For example, in a Next.js project:\n *\n * ```js\n * // next.config.js\n * const { extendTheme } = require('@mui/material/styles');\n *\n * const theme = extendTheme();\n * // `.toRuntimeSource` is Pigment CSS specific to create a theme that is available at runtime.\n * theme.toRuntimeSource = stringifyTheme;\n *\n * module.exports = withPigment({\n * theme,\n * });\n * ```\n */\nexport function stringifyTheme(baseTheme = {}) {\n const serializableTheme = {\n ...baseTheme\n };\n function serializeTheme(object) {\n const array = Object.entries(object);\n // eslint-disable-next-line no-plusplus\n for (let index = 0; index < array.length; index++) {\n const [key, value] = array[index];\n if (!isSerializable(value) || key.startsWith('unstable_')) {\n delete object[key];\n } else if (isPlainObject(value)) {\n object[key] = {\n ...value\n };\n serializeTheme(object[key]);\n }\n }\n }\n serializeTheme(serializableTheme);\n return `import { unstable_createBreakpoints as createBreakpoints, createTransitions } from '@mui/material/styles';\n\nconst theme = ${JSON.stringify(serializableTheme, null, 2)};\n\ntheme.breakpoints = createBreakpoints(theme.breakpoints || {});\ntheme.transitions = createTransitions(theme.transitions || {});\n\nexport default theme;`;\n}", "import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nimport deepmerge from '@mui/utils/deepmerge';\nimport styleFunctionSx, { unstable_defaultSxConfig as defaultSxConfig } from '@mui/system/styleFunctionSx';\nimport systemCreateTheme from '@mui/system/createTheme';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport createMixins from \"./createMixins.js\";\nimport createPalette from \"./createPalette.js\";\nimport createTypography from \"./createTypography.js\";\nimport shadows from \"./shadows.js\";\nimport createTransitions from \"./createTransitions.js\";\nimport zIndex from \"./zIndex.js\";\nimport { stringifyTheme } from \"./stringifyTheme.js\";\nfunction createThemeNoVars(options = {}, ...args) {\n const {\n breakpoints: breakpointsInput,\n mixins: mixinsInput = {},\n spacing: spacingInput,\n palette: paletteInput = {},\n transitions: transitionsInput = {},\n typography: typographyInput = {},\n shape: shapeInput,\n ...other\n } = options;\n if (options.vars) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'MUI: `vars` is a private field used for CSS variables support.\\n' + 'Please use another name.' : _formatMuiErrorMessage(20));\n }\n const palette = createPalette(paletteInput);\n const systemTheme = systemCreateTheme(options);\n let muiTheme = deepmerge(systemTheme, {\n mixins: createMixins(systemTheme.breakpoints, mixinsInput),\n palette,\n // Don't use [...shadows] until you've verified its transpiled code is not invoking the iterator protocol.\n shadows: shadows.slice(),\n typography: createTypography(palette, typographyInput),\n transitions: createTransitions(transitionsInput),\n zIndex: {\n ...zIndex\n }\n });\n muiTheme = deepmerge(muiTheme, other);\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n if (process.env.NODE_ENV !== 'production') {\n // TODO v6: Refactor to use globalStateClassesMapping from @mui/utils once `readOnly` state class is used in Rating component.\n const stateClasses = ['active', 'checked', 'completed', 'disabled', 'error', 'expanded', 'focused', 'focusVisible', 'required', 'selected'];\n const traverse = (node, component) => {\n let key;\n\n // eslint-disable-next-line guard-for-in\n for (key in node) {\n const child = node[key];\n if (stateClasses.includes(key) && Object.keys(child).length > 0) {\n if (process.env.NODE_ENV !== 'production') {\n const stateClass = generateUtilityClass('', key);\n console.error([`MUI: The \\`${component}\\` component increases ` + `the CSS specificity of the \\`${key}\\` internal state.`, 'You can not override it like this: ', JSON.stringify(node, null, 2), '', `Instead, you need to use the '&.${stateClass}' syntax:`, JSON.stringify({\n root: {\n [`&.${stateClass}`]: child\n }\n }, null, 2), '', 'https://mui.com/r/state-classes-guide'].join('\\n'));\n }\n // Remove the style to prevent global conflicts.\n node[key] = {};\n }\n }\n };\n Object.keys(muiTheme.components).forEach(component => {\n const styleOverrides = muiTheme.components[component].styleOverrides;\n if (styleOverrides && component.startsWith('Mui')) {\n traverse(styleOverrides, component);\n }\n });\n }\n muiTheme.unstable_sxConfig = {\n ...defaultSxConfig,\n ...other?.unstable_sxConfig\n };\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n muiTheme.toRuntimeSource = stringifyTheme; // for Pigment CSS integration\n\n return muiTheme;\n}\nlet warnedOnce = false;\nexport function createMuiTheme(...args) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.error(['MUI: the createMuiTheme function was renamed to createTheme.', '', \"You should use `import { createTheme } from '@mui/material/styles'`\"].join('\\n'));\n }\n }\n return createThemeNoVars(...args);\n}\nexport default createThemeNoVars;", "// Inspired by https://github.com/material-components/material-components-ios/blob/bca36107405594d5b7b16265a5b0ed698f85a5ee/components/Elevation/src/UIColor%2BMaterialElevation.m#L61\nexport default function getOverlayAlpha(elevation) {\n let alphaValue;\n if (elevation < 1) {\n alphaValue = 5.11916 * elevation ** 2;\n } else {\n alphaValue = 4.5 * Math.log(elevation + 1) + 2;\n }\n return Math.round(alphaValue * 10) / 1000;\n}", "import createPalette from \"./createPalette.js\";\nimport getOverlayAlpha from \"./getOverlayAlpha.js\";\nconst defaultDarkOverlays = [...Array(25)].map((_, index) => {\n if (index === 0) {\n return 'none';\n }\n const overlay = getOverlayAlpha(index);\n return `linear-gradient(rgba(255 255 255 / ${overlay}), rgba(255 255 255 / ${overlay}))`;\n});\nexport function getOpacity(mode) {\n return {\n inputPlaceholder: mode === 'dark' ? 0.5 : 0.42,\n inputUnderline: mode === 'dark' ? 0.7 : 0.42,\n switchTrackDisabled: mode === 'dark' ? 0.2 : 0.12,\n switchTrack: mode === 'dark' ? 0.3 : 0.38\n };\n}\nexport function getOverlays(mode) {\n return mode === 'dark' ? defaultDarkOverlays : [];\n}\nexport default function createColorScheme(options) {\n const {\n palette: paletteInput = {\n mode: 'light'\n },\n // need to cast to avoid module augmentation test\n opacity,\n overlays,\n ...rest\n } = options;\n const palette = createPalette(paletteInput);\n return {\n palette,\n opacity: {\n ...getOpacity(palette.mode),\n ...opacity\n },\n overlays: overlays || getOverlays(palette.mode),\n ...rest\n };\n}", "export default function shouldSkipGeneratingVar(keys) {\n return !!keys[0].match(/(cssVarPrefix|colorSchemeSelector|rootSelector|typography|mixins|breakpoints|direction|transitions)/) || !!keys[0].match(/sxConfig$/) ||\n // ends with sxConfig\n keys[0] === 'palette' && !!keys[1]?.match(/(mode|contrastThreshold|tonalOffset)/);\n}", "/**\n * @internal These variables should not appear in the :root stylesheet when the `defaultColorScheme=\"dark\"`\n */\nconst excludeVariablesFromRoot = cssVarPrefix => [...[...Array(25)].map((_, index) => `--${cssVarPrefix ? `${cssVarPrefix}-` : ''}overlays-${index}`), `--${cssVarPrefix ? `${cssVarPrefix}-` : ''}palette-AppBar-darkBg`, `--${cssVarPrefix ? `${cssVarPrefix}-` : ''}palette-AppBar-darkColor`];\nexport default excludeVariablesFromRoot;", "import excludeVariablesFromRoot from \"./excludeVariablesFromRoot.js\";\nexport default theme => (colorScheme, css) => {\n const root = theme.rootSelector || ':root';\n const selector = theme.colorSchemeSelector;\n let rule = selector;\n if (selector === 'class') {\n rule = '.%s';\n }\n if (selector === 'data') {\n rule = '[data-%s]';\n }\n if (selector?.startsWith('data-') && !selector.includes('%s')) {\n // 'data-mui-color-scheme' -> '[data-mui-color-scheme=\"%s\"]'\n rule = `[${selector}=\"%s\"]`;\n }\n if (theme.defaultColorScheme === colorScheme) {\n if (colorScheme === 'dark') {\n const excludedVariables = {};\n excludeVariablesFromRoot(theme.cssVarPrefix).forEach(cssVar => {\n excludedVariables[cssVar] = css[cssVar];\n delete css[cssVar];\n });\n if (rule === 'media') {\n return {\n [root]: css,\n [`@media (prefers-color-scheme: dark)`]: {\n [root]: excludedVariables\n }\n };\n }\n if (rule) {\n return {\n [rule.replace('%s', colorScheme)]: excludedVariables,\n [`${root}, ${rule.replace('%s', colorScheme)}`]: css\n };\n }\n return {\n [root]: {\n ...css,\n ...excludedVariables\n }\n };\n }\n if (rule && rule !== 'media') {\n return `${root}, ${rule.replace('%s', String(colorScheme))}`;\n }\n } else if (colorScheme) {\n if (rule === 'media') {\n return {\n [`@media (prefers-color-scheme: ${String(colorScheme)})`]: {\n [root]: css\n }\n };\n }\n if (rule) {\n return rule.replace('%s', String(colorScheme));\n }\n }\n return root;\n};", "import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nimport deepmerge from '@mui/utils/deepmerge';\nimport { unstable_createGetCssVar as systemCreateGetCssVar, createSpacing } from '@mui/system';\nimport { createUnarySpacing } from '@mui/system/spacing';\nimport { prepareCssVars, prepareTypographyVars, createGetColorSchemeSelector } from '@mui/system/cssVars';\nimport styleFunctionSx, { unstable_defaultSxConfig as defaultSxConfig } from '@mui/system/styleFunctionSx';\nimport { private_safeColorChannel as safeColorChannel, private_safeAlpha as safeAlpha, private_safeDarken as safeDarken, private_safeLighten as safeLighten, private_safeEmphasize as safeEmphasize, hslToRgb } from '@mui/system/colorManipulator';\nimport createThemeNoVars from \"./createThemeNoVars.js\";\nimport createColorScheme, { getOpacity, getOverlays } from \"./createColorScheme.js\";\nimport defaultShouldSkipGeneratingVar from \"./shouldSkipGeneratingVar.js\";\nimport defaultGetSelector from \"./createGetSelector.js\";\nimport { stringifyTheme } from \"./stringifyTheme.js\";\nfunction assignNode(obj, keys) {\n keys.forEach(k => {\n if (!obj[k]) {\n obj[k] = {};\n }\n });\n}\nfunction setColor(obj, key, defaultValue) {\n if (!obj[key] && defaultValue) {\n obj[key] = defaultValue;\n }\n}\nfunction toRgb(color) {\n if (!color || !color.startsWith('hsl')) {\n return color;\n }\n return hslToRgb(color);\n}\nfunction setColorChannel(obj, key) {\n if (!(`${key}Channel` in obj)) {\n // custom channel token is not provided, generate one.\n // if channel token can't be generated, show a warning.\n obj[`${key}Channel`] = safeColorChannel(toRgb(obj[key]), `MUI: Can't create \\`palette.${key}Channel\\` because \\`palette.${key}\\` is not one of these formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` + '\\n' + `To suppress this warning, you need to explicitly provide the \\`palette.${key}Channel\\` as a string (in rgb format, for example \"12 12 12\") or undefined if you want to remove the channel token.`);\n }\n}\nfunction getSpacingVal(spacingInput) {\n if (typeof spacingInput === 'number') {\n return `${spacingInput}px`;\n }\n if (typeof spacingInput === 'string' || typeof spacingInput === 'function' || Array.isArray(spacingInput)) {\n return spacingInput;\n }\n return '8px';\n}\nconst silent = fn => {\n try {\n return fn();\n } catch (error) {\n // ignore error\n }\n return undefined;\n};\nexport const createGetCssVar = (cssVarPrefix = 'mui') => systemCreateGetCssVar(cssVarPrefix);\nfunction attachColorScheme(colorSchemes, scheme, restTheme, colorScheme) {\n if (!scheme) {\n return undefined;\n }\n scheme = scheme === true ? {} : scheme;\n const mode = colorScheme === 'dark' ? 'dark' : 'light';\n if (!restTheme) {\n colorSchemes[colorScheme] = createColorScheme({\n ...scheme,\n palette: {\n mode,\n ...scheme?.palette\n }\n });\n return undefined;\n }\n const {\n palette,\n ...muiTheme\n } = createThemeNoVars({\n ...restTheme,\n palette: {\n mode,\n ...scheme?.palette\n }\n });\n colorSchemes[colorScheme] = {\n ...scheme,\n palette,\n opacity: {\n ...getOpacity(mode),\n ...scheme?.opacity\n },\n overlays: scheme?.overlays || getOverlays(mode)\n };\n return muiTheme;\n}\n\n/**\n * A default `createThemeWithVars` comes with a single color scheme, either `light` or `dark` based on the `defaultColorScheme`.\n * This is better suited for apps that only need a single color scheme.\n *\n * To enable built-in `light` and `dark` color schemes, either:\n * 1. provide a `colorSchemeSelector` to define how the color schemes will change.\n * 2. provide `colorSchemes.dark` will set `colorSchemeSelector: 'media'` by default.\n */\nexport default function createThemeWithVars(options = {}, ...args) {\n const {\n colorSchemes: colorSchemesInput = {\n light: true\n },\n defaultColorScheme: defaultColorSchemeInput,\n disableCssColorScheme = false,\n cssVarPrefix = 'mui',\n shouldSkipGeneratingVar = defaultShouldSkipGeneratingVar,\n colorSchemeSelector: selector = colorSchemesInput.light && colorSchemesInput.dark ? 'media' : undefined,\n rootSelector = ':root',\n ...input\n } = options;\n const firstColorScheme = Object.keys(colorSchemesInput)[0];\n const defaultColorScheme = defaultColorSchemeInput || (colorSchemesInput.light && firstColorScheme !== 'light' ? 'light' : firstColorScheme);\n const getCssVar = createGetCssVar(cssVarPrefix);\n const {\n [defaultColorScheme]: defaultSchemeInput,\n light: builtInLight,\n dark: builtInDark,\n ...customColorSchemes\n } = colorSchemesInput;\n const colorSchemes = {\n ...customColorSchemes\n };\n let defaultScheme = defaultSchemeInput;\n\n // For built-in light and dark color schemes, ensure that the value is valid if they are the default color scheme.\n if (defaultColorScheme === 'dark' && !('dark' in colorSchemesInput) || defaultColorScheme === 'light' && !('light' in colorSchemesInput)) {\n defaultScheme = true;\n }\n if (!defaultScheme) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The \\`colorSchemes.${defaultColorScheme}\\` option is either missing or invalid.` : _formatMuiErrorMessage(21, defaultColorScheme));\n }\n\n // Create the palette for the default color scheme, either `light`, `dark`, or custom color scheme.\n const muiTheme = attachColorScheme(colorSchemes, defaultScheme, input, defaultColorScheme);\n if (builtInLight && !colorSchemes.light) {\n attachColorScheme(colorSchemes, builtInLight, undefined, 'light');\n }\n if (builtInDark && !colorSchemes.dark) {\n attachColorScheme(colorSchemes, builtInDark, undefined, 'dark');\n }\n let theme = {\n defaultColorScheme,\n ...muiTheme,\n cssVarPrefix,\n colorSchemeSelector: selector,\n rootSelector,\n getCssVar,\n colorSchemes,\n font: {\n ...prepareTypographyVars(muiTheme.typography),\n ...muiTheme.font\n },\n spacing: getSpacingVal(input.spacing)\n };\n Object.keys(theme.colorSchemes).forEach(key => {\n const palette = theme.colorSchemes[key].palette;\n const setCssVarColor = cssVar => {\n const tokens = cssVar.split('-');\n const color = tokens[1];\n const colorToken = tokens[2];\n return getCssVar(cssVar, palette[color][colorToken]);\n };\n\n // attach black & white channels to common node\n if (palette.mode === 'light') {\n setColor(palette.common, 'background', '#fff');\n setColor(palette.common, 'onBackground', '#000');\n }\n if (palette.mode === 'dark') {\n setColor(palette.common, 'background', '#000');\n setColor(palette.common, 'onBackground', '#fff');\n }\n\n // assign component variables\n assignNode(palette, ['Alert', 'AppBar', 'Avatar', 'Button', 'Chip', 'FilledInput', 'LinearProgress', 'Skeleton', 'Slider', 'SnackbarContent', 'SpeedDialAction', 'StepConnector', 'StepContent', 'Switch', 'TableCell', 'Tooltip']);\n if (palette.mode === 'light') {\n setColor(palette.Alert, 'errorColor', safeDarken(palette.error.light, 0.6));\n setColor(palette.Alert, 'infoColor', safeDarken(palette.info.light, 0.6));\n setColor(palette.Alert, 'successColor', safeDarken(palette.success.light, 0.6));\n setColor(palette.Alert, 'warningColor', safeDarken(palette.warning.light, 0.6));\n setColor(palette.Alert, 'errorFilledBg', setCssVarColor('palette-error-main'));\n setColor(palette.Alert, 'infoFilledBg', setCssVarColor('palette-info-main'));\n setColor(palette.Alert, 'successFilledBg', setCssVarColor('palette-success-main'));\n setColor(palette.Alert, 'warningFilledBg', setCssVarColor('palette-warning-main'));\n setColor(palette.Alert, 'errorFilledColor', silent(() => palette.getContrastText(palette.error.main)));\n setColor(palette.Alert, 'infoFilledColor', silent(() => palette.getContrastText(palette.info.main)));\n setColor(palette.Alert, 'successFilledColor', silent(() => palette.getContrastText(palette.success.main)));\n setColor(palette.Alert, 'warningFilledColor', silent(() => palette.getContrastText(palette.warning.main)));\n setColor(palette.Alert, 'errorStandardBg', safeLighten(palette.error.light, 0.9));\n setColor(palette.Alert, 'infoStandardBg', safeLighten(palette.info.light, 0.9));\n setColor(palette.Alert, 'successStandardBg', safeLighten(palette.success.light, 0.9));\n setColor(palette.Alert, 'warningStandardBg', safeLighten(palette.warning.light, 0.9));\n setColor(palette.Alert, 'errorIconColor', setCssVarColor('palette-error-main'));\n setColor(palette.Alert, 'infoIconColor', setCssVarColor('palette-info-main'));\n setColor(palette.Alert, 'successIconColor', setCssVarColor('palette-success-main'));\n setColor(palette.Alert, 'warningIconColor', setCssVarColor('palette-warning-main'));\n setColor(palette.AppBar, 'defaultBg', setCssVarColor('palette-grey-100'));\n setColor(palette.Avatar, 'defaultBg', setCssVarColor('palette-grey-400'));\n setColor(palette.Button, 'inheritContainedBg', setCssVarColor('palette-grey-300'));\n setColor(palette.Button, 'inheritContainedHoverBg', setCssVarColor('palette-grey-A100'));\n setColor(palette.Chip, 'defaultBorder', setCssVarColor('palette-grey-400'));\n setColor(palette.Chip, 'defaultAvatarColor', setCssVarColor('palette-grey-700'));\n setColor(palette.Chip, 'defaultIconColor', setCssVarColor('palette-grey-700'));\n setColor(palette.FilledInput, 'bg', 'rgba(0, 0, 0, 0.06)');\n setColor(palette.FilledInput, 'hoverBg', 'rgba(0, 0, 0, 0.09)');\n setColor(palette.FilledInput, 'disabledBg', 'rgba(0, 0, 0, 0.12)');\n setColor(palette.LinearProgress, 'primaryBg', safeLighten(palette.primary.main, 0.62));\n setColor(palette.LinearProgress, 'secondaryBg', safeLighten(palette.secondary.main, 0.62));\n setColor(palette.LinearProgress, 'errorBg', safeLighten(palette.error.main, 0.62));\n setColor(palette.LinearProgress, 'infoBg', safeLighten(palette.info.main, 0.62));\n setColor(palette.LinearProgress, 'successBg', safeLighten(palette.success.main, 0.62));\n setColor(palette.LinearProgress, 'warningBg', safeLighten(palette.warning.main, 0.62));\n setColor(palette.Skeleton, 'bg', `rgba(${setCssVarColor('palette-text-primaryChannel')} / 0.11)`);\n setColor(palette.Slider, 'primaryTrack', safeLighten(palette.primary.main, 0.62));\n setColor(palette.Slider, 'secondaryTrack', safeLighten(palette.secondary.main, 0.62));\n setColor(palette.Slider, 'errorTrack', safeLighten(palette.error.main, 0.62));\n setColor(palette.Slider, 'infoTrack', safeLighten(palette.info.main, 0.62));\n setColor(palette.Slider, 'successTrack', safeLighten(palette.success.main, 0.62));\n setColor(palette.Slider, 'warningTrack', safeLighten(palette.warning.main, 0.62));\n const snackbarContentBackground = safeEmphasize(palette.background.default, 0.8);\n setColor(palette.SnackbarContent, 'bg', snackbarContentBackground);\n setColor(palette.SnackbarContent, 'color', silent(() => palette.getContrastText(snackbarContentBackground)));\n setColor(palette.SpeedDialAction, 'fabHoverBg', safeEmphasize(palette.background.paper, 0.15));\n setColor(palette.StepConnector, 'border', setCssVarColor('palette-grey-400'));\n setColor(palette.StepContent, 'border', setCssVarColor('palette-grey-400'));\n setColor(palette.Switch, 'defaultColor', setCssVarColor('palette-common-white'));\n setColor(palette.Switch, 'defaultDisabledColor', setCssVarColor('palette-grey-100'));\n setColor(palette.Switch, 'primaryDisabledColor', safeLighten(palette.primary.main, 0.62));\n setColor(palette.Switch, 'secondaryDisabledColor', safeLighten(palette.secondary.main, 0.62));\n setColor(palette.Switch, 'errorDisabledColor', safeLighten(palette.error.main, 0.62));\n setColor(palette.Switch, 'infoDisabledColor', safeLighten(palette.info.main, 0.62));\n setColor(palette.Switch, 'successDisabledColor', safeLighten(palette.success.main, 0.62));\n setColor(palette.Switch, 'warningDisabledColor', safeLighten(palette.warning.main, 0.62));\n setColor(palette.TableCell, 'border', safeLighten(safeAlpha(palette.divider, 1), 0.88));\n setColor(palette.Tooltip, 'bg', safeAlpha(palette.grey[700], 0.92));\n }\n if (palette.mode === 'dark') {\n setColor(palette.Alert, 'errorColor', safeLighten(palette.error.light, 0.6));\n setColor(palette.Alert, 'infoColor', safeLighten(palette.info.light, 0.6));\n setColor(palette.Alert, 'successColor', safeLighten(palette.success.light, 0.6));\n setColor(palette.Alert, 'warningColor', safeLighten(palette.warning.light, 0.6));\n setColor(palette.Alert, 'errorFilledBg', setCssVarColor('palette-error-dark'));\n setColor(palette.Alert, 'infoFilledBg', setCssVarColor('palette-info-dark'));\n setColor(palette.Alert, 'successFilledBg', setCssVarColor('palette-success-dark'));\n setColor(palette.Alert, 'warningFilledBg', setCssVarColor('palette-warning-dark'));\n setColor(palette.Alert, 'errorFilledColor', silent(() => palette.getContrastText(palette.error.dark)));\n setColor(palette.Alert, 'infoFilledColor', silent(() => palette.getContrastText(palette.info.dark)));\n setColor(palette.Alert, 'successFilledColor', silent(() => palette.getContrastText(palette.success.dark)));\n setColor(palette.Alert, 'warningFilledColor', silent(() => palette.getContrastText(palette.warning.dark)));\n setColor(palette.Alert, 'errorStandardBg', safeDarken(palette.error.light, 0.9));\n setColor(palette.Alert, 'infoStandardBg', safeDarken(palette.info.light, 0.9));\n setColor(palette.Alert, 'successStandardBg', safeDarken(palette.success.light, 0.9));\n setColor(palette.Alert, 'warningStandardBg', safeDarken(palette.warning.light, 0.9));\n setColor(palette.Alert, 'errorIconColor', setCssVarColor('palette-error-main'));\n setColor(palette.Alert, 'infoIconColor', setCssVarColor('palette-info-main'));\n setColor(palette.Alert, 'successIconColor', setCssVarColor('palette-success-main'));\n setColor(palette.Alert, 'warningIconColor', setCssVarColor('palette-warning-main'));\n setColor(palette.AppBar, 'defaultBg', setCssVarColor('palette-grey-900'));\n setColor(palette.AppBar, 'darkBg', setCssVarColor('palette-background-paper')); // specific for dark mode\n setColor(palette.AppBar, 'darkColor', setCssVarColor('palette-text-primary')); // specific for dark mode\n setColor(palette.Avatar, 'defaultBg', setCssVarColor('palette-grey-600'));\n setColor(palette.Button, 'inheritContainedBg', setCssVarColor('palette-grey-800'));\n setColor(palette.Button, 'inheritContainedHoverBg', setCssVarColor('palette-grey-700'));\n setColor(palette.Chip, 'defaultBorder', setCssVarColor('palette-grey-700'));\n setColor(palette.Chip, 'defaultAvatarColor', setCssVarColor('palette-grey-300'));\n setColor(palette.Chip, 'defaultIconColor', setCssVarColor('palette-grey-300'));\n setColor(palette.FilledInput, 'bg', 'rgba(255, 255, 255, 0.09)');\n setColor(palette.FilledInput, 'hoverBg', 'rgba(255, 255, 255, 0.13)');\n setColor(palette.FilledInput, 'disabledBg', 'rgba(255, 255, 255, 0.12)');\n setColor(palette.LinearProgress, 'primaryBg', safeDarken(palette.primary.main, 0.5));\n setColor(palette.LinearProgress, 'secondaryBg', safeDarken(palette.secondary.main, 0.5));\n setColor(palette.LinearProgress, 'errorBg', safeDarken(palette.error.main, 0.5));\n setColor(palette.LinearProgress, 'infoBg', safeDarken(palette.info.main, 0.5));\n setColor(palette.LinearProgress, 'successBg', safeDarken(palette.success.main, 0.5));\n setColor(palette.LinearProgress, 'warningBg', safeDarken(palette.warning.main, 0.5));\n setColor(palette.Skeleton, 'bg', `rgba(${setCssVarColor('palette-text-primaryChannel')} / 0.13)`);\n setColor(palette.Slider, 'primaryTrack', safeDarken(palette.primary.main, 0.5));\n setColor(palette.Slider, 'secondaryTrack', safeDarken(palette.secondary.main, 0.5));\n setColor(palette.Slider, 'errorTrack', safeDarken(palette.error.main, 0.5));\n setColor(palette.Slider, 'infoTrack', safeDarken(palette.info.main, 0.5));\n setColor(palette.Slider, 'successTrack', safeDarken(palette.success.main, 0.5));\n setColor(palette.Slider, 'warningTrack', safeDarken(palette.warning.main, 0.5));\n const snackbarContentBackground = safeEmphasize(palette.background.default, 0.98);\n setColor(palette.SnackbarContent, 'bg', snackbarContentBackground);\n setColor(palette.SnackbarContent, 'color', silent(() => palette.getContrastText(snackbarContentBackground)));\n setColor(palette.SpeedDialAction, 'fabHoverBg', safeEmphasize(palette.background.paper, 0.15));\n setColor(palette.StepConnector, 'border', setCssVarColor('palette-grey-600'));\n setColor(palette.StepContent, 'border', setCssVarColor('palette-grey-600'));\n setColor(palette.Switch, 'defaultColor', setCssVarColor('palette-grey-300'));\n setColor(palette.Switch, 'defaultDisabledColor', setCssVarColor('palette-grey-600'));\n setColor(palette.Switch, 'primaryDisabledColor', safeDarken(palette.primary.main, 0.55));\n setColor(palette.Switch, 'secondaryDisabledColor', safeDarken(palette.secondary.main, 0.55));\n setColor(palette.Switch, 'errorDisabledColor', safeDarken(palette.error.main, 0.55));\n setColor(palette.Switch, 'infoDisabledColor', safeDarken(palette.info.main, 0.55));\n setColor(palette.Switch, 'successDisabledColor', safeDarken(palette.success.main, 0.55));\n setColor(palette.Switch, 'warningDisabledColor', safeDarken(palette.warning.main, 0.55));\n setColor(palette.TableCell, 'border', safeDarken(safeAlpha(palette.divider, 1), 0.68));\n setColor(palette.Tooltip, 'bg', safeAlpha(palette.grey[700], 0.92));\n }\n\n // MUI X - DataGrid needs this token.\n setColorChannel(palette.background, 'default');\n\n // added for consistency with the `background.default` token\n setColorChannel(palette.background, 'paper');\n setColorChannel(palette.common, 'background');\n setColorChannel(palette.common, 'onBackground');\n setColorChannel(palette, 'divider');\n Object.keys(palette).forEach(color => {\n const colors = palette[color];\n\n // The default palettes (primary, secondary, error, info, success, and warning) errors are handled by the above `createTheme(...)`.\n\n if (colors && typeof colors === 'object') {\n // Silent the error for custom palettes.\n if (colors.main) {\n setColor(palette[color], 'mainChannel', safeColorChannel(toRgb(colors.main)));\n }\n if (colors.light) {\n setColor(palette[color], 'lightChannel', safeColorChannel(toRgb(colors.light)));\n }\n if (colors.dark) {\n setColor(palette[color], 'darkChannel', safeColorChannel(toRgb(colors.dark)));\n }\n if (colors.contrastText) {\n setColor(palette[color], 'contrastTextChannel', safeColorChannel(toRgb(colors.contrastText)));\n }\n if (color === 'text') {\n // Text colors: text.primary, text.secondary\n setColorChannel(palette[color], 'primary');\n setColorChannel(palette[color], 'secondary');\n }\n if (color === 'action') {\n // Action colors: action.active, action.selected\n if (colors.active) {\n setColorChannel(palette[color], 'active');\n }\n if (colors.selected) {\n setColorChannel(palette[color], 'selected');\n }\n }\n }\n });\n });\n theme = args.reduce((acc, argument) => deepmerge(acc, argument), theme);\n const parserConfig = {\n prefix: cssVarPrefix,\n disableCssColorScheme,\n shouldSkipGeneratingVar,\n getSelector: defaultGetSelector(theme)\n };\n const {\n vars,\n generateThemeVars,\n generateStyleSheets\n } = prepareCssVars(theme, parserConfig);\n theme.vars = vars;\n Object.entries(theme.colorSchemes[theme.defaultColorScheme]).forEach(([key, value]) => {\n theme[key] = value;\n });\n theme.generateThemeVars = generateThemeVars;\n theme.generateStyleSheets = generateStyleSheets;\n theme.generateSpacing = function generateSpacing() {\n return createSpacing(input.spacing, createUnarySpacing(this));\n };\n theme.getColorSchemeSelector = createGetColorSchemeSelector(selector);\n theme.spacing = theme.generateSpacing();\n theme.shouldSkipGeneratingVar = shouldSkipGeneratingVar;\n theme.unstable_sxConfig = {\n ...defaultSxConfig,\n ...input?.unstable_sxConfig\n };\n theme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n theme.toRuntimeSource = stringifyTheme; // for Pigment CSS integration\n\n return theme;\n}", "import createPalette from \"./createPalette.js\";\nimport createThemeWithVars from \"./createThemeWithVars.js\";\nimport createThemeNoVars from \"./createThemeNoVars.js\";\nexport { createMuiTheme } from \"./createThemeNoVars.js\";\n// eslint-disable-next-line consistent-return\nfunction attachColorScheme(theme, scheme, colorScheme) {\n if (!theme.colorSchemes) {\n return undefined;\n }\n if (colorScheme) {\n theme.colorSchemes[scheme] = {\n ...(colorScheme !== true && colorScheme),\n palette: createPalette({\n ...(colorScheme === true ? {} : colorScheme.palette),\n mode: scheme\n }) // cast type to skip module augmentation test\n };\n }\n}\n\n/**\n * Generate a theme base on the options received.\n * @param options Takes an incomplete theme object and adds the missing parts.\n * @param args Deep merge the arguments with the about to be returned theme.\n * @returns A complete, ready-to-use theme object.\n */\nexport default function createTheme(options = {},\n// cast type to skip module augmentation test\n...args) {\n const {\n palette,\n cssVariables = false,\n colorSchemes: initialColorSchemes = !palette ? {\n light: true\n } : undefined,\n defaultColorScheme: initialDefaultColorScheme = palette?.mode,\n ...rest\n } = options;\n const defaultColorSchemeInput = initialDefaultColorScheme || 'light';\n const defaultScheme = initialColorSchemes?.[defaultColorSchemeInput];\n const colorSchemesInput = {\n ...initialColorSchemes,\n ...(palette ? {\n [defaultColorSchemeInput]: {\n ...(typeof defaultScheme !== 'boolean' && defaultScheme),\n palette\n }\n } : undefined)\n };\n if (cssVariables === false) {\n if (!('colorSchemes' in options)) {\n // Behaves exactly as v5\n return createThemeNoVars(options, ...args);\n }\n let paletteOptions = palette;\n if (!('palette' in options)) {\n if (colorSchemesInput[defaultColorSchemeInput]) {\n if (colorSchemesInput[defaultColorSchemeInput] !== true) {\n paletteOptions = colorSchemesInput[defaultColorSchemeInput].palette;\n } else if (defaultColorSchemeInput === 'dark') {\n // @ts-ignore to prevent the module augmentation test from failing\n paletteOptions = {\n mode: 'dark'\n };\n }\n }\n }\n const theme = createThemeNoVars({\n ...options,\n palette: paletteOptions\n }, ...args);\n theme.defaultColorScheme = defaultColorSchemeInput;\n theme.colorSchemes = colorSchemesInput;\n if (theme.palette.mode === 'light') {\n theme.colorSchemes.light = {\n ...(colorSchemesInput.light !== true && colorSchemesInput.light),\n palette: theme.palette\n };\n attachColorScheme(theme, 'dark', colorSchemesInput.dark);\n }\n if (theme.palette.mode === 'dark') {\n theme.colorSchemes.dark = {\n ...(colorSchemesInput.dark !== true && colorSchemesInput.dark),\n palette: theme.palette\n };\n attachColorScheme(theme, 'light', colorSchemesInput.light);\n }\n return theme;\n }\n if (!palette && !('light' in colorSchemesInput) && defaultColorSchemeInput === 'light') {\n colorSchemesInput.light = true;\n }\n return createThemeWithVars({\n ...rest,\n colorSchemes: colorSchemesInput,\n defaultColorScheme: defaultColorSchemeInput,\n ...(typeof cssVariables !== 'boolean' && cssVariables)\n }, ...args);\n}", "'use client';\n\nimport * as React from 'react';\nimport { useTheme as useThemeSystem } from '@mui/system';\nimport defaultTheme from \"./defaultTheme.js\";\nimport THEME_ID from \"./identifier.js\";\nexport default function useTheme() {\n const theme = useThemeSystem(defaultTheme);\n if (process.env.NODE_ENV !== 'production') {\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n return theme[THEME_ID] || theme;\n}", "'use client';\n\nimport createTheme from \"./createTheme.js\";\nconst defaultTheme = createTheme();\nexport default defaultTheme;", "'use client';\n\nimport systemUseThemeProps from '@mui/system/useThemeProps';\nimport defaultTheme from \"./defaultTheme.js\";\nimport THEME_ID from \"./identifier.js\";\nexport default function useThemeProps({\n props,\n name\n}) {\n return systemUseThemeProps({\n props,\n name,\n defaultTheme,\n themeId: THEME_ID\n });\n}", "// copied from @mui/system/createStyled\nfunction slotShouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nexport default slotShouldForwardProp;", "import slotShouldForwardProp from \"./slotShouldForwardProp.js\";\nconst rootShouldForwardProp = prop => slotShouldForwardProp(prop) && prop !== 'classes';\nexport default rootShouldForwardProp;", "'use client';\n\nimport createStyled from '@mui/system/createStyled';\nimport defaultTheme from \"./defaultTheme.js\";\nimport THEME_ID from \"./identifier.js\";\nimport rootShouldForwardProp from \"./rootShouldForwardProp.js\";\nexport { default as slotShouldForwardProp } from \"./slotShouldForwardProp.js\";\nexport { default as rootShouldForwardProp } from \"./rootShouldForwardProp.js\";\nconst styled = createStyled({\n themeId: THEME_ID,\n defaultTheme,\n rootShouldForwardProp\n});\nexport default styled;", "'use client';\n\nimport * as React from 'react';\nimport ThemeProviderNoVars from \"./ThemeProviderNoVars.js\";\nimport { CssVarsProvider } from \"./ThemeProviderWithVars.js\";\nimport THEME_ID from \"./identifier.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function ThemeProvider({\n theme,\n ...props\n}) {\n if (typeof theme === 'function') {\n return /*#__PURE__*/_jsx(ThemeProviderNoVars, {\n theme: theme,\n ...props\n });\n }\n const muiTheme = THEME_ID in theme ? theme[THEME_ID] : theme;\n if (!('colorSchemes' in muiTheme)) {\n return /*#__PURE__*/_jsx(ThemeProviderNoVars, {\n theme: theme,\n ...props\n });\n }\n return /*#__PURE__*/_jsx(CssVarsProvider, {\n theme: theme,\n ...props\n });\n}", "'use client';\n\nimport * as React from 'react';\nimport { ThemeProvider as SystemThemeProvider } from '@mui/system';\nimport THEME_ID from \"./identifier.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function ThemeProviderNoVars({\n theme: themeInput,\n ...props\n}) {\n const scopedTheme = THEME_ID in themeInput ? themeInput[THEME_ID] : undefined;\n return /*#__PURE__*/_jsx(SystemThemeProvider, {\n ...props,\n themeId: scopedTheme ? THEME_ID : undefined,\n theme: scopedTheme || themeInput\n });\n}", "'use client';\n\nimport * as React from 'react';\nimport styleFunctionSx from '@mui/system/styleFunctionSx';\nimport { unstable_createCssVarsProvider as createCssVarsProvider } from '@mui/system';\nimport createTheme from \"./createTheme.js\";\nimport createTypography from \"./createTypography.js\";\nimport THEME_ID from \"./identifier.js\";\nimport { defaultConfig } from \"../InitColorSchemeScript/InitColorSchemeScript.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst {\n CssVarsProvider: InternalCssVarsProvider,\n useColorScheme,\n getInitColorSchemeScript: deprecatedGetInitColorSchemeScript\n} = createCssVarsProvider({\n themeId: THEME_ID,\n // @ts-ignore ignore module augmentation tests\n theme: () => createTheme({\n cssVariables: true\n }),\n colorSchemeStorageKey: defaultConfig.colorSchemeStorageKey,\n modeStorageKey: defaultConfig.modeStorageKey,\n defaultColorScheme: {\n light: defaultConfig.defaultLightColorScheme,\n dark: defaultConfig.defaultDarkColorScheme\n },\n resolveTheme: theme => {\n const newTheme = {\n ...theme,\n typography: createTypography(theme.palette, theme.typography)\n };\n newTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n return newTheme;\n }\n});\nlet warnedOnce = false;\n\n// TODO: remove in v7\n// eslint-disable-next-line @typescript-eslint/naming-convention\nfunction Experimental_CssVarsProvider(props) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n console.warn(['MUI: The Experimental_CssVarsProvider component has been ported into ThemeProvider.', '', \"You should use `import { ThemeProvider } from '@mui/material/styles'` instead.\", 'For more details, check out https://mui.com/material-ui/customization/css-theme-variables/usage/'].join('\\n'));\n warnedOnce = true;\n }\n }\n return /*#__PURE__*/_jsx(InternalCssVarsProvider, {\n ...props\n });\n}\nlet warnedInitScriptOnce = false;\n\n// TODO: remove in v7\nconst getInitColorSchemeScript = params => {\n if (!warnedInitScriptOnce) {\n console.warn(['MUI: The getInitColorSchemeScript function has been deprecated.', '', \"You should use `import InitColorSchemeScript from '@mui/material/InitColorSchemeScript'`\", 'and replace the function call with `` instead.'].join('\\n'));\n warnedInitScriptOnce = true;\n }\n return deprecatedGetInitColorSchemeScript(params);\n};\n\n/**\n * TODO: remove this export in v7\n * @deprecated\n * The `CssVarsProvider` component has been deprecated and ported into `ThemeProvider`.\n *\n * You should use `ThemeProvider` and `createTheme()` instead:\n *\n * ```diff\n * - import { CssVarsProvider, extendTheme } from '@mui/material/styles';\n * + import { ThemeProvider, createTheme } from '@mui/material/styles';\n *\n * - const theme = extendTheme();\n * + const theme = createTheme({\n * + cssVariables: true,\n * + colorSchemes: { light: true, dark: true },\n * + });\n *\n * - \n * + \n * ```\n *\n * To see the full documentation, check out https://mui.com/material-ui/customization/css-theme-variables/usage/.\n */\nexport const CssVarsProvider = InternalCssVarsProvider;\nexport { useColorScheme, getInitColorSchemeScript, Experimental_CssVarsProvider };", "import * as React from 'react';\nimport SystemInitColorSchemeScript from '@mui/system/InitColorSchemeScript';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const defaultConfig = {\n attribute: 'data-mui-color-scheme',\n colorSchemeStorageKey: 'mui-color-scheme',\n defaultLightColorScheme: 'light',\n defaultDarkColorScheme: 'dark',\n modeStorageKey: 'mui-mode'\n};\nexport default (function InitColorSchemeScript(props) {\n return /*#__PURE__*/_jsx(SystemInitColorSchemeScript, {\n ...defaultConfig,\n ...props\n });\n});", "import { type CSSProperties } from 'react';\nimport { createTheme, alpha, type PaletteOptions as PaletteOptionsMui } from '@mui/material/styles';\nimport { orange, grey } from '@mui/material/colors';\n\nimport type { SimplePaletteColorOptions } from '@mui/material/styles/createPalette';\nimport type { ThemeOptions as ThemeOptionsMui } from '@mui/material/styles/createTheme';\nimport type { IobTheme, ThemeName, ThemeType } from './types';\n\nconst step = (16 - 5) / 23 / 100;\n\n/**\n * Convert hex color in the format '#rrggbb' or '#rgb' to an RGB object.\n */\nfunction toInt(hex: string): { r: number; g: number; b: number } {\n const rgb: { r: number; g: number; b: number } = {\n r: 0,\n g: 0,\n b: 0,\n };\n\n if (hex.length === 7) {\n rgb.r = parseInt(hex.substr(1, 2), 16);\n rgb.g = parseInt(hex.substr(3, 2), 16);\n rgb.b = parseInt(hex.substr(5, 2), 16);\n } else if (hex.length === 4) {\n const r = hex.substr(1, 1);\n const g = hex.substr(2, 1);\n const b = hex.substr(3, 1);\n\n rgb.r = parseInt(r + r, 16);\n rgb.g = parseInt(g + g, 16);\n rgb.b = parseInt(b + b, 16);\n }\n\n return rgb;\n}\n\n/**\n * Convert an RGB object to a hex color string in the format '#rrggbb'.\n */\nfunction toHex(int: { r: number; g: number; b: number }): string {\n return `#${Math.round(int.r).toString(16)}${Math.round(int.g).toString(16)}${Math.round(int.b).toString(16)}`;\n}\n\n/** Returns the hex color string in the format '#rrggbb' */\nfunction getElevation(\n /** color in the format '#rrggbb' or '#rgb' */\n color: string,\n /** overlay color in the format '#rrggbb' or '#rgb' */\n overlayColor: string,\n /** elevation as an integer starting with 1 */\n elevation: number,\n): string {\n const rgb: { r: number; g: number; b: number } = toInt(color);\n const overlay: { r: number; g: number; b: number } = toInt(overlayColor);\n\n rgb.r += overlay.r * (0.05 + step * (elevation - 1));\n rgb.g += overlay.g * (0.05 + step * (elevation - 1));\n rgb.b += overlay.b * (0.05 + step * (elevation - 1));\n\n return toHex(rgb);\n}\n\n/**\n * Get all 24 elevations of the given color and overlay.\n *\n * @param color color in the format '#rrggbb' or '#rgb'\n * @param overlay overlay color in the format '#rrggbb' or '#rgb'\n */\nfunction getElevations(color: string, overlay: string): Record {\n const elevations: Record = {};\n\n for (let i = 1; i <= 24; i++) {\n elevations[`elevation${i}`] = {\n backgroundColor: getElevation(color, overlay, i),\n };\n }\n\n return elevations;\n}\n\n// const buttonsPalette = () => ({\n// palette: {\n// // mode: \"dark\",\n// grey: {\n// main: grey[300],\n// dark: grey[400],\n// },\n// },\n// });\n\n// const buttonsTheme = theme => ({\n// components: {\n// MuiButton: {\n// variants: [\n// {\n// props: { variant: 'contained', color: 'grey' },\n// style: {\n// color: theme.palette.getContrastText(theme.palette.grey[300]),\n// },\n// },\n// {\n// props: { variant: 'outlined', color: 'grey' },\n// style: {\n// color: theme.palette.text.primary,\n// borderColor:\n// theme.palette.mode === 'light'\n// ? 'rgba(0, 0, 0, 0.23)'\n// : 'rgba(255, 255, 255, 0.23)',\n// '&.Mui-disabled': {\n// border: `1px solid ${theme.palette.action.disabledBackground}`,\n// },\n// '&:hover': {\n// borderColor:\n// theme.palette.mode === 'light'\n// ? 'rgba(0, 0, 0, 0.23)'\n// : 'rgba(255, 255, 255, 0.23)',\n// backgroundColor: alpha(\n// theme.palette.text.primary,\n// theme.palette.action.hoverOpacity,\n// ),\n// },\n// },\n// },\n// {\n// props: { color: 'grey', variant: 'text' },\n// style: {\n// color: 'black',\n// '&:hover': {\n// backgroundColor: alpha(\n// theme.palette.text.primary,\n// theme.palette.action.hoverOpacity,\n// ),\n// },\n// },\n// },\n// ],\n// },\n// },\n// });\n\ninterface PaletteOptions extends PaletteOptionsMui {\n mode: ThemeType;\n expert: string;\n grey?: {\n main?: string;\n dark?: string;\n 50?: string;\n 100?: string;\n 200?: string;\n 300?: string;\n 400?: string;\n 500?: string;\n 600?: string;\n 700?: string;\n 800?: string;\n 900?: string;\n A100?: string;\n A200?: string;\n A400?: string;\n A700?: string;\n };\n}\n\ninterface ThemeOptions extends ThemeOptionsMui {\n name: ThemeName;\n palette?: PaletteOptions;\n toolbar?: CSSProperties;\n saveToolbar?: {\n background: string;\n button: CSSProperties;\n };\n}\n\n/**\n * The theme creation factory function.\n */\nexport function Theme(type: ThemeName, overrides?: Record): IobTheme {\n let options: ThemeOptions;\n let localOverrides: Record;\n\n if (type === 'dark') {\n localOverrides = {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#272727',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[200],\n '&:hover': {\n color: orange[100],\n },\n },\n },\n MuiPaper: getElevations('#121212', '#fff'),\n };\n\n options = {\n name: type,\n palette: {\n mode: 'dark',\n background: {\n paper: '#121212',\n default: '#121212',\n },\n primary: {\n main: '#4dabf5',\n },\n secondary: {\n main: '#436a93',\n },\n expert: '#14bb00',\n text: {\n primary: '#ffffff',\n secondary: '#ffffff',\n },\n },\n };\n } else if (type === 'blue') {\n localOverrides = {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#3399CC',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n };\n\n options = {\n name: type,\n palette: {\n mode: 'dark',\n background: {\n paper: '#151d21',\n default: '#151d21',\n },\n primary: {\n main: '#4dabf5',\n },\n secondary: {\n main: '#436a93',\n },\n expert: '#14bb00',\n text: {\n primary: '#ffffff',\n secondary: '#ffffff',\n },\n },\n };\n } else if (type === 'colored') {\n localOverrides = {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#2a3135',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[200],\n '&:hover': {\n color: orange[100],\n },\n },\n },\n MuiPaper: getElevations('#151d21', '#fff'),\n };\n\n options = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#3399CC',\n },\n secondary: {\n main: '#164477',\n },\n expert: '#96fc96',\n },\n };\n } else if (type === 'PT') {\n localOverrides = {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#0F99DE',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n };\n\n options = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#0F99DE',\n },\n secondary: {\n main: '#88A536',\n },\n expert: '#BD1B24',\n },\n };\n } else if (type === 'DX') {\n localOverrides = {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#a9a9a9',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n };\n\n options = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#F5F5F7',\n },\n secondary: {\n main: '#a9a9a9',\n },\n expert: '#BD1B24',\n text: {\n primary: '#007AFE',\n secondary: '#007AFE',\n disabled: '#007AFEAA',\n },\n },\n };\n } else {\n localOverrides = {\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n };\n\n options = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#3399CC',\n dark: '#256c97',\n light: '#76d0fd',\n },\n secondary: {\n main: '#164477',\n },\n expert: '#14bb00',\n },\n };\n }\n\n options.toolbar = {\n height: 48,\n };\n\n options.saveToolbar = {\n background: (options.palette?.primary as SimplePaletteColorOptions)?.main,\n button: {\n borderRadius: 3,\n height: 32,\n },\n };\n\n if (options.palette) {\n options.palette.grey = {\n main: grey[300],\n dark: grey[400],\n };\n }\n\n const theme: IobTheme = createTheme(options) as IobTheme;\n\n const palette: PaletteOptions = theme.palette as PaletteOptions;\n\n return createTheme(theme, {\n ...(overrides || undefined),\n components: {\n ...localOverrides,\n MuiButton: {\n variants: [\n {\n props: { variant: 'contained', color: 'grey' },\n style: {\n backgroundColor: palette.grey?.[300],\n color:\n palette.getContrastText && palette.grey?.[300]\n ? palette.getContrastText(palette.grey[300])\n : undefined,\n },\n },\n {\n props: { variant: 'outlined', color: 'grey' },\n style: {\n color: palette.text?.primary,\n borderColor: palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)',\n '&.Mui-disabled': {\n border: `1px solid ${palette.action?.disabledBackground}`,\n },\n '&:hover': {\n borderColor:\n palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)',\n backgroundColor: alpha(\n palette.text?.primary || '',\n palette.action?.hoverOpacity || 0.04,\n ),\n },\n },\n },\n {\n props: { variant: 'text', color: 'grey' },\n style: {\n color: palette.text?.primary,\n '&:hover': {\n backgroundColor: alpha(\n palette.text?.primary || '',\n palette.action?.hoverOpacity || 0.04,\n ),\n },\n },\n },\n ],\n },\n ...(overrides?.components || undefined),\n },\n }) as IobTheme;\n}\n", "/**\n * Copyright 2018-2024 Denis Haev (bluefox) \n *\n * MIT License\n *\n */\nimport React, { type JSX } from 'react';\nimport { PROGRESS, Connection, type AdminConnection } from '@iobroker/socket-client';\nimport * as Sentry from '@sentry/browser';\n\nimport { Snackbar, IconButton } from '@mui/material';\n\nimport { Close as IconClose } from '@mui/icons-material';\n\nimport { printPrompt } from './Prompt';\nimport { Theme } from './Theme';\nimport { Loader } from './Components/Loader';\nimport { Router } from './Components/Router';\nimport { Utils } from './Components/Utils';\nimport { SaveCloseButtons } from './Components/SaveCloseButtons';\nimport { DialogConfirm } from './Dialogs/Confirm';\nimport { I18n } from './i18n';\nimport { DialogError } from './Dialogs/Error';\nimport type {\n GenericAppProps,\n GenericAppState,\n GenericAppSettings,\n ThemeName,\n ThemeType,\n IobTheme,\n Width,\n} from './types';\n\nimport { dictionary } from './dictionary';\n\ndeclare global {\n /** If config has been changed */\n // eslint-disable-next-line no-var\n var changed: boolean;\n\n interface Window {\n io: any;\n SocketClient: any;\n adapterName: undefined | string;\n socketUrl: undefined | string;\n oldAlert: any;\n changed: boolean;\n $iframeDialog: {\n close?: () => void;\n };\n }\n}\n\n// import './index.css';\nconst cssStyle = `\nhtml {\n height: 100%;\n}\n\nbody {\n margin: 0;\n padding: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n/* scrollbar */\n::-webkit-scrollbar-track {\n background-color: #ccc;\n border-radius: 5px;\n}\n\n::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n background-color: #ccc;\n}\n\n::-webkit-scrollbar-thumb {\n background-color: #575757;\n border-radius: 5px;\n}\n\n#root {\n height: 100%;\n}\n\n.App {\n height: 100%;\n}\n\n@keyframes glow {\n from {\n background-color: initial;\n }\n to {\n background-color: #58c458;\n }\n}\n`;\n\nexport class GenericApp<\n TProps extends GenericAppProps = GenericAppProps,\n TState extends GenericAppState = GenericAppState,\n> extends Router {\n protected socket: AdminConnection;\n\n protected readonly instance: number;\n\n protected readonly adapterName: string;\n\n protected readonly instanceId: string;\n\n protected readonly newReact: boolean;\n\n protected encryptedFields: string[];\n\n protected readonly sentryDSN: string | undefined;\n\n private alertDialogRendered: boolean;\n\n private _secret: string | undefined;\n\n protected _systemConfig: ioBroker.SystemConfigCommon | undefined;\n\n // it is not readonly\n private savedNative: Record;\n\n protected common: ioBroker.InstanceCommon | null = null;\n\n private sentryStarted: boolean = false;\n\n private sentryInited: boolean = false;\n\n private resizeTimer: ReturnType | null = null;\n\n constructor(props: TProps, settings?: GenericAppSettings) {\n const ConnectionClass = (props.Connection ||\n settings?.Connection ||\n Connection) as unknown as typeof AdminConnection;\n // const ConnectionClass = props.Connection === 'admin' || settings.Connection = 'admin' ? AdminConnection : (props.Connection || settings.Connection || Connection);\n\n if (!window.document.getElementById('generic-app-iobroker-component')) {\n const style = window.document.createElement('style');\n style.setAttribute('id', 'generic-app-iobroker-component');\n style.innerHTML = cssStyle;\n window.document.head.appendChild(style);\n }\n\n // Remove `!Connection.isWeb() && window.adapterName !== 'material'` when iobroker.socket will support native ws\n if (!GenericApp.isWeb() && window.io && window.location.port === '3000') {\n try {\n const io = new window.SocketClient();\n delete window.io;\n window.io = io;\n } catch {\n // ignore\n }\n }\n\n super(props);\n\n printPrompt();\n\n const query = (window.location.search || '').replace(/^\\?/, '').replace(/#.*$/, '');\n const args: Record = {};\n query\n .trim()\n .split('&')\n .filter(t => t.trim())\n .forEach(b => {\n const parts = b.split('=');\n args[parts[0]] = parts.length === 2 ? parts[1] : true;\n if (args[parts[0]] === 'true') {\n args[parts[0]] = true;\n } else if (args[parts[0]] === 'false') {\n args[parts[0]] = false;\n }\n });\n\n // extract instance from URL\n this.instance =\n settings?.instance ??\n props.instance ??\n (args.instance !== undefined\n ? parseInt(args.instance as string, 10) || 0\n : parseInt(window.location.search.slice(1), 10) || 0);\n // extract adapter name from URL\n const tmp = window.location.pathname.split('/');\n this.adapterName =\n settings?.adapterName || props.adapterName || window.adapterName || tmp[tmp.length - 2] || 'iot';\n this.instanceId = `system.adapter.${this.adapterName}.${this.instance}`;\n this.newReact = args.newReact === true; // it is admin5\n\n const location = Router.getLocation();\n location.tab =\n location.tab ||\n ((window as any)._localStorage || window.localStorage).getItem(`${this.adapterName}-adapter`) ||\n '';\n\n const themeInstance = this.createTheme();\n\n this.state = Object.assign(\n this.state || {}, // keep the existing state\n {\n selectedTab:\n ((window as any)._localStorage || window.localStorage).getItem(`${this.adapterName}-adapter`) || '',\n selectedTabNum: -1,\n native: {},\n errorText: '',\n changed: false,\n connected: false,\n loaded: false,\n isConfigurationError: '',\n expertMode: false,\n toast: '',\n theme: themeInstance,\n themeName: this.getThemeName(themeInstance),\n themeType: this.getThemeType(themeInstance),\n bottomButtons: (settings && settings.bottomButtons) === false ? false : props?.bottomButtons !== false,\n width: GenericApp.getWidth(),\n confirmClose: false,\n _alert: false,\n _alertType: 'info',\n _alertMessage: '',\n },\n ) as TState;\n\n // init translations\n const translations: Record> = dictionary;\n\n // merge together\n if (settings?.translations) {\n Object.keys(settings.translations).forEach(lang => {\n if (settings.translations) {\n translations[lang as ioBroker.Languages] = Object.assign(\n translations[lang as ioBroker.Languages],\n settings.translations[lang as ioBroker.Languages] || {},\n );\n }\n });\n } else if (props.translations) {\n Object.keys(props.translations).forEach(lang => {\n if (props.translations) {\n translations[lang as ioBroker.Languages] = Object.assign(\n translations[lang as ioBroker.Languages],\n props.translations[lang as ioBroker.Languages] || {},\n );\n }\n });\n }\n\n I18n.setTranslations(translations);\n\n this.savedNative = {}; // to detect if the config changed\n\n this.encryptedFields = props.encryptedFields || settings?.encryptedFields || [];\n\n this.sentryDSN = (settings && settings.sentryDSN) || props.sentryDSN;\n\n if (window.socketUrl) {\n if (window.socketUrl.startsWith(':')) {\n window.socketUrl = `${window.location.protocol}//${window.location.hostname}${window.socketUrl}`;\n } else if (!window.socketUrl.startsWith('http://') && !window.socketUrl.startsWith('https://')) {\n window.socketUrl = `${window.location.protocol}//${window.socketUrl}`;\n }\n }\n\n this.alertDialogRendered = false;\n\n window.oldAlert = window.alert;\n window.alert = message => {\n if (!this.alertDialogRendered) {\n window.oldAlert(message);\n return;\n }\n if (message && message.toString().toLowerCase().includes('error')) {\n console.error(message);\n this.showAlert(message.toString(), 'error');\n } else {\n console.log(message);\n this.showAlert(message.toString(), 'info');\n }\n };\n\n // @ts-expect-error either make props in ConnectionProps required or the constructor needs to accept than as they are (means adapt socket-client)\n this.socket = new ConnectionClass({\n ...(props?.socket || settings?.socket),\n name: this.adapterName,\n doNotLoadAllObjects: settings?.doNotLoadAllObjects,\n onProgress: (progress: PROGRESS) => {\n if (progress === PROGRESS.CONNECTING) {\n this.setState({ connected: false });\n } else if (progress === PROGRESS.READY) {\n this.setState({ connected: true });\n } else {\n this.setState({ connected: true });\n }\n },\n onReady: (/* objects, scripts */) => {\n I18n.setLanguage(this.socket.systemLang);\n\n // subscribe because of language and expert mode\n this.socket\n .subscribeObject('system.config', this.onSystemConfigChanged)\n .then(() => this.getSystemConfig())\n .then(obj => {\n this._secret =\n (typeof obj !== 'undefined' && obj.native && obj.native.secret) || 'Zgfr56gFe87jJOM';\n this._systemConfig = obj?.common || ({} as ioBroker.SystemConfigCommon);\n return this.socket.getObject(this.instanceId);\n })\n .then(async obj => {\n let waitPromise;\n const instanceObj: ioBroker.InstanceObject | null | undefined = obj as\n | ioBroker.InstanceObject\n | null\n | undefined;\n\n const sentryPluginEnabled = (\n await this.socket.getState(`${this.instanceId}.plugins.sentry.enabled`)\n )?.val;\n\n const sentryEnabled =\n sentryPluginEnabled !== false &&\n this._systemConfig?.diag !== 'none' &&\n instanceObj?.common &&\n instanceObj.common.name &&\n instanceObj.common.version &&\n // @ts-expect-error will be extended in js-controller TODO: (BF: 2024.05.30) this is redundant to state `${this.instanceId}.plugins.sentry.enabled`, remove this in future when admin sets the state correctly\n !instanceObj.common.disableDataReporting &&\n window.location.host !== 'localhost:3000';\n\n // activate sentry plugin\n if (!this.sentryStarted && this.sentryDSN && sentryEnabled) {\n this.sentryStarted = true;\n\n Sentry.init({\n dsn: this.sentryDSN,\n release: `iobroker.${instanceObj.common.name}@${instanceObj.common.version}`,\n integrations: [Sentry.dedupeIntegration()],\n });\n\n console.log('Sentry initialized');\n }\n\n // read UUID and init sentry with it.\n // for backward compatibility it will be processed separately from the above logic: some adapters could still have this.sentryDSN as undefined\n if (!this.sentryInited && sentryEnabled) {\n this.sentryInited = true;\n\n waitPromise = this.socket.getObject('system.meta.uuid').then(uuidObj => {\n if (uuidObj && uuidObj.native && uuidObj.native.uuid) {\n const scope = Sentry.getCurrentScope();\n scope.setUser({ id: uuidObj.native.uuid });\n }\n });\n }\n\n waitPromise = waitPromise instanceof Promise ? waitPromise : Promise.resolve();\n\n void waitPromise.then(() => {\n if (instanceObj) {\n this.common = instanceObj?.common;\n this.onPrepareLoad(instanceObj.native, instanceObj.encryptedNative); // decode all secrets\n this.savedNative = JSON.parse(JSON.stringify(instanceObj.native));\n this.setState(\n { native: instanceObj.native, loaded: true, expertMode: this.getExpertMode() },\n () => this.onConnectionReady && this.onConnectionReady(),\n );\n } else {\n console.warn('Cannot load instance settings');\n this.setState(\n {\n native: {},\n loaded: true,\n expertMode: this.getExpertMode(),\n },\n () => this.onConnectionReady && this.onConnectionReady(),\n );\n }\n });\n })\n .catch(e => window.alert(`Cannot settings: ${e}`));\n },\n onError: (err: string) => {\n console.error(err);\n this.showError(err);\n },\n });\n }\n\n /**\n * Checks if this connection is running in a web adapter and not in an admin.\n *\n * @returns True if running in a web adapter or in a socketio adapter.\n */\n static isWeb(): boolean {\n return window.socketUrl !== undefined;\n }\n\n showAlert(message: string, type?: 'info' | 'warning' | 'error' | 'success'): void {\n if (type !== 'error' && type !== 'warning' && type !== 'info' && type !== 'success') {\n type = 'info';\n }\n\n this.setState({\n _alert: true,\n _alertType: type,\n _alertMessage: message,\n });\n }\n\n renderAlertSnackbar(): JSX.Element {\n this.alertDialogRendered = true;\n\n return (\n reason !== 'clickaway' && this.setState({ _alert: false })}\n message={this.state._alertMessage}\n />\n );\n }\n\n onSystemConfigChanged = (id: string, obj: ioBroker.AnyObject | null | undefined): void => {\n if (obj && id === 'system.config') {\n if (this.socket.systemLang !== (obj as ioBroker.SystemConfigObject)?.common.language) {\n this.socket.systemLang = (obj as ioBroker.SystemConfigObject)?.common.language || 'en';\n I18n.setLanguage(this.socket.systemLang);\n }\n\n if (this._systemConfig?.expertMode !== !!(obj as ioBroker.SystemConfigObject)?.common?.expertMode) {\n this._systemConfig =\n (obj as ioBroker.SystemConfigObject)?.common || ({} as ioBroker.SystemConfigCommon);\n this.setState({ expertMode: this.getExpertMode() });\n } else {\n this._systemConfig =\n (obj as ioBroker.SystemConfigObject)?.common || ({} as ioBroker.SystemConfigCommon);\n }\n }\n };\n\n /**\n * Called immediately after a component is mounted. Setting state here will trigger re-rendering.\n */\n componentDidMount(): void {\n window.addEventListener('resize', this.onResize, true);\n window.addEventListener('message', this.onReceiveMessage, false);\n super.componentDidMount();\n }\n\n /**\n * Called immediately before a component is destroyed.\n */\n componentWillUnmount(): void {\n window.removeEventListener('resize', this.onResize, true);\n window.removeEventListener('message', this.onReceiveMessage, false);\n super.componentWillUnmount();\n }\n\n onReceiveMessage = (message: { data: string } | null): void => {\n if (message?.data) {\n if (message.data === 'updateTheme') {\n const newThemeName = Utils.getThemeName();\n Utils.setThemeName(Utils.getThemeName());\n\n const newTheme = this.createTheme(newThemeName);\n\n this.setState(\n {\n theme: newTheme,\n themeName: this.getThemeName(newTheme),\n themeType: this.getThemeType(newTheme),\n },\n () => {\n this.props.onThemeChange && this.props.onThemeChange(newThemeName);\n this.onThemeChanged && this.onThemeChanged(newThemeName);\n },\n );\n } else if (message.data === 'updateExpertMode') {\n this.onToggleExpertMode && this.onToggleExpertMode(this.getExpertMode());\n } else if (message.data !== 'chartReady') {\n // if not \"echart ready\" message\n console.debug(\n `Received unknown message: \"${JSON.stringify(message.data)}\". May be it will be processed later`,\n );\n }\n }\n };\n\n private onResize = (): void => {\n this.resizeTimer && clearTimeout(this.resizeTimer);\n this.resizeTimer = setTimeout(() => {\n this.resizeTimer = null;\n this.setState({ width: GenericApp.getWidth() });\n }, 200);\n };\n\n /**\n * Gets the width depending on the window inner width.\n */\n static getWidth(): Width {\n /**\n * innerWidth |xs sm md lg xl\n * |-------|-------|-------|-------|------>\n * width | xs | sm | md | lg | xl\n */\n\n const SIZES: Record = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n };\n const width = window.innerWidth;\n const keys = Object.keys(SIZES).reverse();\n const widthComputed = keys.find(key => width >= SIZES[key as Width]) as Width;\n\n return widthComputed || 'xs';\n }\n\n /**\n * Get a theme\n *\n * @param name Theme name\n */\n // eslint-disable-next-line class-methods-use-this\n createTheme(name?: ThemeName | null): IobTheme {\n return Theme(Utils.getThemeName(name));\n }\n\n /**\n * Get the theme name\n */\n // eslint-disable-next-line class-methods-use-this\n getThemeName(currentTheme: IobTheme): ThemeName {\n return currentTheme.name;\n }\n\n /**\n * Get the theme type\n */\n // eslint-disable-next-line class-methods-use-this\n getThemeType(currentTheme: IobTheme): ThemeType {\n return currentTheme.palette.mode;\n }\n\n // eslint-disable-next-line class-methods-use-this\n onThemeChanged(_newThemeName: string): void {}\n\n // eslint-disable-next-line class-methods-use-this\n onToggleExpertMode(_expertMode: boolean): void {}\n\n /**\n * Changes the current theme\n */\n toggleTheme(newThemeName?: ThemeName): void {\n const themeName = this.state.themeName;\n\n // dark => blue => colored => light => dark\n newThemeName =\n newThemeName ||\n (themeName === 'dark'\n ? 'light'\n : themeName === 'blue'\n ? 'light'\n : themeName === 'colored'\n ? 'light'\n : 'dark');\n\n if (newThemeName !== themeName) {\n Utils.setThemeName(newThemeName);\n\n const newTheme = this.createTheme(newThemeName);\n\n this.setState(\n {\n theme: newTheme,\n themeName: this.getThemeName(newTheme),\n themeType: this.getThemeType(newTheme),\n },\n () => {\n this.props.onThemeChange && this.props.onThemeChange(newThemeName || 'light');\n this.onThemeChanged && this.onThemeChanged(newThemeName || 'light');\n },\n );\n }\n }\n\n /**\n * Gets the system configuration.\n */\n getSystemConfig(): Promise {\n return this.socket.getSystemConfig();\n }\n\n /**\n * Get current expert mode\n */\n getExpertMode(): boolean {\n return window.sessionStorage.getItem('App.expertMode') === 'true' || !!this._systemConfig?.expertMode;\n }\n\n /**\n * Gets called when the socket.io connection is ready.\n * You can overload this function to execute own commands.\n */\n // eslint-disable-next-line class-methods-use-this\n onConnectionReady(): void {}\n\n /**\n * Encrypts a string.\n */\n encrypt(value: string): string {\n let result = '';\n if (this._secret) {\n for (let i = 0; i < value.length; i++) {\n result += String.fromCharCode(\n this._secret[i % this._secret.length].charCodeAt(0) ^ value.charCodeAt(i),\n );\n }\n }\n return result;\n }\n\n /**\n * Decrypts a string.\n */\n decrypt(value: string): string {\n let result = '';\n if (this._secret) {\n for (let i = 0; i < value.length; i++) {\n result += String.fromCharCode(\n this._secret[i % this._secret.length].charCodeAt(0) ^ value.charCodeAt(i),\n );\n }\n }\n return result;\n }\n\n /**\n * Gets called when the navigation hash changes.\n * You may override this if needed.\n */\n onHashChanged(): void {\n const location = Router.getLocation();\n if (location.tab !== this.state.selectedTab) {\n this.selectTab(location.tab);\n }\n }\n\n /**\n * Selects the given tab.\n */\n selectTab(tab: string, index?: number): void {\n ((window as any)._localStorage || window.localStorage).setItem(`${this.adapterName}-adapter`, tab);\n this.setState({ selectedTab: tab, selectedTabNum: index });\n }\n\n /**\n * Gets called before the settings are saved.\n * You may override this if needed.\n */\n onPrepareSave(settings: Record): boolean {\n // here you can encode values\n this.encryptedFields &&\n this.encryptedFields.forEach(attr => {\n if (settings[attr]) {\n settings[attr] = this.encrypt(settings[attr]);\n }\n });\n\n return true;\n }\n\n /**\n * Gets called after the settings are loaded.\n * You may override this if needed.\n *\n * @param settings instance settings from native part\n * @param encryptedNative optional list of fields to be decrypted\n */\n onPrepareLoad(settings: Record, encryptedNative?: string[]): void {\n // here you can encode values\n this.encryptedFields &&\n this.encryptedFields.forEach(attr => {\n if (settings[attr]) {\n settings[attr] = this.decrypt(settings[attr]);\n }\n });\n encryptedNative &&\n encryptedNative.forEach(attr => {\n this.encryptedFields = this.encryptedFields || [];\n !this.encryptedFields.includes(attr) && this.encryptedFields.push(attr);\n if (settings[attr]) {\n settings[attr] = this.decrypt(settings[attr]);\n }\n });\n }\n\n /**\n * Gets the extendable instances.\n */\n async getExtendableInstances(): Promise {\n try {\n const instances = await this.socket.getObjectViewSystem(\n 'instance',\n 'system.adapter.',\n 'system.adapter.\\u9999',\n );\n return Object.values(instances).filter(instance => !!instance?.common?.webExtendable);\n } catch {\n return [];\n }\n }\n\n /**\n * Gets the IP addresses of the given host.\n */\n async getIpAddresses(host: string): Promise<{ name: string; address: string; family: 'ipv4' | 'ipv6' }[]> {\n const ips = await this.socket.getHostByIp(host || this.common?.host || '');\n // translate names\n const ip4 = ips.find(ip => ip.address === '0.0.0.0');\n if (ip4) {\n ip4.name = `[IPv4] 0.0.0.0 - ${I18n.t('ra_Listen on all IPs')}`;\n }\n const ip6 = ips.find(ip => ip.address === '::');\n if (ip6) {\n ip6.name = `[IPv4] :: - ${I18n.t('ra_Listen on all IPs')}`;\n }\n return ips;\n }\n\n /**\n * Saves the settings to the server.\n *\n * @param isClose True if the user is closing the dialog.\n */\n onSave(isClose?: boolean): void {\n let oldObj: ioBroker.InstanceObject;\n if (this.state.isConfigurationError) {\n this.setState({ errorText: this.state.isConfigurationError });\n return;\n }\n\n this.socket\n .getObject(this.instanceId)\n .then(_oldObj => {\n oldObj = (_oldObj || {}) as ioBroker.InstanceObject;\n\n for (const a in this.state.native) {\n if (Object.prototype.hasOwnProperty.call(this.state.native, a)) {\n if (this.state.native[a] === null) {\n oldObj.native[a] = null;\n } else if (this.state.native[a] !== undefined) {\n oldObj.native[a] = JSON.parse(JSON.stringify(this.state.native[a]));\n } else {\n delete oldObj.native[a];\n }\n }\n }\n\n if (this.state.common) {\n for (const b in this.state.common) {\n if (this.state.common[b] === null) {\n (oldObj as Record).common[b] = null;\n } else if (this.state.common[b] !== undefined) {\n (oldObj as Record).common[b] = JSON.parse(\n JSON.stringify(this.state.common[b]),\n );\n } else {\n delete (oldObj as Record).common[b];\n }\n }\n }\n\n if (this.onPrepareSave(oldObj.native) !== false) {\n return this.socket.setObject(this.instanceId, oldObj);\n }\n\n return Promise.reject(new Error('Invalid configuration'));\n })\n .then(() => {\n this.savedNative = oldObj.native;\n globalThis.changed = false;\n try {\n window.parent.postMessage('nochange', '*');\n } catch {\n // ignore\n }\n\n this.setState({ changed: false });\n isClose && GenericApp.onClose();\n })\n .catch(e => console.error(`Cannot save configuration: ${e}`));\n }\n\n /**\n * Renders the toast.\n */\n renderToast(): JSX.Element | null {\n if (!this.state.toast) {\n return null;\n }\n\n return (\n this.setState({ toast: '' })}\n ContentProps={{ 'aria-describedby': 'message-id' }}\n message={{this.state.toast}}\n action={[\n this.setState({ toast: '' })}\n size=\"large\"\n >\n \n ,\n ]}\n />\n );\n }\n\n /**\n * Closes the dialog.\n */\n static onClose(): void {\n if (typeof window.parent !== 'undefined' && window.parent) {\n try {\n if (window.parent.$iframeDialog && typeof window.parent.$iframeDialog.close === 'function') {\n window.parent.$iframeDialog.close();\n } else {\n window.parent.postMessage('close', '*');\n }\n } catch {\n window.parent.postMessage('close', '*');\n }\n }\n }\n\n /**\n * Renders the error dialog.\n */\n renderError(): React.JSX.Element | null {\n if (!this.state.errorText) {\n return null;\n }\n\n return (\n this.setState({ errorText: '' })}\n />\n );\n }\n\n /**\n * Checks if the configuration has changed.\n *\n * @param native the new state\n */\n getIsChanged(native: Record): boolean {\n native = native || this.state.native;\n const isChanged = JSON.stringify(native) !== JSON.stringify(this.savedNative);\n\n globalThis.changed = isChanged;\n\n return isChanged;\n }\n\n /**\n * Gets called when loading the configuration.\n *\n * @param newNative The new configuration object.\n */\n onLoadConfig(newNative: Record): void {\n if (JSON.stringify(newNative) !== JSON.stringify(this.state.native)) {\n this.setState({ native: newNative, changed: this.getIsChanged(newNative) });\n }\n }\n\n /**\n * Sets the configuration error.\n */\n setConfigurationError(errorText: string): void {\n if (this.state.isConfigurationError !== errorText) {\n this.setState({ isConfigurationError: errorText });\n }\n }\n\n /**\n * Renders the save and close buttons.\n */\n renderSaveCloseButtons(): React.JSX.Element | null {\n if (!this.state.confirmClose && !this.state.bottomButtons) {\n return null;\n }\n\n return (\n <>\n {this.state.bottomButtons ? (\n this.onSave(isClose)}\n onClose={() => {\n if (this.state.changed) {\n this.setState({ confirmClose: true });\n } else {\n GenericApp.onClose();\n }\n }}\n />\n ) : null}\n {this.state.confirmClose ? (\n this.setState({ confirmClose: false }, () => isYes && GenericApp.onClose())}\n />\n ) : null}\n \n );\n }\n\n private _updateNativeValue(obj: Record, attrs: string | string[], value: any): boolean {\n if (typeof attrs !== 'object') {\n attrs = attrs.split('.');\n }\n const attr: string = attrs.shift() || '';\n if (!attrs.length) {\n if (value && typeof value === 'object') {\n if (JSON.stringify(obj[attr]) !== JSON.stringify(value)) {\n obj[attr] = value;\n return true;\n }\n return false;\n }\n if (obj[attr] !== value) {\n obj[attr] = value;\n return true;\n }\n\n return false;\n }\n\n obj[attr] = obj[attr] || {};\n if (typeof obj[attr] !== 'object') {\n throw new Error(`attribute ${attr} is no object, but ${typeof obj[attr]}`);\n }\n return this._updateNativeValue(obj[attr], attrs, value);\n }\n\n /**\n * Update the native value\n *\n * @param attr The attribute name with dots as delimiter.\n * @param value The new value.\n * @param cb Callback which will be called upon completion.\n */\n updateNativeValue(attr: string, value: any, cb?: () => void): void {\n const native = JSON.parse(JSON.stringify(this.state.native));\n if (this._updateNativeValue(native, attr, value)) {\n const changed = this.getIsChanged(native);\n\n if (changed !== this.state.changed) {\n try {\n window.parent.postMessage(changed ? 'change' : 'nochange', '*');\n } catch {\n // ignore\n }\n }\n\n this.setState({ native, changed }, cb);\n }\n }\n\n /**\n * Set the error text to be shown.\n */\n showError(text: string | React.JSX.Element): void {\n this.setState({ errorText: text });\n }\n\n /**\n * Sets the toast to be shown.\n *\n * @param toast Text to be shown.\n */\n showToast(toast: string | React.JSX.Element): void {\n this.setState({ toast });\n }\n\n /**\n * Renders helper dialogs\n */\n renderHelperDialogs(): React.JSX.Element {\n return (\n <>\n {this.renderError()}\n {this.renderToast()}\n {this.renderSaveCloseButtons()}\n {this.renderAlertSnackbar()}\n \n );\n }\n\n /**\n * Renders this component.\n */\n render(): React.JSX.Element {\n if (!this.state.loaded) {\n return ;\n }\n\n return (\n
    \n {this.renderError()}\n {this.renderToast()}\n {this.renderSaveCloseButtons()}\n {this.renderAlertSnackbar()}\n
    \n );\n }\n}\n", "export interface DeferredPromise extends Promise {\n resolve(value: T | PromiseLike): void;\n reject(reason?: any): void;\n}\n\nexport function createDeferredPromise(): DeferredPromise {\n let res: (value: T | PromiseLike) => void;\n let rej: (reason?: any) => void;\n\n const promise = new Promise((resolve, reject) => {\n res = resolve;\n rej = reject;\n }) as DeferredPromise;\n\n promise.resolve = res!;\n promise.reject = rej!;\n\n return promise;\n}\n", "export function getObjectViewResultToArray(\n doc:\n | {\n rows: ioBroker.GetObjectViewItem[];\n }\n | undefined,\n): T[] {\n return doc?.rows.map(item => item.value).filter((val): val is T => !!val) ?? [];\n}\n\n/** Makes sure that a host id starts with \"system.host.\" */\nexport function normalizeHostId(host: string): string {\n if (!host?.startsWith('system.host.')) {\n host = `system.host.${host}`;\n }\n return host;\n}\n\nexport function objectIdToHostname(id: string): string {\n if (id?.startsWith('system.host.')) {\n id = id.substring('system.host.'.length);\n }\n return id;\n}\n\n/**\n * Creates a promise that waits for the specified time and then resolves\n */\nexport function wait(ms: number): Promise {\n return new Promise(resolve => {\n setTimeout(resolve, ms);\n });\n}\n\n/** Converts ioB pattern into regex */\nexport function pattern2RegEx(pattern: string): string {\n pattern = (pattern || '').toString();\n\n const startsWithWildcard = pattern[0] === '*';\n const endsWithWildcard = pattern[pattern.length - 1] === '*';\n\n pattern = pattern.replace(/[-/\\\\^$+?.()|[\\]{}]/g, '\\\\$&').replace(/\\*/g, '.*');\n\n return (startsWithWildcard ? '' : '^') + pattern + (endsWithWildcard ? '' : '$');\n}\n", "import type { ConnectionProps, LogMessage } from './ConnectionProps.js';\nimport { createDeferredPromise } from './DeferredPromise.js';\nimport type { EmitEventHandler, ListenEventHandler, SocketClient } from './SocketClient.js';\nimport { getObjectViewResultToArray, normalizeHostId, pattern2RegEx, wait } from './tools.js';\n\n/** Possible progress states. */\nexport enum PROGRESS {\n /** The socket is connecting. */\n CONNECTING = 0,\n /** The socket is successfully connected. */\n CONNECTED = 1,\n /** All objects are loaded. */\n OBJECTS_LOADED = 2,\n /** The socket is ready for use. */\n READY = 3,\n}\n\nexport enum ERRORS {\n PERMISSION_ERROR = 'permissionError',\n NOT_CONNECTED = 'notConnectedError',\n TIMEOUT = 'timeout',\n NOT_ADMIN = 'Allowed only in admin',\n NOT_SUPPORTED = 'Not supported',\n}\n\n/** @deprecated Use {@link ERRORS.PERMISSION_ERROR} instead */\nexport const PERMISSION_ERROR = ERRORS.PERMISSION_ERROR;\n/** @deprecated Use {@link ERRORS.NOT_CONNECTED} instead */\nexport const NOT_CONNECTED = ERRORS.NOT_CONNECTED;\n\n// Options to use for the backend request wrapper\n/**\n * @internal\n */\nexport interface RequestOptions {\n /** The key that is used to cache the results for later requests of the same kind */\n cacheKey?: string;\n /** Used to bypass the cache */\n forceUpdate?: boolean;\n /** Can be used to identify the request method in error messages */\n requestName?: string;\n /**\n * The timeout in milliseconds after which the call will reject with a timeout error.\n * If no timeout is given, the default is used. Set this to `false` to explicitly disable the timeout.\n */\n commandTimeout?: number | false;\n /** Will be called when the timeout elapses */\n onTimeout?: () => void;\n /** Whether the call should only be allowed in the admin adapter */\n requireAdmin?: boolean;\n /** Require certain features to be supported for this call */\n requireFeatures?: string[];\n /** The function that does the actual work */\n executor: (\n resolve: (value: T | PromiseLike | Promise) => void,\n reject: (reason?: any) => void,\n /** Can be used to check in the executor whether the request has timed out and/or stop it from timing out */\n timeout: Readonly<{ elapsed: boolean; clearTimeout: () => void }>,\n ) => void | Promise;\n}\n\nexport type BinaryStateChangeHandler = (id: string, base64: string | null) => void;\n\nexport type FileChangeHandler = (\n id: string,\n fileName: string,\n size: number | null, // null if deleted\n) => void;\n\nexport interface OldObject {\n _id: string;\n type: string;\n}\n\nexport type ObjectChangeHandler = (\n id: string,\n obj: ioBroker.Object | null | undefined,\n oldObj?: OldObject,\n) => void | Promise;\n\nexport type InstanceMessageCallback = (data: any, sourceInstance: string, messageType: string) => void | Promise;\n\nexport type InstanceSubscribe = {\n messageType: string;\n callback: InstanceMessageCallback;\n};\n\nconst ADAPTERS = ['material', 'echarts', 'vis'];\n\nexport class Connection<\n CustomListenEvents extends Record = Record,\n CustomEmitEvents extends Record = Record,\n> {\n constructor(props: Partial) {\n this.props = this.applyDefaultProps(props);\n\n this.waitForSocketLib()\n .then(() => this.startSocket())\n .catch(e => {\n alert(`Socket connection could not be initialized: ${e}`);\n });\n }\n\n private applyDefaultProps(props: Partial): ConnectionProps {\n return {\n ...props,\n // Define default props that always need to be set\n protocol: props.protocol || window.location.protocol,\n host: props.host || window.location.hostname,\n port: props.port || (window.location.port === '3000' ? 8081 : window.location.port),\n ioTimeout: Math.max(props.ioTimeout || 20000, 20000),\n cmdTimeout: Math.max(props.cmdTimeout || 5000, 5000),\n admin5only: props.admin5only || false,\n autoSubscribes: props.autoSubscribes ?? [],\n autoSubscribeLog: props.autoSubscribeLog ?? false,\n doNotLoadACL: props.doNotLoadACL ?? true,\n doNotLoadAllObjects: props.doNotLoadAllObjects ?? true,\n };\n }\n\n private readonly props: ConnectionProps;\n\n private ignoreState: string = '';\n private connected: boolean = false;\n private subscribed: boolean = false;\n private firstConnect: boolean = true;\n public waitForRestart: boolean = false;\n public loaded: boolean = false;\n private simStates: Record = {};\n\n private readonly statesSubscribes: Record<\n string,\n {\n reg: RegExp;\n cbs: (ioBroker.StateChangeHandler | BinaryStateChangeHandler)[];\n }\n > = {};\n private readonly filesSubscribes: Record<\n string,\n {\n regId: RegExp;\n regFilePattern: RegExp;\n cbs: FileChangeHandler[];\n }\n > = {};\n private readonly objectsSubscribes: Record = {};\n private objects: Record = {};\n private states: Record = {};\n\n public acl: any = null;\n public isSecure: boolean = false;\n // Do not inform about readiness two times\n public onReadyDone: boolean = false;\n\n private readonly onConnectionHandlers: ((connected: boolean) => void)[] = [];\n private readonly onLogHandlers: ((message: LogMessage) => void)[] = [];\n\n private onCmdStdoutHandler?: (id: string, text: string) => void;\n private onCmdStderrHandler?: (id: string, text: string) => void;\n private onCmdExitHandler?: (id: string, exitCode: number) => void;\n private onError(error: any): void {\n (this.props.onError ?? console.error)(error);\n }\n\n /** The socket instance */\n protected _socket!: SocketClient;\n\n private _waitForSocketPromise?: Promise;\n private readonly _waitForFirstConnectionPromise = createDeferredPromise();\n\n /** array with all subscriptions to instances */\n private _instanceSubscriptions: Record = {};\n\n /** Cache for server requests */\n private readonly _promises: Record> = {};\n\n protected _authTimer: any;\n\n protected _systemConfig?: ioBroker.SystemConfigObject;\n /** The \"system.config\" object */\n public get systemConfig(): Readonly | undefined {\n return this._systemConfig;\n }\n\n /** System language. It could be changed during runtime */\n public systemLang: ioBroker.Languages = 'en';\n\n /**\n * Checks if this connection is running in a web adapter and not in an admin.\n *\n * @returns True if running in a web adapter or in a socketio adapter.\n */\n static isWeb(): boolean {\n return window.socketUrl !== undefined;\n }\n\n private waitForSocketLib(): Promise {\n // Only wait once\n if (this._waitForSocketPromise) {\n return this._waitForSocketPromise;\n }\n\n // eslint-disable-next-line no-async-promise-executor\n this._waitForSocketPromise = new Promise(async (resolve, reject) => {\n // If socket io is not yet loaded, we need to wait for it\n if (typeof window.io === 'undefined' && typeof window.iob === 'undefined') {\n // If the registerSocketOnLoad function is defined in index.html,\n // we can use it to know when the socket library was loaded\n if (typeof window.registerSocketOnLoad === 'function') {\n window.registerSocketOnLoad(() => resolve());\n } else {\n // otherwise, we need to poll\n for (let i = 1; i <= 30; i++) {\n if (window.io || window.iob) {\n return resolve();\n }\n await wait(100);\n }\n\n reject(new Error('Socket library could not be loaded!'));\n }\n } else {\n resolve();\n }\n });\n return this._waitForSocketPromise;\n }\n\n /**\n * Starts the socket.io connection.\n */\n async startSocket(): Promise {\n if (this._socket) {\n return;\n }\n\n let host = this.props.host;\n let port = this.props.port;\n let protocol = (this.props.protocol || window.location.protocol).replace(':', '');\n let path = window.location.pathname;\n\n if (window.location.hostname === 'iobroker.net' || window.location.hostname === 'iobroker.pro') {\n path = '';\n } else {\n // if web adapter, socket io could be on another port or even host\n if (window.socketUrl) {\n const parsed = new URL(window.socketUrl);\n host = parsed.hostname;\n port = parsed.port;\n protocol = parsed.protocol.replace(':', '');\n }\n // get a current path\n const pos = path.lastIndexOf('/');\n if (pos !== -1) {\n path = path.substring(0, pos + 1);\n }\n\n if (Connection.isWeb()) {\n // remove one level, like echarts, vis, .... We have here: '/echarts/'\n const parts = path.split('/');\n if (parts.length > 2) {\n parts.pop();\n parts.pop();\n // material can have paths like this '/material/1.3.0/', so remove one more level\n if (ADAPTERS.includes(parts[parts.length - 1])) {\n parts.pop();\n }\n path = parts.join('/');\n if (!path.endsWith('/')) {\n path += '/';\n }\n }\n }\n }\n\n const url = port ? `${protocol}://${host}:${port}` : `${protocol}://${host}`;\n\n this._socket = (window.io || window.iob).connect(url, {\n path: path.endsWith('/') ? `${path}socket.io` : `${path}/socket.io`,\n query: 'ws=true',\n name: this.props.name,\n timeout: this.props.ioTimeout,\n uuid: this.props.uuid,\n token: this.props.token,\n });\n\n this._socket.on('connect', noTimeout => {\n this.onReadyDone = false;\n // If the user is not admin, it takes some time to install the handlers, because all rights must be checked\n if (noTimeout !== true) {\n this.connected = true;\n setTimeout(\n () =>\n this.getVersion()\n .then(info => {\n const [major, minor, patch] = info.version.split('.');\n const v = parseInt(major, 10) * 10000 + parseInt(minor, 10) * 100 + parseInt(patch, 10);\n if (v < 40102) {\n this._authTimer = null;\n // possible this is an old version of admin\n this.onPreConnect(false, false);\n } else {\n this._socket.emit('authenticate', (isOk, isSecure) =>\n this.onPreConnect(isOk, isSecure),\n );\n }\n })\n .catch(e =>\n this.onError({\n message: e.toString(),\n operation: 'getVersion',\n }),\n ),\n 500,\n );\n } else {\n // iobroker websocket waits, till all handlers are installed\n this._socket.emit('authenticate', (isOk, isSecure) => {\n this.onPreConnect(isOk, isSecure);\n });\n }\n });\n\n this._socket.on('reconnect', () => {\n this.onReadyDone = false;\n this.props.onProgress?.(PROGRESS.READY);\n this.connected = true;\n\n if (this.waitForRestart) {\n window.location.reload();\n } else {\n this._subscribe(true);\n this.onConnectionHandlers.forEach(cb => cb(true));\n }\n });\n\n this._socket.on('disconnect', () => {\n this.onReadyDone = false;\n this.connected = false;\n this.subscribed = false;\n this.props.onProgress?.(PROGRESS.CONNECTING);\n this.onConnectionHandlers.forEach(cb => cb(false));\n });\n\n this._socket.on('reauthenticate', () => this.authenticate());\n\n this._socket.on('log', (message: LogMessage) => {\n this.props.onLog?.(message);\n this.onLogHandlers.forEach(cb => cb(message));\n });\n\n this._socket.on('error', (err: any) => {\n let _err: string;\n\n if (err == undefined) {\n _err = '';\n } else if (typeof err.toString === 'function') {\n _err = err.toString();\n } else {\n _err = JSON.stringify(err);\n console.error(`Received strange error: ${_err}`);\n }\n\n if (_err.includes('User not authorized')) {\n this.authenticate();\n } else if (_err.includes('websocket error')) {\n console.error(`Socket Error => reload: ${err}`);\n window.location.reload();\n } else {\n console.error(`Socket Error: ${err}`);\n }\n });\n\n this._socket.on('connect_error', (err: any) => console.error(`Connect error: ${err}`));\n\n this._socket.on('permissionError', err =>\n this.onError({\n message: 'no permission',\n operation: err.operation,\n type: err.type,\n id: err.id || '',\n }),\n );\n\n this._socket.on('objectChange', (id, obj) => {\n setTimeout(() => this.objectChange(id, obj), 0);\n });\n\n this._socket.on('stateChange', (id, state) => {\n setTimeout(() => this.stateChange(id, state), 0);\n });\n\n // instance message\n this._socket.on('im', (messageType, from, data) => {\n setTimeout(() => this.instanceMessage(messageType, from, data), 0);\n });\n\n this._socket.on('fileChange', (id, fileName, size) => {\n setTimeout(() => this.fileChange(id, fileName, size), 0);\n });\n\n this._socket.on('cmdStdout', (id, text) => {\n this.onCmdStdoutHandler?.(id, text);\n });\n\n this._socket.on('cmdStderr', (id, text) => {\n this.onCmdStderrHandler?.(id, text);\n });\n\n this._socket.on('cmdExit', (id, exitCode) => {\n this.onCmdExitHandler?.(id, exitCode);\n });\n\n return Promise.resolve();\n }\n\n /**\n * Called internally.\n */\n private onPreConnect(_isOk: boolean, isSecure: boolean): void {\n if (this._authTimer) {\n clearTimeout(this._authTimer);\n this._authTimer = null;\n }\n\n this.connected = true;\n this.isSecure = isSecure;\n\n if (this.waitForRestart) {\n window.location.reload();\n } else {\n if (this.firstConnect) {\n void this.loadData().catch(e => console.error(`Cannot load data: ${e}`));\n } else {\n this.props.onProgress?.(PROGRESS.READY);\n }\n\n this._subscribe(true);\n this.onConnectionHandlers.forEach(cb => cb(true));\n }\n\n this._waitForFirstConnectionPromise.resolve();\n }\n\n /**\n * Checks if running in ioBroker cloud\n */\n static isCloud(): boolean {\n if (window.location.hostname.includes('amazonaws.com') || window.location.hostname.includes('iobroker.in')) {\n return true;\n }\n if (typeof window.socketUrl === 'undefined') {\n return false;\n }\n return window.socketUrl.includes('iobroker.in') || window.socketUrl.includes('amazonaws');\n }\n\n /**\n * Checks if the socket is connected.\n *\n * @returns true if connected.\n */\n isConnected(): boolean {\n return this.connected;\n }\n\n /**\n * Returns a promise which is resolved when the socket is connected.\n */\n waitForFirstConnection(): Promise {\n return this._waitForFirstConnectionPromise;\n }\n\n /**\n * Called internally.\n */\n private async getUserPermissions(): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('getUserPermissions', (err, acl) => {\n if (err) {\n reject(err);\n } else {\n resolve(acl);\n }\n });\n },\n });\n }\n\n /** Loads the important data and retries a couple of times if it takes too long */\n private async loadData(): Promise {\n if (this.loaded) {\n return;\n }\n const maxAttempts = 10;\n for (let i = 1; i <= maxAttempts; i++) {\n void this.doLoadData().catch(e => console.error(`Cannot load data: ${e}`));\n if (this.loaded) {\n return;\n }\n // give more time via remote connection\n await wait(Connection.isCloud() ? 5000 : 1000);\n }\n }\n\n /**\n * Called after the socket is connected. Loads the necessary data.\n */\n private async doLoadData(): Promise {\n if (this.loaded) {\n return;\n }\n\n // Load ACL if not disabled\n if (!this.props.doNotLoadACL) {\n try {\n this.acl = await this.getUserPermissions();\n } catch (e) {\n this.onError(`Cannot read user permissions: ${e}`);\n return;\n }\n }\n\n // Load system config if not disabled\n try {\n if (\n this.props.admin5only &&\n !Connection.isWeb() &&\n (!window.vendorPrefix || window.vendorPrefix === '@@vendorPrefix@@')\n ) {\n this._systemConfig = await this.getCompactSystemConfig();\n } else {\n this._systemConfig = await this.getSystemConfig();\n }\n } catch (e) {\n this.onError(`Cannot read system config: ${e}`);\n return;\n }\n\n // Detect the system language\n if (this._systemConfig) {\n this.systemLang = this._systemConfig.common?.language;\n if (!this.systemLang) {\n this.systemLang = (window.navigator.userLanguage || window.navigator.language) as any;\n // Browsers may report languages like \"de-DE\", \"en-US\", etc.\n // ioBroker expects \"de\", \"en\", ...\n if (/^(en|de|ru|pt|nl|fr|it|es|pl|uk)-?/.test(this.systemLang)) {\n this.systemLang = this.systemLang.substring(0, 2) as any;\n } else if (!/^(en|de|ru|pt|nl|fr|it|es|pl|uk|zh-cn)$/.test(this.systemLang)) {\n this.systemLang = 'en';\n }\n this._systemConfig.common.language = this.systemLang;\n }\n }\n this.props.onLanguage?.(this.systemLang);\n\n // We are now connected\n this.loaded = true;\n this.props.onProgress?.(PROGRESS.CONNECTED);\n this.firstConnect = false;\n\n // Load all objects if desired\n if (!this.props.doNotLoadAllObjects) {\n this.objects = await this.getObjects();\n } else if (this.props.admin5only) {\n this.objects = {};\n } else {\n this.objects = { 'system.config': this._systemConfig };\n }\n\n this.props.onProgress?.(PROGRESS.READY);\n if (!this.onReadyDone) {\n this.onReadyDone = true;\n this.props.onReady?.(this.objects);\n }\n }\n\n /**\n * Called internally.\n */\n private authenticate(): void {\n if (window.location.search.includes('&href=')) {\n window.location.href = `${window.location.protocol}//${window.location.host}${window.location.pathname}${window.location.search}${window.location.hash}`;\n } else {\n window.location.href = `${window.location.protocol}//${window.location.host}${window.location.pathname}?login&href=${window.location.search}${window.location.hash}`;\n }\n }\n\n /**\n * Subscribe to the changes of the given state.\n * In compare to the subscribeObject method,\n * this method calls the handler with the current state value immediately after subscribing.\n *\n * @param id The ioBroker state ID or array of state IDs.\n * @param binary Set to true if the given state is binary and requires Base64 decoding.\n * @param cb The callback.\n */\n subscribeState(id: string | string[], binary: true, cb: BinaryStateChangeHandler): Promise;\n\n subscribeState(id: string | string[], binary: false, cb: ioBroker.StateChangeHandler): Promise;\n\n subscribeState(id: string | string[], cb: ioBroker.StateChangeHandler): Promise;\n\n async subscribeState(\n ...args:\n | [id: string | string[], binary: true, cb: BinaryStateChangeHandler]\n | [id: string | string[], binary: false, cb: ioBroker.StateChangeHandler]\n | [id: string | string[], cb: ioBroker.StateChangeHandler]\n ): Promise {\n let id: string | string[];\n let binary: boolean;\n let cb: ioBroker.StateChangeHandler | BinaryStateChangeHandler;\n if (args.length === 3) {\n [id, binary, cb] = args;\n } else {\n [id, cb] = args;\n binary = false;\n }\n let ids: string[];\n if (!Array.isArray(id)) {\n ids = [id];\n } else {\n ids = id;\n }\n\n if (typeof cb !== 'function') {\n throw new Error('The state change handler must be a function!');\n }\n const toSubscribe: string[] = [];\n for (let i = 0; i < ids.length; i++) {\n const _id = ids[i];\n if (!this.statesSubscribes[_id]) {\n this.statesSubscribes[_id] = {\n reg: new RegExp(pattern2RegEx(_id)),\n cbs: [cb],\n };\n if (id !== this.ignoreState) {\n toSubscribe.push(_id);\n }\n } else {\n !this.statesSubscribes[_id].cbs.includes(cb) && this.statesSubscribes[_id].cbs.push(cb);\n }\n }\n\n if (!this.connected) {\n return;\n }\n\n if (toSubscribe.length) {\n // no answer from server required\n this._socket.emit('subscribe', toSubscribe);\n }\n\n // Try to get the current value(s) of the state(s) and call the change handlers\n if (binary) {\n let base64: string | undefined;\n for (let i = 0; i < ids.length; i++) {\n try {\n // binary states are deprecated\n base64 = await this.getBinaryState(ids[i]);\n } catch (e) {\n console.error(`Cannot getBinaryState \"${ids[i]}\": ${JSON.stringify(e)}`);\n base64 = undefined;\n }\n if (base64 != undefined) {\n (cb as BinaryStateChangeHandler)(ids[i], base64);\n }\n }\n } else if (ids.find(_id => _id.includes('*'))) {\n let states: Record | undefined;\n for (let i = 0; i < ids.length; i++) {\n try {\n states = await this.getForeignStates(ids[i]);\n } catch (e) {\n console.error(`Cannot getForeignStates \"${ids[i]}\": ${JSON.stringify(e)}`);\n return;\n }\n if (states) {\n for (const [id, state] of Object.entries(states)) {\n const mayBePromise = (cb as ioBroker.StateChangeHandler)(id, state);\n if (mayBePromise instanceof Promise) {\n void mayBePromise.catch(e => console.error(`Cannot call state change handler: ${e}`));\n }\n }\n }\n }\n } else {\n try {\n const states = await (Connection.isWeb() ? this.getStates(ids) : this.getForeignStates(ids));\n if (states) {\n for (const [id, state] of Object.entries(states)) {\n const mayBePromise = (cb as ioBroker.StateChangeHandler)(id, state);\n if (mayBePromise instanceof Promise) {\n void mayBePromise.catch(e => console.error(`Cannot call state change handler: ${e}`));\n }\n }\n }\n } catch (e) {\n console.error(`Cannot getState \"${ids.join(', ')}\": ${e.message}`);\n return;\n }\n }\n }\n\n /**\n * Subscribe to the changes of the given state and wait for answer.\n *\n * @param id The ioBroker state ID.\n * @param cb The callback.\n */\n async subscribeStateAsync(id: string | string[], cb: ioBroker.StateChangeHandler): Promise {\n return this.subscribeState(id, cb);\n }\n\n /**\n * Unsubscribes the given callback from changes of the given state.\n *\n * @param id The ioBroker state ID or array of state IDs.\n * @param cb The callback.\n */\n unsubscribeState(id: string | string[], cb?: ioBroker.StateChangeHandler): void {\n let ids: string[];\n if (!Array.isArray(id)) {\n ids = [id];\n } else {\n ids = id;\n }\n const toUnsubscribe = [];\n for (let i = 0; i < ids.length; i++) {\n const _id = ids[i];\n\n if (this.statesSubscribes[_id]) {\n const sub = this.statesSubscribes[_id];\n if (cb) {\n const pos = sub.cbs.indexOf(cb);\n pos !== -1 && sub.cbs.splice(pos, 1);\n } else {\n sub.cbs = [];\n }\n\n if (!sub.cbs?.length) {\n delete this.statesSubscribes[_id];\n if (_id !== this.ignoreState) {\n toUnsubscribe.push(_id);\n }\n }\n }\n }\n if (this.connected && toUnsubscribe.length) {\n this._socket.emit('unsubscribe', ids);\n }\n }\n\n /**\n * Subscribe to changes of the given object.\n * In compare to the subscribeState method,\n * this method does not call the handler with the current value immediately after subscribe.\n *\n * the current value.\n *\n * @param id The ioBroker object ID.\n * @param cb The callback.\n */\n subscribeObject(id: string | string[], cb: ObjectChangeHandler): Promise {\n let ids: string[];\n if (!Array.isArray(id)) {\n ids = [id];\n } else {\n ids = id;\n }\n\n if (typeof cb !== 'function') {\n throw new Error('The object change handler must be a function!');\n }\n\n const toSubscribe: string[] = [];\n for (let i = 0; i < ids.length; i++) {\n const _id = ids[i];\n if (!this.objectsSubscribes[_id]) {\n this.objectsSubscribes[_id] = {\n reg: new RegExp(pattern2RegEx(_id)),\n cbs: [cb],\n };\n toSubscribe.push(_id);\n } else {\n !this.objectsSubscribes[_id].cbs.includes(cb) && this.objectsSubscribes[_id].cbs.push(cb);\n }\n }\n\n if (this.connected && toSubscribe.length) {\n this._socket.emit('subscribeObjects', toSubscribe);\n }\n\n return Promise.resolve();\n }\n\n /**\n * Unsubscribes all callbacks from changes of the given object.\n *\n * @param id The ioBroker object ID.\n */\n /**\n * Unsubscribes the given callback from changes of the given object.\n *\n * @param id The ioBroker object ID.\n * @param cb The callback.\n */\n unsubscribeObject(id: string | string[], cb?: ObjectChangeHandler): Promise {\n let ids: string[];\n if (!Array.isArray(id)) {\n ids = [id];\n } else {\n ids = id;\n }\n const toUnsubscribe: string[] = [];\n for (let i = 0; i < ids.length; i++) {\n const _id = ids[i];\n if (this.objectsSubscribes[_id]) {\n const sub = this.objectsSubscribes[_id];\n if (cb) {\n const pos = sub.cbs.indexOf(cb);\n pos !== -1 && sub.cbs.splice(pos, 1);\n } else {\n sub.cbs = [];\n }\n\n if (!sub.cbs?.length) {\n delete this.objectsSubscribes[_id];\n toUnsubscribe.push(_id);\n }\n }\n }\n if (this.connected && toUnsubscribe.length) {\n this._socket.emit('unsubscribeObjects', toUnsubscribe);\n }\n return Promise.resolve();\n }\n\n /**\n * Called internally.\n *\n * @param id The ioBroker object ID.\n * @param obj The new object.\n */\n private objectChange(id: string, obj: ioBroker.Object | null | undefined): void {\n // update main.objects cache\n\n // Remember the id and type of th old object\n let oldObj: OldObject | undefined;\n if (this.objects[id]) {\n oldObj = { _id: id, type: this.objects[id].type };\n }\n\n let changed = false;\n if (obj) {\n // The object was added, updated or changed\n\n // Copy the _rev property (whatever that is)\n if ((obj as any)._rev && this.objects[id]) {\n (this.objects[id] as any)._rev = (obj as any)._rev;\n }\n\n // Detect if there was a change\n if (!this.objects[id] || JSON.stringify(this.objects[id]) !== JSON.stringify(obj)) {\n this.objects[id] = obj;\n changed = true;\n }\n } else if (this.objects[id]) {\n // The object was deleted\n delete this.objects[id];\n changed = true;\n }\n\n // Notify all subscribed listeners\n for (const [_id, sub] of Object.entries(this.objectsSubscribes)) {\n if (_id === id || sub.reg.test(id)) {\n sub.cbs.forEach(cb => {\n try {\n const mayBePromise = cb(id, obj, oldObj);\n if (mayBePromise instanceof Promise) {\n void mayBePromise.catch(e => console.error(`Cannot call object change handler: ${e}`));\n }\n } catch (e) {\n console.error(`Error by callback of objectChange: ${e}`);\n }\n });\n }\n }\n\n // Notify the default listener on change\n if (changed) {\n const mayBePromise = this.props.onObjectChange?.(id, obj);\n if (mayBePromise instanceof Promise) {\n void mayBePromise.catch(e => console.error(`Cannot call object change handler: ${e}`));\n }\n }\n }\n\n /**\n * Called internally.\n *\n * @param id The ioBroker state ID.\n * @param state The new state value.\n */\n private stateChange(id: string, state: ioBroker.State | null | undefined): void {\n for (const sub of Object.values(this.statesSubscribes)) {\n if (sub.reg.test(id)) {\n for (const cb of sub.cbs) {\n try {\n const mayBePromise = cb(id, (state ?? null) as any);\n if (mayBePromise instanceof Promise) {\n void mayBePromise.catch(e => console.error(`Cannot call state change handler: ${e}`));\n }\n } catch (e) {\n console.error(`Error by callback of stateChanged: ${e}`);\n }\n }\n }\n }\n }\n\n /**\n * Called internally.\n *\n * @param messageType The message type from the instance\n * @param sourceInstance The source instance\n * @param data The message data\n */\n private instanceMessage(messageType: string, sourceInstance: string, data: any): void {\n this._instanceSubscriptions[sourceInstance]?.forEach(sub => {\n if (sub.messageType === messageType) {\n const mayBePromise = sub.callback(data, sourceInstance, messageType);\n if (mayBePromise instanceof Promise) {\n void mayBePromise.catch(e => console.error(`Cannot call instance message handler: ${e}`));\n }\n }\n });\n }\n\n /**\n * Called internally.\n *\n * @param id The ioBroker object ID of type 'meta'.\n * @param fileName - file name\n * @param size - size of the file\n */\n private fileChange(id: string, fileName: string, size: number | null): void {\n for (const sub of Object.values(this.filesSubscribes)) {\n if (sub.regId.test(id) && sub.regFilePattern.test(fileName)) {\n for (const cb of sub.cbs) {\n try {\n cb(id, fileName, size);\n } catch (e) {\n console.error(`Error by callback of fileChange: ${e}`);\n }\n }\n }\n }\n }\n\n /**\n * Subscribe to changes of the files.\n *\n * @param id The ioBroker state ID for a \"meta\" object. Could be a pattern\n * @param filePattern Pattern or file name, like 'main/*' or 'main/visViews.json`\n * @param cb The callback.\n */\n async subscribeFiles(id: string, filePattern: string | string[], cb: FileChangeHandler): Promise {\n if (typeof cb !== 'function') {\n throw new Error('The state change handler must be a function!');\n }\n\n let filePatterns: string[];\n if (Array.isArray(filePattern)) {\n filePatterns = filePattern;\n } else {\n filePatterns = [filePattern];\n }\n\n const toSubscribe = [];\n for (let f = 0; f < filePatterns.length; f++) {\n const pattern = filePatterns[f];\n const key = `${id}$%$${pattern}`;\n\n if (!this.filesSubscribes[key]) {\n this.filesSubscribes[key] = {\n regId: new RegExp(pattern2RegEx(id)),\n regFilePattern: new RegExp(pattern2RegEx(pattern)),\n cbs: [cb],\n };\n toSubscribe.push(pattern);\n } else {\n !this.filesSubscribes[key].cbs.includes(cb) && this.filesSubscribes[key].cbs.push(cb);\n }\n }\n if (this.connected && toSubscribe.length) {\n this._socket.emit('subscribeFiles', id, toSubscribe);\n }\n\n return Promise.resolve();\n }\n\n /**\n * Unsubscribes the given callback from changes of files.\n *\n * @param id The ioBroker state ID.\n * @param filePattern Pattern or file name, like 'main/*' or 'main/visViews.json`\n * @param cb The callback.\n */\n unsubscribeFiles(id: string, filePattern: string | string[], cb?: FileChangeHandler): void {\n let filePatterns: string[];\n if (Array.isArray(filePattern)) {\n filePatterns = filePattern;\n } else {\n filePatterns = [filePattern];\n }\n const toUnsubscribe = [];\n for (let f = 0; f < filePatterns.length; f++) {\n const pattern = filePatterns[f];\n const key = `${id}$%$${pattern}`;\n if (this.filesSubscribes[key]) {\n const sub = this.filesSubscribes[key];\n if (cb) {\n const pos = sub.cbs.indexOf(cb);\n pos !== -1 && sub.cbs.splice(pos, 1);\n } else {\n sub.cbs = [];\n }\n\n if (!sub.cbs?.length) {\n delete this.filesSubscribes[key];\n toUnsubscribe.push(pattern);\n }\n }\n }\n if (this.connected && toUnsubscribe.length) {\n this._socket.emit('unsubscribeFiles', id, toUnsubscribe);\n }\n }\n\n /** Requests data from the server or reads it from the cache */\n protected async request({\n cacheKey,\n forceUpdate,\n commandTimeout,\n onTimeout,\n requireAdmin,\n requireFeatures,\n // requestName,\n executor,\n }: RequestOptions): Promise {\n // TODO: mention requestName in errors\n\n // If the command requires the admin adapter, enforce it\n if (requireAdmin && Connection.isWeb()) {\n return Promise.reject(new Error(ERRORS.NOT_ADMIN));\n }\n\n // Return the cached value if allowed\n if (cacheKey && !forceUpdate && cacheKey in this._promises) {\n return this._promises[cacheKey];\n }\n\n // Require the socket to be connected\n if (!this.connected) {\n return Promise.reject(new Error(ERRORS.NOT_CONNECTED));\n }\n\n // Check if all required features are supported\n if (requireFeatures?.length) {\n for (const feature of requireFeatures) {\n if (!(await this.checkFeatureSupported(feature))) {\n throw new Error(ERRORS.NOT_SUPPORTED);\n }\n }\n }\n\n // eslint-disable-next-line no-async-promise-executor\n const promise = new Promise(async (resolve, reject) => {\n const timeoutControl = {\n elapsed: false,\n clearTimeout: () => {\n // no-op unless there is a timeout\n },\n };\n let timeout: NodeJS.Timeout | undefined;\n if (commandTimeout !== false) {\n timeout = setTimeout(() => {\n timeoutControl.elapsed = true;\n // Let the caller know that the timeout elapsed\n onTimeout?.();\n\n // do not cache responses with timeout or no connection\n if (cacheKey && this._promises[cacheKey] instanceof Promise) {\n delete this._promises[cacheKey];\n }\n reject(new Error(ERRORS.TIMEOUT));\n }, commandTimeout ?? this.props.cmdTimeout);\n timeoutControl.clearTimeout = () => {\n clearTimeout(timeout);\n };\n }\n // Call the actual function - awaiting it allows us to catch sync and async errors\n // no matter if the executor is async or not\n try {\n await executor(resolve, reject, timeoutControl);\n } catch (e) {\n // do not cache responses with timeout or no connection\n if (cacheKey && this._promises[cacheKey] instanceof Promise) {\n delete this._promises[cacheKey];\n }\n reject(new Error(e.toString()));\n }\n });\n if (cacheKey) {\n this._promises[cacheKey] = promise;\n }\n return promise;\n }\n\n /**\n * Deletes cached promise.\n * So next time the information will be requested anew\n */\n resetCache(key: string, isAll?: boolean): void {\n if (isAll) {\n Object.keys(this._promises)\n .filter(k => k.startsWith(key))\n .forEach(k => {\n delete this._promises[k];\n });\n } else {\n delete this._promises[key];\n }\n }\n\n /**\n * Gets all states.\n *\n * @param pattern Pattern of states or array of IDs\n */\n getStates(pattern?: string | string[]): Promise> {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('getStates', pattern, (err, res) => {\n this.states = res ?? {};\n\n // if (!disableProgressUpdate) {\n // \tthis.props.onProgress?.(PROGRESS.STATES_LOADED);\n // }\n if (err) {\n reject(err);\n } else {\n resolve(this.states);\n }\n });\n },\n });\n }\n\n /**\n * Gets the given state.\n *\n * @param id The state ID.\n */\n getState(id: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n if (id && id === this.ignoreState) {\n resolve(this.simStates[id] || { val: null, ack: true });\n return;\n }\n this._socket.emit('getState', id, (err, state) => {\n if (err) {\n reject(err);\n } else {\n resolve(state);\n }\n });\n },\n });\n }\n\n /**\n * Gets the given binary state Base64 encoded.\n *\n * @deprecated since js-controller 5.0. Use files instead.\n * @param id The state ID.\n */\n getBinaryState(id: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('getBinaryState', id, (err, state) => {\n if (err) {\n reject(err);\n } else {\n resolve(state);\n }\n });\n },\n });\n }\n\n /**\n * Sets the given binary state.\n *\n * @deprecated since js-controller 5.0. Use files instead.\n * @param id The state ID.\n * @param base64 The Base64 encoded binary data.\n */\n setBinaryState(id: string, base64: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('setBinaryState', id, base64, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Sets the given state value.\n *\n * @param id The state ID.\n * @param val The state value.\n * @param ack Acknowledgement flag.\n */\n setState(\n id: string,\n val: ioBroker.State | ioBroker.StateValue | ioBroker.SettableState,\n ack?: boolean,\n ): Promise {\n if (typeof ack === 'boolean') {\n val = { val: val as ioBroker.StateValue, ack };\n }\n\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n // extra handling for \"nothing_selected\" state for vis\n if (id && id === this.ignoreState) {\n let state: ioBroker.State;\n\n if (typeof ack === 'boolean') {\n state = val as ioBroker.State;\n } else if (typeof val === 'object' && (val as ioBroker.State).val !== undefined) {\n state = val as ioBroker.State;\n } else {\n state = {\n val: val as ioBroker.StateValue,\n ack: false,\n ts: Date.now(),\n lc: Date.now(),\n from: 'system.adapter.vis.0',\n };\n }\n\n this.simStates[id] = state;\n\n // inform subscribers about changes\n if (this.statesSubscribes[id]) {\n for (const cb of this.statesSubscribes[id].cbs) {\n try {\n const mayBePromise = cb(id, state as any);\n if (mayBePromise instanceof Promise) {\n void mayBePromise.catch(e =>\n console.error(`Cannot call state change handler: ${e}`),\n );\n }\n } catch (e) {\n console.error(`Error by callback of stateChanged: ${e}`);\n }\n }\n }\n resolve();\n return;\n }\n this._socket.emit('setState', id, val, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Gets all objects.\n *\n * @param update Callback that is executed when all objects are retrieved.\n */\n /**\n * Gets all objects.\n *\n * @param update Set to true to retrieve all objects from the server (instead of using the local cache).\n * @param disableProgressUpdate don't call onProgress() when done\n */\n getObjects(update?: boolean, disableProgressUpdate?: boolean): Promise> {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n if (!update && this.objects) {\n resolve(this.objects);\n return;\n }\n\n this._socket.emit(Connection.isWeb() ? 'getObjects' : 'getAllObjects', (err, res) => {\n if (!disableProgressUpdate) {\n this.props.onProgress?.(PROGRESS.OBJECTS_LOADED);\n }\n if (err) {\n reject(err);\n } else {\n this.objects = res ?? {};\n resolve(this.objects);\n }\n });\n },\n });\n }\n\n /**\n * Gets the list of objects by ID.\n *\n * @param list array of IDs to retrieve\n */\n getObjectsById(list: string[]): Promise | undefined> {\n return this.request({\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('getObjects', list, (err, res) => {\n if (err) {\n reject(err);\n } else {\n resolve(res);\n }\n });\n },\n });\n }\n\n /**\n * Called internally.\n *\n * @param isEnable Set to true if subscribing, false to unsubscribe.\n */\n private _subscribe(isEnable: boolean): void {\n if (isEnable && !this.subscribed) {\n this.subscribed = true;\n if (this.props.autoSubscribes?.length) {\n this._socket.emit('subscribeObjects', this.props.autoSubscribes);\n }\n // re subscribe objects\n const ids = Object.keys(this.objectsSubscribes);\n if (ids.length) {\n this._socket.emit('subscribeObjects', ids);\n }\n Object.keys(this.objectsSubscribes).forEach(id => this._socket.emit('subscribeObjects', id));\n // re-subscribe logs\n this.props.autoSubscribeLog && this._socket.emit('requireLog', true);\n // re subscribe states\n Object.keys(this.statesSubscribes).forEach(id => this._socket.emit('subscribe', id));\n // re-subscribe files\n Object.keys(this.filesSubscribes).forEach(key => {\n const [id, filePattern] = key.split('$%$');\n this._socket.emit('subscribeFiles', id, filePattern);\n });\n } else if (!isEnable && this.subscribed) {\n this.subscribed = false;\n // un-subscribe objects\n if (this.props.autoSubscribes?.length) {\n this._socket.emit('unsubscribeObjects', this.props.autoSubscribes);\n }\n const ids = Object.keys(this.objectsSubscribes);\n if (ids.length) {\n this._socket.emit('unsubscribeObjects', ids);\n }\n // un-subscribe logs\n this.props.autoSubscribeLog && this._socket.emit('requireLog', false);\n\n // un-subscribe states\n Object.keys(this.statesSubscribes).forEach(id => this._socket.emit('unsubscribe', id));\n // re-subscribe files\n Object.keys(this.filesSubscribes).forEach(key => {\n const [id, filePattern] = key.split('$%$');\n this._socket.emit('unsubscribeFiles', id, filePattern);\n });\n }\n }\n\n /**\n * Requests log updates.\n *\n * @param isEnabled Set to true to get logs.\n */\n requireLog(isEnabled: boolean): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('requireLog', isEnabled, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Deletes the given object.\n *\n * @param id The object ID.\n * @param maintenance Force deletion of non conform IDs.\n */\n delObject(id: string, maintenance: boolean = false): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('delObject', id, { maintenance }, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Deletes the given object and all its children.\n *\n * @param id The object ID.\n * @param maintenance Force deletion of non conform IDs.\n */\n delObjects(id: string, maintenance: boolean): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('delObjects', id, { maintenance }, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Sets the object.\n *\n * @param id The object ID.\n * @param obj The object.\n */\n setObject(id: string, obj: ioBroker.SettableObject): Promise {\n if (!obj) {\n return Promise.reject(new Error('Null object is not allowed'));\n }\n\n obj = JSON.parse(JSON.stringify(obj));\n delete obj.from;\n delete obj.user;\n delete obj.ts;\n\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('setObject', id, obj, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Gets the object with the given id from the server.\n *\n * @param id The object ID.\n * @returns The object.\n */\n getObject(id: T): ioBroker.GetObjectPromise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n if (id && id === this.ignoreState) {\n resolve({\n _id: this.ignoreState,\n type: 'state',\n common: {\n name: 'ignored state',\n type: 'mixed',\n },\n } as any);\n return;\n }\n this._socket.emit('getObject', id, (err, obj) => {\n if (err) {\n reject(err);\n } else {\n resolve(obj as any);\n }\n });\n },\n });\n }\n\n /**\n * Sends a message to a specific instance or all instances of some specific adapter.\n *\n * @param instance The instance to send this message to.\n * @param command Command name of the target instance.\n * @param data The message data to send.\n */\n sendTo(instance: string, command: string, data?: any): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: resolve => {\n this._socket.emit('sendTo', instance, command, data, (result: any) => {\n resolve(result);\n });\n },\n });\n }\n\n /**\n * Extend an object and create it if it might not exist.\n *\n * @param id The id.\n * @param obj The object.\n */\n extendObject(id: string, obj: ioBroker.PartialObject): Promise {\n if (!obj) {\n return Promise.reject(new Error('Null object is not allowed'));\n }\n\n obj = JSON.parse(JSON.stringify(obj));\n delete obj.from;\n delete obj.user;\n delete obj.ts;\n\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('extendObject', id, obj, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Register a handler for log messages.\n *\n * @param handler The handler.\n */\n registerLogHandler(handler: (message: LogMessage) => void): void {\n if (!this.onLogHandlers.includes(handler)) {\n this.onLogHandlers.push(handler);\n }\n }\n\n /**\n * Unregister a handler for log messages.\n *\n * @param handler The handler.\n */\n unregisterLogHandler(handler: (message: LogMessage) => void): void {\n const pos = this.onLogHandlers.indexOf(handler);\n pos !== -1 && this.onLogHandlers.splice(pos, 1);\n }\n\n /**\n * Register a handler for the connection state.\n *\n * @param handler The handler.\n */\n registerConnectionHandler(handler: (connected: boolean) => void): void {\n if (!this.onConnectionHandlers.includes(handler)) {\n this.onConnectionHandlers.push(handler);\n }\n }\n\n /**\n * Unregister a handler for the connection state.\n *\n * @param handler The handler.\n */\n unregisterConnectionHandler(handler: (connected: boolean) => void): void {\n const pos = this.onConnectionHandlers.indexOf(handler);\n pos !== -1 && this.onConnectionHandlers.splice(pos, 1);\n }\n\n /**\n * Set the handler for standard output of a command.\n *\n * @param handler The handler.\n */\n registerCmdStdoutHandler(handler: (id: string, text: string) => void): void {\n this.onCmdStdoutHandler = handler;\n }\n\n /**\n * Unset the handler for standard output of a command.\n */\n unregisterCmdStdoutHandler(): void {\n this.onCmdStdoutHandler = undefined;\n }\n\n /**\n * Set the handler for standard error of a command.\n *\n * @param handler The handler.\n */\n registerCmdStderrHandler(handler: (id: string, text: string) => void): void {\n this.onCmdStderrHandler = handler;\n }\n\n /**\n * Unset the handler for standard error of a command.\n */\n unregisterCmdStderrHandler(): void {\n this.onCmdStderrHandler = undefined;\n }\n\n /**\n * Set the handler for exit of a command.\n *\n * @param handler The handler.\n */\n registerCmdExitHandler(handler: (id: string, exitCode: number) => void): void {\n this.onCmdExitHandler = handler;\n }\n\n /**\n * Unset the handler for exit of a command.\n */\n unregisterCmdExitHandler(): void {\n this.onCmdExitHandler = undefined;\n }\n\n /**\n * Get all enums with the given name.\n *\n * @param _enum The name of the enum, like `rooms` or `functions`\n * @param update Force update.\n */\n getEnums(_enum?: string, update?: boolean): Promise> {\n return this.request({\n cacheKey: `enums_${_enum || 'all'}`,\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit(\n 'getObjectView',\n 'system',\n 'enum',\n {\n startkey: `enum.${_enum || ''}`,\n endkey: _enum ? `enum.${_enum}.\\u9999` : `enum.\\u9999`,\n },\n (err, res) => {\n if (err) {\n reject(err);\n } else {\n const _res: Record = {};\n if (res) {\n for (let i = 0; i < res.rows.length; i++) {\n if (_enum && res.rows[i].id === `enum.${_enum}`) {\n continue;\n }\n _res[res.rows[i].id] = res.rows[i].value as ioBroker.EnumObject;\n }\n }\n resolve(_res);\n }\n },\n );\n },\n });\n }\n\n /**\n * @deprecated since version 1.1.15, cause parameter order does not match backend\n * Query a predefined object view.\n * @param start The start ID.\n * @param end The end ID.\n * @param type The type of object.\n */\n getObjectView(\n start: string | undefined,\n end: string | undefined,\n type: T,\n ): Promise> {\n return this.getObjectViewCustom('system', type, start, end);\n }\n\n /**\n * Query a predefined object view.\n *\n * @param type The type of object.\n * @param start The start ID.\n * @param [end] The end ID.\n */\n getObjectViewSystem(\n type: T,\n start?: string,\n end?: string,\n ): Promise> {\n return this.getObjectViewCustom('system', type, start, end);\n }\n\n /**\n * Query a predefined object view.\n *\n * @param design design - 'system' or other designs like `custom`.\n * @param type The type of object.\n * @param start The start ID.\n * @param [end] The end ID.\n */\n getObjectViewCustom(\n design: string,\n type: T,\n start?: string,\n end?: string,\n ): Promise> {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n start = start || '';\n end = end || '\\u9999';\n\n this._socket.emit('getObjectView', design, type, { startkey: start, endkey: end }, (err, res) => {\n if (err) {\n reject(err);\n } else {\n const _res: Record = {};\n if (res && res.rows) {\n for (let i = 0; i < res.rows.length; i++) {\n _res[res.rows[i].id] = res.rows[i].value;\n }\n }\n resolve(_res);\n }\n });\n },\n });\n }\n\n /**\n * Read the meta items.\n */\n readMetaItems(): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit(\n 'getObjectView',\n 'system',\n 'meta',\n { startkey: '', endkey: '\\u9999' },\n (err, objs) => {\n if (err) {\n reject(err);\n } else {\n resolve(objs!.rows?.map(obj => obj.value).filter((val): val is ioBroker.Object => !!val));\n }\n },\n );\n },\n });\n }\n\n /**\n * Read the directory of an adapter.\n *\n * @param namespace (this may be the adapter name, the instance name or the name of a storage object within the adapter).\n * @param path The directory name.\n */\n readDir(namespace: string | null, path: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('readDir', namespace, path, (err, files) => {\n if (err) {\n reject(err);\n } else {\n resolve(files!);\n }\n });\n },\n });\n }\n\n /**\n * Read a file of an adapter.\n *\n * @param namespace (this may be the adapter name, the instance name or the name of a storage object within the adapter).\n * @param fileName The file name.\n * @param base64 If it must be a base64 format\n */\n readFile(\n namespace: string | null,\n fileName: string,\n base64?: boolean,\n ): Promise<{ file: string; mimeType: string }> {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit(base64 ? 'readFile64' : 'readFile', namespace, fileName, (err, data, type) => {\n if (err) {\n reject(err);\n } else {\n resolve({ file: data as string, mimeType: type! });\n }\n });\n },\n });\n }\n\n /**\n * Write a file of an adapter.\n *\n * @param namespace (this may be the adapter name, the instance name or the name of a storage object within the adapter).\n * @param fileName The file name.\n * @param data The data (if it's a Buffer, it will be converted to Base64).\n */\n writeFile64(namespace: string, fileName: string, data: Buffer | string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n if (typeof data === 'string') {\n this._socket.emit('writeFile', namespace, fileName, data, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n } else {\n const base64 = btoa(\n new Uint8Array(data).reduce((data, byte) => data + String.fromCharCode(byte), ''),\n );\n\n this._socket.emit('writeFile64', namespace, fileName, base64, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n }\n },\n });\n }\n\n /**\n * Delete a file of an adapter.\n *\n * @param namespace (this may be the adapter name, the instance name or the name of a storage object within the adapter).\n * @param fileName The file name.\n */\n deleteFile(namespace: string, fileName: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('deleteFile', namespace, fileName, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Delete a folder of an adapter.\n *\n * @param namespace (this may be the adapter name, the instance name or the name of a storage object within the adapter).\n * @param folderName The folder name.\n */\n deleteFolder(namespace: string, folderName: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('deleteFolder', namespace, folderName, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Rename file or folder in ioBroker DB\n *\n * @param namespace (this may be the adapter name, the instance name or the name of a storage object within the adapter).\n * @param oldName current file name, e.g., main/vis-views.json\n * @param newName new file name, e.g., main/vis-views-new.json\n */\n rename(namespace: string, oldName: string, newName: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('rename', namespace, oldName, newName, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Rename file in ioBroker DB\n *\n * @param namespace (this may be the adapter name, the instance name or the name of a storage object within the adapter).\n * @param oldName current file name, e.g., main/vis-views.json\n * @param newName new file name, e.g., main/vis-views-new.json\n */\n renameFile(namespace: string, oldName: string, newName: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('renameFile', namespace, oldName, newName, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Execute a command on a host.\n */\n cmdExec(\n /** Host name */\n host: string,\n /** Command to execute */\n cmd: string,\n /** Command ID */\n cmdId: number,\n /** Timeout of command in ms */\n cmdTimeout?: number,\n ): Promise {\n return this.request({\n commandTimeout: cmdTimeout,\n executor: (resolve, reject, timeout) => {\n host = normalizeHostId(host);\n\n this._socket.emit('cmdExec', host, cmdId, cmd, err => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n },\n });\n }\n\n /**\n * Gets the system configuration.\n *\n * @param update Force update.\n */\n getSystemConfig(update?: boolean): Promise {\n return this.request({\n cacheKey: 'systemConfig',\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: async resolve => {\n let systemConfig = await this.getObject('system.config');\n (systemConfig as any) ??= {};\n (systemConfig as any).common ??= {};\n (systemConfig as any).native ??= {};\n\n resolve(systemConfig!);\n },\n });\n }\n\n // returns very optimized information for adapters to minimize a connection load\n getCompactSystemConfig(update?: boolean): Promise {\n return this.request({\n cacheKey: 'systemConfigCommon',\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n requireAdmin: true,\n executor: (resolve, reject) => {\n this._socket.emit('getCompactSystemConfig', (err, systemConfig) => {\n if (err) {\n reject(err);\n } else {\n (systemConfig as any) ??= {};\n (systemConfig as any).common ??= {};\n (systemConfig as any).native ??= {};\n resolve(systemConfig!);\n }\n });\n },\n });\n }\n\n /**\n * Read all states (which might not belong to this adapter) which match the given pattern.\n *\n * @param pattern The pattern to match.\n */\n getForeignStates(pattern?: string | string[] | null): ioBroker.GetStatesPromise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('getForeignStates', pattern || '*', (err, states) => {\n if (err) {\n reject(err);\n } else {\n resolve(states ?? {});\n }\n });\n },\n });\n }\n\n /**\n * Get foreign objects by pattern, by specific type and resolve their enums.\n *\n * @param pattern The pattern to match.\n * @param type The type of the object.\n */\n getForeignObjects(\n pattern: string | null | undefined,\n type: T,\n ): Promise> {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('getForeignObjects', pattern || '*', type, (err, objects) => {\n if (err) {\n reject(err);\n } else {\n resolve(objects as any);\n }\n });\n },\n });\n }\n\n /**\n * Sets the system configuration.\n *\n * @param obj The new system configuration.\n */\n setSystemConfig(obj: ioBroker.SystemConfigObject): Promise {\n return this.setObject('system.config', obj);\n }\n\n /**\n * Get the raw socket.io socket.\n */\n getRawSocket(): any {\n return this._socket;\n }\n\n /**\n * Get the history of a given state.\n *\n * @param id The state ID.\n * @param options The query options.\n */\n getHistory(id: string, options: ioBroker.GetHistoryOptions): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('getHistory', id, options, (err, values) => {\n if (err) {\n reject(err);\n } else {\n resolve(values!);\n }\n });\n },\n });\n }\n\n /**\n * Get the history of a given state.\n *\n * @param id The state ID.\n * @param options The query options.\n */\n getHistoryEx(\n id: string,\n options: ioBroker.GetHistoryOptions,\n ): Promise<{\n values: ioBroker.GetHistoryResult;\n sessionId: string;\n stepIgnore: number;\n }> {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('getHistory', id, options, (err, values, stepIgnore, sessionId) => {\n if (err) {\n reject(err);\n } else {\n resolve({\n values: values!,\n sessionId: sessionId!,\n // TODO: WTF is up with the ignore thing?\n stepIgnore: stepIgnore!,\n });\n }\n });\n },\n });\n }\n\n /**\n * Get the IP addresses of the given host.\n *\n * @param host The host name.\n * @param update Force update.\n */\n getIpAddresses(host: string, update?: boolean): Promise {\n host = normalizeHostId(host);\n return this.request({\n cacheKey: `IPs_${host}`,\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: async resolve => {\n const obj = await this.getObject(host);\n resolve(obj?.common.address ?? []);\n },\n });\n }\n\n /**\n * Gets the version.\n */\n getVersion(update?: boolean): Promise<{ version: string; serverName: string }> {\n return this.request({\n cacheKey: 'version',\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('getVersion', (err, version, serverName) => {\n // Old socket.io had no error parameter\n if (err && !version && typeof err === 'string' && err.match(/\\d+\\.\\d+\\.\\d+/)) {\n resolve({ version: err, serverName: 'socketio' });\n } else {\n if (err) {\n reject(err);\n } else {\n resolve({\n version: version!,\n serverName: serverName!,\n });\n }\n }\n });\n },\n });\n }\n\n /**\n * Gets the web server name.\n */\n getWebServerName(): Promise {\n return this.request({\n cacheKey: 'webName',\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('getAdapterName', (err, name) => {\n if (err) {\n reject(err);\n } else {\n resolve(name!);\n }\n });\n },\n });\n }\n\n /**\n * Check if the file exists\n *\n * @param adapter adapter name\n * @param filename file name with the full path. it could be like vis.0/*\n */\n fileExists(adapter: string, filename: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('fileExists', adapter, filename, (err, exists) => {\n if (err) {\n reject(err);\n } else {\n resolve(!!exists);\n }\n });\n },\n });\n }\n\n /**\n * Read current user\n */\n getCurrentUser(): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: resolve => {\n this._socket.emit('authEnabled', (_isSecure, user) => {\n resolve(user);\n });\n },\n });\n }\n\n /**\n * Get uuid\n */\n getUuid(): Promise {\n return this.request({\n cacheKey: 'uuid',\n // TODO: check if this should time out\n commandTimeout: false,\n executor: async resolve => {\n const obj = await this.getObject('system.meta.uuid');\n resolve(obj?.native?.uuid);\n },\n });\n }\n\n /**\n * Checks if a given feature is supported.\n *\n * @param feature The feature to check.\n * @param update Force update.\n */\n checkFeatureSupported(feature: string, update?: boolean): Promise {\n return this.request({\n cacheKey: `supportedFeatures_${feature}`,\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('checkFeatureSupported', feature, (err, features) => {\n if (err) {\n reject(err);\n } else {\n resolve(features);\n }\n });\n },\n });\n }\n\n /**\n * Get all adapter instances.\n *\n * @param update Force update.\n */\n /**\n * Get all instances of the given adapter.\n *\n * @param adapter The name of the adapter.\n * @param update Force update.\n */\n getAdapterInstances(adapter?: string | boolean, update?: boolean): Promise {\n if (typeof adapter === 'boolean') {\n update = adapter;\n adapter = '';\n }\n adapter = adapter || '';\n\n return this.request({\n cacheKey: `instances_${adapter}`,\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: async resolve => {\n const startKey = adapter ? `system.adapter.${adapter}.` : 'system.adapter.';\n const endKey = `${startKey}\\u9999`;\n\n const instances = await this.getObjectViewSystem('instance', startKey, endKey);\n const instanceObjects = Object.values(instances);\n if (adapter) {\n resolve(instanceObjects.filter(o => o.common.name === adapter));\n } else {\n resolve(instanceObjects);\n }\n },\n });\n }\n\n /**\n * Get adapters with the given name.\n *\n * @param adapter The name of the adapter.\n * @param update Force update.\n */\n getAdapters(adapter?: string, update?: boolean): Promise {\n if (typeof adapter === 'boolean') {\n update = adapter;\n adapter = '';\n }\n adapter = adapter || '';\n\n return this.request({\n cacheKey: `adapter_${adapter}`,\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: async resolve => {\n const adapters = await this.getObjectViewSystem(\n 'adapter',\n `system.adapter.${adapter || ''}`,\n `system.adapter.${adapter || '\\u9999'}`,\n );\n const adapterObjects = Object.values(adapters);\n if (adapter) {\n resolve(adapterObjects.filter(o => o.common.name === adapter));\n } else {\n resolve(adapterObjects);\n }\n },\n });\n }\n\n /**\n * Get the list of all groups.\n *\n * @param update Force update.\n */\n getGroups(update?: boolean): Promise {\n return this.request({\n cacheKey: 'groups',\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit(\n 'getObjectView',\n 'system',\n 'group',\n {\n startkey: 'system.group.',\n endkey: 'system.group.\\u9999',\n },\n (err, doc) => {\n if (err) {\n reject(err);\n } else {\n resolve(getObjectViewResultToArray(doc));\n }\n },\n );\n },\n });\n }\n\n /**\n * Logout current user\n */\n logout(): Promise {\n return this.request({\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('logout', err => {\n err ? reject(err) : resolve(null);\n });\n },\n });\n }\n\n /**\n * Subscribe on instance message\n *\n * @param targetInstance instance, like 'cameras.0'\n * @param messageType message type like 'startCamera/cam3'\n * @param data optional data object\n * @param callback message handler\n */\n subscribeOnInstance(\n targetInstance: string,\n messageType: string,\n data: any,\n callback: InstanceMessageCallback,\n ): Promise<{\n error?: string;\n accepted?: boolean;\n heartbeat?: number;\n } | null> {\n return this.request({\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('clientSubscribe', targetInstance, messageType, data, (err, subscribeResult) => {\n if (err) {\n reject(err);\n } else if (subscribeResult) {\n if (subscribeResult.error) {\n reject(subscribeResult.error);\n } else {\n if (!targetInstance.startsWith('system.adapter.')) {\n targetInstance = `system.adapter.${targetInstance}`;\n }\n // save callback\n this._instanceSubscriptions[targetInstance] =\n this._instanceSubscriptions[targetInstance] || [];\n\n if (\n !this._instanceSubscriptions[targetInstance].find(\n subscription =>\n subscription.messageType === messageType && subscription.callback === callback,\n )\n ) {\n this._instanceSubscriptions[targetInstance].push({\n messageType,\n callback,\n });\n }\n resolve(subscribeResult);\n }\n }\n });\n },\n });\n }\n\n /**\n * Unsubscribe from instance message\n *\n * @param targetInstance instance, like 'cameras.0'\n * @param messageType message type like 'startCamera/cam3'\n * @param callback message handler\n */\n unsubscribeFromInstance(\n targetInstance: string,\n messageType: string,\n callback: InstanceMessageCallback,\n ): Promise {\n if (!targetInstance.startsWith('system.adapter.')) {\n targetInstance = `system.adapter.${targetInstance}`;\n }\n\n let deleted;\n const promiseResults = [];\n do {\n deleted = false;\n const index = this._instanceSubscriptions[targetInstance]?.findIndex(\n sub => (!messageType || sub.messageType === messageType) && (!callback || sub.callback === callback),\n );\n\n if (index !== undefined && index !== null && index !== -1) {\n deleted = true;\n // remember messageType\n const _messageType = this._instanceSubscriptions[targetInstance][index].messageType;\n\n this._instanceSubscriptions[targetInstance].splice(index, 1);\n if (!this._instanceSubscriptions[targetInstance].length) {\n delete this._instanceSubscriptions[targetInstance];\n }\n\n // try to find another subscription for this instance and messageType\n const found =\n this._instanceSubscriptions[targetInstance] &&\n this._instanceSubscriptions[targetInstance].find(sub => sub.messageType === _messageType);\n\n if (!found) {\n promiseResults.push(\n this.request({\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit(\n 'clientUnsubscribe',\n targetInstance,\n messageType,\n (err, wasSubscribed) => (err ? reject(err) : resolve(wasSubscribed)),\n );\n },\n }),\n );\n }\n }\n } while (deleted && (!callback || !messageType));\n\n if (promiseResults.length) {\n return Promise.all(promiseResults).then(results => !!results.find(result => result));\n }\n\n return Promise.resolve(false);\n }\n\n /**\n * Send log to ioBroker log\n *\n * @param text Log text\n * @param level `info`, `debug`, `warn`, `error` or `silly`\n */\n log(text: string, level?: string): Promise {\n return text\n ? this.request({\n commandTimeout: false,\n executor: resolve => {\n this._socket.emit('log', text, level);\n return resolve(null);\n },\n })\n : Promise.resolve(null);\n }\n\n /**\n * This is a special method for vis.\n * It is used to not send to server the changes about \"nothing_selected\" state\n *\n * @param id The state that has to be ignored by communication\n */\n setStateToIgnore(id: string): void {\n this.ignoreState = id;\n }\n}\n", "import { Connection, ERRORS, type RequestOptions } from './Connection.js';\nimport type { ConnectionProps } from './ConnectionProps.js';\nimport type {\n AdminEmitEvents,\n AdminListenEvents,\n CompactAdapterInfo,\n CompactHost,\n CompactInstalledInfo,\n CompactInstanceInfo,\n CompactRepository,\n CompactSystemRepository,\n License,\n LogFile,\n} from './SocketEvents.js';\nimport { getObjectViewResultToArray, normalizeHostId, objectIdToHostname } from './tools.js';\n\ninterface Certificate {\n name: string;\n type: 'public' | 'private' | 'chained';\n}\n\n// taken from \"@iobroker/js-controller-common-db/build/lib/common/notificationHandler\"\nexport type MultilingualObject = Exclude;\nexport type Severity = 'info' | 'notify' | 'alert';\nexport interface NotificationMessageObject {\n message: string;\n ts: number;\n}\n\nexport interface FilteredNotificationInformation {\n [scope: string]: {\n description: MultilingualObject;\n name: MultilingualObject;\n categories: {\n [category: string]: {\n description: MultilingualObject;\n name: MultilingualObject;\n severity: Severity;\n instances: {\n [instance: string]: {\n messages: NotificationMessageObject[];\n };\n };\n };\n };\n };\n}\n\nfunction parseCertificate(name: string, cert: string): Certificate | void {\n if (!cert) {\n return;\n }\n\n let type: Certificate['type'];\n // If it is a filename, it could be everything\n if (cert.length < 700 && (cert.indexOf('/') !== -1 || cert.indexOf('\\\\') !== -1)) {\n if (name.toLowerCase().includes('private')) {\n type = 'private';\n } else if (cert.toLowerCase().includes('private')) {\n type = 'private';\n } else if (name.toLowerCase().includes('public')) {\n type = 'public';\n } else if (cert.toLowerCase().includes('public')) {\n type = 'public';\n } else if (name.toLowerCase().includes('chain')) {\n type = 'chained';\n } else if (cert.toLowerCase().includes('chain')) {\n type = 'chained';\n } else {\n // TODO: is this correct?\n return;\n }\n } else {\n type =\n cert.substring(0, '-----BEGIN RSA PRIVATE KEY'.length) === '-----BEGIN RSA PRIVATE KEY' ||\n cert.substring(0, '-----BEGIN PRIVATE KEY'.length) === '-----BEGIN PRIVATE KEY'\n ? 'private'\n : 'public';\n\n if (type === 'public') {\n const m = cert.split('-----END CERTIFICATE-----');\n if (m.filter(t => t.replace(/\\r\\n|\\r|\\n/, '').trim()).length > 1) {\n type = 'chained';\n }\n }\n }\n return { name, type };\n}\n\nexport interface IPAddress {\n name: string;\n address: string;\n family: 'ipv4' | 'ipv6';\n internal?: boolean;\n}\n\ninterface IPAddresses {\n IPs4: IPAddress[];\n IPs6: IPAddress[];\n}\n\nfunction parseIPAddresses(host: ioBroker.HostObject): IPAddresses {\n const IPs4: IPAddress[] = [\n {\n name: '[IPv4] 0.0.0.0 - Listen on all IPs',\n address: '0.0.0.0',\n family: 'ipv4',\n },\n ];\n const IPs6: IPAddress[] = [\n {\n name: '[IPv6] :: - Listen on all IPs',\n address: '::',\n family: 'ipv6',\n },\n ];\n if (host.native?.hardware?.networkInterfaces) {\n for (const [eth, iface] of Object.entries(host.native.hardware.networkInterfaces)) {\n if (!iface) {\n continue;\n }\n\n for (const ip of iface) {\n if (ip.family !== 'IPv6') {\n IPs4.push({\n name: `[${ip.family}] ${ip.address} - ${eth}`,\n address: ip.address,\n family: 'ipv4',\n });\n } else {\n IPs6.push({\n name: `[${ip.family}] ${ip.address} - ${eth}`,\n address: ip.address,\n family: 'ipv6',\n });\n }\n }\n }\n }\n return { IPs4, IPs6 };\n}\n\nexport class AdminConnection extends Connection {\n constructor(props: ConnectionProps) {\n super(props);\n }\n\n // We overload the request method here because the admin connection's methods all have `requireAdmin: true`\n protected request(options: RequestOptions): Promise {\n return super.request({ requireAdmin: true, ...options });\n }\n\n /**\n * Get the stored certificates.\n *\n * @param update Force update.\n */\n getCertificates(update?: boolean): Promise {\n return this.request({\n cacheKey: 'cert',\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: async resolve => {\n const obj = await this.getObject('system.certificates');\n if (obj?.native?.certificates) {\n resolve(\n Object.entries(obj.native.certificates)\n .map(([name, cert]) => parseCertificate(name, cert))\n .filter((cert): cert is Certificate => !!cert),\n );\n } else {\n resolve([]);\n }\n },\n });\n }\n\n /**\n * Get the logs from a host (only for admin connection).\n */\n getLogs(host: string, linesNumber: number = 200): Promise<(string | number)[] | string | { error: string }> {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: resolve => {\n this._socket.emit('sendToHost', host, 'getLogs', linesNumber || 200, (lines: any) => {\n resolve(lines);\n });\n },\n });\n }\n\n /**\n * Upgrade adapter with webserver.\n */\n upgradeAdapterWithWebserver(\n host: string,\n options: {\n version: string;\n adapterName: string;\n port: number;\n useHttps?: boolean;\n certPublicName?: string;\n certPrivateName?: string;\n },\n ): Promise<{ result: boolean }> {\n return this.request({\n commandTimeout: false,\n executor: resolve => {\n this._socket.emit(\n 'sendToHost',\n host,\n 'upgradeAdapterWithWebserver',\n options as any,\n (result: unknown) => {\n resolve(result as { result: boolean });\n },\n );\n },\n });\n }\n\n /**\n * Upgrade controller\n */\n upgradeController(host: string, version: string, adminInstance: number): Promise {\n return this.request({\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit(\n 'sendToHost',\n host,\n 'upgradeController',\n {\n version,\n adminInstance,\n } as any,\n (result: unknown) => {\n const _result = result as {\n result: string;\n error?: string;\n };\n if (_result.error) {\n reject(_result.error);\n } else {\n resolve(_result.result);\n }\n },\n );\n },\n });\n }\n\n /**\n * Read licenses from ioBroker.net anew\n */\n updateLicenses(\n /** login for ioBroker.net */\n login: string,\n /** password for ioBroker.net */\n password: string,\n ): Promise {\n return this.request({\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('updateLicenses', login, password, (err, licenses?: License[]) => {\n if (err) {\n reject(err);\n } else {\n resolve(licenses);\n }\n });\n },\n });\n }\n\n /**\n * Upgrade controller\n */\n upgradeOsPackages(\n host: string,\n packages: { name: string; version?: string }[],\n restart?: boolean,\n ): Promise<{ success: boolean; error?: string }> {\n return this.request({\n commandTimeout: false,\n executor: resolve => {\n this._socket.emit(\n 'sendToHost',\n host,\n 'upgradeOsPackages',\n {\n packages,\n restart: !!restart,\n } as any,\n (result: unknown) => {\n resolve(result as { success: boolean; error?: string });\n },\n );\n },\n });\n }\n\n /**\n * Get the log files (only for admin connection).\n */\n getLogsFiles(host: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('readLogs', host, (err, files) => {\n if (err) {\n reject(err);\n }\n resolve(files!);\n });\n },\n });\n }\n\n /**\n * Delete the logs from a host (only for admin connection).\n */\n delLogs(host: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('sendToHost', host, 'delLogs', null, err => {\n if (err) {\n reject(err);\n }\n resolve();\n });\n },\n });\n }\n\n /**\n * Delete a file of an adapter.\n *\n * @param adapter The adapter name.\n * @param fileName The file name.\n */\n deleteFile(adapter: string, fileName: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('deleteFile', adapter, fileName, err => {\n if (err) {\n reject(err);\n }\n resolve();\n });\n },\n });\n }\n\n /**\n * Delete a folder of an adapter.\n *\n * @param adapter The adapter name.\n * @param folderName The folder name.\n */\n deleteFolder(adapter: string, folderName: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('deleteFolder', adapter, folderName, err => {\n if (err) {\n reject(err);\n }\n resolve();\n });\n },\n });\n }\n /**\n * Rename file or folder in ioBroker DB\n *\n * @param adapter instance name\n * @param oldName current file name, e.g., main/vis-views.json\n * @param newName new file name, e.g., main/vis-views-new.json\n */\n rename(adapter: string, oldName: string, newName: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('rename', adapter, oldName, newName, err => {\n if (err) {\n reject(err);\n }\n resolve();\n });\n },\n });\n }\n\n /**\n * Rename file in ioBroker DB\n *\n * @param adapter instance name\n * @param oldName current file name, e.g., main/vis-views.json\n * @param newName new file name, e.g., main/vis-views-new.json\n */\n renameFile(adapter: string, oldName: string, newName: string): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit('renameFile', adapter, oldName, newName, err => {\n if (err) {\n reject(err);\n }\n resolve();\n });\n },\n });\n }\n\n /**\n * Get the list of all hosts.\n *\n * @param update Force update.\n */\n getHosts(update?: boolean): Promise {\n return this.request({\n cacheKey: 'hosts',\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit(\n 'getObjectView',\n 'system',\n 'host',\n { startkey: 'system.host.', endkey: 'system.host.\\u9999' },\n (err, doc) => {\n if (err) {\n reject(err);\n } else {\n resolve(getObjectViewResultToArray(doc));\n }\n },\n );\n },\n });\n }\n\n /**\n * Get the list of all users.\n *\n * @param update Force update.\n */\n getUsers(update?: boolean): Promise {\n return this.request({\n cacheKey: 'users',\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: (resolve, reject) => {\n this._socket.emit(\n 'getObjectView',\n 'system',\n 'user',\n { startkey: 'system.user.', endkey: 'system.user.\\u9999' },\n (err, doc) => {\n if (err) {\n reject(err);\n } else {\n resolve(getObjectViewResultToArray(doc));\n }\n },\n );\n },\n });\n }\n\n /**\n * Rename a group.\n *\n * @param id The id.\n * @param newId The new id.\n * @param newName The new name.\n */\n renameGroup(id: string, newId: string, newName: ioBroker.StringOrTranslated): Promise {\n return this.request({\n // TODO: check if this should time out\n commandTimeout: false,\n executor: async resolve => {\n const groups = await this.getGroups(true);\n // renaming a group happens by re-creating the object under a different ID\n const subGroups = groups.filter(g => g._id.startsWith(`${id}.`));\n // First, do this for all sub-groups\n for (const group of subGroups) {\n const oldGroupId = group._id;\n const newGroupId = (newId + group._id.substring(id.length)) as ioBroker.ObjectIDs.Group;\n group._id = newGroupId;\n\n // Create a new object, then delete the old one if it worked\n await this.setObject(newGroupId, group);\n await this.delObject(oldGroupId);\n }\n // Then for the parent group\n const parentGroup = groups.find(g => g._id === id);\n if (parentGroup) {\n const oldGroupId = parentGroup._id;\n parentGroup._id = newId as ioBroker.ObjectIDs.Group;\n if (newName !== undefined) {\n (parentGroup.common as any) ??= {};\n parentGroup.common.name = newName as any;\n }\n\n // Create a new object, then delete the old one if it worked\n await this.setObject(newId, parentGroup);\n await this.delObject(oldGroupId);\n }\n\n resolve();\n },\n });\n }\n\n /**\n * Get the host information.\n *\n * @param host host name\n * @param update Force update.\n * @param timeoutMs optional read timeout.\n */\n getHostInfo(host: string, update?: boolean, timeoutMs?: number): Promise {\n host = normalizeHostId(host);\n return this.request({\n cacheKey: `hostInfo_${host}`,\n forceUpdate: update,\n commandTimeout: timeoutMs,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('sendToHost', host, 'getHostInfo', null, data => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (data === ERRORS.PERMISSION_ERROR) {\n reject('May not read \"getHostInfo\"');\n } else if (!data) {\n reject('Cannot read \"getHostInfo\"');\n } else {\n resolve(data);\n }\n });\n },\n });\n }\n\n /**\n * Get the host information (short version).\n *\n * @param host host name\n * @param update Force update.\n * @param timeoutMs optional read timeout.\n */\n getHostInfoShort(host: string, update?: boolean, timeoutMs?: number): Promise {\n host = normalizeHostId(host);\n return this.request({\n cacheKey: `hostInfoShort_${host}`,\n forceUpdate: update,\n commandTimeout: timeoutMs,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('sendToHost', host, 'getHostInfoShort', null, data => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (data === ERRORS.PERMISSION_ERROR) {\n reject('May not read \"getHostInfoShort\"');\n } else if (!data) {\n reject('Cannot read \"getHostInfoShort\"');\n } else {\n resolve(data);\n }\n });\n },\n });\n }\n\n /**\n * Get the repository.\n *\n * @param host The host name.\n * @param args The arguments.\n * @param update Force update.\n * @param timeoutMs timeout in ms.\n */\n getRepository(\n host: string,\n args?: { update?: boolean; repo?: string | string[] } | string | null,\n update?: boolean,\n timeoutMs?: number,\n ): Promise {\n return this.request({\n cacheKey: `repository_${host}`,\n forceUpdate: update,\n commandTimeout: timeoutMs,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('sendToHost', host, 'getRepository', args, data => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (data === ERRORS.PERMISSION_ERROR) {\n reject('May not read \"getRepository\"');\n } else if (!data) {\n reject('Cannot read \"getRepository\"');\n } else {\n resolve(data);\n }\n });\n },\n });\n }\n\n /**\n * Get the installed.\n *\n * @param host The host name.\n * @param update Force update.\n * @param cmdTimeout timeout in ms\n */\n getInstalled(host: string, update?: boolean, cmdTimeout?: number): Promise {\n host = normalizeHostId(host);\n\n return this.request({\n cacheKey: `installed_${host}`,\n forceUpdate: update,\n commandTimeout: cmdTimeout,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('sendToHost', host, 'getInstalled', null, data => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (data === ERRORS.PERMISSION_ERROR) {\n reject('May not read \"getInstalled\"');\n } else if (!data) {\n reject('Cannot read \"getInstalled\"');\n } else {\n resolve(data);\n }\n });\n },\n });\n }\n\n /**\n * Execute a command on a host.\n */\n cmdExec(\n /** The host name. */\n host: string,\n /** The command to execute. */\n cmd: string,\n /** The command ID. */\n cmdId: number,\n /** Timeout of command in ms */\n cmdTimeout?: number,\n ): Promise {\n return this.request({\n commandTimeout: cmdTimeout,\n executor: (resolve, reject, timeout) => {\n host = normalizeHostId(host);\n\n this._socket.emit('cmdExec', host, cmdId, cmd, err => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n\n if (err) {\n reject(err);\n }\n resolve();\n });\n },\n });\n }\n\n /**\n * Read the base settings of a given host.\n *\n * @param host The host name.\n */\n readBaseSettings(host: string): Promise<{ config?: ioBroker.IoBrokerJson; isActive?: boolean }> {\n // Make sure we deal with a hostname, not an object ID\n host = objectIdToHostname(host);\n\n return this.request({\n requireFeatures: ['CONTROLLER_READWRITE_BASE_SETTINGS'],\n executor: (resolve, reject, timeout) => {\n this._socket.emit('sendToHost', host, 'readBaseSettings', null, data => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n\n if (data === ERRORS.PERMISSION_ERROR) {\n reject('May not read \"BaseSettings\"');\n } else if (!data) {\n reject('Cannot read \"BaseSettings\"');\n } else if ((data as { error?: string }).error) {\n reject(new Error((data as { error?: string }).error));\n } else {\n resolve(data as { config: ioBroker.IoBrokerJson; isActive: boolean });\n }\n });\n },\n });\n }\n\n /**\n * Write the base settings of a given host.\n *\n * @param host The host name.\n * @param config The configuration to write.\n */\n writeBaseSettings(host: string, config: ioBroker.IoBrokerJson): Promise<{ error?: any; result?: 'ok' }> {\n // Make sure we deal with a hostname, not an object ID\n host = objectIdToHostname(host);\n\n return this.request({\n requireFeatures: ['CONTROLLER_READWRITE_BASE_SETTINGS'],\n executor: (resolve, reject, timeout) => {\n this._socket.emit('sendToHost', host, 'writeBaseSettings', config, data => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n\n if (data === ERRORS.PERMISSION_ERROR) {\n reject('May not write \"BaseSettings\"');\n } else if (!data) {\n reject('Cannot write \"BaseSettings\"');\n } else {\n resolve(data);\n }\n });\n },\n });\n }\n\n /**\n * Send command to restart the iobroker on host\n *\n * @param host The host name.\n */\n restartController(host: string): Promise {\n // Make sure we deal with a hostname, not an object ID\n host = objectIdToHostname(host);\n\n return this.request({\n executor: (resolve, reject, timeout) => {\n this._socket.emit('sendToHost', host, 'restartController', null, () => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n resolve(true);\n });\n },\n });\n }\n\n /**\n * Read statistics information from host\n *\n * @param host The host name.\n * @param typeOfDiag one of none, normal, no-city, extended\n */\n getDiagData(host: string, typeOfDiag: string): Promise | null> {\n // Make sure we deal with a hostname, not an object ID\n host = objectIdToHostname(host);\n\n return this.request({\n executor: (resolve, _reject, timeout) => {\n this._socket.emit('sendToHost', host, 'getDiagData', typeOfDiag, result => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (!result) {\n resolve(null);\n } else {\n resolve(result as Promise>);\n }\n });\n },\n });\n }\n\n /**\n * Change the password of the given user.\n *\n * @param user The user name.\n * @param password The new password.\n */\n changePassword(user: string, password: string): Promise {\n return this.request({\n executor: (resolve, reject, timeout) => {\n this._socket.emit('changePassword', user, password, err => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve();\n });\n },\n });\n }\n\n /**\n * Get the IP addresses of the given host.\n *\n * @param host The host name.\n * @param update Force update.\n */\n getIpAddresses(host: string, update?: boolean): Promise {\n host = normalizeHostId(host);\n return this.request({\n cacheKey: `IPs_${host}`,\n forceUpdate: update,\n // TODO: check if this should time out\n commandTimeout: false,\n executor: async resolve => {\n const obj = await this.getObject(host);\n resolve(obj?.common.address ?? []);\n },\n });\n }\n\n /**\n * Get the IP addresses with interface names of the given host or find host by IP.\n *\n * @param ipOrHostName The IP address or host name.\n * @param update Force update.\n */\n getHostByIp(ipOrHostName: string, update?: boolean): Promise {\n // Make sure we deal with a hostname, not an object ID\n ipOrHostName = objectIdToHostname(ipOrHostName);\n\n return this.request({\n cacheKey: `rIPs_${ipOrHostName}`,\n forceUpdate: update,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getHostByIp', ipOrHostName, (ip, host) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n\n const { IPs4, IPs6 } = parseIPAddresses(host);\n resolve([...IPs4, ...IPs6]);\n });\n },\n });\n }\n\n /**\n * Encrypt a text\n *\n * @param plaintext The text to encrypt.\n */\n encrypt(plaintext: string): Promise {\n return this.request({\n executor: (resolve, reject, timeout) => {\n this._socket.emit('encrypt', plaintext, (err, ciphertext) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(ciphertext!);\n });\n },\n });\n }\n\n /**\n * Decrypt a text\n *\n * @param ciphertext The text to decrypt.\n */\n decrypt(ciphertext: string): Promise {\n return this.request({\n executor: (resolve, reject, timeout) => {\n this._socket.emit('decrypt', ciphertext, (err, plaintext) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(plaintext!);\n });\n },\n });\n }\n\n /**\n * Change access rights for file\n *\n * @param adapter adapter name\n * @param path file name with a full path. It could be like 'vis.0/*'\n * @param options like {mode: 0x644}\n * @param options.mode The new mode for the file\n */\n chmodFile(\n adapter: string | null,\n path: string,\n options?: { mode: number | string },\n ): Promise {\n return this.request({\n executor: (resolve, reject, timeout) => {\n this._socket.emit('chmodFile', adapter, path, options, (err, processed) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(processed!);\n });\n },\n });\n }\n\n /**\n * Change an owner or/and owner group for file\n *\n * @param adapter adapter name\n * @param filename file name with a full path. it could be like vis.0/*\n * @param options like {owner: \"newOwner\", ownerGroup: \"newGroup\"}\n * @param options.owner The new owner for the file\n * @param options.ownerGroup The new owner group for the file\n */\n chownFile(\n adapter: string,\n filename: string,\n options?: { owner?: string; ownerGroup?: string },\n ): Promise {\n return this.request({\n executor: (resolve, reject, timeout) => {\n this._socket.emit('chownFile', adapter, filename, options, (err, processed) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(processed!);\n });\n },\n });\n }\n\n /**\n * Get the alarm notifications from a host (only for admin connection).\n *\n * @param host The host name.\n * @param category - optional\n */\n getNotifications(host: string, category?: string): Promise {\n return this.request({\n executor: (resolve, reject, timeout) => {\n this._socket.emit('sendToHost', host, 'getNotifications', { category }, notifications => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n resolve(\n notifications as {\n result: FilteredNotificationInformation;\n },\n );\n });\n },\n });\n }\n\n /**\n * Clear the alarm notifications on a host (only for admin connection).\n *\n * @param host The host name.\n * @param category - optional\n */\n clearNotifications(host: string, category: string): Promise {\n return this.request({\n executor: (resolve, reject, timeout) => {\n this._socket.emit('sendToHost', host, 'clearNotifications', { category }, notifications => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n resolve(notifications);\n });\n },\n });\n }\n\n /**\n * Read if only easy mode is allowed (only for admin connection).\n */\n getIsEasyModeStrict(): Promise {\n return this.request({\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getIsEasyModeStrict', (err, isStrict) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(!!isStrict);\n });\n },\n });\n }\n\n /**\n * Read easy mode configuration (only for admin connection).\n */\n getEasyMode(): Promise<{\n strict: boolean;\n configs: {\n id: string;\n title: ioBroker.StringOrTranslated;\n desc: ioBroker.StringOrTranslated;\n color: string;\n url: string;\n icon: string;\n materialize: boolean;\n jsonConfig: boolean;\n version: string;\n }[];\n }> {\n return this.request({\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getEasyMode', (err, config) => {\n if (timeout.elapsed) {\n return;\n }\n\n timeout.clearTimeout();\n\n if (err) {\n reject(new Error(err));\n } else {\n resolve(\n config as {\n strict: boolean;\n configs: {\n id: string;\n title: ioBroker.StringOrTranslated;\n desc: ioBroker.StringOrTranslated;\n color: string;\n url: string;\n icon: string;\n materialize: boolean;\n jsonConfig: boolean;\n version: string;\n }[];\n },\n );\n }\n });\n },\n });\n }\n\n /**\n * Read adapter ratings\n */\n getRatings(update?: boolean): Promise<{\n [adapterName: string]: {\n rating: {\n r: number;\n c: number;\n };\n [versionNumber: string]: {\n r: number;\n c: number;\n };\n };\n }> {\n return this.request({\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getRatings', !!update, (err, ratings) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(new Error(err));\n } else {\n resolve(\n ratings as {\n [adapterName: string]: {\n rating: {\n r: number;\n c: number;\n };\n [versionNumber: string]: {\n r: number;\n c: number;\n };\n };\n },\n );\n }\n });\n },\n });\n }\n\n getCurrentSession(cmdTimeout?: number): any {\n const controller = new AbortController();\n\n return this.request({\n commandTimeout: cmdTimeout || 5000,\n onTimeout: () => {\n controller.abort();\n },\n executor: async (resolve, reject, timeout) => {\n try {\n const res = await fetch('./session', {\n signal: controller.signal,\n });\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n resolve(res.json());\n } catch (e) {\n reject(`getCurrentSession: ${e}`);\n }\n },\n });\n }\n\n /**\n * Read current web, socketio or admin namespace, like admin.0\n */\n getCurrentInstance(): Promise {\n return this.request({\n cacheKey: 'currentInstance',\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getCurrentInstance', (err, namespace) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(namespace!);\n });\n },\n });\n }\n\n /**\n * Get all instances of the given adapter or get all instances.\n *\n * @param adapter The name of the adapter.\n * @param update Force update.\n */\n getAdapterInstances(adapter?: string | boolean, update?: boolean): Promise {\n let adapterStr: string;\n if (typeof adapter === 'boolean') {\n update = adapter;\n adapterStr = '';\n } else {\n adapterStr = adapter || '';\n }\n\n return this.request({\n cacheKey: `instances_${adapterStr}`,\n forceUpdate: update,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getAdapterInstances', adapterStr, (err, instances) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(instances!);\n });\n },\n });\n }\n\n /**\n * Get adapters with the given name or get all adapters.\n *\n * @param adapter The name of the adapter.\n * @param update Force update.\n */\n getAdapters(adapter?: string | boolean, update?: boolean): Promise {\n let adapterStr: string;\n if (typeof adapter === 'boolean') {\n update = adapter;\n adapterStr = '';\n } else {\n adapterStr = adapter || '';\n }\n\n return this.request({\n cacheKey: `adapter_${adapterStr}`,\n forceUpdate: update,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getAdapters', adapterStr, (err, adapters) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(adapters!);\n });\n },\n });\n }\n\n // returns very optimized information for adapters to minimize a connection load\n getCompactAdapters(update?: boolean): Promise> {\n return this.request({\n cacheKey: 'compactAdapters',\n forceUpdate: update,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getCompactAdapters', (err, adapters) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(adapters!);\n });\n },\n });\n }\n\n // reset cached promise, so next time the information will be requested anew\n getAdaptersResetCache(adapter?: string): void {\n adapter = adapter ?? '';\n this.resetCache(`adapter_${adapter}`);\n this.resetCache(`compactAdapters`);\n }\n\n // returns very optimized information for adapters to minimize a connection load\n getCompactInstances(update?: boolean): Promise> {\n return this.request({\n cacheKey: 'compactInstances',\n forceUpdate: update,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getCompactInstances', (err, instances) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(instances!);\n });\n },\n });\n }\n\n // reset cached promise, so next time the information will be requested anew\n getAdapterInstancesResetCache(adapter?: string): void {\n adapter = adapter ?? '';\n this.resetCache(`instances_${adapter}`);\n this.resetCache(`compactInstances`);\n }\n\n // returns very optimized information for adapters to minimize a connection load\n // reads only a version of installed adapter\n getCompactInstalled(host: string, update?: boolean, cmdTimeout?: number): Promise {\n host = normalizeHostId(host);\n\n return this.request({\n cacheKey: `installedCompact_${host}`,\n forceUpdate: update,\n commandTimeout: cmdTimeout,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getCompactInstalled', host, data => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n\n if (data === ERRORS.PERMISSION_ERROR) {\n reject('May not read \"getCompactInstalled\"');\n } else if (!data) {\n reject('Cannot read \"getCompactInstalled\"');\n } else {\n resolve(data);\n }\n });\n },\n });\n }\n\n // reset cached promise, so next time the information will be requested anew\n getInstalledResetCache(host?: string): void {\n if (!host) {\n this.resetCache(`installedCompact_`, true);\n this.resetCache(`installed_`, true);\n } else {\n this.resetCache(`installedCompact_${host}`);\n this.resetCache(`installed_${host}`);\n }\n }\n\n /**\n * Get the repository in compact form (only version and icon).\n *\n * @param host The host name.\n * @param update Force update.\n * @param timeoutMs timeout in ms.\n */\n getCompactRepository(host: string, update?: boolean, timeoutMs?: number): Promise {\n host = normalizeHostId(host);\n\n return this.request({\n cacheKey: `repositoryCompact_${host}`,\n forceUpdate: update,\n commandTimeout: timeoutMs,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getCompactRepository', host, data => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n\n if (data === ERRORS.PERMISSION_ERROR) {\n reject('May not read \"getCompactRepository\"');\n } else if (!data) {\n reject('Cannot read \"getCompactRepository\"');\n } else {\n resolve(data);\n }\n });\n },\n });\n }\n\n // reset cached promise, so next time the information will be requested anew\n getRepositoryResetCache(host: string): void {\n if (!host) {\n this.resetCache(`repositoryCompact_`, true);\n this.resetCache(`repository_`, true);\n } else {\n this.resetCache(`repositoryCompact_${host}`);\n this.resetCache(`repository_${host}`);\n }\n }\n\n /**\n * Get the list of all hosts in compact form (only _id, common.name, common.icon, common.color, native.hardware.networkInterfaces)\n *\n * @param update Force update.\n */\n getCompactHosts(update?: boolean): Promise {\n return this.request({\n cacheKey: 'hostsCompact',\n forceUpdate: update,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getCompactHosts', (err, compactHostsInfo) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(compactHostsInfo!);\n });\n },\n });\n }\n\n /**\n * Get `system.repository` without big JSON\n */\n getCompactSystemRepositories(update?: boolean): Promise {\n return this.request({\n cacheKey: 'repositoriesCompact',\n forceUpdate: update,\n executor: (resolve, reject, timeout) => {\n this._socket.emit('getCompactSystemRepositories', (err, systemRepositories) => {\n if (timeout.elapsed) {\n return;\n }\n timeout.clearTimeout();\n if (err) {\n reject(err);\n }\n resolve(systemRepositories!);\n });\n },\n });\n }\n}\n", "declare const __DEBUG_BUILD__: boolean;\n\n/**\n * This serves as a build time flag that will be true by default, but false in non-debug builds or if users replace `__SENTRY_DEBUG__` in their generated code.\n *\n * ATTENTION: This constant must never cross package boundaries (i.e. be exported) to guarantee that it can be used for tree shaking.\n */\nexport const DEBUG_BUILD = __DEBUG_BUILD__;\n", "// This is a magic string replaced by rollup\ndeclare const __SENTRY_SDK_VERSION__: string;\n\nexport const SDK_VERSION = typeof __SENTRY_SDK_VERSION__ === 'string' ? __SENTRY_SDK_VERSION__ : '0.0.0-unknown.0';\n", "/**\n * NOTE: In order to avoid circular dependencies, if you add a function to this module and it needs to print something,\n * you must either a) use `console.log` rather than the logger, or b) put your function elsewhere.\n *\n * Note: This file was originally called `global.ts`, but was changed to unblock users which might be doing\n * string replaces with bundlers like Vite for `global` (would break imports that rely on importing from utils/src/global).\n *\n * Why worldwide?\n *\n * Why not?\n */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport type { Client, MetricsAggregator, Scope } from '@sentry/types';\n\nimport type { SdkSource } from './env';\nimport type { logger } from './logger';\nimport { SDK_VERSION } from './version';\n\ninterface SentryCarrier {\n acs?: any;\n stack?: any;\n\n globalScope?: Scope;\n defaultIsolationScope?: Scope;\n defaultCurrentScope?: Scope;\n globalMetricsAggregators?: WeakMap | undefined;\n logger?: typeof logger;\n\n /** Overwrites TextEncoder used in `@sentry/core`, need for `react-native@0.73` and older */\n encodePolyfill?: (input: string) => Uint8Array;\n /** Overwrites TextDecoder used in `@sentry/core`, need for `react-native@0.73` and older */\n decodePolyfill?: (input: Uint8Array) => string;\n}\n\n// TODO(v9): Clean up or remove this type\ntype BackwardsCompatibleSentryCarrier = SentryCarrier & {\n // pre-v7 hub (replaced by .stack)\n hub: any;\n integrations?: any[];\n logger: any;\n extensions?: {\n /** Extension methods for the hub, which are bound to the current Hub instance */\n // eslint-disable-next-line @typescript-eslint/ban-types\n [key: string]: Function;\n };\n};\n\n/** Internal global with common properties and Sentry extensions */\nexport type InternalGlobal = {\n navigator?: { userAgent?: string };\n console: Console;\n PerformanceObserver?: any;\n Sentry?: any;\n onerror?: {\n (event: object | string, source?: string, lineno?: number, colno?: number, error?: Error): any;\n __SENTRY_INSTRUMENTED__?: true;\n __SENTRY_LOADER__?: true;\n };\n onunhandledrejection?: {\n (event: unknown): boolean;\n __SENTRY_INSTRUMENTED__?: true;\n __SENTRY_LOADER__?: true;\n };\n SENTRY_ENVIRONMENT?: string;\n SENTRY_DSN?: string;\n SENTRY_RELEASE?: {\n id?: string;\n };\n SENTRY_SDK_SOURCE?: SdkSource;\n /**\n * Debug IDs are indirectly injected by Sentry CLI or bundler plugins to directly reference a particular source map\n * for resolving of a source file. The injected code will place an entry into the record for each loaded bundle/JS\n * file.\n */\n _sentryDebugIds?: Record;\n __SENTRY__: Record, SentryCarrier> & {\n version?: string;\n } & BackwardsCompatibleSentryCarrier;\n /**\n * Raw module metadata that is injected by bundler plugins.\n *\n * Keys are `error.stack` strings, values are the metadata.\n */\n _sentryModuleMetadata?: Record;\n _sentryEsmLoaderHookRegistered?: boolean;\n};\n\n/** Get's the global object for the current JavaScript runtime */\nexport const GLOBAL_OBJ = globalThis as unknown as InternalGlobal;\n\n/**\n * Returns a global singleton contained in the global `__SENTRY__[]` object.\n *\n * If the singleton doesn't already exist in `__SENTRY__`, it will be created using the given factory\n * function and added to the `__SENTRY__` object.\n *\n * @param name name of the global singleton on __SENTRY__\n * @param creator creator Factory function to create the singleton if it doesn't already exist on `__SENTRY__`\n * @param obj (Optional) The global object on which to look for `__SENTRY__`, if not `GLOBAL_OBJ`'s return value\n * @returns the singleton\n */\nexport function getGlobalSingleton(name: keyof SentryCarrier, creator: () => T, obj?: unknown): T {\n const gbl = (obj || GLOBAL_OBJ) as InternalGlobal;\n const __SENTRY__ = (gbl.__SENTRY__ = gbl.__SENTRY__ || {});\n const versionedCarrier = (__SENTRY__[SDK_VERSION] = __SENTRY__[SDK_VERSION] || {});\n return versionedCarrier[name] || (versionedCarrier[name] = creator());\n}\n", "declare const __DEBUG_BUILD__: boolean;\n\n/**\n * This serves as a build time flag that will be true by default, but false in non-debug builds or if users replace `__SENTRY_DEBUG__` in their generated code.\n *\n * ATTENTION: This constant must never cross package boundaries (i.e. be exported) to guarantee that it can be used for tree shaking.\n */\nexport const DEBUG_BUILD = __DEBUG_BUILD__;\n", "import type { ConsoleLevel } from '@sentry/types';\n\nimport { DEBUG_BUILD } from './debug-build';\nimport { GLOBAL_OBJ, getGlobalSingleton } from './worldwide';\n\n/** Prefix for logging strings */\nconst PREFIX = 'Sentry Logger ';\n\nexport const CONSOLE_LEVELS: readonly ConsoleLevel[] = [\n 'debug',\n 'info',\n 'warn',\n 'error',\n 'log',\n 'assert',\n 'trace',\n] as const;\n\ntype LoggerMethod = (...args: unknown[]) => void;\ntype LoggerConsoleMethods = Record;\n\n/** This may be mutated by the console instrumentation. */\nexport const originalConsoleMethods: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key in ConsoleLevel]?: (...args: any[]) => void;\n} = {};\n\n/** JSDoc */\nexport interface Logger extends LoggerConsoleMethods {\n disable(): void;\n enable(): void;\n isEnabled(): boolean;\n}\n\n/**\n * Temporarily disable sentry console instrumentations.\n *\n * @param callback The function to run against the original `console` messages\n * @returns The results of the callback\n */\nexport function consoleSandbox(callback: () => T): T {\n if (!('console' in GLOBAL_OBJ)) {\n return callback();\n }\n\n const console = GLOBAL_OBJ.console as Console;\n const wrappedFuncs: Partial = {};\n\n const wrappedLevels = Object.keys(originalConsoleMethods) as ConsoleLevel[];\n\n // Restore all wrapped console methods\n wrappedLevels.forEach(level => {\n const originalConsoleMethod = originalConsoleMethods[level] as LoggerMethod;\n wrappedFuncs[level] = console[level] as LoggerMethod | undefined;\n console[level] = originalConsoleMethod;\n });\n\n try {\n return callback();\n } finally {\n // Revert restoration to wrapped state\n wrappedLevels.forEach(level => {\n console[level] = wrappedFuncs[level] as LoggerMethod;\n });\n }\n}\n\nfunction makeLogger(): Logger {\n let enabled = false;\n const logger: Partial = {\n enable: () => {\n enabled = true;\n },\n disable: () => {\n enabled = false;\n },\n isEnabled: () => enabled,\n };\n\n if (DEBUG_BUILD) {\n CONSOLE_LEVELS.forEach(name => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n logger[name] = (...args: any[]) => {\n if (enabled) {\n consoleSandbox(() => {\n GLOBAL_OBJ.console[name](`${PREFIX}[${name}]:`, ...args);\n });\n }\n };\n });\n } else {\n CONSOLE_LEVELS.forEach(name => {\n logger[name] = () => undefined;\n });\n }\n\n return logger as Logger;\n}\n\n/**\n * This is a logger singleton which either logs things or no-ops if logging is not enabled.\n * The logger is a singleton on the carrier, to ensure that a consistent logger is used throughout the SDK.\n */\nexport const logger = getGlobalSingleton('logger', makeLogger);\n", "import type { Event, StackFrame, StackLineParser, StackParser } from '@sentry/types';\n\nconst STACKTRACE_FRAME_LIMIT = 50;\nexport const UNKNOWN_FUNCTION = '?';\n// Used to sanitize webpack (error: *) wrapped stack errors\nconst WEBPACK_ERROR_REGEXP = /\\(error: (.*)\\)/;\nconst STRIP_FRAME_REGEXP = /captureMessage|captureException/;\n\n/**\n * Creates a stack parser with the supplied line parsers\n *\n * StackFrames are returned in the correct order for Sentry Exception\n * frames and with Sentry SDK internal frames removed from the top and bottom\n *\n */\nexport function createStackParser(...parsers: StackLineParser[]): StackParser {\n const sortedParsers = parsers.sort((a, b) => a[0] - b[0]).map(p => p[1]);\n\n return (stack: string, skipFirstLines: number = 0, framesToPop: number = 0): StackFrame[] => {\n const frames: StackFrame[] = [];\n const lines = stack.split('\\n');\n\n for (let i = skipFirstLines; i < lines.length; i++) {\n const line = lines[i] as string;\n // Ignore lines over 1kb as they are unlikely to be stack frames.\n // Many of the regular expressions use backtracking which results in run time that increases exponentially with\n // input size. Huge strings can result in hangs/Denial of Service:\n // https://github.com/getsentry/sentry-javascript/issues/2286\n if (line.length > 1024) {\n continue;\n }\n\n // https://github.com/getsentry/sentry-javascript/issues/5459\n // Remove webpack (error: *) wrappers\n const cleanedLine = WEBPACK_ERROR_REGEXP.test(line) ? line.replace(WEBPACK_ERROR_REGEXP, '$1') : line;\n\n // https://github.com/getsentry/sentry-javascript/issues/7813\n // Skip Error: lines\n if (cleanedLine.match(/\\S*Error: /)) {\n continue;\n }\n\n for (const parser of sortedParsers) {\n const frame = parser(cleanedLine);\n\n if (frame) {\n frames.push(frame);\n break;\n }\n }\n\n if (frames.length >= STACKTRACE_FRAME_LIMIT + framesToPop) {\n break;\n }\n }\n\n return stripSentryFramesAndReverse(frames.slice(framesToPop));\n };\n}\n\n/**\n * Gets a stack parser implementation from Options.stackParser\n * @see Options\n *\n * If options contains an array of line parsers, it is converted into a parser\n */\nexport function stackParserFromStackParserOptions(stackParser: StackParser | StackLineParser[]): StackParser {\n if (Array.isArray(stackParser)) {\n return createStackParser(...stackParser);\n }\n return stackParser;\n}\n\n/**\n * Removes Sentry frames from the top and bottom of the stack if present and enforces a limit of max number of frames.\n * Assumes stack input is ordered from top to bottom and returns the reverse representation so call site of the\n * function that caused the crash is the last frame in the array.\n * @hidden\n */\nexport function stripSentryFramesAndReverse(stack: ReadonlyArray): StackFrame[] {\n if (!stack.length) {\n return [];\n }\n\n const localStack = Array.from(stack);\n\n // If stack starts with one of our API calls, remove it (starts, meaning it's the top of the stack - aka last call)\n if (/sentryWrapped/.test(getLastStackFrame(localStack).function || '')) {\n localStack.pop();\n }\n\n // Reversing in the middle of the procedure allows us to just pop the values off the stack\n localStack.reverse();\n\n // If stack ends with one of our internal API calls, remove it (ends, meaning it's the bottom of the stack - aka top-most call)\n if (STRIP_FRAME_REGEXP.test(getLastStackFrame(localStack).function || '')) {\n localStack.pop();\n\n // When using synthetic events, we will have a 2 levels deep stack, as `new Error('Sentry syntheticException')`\n // is produced within the hub itself, making it:\n //\n // Sentry.captureException()\n // getCurrentHub().captureException()\n //\n // instead of just the top `Sentry` call itself.\n // This forces us to possibly strip an additional frame in the exact same was as above.\n if (STRIP_FRAME_REGEXP.test(getLastStackFrame(localStack).function || '')) {\n localStack.pop();\n }\n }\n\n return localStack.slice(0, STACKTRACE_FRAME_LIMIT).map(frame => ({\n ...frame,\n filename: frame.filename || getLastStackFrame(localStack).filename,\n function: frame.function || UNKNOWN_FUNCTION,\n }));\n}\n\nfunction getLastStackFrame(arr: StackFrame[]): StackFrame {\n return arr[arr.length - 1] || {};\n}\n\nconst defaultFunctionName = '';\n\n/**\n * Safely extract function name from itself\n */\nexport function getFunctionName(fn: unknown): string {\n try {\n if (!fn || typeof fn !== 'function') {\n return defaultFunctionName;\n }\n return fn.name || defaultFunctionName;\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n return defaultFunctionName;\n }\n}\n\n/**\n * Get's stack frames from an event without needing to check for undefined properties.\n */\nexport function getFramesFromEvent(event: Event): StackFrame[] | undefined {\n const exception = event.exception;\n\n if (exception) {\n const frames: StackFrame[] = [];\n try {\n // @ts-expect-error Object could be undefined\n exception.values.forEach(value => {\n // @ts-expect-error Value could be undefined\n if (value.stacktrace.frames) {\n // @ts-expect-error Value could be undefined\n frames.push(...value.stacktrace.frames);\n }\n });\n return frames;\n } catch (_oO) {\n return undefined;\n }\n }\n return undefined;\n}\n", "import { DEBUG_BUILD } from '../debug-build';\nimport { logger } from '../logger';\nimport { getFunctionName } from '../stacktrace';\n\nexport type InstrumentHandlerType =\n | 'console'\n | 'dom'\n | 'fetch'\n | 'fetch-body-resolved'\n | 'history'\n | 'xhr'\n | 'error'\n | 'unhandledrejection';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type InstrumentHandlerCallback = (data: any) => void;\n\n// We keep the handlers globally\nconst handlers: { [key in InstrumentHandlerType]?: InstrumentHandlerCallback[] } = {};\nconst instrumented: { [key in InstrumentHandlerType]?: boolean } = {};\n\n/** Add a handler function. */\nexport function addHandler(type: InstrumentHandlerType, handler: InstrumentHandlerCallback): void {\n handlers[type] = handlers[type] || [];\n (handlers[type] as InstrumentHandlerCallback[]).push(handler);\n}\n\n/**\n * Reset all instrumentation handlers.\n * This can be used by tests to ensure we have a clean slate of instrumentation handlers.\n */\nexport function resetInstrumentationHandlers(): void {\n Object.keys(handlers).forEach(key => {\n handlers[key as InstrumentHandlerType] = undefined;\n });\n}\n\n/** Maybe run an instrumentation function, unless it was already called. */\nexport function maybeInstrument(type: InstrumentHandlerType, instrumentFn: () => void): void {\n if (!instrumented[type]) {\n instrumented[type] = true;\n try {\n instrumentFn();\n } catch (e) {\n DEBUG_BUILD && logger.error(`Error while instrumenting ${type}`, e);\n }\n }\n}\n\n/** Trigger handlers for a given instrumentation type. */\nexport function triggerHandlers(type: InstrumentHandlerType, data: unknown): void {\n const typeHandlers = type && handlers[type];\n if (!typeHandlers) {\n return;\n }\n\n for (const handler of typeHandlers) {\n try {\n handler(data);\n } catch (e) {\n DEBUG_BUILD &&\n logger.error(\n `Error while triggering instrumentation handler.\\nType: ${type}\\nName: ${getFunctionName(handler)}\\nError:`,\n e,\n );\n }\n }\n}\n", "import type { HandlerDataError } from '@sentry/types';\n\nimport { GLOBAL_OBJ } from '../worldwide';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers';\n\nlet _oldOnErrorHandler: (typeof GLOBAL_OBJ)['onerror'] | null = null;\n\n/**\n * Add an instrumentation handler for when an error is captured by the global error handler.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addGlobalErrorInstrumentationHandler(handler: (data: HandlerDataError) => void): void {\n const type = 'error';\n addHandler(type, handler);\n maybeInstrument(type, instrumentError);\n}\n\nfunction instrumentError(): void {\n _oldOnErrorHandler = GLOBAL_OBJ.onerror;\n\n GLOBAL_OBJ.onerror = function (\n msg: string | object,\n url?: string,\n line?: number,\n column?: number,\n error?: Error,\n ): boolean {\n const handlerData: HandlerDataError = {\n column,\n error,\n line,\n msg,\n url,\n };\n triggerHandlers('error', handlerData);\n\n if (_oldOnErrorHandler && !_oldOnErrorHandler.__SENTRY_LOADER__) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnErrorHandler.apply(this, arguments);\n }\n\n return false;\n };\n\n GLOBAL_OBJ.onerror.__SENTRY_INSTRUMENTED__ = true;\n}\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport type { HandlerDataUnhandledRejection } from '@sentry/types';\n\nimport { GLOBAL_OBJ } from '../worldwide';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers';\n\nlet _oldOnUnhandledRejectionHandler: (typeof GLOBAL_OBJ)['onunhandledrejection'] | null = null;\n\n/**\n * Add an instrumentation handler for when an unhandled promise rejection is captured.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addGlobalUnhandledRejectionInstrumentationHandler(\n handler: (data: HandlerDataUnhandledRejection) => void,\n): void {\n const type = 'unhandledrejection';\n addHandler(type, handler);\n maybeInstrument(type, instrumentUnhandledRejection);\n}\n\nfunction instrumentUnhandledRejection(): void {\n _oldOnUnhandledRejectionHandler = GLOBAL_OBJ.onunhandledrejection;\n\n GLOBAL_OBJ.onunhandledrejection = function (e: any): boolean {\n const handlerData: HandlerDataUnhandledRejection = e;\n triggerHandlers('unhandledrejection', handlerData);\n\n if (_oldOnUnhandledRejectionHandler && !_oldOnUnhandledRejectionHandler.__SENTRY_LOADER__) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnUnhandledRejectionHandler.apply(this, arguments);\n }\n\n return true;\n };\n\n GLOBAL_OBJ.onunhandledrejection.__SENTRY_INSTRUMENTED__ = true;\n}\n", "import type { Client, Integration, MetricsAggregator, Scope } from '@sentry/types';\nimport type { AsyncContextStack } from './asyncContext/stackStrategy';\nimport type { AsyncContextStrategy } from './asyncContext/types';\nimport { SDK_VERSION } from './utils-hoist/version';\nimport { GLOBAL_OBJ } from './utils-hoist/worldwide';\n\n/**\n * An object that contains globally accessible properties and maintains a scope stack.\n * @hidden\n */\nexport interface Carrier {\n __SENTRY__?: VersionedCarrier;\n}\n\ntype VersionedCarrier = {\n version?: string;\n} & Record, SentryCarrier>;\n\ninterface SentryCarrier {\n acs?: AsyncContextStrategy;\n stack?: AsyncContextStack;\n\n globalScope?: Scope;\n defaultIsolationScope?: Scope;\n defaultCurrentScope?: Scope;\n globalMetricsAggregators?: WeakMap | undefined;\n\n // TODO(v9): Remove these properties - they are no longer used and were left over in v8\n integrations?: Integration[];\n extensions?: {\n // eslint-disable-next-line @typescript-eslint/ban-types\n [key: string]: Function;\n };\n}\n\n/**\n * Returns the global shim registry.\n *\n * FIXME: This function is problematic, because despite always returning a valid Carrier,\n * it has an optional `__SENTRY__` property, which then in turn requires us to always perform an unnecessary check\n * at the call-site. We always access the carrier through this function, so we can guarantee that `__SENTRY__` is there.\n **/\nexport function getMainCarrier(): Carrier {\n // This ensures a Sentry carrier exists\n getSentryCarrier(GLOBAL_OBJ);\n return GLOBAL_OBJ;\n}\n\n/** Will either get the existing sentry carrier, or create a new one. */\nexport function getSentryCarrier(carrier: Carrier): SentryCarrier {\n const __SENTRY__ = (carrier.__SENTRY__ = carrier.__SENTRY__ || {});\n\n // For now: First SDK that sets the .version property wins\n __SENTRY__.version = __SENTRY__.version || SDK_VERSION;\n\n // Intentionally populating and returning the version of \"this\" SDK instance\n // rather than what's set in .version so that \"this\" SDK always gets its carrier\n return (__SENTRY__[SDK_VERSION] = __SENTRY__[SDK_VERSION] || {});\n}\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport type { ParameterizedString, PolymorphicEvent, Primitive } from '@sentry/types';\n\n// eslint-disable-next-line @typescript-eslint/unbound-method\nconst objectToString = Object.prototype.toString;\n\n/**\n * Checks whether given value's type is one of a few Error or Error-like\n * {@link isError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isError(wat: unknown): wat is Error {\n switch (objectToString.call(wat)) {\n case '[object Error]':\n case '[object Exception]':\n case '[object DOMException]':\n case '[object WebAssembly.Exception]':\n return true;\n default:\n return isInstanceOf(wat, Error);\n }\n}\n/**\n * Checks whether given value is an instance of the given built-in class.\n *\n * @param wat The value to be checked\n * @param className\n * @returns A boolean representing the result.\n */\nfunction isBuiltin(wat: unknown, className: string): boolean {\n return objectToString.call(wat) === `[object ${className}]`;\n}\n\n/**\n * Checks whether given value's type is ErrorEvent\n * {@link isErrorEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isErrorEvent(wat: unknown): boolean {\n return isBuiltin(wat, 'ErrorEvent');\n}\n\n/**\n * Checks whether given value's type is DOMError\n * {@link isDOMError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMError(wat: unknown): boolean {\n return isBuiltin(wat, 'DOMError');\n}\n\n/**\n * Checks whether given value's type is DOMException\n * {@link isDOMException}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMException(wat: unknown): boolean {\n return isBuiltin(wat, 'DOMException');\n}\n\n/**\n * Checks whether given value's type is a string\n * {@link isString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isString(wat: unknown): wat is string {\n return isBuiltin(wat, 'String');\n}\n\n/**\n * Checks whether given string is parameterized\n * {@link isParameterizedString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isParameterizedString(wat: unknown): wat is ParameterizedString {\n return (\n typeof wat === 'object' &&\n wat !== null &&\n '__sentry_template_string__' in wat &&\n '__sentry_template_values__' in wat\n );\n}\n\n/**\n * Checks whether given value is a primitive (undefined, null, number, boolean, string, bigint, symbol)\n * {@link isPrimitive}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPrimitive(wat: unknown): wat is Primitive {\n return wat === null || isParameterizedString(wat) || (typeof wat !== 'object' && typeof wat !== 'function');\n}\n\n/**\n * Checks whether given value's type is an object literal, or a class instance.\n * {@link isPlainObject}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPlainObject(wat: unknown): wat is Record {\n return isBuiltin(wat, 'Object');\n}\n\n/**\n * Checks whether given value's type is an Event instance\n * {@link isEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isEvent(wat: unknown): wat is PolymorphicEvent {\n return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\n\n/**\n * Checks whether given value's type is an Element instance\n * {@link isElement}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isElement(wat: unknown): boolean {\n return typeof Element !== 'undefined' && isInstanceOf(wat, Element);\n}\n\n/**\n * Checks whether given value's type is an regexp\n * {@link isRegExp}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isRegExp(wat: unknown): wat is RegExp {\n return isBuiltin(wat, 'RegExp');\n}\n\n/**\n * Checks whether given value has a then function.\n * @param wat A value to be checked.\n */\nexport function isThenable(wat: any): wat is PromiseLike {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return Boolean(wat && wat.then && typeof wat.then === 'function');\n}\n\n/**\n * Checks whether given value's type is a SyntheticEvent\n * {@link isSyntheticEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isSyntheticEvent(wat: unknown): boolean {\n return isPlainObject(wat) && 'nativeEvent' in wat && 'preventDefault' in wat && 'stopPropagation' in wat;\n}\n\n/**\n * Checks whether given value's type is an instance of provided constructor.\n * {@link isInstanceOf}.\n *\n * @param wat A value to be checked.\n * @param base A constructor to be used in a check.\n * @returns A boolean representing the result.\n */\nexport function isInstanceOf(wat: any, base: any): boolean {\n try {\n return wat instanceof base;\n } catch (_e) {\n return false;\n }\n}\n\ninterface VueViewModel {\n // Vue3\n __isVue?: boolean;\n // Vue2\n _isVue?: boolean;\n}\n/**\n * Checks whether given value's type is a Vue ViewModel.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isVueViewModel(wat: unknown): boolean {\n // Not using Object.prototype.toString because in Vue 3 it would read the instance's Symbol(Symbol.toStringTag) property.\n return !!(typeof wat === 'object' && wat !== null && ((wat as VueViewModel).__isVue || (wat as VueViewModel)._isVue));\n}\n", "import { isString } from './is';\nimport { GLOBAL_OBJ } from './worldwide';\n\nconst WINDOW = GLOBAL_OBJ as unknown as Window;\n\nconst DEFAULT_MAX_STRING_LENGTH = 80;\n\ntype SimpleNode = {\n parentNode: SimpleNode;\n} | null;\n\n/**\n * Given a child DOM element, returns a query-selector statement describing that\n * and its ancestors\n * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nexport function htmlTreeAsString(\n elem: unknown,\n options: string[] | { keyAttrs?: string[]; maxStringLength?: number } = {},\n): string {\n if (!elem) {\n return '';\n }\n\n // try/catch both:\n // - accessing event.target (see getsentry/raven-js#838, #768)\n // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly\n // - can throw an exception in some circumstances.\n try {\n let currentElem = elem as SimpleNode;\n const MAX_TRAVERSE_HEIGHT = 5;\n const out = [];\n let height = 0;\n let len = 0;\n const separator = ' > ';\n const sepLength = separator.length;\n let nextStr;\n const keyAttrs = Array.isArray(options) ? options : options.keyAttrs;\n const maxStringLength = (!Array.isArray(options) && options.maxStringLength) || DEFAULT_MAX_STRING_LENGTH;\n\n while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = _htmlElementAsString(currentElem, keyAttrs);\n // bail out if\n // - nextStr is the 'html' element\n // - the length of the string that would be created exceeds maxStringLength\n // (ignore this limit if we are on the first iteration)\n if (nextStr === 'html' || (height > 1 && len + out.length * sepLength + nextStr.length >= maxStringLength)) {\n break;\n }\n\n out.push(nextStr);\n\n len += nextStr.length;\n currentElem = currentElem.parentNode;\n }\n\n return out.reverse().join(separator);\n } catch (_oO) {\n return '';\n }\n}\n\n/**\n * Returns a simple, query-selector representation of a DOM element\n * e.g. [HTMLElement] => input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction _htmlElementAsString(el: unknown, keyAttrs?: string[]): string {\n const elem = el as {\n tagName?: string;\n id?: string;\n className?: string;\n getAttribute(key: string): string;\n };\n\n const out = [];\n\n if (!elem || !elem.tagName) {\n return '';\n }\n\n // @ts-expect-error WINDOW has HTMLElement\n if (WINDOW.HTMLElement) {\n // If using the component name annotation plugin, this value may be available on the DOM node\n if (elem instanceof HTMLElement && elem.dataset) {\n if (elem.dataset['sentryComponent']) {\n return elem.dataset['sentryComponent'];\n }\n if (elem.dataset['sentryElement']) {\n return elem.dataset['sentryElement'];\n }\n }\n }\n\n out.push(elem.tagName.toLowerCase());\n\n // Pairs of attribute keys defined in `serializeAttribute` and their values on element.\n const keyAttrPairs =\n keyAttrs && keyAttrs.length\n ? keyAttrs.filter(keyAttr => elem.getAttribute(keyAttr)).map(keyAttr => [keyAttr, elem.getAttribute(keyAttr)])\n : null;\n\n if (keyAttrPairs && keyAttrPairs.length) {\n keyAttrPairs.forEach(keyAttrPair => {\n out.push(`[${keyAttrPair[0]}=\"${keyAttrPair[1]}\"]`);\n });\n } else {\n if (elem.id) {\n out.push(`#${elem.id}`);\n }\n\n const className = elem.className;\n if (className && isString(className)) {\n const classes = className.split(/\\s+/);\n for (const c of classes) {\n out.push(`.${c}`);\n }\n }\n }\n const allowedAttrs = ['aria-label', 'type', 'name', 'title', 'alt'];\n for (const k of allowedAttrs) {\n const attr = elem.getAttribute(k);\n if (attr) {\n out.push(`[${k}=\"${attr}\"]`);\n }\n }\n\n return out.join('');\n}\n\n/**\n * A safe form of location.href\n */\nexport function getLocationHref(): string {\n try {\n return WINDOW.document.location.href;\n } catch (oO) {\n return '';\n }\n}\n\n/**\n * Gets a DOM element by using document.querySelector.\n *\n * This wrapper will first check for the existence of the function before\n * actually calling it so that we don't have to take care of this check,\n * every time we want to access the DOM.\n *\n * Reason: DOM/querySelector is not available in all environments.\n *\n * We have to cast to any because utils can be consumed by a variety of environments,\n * and we don't want to break TS users. If you know what element will be selected by\n * `document.querySelector`, specify it as part of the generic call. For example,\n * `const element = getDomElement('selector');`\n *\n * @param selector the selector string passed on to document.querySelector\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getDomElement(selector: string): E | null {\n if (WINDOW.document && WINDOW.document.querySelector) {\n return WINDOW.document.querySelector(selector) as unknown as E;\n }\n return null;\n}\n\n/**\n * Given a DOM element, traverses up the tree until it finds the first ancestor node\n * that has the `data-sentry-component` or `data-sentry-element` attribute with `data-sentry-component` taking\n * precedence. This attribute is added at build-time by projects that have the component name annotation plugin installed.\n *\n * @returns a string representation of the component for the provided DOM element, or `null` if not found\n */\nexport function getComponentName(elem: unknown): string | null {\n // @ts-expect-error WINDOW has HTMLElement\n if (!WINDOW.HTMLElement) {\n return null;\n }\n\n let currentElem = elem as SimpleNode;\n const MAX_TRAVERSE_HEIGHT = 5;\n for (let i = 0; i < MAX_TRAVERSE_HEIGHT; i++) {\n if (!currentElem) {\n return null;\n }\n\n if (currentElem instanceof HTMLElement) {\n if (currentElem.dataset['sentryComponent']) {\n return currentElem.dataset['sentryComponent'];\n }\n if (currentElem.dataset['sentryElement']) {\n return currentElem.dataset['sentryElement'];\n }\n }\n\n currentElem = currentElem.parentNode;\n }\n\n return null;\n}\n", "import { isRegExp, isString, isVueViewModel } from './is';\n\nexport { escapeStringForRegex } from './vendor/escapeStringForRegex';\n\n/**\n * Truncates given string to the maximum characters count\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string (0 = unlimited)\n * @returns string Encoded\n */\nexport function truncate(str: string, max: number = 0): string {\n if (typeof str !== 'string' || max === 0) {\n return str;\n }\n return str.length <= max ? str : `${str.slice(0, max)}...`;\n}\n\n/**\n * This is basically just `trim_line` from\n * https://github.com/getsentry/sentry/blob/master/src/sentry/lang/javascript/processor.py#L67\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nexport function snipLine(line: string, colno: number): string {\n let newLine = line;\n const lineLength = newLine.length;\n if (lineLength <= 150) {\n return newLine;\n }\n if (colno > lineLength) {\n // eslint-disable-next-line no-param-reassign\n colno = lineLength;\n }\n\n let start = Math.max(colno - 60, 0);\n if (start < 5) {\n start = 0;\n }\n\n let end = Math.min(start + 140, lineLength);\n if (end > lineLength - 5) {\n end = lineLength;\n }\n if (end === lineLength) {\n start = Math.max(end - 140, 0);\n }\n\n newLine = newLine.slice(start, end);\n if (start > 0) {\n newLine = `'{snip} ${newLine}`;\n }\n if (end < lineLength) {\n newLine += ' {snip}';\n }\n\n return newLine;\n}\n\n/**\n * Join values in array\n * @param input array of values to be joined together\n * @param delimiter string to be placed in-between values\n * @returns Joined values\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function safeJoin(input: any[], delimiter?: string): string {\n if (!Array.isArray(input)) {\n return '';\n }\n\n const output = [];\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < input.length; i++) {\n const value = input[i];\n try {\n // This is a hack to fix a Vue3-specific bug that causes an infinite loop of\n // console warnings. This happens when a Vue template is rendered with\n // an undeclared variable, which we try to stringify, ultimately causing\n // Vue to issue another warning which repeats indefinitely.\n // see: https://github.com/getsentry/sentry-javascript/pull/8981\n if (isVueViewModel(value)) {\n output.push('[VueViewModel]');\n } else {\n output.push(String(value));\n }\n } catch (e) {\n output.push('[value cannot be serialized]');\n }\n }\n\n return output.join(delimiter);\n}\n\n/**\n * Checks if the given value matches a regex or string\n *\n * @param value The string to test\n * @param pattern Either a regex or a string against which `value` will be matched\n * @param requireExactStringMatch If true, `value` must match `pattern` exactly. If false, `value` will match\n * `pattern` if it contains `pattern`. Only applies to string-type patterns.\n */\nexport function isMatchingPattern(\n value: string,\n pattern: RegExp | string,\n requireExactStringMatch: boolean = false,\n): boolean {\n if (!isString(value)) {\n return false;\n }\n\n if (isRegExp(pattern)) {\n return pattern.test(value);\n }\n if (isString(pattern)) {\n return requireExactStringMatch ? value === pattern : value.includes(pattern);\n }\n\n return false;\n}\n\n/**\n * Test the given string against an array of strings and regexes. By default, string matching is done on a\n * substring-inclusion basis rather than a strict equality basis\n *\n * @param testString The string to test\n * @param patterns The patterns against which to test the string\n * @param requireExactStringMatch If true, `testString` must match one of the given string patterns exactly in order to\n * count. If false, `testString` will match a string pattern if it contains that pattern.\n * @returns\n */\nexport function stringMatchesSomePattern(\n testString: string,\n patterns: Array = [],\n requireExactStringMatch: boolean = false,\n): boolean {\n return patterns.some(pattern => isMatchingPattern(testString, pattern, requireExactStringMatch));\n}\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { WrappedFunction } from '@sentry/types';\n\nimport { htmlTreeAsString } from './browser';\nimport { DEBUG_BUILD } from './debug-build';\nimport { isElement, isError, isEvent, isInstanceOf, isPlainObject, isPrimitive } from './is';\nimport { logger } from './logger';\nimport { truncate } from './string';\n\n/**\n * Replace a method in an object with a wrapped version of itself.\n *\n * @param source An object that contains a method to be wrapped.\n * @param name The name of the method to be wrapped.\n * @param replacementFactory A higher-order function that takes the original version of the given method and returns a\n * wrapped version. Note: The function returned by `replacementFactory` needs to be a non-arrow function, in order to\n * preserve the correct value of `this`, and the original method must be called using `origMethod.call(this, )` or `origMethod.apply(this, [])` (rather than being called directly), again to preserve `this`.\n * @returns void\n */\nexport function fill(source: { [key: string]: any }, name: string, replacementFactory: (...args: any[]) => any): void {\n if (!(name in source)) {\n return;\n }\n\n const original = source[name] as () => any;\n const wrapped = replacementFactory(original) as WrappedFunction;\n\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n if (typeof wrapped === 'function') {\n markFunctionWrapped(wrapped, original);\n }\n\n try {\n source[name] = wrapped;\n } catch {\n DEBUG_BUILD && logger.log(`Failed to replace method \"${name}\" in object`, source);\n }\n}\n\n/**\n * Defines a non-enumerable property on the given object.\n *\n * @param obj The object on which to set the property\n * @param name The name of the property to be set\n * @param value The value to which to set the property\n */\nexport function addNonEnumerableProperty(obj: object, name: string, value: unknown): void {\n try {\n Object.defineProperty(obj, name, {\n // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it\n value: value,\n writable: true,\n configurable: true,\n });\n } catch (o_O) {\n DEBUG_BUILD && logger.log(`Failed to add non-enumerable property \"${name}\" to object`, obj);\n }\n}\n\n/**\n * Remembers the original function on the wrapped function and\n * patches up the prototype.\n *\n * @param wrapped the wrapper function\n * @param original the original function that gets wrapped\n */\nexport function markFunctionWrapped(wrapped: WrappedFunction, original: WrappedFunction): void {\n try {\n const proto = original.prototype || {};\n wrapped.prototype = original.prototype = proto;\n addNonEnumerableProperty(wrapped, '__sentry_original__', original);\n } catch (o_O) {} // eslint-disable-line no-empty\n}\n\n/**\n * This extracts the original function if available. See\n * `markFunctionWrapped` for more information.\n *\n * @param func the function to unwrap\n * @returns the unwrapped version of the function if available.\n */\nexport function getOriginalFunction(func: WrappedFunction): WrappedFunction | undefined {\n return func.__sentry_original__;\n}\n\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n *\n * @deprecated This function is deprecated and will be removed in the next major version of the SDK.\n */\nexport function urlEncode(object: { [key: string]: any }): string {\n return Object.keys(object)\n .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(object[key])}`)\n .join('&');\n}\n\n/**\n * Transforms any `Error` or `Event` into a plain object with all of their enumerable properties, and some of their\n * non-enumerable properties attached.\n *\n * @param value Initial source that we have to transform in order for it to be usable by the serializer\n * @returns An Event or Error turned into an object - or the value argument itself, when value is neither an Event nor\n * an Error.\n */\nexport function convertToPlainObject(\n value: V,\n):\n | {\n [ownProps: string]: unknown;\n type: string;\n target: string;\n currentTarget: string;\n detail?: unknown;\n }\n | {\n [ownProps: string]: unknown;\n message: string;\n name: string;\n stack?: string;\n }\n | V {\n if (isError(value)) {\n return {\n message: value.message,\n name: value.name,\n stack: value.stack,\n ...getOwnProperties(value),\n };\n } else if (isEvent(value)) {\n const newObj: {\n [ownProps: string]: unknown;\n type: string;\n target: string;\n currentTarget: string;\n detail?: unknown;\n } = {\n type: value.type,\n target: serializeEventTarget(value.target),\n currentTarget: serializeEventTarget(value.currentTarget),\n ...getOwnProperties(value),\n };\n\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n newObj.detail = value.detail;\n }\n\n return newObj;\n } else {\n return value;\n }\n}\n\n/** Creates a string representation of the target of an `Event` object */\nfunction serializeEventTarget(target: unknown): string {\n try {\n return isElement(target) ? htmlTreeAsString(target) : Object.prototype.toString.call(target);\n } catch (_oO) {\n return '';\n }\n}\n\n/** Filters out all but an object's own properties */\nfunction getOwnProperties(obj: unknown): { [key: string]: unknown } {\n if (typeof obj === 'object' && obj !== null) {\n const extractedProps: { [key: string]: unknown } = {};\n for (const property in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, property)) {\n extractedProps[property] = (obj as Record)[property];\n }\n }\n return extractedProps;\n } else {\n return {};\n }\n}\n\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\nexport function extractExceptionKeysForMessage(exception: Record, maxLength: number = 40): string {\n const keys = Object.keys(convertToPlainObject(exception));\n keys.sort();\n\n const firstKey = keys[0];\n\n if (!firstKey) {\n return '[object has no keys]';\n }\n\n if (firstKey.length >= maxLength) {\n return truncate(firstKey, maxLength);\n }\n\n for (let includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n const serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n\n return '';\n}\n\n/**\n * Given any object, return a new object having removed all fields whose value was `undefined`.\n * Works recursively on objects and arrays.\n *\n * Attention: This function keeps circular references in the returned object.\n */\nexport function dropUndefinedKeys(inputValue: T): T {\n // This map keeps track of what already visited nodes map to.\n // Our Set - based memoBuilder doesn't work here because we want to the output object to have the same circular\n // references as the input object.\n const memoizationMap = new Map();\n\n // This function just proxies `_dropUndefinedKeys` to keep the `memoBuilder` out of this function's API\n return _dropUndefinedKeys(inputValue, memoizationMap);\n}\n\nfunction _dropUndefinedKeys(inputValue: T, memoizationMap: Map): T {\n if (isPojo(inputValue)) {\n // If this node has already been visited due to a circular reference, return the object it was mapped to in the new object\n const memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal as T;\n }\n\n const returnValue: { [key: string]: any } = {};\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n for (const key of Object.getOwnPropertyNames(inputValue)) {\n if (typeof inputValue[key] !== 'undefined') {\n returnValue[key] = _dropUndefinedKeys(inputValue[key], memoizationMap);\n }\n }\n\n return returnValue as T;\n }\n\n if (Array.isArray(inputValue)) {\n // If this node has already been visited due to a circular reference, return the array it was mapped to in the new object\n const memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal as T;\n }\n\n const returnValue: unknown[] = [];\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n inputValue.forEach((item: unknown) => {\n returnValue.push(_dropUndefinedKeys(item, memoizationMap));\n });\n\n return returnValue as unknown as T;\n }\n\n return inputValue;\n}\n\nfunction isPojo(input: unknown): input is Record {\n if (!isPlainObject(input)) {\n return false;\n }\n\n try {\n const name = (Object.getPrototypeOf(input) as { constructor: { name: string } }).constructor.name;\n return !name || name === 'Object';\n } catch {\n return true;\n }\n}\n\n/**\n * Ensure that something is an object.\n *\n * Turns `undefined` and `null` into `String`s and all other primitives into instances of their respective wrapper\n * classes (String, Boolean, Number, etc.). Acts as the identity function on non-primitives.\n *\n * @param wat The subject of the objectification\n * @returns A version of `wat` which can safely be used with `Object` class methods\n */\nexport function objectify(wat: unknown): typeof Object {\n let objectified;\n switch (true) {\n case wat === undefined || wat === null:\n objectified = new String(wat);\n break;\n\n // Though symbols and bigints do have wrapper classes (`Symbol` and `BigInt`, respectively), for whatever reason\n // those classes don't have constructors which can be used with the `new` keyword. We therefore need to cast each as\n // an object in order to wrap it.\n case typeof wat === 'symbol' || typeof wat === 'bigint':\n objectified = Object(wat);\n break;\n\n // this will catch the remaining primitives: `String`, `Number`, and `Boolean`\n case isPrimitive(wat):\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n objectified = new (wat as any).constructor(wat);\n break;\n\n // by process of elimination, at this point we know that `wat` must already be an object\n default:\n objectified = wat;\n break;\n }\n return objectified;\n}\n", "import { GLOBAL_OBJ } from './worldwide';\n\nconst ONE_SECOND_IN_MS = 1000;\n\n/**\n * A partial definition of the [Performance Web API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Performance}\n * for accessing a high-resolution monotonic clock.\n */\ninterface Performance {\n /**\n * The millisecond timestamp at which measurement began, measured in Unix time.\n */\n timeOrigin: number;\n /**\n * Returns the current millisecond timestamp, where 0 represents the start of measurement.\n */\n now(): number;\n}\n\n/**\n * Returns a timestamp in seconds since the UNIX epoch using the Date API.\n *\n * TODO(v8): Return type should be rounded.\n */\nexport function dateTimestampInSeconds(): number {\n return Date.now() / ONE_SECOND_IN_MS;\n}\n\n/**\n * Returns a wrapper around the native Performance API browser implementation, or undefined for browsers that do not\n * support the API.\n *\n * Wrapping the native API works around differences in behavior from different browsers.\n */\nfunction createUnixTimestampInSecondsFunc(): () => number {\n const { performance } = GLOBAL_OBJ as typeof GLOBAL_OBJ & { performance?: Performance };\n if (!performance || !performance.now) {\n return dateTimestampInSeconds;\n }\n\n // Some browser and environments don't have a timeOrigin, so we fallback to\n // using Date.now() to compute the starting time.\n const approxStartingTimeOrigin = Date.now() - performance.now();\n const timeOrigin = performance.timeOrigin == undefined ? approxStartingTimeOrigin : performance.timeOrigin;\n\n // performance.now() is a monotonic clock, which means it starts at 0 when the process begins. To get the current\n // wall clock time (actual UNIX timestamp), we need to add the starting time origin and the current time elapsed.\n //\n // TODO: This does not account for the case where the monotonic clock that powers performance.now() drifts from the\n // wall clock time, which causes the returned timestamp to be inaccurate. We should investigate how to detect and\n // correct for this.\n // See: https://github.com/getsentry/sentry-javascript/issues/2590\n // See: https://github.com/mdn/content/issues/4713\n // See: https://dev.to/noamr/when-a-millisecond-is-not-a-millisecond-3h6\n return () => {\n return (timeOrigin + performance.now()) / ONE_SECOND_IN_MS;\n };\n}\n\n/**\n * Returns a timestamp in seconds since the UNIX epoch using either the Performance or Date APIs, depending on the\n * availability of the Performance API.\n *\n * BUG: Note that because of how browsers implement the Performance API, the clock might stop when the computer is\n * asleep. This creates a skew between `dateTimestampInSeconds` and `timestampInSeconds`. The\n * skew can grow to arbitrary amounts like days, weeks or months.\n * See https://github.com/getsentry/sentry-javascript/issues/2590.\n */\nexport const timestampInSeconds = createUnixTimestampInSecondsFunc();\n\n/**\n * Internal helper to store what is the source of browserPerformanceTimeOrigin below. For debugging only.\n */\nexport let _browserPerformanceTimeOriginMode: string;\n\n/**\n * The number of milliseconds since the UNIX epoch. This value is only usable in a browser, and only when the\n * performance API is available.\n */\nexport const browserPerformanceTimeOrigin = ((): number | undefined => {\n // Unfortunately browsers may report an inaccurate time origin data, through either performance.timeOrigin or\n // performance.timing.navigationStart, which results in poor results in performance data. We only treat time origin\n // data as reliable if they are within a reasonable threshold of the current time.\n\n const { performance } = GLOBAL_OBJ as typeof GLOBAL_OBJ & Window;\n if (!performance || !performance.now) {\n _browserPerformanceTimeOriginMode = 'none';\n return undefined;\n }\n\n const threshold = 3600 * 1000;\n const performanceNow = performance.now();\n const dateNow = Date.now();\n\n // if timeOrigin isn't available set delta to threshold so it isn't used\n const timeOriginDelta = performance.timeOrigin\n ? Math.abs(performance.timeOrigin + performanceNow - dateNow)\n : threshold;\n const timeOriginIsReliable = timeOriginDelta < threshold;\n\n // While performance.timing.navigationStart is deprecated in favor of performance.timeOrigin, performance.timeOrigin\n // is not as widely supported. Namely, performance.timeOrigin is undefined in Safari as of writing.\n // Also as of writing, performance.timing is not available in Web Workers in mainstream browsers, so it is not always\n // a valid fallback. In the absence of an initial time provided by the browser, fallback to the current time from the\n // Date API.\n // eslint-disable-next-line deprecation/deprecation\n const navigationStart = performance.timing && performance.timing.navigationStart;\n const hasNavigationStart = typeof navigationStart === 'number';\n // if navigationStart isn't available set delta to threshold so it isn't used\n const navigationStartDelta = hasNavigationStart ? Math.abs(navigationStart + performanceNow - dateNow) : threshold;\n const navigationStartIsReliable = navigationStartDelta < threshold;\n\n if (timeOriginIsReliable || navigationStartIsReliable) {\n // Use the more reliable time origin\n if (timeOriginDelta <= navigationStartDelta) {\n _browserPerformanceTimeOriginMode = 'timeOrigin';\n return performance.timeOrigin;\n } else {\n _browserPerformanceTimeOriginMode = 'navigationStart';\n return navigationStart;\n }\n }\n\n // Either both timeOrigin and navigationStart are skewed or neither is available, fallback to Date.\n _browserPerformanceTimeOriginMode = 'dateNow';\n return dateNow;\n})();\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { Event, Exception, Mechanism, StackFrame } from '@sentry/types';\n\nimport { addNonEnumerableProperty } from './object';\nimport { snipLine } from './string';\nimport { GLOBAL_OBJ } from './worldwide';\n\ninterface CryptoInternal {\n getRandomValues(array: Uint8Array): Uint8Array;\n randomUUID?(): string;\n}\n\n/** An interface for common properties on global */\ninterface CryptoGlobal {\n msCrypto?: CryptoInternal;\n crypto?: CryptoInternal;\n}\n\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\nexport function uuid4(): string {\n const gbl = GLOBAL_OBJ as typeof GLOBAL_OBJ & CryptoGlobal;\n const crypto = gbl.crypto || gbl.msCrypto;\n\n let getRandomByte = (): number => Math.random() * 16;\n try {\n if (crypto && crypto.randomUUID) {\n return crypto.randomUUID().replace(/-/g, '');\n }\n if (crypto && crypto.getRandomValues) {\n getRandomByte = () => {\n // crypto.getRandomValues might return undefined instead of the typed array\n // in old Chromium versions (e.g. 23.0.1235.0 (151422))\n // However, `typedArray` is still filled in-place.\n // @see https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues#typedarray\n const typedArray = new Uint8Array(1);\n crypto.getRandomValues(typedArray);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return typedArray[0]!;\n };\n }\n } catch (_) {\n // some runtimes can crash invoking crypto\n // https://github.com/getsentry/sentry-javascript/issues/8935\n }\n\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n // Concatenating the following numbers as strings results in '10000000100040008000100000000000'\n return (([1e7] as unknown as string) + 1e3 + 4e3 + 8e3 + 1e11).replace(/[018]/g, c =>\n // eslint-disable-next-line no-bitwise\n ((c as unknown as number) ^ ((getRandomByte() & 15) >> ((c as unknown as number) / 4))).toString(16),\n );\n}\n\nfunction getFirstException(event: Event): Exception | undefined {\n return event.exception && event.exception.values ? event.exception.values[0] : undefined;\n}\n\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\nexport function getEventDescription(event: Event): string {\n const { message, event_id: eventId } = event;\n if (message) {\n return message;\n }\n\n const firstException = getFirstException(event);\n if (firstException) {\n if (firstException.type && firstException.value) {\n return `${firstException.type}: ${firstException.value}`;\n }\n return firstException.type || firstException.value || eventId || '';\n }\n return eventId || '';\n}\n\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\nexport function addExceptionTypeValue(event: Event, value?: string, type?: string): void {\n const exception = (event.exception = event.exception || {});\n const values = (exception.values = exception.values || []);\n const firstException = (values[0] = values[0] || {});\n if (!firstException.value) {\n firstException.value = value || '';\n }\n if (!firstException.type) {\n firstException.type = type || 'Error';\n }\n}\n\n/**\n * Adds exception mechanism data to a given event. Uses defaults if the second parameter is not passed.\n *\n * @param event The event to modify.\n * @param newMechanism Mechanism data to add to the event.\n * @hidden\n */\nexport function addExceptionMechanism(event: Event, newMechanism?: Partial): void {\n const firstException = getFirstException(event);\n if (!firstException) {\n return;\n }\n\n const defaultMechanism = { type: 'generic', handled: true };\n const currentMechanism = firstException.mechanism;\n firstException.mechanism = { ...defaultMechanism, ...currentMechanism, ...newMechanism };\n\n if (newMechanism && 'data' in newMechanism) {\n const mergedData = { ...(currentMechanism && currentMechanism.data), ...newMechanism.data };\n firstException.mechanism.data = mergedData;\n }\n}\n\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nconst SEMVER_REGEXP =\n /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n\n/**\n * Represents Semantic Versioning object\n */\ninterface SemVer {\n major?: number;\n minor?: number;\n patch?: number;\n prerelease?: string;\n buildmetadata?: string;\n}\n\nfunction _parseInt(input: string | undefined): number {\n return parseInt(input || '', 10);\n}\n\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\nexport function parseSemver(input: string): SemVer {\n const match = input.match(SEMVER_REGEXP) || [];\n const major = _parseInt(match[1]);\n const minor = _parseInt(match[2]);\n const patch = _parseInt(match[3]);\n return {\n buildmetadata: match[5],\n major: isNaN(major) ? undefined : major,\n minor: isNaN(minor) ? undefined : minor,\n patch: isNaN(patch) ? undefined : patch,\n prerelease: match[4],\n };\n}\n\n/**\n * This function adds context (pre/post/line) lines to the provided frame\n *\n * @param lines string[] containing all lines\n * @param frame StackFrame that will be mutated\n * @param linesOfContext number of context lines we want to add pre/post\n */\nexport function addContextToFrame(lines: string[], frame: StackFrame, linesOfContext: number = 5): void {\n // When there is no line number in the frame, attaching context is nonsensical and will even break grouping\n if (frame.lineno === undefined) {\n return;\n }\n\n const maxLines = lines.length;\n const sourceLine = Math.max(Math.min(maxLines - 1, frame.lineno - 1), 0);\n\n frame.pre_context = lines\n .slice(Math.max(0, sourceLine - linesOfContext), sourceLine)\n .map((line: string) => snipLine(line, 0));\n\n // We guard here to ensure this is not larger than the existing number of lines\n const lineIndex = Math.min(maxLines - 1, sourceLine);\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n frame.context_line = snipLine(lines[lineIndex]!, frame.colno || 0);\n\n frame.post_context = lines\n .slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext)\n .map((line: string) => snipLine(line, 0));\n}\n\n/**\n * Checks whether or not we've already captured the given exception (note: not an identical exception - the very object\n * in question), and marks it captured if not.\n *\n * This is useful because it's possible for an error to get captured by more than one mechanism. After we intercept and\n * record an error, we rethrow it (assuming we've intercepted it before it's reached the top-level global handlers), so\n * that we don't interfere with whatever effects the error might have had were the SDK not there. At that point, because\n * the error has been rethrown, it's possible for it to bubble up to some other code we've instrumented. If it's not\n * caught after that, it will bubble all the way up to the global handlers (which of course we also instrument). This\n * function helps us ensure that even if we encounter the same error more than once, we only record it the first time we\n * see it.\n *\n * Note: It will ignore primitives (always return `false` and not mark them as seen), as properties can't be set on\n * them. {@link: Object.objectify} can be used on exceptions to convert any that are primitives into their equivalent\n * object wrapper forms so that this check will always work. However, because we need to flag the exact object which\n * will get rethrown, and because that rethrowing happens outside of the event processing pipeline, the objectification\n * must be done before the exception captured.\n *\n * @param A thrown exception to check or flag as having been seen\n * @returns `true` if the exception has already been captured, `false` if not (with the side effect of marking it seen)\n */\nexport function checkOrSetAlreadyCaught(exception: unknown): boolean {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (exception && (exception as any).__sentry_captured__) {\n return true;\n }\n\n try {\n // set it this way rather than by assignment so that it's not ennumerable and therefore isn't recorded by the\n // `ExtraErrorData` integration\n addNonEnumerableProperty(exception as { [key: string]: unknown }, '__sentry_captured__', true);\n } catch (err) {\n // `exception` is a primitive, so we can't mark it seen\n }\n\n return false;\n}\n\n/**\n * Checks whether the given input is already an array, and if it isn't, wraps it in one.\n *\n * @param maybeArray Input to turn into an array, if necessary\n * @returns The input, if already an array, or an array with the input as the only element, if not\n *\n * @deprecated This function has been deprecated and will not be replaced.\n */\nexport function arrayify(maybeArray: T | T[]): T[] {\n return Array.isArray(maybeArray) ? maybeArray : [maybeArray];\n}\n", "/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { isThenable } from './is';\n\n/** SyncPromise internal states */\nconst enum States {\n /** Pending */\n PENDING = 0,\n /** Resolved / OK */\n RESOLVED = 1,\n /** Rejected / Error */\n REJECTED = 2,\n}\n\n// Overloads so we can call resolvedSyncPromise without arguments and generic argument\nexport function resolvedSyncPromise(): PromiseLike;\nexport function resolvedSyncPromise(value: T | PromiseLike): PromiseLike;\n\n/**\n * Creates a resolved sync promise.\n *\n * @param value the value to resolve the promise with\n * @returns the resolved sync promise\n */\nexport function resolvedSyncPromise(value?: T | PromiseLike): PromiseLike {\n return new SyncPromise(resolve => {\n resolve(value);\n });\n}\n\n/**\n * Creates a rejected sync promise.\n *\n * @param value the value to reject the promise with\n * @returns the rejected sync promise\n */\nexport function rejectedSyncPromise(reason?: any): PromiseLike {\n return new SyncPromise((_, reject) => {\n reject(reason);\n });\n}\n\n/**\n * Thenable class that behaves like a Promise and follows it's interface\n * but is not async internally\n */\nclass SyncPromise implements PromiseLike {\n private _state: States;\n private _handlers: Array<[boolean, (value: T) => void, (reason: any) => any]>;\n private _value: any;\n\n public constructor(\n executor: (resolve: (value?: T | PromiseLike | null) => void, reject: (reason?: any) => void) => void,\n ) {\n this._state = States.PENDING;\n this._handlers = [];\n\n try {\n executor(this._resolve, this._reject);\n } catch (e) {\n this._reject(e);\n }\n }\n\n /** JSDoc */\n public then(\n onfulfilled?: ((value: T) => TResult1 | PromiseLike) | null,\n onrejected?: ((reason: any) => TResult2 | PromiseLike) | null,\n ): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n this._handlers.push([\n false,\n result => {\n if (!onfulfilled) {\n // TODO: ¯\\_(ツ)_/¯\n // TODO: FIXME\n resolve(result as any);\n } else {\n try {\n resolve(onfulfilled(result));\n } catch (e) {\n reject(e);\n }\n }\n },\n reason => {\n if (!onrejected) {\n reject(reason);\n } else {\n try {\n resolve(onrejected(reason));\n } catch (e) {\n reject(e);\n }\n }\n },\n ]);\n this._executeHandlers();\n });\n }\n\n /** JSDoc */\n public catch(\n onrejected?: ((reason: any) => TResult | PromiseLike) | null,\n ): PromiseLike {\n return this.then(val => val, onrejected);\n }\n\n /** JSDoc */\n public finally(onfinally?: (() => void) | null): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n let val: TResult | any;\n let isRejected: boolean;\n\n return this.then(\n value => {\n isRejected = false;\n val = value;\n if (onfinally) {\n onfinally();\n }\n },\n reason => {\n isRejected = true;\n val = reason;\n if (onfinally) {\n onfinally();\n }\n },\n ).then(() => {\n if (isRejected) {\n reject(val);\n return;\n }\n\n resolve(val as unknown as any);\n });\n });\n }\n\n /** JSDoc */\n private readonly _resolve = (value?: T | PromiseLike | null) => {\n this._setResult(States.RESOLVED, value);\n };\n\n /** JSDoc */\n private readonly _reject = (reason?: any) => {\n this._setResult(States.REJECTED, reason);\n };\n\n /** JSDoc */\n private readonly _setResult = (state: States, value?: T | PromiseLike | any) => {\n if (this._state !== States.PENDING) {\n return;\n }\n\n if (isThenable(value)) {\n void (value as PromiseLike).then(this._resolve, this._reject);\n return;\n }\n\n this._state = state;\n this._value = value;\n\n this._executeHandlers();\n };\n\n /** JSDoc */\n private readonly _executeHandlers = () => {\n if (this._state === States.PENDING) {\n return;\n }\n\n const cachedHandlers = this._handlers.slice();\n this._handlers = [];\n\n cachedHandlers.forEach(handler => {\n if (handler[0]) {\n return;\n }\n\n if (this._state === States.RESOLVED) {\n handler[1](this._value as unknown as any);\n }\n\n if (this._state === States.REJECTED) {\n handler[2](this._value);\n }\n\n handler[0] = true;\n });\n };\n}\n\nexport { SyncPromise };\n", "import type { SerializedSession, Session, SessionContext, SessionStatus } from '@sentry/types';\nimport { dropUndefinedKeys, timestampInSeconds, uuid4 } from './utils-hoist';\n\n/**\n * Creates a new `Session` object by setting certain default parameters. If optional @param context\n * is passed, the passed properties are applied to the session object.\n *\n * @param context (optional) additional properties to be applied to the returned session object\n *\n * @returns a new `Session` object\n */\nexport function makeSession(context?: Omit): Session {\n // Both timestamp and started are in seconds since the UNIX epoch.\n const startingTime = timestampInSeconds();\n\n const session: Session = {\n sid: uuid4(),\n init: true,\n timestamp: startingTime,\n started: startingTime,\n duration: 0,\n status: 'ok',\n errors: 0,\n ignoreDuration: false,\n toJSON: () => sessionToJSON(session),\n };\n\n if (context) {\n updateSession(session, context);\n }\n\n return session;\n}\n\n/**\n * Updates a session object with the properties passed in the context.\n *\n * Note that this function mutates the passed object and returns void.\n * (Had to do this instead of returning a new and updated session because closing and sending a session\n * makes an update to the session after it was passed to the sending logic.\n * @see BaseClient.captureSession )\n *\n * @param session the `Session` to update\n * @param context the `SessionContext` holding the properties that should be updated in @param session\n */\n// eslint-disable-next-line complexity\nexport function updateSession(session: Session, context: SessionContext = {}): void {\n if (context.user) {\n if (!session.ipAddress && context.user.ip_address) {\n session.ipAddress = context.user.ip_address;\n }\n\n if (!session.did && !context.did) {\n session.did = context.user.id || context.user.email || context.user.username;\n }\n }\n\n session.timestamp = context.timestamp || timestampInSeconds();\n\n if (context.abnormal_mechanism) {\n session.abnormal_mechanism = context.abnormal_mechanism;\n }\n\n if (context.ignoreDuration) {\n session.ignoreDuration = context.ignoreDuration;\n }\n if (context.sid) {\n // Good enough uuid validation. — Kamil\n session.sid = context.sid.length === 32 ? context.sid : uuid4();\n }\n if (context.init !== undefined) {\n session.init = context.init;\n }\n if (!session.did && context.did) {\n session.did = `${context.did}`;\n }\n if (typeof context.started === 'number') {\n session.started = context.started;\n }\n if (session.ignoreDuration) {\n session.duration = undefined;\n } else if (typeof context.duration === 'number') {\n session.duration = context.duration;\n } else {\n const duration = session.timestamp - session.started;\n session.duration = duration >= 0 ? duration : 0;\n }\n if (context.release) {\n session.release = context.release;\n }\n if (context.environment) {\n session.environment = context.environment;\n }\n if (!session.ipAddress && context.ipAddress) {\n session.ipAddress = context.ipAddress;\n }\n if (!session.userAgent && context.userAgent) {\n session.userAgent = context.userAgent;\n }\n if (typeof context.errors === 'number') {\n session.errors = context.errors;\n }\n if (context.status) {\n session.status = context.status;\n }\n}\n\n/**\n * Closes a session by setting its status and updating the session object with it.\n * Internally calls `updateSession` to update the passed session object.\n *\n * Note that this function mutates the passed session (@see updateSession for explanation).\n *\n * @param session the `Session` object to be closed\n * @param status the `SessionStatus` with which the session was closed. If you don't pass a status,\n * this function will keep the previously set status, unless it was `'ok'` in which case\n * it is changed to `'exited'`.\n */\nexport function closeSession(session: Session, status?: Exclude): void {\n let context = {};\n if (status) {\n context = { status };\n } else if (session.status === 'ok') {\n context = { status: 'exited' };\n }\n\n updateSession(session, context);\n}\n\n/**\n * Serializes a passed session object to a JSON object with a slightly different structure.\n * This is necessary because the Sentry backend requires a slightly different schema of a session\n * than the one the JS SDKs use internally.\n *\n * @param session the session to be converted\n *\n * @returns a JSON object of the passed session\n */\nfunction sessionToJSON(session: Session): SerializedSession {\n return dropUndefinedKeys({\n sid: `${session.sid}`,\n init: session.init,\n // Make sure that sec is converted to ms for date constructor\n started: new Date(session.started * 1000).toISOString(),\n timestamp: new Date(session.timestamp * 1000).toISOString(),\n status: session.status,\n errors: session.errors,\n did: typeof session.did === 'number' || typeof session.did === 'string' ? `${session.did}` : undefined,\n duration: session.duration,\n abnormal_mechanism: session.abnormal_mechanism,\n attrs: {\n release: session.release,\n environment: session.environment,\n ip_address: session.ipAddress,\n user_agent: session.userAgent,\n },\n });\n}\n", "import type { PropagationContext } from '@sentry/types';\nimport { uuid4 } from './misc';\n\n/**\n * Returns a new minimal propagation context\n */\nexport function generatePropagationContext(): PropagationContext {\n return {\n traceId: uuid4(),\n spanId: uuid4().substring(16),\n };\n}\n", "/**\n * Shallow merge two objects.\n * Does not mutate the passed in objects.\n * Undefined/empty values in the merge object will overwrite existing values.\n *\n * By default, this merges 2 levels deep.\n */\nexport function merge(initialObj: T, mergeObj: T, levels = 2): T {\n // If the merge value is not an object, or we have no merge levels left,\n // we just set the value to the merge value\n if (!mergeObj || typeof mergeObj !== 'object' || levels <= 0) {\n return mergeObj;\n }\n\n // If the merge object is an empty object, and the initial object is not undefined, we return the initial object\n if (initialObj && mergeObj && Object.keys(mergeObj).length === 0) {\n return initialObj;\n }\n\n // Clone object\n const output = { ...initialObj };\n\n // Merge values into output, resursively\n for (const key in mergeObj) {\n if (Object.prototype.hasOwnProperty.call(mergeObj, key)) {\n output[key] = merge(output[key], mergeObj[key], levels - 1);\n }\n }\n\n return output;\n}\n", "import type { Scope, Span } from '@sentry/types';\nimport { addNonEnumerableProperty } from '../utils-hoist/object';\n\nconst SCOPE_SPAN_FIELD = '_sentrySpan';\n\ntype ScopeWithMaybeSpan = Scope & {\n [SCOPE_SPAN_FIELD]?: Span;\n};\n\n/**\n * Set the active span for a given scope.\n * NOTE: This should NOT be used directly, but is only used internally by the trace methods.\n */\nexport function _setSpanForScope(scope: Scope, span: Span | undefined): void {\n if (span) {\n addNonEnumerableProperty(scope as ScopeWithMaybeSpan, SCOPE_SPAN_FIELD, span);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete (scope as ScopeWithMaybeSpan)[SCOPE_SPAN_FIELD];\n }\n}\n\n/**\n * Get the active span for a given scope.\n * NOTE: This should NOT be used directly, but is only used internally by the trace methods.\n */\nexport function _getSpanForScope(scope: ScopeWithMaybeSpan): Span | undefined {\n return scope[SCOPE_SPAN_FIELD];\n}\n", "/* eslint-disable max-lines */\nimport type {\n Attachment,\n Breadcrumb,\n CaptureContext,\n Client,\n Context,\n Contexts,\n Event,\n EventHint,\n EventProcessor,\n Extra,\n Extras,\n Primitive,\n PropagationContext,\n RequestSession,\n Scope as ScopeInterface,\n ScopeContext,\n ScopeData,\n Session,\n SeverityLevel,\n User,\n} from '@sentry/types';\n\nimport { updateSession } from './session';\nimport { isPlainObject } from './utils-hoist/is';\nimport { logger } from './utils-hoist/logger';\nimport { uuid4 } from './utils-hoist/misc';\nimport { generatePropagationContext } from './utils-hoist/propagationContext';\nimport { dateTimestampInSeconds } from './utils-hoist/time';\nimport { merge } from './utils/merge';\nimport { _getSpanForScope, _setSpanForScope } from './utils/spanOnScope';\n\n/**\n * Default value for maximum number of breadcrumbs added to an event.\n */\nconst DEFAULT_MAX_BREADCRUMBS = 100;\n\n/**\n * Holds additional event information.\n */\nclass ScopeClass implements ScopeInterface {\n /** Flag if notifying is happening. */\n protected _notifyingListeners: boolean;\n\n /** Callback for client to receive scope changes. */\n protected _scopeListeners: Array<(scope: Scope) => void>;\n\n /** Callback list that will be called during event processing. */\n protected _eventProcessors: EventProcessor[];\n\n /** Array of breadcrumbs. */\n protected _breadcrumbs: Breadcrumb[];\n\n /** User */\n protected _user: User;\n\n /** Tags */\n protected _tags: { [key: string]: Primitive };\n\n /** Extra */\n protected _extra: Extras;\n\n /** Contexts */\n protected _contexts: Contexts;\n\n /** Attachments */\n protected _attachments: Attachment[];\n\n /** Propagation Context for distributed tracing */\n protected _propagationContext: PropagationContext;\n\n /**\n * A place to stash data which is needed at some point in the SDK's event processing pipeline but which shouldn't get\n * sent to Sentry\n */\n protected _sdkProcessingMetadata: { [key: string]: unknown };\n\n /** Fingerprint */\n protected _fingerprint?: string[];\n\n /** Severity */\n protected _level?: SeverityLevel;\n\n /**\n * Transaction Name\n *\n * IMPORTANT: The transaction name on the scope has nothing to do with root spans/transaction objects.\n * It's purpose is to assign a transaction to the scope that's added to non-transaction events.\n */\n protected _transactionName?: string;\n\n /** Session */\n protected _session?: Session;\n\n /** Request Mode Session Status */\n protected _requestSession?: RequestSession;\n\n /** The client on this scope */\n protected _client?: Client;\n\n /** Contains the last event id of a captured event. */\n protected _lastEventId?: string;\n\n // NOTE: Any field which gets added here should get added not only to the constructor but also to the `clone` method.\n\n public constructor() {\n this._notifyingListeners = false;\n this._scopeListeners = [];\n this._eventProcessors = [];\n this._breadcrumbs = [];\n this._attachments = [];\n this._user = {};\n this._tags = {};\n this._extra = {};\n this._contexts = {};\n this._sdkProcessingMetadata = {};\n this._propagationContext = generatePropagationContext();\n }\n\n /**\n * @inheritDoc\n */\n public clone(): ScopeClass {\n const newScope = new ScopeClass();\n newScope._breadcrumbs = [...this._breadcrumbs];\n newScope._tags = { ...this._tags };\n newScope._extra = { ...this._extra };\n newScope._contexts = { ...this._contexts };\n newScope._user = this._user;\n newScope._level = this._level;\n newScope._session = this._session;\n newScope._transactionName = this._transactionName;\n newScope._fingerprint = this._fingerprint;\n newScope._eventProcessors = [...this._eventProcessors];\n newScope._requestSession = this._requestSession;\n newScope._attachments = [...this._attachments];\n newScope._sdkProcessingMetadata = { ...this._sdkProcessingMetadata };\n newScope._propagationContext = { ...this._propagationContext };\n newScope._client = this._client;\n newScope._lastEventId = this._lastEventId;\n\n _setSpanForScope(newScope, _getSpanForScope(this));\n\n return newScope;\n }\n\n /**\n * @inheritDoc\n */\n public setClient(client: Client | undefined): void {\n this._client = client;\n }\n\n /**\n * @inheritDoc\n */\n public setLastEventId(lastEventId: string | undefined): void {\n this._lastEventId = lastEventId;\n }\n\n /**\n * @inheritDoc\n */\n public getClient(): C | undefined {\n return this._client as C | undefined;\n }\n\n /**\n * @inheritDoc\n */\n public lastEventId(): string | undefined {\n return this._lastEventId;\n }\n\n /**\n * @inheritDoc\n */\n public addScopeListener(callback: (scope: Scope) => void): void {\n this._scopeListeners.push(callback);\n }\n\n /**\n * @inheritDoc\n */\n public addEventProcessor(callback: EventProcessor): this {\n this._eventProcessors.push(callback);\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setUser(user: User | null): this {\n // If null is passed we want to unset everything, but still define keys,\n // so that later down in the pipeline any existing values are cleared.\n this._user = user || {\n email: undefined,\n id: undefined,\n ip_address: undefined,\n username: undefined,\n };\n\n if (this._session) {\n updateSession(this._session, { user });\n }\n\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getUser(): User | undefined {\n return this._user;\n }\n\n /**\n * @inheritDoc\n */\n public getRequestSession(): RequestSession | undefined {\n return this._requestSession;\n }\n\n /**\n * @inheritDoc\n */\n public setRequestSession(requestSession?: RequestSession): this {\n this._requestSession = requestSession;\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setTags(tags: { [key: string]: Primitive }): this {\n this._tags = {\n ...this._tags,\n ...tags,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setTag(key: string, value: Primitive): this {\n this._tags = { ...this._tags, [key]: value };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setExtras(extras: Extras): this {\n this._extra = {\n ...this._extra,\n ...extras,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setExtra(key: string, extra: Extra): this {\n this._extra = { ...this._extra, [key]: extra };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setFingerprint(fingerprint: string[]): this {\n this._fingerprint = fingerprint;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setLevel(level: SeverityLevel): this {\n this._level = level;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setTransactionName(name?: string): this {\n this._transactionName = name;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setContext(key: string, context: Context | null): this {\n if (context === null) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete this._contexts[key];\n } else {\n this._contexts[key] = context;\n }\n\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setSession(session?: Session): this {\n if (!session) {\n delete this._session;\n } else {\n this._session = session;\n }\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getSession(): Session | undefined {\n return this._session;\n }\n\n /**\n * @inheritDoc\n */\n public update(captureContext?: CaptureContext): this {\n if (!captureContext) {\n return this;\n }\n\n const scopeToMerge = typeof captureContext === 'function' ? captureContext(this) : captureContext;\n\n const [scopeInstance, requestSession] =\n scopeToMerge instanceof Scope\n ? [scopeToMerge.getScopeData(), scopeToMerge.getRequestSession()]\n : isPlainObject(scopeToMerge)\n ? [captureContext as ScopeContext, (captureContext as ScopeContext).requestSession]\n : [];\n\n const { tags, extra, user, contexts, level, fingerprint = [], propagationContext } = scopeInstance || {};\n\n this._tags = { ...this._tags, ...tags };\n this._extra = { ...this._extra, ...extra };\n this._contexts = { ...this._contexts, ...contexts };\n\n if (user && Object.keys(user).length) {\n this._user = user;\n }\n\n if (level) {\n this._level = level;\n }\n\n if (fingerprint.length) {\n this._fingerprint = fingerprint;\n }\n\n if (propagationContext) {\n this._propagationContext = propagationContext;\n }\n\n if (requestSession) {\n this._requestSession = requestSession;\n }\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public clear(): this {\n // client is not cleared here on purpose!\n this._breadcrumbs = [];\n this._tags = {};\n this._extra = {};\n this._user = {};\n this._contexts = {};\n this._level = undefined;\n this._transactionName = undefined;\n this._fingerprint = undefined;\n this._requestSession = undefined;\n this._session = undefined;\n _setSpanForScope(this, undefined);\n this._attachments = [];\n this._propagationContext = generatePropagationContext();\n\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public addBreadcrumb(breadcrumb: Breadcrumb, maxBreadcrumbs?: number): this {\n const maxCrumbs = typeof maxBreadcrumbs === 'number' ? maxBreadcrumbs : DEFAULT_MAX_BREADCRUMBS;\n\n // No data has been changed, so don't notify scope listeners\n if (maxCrumbs <= 0) {\n return this;\n }\n\n const mergedBreadcrumb = {\n timestamp: dateTimestampInSeconds(),\n ...breadcrumb,\n };\n\n const breadcrumbs = this._breadcrumbs;\n breadcrumbs.push(mergedBreadcrumb);\n this._breadcrumbs = breadcrumbs.length > maxCrumbs ? breadcrumbs.slice(-maxCrumbs) : breadcrumbs;\n\n this._notifyScopeListeners();\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getLastBreadcrumb(): Breadcrumb | undefined {\n return this._breadcrumbs[this._breadcrumbs.length - 1];\n }\n\n /**\n * @inheritDoc\n */\n public clearBreadcrumbs(): this {\n this._breadcrumbs = [];\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public addAttachment(attachment: Attachment): this {\n this._attachments.push(attachment);\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public clearAttachments(): this {\n this._attachments = [];\n return this;\n }\n\n /** @inheritDoc */\n public getScopeData(): ScopeData {\n return {\n breadcrumbs: this._breadcrumbs,\n attachments: this._attachments,\n contexts: this._contexts,\n tags: this._tags,\n extra: this._extra,\n user: this._user,\n level: this._level,\n fingerprint: this._fingerprint || [],\n eventProcessors: this._eventProcessors,\n propagationContext: this._propagationContext,\n sdkProcessingMetadata: this._sdkProcessingMetadata,\n transactionName: this._transactionName,\n span: _getSpanForScope(this),\n };\n }\n\n /**\n * @inheritDoc\n */\n public setSDKProcessingMetadata(newData: { [key: string]: unknown }): this {\n this._sdkProcessingMetadata = merge(this._sdkProcessingMetadata, newData, 2);\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setPropagationContext(context: PropagationContext): this {\n this._propagationContext = context;\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getPropagationContext(): PropagationContext {\n return this._propagationContext;\n }\n\n /**\n * @inheritDoc\n */\n public captureException(exception: unknown, hint?: EventHint): string {\n const eventId = hint && hint.event_id ? hint.event_id : uuid4();\n\n if (!this._client) {\n logger.warn('No client configured on scope - will not capture exception!');\n return eventId;\n }\n\n const syntheticException = new Error('Sentry syntheticException');\n\n this._client.captureException(\n exception,\n {\n originalException: exception,\n syntheticException,\n ...hint,\n event_id: eventId,\n },\n this,\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureMessage(message: string, level?: SeverityLevel, hint?: EventHint): string {\n const eventId = hint && hint.event_id ? hint.event_id : uuid4();\n\n if (!this._client) {\n logger.warn('No client configured on scope - will not capture message!');\n return eventId;\n }\n\n const syntheticException = new Error(message);\n\n this._client.captureMessage(\n message,\n level,\n {\n originalException: message,\n syntheticException,\n ...hint,\n event_id: eventId,\n },\n this,\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureEvent(event: Event, hint?: EventHint): string {\n const eventId = hint && hint.event_id ? hint.event_id : uuid4();\n\n if (!this._client) {\n logger.warn('No client configured on scope - will not capture event!');\n return eventId;\n }\n\n this._client.captureEvent(event, { ...hint, event_id: eventId }, this);\n\n return eventId;\n }\n\n /**\n * This will be called on every set call.\n */\n protected _notifyScopeListeners(): void {\n // We need this check for this._notifyingListeners to be able to work on scope during updates\n // If this check is not here we'll produce endless recursion when something is done with the scope\n // during the callback.\n if (!this._notifyingListeners) {\n this._notifyingListeners = true;\n this._scopeListeners.forEach(callback => {\n callback(this);\n });\n this._notifyingListeners = false;\n }\n }\n}\n\n// NOTE: By exporting this here as const & type, instead of doing `export class`,\n// We can get the correct class when importing from `@sentry/core`, but the original type (from `@sentry/types`)\n// This is helpful for interop, e.g. when doing `import type { Scope } from '@sentry/node';` (which re-exports this)\n\n/**\n * Holds additional event information.\n */\nexport const Scope = ScopeClass;\n\n/**\n * Holds additional event information.\n */\nexport type Scope = ScopeInterface;\n", "import type { Scope } from '@sentry/types';\nimport { Scope as ScopeClass } from './scope';\nimport { getGlobalSingleton } from './utils-hoist/worldwide';\n\n/** Get the default current scope. */\nexport function getDefaultCurrentScope(): Scope {\n return getGlobalSingleton('defaultCurrentScope', () => new ScopeClass());\n}\n\n/** Get the default isolation scope. */\nexport function getDefaultIsolationScope(): Scope {\n return getGlobalSingleton('defaultIsolationScope', () => new ScopeClass());\n}\n", "import type { Client, Scope as ScopeInterface } from '@sentry/types';\nimport { getDefaultCurrentScope, getDefaultIsolationScope } from '../defaultScopes';\nimport { Scope } from '../scope';\n\nimport { isThenable } from '../utils-hoist';\nimport { getMainCarrier, getSentryCarrier } from './../carrier';\nimport type { AsyncContextStrategy } from './types';\n\ninterface Layer {\n client?: Client;\n scope: ScopeInterface;\n}\n\n/**\n * This is an object that holds a stack of scopes.\n */\nexport class AsyncContextStack {\n private readonly _stack: [Layer, ...Layer[]];\n private _isolationScope: ScopeInterface;\n\n public constructor(scope?: ScopeInterface, isolationScope?: ScopeInterface) {\n let assignedScope;\n if (!scope) {\n assignedScope = new Scope();\n } else {\n assignedScope = scope;\n }\n\n let assignedIsolationScope;\n if (!isolationScope) {\n assignedIsolationScope = new Scope();\n } else {\n assignedIsolationScope = isolationScope;\n }\n\n // scope stack for domains or the process\n this._stack = [{ scope: assignedScope }];\n this._isolationScope = assignedIsolationScope;\n }\n\n /**\n * Fork a scope for the stack.\n */\n public withScope(callback: (scope: ScopeInterface) => T): T {\n const scope = this._pushScope();\n\n let maybePromiseResult: T;\n try {\n maybePromiseResult = callback(scope);\n } catch (e) {\n this._popScope();\n throw e;\n }\n\n if (isThenable(maybePromiseResult)) {\n // @ts-expect-error - isThenable returns the wrong type\n return maybePromiseResult.then(\n res => {\n this._popScope();\n return res;\n },\n e => {\n this._popScope();\n throw e;\n },\n );\n }\n\n this._popScope();\n return maybePromiseResult;\n }\n\n /**\n * Get the client of the stack.\n */\n public getClient(): C | undefined {\n return this.getStackTop().client as C;\n }\n\n /**\n * Returns the scope of the top stack.\n */\n public getScope(): ScopeInterface {\n return this.getStackTop().scope;\n }\n\n /**\n * Get the isolation scope for the stack.\n */\n public getIsolationScope(): ScopeInterface {\n return this._isolationScope;\n }\n\n /**\n * Returns the topmost scope layer in the order domain > local > process.\n */\n public getStackTop(): Layer {\n return this._stack[this._stack.length - 1] as Layer;\n }\n\n /**\n * Push a scope to the stack.\n */\n private _pushScope(): ScopeInterface {\n // We want to clone the content of prev scope\n const scope = this.getScope().clone();\n this._stack.push({\n client: this.getClient(),\n scope,\n });\n return scope;\n }\n\n /**\n * Pop a scope from the stack.\n */\n private _popScope(): boolean {\n if (this._stack.length <= 1) return false;\n return !!this._stack.pop();\n }\n}\n\n/**\n * Get the global async context stack.\n * This will be removed during the v8 cycle and is only here to make migration easier.\n */\nfunction getAsyncContextStack(): AsyncContextStack {\n const registry = getMainCarrier();\n const sentry = getSentryCarrier(registry);\n\n return (sentry.stack = sentry.stack || new AsyncContextStack(getDefaultCurrentScope(), getDefaultIsolationScope()));\n}\n\nfunction withScope(callback: (scope: ScopeInterface) => T): T {\n return getAsyncContextStack().withScope(callback);\n}\n\nfunction withSetScope(scope: ScopeInterface, callback: (scope: ScopeInterface) => T): T {\n const stack = getAsyncContextStack() as AsyncContextStack;\n return stack.withScope(() => {\n stack.getStackTop().scope = scope;\n return callback(scope);\n });\n}\n\nfunction withIsolationScope(callback: (isolationScope: ScopeInterface) => T): T {\n return getAsyncContextStack().withScope(() => {\n return callback(getAsyncContextStack().getIsolationScope());\n });\n}\n\n/**\n * Get the stack-based async context strategy.\n */\nexport function getStackAsyncContextStrategy(): AsyncContextStrategy {\n return {\n withIsolationScope,\n withScope,\n withSetScope,\n withSetIsolationScope: (_isolationScope: ScopeInterface, callback: (isolationScope: ScopeInterface) => T) => {\n return withIsolationScope(callback);\n },\n getCurrentScope: () => getAsyncContextStack().getScope(),\n getIsolationScope: () => getAsyncContextStack().getIsolationScope(),\n };\n}\n", "import type { Carrier } from './../carrier';\nimport { getMainCarrier, getSentryCarrier } from './../carrier';\nimport { getStackAsyncContextStrategy } from './stackStrategy';\nimport type { AsyncContextStrategy } from './types';\n\n/**\n * @private Private API with no semver guarantees!\n *\n * Sets the global async context strategy\n */\nexport function setAsyncContextStrategy(strategy: AsyncContextStrategy | undefined): void {\n // Get main carrier (global for every environment)\n const registry = getMainCarrier();\n const sentry = getSentryCarrier(registry);\n sentry.acs = strategy;\n}\n\n/**\n * Get the current async context strategy.\n * If none has been setup, the default will be used.\n */\nexport function getAsyncContextStrategy(carrier: Carrier): AsyncContextStrategy {\n const sentry = getSentryCarrier(carrier);\n\n if (sentry.acs) {\n return sentry.acs;\n }\n\n // Otherwise, use the default one (stack)\n return getStackAsyncContextStrategy();\n}\n", "import type { Scope, TraceContext } from '@sentry/types';\nimport type { Client } from '@sentry/types';\nimport { getAsyncContextStrategy } from './asyncContext';\nimport { getMainCarrier } from './carrier';\nimport { Scope as ScopeClass } from './scope';\nimport { dropUndefinedKeys } from './utils-hoist/object';\nimport { getGlobalSingleton } from './utils-hoist/worldwide';\n\n/**\n * Get the currently active scope.\n */\nexport function getCurrentScope(): Scope {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n return acs.getCurrentScope();\n}\n\n/**\n * Get the currently active isolation scope.\n * The isolation scope is active for the current execution context.\n */\nexport function getIsolationScope(): Scope {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n return acs.getIsolationScope();\n}\n\n/**\n * Get the global scope.\n * This scope is applied to _all_ events.\n */\nexport function getGlobalScope(): Scope {\n return getGlobalSingleton('globalScope', () => new ScopeClass());\n}\n\n/**\n * Creates a new scope with and executes the given operation within.\n * The scope is automatically removed once the operation\n * finishes or throws.\n */\nexport function withScope(callback: (scope: Scope) => T): T;\n/**\n * Set the given scope as the active scope in the callback.\n */\nexport function withScope(scope: Scope | undefined, callback: (scope: Scope) => T): T;\n/**\n * Either creates a new active scope, or sets the given scope as active scope in the given callback.\n */\nexport function withScope(\n ...rest: [callback: (scope: Scope) => T] | [scope: Scope | undefined, callback: (scope: Scope) => T]\n): T {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n\n // If a scope is defined, we want to make this the active scope instead of the default one\n if (rest.length === 2) {\n const [scope, callback] = rest;\n\n if (!scope) {\n return acs.withScope(callback);\n }\n\n return acs.withSetScope(scope, callback);\n }\n\n return acs.withScope(rest[0]);\n}\n\n/**\n * Attempts to fork the current isolation scope and the current scope based on the current async context strategy. If no\n * async context strategy is set, the isolation scope and the current scope will not be forked (this is currently the\n * case, for example, in the browser).\n *\n * Usage of this function in environments without async context strategy is discouraged and may lead to unexpected behaviour.\n *\n * This function is intended for Sentry SDK and SDK integration development. It is not recommended to be used in \"normal\"\n * applications directly because it comes with pitfalls. Use at your own risk!\n */\nexport function withIsolationScope(callback: (isolationScope: Scope) => T): T;\n/**\n * Set the provided isolation scope as active in the given callback. If no\n * async context strategy is set, the isolation scope and the current scope will not be forked (this is currently the\n * case, for example, in the browser).\n *\n * Usage of this function in environments without async context strategy is discouraged and may lead to unexpected behaviour.\n *\n * This function is intended for Sentry SDK and SDK integration development. It is not recommended to be used in \"normal\"\n * applications directly because it comes with pitfalls. Use at your own risk!\n *\n * If you pass in `undefined` as a scope, it will fork a new isolation scope, the same as if no scope is passed.\n */\nexport function withIsolationScope(isolationScope: Scope | undefined, callback: (isolationScope: Scope) => T): T;\n/**\n * Either creates a new active isolation scope, or sets the given isolation scope as active scope in the given callback.\n */\nexport function withIsolationScope(\n ...rest:\n | [callback: (isolationScope: Scope) => T]\n | [isolationScope: Scope | undefined, callback: (isolationScope: Scope) => T]\n): T {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n\n // If a scope is defined, we want to make this the active scope instead of the default one\n if (rest.length === 2) {\n const [isolationScope, callback] = rest;\n\n if (!isolationScope) {\n return acs.withIsolationScope(callback);\n }\n\n return acs.withSetIsolationScope(isolationScope, callback);\n }\n\n return acs.withIsolationScope(rest[0]);\n}\n\n/**\n * Get the currently active client.\n */\nexport function getClient(): C | undefined {\n return getCurrentScope().getClient();\n}\n\n/**\n * Get a trace context for the given scope.\n */\nexport function getTraceContextFromScope(scope: Scope): TraceContext {\n const propagationContext = scope.getPropagationContext();\n\n const { traceId, spanId, parentSpanId } = propagationContext;\n\n const traceContext: TraceContext = dropUndefinedKeys({\n trace_id: traceId,\n span_id: spanId,\n parent_span_id: parentSpanId,\n });\n\n return traceContext;\n}\n", "import type { MeasurementUnit, Span } from '@sentry/types';\nimport type { MetricSummary } from '@sentry/types';\nimport type { Primitive } from '@sentry/types';\nimport { dropUndefinedKeys } from '../utils-hoist/object';\nimport type { MetricType } from './types';\n\n/**\n * key: bucketKey\n * value: [exportKey, MetricSummary]\n */\ntype MetricSummaryStorage = Map;\n\nconst METRICS_SPAN_FIELD = '_sentryMetrics';\n\ntype SpanWithPotentialMetrics = Span & {\n [METRICS_SPAN_FIELD]?: MetricSummaryStorage;\n};\n\n/**\n * Fetches the metric summary if it exists for the passed span\n */\nexport function getMetricSummaryJsonForSpan(span: Span): Record> | undefined {\n const storage = (span as SpanWithPotentialMetrics)[METRICS_SPAN_FIELD];\n\n if (!storage) {\n return undefined;\n }\n const output: Record> = {};\n\n for (const [, [exportKey, summary]] of storage) {\n const arr = output[exportKey] || (output[exportKey] = []);\n arr.push(dropUndefinedKeys(summary));\n }\n\n return output;\n}\n\n/**\n * Updates the metric summary on a span.\n */\nexport function updateMetricSummaryOnSpan(\n span: Span,\n metricType: MetricType,\n sanitizedName: string,\n value: number,\n unit: MeasurementUnit,\n tags: Record,\n bucketKey: string,\n): void {\n const existingStorage = (span as SpanWithPotentialMetrics)[METRICS_SPAN_FIELD];\n const storage =\n existingStorage ||\n ((span as SpanWithPotentialMetrics)[METRICS_SPAN_FIELD] = new Map());\n\n const exportKey = `${metricType}:${sanitizedName}@${unit}`;\n const bucketItem = storage.get(bucketKey);\n\n if (bucketItem) {\n const [, summary] = bucketItem;\n storage.set(bucketKey, [\n exportKey,\n {\n min: Math.min(summary.min, value),\n max: Math.max(summary.max, value),\n count: (summary.count += 1),\n sum: (summary.sum += value),\n tags: summary.tags,\n },\n ]);\n } else {\n storage.set(bucketKey, [\n exportKey,\n {\n min: value,\n max: value,\n count: 1,\n sum: value,\n tags,\n },\n ]);\n }\n}\n", "/**\n * Use this attribute to represent the source of a span.\n * Should be one of: custom, url, route, view, component, task, unknown\n *\n */\nexport const SEMANTIC_ATTRIBUTE_SENTRY_SOURCE = 'sentry.source';\n\n/**\n * Use this attribute to represent the sample rate used for a span.\n */\nexport const SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE = 'sentry.sample_rate';\n\n/**\n * Use this attribute to represent the operation of a span.\n */\nexport const SEMANTIC_ATTRIBUTE_SENTRY_OP = 'sentry.op';\n\n/**\n * Use this attribute to represent the origin of a span.\n */\nexport const SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN = 'sentry.origin';\n\n/** The reason why an idle span finished. */\nexport const SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON = 'sentry.idle_span_finish_reason';\n\n/** The unit of a measurement, which may be stored as a TimedEvent. */\nexport const SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT = 'sentry.measurement_unit';\n\n/** The value of a measurement, which may be stored as a TimedEvent. */\nexport const SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE = 'sentry.measurement_value';\n\n/**\n * The id of the profile that this span occurred in.\n */\nexport const SEMANTIC_ATTRIBUTE_PROFILE_ID = 'sentry.profile_id';\n\nexport const SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME = 'sentry.exclusive_time';\n\nexport const SEMANTIC_ATTRIBUTE_CACHE_HIT = 'cache.hit';\n\nexport const SEMANTIC_ATTRIBUTE_CACHE_KEY = 'cache.key';\n\nexport const SEMANTIC_ATTRIBUTE_CACHE_ITEM_SIZE = 'cache.item_size';\n\n/** TODO: Remove these once we update to latest semantic conventions */\nexport const SEMANTIC_ATTRIBUTE_HTTP_REQUEST_METHOD = 'http.request.method';\nexport const SEMANTIC_ATTRIBUTE_URL_FULL = 'url.full';\n", "import type { DynamicSamplingContext } from '@sentry/types';\n\nimport { DEBUG_BUILD } from './debug-build';\nimport { isString } from './is';\nimport { logger } from './logger';\n\n/**\n * @deprecated Use a `\"baggage\"` string directly\n */\nexport const BAGGAGE_HEADER_NAME = 'baggage';\n\nexport const SENTRY_BAGGAGE_KEY_PREFIX = 'sentry-';\n\nexport const SENTRY_BAGGAGE_KEY_PREFIX_REGEX = /^sentry-/;\n\n/**\n * Max length of a serialized baggage string\n *\n * https://www.w3.org/TR/baggage/#limits\n */\nexport const MAX_BAGGAGE_STRING_LENGTH = 8192;\n\n/**\n * Takes a baggage header and turns it into Dynamic Sampling Context, by extracting all the \"sentry-\" prefixed values\n * from it.\n *\n * @param baggageHeader A very bread definition of a baggage header as it might appear in various frameworks.\n * @returns The Dynamic Sampling Context that was found on `baggageHeader`, if there was any, `undefined` otherwise.\n */\nexport function baggageHeaderToDynamicSamplingContext(\n // Very liberal definition of what any incoming header might look like\n baggageHeader: string | string[] | number | null | undefined | boolean,\n): Partial | undefined {\n const baggageObject = parseBaggageHeader(baggageHeader);\n\n if (!baggageObject) {\n return undefined;\n }\n\n // Read all \"sentry-\" prefixed values out of the baggage object and put it onto a dynamic sampling context object.\n const dynamicSamplingContext = Object.entries(baggageObject).reduce>((acc, [key, value]) => {\n if (key.match(SENTRY_BAGGAGE_KEY_PREFIX_REGEX)) {\n const nonPrefixedKey = key.slice(SENTRY_BAGGAGE_KEY_PREFIX.length);\n acc[nonPrefixedKey] = value;\n }\n return acc;\n }, {});\n\n // Only return a dynamic sampling context object if there are keys in it.\n // A keyless object means there were no sentry values on the header, which means that there is no DSC.\n if (Object.keys(dynamicSamplingContext).length > 0) {\n return dynamicSamplingContext as Partial;\n } else {\n return undefined;\n }\n}\n\n/**\n * Turns a Dynamic Sampling Object into a baggage header by prefixing all the keys on the object with \"sentry-\".\n *\n * @param dynamicSamplingContext The Dynamic Sampling Context to turn into a header. For convenience and compatibility\n * with the `getDynamicSamplingContext` method on the Transaction class ,this argument can also be `undefined`. If it is\n * `undefined` the function will return `undefined`.\n * @returns a baggage header, created from `dynamicSamplingContext`, or `undefined` either if `dynamicSamplingContext`\n * was `undefined`, or if `dynamicSamplingContext` didn't contain any values.\n */\nexport function dynamicSamplingContextToSentryBaggageHeader(\n // this also takes undefined for convenience and bundle size in other places\n dynamicSamplingContext?: Partial,\n): string | undefined {\n if (!dynamicSamplingContext) {\n return undefined;\n }\n\n // Prefix all DSC keys with \"sentry-\" and put them into a new object\n const sentryPrefixedDSC = Object.entries(dynamicSamplingContext).reduce>(\n (acc, [dscKey, dscValue]) => {\n if (dscValue) {\n acc[`${SENTRY_BAGGAGE_KEY_PREFIX}${dscKey}`] = dscValue;\n }\n return acc;\n },\n {},\n );\n\n return objectToBaggageHeader(sentryPrefixedDSC);\n}\n\n/**\n * Take a baggage header and parse it into an object.\n */\nexport function parseBaggageHeader(\n baggageHeader: string | string[] | number | null | undefined | boolean,\n): Record | undefined {\n if (!baggageHeader || (!isString(baggageHeader) && !Array.isArray(baggageHeader))) {\n return undefined;\n }\n\n if (Array.isArray(baggageHeader)) {\n // Combine all baggage headers into one object containing the baggage values so we can later read the Sentry-DSC-values from it\n return baggageHeader.reduce>((acc, curr) => {\n const currBaggageObject = baggageHeaderToObject(curr);\n Object.entries(currBaggageObject).forEach(([key, value]) => {\n acc[key] = value;\n });\n return acc;\n }, {});\n }\n\n return baggageHeaderToObject(baggageHeader);\n}\n\n/**\n * Will parse a baggage header, which is a simple key-value map, into a flat object.\n *\n * @param baggageHeader The baggage header to parse.\n * @returns a flat object containing all the key-value pairs from `baggageHeader`.\n */\nfunction baggageHeaderToObject(baggageHeader: string): Record {\n return baggageHeader\n .split(',')\n .map(baggageEntry => baggageEntry.split('=').map(keyOrValue => decodeURIComponent(keyOrValue.trim())))\n .reduce>((acc, [key, value]) => {\n if (key && value) {\n acc[key] = value;\n }\n return acc;\n }, {});\n}\n\n/**\n * Turns a flat object (key-value pairs) into a baggage header, which is also just key-value pairs.\n *\n * @param object The object to turn into a baggage header.\n * @returns a baggage header string, or `undefined` if the object didn't have any values, since an empty baggage header\n * is not spec compliant.\n */\nfunction objectToBaggageHeader(object: Record): string | undefined {\n if (Object.keys(object).length === 0) {\n // An empty baggage header is not spec compliant: We return undefined.\n return undefined;\n }\n\n return Object.entries(object).reduce((baggageHeader, [objectKey, objectValue], currentIndex) => {\n const baggageEntry = `${encodeURIComponent(objectKey)}=${encodeURIComponent(objectValue)}`;\n const newBaggageHeader = currentIndex === 0 ? baggageEntry : `${baggageHeader},${baggageEntry}`;\n if (newBaggageHeader.length > MAX_BAGGAGE_STRING_LENGTH) {\n DEBUG_BUILD &&\n logger.warn(\n `Not adding key: ${objectKey} with val: ${objectValue} to baggage header due to exceeding baggage size limits.`,\n );\n return baggageHeader;\n } else {\n return newBaggageHeader;\n }\n }, '');\n}\n", "import type {\n MeasurementUnit,\n Primitive,\n Span,\n SpanAttributes,\n SpanJSON,\n SpanOrigin,\n SpanStatus,\n SpanTimeInput,\n TraceContext,\n} from '@sentry/types';\nimport { getAsyncContextStrategy } from '../asyncContext';\nimport { getMainCarrier } from '../carrier';\nimport { getCurrentScope } from '../currentScopes';\nimport { getMetricSummaryJsonForSpan, updateMetricSummaryOnSpan } from '../metrics/metric-summary';\nimport type { MetricType } from '../metrics/types';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '../semanticAttributes';\nimport type { SentrySpan } from '../tracing/sentrySpan';\nimport { SPAN_STATUS_OK, SPAN_STATUS_UNSET } from '../tracing/spanstatus';\nimport { consoleSandbox } from '../utils-hoist/logger';\nimport { addNonEnumerableProperty, dropUndefinedKeys } from '../utils-hoist/object';\nimport { timestampInSeconds } from '../utils-hoist/time';\nimport { generateSentryTraceHeader } from '../utils-hoist/tracing';\nimport { _getSpanForScope } from './spanOnScope';\n\n// These are aligned with OpenTelemetry trace flags\nexport const TRACE_FLAG_NONE = 0x0;\nexport const TRACE_FLAG_SAMPLED = 0x1;\n\n// todo(v9): Remove this once we've stopped dropping spans via `beforeSendSpan`\nlet hasShownSpanDropWarning = false;\n\n/**\n * Convert a span to a trace context, which can be sent as the `trace` context in an event.\n * By default, this will only include trace_id, span_id & parent_span_id.\n * If `includeAllData` is true, it will also include data, op, status & origin.\n */\nexport function spanToTransactionTraceContext(span: Span): TraceContext {\n const { spanId: span_id, traceId: trace_id } = span.spanContext();\n const { data, op, parent_span_id, status, origin } = spanToJSON(span);\n\n return dropUndefinedKeys({\n parent_span_id,\n span_id,\n trace_id,\n data,\n op,\n status,\n origin,\n });\n}\n\n/**\n * Convert a span to a trace context, which can be sent as the `trace` context in a non-transaction event.\n */\nexport function spanToTraceContext(span: Span): TraceContext {\n const { spanId: span_id, traceId: trace_id } = span.spanContext();\n const { parent_span_id } = spanToJSON(span);\n\n return dropUndefinedKeys({ parent_span_id, span_id, trace_id });\n}\n\n/**\n * Convert a Span to a Sentry trace header.\n */\nexport function spanToTraceHeader(span: Span): string {\n const { traceId, spanId } = span.spanContext();\n const sampled = spanIsSampled(span);\n return generateSentryTraceHeader(traceId, spanId, sampled);\n}\n\n/**\n * Convert a span time input into a timestamp in seconds.\n */\nexport function spanTimeInputToSeconds(input: SpanTimeInput | undefined): number {\n if (typeof input === 'number') {\n return ensureTimestampInSeconds(input);\n }\n\n if (Array.isArray(input)) {\n // See {@link HrTime} for the array-based time format\n return input[0] + input[1] / 1e9;\n }\n\n if (input instanceof Date) {\n return ensureTimestampInSeconds(input.getTime());\n }\n\n return timestampInSeconds();\n}\n\n/**\n * Converts a timestamp to second, if it was in milliseconds, or keeps it as second.\n */\nfunction ensureTimestampInSeconds(timestamp: number): number {\n const isMs = timestamp > 9999999999;\n return isMs ? timestamp / 1000 : timestamp;\n}\n\n/**\n * Convert a span to a JSON representation.\n */\n// Note: Because of this, we currently have a circular type dependency (which we opted out of in package.json).\n// This is not avoidable as we need `spanToJSON` in `spanUtils.ts`, which in turn is needed by `span.ts` for backwards compatibility.\n// And `spanToJSON` needs the Span class from `span.ts` to check here.\nexport function spanToJSON(span: Span): Partial {\n if (spanIsSentrySpan(span)) {\n return span.getSpanJSON();\n }\n\n try {\n const { spanId: span_id, traceId: trace_id } = span.spanContext();\n\n // Handle a span from @opentelemetry/sdk-base-trace's `Span` class\n if (spanIsOpenTelemetrySdkTraceBaseSpan(span)) {\n const { attributes, startTime, name, endTime, parentSpanId, status } = span;\n\n return dropUndefinedKeys({\n span_id,\n trace_id,\n data: attributes,\n description: name,\n parent_span_id: parentSpanId,\n start_timestamp: spanTimeInputToSeconds(startTime),\n // This is [0,0] by default in OTEL, in which case we want to interpret this as no end time\n timestamp: spanTimeInputToSeconds(endTime) || undefined,\n status: getStatusMessage(status),\n op: attributes[SEMANTIC_ATTRIBUTE_SENTRY_OP],\n origin: attributes[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN] as SpanOrigin | undefined,\n _metrics_summary: getMetricSummaryJsonForSpan(span),\n });\n }\n\n // Finally, at least we have `spanContext()`....\n return {\n span_id,\n trace_id,\n };\n } catch {\n return {};\n }\n}\n\nfunction spanIsOpenTelemetrySdkTraceBaseSpan(span: Span): span is OpenTelemetrySdkTraceBaseSpan {\n const castSpan = span as OpenTelemetrySdkTraceBaseSpan;\n return !!castSpan.attributes && !!castSpan.startTime && !!castSpan.name && !!castSpan.endTime && !!castSpan.status;\n}\n\n/** Exported only for tests. */\nexport interface OpenTelemetrySdkTraceBaseSpan extends Span {\n attributes: SpanAttributes;\n startTime: SpanTimeInput;\n name: string;\n status: SpanStatus;\n endTime: SpanTimeInput;\n parentSpanId?: string;\n}\n\n/**\n * Sadly, due to circular dependency checks we cannot actually import the Span class here and check for instanceof.\n * :( So instead we approximate this by checking if it has the `getSpanJSON` method.\n */\nfunction spanIsSentrySpan(span: Span): span is SentrySpan {\n return typeof (span as SentrySpan).getSpanJSON === 'function';\n}\n\n/**\n * Returns true if a span is sampled.\n * In most cases, you should just use `span.isRecording()` instead.\n * However, this has a slightly different semantic, as it also returns false if the span is finished.\n * So in the case where this distinction is important, use this method.\n */\nexport function spanIsSampled(span: Span): boolean {\n // We align our trace flags with the ones OpenTelemetry use\n // So we also check for sampled the same way they do.\n const { traceFlags } = span.spanContext();\n return traceFlags === TRACE_FLAG_SAMPLED;\n}\n\n/** Get the status message to use for a JSON representation of a span. */\nexport function getStatusMessage(status: SpanStatus | undefined): string | undefined {\n if (!status || status.code === SPAN_STATUS_UNSET) {\n return undefined;\n }\n\n if (status.code === SPAN_STATUS_OK) {\n return 'ok';\n }\n\n return status.message || 'unknown_error';\n}\n\nconst CHILD_SPANS_FIELD = '_sentryChildSpans';\nconst ROOT_SPAN_FIELD = '_sentryRootSpan';\n\ntype SpanWithPotentialChildren = Span & {\n [CHILD_SPANS_FIELD]?: Set;\n [ROOT_SPAN_FIELD]?: Span;\n};\n\n/**\n * Adds an opaque child span reference to a span.\n */\nexport function addChildSpanToSpan(span: SpanWithPotentialChildren, childSpan: Span): void {\n // We store the root span reference on the child span\n // We need this for `getRootSpan()` to work\n const rootSpan = span[ROOT_SPAN_FIELD] || span;\n addNonEnumerableProperty(childSpan as SpanWithPotentialChildren, ROOT_SPAN_FIELD, rootSpan);\n\n // We store a list of child spans on the parent span\n // We need this for `getSpanDescendants()` to work\n if (span[CHILD_SPANS_FIELD]) {\n span[CHILD_SPANS_FIELD].add(childSpan);\n } else {\n addNonEnumerableProperty(span, CHILD_SPANS_FIELD, new Set([childSpan]));\n }\n}\n\n/** This is only used internally by Idle Spans. */\nexport function removeChildSpanFromSpan(span: SpanWithPotentialChildren, childSpan: Span): void {\n if (span[CHILD_SPANS_FIELD]) {\n span[CHILD_SPANS_FIELD].delete(childSpan);\n }\n}\n\n/**\n * Returns an array of the given span and all of its descendants.\n */\nexport function getSpanDescendants(span: SpanWithPotentialChildren): Span[] {\n const resultSet = new Set();\n\n function addSpanChildren(span: SpanWithPotentialChildren): void {\n // This exit condition is required to not infinitely loop in case of a circular dependency.\n if (resultSet.has(span)) {\n return;\n // We want to ignore unsampled spans (e.g. non recording spans)\n } else if (spanIsSampled(span)) {\n resultSet.add(span);\n const childSpans = span[CHILD_SPANS_FIELD] ? Array.from(span[CHILD_SPANS_FIELD]) : [];\n for (const childSpan of childSpans) {\n addSpanChildren(childSpan);\n }\n }\n }\n\n addSpanChildren(span);\n\n return Array.from(resultSet);\n}\n\n/**\n * Returns the root span of a given span.\n */\nexport function getRootSpan(span: SpanWithPotentialChildren): Span {\n return span[ROOT_SPAN_FIELD] || span;\n}\n\n/**\n * Returns the currently active span.\n */\nexport function getActiveSpan(): Span | undefined {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n if (acs.getActiveSpan) {\n return acs.getActiveSpan();\n }\n\n return _getSpanForScope(getCurrentScope());\n}\n\n/**\n * Updates the metric summary on the currently active span\n */\nexport function updateMetricSummaryOnActiveSpan(\n metricType: MetricType,\n sanitizedName: string,\n value: number,\n unit: MeasurementUnit,\n tags: Record,\n bucketKey: string,\n): void {\n const span = getActiveSpan();\n if (span) {\n updateMetricSummaryOnSpan(span, metricType, sanitizedName, value, unit, tags, bucketKey);\n }\n}\n\n/**\n * Logs a warning once if `beforeSendSpan` is used to drop spans.\n *\n * todo(v9): Remove this once we've stopped dropping spans via `beforeSendSpan`.\n */\nexport function showSpanDropWarning(): void {\n if (!hasShownSpanDropWarning) {\n consoleSandbox(() => {\n // eslint-disable-next-line no-console\n console.warn(\n '[Sentry] Deprecation warning: Returning null from `beforeSendSpan` will be disallowed from SDK version 9.0.0 onwards. The callback will only support mutating spans. To drop certain spans, configure the respective integrations directly.',\n );\n });\n hasShownSpanDropWarning = true;\n }\n}\n", "import type { Options } from '@sentry/types';\nimport { getClient } from '../currentScopes';\n\n// Treeshakable guard to remove all code related to tracing\ndeclare const __SENTRY_TRACING__: boolean | undefined;\n\n/**\n * Determines if tracing is currently enabled.\n *\n * Tracing is enabled when at least one of `tracesSampleRate` and `tracesSampler` is defined in the SDK config.\n */\nexport function hasTracingEnabled(\n maybeOptions?: Pick | undefined,\n): boolean {\n if (typeof __SENTRY_TRACING__ === 'boolean' && !__SENTRY_TRACING__) {\n return false;\n }\n\n const client = getClient();\n const options = maybeOptions || (client && client.getOptions());\n // eslint-disable-next-line deprecation/deprecation\n return !!options && (options.enableTracing || 'tracesSampleRate' in options || 'tracesSampler' in options);\n}\n", "export const DEFAULT_ENVIRONMENT = 'production';\n", "import type { Client, DynamicSamplingContext, Scope, Span } from '@sentry/types';\n\nimport { DEFAULT_ENVIRONMENT } from '../constants';\nimport { getClient } from '../currentScopes';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE } from '../semanticAttributes';\nimport {\n baggageHeaderToDynamicSamplingContext,\n dynamicSamplingContextToSentryBaggageHeader,\n} from '../utils-hoist/baggage';\nimport { addNonEnumerableProperty, dropUndefinedKeys } from '../utils-hoist/object';\nimport { hasTracingEnabled } from '../utils/hasTracingEnabled';\nimport { getRootSpan, spanIsSampled, spanToJSON } from '../utils/spanUtils';\n\n/**\n * If you change this value, also update the terser plugin config to\n * avoid minification of the object property!\n */\nconst FROZEN_DSC_FIELD = '_frozenDsc';\n\ntype SpanWithMaybeDsc = Span & {\n [FROZEN_DSC_FIELD]?: Partial | undefined;\n};\n\n/**\n * Freeze the given DSC on the given span.\n */\nexport function freezeDscOnSpan(span: Span, dsc: Partial): void {\n const spanWithMaybeDsc = span as SpanWithMaybeDsc;\n addNonEnumerableProperty(spanWithMaybeDsc, FROZEN_DSC_FIELD, dsc);\n}\n\n/**\n * Creates a dynamic sampling context from a client.\n *\n * Dispatches the `createDsc` lifecycle hook as a side effect.\n */\nexport function getDynamicSamplingContextFromClient(trace_id: string, client: Client): DynamicSamplingContext {\n const options = client.getOptions();\n\n const { publicKey: public_key } = client.getDsn() || {};\n\n const dsc = dropUndefinedKeys({\n environment: options.environment || DEFAULT_ENVIRONMENT,\n release: options.release,\n public_key,\n trace_id,\n }) as DynamicSamplingContext;\n\n client.emit('createDsc', dsc);\n\n return dsc;\n}\n\n/**\n * Get the dynamic sampling context for the currently active scopes.\n */\nexport function getDynamicSamplingContextFromScope(client: Client, scope: Scope): Partial {\n const propagationContext = scope.getPropagationContext();\n return propagationContext.dsc || getDynamicSamplingContextFromClient(propagationContext.traceId, client);\n}\n\n/**\n * Creates a dynamic sampling context from a span (and client and scope)\n *\n * @param span the span from which a few values like the root span name and sample rate are extracted.\n *\n * @returns a dynamic sampling context\n */\nexport function getDynamicSamplingContextFromSpan(span: Span): Readonly> {\n const client = getClient();\n if (!client) {\n return {};\n }\n\n const rootSpan = getRootSpan(span);\n\n // For core implementation, we freeze the DSC onto the span as a non-enumerable property\n const frozenDsc = (rootSpan as SpanWithMaybeDsc)[FROZEN_DSC_FIELD];\n if (frozenDsc) {\n return frozenDsc;\n }\n\n // For OpenTelemetry, we freeze the DSC on the trace state\n const traceState = rootSpan.spanContext().traceState;\n const traceStateDsc = traceState && traceState.get('sentry.dsc');\n\n // If the span has a DSC, we want it to take precedence\n const dscOnTraceState = traceStateDsc && baggageHeaderToDynamicSamplingContext(traceStateDsc);\n\n if (dscOnTraceState) {\n return dscOnTraceState;\n }\n\n // Else, we generate it from the span\n const dsc = getDynamicSamplingContextFromClient(span.spanContext().traceId, client);\n const jsonSpan = spanToJSON(rootSpan);\n const attributes = jsonSpan.data || {};\n const maybeSampleRate = attributes[SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE];\n\n if (maybeSampleRate != null) {\n dsc.sample_rate = `${maybeSampleRate}`;\n }\n\n // We don't want to have a transaction name in the DSC if the source is \"url\" because URLs might contain PII\n const source = attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE];\n\n // after JSON conversion, txn.name becomes jsonSpan.description\n const name = jsonSpan.description;\n if (source !== 'url' && name) {\n dsc.transaction = name;\n }\n\n // How can we even land here with hasTracingEnabled() returning false?\n // Otel creates a Non-recording span in Tracing Without Performance mode when handling incoming requests\n // So we end up with an active span that is not sampled (neither positively nor negatively)\n if (hasTracingEnabled()) {\n dsc.sampled = String(spanIsSampled(rootSpan));\n }\n\n client.emit('createDsc', dsc, rootSpan);\n\n return dsc;\n}\n\n/**\n * Convert a Span to a baggage header.\n */\nexport function spanToBaggageHeader(span: Span): string | undefined {\n const dsc = getDynamicSamplingContextFromSpan(span);\n return dynamicSamplingContextToSentryBaggageHeader(dsc);\n}\n", "import { DEBUG_BUILD } from '../debug-build';\nimport { logger } from '../utils-hoist/logger';\n\n/**\n * Parse a sample rate from a given value.\n * This will either return a boolean or number sample rate, if the sample rate is valid (between 0 and 1).\n * If a string is passed, we try to convert it to a number.\n *\n * Any invalid sample rate will return `undefined`.\n */\nexport function parseSampleRate(sampleRate: unknown): number | undefined {\n if (typeof sampleRate === 'boolean') {\n return Number(sampleRate);\n }\n\n const rate = typeof sampleRate === 'string' ? parseFloat(sampleRate) : sampleRate;\n if (typeof rate !== 'number' || isNaN(rate) || rate < 0 || rate > 1) {\n DEBUG_BUILD &&\n logger.warn(\n `[Tracing] Given sample rate is invalid. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(\n sampleRate,\n )} of type ${JSON.stringify(typeof sampleRate)}.`,\n );\n return undefined;\n }\n\n return rate;\n}\n", "import type { DsnComponents, DsnLike, DsnProtocol } from '@sentry/types';\n\nimport { DEBUG_BUILD } from './debug-build';\nimport { consoleSandbox, logger } from './logger';\n\n/** Regular expression used to parse a Dsn. */\nconst DSN_REGEX = /^(?:(\\w+):)\\/\\/(?:(\\w+)(?::(\\w+)?)?@)([\\w.-]+)(?::(\\d+))?\\/(.+)/;\n\nfunction isValidProtocol(protocol?: string): protocol is DsnProtocol {\n return protocol === 'http' || protocol === 'https';\n}\n\n/**\n * Renders the string representation of this Dsn.\n *\n * By default, this will render the public representation without the password\n * component. To get the deprecated private representation, set `withPassword`\n * to true.\n *\n * @param withPassword When set to true, the password will be included.\n */\nexport function dsnToString(dsn: DsnComponents, withPassword: boolean = false): string {\n const { host, path, pass, port, projectId, protocol, publicKey } = dsn;\n return (\n `${protocol}://${publicKey}${withPassword && pass ? `:${pass}` : ''}` +\n `@${host}${port ? `:${port}` : ''}/${path ? `${path}/` : path}${projectId}`\n );\n}\n\n/**\n * Parses a Dsn from a given string.\n *\n * @param str A Dsn as string\n * @returns Dsn as DsnComponents or undefined if @param str is not a valid DSN string\n */\nexport function dsnFromString(str: string): DsnComponents | undefined {\n const match = DSN_REGEX.exec(str);\n\n if (!match) {\n // This should be logged to the console\n consoleSandbox(() => {\n // eslint-disable-next-line no-console\n console.error(`Invalid Sentry Dsn: ${str}`);\n });\n return undefined;\n }\n\n const [protocol, publicKey, pass = '', host = '', port = '', lastPath = ''] = match.slice(1);\n let path = '';\n let projectId = lastPath;\n\n const split = projectId.split('/');\n if (split.length > 1) {\n path = split.slice(0, -1).join('/');\n projectId = split.pop() as string;\n }\n\n if (projectId) {\n const projectMatch = projectId.match(/^\\d+/);\n if (projectMatch) {\n projectId = projectMatch[0];\n }\n }\n\n return dsnFromComponents({ host, pass, path, projectId, port, protocol: protocol as DsnProtocol, publicKey });\n}\n\nfunction dsnFromComponents(components: DsnComponents): DsnComponents {\n return {\n protocol: components.protocol,\n publicKey: components.publicKey || '',\n pass: components.pass || '',\n host: components.host,\n port: components.port || '',\n path: components.path || '',\n projectId: components.projectId,\n };\n}\n\nfunction validateDsn(dsn: DsnComponents): boolean {\n if (!DEBUG_BUILD) {\n return true;\n }\n\n const { port, projectId, protocol } = dsn;\n\n const requiredComponents: ReadonlyArray = ['protocol', 'publicKey', 'host', 'projectId'];\n const hasMissingRequiredComponent = requiredComponents.find(component => {\n if (!dsn[component]) {\n logger.error(`Invalid Sentry Dsn: ${component} missing`);\n return true;\n }\n return false;\n });\n\n if (hasMissingRequiredComponent) {\n return false;\n }\n\n if (!projectId.match(/^\\d+$/)) {\n logger.error(`Invalid Sentry Dsn: Invalid projectId ${projectId}`);\n return false;\n }\n\n if (!isValidProtocol(protocol)) {\n logger.error(`Invalid Sentry Dsn: Invalid protocol ${protocol}`);\n return false;\n }\n\n if (port && isNaN(parseInt(port, 10))) {\n logger.error(`Invalid Sentry Dsn: Invalid port ${port}`);\n return false;\n }\n\n return true;\n}\n\n/**\n * Creates a valid Sentry Dsn object, identifying a Sentry instance and project.\n * @returns a valid DsnComponents object or `undefined` if @param from is an invalid DSN source\n */\nexport function makeDsn(from: DsnLike): DsnComponents | undefined {\n const components = typeof from === 'string' ? dsnFromString(from) : dsnFromComponents(from);\n if (!components || !validateDsn(components)) {\n return undefined;\n }\n return components;\n}\n", "/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport type MemoFunc = [\n // memoize\n (obj: any) => boolean,\n // unmemoize\n (obj: any) => void,\n];\n\n/**\n * Helper to decycle json objects\n *\n * @deprecated This function is deprecated and will be removed in the next major version.\n */\n// TODO(v9): Move this function into normalize() directly\nexport function memoBuilder(): MemoFunc {\n const hasWeakSet = typeof WeakSet === 'function';\n const inner: any = hasWeakSet ? new WeakSet() : [];\n function memoize(obj: any): boolean {\n if (hasWeakSet) {\n if (inner.has(obj)) {\n return true;\n }\n inner.add(obj);\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < inner.length; i++) {\n const value = inner[i];\n if (value === obj) {\n return true;\n }\n }\n inner.push(obj);\n return false;\n }\n\n function unmemoize(obj: any): void {\n if (hasWeakSet) {\n inner.delete(obj);\n } else {\n for (let i = 0; i < inner.length; i++) {\n if (inner[i] === obj) {\n inner.splice(i, 1);\n break;\n }\n }\n }\n }\n return [memoize, unmemoize];\n}\n", "import type { Primitive } from '@sentry/types';\n\nimport { isSyntheticEvent, isVueViewModel } from './is';\nimport type { MemoFunc } from './memo';\nimport { memoBuilder } from './memo';\nimport { convertToPlainObject } from './object';\nimport { getFunctionName } from './stacktrace';\n\ntype Prototype = { constructor: (...args: unknown[]) => unknown };\n// This is a hack to placate TS, relying on the fact that technically, arrays are objects with integer keys. Normally we\n// think of those keys as actual numbers, but `arr['0']` turns out to work just as well as `arr[0]`, and doing it this\n// way lets us use a single type in the places where behave as if we are only dealing with objects, even if some of them\n// might be arrays.\ntype ObjOrArray = { [key: string]: T };\n\n/**\n * Recursively normalizes the given object.\n *\n * - Creates a copy to prevent original input mutation\n * - Skips non-enumerable properties\n * - When stringifying, calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializable values (`undefined`/`NaN`/functions) to serializable format\n * - Translates known global objects/classes to a string representations\n * - Takes care of `Error` object serialization\n * - Optionally limits depth of final output\n * - Optionally limits number of properties/elements included in any single object/array\n *\n * @param input The object to be normalized.\n * @param depth The max depth to which to normalize the object. (Anything deeper stringified whole.)\n * @param maxProperties The max number of elements or properties to be included in any single array or\n * object in the normalized output.\n * @returns A normalized version of the object, or `\"**non-serializable**\"` if any errors are thrown during normalization.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function normalize(input: unknown, depth: number = 100, maxProperties: number = +Infinity): any {\n try {\n // since we're at the outermost level, we don't provide a key\n return visit('', input, depth, maxProperties);\n } catch (err) {\n return { ERROR: `**non-serializable** (${err})` };\n }\n}\n\n/** JSDoc */\nexport function normalizeToSize(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n object: { [key: string]: any },\n // Default Node.js REPL depth\n depth: number = 3,\n // 100kB, as 200kB is max payload size, so half sounds reasonable\n maxSize: number = 100 * 1024,\n): T {\n const normalized = normalize(object, depth);\n\n if (jsonSize(normalized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n\n return normalized as T;\n}\n\n/**\n * Visits a node to perform normalization on it\n *\n * @param key The key corresponding to the given node\n * @param value The node to be visited\n * @param depth Optional number indicating the maximum recursion depth\n * @param maxProperties Optional maximum number of properties/elements included in any single object/array\n * @param memo Optional Memo class handling decycling\n */\nfunction visit(\n key: string,\n value: unknown,\n depth: number = +Infinity,\n maxProperties: number = +Infinity,\n // eslint-disable-next-line deprecation/deprecation\n memo: MemoFunc = memoBuilder(),\n): Primitive | ObjOrArray {\n const [memoize, unmemoize] = memo;\n\n // Get the simple cases out of the way first\n if (\n value == null || // this matches null and undefined -> eqeq not eqeqeq\n ['boolean', 'string'].includes(typeof value) ||\n (typeof value === 'number' && Number.isFinite(value))\n ) {\n return value as Primitive;\n }\n\n const stringified = stringifyValue(key, value);\n\n // Anything we could potentially dig into more (objects or arrays) will have come back as `\"[object XXXX]\"`.\n // Everything else will have already been serialized, so if we don't see that pattern, we're done.\n if (!stringified.startsWith('[object ')) {\n return stringified;\n }\n\n // From here on, we can assert that `value` is either an object or an array.\n\n // Do not normalize objects that we know have already been normalized. As a general rule, the\n // \"__sentry_skip_normalization__\" property should only be used sparingly and only should only be set on objects that\n // have already been normalized.\n if ((value as ObjOrArray)['__sentry_skip_normalization__']) {\n return value as ObjOrArray;\n }\n\n // We can set `__sentry_override_normalization_depth__` on an object to ensure that from there\n // We keep a certain amount of depth.\n // This should be used sparingly, e.g. we use it for the redux integration to ensure we get a certain amount of state.\n const remainingDepth =\n typeof (value as ObjOrArray)['__sentry_override_normalization_depth__'] === 'number'\n ? ((value as ObjOrArray)['__sentry_override_normalization_depth__'] as number)\n : depth;\n\n // We're also done if we've reached the max depth\n if (remainingDepth === 0) {\n // At this point we know `serialized` is a string of the form `\"[object XXXX]\"`. Clean it up so it's just `\"[XXXX]\"`.\n return stringified.replace('object ', '');\n }\n\n // If we've already visited this branch, bail out, as it's circular reference. If not, note that we're seeing it now.\n if (memoize(value)) {\n return '[Circular ~]';\n }\n\n // If the value has a `toJSON` method, we call it to extract more information\n const valueWithToJSON = value as unknown & { toJSON?: () => unknown };\n if (valueWithToJSON && typeof valueWithToJSON.toJSON === 'function') {\n try {\n const jsonValue = valueWithToJSON.toJSON();\n // We need to normalize the return value of `.toJSON()` in case it has circular references\n return visit('', jsonValue, remainingDepth - 1, maxProperties, memo);\n } catch (err) {\n // pass (The built-in `toJSON` failed, but we can still try to do it ourselves)\n }\n }\n\n // At this point we know we either have an object or an array, we haven't seen it before, and we're going to recurse\n // because we haven't yet reached the max depth. Create an accumulator to hold the results of visiting each\n // property/entry, and keep track of the number of items we add to it.\n const normalized = (Array.isArray(value) ? [] : {}) as ObjOrArray;\n let numAdded = 0;\n\n // Before we begin, convert`Error` and`Event` instances into plain objects, since some of each of their relevant\n // properties are non-enumerable and otherwise would get missed.\n const visitable = convertToPlainObject(value as ObjOrArray);\n\n for (const visitKey in visitable) {\n // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n if (!Object.prototype.hasOwnProperty.call(visitable, visitKey)) {\n continue;\n }\n\n if (numAdded >= maxProperties) {\n normalized[visitKey] = '[MaxProperties ~]';\n break;\n }\n\n // Recursively visit all the child nodes\n const visitValue = visitable[visitKey];\n normalized[visitKey] = visit(visitKey, visitValue, remainingDepth - 1, maxProperties, memo);\n\n numAdded++;\n }\n\n // Once we've visited all the branches, remove the parent from memo storage\n unmemoize(value);\n\n // Return accumulated values\n return normalized;\n}\n\n/* eslint-disable complexity */\n/**\n * Stringify the given value. Handles various known special values and types.\n *\n * Not meant to be used on simple primitives which already have a string representation, as it will, for example, turn\n * the number 1231 into \"[Object Number]\", nor on `null`, as it will throw.\n *\n * @param value The value to stringify\n * @returns A stringified representation of the given value\n */\nfunction stringifyValue(\n key: unknown,\n // this type is a tiny bit of a cheat, since this function does handle NaN (which is technically a number), but for\n // our internal use, it'll do\n value: Exclude,\n): string {\n try {\n if (key === 'domain' && value && typeof value === 'object' && (value as { _events: unknown })._events) {\n return '[Domain]';\n }\n\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n }\n\n // It's safe to use `global`, `window`, and `document` here in this manner, as we are asserting using `typeof` first\n // which won't throw if they are not present.\n\n if (typeof global !== 'undefined' && value === global) {\n return '[Global]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof window !== 'undefined' && value === window) {\n return '[Window]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof document !== 'undefined' && value === document) {\n return '[Document]';\n }\n\n if (isVueViewModel(value)) {\n return '[VueViewModel]';\n }\n\n // React's SyntheticEvent thingy\n if (isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n\n if (typeof value === 'number' && !Number.isFinite(value)) {\n return `[${value}]`;\n }\n\n if (typeof value === 'function') {\n return `[Function: ${getFunctionName(value)}]`;\n }\n\n if (typeof value === 'symbol') {\n return `[${String(value)}]`;\n }\n\n // stringified BigInts are indistinguishable from regular numbers, so we need to label them to avoid confusion\n if (typeof value === 'bigint') {\n return `[BigInt: ${String(value)}]`;\n }\n\n // Now that we've knocked out all the special cases and the primitives, all we have left are objects. Simply casting\n // them to strings means that instances of classes which haven't defined their `toStringTag` will just come out as\n // `\"[object Object]\"`. If we instead look at the constructor's name (which is the same as the name of the class),\n // we can make sure that only plain objects come out that way.\n const objName = getConstructorName(value);\n\n // Handle HTML Elements\n if (/^HTML(\\w*)Element$/.test(objName)) {\n return `[HTMLElement: ${objName}]`;\n }\n\n return `[object ${objName}]`;\n } catch (err) {\n return `**non-serializable** (${err})`;\n }\n}\n/* eslint-enable complexity */\n\nfunction getConstructorName(value: unknown): string {\n const prototype: Prototype | null = Object.getPrototypeOf(value);\n\n return prototype ? prototype.constructor.name : 'null prototype';\n}\n\n/** Calculates bytes size of input string */\nfunction utf8Length(value: string): number {\n // eslint-disable-next-line no-bitwise\n return ~-encodeURI(value).split(/%..|./).length;\n}\n\n/** Calculates bytes size of input object */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction jsonSize(value: any): number {\n return utf8Length(JSON.stringify(value));\n}\n\n/**\n * Normalizes URLs in exceptions and stacktraces to a base path so Sentry can fingerprint\n * across platforms and working directory.\n *\n * @param url The URL to be normalized.\n * @param basePath The application base path.\n * @returns The normalized URL.\n */\nexport function normalizeUrlToBase(url: string, basePath: string): string {\n const escapedBase = basePath\n // Backslash to forward\n .replace(/\\\\/g, '/')\n // Escape RegExp special characters\n .replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n\n let newUrl = url;\n try {\n newUrl = decodeURI(url);\n } catch (_Oo) {\n // Sometime this breaks\n }\n return (\n newUrl\n .replace(/\\\\/g, '/')\n .replace(/webpack:\\/?/g, '') // Remove intermediate base path\n // eslint-disable-next-line @sentry-internal/sdk/no-regexp-constructor\n .replace(new RegExp(`(file://)?/*${escapedBase}/*`, 'ig'), 'app:///')\n );\n}\n", "import type {\n Attachment,\n AttachmentItem,\n BaseEnvelopeHeaders,\n BaseEnvelopeItemHeaders,\n DataCategory,\n DsnComponents,\n Envelope,\n EnvelopeItemType,\n Event,\n EventEnvelopeHeaders,\n SdkInfo,\n SdkMetadata,\n SpanItem,\n SpanJSON,\n} from '@sentry/types';\n\nimport { dsnToString } from './dsn';\nimport { normalize } from './normalize';\nimport { dropUndefinedKeys } from './object';\nimport { GLOBAL_OBJ } from './worldwide';\n\n/**\n * Creates an envelope.\n * Make sure to always explicitly provide the generic to this function\n * so that the envelope types resolve correctly.\n */\nexport function createEnvelope(headers: E[0], items: E[1] = []): E {\n return [headers, items] as E;\n}\n\n/**\n * Add an item to an envelope.\n * Make sure to always explicitly provide the generic to this function\n * so that the envelope types resolve correctly.\n */\nexport function addItemToEnvelope(envelope: E, newItem: E[1][number]): E {\n const [headers, items] = envelope;\n return [headers, [...items, newItem]] as unknown as E;\n}\n\n/**\n * Convenience function to loop through the items and item types of an envelope.\n * (This function was mostly created because working with envelope types is painful at the moment)\n *\n * If the callback returns true, the rest of the items will be skipped.\n */\nexport function forEachEnvelopeItem(\n envelope: Envelope,\n callback: (envelopeItem: E[1][number], envelopeItemType: E[1][number][0]['type']) => boolean | void,\n): boolean {\n const envelopeItems = envelope[1];\n\n for (const envelopeItem of envelopeItems) {\n const envelopeItemType = envelopeItem[0].type;\n const result = callback(envelopeItem, envelopeItemType);\n\n if (result) {\n return true;\n }\n }\n\n return false;\n}\n\n/**\n * Returns true if the envelope contains any of the given envelope item types\n */\nexport function envelopeContainsItemType(envelope: Envelope, types: EnvelopeItemType[]): boolean {\n return forEachEnvelopeItem(envelope, (_, type) => types.includes(type));\n}\n\n/**\n * Encode a string to UTF8 array.\n */\nfunction encodeUTF8(input: string): Uint8Array {\n return GLOBAL_OBJ.__SENTRY__ && GLOBAL_OBJ.__SENTRY__.encodePolyfill\n ? GLOBAL_OBJ.__SENTRY__.encodePolyfill(input)\n : new TextEncoder().encode(input);\n}\n\n/**\n * Decode a UTF8 array to string.\n */\nfunction decodeUTF8(input: Uint8Array): string {\n return GLOBAL_OBJ.__SENTRY__ && GLOBAL_OBJ.__SENTRY__.decodePolyfill\n ? GLOBAL_OBJ.__SENTRY__.decodePolyfill(input)\n : new TextDecoder().decode(input);\n}\n\n/**\n * Serializes an envelope.\n */\nexport function serializeEnvelope(envelope: Envelope): string | Uint8Array {\n const [envHeaders, items] = envelope;\n\n // Initially we construct our envelope as a string and only convert to binary chunks if we encounter binary data\n let parts: string | Uint8Array[] = JSON.stringify(envHeaders);\n\n function append(next: string | Uint8Array): void {\n if (typeof parts === 'string') {\n parts = typeof next === 'string' ? parts + next : [encodeUTF8(parts), next];\n } else {\n parts.push(typeof next === 'string' ? encodeUTF8(next) : next);\n }\n }\n\n for (const item of items) {\n const [itemHeaders, payload] = item;\n\n append(`\\n${JSON.stringify(itemHeaders)}\\n`);\n\n if (typeof payload === 'string' || payload instanceof Uint8Array) {\n append(payload);\n } else {\n let stringifiedPayload: string;\n try {\n stringifiedPayload = JSON.stringify(payload);\n } catch (e) {\n // In case, despite all our efforts to keep `payload` circular-dependency-free, `JSON.stringify()` still\n // fails, we try again after normalizing it again with infinite normalization depth. This of course has a\n // performance impact but in this case a performance hit is better than throwing.\n stringifiedPayload = JSON.stringify(normalize(payload));\n }\n append(stringifiedPayload);\n }\n }\n\n return typeof parts === 'string' ? parts : concatBuffers(parts);\n}\n\nfunction concatBuffers(buffers: Uint8Array[]): Uint8Array {\n const totalLength = buffers.reduce((acc, buf) => acc + buf.length, 0);\n\n const merged = new Uint8Array(totalLength);\n let offset = 0;\n for (const buffer of buffers) {\n merged.set(buffer, offset);\n offset += buffer.length;\n }\n\n return merged;\n}\n\n/**\n * Parses an envelope\n */\nexport function parseEnvelope(env: string | Uint8Array): Envelope {\n let buffer = typeof env === 'string' ? encodeUTF8(env) : env;\n\n function readBinary(length: number): Uint8Array {\n const bin = buffer.subarray(0, length);\n // Replace the buffer with the remaining data excluding trailing newline\n buffer = buffer.subarray(length + 1);\n return bin;\n }\n\n function readJson(): T {\n let i = buffer.indexOf(0xa);\n // If we couldn't find a newline, we must have found the end of the buffer\n if (i < 0) {\n i = buffer.length;\n }\n\n return JSON.parse(decodeUTF8(readBinary(i))) as T;\n }\n\n const envelopeHeader = readJson();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const items: [any, any][] = [];\n\n while (buffer.length) {\n const itemHeader = readJson();\n const binaryLength = typeof itemHeader.length === 'number' ? itemHeader.length : undefined;\n\n items.push([itemHeader, binaryLength ? readBinary(binaryLength) : readJson()]);\n }\n\n return [envelopeHeader, items];\n}\n\n/**\n * Creates envelope item for a single span\n */\nexport function createSpanEnvelopeItem(spanJson: Partial): SpanItem {\n const spanHeaders: SpanItem[0] = {\n type: 'span',\n };\n\n return [spanHeaders, spanJson];\n}\n\n/**\n * Creates attachment envelope items\n */\nexport function createAttachmentEnvelopeItem(attachment: Attachment): AttachmentItem {\n const buffer = typeof attachment.data === 'string' ? encodeUTF8(attachment.data) : attachment.data;\n\n return [\n dropUndefinedKeys({\n type: 'attachment',\n length: buffer.length,\n filename: attachment.filename,\n content_type: attachment.contentType,\n attachment_type: attachment.attachmentType,\n }),\n buffer,\n ];\n}\n\nconst ITEM_TYPE_TO_DATA_CATEGORY_MAP: Record = {\n session: 'session',\n sessions: 'session',\n attachment: 'attachment',\n transaction: 'transaction',\n event: 'error',\n client_report: 'internal',\n user_report: 'default',\n profile: 'profile',\n profile_chunk: 'profile',\n replay_event: 'replay',\n replay_recording: 'replay',\n check_in: 'monitor',\n feedback: 'feedback',\n span: 'span',\n statsd: 'metric_bucket',\n};\n\n/**\n * Maps the type of an envelope item to a data category.\n */\nexport function envelopeItemTypeToDataCategory(type: EnvelopeItemType): DataCategory {\n return ITEM_TYPE_TO_DATA_CATEGORY_MAP[type];\n}\n\n/** Extracts the minimal SDK info from the metadata or an events */\nexport function getSdkMetadataForEnvelopeHeader(metadataOrEvent?: SdkMetadata | Event): SdkInfo | undefined {\n if (!metadataOrEvent || !metadataOrEvent.sdk) {\n return;\n }\n const { name, version } = metadataOrEvent.sdk;\n return { name, version };\n}\n\n/**\n * Creates event envelope headers, based on event, sdk info and tunnel\n * Note: This function was extracted from the core package to make it available in Replay\n */\nexport function createEventEnvelopeHeaders(\n event: Event,\n sdkInfo: SdkInfo | undefined,\n tunnel: string | undefined,\n dsn?: DsnComponents,\n): EventEnvelopeHeaders {\n const dynamicSamplingContext = event.sdkProcessingMetadata && event.sdkProcessingMetadata.dynamicSamplingContext;\n return {\n event_id: event.event_id as string,\n sent_at: new Date().toISOString(),\n ...(sdkInfo && { sdk: sdkInfo }),\n ...(!!tunnel && dsn && { dsn: dsnToString(dsn) }),\n ...(dynamicSamplingContext && {\n trace: dropUndefinedKeys({ ...dynamicSamplingContext }),\n }),\n };\n}\n", "import type {\n Client,\n DsnComponents,\n DynamicSamplingContext,\n Event,\n EventEnvelope,\n EventItem,\n SdkInfo,\n SdkMetadata,\n Session,\n SessionAggregates,\n SessionEnvelope,\n SessionItem,\n SpanEnvelope,\n SpanItem,\n SpanJSON,\n} from '@sentry/types';\nimport { getDynamicSamplingContextFromSpan } from './tracing/dynamicSamplingContext';\nimport type { SentrySpan } from './tracing/sentrySpan';\nimport { dsnToString } from './utils-hoist/dsn';\nimport {\n createEnvelope,\n createEventEnvelopeHeaders,\n createSpanEnvelopeItem,\n getSdkMetadataForEnvelopeHeader,\n} from './utils-hoist/envelope';\nimport { showSpanDropWarning, spanToJSON } from './utils/spanUtils';\n\n/**\n * Apply SdkInfo (name, version, packages, integrations) to the corresponding event key.\n * Merge with existing data if any.\n **/\nfunction enhanceEventWithSdkInfo(event: Event, sdkInfo?: SdkInfo): Event {\n if (!sdkInfo) {\n return event;\n }\n event.sdk = event.sdk || {};\n event.sdk.name = event.sdk.name || sdkInfo.name;\n event.sdk.version = event.sdk.version || sdkInfo.version;\n event.sdk.integrations = [...(event.sdk.integrations || []), ...(sdkInfo.integrations || [])];\n event.sdk.packages = [...(event.sdk.packages || []), ...(sdkInfo.packages || [])];\n return event;\n}\n\n/** Creates an envelope from a Session */\nexport function createSessionEnvelope(\n session: Session | SessionAggregates,\n dsn?: DsnComponents,\n metadata?: SdkMetadata,\n tunnel?: string,\n): SessionEnvelope {\n const sdkInfo = getSdkMetadataForEnvelopeHeader(metadata);\n const envelopeHeaders = {\n sent_at: new Date().toISOString(),\n ...(sdkInfo && { sdk: sdkInfo }),\n ...(!!tunnel && dsn && { dsn: dsnToString(dsn) }),\n };\n\n const envelopeItem: SessionItem =\n 'aggregates' in session ? [{ type: 'sessions' }, session] : [{ type: 'session' }, session.toJSON()];\n\n return createEnvelope(envelopeHeaders, [envelopeItem]);\n}\n\n/**\n * Create an Envelope from an event.\n */\nexport function createEventEnvelope(\n event: Event,\n dsn?: DsnComponents,\n metadata?: SdkMetadata,\n tunnel?: string,\n): EventEnvelope {\n const sdkInfo = getSdkMetadataForEnvelopeHeader(metadata);\n\n /*\n Note: Due to TS, event.type may be `replay_event`, theoretically.\n In practice, we never call `createEventEnvelope` with `replay_event` type,\n and we'd have to adjust a looot of types to make this work properly.\n We want to avoid casting this around, as that could lead to bugs (e.g. when we add another type)\n So the safe choice is to really guard against the replay_event type here.\n */\n const eventType = event.type && event.type !== 'replay_event' ? event.type : 'event';\n\n enhanceEventWithSdkInfo(event, metadata && metadata.sdk);\n\n const envelopeHeaders = createEventEnvelopeHeaders(event, sdkInfo, tunnel, dsn);\n\n // Prevent this data (which, if it exists, was used in earlier steps in the processing pipeline) from being sent to\n // sentry. (Note: Our use of this property comes and goes with whatever we might be debugging, whatever hacks we may\n // have temporarily added, etc. Even if we don't happen to be using it at some point in the future, let's not get rid\n // of this `delete`, lest we miss putting it back in the next time the property is in use.)\n delete event.sdkProcessingMetadata;\n\n const eventItem: EventItem = [{ type: eventType }, event];\n return createEnvelope(envelopeHeaders, [eventItem]);\n}\n\n/**\n * Create envelope from Span item.\n *\n * Takes an optional client and runs spans through `beforeSendSpan` if available.\n */\nexport function createSpanEnvelope(spans: [SentrySpan, ...SentrySpan[]], client?: Client): SpanEnvelope {\n function dscHasRequiredProps(dsc: Partial): dsc is DynamicSamplingContext {\n return !!dsc.trace_id && !!dsc.public_key;\n }\n\n // For the moment we'll obtain the DSC from the first span in the array\n // This might need to be changed if we permit sending multiple spans from\n // different segments in one envelope\n const dsc = getDynamicSamplingContextFromSpan(spans[0]);\n\n const dsn = client && client.getDsn();\n const tunnel = client && client.getOptions().tunnel;\n\n const headers: SpanEnvelope[0] = {\n sent_at: new Date().toISOString(),\n ...(dscHasRequiredProps(dsc) && { trace: dsc }),\n ...(!!tunnel && dsn && { dsn: dsnToString(dsn) }),\n };\n\n const beforeSendSpan = client && client.getOptions().beforeSendSpan;\n const convertToSpanJSON = beforeSendSpan\n ? (span: SentrySpan) => {\n const spanJson = beforeSendSpan(spanToJSON(span) as SpanJSON);\n if (!spanJson) {\n showSpanDropWarning();\n }\n return spanJson;\n }\n : (span: SentrySpan) => spanToJSON(span);\n\n const items: SpanItem[] = [];\n for (const span of spans) {\n const spanJson = convertToSpanJSON(span);\n if (spanJson) {\n items.push(createSpanEnvelopeItem(spanJson));\n }\n }\n\n return createEnvelope(headers, items);\n}\n", "import type { Event, EventHint, EventProcessor } from '@sentry/types';\n\nimport { DEBUG_BUILD } from './debug-build';\nimport { isThenable } from './utils-hoist/is';\nimport { logger } from './utils-hoist/logger';\nimport { SyncPromise } from './utils-hoist/syncpromise';\n\n/**\n * Process an array of event processors, returning the processed event (or `null` if the event was dropped).\n */\nexport function notifyEventProcessors(\n processors: EventProcessor[],\n event: Event | null,\n hint: EventHint,\n index: number = 0,\n): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n const processor = processors[index];\n if (event === null || typeof processor !== 'function') {\n resolve(event);\n } else {\n const result = processor({ ...event }, hint) as Event | null;\n\n DEBUG_BUILD && processor.id && result === null && logger.log(`Event processor \"${processor.id}\" dropped event`);\n\n if (isThenable(result)) {\n void result\n .then(final => notifyEventProcessors(processors, final, hint, index + 1).then(resolve))\n .then(null, reject);\n } else {\n void notifyEventProcessors(processors, result, hint, index + 1)\n .then(resolve)\n .then(null, reject);\n }\n }\n });\n}\n", "import type { DebugImage, StackParser } from '@sentry/types';\nimport { GLOBAL_OBJ } from './worldwide';\n\ntype StackString = string;\ntype CachedResult = [string, string];\n\nlet parsedStackResults: Record | undefined;\nlet lastKeysCount: number | undefined;\nlet cachedFilenameDebugIds: Record | undefined;\n\n/**\n * Returns a map of filenames to debug identifiers.\n */\nexport function getFilenameToDebugIdMap(stackParser: StackParser): Record {\n const debugIdMap = GLOBAL_OBJ._sentryDebugIds;\n if (!debugIdMap) {\n return {};\n }\n\n const debugIdKeys = Object.keys(debugIdMap);\n\n // If the count of registered globals hasn't changed since the last call, we\n // can just return the cached result.\n if (cachedFilenameDebugIds && debugIdKeys.length === lastKeysCount) {\n return cachedFilenameDebugIds;\n }\n\n lastKeysCount = debugIdKeys.length;\n\n // Build a map of filename -> debug_id.\n cachedFilenameDebugIds = debugIdKeys.reduce>((acc, stackKey) => {\n if (!parsedStackResults) {\n parsedStackResults = {};\n }\n\n const result = parsedStackResults[stackKey];\n\n if (result) {\n acc[result[0]] = result[1];\n } else {\n const parsedStack = stackParser(stackKey);\n\n for (let i = parsedStack.length - 1; i >= 0; i--) {\n const stackFrame = parsedStack[i];\n const filename = stackFrame && stackFrame.filename;\n const debugId = debugIdMap[stackKey];\n\n if (filename && debugId) {\n acc[filename] = debugId;\n parsedStackResults[stackKey] = [filename, debugId];\n break;\n }\n }\n }\n\n return acc;\n }, {});\n\n return cachedFilenameDebugIds;\n}\n\n/**\n * Returns a list of debug images for the given resources.\n */\nexport function getDebugImagesForResources(\n stackParser: StackParser,\n resource_paths: ReadonlyArray,\n): DebugImage[] {\n const filenameDebugIdMap = getFilenameToDebugIdMap(stackParser);\n\n if (!filenameDebugIdMap) {\n return [];\n }\n\n const images: DebugImage[] = [];\n for (const path of resource_paths) {\n if (path && filenameDebugIdMap[path]) {\n images.push({\n type: 'sourcemap',\n code_file: path,\n debug_id: filenameDebugIdMap[path] as string,\n });\n }\n }\n\n return images;\n}\n", "import type { Breadcrumb, Event, ScopeData, Span } from '@sentry/types';\nimport { getDynamicSamplingContextFromSpan } from '../tracing/dynamicSamplingContext';\nimport { dropUndefinedKeys } from '../utils-hoist';\nimport { merge } from './merge';\nimport { getRootSpan, spanToJSON, spanToTraceContext } from './spanUtils';\n\n/**\n * Applies data from the scope to the event and runs all event processors on it.\n */\nexport function applyScopeDataToEvent(event: Event, data: ScopeData): void {\n const { fingerprint, span, breadcrumbs, sdkProcessingMetadata } = data;\n\n // Apply general data\n applyDataToEvent(event, data);\n\n // We want to set the trace context for normal events only if there isn't already\n // a trace context on the event. There is a product feature in place where we link\n // errors with transaction and it relies on that.\n if (span) {\n applySpanToEvent(event, span);\n }\n\n applyFingerprintToEvent(event, fingerprint);\n applyBreadcrumbsToEvent(event, breadcrumbs);\n applySdkMetadataToEvent(event, sdkProcessingMetadata);\n}\n\n/** Merge data of two scopes together. */\nexport function mergeScopeData(data: ScopeData, mergeData: ScopeData): void {\n const {\n extra,\n tags,\n user,\n contexts,\n level,\n sdkProcessingMetadata,\n breadcrumbs,\n fingerprint,\n eventProcessors,\n attachments,\n propagationContext,\n transactionName,\n span,\n } = mergeData;\n\n mergeAndOverwriteScopeData(data, 'extra', extra);\n mergeAndOverwriteScopeData(data, 'tags', tags);\n mergeAndOverwriteScopeData(data, 'user', user);\n mergeAndOverwriteScopeData(data, 'contexts', contexts);\n\n data.sdkProcessingMetadata = merge(data.sdkProcessingMetadata, sdkProcessingMetadata, 2);\n\n if (level) {\n data.level = level;\n }\n\n if (transactionName) {\n data.transactionName = transactionName;\n }\n\n if (span) {\n data.span = span;\n }\n\n if (breadcrumbs.length) {\n data.breadcrumbs = [...data.breadcrumbs, ...breadcrumbs];\n }\n\n if (fingerprint.length) {\n data.fingerprint = [...data.fingerprint, ...fingerprint];\n }\n\n if (eventProcessors.length) {\n data.eventProcessors = [...data.eventProcessors, ...eventProcessors];\n }\n\n if (attachments.length) {\n data.attachments = [...data.attachments, ...attachments];\n }\n\n data.propagationContext = { ...data.propagationContext, ...propagationContext };\n}\n\n/**\n * Merges certain scope data. Undefined values will overwrite any existing values.\n * Exported only for tests.\n */\nexport function mergeAndOverwriteScopeData<\n Prop extends 'extra' | 'tags' | 'user' | 'contexts' | 'sdkProcessingMetadata',\n Data extends ScopeData,\n>(data: Data, prop: Prop, mergeVal: Data[Prop]): void {\n data[prop] = merge(data[prop], mergeVal, 1);\n}\n\n/** Exported only for tests */\nexport function mergeArray(\n event: Event,\n prop: Prop,\n mergeVal: ScopeData[Prop],\n): void {\n const prevVal = event[prop];\n // If we are not merging any new values,\n // we only need to proceed if there was an empty array before (as we want to replace it with undefined)\n if (!mergeVal.length && (!prevVal || prevVal.length)) {\n return;\n }\n\n const merged = [...(prevVal || []), ...mergeVal] as ScopeData[Prop];\n event[prop] = merged.length ? merged : undefined;\n}\n\nfunction applyDataToEvent(event: Event, data: ScopeData): void {\n const { extra, tags, user, contexts, level, transactionName } = data;\n\n const cleanedExtra = dropUndefinedKeys(extra);\n if (cleanedExtra && Object.keys(cleanedExtra).length) {\n event.extra = { ...cleanedExtra, ...event.extra };\n }\n\n const cleanedTags = dropUndefinedKeys(tags);\n if (cleanedTags && Object.keys(cleanedTags).length) {\n event.tags = { ...cleanedTags, ...event.tags };\n }\n\n const cleanedUser = dropUndefinedKeys(user);\n if (cleanedUser && Object.keys(cleanedUser).length) {\n event.user = { ...cleanedUser, ...event.user };\n }\n\n const cleanedContexts = dropUndefinedKeys(contexts);\n if (cleanedContexts && Object.keys(cleanedContexts).length) {\n event.contexts = { ...cleanedContexts, ...event.contexts };\n }\n\n if (level) {\n event.level = level;\n }\n\n // transaction events get their `transaction` from the root span name\n if (transactionName && event.type !== 'transaction') {\n event.transaction = transactionName;\n }\n}\n\nfunction applyBreadcrumbsToEvent(event: Event, breadcrumbs: Breadcrumb[]): void {\n const mergedBreadcrumbs = [...(event.breadcrumbs || []), ...breadcrumbs];\n event.breadcrumbs = mergedBreadcrumbs.length ? mergedBreadcrumbs : undefined;\n}\n\nfunction applySdkMetadataToEvent(event: Event, sdkProcessingMetadata: ScopeData['sdkProcessingMetadata']): void {\n event.sdkProcessingMetadata = {\n ...event.sdkProcessingMetadata,\n ...sdkProcessingMetadata,\n };\n}\n\nfunction applySpanToEvent(event: Event, span: Span): void {\n event.contexts = {\n trace: spanToTraceContext(span),\n ...event.contexts,\n };\n\n event.sdkProcessingMetadata = {\n dynamicSamplingContext: getDynamicSamplingContextFromSpan(span),\n ...event.sdkProcessingMetadata,\n };\n\n const rootSpan = getRootSpan(span);\n const transactionName = spanToJSON(rootSpan).description;\n if (transactionName && !event.transaction && event.type === 'transaction') {\n event.transaction = transactionName;\n }\n}\n\n/**\n * Applies fingerprint from the scope to the event if there's one,\n * uses message if there's one instead or get rid of empty fingerprint\n */\nfunction applyFingerprintToEvent(event: Event, fingerprint: ScopeData['fingerprint'] | undefined): void {\n // Make sure it's an array first and we actually have something in place\n event.fingerprint = event.fingerprint\n ? Array.isArray(event.fingerprint)\n ? event.fingerprint\n : [event.fingerprint]\n : [];\n\n // If we have something on the scope, then merge it with event\n if (fingerprint) {\n event.fingerprint = event.fingerprint.concat(fingerprint);\n }\n\n // If we have no data at all, remove empty array default\n if (event.fingerprint && !event.fingerprint.length) {\n delete event.fingerprint;\n }\n}\n", "import type {\n CaptureContext,\n Client,\n ClientOptions,\n Event,\n EventHint,\n Scope as ScopeInterface,\n ScopeContext,\n StackParser,\n} from '@sentry/types';\n\nimport { DEFAULT_ENVIRONMENT } from '../constants';\nimport { getGlobalScope } from '../currentScopes';\nimport { notifyEventProcessors } from '../eventProcessors';\nimport { Scope } from '../scope';\nimport { getFilenameToDebugIdMap } from '../utils-hoist/debug-ids';\nimport { addExceptionMechanism, uuid4 } from '../utils-hoist/misc';\nimport { normalize } from '../utils-hoist/normalize';\nimport { truncate } from '../utils-hoist/string';\nimport { dateTimestampInSeconds } from '../utils-hoist/time';\nimport { applyScopeDataToEvent, mergeScopeData } from './applyScopeDataToEvent';\n\n/**\n * This type makes sure that we get either a CaptureContext, OR an EventHint.\n * It does not allow mixing them, which could lead to unexpected outcomes, e.g. this is disallowed:\n * { user: { id: '123' }, mechanism: { handled: false } }\n */\nexport type ExclusiveEventHintOrCaptureContext =\n | (CaptureContext & Partial<{ [key in keyof EventHint]: never }>)\n | (EventHint & Partial<{ [key in keyof ScopeContext]: never }>);\n\n/**\n * Adds common information to events.\n *\n * The information includes release and environment from `options`,\n * breadcrumbs and context (extra, tags and user) from the scope.\n *\n * Information that is already present in the event is never overwritten. For\n * nested objects, such as the context, keys are merged.\n *\n * @param event The original event.\n * @param hint May contain additional information about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A new event with more information.\n * @hidden\n */\nexport function prepareEvent(\n options: ClientOptions,\n event: Event,\n hint: EventHint,\n scope?: ScopeInterface,\n client?: Client,\n isolationScope?: ScopeInterface,\n): PromiseLike {\n const { normalizeDepth = 3, normalizeMaxBreadth = 1_000 } = options;\n const prepared: Event = {\n ...event,\n event_id: event.event_id || hint.event_id || uuid4(),\n timestamp: event.timestamp || dateTimestampInSeconds(),\n };\n const integrations = hint.integrations || options.integrations.map(i => i.name);\n\n applyClientOptions(prepared, options);\n applyIntegrationsMetadata(prepared, integrations);\n\n if (client) {\n client.emit('applyFrameMetadata', event);\n }\n\n // Only put debug IDs onto frames for error events.\n if (event.type === undefined) {\n applyDebugIds(prepared, options.stackParser);\n }\n\n // If we have scope given to us, use it as the base for further modifications.\n // This allows us to prevent unnecessary copying of data if `captureContext` is not provided.\n const finalScope = getFinalScope(scope, hint.captureContext);\n\n if (hint.mechanism) {\n addExceptionMechanism(prepared, hint.mechanism);\n }\n\n const clientEventProcessors = client ? client.getEventProcessors() : [];\n\n // This should be the last thing called, since we want that\n // {@link Scope.addEventProcessor} gets the finished prepared event.\n // Merge scope data together\n const data = getGlobalScope().getScopeData();\n\n if (isolationScope) {\n const isolationData = isolationScope.getScopeData();\n mergeScopeData(data, isolationData);\n }\n\n if (finalScope) {\n const finalScopeData = finalScope.getScopeData();\n mergeScopeData(data, finalScopeData);\n }\n\n const attachments = [...(hint.attachments || []), ...data.attachments];\n if (attachments.length) {\n hint.attachments = attachments;\n }\n\n applyScopeDataToEvent(prepared, data);\n\n const eventProcessors = [\n ...clientEventProcessors,\n // Run scope event processors _after_ all other processors\n ...data.eventProcessors,\n ];\n\n const result = notifyEventProcessors(eventProcessors, prepared, hint);\n\n return result.then(evt => {\n if (evt) {\n // We apply the debug_meta field only after all event processors have ran, so that if any event processors modified\n // file names (e.g.the RewriteFrames integration) the filename -> debug ID relationship isn't destroyed.\n // This should not cause any PII issues, since we're only moving data that is already on the event and not adding\n // any new data\n applyDebugMeta(evt);\n }\n\n if (typeof normalizeDepth === 'number' && normalizeDepth > 0) {\n return normalizeEvent(evt, normalizeDepth, normalizeMaxBreadth);\n }\n return evt;\n });\n}\n\n/**\n * Enhances event using the client configuration.\n * It takes care of all \"static\" values like environment, release and `dist`,\n * as well as truncating overly long values.\n *\n * Only exported for tests.\n *\n * @param event event instance to be enhanced\n */\nexport function applyClientOptions(event: Event, options: ClientOptions): void {\n const { environment, release, dist, maxValueLength = 250 } = options;\n\n // empty strings do not make sense for environment, release, and dist\n // so we handle them the same as if they were not provided\n event.environment = event.environment || environment || DEFAULT_ENVIRONMENT;\n\n if (!event.release && release) {\n event.release = release;\n }\n\n if (!event.dist && dist) {\n event.dist = dist;\n }\n\n if (event.message) {\n event.message = truncate(event.message, maxValueLength);\n }\n\n const exception = event.exception && event.exception.values && event.exception.values[0];\n if (exception && exception.value) {\n exception.value = truncate(exception.value, maxValueLength);\n }\n\n const request = event.request;\n if (request && request.url) {\n request.url = truncate(request.url, maxValueLength);\n }\n}\n\n/**\n * Puts debug IDs into the stack frames of an error event.\n */\nexport function applyDebugIds(event: Event, stackParser: StackParser): void {\n // Build a map of filename -> debug_id\n const filenameDebugIdMap = getFilenameToDebugIdMap(stackParser);\n\n try {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n event!.exception!.values!.forEach(exception => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n exception.stacktrace!.frames!.forEach(frame => {\n if (filenameDebugIdMap && frame.filename) {\n frame.debug_id = filenameDebugIdMap[frame.filename];\n }\n });\n });\n } catch (e) {\n // To save bundle size we're just try catching here instead of checking for the existence of all the different objects.\n }\n}\n\n/**\n * Moves debug IDs from the stack frames of an error event into the debug_meta field.\n */\nexport function applyDebugMeta(event: Event): void {\n // Extract debug IDs and filenames from the stack frames on the event.\n const filenameDebugIdMap: Record = {};\n try {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n event.exception!.values!.forEach(exception => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n exception.stacktrace!.frames!.forEach(frame => {\n if (frame.debug_id) {\n if (frame.abs_path) {\n filenameDebugIdMap[frame.abs_path] = frame.debug_id;\n } else if (frame.filename) {\n filenameDebugIdMap[frame.filename] = frame.debug_id;\n }\n delete frame.debug_id;\n }\n });\n });\n } catch (e) {\n // To save bundle size we're just try catching here instead of checking for the existence of all the different objects.\n }\n\n if (Object.keys(filenameDebugIdMap).length === 0) {\n return;\n }\n\n // Fill debug_meta information\n event.debug_meta = event.debug_meta || {};\n event.debug_meta.images = event.debug_meta.images || [];\n const images = event.debug_meta.images;\n Object.entries(filenameDebugIdMap).forEach(([filename, debug_id]) => {\n images.push({\n type: 'sourcemap',\n code_file: filename,\n debug_id,\n });\n });\n}\n\n/**\n * This function adds all used integrations to the SDK info in the event.\n * @param event The event that will be filled with all integrations.\n */\nfunction applyIntegrationsMetadata(event: Event, integrationNames: string[]): void {\n if (integrationNames.length > 0) {\n event.sdk = event.sdk || {};\n event.sdk.integrations = [...(event.sdk.integrations || []), ...integrationNames];\n }\n}\n\n/**\n * Applies `normalize` function on necessary `Event` attributes to make them safe for serialization.\n * Normalized keys:\n * - `breadcrumbs.data`\n * - `user`\n * - `contexts`\n * - `extra`\n * @param event Event\n * @returns Normalized event\n */\nfunction normalizeEvent(event: Event | null, depth: number, maxBreadth: number): Event | null {\n if (!event) {\n return null;\n }\n\n const normalized: Event = {\n ...event,\n ...(event.breadcrumbs && {\n breadcrumbs: event.breadcrumbs.map(b => ({\n ...b,\n ...(b.data && {\n data: normalize(b.data, depth, maxBreadth),\n }),\n })),\n }),\n ...(event.user && {\n user: normalize(event.user, depth, maxBreadth),\n }),\n ...(event.contexts && {\n contexts: normalize(event.contexts, depth, maxBreadth),\n }),\n ...(event.extra && {\n extra: normalize(event.extra, depth, maxBreadth),\n }),\n };\n\n // event.contexts.trace stores information about a Transaction. Similarly,\n // event.spans[] stores information about child Spans. Given that a\n // Transaction is conceptually a Span, normalization should apply to both\n // Transactions and Spans consistently.\n // For now the decision is to skip normalization of Transactions and Spans,\n // so this block overwrites the normalized event to add back the original\n // Transaction information prior to normalization.\n if (event.contexts && event.contexts.trace && normalized.contexts) {\n normalized.contexts.trace = event.contexts.trace;\n\n // event.contexts.trace.data may contain circular/dangerous data so we need to normalize it\n if (event.contexts.trace.data) {\n normalized.contexts.trace.data = normalize(event.contexts.trace.data, depth, maxBreadth);\n }\n }\n\n // event.spans[].data may contain circular/dangerous data so we need to normalize it\n if (event.spans) {\n normalized.spans = event.spans.map(span => {\n return {\n ...span,\n ...(span.data && {\n data: normalize(span.data, depth, maxBreadth),\n }),\n };\n });\n }\n\n return normalized;\n}\n\nfunction getFinalScope(\n scope: ScopeInterface | undefined,\n captureContext: CaptureContext | undefined,\n): ScopeInterface | undefined {\n if (!captureContext) {\n return scope;\n }\n\n const finalScope = scope ? scope.clone() : new Scope();\n finalScope.update(captureContext);\n return finalScope;\n}\n\n/**\n * Parse either an `EventHint` directly, or convert a `CaptureContext` to an `EventHint`.\n * This is used to allow to update method signatures that used to accept a `CaptureContext` but should now accept an `EventHint`.\n */\nexport function parseEventHintOrCaptureContext(\n hint: ExclusiveEventHintOrCaptureContext | undefined,\n): EventHint | undefined {\n if (!hint) {\n return undefined;\n }\n\n // If you pass a Scope or `() => Scope` as CaptureContext, we just return this as captureContext\n if (hintIsScopeOrFunction(hint)) {\n return { captureContext: hint };\n }\n\n if (hintIsScopeContext(hint)) {\n return {\n captureContext: hint,\n };\n }\n\n return hint;\n}\n\nfunction hintIsScopeOrFunction(\n hint: CaptureContext | EventHint,\n): hint is ScopeInterface | ((scope: ScopeInterface) => ScopeInterface) {\n return hint instanceof Scope || typeof hint === 'function';\n}\n\ntype ScopeContextProperty = keyof ScopeContext;\nconst captureContextKeys: readonly ScopeContextProperty[] = [\n 'user',\n 'level',\n 'extra',\n 'contexts',\n 'tags',\n 'fingerprint',\n 'requestSession',\n 'propagationContext',\n] as const;\n\nfunction hintIsScopeContext(hint: Partial | EventHint): hint is Partial {\n return Object.keys(hint).some(key => captureContextKeys.includes(key as ScopeContextProperty));\n}\n", "import type {\n CaptureContext,\n CheckIn,\n Event,\n EventHint,\n EventProcessor,\n Extra,\n Extras,\n FinishedCheckIn,\n MonitorConfig,\n Primitive,\n Session,\n SessionContext,\n SeverityLevel,\n User,\n} from '@sentry/types';\n\nimport { DEFAULT_ENVIRONMENT } from './constants';\nimport { getClient, getCurrentScope, getIsolationScope, withIsolationScope } from './currentScopes';\nimport { DEBUG_BUILD } from './debug-build';\nimport { closeSession, makeSession, updateSession } from './session';\nimport { isThenable } from './utils-hoist/is';\nimport { logger } from './utils-hoist/logger';\nimport { uuid4 } from './utils-hoist/misc';\nimport { timestampInSeconds } from './utils-hoist/time';\nimport { GLOBAL_OBJ } from './utils-hoist/worldwide';\nimport type { ExclusiveEventHintOrCaptureContext } from './utils/prepareEvent';\nimport { parseEventHintOrCaptureContext } from './utils/prepareEvent';\n\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception The exception to capture.\n * @param hint Optional additional data to attach to the Sentry event.\n * @returns the id of the captured Sentry event.\n */\nexport function captureException(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n exception: any,\n hint?: ExclusiveEventHintOrCaptureContext,\n): string {\n return getCurrentScope().captureException(exception, parseEventHintOrCaptureContext(hint));\n}\n\n/**\n * Captures a message event and sends it to Sentry.\n *\n * @param message The message to send to Sentry.\n * @param captureContext Define the level of the message or pass in additional data to attach to the message.\n * @returns the id of the captured message.\n */\nexport function captureMessage(message: string, captureContext?: CaptureContext | SeverityLevel): string {\n // This is necessary to provide explicit scopes upgrade, without changing the original\n // arity of the `captureMessage(message, level)` method.\n const level = typeof captureContext === 'string' ? captureContext : undefined;\n const context = typeof captureContext !== 'string' ? { captureContext } : undefined;\n return getCurrentScope().captureMessage(message, level, context);\n}\n\n/**\n * Captures a manually created event and sends it to Sentry.\n *\n * @param event The event to send to Sentry.\n * @param hint Optional additional data to attach to the Sentry event.\n * @returns the id of the captured event.\n */\nexport function captureEvent(event: Event, hint?: EventHint): string {\n return getCurrentScope().captureEvent(event, hint);\n}\n\n/**\n * Sets context data with the given name.\n * @param name of the context\n * @param context Any kind of data. This data will be normalized.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function setContext(name: string, context: { [key: string]: any } | null): void {\n getIsolationScope().setContext(name, context);\n}\n\n/**\n * Set an object that will be merged sent as extra data with the event.\n * @param extras Extras object to merge into current context.\n */\nexport function setExtras(extras: Extras): void {\n getIsolationScope().setExtras(extras);\n}\n\n/**\n * Set key:value that will be sent as extra data with the event.\n * @param key String of extra\n * @param extra Any kind of data. This data will be normalized.\n */\nexport function setExtra(key: string, extra: Extra): void {\n getIsolationScope().setExtra(key, extra);\n}\n\n/**\n * Set an object that will be merged sent as tags data with the event.\n * @param tags Tags context object to merge into current context.\n */\nexport function setTags(tags: { [key: string]: Primitive }): void {\n getIsolationScope().setTags(tags);\n}\n\n/**\n * Set key:value that will be sent as tags data with the event.\n *\n * Can also be used to unset a tag, by passing `undefined`.\n *\n * @param key String key of tag\n * @param value Value of tag\n */\nexport function setTag(key: string, value: Primitive): void {\n getIsolationScope().setTag(key, value);\n}\n\n/**\n * Updates user context information for future events.\n *\n * @param user User context object to be set in the current context. Pass `null` to unset the user.\n */\nexport function setUser(user: User | null): void {\n getIsolationScope().setUser(user);\n}\n\n/**\n * The last error event id of the isolation scope.\n *\n * Warning: This function really returns the last recorded error event id on the current\n * isolation scope. If you call this function after handling a certain error and another error\n * is captured in between, the last one is returned instead of the one you might expect.\n * Also, ids of events that were never sent to Sentry (for example because\n * they were dropped in `beforeSend`) could be returned.\n *\n * @returns The last event id of the isolation scope.\n */\nexport function lastEventId(): string | undefined {\n return getIsolationScope().lastEventId();\n}\n\n/**\n * Create a cron monitor check in and send it to Sentry.\n *\n * @param checkIn An object that describes a check in.\n * @param upsertMonitorConfig An optional object that describes a monitor config. Use this if you want\n * to create a monitor automatically when sending a check in.\n */\nexport function captureCheckIn(checkIn: CheckIn, upsertMonitorConfig?: MonitorConfig): string {\n const scope = getCurrentScope();\n const client = getClient();\n if (!client) {\n DEBUG_BUILD && logger.warn('Cannot capture check-in. No client defined.');\n } else if (!client.captureCheckIn) {\n DEBUG_BUILD && logger.warn('Cannot capture check-in. Client does not support sending check-ins.');\n } else {\n return client.captureCheckIn(checkIn, upsertMonitorConfig, scope);\n }\n\n return uuid4();\n}\n\n/**\n * Wraps a callback with a cron monitor check in. The check in will be sent to Sentry when the callback finishes.\n *\n * @param monitorSlug The distinct slug of the monitor.\n * @param upsertMonitorConfig An optional object that describes a monitor config. Use this if you want\n * to create a monitor automatically when sending a check in.\n */\nexport function withMonitor(\n monitorSlug: CheckIn['monitorSlug'],\n callback: () => T,\n upsertMonitorConfig?: MonitorConfig,\n): T {\n const checkInId = captureCheckIn({ monitorSlug, status: 'in_progress' }, upsertMonitorConfig);\n const now = timestampInSeconds();\n\n function finishCheckIn(status: FinishedCheckIn['status']): void {\n captureCheckIn({ monitorSlug, status, checkInId, duration: timestampInSeconds() - now });\n }\n\n return withIsolationScope(() => {\n let maybePromiseResult: T;\n try {\n maybePromiseResult = callback();\n } catch (e) {\n finishCheckIn('error');\n throw e;\n }\n\n if (isThenable(maybePromiseResult)) {\n Promise.resolve(maybePromiseResult).then(\n () => {\n finishCheckIn('ok');\n },\n e => {\n finishCheckIn('error');\n throw e;\n },\n );\n } else {\n finishCheckIn('ok');\n }\n\n return maybePromiseResult;\n });\n}\n\n/**\n * Call `flush()` on the current client, if there is one. See {@link Client.flush}.\n *\n * @param timeout Maximum time in ms the client should wait to flush its event queue. Omitting this parameter will cause\n * the client to wait until all events are sent before resolving the promise.\n * @returns A promise which resolves to `true` if the queue successfully drains before the timeout, or `false` if it\n * doesn't (or if there's no client defined).\n */\nexport async function flush(timeout?: number): Promise {\n const client = getClient();\n if (client) {\n return client.flush(timeout);\n }\n DEBUG_BUILD && logger.warn('Cannot flush events. No client defined.');\n return Promise.resolve(false);\n}\n\n/**\n * Call `close()` on the current client, if there is one. See {@link Client.close}.\n *\n * @param timeout Maximum time in ms the client should wait to flush its event queue before shutting down. Omitting this\n * parameter will cause the client to wait until all events are sent before disabling itself.\n * @returns A promise which resolves to `true` if the queue successfully drains before the timeout, or `false` if it\n * doesn't (or if there's no client defined).\n */\nexport async function close(timeout?: number): Promise {\n const client = getClient();\n if (client) {\n return client.close(timeout);\n }\n DEBUG_BUILD && logger.warn('Cannot flush events and disable SDK. No client defined.');\n return Promise.resolve(false);\n}\n\n/**\n * Returns true if Sentry has been properly initialized.\n */\nexport function isInitialized(): boolean {\n return !!getClient();\n}\n\n/** If the SDK is initialized & enabled. */\nexport function isEnabled(): boolean {\n const client = getClient();\n return !!client && client.getOptions().enabled !== false && !!client.getTransport();\n}\n\n/**\n * Add an event processor.\n * This will be added to the current isolation scope, ensuring any event that is processed in the current execution\n * context will have the processor applied.\n */\nexport function addEventProcessor(callback: EventProcessor): void {\n getIsolationScope().addEventProcessor(callback);\n}\n\n/**\n * Start a session on the current isolation scope.\n *\n * @param context (optional) additional properties to be applied to the returned session object\n *\n * @returns the new active session\n */\nexport function startSession(context?: SessionContext): Session {\n const client = getClient();\n const isolationScope = getIsolationScope();\n const currentScope = getCurrentScope();\n\n const { release, environment = DEFAULT_ENVIRONMENT } = (client && client.getOptions()) || {};\n\n // Will fetch userAgent if called from browser sdk\n const { userAgent } = GLOBAL_OBJ.navigator || {};\n\n const session = makeSession({\n release,\n environment,\n user: currentScope.getUser() || isolationScope.getUser(),\n ...(userAgent && { userAgent }),\n ...context,\n });\n\n // End existing session if there's one\n const currentSession = isolationScope.getSession();\n if (currentSession && currentSession.status === 'ok') {\n updateSession(currentSession, { status: 'exited' });\n }\n\n endSession();\n\n // Afterwards we set the new session on the scope\n isolationScope.setSession(session);\n\n // TODO (v8): Remove this and only use the isolation scope(?).\n // For v7 though, we can't \"soft-break\" people using getCurrentHub().getScope().setSession()\n currentScope.setSession(session);\n\n return session;\n}\n\n/**\n * End the session on the current isolation scope.\n */\nexport function endSession(): void {\n const isolationScope = getIsolationScope();\n const currentScope = getCurrentScope();\n\n const session = currentScope.getSession() || isolationScope.getSession();\n if (session) {\n closeSession(session);\n }\n _sendSessionUpdate();\n\n // the session is over; take it off of the scope\n isolationScope.setSession();\n\n // TODO (v8): Remove this and only use the isolation scope(?).\n // For v7 though, we can't \"soft-break\" people using getCurrentHub().getScope().setSession()\n currentScope.setSession();\n}\n\n/**\n * Sends the current Session on the scope\n */\nfunction _sendSessionUpdate(): void {\n const isolationScope = getIsolationScope();\n const currentScope = getCurrentScope();\n const client = getClient();\n // TODO (v8): Remove currentScope and only use the isolation scope(?).\n // For v7 though, we can't \"soft-break\" people using getCurrentHub().getScope().setSession()\n const session = currentScope.getSession() || isolationScope.getSession();\n if (session && client) {\n client.captureSession(session);\n }\n}\n\n/**\n * Sends the current session on the scope to Sentry\n *\n * @param end If set the session will be marked as exited and removed from the scope.\n * Defaults to `false`.\n */\nexport function captureSession(end: boolean = false): void {\n // both send the update and pull the session from the scope\n if (end) {\n endSession();\n return;\n }\n\n // only send the update\n _sendSessionUpdate();\n}\n", "import type { DsnComponents, DsnLike, SdkInfo } from '@sentry/types';\nimport { dsnToString, makeDsn } from './utils-hoist/dsn';\n\nconst SENTRY_API_VERSION = '7';\n\n/** Returns the prefix to construct Sentry ingestion API endpoints. */\nfunction getBaseApiEndpoint(dsn: DsnComponents): string {\n const protocol = dsn.protocol ? `${dsn.protocol}:` : '';\n const port = dsn.port ? `:${dsn.port}` : '';\n return `${protocol}//${dsn.host}${port}${dsn.path ? `/${dsn.path}` : ''}/api/`;\n}\n\n/** Returns the ingest API endpoint for target. */\nfunction _getIngestEndpoint(dsn: DsnComponents): string {\n return `${getBaseApiEndpoint(dsn)}${dsn.projectId}/envelope/`;\n}\n\n/** Returns a URL-encoded string with auth config suitable for a query string. */\nfunction _encodedAuth(dsn: DsnComponents, sdkInfo: SdkInfo | undefined): string {\n const params: Record = {\n sentry_version: SENTRY_API_VERSION,\n };\n\n if (dsn.publicKey) {\n // We send only the minimum set of required information. See\n // https://github.com/getsentry/sentry-javascript/issues/2572.\n params.sentry_key = dsn.publicKey;\n }\n\n if (sdkInfo) {\n params.sentry_client = `${sdkInfo.name}/${sdkInfo.version}`;\n }\n\n return new URLSearchParams(params).toString();\n}\n\n/**\n * Returns the envelope endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\nexport function getEnvelopeEndpointWithUrlEncodedAuth(dsn: DsnComponents, tunnel?: string, sdkInfo?: SdkInfo): string {\n return tunnel ? tunnel : `${_getIngestEndpoint(dsn)}?${_encodedAuth(dsn, sdkInfo)}`;\n}\n\n/** Returns the url to the report dialog endpoint. */\nexport function getReportDialogEndpoint(\n dsnLike: DsnLike,\n dialogOptions: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n user?: { name?: string; email?: string };\n },\n): string {\n const dsn = makeDsn(dsnLike);\n if (!dsn) {\n return '';\n }\n\n const endpoint = `${getBaseApiEndpoint(dsn)}embed/error-page/`;\n\n let encodedOptions = `dsn=${dsnToString(dsn)}`;\n for (const key in dialogOptions) {\n if (key === 'dsn') {\n continue;\n }\n\n if (key === 'onClose') {\n continue;\n }\n\n if (key === 'user') {\n const user = dialogOptions.user;\n if (!user) {\n continue;\n }\n if (user.name) {\n encodedOptions += `&name=${encodeURIComponent(user.name)}`;\n }\n if (user.email) {\n encodedOptions += `&email=${encodeURIComponent(user.email)}`;\n }\n } else {\n encodedOptions += `&${encodeURIComponent(key)}=${encodeURIComponent(dialogOptions[key] as string)}`;\n }\n }\n\n return `${endpoint}?${encodedOptions}`;\n}\n", "import type { Client, Event, EventHint, Integration, IntegrationFn, Options } from '@sentry/types';\nimport { getClient } from './currentScopes';\n\nimport { DEBUG_BUILD } from './debug-build';\nimport { logger } from './utils-hoist/logger';\n\ndeclare module '@sentry/types' {\n interface Integration {\n isDefaultInstance?: boolean;\n }\n}\n\nexport const installedIntegrations: string[] = [];\n\n/** Map of integrations assigned to a client */\nexport type IntegrationIndex = {\n [key: string]: Integration;\n};\n\n/**\n * Remove duplicates from the given array, preferring the last instance of any duplicate. Not guaranteed to\n * preserve the order of integrations in the array.\n *\n * @private\n */\nfunction filterDuplicates(integrations: Integration[]): Integration[] {\n const integrationsByName: { [key: string]: Integration } = {};\n\n integrations.forEach(currentInstance => {\n const { name } = currentInstance;\n\n const existingInstance = integrationsByName[name];\n\n // We want integrations later in the array to overwrite earlier ones of the same type, except that we never want a\n // default instance to overwrite an existing user instance\n if (existingInstance && !existingInstance.isDefaultInstance && currentInstance.isDefaultInstance) {\n return;\n }\n\n integrationsByName[name] = currentInstance;\n });\n\n return Object.values(integrationsByName);\n}\n\n/** Gets integrations to install */\nexport function getIntegrationsToSetup(options: Pick): Integration[] {\n const defaultIntegrations = options.defaultIntegrations || [];\n const userIntegrations = options.integrations;\n\n // We flag default instances, so that later we can tell them apart from any user-created instances of the same class\n defaultIntegrations.forEach(integration => {\n integration.isDefaultInstance = true;\n });\n\n let integrations: Integration[];\n\n if (Array.isArray(userIntegrations)) {\n integrations = [...defaultIntegrations, ...userIntegrations];\n } else if (typeof userIntegrations === 'function') {\n const resolvedUserIntegrations = userIntegrations(defaultIntegrations);\n integrations = Array.isArray(resolvedUserIntegrations) ? resolvedUserIntegrations : [resolvedUserIntegrations];\n } else {\n integrations = defaultIntegrations;\n }\n\n const finalIntegrations = filterDuplicates(integrations);\n\n // The `Debug` integration prints copies of the `event` and `hint` which will be passed to `beforeSend` or\n // `beforeSendTransaction`. It therefore has to run after all other integrations, so that the changes of all event\n // processors will be reflected in the printed values. For lack of a more elegant way to guarantee that, we therefore\n // locate it and, assuming it exists, pop it out of its current spot and shove it onto the end of the array.\n const debugIndex = finalIntegrations.findIndex(integration => integration.name === 'Debug');\n if (debugIndex > -1) {\n const [debugInstance] = finalIntegrations.splice(debugIndex, 1) as [Integration];\n finalIntegrations.push(debugInstance);\n }\n\n return finalIntegrations;\n}\n\n/**\n * Given a list of integration instances this installs them all. When `withDefaults` is set to `true` then all default\n * integrations are added unless they were already provided before.\n * @param integrations array of integration instances\n * @param withDefault should enable default integrations\n */\nexport function setupIntegrations(client: Client, integrations: Integration[]): IntegrationIndex {\n const integrationIndex: IntegrationIndex = {};\n\n integrations.forEach(integration => {\n // guard against empty provided integrations\n if (integration) {\n setupIntegration(client, integration, integrationIndex);\n }\n });\n\n return integrationIndex;\n}\n\n/**\n * Execute the `afterAllSetup` hooks of the given integrations.\n */\nexport function afterSetupIntegrations(client: Client, integrations: Integration[]): void {\n for (const integration of integrations) {\n // guard against empty provided integrations\n if (integration && integration.afterAllSetup) {\n integration.afterAllSetup(client);\n }\n }\n}\n\n/** Setup a single integration. */\nexport function setupIntegration(client: Client, integration: Integration, integrationIndex: IntegrationIndex): void {\n if (integrationIndex[integration.name]) {\n DEBUG_BUILD && logger.log(`Integration skipped because it was already installed: ${integration.name}`);\n return;\n }\n integrationIndex[integration.name] = integration;\n\n // `setupOnce` is only called the first time\n if (installedIntegrations.indexOf(integration.name) === -1 && typeof integration.setupOnce === 'function') {\n integration.setupOnce();\n installedIntegrations.push(integration.name);\n }\n\n // `setup` is run for each client\n if (integration.setup && typeof integration.setup === 'function') {\n integration.setup(client);\n }\n\n if (typeof integration.preprocessEvent === 'function') {\n const callback = integration.preprocessEvent.bind(integration) as typeof integration.preprocessEvent;\n client.on('preprocessEvent', (event, hint) => callback(event, hint, client));\n }\n\n if (typeof integration.processEvent === 'function') {\n const callback = integration.processEvent.bind(integration) as typeof integration.processEvent;\n\n const processor = Object.assign((event: Event, hint: EventHint) => callback(event, hint, client), {\n id: integration.name,\n });\n\n client.addEventProcessor(processor);\n }\n\n DEBUG_BUILD && logger.log(`Integration installed: ${integration.name}`);\n}\n\n/** Add an integration to the current scope's client. */\nexport function addIntegration(integration: Integration): void {\n const client = getClient();\n\n if (!client) {\n DEBUG_BUILD && logger.warn(`Cannot add integration \"${integration.name}\" because no SDK Client is available.`);\n return;\n }\n\n client.addIntegration(integration);\n}\n\n/**\n * Define an integration function that can be used to create an integration instance.\n * Note that this by design hides the implementation details of the integration, as they are considered internal.\n */\nexport function defineIntegration(fn: Fn): (...args: Parameters) => Integration {\n return fn;\n}\n", "import type { ClientReport, ClientReportEnvelope, ClientReportItem } from '@sentry/types';\n\nimport { createEnvelope } from './envelope';\nimport { dateTimestampInSeconds } from './time';\n\n/**\n * Creates client report envelope\n * @param discarded_events An array of discard events\n * @param dsn A DSN that can be set on the header. Optional.\n */\nexport function createClientReportEnvelope(\n discarded_events: ClientReport['discarded_events'],\n dsn?: string,\n timestamp?: number,\n): ClientReportEnvelope {\n const clientReportItem: ClientReportItem = [\n { type: 'client_report' },\n {\n timestamp: timestamp || dateTimestampInSeconds(),\n discarded_events,\n },\n ];\n return createEnvelope(dsn ? { dsn } : {}, [clientReportItem]);\n}\n", "import type { ConsoleLevel } from '@sentry/types';\n\n/** An error emitted by Sentry SDKs and related utilities. */\nexport class SentryError extends Error {\n /** Display name of this error instance. */\n public name: string;\n\n public logLevel: ConsoleLevel;\n\n public constructor(public message: string, logLevel: ConsoleLevel = 'warn') {\n super(message);\n\n this.name = new.target.prototype.constructor.name;\n // This sets the prototype to be `Error`, not `SentryError`. It's unclear why we do this, but commenting this line\n // out causes various (seemingly totally unrelated) playwright tests consistently time out. FYI, this makes\n // instances of `SentryError` fail `obj instanceof SentryError` checks.\n Object.setPrototypeOf(this, new.target.prototype);\n this.logLevel = logLevel;\n }\n}\n", "/* eslint-disable max-lines */\nimport type {\n Breadcrumb,\n BreadcrumbHint,\n Client,\n ClientOptions,\n DataCategory,\n DsnComponents,\n DynamicSamplingContext,\n Envelope,\n ErrorEvent,\n Event,\n EventDropReason,\n EventHint,\n EventProcessor,\n FeedbackEvent,\n Integration,\n Outcome,\n ParameterizedString,\n SdkMetadata,\n Session,\n SessionAggregates,\n SeverityLevel,\n Span,\n SpanAttributes,\n SpanContextData,\n SpanJSON,\n StartSpanOptions,\n TransactionEvent,\n Transport,\n TransportMakeRequestResponse,\n} from '@sentry/types';\n\nimport { getEnvelopeEndpointWithUrlEncodedAuth } from './api';\nimport { getCurrentScope, getIsolationScope, getTraceContextFromScope } from './currentScopes';\nimport { DEBUG_BUILD } from './debug-build';\nimport { createEventEnvelope, createSessionEnvelope } from './envelope';\nimport type { IntegrationIndex } from './integration';\nimport { afterSetupIntegrations } from './integration';\nimport { setupIntegration, setupIntegrations } from './integration';\nimport type { Scope } from './scope';\nimport { updateSession } from './session';\nimport { getDynamicSamplingContextFromScope } from './tracing/dynamicSamplingContext';\nimport { createClientReportEnvelope } from './utils-hoist/clientreport';\nimport { dsnToString, makeDsn } from './utils-hoist/dsn';\nimport { addItemToEnvelope, createAttachmentEnvelopeItem } from './utils-hoist/envelope';\nimport { SentryError } from './utils-hoist/error';\nimport { isParameterizedString, isPlainObject, isPrimitive, isThenable } from './utils-hoist/is';\nimport { consoleSandbox, logger } from './utils-hoist/logger';\nimport { checkOrSetAlreadyCaught, uuid4 } from './utils-hoist/misc';\nimport { SyncPromise, rejectedSyncPromise, resolvedSyncPromise } from './utils-hoist/syncpromise';\nimport { parseSampleRate } from './utils/parseSampleRate';\nimport { prepareEvent } from './utils/prepareEvent';\nimport { showSpanDropWarning } from './utils/spanUtils';\n\nconst ALREADY_SEEN_ERROR = \"Not capturing exception because it's already been captured.\";\n\n/**\n * Base implementation for all JavaScript SDK clients.\n *\n * Call the constructor with the corresponding options\n * specific to the client subclass. To access these options later, use\n * {@link Client.getOptions}.\n *\n * If a Dsn is specified in the options, it will be parsed and stored. Use\n * {@link Client.getDsn} to retrieve the Dsn at any moment. In case the Dsn is\n * invalid, the constructor will throw a {@link SentryException}. Note that\n * without a valid Dsn, the SDK will not send any events to Sentry.\n *\n * Before sending an event, it is passed through\n * {@link BaseClient._prepareEvent} to add SDK information and scope data\n * (breadcrumbs and context). To add more custom information, override this\n * method and extend the resulting prepared event.\n *\n * To issue automatically created events (e.g. via instrumentation), use\n * {@link Client.captureEvent}. It will prepare the event and pass it through\n * the callback lifecycle. To issue auto-breadcrumbs, use\n * {@link Client.addBreadcrumb}.\n *\n * @example\n * class NodeClient extends BaseClient {\n * public constructor(options: NodeOptions) {\n * super(options);\n * }\n *\n * // ...\n * }\n */\nexport abstract class BaseClient implements Client {\n /** Options passed to the SDK. */\n protected readonly _options: O;\n\n /** The client Dsn, if specified in options. Without this Dsn, the SDK will be disabled. */\n protected readonly _dsn?: DsnComponents;\n\n protected readonly _transport?: Transport;\n\n /** Array of set up integrations. */\n protected _integrations: IntegrationIndex;\n\n /** Number of calls being processed */\n protected _numProcessing: number;\n\n protected _eventProcessors: EventProcessor[];\n\n /** Holds flushable */\n private _outcomes: { [key: string]: number };\n\n // eslint-disable-next-line @typescript-eslint/ban-types\n private _hooks: Record;\n\n /**\n * Initializes this client instance.\n *\n * @param options Options for the client.\n */\n protected constructor(options: O) {\n this._options = options;\n this._integrations = {};\n this._numProcessing = 0;\n this._outcomes = {};\n this._hooks = {};\n this._eventProcessors = [];\n\n if (options.dsn) {\n this._dsn = makeDsn(options.dsn);\n } else {\n DEBUG_BUILD && logger.warn('No DSN provided, client will not send events.');\n }\n\n if (this._dsn) {\n const url = getEnvelopeEndpointWithUrlEncodedAuth(\n this._dsn,\n options.tunnel,\n options._metadata ? options._metadata.sdk : undefined,\n );\n this._transport = options.transport({\n tunnel: this._options.tunnel,\n recordDroppedEvent: this.recordDroppedEvent.bind(this),\n ...options.transportOptions,\n url,\n });\n }\n\n // TODO(v9): Remove this deprecation warning\n const tracingOptions = ['enableTracing', 'tracesSampleRate', 'tracesSampler'] as const;\n const undefinedOption = tracingOptions.find(option => option in options && options[option] == undefined);\n if (undefinedOption) {\n consoleSandbox(() => {\n // eslint-disable-next-line no-console\n console.warn(\n `[Sentry] Deprecation warning: \\`${undefinedOption}\\` is set to undefined, which leads to tracing being enabled. In v9, a value of \\`undefined\\` will result in tracing being disabled.`,\n );\n });\n }\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public captureException(exception: any, hint?: EventHint, scope?: Scope): string {\n const eventId = uuid4();\n\n // ensure we haven't captured this very object before\n if (checkOrSetAlreadyCaught(exception)) {\n DEBUG_BUILD && logger.log(ALREADY_SEEN_ERROR);\n return eventId;\n }\n\n const hintWithEventId = {\n event_id: eventId,\n ...hint,\n };\n\n this._process(\n this.eventFromException(exception, hintWithEventId).then(event =>\n this._captureEvent(event, hintWithEventId, scope),\n ),\n );\n\n return hintWithEventId.event_id;\n }\n\n /**\n * @inheritDoc\n */\n public captureMessage(\n message: ParameterizedString,\n level?: SeverityLevel,\n hint?: EventHint,\n currentScope?: Scope,\n ): string {\n const hintWithEventId = {\n event_id: uuid4(),\n ...hint,\n };\n\n const eventMessage = isParameterizedString(message) ? message : String(message);\n\n const promisedEvent = isPrimitive(message)\n ? this.eventFromMessage(eventMessage, level, hintWithEventId)\n : this.eventFromException(message, hintWithEventId);\n\n this._process(promisedEvent.then(event => this._captureEvent(event, hintWithEventId, currentScope)));\n\n return hintWithEventId.event_id;\n }\n\n /**\n * @inheritDoc\n */\n public captureEvent(event: Event, hint?: EventHint, currentScope?: Scope): string {\n const eventId = uuid4();\n\n // ensure we haven't captured this very object before\n if (hint && hint.originalException && checkOrSetAlreadyCaught(hint.originalException)) {\n DEBUG_BUILD && logger.log(ALREADY_SEEN_ERROR);\n return eventId;\n }\n\n const hintWithEventId = {\n event_id: eventId,\n ...hint,\n };\n\n const sdkProcessingMetadata = event.sdkProcessingMetadata || {};\n const capturedSpanScope: Scope | undefined = sdkProcessingMetadata.capturedSpanScope;\n\n this._process(this._captureEvent(event, hintWithEventId, capturedSpanScope || currentScope));\n\n return hintWithEventId.event_id;\n }\n\n /**\n * @inheritDoc\n */\n public captureSession(session: Session): void {\n if (!(typeof session.release === 'string')) {\n DEBUG_BUILD && logger.warn('Discarded session because of missing or non-string release');\n } else {\n this.sendSession(session);\n // After sending, we set init false to indicate it's not the first occurrence\n updateSession(session, { init: false });\n }\n }\n\n /**\n * @inheritDoc\n */\n public getDsn(): DsnComponents | undefined {\n return this._dsn;\n }\n\n /**\n * @inheritDoc\n */\n public getOptions(): O {\n return this._options;\n }\n\n /**\n * @see SdkMetadata in @sentry/types\n *\n * @return The metadata of the SDK\n */\n public getSdkMetadata(): SdkMetadata | undefined {\n return this._options._metadata;\n }\n\n /**\n * @inheritDoc\n */\n public getTransport(): Transport | undefined {\n return this._transport;\n }\n\n /**\n * @inheritDoc\n */\n public flush(timeout?: number): PromiseLike {\n const transport = this._transport;\n if (transport) {\n this.emit('flush');\n return this._isClientDoneProcessing(timeout).then(clientFinished => {\n return transport.flush(timeout).then(transportFlushed => clientFinished && transportFlushed);\n });\n } else {\n return resolvedSyncPromise(true);\n }\n }\n\n /**\n * @inheritDoc\n */\n public close(timeout?: number): PromiseLike {\n return this.flush(timeout).then(result => {\n this.getOptions().enabled = false;\n this.emit('close');\n return result;\n });\n }\n\n /** Get all installed event processors. */\n public getEventProcessors(): EventProcessor[] {\n return this._eventProcessors;\n }\n\n /** @inheritDoc */\n public addEventProcessor(eventProcessor: EventProcessor): void {\n this._eventProcessors.push(eventProcessor);\n }\n\n /** @inheritdoc */\n public init(): void {\n if (\n this._isEnabled() ||\n // Force integrations to be setup even if no DSN was set when we have\n // Spotlight enabled. This is particularly important for browser as we\n // don't support the `spotlight` option there and rely on the users\n // adding the `spotlightBrowserIntegration()` to their integrations which\n // wouldn't get initialized with the check below when there's no DSN set.\n this._options.integrations.some(({ name }) => name.startsWith('Spotlight'))\n ) {\n this._setupIntegrations();\n }\n }\n\n /**\n * Gets an installed integration by its name.\n *\n * @returns The installed integration or `undefined` if no integration with that `name` was installed.\n */\n public getIntegrationByName(integrationName: string): T | undefined {\n return this._integrations[integrationName] as T | undefined;\n }\n\n /**\n * @inheritDoc\n */\n public addIntegration(integration: Integration): void {\n const isAlreadyInstalled = this._integrations[integration.name];\n\n // This hook takes care of only installing if not already installed\n setupIntegration(this, integration, this._integrations);\n // Here we need to check manually to make sure to not run this multiple times\n if (!isAlreadyInstalled) {\n afterSetupIntegrations(this, [integration]);\n }\n }\n\n /**\n * @inheritDoc\n */\n public sendEvent(event: Event, hint: EventHint = {}): void {\n this.emit('beforeSendEvent', event, hint);\n\n let env = createEventEnvelope(event, this._dsn, this._options._metadata, this._options.tunnel);\n\n for (const attachment of hint.attachments || []) {\n env = addItemToEnvelope(env, createAttachmentEnvelopeItem(attachment));\n }\n\n const promise = this.sendEnvelope(env);\n if (promise) {\n promise.then(sendResponse => this.emit('afterSendEvent', event, sendResponse), null);\n }\n }\n\n /**\n * @inheritDoc\n */\n public sendSession(session: Session | SessionAggregates): void {\n const env = createSessionEnvelope(session, this._dsn, this._options._metadata, this._options.tunnel);\n\n // sendEnvelope should not throw\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.sendEnvelope(env);\n }\n\n /**\n * @inheritDoc\n */\n public recordDroppedEvent(reason: EventDropReason, category: DataCategory, eventOrCount?: Event | number): void {\n if (this._options.sendClientReports) {\n // TODO v9: We do not need the `event` passed as third argument anymore, and can possibly remove this overload\n // If event is passed as third argument, we assume this is a count of 1\n const count = typeof eventOrCount === 'number' ? eventOrCount : 1;\n\n // We want to track each category (error, transaction, session, replay_event) separately\n // but still keep the distinction between different type of outcomes.\n // We could use nested maps, but it's much easier to read and type this way.\n // A correct type for map-based implementation if we want to go that route\n // would be `Partial>>>`\n // With typescript 4.1 we could even use template literal types\n const key = `${reason}:${category}`;\n DEBUG_BUILD && logger.log(`Recording outcome: \"${key}\"${count > 1 ? ` (${count} times)` : ''}`);\n this._outcomes[key] = (this._outcomes[key] || 0) + count;\n }\n }\n\n // Keep on() & emit() signatures in sync with types' client.ts interface\n /* eslint-disable @typescript-eslint/unified-signatures */\n\n /** @inheritdoc */\n public on(hook: 'spanStart', callback: (span: Span) => void): () => void;\n\n /** @inheritdoc */\n public on(hook: 'spanEnd', callback: (span: Span) => void): () => void;\n\n /** @inheritdoc */\n public on(hook: 'idleSpanEnableAutoFinish', callback: (span: Span) => void): () => void;\n\n /** @inheritdoc */\n public on(hook: 'beforeEnvelope', callback: (envelope: Envelope) => void): () => void;\n\n /** @inheritdoc */\n public on(hook: 'beforeSendEvent', callback: (event: Event, hint?: EventHint) => void): () => void;\n\n /** @inheritdoc */\n public on(hook: 'preprocessEvent', callback: (event: Event, hint?: EventHint) => void): () => void;\n\n /** @inheritdoc */\n public on(\n hook: 'afterSendEvent',\n callback: (event: Event, sendResponse: TransportMakeRequestResponse) => void,\n ): () => void;\n\n /** @inheritdoc */\n public on(hook: 'beforeAddBreadcrumb', callback: (breadcrumb: Breadcrumb, hint?: BreadcrumbHint) => void): () => void;\n\n /** @inheritdoc */\n public on(hook: 'createDsc', callback: (dsc: DynamicSamplingContext, rootSpan?: Span) => void): () => void;\n\n /** @inheritdoc */\n public on(\n hook: 'beforeSendFeedback',\n callback: (feedback: FeedbackEvent, options?: { includeReplay: boolean }) => void,\n ): () => void;\n\n /** @inheritdoc */\n public on(\n hook: 'beforeSampling',\n callback: (\n samplingData: {\n spanAttributes: SpanAttributes;\n spanName: string;\n parentSampled?: boolean;\n parentContext?: SpanContextData;\n },\n samplingDecision: { decision: boolean },\n ) => void,\n ): void;\n\n /** @inheritdoc */\n public on(\n hook: 'startPageLoadSpan',\n callback: (\n options: StartSpanOptions,\n traceOptions?: { sentryTrace?: string | undefined; baggage?: string | undefined },\n ) => void,\n ): () => void;\n\n /** @inheritdoc */\n public on(hook: 'startNavigationSpan', callback: (options: StartSpanOptions) => void): () => void;\n\n public on(hook: 'flush', callback: () => void): () => void;\n\n public on(hook: 'close', callback: () => void): () => void;\n\n public on(hook: 'applyFrameMetadata', callback: (event: Event) => void): () => void;\n\n /** @inheritdoc */\n public on(hook: string, callback: unknown): () => void {\n const hooks = (this._hooks[hook] = this._hooks[hook] || []);\n\n // @ts-expect-error We assume the types are correct\n hooks.push(callback);\n\n // This function returns a callback execution handler that, when invoked,\n // deregisters a callback. This is crucial for managing instances where callbacks\n // need to be unregistered to prevent self-referencing in callback closures,\n // ensuring proper garbage collection.\n return () => {\n // @ts-expect-error We assume the types are correct\n const cbIndex = hooks.indexOf(callback);\n if (cbIndex > -1) {\n hooks.splice(cbIndex, 1);\n }\n };\n }\n\n /** @inheritdoc */\n public emit(\n hook: 'beforeSampling',\n samplingData: {\n spanAttributes: SpanAttributes;\n spanName: string;\n parentSampled?: boolean;\n parentContext?: SpanContextData;\n },\n samplingDecision: { decision: boolean },\n ): void;\n\n /** @inheritdoc */\n public emit(hook: 'spanStart', span: Span): void;\n\n /** @inheritdoc */\n public emit(hook: 'spanEnd', span: Span): void;\n\n /** @inheritdoc */\n public emit(hook: 'idleSpanEnableAutoFinish', span: Span): void;\n\n /** @inheritdoc */\n public emit(hook: 'beforeEnvelope', envelope: Envelope): void;\n\n /** @inheritdoc */\n public emit(hook: 'beforeSendEvent', event: Event, hint?: EventHint): void;\n\n /** @inheritdoc */\n public emit(hook: 'preprocessEvent', event: Event, hint?: EventHint): void;\n\n /** @inheritdoc */\n public emit(hook: 'afterSendEvent', event: Event, sendResponse: TransportMakeRequestResponse): void;\n\n /** @inheritdoc */\n public emit(hook: 'beforeAddBreadcrumb', breadcrumb: Breadcrumb, hint?: BreadcrumbHint): void;\n\n /** @inheritdoc */\n public emit(hook: 'createDsc', dsc: DynamicSamplingContext, rootSpan?: Span): void;\n\n /** @inheritdoc */\n public emit(hook: 'beforeSendFeedback', feedback: FeedbackEvent, options?: { includeReplay: boolean }): void;\n\n /** @inheritdoc */\n public emit(\n hook: 'startPageLoadSpan',\n options: StartSpanOptions,\n traceOptions?: { sentryTrace?: string | undefined; baggage?: string | undefined },\n ): void;\n\n /** @inheritdoc */\n public emit(hook: 'startNavigationSpan', options: StartSpanOptions): void;\n\n /** @inheritdoc */\n public emit(hook: 'flush'): void;\n\n /** @inheritdoc */\n public emit(hook: 'close'): void;\n\n /** @inheritdoc */\n public emit(hook: 'applyFrameMetadata', event: Event): void;\n\n /** @inheritdoc */\n public emit(hook: string, ...rest: unknown[]): void {\n const callbacks = this._hooks[hook];\n if (callbacks) {\n callbacks.forEach(callback => callback(...rest));\n }\n }\n\n /**\n * @inheritdoc\n */\n public sendEnvelope(envelope: Envelope): PromiseLike {\n this.emit('beforeEnvelope', envelope);\n\n if (this._isEnabled() && this._transport) {\n return this._transport.send(envelope).then(null, reason => {\n DEBUG_BUILD && logger.error('Error while sending envelope:', reason);\n return reason;\n });\n }\n\n DEBUG_BUILD && logger.error('Transport disabled');\n\n return resolvedSyncPromise({});\n }\n\n /* eslint-enable @typescript-eslint/unified-signatures */\n\n /** Setup integrations for this client. */\n protected _setupIntegrations(): void {\n const { integrations } = this._options;\n this._integrations = setupIntegrations(this, integrations);\n afterSetupIntegrations(this, integrations);\n }\n\n /** Updates existing session based on the provided event */\n protected _updateSessionFromEvent(session: Session, event: Event): void {\n let crashed = false;\n let errored = false;\n const exceptions = event.exception && event.exception.values;\n\n if (exceptions) {\n errored = true;\n\n for (const ex of exceptions) {\n const mechanism = ex.mechanism;\n if (mechanism && mechanism.handled === false) {\n crashed = true;\n break;\n }\n }\n }\n\n // A session is updated and that session update is sent in only one of the two following scenarios:\n // 1. Session with non terminal status and 0 errors + an error occurred -> Will set error count to 1 and send update\n // 2. Session with non terminal status and 1 error + a crash occurred -> Will set status crashed and send update\n const sessionNonTerminal = session.status === 'ok';\n const shouldUpdateAndSend = (sessionNonTerminal && session.errors === 0) || (sessionNonTerminal && crashed);\n\n if (shouldUpdateAndSend) {\n updateSession(session, {\n ...(crashed && { status: 'crashed' }),\n errors: session.errors || Number(errored || crashed),\n });\n this.captureSession(session);\n }\n }\n\n /**\n * Determine if the client is finished processing. Returns a promise because it will wait `timeout` ms before saying\n * \"no\" (resolving to `false`) in order to give the client a chance to potentially finish first.\n *\n * @param timeout The time, in ms, after which to resolve to `false` if the client is still busy. Passing `0` (or not\n * passing anything) will make the promise wait as long as it takes for processing to finish before resolving to\n * `true`.\n * @returns A promise which will resolve to `true` if processing is already done or finishes before the timeout, and\n * `false` otherwise\n */\n protected _isClientDoneProcessing(timeout?: number): PromiseLike {\n return new SyncPromise(resolve => {\n let ticked: number = 0;\n const tick: number = 1;\n\n const interval = setInterval(() => {\n if (this._numProcessing == 0) {\n clearInterval(interval);\n resolve(true);\n } else {\n ticked += tick;\n if (timeout && ticked >= timeout) {\n clearInterval(interval);\n resolve(false);\n }\n }\n }, tick);\n });\n }\n\n /** Determines whether this SDK is enabled and a transport is present. */\n protected _isEnabled(): boolean {\n return this.getOptions().enabled !== false && this._transport !== undefined;\n }\n\n /**\n * Adds common information to events.\n *\n * The information includes release and environment from `options`,\n * breadcrumbs and context (extra, tags and user) from the scope.\n *\n * Information that is already present in the event is never overwritten. For\n * nested objects, such as the context, keys are merged.\n *\n * @param event The original event.\n * @param hint May contain additional information about the original exception.\n * @param currentScope A scope containing event metadata.\n * @returns A new event with more information.\n */\n protected _prepareEvent(\n event: Event,\n hint: EventHint,\n currentScope = getCurrentScope(),\n isolationScope = getIsolationScope(),\n ): PromiseLike {\n const options = this.getOptions();\n const integrations = Object.keys(this._integrations);\n if (!hint.integrations && integrations.length > 0) {\n hint.integrations = integrations;\n }\n\n this.emit('preprocessEvent', event, hint);\n\n if (!event.type) {\n isolationScope.setLastEventId(event.event_id || hint.event_id);\n }\n\n return prepareEvent(options, event, hint, currentScope, this, isolationScope).then(evt => {\n if (evt === null) {\n return evt;\n }\n\n evt.contexts = {\n trace: getTraceContextFromScope(currentScope),\n ...evt.contexts,\n };\n\n const dynamicSamplingContext = getDynamicSamplingContextFromScope(this, currentScope);\n\n evt.sdkProcessingMetadata = {\n dynamicSamplingContext,\n ...evt.sdkProcessingMetadata,\n };\n\n return evt;\n });\n }\n\n /**\n * Processes the event and logs an error in case of rejection\n * @param event\n * @param hint\n * @param scope\n */\n protected _captureEvent(event: Event, hint: EventHint = {}, scope?: Scope): PromiseLike {\n return this._processEvent(event, hint, scope).then(\n finalEvent => {\n return finalEvent.event_id;\n },\n reason => {\n if (DEBUG_BUILD) {\n // If something's gone wrong, log the error as a warning. If it's just us having used a `SentryError` for\n // control flow, log just the message (no stack) as a log-level log.\n const sentryError = reason as SentryError;\n if (sentryError.logLevel === 'log') {\n logger.log(sentryError.message);\n } else {\n logger.warn(sentryError);\n }\n }\n return undefined;\n },\n );\n }\n\n /**\n * Processes an event (either error or message) and sends it to Sentry.\n *\n * This also adds breadcrumbs and context information to the event. However,\n * platform specific meta data (such as the User's IP address) must be added\n * by the SDK implementor.\n *\n *\n * @param event The event to send to Sentry.\n * @param hint May contain additional information about the original exception.\n * @param currentScope A scope containing event metadata.\n * @returns A SyncPromise that resolves with the event or rejects in case event was/will not be send.\n */\n protected _processEvent(event: Event, hint: EventHint, currentScope?: Scope): PromiseLike {\n const options = this.getOptions();\n const { sampleRate } = options;\n\n const isTransaction = isTransactionEvent(event);\n const isError = isErrorEvent(event);\n const eventType = event.type || 'error';\n const beforeSendLabel = `before send for type \\`${eventType}\\``;\n\n // 1.0 === 100% events are sent\n // 0.0 === 0% events are sent\n // Sampling for transaction happens somewhere else\n const parsedSampleRate = typeof sampleRate === 'undefined' ? undefined : parseSampleRate(sampleRate);\n if (isError && typeof parsedSampleRate === 'number' && Math.random() > parsedSampleRate) {\n this.recordDroppedEvent('sample_rate', 'error', event);\n return rejectedSyncPromise(\n new SentryError(\n `Discarding event because it's not included in the random sample (sampling rate = ${sampleRate})`,\n 'log',\n ),\n );\n }\n\n const dataCategory: DataCategory = eventType === 'replay_event' ? 'replay' : eventType;\n\n const sdkProcessingMetadata = event.sdkProcessingMetadata || {};\n const capturedSpanIsolationScope: Scope | undefined = sdkProcessingMetadata.capturedSpanIsolationScope;\n\n return this._prepareEvent(event, hint, currentScope, capturedSpanIsolationScope)\n .then(prepared => {\n if (prepared === null) {\n this.recordDroppedEvent('event_processor', dataCategory, event);\n throw new SentryError('An event processor returned `null`, will not send event.', 'log');\n }\n\n const isInternalException = hint.data && (hint.data as { __sentry__: boolean }).__sentry__ === true;\n if (isInternalException) {\n return prepared;\n }\n\n const result = processBeforeSend(this, options, prepared, hint);\n return _validateBeforeSendResult(result, beforeSendLabel);\n })\n .then(processedEvent => {\n if (processedEvent === null) {\n this.recordDroppedEvent('before_send', dataCategory, event);\n if (isTransaction) {\n const spans = event.spans || [];\n // the transaction itself counts as one span, plus all the child spans that are added\n const spanCount = 1 + spans.length;\n this.recordDroppedEvent('before_send', 'span', spanCount);\n }\n throw new SentryError(`${beforeSendLabel} returned \\`null\\`, will not send event.`, 'log');\n }\n\n const session = currentScope && currentScope.getSession();\n if (!isTransaction && session) {\n this._updateSessionFromEvent(session, processedEvent);\n }\n\n if (isTransaction) {\n const spanCountBefore =\n (processedEvent.sdkProcessingMetadata && processedEvent.sdkProcessingMetadata.spanCountBeforeProcessing) ||\n 0;\n const spanCountAfter = processedEvent.spans ? processedEvent.spans.length : 0;\n\n const droppedSpanCount = spanCountBefore - spanCountAfter;\n if (droppedSpanCount > 0) {\n this.recordDroppedEvent('before_send', 'span', droppedSpanCount);\n }\n }\n\n // None of the Sentry built event processor will update transaction name,\n // so if the transaction name has been changed by an event processor, we know\n // it has to come from custom event processor added by a user\n const transactionInfo = processedEvent.transaction_info;\n if (isTransaction && transactionInfo && processedEvent.transaction !== event.transaction) {\n const source = 'custom';\n processedEvent.transaction_info = {\n ...transactionInfo,\n source,\n };\n }\n\n this.sendEvent(processedEvent, hint);\n return processedEvent;\n })\n .then(null, reason => {\n if (reason instanceof SentryError) {\n throw reason;\n }\n\n this.captureException(reason, {\n data: {\n __sentry__: true,\n },\n originalException: reason,\n });\n throw new SentryError(\n `Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\\nReason: ${reason}`,\n );\n });\n }\n\n /**\n * Occupies the client with processing and event\n */\n protected _process(promise: PromiseLike): void {\n this._numProcessing++;\n void promise.then(\n value => {\n this._numProcessing--;\n return value;\n },\n reason => {\n this._numProcessing--;\n return reason;\n },\n );\n }\n\n /**\n * Clears outcomes on this client and returns them.\n */\n protected _clearOutcomes(): Outcome[] {\n const outcomes = this._outcomes;\n this._outcomes = {};\n return Object.entries(outcomes).map(([key, quantity]) => {\n const [reason, category] = key.split(':') as [EventDropReason, DataCategory];\n return {\n reason,\n category,\n quantity,\n };\n });\n }\n\n /**\n * Sends client reports as an envelope.\n */\n protected _flushOutcomes(): void {\n DEBUG_BUILD && logger.log('Flushing outcomes...');\n\n const outcomes = this._clearOutcomes();\n\n if (outcomes.length === 0) {\n DEBUG_BUILD && logger.log('No outcomes to send');\n return;\n }\n\n // This is really the only place where we want to check for a DSN and only send outcomes then\n if (!this._dsn) {\n DEBUG_BUILD && logger.log('No dsn provided, will not send outcomes');\n return;\n }\n\n DEBUG_BUILD && logger.log('Sending outcomes:', outcomes);\n\n const envelope = createClientReportEnvelope(outcomes, this._options.tunnel && dsnToString(this._dsn));\n\n // sendEnvelope should not throw\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.sendEnvelope(envelope);\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public abstract eventFromException(_exception: any, _hint?: EventHint): PromiseLike;\n\n /**\n * @inheritDoc\n */\n public abstract eventFromMessage(\n _message: ParameterizedString,\n _level?: SeverityLevel,\n _hint?: EventHint,\n ): PromiseLike;\n}\n\n/**\n * Verifies that return value of configured `beforeSend` or `beforeSendTransaction` is of expected type, and returns the value if so.\n */\nfunction _validateBeforeSendResult(\n beforeSendResult: PromiseLike | Event | null,\n beforeSendLabel: string,\n): PromiseLike | Event | null {\n const invalidValueError = `${beforeSendLabel} must return \\`null\\` or a valid event.`;\n if (isThenable(beforeSendResult)) {\n return beforeSendResult.then(\n event => {\n if (!isPlainObject(event) && event !== null) {\n throw new SentryError(invalidValueError);\n }\n return event;\n },\n e => {\n throw new SentryError(`${beforeSendLabel} rejected with ${e}`);\n },\n );\n } else if (!isPlainObject(beforeSendResult) && beforeSendResult !== null) {\n throw new SentryError(invalidValueError);\n }\n return beforeSendResult;\n}\n\n/**\n * Process the matching `beforeSendXXX` callback.\n */\nfunction processBeforeSend(\n client: Client,\n options: ClientOptions,\n event: Event,\n hint: EventHint,\n): PromiseLike | Event | null {\n const { beforeSend, beforeSendTransaction, beforeSendSpan } = options;\n\n if (isErrorEvent(event) && beforeSend) {\n return beforeSend(event, hint);\n }\n\n if (isTransactionEvent(event)) {\n if (event.spans && beforeSendSpan) {\n const processedSpans: SpanJSON[] = [];\n for (const span of event.spans) {\n const processedSpan = beforeSendSpan(span);\n if (processedSpan) {\n processedSpans.push(processedSpan);\n } else {\n showSpanDropWarning();\n client.recordDroppedEvent('before_send', 'span');\n }\n }\n event.spans = processedSpans;\n }\n\n if (beforeSendTransaction) {\n if (event.spans) {\n // We store the # of spans before processing in SDK metadata,\n // so we can compare it afterwards to determine how many spans were dropped\n const spanCountBefore = event.spans.length;\n event.sdkProcessingMetadata = {\n ...event.sdkProcessingMetadata,\n spanCountBeforeProcessing: spanCountBefore,\n };\n }\n return beforeSendTransaction(event, hint);\n }\n }\n\n return event;\n}\n\nfunction isErrorEvent(event: Event): event is ErrorEvent {\n return event.type === undefined;\n}\n\nfunction isTransactionEvent(event: Event): event is TransactionEvent {\n return event.type === 'transaction';\n}\n", "import type { Client, ClientOptions } from '@sentry/types';\nimport { getCurrentScope } from './currentScopes';\n\nimport { DEBUG_BUILD } from './debug-build';\nimport { consoleSandbox, logger } from './utils-hoist/logger';\n\n/** A class object that can instantiate Client objects. */\nexport type ClientClass = new (options: O) => F;\n\n/**\n * Internal function to create a new SDK client instance. The client is\n * installed and then bound to the current scope.\n *\n * @param clientClass The client class to instantiate.\n * @param options Options to pass to the client.\n */\nexport function initAndBind(\n clientClass: ClientClass,\n options: O,\n): Client {\n if (options.debug === true) {\n if (DEBUG_BUILD) {\n logger.enable();\n } else {\n // use `console.warn` rather than `logger.warn` since by non-debug bundles have all `logger.x` statements stripped\n consoleSandbox(() => {\n // eslint-disable-next-line no-console\n console.warn('[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.');\n });\n }\n }\n const scope = getCurrentScope();\n scope.update(options.initialScope);\n\n const client = new clientClass(options);\n setCurrentClient(client);\n client.init();\n return client;\n}\n\n/**\n * Make the given client the current client.\n */\nexport function setCurrentClient(client: Client): void {\n getCurrentScope().setClient(client);\n}\n", "import { SentryError } from './error';\nimport { SyncPromise, rejectedSyncPromise, resolvedSyncPromise } from './syncpromise';\n\nexport interface PromiseBuffer {\n // exposes the internal array so tests can assert on the state of it.\n // XXX: this really should not be public api.\n $: Array>;\n add(taskProducer: () => PromiseLike): PromiseLike;\n drain(timeout?: number): PromiseLike;\n}\n\n/**\n * Creates an new PromiseBuffer object with the specified limit\n * @param limit max number of promises that can be stored in the buffer\n */\nexport function makePromiseBuffer(limit?: number): PromiseBuffer {\n const buffer: Array> = [];\n\n function isReady(): boolean {\n return limit === undefined || buffer.length < limit;\n }\n\n /**\n * Remove a promise from the queue.\n *\n * @param task Can be any PromiseLike\n * @returns Removed promise.\n */\n function remove(task: PromiseLike): PromiseLike {\n return buffer.splice(buffer.indexOf(task), 1)[0] || Promise.resolve(undefined);\n }\n\n /**\n * Add a promise (representing an in-flight action) to the queue, and set it to remove itself on fulfillment.\n *\n * @param taskProducer A function producing any PromiseLike; In previous versions this used to be `task:\n * PromiseLike`, but under that model, Promises were instantly created on the call-site and their executor\n * functions therefore ran immediately. Thus, even if the buffer was full, the action still happened. By\n * requiring the promise to be wrapped in a function, we can defer promise creation until after the buffer\n * limit check.\n * @returns The original promise.\n */\n function add(taskProducer: () => PromiseLike): PromiseLike {\n if (!isReady()) {\n return rejectedSyncPromise(new SentryError('Not adding Promise because buffer limit was reached.'));\n }\n\n // start the task and add its promise to the queue\n const task = taskProducer();\n if (buffer.indexOf(task) === -1) {\n buffer.push(task);\n }\n void task\n .then(() => remove(task))\n // Use `then(null, rejectionHandler)` rather than `catch(rejectionHandler)` so that we can use `PromiseLike`\n // rather than `Promise`. `PromiseLike` doesn't have a `.catch` method, making its polyfill smaller. (ES5 didn't\n // have promises, so TS has to polyfill when down-compiling.)\n .then(null, () =>\n remove(task).then(null, () => {\n // We have to add another catch here because `remove()` starts a new promise chain.\n }),\n );\n return task;\n }\n\n /**\n * Wait for all promises in the queue to resolve or for timeout to expire, whichever comes first.\n *\n * @param timeout The time, in ms, after which to resolve to `false` if the queue is still non-empty. Passing `0` (or\n * not passing anything) will make the promise wait as long as it takes for the queue to drain before resolving to\n * `true`.\n * @returns A promise which will resolve to `true` if the queue is already empty or drains before the timeout, and\n * `false` otherwise\n */\n function drain(timeout?: number): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n let counter = buffer.length;\n\n if (!counter) {\n return resolve(true);\n }\n\n // wait for `timeout` ms and then resolve to `false` (if not cancelled first)\n const capturedSetTimeout = setTimeout(() => {\n if (timeout && timeout > 0) {\n resolve(false);\n }\n }, timeout);\n\n // if all promises resolve in time, cancel the timer and resolve to `true`\n buffer.forEach(item => {\n void resolvedSyncPromise(item).then(() => {\n if (!--counter) {\n clearTimeout(capturedSetTimeout);\n resolve(true);\n }\n }, reject);\n });\n });\n }\n\n return {\n $: buffer,\n add,\n drain,\n };\n}\n", "import type { DataCategory, TransportMakeRequestResponse } from '@sentry/types';\n\n// Intentionally keeping the key broad, as we don't know for sure what rate limit headers get returned from backend\nexport type RateLimits = Record;\n\nexport const DEFAULT_RETRY_AFTER = 60 * 1000; // 60 seconds\n\n/**\n * Extracts Retry-After value from the request header or returns default value\n * @param header string representation of 'Retry-After' header\n * @param now current unix timestamp\n *\n */\nexport function parseRetryAfterHeader(header: string, now: number = Date.now()): number {\n const headerDelay = parseInt(`${header}`, 10);\n if (!isNaN(headerDelay)) {\n return headerDelay * 1000;\n }\n\n const headerDate = Date.parse(`${header}`);\n if (!isNaN(headerDate)) {\n return headerDate - now;\n }\n\n return DEFAULT_RETRY_AFTER;\n}\n\n/**\n * Gets the time that the given category is disabled until for rate limiting.\n * In case no category-specific limit is set but a general rate limit across all categories is active,\n * that time is returned.\n *\n * @return the time in ms that the category is disabled until or 0 if there's no active rate limit.\n */\nexport function disabledUntil(limits: RateLimits, dataCategory: DataCategory): number {\n return limits[dataCategory] || limits.all || 0;\n}\n\n/**\n * Checks if a category is rate limited\n */\nexport function isRateLimited(limits: RateLimits, dataCategory: DataCategory, now: number = Date.now()): boolean {\n return disabledUntil(limits, dataCategory) > now;\n}\n\n/**\n * Update ratelimits from incoming headers.\n *\n * @return the updated RateLimits object.\n */\nexport function updateRateLimits(\n limits: RateLimits,\n { statusCode, headers }: TransportMakeRequestResponse,\n now: number = Date.now(),\n): RateLimits {\n const updatedRateLimits: RateLimits = {\n ...limits,\n };\n\n // \"The name is case-insensitive.\"\n // https://developer.mozilla.org/en-US/docs/Web/API/Headers/get\n const rateLimitHeader = headers && headers['x-sentry-rate-limits'];\n const retryAfterHeader = headers && headers['retry-after'];\n\n if (rateLimitHeader) {\n /**\n * rate limit headers are of the form\n *
    ,
    ,..\n * where each
    is of the form\n * : : : : \n * where\n * is a delay in seconds\n * is the event type(s) (error, transaction, etc) being rate limited and is of the form\n * ;;...\n * is what's being limited (org, project, or key) - ignored by SDK\n * is an arbitrary string like \"org_quota\" - ignored by SDK\n * Semicolon-separated list of metric namespace identifiers. Defines which namespace(s) will be affected.\n * Only present if rate limit applies to the metric_bucket data category.\n */\n for (const limit of rateLimitHeader.trim().split(',')) {\n const [retryAfter, categories, , , namespaces] = limit.split(':', 5) as [string, ...string[]];\n const headerDelay = parseInt(retryAfter, 10);\n const delay = (!isNaN(headerDelay) ? headerDelay : 60) * 1000; // 60sec default\n if (!categories) {\n updatedRateLimits.all = now + delay;\n } else {\n for (const category of categories.split(';')) {\n if (category === 'metric_bucket') {\n // namespaces will be present when category === 'metric_bucket'\n if (!namespaces || namespaces.split(';').includes('custom')) {\n updatedRateLimits[category] = now + delay;\n }\n } else {\n updatedRateLimits[category] = now + delay;\n }\n }\n }\n }\n } else if (retryAfterHeader) {\n updatedRateLimits.all = now + parseRetryAfterHeader(retryAfterHeader, now);\n } else if (statusCode === 429) {\n updatedRateLimits.all = now + 60 * 1000;\n }\n\n return updatedRateLimits;\n}\n", "import type {\n Envelope,\n EnvelopeItem,\n EnvelopeItemType,\n Event,\n EventDropReason,\n EventItem,\n InternalBaseTransportOptions,\n Transport,\n TransportMakeRequestResponse,\n TransportRequestExecutor,\n} from '@sentry/types';\n\nimport { DEBUG_BUILD } from '../debug-build';\nimport {\n createEnvelope,\n envelopeItemTypeToDataCategory,\n forEachEnvelopeItem,\n serializeEnvelope,\n} from '../utils-hoist/envelope';\nimport { SentryError } from '../utils-hoist/error';\nimport { logger } from '../utils-hoist/logger';\nimport { type PromiseBuffer, makePromiseBuffer } from '../utils-hoist/promisebuffer';\nimport { type RateLimits, isRateLimited, updateRateLimits } from '../utils-hoist/ratelimit';\nimport { resolvedSyncPromise } from '../utils-hoist/syncpromise';\n\nexport const DEFAULT_TRANSPORT_BUFFER_SIZE = 64;\n\n/**\n * Creates an instance of a Sentry `Transport`\n *\n * @param options\n * @param makeRequest\n */\nexport function createTransport(\n options: InternalBaseTransportOptions,\n makeRequest: TransportRequestExecutor,\n buffer: PromiseBuffer = makePromiseBuffer(\n options.bufferSize || DEFAULT_TRANSPORT_BUFFER_SIZE,\n ),\n): Transport {\n let rateLimits: RateLimits = {};\n const flush = (timeout?: number): PromiseLike => buffer.drain(timeout);\n\n function send(envelope: Envelope): PromiseLike {\n const filteredEnvelopeItems: EnvelopeItem[] = [];\n\n // Drop rate limited items from envelope\n forEachEnvelopeItem(envelope, (item, type) => {\n const dataCategory = envelopeItemTypeToDataCategory(type);\n if (isRateLimited(rateLimits, dataCategory)) {\n const event: Event | undefined = getEventForEnvelopeItem(item, type);\n options.recordDroppedEvent('ratelimit_backoff', dataCategory, event);\n } else {\n filteredEnvelopeItems.push(item);\n }\n });\n\n // Skip sending if envelope is empty after filtering out rate limited events\n if (filteredEnvelopeItems.length === 0) {\n return resolvedSyncPromise({});\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const filteredEnvelope: Envelope = createEnvelope(envelope[0], filteredEnvelopeItems as any);\n\n // Creates client report for each item in an envelope\n const recordEnvelopeLoss = (reason: EventDropReason): void => {\n forEachEnvelopeItem(filteredEnvelope, (item, type) => {\n const event: Event | undefined = getEventForEnvelopeItem(item, type);\n options.recordDroppedEvent(reason, envelopeItemTypeToDataCategory(type), event);\n });\n };\n\n const requestTask = (): PromiseLike =>\n makeRequest({ body: serializeEnvelope(filteredEnvelope) }).then(\n response => {\n // We don't want to throw on NOK responses, but we want to at least log them\n if (response.statusCode !== undefined && (response.statusCode < 200 || response.statusCode >= 300)) {\n DEBUG_BUILD && logger.warn(`Sentry responded with status code ${response.statusCode} to sent event.`);\n }\n\n rateLimits = updateRateLimits(rateLimits, response);\n return response;\n },\n error => {\n recordEnvelopeLoss('network_error');\n throw error;\n },\n );\n\n return buffer.add(requestTask).then(\n result => result,\n error => {\n if (error instanceof SentryError) {\n DEBUG_BUILD && logger.error('Skipped sending event because buffer is full.');\n recordEnvelopeLoss('queue_overflow');\n return resolvedSyncPromise({});\n } else {\n throw error;\n }\n },\n );\n }\n\n return {\n send,\n flush,\n };\n}\n\nfunction getEventForEnvelopeItem(item: Envelope[1][number], type: EnvelopeItemType): Event | undefined {\n if (type !== 'event' && type !== 'transaction') {\n return undefined;\n }\n\n return Array.isArray(item) ? (item as EventItem)[1] : undefined;\n}\n", "import type { Options } from '@sentry/types';\nimport { SDK_VERSION } from '../utils-hoist/version';\n\n/**\n * A builder for the SDK metadata in the options for the SDK initialization.\n *\n * Note: This function is identical to `buildMetadata` in Remix and NextJS and SvelteKit.\n * We don't extract it for bundle size reasons.\n * @see https://github.com/getsentry/sentry-javascript/pull/7404\n * @see https://github.com/getsentry/sentry-javascript/pull/4196\n *\n * If you make changes to this function consider updating the others as well.\n *\n * @param options SDK options object that gets mutated\n * @param names list of package names\n */\nexport function applySdkMetadata(options: Options, name: string, names = [name], source = 'npm'): void {\n const metadata = options._metadata || {};\n\n if (!metadata.sdk) {\n metadata.sdk = {\n name: `sentry.javascript.${name}`,\n packages: names.map(name => ({\n name: `${source}:@sentry/${name}`,\n version: SDK_VERSION,\n })),\n version: SDK_VERSION,\n };\n }\n\n options._metadata = metadata;\n}\n", "import type { Breadcrumb, BreadcrumbHint } from '@sentry/types';\nimport { getClient, getIsolationScope } from './currentScopes';\nimport { consoleSandbox } from './utils-hoist/logger';\nimport { dateTimestampInSeconds } from './utils-hoist/time';\n\n/**\n * Default maximum number of breadcrumbs added to an event. Can be overwritten\n * with {@link Options.maxBreadcrumbs}.\n */\nconst DEFAULT_BREADCRUMBS = 100;\n\n/**\n * Records a new breadcrumb which will be attached to future events.\n *\n * Breadcrumbs will be added to subsequent events to provide more context on\n * user's actions prior to an error or crash.\n */\nexport function addBreadcrumb(breadcrumb: Breadcrumb, hint?: BreadcrumbHint): void {\n const client = getClient();\n const isolationScope = getIsolationScope();\n\n if (!client) return;\n\n const { beforeBreadcrumb = null, maxBreadcrumbs = DEFAULT_BREADCRUMBS } = client.getOptions();\n\n if (maxBreadcrumbs <= 0) return;\n\n const timestamp = dateTimestampInSeconds();\n const mergedBreadcrumb = { timestamp, ...breadcrumb };\n const finalBreadcrumb = beforeBreadcrumb\n ? (consoleSandbox(() => beforeBreadcrumb(mergedBreadcrumb, hint)) as Breadcrumb | null)\n : mergedBreadcrumb;\n\n if (finalBreadcrumb === null) return;\n\n if (client.emit) {\n client.emit('beforeAddBreadcrumb', finalBreadcrumb, hint);\n }\n\n isolationScope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs);\n}\n", "import type { Client, IntegrationFn, WrappedFunction } from '@sentry/types';\nimport { getClient } from '../currentScopes';\nimport { defineIntegration } from '../integration';\nimport { getOriginalFunction } from '../utils-hoist/object';\n\nlet originalFunctionToString: () => void;\n\nconst INTEGRATION_NAME = 'FunctionToString';\n\nconst SETUP_CLIENTS = new WeakMap();\n\nconst _functionToStringIntegration = (() => {\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n originalFunctionToString = Function.prototype.toString;\n\n // intrinsics (like Function.prototype) might be immutable in some environments\n // e.g. Node with --frozen-intrinsics, XS (an embedded JavaScript engine) or SES (a JavaScript proposal)\n try {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Function.prototype.toString = function (this: WrappedFunction, ...args: any[]): string {\n const originalFunction = getOriginalFunction(this);\n const context =\n SETUP_CLIENTS.has(getClient() as Client) && originalFunction !== undefined ? originalFunction : this;\n return originalFunctionToString.apply(context, args);\n };\n } catch {\n // ignore errors here, just don't patch this\n }\n },\n setup(client) {\n SETUP_CLIENTS.set(client, true);\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Patch toString calls to return proper name for wrapped functions.\n *\n * ```js\n * Sentry.init({\n * integrations: [\n * functionToStringIntegration(),\n * ],\n * });\n * ```\n */\nexport const functionToStringIntegration = defineIntegration(_functionToStringIntegration);\n", "import type { Event, IntegrationFn, StackFrame } from '@sentry/types';\n\nimport { DEBUG_BUILD } from '../debug-build';\nimport { defineIntegration } from '../integration';\nimport { logger } from '../utils-hoist/logger';\nimport { getEventDescription } from '../utils-hoist/misc';\nimport { stringMatchesSomePattern } from '../utils-hoist/string';\n\n// \"Script error.\" is hard coded into browsers for errors that it can't read.\n// this is the result of a script being pulled in from an external domain and CORS.\nconst DEFAULT_IGNORE_ERRORS = [\n /^Script error\\.?$/,\n /^Javascript error: Script error\\.? on line 0$/,\n /^ResizeObserver loop completed with undelivered notifications.$/, // The browser logs this when a ResizeObserver handler takes a bit longer. Usually this is not an actual issue though. It indicates slowness.\n /^Cannot redefine property: googletag$/, // This is thrown when google tag manager is used in combination with an ad blocker\n \"undefined is not an object (evaluating 'a.L')\", // Random error that happens but not actionable or noticeable to end-users.\n 'can\\'t redefine non-configurable property \"solana\"', // Probably a browser extension or custom browser (Brave) throwing this error\n \"vv().getRestrictions is not a function. (In 'vv().getRestrictions(1,a)', 'vv().getRestrictions' is undefined)\", // Error thrown by GTM, seemingly not affecting end-users\n \"Can't find variable: _AutofillCallbackHandler\", // Unactionable error in instagram webview https://developers.facebook.com/community/threads/320013549791141/\n];\n\n/** Options for the InboundFilters integration */\nexport interface InboundFiltersOptions {\n allowUrls: Array;\n denyUrls: Array;\n ignoreErrors: Array;\n ignoreTransactions: Array;\n ignoreInternal: boolean;\n disableErrorDefaults: boolean;\n}\n\nconst INTEGRATION_NAME = 'InboundFilters';\nconst _inboundFiltersIntegration = ((options: Partial = {}) => {\n return {\n name: INTEGRATION_NAME,\n processEvent(event, _hint, client) {\n const clientOptions = client.getOptions();\n const mergedOptions = _mergeOptions(options, clientOptions);\n return _shouldDropEvent(event, mergedOptions) ? null : event;\n },\n };\n}) satisfies IntegrationFn;\n\nexport const inboundFiltersIntegration = defineIntegration(_inboundFiltersIntegration);\n\nfunction _mergeOptions(\n internalOptions: Partial = {},\n clientOptions: Partial = {},\n): Partial {\n return {\n allowUrls: [...(internalOptions.allowUrls || []), ...(clientOptions.allowUrls || [])],\n denyUrls: [...(internalOptions.denyUrls || []), ...(clientOptions.denyUrls || [])],\n ignoreErrors: [\n ...(internalOptions.ignoreErrors || []),\n ...(clientOptions.ignoreErrors || []),\n ...(internalOptions.disableErrorDefaults ? [] : DEFAULT_IGNORE_ERRORS),\n ],\n ignoreTransactions: [...(internalOptions.ignoreTransactions || []), ...(clientOptions.ignoreTransactions || [])],\n ignoreInternal: internalOptions.ignoreInternal !== undefined ? internalOptions.ignoreInternal : true,\n };\n}\n\nfunction _shouldDropEvent(event: Event, options: Partial): boolean {\n if (options.ignoreInternal && _isSentryError(event)) {\n DEBUG_BUILD &&\n logger.warn(`Event dropped due to being internal Sentry Error.\\nEvent: ${getEventDescription(event)}`);\n return true;\n }\n if (_isIgnoredError(event, options.ignoreErrors)) {\n DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to being matched by \\`ignoreErrors\\` option.\\nEvent: ${getEventDescription(event)}`,\n );\n return true;\n }\n if (_isUselessError(event)) {\n DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to not having an error message, error type or stacktrace.\\nEvent: ${getEventDescription(\n event,\n )}`,\n );\n return true;\n }\n if (_isIgnoredTransaction(event, options.ignoreTransactions)) {\n DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to being matched by \\`ignoreTransactions\\` option.\\nEvent: ${getEventDescription(event)}`,\n );\n return true;\n }\n if (_isDeniedUrl(event, options.denyUrls)) {\n DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to being matched by \\`denyUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${_getEventFilterUrl(event)}`,\n );\n return true;\n }\n if (!_isAllowedUrl(event, options.allowUrls)) {\n DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to not being matched by \\`allowUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${_getEventFilterUrl(event)}`,\n );\n return true;\n }\n return false;\n}\n\nfunction _isIgnoredError(event: Event, ignoreErrors?: Array): boolean {\n // If event.type, this is not an error\n if (event.type || !ignoreErrors || !ignoreErrors.length) {\n return false;\n }\n\n return _getPossibleEventMessages(event).some(message => stringMatchesSomePattern(message, ignoreErrors));\n}\n\nfunction _isIgnoredTransaction(event: Event, ignoreTransactions?: Array): boolean {\n if (event.type !== 'transaction' || !ignoreTransactions || !ignoreTransactions.length) {\n return false;\n }\n\n const name = event.transaction;\n return name ? stringMatchesSomePattern(name, ignoreTransactions) : false;\n}\n\nfunction _isDeniedUrl(event: Event, denyUrls?: Array): boolean {\n // TODO: Use Glob instead?\n if (!denyUrls || !denyUrls.length) {\n return false;\n }\n const url = _getEventFilterUrl(event);\n return !url ? false : stringMatchesSomePattern(url, denyUrls);\n}\n\nfunction _isAllowedUrl(event: Event, allowUrls?: Array): boolean {\n // TODO: Use Glob instead?\n if (!allowUrls || !allowUrls.length) {\n return true;\n }\n const url = _getEventFilterUrl(event);\n return !url ? true : stringMatchesSomePattern(url, allowUrls);\n}\n\nfunction _getPossibleEventMessages(event: Event): string[] {\n const possibleMessages: string[] = [];\n\n if (event.message) {\n possibleMessages.push(event.message);\n }\n\n let lastException;\n try {\n // @ts-expect-error Try catching to save bundle size\n lastException = event.exception.values[event.exception.values.length - 1];\n } catch (e) {\n // try catching to save bundle size checking existence of variables\n }\n\n if (lastException) {\n if (lastException.value) {\n possibleMessages.push(lastException.value);\n if (lastException.type) {\n possibleMessages.push(`${lastException.type}: ${lastException.value}`);\n }\n }\n }\n\n return possibleMessages;\n}\n\nfunction _isSentryError(event: Event): boolean {\n try {\n // @ts-expect-error can't be a sentry error if undefined\n return event.exception.values[0].type === 'SentryError';\n } catch (e) {\n // ignore\n }\n return false;\n}\n\nfunction _getLastValidUrl(frames: StackFrame[] = []): string | null {\n for (let i = frames.length - 1; i >= 0; i--) {\n const frame = frames[i];\n\n if (frame && frame.filename !== '' && frame.filename !== '[native code]') {\n return frame.filename || null;\n }\n }\n\n return null;\n}\n\nfunction _getEventFilterUrl(event: Event): string | null {\n try {\n let frames;\n try {\n // @ts-expect-error we only care about frames if the whole thing here is defined\n frames = event.exception.values[0].stacktrace.frames;\n } catch (e) {\n // ignore\n }\n return frames ? _getLastValidUrl(frames) : null;\n } catch (oO) {\n DEBUG_BUILD && logger.error(`Cannot extract url for event ${getEventDescription(event)}`);\n return null;\n }\n}\n\nfunction _isUselessError(event: Event): boolean {\n if (event.type) {\n // event is not an error\n return false;\n }\n\n // We only want to consider events for dropping that actually have recorded exception values.\n if (!event.exception || !event.exception.values || event.exception.values.length === 0) {\n return false;\n }\n\n return (\n // No top-level message\n !event.message &&\n // There are no exception values that have a stacktrace, a non-generic-Error type or value\n !event.exception.values.some(value => value.stacktrace || (value.type && value.type !== 'Error') || value.value)\n );\n}\n", "import type { Event, EventHint, Exception, ExtendedError, StackParser } from '@sentry/types';\n\nimport { isInstanceOf } from './is';\nimport { truncate } from './string';\n\n/**\n * Creates exceptions inside `event.exception.values` for errors that are nested on properties based on the `key` parameter.\n */\nexport function applyAggregateErrorsToEvent(\n exceptionFromErrorImplementation: (stackParser: StackParser, ex: Error) => Exception,\n parser: StackParser,\n maxValueLimit: number = 250,\n key: string,\n limit: number,\n event: Event,\n hint?: EventHint,\n): void {\n if (!event.exception || !event.exception.values || !hint || !isInstanceOf(hint.originalException, Error)) {\n return;\n }\n\n // Generally speaking the last item in `event.exception.values` is the exception originating from the original Error\n const originalException: Exception | undefined =\n event.exception.values.length > 0 ? event.exception.values[event.exception.values.length - 1] : undefined;\n\n // We only create exception grouping if there is an exception in the event.\n if (originalException) {\n event.exception.values = truncateAggregateExceptions(\n aggregateExceptionsFromError(\n exceptionFromErrorImplementation,\n parser,\n limit,\n hint.originalException as ExtendedError,\n key,\n event.exception.values,\n originalException,\n 0,\n ),\n maxValueLimit,\n );\n }\n}\n\nfunction aggregateExceptionsFromError(\n exceptionFromErrorImplementation: (stackParser: StackParser, ex: Error) => Exception,\n parser: StackParser,\n limit: number,\n error: ExtendedError,\n key: string,\n prevExceptions: Exception[],\n exception: Exception,\n exceptionId: number,\n): Exception[] {\n if (prevExceptions.length >= limit + 1) {\n return prevExceptions;\n }\n\n let newExceptions = [...prevExceptions];\n\n // Recursively call this function in order to walk down a chain of errors\n if (isInstanceOf(error[key], Error)) {\n applyExceptionGroupFieldsForParentException(exception, exceptionId);\n const newException = exceptionFromErrorImplementation(parser, error[key]);\n const newExceptionId = newExceptions.length;\n applyExceptionGroupFieldsForChildException(newException, key, newExceptionId, exceptionId);\n newExceptions = aggregateExceptionsFromError(\n exceptionFromErrorImplementation,\n parser,\n limit,\n error[key],\n key,\n [newException, ...newExceptions],\n newException,\n newExceptionId,\n );\n }\n\n // This will create exception grouping for AggregateErrors\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError\n if (Array.isArray(error.errors)) {\n error.errors.forEach((childError, i) => {\n if (isInstanceOf(childError, Error)) {\n applyExceptionGroupFieldsForParentException(exception, exceptionId);\n const newException = exceptionFromErrorImplementation(parser, childError);\n const newExceptionId = newExceptions.length;\n applyExceptionGroupFieldsForChildException(newException, `errors[${i}]`, newExceptionId, exceptionId);\n newExceptions = aggregateExceptionsFromError(\n exceptionFromErrorImplementation,\n parser,\n limit,\n childError,\n key,\n [newException, ...newExceptions],\n newException,\n newExceptionId,\n );\n }\n });\n }\n\n return newExceptions;\n}\n\nfunction applyExceptionGroupFieldsForParentException(exception: Exception, exceptionId: number): void {\n // Don't know if this default makes sense. The protocol requires us to set these values so we pick *some* default.\n exception.mechanism = exception.mechanism || { type: 'generic', handled: true };\n\n exception.mechanism = {\n ...exception.mechanism,\n ...(exception.type === 'AggregateError' && { is_exception_group: true }),\n exception_id: exceptionId,\n };\n}\n\nfunction applyExceptionGroupFieldsForChildException(\n exception: Exception,\n source: string,\n exceptionId: number,\n parentId: number | undefined,\n): void {\n // Don't know if this default makes sense. The protocol requires us to set these values so we pick *some* default.\n exception.mechanism = exception.mechanism || { type: 'generic', handled: true };\n\n exception.mechanism = {\n ...exception.mechanism,\n type: 'chained',\n source,\n exception_id: exceptionId,\n parent_id: parentId,\n };\n}\n\n/**\n * Truncate the message (exception.value) of all exceptions in the event.\n * Because this event processor is ran after `applyClientOptions`,\n * we need to truncate the message of the added exceptions here.\n */\nfunction truncateAggregateExceptions(exceptions: Exception[], maxValueLength: number): Exception[] {\n return exceptions.map(exception => {\n if (exception.value) {\n exception.value = truncate(exception.value, maxValueLength);\n }\n return exception;\n });\n}\n", "type PartialURL = {\n host?: string;\n path?: string;\n protocol?: string;\n relative?: string;\n search?: string;\n hash?: string;\n};\n\n/**\n * Parses string form of URL into an object\n * // borrowed from https://tools.ietf.org/html/rfc3986#appendix-B\n * // intentionally using regex and not href parsing trick because React Native and other\n * // environments where DOM might not be available\n * @returns parsed URL object\n */\nexport function parseUrl(url: string): PartialURL {\n if (!url) {\n return {};\n }\n\n const match = url.match(/^(([^:/?#]+):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);\n\n if (!match) {\n return {};\n }\n\n // coerce to undefined values to empty string so we don't get 'undefined'\n const query = match[6] || '';\n const fragment = match[8] || '';\n return {\n host: match[4],\n path: match[5],\n protocol: match[2],\n search: query,\n hash: fragment,\n relative: match[5] + query + fragment, // everything minus origin\n };\n}\n\n/**\n * Strip the query string and fragment off of a given URL or path (if present)\n *\n * @param urlPath Full URL or path, including possible query string and/or fragment\n * @returns URL or path without query string or fragment\n */\nexport function stripUrlQueryAndFragment(urlPath: string): string {\n return (urlPath.split(/[?#]/, 1) as [string, ...string[]])[0];\n}\n\n/**\n * Returns number of URL segments of a passed string URL.\n *\n * @deprecated This function will be removed in the next major version.\n */\n// TODO(v9): Hoist this function into the places where we use it. (as it stands only react router v6 instrumentation)\nexport function getNumberOfUrlSegments(url: string): number {\n // split at '/' or at '\\/' to split regex urls correctly\n return url.split(/\\\\?\\//).filter(s => s.length > 0 && s !== ',').length;\n}\n\n/**\n * Takes a URL object and returns a sanitized string which is safe to use as span name\n * see: https://develop.sentry.dev/sdk/data-handling/#structuring-data\n */\nexport function getSanitizedUrlString(url: PartialURL): string {\n const { protocol, host, path } = url;\n\n const filteredHost =\n (host &&\n host\n // Always filter out authority\n .replace(/^.*@/, '[filtered]:[filtered]@')\n // Don't show standard :80 (http) and :443 (https) ports to reduce the noise\n // TODO: Use new URL global if it exists\n .replace(/(:80)$/, '')\n .replace(/(:443)$/, '')) ||\n '';\n\n return `${protocol ? `${protocol}://` : ''}${filteredHost}${path}`;\n}\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/ban-types */\nimport type { ConsoleLevel, HandlerDataConsole } from '@sentry/types';\n\nimport { CONSOLE_LEVELS, originalConsoleMethods } from '../logger';\nimport { fill } from '../object';\nimport { GLOBAL_OBJ } from '../worldwide';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers';\n\n/**\n * Add an instrumentation handler for when a console.xxx method is called.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addConsoleInstrumentationHandler(handler: (data: HandlerDataConsole) => void): void {\n const type = 'console';\n addHandler(type, handler);\n maybeInstrument(type, instrumentConsole);\n}\n\nfunction instrumentConsole(): void {\n if (!('console' in GLOBAL_OBJ)) {\n return;\n }\n\n CONSOLE_LEVELS.forEach(function (level: ConsoleLevel): void {\n if (!(level in GLOBAL_OBJ.console)) {\n return;\n }\n\n fill(GLOBAL_OBJ.console, level, function (originalConsoleMethod: () => any): Function {\n originalConsoleMethods[level] = originalConsoleMethod;\n\n return function (...args: any[]): void {\n const handlerData: HandlerDataConsole = { args, level };\n triggerHandlers('console', handlerData);\n\n const log = originalConsoleMethods[level];\n log && log.apply(GLOBAL_OBJ.console, args);\n };\n });\n });\n}\n", "import type { SeverityLevel } from '@sentry/types';\n\n/**\n * @deprecated This variable has been deprecated and will be removed in the next major version.\n */\nexport const validSeverityLevels = ['fatal', 'error', 'warning', 'log', 'info', 'debug'];\n\n/**\n * Converts a string-based level into a `SeverityLevel`, normalizing it along the way.\n *\n * @param level String representation of desired `SeverityLevel`.\n * @returns The `SeverityLevel` corresponding to the given string, or 'log' if the string isn't a valid level.\n */\nexport function severityLevelFromString(level: SeverityLevel | string): SeverityLevel {\n return (\n level === 'warn' ? 'warning' : ['fatal', 'error', 'warning', 'log', 'info', 'debug'].includes(level) ? level : 'log'\n ) as SeverityLevel;\n}\n", "import type { Event, Exception, IntegrationFn, StackFrame } from '@sentry/types';\nimport { defineIntegration } from '../integration';\n\nimport { DEBUG_BUILD } from '../debug-build';\nimport { logger } from '../utils-hoist/logger';\nimport { getFramesFromEvent } from '../utils-hoist/stacktrace';\n\nconst INTEGRATION_NAME = 'Dedupe';\n\nconst _dedupeIntegration = (() => {\n let previousEvent: Event | undefined;\n\n return {\n name: INTEGRATION_NAME,\n processEvent(currentEvent) {\n // We want to ignore any non-error type events, e.g. transactions or replays\n // These should never be deduped, and also not be compared against as _previousEvent.\n if (currentEvent.type) {\n return currentEvent;\n }\n\n // Juuust in case something goes wrong\n try {\n if (_shouldDropEvent(currentEvent, previousEvent)) {\n DEBUG_BUILD && logger.warn('Event dropped due to being a duplicate of previously captured event.');\n return null;\n }\n } catch (_oO) {} // eslint-disable-line no-empty\n\n return (previousEvent = currentEvent);\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Deduplication filter.\n */\nexport const dedupeIntegration = defineIntegration(_dedupeIntegration);\n\n/** only exported for tests. */\nexport function _shouldDropEvent(currentEvent: Event, previousEvent?: Event): boolean {\n if (!previousEvent) {\n return false;\n }\n\n if (_isSameMessageEvent(currentEvent, previousEvent)) {\n return true;\n }\n\n if (_isSameExceptionEvent(currentEvent, previousEvent)) {\n return true;\n }\n\n return false;\n}\n\nfunction _isSameMessageEvent(currentEvent: Event, previousEvent: Event): boolean {\n const currentMessage = currentEvent.message;\n const previousMessage = previousEvent.message;\n\n // If neither event has a message property, they were both exceptions, so bail out\n if (!currentMessage && !previousMessage) {\n return false;\n }\n\n // If only one event has a stacktrace, but not the other one, they are not the same\n if ((currentMessage && !previousMessage) || (!currentMessage && previousMessage)) {\n return false;\n }\n\n if (currentMessage !== previousMessage) {\n return false;\n }\n\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n\n return true;\n}\n\nfunction _isSameExceptionEvent(currentEvent: Event, previousEvent: Event): boolean {\n const previousException = _getExceptionFromEvent(previousEvent);\n const currentException = _getExceptionFromEvent(currentEvent);\n\n if (!previousException || !currentException) {\n return false;\n }\n\n if (previousException.type !== currentException.type || previousException.value !== currentException.value) {\n return false;\n }\n\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n\n return true;\n}\n\nfunction _isSameStacktrace(currentEvent: Event, previousEvent: Event): boolean {\n let currentFrames = getFramesFromEvent(currentEvent);\n let previousFrames = getFramesFromEvent(previousEvent);\n\n // If neither event has a stacktrace, they are assumed to be the same\n if (!currentFrames && !previousFrames) {\n return true;\n }\n\n // If only one event has a stacktrace, but not the other one, they are not the same\n if ((currentFrames && !previousFrames) || (!currentFrames && previousFrames)) {\n return false;\n }\n\n currentFrames = currentFrames as StackFrame[];\n previousFrames = previousFrames as StackFrame[];\n\n // If number of frames differ, they are not the same\n if (previousFrames.length !== currentFrames.length) {\n return false;\n }\n\n // Otherwise, compare the two\n for (let i = 0; i < previousFrames.length; i++) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const frameA = previousFrames[i]!;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const frameB = currentFrames[i]!;\n\n if (\n frameA.filename !== frameB.filename ||\n frameA.lineno !== frameB.lineno ||\n frameA.colno !== frameB.colno ||\n frameA.function !== frameB.function\n ) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction _isSameFingerprint(currentEvent: Event, previousEvent: Event): boolean {\n let currentFingerprint = currentEvent.fingerprint;\n let previousFingerprint = previousEvent.fingerprint;\n\n // If neither event has a fingerprint, they are assumed to be the same\n if (!currentFingerprint && !previousFingerprint) {\n return true;\n }\n\n // If only one event has a fingerprint, but not the other one, they are not the same\n if ((currentFingerprint && !previousFingerprint) || (!currentFingerprint && previousFingerprint)) {\n return false;\n }\n\n currentFingerprint = currentFingerprint as string[];\n previousFingerprint = previousFingerprint as string[];\n\n // Otherwise, compare the two\n try {\n return !!(currentFingerprint.join('') === previousFingerprint.join(''));\n } catch (_oO) {\n return false;\n }\n}\n\nfunction _getExceptionFromEvent(event: Event): Exception | undefined {\n return event.exception && event.exception.values && event.exception.values[0];\n}\n", "import type { SeverityLevel } from '@sentry/types';\n\n/**\n * Determine a breadcrumb's log level (only `warning` or `error`) based on an HTTP status code.\n */\nexport function getBreadcrumbLogLevelFromHttpStatusCode(statusCode: number | undefined): SeverityLevel | undefined {\n // NOTE: undefined defaults to 'info' in Sentry\n if (statusCode === undefined) {\n return undefined;\n } else if (statusCode >= 400 && statusCode < 500) {\n return 'warning';\n } else if (statusCode >= 500) {\n return 'error';\n } else {\n return undefined;\n }\n}\n", "import { DEBUG_BUILD } from './debug-build';\nimport { logger } from './logger';\nimport { GLOBAL_OBJ } from './worldwide';\n\nconst WINDOW = GLOBAL_OBJ as unknown as Window;\n\ndeclare const EdgeRuntime: string | undefined;\n\nexport { supportsHistory } from './vendor/supportsHistory';\n\n/**\n * Tells whether current environment supports ErrorEvent objects\n * {@link supportsErrorEvent}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsErrorEvent(): boolean {\n try {\n new ErrorEvent('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports DOMError objects\n * {@link supportsDOMError}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMError(): boolean {\n try {\n // Chrome: VM89:1 Uncaught TypeError: Failed to construct 'DOMError':\n // 1 argument required, but only 0 present.\n // @ts-expect-error It really needs 1 argument, not 0.\n new DOMError('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports DOMException objects\n * {@link supportsDOMException}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMException(): boolean {\n try {\n new DOMException('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports Fetch API\n * {@link supportsFetch}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsFetch(): boolean {\n if (!('fetch' in WINDOW)) {\n return false;\n }\n\n try {\n new Headers();\n new Request('http://www.example.com');\n new Response();\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * isNative checks if the given function is a native implementation\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function isNativeFunction(func: Function): boolean {\n return func && /^function\\s+\\w+\\(\\)\\s+\\{\\s+\\[native code\\]\\s+\\}$/.test(func.toString());\n}\n\n/**\n * Tells whether current environment supports Fetch API natively\n * {@link supportsNativeFetch}.\n *\n * @returns true if `window.fetch` is natively implemented, false otherwise\n */\nexport function supportsNativeFetch(): boolean {\n if (typeof EdgeRuntime === 'string') {\n return true;\n }\n\n if (!supportsFetch()) {\n return false;\n }\n\n // Fast path to avoid DOM I/O\n // eslint-disable-next-line @typescript-eslint/unbound-method\n if (isNativeFunction(WINDOW.fetch)) {\n return true;\n }\n\n // window.fetch is implemented, but is polyfilled or already wrapped (e.g: by a chrome extension)\n // so create a \"pure\" iframe to see if that has native fetch\n let result = false;\n const doc = WINDOW.document;\n // eslint-disable-next-line deprecation/deprecation\n if (doc && typeof (doc.createElement as unknown) === 'function') {\n try {\n const sandbox = doc.createElement('iframe');\n sandbox.hidden = true;\n doc.head.appendChild(sandbox);\n if (sandbox.contentWindow && sandbox.contentWindow.fetch) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n result = isNativeFunction(sandbox.contentWindow.fetch);\n }\n doc.head.removeChild(sandbox);\n } catch (err) {\n DEBUG_BUILD &&\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', err);\n }\n }\n\n return result;\n}\n\n/**\n * Tells whether current environment supports ReportingObserver API\n * {@link supportsReportingObserver}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReportingObserver(): boolean {\n return 'ReportingObserver' in WINDOW;\n}\n\n/**\n * Tells whether current environment supports Referrer Policy API\n * {@link supportsReferrerPolicy}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReferrerPolicy(): boolean {\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default'\n // (see https://caniuse.com/#feat=referrer-policy),\n // it doesn't. And it throws an exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n\n if (!supportsFetch()) {\n return false;\n }\n\n try {\n new Request('_', {\n referrerPolicy: 'origin' as ReferrerPolicy,\n });\n return true;\n } catch (e) {\n return false;\n }\n}\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { HandlerDataFetch } from '@sentry/types';\n\nimport { isError } from '../is';\nimport { addNonEnumerableProperty, fill } from '../object';\nimport { supportsNativeFetch } from '../supports';\nimport { timestampInSeconds } from '../time';\nimport { GLOBAL_OBJ } from '../worldwide';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers';\n\ntype FetchResource = string | { toString(): string } | { url: string };\n\n/**\n * Add an instrumentation handler for when a fetch request happens.\n * The handler function is called once when the request starts and once when it ends,\n * which can be identified by checking if it has an `endTimestamp`.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addFetchInstrumentationHandler(\n handler: (data: HandlerDataFetch) => void,\n skipNativeFetchCheck?: boolean,\n): void {\n const type = 'fetch';\n addHandler(type, handler);\n maybeInstrument(type, () => instrumentFetch(undefined, skipNativeFetchCheck));\n}\n\n/**\n * Add an instrumentation handler for long-lived fetch requests, like consuming server-sent events (SSE) via fetch.\n * The handler will resolve the request body and emit the actual `endTimestamp`, so that the\n * span can be updated accordingly.\n *\n * Only used internally\n * @hidden\n */\nexport function addFetchEndInstrumentationHandler(handler: (data: HandlerDataFetch) => void): void {\n const type = 'fetch-body-resolved';\n addHandler(type, handler);\n maybeInstrument(type, () => instrumentFetch(streamHandler));\n}\n\nfunction instrumentFetch(onFetchResolved?: (response: Response) => void, skipNativeFetchCheck: boolean = false): void {\n if (skipNativeFetchCheck && !supportsNativeFetch()) {\n return;\n }\n\n fill(GLOBAL_OBJ, 'fetch', function (originalFetch: () => void): () => void {\n return function (...args: any[]): void {\n const { method, url } = parseFetchArgs(args);\n const handlerData: HandlerDataFetch = {\n args,\n fetchData: {\n method,\n url,\n },\n startTimestamp: timestampInSeconds() * 1000,\n };\n\n // if there is no callback, fetch is instrumented directly\n if (!onFetchResolved) {\n triggerHandlers('fetch', {\n ...handlerData,\n });\n }\n\n // We capture the stack right here and not in the Promise error callback because Safari (and probably other\n // browsers too) will wipe the stack trace up to this point, only leaving us with this file which is useless.\n\n // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n // it means the error, that was caused by your fetch call did not\n // have a stack trace, so the SDK backfilled the stack trace so\n // you can see which fetch call failed.\n const virtualStackTrace = new Error().stack;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return originalFetch.apply(GLOBAL_OBJ, args).then(\n async (response: Response) => {\n if (onFetchResolved) {\n onFetchResolved(response);\n } else {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: timestampInSeconds() * 1000,\n response,\n });\n }\n\n return response;\n },\n (error: Error) => {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: timestampInSeconds() * 1000,\n error,\n });\n\n if (isError(error) && error.stack === undefined) {\n // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n // it means the error, that was caused by your fetch call did not\n // have a stack trace, so the SDK backfilled the stack trace so\n // you can see which fetch call failed.\n error.stack = virtualStackTrace;\n addNonEnumerableProperty(error, 'framesToPop', 1);\n }\n\n // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n // it means the sentry.javascript SDK caught an error invoking your application code.\n // This is expected behavior and NOT indicative of a bug with sentry.javascript.\n throw error;\n },\n );\n };\n });\n}\n\nasync function resolveResponse(res: Response | undefined, onFinishedResolving: () => void): Promise {\n if (res && res.body) {\n const body = res.body;\n const responseReader = body.getReader();\n\n // Define a maximum duration after which we just cancel\n const maxFetchDurationTimeout = setTimeout(\n () => {\n body.cancel().then(null, () => {\n // noop\n });\n },\n 90 * 1000, // 90s\n );\n\n let readingActive = true;\n while (readingActive) {\n let chunkTimeout;\n try {\n // abort reading if read op takes more than 5s\n chunkTimeout = setTimeout(() => {\n body.cancel().then(null, () => {\n // noop on error\n });\n }, 5000);\n\n // This .read() call will reject/throw when we abort due to timeouts through `body.cancel()`\n const { done } = await responseReader.read();\n\n clearTimeout(chunkTimeout);\n\n if (done) {\n onFinishedResolving();\n readingActive = false;\n }\n } catch (error) {\n readingActive = false;\n } finally {\n clearTimeout(chunkTimeout);\n }\n }\n\n clearTimeout(maxFetchDurationTimeout);\n\n responseReader.releaseLock();\n body.cancel().then(null, () => {\n // noop on error\n });\n }\n}\n\nfunction streamHandler(response: Response): void {\n // clone response for awaiting stream\n let clonedResponseForResolving: Response;\n try {\n clonedResponseForResolving = response.clone();\n } catch {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n resolveResponse(clonedResponseForResolving, () => {\n triggerHandlers('fetch-body-resolved', {\n endTimestamp: timestampInSeconds() * 1000,\n response,\n });\n });\n}\n\nfunction hasProp(obj: unknown, prop: T): obj is Record {\n return !!obj && typeof obj === 'object' && !!(obj as Record)[prop];\n}\n\nfunction getUrlFromResource(resource: FetchResource): string {\n if (typeof resource === 'string') {\n return resource;\n }\n\n if (!resource) {\n return '';\n }\n\n if (hasProp(resource, 'url')) {\n return resource.url;\n }\n\n if (resource.toString) {\n return resource.toString();\n }\n\n return '';\n}\n\n/**\n * Parses the fetch arguments to find the used Http method and the url of the request.\n * Exported for tests only.\n */\nexport function parseFetchArgs(fetchArgs: unknown[]): { method: string; url: string } {\n if (fetchArgs.length === 0) {\n return { method: 'GET', url: '' };\n }\n\n if (fetchArgs.length === 2) {\n const [url, options] = fetchArgs as [FetchResource, object];\n\n return {\n url: getUrlFromResource(url),\n method: hasProp(options, 'method') ? String(options.method).toUpperCase() : 'GET',\n };\n }\n\n const arg = fetchArgs[0];\n return {\n url: getUrlFromResource(arg as FetchResource),\n method: hasProp(arg, 'method') ? String(arg.method).toUpperCase() : 'GET',\n };\n}\n", "/*\n * This module exists for optimizations in the build process through rollup and terser. We define some global\n * constants, which can be overridden during build. By guarding certain pieces of code with functions that return these\n * constants, we can control whether or not they appear in the final bundle. (Any code guarded by a false condition will\n * never run, and will hence be dropped during treeshaking.) The two primary uses for this are stripping out calls to\n * `logger` and preventing node-related code from appearing in browser bundles.\n *\n * Attention:\n * This file should not be used to define constants/flags that are intended to be used for tree-shaking conducted by\n * users. These flags should live in their respective packages, as we identified user tooling (specifically webpack)\n * having issues tree-shaking these constants across package boundaries.\n * An example for this is the __SENTRY_DEBUG__ constant. It is declared in each package individually because we want\n * users to be able to shake away expressions that it guards.\n */\n\ndeclare const __SENTRY_BROWSER_BUNDLE__: boolean | undefined;\n\nexport type SdkSource = 'npm' | 'cdn' | 'loader';\n\n/**\n * Figures out if we're building a browser bundle.\n *\n * @returns true if this is a browser bundle build.\n */\nexport function isBrowserBundle(): boolean {\n return typeof __SENTRY_BROWSER_BUNDLE__ !== 'undefined' && !!__SENTRY_BROWSER_BUNDLE__;\n}\n\n/**\n * Get source of SDK.\n */\nexport function getSDKSource(): SdkSource {\n // This comment is used to identify this line in the CDN bundle build step and replace this with \"return 'cdn';\"\n /* __SENTRY_SDK_SOURCE__ */ return 'npm';\n}\n", "// Based on https://github.com/angular/angular.js/pull/13945/files\n// The MIT License\n\n// Copyright (c) 2010-2016 Google, Inc. http://angularjs.org\n\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\nimport { GLOBAL_OBJ } from '../worldwide';\n\nconst WINDOW = GLOBAL_OBJ as unknown as Window;\n\n/**\n * Tells whether current environment supports History API\n * {@link supportsHistory}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsHistory(): boolean {\n // NOTE: in Chrome App environment, touching history.pushState, *even inside\n // a try/catch block*, will cause Chrome to output an error to console.error\n // borrowed from: https://github.com/angular/angular.js/pull/13945/files\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const chromeVar = (WINDOW as any).chrome;\n const isChromePackagedApp = chromeVar && chromeVar.app && chromeVar.app.runtime;\n /* eslint-enable @typescript-eslint/no-unsafe-member-access */\n const hasHistoryApi = 'history' in WINDOW && !!WINDOW.history.pushState && !!WINDOW.history.replaceState;\n\n return !isChromePackagedApp && hasHistoryApi;\n}\n", "import { captureException, withScope } from '@sentry/core';\nimport {\n GLOBAL_OBJ,\n addExceptionMechanism,\n addExceptionTypeValue,\n addNonEnumerableProperty,\n getOriginalFunction,\n markFunctionWrapped,\n} from '@sentry/core';\nimport type { Mechanism, WrappedFunction } from '@sentry/types';\n\nexport const WINDOW = GLOBAL_OBJ as typeof GLOBAL_OBJ & Window;\n\nlet ignoreOnError: number = 0;\n\n/**\n * @hidden\n */\nexport function shouldIgnoreOnError(): boolean {\n return ignoreOnError > 0;\n}\n\n/**\n * @hidden\n */\nexport function ignoreNextOnError(): void {\n // onerror should trigger before setTimeout\n ignoreOnError++;\n setTimeout(() => {\n ignoreOnError--;\n });\n}\n\n/**\n * Instruments the given function and sends an event to Sentry every time the\n * function throws an exception.\n *\n * @param fn A function to wrap. It is generally safe to pass an unbound function, because the returned wrapper always\n * has a correct `this` context.\n * @returns The wrapped function.\n * @hidden\n */\nexport function wrap(\n fn: WrappedFunction,\n options: {\n mechanism?: Mechanism;\n } = {},\n before?: WrappedFunction,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any {\n // for future readers what this does is wrap a function and then create\n // a bi-directional wrapping between them.\n //\n // example: wrapped = wrap(original);\n // original.__sentry_wrapped__ -> wrapped\n // wrapped.__sentry_original__ -> original\n\n if (typeof fn !== 'function') {\n return fn;\n }\n\n try {\n // if we're dealing with a function that was previously wrapped, return\n // the original wrapper.\n const wrapper = fn.__sentry_wrapped__;\n if (wrapper) {\n if (typeof wrapper === 'function') {\n return wrapper;\n } else {\n // If we find that the `__sentry_wrapped__` function is not a function at the time of accessing it, it means\n // that something messed with it. In that case we want to return the originally passed function.\n return fn;\n }\n }\n\n // We don't wanna wrap it twice\n if (getOriginalFunction(fn)) {\n return fn;\n }\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n // Bail on wrapping and return the function as-is (defers to window.onerror).\n return fn;\n }\n\n /* eslint-disable prefer-rest-params */\n // It is important that `sentryWrapped` is not an arrow function to preserve the context of `this`\n const sentryWrapped: WrappedFunction = function (this: unknown): void {\n const args = Array.prototype.slice.call(arguments);\n\n try {\n if (before && typeof before === 'function') {\n before.apply(this, arguments);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n const wrappedArguments = args.map((arg: any) => wrap(arg, options));\n\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n return fn.apply(this, wrappedArguments);\n } catch (ex) {\n ignoreNextOnError();\n\n withScope(scope => {\n scope.addEventProcessor(event => {\n if (options.mechanism) {\n addExceptionTypeValue(event, undefined, undefined);\n addExceptionMechanism(event, options.mechanism);\n }\n\n event.extra = {\n ...event.extra,\n arguments: args,\n };\n\n return event;\n });\n\n captureException(ex);\n });\n\n throw ex;\n }\n };\n /* eslint-enable prefer-rest-params */\n\n // Accessing some objects may throw\n // ref: https://github.com/getsentry/sentry-javascript/issues/1168\n try {\n for (const property in fn) {\n if (Object.prototype.hasOwnProperty.call(fn, property)) {\n sentryWrapped[property] = fn[property];\n }\n }\n } catch (_oO) {} // eslint-disable-line no-empty\n\n // Signal that this function has been wrapped/filled already\n // for both debugging and to prevent it to being wrapped/filled twice\n markFunctionWrapped(sentryWrapped, fn);\n\n addNonEnumerableProperty(fn, '__sentry_wrapped__', sentryWrapped);\n\n // Restore original function name (not all browsers allow that)\n try {\n const descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, 'name') as PropertyDescriptor;\n if (descriptor.configurable) {\n Object.defineProperty(sentryWrapped, 'name', {\n get(): string {\n return fn.name;\n },\n });\n }\n // eslint-disable-next-line no-empty\n } catch (_oO) {}\n\n return sentryWrapped;\n}\n", "declare const __DEBUG_BUILD__: boolean;\n\n/**\n * This serves as a build time flag that will be true by default, but false in non-debug builds or if users replace `__SENTRY_DEBUG__` in their generated code.\n *\n * ATTENTION: This constant must never cross package boundaries (i.e. be exported) to guarantee that it can be used for tree shaking.\n */\nexport const DEBUG_BUILD = __DEBUG_BUILD__;\n", "import { getClient } from '@sentry/core';\nimport {\n addExceptionMechanism,\n addExceptionTypeValue,\n extractExceptionKeysForMessage,\n isDOMError,\n isDOMException,\n isError,\n isErrorEvent,\n isEvent,\n isParameterizedString,\n isPlainObject,\n normalizeToSize,\n resolvedSyncPromise,\n} from '@sentry/core';\nimport type {\n Event,\n EventHint,\n Exception,\n ParameterizedString,\n SeverityLevel,\n StackFrame,\n StackParser,\n} from '@sentry/types';\n\ntype Prototype = { constructor: (...args: unknown[]) => unknown };\n\n/**\n * This function creates an exception from a JavaScript Error\n */\nexport function exceptionFromError(stackParser: StackParser, ex: Error): Exception {\n // Get the frames first since Opera can lose the stack if we touch anything else first\n const frames = parseStackFrames(stackParser, ex);\n\n const exception: Exception = {\n type: extractType(ex),\n value: extractMessage(ex),\n };\n\n if (frames.length) {\n exception.stacktrace = { frames };\n }\n\n if (exception.type === undefined && exception.value === '') {\n exception.value = 'Unrecoverable error caught';\n }\n\n return exception;\n}\n\nfunction eventFromPlainObject(\n stackParser: StackParser,\n exception: Record,\n syntheticException?: Error,\n isUnhandledRejection?: boolean,\n): Event {\n const client = getClient();\n const normalizeDepth = client && client.getOptions().normalizeDepth;\n\n // If we can, we extract an exception from the object properties\n const errorFromProp = getErrorPropertyFromObject(exception);\n\n const extra = {\n __serialized__: normalizeToSize(exception, normalizeDepth),\n };\n\n if (errorFromProp) {\n return {\n exception: {\n values: [exceptionFromError(stackParser, errorFromProp)],\n },\n extra,\n };\n }\n\n const event = {\n exception: {\n values: [\n {\n type: isEvent(exception) ? exception.constructor.name : isUnhandledRejection ? 'UnhandledRejection' : 'Error',\n value: getNonErrorObjectExceptionValue(exception, { isUnhandledRejection }),\n } as Exception,\n ],\n },\n extra,\n } satisfies Event;\n\n if (syntheticException) {\n const frames = parseStackFrames(stackParser, syntheticException);\n if (frames.length) {\n // event.exception.values[0] has been set above\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n event.exception.values[0]!.stacktrace = { frames };\n }\n }\n\n return event;\n}\n\nfunction eventFromError(stackParser: StackParser, ex: Error): Event {\n return {\n exception: {\n values: [exceptionFromError(stackParser, ex)],\n },\n };\n}\n\n/** Parses stack frames from an error */\nfunction parseStackFrames(\n stackParser: StackParser,\n ex: Error & { framesToPop?: number; stacktrace?: string },\n): StackFrame[] {\n // Access and store the stacktrace property before doing ANYTHING\n // else to it because Opera is not very good at providing it\n // reliably in other circumstances.\n const stacktrace = ex.stacktrace || ex.stack || '';\n\n const skipLines = getSkipFirstStackStringLines(ex);\n const framesToPop = getPopFirstTopFrames(ex);\n\n try {\n return stackParser(stacktrace, skipLines, framesToPop);\n } catch (e) {\n // no-empty\n }\n\n return [];\n}\n\n// Based on our own mapping pattern - https://github.com/getsentry/sentry/blob/9f08305e09866c8bd6d0c24f5b0aabdd7dd6c59c/src/sentry/lang/javascript/errormapping.py#L83-L108\nconst reactMinifiedRegexp = /Minified React error #\\d+;/i;\n\n/**\n * Certain known React errors contain links that would be falsely\n * parsed as frames. This function check for these errors and\n * returns number of the stack string lines to skip.\n */\nfunction getSkipFirstStackStringLines(ex: Error): number {\n if (ex && reactMinifiedRegexp.test(ex.message)) {\n return 1;\n }\n\n return 0;\n}\n\n/**\n * If error has `framesToPop` property, it means that the\n * creator tells us the first x frames will be useless\n * and should be discarded. Typically error from wrapper function\n * which don't point to the actual location in the developer's code.\n *\n * Example: https://github.com/zertosh/invariant/blob/master/invariant.js#L46\n */\nfunction getPopFirstTopFrames(ex: Error & { framesToPop?: unknown }): number {\n if (typeof ex.framesToPop === 'number') {\n return ex.framesToPop;\n }\n\n return 0;\n}\n\n// https://developer.mozilla.org/en-US/docs/WebAssembly/JavaScript_interface/Exception\n// @ts-expect-error - WebAssembly.Exception is a valid class\nfunction isWebAssemblyException(exception: unknown): exception is WebAssembly.Exception {\n // Check for support\n // @ts-expect-error - WebAssembly.Exception is a valid class\n if (typeof WebAssembly !== 'undefined' && typeof WebAssembly.Exception !== 'undefined') {\n // @ts-expect-error - WebAssembly.Exception is a valid class\n return exception instanceof WebAssembly.Exception;\n } else {\n return false;\n }\n}\n\n/**\n * Extracts from errors what we use as the exception `type` in error events.\n *\n * Usually, this is the `name` property on Error objects but WASM errors need to be treated differently.\n */\nexport function extractType(ex: Error & { message: { error?: Error } }): string | undefined {\n const name = ex && ex.name;\n\n // The name for WebAssembly.Exception Errors needs to be extracted differently.\n // Context: https://github.com/getsentry/sentry-javascript/issues/13787\n if (!name && isWebAssemblyException(ex)) {\n // Emscripten sets array[type, message] to the \"message\" property on the WebAssembly.Exception object\n const hasTypeInMessage = ex.message && Array.isArray(ex.message) && ex.message.length == 2;\n return hasTypeInMessage ? ex.message[0] : 'WebAssembly.Exception';\n }\n\n return name;\n}\n\n/**\n * There are cases where stacktrace.message is an Event object\n * https://github.com/getsentry/sentry-javascript/issues/1949\n * In this specific case we try to extract stacktrace.message.error.message\n */\nexport function extractMessage(ex: Error & { message: { error?: Error } }): string {\n const message = ex && ex.message;\n\n if (!message) {\n return 'No error message';\n }\n\n if (message.error && typeof message.error.message === 'string') {\n return message.error.message;\n }\n\n // Emscripten sets array[type, message] to the \"message\" property on the WebAssembly.Exception object\n if (isWebAssemblyException(ex) && Array.isArray(ex.message) && ex.message.length == 2) {\n return ex.message[1];\n }\n\n return message;\n}\n\n/**\n * Creates an {@link Event} from all inputs to `captureException` and non-primitive inputs to `captureMessage`.\n * @hidden\n */\nexport function eventFromException(\n stackParser: StackParser,\n exception: unknown,\n hint?: EventHint,\n attachStacktrace?: boolean,\n): PromiseLike {\n const syntheticException = (hint && hint.syntheticException) || undefined;\n const event = eventFromUnknownInput(stackParser, exception, syntheticException, attachStacktrace);\n addExceptionMechanism(event); // defaults to { type: 'generic', handled: true }\n event.level = 'error';\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n}\n\n/**\n * Builds and Event from a Message\n * @hidden\n */\nexport function eventFromMessage(\n stackParser: StackParser,\n message: ParameterizedString,\n level: SeverityLevel = 'info',\n hint?: EventHint,\n attachStacktrace?: boolean,\n): PromiseLike {\n const syntheticException = (hint && hint.syntheticException) || undefined;\n const event = eventFromString(stackParser, message, syntheticException, attachStacktrace);\n event.level = level;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n}\n\n/**\n * @hidden\n */\nexport function eventFromUnknownInput(\n stackParser: StackParser,\n exception: unknown,\n syntheticException?: Error,\n attachStacktrace?: boolean,\n isUnhandledRejection?: boolean,\n): Event {\n let event: Event;\n\n if (isErrorEvent(exception as ErrorEvent) && (exception as ErrorEvent).error) {\n // If it is an ErrorEvent with `error` property, extract it to get actual Error\n const errorEvent = exception as ErrorEvent;\n return eventFromError(stackParser, errorEvent.error as Error);\n }\n\n // If it is a `DOMError` (which is a legacy API, but still supported in some browsers) then we just extract the name\n // and message, as it doesn't provide anything else. According to the spec, all `DOMExceptions` should also be\n // `Error`s, but that's not the case in IE11, so in that case we treat it the same as we do a `DOMError`.\n //\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMError\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMException\n // https://webidl.spec.whatwg.org/#es-DOMException-specialness\n if (isDOMError(exception) || isDOMException(exception as DOMException)) {\n const domException = exception as DOMException;\n\n if ('stack' in (exception as Error)) {\n event = eventFromError(stackParser, exception as Error);\n } else {\n const name = domException.name || (isDOMError(domException) ? 'DOMError' : 'DOMException');\n const message = domException.message ? `${name}: ${domException.message}` : name;\n event = eventFromString(stackParser, message, syntheticException, attachStacktrace);\n addExceptionTypeValue(event, message);\n }\n if ('code' in domException) {\n // eslint-disable-next-line deprecation/deprecation\n event.tags = { ...event.tags, 'DOMException.code': `${domException.code}` };\n }\n\n return event;\n }\n if (isError(exception)) {\n // we have a real Error object, do nothing\n return eventFromError(stackParser, exception);\n }\n if (isPlainObject(exception) || isEvent(exception)) {\n // If it's a plain object or an instance of `Event` (the built-in JS kind, not this SDK's `Event` type), serialize\n // it manually. This will allow us to group events based on top-level keys which is much better than creating a new\n // group on any key/value change.\n const objectException = exception as Record;\n event = eventFromPlainObject(stackParser, objectException, syntheticException, isUnhandledRejection);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n return event;\n }\n\n // If none of previous checks were valid, then it means that it's not:\n // - an instance of DOMError\n // - an instance of DOMException\n // - an instance of Event\n // - an instance of Error\n // - a valid ErrorEvent (one with an error property)\n // - a plain Object\n //\n // So bail out and capture it as a simple message:\n event = eventFromString(stackParser, exception as string, syntheticException, attachStacktrace);\n addExceptionTypeValue(event, `${exception}`, undefined);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n\n return event;\n}\n\nfunction eventFromString(\n stackParser: StackParser,\n message: ParameterizedString,\n syntheticException?: Error,\n attachStacktrace?: boolean,\n): Event {\n const event: Event = {};\n\n if (attachStacktrace && syntheticException) {\n const frames = parseStackFrames(stackParser, syntheticException);\n if (frames.length) {\n event.exception = {\n values: [{ value: message, stacktrace: { frames } }],\n };\n }\n }\n\n if (isParameterizedString(message)) {\n const { __sentry_template_string__, __sentry_template_values__ } = message;\n\n event.logentry = {\n message: __sentry_template_string__,\n params: __sentry_template_values__,\n };\n return event;\n }\n\n event.message = message;\n return event;\n}\n\nfunction getNonErrorObjectExceptionValue(\n exception: Record,\n { isUnhandledRejection }: { isUnhandledRejection?: boolean },\n): string {\n const keys = extractExceptionKeysForMessage(exception);\n const captureType = isUnhandledRejection ? 'promise rejection' : 'exception';\n\n // Some ErrorEvent instances do not have an `error` property, which is why they are not handled before\n // We still want to try to get a decent message for these cases\n if (isErrorEvent(exception)) {\n return `Event \\`ErrorEvent\\` captured as ${captureType} with message \\`${exception.message}\\``;\n }\n\n if (isEvent(exception)) {\n const className = getObjectClassName(exception);\n return `Event \\`${className}\\` (type=${exception.type}) captured as ${captureType}`;\n }\n\n return `Object captured as ${captureType} with keys: ${keys}`;\n}\n\nfunction getObjectClassName(obj: unknown): string | undefined | void {\n try {\n const prototype: Prototype | null = Object.getPrototypeOf(obj);\n return prototype ? prototype.constructor.name : undefined;\n } catch (e) {\n // ignore errors here\n }\n}\n\n/** If a plain object has a property that is an `Error`, return this error. */\nfunction getErrorPropertyFromObject(obj: Record): Error | undefined {\n for (const prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n const value = obj[prop];\n if (value instanceof Error) {\n return value;\n }\n }\n }\n\n return undefined;\n}\n", "import { createEnvelope, dsnToString } from '@sentry/core';\nimport type { DsnComponents, EventEnvelope, SdkMetadata, UserFeedback, UserFeedbackItem } from '@sentry/types';\n\n/**\n * Creates an envelope from a user feedback.\n */\nexport function createUserFeedbackEnvelope(\n feedback: UserFeedback,\n {\n metadata,\n tunnel,\n dsn,\n }: {\n metadata: SdkMetadata | undefined;\n tunnel: string | undefined;\n dsn: DsnComponents | undefined;\n },\n): EventEnvelope {\n const headers: EventEnvelope[0] = {\n event_id: feedback.event_id,\n sent_at: new Date().toISOString(),\n ...(metadata &&\n metadata.sdk && {\n sdk: {\n name: metadata.sdk.name,\n version: metadata.sdk.version,\n },\n }),\n ...(!!tunnel && !!dsn && { dsn: dsnToString(dsn) }),\n };\n const item = createUserFeedbackEnvelopeItem(feedback);\n\n return createEnvelope(headers, [item]);\n}\n\nfunction createUserFeedbackEnvelopeItem(feedback: UserFeedback): UserFeedbackItem {\n const feedbackHeaders: UserFeedbackItem[0] = {\n type: 'user_report',\n };\n return [feedbackHeaders, feedback];\n}\n", "import type { Scope } from '@sentry/core';\nimport { applySdkMetadata } from '@sentry/core';\nimport { BaseClient } from '@sentry/core';\nimport { getSDKSource, logger } from '@sentry/core';\nimport type {\n BrowserClientProfilingOptions,\n BrowserClientReplayOptions,\n ClientOptions,\n Event,\n EventHint,\n Options,\n ParameterizedString,\n SeverityLevel,\n UserFeedback,\n} from '@sentry/types';\n\nimport { DEBUG_BUILD } from './debug-build';\nimport { eventFromException, eventFromMessage } from './eventbuilder';\nimport { WINDOW } from './helpers';\nimport type { BrowserTransportOptions } from './transports/types';\nimport { createUserFeedbackEnvelope } from './userfeedback';\n\n/**\n * Configuration options for the Sentry Browser SDK.\n * @see @sentry/types Options for more information.\n */\nexport type BrowserOptions = Options &\n BrowserClientReplayOptions &\n BrowserClientProfilingOptions & {\n /**\n * Important: Only set this option if you know what you are doing!\n *\n * By default, the SDK will check if `Sentry.init` is called in a browser extension.\n * In case it is, it will stop initialization and log a warning\n * because browser extensions require a different Sentry initialization process:\n * https://docs.sentry.io/platforms/javascript/best-practices/shared-environments/\n *\n * Setting up the SDK in a browser extension with global error monitoring is not recommended\n * and will likely flood you with errors from other web sites or extensions. This can heavily\n * impact your quota and cause interference with your and other Sentry SDKs in shared environments.\n *\n * If this check wrongfully flags your setup as a browser extension, you can set this\n * option to `true` to skip the check.\n *\n * @default false\n */\n skipBrowserExtensionCheck?: boolean;\n };\n\n/**\n * Configuration options for the Sentry Browser SDK Client class\n * @see BrowserClient for more information.\n */\nexport type BrowserClientOptions = ClientOptions &\n BrowserClientReplayOptions &\n BrowserClientProfilingOptions & {\n /** If configured, this URL will be used as base URL for lazy loading integration. */\n cdnBaseUrl?: string;\n };\n\n/**\n * The Sentry Browser SDK Client.\n *\n * @see BrowserOptions for documentation on configuration options.\n * @see SentryClient for usage documentation.\n */\nexport class BrowserClient extends BaseClient {\n /**\n * Creates a new Browser SDK instance.\n *\n * @param options Configuration options for this SDK.\n */\n public constructor(options: BrowserClientOptions) {\n const opts = {\n // We default this to true, as it is the safer scenario\n parentSpanIsAlwaysRootSpan: true,\n ...options,\n };\n const sdkSource = WINDOW.SENTRY_SDK_SOURCE || getSDKSource();\n applySdkMetadata(opts, 'browser', ['browser'], sdkSource);\n\n super(opts);\n\n if (opts.sendClientReports && WINDOW.document) {\n WINDOW.document.addEventListener('visibilitychange', () => {\n if (WINDOW.document.visibilityState === 'hidden') {\n this._flushOutcomes();\n }\n });\n }\n }\n\n /**\n * @inheritDoc\n */\n public eventFromException(exception: unknown, hint?: EventHint): PromiseLike {\n return eventFromException(this._options.stackParser, exception, hint, this._options.attachStacktrace);\n }\n\n /**\n * @inheritDoc\n */\n public eventFromMessage(\n message: ParameterizedString,\n level: SeverityLevel = 'info',\n hint?: EventHint,\n ): PromiseLike {\n return eventFromMessage(this._options.stackParser, message, level, hint, this._options.attachStacktrace);\n }\n\n /**\n * Sends user feedback to Sentry.\n *\n * @deprecated Use `captureFeedback` instead.\n */\n public captureUserFeedback(feedback: UserFeedback): void {\n if (!this._isEnabled()) {\n DEBUG_BUILD && logger.warn('SDK not enabled, will not capture user feedback.');\n return;\n }\n\n const envelope = createUserFeedbackEnvelope(feedback, {\n metadata: this.getSdkMetadata(),\n dsn: this.getDsn(),\n tunnel: this.getOptions().tunnel,\n });\n\n // sendEnvelope should not throw\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.sendEnvelope(envelope);\n }\n\n /**\n * @inheritDoc\n */\n protected _prepareEvent(event: Event, hint: EventHint, scope?: Scope): PromiseLike {\n event.platform = event.platform || 'javascript';\n return super._prepareEvent(event, hint, scope);\n }\n}\n", "declare const __DEBUG_BUILD__: boolean;\n\n/**\n * This serves as a build time flag that will be true by default, but false in non-debug builds or if users replace `__SENTRY_DEBUG__` in their generated code.\n *\n * ATTENTION: This constant must never cross package boundaries (i.e. be exported) to guarantee that it can be used for tree shaking.\n */\nexport const DEBUG_BUILD = __DEBUG_BUILD__;\n", "import { GLOBAL_OBJ } from '@sentry/core';\n\nexport const WINDOW = GLOBAL_OBJ as typeof GLOBAL_OBJ &\n // document is not available in all browser environments (webworkers). We make it optional so you have to explicitly check for it\n Omit &\n Partial>;\n", "import type { HandlerDataDom } from '@sentry/types';\n\nimport { addHandler, addNonEnumerableProperty, fill, maybeInstrument, triggerHandlers, uuid4 } from '@sentry/core';\nimport { WINDOW } from '../types';\n\ntype SentryWrappedTarget = HTMLElement & { _sentryId?: string };\n\ntype AddEventListener = (\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions,\n) => void;\ntype RemoveEventListener = (\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions,\n) => void;\n\ntype InstrumentedElement = Element & {\n __sentry_instrumentation_handlers__?: {\n [key in 'click' | 'keypress']?: {\n handler?: unknown;\n /** The number of custom listeners attached to this element */\n refCount: number;\n };\n };\n};\n\nconst DEBOUNCE_DURATION = 1000;\n\nlet debounceTimerID: number | undefined;\nlet lastCapturedEventType: string | undefined;\nlet lastCapturedEventTargetId: string | undefined;\n\n/**\n * Add an instrumentation handler for when a click or a keypress happens.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addClickKeypressInstrumentationHandler(handler: (data: HandlerDataDom) => void): void {\n const type = 'dom';\n addHandler(type, handler);\n maybeInstrument(type, instrumentDOM);\n}\n\n/** Exported for tests only. */\nexport function instrumentDOM(): void {\n if (!WINDOW.document) {\n return;\n }\n\n // Make it so that any click or keypress that is unhandled / bubbled up all the way to the document triggers our dom\n // handlers. (Normally we have only one, which captures a breadcrumb for each click or keypress.) Do this before\n // we instrument `addEventListener` so that we don't end up attaching this handler twice.\n const triggerDOMHandler = triggerHandlers.bind(null, 'dom');\n const globalDOMEventHandler = makeDOMEventHandler(triggerDOMHandler, true);\n WINDOW.document.addEventListener('click', globalDOMEventHandler, false);\n WINDOW.document.addEventListener('keypress', globalDOMEventHandler, false);\n\n // After hooking into click and keypress events bubbled up to `document`, we also hook into user-handled\n // clicks & keypresses, by adding an event listener of our own to any element to which they add a listener. That\n // way, whenever one of their handlers is triggered, ours will be, too. (This is needed because their handler\n // could potentially prevent the event from bubbling up to our global listeners. This way, our handler are still\n // guaranteed to fire at least once.)\n ['EventTarget', 'Node'].forEach((target: string) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any\n const proto = (WINDOW as any)[target] && (WINDOW as any)[target].prototype;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, no-prototype-builtins\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n\n fill(proto, 'addEventListener', function (originalAddEventListener: AddEventListener): AddEventListener {\n return function (\n this: Element,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ): AddEventListener {\n if (type === 'click' || type == 'keypress') {\n try {\n const el = this as InstrumentedElement;\n const handlers = (el.__sentry_instrumentation_handlers__ = el.__sentry_instrumentation_handlers__ || {});\n const handlerForType = (handlers[type] = handlers[type] || { refCount: 0 });\n\n if (!handlerForType.handler) {\n const handler = makeDOMEventHandler(triggerDOMHandler);\n handlerForType.handler = handler;\n originalAddEventListener.call(this, type, handler, options);\n }\n\n handlerForType.refCount++;\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListeners` calls with no proper `this` context.\n }\n }\n\n return originalAddEventListener.call(this, type, listener, options);\n };\n });\n\n fill(\n proto,\n 'removeEventListener',\n function (originalRemoveEventListener: RemoveEventListener): RemoveEventListener {\n return function (\n this: Element,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions,\n ): () => void {\n if (type === 'click' || type == 'keypress') {\n try {\n const el = this as InstrumentedElement;\n const handlers = el.__sentry_instrumentation_handlers__ || {};\n const handlerForType = handlers[type];\n\n if (handlerForType) {\n handlerForType.refCount--;\n // If there are no longer any custom handlers of the current type on this element, we can remove ours, too.\n if (handlerForType.refCount <= 0) {\n originalRemoveEventListener.call(this, type, handlerForType.handler, options);\n handlerForType.handler = undefined;\n delete handlers[type]; // eslint-disable-line @typescript-eslint/no-dynamic-delete\n }\n\n // If there are no longer any custom handlers of any type on this element, cleanup everything.\n if (Object.keys(handlers).length === 0) {\n delete el.__sentry_instrumentation_handlers__;\n }\n }\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListeners` calls with no proper `this` context.\n }\n }\n\n return originalRemoveEventListener.call(this, type, listener, options);\n };\n },\n );\n });\n}\n\n/**\n * Check whether the event is similar to the last captured one. For example, two click events on the same button.\n */\nfunction isSimilarToLastCapturedEvent(event: Event): boolean {\n // If both events have different type, then user definitely performed two separate actions. e.g. click + keypress.\n if (event.type !== lastCapturedEventType) {\n return false;\n }\n\n try {\n // If both events have the same type, it's still possible that actions were performed on different targets.\n // e.g. 2 clicks on different buttons.\n if (!event.target || (event.target as SentryWrappedTarget)._sentryId !== lastCapturedEventTargetId) {\n return false;\n }\n } catch (e) {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n }\n\n // If both events have the same type _and_ same `target` (an element which triggered an event, _not necessarily_\n // to which an event listener was attached), we treat them as the same action, as we want to capture\n // only one breadcrumb. e.g. multiple clicks on the same button, or typing inside a user input box.\n return true;\n}\n\n/**\n * Decide whether an event should be captured.\n * @param event event to be captured\n */\nfunction shouldSkipDOMEvent(eventType: string, target: SentryWrappedTarget | null): boolean {\n // We are only interested in filtering `keypress` events for now.\n if (eventType !== 'keypress') {\n return false;\n }\n\n if (!target || !target.tagName) {\n return true;\n }\n\n // Only consider keypress events on actual input elements. This will disregard keypresses targeting body\n // e.g.tabbing through elements, hotkeys, etc.\n if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n return false;\n }\n\n return true;\n}\n\n/**\n * Wraps addEventListener to capture UI breadcrumbs\n */\nfunction makeDOMEventHandler(\n handler: (data: HandlerDataDom) => void,\n globalListener: boolean = false,\n): (event: Event) => void {\n return (event: Event & { _sentryCaptured?: true }): void => {\n // It's possible this handler might trigger multiple times for the same\n // event (e.g. event propagation through node ancestors).\n // Ignore if we've already captured that event.\n if (!event || event['_sentryCaptured']) {\n return;\n }\n\n const target = getEventTarget(event);\n\n // We always want to skip _some_ events.\n if (shouldSkipDOMEvent(event.type, target)) {\n return;\n }\n\n // Mark event as \"seen\"\n addNonEnumerableProperty(event, '_sentryCaptured', true);\n\n if (target && !target._sentryId) {\n // Add UUID to event target so we can identify if\n addNonEnumerableProperty(target, '_sentryId', uuid4());\n }\n\n const name = event.type === 'keypress' ? 'input' : event.type;\n\n // If there is no last captured event, it means that we can safely capture the new event and store it for future comparisons.\n // If there is a last captured event, see if the new event is different enough to treat it as a unique one.\n // If that's the case, emit the previous event and store locally the newly-captured DOM event.\n if (!isSimilarToLastCapturedEvent(event)) {\n const handlerData: HandlerDataDom = { event, name, global: globalListener };\n handler(handlerData);\n lastCapturedEventType = event.type;\n lastCapturedEventTargetId = target ? target._sentryId : undefined;\n }\n\n // Start a new debounce timer that will prevent us from capturing multiple events that should be grouped together.\n clearTimeout(debounceTimerID);\n debounceTimerID = WINDOW.setTimeout(() => {\n lastCapturedEventTargetId = undefined;\n lastCapturedEventType = undefined;\n }, DEBOUNCE_DURATION);\n };\n}\n\nfunction getEventTarget(event: Event): SentryWrappedTarget | null {\n try {\n return event.target as SentryWrappedTarget | null;\n } catch (e) {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n return null;\n }\n}\n", "import { addHandler, fill, maybeInstrument, supportsHistory, triggerHandlers } from '@sentry/core';\nimport type { HandlerDataHistory } from '@sentry/types';\nimport { WINDOW } from '../types';\n\nlet lastHref: string | undefined;\n\n/**\n * Add an instrumentation handler for when a fetch request happens.\n * The handler function is called once when the request starts and once when it ends,\n * which can be identified by checking if it has an `endTimestamp`.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addHistoryInstrumentationHandler(handler: (data: HandlerDataHistory) => void): void {\n const type = 'history';\n addHandler(type, handler);\n maybeInstrument(type, instrumentHistory);\n}\n\nfunction instrumentHistory(): void {\n if (!supportsHistory()) {\n return;\n }\n\n const oldOnPopState = WINDOW.onpopstate;\n WINDOW.onpopstate = function (this: WindowEventHandlers, ...args: unknown[]) {\n const to = WINDOW.location.href;\n // keep track of the current URL state, as we always receive only the updated state\n const from = lastHref;\n lastHref = to;\n const handlerData: HandlerDataHistory = { from, to };\n triggerHandlers('history', handlerData);\n if (oldOnPopState) {\n // Apparently this can throw in Firefox when incorrectly implemented plugin is installed.\n // https://github.com/getsentry/sentry-javascript/issues/3344\n // https://github.com/bugsnag/bugsnag-js/issues/469\n try {\n return oldOnPopState.apply(this, args);\n } catch (_oO) {\n // no-empty\n }\n }\n };\n\n function historyReplacementFunction(originalHistoryFunction: () => void): () => void {\n return function (this: History, ...args: unknown[]): void {\n const url = args.length > 2 ? args[2] : undefined;\n if (url) {\n // coerce to string (this is what pushState does)\n const from = lastHref;\n const to = String(url);\n // keep track of the current URL state, as we always receive only the updated state\n lastHref = to;\n const handlerData: HandlerDataHistory = { from, to };\n triggerHandlers('history', handlerData);\n }\n return originalHistoryFunction.apply(this, args);\n };\n }\n\n fill(WINDOW.history, 'pushState', historyReplacementFunction);\n fill(WINDOW.history, 'replaceState', historyReplacementFunction);\n}\n", "import { isNativeFunction, logger } from '@sentry/core';\nimport { DEBUG_BUILD } from './debug-build';\nimport { WINDOW } from './types';\n\n/**\n * We generally want to use window.fetch / window.setTimeout.\n * However, in some cases this may be wrapped (e.g. by Zone.js for Angular),\n * so we try to get an unpatched version of this from a sandboxed iframe.\n */\n\ninterface CacheableImplementations {\n setTimeout: typeof WINDOW.setTimeout;\n fetch: typeof WINDOW.fetch;\n}\n\nconst cachedImplementations: Partial = {};\n\n/**\n * Get the native implementation of a browser function.\n *\n * This can be used to ensure we get an unwrapped version of a function, in cases where a wrapped function can lead to problems.\n *\n * The following methods can be retrieved:\n * - `setTimeout`: This can be wrapped by e.g. Angular, causing change detection to be triggered.\n * - `fetch`: This can be wrapped by e.g. ad-blockers, causing an infinite loop when a request is blocked.\n */\nexport function getNativeImplementation(\n name: T,\n): CacheableImplementations[T] {\n const cached = cachedImplementations[name];\n if (cached) {\n return cached;\n }\n\n let impl = WINDOW[name] as CacheableImplementations[T];\n\n // Fast path to avoid DOM I/O\n if (isNativeFunction(impl)) {\n return (cachedImplementations[name] = impl.bind(WINDOW) as CacheableImplementations[T]);\n }\n\n const document = WINDOW.document;\n // eslint-disable-next-line deprecation/deprecation\n if (document && typeof document.createElement === 'function') {\n try {\n const sandbox = document.createElement('iframe');\n sandbox.hidden = true;\n document.head.appendChild(sandbox);\n const contentWindow = sandbox.contentWindow;\n if (contentWindow && contentWindow[name]) {\n impl = contentWindow[name] as CacheableImplementations[T];\n }\n document.head.removeChild(sandbox);\n } catch (e) {\n // Could not create sandbox iframe, just use window.xxx\n DEBUG_BUILD && logger.warn(`Could not create sandbox iframe for ${name} check, bailing to window.${name}: `, e);\n }\n }\n\n // Sanity check: This _should_ not happen, but if it does, we just skip caching...\n // This can happen e.g. in tests where fetch may not be available in the env, or similar.\n if (!impl) {\n return impl;\n }\n\n return (cachedImplementations[name] = impl.bind(WINDOW) as CacheableImplementations[T]);\n}\n\n/** Clear a cached implementation. */\nexport function clearCachedImplementation(name: keyof CacheableImplementations): void {\n cachedImplementations[name] = undefined;\n}\n\n/**\n * A special usecase for incorrectly wrapped Fetch APIs in conjunction with ad-blockers.\n * Whenever someone wraps the Fetch API and returns the wrong promise chain,\n * this chain becomes orphaned and there is no possible way to capture it's rejections\n * other than allowing it bubble up to this very handler. eg.\n *\n * const f = window.fetch;\n * window.fetch = function () {\n * const p = f.apply(this, arguments);\n *\n * p.then(function() {\n * console.log('hi.');\n * });\n *\n * return p;\n * }\n *\n * `p.then(function () { ... })` is producing a completely separate promise chain,\n * however, what's returned is `p` - the result of original `fetch` call.\n *\n * This mean, that whenever we use the Fetch API to send our own requests, _and_\n * some ad-blocker blocks it, this orphaned chain will _always_ reject,\n * effectively causing another event to be captured.\n * This makes a whole process become an infinite loop, which we need to somehow\n * deal with, and break it in one way or another.\n *\n * To deal with this issue, we are making sure that we _always_ use the real\n * browser Fetch API, instead of relying on what `window.fetch` exposes.\n * The only downside to this would be missing our own requests as breadcrumbs,\n * but because we are already not doing this, it should be just fine.\n *\n * Possible failed fetch error messages per-browser:\n *\n * Chrome: Failed to fetch\n * Edge: Failed to Fetch\n * Firefox: NetworkError when attempting to fetch resource\n * Safari: resource blocked by content blocker\n */\nexport function fetch(...rest: Parameters): ReturnType {\n return getNativeImplementation('fetch')(...rest);\n}\n\n/**\n * Get an unwrapped `setTimeout` method.\n * This ensures that even if e.g. Angular wraps `setTimeout`, we get the native implementation,\n * avoiding triggering change detection.\n */\nexport function setTimeout(...rest: Parameters): ReturnType {\n return getNativeImplementation('setTimeout')(...rest);\n}\n", "import type { HandlerDataXhr, SentryWrappedXMLHttpRequest } from '@sentry/types';\n\nimport { addHandler, isString, maybeInstrument, timestampInSeconds, triggerHandlers } from '@sentry/core';\nimport { WINDOW } from '../types';\n\nexport const SENTRY_XHR_DATA_KEY = '__sentry_xhr_v3__';\n\ntype WindowWithXhr = Window & { XMLHttpRequest?: typeof XMLHttpRequest };\n\n/**\n * Add an instrumentation handler for when an XHR request happens.\n * The handler function is called once when the request starts and once when it ends,\n * which can be identified by checking if it has an `endTimestamp`.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addXhrInstrumentationHandler(handler: (data: HandlerDataXhr) => void): void {\n const type = 'xhr';\n addHandler(type, handler);\n maybeInstrument(type, instrumentXHR);\n}\n\n/** Exported only for tests. */\nexport function instrumentXHR(): void {\n if (!(WINDOW as WindowWithXhr).XMLHttpRequest) {\n return;\n }\n\n const xhrproto = XMLHttpRequest.prototype;\n\n // eslint-disable-next-line @typescript-eslint/unbound-method\n xhrproto.open = new Proxy(xhrproto.open, {\n apply(originalOpen, xhrOpenThisArg: XMLHttpRequest & SentryWrappedXMLHttpRequest, xhrOpenArgArray) {\n const startTimestamp = timestampInSeconds() * 1000;\n\n // open() should always be called with two or more arguments\n // But to be on the safe side, we actually validate this and bail out if we don't have a method & url\n const method = isString(xhrOpenArgArray[0]) ? xhrOpenArgArray[0].toUpperCase() : undefined;\n const url = parseUrl(xhrOpenArgArray[1]);\n\n if (!method || !url) {\n return originalOpen.apply(xhrOpenThisArg, xhrOpenArgArray);\n }\n\n xhrOpenThisArg[SENTRY_XHR_DATA_KEY] = {\n method,\n url,\n request_headers: {},\n };\n\n // if Sentry key appears in URL, don't capture it as a request\n if (method === 'POST' && url.match(/sentry_key/)) {\n xhrOpenThisArg.__sentry_own_request__ = true;\n }\n\n const onreadystatechangeHandler: () => void = () => {\n // For whatever reason, this is not the same instance here as from the outer method\n const xhrInfo = xhrOpenThisArg[SENTRY_XHR_DATA_KEY];\n\n if (!xhrInfo) {\n return;\n }\n\n if (xhrOpenThisArg.readyState === 4) {\n try {\n // touching statusCode in some platforms throws\n // an exception\n xhrInfo.status_code = xhrOpenThisArg.status;\n } catch (e) {\n /* do nothing */\n }\n\n const handlerData: HandlerDataXhr = {\n endTimestamp: timestampInSeconds() * 1000,\n startTimestamp,\n xhr: xhrOpenThisArg,\n };\n triggerHandlers('xhr', handlerData);\n }\n };\n\n if ('onreadystatechange' in xhrOpenThisArg && typeof xhrOpenThisArg.onreadystatechange === 'function') {\n xhrOpenThisArg.onreadystatechange = new Proxy(xhrOpenThisArg.onreadystatechange, {\n apply(originalOnreadystatechange, onreadystatechangeThisArg, onreadystatechangeArgArray: unknown[]) {\n onreadystatechangeHandler();\n return originalOnreadystatechange.apply(onreadystatechangeThisArg, onreadystatechangeArgArray);\n },\n });\n } else {\n xhrOpenThisArg.addEventListener('readystatechange', onreadystatechangeHandler);\n }\n\n // Intercepting `setRequestHeader` to access the request headers of XHR instance.\n // This will only work for user/library defined headers, not for the default/browser-assigned headers.\n // Request cookies are also unavailable for XHR, as `Cookie` header can't be defined by `setRequestHeader`.\n xhrOpenThisArg.setRequestHeader = new Proxy(xhrOpenThisArg.setRequestHeader, {\n apply(\n originalSetRequestHeader,\n setRequestHeaderThisArg: SentryWrappedXMLHttpRequest,\n setRequestHeaderArgArray: unknown[],\n ) {\n const [header, value] = setRequestHeaderArgArray;\n\n const xhrInfo = setRequestHeaderThisArg[SENTRY_XHR_DATA_KEY];\n\n if (xhrInfo && isString(header) && isString(value)) {\n xhrInfo.request_headers[header.toLowerCase()] = value;\n }\n\n return originalSetRequestHeader.apply(setRequestHeaderThisArg, setRequestHeaderArgArray);\n },\n });\n\n return originalOpen.apply(xhrOpenThisArg, xhrOpenArgArray);\n },\n });\n\n // eslint-disable-next-line @typescript-eslint/unbound-method\n xhrproto.send = new Proxy(xhrproto.send, {\n apply(originalSend, sendThisArg: XMLHttpRequest & SentryWrappedXMLHttpRequest, sendArgArray: unknown[]) {\n const sentryXhrData = sendThisArg[SENTRY_XHR_DATA_KEY];\n\n if (!sentryXhrData) {\n return originalSend.apply(sendThisArg, sendArgArray);\n }\n\n if (sendArgArray[0] !== undefined) {\n sentryXhrData.body = sendArgArray[0];\n }\n\n const handlerData: HandlerDataXhr = {\n startTimestamp: timestampInSeconds() * 1000,\n xhr: sendThisArg,\n };\n triggerHandlers('xhr', handlerData);\n\n return originalSend.apply(sendThisArg, sendArgArray);\n },\n });\n}\n\nfunction parseUrl(url: string | unknown): string | undefined {\n if (isString(url)) {\n return url;\n }\n\n try {\n // url can be a string or URL\n // but since URL is not available in IE11, we do not check for it,\n // but simply assume it is an URL and return `toString()` from it (which returns the full URL)\n // If that fails, we just return undefined\n return (url as URL).toString();\n } catch {} // eslint-disable-line no-empty\n\n return undefined;\n}\n", "import { clearCachedImplementation, getNativeImplementation } from '@sentry-internal/browser-utils';\nimport { createTransport } from '@sentry/core';\nimport { rejectedSyncPromise } from '@sentry/core';\nimport type { Transport, TransportMakeRequestResponse, TransportRequest } from '@sentry/types';\nimport type { WINDOW } from '../helpers';\n\nimport type { BrowserTransportOptions } from './types';\n\n/**\n * Creates a Transport that uses the Fetch API to send events to Sentry.\n */\nexport function makeFetchTransport(\n options: BrowserTransportOptions,\n nativeFetch: typeof WINDOW.fetch | undefined = getNativeImplementation('fetch'),\n): Transport {\n let pendingBodySize = 0;\n let pendingCount = 0;\n\n function makeRequest(request: TransportRequest): PromiseLike {\n const requestSize = request.body.length;\n pendingBodySize += requestSize;\n pendingCount++;\n\n const requestOptions: RequestInit = {\n body: request.body,\n method: 'POST',\n referrerPolicy: 'origin',\n headers: options.headers,\n // Outgoing requests are usually cancelled when navigating to a different page, causing a \"TypeError: Failed to\n // fetch\" error and sending a \"network_error\" client-outcome - in Chrome, the request status shows \"(cancelled)\".\n // The `keepalive` flag keeps outgoing requests alive, even when switching pages. We want this since we're\n // frequently sending events right before the user is switching pages (eg. when finishing navigation transactions).\n // Gotchas:\n // - `keepalive` isn't supported by Firefox\n // - As per spec (https://fetch.spec.whatwg.org/#http-network-or-cache-fetch):\n // If the sum of contentLength and inflightKeepaliveBytes is greater than 64 kibibytes, then return a network error.\n // We will therefore only activate the flag when we're below that limit.\n // There is also a limit of requests that can be open at the same time, so we also limit this to 15\n // See https://github.com/getsentry/sentry-javascript/pull/7553 for details\n keepalive: pendingBodySize <= 60_000 && pendingCount < 15,\n ...options.fetchOptions,\n };\n\n if (!nativeFetch) {\n clearCachedImplementation('fetch');\n return rejectedSyncPromise('No fetch implementation available');\n }\n\n try {\n // TODO: This may need a `suppressTracing` call in the future when we switch the browser SDK to OTEL\n return nativeFetch(options.url, requestOptions).then(response => {\n pendingBodySize -= requestSize;\n pendingCount--;\n return {\n statusCode: response.status,\n headers: {\n 'x-sentry-rate-limits': response.headers.get('X-Sentry-Rate-Limits'),\n 'retry-after': response.headers.get('Retry-After'),\n },\n };\n });\n } catch (e) {\n clearCachedImplementation('fetch');\n pendingBodySize -= requestSize;\n pendingCount--;\n return rejectedSyncPromise(e);\n }\n }\n\n return createTransport(options, makeRequest);\n}\n", "// This was originally forked from https://github.com/csnover/TraceKit, and was largely\n// re - written as part of raven - js.\n//\n// This code was later copied to the JavaScript mono - repo and further modified and\n// refactored over the years.\n\n// Copyright (c) 2013 Onur Can Cakmak onur.cakmak@gmail.com and all TraceKit contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy of this\n// software and associated documentation files(the 'Software'), to deal in the Software\n// without restriction, including without limitation the rights to use, copy, modify,\n// merge, publish, distribute, sublicense, and / or sell copies of the Software, and to\n// permit persons to whom the Software is furnished to do so, subject to the following\n// conditions:\n//\n// The above copyright notice and this permission notice shall be included in all copies\n// or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,\n// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\n// PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF\n// CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE\n// OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nimport { UNKNOWN_FUNCTION, createStackParser } from '@sentry/core';\nimport type { StackFrame, StackLineParser, StackLineParserFn } from '@sentry/types';\n\nconst OPERA10_PRIORITY = 10;\nconst OPERA11_PRIORITY = 20;\nconst CHROME_PRIORITY = 30;\nconst WINJS_PRIORITY = 40;\nconst GECKO_PRIORITY = 50;\n\nfunction createFrame(filename: string, func: string, lineno?: number, colno?: number): StackFrame {\n const frame: StackFrame = {\n filename,\n function: func === '' ? UNKNOWN_FUNCTION : func,\n in_app: true, // All browser frames are considered in_app\n };\n\n if (lineno !== undefined) {\n frame.lineno = lineno;\n }\n\n if (colno !== undefined) {\n frame.colno = colno;\n }\n\n return frame;\n}\n\n// This regex matches frames that have no function name (ie. are at the top level of a module).\n// For example \"at http://localhost:5000//script.js:1:126\"\n// Frames _with_ function names usually look as follows: \"at commitLayoutEffects (react-dom.development.js:23426:1)\"\nconst chromeRegexNoFnName = /^\\s*at (\\S+?)(?::(\\d+))(?::(\\d+))\\s*$/i;\n\n// This regex matches all the frames that have a function name.\nconst chromeRegex =\n /^\\s*at (?:(.+?\\)(?: \\[.+\\])?|.*?) ?\\((?:address at )?)?(?:async )?((?:|[-a-z]+:|.*bundle|\\/)?.*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\n\nconst chromeEvalRegex = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n\n// Chromium based browsers: Chrome, Brave, new Opera, new Edge\n// We cannot call this variable `chrome` because it can conflict with global `chrome` variable in certain environments\n// See: https://github.com/getsentry/sentry-javascript/issues/6880\nconst chromeStackParserFn: StackLineParserFn = line => {\n // If the stack line has no function name, we need to parse it differently\n const noFnParts = chromeRegexNoFnName.exec(line) as null | [string, string, string, string];\n\n if (noFnParts) {\n const [, filename, line, col] = noFnParts;\n return createFrame(filename, UNKNOWN_FUNCTION, +line, +col);\n }\n\n const parts = chromeRegex.exec(line) as null | [string, string, string, string, string];\n\n if (parts) {\n const isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n\n if (isEval) {\n const subMatch = chromeEvalRegex.exec(parts[2]) as null | [string, string, string, string];\n\n if (subMatch) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = subMatch[1]; // url\n parts[3] = subMatch[2]; // line\n parts[4] = subMatch[3]; // column\n }\n }\n\n // Kamil: One more hack won't hurt us right? Understanding and adding more rules on top of these regexps right now\n // would be way too time consuming. (TODO: Rewrite whole RegExp to be more readable)\n const [func, filename] = extractSafariExtensionDetails(parts[1] || UNKNOWN_FUNCTION, parts[2]);\n\n return createFrame(filename, func, parts[3] ? +parts[3] : undefined, parts[4] ? +parts[4] : undefined);\n }\n\n return;\n};\n\nexport const chromeStackLineParser: StackLineParser = [CHROME_PRIORITY, chromeStackParserFn];\n\n// gecko regex: `(?:bundle|\\d+\\.js)`: `bundle` is for react native, `\\d+\\.js` also but specifically for ram bundles because it\n// generates filenames without a prefix like `file://` the filenames in the stacktrace are just 42.js\n// We need this specific case for now because we want no other regex to match.\nconst geckoREgex =\n /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:[-a-z]+)?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js)|\\/[\\w\\-. /=]+)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nconst geckoEvalRegex = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\n\nconst gecko: StackLineParserFn = line => {\n const parts = geckoREgex.exec(line) as null | [string, string, string, string, string, string];\n\n if (parts) {\n const isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n if (isEval) {\n const subMatch = geckoEvalRegex.exec(parts[3]) as null | [string, string, string];\n\n if (subMatch) {\n // throw out eval line/column and use top-most line number\n parts[1] = parts[1] || 'eval';\n parts[3] = subMatch[1];\n parts[4] = subMatch[2];\n parts[5] = ''; // no column when eval\n }\n }\n\n let filename = parts[3];\n let func = parts[1] || UNKNOWN_FUNCTION;\n [func, filename] = extractSafariExtensionDetails(func, filename);\n\n return createFrame(filename, func, parts[4] ? +parts[4] : undefined, parts[5] ? +parts[5] : undefined);\n }\n\n return;\n};\n\nexport const geckoStackLineParser: StackLineParser = [GECKO_PRIORITY, gecko];\n\nconst winjsRegex = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:[-a-z]+):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nconst winjs: StackLineParserFn = line => {\n const parts = winjsRegex.exec(line) as null | [string, string, string, string, string];\n\n return parts\n ? createFrame(parts[2], parts[1] || UNKNOWN_FUNCTION, +parts[3], parts[4] ? +parts[4] : undefined)\n : undefined;\n};\n\nexport const winjsStackLineParser: StackLineParser = [WINJS_PRIORITY, winjs];\n\nconst opera10Regex = / line (\\d+).*script (?:in )?(\\S+)(?:: in function (\\S+))?$/i;\n\nconst opera10: StackLineParserFn = line => {\n const parts = opera10Regex.exec(line) as null | [string, string, string, string];\n return parts ? createFrame(parts[2], parts[3] || UNKNOWN_FUNCTION, +parts[1]) : undefined;\n};\n\nexport const opera10StackLineParser: StackLineParser = [OPERA10_PRIORITY, opera10];\n\nconst opera11Regex =\n / line (\\d+), column (\\d+)\\s*(?:in (?:]+)>|([^)]+))\\(.*\\))? in (.*):\\s*$/i;\n\nconst opera11: StackLineParserFn = line => {\n const parts = opera11Regex.exec(line) as null | [string, string, string, string, string, string];\n return parts ? createFrame(parts[5], parts[3] || parts[4] || UNKNOWN_FUNCTION, +parts[1], +parts[2]) : undefined;\n};\n\nexport const opera11StackLineParser: StackLineParser = [OPERA11_PRIORITY, opera11];\n\nexport const defaultStackLineParsers = [chromeStackLineParser, geckoStackLineParser];\n\nexport const defaultStackParser = createStackParser(...defaultStackLineParsers);\n\n/**\n * Safari web extensions, starting version unknown, can produce \"frames-only\" stacktraces.\n * What it means, is that instead of format like:\n *\n * Error: wat\n * at function@url:row:col\n * at function@url:row:col\n * at function@url:row:col\n *\n * it produces something like:\n *\n * function@url:row:col\n * function@url:row:col\n * function@url:row:col\n *\n * Because of that, it won't be captured by `chrome` RegExp and will fall into `Gecko` branch.\n * This function is extracted so that we can use it in both places without duplicating the logic.\n * Unfortunately \"just\" changing RegExp is too complicated now and making it pass all tests\n * and fix this case seems like an impossible, or at least way too time-consuming task.\n */\nconst extractSafariExtensionDetails = (func: string, filename: string): [string, string] => {\n const isSafariExtension = func.indexOf('safari-extension') !== -1;\n const isSafariWebExtension = func.indexOf('safari-web-extension') !== -1;\n\n return isSafariExtension || isSafariWebExtension\n ? [\n func.indexOf('@') !== -1 ? (func.split('@')[0] as string) : UNKNOWN_FUNCTION,\n isSafariExtension ? `safari-extension:${filename}` : `safari-web-extension:${filename}`,\n ]\n : [func, filename];\n};\n", "import {\n SENTRY_XHR_DATA_KEY,\n addClickKeypressInstrumentationHandler,\n addHistoryInstrumentationHandler,\n addXhrInstrumentationHandler,\n} from '@sentry-internal/browser-utils';\nimport { addBreadcrumb, defineIntegration, getClient } from '@sentry/core';\nimport {\n addConsoleInstrumentationHandler,\n addFetchInstrumentationHandler,\n getBreadcrumbLogLevelFromHttpStatusCode,\n getComponentName,\n getEventDescription,\n htmlTreeAsString,\n logger,\n parseUrl,\n safeJoin,\n severityLevelFromString,\n} from '@sentry/core';\nimport type {\n Breadcrumb,\n Client,\n Event as SentryEvent,\n FetchBreadcrumbData,\n FetchBreadcrumbHint,\n HandlerDataConsole,\n HandlerDataDom,\n HandlerDataFetch,\n HandlerDataHistory,\n HandlerDataXhr,\n IntegrationFn,\n XhrBreadcrumbData,\n XhrBreadcrumbHint,\n} from '@sentry/types';\n\nimport { DEBUG_BUILD } from '../debug-build';\nimport { WINDOW } from '../helpers';\n\ninterface BreadcrumbsOptions {\n console: boolean;\n dom:\n | boolean\n | {\n serializeAttribute?: string | string[];\n maxStringLength?: number;\n };\n fetch: boolean;\n history: boolean;\n sentry: boolean;\n xhr: boolean;\n}\n\n/** maxStringLength gets capped to prevent 100 breadcrumbs exceeding 1MB event payload size */\nconst MAX_ALLOWED_STRING_LENGTH = 1024;\n\nconst INTEGRATION_NAME = 'Breadcrumbs';\n\nconst _breadcrumbsIntegration = ((options: Partial = {}) => {\n const _options = {\n console: true,\n dom: true,\n fetch: true,\n history: true,\n sentry: true,\n xhr: true,\n ...options,\n };\n\n return {\n name: INTEGRATION_NAME,\n setup(client) {\n if (_options.console) {\n addConsoleInstrumentationHandler(_getConsoleBreadcrumbHandler(client));\n }\n if (_options.dom) {\n addClickKeypressInstrumentationHandler(_getDomBreadcrumbHandler(client, _options.dom));\n }\n if (_options.xhr) {\n addXhrInstrumentationHandler(_getXhrBreadcrumbHandler(client));\n }\n if (_options.fetch) {\n addFetchInstrumentationHandler(_getFetchBreadcrumbHandler(client));\n }\n if (_options.history) {\n addHistoryInstrumentationHandler(_getHistoryBreadcrumbHandler(client));\n }\n if (_options.sentry) {\n client.on('beforeSendEvent', _getSentryBreadcrumbHandler(client));\n }\n },\n };\n}) satisfies IntegrationFn;\n\nexport const breadcrumbsIntegration = defineIntegration(_breadcrumbsIntegration);\n\n/**\n * Adds a breadcrumb for Sentry events or transactions if this option is enabled.\n */\nfunction _getSentryBreadcrumbHandler(client: Client): (event: SentryEvent) => void {\n return function addSentryBreadcrumb(event: SentryEvent): void {\n if (getClient() !== client) {\n return;\n }\n\n addBreadcrumb(\n {\n category: `sentry.${event.type === 'transaction' ? 'transaction' : 'event'}`,\n event_id: event.event_id,\n level: event.level,\n message: getEventDescription(event),\n },\n {\n event,\n },\n );\n };\n}\n\n/**\n * A HOC that creates a function that creates breadcrumbs from DOM API calls.\n * This is a HOC so that we get access to dom options in the closure.\n */\nfunction _getDomBreadcrumbHandler(\n client: Client,\n dom: BreadcrumbsOptions['dom'],\n): (handlerData: HandlerDataDom) => void {\n return function _innerDomBreadcrumb(handlerData: HandlerDataDom): void {\n if (getClient() !== client) {\n return;\n }\n\n let target;\n let componentName;\n let keyAttrs = typeof dom === 'object' ? dom.serializeAttribute : undefined;\n\n let maxStringLength =\n typeof dom === 'object' && typeof dom.maxStringLength === 'number' ? dom.maxStringLength : undefined;\n if (maxStringLength && maxStringLength > MAX_ALLOWED_STRING_LENGTH) {\n DEBUG_BUILD &&\n logger.warn(\n `\\`dom.maxStringLength\\` cannot exceed ${MAX_ALLOWED_STRING_LENGTH}, but a value of ${maxStringLength} was configured. Sentry will use ${MAX_ALLOWED_STRING_LENGTH} instead.`,\n );\n maxStringLength = MAX_ALLOWED_STRING_LENGTH;\n }\n\n if (typeof keyAttrs === 'string') {\n keyAttrs = [keyAttrs];\n }\n\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n const event = handlerData.event as Event | Node;\n const element = _isEvent(event) ? event.target : event;\n\n target = htmlTreeAsString(element, { keyAttrs, maxStringLength });\n componentName = getComponentName(element);\n } catch (e) {\n target = '';\n }\n\n if (target.length === 0) {\n return;\n }\n\n const breadcrumb: Breadcrumb = {\n category: `ui.${handlerData.name}`,\n message: target,\n };\n\n if (componentName) {\n breadcrumb.data = { 'ui.component_name': componentName };\n }\n\n addBreadcrumb(breadcrumb, {\n event: handlerData.event,\n name: handlerData.name,\n global: handlerData.global,\n });\n };\n}\n\n/**\n * Creates breadcrumbs from console API calls\n */\nfunction _getConsoleBreadcrumbHandler(client: Client): (handlerData: HandlerDataConsole) => void {\n return function _consoleBreadcrumb(handlerData: HandlerDataConsole): void {\n if (getClient() !== client) {\n return;\n }\n\n const breadcrumb = {\n category: 'console',\n data: {\n arguments: handlerData.args,\n logger: 'console',\n },\n level: severityLevelFromString(handlerData.level),\n message: safeJoin(handlerData.args, ' '),\n };\n\n if (handlerData.level === 'assert') {\n if (handlerData.args[0] === false) {\n breadcrumb.message = `Assertion failed: ${safeJoin(handlerData.args.slice(1), ' ') || 'console.assert'}`;\n breadcrumb.data.arguments = handlerData.args.slice(1);\n } else {\n // Don't capture a breadcrumb for passed assertions\n return;\n }\n }\n\n addBreadcrumb(breadcrumb, {\n input: handlerData.args,\n level: handlerData.level,\n });\n };\n}\n\n/**\n * Creates breadcrumbs from XHR API calls\n */\nfunction _getXhrBreadcrumbHandler(client: Client): (handlerData: HandlerDataXhr) => void {\n return function _xhrBreadcrumb(handlerData: HandlerDataXhr): void {\n if (getClient() !== client) {\n return;\n }\n\n const { startTimestamp, endTimestamp } = handlerData;\n\n const sentryXhrData = handlerData.xhr[SENTRY_XHR_DATA_KEY];\n\n // We only capture complete, non-sentry requests\n if (!startTimestamp || !endTimestamp || !sentryXhrData) {\n return;\n }\n\n const { method, url, status_code, body } = sentryXhrData;\n\n const data: XhrBreadcrumbData = {\n method,\n url,\n status_code,\n };\n\n const hint: XhrBreadcrumbHint = {\n xhr: handlerData.xhr,\n input: body,\n startTimestamp,\n endTimestamp,\n };\n\n const level = getBreadcrumbLogLevelFromHttpStatusCode(status_code);\n\n addBreadcrumb(\n {\n category: 'xhr',\n data,\n type: 'http',\n level,\n },\n hint,\n );\n };\n}\n\n/**\n * Creates breadcrumbs from fetch API calls\n */\nfunction _getFetchBreadcrumbHandler(client: Client): (handlerData: HandlerDataFetch) => void {\n return function _fetchBreadcrumb(handlerData: HandlerDataFetch): void {\n if (getClient() !== client) {\n return;\n }\n\n const { startTimestamp, endTimestamp } = handlerData;\n\n // We only capture complete fetch requests\n if (!endTimestamp) {\n return;\n }\n\n if (handlerData.fetchData.url.match(/sentry_key/) && handlerData.fetchData.method === 'POST') {\n // We will not create breadcrumbs for fetch requests that contain `sentry_key` (internal sentry requests)\n return;\n }\n\n if (handlerData.error) {\n const data: FetchBreadcrumbData = handlerData.fetchData;\n const hint: FetchBreadcrumbHint = {\n data: handlerData.error,\n input: handlerData.args,\n startTimestamp,\n endTimestamp,\n };\n\n addBreadcrumb(\n {\n category: 'fetch',\n data,\n level: 'error',\n type: 'http',\n },\n hint,\n );\n } else {\n const response = handlerData.response as Response | undefined;\n const data: FetchBreadcrumbData = {\n ...handlerData.fetchData,\n status_code: response && response.status,\n };\n const hint: FetchBreadcrumbHint = {\n input: handlerData.args,\n response,\n startTimestamp,\n endTimestamp,\n };\n const level = getBreadcrumbLogLevelFromHttpStatusCode(data.status_code);\n\n addBreadcrumb(\n {\n category: 'fetch',\n data,\n type: 'http',\n level,\n },\n hint,\n );\n }\n };\n}\n\n/**\n * Creates breadcrumbs from history API calls\n */\nfunction _getHistoryBreadcrumbHandler(client: Client): (handlerData: HandlerDataHistory) => void {\n return function _historyBreadcrumb(handlerData: HandlerDataHistory): void {\n if (getClient() !== client) {\n return;\n }\n\n let from: string | undefined = handlerData.from;\n let to: string | undefined = handlerData.to;\n const parsedLoc = parseUrl(WINDOW.location.href);\n let parsedFrom = from ? parseUrl(from) : undefined;\n const parsedTo = parseUrl(to);\n\n // Initial pushState doesn't provide `from` information\n if (!parsedFrom || !parsedFrom.path) {\n parsedFrom = parsedLoc;\n }\n\n // Use only the path component of the URL if the URL matches the current\n // document (almost all the time when using pushState)\n if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {\n to = parsedTo.relative;\n }\n if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {\n from = parsedFrom.relative;\n }\n\n addBreadcrumb({\n category: 'navigation',\n data: {\n from,\n to,\n },\n });\n };\n}\n\nfunction _isEvent(event: unknown): event is Event {\n return !!event && !!(event as Record).target;\n}\n", "import { defineIntegration } from '@sentry/core';\nimport { fill, getFunctionName, getOriginalFunction } from '@sentry/core';\nimport type { IntegrationFn, WrappedFunction } from '@sentry/types';\n\nimport { WINDOW, wrap } from '../helpers';\n\nconst DEFAULT_EVENT_TARGET = [\n 'EventTarget',\n 'Window',\n 'Node',\n 'ApplicationCache',\n 'AudioTrackList',\n 'BroadcastChannel',\n 'ChannelMergerNode',\n 'CryptoOperation',\n 'EventSource',\n 'FileReader',\n 'HTMLUnknownElement',\n 'IDBDatabase',\n 'IDBRequest',\n 'IDBTransaction',\n 'KeyOperation',\n 'MediaController',\n 'MessagePort',\n 'ModalWindow',\n 'Notification',\n 'SVGElementInstance',\n 'Screen',\n 'SharedWorker',\n 'TextTrack',\n 'TextTrackCue',\n 'TextTrackList',\n 'WebSocket',\n 'WebSocketWorker',\n 'Worker',\n 'XMLHttpRequest',\n 'XMLHttpRequestEventTarget',\n 'XMLHttpRequestUpload',\n];\n\nconst INTEGRATION_NAME = 'BrowserApiErrors';\n\ntype XMLHttpRequestProp = 'onload' | 'onerror' | 'onprogress' | 'onreadystatechange';\n\ninterface BrowserApiErrorsOptions {\n setTimeout: boolean;\n setInterval: boolean;\n requestAnimationFrame: boolean;\n XMLHttpRequest: boolean;\n eventTarget: boolean | string[];\n}\n\nconst _browserApiErrorsIntegration = ((options: Partial = {}) => {\n const _options = {\n XMLHttpRequest: true,\n eventTarget: true,\n requestAnimationFrame: true,\n setInterval: true,\n setTimeout: true,\n ...options,\n };\n\n return {\n name: INTEGRATION_NAME,\n // TODO: This currently only works for the first client this is setup\n // We may want to adjust this to check for client etc.\n setupOnce() {\n if (_options.setTimeout) {\n fill(WINDOW, 'setTimeout', _wrapTimeFunction);\n }\n\n if (_options.setInterval) {\n fill(WINDOW, 'setInterval', _wrapTimeFunction);\n }\n\n if (_options.requestAnimationFrame) {\n fill(WINDOW, 'requestAnimationFrame', _wrapRAF);\n }\n\n if (_options.XMLHttpRequest && 'XMLHttpRequest' in WINDOW) {\n fill(XMLHttpRequest.prototype, 'send', _wrapXHR);\n }\n\n const eventTargetOption = _options.eventTarget;\n if (eventTargetOption) {\n const eventTarget = Array.isArray(eventTargetOption) ? eventTargetOption : DEFAULT_EVENT_TARGET;\n eventTarget.forEach(_wrapEventTarget);\n }\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Wrap timer functions and event targets to catch errors and provide better meta data.\n */\nexport const browserApiErrorsIntegration = defineIntegration(_browserApiErrorsIntegration);\n\nfunction _wrapTimeFunction(original: () => void): () => number {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: any, ...args: any[]): number {\n const originalCallback = args[0];\n args[0] = wrap(originalCallback, {\n mechanism: {\n data: { function: getFunctionName(original) },\n handled: false,\n type: 'instrument',\n },\n });\n return original.apply(this, args);\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _wrapRAF(original: any): (callback: () => void) => any {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: any, callback: () => void): () => void {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return original.apply(this, [\n wrap(callback, {\n mechanism: {\n data: {\n function: 'requestAnimationFrame',\n handler: getFunctionName(original),\n },\n handled: false,\n type: 'instrument',\n },\n }),\n ]);\n };\n}\n\nfunction _wrapXHR(originalSend: () => void): () => void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: XMLHttpRequest, ...args: any[]): void {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const xhr = this;\n const xmlHttpRequestProps: XMLHttpRequestProp[] = ['onload', 'onerror', 'onprogress', 'onreadystatechange'];\n\n xmlHttpRequestProps.forEach(prop => {\n if (prop in xhr && typeof xhr[prop] === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n fill(xhr, prop, function (original: WrappedFunction): () => any {\n const wrapOptions = {\n mechanism: {\n data: {\n function: prop,\n handler: getFunctionName(original),\n },\n handled: false,\n type: 'instrument',\n },\n };\n\n // If Instrument integration has been called before BrowserApiErrors, get the name of original function\n const originalFunction = getOriginalFunction(original);\n if (originalFunction) {\n wrapOptions.mechanism.data.handler = getFunctionName(originalFunction);\n }\n\n // Otherwise wrap directly\n return wrap(original, wrapOptions);\n });\n }\n });\n\n return originalSend.apply(this, args);\n };\n}\n\nfunction _wrapEventTarget(target: string): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const globalObject = WINDOW as { [key: string]: any };\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const proto = globalObject[target] && globalObject[target].prototype;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, no-prototype-builtins\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n\n fill(proto, 'addEventListener', function (original: VoidFunction,): (\n eventName: string,\n fn: EventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ) => void {\n return function (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this: any,\n eventName: string,\n fn: EventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ): (eventName: string, fn: EventListenerObject, capture?: boolean, secure?: boolean) => void {\n try {\n if (typeof fn.handleEvent === 'function') {\n // ESlint disable explanation:\n // First, it is generally safe to call `wrap` with an unbound function. Furthermore, using `.bind()` would\n // introduce a bug here, because bind returns a new function that doesn't have our\n // flags(like __sentry_original__) attached. `wrap` checks for those flags to avoid unnecessary wrapping.\n // Without those flags, every call to addEventListener wraps the function again, causing a memory leak.\n // eslint-disable-next-line @typescript-eslint/unbound-method\n fn.handleEvent = wrap(fn.handleEvent, {\n mechanism: {\n data: {\n function: 'handleEvent',\n handler: getFunctionName(fn),\n target,\n },\n handled: false,\n type: 'instrument',\n },\n });\n }\n } catch (err) {\n // can sometimes get 'Permission denied to access property \"handle Event'\n }\n\n return original.apply(this, [\n eventName,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n wrap(fn as any as WrappedFunction, {\n mechanism: {\n data: {\n function: 'addEventListener',\n handler: getFunctionName(fn),\n target,\n },\n handled: false,\n type: 'instrument',\n },\n }),\n options,\n ]);\n };\n });\n\n fill(\n proto,\n 'removeEventListener',\n function (\n originalRemoveEventListener: () => void,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): (this: any, eventName: string, fn: EventListenerObject, options?: boolean | EventListenerOptions) => () => void {\n return function (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this: any,\n eventName: string,\n fn: EventListenerObject,\n options?: boolean | EventListenerOptions,\n ): () => void {\n /**\n * There are 2 possible scenarios here:\n *\n * 1. Someone passes a callback, which was attached prior to Sentry initialization, or by using unmodified\n * method, eg. `document.addEventListener.call(el, name, handler). In this case, we treat this function\n * as a pass-through, and call original `removeEventListener` with it.\n *\n * 2. Someone passes a callback, which was attached after Sentry was initialized, which means that it was using\n * our wrapped version of `addEventListener`, which internally calls `wrap` helper.\n * This helper \"wraps\" whole callback inside a try/catch statement, and attached appropriate metadata to it,\n * in order for us to make a distinction between wrapped/non-wrapped functions possible.\n * If a function was wrapped, it has additional property of `__sentry_wrapped__`, holding the handler.\n *\n * When someone adds a handler prior to initialization, and then do it again, but after,\n * then we have to detach both of them. Otherwise, if we'd detach only wrapped one, it'd be impossible\n * to get rid of the initial handler and it'd stick there forever.\n */\n const wrappedEventHandler = fn as unknown as WrappedFunction;\n try {\n const originalEventHandler = wrappedEventHandler && wrappedEventHandler.__sentry_wrapped__;\n if (originalEventHandler) {\n originalRemoveEventListener.call(this, eventName, originalEventHandler, options);\n }\n } catch (e) {\n // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n return originalRemoveEventListener.call(this, eventName, wrappedEventHandler, options);\n };\n },\n );\n}\n", "import { captureEvent, defineIntegration, getClient } from '@sentry/core';\nimport {\n UNKNOWN_FUNCTION,\n addGlobalErrorInstrumentationHandler,\n addGlobalUnhandledRejectionInstrumentationHandler,\n getLocationHref,\n isPrimitive,\n isString,\n logger,\n} from '@sentry/core';\nimport type { Client, Event, IntegrationFn, Primitive, StackParser } from '@sentry/types';\n\nimport type { BrowserClient } from '../client';\nimport { DEBUG_BUILD } from '../debug-build';\nimport { eventFromUnknownInput } from '../eventbuilder';\nimport { shouldIgnoreOnError } from '../helpers';\n\ntype GlobalHandlersIntegrationsOptionKeys = 'onerror' | 'onunhandledrejection';\n\ntype GlobalHandlersIntegrations = Record;\n\nconst INTEGRATION_NAME = 'GlobalHandlers';\n\nconst _globalHandlersIntegration = ((options: Partial = {}) => {\n const _options = {\n onerror: true,\n onunhandledrejection: true,\n ...options,\n };\n\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n Error.stackTraceLimit = 50;\n },\n setup(client) {\n if (_options.onerror) {\n _installGlobalOnErrorHandler(client);\n globalHandlerLog('onerror');\n }\n if (_options.onunhandledrejection) {\n _installGlobalOnUnhandledRejectionHandler(client);\n globalHandlerLog('onunhandledrejection');\n }\n },\n };\n}) satisfies IntegrationFn;\n\nexport const globalHandlersIntegration = defineIntegration(_globalHandlersIntegration);\n\nfunction _installGlobalOnErrorHandler(client: Client): void {\n addGlobalErrorInstrumentationHandler(data => {\n const { stackParser, attachStacktrace } = getOptions();\n\n if (getClient() !== client || shouldIgnoreOnError()) {\n return;\n }\n\n const { msg, url, line, column, error } = data;\n\n const event = _enhanceEventWithInitialFrame(\n eventFromUnknownInput(stackParser, error || msg, undefined, attachStacktrace, false),\n url,\n line,\n column,\n );\n\n event.level = 'error';\n\n captureEvent(event, {\n originalException: error,\n mechanism: {\n handled: false,\n type: 'onerror',\n },\n });\n });\n}\n\nfunction _installGlobalOnUnhandledRejectionHandler(client: Client): void {\n addGlobalUnhandledRejectionInstrumentationHandler(e => {\n const { stackParser, attachStacktrace } = getOptions();\n\n if (getClient() !== client || shouldIgnoreOnError()) {\n return;\n }\n\n const error = _getUnhandledRejectionError(e as unknown);\n\n const event = isPrimitive(error)\n ? _eventFromRejectionWithPrimitive(error)\n : eventFromUnknownInput(stackParser, error, undefined, attachStacktrace, true);\n\n event.level = 'error';\n\n captureEvent(event, {\n originalException: error,\n mechanism: {\n handled: false,\n type: 'onunhandledrejection',\n },\n });\n });\n}\n\nfunction _getUnhandledRejectionError(error: unknown): unknown {\n if (isPrimitive(error)) {\n return error;\n }\n\n // dig the object of the rejection out of known event types\n try {\n type ErrorWithReason = { reason: unknown };\n // PromiseRejectionEvents store the object of the rejection under 'reason'\n // see https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n if ('reason' in (error as ErrorWithReason)) {\n return (error as ErrorWithReason).reason;\n }\n\n type CustomEventWithDetail = { detail: { reason: unknown } };\n // something, somewhere, (likely a browser extension) effectively casts PromiseRejectionEvents\n // to CustomEvents, moving the `promise` and `reason` attributes of the PRE into\n // the CustomEvent's `detail` attribute, since they're not part of CustomEvent's spec\n // see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent and\n // https://github.com/getsentry/sentry-javascript/issues/2380\n if ('detail' in (error as CustomEventWithDetail) && 'reason' in (error as CustomEventWithDetail).detail) {\n return (error as CustomEventWithDetail).detail.reason;\n }\n } catch {} // eslint-disable-line no-empty\n\n return error;\n}\n\n/**\n * Create an event from a promise rejection where the `reason` is a primitive.\n *\n * @param reason: The `reason` property of the promise rejection\n * @returns An Event object with an appropriate `exception` value\n */\nfunction _eventFromRejectionWithPrimitive(reason: Primitive): Event {\n return {\n exception: {\n values: [\n {\n type: 'UnhandledRejection',\n // String() is needed because the Primitive type includes symbols (which can't be automatically stringified)\n value: `Non-Error promise rejection captured with value: ${String(reason)}`,\n },\n ],\n },\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _enhanceEventWithInitialFrame(event: Event, url: any, line: any, column: any): Event {\n // event.exception\n const e = (event.exception = event.exception || {});\n // event.exception.values\n const ev = (e.values = e.values || []);\n // event.exception.values[0]\n const ev0 = (ev[0] = ev[0] || {});\n // event.exception.values[0].stacktrace\n const ev0s = (ev0.stacktrace = ev0.stacktrace || {});\n // event.exception.values[0].stacktrace.frames\n const ev0sf = (ev0s.frames = ev0s.frames || []);\n\n const colno = isNaN(parseInt(column, 10)) ? undefined : column;\n const lineno = isNaN(parseInt(line, 10)) ? undefined : line;\n const filename = isString(url) && url.length > 0 ? url : getLocationHref();\n\n // event.exception.values[0].stacktrace.frames\n if (ev0sf.length === 0) {\n ev0sf.push({\n colno,\n filename,\n function: UNKNOWN_FUNCTION,\n in_app: true,\n lineno,\n });\n }\n\n return event;\n}\n\nfunction globalHandlerLog(type: string): void {\n DEBUG_BUILD && logger.log(`Global Handler attached: ${type}`);\n}\n\nfunction getOptions(): { stackParser: StackParser; attachStacktrace?: boolean } {\n const client = getClient();\n const options = (client && client.getOptions()) || {\n stackParser: () => [],\n attachStacktrace: false,\n };\n return options;\n}\n", "import { defineIntegration } from '@sentry/core';\nimport { WINDOW } from '../helpers';\n\n/**\n * Collects information about HTTP request headers and\n * attaches them to the event.\n */\nexport const httpContextIntegration = defineIntegration(() => {\n return {\n name: 'HttpContext',\n preprocessEvent(event) {\n // if none of the information we want exists, don't bother\n if (!WINDOW.navigator && !WINDOW.location && !WINDOW.document) {\n return;\n }\n\n // grab as much info as exists and add it to the event\n const url = (event.request && event.request.url) || (WINDOW.location && WINDOW.location.href);\n const { referrer } = WINDOW.document || {};\n const { userAgent } = WINDOW.navigator || {};\n\n const headers = {\n ...(event.request && event.request.headers),\n ...(referrer && { Referer: referrer }),\n ...(userAgent && { 'User-Agent': userAgent }),\n };\n const request = { ...event.request, ...(url && { url }), headers };\n\n event.request = request;\n },\n };\n});\n", "import { defineIntegration } from '@sentry/core';\nimport { applyAggregateErrorsToEvent } from '@sentry/core';\nimport type { IntegrationFn } from '@sentry/types';\nimport { exceptionFromError } from '../eventbuilder';\n\ninterface LinkedErrorsOptions {\n key?: string;\n limit?: number;\n}\n\nconst DEFAULT_KEY = 'cause';\nconst DEFAULT_LIMIT = 5;\n\nconst INTEGRATION_NAME = 'LinkedErrors';\n\nconst _linkedErrorsIntegration = ((options: LinkedErrorsOptions = {}) => {\n const limit = options.limit || DEFAULT_LIMIT;\n const key = options.key || DEFAULT_KEY;\n\n return {\n name: INTEGRATION_NAME,\n preprocessEvent(event, hint, client) {\n const options = client.getOptions();\n\n applyAggregateErrorsToEvent(\n // This differs from the LinkedErrors integration in core by using a different exceptionFromError function\n exceptionFromError,\n options.stackParser,\n options.maxValueLength,\n key,\n limit,\n event,\n hint,\n );\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Aggregrate linked errors in an event.\n */\nexport const linkedErrorsIntegration = defineIntegration(_linkedErrorsIntegration);\n", "import { getCurrentScope } from '@sentry/core';\nimport { functionToStringIntegration, inboundFiltersIntegration } from '@sentry/core';\nimport {\n captureSession,\n getClient,\n getIntegrationsToSetup,\n getReportDialogEndpoint,\n initAndBind,\n lastEventId,\n startSession,\n} from '@sentry/core';\nimport { consoleSandbox, logger, stackParserFromStackParserOptions, supportsFetch } from '@sentry/core';\nimport type { Client, DsnLike, Integration, Options, UserFeedback } from '@sentry/types';\n\nimport { addHistoryInstrumentationHandler } from '@sentry-internal/browser-utils';\nimport { dedupeIntegration } from '@sentry/core';\nimport type { BrowserClientOptions, BrowserOptions } from './client';\nimport { BrowserClient } from './client';\nimport { DEBUG_BUILD } from './debug-build';\nimport { WINDOW } from './helpers';\nimport { breadcrumbsIntegration } from './integrations/breadcrumbs';\nimport { browserApiErrorsIntegration } from './integrations/browserapierrors';\nimport { globalHandlersIntegration } from './integrations/globalhandlers';\nimport { httpContextIntegration } from './integrations/httpcontext';\nimport { linkedErrorsIntegration } from './integrations/linkederrors';\nimport { defaultStackParser } from './stack-parsers';\nimport { makeFetchTransport } from './transports/fetch';\n\n/** Get the default integrations for the browser SDK. */\nexport function getDefaultIntegrations(_options: Options): Integration[] {\n /**\n * Note: Please make sure this stays in sync with Angular SDK, which re-exports\n * `getDefaultIntegrations` but with an adjusted set of integrations.\n */\n return [\n inboundFiltersIntegration(),\n functionToStringIntegration(),\n browserApiErrorsIntegration(),\n breadcrumbsIntegration(),\n globalHandlersIntegration(),\n linkedErrorsIntegration(),\n dedupeIntegration(),\n httpContextIntegration(),\n ];\n}\n\nfunction applyDefaultOptions(optionsArg: BrowserOptions = {}): BrowserOptions {\n const defaultOptions: BrowserOptions = {\n defaultIntegrations: getDefaultIntegrations(optionsArg),\n release:\n typeof __SENTRY_RELEASE__ === 'string' // This allows build tooling to find-and-replace __SENTRY_RELEASE__ to inject a release value\n ? __SENTRY_RELEASE__\n : WINDOW.SENTRY_RELEASE && WINDOW.SENTRY_RELEASE.id // This supports the variable that sentry-webpack-plugin injects\n ? WINDOW.SENTRY_RELEASE.id\n : undefined,\n autoSessionTracking: true,\n sendClientReports: true,\n };\n\n // TODO: Instead of dropping just `defaultIntegrations`, we should simply\n // call `dropUndefinedKeys` on the entire `optionsArg`.\n // However, for this to work we need to adjust the `hasTracingEnabled()` logic\n // first as it differentiates between `undefined` and the key not being in the object.\n if (optionsArg.defaultIntegrations == null) {\n delete optionsArg.defaultIntegrations;\n }\n\n return { ...defaultOptions, ...optionsArg };\n}\n\ntype ExtensionProperties = {\n chrome?: Runtime;\n browser?: Runtime;\n nw?: unknown;\n};\ntype Runtime = {\n runtime?: {\n id?: string;\n };\n};\n\nfunction shouldShowBrowserExtensionError(): boolean {\n const windowWithMaybeExtension =\n typeof WINDOW.window !== 'undefined' && (WINDOW as typeof WINDOW & ExtensionProperties);\n if (!windowWithMaybeExtension) {\n // No need to show the error if we're not in a browser window environment (e.g. service workers)\n return false;\n }\n\n const extensionKey = windowWithMaybeExtension.chrome ? 'chrome' : 'browser';\n const extensionObject = windowWithMaybeExtension[extensionKey];\n\n const runtimeId = extensionObject && extensionObject.runtime && extensionObject.runtime.id;\n const href = (WINDOW.location && WINDOW.location.href) || '';\n\n const extensionProtocols = ['chrome-extension:', 'moz-extension:', 'ms-browser-extension:', 'safari-web-extension:'];\n\n // Running the SDK in a dedicated extension page and calling Sentry.init is fine; no risk of data leakage\n const isDedicatedExtensionPage =\n !!runtimeId && WINDOW === WINDOW.top && extensionProtocols.some(protocol => href.startsWith(`${protocol}//`));\n\n // Running the SDK in NW.js, which appears like a browser extension but isn't, is also fine\n // see: https://github.com/getsentry/sentry-javascript/issues/12668\n const isNWjs = typeof windowWithMaybeExtension.nw !== 'undefined';\n\n return !!runtimeId && !isDedicatedExtensionPage && !isNWjs;\n}\n\n/**\n * A magic string that build tooling can leverage in order to inject a release value into the SDK.\n */\ndeclare const __SENTRY_RELEASE__: string | undefined;\n\n/**\n * The Sentry Browser SDK Client.\n *\n * To use this SDK, call the {@link init} function as early as possible when\n * loading the web page. To set context information or send manual events, use\n * the provided methods.\n *\n * @example\n *\n * ```\n *\n * import { init } from '@sentry/browser';\n *\n * init({\n * dsn: '__DSN__',\n * // ...\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { addBreadcrumb } from '@sentry/browser';\n * addBreadcrumb({\n * message: 'My Breadcrumb',\n * // ...\n * });\n * ```\n *\n * @example\n *\n * ```\n *\n * import * as Sentry from '@sentry/browser';\n * Sentry.captureMessage('Hello, world!');\n * Sentry.captureException(new Error('Good bye'));\n * Sentry.captureEvent({\n * message: 'Manual',\n * stacktrace: [\n * // ...\n * ],\n * });\n * ```\n *\n * @see {@link BrowserOptions} for documentation on configuration options.\n */\nexport function init(browserOptions: BrowserOptions = {}): Client | undefined {\n const options = applyDefaultOptions(browserOptions);\n\n if (!options.skipBrowserExtensionCheck && shouldShowBrowserExtensionError()) {\n consoleSandbox(() => {\n // eslint-disable-next-line no-console\n console.error(\n '[Sentry] You cannot run Sentry this way in a browser extension, check: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/',\n );\n });\n return;\n }\n\n if (DEBUG_BUILD) {\n if (!supportsFetch()) {\n logger.warn(\n 'No Fetch API detected. The Sentry SDK requires a Fetch API compatible environment to send events. Please add a Fetch API polyfill.',\n );\n }\n }\n const clientOptions: BrowserClientOptions = {\n ...options,\n stackParser: stackParserFromStackParserOptions(options.stackParser || defaultStackParser),\n integrations: getIntegrationsToSetup(options),\n transport: options.transport || makeFetchTransport,\n };\n\n const client = initAndBind(BrowserClient, clientOptions);\n\n if (options.autoSessionTracking) {\n startSessionTracking();\n }\n\n return client;\n}\n\n/**\n * All properties the report dialog supports\n */\nexport interface ReportDialogOptions {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n eventId?: string;\n dsn?: DsnLike;\n user?: {\n email?: string;\n name?: string;\n };\n lang?: string;\n title?: string;\n subtitle?: string;\n subtitle2?: string;\n labelName?: string;\n labelEmail?: string;\n labelComments?: string;\n labelClose?: string;\n labelSubmit?: string;\n errorGeneric?: string;\n errorFormEntry?: string;\n successMessage?: string;\n /** Callback after reportDialog showed up */\n onLoad?(this: void): void;\n /** Callback after reportDialog closed */\n onClose?(this: void): void;\n}\n\n/**\n * Present the user with a report dialog.\n *\n * @param options Everything is optional, we try to fetch all info need from the global scope.\n */\nexport function showReportDialog(options: ReportDialogOptions = {}): void {\n // doesn't work without a document (React Native)\n if (!WINDOW.document) {\n DEBUG_BUILD && logger.error('Global document not defined in showReportDialog call');\n return;\n }\n\n const scope = getCurrentScope();\n const client = scope.getClient();\n const dsn = client && client.getDsn();\n\n if (!dsn) {\n DEBUG_BUILD && logger.error('DSN not configured for showReportDialog call');\n return;\n }\n\n if (scope) {\n options.user = {\n ...scope.getUser(),\n ...options.user,\n };\n }\n\n if (!options.eventId) {\n const eventId = lastEventId();\n if (eventId) {\n options.eventId = eventId;\n }\n }\n\n const script = WINDOW.document.createElement('script');\n script.async = true;\n script.crossOrigin = 'anonymous';\n script.src = getReportDialogEndpoint(dsn, options);\n\n if (options.onLoad) {\n script.onload = options.onLoad;\n }\n\n const { onClose } = options;\n if (onClose) {\n const reportDialogClosedMessageHandler = (event: MessageEvent): void => {\n if (event.data === '__sentry_reportdialog_closed__') {\n try {\n onClose();\n } finally {\n WINDOW.removeEventListener('message', reportDialogClosedMessageHandler);\n }\n }\n };\n WINDOW.addEventListener('message', reportDialogClosedMessageHandler);\n }\n\n const injectionPoint = WINDOW.document.head || WINDOW.document.body;\n if (injectionPoint) {\n injectionPoint.appendChild(script);\n } else {\n DEBUG_BUILD && logger.error('Not injecting report dialog. No injection point found in HTML');\n }\n}\n\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nexport function forceLoad(): void {\n // Noop\n}\n\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nexport function onLoad(callback: () => void): void {\n callback();\n}\n\n/**\n * Enable automatic Session Tracking for the initial page load.\n */\nfunction startSessionTracking(): void {\n if (typeof WINDOW.document === 'undefined') {\n DEBUG_BUILD && logger.warn('Session tracking in non-browser environment with @sentry/browser is not supported.');\n return;\n }\n\n // The session duration for browser sessions does not track a meaningful\n // concept that can be used as a metric.\n // Automatically captured sessions are akin to page views, and thus we\n // discard their duration.\n startSession({ ignoreDuration: true });\n captureSession();\n\n // We want to create a session for every navigation as well\n addHistoryInstrumentationHandler(({ from, to }) => {\n // Don't create an additional session for the initial route or if the location did not change\n if (from !== undefined && from !== to) {\n startSession({ ignoreDuration: true });\n captureSession();\n }\n });\n}\n\n/**\n * Captures user feedback and sends it to Sentry.\n *\n * @deprecated Use `captureFeedback` instead.\n */\nexport function captureUserFeedback(feedback: UserFeedback): void {\n const client = getClient();\n if (client) {\n // eslint-disable-next-line deprecation/deprecation\n client.captureUserFeedback(feedback);\n }\n}\n", "import capitalize from '@mui/utils/capitalize';\nexport default capitalize;", "import createChainedFunction from '@mui/utils/createChainedFunction';\nexport default createChainedFunction;", "'use client';\n\nimport * as React from 'react';\nimport SvgIcon from \"../SvgIcon/index.js\";\n\n/**\n * Private module reserved for @mui packages.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createSvgIcon(path, displayName) {\n function Component(props, ref) {\n return /*#__PURE__*/_jsx(SvgIcon, {\n \"data-testid\": `${displayName}Icon`,\n ref: ref,\n ...props,\n children: path\n });\n }\n if (process.env.NODE_ENV !== 'production') {\n // Need to set `displayName` on the inner component for React.memo.\n // React prior to 16.14 ignores `displayName` on the wrapper.\n Component.displayName = `${displayName}Icon`;\n }\n Component.muiName = SvgIcon.muiName;\n return /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(Component));\n}", "'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from \"../utils/capitalize.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getSvgIconUtilityClass } from \"./svgIconClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n fontSize,\n classes\n } = ownerState;\n const slots = {\n root: ['root', color !== 'inherit' && `color${capitalize(color)}`, `fontSize${capitalize(fontSize)}`]\n };\n return composeClasses(slots, getSvgIconUtilityClass, classes);\n};\nconst SvgIconRoot = styled('svg', {\n name: 'MuiSvgIcon',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'inherit' && styles[`color${capitalize(ownerState.color)}`], styles[`fontSize${capitalize(ownerState.fontSize)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n userSelect: 'none',\n width: '1em',\n height: '1em',\n display: 'inline-block',\n flexShrink: 0,\n transition: theme.transitions?.create?.('fill', {\n duration: (theme.vars ?? theme).transitions?.duration?.shorter\n }),\n variants: [{\n props: props => !props.hasSvgAsChild,\n style: {\n // the will define the property that has `currentColor`\n // for example heroicons uses fill=\"none\" and stroke=\"currentColor\"\n fill: 'currentColor'\n }\n }, {\n props: {\n fontSize: 'inherit'\n },\n style: {\n fontSize: 'inherit'\n }\n }, {\n props: {\n fontSize: 'small'\n },\n style: {\n fontSize: theme.typography?.pxToRem?.(20) || '1.25rem'\n }\n }, {\n props: {\n fontSize: 'medium'\n },\n style: {\n fontSize: theme.typography?.pxToRem?.(24) || '1.5rem'\n }\n }, {\n props: {\n fontSize: 'large'\n },\n style: {\n fontSize: theme.typography?.pxToRem?.(35) || '2.1875rem'\n }\n },\n // TODO v5 deprecate color prop, v6 remove for sx\n ...Object.entries((theme.vars ?? theme).palette).filter(([, value]) => value && value.main).map(([color]) => ({\n props: {\n color\n },\n style: {\n color: (theme.vars ?? theme).palette?.[color]?.main\n }\n })), {\n props: {\n color: 'action'\n },\n style: {\n color: (theme.vars ?? theme).palette?.action?.active\n }\n }, {\n props: {\n color: 'disabled'\n },\n style: {\n color: (theme.vars ?? theme).palette?.action?.disabled\n }\n }, {\n props: {\n color: 'inherit'\n },\n style: {\n color: undefined\n }\n }]\n})));\nconst SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiSvgIcon'\n });\n const {\n children,\n className,\n color = 'inherit',\n component = 'svg',\n fontSize = 'medium',\n htmlColor,\n inheritViewBox = false,\n titleAccess,\n viewBox = '0 0 24 24',\n ...other\n } = props;\n const hasSvgAsChild = /*#__PURE__*/React.isValidElement(children) && children.type === 'svg';\n const ownerState = {\n ...props,\n color,\n component,\n fontSize,\n instanceFontSize: inProps.fontSize,\n inheritViewBox,\n viewBox,\n hasSvgAsChild\n };\n const more = {};\n if (!inheritViewBox) {\n more.viewBox = viewBox;\n }\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SvgIconRoot, {\n as: component,\n className: clsx(classes.root, className),\n focusable: \"false\",\n color: htmlColor,\n \"aria-hidden\": titleAccess ? undefined : true,\n role: titleAccess ? 'img' : undefined,\n ref: ref,\n ...more,\n ...other,\n ...(hasSvgAsChild && children.props),\n ownerState: ownerState,\n children: [hasSvgAsChild ? children.props.children : children, titleAccess ? /*#__PURE__*/_jsx(\"title\", {\n children: titleAccess\n }) : null]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? SvgIcon.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the d.ts file and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * Node passed into the SVG element.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * You can use the `htmlColor` prop to apply a color attribute to the SVG element.\n * @default 'inherit'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'action', 'disabled', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size.\n * @default 'medium'\n */\n fontSize: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'large', 'medium', 'small']), PropTypes.string]),\n /**\n * Applies a color attribute to the SVG element.\n */\n htmlColor: PropTypes.string,\n /**\n * If `true`, the root node will inherit the custom `component`'s viewBox and the `viewBox`\n * prop will be ignored.\n * Useful when you want to reference a custom `component` and have `SvgIcon` pass that\n * `component`'s viewBox to the root node.\n * @default false\n */\n inheritViewBox: PropTypes.bool,\n /**\n * The shape-rendering attribute. The behavior of the different options is described on the\n * [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/shape-rendering).\n * If you are having issues with blurry icons you should investigate this prop.\n */\n shapeRendering: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Provides a human-readable title for the element that contains it.\n * https://www.w3.org/TR/SVG-access/#Equivalent\n */\n titleAccess: PropTypes.string,\n /**\n * Allows you to redefine what the coordinates without units mean inside an SVG element.\n * For example, if the SVG element is 500 (width) by 200 (height),\n * and you pass viewBox=\"0 0 50 20\",\n * this means that the coordinates inside the SVG will go from the top left corner (0,0)\n * to bottom right (50,20) and each unit will be worth 10px.\n * @default '0 0 24 24'\n */\n viewBox: PropTypes.string\n} : void 0;\nif (SvgIcon) {\n SvgIcon.muiName = 'SvgIcon';\n}\nexport default SvgIcon;", "import * as React from 'react';\nimport { extendSxProp } from '@mui/system/styleFunctionSx';\nimport useTheme from \"../styles/useTheme.js\";\nimport GlobalStyles from \"../GlobalStyles/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport { css, keyframes } from '@mui/system';\nexport { default as styled } from \"../styles/styled.js\";\nexport function globalCss(styles) {\n return function GlobalStylesWrapper(props) {\n return (\n /*#__PURE__*/\n // Pigment CSS `globalCss` support callback with theme inside an object but `GlobalStyles` support theme as a callback value.\n _jsx(GlobalStyles, {\n styles: typeof styles === 'function' ? theme => styles({\n theme,\n ...props\n }) : styles\n })\n );\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function internal_createExtendSxProp() {\n return extendSxProp;\n}\nexport { useTheme };", "'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { GlobalStyles as SystemGlobalStyles } from '@mui/system';\nimport defaultTheme from \"../styles/defaultTheme.js\";\nimport THEME_ID from \"../styles/identifier.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction GlobalStyles(props) {\n return /*#__PURE__*/_jsx(SystemGlobalStyles, {\n ...props,\n defaultTheme: defaultTheme,\n themeId: THEME_ID\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? GlobalStyles.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the d.ts file and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * The styles you want to apply globally.\n */\n styles: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.array, PropTypes.func, PropTypes.number, PropTypes.object, PropTypes.string, PropTypes.bool])\n} : void 0;\nexport default GlobalStyles;", "import { unstable_memoTheme } from '@mui/system';\nconst memoTheme = unstable_memoTheme;\nexport default memoTheme;", "'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport SystemDefaultPropsProvider, { useDefaultProps as useSystemDefaultProps } from '@mui/system/DefaultPropsProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction DefaultPropsProvider(props) {\n return /*#__PURE__*/_jsx(SystemDefaultPropsProvider, {\n ...props\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? DefaultPropsProvider.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the TypeScript types and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n value: PropTypes.object.isRequired\n} : void 0;\nexport default DefaultPropsProvider;\nexport function useDefaultProps(params) {\n return useSystemDefaultProps(params);\n}", "import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSvgIconUtilityClass(slot) {\n return generateUtilityClass('MuiSvgIcon', slot);\n}\nconst svgIconClasses = generateUtilityClasses('MuiSvgIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);\nexport default svgIconClasses;", "import debounce from '@mui/utils/debounce';\nexport default debounce;", "import isMuiElement from '@mui/utils/isMuiElement';\nexport default isMuiElement;", "import ownerDocument from '@mui/utils/ownerDocument';\nexport default ownerDocument;", "import ownerWindow from '@mui/utils/ownerWindow';\nexport default ownerWindow;", "'use client';\n\nimport useEnhancedEffect from '@mui/utils/useEnhancedEffect';\nexport default useEnhancedEffect;", "'use client';\n\nimport useId from '@mui/utils/useId';\nexport default useId;", "'use client';\n\nimport useControlled from '@mui/utils/useControlled';\nexport default useControlled;", "'use client';\n\nimport useEventCallback from '@mui/utils/useEventCallback';\nexport default useEventCallback;", "'use client';\n\nimport useForkRef from '@mui/utils/useForkRef';\nexport default useForkRef;", "function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };", "function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };", "import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };", "import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
    \n * I'm a fade Transition!\n *
    \n * )}\n * \n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
    \n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
    \n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;", "export default {\n disabled: false\n};", "import React from 'react';\nexport default React.createContext(null);", "export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};", "function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };", "import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
    ` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
    ` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;", "import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}", "export const reflow = node => node.scrollTop;\nexport function getTransitionProps(props, options) {\n const {\n timeout,\n easing,\n style = {}\n } = props;\n return {\n duration: style.transitionDuration ?? (typeof timeout === 'number' ? timeout : timeout[options.mode] || 0),\n easing: style.transitionTimingFunction ?? (typeof easing === 'object' ? easing[options.mode] : easing),\n delay: style.transitionDelay\n };\n}", "'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport { styled, useTheme } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport getOverlayAlpha from \"../styles/getOverlayAlpha.js\";\nimport { getPaperUtilityClass } from \"./paperClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n square,\n elevation,\n variant,\n classes\n } = ownerState;\n const slots = {\n root: ['root', variant, !square && 'rounded', variant === 'elevation' && `elevation${elevation}`]\n };\n return composeClasses(slots, getPaperUtilityClass, classes);\n};\nconst PaperRoot = styled('div', {\n name: 'MuiPaper',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], !ownerState.square && styles.rounded, ownerState.variant === 'elevation' && styles[`elevation${ownerState.elevation}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n backgroundColor: (theme.vars || theme).palette.background.paper,\n color: (theme.vars || theme).palette.text.primary,\n transition: theme.transitions.create('box-shadow'),\n variants: [{\n props: ({\n ownerState\n }) => !ownerState.square,\n style: {\n borderRadius: theme.shape.borderRadius\n }\n }, {\n props: {\n variant: 'outlined'\n },\n style: {\n border: `1px solid ${(theme.vars || theme).palette.divider}`\n }\n }, {\n props: {\n variant: 'elevation'\n },\n style: {\n boxShadow: 'var(--Paper-shadow)',\n backgroundImage: 'var(--Paper-overlay)'\n }\n }]\n})));\nconst Paper = /*#__PURE__*/React.forwardRef(function Paper(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiPaper'\n });\n const theme = useTheme();\n const {\n className,\n component = 'div',\n elevation = 1,\n square = false,\n variant = 'elevation',\n ...other\n } = props;\n const ownerState = {\n ...props,\n component,\n elevation,\n square,\n variant\n };\n const classes = useUtilityClasses(ownerState);\n if (process.env.NODE_ENV !== 'production') {\n if (theme.shadows[elevation] === undefined) {\n console.error([`MUI: The elevation provided is not available in the theme.`, `Please make sure that \\`theme.shadows[${elevation}]\\` is defined.`].join('\\n'));\n }\n }\n return /*#__PURE__*/_jsx(PaperRoot, {\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref,\n ...other,\n style: {\n ...(variant === 'elevation' && {\n '--Paper-shadow': (theme.vars || theme).shadows[elevation],\n ...(theme.vars && {\n '--Paper-overlay': theme.vars.overlays?.[elevation]\n }),\n ...(!theme.vars && theme.palette.mode === 'dark' && {\n '--Paper-overlay': `linear-gradient(${alpha('#fff', getOverlayAlpha(elevation))}, ${alpha('#fff', getOverlayAlpha(elevation))})`\n })\n }),\n ...other.style\n }\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Paper.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the d.ts file and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Shadow depth, corresponds to `dp` in the spec.\n * It accepts values between 0 and 24 inclusive.\n * @default 1\n */\n elevation: chainPropTypes(integerPropType, props => {\n const {\n elevation,\n variant\n } = props;\n if (elevation > 0 && variant === 'outlined') {\n return new Error(`MUI: Combining \\`elevation={${elevation}}\\` with \\`variant=\"${variant}\"\\` has no effect. Either use \\`elevation={0}\\` or use a different \\`variant\\`.`);\n }\n return null;\n }),\n /**\n * If `true`, rounded corners are disabled.\n * @default false\n */\n square: PropTypes.bool,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'elevation'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['elevation', 'outlined']), PropTypes.string])\n} : void 0;\nexport default Paper;", "import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getPaperUtilityClass(slot) {\n return generateUtilityClass('MuiPaper', slot);\n}\nconst paperClasses = generateUtilityClasses('MuiPaper', ['root', 'rounded', 'outlined', 'elevation', 'elevation0', 'elevation1', 'elevation2', 'elevation3', 'elevation4', 'elevation5', 'elevation6', 'elevation7', 'elevation8', 'elevation9', 'elevation10', 'elevation11', 'elevation12', 'elevation13', 'elevation14', 'elevation15', 'elevation16', 'elevation17', 'elevation18', 'elevation19', 'elevation20', 'elevation21', 'elevation22', 'elevation23', 'elevation24']);\nexport default paperClasses;", "'use client';\n\nimport useForkRef from '@mui/utils/useForkRef';\nimport appendOwnerState from '@mui/utils/appendOwnerState';\nimport resolveComponentProps from '@mui/utils/resolveComponentProps';\nimport mergeSlotProps from '@mui/utils/mergeSlotProps';\n/**\n * An internal function to create a Material UI slot.\n *\n * This is an advanced version of Base UI `useSlotProps` because Material UI allows leaf component to be customized via `component` prop\n * while Base UI does not need to support leaf component customization.\n *\n * @param {string} name: name of the slot\n * @param {object} parameters\n * @returns {[Slot, slotProps]} The slot's React component and the slot's props\n *\n * Note: the returned slot's props\n * - will never contain `component` prop.\n * - might contain `as` prop.\n */\nexport default function useSlot(\n/**\n * The slot's name. All Material UI components should have `root` slot.\n *\n * If the name is `root`, the logic behaves differently from other slots,\n * e.g. the `externalForwardedProps` are spread to `root` slot but not other slots.\n */\nname, parameters) {\n const {\n className,\n elementType: initialElementType,\n ownerState,\n externalForwardedProps,\n getSlotOwnerState,\n internalForwardedProps,\n ...useSlotPropsParams\n } = parameters;\n const {\n component: rootComponent,\n slots = {\n [name]: undefined\n },\n slotProps = {\n [name]: undefined\n },\n ...other\n } = externalForwardedProps;\n const elementType = slots[name] || initialElementType;\n\n // `slotProps[name]` can be a callback that receives the component's ownerState.\n // `resolvedComponentsProps` is always a plain object.\n const resolvedComponentsProps = resolveComponentProps(slotProps[name], ownerState);\n const {\n props: {\n component: slotComponent,\n ...mergedProps\n },\n internalRef\n } = mergeSlotProps({\n className,\n ...useSlotPropsParams,\n externalForwardedProps: name === 'root' ? other : undefined,\n externalSlotProps: resolvedComponentsProps\n });\n const ref = useForkRef(internalRef, resolvedComponentsProps?.ref, parameters.ref);\n const slotOwnerState = getSlotOwnerState ? getSlotOwnerState(mergedProps) : {};\n const finalOwnerState = {\n ...ownerState,\n ...slotOwnerState\n };\n const LeafComponent = name === 'root' ? slotComponent || rootComponent : slotComponent;\n const props = appendOwnerState(elementType, {\n ...(name === 'root' && !rootComponent && !slots[name] && internalForwardedProps),\n ...(name !== 'root' && !slots[name] && internalForwardedProps),\n ...mergedProps,\n ...(LeafComponent && {\n as: LeafComponent\n }),\n ref\n }, finalOwnerState);\n Object.keys(slotOwnerState).forEach(propName => {\n delete props[propName];\n });\n return [elementType, props];\n}", "'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport composeClasses from '@mui/utils/composeClasses';\nimport isFocusVisible from '@mui/utils/isFocusVisible';\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport useForkRef from \"../utils/useForkRef.js\";\nimport useEventCallback from \"../utils/useEventCallback.js\";\nimport useLazyRipple from \"../useLazyRipple/index.js\";\nimport TouchRipple from \"./TouchRipple.js\";\nimport buttonBaseClasses, { getButtonBaseUtilityClass } from \"./buttonBaseClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n focusVisible,\n focusVisibleClassName,\n classes\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', focusVisible && 'focusVisible']\n };\n const composedClasses = composeClasses(slots, getButtonBaseUtilityClass, classes);\n if (focusVisible && focusVisibleClassName) {\n composedClasses.root += ` ${focusVisibleClassName}`;\n }\n return composedClasses;\n};\nexport const ButtonBaseRoot = styled('button', {\n name: 'MuiButtonBase',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n boxSizing: 'border-box',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // Reset\n textDecoration: 'none',\n // So we take precedent over the style of a native element.\n color: 'inherit',\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n },\n [`&.${buttonBaseClasses.disabled}`]: {\n pointerEvents: 'none',\n // Disable link interactions\n cursor: 'default'\n },\n '@media print': {\n colorAdjust: 'exact'\n }\n});\n\n/**\n * `ButtonBase` contains as few styles as possible.\n * It aims to be a simple building block for creating a button.\n * It contains a load of style reset and some focus/ripple logic.\n */\nconst ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiButtonBase'\n });\n const {\n action,\n centerRipple = false,\n children,\n className,\n component = 'button',\n disabled = false,\n disableRipple = false,\n disableTouchRipple = false,\n focusRipple = false,\n focusVisibleClassName,\n LinkComponent = 'a',\n onBlur,\n onClick,\n onContextMenu,\n onDragLeave,\n onFocus,\n onFocusVisible,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onMouseLeave,\n onMouseUp,\n onTouchEnd,\n onTouchMove,\n onTouchStart,\n tabIndex = 0,\n TouchRippleProps,\n touchRippleRef,\n type,\n ...other\n } = props;\n const buttonRef = React.useRef(null);\n const ripple = useLazyRipple();\n const handleRippleRef = useForkRef(ripple.ref, touchRippleRef);\n const [focusVisible, setFocusVisible] = React.useState(false);\n if (disabled && focusVisible) {\n setFocusVisible(false);\n }\n React.useImperativeHandle(action, () => ({\n focusVisible: () => {\n setFocusVisible(true);\n buttonRef.current.focus();\n }\n }), []);\n const enableTouchRipple = ripple.shouldMount && !disableRipple && !disabled;\n React.useEffect(() => {\n if (focusVisible && focusRipple && !disableRipple) {\n ripple.pulsate();\n }\n }, [disableRipple, focusRipple, focusVisible, ripple]);\n function useRippleHandler(rippleAction, eventCallback, skipRippleAction = disableTouchRipple) {\n return useEventCallback(event => {\n if (eventCallback) {\n eventCallback(event);\n }\n const ignore = skipRippleAction;\n if (!ignore) {\n ripple[rippleAction](event);\n }\n return true;\n });\n }\n const handleMouseDown = useRippleHandler('start', onMouseDown);\n const handleContextMenu = useRippleHandler('stop', onContextMenu);\n const handleDragLeave = useRippleHandler('stop', onDragLeave);\n const handleMouseUp = useRippleHandler('stop', onMouseUp);\n const handleMouseLeave = useRippleHandler('stop', event => {\n if (focusVisible) {\n event.preventDefault();\n }\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n });\n const handleTouchStart = useRippleHandler('start', onTouchStart);\n const handleTouchEnd = useRippleHandler('stop', onTouchEnd);\n const handleTouchMove = useRippleHandler('stop', onTouchMove);\n const handleBlur = useRippleHandler('stop', event => {\n if (!isFocusVisible(event.target)) {\n setFocusVisible(false);\n }\n if (onBlur) {\n onBlur(event);\n }\n }, false);\n const handleFocus = useEventCallback(event => {\n // Fix for https://github.com/facebook/react/issues/7769\n if (!buttonRef.current) {\n buttonRef.current = event.currentTarget;\n }\n if (isFocusVisible(event.target)) {\n setFocusVisible(true);\n if (onFocusVisible) {\n onFocusVisible(event);\n }\n }\n if (onFocus) {\n onFocus(event);\n }\n });\n const isNonNativeButton = () => {\n const button = buttonRef.current;\n return component && component !== 'button' && !(button.tagName === 'A' && button.href);\n };\n const handleKeyDown = useEventCallback(event => {\n // Check if key is already down to avoid repeats being counted as multiple activations\n if (focusRipple && !event.repeat && focusVisible && event.key === ' ') {\n ripple.stop(event, () => {\n ripple.start(event);\n });\n }\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === ' ') {\n event.preventDefault();\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n\n // Keyboard accessibility for non interactive elements\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === 'Enter' && !disabled) {\n event.preventDefault();\n if (onClick) {\n onClick(event);\n }\n }\n });\n const handleKeyUp = useEventCallback(event => {\n // calling preventDefault in keyUp on a \n this.handleCancel()}\n color=\"grey\"\n startIcon={}\n >\n {this.props.cancel || I18n.t('ra_Cancel')}\n \n \n \n );\n }\n}\n", "/**\n * Copyright 2018-2023 Denis Haev (bluefox) \n *\n * MIT License\n *\n */\n// please do not delete React, as without it other projects could not be compiled: ReferenceError: React is not defined\nimport React, { Component, type JSX } from 'react';\n\nimport { Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle } from '@mui/material';\n\nimport { Check as IconCheck } from '@mui/icons-material';\n\nimport { I18n } from '../i18n';\n\ninterface DialogErrorProps {\n /* The dialog title; default: Error (translated) */\n title?: string;\n /* The dialog text */\n text: string | React.JSX.Element | React.JSX.Element[];\n /* Close handler. */\n onClose?: () => void;\n /* if the dialog must be fill sized */\n fullWidth?: boolean;\n}\n\nexport class DialogError extends Component {\n handleOk(): void {\n if (this.props.onClose) {\n this.props.onClose();\n }\n }\n\n render(): JSX.Element {\n return (\n this.handleOk()}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n {this.props.title || I18n.t('ra_Error')}\n \n \n {this.props.text || I18n.t('ra_Unknown error!')}\n \n \n \n this.handleOk()}\n color=\"primary\"\n autoFocus\n startIcon={}\n >\n {I18n.t('ra_Ok')}\n \n \n \n );\n }\n}\n", "{\n \"ra_%s links from aliases\": \"%s links from aliases\",\n \"ra_%s object(s) processed\": \"%s object(s) processed\",\n \"ra_%s was imported\": \"%s was imported\",\n \"ra_Accept license\": \"Accept license\",\n \"ra_Add new child object to selected parent\": \"Add new child object to selected parent\",\n \"ra_Add objects tree from JSON file\": \"Add objects tree from JSON file\",\n \"ra_Add row\": \"Add row\",\n \"ra_Advanced options\": \"Advanced options\",\n \"ra_All items are filtered out\": \"All items are filtered out\",\n \"ra_All objects\": \"All objects\",\n \"ra_Append\": \"Append\",\n \"ra_Append %s entries or replace existing?\": \"Append %s entries or replace existing?\",\n \"ra_Append or replace?\": \"Append or replace?\",\n \"ra_Are you sure?\": \"Are you sure?\",\n \"ra_Auto (no custom columns)\": \"Auto (no custom columns)\",\n \"ra_Back to %s\": \"Back to %s\",\n \"ra_Background image\": \"Background image\",\n \"ra_Cancel\": \"Cancel\",\n \"ra_Cannot add items with set filter\": \"Cannot add items with set filter\",\n \"ra_Cannot decode license\": \"Cannot decode license\",\n \"ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser\": \"Cannot determine position: System settings are empty and GPS detection is disabled in browser\",\n \"ra_Cannot find \\\"%s\\\"\": \"Cannot find \\\"%s\\\"\",\n \"ra_Cannot read \\\"%s\\\"\": \"Cannot read \\\"%s\\\"\",\n \"ra_Cannot read licenses: %s\": \"Cannot read licenses: %s\",\n \"ra_Cannot retrieve options, as instance is offline\": \"Cannot retrieve options, as instance is offline\",\n \"ra_Cannot update attribute, because not found in the object\": \"Cannot update attribute, because not found in the object\",\n \"ra_Cannot upload\": \"Cannot upload\",\n \"ra_Categories\": \"Categories\",\n \"ra_Chained certificate\": \"Chained certificate\",\n \"ra_Change color theme\": \"Change color theme\",\n \"ra_Changed from\": \"Changed from\",\n \"ra_Channel \u2192 State\": \"Channel \u2192 State\",\n \"ra_Check license\": \"Check license\",\n \"ra_Checked\": \"Checked\",\n \"ra_Clear\": \"Delete\",\n \"ra_Clear filter\": \"Clear filter\",\n \"ra_Clear icon\": \"Clear icon\",\n \"ra_Clone current row\": \"Clone current row\",\n \"ra_Close\": \"Close\",\n \"ra_Collapse all nodes\": \"Collapse all nodes\",\n \"ra_Collapse one step node\": \"Collapse one level\",\n \"ra_Commercial\": \"Commercial\",\n \"ra_Configure\": \"Configure\",\n \"ra_Configure visible columns\": \"Configure visible columns\",\n \"ra_Confirm deletion of %s\": \"Confirm deletion of %s\",\n \"ra_Connected\": \"Connected\",\n \"ra_Copied\": \"Copied\",\n \"ra_Copied %s\": \"Copied \\\"%s\\\"\",\n \"ra_Copy content\": \"Copy content\",\n \"ra_Create\": \"Create\",\n \"ra_Create alias\": \"Create alias\",\n \"ra_Create folder\": \"Create folder\",\n \"ra_Create new folder in %s\": \"Create new folder in %s\",\n \"ra_Crop\": \"Crop\",\n \"ra_Define CRON...\": \"Define CRON...\",\n \"ra_Define functions\": \"Define functions\",\n \"ra_Define rooms\": \"Define rooms\",\n \"ra_Define schedule\": \"Define schedule\",\n \"ra_Define schedule...\": \"Define schedule...\",\n \"ra_Del\": \"Delete\",\n \"ra_Delete\": \"Delete\",\n \"ra_Delete (no confirm for 5 mins)\": \"Delete (no confirm for 5 mins)\",\n \"ra_Delete current row\": \"Delete current row\",\n \"ra_Deselect all\": \"Unselect all\",\n \"ra_Device \u2192 Channel \u2192 State\": \"Device \u2192 Channel \u2192 State\",\n \"ra_Discard\": \"Discard\",\n \"ra_Disconnected\": \"Disconnected\",\n \"ra_Do not export values of states\": \"Do not export values of states\",\n \"ra_Do not use let's encrypt\": \"Do not use let's encrypt\",\n \"ra_Double click to reset table layout\": \"Double click to reset table layout\",\n \"ra_Drag 'n' drop some files here, or click to select files\": \"Drag 'n' drop some files here, or click to select files\",\n \"ra_Drop file here\": \"Drop file here\",\n \"ra_Drop the files here...\": \"Drop the file here...\",\n \"ra_Duplicate name\": \"Duplicate name\",\n \"ra_Edit ACL\": \"Edit ACL\",\n \"ra_Edit alias\": \"Edit alias\",\n \"ra_Edit custom config\": \"Edit custom config\",\n \"ra_Edit function\": \"Edit function\",\n \"ra_Edit object field\": \"Edit object field\",\n \"ra_Edit role\": \"Edit role\",\n \"ra_Edit room\": \"Edit room\",\n \"ra_Edit value\": \"Edit value\",\n \"ra_Error\": \"Error\",\n \"ra_Expand all nodes\": \"Expand all nodes\",\n \"ra_Expand one step node\": \"Expand one level\",\n \"ra_Export data to %s file\": \"Export data to %s file\",\n \"ra_Failed to open JSON File\": \"Failed to open JSON File\",\n \"ra_Fallback custom certificates\": \"Fallback custom certificates\",\n \"ra_File is too big. Max %sk allowed. Try use SVG.\": \"File is too big. Max %sk allowed. Try use SVG.\",\n \"ra_Filter\": \"Filter\",\n \"ra_Filter files\": \"Filter files\",\n \"ra_Folder name\": \"Folder name\",\n \"ra_Folder \u2192 Channel \u2192 State\": \"Folder \u2192 Channel \u2192 State\",\n \"ra_Folder \u2192 Device \u2192 Channel \u2192 State\": \"Folder \u2192 Device \u2192 Channel \u2192 State\",\n \"ra_Folder \u2192 State\": \"Folder \u2192 State\",\n \"ra_Folders always first\": \"Folders always first\",\n \"ra_Friday\": \"Friday\",\n \"ra_Good luck\": \"Good luck\",\n \"ra_Hide empty folders\": \"Hide empty folders\",\n \"ra_If no file will be created in the folder, it will disappear after the browser closed\": \"If no file will be created in the folder, it will disappear after the browser closed\",\n \"ra_Import data from %s file\": \"Import data from %s file\",\n \"ra_Import from %s\": \"Import from %s\",\n \"ra_Instance %s is alive\": \"Instance %s is alive\",\n \"ra_Instance %s is not alive\": \"Instance %s is not alive\",\n \"ra_Instance is not alive\": \"Instance is not alive\",\n \"ra_Invalid CRON\": \"Invalid CRON\",\n \"ra_Invalid JSON\": \"Invalid JSON\",\n \"ra_Invalid answer from server\": \"Invalid answer from server\",\n \"ra_Invalid parent folder!\": \"Invalid parent folder!\",\n \"ra_Invalid structure\": \"Invalid structure\",\n \"ra_JSON editor\": \"JSON editor\",\n \"ra_Last change\": \"Last change\",\n \"ra_Latitude\": \"Latitude\",\n \"ra_License %s\": \"License %s\",\n \"ra_License agreement\": \"License agreement\",\n \"ra_License does not exist\": \"License does not exist\",\n \"ra_License expired on %s\": \"License expired on %s\",\n \"ra_License for other product \\\"%s\\\"\": \"License for other product \\\"%s\\\"\",\n \"ra_License is for version %s, but required version is %s.\": \"License is for version %s, but required version is %s.\",\n \"ra_License must be converted\": \"License must be converted to newer version. You can do it in your iobroker.net profile.\",\n \"ra_License not found in license manager. Do you want to read licenses from iobroker.net?\": \"License not found in the license manager. Do you want to update licenses from iobroker.net?\",\n \"ra_Listen on all IPs\": \"Listen on all IPs\",\n \"ra_Load configuration from file\": \"Load configuration from file\",\n \"ra_Longitude\": \"Longitude\",\n \"ra_May not trigger \\\"updateLicenses\\\"\": \"May not trigger \\\"updateLicenses\\\"\",\n \"ra_Message\": \"Message\",\n \"ra_Monday\": \"Monday\",\n \"ra_Move down\": \"Move down\",\n \"ra_Move up\": \"Move up\",\n \"ra_Name\": \"Name\",\n \"ra_No data found in file\": \"No data found in file\",\n \"ra_No one license found in license manager\": \"No one license found in license manager\",\n \"ra_No response from the backend\": \"No response from the backend\",\n \"ra_Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\": \"Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\",\n \"ra_Not a number\": \"Not a number\",\n \"ra_Objects\": \"Objects\",\n \"ra_Ok\": \"Ok\",\n \"ra_On weekdays\": \"On weekdays\",\n \"ra_Only following structures of objects are available:\": \"Only following structures of objects are available:\",\n \"ra_Only selected\": \"Only selected\",\n \"ra_Owner group\": \"Owner group\",\n \"ra_Owner user\": \"Owner user\",\n \"ra_Passwords are not equal!\": \"Passwords are not equal!\",\n \"ra_Place your files here or click here to open the browse dialog\": \"Place your files here or click here to open the browse dialog\",\n \"ra_Please confirm\": \"Please confirm\",\n \"ra_Please create license\": \"Please create license\",\n \"ra_Please enter the license\": \"Please enter the license\",\n \"ra_Please select file...\": \"Please select file...\",\n \"ra_Please select object ID...\": \"Please select object ID...\",\n \"ra_Port could be used by %s\": \"Port could be used by %s\",\n \"ra_Port is already used by %s\": \"Port is already used by %s\",\n \"ra_Private certificate\": \"Private certificate\",\n \"ra_Product\": \"Product\",\n \"ra_Public certificate\": \"Public certificate\",\n \"ra_Quality code\": \"Quality\",\n \"ra_Refresh tree\": \"Refresh tree\",\n \"ra_Reload files\": \"Reload files\",\n \"ra_Repeat\": \"Repeat\",\n \"ra_Replace\": \"Replace\",\n \"ra_Request timed out\": \"Request timed out\",\n \"ra_Restrict to folder\": \"Restrict to folder\",\n \"ra_Root\": \"Root\",\n \"ra_Saturday\": \"Saturday\",\n \"ra_Save\": \"Save\",\n \"ra_Save and close\": \"Save and close\",\n \"ra_Save configuration to file\": \"Save configuration to file\",\n \"ra_Save objects tree as JSON file\": \"Save objects tree as JSON file\",\n \"ra_Select all\": \"Select all\",\n \"ra_Select color\": \"Select color\",\n \"ra_Select predefined icon\": \"Select predefined icon\",\n \"ra_Select type of export\": \"Select type of export\",\n \"ra_Selected\": \"Selected\",\n \"ra_Selected %s object(s)\": \"Selected %s object(s)\",\n \"ra_Serial number (UUID)\": \"Serial number (UUID)\",\n \"ra_Serial number (UUID) \\\"%s\\\" in license is for other device.\": \"Serial number (UUID) \\\"%s\\\" in license is for other device.\",\n \"ra_Show all folders\": \"Show all folders\",\n \"ra_Show lines between rows\": \"Show lines between rows\",\n \"ra_Show/Hide object descriptions\": \"Show/Hide object descriptions\",\n \"ra_Show/hide filter input\": \"Show/hide filter input\",\n \"ra_Some data are not stored. Discard?\": \"Some data are not stored. Discard?\",\n \"ra_States\": \"States\",\n \"ra_Suitable license not found in license manager\": \"Suitable license not found in license manager\",\n \"ra_Sunday\": \"Sunday\",\n \"ra_Suppress question for next %s minutes\": \"Suppress question for next %s minutes\",\n \"ra_System language\": \"System language\",\n \"ra_Take browser position\": \"Take position from browser\",\n \"ra_Take position from system settings\": \"Take position from system settings\",\n \"ra_The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\": \"The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\",\n \"ra_The page you are looking for was not found\": \"The page you are looking for was not found\",\n \"ra_The schedule will be executed every minute. Are you sure?\": \"The schedule will be executed every minute. Are you sure?\",\n \"ra_The schedule will be executed every second. Are you sure?\": \"The schedule will be executed every second. Are you sure?\",\n \"ra_Thursday\": \"Thursday\",\n \"ra_Timestamp\": \"Timestamp\",\n \"ra_Toggle expert mode\": \"Toggle expert mode\",\n \"ra_Toggle the states view\": \"Toggle the states view\",\n \"ra_Toggle view mode\": \"Toggle view mode\",\n \"ra_Too big\": \"Too big\",\n \"ra_Too small\": \"Too small\",\n \"ra_Transparent dialog\": \"Transparent dialog\",\n \"ra_Tuesday\": \"Tuesday\",\n \"ra_Unknown error\": \"Unknown error\",\n \"ra_Unknown error!\": \"Unknown error!\",\n \"ra_Update\": \"Update\",\n \"ra_Upload file\": \"Upload file\",\n \"ra_Use all available let's encrypt certificates\": \"Use all available let's encrypt certificates\",\n \"ra_Use iobroker.acme adapter for letsencrypt certificates\": \"Use iobroker.acme adapter for letsencrypt certificates\",\n \"ra_Use system settings for position\": \"Use system settings for position\",\n \"ra_Used system settings\": \"Used system settings\",\n \"ra_User files\": \"User files\",\n \"ra_ValidTill\": \"Valid till\",\n \"ra_Value\": \"Value\",\n \"ra_Version\": \"Version\",\n \"ra_View file\": \"View file\",\n \"ra_View: %s\": \"View: %s\",\n \"ra_Wednesday\": \"Wednesday\",\n \"ra_Width\": \"Width\",\n \"ra_Yes\": \"Yes\",\n \"ra_You can export all objects or just the selected branch.\": \"You can export all objects or just the selected branch.\",\n \"ra_You can filter entries by entering here some text\": \"You can filter entries by entering here some text\",\n \"ra___different__\": \"different\",\n \"ra_aclEveryone_read_object\": \"Everyone can read object\",\n \"ra_aclEveryone_read_state\": \"Everyone can read state\",\n \"ra_aclEveryone_write_object\": \"Everyone can write object\",\n \"ra_aclEveryone_write_state\": \"Everyone can write state\",\n \"ra_aclGroup_read_object\": \"Group can read object\",\n \"ra_aclGroup_read_state\": \"Group can read state\",\n \"ra_aclGroup_write_object\": \"Group can write object\",\n \"ra_aclGroup_write_state\": \"Group can write state\",\n \"ra_aclOwner_read_object\": \"Owner can read object\",\n \"ra_aclOwner_read_state\": \"Owner can read state\",\n \"ra_aclOwner_write_object\": \"Owner can write object\",\n \"ra_aclOwner_write_state\": \"Owner can write state\",\n \"ra_buttons\": \"Buttons\",\n \"ra_changedFrom\": \"Changed from\",\n \"ra_close\": \"close\",\n \"ra_create_boolean_state\": \"Create boolean state\",\n \"ra_create_channel\": \"Create channel\",\n \"ra_create_device\": \"Create device\",\n \"ra_create_number_state\": \"Create number state\",\n \"ra_create_state\": \"Create state\",\n \"ra_create_string_state\": \"Create string state\",\n \"ra_daysShortText\": \"days\",\n \"ra_dow_Fr\": \"Fr\",\n \"ra_dow_Mo\": \"Mo\",\n \"ra_dow_Sa\": \"Sa\",\n \"ra_dow_Su\": \"Su\",\n \"ra_dow_Th\": \"Th\",\n \"ra_dow_Tu\": \"Tu\",\n \"ra_dow_We\": \"We\",\n \"ra_expertMode\": \"Expert mode\",\n \"ra_fileType_all\": \"All files\",\n \"ra_fileType_audio\": \"Audio\",\n \"ra_fileType_code\": \"Code/JSON\",\n \"ra_fileType_images\": \"Images\",\n \"ra_fileType_txt\": \"Text\",\n \"ra_fileType_video\": \"Video\",\n \"ra_fileType_video,\": \"Video\",\n \"ra_filter_customs\": \"Settings\",\n \"ra_filter_customs_without\": \"without\",\n \"ra_filter_func\": \"Function\",\n \"ra_filter_id\": \"ID\",\n \"ra_filter_name\": \"Name\",\n \"ra_filter_role\": \"Role\",\n \"ra_filter_room\": \"Room\",\n \"ra_filter_type\": \"Type\",\n \"ra_import data from %s file\": \"Import data from %s file\",\n \"ra_invalidConfig\": \"Invalid settings\",\n \"ra_lastChange\": \"Last change\",\n \"ra_locally\": \"locally\",\n \"ra_month_Apr\": \"Apr\",\n \"ra_month_Aug\": \"Aug\",\n \"ra_month_Dec\": \"Dec\",\n \"ra_month_Feb\": \"Feb\",\n \"ra_month_Jan\": \"Jan\",\n \"ra_month_Jul\": \"Jul\",\n \"ra_month_Jun\": \"Jun\",\n \"ra_month_Mai\": \"Mai\",\n \"ra_month_Mar\": \"Mar\",\n \"ra_month_Nov\": \"Nov\",\n \"ra_month_Oct\": \"Oct\",\n \"ra_month_Sep\": \"Sep\",\n \"ra_months_Apr\": \"Apr\",\n \"ra_months_Aug\": \"Aug\",\n \"ra_months_Dec\": \"Dec\",\n \"ra_months_Feb\": \"Feb\",\n \"ra_months_Jan\": \"Jan\",\n \"ra_months_Jul\": \"Jul\",\n \"ra_months_Jun\": \"Jun\",\n \"ra_months_Mai\": \"Mai\",\n \"ra_months_Mar\": \"Mar\",\n \"ra_months_Nov\": \"Nov\",\n \"ra_months_Oct\": \"Oct\",\n \"ra_months_Sep\": \"Sep\",\n \"ra_none\": \"none\",\n \"ra_object_changed_by\": \"Object changed by\",\n \"ra_object_changed_by_user\": \"Object last changed at\",\n \"ra_otherConfig\": \"Settings from other adapter %s\",\n \"ra_qualityCode\": \"Quality code\",\n \"ra_repeat\": \"repeat\",\n \"ra_select_folder_hint\": \"To select folder, just hold the key \\\"shift\\\" by clicking the folder.\",\n \"ra_state_changed_by\": \"State changed by\",\n \"ra_state_changed_from\": \"Object changed from\",\n \"ra_timestamp\": \"Timestamp\",\n \"ra_tooltip_ack\": \"Acknowledged\",\n \"ra_tooltip_comment\": \"Comment\",\n \"ra_tooltip_copyState\": \"Copy the state value\",\n \"ra_tooltip_customConfig\": \"Custom settings\",\n \"ra_tooltip_deleteObject\": \"Delete object\",\n \"ra_tooltip_editObject\": \"Edit object\",\n \"ra_tooltip_editState\": \"Edit the state value\",\n \"ra_tooltip_from\": \"From\",\n \"ra_tooltip_lc\": \"Last changed\",\n \"ra_tooltip_quality\": \"Quality\",\n \"ra_tooltip_ts\": \"Time stamp\",\n \"ra_tooltip_user\": \"User\",\n \"ra_tooltip_value\": \"Value\",\n \"ra_use seconds\": \"use seconds\",\n \"ra_val\": \"Value\",\n \"ra_via internet\": \"via internet\",\n \"ra_warning_every_minute\": \"Warning: The CRON job will run every minute during the specified period!\",\n \"ra_warning_every_second\": \"Warning: The CRON job will run every second during the specified period!\",\n \"sc_cron\": \"CRON\",\n \"sc_date\": \"Date\",\n \"sc_dates\": \"Dates\",\n \"sc_dow\": \"Day\",\n \"sc_dows\": \"Day of week\",\n \"sc_every\": \"Every\",\n \"sc_everyN_dates\": \"every N days\",\n \"sc_everyN_dow\": \"every Nth day of the week\",\n \"sc_everyN_dows\": \"every N day of week\",\n \"sc_everyN_hours\": \"every N hours\",\n \"sc_everyN_minutes\": \"every N minutes\",\n \"sc_everyN_months\": \"every N months\",\n \"sc_everyN_seconds\": \"every N seconds\",\n \"sc_every_dates\": \"every day\",\n \"sc_every_dow\": \"every day of the week\",\n \"sc_every_dows\": \"every day of the week\",\n \"sc_every_hours\": \"every hour\",\n \"sc_every_minutes\": \"every minute\",\n \"sc_every_months\": \"every month\",\n \"sc_every_seconds\": \"every second\",\n \"sc_from\": \"From\",\n \"sc_hours\": \"Hours\",\n \"sc_interval\": \"Interval\",\n \"sc_intervalBetween\": \"Interval between\",\n \"sc_invalid_cron\": \"Invalid CRON\",\n \"sc_minutes\": \"Minutes\",\n \"sc_months\": \"months\",\n \"sc_once\": \"Once\",\n \"sc_period\": \"Period\",\n \"sc_seconds\": \"Seconds\",\n \"sc_simple\": \"Simple\",\n \"sc_specific\": \"Specific time\",\n \"sc_specific_dates\": \"specific dates\",\n \"sc_specific_dow\": \"specific day(s) of the week\",\n \"sc_specific_dows\": \"specific day of weeks\",\n \"sc_specific_hours\": \"specific hours\",\n \"sc_specific_minutes\": \"specific minutes\",\n \"sc_specific_months\": \"specific months\",\n \"sc_specific_seconds\": \"specific seconds\",\n \"sc_time\": \"Time\",\n \"sc_to\": \"To\",\n \"sc_wizard\": \"Wizard\",\n \"sch_all\": \"all\",\n \"sch_astroDay\": \"Astro day\",\n \"sch_astroNight\": \"Astro night\",\n \"sch_astro_dawn\": \"Dawn\",\n \"sch_astro_dusk\": \"Dusk\",\n \"sch_astro_goldenHour\": \"Golden hour\",\n \"sch_astro_goldenHourEnd\": \"Golden hour end\",\n \"sch_astro_nadir\": \"Nadir\",\n \"sch_astro_nauticalDawn\": \"Nautical dawn\",\n \"sch_astro_nauticalDusk\": \"Nautical dusk\",\n \"sch_astro_night\": \"Night\",\n \"sch_astro_nightEnd\": \"Night end\",\n \"sch_astro_solarNoon\": \"Solar noon\",\n \"sch_astro_sunrise\": \"Sunrise\",\n \"sch_astro_sunriseEnd\": \"Sunrise end\",\n \"sch_astro_sunset\": \"Sunset\",\n \"sch_astro_sunsetStart\": \"Sunset start\",\n \"sch_at\": \"at\",\n \"sch_desc_atTime\": \"at %s\",\n \"sch_desc_everyDay\": \"every day\",\n \"sch_desc_everyHour\": \"every hour\",\n \"sch_desc_everyMinute\": \"every minute\",\n \"sch_desc_everyMonth\": \"every month\",\n \"sch_desc_everyNDay\": \"every %s day\",\n \"sch_desc_everyNHours\": \"every %s hours\",\n \"sch_desc_everyNMinutes\": \"every %s minutes\",\n \"sch_desc_everyNMonths\": \"every %s months\",\n \"sch_desc_everyNWeeks\": \"every %s weeks\",\n \"sch_desc_everyNYears\": \"every %s years\",\n \"sch_desc_everyWeek\": \"every week\",\n \"sch_desc_everyYear\": \"every year\",\n \"sch_desc_intervalFromTo\": \"from %s to %s\",\n \"sch_desc_never\": \"never\",\n \"sch_desc_onDate\": \"on %s of %s\",\n \"sch_desc_onDates\": \"on %s and %s of\",\n \"sch_desc_onEveryDate\": \"on every date of\",\n \"sch_desc_onMonth\": \"%s\",\n \"sch_desc_onMonths\": \"%s and %s\",\n \"sch_desc_onWeekday\": \"on %s\",\n \"sch_desc_onWeekdays\": \"on %s and %s\",\n \"sch_desc_onWeekends\": \"on weekends\",\n \"sch_desc_onWorkdays\": \"on working days\",\n \"sch_desc_onceInPast\": \"will ne be not executed any more, because start is in the past\",\n \"sch_desc_once_on\": \"on %s\",\n \"sch_desc_validFrom\": \"from %s\",\n \"sch_desc_validFromTo\": \"Execute from to\",\n \"sch_desc_validTo\": \"to %s\",\n \"sch_every\": \"every\",\n \"sch_exactTime\": \"Specific time\",\n \"sch_from\": \"from\",\n \"sch_fromTo\": \"From-to\",\n \"sch_intervalTime\": \"Interval time\",\n \"sch_invert\": \"invert\",\n \"sch_no_one\": \"none\",\n \"sch_on\": \"on\",\n \"sch_period\": \"Period\",\n \"sch_periodDaily\": \"Daily\",\n \"sch_periodDates\": \"Dates\",\n \"sch_periodDay\": \"Day\",\n \"sch_periodEvery\": \"Every\",\n \"sch_periodEveryDay\": \"Every day\",\n \"sch_periodEveryMonth\": \"Every month\",\n \"sch_periodEveryWeek\": \"Every week\",\n \"sch_periodEveryYear\": \"Every year\",\n \"sch_periodHours\": \"Hours\",\n \"sch_periodMinutes\": \"Minutes\",\n \"sch_periodMonth\": \"month\",\n \"sch_periodMonthly\": \"Monthly\",\n \"sch_periodOnce\": \"Once\",\n \"sch_periodSpecificMonths\": \"Specific months\",\n \"sch_periodWeek\": \"Week\",\n \"sch_periodWeekdays\": \"Weekdays\",\n \"sch_periodWeekend\": \"Weekend\",\n \"sch_periodWeekly\": \"Weekly\",\n \"sch_periodWorkdays\": \"Workdays\",\n \"sch_periodYear\": \"Year\",\n \"sch_periodYearly\": \"Yearly\",\n \"sch_specificTime\": \"Specific time\",\n \"sch_time\": \"Time\",\n \"sch_to\": \"to\",\n \"sch_valid\": \"Valid\",\n \"sch_validFrom\": \"from\",\n \"sch_validTo\": \"to\",\n \"sch_wholeDay\": \"Whole day\",\n \"sch_yearEveryMonth\": \"every month\"\n}\n", "{\n \"ra_%s links from aliases\": \"%s Links von Aliasen\",\n \"ra_%s object(s) processed\": \"%s Objekt(e) verarbeitet\",\n \"ra_%s was imported\": \"%s wurde importiert\",\n \"ra_Accept license\": \"Lizenz akzeptieren\",\n \"ra_Add new child object to selected parent\": \"Dem ausgew\u00E4hlten \u00FCbergeordneten Objekt ein neues untergeordnetes Objekt hinzuf\u00FCgen\",\n \"ra_Add objects tree from JSON file\": \"Objektbaum aus JSON-Datei hinzuf\u00FCgen\",\n \"ra_Add row\": \"Zeile hinzuf\u00FCgen\",\n \"ra_Advanced options\": \"Erweiterte Optionen\",\n \"ra_All items are filtered out\": \"Alle Elemente werden herausgefiltert\",\n \"ra_All objects\": \"Alle Objekte\",\n \"ra_Append\": \"Anh\u00E4ngen\",\n \"ra_Append %s entries or replace existing?\": \"%s Eintr\u00E4ge anh\u00E4ngen oder vorhandene ersetzen?\",\n \"ra_Append or replace?\": \"Anh\u00E4ngen oder ersetzen?\",\n \"ra_Are you sure?\": \"Bist du sicher?\",\n \"ra_Auto (no custom columns)\": \"Auto (keine benutzerdefinierten Spalten)\",\n \"ra_Back to %s\": \"Zur\u00FCck zu %s\",\n \"ra_Background image\": \"Hintergrundbild\",\n \"ra_Cancel\": \"Abbrechen\",\n \"ra_Cannot add items with set filter\": \"Elemente mit festgelegtem Filter k\u00F6nnen nicht hinzugef\u00FCgt werden\",\n \"ra_Cannot decode license\": \"Lizenz kann nicht entschl\u00FCsselt werden\",\n \"ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser\": \"Position kann nicht bestimmt werden: Die Systemeinstellungen sind leer und die GPS-Erkennung ist im Browser deaktiviert\",\n \"ra_Cannot find \\\"%s\\\"\": \"Kann \\\"%s\\\" nicht finden\",\n \"ra_Cannot read \\\"%s\\\"\": \"\\\"%s\\\" kann nicht gelesen werden\",\n \"ra_Cannot read licenses: %s\": \"Lizenzen k\u00F6nnen nicht gelesen werden: %s\",\n \"ra_Cannot retrieve options, as instance is offline\": \"Optionen k\u00F6nnen nicht abgerufen werden, da die Instanz offline ist\",\n \"ra_Cannot update attribute, because not found in the object\": \"Attribut kann nicht aktualisiert werden, da es nicht im Objekt gefunden wurde\",\n \"ra_Cannot upload\": \"Kann nicht hochladen\",\n \"ra_Categories\": \"Kategorien\",\n \"ra_Chained certificate\": \"Chained Zertifikat\",\n \"ra_Change color theme\": \"Farbthema \u00E4ndern\",\n \"ra_Changed from\": \"Ge\u00E4ndert von\",\n \"ra_Channel \u2192 State\": \"Kanal \u2192 Zustand\",\n \"ra_Check license\": \"Lizenz pr\u00FCfen\",\n \"ra_Checked\": \"Gepr\u00FCft\",\n \"ra_Clear\": \"L\u00F6schen\",\n \"ra_Clear filter\": \"Filter l\u00F6schen\",\n \"ra_Clear icon\": \"Symbol l\u00F6schen\",\n \"ra_Clone current row\": \"Aktuelle Zeile klonen\",\n \"ra_Close\": \"Schlie\u00DFen\",\n \"ra_Collapse all nodes\": \"Alle Knoten zuklappen\",\n \"ra_Collapse one step node\": \"Eine Ebene zuklappen\",\n \"ra_Commercial\": \"Kommerziell\",\n \"ra_Configure\": \"Konfigurieren\",\n \"ra_Configure visible columns\": \"Spalten Konfigurieren\",\n \"ra_Confirm deletion of %s\": \"Das L\u00F6schen von %s best\u00E4tigen\",\n \"ra_Connected\": \"Verbunden\",\n \"ra_Copied\": \"Kopiert\",\n \"ra_Copied %s\": \"\\\"%s\\\" kopiert\",\n \"ra_Copy content\": \"Inhalte kopieren\",\n \"ra_Create\": \"Erstellen\",\n \"ra_Create alias\": \"Alias erstellen\",\n \"ra_Create folder\": \"Ordner erstellen\",\n \"ra_Create new folder in %s\": \"Neuen Ordner in \\\"%s\\\" erstellen\",\n \"ra_Crop\": \"Ernte\",\n \"ra_Define CRON...\": \"Definieren Sie CRON ...\",\n \"ra_Define functions\": \"Funktionen definieren\",\n \"ra_Define rooms\": \"R\u00E4ume definieren\",\n \"ra_Define schedule\": \"Zeitplan definieren\",\n \"ra_Define schedule...\": \"Zeitplan definieren ...\",\n \"ra_Del\": \"Entf\",\n \"ra_Delete\": \"L\u00F6schen\",\n \"ra_Delete (no confirm for 5 mins)\": \"L\u00F6schen (keine Best\u00E4tigung f\u00FCr 5 Minuten)\",\n \"ra_Delete current row\": \"Aktuelle Zeile l\u00F6schen\",\n \"ra_Deselect all\": \"Alles abw\u00E4hlen\",\n \"ra_Device \u2192 Channel \u2192 State\": \"Ger\u00E4t \u2192 Kanal \u2192 Zustand\",\n \"ra_Discard\": \"Verwerfen\",\n \"ra_Disconnected\": \"Getrennt\",\n \"ra_Do not export values of states\": \"Keine Zustandswerte exportieren\",\n \"ra_Do not use let's encrypt\": \"Let's encrypt nicht verwenden\",\n \"ra_Double click to reset table layout\": \"Doppelklicken, um das Tabellenlayout zur\u00FCckzusetzen\",\n \"ra_Drag 'n' drop some files here, or click to select files\": \"Die Datei hierher ziehen und ablegen, oder klicken, um die Datei auszuw\u00E4hlen\",\n \"ra_Drop file here\": \"Datei hier ablegen\",\n \"ra_Drop the files here...\": \"Datei hier ablegen...\",\n \"ra_Duplicate name\": \"Doppelter Name\",\n \"ra_Edit ACL\": \"ACL bearbeiten\",\n \"ra_Edit alias\": \"Alias bearbeiten\",\n \"ra_Edit custom config\": \"Bearbeite Benutzerdefinierte Konfiguration\",\n \"ra_Edit function\": \"Funktion bearbeiten\",\n \"ra_Edit object field\": \"Objektfeld bearbeiten\",\n \"ra_Edit role\": \"Rolle bearbeiten\",\n \"ra_Edit room\": \"Raum bearbeiten\",\n \"ra_Edit value\": \"Wert bearbeiten\",\n \"ra_Error\": \"Fehler\",\n \"ra_Expand all nodes\": \"Alle Knoten aufklappen\",\n \"ra_Expand one step node\": \"Eine Ebene aufklappen\",\n \"ra_Export data to %s file\": \"Daten in %s-Datei exportieren\",\n \"ra_Failed to open JSON File\": \"Fehler beim \u00D6ffnen der JSON-Datei\",\n \"ra_Fallback custom certificates\": \"Benutzerdefinierte Fallback-Zertifikate\",\n \"ra_File is too big. Max %sk allowed. Try use SVG.\": \"Datei ist zu gro\u00DF. Max %sk erlaubt. Versuchen Sie, SVG zu verwenden.\",\n \"ra_Filter\": \"Filter\",\n \"ra_Filter files\": \"Dateien filtern\",\n \"ra_Folder name\": \"Ordnernamen\",\n \"ra_Folder \u2192 Channel \u2192 State\": \"Ordner \u2192 Kanal \u2192 Zustand\",\n \"ra_Folder \u2192 Device \u2192 Channel \u2192 State\": \"Ordner \u2192 Ger\u00E4t \u2192 Kanal \u2192 Zustand\",\n \"ra_Folder \u2192 State\": \"Ordner \u2192 Zustand\",\n \"ra_Folders always first\": \"Ordner immer zuerst\",\n \"ra_Friday\": \"Freitag\",\n \"ra_Good luck\": \"Viel Gl\u00FCck\",\n \"ra_Hide empty folders\": \"Leere Ordner ausblenden\",\n \"ra_If no file will be created in the folder, it will disappear after the browser closed\": \"Wenn im Ordner keine Datei erstellt wird, verschwindet dieser nach dem Schlie\u00DFen des Browsers\",\n \"ra_Import data from %s file\": \"Daten aus %s-Datei importieren\",\n \"ra_Import from %s\": \"Von %s importieren\",\n \"ra_Instance %s is alive\": \"Instanz %s ist aktiv\",\n \"ra_Instance %s is not alive\": \"Instanz %s ist nicht aktiv\",\n \"ra_Instance is not alive\": \"Instanz ist nicht am Leben\",\n \"ra_Invalid CRON\": \"Ung\u00FCltiger CRON\",\n \"ra_Invalid JSON\": \"Ung\u00FCltiges JSON\",\n \"ra_Invalid answer from server\": \"Ung\u00FCltige Antwort vom Server\",\n \"ra_Invalid parent folder!\": \"Ung\u00FCltiger \u00FCbergeordneter Ordner!\",\n \"ra_Invalid structure\": \"Ung\u00FCltige Struktur\",\n \"ra_JSON editor\": \"JSON-Editor\",\n \"ra_Last change\": \"Letzte \u00C4nderung\",\n \"ra_Latitude\": \"Breite\",\n \"ra_License %s\": \"Lizenz %s\",\n \"ra_License agreement\": \"Lizenzvereinbarung\",\n \"ra_License does not exist\": \"Lizenz existiert nicht\",\n \"ra_License expired on %s\": \"Lizenz am %s abgelaufen\",\n \"ra_License for other product \\\"%s\\\"\": \"Lizenz f\u00FCr anderes Produkt \u201E%s\u201C\",\n \"ra_License is for version %s, but required version is %s.\": \"Lizenz ist f\u00FCr Version %s, aber erforderliche Version ist %s.\",\n \"ra_License must be converted\": \"Die Lizenz muss auf eine neuere Version konvertiert werden. Sie k\u00F6nnen dies in Ihrem iobroker.net-Profil tun.\",\n \"ra_License not found in license manager. Do you want to read licenses from iobroker.net?\": \"Lizenz im Lizenzmanager nicht gefunden. M\u00F6chten Sie Lizenzen von iobroker.net aktualisieren?\",\n \"ra_Listen on all IPs\": \"Zugriff von allen IPs zulassen\",\n \"ra_Load configuration from file\": \"Konfiguration aus Datei laden\",\n \"ra_Longitude\": \"L\u00E4ngengrad\",\n \"ra_May not trigger \\\"updateLicenses\\\"\": \"L\u00F6st m\u00F6glicherweise nicht \u201EupdateLicenses\u201C aus\",\n \"ra_Message\": \"Meldung\",\n \"ra_Monday\": \"Montag\",\n \"ra_Move down\": \"Nach unten\",\n \"ra_Move up\": \"Nach oben\",\n \"ra_Name\": \"Name\",\n \"ra_No data found in file\": \"Keine Daten in der Datei gefunden\",\n \"ra_No one license found in license manager\": \"Im Lizenzmanager wurde keine Lizenz gefunden\",\n \"ra_No response from the backend\": \"Keine Antwort vom Backend\",\n \"ra_Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\": \"Nicht-Experten d\u00FCrfen neue Objekte nur in \\\"0_userdata.0\\\" oder \\\"alias.0\\\" erstellen.\",\n \"ra_Not a number\": \"Keine Nummer\",\n \"ra_Objects\": \"Objekte\",\n \"ra_Ok\": \"OK\",\n \"ra_On weekdays\": \"An Wochentagen\",\n \"ra_Only following structures of objects are available:\": \"Es stehen nur folgende Objektstrukturen zur Verf\u00FCgung:\",\n \"ra_Only selected\": \"Nur ausgew\u00E4hlt\",\n \"ra_Owner group\": \"Besitzergruppe\",\n \"ra_Owner user\": \"Besitzer Benutzer\",\n \"ra_Passwords are not equal!\": \"Passw\u00F6rter sind nicht gleich!\",\n \"ra_Place your files here or click here to open the browse dialog\": \"Die Dateien hier platzieren oder hier klicken, um den Suchdialog zu \u00F6ffnen\",\n \"ra_Please confirm\": \"Bitte best\u00E4tigen\",\n \"ra_Please create license\": \"Bitte erstellen Sie eine Lizenz\",\n \"ra_Please enter the license\": \"Bitte die Lizenz eingeben\",\n \"ra_Please select file...\": \"Bitte Datei ausw\u00E4hlen...\",\n \"ra_Please select object ID...\": \"Bitte Objekt-ID ausw\u00E4hlen...\",\n \"ra_Port could be used by %s\": \"Port k\u00F6nnte von %s verwendet werden\",\n \"ra_Port is already used by %s\": \"Port wird bereits von %s verwendet\",\n \"ra_Private certificate\": \"Privates Zertifikat\",\n \"ra_Product\": \"Produkt\",\n \"ra_Public certificate\": \"\u00D6ffentliches Zertifikat\",\n \"ra_Quality code\": \"Qualit\u00E4t\",\n \"ra_Refresh tree\": \"Baum aktualisieren\",\n \"ra_Reload files\": \"Dateien neu laden\",\n \"ra_Repeat\": \"Wiederholen\",\n \"ra_Replace\": \"Ersetzen\",\n \"ra_Request timed out\": \"Zeit\u00FCberschreitung der Anforderung\",\n \"ra_Restrict to folder\": \"Auf Ordner beschr\u00E4nken\",\n \"ra_Root\": \"Anfang\",\n \"ra_Saturday\": \"Samstag\",\n \"ra_Save\": \"Speichern\",\n \"ra_Save and close\": \"Speichern und schlie\u00DFen\",\n \"ra_Save configuration to file\": \"Konfiguration in Datei speichern\",\n \"ra_Save objects tree as JSON file\": \"Objektbaum als JSON-Datei speichern\",\n \"ra_Select all\": \"Alle ausw\u00E4hlen\",\n \"ra_Select color\": \"W\u00E4hle Farbe\",\n \"ra_Select predefined icon\": \"Vordefiniertes Symbol ausw\u00E4hlen\",\n \"ra_Select type of export\": \"Die Art des Exports ausw\u00E4hlen \",\n \"ra_Selected\": \"Ausgew\u00E4hlt\",\n \"ra_Selected %s object(s)\": \"Ausgew\u00E4hlt %s Objekt(en)\",\n \"ra_Serial number (UUID)\": \"Seriennummer (UUID)\",\n \"ra_Serial number (UUID) \\\"%s\\\" in license is for other device.\": \"Seriennummer (UUID) \u201E%s\u201C in der Lizenz gilt f\u00FCr ein anderes Ger\u00E4t.\",\n \"ra_Show all folders\": \"Alle Ordner anzeigen\",\n \"ra_Show lines between rows\": \"Linien zwischen Zeilen anzeigen\",\n \"ra_Show/Hide object descriptions\": \"Objektbeschreibungen ein-/ausblenden\",\n \"ra_Show/hide filter input\": \"Filtereingabe ein-/ausblenden\",\n \"ra_Some data are not stored. Discard?\": \"Einige Daten werden nicht gespeichert. Verwerfen?\",\n \"ra_States\": \"Zust\u00E4nde\",\n \"ra_Suitable license not found in license manager\": \"Passende Lizenz im Lizenzmanager nicht gefunden\",\n \"ra_Sunday\": \"Sonntag\",\n \"ra_Suppress question for next %s minutes\": \"Frage f\u00FCr die n\u00E4chsten %s Minuten unterdr\u00FCcken\",\n \"ra_System language\": \"Systemsprache\",\n \"ra_Take browser position\": \"Position vom Browser einnehmen\",\n \"ra_Take position from system settings\": \"Position aus den Systemeinstellungen \u00FCbernehmen\",\n \"ra_The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\": \"Die Experten k\u00F6nnen Objekte \u00FCberall erstellen, au\u00DFer auf der zweiten Ebene (z. B. \\\"vis.0\\\" oder \\\"javascript.0\\\").\",\n \"ra_The page you are looking for was not found\": \"Die gesuchte Seite wurde nicht gefunden\",\n \"ra_The schedule will be executed every minute. Are you sure?\": \"Der Zeitplan wird jede Minute ausgef\u00FChrt. Sind Sie sicher?\",\n \"ra_The schedule will be executed every second. Are you sure?\": \"Der Zeitplan wird jede Sekunde ausgef\u00FChrt. Sind Sie sicher?\",\n \"ra_Thursday\": \"Donnerstag\",\n \"ra_Timestamp\": \"Zeitstempel\",\n \"ra_Toggle expert mode\": \"Expertenmodus umschalten\",\n \"ra_Toggle the states view\": \"Statusansicht umschalten\",\n \"ra_Toggle view mode\": \"Ansichtsmodus umschalten\",\n \"ra_Too big\": \"Zu gro\u00DF\",\n \"ra_Too small\": \"Zu klein\",\n \"ra_Transparent dialog\": \"Transparenter Dialog\",\n \"ra_Tuesday\": \"Dienstag\",\n \"ra_Unknown error\": \"Unbekannter Fehler\",\n \"ra_Unknown error!\": \"Unbekannter Fehler!\",\n \"ra_Update\": \"Aktualisieren\",\n \"ra_Upload file\": \"Datei hochladen\",\n \"ra_Use all available let's encrypt certificates\": \"Alle verf\u00FCgbaren Zertifikate von Let's encrypt benutzen\",\n \"ra_Use iobroker.acme adapter for letsencrypt certificates\": \"ioBroker.acme-Adapter f\u00FCr letsencrypt-Zertifikate verwenden\",\n \"ra_Use system settings for position\": \"Systemeinstellungen f\u00FCr die Position verwenden\",\n \"ra_Used system settings\": \"Systemeinstellungen\",\n \"ra_User files\": \"Benutzerdaten\",\n \"ra_ValidTill\": \"G\u00FCltig bis\",\n \"ra_Value\": \"Wert\",\n \"ra_Version\": \"Ausf\u00FChrung\",\n \"ra_View file\": \"Datei ansehen\",\n \"ra_View: %s\": \"Anschauen: %s\",\n \"ra_Wednesday\": \"Mittwoch\",\n \"ra_Width\": \"Breite\",\n \"ra_Yes\": \"Ja\",\n \"ra_You can export all objects or just the selected branch.\": \"Sie k\u00F6nnen alle Objekte oder nur den ausgew\u00E4hlten Zweig exportieren.\",\n \"ra_You can filter entries by entering here some text\": \"Sie k\u00F6nnen Eintr\u00E4ge filtern, indem Sie hier Text eingeben\",\n \"ra___different__\": \"unterschiedlich\",\n \"ra_aclEveryone_read_object\": \"Jeder kann Objekt lesen\",\n \"ra_aclEveryone_read_state\": \"Jeder kann Zustand lesen\",\n \"ra_aclEveryone_write_object\": \"Jeder kann ein Objekt schreiben\",\n \"ra_aclEveryone_write_state\": \"Jeder kann Zustand schreiben\",\n \"ra_aclGroup_read_object\": \"Gruppe kann Objekt lesen\",\n \"ra_aclGroup_read_state\": \"Gruppe kann Status lesen\",\n \"ra_aclGroup_write_object\": \"Gruppe kann Objekt schreiben\",\n \"ra_aclGroup_write_state\": \"Gruppe kann Status schreiben\",\n \"ra_aclOwner_read_object\": \"Besitzer kann Objekt lesen\",\n \"ra_aclOwner_read_state\": \"Besitzer kann Zustand lesen\",\n \"ra_aclOwner_write_object\": \"Besitzer kann Objekt schreiben\",\n \"ra_aclOwner_write_state\": \"Besitzer kann Zustand schreiben\",\n \"ra_buttons\": \"Tasten\",\n \"ra_changedFrom\": \"Ge\u00E4ndert von\",\n \"ra_close\": \"Schlie\u00DFen\",\n \"ra_create_boolean_state\": \"Booleschen Zustand erstellen\",\n \"ra_create_channel\": \"Kanal erstellen\",\n \"ra_create_device\": \"Ger\u00E4t erstellen\",\n \"ra_create_number_state\": \"Nummern-Zustand erstellen\",\n \"ra_create_state\": \"Zustand erstellen\",\n \"ra_create_string_state\": \"String-Zustand erstellen\",\n \"ra_daysShortText\": \"T.\",\n \"ra_dow_Fr\": \"Fr\",\n \"ra_dow_Mo\": \"Mo\",\n \"ra_dow_Sa\": \"Sa\",\n \"ra_dow_Su\": \"So\",\n \"ra_dow_Th\": \"Do\",\n \"ra_dow_Tu\": \"Di\",\n \"ra_dow_We\": \"Mi\",\n \"ra_expertMode\": \"Expertenmodus\",\n \"ra_fileType_all\": \"Alle Dateien\",\n \"ra_fileType_audio\": \"Audio\",\n \"ra_fileType_code\": \"Code/JSON\",\n \"ra_fileType_images\": \"Bilder\",\n \"ra_fileType_txt\": \"Text\",\n \"ra_fileType_video\": \"Video\",\n \"ra_fileType_video,\": \"Video\",\n \"ra_filter_customs\": \"Einstellungen\",\n \"ra_filter_customs_without\": \"ohne\",\n \"ra_filter_func\": \"Funktion\",\n \"ra_filter_id\": \"ID\",\n \"ra_filter_name\": \"Name\",\n \"ra_filter_role\": \"Rolle\",\n \"ra_filter_room\": \"Raum\",\n \"ra_filter_type\": \"Typ\",\n \"ra_import data from %s file\": \"Daten aus %s-Datei importieren\",\n \"ra_invalidConfig\": \"Ung\u00FCltige Einstellungen\",\n \"ra_lastChange\": \"Letzte \u00C4nderung\",\n \"ra_locally\": \"\u00F6rtlich\",\n \"ra_month_Apr\": \"Apr\",\n \"ra_month_Aug\": \"Aug\",\n \"ra_month_Dec\": \"Dez\",\n \"ra_month_Feb\": \"Feb\",\n \"ra_month_Jan\": \"Jan\",\n \"ra_month_Jul\": \"Jul\",\n \"ra_month_Jun\": \"Jun\",\n \"ra_month_Mai\": \"Mai\",\n \"ra_month_Mar\": \"M\u00E4r\",\n \"ra_month_Nov\": \"Nov\",\n \"ra_month_Oct\": \"Okt\",\n \"ra_month_Sep\": \"Sep\",\n \"ra_months_Apr\": \"Apr\",\n \"ra_months_Aug\": \"Aug\",\n \"ra_months_Dec\": \"Dez\",\n \"ra_months_Feb\": \"Feb\",\n \"ra_months_Jan\": \"Jan\",\n \"ra_months_Jul\": \"Jul\",\n \"ra_months_Jun\": \"Jun\",\n \"ra_months_Mai\": \"Mai\",\n \"ra_months_Mar\": \"M\u00E4r\",\n \"ra_months_Nov\": \"Nov\",\n \"ra_months_Oct\": \"Okt\",\n \"ra_months_Sep\": \"Sep\",\n \"ra_none\": \"kein\",\n \"ra_object_changed_by\": \"Objekt ge\u00E4ndert von\",\n \"ra_object_changed_by_user\": \"Objekt zuletzt ge\u00E4ndert um\",\n \"ra_otherConfig\": \"Einstellungen von anderen Adaptern %s\",\n \"ra_qualityCode\": \"Qualit\u00E4tscode\",\n \"ra_repeat\": \"wiederholen\",\n \"ra_select_folder_hint\": \"Um einen Ordner auszuw\u00E4hlen, halten Sie einfach die Taste \\\"Shift\\\" gedr\u00FCckt, indem Sie auf den Ordner klicken.\",\n \"ra_state_changed_by\": \"Zustand ge\u00E4ndert durch\",\n \"ra_state_changed_from\": \"Objekt ge\u00E4ndert von\",\n \"ra_timestamp\": \"Zeitstempel\",\n \"ra_tooltip_ack\": \"Best\u00E4tigt\",\n \"ra_tooltip_comment\": \"Kommentar\",\n \"ra_tooltip_copyState\": \"Statuswert kopieren\",\n \"ra_tooltip_customConfig\": \"Benutzerdefinierte Einstellungen\",\n \"ra_tooltip_deleteObject\": \"Objekt l\u00F6schen\",\n \"ra_tooltip_editObject\": \"Objekt bearbeiten\",\n \"ra_tooltip_editState\": \"Statuswert bearbeiten\",\n \"ra_tooltip_from\": \"Von\",\n \"ra_tooltip_lc\": \"Zuletzt ge\u00E4ndert\",\n \"ra_tooltip_quality\": \"Qualit\u00E4t\",\n \"ra_tooltip_ts\": \"Zeitstempel\",\n \"ra_tooltip_user\": \"Benutzer\",\n \"ra_tooltip_value\": \"Wert\",\n \"ra_use seconds\": \"Sekunden benutzen\",\n \"ra_val\": \"Wert\",\n \"ra_via internet\": \"\u00FCbers Internet\",\n \"ra_warning_every_minute\": \"Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Minute ausgef\u00FChrt!\",\n \"ra_warning_every_second\": \"Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Sekunde ausgef\u00FChrt!\",\n \"sc_cron\": \"CRON\",\n \"sc_date\": \"Datum\",\n \"sc_dates\": \"Tage\",\n \"sc_dow\": \"Tag\",\n \"sc_dows\": \"Wochentage\",\n \"sc_every\": \"Jeden\",\n \"sc_everyN_dates\": \"alle N Tage\",\n \"sc_everyN_dow\": \"jeden x-ten Tag der Woche\",\n \"sc_everyN_dows\": \"alle N Wochentage\",\n \"sc_everyN_hours\": \"alle N Stunden\",\n \"sc_everyN_minutes\": \"alle N Minuten\",\n \"sc_everyN_months\": \"alle N Monate\",\n \"sc_everyN_seconds\": \"alle N Sekunden\",\n \"sc_every_dates\": \"jeden Tag\",\n \"sc_every_dow\": \"jeden Tag der Woche\",\n \"sc_every_dows\": \"jeden Tag der Woche\",\n \"sc_every_hours\": \"jede Stunde\",\n \"sc_every_minutes\": \"jede Minute\",\n \"sc_every_months\": \"jeden Monat\",\n \"sc_every_seconds\": \"jede Sekunde\",\n \"sc_from\": \"Von\",\n \"sc_hours\": \"Stunden\",\n \"sc_interval\": \"Intervall\",\n \"sc_intervalBetween\": \"Intervall zwischen\",\n \"sc_invalid_cron\": \"Ung\u00FCltiger CRON\",\n \"sc_minutes\": \"Minuten\",\n \"sc_months\": \"Monate\",\n \"sc_once\": \"Einmal\",\n \"sc_period\": \"Zeitraum\",\n \"sc_seconds\": \"Sekunden\",\n \"sc_simple\": \"Einfach\",\n \"sc_specific\": \"Bestimmte Zeit\",\n \"sc_specific_dates\": \"bestimmte Tage\",\n \"sc_specific_dow\": \"bestimmte(r) Tag(e) der Woche\",\n \"sc_specific_dows\": \"bestimmten Wochentag\",\n \"sc_specific_hours\": \"bestimmte Stunden\",\n \"sc_specific_minutes\": \"bestimmte Minuten\",\n \"sc_specific_months\": \"bestimmte Monate\",\n \"sc_specific_seconds\": \"bestimmte Sekunden\",\n \"sc_time\": \"Zeit\",\n \"sc_to\": \"Bis\",\n \"sc_wizard\": \"Wizard\",\n \"sch_all\": \"alle\",\n \"sch_astroDay\": \"Astronomischer Tag\",\n \"sch_astroNight\": \"Astronomische Nacht\",\n \"sch_astro_dawn\": \"Morgend\u00E4mmerung\",\n \"sch_astro_dusk\": \"Abendd\u00E4mmerung\",\n \"sch_astro_goldenHour\": \"Goldene Stunde\",\n \"sch_astro_goldenHourEnd\": \"Goldene Stundenende\",\n \"sch_astro_nadir\": \"Nadir\",\n \"sch_astro_nauticalDawn\": \"Nautische Morgend\u00E4mmerung\",\n \"sch_astro_nauticalDusk\": \"Nautische Abendd\u00E4mmerung\",\n \"sch_astro_night\": \"Nacht\",\n \"sch_astro_nightEnd\": \"Nachtende\",\n \"sch_astro_solarNoon\": \"Sonnenmittag\",\n \"sch_astro_sunrise\": \"Sonnenaufgang\",\n \"sch_astro_sunriseEnd\": \"Sonnenaufgangende\",\n \"sch_astro_sunset\": \"Sonnenuntergang\",\n \"sch_astro_sunsetStart\": \"Sonnenuntergangstart\",\n \"sch_at\": \"am\",\n \"sch_desc_atTime\": \"um %s\",\n \"sch_desc_everyDay\": \"jeden Tag\",\n \"sch_desc_everyHour\": \"jede Stunde\",\n \"sch_desc_everyMinute\": \"jede Minute\",\n \"sch_desc_everyMonth\": \"jeden Monat\",\n \"sch_desc_everyNDay\": \"jeden %s Tag\",\n \"sch_desc_everyNHours\": \"alle %s Stunden\",\n \"sch_desc_everyNMinutes\": \"alle %s Minuten\",\n \"sch_desc_everyNMonths\": \"alle %s Monate\",\n \"sch_desc_everyNWeeks\": \"alle %s Wochen\",\n \"sch_desc_everyNYears\": \"alle %s Jahre\",\n \"sch_desc_everyWeek\": \"jede Woche\",\n \"sch_desc_everyYear\": \"jedes Jahr\",\n \"sch_desc_intervalFromTo\": \"von %s bis %s\",\n \"sch_desc_never\": \"noch nie\",\n \"sch_desc_onDate\": \"am %s von %s\",\n \"sch_desc_onDates\": \"am %s und %s von\",\n \"sch_desc_onEveryDate\": \"an jedem Datum von\",\n \"sch_desc_onMonth\": \"%s\",\n \"sch_desc_onMonths\": \"%s und %s\",\n \"sch_desc_onWeekday\": \"auf %s\",\n \"sch_desc_onWeekdays\": \"auf %s und %s\",\n \"sch_desc_onWeekends\": \"an Wochenenden\",\n \"sch_desc_onWorkdays\": \"an Werktagen\",\n \"sch_desc_onceInPast\": \"wird nicht mehr ausgef\u00FChrt, weil der Start in der Vergangenheit ist\",\n \"sch_desc_once_on\": \"auf %s\",\n \"sch_desc_validFrom\": \"von %s\",\n \"sch_desc_validFromTo\": \"Ausf\u00FChren von bis\",\n \"sch_desc_validTo\": \"bis %s\",\n \"sch_every\": \"jeden\",\n \"sch_exactTime\": \"Bestimmte Zeit\",\n \"sch_from\": \"von\",\n \"sch_fromTo\": \"Von bis\",\n \"sch_intervalTime\": \"Zeitintervall\",\n \"sch_invert\": \"umkehren\",\n \"sch_no_one\": \"keiner\",\n \"sch_on\": \"am\",\n \"sch_period\": \"Zeitraum\",\n \"sch_periodDaily\": \"T\u00E4glich\",\n \"sch_periodDates\": \"Daten\",\n \"sch_periodDay\": \"Tag\",\n \"sch_periodEvery\": \"Jeden\",\n \"sch_periodEveryDay\": \"Jeden Tag\",\n \"sch_periodEveryMonth\": \"Jeden Monat\",\n \"sch_periodEveryWeek\": \"Jede Woche\",\n \"sch_periodEveryYear\": \"Jedes Jahr\",\n \"sch_periodHours\": \"Stunden\",\n \"sch_periodMinutes\": \"Minuten\",\n \"sch_periodMonth\": \"Monat\",\n \"sch_periodMonthly\": \"Monatlich\",\n \"sch_periodOnce\": \"Einmal\",\n \"sch_periodSpecificMonths\": \"Bestimmte Monate\",\n \"sch_periodWeek\": \"Woche\",\n \"sch_periodWeekdays\": \"Wochentage\",\n \"sch_periodWeekend\": \"Wochenende\",\n \"sch_periodWeekly\": \"W\u00F6chentlich\",\n \"sch_periodWorkdays\": \"Arbeitstage\",\n \"sch_periodYear\": \"Jahr\",\n \"sch_periodYearly\": \"J\u00E4hrlich\",\n \"sch_specificTime\": \"Bestimmte Zeit\",\n \"sch_time\": \"Zeit\",\n \"sch_to\": \"zu\",\n \"sch_valid\": \"G\u00FCltigkeit\",\n \"sch_validFrom\": \"von\",\n \"sch_validTo\": \"bis\",\n \"sch_wholeDay\": \"Ganzer Tag\",\n \"sch_yearEveryMonth\": \"jeden Monat\"\n}\n", "{\n \"ra_%s links from aliases\": \"%s \u0441\u0441\u044B\u043B\u043E\u043A \u0438\u0437 \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0438\u043C\u043E\u0432\",\n \"ra_%s object(s) processed\": \"\u041E\u0431\u044A\u0435\u043A\u0442\u043E\u0432 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u0430\u043D\u043E: %s\",\n \"ra_%s was imported\": \"%s \u0431\u044B\u043B \u0438\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\",\n \"ra_Accept license\": \"\u041F\u0440\u0438\u043D\u044F\u0442\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E\",\n \"ra_Add new child object to selected parent\": \"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 \u0434\u043E\u0447\u0435\u0440\u043D\u0438\u0439 \u043E\u0431\u044A\u0435\u043A\u0442 \u043A \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u043C\u0443 \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u043C\u0443 \u043E\u0431\u044A\u0435\u043A\u0442\u0443\",\n \"ra_Add objects tree from JSON file\": \"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0434\u0435\u0440\u0435\u0432\u043E \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432 \u0438\u0437 \u0444\u0430\u0439\u043B\u0430 JSON\",\n \"ra_Add row\": \"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0440\u044F\u0434\",\n \"ra_Advanced options\": \"\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438\",\n \"ra_All items are filtered out\": \"\u0412\u0441\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u043E\u0442\u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u043D\u044B\",\n \"ra_All objects\": \"\u0412\u0441\u0435 \u043E\u0431\u044A\u0435\u043A\u0442\u044B\",\n \"ra_Append\": \"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C\",\n \"ra_Append %s entries or replace existing?\": \"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0437\u0430\u043F\u0438\u0441\u0438 %s \u0438\u043B\u0438 \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0435?\",\n \"ra_Append or replace?\": \"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0438\u043B\u0438 \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C?\",\n \"ra_Are you sure?\": \"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B?\",\n \"ra_Auto (no custom columns)\": \"\u0410\u0432\u0442\u043E (\u0431\u0435\u0437 \u043D\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043C\u044B\u0445 \u0441\u0442\u043E\u043B\u0431\u0446\u043E\u0432)\",\n \"ra_Back to %s\": \"\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043A %s\",\n \"ra_Background image\": \"\u0424\u043E\u043D\u043E\u0432\u0430\u044F \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430\",\n \"ra_Cancel\": \"\u041E\u0442\u043C\u0435\u043D\u0430\",\n \"ra_Cannot add items with set filter\": \"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B \u0441 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044B\u043C \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u043C\",\n \"ra_Cannot decode license\": \"\u041D\u0435 \u043C\u043E\u0433\u0443 \u0434\u0435\u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E\",\n \"ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser\": \"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u043C\u0435\u0441\u0442\u043E\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435: \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043F\u0443\u0441\u0442\u044B, \u0430 \u043E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u0438\u0435 GPS \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u043E \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435.\",\n \"ra_Cannot find \\\"%s\\\"\": \"\u041D\u0435 \u043C\u043E\u0433\u0443 \u043D\u0430\u0439\u0442\u0438 \\\"%s\\\"\",\n \"ra_Cannot read \\\"%s\\\"\": \"\u041D\u0435 \u043C\u043E\u0433\u0443 \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \\\"%s\\\"\",\n \"ra_Cannot read licenses: %s\": \"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438: %s\",\n \"ra_Cannot retrieve options, as instance is offline\": \"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B, \u0442\u0430\u043A \u043A\u0430\u043A \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u043D\u0430\u0445\u043E\u0434\u0438\u0442\u0441\u044F \u0432 \u0430\u0432\u0442\u043E\u043D\u043E\u043C\u043D\u043E\u043C \u0440\u0435\u0436\u0438\u043C\u0435.\",\n \"ra_Cannot update attribute, because not found in the object\": \"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0430\u0442\u0440\u0438\u0431\u0443\u0442, \u043F\u043E\u0442\u043E\u043C\u0443 \u0447\u0442\u043E \u043E\u043D \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u0432 \u043E\u0431\u044A\u0435\u043A\u0442\u0435\",\n \"ra_Cannot upload\": \"\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C\",\n \"ra_Categories\": \"\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438\",\n \"ra_Chained certificate\": \"Chained \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442\",\n \"ra_Change color theme\": \"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0446\u0432\u0435\u0442\u043E\u0432\u0443\u044E \u0442\u0435\u043C\u0443\",\n \"ra_Changed from\": \"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u043E\",\n \"ra_Channel \u2192 State\": \"\u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_Check license\": \"\u041F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E\",\n \"ra_Checked\": \"\u041F\u0440\u043E\u0432\u0435\u0440\u0435\u043D\u043E\",\n \"ra_Clear\": \"\u0423\u0434\u0430\u043B\u0438\u0442\u044C\",\n \"ra_Clear filter\": \"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440\",\n \"ra_Clear icon\": \"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u043E\u043A\",\n \"ra_Clone current row\": \"\u041A\u043B\u043E\u043D\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443\",\n \"ra_Close\": \"\u0417\u0430\u043A\u0440\u044B\u0442\u044C\",\n \"ra_Collapse all nodes\": \"\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435 \u0443\u0437\u043B\u044B\",\n \"ra_Collapse one step node\": \"\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u043E\u0434\u0438\u043D \u0443\u0440\u043E\u0432\u0435\u043D\u044C\",\n \"ra_Commercial\": \"\u041A\u043E\u043C\u043C\u0435\u0440\u0447\u0435\u0441\u043A\u0430\u044F\",\n \"ra_Configure\": \"\u041D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C\",\n \"ra_Configure visible columns\": \"\u041D\u0430\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u0432\u0438\u0434\u0438\u043C\u044B\u0435 \u0441\u0442\u043E\u043B\u0431\u0446\u044B\",\n \"ra_Confirm deletion of %s\": \"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435 %s\",\n \"ra_Connected\": \"\u0421\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E\",\n \"ra_Copied\": \"\u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u043E\",\n \"ra_Copied %s\": \"\u0421\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u043E \\\"%s\\\"\",\n \"ra_Copy content\": \"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u043C\u043E\u0435\",\n \"ra_Create\": \"\u0421\u043E\u0437\u0434\u0430\u0442\u044C\",\n \"ra_Create alias\": \"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0438\u043C\",\n \"ra_Create folder\": \"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0443\",\n \"ra_Create new folder in %s\": \"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u043E\u0432\u0443\u044E \u043F\u0430\u043F\u043A\u0443 \u0432 %s\",\n \"ra_Crop\": \"\u041E\u0431\u0440\u0435\u0437\u0430\u0442\u044C\",\n \"ra_Define CRON...\": \"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u0435 CRON...\",\n \"ra_Define functions\": \"\u0417\u0430\u0434\u0430\u0442\u044C \u0444\u0443\u043D\u043A\u0446\u0438\u0438\",\n \"ra_Define rooms\": \"\u0417\u0430\u0434\u0430\u0442\u044C \u043A\u043E\u043C\u043D\u0430\u0442\u044B\",\n \"ra_Define schedule\": \"\u0417\u0430\u0434\u0430\u0442\u044C \u0440\u0430\u0441\u043F\u0438\u0441\u0430\u043D\u0438\u0435\",\n \"ra_Define schedule...\": \"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u0440\u0430\u0441\u043F\u0438\u0441\u0430\u043D\u0438\u0435 ...\",\n \"ra_Del\": \"Delete\",\n \"ra_Delete\": \"\u0423\u0434\u0430\u043B\u0438\u0442\u044C\",\n \"ra_Delete (no confirm for 5 mins)\": \"\u0423\u0434\u0430\u043B\u0438\u0442\u044C (\u0431\u0435\u0437 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0432 \u0442\u0435\u0447\u0435\u043D\u0438\u0435 5 \u043C\u0438\u043D\u0443\u0442)\",\n \"ra_Delete current row\": \"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443\",\n \"ra_Deselect all\": \"\u0423\u0431\u0440\u0430\u0442\u044C \u0432\u044B\u0431\u043E\u0440 \u0432\u0435\u0437\u0434\u0435\",\n \"ra_Device \u2192 Channel \u2192 State\": \"\u0423\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_Discard\": \"\u041E\u0442\u043A\u0430\u0437\u0430\u0442\u044C\u0441\u044F\",\n \"ra_Disconnected\": \"\u041E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u043E\",\n \"ra_Do not export values of states\": \"\u041D\u0435 \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0439\",\n \"ra_Do not use let's encrypt\": \"\u041D\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C Let\u2019s Encrypt\",\n \"ra_Double click to reset table layout\": \"\u0414\u0432\u0430\u0436\u0434\u044B \u0449\u0435\u043B\u043A\u043D\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0441\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u043C\u0430\u043A\u0435\u0442 \u0442\u0430\u0431\u043B\u0438\u0446\u044B\",\n \"ra_Drag 'n' drop some files here, or click to select files\": \"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0441\u044E\u0434\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0444\u0430\u0439\u043B\u043E\u0432 \u0438\u043B\u0438 \u0449\u0435\u043B\u043A\u043D\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B\",\n \"ra_Drop file here\": \"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0444\u0430\u0439\u043B \u0441\u044E\u0434\u0430\",\n \"ra_Drop the files here...\": \"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0444\u0430\u0439\u043B \u0441\u044E\u0434\u0430 ...\",\n \"ra_Duplicate name\": \"\u041F\u043E\u0432\u0442\u043E\u0440\u044F\u044E\u0449\u0435\u0435\u0441\u044F \u0438\u043C\u044F\",\n \"ra_Edit ACL\": \"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C ACL-\u0441\u043F\u0438\u0441\u043E\u043A\",\n \"ra_Edit alias\": \"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0438\u043C\",\n \"ra_Edit custom config\": \"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043C\u0443\u044E \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E\",\n \"ra_Edit function\": \"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0444\u0443\u043D\u043A\u0446\u0438\u044E\",\n \"ra_Edit object field\": \"\u041F\u043E\u043B\u0435 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u043E\u0431\u044A\u0435\u043A\u0442\u0430\",\n \"ra_Edit role\": \"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0440\u043E\u043B\u044C\",\n \"ra_Edit room\": \"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043A\u043E\u043C\u043D\u0430\u0442\u0443\",\n \"ra_Edit value\": \"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\",\n \"ra_Error\": \"\u041E\u0448\u0438\u0431\u043A\u0430\",\n \"ra_Expand all nodes\": \"\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435 \u0443\u0437\u043B\u044B\",\n \"ra_Expand one step node\": \"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043E\u0434\u0438\u043D \u0443\u0440\u043E\u0432\u0435\u043D\u044C\",\n \"ra_Export data to %s file\": \"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0434\u0430\u043D\u043D\u044B\u0445 \u0432 \u0444\u0430\u0439\u043B %s\",\n \"ra_Failed to open JSON File\": \"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0444\u0430\u0439\u043B JSON\",\n \"ra_Fallback custom certificates\": \"\u0420\u0435\u0437\u0435\u0440\u0432\u043D\u044B\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u044B\",\n \"ra_File is too big. Max %sk allowed. Try use SVG.\": \"\u0424\u0430\u0439\u043B \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0439. \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u043E \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E %sk. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C SVG.\",\n \"ra_Filter\": \"\u0424\u0438\u043B\u044C\u0442\u0440\",\n \"ra_Filter files\": \"\u0424\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B\",\n \"ra_Folder name\": \"\u0418\u043C\u044F \u043F\u0430\u043F\u043A\u0438\",\n \"ra_Folder \u2192 Channel \u2192 State\": \"\u041F\u0430\u043F\u043A\u0430 \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_Folder \u2192 Device \u2192 Channel \u2192 State\": \"\u041F\u0430\u043F\u043A\u0430 \u2192 \u0423\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_Folder \u2192 State\": \"\u041F\u0430\u043F\u043A\u0430 \u2192 \u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_Folders always first\": \"\u041F\u0430\u043F\u043A\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u043D\u0430 \u043F\u0435\u0440\u0432\u043E\u043C \u043C\u0435\u0441\u0442\u0435\",\n \"ra_Friday\": \"\u041F\u044F\u0442\u043D\u0438\u0446\u0430\",\n \"ra_Good luck\": \"\u0423\u0434\u0430\u0447\u0438\",\n \"ra_Hide empty folders\": \"\u0421\u043A\u0440\u044B\u0442\u044C \u043F\u0443\u0441\u0442\u044B\u0435 \u043F\u0430\u043F\u043A\u0438\",\n \"ra_If no file will be created in the folder, it will disappear after the browser closed\": \"\u0415\u0441\u043B\u0438 \u0432 \u043F\u0430\u043F\u043A\u0435 \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u043E\u0437\u0434\u0430\u043D \u0444\u0430\u0439\u043B, \u043E\u043D \u0438\u0441\u0447\u0435\u0437\u043D\u0435\u0442 \u043F\u043E\u0441\u043B\u0435 \u0437\u0430\u043A\u0440\u044B\u0442\u0438\u044F \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430.\",\n \"ra_Import data from %s file\": \"\u0418\u043C\u043F\u043E\u0440\u0442 \u0434\u0430\u043D\u043D\u044B\u0445 \u0438\u0437 \u0444\u0430\u0439\u043B\u0430 %s\",\n \"ra_Import from %s\": \"\u0418\u043C\u043F\u043E\u0440\u0442 \u0438\u0437 %s\",\n \"ra_Instance %s is alive\": \"\u042D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 %s \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442\",\n \"ra_Instance %s is not alive\": \"\u042D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 %s \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442\",\n \"ra_Instance is not alive\": \"\u042D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u043D\u0435 \u0436\u0438\u0432\u043E\u0439\",\n \"ra_Invalid CRON\": \"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 CRON\",\n \"ra_Invalid JSON\": \"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 JSON\",\n \"ra_Invalid answer from server\": \"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043E\u0442\u0432\u0435\u0442 \u043E\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\",\n \"ra_Invalid parent folder!\": \"\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u0430\u044F \u043F\u0430\u043F\u043A\u0430!\",\n \"ra_Invalid structure\": \"\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0430\",\n \"ra_JSON editor\": \"\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 JSON\",\n \"ra_Last change\": \"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435\",\n \"ra_Latitude\": \"\u0428\u0438\u0440\u043E\u0442\u0430\",\n \"ra_License %s\": \"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F %s\",\n \"ra_License agreement\": \"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u043E\u043D\u043D\u043E\u0435 \u0441\u043E\u0433\u043B\u0430\u0448\u0435\u043D\u0438\u0435\",\n \"ra_License does not exist\": \"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442\",\n \"ra_License expired on %s\": \"\u0421\u0440\u043E\u043A \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438 \u0438\u0441\u0442\u0435\u043A %s\",\n \"ra_License for other product \\\"%s\\\"\": \"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043D\u0430 \u0434\u0440\u0443\u0433\u043E\u0439 \u043F\u0440\u043E\u0434\u0443\u043A\u0442 \\\"%s\\\"\",\n \"ra_License is for version %s, but required version is %s.\": \"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043F\u0440\u0435\u0434\u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0430 \u0434\u043B\u044F \u0432\u0435\u0440\u0441\u0438\u0438 %s, \u043D\u043E \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u0430 \u0432\u0435\u0440\u0441\u0438\u044F %s.\",\n \"ra_License must be converted\": \"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u0434\u043E\u043B\u0436\u043D\u0430 \u0431\u044B\u0442\u044C \u043F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u043E\u0432\u0430\u043D\u0430 \u0432 \u0431\u043E\u043B\u0435\u0435 \u043D\u043E\u0432\u0443\u044E \u0432\u0435\u0440\u0441\u0438\u044E. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u044D\u0442\u043E \u0432 \u0441\u0432\u043E\u0435\u043C \u043F\u0440\u043E\u0444\u0438\u043B\u0435 \u043D\u0430 iobroker.net.\",\n \"ra_License not found in license manager. Do you want to read licenses from iobroker.net?\": \"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u0432 \u0434\u0438\u0441\u043F\u0435\u0442\u0447\u0435\u0440\u0435 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0439. \u0412\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438 \u043E\u0442 iobroker.net?\",\n \"ra_Listen on all IPs\": \"\u0421\u043B\u0443\u0448\u0430\u0442\u044C \u043D\u0430 \u0432\u0441\u0435\u0445 IP\",\n \"ra_Load configuration from file\": \"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E \u0438\u0437 \u0444\u0430\u0439\u043B\u0430\",\n \"ra_Longitude\": \"\u0414\u043E\u043B\u0433\u043E\u0442\u0430\",\n \"ra_May not trigger \\\"updateLicenses\\\"\": \"\u041D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u043F\u0443\u0441\u043A\u0430\u0442\u044C \u00ABupdateLicenses\u00BB\",\n \"ra_Message\": \"\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435\",\n \"ra_Monday\": \"\u041F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A\",\n \"ra_Move down\": \"\u0412\u043D\u0438\u0437\",\n \"ra_Move up\": \"\u0412\u0432\u0435\u0440\u0445\",\n \"ra_Name\": \"\u0418\u043C\u044F\",\n \"ra_No data found in file\": \"\u0414\u0430\u043D\u043D\u044B\u0435 \u0432 \u0444\u0430\u0439\u043B\u0435 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B\",\n \"ra_No one license found in license manager\": \"\u0412 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u0435 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0439 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u043D\u0438 \u043E\u0434\u043D\u0430 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044F\",\n \"ra_No response from the backend\": \"\u041D\u0435\u0442 \u043E\u0442\u0432\u0435\u0442\u0430 \u043E\u0442 \u0431\u044D\u043A\u044D\u043D\u0434\u0430\",\n \"ra_Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\": \"\u041D\u0435-\u044D\u043A\u0441\u043F\u0435\u0440\u0442\u044B \u043C\u043E\u0433\u0443\u0442 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043D\u043E\u0432\u044B\u0435 \u043E\u0431\u044A\u0435\u043A\u0442\u044B \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u00AB0_userdata.0\u00BB \u0438\u043B\u0438 \u00ABalias.0\u00BB.\",\n \"ra_Not a number\": \"\u041D\u0435 \u0447\u0438\u0441\u043B\u043E\",\n \"ra_Objects\": \"\u041E\u0431\u044A\u0435\u043A\u0442\u044B\",\n \"ra_Ok\": \"Ok\",\n \"ra_On weekdays\": \"\u041D\u0430 \u0432\u044B\u0445\u043E\u0434\u043D\u044B\u0445\",\n \"ra_Only following structures of objects are available:\": \"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B \u0442\u043E\u043B\u044C\u043A\u043E \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u044B \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432:\",\n \"ra_Only selected\": \"\u0422\u043E\u043B\u044C\u043A\u043E \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435\",\n \"ra_Owner group\": \"\u0413\u0440\u0443\u043F\u043F\u0430 \u0432\u043B\u0430\u0434\u0435\u043B\u044C\u0446\u0435\u0432\",\n \"ra_Owner user\": \"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C-\u0432\u043B\u0430\u0434\u0435\u043B\u0435\u0446\",\n \"ra_Passwords are not equal!\": \"\u041F\u0430\u0440\u043E\u043B\u0438 \u043D\u0435 \u0440\u0430\u0432\u043D\u044B!\",\n \"ra_Place your files here or click here to open the browse dialog\": \"\u041F\u043E\u043C\u0435\u0441\u0442\u0438\u0442\u0435 \u0441\u0432\u043E\u0438 \u0444\u0430\u0439\u043B\u044B \u0441\u044E\u0434\u0430 \u0438\u043B\u0438 \u0449\u0435\u043B\u043A\u043D\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044C, \u0447\u0442\u043E\u0431\u044B \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0434\u0438\u0430\u043B\u043E\u0433\u043E\u0432\u043E\u0435 \u043E\u043A\u043D\u043E \u0432\u044B\u0431\u043E\u0440\u0430\",\n \"ra_Please confirm\": \"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435\",\n \"ra_Please create license\": \"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0441\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E\",\n \"ra_Please enter the license\": \"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E\",\n \"ra_Please select file...\": \"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043B...\",\n \"ra_Please select object ID...\": \"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u043E\u0431\u044A\u0435\u043A\u0442\u0430 ...\",\n \"ra_Port could be used by %s\": \"\u041F\u043E\u0440\u0442 \u043C\u043E\u0436\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F %s\",\n \"ra_Port is already used by %s\": \"\u041F\u043E\u0440\u0442 \u0443\u0436\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F %s\",\n \"ra_Private certificate\": \"\u0427\u0430\u0441\u0442\u043D\u044B\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442\",\n \"ra_Product\": \"\u041F\u0440\u043E\u0434\u0443\u043A\u0442\",\n \"ra_Public certificate\": \"\u041F\u0443\u0431\u043B\u0438\u0447\u043D\u044B\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442\",\n \"ra_Quality code\": \"\u0412\u0430\u043B\u0438\u0434\u043D\u043E\u0441\u0442\u044C\",\n \"ra_Refresh tree\": \"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0434\u0435\u0440\u0435\u0432\u043E\",\n \"ra_Reload files\": \"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C\",\n \"ra_Repeat\": \"\u041F\u043E\u0432\u0442\u043E\u0440\u0435\u043D\u0438\u0435\",\n \"ra_Replace\": \"\u0417\u0430\u043C\u0435\u043D\u044F\u0442\u044C\",\n \"ra_Request timed out\": \"\u0418\u0441\u0442\u0435\u043A\u043B\u043E \u0432\u0440\u0435\u043C\u044F \u0437\u0430\u043F\u0440\u043E\u0441\u0430\",\n \"ra_Restrict to folder\": \"\u041E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0442\u044C \u043F\u0430\u043F\u043A\u043E\u0439\",\n \"ra_Root\": \"\u041D\u0430\u0447\u0430\u043B\u043E\",\n \"ra_Saturday\": \"\u0421\u0443\u0431\u0431\u043E\u0442\u0430\",\n \"ra_Save\": \"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C\",\n \"ra_Save and close\": \"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0438 \u0437\u0430\u043A\u0440\u044B\u0442\u044C\",\n \"ra_Save configuration to file\": \"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E \u0432 \u0444\u0430\u0439\u043B\",\n \"ra_Save objects tree as JSON file\": \"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0434\u0435\u0440\u0435\u0432\u043E \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432 \u043A\u0430\u043A \u0444\u0430\u0439\u043B JSON\",\n \"ra_Select all\": \"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435\",\n \"ra_Select color\": \"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0446\u0432\u0435\u0442\",\n \"ra_Select predefined icon\": \"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u0440\u0435\u0434\u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0439 \u0437\u043D\u0430\u0447\u043E\u043A\",\n \"ra_Select type of export\": \"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0438\u043F \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0430\",\n \"ra_Selected\": \"\u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0439\",\n \"ra_Selected %s object(s)\": \"\u041E\u0431\u044A\u0435\u043A\u0442\u043E\u0432: %s\",\n \"ra_Serial number (UUID)\": \"\u0421\u0435\u0440\u0438\u0439\u043D\u044B\u0439 \u043D\u043E\u043C\u0435\u0440 (UUID)\",\n \"ra_Serial number (UUID) \\\"%s\\\" in license is for other device.\": \"\u0421\u0435\u0440\u0438\u0439\u043D\u044B\u0439 \u043D\u043E\u043C\u0435\u0440 (UUID) \u00AB%s\u00BB \u0432 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438 \u043F\u0440\u0435\u0434\u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D \u0434\u043B\u044F \u0434\u0440\u0443\u0433\u043E\u0433\u043E \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430.\",\n \"ra_Show all folders\": \"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0441\u0435 \u043F\u0430\u043F\u043A\u0438\",\n \"ra_Show lines between rows\": \"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043B\u0438\u043D\u0438\u0438 \u043C\u0435\u0436\u0434\u0443 \u0441\u0442\u0440\u043E\u043A\u0430\u043C\u0438\",\n \"ra_Show/Hide object descriptions\": \"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C/\u0441\u043A\u0440\u044B\u0442\u044C \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u044F \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432\",\n \"ra_Show/hide filter input\": \"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C/\u0441\u043A\u0440\u044B\u0442\u044C \u0432\u0432\u043E\u0434 \u0444\u0438\u043B\u044C\u0442\u0440\u0430\",\n \"ra_Some data are not stored. Discard?\": \"\u041D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 \u043D\u0435 \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0441\u044C. \u041E\u0442\u043A\u0430\u0437\u0430\u0442\u044C\u0441\u044F?\",\n \"ra_States\": \"\u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F\",\n \"ra_Suitable license not found in license manager\": \"\u041F\u043E\u0434\u0445\u043E\u0434\u044F\u0449\u0430\u044F \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u0432 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u0435 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0439\",\n \"ra_Sunday\": \"\u0412\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435\",\n \"ra_Suppress question for next %s minutes\": \"\u0421\u043A\u0440\u044B\u0442\u044C \u0432\u043E\u043F\u0440\u043E\u0441 \u043D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 %s \u043C\u0438\u043D\u0443\u0442(\u044B)\",\n \"ra_System language\": \"\u042F\u0437\u044B\u043A \u0441\u0438\u0441\u0442\u0435\u043C\u044B\",\n \"ra_Take browser position\": \"\u0412\u0437\u044F\u0442\u044C \u043F\u043E\u0437\u0438\u0446\u0438\u044E \u0438\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\",\n \"ra_Take position from system settings\": \"\u0417\u0430\u043D\u044F\u0442\u044C \u043F\u043E\u0437\u0438\u0446\u0438\u044E \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u044B\u0445 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043A\",\n \"ra_The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\": \"\u042D\u043A\u0441\u043F\u0435\u0440\u0442\u044B \u043C\u043E\u0433\u0443\u0442 \u0441\u043E\u0437\u0434\u0430\u0432\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442\u044B \u0432\u0435\u0437\u0434\u0435, \u043A\u0440\u043E\u043C\u0435 \u0432\u0442\u043E\u0440\u043E\u0433\u043E \u0443\u0440\u043E\u0432\u043D\u044F (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u00ABvis.0\u00BB \u0438\u043B\u0438 \u00ABjavascript.0\u00BB).\",\n \"ra_The page you are looking for was not found\": \"\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430, \u043A\u043E\u0442\u043E\u0440\u0443\u044E \u0432\u044B \u0438\u0449\u0435\u0442\u0435, \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430\",\n \"ra_The schedule will be executed every minute. Are you sure?\": \"\u0420\u0430\u0441\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0442\u044C\u0441\u044F \u043A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443. \u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B?\",\n \"ra_The schedule will be executed every second. Are you sure?\": \"\u0420\u0430\u0441\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0442\u044C\u0441\u044F \u043A\u0430\u0436\u0434\u0443\u044E \u0441\u0435\u043A\u0443\u043D\u0434\u0443. \u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B?\",\n \"ra_Thursday\": \"\u0427\u0435\u0442\u0432\u0435\u0440\u0433\",\n \"ra_Timestamp\": \"\u0412\u0440\u0435\u043C\u0435\u043D\u0438\",\n \"ra_Toggle expert mode\": \"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u044D\u043A\u0441\u043F\u0435\u0440\u0442\u043D\u044B\u0439 \u0440\u0435\u0436\u0438\u043C\",\n \"ra_Toggle the states view\": \"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0440\u0435\u0436\u0438\u043C \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0439\",\n \"ra_Toggle view mode\": \"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0440\u0435\u0436\u0438\u043C \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430\",\n \"ra_Too big\": \"\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435\",\n \"ra_Too small\": \"\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435\",\n \"ra_Transparent dialog\": \"\u041F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u0439 \u0434\u0438\u0430\u043B\u043E\u0433\",\n \"ra_Tuesday\": \"\u0412\u0442\u043E\u0440\u043D\u0438\u043A\",\n \"ra_Unknown error\": \"\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430\",\n \"ra_Unknown error!\": \"\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u0430\u044F \u043E\u0448\u0438\u0431\u043A\u0430!\",\n \"ra_Update\": \"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C\",\n \"ra_Upload file\": \"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0444\u0430\u0439\u043B\",\n \"ra_Use all available let's encrypt certificates\": \"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u044B Let\u2019s encrypt\",\n \"ra_Use iobroker.acme adapter for letsencrypt certificates\": \"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0430\u0434\u0430\u043F\u0442\u0435\u0440 iobroker.acme \u0434\u043B\u044F \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0432 letsencrypt\",\n \"ra_Use system settings for position\": \"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0434\u043B\u044F \u043F\u043E\u0437\u0438\u0446\u0438\u0438\",\n \"ra_Used system settings\": \"\u0421\u0438\u0441\u0442\u0435\u043C\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438\",\n \"ra_User files\": \"\u0424\u0430\u0439\u043B\u044B \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F\",\n \"ra_ValidTill\": \"\u0413\u043E\u0434\u0435\u043D \u0434\u043E\",\n \"ra_Value\": \"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435\",\n \"ra_Version\": \"\u0412\u0435\u0440\u0441\u0438\u044F\",\n \"ra_View file\": \"\u041F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u0444\u0430\u0439\u043B\",\n \"ra_View: %s\": \"\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440: %s\",\n \"ra_Wednesday\": \"\u0421\u0440\u0435\u0434\u0430\",\n \"ra_Width\": \"\u0428\u0438\u0440\u0438\u043D\u0430\",\n \"ra_Yes\": \"\u0414\u0430\",\n \"ra_You can export all objects or just the selected branch.\": \"\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u043E\u0431\u044A\u0435\u043A\u0442\u044B \u0438\u043B\u0438 \u0442\u043E\u043B\u044C\u043A\u043E \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u0443\u044E \u0432\u0435\u0442\u0432\u044C.\",\n \"ra_You can filter entries by entering here some text\": \"\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043E\u0442\u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u0442\u044C \u0437\u0430\u043F\u0438\u0441\u0438, \u0432\u0432\u0435\u0434\u044F \u0437\u0434\u0435\u0441\u044C \u0442\u0435\u043A\u0441\u0442\",\n \"ra___different__\": \"\u0440\u0430\u0437\u043D\u043E\u0435\",\n \"ra_aclEveryone_read_object\": \"\u041A\u0430\u0436\u0434\u044B\u0439 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442\",\n \"ra_aclEveryone_read_state\": \"\u041A\u0430\u0436\u0434\u044B\u0439 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_aclEveryone_write_object\": \"\u041A\u0430\u0436\u0434\u044B\u0439 \u043C\u043E\u0436\u0435\u0442 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442\",\n \"ra_aclEveryone_write_state\": \"\u041A\u0430\u0436\u0434\u044B\u0439 \u043C\u043E\u0436\u0435\u0442 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_aclGroup_read_object\": \"\u0413\u0440\u0443\u043F\u043F\u0430 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442\",\n \"ra_aclGroup_read_state\": \"\u0413\u0440\u0443\u043F\u043F\u0430 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_aclGroup_write_object\": \"\u0413\u0440\u0443\u043F\u043F\u0430 \u043C\u043E\u0436\u0435\u0442 \u043F\u0438\u0441\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442\",\n \"ra_aclGroup_write_state\": \"\u0413\u0440\u0443\u043F\u043F\u0430 \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_aclOwner_read_object\": \"\u0412\u043B\u0430\u0434\u0435\u043B\u0435\u0446 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442\",\n \"ra_aclOwner_read_state\": \"\u0412\u043B\u0430\u0434\u0435\u043B\u0435\u0446 \u043C\u043E\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_aclOwner_write_object\": \"\u0412\u043B\u0430\u0434\u0435\u043B\u0435\u0446 \u043C\u043E\u0436\u0435\u0442 \u043F\u0438\u0441\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442\",\n \"ra_aclOwner_write_state\": \"\u0412\u043B\u0430\u0434\u0435\u043B\u0435\u0446 \u043C\u043E\u0436\u0435\u0442 \u043F\u0438\u0441\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_buttons\": \"\u041A\u043D\u043E\u043F\u043A\u0438\",\n \"ra_changedFrom\": \"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u043E \u0441\",\n \"ra_close\": \"\u0417\u0430\u043A\u0440\u044B\u0442\u044C\",\n \"ra_create_boolean_state\": \"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043B\u043E\u0433\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_create_channel\": \"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043A\u0430\u043D\u0430\u043B\",\n \"ra_create_device\": \"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E\",\n \"ra_create_number_state\": \"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u043D\u043E\u043C\u0435\u0440\u0430\",\n \"ra_create_state\": \"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_create_string_state\": \"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u0441\u0442\u0440\u043E\u043A\u0438\",\n \"ra_daysShortText\": \"\u0434.\",\n \"ra_dow_Fr\": \"\u041F\u0442\",\n \"ra_dow_Mo\": \"\u041F\u043D\",\n \"ra_dow_Sa\": \"\u0421\u0431\",\n \"ra_dow_Su\": \"\u0412\u0441\",\n \"ra_dow_Th\": \"\u0427\u0442\",\n \"ra_dow_Tu\": \"\u0412\u0442\",\n \"ra_dow_We\": \"\u0421\u0440\",\n \"ra_expertMode\": \"\u042D\u043A\u0441\u043F\u0435\u0440\u0442\u043D\u044B\u0439 \u0440\u0435\u0436\u0438\u043C\",\n \"ra_fileType_all\": \"\u0412\u0441\u0435 \u0444\u0430\u0439\u043B\u044B\",\n \"ra_fileType_audio\": \"\u0410\u0443\u0434\u0438\u043E\",\n \"ra_fileType_code\": \"\u041A\u043E\u0434/JSON\",\n \"ra_fileType_images\": \"\u041A\u0430\u0440\u0442\u0438\u043D\u043A\u0438\",\n \"ra_fileType_txt\": \"\u0422\u0435\u043A\u0441\u0442\",\n \"ra_fileType_video\": \"\u0432\u0438\u0434\u0435\u043E\",\n \"ra_fileType_video,\": \"\u0432\u0438\u0434\u0435\u043E\",\n \"ra_filter_customs\": \"\u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438\",\n \"ra_filter_customs_without\": \"\u0431\u0435\u0437\",\n \"ra_filter_func\": \"\u0444\u0443\u043D\u043A\u0446\u0438\u044F\",\n \"ra_filter_id\": \"ID\",\n \"ra_filter_name\": \"\u0418\u043C\u044F\",\n \"ra_filter_role\": \"\u0440\u043E\u043B\u044C\",\n \"ra_filter_room\": \"\u043A\u043E\u043C\u043D\u0430\u0442\u0430\",\n \"ra_filter_type\": \"\u0422\u0438\u043F\",\n \"ra_import data from %s file\": \"\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435 \u0438\u0437 \u0444\u0430\u0439\u043B\u0430 %s\",\n \"ra_invalidConfig\": \"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438\",\n \"ra_lastChange\": \"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435\",\n \"ra_locally\": \"\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E\",\n \"ra_month_Apr\": \"\u0410\u043F\u0440\",\n \"ra_month_Aug\": \"\u0410\u0432\u0433\",\n \"ra_month_Dec\": \"\u0414\u0435\u043A\",\n \"ra_month_Feb\": \"\u0424\u0435\u0432\",\n \"ra_month_Jan\": \"\u042F\u043D\u0432\",\n \"ra_month_Jul\": \"\u0418\u044E\u043B\",\n \"ra_month_Jun\": \"\u0418\u044E\u043D\",\n \"ra_month_Mai\": \"\u041C\u0430\u0439\",\n \"ra_month_Mar\": \"\u041C\u0440\u0442\",\n \"ra_month_Nov\": \"\u041D\u043E\u044F\",\n \"ra_month_Oct\": \"\u041E\u043A\u0442\",\n \"ra_month_Sep\": \"\u0421\u0435\u043D\",\n \"ra_months_Apr\": \"\u0410\u043F\u0440\",\n \"ra_months_Aug\": \"\u0410\u0432\u0433\",\n \"ra_months_Dec\": \"\u0414\u0435\u043A\",\n \"ra_months_Feb\": \"\u0424\u0435\u0432\",\n \"ra_months_Jan\": \"\u042F\u043D\u0432\",\n \"ra_months_Jul\": \"\u0418\u044E\u043D\u044C\",\n \"ra_months_Jun\": \"\u0418\u044E\u043B\u044C\",\n \"ra_months_Mai\": \"\u041C\u0430\u0439\",\n \"ra_months_Mar\": \"\u041C\u0430\u0440\u0442\",\n \"ra_months_Nov\": \"\u041D\u043E\u044F\",\n \"ra_months_Oct\": \"\u041E\u043A\u0442\",\n \"ra_months_Sep\": \"\u0421\u0435\u043D\",\n \"ra_none\": \"\u043D\u0438\u0447\u0435\u0433\u043E\",\n \"ra_object_changed_by\": \"\u041E\u0431\u044A\u0435\u043A\u0442 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\",\n \"ra_object_changed_by_user\": \"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u0440\u0430\u0437 \u043E\u0431\u044A\u0435\u043A\u0442 \u0438\u0437\u043C\u0435\u043D\u0435\u043D \u0432\",\n \"ra_otherConfig\": \"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0438\u0437 \u0434\u0440\u0443\u0433\u043E\u0433\u043E \u0430\u0434\u0430\u043F\u0442\u0435\u0440\u0430 %s\",\n \"ra_qualityCode\": \"\u041A\u043E\u0434 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0430\",\n \"ra_repeat\": \"\u043F\u043E\u0432\u0442\u043E\u0440\",\n \"ra_select_folder_hint\": \"\u0427\u0442\u043E\u0431\u044B \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u043F\u0430\u043F\u043A\u0443, \u043F\u0440\u043E\u0441\u0442\u043E \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0439\u0442\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0443 \u00ABShift\u00BB, \u0449\u0435\u043B\u043A\u043D\u0443\u0432 \u043F\u0430\u043F\u043A\u0443.\",\n \"ra_state_changed_by\": \"\u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u043E\",\n \"ra_state_changed_from\": \"\u041E\u0431\u044A\u0435\u043A\u0442 \u0438\u0437\u043C\u0435\u043D\u0435\u043D \u0441\",\n \"ra_timestamp\": \"\u041E\u0442\u043C\u0435\u0442\u043A\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438\",\n \"ra_tooltip_ack\": \"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u043E\",\n \"ra_tooltip_comment\": \"\u041A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439\",\n \"ra_tooltip_copyState\": \"\u0421\u043A\u043E\u043F\u0438\u0440\u0443\u0439\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F\",\n \"ra_tooltip_customConfig\": \"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438\",\n \"ra_tooltip_deleteObject\": \"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442\",\n \"ra_tooltip_editObject\": \"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043E\u0431\u044A\u0435\u043A\u0442\",\n \"ra_tooltip_editState\": \"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F\",\n \"ra_tooltip_from\": \"\u041E\u0442\",\n \"ra_tooltip_lc\": \"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435\",\n \"ra_tooltip_quality\": \"\u041A\u0430\u0447\u0435\u0441\u0442\u0432\u043E\",\n \"ra_tooltip_ts\": \"\u041E\u0442\u043C\u0435\u0442\u043A\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438\",\n \"ra_tooltip_user\": \"\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\",\n \"ra_tooltip_value\": \"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435\",\n \"ra_use seconds\": \"\u0441\u0435\u043A\u0443\u043D\u0434\u044B\",\n \"ra_val\": \"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435\",\n \"ra_via internet\": \"\u0447\u0435\u0440\u0435\u0437 \u0438\u043D\u0442\u0435\u0440\u043D\u0435\u0442\",\n \"ra_warning_every_minute\": \"\u0412\u043D\u0438\u043C\u0430\u043D\u0438\u0435: \u0437\u0430\u0434\u0430\u043D\u0438\u0435 CRON \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043F\u0443\u0441\u043A\u0430\u0442\u044C\u0441\u044F \u043A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443 \u0432 \u0442\u0435\u0447\u0435\u043D\u0438\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u043E\u0433\u043E \u043F\u0435\u0440\u0438\u043E\u0434\u0430!\",\n \"ra_warning_every_second\": \"\u0412\u043D\u0438\u043C\u0430\u043D\u0438\u0435: \u0437\u0430\u0434\u0430\u043D\u0438\u0435 CRON \u0431\u0443\u0434\u0435\u0442 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0442\u044C\u0441\u044F \u043A\u0430\u0436\u0434\u0443\u044E \u0441\u0435\u043A\u0443\u043D\u0434\u0443 \u0432 \u0442\u0435\u0447\u0435\u043D\u0438\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u043E\u0433\u043E \u043F\u0435\u0440\u0438\u043E\u0434\u0430!\",\n \"sc_cron\": \"CRON\",\n \"sc_date\": \"\u0414\u0430\u0442\u0430\",\n \"sc_dates\": \"\u0414\u0430\u0442\u044B\",\n \"sc_dow\": \"\u0414\u0435\u043D\u044C\",\n \"sc_dows\": \"\u0414\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438\",\n \"sc_every\": \"\u043A\u0430\u0436\u0434\u044B\u0439(\u0443\u044E/\u044B\u0435)\",\n \"sc_everyN_dates\": \"\u043A\u0430\u0436\u0434\u044B\u0439 N \u0434\u0435\u043D\u044C\",\n \"sc_everyN_dow\": \"\u043A\u0430\u0436\u0434\u044B\u0439 N-\u0439 \u0434\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438\",\n \"sc_everyN_dows\": \"\u043A\u0430\u0436\u0434\u044B\u0439 N \u0434\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438\",\n \"sc_everyN_hours\": \"\u043A\u0430\u0436\u0434\u044B\u0435 N \u0447\u0430\u0441\u043E\u0432\",\n \"sc_everyN_minutes\": \"\u043A\u0430\u0436\u0434\u044B\u0435 N \u043C\u0438\u043D\u0443\u0442\",\n \"sc_everyN_months\": \"\u043A\u0430\u0436\u0434\u044B\u0435 N \u043C\u0435\u0441\u044F\u0446\u0435\u0432\",\n \"sc_everyN_seconds\": \"\u043A\u0430\u0436\u0434\u044B\u0435 N \u0441\u0435\u043A\u0443\u043D\u0434\",\n \"sc_every_dates\": \"\u043A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C\",\n \"sc_every_dow\": \"\u041A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438\",\n \"sc_every_dows\": \"\u043A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438\",\n \"sc_every_hours\": \"\u043A\u0430\u0436\u0434\u044B\u0439 \u0447\u0430\u0441\",\n \"sc_every_minutes\": \"\u043A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443\",\n \"sc_every_months\": \"\u043A\u0430\u0436\u0434\u044B\u0439 \u043C\u0435\u0441\u044F\u0446\",\n \"sc_every_seconds\": \"\u043A\u0430\u0436\u0434\u0443\u044E \u0441\u0435\u043A\u0443\u043D\u0434\u0443\",\n \"sc_from\": \"\u041E\u0442\",\n \"sc_hours\": \"\u0447\u0430\u0441\u044B\",\n \"sc_interval\": \"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B\",\n \"sc_intervalBetween\": \"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u043C\u0435\u0436\u0434\u0443\",\n \"sc_invalid_cron\": \"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 CRON\",\n \"sc_minutes\": \"\u043C\u0438\u043D\u0443\u0442\u044B\",\n \"sc_months\": \"\u041C\u0435\u0441\u044F\u0446\u044B\",\n \"sc_once\": \"\u043E\u0434\u0438\u043D \u0440\u0430\u0437\",\n \"sc_period\": \"\u041F\u0435\u0440\u0438\u043E\u0434\",\n \"sc_seconds\": \"\u0441\u0435\u043A\u0443\u043D\u0434\u044B\",\n \"sc_simple\": \"\u041F\u0440\u043E\u0441\u0442\u043E\",\n \"sc_specific\": \"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F\",\n \"sc_specific_dates\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u0434\u0430\u0442\u044B\",\n \"sc_specific_dow\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0439 \u0434\u0435\u043D\u044C(\u0430) \u043D\u0435\u0434\u0435\u043B\u0438\",\n \"sc_specific_dows\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0439 \u0434\u0435\u043D\u044C \u043D\u0435\u0434\u0435\u043B\u0438\",\n \"sc_specific_hours\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u0447\u0430\u0441\u044B\",\n \"sc_specific_minutes\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u043C\u0438\u043D\u0443\u0442\u044B\",\n \"sc_specific_months\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u043C\u0435\u0441\u044F\u0446\u044B\",\n \"sc_specific_seconds\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u0441\u0435\u043A\u0443\u043D\u0434\u044B\",\n \"sc_time\": \"\u0412\u0440\u0435\u043C\u044F\",\n \"sc_to\": \"\u0414\u043E\",\n \"sc_wizard\": \"\u0424\u043E\u0440\u043C\u0430\",\n \"sch_all\": \"\u0432\u0441\u0435\",\n \"sch_astroDay\": \"\u0434\u043D\u0451\u043C\",\n \"sch_astroNight\": \"\u043D\u043E\u0447\u044C\u044E\",\n \"sch_astro_dawn\": \"\u0420\u0430\u0441\u0441\u0432\u0435\u0442\",\n \"sch_astro_dusk\": \"\u0421\u0443\u043C\u0435\u0440\u043A\u0438\",\n \"sch_astro_goldenHour\": \"\u0417\u043E\u043B\u043E\u0442\u043E\u0439 \u0447\u0430\u0441\",\n \"sch_astro_goldenHourEnd\": \"\u041A\u043E\u043D\u0435\u0446 \u0437\u043E\u043B\u043E\u0442\u043E\u0433\u043E \u0447\u0430\u0441\u0430\",\n \"sch_astro_nadir\": \"\u041D\u0430\u0434\u0438\u0440\",\n \"sch_astro_nauticalDawn\": \"\u041C\u043E\u0440\u0441\u043A\u043E\u0439 \u0440\u0430\u0441\u0441\u0432\u0435\u0442\",\n \"sch_astro_nauticalDusk\": \"\u041C\u043E\u0440\u0441\u043A\u0438\u0435 \u0441\u0443\u043C\u0435\u0440\u043A\u0438\",\n \"sch_astro_night\": \"\u041D\u043E\u0447\u044C\",\n \"sch_astro_nightEnd\": \"\u041A\u043E\u043D\u0435\u0446 \u043D\u043E\u0447\u0438\",\n \"sch_astro_solarNoon\": \"\u0421\u043E\u043B\u043D\u0435\u0447\u043D\u044B\u0439 \u043F\u043E\u043B\u0434\u0435\u043D\u044C\",\n \"sch_astro_sunrise\": \"\u0412\u043E\u0441\u0445\u043E\u0434\",\n \"sch_astro_sunriseEnd\": \"\u0412\u043E\u0441\u0445\u043E\u0434 \u0441\u043E\u043B\u043D\u0446\u0430\",\n \"sch_astro_sunset\": \"\u0417\u0430\u0445\u043E\u0434 \u0441\u043E\u043B\u043D\u0446\u0430\",\n \"sch_astro_sunsetStart\": \"\u041D\u0430\u0447\u0430\u043B\u043E \u0437\u0430\u043A\u0430\u0442\u0430\",\n \"sch_at\": \"\u0434\u0430\u0442\u0430\",\n \"sch_desc_atTime\": \"\u0432 %s\",\n \"sch_desc_everyDay\": \"\u043A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C\",\n \"sch_desc_everyHour\": \"\u043A\u0430\u0436\u0434\u044B\u0439 \u0447\u0430\u0441\",\n \"sch_desc_everyMinute\": \"\u043A\u0430\u0436\u0434\u0443\u044E \u043C\u0438\u043D\u0443\u0442\u0443\",\n \"sch_desc_everyMonth\": \"\u043A\u0430\u0436\u0434\u044B\u0439 \u043C\u0435\u0441\u044F\u0446\",\n \"sch_desc_everyNDay\": \"\u043A\u0430\u0436\u0434\u044B\u0439 %s \u0434\u0435\u043D\u044C\",\n \"sch_desc_everyNHours\": \"\u043A\u0430\u0436\u0434\u044B\u0439 %s \u0447\u0430\u0441\u043E\u0432\",\n \"sch_desc_everyNMinutes\": \"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0438\u043D\u0443\u0442\",\n \"sch_desc_everyNMonths\": \"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043C\u0435\u0441\u044F\u0446\u0435\u0432\",\n \"sch_desc_everyNWeeks\": \"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043D\u0435\u0434\u0435\u043B\u044C\",\n \"sch_desc_everyNYears\": \"\u043A\u0430\u0436\u0434\u044B\u0435 %s \u043B\u0435\u0442\",\n \"sch_desc_everyWeek\": \"\u043A\u0430\u0436\u0434\u0443\u044E \u043D\u0435\u0434\u0435\u043B\u044E\",\n \"sch_desc_everyYear\": \"\u043A\u0430\u0436\u0434\u044B\u0439 \u0433\u043E\u0434\",\n \"sch_desc_intervalFromTo\": \"\u043E\u0442 %s \u0434\u043E %s\",\n \"sch_desc_never\": \"\u043D\u0438\u043A\u043E\u0433\u0434\u0430\",\n \"sch_desc_onDate\": \"%s %s\",\n \"sch_desc_onDates\": \"%s \u0438 %s\",\n \"sch_desc_onEveryDate\": \"\u0432 \u043A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C\",\n \"sch_desc_onMonth\": \"%s\",\n \"sch_desc_onMonths\": \"%s \u0438 %s\",\n \"sch_desc_onWeekday\": \"%s\",\n \"sch_desc_onWeekdays\": \"%s \u0438 %s\",\n \"sch_desc_onWeekends\": \"\u043D\u0430 \u0432\u044B\u0445\u043E\u0434\u043D\u044B\u0445\",\n \"sch_desc_onWorkdays\": \"\u0432 \u0440\u0430\u0431\u043E\u0447\u0438\u0435 \u0434\u043D\u0438\",\n \"sch_desc_onceInPast\": \"\u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u0431\u043E\u043B\u044C\u0448\u0435 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0442\u044C\u0441\u044F, \u043F\u043E\u0442\u043E\u043C\u0443 \u0447\u0442\u043E \u043D\u0430\u0447\u0430\u043B\u043E \u0432 \u043F\u0440\u043E\u0448\u043B\u043E\u043C\",\n \"sch_desc_once_on\": \"%s\",\n \"sch_desc_validFrom\": \"%s\",\n \"sch_desc_validFromTo\": \"\u0412\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u0441\",\n \"sch_desc_validTo\": \"%s\",\n \"sch_every\": \"\u043A\u0430\u0436\u0434\u044B\u0439\",\n \"sch_exactTime\": \"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F\",\n \"sch_from\": \"\u043E\u0442\",\n \"sch_fromTo\": \"\u041E\u0442 \u0438 \u0434\u043E\",\n \"sch_intervalTime\": \"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u0432\u0440\u0435\u043C\u0435\u043D\u0438\",\n \"sch_invert\": \"\u0438\u043D\u0432\u0435\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C\",\n \"sch_no_one\": \"\u043D\u0438\u043A\u0430\u043A\u043E\u0439\",\n \"sch_on\": \"\u043D\u0430\",\n \"sch_period\": \"\u043F\u0435\u0440\u0438\u043E\u0434\",\n \"sch_periodDaily\": \"\u0415\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u043E\",\n \"sch_periodDates\": \"\u0414\u0430\u0442\u044B\",\n \"sch_periodDay\": \"\u0414\u0435\u043D\u044C\",\n \"sch_periodEvery\": \"\u043A\u0430\u0436\u0434\u044B\u0439\",\n \"sch_periodEveryDay\": \"\u041A\u0430\u0436\u0434\u044B\u0439 \u0434\u0435\u043D\u044C\",\n \"sch_periodEveryMonth\": \"\u041A\u0430\u0436\u0434\u044B\u0439 \u043C\u0435\u0441\u044F\u0446\",\n \"sch_periodEveryWeek\": \"\u041A\u0430\u0436\u0434\u0443\u044E \u043D\u0435\u0434\u0435\u043B\u044E\",\n \"sch_periodEveryYear\": \"\u041A\u0430\u0436\u0434\u044B\u0439 \u0433\u043E\u0434\",\n \"sch_periodHours\": \"\u0447\u0430\u0441\u043E\u0432\",\n \"sch_periodMinutes\": \"\u043C\u0438\u043D\u0443\u0442\",\n \"sch_periodMonth\": \"\u043C\u0435\u0441\u044F\u0446\",\n \"sch_periodMonthly\": \"\u0435\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u043E\",\n \"sch_periodOnce\": \"\u043E\u0434\u043D\u0430\u0436\u0434\u044B\",\n \"sch_periodSpecificMonths\": \"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u044B\u0435 \u043C\u0435\u0441\u044F\u0446\u044B\",\n \"sch_periodWeek\": \"\u041D\u0435\u0434\u0435\u043B\u044E\",\n \"sch_periodWeekdays\": \"\u0411\u0443\u0434\u043D\u0438\u0435 \u0434\u043D\u0438\",\n \"sch_periodWeekend\": \"\u0432\u044B\u0445\u043E\u0434\u043D\u044B\u0435\",\n \"sch_periodWeekly\": \"\u0435\u0436\u0435\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u043E\",\n \"sch_periodWorkdays\": \"\u0420\u0430\u0431\u043E\u0447\u0438\u0435 \u0434\u043D\u0438\",\n \"sch_periodYear\": \"\u0413\u043E\u0434\",\n \"sch_periodYearly\": \"\u043A\u0430\u0436\u0434\u044B\u0439 \u0433\u043E\u0434\",\n \"sch_specificTime\": \"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F\",\n \"sch_time\": \"\u0412\u0440\u0435\u043C\u044F\",\n \"sch_to\": \"\u0432\",\n \"sch_valid\": \"\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0439\",\n \"sch_validFrom\": \"\u043E\u0442\",\n \"sch_validTo\": \"\u0432\",\n \"sch_wholeDay\": \"\u0412\u0435\u0441\u044C \u0434\u0435\u043D\u044C\",\n \"sch_yearEveryMonth\": \"\u043A\u0430\u0436\u0434\u044B\u0439 \u043C\u0435\u0441\u044F\u0446\"\n}\n", "{\n \"ra_%s links from aliases\": \"%s links de aliases\",\n \"ra_%s object(s) processed\": \"%s objeto(s) processado(s)\",\n \"ra_%s was imported\": \"%s foi importado\",\n \"ra_Accept license\": \"Aceitar licen\u00E7a\",\n \"ra_Add new child object to selected parent\": \"Adicionar novo objeto filho ao pai selecionado\",\n \"ra_Add objects tree from JSON file\": \"Adicionar \u00E1rvore de objetos do arquivo JSON\",\n \"ra_Add row\": \"Adicionar linha\",\n \"ra_Advanced options\": \"Op\u00E7\u00F5es avan\u00E7adas\",\n \"ra_All items are filtered out\": \"Todos os itens s\u00E3o filtrados\",\n \"ra_All objects\": \"Todos os objetos\",\n \"ra_Append\": \"Acrescentar\",\n \"ra_Append %s entries or replace existing?\": \"Acrescentar %s entradas ou substituir as existentes?\",\n \"ra_Append or replace?\": \"Acrescentar ou substituir?\",\n \"ra_Are you sure?\": \"Voc\u00EA tem certeza?\",\n \"ra_Auto (no custom columns)\": \"Auto (sem colunas personalizadas)\",\n \"ra_Back to %s\": \"Voltar para %s\",\n \"ra_Background image\": \"Imagem de fundo\",\n \"ra_Cancel\": \"Cancelar\",\n \"ra_Cannot add items with set filter\": \"N\u00E3o \u00E9 poss\u00EDvel adicionar itens com filtro definido\",\n \"ra_Cannot decode license\": \"N\u00E3o \u00E9 poss\u00EDvel decodificar a licen\u00E7a\",\n \"ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser\": \"N\u00E3o \u00E9 poss\u00EDvel determinar a posi\u00E7\u00E3o: as configura\u00E7\u00F5es do sistema est\u00E3o vazias e a detec\u00E7\u00E3o de GPS est\u00E1 desativada no navegador\",\n \"ra_Cannot find \\\"%s\\\"\": \"N\u00E3o foi poss\u00EDvel encontrar \\\"%s\\\"\",\n \"ra_Cannot read \\\"%s\\\"\": \"N\u00E3o \u00E9 poss\u00EDvel ler \\\"%s\\\"\",\n \"ra_Cannot read licenses: %s\": \"N\u00E3o \u00E9 poss\u00EDvel ler licen\u00E7as: %s\",\n \"ra_Cannot retrieve options, as instance is offline\": \"N\u00E3o \u00E9 poss\u00EDvel recuperar op\u00E7\u00F5es, pois a inst\u00E2ncia est\u00E1 off-line\",\n \"ra_Cannot update attribute, because not found in the object\": \"N\u00E3o \u00E9 poss\u00EDvel atualizar o atributo, porque n\u00E3o foi encontrado no objeto\",\n \"ra_Cannot upload\": \"N\u00E3o \u00E9 poss\u00EDvel fazer upload\",\n \"ra_Categories\": \"Categorias\",\n \"ra_Chained certificate\": \"certificado encadeado\",\n \"ra_Change color theme\": \"Alterar tema de cores\",\n \"ra_Changed from\": \"Mudou de\",\n \"ra_Channel \u2192 State\": \"Canal \u2192 Estado\",\n \"ra_Check license\": \"Verifique a licen\u00E7a\",\n \"ra_Checked\": \"Verificado\",\n \"ra_Clear\": \"Excluir\",\n \"ra_Clear filter\": \"Filtro limpo\",\n \"ra_Clear icon\": \"\u00CDcone de limpeza\",\n \"ra_Clone current row\": \"Clonar linha atual\",\n \"ra_Close\": \"Perto\",\n \"ra_Collapse all nodes\": \"Recolher todos os n\u00F3s\",\n \"ra_Collapse one step node\": \"Recolher um n\u00EDvel\",\n \"ra_Commercial\": \"Comercial\",\n \"ra_Configure\": \"Configurar\",\n \"ra_Configure visible columns\": \"Configurar colunas vis\u00EDveis\",\n \"ra_Confirm deletion of %s\": \"Confirme a exclus\u00E3o de %s\",\n \"ra_Connected\": \"Conectado\",\n \"ra_Copied\": \"Copiado\",\n \"ra_Copied %s\": \"\\\"%s\\\" copiado\",\n \"ra_Copy content\": \"Copiar conte\u00FAdo\",\n \"ra_Create\": \"Crio\",\n \"ra_Create alias\": \"Criar alias\",\n \"ra_Create folder\": \"Criar pasta\",\n \"ra_Create new folder in %s\": \"Crie uma nova pasta em %s\",\n \"ra_Crop\": \"Colheita\",\n \"ra_Define CRON...\": \"Defina CRON...\",\n \"ra_Define functions\": \"Definir fun\u00E7\u00F5es\",\n \"ra_Define rooms\": \"Definir quartos\",\n \"ra_Define schedule\": \"Definir cronograma\",\n \"ra_Define schedule...\": \"Definir programa\u00E7\u00E3o ...\",\n \"ra_Del\": \"Delete\",\n \"ra_Delete\": \"Excluir\",\n \"ra_Delete (no confirm for 5 mins)\": \"Excluir (sem confirma\u00E7\u00E3o por 5 minutos)\",\n \"ra_Delete current row\": \"Excluir linha atual\",\n \"ra_Deselect all\": \"Desmarque todos\",\n \"ra_Device \u2192 Channel \u2192 State\": \"Dispositivo \u2192 Canal \u2192 Estado\",\n \"ra_Discard\": \"Descartar\",\n \"ra_Disconnected\": \"Desconectado\",\n \"ra_Do not export values of states\": \"N\u00E3o exporte valores de estados\",\n \"ra_Do not use let's encrypt\": \"N\u00E3o use vamos criptografar\",\n \"ra_Double click to reset table layout\": \"Clique duas vezes para redefinir o layout da tabela\",\n \"ra_Drag 'n' drop some files here, or click to select files\": \"Arraste e solte alguns arquivos aqui ou clique para selecionar arquivos\",\n \"ra_Drop file here\": \"Solte o arquivo aqui\",\n \"ra_Drop the files here...\": \"Solte o arquivo aqui ...\",\n \"ra_Duplicate name\": \"Nome duplicado\",\n \"ra_Edit ACL\": \"Editar ACL\",\n \"ra_Edit alias\": \"Editar alias\",\n \"ra_Edit custom config\": \"Editar configura\u00E7\u00E3o personalizada\",\n \"ra_Edit function\": \"Fun\u00E7\u00E3o de edi\u00E7\u00E3o\",\n \"ra_Edit object field\": \"Editar campo de objeto\",\n \"ra_Edit role\": \"Editar papel\",\n \"ra_Edit room\": \"Sala de edi\u00E7\u00E3o\",\n \"ra_Edit value\": \"Editar valor\",\n \"ra_Error\": \"Erro\",\n \"ra_Expand all nodes\": \"Expanda todos os n\u00F3s\",\n \"ra_Expand one step node\": \"Expanda um n\u00EDvel\",\n \"ra_Export data to %s file\": \"Exportar dados para o arquivo %s\",\n \"ra_Failed to open JSON File\": \"Falha ao abrir arquivo JSON\",\n \"ra_Fallback custom certificates\": \"Certificados personalizados alternativos\",\n \"ra_File is too big. Max %sk allowed. Try use SVG.\": \"O arquivo \u00E9 muito grande. Max %sk permitido. Tente usar SVG.\",\n \"ra_Filter\": \"Filtro\",\n \"ra_Filter files\": \"Filtrar arquivos\",\n \"ra_Folder name\": \"Nome da pasta\",\n \"ra_Folder \u2192 Channel \u2192 State\": \"Pasta \u2192 Canal \u2192 Estado\",\n \"ra_Folder \u2192 Device \u2192 Channel \u2192 State\": \"Pasta \u2192 Dispositivo \u2192 Canal \u2192 Estado\",\n \"ra_Folder \u2192 State\": \"Pasta \u2192 Estado\",\n \"ra_Folders always first\": \"Pastas sempre primeiro\",\n \"ra_Friday\": \"Sexta-feira\",\n \"ra_Good luck\": \"Boa sorte\",\n \"ra_Hide empty folders\": \"Esconder pastas vazias\",\n \"ra_If no file will be created in the folder, it will disappear after the browser closed\": \"Se nenhum arquivo for criado na pasta, ele desaparecer\u00E1 depois que o navegador for fechado\",\n \"ra_Import data from %s file\": \"Importar dados do arquivo %s\",\n \"ra_Import from %s\": \"Importar de %s\",\n \"ra_Instance %s is alive\": \"O %s da inst\u00E2ncia est\u00E1 ativo\",\n \"ra_Instance %s is not alive\": \"O %s da inst\u00E2ncia n\u00E3o est\u00E1 ativo\",\n \"ra_Instance is not alive\": \"A inst\u00E2ncia n\u00E3o est\u00E1 ativa\",\n \"ra_Invalid CRON\": \"CRON inv\u00E1lido\",\n \"ra_Invalid JSON\": \"JSON inv\u00E1lido\",\n \"ra_Invalid answer from server\": \"Resposta inv\u00E1lida do servidor\",\n \"ra_Invalid parent folder!\": \"Pasta pai inv\u00E1lida!\",\n \"ra_Invalid structure\": \"Estrutura inv\u00E1lida\",\n \"ra_JSON editor\": \"Editor JSON\",\n \"ra_Last change\": \"\u00DAltima mudan\u00E7a\",\n \"ra_Latitude\": \"Latitude\",\n \"ra_License %s\": \"Licen\u00E7a %s\",\n \"ra_License agreement\": \"Contrato de licen\u00E7a\",\n \"ra_License does not exist\": \"A licen\u00E7a n\u00E3o existe\",\n \"ra_License expired on %s\": \"A licen\u00E7a expirou em %s\",\n \"ra_License for other product \\\"%s\\\"\": \"Licen\u00E7a para outro produto \\\"%s\\\"\",\n \"ra_License is for version %s, but required version is %s.\": \"A licen\u00E7a \u00E9 para a vers\u00E3o %s, mas a vers\u00E3o necess\u00E1ria \u00E9 %s.\",\n \"ra_License must be converted\": \"A licen\u00E7a deve ser convertida para uma vers\u00E3o mais recente. Voc\u00EA pode faz\u00EA-lo em seu perfil iobroker.net.\",\n \"ra_License not found in license manager. Do you want to read licenses from iobroker.net?\": \"Licen\u00E7a n\u00E3o encontrada no gerenciador de licen\u00E7as. Deseja atualizar as licen\u00E7as do iobroker.net?\",\n \"ra_Listen on all IPs\": \"Ou\u00E7a em todos os IPs\",\n \"ra_Load configuration from file\": \"Carregar configura\u00E7\u00E3o do arquivo\",\n \"ra_Longitude\": \"Longitude\",\n \"ra_May not trigger \\\"updateLicenses\\\"\": \"Pode n\u00E3o acionar \\\"updateLicenses\\\"\",\n \"ra_Message\": \"mensagem\",\n \"ra_Monday\": \"Segunda-feira\",\n \"ra_Move down\": \"Mover para baixo\",\n \"ra_Move up\": \"Subir\",\n \"ra_Name\": \"Nome\",\n \"ra_No data found in file\": \"Nenhum dado encontrado no arquivo\",\n \"ra_No one license found in license manager\": \"Nenhuma licen\u00E7a encontrada no gerenciador de licen\u00E7as\",\n \"ra_No response from the backend\": \"Nenhuma resposta do backend\",\n \"ra_Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\": \"Os n\u00E3o especialistas podem criar novos objetos apenas em \\\"0_userdata.0\\\" ou \\\"alias.0\\\".\",\n \"ra_Not a number\": \"N\u00E3o \u00E9 um n\u00FAmero\",\n \"ra_Objects\": \"Objetos\",\n \"ra_Ok\": \"Est\u00E1 bem\",\n \"ra_On weekdays\": \"Nos dias \u00FAteis\",\n \"ra_Only following structures of objects are available:\": \"Apenas as seguintes estruturas de objetos est\u00E3o dispon\u00EDveis:\",\n \"ra_Only selected\": \"Apenas selecionado\",\n \"ra_Owner group\": \"Grupo propriet\u00E1rio\",\n \"ra_Owner user\": \"Usu\u00E1rio propriet\u00E1rio\",\n \"ra_Passwords are not equal!\": \"As senhas n\u00E3o s\u00E3o iguais!\",\n \"ra_Place your files here or click here to open the browse dialog\": \"Coloque seus arquivos aqui ou clique aqui para abrir a janela de navega\u00E7\u00E3o\",\n \"ra_Please confirm\": \"Por favor confirme\",\n \"ra_Please create license\": \"Crie uma licen\u00E7a\",\n \"ra_Please enter the license\": \"Por favor, insira a licen\u00E7a\",\n \"ra_Please select file...\": \"Selecione o arquivo...\",\n \"ra_Please select object ID...\": \"Selecione o ID do objeto ...\",\n \"ra_Port could be used by %s\": \"A porta pode ser usada por %s\",\n \"ra_Port is already used by %s\": \"A porta j\u00E1 est\u00E1 sendo usada por %s\",\n \"ra_Private certificate\": \"certificado privado\",\n \"ra_Product\": \"produtos\",\n \"ra_Public certificate\": \"certificado p\u00FAblico\",\n \"ra_Quality code\": \"Qualidade\",\n \"ra_Refresh tree\": \"Atualizar \u00E1rvore\",\n \"ra_Reload files\": \"Recarregar arquivos\",\n \"ra_Repeat\": \"Repita\",\n \"ra_Replace\": \"Substituir\",\n \"ra_Request timed out\": \"Solicita\u00E7\u00E3o expirou\",\n \"ra_Restrict to folder\": \"Restringir \u00E0 pasta\",\n \"ra_Root\": \"Raiz\",\n \"ra_Saturday\": \"S\u00E1bado\",\n \"ra_Save\": \"Salve \uE051\",\n \"ra_Save and close\": \"Salvar e fechar\",\n \"ra_Save configuration to file\": \"Salvar configura\u00E7\u00E3o em arquivo\",\n \"ra_Save objects tree as JSON file\": \"Salvar \u00E1rvore de objetos como arquivo JSON\",\n \"ra_Select all\": \"Selecionar tudo\",\n \"ra_Select color\": \"Selecione a cor\",\n \"ra_Select predefined icon\": \"Selecione o \u00EDcone predefinido\",\n \"ra_Select type of export\": \"Selecione o tipo de exporta\u00E7\u00E3o\",\n \"ra_Selected\": \"Selecionado\",\n \"ra_Selected %s object(s)\": \"%s objeto(s) selecionado(s)\",\n \"ra_Serial number (UUID)\": \"N\u00FAmero de s\u00E9rie (UUID)\",\n \"ra_Serial number (UUID) \\\"%s\\\" in license is for other device.\": \"O n\u00FAmero de s\u00E9rie (UUID) \\\"%s\\\" na licen\u00E7a \u00E9 para outro dispositivo.\",\n \"ra_Show all folders\": \"Mostrar todas as pastas\",\n \"ra_Show lines between rows\": \"Mostrar linhas entre as linhas\",\n \"ra_Show/Hide object descriptions\": \"Mostrar/ocultar descri\u00E7\u00F5es de objetos\",\n \"ra_Show/hide filter input\": \"Mostrar/ocultar entrada de filtro\",\n \"ra_Some data are not stored. Discard?\": \"Alguns dados n\u00E3o s\u00E3o armazenados. Descartar?\",\n \"ra_States\": \"Estados\",\n \"ra_Suitable license not found in license manager\": \"Licen\u00E7a adequada n\u00E3o encontrada no gerenciador de licen\u00E7as\",\n \"ra_Sunday\": \"Domingo\",\n \"ra_Suppress question for next %s minutes\": \"Suprimir pergunta nos pr\u00F3ximos %s minutos\",\n \"ra_System language\": \"Idioma do sistema\",\n \"ra_Take browser position\": \"Tomar posi\u00E7\u00E3o do navegador\",\n \"ra_Take position from system settings\": \"Tomar posi\u00E7\u00E3o a partir das configura\u00E7\u00F5es do sistema\",\n \"ra_The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\": \"Os especialistas podem criar objetos em qualquer lugar, exceto no segundo n\u00EDvel (por exemplo, \\\"vis.0\\\" ou \\\"javascript.0\\\").\",\n \"ra_The page you are looking for was not found\": \"A p\u00E1gina que voc\u00EA est\u00E1 procurando n\u00E3o foi encontrada\",\n \"ra_The schedule will be executed every minute. Are you sure?\": \"O agendamento ser\u00E1 executado a cada minuto. Tem certeza?\",\n \"ra_The schedule will be executed every second. Are you sure?\": \"O agendamento ser\u00E1 executado a cada segundo. Tem certeza?\",\n \"ra_Thursday\": \"Quinta-feira\",\n \"ra_Timestamp\": \"Timestamp\",\n \"ra_Toggle expert mode\": \"Alternar modo especialista\",\n \"ra_Toggle the states view\": \"Alternar a visualiza\u00E7\u00E3o dos estados\",\n \"ra_Toggle view mode\": \"Alternar modo de visualiza\u00E7\u00E3o\",\n \"ra_Too big\": \"Muito grande\",\n \"ra_Too small\": \"Muito pequeno\",\n \"ra_Transparent dialog\": \"Di\u00E1logo transparente\",\n \"ra_Tuesday\": \"Ter\u00E7a-feira\",\n \"ra_Unknown error\": \"Erro desconhecido\",\n \"ra_Unknown error!\": \"Erro desconhecido!\",\n \"ra_Update\": \"Atualizar\",\n \"ra_Upload file\": \"Subir arquivo\",\n \"ra_Use all available let's encrypt certificates\": \"Use todos os certificados dispon\u00EDveis vamos criptografar\",\n \"ra_Use iobroker.acme adapter for letsencrypt certificates\": \"Use o adaptador iobroker.acme para certificados letsencrypt\",\n \"ra_Use system settings for position\": \"Use as configura\u00E7\u00F5es do sistema para a posi\u00E7\u00E3o\",\n \"ra_Used system settings\": \"Configura\u00E7\u00F5es do sistema usadas\",\n \"ra_User files\": \"Arquivos do usu\u00E1rio\",\n \"ra_ValidTill\": \"V\u00E1lida at\u00E9\",\n \"ra_Value\": \"Valor\",\n \"ra_Version\": \"Vers\u00E3o\",\n \"ra_View file\": \"Visualizar arquivo\",\n \"ra_View: %s\": \"Visualizar: %s\",\n \"ra_Wednesday\": \"Quarta-feira\",\n \"ra_Width\": \"Largura\",\n \"ra_Yes\": \"Sim\",\n \"ra_You can export all objects or just the selected branch.\": \"Voc\u00EA pode exportar todos os objetos ou apenas a ramifica\u00E7\u00E3o selecionada.\",\n \"ra_You can filter entries by entering here some text\": \"Voc\u00EA pode filtrar as entradas digitando aqui algum texto\",\n \"ra___different__\": \"diferente\",\n \"ra_aclEveryone_read_object\": \"Todos podem ler objetos\",\n \"ra_aclEveryone_read_state\": \"Todos podem ler o estado\",\n \"ra_aclEveryone_write_object\": \"Todos podem escrever objetos\",\n \"ra_aclEveryone_write_state\": \"Todos podem escrever o estado\",\n \"ra_aclGroup_read_object\": \"O grupo pode ler o objeto\",\n \"ra_aclGroup_read_state\": \"O grupo pode ler o estado\",\n \"ra_aclGroup_write_object\": \"O grupo pode escrever o objeto\",\n \"ra_aclGroup_write_state\": \"O grupo pode escrever o estado\",\n \"ra_aclOwner_read_object\": \"O propriet\u00E1rio pode ler o objeto\",\n \"ra_aclOwner_read_state\": \"O propriet\u00E1rio pode ler o estado\",\n \"ra_aclOwner_write_object\": \"O propriet\u00E1rio pode escrever o objeto\",\n \"ra_aclOwner_write_state\": \"O propriet\u00E1rio pode escrever o estado\",\n \"ra_buttons\": \"Bot\u00F5es\",\n \"ra_changedFrom\": \"Mudou de\",\n \"ra_close\": \"fechar\",\n \"ra_create_boolean_state\": \"Criar estado booleano\",\n \"ra_create_channel\": \"Criar canal\",\n \"ra_create_device\": \"Criar dispositivo\",\n \"ra_create_number_state\": \"Criar estado num\u00E9rico\",\n \"ra_create_state\": \"Criar estado\",\n \"ra_create_string_state\": \"Criar estado de string\",\n \"ra_daysShortText\": \"d.\",\n \"ra_dow_Fr\": \"Fr\",\n \"ra_dow_Mo\": \"Mo\",\n \"ra_dow_Sa\": \"Sa\",\n \"ra_dow_Su\": \"Su\",\n \"ra_dow_Th\": \"\u00BA\",\n \"ra_dow_Tu\": \"Tu\",\n \"ra_dow_We\": \"N\u00F3s\",\n \"ra_expertMode\": \"Modo especialista\",\n \"ra_fileType_all\": \"Todos os arquivos\",\n \"ra_fileType_audio\": \"\u00E1udio\",\n \"ra_fileType_code\": \"C\u00F3digo/JSON\",\n \"ra_fileType_images\": \"Imagens\",\n \"ra_fileType_txt\": \"Texto\",\n \"ra_fileType_video\": \"V\u00EDdeo\",\n \"ra_fileType_video,\": \"V\u00EDdeo\",\n \"ra_filter_customs\": \"Configura\u00E7\u00F5es\",\n \"ra_filter_customs_without\": \"sem\",\n \"ra_filter_func\": \"Fun\u00E7\u00E3o\",\n \"ra_filter_id\": \"ID\",\n \"ra_filter_name\": \"Nome\",\n \"ra_filter_role\": \"Papel (Fun\u00E7\u00E3o)\",\n \"ra_filter_room\": \"Quarto\",\n \"ra_filter_type\": \"Tipo\",\n \"ra_import data from %s file\": \"Importar dados do arquivo %s\",\n \"ra_invalidConfig\": \"Configura\u00E7\u00F5es inv\u00E1lidas\",\n \"ra_lastChange\": \"\u00DAltima mudan\u00E7a\",\n \"ra_locally\": \"localmente\",\n \"ra_month_Apr\": \"abril\",\n \"ra_month_Aug\": \"agosto\",\n \"ra_month_Dec\": \"dezembro\",\n \"ra_month_Feb\": \"fevereiro\",\n \"ra_month_Jan\": \"janeiro\",\n \"ra_month_Jul\": \"julho\",\n \"ra_month_Jun\": \"junho\",\n \"ra_month_Mai\": \"Mai\",\n \"ra_month_Mar\": \"mar\u00E7o\",\n \"ra_month_Nov\": \"novembro\",\n \"ra_month_Oct\": \"outubro\",\n \"ra_month_Sep\": \"setembro\",\n \"ra_months_Apr\": \"abril\",\n \"ra_months_Aug\": \"agosto\",\n \"ra_months_Dec\": \"dezembro\",\n \"ra_months_Feb\": \"fevereiro\",\n \"ra_months_Jan\": \"janeiro\",\n \"ra_months_Jul\": \"julho\",\n \"ra_months_Jun\": \"junho\",\n \"ra_months_Mai\": \"Mai\",\n \"ra_months_Mar\": \"mar\u00E7o\",\n \"ra_months_Nov\": \"novembro\",\n \"ra_months_Oct\": \"outubro\",\n \"ra_months_Sep\": \"setembro\",\n \"ra_none\": \"Nenhum\",\n \"ra_object_changed_by\": \"Objeto alterado por\",\n \"ra_object_changed_by_user\": \"Objeto alterado pela \u00FAltima vez em\",\n \"ra_otherConfig\": \"Configura\u00E7\u00F5es de outro adaptador %s\",\n \"ra_qualityCode\": \"C\u00F3digo de qualidade\",\n \"ra_repeat\": \"repetir\",\n \"ra_select_folder_hint\": \"Para selecionar a pasta, basta segurar a tecla \\\"shift\\\" clicando na pasta.\",\n \"ra_state_changed_by\": \"Estado alterado por\",\n \"ra_state_changed_from\": \"Objeto alterado de\",\n \"ra_timestamp\": \"Timestamp\",\n \"ra_tooltip_ack\": \"Confirmado\",\n \"ra_tooltip_comment\": \"Comente\",\n \"ra_tooltip_copyState\": \"Copie o valor do estado\",\n \"ra_tooltip_customConfig\": \"Op\u00E7\u00F5es customizadas\",\n \"ra_tooltip_deleteObject\": \"Excluir objeto\",\n \"ra_tooltip_editObject\": \"Editar objeto\",\n \"ra_tooltip_editState\": \"Edite o valor do estado\",\n \"ra_tooltip_from\": \"De\",\n \"ra_tooltip_lc\": \"\u00DAltima altera\u00E7\u00E3o\",\n \"ra_tooltip_quality\": \"Qualidade\",\n \"ra_tooltip_ts\": \"Timestamp\",\n \"ra_tooltip_user\": \"Usu\u00E1rio\",\n \"ra_tooltip_value\": \"Valor\",\n \"ra_use seconds\": \"use segundos\",\n \"ra_val\": \"Valor\",\n \"ra_via internet\": \"via internet\",\n \"ra_warning_every_minute\": \"Aviso: O trabalho CRON ser\u00E1 executado a cada minuto durante o per\u00EDodo especificado!\",\n \"ra_warning_every_second\": \"Aviso: O trabalho CRON ser\u00E1 executado a cada segundo durante o per\u00EDodo especificado!\",\n \"sc_cron\": \"CRON\",\n \"sc_date\": \"Data\",\n \"sc_dates\": \"Dias\",\n \"sc_dow\": \"Dia\",\n \"sc_dows\": \"Dia da semana\",\n \"sc_every\": \"todos\",\n \"sc_everyN_dates\": \"a cada N dias\",\n \"sc_everyN_dow\": \"todo en\u00E9simo dia da semana\",\n \"sc_everyN_dows\": \"todos os N dias da semana\",\n \"sc_everyN_hours\": \"a cada N horas\",\n \"sc_everyN_minutes\": \"a cada N minutos\",\n \"sc_everyN_months\": \"a cada N meses\",\n \"sc_everyN_seconds\": \"a cada N segundos\",\n \"sc_every_dates\": \"todo dia\",\n \"sc_every_dow\": \"todos os dias da semana\",\n \"sc_every_dows\": \"todos os dias da semana\",\n \"sc_every_hours\": \"toda hora\",\n \"sc_every_minutes\": \"todo minuto\",\n \"sc_every_months\": \"todo m\u00EAs\",\n \"sc_every_seconds\": \"todo segundo\",\n \"sc_from\": \"de\",\n \"sc_hours\": \"horas\",\n \"sc_interval\": \"intervalo\",\n \"sc_intervalBetween\": \"intervalo entre\",\n \"sc_invalid_cron\": \"CRON inv\u00E1lido\",\n \"sc_minutes\": \"minutos\",\n \"sc_months\": \"meses\",\n \"sc_once\": \"uma vez\",\n \"sc_period\": \"per\u00EDodo\",\n \"sc_seconds\": \"segundos\",\n \"sc_simple\": \"simples\",\n \"sc_specific\": \"tempo espec\u00EDfico\",\n \"sc_specific_dates\": \"datas espec\u00EDficas\",\n \"sc_specific_dow\": \"dia(s) espec\u00EDfico(s) da semana\",\n \"sc_specific_dows\": \"dia espec\u00EDfico de semanas\",\n \"sc_specific_hours\": \"horas espec\u00EDficas\",\n \"sc_specific_minutes\": \"minutos espec\u00EDficos\",\n \"sc_specific_months\": \"meses espec\u00EDficos\",\n \"sc_specific_seconds\": \"segundos espec\u00EDficos\",\n \"sc_time\": \"tempo\",\n \"sc_to\": \"para\",\n \"sc_wizard\": \"assistente\",\n \"sch_all\": \"tudo\",\n \"sch_astroDay\": \"dia astral\",\n \"sch_astroNight\": \"noite astral\",\n \"sch_astro_dawn\": \"amanhecer\",\n \"sch_astro_dusk\": \"anoitecer\",\n \"sch_astro_goldenHour\": \"hora dourada\",\n \"sch_astro_goldenHourEnd\": \"Fim da hora dourada\",\n \"sch_astro_nadir\": \"nadir\",\n \"sch_astro_nauticalDawn\": \"Amanhecer n\u00E1utico\",\n \"sch_astro_nauticalDusk\": \"Anoitecer n\u00E1utico\",\n \"sch_astro_night\": \"noite\",\n \"sch_astro_nightEnd\": \"fim da noite\",\n \"sch_astro_solarNoon\": \"meio-dia solar\",\n \"sch_astro_sunrise\": \"nascer do sol\",\n \"sch_astro_sunriseEnd\": \"fim do nascer do sol\",\n \"sch_astro_sunset\": \"p\u00F4r do sol\",\n \"sch_astro_sunsetStart\": \"in\u00EDcio do p\u00F4r do sol\",\n \"sch_at\": \"\u00E0s\",\n \"sch_desc_atTime\": \"em %s\",\n \"sch_desc_everyDay\": \"todo dia\",\n \"sch_desc_everyHour\": \"toda hora\",\n \"sch_desc_everyMinute\": \"todo minuto\",\n \"sch_desc_everyMonth\": \"todo m\u00EAs\",\n \"sch_desc_everyNDay\": \"a cada %s dias\",\n \"sch_desc_everyNHours\": \"a cada %s horas\",\n \"sch_desc_everyNMinutes\": \"a cada %s minutos\",\n \"sch_desc_everyNMonths\": \"a cada %s meses\",\n \"sch_desc_everyNWeeks\": \"a cada %s semanas\",\n \"sch_desc_everyNYears\": \"a cada %s anos\",\n \"sch_desc_everyWeek\": \"toda semana\",\n \"sch_desc_everyYear\": \"todo ano\",\n \"sch_desc_intervalFromTo\": \"de %s para %s\",\n \"sch_desc_never\": \"nunca\",\n \"sch_desc_onDate\": \"em %s de %s\",\n \"sch_desc_onDates\": \"em %s e %s de\",\n \"sch_desc_onEveryDate\": \"em toda data de\",\n \"sch_desc_onMonth\": \"%s\",\n \"sch_desc_onMonths\": \"%s e %s\",\n \"sch_desc_onWeekday\": \"em %s\",\n \"sch_desc_onWeekdays\": \"em %s e %s\",\n \"sch_desc_onWeekends\": \"nos fins de semana\",\n \"sch_desc_onWorkdays\": \"em dias \u00FAteis\",\n \"sch_desc_onceInPast\": \"n\u00E3o ser\u00E1 mais executado, porque o come\u00E7o est\u00E1 no passado\",\n \"sch_desc_once_on\": \"em %s\",\n \"sch_desc_validFrom\": \"de %s\",\n \"sch_desc_validFromTo\": \"Executar de at\u00E9\",\n \"sch_desc_validTo\": \"at\u00E9 %s\",\n \"sch_every\": \"cada\",\n \"sch_exactTime\": \"tempo espec\u00EDfico\",\n \"sch_from\": \"de\",\n \"sch_fromTo\": \"de a\u00B4t\",\n \"sch_intervalTime\": \"tempo de intervalo\",\n \"sch_invert\": \"invertido\",\n \"sch_no_one\": \"nenhum\",\n \"sch_on\": \"em\",\n \"sch_period\": \"per\u00EDodo\",\n \"sch_periodDaily\": \"diariamente\",\n \"sch_periodDates\": \"datas\",\n \"sch_periodDay\": \"dia\",\n \"sch_periodEvery\": \"todos\",\n \"sch_periodEveryDay\": \"todo dia\",\n \"sch_periodEveryMonth\": \"todo m\u00EAs\",\n \"sch_periodEveryWeek\": \"toda semana\",\n \"sch_periodEveryYear\": \"todo ano\",\n \"sch_periodHours\": \"horas\",\n \"sch_periodMinutes\": \"minutos\",\n \"sch_periodMonth\": \"m\u00EAs\",\n \"sch_periodMonthly\": \"por m\u00EAs\",\n \"sch_periodOnce\": \"uma vez\",\n \"sch_periodSpecificMonths\": \"meses espec\u00EDficos\",\n \"sch_periodWeek\": \"semana\",\n \"sch_periodWeekdays\": \"dias \u00FAteis\",\n \"sch_periodWeekend\": \"final de semana\",\n \"sch_periodWeekly\": \"semanal\",\n \"sch_periodWorkdays\": \"dias \u00FAteis\",\n \"sch_periodYear\": \"ano\",\n \"sch_periodYearly\": \"anual\",\n \"sch_specificTime\": \"tempo espec\u00EDfico\",\n \"sch_time\": \"tempo\",\n \"sch_to\": \"para\",\n \"sch_valid\": \"v\u00E1lido\",\n \"sch_validFrom\": \"de\",\n \"sch_validTo\": \"para\",\n \"sch_wholeDay\": \"dia inteiro\",\n \"sch_yearEveryMonth\": \"todo m\u00EAs\"\n}\n", "{\n \"ra_%s links from aliases\": \"%s links van aliassen\",\n \"ra_%s object(s) processed\": \"%s object(en) verwerkt\",\n \"ra_%s was imported\": \"%s is ge\u00EFmporteerd\",\n \"ra_Accept license\": \"Accepteer licentie\",\n \"ra_Add new child object to selected parent\": \"Voeg een nieuw kindobject toe aan het geselecteerde bovenliggende object\",\n \"ra_Add objects tree from JSON file\": \"Objectenboom toevoegen vanuit JSON-bestand\",\n \"ra_Add row\": \"Voeg een rij toe\",\n \"ra_Advanced options\": \"Geavanceerde mogelijkheden\",\n \"ra_All items are filtered out\": \"Alle items zijn uitgefilterd\",\n \"ra_All objects\": \"Alle objecten\",\n \"ra_Append\": \"toevoegen\",\n \"ra_Append %s entries or replace existing?\": \"%s ingangen toevoegen of bestaande vervangen?\",\n \"ra_Append or replace?\": \"Toevoegen of vervangen?\",\n \"ra_Are you sure?\": \"Weet je het zeker?\",\n \"ra_Auto (no custom columns)\": \"Auto (geen aangepaste kolommen)\",\n \"ra_Back to %s\": \"Terug naar %s\",\n \"ra_Background image\": \"Achtergrond afbeelding\",\n \"ra_Cancel\": \"Annuleer\",\n \"ra_Cannot add items with set filter\": \"Kan geen items toevoegen met ingestelde filter\",\n \"ra_Cannot decode license\": \"Kan licentie niet decoderen\",\n \"ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser\": \"Kan positie niet bepalen: systeeminstellingen zijn leeg en GPS-detectie is uitgeschakeld in browser\",\n \"ra_Cannot find \\\"%s\\\"\": \"Kan \\\"%s\\\" niet vinden\",\n \"ra_Cannot read \\\"%s\\\"\": \"Kan \\\"%s\\\" niet lezen\",\n \"ra_Cannot read licenses: %s\": \"Kan licenties niet lezen: %s\",\n \"ra_Cannot retrieve options, as instance is offline\": \"Kan opties niet ophalen, omdat instantie offline is\",\n \"ra_Cannot update attribute, because not found in the object\": \"Kan kenmerk niet bijwerken, omdat het niet in het object is gevonden\",\n \"ra_Cannot upload\": \"Kan niet uploaden\",\n \"ra_Categories\": \"Categorie\u00EBn\",\n \"ra_Chained certificate\": \"Geketend certificaat\",\n \"ra_Change color theme\": \"Kleurthema wijzigen\",\n \"ra_Changed from\": \"Veranderd van\",\n \"ra_Channel \u2192 State\": \"Kanaal \u2192 Staat\",\n \"ra_Check license\": \"Licentie controleren\",\n \"ra_Checked\": \"Gecontroleerd\",\n \"ra_Clear\": \"Verwijderen\",\n \"ra_Clear filter\": \"Filter wissen\",\n \"ra_Clear icon\": \"Pictogram wissen\",\n \"ra_Clone current row\": \"Kloon de huidige rij\",\n \"ra_Close\": \"Dichtbij\",\n \"ra_Collapse all nodes\": \"Vouw alle knooppunten samen\",\n \"ra_Collapse one step node\": \"E\u00E9n niveau samenvouwen\",\n \"ra_Commercial\": \"Reclame\",\n \"ra_Configure\": \"Configureren\",\n \"ra_Configure visible columns\": \"Configureer zichtbare kolommen\",\n \"ra_Confirm deletion of %s\": \"Bevestig het verwijderen van %s\",\n \"ra_Connected\": \"Verbonden\",\n \"ra_Copied\": \"Gekopieerd\",\n \"ra_Copied %s\": \"\\\"%s\\\" gekopieerd\",\n \"ra_Copy content\": \"Inhoud kopi\u00EBren\",\n \"ra_Create\": \"Cre\u00EBer\",\n \"ra_Create alias\": \"Alias maken\",\n \"ra_Create folder\": \"Map aanmaken\",\n \"ra_Create new folder in %s\": \"Maak een nieuwe map in %s\",\n \"ra_Crop\": \"Bijsnijden\",\n \"ra_Define CRON...\": \"Definieer CRON...\",\n \"ra_Define functions\": \"Definieer functies\",\n \"ra_Define rooms\": \"Definieer kamers\",\n \"ra_Define schedule\": \"Definieer schema\",\n \"ra_Define schedule...\": \"Schema defini\u00EBren ...\",\n \"ra_Del\": \"Delete\",\n \"ra_Delete\": \"Verwijderen\",\n \"ra_Delete (no confirm for 5 mins)\": \"Verwijderen (geen bevestiging gedurende 5 minuten)\",\n \"ra_Delete current row\": \"Huidige rij verwijderen\",\n \"ra_Deselect all\": \"Deselecteer alles\",\n \"ra_Device \u2192 Channel \u2192 State\": \"Apparaat \u2192 Kanaal \u2192 Staat\",\n \"ra_Discard\": \"Weggooien\",\n \"ra_Disconnected\": \"Verbinding verbroken\",\n \"ra_Do not export values of states\": \"Exporteer geen waarden van staten\",\n \"ra_Do not use let's encrypt\": \"Gebruik geen let's encrypt\",\n \"ra_Double click to reset table layout\": \"Dubbelklik om de tafelindeling te resetten\",\n \"ra_Drag 'n' drop some files here, or click to select files\": \"Sleep enkele bestanden hierheen, of klik om bestanden te selecteren\",\n \"ra_Drop file here\": \"Zet het bestand hier neer\",\n \"ra_Drop the files here...\": \"Zet het bestand hier neer...\",\n \"ra_Duplicate name\": \"Dubbele naam\",\n \"ra_Edit ACL\": \"ACL bewerken\",\n \"ra_Edit alias\": \"Alias bewerken\",\n \"ra_Edit custom config\": \"Bewerk aangepaste config\",\n \"ra_Edit function\": \"Bewerkingsfunctie\",\n \"ra_Edit object field\": \"Bewerk objectveld\",\n \"ra_Edit role\": \"Rol bewerken\",\n \"ra_Edit room\": \"Kamer bewerken\",\n \"ra_Edit value\": \"Waarde bewerken\",\n \"ra_Error\": \"Fout\",\n \"ra_Expand all nodes\": \"Vouw alle knooppunten uit\",\n \"ra_Expand one step node\": \"Vouw een niveau uit\",\n \"ra_Export data to %s file\": \"Exporteer gegevens naar %s bestand\",\n \"ra_Failed to open JSON File\": \"JSON-bestand kan niet worden geopend\",\n \"ra_Fallback custom certificates\": \"Fallback aangepaste certificaten\",\n \"ra_File is too big. Max %sk allowed. Try use SVG.\": \"Bestand is te groot. Max. %sk toegestaan. Probeer SVG te gebruiken.\",\n \"ra_Filter\": \"Filter\",\n \"ra_Filter files\": \"Bestanden filteren\",\n \"ra_Folder name\": \"Naam van de map\",\n \"ra_Folder \u2192 Channel \u2192 State\": \"Map \u2192 Kanaal \u2192 Staat\",\n \"ra_Folder \u2192 Device \u2192 Channel \u2192 State\": \"Map \u2192 Apparaat \u2192 Kanaal \u2192 Staat\",\n \"ra_Folder \u2192 State\": \"Map \u2192 Staat\",\n \"ra_Folders always first\": \"Mappen altijd eerst\",\n \"ra_Friday\": \"Vrijdag\",\n \"ra_Good luck\": \"Veel geluk\",\n \"ra_Hide empty folders\": \"Verberg lege mappen\",\n \"ra_If no file will be created in the folder, it will disappear after the browser closed\": \"Als er geen bestand in de map wordt gemaakt, verdwijnt het nadat de browser is gesloten\",\n \"ra_Import data from %s file\": \"Importeer gegevens uit %s bestand\",\n \"ra_Import from %s\": \"Importeren uit %s\",\n \"ra_Instance %s is alive\": \"Instantie %s leeft\",\n \"ra_Instance %s is not alive\": \"Instantie %s is niet actief\",\n \"ra_Instance is not alive\": \"Instantie leeft niet\",\n \"ra_Invalid CRON\": \"Ongeldige CRON\",\n \"ra_Invalid JSON\": \"Ongeldige JSON\",\n \"ra_Invalid answer from server\": \"Ongeldig antwoord van de server\",\n \"ra_Invalid parent folder!\": \"Ongeldige bovenliggende map!\",\n \"ra_Invalid structure\": \"Ongeldige structuur\",\n \"ra_JSON editor\": \"JSON-editor\",\n \"ra_Last change\": \"Laatste wijziging\",\n \"ra_Latitude\": \"Breedtegraad\",\n \"ra_License %s\": \"Licentie %s\",\n \"ra_License agreement\": \"Licentieovereenkomst\",\n \"ra_License does not exist\": \"Licentie bestaat niet\",\n \"ra_License expired on %s\": \"Licentie verlopen op %s\",\n \"ra_License for other product \\\"%s\\\"\": \"Licentie voor ander product \\\"%s\\\"\",\n \"ra_License is for version %s, but required version is %s.\": \"Licentie is voor versie %s, maar vereiste versie is %s.\",\n \"ra_License must be converted\": \"Licentie moet worden omgezet naar nieuwere versie. U kunt dit doen in uw iobroker.net-profiel.\",\n \"ra_License not found in license manager. Do you want to read licenses from iobroker.net?\": \"Licentie niet gevonden in licentiebeheer. Wilt u licenties van iobroker.net bijwerken?\",\n \"ra_Listen on all IPs\": \"Luister op alle IP's\",\n \"ra_Load configuration from file\": \"Laad configuratie uit bestand\",\n \"ra_Longitude\": \"Lengtegraad\",\n \"ra_May not trigger \\\"updateLicenses\\\"\": \"Activeert mogelijk niet \\\"updateLicenses\\\"\",\n \"ra_Message\": \"Bericht\",\n \"ra_Monday\": \"Maandag\",\n \"ra_Move down\": \"Naar beneden verplaatsen\",\n \"ra_Move up\": \"Omhoog gaan\",\n \"ra_Name\": \"Naam\",\n \"ra_No data found in file\": \"Geen gegevens gevonden in bestand\",\n \"ra_No one license found in license manager\": \"Geen enkele licentie gevonden in licentiebeheer\",\n \"ra_No response from the backend\": \"Geen reactie van de backend\",\n \"ra_Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\": \"Niet-experts mogen alleen nieuwe objecten maken in \\\"0_userdata.0\\\" of \\\"alias.0\\\".\",\n \"ra_Not a number\": \"Geen nummer\",\n \"ra_Objects\": \"Voorwerpen\",\n \"ra_Ok\": \"OK\",\n \"ra_On weekdays\": \"Op weekdagen\",\n \"ra_Only following structures of objects are available:\": \"Alleen de volgende structuren van objecten zijn beschikbaar:\",\n \"ra_Only selected\": \"Alleen geselecteerd\",\n \"ra_Owner group\": \"Eigenaarsgroep\",\n \"ra_Owner user\": \"Eigenaar gebruiker\",\n \"ra_Passwords are not equal!\": \"Wachtwoorden zijn niet gelijk!\",\n \"ra_Place your files here or click here to open the browse dialog\": \"Plaats uw bestanden hier of klik hier om het bladervenster te openen\",\n \"ra_Please confirm\": \"Bevestig alstublieft\",\n \"ra_Please create license\": \"Maak een licentie aan\",\n \"ra_Please enter the license\": \"Voer de licentie in\",\n \"ra_Please select file...\": \"Selecteer bestand...\",\n \"ra_Please select object ID...\": \"Selecteer object-ID ...\",\n \"ra_Port could be used by %s\": \"Poort kan worden gebruikt door %s\",\n \"ra_Port is already used by %s\": \"Poort wordt al gebruikt door %s\",\n \"ra_Private certificate\": \"Priv\u00E9 certificaat\",\n \"ra_Product\": \"Product\",\n \"ra_Public certificate\": \"Openbaar certificaat\",\n \"ra_Quality code\": \"Kwaliteit\",\n \"ra_Refresh tree\": \"Vernieuw de boom\",\n \"ra_Reload files\": \"Laad bestanden opnieuw\",\n \"ra_Repeat\": \"Herhaling\",\n \"ra_Replace\": \"Vervangen\",\n \"ra_Request timed out\": \"Verzoek verlopen\",\n \"ra_Restrict to folder\": \"Beperken tot map\",\n \"ra_Root\": \"Wortel\",\n \"ra_Saturday\": \"Zaterdag\",\n \"ra_Save\": \"Sparen\",\n \"ra_Save and close\": \"Opslaan en afsluiten\",\n \"ra_Save configuration to file\": \"Sla de configuratie op in een bestand\",\n \"ra_Save objects tree as JSON file\": \"Sla de objectenboom op als JSON-bestand\",\n \"ra_Select all\": \"Selecteer alles\",\n \"ra_Select color\": \"Selecteer kleur\",\n \"ra_Select predefined icon\": \"Selecteer voorgedefinieerd pictogram\",\n \"ra_Select type of export\": \"Selecteer het type export\",\n \"ra_Selected\": \"Geselecteerd\",\n \"ra_Selected %s object(s)\": \"Geselecteerde %s object(en)\",\n \"ra_Serial number (UUID)\": \"Serienummer (UUID)\",\n \"ra_Serial number (UUID) \\\"%s\\\" in license is for other device.\": \"Serienummer (UUID) \\\"%s\\\" in licentie is voor ander apparaat.\",\n \"ra_Show all folders\": \"Toon alle mappen\",\n \"ra_Show lines between rows\": \"Toon lijnen tussen rijen\",\n \"ra_Show/Hide object descriptions\": \"Toon/verberg objectbeschrijvingen\",\n \"ra_Show/hide filter input\": \"Filterinvoer weergeven/verbergen\",\n \"ra_Some data are not stored. Discard?\": \"Sommige gegevens worden niet opgeslagen. Weggooien?\",\n \"ra_States\": \"Staten\",\n \"ra_Suitable license not found in license manager\": \"Geschikte licentie niet gevonden in licentiebeheer\",\n \"ra_Sunday\": \"Zondag\",\n \"ra_Suppress question for next %s minutes\": \"Vraag de volgende %s minuten onderdrukken\",\n \"ra_System language\": \"Systeemtaal\",\n \"ra_Take browser position\": \"Positie innemen vanuit de browser\",\n \"ra_Take position from system settings\": \"Neem positie over van systeeminstellingen\",\n \"ra_The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\": \"De experts kunnen overal objecten maken, behalve vanaf het tweede niveau (bijv. \\\"Vis.0\\\" of \\\"javascript.0\\\").\",\n \"ra_The page you are looking for was not found\": \"De pagina die u zoekt is niet gevonden\",\n \"ra_The schedule will be executed every minute. Are you sure?\": \"Het schema wordt elke minuut uitgevoerd. Weet u het zeker?\",\n \"ra_The schedule will be executed every second. Are you sure?\": \"Het schema wordt elke seconde uitgevoerd. Weet je het zeker?\",\n \"ra_Thursday\": \"Donderdag\",\n \"ra_Timestamp\": \"Tijdstempel\",\n \"ra_Toggle expert mode\": \"Schakel tussen expertmodus\",\n \"ra_Toggle the states view\": \"Schakel de statusweergave in of uit\",\n \"ra_Toggle view mode\": \"Schakelen tussen weergavemodus\",\n \"ra_Too big\": \"Te groot\",\n \"ra_Too small\": \"Te klein\",\n \"ra_Transparent dialog\": \"Transparant dialoogvenster\",\n \"ra_Tuesday\": \"Dinsdag\",\n \"ra_Unknown error\": \"Onbekende fout\",\n \"ra_Unknown error!\": \"Onbekende fout!\",\n \"ra_Update\": \"Bijwerken\",\n \"ra_Upload file\": \"Upload bestand\",\n \"ra_Use all available let's encrypt certificates\": \"Gebruik alle beschikbare Let's Encrypt-certificaten\",\n \"ra_Use iobroker.acme adapter for letsencrypt certificates\": \"Gebruik de iobroker.acme-adapter voor letsencrypt-certificaten\",\n \"ra_Use system settings for position\": \"Gebruik systeeminstellingen voor positie\",\n \"ra_Used system settings\": \"Gebruikte systeeminstellingen\",\n \"ra_User files\": \"Gebruikersbestanden\",\n \"ra_ValidTill\": \"Geldig tot\",\n \"ra_Value\": \"Waarde\",\n \"ra_Version\": \"Versie\",\n \"ra_View file\": \"Bestand bekijken\",\n \"ra_View: %s\": \"Bekijk: %s\",\n \"ra_Wednesday\": \"Woensdag\",\n \"ra_Width\": \"Breedte\",\n \"ra_Yes\": \"Ja\",\n \"ra_You can export all objects or just the selected branch.\": \"U kunt alle objecten of alleen de geselecteerde tak exporteren.\",\n \"ra_You can filter entries by entering here some text\": \"U kunt items filteren door hier wat tekst in te voeren\",\n \"ra___different__\": \"verschillend\",\n \"ra_aclEveryone_read_object\": \"Iedereen kan object lezen\",\n \"ra_aclEveryone_read_state\": \"Iedereen kan staat lezen\",\n \"ra_aclEveryone_write_object\": \"Iedereen kan object schrijven\",\n \"ra_aclEveryone_write_state\": \"Iedereen kan staat schrijven\",\n \"ra_aclGroup_read_object\": \"Groep kan object lezen\",\n \"ra_aclGroup_read_state\": \"Groep kan status lezen\",\n \"ra_aclGroup_write_object\": \"Groep kan object schrijven\",\n \"ra_aclGroup_write_state\": \"Groep kan staat schrijven\",\n \"ra_aclOwner_read_object\": \"Eigenaar kan object lezen\",\n \"ra_aclOwner_read_state\": \"Eigenaar kan staat lezen\",\n \"ra_aclOwner_write_object\": \"Eigenaar kan object schrijven\",\n \"ra_aclOwner_write_state\": \"Eigenaar kan staat schrijven\",\n \"ra_buttons\": \"Toetsen\",\n \"ra_changedFrom\": \"Veranderd van\",\n \"ra_close\": \"dichtbij\",\n \"ra_create_boolean_state\": \"Cre\u00EBer een Booleaanse status\",\n \"ra_create_channel\": \"Kanaal maken\",\n \"ra_create_device\": \"Apparaat maken\",\n \"ra_create_number_state\": \"Nummerstatus maken\",\n \"ra_create_state\": \"Staat cre\u00EBren\",\n \"ra_create_string_state\": \"Tekenreeksstatus maken\",\n \"ra_daysShortText\": \"d.\",\n \"ra_dow_Fr\": \"Fr\",\n \"ra_dow_Mo\": \"Mo\",\n \"ra_dow_Sa\": \"Za\",\n \"ra_dow_Su\": \"Zo\",\n \"ra_dow_Th\": \"Th\",\n \"ra_dow_Tu\": \"Tu\",\n \"ra_dow_We\": \"Wij\",\n \"ra_expertMode\": \"Expert modus\",\n \"ra_fileType_all\": \"Alle bestanden\",\n \"ra_fileType_audio\": \"Audio\",\n \"ra_fileType_code\": \"Code/JSON\",\n \"ra_fileType_images\": \"Afbeeldingen\",\n \"ra_fileType_txt\": \"Tekst\",\n \"ra_fileType_video\": \"Video\",\n \"ra_fileType_video,\": \"Video\",\n \"ra_filter_customs\": \"Instellingen\",\n \"ra_filter_customs_without\": \"zonder\",\n \"ra_filter_func\": \"Functie\",\n \"ra_filter_id\": \"ID\",\n \"ra_filter_name\": \"Naam\",\n \"ra_filter_role\": \"Rol\",\n \"ra_filter_room\": \"Kamer\",\n \"ra_filter_type\": \"Type\",\n \"ra_import data from %s file\": \"Importeer gegevens uit %s bestand\",\n \"ra_invalidConfig\": \"Ongeldige instellingen\",\n \"ra_lastChange\": \"Laatste wijziging\",\n \"ra_locally\": \"plaatselijk\",\n \"ra_month_Apr\": \"april\",\n \"ra_month_Aug\": \"aug\",\n \"ra_month_Dec\": \"dec\",\n \"ra_month_Feb\": \"februari\",\n \"ra_month_Jan\": \"jan\",\n \"ra_month_Jul\": \"jul\",\n \"ra_month_Jun\": \"juni\",\n \"ra_month_Mai\": \"Mei\",\n \"ra_month_Mar\": \"mrt\",\n \"ra_month_Nov\": \"nov\",\n \"ra_month_Oct\": \"Okt\",\n \"ra_month_Sep\": \"sept\",\n \"ra_months_Apr\": \"april\",\n \"ra_months_Aug\": \"aug\",\n \"ra_months_Dec\": \"dec\",\n \"ra_months_Feb\": \"februari\",\n \"ra_months_Jan\": \"jan\",\n \"ra_months_Jul\": \"jul\",\n \"ra_months_Jun\": \"juni\",\n \"ra_months_Mai\": \"Mei\",\n \"ra_months_Mar\": \"mrt\",\n \"ra_months_Nov\": \"nov\",\n \"ra_months_Oct\": \"Okt\",\n \"ra_months_Sep\": \"sept\",\n \"ra_none\": \"geen\",\n \"ra_object_changed_by\": \"Object veranderd door\",\n \"ra_object_changed_by_user\": \"Object voor het laatst gewijzigd om\",\n \"ra_otherConfig\": \"Instellingen van andere adapter %s\",\n \"ra_qualityCode\": \"Kwaliteitscode\",\n \"ra_repeat\": \"herhalen\",\n \"ra_select_folder_hint\": \"Om een map te selecteren, houdt u gewoon de toets \\\"shift\\\" ingedrukt door op de map te klikken.\",\n \"ra_state_changed_by\": \"Staat veranderd door\",\n \"ra_state_changed_from\": \"Object veranderd van\",\n \"ra_timestamp\": \"Tijdstempel\",\n \"ra_tooltip_ack\": \"Erkende vlag\",\n \"ra_tooltip_comment\": \"Opmerking\",\n \"ra_tooltip_copyState\": \"Kopieer de statuswaarde\",\n \"ra_tooltip_customConfig\": \"Aangepaste instellingen\",\n \"ra_tooltip_deleteObject\": \"Object verwijderen\",\n \"ra_tooltip_editObject\": \"Object bewerken\",\n \"ra_tooltip_editState\": \"Bewerk de statuswaarde\",\n \"ra_tooltip_from\": \"Van\",\n \"ra_tooltip_lc\": \"Laatst gewijzigd\",\n \"ra_tooltip_quality\": \"Kwaliteit\",\n \"ra_tooltip_ts\": \"Tijdstempel\",\n \"ra_tooltip_user\": \"Gebruiker\",\n \"ra_tooltip_value\": \"Waarde\",\n \"ra_use seconds\": \"gebruik seconden\",\n \"ra_val\": \"Waarde\",\n \"ra_via internet\": \"via internet\",\n \"ra_warning_every_minute\": \"Waarschuwing: De CRON-taak wordt elke minuut uitgevoerd gedurende de opgegeven periode!\",\n \"ra_warning_every_second\": \"Waarschuwing: De CRON-taak wordt elke seconde uitgevoerd gedurende de opgegeven periode!\",\n \"sc_cron\": \"CRON\",\n \"sc_date\": \"Datum\",\n \"sc_dates\": \"data\",\n \"sc_dow\": \"Dag\",\n \"sc_dows\": \"Dag van de week\",\n \"sc_every\": \"elk\",\n \"sc_everyN_dates\": \"elke N dagen\",\n \"sc_everyN_dow\": \"elke N-de dag van de week\",\n \"sc_everyN_dows\": \"elke N dag van de week\",\n \"sc_everyN_hours\": \"elke N uur\",\n \"sc_everyN_minutes\": \"elke N minuten\",\n \"sc_everyN_months\": \"elke N maanden\",\n \"sc_everyN_seconds\": \"elke N seconden\",\n \"sc_every_dates\": \"elke dag\",\n \"sc_every_dow\": \"elke dag van de week\",\n \"sc_every_dows\": \"elke dag van de week\",\n \"sc_every_hours\": \"elk uur\",\n \"sc_every_minutes\": \"elke minuut\",\n \"sc_every_months\": \"elke maand\",\n \"sc_every_seconds\": \"elke seconde\",\n \"sc_from\": \"Van\",\n \"sc_hours\": \"uren\",\n \"sc_interval\": \"Interval\",\n \"sc_intervalBetween\": \"Interval tussen\",\n \"sc_invalid_cron\": \"Ongeldige CRON\",\n \"sc_minutes\": \"Notulen\",\n \"sc_months\": \"maanden\",\n \"sc_once\": \"Een keer\",\n \"sc_period\": \"Periode\",\n \"sc_seconds\": \"seconden\",\n \"sc_simple\": \"Gemakkelijk\",\n \"sc_specific\": \"Specifieke tijd\",\n \"sc_specific_dates\": \"specifieke data\",\n \"sc_specific_dow\": \"specifieke dag(en) van de week\",\n \"sc_specific_dows\": \"specifieke dag van weken\",\n \"sc_specific_hours\": \"specifieke uren\",\n \"sc_specific_minutes\": \"specifieke minuten\",\n \"sc_specific_months\": \"specifieke maanden\",\n \"sc_specific_seconds\": \"specifieke seconden\",\n \"sc_time\": \"Tijd\",\n \"sc_to\": \"Naar\",\n \"sc_wizard\": \"tovenaar\",\n \"sch_all\": \"allemaal\",\n \"sch_astroDay\": \"Astro-dag\",\n \"sch_astroNight\": \"Astro-nacht\",\n \"sch_astro_dawn\": \"Dageraad\",\n \"sch_astro_dusk\": \"Schemer\",\n \"sch_astro_goldenHour\": \"gouden uur\",\n \"sch_astro_goldenHourEnd\": \"Gouden uur einde\",\n \"sch_astro_nadir\": \"Nadir\",\n \"sch_astro_nauticalDawn\": \"Nautische dageraad\",\n \"sch_astro_nauticalDusk\": \"Nautische schemering\",\n \"sch_astro_night\": \"Nacht\",\n \"sch_astro_nightEnd\": \"Nacht einde\",\n \"sch_astro_solarNoon\": \"Zonne middag\",\n \"sch_astro_sunrise\": \"zonsopkomst\",\n \"sch_astro_sunriseEnd\": \"Sunrise einde\",\n \"sch_astro_sunset\": \"Zonsondergang\",\n \"sch_astro_sunsetStart\": \"Zonsondergang start\",\n \"sch_at\": \"Bij\",\n \"sch_desc_atTime\": \"op %s\",\n \"sch_desc_everyDay\": \"elke dag\",\n \"sch_desc_everyHour\": \"elk uur\",\n \"sch_desc_everyMinute\": \"elke minuut\",\n \"sch_desc_everyMonth\": \"elke maand\",\n \"sch_desc_everyNDay\": \"elke %s dag\",\n \"sch_desc_everyNHours\": \"elke %s uur\",\n \"sch_desc_everyNMinutes\": \"elke %s minuten\",\n \"sch_desc_everyNMonths\": \"elke %s maanden\",\n \"sch_desc_everyNWeeks\": \"elke %s weken\",\n \"sch_desc_everyNYears\": \"elke %s jaar\",\n \"sch_desc_everyWeek\": \"elke week\",\n \"sch_desc_everyYear\": \"elk jaar\",\n \"sch_desc_intervalFromTo\": \"van %s tot %s\",\n \"sch_desc_never\": \"nooit\",\n \"sch_desc_onDate\": \"op %s van %s\",\n \"sch_desc_onDates\": \"op %s en %s van\",\n \"sch_desc_onEveryDate\": \"op elke datum van\",\n \"sch_desc_onMonth\": \"%s\",\n \"sch_desc_onMonths\": \"%s en %s\",\n \"sch_desc_onWeekday\": \"op %s\",\n \"sch_desc_onWeekdays\": \"op %s en %s\",\n \"sch_desc_onWeekends\": \"in het weekend\",\n \"sch_desc_onWorkdays\": \"op werkdagen\",\n \"sch_desc_onceInPast\": \"zal niet meer worden uitgevoerd, omdat start verleden tijd is\",\n \"sch_desc_once_on\": \"op %s\",\n \"sch_desc_validFrom\": \"van %s\",\n \"sch_desc_validFromTo\": \"Uitvoeren van tot\",\n \"sch_desc_validTo\": \"tot %s\",\n \"sch_every\": \"elk\",\n \"sch_exactTime\": \"Specifieke tijd\",\n \"sch_from\": \"van\",\n \"sch_fromTo\": \"Van naar\",\n \"sch_intervalTime\": \"Interval tijd\",\n \"sch_invert\": \"omkeren\",\n \"sch_no_one\": \"geen\",\n \"sch_on\": \"Aan\",\n \"sch_period\": \"Periode\",\n \"sch_periodDaily\": \"Dagelijks\",\n \"sch_periodDates\": \"data\",\n \"sch_periodDay\": \"Dag\",\n \"sch_periodEvery\": \"elk\",\n \"sch_periodEveryDay\": \"Elke dag\",\n \"sch_periodEveryMonth\": \"Elke maand\",\n \"sch_periodEveryWeek\": \"Elke week\",\n \"sch_periodEveryYear\": \"Elk jaar\",\n \"sch_periodHours\": \"uren\",\n \"sch_periodMinutes\": \"Notulen\",\n \"sch_periodMonth\": \"maand\",\n \"sch_periodMonthly\": \"Maandelijks\",\n \"sch_periodOnce\": \"Een keer\",\n \"sch_periodSpecificMonths\": \"Specifieke maanden\",\n \"sch_periodWeek\": \"Week\",\n \"sch_periodWeekdays\": \"Doordeweekse dagen\",\n \"sch_periodWeekend\": \"Weekend\",\n \"sch_periodWeekly\": \"Wekelijks\",\n \"sch_periodWorkdays\": \"werkdagen\",\n \"sch_periodYear\": \"Jaar\",\n \"sch_periodYearly\": \"jaar-\",\n \"sch_specificTime\": \"Specifieke tijd\",\n \"sch_time\": \"Tijd\",\n \"sch_to\": \"naar\",\n \"sch_valid\": \"Geldig\",\n \"sch_validFrom\": \"van\",\n \"sch_validTo\": \"naar\",\n \"sch_wholeDay\": \"Hele dag\",\n \"sch_yearEveryMonth\": \"elke maand\"\n}\n", "{\n \"ra_%s links from aliases\": \"%s liens provenant d'alias\",\n \"ra_%s object(s) processed\": \"%s objet(s) trait\u00E9(s)\",\n \"ra_%s was imported\": \"%s a \u00E9t\u00E9 import\u00E9\",\n \"ra_Accept license\": \"Accepter la licence\",\n \"ra_Add new child object to selected parent\": \"Ajouter un nouvel objet enfant au parent s\u00E9lectionn\u00E9\",\n \"ra_Add objects tree from JSON file\": \"Ajouter une arborescence d'objets \u00E0 partir d'un fichier JSON\",\n \"ra_Add row\": \"Ajouter une rang\u00E9e\",\n \"ra_Advanced options\": \"Options avanc\u00E9es\",\n \"ra_All items are filtered out\": \"Tous les \u00E9l\u00E9ments sont filtr\u00E9s\",\n \"ra_All objects\": \"Tous les objets\",\n \"ra_Append\": \"Ajouter\",\n \"ra_Append %s entries or replace existing?\": \"Ajouter %s entr\u00E9es ou remplacer l'existant\u00A0?\",\n \"ra_Append or replace?\": \"Ajouter ou remplacer\u00A0?\",\n \"ra_Are you sure?\": \"\u00CAtes-vous s\u00FBr?\",\n \"ra_Auto (no custom columns)\": \"Auto (pas de colonnes personnalis\u00E9es)\",\n \"ra_Back to %s\": \"Retour \u00E0 %s\",\n \"ra_Background image\": \"Image de fond\",\n \"ra_Cancel\": \"Annuler\",\n \"ra_Cannot add items with set filter\": \"Impossible d'ajouter des \u00E9l\u00E9ments avec le filtre d\u00E9fini\",\n \"ra_Cannot decode license\": \"Impossible de d\u00E9coder la licence\",\n \"ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser\": \"Impossible de d\u00E9terminer la position\u00A0: les param\u00E8tres syst\u00E8me sont vides et la d\u00E9tection GPS est d\u00E9sactiv\u00E9e dans le navigateur\",\n \"ra_Cannot find \\\"%s\\\"\": \"Impossible de trouver \\\"%s\\\"\",\n \"ra_Cannot read \\\"%s\\\"\": \"Impossible de lire \\\"%s\\\"\",\n \"ra_Cannot read licenses: %s\": \"Impossible de lire les licences\u00A0: %s\",\n \"ra_Cannot retrieve options, as instance is offline\": \"Impossible de r\u00E9cup\u00E9rer les options, car l'instance est hors ligne\",\n \"ra_Cannot update attribute, because not found in the object\": \"Impossible de mettre \u00E0 jour l'attribut, car il est introuvable dans l'objet\",\n \"ra_Cannot upload\": \"Impossible de t\u00E9l\u00E9charger\",\n \"ra_Categories\": \"Cat\u00E9gories\",\n \"ra_Chained certificate\": \"Certificat cha\u00EEn\u00E9\",\n \"ra_Change color theme\": \"Changer le th\u00E8me de couleur\",\n \"ra_Changed from\": \"Chang\u00E9 de\",\n \"ra_Channel \u2192 State\": \"Canal \u2192 \u00C9tat\",\n \"ra_Check license\": \"V\u00E9rifier la licence\",\n \"ra_Checked\": \"V\u00E9rifi\u00E9\",\n \"ra_Clear\": \"Effacer\",\n \"ra_Clear filter\": \"Effacer le filtre\",\n \"ra_Clear icon\": \"Effacer l'ic\u00F4ne\",\n \"ra_Clone current row\": \"Cloner la ligne actuelle\",\n \"ra_Close\": \"Fermer\",\n \"ra_Collapse all nodes\": \"R\u00E9duire tous les n\u0153uds\",\n \"ra_Collapse one step node\": \"R\u00E9duire d'un niveau\",\n \"ra_Commercial\": \"Commercial\",\n \"ra_Configure\": \"Configurer\",\n \"ra_Configure visible columns\": \"Configurer les colonnes visibles\",\n \"ra_Confirm deletion of %s\": \"Confirmer la suppression de %s\",\n \"ra_Connected\": \"Li\u00E9\",\n \"ra_Copied\": \"Copi\u00E9\",\n \"ra_Copied %s\": \"\\\"%s\\\" copi\u00E9\",\n \"ra_Copy content\": \"Copier le contenu\",\n \"ra_Create\": \"Cr\u00E9er\",\n \"ra_Create alias\": \"Cr\u00E9er un alias\",\n \"ra_Create folder\": \"Cr\u00E9er le dossier\",\n \"ra_Create new folder in %s\": \"Cr\u00E9er un nouveau dossier dans %s\",\n \"ra_Crop\": \"Recadrer\",\n \"ra_Define CRON...\": \"D\u00E9finir CRON...\",\n \"ra_Define functions\": \"D\u00E9finir des fonctions\",\n \"ra_Define rooms\": \"D\u00E9finir des pi\u00E8ces\",\n \"ra_Define schedule\": \"D\u00E9finir le calendrier\",\n \"ra_Define schedule...\": \"D\u00E9finir le calendrier ...\",\n \"ra_Del\": \"Delete\",\n \"ra_Delete\": \"Supprimer\",\n \"ra_Delete (no confirm for 5 mins)\": \"Supprimer (pas de confirmation pendant 5 minutes)\",\n \"ra_Delete current row\": \"Supprimer la ligne actuelle\",\n \"ra_Deselect all\": \"Tout d\u00E9selectionner\",\n \"ra_Device \u2192 Channel \u2192 State\": \"Appareil \u2192 Canal \u2192 \u00C9tat\",\n \"ra_Discard\": \"Jeter\",\n \"ra_Disconnected\": \"D\u00E9branch\u00E9\",\n \"ra_Do not export values of states\": \"Ne pas exporter les valeurs des \u00E9tats\",\n \"ra_Do not use let's encrypt\": \"Ne pas utiliser let's encrypt\",\n \"ra_Double click to reset table layout\": \"Double-cliquez pour r\u00E9initialiser la disposition du tableau\",\n \"ra_Drag 'n' drop some files here, or click to select files\": \"Glissez-d\u00E9posez des fichiers ici, ou cliquez pour s\u00E9lectionner des fichiers\",\n \"ra_Drop file here\": \"D\u00E9poser le fichier ici\",\n \"ra_Drop the files here...\": \"D\u00E9posez le fichier ici...\",\n \"ra_Duplicate name\": \"Nom en double\",\n \"ra_Edit ACL\": \"Modifier la LCA\",\n \"ra_Edit alias\": \"Modifier l'alias\",\n \"ra_Edit custom config\": \"Modifier la configuration personnalis\u00E9e\",\n \"ra_Edit function\": \"Fonction d'\u00E9dition\",\n \"ra_Edit object field\": \"Modifier le champ d'objet\",\n \"ra_Edit role\": \"Modifier le r\u00F4le\",\n \"ra_Edit room\": \"Modifier la salle\",\n \"ra_Edit value\": \"Modifier la valeur\",\n \"ra_Error\": \"Erreur\",\n \"ra_Expand all nodes\": \"D\u00E9velopper tous les n\u0153uds\",\n \"ra_Expand one step node\": \"D\u00E9velopper un niveau\",\n \"ra_Export data to %s file\": \"Exporter les donn\u00E9es vers le fichier %s\",\n \"ra_Failed to open JSON File\": \"\u00C9chec de l'ouverture du fichier JSON\",\n \"ra_Fallback custom certificates\": \"Certificats personnalis\u00E9s de secours\",\n \"ra_File is too big. Max %sk allowed. Try use SVG.\": \"Le fichier est trop volumineux. Max %sk autoris\u00E9. Essayez d'utiliser SVG.\",\n \"ra_Filter\": \"Filtre\",\n \"ra_Filter files\": \"Filtrer les fichiers\",\n \"ra_Folder name\": \"Nom de dossier\",\n \"ra_Folder \u2192 Channel \u2192 State\": \"Dossier \u2192 Cha\u00EEne \u2192 \u00C9tat\",\n \"ra_Folder \u2192 Device \u2192 Channel \u2192 State\": \"Dossier \u2192 Appareil \u2192 Canal \u2192 \u00C9tat\",\n \"ra_Folder \u2192 State\": \"Dossier \u2192 \u00C9tat\",\n \"ra_Folders always first\": \"Les dossiers toujours en premier\",\n \"ra_Friday\": \"Vendredi\",\n \"ra_Good luck\": \"Bonne chance\",\n \"ra_Hide empty folders\": \"Masquer les dossiers vides\",\n \"ra_If no file will be created in the folder, it will disappear after the browser closed\": \"Si aucun fichier ne sera cr\u00E9\u00E9 dans le dossier, il dispara\u00EEtra apr\u00E8s la fermeture du navigateur\",\n \"ra_Import data from %s file\": \"Importer des donn\u00E9es \u00E0 partir du fichier %s\",\n \"ra_Import from %s\": \"Importer depuis %s\",\n \"ra_Instance %s is alive\": \"L'instance %s est active\",\n \"ra_Instance %s is not alive\": \"L'instance %s n'est pas active\",\n \"ra_Instance is not alive\": \"L'instance n'est pas active\",\n \"ra_Invalid CRON\": \"CRON invalide\",\n \"ra_Invalid JSON\": \"JSON invalide\",\n \"ra_Invalid answer from server\": \"R\u00E9ponse invalide du serveur\",\n \"ra_Invalid parent folder!\": \"Dossier parent non valide!\",\n \"ra_Invalid structure\": \"Structure invalide\",\n \"ra_JSON editor\": \"\u00C9diteur JSON\",\n \"ra_Last change\": \"Dernier changement\",\n \"ra_Latitude\": \"Latitude\",\n \"ra_License %s\": \"Licence %s\",\n \"ra_License agreement\": \"Accord de licence\",\n \"ra_License does not exist\": \"La licence n'existe pas\",\n \"ra_License expired on %s\": \"Licence expir\u00E9e le %s\",\n \"ra_License for other product \\\"%s\\\"\": \"Licence pour un autre produit \\\"%s\\\"\",\n \"ra_License is for version %s, but required version is %s.\": \"La licence est pour la version %s, mais la version requise est %s.\",\n \"ra_License must be converted\": \"La licence doit \u00EAtre convertie en une version plus r\u00E9cente. Vous pouvez le faire dans votre profil iobroker.net.\",\n \"ra_License not found in license manager. Do you want to read licenses from iobroker.net?\": \"Licence introuvable dans le gestionnaire de licences. Voulez-vous mettre \u00E0 jour les licences depuis iobroker.net\u00A0?\",\n \"ra_Listen on all IPs\": \"\u00C9coutez sur toutes les adresses IP\",\n \"ra_Load configuration from file\": \"Charger la configuration \u00E0 partir du fichier\",\n \"ra_Longitude\": \"Longitude\",\n \"ra_May not trigger \\\"updateLicenses\\\"\": \"Peut ne pas d\u00E9clencher \\\"updateLicences\\\"\",\n \"ra_Message\": \"Message\",\n \"ra_Monday\": \"Lundi\",\n \"ra_Move down\": \"Descendre\",\n \"ra_Move up\": \"D\u00E9placer vers le haut\",\n \"ra_Name\": \"Nom\",\n \"ra_No data found in file\": \"Aucune donn\u00E9e trouv\u00E9e dans le fichier\",\n \"ra_No one license found in license manager\": \"Aucune licence trouv\u00E9e dans le gestionnaire de licences\",\n \"ra_No response from the backend\": \"Aucune r\u00E9ponse du backend\",\n \"ra_Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\": \"Les non-experts ne peuvent cr\u00E9er de nouveaux objets que dans \\\"0_userdata.0\\\" ou \\\"alias.0\\\".\",\n \"ra_Not a number\": \"Pas un num\u00E9ro\",\n \"ra_Objects\": \"Objets\",\n \"ra_Ok\": \"D'accord\",\n \"ra_On weekdays\": \"En semaine\",\n \"ra_Only following structures of objects are available:\": \"Seules les structures d'objets suivantes sont disponibles:\",\n \"ra_Only selected\": \"Uniquement s\u00E9lectionn\u00E9\",\n \"ra_Owner group\": \"Groupe propri\u00E9taire\",\n \"ra_Owner user\": \"Utilisateur propri\u00E9taire\",\n \"ra_Passwords are not equal!\": \"Les mots de passe ne sont pas \u00E9gaux !\",\n \"ra_Place your files here or click here to open the browse dialog\": \"Placez vos fichiers ici ou cliquez ici pour ouvrir la bo\u00EEte de dialogue de navigation\",\n \"ra_Please confirm\": \"Veuillez confirmer\",\n \"ra_Please create license\": \"Veuillez cr\u00E9er une licence\",\n \"ra_Please enter the license\": \"Veuillez entrer la licence\",\n \"ra_Please select file...\": \"Veuillez s\u00E9lectionner le fichier...\",\n \"ra_Please select object ID...\": \"Veuillez s\u00E9lectionner l'ID d'objet ...\",\n \"ra_Port could be used by %s\": \"Le port pourrait \u00EAtre utilis\u00E9 par %s\",\n \"ra_Port is already used by %s\": \"Le port est d\u00E9j\u00E0 utilis\u00E9 par %s\",\n \"ra_Private certificate\": \"Certificat priv\u00E9\",\n \"ra_Product\": \"Produit\",\n \"ra_Public certificate\": \"Certificat public\",\n \"ra_Quality code\": \"Qualit\u00E9\",\n \"ra_Refresh tree\": \"Rafra\u00EEchir l'arborescence\",\n \"ra_Reload files\": \"Recharger les fichiers\",\n \"ra_Repeat\": \"R\u00E9p\u00E9ter\",\n \"ra_Replace\": \"Remplacer\",\n \"ra_Request timed out\": \"La demande a expir\u00E9\",\n \"ra_Restrict to folder\": \"Restreindre au dossier\",\n \"ra_Root\": \"Racine\",\n \"ra_Saturday\": \"Samedi\",\n \"ra_Save\": \"sauver\",\n \"ra_Save and close\": \"Sauver et fermer\",\n \"ra_Save configuration to file\": \"Enregistrer la configuration dans un fichier\",\n \"ra_Save objects tree as JSON file\": \"Enregistrer l'arborescence des objets en tant que fichier JSON\",\n \"ra_Select all\": \"Tout s\u00E9lectionner\",\n \"ra_Select color\": \"Choisissez la couleur\",\n \"ra_Select predefined icon\": \"S\u00E9lectionnez l'ic\u00F4ne pr\u00E9d\u00E9finie\",\n \"ra_Select type of export\": \"S\u00E9lectionnez le type d'exportation\",\n \"ra_Selected\": \"Choisi\",\n \"ra_Selected %s object(s)\": \"Objet(s) %s s\u00E9lectionn\u00E9(s)\",\n \"ra_Serial number (UUID)\": \"Num\u00E9ro de s\u00E9rie (UUID)\",\n \"ra_Serial number (UUID) \\\"%s\\\" in license is for other device.\": \"Le num\u00E9ro de s\u00E9rie (UUID) \\\"%s\\\" dans la licence est pour un autre appareil.\",\n \"ra_Show all folders\": \"Afficher tous les dossiers\",\n \"ra_Show lines between rows\": \"Afficher les lignes entre les lignes\",\n \"ra_Show/Hide object descriptions\": \"Afficher/Masquer les descriptions d'objets\",\n \"ra_Show/hide filter input\": \"Afficher/masquer l'entr\u00E9e de filtre\",\n \"ra_Some data are not stored. Discard?\": \"Certaines donn\u00E9es ne sont pas stock\u00E9es. Jeter?\",\n \"ra_States\": \"\u00C9tats\",\n \"ra_Suitable license not found in license manager\": \"Licence appropri\u00E9e introuvable dans le gestionnaire de licences\",\n \"ra_Sunday\": \"Dimanche\",\n \"ra_Suppress question for next %s minutes\": \"Supprimer la question pour les %s prochaines minutes\",\n \"ra_System language\": \"Langue du syst\u00E8me\",\n \"ra_Take browser position\": \"Prendre position depuis le navigateur\",\n \"ra_Take position from system settings\": \"Prendre position \u00E0 partir des param\u00E8tres syst\u00E8me\",\n \"ra_The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\": \"Les experts peuvent cr\u00E9er des objets partout mais \u00E0 partir du deuxi\u00E8me niveau (par exemple \\\"vis.0\\\" ou \\\"javascript.0\\\").\",\n \"ra_The page you are looking for was not found\": \"La page que vous recherchez n'a pas \u00E9t\u00E9 trouv\u00E9e\",\n \"ra_The schedule will be executed every minute. Are you sure?\": \"Le planning sera ex\u00E9cut\u00E9 toutes les minutes. \u00CAtes-vous s\u00FBr ?\",\n \"ra_The schedule will be executed every second. Are you sure?\": \"Le planning sera ex\u00E9cut\u00E9 toutes les secondes. \u00CAtes-vous s\u00FBr ?\",\n \"ra_Thursday\": \"Jeudi\",\n \"ra_Timestamp\": \"Horodatage\",\n \"ra_Toggle expert mode\": \"Basculer en mode expert\",\n \"ra_Toggle the states view\": \"Basculer la vue des \u00E9tats\",\n \"ra_Toggle view mode\": \"Basculer le mode d'affichage\",\n \"ra_Too big\": \"Trop grand\",\n \"ra_Too small\": \"Trop petit\",\n \"ra_Transparent dialog\": \"Dialogue transparent\",\n \"ra_Tuesday\": \"Mardi\",\n \"ra_Unknown error\": \"Erreur inconnue\",\n \"ra_Unknown error!\": \"Erreur inconnue!\",\n \"ra_Update\": \"Mise \u00E0 jour\",\n \"ra_Upload file\": \"T\u00E9l\u00E9verser un fichier\",\n \"ra_Use all available let's encrypt certificates\": \"Utilisez tous les certificats let's encrypt disponibles\",\n \"ra_Use iobroker.acme adapter for letsencrypt certificates\": \"Utiliser l'adaptateur iobroker.acme pour les certificats Letsencrypt\",\n \"ra_Use system settings for position\": \"Utiliser les param\u00E8tres syst\u00E8me pour la position\",\n \"ra_Used system settings\": \"Param\u00E8tres syst\u00E8me utilis\u00E9s\",\n \"ra_User files\": \"Fichiers utilisateurs\",\n \"ra_ValidTill\": \"Valable jusqu'au\",\n \"ra_Value\": \"Valeur\",\n \"ra_Version\": \"Version\",\n \"ra_View file\": \"Voir la fiche\",\n \"ra_View: %s\": \"Affichage : %s\",\n \"ra_Wednesday\": \"Mercredi\",\n \"ra_Width\": \"Largeur\",\n \"ra_Yes\": \"Oui\",\n \"ra_You can export all objects or just the selected branch.\": \"Vous pouvez exporter tous les objets ou uniquement la branche s\u00E9lectionn\u00E9e.\",\n \"ra_You can filter entries by entering here some text\": \"Vous pouvez filtrer les entr\u00E9es en saisissant ici du texte\",\n \"ra___different__\": \"diff\u00E9rent\",\n \"ra_aclEveryone_read_object\": \"Tout le monde peut lire un objet\",\n \"ra_aclEveryone_read_state\": \"Tout le monde peut lire l'\u00E9tat\",\n \"ra_aclEveryone_write_object\": \"Tout le monde peut \u00E9crire un objet\",\n \"ra_aclEveryone_write_state\": \"Tout le monde peut \u00E9crire l'\u00E9tat\",\n \"ra_aclGroup_read_object\": \"Le groupe peut lire l'objet\",\n \"ra_aclGroup_read_state\": \"Le groupe peut lire l'\u00E9tat\",\n \"ra_aclGroup_write_object\": \"Le groupe peut \u00E9crire un objet\",\n \"ra_aclGroup_write_state\": \"Le groupe peut \u00E9crire l'\u00E9tat\",\n \"ra_aclOwner_read_object\": \"Le propri\u00E9taire peut lire l'objet\",\n \"ra_aclOwner_read_state\": \"Le propri\u00E9taire peut lire l'\u00E9tat\",\n \"ra_aclOwner_write_object\": \"Le propri\u00E9taire peut \u00E9crire un objet\",\n \"ra_aclOwner_write_state\": \"Le propri\u00E9taire peut \u00E9crire l'\u00E9tat\",\n \"ra_buttons\": \"Boutons\",\n \"ra_changedFrom\": \"Chang\u00E9 de\",\n \"ra_close\": \"Fermer\",\n \"ra_create_boolean_state\": \"Cr\u00E9er un \u00E9tat bool\u00E9en\",\n \"ra_create_channel\": \"Cr\u00E9er une cha\u00EEne\",\n \"ra_create_device\": \"Cr\u00E9er un appareil\",\n \"ra_create_number_state\": \"Cr\u00E9er un \u00E9tat de num\u00E9ro\",\n \"ra_create_state\": \"Cr\u00E9er un \u00E9tat\",\n \"ra_create_string_state\": \"Cr\u00E9er un \u00E9tat de cha\u00EEne\",\n \"ra_daysShortText\": \"j.\",\n \"ra_dow_Fr\": \"Fr\",\n \"ra_dow_Mo\": \"Mo\",\n \"ra_dow_Sa\": \"Sa\",\n \"ra_dow_Su\": \"Su\",\n \"ra_dow_Th\": \"Th\",\n \"ra_dow_Tu\": \"Tu\",\n \"ra_dow_We\": \"Nous\",\n \"ra_expertMode\": \"Mode expert\",\n \"ra_fileType_all\": \"Tous les fichiers\",\n \"ra_fileType_audio\": \"l'audio\",\n \"ra_fileType_code\": \"Code/JSON\",\n \"ra_fileType_images\": \"Images\",\n \"ra_fileType_txt\": \"Texte\",\n \"ra_fileType_video\": \"Vid\u00E9o\",\n \"ra_fileType_video,\": \"Vid\u00E9o\",\n \"ra_filter_customs\": \"Param\u00E8tres\",\n \"ra_filter_customs_without\": \"sans\",\n \"ra_filter_func\": \"Une fonction\",\n \"ra_filter_id\": \"ID\",\n \"ra_filter_name\": \"Pr\u00E9nom\",\n \"ra_filter_role\": \"R\u00F4le\",\n \"ra_filter_room\": \"Pi\u00E8ce\",\n \"ra_filter_type\": \"Type\",\n \"ra_import data from %s file\": \"Importer des donn\u00E9es \u00E0 partir du fichier %s\",\n \"ra_invalidConfig\": \"Param\u00E8tres invalides\",\n \"ra_lastChange\": \"Dernier changement\",\n \"ra_locally\": \"localement\",\n \"ra_month_Apr\": \"Avr\",\n \"ra_month_Aug\": \"Ao\u00FBt\",\n \"ra_month_Dec\": \"D\u00E9c\",\n \"ra_month_Feb\": \"F\u00E9v\",\n \"ra_month_Jan\": \"Jan\",\n \"ra_month_Jul\": \"Juil\",\n \"ra_month_Jun\": \"Juin\",\n \"ra_month_Mai\": \"Mai\",\n \"ra_month_Mar\": \"Mar\",\n \"ra_month_Nov\": \"Nov\",\n \"ra_month_Oct\": \"Oct\",\n \"ra_month_Sep\": \"Sep\",\n \"ra_months_Apr\": \"Avr\",\n \"ra_months_Aug\": \"Ao\u00FBt\",\n \"ra_months_Dec\": \"D\u00E9c\",\n \"ra_months_Feb\": \"F\u00E9v\",\n \"ra_months_Jan\": \"Jan\",\n \"ra_months_Jul\": \"Juil\",\n \"ra_months_Jun\": \"Juin\",\n \"ra_months_Mai\": \"Mai\",\n \"ra_months_Mar\": \"Mar\",\n \"ra_months_Nov\": \"Nov\",\n \"ra_months_Oct\": \"Oct\",\n \"ra_months_Sep\": \"Sep\",\n \"ra_none\": \"rien\",\n \"ra_object_changed_by\": \"Objet modifi\u00E9 par\",\n \"ra_object_changed_by_user\": \"Objet modifi\u00E9 pour la derni\u00E8re fois \u00E0\",\n \"ra_otherConfig\": \"Param\u00E8tres d'un autre adaptateur %s\",\n \"ra_qualityCode\": \"Code de qualit\u00E9\",\n \"ra_repeat\": \"r\u00E9p\u00E9ter\",\n \"ra_select_folder_hint\": \"Pour s\u00E9lectionner un dossier, maintenez simplement la touche \\\"shift\\\" enfonc\u00E9e en cliquant sur le dossier.\",\n \"ra_state_changed_by\": \"\u00C9tat modifi\u00E9 par\",\n \"ra_state_changed_from\": \"Objet chang\u00E9 de\",\n \"ra_timestamp\": \"Horodatage\",\n \"ra_tooltip_ack\": \"Drapeau reconnu\",\n \"ra_tooltip_comment\": \"Commentaire\",\n \"ra_tooltip_copyState\": \"Copiez la valeur d'\u00E9tat\",\n \"ra_tooltip_customConfig\": \"Param\u00E8tres personnalis\u00E9s\",\n \"ra_tooltip_deleteObject\": \"Supprimer un objet\",\n \"ra_tooltip_editObject\": \"Modifier l'objet\",\n \"ra_tooltip_editState\": \"Modifier la valeur d'\u00E9tat\",\n \"ra_tooltip_from\": \"De\",\n \"ra_tooltip_lc\": \"Derni\u00E8re modification\",\n \"ra_tooltip_quality\": \"Qualit\u00E9\",\n \"ra_tooltip_ts\": \"Horodatage\",\n \"ra_tooltip_user\": \"Utilisateur\",\n \"ra_tooltip_value\": \"Valeur\",\n \"ra_use seconds\": \"utiliser les secondes\",\n \"ra_val\": \"Valeur\",\n \"ra_via internet\": \"par Internet\",\n \"ra_warning_every_minute\": \"Attention\u00A0: la t\u00E2che CRON s\u2019ex\u00E9cutera toutes les minutes pendant la p\u00E9riode sp\u00E9cifi\u00E9e\u00A0!\",\n \"ra_warning_every_second\": \"Attention\u00A0: la t\u00E2che CRON s\u2019ex\u00E9cutera toutes les secondes pendant la p\u00E9riode sp\u00E9cifi\u00E9e\u00A0!\",\n \"sc_cron\": \"CRON\",\n \"sc_date\": \"Date\",\n \"sc_dates\": \"Rendez-vous\",\n \"sc_dow\": \"Jour\",\n \"sc_dows\": \"Jour de la semaine\",\n \"sc_every\": \"Chaque\",\n \"sc_everyN_dates\": \"tous les N jours\",\n \"sc_everyN_dow\": \"chaque Ni\u00E8me jour de la semaine\",\n \"sc_everyN_dows\": \"tous les N jours de la semaine\",\n \"sc_everyN_hours\": \"toutes les N heures\",\n \"sc_everyN_minutes\": \"toutes les N minutes\",\n \"sc_everyN_months\": \"tous les N mois\",\n \"sc_everyN_seconds\": \"toutes les N secondes\",\n \"sc_every_dates\": \"tous les jours\",\n \"sc_every_dow\": \"Chaque jour de la semaine\",\n \"sc_every_dows\": \"Chaque jour de la semaine\",\n \"sc_every_hours\": \"Toutes les heures\",\n \"sc_every_minutes\": \"chaque minute\",\n \"sc_every_months\": \"chaque mois\",\n \"sc_every_seconds\": \"chaque seconde\",\n \"sc_from\": \"De\",\n \"sc_hours\": \"Heures\",\n \"sc_interval\": \"Intervalle\",\n \"sc_intervalBetween\": \"Intervalle entre\",\n \"sc_invalid_cron\": \"CRON non valide\",\n \"sc_minutes\": \"Minutes\",\n \"sc_months\": \"mois\",\n \"sc_once\": \"Une fois que\",\n \"sc_period\": \"P\u00E9riode\",\n \"sc_seconds\": \"Secondes\",\n \"sc_simple\": \"Facile\",\n \"sc_specific\": \"Temps sp\u00E9cifique\",\n \"sc_specific_dates\": \"dates sp\u00E9cifiques\",\n \"sc_specific_dow\": \"jour(s) sp\u00E9cifique(s) de la semaine\",\n \"sc_specific_dows\": \"jour sp\u00E9cifique de semaines\",\n \"sc_specific_hours\": \"heures sp\u00E9cifiques\",\n \"sc_specific_minutes\": \"minutes sp\u00E9cifiques\",\n \"sc_specific_months\": \"mois sp\u00E9cifiques\",\n \"sc_specific_seconds\": \"secondes sp\u00E9cifiques\",\n \"sc_time\": \"Temps\",\n \"sc_to\": \"\u00C0\",\n \"sc_wizard\": \"sorcier\",\n \"sch_all\": \"tout\",\n \"sch_astroDay\": \"Journ\u00E9e astronomique\",\n \"sch_astroNight\": \"Nuit astronomique\",\n \"sch_astro_dawn\": \"Aube\",\n \"sch_astro_dusk\": \"Cr\u00E9puscule\",\n \"sch_astro_goldenHour\": \"Heure d'or\",\n \"sch_astro_goldenHourEnd\": \"Fin de l'heure d'or\",\n \"sch_astro_nadir\": \"Nadir\",\n \"sch_astro_nauticalDawn\": \"Aube nautique\",\n \"sch_astro_nauticalDusk\": \"Cr\u00E9puscule nautique\",\n \"sch_astro_night\": \"Nuit\",\n \"sch_astro_nightEnd\": \"Fin de nuit\",\n \"sch_astro_solarNoon\": \"Midi solaire\",\n \"sch_astro_sunrise\": \"lever du soleil\",\n \"sch_astro_sunriseEnd\": \"Fin du lever du soleil\",\n \"sch_astro_sunset\": \"Le coucher du soleil\",\n \"sch_astro_sunsetStart\": \"Coucher du soleil\",\n \"sch_at\": \"\u00E0\",\n \"sch_desc_atTime\": \"\u00E0 %s\",\n \"sch_desc_everyDay\": \"tous les jours\",\n \"sch_desc_everyHour\": \"Toutes les heures\",\n \"sch_desc_everyMinute\": \"chaque minute\",\n \"sch_desc_everyMonth\": \"chaque mois\",\n \"sch_desc_everyNDay\": \"chaque %s jour\",\n \"sch_desc_everyNHours\": \"chaque %s heures\",\n \"sch_desc_everyNMinutes\": \"toutes les %s minutes\",\n \"sch_desc_everyNMonths\": \"tous les %s mois\",\n \"sch_desc_everyNWeeks\": \"chaque %s semaines\",\n \"sch_desc_everyNYears\": \"tous les %s ans\",\n \"sch_desc_everyWeek\": \"toutes les semaines\",\n \"sch_desc_everyYear\": \"chaque ann\u00E9e\",\n \"sch_desc_intervalFromTo\": \"de %s \u00E0 %s\",\n \"sch_desc_never\": \"jamais\",\n \"sch_desc_onDate\": \"sur %s de %s\",\n \"sch_desc_onDates\": \"sur %s et %s de\",\n \"sch_desc_onEveryDate\": \"\u00E0 chaque date de\",\n \"sch_desc_onMonth\": \"%s\",\n \"sch_desc_onMonths\": \"%s et %s\",\n \"sch_desc_onWeekday\": \"sur %s\",\n \"sch_desc_onWeekdays\": \"sur %s et %s\",\n \"sch_desc_onWeekends\": \"les weekends\",\n \"sch_desc_onWorkdays\": \"les jours ouvrables\",\n \"sch_desc_onceInPast\": \"ne sera plus ex\u00E9cut\u00E9, car start est dans le pass\u00E9\",\n \"sch_desc_once_on\": \"sur %s\",\n \"sch_desc_validFrom\": \"de %s\",\n \"sch_desc_validFromTo\": \"Ex\u00E9cuter de \u00E0\",\n \"sch_desc_validTo\": \"\u00E0 %s\",\n \"sch_every\": \"chaque\",\n \"sch_exactTime\": \"Temps sp\u00E9cifique\",\n \"sch_from\": \"de\",\n \"sch_fromTo\": \"De \u00E0\",\n \"sch_intervalTime\": \"Temps d'interval\",\n \"sch_invert\": \"inverser\",\n \"sch_no_one\": \"aucun\",\n \"sch_on\": \"sur\",\n \"sch_period\": \"P\u00E9riode\",\n \"sch_periodDaily\": \"du quotidien\",\n \"sch_periodDates\": \"Rendez-vous\",\n \"sch_periodDay\": \"journ\u00E9e\",\n \"sch_periodEvery\": \"Chaque\",\n \"sch_periodEveryDay\": \"Tous les jours\",\n \"sch_periodEveryMonth\": \"Chaque mois\",\n \"sch_periodEveryWeek\": \"Toutes les semaines\",\n \"sch_periodEveryYear\": \"Chaque ann\u00E9e\",\n \"sch_periodHours\": \"Heures\",\n \"sch_periodMinutes\": \"Minutes\",\n \"sch_periodMonth\": \"mois\",\n \"sch_periodMonthly\": \"Mensuel\",\n \"sch_periodOnce\": \"Une fois que\",\n \"sch_periodSpecificMonths\": \"Mois sp\u00E9cifiques\",\n \"sch_periodWeek\": \"La semaine\",\n \"sch_periodWeekdays\": \"Jours de la semaine\",\n \"sch_periodWeekend\": \"Weekend\",\n \"sch_periodWeekly\": \"Hebdomadaire\",\n \"sch_periodWorkdays\": \"Jours ouvrables\",\n \"sch_periodYear\": \"Ann\u00E9e\",\n \"sch_periodYearly\": \"Annuel\",\n \"sch_specificTime\": \"Temps sp\u00E9cifique\",\n \"sch_time\": \"Temps\",\n \"sch_to\": \"\u00E0\",\n \"sch_valid\": \"Valide\",\n \"sch_validFrom\": \"de\",\n \"sch_validTo\": \"\u00E0\",\n \"sch_wholeDay\": \"Toute la journ\u00E9e\",\n \"sch_yearEveryMonth\": \"chaque mois\"\n}\n", "{\n \"ra_%s links from aliases\": \"%s link da alias\",\n \"ra_%s object(s) processed\": \"%s oggetti elaborati\",\n \"ra_%s was imported\": \"%s \u00E8 stato importato\",\n \"ra_Accept license\": \"Accetta licenza\",\n \"ra_Add new child object to selected parent\": \"Aggiungi un nuovo oggetto figlio al genitore selezionato\",\n \"ra_Add objects tree from JSON file\": \"Aggiungi l'albero degli oggetti dal file JSON\",\n \"ra_Add row\": \"Aggiungi riga\",\n \"ra_Advanced options\": \"Opzioni avanzate\",\n \"ra_All items are filtered out\": \"Tutti gli elementi vengono filtrati\",\n \"ra_All objects\": \"Tutti gli oggetti\",\n \"ra_Append\": \"Aggiungere\",\n \"ra_Append %s entries or replace existing?\": \"Aggiungi %s voci o sostituisci quelle esistenti?\",\n \"ra_Append or replace?\": \"Aggiungere o sostituire?\",\n \"ra_Are you sure?\": \"Sei sicuro?\",\n \"ra_Auto (no custom columns)\": \"Auto (nessuna colonna personalizzata)\",\n \"ra_Back to %s\": \"Torna a %s\",\n \"ra_Background image\": \"Immagine di sfondo\",\n \"ra_Cancel\": \"Annulla\",\n \"ra_Cannot add items with set filter\": \"Impossibile aggiungere elementi con il filtro impostato\",\n \"ra_Cannot decode license\": \"Impossibile decodificare la licenza\",\n \"ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser\": \"Impossibile determinare la posizione: le impostazioni di sistema sono vuote e il rilevamento GPS \u00E8 disabilitato nel browser\",\n \"ra_Cannot find \\\"%s\\\"\": \"Impossibile trovare \\\"%s\\\"\",\n \"ra_Cannot read \\\"%s\\\"\": \"Impossibile leggere \\\"%s\\\"\",\n \"ra_Cannot read licenses: %s\": \"Impossibile leggere le licenze: %s\",\n \"ra_Cannot retrieve options, as instance is offline\": \"Impossibile recuperare le opzioni, poich\u00E9 l'istanza \u00E8 offline\",\n \"ra_Cannot update attribute, because not found in the object\": \"Impossibile aggiornare l'attributo, perch\u00E9 non trovato nell'oggetto\",\n \"ra_Cannot upload\": \"Impossibile caricare\",\n \"ra_Categories\": \"Categorie\",\n \"ra_Chained certificate\": \"Certificato incatenato\",\n \"ra_Change color theme\": \"Cambia tema colore\",\n \"ra_Changed from\": \"Cambiato da\",\n \"ra_Channel \u2192 State\": \"Canale \u2192 Stato\",\n \"ra_Check license\": \"Controlla la licenza\",\n \"ra_Checked\": \"Controllato\",\n \"ra_Clear\": \"Elimina\",\n \"ra_Clear filter\": \"Filtro pulito\",\n \"ra_Clear icon\": \"Cancella icona\",\n \"ra_Clone current row\": \"Clona riga corrente\",\n \"ra_Close\": \"Vicino\",\n \"ra_Collapse all nodes\": \"Comprimi tutti i nodi\",\n \"ra_Collapse one step node\": \"Comprimi un livello\",\n \"ra_Commercial\": \"Commerciale\",\n \"ra_Configure\": \"Configura\",\n \"ra_Configure visible columns\": \"Configura colonne visibili\",\n \"ra_Confirm deletion of %s\": \"Conferma l'eliminazione di %s\",\n \"ra_Connected\": \"Collegato\",\n \"ra_Copied\": \"Copiato\",\n \"ra_Copied %s\": \"\\\"%s\\\" copiato\",\n \"ra_Copy content\": \"Copia contenuto\",\n \"ra_Create\": \"Creare\",\n \"ra_Create alias\": \"Crea alias\",\n \"ra_Create folder\": \"Creare una cartella\",\n \"ra_Create new folder in %s\": \"Crea nuova cartella in %s\",\n \"ra_Crop\": \"Raccolto\",\n \"ra_Define CRON...\": \"Definisci CRON...\",\n \"ra_Define functions\": \"Definire le funzioni\",\n \"ra_Define rooms\": \"Definisci le stanze\",\n \"ra_Define schedule\": \"Definisci programma\",\n \"ra_Define schedule...\": \"Definisci pianificazione ...\",\n \"ra_Del\": \"Delete\",\n \"ra_Delete\": \"Elimina\",\n \"ra_Delete (no confirm for 5 mins)\": \"Elimina (nessuna conferma per 5 minuti)\",\n \"ra_Delete current row\": \"Elimina la riga corrente\",\n \"ra_Deselect all\": \"Deseleziona tutto\",\n \"ra_Device \u2192 Channel \u2192 State\": \"Dispositivo \u2192 Canale \u2192 Stato\",\n \"ra_Discard\": \"Scartare\",\n \"ra_Disconnected\": \"Disconnesso\",\n \"ra_Do not export values of states\": \"Non esportare i valori degli stati\",\n \"ra_Do not use let's encrypt\": \"Non utilizzare crittografiamo\",\n \"ra_Double click to reset table layout\": \"Fare doppio clic per ripristinare il layout della tabella\",\n \"ra_Drag 'n' drop some files here, or click to select files\": \"Trascina e rilascia alcuni file qui o fai clic per selezionare i file\",\n \"ra_Drop file here\": \"Trascina il file qui\",\n \"ra_Drop the files here...\": \"Trascina qui il file...\",\n \"ra_Duplicate name\": \"Nome duplicato\",\n \"ra_Edit ACL\": \"Modifica ACL\",\n \"ra_Edit alias\": \"Modifica alias\",\n \"ra_Edit custom config\": \"Modifica configurazione personalizzata\",\n \"ra_Edit function\": \"Funzione di modifica\",\n \"ra_Edit object field\": \"Modifica campo oggetto\",\n \"ra_Edit role\": \"Modifica ruolo\",\n \"ra_Edit room\": \"Modifica stanza\",\n \"ra_Edit value\": \"Modifica valore\",\n \"ra_Error\": \"Errore\",\n \"ra_Expand all nodes\": \"Espandi tutti i nodi\",\n \"ra_Expand one step node\": \"Espandi un livello\",\n \"ra_Export data to %s file\": \"Esporta i dati nel file %s\",\n \"ra_Failed to open JSON File\": \"Impossibile aprire il file JSON\",\n \"ra_Fallback custom certificates\": \"Certificati personalizzati di fallback\",\n \"ra_File is too big. Max %sk allowed. Try use SVG.\": \"Il file \u00E8 troppo grande. Max %sk consentito. Prova a usare SVG.\",\n \"ra_Filter\": \"Filtro\",\n \"ra_Filter files\": \"Filtra i file\",\n \"ra_Folder name\": \"Nome della cartella\",\n \"ra_Folder \u2192 Channel \u2192 State\": \"Cartella \u2192 Canale \u2192 Stato\",\n \"ra_Folder \u2192 Device \u2192 Channel \u2192 State\": \"Cartella \u2192 Dispositivo \u2192 Canale \u2192 Stato\",\n \"ra_Folder \u2192 State\": \"Cartella \u2192 Stato\",\n \"ra_Folders always first\": \"Le cartelle sono sempre al primo posto\",\n \"ra_Friday\": \"Venerd\u00EC\",\n \"ra_Good luck\": \"Buona fortuna\",\n \"ra_Hide empty folders\": \"Nascondi cartelle vuote\",\n \"ra_If no file will be created in the folder, it will disappear after the browser closed\": \"Se nessun file verr\u00E0 creato nella cartella, scomparir\u00E0 dopo la chiusura del browser\",\n \"ra_Import data from %s file\": \"Importa i dati dal file %s\",\n \"ra_Import from %s\": \"Importa da %s\",\n \"ra_Instance %s is alive\": \"Il %s dell'istanza \u00E8 vivo\",\n \"ra_Instance %s is not alive\": \"Il TESTO dell'istanza non \u00E8 vivo\",\n \"ra_Instance is not alive\": \"L'istanza non \u00E8 viva\",\n \"ra_Invalid CRON\": \"CRON non valido\",\n \"ra_Invalid JSON\": \"JSON non valido\",\n \"ra_Invalid answer from server\": \"Risposta non valida dal server\",\n \"ra_Invalid parent folder!\": \"Cartella principale non valida!\",\n \"ra_Invalid structure\": \"Struttura non valida\",\n \"ra_JSON editor\": \"Editor JSON\",\n \"ra_Last change\": \"Ultima modifica\",\n \"ra_Latitude\": \"Latitudine\",\n \"ra_License %s\": \"Licenza %s\",\n \"ra_License agreement\": \"Contratto di licenza\",\n \"ra_License does not exist\": \"La licenza non esiste\",\n \"ra_License expired on %s\": \"Licenza scaduta il %s\",\n \"ra_License for other product \\\"%s\\\"\": \"Licenza per altro prodotto \\\"%s\\\"\",\n \"ra_License is for version %s, but required version is %s.\": \"La licenza \u00E8 per la versione %s, ma la versione richiesta \u00E8 %s.\",\n \"ra_License must be converted\": \"La licenza deve essere convertita in una versione pi\u00F9 recente. Puoi farlo nel tuo profilo iobroker.net.\",\n \"ra_License not found in license manager. Do you want to read licenses from iobroker.net?\": \"Licenza non trovata nel gestore delle licenze. Vuoi aggiornare le licenze da iobroker.net?\",\n \"ra_Listen on all IPs\": \"Ascolta su tutti gli IP\",\n \"ra_Load configuration from file\": \"Carica la configurazione dal file\",\n \"ra_Longitude\": \"Longitudine\",\n \"ra_May not trigger \\\"updateLicenses\\\"\": \"Potrebbe non attivare \\\"updateLicenses\\\"\",\n \"ra_Message\": \"Messaggio\",\n \"ra_Monday\": \"Lunedi\",\n \"ra_Move down\": \"Abbassati\",\n \"ra_Move up\": \"Andare avanti\",\n \"ra_Name\": \"Nome\",\n \"ra_No data found in file\": \"Nessun dato trovato nel file\",\n \"ra_No one license found in license manager\": \"Nessuna licenza trovata nel gestore delle licenze\",\n \"ra_No response from the backend\": \"Nessuna risposta dal backend\",\n \"ra_Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\": \"I non esperti possono creare nuovi oggetti solo in \\\"0_userdata.0\\\" o \\\"alias.0\\\".\",\n \"ra_Not a number\": \"Non un numero\",\n \"ra_Objects\": \"Oggetti\",\n \"ra_Ok\": \"Ok\",\n \"ra_On weekdays\": \"Nei giorni della settimana\",\n \"ra_Only following structures of objects are available:\": \"Sono disponibili solo le seguenti strutture di oggetti:\",\n \"ra_Only selected\": \"Solo selezionato\",\n \"ra_Owner group\": \"Gruppo di proprietari\",\n \"ra_Owner user\": \"Utente proprietario\",\n \"ra_Passwords are not equal!\": \"Le password non sono uguali!\",\n \"ra_Place your files here or click here to open the browse dialog\": \"Posiziona i file qui o fai clic qui per aprire la finestra di dialogo Sfoglia\",\n \"ra_Please confirm\": \"Si prega di confermare\",\n \"ra_Please create license\": \"Si prega di creare la licenza\",\n \"ra_Please enter the license\": \"Inserisci la licenza\",\n \"ra_Please select file...\": \"Si prega di selezionare il file...\",\n \"ra_Please select object ID...\": \"Seleziona l'ID oggetto ...\",\n \"ra_Port could be used by %s\": \"La porta potrebbe essere utilizzata da %s\",\n \"ra_Port is already used by %s\": \"La porta \u00E8 gi\u00E0 utilizzata da %s\",\n \"ra_Private certificate\": \"Certificato privato\",\n \"ra_Product\": \"Prodotto\",\n \"ra_Public certificate\": \"Certificato pubblico\",\n \"ra_Quality code\": \"Qualit\u00E0\",\n \"ra_Refresh tree\": \"Aggiorna l'albero\",\n \"ra_Reload files\": \"Ricarica i file\",\n \"ra_Repeat\": \"Ripetere\",\n \"ra_Replace\": \"Sostituire\",\n \"ra_Request timed out\": \"Tempo scaduto per la richiesta\",\n \"ra_Restrict to folder\": \"Limita alla cartella\",\n \"ra_Root\": \"Radice\",\n \"ra_Saturday\": \"Sabato\",\n \"ra_Save\": \"Salva\",\n \"ra_Save and close\": \"Salva e chiudi\",\n \"ra_Save configuration to file\": \"Salva la configurazione su file\",\n \"ra_Save objects tree as JSON file\": \"Salva l'albero degli oggetti come file JSON\",\n \"ra_Select all\": \"Seleziona tutto\",\n \"ra_Select color\": \"Seleziona il colore\",\n \"ra_Select predefined icon\": \"Seleziona l'icona predefinita\",\n \"ra_Select type of export\": \"Seleziona il tipo di esportazione\",\n \"ra_Selected\": \"Selezionato\",\n \"ra_Selected %s object(s)\": \"%s oggetto/i selezionato/i\",\n \"ra_Serial number (UUID)\": \"Numero di serie (UUID)\",\n \"ra_Serial number (UUID) \\\"%s\\\" in license is for other device.\": \"Il numero di serie (UUID) \\\"%s\\\" nella licenza \u00E8 per un altro dispositivo.\",\n \"ra_Show all folders\": \"Mostra tutte le cartelle\",\n \"ra_Show lines between rows\": \"Mostra linee tra le righe\",\n \"ra_Show/Hide object descriptions\": \"Mostra/Nascondi le descrizioni degli oggetti\",\n \"ra_Show/hide filter input\": \"Mostra/nascondi input filtro\",\n \"ra_Some data are not stored. Discard?\": \"Alcuni dati non vengono memorizzati. Scartare?\",\n \"ra_States\": \"stati\",\n \"ra_Suitable license not found in license manager\": \"Licenza adatta non trovata nel gestore delle licenze\",\n \"ra_Sunday\": \"Domenica\",\n \"ra_Suppress question for next %s minutes\": \"Sopprimi la domanda per i prossimi %s minuti\",\n \"ra_System language\": \"Linguaggio di sistema\",\n \"ra_Take browser position\": \"Prendi posizione dal browser\",\n \"ra_Take position from system settings\": \"Prendi posizione dalle impostazioni di sistema\",\n \"ra_The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\": \"Gli esperti possono creare oggetti ovunque ma dal secondo livello (es. \\\"Vis.0\\\" o \\\"javascript.0\\\").\",\n \"ra_The page you are looking for was not found\": \"La pagina che stai cercando non \u00E8 stata trovata\",\n \"ra_The schedule will be executed every minute. Are you sure?\": \"La pianificazione verr\u00E0 eseguita ogni minuto. Sei sicuro?\",\n \"ra_The schedule will be executed every second. Are you sure?\": \"La pianificazione verr\u00E0 eseguita ogni secondo. Sei sicuro?\",\n \"ra_Thursday\": \"Gioved\u00EC\",\n \"ra_Timestamp\": \"Timestamp\",\n \"ra_Toggle expert mode\": \"Attiva / disattiva la modalit\u00E0 esperto\",\n \"ra_Toggle the states view\": \"Attiva o disattiva la visualizzazione degli stati\",\n \"ra_Toggle view mode\": \"Attiva / disattiva la modalit\u00E0 di visualizzazione\",\n \"ra_Too big\": \"Troppo grande\",\n \"ra_Too small\": \"Troppo piccolo\",\n \"ra_Transparent dialog\": \"Finestra di dialogo trasparente\",\n \"ra_Tuesday\": \"Marted\u00EC\",\n \"ra_Unknown error\": \"Errore sconosciuto\",\n \"ra_Unknown error!\": \"Errore sconosciuto!\",\n \"ra_Update\": \"Aggiornare\",\n \"ra_Upload file\": \"Caricare un file\",\n \"ra_Use all available let's encrypt certificates\": \"Usa tutti i certificati Let's Encrypt disponibili\",\n \"ra_Use iobroker.acme adapter for letsencrypt certificates\": \"Utilizzare l'adattatore iobroker.acme per i certificati letsencrypt\",\n \"ra_Use system settings for position\": \"Usa le impostazioni di sistema per la posizione\",\n \"ra_Used system settings\": \"Impostazioni di sistema utilizzate\",\n \"ra_User files\": \"File utente\",\n \"ra_ValidTill\": \"Valido fino a\",\n \"ra_Value\": \"Valore\",\n \"ra_Version\": \"Versione\",\n \"ra_View file\": \"Vedi il file\",\n \"ra_View: %s\": \"Visualizza: %s\",\n \"ra_Wednesday\": \"Mercoled\u00EC\",\n \"ra_Width\": \"Larghezza\",\n \"ra_Yes\": \"S\u00CC\",\n \"ra_You can export all objects or just the selected branch.\": \"Puoi esportare tutti gli oggetti o solo il ramo selezionato.\",\n \"ra_You can filter entries by entering here some text\": \"Puoi filtrare le voci inserendo qui del testo\",\n \"ra___different__\": \"diverso\",\n \"ra_aclEveryone_read_object\": \"Tutti possono leggere gli oggetti\",\n \"ra_aclEveryone_read_state\": \"Tutti possono leggere lo stato\",\n \"ra_aclEveryone_write_object\": \"Tutti possono scrivere oggetti\",\n \"ra_aclEveryone_write_state\": \"Tutti possono scrivere stato\",\n \"ra_aclGroup_read_object\": \"Il gruppo pu\u00F2 leggere l'oggetto\",\n \"ra_aclGroup_read_state\": \"Il gruppo pu\u00F2 leggere lo stato\",\n \"ra_aclGroup_write_object\": \"Il gruppo pu\u00F2 scrivere l'oggetto\",\n \"ra_aclGroup_write_state\": \"Il gruppo pu\u00F2 scrivere lo stato\",\n \"ra_aclOwner_read_object\": \"Il proprietario pu\u00F2 leggere l'oggetto\",\n \"ra_aclOwner_read_state\": \"Il proprietario pu\u00F2 leggere lo stato\",\n \"ra_aclOwner_write_object\": \"Il proprietario pu\u00F2 scrivere l'oggetto\",\n \"ra_aclOwner_write_state\": \"Il proprietario pu\u00F2 scrivere lo stato\",\n \"ra_buttons\": \"Bottoni\",\n \"ra_changedFrom\": \"Cambiato da\",\n \"ra_close\": \"vicino\",\n \"ra_create_boolean_state\": \"Crea uno stato booleano\",\n \"ra_create_channel\": \"Crea canale\",\n \"ra_create_device\": \"Crea dispositivo\",\n \"ra_create_number_state\": \"Crea lo stato del numero\",\n \"ra_create_state\": \"Crea stato\",\n \"ra_create_string_state\": \"Crea lo stato della stringa\",\n \"ra_daysShortText\": \"g.\",\n \"ra_dow_Fr\": \"fr\",\n \"ra_dow_Mo\": \"momento\",\n \"ra_dow_Sa\": \"Sa\",\n \"ra_dow_Su\": \"su\",\n \"ra_dow_Th\": \"th\",\n \"ra_dow_Tu\": \"Tu\",\n \"ra_dow_We\": \"Noi\",\n \"ra_expertMode\": \"Modalit\u00E0 esperto\",\n \"ra_fileType_all\": \"Tutti i files\",\n \"ra_fileType_audio\": \"Audio\",\n \"ra_fileType_code\": \"Codice/JSON\",\n \"ra_fileType_images\": \"immagini\",\n \"ra_fileType_txt\": \"Testo\",\n \"ra_fileType_video\": \"video\",\n \"ra_fileType_video,\": \"video\",\n \"ra_filter_customs\": \"impostazioni\",\n \"ra_filter_customs_without\": \"senza\",\n \"ra_filter_func\": \"Funzione\",\n \"ra_filter_id\": \"ID\",\n \"ra_filter_name\": \"Nome\",\n \"ra_filter_role\": \"Ruolo\",\n \"ra_filter_room\": \"Camera\",\n \"ra_filter_type\": \"genere\",\n \"ra_import data from %s file\": \"Importa dati dal file %s\",\n \"ra_invalidConfig\": \"Impostazioni non valide\",\n \"ra_lastChange\": \"Ultima modifica\",\n \"ra_locally\": \"localmente\",\n \"ra_month_Apr\": \"apr\",\n \"ra_month_Aug\": \"agosto\",\n \"ra_month_Dec\": \"Dic\",\n \"ra_month_Feb\": \"febbraio\",\n \"ra_month_Jan\": \"gen\",\n \"ra_month_Jul\": \"lug\",\n \"ra_month_Jun\": \"giu\",\n \"ra_month_Mai\": \"Mai\",\n \"ra_month_Mar\": \"marzo\",\n \"ra_month_Nov\": \"nov\",\n \"ra_month_Oct\": \"ottobre\",\n \"ra_month_Sep\": \"Sett\",\n \"ra_months_Apr\": \"apr\",\n \"ra_months_Aug\": \"agosto\",\n \"ra_months_Dec\": \"Dic\",\n \"ra_months_Feb\": \"febbraio\",\n \"ra_months_Jan\": \"gen\",\n \"ra_months_Jul\": \"lug\",\n \"ra_months_Jun\": \"giu\",\n \"ra_months_Mai\": \"Mai\",\n \"ra_months_Mar\": \"marzo\",\n \"ra_months_Nov\": \"nov\",\n \"ra_months_Oct\": \"ottobre\",\n \"ra_months_Sep\": \"Sett\",\n \"ra_none\": \"nessuna\",\n \"ra_object_changed_by\": \"Oggetto modificato da\",\n \"ra_object_changed_by_user\": \"L'oggetto \u00E8 stato modificato l'ultima volta alle\",\n \"ra_otherConfig\": \"Impostazioni dall'altro adattatore %s\",\n \"ra_qualityCode\": \"Codice di qualit\u00E0\",\n \"ra_repeat\": \"ripetere\",\n \"ra_select_folder_hint\": \"Per selezionare la cartella, basta tenere premuto il tasto \\\"shift\\\" facendo clic sulla cartella.\",\n \"ra_state_changed_by\": \"Stato cambiato da\",\n \"ra_state_changed_from\": \"Oggetto cambiato da\",\n \"ra_timestamp\": \"Timestamp\",\n \"ra_tooltip_ack\": \"Bandiera riconosciuta\",\n \"ra_tooltip_comment\": \"Commento\",\n \"ra_tooltip_copyState\": \"Copia il valore dello stato\",\n \"ra_tooltip_customConfig\": \"Impostazioni personalizzate\",\n \"ra_tooltip_deleteObject\": \"Elimina oggetto\",\n \"ra_tooltip_editObject\": \"Modifica oggetto\",\n \"ra_tooltip_editState\": \"Modifica il valore dello stato\",\n \"ra_tooltip_from\": \"A partire dal\",\n \"ra_tooltip_lc\": \"Ultima modifica\",\n \"ra_tooltip_quality\": \"Qualit\u00E0\",\n \"ra_tooltip_ts\": \"Data e ora\",\n \"ra_tooltip_user\": \"Utente\",\n \"ra_tooltip_value\": \"Valore\",\n \"ra_use seconds\": \"usa i secondi\",\n \"ra_val\": \"Valore\",\n \"ra_via internet\": \"attraverso internet\",\n \"ra_warning_every_minute\": \"Attenzione: il processo CRON verr\u00E0 eseguito ogni minuto durante il periodo specificato!\",\n \"ra_warning_every_second\": \"Attenzione: il processo CRON verr\u00E0 eseguito ogni secondo durante il periodo specificato!\",\n \"sc_cron\": \"CRON\",\n \"sc_date\": \"Data\",\n \"sc_dates\": \"Date\",\n \"sc_dow\": \"Giorno\",\n \"sc_dows\": \"Giorno della settimana\",\n \"sc_every\": \"Ogni\",\n \"sc_everyN_dates\": \"ogni N giorni\",\n \"sc_everyN_dow\": \"ogni Nesimo giorno della settimana\",\n \"sc_everyN_dows\": \"ogni N giorno della settimana\",\n \"sc_everyN_hours\": \"ogni N ore\",\n \"sc_everyN_minutes\": \"ogni N minuti\",\n \"sc_everyN_months\": \"ogni N mesi\",\n \"sc_everyN_seconds\": \"ogni N secondi\",\n \"sc_every_dates\": \"ogni giorno\",\n \"sc_every_dow\": \"Tutti i giorni della settimana\",\n \"sc_every_dows\": \"Tutti i giorni della settimana\",\n \"sc_every_hours\": \"ogni ora\",\n \"sc_every_minutes\": \"ogni minuto\",\n \"sc_every_months\": \"ogni mese\",\n \"sc_every_seconds\": \"ogni secondo\",\n \"sc_from\": \"A partire dal\",\n \"sc_hours\": \"Ore\",\n \"sc_interval\": \"Intervallo\",\n \"sc_intervalBetween\": \"Intervallo tra\",\n \"sc_invalid_cron\": \"CRON non valido\",\n \"sc_minutes\": \"Minuti\",\n \"sc_months\": \"mesi\",\n \"sc_once\": \"Una volta\",\n \"sc_period\": \"Periodo\",\n \"sc_seconds\": \"secondi\",\n \"sc_simple\": \"Semplice\",\n \"sc_specific\": \"Orario preciso\",\n \"sc_specific_dates\": \"date specifiche\",\n \"sc_specific_dow\": \"giorno/i specifico/i della settimana\",\n \"sc_specific_dows\": \"giorno specifico delle settimane\",\n \"sc_specific_hours\": \"orari specifici\",\n \"sc_specific_minutes\": \"minuti specifici\",\n \"sc_specific_months\": \"mesi specifici\",\n \"sc_specific_seconds\": \"secondi specifici\",\n \"sc_time\": \"Tempo\",\n \"sc_to\": \"Per\",\n \"sc_wizard\": \"procedura guidata\",\n \"sch_all\": \"tutti\",\n \"sch_astroDay\": \"Astro day\",\n \"sch_astroNight\": \"Astro night\",\n \"sch_astro_dawn\": \"Alba\",\n \"sch_astro_dusk\": \"Crepuscolo\",\n \"sch_astro_goldenHour\": \"Ora d'oro\",\n \"sch_astro_goldenHourEnd\": \"Fine dell'ora d'oro\",\n \"sch_astro_nadir\": \"Nadir\",\n \"sch_astro_nauticalDawn\": \"Alba nautica\",\n \"sch_astro_nauticalDusk\": \"Crepuscolo nautico\",\n \"sch_astro_night\": \"Notte\",\n \"sch_astro_nightEnd\": \"Fine della notte\",\n \"sch_astro_solarNoon\": \"Mezzogiorno solare\",\n \"sch_astro_sunrise\": \"Alba\",\n \"sch_astro_sunriseEnd\": \"Fine dell'alba\",\n \"sch_astro_sunset\": \"Tramonto\",\n \"sch_astro_sunsetStart\": \"Inizio del tramonto\",\n \"sch_at\": \"a\",\n \"sch_desc_atTime\": \"a %s\",\n \"sch_desc_everyDay\": \"ogni giorno\",\n \"sch_desc_everyHour\": \"ogni ora\",\n \"sch_desc_everyMinute\": \"ogni minuto\",\n \"sch_desc_everyMonth\": \"ogni mese\",\n \"sch_desc_everyNDay\": \"ogni %s giorno\",\n \"sch_desc_everyNHours\": \"ogni %s ore\",\n \"sch_desc_everyNMinutes\": \"ogni %s minuti\",\n \"sch_desc_everyNMonths\": \"ogni %s mesi\",\n \"sch_desc_everyNWeeks\": \"ogni %s settimane\",\n \"sch_desc_everyNYears\": \"ogni %s anni\",\n \"sch_desc_everyWeek\": \"ogni settimana\",\n \"sch_desc_everyYear\": \"ogni anno\",\n \"sch_desc_intervalFromTo\": \"da %s a %s\",\n \"sch_desc_never\": \"mai\",\n \"sch_desc_onDate\": \"su %s di %s\",\n \"sch_desc_onDates\": \"su %s e %s di\",\n \"sch_desc_onEveryDate\": \"in ogni data di\",\n \"sch_desc_onMonth\": \"%s\",\n \"sch_desc_onMonths\": \"%s e %s\",\n \"sch_desc_onWeekday\": \"su %s\",\n \"sch_desc_onWeekdays\": \"su %s e %s\",\n \"sch_desc_onWeekends\": \"nei finesettimana\",\n \"sch_desc_onWorkdays\": \"nei giorni lavorativi\",\n \"sch_desc_onceInPast\": \"non verr\u00E0 pi\u00F9 eseguito, perch\u00E9 start \u00E8 nel passato\",\n \"sch_desc_once_on\": \"su %s\",\n \"sch_desc_validFrom\": \"da %s\",\n \"sch_desc_validFromTo\": \"Eseguire da a\",\n \"sch_desc_validTo\": \"a %s\",\n \"sch_every\": \"ogni\",\n \"sch_exactTime\": \"Orario preciso\",\n \"sch_from\": \"a partire dal\",\n \"sch_fromTo\": \"Da A\",\n \"sch_intervalTime\": \"Intervallo di tempo\",\n \"sch_invert\": \"invertire\",\n \"sch_no_one\": \"nessuna\",\n \"sch_on\": \"sopra\",\n \"sch_period\": \"Periodo\",\n \"sch_periodDaily\": \"Quotidiano\",\n \"sch_periodDates\": \"Date\",\n \"sch_periodDay\": \"Giorno\",\n \"sch_periodEvery\": \"Ogni\",\n \"sch_periodEveryDay\": \"Ogni giorno\",\n \"sch_periodEveryMonth\": \"Ogni mese\",\n \"sch_periodEveryWeek\": \"Ogni settimana\",\n \"sch_periodEveryYear\": \"Ogni anno\",\n \"sch_periodHours\": \"Ore\",\n \"sch_periodMinutes\": \"Minuti\",\n \"sch_periodMonth\": \"mese\",\n \"sch_periodMonthly\": \"Mensile\",\n \"sch_periodOnce\": \"Una volta\",\n \"sch_periodSpecificMonths\": \"Mesi specifici\",\n \"sch_periodWeek\": \"Settimana\",\n \"sch_periodWeekdays\": \"Giorni della settimana\",\n \"sch_periodWeekend\": \"Fine settimana\",\n \"sch_periodWeekly\": \"settimanalmente\",\n \"sch_periodWorkdays\": \"giorni feriali\",\n \"sch_periodYear\": \"Anno\",\n \"sch_periodYearly\": \"Annuale\",\n \"sch_specificTime\": \"Orario preciso\",\n \"sch_time\": \"Tempo\",\n \"sch_to\": \"per\",\n \"sch_valid\": \"Valido\",\n \"sch_validFrom\": \"a partire dal\",\n \"sch_validTo\": \"per\",\n \"sch_wholeDay\": \"Giorno intero\",\n \"sch_yearEveryMonth\": \"ogni mese\"\n}\n", "{\n \"ra_%s links from aliases\": \"%s enlaces de alias\",\n \"ra_%s object(s) processed\": \"%s objeto(s) procesados\",\n \"ra_%s was imported\": \"%s fue importado\",\n \"ra_Accept license\": \"Aceptar licencia\",\n \"ra_Add new child object to selected parent\": \"Agregar nuevo objeto hijo al padre seleccionado\",\n \"ra_Add objects tree from JSON file\": \"Agregar \u00E1rbol de objetos desde el archivo JSON\",\n \"ra_Add row\": \"A\u00F1adir fila\",\n \"ra_Advanced options\": \"Opciones avanzadas\",\n \"ra_All items are filtered out\": \"Todos los elementos se filtran\",\n \"ra_All objects\": \"Todos los objetos\",\n \"ra_Append\": \"Adjuntar\",\n \"ra_Append %s entries or replace existing?\": \"\u00BFAgregar %s entradas o reemplazar las existentes?\",\n \"ra_Append or replace?\": \"\u00BFAgregar o reemplazar?\",\n \"ra_Are you sure?\": \"\u00BFEst\u00E1s seguro?\",\n \"ra_Auto (no custom columns)\": \"Autom\u00E1tico (sin columnas personalizadas)\",\n \"ra_Back to %s\": \"Volver a %s\",\n \"ra_Background image\": \"Imagen de fondo\",\n \"ra_Cancel\": \"Cancelar\",\n \"ra_Cannot add items with set filter\": \"No se pueden agregar elementos con el filtro establecido\",\n \"ra_Cannot decode license\": \"No se puede decodificar la licencia\",\n \"ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser\": \"No se puede determinar la posici\u00F3n: la configuraci\u00F3n del sistema est\u00E1 vac\u00EDa y la detecci\u00F3n de GPS est\u00E1 deshabilitada en el navegador\",\n \"ra_Cannot find \\\"%s\\\"\": \"No se puede encontrar \\\"%s\\\"\",\n \"ra_Cannot read \\\"%s\\\"\": \"No se puede leer \\\"%s\\\"\",\n \"ra_Cannot read licenses: %s\": \"No se pueden leer licencias: %s\",\n \"ra_Cannot retrieve options, as instance is offline\": \"No se pueden recuperar las opciones, ya que la instancia est\u00E1 fuera de l\u00EDnea\",\n \"ra_Cannot update attribute, because not found in the object\": \"No se puede actualizar el atributo porque no se encuentra en el objeto\",\n \"ra_Cannot upload\": \"no se puede cargar\",\n \"ra_Categories\": \"Categor\u00EDas\",\n \"ra_Chained certificate\": \"certificado encadenado\",\n \"ra_Change color theme\": \"Cambiar tema de color\",\n \"ra_Changed from\": \"Cambiaron desde\",\n \"ra_Channel \u2192 State\": \"Canal \u2192 Estado\",\n \"ra_Check license\": \"Verificar licencia\",\n \"ra_Checked\": \"Comprobado\",\n \"ra_Clear\": \"Borrar\",\n \"ra_Clear filter\": \"Filtro claro\",\n \"ra_Clear icon\": \"Icono claro\",\n \"ra_Clone current row\": \"Clonar fila actual\",\n \"ra_Close\": \"Cerca\",\n \"ra_Collapse all nodes\": \"Contraer todos los nodos\",\n \"ra_Collapse one step node\": \"Contraer un nivel\",\n \"ra_Commercial\": \"Comercial\",\n \"ra_Configure\": \"Configurar\",\n \"ra_Configure visible columns\": \"Configurar columnas visibles\",\n \"ra_Confirm deletion of %s\": \"Confirmar la eliminaci\u00F3n de %s\",\n \"ra_Connected\": \"Conectado\",\n \"ra_Copied\": \"Copiado\",\n \"ra_Copied %s\": \"Copiado \\\"%s\\\"\",\n \"ra_Copy content\": \"Copiar contenido\",\n \"ra_Create\": \"Crear\",\n \"ra_Create alias\": \"Crear alias\",\n \"ra_Create folder\": \"Crear carpeta\",\n \"ra_Create new folder in %s\": \"Crear nueva carpeta en %s\",\n \"ra_Crop\": \"Cultivo\",\n \"ra_Define CRON...\": \"Definir CRON...\",\n \"ra_Define functions\": \"Definir funciones\",\n \"ra_Define rooms\": \"Definir habitaciones\",\n \"ra_Define schedule\": \"Definir horario\",\n \"ra_Define schedule...\": \"Definir horario ...\",\n \"ra_Del\": \"Delete\",\n \"ra_Delete\": \"Eliminar\",\n \"ra_Delete (no confirm for 5 mins)\": \"Eliminar (sin confirmar durante 5 minutos)\",\n \"ra_Delete current row\": \"Eliminar fila actual\",\n \"ra_Deselect all\": \"Deselecciona todo\",\n \"ra_Device \u2192 Channel \u2192 State\": \"Dispositivo \u2192 Canal \u2192 Estado\",\n \"ra_Discard\": \"Desechar\",\n \"ra_Disconnected\": \"Desconectado\",\n \"ra_Do not export values of states\": \"No exportar valores de estados.\",\n \"ra_Do not use let's encrypt\": \"No use vamos a cifrar\",\n \"ra_Double click to reset table layout\": \"Haga doble clic para restablecer el dise\u00F1o de la tabla\",\n \"ra_Drag 'n' drop some files here, or click to select files\": \"Arrastre y suelte algunos archivos aqu\u00ED, o haga clic para seleccionar archivos\",\n \"ra_Drop file here\": \"Suelta el archivo aqu\u00ED\",\n \"ra_Drop the files here...\": \"Suelta el archivo aqu\u00ED ...\",\n \"ra_Duplicate name\": \"Nombre duplicado\",\n \"ra_Edit ACL\": \"Editar LCA\",\n \"ra_Edit alias\": \"Editar alias\",\n \"ra_Edit custom config\": \"Editar configuraci\u00F3n personalizada\",\n \"ra_Edit function\": \"Funci\u00F3n de edici\u00F3n\",\n \"ra_Edit object field\": \"Editar campo de objeto\",\n \"ra_Edit role\": \"Editar rol\",\n \"ra_Edit room\": \"Cuarto de edici\u00F3n\",\n \"ra_Edit value\": \"Editar valor\",\n \"ra_Error\": \"Error\",\n \"ra_Expand all nodes\": \"Expandir todos los nodos\",\n \"ra_Expand one step node\": \"Expandir un nivel\",\n \"ra_Export data to %s file\": \"Exportar datos al archivo %s\",\n \"ra_Failed to open JSON File\": \"No se pudo abrir el archivo JSON\",\n \"ra_Fallback custom certificates\": \"Certificados personalizados alternativos\",\n \"ra_File is too big. Max %sk allowed. Try use SVG.\": \"El archivo es demasiado grande. M\u00E1ximo de %sk permitido. Intenta usar SVG.\",\n \"ra_Filter\": \"Filtrar\",\n \"ra_Filter files\": \"Filtrar archivos\",\n \"ra_Folder name\": \"Nombre de la carpeta\",\n \"ra_Folder \u2192 Channel \u2192 State\": \"Carpeta \u2192 Canal \u2192 Estado\",\n \"ra_Folder \u2192 Device \u2192 Channel \u2192 State\": \"Carpeta \u2192 Dispositivo \u2192 Canal \u2192 Estado\",\n \"ra_Folder \u2192 State\": \"Carpeta \u2192 Estado\",\n \"ra_Folders always first\": \"Carpetas siempre primero\",\n \"ra_Friday\": \"Viernes\",\n \"ra_Good luck\": \"Buena suerte\",\n \"ra_Hide empty folders\": \"Ocultar carpetas vac\u00EDas\",\n \"ra_If no file will be created in the folder, it will disappear after the browser closed\": \"Si no se crear\u00E1 ning\u00FAn archivo en la carpeta, desaparecer\u00E1 despu\u00E9s de que se cierre el navegador.\",\n \"ra_Import data from %s file\": \"Importar datos del archivo %s\",\n \"ra_Import from %s\": \"Importar desde %s\",\n \"ra_Instance %s is alive\": \"Instancia %s est\u00E1 vivo\",\n \"ra_Instance %s is not alive\": \"Instancia %s no est\u00E1 vivo\",\n \"ra_Instance is not alive\": \"La instancia no est\u00E1 viva\",\n \"ra_Invalid CRON\": \"CRON no v\u00E1lido\",\n \"ra_Invalid JSON\": \"JSON no v\u00E1lido\",\n \"ra_Invalid answer from server\": \"Respuesta inv\u00E1lida del servidor\",\n \"ra_Invalid parent folder!\": \"Carpeta principal no v\u00E1lida.\",\n \"ra_Invalid structure\": \"Estructura inv\u00E1lida\",\n \"ra_JSON editor\": \"editor JSON\",\n \"ra_Last change\": \"Ultimo cambio\",\n \"ra_Latitude\": \"Latitud\",\n \"ra_License %s\": \"Licencia %s\",\n \"ra_License agreement\": \"Acuerdo de licencia\",\n \"ra_License does not exist\": \"La licencia no existe\",\n \"ra_License expired on %s\": \"La licencia venci\u00F3 el %s\",\n \"ra_License for other product \\\"%s\\\"\": \"Licencia para otro producto \\\"%s\\\"\",\n \"ra_License is for version %s, but required version is %s.\": \"La licencia es para la versi\u00F3n %s, pero la versi\u00F3n requerida es %s.\",\n \"ra_License must be converted\": \"La licencia debe convertirse a una versi\u00F3n m\u00E1s reciente. Puedes hacerlo en tu perfil de iobroker.net.\",\n \"ra_License not found in license manager. Do you want to read licenses from iobroker.net?\": \"Licencia no encontrada en el administrador de licencias. \u00BFQuieres actualizar las licencias de iobroker.net?\",\n \"ra_Listen on all IPs\": \"Escuche en todas las IP\",\n \"ra_Load configuration from file\": \"Cargar configuraci\u00F3n desde archivo\",\n \"ra_Longitude\": \"Longitud\",\n \"ra_May not trigger \\\"updateLicenses\\\"\": \"No puede activar \\\"updateLicenses\\\"\",\n \"ra_Message\": \"Mensaje\",\n \"ra_Monday\": \"Lunes\",\n \"ra_Move down\": \"Mover hacia abajo\",\n \"ra_Move up\": \"Ascender\",\n \"ra_Name\": \"Nombre\",\n \"ra_No data found in file\": \"No se encontraron datos en el archivo\",\n \"ra_No one license found in license manager\": \"No se encontr\u00F3 ninguna licencia en el administrador de licencias\",\n \"ra_No response from the backend\": \"No hay respuesta del backend\",\n \"ra_Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\": \"Los no expertos pueden crear nuevos objetos solo en \\\"0_userdata.0\\\" o \\\"alias.0\\\".\",\n \"ra_Not a number\": \"No un n\u00FAmero\",\n \"ra_Objects\": \"Objetos\",\n \"ra_Ok\": \"Okay\",\n \"ra_On weekdays\": \"De lunes a viernes\",\n \"ra_Only following structures of objects are available:\": \"Solo est\u00E1n disponibles las siguientes estructuras de objetos:\",\n \"ra_Only selected\": \"Solo seleccionados\",\n \"ra_Owner group\": \"Grupo propietario\",\n \"ra_Owner user\": \"Usuario propietario\",\n \"ra_Passwords are not equal!\": \"\u00A1Las contrase\u00F1as no son iguales!\",\n \"ra_Place your files here or click here to open the browse dialog\": \"Coloque sus archivos aqu\u00ED o haga clic aqu\u00ED para abrir el cuadro de di\u00E1logo de exploraci\u00F3n\",\n \"ra_Please confirm\": \"Por favor confirmar\",\n \"ra_Please create license\": \"Por favor cree una licencia\",\n \"ra_Please enter the license\": \"Por favor ingrese la licencia\",\n \"ra_Please select file...\": \"Seleccione el archivo...\",\n \"ra_Please select object ID...\": \"Por favor seleccione ID de objeto ...\",\n \"ra_Port could be used by %s\": \"El puerto podr\u00EDa ser utilizado por %s\",\n \"ra_Port is already used by %s\": \"El puerto ya est\u00E1 en uso por %s\",\n \"ra_Private certificate\": \"certificado privado\",\n \"ra_Product\": \"Producto\",\n \"ra_Public certificate\": \"Certificado p\u00FAblico\",\n \"ra_Quality code\": \"Calidad\",\n \"ra_Refresh tree\": \"Actualizar \u00E1rbol\",\n \"ra_Reload files\": \"Recargar archivos\",\n \"ra_Repeat\": \"Repetir\",\n \"ra_Replace\": \"Reemplazar\",\n \"ra_Request timed out\": \"Tiempo de espera agotado\",\n \"ra_Restrict to folder\": \"Restringir a carpeta\",\n \"ra_Root\": \"Ra\u00EDz\",\n \"ra_Saturday\": \"S\u00E1bado\",\n \"ra_Save\": \"Salvar\",\n \"ra_Save and close\": \"Guardar y cerrar\",\n \"ra_Save configuration to file\": \"Guardar configuraci\u00F3n en archivo\",\n \"ra_Save objects tree as JSON file\": \"Guardar el \u00E1rbol de objetos como archivo JSON\",\n \"ra_Select all\": \"Seleccionar todo\",\n \"ra_Select color\": \"Seleccionar el color\",\n \"ra_Select predefined icon\": \"Seleccionar icono predefinido\",\n \"ra_Select type of export\": \"Seleccione tipo de exportaci\u00F3n\",\n \"ra_Selected\": \"Seleccionado\",\n \"ra_Selected %s object(s)\": \"%s objetos seleccionados\",\n \"ra_Serial number (UUID)\": \"N\u00FAmero de serie (UUID)\",\n \"ra_Serial number (UUID) \\\"%s\\\" in license is for other device.\": \"El n\u00FAmero de serie (UUID) \\\"%s\\\" en la licencia es para otro dispositivo.\",\n \"ra_Show all folders\": \"Mostrar todas las carpetas\",\n \"ra_Show lines between rows\": \"Mostrar l\u00EDneas entre filas\",\n \"ra_Show/Hide object descriptions\": \"Mostrar/ocultar descripciones de objetos\",\n \"ra_Show/hide filter input\": \"Mostrar/ocultar entrada de filtro\",\n \"ra_Some data are not stored. Discard?\": \"Algunos datos no se almacenan. \u00BFDesechar?\",\n \"ra_States\": \"Estados\",\n \"ra_Suitable license not found in license manager\": \"Licencia adecuada no encontrada en el administrador de licencias\",\n \"ra_Sunday\": \"Domingo\",\n \"ra_Suppress question for next %s minutes\": \"Suprimir pregunta durante los pr\u00F3ximos %s minutos\",\n \"ra_System language\": \"Lenguaje del sistema\",\n \"ra_Take browser position\": \"Tomar posici\u00F3n desde el navegador\",\n \"ra_Take position from system settings\": \"Tomar posici\u00F3n desde la configuraci\u00F3n del sistema\",\n \"ra_The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\": \"Los expertos pueden crear objetos en todas partes excepto desde el segundo nivel (por ejemplo, \\\"vis.0\\\" o \\\"javascript.0\\\").\",\n \"ra_The page you are looking for was not found\": \"No se encontr\u00F3 la p\u00E1gina que busca\",\n \"ra_The schedule will be executed every minute. Are you sure?\": \"El cronograma se ejecutar\u00E1 cada minuto. \u00BFEst\u00E1s seguro?\",\n \"ra_The schedule will be executed every second. Are you sure?\": \"El cronograma se ejecutar\u00E1 cada segundo. \u00BFEst\u00E1s seguro?\",\n \"ra_Thursday\": \"Jueves\",\n \"ra_Timestamp\": \"Marca de tiempo\",\n \"ra_Toggle expert mode\": \"Alternar modo experto\",\n \"ra_Toggle the states view\": \"Alternar la vista de estados\",\n \"ra_Toggle view mode\": \"Alternar modo de vista\",\n \"ra_Too big\": \"Demasiado grande\",\n \"ra_Too small\": \"Demasiado peque\u00F1a\",\n \"ra_Transparent dialog\": \"Di\u00E1logo transparente\",\n \"ra_Tuesday\": \"Martes\",\n \"ra_Unknown error\": \"Error desconocido\",\n \"ra_Unknown error!\": \"\u00A1Error desconocido!\",\n \"ra_Update\": \"Actualizar\",\n \"ra_Upload file\": \"Subir archivo\",\n \"ra_Use all available let's encrypt certificates\": \"Utilice todos los certificados let's encrypt disponibles\",\n \"ra_Use iobroker.acme adapter for letsencrypt certificates\": \"Use el adaptador iobroker.acme para los certificados de letsencrypt\",\n \"ra_Use system settings for position\": \"Usar la configuraci\u00F3n del sistema para la posici\u00F3n\",\n \"ra_Used system settings\": \"Configuraciones del sistema usadas\",\n \"ra_User files\": \"Archivos de usuario\",\n \"ra_ValidTill\": \"V\u00E1lida hasta\",\n \"ra_Value\": \"Valor\",\n \"ra_Version\": \"Versi\u00F3n\",\n \"ra_View file\": \"Ver archivo\",\n \"ra_View: %s\": \"Ver: %s\",\n \"ra_Wednesday\": \"Mi\u00E9rcoles\",\n \"ra_Width\": \"Anchura\",\n \"ra_Yes\": \"S\u00ED\",\n \"ra_You can export all objects or just the selected branch.\": \"Puede exportar todos los objetos o solo la rama seleccionada.\",\n \"ra_You can filter entries by entering here some text\": \"Puede filtrar las entradas ingresando aqu\u00ED alg\u00FAn texto\",\n \"ra___different__\": \"diferente\",\n \"ra_aclEveryone_read_object\": \"Todo el mundo puede leer el objeto\",\n \"ra_aclEveryone_read_state\": \"Todos pueden leer el estado\",\n \"ra_aclEveryone_write_object\": \"Todos pueden escribir objetos\",\n \"ra_aclEveryone_write_state\": \"Todos pueden escribir el estado\",\n \"ra_aclGroup_read_object\": \"El grupo puede leer el objeto\",\n \"ra_aclGroup_read_state\": \"El grupo puede leer el estado\",\n \"ra_aclGroup_write_object\": \"El grupo puede escribir un objeto\",\n \"ra_aclGroup_write_state\": \"El grupo puede escribir el estado\",\n \"ra_aclOwner_read_object\": \"El propietario puede leer el objeto\",\n \"ra_aclOwner_read_state\": \"El propietario puede leer el estado\",\n \"ra_aclOwner_write_object\": \"El propietario puede escribir el objeto\",\n \"ra_aclOwner_write_state\": \"El propietario puede escribir el estado\",\n \"ra_buttons\": \"Botones\",\n \"ra_changedFrom\": \"Cambiaron desde\",\n \"ra_close\": \"cerrar\",\n \"ra_create_boolean_state\": \"Crear estado booleano\",\n \"ra_create_channel\": \"Crear canal\",\n \"ra_create_device\": \"Crear dispositivo\",\n \"ra_create_number_state\": \"Crear estado num\u00E9rico\",\n \"ra_create_state\": \"Crear estado\",\n \"ra_create_string_state\": \"Crear estado de cadena\",\n \"ra_daysShortText\": \"d.\",\n \"ra_dow_Fr\": \"Fr\",\n \"ra_dow_Mo\": \"Mes\",\n \"ra_dow_Sa\": \"Sa\",\n \"ra_dow_Su\": \"Su\",\n \"ra_dow_Th\": \"Th\",\n \"ra_dow_Tu\": \"Tu\",\n \"ra_dow_We\": \"Nosotros\",\n \"ra_expertMode\": \"Modo experto\",\n \"ra_fileType_all\": \"Todos los archivos\",\n \"ra_fileType_audio\": \"Audio\",\n \"ra_fileType_code\": \"C\u00F3digo/JSON\",\n \"ra_fileType_images\": \"Im\u00E1genes\",\n \"ra_fileType_txt\": \"Texto\",\n \"ra_fileType_video\": \"Video\",\n \"ra_fileType_video,\": \"Video\",\n \"ra_filter_customs\": \"Configuraciones\",\n \"ra_filter_customs_without\": \"sin\",\n \"ra_filter_func\": \"Funci\u00F3n\",\n \"ra_filter_id\": \"ID\",\n \"ra_filter_name\": \"Nombre\",\n \"ra_filter_role\": \"Papel\",\n \"ra_filter_room\": \"Habitaci\u00F3n\",\n \"ra_filter_type\": \"Tipo\",\n \"ra_import data from %s file\": \"Importar datos del archivo %s\",\n \"ra_invalidConfig\": \"Configuraciones inv\u00E1lidas\",\n \"ra_lastChange\": \"Ultimo cambio\",\n \"ra_locally\": \"en la zona\",\n \"ra_month_Apr\": \"Abr\",\n \"ra_month_Aug\": \"Ago\",\n \"ra_month_Dec\": \"Dic\",\n \"ra_month_Feb\": \"Feb\",\n \"ra_month_Jan\": \"Ene\",\n \"ra_month_Jul\": \"Jul\",\n \"ra_month_Jun\": \"Jun\",\n \"ra_month_Mai\": \"Mai\",\n \"ra_month_Mar\": \"Mar\",\n \"ra_month_Nov\": \"Nov\",\n \"ra_month_Oct\": \"Oct\",\n \"ra_month_Sep\": \"Sep\",\n \"ra_months_Apr\": \"Abr\",\n \"ra_months_Aug\": \"Ago\",\n \"ra_months_Dec\": \"Dic\",\n \"ra_months_Feb\": \"Feb\",\n \"ra_months_Jan\": \"Ene\",\n \"ra_months_Jul\": \"Jul\",\n \"ra_months_Jun\": \"Jun\",\n \"ra_months_Mai\": \"Mai\",\n \"ra_months_Mar\": \"Mar\",\n \"ra_months_Nov\": \"Nov\",\n \"ra_months_Oct\": \"Oct\",\n \"ra_months_Sep\": \"Sep\",\n \"ra_none\": \"ninguno\",\n \"ra_object_changed_by\": \"Objeto cambiado por\",\n \"ra_object_changed_by_user\": \"Objeto cambiado por \u00FAltima vez a las\",\n \"ra_otherConfig\": \"Configuraciones de otro adaptador %s\",\n \"ra_qualityCode\": \"C\u00F3digo de calidad\",\n \"ra_repeat\": \"repetir\",\n \"ra_select_folder_hint\": \"Para seleccionar la carpeta, simplemente mantenga presionada la tecla \\\"shift\\\" haciendo clic en la carpeta.\",\n \"ra_state_changed_by\": \"Estado cambiado por\",\n \"ra_state_changed_from\": \"Objeto cambiado de\",\n \"ra_timestamp\": \"Marca de tiempo\",\n \"ra_tooltip_ack\": \"Bandera reconocida\",\n \"ra_tooltip_comment\": \"Comentario\",\n \"ra_tooltip_copyState\": \"Copie el valor del estado\",\n \"ra_tooltip_customConfig\": \"Ajustes personalizados\",\n \"ra_tooltip_deleteObject\": \"Eliminar objeto\",\n \"ra_tooltip_editObject\": \"Editar objeto\",\n \"ra_tooltip_editState\": \"Edite el valor del estado\",\n \"ra_tooltip_from\": \"Desde\",\n \"ra_tooltip_lc\": \"\u00DAltimo cambio\",\n \"ra_tooltip_quality\": \"Calidad\",\n \"ra_tooltip_ts\": \"Sello de tiempo\",\n \"ra_tooltip_user\": \"Usuario\",\n \"ra_tooltip_value\": \"Valor\",\n \"ra_use seconds\": \"usar segundos\",\n \"ra_val\": \"Valor\",\n \"ra_via internet\": \"v\u00EDa Internet\",\n \"ra_warning_every_minute\": \"Advertencia: \u00A1El trabajo CRON se ejecutar\u00E1 cada minuto durante el per\u00EDodo especificado!\",\n \"ra_warning_every_second\": \"Advertencia: \u00A1El trabajo CRON se ejecutar\u00E1 cada segundo durante el per\u00EDodo especificado!\",\n \"sc_cron\": \"CRON\",\n \"sc_date\": \"Fecha\",\n \"sc_dates\": \"fechas\",\n \"sc_dow\": \"D\u00EDa\",\n \"sc_dows\": \"D\u00EDa de la semana\",\n \"sc_every\": \"Cada\",\n \"sc_everyN_dates\": \"cada N d\u00EDas\",\n \"sc_everyN_dow\": \"cada en\u00E9simo d\u00EDa de la semana\",\n \"sc_everyN_dows\": \"cada N d\u00EDa de la semana\",\n \"sc_everyN_hours\": \"cada N horas\",\n \"sc_everyN_minutes\": \"cada N minutos\",\n \"sc_everyN_months\": \"cada N meses\",\n \"sc_everyN_seconds\": \"cada N segundos\",\n \"sc_every_dates\": \"cada d\u00EDa\",\n \"sc_every_dow\": \"Cada d\u00EDa de la semana\",\n \"sc_every_dows\": \"Cada d\u00EDa de la semana\",\n \"sc_every_hours\": \"cada hora\",\n \"sc_every_minutes\": \"cada minuto\",\n \"sc_every_months\": \"cada mes\",\n \"sc_every_seconds\": \"cada segundo\",\n \"sc_from\": \"De\",\n \"sc_hours\": \"Horas\",\n \"sc_interval\": \"Intervalo\",\n \"sc_intervalBetween\": \"Intervalo entre\",\n \"sc_invalid_cron\": \"CRON no v\u00E1lido\",\n \"sc_minutes\": \"Minutos\",\n \"sc_months\": \"meses\",\n \"sc_once\": \"Una vez\",\n \"sc_period\": \"Per\u00EDodo\",\n \"sc_seconds\": \"Segundos\",\n \"sc_simple\": \"Sencillo\",\n \"sc_specific\": \"Tiempo espec\u00EDfico\",\n \"sc_specific_dates\": \"fechas especificas\",\n \"sc_specific_dow\": \"d\u00EDa(s) espec\u00EDfico(s) de la semana\",\n \"sc_specific_dows\": \"d\u00EDa espec\u00EDfico de semanas\",\n \"sc_specific_hours\": \"horas espec\u00EDficas\",\n \"sc_specific_minutes\": \"minutos espec\u00EDficos\",\n \"sc_specific_months\": \"meses espec\u00EDficos\",\n \"sc_specific_seconds\": \"segundos espec\u00EDficos\",\n \"sc_time\": \"Hora\",\n \"sc_to\": \"A\",\n \"sc_wizard\": \"Mago\",\n \"sch_all\": \"todas\",\n \"sch_astroDay\": \"D\u00EDa astro\",\n \"sch_astroNight\": \"Noche astro\",\n \"sch_astro_dawn\": \"Amanecer\",\n \"sch_astro_dusk\": \"Oscuridad\",\n \"sch_astro_goldenHour\": \"hora dorada\",\n \"sch_astro_goldenHourEnd\": \"Fin de la hora dorada\",\n \"sch_astro_nadir\": \"Nadir\",\n \"sch_astro_nauticalDawn\": \"Amanecer n\u00E1utico\",\n \"sch_astro_nauticalDusk\": \"Anochecer n\u00E1utico\",\n \"sch_astro_night\": \"Noche\",\n \"sch_astro_nightEnd\": \"Fin de la noche\",\n \"sch_astro_solarNoon\": \"Mediod\u00EDa solar\",\n \"sch_astro_sunrise\": \"amanecer\",\n \"sch_astro_sunriseEnd\": \"Fin del amanecer\",\n \"sch_astro_sunset\": \"Puesta de sol\",\n \"sch_astro_sunsetStart\": \"Puesta de sol\",\n \"sch_at\": \"a\",\n \"sch_desc_atTime\": \"en %s\",\n \"sch_desc_everyDay\": \"cada d\u00EDa\",\n \"sch_desc_everyHour\": \"cada hora\",\n \"sch_desc_everyMinute\": \"cada minuto\",\n \"sch_desc_everyMonth\": \"cada mes\",\n \"sch_desc_everyNDay\": \"cada %s d\u00EDas\",\n \"sch_desc_everyNHours\": \"cada %s horas\",\n \"sch_desc_everyNMinutes\": \"cada %s minutos\",\n \"sch_desc_everyNMonths\": \"cada %s meses\",\n \"sch_desc_everyNWeeks\": \"cada %s semanas\",\n \"sch_desc_everyNYears\": \"cada %s a\u00F1os\",\n \"sch_desc_everyWeek\": \"cada semana\",\n \"sch_desc_everyYear\": \"todos los a\u00F1os\",\n \"sch_desc_intervalFromTo\": \"de %s a %s\",\n \"sch_desc_never\": \"Nunca\",\n \"sch_desc_onDate\": \"en %s de %s\",\n \"sch_desc_onDates\": \"en %s y %s de\",\n \"sch_desc_onEveryDate\": \"en cada fecha de\",\n \"sch_desc_onMonth\": \"%s\",\n \"sch_desc_onMonths\": \"%s y %s\",\n \"sch_desc_onWeekday\": \"en %s\",\n \"sch_desc_onWeekdays\": \"en %s y %s\",\n \"sch_desc_onWeekends\": \"en los fines de semana\",\n \"sch_desc_onWorkdays\": \"en d\u00EDas laborables\",\n \"sch_desc_onceInPast\": \"ya no se ejecutar\u00E1 m\u00E1s, porque el inicio est\u00E1 en el pasado\",\n \"sch_desc_once_on\": \"en %s\",\n \"sch_desc_validFrom\": \"de %s\",\n \"sch_desc_validFromTo\": \"Ejecutar desde hasta\",\n \"sch_desc_validTo\": \"a %s\",\n \"sch_every\": \"cada\",\n \"sch_exactTime\": \"Tiempo espec\u00EDfico\",\n \"sch_from\": \"de\",\n \"sch_fromTo\": \"De-a\",\n \"sch_intervalTime\": \"Tiempo de intervalo\",\n \"sch_invert\": \"invertir; poner boca abajo o en la posici\u00F3n opuesta, orden o arreglo; Boca abajo\",\n \"sch_no_one\": \"ninguna\",\n \"sch_on\": \"en\",\n \"sch_period\": \"Per\u00EDodo\",\n \"sch_periodDaily\": \"Diario\",\n \"sch_periodDates\": \"fechas\",\n \"sch_periodDay\": \"D\u00EDa\",\n \"sch_periodEvery\": \"Cada\",\n \"sch_periodEveryDay\": \"Cada d\u00EDa\",\n \"sch_periodEveryMonth\": \"Cada mes\",\n \"sch_periodEveryWeek\": \"Cada semana\",\n \"sch_periodEveryYear\": \"Todos los a\u00F1os\",\n \"sch_periodHours\": \"Horas\",\n \"sch_periodMinutes\": \"Minutos\",\n \"sch_periodMonth\": \"mes\",\n \"sch_periodMonthly\": \"Mensual\",\n \"sch_periodOnce\": \"Una vez\",\n \"sch_periodSpecificMonths\": \"Meses espec\u00EDficos\",\n \"sch_periodWeek\": \"Semana\",\n \"sch_periodWeekdays\": \"D\u00EDas laborables\",\n \"sch_periodWeekend\": \"Fin de semana\",\n \"sch_periodWeekly\": \"Semanal\",\n \"sch_periodWorkdays\": \"D\u00EDas laborables\",\n \"sch_periodYear\": \"A\u00F1o\",\n \"sch_periodYearly\": \"Anual\",\n \"sch_specificTime\": \"Tiempo espec\u00EDfico\",\n \"sch_time\": \"Hora\",\n \"sch_to\": \"a\",\n \"sch_valid\": \"V\u00E1lido\",\n \"sch_validFrom\": \"de\",\n \"sch_validTo\": \"a\",\n \"sch_wholeDay\": \"Todo el dia\",\n \"sch_yearEveryMonth\": \"cada mes\"\n}\n", "{\n \"ra_%s links from aliases\": \"%s link\u00F3w z alias\u00F3w\",\n \"ra_%s object(s) processed\": \"Przetworzono %s obiekt\u00F3w\",\n \"ra_%s was imported\": \"%s zosta\u0142 zaimportowany\",\n \"ra_Accept license\": \"Zaakceptuj licencj\u0119\",\n \"ra_Add new child object to selected parent\": \"Dodaj nowy obiekt potomny do wybranego rodzica\",\n \"ra_Add objects tree from JSON file\": \"Dodaj drzewo obiekt\u00F3w z pliku JSON\",\n \"ra_Add row\": \"Dodaj wiersz\",\n \"ra_Advanced options\": \"Zaawansowane opcje\",\n \"ra_All items are filtered out\": \"Wszystkie pozycje s\u0105 odfiltrowane\",\n \"ra_All objects\": \"Wszystkie obiekty\",\n \"ra_Append\": \"Doda\u0107\",\n \"ra_Append %s entries or replace existing?\": \"Do\u0142\u0105czy\u0107 wpisy %s czy zast\u0105pi\u0107 istniej\u0105ce?\",\n \"ra_Append or replace?\": \"Do\u0142\u0105czy\u0107 czy zast\u0105pi\u0107?\",\n \"ra_Are you sure?\": \"Jeste\u015B pewny?\",\n \"ra_Auto (no custom columns)\": \"Auto (bez kolumn niestandardowych)\",\n \"ra_Back to %s\": \"Powr\u00F3t do %s\",\n \"ra_Background image\": \"Zdj\u0119cie w tle\",\n \"ra_Cancel\": \"Anuluj\",\n \"ra_Cannot add items with set filter\": \"Nie mo\u017Cna doda\u0107 element\u00F3w z ustawionym filtrem\",\n \"ra_Cannot decode license\": \"Nie mo\u017Cna zdekodowa\u0107 licencji\",\n \"ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser\": \"Nie mo\u017Cna okre\u015Bli\u0107 pozycji: ustawienia systemu s\u0105 puste, a wykrywanie GPS jest wy\u0142\u0105czone w przegl\u0105darce\",\n \"ra_Cannot find \\\"%s\\\"\": \"Nie mo\u017Cna znale\u017A\u0107 \u201E%s\u201D\",\n \"ra_Cannot read \\\"%s\\\"\": \"Nie mo\u017Cna odczyta\u0107 \u201E%s\u201D\",\n \"ra_Cannot read licenses: %s\": \"Nie mo\u017Cna odczyta\u0107 licencji: %s\",\n \"ra_Cannot retrieve options, as instance is offline\": \"Nie mo\u017Cna pobra\u0107 opcji, poniewa\u017C instancja jest w trybie offline\",\n \"ra_Cannot update attribute, because not found in the object\": \"Nie mo\u017Cna zaktualizowa\u0107 atrybutu, poniewa\u017C nie znaleziono go w obiekcie\",\n \"ra_Cannot upload\": \"Nie mo\u017Cna przes\u0142a\u0107\",\n \"ra_Categories\": \"Kategorie\",\n \"ra_Chained certificate\": \"Certyfikat \u0142a\u0144cuchowy\",\n \"ra_Change color theme\": \"Zmie\u0144 motyw kolorystyczny\",\n \"ra_Changed from\": \"Zmieniony z\",\n \"ra_Channel \u2192 State\": \"Kana\u0142 \u2192 Stan\",\n \"ra_Check license\": \"Sprawd\u017A licencj\u0119\",\n \"ra_Checked\": \"Sprawdzony\",\n \"ra_Clear\": \"Kasowa\u0107\",\n \"ra_Clear filter\": \"Czysty filtr\",\n \"ra_Clear icon\": \"Wyczy\u015B\u0107 ikon\u0119\",\n \"ra_Clone current row\": \"Sklonuj bie\u017C\u0105cy wiersz\",\n \"ra_Close\": \"Blisko\",\n \"ra_Collapse all nodes\": \"Zwi\u0144 wszystkie w\u0119z\u0142y\",\n \"ra_Collapse one step node\": \"Zwi\u0144 o jeden poziom\",\n \"ra_Commercial\": \"Handlowy\",\n \"ra_Configure\": \"Konfiguruj\",\n \"ra_Configure visible columns\": \"Skonfiguruj widoczne kolumny\",\n \"ra_Confirm deletion of %s\": \"Potwierd\u017A usuni\u0119cie %s\",\n \"ra_Connected\": \"Po\u0142\u0105czony\",\n \"ra_Copied\": \"Skopiowano\",\n \"ra_Copied %s\": \"Skopiowano \\\"%s\\\"\",\n \"ra_Copy content\": \"Kopiuj zawarto\u015B\u0107\",\n \"ra_Create\": \"Stw\u00F3rz\",\n \"ra_Create alias\": \"Utw\u00F3rz alias\",\n \"ra_Create folder\": \"Utw\u00F3rz folder\",\n \"ra_Create new folder in %s\": \"Utw\u00F3rz nowy folder w %s\",\n \"ra_Crop\": \"Przyci\u0105\u0107\",\n \"ra_Define CRON...\": \"Zdefiniuj CRON...\",\n \"ra_Define functions\": \"Zdefiniuj funkcje\",\n \"ra_Define rooms\": \"Zdefiniuj pokoje\",\n \"ra_Define schedule\": \"Zdefiniuj harmonogram\",\n \"ra_Define schedule...\": \"Zdefiniuj harmonogram ...\",\n \"ra_Del\": \"Delete\",\n \"ra_Delete\": \"Usun\u0105\u0107\",\n \"ra_Delete (no confirm for 5 mins)\": \"Usu\u0144 (bez potwierdzenia przez 5 minut)\",\n \"ra_Delete current row\": \"Usu\u0144 bie\u017C\u0105cy wiersz\",\n \"ra_Deselect all\": \"Odznacz wszystko\",\n \"ra_Device \u2192 Channel \u2192 State\": \"Urz\u0105dzenie \u2192 Kana\u0142 \u2192 Stan\",\n \"ra_Discard\": \"Wyrzuca\u0107\",\n \"ra_Disconnected\": \"Niepowi\u0105zany\",\n \"ra_Do not export values of states\": \"Nie eksportuj warto\u015Bci stan\u00F3w\",\n \"ra_Do not use let's encrypt\": \"Nie u\u017Cywaj zaszyfrujmy\",\n \"ra_Double click to reset table layout\": \"Kliknij dwukrotnie, aby zresetowa\u0107 uk\u0142ad tabeli\",\n \"ra_Drag 'n' drop some files here, or click to select files\": \"Przeci\u0105gnij i upu\u015B\u0107 kilka plik\u00F3w tutaj lub kliknij, aby wybra\u0107 pliki\",\n \"ra_Drop file here\": \"Upu\u015B\u0107 plik tutaj\",\n \"ra_Drop the files here...\": \"Upu\u015B\u0107 plik tutaj...\",\n \"ra_Duplicate name\": \"Zduplikowana nazwa\",\n \"ra_Edit ACL\": \"Edytuj listy ACL\",\n \"ra_Edit alias\": \"Edytuj alias\",\n \"ra_Edit custom config\": \"Edytuj konfiguracj\u0119 niestandardow\u0105\",\n \"ra_Edit function\": \"Funkcja edycji\",\n \"ra_Edit object field\": \"Edytuj pole obiektu\",\n \"ra_Edit role\": \"Edytuj rol\u0119\",\n \"ra_Edit room\": \"Edytuj pok\u00F3j\",\n \"ra_Edit value\": \"Edytuj warto\u015B\u0107\",\n \"ra_Error\": \"B\u0142\u0105d\",\n \"ra_Expand all nodes\": \"Rozwi\u0144 wszystkie w\u0119z\u0142y\",\n \"ra_Expand one step node\": \"Rozwi\u0144 o jeden poziom\",\n \"ra_Export data to %s file\": \"Eksportuj dane do pliku %s\",\n \"ra_Failed to open JSON File\": \"Nie uda\u0142o si\u0119 otworzy\u0107 pliku JSON\",\n \"ra_Fallback custom certificates\": \"Niestandardowe certyfikaty zast\u0119pcze\",\n \"ra_File is too big. Max %sk allowed. Try use SVG.\": \"Plik jest za du\u017Cy. Maksymalna dozwolona liczba %sk. Spr\u00F3buj u\u017Cy\u0107 SVG.\",\n \"ra_Filter\": \"Filtr\",\n \"ra_Filter files\": \"Filtruj pliki\",\n \"ra_Folder name\": \"Nazwa folderu\",\n \"ra_Folder \u2192 Channel \u2192 State\": \"Folder \u2192 Kana\u0142 \u2192 Stan\",\n \"ra_Folder \u2192 Device \u2192 Channel \u2192 State\": \"Folder \u2192 Urz\u0105dzenie \u2192 Kana\u0142 \u2192 Stan\",\n \"ra_Folder \u2192 State\": \"Folder \u2192 Stan\",\n \"ra_Folders always first\": \"Foldery zawsze na pierwszym miejscu\",\n \"ra_Friday\": \"Pi\u0105tek\",\n \"ra_Good luck\": \"Powodzenia\",\n \"ra_Hide empty folders\": \"Ukryj puste foldery\",\n \"ra_If no file will be created in the folder, it will disappear after the browser closed\": \"Je\u015Bli w folderze nie zostanie utworzony \u017Caden plik, zniknie on po zamkni\u0119ciu przegl\u0105darki\",\n \"ra_Import data from %s file\": \"Importuj dane z pliku %s\",\n \"ra_Import from %s\": \"Importuj z %s\",\n \"ra_Instance %s is alive\": \"Instancja %s jest aktywna\",\n \"ra_Instance %s is not alive\": \"Instancja TEKST nie jest aktywna\",\n \"ra_Instance is not alive\": \"Instancja nie jest aktywna\",\n \"ra_Invalid CRON\": \"Nieprawid\u0142owy CRON\",\n \"ra_Invalid JSON\": \"Nieprawid\u0142owy JSON\",\n \"ra_Invalid answer from server\": \"Nieprawid\u0142owa odpowied\u017A z serwera\",\n \"ra_Invalid parent folder!\": \"Nieprawid\u0142owy folder nadrz\u0119dny!\",\n \"ra_Invalid structure\": \"Nieprawid\u0142owa struktura\",\n \"ra_JSON editor\": \"Edytor JSON\",\n \"ra_Last change\": \"Ostatnia zmiana\",\n \"ra_Latitude\": \"Szeroko\u015B\u0107\",\n \"ra_License %s\": \"Licencja %s\",\n \"ra_License agreement\": \"Umowa licencyjna\",\n \"ra_License does not exist\": \"Licencja nie istnieje\",\n \"ra_License expired on %s\": \"Licencja wygas\u0142a w dniu %s\",\n \"ra_License for other product \\\"%s\\\"\": \"Licencja na inny produkt \u201E%s\u201D\",\n \"ra_License is for version %s, but required version is %s.\": \"Licencja dotyczy wersji %s, ale wymagana wersja to %s.\",\n \"ra_License must be converted\": \"Licencja musi zosta\u0107 przekonwertowana na nowsz\u0105 wersj\u0119. Mo\u017Cesz to zrobi\u0107 w swoim profilu iobroker.net.\",\n \"ra_License not found in license manager. Do you want to read licenses from iobroker.net?\": \"Nie znaleziono licencji w mened\u017Cerze licencji. Chcesz zaktualizowa\u0107 licencje z iobroker.net?\",\n \"ra_Listen on all IPs\": \"S\u0142uchaj na wszystkich adresach IP\",\n \"ra_Load configuration from file\": \"Za\u0142aduj konfiguracj\u0119 z pliku\",\n \"ra_Longitude\": \"D\u0142ugo\u015B\u0107 geograficzna\",\n \"ra_May not trigger \\\"updateLicenses\\\"\": \"Mo\u017Ce nie uruchamia\u0107 \u201EupdateLicenses\u201D\",\n \"ra_Message\": \"Wiadomo\u015B\u0107\",\n \"ra_Monday\": \"Poniedzia\u0142ek\",\n \"ra_Move down\": \"Padnij\",\n \"ra_Move up\": \"Podnie\u015B\u0107\",\n \"ra_Name\": \"Nazwa\",\n \"ra_No data found in file\": \"Nie znaleziono danych w pliku\",\n \"ra_No one license found in license manager\": \"Nie znaleziono licencji w mened\u017Cerze licencji\",\n \"ra_No response from the backend\": \"Brak odpowiedzi z zaplecza\",\n \"ra_Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\": \"Osoby nie b\u0119d\u0105ce ekspertami mog\u0105 tworzy\u0107 nowe obiekty tylko w \u201E0_userdata.0\u201D lub \u201Ealias.0\u201D.\",\n \"ra_Not a number\": \"Nie numer\",\n \"ra_Objects\": \"Obiekty\",\n \"ra_Ok\": \"Dobrze\",\n \"ra_On weekdays\": \"W dni powszednie\",\n \"ra_Only following structures of objects are available:\": \"Dost\u0119pne s\u0105 tylko nast\u0119puj\u0105ce struktury obiekt\u00F3w:\",\n \"ra_Only selected\": \"Tylko wybrane\",\n \"ra_Owner group\": \"Grupa w\u0142a\u015Bcicieli\",\n \"ra_Owner user\": \"W\u0142a\u015Bciciel u\u017Cytkownika\",\n \"ra_Passwords are not equal!\": \"Has\u0142a nie s\u0105 r\u00F3wne!\",\n \"ra_Place your files here or click here to open the browse dialog\": \"Umie\u015B\u0107 swoje pliki tutaj lub kliknij tutaj, aby otworzy\u0107 okno dialogowe przegl\u0105dania\",\n \"ra_Please confirm\": \"Prosz\u0119 potwierdzi\u0107\",\n \"ra_Please create license\": \"Utw\u00F3rz licencj\u0119\",\n \"ra_Please enter the license\": \"Prosz\u0119 wprowadzi\u0107 licencj\u0119\",\n \"ra_Please select file...\": \"Wybierz plik...\",\n \"ra_Please select object ID...\": \"Wybierz identyfikator obiektu ...\",\n \"ra_Port could be used by %s\": \"Port mo\u017Ce by\u0107 u\u017Cywany przez %s\",\n \"ra_Port is already used by %s\": \"Port jest ju\u017C u\u017Cywany przez %s\",\n \"ra_Private certificate\": \"Prywatny certyfikat\",\n \"ra_Product\": \"Produkt\",\n \"ra_Public certificate\": \"Certyfikat publiczny\",\n \"ra_Quality code\": \"Jako\u015Bci\",\n \"ra_Refresh tree\": \"Od\u015Bwie\u017C drzewo\",\n \"ra_Reload files\": \"Za\u0142aduj ponownie pliki\",\n \"ra_Repeat\": \"Powtarza\u0107\",\n \"ra_Replace\": \"Zast\u0119powa\u0107\",\n \"ra_Request timed out\": \"Up\u0142yn\u0105\u0142 limit czasu \u017C\u0105dania\",\n \"ra_Restrict to folder\": \"Ogranicz do folderu\",\n \"ra_Root\": \"Korze\u0144\",\n \"ra_Saturday\": \"Sobota\",\n \"ra_Save\": \"Zapisa\u0107\",\n \"ra_Save and close\": \"Zapisz i zamknij\",\n \"ra_Save configuration to file\": \"Zapisz konfiguracj\u0119 do pliku\",\n \"ra_Save objects tree as JSON file\": \"Zapisz drzewo obiekt\u00F3w jako plik JSON\",\n \"ra_Select all\": \"Zaznacz wszystko\",\n \"ra_Select color\": \"Wybierz kolor\",\n \"ra_Select predefined icon\": \"Wybierz predefiniowan\u0105 ikon\u0119\",\n \"ra_Select type of export\": \"Wybierz rodzaj eksportu\",\n \"ra_Selected\": \"Wybrany\",\n \"ra_Selected %s object(s)\": \"Wybrane obiekty %s\",\n \"ra_Serial number (UUID)\": \"Numer seryjny (UUID)\",\n \"ra_Serial number (UUID) \\\"%s\\\" in license is for other device.\": \"Numer seryjny (UUID) \u201E%s\u201D w licencji dotyczy innego urz\u0105dzenia.\",\n \"ra_Show all folders\": \"Poka\u017C wszystkie foldery\",\n \"ra_Show lines between rows\": \"Poka\u017C linie mi\u0119dzy rz\u0119dami\",\n \"ra_Show/Hide object descriptions\": \"Poka\u017C/ukryj opisy obiekt\u00F3w\",\n \"ra_Show/hide filter input\": \"Poka\u017C/ukryj wej\u015Bcie filtra\",\n \"ra_Some data are not stored. Discard?\": \"Niekt\u00F3re dane nie s\u0105 przechowywane. Wyrzuca\u0107?\",\n \"ra_States\": \"Stany\",\n \"ra_Suitable license not found in license manager\": \"Nie znaleziono odpowiedniej licencji w mened\u017Cerze licencji\",\n \"ra_Sunday\": \"Niedziela\",\n \"ra_Suppress question for next %s minutes\": \"Ukryj pytanie przez nast\u0119pne %s minut\",\n \"ra_System language\": \"J\u0119zyk systemu\",\n \"ra_Take browser position\": \"Zajmij pozycj\u0119 z przegl\u0105darki\",\n \"ra_Take position from system settings\": \"Zajmij pozycj\u0119 z ustawie\u0144 systemowych\",\n \"ra_The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\": \"Eksperci mog\u0105 tworzy\u0107 obiekty wsz\u0119dzie poza drugim poziomem (np. \u201EVis.0\u201D lub \u201Ejavascript.0\u201D).\",\n \"ra_The page you are looking for was not found\": \"Strona, kt\u00F3rej szukasz nie zosta\u0142a znaleziona\",\n \"ra_The schedule will be executed every minute. Are you sure?\": \"Harmonogram b\u0119dzie wykonywany co minut\u0119. Czy jeste\u015B pewien?\",\n \"ra_The schedule will be executed every second. Are you sure?\": \"Harmonogram b\u0119dzie wykonywany co sekund\u0119. Czy jeste\u015B pewien?\",\n \"ra_Thursday\": \"Czwartek\",\n \"ra_Timestamp\": \"Znak czasu\",\n \"ra_Toggle expert mode\": \"Prze\u0142\u0105cz tryb eksperta\",\n \"ra_Toggle the states view\": \"Prze\u0142\u0105cz widok stan\u00F3w\",\n \"ra_Toggle view mode\": \"Prze\u0142\u0105cz tryb widoku\",\n \"ra_Too big\": \"Za du\u017Cy\",\n \"ra_Too small\": \"Za ma\u0142y\",\n \"ra_Transparent dialog\": \"Przejrzyste okno dialogowe\",\n \"ra_Tuesday\": \"Wtorek\",\n \"ra_Unknown error\": \"Nieznany b\u0142\u0105d\",\n \"ra_Unknown error!\": \"Nieznany b\u0142\u0105d!\",\n \"ra_Update\": \"Aktualizacja\",\n \"ra_Upload file\": \"Przesy\u0142anie pliku\",\n \"ra_Use all available let's encrypt certificates\": \"U\u017Cyj wszystkich dost\u0119pnych certyfikat\u00F3w Let's Encrypt\",\n \"ra_Use iobroker.acme adapter for letsencrypt certificates\": \"U\u017Cyj adaptera iobroker.acme dla certyfikat\u00F3w letsencrypt\",\n \"ra_Use system settings for position\": \"U\u017Cyj ustawie\u0144 systemowych dla pozycji\",\n \"ra_Used system settings\": \"U\u017Cywane ustawienia systemowe\",\n \"ra_User files\": \"Pliki u\u017Cytkownika\",\n \"ra_ValidTill\": \"Obowi\u0105zuje do\",\n \"ra_Value\": \"Warto\u015B\u0107\",\n \"ra_Version\": \"Wersja\",\n \"ra_View file\": \"Zobaczy\u0107 plik\",\n \"ra_View: %s\": \"Widok: %s\",\n \"ra_Wednesday\": \"\u015Aroda\",\n \"ra_Width\": \"Szeroko\u015B\u0107\",\n \"ra_Yes\": \"Tak\",\n \"ra_You can export all objects or just the selected branch.\": \"Mo\u017Cesz wyeksportowa\u0107 wszystkie obiekty lub tylko wybran\u0105 ga\u0142\u0105\u017A.\",\n \"ra_You can filter entries by entering here some text\": \"Mo\u017Cesz filtrowa\u0107 wpisy, wpisuj\u0105c tutaj jaki\u015B tekst\",\n \"ra___different__\": \"r\u00F3\u017Cne\",\n \"ra_aclEveryone_read_object\": \"Ka\u017Cdy mo\u017Ce czyta\u0107 obiekt\",\n \"ra_aclEveryone_read_state\": \"Ka\u017Cdy mo\u017Ce czyta\u0107 stan\",\n \"ra_aclEveryone_write_object\": \"Ka\u017Cdy mo\u017Ce pisa\u0107 przedmiot\",\n \"ra_aclEveryone_write_state\": \"Ka\u017Cdy mo\u017Ce pisa\u0107 stan\",\n \"ra_aclGroup_read_object\": \"Grupa mo\u017Ce odczyta\u0107 obiekt\",\n \"ra_aclGroup_read_state\": \"Grupa mo\u017Ce odczyta\u0107 stan\",\n \"ra_aclGroup_write_object\": \"Grupa mo\u017Ce pisa\u0107 obiekt\",\n \"ra_aclGroup_write_state\": \"Grupa mo\u017Ce pisa\u0107 stan\",\n \"ra_aclOwner_read_object\": \"W\u0142a\u015Bciciel mo\u017Ce czyta\u0107 obiekt\",\n \"ra_aclOwner_read_state\": \"W\u0142a\u015Bciciel mo\u017Ce odczyta\u0107 stan\",\n \"ra_aclOwner_write_object\": \"W\u0142a\u015Bciciel mo\u017Ce napisa\u0107 obiekt\",\n \"ra_aclOwner_write_state\": \"W\u0142a\u015Bciciel mo\u017Ce pisa\u0107 stan\",\n \"ra_buttons\": \"guziki\",\n \"ra_changedFrom\": \"Zmieniony z\",\n \"ra_close\": \"blisko\",\n \"ra_create_boolean_state\": \"Utw\u00F3rz stan logiczny\",\n \"ra_create_channel\": \"Utw\u00F3rz kana\u0142\",\n \"ra_create_device\": \"Utw\u00F3rz urz\u0105dzenie\",\n \"ra_create_number_state\": \"Utw\u00F3rz stan liczbowy\",\n \"ra_create_state\": \"Utw\u00F3rz stan\",\n \"ra_create_string_state\": \"Utw\u00F3rz stan ci\u0105gu\",\n \"ra_daysShortText\": \"d.\",\n \"ra_dow_Fr\": \"Ks\",\n \"ra_dow_Mo\": \"Mo\",\n \"ra_dow_Sa\": \"Sa\",\n \"ra_dow_Su\": \"Su\",\n \"ra_dow_Th\": \"Th\",\n \"ra_dow_Tu\": \"Tu\",\n \"ra_dow_We\": \"My\",\n \"ra_expertMode\": \"Tryb ekspercki\",\n \"ra_fileType_all\": \"Wszystkie pliki\",\n \"ra_fileType_audio\": \"Audio\",\n \"ra_fileType_code\": \"Kod/JSON\",\n \"ra_fileType_images\": \"Obrazy\",\n \"ra_fileType_txt\": \"Tekst\",\n \"ra_fileType_video\": \"Wideo\",\n \"ra_fileType_video,\": \"Wideo\",\n \"ra_filter_customs\": \"Ustawienia\",\n \"ra_filter_customs_without\": \"bez\",\n \"ra_filter_func\": \"Funkcjonowa\u0107\",\n \"ra_filter_id\": \"ID\",\n \"ra_filter_name\": \"Imi\u0119\",\n \"ra_filter_role\": \"Rola\",\n \"ra_filter_room\": \"Sala\",\n \"ra_filter_type\": \"Rodzaj\",\n \"ra_import data from %s file\": \"Importuj dane z pliku %s\",\n \"ra_invalidConfig\": \"Nieprawid\u0142owe ustawienia\",\n \"ra_lastChange\": \"Ostatnia zmiana\",\n \"ra_locally\": \"lokalnie\",\n \"ra_month_Apr\": \"kwiecie\u0144\",\n \"ra_month_Aug\": \"sierpie\u0144\",\n \"ra_month_Dec\": \"grudzie\u0144\",\n \"ra_month_Feb\": \"luty\",\n \"ra_month_Jan\": \"stycze\u0144\",\n \"ra_month_Jul\": \"lipiec\",\n \"ra_month_Jun\": \"czerwiec\",\n \"ra_month_Mai\": \"Mai\",\n \"ra_month_Mar\": \"Zniszczy\u0107\",\n \"ra_month_Nov\": \"listopad\",\n \"ra_month_Oct\": \"pa\u017Adziernik\",\n \"ra_month_Sep\": \"wrzesie\u0144\",\n \"ra_months_Apr\": \"kwiecie\u0144\",\n \"ra_months_Aug\": \"sierpie\u0144\",\n \"ra_months_Dec\": \"grudzie\u0144\",\n \"ra_months_Feb\": \"luty\",\n \"ra_months_Jan\": \"stycze\u0144\",\n \"ra_months_Jul\": \"lipiec\",\n \"ra_months_Jun\": \"czerwiec\",\n \"ra_months_Mai\": \"Mai\",\n \"ra_months_Mar\": \"Zniszczy\u0107\",\n \"ra_months_Nov\": \"listopad\",\n \"ra_months_Oct\": \"pa\u017Adziernik\",\n \"ra_months_Sep\": \"wrzesie\u0144\",\n \"ra_none\": \"\u017Baden\",\n \"ra_object_changed_by\": \"Obiekt zmieniony przez\",\n \"ra_object_changed_by_user\": \"Obiekt ostatnio zmieniony o godz\",\n \"ra_otherConfig\": \"Ustawienia z innego adaptera %s\",\n \"ra_qualityCode\": \"Kod jako\u015Bci\",\n \"ra_repeat\": \"powtarza\u0107\",\n \"ra_select_folder_hint\": \"Aby wybra\u0107 folder, wystarczy przytrzyma\u0107 klawisz \u201Eshift\u201D, klikaj\u0105c folder.\",\n \"ra_state_changed_by\": \"Stan zmieniony przez\",\n \"ra_state_changed_from\": \"Obiekt zmieniony z\",\n \"ra_timestamp\": \"Znak czasu\",\n \"ra_tooltip_ack\": \"Potwierdzon\",\n \"ra_tooltip_comment\": \"Komentarz\",\n \"ra_tooltip_copyState\": \"Skopiuj warto\u015B\u0107 stanu\",\n \"ra_tooltip_customConfig\": \"W\u0142asne ustawienia\",\n \"ra_tooltip_deleteObject\": \"Usu\u0144 obiekt\",\n \"ra_tooltip_editObject\": \"Edytuj obiekt\",\n \"ra_tooltip_editState\": \"Edytuj warto\u015B\u0107 stanu\",\n \"ra_tooltip_from\": \"Z\",\n \"ra_tooltip_lc\": \"Ostatnia zmiana\",\n \"ra_tooltip_quality\": \"Jako\u015B\u0107\",\n \"ra_tooltip_ts\": \"Znak czasu\",\n \"ra_tooltip_user\": \"U\u017Cytkownik\",\n \"ra_tooltip_value\": \"Warto\u015B\u0107\",\n \"ra_use seconds\": \"u\u017Cyj sekund\",\n \"ra_val\": \"Warto\u015B\u0107\",\n \"ra_via internet\": \"przez internet\",\n \"ra_warning_every_minute\": \"Ostrze\u017Cenie: Zadanie CRON b\u0119dzie uruchamiane co minut\u0119 w okre\u015Blonym przedziale czasowym!\",\n \"ra_warning_every_second\": \"Ostrze\u017Cenie: Zadanie CRON b\u0119dzie uruchamiane co sekund\u0119 w okre\u015Blonym przedziale czasowym!\",\n \"sc_cron\": \"CRON\",\n \"sc_date\": \"Data\",\n \"sc_dates\": \"Daktyle\",\n \"sc_dow\": \"Dzie\u0144\",\n \"sc_dows\": \"Dzie\u0144 tygodnia\",\n \"sc_every\": \"Ka\u017Cdy\",\n \"sc_everyN_dates\": \"co N dni\",\n \"sc_everyN_dow\": \"w ka\u017Cdy N-ty dzie\u0144 tygodnia\",\n \"sc_everyN_dows\": \"co N dnia tygodnia\",\n \"sc_everyN_hours\": \"co N godzin\",\n \"sc_everyN_minutes\": \"co N minut\",\n \"sc_everyN_months\": \"co N miesi\u0119cy\",\n \"sc_everyN_seconds\": \"co N sekund\",\n \"sc_every_dates\": \"codziennie\",\n \"sc_every_dow\": \"ka\u017Cdy dzie\u0144 tygodnia\",\n \"sc_every_dows\": \"ka\u017Cdy dzie\u0144 tygodnia\",\n \"sc_every_hours\": \"co godzin\u0119\",\n \"sc_every_minutes\": \"ka\u017Cda minuta\",\n \"sc_every_months\": \"ka\u017Cdego miesi\u0105ca\",\n \"sc_every_seconds\": \"ka\u017Cda sekunda\",\n \"sc_from\": \"Od\",\n \"sc_hours\": \"godziny\",\n \"sc_interval\": \"Interwa\u0142\",\n \"sc_intervalBetween\": \"Interwa\u0142 mi\u0119dzy\",\n \"sc_invalid_cron\": \"Nieprawid\u0142owy CRON\",\n \"sc_minutes\": \"Minuty\",\n \"sc_months\": \"miesi\u0119cy\",\n \"sc_once\": \"Pewnego razu\",\n \"sc_period\": \"Kropka\",\n \"sc_seconds\": \"sekundy\",\n \"sc_simple\": \"Prosty\",\n \"sc_specific\": \"Okre\u015Blony czas\",\n \"sc_specific_dates\": \"konkretne daty\",\n \"sc_specific_dow\": \"okre\u015Blone dni tygodnia\",\n \"sc_specific_dows\": \"okre\u015Blony dzie\u0144 tygodni\",\n \"sc_specific_hours\": \"okre\u015Blone godziny\",\n \"sc_specific_minutes\": \"okre\u015Blone minuty\",\n \"sc_specific_months\": \"okre\u015Blone miesi\u0105ce\",\n \"sc_specific_seconds\": \"okre\u015Blone sekundy\",\n \"sc_time\": \"Czas\",\n \"sc_to\": \"Do\",\n \"sc_wizard\": \"Czarodziej\",\n \"sch_all\": \"wszystko\",\n \"sch_astroDay\": \"Dzie\u0144 Astro\",\n \"sch_astroNight\": \"Noc Astro\",\n \"sch_astro_dawn\": \"\u015Awit\",\n \"sch_astro_dusk\": \"Zmierzch\",\n \"sch_astro_goldenHour\": \"z\u0142ota godzina\",\n \"sch_astro_goldenHourEnd\": \"Koniec z\u0142otej godziny\",\n \"sch_astro_nadir\": \"Nadir\",\n \"sch_astro_nauticalDawn\": \"Morski \u015Bwit\",\n \"sch_astro_nauticalDusk\": \"Morski zmierzch\",\n \"sch_astro_night\": \"Noc\",\n \"sch_astro_nightEnd\": \"Koniec nocy\",\n \"sch_astro_solarNoon\": \"Po\u0142udnie s\u0142oneczne\",\n \"sch_astro_sunrise\": \"wsch\u00F3d s\u0142o\u0144ca\",\n \"sch_astro_sunriseEnd\": \"Koniec wschodu s\u0142o\u0144ca\",\n \"sch_astro_sunset\": \"Zach\u00F3d s\u0142o\u0144ca\",\n \"sch_astro_sunsetStart\": \"Pocz\u0105tek zachodu s\u0142o\u0144ca\",\n \"sch_at\": \"w\",\n \"sch_desc_atTime\": \"na %s\",\n \"sch_desc_everyDay\": \"codziennie\",\n \"sch_desc_everyHour\": \"co godzin\u0119\",\n \"sch_desc_everyMinute\": \"ka\u017Cda minuta\",\n \"sch_desc_everyMonth\": \"ka\u017Cdego miesi\u0105ca\",\n \"sch_desc_everyNDay\": \"ka\u017Cdego dnia %s\",\n \"sch_desc_everyNHours\": \"co %s godzin\",\n \"sch_desc_everyNMinutes\": \"co %s minut\",\n \"sch_desc_everyNMonths\": \"co %s miesi\u0119cy\",\n \"sch_desc_everyNWeeks\": \"co %s tygodni\",\n \"sch_desc_everyNYears\": \"co %s lat\",\n \"sch_desc_everyWeek\": \"co tydzie\u0144\",\n \"sch_desc_everyYear\": \"ka\u017Cdego roku\",\n \"sch_desc_intervalFromTo\": \"od %s do %s\",\n \"sch_desc_never\": \"nigdy\",\n \"sch_desc_onDate\": \"na %s z %s\",\n \"sch_desc_onDates\": \"na %s i %s z\",\n \"sch_desc_onEveryDate\": \"w ka\u017Cd\u0105 dat\u0119\",\n \"sch_desc_onMonth\": \"%s\",\n \"sch_desc_onMonths\": \"%s i %s\",\n \"sch_desc_onWeekday\": \"na %s\",\n \"sch_desc_onWeekdays\": \"na %s i %s\",\n \"sch_desc_onWeekends\": \"w weekendy\",\n \"sch_desc_onWorkdays\": \"w dni robocze\",\n \"sch_desc_onceInPast\": \"nie b\u0119dzie ju\u017C wykonywany, poniewa\u017C start jest w przesz\u0142o\u015Bci\",\n \"sch_desc_once_on\": \"na %s\",\n \"sch_desc_validFrom\": \"z %s\",\n \"sch_desc_validFromTo\": \"Wykonaj od do\",\n \"sch_desc_validTo\": \"do %s\",\n \"sch_every\": \"ka\u017Cdy\",\n \"sch_exactTime\": \"Okre\u015Blony czas\",\n \"sch_from\": \"od\",\n \"sch_fromTo\": \"Od-do\",\n \"sch_intervalTime\": \"Czas przerwy\",\n \"sch_invert\": \"odwraca\u0107\",\n \"sch_no_one\": \"\u017Baden\",\n \"sch_on\": \"na\",\n \"sch_period\": \"Kropka\",\n \"sch_periodDaily\": \"Codziennie\",\n \"sch_periodDates\": \"Daktyle\",\n \"sch_periodDay\": \"Dzie\u0144\",\n \"sch_periodEvery\": \"Ka\u017Cdy\",\n \"sch_periodEveryDay\": \"Codziennie\",\n \"sch_periodEveryMonth\": \"Ka\u017Cdego miesi\u0105ca\",\n \"sch_periodEveryWeek\": \"Co tydzie\u0144\",\n \"sch_periodEveryYear\": \"Ka\u017Cdego roku\",\n \"sch_periodHours\": \"godziny\",\n \"sch_periodMinutes\": \"Minuty\",\n \"sch_periodMonth\": \"miesi\u0105c\",\n \"sch_periodMonthly\": \"Miesi\u0119czny\",\n \"sch_periodOnce\": \"Pewnego razu\",\n \"sch_periodSpecificMonths\": \"Okre\u015Blone miesi\u0105ce\",\n \"sch_periodWeek\": \"Tydzie\u0144\",\n \"sch_periodWeekdays\": \"Dni powszednie\",\n \"sch_periodWeekend\": \"Weekend\",\n \"sch_periodWeekly\": \"Co tydzie\u0144\",\n \"sch_periodWorkdays\": \"Dni robocze\",\n \"sch_periodYear\": \"Rok\",\n \"sch_periodYearly\": \"Rocznie\",\n \"sch_specificTime\": \"Okre\u015Blony czas\",\n \"sch_time\": \"Czas\",\n \"sch_to\": \"do\",\n \"sch_valid\": \"Wa\u017Cny\",\n \"sch_validFrom\": \"od\",\n \"sch_validTo\": \"do\",\n \"sch_wholeDay\": \"Ca\u0142y dzie\u0144\",\n \"sch_yearEveryMonth\": \"ka\u017Cdego miesi\u0105ca\"\n}\n", "{\n \"ra_%s links from aliases\": \"%s \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u044C \u0456\u0437 \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0456\u043C\u0456\u0432\",\n \"ra_%s object(s) processed\": \"\u041E\u0431\u0440\u043E\u0431\u043B\u0435\u043D\u043E %s \u043E\u0431\u2019\u0454\u043A\u0442\u0456\u0432\",\n \"ra_%s was imported\": \"%s \u0431\u0443\u043B\u043E \u0456\u043C\u043F\u043E\u0440\u0442\u043E\u0432\u0430\u043D\u043E\",\n \"ra_Accept license\": \"\u041F\u0440\u0438\u0439\u043D\u044F\u0442\u0438 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E\",\n \"ra_Add new child object to selected parent\": \"\u0414\u043E\u0434\u0430\u0442\u0438 \u043D\u043E\u0432\u0438\u0439 \u0434\u043E\u0447\u0456\u0440\u043D\u0456\u0439 \u043E\u0431\u2019\u0454\u043A\u0442 \u0434\u043E \u0432\u0438\u0431\u0440\u0430\u043D\u043E\u0433\u043E \u0431\u0430\u0442\u044C\u043A\u0456\u0432\u0441\u044C\u043A\u043E\u0433\u043E\",\n \"ra_Add objects tree from JSON file\": \"\u0414\u043E\u0434\u0430\u0439\u0442\u0435 \u0434\u0435\u0440\u0435\u0432\u043E \u043E\u0431\u2019\u0454\u043A\u0442\u0456\u0432 \u0456\u0437 \u0444\u0430\u0439\u043B\u0443 JSON\",\n \"ra_Add row\": \"\u0414\u043E\u0434\u0430\u0442\u0438 \u0440\u044F\u0434\u043E\u043A\",\n \"ra_Advanced options\": \"\u0420\u043E\u0437\u0448\u0438\u0440\u0435\u043D\u0456 \u043E\u043F\u0446\u0456\u0457\",\n \"ra_All items are filtered out\": \"\u0423\u0441\u0456 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0432\u0456\u0434\u0444\u0456\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u043D\u043E\",\n \"ra_All objects\": \"\u0412\u0441\u0456 \u043E\u0431'\u0454\u043A\u0442\u0438\",\n \"ra_Append\": \"\u0414\u043E\u0434\u0430\u0439\u0442\u0435\",\n \"ra_Append %s entries or replace existing?\": \"\u0414\u043E\u0434\u0430\u0442\u0438 %s \u0437\u0430\u043F\u0438\u0441\u0456\u0432 \u0447\u0438 \u0437\u0430\u043C\u0456\u043D\u0438\u0442\u0438 \u043D\u0430\u044F\u0432\u043D\u0456?\",\n \"ra_Append or replace?\": \"\u0414\u043E\u0434\u0430\u0442\u0438 \u0447\u0438 \u0437\u0430\u043C\u0456\u043D\u0438\u0442\u0438?\",\n \"ra_Are you sure?\": \"\u0422\u0438 \u0432\u043F\u0435\u0432\u043D\u0435\u043D\u0438\u0439?\",\n \"ra_Auto (no custom columns)\": \"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E (\u0431\u0435\u0437 \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0438\u0445 \u0441\u0442\u043E\u0432\u043F\u0446\u0456\u0432)\",\n \"ra_Back to %s\": \"\u041D\u0430\u0437\u0430\u0434 \u0434\u043E %s\",\n \"ra_Background image\": \"\u0424\u043E\u043D\u043E\u0432\u0435 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F\",\n \"ra_Cancel\": \"\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438\",\n \"ra_Cannot add items with set filter\": \"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0434\u043E\u0434\u0430\u0442\u0438 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0437\u0456 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u043C \u0444\u0456\u043B\u044C\u0442\u0440\u043E\u043C\",\n \"ra_Cannot decode license\": \"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0440\u043E\u0437\u0448\u0438\u0444\u0440\u0443\u0432\u0430\u0442\u0438 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E\",\n \"ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser\": \"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0432\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438 \u043F\u043E\u043B\u043E\u0436\u0435\u043D\u043D\u044F: \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u043F\u043E\u0440\u043E\u0436\u043D\u0456, \u0430 \u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F GPS \u0432\u0438\u043C\u043A\u043D\u0435\u043D\u043E \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0456\",\n \"ra_Cannot find \\\"%s\\\"\": \"\u041D\u0435 \u0432\u0434\u0430\u0454\u0442\u044C\u0441\u044F \u0437\u043D\u0430\u0439\u0442\u0438 \\\"%s\\\"\",\n \"ra_Cannot read \\\"%s\\\"\": \"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u0438 \\\"%s\\\"\",\n \"ra_Cannot read licenses: %s\": \"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u0438 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0457: %s\",\n \"ra_Cannot retrieve options, as instance is offline\": \"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043E\u0442\u0440\u0438\u043C\u0430\u0442\u0438 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0438, \u043E\u0441\u043A\u0456\u043B\u044C\u043A\u0438 \u0435\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u043E\u0444\u043B\u0430\u0439\u043D\",\n \"ra_Cannot update attribute, because not found in the object\": \"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u043E\u043D\u043E\u0432\u0438\u0442\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442, \u043E\u0441\u043A\u0456\u043B\u044C\u043A\u0438 \u0439\u043E\u0433\u043E \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0432 \u043E\u0431\u2019\u0454\u043A\u0442\u0456\",\n \"ra_Cannot upload\": \"\u041D\u0435\u043C\u043E\u0436\u043B\u0438\u0432\u043E \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438\",\n \"ra_Categories\": \"\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0456\u0457\",\n \"ra_Chained certificate\": \"\u041F\u0440\u0438\u043A\u0443\u0442\u0438\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442\",\n \"ra_Change color theme\": \"\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u043A\u043E\u043B\u044C\u043E\u0440\u043E\u0432\u0443 \u0442\u0435\u043C\u0443\",\n \"ra_Changed from\": \"\u0417\u043C\u0456\u043D\u0435\u043D\u043E \u0437\",\n \"ra_Channel \u2192 State\": \"\u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u0442\u0430\u043D\",\n \"ra_Check license\": \"\u041F\u0435\u0440\u0435\u0432\u0456\u0440\u0438\u0442\u0438 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E\",\n \"ra_Checked\": \"\u041F\u0435\u0440\u0435\u0432\u0456\u0440\u0435\u043D\u043E\",\n \"ra_Clear\": \"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438\",\n \"ra_Clear filter\": \"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u0444\u0456\u043B\u044C\u0442\u0440\",\n \"ra_Clear icon\": \"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u0437\u043D\u0430\u0447\u043E\u043A\",\n \"ra_Clone current row\": \"\u041A\u043B\u043E\u043D\u0443\u0432\u0430\u0442\u0438 \u043F\u043E\u0442\u043E\u0447\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A\",\n \"ra_Close\": \"\u0417\u0430\u043A\u0440\u0438\u0442\u0438\",\n \"ra_Collapse all nodes\": \"\u0417\u0433\u043E\u0440\u043D\u0443\u0442\u0438 \u0432\u0441\u0456 \u0432\u0443\u0437\u043B\u0438\",\n \"ra_Collapse one step node\": \"\u0417\u0433\u043E\u0440\u043D\u0443\u0442\u0438 \u043D\u0430 \u043E\u0434\u0438\u043D \u0440\u0456\u0432\u0435\u043D\u044C\",\n \"ra_Commercial\": \"\u041A\u043E\u043C\u0435\u0440\u0446\u0456\u0439\u043D\u0438\u0439\",\n \"ra_Configure\": \"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438\",\n \"ra_Configure visible columns\": \"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u0434\u0438\u043C\u0456 \u0441\u0442\u043E\u0432\u043F\u0446\u0456\",\n \"ra_Confirm deletion of %s\": \"\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0438 \u0432\u0438\u0434\u0430\u043B\u0435\u043D\u043D\u044F %s\",\n \"ra_Connected\": \"\u041F\u0456\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u043E\",\n \"ra_Copied\": \"\u0421\u043A\u043E\u043F\u0456\u0439\u043E\u0432\u0430\u043D\u043E\",\n \"ra_Copied %s\": \"\u0421\u043A\u043E\u043F\u0456\u0439\u043E\u0432\u0430\u043D\u043E \\\"%s\\\"\",\n \"ra_Copy content\": \"\u0421\u043A\u043E\u043F\u0456\u044E\u0439\u0442\u0435 \u0432\u043C\u0456\u0441\u0442\",\n \"ra_Create\": \"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438\",\n \"ra_Create alias\": \"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0456\u043C\",\n \"ra_Create folder\": \"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043F\u0430\u043F\u043A\u0443\",\n \"ra_Create new folder in %s\": \"\u0421\u0442\u0432\u043E\u0440\u0456\u0442\u044C \u043D\u043E\u0432\u0443 \u043F\u0430\u043F\u043A\u0443 \u0432 %s\",\n \"ra_Crop\": \"\u0423\u0440\u043E\u0436\u0430\u0439\",\n \"ra_Define CRON...\": \"\u0412\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438 CRON...\",\n \"ra_Define functions\": \"\u0412\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438 \u0444\u0443\u043D\u043A\u0446\u0456\u0457\",\n \"ra_Define rooms\": \"\u0412\u0438\u0437\u043D\u0430\u0447\u0442\u0435 \u043A\u0456\u043C\u043D\u0430\u0442\u0438\",\n \"ra_Define schedule\": \"\u0412\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438 \u0440\u043E\u0437\u043A\u043B\u0430\u0434\",\n \"ra_Define schedule...\": \"\u0412\u0438\u0437\u043D\u0430\u0447\u0438\u0442\u0438 \u0440\u043E\u0437\u043A\u043B\u0430\u0434...\",\n \"ra_Del\": \"Delete\",\n \"ra_Delete\": \"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438\",\n \"ra_Delete (no confirm for 5 mins)\": \"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 (\u0431\u0435\u0437 \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043D\u043D\u044F \u043F\u0440\u043E\u0442\u044F\u0433\u043E\u043C 5 \u0445\u0432\u0438\u043B\u0438\u043D)\",\n \"ra_Delete current row\": \"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u043F\u043E\u0442\u043E\u0447\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A\",\n \"ra_Deselect all\": \"\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u0431\u0456\u0440 \u0443\u0441\u0456\u0445\",\n \"ra_Device \u2192 Channel \u2192 State\": \"\u041F\u0440\u0438\u0441\u0442\u0440\u0456\u0439 \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u0442\u0430\u043D\",\n \"ra_Discard\": \"\u0412\u0456\u0434\u043A\u0438\u043D\u0443\u0442\u0438\",\n \"ra_Disconnected\": \"\u0412\u0456\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u043E\",\n \"ra_Do not export values of states\": \"\u041D\u0435 \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0439\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0441\u0442\u0430\u043D\u0456\u0432\",\n \"ra_Do not use let's encrypt\": \"\u041D\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 let's encrypt\",\n \"ra_Double click to reset table layout\": \"\u0414\u0432\u0456\u0447\u0456 \u043A\u043B\u0430\u0446\u043D\u0456\u0442\u044C, \u0449\u043E\u0431 \u0441\u043A\u0438\u043D\u0443\u0442\u0438 \u043C\u0430\u043A\u0435\u0442 \u0442\u0430\u0431\u043B\u0438\u0446\u0456\",\n \"ra_Drag 'n' drop some files here, or click to select files\": \"\u041F\u0435\u0440\u0435\u0442\u044F\u0433\u043D\u0456\u0442\u044C \u0434\u0435\u044F\u043A\u0456 \u0444\u0430\u0439\u043B\u0438 \u0441\u044E\u0434\u0438 \u0430\u0431\u043E \u043D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C, \u0449\u043E\u0431 \u0432\u0438\u0431\u0440\u0430\u0442\u0438 \u0444\u0430\u0439\u043B\u0438\",\n \"ra_Drop file here\": \"\u041F\u0435\u0440\u0435\u0442\u044F\u0433\u043D\u0456\u0442\u044C \u0444\u0430\u0439\u043B \u0441\u044E\u0434\u0438\",\n \"ra_Drop the files here...\": \"\u041F\u0435\u0440\u0435\u0442\u044F\u0433\u043D\u0456\u0442\u044C \u0444\u0430\u0439\u043B \u0441\u044E\u0434\u0438...\",\n \"ra_Duplicate name\": \"\u041F\u043E\u0432\u0442\u043E\u0440\u044E\u0432\u0430\u043D\u0435 \u0456\u043C'\u044F\",\n \"ra_Edit ACL\": \"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 ACL\",\n \"ra_Edit alias\": \"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u043F\u0441\u0435\u0432\u0434\u043E\u043D\u0456\u043C\",\n \"ra_Edit custom config\": \"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0443 \u043A\u043E\u043D\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044E\",\n \"ra_Edit function\": \"\u0444\u0443\u043D\u043A\u0446\u0456\u044F \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F\",\n \"ra_Edit object field\": \"\u041F\u043E\u043B\u0435 \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043D\u043D\u044F \u043E\u0431'\u0454\u043A\u0442\u0430\",\n \"ra_Edit role\": \"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0440\u043E\u043B\u044C\",\n \"ra_Edit room\": \"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u043A\u0456\u043C\u043D\u0430\u0442\u0443\",\n \"ra_Edit value\": \"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\",\n \"ra_Error\": \"\u041F\u043E\u043C\u0438\u043B\u043A\u0430\",\n \"ra_Expand all nodes\": \"\u0420\u043E\u0437\u0433\u043E\u0440\u043D\u0443\u0442\u0438 \u0432\u0441\u0456 \u0432\u0443\u0437\u043B\u0438\",\n \"ra_Expand one step node\": \"\u0420\u043E\u0437\u0433\u043E\u0440\u043D\u0456\u0442\u044C \u043E\u0434\u0438\u043D \u0440\u0456\u0432\u0435\u043D\u044C\",\n \"ra_Export data to %s file\": \"\u0415\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0434\u0430\u043D\u0456 \u0443 \u0444\u0430\u0439\u043B %s\",\n \"ra_Failed to open JSON File\": \"\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u0444\u0430\u0439\u043B JSON\",\n \"ra_Fallback custom certificates\": \"\u0417\u0430\u043F\u0430\u0441\u043D\u0456 \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0456 \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u0438\",\n \"ra_File is too big. Max %sk allowed. Try use SVG.\": \"\u0424\u0430\u0439\u043B \u0437\u0430\u0432\u0435\u043B\u0438\u043A\u0438\u0439. \u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E \u0434\u043E\u0437\u0432\u043E\u043B\u0435\u043D\u043E %sk. \u0421\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 SVG.\",\n \"ra_Filter\": \"\u0444\u0456\u043B\u044C\u0442\u0440\",\n \"ra_Filter files\": \"\u0424\u0456\u043B\u044C\u0442\u0440 \u0444\u0430\u0439\u043B\u0456\u0432\",\n \"ra_Folder name\": \"\u041D\u0430\u0437\u0432\u0430 \u043F\u0430\u043F\u043A\u0438\",\n \"ra_Folder \u2192 Channel \u2192 State\": \"\u041F\u0430\u043F\u043A\u0430 \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u0442\u0430\u043D\",\n \"ra_Folder \u2192 Device \u2192 Channel \u2192 State\": \"\u041F\u0430\u043F\u043A\u0430 \u2192 \u041F\u0440\u0438\u0441\u0442\u0440\u0456\u0439 \u2192 \u041A\u0430\u043D\u0430\u043B \u2192 \u0421\u0442\u0430\u043D\",\n \"ra_Folder \u2192 State\": \"\u041F\u0430\u043F\u043A\u0430 \u2192 \u0421\u0442\u0430\u043D\",\n \"ra_Folders always first\": \"\u041F\u0430\u043F\u043A\u0438 \u0437\u0430\u0432\u0436\u0434\u0438 \u043F\u0435\u0440\u0448\u0438\u043C\u0438\",\n \"ra_Friday\": \"\u041F'\u044F\u0442\u043D\u0438\u0446\u044F\",\n \"ra_Good luck\": \"\u0423\u0434\u0430\u0447\u0456\",\n \"ra_Hide empty folders\": \"\u041F\u0440\u0438\u0445\u043E\u0432\u0430\u0442\u0438 \u043F\u043E\u0440\u043E\u0436\u043D\u0456 \u043F\u0430\u043F\u043A\u0438\",\n \"ra_If no file will be created in the folder, it will disappear after the browser closed\": \"\u042F\u043A\u0449\u043E \u0432 \u043F\u0430\u043F\u0446\u0456 \u043D\u0435 \u0431\u0443\u0434\u0435 \u0441\u0442\u0432\u043E\u0440\u0435\u043D\u043E \u0444\u0430\u0439\u043B, \u0432\u0456\u043D \u0437\u043D\u0438\u043A\u043D\u0435 \u043F\u0456\u0441\u043B\u044F \u0437\u0430\u043A\u0440\u0438\u0442\u0442\u044F \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\",\n \"ra_Import data from %s file\": \"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0434\u0430\u043D\u0456 \u0437 \u0444\u0430\u0439\u043B\u0443 %s\",\n \"ra_Import from %s\": \"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0437 %s\",\n \"ra_Instance %s is alive\": \"\u041F\u0440\u0438\u043C\u0456\u0440\u043D\u0438\u043A %s \u0436\u0438\u0432\u0438\u0439\",\n \"ra_Instance %s is not alive\": \"\u041F\u0440\u0438\u043C\u0456\u0440\u043D\u0438\u043A %s \u043D\u0435 \u0436\u0438\u0432\u0438\u0439\",\n \"ra_Instance is not alive\": \"\u041F\u0440\u0438\u043C\u0456\u0440\u043D\u0438\u043A \u043D\u0435 \u0436\u0438\u0432\u0438\u0439\",\n \"ra_Invalid CRON\": \"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0438\u0439 CRON\",\n \"ra_Invalid JSON\": \"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0438\u0439 JSON\",\n \"ra_Invalid answer from server\": \"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0430 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u044C \u0432\u0456\u0434 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\",\n \"ra_Invalid parent folder!\": \"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0430 \u0431\u0430\u0442\u044C\u043A\u0456\u0432\u0441\u044C\u043A\u0430 \u043F\u0430\u043F\u043A\u0430!\",\n \"ra_Invalid structure\": \"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0430 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0430\",\n \"ra_JSON editor\": \"\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 JSON\",\n \"ra_Last change\": \"\u041E\u0441\u0442\u0430\u043D\u043D\u044F \u0437\u043C\u0456\u043D\u0430\",\n \"ra_Latitude\": \"\u0428\u0438\u0440\u043E\u0442\u0430\",\n \"ra_License %s\": \"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u044F %s\",\n \"ra_License agreement\": \"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u0439\u043D\u0430 \u0443\u0433\u043E\u0434\u0430\",\n \"ra_License does not exist\": \"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u0457 \u043D\u0435 \u0456\u0441\u043D\u0443\u0454\",\n \"ra_License expired on %s\": \"\u0422\u0435\u0440\u043C\u0456\u043D \u0434\u0456\u0457 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0457 \u0437\u0430\u043A\u0456\u043D\u0447\u0438\u0432\u0441\u044F %s\",\n \"ra_License for other product \\\"%s\\\"\": \"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u044F \u043D\u0430 \u0456\u043D\u0448\u0438\u0439 \u043F\u0440\u043E\u0434\u0443\u043A\u0442 \\\"%s\\\"\",\n \"ra_License is for version %s, but required version is %s.\": \"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u044F \u0434\u043B\u044F \u0432\u0435\u0440\u0441\u0456\u0457 %s, \u0430\u043B\u0435 \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u0430 \u0432\u0435\u0440\u0441\u0456\u044F %s.\",\n \"ra_License must be converted\": \"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u044E \u043D\u0435\u043E\u0431\u0445\u0456\u0434\u043D\u043E \u043A\u043E\u043D\u0432\u0435\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0434\u043E \u043D\u043E\u0432\u0456\u0448\u043E\u0457 \u0432\u0435\u0440\u0441\u0456\u0457. \u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0437\u0440\u043E\u0431\u0438\u0442\u0438 \u0446\u0435 \u0443 \u0441\u0432\u043E\u0454\u043C\u0443 \u043F\u0440\u043E\u0444\u0456\u043B\u0456 \u043D\u0430 iobroker.net.\",\n \"ra_License not found in license manager. Do you want to read licenses from iobroker.net?\": \"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u044F \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u0432 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u0456 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0439. \u0425\u043E\u0447\u0435\u0442\u0435 \u043E\u043D\u043E\u0432\u0438\u0442\u0438 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0457 \u0437 iobroker.net?\",\n \"ra_Listen on all IPs\": \"\u041F\u0440\u043E\u0441\u043B\u0443\u0445\u043E\u0432\u0443\u0432\u0430\u043D\u043D\u044F \u043D\u0430 \u0432\u0441\u0456\u0445 IP\",\n \"ra_Load configuration from file\": \"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u043A\u043E\u043D\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044E \u0437 \u0444\u0430\u0439\u043B\u0443\",\n \"ra_Longitude\": \"\u0414\u043E\u0432\u0433\u043E\u0442\u0430\",\n \"ra_May not trigger \\\"updateLicenses\\\"\": \"\u041C\u043E\u0436\u0435 \u043D\u0435 \u0437\u0430\u043F\u0443\u0441\u043A\u0430\u0442\u0438 \\\"updateLicenses\\\"\",\n \"ra_Message\": \"\u043F\u043E\u0432\u0456\u0434\u043E\u043C\u043B\u0435\u043D\u043D\u044F\",\n \"ra_Monday\": \"\u043F\u043E\u043D\u0435\u0434\u0456\u043B\u043E\u043A\",\n \"ra_Move down\": \"\u0420\u0443\u0445\u0430\u0442\u0438\u0441\u044F \u0432\u043D\u0438\u0437\",\n \"ra_Move up\": \"\u0420\u0443\u0445\u0430\u0442\u0438\u0441\u044F \u0432\u0433\u043E\u0440\u0443\",\n \"ra_Name\": \"\u0406\u043C'\u044F\",\n \"ra_No data found in file\": \"\u041D\u0435\u043C\u0430\u0454 \u0434\u0430\u043D\u0438\u0445 \u0443 \u0444\u0430\u0439\u043B\u0456\",\n \"ra_No one license found in license manager\": \"\u0423 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u0456 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0439 \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E \u0436\u043E\u0434\u043D\u043E\u0457 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0457\",\n \"ra_No response from the backend\": \"\u041D\u0435\u043C\u0430\u0454 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u0456 \u0432\u0456\u0434 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\",\n \"ra_Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\": \"\u041D\u0435\u0435\u043A\u0441\u043F\u0435\u0440\u0442\u0438 \u043C\u043E\u0436\u0443\u0442\u044C \u0441\u0442\u0432\u043E\u0440\u044E\u0432\u0430\u0442\u0438 \u043D\u043E\u0432\u0456 \u043E\u0431\u2019\u0454\u043A\u0442\u0438 \u043B\u0438\u0448\u0435 \u0432 \u00AB0_userdata.0\u00BB \u0430\u0431\u043E \u00ABalias.0\u00BB.\",\n \"ra_Not a number\": \"\u041D\u0435 \u043D\u043E\u043C\u0435\u0440\",\n \"ra_Objects\": \"\u041E\u0431'\u0454\u043A\u0442\u0438\",\n \"ra_Ok\": \"\u0412 \u043F\u043E\u0440\u044F\u0434\u043A\u0443\",\n \"ra_On weekdays\": \"\u0412 \u0431\u0443\u0434\u043D\u0456 \u0434\u043D\u0456\",\n \"ra_Only following structures of objects are available:\": \"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u0456 \u0442\u0456\u043B\u044C\u043A\u0438 \u0442\u0430\u043A\u0456 \u0441\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0438 \u043E\u0431'\u0454\u043A\u0442\u0456\u0432:\",\n \"ra_Only selected\": \"\u0422\u0456\u043B\u044C\u043A\u0438 \u043E\u0431\u0440\u0430\u043D\u0456\",\n \"ra_Owner group\": \"\u0413\u0440\u0443\u043F\u0430 \u0432\u043B\u0430\u0441\u043D\u0438\u043A\u0456\u0432\",\n \"ra_Owner user\": \"\u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447-\u0432\u043B\u0430\u0441\u043D\u0438\u043A\",\n \"ra_Passwords are not equal!\": \"\u041F\u0430\u0440\u043E\u043B\u0456 \u043D\u0435 \u0431\u0443\u0432\u0430\u044E\u0442\u044C \u0440\u0456\u0432\u043D\u0438\u043C\u0438!\",\n \"ra_Place your files here or click here to open the browse dialog\": \"\u0420\u043E\u0437\u043C\u0456\u0441\u0442\u0456\u0442\u044C \u0441\u0432\u043E\u0457 \u0444\u0430\u0439\u043B\u0438 \u0442\u0443\u0442 \u0430\u0431\u043E \u043D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u0442\u0443\u0442, \u0449\u043E\u0431 \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u0434\u0456\u0430\u043B\u043E\u0433\u043E\u0432\u0435 \u0432\u0456\u043A\u043D\u043E \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443\",\n \"ra_Please confirm\": \"\u0411\u0443\u0434\u044C-\u043B\u0430\u0441\u043A\u0430 \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0456\u0442\u044C\",\n \"ra_Please create license\": \"\u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0441\u0442\u0432\u043E\u0440\u0456\u0442\u044C \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E\",\n \"ra_Please enter the license\": \"\u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0432\u0432\u0435\u0434\u0456\u0442\u044C \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044E\",\n \"ra_Please select file...\": \"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0444\u0430\u0439\u043B...\",\n \"ra_Please select object ID...\": \"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440 \u043E\u0431'\u0454\u043A\u0442\u0430...\",\n \"ra_Port could be used by %s\": \"\u041F\u043E\u0440\u0442 \u043C\u043E\u0436\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438\u0441\u044F %s\",\n \"ra_Port is already used by %s\": \"\u041F\u043E\u0440\u0442 \u0443\u0436\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454\u0442\u044C\u0441\u044F %s\",\n \"ra_Private certificate\": \"\u041F\u0440\u0438\u0432\u0430\u0442\u043D\u0438\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442\",\n \"ra_Product\": \"\u041F\u0440\u043E\u0434\u0443\u043A\u0442\",\n \"ra_Public certificate\": \"\u041F\u0443\u0431\u043B\u0456\u0447\u043D\u0438\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442\",\n \"ra_Quality code\": \"\u044F\u043A\u0456\u0441\u0442\u044C\",\n \"ra_Refresh tree\": \"\u041E\u043D\u043E\u0432\u0438\u0442\u0438 \u0434\u0435\u0440\u0435\u0432\u043E\",\n \"ra_Reload files\": \"\u041F\u0435\u0440\u0435\u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0442\u0435 \u0444\u0430\u0439\u043B\u0438\",\n \"ra_Repeat\": \"\u041F\u043E\u0432\u0442\u043E\u0440\u0456\u0442\u044C\",\n \"ra_Replace\": \"\u0417\u0430\u043C\u0456\u043D\u0438\u0442\u0438\",\n \"ra_Request timed out\": \"\u0427\u0430\u0441 \u0437\u0430\u043F\u0438\u0442\u0443 \u0432\u0438\u0447\u0435\u0440\u043F\u0430\u043D\u043E\",\n \"ra_Restrict to folder\": \"\u041E\u0431\u043C\u0435\u0436\u0438\u0442\u0438 \u043F\u0430\u043F\u043A\u043E\u044E\",\n \"ra_Root\": \"\u041A\u043E\u0440\u0456\u043D\u044C\",\n \"ra_Saturday\": \"\u0421\u0443\u0431\u043E\u0442\u0430\",\n \"ra_Save\": \"\u0437\u0431\u0435\u0440\u0435\u0433\u0442\u0438\",\n \"ra_Save and close\": \"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0442\u0430 \u0437\u0430\u043A\u0440\u0438\u0442\u0438\",\n \"ra_Save configuration to file\": \"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u043A\u043E\u043D\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044E \u0443 \u0444\u0430\u0439\u043B\",\n \"ra_Save objects tree as JSON file\": \"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0434\u0435\u0440\u0435\u0432\u043E \u043E\u0431\u2019\u0454\u043A\u0442\u0456\u0432 \u044F\u043A \u0444\u0430\u0439\u043B JSON\",\n \"ra_Select all\": \"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0432\u0441\u0435\",\n \"ra_Select color\": \"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043A\u043E\u043B\u0456\u0440\",\n \"ra_Select predefined icon\": \"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u044C\u043E \u0432\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439 \u0437\u043D\u0430\u0447\u043E\u043A\",\n \"ra_Select type of export\": \"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0442\u0438\u043F \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u0443\",\n \"ra_Selected\": \"\u0412\u0438\u0431\u0440\u0430\u043D\u0435\",\n \"ra_Selected %s object(s)\": \"\u0412\u0438\u0431\u0440\u0430\u043D\u0456 \u043E\u0431\u2019\u0454\u043A\u0442\u0438 %s\",\n \"ra_Serial number (UUID)\": \"\u0421\u0435\u0440\u0456\u0439\u043D\u0438\u0439 \u043D\u043E\u043C\u0435\u0440 (UUID)\",\n \"ra_Serial number (UUID) \\\"%s\\\" in license is for other device.\": \"\u0421\u0435\u0440\u0456\u0439\u043D\u0438\u0439 \u043D\u043E\u043C\u0435\u0440 (UUID) \\\"%s\\\" \u0443 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0457 \u043F\u0440\u0438\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439 \u0434\u043B\u044F \u0456\u043D\u0448\u043E\u0433\u043E \u043F\u0440\u0438\u0441\u0442\u0440\u043E\u044E.\",\n \"ra_Show all folders\": \"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438 \u0432\u0441\u0456 \u043F\u0430\u043F\u043A\u0438\",\n \"ra_Show lines between rows\": \"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043B\u0456\u043D\u0456\u0457 \u043C\u0456\u0436 \u0440\u044F\u0434\u043A\u0430\u043C\u0438\",\n \"ra_Show/Hide object descriptions\": \"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438/\u0421\u0445\u043E\u0432\u0430\u0442\u0438 \u043E\u043F\u0438\u0441\u0438 \u043E\u0431\u2019\u0454\u043A\u0442\u0456\u0432\",\n \"ra_Show/hide filter input\": \"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u0438/\u0441\u0445\u043E\u0432\u0430\u0442\u0438 \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F \u0444\u0456\u043B\u044C\u0442\u0440\u0430\",\n \"ra_Some data are not stored. Discard?\": \"\u0414\u0435\u044F\u043A\u0456 \u0434\u0430\u043D\u0456 \u043D\u0435 \u0437\u0431\u0435\u0440\u0456\u0433\u0430\u044E\u0442\u044C\u0441\u044F. \u0412\u0456\u0434\u043A\u0438\u043D\u0443\u0442\u0438?\",\n \"ra_States\": \"\u0434\u0435\u0440\u0436\u0430\u0432\u0438\",\n \"ra_Suitable license not found in license manager\": \"\u0412\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u043D\u0430 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u044F \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u0432 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u0456 \u043B\u0456\u0446\u0435\u043D\u0437\u0456\u0439\",\n \"ra_Sunday\": \"\u043D\u0435\u0434\u0456\u043B\u044F\",\n \"ra_Suppress question for next %s minutes\": \"\u041F\u0440\u0438\u0445\u043E\u0432\u0430\u0442\u0438 \u0437\u0430\u043F\u0438\u0442\u0430\u043D\u043D\u044F \u043D\u0430 \u043D\u0430\u0441\u0442\u0443\u043F\u043D\u0456 %s \u0445\u0432\u0438\u043B\u0438\u043D\",\n \"ra_System language\": \"\u0421\u0438\u0441\u0442\u0435\u043C\u043D\u0430 \u043C\u043E\u0432\u0430\",\n \"ra_Take browser position\": \"\u0417\u0430\u0439\u043C\u0456\u0442\u044C \u043F\u043E\u0437\u0438\u0446\u0456\u044E \u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\",\n \"ra_Take position from system settings\": \"\u0417\u0430\u0439\u043C\u0456\u0442\u044C \u043F\u043E\u0437\u0438\u0446\u0456\u044E \u0432 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F\u0445 \u0441\u0438\u0441\u0442\u0435\u043C\u0438\",\n \"ra_The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\": \"\u0415\u043A\u0441\u043F\u0435\u0440\u0442\u0438 \u043C\u043E\u0436\u0443\u0442\u044C \u0441\u0442\u0432\u043E\u0440\u044E\u0432\u0430\u0442\u0438 \u043E\u0431\u2019\u0454\u043A\u0442\u0438 \u0432\u0441\u044E\u0434\u0438, \u043A\u0440\u0456\u043C \u0434\u0440\u0443\u0433\u043E\u0433\u043E \u0440\u0456\u0432\u043D\u044F (\u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, \u00ABvis.0\u00BB \u0430\u0431\u043E \u00ABjavascript.0\u00BB).\",\n \"ra_The page you are looking for was not found\": \"\u0421\u0442\u043E\u0440\u0456\u043D\u043A\u0430, \u044F\u043A\u0443 \u0432\u0438 \u0448\u0443\u043A\u0430\u0454\u0442\u0435, \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u0430\",\n \"ra_The schedule will be executed every minute. Are you sure?\": \"\u0420\u043E\u0437\u043A\u043B\u0430\u0434 \u0431\u0443\u0434\u0435 \u0432\u0438\u043A\u043E\u043D\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u0449\u043E\u0445\u0432\u0438\u043B\u0438\u043D\u0438. \u0412\u0438 \u0432\u043F\u0435\u0432\u043D\u0435\u043D\u0456?\",\n \"ra_The schedule will be executed every second. Are you sure?\": \"\u0420\u043E\u0437\u043A\u043B\u0430\u0434 \u0431\u0443\u0434\u0435 \u0432\u0438\u043A\u043E\u043D\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u0449\u043E\u0441\u0435\u043A\u0443\u043D\u0434\u0438. \u0412\u0438 \u0432\u043F\u0435\u0432\u043D\u0435\u043D\u0456?\",\n \"ra_Thursday\": \"\u0447\u0435\u0442\u0432\u0435\u0440\",\n \"ra_Timestamp\": \"\u041C\u0456\u0442\u043A\u0430 \u0447\u0430\u0441\u0443\",\n \"ra_Toggle expert mode\": \"\u041F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438 \u0435\u043A\u0441\u043F\u0435\u0440\u0442\u043D\u0438\u0439 \u0440\u0435\u0436\u0438\u043C\",\n \"ra_Toggle the states view\": \"\u041F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438 \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434 \u0448\u0442\u0430\u0442\u0456\u0432\",\n \"ra_Toggle view mode\": \"\u041F\u0435\u0440\u0435\u043C\u043A\u043D\u0443\u0442\u0438 \u0440\u0435\u0436\u0438\u043C \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u0443\",\n \"ra_Too big\": \"\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439\",\n \"ra_Too small\": \"\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0438\u0439\",\n \"ra_Transparent dialog\": \"\u041F\u0440\u043E\u0437\u043E\u0440\u0438\u0439 \u0434\u0456\u0430\u043B\u043E\u0433\",\n \"ra_Tuesday\": \"\u0432\u0456\u0432\u0442\u043E\u0440\u043E\u043A\",\n \"ra_Unknown error\": \"\u041D\u0435\u0432\u0456\u0434\u043E\u043C\u0430 \u043F\u043E\u043C\u0438\u043B\u043A\u0430\",\n \"ra_Unknown error!\": \"\u041D\u0435\u0432\u0456\u0434\u043E\u043C\u0430 \u043F\u043E\u043C\u0438\u043B\u043A\u0430!\",\n \"ra_Update\": \"\u043E\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044F\",\n \"ra_Upload file\": \"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0444\u0430\u0439\u043B\",\n \"ra_Use all available let's encrypt certificates\": \"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u0432\u0441\u0456 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0456 \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u0438 let's encrypt\",\n \"ra_Use iobroker.acme adapter for letsencrypt certificates\": \"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u0430\u0434\u0430\u043F\u0442\u0435\u0440 iobroker.acme \u0434\u043B\u044F \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u0456\u0432 letsencrypt\",\n \"ra_Use system settings for position\": \"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0434\u043B\u044F \u043F\u043E\u0437\u0438\u0446\u0456\u0457\",\n \"ra_Used system settings\": \"\u0412\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u0456 \u0441\u0438\u0441\u0442\u0435\u043C\u043D\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F\",\n \"ra_User files\": \"\u0424\u0430\u0439\u043B\u0438 \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430\",\n \"ra_ValidTill\": \"\u0414\u0456\u0439\u0441\u043D\u0438\u0439 \u0434\u043E\",\n \"ra_Value\": \"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F\",\n \"ra_Version\": \"\u0412\u0435\u0440\u0441\u0456\u044F\",\n \"ra_View file\": \"\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u043D\u0443\u0442\u0438 \u0444\u0430\u0439\u043B\",\n \"ra_View: %s\": \"\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u0434: %s\",\n \"ra_Wednesday\": \"\u0421\u0435\u0440\u0435\u0434\u0430\",\n \"ra_Width\": \"\u0428\u0438\u0440\u0438\u043D\u0430\",\n \"ra_Yes\": \"\u0422\u0430\u043A\",\n \"ra_You can export all objects or just the selected branch.\": \"\u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0435\u043A\u0441\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0432\u0441\u0456 \u043E\u0431\u2019\u0454\u043A\u0442\u0438 \u0430\u0431\u043E \u043B\u0438\u0448\u0435 \u0432\u0438\u0431\u0440\u0430\u043D\u0443 \u0433\u0456\u043B\u043A\u0443.\",\n \"ra_You can filter entries by entering here some text\": \"\u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0444\u0456\u043B\u044C\u0442\u0440\u0443\u0432\u0430\u0442\u0438 \u0437\u0430\u043F\u0438\u0441\u0438, \u0432\u0432\u0456\u0432\u0448\u0438 \u0442\u0443\u0442 \u043F\u0435\u0432\u043D\u0438\u0439 \u0442\u0435\u043A\u0441\u0442\",\n \"ra___different__\": \"\u0456\u043D\u0448\u0438\u0439\",\n \"ra_aclEveryone_read_object\": \"\u041A\u043E\u0436\u0435\u043D \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442\",\n \"ra_aclEveryone_read_state\": \"\u041A\u043E\u0436\u0435\u043D \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u0441\u0442\u0430\u043D\",\n \"ra_aclEveryone_write_object\": \"\u041A\u043E\u0436\u0435\u043D \u043C\u043E\u0436\u0435 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442\",\n \"ra_aclEveryone_write_state\": \"\u041A\u043E\u0436\u0435\u043D \u043C\u043E\u0436\u0435 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u0438 \u0441\u0442\u0430\u043D\",\n \"ra_aclGroup_read_object\": \"\u0413\u0440\u0443\u043F\u0430 \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442\",\n \"ra_aclGroup_read_state\": \"\u0413\u0440\u0443\u043F\u0430 \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u0441\u0442\u0430\u043D\",\n \"ra_aclGroup_write_object\": \"\u0413\u0440\u0443\u043F\u0430 \u043C\u043E\u0436\u0435 \u043F\u0438\u0441\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442\",\n \"ra_aclGroup_write_state\": \"\u0413\u0440\u0443\u043F\u0430 \u043C\u043E\u0436\u0435 \u043F\u0438\u0441\u0430\u0442\u0438 \u0441\u0442\u0430\u043D\",\n \"ra_aclOwner_read_object\": \"\u0412\u043B\u0430\u0441\u043D\u0438\u043A \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442\",\n \"ra_aclOwner_read_state\": \"\u0412\u043B\u0430\u0441\u043D\u0438\u043A \u043C\u043E\u0436\u0435 \u0447\u0438\u0442\u0430\u0442\u0438 \u0441\u0442\u0430\u043D\",\n \"ra_aclOwner_write_object\": \"\u0412\u043B\u0430\u0441\u043D\u0438\u043A \u043C\u043E\u0436\u0435 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442\",\n \"ra_aclOwner_write_state\": \"\u0412\u043B\u0430\u0441\u043D\u0438\u043A \u043C\u043E\u0436\u0435 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u0438 \u0441\u0442\u0430\u043D\",\n \"ra_buttons\": \"\u043A\u043D\u043E\u043F\u043A\u0438\",\n \"ra_changedFrom\": \"\u0417\u043C\u0456\u043D\u0435\u043D\u043E \u0437\",\n \"ra_close\": \"\u0437\u0430\u043A\u0440\u0438\u0442\u0438\",\n \"ra_create_boolean_state\": \"\u0421\u0442\u0432\u043E\u0440\u0456\u0442\u044C \u043B\u043E\u0433\u0456\u0447\u043D\u0438\u0439 \u0441\u0442\u0430\u043D\",\n \"ra_create_channel\": \"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043A\u0430\u043D\u0430\u043B\",\n \"ra_create_device\": \"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043F\u0440\u0438\u0441\u0442\u0440\u0456\u0439\",\n \"ra_create_number_state\": \"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u043D\u043E\u043C\u0435\u0440\u043D\u0438\u0439 \u0441\u0442\u0430\u043D\",\n \"ra_create_state\": \"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\n \"ra_create_string_state\": \"\u0421\u0442\u0432\u043E\u0440\u0438\u0442\u0438 \u0440\u044F\u0434\u043A\u043E\u0432\u0438\u0439 \u0441\u0442\u0430\u043D\",\n \"ra_daysShortText\": \"\u0434\u043D\u0456\u0432\",\n \"ra_dow_Fr\": \"\u041E\",\n \"ra_dow_Mo\": \"\u043F\u043D\",\n \"ra_dow_Sa\": \"Sa\",\n \"ra_dow_Su\": \"\u041D\u0434\",\n \"ra_dow_Th\": \"\u0447\u0442\",\n \"ra_dow_Tu\": \"\u0432\u0442\",\n \"ra_dow_We\": \"\u043C\u0438\",\n \"ra_expertMode\": \"\u0415\u043A\u0441\u043F\u0435\u0440\u0442\u043D\u0438\u0439 \u0440\u0435\u0436\u0438\u043C\",\n \"ra_fileType_all\": \"\u0412\u0441\u0456 \u0444\u0430\u0439\u043B\u0438\",\n \"ra_fileType_audio\": \"\u0410\u0443\u0434\u0456\u043E\",\n \"ra_fileType_code\": \"\u041A\u043E\u0434/JSON\",\n \"ra_fileType_images\": \"\u0417\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F\",\n \"ra_fileType_txt\": \"\u0442\u0435\u043A\u0441\u0442\",\n \"ra_fileType_video\": \"\u0432\u0456\u0434\u0435\u043E\",\n \"ra_fileType_video,\": \"\u0432\u0456\u0434\u0435\u043E\",\n \"ra_filter_customs\": \"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F\",\n \"ra_filter_customs_without\": \"\u0431\u0435\u0437\",\n \"ra_filter_func\": \"\u0444\u0443\u043D\u043A\u0446\u0456\u044F\",\n \"ra_filter_id\": \"ID\",\n \"ra_filter_name\": \"\u0406\u043C'\u044F\",\n \"ra_filter_role\": \"\u0420\u043E\u043B\u044C\",\n \"ra_filter_room\": \"\u041A\u0456\u043C\u043D\u0430\u0442\u0430\",\n \"ra_filter_type\": \"\u0422\u0438\u043F\",\n \"ra_import data from %s file\": \"\u0406\u043C\u043F\u043E\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0434\u0430\u043D\u0456 \u0437 \u0444\u0430\u0439\u043B\u0443 %s\",\n \"ra_invalidConfig\": \"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F\",\n \"ra_lastChange\": \"\u041E\u0441\u0442\u0430\u043D\u043D\u044F \u0437\u043C\u0456\u043D\u0430\",\n \"ra_locally\": \"\u043B\u043E\u043A\u0430\u043B\u044C\u043D\u043E\",\n \"ra_month_Apr\": \"\u043A\u0432\u0456\u0442\",\n \"ra_month_Aug\": \"\u0441\u0435\u0440\u043F\",\n \"ra_month_Dec\": \"\u0433\u0440\u0443\u0434\",\n \"ra_month_Feb\": \"\u043B\u044E\u0442\u0438\u0439\",\n \"ra_month_Jan\": \"\u0441\u0456\u0447\u043D\u044F\",\n \"ra_month_Jul\": \"\u043B\u0438\u043F\",\n \"ra_month_Jun\": \"\u0447\u0435\u0440\u0432\",\n \"ra_month_Mai\": \"\u0442\u0440\u0430\u0432\u0435\u043D\u044C\",\n \"ra_month_Mar\": \"\u0431\u0435\u0440\u0435\u0437\u0435\u043D\u044C\",\n \"ra_month_Nov\": \"\u041B\u0438\u0441\u0442\u043E\u043F\u0430\u0434\",\n \"ra_month_Oct\": \"\u0436\u043E\u0432\u0442\",\n \"ra_month_Sep\": \"\u0432\u0435\u0440\",\n \"ra_months_Apr\": \"\u043A\u0432\u0456\u0442\",\n \"ra_months_Aug\": \"\u0441\u0435\u0440\u043F\",\n \"ra_months_Dec\": \"\u0433\u0440\u0443\u0434\",\n \"ra_months_Feb\": \"\u043B\u044E\u0442\u0438\u0439\",\n \"ra_months_Jan\": \"\u0441\u0456\u0447\u043D\u044F\",\n \"ra_months_Jul\": \"\u043B\u0438\u043F\",\n \"ra_months_Jun\": \"\u0447\u0435\u0440\u0432\",\n \"ra_months_Mai\": \"\u0442\u0440\u0430\u0432\u0435\u043D\u044C\",\n \"ra_months_Mar\": \"\u0431\u0435\u0440\u0435\u0437\u0435\u043D\u044C\",\n \"ra_months_Nov\": \"\u041B\u0438\u0441\u0442\u043E\u043F\u0430\u0434\",\n \"ra_months_Oct\": \"\u0436\u043E\u0432\u0442\",\n \"ra_months_Sep\": \"\u0432\u0435\u0440\",\n \"ra_none\": \"\u043D\u0435\u043C\u0430\u0454\",\n \"ra_object_changed_by\": \"\u041E\u0431'\u0454\u043A\u0442 \u0437\u043C\u0456\u043D\u0435\u043D\u043E\",\n \"ra_object_changed_by_user\": \"\u041E\u0431'\u0454\u043A\u0442 \u0432\u043E\u0441\u0442\u0430\u043D\u043D\u0454 \u0437\u043C\u0456\u043D\u0435\u043D\u043E \u043E\",\n \"ra_otherConfig\": \"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0437 \u0456\u043D\u0448\u043E\u0433\u043E \u0430\u0434\u0430\u043F\u0442\u0435\u0440\u0430 %s\",\n \"ra_qualityCode\": \"\u041A\u043E\u0434 \u044F\u043A\u043E\u0441\u0442\u0456\",\n \"ra_repeat\": \"\u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438\",\n \"ra_select_folder_hint\": \"\u0429\u043E\u0431 \u0432\u0438\u0431\u0440\u0430\u0442\u0438 \u043F\u0430\u043F\u043A\u0443, \u043F\u0440\u043E\u0441\u0442\u043E \u043A\u043B\u0430\u0446\u043D\u0456\u0442\u044C \u043F\u0430\u043F\u043A\u0443, \u0443\u0442\u0440\u0438\u043C\u0443\u044E\u0447\u0438 \u043A\u043B\u0430\u0432\u0456\u0448\u0443 \u00ABShift\u00BB.\",\n \"ra_state_changed_by\": \"\u0421\u0442\u0430\u043D \u0437\u043C\u0456\u043D\u0435\u043D\u043E \u043D\u0430\",\n \"ra_state_changed_from\": \"\u041E\u0431'\u0454\u043A\u0442 \u0437\u043C\u0456\u043D\u0435\u043D\u043E \u0437\",\n \"ra_timestamp\": \"\u041C\u0456\u0442\u043A\u0430 \u0447\u0430\u0441\u0443\",\n \"ra_tooltip_ack\": \"\u0412\u0438\u0437\u043D\u0430\u043D\u043E\",\n \"ra_tooltip_comment\": \"\u043A\u043E\u043C\u0435\u043D\u0442\u0430\u0440\",\n \"ra_tooltip_copyState\": \"\u0421\u043A\u043E\u043F\u0456\u044E\u0439\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0441\u0442\u0430\u043D\u0443\",\n \"ra_tooltip_customConfig\": \"\u0421\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0456 \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F\",\n \"ra_tooltip_deleteObject\": \"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442\",\n \"ra_tooltip_editObject\": \"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u043E\u0431'\u0454\u043A\u0442\",\n \"ra_tooltip_editState\": \"\u0412\u0456\u0434\u0440\u0435\u0434\u0430\u0433\u0443\u0439\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0441\u0442\u0430\u043D\u0443\",\n \"ra_tooltip_from\": \"\u0412\u0456\u0434\",\n \"ra_tooltip_lc\": \"\u0412\u043E\u0441\u0442\u0430\u043D\u043D\u0454 \u0437\u043C\u0456\u043D\u0435\u043D\u043E\",\n \"ra_tooltip_quality\": \"\u044F\u043A\u0456\u0441\u0442\u044C\",\n \"ra_tooltip_ts\": \"\u041F\u043E\u0437\u043D\u0430\u0447\u043A\u0430 \u0447\u0430\u0441\u0443\",\n \"ra_tooltip_user\": \"\u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\",\n \"ra_tooltip_value\": \"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F\",\n \"ra_use seconds\": \"\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0439\u0442\u0435 \u0441\u0435\u043A\u0443\u043D\u0434\u0438\",\n \"ra_val\": \"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F\",\n \"ra_via internet\": \"\u0447\u0435\u0440\u0435\u0437 \u0456\u043D\u0442\u0435\u0440\u043D\u0435\u0442\",\n \"ra_warning_every_minute\": \"\u041F\u043E\u043F\u0435\u0440\u0435\u0434\u0436\u0435\u043D\u043D\u044F: \u0437\u0430\u0432\u0434\u0430\u043D\u043D\u044F CRON \u0432\u0438\u043A\u043E\u043D\u0443\u0432\u0430\u0442\u0438\u043C\u0435\u0442\u044C\u0441\u044F \u0449\u043E\u0445\u0432\u0438\u043B\u0438\u043D\u0438 \u043F\u0440\u043E\u0442\u044F\u0433\u043E\u043C \u0437\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u043E\u0433\u043E \u043F\u0435\u0440\u0456\u043E\u0434\u0443!\",\n \"ra_warning_every_second\": \"\u041F\u043E\u043F\u0435\u0440\u0435\u0434\u0436\u0435\u043D\u043D\u044F: \u0437\u0430\u0432\u0434\u0430\u043D\u043D\u044F CRON \u0432\u0438\u043A\u043E\u043D\u0443\u0432\u0430\u0442\u0438\u043C\u0435\u0442\u044C\u0441\u044F \u043A\u043E\u0436\u043D\u0443 \u0441\u0435\u043A\u0443\u043D\u0434\u0443 \u043F\u0440\u043E\u0442\u044F\u0433\u043E\u043C \u0437\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u043E\u0433\u043E \u043F\u0435\u0440\u0456\u043E\u0434\u0443!\",\n \"sc_cron\": \"CRON\",\n \"sc_date\": \"\u0414\u0430\u0442\u0430\",\n \"sc_dates\": \"\u0434\u0430\u0442\u0438\",\n \"sc_dow\": \"\u0414\u0435\u043D\u044C\",\n \"sc_dows\": \"\u0414\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F\",\n \"sc_every\": \"\u043A\u043E\u0436\u0435\u043D\",\n \"sc_everyN_dates\": \"\u043A\u043E\u0436\u043D\u0456 N \u0434\u043D\u0456\u0432\",\n \"sc_everyN_dow\": \"\u043A\u043E\u0436\u0435\u043D N-\u0439 \u0434\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F\",\n \"sc_everyN_dows\": \"\u043A\u043E\u0436\u043D\u0456 N \u0434\u043D\u0456\u0432 \u0442\u0438\u0436\u043D\u044F\",\n \"sc_everyN_hours\": \"\u043A\u043E\u0436\u043D\u0456 N \u0433\u043E\u0434\u0438\u043D\",\n \"sc_everyN_minutes\": \"\u043A\u043E\u0436\u043D\u0456 N \u0445\u0432\u0438\u043B\u0438\u043D\",\n \"sc_everyN_months\": \"\u043A\u043E\u0436\u043D\u0456 N \u043C\u0456\u0441\u044F\u0446\u0456\u0432\",\n \"sc_everyN_seconds\": \"\u043A\u043E\u0436\u043D\u0456 N \u0441\u0435\u043A\u0443\u043D\u0434\",\n \"sc_every_dates\": \"\u043A\u043E\u0436\u0435\u043D \u0434\u0435\u043D\u044C\",\n \"sc_every_dow\": \"\u043A\u043E\u0436\u0435\u043D \u0434\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F\",\n \"sc_every_dows\": \"\u043A\u043E\u0436\u0435\u043D \u0434\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F\",\n \"sc_every_hours\": \"\u0449\u043E\u0433\u043E\u0434\u0438\u043D\u0438\",\n \"sc_every_minutes\": \"\u043A\u043E\u0436\u043D\u0443 \u0445\u0432\u0438\u043B\u0438\u043D\u0443\",\n \"sc_every_months\": \"\u0449\u043E\u043C\u0456\u0441\u044F\u0446\u044F\",\n \"sc_every_seconds\": \"\u043A\u043E\u0436\u043D\u0430 \u0441\u0435\u043A\u0443\u043D\u0434\u0430\",\n \"sc_from\": \"\u0412\u0456\u0434\",\n \"sc_hours\": \"\u0433\u043E\u0434\u0438\u043D\u0438\",\n \"sc_interval\": \"\u0406\u043D\u0442\u0435\u0440\u0432\u0430\u043B\",\n \"sc_intervalBetween\": \"\u0406\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u043C\u0456\u0436\",\n \"sc_invalid_cron\": \"\u041D\u0435\u0434\u0456\u0439\u0441\u043D\u0438\u0439 CRON\",\n \"sc_minutes\": \"\u0445\u0432\u0438\u043B\u0438\u043D\",\n \"sc_months\": \"\u043C\u0456\u0441\u044F\u0446\u0456\u0432\",\n \"sc_once\": \"\u041E\u0434\u0438\u043D \u0440\u0430\u0437\",\n \"sc_period\": \"\u041A\u0440\u0430\u043F\u043A\u0430\",\n \"sc_seconds\": \"\u0441\u0435\u043A\u0443\u043D\u0434\",\n \"sc_simple\": \"\u043F\u0440\u043E\u0441\u0442\u043E\",\n \"sc_specific\": \"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0438\u0439 \u0447\u0430\u0441\",\n \"sc_specific_dates\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u0434\u0430\u0442\u0438\",\n \"sc_specific_dow\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0438\u0439 \u0434\u0435\u043D\u044C (\u0434\u043D\u0456) \u0442\u0438\u0436\u043D\u044F\",\n \"sc_specific_dows\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0438\u0439 \u0434\u0435\u043D\u044C \u0442\u0438\u0436\u043D\u044F\",\n \"sc_specific_hours\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u0433\u043E\u0434\u0438\u043D\u0438\",\n \"sc_specific_minutes\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u0445\u0432\u0438\u043B\u0438\u043D\u0438\",\n \"sc_specific_months\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u043C\u0456\u0441\u044F\u0446\u0456\",\n \"sc_specific_seconds\": \"\u043A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u0441\u0435\u043A\u0443\u043D\u0434\u0438\",\n \"sc_time\": \"\u0447\u0430\u0441\",\n \"sc_to\": \"\u0434\u043E\",\n \"sc_wizard\": \"\u043C\u0430\u0439\u0441\u0442\u0435\u0440\",\n \"sch_all\": \"\u0432\u0441\u0435\",\n \"sch_astroDay\": \"\u0410\u0441\u0442\u0440\u043E\u0434\u0435\u043D\u044C\",\n \"sch_astroNight\": \"\u0410\u0441\u0442\u0440\u043E \u043D\u0456\u0447\",\n \"sch_astro_dawn\": \"\u0421\u0432\u0456\u0442\u0430\u043D\u043E\u043A\",\n \"sch_astro_dusk\": \"\u0421\u0443\u0442\u0456\u043D\u043A\u0438\",\n \"sch_astro_goldenHour\": \"\u0417\u043E\u043B\u043E\u0442\u0430 \u0433\u043E\u0434\u0438\u043D\u0430\",\n \"sch_astro_goldenHourEnd\": \"\u041A\u0456\u043D\u0435\u0446\u044C \u0437\u043E\u043B\u043E\u0442\u043E\u0457 \u0433\u043E\u0434\u0438\u043D\u0438\",\n \"sch_astro_nadir\": \"\u041D\u0430\u0434\u0456\u0440\",\n \"sch_astro_nauticalDawn\": \"\u041C\u043E\u0440\u0441\u044C\u043A\u0438\u0439 \u0441\u0432\u0456\u0442\u0430\u043D\u043E\u043A\",\n \"sch_astro_nauticalDusk\": \"\u041C\u043E\u0440\u0441\u044C\u043A\u0456 \u0441\u0443\u0442\u0456\u043D\u043A\u0438\",\n \"sch_astro_night\": \"\u043D\u0456\u0447\",\n \"sch_astro_nightEnd\": \"\u041A\u0456\u043D\u0435\u0446\u044C \u043D\u043E\u0447\u0456\",\n \"sch_astro_solarNoon\": \"\u0421\u043E\u043D\u044F\u0447\u043D\u0438\u0439 \u043F\u043E\u043B\u0443\u0434\u0435\u043D\u044C\",\n \"sch_astro_sunrise\": \"\u0421\u0445\u0456\u0434 \u0441\u043E\u043D\u0446\u044F\",\n \"sch_astro_sunriseEnd\": \"\u041A\u0456\u043D\u0435\u0446\u044C \u0441\u0445\u043E\u0434\u0443 \u0441\u043E\u043D\u0446\u044F\",\n \"sch_astro_sunset\": \"\u0417\u0430\u0445\u0456\u0434 \u0441\u043E\u043D\u0446\u044F\",\n \"sch_astro_sunsetStart\": \"\u041F\u043E\u0447\u0430\u0442\u043E\u043A \u0437\u0430\u0445\u043E\u0434\u0443 \u0441\u043E\u043D\u0446\u044F\",\n \"sch_at\": \"\u0432\",\n \"sch_desc_atTime\": \"\u0432 %s\",\n \"sch_desc_everyDay\": \"\u043A\u043E\u0436\u0435\u043D \u0434\u0435\u043D\u044C\",\n \"sch_desc_everyHour\": \"\u0449\u043E\u0433\u043E\u0434\u0438\u043D\u0438\",\n \"sch_desc_everyMinute\": \"\u043A\u043E\u0436\u043D\u0443 \u0445\u0432\u0438\u043B\u0438\u043D\u0443\",\n \"sch_desc_everyMonth\": \"\u0449\u043E\u043C\u0456\u0441\u044F\u0446\u044F\",\n \"sch_desc_everyNDay\": \"\u043A\u043E\u0436\u0435\u043D %s \u0434\u0435\u043D\u044C\",\n \"sch_desc_everyNHours\": \"\u043A\u043E\u0436\u043D\u0456 %s \u0433\u043E\u0434\u0438\u043D\",\n \"sch_desc_everyNMinutes\": \"\u043A\u043E\u0436\u043D\u0456 %s \u0445\u0432\u0438\u043B\u0438\u043D\",\n \"sch_desc_everyNMonths\": \"\u043A\u043E\u0436\u043D\u0456 %s \u043C\u0456\u0441\u044F\u0446\u0456\u0432\",\n \"sch_desc_everyNWeeks\": \"\u043A\u043E\u0436\u043D\u0456 %s \u0442\u0438\u0436\u043D\u0456\u0432\",\n \"sch_desc_everyNYears\": \"\u043A\u043E\u0436\u043D\u0456 %s \u0440\u043E\u043A\u0456\u0432\",\n \"sch_desc_everyWeek\": \"\u0449\u043E\u0442\u0438\u0436\u043D\u044F\",\n \"sch_desc_everyYear\": \"\u0449\u043E\u0440\u043E\u043A\u0443\",\n \"sch_desc_intervalFromTo\": \"\u0432\u0456\u0434 %s \u0434\u043E %s\",\n \"sch_desc_never\": \"\u043D\u0456\u043A\u043E\u043B\u0438\",\n \"sch_desc_onDate\": \"\u043D\u0430 %s \u0437 %s\",\n \"sch_desc_onDates\": \"\u043D\u0430 %s \u0456 %s \u0437\",\n \"sch_desc_onEveryDate\": \"\u043D\u0430 \u043A\u043E\u0436\u043D\u0443 \u0434\u0430\u0442\u0443\",\n \"sch_desc_onMonth\": \"%s\",\n \"sch_desc_onMonths\": \"%s \u0456 %s\",\n \"sch_desc_onWeekday\": \"\u043D\u0430 %s\",\n \"sch_desc_onWeekdays\": \"\u043D\u0430 %s \u0456 %s\",\n \"sch_desc_onWeekends\": \"\u043D\u0430 \u0432\u0438\u0445\u0456\u0434\u043D\u0438\u0445\",\n \"sch_desc_onWorkdays\": \"\u0432 \u0440\u043E\u0431\u043E\u0447\u0456 \u0434\u043D\u0456\",\n \"sch_desc_onceInPast\": \"\u0431\u0456\u043B\u044C\u0448\u0435 \u043D\u0435 \u0432\u0438\u043A\u043E\u043D\u0443\u0432\u0430\u0442\u0438\u043C\u0435\u0442\u044C\u0441\u044F, \u043E\u0441\u043A\u0456\u043B\u044C\u043A\u0438 \u0437\u0430\u043F\u0443\u0441\u043A \u0443 \u043C\u0438\u043D\u0443\u043B\u043E\u043C\u0443\",\n \"sch_desc_once_on\": \"\u043D\u0430 %s\",\n \"sch_desc_validFrom\": \"\u0432\u0456\u0434 %s\",\n \"sch_desc_validFromTo\": \"\u0412\u0438\u043A\u043E\u043D\u0430\u0442\u0438 \u0432\u0456\u0434 \u0434\u043E\",\n \"sch_desc_validTo\": \"\u0434\u043E %s\",\n \"sch_every\": \"\u043A\u043E\u0436\u0435\u043D\",\n \"sch_exactTime\": \"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0438\u0439 \u0447\u0430\u0441\",\n \"sch_from\": \"\u0432\u0456\u0434\",\n \"sch_fromTo\": \"\u0412\u0456\u0434 \u0434\u043E\",\n \"sch_intervalTime\": \"\u0427\u0430\u0441 \u0456\u043D\u0442\u0435\u0440\u0432\u0430\u043B\u0443\",\n \"sch_invert\": \"\u0456\u043D\u0432\u0435\u0440\u0442\u0443\u0432\u0430\u0442\u0438\",\n \"sch_no_one\": \"\u043D\u0435\u043C\u0430\u0454\",\n \"sch_on\": \"\u043D\u0430\",\n \"sch_period\": \"\u041A\u0440\u0430\u043F\u043A\u0430\",\n \"sch_periodDaily\": \"\u0429\u043E\u0434\u043D\u044F\",\n \"sch_periodDates\": \"\u0434\u0430\u0442\u0438\",\n \"sch_periodDay\": \"\u0414\u0435\u043D\u044C\",\n \"sch_periodEvery\": \"\u043A\u043E\u0436\u0435\u043D\",\n \"sch_periodEveryDay\": \"\u041A\u043E\u0436\u0435\u043D \u0434\u0435\u043D\u044C\",\n \"sch_periodEveryMonth\": \"\u0429\u043E\u043C\u0456\u0441\u044F\u0446\u044F\",\n \"sch_periodEveryWeek\": \"\u0429\u043E\u0442\u0438\u0436\u043D\u044F\",\n \"sch_periodEveryYear\": \"\u0429\u043E\u0440\u043E\u043A\u0443\",\n \"sch_periodHours\": \"\u0433\u043E\u0434\u0438\u043D\u0438\",\n \"sch_periodMinutes\": \"\u0445\u0432\u0438\u043B\u0438\u043D\",\n \"sch_periodMonth\": \"\u043C\u0456\u0441\u044F\u0446\u044C\",\n \"sch_periodMonthly\": \"\u0429\u043E\u043C\u0456\u0441\u044F\u0446\u044F\",\n \"sch_periodOnce\": \"\u041E\u0434\u0438\u043D \u0440\u0430\u0437\",\n \"sch_periodSpecificMonths\": \"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0456 \u043C\u0456\u0441\u044F\u0446\u0456\",\n \"sch_periodWeek\": \"\u0442\u0438\u0436\u0434\u0435\u043D\u044C\",\n \"sch_periodWeekdays\": \"\u0431\u0443\u0434\u043D\u0456\",\n \"sch_periodWeekend\": \"\u0412\u0438\u0445\u0456\u0434\u043D\u0456\",\n \"sch_periodWeekly\": \"\u0429\u043E\u0442\u0438\u0436\u043D\u044F\",\n \"sch_periodWorkdays\": \"\u0440\u043E\u0431\u043E\u0447\u0456 \u0434\u043D\u0456\",\n \"sch_periodYear\": \"\u0440\u0456\u043A\",\n \"sch_periodYearly\": \"\u0449\u043E\u0440\u0456\u0447\u043D\u043E\",\n \"sch_specificTime\": \"\u041A\u043E\u043D\u043A\u0440\u0435\u0442\u043D\u0438\u0439 \u0447\u0430\u0441\",\n \"sch_time\": \"\u0447\u0430\u0441\",\n \"sch_to\": \"\u0434\u043E\",\n \"sch_valid\": \"\u0414\u0456\u0439\u0441\u043D\u0438\u0439\",\n \"sch_validFrom\": \"\u0432\u0456\u0434\",\n \"sch_validTo\": \"\u0434\u043E\",\n \"sch_wholeDay\": \"\u0426\u0456\u043B\u0438\u0439 \u0434\u0435\u043D\u044C\",\n \"sch_yearEveryMonth\": \"\u0449\u043E\u043C\u0456\u0441\u044F\u0446\u044F\"\n}\n", "{\n \"ra_%s links from aliases\": \"\u6765\u81EA\u522B\u540D\u7684 %s \u4E2A\u94FE\u63A5\",\n \"ra_%s object(s) processed\": \"\u5DF2\u5904\u7406%s\u4E2A\u5BF9\u8C61\",\n \"ra_%s was imported\": \"\u5BF9\u8C61\u5DF2\u5BFC\u5165\",\n \"ra_Accept license\": \"\u63A5\u53D7\u8BB8\u53EF\",\n \"ra_Add new child object to selected parent\": \"\u5C06\u65B0\u7684\u5B50\u5BF9\u8C61\u6DFB\u52A0\u5230\u9009\u5B9A\u7684\u7236\u5BF9\u8C61\",\n \"ra_Add objects tree from JSON file\": \"\u4ECEJSON\u6587\u4EF6\u6DFB\u52A0\u5BF9\u8C61\u6811\",\n \"ra_Add row\": \"\u6DFB\u52A0\u884C\",\n \"ra_Advanced options\": \"\u9AD8\u7EA7\u9009\u9879\",\n \"ra_All items are filtered out\": \"\u6240\u6709\u9879\u76EE\u90FD\u88AB\u8FC7\u6EE4\u6389\",\n \"ra_All objects\": \"\u6240\u6709\u5BF9\u8C61\",\n \"ra_Append\": \"\u9644\u52A0\",\n \"ra_Append %s entries or replace existing?\": \"\u8FFD\u52A0 %s \u6761\u76EE\u8FD8\u662F\u66FF\u6362\u73B0\u6709\u6761\u76EE\uFF1F\",\n \"ra_Append or replace?\": \"\u8FFD\u52A0\u8FD8\u662F\u66FF\u6362\uFF1F\",\n \"ra_Are you sure?\": \"\u4F60\u786E\u5B9A\u5417\uFF1F\",\n \"ra_Auto (no custom columns)\": \"\u81EA\u52A8\uFF08\u65E0\u81EA\u5B9A\u4E49\u5217\uFF09\",\n \"ra_Back to %s\": \"\u8FD4\u56DE\u201C%s\u201D\",\n \"ra_Background image\": \"\u80CC\u666F\u56FE\u50CF\",\n \"ra_Cancel\": \"\u53D6\u6D88\",\n \"ra_Cannot add items with set filter\": \"\u65E0\u6CD5\u4F7F\u7528\u8BBE\u7F6E\u8FC7\u6EE4\u5668\u6DFB\u52A0\u9879\u76EE\",\n \"ra_Cannot decode license\": \"\u65E0\u6CD5\u89E3\u7801\u8BB8\u53EF\u8BC1\",\n \"ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser\": \"\u65E0\u6CD5\u786E\u5B9A\u4F4D\u7F6E\uFF1A\u7CFB\u7EDF\u8BBE\u7F6E\u4E3A\u7A7A\u4E14\u6D4F\u89C8\u5668\u4E2D\u7981\u7528\u4E86 GPS \u68C0\u6D4B\",\n \"ra_Cannot find \\\"%s\\\"\": \"\u627E\u4E0D\u5230\u201C%s\u201D\",\n \"ra_Cannot read \\\"%s\\\"\": \"\u65E0\u6CD5\u9605\u8BFB\u201C%s\u201D\",\n \"ra_Cannot read licenses: %s\": \"\u65E0\u6CD5\u8BFB\u53D6\u8BB8\u53EF\u8BC1\uFF1A%s\",\n \"ra_Cannot retrieve options, as instance is offline\": \"\u65E0\u6CD5\u68C0\u7D22\u9009\u9879\uFF0C\u56E0\u4E3A\u5B9E\u4F8B\u5904\u4E8E\u8131\u673A\u72B6\u6001\",\n \"ra_Cannot update attribute, because not found in the object\": \"\u65E0\u6CD5\u66F4\u65B0\u5C5E\u6027\uFF0C\u56E0\u4E3A\u5728\u5BF9\u8C61\u4E2D\u627E\u4E0D\u5230\",\n \"ra_Cannot upload\": \"\u65E0\u6CD5\u4E0A\u4F20\",\n \"ra_Categories\": \"\u7C7B\u522B\",\n \"ra_Chained certificate\": \"\u94FE\u5F0F\u8BC1\u4E66\",\n \"ra_Change color theme\": \"\u66F4\u6539\u989C\u8272\u4E3B\u9898\",\n \"ra_Changed from\": \"\u66F4\u6539\u4E3A\",\n \"ra_Channel \u2192 State\": \"\u9891\u9053\u2192\u72B6\u6001\",\n \"ra_Check license\": \"\u68C0\u67E5\u8BB8\u53EF\u8BC1\",\n \"ra_Checked\": \"\u52FE\u9009\",\n \"ra_Clear\": \"\u5220\u9664\",\n \"ra_Clear filter\": \"\u6E05\u9664\u7B5B\u9009\",\n \"ra_Clear icon\": \"\u6E05\u9664\u56FE\u6807\",\n \"ra_Clone current row\": \"\u514B\u9686\u5F53\u524D\u884C\",\n \"ra_Close\": \"\u5173\",\n \"ra_Collapse all nodes\": \"\u6536\u5408\u6240\u6709\u8282\u70B9\",\n \"ra_Collapse one step node\": \"\u6298\u53E0\u4E00\u7EA7\",\n \"ra_Commercial\": \"\u5546\u4E1A\u7684\",\n \"ra_Configure\": \"\u914D\u7F6E\",\n \"ra_Configure visible columns\": \"\u914D\u7F6E\u53EF\u89C1\u5217\",\n \"ra_Confirm deletion of %s\": \"\u786E\u8BA4\u5220\u9664%s\",\n \"ra_Connected\": \"\u8FDE\u63A5\u7684\",\n \"ra_Copied\": \"\u590D\u5236\u7684\",\n \"ra_Copied %s\": \"\u590D\u5236\u7684\\\"%s\\\"\",\n \"ra_Copy content\": \"\u590D\u5236\u5185\u5BB9\",\n \"ra_Create\": \"\u521B\u5EFA\",\n \"ra_Create alias\": \"\u521B\u5EFA\u522B\u540D\",\n \"ra_Create folder\": \"\u521B\u5EFA\u6587\u4EF6\u5939\",\n \"ra_Create new folder in %s\": \"\u5728%s\u4E2D\u521B\u5EFA\u65B0\u6587\u4EF6\u5939\",\n \"ra_Crop\": \"\u5E84\u7A3C\",\n \"ra_Define CRON...\": \"\u5B9A\u4E49 CRON...\",\n \"ra_Define functions\": \"\u5B9A\u4E49\u529F\u80FD\",\n \"ra_Define rooms\": \"\u5B9A\u4E49\u623F\u95F4\",\n \"ra_Define schedule\": \"\u5B9A\u4E49\u65F6\u95F4\u8868\",\n \"ra_Define schedule...\": \"\u5B9A\u4E49\u65F6\u95F4\u8868...\",\n \"ra_Del\": \"Delete\",\n \"ra_Delete\": \"\u5220\u9664\",\n \"ra_Delete (no confirm for 5 mins)\": \"\u5220\u9664\uFF085\u5206\u949F\u5185\u672A\u786E\u8BA4\uFF09\",\n \"ra_Delete current row\": \"\u5220\u9664\u5F53\u524D\u884C\",\n \"ra_Deselect all\": \"\u5168\u90E8\u53D6\u6D88\u9009\u62E9\",\n \"ra_Device \u2192 Channel \u2192 State\": \"\u8BBE\u5907\u2192\u9891\u9053\u2192\u72B6\u6001\",\n \"ra_Discard\": \"\u4E22\u5F03\",\n \"ra_Disconnected\": \"\u65AD\u5F00\u8FDE\u63A5\",\n \"ra_Do not export values of states\": \"\u4E0D\u5BFC\u51FA\u72B6\u6001\u503C\",\n \"ra_Do not use let's encrypt\": \"\u4E0D\u8981\u4F7F\u7528\u8BA9\u6211\u4EEC\u52A0\u5BC6\",\n \"ra_Double click to reset table layout\": \"\u53CC\u51FB\u91CD\u7F6E\u8868\u683C\u5E03\u5C40\",\n \"ra_Drag 'n' drop some files here, or click to select files\": \"\u5C06\u4E00\u4E9B\u6587\u4EF6\u62D6\u653E\u5230\u6B64\u5904\uFF0C\u6216\u5355\u51FB\u4EE5\u9009\u62E9\u6587\u4EF6\",\n \"ra_Drop file here\": \"\u5C06\u6863\u6848\u653E\u5728\u8FD9\u91CC\",\n \"ra_Drop the files here...\": \"\u628A\u6587\u4EF6\u653E\u5728\u8FD9\u91CC...\",\n \"ra_Duplicate name\": \"\u540D\u79F0\u91CD\u590D\",\n \"ra_Edit ACL\": \"\u7F16\u8F91\u8BBF\u95EE\u63A7\u5236\u5217\u8868\",\n \"ra_Edit alias\": \"\u7F16\u8F91\u522B\u540D\",\n \"ra_Edit custom config\": \"\u7F16\u8F91\u81EA\u5B9A\u4E49\u914D\u7F6E\",\n \"ra_Edit function\": \"\u7F16\u8F91\u529F\u80FD\",\n \"ra_Edit object field\": \"\u7F16\u8F91\u5BF9\u8C61\u5B57\u6BB5\",\n \"ra_Edit role\": \"\u7F16\u8F91\u89D2\u8272\",\n \"ra_Edit room\": \"\u7F16\u8F91\u5BA4\",\n \"ra_Edit value\": \"\u7F16\u8F91\u503C\",\n \"ra_Error\": \"\u9519\u8BEF\",\n \"ra_Expand all nodes\": \"\u5C55\u5F00\u6240\u6709\u8282\u70B9\",\n \"ra_Expand one step node\": \"\u6269\u5927\u4E00\u7EA7\",\n \"ra_Export data to %s file\": \"\u5C06\u6570\u636E\u5BFC\u51FA\u5230 %s \u6587\u4EF6\",\n \"ra_Failed to open JSON File\": \"\u65E0\u6CD5\u6253\u5F00JSON\u6587\u4EF6\",\n \"ra_Fallback custom certificates\": \"\u540E\u5907\u81EA\u5B9A\u4E49\u8BC1\u4E66\",\n \"ra_File is too big. Max %sk allowed. Try use SVG.\": \"\u6587\u4EF6\u592A\u5927\u3002\u5141\u8BB8\u7684\u6700\u5927\u5B57\u8282%s\u6570\u3002\u5C1D\u8BD5\u4F7F\u7528 SVG\u3002\",\n \"ra_Filter\": \"\u7B5B\u9009\",\n \"ra_Filter files\": \"\u8FC7\u6EE4\u6587\u4EF6\",\n \"ra_Folder name\": \"\u6587\u4EF6\u5939\u540D\u79F0\",\n \"ra_Folder \u2192 Channel \u2192 State\": \"\u6587\u4EF6\u5939\u2192\u9891\u9053\u2192\u72B6\u6001\",\n \"ra_Folder \u2192 Device \u2192 Channel \u2192 State\": \"\u6587\u4EF6\u5939\u2192\u8BBE\u5907\u2192\u9891\u9053\u2192\u72B6\u6001\",\n \"ra_Folder \u2192 State\": \"\u6587\u4EF6\u5939\u2192\u72B6\u6001\",\n \"ra_Folders always first\": \"\u8D44\u6599\u5939\u6C38\u8FDC\u4F18\u5148\",\n \"ra_Friday\": \"\u661F\u671F\u4E94\",\n \"ra_Good luck\": \"\u795D\u4F60\u597D\u8FD0\",\n \"ra_Hide empty folders\": \"\u9690\u85CF\u7A7A\u6587\u4EF6\u5939\",\n \"ra_If no file will be created in the folder, it will disappear after the browser closed\": \"\u5982\u679C\u5728\u8BE5\u6587\u4EF6\u5939\u4E2D\u672A\u521B\u5EFA\u4EFB\u4F55\u6587\u4EF6\uFF0C\u5219\u8BE5\u6587\u4EF6\u5C06\u5728\u6D4F\u89C8\u5668\u5173\u95ED\u540E\u6D88\u5931\",\n \"ra_Import data from %s file\": \"\u4ECE %s \u6587\u4EF6\u5BFC\u5165\u6570\u636E\",\n \"ra_Import from %s\": \"\u4ECE %s \u5BFC\u5165\",\n \"ra_Instance %s is alive\": \"\u5B9E\u4F8B %s \u662F\u6D3B\u52A8\u7684\",\n \"ra_Instance %s is not alive\": \"\u5B9E\u4F8B %s \u4E0D\u5B58\u5728\",\n \"ra_Instance is not alive\": \"\u5B9E\u4F8B\u4E0D\u5B58\u5728\",\n \"ra_Invalid CRON\": \"\u65E0\u6548\u7684 CRON\",\n \"ra_Invalid JSON\": \"JSON \u65E0\u6548\",\n \"ra_Invalid answer from server\": \"\u6765\u81EA\u670D\u52A1\u5668\u7684\u65E0\u6548\u7B54\u6848\",\n \"ra_Invalid parent folder!\": \"\u7236\u6587\u4EF6\u5939\u65E0\u6548\uFF01\",\n \"ra_Invalid structure\": \"\u7ED3\u6784\u65E0\u6548\",\n \"ra_JSON editor\": \"JSON \u7F16\u8F91\u5668\",\n \"ra_Last change\": \"\u6700\u540E\u4E00\u6B21\u53D8\u66F4\",\n \"ra_Latitude\": \"\u7EAC\u5EA6\",\n \"ra_License %s\": \"\u8BB8\u53EF\u8BC1 %s\",\n \"ra_License agreement\": \"\u8BB8\u53EF\u534F\u8BAE\",\n \"ra_License does not exist\": \"\u8BB8\u53EF\u8BC1\u4E0D\u5B58\u5728\",\n \"ra_License expired on %s\": \"\u8BB8\u53EF\u8BC1\u5DF2\u4E8E %s \u8FC7\u671F\",\n \"ra_License for other product \\\"%s\\\"\": \"\u5176\u4ED6\u4EA7\u54C1\u201C%s\u201D\u7684\u8BB8\u53EF\u8BC1\",\n \"ra_License is for version %s, but required version is %s.\": \"\u8BB8\u53EF\u8BC1\u9002\u7528\u4E8E\u7248\u672C %s\uFF0C\u4F46\u6240\u9700\u7248\u672C\u4E3A %s\u3002\",\n \"ra_License must be converted\": \"\u8BB8\u53EF\u8BC1\u5FC5\u987B\u8F6C\u6362\u4E3A\u66F4\u65B0\u7248\u672C\u3002\u60A8\u53EF\u4EE5\u5728 iobroker.net \u4E2A\u4EBA\u8D44\u6599\u4E2D\u6267\u884C\u6B64\u64CD\u4F5C\u3002\",\n \"ra_License not found in license manager. Do you want to read licenses from iobroker.net?\": \"\u5728\u8BB8\u53EF\u8BC1\u7BA1\u7406\u5668\u4E2D\u627E\u4E0D\u5230\u8BB8\u53EF\u8BC1\u3002\u60A8\u8981\u4ECE iobroker.net \u66F4\u65B0\u8BB8\u53EF\u8BC1\u5417\uFF1F\",\n \"ra_Listen on all IPs\": \"\u76D1\u542C\u6240\u6709IP\",\n \"ra_Load configuration from file\": \"\u4ECE\u6587\u4EF6\u52A0\u8F7D\u914D\u7F6E\",\n \"ra_Longitude\": \"\u7ECF\u5EA6\",\n \"ra_May not trigger \\\"updateLicenses\\\"\": \"\u53EF\u80FD\u4E0D\u4F1A\u89E6\u53D1\u201CupdateLicenses\u201D\",\n \"ra_Message\": \"\u4FE1\u606F\",\n \"ra_Monday\": \"\u5468\u4E00\",\n \"ra_Move down\": \"\u4E0B\u79FB\",\n \"ra_Move up\": \"\u63D0\u5347\",\n \"ra_Name\": \"\u59D3\u540D\",\n \"ra_No data found in file\": \"\u6587\u4EF6\u4E2D\u672A\u627E\u5230\u6570\u636E\",\n \"ra_No one license found in license manager\": \"\u8BB8\u53EF\u8BC1\u7BA1\u7406\u5668\u4E2D\u672A\u627E\u5230\u4EFB\u4F55\u8BB8\u53EF\u8BC1\",\n \"ra_No response from the backend\": \"\u540E\u7AEF\u65E0\u54CD\u5E94\",\n \"ra_Non-experts may create new objects only in \\\"0_userdata.0\\\" or \\\"alias.0\\\".\": \"\u975E\u4E13\u5BB6\u53EA\u80FD\u5728\u201C 0_userdata.0\u201D\u6216\u201C alias.0\u201D\u4E2D\u521B\u5EFA\u65B0\u5BF9\u8C61\u3002\",\n \"ra_Not a number\": \"\u4E0D\u662F\u6570\u5B57\",\n \"ra_Objects\": \"\u5BF9\u8C61\",\n \"ra_Ok\": \"\u597D\",\n \"ra_On weekdays\": \"\u5728\u5DE5\u4F5C\u65E5\",\n \"ra_Only following structures of objects are available:\": \"\u4EC5\u4EE5\u4E0B\u5BF9\u8C61\u7ED3\u6784\u53EF\u7528\uFF1A\",\n \"ra_Only selected\": \"\u53EA\u9009\u62E9\",\n \"ra_Owner group\": \"\u6240\u6709\u8005\u7EC4\",\n \"ra_Owner user\": \"\u6240\u6709\u8005\u7528\u6237\",\n \"ra_Passwords are not equal!\": \"\u5BC6\u7801\u4E0D\u76F8\u7B49\uFF01\",\n \"ra_Place your files here or click here to open the browse dialog\": \"\u5C06\u6587\u4EF6\u653E\u5728\u6B64\u5904\u6216\u5355\u51FB\u6B64\u5904\u6253\u5F00\u6D4F\u89C8\u5BF9\u8BDD\u6846\",\n \"ra_Please confirm\": \"\u8BF7\u786E\u8BA4\",\n \"ra_Please create license\": \"\u8BF7\u521B\u5EFA\u8BB8\u53EF\u8BC1\",\n \"ra_Please enter the license\": \"\u8BF7\u8F93\u5165\u8BB8\u53EF\u8BC1\",\n \"ra_Please select file...\": \"\u8BF7\u9009\u62E9\u6587\u4EF6...\",\n \"ra_Please select object ID...\": \"\u8BF7\u9009\u62E9\u5BF9\u8C61ID ...\",\n \"ra_Port could be used by %s\": \"%s \u53EF\u4EE5\u4F7F\u7528\u7AEF\u53E3\",\n \"ra_Port is already used by %s\": \"\u7AEF\u53E3\u5DF2\u88AB %s \u4F7F\u7528\",\n \"ra_Private certificate\": \"\u79C1\u6709\u8BC1\u4E66\",\n \"ra_Product\": \"\u4EA7\u54C1\",\n \"ra_Public certificate\": \"\u516C\u5171\u8BC1\u4E66\",\n \"ra_Quality code\": \"\u8D28\u91CF\u4EE3\u7801\",\n \"ra_Refresh tree\": \"\u5237\u65B0\u6811\",\n \"ra_Reload files\": \"\u91CD\u65B0\u8F7D\u5165\u6587\u4EF6\",\n \"ra_Repeat\": \"\u91CD\u590D\",\n \"ra_Replace\": \"\u4EE3\u66FF\",\n \"ra_Request timed out\": \"\u8BF7\u6C42\u8D85\u65F6\",\n \"ra_Restrict to folder\": \"\u9650\u5236\u5230\u6587\u4EF6\u5939\",\n \"ra_Root\": \"\u6839\",\n \"ra_Saturday\": \"\u5468\u516D\",\n \"ra_Save\": \"\u4FDD\u5B58\",\n \"ra_Save and close\": \"\u4FDD\u5B58\u5E76\u5173\u95ED\",\n \"ra_Save configuration to file\": \"\u5C06\u914D\u7F6E\u4FDD\u5B58\u5230\u6587\u4EF6\",\n \"ra_Save objects tree as JSON file\": \"\u5C06\u5BF9\u8C61\u6811\u53E6\u5B58\u4E3AJSON\u6587\u4EF6\",\n \"ra_Select all\": \"\u5168\u9009\",\n \"ra_Select color\": \"\u9009\u62E9\u989C\u8272\",\n \"ra_Select predefined icon\": \"\u9009\u62E9\u9884\u5B9A\u4E49\u56FE\u6807\",\n \"ra_Select type of export\": \"\u9009\u62E9\u5BFC\u51FA\u7C7B\u578B\",\n \"ra_Selected\": \"\u5DF2\u9009\",\n \"ra_Selected %s object(s)\": \"\u9009\u5B9A\u7684 %s \u4E2A\u5BF9\u8C61\",\n \"ra_Serial number (UUID)\": \"\u5E8F\u5217\u53F7 (UUID)\",\n \"ra_Serial number (UUID) \\\"%s\\\" in license is for other device.\": \"\u8BB8\u53EF\u8BC1\u4E2D\u7684\u5E8F\u5217\u53F7 (UUID)\u201C%s\u201D\u7528\u4E8E\u5176\u4ED6\u8BBE\u5907\u3002\",\n \"ra_Show all folders\": \"\u663E\u793A\u6240\u6709\u6587\u4EF6\u5939\",\n \"ra_Show lines between rows\": \"\u663E\u793A\u884C\u4E4B\u95F4\u7684\u7EBF\",\n \"ra_Show/Hide object descriptions\": \"\u663E\u793A/\u9690\u85CF\u5BF9\u8C61\u63CF\u8FF0\",\n \"ra_Show/hide filter input\": \"\u663E\u793A/\u9690\u85CF\u8FC7\u6EE4\u5668\u8F93\u5165\",\n \"ra_Some data are not stored. Discard?\": \"\u90E8\u5206\u6570\u636E\u672A\u5B58\u50A8\u3002\u4E22\u5F03\uFF1F\",\n \"ra_States\": \"\u72B6\u6001\",\n \"ra_Suitable license not found in license manager\": \"\u5728\u8BB8\u53EF\u8BC1\u7BA1\u7406\u5668\u4E2D\u627E\u4E0D\u5230\u5408\u9002\u7684\u8BB8\u53EF\u8BC1\",\n \"ra_Sunday\": \"\u661F\u671F\u65E5\",\n \"ra_Suppress question for next %s minutes\": \"\u5728\u63A5\u4E0B\u6765\u7684%s\u5206\u949F\u5185\u53D6\u6D88\u63D0\u95EE\",\n \"ra_System language\": \"\u7CFB\u7EDF\u8BED\u8A00\",\n \"ra_Take browser position\": \"\u4ECE\u6D4F\u89C8\u5668\u83B7\u53D6\u4F4D\u7F6E\",\n \"ra_Take position from system settings\": \"\u4ECE\u7CFB\u7EDF\u8BBE\u7F6E\u4E2D\u83B7\u53D6\u4F4D\u7F6E\",\n \"ra_The experts may create objects everywhere but from second level (e.g. \\\"vis.0\\\" or \\\"javascript.0\\\").\": \"\u4E13\u5BB6\u53EF\u4EE5\u5728\u4EFB\u4F55\u5730\u65B9\u521B\u5EFA\u5BF9\u8C61\uFF0C\u4F46\u8981\u4ECE\u7B2C\u4E8C\u5C42\u5F00\u59CB\uFF08\u4F8B\u5982\u201C vis.0\u201D\u6216\u201C javascript.0\u201D\uFF09\u3002\",\n \"ra_The page you are looking for was not found\": \"\u672A\u627E\u5230\u60A8\u8981\u67E5\u627E\u7684\u9875\u9762\",\n \"ra_The schedule will be executed every minute. Are you sure?\": \"\u8BE5\u8BA1\u5212\u5C06\u6BCF\u5206\u949F\u6267\u884C\u4E00\u6B21\u3002\u60A8\u786E\u5B9A\u5417\uFF1F\",\n \"ra_The schedule will be executed every second. Are you sure?\": \"\u8BE5\u8BA1\u5212\u5C06\u6BCF\u79D2\u6267\u884C\u4E00\u6B21\u3002\u4F60\u786E\u5B9A\u5417\uFF1F\",\n \"ra_Thursday\": \"\u5468\u56DB\",\n \"ra_Timestamp\": \"\u65F6\u95F4\u6233\u8BB0\",\n \"ra_Toggle expert mode\": \"\u5207\u6362\u4E13\u5BB6\u6A21\u5F0F\",\n \"ra_Toggle the states view\": \"\u5207\u6362\u72B6\u6001\u89C6\u56FE\",\n \"ra_Toggle view mode\": \"\u5207\u6362\u68C0\u89C6\u6A21\u5F0F\",\n \"ra_Too big\": \"\u592A\u5927\",\n \"ra_Too small\": \"\u592A\u5C0F\",\n \"ra_Transparent dialog\": \"\u900F\u660E\u5BF9\u8BDD\u6846\",\n \"ra_Tuesday\": \"\u5468\u4E8C\",\n \"ra_Unknown error\": \"\u672A\u77E5\u9519\u8BEF\",\n \"ra_Unknown error!\": \"\u672A\u77E5\u9519\u8BEF\uFF01\",\n \"ra_Update\": \"\u66F4\u65B0\u8D44\u6599\",\n \"ra_Upload file\": \"\u4E0A\u4F20\u6587\u4EF6\",\n \"ra_Use all available let's encrypt certificates\": \"\u4F7F\u7528\u6240\u6709\u53EF\u7528\u7684\u8BA9\u6211\u4EEC\u52A0\u5BC6\u8BC1\u4E66\",\n \"ra_Use iobroker.acme adapter for letsencrypt certificates\": \"\u4F7F\u7528 iobroker.acme \u9002\u914D\u5668\u83B7\u53D6 letsencrypt \u8BC1\u4E66\",\n \"ra_Use system settings for position\": \"\u4F7F\u7528\u7CFB\u7EDF\u8BBE\u7F6E\u5B9A\u4F4D\",\n \"ra_Used system settings\": \"\u4F7F\u7528\u7684\u7CFB\u7EDF\u8BBE\u7F6E\",\n \"ra_User files\": \"\u7528\u6237\u6863\u6848\",\n \"ra_ValidTill\": \"\u6709\u6548\u671F\u81F3\",\n \"ra_Value\": \"\u503C\",\n \"ra_Version\": \"\u7248\u672C\",\n \"ra_View file\": \"\u67E5\u770B\u6587\u4EF6\",\n \"ra_View: %s\": \"\u67E5\u770B\uFF1A%s\",\n \"ra_Wednesday\": \"\u5468\u4E09\",\n \"ra_Width\": \"\u5BBD\u5EA6\",\n \"ra_Yes\": \"\u662F\u7684\",\n \"ra_You can export all objects or just the selected branch.\": \"\u60A8\u53EF\u4EE5\u5BFC\u51FA\u6240\u6709\u5BF9\u8C61\u6216\u4EC5\u5BFC\u51FA\u9009\u5B9A\u7684\u5206\u652F\u3002\",\n \"ra_You can filter entries by entering here some text\": \"\u60A8\u53EF\u4EE5\u901A\u8FC7\u5728\u6B64\u5904\u8F93\u5165\u4E00\u4E9B\u6587\u672C\u6765\u8FC7\u6EE4\u6761\u76EE\",\n \"ra___different__\": \"\u4E0D\u540C\u7684\",\n \"ra_aclEveryone_read_object\": \"\u6BCF\u4E2A\u4EBA\u90FD\u53EF\u4EE5\u9605\u8BFB\u5BF9\u8C61\",\n \"ra_aclEveryone_read_state\": \"\u6BCF\u4E2A\u4EBA\u90FD\u53EF\u4EE5\u9605\u8BFB\u72B6\u6001\",\n \"ra_aclEveryone_write_object\": \"\u6BCF\u4E2A\u4EBA\u90FD\u53EF\u4EE5\u5199\u5BF9\u8C61\",\n \"ra_aclEveryone_write_state\": \"\u6BCF\u4E2A\u4EBA\u90FD\u53EF\u4EE5\u5199\u72B6\u6001\",\n \"ra_aclGroup_read_object\": \"\u7EC4\u53EF\u4EE5\u8BFB\u53D6\u5BF9\u8C61\",\n \"ra_aclGroup_read_state\": \"\u7FA4\u7EC4\u53EF\u4EE5\u8BFB\u53D6\u72B6\u6001\",\n \"ra_aclGroup_write_object\": \"\u7EC4\u53EF\u4EE5\u5199\u5BF9\u8C61\",\n \"ra_aclGroup_write_state\": \"\u7EC4\u53EF\u4EE5\u5199\u72B6\u6001\",\n \"ra_aclOwner_read_object\": \"\u6240\u6709\u8005\u53EF\u4EE5\u8BFB\u53D6\u5BF9\u8C61\",\n \"ra_aclOwner_read_state\": \"\u6240\u6709\u8005\u53EF\u4EE5\u8BFB\u53D6\u72B6\u6001\",\n \"ra_aclOwner_write_object\": \"\u6240\u6709\u8005\u53EF\u4EE5\u5199\u5BF9\u8C61\",\n \"ra_aclOwner_write_state\": \"\u6240\u6709\u8005\u53EF\u4EE5\u5199\u72B6\u6001\",\n \"ra_buttons\": \"\u7EBD\u6263\",\n \"ra_changedFrom\": \"\u66F4\u6539\u4E3A\",\n \"ra_close\": \"\u5173\u95ED\",\n \"ra_create_boolean_state\": \"\u521B\u5EFA\u5E03\u5C14\u72B6\u6001\",\n \"ra_create_channel\": \"\u521B\u5EFA\u9891\u9053\",\n \"ra_create_device\": \"\u521B\u5EFA\u8BBE\u5907\",\n \"ra_create_number_state\": \"\u521B\u5EFA\u53F7\u7801\u72B6\u6001\",\n \"ra_create_state\": \"\u521B\u5EFA\u72B6\u6001\",\n \"ra_create_string_state\": \"\u521B\u5EFA\u5B57\u7B26\u4E32\u72B6\u6001\",\n \"ra_daysShortText\": \"\u5929\",\n \"ra_dow_Fr\": \"r\",\n \"ra_dow_Mo\": \"\u83AB\",\n \"ra_dow_Sa\": \"\u8428\",\n \"ra_dow_Su\": \"\u82CF\",\n \"ra_dow_Th\": \"Th\",\n \"ra_dow_Tu\": \"Tu\",\n \"ra_dow_We\": \"\u6211\u4EEC\",\n \"ra_expertMode\": \"\u4E13\u5BB6\u6A21\u5F0F\",\n \"ra_fileType_all\": \"\u6240\u6709\u6587\u4EF6\",\n \"ra_fileType_audio\": \"\u58F0\u97F3\u7684\",\n \"ra_fileType_code\": \"\u4EE3\u7801/JSON\",\n \"ra_fileType_images\": \"\u56FE\u7247\",\n \"ra_fileType_txt\": \"\u6587\u672C\",\n \"ra_fileType_video\": \"\u89C6\u9891\",\n \"ra_fileType_video,\": \"\u89C6\u9891\",\n \"ra_filter_customs\": \"\u8BBE\u5B9A\u503C\",\n \"ra_filter_customs_without\": \"\u6CA1\u6709\",\n \"ra_filter_func\": \"\u529F\u80FD\",\n \"ra_filter_id\": \"ID\",\n \"ra_filter_name\": \"\u540D\u79F0\",\n \"ra_filter_role\": \"\u89D2\u8272\",\n \"ra_filter_room\": \"\u623F\u95F4\",\n \"ra_filter_type\": \"\u7C7B\u578B\",\n \"ra_import data from %s file\": \"\u4ECE %s \u6587\u4EF6\u5BFC\u5165\u6570\u636E\",\n \"ra_invalidConfig\": \"\u65E0\u6548\u7684\u8BBE\u5B9A\",\n \"ra_lastChange\": \"\u6700\u540E\u4E00\u6B21\u53D8\u66F4\",\n \"ra_locally\": \"\u672C\u5730\",\n \"ra_month_Apr\": \"4\u6708\",\n \"ra_month_Aug\": \"\u516B\u6708\",\n \"ra_month_Dec\": \"\u5341\u4E8C\u6708\",\n \"ra_month_Feb\": \"\u4E8C\u6708\",\n \"ra_month_Jan\": \"\u7B80\",\n \"ra_month_Jul\": \"\u4E03\u6708\",\n \"ra_month_Jun\": \"\u541B\",\n \"ra_month_Mai\": \"\u8FC8\",\n \"ra_month_Mar\": \"\u4E09\u6708\",\n \"ra_month_Nov\": \"\u5341\u4E00\u6708\",\n \"ra_month_Oct\": \"\u5341\u6708\",\n \"ra_month_Sep\": \"\u4E5D\u6708\",\n \"ra_months_Apr\": \"4\u6708\",\n \"ra_months_Aug\": \"\u516B\u6708\",\n \"ra_months_Dec\": \"\u5341\u4E8C\u6708\",\n \"ra_months_Feb\": \"\u4E8C\u6708\",\n \"ra_months_Jan\": \"\u7B80\",\n \"ra_months_Jul\": \"\u4E03\u6708\",\n \"ra_months_Jun\": \"\u541B\",\n \"ra_months_Mai\": \"\u8FC8\",\n \"ra_months_Mar\": \"\u4E09\u6708\",\n \"ra_months_Nov\": \"\u5341\u4E00\u6708\",\n \"ra_months_Oct\": \"\u5341\u6708\",\n \"ra_months_Sep\": \"\u4E5D\u6708\",\n \"ra_none\": \"\u6CA1\u6709\u4EFB\u4F55\",\n \"ra_object_changed_by\": \"\u7269\u4EF6\u53D8\u66F4\u8005\",\n \"ra_object_changed_by_user\": \"\u5BF9\u8C61\u4E0A\u6B21\u66F4\u6539\u65F6\u95F4\u4E3A\",\n \"ra_otherConfig\": \"\u6765\u81EA\u5176\u4ED6\u9002\u914D\u5668%s\u7684\u8BBE\u7F6E\",\n \"ra_qualityCode\": \"\u8D28\u91CF\u4EE3\u7801\",\n \"ra_repeat\": \"\u91CD\u590D\",\n \"ra_select_folder_hint\": \"\u8981\u9009\u62E9\u6587\u4EF6\u5939\uFF0C\u53EA\u9700\u6309\u4F4F\u201Cshift\u201D\u952E\u5355\u51FB\u6587\u4EF6\u5939\u5373\u53EF\u3002\",\n \"ra_state_changed_by\": \"\u72B6\u6001\u7531\",\n \"ra_state_changed_from\": \"\u5BF9\u8C61\u5DF2\u4ECE\u66F4\u6539\",\n \"ra_timestamp\": \"\u65F6\u95F4\u6233\u8BB0\",\n \"ra_tooltip_ack\": \"\u81F4\u8C22\u56FD\u65D7\",\n \"ra_tooltip_comment\": \"\u8BC4\u8BBA\",\n \"ra_tooltip_copyState\": \"\u590D\u5236\u72B6\u6001\u503C\",\n \"ra_tooltip_customConfig\": \"\u81EA\u5B9A\u4E49\u8BBE\u7F6E\",\n \"ra_tooltip_deleteObject\": \"\u5220\u9664\u7269\u4EF6\",\n \"ra_tooltip_editObject\": \"\u7F16\u8F91\u7269\u4EF6\",\n \"ra_tooltip_editState\": \"\u7F16\u8F91\u72B6\u6001\u503C\",\n \"ra_tooltip_from\": \"\u4ECE\",\n \"ra_tooltip_lc\": \"\u6700\u540E\u6539\u53D8\u4E86\",\n \"ra_tooltip_quality\": \"\u8D28\u91CF\",\n \"ra_tooltip_ts\": \"\u65F6\u95F4\u6233\",\n \"ra_tooltip_user\": \"\u7528\u6237\",\n \"ra_tooltip_value\": \"\u503C\",\n \"ra_use seconds\": \"\u7528\u79D2\",\n \"ra_val\": \"\u503C\",\n \"ra_via internet\": \"\u901A\u8FC7\u4E92\u8054\u7F51\",\n \"ra_warning_every_minute\": \"\u8B66\u544A\uFF1ACRON \u4F5C\u4E1A\u5C06\u5728\u6307\u5B9A\u671F\u95F4\u5185\u6BCF\u5206\u949F\u8FD0\u884C\u4E00\u6B21\uFF01\",\n \"ra_warning_every_second\": \"\u8B66\u544A\uFF1ACRON \u4F5C\u4E1A\u5C06\u5728\u6307\u5B9A\u671F\u95F4\u5185\u6BCF\u79D2\u8FD0\u884C\u4E00\u6B21\uFF01\",\n \"sc_cron\": \"\u5468\u671F\u4EFB\u52A1\",\n \"sc_date\": \"\u65E5\u671F\",\n \"sc_dates\": \"\u65E5\",\n \"sc_dow\": \"\u5929\",\n \"sc_dows\": \"\u661F\u671F\",\n \"sc_every\": \"\u6BCF\",\n \"sc_everyN_dates\": \"\u6BCFN\u5929\",\n \"sc_everyN_dow\": \"\u6BCF\u5468\u7684\u7B2C N \u5929\",\n \"sc_everyN_dows\": \"\u6BCF\u5468N\u5929\",\n \"sc_everyN_hours\": \"\u6BCFN\u5C0F\u65F6\u4E00\u6B21\",\n \"sc_everyN_minutes\": \"\u6BCFN\u5206\u949F\",\n \"sc_everyN_months\": \"\u6BCFN\u4E2A\u6708\",\n \"sc_everyN_seconds\": \"\u6BCFN\u79D2\",\n \"sc_every_dates\": \"\u6BCF\u5929\",\n \"sc_every_dow\": \"\u4E00\u5468\u7684\u6BCF\u4E00\u5929\",\n \"sc_every_dows\": \"\u4E00\u5468\u7684\u6BCF\u4E00\u5929\",\n \"sc_every_hours\": \"\u6BCF\u5C0F\u65F6\",\n \"sc_every_minutes\": \"\u6BCF\u5206\u949F\",\n \"sc_every_months\": \"\u6BCF\u6708\",\n \"sc_every_seconds\": \"\u6BCF\u79D2\",\n \"sc_from\": \"\u4ECE\",\n \"sc_hours\": \"\u5C0F\u65F6\",\n \"sc_interval\": \"\u95F4\u9694\",\n \"sc_intervalBetween\": \"\u95F4\u9694\u65F6\u95F4\",\n \"sc_invalid_cron\": \"\u65E0\u6548\u7684 CRON\",\n \"sc_minutes\": \"\u5206\u949F\",\n \"sc_months\": \"\u6708\",\n \"sc_once\": \"\u4E00\u6B21\",\n \"sc_period\": \"\u5468\u671F\",\n \"sc_seconds\": \"\u79D2\",\n \"sc_simple\": \"\u7B80\u5355\u6A21\u5F0F\",\n \"sc_specific\": \"\u7279\u5B9A\u7684\u65F6\u95F4\",\n \"sc_specific_dates\": \"\u7279\u5B9A\u7684\u65E5\u5B50\",\n \"sc_specific_dow\": \"\u4E00\u5468\u4E2D\u7684\u7279\u5B9A\u65E5\u5B50\",\n \"sc_specific_dows\": \"\u7279\u5B9A\u7684\u4E00\u5468\",\n \"sc_specific_hours\": \"\u7279\u5B9A\u7684\u5C0F\u65F6\",\n \"sc_specific_minutes\": \"\u7279\u5B9A\u7684\u5206\u949F\",\n \"sc_specific_months\": \"\u7279\u5B9A\u7684\u6708\u4EFD\",\n \"sc_specific_seconds\": \"\u7279\u5B9A\u7684\u63CF\u8FF0\",\n \"sc_time\": \"\u65F6\u95F4\",\n \"sc_to\": \"\u81F3\",\n \"sc_wizard\": \"\u5411\u5BFC\u6A21\u5F0F\",\n \"sch_all\": \"\u5168\u9009\",\n \"sch_astroDay\": \"\u5929\u6587\u767D\u5929\",\n \"sch_astroNight\": \"\u5929\u6587\u591C\u665A\",\n \"sch_astro_dawn\": \"\u9ECE\u660E\",\n \"sch_astro_dusk\": \"\u9EC4\u660F\",\n \"sch_astro_goldenHour\": \"\u9EC4\u91D1\u65F6\u6BB5\",\n \"sch_astro_goldenHourEnd\": \"\u9EC4\u91D1\u65F6\u6BB5\u7ED3\u675F\",\n \"sch_astro_nadir\": \"\u5929\u5E95\",\n \"sch_astro_nauticalDawn\": \"\u822A\u6D77\u9ECE\u660E\",\n \"sch_astro_nauticalDusk\": \"\u822A\u6D77\u9EC4\u660F\",\n \"sch_astro_night\": \"\u591C\u665A\",\n \"sch_astro_nightEnd\": \"\u591C\u665A\u7ED3\u675F\",\n \"sch_astro_solarNoon\": \"\u6B63\u5348\",\n \"sch_astro_sunrise\": \"\u65E5\u51FA\",\n \"sch_astro_sunriseEnd\": \"\u65E5\u51FA\u7ED3\u675F\",\n \"sch_astro_sunset\": \"\u65E5\u843D\",\n \"sch_astro_sunsetStart\": \"\u65E5\u843D\u5F00\u59CB\",\n \"sch_at\": \"\u5728\",\n \"sch_desc_atTime\": \"\u7684%s\",\n \"sch_desc_everyDay\": \"\u6BCF\u5929\",\n \"sch_desc_everyHour\": \"\u6BCF\u5C0F\u65F6\",\n \"sch_desc_everyMinute\": \"\u6BCF\u5206\u949F\",\n \"sch_desc_everyMonth\": \"\u6BCF\u6708\",\n \"sch_desc_everyNDay\": \"\u6BCF%s\u5929\",\n \"sch_desc_everyNHours\": \"\u6BCF%s\u5C0F\u65F6\",\n \"sch_desc_everyNMinutes\": \"\u6BCF%s\u5206\u949F\",\n \"sch_desc_everyNMonths\": \"\u6BCF%s\u6708\",\n \"sch_desc_everyNWeeks\": \"\u6BCF%s\u5468\",\n \"sch_desc_everyNYears\": \"\u6BCF%s\u5E74\",\n \"sch_desc_everyWeek\": \"\u6BCF\u5468\",\n \"sch_desc_everyYear\": \"\u6BCF\u5E74\",\n \"sch_desc_intervalFromTo\": \"\u4ECE%s\u5230%s\",\n \"sch_desc_never\": \"\u51B3\u4E0D\",\n \"sch_desc_onDate\": \"\u5728%s\u7684%s\u4E0A\",\n \"sch_desc_onDates\": \"\u5728%s\u548C%s\u4E0A\",\n \"sch_desc_onEveryDate\": \"\u5728\u6BCF\u5929\",\n \"sch_desc_onMonth\": \"%s\",\n \"sch_desc_onMonths\": \"%s\u548C%s\",\n \"sch_desc_onWeekday\": \"\u5728%s\u4E0A\",\n \"sch_desc_onWeekdays\": \"\u5728%s\u548C%s\u4E0A\",\n \"sch_desc_onWeekends\": \"\u5728\u5468\u672B\",\n \"sch_desc_onWorkdays\": \"\u5728\u5DE5\u4F5C\u65E5\",\n \"sch_desc_onceInPast\": \"\u5C06\u4E0D\u518D\u6267\u884C\uFF0C\u56E0\u4E3A\u8D77\u59CB\u65F6\u95F4\u5DF2\u7ECF\u662F\u8FC7\u53BB\u7684\u65F6\u95F4\u4E86\u3002\",\n \"sch_desc_once_on\": \"\u5728%s\u4E0A\",\n \"sch_desc_validFrom\": \"\u6765\u81EA%s\",\n \"sch_desc_validFromTo\": \"\u4ECE\u6267\u884C\u5230\",\n \"sch_desc_validTo\": \"\u5230%s\",\n \"sch_every\": \"\u6BCF\",\n \"sch_exactTime\": \"\u7279\u5B9A\u7684\u65F6\u95F4\",\n \"sch_from\": \"\u4ECE\",\n \"sch_fromTo\": \"\u4ECE\u5230\",\n \"sch_intervalTime\": \"\u95F4\u9694\u65F6\u95F4\",\n \"sch_invert\": \"\u5012\u7F6E\",\n \"sch_no_one\": \"\u53D6\u6D88\u5168\u9009\",\n \"sch_on\": \"\u7684\",\n \"sch_period\": \"\u5468\u671F\",\n \"sch_periodDaily\": \"\u6BCF\u5929\",\n \"sch_periodDates\": \"\u65E5\u671F\",\n \"sch_periodDay\": \"\u5929\",\n \"sch_periodEvery\": \"\u6BCF\",\n \"sch_periodEveryDay\": \"\u6BCF\u5929\",\n \"sch_periodEveryMonth\": \"\u6BCF\u6708\",\n \"sch_periodEveryWeek\": \"\u6BCF\u5468\",\n \"sch_periodEveryYear\": \"\u6BCF\u5E74\",\n \"sch_periodHours\": \"\u5C0F\u65F6\",\n \"sch_periodMinutes\": \"\u5206\u949F\",\n \"sch_periodMonth\": \"\u6708\",\n \"sch_periodMonthly\": \"\u6BCF\u6708\u4E00\u6B21\",\n \"sch_periodOnce\": \"\u4E00\u6B21\",\n \"sch_periodSpecificMonths\": \"\u7279\u5B9A\u7684\u6708\u4EFD\",\n \"sch_periodWeek\": \"\u5468\",\n \"sch_periodWeekdays\": \"\u5DE5\u4F5C\u65E5\",\n \"sch_periodWeekend\": \"\u5468\u672B\",\n \"sch_periodWeekly\": \"\u6BCF\u5468\",\n \"sch_periodWorkdays\": \"\u5DE5\u4F5C\u65E5\",\n \"sch_periodYear\": \"\u5E74\",\n \"sch_periodYearly\": \"\u6BCF\u5E74\",\n \"sch_specificTime\": \"\u7279\u5B9A\u7684\u65F6\u95F4\",\n \"sch_time\": \"\u65F6\u95F4\",\n \"sch_to\": \"\u81F3\",\n \"sch_valid\": \"\u751F\u6548\",\n \"sch_validFrom\": \"\u4ECE\",\n \"sch_validTo\": \"\u81F3\",\n \"sch_wholeDay\": \"\u4E00\u6574\u5929\",\n \"sch_yearEveryMonth\": \"\u6BCF\u6708\"\n}\n", "import langEn from './i18n/en.json';\nimport langDe from './i18n/de.json';\nimport langRu from './i18n/ru.json';\nimport langPt from './i18n/pt.json';\nimport langNl from './i18n/nl.json';\nimport langFr from './i18n/fr.json';\nimport langIt from './i18n/it.json';\nimport langEs from './i18n/es.json';\nimport langPl from './i18n/pl.json';\nimport langUk from './i18n/uk.json';\nimport langZhCn from './i18n/zh-cn.json';\n\nexport const dictionary: Record> = {\n en: langEn,\n de: langDe,\n ru: langRu,\n pt: langPt,\n nl: langNl,\n fr: langFr,\n it: langIt,\n es: langEs,\n pl: langPl,\n uk: langUk,\n 'zh-cn': langZhCn,\n};\n", "/**\n * Copyright 2018-2024 Denis Haev (bluefox) \n *\n * Licensed under the Creative Commons Attribution-NonCommercial License, Version 4.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://creativecommons.org/licenses/by-nc/4.0/legalcode.txt\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport React, { Component, type CSSProperties } from 'react';\nimport { ChromePicker, type RGBColor } from 'react-color';\n\nimport { TextField, Menu, IconButton, Button, Box } from '@mui/material';\n\nimport { Delete as IconDelete, Close as IconClose } from '@mui/icons-material';\n\nimport { I18n } from '../i18n';\n\nimport type { IobTheme } from '../types';\n\nconst styles: Record = {\n color: {\n width: 36,\n height: 14,\n borderRadius: 2,\n },\n delButton: {\n marginTop: 16,\n },\n swatch: {\n mt: '16px',\n p: '5px',\n backgroundColor: 'background.paper',\n borderRadius: '1px',\n boxShadow: '0 0 0 1px rgba(0,0,0,.1)',\n display: 'inline-block',\n cursor: 'pointer',\n verticalAlign: 'middle',\n },\n swatchDisabled: {\n opacity: 0.5,\n cursor: 'default',\n },\n popover: {\n '& .MuiPaper-root': {\n textAlign: 'right',\n backgroundColor: '#00000000',\n boxShadow: 'none',\n },\n },\n popoverList: {\n padding: 0,\n },\n closeButton: (theme: IobTheme) => ({\n backgroundColor: `${theme.palette.background.paper} !important`,\n borderRadius: '0 0 25% 25%',\n '&:hover': {\n backgroundColor: `${theme.palette.secondary.main} !important`,\n },\n }),\n cover: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n },\n textDense: {\n mt: 0,\n mb: 0,\n },\n picker: (theme: IobTheme) => ({\n background: `${theme.palette.background.paper} !important`,\n }),\n iconButton: {\n width: 16,\n height: 16,\n },\n button: {\n width: 32,\n height: 32,\n minWidth: 32,\n minHeight: 32,\n },\n};\n\ninterface ColorPickerProps {\n /** Set to true to disable the color picker. */\n disabled?: boolean;\n /** The currently selected color. */\n value?: string;\n /** @deprecated The currently selected color use value */\n color?: string;\n /** The color change callback. */\n onChange: (rgba: string) => void;\n /** Label of the color picker. */\n label?: string;\n /** @deprecated TLabel of the color picker use label */\n name?: string;\n /** Additional styling for this component. */\n style?: CSSProperties;\n /** The CSS class name. */\n className?: string;\n customPalette?: string[];\n noInputField?: boolean;\n barWidth?: number;\n sx?: Record;\n theme?: IobTheme;\n}\n\ninterface ColorPickerState {\n displayColorPicker: boolean;\n color: string | RGBColor;\n anchorEl: HTMLDivElement | null;\n}\n\n/**\n * A color picker component.\n */\nexport class ColorPicker extends Component {\n /**\n * Constructor for the color picker.\n *\n * @param props The properties.\n */\n constructor(props: ColorPickerProps) {\n super(props);\n this.state = {\n displayColorPicker: false,\n color: this.props.value || this.props.color || '',\n anchorEl: null,\n };\n }\n\n private handleClick = (e: React.MouseEvent): void => {\n this.setState({\n displayColorPicker: !this.state.displayColorPicker,\n anchorEl: this.state.displayColorPicker ? null : e.currentTarget,\n });\n };\n\n private handleClose = (): void => {\n this.setState({ displayColorPicker: false, anchorEl: null });\n };\n\n /**\n * Convert the given color to hex ('#rrggbb') or rgba ('rgba(r,g,b,a)') format.\n *\n * @param color The color to convert.\n * @param isHex If true, the color will be converted to hex format.\n * @returns the hex or rgba representation of the given color.\n */\n static getColor(color: string | { rgb: RGBColor } | RGBColor, isHex?: boolean): string {\n if (color && typeof color === 'object') {\n const oColor = color as { rgb: RGBColor };\n if (oColor.rgb) {\n if (isHex) {\n return `#${oColor.rgb.r.toString(16).padStart(2, '0')}${oColor.rgb.g.toString(16).padStart(2, '0')}${oColor.rgb.b.toString(16).padStart(2, '0')}`;\n }\n return `rgba(${oColor.rgb.r},${oColor.rgb.g},${oColor.rgb.b},${oColor.rgb.a})`;\n }\n const rColor = color as RGBColor;\n if (isHex) {\n return `#${rColor.r.toString(16).padStart(2, '0')}${rColor.g.toString(16).padStart(2, '0')}${rColor.b.toString(16).padStart(2, '0')}`;\n }\n return `rgba(${rColor.r},${rColor.g},${rColor.b},${rColor.a})`;\n }\n if (typeof color === 'string') {\n return isHex ? ColorPicker.rgb2hex(color || '') : color || '';\n }\n return '';\n }\n\n /**\n * Convert rgb() or rgba() format to hex format #rrggbb.\n *\n * @param rgb The color in rgb() or rgba() format. if not in this format, the color will be returned as is.\n */\n static rgb2hex(rgb: string): string {\n const m = rgb.match(/^rgba?[\\s+]?\\([\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?/i);\n\n if (m) {\n const r = parseInt(m[1], 10).toString(16).padStart(2, '0');\n const g = parseInt(m[2], 10).toString(16).padStart(2, '0');\n const b = parseInt(m[3], 10).toString(16).padStart(2, '0');\n\n return m?.length === 4 ? `#${r}${g}${b}` : rgb;\n }\n return rgb;\n }\n\n private handleChange = (color: string | RGBColor): void => {\n this.setState({ color }, () => this.props.onChange && this.props.onChange(ColorPicker.getColor(color)));\n };\n\n /**\n * If the props are updated from outside, they should override the state\n *\n * @param _prevProps The previous properties.\n * @param prevState The previous state.\n */\n componentDidUpdate(_prevProps: ColorPickerProps, prevState: ColorPickerState): void {\n const color = ColorPicker.getColor(this.props.color || this.props.value || '');\n\n if (color !== prevState.color) {\n this.setState({ color });\n }\n }\n\n renderCustomPalette(): React.JSX.Element | null {\n if (!this.props.customPalette) {\n return null;\n }\n return (\n
    \n {this.props.customPalette.map(color => (\n {\n this.handleChange(color);\n setTimeout(() => this.handleClose(), 300);\n }}\n >\n
    \n \n ))}\n
    \n );\n }\n\n render(): React.JSX.Element {\n const style = { ...(this.props.style || {}) };\n style.position = 'relative';\n const { color } = this.state;\n\n return (\n \n {this.props.noInputField ? null : (\n this.handleChange(e.target.value)}\n />\n )}\n {!this.props.noInputField && color ? (\n this.handleChange('')}\n size=\"small\"\n style={this.props.label || this.props.name ? styles.delButton : undefined}\n >\n \n \n ) : null}\n !this.props.disabled && this.handleClick(e)}\n title={I18n.t('ra_Select color')}\n sx={{\n ...styles.swatch,\n ...(this.props.disabled ? styles.swatchDisabled : undefined),\n background: color ? undefined : 'transparent',\n border: color ? undefined : '1px dashed #ccc',\n boxSizing: 'border-box',\n marginTop: this.props.noInputField || !(this.props.label || this.props.name) ? 0 : undefined,\n }}\n >\n \n \n {this.state.displayColorPicker && !this.props.disabled ? (\n this.handleClose()}\n >\n this.handleChange(_color.rgb)}\n styles={{\n default: {\n picker: {\n backgroundColor: this.props.theme?.palette.background.paper || '#888',\n },\n },\n }}\n />\n {color && this.props.noInputField ? (\n this.handleChange('')}\n >\n \n \n ) : null}\n this.handleClose()}\n >\n \n \n {this.renderCustomPalette()}\n \n ) : null}\n \n );\n }\n}\n", "var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport React from 'react';\nimport reactCSS from 'reactcss';\n\nimport { ColorWrap, Alpha } from '../common';\nimport AlphaPointer from './AlphaPointer';\n\nexport var AlphaPicker = function AlphaPicker(_ref) {\n var rgb = _ref.rgb,\n hsl = _ref.hsl,\n width = _ref.width,\n height = _ref.height,\n onChange = _ref.onChange,\n direction = _ref.direction,\n style = _ref.style,\n renderers = _ref.renderers,\n pointer = _ref.pointer,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = reactCSS({\n 'default': {\n picker: {\n position: 'relative',\n width: width,\n height: height\n },\n alpha: {\n radius: '2px',\n style: style\n }\n }\n });\n\n return React.createElement(\n 'div',\n { style: styles.picker, className: 'alpha-picker ' + className },\n React.createElement(Alpha, _extends({}, styles.alpha, {\n rgb: rgb,\n hsl: hsl,\n pointer: pointer,\n renderers: renderers,\n onChange: onChange,\n direction: direction\n }))\n );\n};\n\nAlphaPicker.defaultProps = {\n width: '316px',\n height: '16px',\n direction: 'horizontal',\n pointer: AlphaPointer\n};\n\nexport default ColorWrap(AlphaPicker);", "var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React, { Component, PureComponent } from 'react';\nimport reactCSS from 'reactcss';\nimport * as alpha from '../../helpers/alpha';\n\nimport Checkboard from './Checkboard';\n\nexport var Alpha = function (_ref) {\n _inherits(Alpha, _ref);\n\n function Alpha() {\n var _ref2;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Alpha);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref2 = Alpha.__proto__ || Object.getPrototypeOf(Alpha)).call.apply(_ref2, [this].concat(args))), _this), _this.handleChange = function (e) {\n var change = alpha.calculateChange(e, _this.props.hsl, _this.props.direction, _this.props.a, _this.container);\n change && typeof _this.props.onChange === 'function' && _this.props.onChange(change, e);\n }, _this.handleMouseDown = function (e) {\n _this.handleChange(e);\n window.addEventListener('mousemove', _this.handleChange);\n window.addEventListener('mouseup', _this.handleMouseUp);\n }, _this.handleMouseUp = function () {\n _this.unbindEventListeners();\n }, _this.unbindEventListeners = function () {\n window.removeEventListener('mousemove', _this.handleChange);\n window.removeEventListener('mouseup', _this.handleMouseUp);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Alpha, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.unbindEventListeners();\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var rgb = this.props.rgb;\n var styles = reactCSS({\n 'default': {\n alpha: {\n absolute: '0px 0px 0px 0px',\n borderRadius: this.props.radius\n },\n checkboard: {\n absolute: '0px 0px 0px 0px',\n overflow: 'hidden',\n borderRadius: this.props.radius\n },\n gradient: {\n absolute: '0px 0px 0px 0px',\n background: 'linear-gradient(to right, rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 0) 0%,\\n rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 1) 100%)',\n boxShadow: this.props.shadow,\n borderRadius: this.props.radius\n },\n container: {\n position: 'relative',\n height: '100%',\n margin: '0 3px'\n },\n pointer: {\n position: 'absolute',\n left: rgb.a * 100 + '%'\n },\n slider: {\n width: '4px',\n borderRadius: '1px',\n height: '8px',\n boxShadow: '0 0 2px rgba(0, 0, 0, .6)',\n background: '#fff',\n marginTop: '1px',\n transform: 'translateX(-2px)'\n }\n },\n 'vertical': {\n gradient: {\n background: 'linear-gradient(to bottom, rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 0) 0%,\\n rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ', 1) 100%)'\n },\n pointer: {\n left: 0,\n top: rgb.a * 100 + '%'\n }\n },\n 'overwrite': _extends({}, this.props.style)\n }, {\n vertical: this.props.direction === 'vertical',\n overwrite: true\n });\n\n return React.createElement(\n 'div',\n { style: styles.alpha },\n React.createElement(\n 'div',\n { style: styles.checkboard },\n React.createElement(Checkboard, { renderers: this.props.renderers })\n ),\n React.createElement('div', { style: styles.gradient }),\n React.createElement(\n 'div',\n {\n style: styles.container,\n ref: function ref(container) {\n return _this2.container = container;\n },\n onMouseDown: this.handleMouseDown,\n onTouchMove: this.handleChange,\n onTouchStart: this.handleChange\n },\n React.createElement(\n 'div',\n { style: styles.pointer },\n this.props.pointer ? React.createElement(this.props.pointer, this.props) : React.createElement('div', { style: styles.slider })\n )\n )\n );\n }\n }]);\n\n return Alpha;\n}(PureComponent || Component);\n\nexport default Alpha;", "export var calculateChange = function calculateChange(e, hsl, direction, initialA, container) {\n var containerWidth = container.clientWidth;\n var containerHeight = container.clientHeight;\n var x = typeof e.pageX === 'number' ? e.pageX : e.touches[0].pageX;\n var y = typeof e.pageY === 'number' ? e.pageY : e.touches[0].pageY;\n var left = x - (container.getBoundingClientRect().left + window.pageXOffset);\n var top = y - (container.getBoundingClientRect().top + window.pageYOffset);\n\n if (direction === 'vertical') {\n var a = void 0;\n if (top < 0) {\n a = 0;\n } else if (top > containerHeight) {\n a = 1;\n } else {\n a = Math.round(top * 100 / containerHeight) / 100;\n }\n\n if (hsl.a !== a) {\n return {\n h: hsl.h,\n s: hsl.s,\n l: hsl.l,\n a: a,\n source: 'rgb'\n };\n }\n } else {\n var _a = void 0;\n if (left < 0) {\n _a = 0;\n } else if (left > containerWidth) {\n _a = 1;\n } else {\n _a = Math.round(left * 100 / containerWidth) / 100;\n }\n\n if (initialA !== _a) {\n return {\n h: hsl.h,\n s: hsl.s,\n l: hsl.l,\n a: _a,\n source: 'rgb'\n };\n }\n }\n return null;\n};", "var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport React, { isValidElement } from 'react';\nimport reactCSS from 'reactcss';\nimport * as checkboard from '../../helpers/checkboard';\n\nexport var Checkboard = function Checkboard(_ref) {\n var white = _ref.white,\n grey = _ref.grey,\n size = _ref.size,\n renderers = _ref.renderers,\n borderRadius = _ref.borderRadius,\n boxShadow = _ref.boxShadow,\n children = _ref.children;\n\n var styles = reactCSS({\n 'default': {\n grid: {\n borderRadius: borderRadius,\n boxShadow: boxShadow,\n absolute: '0px 0px 0px 0px',\n background: 'url(' + checkboard.get(white, grey, size, renderers.canvas) + ') center left'\n }\n }\n });\n return isValidElement(children) ? React.cloneElement(children, _extends({}, children.props, { style: _extends({}, children.props.style, styles.grid) })) : React.createElement('div', { style: styles.grid });\n};\n\nCheckboard.defaultProps = {\n size: 8,\n white: 'transparent',\n grey: 'rgba(0,0,0,.08)',\n renderers: {}\n};\n\nexport default Checkboard;", "var checkboardCache = {};\n\nexport var render = function render(c1, c2, size, serverCanvas) {\n if (typeof document === 'undefined' && !serverCanvas) {\n return null;\n }\n var canvas = serverCanvas ? new serverCanvas() : document.createElement('canvas');\n canvas.width = size * 2;\n canvas.height = size * 2;\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n return null;\n } // If no context can be found, return early.\n ctx.fillStyle = c1;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n ctx.fillStyle = c2;\n ctx.fillRect(0, 0, size, size);\n ctx.translate(size, size);\n ctx.fillRect(0, 0, size, size);\n return canvas.toDataURL();\n};\n\nexport var get = function get(c1, c2, size, serverCanvas) {\n var key = c1 + '-' + c2 + '-' + size + (serverCanvas ? '-server' : '');\n\n if (checkboardCache[key]) {\n return checkboardCache[key];\n }\n\n var checkboard = render(c1, c2, size, serverCanvas);\n checkboardCache[key] = checkboard;\n return checkboard;\n};", "var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React, { Component, PureComponent } from 'react';\nimport reactCSS from 'reactcss';\n\nvar DEFAULT_ARROW_OFFSET = 1;\n\nvar UP_KEY_CODE = 38;\nvar DOWN_KEY_CODE = 40;\nvar VALID_KEY_CODES = [UP_KEY_CODE, DOWN_KEY_CODE];\nvar isValidKeyCode = function isValidKeyCode(keyCode) {\n return VALID_KEY_CODES.indexOf(keyCode) > -1;\n};\nvar getNumberValue = function getNumberValue(value) {\n return Number(String(value).replace(/%/g, ''));\n};\n\nvar idCounter = 1;\n\nexport var EditableInput = function (_ref) {\n _inherits(EditableInput, _ref);\n\n function EditableInput(props) {\n _classCallCheck(this, EditableInput);\n\n var _this = _possibleConstructorReturn(this, (EditableInput.__proto__ || Object.getPrototypeOf(EditableInput)).call(this));\n\n _this.handleBlur = function () {\n if (_this.state.blurValue) {\n _this.setState({ value: _this.state.blurValue, blurValue: null });\n }\n };\n\n _this.handleChange = function (e) {\n _this.setUpdatedValue(e.target.value, e);\n };\n\n _this.handleKeyDown = function (e) {\n // In case `e.target.value` is a percentage remove the `%` character\n // and update accordingly with a percentage\n // https://github.com/casesandberg/react-color/issues/383\n var value = getNumberValue(e.target.value);\n if (!isNaN(value) && isValidKeyCode(e.keyCode)) {\n var offset = _this.getArrowOffset();\n var updatedValue = e.keyCode === UP_KEY_CODE ? value + offset : value - offset;\n\n _this.setUpdatedValue(updatedValue, e);\n }\n };\n\n _this.handleDrag = function (e) {\n if (_this.props.dragLabel) {\n var newValue = Math.round(_this.props.value + e.movementX);\n if (newValue >= 0 && newValue <= _this.props.dragMax) {\n _this.props.onChange && _this.props.onChange(_this.getValueObjectWithLabel(newValue), e);\n }\n }\n };\n\n _this.handleMouseDown = function (e) {\n if (_this.props.dragLabel) {\n e.preventDefault();\n _this.handleDrag(e);\n window.addEventListener('mousemove', _this.handleDrag);\n window.addEventListener('mouseup', _this.handleMouseUp);\n }\n };\n\n _this.handleMouseUp = function () {\n _this.unbindEventListeners();\n };\n\n _this.unbindEventListeners = function () {\n window.removeEventListener('mousemove', _this.handleDrag);\n window.removeEventListener('mouseup', _this.handleMouseUp);\n };\n\n _this.state = {\n value: String(props.value).toUpperCase(),\n blurValue: String(props.value).toUpperCase()\n };\n\n _this.inputId = 'rc-editable-input-' + idCounter++;\n return _this;\n }\n\n _createClass(EditableInput, [{\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n if (this.props.value !== this.state.value && (prevProps.value !== this.props.value || prevState.value !== this.state.value)) {\n if (this.input === document.activeElement) {\n this.setState({ blurValue: String(this.props.value).toUpperCase() });\n } else {\n this.setState({ value: String(this.props.value).toUpperCase(), blurValue: !this.state.blurValue && String(this.props.value).toUpperCase() });\n }\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.unbindEventListeners();\n }\n }, {\n key: 'getValueObjectWithLabel',\n value: function getValueObjectWithLabel(value) {\n return _defineProperty({}, this.props.label, value);\n }\n }, {\n key: 'getArrowOffset',\n value: function getArrowOffset() {\n return this.props.arrowOffset || DEFAULT_ARROW_OFFSET;\n }\n }, {\n key: 'setUpdatedValue',\n value: function setUpdatedValue(value, e) {\n var onChangeValue = this.props.label ? this.getValueObjectWithLabel(value) : value;\n this.props.onChange && this.props.onChange(onChangeValue, e);\n\n this.setState({ value: value });\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var styles = reactCSS({\n 'default': {\n wrap: {\n position: 'relative'\n }\n },\n 'user-override': {\n wrap: this.props.style && this.props.style.wrap ? this.props.style.wrap : {},\n input: this.props.style && this.props.style.input ? this.props.style.input : {},\n label: this.props.style && this.props.style.label ? this.props.style.label : {}\n },\n 'dragLabel-true': {\n label: {\n cursor: 'ew-resize'\n }\n }\n }, {\n 'user-override': true\n }, this.props);\n\n return React.createElement(\n 'div',\n { style: styles.wrap },\n React.createElement('input', {\n id: this.inputId,\n style: styles.input,\n ref: function ref(input) {\n return _this2.input = input;\n },\n value: this.state.value,\n onKeyDown: this.handleKeyDown,\n onChange: this.handleChange,\n onBlur: this.handleBlur,\n placeholder: this.props.placeholder,\n spellCheck: 'false'\n }),\n this.props.label && !this.props.hideLabel ? React.createElement(\n 'label',\n {\n htmlFor: this.inputId,\n style: styles.label,\n onMouseDown: this.handleMouseDown\n },\n this.props.label\n ) : null\n );\n }\n }]);\n\n return EditableInput;\n}(PureComponent || Component);\n\nexport default EditableInput;", "var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React, { Component, PureComponent } from 'react';\nimport reactCSS from 'reactcss';\nimport * as hue from '../../helpers/hue';\n\nexport var Hue = function (_ref) {\n _inherits(Hue, _ref);\n\n function Hue() {\n var _ref2;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Hue);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref2 = Hue.__proto__ || Object.getPrototypeOf(Hue)).call.apply(_ref2, [this].concat(args))), _this), _this.handleChange = function (e) {\n var change = hue.calculateChange(e, _this.props.direction, _this.props.hsl, _this.container);\n change && typeof _this.props.onChange === 'function' && _this.props.onChange(change, e);\n }, _this.handleMouseDown = function (e) {\n _this.handleChange(e);\n window.addEventListener('mousemove', _this.handleChange);\n window.addEventListener('mouseup', _this.handleMouseUp);\n }, _this.handleMouseUp = function () {\n _this.unbindEventListeners();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Hue, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.unbindEventListeners();\n }\n }, {\n key: 'unbindEventListeners',\n value: function unbindEventListeners() {\n window.removeEventListener('mousemove', this.handleChange);\n window.removeEventListener('mouseup', this.handleMouseUp);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props$direction = this.props.direction,\n direction = _props$direction === undefined ? 'horizontal' : _props$direction;\n\n\n var styles = reactCSS({\n 'default': {\n hue: {\n absolute: '0px 0px 0px 0px',\n borderRadius: this.props.radius,\n boxShadow: this.props.shadow\n },\n container: {\n padding: '0 2px',\n position: 'relative',\n height: '100%',\n borderRadius: this.props.radius\n },\n pointer: {\n position: 'absolute',\n left: this.props.hsl.h * 100 / 360 + '%'\n },\n slider: {\n marginTop: '1px',\n width: '4px',\n borderRadius: '1px',\n height: '8px',\n boxShadow: '0 0 2px rgba(0, 0, 0, .6)',\n background: '#fff',\n transform: 'translateX(-2px)'\n }\n },\n 'vertical': {\n pointer: {\n left: '0px',\n top: -(this.props.hsl.h * 100 / 360) + 100 + '%'\n }\n }\n }, { vertical: direction === 'vertical' });\n\n return React.createElement(\n 'div',\n { style: styles.hue },\n React.createElement(\n 'div',\n {\n className: 'hue-' + direction,\n style: styles.container,\n ref: function ref(container) {\n return _this2.container = container;\n },\n onMouseDown: this.handleMouseDown,\n onTouchMove: this.handleChange,\n onTouchStart: this.handleChange\n },\n React.createElement(\n 'style',\n null,\n '\\n .hue-horizontal {\\n background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0\\n 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n background: -webkit-linear-gradient(to right, #f00 0%, #ff0\\n 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n }\\n\\n .hue-vertical {\\n background: linear-gradient(to top, #f00 0%, #ff0 17%, #0f0 33%,\\n #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n background: -webkit-linear-gradient(to top, #f00 0%, #ff0 17%,\\n #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\\n }\\n '\n ),\n React.createElement(\n 'div',\n { style: styles.pointer },\n this.props.pointer ? React.createElement(this.props.pointer, this.props) : React.createElement('div', { style: styles.slider })\n )\n )\n );\n }\n }]);\n\n return Hue;\n}(PureComponent || Component);\n\nexport default Hue;", "export var calculateChange = function calculateChange(e, direction, hsl, container) {\n var containerWidth = container.clientWidth;\n var containerHeight = container.clientHeight;\n var x = typeof e.pageX === 'number' ? e.pageX : e.touches[0].pageX;\n var y = typeof e.pageY === 'number' ? e.pageY : e.touches[0].pageY;\n var left = x - (container.getBoundingClientRect().left + window.pageXOffset);\n var top = y - (container.getBoundingClientRect().top + window.pageYOffset);\n\n if (direction === 'vertical') {\n var h = void 0;\n if (top < 0) {\n h = 359;\n } else if (top > containerHeight) {\n h = 0;\n } else {\n var percent = -(top * 100 / containerHeight) + 100;\n h = 360 * percent / 100;\n }\n\n if (hsl.h !== h) {\n return {\n h: h,\n s: hsl.s,\n l: hsl.l,\n a: hsl.a,\n source: 'hsl'\n };\n }\n } else {\n var _h = void 0;\n if (left < 0) {\n _h = 0;\n } else if (left > containerWidth) {\n _h = 359;\n } else {\n var _percent = left * 100 / containerWidth;\n _h = 360 * _percent / 100;\n }\n\n if (hsl.h !== _h) {\n return {\n h: _h,\n s: hsl.s,\n l: hsl.l,\n a: hsl.a,\n source: 'hsl'\n };\n }\n }\n return null;\n};", "import React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport merge from 'lodash-es/merge';\n\nexport var Raised = function Raised(_ref) {\n var zDepth = _ref.zDepth,\n radius = _ref.radius,\n background = _ref.background,\n children = _ref.children,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles;\n\n var styles = reactCSS(merge({\n 'default': {\n wrap: {\n position: 'relative',\n display: 'inline-block'\n },\n content: {\n position: 'relative'\n },\n bg: {\n absolute: '0px 0px 0px 0px',\n boxShadow: '0 ' + zDepth + 'px ' + zDepth * 4 + 'px rgba(0,0,0,.24)',\n borderRadius: radius,\n background: background\n }\n },\n 'zDepth-0': {\n bg: {\n boxShadow: 'none'\n }\n },\n\n 'zDepth-1': {\n bg: {\n boxShadow: '0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16)'\n }\n },\n 'zDepth-2': {\n bg: {\n boxShadow: '0 6px 20px rgba(0,0,0,.19), 0 8px 17px rgba(0,0,0,.2)'\n }\n },\n 'zDepth-3': {\n bg: {\n boxShadow: '0 17px 50px rgba(0,0,0,.19), 0 12px 15px rgba(0,0,0,.24)'\n }\n },\n 'zDepth-4': {\n bg: {\n boxShadow: '0 25px 55px rgba(0,0,0,.21), 0 16px 28px rgba(0,0,0,.22)'\n }\n },\n 'zDepth-5': {\n bg: {\n boxShadow: '0 40px 77px rgba(0,0,0,.22), 0 27px 24px rgba(0,0,0,.2)'\n }\n },\n 'square': {\n bg: {\n borderRadius: '0'\n }\n },\n 'circle': {\n bg: {\n borderRadius: '50%'\n }\n }\n }, passedStyles), { 'zDepth-1': zDepth === 1 });\n\n return React.createElement(\n 'div',\n { style: styles.wrap },\n React.createElement('div', { style: styles.bg }),\n React.createElement(\n 'div',\n { style: styles.content },\n children\n )\n );\n};\n\nRaised.propTypes = {\n background: PropTypes.string,\n zDepth: PropTypes.oneOf([0, 1, 2, 3, 4, 5]),\n radius: PropTypes.number,\n styles: PropTypes.object\n};\n\nRaised.defaultProps = {\n background: '#fff',\n zDepth: 1,\n radius: 2,\n styles: {}\n};\n\nexport default Raised;", "/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nexport default listCacheClear;\n", "/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nexport default eq;\n", "import eq from './eq.js';\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nexport default assocIndexOf;\n", "import assocIndexOf from './_assocIndexOf.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nexport default listCacheDelete;\n", "import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nexport default listCacheGet;\n", "import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nexport default listCacheHas;\n", "import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nexport default listCacheSet;\n", "import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nexport default ListCache;\n", "import ListCache from './_ListCache.js';\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nexport default stackClear;\n", "/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nexport default stackDelete;\n", "/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nexport default stackGet;\n", "/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nexport default stackHas;\n", "/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n", "import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n", "import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n", "import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n", "/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n", "import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n", "/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n", "import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n", "import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n", "import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n", "/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nexport default toSource;\n", "import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\n", "/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nexport default getValue;\n", "import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nexport default getNative;\n", "import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n", "import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n", "import nativeCreate from './_nativeCreate.js';\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nexport default hashClear;\n", "/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default hashDelete;\n", "import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nexport default hashGet;\n", "import nativeCreate from './_nativeCreate.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nexport default hashHas;\n", "import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nexport default hashSet;\n", "import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nexport default Hash;\n", "import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nexport default mapCacheClear;\n", "/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nexport default isKeyable;\n", "import isKeyable from './_isKeyable.js';\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nexport default getMapData;\n", "import getMapData from './_getMapData.js';\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default mapCacheDelete;\n", "import getMapData from './_getMapData.js';\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nexport default mapCacheGet;\n", "import getMapData from './_getMapData.js';\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nexport default mapCacheHas;\n", "import getMapData from './_getMapData.js';\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nexport default mapCacheSet;\n", "import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nexport default MapCache;\n", "import ListCache from './_ListCache.js';\nimport Map from './_Map.js';\nimport MapCache from './_MapCache.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nexport default stackSet;\n", "import ListCache from './_ListCache.js';\nimport stackClear from './_stackClear.js';\nimport stackDelete from './_stackDelete.js';\nimport stackGet from './_stackGet.js';\nimport stackHas from './_stackHas.js';\nimport stackSet from './_stackSet.js';\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nexport default Stack;\n", "import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nexport default defineProperty;\n", "import defineProperty from './_defineProperty.js';\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nexport default baseAssignValue;\n", "import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignMergeValue;\n", "/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nexport default createBaseFor;\n", "import createBaseFor from './_createBaseFor.js';\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nexport default baseFor;\n", "import root from './_root.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nexport default cloneBuffer;\n", "import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nexport default Uint8Array;\n", "import Uint8Array from './_Uint8Array.js';\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nexport default cloneArrayBuffer;\n", "import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nexport default cloneTypedArray;\n", "/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nexport default copyArray;\n", "import isObject from './isObject.js';\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nexport default baseCreate;\n", "/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n", "import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n", "/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nexport default isPrototype;\n", "import baseCreate from './_baseCreate.js';\nimport getPrototype from './_getPrototype.js';\nimport isPrototype from './_isPrototype.js';\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nexport default initCloneObject;\n", "/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n", "import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n", "import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nexport default isArguments;\n", "/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n", "/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n", "import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nexport default isArrayLike;\n", "import isArrayLike from './isArrayLike.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nexport default isArrayLikeObject;\n", "/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nexport default stubFalse;\n", "import root from './_root.js';\nimport stubFalse from './stubFalse.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nexport default isBuffer;\n", "import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n", "import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nexport default baseIsTypedArray;\n", "/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nexport default baseUnary;\n", "import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nexport default nodeUtil;\n", "import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nexport default isTypedArray;\n", "/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nexport default safeGet;\n", "import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignValue;\n", "import assignValue from './_assignValue.js';\nimport baseAssignValue from './_baseAssignValue.js';\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nexport default copyObject;\n", "/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nexport default baseTimes;\n", "/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n", "import baseTimes from './_baseTimes.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isIndex from './_isIndex.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default arrayLikeKeys;\n", "/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default nativeKeysIn;\n", "import isObject from './isObject.js';\nimport isPrototype from './_isPrototype.js';\nimport nativeKeysIn from './_nativeKeysIn.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeysIn;\n", "import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nexport default keysIn;\n", "import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nexport default toPlainObject;\n", "import assignMergeValue from './_assignMergeValue.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\nimport copyArray from './_copyArray.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\nimport isBuffer from './isBuffer.js';\nimport isFunction from './isFunction.js';\nimport isObject from './isObject.js';\nimport isPlainObject from './isPlainObject.js';\nimport isTypedArray from './isTypedArray.js';\nimport safeGet from './_safeGet.js';\nimport toPlainObject from './toPlainObject.js';\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nexport default baseMergeDeep;\n", "import Stack from './_Stack.js';\nimport assignMergeValue from './_assignMergeValue.js';\nimport baseFor from './_baseFor.js';\nimport baseMergeDeep from './_baseMergeDeep.js';\nimport isObject from './isObject.js';\nimport keysIn from './keysIn.js';\nimport safeGet from './_safeGet.js';\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nexport default baseMerge;\n", "/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n", "/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nexport default apply;\n", "import apply from './_apply.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nexport default overRest;\n", "/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nexport default constant;\n", "import constant from './constant.js';\nimport defineProperty from './_defineProperty.js';\nimport identity from './identity.js';\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nexport default baseSetToString;\n", "/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nexport default shortOut;\n", "import baseSetToString from './_baseSetToString.js';\nimport shortOut from './_shortOut.js';\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nexport default setToString;\n", "import identity from './identity.js';\nimport overRest from './_overRest.js';\nimport setToString from './_setToString.js';\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nexport default baseRest;\n", "import eq from './eq.js';\nimport isArrayLike from './isArrayLike.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nexport default isIterateeCall;\n", "import baseRest from './_baseRest.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nexport default createAssigner;\n", "import baseMerge from './_baseMerge.js';\nimport createAssigner from './_createAssigner.js';\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nexport default merge;\n", "var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React, { Component, PureComponent } from 'react';\nimport reactCSS from 'reactcss';\nimport throttle from 'lodash-es/throttle';\nimport * as saturation from '../../helpers/saturation';\n\nexport var Saturation = function (_ref) {\n _inherits(Saturation, _ref);\n\n function Saturation(props) {\n _classCallCheck(this, Saturation);\n\n var _this = _possibleConstructorReturn(this, (Saturation.__proto__ || Object.getPrototypeOf(Saturation)).call(this, props));\n\n _this.handleChange = function (e) {\n typeof _this.props.onChange === 'function' && _this.throttle(_this.props.onChange, saturation.calculateChange(e, _this.props.hsl, _this.container), e);\n };\n\n _this.handleMouseDown = function (e) {\n _this.handleChange(e);\n var renderWindow = _this.getContainerRenderWindow();\n renderWindow.addEventListener('mousemove', _this.handleChange);\n renderWindow.addEventListener('mouseup', _this.handleMouseUp);\n };\n\n _this.handleMouseUp = function () {\n _this.unbindEventListeners();\n };\n\n _this.throttle = throttle(function (fn, data, e) {\n fn(data, e);\n }, 50);\n return _this;\n }\n\n _createClass(Saturation, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.throttle.cancel();\n this.unbindEventListeners();\n }\n }, {\n key: 'getContainerRenderWindow',\n value: function getContainerRenderWindow() {\n var container = this.container;\n\n var renderWindow = window;\n while (!renderWindow.document.contains(container) && renderWindow.parent !== renderWindow) {\n renderWindow = renderWindow.parent;\n }\n return renderWindow;\n }\n }, {\n key: 'unbindEventListeners',\n value: function unbindEventListeners() {\n var renderWindow = this.getContainerRenderWindow();\n renderWindow.removeEventListener('mousemove', this.handleChange);\n renderWindow.removeEventListener('mouseup', this.handleMouseUp);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _ref2 = this.props.style || {},\n color = _ref2.color,\n white = _ref2.white,\n black = _ref2.black,\n pointer = _ref2.pointer,\n circle = _ref2.circle;\n\n var styles = reactCSS({\n 'default': {\n color: {\n absolute: '0px 0px 0px 0px',\n background: 'hsl(' + this.props.hsl.h + ',100%, 50%)',\n borderRadius: this.props.radius\n },\n white: {\n absolute: '0px 0px 0px 0px',\n borderRadius: this.props.radius\n },\n black: {\n absolute: '0px 0px 0px 0px',\n boxShadow: this.props.shadow,\n borderRadius: this.props.radius\n },\n pointer: {\n position: 'absolute',\n top: -(this.props.hsv.v * 100) + 100 + '%',\n left: this.props.hsv.s * 100 + '%',\n cursor: 'default'\n },\n circle: {\n width: '4px',\n height: '4px',\n boxShadow: '0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0,0,0,.3),\\n 0 0 1px 2px rgba(0,0,0,.4)',\n borderRadius: '50%',\n cursor: 'hand',\n transform: 'translate(-2px, -2px)'\n }\n },\n 'custom': {\n color: color,\n white: white,\n black: black,\n pointer: pointer,\n circle: circle\n }\n }, { 'custom': !!this.props.style });\n\n return React.createElement(\n 'div',\n {\n style: styles.color,\n ref: function ref(container) {\n return _this2.container = container;\n },\n onMouseDown: this.handleMouseDown,\n onTouchMove: this.handleChange,\n onTouchStart: this.handleChange\n },\n React.createElement(\n 'style',\n null,\n '\\n .saturation-white {\\n background: -webkit-linear-gradient(to right, #fff, rgba(255,255,255,0));\\n background: linear-gradient(to right, #fff, rgba(255,255,255,0));\\n }\\n .saturation-black {\\n background: -webkit-linear-gradient(to top, #000, rgba(0,0,0,0));\\n background: linear-gradient(to top, #000, rgba(0,0,0,0));\\n }\\n '\n ),\n React.createElement(\n 'div',\n { style: styles.white, className: 'saturation-white' },\n React.createElement('div', { style: styles.black, className: 'saturation-black' }),\n React.createElement(\n 'div',\n { style: styles.pointer },\n this.props.pointer ? React.createElement(this.props.pointer, this.props) : React.createElement('div', { style: styles.circle })\n )\n )\n );\n }\n }]);\n\n return Saturation;\n}(PureComponent || Component);\n\nexport default Saturation;", "import root from './_root.js';\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nexport default now;\n", "/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nexport default trimmedEndIndex;\n", "import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\n", "import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n", "import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n", "import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nexport default debounce;\n", "import debounce from './debounce.js';\nimport isObject from './isObject.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nexport default throttle;\n", "export var calculateChange = function calculateChange(e, hsl, container) {\n var _container$getBoundin = container.getBoundingClientRect(),\n containerWidth = _container$getBoundin.width,\n containerHeight = _container$getBoundin.height;\n\n var x = typeof e.pageX === 'number' ? e.pageX : e.touches[0].pageX;\n var y = typeof e.pageY === 'number' ? e.pageY : e.touches[0].pageY;\n var left = x - (container.getBoundingClientRect().left + window.pageXOffset);\n var top = y - (container.getBoundingClientRect().top + window.pageYOffset);\n\n if (left < 0) {\n left = 0;\n } else if (left > containerWidth) {\n left = containerWidth;\n }\n\n if (top < 0) {\n top = 0;\n } else if (top > containerHeight) {\n top = containerHeight;\n }\n\n var saturation = left / containerWidth;\n var bright = 1 - top / containerHeight;\n\n return {\n h: hsl.h,\n s: saturation,\n v: bright,\n a: hsl.a,\n source: 'hsv'\n };\n};", "var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React, { Component, PureComponent } from 'react';\nimport debounce from 'lodash-es/debounce';\nimport * as color from '../../helpers/color';\n\nexport var ColorWrap = function ColorWrap(Picker) {\n var ColorPicker = function (_ref) {\n _inherits(ColorPicker, _ref);\n\n function ColorPicker(props) {\n _classCallCheck(this, ColorPicker);\n\n var _this = _possibleConstructorReturn(this, (ColorPicker.__proto__ || Object.getPrototypeOf(ColorPicker)).call(this));\n\n _this.handleChange = function (data, event) {\n var isValidColor = color.simpleCheckForValidColor(data);\n if (isValidColor) {\n var colors = color.toState(data, data.h || _this.state.oldHue);\n _this.setState(colors);\n _this.props.onChangeComplete && _this.debounce(_this.props.onChangeComplete, colors, event);\n _this.props.onChange && _this.props.onChange(colors, event);\n }\n };\n\n _this.handleSwatchHover = function (data, event) {\n var isValidColor = color.simpleCheckForValidColor(data);\n if (isValidColor) {\n var colors = color.toState(data, data.h || _this.state.oldHue);\n _this.props.onSwatchHover && _this.props.onSwatchHover(colors, event);\n }\n };\n\n _this.state = _extends({}, color.toState(props.color, 0));\n\n _this.debounce = debounce(function (fn, data, event) {\n fn(data, event);\n }, 100);\n return _this;\n }\n\n _createClass(ColorPicker, [{\n key: 'render',\n value: function render() {\n var optionalEvents = {};\n if (this.props.onSwatchHover) {\n optionalEvents.onSwatchHover = this.handleSwatchHover;\n }\n\n return React.createElement(Picker, _extends({}, this.props, this.state, {\n onChange: this.handleChange\n }, optionalEvents));\n }\n }], [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(nextProps, state) {\n return _extends({}, color.toState(nextProps.color, state.oldHue));\n }\n }]);\n\n return ColorPicker;\n }(PureComponent || Component);\n\n ColorPicker.propTypes = _extends({}, Picker.propTypes);\n\n ColorPicker.defaultProps = _extends({}, Picker.defaultProps, {\n color: {\n h: 250,\n s: 0.50,\n l: 0.20,\n a: 1\n }\n });\n\n return ColorPicker;\n};\n\nexport default ColorWrap;", "/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nexport default arrayEach;\n", "import overArg from './_overArg.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nexport default nativeKeys;\n", "import isPrototype from './_isPrototype.js';\nimport nativeKeys from './_nativeKeys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeys;\n", "import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeys from './_baseKeys.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nexport default keys;\n", "import baseFor from './_baseFor.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nexport default baseForOwn;\n", "import isArrayLike from './isArrayLike.js';\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nexport default createBaseEach;\n", "import baseForOwn from './_baseForOwn.js';\nimport createBaseEach from './_createBaseEach.js';\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nexport default baseEach;\n", "import identity from './identity.js';\n\n/**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\nfunction castFunction(value) {\n return typeof value == 'function' ? value : identity;\n}\n\nexport default castFunction;\n", "import arrayEach from './_arrayEach.js';\nimport baseEach from './_baseEach.js';\nimport castFunction from './_castFunction.js';\nimport isArray from './isArray.js';\n\n/**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, castFunction(iteratee));\n}\n\nexport default forEach;\n", "// This file is autogenerated. It's used to publish ESM to npm.\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\nvar trimLeft = /^\\s+/;\nvar trimRight = /\\s+$/;\nfunction tinycolor(color, opts) {\n color = color ? color : \"\";\n opts = opts || {};\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n var rgb = inputToRGB(color);\n this._originalInput = color, this._r = rgb.r, this._g = rgb.g, this._b = rgb.b, this._a = rgb.a, this._roundA = Math.round(100 * this._a) / 100, this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) this._r = Math.round(this._r);\n if (this._g < 1) this._g = Math.round(this._g);\n if (this._b < 1) this._b = Math.round(this._b);\n this._ok = rgb.ok;\n}\ntinycolor.prototype = {\n isDark: function isDark() {\n return this.getBrightness() < 128;\n },\n isLight: function isLight() {\n return !this.isDark();\n },\n isValid: function isValid() {\n return this._ok;\n },\n getOriginalInput: function getOriginalInput() {\n return this._originalInput;\n },\n getFormat: function getFormat() {\n return this._format;\n },\n getAlpha: function getAlpha() {\n return this._a;\n },\n getBrightness: function getBrightness() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function getLuminance() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r / 255;\n GsRGB = rgb.g / 255;\n BsRGB = rgb.b / 255;\n if (RsRGB <= 0.03928) R = RsRGB / 12.92;else R = Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n if (GsRGB <= 0.03928) G = GsRGB / 12.92;else G = Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n if (BsRGB <= 0.03928) B = BsRGB / 12.92;else B = Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n },\n setAlpha: function setAlpha(value) {\n this._a = boundAlpha(value);\n this._roundA = Math.round(100 * this._a) / 100;\n return this;\n },\n toHsv: function toHsv() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v,\n a: this._a\n };\n },\n toHsvString: function toHsvString() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = Math.round(hsv.h * 360),\n s = Math.round(hsv.s * 100),\n v = Math.round(hsv.v * 100);\n return this._a == 1 ? \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" : \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \" + this._roundA + \")\";\n },\n toHsl: function toHsl() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return {\n h: hsl.h * 360,\n s: hsl.s,\n l: hsl.l,\n a: this._a\n };\n },\n toHslString: function toHslString() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = Math.round(hsl.h * 360),\n s = Math.round(hsl.s * 100),\n l = Math.round(hsl.l * 100);\n return this._a == 1 ? \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" : \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \" + this._roundA + \")\";\n },\n toHex: function toHex(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function toHexString(allow3Char) {\n return \"#\" + this.toHex(allow3Char);\n },\n toHex8: function toHex8(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function toHex8String(allow4Char) {\n return \"#\" + this.toHex8(allow4Char);\n },\n toRgb: function toRgb() {\n return {\n r: Math.round(this._r),\n g: Math.round(this._g),\n b: Math.round(this._b),\n a: this._a\n };\n },\n toRgbString: function toRgbString() {\n return this._a == 1 ? \"rgb(\" + Math.round(this._r) + \", \" + Math.round(this._g) + \", \" + Math.round(this._b) + \")\" : \"rgba(\" + Math.round(this._r) + \", \" + Math.round(this._g) + \", \" + Math.round(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function toPercentageRgb() {\n return {\n r: Math.round(bound01(this._r, 255) * 100) + \"%\",\n g: Math.round(bound01(this._g, 255) * 100) + \"%\",\n b: Math.round(bound01(this._b, 255) * 100) + \"%\",\n a: this._a\n };\n },\n toPercentageRgbString: function toPercentageRgbString() {\n return this._a == 1 ? \"rgb(\" + Math.round(bound01(this._r, 255) * 100) + \"%, \" + Math.round(bound01(this._g, 255) * 100) + \"%, \" + Math.round(bound01(this._b, 255) * 100) + \"%)\" : \"rgba(\" + Math.round(bound01(this._r, 255) * 100) + \"%, \" + Math.round(bound01(this._g, 255) * 100) + \"%, \" + Math.round(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function toName() {\n if (this._a === 0) {\n return \"transparent\";\n }\n if (this._a < 1) {\n return false;\n }\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function toFilter(secondColor) {\n var hex8String = \"#\" + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = \"#\" + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n return \"progid:DXImageTransform.Microsoft.gradient(\" + gradientType + \"startColorstr=\" + hex8String + \",endColorstr=\" + secondHex8String + \")\";\n },\n toString: function toString(format) {\n var formatSet = !!format;\n format = format || this._format;\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n return formattedString || this.toHexString();\n },\n clone: function clone() {\n return tinycolor(this.toString());\n },\n _applyModification: function _applyModification(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function lighten() {\n return this._applyModification(_lighten, arguments);\n },\n brighten: function brighten() {\n return this._applyModification(_brighten, arguments);\n },\n darken: function darken() {\n return this._applyModification(_darken, arguments);\n },\n desaturate: function desaturate() {\n return this._applyModification(_desaturate, arguments);\n },\n saturate: function saturate() {\n return this._applyModification(_saturate, arguments);\n },\n greyscale: function greyscale() {\n return this._applyModification(_greyscale, arguments);\n },\n spin: function spin() {\n return this._applyModification(_spin, arguments);\n },\n _applyCombination: function _applyCombination(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function analogous() {\n return this._applyCombination(_analogous, arguments);\n },\n complement: function complement() {\n return this._applyCombination(_complement, arguments);\n },\n monochromatic: function monochromatic() {\n return this._applyCombination(_monochromatic, arguments);\n },\n splitcomplement: function splitcomplement() {\n return this._applyCombination(_splitcomplement, arguments);\n },\n // Disabled until https://github.com/bgrins/TinyColor/issues/254\n // polyad: function (number) {\n // return this._applyCombination(polyad, [number]);\n // },\n triad: function triad() {\n return this._applyCombination(polyad, [3]);\n },\n tetrad: function tetrad() {\n return this._applyCombination(polyad, [4]);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function (color, opts) {\n if (_typeof(color) == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n } else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n var rgb = {\n r: 0,\n g: 0,\n b: 0\n };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n if (_typeof(color) == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a\n };\n}\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// \n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// \n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b),\n min = Math.min(r, g, b);\n var h,\n s,\n l = (max + min) / 2;\n if (max == min) {\n h = s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return {\n h: h,\n s: s,\n l: l\n };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n function hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n if (s === 0) {\n r = g = b = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b),\n min = Math.min(r, g, b);\n var h,\n s,\n v = max;\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n if (max == min) {\n h = 0; // achromatic\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return {\n h: h,\n s: s,\n v: v\n };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n var hex = [pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16))];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16)), pad2(convertDecimalToHex(a))];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n var hex = [pad2(convertDecimalToHex(a)), pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16))];\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) return false;\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\ntinycolor.random = function () {\n return tinycolor.fromRatio({\n r: Math.random(),\n g: Math.random(),\n b: Math.random()\n });\n};\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// \n\nfunction _desaturate(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\nfunction _saturate(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\nfunction _greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\nfunction _lighten(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\nfunction _brighten(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var rgb = tinycolor(color).toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return tinycolor(rgb);\n}\nfunction _darken(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction _spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// \n\nfunction _complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\nfunction polyad(color, number) {\n if (isNaN(number) || number <= 0) {\n throw new Error(\"Argument to polyad must be a positive number\");\n }\n var hsl = tinycolor(color).toHsl();\n var result = [tinycolor(color)];\n var step = 360 / number;\n for (var i = 1; i < number; i++) {\n result.push(tinycolor({\n h: (hsl.h + i * step) % 360,\n s: hsl.s,\n l: hsl.l\n }));\n }\n return result;\n}\nfunction _splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [tinycolor(color), tinycolor({\n h: (h + 72) % 360,\n s: hsl.s,\n l: hsl.l\n }), tinycolor({\n h: (h + 216) % 360,\n s: hsl.s,\n l: hsl.l\n })];\n}\nfunction _analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n for (hsl.h = (hsl.h - (part * results >> 1) + 720) % 360; --results;) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\nfunction _monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h,\n s = hsv.s,\n v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n while (results--) {\n ret.push(tinycolor({\n h: h,\n s: s,\n v: v\n }));\n v = (v + modification) % 1;\n }\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function (color1, color2, amount) {\n amount = amount === 0 ? 0 : amount || 50;\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n var p = amount / 100;\n var rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a\n };\n return tinycolor(rgba);\n};\n\n// Readability Functions\n// ---------------------\n// false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function (color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n out = false;\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function (baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors;\n level = args.level;\n size = args.size;\n for (var i = 0; i < colorList.length; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n if (tinycolor.isReadable(baseColor, bestColor, {\n level: level,\n size: size\n }) || !includeFallbackColors) {\n return bestColor;\n } else {\n args.includeFallbackColors = false;\n return tinycolor.mostReadable(baseColor, [\"#fff\", \"#000\"], args);\n }\n};\n\n// Big List of Colors\n// ------------------\n// \nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = {};\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) n = \"100%\";\n var processPercent = isPercentage(n);\n n = Math.min(max, Math.max(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return n % max / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// \nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf(\".\") != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf(\"%\") != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? \"0\" + c : \"\" + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = n * 100 + \"%\";\n }\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\nvar matchers = function () {\n // \n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // \n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n}();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n color = color.replace(trimLeft, \"\").replace(trimRight, \"\").toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n } else if (color == \"transparent\") {\n return {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n format: \"name\"\n };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if (match = matchers.rgb.exec(color)) {\n return {\n r: match[1],\n g: match[2],\n b: match[3]\n };\n }\n if (match = matchers.rgba.exec(color)) {\n return {\n r: match[1],\n g: match[2],\n b: match[3],\n a: match[4]\n };\n }\n if (match = matchers.hsl.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n l: match[3]\n };\n }\n if (match = matchers.hsla.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n l: match[3],\n a: match[4]\n };\n }\n if (match = matchers.hsv.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n v: match[3]\n };\n }\n if (match = matchers.hsva.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n v: match[3],\n a: match[4]\n };\n }\n if (match = matchers.hex8.exec(color)) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if (match = matchers.hex6.exec(color)) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if (match = matchers.hex4.exec(color)) {\n return {\n r: parseIntFromHex(match[1] + \"\" + match[1]),\n g: parseIntFromHex(match[2] + \"\" + match[2]),\n b: parseIntFromHex(match[3] + \"\" + match[3]),\n a: convertHexToDecimal(match[4] + \"\" + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if (match = matchers.hex3.exec(color)) {\n return {\n r: parseIntFromHex(match[1] + \"\" + match[1]),\n g: parseIntFromHex(match[2] + \"\" + match[2]),\n b: parseIntFromHex(match[3] + \"\" + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n return false;\n}\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\n level: \"AA\",\n size: \"small\"\n };\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\n level: level,\n size: size\n };\n}\n\nexport { tinycolor as default };\n", "import each from 'lodash-es/each';\nimport tinycolor from 'tinycolor2';\n\nexport var simpleCheckForValidColor = function simpleCheckForValidColor(data) {\n var keysToCheck = ['r', 'g', 'b', 'a', 'h', 's', 'l', 'v'];\n var checked = 0;\n var passed = 0;\n each(keysToCheck, function (letter) {\n if (data[letter]) {\n checked += 1;\n if (!isNaN(data[letter])) {\n passed += 1;\n }\n if (letter === 's' || letter === 'l') {\n var percentPatt = /^\\d+%$/;\n if (percentPatt.test(data[letter])) {\n passed += 1;\n }\n }\n }\n });\n return checked === passed ? data : false;\n};\n\nexport var toState = function toState(data, oldHue) {\n var color = data.hex ? tinycolor(data.hex) : tinycolor(data);\n var hsl = color.toHsl();\n var hsv = color.toHsv();\n var rgb = color.toRgb();\n var hex = color.toHex();\n if (hsl.s === 0) {\n hsl.h = oldHue || 0;\n hsv.h = oldHue || 0;\n }\n var transparent = hex === '000000' && rgb.a === 0;\n\n return {\n hsl: hsl,\n hex: transparent ? 'transparent' : '#' + hex,\n rgb: rgb,\n hsv: hsv,\n oldHue: data.h || oldHue || hsl.h,\n source: data.source\n };\n};\n\nexport var isValidHex = function isValidHex(hex) {\n if (hex === 'transparent') {\n return true;\n }\n // disable hex4 and hex8\n var lh = String(hex).charAt(0) === '#' ? 1 : 0;\n return hex.length !== 4 + lh && hex.length < 7 + lh && tinycolor(hex).isValid();\n};\n\nexport var getContrastingColor = function getContrastingColor(data) {\n if (!data) {\n return '#fff';\n }\n var col = toState(data);\n if (col.hex === 'transparent') {\n return 'rgba(0,0,0,0.4)';\n }\n var yiq = (col.rgb.r * 299 + col.rgb.g * 587 + col.rgb.b * 114) / 1000;\n return yiq >= 128 ? '#000' : '#fff';\n};\n\nexport var red = {\n hsl: { a: 1, h: 0, l: 0.5, s: 1 },\n hex: '#ff0000',\n rgb: { r: 255, g: 0, b: 0, a: 1 },\n hsv: { h: 0, s: 1, v: 1, a: 1 }\n};\n\nexport var isvalidColorString = function isvalidColorString(string, type) {\n var stringWithoutDegree = string.replace('\u00B0', '');\n return tinycolor(type + ' (' + stringWithoutDegree + ')')._ok;\n};", "var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport React from 'react';\nimport reactCSS from 'reactcss';\nimport { handleFocus } from '../../helpers/interaction';\n\nimport Checkboard from './Checkboard';\n\nvar ENTER = 13;\n\nexport var Swatch = function Swatch(_ref) {\n var color = _ref.color,\n style = _ref.style,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n onHover = _ref.onHover,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? color : _ref$title,\n children = _ref.children,\n focus = _ref.focus,\n _ref$focusStyle = _ref.focusStyle,\n focusStyle = _ref$focusStyle === undefined ? {} : _ref$focusStyle;\n\n var transparent = color === 'transparent';\n var styles = reactCSS({\n default: {\n swatch: _extends({\n background: color,\n height: '100%',\n width: '100%',\n cursor: 'pointer',\n position: 'relative',\n outline: 'none'\n }, style, focus ? focusStyle : {})\n }\n });\n\n var handleClick = function handleClick(e) {\n return onClick(color, e);\n };\n var handleKeyDown = function handleKeyDown(e) {\n return e.keyCode === ENTER && onClick(color, e);\n };\n var handleHover = function handleHover(e) {\n return onHover(color, e);\n };\n\n var optionalEvents = {};\n if (onHover) {\n optionalEvents.onMouseOver = handleHover;\n }\n\n return React.createElement(\n 'div',\n _extends({\n style: styles.swatch,\n onClick: handleClick,\n title: title,\n tabIndex: 0,\n onKeyDown: handleKeyDown\n }, optionalEvents),\n children,\n transparent && React.createElement(Checkboard, {\n borderRadius: styles.swatch.borderRadius,\n boxShadow: 'inset 0 0 0 1px rgba(0,0,0,0.1)'\n })\n );\n};\n\nexport default handleFocus(Swatch);", "var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/* eslint-disable no-invalid-this */\nimport React from 'react';\n\nexport var handleFocus = function handleFocus(Component) {\n var Span = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'span';\n return function (_React$Component) {\n _inherits(Focus, _React$Component);\n\n function Focus() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Focus);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Focus.__proto__ || Object.getPrototypeOf(Focus)).call.apply(_ref, [this].concat(args))), _this), _this.state = { focus: false }, _this.handleFocus = function () {\n return _this.setState({ focus: true });\n }, _this.handleBlur = function () {\n return _this.setState({ focus: false });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Focus, [{\n key: 'render',\n value: function render() {\n return React.createElement(\n Span,\n { onFocus: this.handleFocus, onBlur: this.handleBlur },\n React.createElement(Component, _extends({}, this.props, this.state))\n );\n }\n }]);\n\n return Focus;\n }(React.Component);\n};", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nexport var AlphaPointer = function AlphaPointer(_ref) {\n var direction = _ref.direction;\n\n var styles = reactCSS({\n 'default': {\n picker: {\n width: '18px',\n height: '18px',\n borderRadius: '50%',\n transform: 'translate(-9px, -1px)',\n backgroundColor: 'rgb(248, 248, 248)',\n boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'\n }\n },\n 'vertical': {\n picker: {\n transform: 'translate(-3px, -9px)'\n }\n }\n }, { vertical: direction === 'vertical' });\n\n return React.createElement('div', { style: styles.picker });\n};\n\nexport default AlphaPointer;", "import React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport merge from 'lodash-es/merge';\nimport * as color from '../../helpers/color';\n\nimport { ColorWrap, EditableInput, Checkboard } from '../common';\nimport BlockSwatches from './BlockSwatches';\n\nexport var Block = function Block(_ref) {\n var onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n hex = _ref.hex,\n colors = _ref.colors,\n width = _ref.width,\n triangle = _ref.triangle,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var transparent = hex === 'transparent';\n var handleChange = function handleChange(hexCode, e) {\n color.isValidHex(hexCode) && onChange({\n hex: hexCode,\n source: 'hex'\n }, e);\n };\n\n var styles = reactCSS(merge({\n 'default': {\n card: {\n width: width,\n background: '#fff',\n boxShadow: '0 1px rgba(0,0,0,.1)',\n borderRadius: '6px',\n position: 'relative'\n },\n head: {\n height: '110px',\n background: hex,\n borderRadius: '6px 6px 0 0',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative'\n },\n body: {\n padding: '10px'\n },\n label: {\n fontSize: '18px',\n color: color.getContrastingColor(hex),\n position: 'relative'\n },\n triangle: {\n width: '0px',\n height: '0px',\n borderStyle: 'solid',\n borderWidth: '0 10px 10px 10px',\n borderColor: 'transparent transparent ' + hex + ' transparent',\n position: 'absolute',\n top: '-10px',\n left: '50%',\n marginLeft: '-10px'\n },\n input: {\n width: '100%',\n fontSize: '12px',\n color: '#666',\n border: '0px',\n outline: 'none',\n height: '22px',\n boxShadow: 'inset 0 0 0 1px #ddd',\n borderRadius: '4px',\n padding: '0 7px',\n boxSizing: 'border-box'\n }\n },\n 'hide-triangle': {\n triangle: {\n display: 'none'\n }\n }\n }, passedStyles), { 'hide-triangle': triangle === 'hide' });\n\n return React.createElement(\n 'div',\n { style: styles.card, className: 'block-picker ' + className },\n React.createElement('div', { style: styles.triangle }),\n React.createElement(\n 'div',\n { style: styles.head },\n transparent && React.createElement(Checkboard, { borderRadius: '6px 6px 0 0' }),\n React.createElement(\n 'div',\n { style: styles.label },\n hex\n )\n ),\n React.createElement(\n 'div',\n { style: styles.body },\n React.createElement(BlockSwatches, { colors: colors, onClick: handleChange, onSwatchHover: onSwatchHover }),\n React.createElement(EditableInput, {\n style: { input: styles.input },\n value: hex,\n onChange: handleChange\n })\n )\n );\n};\n\nBlock.propTypes = {\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n colors: PropTypes.arrayOf(PropTypes.string),\n triangle: PropTypes.oneOf(['top', 'hide']),\n styles: PropTypes.object\n};\n\nBlock.defaultProps = {\n width: 170,\n colors: ['#D9E3F0', '#F47373', '#697689', '#37D67A', '#2CCCE4', '#555555', '#dce775', '#ff8a65', '#ba68c8'],\n triangle: 'top',\n styles: {}\n};\n\nexport default ColorWrap(Block);", "import React from 'react';\nimport reactCSS from 'reactcss';\nimport map from 'lodash-es/map';\n\nimport { Swatch } from '../common';\n\nexport var BlockSwatches = function BlockSwatches(_ref) {\n var colors = _ref.colors,\n onClick = _ref.onClick,\n onSwatchHover = _ref.onSwatchHover;\n\n var styles = reactCSS({\n 'default': {\n swatches: {\n marginRight: '-10px'\n },\n swatch: {\n width: '22px',\n height: '22px',\n float: 'left',\n marginRight: '10px',\n marginBottom: '10px',\n borderRadius: '4px'\n },\n clear: {\n clear: 'both'\n }\n }\n });\n\n return React.createElement(\n 'div',\n { style: styles.swatches },\n map(colors, function (c) {\n return React.createElement(Swatch, {\n key: c,\n color: c,\n style: styles.swatch,\n onClick: onClick,\n onHover: onSwatchHover,\n focusStyle: {\n boxShadow: '0 0 4px ' + c\n }\n });\n }),\n React.createElement('div', { style: styles.clear })\n );\n};\n\nexport default BlockSwatches;", "/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nexport default arrayMap;\n", "/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nexport default setCacheAdd;\n", "/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nexport default setCacheHas;\n", "import MapCache from './_MapCache.js';\nimport setCacheAdd from './_setCacheAdd.js';\nimport setCacheHas from './_setCacheHas.js';\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nexport default SetCache;\n", "/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nexport default arraySome;\n", "/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nexport default cacheHas;\n", "import SetCache from './_SetCache.js';\nimport arraySome from './_arraySome.js';\nimport cacheHas from './_cacheHas.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nexport default equalArrays;\n", "/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nexport default mapToArray;\n", "/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nexport default setToArray;\n", "import Symbol from './_Symbol.js';\nimport Uint8Array from './_Uint8Array.js';\nimport eq from './eq.js';\nimport equalArrays from './_equalArrays.js';\nimport mapToArray from './_mapToArray.js';\nimport setToArray from './_setToArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nexport default equalByTag;\n", "/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nexport default arrayPush;\n", "import arrayPush from './_arrayPush.js';\nimport isArray from './isArray.js';\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nexport default baseGetAllKeys;\n", "/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nexport default arrayFilter;\n", "/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nexport default stubArray;\n", "import arrayFilter from './_arrayFilter.js';\nimport stubArray from './stubArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nexport default getSymbols;\n", "import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nexport default getAllKeys;\n", "import getAllKeys from './_getAllKeys.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nexport default equalObjects;\n", "import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nexport default DataView;\n", "import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nexport default Promise;\n", "import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n", "import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n", "import DataView from './_DataView.js';\nimport Map from './_Map.js';\nimport Promise from './_Promise.js';\nimport Set from './_Set.js';\nimport WeakMap from './_WeakMap.js';\nimport baseGetTag from './_baseGetTag.js';\nimport toSource from './_toSource.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nexport default getTag;\n", "import Stack from './_Stack.js';\nimport equalArrays from './_equalArrays.js';\nimport equalByTag from './_equalByTag.js';\nimport equalObjects from './_equalObjects.js';\nimport getTag from './_getTag.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nexport default baseIsEqualDeep;\n", "import baseIsEqualDeep from './_baseIsEqualDeep.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nexport default baseIsEqual;\n", "import Stack from './_Stack.js';\nimport baseIsEqual from './_baseIsEqual.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nexport default baseIsMatch;\n", "import isObject from './isObject.js';\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nexport default isStrictComparable;\n", "import isStrictComparable from './_isStrictComparable.js';\nimport keys from './keys.js';\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nexport default getMatchData;\n", "/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nexport default matchesStrictComparable;\n", "import baseIsMatch from './_baseIsMatch.js';\nimport getMatchData from './_getMatchData.js';\nimport matchesStrictComparable from './_matchesStrictComparable.js';\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nexport default baseMatches;\n", "import isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nexport default isKey;\n", "import MapCache from './_MapCache.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nexport default memoize;\n", "import memoize from './memoize.js';\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nexport default memoizeCapped;\n", "import memoizeCapped from './_memoizeCapped.js';\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nexport default stringToPath;\n", "import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default baseToString;\n", "import baseToString from './_baseToString.js';\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nexport default toString;\n", "import isArray from './isArray.js';\nimport isKey from './_isKey.js';\nimport stringToPath from './_stringToPath.js';\nimport toString from './toString.js';\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nexport default castPath;\n", "import isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default toKey;\n", "import castPath from './_castPath.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nexport default baseGet;\n", "import baseGet from './_baseGet.js';\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nexport default get;\n", "/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nexport default baseHasIn;\n", "import castPath from './_castPath.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isIndex from './_isIndex.js';\nimport isLength from './isLength.js';\nimport toKey from './_toKey.js';\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nexport default hasPath;\n", "import baseHasIn from './_baseHasIn.js';\nimport hasPath from './_hasPath.js';\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nexport default hasIn;\n", "import baseIsEqual from './_baseIsEqual.js';\nimport get from './get.js';\nimport hasIn from './hasIn.js';\nimport isKey from './_isKey.js';\nimport isStrictComparable from './_isStrictComparable.js';\nimport matchesStrictComparable from './_matchesStrictComparable.js';\nimport toKey from './_toKey.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nexport default baseMatchesProperty;\n", "/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nexport default baseProperty;\n", "import baseGet from './_baseGet.js';\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nexport default basePropertyDeep;\n", "import baseProperty from './_baseProperty.js';\nimport basePropertyDeep from './_basePropertyDeep.js';\nimport isKey from './_isKey.js';\nimport toKey from './_toKey.js';\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nexport default property;\n", "import baseMatches from './_baseMatches.js';\nimport baseMatchesProperty from './_baseMatchesProperty.js';\nimport identity from './identity.js';\nimport isArray from './isArray.js';\nimport property from './property.js';\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nexport default baseIteratee;\n", "import baseEach from './_baseEach.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nexport default baseMap;\n", "import arrayMap from './_arrayMap.js';\nimport baseIteratee from './_baseIteratee.js';\nimport baseMap from './_baseMap.js';\nimport isArray from './isArray.js';\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, baseIteratee(iteratee, 3));\n}\n\nexport default map;\n", "import React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport map from 'lodash-es/map';\nimport merge from 'lodash-es/merge';\nimport * as material from 'material-colors';\n\nimport { ColorWrap } from '../common';\nimport CircleSwatch from './CircleSwatch';\n\nexport var Circle = function Circle(_ref) {\n var width = _ref.width,\n onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n colors = _ref.colors,\n hex = _ref.hex,\n circleSize = _ref.circleSize,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n circleSpacing = _ref.circleSpacing,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = reactCSS(merge({\n 'default': {\n card: {\n width: width,\n display: 'flex',\n flexWrap: 'wrap',\n marginRight: -circleSpacing,\n marginBottom: -circleSpacing\n }\n }\n }, passedStyles));\n\n var handleChange = function handleChange(hexCode, e) {\n return onChange({ hex: hexCode, source: 'hex' }, e);\n };\n\n return React.createElement(\n 'div',\n { style: styles.card, className: 'circle-picker ' + className },\n map(colors, function (c) {\n return React.createElement(CircleSwatch, {\n key: c,\n color: c,\n onClick: handleChange,\n onSwatchHover: onSwatchHover,\n active: hex === c.toLowerCase(),\n circleSize: circleSize,\n circleSpacing: circleSpacing\n });\n })\n );\n};\n\nCircle.propTypes = {\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n circleSize: PropTypes.number,\n circleSpacing: PropTypes.number,\n styles: PropTypes.object\n};\n\nCircle.defaultProps = {\n width: 252,\n circleSize: 28,\n circleSpacing: 14,\n colors: [material.red['500'], material.pink['500'], material.purple['500'], material.deepPurple['500'], material.indigo['500'], material.blue['500'], material.lightBlue['500'], material.cyan['500'], material.teal['500'], material.green['500'], material.lightGreen['500'], material.lime['500'], material.yellow['500'], material.amber['500'], material.orange['500'], material.deepOrange['500'], material.brown['500'], material.blueGrey['500']],\n styles: {}\n};\n\nexport default ColorWrap(Circle);", "export var red = {\"50\":\"#ffebee\",\"100\":\"#ffcdd2\",\"200\":\"#ef9a9a\",\"300\":\"#e57373\",\"400\":\"#ef5350\",\"500\":\"#f44336\",\"600\":\"#e53935\",\"700\":\"#d32f2f\",\"800\":\"#c62828\",\"900\":\"#b71c1c\",\"a100\":\"#ff8a80\",\"a200\":\"#ff5252\",\"a400\":\"#ff1744\",\"a700\":\"#d50000\"};\nexport var pink = {\"50\":\"#fce4ec\",\"100\":\"#f8bbd0\",\"200\":\"#f48fb1\",\"300\":\"#f06292\",\"400\":\"#ec407a\",\"500\":\"#e91e63\",\"600\":\"#d81b60\",\"700\":\"#c2185b\",\"800\":\"#ad1457\",\"900\":\"#880e4f\",\"a100\":\"#ff80ab\",\"a200\":\"#ff4081\",\"a400\":\"#f50057\",\"a700\":\"#c51162\"};\nexport var purple = {\"50\":\"#f3e5f5\",\"100\":\"#e1bee7\",\"200\":\"#ce93d8\",\"300\":\"#ba68c8\",\"400\":\"#ab47bc\",\"500\":\"#9c27b0\",\"600\":\"#8e24aa\",\"700\":\"#7b1fa2\",\"800\":\"#6a1b9a\",\"900\":\"#4a148c\",\"a100\":\"#ea80fc\",\"a200\":\"#e040fb\",\"a400\":\"#d500f9\",\"a700\":\"#aa00ff\"};\nexport var deepPurple = {\"50\":\"#ede7f6\",\"100\":\"#d1c4e9\",\"200\":\"#b39ddb\",\"300\":\"#9575cd\",\"400\":\"#7e57c2\",\"500\":\"#673ab7\",\"600\":\"#5e35b1\",\"700\":\"#512da8\",\"800\":\"#4527a0\",\"900\":\"#311b92\",\"a100\":\"#b388ff\",\"a200\":\"#7c4dff\",\"a400\":\"#651fff\",\"a700\":\"#6200ea\"};\nexport var indigo = {\"50\":\"#e8eaf6\",\"100\":\"#c5cae9\",\"200\":\"#9fa8da\",\"300\":\"#7986cb\",\"400\":\"#5c6bc0\",\"500\":\"#3f51b5\",\"600\":\"#3949ab\",\"700\":\"#303f9f\",\"800\":\"#283593\",\"900\":\"#1a237e\",\"a100\":\"#8c9eff\",\"a200\":\"#536dfe\",\"a400\":\"#3d5afe\",\"a700\":\"#304ffe\"};\nexport var blue = {\"50\":\"#e3f2fd\",\"100\":\"#bbdefb\",\"200\":\"#90caf9\",\"300\":\"#64b5f6\",\"400\":\"#42a5f5\",\"500\":\"#2196f3\",\"600\":\"#1e88e5\",\"700\":\"#1976d2\",\"800\":\"#1565c0\",\"900\":\"#0d47a1\",\"a100\":\"#82b1ff\",\"a200\":\"#448aff\",\"a400\":\"#2979ff\",\"a700\":\"#2962ff\"};\nexport var lightBlue = {\"50\":\"#e1f5fe\",\"100\":\"#b3e5fc\",\"200\":\"#81d4fa\",\"300\":\"#4fc3f7\",\"400\":\"#29b6f6\",\"500\":\"#03a9f4\",\"600\":\"#039be5\",\"700\":\"#0288d1\",\"800\":\"#0277bd\",\"900\":\"#01579b\",\"a100\":\"#80d8ff\",\"a200\":\"#40c4ff\",\"a400\":\"#00b0ff\",\"a700\":\"#0091ea\"};\nexport var cyan = {\"50\":\"#e0f7fa\",\"100\":\"#b2ebf2\",\"200\":\"#80deea\",\"300\":\"#4dd0e1\",\"400\":\"#26c6da\",\"500\":\"#00bcd4\",\"600\":\"#00acc1\",\"700\":\"#0097a7\",\"800\":\"#00838f\",\"900\":\"#006064\",\"a100\":\"#84ffff\",\"a200\":\"#18ffff\",\"a400\":\"#00e5ff\",\"a700\":\"#00b8d4\"};\nexport var teal = {\"50\":\"#e0f2f1\",\"100\":\"#b2dfdb\",\"200\":\"#80cbc4\",\"300\":\"#4db6ac\",\"400\":\"#26a69a\",\"500\":\"#009688\",\"600\":\"#00897b\",\"700\":\"#00796b\",\"800\":\"#00695c\",\"900\":\"#004d40\",\"a100\":\"#a7ffeb\",\"a200\":\"#64ffda\",\"a400\":\"#1de9b6\",\"a700\":\"#00bfa5\"};\nexport var green = {\"50\":\"#e8f5e9\",\"100\":\"#c8e6c9\",\"200\":\"#a5d6a7\",\"300\":\"#81c784\",\"400\":\"#66bb6a\",\"500\":\"#4caf50\",\"600\":\"#43a047\",\"700\":\"#388e3c\",\"800\":\"#2e7d32\",\"900\":\"#1b5e20\",\"a100\":\"#b9f6ca\",\"a200\":\"#69f0ae\",\"a400\":\"#00e676\",\"a700\":\"#00c853\"};\nexport var lightGreen = {\"50\":\"#f1f8e9\",\"100\":\"#dcedc8\",\"200\":\"#c5e1a5\",\"300\":\"#aed581\",\"400\":\"#9ccc65\",\"500\":\"#8bc34a\",\"600\":\"#7cb342\",\"700\":\"#689f38\",\"800\":\"#558b2f\",\"900\":\"#33691e\",\"a100\":\"#ccff90\",\"a200\":\"#b2ff59\",\"a400\":\"#76ff03\",\"a700\":\"#64dd17\"};\nexport var lime = {\"50\":\"#f9fbe7\",\"100\":\"#f0f4c3\",\"200\":\"#e6ee9c\",\"300\":\"#dce775\",\"400\":\"#d4e157\",\"500\":\"#cddc39\",\"600\":\"#c0ca33\",\"700\":\"#afb42b\",\"800\":\"#9e9d24\",\"900\":\"#827717\",\"a100\":\"#f4ff81\",\"a200\":\"#eeff41\",\"a400\":\"#c6ff00\",\"a700\":\"#aeea00\"};\nexport var yellow = {\"50\":\"#fffde7\",\"100\":\"#fff9c4\",\"200\":\"#fff59d\",\"300\":\"#fff176\",\"400\":\"#ffee58\",\"500\":\"#ffeb3b\",\"600\":\"#fdd835\",\"700\":\"#fbc02d\",\"800\":\"#f9a825\",\"900\":\"#f57f17\",\"a100\":\"#ffff8d\",\"a200\":\"#ffff00\",\"a400\":\"#ffea00\",\"a700\":\"#ffd600\"};\nexport var amber = {\"50\":\"#fff8e1\",\"100\":\"#ffecb3\",\"200\":\"#ffe082\",\"300\":\"#ffd54f\",\"400\":\"#ffca28\",\"500\":\"#ffc107\",\"600\":\"#ffb300\",\"700\":\"#ffa000\",\"800\":\"#ff8f00\",\"900\":\"#ff6f00\",\"a100\":\"#ffe57f\",\"a200\":\"#ffd740\",\"a400\":\"#ffc400\",\"a700\":\"#ffab00\"};\nexport var orange = {\"50\":\"#fff3e0\",\"100\":\"#ffe0b2\",\"200\":\"#ffcc80\",\"300\":\"#ffb74d\",\"400\":\"#ffa726\",\"500\":\"#ff9800\",\"600\":\"#fb8c00\",\"700\":\"#f57c00\",\"800\":\"#ef6c00\",\"900\":\"#e65100\",\"a100\":\"#ffd180\",\"a200\":\"#ffab40\",\"a400\":\"#ff9100\",\"a700\":\"#ff6d00\"};\nexport var deepOrange = {\"50\":\"#fbe9e7\",\"100\":\"#ffccbc\",\"200\":\"#ffab91\",\"300\":\"#ff8a65\",\"400\":\"#ff7043\",\"500\":\"#ff5722\",\"600\":\"#f4511e\",\"700\":\"#e64a19\",\"800\":\"#d84315\",\"900\":\"#bf360c\",\"a100\":\"#ff9e80\",\"a200\":\"#ff6e40\",\"a400\":\"#ff3d00\",\"a700\":\"#dd2c00\"};\nexport var brown = {\"50\":\"#efebe9\",\"100\":\"#d7ccc8\",\"200\":\"#bcaaa4\",\"300\":\"#a1887f\",\"400\":\"#8d6e63\",\"500\":\"#795548\",\"600\":\"#6d4c41\",\"700\":\"#5d4037\",\"800\":\"#4e342e\",\"900\":\"#3e2723\"};\nexport var grey = {\"50\":\"#fafafa\",\"100\":\"#f5f5f5\",\"200\":\"#eeeeee\",\"300\":\"#e0e0e0\",\"400\":\"#bdbdbd\",\"500\":\"#9e9e9e\",\"600\":\"#757575\",\"700\":\"#616161\",\"800\":\"#424242\",\"900\":\"#212121\"};\nexport var blueGrey = {\"50\":\"#eceff1\",\"100\":\"#cfd8dc\",\"200\":\"#b0bec5\",\"300\":\"#90a4ae\",\"400\":\"#78909c\",\"500\":\"#607d8b\",\"600\":\"#546e7a\",\"700\":\"#455a64\",\"800\":\"#37474f\",\"900\":\"#263238\"};\nexport var darkText = {\"primary\":\"rgba(0, 0, 0, 0.87)\",\"secondary\":\"rgba(0, 0, 0, 0.54)\",\"disabled\":\"rgba(0, 0, 0, 0.38)\",\"dividers\":\"rgba(0, 0, 0, 0.12)\"};\nexport var lightText = {\"primary\":\"rgba(255, 255, 255, 1)\",\"secondary\":\"rgba(255, 255, 255, 0.7)\",\"disabled\":\"rgba(255, 255, 255, 0.5)\",\"dividers\":\"rgba(255, 255, 255, 0.12)\"};\nexport var darkIcons = {\"active\":\"rgba(0, 0, 0, 0.54)\",\"inactive\":\"rgba(0, 0, 0, 0.38)\"};\nexport var lightIcons = {\"active\":\"rgba(255, 255, 255, 1)\",\"inactive\":\"rgba(255, 255, 255, 0.5)\"};\nexport var white = \"#ffffff\";\nexport var black = \"#000000\";\n\nexport default {\n red: red,\n pink: pink,\n purple: purple,\n deepPurple: deepPurple,\n indigo: indigo,\n blue: blue,\n lightBlue: lightBlue,\n cyan: cyan,\n teal: teal,\n green: green,\n lightGreen: lightGreen,\n lime: lime,\n yellow: yellow,\n amber: amber,\n orange: orange,\n deepOrange: deepOrange,\n brown: brown,\n grey: grey,\n blueGrey: blueGrey,\n darkText: darkText,\n lightText: lightText,\n darkIcons: darkIcons,\n lightIcons: lightIcons,\n white: white,\n black: black\n};\n", "import React from 'react';\nimport reactCSS, { handleHover } from 'reactcss';\n\nimport { Swatch } from '../common';\n\nexport var CircleSwatch = function CircleSwatch(_ref) {\n var color = _ref.color,\n onClick = _ref.onClick,\n onSwatchHover = _ref.onSwatchHover,\n hover = _ref.hover,\n active = _ref.active,\n circleSize = _ref.circleSize,\n circleSpacing = _ref.circleSpacing;\n\n var styles = reactCSS({\n 'default': {\n swatch: {\n width: circleSize,\n height: circleSize,\n marginRight: circleSpacing,\n marginBottom: circleSpacing,\n transform: 'scale(1)',\n transition: '100ms transform ease'\n },\n Swatch: {\n borderRadius: '50%',\n background: 'transparent',\n boxShadow: 'inset 0 0 0 ' + (circleSize / 2 + 1) + 'px ' + color,\n transition: '100ms box-shadow ease'\n }\n },\n 'hover': {\n swatch: {\n transform: 'scale(1.2)'\n }\n },\n 'active': {\n Swatch: {\n boxShadow: 'inset 0 0 0 3px ' + color\n }\n }\n }, { hover: hover, active: active });\n\n return React.createElement(\n 'div',\n { style: styles.swatch },\n React.createElement(Swatch, {\n style: styles.Swatch,\n color: color,\n onClick: onClick,\n onHover: onSwatchHover,\n focusStyle: { boxShadow: styles.Swatch.boxShadow + ', 0 0 5px ' + color }\n })\n );\n};\n\nCircleSwatch.defaultProps = {\n circleSize: 28,\n circleSpacing: 14\n};\n\nexport default handleHover(CircleSwatch);", "import React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport merge from 'lodash-es/merge';\n\nimport { ColorWrap, Saturation, Hue, Alpha, Checkboard } from '../common';\nimport ChromeFields from './ChromeFields';\nimport ChromePointer from './ChromePointer';\nimport ChromePointerCircle from './ChromePointerCircle';\n\nexport var Chrome = function Chrome(_ref) {\n var width = _ref.width,\n onChange = _ref.onChange,\n disableAlpha = _ref.disableAlpha,\n rgb = _ref.rgb,\n hsl = _ref.hsl,\n hsv = _ref.hsv,\n hex = _ref.hex,\n renderers = _ref.renderers,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className,\n defaultView = _ref.defaultView;\n\n var styles = reactCSS(merge({\n 'default': {\n picker: {\n width: width,\n background: '#fff',\n borderRadius: '2px',\n boxShadow: '0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3)',\n boxSizing: 'initial',\n fontFamily: 'Menlo'\n },\n saturation: {\n width: '100%',\n paddingBottom: '55%',\n position: 'relative',\n borderRadius: '2px 2px 0 0',\n overflow: 'hidden'\n },\n Saturation: {\n radius: '2px 2px 0 0'\n },\n body: {\n padding: '16px 16px 12px'\n },\n controls: {\n display: 'flex'\n },\n color: {\n width: '32px'\n },\n swatch: {\n marginTop: '6px',\n width: '16px',\n height: '16px',\n borderRadius: '8px',\n position: 'relative',\n overflow: 'hidden'\n },\n active: {\n absolute: '0px 0px 0px 0px',\n borderRadius: '8px',\n boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.1)',\n background: 'rgba(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ', ' + rgb.a + ')',\n zIndex: '2'\n },\n toggles: {\n flex: '1'\n },\n hue: {\n height: '10px',\n position: 'relative',\n marginBottom: '8px'\n },\n Hue: {\n radius: '2px'\n },\n alpha: {\n height: '10px',\n position: 'relative'\n },\n Alpha: {\n radius: '2px'\n }\n },\n 'disableAlpha': {\n color: {\n width: '22px'\n },\n alpha: {\n display: 'none'\n },\n hue: {\n marginBottom: '0px'\n },\n swatch: {\n width: '10px',\n height: '10px',\n marginTop: '0px'\n }\n }\n }, passedStyles), { disableAlpha: disableAlpha });\n\n return React.createElement(\n 'div',\n { style: styles.picker, className: 'chrome-picker ' + className },\n React.createElement(\n 'div',\n { style: styles.saturation },\n React.createElement(Saturation, {\n style: styles.Saturation,\n hsl: hsl,\n hsv: hsv,\n pointer: ChromePointerCircle,\n onChange: onChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.body },\n React.createElement(\n 'div',\n { style: styles.controls, className: 'flexbox-fix' },\n React.createElement(\n 'div',\n { style: styles.color },\n React.createElement(\n 'div',\n { style: styles.swatch },\n React.createElement('div', { style: styles.active }),\n React.createElement(Checkboard, { renderers: renderers })\n )\n ),\n React.createElement(\n 'div',\n { style: styles.toggles },\n React.createElement(\n 'div',\n { style: styles.hue },\n React.createElement(Hue, {\n style: styles.Hue,\n hsl: hsl,\n pointer: ChromePointer,\n onChange: onChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.alpha },\n React.createElement(Alpha, {\n style: styles.Alpha,\n rgb: rgb,\n hsl: hsl,\n pointer: ChromePointer,\n renderers: renderers,\n onChange: onChange\n })\n )\n )\n ),\n React.createElement(ChromeFields, {\n rgb: rgb,\n hsl: hsl,\n hex: hex,\n view: defaultView,\n onChange: onChange,\n disableAlpha: disableAlpha\n })\n )\n );\n};\n\nChrome.propTypes = {\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disableAlpha: PropTypes.bool,\n styles: PropTypes.object,\n defaultView: PropTypes.oneOf([\"hex\", \"rgb\", \"hsl\"])\n};\n\nChrome.defaultProps = {\n width: 225,\n disableAlpha: false,\n styles: {}\n};\n\nexport default ColorWrap(Chrome);", "var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/* eslint-disable react/no-did-mount-set-state, no-param-reassign */\n\nimport React from 'react';\nimport reactCSS from 'reactcss';\nimport * as color from '../../helpers/color';\nimport isUndefined from 'lodash-es/isUndefined';\n\nimport { EditableInput } from '../common';\nimport UnfoldMoreHorizontalIcon from '@icons/material/UnfoldMoreHorizontalIcon';\n\nexport var ChromeFields = function (_React$Component) {\n _inherits(ChromeFields, _React$Component);\n\n function ChromeFields(props) {\n _classCallCheck(this, ChromeFields);\n\n var _this = _possibleConstructorReturn(this, (ChromeFields.__proto__ || Object.getPrototypeOf(ChromeFields)).call(this));\n\n _this.toggleViews = function () {\n if (_this.state.view === 'hex') {\n _this.setState({ view: 'rgb' });\n } else if (_this.state.view === 'rgb') {\n _this.setState({ view: 'hsl' });\n } else if (_this.state.view === 'hsl') {\n if (_this.props.hsl.a === 1) {\n _this.setState({ view: 'hex' });\n } else {\n _this.setState({ view: 'rgb' });\n }\n }\n };\n\n _this.handleChange = function (data, e) {\n if (data.hex) {\n color.isValidHex(data.hex) && _this.props.onChange({\n hex: data.hex,\n source: 'hex'\n }, e);\n } else if (data.r || data.g || data.b) {\n _this.props.onChange({\n r: data.r || _this.props.rgb.r,\n g: data.g || _this.props.rgb.g,\n b: data.b || _this.props.rgb.b,\n source: 'rgb'\n }, e);\n } else if (data.a) {\n if (data.a < 0) {\n data.a = 0;\n } else if (data.a > 1) {\n data.a = 1;\n }\n\n _this.props.onChange({\n h: _this.props.hsl.h,\n s: _this.props.hsl.s,\n l: _this.props.hsl.l,\n a: Math.round(data.a * 100) / 100,\n source: 'rgb'\n }, e);\n } else if (data.h || data.s || data.l) {\n // Remove any occurances of '%'.\n if (typeof data.s === 'string' && data.s.includes('%')) {\n data.s = data.s.replace('%', '');\n }\n if (typeof data.l === 'string' && data.l.includes('%')) {\n data.l = data.l.replace('%', '');\n }\n\n // We store HSL as a unit interval so we need to override the 1 input to 0.01\n if (data.s == 1) {\n data.s = 0.01;\n } else if (data.l == 1) {\n data.l = 0.01;\n }\n\n _this.props.onChange({\n h: data.h || _this.props.hsl.h,\n s: Number(!isUndefined(data.s) ? data.s : _this.props.hsl.s),\n l: Number(!isUndefined(data.l) ? data.l : _this.props.hsl.l),\n source: 'hsl'\n }, e);\n }\n };\n\n _this.showHighlight = function (e) {\n e.currentTarget.style.background = '#eee';\n };\n\n _this.hideHighlight = function (e) {\n e.currentTarget.style.background = 'transparent';\n };\n\n if (props.hsl.a !== 1 && props.view === \"hex\") {\n _this.state = {\n view: \"rgb\"\n };\n } else {\n _this.state = {\n view: props.view\n };\n }\n return _this;\n }\n\n _createClass(ChromeFields, [{\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var styles = reactCSS({\n 'default': {\n wrap: {\n paddingTop: '16px',\n display: 'flex'\n },\n fields: {\n flex: '1',\n display: 'flex',\n marginLeft: '-6px'\n },\n field: {\n paddingLeft: '6px',\n width: '100%'\n },\n alpha: {\n paddingLeft: '6px',\n width: '100%'\n },\n toggle: {\n width: '32px',\n textAlign: 'right',\n position: 'relative'\n },\n icon: {\n marginRight: '-4px',\n marginTop: '12px',\n cursor: 'pointer',\n position: 'relative'\n },\n iconHighlight: {\n position: 'absolute',\n width: '24px',\n height: '28px',\n background: '#eee',\n borderRadius: '4px',\n top: '10px',\n left: '12px',\n display: 'none'\n },\n input: {\n fontSize: '11px',\n color: '#333',\n width: '100%',\n borderRadius: '2px',\n border: 'none',\n boxShadow: 'inset 0 0 0 1px #dadada',\n height: '21px',\n textAlign: 'center'\n },\n label: {\n textTransform: 'uppercase',\n fontSize: '11px',\n lineHeight: '11px',\n color: '#969696',\n textAlign: 'center',\n display: 'block',\n marginTop: '12px'\n },\n svg: {\n fill: '#333',\n width: '24px',\n height: '24px',\n border: '1px transparent solid',\n borderRadius: '5px'\n }\n },\n 'disableAlpha': {\n alpha: {\n display: 'none'\n }\n }\n }, this.props, this.state);\n\n var fields = void 0;\n if (this.state.view === 'hex') {\n fields = React.createElement(\n 'div',\n { style: styles.fields, className: 'flexbox-fix' },\n React.createElement(\n 'div',\n { style: styles.field },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'hex', value: this.props.hex,\n onChange: this.handleChange\n })\n )\n );\n } else if (this.state.view === 'rgb') {\n fields = React.createElement(\n 'div',\n { style: styles.fields, className: 'flexbox-fix' },\n React.createElement(\n 'div',\n { style: styles.field },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'r',\n value: this.props.rgb.r,\n onChange: this.handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.field },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'g',\n value: this.props.rgb.g,\n onChange: this.handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.field },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'b',\n value: this.props.rgb.b,\n onChange: this.handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.alpha },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'a',\n value: this.props.rgb.a,\n arrowOffset: 0.01,\n onChange: this.handleChange\n })\n )\n );\n } else if (this.state.view === 'hsl') {\n fields = React.createElement(\n 'div',\n { style: styles.fields, className: 'flexbox-fix' },\n React.createElement(\n 'div',\n { style: styles.field },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'h',\n value: Math.round(this.props.hsl.h),\n onChange: this.handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.field },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 's',\n value: Math.round(this.props.hsl.s * 100) + '%',\n onChange: this.handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.field },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'l',\n value: Math.round(this.props.hsl.l * 100) + '%',\n onChange: this.handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.alpha },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'a',\n value: this.props.hsl.a,\n arrowOffset: 0.01,\n onChange: this.handleChange\n })\n )\n );\n }\n\n return React.createElement(\n 'div',\n { style: styles.wrap, className: 'flexbox-fix' },\n fields,\n React.createElement(\n 'div',\n { style: styles.toggle },\n React.createElement(\n 'div',\n { style: styles.icon, onClick: this.toggleViews, ref: function ref(icon) {\n return _this2.icon = icon;\n } },\n React.createElement(UnfoldMoreHorizontalIcon, {\n style: styles.svg,\n onMouseOver: this.showHighlight,\n onMouseEnter: this.showHighlight,\n onMouseOut: this.hideHighlight\n })\n )\n )\n );\n }\n }], [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(nextProps, state) {\n if (nextProps.hsl.a !== 1 && state.view === 'hex') {\n return { view: 'rgb' };\n }\n return null;\n }\n }]);\n\n return ChromeFields;\n}(React.Component);\n\nChromeFields.defaultProps = {\n view: \"hex\"\n};\n\nexport default ChromeFields;", "/**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\nfunction isUndefined(value) {\n return value === undefined;\n}\n\nexport default isUndefined;\n", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nexport var ChromePointer = function ChromePointer() {\n var styles = reactCSS({\n 'default': {\n picker: {\n width: '12px',\n height: '12px',\n borderRadius: '6px',\n transform: 'translate(-6px, -1px)',\n backgroundColor: 'rgb(248, 248, 248)',\n boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'\n }\n }\n });\n\n return React.createElement('div', { style: styles.picker });\n};\n\nexport default ChromePointer;", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nexport var ChromePointerCircle = function ChromePointerCircle() {\n var styles = reactCSS({\n 'default': {\n picker: {\n width: '12px',\n height: '12px',\n borderRadius: '6px',\n boxShadow: 'inset 0 0 0 1px #fff',\n transform: 'translate(-6px, -6px)'\n }\n }\n });\n\n return React.createElement('div', { style: styles.picker });\n};\n\nexport default ChromePointerCircle;", "import React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport map from 'lodash-es/map';\nimport merge from 'lodash-es/merge';\nimport * as color from '../../helpers/color';\n\nimport { ColorWrap, Raised } from '../common';\nimport CompactColor from './CompactColor';\nimport CompactFields from './CompactFields';\n\nexport var Compact = function Compact(_ref) {\n var onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n colors = _ref.colors,\n hex = _ref.hex,\n rgb = _ref.rgb,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = reactCSS(merge({\n 'default': {\n Compact: {\n background: '#f6f6f6',\n radius: '4px'\n },\n compact: {\n paddingTop: '5px',\n paddingLeft: '5px',\n boxSizing: 'initial',\n width: '240px'\n },\n clear: {\n clear: 'both'\n }\n }\n }, passedStyles));\n\n var handleChange = function handleChange(data, e) {\n if (data.hex) {\n color.isValidHex(data.hex) && onChange({\n hex: data.hex,\n source: 'hex'\n }, e);\n } else {\n onChange(data, e);\n }\n };\n\n return React.createElement(\n Raised,\n { style: styles.Compact, styles: passedStyles },\n React.createElement(\n 'div',\n { style: styles.compact, className: 'compact-picker ' + className },\n React.createElement(\n 'div',\n null,\n map(colors, function (c) {\n return React.createElement(CompactColor, {\n key: c,\n color: c,\n active: c.toLowerCase() === hex,\n onClick: handleChange,\n onSwatchHover: onSwatchHover\n });\n }),\n React.createElement('div', { style: styles.clear })\n ),\n React.createElement(CompactFields, { hex: hex, rgb: rgb, onChange: handleChange })\n )\n );\n};\n\nCompact.propTypes = {\n colors: PropTypes.arrayOf(PropTypes.string),\n styles: PropTypes.object\n};\n\nCompact.defaultProps = {\n colors: ['#4D4D4D', '#999999', '#FFFFFF', '#F44E3B', '#FE9200', '#FCDC00', '#DBDF00', '#A4DD00', '#68CCCA', '#73D8FF', '#AEA1FF', '#FDA1FF', '#333333', '#808080', '#cccccc', '#D33115', '#E27300', '#FCC400', '#B0BC00', '#68BC00', '#16A5A5', '#009CE0', '#7B64FF', '#FA28FF', '#000000', '#666666', '#B3B3B3', '#9F0500', '#C45100', '#FB9E00', '#808900', '#194D33', '#0C797D', '#0062B1', '#653294', '#AB149E'],\n styles: {}\n};\n\nexport default ColorWrap(Compact);", "import React from 'react';\nimport reactCSS from 'reactcss';\nimport * as colorUtils from '../../helpers/color';\n\nimport { Swatch } from '../common';\n\nexport var CompactColor = function CompactColor(_ref) {\n var color = _ref.color,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n onSwatchHover = _ref.onSwatchHover,\n active = _ref.active;\n\n var styles = reactCSS({\n 'default': {\n color: {\n background: color,\n width: '15px',\n height: '15px',\n float: 'left',\n marginRight: '5px',\n marginBottom: '5px',\n position: 'relative',\n cursor: 'pointer'\n },\n dot: {\n absolute: '5px 5px 5px 5px',\n background: colorUtils.getContrastingColor(color),\n borderRadius: '50%',\n opacity: '0'\n }\n },\n 'active': {\n dot: {\n opacity: '1'\n }\n },\n 'color-#FFFFFF': {\n color: {\n boxShadow: 'inset 0 0 0 1px #ddd'\n },\n dot: {\n background: '#000'\n }\n },\n 'transparent': {\n dot: {\n background: '#000'\n }\n }\n }, { active: active, 'color-#FFFFFF': color === '#FFFFFF', 'transparent': color === 'transparent' });\n\n return React.createElement(\n Swatch,\n {\n style: styles.color,\n color: color,\n onClick: onClick,\n onHover: onSwatchHover,\n focusStyle: { boxShadow: '0 0 4px ' + color }\n },\n React.createElement('div', { style: styles.dot })\n );\n};\n\nexport default CompactColor;", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nimport { EditableInput } from '../common';\n\nexport var CompactFields = function CompactFields(_ref) {\n var hex = _ref.hex,\n rgb = _ref.rgb,\n onChange = _ref.onChange;\n\n var styles = reactCSS({\n 'default': {\n fields: {\n display: 'flex',\n paddingBottom: '6px',\n paddingRight: '5px',\n position: 'relative'\n },\n active: {\n position: 'absolute',\n top: '6px',\n left: '5px',\n height: '9px',\n width: '9px',\n background: hex\n },\n HEXwrap: {\n flex: '6',\n position: 'relative'\n },\n HEXinput: {\n width: '80%',\n padding: '0px',\n paddingLeft: '20%',\n border: 'none',\n outline: 'none',\n background: 'none',\n fontSize: '12px',\n color: '#333',\n height: '16px'\n },\n HEXlabel: {\n display: 'none'\n },\n RGBwrap: {\n flex: '3',\n position: 'relative'\n },\n RGBinput: {\n width: '70%',\n padding: '0px',\n paddingLeft: '30%',\n border: 'none',\n outline: 'none',\n background: 'none',\n fontSize: '12px',\n color: '#333',\n height: '16px'\n },\n RGBlabel: {\n position: 'absolute',\n top: '3px',\n left: '0px',\n lineHeight: '16px',\n textTransform: 'uppercase',\n fontSize: '12px',\n color: '#999'\n }\n }\n });\n\n var handleChange = function handleChange(data, e) {\n if (data.r || data.g || data.b) {\n onChange({\n r: data.r || rgb.r,\n g: data.g || rgb.g,\n b: data.b || rgb.b,\n source: 'rgb'\n }, e);\n } else {\n onChange({\n hex: data.hex,\n source: 'hex'\n }, e);\n }\n };\n\n return React.createElement(\n 'div',\n { style: styles.fields, className: 'flexbox-fix' },\n React.createElement('div', { style: styles.active }),\n React.createElement(EditableInput, {\n style: { wrap: styles.HEXwrap, input: styles.HEXinput, label: styles.HEXlabel },\n label: 'hex',\n value: hex,\n onChange: handleChange\n }),\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'r',\n value: rgb.r,\n onChange: handleChange\n }),\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'g',\n value: rgb.g,\n onChange: handleChange\n }),\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'b',\n value: rgb.b,\n onChange: handleChange\n })\n );\n};\n\nexport default CompactFields;", "import React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport map from 'lodash-es/map';\nimport merge from 'lodash-es/merge';\n\nimport { ColorWrap } from '../common';\nimport GithubSwatch from './GithubSwatch';\n\nexport var Github = function Github(_ref) {\n var width = _ref.width,\n colors = _ref.colors,\n onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n triangle = _ref.triangle,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = reactCSS(merge({\n 'default': {\n card: {\n width: width,\n background: '#fff',\n border: '1px solid rgba(0,0,0,0.2)',\n boxShadow: '0 3px 12px rgba(0,0,0,0.15)',\n borderRadius: '4px',\n position: 'relative',\n padding: '5px',\n display: 'flex',\n flexWrap: 'wrap'\n },\n triangle: {\n position: 'absolute',\n border: '7px solid transparent',\n borderBottomColor: '#fff'\n },\n triangleShadow: {\n position: 'absolute',\n border: '8px solid transparent',\n borderBottomColor: 'rgba(0,0,0,0.15)'\n }\n },\n 'hide-triangle': {\n triangle: {\n display: 'none'\n },\n triangleShadow: {\n display: 'none'\n }\n },\n 'top-left-triangle': {\n triangle: {\n top: '-14px',\n left: '10px'\n },\n triangleShadow: {\n top: '-16px',\n left: '9px'\n }\n },\n 'top-right-triangle': {\n triangle: {\n top: '-14px',\n right: '10px'\n },\n triangleShadow: {\n top: '-16px',\n right: '9px'\n }\n },\n 'bottom-left-triangle': {\n triangle: {\n top: '35px',\n left: '10px',\n transform: 'rotate(180deg)'\n },\n triangleShadow: {\n top: '37px',\n left: '9px',\n transform: 'rotate(180deg)'\n }\n },\n 'bottom-right-triangle': {\n triangle: {\n top: '35px',\n right: '10px',\n transform: 'rotate(180deg)'\n },\n triangleShadow: {\n top: '37px',\n right: '9px',\n transform: 'rotate(180deg)'\n }\n }\n }, passedStyles), {\n 'hide-triangle': triangle === 'hide',\n 'top-left-triangle': triangle === 'top-left',\n 'top-right-triangle': triangle === 'top-right',\n 'bottom-left-triangle': triangle === 'bottom-left',\n 'bottom-right-triangle': triangle === 'bottom-right'\n });\n\n var handleChange = function handleChange(hex, e) {\n return onChange({ hex: hex, source: 'hex' }, e);\n };\n\n return React.createElement(\n 'div',\n { style: styles.card, className: 'github-picker ' + className },\n React.createElement('div', { style: styles.triangleShadow }),\n React.createElement('div', { style: styles.triangle }),\n map(colors, function (c) {\n return React.createElement(GithubSwatch, {\n color: c,\n key: c,\n onClick: handleChange,\n onSwatchHover: onSwatchHover\n });\n })\n );\n};\n\nGithub.propTypes = {\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n colors: PropTypes.arrayOf(PropTypes.string),\n triangle: PropTypes.oneOf(['hide', 'top-left', 'top-right', 'bottom-left', 'bottom-right']),\n styles: PropTypes.object\n};\n\nGithub.defaultProps = {\n width: 200,\n colors: ['#B80000', '#DB3E00', '#FCCB00', '#008B02', '#006B76', '#1273DE', '#004DCF', '#5300EB', '#EB9694', '#FAD0C3', '#FEF3BD', '#C1E1C5', '#BEDADC', '#C4DEF6', '#BED3F3', '#D4C4FB'],\n triangle: 'top-left',\n styles: {}\n};\n\nexport default ColorWrap(Github);", "import React from 'react';\nimport reactCSS, { handleHover } from 'reactcss';\n\nimport { Swatch } from '../common';\n\nexport var GithubSwatch = function GithubSwatch(_ref) {\n var hover = _ref.hover,\n color = _ref.color,\n onClick = _ref.onClick,\n onSwatchHover = _ref.onSwatchHover;\n\n var hoverSwatch = {\n position: 'relative',\n zIndex: '2',\n outline: '2px solid #fff',\n boxShadow: '0 0 5px 2px rgba(0,0,0,0.25)'\n };\n\n var styles = reactCSS({\n 'default': {\n swatch: {\n width: '25px',\n height: '25px',\n fontSize: '0'\n }\n },\n 'hover': {\n swatch: hoverSwatch\n }\n }, { hover: hover });\n\n return React.createElement(\n 'div',\n { style: styles.swatch },\n React.createElement(Swatch, {\n color: color,\n onClick: onClick,\n onHover: onSwatchHover,\n focusStyle: hoverSwatch\n })\n );\n};\n\nexport default handleHover(GithubSwatch);", "var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport merge from 'lodash-es/merge';\n\nimport { ColorWrap, Hue } from '../common';\nimport HuePointer from './HuePointer';\n\nexport var HuePicker = function HuePicker(_ref) {\n var width = _ref.width,\n height = _ref.height,\n onChange = _ref.onChange,\n hsl = _ref.hsl,\n direction = _ref.direction,\n pointer = _ref.pointer,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = reactCSS(merge({\n 'default': {\n picker: {\n position: 'relative',\n width: width,\n height: height\n },\n hue: {\n radius: '2px'\n }\n }\n }, passedStyles));\n\n // Overwrite to provide pure hue color\n var handleChange = function handleChange(data) {\n return onChange({ a: 1, h: data.h, l: 0.5, s: 1 });\n };\n\n return React.createElement(\n 'div',\n { style: styles.picker, className: 'hue-picker ' + className },\n React.createElement(Hue, _extends({}, styles.hue, {\n hsl: hsl,\n pointer: pointer,\n onChange: handleChange,\n direction: direction\n }))\n );\n};\n\nHuePicker.propTypes = {\n styles: PropTypes.object\n};\nHuePicker.defaultProps = {\n width: '316px',\n height: '16px',\n direction: 'horizontal',\n pointer: HuePointer,\n styles: {}\n};\n\nexport default ColorWrap(HuePicker);", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nexport var SliderPointer = function SliderPointer(_ref) {\n var direction = _ref.direction;\n\n var styles = reactCSS({\n 'default': {\n picker: {\n width: '18px',\n height: '18px',\n borderRadius: '50%',\n transform: 'translate(-9px, -1px)',\n backgroundColor: 'rgb(248, 248, 248)',\n boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'\n }\n },\n 'vertical': {\n picker: {\n transform: 'translate(-3px, -9px)'\n }\n }\n }, { vertical: direction === 'vertical' });\n\n return React.createElement('div', { style: styles.picker });\n};\n\nexport default SliderPointer;", "import React from 'react';\nimport reactCSS from 'reactcss';\nimport merge from 'lodash-es/merge';\nimport * as color from '../../helpers/color';\n\nimport { ColorWrap, EditableInput, Raised } from '../common';\n\nexport var Material = function Material(_ref) {\n var onChange = _ref.onChange,\n hex = _ref.hex,\n rgb = _ref.rgb,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = reactCSS(merge({\n 'default': {\n material: {\n width: '98px',\n height: '98px',\n padding: '16px',\n fontFamily: 'Roboto'\n },\n HEXwrap: {\n position: 'relative'\n },\n HEXinput: {\n width: '100%',\n marginTop: '12px',\n fontSize: '15px',\n color: '#333',\n padding: '0px',\n border: '0px',\n borderBottom: '2px solid ' + hex,\n outline: 'none',\n height: '30px'\n },\n HEXlabel: {\n position: 'absolute',\n top: '0px',\n left: '0px',\n fontSize: '11px',\n color: '#999999',\n textTransform: 'capitalize'\n },\n Hex: {\n style: {}\n },\n RGBwrap: {\n position: 'relative'\n },\n RGBinput: {\n width: '100%',\n marginTop: '12px',\n fontSize: '15px',\n color: '#333',\n padding: '0px',\n border: '0px',\n borderBottom: '1px solid #eee',\n outline: 'none',\n height: '30px'\n },\n RGBlabel: {\n position: 'absolute',\n top: '0px',\n left: '0px',\n fontSize: '11px',\n color: '#999999',\n textTransform: 'capitalize'\n },\n split: {\n display: 'flex',\n marginRight: '-10px',\n paddingTop: '11px'\n },\n third: {\n flex: '1',\n paddingRight: '10px'\n }\n }\n }, passedStyles));\n\n var handleChange = function handleChange(data, e) {\n if (data.hex) {\n color.isValidHex(data.hex) && onChange({\n hex: data.hex,\n source: 'hex'\n }, e);\n } else if (data.r || data.g || data.b) {\n onChange({\n r: data.r || rgb.r,\n g: data.g || rgb.g,\n b: data.b || rgb.b,\n source: 'rgb'\n }, e);\n }\n };\n\n return React.createElement(\n Raised,\n { styles: passedStyles },\n React.createElement(\n 'div',\n { style: styles.material, className: 'material-picker ' + className },\n React.createElement(EditableInput, {\n style: { wrap: styles.HEXwrap, input: styles.HEXinput, label: styles.HEXlabel },\n label: 'hex',\n value: hex,\n onChange: handleChange\n }),\n React.createElement(\n 'div',\n { style: styles.split, className: 'flexbox-fix' },\n React.createElement(\n 'div',\n { style: styles.third },\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'r', value: rgb.r,\n onChange: handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.third },\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'g',\n value: rgb.g,\n onChange: handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.third },\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'b',\n value: rgb.b,\n onChange: handleChange\n })\n )\n )\n )\n );\n};\n\nexport default ColorWrap(Material);", "var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport merge from 'lodash-es/merge';\n\nimport { ColorWrap, Saturation, Hue } from '../common';\nimport PhotoshopFields from './PhotoshopFields';\nimport PhotoshopPointerCircle from './PhotoshopPointerCircle';\nimport PhotoshopPointer from './PhotoshopPointer';\nimport PhotoshopButton from './PhotoshopButton';\nimport PhotoshopPreviews from './PhotoshopPreviews';\n\nexport var Photoshop = function (_React$Component) {\n _inherits(Photoshop, _React$Component);\n\n function Photoshop(props) {\n _classCallCheck(this, Photoshop);\n\n var _this = _possibleConstructorReturn(this, (Photoshop.__proto__ || Object.getPrototypeOf(Photoshop)).call(this));\n\n _this.state = {\n currentColor: props.hex\n };\n return _this;\n }\n\n _createClass(Photoshop, [{\n key: 'render',\n value: function render() {\n var _props = this.props,\n _props$styles = _props.styles,\n passedStyles = _props$styles === undefined ? {} : _props$styles,\n _props$className = _props.className,\n className = _props$className === undefined ? '' : _props$className;\n\n var styles = reactCSS(merge({\n 'default': {\n picker: {\n background: '#DCDCDC',\n borderRadius: '4px',\n boxShadow: '0 0 0 1px rgba(0,0,0,.25), 0 8px 16px rgba(0,0,0,.15)',\n boxSizing: 'initial',\n width: '513px'\n },\n head: {\n backgroundImage: 'linear-gradient(-180deg, #F0F0F0 0%, #D4D4D4 100%)',\n borderBottom: '1px solid #B1B1B1',\n boxShadow: 'inset 0 1px 0 0 rgba(255,255,255,.2), inset 0 -1px 0 0 rgba(0,0,0,.02)',\n height: '23px',\n lineHeight: '24px',\n borderRadius: '4px 4px 0 0',\n fontSize: '13px',\n color: '#4D4D4D',\n textAlign: 'center'\n },\n body: {\n padding: '15px 15px 0',\n display: 'flex'\n },\n saturation: {\n width: '256px',\n height: '256px',\n position: 'relative',\n border: '2px solid #B3B3B3',\n borderBottom: '2px solid #F0F0F0',\n overflow: 'hidden'\n },\n hue: {\n position: 'relative',\n height: '256px',\n width: '19px',\n marginLeft: '10px',\n border: '2px solid #B3B3B3',\n borderBottom: '2px solid #F0F0F0'\n },\n controls: {\n width: '180px',\n marginLeft: '10px'\n },\n top: {\n display: 'flex'\n },\n previews: {\n width: '60px'\n },\n actions: {\n flex: '1',\n marginLeft: '20px'\n }\n }\n }, passedStyles));\n\n return React.createElement(\n 'div',\n { style: styles.picker, className: 'photoshop-picker ' + className },\n React.createElement(\n 'div',\n { style: styles.head },\n this.props.header\n ),\n React.createElement(\n 'div',\n { style: styles.body, className: 'flexbox-fix' },\n React.createElement(\n 'div',\n { style: styles.saturation },\n React.createElement(Saturation, {\n hsl: this.props.hsl,\n hsv: this.props.hsv,\n pointer: PhotoshopPointerCircle,\n onChange: this.props.onChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.hue },\n React.createElement(Hue, {\n direction: 'vertical',\n hsl: this.props.hsl,\n pointer: PhotoshopPointer,\n onChange: this.props.onChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.controls },\n React.createElement(\n 'div',\n { style: styles.top, className: 'flexbox-fix' },\n React.createElement(\n 'div',\n { style: styles.previews },\n React.createElement(PhotoshopPreviews, {\n rgb: this.props.rgb,\n currentColor: this.state.currentColor\n })\n ),\n React.createElement(\n 'div',\n { style: styles.actions },\n React.createElement(PhotoshopButton, { label: 'OK', onClick: this.props.onAccept, active: true }),\n React.createElement(PhotoshopButton, { label: 'Cancel', onClick: this.props.onCancel }),\n React.createElement(PhotoshopFields, {\n onChange: this.props.onChange,\n rgb: this.props.rgb,\n hsv: this.props.hsv,\n hex: this.props.hex\n })\n )\n )\n )\n )\n );\n }\n }]);\n\n return Photoshop;\n}(React.Component);\n\nPhotoshop.propTypes = {\n header: PropTypes.string,\n styles: PropTypes.object\n};\n\nPhotoshop.defaultProps = {\n header: 'Color Picker',\n styles: {}\n};\n\nexport default ColorWrap(Photoshop);", "import React from 'react';\nimport reactCSS from 'reactcss';\nimport * as color from '../../helpers/color';\n\nimport { EditableInput } from '../common';\n\nexport var PhotoshopPicker = function PhotoshopPicker(_ref) {\n var onChange = _ref.onChange,\n rgb = _ref.rgb,\n hsv = _ref.hsv,\n hex = _ref.hex;\n\n var styles = reactCSS({\n 'default': {\n fields: {\n paddingTop: '5px',\n paddingBottom: '9px',\n width: '80px',\n position: 'relative'\n },\n divider: {\n height: '5px'\n },\n RGBwrap: {\n position: 'relative'\n },\n RGBinput: {\n marginLeft: '40%',\n width: '40%',\n height: '18px',\n border: '1px solid #888888',\n boxShadow: 'inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC',\n marginBottom: '5px',\n fontSize: '13px',\n paddingLeft: '3px',\n marginRight: '10px'\n },\n RGBlabel: {\n left: '0px',\n top: '0px',\n width: '34px',\n textTransform: 'uppercase',\n fontSize: '13px',\n height: '18px',\n lineHeight: '22px',\n position: 'absolute'\n },\n HEXwrap: {\n position: 'relative'\n },\n HEXinput: {\n marginLeft: '20%',\n width: '80%',\n height: '18px',\n border: '1px solid #888888',\n boxShadow: 'inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC',\n marginBottom: '6px',\n fontSize: '13px',\n paddingLeft: '3px'\n },\n HEXlabel: {\n position: 'absolute',\n top: '0px',\n left: '0px',\n width: '14px',\n textTransform: 'uppercase',\n fontSize: '13px',\n height: '18px',\n lineHeight: '22px'\n },\n fieldSymbols: {\n position: 'absolute',\n top: '5px',\n right: '-7px',\n fontSize: '13px'\n },\n symbol: {\n height: '20px',\n lineHeight: '22px',\n paddingBottom: '7px'\n }\n }\n });\n\n var handleChange = function handleChange(data, e) {\n if (data['#']) {\n color.isValidHex(data['#']) && onChange({\n hex: data['#'],\n source: 'hex'\n }, e);\n } else if (data.r || data.g || data.b) {\n onChange({\n r: data.r || rgb.r,\n g: data.g || rgb.g,\n b: data.b || rgb.b,\n source: 'rgb'\n }, e);\n } else if (data.h || data.s || data.v) {\n onChange({\n h: data.h || hsv.h,\n s: data.s || hsv.s,\n v: data.v || hsv.v,\n source: 'hsv'\n }, e);\n }\n };\n\n return React.createElement(\n 'div',\n { style: styles.fields },\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'h',\n value: Math.round(hsv.h),\n onChange: handleChange\n }),\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 's',\n value: Math.round(hsv.s * 100),\n onChange: handleChange\n }),\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'v',\n value: Math.round(hsv.v * 100),\n onChange: handleChange\n }),\n React.createElement('div', { style: styles.divider }),\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'r',\n value: rgb.r,\n onChange: handleChange\n }),\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'g',\n value: rgb.g,\n onChange: handleChange\n }),\n React.createElement(EditableInput, {\n style: { wrap: styles.RGBwrap, input: styles.RGBinput, label: styles.RGBlabel },\n label: 'b',\n value: rgb.b,\n onChange: handleChange\n }),\n React.createElement('div', { style: styles.divider }),\n React.createElement(EditableInput, {\n style: { wrap: styles.HEXwrap, input: styles.HEXinput, label: styles.HEXlabel },\n label: '#',\n value: hex.replace('#', ''),\n onChange: handleChange\n }),\n React.createElement(\n 'div',\n { style: styles.fieldSymbols },\n React.createElement(\n 'div',\n { style: styles.symbol },\n '\\xB0'\n ),\n React.createElement(\n 'div',\n { style: styles.symbol },\n '%'\n ),\n React.createElement(\n 'div',\n { style: styles.symbol },\n '%'\n )\n )\n );\n};\n\nexport default PhotoshopPicker;", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nexport var PhotoshopPointerCircle = function PhotoshopPointerCircle(_ref) {\n var hsl = _ref.hsl;\n\n var styles = reactCSS({\n 'default': {\n picker: {\n width: '12px',\n height: '12px',\n borderRadius: '6px',\n boxShadow: 'inset 0 0 0 1px #fff',\n transform: 'translate(-6px, -6px)'\n }\n },\n 'black-outline': {\n picker: {\n boxShadow: 'inset 0 0 0 1px #000'\n }\n }\n }, { 'black-outline': hsl.l > 0.5 });\n\n return React.createElement('div', { style: styles.picker });\n};\n\nexport default PhotoshopPointerCircle;", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nexport var PhotoshopPointerCircle = function PhotoshopPointerCircle() {\n var styles = reactCSS({\n 'default': {\n triangle: {\n width: 0,\n height: 0,\n borderStyle: 'solid',\n borderWidth: '4px 0 4px 6px',\n borderColor: 'transparent transparent transparent #fff',\n position: 'absolute',\n top: '1px',\n left: '1px'\n },\n triangleBorder: {\n width: 0,\n height: 0,\n borderStyle: 'solid',\n borderWidth: '5px 0 5px 8px',\n borderColor: 'transparent transparent transparent #555'\n },\n\n left: {\n Extend: 'triangleBorder',\n transform: 'translate(-13px, -4px)'\n },\n leftInside: {\n Extend: 'triangle',\n transform: 'translate(-8px, -5px)'\n },\n\n right: {\n Extend: 'triangleBorder',\n transform: 'translate(20px, -14px) rotate(180deg)'\n },\n rightInside: {\n Extend: 'triangle',\n transform: 'translate(-8px, -5px)'\n }\n }\n });\n\n return React.createElement(\n 'div',\n { style: styles.pointer },\n React.createElement(\n 'div',\n { style: styles.left },\n React.createElement('div', { style: styles.leftInside })\n ),\n React.createElement(\n 'div',\n { style: styles.right },\n React.createElement('div', { style: styles.rightInside })\n )\n );\n};\n\nexport default PhotoshopPointerCircle;", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nexport var PhotoshopButton = function PhotoshopButton(_ref) {\n var onClick = _ref.onClick,\n label = _ref.label,\n children = _ref.children,\n active = _ref.active;\n\n var styles = reactCSS({\n 'default': {\n button: {\n backgroundImage: 'linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%)',\n border: '1px solid #878787',\n borderRadius: '2px',\n height: '20px',\n boxShadow: '0 1px 0 0 #EAEAEA',\n fontSize: '14px',\n color: '#000',\n lineHeight: '20px',\n textAlign: 'center',\n marginBottom: '10px',\n cursor: 'pointer'\n }\n },\n 'active': {\n button: {\n boxShadow: '0 0 0 1px #878787'\n }\n }\n }, { active: active });\n\n return React.createElement(\n 'div',\n { style: styles.button, onClick: onClick },\n label || children\n );\n};\n\nexport default PhotoshopButton;", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nexport var PhotoshopPreviews = function PhotoshopPreviews(_ref) {\n var rgb = _ref.rgb,\n currentColor = _ref.currentColor;\n\n var styles = reactCSS({\n 'default': {\n swatches: {\n border: '1px solid #B3B3B3',\n borderBottom: '1px solid #F0F0F0',\n marginBottom: '2px',\n marginTop: '1px'\n },\n new: {\n height: '34px',\n background: 'rgb(' + rgb.r + ',' + rgb.g + ', ' + rgb.b + ')',\n boxShadow: 'inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000'\n },\n current: {\n height: '34px',\n background: currentColor,\n boxShadow: 'inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 -1px 0 #000'\n },\n label: {\n fontSize: '14px',\n color: '#000',\n textAlign: 'center'\n }\n }\n });\n\n return React.createElement(\n 'div',\n null,\n React.createElement(\n 'div',\n { style: styles.label },\n 'new'\n ),\n React.createElement(\n 'div',\n { style: styles.swatches },\n React.createElement('div', { style: styles.new }),\n React.createElement('div', { style: styles.current })\n ),\n React.createElement(\n 'div',\n { style: styles.label },\n 'current'\n )\n );\n};\n\nexport default PhotoshopPreviews;", "var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport merge from 'lodash-es/merge';\n\nimport { ColorWrap, Saturation, Hue, Alpha, Checkboard } from '../common';\nimport SketchFields from './SketchFields';\nimport SketchPresetColors from './SketchPresetColors';\n\nexport var Sketch = function Sketch(_ref) {\n var width = _ref.width,\n rgb = _ref.rgb,\n hex = _ref.hex,\n hsv = _ref.hsv,\n hsl = _ref.hsl,\n onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n disableAlpha = _ref.disableAlpha,\n presetColors = _ref.presetColors,\n renderers = _ref.renderers,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = reactCSS(merge({\n 'default': _extends({\n picker: {\n width: width,\n padding: '10px 10px 0',\n boxSizing: 'initial',\n background: '#fff',\n borderRadius: '4px',\n boxShadow: '0 0 0 1px rgba(0,0,0,.15), 0 8px 16px rgba(0,0,0,.15)'\n },\n saturation: {\n width: '100%',\n paddingBottom: '75%',\n position: 'relative',\n overflow: 'hidden'\n },\n Saturation: {\n radius: '3px',\n shadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)'\n },\n controls: {\n display: 'flex'\n },\n sliders: {\n padding: '4px 0',\n flex: '1'\n },\n color: {\n width: '24px',\n height: '24px',\n position: 'relative',\n marginTop: '4px',\n marginLeft: '4px',\n borderRadius: '3px'\n },\n activeColor: {\n absolute: '0px 0px 0px 0px',\n borderRadius: '2px',\n background: 'rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ',' + rgb.a + ')',\n boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)'\n },\n hue: {\n position: 'relative',\n height: '10px',\n overflow: 'hidden'\n },\n Hue: {\n radius: '2px',\n shadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)'\n },\n\n alpha: {\n position: 'relative',\n height: '10px',\n marginTop: '4px',\n overflow: 'hidden'\n },\n Alpha: {\n radius: '2px',\n shadow: 'inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)'\n }\n }, passedStyles),\n 'disableAlpha': {\n color: {\n height: '10px'\n },\n hue: {\n height: '10px'\n },\n alpha: {\n display: 'none'\n }\n }\n }, passedStyles), { disableAlpha: disableAlpha });\n\n return React.createElement(\n 'div',\n { style: styles.picker, className: 'sketch-picker ' + className },\n React.createElement(\n 'div',\n { style: styles.saturation },\n React.createElement(Saturation, {\n style: styles.Saturation,\n hsl: hsl,\n hsv: hsv,\n onChange: onChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.controls, className: 'flexbox-fix' },\n React.createElement(\n 'div',\n { style: styles.sliders },\n React.createElement(\n 'div',\n { style: styles.hue },\n React.createElement(Hue, {\n style: styles.Hue,\n hsl: hsl,\n onChange: onChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.alpha },\n React.createElement(Alpha, {\n style: styles.Alpha,\n rgb: rgb,\n hsl: hsl,\n renderers: renderers,\n onChange: onChange\n })\n )\n ),\n React.createElement(\n 'div',\n { style: styles.color },\n React.createElement(Checkboard, null),\n React.createElement('div', { style: styles.activeColor })\n )\n ),\n React.createElement(SketchFields, {\n rgb: rgb,\n hsl: hsl,\n hex: hex,\n onChange: onChange,\n disableAlpha: disableAlpha\n }),\n React.createElement(SketchPresetColors, {\n colors: presetColors,\n onClick: onChange,\n onSwatchHover: onSwatchHover\n })\n );\n};\n\nSketch.propTypes = {\n disableAlpha: PropTypes.bool,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n styles: PropTypes.object\n};\n\nSketch.defaultProps = {\n disableAlpha: false,\n width: 200,\n styles: {},\n presetColors: ['#D0021B', '#F5A623', '#F8E71C', '#8B572A', '#7ED321', '#417505', '#BD10E0', '#9013FE', '#4A90E2', '#50E3C2', '#B8E986', '#000000', '#4A4A4A', '#9B9B9B', '#FFFFFF']\n};\n\nexport default ColorWrap(Sketch);", "/* eslint-disable no-param-reassign */\n\nimport React from 'react';\nimport reactCSS from 'reactcss';\nimport * as color from '../../helpers/color';\n\nimport { EditableInput } from '../common';\n\nexport var SketchFields = function SketchFields(_ref) {\n var onChange = _ref.onChange,\n rgb = _ref.rgb,\n hsl = _ref.hsl,\n hex = _ref.hex,\n disableAlpha = _ref.disableAlpha;\n\n var styles = reactCSS({\n 'default': {\n fields: {\n display: 'flex',\n paddingTop: '4px'\n },\n single: {\n flex: '1',\n paddingLeft: '6px'\n },\n alpha: {\n flex: '1',\n paddingLeft: '6px'\n },\n double: {\n flex: '2'\n },\n input: {\n width: '80%',\n padding: '4px 10% 3px',\n border: 'none',\n boxShadow: 'inset 0 0 0 1px #ccc',\n fontSize: '11px'\n },\n label: {\n display: 'block',\n textAlign: 'center',\n fontSize: '11px',\n color: '#222',\n paddingTop: '3px',\n paddingBottom: '4px',\n textTransform: 'capitalize'\n }\n },\n 'disableAlpha': {\n alpha: {\n display: 'none'\n }\n }\n }, { disableAlpha: disableAlpha });\n\n var handleChange = function handleChange(data, e) {\n if (data.hex) {\n color.isValidHex(data.hex) && onChange({\n hex: data.hex,\n source: 'hex'\n }, e);\n } else if (data.r || data.g || data.b) {\n onChange({\n r: data.r || rgb.r,\n g: data.g || rgb.g,\n b: data.b || rgb.b,\n a: rgb.a,\n source: 'rgb'\n }, e);\n } else if (data.a) {\n if (data.a < 0) {\n data.a = 0;\n } else if (data.a > 100) {\n data.a = 100;\n }\n\n data.a /= 100;\n onChange({\n h: hsl.h,\n s: hsl.s,\n l: hsl.l,\n a: data.a,\n source: 'rgb'\n }, e);\n }\n };\n\n return React.createElement(\n 'div',\n { style: styles.fields, className: 'flexbox-fix' },\n React.createElement(\n 'div',\n { style: styles.double },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'hex',\n value: hex.replace('#', ''),\n onChange: handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.single },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'r',\n value: rgb.r,\n onChange: handleChange,\n dragLabel: 'true',\n dragMax: '255'\n })\n ),\n React.createElement(\n 'div',\n { style: styles.single },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'g',\n value: rgb.g,\n onChange: handleChange,\n dragLabel: 'true',\n dragMax: '255'\n })\n ),\n React.createElement(\n 'div',\n { style: styles.single },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'b',\n value: rgb.b,\n onChange: handleChange,\n dragLabel: 'true',\n dragMax: '255'\n })\n ),\n React.createElement(\n 'div',\n { style: styles.alpha },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'a',\n value: Math.round(rgb.a * 100),\n onChange: handleChange,\n dragLabel: 'true',\n dragMax: '100'\n })\n )\n );\n};\n\nexport default SketchFields;", "var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\n\nimport { Swatch } from '../common';\n\nexport var SketchPresetColors = function SketchPresetColors(_ref) {\n var colors = _ref.colors,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n onSwatchHover = _ref.onSwatchHover;\n\n var styles = reactCSS({\n 'default': {\n colors: {\n margin: '0 -10px',\n padding: '10px 0 0 10px',\n borderTop: '1px solid #eee',\n display: 'flex',\n flexWrap: 'wrap',\n position: 'relative'\n },\n swatchWrap: {\n width: '16px',\n height: '16px',\n margin: '0 10px 10px 0'\n },\n swatch: {\n borderRadius: '3px',\n boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.15)'\n }\n },\n 'no-presets': {\n colors: {\n display: 'none'\n }\n }\n }, {\n 'no-presets': !colors || !colors.length\n });\n\n var handleClick = function handleClick(hex, e) {\n onClick({\n hex: hex,\n source: 'hex'\n }, e);\n };\n\n return React.createElement(\n 'div',\n { style: styles.colors, className: 'flexbox-fix' },\n colors.map(function (colorObjOrString) {\n var c = typeof colorObjOrString === 'string' ? { color: colorObjOrString } : colorObjOrString;\n var key = '' + c.color + (c.title || '');\n return React.createElement(\n 'div',\n { key: key, style: styles.swatchWrap },\n React.createElement(Swatch, _extends({}, c, {\n style: styles.swatch,\n onClick: handleClick,\n onHover: onSwatchHover,\n focusStyle: {\n boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.15), 0 0 4px ' + c.color\n }\n }))\n );\n })\n );\n};\n\nSketchPresetColors.propTypes = {\n colors: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.shape({\n color: PropTypes.string,\n title: PropTypes.string\n })])).isRequired\n};\n\nexport default SketchPresetColors;", "import React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport merge from 'lodash-es/merge';\n\nimport { ColorWrap, Hue } from '../common';\nimport SliderSwatches from './SliderSwatches';\nimport SliderPointer from './SliderPointer';\n\nexport var Slider = function Slider(_ref) {\n var hsl = _ref.hsl,\n onChange = _ref.onChange,\n pointer = _ref.pointer,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = reactCSS(merge({\n 'default': {\n hue: {\n height: '12px',\n position: 'relative'\n },\n Hue: {\n radius: '2px'\n }\n }\n }, passedStyles));\n\n return React.createElement(\n 'div',\n { style: styles.wrap || {}, className: 'slider-picker ' + className },\n React.createElement(\n 'div',\n { style: styles.hue },\n React.createElement(Hue, {\n style: styles.Hue,\n hsl: hsl,\n pointer: pointer,\n onChange: onChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.swatches },\n React.createElement(SliderSwatches, { hsl: hsl, onClick: onChange })\n )\n );\n};\n\nSlider.propTypes = {\n styles: PropTypes.object\n};\nSlider.defaultProps = {\n pointer: SliderPointer,\n styles: {}\n};\n\nexport default ColorWrap(Slider);", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nimport SliderSwatch from './SliderSwatch';\n\nexport var SliderSwatches = function SliderSwatches(_ref) {\n var onClick = _ref.onClick,\n hsl = _ref.hsl;\n\n var styles = reactCSS({\n 'default': {\n swatches: {\n marginTop: '20px'\n },\n swatch: {\n boxSizing: 'border-box',\n width: '20%',\n paddingRight: '1px',\n float: 'left'\n },\n clear: {\n clear: 'both'\n }\n }\n });\n\n // Acceptible difference in floating point equality\n var epsilon = 0.1;\n\n return React.createElement(\n 'div',\n { style: styles.swatches },\n React.createElement(\n 'div',\n { style: styles.swatch },\n React.createElement(SliderSwatch, {\n hsl: hsl,\n offset: '.80',\n active: Math.abs(hsl.l - 0.80) < epsilon && Math.abs(hsl.s - 0.50) < epsilon,\n onClick: onClick,\n first: true\n })\n ),\n React.createElement(\n 'div',\n { style: styles.swatch },\n React.createElement(SliderSwatch, {\n hsl: hsl,\n offset: '.65',\n active: Math.abs(hsl.l - 0.65) < epsilon && Math.abs(hsl.s - 0.50) < epsilon,\n onClick: onClick\n })\n ),\n React.createElement(\n 'div',\n { style: styles.swatch },\n React.createElement(SliderSwatch, {\n hsl: hsl,\n offset: '.50',\n active: Math.abs(hsl.l - 0.50) < epsilon && Math.abs(hsl.s - 0.50) < epsilon,\n onClick: onClick\n })\n ),\n React.createElement(\n 'div',\n { style: styles.swatch },\n React.createElement(SliderSwatch, {\n hsl: hsl,\n offset: '.35',\n active: Math.abs(hsl.l - 0.35) < epsilon && Math.abs(hsl.s - 0.50) < epsilon,\n onClick: onClick\n })\n ),\n React.createElement(\n 'div',\n { style: styles.swatch },\n React.createElement(SliderSwatch, {\n hsl: hsl,\n offset: '.20',\n active: Math.abs(hsl.l - 0.20) < epsilon && Math.abs(hsl.s - 0.50) < epsilon,\n onClick: onClick,\n last: true\n })\n ),\n React.createElement('div', { style: styles.clear })\n );\n};\n\nexport default SliderSwatches;", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nexport var SliderSwatch = function SliderSwatch(_ref) {\n var hsl = _ref.hsl,\n offset = _ref.offset,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n active = _ref.active,\n first = _ref.first,\n last = _ref.last;\n\n var styles = reactCSS({\n 'default': {\n swatch: {\n height: '12px',\n background: 'hsl(' + hsl.h + ', 50%, ' + offset * 100 + '%)',\n cursor: 'pointer'\n }\n },\n 'first': {\n swatch: {\n borderRadius: '2px 0 0 2px'\n }\n },\n 'last': {\n swatch: {\n borderRadius: '0 2px 2px 0'\n }\n },\n 'active': {\n swatch: {\n transform: 'scaleY(1.8)',\n borderRadius: '3.6px/2px'\n }\n }\n }, { active: active, first: first, last: last });\n\n var handleClick = function handleClick(e) {\n return onClick({\n h: hsl.h,\n s: 0.5,\n l: offset,\n source: 'hsl'\n }, e);\n };\n\n return React.createElement('div', { style: styles.swatch, onClick: handleClick });\n};\n\nexport default SliderSwatch;", "import React from 'react';\nimport reactCSS from 'reactcss';\n\nexport var SliderPointer = function SliderPointer() {\n var styles = reactCSS({\n 'default': {\n picker: {\n width: '14px',\n height: '14px',\n borderRadius: '6px',\n transform: 'translate(-7px, -1px)',\n backgroundColor: 'rgb(248, 248, 248)',\n boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)'\n }\n }\n });\n\n return React.createElement('div', { style: styles.picker });\n};\n\nexport default SliderPointer;", "import React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport map from 'lodash-es/map';\nimport merge from 'lodash-es/merge';\nimport * as material from 'material-colors';\n\nimport { ColorWrap, Raised } from '../common';\nimport SwatchesGroup from './SwatchesGroup';\n\nexport var Swatches = function Swatches(_ref) {\n var width = _ref.width,\n height = _ref.height,\n onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n colors = _ref.colors,\n hex = _ref.hex,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = reactCSS(merge({\n 'default': {\n picker: {\n width: width,\n height: height\n },\n overflow: {\n height: height,\n overflowY: 'scroll'\n },\n body: {\n padding: '16px 0 6px 16px'\n },\n clear: {\n clear: 'both'\n }\n }\n }, passedStyles));\n\n var handleChange = function handleChange(data, e) {\n return onChange({ hex: data, source: 'hex' }, e);\n };\n\n return React.createElement(\n 'div',\n { style: styles.picker, className: 'swatches-picker ' + className },\n React.createElement(\n Raised,\n null,\n React.createElement(\n 'div',\n { style: styles.overflow },\n React.createElement(\n 'div',\n { style: styles.body },\n map(colors, function (group) {\n return React.createElement(SwatchesGroup, {\n key: group.toString(),\n group: group,\n active: hex,\n onClick: handleChange,\n onSwatchHover: onSwatchHover\n });\n }),\n React.createElement('div', { style: styles.clear })\n )\n )\n )\n );\n};\n\nSwatches.propTypes = {\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n colors: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.string)),\n styles: PropTypes.object\n\n /* eslint-disable max-len */\n};Swatches.defaultProps = {\n width: 320,\n height: 240,\n colors: [[material.red['900'], material.red['700'], material.red['500'], material.red['300'], material.red['100']], [material.pink['900'], material.pink['700'], material.pink['500'], material.pink['300'], material.pink['100']], [material.purple['900'], material.purple['700'], material.purple['500'], material.purple['300'], material.purple['100']], [material.deepPurple['900'], material.deepPurple['700'], material.deepPurple['500'], material.deepPurple['300'], material.deepPurple['100']], [material.indigo['900'], material.indigo['700'], material.indigo['500'], material.indigo['300'], material.indigo['100']], [material.blue['900'], material.blue['700'], material.blue['500'], material.blue['300'], material.blue['100']], [material.lightBlue['900'], material.lightBlue['700'], material.lightBlue['500'], material.lightBlue['300'], material.lightBlue['100']], [material.cyan['900'], material.cyan['700'], material.cyan['500'], material.cyan['300'], material.cyan['100']], [material.teal['900'], material.teal['700'], material.teal['500'], material.teal['300'], material.teal['100']], ['#194D33', material.green['700'], material.green['500'], material.green['300'], material.green['100']], [material.lightGreen['900'], material.lightGreen['700'], material.lightGreen['500'], material.lightGreen['300'], material.lightGreen['100']], [material.lime['900'], material.lime['700'], material.lime['500'], material.lime['300'], material.lime['100']], [material.yellow['900'], material.yellow['700'], material.yellow['500'], material.yellow['300'], material.yellow['100']], [material.amber['900'], material.amber['700'], material.amber['500'], material.amber['300'], material.amber['100']], [material.orange['900'], material.orange['700'], material.orange['500'], material.orange['300'], material.orange['100']], [material.deepOrange['900'], material.deepOrange['700'], material.deepOrange['500'], material.deepOrange['300'], material.deepOrange['100']], [material.brown['900'], material.brown['700'], material.brown['500'], material.brown['300'], material.brown['100']], [material.blueGrey['900'], material.blueGrey['700'], material.blueGrey['500'], material.blueGrey['300'], material.blueGrey['100']], ['#000000', '#525252', '#969696', '#D9D9D9', '#FFFFFF']],\n styles: {}\n};\n\nexport default ColorWrap(Swatches);", "import React from 'react';\nimport reactCSS from 'reactcss';\nimport map from 'lodash-es/map';\n\nimport SwatchesColor from './SwatchesColor';\n\nexport var SwatchesGroup = function SwatchesGroup(_ref) {\n var onClick = _ref.onClick,\n onSwatchHover = _ref.onSwatchHover,\n group = _ref.group,\n active = _ref.active;\n\n var styles = reactCSS({\n 'default': {\n group: {\n paddingBottom: '10px',\n width: '40px',\n float: 'left',\n marginRight: '10px'\n }\n }\n });\n\n return React.createElement(\n 'div',\n { style: styles.group },\n map(group, function (color, i) {\n return React.createElement(SwatchesColor, {\n key: color,\n color: color,\n active: color.toLowerCase() === active,\n first: i === 0,\n last: i === group.length - 1,\n onClick: onClick,\n onSwatchHover: onSwatchHover\n });\n })\n );\n};\n\nexport default SwatchesGroup;", "import React from 'react';\nimport reactCSS from 'reactcss';\nimport * as colorUtils from '../../helpers/color';\n\nimport { Swatch } from '../common';\nimport CheckIcon from '@icons/material/CheckIcon';\n\nexport var SwatchesColor = function SwatchesColor(_ref) {\n var color = _ref.color,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === undefined ? function () {} : _ref$onClick,\n onSwatchHover = _ref.onSwatchHover,\n first = _ref.first,\n last = _ref.last,\n active = _ref.active;\n\n var styles = reactCSS({\n 'default': {\n color: {\n width: '40px',\n height: '24px',\n cursor: 'pointer',\n background: color,\n marginBottom: '1px'\n },\n check: {\n color: colorUtils.getContrastingColor(color),\n marginLeft: '8px',\n display: 'none'\n }\n },\n 'first': {\n color: {\n overflow: 'hidden',\n borderRadius: '2px 2px 0 0'\n }\n },\n 'last': {\n color: {\n overflow: 'hidden',\n borderRadius: '0 0 2px 2px'\n }\n },\n 'active': {\n check: {\n display: 'block'\n }\n },\n 'color-#FFFFFF': {\n color: {\n boxShadow: 'inset 0 0 0 1px #ddd'\n },\n check: {\n color: '#333'\n }\n },\n 'transparent': {\n check: {\n color: '#333'\n }\n }\n }, {\n first: first,\n last: last,\n active: active,\n 'color-#FFFFFF': color === '#FFFFFF',\n 'transparent': color === 'transparent'\n });\n\n return React.createElement(\n Swatch,\n {\n color: color,\n style: styles.color,\n onClick: onClick,\n onHover: onSwatchHover,\n focusStyle: { boxShadow: '0 0 4px ' + color }\n },\n React.createElement(\n 'div',\n { style: styles.check },\n React.createElement(CheckIcon, null)\n )\n );\n};\n\nexport default SwatchesColor;", "import React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport map from 'lodash-es/map';\nimport merge from 'lodash-es/merge';\nimport * as color from '../../helpers/color';\n\nimport { ColorWrap, EditableInput, Swatch } from '../common';\n\nexport var Twitter = function Twitter(_ref) {\n var onChange = _ref.onChange,\n onSwatchHover = _ref.onSwatchHover,\n hex = _ref.hex,\n colors = _ref.colors,\n width = _ref.width,\n triangle = _ref.triangle,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = reactCSS(merge({\n 'default': {\n card: {\n width: width,\n background: '#fff',\n border: '0 solid rgba(0,0,0,0.25)',\n boxShadow: '0 1px 4px rgba(0,0,0,0.25)',\n borderRadius: '4px',\n position: 'relative'\n },\n body: {\n padding: '15px 9px 9px 15px'\n },\n label: {\n fontSize: '18px',\n color: '#fff'\n },\n triangle: {\n width: '0px',\n height: '0px',\n borderStyle: 'solid',\n borderWidth: '0 9px 10px 9px',\n borderColor: 'transparent transparent #fff transparent',\n position: 'absolute'\n },\n triangleShadow: {\n width: '0px',\n height: '0px',\n borderStyle: 'solid',\n borderWidth: '0 9px 10px 9px',\n borderColor: 'transparent transparent rgba(0,0,0,.1) transparent',\n position: 'absolute'\n },\n hash: {\n background: '#F0F0F0',\n height: '30px',\n width: '30px',\n borderRadius: '4px 0 0 4px',\n float: 'left',\n color: '#98A1A4',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n },\n input: {\n width: '100px',\n fontSize: '14px',\n color: '#666',\n border: '0px',\n outline: 'none',\n height: '28px',\n boxShadow: 'inset 0 0 0 1px #F0F0F0',\n boxSizing: 'content-box',\n borderRadius: '0 4px 4px 0',\n float: 'left',\n paddingLeft: '8px'\n },\n swatch: {\n width: '30px',\n height: '30px',\n float: 'left',\n borderRadius: '4px',\n margin: '0 6px 6px 0'\n },\n clear: {\n clear: 'both'\n }\n },\n 'hide-triangle': {\n triangle: {\n display: 'none'\n },\n triangleShadow: {\n display: 'none'\n }\n },\n 'top-left-triangle': {\n triangle: {\n top: '-10px',\n left: '12px'\n },\n triangleShadow: {\n top: '-11px',\n left: '12px'\n }\n },\n 'top-right-triangle': {\n triangle: {\n top: '-10px',\n right: '12px'\n },\n triangleShadow: {\n top: '-11px',\n right: '12px'\n }\n }\n }, passedStyles), {\n 'hide-triangle': triangle === 'hide',\n 'top-left-triangle': triangle === 'top-left',\n 'top-right-triangle': triangle === 'top-right'\n });\n\n var handleChange = function handleChange(hexcode, e) {\n color.isValidHex(hexcode) && onChange({\n hex: hexcode,\n source: 'hex'\n }, e);\n };\n\n return React.createElement(\n 'div',\n { style: styles.card, className: 'twitter-picker ' + className },\n React.createElement('div', { style: styles.triangleShadow }),\n React.createElement('div', { style: styles.triangle }),\n React.createElement(\n 'div',\n { style: styles.body },\n map(colors, function (c, i) {\n return React.createElement(Swatch, {\n key: i,\n color: c,\n hex: c,\n style: styles.swatch,\n onClick: handleChange,\n onHover: onSwatchHover,\n focusStyle: {\n boxShadow: '0 0 4px ' + c\n }\n });\n }),\n React.createElement(\n 'div',\n { style: styles.hash },\n '#'\n ),\n React.createElement(EditableInput, {\n label: null,\n style: { input: styles.input },\n value: hex.replace('#', ''),\n onChange: handleChange\n }),\n React.createElement('div', { style: styles.clear })\n )\n );\n};\n\nTwitter.propTypes = {\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n triangle: PropTypes.oneOf(['hide', 'top-left', 'top-right']),\n colors: PropTypes.arrayOf(PropTypes.string),\n styles: PropTypes.object\n};\n\nTwitter.defaultProps = {\n width: 276,\n colors: ['#FF6900', '#FCB900', '#7BDCB5', '#00D084', '#8ED1FC', '#0693E3', '#ABB8C3', '#EB144C', '#F78DA7', '#9900EF'],\n triangle: 'top-left',\n styles: {}\n};\n\nexport default ColorWrap(Twitter);", "import React from 'react';\nimport PropTypes from 'prop-types';\nimport reactCSS from 'reactcss';\nimport merge from 'lodash-es/merge';\n\nimport { ColorWrap, Saturation, Hue } from '../common';\nimport GooglePointerCircle from './GooglePointerCircle';\nimport GooglePointer from './GooglePointer';\nimport GoogleFields from './GoogleFields';\n\nexport var Google = function Google(_ref) {\n var width = _ref.width,\n onChange = _ref.onChange,\n rgb = _ref.rgb,\n hsl = _ref.hsl,\n hsv = _ref.hsv,\n hex = _ref.hex,\n header = _ref.header,\n _ref$styles = _ref.styles,\n passedStyles = _ref$styles === undefined ? {} : _ref$styles,\n _ref$className = _ref.className,\n className = _ref$className === undefined ? '' : _ref$className;\n\n var styles = reactCSS(merge({\n 'default': {\n picker: {\n width: width,\n background: '#fff',\n border: '1px solid #dfe1e5',\n boxSizing: 'initial',\n display: 'flex',\n flexWrap: 'wrap',\n borderRadius: '8px 8px 0px 0px'\n },\n head: {\n height: '57px',\n width: '100%',\n paddingTop: '16px',\n paddingBottom: '16px',\n paddingLeft: '16px',\n fontSize: '20px',\n boxSizing: 'border-box',\n fontFamily: 'Roboto-Regular,HelveticaNeue,Arial,sans-serif'\n },\n saturation: {\n width: '70%',\n padding: '0px',\n position: 'relative',\n overflow: 'hidden'\n },\n swatch: {\n width: '30%',\n height: '228px',\n padding: '0px',\n background: 'rgba(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ', 1)',\n position: 'relative',\n overflow: 'hidden'\n },\n body: {\n margin: 'auto',\n width: '95%'\n },\n controls: {\n display: 'flex',\n boxSizing: 'border-box',\n height: '52px',\n paddingTop: '22px'\n },\n color: {\n width: '32px'\n },\n hue: {\n height: '8px',\n position: 'relative',\n margin: '0px 16px 0px 16px',\n width: '100%'\n },\n Hue: {\n radius: '2px'\n }\n }\n }, passedStyles));\n return React.createElement(\n 'div',\n { style: styles.picker, className: 'google-picker ' + className },\n React.createElement(\n 'div',\n { style: styles.head },\n header\n ),\n React.createElement('div', { style: styles.swatch }),\n React.createElement(\n 'div',\n { style: styles.saturation },\n React.createElement(Saturation, {\n hsl: hsl,\n hsv: hsv,\n pointer: GooglePointerCircle,\n onChange: onChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.body },\n React.createElement(\n 'div',\n { style: styles.controls, className: 'flexbox-fix' },\n React.createElement(\n 'div',\n { style: styles.hue },\n React.createElement(Hue, {\n style: styles.Hue,\n hsl: hsl,\n radius: '4px',\n pointer: GooglePointer,\n onChange: onChange\n })\n )\n ),\n React.createElement(GoogleFields, {\n rgb: rgb,\n hsl: hsl,\n hex: hex,\n hsv: hsv,\n onChange: onChange\n })\n )\n );\n};\n\nGoogle.propTypes = {\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n styles: PropTypes.object,\n header: PropTypes.string\n\n};\n\nGoogle.defaultProps = {\n width: 652,\n styles: {},\n header: 'Color picker'\n};\n\nexport default ColorWrap(Google);", "import React from 'react';\nimport reactCSS from 'reactcss';\nimport PropTypes from 'prop-types';\n\nexport var GooglePointerCircle = function GooglePointerCircle(props) {\n var styles = reactCSS({\n 'default': {\n picker: {\n width: '20px',\n height: '20px',\n borderRadius: '22px',\n border: '2px #fff solid',\n transform: 'translate(-12px, -13px)',\n background: 'hsl(' + Math.round(props.hsl.h) + ', ' + Math.round(props.hsl.s * 100) + '%, ' + Math.round(props.hsl.l * 100) + '%)'\n }\n }\n });\n\n return React.createElement('div', { style: styles.picker });\n};\n\nGooglePointerCircle.propTypes = {\n hsl: PropTypes.shape({\n h: PropTypes.number,\n s: PropTypes.number,\n l: PropTypes.number,\n a: PropTypes.number\n })\n};\n\nGooglePointerCircle.defaultProps = {\n hsl: { a: 1, h: 249.94, l: 0.2, s: 0.50 }\n};\n\nexport default GooglePointerCircle;", "import React from 'react';\nimport reactCSS from 'reactcss';\nimport PropTypes from 'prop-types';\n\nexport var GooglePointer = function GooglePointer(props) {\n var styles = reactCSS({\n 'default': {\n picker: {\n width: '20px',\n height: '20px',\n borderRadius: '22px',\n transform: 'translate(-10px, -7px)',\n background: 'hsl(' + Math.round(props.hsl.h) + ', 100%, 50%)',\n border: '2px white solid'\n }\n }\n });\n\n return React.createElement('div', { style: styles.picker });\n};\n\nGooglePointer.propTypes = {\n hsl: PropTypes.shape({\n h: PropTypes.number,\n s: PropTypes.number,\n l: PropTypes.number,\n a: PropTypes.number\n })\n};\n\nGooglePointer.defaultProps = {\n hsl: { a: 1, h: 249.94, l: 0.2, s: 0.50 }\n};\n\nexport default GooglePointer;", "import React from 'react';\nimport reactCSS from 'reactcss';\nimport * as color from '../../helpers/color';\nimport { EditableInput } from '../common';\n\nexport var GoogleFields = function GoogleFields(_ref) {\n var onChange = _ref.onChange,\n rgb = _ref.rgb,\n hsl = _ref.hsl,\n hex = _ref.hex,\n hsv = _ref.hsv;\n\n\n var handleChange = function handleChange(data, e) {\n if (data.hex) {\n color.isValidHex(data.hex) && onChange({\n hex: data.hex,\n source: 'hex'\n }, e);\n } else if (data.rgb) {\n var values = data.rgb.split(',');\n color.isvalidColorString(data.rgb, 'rgb') && onChange({\n r: values[0],\n g: values[1],\n b: values[2],\n a: 1,\n source: 'rgb'\n }, e);\n } else if (data.hsv) {\n var _values = data.hsv.split(',');\n if (color.isvalidColorString(data.hsv, 'hsv')) {\n _values[2] = _values[2].replace('%', '');\n _values[1] = _values[1].replace('%', '');\n _values[0] = _values[0].replace('\u00B0', '');\n if (_values[1] == 1) {\n _values[1] = 0.01;\n } else if (_values[2] == 1) {\n _values[2] = 0.01;\n }\n onChange({\n h: Number(_values[0]),\n s: Number(_values[1]),\n v: Number(_values[2]),\n source: 'hsv'\n }, e);\n }\n } else if (data.hsl) {\n var _values2 = data.hsl.split(',');\n if (color.isvalidColorString(data.hsl, 'hsl')) {\n _values2[2] = _values2[2].replace('%', '');\n _values2[1] = _values2[1].replace('%', '');\n _values2[0] = _values2[0].replace('\u00B0', '');\n if (hsvValue[1] == 1) {\n hsvValue[1] = 0.01;\n } else if (hsvValue[2] == 1) {\n hsvValue[2] = 0.01;\n }\n onChange({\n h: Number(_values2[0]),\n s: Number(_values2[1]),\n v: Number(_values2[2]),\n source: 'hsl'\n }, e);\n }\n }\n };\n\n var styles = reactCSS({\n 'default': {\n wrap: {\n display: 'flex',\n height: '100px',\n marginTop: '4px'\n },\n fields: {\n width: '100%'\n },\n column: {\n paddingTop: '10px',\n display: 'flex',\n justifyContent: 'space-between'\n },\n double: {\n padding: '0px 4.4px',\n boxSizing: 'border-box'\n },\n input: {\n width: '100%',\n height: '38px',\n boxSizing: 'border-box',\n padding: '4px 10% 3px',\n textAlign: 'center',\n border: '1px solid #dadce0',\n fontSize: '11px',\n textTransform: 'lowercase',\n borderRadius: '5px',\n outline: 'none',\n fontFamily: 'Roboto,Arial,sans-serif'\n },\n input2: {\n height: '38px',\n width: '100%',\n border: '1px solid #dadce0',\n boxSizing: 'border-box',\n fontSize: '11px',\n textTransform: 'lowercase',\n borderRadius: '5px',\n outline: 'none',\n paddingLeft: '10px',\n fontFamily: 'Roboto,Arial,sans-serif'\n },\n label: {\n textAlign: 'center',\n fontSize: '12px',\n background: '#fff',\n position: 'absolute',\n textTransform: 'uppercase',\n color: '#3c4043',\n width: '35px',\n top: '-6px',\n left: '0',\n right: '0',\n marginLeft: 'auto',\n marginRight: 'auto',\n fontFamily: 'Roboto,Arial,sans-serif'\n },\n label2: {\n left: '10px',\n textAlign: 'center',\n fontSize: '12px',\n background: '#fff',\n position: 'absolute',\n textTransform: 'uppercase',\n color: '#3c4043',\n width: '32px',\n top: '-6px',\n fontFamily: 'Roboto,Arial,sans-serif'\n },\n single: {\n flexGrow: '1',\n margin: '0px 4.4px'\n }\n }\n });\n\n var rgbValue = rgb.r + ', ' + rgb.g + ', ' + rgb.b;\n var hslValue = Math.round(hsl.h) + '\\xB0, ' + Math.round(hsl.s * 100) + '%, ' + Math.round(hsl.l * 100) + '%';\n var hsvValue = Math.round(hsv.h) + '\\xB0, ' + Math.round(hsv.s * 100) + '%, ' + Math.round(hsv.v * 100) + '%';\n\n return React.createElement(\n 'div',\n { style: styles.wrap, className: 'flexbox-fix' },\n React.createElement(\n 'div',\n { style: styles.fields },\n React.createElement(\n 'div',\n { style: styles.double },\n React.createElement(EditableInput, {\n style: { input: styles.input, label: styles.label },\n label: 'hex',\n value: hex,\n onChange: handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.column },\n React.createElement(\n 'div',\n { style: styles.single },\n React.createElement(EditableInput, {\n style: { input: styles.input2, label: styles.label2 },\n label: 'rgb',\n value: rgbValue,\n onChange: handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.single },\n React.createElement(EditableInput, {\n style: { input: styles.input2, label: styles.label2 },\n label: 'hsv',\n value: hsvValue,\n onChange: handleChange\n })\n ),\n React.createElement(\n 'div',\n { style: styles.single },\n React.createElement(EditableInput, {\n style: { input: styles.input2, label: styles.label2 },\n label: 'hsl',\n value: hslValue,\n onChange: handleChange\n })\n )\n )\n )\n );\n};\n\nexport default GoogleFields;", "import React, { Component } from 'react';\n\nimport { Checkbox, Button, MenuItem, Select, FormControlLabel, AppBar, Tabs, Tab, TextField } from '@mui/material';\n\nimport { I18n } from '../i18n';\nimport { convertCronToText } from './SimpleCron/cronText';\n\nconst styles: Record = {\n mainDiv: {\n width: '100%',\n height: '100%',\n },\n periodSelect: {\n // margin: '0 10px 60px 10px',\n display: 'block',\n width: 250,\n },\n slider: {\n marginTop: 20,\n display: 'block',\n width: '100%',\n },\n tabContent: {\n padding: 20,\n height: 'calc(100% - 240px)',\n overflow: 'auto',\n },\n numberButton: {\n padding: 4,\n minWidth: 40,\n margin: 5,\n },\n numberButtonBreak: {\n display: 'block',\n },\n appBar: {\n color: 'white',\n },\n warning: {\n marginLeft: 16,\n color: 'red',\n fontSize: 12,\n },\n};\n\nconst WEEKDAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];\nconst MONTHS = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n];\n\n// 5-7,9-11 => [5,6,7,9,10,11]\nfunction convertMinusIntoArray(value: string | false | undefined, max: number): number[] {\n const result: number[] = [];\n\n if (value === '*') {\n if (max === 24 || max === 60 || max === 7) {\n for (let i = 0; i < max; i++) {\n result.push(i);\n }\n } else {\n for (let i = 1; i <= max; i++) {\n result.push(i);\n }\n }\n return result; // array with entries max\n }\n\n const parts = (value || '').toString().split(',');\n\n for (let p = 0; p < parts.length; p++) {\n if (!parts[p].trim().length) {\n continue;\n }\n const items = parts[p].trim().split('-');\n if (items.length > 1) {\n const iMax = parseInt(items[1], 10);\n for (let i = parseInt(items[0], 10); i <= iMax; i++) {\n result.push(i);\n }\n } else {\n result.push(parseInt(parts[p], 10));\n }\n }\n\n result.sort();\n\n // remove double entries\n for (let p = result.length - 1; p >= 0; p--) {\n if (result[p] === result[p + 1]) {\n result.splice(p + 1, 1);\n }\n }\n\n return result;\n}\n\n// [5,6,7,9,10,11] => 5-7,9-11\nfunction convertArrayIntoMinus(value: number | number[], max: number): string {\n if (typeof value !== 'object') {\n value = [value];\n }\n if (value.length === max) {\n return '*';\n }\n const newParts = [];\n if (!value.length) {\n return '-';\n }\n value = value.map(a => parseInt(a as any as string, 10));\n\n value.sort((a, b) => a - b);\n\n let start = value[0];\n let end = value[0];\n for (let p = 1; p < value.length; p++) {\n if (value[p] - 1 !== parseInt(value[p - 1] as any as string, 10)) {\n if (start === end) {\n newParts.push(start);\n } else if (end - 1 === start) {\n newParts.push(`${start},${end}`);\n } else {\n newParts.push(`${start}-${end}`);\n }\n start = value[p];\n }\n end = value[p];\n }\n\n if (start === end) {\n newParts.push(start);\n } else if (end - 1 === start) {\n newParts.push(`${start},${end}`);\n } else {\n newParts.push(`${start}-${end}`);\n }\n\n return newParts.join(',');\n}\n\ntype CronNames = 'seconds' | 'minutes' | 'hours' | 'dates' | 'months' | 'dow';\n\ninterface CronProps {\n seconds: string | false | null;\n minutes: string | null;\n hours: string | null;\n dates: string | null;\n months: string | null;\n dow: string | null;\n}\n\ninterface ComplexCronProps {\n cronExpression: string;\n onChange: (cron: string) => void;\n language: ioBroker.Languages;\n}\n\n// type CronModes = 'every' | 'everyN' | 'specific';\n\ninterface ComplexCronState {\n extended: boolean;\n tab: number;\n cron: string;\n seconds?: string | false;\n minutes?: string;\n hours?: string;\n dates?: string;\n months?: string;\n dow?: string;\n modes: CronProps;\n}\n\nexport class ComplexCron extends Component {\n constructor(props: ComplexCronProps) {\n super(props);\n let cron =\n typeof this.props.cronExpression === 'string'\n ? this.props.cronExpression.replace(/^[\"']/, '').replace(/[\"']\\n?$/, '')\n : '';\n if (cron[0] === '{') {\n cron = '';\n }\n const state = ComplexCron.cron2state(cron || '* * * * *');\n\n this.state = {\n extended: false,\n tab: state.seconds !== false ? 1 : 0,\n cron: ComplexCron.state2cron(state),\n modes: {\n seconds: null,\n minutes: null,\n hours: null,\n dates: null,\n months: null,\n dow: null,\n },\n };\n Object.assign(this.state, state);\n if (this.state.cron !== this.props.cronExpression) {\n setTimeout(() => this.props.onChange && this.props.onChange(this.state.cron), 100);\n }\n }\n\n static cron2state(cron: string): CronProps {\n cron = cron.replace(/['\"]/g, '').trim();\n const cronParts = cron.split(' ').map(p => p.trim());\n let options: CronProps;\n\n if (cronParts.length === 6) {\n options = {\n seconds: cronParts[0] || '*',\n minutes: cronParts[1] || '*',\n hours: cronParts[2] || '*',\n dates: cronParts[3] || '*',\n months: cronParts[4] || '*',\n dow: cronParts[5] || '*',\n };\n } else {\n options = {\n seconds: false,\n minutes: cronParts[0] || '*',\n hours: cronParts[1] || '*',\n dates: cronParts[2] || '*',\n months: cronParts[3] || '*',\n dow: cronParts[4] || '*',\n };\n }\n return options;\n }\n\n static state2cron(state: ComplexCronState | CronProps): string {\n let text = `${state.minutes} ${state.hours} ${state.dates} ${state.months} ${state.dow}`;\n if (state.seconds !== false) {\n text = `${state.seconds} ${text}`;\n }\n return text;\n }\n\n recalcCron(): void {\n const cron = ComplexCron.state2cron(this.state);\n if (cron !== this.state.cron) {\n this.setState({ cron }, () => this.props.onChange && this.props.onChange(this.state.cron));\n }\n }\n\n onToggle(i: boolean | number, type: CronNames, max: number): void {\n if (i === true) {\n this.setCronAttr(type, '*');\n } else if (i === false) {\n if (max === 60 || max === 24) {\n this.setCronAttr(type, '0');\n } else {\n this.setCronAttr(type, '1');\n }\n } else {\n const nums = convertMinusIntoArray(this.state[type], max);\n const pos = nums.indexOf(i);\n if (pos !== -1) {\n nums.splice(pos, 1);\n } else {\n nums.push(i);\n nums.sort();\n }\n this.setCronAttr(type, convertArrayIntoMinus(nums, max));\n }\n }\n\n getDigitsSelector(type: CronNames, max: number): React.JSX.Element[] {\n let values = [];\n if (max === 7) {\n values = [1, 2, 3, 4, 5, 6, 0];\n } else if (max === 60 || max === 24) {\n for (let i = 0; i < max; i++) {\n values.push(i);\n }\n } else {\n for (let i = 1; i <= max; i++) {\n values.push(i);\n }\n }\n\n const parts = convertMinusIntoArray(this.state[type], max);\n\n return [\n this.onToggle(false, type, max)}\n >\n {I18n.t('ra_Deselect all')}\n ,\n this.onToggle(true, type, max)}\n >\n {I18n.t('ra_Select all')}\n ,\n
    \n {values.map(i => [\n (max === 7 && i === 4) ||\n (max === 12 && i === 7) ||\n (max === 31 && !((i - 1) % 10)) ||\n (max === 60 && i && !(i % 10)) ||\n (max === 24 && i && !(i % 6)) ? (\n \n ) : null,\n this.onToggle(i, type, max)}\n >\n {max === 7 ? I18n.t(WEEKDAYS[i]) : max === 12 ? MONTHS[i - 1] : i}\n ,\n ])}\n
    ,\n ];\n }\n\n getPeriodsTab(type: CronNames, max: number): React.JSX.Element | null {\n const value = this.state[type];\n let every = value === '*';\n let everyN = value === undefined || value === null ? false : value.toString().includes('/');\n let select;\n if (this.state.modes[type] === null) {\n select = every ? 'every' : everyN ? 'everyN' : 'specific';\n const modes = JSON.parse(JSON.stringify(this.state.modes));\n modes[type] = select;\n setTimeout(() => this.setState({ modes }, () => this.recalcCron()), 100);\n return null;\n }\n\n every = this.state.modes[type] === 'every';\n everyN = this.state.modes[type] === 'everyN';\n select = this.state.modes[type];\n\n let valueNumber = 1;\n if (everyN && value) {\n valueNumber = parseInt(value.replace('*/', ''), 10) || 1;\n }\n\n return (\n
    \n {\n const modes = JSON.parse(JSON.stringify(this.state.modes));\n modes[type] = e.target.value;\n if (e.target.value === 'every') {\n this.setCronAttr(type, '*', modes);\n } else if (e.target.value === 'everyN') {\n const num = parseInt((this.state[type] || '').toString().replace('*/', ''), 10) || 1;\n this.setCronAttr(type, `*/${num}`, modes);\n } else if (e.target.value === 'specific') {\n let num = parseInt((this.state[type] || '').toString().split(',')[0], 10) || 0;\n if (!num && (type === 'months' || type === 'dates')) {\n num = 1;\n }\n this.setCronAttr(type, convertArrayIntoMinus(num, max), modes);\n }\n }}\n >\n \n {I18n.t(`sc_every_${type}`)}\n \n \n {I18n.t(`sc_everyN_${type}`)}\n \n \n {I18n.t(`sc_specific_${type}`)}\n \n \n {/* everyN && false && {value} */}\n {everyN && (\n {\n // @ts-expect-error is allowed\n this.setState({ [type]: `*/${e.target.value}` }, () => this.recalcCron());\n }}\n type=\"number\"\n margin=\"normal\"\n />\n )}\n {!every && !everyN && this.getDigitsSelector(type, max)}\n
    \n );\n }\n\n static convertCronToText(cron: string, lang: ioBroker.Languages): string {\n if (cron.split(' ').includes('-')) {\n return I18n.t('ra_Invalid CRON');\n }\n return convertCronToText(cron, lang);\n }\n\n setCronAttr(attr: CronNames, value: string, modes?: CronProps): void {\n if (modes) {\n if (attr === 'seconds') {\n this.setState({ seconds: value, modes }, () => this.recalcCron());\n } else if (attr === 'minutes') {\n this.setState({ minutes: value, modes }, () => this.recalcCron());\n } else if (attr === 'hours') {\n this.setState({ hours: value, modes }, () => this.recalcCron());\n } else if (attr === 'dates') {\n this.setState({ dates: value, modes }, () => this.recalcCron());\n } else if (attr === 'months') {\n this.setState({ months: value, modes }, () => this.recalcCron());\n } else if (attr === 'dow') {\n this.setState({ dow: value, modes }, () => this.recalcCron());\n } else {\n this.setState({ modes }, () => this.recalcCron());\n }\n } else if (attr === 'seconds') {\n this.setState({ seconds: value }, () => this.recalcCron());\n } else if (attr === 'minutes') {\n this.setState({ minutes: value }, () => this.recalcCron());\n } else if (attr === 'hours') {\n this.setState({ hours: value }, () => this.recalcCron());\n } else if (attr === 'dates') {\n this.setState({ dates: value }, () => this.recalcCron());\n } else if (attr === 'months') {\n this.setState({ months: value }, () => this.recalcCron());\n } else if (attr === 'dow') {\n this.setState({ dow: value }, () => this.recalcCron());\n }\n }\n\n render(): React.JSX.Element {\n const tab = this.state.seconds !== false ? this.state.tab : this.state.tab + 1;\n\n // Detect if every minute or every second is activated\n const everyMinute = this.state.minutes === '*' || this.state.minutes === '*/1';\n const everySecond = this.state.seconds === '*' || this.state.seconds === '*/1';\n\n return (\n
    \n
    \n \n
    \n
    \n {ComplexCron.convertCronToText(this.state.cron, this.props.language || 'en')}\n \n {everySecond\n ? I18n.t('ra_warning_every_second')\n : everyMinute\n ? I18n.t('ra_warning_every_minute')\n : ''}\n \n
    \n \n this.setState({ seconds: e.target.checked ? '*' : false }, () => this.recalcCron())\n }\n />\n }\n label={I18n.t('ra_use seconds')}\n />\n \n this.setState({ tab: _tab })}\n >\n {this.state.seconds !== false && (\n \n )}\n \n \n \n \n \n \n \n {tab === 0 &&
    {this.getPeriodsTab('seconds', 60)}
    }\n {tab === 1 &&
    {this.getPeriodsTab('minutes', 60)}
    }\n {tab === 2 &&
    {this.getPeriodsTab('hours', 24)}
    }\n {tab === 3 &&
    {this.getPeriodsTab('dates', 31)}
    }\n {tab === 4 &&
    {this.getPeriodsTab('months', 12)}
    }\n {tab === 5 &&
    {this.getPeriodsTab('dow', 7)}
    }\n
    \n );\n }\n}\n", "import cronstrue from 'cronstrue';\nimport 'cronstrue/locales/fr';\nimport 'cronstrue/locales/es';\nimport 'cronstrue/locales/de';\nimport 'cronstrue/locales/it';\nimport 'cronstrue/locales/ru';\nimport 'cronstrue/locales/zh_CN';\nimport 'cronstrue/locales/uk';\nimport 'cronstrue/locales/pt_BR';\nimport 'cronstrue/locales/pl';\n\nexport function convertCronToText(cron: string, lang?: ioBroker.Languages): string {\n return cronstrue.toString(cron, { locale: lang });\n}\n", "import React, { useEffect, useState } from 'react';\n\nimport { Dialog, DialogActions, DialogContent, DialogTitle, IconButton, TextField, Button } from '@mui/material';\n\nimport { Check as CheckIcon, Close as CloseIcon, Language as LanguageIcon } from '@mui/icons-material';\n\nimport { I18n } from '../i18n';\nimport type { IobTheme } from '../types';\nimport { Utils } from './Utils';\n\nconst styles: Record = {\n modalDialog: {\n minWidth: 400,\n maxWidth: 800,\n },\n overflowHidden: {\n display: 'flex',\n overflow: 'hidden',\n },\n titleIcon: {\n marginRight: 5,\n },\n content: {\n fontSize: 16,\n },\n languageButton: {\n position: 'absolute',\n right: 8,\n top: 8,\n },\n languageButtonActive: (theme: IobTheme) => ({\n color: theme.palette.primary.main,\n }),\n};\n\ninterface CustomModalProps {\n icon?: any;\n open: boolean;\n onClose: () => void;\n children: React.JSX.Element | null;\n titleButtonClose?: string;\n titleButtonApply?: string;\n onApply: (result: string) => void;\n fullWidth?: boolean;\n maxWidth?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n applyButton?: boolean;\n applyDisabled?: boolean;\n overflowHidden?: boolean;\n help?: string;\n noTranslation?: boolean;\n toggleTranslation?: () => void;\n title?: string;\n progress?: boolean;\n textInput?: boolean;\n defaultValue?: string;\n theme: IobTheme;\n}\n\nexport function CustomModal(props: CustomModalProps): React.JSX.Element {\n const {\n open,\n toggleTranslation,\n noTranslation,\n title,\n fullWidth,\n help,\n maxWidth,\n progress,\n icon,\n applyDisabled,\n applyButton,\n onClose,\n children,\n titleButtonApply,\n titleButtonClose,\n onApply,\n textInput,\n defaultValue,\n overflowHidden,\n } = props;\n\n const [value, setValue] = useState(defaultValue || '');\n\n useEffect(() => {\n setValue(defaultValue || '');\n }, [defaultValue]);\n\n let Icon = null;\n\n if (icon) {\n Icon = icon;\n }\n\n return (\n \n {title && (\n \n {icon ? : null}\n {title}\n {I18n.getLanguage() !== 'en' && toggleTranslation ? (\n toggleTranslation()}\n title={I18n.t('Disable/Enable translation')}\n >\n \n \n ) : null}\n \n )}\n \n {textInput && (\n setValue(e.target.value)}\n // customValue\n />\n )}\n {children}\n {help ?
    {help}
    : null}\n \n \n {applyButton !== false && (\n }\n disabled={progress || (applyDisabled && defaultValue === value)}\n onClick={() => onApply(textInput ? value : '')}\n variant=\"contained\"\n color=\"primary\"\n >\n {I18n.t(titleButtonApply || 'ra_Ok')}\n \n )}\n }\n >\n {I18n.t(titleButtonClose || 'ra_Cancel')}\n \n \n \n );\n}\n", "/**\n * Copyright 2020-2024, Denis Haev \n *\n * MIT License\n *\n */\nimport React, { Component, type JSX } from 'react';\nimport Dropzone from 'react-dropzone';\n\nimport {\n LinearProgress,\n ListItemIcon,\n ListItemText,\n Menu,\n MenuItem,\n Tooltip,\n CircularProgress,\n Toolbar,\n IconButton,\n Fab,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogContentText,\n DialogActions,\n Button,\n Input,\n Breadcrumbs,\n Box,\n} from '@mui/material';\n\n// MUI Icons\nimport {\n Refresh as RefreshIcon,\n Close as CloseIcon,\n Bookmark as JsonIcon,\n BookmarkBorder as CssIcon,\n Description as HtmlIcon,\n Edit as EditIcon,\n Code as JSIcon,\n InsertDriveFile as FileIcon,\n Publish as UploadIcon,\n MusicNote as MusicIcon,\n SaveAlt as DownloadIcon,\n CreateNewFolder as AddFolderIcon,\n FolderOpen as EmptyFilterIcon,\n List as IconList,\n ViewModule as IconTile,\n ArrowBack as IconBack,\n Delete as DeleteIcon,\n Brightness6 as Brightness5Icon,\n Image as TypeIconImages,\n FontDownload as TypeIconTxt,\n AudioFile as TypeIconAudio,\n Videocam as TypeIconVideo,\n KeyboardReturn as EnterIcon,\n FolderSpecial as RestrictedIcon,\n} from '@mui/icons-material';\n\nimport type { Connection } from '@iobroker/socket-client';\n\nimport { DialogError } from '../Dialogs/Error';\nimport { Utils } from './Utils';\nimport { DialogTextInput } from '../Dialogs/TextInput';\n\n// Custom Icons\nimport { IconExpert } from '../icons/IconExpert';\nimport { IconClosed } from '../icons/IconClosed';\nimport { IconOpen } from '../icons/IconOpen';\nimport { IconNoIcon } from '../icons/IconNoIcon';\nimport { Icon } from './Icon';\n\nimport { withWidth } from './withWidth';\nimport type { ThemeName, ThemeType, Translate, IobTheme } from '../types';\n\nimport { FileViewer, EXTENSIONS, type FileViewerProps } from './FileViewer';\n\nconst ROW_HEIGHT = 32;\nconst BUTTON_WIDTH = 32;\nconst TILE_HEIGHT = 120;\nconst TILE_WIDTH = 64;\n\nconst NOT_FOUND = 'Not found';\n\n// Todo: replace with js-controller types\nexport interface MetaACL extends ioBroker.ObjectACL {\n file: number;\n}\n\n// Todo: replace with js-controller types\nexport interface MetaObject extends ioBroker.MetaObject {\n acl: MetaACL;\n}\n\nconst FILE_TYPE_ICONS: Record> = {\n all: FileIcon,\n images: TypeIconImages,\n code: JSIcon,\n txt: TypeIconTxt,\n audio: TypeIconAudio,\n video: TypeIconVideo,\n};\n\nconst styles: Record = {\n root: {\n width: '100%',\n overflow: 'hidden',\n height: '100%',\n position: 'relative',\n },\n filesDiv: {\n width: 'calc(100% - 16px)',\n overflowX: 'hidden',\n overflowY: 'auto',\n padding: 8,\n },\n filesDivHint: {\n position: 'absolute',\n bottom: 0,\n left: 20,\n opacity: 0.7,\n fontStyle: 'italic',\n fontSize: 12,\n },\n filesDivTable: {\n height: 'calc(100% - 56px)',\n },\n filesDivTile: {\n height: `calc(100% - ${48 * 2 + 8}px)`,\n display: 'flex',\n alignContent: 'flex-start',\n alignItems: 'stretch',\n flexWrap: 'wrap',\n flex: `0 0 ${TILE_WIDTH}px`,\n },\n\n itemTile: (theme: IobTheme): any => ({\n position: 'relative',\n userSelect: 'none',\n cursor: 'pointer',\n height: TILE_HEIGHT,\n width: TILE_WIDTH,\n display: 'inline-block',\n textAlign: 'center',\n opacity: 0.1,\n transition: 'opacity 1s',\n margin: '4px',\n borderRadius: '4px',\n '&:hover': {\n background: theme.palette.secondary.light,\n color: Utils.invertColor(theme.palette.secondary.main, true),\n },\n }),\n itemNameFolderTile: {\n fontWeight: 'bold',\n },\n itemNameTile: {\n width: '100%',\n height: 32,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n fontSize: 12,\n textAlign: 'center',\n wordBreak: 'break-all',\n },\n itemFolderIconTile: (theme: IobTheme): any => ({\n width: '100%',\n height: TILE_HEIGHT - 32 - 16 - 8, // name + size\n display: 'block',\n pl: 1,\n color: theme.palette.secondary.main || '#fbff7d',\n }),\n itemFolderIconBack: (theme: IobTheme): React.CSSProperties => ({\n position: 'absolute',\n top: 22,\n left: 18,\n zIndex: 1,\n color: theme.palette.mode === 'dark' ? '#FFF' : '#000',\n }),\n itemSizeTile: {\n width: '100%',\n height: 16,\n textAlign: 'center',\n fontSize: 10,\n },\n itemImageTile: {\n width: 'calc(100% - 8px)',\n height: TILE_HEIGHT - 32 - 16 - 8, // name + size\n margin: 4,\n display: 'block',\n textAlign: 'center',\n objectFit: 'contain',\n },\n itemIconTile: {\n width: '100%',\n height: TILE_HEIGHT - 32 - 16 - 8, // name + size\n display: 'block',\n objectFit: 'contain',\n },\n\n itemSelected: (theme: IobTheme): React.CSSProperties => ({\n background: theme.palette.primary.main,\n color: Utils.invertColor(theme.palette.primary.main, true),\n }),\n\n itemTable: (theme: IobTheme): any => ({\n userSelect: 'none',\n cursor: 'pointer',\n height: ROW_HEIGHT,\n display: 'inline-flex',\n lineHeight: `${ROW_HEIGHT}px`,\n '&:hover': {\n background: theme.palette.secondary.light,\n color: Utils.invertColor(theme.palette.secondary.main, true),\n },\n }),\n itemNameTable: {\n display: 'inline-block',\n pl: '10px',\n fontSize: '1rem',\n verticalAlign: 'top',\n flexGrow: 1,\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n '@media screen and (max-width: 500px)': {\n textAlign: 'end',\n direction: 'rtl',\n },\n },\n itemNameFolderTable: {\n fontWeight: 'bold',\n },\n itemSizeTable: {\n display: 'inline-block',\n width: 60,\n verticalAlign: 'top',\n textAlign: 'right',\n whiteSpace: 'nowrap',\n },\n itemAccessTable: {\n // display: 'inline-block',\n verticalAlign: 'top',\n width: 60,\n textAlign: 'right',\n paddingRight: 5,\n display: 'flex',\n justifyContent: 'center',\n },\n itemImageTable: {\n display: 'inline-block',\n width: 30,\n marginTop: 1,\n objectFit: 'contain',\n maxHeight: 30,\n },\n itemNoImageTable: {\n marginTop: 6,\n },\n itemIconTable: {\n display: 'inline-block',\n marginTop: 1,\n width: 30,\n height: 30,\n },\n itemFolderTable: {},\n itemFolderTemp: {\n opacity: 0.4,\n },\n itemFolderIconTable: (theme: IobTheme): React.CSSProperties => ({\n marginTop: '1px',\n marginLeft: '8px',\n display: 'inline-block',\n width: 30,\n height: 30,\n color: theme.palette.secondary.main || '#fbff7d',\n }),\n itemDownloadButtonTable: (theme: IobTheme): any => ({\n display: 'inline-block',\n width: BUTTON_WIDTH,\n height: ROW_HEIGHT,\n minWidth: BUTTON_WIDTH,\n verticalAlign: 'middle',\n textAlign: 'center',\n padding: 0,\n borderRadius: `${BUTTON_WIDTH / 2}px`,\n '&:hover': {\n backgroundColor: theme.palette.mode === 'dark' ? 'rgba(255, 255, 255, 0.08)' : 'rgba(0, 0, 0, 0.08)',\n },\n '& span': {\n pt: '9px',\n },\n '& svg': {\n width: 14,\n height: 14,\n fontSize: '1rem',\n mt: '-3px',\n verticalAlign: 'middle',\n color: theme.palette.mode === 'dark' ? '#EEE' : '#111',\n },\n }),\n itemDownloadEmptyTable: {\n display: 'inline-block',\n width: BUTTON_WIDTH,\n height: ROW_HEIGHT,\n minWidth: BUTTON_WIDTH,\n padding: 0,\n },\n itemAclButtonTable: {\n width: BUTTON_WIDTH,\n height: ROW_HEIGHT,\n minWidth: BUTTON_WIDTH,\n verticalAlign: 'top',\n padding: 0,\n fontSize: 12,\n display: 'flex',\n },\n itemDeleteButtonTable: {\n display: 'inline-block',\n width: BUTTON_WIDTH,\n height: ROW_HEIGHT,\n minWidth: BUTTON_WIDTH,\n verticalAlign: 'top',\n padding: 0,\n '& svg': {\n width: 18,\n height: 18,\n fontSize: '1.5rem',\n },\n },\n\n uploadDiv: {\n top: 0,\n zIndex: 1,\n bottom: 0,\n left: 0,\n right: 0,\n position: 'absolute',\n opacity: 0.9,\n textAlign: 'center',\n background: '#FFFFFF',\n },\n uploadDivDragging: {\n opacity: 1,\n },\n\n uploadCenterDiv: (theme: IobTheme): any => ({\n m: '20px',\n border: '3px dashed grey',\n borderRadius: '30px',\n width: 'calc(100% - 40px)',\n height: 'calc(100% - 40px)',\n position: 'relative',\n color: theme.palette.mode === 'dark' ? '#222' : '#CCC',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }),\n uploadCenterIcon: {\n width: '25%',\n height: '25%',\n },\n uploadCenterText: {\n fontSize: 24,\n fontWeight: 'bold',\n },\n uploadCloseButton: {\n zIndex: 2,\n position: 'absolute',\n top: 30,\n right: 30,\n },\n uploadCenterTextAndIcon: {\n position: 'absolute',\n height: '30%',\n width: '100%',\n margin: 'auto',\n opacity: 0.3,\n },\n menuButtonExpertActive: {\n color: '#c00000',\n },\n menuButtonRestrictActive: {\n color: '#c05000',\n },\n pathDiv: (theme: IobTheme): any => ({\n display: 'flex',\n width: 'calc(100% - 16px)',\n ml: 1,\n mr: 1,\n textOverflow: 'clip',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n backgroundColor: theme.palette.secondary.main,\n }),\n pathDivInput: {\n width: '100%',\n },\n pathDivBreadcrumbDir: (theme: IobTheme): any => ({\n pl: '2px',\n pr: '2px',\n cursor: 'pointer',\n '&:hover': {\n background: theme.palette.primary.main,\n },\n }),\n pathDivBreadcrumbSelected: {\n // todo: add style\n },\n backgroundImageLight: {\n background: 'white',\n },\n backgroundImageDark: {\n background: 'black',\n },\n backgroundImageColored: {\n background: 'silver',\n },\n specialFolder: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#229b0f' : '#5dd300',\n }),\n tooltip: {\n pointerEvents: 'none',\n },\n};\n\nconst USER_DATA = '0_userdata.0';\n\nfunction getParentDir(dir: string | null): string {\n const parts = (dir || '').split('/');\n if (parts.length) {\n parts.pop();\n }\n return parts.join('/');\n}\n\nfunction isFile(path: string): boolean {\n const ext = Utils.getFileExtension(path);\n return !!(ext?.toLowerCase().match(/[a-z]+/) && ext.length < 5);\n}\n\nconst TABLE = 'Table';\nconst TILE = 'Tile';\n\nexport interface FileBrowserProps {\n /** The key to identify this component. */\n key?: string;\n /** Additional styling for this component. */\n style?: React.CSSProperties;\n /** The CSS class name. */\n className?: string;\n /** Translation function. */\n t: Translate;\n /** The selected language. */\n lang: ioBroker.Languages;\n /** The socket connection. */\n socket: Connection;\n /** Shows if the component data ready. */\n ready?: boolean;\n /** Is expert mode enabled? (default: false) */\n expertMode?: boolean;\n /** Show the toolbar? (default: false) */\n showToolbar?: boolean;\n /** If defined, allow selecting only files from this folder and subfolders */\n limitPath?: string;\n /** Allow upload of new files? (default: false) */\n allowUpload?: boolean;\n /** Allow download of files? (default: false) */\n allowDownload?: boolean;\n /** Allow creation of new folders? (default: false) */\n allowCreateFolder?: boolean;\n /** Allow deleting files? (default: false) */\n allowDelete?: boolean;\n /** Allow viewing files? (default: false) */\n allowView?: boolean;\n /** Prefix (default: '.') */\n imagePrefix?: string;\n /** Show the expert button? */\n showExpertButton?: boolean;\n /** Type of view */\n viewType?: 'Table' | 'Tile';\n /** Show the buttons to switch the view from table to tile? (default: false) */\n showViewTypeButton?: boolean;\n /** The ID of the selected file. */\n selected?: string | string[];\n /** The file extensions to show, like ['png', 'svg', 'bmp', 'jpg', 'jpeg', 'gif']. */\n filterFiles?: string[];\n /** The file extension categories to show. */\n filterByType?: 'images' | 'code' | 'txt';\n /** Callback for file selection. */\n onSelect?: (id: string | string[], isDoubleClick?: boolean, isFolder?: boolean) => void;\n /** Theme name */\n themeName?: ThemeName;\n /** Theme type. */\n themeType?: ThemeType;\n /** Theme object. */\n theme: IobTheme;\n\n /** Padding in pixels for folder levels */\n levelPadding?: number;\n\n restrictToFolder?: string;\n\n modalEditOfAccessControl?: (obj: FileBrowserClass) => JSX.Element | null;\n\n allowNonRestricted?: boolean;\n\n showTypeSelector?: boolean;\n\n FileViewer?: React.FC;\n}\n\nexport interface FolderOrFileItem {\n id: string;\n level: number;\n name: string;\n folder: boolean;\n temp?: boolean;\n\n size?: number | undefined;\n ext?: string | null;\n modified?: number;\n title?: ioBroker.StringOrTranslated;\n meta?: boolean;\n from?: string;\n ts?: number;\n color?: string;\n icon?: string;\n acl?: ioBroker.EvaluatedFileACL | MetaACL;\n}\n\nexport type Folders = Record;\n\nfunction sortFolders(a: FolderOrFileItem, b: FolderOrFileItem): number {\n if (a.folder && b.folder) {\n return a.name > b.name ? 1 : a.name < b.name ? -1 : 0;\n }\n if (a.folder) {\n return -1;\n }\n if (b.folder) {\n return 1;\n }\n return a.name > b.name ? 1 : a.name < b.name ? -1 : 0;\n}\n\ninterface FileBrowserState {\n viewType: string;\n folders: Folders;\n filterEmpty: boolean;\n expanded: string[];\n currentDir: string;\n expertMode: boolean;\n addFolder: boolean;\n uploadFile: boolean | 'dragging';\n deleteItem: string;\n viewer: string;\n formatEditFile: string | null;\n path: string;\n selected: string;\n errorText: string;\n modalEditOfAccess: boolean;\n backgroundImage: string | null;\n queueLength: number;\n loadAllFolders: boolean;\n fileErrors: string[];\n filterByType: string;\n showTypesMenu: HTMLButtonElement | null;\n restrictToFolder: string;\n pathFocus: boolean;\n}\n\nexport class FileBrowserClass extends Component {\n private readonly imagePrefix: string;\n\n private readonly levelPadding: number;\n\n private mounted: boolean;\n\n private suppressDeleteConfirm: number;\n\n private browseList:\n | {\n processing?: boolean;\n resolve: null | ((files: ioBroker.ReadDirResult[]) => void);\n reject: null | ((e: any) => void);\n adapter: string | null;\n relPath: string | null;\n }[]\n | null;\n\n private browseListRunning: boolean;\n\n private initialReadFinished: boolean;\n\n private supportSubscribes: boolean | null;\n\n private _tempTimeout: Record>;\n\n private readonly limitToObjectID: string | null = null;\n\n private readonly limitToPath: string | null = null;\n\n private lastSelect: number | null = null;\n\n private setOpacityTimer: ReturnType | null = null;\n\n private cacheFoldersTimeout: ReturnType | null = null;\n\n private foldersLoading: boolean | null = null;\n\n private cacheFolders: Folders | null = null;\n\n private readonly localStorage: Storage;\n\n constructor(props: FileBrowserProps) {\n super(props);\n\n this.localStorage = (window as any)._localStorage || window.localStorage;\n const expandedStr = this.localStorage.getItem('files.expanded') || '[]';\n\n if (this.props.limitPath) {\n const parts = this.props.limitPath.split('/');\n this.limitToObjectID = parts[0];\n this.limitToPath = !parts.length ? null : parts.length === 1 && parts[0] === '' ? null : parts.join('/');\n if (this.limitToPath && this.limitToPath.endsWith('/')) {\n this.limitToPath.substring(0, this.limitToPath.length - 1);\n }\n }\n\n let expanded: string[];\n try {\n expanded = JSON.parse(expandedStr);\n if (this.limitToPath) {\n expanded = expanded.filter(\n id =>\n id.startsWith(`${this.limitToPath}/`) ||\n id === this.limitToPath ||\n this.limitToPath?.startsWith(`${id}/`),\n );\n }\n } catch {\n expanded = [];\n }\n\n let viewType;\n if (this.props.showViewTypeButton) {\n viewType = this.localStorage.getItem('files.viewType') || TABLE;\n } else {\n viewType = TABLE;\n }\n\n let selected = this.props.selected || this.localStorage.getItem('files.selected') || USER_DATA;\n\n let currentDir: string;\n\n if (props.restrictToFolder) {\n selected = props.restrictToFolder;\n currentDir = props.restrictToFolder;\n const parts = props.restrictToFolder.split('/');\n expanded = [];\n let path = '';\n for (let i = 0; i < parts.length; i++) {\n path += (path ? '/' : '') + parts[i];\n expanded.push(path);\n }\n } else {\n // TODO: Now we do not support multiple selection\n if (Array.isArray(selected)) {\n selected = selected[0];\n }\n\n if (isFile(selected)) {\n currentDir = getParentDir(selected);\n } else {\n currentDir = selected;\n }\n }\n const backgroundImage = this.localStorage.getItem('files.backgroundImage') || null;\n\n this.state = {\n viewType,\n folders: {},\n filterEmpty: this.localStorage.getItem('files.empty') !== 'false',\n expanded,\n currentDir,\n expertMode: !!props.expertMode,\n addFolder: false,\n uploadFile: false,\n deleteItem: '',\n // marked: [],\n viewer: '',\n formatEditFile: '',\n path: selected,\n selected,\n errorText: '',\n modalEditOfAccess: false,\n backgroundImage,\n queueLength: 0,\n loadAllFolders: false,\n // allFoldersLoaded: false,\n fileErrors: [],\n filterByType: props.filterByType || window.localStorage.getItem('files.filterByType') || '',\n showTypesMenu: null,\n restrictToFolder: props.restrictToFolder || '',\n pathFocus: false,\n };\n\n this.imagePrefix = this.props.imagePrefix || './files/';\n\n this.levelPadding = this.props.levelPadding || 20;\n this.mounted = true;\n this.suppressDeleteConfirm = 0;\n\n this.browseList = [];\n this.browseListRunning = false;\n this.initialReadFinished = false;\n this.supportSubscribes = null;\n this._tempTimeout = {};\n }\n\n static getDerivedStateFromProps(\n props: FileBrowserProps,\n state: FileBrowserState,\n ): Partial | null {\n if (props.expertMode !== undefined && props.expertMode !== state.expertMode) {\n return { expertMode: props.expertMode, loadAllFolders: true };\n }\n\n return null;\n }\n\n async loadFolders(): Promise {\n this.initialReadFinished = false;\n\n let folders = (await this.browseFolder('/')) as unknown as Folders;\n\n if (this.state.viewType === TABLE) {\n folders = (await this.browseFolders([...this.state.expanded], folders)) as unknown as Folders;\n } else if (\n this.state.currentDir &&\n this.state.currentDir !== '/' &&\n (!this.limitToObjectID || this.state.currentDir.startsWith(this.limitToObjectID))\n ) {\n folders = (await this.browseFolder(this.state.currentDir, folders)) as unknown as Folders;\n }\n\n this.setState({ folders }, () => {\n if (this.state.viewType === TABLE && !this.findItem(this.state.selected)) {\n const parts = this.state.selected.split('/');\n while (parts.length && !this.findItem(parts.join('/'))) {\n parts.pop();\n }\n let selected;\n if (parts.length) {\n selected = parts.join('/');\n } else {\n selected = USER_DATA;\n }\n this.setState({ selected, path: selected, pathFocus: false }, () => this.scrollToSelected());\n } else {\n this.scrollToSelected();\n }\n this.initialReadFinished = true;\n });\n }\n\n scrollToSelected(): void {\n if (this.mounted) {\n const el = document.getElementById(this.state.selected);\n el?.scrollIntoView();\n }\n }\n\n async componentDidMount(): Promise {\n this.mounted = true;\n this.loadFolders().catch(error => console.error(`Cannot load folders: ${error}`));\n\n this.supportSubscribes = await this.props.socket.checkFeatureSupported('BINARY_STATE_EVENT');\n if (this.supportSubscribes) {\n await this.props.socket.subscribeFiles('*', '*', this.onFileChange);\n }\n }\n\n componentWillUnmount(): void {\n if (this.supportSubscribes) {\n this.props.socket.unsubscribeFiles('*', '*', this.onFileChange);\n }\n this.mounted = false;\n this.browseList = null;\n this.browseListRunning = false;\n Object.values(this._tempTimeout).forEach(timer => timer && clearTimeout(timer));\n this._tempTimeout = {};\n }\n\n browseFoldersCb(foldersList: string[], newFoldersNotNull: Folders, cb: (folders: Folders) => void): void {\n if (!foldersList?.length) {\n cb(newFoldersNotNull);\n } else {\n const folder = foldersList.shift();\n if (folder) {\n void this.browseFolder(folder, newFoldersNotNull)\n .catch((e: Error) => console.error(`Cannot read folder ${folder}: ${e.message}`))\n .then(() => {\n setTimeout(() => this.browseFoldersCb(foldersList, newFoldersNotNull, cb), 0);\n });\n } else {\n setTimeout(() => this.browseFoldersCb(foldersList, newFoldersNotNull, cb), 0);\n }\n }\n }\n\n browseFolders(foldersList: string[], _newFolders?: Folders | null): Promise {\n let newFoldersNotNull: Folders;\n if (!_newFolders) {\n newFoldersNotNull = {};\n Object.keys(this.state.folders).forEach(folder => (newFoldersNotNull[folder] = this.state.folders[folder]));\n } else {\n newFoldersNotNull = _newFolders;\n }\n\n if (!foldersList?.length) {\n return Promise.resolve(newFoldersNotNull);\n }\n return new Promise(resolve => {\n this.browseFoldersCb(foldersList, newFoldersNotNull, resolve);\n });\n }\n\n readDirSerial(adapter: string, relPath: string): Promise {\n return new Promise((resolve, reject) => {\n if (this.browseList) {\n // if component still mounted\n this.browseList.push({\n resolve: resolve as unknown as (files: ioBroker.ReadDirResult[]) => void,\n reject,\n adapter,\n relPath,\n });\n if (!this.browseListRunning) {\n this.processBrowseList();\n }\n }\n });\n }\n\n processBrowseList(level: number = 0): void {\n if (!this.browseListRunning && this.browseList && this.browseList.length) {\n this.browseListRunning = true;\n if (this.browseList.length > 10) {\n // not too often\n if (!(this.browseList.length % 10)) {\n this.setState({ queueLength: this.browseList.length });\n }\n } else {\n this.setState({ queueLength: this.browseList.length });\n }\n\n this.browseList[0].processing = true;\n this.props.socket\n .readDir(this.browseList[0].adapter, this.browseList[0].relPath)\n .then(files => {\n if (this.browseList) {\n // if component still mounted\n const item = this.browseList.shift();\n if (item) {\n const resolve = item.resolve;\n item.resolve = null;\n item.reject = null;\n item.adapter = null;\n item.relPath = null;\n if (resolve) {\n resolve(files);\n }\n this.browseListRunning = false;\n if (this.browseList.length) {\n if (level < 5) {\n this.processBrowseList(level + 1);\n } else {\n setTimeout(() => this.processBrowseList(0), 0);\n }\n } else {\n this.setState({ queueLength: 0 });\n }\n } else {\n this.setState({ queueLength: 0 });\n }\n }\n })\n .catch(e => {\n if (this.browseList) {\n // if component still mounted\n const item = this.browseList.shift();\n if (item) {\n const reject = item.reject;\n item.resolve = null;\n item.reject = null;\n item.adapter = null;\n item.relPath = null;\n if (reject) {\n reject(e);\n }\n this.browseListRunning = false;\n if (this.browseList.length) {\n if (level < 5) {\n this.processBrowseList(level + 1);\n } else {\n setTimeout(() => this.processBrowseList(0), 0);\n }\n } else {\n this.setState({ queueLength: 0 });\n }\n } else {\n this.setState({ queueLength: 0 });\n }\n }\n });\n }\n }\n\n async browseFolder(\n folderId: string,\n _newFolders?: Folders | null,\n _checkEmpty?: boolean,\n force?: boolean,\n ): Promise {\n let newFoldersNotNull: Folders;\n if (!_newFolders) {\n newFoldersNotNull = {};\n Object.keys(this.state.folders).forEach(folder => {\n newFoldersNotNull[folder] = this.state.folders[folder];\n });\n } else {\n newFoldersNotNull = _newFolders;\n }\n\n if (newFoldersNotNull[folderId] && !force) {\n if (!_checkEmpty) {\n return new Promise((resolve, reject): void => {\n Promise.all(\n newFoldersNotNull[folderId]\n .filter(item => item.folder)\n .map(item =>\n this.browseFolder(item.id, newFoldersNotNull, true).catch((): undefined => undefined),\n ),\n )\n .then((): void => resolve(newFoldersNotNull))\n .catch((error: unknown): void => reject(new Error(error as string)));\n });\n }\n\n return Promise.resolve(newFoldersNotNull);\n }\n\n // if root folder\n if (!folderId || folderId === '/') {\n try {\n let objs = (await this.props.socket.readMetaItems()) as MetaObject[];\n const _folders: FolderOrFileItem[] = [];\n let userData = null;\n\n if (this.state.restrictToFolder) {\n const adapter = this.state.restrictToFolder.split('/')[0];\n objs = objs.filter(obj => obj._id === adapter);\n } else if (!this.state.expertMode) {\n // load only adapter.admin and not other meta files like hm-rpc.0.devices.blablabla\n objs = objs.filter(obj => !obj._id.endsWith('.admin'));\n }\n\n const pos = objs.findIndex(obj => obj._id === 'system.meta.uuid');\n if (pos !== -1) {\n objs.splice(pos, 1);\n }\n\n objs.forEach(obj => {\n if (this.limitToObjectID && this.limitToObjectID !== obj._id) {\n return;\n }\n\n const item: FolderOrFileItem = {\n id: obj._id,\n name: obj._id,\n title: (obj.common && obj.common.name) || obj._id,\n meta: true,\n from: obj.from,\n ts: obj.ts,\n color: obj.common && obj.common.color,\n icon: obj.common && obj.common.icon,\n folder: true,\n acl: obj.acl,\n level: 0,\n };\n\n if (item.id === USER_DATA) {\n // user data must be first\n userData = item;\n } else {\n _folders.push(item);\n }\n });\n\n _folders.sort((a, b) => (a.id > b.id ? 1 : a.id < b.id ? -1 : 0));\n if (!this.limitToObjectID || this.limitToObjectID === USER_DATA) {\n if (userData) {\n _folders.unshift(userData);\n }\n }\n\n newFoldersNotNull[folderId || '/'] = _folders;\n\n if (!_checkEmpty) {\n return Promise.all(\n _folders\n .filter(item => item.folder)\n .map(item =>\n this.browseFolder(item.id, newFoldersNotNull, true).catch((): undefined => undefined),\n ),\n ).then((): Folders => newFoldersNotNull);\n }\n } catch (e: unknown) {\n const knownError = e as Error;\n if (this.initialReadFinished) {\n window.alert(`Cannot read meta items: ${knownError.message}`);\n }\n newFoldersNotNull[folderId || '/'] = [];\n }\n return newFoldersNotNull;\n }\n\n const parts = folderId.split('/');\n const level = parts.length;\n const adapter = parts.shift();\n const relPath = parts.join('/');\n\n // make all requests here serial\n let files: ioBroker.ReadDirResult[];\n try {\n files = await this.readDirSerial(adapter || '', relPath);\n } catch (error: unknown) {\n // work around: 0_userdata.0 is a special folder, that should exist event when other folders and itself do not exit, as the browser shows it anyway.\n if (error === 'Not exists' && adapter === '0_userdata.0') {\n files = [];\n } else {\n throw error;\n }\n }\n try {\n const _folders: FolderOrFileItem[] = [];\n\n files.forEach(file => {\n const item: FolderOrFileItem = {\n id: `${folderId}/${file.file}`,\n ext: Utils.getFileExtension(file.file),\n folder: file.isDir,\n name: file.file,\n size: file.stats?.size,\n modified: file.modifiedAt,\n acl: file.acl,\n level,\n };\n\n if (this.state.restrictToFolder) {\n if (\n item.folder &&\n (item.id.startsWith(`${this.state.restrictToFolder}/`) ||\n item.id === this.state.restrictToFolder ||\n this.state.restrictToFolder.startsWith(`${item.id}/`))\n ) {\n _folders.push(item);\n } else if (item.id.startsWith(`${this.state.restrictToFolder}/`)) {\n _folders.push(item);\n }\n } else if (this.limitToPath) {\n if (\n item.folder &&\n (item.id.startsWith(`${this.limitToPath}/`) ||\n item.id === this.limitToPath ||\n this.limitToPath.startsWith(`${item.id}/`))\n ) {\n _folders.push(item);\n } else if (item.id.startsWith(`${this.limitToPath}/`)) {\n _folders.push(item);\n }\n } else {\n _folders.push(item);\n }\n });\n\n _folders.sort(sortFolders);\n newFoldersNotNull[folderId] = _folders;\n\n if (!_checkEmpty) {\n return Promise.all(\n _folders\n .filter(item => item.folder)\n .map(item => this.browseFolder(item.id, newFoldersNotNull, true)),\n ).then(() => newFoldersNotNull);\n }\n } catch (e: unknown) {\n const knownError = e as Error;\n if (this.initialReadFinished) {\n window.alert(`Cannot read ${adapter}${relPath ? `/${relPath}` : ''}: ${knownError?.message}`);\n }\n newFoldersNotNull[folderId] = [];\n }\n\n return newFoldersNotNull;\n }\n\n toggleFolder(item: FolderOrFileItem, e: React.MouseEvent): void {\n e?.stopPropagation();\n const expanded = [...this.state.expanded];\n const pos = expanded.indexOf(item.id);\n if (pos === -1) {\n expanded.push(item.id);\n expanded.sort();\n\n this.localStorage.setItem('files.expanded', JSON.stringify(expanded));\n\n if (!item.temp) {\n this.browseFolder(item.id)\n .then(folders => this.setState({ expanded, folders }))\n .catch(err =>\n window.alert(\n err === NOT_FOUND\n ? this.props.t('ra_Cannot find \"%s\"', item.id)\n : this.props.t('ra_Cannot read \"%s\"', item.id),\n ),\n );\n } else {\n this.setState({ expanded });\n }\n } else {\n expanded.splice(pos, 1);\n this.localStorage.setItem('files.expanded', JSON.stringify(expanded));\n this.setState({ expanded });\n }\n }\n\n onFileChange = (id: string, fileName: string, size: number | null): void => {\n const key = `${id}/${fileName}`;\n const pos = key.lastIndexOf('/');\n const folder = key.substring(0, pos);\n console.log(`File changed ${key}[${size}]`);\n\n if (this.state.folders[folder]) {\n if (this._tempTimeout[folder]) {\n clearTimeout(this._tempTimeout[folder]);\n }\n\n this._tempTimeout[folder] = setTimeout(() => {\n delete this._tempTimeout[folder];\n\n this.browseFolder(folder, null, false, true)\n .then(folders => this.setState({ folders }))\n .catch(e => console.error(`Cannot read folder: ${e.message}`));\n }, 300);\n }\n };\n\n changeFolder(e: React.MouseEvent, folder?: string): void {\n e?.stopPropagation();\n\n this.lastSelect = Date.now();\n\n let _folder = folder || getParentDir(this.state.currentDir);\n\n if (_folder === '/') {\n _folder = '';\n }\n\n this.localStorage.setItem('files.currentDir', _folder);\n\n if (folder && e && (e.altKey || e.shiftKey || e.ctrlKey || e.metaKey)) {\n this.setState({ selected: _folder });\n return;\n }\n\n // If desired folder is not yet loaded\n if (_folder && !this.state.folders[_folder]) {\n this.browseFolder(_folder)\n .then(folders =>\n this.setState(\n {\n folders,\n path: _folder,\n currentDir: _folder,\n selected: _folder,\n pathFocus: false,\n },\n () => this.props.onSelect && this.props.onSelect(''),\n ),\n )\n .catch(_e => console.error(`Cannot read folder: ${_e.message}`));\n return;\n }\n\n this.setState(\n {\n currentDir: _folder,\n selected: _folder,\n path: _folder,\n pathFocus: false,\n },\n () => this.props.onSelect && this.props.onSelect(''),\n );\n }\n\n select(id: string, e?: React.MouseEvent | null, cb?: () => void): void {\n if (e) {\n e.stopPropagation();\n }\n this.lastSelect = Date.now();\n\n this.localStorage.setItem('files.selected', id);\n\n this.setState({ selected: id, path: id, pathFocus: false }, () => {\n if (this.props.onSelect) {\n const ext = Utils.getFileExtension(id);\n if (\n (!this.props.filterFiles || (ext && this.props.filterFiles.includes(ext))) &&\n (!this.state.filterByType ||\n (ext && (EXTENSIONS as Record)[this.state.filterByType].includes(ext)))\n ) {\n this.props.onSelect(id, false, !!this.state.folders[id]);\n } else {\n this.props.onSelect('');\n }\n }\n if (cb) {\n cb();\n }\n });\n }\n\n getText(text?: ioBroker.StringOrTranslated | null): string | undefined {\n if (text) {\n if (typeof text === 'object') {\n return text[this.props.lang] || text.en || undefined;\n }\n return text;\n }\n return undefined;\n }\n\n renderFolder(item: FolderOrFileItem, expanded?: boolean): JSX.Element | null {\n if (\n this.state.viewType === TABLE &&\n this.state.filterEmpty &&\n (!this.state.folders[item.id] || !this.state.folders[item.id].length) &&\n item.id !== USER_DATA &&\n !item.temp\n ) {\n return null;\n }\n const IconEl = expanded ? IconOpen : IconClosed;\n const padding = this.state.viewType === TABLE ? item.level * this.levelPadding : 0;\n const isUserData = item.name === USER_DATA;\n const isSpecialData = isUserData || item.name === 'vis.0' || item.name === 'vis-2.0';\n\n const iconStyle = Utils.getStyle(\n this.props.theme,\n styles[`itemFolderIcon${this.state.viewType}`],\n isSpecialData && styles.specialFolder,\n );\n return (\n (this.state.viewType === TABLE ? this.select(item.id, e) : this.changeFolder(e, item.id))}\n onDoubleClick={e => this.state.viewType === TABLE && this.toggleFolder(item, e)}\n title={this.getText(item.title)}\n className=\"browserItem\"\n sx={Utils.getStyle(\n this.props.theme,\n styles[`item${this.state.viewType}`],\n styles[`itemFolder${this.state.viewType}`],\n this.state.selected === item.id ? styles.itemSelected : {},\n item.temp ? styles.itemFolderTemp : {},\n )}\n >\n this.toggleFolder(item, e) : undefined\n }\n />\n\n \n {isUserData ? this.props.t('ra_User files') : item.name}\n \n\n \n {this.state.viewType === TABLE && this.state.folders[item.id]\n ? this.state.folders[item.id].length\n : ''}\n \n\n \n {this.state.viewType === TABLE && this.props.expertMode ? this.formatAcl(item.acl) : null}\n \n\n {this.state.viewType === TABLE && this.props.expertMode ? (\n \n ) : null}\n\n {this.state.viewType === TABLE && this.props.allowDownload ? (\n
    \n ) : null}\n\n {this.state.viewType === TABLE &&\n this.props.allowDelete &&\n this.state.folders[item.id] &&\n this.state.folders[item.id].length ? (\n {\n e.stopPropagation();\n if (this.suppressDeleteConfirm > Date.now()) {\n this.deleteItem(item.id);\n } else {\n this.setState({ deleteItem: item.id });\n }\n }}\n sx={styles[`itemDeleteButton${this.state.viewType}`]}\n size=\"large\"\n >\n \n \n ) : this.state.viewType === TABLE && this.props.allowDelete ? (\n \n ) : null}\n \n );\n }\n\n renderBackFolder(): JSX.Element {\n return (\n this.changeFolder(e)}\n title={this.props.t('ra_Back to %s', getParentDir(this.state.currentDir))}\n className=\"browserItem\"\n sx={Utils.getStyle(\n this.props.theme,\n styles[`item${this.state.viewType}`],\n styles[`itemFolder${this.state.viewType}`],\n )}\n >\n \n \n\n \n ..\n \n \n );\n }\n\n formatSize(size: number | null | undefined): JSX.Element {\n return (\n
    \n {size || size === 0 ? Utils.formatBytes(size) : ''}\n
    \n );\n }\n\n formatAcl(acl: ioBroker.EvaluatedFileACL | MetaACL | undefined): JSX.Element {\n const access: number = acl ? (acl as ioBroker.EvaluatedFileACL).permissions || (acl as MetaACL).file : 0;\n let accessStr: string;\n if (access) {\n accessStr = access.toString(16).padStart(3, '0');\n } else {\n accessStr = '';\n }\n\n return (\n
    \n {this.props.modalEditOfAccessControl ? (\n this.setState({ modalEditOfAccess: true })}\n sx={styles[`itemAclButton${this.state.viewType}`]}\n >\n {accessStr || '---'}\n \n ) : (\n accessStr || '---'\n )}\n
    \n );\n }\n\n getFileIcon(ext: string | null): JSX.Element {\n switch (ext) {\n case 'json':\n case 'json5':\n return ;\n\n case 'css':\n return ;\n\n case 'js':\n case 'ts':\n return ;\n\n case 'html':\n case 'md':\n return ;\n\n case 'mp3':\n case 'ogg':\n case 'wav':\n case 'm4a':\n case 'mp4':\n case 'flac':\n return ;\n\n default:\n return ;\n }\n }\n\n static getEditFile(ext: string | null): boolean {\n switch (ext) {\n case 'json':\n case 'json5':\n case 'js':\n case 'html':\n case 'txt':\n case 'css':\n case 'log':\n return true;\n default:\n return false;\n }\n }\n\n setStateBackgroundImage = (): void => {\n const array = ['light', 'dark', 'colored', 'delete'];\n this.setState(({ backgroundImage }) => {\n if (\n backgroundImage &&\n array.indexOf(backgroundImage) !== -1 &&\n array.length - 1 !== array.indexOf(backgroundImage)\n ) {\n this.localStorage.setItem('files.backgroundImage', array[array.indexOf(backgroundImage) + 1]);\n return { backgroundImage: array[array.indexOf(backgroundImage) + 1] };\n }\n this.localStorage.setItem('files.backgroundImage', array[0]);\n return { backgroundImage: array[0] };\n });\n };\n\n getStyleBackgroundImage = (): React.CSSProperties | null => {\n // ['light', 'dark', 'colored', 'delete']\n switch (this.state.backgroundImage) {\n case 'light':\n return styles.backgroundImageLight;\n case 'dark':\n return styles.backgroundImageDark;\n case 'colored':\n return styles.backgroundImageColored;\n case 'delete':\n return null;\n default:\n return null;\n }\n };\n\n renderFile(item: FolderOrFileItem): JSX.Element {\n const padding = this.state.viewType === TABLE ? item.level * this.levelPadding : 0;\n const ext = Utils.getFileExtension(item.name);\n\n return (\n {\n e.stopPropagation();\n if (!this.props.onSelect) {\n this.setState({ viewer: this.imagePrefix + item.id, formatEditFile: ext });\n } else if (\n (!this.props.filterFiles || (item.ext && this.props.filterFiles.includes(item.ext))) &&\n (!this.state.filterByType ||\n (item.ext &&\n (EXTENSIONS as Record)[this.state.filterByType].includes(item.ext)))\n ) {\n this.props.onSelect(item.id, true, !!this.state.folders[item.id]);\n }\n }}\n onClick={e => this.select(item.id, e)}\n style={this.state.viewType === TABLE ? { marginLeft: padding, width: `calc(100% - ${padding}px)` } : {}}\n className=\"browserItem\"\n sx={Utils.getStyle(\n this.props.theme,\n styles[`item${this.state.viewType}`],\n styles[`itemFile${this.state.viewType}`],\n this.state.selected === item.id ? styles.itemSelected : undefined,\n )}\n >\n {ext && EXTENSIONS.images.includes(ext) ? (\n this.state.fileErrors.includes(item.id) ? (\n \n ) : (\n {\n (e.target as HTMLImageElement).onerror = null;\n const fileErrors = [...this.state.fileErrors];\n if (!fileErrors.includes(item.id)) {\n fileErrors.push(item.id);\n this.setState({ fileErrors });\n }\n }}\n style={{ ...styles[`itemImage${this.state.viewType}`], ...this.getStyleBackgroundImage() }}\n src={this.imagePrefix + item.id}\n alt={item.name}\n />\n )\n ) : (\n this.getFileIcon(ext)\n )}\n \n {item.name}\n \n \n {this.formatSize(item.size)}\n \n \n {this.state.viewType === TABLE && this.props.expertMode ? this.formatAcl(item.acl) : null}\n \n \n {this.state.viewType === TABLE && this.props.expertMode && FileBrowserClass.getEditFile(ext) ? (\n {\n e.stopPropagation();\n if (!this.props.onSelect) {\n this.setState({ viewer: this.imagePrefix + item.id, formatEditFile: ext });\n } else if (\n (!this.props.filterFiles ||\n (item.ext && this.props.filterFiles.includes(item.ext))) &&\n (!this.state.filterByType ||\n (item.ext &&\n (EXTENSIONS as Record)[this.state.filterByType].includes(\n item.ext,\n )))\n ) {\n this.props.onSelect(item.id, true, !!this.state.folders[item.id]);\n }\n }}\n sx={styles.itemDeleteButtonTable}\n size=\"large\"\n >\n \n \n ) : (\n \n )}\n \n {this.state.viewType === TABLE && this.props.allowDownload ? (\n e.stopPropagation()}\n >\n \n \n ) : null}\n\n {this.state.viewType === TABLE &&\n this.props.allowDelete &&\n item.id !== 'vis.0/' &&\n item.id !== 'vis-2.0/' &&\n item.id !== USER_DATA ? (\n {\n e.stopPropagation();\n if (this.suppressDeleteConfirm > Date.now()) {\n this.deleteItem(item.id);\n } else {\n this.setState({ deleteItem: item.id });\n }\n }}\n sx={styles[`itemDeleteButton${this.state.viewType}`]}\n size=\"large\"\n >\n \n \n ) : this.state.viewType === TABLE && this.props.allowDelete ? (\n \n ) : null}\n \n );\n }\n\n renderItems(folderId: string): JSX.Element | (JSX.Element | null)[] {\n if (this.state.folders && this.state.folders[folderId]) {\n // tile\n if (this.state.viewType === TILE) {\n const res: (JSX.Element | null)[] = [];\n if (folderId && folderId !== '/') {\n res.push(this.renderBackFolder());\n }\n this.state.folders[folderId].forEach(item => {\n if (item.folder) {\n res.push(this.renderFolder(item));\n } else if (\n (!this.props.filterFiles || (item.ext && this.props.filterFiles.includes(item.ext))) &&\n (!this.state.filterByType ||\n (item.ext &&\n (EXTENSIONS as Record)[this.state.filterByType].includes(item.ext)))\n ) {\n res.push(this.renderFile(item));\n }\n });\n return res;\n }\n\n const totalResult: (JSX.Element | null)[] = [];\n this.state.folders[folderId].forEach(item => {\n if (item.folder) {\n const expanded = this.state.expanded.includes(item.id);\n\n const folders = this.renderFolder(item, expanded);\n if (Array.isArray(folders)) {\n folders.forEach(folder => totalResult.push(folder));\n } else {\n totalResult.push(folders);\n }\n if (this.state.folders[item.id] && expanded) {\n const items = this.renderItems(item.id);\n if (Array.isArray(items)) {\n items.forEach(_item => totalResult.push(_item));\n } else {\n totalResult.push(items);\n }\n }\n } else if (\n (!this.props.filterFiles || (item.ext && this.props.filterFiles.includes(item.ext))) &&\n (!this.state.filterByType ||\n (item.ext &&\n (EXTENSIONS as Record)[this.state.filterByType].includes(item.ext)))\n ) {\n totalResult.push(this.renderFile(item));\n }\n });\n\n return totalResult;\n }\n\n return (\n
    \n \n \n {this.state.queueLength}\n
    \n
    \n );\n }\n\n renderToolbar(): JSX.Element {\n const IconType: React.FC<{ fontSize?: 'small' }> | null = this.props.showTypeSelector\n ? FILE_TYPE_ICONS[this.state.filterByType || 'all'] || FILE_TYPE_ICONS.all\n : null;\n\n const isInFolder = this.findFirstFolder(this.state.selected);\n\n return (\n \n {this.props.allowNonRestricted && this.props.restrictToFolder ? (\n \n this.setState({\n restrictToFolder:\n (this.state.restrictToFolder ? '' : this.props.restrictToFolder) || '',\n loadAllFolders: true,\n })\n }\n size=\"small\"\n >\n \n \n ) : null}\n {this.props.showExpertButton ? (\n this.setState({ expertMode: !this.state.expertMode })}\n size=\"small\"\n >\n \n \n ) : null}\n {this.props.showViewTypeButton ? (\n {\n const viewType = this.state.viewType === TABLE ? TILE : TABLE;\n this.localStorage.setItem('files.viewType', viewType);\n let currentDir = this.state.selected;\n if (isFile(currentDir)) {\n currentDir = getParentDir(currentDir);\n }\n this.setState({ viewType, currentDir }, () => {\n if (this.state.viewType === TABLE) {\n this.scrollToSelected();\n }\n });\n }}\n size=\"small\"\n >\n {this.state.viewType !== TABLE ? : }\n \n ) : null}\n {\n this.localStorage.setItem('file.empty', this.state.filterEmpty ? 'false' : 'true');\n this.setState({ filterEmpty: !this.state.filterEmpty });\n }}\n size=\"small\"\n >\n \n \n this.setState({ folders: {} }, () => this.loadFolders())}\n size=\"small\"\n >\n \n \n {this.props.allowCreateFolder ? (\n this.setState({ addFolder: true })}\n size=\"small\"\n >\n \n \n ) : null}\n {this.props.allowUpload ? (\n this.setState({ uploadFile: true })}\n size=\"small\"\n >\n \n \n ) : null}\n {this.props.showTypeSelector && IconType ? (\n \n this.setState({ showTypesMenu: e.target as HTMLButtonElement })}\n >\n \n \n \n ) : null}\n {this.state.showTypesMenu ? (\n this.setState({ showTypesMenu: null })}\n >\n {Object.keys(FILE_TYPE_ICONS).map(type => {\n const MyIcon: React.FC<{ fontSize?: 'small' }> = FILE_TYPE_ICONS[type];\n return (\n {\n if (type === 'all') {\n this.localStorage.removeItem('files.filterByType');\n this.setState({ filterByType: '', showTypesMenu: null });\n } else {\n this.localStorage.setItem('files.filterByType', type);\n this.setState({ filterByType: type, showTypesMenu: null });\n }\n }}\n >\n \n \n \n {this.props.t(`ra_fileType_${type}`)}\n \n );\n })}\n \n ) : null}\n \n \n \n \n \n {this.state.viewType !== TABLE && this.props.allowDelete ? (\n \n \n {\n e.stopPropagation();\n if (this.suppressDeleteConfirm > Date.now()) {\n this.deleteItem(this.state.selected);\n } else {\n this.setState({ deleteItem: this.state.selected });\n }\n }}\n size=\"small\"\n >\n \n \n \n \n ) : null}\n \n );\n }\n\n findItem(id: string, folders?: Folders | null): null | FolderOrFileItem {\n folders = folders || this.state.folders;\n if (!folders) {\n return null;\n }\n const parts = id.split('/');\n parts.pop();\n const parentFolder = parts.join('/') || '/';\n if (!folders[parentFolder]) {\n return null;\n }\n return folders[parentFolder].find(item => item.id === id) || null;\n }\n\n renderInputDialog(): JSX.Element | null {\n if (this.state.addFolder) {\n const parentFolder = this.findFirstFolder(this.state.selected);\n\n if (!parentFolder) {\n window.alert(this.props.t('ra_Invalid parent folder!'));\n return null;\n }\n\n return (\n \n this.state.folders[parentFolder].find(item => item.name === text)\n ? ''\n : this.props.t('ra_Duplicate name')\n }\n onClose={(name: string | null) => {\n if (name) {\n const folders: Folders = {};\n Object.keys(this.state.folders).forEach(\n folder => (folders[folder] = this.state.folders[folder]),\n );\n const parent = this.findItem(parentFolder);\n const id = `${parentFolder}/${name}`;\n folders[parentFolder].push({\n id,\n level: (parent?.level || 0) + 1,\n name,\n folder: true,\n temp: true,\n });\n\n folders[parentFolder].sort(sortFolders);\n\n folders[id] = [];\n const expanded = [...this.state.expanded];\n if (!expanded.includes(parentFolder)) {\n expanded.push(parentFolder);\n expanded.sort();\n }\n this.localStorage.setItem('files.expanded', JSON.stringify(expanded));\n this.setState({ addFolder: false, folders, expanded }, () => this.select(id));\n } else {\n this.setState({ addFolder: false });\n }\n }}\n replace={(text: string) => text.replace(/[^-_\\w]/, '_')}\n />\n );\n }\n return null;\n }\n\n componentDidUpdate(/* prevProps , prevState, snapshot */): void {\n if (this.setOpacityTimer) {\n clearTimeout(this.setOpacityTimer);\n }\n this.setOpacityTimer = setTimeout(() => {\n this.setOpacityTimer = null;\n const items = window.document.getElementsByClassName('browserItem');\n for (let i = 0; i < items.length; i++) {\n (items[i] as HTMLElement).style.opacity = '1';\n }\n }, 100);\n }\n\n findFirstFolder(id: string): string | null {\n let parentFolder = id;\n const item = this.findItem(parentFolder);\n // find folder\n if (item && !item.folder) {\n const parts = parentFolder.split('/');\n parts.pop();\n parentFolder = '';\n while (parts.length) {\n const _item = this.findItem(parts.join('/'));\n if (_item?.folder) {\n parentFolder = parts.join('/');\n break;\n }\n parts.pop();\n }\n if (!parts.length) {\n return null;\n }\n }\n\n return parentFolder;\n }\n\n async uploadFile(fileName: string, data: string): Promise {\n const parts: string[] = fileName.split('/');\n const adapterName = parts.shift();\n try {\n await this.props.socket.writeFile64(adapterName || '', parts.join('/'), data);\n } catch (e: unknown) {\n const knownError = e as Error;\n window.alert(`Cannot write file: ${knownError?.message}`);\n }\n }\n\n renderUpload(): JSX.Element[] | null {\n if (this.state.uploadFile) {\n return [\n this.setState({ uploadFile: false })}\n >\n \n ,\n this.setState({ uploadFile: 'dragging' })}\n onDragLeave={() => this.setState({ uploadFile: true })}\n onDrop={acceptedFiles => {\n let count = acceptedFiles.length;\n\n acceptedFiles.forEach(file => {\n const reader = new FileReader();\n\n reader.onabort = () => console.log('file reading was aborted');\n reader.onerror = () => console.log('file reading has failed');\n reader.onload = () => {\n const parentFolder = this.findFirstFolder(this.state.selected);\n\n if (!parentFolder) {\n window.alert(this.props.t('ra_Invalid parent folder!'));\n } else {\n const id = `${parentFolder}/${file.name}`;\n\n void this.uploadFile(id, reader.result as string).then(() => {\n if (!--count) {\n this.setState({ uploadFile: false }, () => {\n if (this.supportSubscribes) {\n // open current folder\n const expanded = [...this.state.expanded];\n if (!expanded.includes(parentFolder)) {\n expanded.push(parentFolder);\n expanded.sort();\n this.localStorage.setItem(\n 'files.expanded',\n JSON.stringify(expanded),\n );\n }\n this.setState({ expanded }, () => this.select(id));\n } else {\n setTimeout(\n () =>\n this.browseFolder(parentFolder, null, false, true).then(\n folders => {\n // open current folder\n const expanded = [...this.state.expanded];\n if (!expanded.includes(parentFolder)) {\n expanded.push(parentFolder);\n expanded.sort();\n this.localStorage.setItem(\n 'files.expanded',\n JSON.stringify(expanded),\n );\n }\n this.setState({ folders, expanded }, () =>\n this.select(id),\n );\n },\n ),\n 500,\n );\n }\n });\n }\n });\n }\n };\n\n reader.readAsArrayBuffer(file);\n });\n }}\n >\n {({ getRootProps, getInputProps }) => (\n \n \n \n
    \n \n
    \n {this.state.uploadFile === 'dragging'\n ? this.props.t('ra_Drop file here')\n : this.props.t(\n 'ra_Place your files here or click here to open the browse dialog',\n )}\n
    \n
    \n \n
    \n )}\n ,\n ];\n }\n return null;\n }\n\n deleteRecursive(id: string): Promise {\n const item = this.findItem(id);\n if (item?.folder) {\n return (\n this.state.folders[id]\n ? Promise.all(this.state.folders[id].map(_item => this.deleteRecursive(_item.id)))\n : Promise.resolve()\n ).then(() => {\n // If it is a folder of second level\n if (item.level >= 1) {\n const parts = id.split('/');\n const adapter = parts.shift();\n void this.props.socket.deleteFolder(adapter || '', parts.join('/')).then(() => {\n // remove this folder\n const folders = JSON.parse(JSON.stringify(this.state.folders));\n delete folders[item.id];\n // delete folder from parent item\n const parentId = getParentDir(item.id);\n const parentFolder = folders[parentId];\n if (parentFolder) {\n const pos = parentFolder.findIndex((f: FolderOrFileItem) => f.id === item.id);\n if (pos !== -1) {\n parentFolder.splice(pos, 1);\n }\n\n this.select(parentId, null, () => this.setState({ folders }));\n }\n });\n }\n });\n }\n\n const parts = id.split('/');\n const adapter = parts.shift();\n if (parts.length) {\n return this.props.socket\n .deleteFile(adapter || '', parts.join('/'))\n .catch(e => window.alert(`Cannot delete file: ${e}`));\n }\n return Promise.resolve();\n }\n\n deleteItem(deleteItem: string): void {\n deleteItem = deleteItem || this.state.deleteItem;\n\n this.setState({ deleteItem: '' }, () =>\n this.deleteRecursive(deleteItem).then(() => {\n const newState: Partial = {};\n const pos = this.state.expanded.indexOf(deleteItem);\n if (pos !== -1) {\n const expanded = [...this.state.expanded];\n expanded.splice(pos, 1);\n this.localStorage.setItem('files.expanded', JSON.stringify(expanded));\n newState.expanded = expanded;\n }\n\n if (this.state.selected === deleteItem) {\n const parts = this.state.selected.split('/');\n parts.pop();\n newState.selected = parts.join('/');\n }\n\n if (!this.supportSubscribes) {\n const parentFolder = this.findFirstFolder(deleteItem);\n const folders: Folders = {};\n\n Object.keys(this.state.folders).forEach(name => {\n if (name !== parentFolder && !name.startsWith(`${parentFolder}/`)) {\n folders[name] = this.state.folders[name];\n }\n });\n\n newState.folders = folders;\n\n this.setState(newState as FileBrowserState, () =>\n setTimeout(() => {\n this.browseFolders([...this.state.expanded], folders)\n .then(_folders => this.setState({ folders: _folders }))\n .catch(e => console.error(e));\n }, 200),\n );\n } else {\n this.setState(newState as FileBrowserState);\n }\n }),\n );\n }\n\n renderDeleteDialog(): JSX.Element | null {\n if (this.state.deleteItem) {\n return (\n this.setState({ deleteItem: '' })}\n aria-labelledby=\"ar_dialog_file_delete_title\"\n >\n \n {this.props.t('ra_Confirm deletion of %s', this.state.deleteItem.split('/').pop())}\n \n \n {this.props.t('ra_Are you sure?')}\n \n \n {\n this.suppressDeleteConfirm = Date.now() + 60000 * 5;\n this.deleteItem('');\n }}\n >\n {this.props.t('ra_Delete (no confirm for 5 mins)')}\n \n this.deleteItem('')}\n color=\"primary\"\n autoFocus\n >\n {this.props.t('ra_Delete')}\n \n this.setState({ deleteItem: '' })}\n color=\"grey\"\n >\n {this.props.t('ra_Cancel')}\n \n \n \n );\n }\n return null;\n }\n\n renderViewDialog(): JSX.Element | null {\n const FileViewerComponent = this.props.FileViewer || FileViewer;\n\n return this.state.viewer ? (\n this.setState({ viewer: '', formatEditFile: '' })}\n />\n ) : null;\n }\n\n renderError(): JSX.Element | null {\n if (this.state.errorText) {\n return (\n this.setState({ errorText: '' })}\n />\n );\n }\n return null;\n }\n\n // used in tabs/Files\n // eslint-disable-next-line react/no-unused-class-component-methods\n updateItemsAcl(info: FolderOrFileItem[]): void {\n this.cacheFolders = this.cacheFolders || JSON.parse(JSON.stringify(this.state.folders));\n let changed;\n\n info.forEach(it => {\n const item = this.findItem(it.id, this.cacheFolders);\n if (item && JSON.stringify(item.acl) !== JSON.stringify(it.acl)) {\n item.acl = it.acl;\n changed = true;\n }\n });\n if (changed) {\n if (this.cacheFoldersTimeout) {\n clearTimeout(this.cacheFoldersTimeout);\n }\n this.cacheFoldersTimeout = setTimeout(() => {\n this.cacheFoldersTimeout = null;\n const folders = this.cacheFolders || {};\n this.cacheFolders = null;\n this.setState({ folders });\n }, 200);\n }\n }\n\n changeToPath(): void {\n setTimeout(() => {\n if (this.state.path !== this.state.selected && (!this.lastSelect || Date.now() - this.lastSelect > 100)) {\n let folder = this.state.path;\n if (isFile(this.state.path)) {\n folder = getParentDir(this.state.path);\n }\n new Promise(resolve => {\n if (!this.state.folders[folder]) {\n this.browseFolder(folder)\n .then(folders => this.setState({ folders }, () => resolve(true)))\n .catch(err =>\n this.setState({\n errorText:\n err === NOT_FOUND\n ? this.props.t('ra_Cannot find \"%s\"', folder)\n : this.props.t('ra_Cannot read \"%s\"', folder),\n }),\n );\n } else {\n resolve(true);\n }\n })\n .then(\n result =>\n result &&\n this.setState({ selected: this.state.path, currentDir: folder, pathFocus: false }),\n )\n .catch(e => console.error(e));\n } else if (!this.lastSelect || Date.now() - this.lastSelect > 100) {\n this.setState({ pathFocus: false });\n }\n }, 100);\n }\n\n renderBreadcrumb(): JSX.Element {\n const parts = this.state.currentDir.startsWith('/')\n ? this.state.currentDir.split('/')\n : `/${this.state.currentDir}`.split('/');\n const p: string[] = [];\n return (\n \n {parts.map((part, i) => {\n if (part) {\n p.push(part);\n }\n const path = p.join('/');\n if (i < parts.length - 1) {\n return (\n this.changeFolder(e, path || '/')}\n >\n {part || this.props.t('ra_Root')}\n \n );\n }\n\n return (\n this.setState({ pathFocus: true })}\n >\n {part}\n
    \n );\n })}\n \n );\n }\n\n renderPath(): JSX.Element {\n return (\n \n {this.state.pathFocus ? (\n {\n if (e.key === 'Enter') {\n this.changeToPath();\n } else if (e.key === 'Escape') {\n this.setState({ pathFocus: false });\n }\n }}\n endAdornment={\n this.changeToPath()}\n >\n \n \n }\n onBlur={() => this.changeToPath()}\n onChange={e => this.setState({ path: e.target.value })}\n style={styles.pathDivInput}\n />\n ) : (\n this.renderBreadcrumb()\n )}\n \n );\n }\n\n render(): JSX.Element {\n if (!this.props.ready) {\n return ;\n }\n\n if (this.state.loadAllFolders && !this.foldersLoading) {\n this.foldersLoading = true;\n setTimeout(() => {\n this.setState({ loadAllFolders: false, folders: {} }, () => {\n this.foldersLoading = false;\n this.loadFolders().catch(error => console.error(`Cannot load folders: ${error}`));\n });\n }, 300);\n }\n\n return (\n \n {this.props.showToolbar ? this.renderToolbar() : null}\n {this.state.viewType === TILE ? this.renderPath() : null}\n {\n if (this.state.viewType !== TABLE) {\n if (this.state.selected !== (this.state.currentDir || '/')) {\n this.changeFolder(e, this.state.currentDir || '/');\n } else {\n e.stopPropagation();\n }\n }\n }}\n >\n {this.state.viewType === TABLE\n ? this.renderItems('/')\n : this.renderItems(this.state.currentDir || '/')}\n {this.state.viewType !== TABLE ? (\n
    {this.props.t('ra_select_folder_hint')}
    \n ) : null}\n
    \n {this.props.allowUpload ? this.renderInputDialog() : null}\n {this.props.allowUpload ? this.renderUpload() : null}\n {this.props.allowDelete ? this.renderDeleteDialog() : null}\n {this.props.allowView ? this.renderViewDialog() : null}\n {this.state.modalEditOfAccess && this.props.modalEditOfAccessControl\n ? this.props.modalEditOfAccessControl(this)\n : null}\n {this.renderError()}\n
    \n );\n }\n}\n\nexport const FileBrowser = withWidth()(FileBrowserClass);\n", "var _excluded = [\"children\"],\n _excluded2 = [\"open\"],\n _excluded3 = [\"refKey\", \"role\", \"onKeyDown\", \"onFocus\", \"onBlur\", \"onClick\", \"onDragEnter\", \"onDragOver\", \"onDragLeave\", \"onDrop\"],\n _excluded4 = [\"refKey\", \"onChange\", \"onClick\"];\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* eslint prefer-template: 0 */\nimport React, { forwardRef, Fragment, useCallback, useEffect, useImperativeHandle, useMemo, useReducer, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { fromEvent } from \"file-selector\";\nimport { acceptPropAsAcceptAttr, allFilesAccepted, composeEventHandlers, fileAccepted, fileMatchSize, canUseFileSystemAccessAPI, isAbort, isEvtWithFiles, isIeOrEdge, isPropagationStopped, isSecurityError, onDocumentDragOver, pickerOptionsFromAccept, TOO_MANY_FILES_REJECTION } from \"./utils/index\";\n/**\n * Convenience wrapper component for the `useDropzone` hook\n *\n * ```jsx\n * \n * {({getRootProps, getInputProps}) => (\n *
    \n * \n *

    Drag 'n' drop some files here, or click to select files

    \n *
    \n * )}\n *
    \n * ```\n */\n\nvar Dropzone = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var children = _ref.children,\n params = _objectWithoutProperties(_ref, _excluded);\n\n var _useDropzone = useDropzone(params),\n open = _useDropzone.open,\n props = _objectWithoutProperties(_useDropzone, _excluded2);\n\n useImperativeHandle(ref, function () {\n return {\n open: open\n };\n }, [open]); // TODO: Figure out why react-styleguidist cannot create docs if we don't return a jsx element\n\n return /*#__PURE__*/React.createElement(Fragment, null, children(_objectSpread(_objectSpread({}, props), {}, {\n open: open\n })));\n});\nDropzone.displayName = \"Dropzone\"; // Add default props for react-docgen\n\nvar defaultProps = {\n disabled: false,\n getFilesFromEvent: fromEvent,\n maxSize: Infinity,\n minSize: 0,\n multiple: true,\n maxFiles: 0,\n preventDropOnDocument: true,\n noClick: false,\n noKeyboard: false,\n noDrag: false,\n noDragEventsBubbling: false,\n validator: null,\n useFsAccessApi: false,\n autoFocus: false\n};\nDropzone.defaultProps = defaultProps;\nDropzone.propTypes = {\n /**\n * Render function that exposes the dropzone state and prop getter fns\n *\n * @param {object} params\n * @param {Function} params.getRootProps Returns the props you should apply to the root drop container you render\n * @param {Function} params.getInputProps Returns the props you should apply to hidden file input you render\n * @param {Function} params.open Open the native file selection dialog\n * @param {boolean} params.isFocused Dropzone area is in focus\n * @param {boolean} params.isFileDialogActive File dialog is opened\n * @param {boolean} params.isDragActive Active drag is in progress\n * @param {boolean} params.isDragAccept Dragged files are accepted\n * @param {boolean} params.isDragReject Some dragged files are rejected\n * @param {File[]} params.acceptedFiles Accepted files\n * @param {FileRejection[]} params.fileRejections Rejected files and why they were rejected\n */\n children: PropTypes.func,\n\n /**\n * Set accepted file types.\n * Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).\n */\n accept: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.string)),\n\n /**\n * Allow drag 'n' drop (or selection from the file dialog) of multiple files\n */\n multiple: PropTypes.bool,\n\n /**\n * If false, allow dropped items to take over the current browser window\n */\n preventDropOnDocument: PropTypes.bool,\n\n /**\n * If true, disables click to open the native file selection dialog\n */\n noClick: PropTypes.bool,\n\n /**\n * If true, disables SPACE/ENTER to open the native file selection dialog.\n * Note that it also stops tracking the focus state.\n */\n noKeyboard: PropTypes.bool,\n\n /**\n * If true, disables drag 'n' drop\n */\n noDrag: PropTypes.bool,\n\n /**\n * If true, stops drag event propagation to parents\n */\n noDragEventsBubbling: PropTypes.bool,\n\n /**\n * Minimum file size (in bytes)\n */\n minSize: PropTypes.number,\n\n /**\n * Maximum file size (in bytes)\n */\n maxSize: PropTypes.number,\n\n /**\n * Maximum accepted number of files\n * The default value is 0 which means there is no limitation to how many files are accepted.\n */\n maxFiles: PropTypes.number,\n\n /**\n * Enable/disable the dropzone\n */\n disabled: PropTypes.bool,\n\n /**\n * Use this to provide a custom file aggregator\n *\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n getFilesFromEvent: PropTypes.func,\n\n /**\n * Cb for when closing the file dialog with no selection\n */\n onFileDialogCancel: PropTypes.func,\n\n /**\n * Cb for when opening the file dialog\n */\n onFileDialogOpen: PropTypes.func,\n\n /**\n * Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API\n * to open the file picker instead of using an `` click event.\n */\n useFsAccessApi: PropTypes.bool,\n\n /**\n * Set to true to focus the root element on render\n */\n autoFocus: PropTypes.bool,\n\n /**\n * Cb for when the `dragenter` event occurs.\n *\n * @param {DragEvent} event\n */\n onDragEnter: PropTypes.func,\n\n /**\n * Cb for when the `dragleave` event occurs\n *\n * @param {DragEvent} event\n */\n onDragLeave: PropTypes.func,\n\n /**\n * Cb for when the `dragover` event occurs\n *\n * @param {DragEvent} event\n */\n onDragOver: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n *\n * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n * `accept` must be a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) or a valid file extension.\n * If `multiple` is set to false and additional files are dropped,\n * all files besides the first will be rejected.\n * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n *\n * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n *\n * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n *\n * ```js\n * function onDrop(acceptedFiles) {\n * const req = request.post('/upload')\n * acceptedFiles.forEach(file => {\n * req.attach(file.name, file)\n * })\n * req.end(callback)\n * }\n * ```\n *\n * @param {File[]} acceptedFiles\n * @param {FileRejection[]} fileRejections\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n onDrop: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that if no files are accepted, this callback is not invoked.\n *\n * @param {File[]} files\n * @param {(DragEvent|Event)} event\n */\n onDropAccepted: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that if no files are rejected, this callback is not invoked.\n *\n * @param {FileRejection[]} fileRejections\n * @param {(DragEvent|Event)} event\n */\n onDropRejected: PropTypes.func,\n\n /**\n * Cb for when there's some error from any of the promises.\n *\n * @param {Error} error\n */\n onError: PropTypes.func,\n\n /**\n * Custom validation function. It must return null if there's no errors.\n * @param {File} file\n * @returns {FileError|FileError[]|null}\n */\n validator: PropTypes.func\n};\nexport default Dropzone;\n/**\n * A function that is invoked for the `dragenter`,\n * `dragover` and `dragleave` events.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dragCb\n * @param {DragEvent} event\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dropCb\n * @param {File[]} acceptedFiles List of accepted files\n * @param {FileRejection[]} fileRejections List of rejected files and why they were rejected\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are files (such as link, text, etc.).\n *\n * @callback dropAcceptedCb\n * @param {File[]} files List of accepted files that meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n *\n * @callback dropRejectedCb\n * @param {File[]} files List of rejected files that do not meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is used aggregate files,\n * in a asynchronous fashion, from drag or input change events.\n *\n * @callback getFilesFromEvent\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n * @returns {(File[]|Promise)}\n */\n\n/**\n * An object with the current dropzone state.\n *\n * @typedef {object} DropzoneState\n * @property {boolean} isFocused Dropzone area is in focus\n * @property {boolean} isFileDialogActive File dialog is opened\n * @property {boolean} isDragActive Active drag is in progress\n * @property {boolean} isDragAccept Dragged files are accepted\n * @property {boolean} isDragReject Some dragged files are rejected\n * @property {File[]} acceptedFiles Accepted files\n * @property {FileRejection[]} fileRejections Rejected files and why they were rejected\n */\n\n/**\n * An object with the dropzone methods.\n *\n * @typedef {object} DropzoneMethods\n * @property {Function} getRootProps Returns the props you should apply to the root drop container you render\n * @property {Function} getInputProps Returns the props you should apply to hidden file input you render\n * @property {Function} open Open the native file selection dialog\n */\n\nvar initialState = {\n isFocused: false,\n isFileDialogActive: false,\n isDragActive: false,\n isDragAccept: false,\n isDragReject: false,\n acceptedFiles: [],\n fileRejections: []\n};\n/**\n * A React hook that creates a drag 'n' drop area.\n *\n * ```jsx\n * function MyDropzone(props) {\n * const {getRootProps, getInputProps} = useDropzone({\n * onDrop: acceptedFiles => {\n * // do something with the File objects, e.g. upload to some server\n * }\n * });\n * return (\n *
    \n * \n *

    Drag and drop some files here, or click to select files

    \n *
    \n * )\n * }\n * ```\n *\n * @function useDropzone\n *\n * @param {object} props\n * @param {import(\"./utils\").AcceptProp} [props.accept] Set accepted file types.\n * Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).\n * @param {boolean} [props.multiple=true] Allow drag 'n' drop (or selection from the file dialog) of multiple files\n * @param {boolean} [props.preventDropOnDocument=true] If false, allow dropped items to take over the current browser window\n * @param {boolean} [props.noClick=false] If true, disables click to open the native file selection dialog\n * @param {boolean} [props.noKeyboard=false] If true, disables SPACE/ENTER to open the native file selection dialog.\n * Note that it also stops tracking the focus state.\n * @param {boolean} [props.noDrag=false] If true, disables drag 'n' drop\n * @param {boolean} [props.noDragEventsBubbling=false] If true, stops drag event propagation to parents\n * @param {number} [props.minSize=0] Minimum file size (in bytes)\n * @param {number} [props.maxSize=Infinity] Maximum file size (in bytes)\n * @param {boolean} [props.disabled=false] Enable/disable the dropzone\n * @param {getFilesFromEvent} [props.getFilesFromEvent] Use this to provide a custom file aggregator\n * @param {Function} [props.onFileDialogCancel] Cb for when closing the file dialog with no selection\n * @param {boolean} [props.useFsAccessApi] Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API\n * to open the file picker instead of using an `` click event.\n * @param {boolean} autoFocus Set to true to auto focus the root element.\n * @param {Function} [props.onFileDialogOpen] Cb for when opening the file dialog\n * @param {dragCb} [props.onDragEnter] Cb for when the `dragenter` event occurs.\n * @param {dragCb} [props.onDragLeave] Cb for when the `dragleave` event occurs\n * @param {dragCb} [props.onDragOver] Cb for when the `dragover` event occurs\n * @param {dropCb} [props.onDrop] Cb for when the `drop` event occurs.\n * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n *\n * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n * `accept` must be an object with keys as a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) and the value an array of file extensions (optional).\n * If `multiple` is set to false and additional files are dropped,\n * all files besides the first will be rejected.\n * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n *\n * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n *\n * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n *\n * ```js\n * function onDrop(acceptedFiles) {\n * const req = request.post('/upload')\n * acceptedFiles.forEach(file => {\n * req.attach(file.name, file)\n * })\n * req.end(callback)\n * }\n * ```\n * @param {dropAcceptedCb} [props.onDropAccepted]\n * @param {dropRejectedCb} [props.onDropRejected]\n * @param {(error: Error) => void} [props.onError]\n *\n * @returns {DropzoneState & DropzoneMethods}\n */\n\nexport function useDropzone() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),\n accept = _defaultProps$props.accept,\n disabled = _defaultProps$props.disabled,\n getFilesFromEvent = _defaultProps$props.getFilesFromEvent,\n maxSize = _defaultProps$props.maxSize,\n minSize = _defaultProps$props.minSize,\n multiple = _defaultProps$props.multiple,\n maxFiles = _defaultProps$props.maxFiles,\n onDragEnter = _defaultProps$props.onDragEnter,\n onDragLeave = _defaultProps$props.onDragLeave,\n onDragOver = _defaultProps$props.onDragOver,\n onDrop = _defaultProps$props.onDrop,\n onDropAccepted = _defaultProps$props.onDropAccepted,\n onDropRejected = _defaultProps$props.onDropRejected,\n onFileDialogCancel = _defaultProps$props.onFileDialogCancel,\n onFileDialogOpen = _defaultProps$props.onFileDialogOpen,\n useFsAccessApi = _defaultProps$props.useFsAccessApi,\n autoFocus = _defaultProps$props.autoFocus,\n preventDropOnDocument = _defaultProps$props.preventDropOnDocument,\n noClick = _defaultProps$props.noClick,\n noKeyboard = _defaultProps$props.noKeyboard,\n noDrag = _defaultProps$props.noDrag,\n noDragEventsBubbling = _defaultProps$props.noDragEventsBubbling,\n onError = _defaultProps$props.onError,\n validator = _defaultProps$props.validator;\n\n var acceptAttr = useMemo(function () {\n return acceptPropAsAcceptAttr(accept);\n }, [accept]);\n var pickerTypes = useMemo(function () {\n return pickerOptionsFromAccept(accept);\n }, [accept]);\n var onFileDialogOpenCb = useMemo(function () {\n return typeof onFileDialogOpen === \"function\" ? onFileDialogOpen : noop;\n }, [onFileDialogOpen]);\n var onFileDialogCancelCb = useMemo(function () {\n return typeof onFileDialogCancel === \"function\" ? onFileDialogCancel : noop;\n }, [onFileDialogCancel]);\n /**\n * @constant\n * @type {React.MutableRefObject}\n */\n\n var rootRef = useRef(null);\n var inputRef = useRef(null);\n\n var _useReducer = useReducer(reducer, initialState),\n _useReducer2 = _slicedToArray(_useReducer, 2),\n state = _useReducer2[0],\n dispatch = _useReducer2[1];\n\n var isFocused = state.isFocused,\n isFileDialogActive = state.isFileDialogActive;\n var fsAccessApiWorksRef = useRef(typeof window !== \"undefined\" && window.isSecureContext && useFsAccessApi && canUseFileSystemAccessAPI()); // Update file dialog active state when the window is focused on\n\n var onWindowFocus = function onWindowFocus() {\n // Execute the timeout only if the file dialog is opened in the browser\n if (!fsAccessApiWorksRef.current && isFileDialogActive) {\n setTimeout(function () {\n if (inputRef.current) {\n var files = inputRef.current.files;\n\n if (!files.length) {\n dispatch({\n type: \"closeDialog\"\n });\n onFileDialogCancelCb();\n }\n }\n }, 300);\n }\n };\n\n useEffect(function () {\n window.addEventListener(\"focus\", onWindowFocus, false);\n return function () {\n window.removeEventListener(\"focus\", onWindowFocus, false);\n };\n }, [inputRef, isFileDialogActive, onFileDialogCancelCb, fsAccessApiWorksRef]);\n var dragTargetsRef = useRef([]);\n\n var onDocumentDrop = function onDocumentDrop(event) {\n if (rootRef.current && rootRef.current.contains(event.target)) {\n // If we intercepted an event for our instance, let it propagate down to the instance's onDrop handler\n return;\n }\n\n event.preventDefault();\n dragTargetsRef.current = [];\n };\n\n useEffect(function () {\n if (preventDropOnDocument) {\n document.addEventListener(\"dragover\", onDocumentDragOver, false);\n document.addEventListener(\"drop\", onDocumentDrop, false);\n }\n\n return function () {\n if (preventDropOnDocument) {\n document.removeEventListener(\"dragover\", onDocumentDragOver);\n document.removeEventListener(\"drop\", onDocumentDrop);\n }\n };\n }, [rootRef, preventDropOnDocument]); // Auto focus the root when autoFocus is true\n\n useEffect(function () {\n if (!disabled && autoFocus && rootRef.current) {\n rootRef.current.focus();\n }\n\n return function () {};\n }, [rootRef, autoFocus, disabled]);\n var onErrCb = useCallback(function (e) {\n if (onError) {\n onError(e);\n } else {\n // Let the user know something's gone wrong if they haven't provided the onError cb.\n console.error(e);\n }\n }, [onError]);\n var onDragEnterCb = useCallback(function (event) {\n event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done\n\n event.persist();\n stopPropagation(event);\n dragTargetsRef.current = [].concat(_toConsumableArray(dragTargetsRef.current), [event.target]);\n\n if (isEvtWithFiles(event)) {\n Promise.resolve(getFilesFromEvent(event)).then(function (files) {\n if (isPropagationStopped(event) && !noDragEventsBubbling) {\n return;\n }\n\n var fileCount = files.length;\n var isDragAccept = fileCount > 0 && allFilesAccepted({\n files: files,\n accept: acceptAttr,\n minSize: minSize,\n maxSize: maxSize,\n multiple: multiple,\n maxFiles: maxFiles,\n validator: validator\n });\n var isDragReject = fileCount > 0 && !isDragAccept;\n dispatch({\n isDragAccept: isDragAccept,\n isDragReject: isDragReject,\n isDragActive: true,\n type: \"setDraggedFiles\"\n });\n\n if (onDragEnter) {\n onDragEnter(event);\n }\n }).catch(function (e) {\n return onErrCb(e);\n });\n }\n }, [getFilesFromEvent, onDragEnter, onErrCb, noDragEventsBubbling, acceptAttr, minSize, maxSize, multiple, maxFiles, validator]);\n var onDragOverCb = useCallback(function (event) {\n event.preventDefault();\n event.persist();\n stopPropagation(event);\n var hasFiles = isEvtWithFiles(event);\n\n if (hasFiles && event.dataTransfer) {\n try {\n event.dataTransfer.dropEffect = \"copy\";\n } catch (_unused) {}\n /* eslint-disable-line no-empty */\n\n }\n\n if (hasFiles && onDragOver) {\n onDragOver(event);\n }\n\n return false;\n }, [onDragOver, noDragEventsBubbling]);\n var onDragLeaveCb = useCallback(function (event) {\n event.preventDefault();\n event.persist();\n stopPropagation(event); // Only deactivate once the dropzone and all children have been left\n\n var targets = dragTargetsRef.current.filter(function (target) {\n return rootRef.current && rootRef.current.contains(target);\n }); // Make sure to remove a target present multiple times only once\n // (Firefox may fire dragenter/dragleave multiple times on the same element)\n\n var targetIdx = targets.indexOf(event.target);\n\n if (targetIdx !== -1) {\n targets.splice(targetIdx, 1);\n }\n\n dragTargetsRef.current = targets;\n\n if (targets.length > 0) {\n return;\n }\n\n dispatch({\n type: \"setDraggedFiles\",\n isDragActive: false,\n isDragAccept: false,\n isDragReject: false\n });\n\n if (isEvtWithFiles(event) && onDragLeave) {\n onDragLeave(event);\n }\n }, [rootRef, onDragLeave, noDragEventsBubbling]);\n var setFiles = useCallback(function (files, event) {\n var acceptedFiles = [];\n var fileRejections = [];\n files.forEach(function (file) {\n var _fileAccepted = fileAccepted(file, acceptAttr),\n _fileAccepted2 = _slicedToArray(_fileAccepted, 2),\n accepted = _fileAccepted2[0],\n acceptError = _fileAccepted2[1];\n\n var _fileMatchSize = fileMatchSize(file, minSize, maxSize),\n _fileMatchSize2 = _slicedToArray(_fileMatchSize, 2),\n sizeMatch = _fileMatchSize2[0],\n sizeError = _fileMatchSize2[1];\n\n var customErrors = validator ? validator(file) : null;\n\n if (accepted && sizeMatch && !customErrors) {\n acceptedFiles.push(file);\n } else {\n var errors = [acceptError, sizeError];\n\n if (customErrors) {\n errors = errors.concat(customErrors);\n }\n\n fileRejections.push({\n file: file,\n errors: errors.filter(function (e) {\n return e;\n })\n });\n }\n });\n\n if (!multiple && acceptedFiles.length > 1 || multiple && maxFiles >= 1 && acceptedFiles.length > maxFiles) {\n // Reject everything and empty accepted files\n acceptedFiles.forEach(function (file) {\n fileRejections.push({\n file: file,\n errors: [TOO_MANY_FILES_REJECTION]\n });\n });\n acceptedFiles.splice(0);\n }\n\n dispatch({\n acceptedFiles: acceptedFiles,\n fileRejections: fileRejections,\n isDragReject: fileRejections.length > 0,\n type: \"setFiles\"\n });\n\n if (onDrop) {\n onDrop(acceptedFiles, fileRejections, event);\n }\n\n if (fileRejections.length > 0 && onDropRejected) {\n onDropRejected(fileRejections, event);\n }\n\n if (acceptedFiles.length > 0 && onDropAccepted) {\n onDropAccepted(acceptedFiles, event);\n }\n }, [dispatch, multiple, acceptAttr, minSize, maxSize, maxFiles, onDrop, onDropAccepted, onDropRejected, validator]);\n var onDropCb = useCallback(function (event) {\n event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done\n\n event.persist();\n stopPropagation(event);\n dragTargetsRef.current = [];\n\n if (isEvtWithFiles(event)) {\n Promise.resolve(getFilesFromEvent(event)).then(function (files) {\n if (isPropagationStopped(event) && !noDragEventsBubbling) {\n return;\n }\n\n setFiles(files, event);\n }).catch(function (e) {\n return onErrCb(e);\n });\n }\n\n dispatch({\n type: \"reset\"\n });\n }, [getFilesFromEvent, setFiles, onErrCb, noDragEventsBubbling]); // Fn for opening the file dialog programmatically\n\n var openFileDialog = useCallback(function () {\n // No point to use FS access APIs if context is not secure\n // https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts#feature_detection\n if (fsAccessApiWorksRef.current) {\n dispatch({\n type: \"openDialog\"\n });\n onFileDialogOpenCb(); // https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker\n\n var opts = {\n multiple: multiple,\n types: pickerTypes\n };\n window.showOpenFilePicker(opts).then(function (handles) {\n return getFilesFromEvent(handles);\n }).then(function (files) {\n setFiles(files, null);\n dispatch({\n type: \"closeDialog\"\n });\n }).catch(function (e) {\n // AbortError means the user canceled\n if (isAbort(e)) {\n onFileDialogCancelCb(e);\n dispatch({\n type: \"closeDialog\"\n });\n } else if (isSecurityError(e)) {\n fsAccessApiWorksRef.current = false; // CORS, so cannot use this API\n // Try using the input\n\n if (inputRef.current) {\n inputRef.current.value = null;\n inputRef.current.click();\n } else {\n onErrCb(new Error(\"Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided.\"));\n }\n } else {\n onErrCb(e);\n }\n });\n return;\n }\n\n if (inputRef.current) {\n dispatch({\n type: \"openDialog\"\n });\n onFileDialogOpenCb();\n inputRef.current.value = null;\n inputRef.current.click();\n }\n }, [dispatch, onFileDialogOpenCb, onFileDialogCancelCb, useFsAccessApi, setFiles, onErrCb, pickerTypes, multiple]); // Cb to open the file dialog when SPACE/ENTER occurs on the dropzone\n\n var onKeyDownCb = useCallback(function (event) {\n // Ignore keyboard events bubbling up the DOM tree\n if (!rootRef.current || !rootRef.current.isEqualNode(event.target)) {\n return;\n }\n\n if (event.key === \" \" || event.key === \"Enter\" || event.keyCode === 32 || event.keyCode === 13) {\n event.preventDefault();\n openFileDialog();\n }\n }, [rootRef, openFileDialog]); // Update focus state for the dropzone\n\n var onFocusCb = useCallback(function () {\n dispatch({\n type: \"focus\"\n });\n }, []);\n var onBlurCb = useCallback(function () {\n dispatch({\n type: \"blur\"\n });\n }, []); // Cb to open the file dialog when click occurs on the dropzone\n\n var onClickCb = useCallback(function () {\n if (noClick) {\n return;\n } // In IE11/Edge the file-browser dialog is blocking, therefore, use setTimeout()\n // to ensure React can handle state changes\n // See: https://github.com/react-dropzone/react-dropzone/issues/450\n\n\n if (isIeOrEdge()) {\n setTimeout(openFileDialog, 0);\n } else {\n openFileDialog();\n }\n }, [noClick, openFileDialog]);\n\n var composeHandler = function composeHandler(fn) {\n return disabled ? null : fn;\n };\n\n var composeKeyboardHandler = function composeKeyboardHandler(fn) {\n return noKeyboard ? null : composeHandler(fn);\n };\n\n var composeDragHandler = function composeDragHandler(fn) {\n return noDrag ? null : composeHandler(fn);\n };\n\n var stopPropagation = function stopPropagation(event) {\n if (noDragEventsBubbling) {\n event.stopPropagation();\n }\n };\n\n var getRootProps = useMemo(function () {\n return function () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$refKey = _ref2.refKey,\n refKey = _ref2$refKey === void 0 ? \"ref\" : _ref2$refKey,\n role = _ref2.role,\n onKeyDown = _ref2.onKeyDown,\n onFocus = _ref2.onFocus,\n onBlur = _ref2.onBlur,\n onClick = _ref2.onClick,\n onDragEnter = _ref2.onDragEnter,\n onDragOver = _ref2.onDragOver,\n onDragLeave = _ref2.onDragLeave,\n onDrop = _ref2.onDrop,\n rest = _objectWithoutProperties(_ref2, _excluded3);\n\n return _objectSpread(_objectSpread(_defineProperty({\n onKeyDown: composeKeyboardHandler(composeEventHandlers(onKeyDown, onKeyDownCb)),\n onFocus: composeKeyboardHandler(composeEventHandlers(onFocus, onFocusCb)),\n onBlur: composeKeyboardHandler(composeEventHandlers(onBlur, onBlurCb)),\n onClick: composeHandler(composeEventHandlers(onClick, onClickCb)),\n onDragEnter: composeDragHandler(composeEventHandlers(onDragEnter, onDragEnterCb)),\n onDragOver: composeDragHandler(composeEventHandlers(onDragOver, onDragOverCb)),\n onDragLeave: composeDragHandler(composeEventHandlers(onDragLeave, onDragLeaveCb)),\n onDrop: composeDragHandler(composeEventHandlers(onDrop, onDropCb)),\n role: typeof role === \"string\" && role !== \"\" ? role : \"presentation\"\n }, refKey, rootRef), !disabled && !noKeyboard ? {\n tabIndex: 0\n } : {}), rest);\n };\n }, [rootRef, onKeyDownCb, onFocusCb, onBlurCb, onClickCb, onDragEnterCb, onDragOverCb, onDragLeaveCb, onDropCb, noKeyboard, noDrag, disabled]);\n var onInputElementClick = useCallback(function (event) {\n event.stopPropagation();\n }, []);\n var getInputProps = useMemo(function () {\n return function () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$refKey = _ref3.refKey,\n refKey = _ref3$refKey === void 0 ? \"ref\" : _ref3$refKey,\n onChange = _ref3.onChange,\n onClick = _ref3.onClick,\n rest = _objectWithoutProperties(_ref3, _excluded4);\n\n var inputProps = _defineProperty({\n accept: acceptAttr,\n multiple: multiple,\n type: \"file\",\n style: {\n border: 0,\n clip: \"rect(0, 0, 0, 0)\",\n clipPath: \"inset(50%)\",\n height: \"1px\",\n margin: \"0 -1px -1px 0\",\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n width: \"1px\",\n whiteSpace: \"nowrap\"\n },\n onChange: composeHandler(composeEventHandlers(onChange, onDropCb)),\n onClick: composeHandler(composeEventHandlers(onClick, onInputElementClick)),\n tabIndex: -1\n }, refKey, inputRef);\n\n return _objectSpread(_objectSpread({}, inputProps), rest);\n };\n }, [inputRef, accept, multiple, onDropCb, disabled]);\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: isFocused && !disabled,\n getRootProps: getRootProps,\n getInputProps: getInputProps,\n rootRef: rootRef,\n inputRef: inputRef,\n open: composeHandler(openFileDialog)\n });\n}\n/**\n * @param {DropzoneState} state\n * @param {{type: string} & DropzoneState} action\n * @returns {DropzoneState}\n */\n\nfunction reducer(state, action) {\n /* istanbul ignore next */\n switch (action.type) {\n case \"focus\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: true\n });\n\n case \"blur\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: false\n });\n\n case \"openDialog\":\n return _objectSpread(_objectSpread({}, initialState), {}, {\n isFileDialogActive: true\n });\n\n case \"closeDialog\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isFileDialogActive: false\n });\n\n case \"setDraggedFiles\":\n return _objectSpread(_objectSpread({}, state), {}, {\n isDragActive: action.isDragActive,\n isDragAccept: action.isDragAccept,\n isDragReject: action.isDragReject\n });\n\n case \"setFiles\":\n return _objectSpread(_objectSpread({}, state), {}, {\n acceptedFiles: action.acceptedFiles,\n fileRejections: action.fileRejections,\n isDragReject: action.isDragReject\n });\n\n case \"reset\":\n return _objectSpread({}, initialState);\n\n default:\n return state;\n }\n}\n\nfunction noop() {}\n\nexport { ErrorCode } from \"./utils\";", "/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n", "export const COMMON_MIME_TYPES = new Map([\n // https://github.com/guzzle/psr7/blob/2d9260799e713f1c475d3c5fdc3d6561ff7441b2/src/MimeType.php\n ['1km', 'application/vnd.1000minds.decision-model+xml'],\n ['3dml', 'text/vnd.in3d.3dml'],\n ['3ds', 'image/x-3ds'],\n ['3g2', 'video/3gpp2'],\n ['3gp', 'video/3gp'],\n ['3gpp', 'video/3gpp'],\n ['3mf', 'model/3mf'],\n ['7z', 'application/x-7z-compressed'],\n ['7zip', 'application/x-7z-compressed'],\n ['123', 'application/vnd.lotus-1-2-3'],\n ['aab', 'application/x-authorware-bin'],\n ['aac', 'audio/x-acc'],\n ['aam', 'application/x-authorware-map'],\n ['aas', 'application/x-authorware-seg'],\n ['abw', 'application/x-abiword'],\n ['ac', 'application/vnd.nokia.n-gage.ac+xml'],\n ['ac3', 'audio/ac3'],\n ['acc', 'application/vnd.americandynamics.acc'],\n ['ace', 'application/x-ace-compressed'],\n ['acu', 'application/vnd.acucobol'],\n ['acutc', 'application/vnd.acucorp'],\n ['adp', 'audio/adpcm'],\n ['aep', 'application/vnd.audiograph'],\n ['afm', 'application/x-font-type1'],\n ['afp', 'application/vnd.ibm.modcap'],\n ['ahead', 'application/vnd.ahead.space'],\n ['ai', 'application/pdf'],\n ['aif', 'audio/x-aiff'],\n ['aifc', 'audio/x-aiff'],\n ['aiff', 'audio/x-aiff'],\n ['air', 'application/vnd.adobe.air-application-installer-package+zip'],\n ['ait', 'application/vnd.dvb.ait'],\n ['ami', 'application/vnd.amiga.ami'],\n ['amr', 'audio/amr'],\n ['apk', 'application/vnd.android.package-archive'],\n ['apng', 'image/apng'],\n ['appcache', 'text/cache-manifest'],\n ['application', 'application/x-ms-application'],\n ['apr', 'application/vnd.lotus-approach'],\n ['arc', 'application/x-freearc'],\n ['arj', 'application/x-arj'],\n ['asc', 'application/pgp-signature'],\n ['asf', 'video/x-ms-asf'],\n ['asm', 'text/x-asm'],\n ['aso', 'application/vnd.accpac.simply.aso'],\n ['asx', 'video/x-ms-asf'],\n ['atc', 'application/vnd.acucorp'],\n ['atom', 'application/atom+xml'],\n ['atomcat', 'application/atomcat+xml'],\n ['atomdeleted', 'application/atomdeleted+xml'],\n ['atomsvc', 'application/atomsvc+xml'],\n ['atx', 'application/vnd.antix.game-component'],\n ['au', 'audio/x-au'],\n ['avi', 'video/x-msvideo'],\n ['avif', 'image/avif'],\n ['aw', 'application/applixware'],\n ['azf', 'application/vnd.airzip.filesecure.azf'],\n ['azs', 'application/vnd.airzip.filesecure.azs'],\n ['azv', 'image/vnd.airzip.accelerator.azv'],\n ['azw', 'application/vnd.amazon.ebook'],\n ['b16', 'image/vnd.pco.b16'],\n ['bat', 'application/x-msdownload'],\n ['bcpio', 'application/x-bcpio'],\n ['bdf', 'application/x-font-bdf'],\n ['bdm', 'application/vnd.syncml.dm+wbxml'],\n ['bdoc', 'application/x-bdoc'],\n ['bed', 'application/vnd.realvnc.bed'],\n ['bh2', 'application/vnd.fujitsu.oasysprs'],\n ['bin', 'application/octet-stream'],\n ['blb', 'application/x-blorb'],\n ['blorb', 'application/x-blorb'],\n ['bmi', 'application/vnd.bmi'],\n ['bmml', 'application/vnd.balsamiq.bmml+xml'],\n ['bmp', 'image/bmp'],\n ['book', 'application/vnd.framemaker'],\n ['box', 'application/vnd.previewsystems.box'],\n ['boz', 'application/x-bzip2'],\n ['bpk', 'application/octet-stream'],\n ['bpmn', 'application/octet-stream'],\n ['bsp', 'model/vnd.valve.source.compiled-map'],\n ['btif', 'image/prs.btif'],\n ['buffer', 'application/octet-stream'],\n ['bz', 'application/x-bzip'],\n ['bz2', 'application/x-bzip2'],\n ['c', 'text/x-c'],\n ['c4d', 'application/vnd.clonk.c4group'],\n ['c4f', 'application/vnd.clonk.c4group'],\n ['c4g', 'application/vnd.clonk.c4group'],\n ['c4p', 'application/vnd.clonk.c4group'],\n ['c4u', 'application/vnd.clonk.c4group'],\n ['c11amc', 'application/vnd.cluetrust.cartomobile-config'],\n ['c11amz', 'application/vnd.cluetrust.cartomobile-config-pkg'],\n ['cab', 'application/vnd.ms-cab-compressed'],\n ['caf', 'audio/x-caf'],\n ['cap', 'application/vnd.tcpdump.pcap'],\n ['car', 'application/vnd.curl.car'],\n ['cat', 'application/vnd.ms-pki.seccat'],\n ['cb7', 'application/x-cbr'],\n ['cba', 'application/x-cbr'],\n ['cbr', 'application/x-cbr'],\n ['cbt', 'application/x-cbr'],\n ['cbz', 'application/x-cbr'],\n ['cc', 'text/x-c'],\n ['cco', 'application/x-cocoa'],\n ['cct', 'application/x-director'],\n ['ccxml', 'application/ccxml+xml'],\n ['cdbcmsg', 'application/vnd.contact.cmsg'],\n ['cda', 'application/x-cdf'],\n ['cdf', 'application/x-netcdf'],\n ['cdfx', 'application/cdfx+xml'],\n ['cdkey', 'application/vnd.mediastation.cdkey'],\n ['cdmia', 'application/cdmi-capability'],\n ['cdmic', 'application/cdmi-container'],\n ['cdmid', 'application/cdmi-domain'],\n ['cdmio', 'application/cdmi-object'],\n ['cdmiq', 'application/cdmi-queue'],\n ['cdr', 'application/cdr'],\n ['cdx', 'chemical/x-cdx'],\n ['cdxml', 'application/vnd.chemdraw+xml'],\n ['cdy', 'application/vnd.cinderella'],\n ['cer', 'application/pkix-cert'],\n ['cfs', 'application/x-cfs-compressed'],\n ['cgm', 'image/cgm'],\n ['chat', 'application/x-chat'],\n ['chm', 'application/vnd.ms-htmlhelp'],\n ['chrt', 'application/vnd.kde.kchart'],\n ['cif', 'chemical/x-cif'],\n ['cii', 'application/vnd.anser-web-certificate-issue-initiation'],\n ['cil', 'application/vnd.ms-artgalry'],\n ['cjs', 'application/node'],\n ['cla', 'application/vnd.claymore'],\n ['class', 'application/octet-stream'],\n ['clkk', 'application/vnd.crick.clicker.keyboard'],\n ['clkp', 'application/vnd.crick.clicker.palette'],\n ['clkt', 'application/vnd.crick.clicker.template'],\n ['clkw', 'application/vnd.crick.clicker.wordbank'],\n ['clkx', 'application/vnd.crick.clicker'],\n ['clp', 'application/x-msclip'],\n ['cmc', 'application/vnd.cosmocaller'],\n ['cmdf', 'chemical/x-cmdf'],\n ['cml', 'chemical/x-cml'],\n ['cmp', 'application/vnd.yellowriver-custom-menu'],\n ['cmx', 'image/x-cmx'],\n ['cod', 'application/vnd.rim.cod'],\n ['coffee', 'text/coffeescript'],\n ['com', 'application/x-msdownload'],\n ['conf', 'text/plain'],\n ['cpio', 'application/x-cpio'],\n ['cpp', 'text/x-c'],\n ['cpt', 'application/mac-compactpro'],\n ['crd', 'application/x-mscardfile'],\n ['crl', 'application/pkix-crl'],\n ['crt', 'application/x-x509-ca-cert'],\n ['crx', 'application/x-chrome-extension'],\n ['cryptonote', 'application/vnd.rig.cryptonote'],\n ['csh', 'application/x-csh'],\n ['csl', 'application/vnd.citationstyles.style+xml'],\n ['csml', 'chemical/x-csml'],\n ['csp', 'application/vnd.commonspace'],\n ['csr', 'application/octet-stream'],\n ['css', 'text/css'],\n ['cst', 'application/x-director'],\n ['csv', 'text/csv'],\n ['cu', 'application/cu-seeme'],\n ['curl', 'text/vnd.curl'],\n ['cww', 'application/prs.cww'],\n ['cxt', 'application/x-director'],\n ['cxx', 'text/x-c'],\n ['dae', 'model/vnd.collada+xml'],\n ['daf', 'application/vnd.mobius.daf'],\n ['dart', 'application/vnd.dart'],\n ['dataless', 'application/vnd.fdsn.seed'],\n ['davmount', 'application/davmount+xml'],\n ['dbf', 'application/vnd.dbf'],\n ['dbk', 'application/docbook+xml'],\n ['dcr', 'application/x-director'],\n ['dcurl', 'text/vnd.curl.dcurl'],\n ['dd2', 'application/vnd.oma.dd2+xml'],\n ['ddd', 'application/vnd.fujixerox.ddd'],\n ['ddf', 'application/vnd.syncml.dmddf+xml'],\n ['dds', 'image/vnd.ms-dds'],\n ['deb', 'application/x-debian-package'],\n ['def', 'text/plain'],\n ['deploy', 'application/octet-stream'],\n ['der', 'application/x-x509-ca-cert'],\n ['dfac', 'application/vnd.dreamfactory'],\n ['dgc', 'application/x-dgc-compressed'],\n ['dic', 'text/x-c'],\n ['dir', 'application/x-director'],\n ['dis', 'application/vnd.mobius.dis'],\n ['disposition-notification', 'message/disposition-notification'],\n ['dist', 'application/octet-stream'],\n ['distz', 'application/octet-stream'],\n ['djv', 'image/vnd.djvu'],\n ['djvu', 'image/vnd.djvu'],\n ['dll', 'application/octet-stream'],\n ['dmg', 'application/x-apple-diskimage'],\n ['dmn', 'application/octet-stream'],\n ['dmp', 'application/vnd.tcpdump.pcap'],\n ['dms', 'application/octet-stream'],\n ['dna', 'application/vnd.dna'],\n ['doc', 'application/msword'],\n ['docm', 'application/vnd.ms-word.template.macroEnabled.12'],\n ['docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'],\n ['dot', 'application/msword'],\n ['dotm', 'application/vnd.ms-word.template.macroEnabled.12'],\n ['dotx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.template'],\n ['dp', 'application/vnd.osgi.dp'],\n ['dpg', 'application/vnd.dpgraph'],\n ['dra', 'audio/vnd.dra'],\n ['drle', 'image/dicom-rle'],\n ['dsc', 'text/prs.lines.tag'],\n ['dssc', 'application/dssc+der'],\n ['dtb', 'application/x-dtbook+xml'],\n ['dtd', 'application/xml-dtd'],\n ['dts', 'audio/vnd.dts'],\n ['dtshd', 'audio/vnd.dts.hd'],\n ['dump', 'application/octet-stream'],\n ['dvb', 'video/vnd.dvb.file'],\n ['dvi', 'application/x-dvi'],\n ['dwd', 'application/atsc-dwd+xml'],\n ['dwf', 'model/vnd.dwf'],\n ['dwg', 'image/vnd.dwg'],\n ['dxf', 'image/vnd.dxf'],\n ['dxp', 'application/vnd.spotfire.dxp'],\n ['dxr', 'application/x-director'],\n ['ear', 'application/java-archive'],\n ['ecelp4800', 'audio/vnd.nuera.ecelp4800'],\n ['ecelp7470', 'audio/vnd.nuera.ecelp7470'],\n ['ecelp9600', 'audio/vnd.nuera.ecelp9600'],\n ['ecma', 'application/ecmascript'],\n ['edm', 'application/vnd.novadigm.edm'],\n ['edx', 'application/vnd.novadigm.edx'],\n ['efif', 'application/vnd.picsel'],\n ['ei6', 'application/vnd.pg.osasli'],\n ['elc', 'application/octet-stream'],\n ['emf', 'image/emf'],\n ['eml', 'message/rfc822'],\n ['emma', 'application/emma+xml'],\n ['emotionml', 'application/emotionml+xml'],\n ['emz', 'application/x-msmetafile'],\n ['eol', 'audio/vnd.digital-winds'],\n ['eot', 'application/vnd.ms-fontobject'],\n ['eps', 'application/postscript'],\n ['epub', 'application/epub+zip'],\n ['es', 'application/ecmascript'],\n ['es3', 'application/vnd.eszigno3+xml'],\n ['esa', 'application/vnd.osgi.subsystem'],\n ['esf', 'application/vnd.epson.esf'],\n ['et3', 'application/vnd.eszigno3+xml'],\n ['etx', 'text/x-setext'],\n ['eva', 'application/x-eva'],\n ['evy', 'application/x-envoy'],\n ['exe', 'application/octet-stream'],\n ['exi', 'application/exi'],\n ['exp', 'application/express'],\n ['exr', 'image/aces'],\n ['ext', 'application/vnd.novadigm.ext'],\n ['ez', 'application/andrew-inset'],\n ['ez2', 'application/vnd.ezpix-album'],\n ['ez3', 'application/vnd.ezpix-package'],\n ['f', 'text/x-fortran'],\n ['f4v', 'video/mp4'],\n ['f77', 'text/x-fortran'],\n ['f90', 'text/x-fortran'],\n ['fbs', 'image/vnd.fastbidsheet'],\n ['fcdt', 'application/vnd.adobe.formscentral.fcdt'],\n ['fcs', 'application/vnd.isac.fcs'],\n ['fdf', 'application/vnd.fdf'],\n ['fdt', 'application/fdt+xml'],\n ['fe_launch', 'application/vnd.denovo.fcselayout-link'],\n ['fg5', 'application/vnd.fujitsu.oasysgp'],\n ['fgd', 'application/x-director'],\n ['fh', 'image/x-freehand'],\n ['fh4', 'image/x-freehand'],\n ['fh5', 'image/x-freehand'],\n ['fh7', 'image/x-freehand'],\n ['fhc', 'image/x-freehand'],\n ['fig', 'application/x-xfig'],\n ['fits', 'image/fits'],\n ['flac', 'audio/x-flac'],\n ['fli', 'video/x-fli'],\n ['flo', 'application/vnd.micrografx.flo'],\n ['flv', 'video/x-flv'],\n ['flw', 'application/vnd.kde.kivio'],\n ['flx', 'text/vnd.fmi.flexstor'],\n ['fly', 'text/vnd.fly'],\n ['fm', 'application/vnd.framemaker'],\n ['fnc', 'application/vnd.frogans.fnc'],\n ['fo', 'application/vnd.software602.filler.form+xml'],\n ['for', 'text/x-fortran'],\n ['fpx', 'image/vnd.fpx'],\n ['frame', 'application/vnd.framemaker'],\n ['fsc', 'application/vnd.fsc.weblaunch'],\n ['fst', 'image/vnd.fst'],\n ['ftc', 'application/vnd.fluxtime.clip'],\n ['fti', 'application/vnd.anser-web-funds-transfer-initiation'],\n ['fvt', 'video/vnd.fvt'],\n ['fxp', 'application/vnd.adobe.fxp'],\n ['fxpl', 'application/vnd.adobe.fxp'],\n ['fzs', 'application/vnd.fuzzysheet'],\n ['g2w', 'application/vnd.geoplan'],\n ['g3', 'image/g3fax'],\n ['g3w', 'application/vnd.geospace'],\n ['gac', 'application/vnd.groove-account'],\n ['gam', 'application/x-tads'],\n ['gbr', 'application/rpki-ghostbusters'],\n ['gca', 'application/x-gca-compressed'],\n ['gdl', 'model/vnd.gdl'],\n ['gdoc', 'application/vnd.google-apps.document'],\n ['geo', 'application/vnd.dynageo'],\n ['geojson', 'application/geo+json'],\n ['gex', 'application/vnd.geometry-explorer'],\n ['ggb', 'application/vnd.geogebra.file'],\n ['ggt', 'application/vnd.geogebra.tool'],\n ['ghf', 'application/vnd.groove-help'],\n ['gif', 'image/gif'],\n ['gim', 'application/vnd.groove-identity-message'],\n ['glb', 'model/gltf-binary'],\n ['gltf', 'model/gltf+json'],\n ['gml', 'application/gml+xml'],\n ['gmx', 'application/vnd.gmx'],\n ['gnumeric', 'application/x-gnumeric'],\n ['gpg', 'application/gpg-keys'],\n ['gph', 'application/vnd.flographit'],\n ['gpx', 'application/gpx+xml'],\n ['gqf', 'application/vnd.grafeq'],\n ['gqs', 'application/vnd.grafeq'],\n ['gram', 'application/srgs'],\n ['gramps', 'application/x-gramps-xml'],\n ['gre', 'application/vnd.geometry-explorer'],\n ['grv', 'application/vnd.groove-injector'],\n ['grxml', 'application/srgs+xml'],\n ['gsf', 'application/x-font-ghostscript'],\n ['gsheet', 'application/vnd.google-apps.spreadsheet'],\n ['gslides', 'application/vnd.google-apps.presentation'],\n ['gtar', 'application/x-gtar'],\n ['gtm', 'application/vnd.groove-tool-message'],\n ['gtw', 'model/vnd.gtw'],\n ['gv', 'text/vnd.graphviz'],\n ['gxf', 'application/gxf'],\n ['gxt', 'application/vnd.geonext'],\n ['gz', 'application/gzip'],\n ['gzip', 'application/gzip'],\n ['h', 'text/x-c'],\n ['h261', 'video/h261'],\n ['h263', 'video/h263'],\n ['h264', 'video/h264'],\n ['hal', 'application/vnd.hal+xml'],\n ['hbci', 'application/vnd.hbci'],\n ['hbs', 'text/x-handlebars-template'],\n ['hdd', 'application/x-virtualbox-hdd'],\n ['hdf', 'application/x-hdf'],\n ['heic', 'image/heic'],\n ['heics', 'image/heic-sequence'],\n ['heif', 'image/heif'],\n ['heifs', 'image/heif-sequence'],\n ['hej2', 'image/hej2k'],\n ['held', 'application/atsc-held+xml'],\n ['hh', 'text/x-c'],\n ['hjson', 'application/hjson'],\n ['hlp', 'application/winhlp'],\n ['hpgl', 'application/vnd.hp-hpgl'],\n ['hpid', 'application/vnd.hp-hpid'],\n ['hps', 'application/vnd.hp-hps'],\n ['hqx', 'application/mac-binhex40'],\n ['hsj2', 'image/hsj2'],\n ['htc', 'text/x-component'],\n ['htke', 'application/vnd.kenameaapp'],\n ['htm', 'text/html'],\n ['html', 'text/html'],\n ['hvd', 'application/vnd.yamaha.hv-dic'],\n ['hvp', 'application/vnd.yamaha.hv-voice'],\n ['hvs', 'application/vnd.yamaha.hv-script'],\n ['i2g', 'application/vnd.intergeo'],\n ['icc', 'application/vnd.iccprofile'],\n ['ice', 'x-conference/x-cooltalk'],\n ['icm', 'application/vnd.iccprofile'],\n ['ico', 'image/x-icon'],\n ['ics', 'text/calendar'],\n ['ief', 'image/ief'],\n ['ifb', 'text/calendar'],\n ['ifm', 'application/vnd.shana.informed.formdata'],\n ['iges', 'model/iges'],\n ['igl', 'application/vnd.igloader'],\n ['igm', 'application/vnd.insors.igm'],\n ['igs', 'model/iges'],\n ['igx', 'application/vnd.micrografx.igx'],\n ['iif', 'application/vnd.shana.informed.interchange'],\n ['img', 'application/octet-stream'],\n ['imp', 'application/vnd.accpac.simply.imp'],\n ['ims', 'application/vnd.ms-ims'],\n ['in', 'text/plain'],\n ['ini', 'text/plain'],\n ['ink', 'application/inkml+xml'],\n ['inkml', 'application/inkml+xml'],\n ['install', 'application/x-install-instructions'],\n ['iota', 'application/vnd.astraea-software.iota'],\n ['ipfix', 'application/ipfix'],\n ['ipk', 'application/vnd.shana.informed.package'],\n ['irm', 'application/vnd.ibm.rights-management'],\n ['irp', 'application/vnd.irepository.package+xml'],\n ['iso', 'application/x-iso9660-image'],\n ['itp', 'application/vnd.shana.informed.formtemplate'],\n ['its', 'application/its+xml'],\n ['ivp', 'application/vnd.immervision-ivp'],\n ['ivu', 'application/vnd.immervision-ivu'],\n ['jad', 'text/vnd.sun.j2me.app-descriptor'],\n ['jade', 'text/jade'],\n ['jam', 'application/vnd.jam'],\n ['jar', 'application/java-archive'],\n ['jardiff', 'application/x-java-archive-diff'],\n ['java', 'text/x-java-source'],\n ['jhc', 'image/jphc'],\n ['jisp', 'application/vnd.jisp'],\n ['jls', 'image/jls'],\n ['jlt', 'application/vnd.hp-jlyt'],\n ['jng', 'image/x-jng'],\n ['jnlp', 'application/x-java-jnlp-file'],\n ['joda', 'application/vnd.joost.joda-archive'],\n ['jp2', 'image/jp2'],\n ['jpe', 'image/jpeg'],\n ['jpeg', 'image/jpeg'],\n ['jpf', 'image/jpx'],\n ['jpg', 'image/jpeg'],\n ['jpg2', 'image/jp2'],\n ['jpgm', 'video/jpm'],\n ['jpgv', 'video/jpeg'],\n ['jph', 'image/jph'],\n ['jpm', 'video/jpm'],\n ['jpx', 'image/jpx'],\n ['js', 'application/javascript'],\n ['json', 'application/json'],\n ['json5', 'application/json5'],\n ['jsonld', 'application/ld+json'],\n // https://jsonlines.org/\n ['jsonl', 'application/jsonl'],\n ['jsonml', 'application/jsonml+json'],\n ['jsx', 'text/jsx'],\n ['jxr', 'image/jxr'],\n ['jxra', 'image/jxra'],\n ['jxrs', 'image/jxrs'],\n ['jxs', 'image/jxs'],\n ['jxsc', 'image/jxsc'],\n ['jxsi', 'image/jxsi'],\n ['jxss', 'image/jxss'],\n ['kar', 'audio/midi'],\n ['karbon', 'application/vnd.kde.karbon'],\n ['kdb', 'application/octet-stream'],\n ['kdbx', 'application/x-keepass2'],\n ['key', 'application/x-iwork-keynote-sffkey'],\n ['kfo', 'application/vnd.kde.kformula'],\n ['kia', 'application/vnd.kidspiration'],\n ['kml', 'application/vnd.google-earth.kml+xml'],\n ['kmz', 'application/vnd.google-earth.kmz'],\n ['kne', 'application/vnd.kinar'],\n ['knp', 'application/vnd.kinar'],\n ['kon', 'application/vnd.kde.kontour'],\n ['kpr', 'application/vnd.kde.kpresenter'],\n ['kpt', 'application/vnd.kde.kpresenter'],\n ['kpxx', 'application/vnd.ds-keypoint'],\n ['ksp', 'application/vnd.kde.kspread'],\n ['ktr', 'application/vnd.kahootz'],\n ['ktx', 'image/ktx'],\n ['ktx2', 'image/ktx2'],\n ['ktz', 'application/vnd.kahootz'],\n ['kwd', 'application/vnd.kde.kword'],\n ['kwt', 'application/vnd.kde.kword'],\n ['lasxml', 'application/vnd.las.las+xml'],\n ['latex', 'application/x-latex'],\n ['lbd', 'application/vnd.llamagraphics.life-balance.desktop'],\n ['lbe', 'application/vnd.llamagraphics.life-balance.exchange+xml'],\n ['les', 'application/vnd.hhe.lesson-player'],\n ['less', 'text/less'],\n ['lgr', 'application/lgr+xml'],\n ['lha', 'application/octet-stream'],\n ['link66', 'application/vnd.route66.link66+xml'],\n ['list', 'text/plain'],\n ['list3820', 'application/vnd.ibm.modcap'],\n ['listafp', 'application/vnd.ibm.modcap'],\n ['litcoffee', 'text/coffeescript'],\n ['lnk', 'application/x-ms-shortcut'],\n ['log', 'text/plain'],\n ['lostxml', 'application/lost+xml'],\n ['lrf', 'application/octet-stream'],\n ['lrm', 'application/vnd.ms-lrm'],\n ['ltf', 'application/vnd.frogans.ltf'],\n ['lua', 'text/x-lua'],\n ['luac', 'application/x-lua-bytecode'],\n ['lvp', 'audio/vnd.lucent.voice'],\n ['lwp', 'application/vnd.lotus-wordpro'],\n ['lzh', 'application/octet-stream'],\n ['m1v', 'video/mpeg'],\n ['m2a', 'audio/mpeg'],\n ['m2v', 'video/mpeg'],\n ['m3a', 'audio/mpeg'],\n ['m3u', 'text/plain'],\n ['m3u8', 'application/vnd.apple.mpegurl'],\n ['m4a', 'audio/x-m4a'],\n ['m4p', 'application/mp4'],\n ['m4s', 'video/iso.segment'],\n ['m4u', 'application/vnd.mpegurl'],\n ['m4v', 'video/x-m4v'],\n ['m13', 'application/x-msmediaview'],\n ['m14', 'application/x-msmediaview'],\n ['m21', 'application/mp21'],\n ['ma', 'application/mathematica'],\n ['mads', 'application/mads+xml'],\n ['maei', 'application/mmt-aei+xml'],\n ['mag', 'application/vnd.ecowin.chart'],\n ['maker', 'application/vnd.framemaker'],\n ['man', 'text/troff'],\n ['manifest', 'text/cache-manifest'],\n ['map', 'application/json'],\n ['mar', 'application/octet-stream'],\n ['markdown', 'text/markdown'],\n ['mathml', 'application/mathml+xml'],\n ['mb', 'application/mathematica'],\n ['mbk', 'application/vnd.mobius.mbk'],\n ['mbox', 'application/mbox'],\n ['mc1', 'application/vnd.medcalcdata'],\n ['mcd', 'application/vnd.mcd'],\n ['mcurl', 'text/vnd.curl.mcurl'],\n ['md', 'text/markdown'],\n ['mdb', 'application/x-msaccess'],\n ['mdi', 'image/vnd.ms-modi'],\n ['mdx', 'text/mdx'],\n ['me', 'text/troff'],\n ['mesh', 'model/mesh'],\n ['meta4', 'application/metalink4+xml'],\n ['metalink', 'application/metalink+xml'],\n ['mets', 'application/mets+xml'],\n ['mfm', 'application/vnd.mfmp'],\n ['mft', 'application/rpki-manifest'],\n ['mgp', 'application/vnd.osgeo.mapguide.package'],\n ['mgz', 'application/vnd.proteus.magazine'],\n ['mid', 'audio/midi'],\n ['midi', 'audio/midi'],\n ['mie', 'application/x-mie'],\n ['mif', 'application/vnd.mif'],\n ['mime', 'message/rfc822'],\n ['mj2', 'video/mj2'],\n ['mjp2', 'video/mj2'],\n ['mjs', 'application/javascript'],\n ['mk3d', 'video/x-matroska'],\n ['mka', 'audio/x-matroska'],\n ['mkd', 'text/x-markdown'],\n ['mks', 'video/x-matroska'],\n ['mkv', 'video/x-matroska'],\n ['mlp', 'application/vnd.dolby.mlp'],\n ['mmd', 'application/vnd.chipnuts.karaoke-mmd'],\n ['mmf', 'application/vnd.smaf'],\n ['mml', 'text/mathml'],\n ['mmr', 'image/vnd.fujixerox.edmics-mmr'],\n ['mng', 'video/x-mng'],\n ['mny', 'application/x-msmoney'],\n ['mobi', 'application/x-mobipocket-ebook'],\n ['mods', 'application/mods+xml'],\n ['mov', 'video/quicktime'],\n ['movie', 'video/x-sgi-movie'],\n ['mp2', 'audio/mpeg'],\n ['mp2a', 'audio/mpeg'],\n ['mp3', 'audio/mpeg'],\n ['mp4', 'video/mp4'],\n ['mp4a', 'audio/mp4'],\n ['mp4s', 'application/mp4'],\n ['mp4v', 'video/mp4'],\n ['mp21', 'application/mp21'],\n ['mpc', 'application/vnd.mophun.certificate'],\n ['mpd', 'application/dash+xml'],\n ['mpe', 'video/mpeg'],\n ['mpeg', 'video/mpeg'],\n ['mpg', 'video/mpeg'],\n ['mpg4', 'video/mp4'],\n ['mpga', 'audio/mpeg'],\n ['mpkg', 'application/vnd.apple.installer+xml'],\n ['mpm', 'application/vnd.blueice.multipass'],\n ['mpn', 'application/vnd.mophun.application'],\n ['mpp', 'application/vnd.ms-project'],\n ['mpt', 'application/vnd.ms-project'],\n ['mpy', 'application/vnd.ibm.minipay'],\n ['mqy', 'application/vnd.mobius.mqy'],\n ['mrc', 'application/marc'],\n ['mrcx', 'application/marcxml+xml'],\n ['ms', 'text/troff'],\n ['mscml', 'application/mediaservercontrol+xml'],\n ['mseed', 'application/vnd.fdsn.mseed'],\n ['mseq', 'application/vnd.mseq'],\n ['msf', 'application/vnd.epson.msf'],\n ['msg', 'application/vnd.ms-outlook'],\n ['msh', 'model/mesh'],\n ['msi', 'application/x-msdownload'],\n ['msl', 'application/vnd.mobius.msl'],\n ['msm', 'application/octet-stream'],\n ['msp', 'application/octet-stream'],\n ['msty', 'application/vnd.muvee.style'],\n ['mtl', 'model/mtl'],\n ['mts', 'model/vnd.mts'],\n ['mus', 'application/vnd.musician'],\n ['musd', 'application/mmt-usd+xml'],\n ['musicxml', 'application/vnd.recordare.musicxml+xml'],\n ['mvb', 'application/x-msmediaview'],\n ['mvt', 'application/vnd.mapbox-vector-tile'],\n ['mwf', 'application/vnd.mfer'],\n ['mxf', 'application/mxf'],\n ['mxl', 'application/vnd.recordare.musicxml'],\n ['mxmf', 'audio/mobile-xmf'],\n ['mxml', 'application/xv+xml'],\n ['mxs', 'application/vnd.triscape.mxs'],\n ['mxu', 'video/vnd.mpegurl'],\n ['n-gage', 'application/vnd.nokia.n-gage.symbian.install'],\n ['n3', 'text/n3'],\n ['nb', 'application/mathematica'],\n ['nbp', 'application/vnd.wolfram.player'],\n ['nc', 'application/x-netcdf'],\n ['ncx', 'application/x-dtbncx+xml'],\n ['nfo', 'text/x-nfo'],\n ['ngdat', 'application/vnd.nokia.n-gage.data'],\n ['nitf', 'application/vnd.nitf'],\n ['nlu', 'application/vnd.neurolanguage.nlu'],\n ['nml', 'application/vnd.enliven'],\n ['nnd', 'application/vnd.noblenet-directory'],\n ['nns', 'application/vnd.noblenet-sealer'],\n ['nnw', 'application/vnd.noblenet-web'],\n ['npx', 'image/vnd.net-fpx'],\n ['nq', 'application/n-quads'],\n ['nsc', 'application/x-conference'],\n ['nsf', 'application/vnd.lotus-notes'],\n ['nt', 'application/n-triples'],\n ['ntf', 'application/vnd.nitf'],\n ['numbers', 'application/x-iwork-numbers-sffnumbers'],\n ['nzb', 'application/x-nzb'],\n ['oa2', 'application/vnd.fujitsu.oasys2'],\n ['oa3', 'application/vnd.fujitsu.oasys3'],\n ['oas', 'application/vnd.fujitsu.oasys'],\n ['obd', 'application/x-msbinder'],\n ['obgx', 'application/vnd.openblox.game+xml'],\n ['obj', 'model/obj'],\n ['oda', 'application/oda'],\n ['odb', 'application/vnd.oasis.opendocument.database'],\n ['odc', 'application/vnd.oasis.opendocument.chart'],\n ['odf', 'application/vnd.oasis.opendocument.formula'],\n ['odft', 'application/vnd.oasis.opendocument.formula-template'],\n ['odg', 'application/vnd.oasis.opendocument.graphics'],\n ['odi', 'application/vnd.oasis.opendocument.image'],\n ['odm', 'application/vnd.oasis.opendocument.text-master'],\n ['odp', 'application/vnd.oasis.opendocument.presentation'],\n ['ods', 'application/vnd.oasis.opendocument.spreadsheet'],\n ['odt', 'application/vnd.oasis.opendocument.text'],\n ['oga', 'audio/ogg'],\n ['ogex', 'model/vnd.opengex'],\n ['ogg', 'audio/ogg'],\n ['ogv', 'video/ogg'],\n ['ogx', 'application/ogg'],\n ['omdoc', 'application/omdoc+xml'],\n ['onepkg', 'application/onenote'],\n ['onetmp', 'application/onenote'],\n ['onetoc', 'application/onenote'],\n ['onetoc2', 'application/onenote'],\n ['opf', 'application/oebps-package+xml'],\n ['opml', 'text/x-opml'],\n ['oprc', 'application/vnd.palm'],\n ['opus', 'audio/ogg'],\n ['org', 'text/x-org'],\n ['osf', 'application/vnd.yamaha.openscoreformat'],\n ['osfpvg', 'application/vnd.yamaha.openscoreformat.osfpvg+xml'],\n ['osm', 'application/vnd.openstreetmap.data+xml'],\n ['otc', 'application/vnd.oasis.opendocument.chart-template'],\n ['otf', 'font/otf'],\n ['otg', 'application/vnd.oasis.opendocument.graphics-template'],\n ['oth', 'application/vnd.oasis.opendocument.text-web'],\n ['oti', 'application/vnd.oasis.opendocument.image-template'],\n ['otp', 'application/vnd.oasis.opendocument.presentation-template'],\n ['ots', 'application/vnd.oasis.opendocument.spreadsheet-template'],\n ['ott', 'application/vnd.oasis.opendocument.text-template'],\n ['ova', 'application/x-virtualbox-ova'],\n ['ovf', 'application/x-virtualbox-ovf'],\n ['owl', 'application/rdf+xml'],\n ['oxps', 'application/oxps'],\n ['oxt', 'application/vnd.openofficeorg.extension'],\n ['p', 'text/x-pascal'],\n ['p7a', 'application/x-pkcs7-signature'],\n ['p7b', 'application/x-pkcs7-certificates'],\n ['p7c', 'application/pkcs7-mime'],\n ['p7m', 'application/pkcs7-mime'],\n ['p7r', 'application/x-pkcs7-certreqresp'],\n ['p7s', 'application/pkcs7-signature'],\n ['p8', 'application/pkcs8'],\n ['p10', 'application/x-pkcs10'],\n ['p12', 'application/x-pkcs12'],\n ['pac', 'application/x-ns-proxy-autoconfig'],\n ['pages', 'application/x-iwork-pages-sffpages'],\n ['pas', 'text/x-pascal'],\n ['paw', 'application/vnd.pawaafile'],\n ['pbd', 'application/vnd.powerbuilder6'],\n ['pbm', 'image/x-portable-bitmap'],\n ['pcap', 'application/vnd.tcpdump.pcap'],\n ['pcf', 'application/x-font-pcf'],\n ['pcl', 'application/vnd.hp-pcl'],\n ['pclxl', 'application/vnd.hp-pclxl'],\n ['pct', 'image/x-pict'],\n ['pcurl', 'application/vnd.curl.pcurl'],\n ['pcx', 'image/x-pcx'],\n ['pdb', 'application/x-pilot'],\n ['pde', 'text/x-processing'],\n ['pdf', 'application/pdf'],\n ['pem', 'application/x-x509-user-cert'],\n ['pfa', 'application/x-font-type1'],\n ['pfb', 'application/x-font-type1'],\n ['pfm', 'application/x-font-type1'],\n ['pfr', 'application/font-tdpfr'],\n ['pfx', 'application/x-pkcs12'],\n ['pgm', 'image/x-portable-graymap'],\n ['pgn', 'application/x-chess-pgn'],\n ['pgp', 'application/pgp'],\n ['php', 'application/x-httpd-php'],\n ['php3', 'application/x-httpd-php'],\n ['php4', 'application/x-httpd-php'],\n ['phps', 'application/x-httpd-php-source'],\n ['phtml', 'application/x-httpd-php'],\n ['pic', 'image/x-pict'],\n ['pkg', 'application/octet-stream'],\n ['pki', 'application/pkixcmp'],\n ['pkipath', 'application/pkix-pkipath'],\n ['pkpass', 'application/vnd.apple.pkpass'],\n ['pl', 'application/x-perl'],\n ['plb', 'application/vnd.3gpp.pic-bw-large'],\n ['plc', 'application/vnd.mobius.plc'],\n ['plf', 'application/vnd.pocketlearn'],\n ['pls', 'application/pls+xml'],\n ['pm', 'application/x-perl'],\n ['pml', 'application/vnd.ctc-posml'],\n ['png', 'image/png'],\n ['pnm', 'image/x-portable-anymap'],\n ['portpkg', 'application/vnd.macports.portpkg'],\n ['pot', 'application/vnd.ms-powerpoint'],\n ['potm', 'application/vnd.ms-powerpoint.presentation.macroEnabled.12'],\n ['potx', 'application/vnd.openxmlformats-officedocument.presentationml.template'],\n ['ppa', 'application/vnd.ms-powerpoint'],\n ['ppam', 'application/vnd.ms-powerpoint.addin.macroEnabled.12'],\n ['ppd', 'application/vnd.cups-ppd'],\n ['ppm', 'image/x-portable-pixmap'],\n ['pps', 'application/vnd.ms-powerpoint'],\n ['ppsm', 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12'],\n ['ppsx', 'application/vnd.openxmlformats-officedocument.presentationml.slideshow'],\n ['ppt', 'application/powerpoint'],\n ['pptm', 'application/vnd.ms-powerpoint.presentation.macroEnabled.12'],\n ['pptx', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'],\n ['pqa', 'application/vnd.palm'],\n ['prc', 'application/x-pilot'],\n ['pre', 'application/vnd.lotus-freelance'],\n ['prf', 'application/pics-rules'],\n ['provx', 'application/provenance+xml'],\n ['ps', 'application/postscript'],\n ['psb', 'application/vnd.3gpp.pic-bw-small'],\n ['psd', 'application/x-photoshop'],\n ['psf', 'application/x-font-linux-psf'],\n ['pskcxml', 'application/pskc+xml'],\n ['pti', 'image/prs.pti'],\n ['ptid', 'application/vnd.pvi.ptid1'],\n ['pub', 'application/x-mspublisher'],\n ['pvb', 'application/vnd.3gpp.pic-bw-var'],\n ['pwn', 'application/vnd.3m.post-it-notes'],\n ['pya', 'audio/vnd.ms-playready.media.pya'],\n ['pyv', 'video/vnd.ms-playready.media.pyv'],\n ['qam', 'application/vnd.epson.quickanime'],\n ['qbo', 'application/vnd.intu.qbo'],\n ['qfx', 'application/vnd.intu.qfx'],\n ['qps', 'application/vnd.publishare-delta-tree'],\n ['qt', 'video/quicktime'],\n ['qwd', 'application/vnd.quark.quarkxpress'],\n ['qwt', 'application/vnd.quark.quarkxpress'],\n ['qxb', 'application/vnd.quark.quarkxpress'],\n ['qxd', 'application/vnd.quark.quarkxpress'],\n ['qxl', 'application/vnd.quark.quarkxpress'],\n ['qxt', 'application/vnd.quark.quarkxpress'],\n ['ra', 'audio/x-realaudio'],\n ['ram', 'audio/x-pn-realaudio'],\n ['raml', 'application/raml+yaml'],\n ['rapd', 'application/route-apd+xml'],\n ['rar', 'application/x-rar'],\n ['ras', 'image/x-cmu-raster'],\n ['rcprofile', 'application/vnd.ipunplugged.rcprofile'],\n ['rdf', 'application/rdf+xml'],\n ['rdz', 'application/vnd.data-vision.rdz'],\n ['relo', 'application/p2p-overlay+xml'],\n ['rep', 'application/vnd.businessobjects'],\n ['res', 'application/x-dtbresource+xml'],\n ['rgb', 'image/x-rgb'],\n ['rif', 'application/reginfo+xml'],\n ['rip', 'audio/vnd.rip'],\n ['ris', 'application/x-research-info-systems'],\n ['rl', 'application/resource-lists+xml'],\n ['rlc', 'image/vnd.fujixerox.edmics-rlc'],\n ['rld', 'application/resource-lists-diff+xml'],\n ['rm', 'audio/x-pn-realaudio'],\n ['rmi', 'audio/midi'],\n ['rmp', 'audio/x-pn-realaudio-plugin'],\n ['rms', 'application/vnd.jcp.javame.midlet-rms'],\n ['rmvb', 'application/vnd.rn-realmedia-vbr'],\n ['rnc', 'application/relax-ng-compact-syntax'],\n ['rng', 'application/xml'],\n ['roa', 'application/rpki-roa'],\n ['roff', 'text/troff'],\n ['rp9', 'application/vnd.cloanto.rp9'],\n ['rpm', 'audio/x-pn-realaudio-plugin'],\n ['rpss', 'application/vnd.nokia.radio-presets'],\n ['rpst', 'application/vnd.nokia.radio-preset'],\n ['rq', 'application/sparql-query'],\n ['rs', 'application/rls-services+xml'],\n ['rsa', 'application/x-pkcs7'],\n ['rsat', 'application/atsc-rsat+xml'],\n ['rsd', 'application/rsd+xml'],\n ['rsheet', 'application/urc-ressheet+xml'],\n ['rss', 'application/rss+xml'],\n ['rtf', 'text/rtf'],\n ['rtx', 'text/richtext'],\n ['run', 'application/x-makeself'],\n ['rusd', 'application/route-usd+xml'],\n ['rv', 'video/vnd.rn-realvideo'],\n ['s', 'text/x-asm'],\n ['s3m', 'audio/s3m'],\n ['saf', 'application/vnd.yamaha.smaf-audio'],\n ['sass', 'text/x-sass'],\n ['sbml', 'application/sbml+xml'],\n ['sc', 'application/vnd.ibm.secure-container'],\n ['scd', 'application/x-msschedule'],\n ['scm', 'application/vnd.lotus-screencam'],\n ['scq', 'application/scvp-cv-request'],\n ['scs', 'application/scvp-cv-response'],\n ['scss', 'text/x-scss'],\n ['scurl', 'text/vnd.curl.scurl'],\n ['sda', 'application/vnd.stardivision.draw'],\n ['sdc', 'application/vnd.stardivision.calc'],\n ['sdd', 'application/vnd.stardivision.impress'],\n ['sdkd', 'application/vnd.solent.sdkm+xml'],\n ['sdkm', 'application/vnd.solent.sdkm+xml'],\n ['sdp', 'application/sdp'],\n ['sdw', 'application/vnd.stardivision.writer'],\n ['sea', 'application/octet-stream'],\n ['see', 'application/vnd.seemail'],\n ['seed', 'application/vnd.fdsn.seed'],\n ['sema', 'application/vnd.sema'],\n ['semd', 'application/vnd.semd'],\n ['semf', 'application/vnd.semf'],\n ['senmlx', 'application/senml+xml'],\n ['sensmlx', 'application/sensml+xml'],\n ['ser', 'application/java-serialized-object'],\n ['setpay', 'application/set-payment-initiation'],\n ['setreg', 'application/set-registration-initiation'],\n ['sfd-hdstx', 'application/vnd.hydrostatix.sof-data'],\n ['sfs', 'application/vnd.spotfire.sfs'],\n ['sfv', 'text/x-sfv'],\n ['sgi', 'image/sgi'],\n ['sgl', 'application/vnd.stardivision.writer-global'],\n ['sgm', 'text/sgml'],\n ['sgml', 'text/sgml'],\n ['sh', 'application/x-sh'],\n ['shar', 'application/x-shar'],\n ['shex', 'text/shex'],\n ['shf', 'application/shf+xml'],\n ['shtml', 'text/html'],\n ['sid', 'image/x-mrsid-image'],\n ['sieve', 'application/sieve'],\n ['sig', 'application/pgp-signature'],\n ['sil', 'audio/silk'],\n ['silo', 'model/mesh'],\n ['sis', 'application/vnd.symbian.install'],\n ['sisx', 'application/vnd.symbian.install'],\n ['sit', 'application/x-stuffit'],\n ['sitx', 'application/x-stuffitx'],\n ['siv', 'application/sieve'],\n ['skd', 'application/vnd.koan'],\n ['skm', 'application/vnd.koan'],\n ['skp', 'application/vnd.koan'],\n ['skt', 'application/vnd.koan'],\n ['sldm', 'application/vnd.ms-powerpoint.slide.macroenabled.12'],\n ['sldx', 'application/vnd.openxmlformats-officedocument.presentationml.slide'],\n ['slim', 'text/slim'],\n ['slm', 'text/slim'],\n ['sls', 'application/route-s-tsid+xml'],\n ['slt', 'application/vnd.epson.salt'],\n ['sm', 'application/vnd.stepmania.stepchart'],\n ['smf', 'application/vnd.stardivision.math'],\n ['smi', 'application/smil'],\n ['smil', 'application/smil'],\n ['smv', 'video/x-smv'],\n ['smzip', 'application/vnd.stepmania.package'],\n ['snd', 'audio/basic'],\n ['snf', 'application/x-font-snf'],\n ['so', 'application/octet-stream'],\n ['spc', 'application/x-pkcs7-certificates'],\n ['spdx', 'text/spdx'],\n ['spf', 'application/vnd.yamaha.smaf-phrase'],\n ['spl', 'application/x-futuresplash'],\n ['spot', 'text/vnd.in3d.spot'],\n ['spp', 'application/scvp-vp-response'],\n ['spq', 'application/scvp-vp-request'],\n ['spx', 'audio/ogg'],\n ['sql', 'application/x-sql'],\n ['src', 'application/x-wais-source'],\n ['srt', 'application/x-subrip'],\n ['sru', 'application/sru+xml'],\n ['srx', 'application/sparql-results+xml'],\n ['ssdl', 'application/ssdl+xml'],\n ['sse', 'application/vnd.kodak-descriptor'],\n ['ssf', 'application/vnd.epson.ssf'],\n ['ssml', 'application/ssml+xml'],\n ['sst', 'application/octet-stream'],\n ['st', 'application/vnd.sailingtracker.track'],\n ['stc', 'application/vnd.sun.xml.calc.template'],\n ['std', 'application/vnd.sun.xml.draw.template'],\n ['stf', 'application/vnd.wt.stf'],\n ['sti', 'application/vnd.sun.xml.impress.template'],\n ['stk', 'application/hyperstudio'],\n ['stl', 'model/stl'],\n ['stpx', 'model/step+xml'],\n ['stpxz', 'model/step-xml+zip'],\n ['stpz', 'model/step+zip'],\n ['str', 'application/vnd.pg.format'],\n ['stw', 'application/vnd.sun.xml.writer.template'],\n ['styl', 'text/stylus'],\n ['stylus', 'text/stylus'],\n ['sub', 'text/vnd.dvb.subtitle'],\n ['sus', 'application/vnd.sus-calendar'],\n ['susp', 'application/vnd.sus-calendar'],\n ['sv4cpio', 'application/x-sv4cpio'],\n ['sv4crc', 'application/x-sv4crc'],\n ['svc', 'application/vnd.dvb.service'],\n ['svd', 'application/vnd.svd'],\n ['svg', 'image/svg+xml'],\n ['svgz', 'image/svg+xml'],\n ['swa', 'application/x-director'],\n ['swf', 'application/x-shockwave-flash'],\n ['swi', 'application/vnd.aristanetworks.swi'],\n ['swidtag', 'application/swid+xml'],\n ['sxc', 'application/vnd.sun.xml.calc'],\n ['sxd', 'application/vnd.sun.xml.draw'],\n ['sxg', 'application/vnd.sun.xml.writer.global'],\n ['sxi', 'application/vnd.sun.xml.impress'],\n ['sxm', 'application/vnd.sun.xml.math'],\n ['sxw', 'application/vnd.sun.xml.writer'],\n ['t', 'text/troff'],\n ['t3', 'application/x-t3vm-image'],\n ['t38', 'image/t38'],\n ['taglet', 'application/vnd.mynfc'],\n ['tao', 'application/vnd.tao.intent-module-archive'],\n ['tap', 'image/vnd.tencent.tap'],\n ['tar', 'application/x-tar'],\n ['tcap', 'application/vnd.3gpp2.tcap'],\n ['tcl', 'application/x-tcl'],\n ['td', 'application/urc-targetdesc+xml'],\n ['teacher', 'application/vnd.smart.teacher'],\n ['tei', 'application/tei+xml'],\n ['teicorpus', 'application/tei+xml'],\n ['tex', 'application/x-tex'],\n ['texi', 'application/x-texinfo'],\n ['texinfo', 'application/x-texinfo'],\n ['text', 'text/plain'],\n ['tfi', 'application/thraud+xml'],\n ['tfm', 'application/x-tex-tfm'],\n ['tfx', 'image/tiff-fx'],\n ['tga', 'image/x-tga'],\n ['tgz', 'application/x-tar'],\n ['thmx', 'application/vnd.ms-officetheme'],\n ['tif', 'image/tiff'],\n ['tiff', 'image/tiff'],\n ['tk', 'application/x-tcl'],\n ['tmo', 'application/vnd.tmobile-livetv'],\n ['toml', 'application/toml'],\n ['torrent', 'application/x-bittorrent'],\n ['tpl', 'application/vnd.groove-tool-template'],\n ['tpt', 'application/vnd.trid.tpt'],\n ['tr', 'text/troff'],\n ['tra', 'application/vnd.trueapp'],\n ['trig', 'application/trig'],\n ['trm', 'application/x-msterminal'],\n ['ts', 'video/mp2t'],\n ['tsd', 'application/timestamped-data'],\n ['tsv', 'text/tab-separated-values'],\n ['ttc', 'font/collection'],\n ['ttf', 'font/ttf'],\n ['ttl', 'text/turtle'],\n ['ttml', 'application/ttml+xml'],\n ['twd', 'application/vnd.simtech-mindmapper'],\n ['twds', 'application/vnd.simtech-mindmapper'],\n ['txd', 'application/vnd.genomatix.tuxedo'],\n ['txf', 'application/vnd.mobius.txf'],\n ['txt', 'text/plain'],\n ['u8dsn', 'message/global-delivery-status'],\n ['u8hdr', 'message/global-headers'],\n ['u8mdn', 'message/global-disposition-notification'],\n ['u8msg', 'message/global'],\n ['u32', 'application/x-authorware-bin'],\n ['ubj', 'application/ubjson'],\n ['udeb', 'application/x-debian-package'],\n ['ufd', 'application/vnd.ufdl'],\n ['ufdl', 'application/vnd.ufdl'],\n ['ulx', 'application/x-glulx'],\n ['umj', 'application/vnd.umajin'],\n ['unityweb', 'application/vnd.unity'],\n ['uoml', 'application/vnd.uoml+xml'],\n ['uri', 'text/uri-list'],\n ['uris', 'text/uri-list'],\n ['urls', 'text/uri-list'],\n ['usdz', 'model/vnd.usdz+zip'],\n ['ustar', 'application/x-ustar'],\n ['utz', 'application/vnd.uiq.theme'],\n ['uu', 'text/x-uuencode'],\n ['uva', 'audio/vnd.dece.audio'],\n ['uvd', 'application/vnd.dece.data'],\n ['uvf', 'application/vnd.dece.data'],\n ['uvg', 'image/vnd.dece.graphic'],\n ['uvh', 'video/vnd.dece.hd'],\n ['uvi', 'image/vnd.dece.graphic'],\n ['uvm', 'video/vnd.dece.mobile'],\n ['uvp', 'video/vnd.dece.pd'],\n ['uvs', 'video/vnd.dece.sd'],\n ['uvt', 'application/vnd.dece.ttml+xml'],\n ['uvu', 'video/vnd.uvvu.mp4'],\n ['uvv', 'video/vnd.dece.video'],\n ['uvva', 'audio/vnd.dece.audio'],\n ['uvvd', 'application/vnd.dece.data'],\n ['uvvf', 'application/vnd.dece.data'],\n ['uvvg', 'image/vnd.dece.graphic'],\n ['uvvh', 'video/vnd.dece.hd'],\n ['uvvi', 'image/vnd.dece.graphic'],\n ['uvvm', 'video/vnd.dece.mobile'],\n ['uvvp', 'video/vnd.dece.pd'],\n ['uvvs', 'video/vnd.dece.sd'],\n ['uvvt', 'application/vnd.dece.ttml+xml'],\n ['uvvu', 'video/vnd.uvvu.mp4'],\n ['uvvv', 'video/vnd.dece.video'],\n ['uvvx', 'application/vnd.dece.unspecified'],\n ['uvvz', 'application/vnd.dece.zip'],\n ['uvx', 'application/vnd.dece.unspecified'],\n ['uvz', 'application/vnd.dece.zip'],\n ['vbox', 'application/x-virtualbox-vbox'],\n ['vbox-extpack', 'application/x-virtualbox-vbox-extpack'],\n ['vcard', 'text/vcard'],\n ['vcd', 'application/x-cdlink'],\n ['vcf', 'text/x-vcard'],\n ['vcg', 'application/vnd.groove-vcard'],\n ['vcs', 'text/x-vcalendar'],\n ['vcx', 'application/vnd.vcx'],\n ['vdi', 'application/x-virtualbox-vdi'],\n ['vds', 'model/vnd.sap.vds'],\n ['vhd', 'application/x-virtualbox-vhd'],\n ['vis', 'application/vnd.visionary'],\n ['viv', 'video/vnd.vivo'],\n ['vlc', 'application/videolan'],\n ['vmdk', 'application/x-virtualbox-vmdk'],\n ['vob', 'video/x-ms-vob'],\n ['vor', 'application/vnd.stardivision.writer'],\n ['vox', 'application/x-authorware-bin'],\n ['vrml', 'model/vrml'],\n ['vsd', 'application/vnd.visio'],\n ['vsf', 'application/vnd.vsf'],\n ['vss', 'application/vnd.visio'],\n ['vst', 'application/vnd.visio'],\n ['vsw', 'application/vnd.visio'],\n ['vtf', 'image/vnd.valve.source.texture'],\n ['vtt', 'text/vtt'],\n ['vtu', 'model/vnd.vtu'],\n ['vxml', 'application/voicexml+xml'],\n ['w3d', 'application/x-director'],\n ['wad', 'application/x-doom'],\n ['wadl', 'application/vnd.sun.wadl+xml'],\n ['war', 'application/java-archive'],\n ['wasm', 'application/wasm'],\n ['wav', 'audio/x-wav'],\n ['wax', 'audio/x-ms-wax'],\n ['wbmp', 'image/vnd.wap.wbmp'],\n ['wbs', 'application/vnd.criticaltools.wbs+xml'],\n ['wbxml', 'application/wbxml'],\n ['wcm', 'application/vnd.ms-works'],\n ['wdb', 'application/vnd.ms-works'],\n ['wdp', 'image/vnd.ms-photo'],\n ['weba', 'audio/webm'],\n ['webapp', 'application/x-web-app-manifest+json'],\n ['webm', 'video/webm'],\n ['webmanifest', 'application/manifest+json'],\n ['webp', 'image/webp'],\n ['wg', 'application/vnd.pmi.widget'],\n ['wgt', 'application/widget'],\n ['wks', 'application/vnd.ms-works'],\n ['wm', 'video/x-ms-wm'],\n ['wma', 'audio/x-ms-wma'],\n ['wmd', 'application/x-ms-wmd'],\n ['wmf', 'image/wmf'],\n ['wml', 'text/vnd.wap.wml'],\n ['wmlc', 'application/wmlc'],\n ['wmls', 'text/vnd.wap.wmlscript'],\n ['wmlsc', 'application/vnd.wap.wmlscriptc'],\n ['wmv', 'video/x-ms-wmv'],\n ['wmx', 'video/x-ms-wmx'],\n ['wmz', 'application/x-msmetafile'],\n ['woff', 'font/woff'],\n ['woff2', 'font/woff2'],\n ['word', 'application/msword'],\n ['wpd', 'application/vnd.wordperfect'],\n ['wpl', 'application/vnd.ms-wpl'],\n ['wps', 'application/vnd.ms-works'],\n ['wqd', 'application/vnd.wqd'],\n ['wri', 'application/x-mswrite'],\n ['wrl', 'model/vrml'],\n ['wsc', 'message/vnd.wfa.wsc'],\n ['wsdl', 'application/wsdl+xml'],\n ['wspolicy', 'application/wspolicy+xml'],\n ['wtb', 'application/vnd.webturbo'],\n ['wvx', 'video/x-ms-wvx'],\n ['x3d', 'model/x3d+xml'],\n ['x3db', 'model/x3d+fastinfoset'],\n ['x3dbz', 'model/x3d+binary'],\n ['x3dv', 'model/x3d-vrml'],\n ['x3dvz', 'model/x3d+vrml'],\n ['x3dz', 'model/x3d+xml'],\n ['x32', 'application/x-authorware-bin'],\n ['x_b', 'model/vnd.parasolid.transmit.binary'],\n ['x_t', 'model/vnd.parasolid.transmit.text'],\n ['xaml', 'application/xaml+xml'],\n ['xap', 'application/x-silverlight-app'],\n ['xar', 'application/vnd.xara'],\n ['xav', 'application/xcap-att+xml'],\n ['xbap', 'application/x-ms-xbap'],\n ['xbd', 'application/vnd.fujixerox.docuworks.binder'],\n ['xbm', 'image/x-xbitmap'],\n ['xca', 'application/xcap-caps+xml'],\n ['xcs', 'application/calendar+xml'],\n ['xdf', 'application/xcap-diff+xml'],\n ['xdm', 'application/vnd.syncml.dm+xml'],\n ['xdp', 'application/vnd.adobe.xdp+xml'],\n ['xdssc', 'application/dssc+xml'],\n ['xdw', 'application/vnd.fujixerox.docuworks'],\n ['xel', 'application/xcap-el+xml'],\n ['xenc', 'application/xenc+xml'],\n ['xer', 'application/patch-ops-error+xml'],\n ['xfdf', 'application/vnd.adobe.xfdf'],\n ['xfdl', 'application/vnd.xfdl'],\n ['xht', 'application/xhtml+xml'],\n ['xhtml', 'application/xhtml+xml'],\n ['xhvml', 'application/xv+xml'],\n ['xif', 'image/vnd.xiff'],\n ['xl', 'application/excel'],\n ['xla', 'application/vnd.ms-excel'],\n ['xlam', 'application/vnd.ms-excel.addin.macroEnabled.12'],\n ['xlc', 'application/vnd.ms-excel'],\n ['xlf', 'application/xliff+xml'],\n ['xlm', 'application/vnd.ms-excel'],\n ['xls', 'application/vnd.ms-excel'],\n ['xlsb', 'application/vnd.ms-excel.sheet.binary.macroEnabled.12'],\n ['xlsm', 'application/vnd.ms-excel.sheet.macroEnabled.12'],\n ['xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],\n ['xlt', 'application/vnd.ms-excel'],\n ['xltm', 'application/vnd.ms-excel.template.macroEnabled.12'],\n ['xltx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.template'],\n ['xlw', 'application/vnd.ms-excel'],\n ['xm', 'audio/xm'],\n ['xml', 'application/xml'],\n ['xns', 'application/xcap-ns+xml'],\n ['xo', 'application/vnd.olpc-sugar'],\n ['xop', 'application/xop+xml'],\n ['xpi', 'application/x-xpinstall'],\n ['xpl', 'application/xproc+xml'],\n ['xpm', 'image/x-xpixmap'],\n ['xpr', 'application/vnd.is-xpr'],\n ['xps', 'application/vnd.ms-xpsdocument'],\n ['xpw', 'application/vnd.intercon.formnet'],\n ['xpx', 'application/vnd.intercon.formnet'],\n ['xsd', 'application/xml'],\n ['xsl', 'application/xml'],\n ['xslt', 'application/xslt+xml'],\n ['xsm', 'application/vnd.syncml+xml'],\n ['xspf', 'application/xspf+xml'],\n ['xul', 'application/vnd.mozilla.xul+xml'],\n ['xvm', 'application/xv+xml'],\n ['xvml', 'application/xv+xml'],\n ['xwd', 'image/x-xwindowdump'],\n ['xyz', 'chemical/x-xyz'],\n ['xz', 'application/x-xz'],\n ['yaml', 'text/yaml'],\n ['yang', 'application/yang'],\n ['yin', 'application/yin+xml'],\n ['yml', 'text/yaml'],\n ['ymp', 'text/x-suse-ymp'],\n ['z', 'application/x-compress'],\n ['z1', 'application/x-zmachine'],\n ['z2', 'application/x-zmachine'],\n ['z3', 'application/x-zmachine'],\n ['z4', 'application/x-zmachine'],\n ['z5', 'application/x-zmachine'],\n ['z6', 'application/x-zmachine'],\n ['z7', 'application/x-zmachine'],\n ['z8', 'application/x-zmachine'],\n ['zaz', 'application/vnd.zzazz.deck+xml'],\n ['zip', 'application/zip'],\n ['zir', 'application/vnd.zul'],\n ['zirz', 'application/vnd.zul'],\n ['zmm', 'application/vnd.handheld-entertainment+xml'],\n ['zsh', 'text/x-scriptzsh']\n]);\n\n\nexport function toFileWithPath(file: FileWithPath, path?: string, h?: FileSystemHandle): FileWithPath {\n const f = withMimeType(file);\n const {webkitRelativePath} = file;\n const p = typeof path === 'string'\n ? path\n // If is set,\n // the File will have a {webkitRelativePath} property\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory\n : typeof webkitRelativePath === 'string' && webkitRelativePath.length > 0\n ? webkitRelativePath\n : `./${file.name}`;\n if (typeof f.path !== 'string') { // on electron, path is already set to the absolute path\n setObjProp(f, 'path', p);\n }\n if (h !== undefined) {\n Object.defineProperty(f, 'handle', {\n value: h,\n writable: false,\n configurable: false,\n enumerable: true\n });\n }\n // Always populate a relative path so that even electron apps have access to a relativePath value\n setObjProp(f, 'relativePath', p);\n return f;\n}\n\nexport interface FileWithPath extends File {\n readonly path?: string;\n readonly handle?: FileSystemFileHandle;\n readonly relativePath?: string;\n}\n\nfunction withMimeType(file: FileWithPath) {\n const {name} = file;\n const hasExtension = name && name.lastIndexOf('.') !== -1;\n\n if (hasExtension && !file.type) {\n const ext = name.split('.')\n .pop()!.toLowerCase();\n const type = COMMON_MIME_TYPES.get(ext);\n if (type) {\n Object.defineProperty(file, 'type', {\n value: type,\n writable: false,\n configurable: false,\n enumerable: true\n });\n }\n }\n\n return file;\n}\n\nfunction setObjProp(f: FileWithPath, key: string, value: string) {\n Object.defineProperty(f, key, {\n value,\n writable: false,\n configurable: false,\n enumerable: true\n })\n}\n", "import {FileWithPath, toFileWithPath} from './file';\n\n\nconst FILES_TO_IGNORE = [\n // Thumbnail cache files for macOS and Windows\n '.DS_Store', // macOs\n 'Thumbs.db' // Windows\n];\n\n\n/**\n * Convert a DragEvent's DataTrasfer object to a list of File objects\n * NOTE: If some of the items are folders,\n * everything will be flattened and placed in the same list but the paths will be kept as a {path} property.\n *\n * EXPERIMENTAL: A list of https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle objects can also be passed as an arg\n * and a list of File objects will be returned.\n *\n * @param evt\n */\nexport async function fromEvent(evt: Event | any): Promise<(FileWithPath | DataTransferItem)[]> {\n if (isObject(evt) && isDataTransfer(evt.dataTransfer)) {\n return getDataTransferFiles(evt.dataTransfer, evt.type);\n } else if (isChangeEvt(evt)) {\n return getInputFiles(evt);\n } else if (Array.isArray(evt) && evt.every(item => 'getFile' in item && typeof item.getFile === 'function')) {\n return getFsHandleFiles(evt)\n }\n return [];\n}\n\nfunction isDataTransfer(value: any): value is DataTransfer {\n return isObject(value);\n}\n\nfunction isChangeEvt(value: any): value is Event {\n return isObject(value) && isObject(value.target);\n}\n\nfunction isObject(v: any): v is T {\n return typeof v === 'object' && v !== null\n}\n\nfunction getInputFiles(evt: Event) {\n return fromList((evt.target as HTMLInputElement).files).map(file => toFileWithPath(file));\n}\n\n// Ee expect each handle to be https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileHandle\nasync function getFsHandleFiles(handles: any[]) {\n const files = await Promise.all(handles.map(h => h.getFile()));\n return files.map(file => toFileWithPath(file));\n}\n\n\nasync function getDataTransferFiles(dt: DataTransfer, type: string) {\n // IE11 does not support dataTransfer.items\n // See https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/items#Browser_compatibility\n if (dt.items) {\n const items = fromList(dt.items)\n .filter(item => item.kind === 'file');\n // According to https://html.spec.whatwg.org/multipage/dnd.html#dndevents,\n // only 'dragstart' and 'drop' has access to the data (source node)\n if (type !== 'drop') {\n return items;\n }\n const files = await Promise.all(items.map(toFilePromises));\n return noIgnoredFiles(flatten(files));\n }\n\n return noIgnoredFiles(fromList(dt.files)\n .map(file => toFileWithPath(file)));\n}\n\nfunction noIgnoredFiles(files: FileWithPath[]) {\n return files.filter(file => FILES_TO_IGNORE.indexOf(file.name) === -1);\n}\n\n// IE11 does not support Array.from()\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Browser_compatibility\n// https://developer.mozilla.org/en-US/docs/Web/API/FileList\n// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList\nfunction fromList(items: DataTransferItemList | FileList | null): T[] {\n if (items === null) {\n return [];\n }\n\n const files = [];\n\n // tslint:disable: prefer-for-of\n for (let i = 0; i < items.length; i++) {\n const file = items[i];\n files.push(file);\n }\n\n return files as any;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem\nfunction toFilePromises(item: DataTransferItem) {\n if (typeof item.webkitGetAsEntry !== 'function') {\n return fromDataTransferItem(item);\n }\n\n const entry = item.webkitGetAsEntry();\n\n // Safari supports dropping an image node from a different window and can be retrieved using\n // the DataTransferItem.getAsFile() API\n // NOTE: FileSystemEntry.file() throws if trying to get the file\n if (entry && entry.isDirectory) {\n return fromDirEntry(entry) as any;\n }\n\n return fromDataTransferItem(item, entry);\n}\n\nfunction flatten(items: any[]): T[] {\n return items.reduce((acc, files) => [\n ...acc,\n ...(Array.isArray(files) ? flatten(files) : [files])\n ], []);\n}\n\nasync function fromDataTransferItem(item: DataTransferItem, entry?: FileSystemEntry | null) {\n // Check if we're in a secure context; due to a bug in Chrome (as far as we know)\n // the browser crashes when calling this API (yet to be confirmed as a consistent behaviour).\n //\n // See:\n // - https://issues.chromium.org/issues/40186242\n // - https://github.com/react-dropzone/react-dropzone/issues/1397\n if (globalThis.isSecureContext && typeof (item as any).getAsFileSystemHandle === 'function') {\n const h = await (item as any).getAsFileSystemHandle();\n if (h === null) {\n throw new Error(`${item} is not a File`);\n }\n // It seems that the handle can be `undefined` (see https://github.com/react-dropzone/file-selector/issues/120),\n // so we check if it isn't; if it is, the code path continues to the next API (`getAsFile`).\n if (h !== undefined) {\n const file = await h.getFile();\n file.handle = h;\n return toFileWithPath(file);\n }\n }\n const file = item.getAsFile();\n if (!file) {\n throw new Error(`${item} is not a File`);\n }\n const fwp = toFileWithPath(file, entry?.fullPath ?? undefined);\n return fwp;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemEntry\nasync function fromEntry(entry: any) {\n return entry.isDirectory ? fromDirEntry(entry) : fromFileEntry(entry);\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry\nfunction fromDirEntry(entry: any) {\n const reader = entry.createReader();\n\n return new Promise((resolve, reject) => {\n const entries: Promise[] = [];\n\n function readEntries() {\n // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry/createReader\n // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryReader/readEntries\n reader.readEntries(async (batch: any[]) => {\n if (!batch.length) {\n // Done reading directory\n try {\n const files = await Promise.all(entries);\n resolve(files);\n } catch (err) {\n reject(err);\n }\n } else {\n const items = Promise.all(batch.map(fromEntry));\n entries.push(items);\n\n // Continue reading\n readEntries();\n }\n }, (err: any) => {\n reject(err);\n });\n }\n\n readEntries();\n });\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileEntry\nasync function fromFileEntry(entry: any) {\n return new Promise((resolve, reject) => {\n entry.file((file: FileWithPath) => {\n const fwp = toFileWithPath(file, entry.fullPath);\n resolve(fwp);\n }, (err: any) => {\n reject(err);\n });\n });\n}\n\n// Infinite type recursion\n// https://github.com/Microsoft/TypeScript/issues/3496#issuecomment-128553540\ninterface FileArray extends Array {}\ntype FileValue = FileWithPath\n | FileArray[];\n", "function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport _accepts from \"attr-accept\";\nvar accepts = typeof _accepts === \"function\" ? _accepts : _accepts.default; // Error codes\n\nexport var FILE_INVALID_TYPE = \"file-invalid-type\";\nexport var FILE_TOO_LARGE = \"file-too-large\";\nexport var FILE_TOO_SMALL = \"file-too-small\";\nexport var TOO_MANY_FILES = \"too-many-files\";\nexport var ErrorCode = {\n FileInvalidType: FILE_INVALID_TYPE,\n FileTooLarge: FILE_TOO_LARGE,\n FileTooSmall: FILE_TOO_SMALL,\n TooManyFiles: TOO_MANY_FILES\n};\n/**\n *\n * @param {string} accept\n */\n\nexport var getInvalidTypeRejectionErr = function getInvalidTypeRejectionErr() {\n var accept = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var acceptArr = accept.split(\",\");\n var msg = acceptArr.length > 1 ? \"one of \".concat(acceptArr.join(\", \")) : acceptArr[0];\n return {\n code: FILE_INVALID_TYPE,\n message: \"File type must be \".concat(msg)\n };\n};\nexport var getTooLargeRejectionErr = function getTooLargeRejectionErr(maxSize) {\n return {\n code: FILE_TOO_LARGE,\n message: \"File is larger than \".concat(maxSize, \" \").concat(maxSize === 1 ? \"byte\" : \"bytes\")\n };\n};\nexport var getTooSmallRejectionErr = function getTooSmallRejectionErr(minSize) {\n return {\n code: FILE_TOO_SMALL,\n message: \"File is smaller than \".concat(minSize, \" \").concat(minSize === 1 ? \"byte\" : \"bytes\")\n };\n};\nexport var TOO_MANY_FILES_REJECTION = {\n code: TOO_MANY_FILES,\n message: \"Too many files\"\n};\n/**\n * Check if file is accepted.\n *\n * Firefox versions prior to 53 return a bogus MIME type for every file drag,\n * so dragovers with that MIME type will always be accepted.\n *\n * @param {File} file\n * @param {string} accept\n * @returns\n */\n\nexport function fileAccepted(file, accept) {\n var isAcceptable = file.type === \"application/x-moz-file\" || accepts(file, accept);\n return [isAcceptable, isAcceptable ? null : getInvalidTypeRejectionErr(accept)];\n}\nexport function fileMatchSize(file, minSize, maxSize) {\n if (isDefined(file.size)) {\n if (isDefined(minSize) && isDefined(maxSize)) {\n if (file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];\n if (file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];\n } else if (isDefined(minSize) && file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];else if (isDefined(maxSize) && file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];\n }\n\n return [true, null];\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\n/**\n *\n * @param {object} options\n * @param {File[]} options.files\n * @param {string} [options.accept]\n * @param {number} [options.minSize]\n * @param {number} [options.maxSize]\n * @param {boolean} [options.multiple]\n * @param {number} [options.maxFiles]\n * @param {(f: File) => FileError|FileError[]|null} [options.validator]\n * @returns\n */\n\n\nexport function allFilesAccepted(_ref) {\n var files = _ref.files,\n accept = _ref.accept,\n minSize = _ref.minSize,\n maxSize = _ref.maxSize,\n multiple = _ref.multiple,\n maxFiles = _ref.maxFiles,\n validator = _ref.validator;\n\n if (!multiple && files.length > 1 || multiple && maxFiles >= 1 && files.length > maxFiles) {\n return false;\n }\n\n return files.every(function (file) {\n var _fileAccepted = fileAccepted(file, accept),\n _fileAccepted2 = _slicedToArray(_fileAccepted, 1),\n accepted = _fileAccepted2[0];\n\n var _fileMatchSize = fileMatchSize(file, minSize, maxSize),\n _fileMatchSize2 = _slicedToArray(_fileMatchSize, 1),\n sizeMatch = _fileMatchSize2[0];\n\n var customErrors = validator ? validator(file) : null;\n return accepted && sizeMatch && !customErrors;\n });\n} // React's synthetic events has event.isPropagationStopped,\n// but to remain compatibility with other libs (Preact) fall back\n// to check event.cancelBubble\n\nexport function isPropagationStopped(event) {\n if (typeof event.isPropagationStopped === \"function\") {\n return event.isPropagationStopped();\n } else if (typeof event.cancelBubble !== \"undefined\") {\n return event.cancelBubble;\n }\n\n return false;\n}\nexport function isEvtWithFiles(event) {\n if (!event.dataTransfer) {\n return !!event.target && !!event.target.files;\n } // https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/types\n // https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Recommended_drag_types#file\n\n\n return Array.prototype.some.call(event.dataTransfer.types, function (type) {\n return type === \"Files\" || type === \"application/x-moz-file\";\n });\n}\nexport function isKindFile(item) {\n return _typeof(item) === \"object\" && item !== null && item.kind === \"file\";\n} // allow the entire document to be a drag target\n\nexport function onDocumentDragOver(event) {\n event.preventDefault();\n}\n\nfunction isIe(userAgent) {\n return userAgent.indexOf(\"MSIE\") !== -1 || userAgent.indexOf(\"Trident/\") !== -1;\n}\n\nfunction isEdge(userAgent) {\n return userAgent.indexOf(\"Edge/\") !== -1;\n}\n\nexport function isIeOrEdge() {\n var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.navigator.userAgent;\n return isIe(userAgent) || isEdge(userAgent);\n}\n/**\n * This is intended to be used to compose event handlers\n * They are executed in order until one of them calls `event.isPropagationStopped()`.\n * Note that the check is done on the first invoke too,\n * meaning that if propagation was stopped before invoking the fns,\n * no handlers will be executed.\n *\n * @param {Function} fns the event hanlder functions\n * @return {Function} the event handler to add to an element\n */\n\nexport function composeEventHandlers() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return fns.some(function (fn) {\n if (!isPropagationStopped(event) && fn) {\n fn.apply(void 0, [event].concat(args));\n }\n\n return isPropagationStopped(event);\n });\n };\n}\n/**\n * canUseFileSystemAccessAPI checks if the [File System Access API](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API)\n * is supported by the browser.\n * @returns {boolean}\n */\n\nexport function canUseFileSystemAccessAPI() {\n return \"showOpenFilePicker\" in window;\n}\n/**\n * Convert the `{accept}` dropzone prop to the\n * `{types}` option for https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker\n *\n * @param {AcceptProp} accept\n * @returns {{accept: string[]}[]}\n */\n\nexport function pickerOptionsFromAccept(accept) {\n if (isDefined(accept)) {\n var acceptForPicker = Object.entries(accept).filter(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n mimeType = _ref3[0],\n ext = _ref3[1];\n\n var ok = true;\n\n if (!isMIMEType(mimeType)) {\n console.warn(\"Skipped \\\"\".concat(mimeType, \"\\\" because it is not a valid MIME type. Check https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types for a list of valid MIME types.\"));\n ok = false;\n }\n\n if (!Array.isArray(ext) || !ext.every(isExt)) {\n console.warn(\"Skipped \\\"\".concat(mimeType, \"\\\" because an invalid file extension was provided.\"));\n ok = false;\n }\n\n return ok;\n }).reduce(function (agg, _ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n mimeType = _ref5[0],\n ext = _ref5[1];\n\n return _objectSpread(_objectSpread({}, agg), {}, _defineProperty({}, mimeType, ext));\n }, {});\n return [{\n // description is required due to https://crbug.com/1264708\n description: \"Files\",\n accept: acceptForPicker\n }];\n }\n\n return accept;\n}\n/**\n * Convert the `{accept}` dropzone prop to an array of MIME types/extensions.\n * @param {AcceptProp} accept\n * @returns {string}\n */\n\nexport function acceptPropAsAcceptAttr(accept) {\n if (isDefined(accept)) {\n return Object.entries(accept).reduce(function (a, _ref6) {\n var _ref7 = _slicedToArray(_ref6, 2),\n mimeType = _ref7[0],\n ext = _ref7[1];\n\n return [].concat(_toConsumableArray(a), [mimeType], _toConsumableArray(ext));\n }, []) // Silently discard invalid entries as pickerOptionsFromAccept warns about these\n .filter(function (v) {\n return isMIMEType(v) || isExt(v);\n }).join(\",\");\n }\n\n return undefined;\n}\n/**\n * Check if v is an exception caused by aborting a request (e.g window.showOpenFilePicker()).\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.\n * @param {any} v\n * @returns {boolean} True if v is an abort exception.\n */\n\nexport function isAbort(v) {\n return v instanceof DOMException && (v.name === \"AbortError\" || v.code === v.ABORT_ERR);\n}\n/**\n * Check if v is a security error.\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.\n * @param {any} v\n * @returns {boolean} True if v is a security error.\n */\n\nexport function isSecurityError(v) {\n return v instanceof DOMException && (v.name === \"SecurityError\" || v.code === v.SECURITY_ERR);\n}\n/**\n * Check if v is a MIME type string.\n *\n * See accepted format: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers.\n *\n * @param {string} v\n */\n\nexport function isMIMEType(v) {\n return v === \"audio/*\" || v === \"video/*\" || v === \"image/*\" || v === \"text/*\" || v === \"application/*\" || /\\w+\\/[-+.\\w]+/g.test(v);\n}\n/**\n * Check if v is a file extension.\n * @param {string} v\n */\n\nexport function isExt(v) {\n return /^.*\\.[\\w]+$/.test(v);\n}\n/**\n * @typedef {Object.} AcceptProp\n */\n\n/**\n * @typedef {object} FileError\n * @property {string} message\n * @property {ErrorCode|string} code\n */\n\n/**\n * @typedef {\"file-invalid-type\"|\"file-too-large\"|\"file-too-small\"|\"too-many-files\"} ErrorCode\n */", "import React, { type JSX } from 'react';\n\nimport { Button, TextField, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle } from '@mui/material';\n\nimport { Close as IconClose, Check as IconCheck } from '@mui/icons-material';\n\nimport { I18n } from '../i18n';\nimport { withWidth } from '../Components/withWidth';\n\ninterface TextInputProps {\n /** The dialog close callback */\n onClose: (text: string | null) => void;\n /** The title text */\n titleText: string;\n /** Prompt text (default: empty) */\n promptText?: string;\n /** Label text (default: empty) */\n labelText?: string;\n /** The text of the cancel button */\n cancelText: string;\n /** The text of the \"apply\" button */\n applyText: string;\n /** The verification callback. Return a non-empty string if there was an error */\n verify?: (text: string) => string;\n /** The text replacement callback */\n rule?: (text: string) => string;\n /** The type of the textbox (default: text) */\n type?: 'text' | 'number' | 'password' | 'email';\n /** The initial input value when opening the dialog */\n value?: string;\n /** @deprecated Use value. The input when opening the dialog */\n input?: string;\n /** If true, the dialog will be full width */\n fullWidth?: boolean;\n}\n\nfunction TextInputFunc(props: TextInputProps): JSX.Element {\n const [text, setText] = React.useState(props.input || props.value || '');\n const [error, setError] = React.useState('');\n return (\n props.onClose(null)}\n aria-labelledby=\"form-dialog-title\"\n fullWidth={props.fullWidth !== undefined ? props.fullWidth : false}\n >\n {props.titleText}\n \n {props.promptText}\n e.code === 'Enter' && text && props.onClose(text)}\n onChange={e => {\n let _error: string | boolean = '';\n if (props.verify) {\n _error = !props.verify(e.target.value);\n }\n\n if (props.rule) {\n setText(props.rule(e.target.value));\n } else {\n setText(e.target.value);\n }\n setError(_error);\n }}\n fullWidth\n />\n \n \n props.onClose(text)}\n color=\"primary\"\n startIcon={}\n >\n {props.applyText || I18n.t('ra_Ok')}\n \n props.onClose(null)}\n startIcon={}\n >\n {props.cancelText || I18n.t('ra_Cancel')}\n \n \n \n );\n}\n\nexport const DialogTextInput = withWidth()(TextInputFunc);\n", "import React, { type JSXElementConstructor, type JSX } from 'react';\nimport { useTheme } from '@mui/material/styles';\nimport { type Breakpoint, useMediaQuery } from '@mui/material';\n\nfunction useWidth(): Breakpoint {\n const theme = useTheme();\n const keys = [...theme.breakpoints.keys].reverse();\n return (\n keys.reduce((output: Breakpoint | null, key: Breakpoint) => {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const matches = useMediaQuery(theme.breakpoints.up(key));\n return !output && matches ? key : output;\n }, null) || 'xs'\n );\n}\n\n// FIXME checkout https://mui.com/components/use-media-query/#migrating-from-withwidth\nexport function withWidth() {\n return (WrappedComponent: JSXElementConstructor) => {\n return function AnyComponent(props: Record): JSX.Element {\n const width = useWidth();\n return (\n \n );\n };\n };\n}\n", "import React from 'react';\n\nimport { type IconProps } from './IconProps';\n\nexport const IconExpert = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 486 486\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n xmlns=\"http://www.w3.org/2000/svg\"\n className={props.className}\n style={props.style}\n >\n \n \n \n);\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\n// Icon copied from https://github.com/FortAwesome/Font-Awesome/blob/0d1f27efb836eb2ab994ba37221849ed64a73e5c/svgs/regular/\nexport const IconClosed = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 650 512\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n);\n", "import React, { type JSX } from 'react';\nimport { type IconProps } from './IconProps';\n\n// Icon copied from https://github.com/FortAwesome/Font-Awesome/blob/0d1f27efb836eb2ab994ba37221849ed64a73e5c/svgs/regular/\nexport const IconOpen = (props: IconProps): JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 650 512\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n);\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\nexport const IconNoIcon = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 512 512\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n);\n", "import React, { type ReactEventHandler } from 'react';\nimport SVG from 'react-inlinesvg';\n\nimport { Box } from '@mui/material';\n\nimport {\n SettingsApplications as IconSystem,\n Photo as IconPhoto,\n SupervisedUserCircle as IconGroup,\n PersonOutlined as IconUser,\n Router as IconHost,\n Wifi as IconConnection,\n Info as IconInfo,\n Description as IconMeta,\n} from '@mui/icons-material';\n\nimport { IconAlias } from '../icons/IconAlias';\nimport { Utils } from './Utils';\n\n/**\n * Get icon by object type (state, channel, device, ...).\n *\n * @param obj Object\n */\nexport function getSystemIcon(obj: ioBroker.Object | null): React.JSX.Element | null {\n let icon;\n const id = obj?._id;\n\n if (!id) {\n return null;\n }\n\n // system or design has special icons\n if (id.startsWith('_design/') || id === 'system') {\n icon = ;\n } else if (id === '0_userdata' || id === '0_userdata.0') {\n icon = ;\n } else if (id === 'alias' || id === 'alias.0') {\n icon = ;\n } else if (id === 'system.adapter') {\n icon = ;\n } else if (id === 'system.group') {\n icon = ;\n } else if (id === 'system.user') {\n icon = ;\n } else if (id === 'system.host') {\n icon = ;\n } else if (id.endsWith('.connection') || id.endsWith('.connected')) {\n icon = ;\n } else if (id.endsWith('.info')) {\n icon = ;\n } else if (obj?.type === 'meta') {\n icon = ;\n }\n\n return icon || null;\n}\n\n/**\n * Get icon from the object.\n *\n * @param obj Object\n * @param imagePrefix Prefix for image\n */\nexport function getSelectIdIcon(obj: ioBroker.Object | null, imagePrefix?: string): string | null {\n imagePrefix = imagePrefix || '.'; // http://localhost:8081';\n let src = '';\n const common = obj?.common;\n\n if (common) {\n const cIcon = common.icon;\n if (cIcon) {\n if (!cIcon.startsWith('data:image/')) {\n if (cIcon.includes('.')) {\n let instance;\n if (obj.type === 'instance' || obj.type === 'adapter') {\n src = `${imagePrefix}/adapter/${common.name as string}/${cIcon}`;\n } else if (obj._id && obj._id.startsWith('system.adapter.')) {\n instance = obj._id.split('.', 3);\n if (cIcon[0] === '/') {\n instance[2] += cIcon;\n } else {\n instance[2] += `/${cIcon}`;\n }\n src = `${imagePrefix}/adapter/${instance[2]}`;\n } else {\n instance = obj._id.split('.', 2);\n if (cIcon[0] === '/') {\n instance[0] += cIcon;\n } else {\n instance[0] += `/${cIcon}`;\n }\n src = `${imagePrefix}/adapter/${instance[0]}`;\n }\n } else {\n return null;\n }\n } else {\n // base 64 image\n src = cIcon;\n }\n }\n }\n\n return src || null;\n}\n\nexport interface IconProps {\n /** URL, UTF-8 character, or svg code (data:image/svg...) */\n src: string | React.JSX.Element | null | undefined;\n /** Class name */\n className?: string;\n /** Style for image */\n style?: React.CSSProperties;\n /** Styles for mui */\n sx?: Record;\n /** Tooltip */\n title?: string;\n /** Styles for utf-8 characters */\n styleUTF8?: React.CSSProperties;\n /** On error handler */\n onError?: ReactEventHandler;\n /** Reference to image */\n ref?: React.RefObject;\n /** Alternative text for image */\n alt?: string;\n}\n\nconst REMOTE_SERVER = window.location.hostname.endsWith('iobroker.in');\nconst REMOTE_PREFIX = window.location.pathname.substring(0, window.location.pathname.lastIndexOf('/') + 1);\n\nexport function Icon(props: IconProps): React.JSX.Element | null {\n if (props.src) {\n if (typeof props.src === 'string') {\n if (props.src.length < 3) {\n // utf-8 char\n if (props.sx) {\n return (\n \n {props.src}\n
    \n );\n }\n return (\n \n {props.src}\n \n );\n }\n if (props.src.startsWith('data:image/svg')) {\n return (\n \n );\n }\n if (REMOTE_SERVER && !props.src.startsWith('http://') && !props.src.startsWith('https://')) {\n let src = props.src;\n if (src.startsWith('./')) {\n src = REMOTE_PREFIX + src.substring(2);\n } else if (!src.startsWith('/')) {\n src = REMOTE_PREFIX + src;\n }\n\n if (props.sx) {\n return (\n props.onError && props.onError(e)}\n />\n );\n }\n return (\n props.onError && props.onError(e)}\n />\n );\n }\n if (props.sx) {\n return (\n \n );\n }\n return (\n \n );\n }\n\n return props.src;\n }\n return null;\n}\n", "import React, {\n cloneElement,\n isValidElement,\n ReactElement,\n useCallback,\n useEffect,\n useReducer,\n useRef,\n useState,\n} from 'react';\nimport convert from 'react-from-dom';\n\nimport { STATUS } from './config';\nimport CacheStore from './modules/cache';\nimport { canUseDOM, isSupportedEnvironment, omit, randomString, request } from './modules/helpers';\nimport { usePrevious } from './modules/hooks';\nimport { getNode } from './modules/utils';\nimport { FetchError, Props, State, Status } from './types';\n\n// eslint-disable-next-line import/no-mutable-exports\nexport let cacheStore: CacheStore;\n\nfunction ReactInlineSVG(props: Props) {\n const {\n cacheRequests = true,\n children = null,\n description,\n fetchOptions,\n innerRef,\n loader = null,\n onError,\n onLoad,\n src,\n title,\n uniqueHash,\n } = props;\n const [state, setState] = useReducer(\n (previousState: State, nextState: Partial) => ({\n ...previousState,\n ...nextState,\n }),\n {\n content: '',\n element: null,\n\n isCached: cacheRequests && cacheStore.isCached(props.src),\n status: STATUS.IDLE,\n },\n );\n const { content, element, isCached, status } = state;\n const previousProps = usePrevious(props);\n const previousState = usePrevious(state);\n\n const hash = useRef(uniqueHash ?? randomString(8));\n const isActive = useRef(false);\n const isInitialized = useRef(false);\n\n const handleError = useCallback(\n (error: Error | FetchError) => {\n if (isActive.current) {\n setState({\n status:\n error.message === 'Browser does not support SVG' ? STATUS.UNSUPPORTED : STATUS.FAILED,\n });\n\n onError?.(error);\n }\n },\n [onError],\n );\n\n const handleLoad = useCallback((loadedContent: string, hasCache = false) => {\n if (isActive.current) {\n setState({\n content: loadedContent,\n isCached: hasCache,\n status: STATUS.LOADED,\n });\n }\n }, []);\n\n const fetchContent = useCallback(async () => {\n const responseContent: string = await request(src, fetchOptions);\n\n handleLoad(responseContent);\n }, [fetchOptions, handleLoad, src]);\n\n const getElement = useCallback(() => {\n try {\n const node = getNode({ ...props, handleError, hash: hash.current, content }) as Node;\n const convertedElement = convert(node);\n\n if (!convertedElement || !isValidElement(convertedElement)) {\n throw new Error('Could not convert the src to a React element');\n }\n\n setState({\n element: convertedElement,\n status: STATUS.READY,\n });\n } catch (error: any) {\n handleError(new Error(error.message));\n }\n }, [content, handleError, props]);\n\n const getContent = useCallback(async () => {\n const dataURI = /^data:image\\/svg[^,]*?(;base64)?,(.*)/u.exec(src);\n let inlineSrc;\n\n if (dataURI) {\n inlineSrc = dataURI[1] ? window.atob(dataURI[2]) : decodeURIComponent(dataURI[2]);\n } else if (src.includes(' {\n if (isActive.current) {\n setState({\n content: '',\n element: null,\n isCached: false,\n status: STATUS.LOADING,\n });\n }\n }, []);\n\n // Run on mount\n useEffect(\n () => {\n isActive.current = true;\n\n if (!canUseDOM() || isInitialized.current) {\n return () => undefined;\n }\n\n try {\n if (status === STATUS.IDLE) {\n if (!isSupportedEnvironment()) {\n throw new Error('Browser does not support SVG');\n }\n\n if (!src) {\n throw new Error('Missing src');\n }\n\n load();\n }\n } catch (error: any) {\n handleError(error);\n }\n\n isInitialized.current = true;\n\n return () => {\n isActive.current = false;\n };\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n // Handle prop changes\n useEffect(() => {\n if (!canUseDOM()) {\n return;\n }\n\n if (!previousProps) {\n return;\n }\n\n if (previousProps.src !== src) {\n if (!src) {\n handleError(new Error('Missing src'));\n\n return;\n }\n\n load();\n } else if (previousProps.title !== title || previousProps.description !== description) {\n getElement();\n }\n }, [description, getElement, handleError, load, previousProps, src, title]);\n\n // handle state\n useEffect(() => {\n if (!previousState) {\n return;\n }\n\n if (previousState.status !== STATUS.LOADING && status === STATUS.LOADING) {\n getContent();\n }\n\n if (previousState.status !== STATUS.LOADED && status === STATUS.LOADED) {\n getElement();\n }\n\n if (previousState.status !== STATUS.READY && status === STATUS.READY) {\n onLoad?.(src, isCached);\n }\n }, [getContent, getElement, isCached, onLoad, previousState, src, status]);\n\n const elementProps = omit(\n props,\n 'baseURL',\n 'cacheRequests',\n 'children',\n 'description',\n 'fetchOptions',\n 'innerRef',\n 'loader',\n 'onError',\n 'onLoad',\n 'preProcessor',\n 'src',\n 'title',\n 'uniqueHash',\n 'uniquifyIDs',\n );\n\n if (!canUseDOM()) {\n return loader;\n }\n\n if (element) {\n return cloneElement(element as ReactElement, { ref: innerRef, ...elementProps });\n }\n\n if (([STATUS.UNSUPPORTED, STATUS.FAILED] as Status[]).includes(status)) {\n return children;\n }\n\n return loader;\n}\n\nexport default function InlineSVG(props: Props) {\n if (!cacheStore) {\n cacheStore = new CacheStore();\n }\n\n const { loader } = props;\n const hasCallback = useRef(false);\n const [isReady, setReady] = useState(cacheStore.isReady);\n\n useEffect(() => {\n if (!hasCallback.current) {\n cacheStore.onReady(() => {\n setReady(true);\n });\n\n hasCallback.current = true;\n }\n }, []);\n\n if (!isReady) {\n return loader;\n }\n\n return ;\n}\n\nexport * from './types';\n", "export const CACHE_NAME = 'react-inlinesvg';\nexport const CACHE_MAX_RETRIES = 10;\n\nexport const STATUS = {\n IDLE: 'idle',\n LOADING: 'loading',\n LOADED: 'loaded',\n FAILED: 'failed',\n READY: 'ready',\n UNSUPPORTED: 'unsupported',\n} as const;\n", "import type { PlainObject } from '../types';\n\nexport function canUseDOM(): boolean {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}\n\nexport function isSupportedEnvironment(): boolean {\n return supportsInlineSVG() && typeof window !== 'undefined' && window !== null;\n}\n\nexport async function request(url: string, options?: RequestInit) {\n const response = await fetch(url, options);\n const contentType = response.headers.get('content-type');\n const [fileType] = (contentType ?? '').split(/ ?; ?/);\n\n if (response.status > 299) {\n throw new Error('Not found');\n }\n\n if (!['image/svg+xml', 'text/plain'].some(d => fileType.includes(d))) {\n throw new Error(`Content type isn't valid: ${fileType}`);\n }\n\n return response.text();\n}\n\nexport function sleep(seconds = 1) {\n return new Promise(resolve => {\n setTimeout(resolve, seconds * 1000);\n });\n}\n\nexport function supportsInlineSVG(): boolean {\n /* c8 ignore next 3 */\n if (!document) {\n return false;\n }\n\n const div = document.createElement('div');\n\n div.innerHTML = '';\n const svg = div.firstChild as SVGSVGElement;\n\n return !!svg && svg.namespaceURI === 'http://www.w3.org/2000/svg';\n}\n\nfunction randomCharacter(character: string) {\n return character[Math.floor(Math.random() * character.length)];\n}\n\nexport function randomString(length: number): string {\n const letters = 'abcdefghijklmnopqrstuvwxyz';\n const numbers = '1234567890';\n const charset = `${letters}${letters.toUpperCase()}${numbers}`;\n\n let R = '';\n\n for (let index = 0; index < length; index++) {\n R += randomCharacter(charset);\n }\n\n return R;\n}\n\n/**\n * Remove properties from an object\n */\nexport function omit(\n input: T,\n ...filter: K[]\n): Omit {\n const output: any = {};\n\n for (const key in input) {\n if ({}.hasOwnProperty.call(input, key)) {\n if (!filter.includes(key as unknown as K)) {\n output[key] = input[key];\n }\n }\n }\n\n return output as Omit;\n}\n", "import { canUseDOM, request, sleep } from './helpers';\n\nimport { CACHE_MAX_RETRIES, CACHE_NAME, STATUS } from '../config';\nimport { StorageItem } from '../types';\n\nexport default class CacheStore {\n private cacheApi: Cache | undefined;\n private readonly cacheStore: Map;\n private readonly subscribers: Array<() => void> = [];\n public isReady = false;\n\n constructor() {\n this.cacheStore = new Map();\n\n let cacheName = CACHE_NAME;\n let usePersistentCache = false;\n\n if (canUseDOM()) {\n cacheName = window.REACT_INLINESVG_CACHE_NAME ?? CACHE_NAME;\n usePersistentCache = !!window.REACT_INLINESVG_PERSISTENT_CACHE && 'caches' in window;\n }\n\n if (usePersistentCache) {\n caches\n .open(cacheName)\n .then(cache => {\n this.cacheApi = cache;\n })\n .catch(error => {\n // eslint-disable-next-line no-console\n console.error(`Failed to open cache: ${error.message}`);\n })\n .finally(() => {\n this.isReady = true;\n this.subscribers.forEach(callback => callback());\n });\n } else {\n this.isReady = true;\n }\n }\n\n public onReady(callback: () => void) {\n if (this.isReady) {\n callback();\n } else {\n this.subscribers.push(callback);\n }\n }\n\n public async get(url: string, fetchOptions?: RequestInit) {\n await (this.cacheApi\n ? this.fetchAndAddToPersistentCache(url, fetchOptions)\n : this.fetchAndAddToInternalCache(url, fetchOptions));\n\n return this.cacheStore.get(url)?.content ?? '';\n }\n\n public set(url: string, data: StorageItem) {\n this.cacheStore.set(url, data);\n }\n\n public isCached(url: string) {\n return this.cacheStore.get(url)?.status === STATUS.LOADED;\n }\n\n private async fetchAndAddToInternalCache(url: string, fetchOptions?: RequestInit) {\n const cache = this.cacheStore.get(url);\n\n if (cache?.status === STATUS.LOADING) {\n await this.handleLoading(url, async () => {\n this.cacheStore.set(url, { content: '', status: STATUS.IDLE });\n await this.fetchAndAddToInternalCache(url, fetchOptions);\n });\n\n return;\n }\n\n if (!cache?.content) {\n this.cacheStore.set(url, { content: '', status: STATUS.LOADING });\n\n try {\n const content = await request(url, fetchOptions);\n\n this.cacheStore.set(url, { content, status: STATUS.LOADED });\n } catch (error: any) {\n this.cacheStore.set(url, { content: '', status: STATUS.FAILED });\n throw error;\n }\n }\n }\n\n private async fetchAndAddToPersistentCache(url: string, fetchOptions?: RequestInit) {\n const cache = this.cacheStore.get(url);\n\n if (cache?.status === STATUS.LOADED) {\n return;\n }\n\n if (cache?.status === STATUS.LOADING) {\n await this.handleLoading(url, async () => {\n this.cacheStore.set(url, { content: '', status: STATUS.IDLE });\n await this.fetchAndAddToPersistentCache(url, fetchOptions);\n });\n\n return;\n }\n\n this.cacheStore.set(url, { content: '', status: STATUS.LOADING });\n\n const data = await this.cacheApi?.match(url);\n\n if (data) {\n const content = await data.text();\n\n this.cacheStore.set(url, { content, status: STATUS.LOADED });\n\n return;\n }\n\n try {\n await this.cacheApi?.add(new Request(url, fetchOptions));\n\n const response = await this.cacheApi?.match(url);\n const content = (await response?.text()) ?? '';\n\n this.cacheStore.set(url, { content, status: STATUS.LOADED });\n } catch (error: any) {\n this.cacheStore.set(url, { content: '', status: STATUS.FAILED });\n throw error;\n }\n }\n\n private async handleLoading(url: string, callback: () => Promise) {\n let retryCount = 0;\n\n while (this.cacheStore.get(url)?.status === STATUS.LOADING && retryCount < CACHE_MAX_RETRIES) {\n // eslint-disable-next-line no-await-in-loop\n await sleep(0.1);\n retryCount += 1;\n }\n\n if (retryCount >= CACHE_MAX_RETRIES) {\n await callback();\n }\n }\n\n public keys(): Array {\n return [...this.cacheStore.keys()];\n }\n\n public data(): Array> {\n return [...this.cacheStore.entries()].map(([key, value]) => ({ [key]: value }));\n }\n\n public async delete(url: string) {\n if (this.cacheApi) {\n await this.cacheApi.delete(url);\n }\n\n this.cacheStore.delete(url);\n }\n\n public async clear() {\n if (this.cacheApi) {\n const keys = await this.cacheApi.keys();\n\n for (const key of keys) {\n // eslint-disable-next-line no-await-in-loop\n await this.cacheApi.delete(key);\n }\n }\n\n this.cacheStore.clear();\n }\n}\n", "import { useEffect, useRef } from 'react';\n\nexport function usePrevious(state: T): T | undefined {\n const ref = useRef();\n\n useEffect(() => {\n ref.current = state;\n });\n\n return ref.current;\n}\n", "import convert from 'react-from-dom';\n\nimport { Props, State } from '../types';\n\ninterface GetNodeOptions extends Props, Pick {\n handleError: (error: Error) => void;\n hash: string;\n}\n\ninterface UpdateSVGAttributesOptions extends Pick {\n hash: string;\n}\n\nexport function getNode(options: GetNodeOptions) {\n const {\n baseURL,\n content,\n description,\n handleError,\n hash,\n preProcessor,\n title,\n uniquifyIDs = false,\n } = options;\n\n try {\n const svgText = processSVG(content, preProcessor);\n const node = convert(svgText, { nodeOnly: true });\n\n if (!node || !(node instanceof SVGSVGElement)) {\n throw new Error('Could not convert the src to a DOM Node');\n }\n\n const svg = updateSVGAttributes(node, { baseURL, hash, uniquifyIDs });\n\n if (description) {\n const originalDesc = svg.querySelector('desc');\n\n if (originalDesc?.parentNode) {\n originalDesc.parentNode.removeChild(originalDesc);\n }\n\n const descElement = document.createElementNS('http://www.w3.org/2000/svg', 'desc');\n\n descElement.innerHTML = description;\n svg.prepend(descElement);\n }\n\n if (typeof title !== 'undefined') {\n const originalTitle = svg.querySelector('title');\n\n if (originalTitle?.parentNode) {\n originalTitle.parentNode.removeChild(originalTitle);\n }\n\n if (title) {\n const titleElement = document.createElementNS('http://www.w3.org/2000/svg', 'title');\n\n titleElement.innerHTML = title;\n svg.prepend(titleElement);\n }\n }\n\n return svg;\n } catch (error: any) {\n return handleError(error);\n }\n}\n\nexport function processSVG(content: string, preProcessor?: Props['preProcessor']) {\n if (preProcessor) {\n return preProcessor(content);\n }\n\n return content;\n}\n\nexport function updateSVGAttributes(\n node: SVGSVGElement,\n options: UpdateSVGAttributesOptions,\n): SVGSVGElement {\n const { baseURL = '', hash, uniquifyIDs } = options;\n const replaceableAttributes = ['id', 'href', 'xlink:href', 'xlink:role', 'xlink:arcrole'];\n const linkAttributes = ['href', 'xlink:href'];\n const isDataValue = (name: string, value: string) =>\n linkAttributes.includes(name) && (value ? !value.includes('#') : false);\n\n if (!uniquifyIDs) {\n return node;\n }\n\n [...node.children].forEach(d => {\n if (d.attributes?.length) {\n const attributes = Object.values(d.attributes).map(a => {\n const attribute = a;\n const match = /url\\((.*?)\\)/.exec(a.value);\n\n if (match?.[1]) {\n attribute.value = a.value.replace(match[0], `url(${baseURL}${match[1]}__${hash})`);\n }\n\n return attribute;\n });\n\n replaceableAttributes.forEach(r => {\n const attribute = attributes.find(a => a.name === r);\n\n if (attribute && !isDataValue(r, attribute.value)) {\n attribute.value = `${attribute.value}__${hash}`;\n }\n });\n }\n\n if (d.children.length) {\n return updateSVGAttributes(d as SVGSVGElement, options);\n }\n\n return d;\n });\n\n return node;\n}\n", "import * as React from 'react';\n\nimport { noTextChildNodes, possibleStandardNames, randomString, styleToObject } from './helpers';\n\nexport interface Options {\n /**\n * An array of actions to modify the nodes before converting them to ReactNodes.\n */\n actions?: Action[];\n /**\n * Don't remove white spaces in the output.\n */\n allowWhiteSpaces?: boolean;\n /**\n * Parse all nodes instead of just a single parent node.\n * This will return a ReactNode array (or a NodeList if `nodeOnly` is true).\n */\n includeAllNodes?: boolean;\n /**\n * The index to start the React key identification.\n * @default 0\n */\n index?: number;\n /**\n * The level to start the React key identification.\n * @default 0\n */\n level?: number;\n /**\n * Only return the node (or NodeList) without converting it to a ReactNode.\n */\n nodeOnly?: boolean;\n /**\n * Add a random key to the root element.\n * @default false\n */\n randomKey?: boolean;\n /**\n * The selector to use in the `document.querySelector` method.\n * @default 'body > *'\n */\n selector?: string;\n /**\n * The mimeType to use in the DOMParser's parseFromString.\n * @default 'text/html'\n */\n type?: DOMParserSupportedType;\n}\n\nexport type Output = React.ReactNode | Node | NodeList;\n\ninterface Attributes {\n [index: string]: any;\n\n key: string;\n}\n\ninterface GetReactNodeOptions extends Options {\n key: string;\n level: number;\n}\n\nexport interface Action {\n // If this returns true, the two following functions are called if they are defined\n condition: (node: Node, key: string, level: number) => boolean;\n\n // Use this to inject a component or remove the node\n // It must return something that can be rendered by React\n post?: (node: Node, key: string, level: number) => React.ReactNode;\n\n // Use this to update or replace the node\n // e.g. for removing or adding attributes, changing the node type\n pre?: (node: Node, key: string, level: number) => Node;\n}\n\nfunction getReactNode(node: Node, options: GetReactNodeOptions): React.ReactNode {\n const { key, level, ...rest } = options;\n\n switch (node.nodeType) {\n case 1: {\n // regular dom-node\n return React.createElement(\n parseName(node.nodeName),\n parseAttributes(node, key),\n parseChildren(node.childNodes, level, rest),\n );\n }\n case 3: {\n // textnode\n const nodeText = node.nodeValue?.toString() ?? '';\n\n if (!rest.allowWhiteSpaces && /^\\s+$/.test(nodeText) && !/[\\u00A0\\u202F]/.test(nodeText)) {\n return null;\n }\n\n /* c8 ignore next 3 */\n if (!node.parentNode) {\n return nodeText;\n }\n\n const parentNodeName = node.parentNode.nodeName.toLowerCase();\n\n if (noTextChildNodes.includes(parentNodeName)) {\n if (/\\S/.test(nodeText)) {\n // eslint-disable-next-line no-console\n console.warn(\n `A textNode is not allowed inside '${parentNodeName}'. Your text \"${nodeText}\" will be ignored`,\n );\n }\n\n return null;\n }\n\n return nodeText;\n }\n case 8: {\n // html-comment\n return null;\n }\n case 11: {\n // fragment\n\n return parseChildren(node.childNodes, level, options);\n }\n /* c8 ignore next 3 */\n default: {\n return null;\n }\n }\n}\n\nfunction parseAttributes(node: Node, reactKey: string): Attributes {\n const attributes: Attributes = {\n key: reactKey,\n };\n\n if (node instanceof Element) {\n const nodeClassNames = node.getAttribute('class');\n\n if (nodeClassNames) {\n attributes.className = nodeClassNames;\n }\n\n [...node.attributes].forEach(d => {\n switch (d.name) {\n // this is manually handled above, so break;\n case 'class':\n break;\n case 'style':\n attributes[d.name] = styleToObject(d.value);\n break;\n case 'allowfullscreen':\n case 'allowpaymentrequest':\n case 'async':\n case 'autofocus':\n case 'autoplay':\n case 'checked':\n case 'controls':\n case 'default':\n case 'defer':\n case 'disabled':\n case 'formnovalidate':\n case 'hidden':\n case 'ismap':\n case 'itemscope':\n case 'loop':\n case 'multiple':\n case 'muted':\n case 'nomodule':\n case 'novalidate':\n case 'open':\n case 'readonly':\n case 'required':\n case 'reversed':\n case 'selected':\n case 'typemustmatch':\n attributes[possibleStandardNames[d.name] || d.name] = true;\n break;\n default:\n attributes[possibleStandardNames[d.name] || d.name] = d.value;\n }\n });\n }\n\n return attributes;\n}\n\nfunction parseChildren(childNodeList: NodeList, level: number, options: Options) {\n const children: React.ReactNode[] = [...childNodeList]\n .map((node, index) =>\n convertFromNode(node, {\n ...options,\n index,\n level: level + 1,\n }),\n )\n .filter(Boolean);\n\n if (!children.length) {\n return null;\n }\n\n return children;\n}\n\nfunction parseName(nodeName: string) {\n if (/[a-z]+[A-Z]+[a-z]+/.test(nodeName)) {\n return nodeName;\n }\n\n return nodeName.toLowerCase();\n}\n\nexport function convertFromNode(input: Node, options: Options = {}): React.ReactNode {\n if (!input || !(input instanceof Node)) {\n return null;\n }\n\n const { actions = [], index = 0, level = 0, randomKey } = options;\n\n let node = input;\n let key = `${level}-${index}`;\n const result: React.ReactNode[] = [];\n\n if (randomKey && level === 0) {\n key = `${randomString()}-${key}`;\n }\n\n if (Array.isArray(actions)) {\n actions.forEach((action: Action) => {\n if (action.condition(node, key, level)) {\n if (typeof action.pre === 'function') {\n node = action.pre(node, key, level);\n\n if (!(node instanceof Node)) {\n node = input;\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn(\n 'The `pre` method always must return a valid DomNode (instanceof Node) - your modification will be ignored (Hint: if you want to render a React-component, use the `post` method instead)',\n );\n }\n }\n }\n\n if (typeof action.post === 'function') {\n result.push(action.post(node, key, level));\n }\n }\n });\n }\n\n if (result.length) {\n return result;\n }\n\n return getReactNode(node, { key, level, ...options });\n}\n\nexport function convertFromString(input: string, options: Options = {}): Output {\n if (!input || typeof input !== 'string') {\n return null;\n }\n\n const {\n includeAllNodes = false,\n nodeOnly = false,\n selector = 'body > *',\n type = 'text/html',\n } = options;\n\n try {\n const parser = new DOMParser();\n const document = parser.parseFromString(input, type);\n\n if (includeAllNodes) {\n const { childNodes } = document.body;\n\n if (nodeOnly) {\n return childNodes;\n }\n\n return [...childNodes].map(node => convertFromNode(node, options));\n }\n\n const node = document.querySelector(selector) || document.body.childNodes[0];\n\n /* c8 ignore next 3 */\n if (!(node instanceof Node)) {\n throw new TypeError('Error parsing input');\n }\n\n if (nodeOnly) {\n return node;\n }\n\n return convertFromNode(node, options);\n /* c8 ignore start */\n } catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error(error);\n }\n }\n\n return null;\n /* c8 ignore stop */\n}\n\nexport default function convert(input: Node | string, options: Options = {}): Output {\n if (typeof input === 'string') {\n return convertFromString(input, options);\n }\n\n if (input instanceof Node) {\n return convertFromNode(input, options);\n }\n\n return null;\n}\n", "export const styleToObject = (input: string): Record => {\n /* c8 ignore next 3 */\n if (typeof input !== 'string') {\n return {};\n }\n\n return input.split(/ ?; ?/).reduce>((acc, item: string) => {\n const [key, value] = item\n .split(/ ?: ?/)\n .map((d, index) => (index === 0 ? d.replace(/\\s+/g, '') : d.trim()));\n\n if (key && value) {\n const nextKey = key.replace(/(\\w)-(\\w)/g, (_$0, $1, $2) => `${$1}${$2.toUpperCase()}`);\n let nextValue: string | number = value.trim();\n\n if (!Number.isNaN(Number(value))) {\n nextValue = Number(value);\n }\n\n acc[key.startsWith('-') ? key : nextKey] = nextValue;\n }\n\n return acc;\n }, {});\n};\n\nexport function randomString(length = 6): string {\n const characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n let result = '';\n\n for (let index = length; index > 0; --index) {\n result += characters[Math.round(Math.random() * (characters.length - 1))];\n }\n\n return result;\n}\n\nexport const noTextChildNodes = [\n 'br',\n 'col',\n 'colgroup',\n 'dl',\n 'hr',\n 'iframe',\n 'img',\n 'input',\n 'link',\n 'menuitem',\n 'meta',\n 'ol',\n 'param',\n 'select',\n 'table',\n 'tbody',\n 'tfoot',\n 'thead',\n 'tr',\n 'ul',\n 'wbr',\n];\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// Taken from https://raw.githubusercontent.com/facebook/react/baff5cc2f69d30589a5dc65b089e47765437294b/packages/react-dom/src/shared/possibleStandardNames.js\n// tslint:disable:object-literal-sort-keys\nexport const possibleStandardNames: Record = {\n // HTML\n 'accept-charset': 'acceptCharset',\n acceptcharset: 'acceptCharset',\n accesskey: 'accessKey',\n allowfullscreen: 'allowFullScreen',\n autocapitalize: 'autoCapitalize',\n autocomplete: 'autoComplete',\n autocorrect: 'autoCorrect',\n autofocus: 'autoFocus',\n autoplay: 'autoPlay',\n autosave: 'autoSave',\n cellpadding: 'cellPadding',\n cellspacing: 'cellSpacing',\n charset: 'charSet',\n class: 'className',\n classid: 'classID',\n classname: 'className',\n colspan: 'colSpan',\n contenteditable: 'contentEditable',\n contextmenu: 'contextMenu',\n controlslist: 'controlsList',\n crossorigin: 'crossOrigin',\n dangerouslysetinnerhtml: 'dangerouslySetInnerHTML',\n datetime: 'dateTime',\n defaultchecked: 'defaultChecked',\n defaultvalue: 'defaultValue',\n enctype: 'encType',\n for: 'htmlFor',\n formmethod: 'formMethod',\n formaction: 'formAction',\n formenctype: 'formEncType',\n formnovalidate: 'formNoValidate',\n formtarget: 'formTarget',\n frameborder: 'frameBorder',\n hreflang: 'hrefLang',\n htmlfor: 'htmlFor',\n httpequiv: 'httpEquiv',\n 'http-equiv': 'httpEquiv',\n icon: 'icon',\n innerhtml: 'innerHTML',\n inputmode: 'inputMode',\n itemid: 'itemID',\n itemprop: 'itemProp',\n itemref: 'itemRef',\n itemscope: 'itemScope',\n itemtype: 'itemType',\n keyparams: 'keyParams',\n keytype: 'keyType',\n marginwidth: 'marginWidth',\n marginheight: 'marginHeight',\n maxlength: 'maxLength',\n mediagroup: 'mediaGroup',\n minlength: 'minLength',\n nomodule: 'noModule',\n novalidate: 'noValidate',\n playsinline: 'playsInline',\n radiogroup: 'radioGroup',\n readonly: 'readOnly',\n referrerpolicy: 'referrerPolicy',\n rowspan: 'rowSpan',\n spellcheck: 'spellCheck',\n srcdoc: 'srcDoc',\n srclang: 'srcLang',\n srcset: 'srcSet',\n tabindex: 'tabIndex',\n typemustmatch: 'typeMustMatch',\n usemap: 'useMap',\n\n // SVG\n accentheight: 'accentHeight',\n 'accent-height': 'accentHeight',\n alignmentbaseline: 'alignmentBaseline',\n 'alignment-baseline': 'alignmentBaseline',\n allowreorder: 'allowReorder',\n arabicform: 'arabicForm',\n 'arabic-form': 'arabicForm',\n attributename: 'attributeName',\n attributetype: 'attributeType',\n autoreverse: 'autoReverse',\n basefrequency: 'baseFrequency',\n baselineshift: 'baselineShift',\n 'baseline-shift': 'baselineShift',\n baseprofile: 'baseProfile',\n calcmode: 'calcMode',\n capheight: 'capHeight',\n 'cap-height': 'capHeight',\n clippath: 'clipPath',\n 'clip-path': 'clipPath',\n clippathunits: 'clipPathUnits',\n cliprule: 'clipRule',\n 'clip-rule': 'clipRule',\n colorinterpolation: 'colorInterpolation',\n 'color-interpolation': 'colorInterpolation',\n colorinterpolationfilters: 'colorInterpolationFilters',\n 'color-interpolation-filters': 'colorInterpolationFilters',\n colorprofile: 'colorProfile',\n 'color-profile': 'colorProfile',\n colorrendering: 'colorRendering',\n 'color-rendering': 'colorRendering',\n contentscripttype: 'contentScriptType',\n contentstyletype: 'contentStyleType',\n diffuseconstant: 'diffuseConstant',\n dominantbaseline: 'dominantBaseline',\n 'dominant-baseline': 'dominantBaseline',\n edgemode: 'edgeMode',\n enablebackground: 'enableBackground',\n 'enable-background': 'enableBackground',\n externalresourcesrequired: 'externalResourcesRequired',\n fillopacity: 'fillOpacity',\n 'fill-opacity': 'fillOpacity',\n fillrule: 'fillRule',\n 'fill-rule': 'fillRule',\n filterres: 'filterRes',\n filterunits: 'filterUnits',\n floodopacity: 'floodOpacity',\n 'flood-opacity': 'floodOpacity',\n floodcolor: 'floodColor',\n 'flood-color': 'floodColor',\n fontfamily: 'fontFamily',\n 'font-family': 'fontFamily',\n fontsize: 'fontSize',\n 'font-size': 'fontSize',\n fontsizeadjust: 'fontSizeAdjust',\n 'font-size-adjust': 'fontSizeAdjust',\n fontstretch: 'fontStretch',\n 'font-stretch': 'fontStretch',\n fontstyle: 'fontStyle',\n 'font-style': 'fontStyle',\n fontvariant: 'fontVariant',\n 'font-variant': 'fontVariant',\n fontweight: 'fontWeight',\n 'font-weight': 'fontWeight',\n glyphname: 'glyphName',\n 'glyph-name': 'glyphName',\n glyphorientationhorizontal: 'glyphOrientationHorizontal',\n 'glyph-orientation-horizontal': 'glyphOrientationHorizontal',\n glyphorientationvertical: 'glyphOrientationVertical',\n 'glyph-orientation-vertical': 'glyphOrientationVertical',\n glyphref: 'glyphRef',\n gradienttransform: 'gradientTransform',\n gradientunits: 'gradientUnits',\n horizadvx: 'horizAdvX',\n 'horiz-adv-x': 'horizAdvX',\n horizoriginx: 'horizOriginX',\n 'horiz-origin-x': 'horizOriginX',\n imagerendering: 'imageRendering',\n 'image-rendering': 'imageRendering',\n kernelmatrix: 'kernelMatrix',\n kernelunitlength: 'kernelUnitLength',\n keypoints: 'keyPoints',\n keysplines: 'keySplines',\n keytimes: 'keyTimes',\n lengthadjust: 'lengthAdjust',\n letterspacing: 'letterSpacing',\n 'letter-spacing': 'letterSpacing',\n lightingcolor: 'lightingColor',\n 'lighting-color': 'lightingColor',\n limitingconeangle: 'limitingConeAngle',\n markerend: 'markerEnd',\n 'marker-end': 'markerEnd',\n markerheight: 'markerHeight',\n markermid: 'markerMid',\n 'marker-mid': 'markerMid',\n markerstart: 'markerStart',\n 'marker-start': 'markerStart',\n markerunits: 'markerUnits',\n markerwidth: 'markerWidth',\n maskcontentunits: 'maskContentUnits',\n maskunits: 'maskUnits',\n numoctaves: 'numOctaves',\n overlineposition: 'overlinePosition',\n 'overline-position': 'overlinePosition',\n overlinethickness: 'overlineThickness',\n 'overline-thickness': 'overlineThickness',\n paintorder: 'paintOrder',\n 'paint-order': 'paintOrder',\n 'panose-1': 'panose1',\n pathlength: 'pathLength',\n patterncontentunits: 'patternContentUnits',\n patterntransform: 'patternTransform',\n patternunits: 'patternUnits',\n pointerevents: 'pointerEvents',\n 'pointer-events': 'pointerEvents',\n pointsatx: 'pointsAtX',\n pointsaty: 'pointsAtY',\n pointsatz: 'pointsAtZ',\n preservealpha: 'preserveAlpha',\n preserveaspectratio: 'preserveAspectRatio',\n primitiveunits: 'primitiveUnits',\n refx: 'refX',\n refy: 'refY',\n renderingintent: 'renderingIntent',\n 'rendering-intent': 'renderingIntent',\n repeatcount: 'repeatCount',\n repeatdur: 'repeatDur',\n requiredextensions: 'requiredExtensions',\n requiredfeatures: 'requiredFeatures',\n shaperendering: 'shapeRendering',\n 'shape-rendering': 'shapeRendering',\n specularconstant: 'specularConstant',\n specularexponent: 'specularExponent',\n spreadmethod: 'spreadMethod',\n startoffset: 'startOffset',\n stddeviation: 'stdDeviation',\n stitchtiles: 'stitchTiles',\n stopcolor: 'stopColor',\n 'stop-color': 'stopColor',\n stopopacity: 'stopOpacity',\n 'stop-opacity': 'stopOpacity',\n strikethroughposition: 'strikethroughPosition',\n 'strikethrough-position': 'strikethroughPosition',\n strikethroughthickness: 'strikethroughThickness',\n 'strikethrough-thickness': 'strikethroughThickness',\n strokedasharray: 'strokeDasharray',\n 'stroke-dasharray': 'strokeDasharray',\n strokedashoffset: 'strokeDashoffset',\n 'stroke-dashoffset': 'strokeDashoffset',\n strokelinecap: 'strokeLinecap',\n 'stroke-linecap': 'strokeLinecap',\n strokelinejoin: 'strokeLinejoin',\n 'stroke-linejoin': 'strokeLinejoin',\n strokemiterlimit: 'strokeMiterlimit',\n 'stroke-miterlimit': 'strokeMiterlimit',\n strokewidth: 'strokeWidth',\n 'stroke-width': 'strokeWidth',\n strokeopacity: 'strokeOpacity',\n 'stroke-opacity': 'strokeOpacity',\n suppresscontenteditablewarning: 'suppressContentEditableWarning',\n suppresshydrationwarning: 'suppressHydrationWarning',\n surfacescale: 'surfaceScale',\n systemlanguage: 'systemLanguage',\n tablevalues: 'tableValues',\n targetx: 'targetX',\n targety: 'targetY',\n textanchor: 'textAnchor',\n 'text-anchor': 'textAnchor',\n textdecoration: 'textDecoration',\n 'text-decoration': 'textDecoration',\n textlength: 'textLength',\n textrendering: 'textRendering',\n 'text-rendering': 'textRendering',\n underlineposition: 'underlinePosition',\n 'underline-position': 'underlinePosition',\n underlinethickness: 'underlineThickness',\n 'underline-thickness': 'underlineThickness',\n unicodebidi: 'unicodeBidi',\n 'unicode-bidi': 'unicodeBidi',\n unicoderange: 'unicodeRange',\n 'unicode-range': 'unicodeRange',\n unitsperem: 'unitsPerEm',\n 'units-per-em': 'unitsPerEm',\n unselectable: 'unselectable',\n valphabetic: 'vAlphabetic',\n 'v-alphabetic': 'vAlphabetic',\n vectoreffect: 'vectorEffect',\n 'vector-effect': 'vectorEffect',\n vertadvy: 'vertAdvY',\n 'vert-adv-y': 'vertAdvY',\n vertoriginx: 'vertOriginX',\n 'vert-origin-x': 'vertOriginX',\n vertoriginy: 'vertOriginY',\n 'vert-origin-y': 'vertOriginY',\n vhanging: 'vHanging',\n 'v-hanging': 'vHanging',\n videographic: 'vIdeographic',\n 'v-ideographic': 'vIdeographic',\n viewbox: 'viewBox',\n viewtarget: 'viewTarget',\n vmathematical: 'vMathematical',\n 'v-mathematical': 'vMathematical',\n wordspacing: 'wordSpacing',\n 'word-spacing': 'wordSpacing',\n writingmode: 'writingMode',\n 'writing-mode': 'writingMode',\n xchannelselector: 'xChannelSelector',\n xheight: 'xHeight',\n 'x-height': 'xHeight',\n xlinkactuate: 'xlinkActuate',\n 'xlink:actuate': 'xlinkActuate',\n xlinkarcrole: 'xlinkArcrole',\n 'xlink:arcrole': 'xlinkArcrole',\n xlinkhref: 'xlinkHref',\n 'xlink:href': 'xlinkHref',\n xlinkrole: 'xlinkRole',\n 'xlink:role': 'xlinkRole',\n xlinkshow: 'xlinkShow',\n 'xlink:show': 'xlinkShow',\n xlinktitle: 'xlinkTitle',\n 'xlink:title': 'xlinkTitle',\n xlinktype: 'xlinkType',\n 'xlink:type': 'xlinkType',\n xmlbase: 'xmlBase',\n 'xml:base': 'xmlBase',\n xmllang: 'xmlLang',\n 'xml:lang': 'xmlLang',\n 'xml:space': 'xmlSpace',\n xmlnsxlink: 'xmlnsXlink',\n 'xmlns:xlink': 'xmlnsXlink',\n xmlspace: 'xmlSpace',\n ychannelselector: 'yChannelSelector',\n zoomandpan: 'zoomAndPan',\n\n // event handlers\n onblur: 'onBlur',\n onchange: 'onChange',\n onclick: 'onClick',\n oncontextmenu: 'onContextMenu',\n ondoubleclick: 'onDoubleClick',\n ondrag: 'onDrag',\n ondragend: 'onDragEnd',\n ondragenter: 'onDragEnter',\n ondragexit: 'onDragExit',\n ondragleave: 'onDragLeave',\n ondragover: 'onDragOver',\n ondragstart: 'onDragStart',\n ondrop: 'onDrop',\n onerror: 'onError',\n onfocus: 'onFocus',\n oninput: 'onInput',\n oninvalid: 'onInvalid',\n onkeydown: 'onKeyDown',\n onkeypress: 'onKeyPress',\n onkeyup: 'onKeyUp',\n onload: 'onLoad',\n onmousedown: 'onMouseDown',\n onmouseenter: 'onMouseEnter',\n onmouseleave: 'onMouseLeave',\n onmousemove: 'onMouseMove',\n onmouseout: 'onMouseOut',\n onmouseover: 'onMouseOver',\n onmouseup: 'onMouseUp',\n onscroll: 'onScroll',\n onsubmit: 'onSubmit',\n ontouchcancel: 'onTouchCancel',\n ontouchend: 'onTouchEnd',\n ontouchmove: 'onTouchMove',\n ontouchstart: 'onTouchStart',\n onwheel: 'onWheel',\n};\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\n// Icon copied from https://github.com/FortAwesome/Font-Awesome/blob/0d1f27efb836eb2ab994ba37221849ed64a73e5c/svgs/regular/\nexport const IconAlias = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 512 512\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n);\n", "// File viewer in adapter-react does not support write\n// import { Buffer } from 'buffer';\nimport React, { Component, type JSX } from 'react';\n\nimport { TextField, Button, Dialog, DialogActions, DialogContent, DialogTitle, IconButton } from '@mui/material';\n\n// Icons\nimport {\n Close as CloseIcon,\n Save as SaveIcon,\n Brightness6 as Brightness5Icon,\n ContentCopy as CopyIcon,\n} from '@mui/icons-material';\n\nimport type { Connection } from '@iobroker/socket-client';\n\nimport { IconNoIcon } from '../icons/IconNoIcon';\nimport { withWidth } from './withWidth';\nimport { Utils } from './Utils';\nimport type { ThemeType, Translate } from '../types';\nimport { Icon } from './Icon';\n\nconst styles: Record = {\n dialog: {\n height: '100%',\n },\n paper: {\n height: 'calc(100% - 64px)',\n },\n content: {\n textAlign: 'center',\n },\n textarea: {\n width: '100%',\n height: '100%',\n },\n img: {\n width: 'auto',\n height: 'calc(100% - 5px)',\n objectFit: 'contain',\n },\n dialogTitle: {\n justifyContent: 'space-between',\n display: 'flex',\n },\n};\n\nexport const EXTENSIONS = {\n images: ['png', 'jpg', 'svg', 'jpeg', 'bmp', 'gif', 'apng', 'avif', 'webp', 'ico'],\n code: ['js', 'json', 'json5', 'md'],\n txt: ['log', 'txt', 'html', 'css', 'xml', 'ics'],\n audio: ['mp3', 'wav', 'ogg', 'acc'],\n video: ['mp4', 'mov', 'avi'],\n};\n\nfunction bufferToBase64(buffer: Buffer, isFull?: boolean): string {\n let binary = '';\n const bytes = new Uint8Array((buffer as unknown as { data: number[]; type: 'Buffer' })?.data || buffer);\n const len = bytes.byteLength;\n for (let i = 0; i < len && (isFull || i < 50); i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return window.btoa(binary);\n}\n\nexport interface FileViewerProps {\n /** Translation function */\n t: Translate;\n /** Callback when the viewer is closed. */\n onClose: () => void;\n /** The URL (file path) to the file to be displayed. */\n href: string;\n formatEditFile?: string;\n socket: Connection;\n setStateBackgroundImage: () => void;\n themeType: ThemeType;\n getStyleBackgroundImage: () => React.CSSProperties | null;\n /** Flag is the js-controller support subscribe on file */\n supportSubscribes?: boolean;\n}\n\nexport interface FileViewerState {\n text: string | null;\n code: string | null;\n ext: string | null;\n editing: boolean;\n editingValue: string | null;\n copyPossible: boolean;\n forceUpdate: number;\n changed: boolean;\n imgError: boolean;\n}\n\nexport class FileViewerClass extends Component {\n private timeout: ReturnType | null = null;\n\n constructor(props: FileViewerProps) {\n super(props);\n const ext = Utils.getFileExtension(props.href);\n\n this.state = {\n text: null,\n code: null,\n ext,\n // File viewer in adapter-react does not support write\n editing: /* !!this.props.formatEditFile || */ false,\n editingValue: null,\n copyPossible: !!ext && (EXTENSIONS.code.includes(ext) || EXTENSIONS.txt.includes(ext)),\n forceUpdate: Date.now(),\n changed: false,\n imgError: false,\n };\n }\n\n readFile(): void {\n if (this.props.href) {\n const parts = this.props.href.split('/');\n parts.splice(0, 2);\n const adapter = parts[0];\n const name = parts.splice(1).join('/');\n\n this.props.socket\n .readFile(adapter, name)\n .then((data: { file: string | Buffer; mimeType: string }) => {\n let fileData: string | Buffer = '';\n if (data.file !== undefined) {\n fileData = (data as { file: string; mimeType: string }).file;\n }\n\n const newState: Partial = {\n copyPossible: this.state.copyPossible,\n ext: this.state.ext,\n };\n // try to detect valid extension\n if ((fileData as unknown as { data: Buffer; type: string }).type === 'Buffer') {\n if (name.toLowerCase().endsWith('.json5')) {\n newState.ext = 'json5';\n newState.copyPossible = true;\n try {\n fileData = atob(bufferToBase64(fileData as unknown as Buffer, true));\n } catch {\n console.error('Cannot convert base64 to string');\n fileData = '';\n }\n } else {\n const ext = Utils.detectMimeType(bufferToBase64(fileData as unknown as Buffer));\n if (ext) {\n newState.ext = ext;\n newState.copyPossible = EXTENSIONS.code.includes(ext) || EXTENSIONS.txt.includes(ext);\n }\n }\n }\n\n if (newState.copyPossible) {\n if (newState.ext && EXTENSIONS.txt.includes(newState.ext)) {\n newState.text = fileData;\n newState.editingValue = fileData;\n } else if (newState.ext && EXTENSIONS.code.includes(newState.ext)) {\n newState.code = fileData;\n newState.editingValue = fileData;\n }\n }\n\n this.setState(newState as FileViewerState);\n })\n .catch(e => window.alert(`Cannot read file: ${e}`));\n }\n }\n\n componentDidMount(): void {\n this.readFile();\n\n const parts = this.props.href.split('/');\n parts.splice(0, 2);\n const adapter = parts[0];\n const name = parts.splice(1).join('/');\n\n if (this.props.supportSubscribes) {\n this.props.socket\n .subscribeFiles(adapter, name, this.onFileChanged)\n .catch(e => window.alert(`Cannot subscribe on file: ${e}`));\n }\n }\n\n componentWillUnmount(): void {\n if (this.timeout) {\n clearTimeout(this.timeout);\n this.timeout = null;\n }\n const parts = this.props.href.split('/');\n parts.splice(0, 2);\n const adapter = parts[0];\n const name = parts.splice(1).join('/');\n if (this.props.supportSubscribes) {\n this.props.socket\n .subscribeFiles(adapter, name, this.onFileChanged)\n .catch(e => window.alert(`Cannot subscribe on file: ${e}`));\n }\n }\n\n onFileChanged = (_id: string, _fileName: string, size: number | null): void => {\n if (!this.state.changed) {\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n this.timeout = setTimeout(() => {\n this.timeout = null;\n if (size === null) {\n window.alert('Show file was deleted!');\n } else if (this.state.text !== null || this.state.code !== null) {\n this.readFile();\n } else {\n this.setState({ forceUpdate: Date.now() });\n }\n }, 300);\n }\n };\n\n getEditorOrViewer(): JSX.Element {\n return (\n this.setState({ editingValue: newValue, changed: true })}\n slotProps={{\n htmlInput: {\n readOnly: !this.state.editing,\n },\n }}\n />\n );\n }\n\n getContent(): React.JSX.Element | null {\n if (this.state.ext && EXTENSIONS.images.includes(this.state.ext)) {\n if (this.state.imgError) {\n return ;\n }\n return (\n {\n (e.target as HTMLImageElement).onerror = null;\n this.setState({ imgError: true });\n }}\n style={{ ...styles.img, ...this.props.getStyleBackgroundImage() }}\n src={`${this.props.href}?ts=${this.state.forceUpdate}`}\n alt={this.props.href}\n />\n );\n }\n if (this.state.ext && EXTENSIONS.audio.includes(this.state.ext)) {\n return (\n \n \n \n );\n }\n if (this.state.ext && EXTENSIONS.video.includes(this.state.ext)) {\n return (\n \n \n \n \n \n );\n }\n if (this.state.code !== null || this.state.text !== null || this.state.editing) {\n // File viewer in adapter-react does not support write\n // return this.setState({ editingValue: newValue, changed: true }) : undefined}\n // />;\n return this.getEditorOrViewer();\n }\n return null;\n }\n\n // eslint-disable-next-line class-methods-use-this\n onSave(): void {\n // Do nothing as the file viewer in adapter-react does not support writing\n }\n\n render(): JSX.Element {\n return (\n this.props.onClose()}\n fullWidth\n maxWidth=\"xl\"\n aria-labelledby=\"ar_dialog_file_view_title\"\n >\n
    \n {`${this.props.t(this.state.editing ? 'Edit' : 'View')}: ${this.props.href}`}\n {this.state.ext && EXTENSIONS.images.includes(this.state.ext) && (\n
    \n \n \n \n
    \n )}\n
    \n {this.getContent()}\n \n {this.state.copyPossible ? (\n {\n e.stopPropagation();\n e.preventDefault();\n Utils.copyToClipboard(this.state.text || this.state.code || '');\n }}\n startIcon={}\n >\n {this.props.t('Copy content')}\n \n ) : null}\n {this.state.editing ? (\n this.onSave()}\n startIcon={}\n >\n {this.props.t('Save')}\n \n ) : null}\n this.props.onClose()}\n color=\"primary\"\n startIcon={}\n >\n {this.props.t('Close')}\n \n \n \n );\n }\n}\nexport const FileViewer = withWidth()(FileViewerClass);\n", "import React from 'react';\nimport {\n AcUnit,\n Air,\n Blinds,\n BlindsClosed,\n ColorLens,\n ControlCamera,\n DeviceHub,\n DirectionsRun,\n DoorSliding,\n Gradient,\n Hub,\n Image,\n Info,\n Lightbulb,\n LocationOn,\n Lock,\n Palette,\n PlayArrowRounded,\n Polyline,\n Power,\n QuestionMark,\n SensorDoor,\n type SvgIconComponent,\n Thermostat,\n Timeline,\n TipsAndUpdates,\n Tune,\n Videocam,\n VolumeUp,\n Warning,\n Water,\n WaterDrop,\n WbSunny,\n Whatshot,\n Window,\n} from '@mui/icons-material';\nimport { Icon, type IconProps } from './Icon';\nimport { Utils } from './Utils';\nimport { IconButtonImage } from '../icons/IconButtonImage';\nimport { IconVacuum } from '../icons/IconVacuum';\nimport { IconInstance } from '../icons/IconInstance';\n\n// Taken from type detector: https://github.com/ioBroker/ioBroker.type-detector/blob/master/src/types.ts#L27\nconst deviceTypes = [\n 'unknown',\n 'airCondition',\n 'blind',\n 'blindButtons',\n 'button',\n 'buttonSensor',\n 'camera',\n 'chart',\n 'cie',\n 'ct',\n 'dimmer',\n 'door',\n 'fireAlarm',\n 'floodAlarm',\n 'gate',\n 'hue',\n 'humidity',\n 'image',\n 'info',\n 'instance',\n 'light',\n 'location',\n 'lock',\n 'media',\n 'motion',\n 'rgb',\n 'rgbSingle',\n 'rgbwSingle',\n 'slider',\n 'socket',\n 'temperature',\n 'thermostat',\n 'vacuumCleaner',\n 'volume',\n 'volumeGroup',\n 'warning',\n 'weatherCurrent',\n 'weatherForecast',\n 'window',\n 'windowTilt',\n 'hub3',\n 'node',\n 'controller',\n 'hub5',\n] as const;\n\nexport type DeviceType = (typeof deviceTypes)[number];\n\nexport function isDeviceIcon(icon: string): DeviceType | null {\n if (deviceTypes.includes(icon as DeviceType)) {\n return icon as DeviceType;\n }\n return null;\n}\n\nexport function getDeviceIcon(type: DeviceType, props?: IconProps): React.JSX.Element | null {\n let SvgComponent: SvgIconComponent | undefined;\n if (type === 'hub3') {\n SvgComponent = DeviceHub;\n }\n if (type === 'node') {\n SvgComponent = Polyline;\n }\n if (type === 'hub5') {\n SvgComponent = Hub;\n }\n if (type === 'controller') {\n SvgComponent = ControlCamera;\n }\n if (type === 'airCondition') {\n SvgComponent = AcUnit;\n }\n if (type === 'blind') {\n SvgComponent = Blinds;\n }\n if (type === 'camera') {\n SvgComponent = Videocam;\n }\n if (type === 'chart') {\n SvgComponent = Timeline;\n }\n if (type === 'ct') {\n SvgComponent = Gradient;\n }\n if (type === 'dimmer') {\n SvgComponent = TipsAndUpdates;\n }\n if (type === 'door') {\n SvgComponent = SensorDoor;\n }\n if (type === 'fireAlarm') {\n SvgComponent = Whatshot;\n }\n if (type === 'floodAlarm') {\n SvgComponent = Water;\n }\n if (type === 'humidity') {\n SvgComponent = WaterDrop;\n }\n if (type === 'image') {\n SvgComponent = Image;\n }\n if (type === 'light') {\n SvgComponent = Lightbulb;\n }\n if (type === 'lock') {\n SvgComponent = Lock;\n }\n if (type === 'location') {\n SvgComponent = LocationOn;\n }\n if (type === 'media') {\n SvgComponent = PlayArrowRounded;\n }\n if (type === 'motion') {\n SvgComponent = DirectionsRun;\n }\n if (type === 'rgb') {\n SvgComponent = Palette;\n }\n if (type === 'rgbSingle') {\n SvgComponent = Palette;\n }\n if (type === 'rgbwSingle') {\n SvgComponent = Palette;\n }\n if (type === 'slider') {\n SvgComponent = Tune;\n }\n if (type === 'socket') {\n SvgComponent = Power;\n }\n if (type === 'temperature') {\n SvgComponent = Thermostat;\n }\n if (type === 'thermostat') {\n SvgComponent = Thermostat;\n }\n if (type === 'volume') {\n SvgComponent = VolumeUp;\n }\n if (type === 'volumeGroup') {\n SvgComponent = VolumeUp;\n }\n if (type === 'weatherCurrent') {\n SvgComponent = Air;\n }\n if (type === 'weatherForecast') {\n SvgComponent = WbSunny;\n }\n if (type === 'window') {\n SvgComponent = Window;\n }\n if (type === 'windowTilt') {\n SvgComponent = Window;\n }\n if (type === 'blindButtons') {\n SvgComponent = BlindsClosed;\n }\n if (type === 'button') {\n SvgComponent = IconButtonImage as SvgIconComponent;\n }\n if (type === 'buttonSensor') {\n SvgComponent = IconButtonImage as SvgIconComponent;\n }\n if (type === 'cie') {\n SvgComponent = ColorLens;\n }\n if (type === 'gate') {\n SvgComponent = DoorSliding;\n }\n if (type === 'hue') {\n SvgComponent = ColorLens;\n }\n if (type === 'info') {\n SvgComponent = Info;\n }\n if (type === 'instance') {\n SvgComponent = IconInstance as SvgIconComponent;\n }\n if (type === 'unknown') {\n SvgComponent = QuestionMark;\n }\n if (type === 'vacuumCleaner') {\n SvgComponent = IconVacuum as SvgIconComponent;\n }\n if (type === 'warning') {\n SvgComponent = Warning;\n }\n\n if (SvgComponent) {\n return (\n \n );\n }\n return null;\n}\n\nexport function IconDeviceType(props: IconProps): React.JSX.Element | null {\n const icon = getDeviceIcon(props.src as DeviceType, props);\n if (icon) {\n return icon;\n }\n\n return ;\n}\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\n// Copyright Bluefox\nexport const IconButtonImage = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 436 436\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n \n \n \n);\n", "import React, { type JSX } from 'react';\nimport { type IconProps } from './IconProps';\n\nexport const IconVacuum = (props: IconProps): JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 339 339\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n \n vacuum\n \n \n);\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\n// Icon copied from https://github.com/FortAwesome/Font-Awesome/blob/0d1f27efb836eb2ab994ba37221849ed64a73e5c/svgs/regular/\nexport const IconInstance = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 512 512\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n);\n", "import React, { useCallback } from 'react';\nimport { useDropzone } from 'react-dropzone';\n\nimport { InputLabel, FormControl, IconButton } from '@mui/material';\nimport { Clear as ClearIcon } from '@mui/icons-material';\n\nimport { IconSelector } from './IconSelector';\nimport { Icon } from './Icon';\nimport { I18n } from '../i18n';\nimport { Utils } from './Utils';\n\nconst styles: Record = {\n formContainer: {\n display: 'flex',\n justifyContent: 'left',\n alignItems: 'center',\n },\n formControl: {\n display: 'flex',\n padding: 24,\n flexGrow: 1000,\n },\n divContainer: {\n width: 32 + 32,\n height: 32,\n whiteSpace: 'nowrap',\n lineHeight: '32px',\n marginRight: 8,\n },\n dragField: {\n textAlign: 'center',\n display: 'table',\n minHeight: 90,\n width: 'calc(100% - 60px)',\n border: '2px dashed #777',\n borderRadius: 10,\n padding: 4,\n },\n formIcon: {\n margin: 10,\n opacity: 0.6,\n },\n text: {\n display: 'table-cell',\n verticalAlign: 'middle',\n },\n};\n\ninterface IconPickerProps {\n previewStyle?: React.CSSProperties;\n previewClassName?: string;\n /** Custom icon element. */\n icon?: React.FC<{ style?: React.CSSProperties }>;\n customStyles?: Record;\n customClasses?: Record;\n /** The label. */\n label?: string;\n /** The value. */\n value?: any;\n /** Set to true to disable the icon picker. */\n disabled?: boolean;\n /** The icon change callback. */\n onChange: (icon: string) => void;\n icons?: {\n icon?: string;\n src?: string;\n href?: string;\n name?: ioBroker.StringOrTranslated;\n _id?: string;\n }[];\n onlyRooms?: boolean;\n onlyDevices?: boolean;\n}\n\nexport function IconPicker(props: IconPickerProps): React.JSX.Element {\n const IconCustom = props.icon;\n\n const onChange = props.onChange;\n\n const onDrop = useCallback(\n (acceptedFiles: File[]) => {\n const reader = new FileReader();\n\n reader.addEventListener('load', () => onChange(reader.result as string), false);\n\n if (acceptedFiles[0]) {\n reader.readAsDataURL(acceptedFiles[0]);\n }\n },\n [onChange],\n );\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({ onDrop });\n\n return (\n
    \n {IconCustom ? : null}\n \n \n {props.label}\n \n
    \n {props.value ? (\n
    \n \n {!props.disabled && (\n props.onChange('')}\n >\n \n \n )}\n
    \n ) : (\n !props.disabled && (\n props.onChange(base64)}\n t={I18n.t}\n lang={I18n.getLanguage()}\n />\n )\n )}\n\n {!props.disabled && (\n \n \n {isDragActive ? (\n {I18n.t('ra_Drop the files here...')}\n ) : (\n \n {I18n.t(\"ra_Drag 'n' drop some files here, or click to select files\")}\n \n )}\n
    \n )}\n
    \n \n \n );\n}\n", "import React, { Component } from 'react';\n\nimport {\n Dialog,\n DialogTitle,\n DialogActions,\n DialogContent,\n Button,\n IconButton,\n TextField,\n Tooltip,\n CircularProgress,\n} from '@mui/material';\n\nimport { Close as CloseIcon, Clear as ClearIcon } from '@mui/icons-material';\n\nimport { Icon } from './Icon';\nimport { Utils } from './Utils';\nimport devicesIcons from '../assets/devices.json';\nimport roomsIcons from '../assets/rooms.json';\nimport type { Translate } from '../types';\n\n// import devices from '../assets/devices/list.json';\nconst devices: { _id: string; name: ioBroker.StringOrTranslated; icon: string }[] = [\n {\n _id: 'hood',\n name: {\n en: 'Hood',\n ru: 'Вытяжка',\n de: 'Abzugshaube',\n fr: 'Capot',\n it: 'Cappe',\n nl: 'Hood',\n pl: 'Okapy',\n pt: 'Hood',\n es: 'Campana',\n 'zh-cn': '抽油烟机',\n },\n icon: 'Hoods.svg',\n },\n {\n _id: 'alarm_system',\n name: {\n en: 'Alarm System',\n ru: 'Сигнализация',\n de: 'Alarmanlage',\n fr: \"Systèmes D'Alarme\",\n it: 'Sistemi Di Allarme',\n nl: 'Alarm Systems',\n pl: 'Systemy Alarmowe',\n pt: 'Sistemas De Alarme',\n es: 'Sistemas De Alarma',\n 'zh-cn': '报警系统',\n },\n icon: 'Alarm Systems.svg',\n },\n {\n _id: 'battery_status',\n name: {\n en: 'Battery Status',\n ru: 'Заряд батареи',\n de: 'Batteriestatus',\n fr: 'État De La Batterie',\n it: 'Stato Della Batteria',\n nl: 'Batterij Status',\n pl: 'Stan Baterii',\n pt: 'Estado Da Bateria',\n es: 'Estado De La Batería',\n 'zh-cn': '电池状态',\n },\n icon: 'Battery Status.svg',\n },\n {\n _id: 'lighting',\n name: {\n en: 'Lighting',\n ru: 'Светильник',\n de: 'Beleuchtung',\n fr: 'Éclairages',\n it: 'Illuminazione',\n nl: 'Verlichting',\n pl: 'Oprawy Oświetleniowe',\n pt: 'Iluminações',\n es: 'Iluminaciones',\n 'zh-cn': '照明',\n },\n icon: 'Lightings.svg',\n },\n {\n _id: 'shading',\n name: {\n en: 'Shading',\n ru: 'Затенение',\n de: 'Beschattungen',\n fr: 'Ombres',\n it: 'Ombreggiatura',\n nl: 'Shading',\n pl: 'Zacienienie',\n pt: 'Shading',\n es: 'Sombreado',\n 'zh-cn': '底纹',\n },\n icon: 'Shading.svg',\n },\n {\n _id: 'irrigation',\n name: {\n en: 'Irrigation',\n ru: 'Орошение',\n de: 'Bewässerung',\n fr: 'Irrigation',\n it: 'Irrigazione',\n nl: 'Irrigatie',\n pl: 'Nawadnianie',\n pt: 'Irrigação',\n es: 'Irrigación',\n 'zh-cn': '灌溉',\n },\n icon: 'Irrigation.svg',\n },\n {\n _id: 'iron',\n name: {\n en: 'Iron',\n ru: 'Утюг',\n de: 'Bügeleisen',\n fr: 'Le Fer',\n it: 'Ferro',\n nl: 'Ijzer',\n pl: 'Żelazo',\n pt: 'Ferro',\n es: 'Hierro',\n 'zh-cn': '铁',\n },\n icon: 'Iron.svg',\n },\n {\n _id: 'computer',\n name: {\n en: 'Computer',\n ru: 'Компьютер',\n de: 'Rechner',\n fr: \"L'Ordinateur\",\n it: 'Computer',\n nl: 'Computer',\n pl: 'Komputer',\n pt: 'Computador',\n es: 'Ordenador',\n 'zh-cn': '电脑',\n },\n icon: 'Computer.svg',\n },\n {\n _id: 'ceiling_spotlight',\n name: {\n en: 'Ceiling Spotlight',\n ru: 'Потолочный прожектор',\n de: 'Deckenspot',\n fr: 'Plafond Spotlight',\n it: 'Faretti A Soffitto',\n nl: 'Plafond Spotlight',\n pl: 'Reflektory Sufitowe',\n pt: 'Tecto Foco',\n es: 'Focos De Techo',\n 'zh-cn': '天花射灯',\n },\n icon: 'Ceiling Spotlights.svg',\n },\n {\n _id: 'printer',\n name: {\n en: 'Printer',\n de: 'Drucker',\n ru: 'Принтер',\n pt: 'Impressora',\n nl: 'Printer',\n fr: 'Imprimante',\n it: 'Stampante',\n es: 'Impresora',\n pl: 'Drukarka',\n 'zh-cn': '打印机',\n },\n icon: 'Printer.svg',\n },\n {\n _id: 'power_consumption',\n name: {\n en: 'Power Consumption',\n ru: 'Потребляемая мощность',\n de: 'Stromverbrauch',\n fr: \"Consommation D'Énergie\",\n it: 'Consumo Di Energia',\n nl: 'Energieverbruik',\n pl: 'Pobór Energii',\n pt: 'Consumo De Energia',\n es: 'El Consumo De Energía',\n 'zh-cn': '能量消耗',\n },\n icon: 'Power Consumption.svg',\n },\n {\n _id: 'window',\n name: {\n en: 'Window',\n ru: 'Окно',\n de: 'Fenster',\n fr: 'La Fenêtre',\n it: 'Finestra',\n nl: 'Venster',\n pl: 'Okno',\n pt: 'Janela',\n es: 'Ventana',\n 'zh-cn': '窗户',\n },\n icon: 'Window.svg',\n },\n {\n _id: 'garage_door',\n name: {\n en: 'Garage Door',\n ru: 'Гаражные Ворота',\n de: 'Garagentor',\n fr: 'Portes De Garage',\n it: 'Garage Door',\n nl: 'Garage Door',\n pl: 'Bramy Garażowe',\n pt: 'Portas De Garagem',\n es: 'Las Puertas De Garaje',\n 'zh-cn': '车库门',\n },\n icon: 'Garage Doors.svg',\n },\n {\n _id: 'hairdryer',\n name: {\n en: 'Hairdryer',\n ru: 'Фен',\n de: 'Haartrockner',\n fr: 'Sèche-Cheveux',\n it: 'Asciugacapelli',\n nl: 'Haardroger',\n pl: 'Suszarka Do Włosów',\n pt: 'Secador De Cabelo',\n es: 'Secador De Pelo',\n 'zh-cn': '电吹风',\n },\n icon: 'Hairdryer.svg',\n },\n {\n _id: 'hanging_lamp',\n name: {\n en: 'Hanging Lamp',\n ru: 'Подвесной светильник',\n de: 'Hängelampe',\n fr: 'Lampes Suspendues',\n it: 'Lampade A Sospensione',\n nl: 'Opknoping Lampen',\n pl: 'Lampy Wiszące',\n pt: 'Lâmpadas De Suspensão',\n es: 'Lámparas Colgantes',\n 'zh-cn': '挂灯',\n },\n icon: 'Hanging Lamps.svg',\n },\n {\n _id: 'doorstep',\n name: {\n en: 'Enterance',\n ru: 'Входная дверь',\n de: 'Haustür',\n fr: 'Seuil De Porte',\n it: 'Gradino Della Porta',\n nl: 'Drempel',\n pl: 'Próg',\n pt: 'Porta',\n es: 'Peldaño',\n 'zh-cn': '门阶',\n },\n icon: 'Doorstep.svg',\n },\n {\n _id: 'hot_water',\n name: {\n en: 'Hot Water',\n ru: 'Горячая вода',\n de: 'Heißwasser',\n fr: 'Eau Chaude',\n it: 'Acqua Calda',\n nl: 'Heet Water',\n pl: 'Gorąca Woda',\n pt: 'Água Quente',\n es: 'Agua Caliente',\n 'zh-cn': '热水',\n },\n icon: 'Hot Water.svg',\n },\n {\n _id: 'heating',\n name: {\n en: 'Heating',\n ru: 'Отопление',\n de: 'Heizung',\n fr: 'Chauffe-Eau',\n it: 'Riscaldatore',\n nl: 'Verwarmer',\n pl: 'Podgrzewacz',\n pt: 'Aquecedor',\n es: 'Calentador',\n 'zh-cn': '加热器',\n },\n icon: 'Heater.svg',\n },\n {\n _id: 'stove',\n name: {\n en: 'Stove',\n ru: 'Печь',\n de: 'Herd',\n fr: 'Le Fourneau',\n it: 'Stufa',\n nl: 'Fornuis',\n pl: 'Kuchenka',\n pt: 'Forno',\n es: 'Cocina',\n 'zh-cn': '火炉',\n },\n icon: 'Stove.svg',\n },\n {\n _id: 'louvre',\n name: {\n en: 'Louvre',\n ru: 'Жалюзи',\n de: 'Jalousie',\n fr: 'Persienne',\n it: 'Persiana Di Ventilazione',\n nl: 'Louvre',\n pl: 'Żaluzja',\n pt: 'Trapeira',\n es: 'Lumbrera',\n 'zh-cn': '卢浮宫',\n },\n icon: 'Louvre.svg',\n },\n {\n _id: 'coffee_maker',\n name: {\n en: 'Coffee Maker',\n ru: 'Кофеварка',\n de: 'Kaffemaschine',\n fr: 'Cafetière',\n it: 'Macchine Da Caffè',\n nl: 'Koffie Maker',\n pl: 'Ekspresy Do Kawy',\n pt: 'Cafeteira',\n es: 'Cafetera',\n 'zh-cn': '咖啡壶',\n },\n icon: 'Coffee Makers.svg',\n },\n {\n _id: 'cold_water',\n name: {\n en: 'Cold Water',\n ru: 'Холодная вода',\n de: 'Kaltwasser',\n fr: 'Eau Froide',\n it: 'Acqua Fredda',\n nl: 'Koud Water',\n pl: 'Zimna Woda',\n pt: 'Água Fria',\n es: 'Agua Fría',\n 'zh-cn': '冷水',\n },\n icon: 'Cold Water.svg',\n },\n {\n _id: 'climate',\n name: {\n en: 'Climate',\n ru: 'Климат',\n de: 'Klima',\n fr: 'Climat',\n it: 'Clima',\n nl: 'Klimaat',\n pl: 'Klimat',\n pt: 'Clima',\n es: 'Clima',\n 'zh-cn': '气候',\n },\n icon: 'Climate.svg',\n },\n {\n _id: 'speaker',\n name: {\n en: 'Speaker',\n ru: 'Звуковая система',\n de: 'Lautsprecher',\n fr: 'Orateur',\n it: 'Altoparlante',\n nl: 'Spreker',\n pl: 'Głośnik',\n pt: 'Palestrante',\n es: 'Altavoz',\n 'zh-cn': '扬声器',\n },\n icon: 'Speaker.svg',\n },\n {\n _id: 'led_strip',\n name: {\n en: 'Led Strip',\n ru: 'Светодиодная лента',\n de: 'LED Leiste',\n fr: 'Led Strip',\n it: 'Led Strip',\n nl: 'Loden Strip',\n pl: 'Pasek Ledowy',\n pt: 'Led Faixa',\n es: 'Tira Llevada',\n 'zh-cn': '灯带',\n },\n icon: 'Led Strip.svg',\n },\n {\n _id: 'light',\n name: {\n en: 'Light',\n ru: 'Свет',\n de: 'Licht',\n fr: 'Lumière',\n it: 'Leggero',\n nl: 'Licht',\n pl: 'Lekki',\n pt: 'Luz',\n es: 'Luz',\n 'zh-cn': '光',\n },\n icon: 'Light.svg',\n },\n {\n _id: 'fan',\n name: {\n en: 'Fan',\n ru: 'Вентилятор',\n de: 'Lüfter',\n fr: 'Ventilateur',\n it: 'Fan',\n nl: 'Ventilator',\n pl: 'Wentylator',\n pt: 'Ventilador',\n es: 'Ventilador',\n 'zh-cn': '扇子',\n },\n icon: 'Fan.svg',\n },\n {\n _id: 'humidity',\n name: {\n en: 'Humidity',\n ru: 'Влажность',\n de: 'Luftfeuchtigkeit',\n fr: 'Humidité',\n it: 'Umidità',\n nl: 'Vochtigheid',\n pl: 'Wilgotność',\n pt: 'Umidade',\n es: 'Humedad',\n 'zh-cn': '湿度',\n },\n icon: 'Humidity.svg',\n },\n {\n _id: 'ventilation',\n name: {\n en: 'Ventilation',\n ru: 'Вентиляция',\n de: 'Lüftung',\n fr: 'Ventilation',\n it: 'Ventilazione',\n nl: 'Ventilatie',\n pl: 'Wentylacja',\n pt: 'Ventilação',\n es: 'Ventilación',\n 'zh-cn': '通风',\n },\n icon: 'Ventilation.svg',\n },\n {\n _id: 'chandelier',\n name: {\n en: 'Chandelier',\n ru: 'Люстра',\n de: 'Kronleuchter',\n fr: 'Lustre',\n it: 'Lampadario',\n nl: 'Kroonluchter',\n pl: 'Żyrandol',\n pt: 'Lustre',\n es: 'Candelabro',\n 'zh-cn': '枝形吊灯',\n },\n icon: 'Chandelier.svg',\n },\n {\n _id: 'awning',\n name: {\n en: 'Awning',\n ru: 'Маркиза',\n de: 'Markise',\n fr: 'Auvents',\n it: 'Tende',\n nl: 'Luifels',\n pl: 'Okrycia',\n pt: 'Toldos',\n es: 'Toldos',\n 'zh-cn': '遮阳篷',\n },\n icon: 'Awnings.svg',\n },\n {\n _id: 'music',\n name: {\n en: 'Music',\n ru: 'Музыка',\n de: 'Musik',\n fr: 'Musique',\n it: 'Musica',\n nl: 'Muziek',\n pl: 'Muzyka',\n pt: 'Música',\n es: 'Música',\n 'zh-cn': '音乐',\n },\n icon: 'Music.svg',\n },\n {\n _id: 'people',\n name: {\n en: 'People',\n ru: 'Люди',\n de: 'Personen',\n fr: 'Gens',\n it: 'Persone',\n nl: 'Mensen',\n pl: 'Ludzie',\n pt: 'Pessoas',\n es: 'Personas',\n 'zh-cn': '人们',\n },\n icon: 'People.svg',\n },\n {\n _id: 'pool',\n name: {\n en: 'Pool',\n ru: 'Бассейн',\n de: 'Pool',\n fr: 'Piscine',\n it: 'Piscina',\n nl: 'Zwembad',\n pl: 'Basen',\n pt: 'Piscina',\n es: 'Piscina',\n 'zh-cn': '水池',\n },\n icon: 'Pool.svg',\n },\n {\n _id: 'pump',\n name: {\n en: 'Pump',\n ru: 'Насос',\n de: 'Pumpe',\n fr: 'Pompe',\n it: 'Pompa',\n nl: 'Pomp',\n pl: 'Pompa',\n pt: 'Bombear',\n es: 'Bomba',\n 'zh-cn': '泵',\n },\n icon: 'Pump.svg',\n },\n {\n _id: 'outdoor_blinds',\n name: {\n en: 'Outdoor Blinds',\n ru: 'Внещгте жалюзи',\n de: 'Raffstore',\n fr: 'Volets',\n it: 'Tende Da Esterni',\n nl: 'Outdoor Blinds',\n pl: 'Rolety Zewnętrzne',\n pt: 'Estores Exteriores',\n es: 'Persianas Exteriores',\n 'zh-cn': '室外百叶窗',\n },\n icon: 'Outdoor Blinds.svg',\n },\n {\n _id: 'mowing_machine',\n name: {\n en: 'Mowing Machine',\n ru: 'Газонокосилка',\n de: 'Rasenmäher',\n fr: 'Machine De Fauchage',\n it: 'Macchina Di Falciatura',\n nl: 'Maaimachine',\n pl: 'Kosiarka',\n pt: 'Roçada Máquina',\n es: 'Segadora',\n 'zh-cn': '割草机',\n },\n icon: 'Mowing Machine.svg',\n },\n {\n _id: 'receiver',\n name: {\n en: 'Receiver',\n ru: 'Приставка',\n de: 'Receiver',\n fr: 'Destinataire',\n it: 'Ricevitore',\n nl: 'Ontvanger',\n pl: 'Odbiorca',\n pt: 'Recebedor',\n es: 'Receptor',\n 'zh-cn': '接收者',\n },\n icon: 'Receiver.svg',\n },\n {\n _id: 'shutters',\n name: {\n en: 'Shutters',\n ru: 'Ставни',\n de: 'Rollladen',\n fr: 'Volets',\n it: 'Persiane',\n nl: 'Shutters',\n pl: 'Żaluzje',\n pt: 'Persianas',\n es: 'Persianas',\n 'zh-cn': '百叶窗',\n },\n icon: 'Shutters.svg',\n },\n {\n _id: 'smoke_detector',\n name: {\n en: 'Smoke detector',\n de: 'Rauchmelder',\n ru: 'Детектор дыма',\n pt: 'Detector de fumaça',\n nl: 'Rookdetector',\n fr: 'Détecteur de fumée',\n it: 'Rilevatore di fumo',\n es: 'Detector de humo',\n pl: 'Wykrywacz dymu',\n 'zh-cn': '烟雾探测器',\n },\n icon: 'SmokeDetector.svg',\n },\n {\n _id: 'lock',\n name: {\n en: 'Lock',\n ru: 'Замок',\n de: 'Schloß',\n fr: 'Fermer À Clé',\n it: 'Serratura',\n nl: 'Slot',\n pl: 'Zamek',\n pt: 'Trancar',\n es: 'Cerrar Con Llave',\n 'zh-cn': '锁',\n },\n icon: 'Lock.svg',\n },\n {\n _id: 'security',\n name: {\n en: 'Security',\n ru: 'Безопасность',\n de: 'Sicherheit',\n fr: 'Sécurité',\n it: 'Sicurezza',\n nl: 'Veiligheid',\n pl: 'Bezpieczeństwo',\n pt: 'Segurança',\n es: 'Seguridad',\n 'zh-cn': '安全',\n },\n icon: 'Security.svg',\n },\n {\n _id: 'dishwasher',\n name: {\n en: 'Dishwasher',\n ru: 'Посудомоечная машина',\n de: 'Spülmaschine',\n fr: 'Lave-Vaisselles',\n it: 'Lavastoviglie',\n nl: 'Vaatwassers',\n pl: 'Zmywarki',\n pt: 'Máquinas De Lavar Louça',\n es: 'Lavaplatos',\n 'zh-cn': '洗碗机',\n },\n icon: 'Dishwashers.svg',\n },\n {\n _id: 'vacuum_cleaner',\n name: {\n en: 'Vacuum Cleaner',\n ru: 'Пылесос',\n de: 'Staubsauger',\n fr: 'Aspirateur',\n it: 'Aspirapolvere',\n nl: 'Stofzuiger',\n pl: 'Odkurzacz',\n pt: 'Aspirador De Pó',\n es: 'Aspiradora',\n 'zh-cn': '吸尘器',\n },\n icon: 'Vacuum Cleaner.svg',\n },\n {\n _id: 'socket',\n name: {\n en: 'Socket',\n ru: 'Розетка',\n de: 'Steckdose',\n fr: 'Prise',\n it: 'Socket',\n nl: 'Socket',\n pl: 'Gniazdka',\n pt: 'Tomada',\n es: 'Zócalo',\n 'zh-cn': '套接字',\n },\n icon: 'Sockets.svg',\n },\n {\n _id: 'floor_lamp',\n name: {\n en: 'Floor Lamp',\n ru: 'Торшер',\n de: 'Stehlampe',\n fr: 'Lampes Pour Plancher',\n it: 'Lampade A Stelo',\n nl: 'Vloerlampen',\n pl: 'Lampy Podłogowe',\n pt: 'Lâmpadas Chão',\n es: 'Lámparas De Pie',\n 'zh-cn': '落地灯',\n },\n icon: 'Floor Lamps.svg',\n },\n {\n _id: 'power_consumption',\n name: {\n en: 'Power Consumption',\n ru: 'Потребляемая мощность',\n de: 'Stromverbrauch',\n fr: \"Consommation D'Énergie\",\n it: 'Consumo Di Energia',\n nl: 'Energieverbruik',\n pl: 'Pobór Energii',\n pt: 'Consumo De Energia',\n es: 'El Consumo De Energía',\n 'zh-cn': '能量消耗',\n },\n icon: 'Power Consumption.svg',\n },\n {\n _id: 'temperature_sensor',\n name: {\n en: 'Temperature Sensor',\n ru: 'Температурный датчик',\n de: 'Temperatur-Sensor',\n fr: 'Capteur De Température',\n it: 'Sensori Di Temperatura',\n nl: 'Temperatuursensor',\n pl: 'Czujniki Temperatury',\n pt: 'Sensores De Temperatura',\n es: 'Sensores De Temperatura',\n 'zh-cn': '温度传感器',\n },\n icon: 'Temperature Sensors.svg',\n },\n {\n _id: 'table_lamp',\n name: {\n en: 'Table Lamp',\n ru: 'Настольная лампа',\n de: 'Tischlampe',\n fr: 'Lampe De Chevet',\n it: 'Lampade Da Tavolo',\n nl: 'Tafellampen',\n pl: 'Lampy Stołowe',\n pt: 'Lâmpadas De Mesa',\n es: 'Lámparas De Mesa',\n 'zh-cn': '台灯',\n },\n icon: 'Table Lamps.svg',\n },\n {\n _id: 'gate',\n name: {\n en: 'Gate',\n ru: 'Ворота',\n de: 'Tor',\n fr: 'Porte',\n it: 'Gate',\n nl: 'Gate',\n pl: 'Bramy',\n pt: 'Portões',\n es: 'Puertas',\n 'zh-cn': '盖茨',\n },\n icon: 'Gates.svg',\n },\n {\n _id: 'dryer',\n name: {\n en: 'Dryer',\n ru: 'Сушилка',\n de: 'Trockner',\n fr: 'Séchoir',\n it: 'Asciugatrice',\n nl: 'Droger',\n pl: 'Suszarka',\n pt: 'Secador',\n es: 'Secadora',\n 'zh-cn': '烘干机',\n },\n icon: 'Dryer.svg',\n },\n {\n _id: 'door',\n name: {\n en: 'Door',\n ru: 'Дверь',\n de: 'Tür',\n fr: 'Des Portes',\n it: 'Porte',\n nl: 'Deuren',\n pl: 'Drzwi',\n pt: 'Portas',\n es: 'Puertas',\n 'zh-cn': '门',\n },\n icon: 'Doors.svg',\n },\n {\n _id: 'tv',\n name: {\n en: 'Tv',\n ru: 'Телевизор',\n de: 'TV',\n fr: 'La Télé',\n it: 'Tv',\n nl: 'Tv',\n pl: 'Telewizja',\n pt: 'Televisão',\n es: 'Televisor',\n 'zh-cn': '电视',\n },\n icon: 'Tv.svg',\n },\n {\n _id: 'consumption',\n name: {\n en: 'Consumption',\n ru: 'Потребление',\n de: 'Verbrauch',\n fr: 'Consommation',\n it: 'Consumo',\n nl: 'Consumptie',\n pl: 'Konsumpcja',\n pt: 'Consumo',\n es: 'Consumo',\n 'zh-cn': '消费',\n },\n icon: 'Consumption.svg',\n },\n {\n _id: 'amplifier',\n name: {\n en: 'Amplifier',\n ru: 'Усилитель звука',\n de: 'Verstärker',\n fr: 'Amplificateur',\n it: 'Amplificatore',\n nl: 'Versterker',\n pl: 'Wzmacniacz',\n pt: 'Amplificador',\n es: 'Amplificador',\n 'zh-cn': '放大器',\n },\n icon: 'Amplifier.svg',\n },\n {\n _id: 'curtains',\n name: {\n en: 'Curtains',\n ru: 'Шторы',\n de: 'Vorhänge',\n fr: 'Des Rideaux',\n it: 'Le Tende',\n nl: 'Gordijnen',\n pl: 'Zasłony',\n pt: 'Cortinas',\n es: 'Cortinas',\n 'zh-cn': '窗帘',\n },\n icon: 'Curtains.svg',\n },\n {\n _id: 'sconce',\n name: {\n en: 'Sconce',\n ru: 'Настенный светильник',\n de: 'Wandlampe',\n fr: 'Sconce',\n it: 'Sconce',\n nl: 'Sconce',\n pl: 'Kinkiety',\n pt: 'Arandelas',\n es: 'Los Apliques',\n 'zh-cn': '壁灯',\n },\n icon: 'Sconces.svg',\n },\n {\n _id: 'washing_machine',\n name: {\n en: 'Washing Machine',\n ru: 'Стиральная машина',\n de: 'Waschmaschine',\n fr: 'Machines À Laver',\n it: 'Lavatrici',\n nl: 'Wasmachines',\n pl: 'Pralki',\n pt: 'Máquinas De Lavar Roupas',\n es: 'Lavadoras',\n 'zh-cn': '洗衣机',\n },\n icon: 'Washing Machines.svg',\n },\n {\n _id: 'water',\n name: {\n en: 'Water',\n ru: 'Вода',\n de: 'Wasser',\n fr: \"L'Eau\",\n it: 'Acqua',\n nl: 'Water',\n pl: 'Woda',\n pt: 'Água',\n es: 'Agua',\n 'zh-cn': '水',\n },\n icon: 'Water.svg',\n },\n {\n _id: 'water_heater',\n name: {\n en: 'Water Heater',\n ru: 'Нагреватель воды',\n de: 'Wasserkocher',\n fr: 'Chauffe-Eau',\n it: 'Scaldabagno',\n nl: 'Waterkoker',\n pl: 'Podgrzewacz Wody',\n pt: 'Aquecedor De Água',\n es: 'Calentador De Agua',\n 'zh-cn': '热水器',\n },\n icon: 'Water Heater.svg',\n },\n {\n _id: 'water_consumption',\n name: {\n en: 'Water Consumption',\n ru: 'Потребление воды',\n de: 'Wasserverbrauch',\n fr: \"Consommation D'Eau\",\n it: \"Consumo D'Acqua\",\n nl: 'Waterverbruik',\n pl: 'Konsumpcja Wody',\n pt: 'Consumo De Água',\n es: 'Consumo De Agua',\n 'zh-cn': '耗水量',\n },\n icon: 'Water Consumption.svg',\n },\n {\n _id: 'weather',\n name: {\n en: 'Weather',\n ru: 'Погода',\n de: 'Wetter',\n fr: 'La Météo',\n it: 'Tempo Metereologico',\n nl: 'Weer',\n pl: 'Pogoda',\n pt: 'Clima',\n es: 'Tiempo',\n 'zh-cn': '天气',\n },\n icon: 'Weather.svg',\n },\n];\n\n// import rooms from '../assets/rooms/list.json';\nconst rooms: { _id: string; name: ioBroker.StringOrTranslated; icon: string }[] = [\n {\n _id: 'storeroom',\n name: {\n en: 'Storeroom',\n ru: 'Кладовая',\n de: 'Abstellraum',\n fr: 'Débarras',\n it: 'Dispensa',\n nl: 'Bergplaats',\n pl: 'Magazyn',\n pt: 'Despensa',\n es: 'Trastero',\n 'zh-cn': '库房',\n },\n icon: 'Storeroom.svg',\n },\n {\n _id: 'second_floor',\n name: {\n en: 'Second floor',\n ru: 'Второй этаж',\n de: 'Erster OG',\n pt: 'Primeiro andar',\n nl: 'Eerste verdieping',\n fr: 'Premier étage',\n it: 'Primo piano',\n es: 'Primer piso',\n pl: 'Pierwsze piętro',\n 'zh-cn': '第一层',\n },\n icon: 'Second Floor.svg',\n },\n {\n _id: 'dressing_room',\n name: {\n en: 'Dressing Room',\n ru: 'Гардеробная',\n de: 'Ankleide',\n fr: 'Vestiaire',\n it: 'Camerino',\n nl: 'Kleedkamer',\n pl: 'Przebieralnia',\n pt: 'Provador',\n es: 'Vestidor',\n 'zh-cn': '更衣室',\n },\n icon: 'Dressing Room.svg',\n },\n {\n _id: 'workspace',\n name: {\n en: 'Workspace',\n ru: 'Рабочая Среда',\n de: 'Arbeitszimmer',\n fr: 'Espace De Travail',\n it: 'Area Di Lavoro',\n nl: 'Workspace',\n pl: 'Workspace',\n pt: 'Área De Trabalho',\n es: 'Espacio De Trabajo',\n 'zh-cn': '工作区',\n },\n icon: 'Workspace.svg',\n },\n {\n _id: 'driveway',\n name: {\n en: 'Driveway',\n ru: 'Дорога',\n de: 'Auffahrt',\n fr: 'Allée',\n it: 'Viale',\n nl: 'Pad',\n pl: 'Podjazd',\n pt: 'Entrada Da Garagem',\n es: 'Entrada De Coches',\n 'zh-cn': '车道',\n },\n icon: 'Driveway.svg',\n },\n {\n _id: 'outdoors',\n name: {\n en: 'Outdoors',\n ru: 'На Улице',\n de: 'Außenbereich',\n fr: 'En Plein Air',\n it: \"All'Aperto\",\n nl: 'Buitenshuis',\n pl: 'Na Dworze',\n pt: 'Ao Ar Livre',\n es: 'Al Aire Libre',\n 'zh-cn': '户外',\n },\n icon: 'Outdoors.svg',\n },\n {\n _id: 'bathroom',\n name: {\n en: 'Bathroom',\n ru: 'Ванная Комната',\n de: 'Badezimmer',\n fr: 'Salle De Bains',\n it: 'Bagno',\n nl: 'Badkamer',\n pl: 'Łazienka',\n pt: 'Banheiro',\n es: 'Baño',\n 'zh-cn': '浴室',\n },\n icon: 'Bathroom.svg',\n },\n {\n _id: 'balcony',\n name: {\n en: 'Balcony',\n ru: 'Балкон',\n de: 'Balkon',\n fr: 'Balcon',\n it: 'Balcone',\n nl: 'Balkon',\n pl: 'Balkon',\n pt: 'Sacada',\n es: 'Balcón',\n 'zh-cn': '阳台',\n },\n icon: 'Balcony.svg',\n },\n {\n _id: 'office',\n name: {\n en: 'Office',\n ru: 'Офис',\n de: 'Office',\n fr: 'Bureau',\n it: 'Ufficio',\n nl: 'Kantoor',\n pl: 'Gabinet',\n pt: 'Escritório',\n es: 'Oficina',\n 'zh-cn': '办公室',\n },\n icon: 'Office.svg',\n },\n {\n _id: 'carport',\n name: {\n en: 'Carport',\n ru: 'Навес',\n de: 'Carport',\n fr: 'Carport',\n it: 'Posto Auto Coperto',\n nl: 'Carport',\n pl: 'Wiata',\n pt: 'Telheiro',\n es: 'Cochera',\n 'zh-cn': '车棚',\n },\n icon: 'Carport.svg',\n },\n {\n _id: 'attic',\n name: {\n en: 'Attic',\n ru: 'Чердак',\n de: 'Dachgeschoss',\n fr: 'Grenier',\n it: 'Attico',\n nl: 'Zolder',\n pl: 'Poddasze',\n pt: 'Sótão',\n es: 'Ático',\n 'zh-cn': '阁楼',\n },\n icon: 'Attic.svg',\n },\n {\n _id: 'hall',\n name: {\n en: 'Hall',\n ru: 'Зал',\n de: 'Diele',\n fr: 'Salle',\n it: 'Sala',\n nl: 'Hal',\n pl: 'Sala',\n pt: 'Corredor',\n es: 'Sala',\n 'zh-cn': '大厅',\n },\n icon: 'Hall.svg',\n },\n {\n _id: 'entrance',\n name: {\n en: 'Entrance',\n ru: 'Вход',\n de: 'Eingang',\n fr: 'Entrée',\n it: 'Ingresso',\n nl: 'Ingang',\n pl: 'Wejście',\n pt: 'Entrada',\n es: 'Entrada',\n 'zh-cn': '入口',\n },\n icon: 'Entrance.svg',\n },\n {\n _id: 'ground_floor',\n name: {\n en: 'Ground Floor',\n ru: 'Первый Этаж',\n de: 'Erdgeschoss',\n fr: 'Rez-De-Chaussée',\n it: 'Piano Terra',\n nl: 'Begane Grond',\n pl: 'Parter',\n pt: 'Térreo',\n es: 'Planta Baja',\n 'zh-cn': '一楼',\n },\n icon: 'Ground Floor.svg',\n },\n {\n _id: 'dining_area',\n name: {\n en: 'Dining Area',\n ru: 'Столовая',\n de: 'Essbereich',\n fr: 'Salle À Manger',\n it: 'Zona Pranzo',\n nl: 'Eethoek',\n pl: 'Jadalnia',\n pt: 'Área De Refeições',\n es: 'Comedor',\n 'zh-cn': '用餐区',\n },\n icon: 'Dining Area.svg',\n },\n {\n _id: 'dining_room',\n name: {\n en: 'Dining Room',\n ru: 'Столовая',\n de: 'Esszimmer',\n fr: 'Salle À Manger',\n it: 'Sala Da Pranzo',\n nl: 'Eetkamer',\n pl: 'Jadalnia',\n pt: 'Sala De Jantar',\n es: 'Comedor',\n 'zh-cn': '饭厅',\n },\n icon: 'Dining Room.svg',\n },\n {\n _id: 'gym',\n name: {\n en: 'Gym',\n ru: 'Спортзал',\n de: 'Fitnessraum',\n fr: 'Gym',\n it: 'Palestra',\n nl: 'Sportschool',\n pl: 'Siłownia',\n pt: 'Ginásio',\n es: 'Gimnasio',\n 'zh-cn': '健身房',\n },\n icon: 'Gym.svg',\n },\n {\n _id: 'gallery',\n name: {\n en: 'Gallery',\n ru: 'Галерея',\n de: 'Galerie',\n fr: 'Galerie',\n it: 'Galleria',\n nl: 'Galerij',\n pl: 'Galeria',\n pt: 'Galeria',\n es: 'Galería',\n 'zh-cn': '画廊',\n },\n icon: 'Gallery.svg',\n },\n {\n _id: 'garage',\n name: {\n en: 'Garage',\n ru: 'Гараж',\n de: 'Garage',\n fr: 'Garage',\n it: 'Box Auto',\n nl: 'Garage',\n pl: 'Garaż',\n pt: 'Garagem',\n es: 'Garaje',\n 'zh-cn': '车库',\n },\n icon: 'Garage.svg',\n },\n {\n _id: 'wardrobe',\n name: {\n en: 'Wardrobe',\n ru: 'Гардероб',\n de: 'Garderobe',\n fr: 'Penderie',\n it: 'Armadio',\n nl: 'Garderobe',\n pl: 'Szafa',\n pt: 'Guarda Roupa',\n es: 'Armario',\n 'zh-cn': '衣柜',\n },\n icon: 'Wardrobe.svg',\n },\n {\n _id: 'garden',\n name: {\n en: 'Garden',\n ru: 'Сад',\n de: 'Garten',\n fr: 'Jardin',\n it: 'Giardino',\n nl: 'Tuin',\n pl: 'Ogród',\n pt: 'Jardim',\n es: 'Jardín',\n 'zh-cn': '花园',\n },\n icon: 'Garden.svg',\n },\n {\n _id: 'summer_house',\n name: {\n en: 'Summer House',\n ru: 'Дача',\n de: 'Gartenhaus',\n fr: \"Maison D'Été\",\n it: 'Casa Estiva',\n nl: 'Zomerhuis',\n pl: 'Domek Letniskowy',\n pt: 'Summer House',\n es: 'Casa De Verano',\n 'zh-cn': '凉亭',\n },\n icon: 'Summer House.svg',\n },\n {\n _id: 'guest_bathroom',\n name: {\n en: 'Guest Bathroom',\n ru: 'Гостевая Комната',\n de: 'Gäste-WC',\n fr: 'Salle De Bains Invité',\n it: 'Guest Bathroom',\n nl: 'Gastenbadkamer',\n pl: 'Łazienka Gościnna',\n pt: 'Banheiro De Hóspedes',\n es: 'Baño De Visitas',\n 'zh-cn': '客用浴室',\n },\n icon: 'Guest Bathroom.svg',\n },\n {\n _id: 'guest_room',\n name: {\n en: 'Guest Room',\n ru: 'Гостевая Комната',\n de: 'Gästezimmer',\n fr: \"Chambre D'Amis\",\n it: 'Stanza Degli Ospiti',\n nl: 'Guest Room',\n pl: 'Pokój Gościnny',\n pt: 'Quarto De Hóspedes',\n es: 'Habitación De Huéspedes',\n 'zh-cn': '客房',\n },\n icon: 'Guest Room.svg',\n },\n {\n _id: 'laundry_room',\n name: {\n en: 'Laundry Room',\n ru: 'Прачечная',\n de: 'Hauswirtschaftsraum',\n fr: 'Buanderie',\n it: 'Lavanderia',\n nl: 'Wasruimte',\n pl: 'Pralnia',\n pt: 'Lavandaria',\n es: 'Cuarto De Lavado',\n 'zh-cn': '洗衣房',\n },\n icon: 'Laundry Room.svg',\n },\n {\n _id: 'home_theater',\n name: {\n en: 'Home Theater',\n ru: 'Домашний Театр',\n de: 'Heimkino',\n fr: 'Cinéma Maison',\n it: 'Home Theater',\n nl: 'Thuisbioscoop',\n pl: 'Kino Domowe',\n pt: 'Cinema Em Casa',\n es: 'Cine En Casa',\n 'zh-cn': '家庭电影院',\n },\n icon: 'Home Theater.svg',\n },\n {\n _id: 'boiler_room',\n name: {\n en: 'Boiler Room',\n ru: 'Бойлерная',\n de: 'Heizungsraum',\n fr: 'Chaufferie',\n it: 'Locale Caldaia',\n nl: 'Boiler Room',\n pl: 'Kotłownia',\n pt: 'Sala Da Caldeira',\n es: 'Sala De Calderas',\n 'zh-cn': '锅炉房',\n },\n icon: 'Boiler Room.svg',\n },\n {\n _id: 'chamber',\n name: {\n en: 'Chamber',\n ru: 'Камера',\n de: 'Kammer',\n fr: 'Chambre',\n it: 'Camera',\n nl: 'Kamer',\n pl: 'Izba',\n pt: 'Câmara',\n es: 'Cámara',\n 'zh-cn': '商会',\n },\n icon: 'Chamber.svg',\n },\n {\n _id: 'basement,_cellar',\n name: {\n en: 'Basement, Cellar',\n ru: 'Подвал, Погреб',\n de: 'Keller',\n fr: 'Sous-Sol, Cave',\n it: 'Taverna, Cantina',\n nl: 'Kelder, Kelder',\n pl: 'Piwnica, Piwnica',\n pt: 'Porão, Adega',\n es: 'Sótano, Bodega',\n 'zh-cn': '地下室,地窖',\n },\n icon: 'Basement.svg',\n },\n {\n _id: 'nursery',\n name: {\n en: 'Nursery',\n ru: 'Питомник',\n de: 'Kinderzimmer',\n fr: 'Garderie',\n it: 'Asilo',\n nl: 'Kinderkamer',\n pl: 'Żłobek',\n pt: 'Berçário',\n es: 'Guardería',\n 'zh-cn': '苗圃',\n },\n icon: 'Nursery.svg',\n },\n {\n _id: 'corridor',\n name: {\n en: 'Corridor',\n ru: 'Коридор',\n de: 'Korridor',\n fr: 'Couloir',\n it: 'Corridoio',\n nl: 'Gang',\n pl: 'Korytarz',\n pt: 'Corredor',\n es: 'Corredor',\n 'zh-cn': '走廊',\n },\n icon: 'Corridor.svg',\n },\n {\n _id: 'kitchen',\n name: {\n en: 'Kitchen',\n ru: 'Кухня',\n de: 'Küche',\n fr: 'Cuisine',\n it: 'Cucina',\n nl: 'Keuken',\n pl: 'Kuchnia',\n pt: 'Cozinha',\n es: 'Cocina',\n 'zh-cn': '厨房',\n },\n icon: 'Kitchen.svg',\n },\n {\n _id: 'upstairs',\n name: {\n en: 'Upstairs',\n ru: 'Вверх По Лестнице',\n de: 'Obergeschoss',\n fr: 'En Haut',\n it: 'Di Sopra',\n nl: 'Boven',\n pl: 'Na Górę',\n pt: 'Andar De Cima',\n es: 'Piso Superior',\n 'zh-cn': '楼上',\n },\n icon: 'Upstairs.svg',\n },\n {\n _id: 'office',\n name: {\n en: 'Office',\n ru: 'Офис',\n de: 'Office',\n fr: 'Bureau',\n it: 'Ufficio',\n nl: 'Kantoor',\n pl: 'Gabinet',\n pt: 'Escritório',\n es: 'Oficina',\n 'zh-cn': '办公室',\n },\n icon: 'Office.svg',\n },\n {\n _id: 'pool',\n name: {\n en: 'Pool',\n ru: 'Бассейн',\n de: 'Pool',\n fr: 'Piscine',\n it: 'Piscina',\n nl: 'Zwembad',\n pl: 'Basen',\n pt: 'Piscina',\n es: 'Piscina',\n 'zh-cn': '水池',\n },\n icon: 'Pool.svg',\n },\n {\n _id: 'rear_wall',\n name: {\n en: 'Rear Wall',\n ru: 'Задняя Стенка',\n de: 'Rückwand',\n fr: 'Paroi Arrière',\n it: 'Parete Posteriore',\n nl: 'Achterwand',\n pl: 'Tylna Ściana',\n pt: 'Parede Traseira',\n es: 'Pared Posterior',\n 'zh-cn': '后墙',\n },\n icon: 'Rear Wall.svg',\n },\n {\n _id: 'barn',\n name: {\n en: 'Barn',\n ru: 'Амбар',\n de: 'Scheune',\n fr: 'Grange',\n it: 'Fienile',\n nl: 'Schuur',\n pl: 'Stodoła',\n pt: 'Celeiro',\n es: 'Granero',\n 'zh-cn': '谷仓',\n },\n icon: 'Barn.svg',\n },\n {\n _id: 'sleeping_area',\n name: {\n en: 'Sleeping Area',\n ru: 'Спальное Место',\n de: 'Schlafbereich',\n fr: 'Coin Montagne',\n it: 'Area Sleeping',\n nl: 'Sleeping Area',\n pl: 'Powierzchnia Spania',\n pt: 'Sleeping Area',\n es: 'Área De Dormir',\n 'zh-cn': '睡眠区',\n },\n icon: 'Sleeping Area.svg',\n },\n {\n _id: 'bedroom',\n name: {\n en: 'Bedroom',\n ru: 'Спальная Комната',\n de: 'Schlafzimmer',\n fr: 'Chambre',\n it: 'Camera Da Letto',\n nl: 'Slaapkamer',\n pl: 'Sypialnia',\n pt: 'Quarto',\n es: 'Cuarto',\n 'zh-cn': '卧室',\n },\n icon: 'Bedroom.svg',\n },\n {\n _id: 'shed',\n name: {\n en: 'Shed',\n ru: 'Сбрасывать',\n de: 'Schuppen',\n fr: 'Hangar',\n it: 'Capannone',\n nl: 'Schuur',\n pl: 'Budka',\n pt: 'Cabana',\n es: 'Cobertizo',\n 'zh-cn': '棚',\n },\n icon: 'Shed.svg',\n },\n {\n _id: 'swimming_pool',\n name: {\n en: 'Swimming Pool',\n ru: 'Плавательный Бассейн',\n de: 'Schwimmbad',\n fr: 'Piscine',\n it: 'Piscina',\n nl: 'Zwembad',\n pl: 'Basen',\n pt: 'Piscina',\n es: 'Piscina',\n 'zh-cn': '游泳池',\n },\n icon: 'Swimming Pool.svg',\n },\n {\n _id: 'dining',\n name: {\n en: 'Dining',\n ru: 'Обеденный',\n de: 'Speis',\n fr: 'À Manger',\n it: 'Cenare',\n nl: 'Dining',\n pl: 'Jadalnia',\n pt: 'Jantar',\n es: 'Comida',\n 'zh-cn': '用餐',\n },\n icon: 'Dining.svg',\n },\n {\n _id: 'playroom',\n name: {\n en: 'Playroom',\n ru: 'Игровая Комната',\n de: 'Spielzimmer',\n fr: 'Salle De Jeux',\n it: 'Stanza Dei Giochi',\n nl: 'Speelkamer',\n pl: 'Pokój Zabaw',\n pt: 'Sala De Jogos',\n es: 'Cuarto De Jugar',\n 'zh-cn': '游戏室',\n },\n icon: 'Playroom.svg',\n },\n {\n _id: 'stairway',\n name: {\n en: 'Stairway',\n ru: 'Лестница',\n de: 'Treppe',\n fr: 'Escalier',\n it: 'Scala',\n nl: 'Trap',\n pl: 'Klatka Schodowa',\n pt: 'Escada',\n es: 'Escalera',\n 'zh-cn': '楼梯',\n },\n icon: 'Stairway.svg',\n },\n {\n _id: 'equipment_room',\n name: {\n en: 'Equipment Room',\n ru: 'Оборудование Номера',\n de: 'Technikraum',\n fr: \"Salle D'Équipement\",\n it: 'Stanza Degli Attrezzi',\n nl: 'Technische Ruimte',\n pl: 'Wyposażenie Pokoi',\n pt: 'Sala De Equipamentos',\n es: 'Cuarto De Equipos',\n 'zh-cn': '机房',\n },\n icon: 'Equipment Room.svg',\n },\n {\n _id: 'terrace',\n name: {\n en: 'Terrace',\n ru: 'Терраса',\n de: 'Terrasse',\n fr: 'Terrasse',\n it: 'Terrazza',\n nl: 'Terras',\n pl: 'Taras',\n pt: 'Terraço',\n es: 'Terraza',\n 'zh-cn': '阳台',\n },\n icon: 'Terrace.svg',\n },\n {\n _id: 'toilet',\n name: {\n en: 'Toilet',\n ru: 'Туалет',\n de: 'Toilette',\n fr: 'Toilette',\n it: 'Gabinetto',\n nl: 'Toilet',\n pl: 'Toaleta',\n pt: 'Banheiro',\n es: 'Inodoro',\n 'zh-cn': '洗手间',\n },\n icon: 'Toilet.svg',\n },\n {\n _id: 'stairwell',\n name: {\n en: 'Stairwell',\n ru: 'Лестничная клетка',\n de: 'Treppenhaus',\n fr: \"Cage D'Escalier\",\n it: 'Tromba Delle Scale',\n nl: 'Trappenhuis',\n pl: 'Klatka Schodowa',\n pt: 'Caixa De Escada',\n es: 'Hueco De Escalera',\n 'zh-cn': '楼梯间',\n },\n icon: 'Stairwell.svg',\n },\n {\n _id: 'locker_room',\n name: {\n en: 'Locker Room',\n ru: 'Камера Хранения',\n de: 'Umkleideraum',\n fr: 'Vestiaire',\n it: 'Spogliatoio',\n nl: 'Kleedkamer',\n pl: 'Szatnia',\n pt: 'Vestiário',\n es: 'Vestuario',\n 'zh-cn': '更衣室',\n },\n icon: 'Locker Room.svg',\n },\n {\n _id: 'basement',\n name: {\n en: 'Basement',\n ru: 'Подвал',\n de: 'Untergeschoss',\n fr: 'Sous-Sol',\n it: 'Seminterrato',\n nl: 'Kelder',\n pl: 'Piwnica',\n pt: 'Porão',\n es: 'Sótano',\n 'zh-cn': '地下室',\n },\n icon: 'Basement.svg',\n },\n {\n _id: 'front_yard',\n name: {\n en: 'Front Yard',\n ru: 'Передний Двор',\n de: 'Vorgarten',\n fr: 'Front Yard',\n it: 'Cortile',\n nl: 'Voortuin',\n pl: 'Podwórko',\n pt: 'Jardim Da Frente',\n es: 'Patio Delantero',\n 'zh-cn': '前院',\n },\n icon: 'Front Yard.svg',\n },\n {\n _id: 'anteroom',\n name: {\n en: 'Anteroom',\n ru: 'Передняя',\n de: 'Vorraum',\n fr: 'Antichambre',\n it: 'Anticamera',\n nl: 'Voorkamer',\n pl: 'Przedpokój',\n pt: 'Ante-Sala',\n es: 'Antesala',\n 'zh-cn': '接待室',\n },\n icon: 'Anteroom.svg',\n },\n {\n _id: 'washroom',\n name: {\n en: 'Washroom',\n ru: 'Уборная',\n de: 'Waschraum',\n fr: 'Toilettes',\n it: 'Bagno',\n nl: 'Waskamer',\n pl: 'Umywalnia',\n pt: 'Banheiro',\n es: 'Baño',\n 'zh-cn': '卫生间',\n },\n icon: 'Washroom.svg',\n },\n {\n _id: 'wc',\n name: {\n en: 'Wc',\n ru: 'Туалет',\n de: 'WC',\n fr: 'Toilettes',\n it: 'Bagno',\n nl: 'Wc',\n pl: 'Toaleta',\n pt: 'Banheiro',\n es: 'Wc',\n 'zh-cn': '厕所',\n },\n icon: 'Wc.svg',\n },\n {\n _id: 'workshop',\n name: {\n en: 'Workshop',\n ru: 'Мастерская',\n de: 'Werkstatt',\n fr: 'Atelier',\n it: 'Laboratorio',\n nl: 'Werkplaats',\n pl: 'Warsztat',\n pt: 'Oficina',\n es: 'Taller',\n 'zh-cn': '作坊',\n },\n icon: 'Workshop.svg',\n },\n {\n _id: 'windscreen',\n name: {\n en: 'Windscreen',\n ru: 'Ветровое Стекло',\n de: 'Windfang',\n fr: 'Pare-Brise',\n it: 'Parabrezza',\n nl: 'Voorruit',\n pl: 'Szyba Przednia',\n pt: 'Pára-Brisas',\n es: 'Parabrisas',\n 'zh-cn': '风档',\n },\n icon: 'Windscreen.svg',\n },\n {\n _id: 'living_area',\n name: {\n en: 'Living Area',\n ru: 'Жилая Площадь',\n de: 'Wohnbereich',\n fr: 'Salon',\n it: 'Zona Giorno',\n nl: 'Living Area',\n pl: 'Powierzchnia Mieszkalna',\n pt: 'Sala-De-Estar',\n es: 'Sala De Estar',\n 'zh-cn': '生活区域',\n },\n icon: 'Living Area.svg',\n },\n {\n _id: 'living_room',\n name: {\n en: 'Living Room',\n ru: 'Гостинная',\n de: 'Wohnzimmer',\n fr: 'Le Salon',\n it: 'Soggiorno',\n nl: 'Woonkamer',\n pl: 'Salon',\n pt: 'Sala De Estar',\n es: 'Sala De Estar',\n 'zh-cn': '客厅',\n },\n icon: 'Living Room.svg',\n },\n {\n _id: 'living_room',\n name: {\n en: 'Living Room',\n ru: 'Гостинная',\n de: 'Wohnzimmer',\n fr: 'Le Salon',\n it: 'Soggiorno',\n nl: 'Woonkamer',\n pl: 'Salon',\n pt: 'Sala De Estar',\n es: 'Sala De Estar',\n 'zh-cn': '客厅',\n },\n icon: 'Living Room.svg',\n },\n];\n\ninterface IconSelectorProps {\n icons?: {\n icon?: string;\n src?: string;\n href?: string;\n name?: ioBroker.StringOrTranslated;\n _id?: string;\n }[];\n onlyRooms?: boolean;\n onlyDevices?: boolean;\n onSelect?: (icon: string) => void; // one of onSelect or onChange are required\n onChange?: (icon: string) => void;\n t: Translate;\n lang: ioBroker.Languages;\n}\n\ninterface IconSelectorState {\n opened: boolean;\n names: string[];\n filter: string;\n icons: string[] | null;\n loading: boolean;\n isAnyName: boolean;\n}\n\nexport class IconSelector extends Component {\n constructor(props: IconSelectorProps) {\n super(props);\n\n this.state = {\n opened: false,\n names: [],\n filter: '',\n icons: null,\n loading: false,\n isAnyName: false,\n };\n }\n\n loadAllIcons(): void {\n if (this.state.loading || this.state.icons) {\n return;\n }\n this.setState({ loading: true }, () => {\n const icons: string[] = [];\n const names: string[] = [];\n\n if (!this.props.icons) {\n // load rooms\n let templates =\n this.props.onlyRooms || (!this.props.onlyRooms && !this.props.onlyDevices) ? rooms : null;\n\n if (templates) {\n templates.forEach(item => {\n if (item.name && typeof item.name === 'object') {\n item.name = item.name[this.props.lang] || item.name.en || item._id;\n }\n item.name = item.name || item._id;\n });\n\n templates = templates.filter(\n (item, i) =>\n !templates?.find(\n (_item, _i) => i !== _i && _item.icon === item.icon && _item.name === item.name,\n ),\n );\n\n templates.forEach((template, i) => {\n names[i] = template.name as string;\n icons[i] =\n `data:image/svg+xml;base64,${(roomsIcons as Record)[template.icon.replace(/\\.svg$/, '')]}`;\n });\n }\n\n // load devices\n templates =\n this.props.onlyDevices || (!this.props.onlyRooms && !this.props.onlyDevices) ? devices : null;\n if (templates) {\n const offset = icons.length;\n templates &&\n templates.forEach(item => {\n if (item.name && typeof item.name === 'object') {\n item.name = item.name[this.props.lang] || item.name.en || item._id;\n }\n item.name = item.name || item._id;\n });\n\n templates = templates.filter(\n (item, i) =>\n !templates?.find(\n (_item, _i) => i !== _i && _item.icon === item.icon && _item.name === item.name,\n ),\n );\n\n templates.forEach((template, i) => {\n names[i + offset] = template.name as string;\n icons[i + offset] =\n `data:image/svg+xml;base64,${(devicesIcons as Record)[template.icon.replace(/\\.svg$/, '')]}`;\n });\n }\n this.setState({\n icons,\n loading: false,\n names,\n isAnyName: !!names.find(i => i),\n });\n } else {\n const promises = this.props.icons.map((item, i) => {\n let href: string;\n if (typeof item === 'object') {\n href = item.icon || item.src || item.href || '';\n names[i] =\n typeof item.name === 'object'\n ? item.name[this.props.lang] || item.name.en || item._id || ''\n : item.name || '';\n if (!names[i]) {\n const parts = href.split('.');\n parts.pop();\n names[i] = parts[parts.length - 1];\n }\n } else {\n href = item;\n }\n\n if (href) {\n if (href.startsWith('data:')) {\n icons[i] = href;\n return Promise.resolve();\n }\n return Utils.getSvg(href).then(icon => (icons[i] = icon));\n }\n\n return Promise.resolve();\n });\n\n void Promise.all(promises)\n .catch((e: Error) => console.error(e))\n .then(() =>\n this.setState({\n icons,\n loading: false,\n names,\n isAnyName: !!names.find(i => i),\n }),\n );\n }\n });\n }\n\n render(): React.JSX.Element {\n if (this.state.loading) {\n return ;\n }\n\n return (\n <>\n this.setState({ opened: true }, () => this.loadAllIcons())}\n style={{ minWidth: 40, marginRight: 8 }}\n >\n ...\n \n {this.state.opened ? (\n this.setState({ opened: false })}\n open={!0}\n >\n \n {this.props.t('ra_Select predefined icon')}\n {this.state.isAnyName ? (\n this.setState({ filter: e.target.value.toLowerCase() })}\n placeholder={this.props.t('ra_Filter')}\n slotProps={{\n input: {\n endAdornment: this.state.filter ? (\n this.setState({ filter: '' })}\n >\n \n \n ) : undefined,\n },\n }}\n />\n ) : null}\n \n \n
    \n {this.state.icons &&\n this.state.icons.map((icon, i) => {\n if (\n !this.state.filter ||\n (this.state.names[i] &&\n this.state.names[i].toLowerCase().includes(this.state.filter))\n ) {\n return (\n \n \n this.setState({ opened: false }, () => {\n const onApply: ((_icon: string) => void) | undefined =\n this.props.onSelect || this.props.onChange;\n if (onApply) {\n onApply(icon);\n }\n })\n }\n size=\"large\"\n >\n \n \n \n );\n }\n\n return null;\n })}\n
    \n
    \n \n this.setState({ opened: false })}\n startIcon={}\n >\n {this.props.t('ra_Close')}\n \n \n \n ) : null}\n \n );\n }\n}\n", "import React, { type JSX } from 'react';\nimport { Component } from 'react';\n\nimport { IconNoIcon } from '../icons/IconNoIcon';\n\nfunction getElementFromSource(src: string): HTMLElement | null {\n const svgContainer = document.createElement('div');\n svgContainer.innerHTML = src;\n const svg: HTMLElement = svgContainer.firstElementChild as HTMLElement;\n if (svg?.remove) {\n svg.remove();\n } else if (svg) {\n svgContainer.removeChild(svg);\n }\n\n svgContainer.remove();\n return svg;\n}\n\nfunction serializeAttrs(map?: NamedNodeMap): Record {\n const ret: Record = {};\n if (!map) {\n return ret;\n }\n for (let prop, i = 0; i < map.length; i++) {\n const key = map[i].name;\n if (key === 'class') {\n prop = 'className';\n } else if (!key.startsWith('data-')) {\n prop = key.replace(/[-|:]([a-z])/g, g => g[1].toUpperCase());\n } else {\n prop = key;\n }\n\n ret[prop] = map[i].value;\n }\n return ret;\n}\n\ninterface ImageProps {\n /* The color */\n color?: string;\n /* The source of the image */\n src?: string;\n /* The image prefix (default: './files/') */\n imagePrefix?: string;\n /* The CSS class name */\n className?: string;\n /* Show image errors (or just show no image)? */\n showError?: boolean;\n}\n\ninterface ImageState {\n svg?: boolean;\n created?: boolean;\n color?: string;\n src?: string;\n imgError?: boolean;\n showError?: boolean;\n}\n\n/**\n * A component for displaying an image.\n */\nexport class Image extends Component {\n private svg: JSX.Element | null;\n\n static REMOTE_SERVER: boolean = window.location.hostname.includes('iobroker.in');\n\n static REMOTE_PREFIX: string = window.location.pathname.substring(0, window.location.pathname.lastIndexOf('/') + 1);\n\n constructor(props: ImageProps) {\n super(props);\n this.state = {\n svg: !!this.props.src?.startsWith('data:'),\n created: true,\n color: this.props.color || '',\n src: this.props.src || '',\n imgError: false,\n showError: !!this.props.showError,\n };\n\n this.svg = this.state.svg && this.state.src ? this.getSvgFromData(this.state.src) : null;\n }\n\n static getDerivedStateFromProps(props: ImageProps, state: ImageState): Partial | null {\n const newState: ImageState = {};\n let changed = false;\n\n if (props && state && props.src !== state.src) {\n newState.src = props.src;\n newState.svg = props.src?.startsWith('data:');\n newState.created = false;\n changed = true;\n }\n\n if (props && state && props.color !== state.color) {\n newState.color = props.color;\n newState.created = false;\n changed = true;\n }\n\n if (props && state && props.showError !== state.showError) {\n newState.showError = props.showError;\n changed = true;\n }\n\n return changed ? newState : null;\n }\n\n getSvgFromData(src: string): JSX.Element | null {\n const len = 'data:image/svg+xml;base64,';\n if (!src.startsWith(len)) {\n return null;\n }\n src = src.substring(len.length);\n try {\n src = atob(src);\n const svg: HTMLElement = getElementFromSource(src);\n const inner = svg.innerHTML;\n const svgProps = serializeAttrs(svg.attributes);\n\n svg.remove();\n\n return (\n \n );\n } catch {\n // ignore\n }\n return null;\n }\n\n render(): JSX.Element | null {\n if (this.state.svg) {\n if (!this.state.created) {\n setTimeout(() => {\n this.svg = this.state.src ? this.getSvgFromData(this.state.src) : null;\n this.setState({ created: true });\n }, 50);\n }\n\n return this.svg;\n }\n if (this.state.src) {\n if (this.state.imgError || !this.state.src) {\n return ;\n }\n if (\n Image.REMOTE_SERVER &&\n !this.state.src.startsWith('http://') &&\n !this.state.src.startsWith('https://')\n ) {\n let src = (this.props.imagePrefix || '') + this.state.src;\n if (src.startsWith('./')) {\n src = Image.REMOTE_PREFIX + src.substring(2);\n } else if (!src.startsWith('/')) {\n src = Image.REMOTE_PREFIX + src;\n }\n return (\n \n this.props.showError ? this.setState({ imgError: true }) : this.setState({ src: '' })\n }\n />\n );\n }\n\n return (\n \n this.props.showError ? this.setState({ imgError: true }) : this.setState({ src: '' })\n }\n />\n );\n }\n\n return null;\n }\n}\n", "import React from 'react';\nimport { Fab } from '@mui/material';\n\nimport {\n Help as IconHelp,\n VerticalAlignTop as IconUpload,\n VerticalAlignBottom as IconDownload,\n} from '@mui/icons-material';\n\nimport { I18n } from '../i18n';\nimport { Icon } from './Icon';\n\ninterface LogoProps {\n /* Adapter common configuration from io-package.json */\n common: any;\n /* Adapter native data from io-package.json */\n native: any;\n /* Adapter instance number. */\n instance: number;\n /* on Load handler */\n onLoad?: (contents: any) => void;\n /* on Error handler */\n onError?: (error: string) => void;\n className?: string;\n style?: Record;\n}\n\nexport class Logo extends React.Component {\n static generateFile(fileName: string, obj: any): void {\n const el = window.document.createElement('a');\n el.setAttribute(\n 'href',\n `data:application/json;charset=utf-8,${encodeURIComponent(JSON.stringify(obj, null, 2))}`,\n );\n el.setAttribute('download', fileName);\n\n el.style.display = 'none';\n window.document.body.appendChild(el);\n\n el.click();\n\n window.document.body.removeChild(el);\n }\n\n handleFileSelect = (evt: Event): void => {\n const target = evt.target as HTMLInputElement;\n const files = target?.files;\n if (!files || !files.length) {\n console.error('No files found. Please report to developers');\n return;\n }\n const f = files[0];\n\n if (f) {\n const reader = new window.FileReader();\n reader.onload = () => {\n const contents: string = reader.result?.toString() || '';\n try {\n const json = JSON.parse(contents);\n if (json.native && json.common) {\n if (json.common.name !== this.props.common.name) {\n this.props.onError && this.props.onError(I18n.t('ra_otherConfig', json.common.name));\n } else {\n this.props.onLoad && this.props.onLoad(json.native);\n }\n } else {\n this.props.onError && this.props.onError(I18n.t('ra_invalidConfig'));\n }\n } catch (err: any) {\n this.props.onError && this.props.onError(err?.toString());\n }\n };\n reader.readAsText(f);\n } else {\n alert('Failed to open JSON File');\n }\n };\n\n download(): void {\n const result = {\n _id: `system.adapter.${this.props.common.name}.${this.props.instance}`,\n common: JSON.parse(JSON.stringify(this.props.common)),\n native: this.props.native,\n };\n // remove unimportant information\n if (result.common.news) {\n delete result.common.news;\n }\n if (result.common.titleLang) {\n delete result.common.titleLang;\n }\n if (result.common.desc) {\n delete result.common.desc;\n }\n\n // window.open('data:application/iobroker; content-disposition=attachment; filename=' + result._id + '.json,' + JSON.stringify(result, null, 2));\n Logo.generateFile(`${result._id}.json`, result);\n }\n\n upload(): void {\n const input = window.document.createElement('input');\n input.setAttribute('type', 'file');\n input.setAttribute('id', 'files');\n input.setAttribute('opacity', '0');\n input.addEventListener('change', this.handleFileSelect, false);\n input.click();\n }\n\n render(): React.JSX.Element {\n return (\n \n {this.props.common.icon ? (\n \n ) : null}\n {this.props.common.readme ? (\n {\n const win = window.open(this.props.common.readme, '_blank');\n win?.focus();\n }}\n >\n \n \n ) : null}\n this.upload()}\n >\n \n \n this.download()}\n >\n \n \n \n );\n }\n}\n", "/**\n * Copyright 2020-2024, Denis Haev \n *\n * MIT License\n *\n */\nimport React, { Component, createRef, type JSX } from 'react';\nimport SVG from 'react-inlinesvg';\n\nimport {\n Badge,\n Box,\n Button,\n Checkbox,\n CircularProgress,\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n Fab,\n FormControl,\n FormControlLabel,\n Grid2,\n IconButton,\n Input,\n List,\n ListItem,\n ListItemButton,\n ListItemIcon,\n ListItemText,\n Menu,\n MenuItem,\n Paper,\n Select,\n Snackbar,\n Switch,\n TextField,\n type Theme,\n Tooltip,\n} from '@mui/material';\n\n// Icons\nimport {\n Add as AddIcon,\n ArrowRight as ArrowRightIcon,\n BedroomParent,\n BorderColor,\n Build as BuildIcon,\n CalendarToday as IconSchedule,\n Check as IconCheck,\n Close as IconClose,\n Code as IconScript,\n Construction,\n CreateNewFolder as IconFolder,\n Delete as IconDelete,\n Description as IconMeta,\n Edit as IconEdit,\n Error as IconError,\n FindInPage,\n FormatItalic as IconValueEdit,\n Info as IconInfo,\n Link as IconLink,\n ListAlt as IconEnum,\n LooksOne as LooksOneIcon,\n PersonOutlined as IconUser,\n Publish as PublishIcon,\n Refresh as RefreshIcon,\n Router as IconHost,\n Settings as IconConfig,\n SettingsApplications as IconSystem,\n DataObject as IconData,\n ShowChart as IconChart,\n SupervisedUserCircle as IconGroup,\n TextFields as TextFieldsIcon,\n ViewColumn as IconColumns,\n Wifi as IconConnection,\n WifiOff as IconDisconnected,\n} from '@mui/icons-material';\n\nimport { IconExpert } from '../icons/IconExpert';\nimport { IconAdapter } from '../icons/IconAdapter';\nimport { IconChannel } from '../icons/IconChannel';\nimport { IconCopy } from '../icons/IconCopy';\nimport { IconDevice } from '../icons/IconDevice';\nimport { IconDocument } from '../icons/IconDocument';\nimport { IconDocumentReadOnly } from '../icons/IconDocumentReadOnly';\nimport { IconInstance } from '../icons/IconInstance';\nimport { IconState } from '../icons/IconState';\nimport { IconClosed } from '../icons/IconClosed';\nimport { IconOpen } from '../icons/IconOpen';\nimport { IconClearFilter } from '../icons/IconClearFilter';\n\n// own\nimport type { ThemeType, ThemeName, IobTheme, Translate } from '../types';\nimport type { Router } from './Router';\nimport { Connection } from '../Connection';\nimport { Icon } from './Icon';\nimport { withWidth } from './withWidth';\nimport { Utils } from './Utils'; // @iobroker/adapter-react-v5/Components/Utils\nimport { TabContainer } from './TabContainer';\nimport { TabContent } from './TabContent';\nimport { TabHeader } from './TabHeader';\n\ndeclare global {\n interface Window {\n sparkline: {\n sparkline: (el: HTMLDivElement, data: number[]) => JSX.Element;\n };\n }\n}\ndeclare module '@mui/material/Button' {\n interface ButtonPropsColorOverrides {\n grey: true;\n }\n}\n\nconst ICON_SIZE = 24;\nconst ROW_HEIGHT = 32;\nconst ITEM_LEVEL = 16;\nconst SMALL_BUTTON_SIZE = 20;\nconst COLOR_NAME_USERDATA = (themeType: ThemeType): string => (themeType === 'dark' ? '#62ff25' : '#37c400');\nconst COLOR_NAME_ALIAS = (themeType: ThemeType): string => (themeType === 'dark' ? '#ee56ff' : '#a204b4');\nconst COLOR_NAME_JAVASCRIPT = (themeType: ThemeType): string => (themeType === 'dark' ? '#fff46e' : '#b89101');\nconst COLOR_NAME_SYSTEM = (themeType: ThemeType): string => (themeType === 'dark' ? '#ff6d69' : '#ff6d69');\nconst COLOR_NAME_SYSTEM_ADAPTER = (themeType: ThemeType): string => (themeType === 'dark' ? '#5773ff' : '#5773ff');\nconst COLOR_NAME_ERROR_DARK = '#ff413c';\nconst COLOR_NAME_ERROR_LIGHT = '#86211f';\nconst COLOR_NAME_CONNECTED_DARK = '#57ff45';\nconst COLOR_NAME_CONNECTED_LIGHT = '#098c04';\nconst COLOR_NAME_DISCONNECTED_DARK = '#f3ad11';\nconst COLOR_NAME_DISCONNECTED_LIGHT = '#6c5008';\n\ntype ObjectEventType = 'new' | 'changed' | 'deleted';\n\ninterface ObjectEvent {\n id: string;\n obj?: ioBroker.Object;\n type: ObjectEventType;\n oldObj?: ioBroker.Object;\n}\n\ninterface ObjectsWorker {\n getObjects(update?: boolean): Promise>;\n registerHandler(cb: (events: ObjectEvent[]) => void): void;\n unregisterHandler(cb: (events: ObjectEvent[]) => void, doNotUnsubscribe?: boolean): void;\n}\n\ninterface CustomAdminColumnStored {\n path: string;\n name: string;\n objTypes?: ioBroker.ObjectType[];\n width?: number;\n edit?: boolean;\n type?: ioBroker.CommonType;\n}\n\ninterface ContextMenuItem {\n /** hotkey */\n key?: string;\n visibility: boolean;\n icon: JSX.Element | string;\n label: string;\n onClick?: () => void;\n listItemIconStyle?: React.CSSProperties;\n style?: React.CSSProperties;\n subMenu?: {\n label: string;\n visibility: boolean;\n icon: JSX.Element;\n onClick: () => void;\n iconStyle?: React.CSSProperties;\n style?: React.CSSProperties;\n listItemIconStyle?: React.CSSProperties;\n }[];\n iconStyle?: React.CSSProperties;\n}\n\nexport interface TreeItemData {\n id: string;\n name: string;\n obj?: ioBroker.Object;\n /** Object ID in lower case for filtering */\n fID?: string;\n /** translated common.name in lower case for filtering */\n fName?: string;\n /** Link to parent item */\n parent?: TreeItem;\n level?: number;\n icon?: string | JSX.Element | null;\n /** If the item existing object or generated folder */\n generated?: boolean;\n title?: string;\n /** if the item has \"write\" button (value=true, ack=false) */\n button?: boolean;\n /** If the item has read and write and is boolean */\n switch?: boolean;\n /** if the item has custom settings in `common.custom` */\n hasCustoms?: boolean;\n /** If this item is visible */\n visible?: boolean;\n /** Is any of the children visible (not only directly children) */\n hasVisibleChildren?: boolean;\n /** Is any of the parents visible (not only directly parent) */\n hasVisibleParent?: boolean;\n /** Combination of `visible || hasVisibleChildren` */\n sumVisibility?: boolean;\n /** translated names of enumerations (functions) where this object is the member (or the parent), divided by comma */\n funcs?: string;\n /** is if the enums are from parent */\n pef?: boolean;\n /** translated names of enumerations (rooms) where this object is the member (or the parent), divided by comma */\n rooms?: string;\n /** is if the enums are from parent */\n per?: boolean;\n // language in what the rooms and functions where translated\n lang?: ioBroker.Languages;\n state?: {\n valTextRx?: JSX.Element[] | null;\n style?: React.CSSProperties;\n };\n aclTooltip?: null | JSX.Element;\n}\n\ninterface InputSelectItem {\n value: string;\n name: string;\n icon?: null | JSX.Element;\n}\n\ntype ioBrokerObjectForExport = ioBroker.Object & Partial;\n\nexport interface ObjectBrowserCustomFilter {\n type?: ioBroker.ObjectType | ioBroker.ObjectType[];\n common?: {\n type?: ioBroker.CommonType | ioBroker.CommonType[];\n role?: string | string[];\n // If \"_\" - no custom set\n // If \"_dataSources\" - only data sources (history, sql, influxdb, ...)\n // Else \"telegram.\" or something like this\n // `true` - If common.custom not empty\n // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\n custom?: '_' | '_dataSources' | true | string | string[];\n };\n}\n\ninterface FormatValueOptions {\n state: ioBroker.State;\n obj: ioBroker.StateObject;\n texts: Record;\n dateFormat: string;\n isFloatComma: boolean;\n full?: boolean;\n}\n\nexport interface TreeItem {\n id?: string;\n data: TreeItemData;\n children?: TreeItem[];\n}\n\ninterface TreeInfo {\n funcEnums: string[];\n roomEnums: string[];\n roles: string[];\n ids: string[];\n types: string[];\n objects: Record;\n customs: string[];\n enums: string[];\n hasSomeCustoms: boolean;\n // List of all aliases that shows to this state\n aliasesMap: { [stateId: string]: string[] };\n}\n\ninterface GetValueStyleOptions {\n state: ioBroker.State;\n isExpertMode?: boolean;\n isButton?: boolean;\n}\n\nconst styles: Record = {\n toolbar: {\n minHeight: 38, // Theme.toolbar.height,\n // boxShadow: '0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12)'\n },\n toolbarButtons: {\n padding: 4,\n marginLeft: 4,\n },\n switchColumnAuto: {\n marginLeft: 16,\n },\n dialogColumns: {\n transition: 'opacity 1s',\n },\n dialogColumnsLabel: {\n fontSize: 12,\n paddingTop: 8,\n },\n columnCustom: {\n width: '100%',\n display: 'inline-block',\n },\n columnCustomEditable: {\n cursor: 'text',\n },\n columnCustom_center: {\n textAlign: 'center',\n },\n columnCustom_left: {\n textAlign: 'left',\n },\n columnCustom_right: {\n textAlign: 'right',\n },\n width100: {\n width: '100%',\n },\n transparent_10: {\n opacity: 0.1,\n },\n transparent_20: {\n opacity: 0.2,\n },\n transparent_30: {\n opacity: 0.3,\n },\n transparent_40: {\n opacity: 0.4,\n },\n transparent_50: {\n opacity: 0.5,\n },\n transparent_60: {\n opacity: 0.6,\n },\n transparent_70: {\n opacity: 0.7,\n },\n transparent_80: {\n opacity: 0.8,\n },\n transparent_90: {\n opacity: 0.9,\n },\n transparent_100: {\n opacity: 1,\n },\n headerRow: {\n paddingLeft: 8,\n height: 38,\n whiteSpace: 'nowrap',\n userSelect: 'none',\n },\n buttonClearFilter: {\n position: 'relative',\n float: 'right',\n padding: 0,\n },\n buttonClearFilterIcon: {\n zIndex: 2,\n position: 'absolute',\n top: 0,\n left: 0,\n color: '#FF0000',\n opacity: 0.7,\n },\n\n tableDiv: {\n paddingTop: 0,\n paddingLeft: 0,\n width: 'calc(100% - 8px)',\n height: 'calc(100% - 38px)',\n overflow: 'auto',\n },\n tableRow: (theme: IobTheme): any => ({\n pl: 1,\n height: ROW_HEIGHT,\n lineHeight: `${ROW_HEIGHT}px`,\n verticalAlign: 'top',\n userSelect: 'none',\n position: 'relative',\n width: '100%',\n '&:hover': {\n background: `${\n theme.palette.mode === 'dark' ? theme.palette.primary.dark : theme.palette.primary.light\n } !important`,\n color: Utils.invertColor(theme.palette.primary.main, true),\n },\n whiteSpace: 'nowrap',\n flexWrap: 'nowrap',\n }),\n tableRowLines: (theme: IobTheme): any => ({\n borderBottom: `1px solid ${theme.palette.mode === 'dark' ? '#8888882e' : '#8888882e'}`,\n '& > div': {\n borderRight: `1px solid ${theme.palette.mode === 'dark' ? '#8888882e' : '#8888882e'}`,\n },\n }),\n tableRowNoDragging: {\n cursor: 'pointer',\n },\n tableRowAlias: {\n height: ROW_HEIGHT + 10,\n },\n tableRowAliasReadWrite: {\n height: ROW_HEIGHT + 22,\n },\n tableRowFocused: (theme: IobTheme): any => ({\n '&:after': {\n content: '\"\"',\n position: 'absolute',\n top: 1,\n left: 1,\n right: 1,\n bottom: 1,\n border: theme.palette.mode ? '1px dotted #000' : '1px dotted #FFF',\n },\n }),\n checkBox: {\n padding: 0,\n },\n cellId: {\n position: 'relative',\n fontSize: '1rem',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n // verticalAlign: 'top',\n // position: 'relative',\n '& .copyButton': {\n display: 'none',\n },\n '&:hover .copyButton': {\n display: 'block',\n },\n '& .iconOwn': {\n display: 'block',\n width: ROW_HEIGHT - 4,\n height: ROW_HEIGHT - 4,\n mt: '2px',\n float: 'right',\n },\n '&:hover .iconOwn': {\n display: 'none',\n },\n '& *': {\n width: 'initial',\n },\n },\n cellIdSpan: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n // display: 'inline-block',\n // verticalAlign: 'top',\n },\n // This style is used for simple div. Do not migrate it to \"secondary.main\"\n cellIdIconFolder: (theme: IobTheme): React.CSSProperties => ({\n marginRight: 8,\n width: ROW_HEIGHT - 4,\n height: ROW_HEIGHT - 4,\n cursor: 'pointer',\n color: theme.palette.secondary.main || '#fbff7d',\n verticalAlign: 'top',\n }),\n cellIdIconDocument: {\n verticalAlign: 'middle',\n marginLeft: (ROW_HEIGHT - SMALL_BUTTON_SIZE) / 2,\n marginRight: 8,\n width: SMALL_BUTTON_SIZE,\n height: SMALL_BUTTON_SIZE,\n },\n cellIdIconOwn: {},\n cellIdTooltip: {\n fontSize: 14,\n },\n cellIdTooltipLink: {\n color: '#7ec2fd',\n '&:hover': {\n color: '#7ec2fd',\n },\n '&:visited': {\n color: '#7ec2fd',\n },\n },\n cellCopyButton: {\n width: SMALL_BUTTON_SIZE,\n height: SMALL_BUTTON_SIZE,\n top: (ROW_HEIGHT - SMALL_BUTTON_SIZE) / 2,\n opacity: 0.8,\n position: 'absolute',\n right: 3,\n },\n cellCopyButtonInDetails: {\n width: SMALL_BUTTON_SIZE,\n height: SMALL_BUTTON_SIZE,\n top: (ROW_HEIGHT - SMALL_BUTTON_SIZE) / 2,\n opacity: 0.8,\n },\n cellEditButton: {\n width: SMALL_BUTTON_SIZE,\n height: SMALL_BUTTON_SIZE,\n color: 'white',\n position: 'absolute',\n top: (ROW_HEIGHT - SMALL_BUTTON_SIZE) / 2,\n right: SMALL_BUTTON_SIZE + 3,\n opacity: 0.7,\n '&:hover': {\n opacity: 1,\n },\n },\n cellName: {\n display: 'inline-block',\n verticalAlign: 'top',\n fontSize: 14,\n ml: '5px',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n position: 'relative',\n '& .copyButton': {\n display: 'none',\n },\n '&:hover .copyButton': {\n display: 'block',\n },\n },\n cellNameWithDesc: {\n lineHeight: 'normal',\n },\n cellNameDivDiv: {},\n cellDescription: {\n fontSize: 10,\n opacity: 0.5,\n fontStyle: 'italic',\n },\n cellIdAlias: (theme: IobTheme): any => ({\n fontStyle: 'italic',\n fontSize: 12,\n opacity: 0.7,\n '&:hover': {\n color: theme.palette.mode === 'dark' ? '#009900' : '#007700',\n },\n }),\n cellIdAliasReadWriteDiv: {\n height: 24,\n marginTop: -5,\n },\n cellIdAliasAlone: {\n lineHeight: 0,\n },\n cellIdAliasReadWrite: {\n lineHeight: '12px',\n },\n cellType: {\n display: 'inline-block',\n verticalAlign: 'top',\n '& .itemIcon': {\n verticalAlign: 'middle',\n width: ICON_SIZE,\n height: ICON_SIZE,\n display: 'inline-block',\n },\n '& .itemIconFolder': {\n marginLeft: 3,\n },\n },\n cellRole: {\n display: 'inline-block',\n verticalAlign: 'top',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n },\n cellRoom: {\n display: 'inline-block',\n verticalAlign: 'top',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n },\n cellEnumParent: {\n opacity: 0.4,\n },\n cellFunc: {\n display: 'inline-block',\n verticalAlign: 'top',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n },\n cellValue: {\n display: 'inline-block',\n verticalAlign: 'top',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n },\n cellValueButton: {\n marginTop: 5,\n },\n cellValueButtonFalse: {\n opacity: 0.3,\n },\n cellAdapter: {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n cellValueTooltip: {\n fontSize: 12,\n },\n cellValueText: {\n width: '100%',\n height: ROW_HEIGHT,\n fontSize: 16,\n display: 'flex',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n position: 'relative',\n verticalAlign: 'top',\n '& .copyButton': {\n display: 'none',\n },\n '&:hover .copyButton': {\n display: 'block',\n },\n },\n cellValueFile: {\n color: '#2837b9',\n },\n cellValueTooltipTitle: {\n fontStyle: 'italic',\n width: 100,\n display: 'inline-block',\n },\n cellValueTooltipValue: {\n width: 120,\n display: 'inline-block',\n // overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n },\n cellValueTooltipImage: {\n width: 100,\n height: 'auto',\n },\n cellValueTooltipBoth: {\n width: 220,\n display: 'inline-block',\n whiteSpace: 'nowrap',\n },\n cellValueTooltipBox: {\n width: 250,\n overflow: 'hidden',\n pointerEvents: 'none',\n },\n tooltip: {\n pointerEvents: 'none',\n },\n cellValueTextUnit: {\n marginLeft: 4,\n opacity: 0.8,\n display: 'inline-block',\n },\n cellValueTextState: {\n opacity: 0.7,\n },\n cellValueTooltipCopy: {\n position: 'absolute',\n bottom: 3,\n right: 3,\n },\n cellValueTooltipEdit: {\n position: 'absolute',\n bottom: 3,\n right: 15,\n },\n cellButtons: {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n cellButtonsButton: {\n display: 'inline-block',\n opacity: 0.5,\n width: SMALL_BUTTON_SIZE + 4,\n height: SMALL_BUTTON_SIZE + 4,\n '&:hover': {\n opacity: 1,\n },\n p: 0,\n mt: '-2px',\n },\n cellButtonsEmptyButton: {\n fontSize: 12,\n },\n cellButtonMinWidth: {\n minWidth: 40,\n },\n cellButtonsButtonAlone: {\n ml: `${SMALL_BUTTON_SIZE + 6}px`,\n pt: 0,\n mt: '-2px',\n },\n cellButtonsButtonWithCustoms: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? theme.palette.primary.main : theme.palette.secondary.main,\n }),\n cellButtonsButtonWithoutCustoms: {\n opacity: 0.2,\n },\n cellButtonsValueButton: (theme: IobTheme): any => ({\n position: 'absolute',\n top: SMALL_BUTTON_SIZE / 2 - 2,\n opacity: 0.7,\n width: SMALL_BUTTON_SIZE - 2,\n height: SMALL_BUTTON_SIZE - 2,\n color: theme.palette.action.active,\n '&:hover': {\n opacity: 1,\n },\n }),\n cellButtonsValueButtonCopy: {\n right: 8,\n cursor: 'pointer',\n },\n cellButtonsValueButtonEdit: {\n right: SMALL_BUTTON_SIZE / 2 + 16,\n },\n cellDetailsLine: {\n display: 'flex',\n alignItems: 'center',\n width: '100%',\n height: 32,\n fontSize: 16,\n },\n cellDetailsName: {\n fontWeight: 'bold',\n marginRight: 8,\n minWidth: 80,\n },\n\n filteredOut: {\n opacity: 0.5,\n },\n filteredParentOut: {\n opacity: 0.3,\n },\n filterInput: {\n mt: 0,\n mb: 0,\n },\n selectIcon: {\n width: 24,\n height: 24,\n marginRight: 4,\n },\n selectNone: {\n opacity: 0.5,\n },\n itemSelected: (theme: IobTheme): React.CSSProperties => ({\n background: `${theme.palette.primary.main} !important`,\n color: `${Utils.invertColor(theme.palette.primary.main, true)} !important`,\n }),\n header: {\n width: '100%',\n },\n headerCell: {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n headerCellValue: {\n paddingTop: 4,\n // paddingLeft: 5,\n fontSize: 16,\n },\n headerCellInput: {\n width: 'calc(100% - 5px)',\n height: ROW_HEIGHT,\n pt: 0,\n '& .itemIcon': {\n verticalAlign: 'middle',\n width: ICON_SIZE,\n height: ICON_SIZE,\n display: 'inline-block',\n },\n },\n headerCellSelectItem: {\n '& .itemIcon': {\n width: ICON_SIZE,\n height: ICON_SIZE,\n mr: '5px',\n display: 'inline-block',\n },\n },\n visibleButtons: {\n color: '#2196f3',\n opacity: 0.7,\n },\n grow: {\n flexGrow: 1,\n },\n enumIconDiv: {\n marginRight: 8,\n width: 32,\n height: 32,\n borderRadius: 8,\n background: '#FFFFFF',\n },\n enumIcon: {\n marginTop: 4,\n marginLeft: 4,\n width: 24,\n height: 24,\n },\n enumDialog: {\n overflow: 'hidden',\n },\n enumList: {\n minWidth: 250,\n height: 'calc(100% - 50px)',\n overflow: 'auto',\n },\n enumButton: {\n float: 'right',\n },\n enumCheckbox: {\n minWidth: 0,\n },\n buttonDiv: {\n display: 'flex',\n height: '100%',\n alignItems: 'center',\n },\n aclText: {\n fontSize: 13,\n marginTop: 6,\n },\n rightsObject: {\n color: '#55ff55',\n paddingLeft: 3,\n },\n rightsState: {\n color: '#86b6ff',\n paddingLeft: 3,\n },\n textCenter: {\n padding: 12,\n textAlign: 'center',\n },\n tooltipAccessControl: {\n display: 'flex',\n flexDirection: 'column',\n },\n fontSizeTitle: {\n '@media screen and (max-width: 465px)': {\n '& *': {\n fontSize: 12,\n },\n },\n },\n draggable: {\n cursor: 'copy',\n },\n nonDraggable: {\n cursor: 'no-drop',\n },\n selectClearButton: {\n position: 'absolute',\n top: 0,\n right: 0,\n borderRadius: 5,\n backgroundColor: 'background.default',\n },\n iconDeviceConnected: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? COLOR_NAME_CONNECTED_DARK : COLOR_NAME_CONNECTED_LIGHT,\n opacity: 0.8,\n position: 'absolute',\n top: 4,\n right: 32,\n width: 20,\n }),\n iconDeviceDisconnected: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? COLOR_NAME_DISCONNECTED_DARK : COLOR_NAME_DISCONNECTED_LIGHT,\n opacity: 0.8,\n position: 'absolute',\n top: 4,\n right: 32,\n width: 20,\n }),\n iconDeviceError: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? COLOR_NAME_ERROR_DARK : COLOR_NAME_ERROR_LIGHT,\n opacity: 0.8,\n position: 'absolute',\n top: 4,\n right: 50,\n width: 20,\n }),\n resizeHandle: {\n display: 'block',\n position: 'absolute',\n cursor: 'col-resize',\n width: 7,\n top: 2,\n bottom: 2,\n zIndex: 1,\n },\n resizeHandleRight: {\n right: 3,\n borderRight: '2px dotted #888',\n '&:hover': {\n borderColor: '#ccc',\n borderRightStyle: 'solid',\n },\n '&.active': {\n borderColor: '#517ea5',\n borderRightStyle: 'solid',\n },\n },\n invertedBackground: (theme: IobTheme): React.CSSProperties => ({\n backgroundColor: theme.palette.mode === 'dark' ? '#9a9a9a' : '#565656',\n padding: '0 3px',\n borderRadius: '2px 0 0 2px',\n }),\n invertedBackgroundFlex: (theme: IobTheme): React.CSSProperties => ({\n backgroundColor: theme.palette.mode === 'dark' ? '#9a9a9a' : '#565656',\n borderRadius: '0 2px 2px 0',\n }),\n contextMenuEdit: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#ffee48' : '#cbb801',\n }),\n contextMenuEditValue: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#5dff45' : '#1cd301',\n }),\n contextMenuView: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#FFF' : '#000',\n }),\n contextMenuCustom: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#42eaff' : '#01bbc2',\n }),\n contextMenuACL: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#e079ff' : '#500070',\n }),\n contextMenuRoom: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#ff9a33' : '#642a00',\n }),\n contextMenuRole: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#ffdb43' : '#562d00',\n }),\n contextMenuDelete: (theme: IobTheme): React.CSSProperties => ({\n color: theme.palette.mode === 'dark' ? '#ff4f4f' : '#cf0000',\n }),\n contextMenuKeys: {\n marginLeft: 8,\n opacity: 0.7,\n fontSize: 'smaller',\n },\n contextMenuWithSubMenu: {\n display: 'flex',\n },\n};\n\nfunction ButtonIcon(props?: { style?: React.CSSProperties }): JSX.Element {\n return (\n \n \n \n \n \n \n );\n}\n\n/**\n * Function that walks through all keys of an object or array and applies a function to each key.\n */\nfunction walkThroughArray(object: any[], iteratee: (result: any[], value: any, key: number) => void): any[] {\n const copiedObject: any[] = [];\n for (let index = 0; index < object.length; index++) {\n iteratee(copiedObject, object[index], index);\n }\n return copiedObject;\n}\n\n/**\n * Function that walks through all keys of an object or array and applies a function to each key.\n */\nfunction walkThroughObject(\n object: Record,\n iteratee: (result: Record, value: any, key: string) => void,\n): Record {\n const copiedObject: Record = {};\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n iteratee(copiedObject, object[key], key);\n }\n }\n return copiedObject;\n}\n\n/**\n * Function to reduce an object primarily by a given list of keys\n */\nfunction filterObject(\n /** The objects which should be filtered */\n obj: Record | any[],\n /** The keys which should be excluded */\n filterKeys: string[],\n /** Whether translations should be reduced to only the english value */\n excludeTranslations?: boolean,\n): Record | any[] {\n if (Array.isArray(obj)) {\n return walkThroughArray(obj, (result: any[], value: any, key: number) => {\n if (value === undefined || value === null) {\n return;\n }\n // if the key is an object, run it through the inner function - omitFromObject\n const isObject = typeof value === 'object';\n if (excludeTranslations && isObject) {\n if (typeof value.en === 'string' && typeof value.de === 'string') {\n result[key] = value.en;\n return;\n }\n }\n result[key] = isObject ? filterObject(value, filterKeys, excludeTranslations) : value;\n });\n }\n\n return walkThroughObject(obj, (result: Record, value: any, key: string) => {\n if (value === undefined || value === null) {\n return;\n }\n if (filterKeys.includes(key)) {\n return;\n }\n // if the key is an object, run it through the inner function - omitFromObject\n const isObject = typeof value === 'object';\n if (excludeTranslations && isObject) {\n if (typeof value.en === 'string' && typeof value.de === 'string') {\n result[key] = value.en;\n return;\n }\n }\n result[key] = isObject ? filterObject(value, filterKeys, excludeTranslations) : value;\n });\n}\n\n/**\n * Function to generate a json-file for an object and trigger download it\n */\nfunction generateFile(\n /** The desired filename */\n fileName: string,\n /** The objects which should be downloaded */\n obj: Record,\n /** Options to filter/reduce the output */\n options: {\n /** Whether the output should be beautified */\n beautify?: boolean;\n /** Whether \"system.repositories\" should be excluded */\n excludeSystemRepositories?: boolean;\n /** Whether translations should be reduced to only the english value */\n excludeTranslations?: boolean;\n },\n): void {\n const el = document.createElement('a');\n const filterKeys = [];\n if (options.excludeSystemRepositories) {\n filterKeys.push('system.repositories');\n }\n const filteredObject =\n filterKeys.length > 0 || options.excludeTranslations\n ? filterObject(obj, filterKeys, options.excludeTranslations)\n : obj;\n const data = options.beautify ? JSON.stringify(filteredObject, null, 2) : JSON.stringify(filteredObject);\n el.setAttribute('href', `data:application/json;charset=utf-8,${encodeURIComponent(data)}`);\n el.setAttribute('download', fileName);\n\n el.style.display = 'none';\n document.body.appendChild(el);\n\n el.click();\n\n document.body.removeChild(el);\n}\n\n// d=data, t=target, s=start, e=end, m=middle\nfunction binarySearch(list: string[], find: string, _start?: number, _end?: number): boolean {\n _start = _start || 0;\n if (_end === undefined) {\n _end = list.length - 1;\n if (!_end) {\n return list[0] === find;\n }\n }\n const middle = Math.floor((_start + _end) / 2);\n if (find === list[middle]) {\n return true;\n }\n if (_end - 1 === _start) {\n return list[_start] === find || list[_end] === find;\n }\n if (find > list[middle]) {\n return binarySearch(list, find, middle, _end);\n }\n if (find < list[middle]) {\n return binarySearch(list, find, _start, middle);\n }\n return false;\n}\n\nfunction getName(name: ioBroker.StringOrTranslated, lang: ioBroker.Languages): string {\n if (typeof name === 'object') {\n if (!name) {\n return '';\n }\n return (name[lang] || name.en || '').toString();\n }\n\n return name ? name.toString() : '';\n}\n\nexport function getSelectIdIconFromObjects(\n objects: Record,\n id: string,\n lang: ioBroker.Languages,\n imagePrefix?: string,\n): string | JSX.Element | null {\n // `admin` has prefix '.' and `web` has '../..'\n imagePrefix = imagePrefix || '.'; // http://localhost:8081';\n let src: string | JSX.Element = '';\n const _id_ = `system.adapter.${id}`;\n const aIcon = id && objects[_id_] && objects[_id_].common && objects[_id_].common.icon;\n if (aIcon) {\n // if not BASE64\n if (!aIcon.startsWith('data:image/')) {\n if (aIcon.includes('.')) {\n const name = objects[_id_].common.name;\n if (typeof name === 'object') {\n src = `${imagePrefix}/adapter/${name[lang] || name.en}/${aIcon}`;\n } else {\n src = `${imagePrefix}/adapter/${name}/${aIcon}`;\n }\n } else if (aIcon && aIcon.length < 3) {\n return aIcon; // utf-8\n } else {\n return null; // '' + objects[_id_].common.icon + '';\n }\n } else if (aIcon.startsWith('data:image/svg')) {\n src = (\n \n );\n } else {\n src = aIcon;\n }\n } else {\n const common = objects[id] && objects[id].common;\n\n if (common) {\n const cIcon = common.icon;\n if (cIcon) {\n if (!cIcon.startsWith('data:image/')) {\n if (cIcon.includes('.')) {\n let instance;\n if (objects[id].type === 'instance' || objects[id].type === 'adapter') {\n if (typeof common.name === 'object') {\n src = `${imagePrefix}/adapter/${common.name[lang] || common.name.en}/${cIcon}`;\n } else {\n src = `${imagePrefix}/adapter/${common.name}/${cIcon}`;\n }\n } else if (id && id.startsWith('system.adapter.')) {\n instance = id.split('.', 3);\n if (cIcon[0] === '/') {\n instance[2] += cIcon;\n } else {\n instance[2] += `/${cIcon}`;\n }\n src = `${imagePrefix}/adapter/${instance[2]}`;\n } else {\n instance = id.split('.', 2);\n if (cIcon[0] === '/') {\n instance[0] += cIcon;\n } else {\n instance[0] += `/${cIcon}`;\n }\n src = `${imagePrefix}/adapter/${instance[0]}`;\n }\n } else if (aIcon && aIcon.length < 3) {\n return aIcon; // utf-8\n } else {\n return null;\n }\n } else if (cIcon.startsWith('data:image/svg')) {\n // if base 64 image\n src = (\n \n );\n } else {\n src = cIcon;\n }\n }\n }\n }\n\n return src || null;\n}\n\nfunction applyFilter(\n item: TreeItem,\n filters: ObjectBrowserFilter,\n lang: ioBroker.Languages,\n objects: Record,\n context?: {\n id?: string;\n name?: string;\n type?: string;\n custom?: string;\n role?: string;\n room?: string[];\n func?: string[];\n },\n counter?: { count: number },\n customFilter?: ObjectBrowserCustomFilter,\n selectedTypes?: string[],\n _depth?: number,\n): boolean {\n _depth = _depth || 0;\n let filteredOut = false;\n if (!context) {\n context = {};\n if (filters.id) {\n context.id = filters.id.toLowerCase();\n }\n if (filters.name) {\n context.name = filters.name.toLowerCase();\n }\n if (filters.type) {\n context.type = filters.type.toLowerCase();\n }\n if (filters.custom) {\n context.custom = filters.custom.toLowerCase();\n }\n if (filters.role) {\n context.role = filters.role.toLowerCase();\n }\n if (filters.room) {\n context.room = (objects[filters.room] as ioBroker.EnumObject)?.common?.members || [];\n }\n if (filters.func) {\n context.func = (objects[filters.func] as ioBroker.EnumObject)?.common?.members || [];\n }\n }\n\n const data = item.data;\n\n if (data && data.id) {\n const common: ioBroker.StateCommon = data.obj?.common as ioBroker.StateCommon;\n\n if (customFilter) {\n if (customFilter.type) {\n if (typeof customFilter.type === 'string') {\n if (!data.obj || customFilter.type !== data.obj.type) {\n filteredOut = true;\n }\n } else if (Array.isArray(customFilter.type)) {\n if (!data.obj || !customFilter.type.includes(data.obj.type)) {\n filteredOut = true;\n }\n }\n }\n if (!filteredOut && customFilter.common?.type) {\n if (!common?.type) {\n filteredOut = true;\n } else if (typeof customFilter.common.type === 'string') {\n if (customFilter.common.type !== common.type) {\n filteredOut = true;\n }\n } else if (Array.isArray(customFilter.common.type)) {\n if (!customFilter.common.type.includes(common.type)) {\n filteredOut = true;\n }\n }\n }\n if (!filteredOut && customFilter.common?.role) {\n if (!common?.role) {\n filteredOut = true;\n } else if (typeof customFilter.common.role === 'string') {\n if (common.role.startsWith(customFilter.common.role)) {\n filteredOut = true;\n }\n } else if (Array.isArray(customFilter.common.role)) {\n if (!customFilter.common.role.find(role => common.role.startsWith(role))) {\n filteredOut = true;\n }\n }\n }\n\n if (!filteredOut && customFilter.common?.custom === '_' && common?.custom) {\n filteredOut = true;\n } else if (!filteredOut && customFilter.common?.custom && customFilter.common?.custom !== '_') {\n const filterOfCustom = customFilter.common.custom as string | string[] | boolean;\n if (!common?.custom) {\n filteredOut = true;\n } else if (filterOfCustom === '_dataSources') {\n // TODO: make it configurable\n if (\n !Object.keys(common.custom).find(\n id => id.startsWith('history.') || id.startsWith('sql.') || id.startsWith('influxdb.'),\n )\n ) {\n filteredOut = true;\n }\n } else if (Array.isArray(filterOfCustom)) {\n // here are ['influxdb.', 'telegram.']\n const customs = Object.keys(common.custom); // here are ['influxdb.0', 'telegram.2']\n if (filterOfCustom.find(cst => customs.find(id => id.startsWith(cst)))) {\n filteredOut = true;\n }\n } else if (\n filterOfCustom !== true &&\n !Object.keys(common.custom).find(id => id.startsWith(filterOfCustom as string))\n ) {\n filteredOut = true;\n }\n }\n }\n\n if (!filteredOut && !filters.expertMode) {\n filteredOut =\n data.id === 'system' ||\n data.id === 'enum' ||\n // (data.obj && data.obj.type === 'meta') ||\n data.id.startsWith('system.') ||\n data.id.startsWith('enum.') ||\n data.id.startsWith('_design/') ||\n data.id.endsWith('.admin') ||\n !!common?.expert;\n }\n if (!filteredOut && context.id) {\n if (data.fID === undefined) {\n data.fID = data.id.toLowerCase();\n }\n filteredOut = !data.fID.includes(context.id);\n }\n if (!filteredOut && context.name) {\n if (common) {\n if (data.fName === undefined) {\n data.fName = (common && getName(common.name, lang)) || '';\n data.fName = data.fName.toLowerCase();\n }\n filteredOut = !data.fName.includes(context.name);\n } else {\n filteredOut = true;\n }\n }\n if (!filteredOut && filters.role && common) {\n if (common) {\n filteredOut = !(common.role && common.role.startsWith(context.role));\n } else {\n filteredOut = true;\n }\n }\n if (!filteredOut && context.room) {\n filteredOut = !context.room.find(id => id === data.id || data.id.startsWith(`${id}.`));\n }\n if (!filteredOut && context.func) {\n filteredOut = !context.func.find(id => id === data.id || data.id.startsWith(`${id}.`));\n }\n if (!filteredOut && context.type) {\n filteredOut = !(data.obj && data.obj.type && data.obj.type === context.type);\n }\n if (!filteredOut && selectedTypes) {\n filteredOut = !(data.obj && data.obj.type && selectedTypes.includes(data.obj.type));\n }\n if (!filteredOut && context.custom) {\n if (common) {\n if (context.custom === '_') {\n filteredOut = !!common.custom;\n } else {\n filteredOut = !common.custom || !common.custom[context.custom];\n }\n } else {\n filteredOut = true;\n }\n }\n }\n\n data.visible = !filteredOut;\n\n data.hasVisibleChildren = false;\n if (item.children && _depth < 20) {\n item.children.forEach(_item => {\n const visible = applyFilter(\n _item,\n filters,\n lang,\n objects,\n context,\n counter,\n customFilter,\n selectedTypes,\n _depth + 1,\n );\n if (visible) {\n data.hasVisibleChildren = true;\n }\n });\n }\n\n // const visible = data.visible || data.hasVisibleChildren;\n data.sumVisibility = data.visible || data.hasVisibleChildren; // || data.hasVisibleParent;\n if (counter && data.sumVisibility) {\n counter.count++;\n }\n\n // show all children of visible object with opacity 0.5\n if (data.id && data.sumVisibility && item.children) {\n item.children.forEach(_item => (_item.data.hasVisibleParent = true));\n }\n\n return data.visible || data.hasVisibleChildren;\n}\n\nfunction getVisibleItems(\n item: TreeItem,\n type: ioBroker.ObjectType,\n objects: Record,\n _result?: string[],\n): string[] {\n _result = _result || [];\n const data = item.data;\n if (data.sumVisibility) {\n if (data.id && objects[data.id] && (!type || objects[data.id].type === type)) {\n _result.push(data.id);\n }\n item.children?.forEach(_item => getVisibleItems(_item, type, objects, _result));\n }\n\n return _result;\n}\n\nfunction getSystemIcon(\n objects: Record,\n id: string,\n level: number,\n themeType: ThemeType,\n lang: ioBroker.Languages,\n imagePrefix?: string,\n): string | JSX.Element | null {\n let icon;\n\n // system or design has special icons\n if (id === 'alias' || id === 'alias.0') {\n icon = (\n \n );\n } else if (id === '0_userdata' || id === '0_userdata.0') {\n icon = (\n \n );\n } else if (id.startsWith('_design/') || id === 'system') {\n icon = (\n \n );\n } else if (id === 'system.adapter') {\n icon = (\n \n );\n } else if (id === 'system.group') {\n icon = ;\n } else if (id === 'system.user') {\n icon = ;\n } else if (id === 'system.host') {\n icon = ;\n } else if (id.endsWith('.connection') || id.endsWith('.connected')) {\n icon = ;\n } else if (id.endsWith('.info')) {\n icon = ;\n } else if (objects[id] && objects[id].type === 'meta') {\n icon = ;\n } else if (level < 2) {\n // detect \"cloud.0\"\n if (objects[`system.adapter.${id}`]) {\n icon = getSelectIdIconFromObjects(objects, `system.adapter.${id}`, lang, imagePrefix);\n }\n }\n\n return icon || null;\n}\n\nfunction getObjectTooltip(data: TreeItemData, lang: ioBroker.Languages): string | null {\n if (data?.obj?.common?.desc) {\n return getName(data.obj.common.desc, lang) || null;\n }\n\n return null;\n}\n\nfunction getIdFieldTooltip(data: TreeItemData, lang: ioBroker.Languages): JSX.Element {\n const tooltip = getObjectTooltip(data, lang);\n if (tooltip?.startsWith('http')) {\n return (\n \n {tooltip}\n \n );\n }\n return {tooltip || data.id || ''};\n}\n\nfunction buildTree(\n objects: Record,\n options: {\n imagePrefix?: string;\n root?: string;\n lang: ioBroker.Languages;\n themeType: ThemeType;\n },\n): { root: TreeItem; info: TreeInfo } {\n const imagePrefix = options.imagePrefix || '.';\n\n let ids = Object.keys(objects);\n\n ids.sort((a, b) => {\n if (a === b) {\n return 0;\n }\n a = a.replace(/\\./g, '!!!');\n b = b.replace(/\\./g, '!!!');\n if (a > b) {\n return 1;\n }\n return -1;\n });\n\n if (options.root) {\n ids = ids.filter(id => id === options.root || id.startsWith(`${options.root}.`));\n }\n\n // find empty nodes and create names for it\n let currentPathArr: string[] = [];\n let currentPath = '';\n let currentPathLen = 0;\n const root: TreeItem = {\n data: {\n name: '',\n id: '',\n },\n children: [],\n };\n\n const info: TreeInfo = {\n funcEnums: [],\n roomEnums: [],\n roles: [],\n ids: [],\n types: [],\n objects,\n customs: ['_'],\n enums: [],\n hasSomeCustoms: false,\n aliasesMap: {},\n };\n\n let cRoot: TreeItem = root;\n\n for (let i = 0; i < ids.length; i++) {\n const id = ids[i];\n if (!id) {\n continue;\n }\n const obj = objects[id];\n const parts = id.split('.');\n\n if (obj.type && !info.types.includes(obj.type)) {\n info.types.push(obj.type);\n }\n\n if (obj) {\n const common = obj.common;\n const role = common && common.role;\n if (role && !info.roles.includes(role)) {\n info.roles.push(role);\n } else if (id.startsWith('enum.rooms.')) {\n info.roomEnums.push(id);\n info.enums.push(id);\n } else if (id.startsWith('enum.functions.')) {\n info.funcEnums.push(id);\n info.enums.push(id);\n } else if (obj.type === 'enum') {\n info.enums.push(id);\n } else if (obj.type === 'instance' && common && (common.supportCustoms || common.adminUI?.custom)) {\n info.hasSomeCustoms = true;\n info.customs.push(id.substring('system.adapter.'.length));\n }\n\n // Build a map of aliases\n if (id.startsWith('alias.') && obj.common.alias?.id) {\n if (typeof obj.common.alias.id === 'string') {\n const usedId = obj.common.alias.id;\n if (!info.aliasesMap[usedId]) {\n info.aliasesMap[usedId] = [id];\n } else if (!info.aliasesMap[usedId].includes(id)) {\n info.aliasesMap[usedId].push(id);\n }\n } else {\n const readId = obj.common.alias.id.read;\n if (readId) {\n if (!info.aliasesMap[readId]) {\n info.aliasesMap[readId] = [id];\n } else if (!info.aliasesMap[readId].includes(id)) {\n info.aliasesMap[readId].push(id);\n }\n }\n const writeId = obj.common.alias.id.write;\n if (writeId) {\n if (!info.aliasesMap[writeId]) {\n info.aliasesMap[writeId] = [id];\n } else if (!info.aliasesMap[writeId].includes(id)) {\n info.aliasesMap[writeId].push(id);\n }\n }\n }\n }\n }\n\n info.ids.push(id);\n\n let repeat;\n\n // if next level\n do {\n repeat = false;\n\n // If the current level is still OK, and we can add ID to children\n if (!currentPath || id.startsWith(`${currentPath}.`)) {\n // if more than one level added\n if (parts.length - currentPathLen > 1) {\n let curPath = currentPath;\n // generate missing levels\n for (let k = currentPathLen; k < parts.length - 1; k++) {\n curPath += (curPath ? '.' : '') + parts[k];\n // level does not exist\n if (!binarySearch(info.ids, curPath)) {\n const _cRoot: TreeItem = {\n data: {\n name: parts[k],\n parent: cRoot,\n id: curPath,\n obj: objects[curPath],\n level: k,\n icon: getSystemIcon(\n objects,\n curPath,\n k,\n options.themeType,\n options.lang,\n imagePrefix,\n ),\n generated: true,\n },\n };\n\n cRoot.children = cRoot.children || [];\n cRoot.children.push(_cRoot);\n cRoot = _cRoot;\n info.ids.push(curPath); // IDs will be added by alphabet\n } else if (cRoot.children) {\n cRoot = cRoot.children.find(item => item.data.name === parts[k]);\n }\n }\n }\n\n const _cRoot: TreeItem = {\n data: {\n name: parts[parts.length - 1],\n title: getName(obj?.common?.name, options.lang),\n obj,\n parent: cRoot,\n icon:\n getSelectIdIconFromObjects(objects, id, options.lang, imagePrefix) ||\n getSystemIcon(objects, id, 0, options.themeType, options.lang, imagePrefix),\n id,\n hasCustoms: !!(obj.common?.custom && Object.keys(obj.common.custom).length),\n level: parts.length - 1,\n generated: false,\n button:\n obj.type === 'state' &&\n !!obj.common?.role &&\n typeof obj.common.role === 'string' &&\n obj.common.role.startsWith('button') &&\n obj.common?.write !== false,\n switch:\n obj.type === 'state' &&\n obj.common?.type === 'boolean' &&\n obj.common?.write !== false &&\n obj.common?.read !== false,\n },\n };\n\n cRoot.children = cRoot.children || [];\n cRoot.children.push(_cRoot);\n cRoot = _cRoot;\n\n currentPathLen = parts.length;\n currentPathArr = parts;\n currentPath = id;\n } else {\n let u = 0;\n\n while (currentPathArr[u] === parts[u]) {\n u++;\n }\n\n if (u > 0) {\n let move = currentPathArr.length;\n currentPathArr = currentPathArr.splice(0, u);\n currentPathLen = u;\n currentPath = currentPathArr.join('.');\n while (move > u) {\n if (cRoot.data.parent) {\n cRoot = cRoot.data.parent;\n } else {\n console.error(`Parent is null for ${id} ${currentPath} ${currentPathArr.join('.')}`);\n }\n move--;\n }\n } else {\n cRoot = root;\n currentPathArr = [];\n currentPath = '';\n currentPathLen = 0;\n }\n repeat = true;\n }\n } while (repeat);\n }\n\n info.roomEnums.sort((a, b) => {\n const aName: string = getName(objects[a]?.common?.name, options.lang) || a.split('.').pop();\n const bName: string = getName(objects[b]?.common?.name, options.lang) || b.split('.').pop();\n if (aName > bName) {\n return 1;\n }\n if (aName < bName) {\n return -1;\n }\n return 0;\n });\n info.funcEnums.sort((a, b) => {\n const aName: string = getName(objects[a]?.common?.name, options.lang) || a.split('.').pop();\n const bName: string = getName(objects[b]?.common?.name, options.lang) || b.split('.').pop();\n if (aName > bName) {\n return 1;\n }\n if (aName < bName) {\n return -1;\n }\n return 0;\n });\n info.roles.sort();\n info.types.sort();\n\n return { info, root };\n}\n\nfunction findNode(root: TreeItem, id: string, _parts?: string[], _path?: string, _level?: number): TreeItem | null {\n if (root.data.id === id) {\n return root;\n }\n if (!_parts) {\n _parts = id.split('.');\n _level = 0;\n _path = _parts[_level];\n }\n if (!root.children && root.data.id !== id) {\n return null;\n }\n let found;\n if (root.children) {\n for (let i = 0; i < root.children.length; i++) {\n const _id = root.children[i].data.id;\n if (_id === _path) {\n found = root.children[i];\n break;\n } else if (_id > _path) {\n break;\n }\n }\n }\n if (found) {\n _level = _level || 0;\n return findNode(found, id, _parts, `${_path}.${_parts[_level + 1]}`, _level + 1);\n }\n\n return null;\n}\n\nfunction findRoomsForObject(\n info: TreeInfo,\n id: string,\n lang: ioBroker.Languages,\n rooms?: string[],\n): { rooms: string[]; per: boolean } {\n if (!id) {\n return { rooms: [], per: false };\n }\n rooms = rooms || [];\n for (const room of info.roomEnums) {\n const common = info.objects[room]?.common;\n\n if (!common) {\n continue;\n }\n\n const name = getName(common.name, lang);\n\n if (common.members?.includes(id) && !rooms.includes(name)) {\n rooms.push(name);\n }\n }\n\n let ownEnums;\n\n // Check parent\n const parts = id.split('.');\n parts.pop();\n id = parts.join('.');\n if (info.objects[id]) {\n ownEnums = rooms.length;\n findRoomsForObject(info, id, lang, rooms);\n }\n\n return { rooms, per: !ownEnums }; // per is if the enums are from parent\n}\n\nfunction findEnumsForObjectAsIds(\n info: TreeInfo,\n id: string,\n enumName: 'roomEnums' | 'funcEnums',\n funcs?: string[],\n): string[] {\n if (!id) {\n return [];\n }\n funcs = funcs || [];\n for (let i = 0; i < info[enumName].length; i++) {\n const common = info.objects[info[enumName][i]]?.common;\n if (common?.members?.includes(id) && !funcs.includes(info[enumName][i])) {\n funcs.push(info[enumName][i]);\n }\n }\n funcs.sort();\n\n return funcs;\n}\n\nfunction findFunctionsForObject(\n info: TreeInfo,\n id: string,\n lang: ioBroker.Languages,\n funcs?: string[],\n): { funcs: string[]; pef: boolean } {\n if (!id) {\n return { funcs: [], pef: false };\n }\n funcs = funcs || [];\n for (let i = 0; i < info.funcEnums.length; i++) {\n const common = info.objects[info.funcEnums[i]]?.common;\n\n if (!common) {\n continue;\n }\n\n const name = getName(common.name, lang);\n if (common.members?.includes(id) && !funcs.includes(name)) {\n funcs.push(name);\n }\n }\n\n let ownEnums;\n\n // Check parent\n const parts = id.split('.');\n parts.pop();\n id = parts.join('.');\n if (info.objects[id]) {\n ownEnums = funcs.length;\n findFunctionsForObject(info, id, lang, funcs);\n }\n\n return { funcs, pef: !ownEnums };\n}\n\n/*\nfunction quality2text(q) {\n if (!q) {\n return 'ok';\n }\n const custom = q & 0xFFFF0000;\n let text = '';\n if (q & 0x40) text += 'device';\n if (q & 0x80) text += 'sensor';\n if (q & 0x01) text += ' bad';\n if (q & 0x02) text += ' not connected';\n if (q & 0x04) text += ' error';\n\n return text + (custom ? '|0x' + (custom >> 16).toString(16).toUpperCase() : '') + ' [0x' + q.toString(16).toUpperCase() + ']';\n}\n*/\n\n/**\n * Format a state value for visualization\n */\nfunction formatValue(options: FormatValueOptions): {\n valText: {\n /** value as string */\n v: string;\n /** value unit */\n u?: string;\n /** value not replaced by `common.states` */\n s?: string;\n };\n valFull:\n | {\n /** label */\n t: string;\n /** value */\n v: string;\n /** no break */\n nbr?: boolean;\n }[]\n | undefined;\n fileViewer: 'image' | 'text' | 'json' | 'html' | 'pdf' | 'audio' | 'video' | undefined;\n} {\n const { dateFormat, state, isFloatComma, texts, obj } = options;\n const states = Utils.getStates(obj);\n const isCommon = obj.common;\n let fileViewer: 'image' | 'text' | 'json' | 'html' | 'pdf' | 'audio' | 'video' | undefined;\n\n let v: any =\n // @ts-expect-error deprecated from js-controller 6\n isCommon?.type === 'file'\n ? '[file]'\n : !state || state.val === null\n ? '(null)'\n : state.val === undefined\n ? '[undef]'\n : state.val;\n\n const type = typeof v;\n\n if (isCommon?.role && typeof isCommon.role === 'string' && isCommon.role.match(/^value\\.time|^date/)) {\n if (v && typeof v === 'string') {\n if (Utils.isStringInteger(v)) {\n // we assume a unix ts\n v = new Date(parseInt(v, 10)).toString();\n } else {\n // check if parsable by new date\n try {\n const parsedDate = new Date(v);\n\n if (Utils.isValidDate(parsedDate)) {\n v = parsedDate.toString();\n }\n } catch {\n // ignore\n }\n }\n } else {\n if (v > 946681200 && v < 946681200000) {\n // '2000-01-01T00:00:00' => 946681200000\n v *= 1_000; // maybe the time is in seconds (UNIX time)\n }\n // \"null\" and undefined could not be here. See `let v = (isCommon && isCommon.type === 'file') ....` above\n v = v ? new Date(v).toString() : v;\n }\n } else {\n if (type === 'number') {\n if (!Number.isInteger(v)) {\n v = Math.round(v * 100_000_000) / 100_000_000; // remove 4.00000000000000001\n if (isFloatComma) {\n v = v.toString().replace('.', ',');\n }\n }\n } else if (type === 'object') {\n v = JSON.stringify(v);\n } else if (type !== 'string') {\n v = v.toString();\n } else if (v.startsWith('data:image/')) {\n fileViewer = 'image';\n }\n\n if (typeof v !== 'string') {\n v = v.toString();\n }\n }\n\n const valText: {\n /** value as string */\n v: string;\n /** value unit */\n u?: string;\n /** value not replaced by `common.states` */\n s?: string;\n } = { v: v as string };\n\n // try to replace number with \"common.states\"\n if (states && states[v] !== undefined) {\n if (v !== states[v]) {\n valText.s = v;\n v = states[v];\n valText.v = v;\n }\n }\n\n if (isCommon?.unit) {\n valText.u = isCommon.unit;\n }\n let valFull:\n | {\n /** label */\n t: string;\n /** value */\n v: string;\n nbr?: boolean;\n }[]\n | undefined;\n if (options.full) {\n valFull = [{ t: texts.value, v }];\n\n if (state) {\n if (state.ack !== undefined && state.ack !== null) {\n valFull.push({ t: texts.ack, v: state.ack.toString() });\n }\n if (state.ts) {\n valFull.push({ t: texts.ts, v: state.ts ? Utils.formatDate(new Date(state.ts), dateFormat) : '' });\n }\n if (state.lc) {\n valFull.push({ t: texts.lc, v: state.lc ? Utils.formatDate(new Date(state.lc), dateFormat) : '' });\n }\n if (state.from) {\n let from = state.from.toString();\n if (from.startsWith('system.adapter.')) {\n from = from.substring(15);\n }\n valFull.push({ t: texts.from, v: from });\n }\n if (state.user) {\n let user = state.user.toString();\n if (user.startsWith('system.user.')) {\n user = user.substring(12);\n }\n valFull.push({ t: texts.user, v: user });\n }\n if (state.c) {\n valFull.push({ t: texts.c, v: state.c });\n }\n valFull.push({ t: texts.quality, v: Utils.quality2text(state.q || 0).join(', '), nbr: true });\n }\n }\n\n return {\n valText,\n valFull,\n fileViewer,\n };\n}\n\n/**\n * Get CSS style for given state value\n */\nfunction getValueStyle(options: GetValueStyleOptions): { color: string } {\n const { state /* , isExpertMode, isButton */ } = options;\n const color = state?.ack ? (state.q ? '#ffa500' : '') : '#ff2222c9';\n\n // do not show the color of the button in non-expert mode\n // if (!isExpertMode && isButton) {\n // color = '';\n // }\n\n return { color };\n}\n\nfunction prepareSparkData(values: ioBroker.GetHistoryResult, from: number): number[] {\n // set one point every hour\n let time = from;\n let i = 1;\n const v = [];\n\n while (i < values.length && time < from + 25 * 3600000) {\n // find the interval\n while (values[i - 1].ts < time && time <= values[i].ts && i < values.length) {\n i++;\n }\n if (i === 1 && values[i - 1].ts >= time) {\n // assume the value was always null\n v.push(0);\n } else if (i < values.length) {\n if (typeof values[i].val === 'boolean' || typeof values[i - 1].val === 'boolean') {\n v.push(values[i].val ? 1 : 0);\n } else {\n // remove nulls\n values[i - 1].val = values[i - 1].val || 0;\n values[i].val = values[i].val || 0;\n // interpolate\n const nm1: number = values[i - 1].val as number;\n const n: number = values[i].val as number;\n const val = nm1 + ((n - nm1) * (time - values[i - 1].ts)) / (values[i].ts - values[i - 1].ts);\n\n v.push(val);\n }\n }\n\n time += 3600000;\n }\n\n return v;\n}\n\nexport const ITEM_IMAGES: Record = {\n state: (\n \n ),\n channel: (\n \n ),\n device: (\n \n ),\n adapter: (\n \n ),\n meta: (\n \n ),\n instance: (\n \n ),\n enum: (\n \n ),\n chart: (\n \n ),\n config: (\n \n ),\n group: (\n \n ),\n user: (\n \n ),\n host: (\n \n ),\n schedule: (\n \n ),\n script: (\n \n ),\n folder: (\n \n ),\n};\n\ninterface ScreenWidthOne {\n idWidth: string | number;\n widths: {\n room?: number;\n val?: number;\n name?: number;\n func?: number;\n buttons?: number;\n type?: number;\n role?: number;\n changedFrom?: number;\n qualityCode?: number;\n timestamp?: number;\n lastChange?: number;\n };\n fields: ObjectBrowserPossibleColumns[];\n}\n\ninterface ScreenWidth {\n xs: ScreenWidthOne;\n sm: ScreenWidthOne;\n md: ScreenWidthOne;\n lg: ScreenWidthOne;\n xl: ScreenWidthOne;\n}\n\nconst SCREEN_WIDTHS: ScreenWidth = {\n // extra-small: 0px\n xs: { idWidth: '100%', fields: [], widths: {} },\n // small: 600px\n sm: { idWidth: 300, fields: ['room', 'val'], widths: { room: 100, val: 200 } },\n // medium: 960px\n md: {\n idWidth: 300,\n fields: ['room', 'func', 'val', 'buttons'],\n widths: {\n name: 200,\n room: 150,\n func: 150,\n val: 120,\n buttons: 120,\n },\n },\n // large: 1280px\n lg: {\n idWidth: 300,\n fields: [\n 'name',\n 'type',\n 'role',\n 'room',\n 'func',\n 'val',\n 'buttons',\n 'changedFrom',\n 'qualityCode',\n 'timestamp',\n 'lastChange',\n ],\n widths: {\n name: 300,\n type: 80,\n role: 120,\n room: 180,\n func: 180,\n val: 140,\n buttons: 120,\n changedFrom: 120,\n qualityCode: 100,\n timestamp: 165,\n lastChange: 165,\n },\n },\n // /////////////\n // extra-large: 1920px\n xl: {\n idWidth: 550,\n fields: [\n 'name',\n 'type',\n 'role',\n 'room',\n 'func',\n 'val',\n 'buttons',\n 'changedFrom',\n 'qualityCode',\n 'timestamp',\n 'lastChange',\n ],\n widths: {\n name: 400,\n type: 80,\n role: 120,\n room: 180,\n func: 180,\n val: 140,\n buttons: 120,\n changedFrom: 120,\n qualityCode: 100,\n timestamp: 170,\n lastChange: 170,\n },\n },\n};\n\nlet objectsAlreadyLoaded = false;\n\nexport interface ObjectBrowserFilter {\n id?: string;\n name?: string;\n room?: string;\n func?: string;\n role?: string;\n type?: string;\n custom?: string;\n expertMode?: boolean;\n}\n\nconst DEFAULT_FILTER: ObjectBrowserFilter = {\n id: '',\n name: '',\n room: '',\n func: '',\n role: '',\n type: '',\n custom: '',\n expertMode: false,\n};\n\ninterface AdapterColumn {\n adapter: string;\n id: string;\n name: string;\n path: string[];\n pathText: string;\n edit?: boolean;\n type?: 'boolean' | 'string' | 'number';\n objTypes?: ioBroker.ObjectType[];\n align?: 'center' | 'left' | 'right';\n}\n\ninterface ObjectBrowserEditRoleProps {\n roles: string[];\n id: string;\n socket: Connection;\n onClose: (obj?: ioBroker.Object | null) => void;\n t: Translate;\n}\n\ninterface ObjectViewFileDialogProps {\n t: Translate;\n socket: Connection;\n obj: ioBroker.AnyObject;\n onClose: () => void;\n}\n\ninterface DragWrapperProps {\n item: TreeItem;\n className?: string;\n style?: React.CSSProperties;\n children: JSX.Element | null;\n}\n\ninterface ObjectCustomDialogProps {\n t: Translate;\n lang: ioBroker.Languages;\n expertMode?: boolean;\n objects: Record;\n socket: Connection;\n theme: IobTheme;\n themeName: ThemeName;\n themeType: ThemeType;\n customsInstances: string[];\n objectIDs: string[];\n onClose: () => void;\n reportChangedIds: (ids: string[]) => void;\n isFloatComma: boolean;\n allVisibleObjects: boolean;\n systemConfig: ioBroker.SystemConfigObject;\n}\n\ninterface ObjectBrowserValueProps {\n /** State type */\n type: 'states' | 'string' | 'number' | 'boolean' | 'json';\n /** State role */\n role: string;\n /** common.states */\n states: Record | null;\n /** The state value */\n value: string | number | boolean | null;\n /** If expert mode is enabled */\n expertMode: boolean;\n onClose: (newValue?: {\n val: ioBroker.StateValue;\n ack: boolean;\n q: ioBroker.STATE_QUALITY[keyof ioBroker.STATE_QUALITY];\n expire: number | undefined;\n }) => void;\n /** Configured theme */\n themeType: ThemeType;\n theme: IobTheme;\n socket: Connection;\n defaultHistory: string;\n dateFormat: string;\n object: ioBroker.StateObject;\n isFloatComma: boolean;\n t: Translate;\n lang: ioBroker.Languages;\n width?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n}\n\ninterface ObjectBrowserEditObjectProps {\n socket: Connection;\n obj: ioBroker.AnyObject;\n roleArray: string[];\n expertMode: boolean;\n themeType: ThemeType;\n theme: IobTheme;\n aliasTab: boolean;\n onClose: (obj?: ioBroker.AnyObject) => void;\n dialogName?: string;\n objects: Record;\n dateFormat: string;\n isFloatComma: boolean;\n onNewObject: (obj: ioBroker.AnyObject) => void;\n t: Translate;\n width?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n}\n\nexport interface ObjectAliasEditorProps {\n t: Translate;\n socket: Connection;\n objects: Record;\n onRedirect: (id: string, delay?: number) => void;\n obj: ioBroker.AnyObject;\n onClose: () => void;\n}\nexport type ObjectBrowserColumn = 'name' | 'type' | 'role' | 'room' | 'func' | 'val' | 'buttons';\n\ntype ObjectBrowserPossibleColumns =\n | 'name'\n | 'type'\n | 'role'\n | 'room'\n | 'func'\n | 'val'\n | 'buttons'\n | 'changedFrom'\n | 'qualityCode'\n | 'timestamp'\n | 'lastChange'\n | 'id';\n\nexport interface ObjectBrowserProps {\n /** where to store settings in localStorage */\n dialogName?: string;\n defaultFilters?: ObjectBrowserFilter;\n selected?: string | string[];\n onSelect?: (selected: string | string[], name: string, isDouble?: boolean) => void;\n onFilterChanged?: (newFilter: ObjectBrowserFilter) => void;\n socket: Connection;\n showExpertButton?: boolean;\n expertMode?: boolean;\n imagePrefix?: string;\n themeName: ThemeName;\n themeType: ThemeType;\n /** will be filled by withWidth */\n width?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n theme: IobTheme;\n t: Translate;\n lang: ioBroker.Languages;\n multiSelect?: boolean;\n notEditable?: boolean;\n foldersFirst?: boolean;\n disableColumnSelector?: boolean;\n isFloatComma?: boolean;\n dateFormat?: string;\n levelPadding?: number;\n\n // components\n objectCustomDialog?: React.FC;\n objectAddBoolean?: boolean; // optional toolbar button\n objectEditBoolean?: boolean; // optional toolbar button\n objectStatesView?: boolean; // optional toolbar button\n objectImportExport?: boolean; // optional toolbar button\n objectEditOfAccessControl?: boolean; // Access Control\n /** modal add object */\n modalNewObject?: (oBrowser: ObjectBrowserClass) => JSX.Element;\n /** modal Edit Of Access Control */\n modalEditOfAccessControl: (oBrowser: ObjectBrowserClass, data: TreeItemData) => JSX.Element;\n onObjectDelete?: (id: string, hasChildren: boolean, objectExists: boolean, childrenCount: number) => void;\n /**\n * Optional filter\n * `{common: {custom: true}}` - show only objects with some custom settings\n * `{common: {custom: 'sql.0'}}` - show only objects with sql.0 custom settings (only of the specific instance)\n * `{common: {custom: '_dataSources'}}` - show only objects of adapters `influxdb' or 'sql' or 'history'\n * `{common: {custom: 'adapterName.'}}` - show only objects of custom settings of specific adapter (all instances)\n * `{type: 'channel'}` - show only channels\n * `{type: ['channel', 'device']}` - show only channels and devices\n * `{common: {type: 'number'}` - show only states of type 'number\n * `{common: {type: ['number', 'string']}` - show only states of type 'number and string\n * `{common: {role: ['switch']}` - show only states with roles starting from switch\n * `{common: {role: ['switch', 'button']}` - show only states with roles starting from `switch` and `button`\n */\n customFilter: ObjectBrowserCustomFilter;\n objectBrowserValue?: React.FC;\n objectBrowserEditObject?: React.FC;\n /** on edit alias */\n objectBrowserAliasEditor?: React.FC;\n /** on Edit role */\n objectBrowserEditRole?: React.FC;\n /** on view file state */\n objectBrowserViewFile?: React.FC;\n router?: typeof Router;\n types?: ioBroker.ObjectType[];\n /** Possible columns: ['name', 'type', 'role', 'room', 'func', 'val', 'buttons'] */\n columns?: ObjectBrowserColumn[];\n /** Shows only elements of this root */\n root?: string;\n\n /** cache of objects */\n objectsWorker?: ObjectsWorker;\n /**\n * function to filter out all unnecessary objects. It cannot be used together with \"types\"\n * Example for function: `obj => obj.common?.type === 'boolean'` to show only boolean states\n */\n filterFunc?: (obj: ioBroker.Object) => boolean;\n /** Used for enums dragging */\n DragWrapper?: React.FC;\n /** let DragWrapper know about objects to get the icons */\n setObjectsReference?: (objects: Record) => void;\n dragEnabled?: boolean;\n}\n\ninterface ObjectBrowserState {\n loaded: boolean;\n foldersFirst: boolean;\n selected: string[];\n focused: string;\n selectedNonObject: string;\n filter: ObjectBrowserFilter;\n filterKey: number;\n depth: number;\n expandAllVisible: boolean;\n expanded: string[];\n toast: string;\n scrollBarWidth: number;\n customDialog: null | string[];\n customDialogAll?: boolean;\n editObjectDialog: string;\n editObjectAlias: boolean; // open the edit object dialog on alias tab\n viewFileDialog: string;\n showAliasEditor: string;\n enumDialog: null | {\n item: TreeItem;\n type: 'room' | 'func';\n enumsOriginal: string;\n };\n enumDialogEnums?: null | string[];\n roleDialog: null | string;\n statesView: boolean;\n /** ['name', 'type', 'role', 'room', 'func', 'val', 'buttons'] */\n columns: ObjectBrowserPossibleColumns[] | null;\n columnsForAdmin: Record | null;\n columnsSelectorShow: boolean;\n columnsAuto: boolean;\n columnsWidths: Record;\n columnsDialogTransparent: number;\n columnsEditCustomDialog: null | {\n obj: ioBroker.Object;\n item: TreeItem;\n it: AdapterColumn;\n };\n customColumnDialogValueChanged: boolean;\n showExportDialog: false | number;\n showAllExportOptions: boolean;\n linesEnabled: boolean;\n showDescription: boolean;\n showContextMenu: {\n item: TreeItem;\n position: { left: number; top: number };\n subItem?: string;\n subAnchor?: HTMLLIElement;\n } | null;\n noStatesByExportImport: boolean;\n beautifyJsonExport: boolean;\n excludeSystemRepositoriesFromExport: boolean;\n excludeTranslations: boolean;\n updating?: boolean;\n modalNewObj?: null | { id: string; initialType?: ioBroker.ObjectType; initialStateType?: ioBroker.CommonType };\n error?: any;\n modalEditOfAccess?: boolean;\n modalEditOfAccessObjData?: TreeItemData;\n updateOpened?: boolean;\n tooltipInfo: null | { el: JSX.Element[]; id: string };\n /** Show the menu with aliases for state */\n aliasMenu: string;\n}\n\nexport class ObjectBrowserClass extends Component {\n // do not define the type as null to save the performance, so we must check it every time\n private info: TreeInfo = {\n funcEnums: [],\n roomEnums: [],\n roles: [],\n ids: [],\n types: [],\n objects: {},\n customs: [],\n enums: [],\n hasSomeCustoms: false,\n aliasesMap: {},\n };\n\n private localStorage: Storage = ((window as any)._localStorage as Storage) || window.localStorage;\n\n private lastAppliedFilter: string | null = null;\n\n private readonly tableRef: React.RefObject;\n\n private readonly filterRefs: Record>;\n\n private pausedSubscribes: boolean = false;\n\n private selectFirst: string;\n\n private root: TreeItem | null = null;\n\n private readonly states: Record = {};\n\n private subscribes: string[] = [];\n\n private unsubscribeTimer: ReturnType | null = null;\n\n private statesUpdateTimer: ReturnType | null = null;\n\n private objectsUpdateTimer: ReturnType | null = null;\n\n private filterTimer: ReturnType | null = null;\n\n private readonly visibleCols: ObjectBrowserPossibleColumns[];\n\n private readonly texts: Record;\n\n private readonly possibleCols: ObjectBrowserPossibleColumns[];\n\n private readonly imagePrefix: string;\n\n private adapterColumns: AdapterColumn[] = [];\n\n private styleTheme: string = '';\n\n private edit: {\n val: string | number | boolean | null;\n q: number;\n ack: boolean;\n id: string;\n } = {\n id: '',\n val: '',\n q: 0,\n ack: false,\n };\n\n private readonly levelPadding: number;\n\n private customWidth: boolean = false;\n\n private resizeTimeout: ReturnType | null = null;\n\n private resizerNextName: string | null = null;\n\n private resizerActiveName: string | null = null;\n\n private resizerCurrentWidths: Record = {};\n\n private resizeLeft: boolean = false;\n\n private resizerOldWidth: number = 0;\n\n private resizerMin: number = 0;\n\n private resizerNextMin: number = 0;\n\n private resizerOldWidthNext: number = 0;\n\n private resizerPosition: number = 0;\n\n private resizerActiveDiv: HTMLDivElement | null = null;\n\n private resizerNextDiv: HTMLDivElement | null = null;\n\n private storedWidths: ScreenWidthOne | null = null;\n\n private systemConfig: ioBroker.SystemConfigObject;\n\n public objects: Record;\n\n private defaultHistory: string = '';\n\n private columnsVisibility: {\n id?: number | string;\n name?: number | string;\n nameHeader?: number | string;\n type?: number;\n role?: number;\n room?: number;\n func?: number;\n changedFrom?: number;\n qualityCode?: number;\n timestamp?: number;\n lastChange?: number;\n val?: number;\n buttons?: number;\n } = {};\n\n private changedIds: null | string[] = null;\n\n private contextMenu: null | { item: any; ts: number } = null;\n\n private recordStates: string[] = [];\n\n private styles: {\n cellIdIconFolder?: React.CSSProperties;\n cellIdIconDocument?: React.CSSProperties;\n iconDeviceError?: React.CSSProperties;\n iconDeviceConnected?: React.CSSProperties;\n iconDeviceDisconnected?: React.CSSProperties;\n cellButtonsButtonWithCustoms?: React.CSSProperties;\n invertedBackground?: React.CSSProperties;\n invertedBackgroundFlex?: React.CSSProperties;\n contextMenuEdit?: React.CSSProperties;\n contextMenuEditValue?: React.CSSProperties;\n contextMenuView?: React.CSSProperties;\n contextMenuCustom?: React.CSSProperties;\n contextMenuACL?: React.CSSProperties;\n contextMenuRoom?: React.CSSProperties;\n contextMenuRole?: React.CSSProperties;\n contextMenuDelete?: React.CSSProperties;\n filterInput?: React.CSSProperties;\n iconCopy?: React.CSSProperties;\n aliasReadWrite?: React.CSSProperties;\n aliasAlone?: React.CSSProperties;\n } = {};\n\n private customColumnDialog: null | {\n value: boolean | number | string;\n type: 'boolean' | 'number' | 'string';\n initValue: boolean | number | string;\n } = null;\n\n /** Namespaces which are allowed to be edited by non-expert users */\n static #NON_EXPERT_NAMESPACES = ['0_userdata.0.', 'alias.0.'];\n\n constructor(props: ObjectBrowserProps) {\n super(props);\n\n const lastSelectedItemStr: string =\n this.localStorage.getItem(`${props.dialogName || 'App'}.objectSelected`) || '';\n\n this.selectFirst = '';\n\n if (lastSelectedItemStr.startsWith('[')) {\n try {\n const lastSelectedItems = JSON.parse(lastSelectedItemStr) as string[];\n this.selectFirst = lastSelectedItems[0] || '';\n } catch {\n // ignore\n }\n } else {\n this.selectFirst = lastSelectedItemStr;\n }\n\n let expanded: string[];\n const expandedStr = this.localStorage.getItem(`${props.dialogName || 'App'}.objectExpanded`) || '[]';\n try {\n expanded = JSON.parse(expandedStr);\n } catch {\n expanded = [];\n }\n\n let filter: ObjectBrowserFilter;\n const filterStr: string = props.defaultFilters\n ? ''\n : this.localStorage.getItem(`${props.dialogName || 'App'}.objectFilter`) || '';\n if (filterStr) {\n try {\n filter = JSON.parse(filterStr);\n } catch {\n filter = { ...DEFAULT_FILTER };\n }\n } else if (props.defaultFilters && typeof props.defaultFilters === 'object') {\n filter = { ...props.defaultFilters };\n } else {\n filter = { ...DEFAULT_FILTER };\n }\n\n filter.expertMode =\n props.expertMode !== undefined\n ? props.expertMode\n : (((window as any)._sessionStorage as Storage) || window.sessionStorage).getItem('App.expertMode') ===\n 'true';\n this.tableRef = createRef();\n this.filterRefs = {};\n\n Object.keys(DEFAULT_FILTER).forEach(name => (this.filterRefs[name] = createRef()));\n\n this.visibleCols = props.columns || SCREEN_WIDTHS[props.width || 'lg'].fields;\n // remove type column if only one type must be selected\n if (props.types && props.types.length === 1) {\n const pos = this.visibleCols.indexOf('type');\n if (pos !== -1) {\n this.visibleCols.splice(pos, 1);\n }\n }\n\n this.possibleCols = SCREEN_WIDTHS.xl.fields;\n\n let customDialog = null;\n\n if (props.router) {\n const location = props.router.getLocation();\n if (location.id && location.dialog === 'customs') {\n customDialog = [location.id];\n this.pauseSubscribe(true);\n }\n }\n\n let selected: string[];\n if (!Array.isArray(props.selected)) {\n selected = [props.selected || ''];\n } else {\n selected = props.selected;\n }\n selected = selected.map(id => id.replace(/[\"']/g, '')).filter(id => id);\n\n this.selectFirst = selected.length && selected[0] ? selected[0] : this.selectFirst;\n\n const columnsStr = this.localStorage.getItem(`${props.dialogName || 'App'}.columns`);\n let columns: ObjectBrowserPossibleColumns[] | null;\n try {\n columns = columnsStr ? JSON.parse(columnsStr) : null;\n } catch {\n columns = null;\n }\n\n let columnsWidths = null; // this.localStorage.getItem(`${props.dialogName || 'App'}.columnsWidths`);\n try {\n columnsWidths = columnsWidths ? JSON.parse(columnsWidths) : {};\n } catch {\n columnsWidths = {};\n }\n\n this.imagePrefix = props.imagePrefix || '.';\n let foldersFirst: boolean;\n const foldersFirstStr = this.localStorage.getItem(`${props.dialogName || 'App'}.foldersFirst`);\n\n if (foldersFirstStr === 'false') {\n foldersFirst = false;\n } else if (foldersFirstStr === 'true') {\n foldersFirst = true;\n } else {\n foldersFirst = props.foldersFirst === undefined ? true : props.foldersFirst;\n }\n\n let statesView = false;\n try {\n statesView = this.props.objectStatesView\n ? JSON.parse(this.localStorage.getItem(`${props.dialogName || 'App'}.objectStatesView`) || '') || false\n : false;\n } catch {\n // ignore\n }\n\n this.state = {\n loaded: false,\n foldersFirst,\n selected,\n selectedNonObject: this.localStorage.getItem(`${props.dialogName || 'App'}.selectedNonObject`) || '',\n filter,\n filterKey: 0,\n focused: this.localStorage.getItem(`${props.dialogName || 'App'}.focused`) || '',\n depth: 0,\n expandAllVisible: false,\n expanded,\n toast: '',\n scrollBarWidth: 16,\n customDialog,\n editObjectDialog: '',\n editObjectAlias: false, // open the edit object dialog on alias tab\n viewFileDialog: '',\n showAliasEditor: '',\n enumDialog: null,\n roleDialog: null,\n statesView,\n columns,\n columnsForAdmin: null,\n columnsSelectorShow: false,\n columnsAuto: this.localStorage.getItem(`${props.dialogName || 'App'}.columnsAuto`) !== 'false',\n columnsWidths,\n columnsDialogTransparent: 100,\n columnsEditCustomDialog: null,\n customColumnDialogValueChanged: false,\n showExportDialog: false,\n showAllExportOptions: false,\n linesEnabled: this.localStorage.getItem(`${props.dialogName || 'App'}.lines`) === 'true',\n showDescription: this.localStorage.getItem(`${props.dialogName || 'App'}.desc`) !== 'false',\n showContextMenu: null,\n noStatesByExportImport: false,\n beautifyJsonExport: true,\n excludeSystemRepositoriesFromExport: true,\n excludeTranslations: false,\n tooltipInfo: null,\n aliasMenu: '',\n };\n\n this.texts = {\n name: props.t('ra_Name'),\n categories: props.t('ra_Categories'),\n value: props.t('ra_tooltip_value'),\n ack: props.t('ra_tooltip_ack'),\n ts: props.t('ra_tooltip_ts'),\n lc: props.t('ra_tooltip_lc'),\n from: props.t('ra_tooltip_from'),\n user: props.t('ra_tooltip_user'),\n c: props.t('ra_tooltip_comment'),\n quality: props.t('ra_tooltip_quality'),\n editObject: props.t('ra_tooltip_editObject'),\n deleteObject: props.t('ra_tooltip_deleteObject'),\n customConfig: props.t('ra_tooltip_customConfig'),\n copyState: props.t('ra_tooltip_copyState'),\n editState: props.t('ra_tooltip_editState'),\n close: props.t('ra_Close'),\n filter_id: props.t('ra_filter_id'),\n filter_name: props.t('ra_filter_name'),\n filter_type: props.t('ra_filter_type'),\n filter_role: props.t('ra_filter_role'),\n filter_room: props.t('ra_filter_room'),\n filter_func: props.t('ra_filter_func'),\n filter_custom: props.t('ra_filter_customs'), //\n filterCustomsWithout: props.t('ra_filter_customs_without'), //\n objectChangedByUser: props.t('ra_object_changed_by_user'), // Object last changed at\n objectChangedBy: props.t('ra_object_changed_by'), // Object changed by\n objectChangedFrom: props.t('ra_state_changed_from'), // Object changed from\n stateChangedBy: props.t('ra_state_changed_by'), // State changed by\n stateChangedFrom: props.t('ra_state_changed_from'), // State changed from\n ownerGroup: props.t('ra_Owner group'),\n ownerUser: props.t('ra_Owner user'),\n deviceError: props.t('ra_Error'),\n deviceDisconnected: props.t('ra_Disconnected'),\n deviceConnected: props.t('ra_Connected'),\n\n aclOwner_read_object: props.t('ra_aclOwner_read_object'),\n aclOwner_read_state: props.t('ra_aclOwner_read_state'),\n aclOwner_write_object: props.t('ra_aclOwner_write_object'),\n aclOwner_write_state: props.t('ra_aclOwner_write_state'),\n aclGroup_read_object: props.t('ra_aclGroup_read_object'),\n aclGroup_read_state: props.t('ra_aclGroup_read_state'),\n aclGroup_write_object: props.t('ra_aclGroup_write_object'),\n aclGroup_write_state: props.t('ra_aclGroup_write_state'),\n aclEveryone_read_object: props.t('ra_aclEveryone_read_object'),\n aclEveryone_read_state: props.t('ra_aclEveryone_read_state'),\n aclEveryone_write_object: props.t('ra_aclEveryone_write_object'),\n aclEveryone_write_state: props.t('ra_aclEveryone_write_state'),\n\n create: props.t('ra_Create'),\n createBooleanState: props.t('ra_create_boolean_state'),\n createNumberState: props.t('ra_create_number_state'),\n createStringState: props.t('ra_create_string_state'),\n createState: props.t('ra_create_state'),\n createChannel: props.t('ra_create_channel'),\n createDevice: props.t('ra_create_device'),\n createFolder: props.t('ra_Create folder'),\n };\n\n this.levelPadding = props.levelPadding || ITEM_LEVEL;\n\n const resizerCurrentWidthsStr = this.localStorage.getItem(`${this.props.dialogName || 'App'}.table`);\n if (resizerCurrentWidthsStr) {\n try {\n const resizerCurrentWidths = JSON.parse(resizerCurrentWidthsStr);\n const width = this.props.width || 'lg';\n this.storedWidths = JSON.parse(JSON.stringify(SCREEN_WIDTHS[width]));\n Object.keys(resizerCurrentWidths).forEach(id => {\n if (id === 'id') {\n SCREEN_WIDTHS[width].idWidth = resizerCurrentWidths.id;\n } else if (id === 'nameHeader') {\n SCREEN_WIDTHS[width].widths.name = resizerCurrentWidths[id];\n } else if ((SCREEN_WIDTHS[width].widths as Record)[id] !== undefined) {\n (SCREEN_WIDTHS[width].widths as Record)[id] = resizerCurrentWidths[id];\n }\n });\n\n this.customWidth = true;\n } catch {\n // ignore\n }\n }\n\n this.calculateColumnsVisibility();\n }\n\n async loadAllObjects(update?: boolean): Promise {\n const props = this.props;\n\n try {\n await new Promise(resolve => {\n this.setState({ updating: true }, () => resolve());\n });\n\n const objects =\n (this.props.objectsWorker\n ? await this.props.objectsWorker.getObjects(update)\n : await props.socket.getObjects(update, true)) || {};\n if (props.types && Connection.isWeb()) {\n for (let i = 0; i < props.types.length; i++) {\n // admin has ALL objects\n // web has only state, channel, device, enum, and system.config\n if (\n props.types[i] === 'state' ||\n props.types[i] === 'channel' ||\n props.types[i] === 'device' ||\n props.types[i] === 'enum'\n ) {\n continue;\n }\n const moreObjects = await props.socket.getObjectViewSystem(props.types[i]);\n Object.assign(objects || {}, moreObjects as Record);\n }\n }\n\n this.systemConfig =\n this.systemConfig ||\n (objects?.['system.config'] as ioBroker.SystemConfigObject) ||\n (await props.socket.getObject('system.config'));\n\n this.systemConfig.common = this.systemConfig.common || ({} as ioBroker.SystemConfigCommon);\n this.systemConfig.common.defaultNewAcl = this.systemConfig.common.defaultNewAcl || {\n object: 0,\n state: 0,\n file: 0,\n owner: 'system.user.admin',\n ownerGroup: 'system.group.administrator',\n };\n this.systemConfig.common.defaultNewAcl.owner =\n this.systemConfig.common.defaultNewAcl.owner || 'system.user.admin';\n this.systemConfig.common.defaultNewAcl.ownerGroup =\n this.systemConfig.common.defaultNewAcl.ownerGroup || 'system.group.administrator';\n if (typeof this.systemConfig.common.defaultNewAcl.state !== 'number') {\n // TODO: may be convert here from string\n this.systemConfig.common.defaultNewAcl.state = 0x664;\n }\n if (typeof this.systemConfig.common.defaultNewAcl.object !== 'number') {\n // TODO: may be convert here from string\n this.systemConfig.common.defaultNewAcl.state = 0x664;\n }\n\n if (typeof props.filterFunc === 'function') {\n this.objects = {};\n const filterFunc: (obj: ioBroker.Object) => boolean = props.filterFunc;\n\n Object.keys(objects).forEach(id => {\n try {\n if (filterFunc(objects[id])) {\n this.objects[id] = objects[id];\n } else {\n const type = objects[id] && objects[id].type;\n // include \"folder\" types too for icons and names of nodes\n if (\n type &&\n (type === 'channel' ||\n type === 'device' ||\n type === 'folder' ||\n type === 'adapter' ||\n type === 'instance')\n ) {\n this.objects[id] = objects[id];\n }\n }\n } catch (e) {\n console.log(`Error by filtering of \"${id}\": ${e}`);\n }\n });\n } else if (props.types) {\n this.objects = {};\n const propsTypes = props.types;\n\n Object.keys(objects).forEach(id => {\n const type = objects[id] && objects[id].type;\n // include \"folder\" types too\n if (\n type &&\n (type === 'channel' ||\n type === 'device' ||\n type === 'enum' ||\n type === 'folder' ||\n type === 'adapter' ||\n type === 'instance' ||\n propsTypes.includes(type))\n ) {\n this.objects[id] = objects[id];\n }\n });\n } else {\n this.objects = objects;\n }\n\n if (props.setObjectsReference) {\n props.setObjectsReference(this.objects);\n }\n\n // read default history\n this.defaultHistory = this.systemConfig.common.defaultHistory;\n if (this.defaultHistory) {\n props.socket\n .getState(`system.adapter.${this.defaultHistory}.alive`)\n .then(state => {\n if (!state || !state.val) {\n this.defaultHistory = '';\n }\n })\n .catch(e => window.alert(`Cannot get state: ${e}`));\n }\n\n const columnsForAdmin = await this.getAdditionalColumns();\n this.calculateColumnsVisibility(null, null, columnsForAdmin);\n\n const { info, root } = buildTree(this.objects, {\n imagePrefix: this.props.imagePrefix,\n root: this.props.root,\n lang: this.props.lang,\n themeType: this.props.themeType,\n });\n this.root = root;\n this.info = info;\n\n // Show first selected item\n const node =\n this.state.selected && this.state.selected.length && findNode(this.root, this.state.selected[0]);\n\n this.lastAppliedFilter = null;\n\n // If the selected ID is not visible, reset filter\n if (\n node &&\n !applyFilter(\n node,\n this.state.filter,\n this.props.lang,\n this.objects,\n undefined,\n undefined,\n props.customFilter,\n props.types,\n )\n ) {\n // reset filter\n this.setState({ filter: { ...DEFAULT_FILTER }, columnsForAdmin }, () => {\n this.setState({ loaded: true, updating: false }, () =>\n this.expandAllSelected(() => this.onAfterSelect()),\n );\n });\n } else {\n this.setState({ loaded: true, updating: false, columnsForAdmin }, () =>\n this.expandAllSelected(() => this.onAfterSelect()),\n );\n }\n } catch (e1) {\n this.showError(e1);\n }\n }\n\n /**\n * Check if it is a non-expert id\n */\n static isNonExpertId(\n /** id to test */\n id: string,\n ): boolean {\n return !!ObjectBrowserClass.#NON_EXPERT_NAMESPACES.find(saveNamespace => id.startsWith(saveNamespace));\n }\n\n private expandAllSelected(cb?: () => void): void {\n const expanded = [...this.state.expanded];\n let changed = false;\n this.state.selected.forEach(id => {\n const parts = id.split('.');\n const path = [];\n for (let i = 0; i < parts.length - 1; i++) {\n path.push(parts[i]);\n if (!expanded.includes(path.join('.'))) {\n expanded.push(path.join('.'));\n changed = true;\n }\n }\n });\n if (changed) {\n expanded.sort();\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectExpanded`, JSON.stringify(expanded));\n this.setState({ expanded }, cb);\n } else if (cb) {\n cb();\n }\n }\n\n /**\n * @param isDouble is double click\n */\n private onAfterSelect(isDouble?: boolean): void {\n if (this.state.selected?.length && this.state.selected[0]) {\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectSelected`, this.state.selected[0]);\n\n // remove a task to select the pre-selected item if now we want to see another object\n if (this.selectFirst && this.selectFirst !== this.state.selected[0]) {\n this.selectFirst = '';\n }\n\n if (this.state.selected.length === 1 && this.objects[this.state.selected[0]]) {\n const name = Utils.getObjectName(this.objects, this.state.selected[0], null, {\n language: this.props.lang,\n });\n if (this.props.onSelect) {\n this.props.onSelect(this.state.selected, name, isDouble);\n }\n }\n } else {\n this.localStorage.removeItem(`${this.props.dialogName || 'App'}.objectSelected`);\n\n if (this.state.selected.length) {\n this.setState({ selected: [] }, () => this.props.onSelect && this.props.onSelect([], ''));\n } else if (this.props.onSelect) {\n this.props.onSelect([], '');\n }\n }\n }\n\n private static getDerivedStateFromProps(\n props: ObjectBrowserProps,\n state: ObjectBrowserState,\n ): Partial | null {\n const newState: Partial = {};\n let changed = false;\n if (props.expertMode !== undefined && props.expertMode !== state.filter.expertMode) {\n changed = true;\n newState.filter = { ...state.filter };\n newState.filter.expertMode = props.expertMode;\n }\n return changed ? newState : null;\n }\n\n /**\n * Called when component is mounted.\n */\n async componentDidMount(): Promise {\n await this.loadAllObjects(!objectsAlreadyLoaded);\n if (this.props.objectsWorker) {\n this.props.objectsWorker.registerHandler(this.onObjectChangeFromWorker);\n } else {\n await this.props.socket.subscribeObject('*', this.onObjectChange);\n }\n\n objectsAlreadyLoaded = true;\n\n window.addEventListener('contextmenu', this.onContextMenu, true);\n }\n\n /**\n * Called when component is unmounted.\n */\n componentWillUnmount(): void {\n if (this.filterTimer) {\n clearTimeout(this.filterTimer);\n this.filterTimer = null;\n }\n window.removeEventListener('contextmenu', this.onContextMenu, true);\n\n if (this.props.objectsWorker) {\n this.props.objectsWorker.unregisterHandler(this.onObjectChangeFromWorker, true);\n } else {\n void this.props.socket\n .unsubscribeObject('*', this.onObjectChange)\n .catch(e => console.error(`Cannot unsubscribe *: ${e}`));\n }\n\n // remove all subscribes\n this.subscribes.forEach(pattern => {\n console.log(`- unsubscribe ${pattern}`);\n this.props.socket.unsubscribeState(pattern, this.onStateChange);\n });\n\n this.subscribes = [];\n this.objects = {};\n }\n\n /**\n * Show the deletion dialog for a given object\n */\n showDeleteDialog(options: { id: string; obj: ioBroker.Object; item: TreeItem }): void {\n const { id, obj, item } = options;\n\n // calculate the number of children\n const keys = Object.keys(this.objects);\n keys.sort();\n let count = 0;\n const start = `${id}.`;\n for (let i = 0; i < keys.length; i++) {\n if (keys[i].startsWith(start)) {\n count++;\n } else if (keys[i] > start) {\n break;\n }\n }\n\n if (this.props.onObjectDelete) {\n this.props.onObjectDelete(id, !!item.children?.length, !obj.common?.dontDelete, count + 1);\n }\n }\n\n /**\n * Context menu handler.\n */\n onContextMenu = (e: MouseEvent): void => {\n // console.log(`CONTEXT MENU: ${this.contextMenu ? Date.now() - this.contextMenu.ts : 'false'}`);\n if (this.contextMenu && Date.now() - this.contextMenu.ts < 2000) {\n e.preventDefault();\n this.setState({\n showContextMenu: {\n item: this.contextMenu.item,\n position: { left: e.clientX + 2, top: e.clientY - 6 },\n },\n });\n } else if (this.state.showContextMenu) {\n e.preventDefault();\n this.setState({ showContextMenu: null });\n }\n this.contextMenu = null;\n };\n\n /**\n * Called when component is mounted.\n */\n refreshComponent(): void {\n // remove all subscribes\n this.subscribes.forEach(pattern => {\n console.log(`- unsubscribe ${pattern}`);\n this.props.socket.unsubscribeState(pattern, this.onStateChange);\n });\n\n this.subscribes = [];\n\n this.loadAllObjects(true)\n .then(() => console.log('updated!'))\n .catch(e => this.showError(e));\n }\n\n /**\n * Renders the error dialog.\n */\n renderErrorDialog(): JSX.Element | null {\n return this.state.error ? (\n this.setState({ error: '' })}\n aria-labelledby=\"error-dialog-title\"\n aria-describedby=\"error-dialog-description\"\n >\n {this.props.t('ra_Error')}\n \n {this.state.error}\n \n \n this.setState({ error: '' })}\n color=\"primary\"\n autoFocus\n startIcon={}\n >\n {this.props.t('ra_Ok')}\n \n \n \n ) : null;\n }\n\n /**\n * Show the error dialog.\n */\n showError(error: any): void {\n this.setState({\n error:\n typeof error === 'object'\n ? error && typeof error.toString === 'function'\n ? error.toString()\n : JSON.stringify(error)\n : error,\n });\n }\n\n /**\n * Called when an item is selected/deselected.\n */\n onSelect(toggleItem: string, isDouble?: boolean, cb?: () => void): void {\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.focused`, toggleItem);\n\n if (!this.props.multiSelect) {\n if (\n this.objects[toggleItem] &&\n (!this.props.types || this.props.types.includes(this.objects[toggleItem].type))\n ) {\n this.localStorage.removeItem(`${this.props.dialogName || 'App'}.selectedNonObject`);\n if (this.state.selected[0] !== toggleItem) {\n this.setState({ selected: [toggleItem], selectedNonObject: '', focused: toggleItem }, () => {\n this.onAfterSelect(isDouble);\n if (cb) {\n cb();\n }\n });\n } else if (isDouble && this.props.onSelect) {\n this.onAfterSelect(isDouble);\n }\n } else {\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.selectedNonObject`, toggleItem);\n this.setState({ selected: [], selectedNonObject: toggleItem, focused: toggleItem }, () => {\n this.onAfterSelect();\n if (cb) {\n cb();\n }\n });\n }\n } else if (\n this.objects[toggleItem] &&\n (!this.props.types || this.props.types.includes(this.objects[toggleItem].type))\n ) {\n this.localStorage.removeItem(`${this.props.dialogName || 'App'}.selectedNonObject`);\n\n const selected = [...this.state.selected];\n const pos = selected.indexOf(toggleItem);\n if (pos === -1) {\n selected.push(toggleItem);\n selected.sort();\n } else if (!isDouble) {\n selected.splice(pos, 1);\n }\n\n this.setState({ selected, selectedNonObject: '', focused: toggleItem }, () => {\n this.onAfterSelect(isDouble);\n if (cb) {\n cb();\n }\n });\n }\n }\n\n private _renderDefinedList(isLast: boolean): JSX.Element[] {\n const cols = [...this.possibleCols];\n cols.unshift('id');\n if (this.props.columns && !this.props.columns.includes('buttons')) {\n const pos = cols.indexOf('buttons');\n if (pos !== -1) {\n cols.splice(pos, 1);\n }\n }\n return cols\n .filter(\n id => (isLast && (id === 'val' || id === 'buttons')) || (!isLast && id !== 'val' && id !== 'buttons'),\n )\n .map(id => (\n {\n if (!this.state.columnsAuto && id !== 'id') {\n const columns = [...(this.state.columns || [])];\n const pos = columns.indexOf(id);\n if (pos === -1) {\n columns.push(id);\n columns.sort();\n } else {\n columns.splice(pos, 1);\n }\n this.localStorage.setItem(\n `${this.props.dialogName || 'App'}.columns`,\n JSON.stringify(columns),\n );\n this.calculateColumnsVisibility(null, columns);\n this.setState({ columns });\n }\n }}\n key={id}\n >\n \n \n {/*\n \n \n {\n const columnsWidths = JSON.parse(JSON.stringify(this.state.columnsWidths));\n columnsWidths[id] = e.target.value;\n this.localStorage.setItem((this.props.dialogName || 'App') + '.columnsWidths', JSON.stringify(columnsWidths));\n this.calculateColumnsVisibility(null, null, null, columnsWidths);\n this.setState({ columnsWidths });\n }}\n autoComplete=\"off\"\n />\n \n \n */}\n \n ));\n }\n\n /**\n * Renders the columns' selector.\n */\n renderColumnsSelectorDialog(): JSX.Element | null {\n if (!this.state.columnsSelectorShow) {\n return null;\n }\n return (\n this.setState({ columnsSelectorShow: false })}\n open={!0}\n sx={{\n '& .MuiPaper-root': Utils.getStyle(\n this.props.theme,\n styles.dialogColumns,\n styles[`transparent_${this.state.columnsDialogTransparent}`],\n ),\n }}\n >\n {this.props.t('ra_Configure')}\n \n {\n this.localStorage.setItem(\n `${this.props.dialogName || 'App'}.foldersFirst`,\n this.state.foldersFirst ? 'false' : 'true',\n );\n this.setState({ foldersFirst: !this.state.foldersFirst });\n }}\n />\n }\n label={this.props.t('ra_Folders always first')}\n />\n {\n this.localStorage.setItem(\n `${this.props.dialogName || 'App'}.lines`,\n this.state.linesEnabled ? 'false' : 'true',\n );\n this.setState({ linesEnabled: !this.state.linesEnabled });\n }}\n />\n }\n label={this.props.t('ra_Show lines between rows')}\n />\n {\n this.localStorage.setItem(\n `${this.props.dialogName || 'App'}.columnsAuto`,\n this.state.columnsAuto ? 'false' : 'true',\n );\n if (!this.state.columnsAuto) {\n this.calculateColumnsVisibility(true);\n this.setState({ columnsAuto: true });\n } else if (!this.state.columns) {\n this.calculateColumnsVisibility(false, [...this.visibleCols]);\n this.setState({ columnsAuto: false, columns: [...this.visibleCols] });\n } else {\n this.calculateColumnsVisibility(false);\n this.setState({ columnsAuto: false });\n }\n }}\n />\n }\n label={this.props.t('ra_Auto (no custom columns)')}\n />\n {/*\n {this.props.t('ra_Transparent dialog')}\n \n this.setState({ columnsDialogTransparent: newValue })\n } />\n */}\n \n {this._renderDefinedList(false)}\n\n {this.state.columnsForAdmin &&\n Object.keys(this.state.columnsForAdmin)\n .sort()\n .map(\n adapter =>\n this.state.columnsForAdmin &&\n this.state.columnsForAdmin[adapter].map(column => (\n {\n if (!this.state.columnsAuto) {\n const columns = [...(this.state.columns || [])];\n const id: ObjectBrowserPossibleColumns =\n `_${adapter}_${column.path}` as ObjectBrowserPossibleColumns;\n const pos = columns.indexOf(id);\n if (pos === -1) {\n columns.push(id);\n columns.sort();\n } else {\n columns.splice(pos, 1);\n }\n this.calculateColumnsVisibility(null, columns);\n this.localStorage.setItem(\n `${this.props.dialogName || 'App'}.columns`,\n JSON.stringify(columns),\n );\n this.setState({ columns });\n }\n }}\n key={`${adapter}_${column.name}`}\n >\n \n \n \n \n {/*\n \n \n {\n const columnsWidths = JSON.parse(JSON.stringify(this.state.columnsWidths));\n columnsWidths['_' + adapter + '_' + column.path] = e.target.value;\n this.localStorage.setItem((this.props.dialogName || 'App') + '.columnsWidths', JSON.stringify(columnsWidths));\n this.calculateColumnsVisibility(null, null, null, columnsWidths);\n this.setState({ columnsWidths });\n }}\n autoComplete=\"off\"\n />\n \n \n */}\n \n )),\n )}\n {this._renderDefinedList(true)}\n \n \n \n this.setState({ columnsSelectorShow: false })}\n color=\"primary\"\n startIcon={}\n >\n {this.texts.close}\n \n \n \n );\n }\n\n private async getAdditionalColumns(): Promise | null> {\n try {\n const instances = await this.props.socket.getAdapters();\n\n let columnsForAdmin: Record | null = null;\n // find all additional columns\n instances.forEach(obj => (columnsForAdmin = this.parseObjectForAdmins(columnsForAdmin, obj)));\n\n return columnsForAdmin;\n } catch (err) {\n // window.alert('Cannot get adapters: ' + e);\n // Object browser in Web has no additional columns\n console.error(`Cannot get adapters: ${err}`);\n return null;\n }\n }\n\n private checkUnsubscribes(): void {\n // Remove unused subscriptions\n for (let i = this.subscribes.length - 1; i >= 0; i--) {\n if (!this.recordStates.includes(this.subscribes[i])) {\n this.unsubscribe(this.subscribes[i]);\n }\n }\n this.recordStates = [];\n }\n\n /**\n * Find an item.\n */\n findItem(id: string, _parts?: string[], _root?: TreeItem | null, _partyId?: string): TreeItem | null {\n _parts = _parts || id.split('.');\n _root = _root || this.root;\n if (!_root || !_parts.length) {\n return null;\n }\n\n _partyId = (_partyId ? `${_partyId}.` : '') + _parts.shift();\n\n if (_root.children) {\n const item = _root.children.find(i => i.data.id === _partyId);\n if (item) {\n if (item.data.id === id) {\n return item;\n }\n if (_parts.length) {\n return this.findItem(id, _parts, item, _partyId);\n }\n } else {\n return null;\n }\n }\n\n return null;\n }\n\n /**\n * Called when a state changes.\n */\n onStateChange = (id: string, state?: ioBroker.State | null): void => {\n console.log(`> stateChange ${id}`);\n if (this.states[id]) {\n const item = this.findItem(id);\n if (item?.data.state) {\n item.data.state = undefined;\n }\n }\n if (state) {\n this.states[id] = state;\n } else {\n delete this.states[id];\n }\n\n if (!this.pausedSubscribes) {\n if (!this.statesUpdateTimer) {\n this.statesUpdateTimer = setTimeout(() => {\n this.statesUpdateTimer = null;\n this.forceUpdate();\n }, 300);\n }\n } else if (this.statesUpdateTimer) {\n clearTimeout(this.statesUpdateTimer);\n this.statesUpdateTimer = null;\n }\n };\n\n private parseObjectForAdmins(\n columnsForAdmin: Record | null,\n obj: ioBroker.AdapterObject,\n ): Record | null {\n if (obj.common && obj.common.adminColumns && obj.common.name) {\n const columns: string | (string | ioBroker.CustomAdminColumn)[] = obj.common.adminColumns;\n let aColumns: (string | ioBroker.CustomAdminColumn)[] | undefined;\n if (columns && typeof columns !== 'object') {\n aColumns = [columns];\n } else if (columns) {\n aColumns = columns as (string | ioBroker.CustomAdminColumn)[];\n }\n let cColumns: CustomAdminColumnStored[] | null;\n if (columns) {\n cColumns = aColumns\n .map((_item: string | ioBroker.CustomAdminColumn) => {\n if (typeof _item !== 'object') {\n return { path: _item, name: _item.split('.').pop() };\n }\n const item: ioBroker.CustomAdminColumn = _item;\n // string => array\n if (item.objTypes && typeof item.objTypes !== 'object') {\n item.objTypes = [item.objTypes];\n } else if (!item.objTypes) {\n item.objTypes = undefined;\n }\n\n if (!item.name && item.path) {\n return {\n path: item.path,\n name: item.path.split('.').pop(),\n width: item.width,\n edit: !!item.edit,\n type: item.type,\n objTypes: item.objTypes,\n } as CustomAdminColumnStored;\n }\n if (!item.path) {\n console.warn(`Admin columns for ${obj._id} ignored, because path not found`);\n return null;\n }\n return {\n path: item.path,\n name: getName(item.name || '', this.props.lang),\n width: item.width,\n edit: !!item.edit,\n type: item.type,\n objTypes: item.objTypes,\n } as CustomAdminColumnStored;\n })\n .filter((item: CustomAdminColumnStored) => item);\n } else {\n cColumns = null;\n }\n\n if (cColumns && cColumns.length) {\n columnsForAdmin = columnsForAdmin || {};\n columnsForAdmin[obj.common.name] = cColumns.sort((a, b) =>\n a.path > b.path ? -1 : a.path < b.path ? 1 : 0,\n );\n }\n } else if (obj.common && obj.common.name && columnsForAdmin && columnsForAdmin[obj.common.name]) {\n delete columnsForAdmin[obj.common.name];\n }\n return columnsForAdmin;\n }\n\n onObjectChangeFromWorker = (events: ObjectEvent[]): void => {\n if (Array.isArray(events)) {\n let newState: { columnsForAdmin: Record | null } | null = null;\n events.forEach(event => {\n const { newInnerState, filtered } = this.processOnObjectChangeElement(event.id, event.obj);\n if (filtered) {\n return;\n }\n if (newInnerState && newState) {\n Object.assign(newState, newInnerState);\n } else {\n newState = newInnerState;\n }\n });\n\n if (newState) {\n this.setState(newState);\n }\n this.afterObjectUpdated();\n }\n };\n\n onObjectChange = (id: string, obj?: ioBroker.Object | null): void => {\n const { newInnerState, filtered } = this.processOnObjectChangeElement(id, obj);\n if (filtered) {\n return;\n }\n\n if (newInnerState) {\n this.setState(newInnerState);\n }\n this.afterObjectUpdated();\n };\n\n afterObjectUpdated(): void {\n if (!this.objectsUpdateTimer && this.objects) {\n this.objectsUpdateTimer = setTimeout(() => {\n this.objectsUpdateTimer = null;\n const { info, root } = buildTree(this.objects, {\n imagePrefix: this.props.imagePrefix,\n root: this.props.root,\n lang: this.props.lang,\n themeType: this.props.themeType,\n });\n this.root = root;\n this.info = info;\n this.lastAppliedFilter = null; // apply filter anew\n\n if (!this.pausedSubscribes) {\n this.forceUpdate();\n }\n // else it will be re-rendered when the dialog will be closed\n }, 500);\n }\n }\n\n // This function is called when the user changes the alias of an object.\n // It updates the aliasMap and returns true if the aliasMap has changed.\n updateAliases(aliasId: string): void {\n if (!this.objects || !this.info?.aliasesMap || !aliasId?.startsWith('alias.')) {\n return;\n }\n // Rebuild aliases map\n const aliasesIds = Object.keys(this.objects).filter(id => id.startsWith('alias.0'));\n\n this.info.aliasesMap = {};\n\n for (const id of aliasesIds) {\n const obj = this.objects[id];\n if (obj?.common?.alias?.id) {\n if (typeof obj.common.alias.id === 'string') {\n const usedId = obj.common.alias.id;\n if (!this.info.aliasesMap[usedId]) {\n this.info.aliasesMap[usedId] = [id];\n } else if (!this.info.aliasesMap[usedId].includes(id)) {\n this.info.aliasesMap[usedId].push(id);\n }\n } else {\n const readId = obj.common.alias.id.read;\n if (readId) {\n if (!this.info.aliasesMap[readId]) {\n this.info.aliasesMap[readId] = [id];\n } else if (!this.info.aliasesMap[readId].includes(id)) {\n this.info.aliasesMap[readId].push(id);\n }\n }\n const writeId = obj.common.alias.id.write;\n if (writeId) {\n if (!this.info.aliasesMap[writeId]) {\n this.info.aliasesMap[writeId] = [id];\n } else if (!this.info.aliasesMap[writeId].includes(id)) {\n this.info.aliasesMap[writeId].push(id);\n }\n }\n }\n }\n }\n }\n\n /**\n * Processes a single element in regard to certain filters, columns for admin and updates object dict\n *\n * @param id The id of the object\n * @param obj The object itself\n * @returns Returns an object containing the new state (if any) and whether the object was filtered.\n */\n processOnObjectChangeElement(\n id: string,\n obj?: ioBroker.Object | null,\n ): {\n filtered: boolean;\n newInnerState: null | { columnsForAdmin: Record | null };\n } {\n console.log(`> objectChange ${id}`);\n const type = obj?.type;\n\n // If the object is filtered out, we don't need to update the React state\n if (\n obj &&\n typeof this.props.filterFunc === 'function' &&\n !this.props.filterFunc(obj) &&\n type !== 'channel' &&\n type !== 'device' &&\n type !== 'folder' &&\n type !== 'adapter' &&\n type !== 'instance'\n ) {\n return { newInnerState: null, filtered: true };\n }\n\n let newInnerState = null;\n if (id.startsWith('system.adapter.') && obj?.type === 'adapter') {\n const columnsForAdmin: Record | null = JSON.parse(\n JSON.stringify(this.state.columnsForAdmin),\n );\n\n this.parseObjectForAdmins(columnsForAdmin, obj as ioBroker.AdapterObject);\n\n if (JSON.stringify(this.state.columnsForAdmin) !== JSON.stringify(columnsForAdmin)) {\n newInnerState = { columnsForAdmin };\n }\n }\n\n this.objects = this.objects || {};\n\n if (obj) {\n this.objects[id] = obj;\n } else if (this.objects[id]) {\n delete this.objects[id];\n }\n\n this.updateAliases(id);\n\n return { newInnerState, filtered: false };\n }\n\n private subscribe(id: string): void {\n if (!this.subscribes.includes(id)) {\n this.subscribes.push(id);\n console.log(`+ subscribe ${id}`);\n if (!this.pausedSubscribes) {\n this.props.socket\n .subscribeState(id, this.onStateChange)\n .catch(e => console.error(`Cannot subscribe on state ${id}: ${e}`));\n }\n }\n }\n\n private unsubscribe(id: string): void {\n const pos = this.subscribes.indexOf(id);\n if (pos !== -1) {\n this.subscribes.splice(pos, 1);\n if (this.states[id]) {\n delete this.states[id];\n }\n console.log(`- unsubscribe ${id}`);\n this.props.socket.unsubscribeState(id, this.onStateChange);\n\n if (this.pausedSubscribes) {\n console.warn('Unsubscribe during pause?');\n }\n }\n }\n\n private pauseSubscribe(isPause: boolean): void {\n if (!this.pausedSubscribes && isPause) {\n this.pausedSubscribes = true;\n this.subscribes.forEach(id => this.props.socket.unsubscribeState(id, this.onStateChange));\n } else if (this.pausedSubscribes && !isPause) {\n this.pausedSubscribes = false;\n this.subscribes.forEach(id => this.props.socket.subscribeState(id, this.onStateChange));\n }\n }\n\n private onFilter(name?: string, value?: string | boolean): void {\n this.filterTimer = null;\n const filter: ObjectBrowserFilter = { ...this.state.filter };\n\n Object.keys(this.filterRefs).forEach(_name => {\n if (this.filterRefs[_name] && this.filterRefs[_name].current) {\n const filterRef: HTMLSelectElement = this.filterRefs[_name].current;\n for (let i = 0; i < filterRef.children.length; i++) {\n if (filterRef.children[i].tagName === 'INPUT') {\n (filter as Record)[_name] = (filterRef.children[i] as HTMLInputElement).value;\n break;\n }\n }\n }\n });\n\n if (name) {\n (filter as Record)[name] = value;\n if (name === 'expertMode') {\n (((window as any)._sessionStorage as Storage) || window.sessionStorage).setItem(\n 'App.expertMode',\n value ? 'true' : 'false',\n );\n }\n }\n\n if (JSON.stringify(this.state.filter) !== JSON.stringify(filter)) {\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectFilter`, JSON.stringify(filter));\n this.setState({ filter }, () => this.props.onFilterChanged && this.props.onFilterChanged(filter));\n }\n }\n\n clearFilter(): void {\n const filter: ObjectBrowserFilter = { ...this.state.filter };\n\n Object.keys(this.filterRefs).forEach(name => {\n if (this.filterRefs[name] && this.filterRefs[name].current) {\n const filterRef: HTMLSelectElement = this.filterRefs[name].current;\n for (let i = 0; i < filterRef.childNodes.length; i++) {\n const item = filterRef.childNodes[i];\n if ((item as HTMLInputElement).tagName === 'INPUT') {\n (filter as Record)[name] = '';\n (item as HTMLInputElement).value = '';\n break;\n }\n }\n }\n });\n\n if (JSON.stringify(this.state.filter) !== JSON.stringify(filter)) {\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectFilter`, JSON.stringify(filter));\n this.setState(\n { filter, filterKey: this.state.filterKey + 1 },\n () => this.props.onFilterChanged && this.props.onFilterChanged(filter),\n );\n }\n }\n\n isFilterEmpty(): boolean {\n const someNotEmpty = Object.keys(this.state.filter).find(\n attr => attr !== 'expertMode' && (this.state.filter as Record)[attr],\n );\n return !someNotEmpty;\n }\n\n private getFilterInput(filterName: string): JSX.Element {\n return (\n \n )[filterName] || ''}\n onChange={() => {\n if (this.filterTimer) {\n clearTimeout(this.filterTimer);\n }\n this.filterTimer = setTimeout(() => this.onFilter(), 400);\n }}\n autoComplete=\"off\"\n />\n {(this.filterRefs[filterName]?.current?.firstChild as HTMLInputElement)?.value ? (\n \n {\n (this.filterRefs[filterName].current?.firstChild as HTMLInputElement).value = '';\n this.onFilter(filterName, '');\n }}\n >\n \n \n \n ) : null}\n \n );\n }\n\n private getFilterSelect(name: string, values?: (string | InputSelectItem)[]): JSX.Element {\n const hasIcons = !!values?.find(item => (item as InputSelectItem).icon);\n\n return (\n
    \n {\n if (this.filterTimer) {\n clearTimeout(this.filterTimer);\n }\n this.filterTimer = setTimeout(() => this.onFilter(), 400);\n }}\n defaultValue={(this.state.filter as Record)[name] || ''}\n inputProps={{ name, id: name }}\n displayEmpty\n >\n \n {this.texts[`filter_${name}`]}\n \n {values?.map(item => {\n let id: string;\n let _name: string;\n let icon: null | JSX.Element | undefined;\n if (typeof item === 'object') {\n id = item.value;\n _name = item.name;\n icon = item.icon;\n } else {\n id = item;\n _name = item;\n }\n return (\n \n {icon || (hasIcons ?
    : null)}\n {_name}\n \n );\n })}\n \n {(this.filterRefs[name]?.current?.childNodes[1] as HTMLInputElement)?.value ? (\n \n {\n const newFilter: ObjectBrowserFilter = { ...this.state.filter };\n (newFilter as Record)[name] = '';\n (this.filterRefs[name].current?.childNodes[1] as HTMLInputElement).value = '';\n this.localStorage.setItem(\n `${this.props.dialogName || 'App'}.objectFilter`,\n JSON.stringify(newFilter),\n );\n this.setState(\n { filter: newFilter, filterKey: this.state.filterKey + 1 },\n () => this.props.onFilterChanged && this.props.onFilterChanged(newFilter),\n );\n }}\n >\n \n \n \n ) : null}\n
    \n );\n }\n\n private getFilterSelectRole(): JSX.Element {\n return this.getFilterSelect('role', this.info.roles);\n }\n\n private getFilterSelectRoom(): JSX.Element {\n const rooms: InputSelectItem[] = this.info.roomEnums.map(\n id =>\n ({\n name: getName(this.objects[id]?.common?.name, this.props.lang) || id.split('.').pop(),\n value: id,\n icon: (\n \n ),\n }) as InputSelectItem,\n );\n\n return this.getFilterSelect('room', rooms);\n }\n\n private getFilterSelectFunction(): JSX.Element {\n const func: InputSelectItem[] = this.info.funcEnums.map(\n id =>\n ({\n name: getName(this.objects[id]?.common?.name, this.props.lang) || id.split('.').pop(),\n value: id,\n icon: (\n \n ),\n }) as InputSelectItem,\n );\n\n return this.getFilterSelect('func', func);\n }\n\n private getFilterSelectType(): JSX.Element {\n const types = this.info.types.map(type => ({\n name: type,\n value: type,\n icon: ITEM_IMAGES[type] || null,\n }));\n\n return this.getFilterSelect('type', types);\n }\n\n private getFilterSelectCustoms(): JSX.Element | null {\n if (this.info.customs.length > 1) {\n const customs = this.info.customs.map(id => ({\n name: id === '_' ? this.texts.filterCustomsWithout : id,\n value: id,\n icon:\n id === '_' ? null : (\n \n ),\n }));\n return this.getFilterSelect('custom', customs);\n }\n return null;\n }\n\n private onExpandAll(root?: TreeItem, expanded?: string[]): void {\n const _root: TreeItem | null = root || this.root;\n expanded = expanded || [];\n\n _root?.children?.forEach((item: TreeItem) => {\n if (item.data.sumVisibility) {\n expanded.push(item.data.id);\n this.onExpandAll(item, expanded);\n }\n });\n\n if (_root === this.root) {\n expanded.sort();\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectExpanded`, JSON.stringify(expanded));\n\n this.setState({ expanded });\n }\n }\n\n private onCollapseAll(): void {\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectExpanded`, JSON.stringify([]));\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectSelected`, '[]');\n this.setState({ expanded: [], depth: 0, selected: [] }, () => this.onAfterSelect());\n }\n\n private expandDepth(root: TreeItem, depth: number, expanded: string[]): void {\n root = root || this.root;\n if (depth > 0) {\n root.children?.forEach(item => {\n if (item.data.sumVisibility) {\n if (!binarySearch(expanded, item.data.id)) {\n expanded.push(item.data.id);\n expanded.sort();\n }\n if (depth - 1 > 0) {\n this.expandDepth(item, depth - 1, expanded);\n }\n }\n });\n }\n }\n\n private static collapseDepth(depth: number, expanded: string[]): string[] {\n return expanded.filter(id => id.split('.').length <= depth);\n }\n\n private onExpandVisible(): void {\n if (this.state.depth < 9) {\n const depth = this.state.depth + 1;\n const expanded = [...this.state.expanded];\n if (this.root) {\n this.expandDepth(this.root, depth, expanded);\n }\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectExpanded`, JSON.stringify(expanded));\n this.setState({ depth, expanded });\n }\n }\n\n private onStatesViewVisible(): void {\n const statesView = !this.state.statesView;\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectStatesView`, JSON.stringify(statesView));\n this.setState({ statesView });\n }\n\n private onCollapseVisible(): void {\n if (this.state.depth > 0) {\n const depth = this.state.depth - 1;\n const expanded = ObjectBrowserClass.collapseDepth(depth, this.state.expanded);\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectExpanded`, JSON.stringify(expanded));\n this.setState({ depth, expanded });\n }\n }\n\n private getEnumsForId = (id: string): ioBroker.EnumObject[] | undefined => {\n const result: ioBroker.EnumObject[] = [];\n this.info.enums.forEach(_id => {\n if (this.objects[_id]?.common?.members?.includes(id)) {\n const enumItem: ioBroker.EnumObject = {\n _id: this.objects[_id]._id,\n common: JSON.parse(JSON.stringify(this.objects[_id].common)) as ioBroker.EnumCommon,\n native: this.objects[_id].native,\n type: 'enum',\n } as ioBroker.EnumObject;\n if (enumItem.common) {\n delete enumItem.common.members;\n delete enumItem.common.custom;\n // @ts-expect-error deprecated attribute\n delete enumItem.common.mobile;\n }\n result.push(enumItem);\n }\n });\n\n return result.length ? result : undefined;\n };\n\n private _createAllEnums = async (enums: (string | ioBroker.EnumObject)[], objId: string): Promise => {\n for (let e = 0; e < enums.length; e++) {\n const item: string | ioBroker.EnumObject = enums[e];\n let id: string;\n let newObj: ioBroker.EnumObject | undefined;\n\n // some admin version delivered enums as string\n if (typeof item === 'object') {\n newObj = item;\n id = newObj._id;\n } else {\n id = item;\n }\n\n let oldObj: ioBroker.EnumObject | undefined = this.objects[id] as ioBroker.EnumObject | undefined;\n // if enum does not exist\n if (!oldObj) {\n // create a new one\n oldObj =\n newObj ||\n ({\n _id: id,\n common: {\n name: id.split('.').pop(),\n members: [],\n },\n native: {},\n type: 'enum',\n } as ioBroker.EnumObject);\n\n oldObj.common = oldObj.common || ({} as ioBroker.EnumCommon);\n oldObj.common.members = [objId];\n oldObj.type = 'enum';\n\n await this.props.socket.setObject(id, oldObj);\n } else if (!oldObj.common?.members?.includes(objId)) {\n oldObj.common = oldObj.common || ({} as ioBroker.EnumCommon);\n oldObj.type = 'enum';\n oldObj.common.members = oldObj.common.members || [];\n // add the missing object\n oldObj.common.members.push(objId);\n oldObj.common.members.sort();\n await this.props.socket.setObject(id, oldObj);\n }\n }\n };\n\n private async loadObjects(objs: Record): Promise {\n if (objs) {\n for (const id in objs) {\n if (!Object.prototype.hasOwnProperty.call(objs, id) || !objs[id]) {\n continue;\n }\n const obj = objs[id];\n let enums = null;\n let val;\n let ack;\n if (obj && obj.common && obj.common.enums) {\n enums = obj.common.enums;\n delete obj.common.enums;\n } else {\n enums = null;\n }\n\n if (obj.val || obj.val === 0) {\n val = obj.val;\n delete obj.val;\n }\n if (obj.ack !== undefined) {\n ack = obj.ack;\n delete obj.ack;\n }\n try {\n await this.props.socket.setObject(id, obj);\n if (enums) {\n await this._createAllEnums(enums, obj._id);\n }\n if (obj.type === 'state') {\n if (val !== undefined && val !== null) {\n try {\n await this.props.socket.setState(obj._id, val, ack !== undefined ? ack : true);\n } catch (e) {\n window.alert(`Cannot set state \"${obj._id} with ${val}\": ${e}`);\n }\n } else {\n try {\n const state = await this.props.socket.getState(obj._id);\n if (!state || state.val === null) {\n try {\n await this.props.socket.setState(\n obj._id,\n !obj.common || obj.common.def === undefined ? null : obj.common.def,\n true,\n );\n } catch (e) {\n window.alert(`Cannot set state \"${obj._id}\": ${e}`);\n }\n }\n } catch (e) {\n window.alert(`Cannot read state \"${obj._id}\": ${e}`);\n }\n }\n }\n } catch (error) {\n window.alert(error);\n }\n }\n }\n }\n\n _getSelectedIdsForExport(): string[] {\n if (this.state.selected.length || this.state.selectedNonObject) {\n const result = [];\n const keys = Object.keys(this.objects);\n keys.sort();\n const id = this.state.selected[0] || this.state.selectedNonObject;\n const idDot = `${id}.`;\n const idLen = idDot.length;\n for (let k = 0; k < keys.length; k++) {\n const key = keys[k];\n if (id === key || key.startsWith(idDot)) {\n result.push(key);\n }\n if (key.substring(0, idLen) > idDot) {\n break;\n }\n }\n\n return result;\n }\n return [];\n }\n\n /**\n * Exports the selected objects based on the given options and triggers file generation\n */\n private async _exportObjects(\n /** Options to filter/reduce the output */\n options: {\n /** Whether all objects should be exported or only the selected ones */\n isAll?: boolean;\n /** Whether the output should be beautified */\n beautify?: boolean;\n /** Whether \"system.repositories\" should be excluded */\n excludeSystemRepositories?: boolean;\n /** Whether translations should be reduced to only the english value */\n excludeTranslations?: boolean;\n /** Whether the values of the states should be not included */\n noStatesByExportImport?: boolean;\n },\n ): Promise {\n if (options.isAll) {\n generateFile('allObjects.json', this.objects, options);\n return;\n }\n if (!(this.state.selected.length || this.state.selectedNonObject)) {\n window.alert(this.props.t('ra_Save of objects-tree is not possible'));\n return;\n }\n const result: Record = {};\n const id = this.state.selected[0] || this.state.selectedNonObject;\n const ids = this._getSelectedIdsForExport();\n\n for (const key of ids) {\n result[key] = JSON.parse(JSON.stringify(this.objects[key])) as ioBrokerObjectForExport;\n // read states values\n if (result[key]?.type === 'state' && !options.noStatesByExportImport) {\n const state = await this.props.socket.getState(key);\n if (state) {\n result[key].val = state.val;\n result[key].ack = state.ack;\n }\n }\n // add enum information\n if (result[key].common) {\n const enums = this.getEnumsForId(key);\n if (enums) {\n result[key].common.enums = enums;\n }\n }\n }\n\n generateFile(`${id}.json`, result, options);\n }\n\n renderExportDialog(): JSX.Element | null {\n if (this.state.showExportDialog === false) {\n return null;\n }\n return (\n \n {this.props.t('ra_Select type of export')}\n \n \n {this.state.filter.expertMode || this.state.showAllExportOptions ? (\n <>\n {this.props.t('ra_You can export all objects or just the selected branch.')}\n
    \n {this.props.t('ra_Selected %s object(s)', this.state.showExportDialog)}\n
    \n this.setState({ noStatesByExportImport: e.target.checked })}\n />\n }\n label={this.props.t('ra_Do not export values of states')}\n />\n
    \n {this.props.t('These options can reduce the size of the export file:')}\n this.setState({ beautifyJsonExport: e.target.checked })}\n />\n }\n label={this.props.t('Beautify JSON output')}\n />\n
    \n \n this.setState({ excludeSystemRepositoriesFromExport: e.target.checked })\n }\n />\n }\n label={this.props.t('Exclude system repositories from export JSON')}\n />\n this.setState({ excludeTranslations: e.target.checked })}\n />\n }\n label={this.props.t('Exclude translations (except english) from export JSON')}\n />\n \n ) : null}\n
    \n
    \n \n {this.state.filter.expertMode || this.state.showAllExportOptions ? (\n \n this.setState({ showExportDialog: false, showAllExportOptions: false }, () =>\n this._exportObjects({\n isAll: true,\n noStatesByExportImport: this.state.noStatesByExportImport,\n beautify: this.state.beautifyJsonExport,\n excludeSystemRepositories: this.state.excludeSystemRepositoriesFromExport,\n excludeTranslations: this.state.excludeTranslations,\n }),\n )\n }\n >\n {this.props.t('ra_All objects')}(\n {Object.keys(this.objects).length})\n \n ) : (\n }\n onClick={() => this.setState({ showAllExportOptions: true })}\n >\n {this.props.t('ra_Advanced options')}\n \n )}\n \n this.setState({ showExportDialog: false, showAllExportOptions: false }, () =>\n this._exportObjects({\n isAll: false,\n noStatesByExportImport: this.state.noStatesByExportImport,\n beautify: this.state.beautifyJsonExport,\n excludeSystemRepositories: this.state.excludeSystemRepositoriesFromExport,\n excludeTranslations: this.state.excludeTranslations,\n }),\n )\n }\n >\n {this.props.t('ra_Only selected')}(\n {this.state.showExportDialog})\n \n this.setState({ showExportDialog: false, showAllExportOptions: false })}\n startIcon={}\n >\n {this.props.t('ra_Cancel')}\n \n \n \n );\n }\n\n private handleJsonUpload(evt: Event): void {\n const target = evt.target as HTMLInputElement;\n const f = target.files?.length && target.files[0];\n if (f) {\n const r = new FileReader();\n r.onload = async e => {\n const contents = e.target?.result;\n try {\n const json = JSON.parse(contents as string);\n const len = Object.keys(json).length;\n const id = json._id;\n // it could be a single object or many objects\n if (id === undefined && len) {\n // many objects\n await this.loadObjects(json as Record);\n window.alert(this.props.t('ra_%s object(s) processed', len));\n } else {\n // it is only one object in form\n // {\n // \"_id\": \"xxx\",\n // \"common\": \"yyy\",\n // \"native\": \"zzz\"\n // \"val\": JSON.stringify(value)\n // \"ack\": true\n // }\n if (!id) {\n return window.alert(this.props.t('ra_Invalid structure'));\n }\n try {\n let enums;\n let val;\n let ack;\n if (json.common.enums) {\n enums = json.common.enums;\n delete json.common.enums;\n }\n if (json.val) {\n val = json.val;\n delete json.val;\n }\n if (json.ack !== undefined) {\n ack = json.ack;\n delete json.ack;\n }\n await this.props.socket.setObject(json._id, json);\n\n if (json.type === 'state') {\n if (val !== undefined && val !== null) {\n await this.props.socket.setState(json._id, val, ack === undefined ? true : ack);\n } else {\n const state = await this.props.socket.getState(json._id);\n if (!state || state.val === null || state.val === undefined) {\n await this.props.socket.setState(\n json._id,\n json.common.def === undefined ? null : json.common.def,\n true,\n );\n }\n }\n }\n if (enums) {\n await this._createAllEnums(enums, json._id);\n }\n\n window.alert(this.props.t('ra_%s was imported', json._id));\n } catch (err) {\n window.alert(err);\n }\n }\n } catch (err) {\n window.alert(err);\n }\n return null;\n };\n r.readAsText(f);\n } else {\n window.alert(this.props.t('ra_Failed to open JSON File'));\n }\n }\n\n toolTipObjectCreating = (): JSX.Element[] | string => {\n const { t } = this.props;\n\n let value = [\n
    {t('ra_Only following structures of objects are available:')}
    ,\n
    {t('ra_Folder → State')}
    ,\n
    {t('ra_Folder → Channel → State')}
    ,\n
    {t('ra_Folder → Device → Channel → State')}
    ,\n
    {t('ra_Device → Channel → State')}
    ,\n
    {t('ra_Channel → State')}
    ,\n ,\n
    {t('ra_Non-experts may create new objects only in \"0_userdata.0\" or \"alias.0\".')}
    ,\n
    \n {t(\n 'ra_The experts may create objects everywhere but from second level (e.g. \"vis.0\" or \"javascript.0\").',\n )}\n
    ,\n ];\n\n if (this.state.selected.length || this.state.selectedNonObject) {\n const id = this.state.selected[0] || this.state.selectedNonObject;\n if (id.split('.').length < 2 || (this.objects[id] && this.objects[id]?.type === 'state')) {\n // show default tooltip\n } else if (this.state.filter.expertMode) {\n switch (this.objects[id]?.type) {\n case 'device':\n value = [\n
    {t('ra_Only following structures of objects are available:')}
    ,\n
    {t('ra_Device → Channel → State')}
    ,\n ,\n
    \n {t('ra_Non-experts may create new objects only in \"0_userdata.0\" or \"alias.0\".')}\n
    ,\n
    \n {t(\n 'ra_The experts may create objects everywhere but from second level (e.g. \"vis.0\" or \"javascript.0\").',\n )}\n
    ,\n ];\n break;\n case 'folder':\n value = [\n
    {t('ra_Only following structures of objects are available:')}
    ,\n
    {t('ra_Folder → State')}
    ,\n
    {t('ra_Folder → Channel → State')}
    ,\n
    {t('ra_Folder → Device → Channel → State')}
    ,\n ,\n
    \n {t('ra_Non-experts may create new objects only in \"0_userdata.0\" or \"alias.0\".')}\n
    ,\n
    \n {t(\n 'ra_The experts may create objects everywhere but from second level (e.g. \"vis.0\" or \"javascript.0\").',\n )}\n
    ,\n ];\n break;\n case 'channel':\n value = [\n
    {t('ra_Only following structures of objects are available:')}
    ,\n
    {t('ra_Channel → State')}
    ,\n ,\n
    \n {t('ra_Non-experts may create new objects only in \"0_userdata.0\" or \"alias.0\".')}\n
    ,\n
    \n {t(\n 'ra_The experts may create objects everywhere but from second level (e.g. \"vis.0\" or \"javascript.0\").',\n )}\n
    ,\n ];\n break;\n default:\n break;\n }\n } else if (id.startsWith('alias.0') || id.startsWith('0_userdata')) {\n value = [\n
    {t('ra_Only following structures of objects are available:')}
    ,\n
    {t('ra_Folder → State')}
    ,\n
    {t('ra_Folder → Channel → State')}
    ,\n
    {t('ra_Folder → Device → Channel → State')}
    ,\n
    {t('ra_Device → Channel → State')}
    ,\n
    {t('ra_Channel → State')}
    ,\n ,\n
    \n {t('ra_Non-experts may create new objects only in \"0_userdata.0\" or \"alias.0\".')}\n
    ,\n
    \n {t(\n 'ra_The experts may create objects everywhere but from second level (e.g. \"vis.0\" or \"javascript.0\").',\n )}\n
    ,\n ];\n }\n }\n\n return value.length ? value : t('ra_Add new child object to selected parent');\n };\n\n /**\n * Renders the toolbar.\n */\n getToolbar(): JSX.Element {\n let allowObjectCreation = false;\n if (this.state.selected.length || this.state.selectedNonObject) {\n const id = this.state.selected[0] || this.state.selectedNonObject;\n\n if (id.split('.').length < 2 || (this.objects[id] && this.objects[id].type === 'state')) {\n allowObjectCreation = false;\n } else if (this.state.filter.expertMode) {\n allowObjectCreation = true;\n } else if (id.startsWith('alias.0') || id.startsWith('0_userdata')) {\n allowObjectCreation = true;\n }\n }\n\n return (\n \n \n \n
    \n this.refreshComponent()}\n disabled={this.state.updating}\n size=\"large\"\n >\n \n \n
    \n \n {this.props.showExpertButton && !this.props.expertMode && (\n \n this.onFilter('expertMode', !this.state.filter.expertMode)}\n size=\"large\"\n >\n \n \n \n )}\n {!this.props.disableColumnSelector && this.props.width !== 'xs' && (\n \n this.setState({ columnsSelectorShow: true })}\n size=\"large\"\n >\n \n \n \n )}\n {this.props.width !== 'xs' && this.state.expandAllVisible && (\n \n this.onExpandAll()}\n size=\"large\"\n >\n \n \n \n )}\n \n this.onCollapseAll()}\n size=\"large\"\n >\n \n \n \n {this.props.width !== 'xs' && (\n \n this.onExpandVisible()}\n size=\"large\"\n >\n ({\n badge: {\n right: 3,\n top: 3,\n border: `2px solid ${theme.palette.background.paper}`,\n padding: '0 4px',\n },\n })}\n >\n \n \n \n \n )}\n {this.props.width !== 'xs' && (\n \n this.onCollapseVisible()}\n size=\"large\"\n >\n ({\n badge: {\n right: 3,\n top: 3,\n border: `2px solid ${theme.palette.background.paper}`,\n padding: '0 4px',\n },\n })}\n badgeContent={this.state.depth}\n color=\"secondary\"\n >\n \n \n \n \n )}\n {this.props.objectStatesView && (\n \n this.onStatesViewVisible()}\n size=\"large\"\n >\n \n \n \n )}\n\n \n {\n this.localStorage.setItem(\n `${this.props.dialogName || 'App'}.desc`,\n this.state.showDescription ? 'false' : 'true',\n );\n this.setState({ showDescription: !this.state.showDescription });\n }}\n size=\"large\"\n >\n \n \n \n\n {this.props.objectAddBoolean ? (\n \n
    \n \n this.setState({\n modalNewObj: {\n id: this.state.selected[0] || this.state.selectedNonObject,\n },\n })\n }\n size=\"large\"\n >\n \n \n
    \n \n ) : null}\n\n {this.props.objectImportExport && (\n \n {\n const input = document.createElement('input');\n input.setAttribute('type', 'file');\n input.setAttribute('id', 'files');\n input.setAttribute('opacity', '0');\n input.addEventListener('change', (e: Event) => this.handleJsonUpload(e), false);\n input.click();\n }}\n size=\"large\"\n >\n \n \n \n )}\n {this.props.objectImportExport &&\n (!!this.state.selected.length || this.state.selectedNonObject) && (\n \n \n this.setState({ showExportDialog: this._getSelectedIdsForExport().length })\n }\n size=\"large\"\n >\n \n \n \n )}\n
    \n {!!this.props.objectBrowserEditObject && this.props.width !== 'xs' && (\n
    \n {`${this.props.t('ra_Objects')}: ${Object.keys(this.info.objects).length}, ${this.props.t(\n 'ra_States',\n )}: ${\n Object.keys(this.info.objects).filter(el => this.info.objects[el].type === 'state').length\n }`}\n
    \n )}\n {this.props.objectEditBoolean && (\n \n {\n // get all visible states\n const ids = this.root ? getVisibleItems(this.root, 'state', this.objects) : [];\n\n if (ids.length) {\n this.pauseSubscribe(true);\n\n if (ids.length === 1) {\n this.localStorage.setItem(\n `${this.props.dialogName || 'App'}.objectSelected`,\n this.state.selected[0],\n );\n this.props.router?.doNavigate(null, 'custom', this.state.selected[0]);\n }\n this.setState({ customDialog: ids, customDialogAll: true });\n } else {\n this.setState({ toast: this.props.t('ra_please select object') });\n }\n }}\n size=\"large\"\n >\n \n \n \n )}\n \n );\n }\n\n private toggleExpanded(id: string): void {\n const expanded = JSON.parse(JSON.stringify(this.state.expanded));\n const pos = expanded.indexOf(id);\n if (pos === -1) {\n expanded.push(id);\n expanded.sort();\n } else {\n expanded.splice(pos, 1);\n }\n\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectExpanded`, JSON.stringify(expanded));\n\n this.setState({ expanded });\n }\n\n private onCopy(e: React.MouseEvent, text: string | undefined): void {\n e.stopPropagation();\n e.preventDefault();\n if (text) {\n Utils.copyToClipboard(text);\n if (text.length < 50) {\n this.setState({ toast: this.props.t('ra_Copied %s', text) });\n } else {\n this.setState({ toast: this.props.t('ra_Copied') });\n }\n }\n }\n\n renderTooltipAccessControl = (acl: ioBroker.StateACL): null | JSX.Element => {\n // acl ={object,state,owner,ownerGroup}\n if (!acl) {\n return null;\n }\n const check = [\n {\n value: '0x400',\n valueNum: 0x400,\n title: 'read',\n group: 'Owner',\n },\n {\n value: '0x200',\n valueNum: 0x200,\n title: 'write',\n group: 'Owner',\n },\n {\n value: '0x40',\n valueNum: 0x40,\n title: 'read',\n group: 'Group',\n },\n {\n value: '0x20',\n valueNum: 0x20,\n title: 'write',\n group: 'Group',\n },\n {\n value: '0x4',\n valueNum: 0x4,\n title: 'read',\n group: 'Everyone',\n },\n {\n value: '0x2',\n valueNum: 0x2,\n title: 'write',\n group: 'Everyone',\n },\n ];\n const arrayTooltipText = [];\n const funcRenderStateObject = (value: 'object' | 'state'): void => {\n const rights: number = acl[value];\n check.forEach((el, i) => {\n if (rights & el.valueNum) {\n arrayTooltipText.push(\n \n {this.texts[`acl${el.group}_${el.title}_${value}`]},\n \n {el.value}\n \n ,\n );\n }\n });\n };\n\n arrayTooltipText.push(\n \n {`${this.texts.ownerGroup}: ${(acl.ownerGroup || '').replace('system.group.', '')}`}\n ,\n );\n arrayTooltipText.push(\n {`${this.texts.ownerUser}: ${(acl.owner || '').replace('system.user.', '')}`},\n );\n funcRenderStateObject('object');\n if (acl.state) {\n funcRenderStateObject('state');\n }\n\n return arrayTooltipText.length ? (\n {arrayTooltipText.map(el => el)}\n ) : null;\n };\n\n renderColumnButtons(id: string, item: TreeItem): (JSX.Element | null)[] | JSX.Element | null {\n if (!item.data.obj) {\n return this.props.onObjectDelete || this.props.objectEditOfAccessControl ? (\n
    \n {this.state.filter.expertMode && this.props.objectEditOfAccessControl ? (\n \n this.setState({ modalEditOfAccess: true, modalEditOfAccessObjData: item.data })\n }\n size=\"large\"\n >\n
    ---
    \n \n ) : null}\n {this.props.onObjectDelete && item.children && item.children.length ? (\n {\n // calculate the number of children\n const keys = Object.keys(this.objects);\n keys.sort();\n let count = 0;\n const start = `${id}.`;\n for (let i = 0; i < keys.length; i++) {\n if (keys[i].startsWith(start)) {\n count++;\n } else if (keys[i] > start) {\n break;\n }\n }\n\n if (this.props.onObjectDelete) {\n this.props.onObjectDelete(id, !!item.children?.length, false, count + 1);\n }\n }}\n >\n \n \n ) : null}\n
    \n ) : null;\n }\n\n item.data.aclTooltip =\n item.data.aclTooltip || this.renderTooltipAccessControl(item.data.obj.acl as ioBroker.StateACL);\n\n const acl = item.data.obj.acl\n ? item.data.obj.type === 'state'\n ? item.data.obj.acl.state\n : item.data.obj.acl.object\n : 0;\n const aclSystemConfig =\n item.data.obj.acl &&\n (item.data.obj.type === 'state'\n ? this.systemConfig.common.defaultNewAcl.state\n : this.systemConfig.common.defaultNewAcl.object);\n\n const showEdit = this.state.filter.expertMode || ObjectBrowserClass.isNonExpertId(item.data.id);\n\n return [\n this.state.filter.expertMode && this.props.objectEditOfAccessControl ? (\n \n this.setState({ modalEditOfAccess: true, modalEditOfAccessObjData: item.data })}\n size=\"large\"\n >\n
    \n {Number.isNaN(Number(acl))\n ? Number(aclSystemConfig).toString(16)\n : Number(acl).toString(16)}\n
    \n \n \n ) : (\n \n ),\n\n showEdit ? (\n {\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectSelected`, id);\n this.setState({ editObjectDialog: id, editObjectAlias: false });\n }}\n >\n \n \n ) : (\n \n ),\n\n this.props.onObjectDelete && (item.children?.length || !item.data.obj.common?.dontDelete) ? (\n {\n const keys = Object.keys(this.objects);\n keys.sort();\n let count = 0;\n const start = `${id}.`;\n for (let i = 0; i < keys.length; i++) {\n if (keys[i].startsWith(start)) {\n count++;\n } else if (keys[i] > start) {\n break;\n }\n }\n if (this.props.onObjectDelete) {\n this.props.onObjectDelete(\n id,\n !!item.children?.length,\n !item.data.obj?.common?.dontDelete,\n count,\n );\n }\n }}\n title={this.texts.deleteObject}\n >\n \n \n ) : null,\n\n this.props.objectCustomDialog &&\n this.info.hasSomeCustoms &&\n item.data.obj.type === 'state' &&\n // @ts-expect-error deprecated from js-controller 6\n item.data.obj.common?.type !== 'file' ? (\n {\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.objectSelected`, id);\n\n this.pauseSubscribe(true);\n this.props.router?.doNavigate(null, 'customs', id);\n this.setState({ customDialog: [id], customDialogAll: false });\n }}\n >\n \n \n ) : null,\n ];\n }\n\n private readHistory(id: string): void {\n /* interface GetHistoryOptions {\n instance?: string;\n start?: number;\n end?: number;\n step?: number;\n count?: number;\n from?: boolean;\n ack?: boolean;\n q?: boolean;\n addID?: boolean;\n limit?: number;\n ignoreNull?: boolean;\n sessionId?: any;\n aggregate?: 'minmax' | 'min' | 'max' | 'average' | 'total' | 'count' | 'none';\n } */\n if (\n window.sparkline &&\n this.defaultHistory &&\n this.objects[id]?.common?.custom &&\n this.objects[id].common.custom[this.defaultHistory]\n ) {\n const now = new Date();\n now.setHours(now.getHours() - 24);\n now.setMinutes(0);\n now.setSeconds(0);\n now.setMilliseconds(0);\n const nowMs = now.getTime();\n\n this.props.socket\n .getHistory(id, {\n instance: this.defaultHistory,\n start: nowMs,\n end: Date.now(),\n step: 3600000,\n from: false,\n ack: false,\n q: false,\n addID: false,\n aggregate: 'minmax',\n })\n .then(values => {\n const sparks: HTMLDivElement[] = window.document.getElementsByClassName(\n 'sparkline',\n ) as any as HTMLDivElement[];\n\n for (let s = 0; s < sparks.length; s++) {\n if (sparks[s].dataset.id === id) {\n const v = prepareSparkData(values, nowMs);\n\n window.sparkline.sparkline(sparks[s], v);\n break;\n }\n }\n })\n .catch(e => console.warn(`Cannot read history: ${e}`));\n }\n }\n\n private getTooltipInfo(id: string, cb?: () => void): void {\n const obj = this.objects[id];\n const state = this.states[id];\n\n const { valFull, fileViewer } = formatValue({\n state,\n obj: obj as ioBroker.StateObject,\n texts: this.texts,\n dateFormat: this.props.dateFormat || this.systemConfig.common.dateFormat,\n isFloatComma:\n this.props.isFloatComma === undefined ? this.systemConfig.common.isFloatComma : this.props.isFloatComma,\n full: true,\n });\n const valFullRx: JSX.Element[] = [];\n\n valFull?.forEach(_item => {\n if (_item.t === this.texts.quality && state.q) {\n valFullRx.push(\n \n {_item.t}\n : \n {_item.v}\n ,\n );\n //
    {item.v}
    ,\n if (!_item.nbr) {\n valFullRx.push(
    );\n }\n } else {\n valFullRx.push(\n \n {_item.t}\n : \n ,\n );\n valFullRx.push(\n \n {_item.v}\n ,\n );\n if (!_item.nbr) {\n valFullRx.push(
    );\n }\n }\n });\n\n if (fileViewer === 'image') {\n valFullRx.push(\n ,\n );\n } else if (\n this.defaultHistory &&\n this.objects[id]?.common?.custom &&\n this.objects[id].common.custom[this.defaultHistory]\n ) {\n valFullRx.push(\n ,\n );\n }\n\n this.setState({ tooltipInfo: { el: valFullRx, id } }, () => cb && cb());\n }\n\n private renderColumnValue(id: string, item: TreeItem, narrowStyleWithDetails?: boolean): JSX.Element | null {\n const obj = item.data.obj;\n if (!obj || !this.states) {\n return null;\n }\n\n if (obj.common?.type === 'file') {\n return (\n \n [file]\n \n );\n }\n if (!this.states[id]) {\n if (obj.type === 'state') {\n // we are waiting for state\n if (!this.recordStates.includes(id)) {\n this.recordStates.push(id);\n }\n this.states[id] = { val: null } as ioBroker.State;\n this.subscribe(id);\n }\n return null;\n }\n if (!this.recordStates.includes(id)) {\n this.recordStates.push(id);\n }\n\n const state = this.states[id];\n\n let info = item.data.state;\n if (!info) {\n const { valText } = formatValue({\n state,\n obj: obj as ioBroker.StateObject,\n texts: this.texts,\n dateFormat: this.props.dateFormat || this.systemConfig.common.dateFormat,\n isFloatComma:\n this.props.isFloatComma === undefined\n ? this.systemConfig.common.isFloatComma\n : this.props.isFloatComma,\n });\n const valTextRx: JSX.Element[] = [];\n item.data.state = { valTextRx };\n\n const copyText = valText.v || '';\n valTextRx.push(\n \n {valText.v.toString()}\n ,\n );\n if (valText.u) {\n valTextRx.push(\n \n {valText.u}\n ,\n );\n }\n if (valText.s !== undefined) {\n valTextRx.push(\n \n ({valText.s})\n ,\n );\n }\n if (!narrowStyleWithDetails) {\n valTextRx.push(\n this.onCopy(e, copyText)}\n key=\"cc\"\n />,\n );\n }\n // \n\n info = item.data.state;\n }\n\n info.style = getValueStyle({ state, isExpertMode: this.state.filter.expertMode, isButton: item.data.button });\n\n let val: JSX.Element[] = info.valTextRx;\n if (!this.state.filter.expertMode) {\n if (item.data.button) {\n val = [\n ,\n ];\n } else if (item.data.switch) {\n val = [\n ,\n ];\n }\n }\n\n return (\n this.getTooltipInfo(id, () => this.readHistory(id))}\n onClose={() => this.state.tooltipInfo?.id === id && this.setState({ tooltipInfo: null })}\n >\n \n {val}\n \n \n );\n }\n\n private _syncEnum(id: string, enumIds: string[], newArray: string[], cb: () => void): void {\n if (!enumIds || !enumIds.length) {\n if (cb) {\n cb();\n }\n return;\n }\n const enumId = enumIds.pop() || '';\n const promises = [];\n if (this.info.objects[enumId]?.common) {\n if (this.info.objects[enumId].common.members?.length) {\n const pos = this.info.objects[enumId].common.members.indexOf(id);\n if (pos !== -1 && !newArray.includes(enumId)) {\n // delete it from members\n const obj = JSON.parse(JSON.stringify(this.info.objects[enumId]));\n obj.common.members.splice(pos, 1);\n promises.push(\n this.props.socket\n .setObject(enumId, obj)\n .then(() => (this.info.objects[enumId] = obj))\n .catch(e => this.showError(e)),\n );\n }\n }\n\n // add to it\n if (newArray.includes(enumId) && !this.info.objects[enumId].common.members?.includes(id)) {\n // add to object\n const obj = JSON.parse(JSON.stringify(this.info.objects[enumId]));\n obj.common.members = obj.common.members || [];\n obj.common.members.push(id);\n obj.common.members.sort();\n promises.push(\n this.props.socket\n .setObject(enumId, obj)\n .then(() => (this.info.objects[enumId] = obj))\n .catch(e => this.showError(e)),\n );\n }\n }\n\n void Promise.all(promises).then(() => {\n setTimeout(() => this._syncEnum(id, enumIds, newArray, cb), 0);\n });\n }\n\n private syncEnum(id: string, enumName: 'func' | 'room', newArray: string[]): Promise {\n const toCheck = [...this.info[enumName === 'func' ? 'funcEnums' : 'roomEnums']];\n\n return new Promise(resolve => {\n this._syncEnum(id, toCheck, newArray, () => {\n // force update of an object\n resolve();\n });\n });\n }\n\n private renderEnumDialog(): JSX.Element | null {\n if (!this.state.enumDialog) {\n return null;\n }\n const type = this.state.enumDialog.type;\n const item = this.state.enumDialog.item;\n const itemEnums: string[] = this.state.enumDialogEnums;\n const enumsOriginal = this.state.enumDialog.enumsOriginal;\n\n const enums = (type === 'room' ? this.info.roomEnums : this.info.funcEnums)\n .map(id => ({\n name: getName(this.objects[id]?.common?.name || id.split('.').pop() || '', this.props.lang),\n value: id,\n icon: getSelectIdIconFromObjects(this.objects, id, this.props.lang, this.imagePrefix),\n }))\n .sort((a, b) => (a.name > b.name ? 1 : -1));\n\n enums.forEach(_item => {\n if (_item.icon && typeof _item.icon === 'string') {\n _item.icon = (\n \n \n \n );\n }\n });\n\n // const hasIcons = !!enums.find(item => item.icon);\n\n return (\n this.setState({ enumDialog: null })}\n aria-labelledby=\"enum-dialog-title\"\n open={!0} // true\n >\n \n {type === 'func' ? this.props.t('ra_Define functions') : this.props.t('ra_Define rooms')}\n \n this.syncEnum(item.data.id, type, itemEnums).then(() =>\n this.setState({ enumDialog: null, enumDialogEnums: null }),\n )\n }\n >\n \n \n \n \n {enums.map(_item => {\n let id;\n let name;\n let icon;\n\n if (typeof _item === 'object') {\n id = _item.value;\n name = _item.name;\n icon = _item.icon;\n } else {\n id = _item;\n name = _item;\n }\n const labelId = `checkbox-list-label-${id}`;\n\n return (\n {\n const pos = itemEnums.indexOf(id);\n const enumDialogEnums = JSON.parse(JSON.stringify(this.state.enumDialogEnums));\n if (pos === -1) {\n enumDialogEnums.push(id);\n enumDialogEnums.sort();\n } else {\n enumDialogEnums.splice(pos, 1);\n }\n this.setState({ enumDialogEnums });\n }}\n secondaryAction={icon}\n >\n \n \n \n {name}\n \n );\n })}\n \n \n );\n }\n\n private renderEditRoleDialog(): JSX.Element | null {\n if (!this.state.roleDialog || !this.props.objectBrowserEditRole) {\n return null;\n }\n\n if (this.state.roleDialog && this.props.objectBrowserEditRole) {\n const ObjectBrowserEditRole = this.props.objectBrowserEditRole;\n\n return (\n {\n if (obj) {\n this.info.objects[this.state.roleDialog] = obj;\n }\n this.setState({ roleDialog: null });\n }}\n />\n );\n }\n return null;\n }\n\n private onColumnsEditCustomDialogClose(isSave?: boolean): void {\n // cannot be null\n const customColumnDialog: {\n value: boolean | number | string;\n type: 'boolean' | 'number' | 'string';\n initValue: boolean | number | string;\n } = this.customColumnDialog as {\n value: boolean | number | string;\n type: 'boolean' | 'number' | 'string';\n initValue: boolean | number | string;\n };\n\n if (isSave) {\n let value: string | number | boolean = customColumnDialog.value;\n if (customColumnDialog.type === 'boolean') {\n value = value === 'true' || value === true;\n } else if (customColumnDialog.type === 'number') {\n value = parseFloat(value as any as string);\n }\n this.customColumnDialog = null;\n this.props.socket\n .getObject(this.state.columnsEditCustomDialog?.obj?._id || '')\n .then(obj => {\n if (obj && ObjectBrowserClass.setCustomValue(obj, this.state.columnsEditCustomDialog?.it, value)) {\n return this.props.socket.setObject(obj._id, obj);\n }\n throw new Error(this.props.t('ra_Cannot update attribute, because not found in the object'));\n })\n .then(() => this.setState({ columnsEditCustomDialog: null }))\n .catch(e => this.showError(e));\n } else {\n this.customColumnDialog = null;\n this.setState({ columnsEditCustomDialog: null });\n }\n }\n\n private renderColumnsEditCustomDialog(): JSX.Element | null {\n if (!this.state.columnsEditCustomDialog) {\n return null;\n }\n if (!this.customColumnDialog) {\n const value = ObjectBrowserClass.getCustomValue(\n this.state.columnsEditCustomDialog.obj,\n this.state.columnsEditCustomDialog.it,\n );\n this.customColumnDialog = {\n type: (this.state.columnsEditCustomDialog.it.type || typeof value) as 'boolean' | 'string' | 'number',\n initValue: (value === null || value === undefined ? '' : value).toString(),\n value: (value === null || value === undefined ? '' : value).toString(),\n };\n }\n\n return (\n this.setState({ columnsEditCustomDialog: null })}\n maxWidth=\"md\"\n aria-labelledby=\"custom-dialog-title\"\n open={!0}\n >\n \n {`${this.props.t('ra_Edit object field')}: ${this.state.columnsEditCustomDialog.obj._id}`}\n \n \n \n {this.customColumnDialog.type === 'boolean' ? (\n e.key === 'Enter' && this.onColumnsEditCustomDialogClose(true)}\n defaultChecked={this.customColumnDialog.value === 'true'}\n onChange={e => {\n const customColumnDialog: {\n value: boolean | number | string;\n type: 'boolean' | 'number' | 'string';\n initValue: boolean | number | string;\n } = this.customColumnDialog as {\n value: boolean | number | string;\n type: 'boolean' | 'number' | 'string';\n initValue: boolean | number | string;\n };\n\n customColumnDialog.value = e.target.checked.toString();\n const changed = customColumnDialog.value !== customColumnDialog.initValue;\n if (changed === !this.state.customColumnDialogValueChanged) {\n this.setState({ customColumnDialogValueChanged: changed });\n }\n }}\n />\n }\n label={`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`}\n />\n ) : (\n e.key === 'Enter' && this.onColumnsEditCustomDialogClose(true)}\n label={`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`}\n onChange={e => {\n const customColumnDialog: {\n value: boolean | number | string;\n type: 'boolean' | 'number' | 'string';\n initValue: boolean | number | string;\n } = this.customColumnDialog as {\n value: boolean | number | string;\n type: 'boolean' | 'number' | 'string';\n initValue: boolean | number | string;\n };\n\n customColumnDialog.value = e.target.value;\n const changed = customColumnDialog.value !== customColumnDialog.initValue;\n if (changed === !this.state.customColumnDialogValueChanged) {\n this.setState({ customColumnDialogValueChanged: changed });\n }\n }}\n autoFocus\n />\n )}\n \n \n \n this.onColumnsEditCustomDialogClose(true)}\n disabled={!this.state.customColumnDialogValueChanged}\n color=\"primary\"\n startIcon={}\n >\n {this.props.t('ra_Update')}\n \n this.onColumnsEditCustomDialogClose()}\n startIcon={}\n >\n {this.props.t('ra_Cancel')}\n \n \n \n );\n }\n\n private static getCustomValue(obj: ioBroker.Object, it: AdapterColumn): string | number | boolean | null {\n if (obj?._id?.startsWith(`${it.adapter}.`) && it.path.length > 1) {\n const p = it.path;\n let value;\n const anyObj: Record = obj as Record;\n if (anyObj[p[0]] && typeof anyObj[p[0]] === 'object') {\n if (p.length === 2) {\n // most common case\n value = anyObj[p[0]][p[1]];\n } else if (p.length === 3) {\n value =\n anyObj[p[0]][p[1]] && typeof anyObj[p[0]][p[1]] === 'object' ? anyObj[p[0]][p[1]][p[2]] : null;\n } else if (p.length === 4) {\n value =\n anyObj[p[0]][p[1]] && typeof anyObj[p[0]][p[1]] === 'object' && anyObj[p[0]][p[1]][p[2]]\n ? anyObj[p[0]][p[1]][p[2]][p[3]]\n : null;\n } else if (p.length === 5) {\n value =\n anyObj[p[0]][p[1]] &&\n typeof anyObj[p[0]][p[1]] === 'object' &&\n anyObj[p[0]][p[1]][p[2]] &&\n anyObj[p[0]][p[1]][p[2]][p[3]]\n ? anyObj[p[0]][p[1]][p[2]][p[3]][p[4]]\n : null;\n } else if (p.length === 6) {\n value =\n anyObj[p[0]][p[1]] &&\n typeof anyObj[p[0]][p[1]] === 'object' &&\n anyObj[p[0]][p[1]][p[2]] &&\n anyObj[p[0]][p[1]][p[2]][p[3]] &&\n anyObj[p[0]][p[1]][p[2]][p[3]][p[4]]\n ? anyObj[p[0]][p[1]][p[2]][p[3]][p[4]][p[5]]\n : null;\n }\n if (value === undefined || value === null) {\n return null;\n }\n return value;\n }\n }\n\n return null;\n }\n\n private static setCustomValue(obj: ioBroker.Object, it: AdapterColumn, value: string | number | boolean): boolean {\n if (obj?._id?.startsWith(`${it.adapter}.`) && it.path.length > 1) {\n const p = it.path;\n const anyObj: Record = obj as Record;\n if (anyObj[p[0]] && typeof anyObj[p[0]] === 'object') {\n if (p.length === 2) {\n // most common case\n anyObj[p[0]][p[1]] = value;\n return true;\n }\n if (p.length === 3) {\n if (anyObj[p[0]][p[1]] && typeof anyObj[p[0]][p[1]] === 'object') {\n anyObj[p[0]][p[1]][p[2]] = value;\n return true;\n }\n } else if (p.length === 4) {\n if (\n anyObj[p[0]][p[1]] &&\n typeof anyObj[p[0]][p[1]] === 'object' &&\n anyObj[p[0]][p[1]][p[2]] &&\n typeof anyObj[p[0]][p[1]][p[2]] === 'object'\n ) {\n anyObj[p[0]][p[1]][p[2]][p[3]] = value;\n return true;\n }\n } else if (p.length === 5) {\n if (\n anyObj[p[0]][p[1]] &&\n typeof anyObj[p[0]][p[1]] === 'object' &&\n anyObj[p[0]][p[1]][p[2]] &&\n typeof anyObj[p[0]][p[1]][p[2]] === 'object' &&\n anyObj[p[0]][p[1]][p[2]][p[3]] &&\n typeof anyObj[p[0]][p[1]][p[2]][p[3]] === 'object'\n ) {\n anyObj[p[0]][p[1]][p[2]][p[3]][p[4]] = value;\n return true;\n }\n } else if (p.length === 6) {\n if (\n anyObj[p[0]][p[1]] &&\n typeof anyObj[p[0]][p[1]] === 'object' &&\n anyObj[p[0]][p[1]][p[2]] &&\n typeof anyObj[p[0]][p[1]][p[2]] === 'object' &&\n anyObj[p[0]][p[1]][p[2]][p[3]] &&\n typeof anyObj[p[0]][p[1]][p[2]][p[3]] === 'object' &&\n anyObj[p[0]][p[1]][p[2]][p[3]][p[4]] &&\n typeof anyObj[p[0]][p[1]][p[2]][p[3]][p[4]] === 'object'\n ) {\n anyObj[p[0]][p[1]][p[2]][p[3]][p[4]][p[5]] = value;\n return true;\n }\n }\n }\n }\n return false;\n }\n\n /**\n * Renders a custom value.\n */\n renderCustomValue(obj: ioBroker.Object, it: AdapterColumn, item: TreeItem): JSX.Element | null {\n const text = ObjectBrowserClass.getCustomValue(obj, it);\n if (text !== null && text !== undefined) {\n if (it.edit && !this.props.notEditable && (!it.objTypes || it.objTypes.includes(obj.type))) {\n return (\n \n this.setState({\n columnsEditCustomDialog: { item, it, obj },\n customColumnDialogValueChanged: false,\n })\n }\n >\n {text}\n \n );\n }\n return (\n \n {text}\n \n );\n }\n return null;\n }\n\n renderAliasLink(id: string, index?: number, customStyle?: Record): JSX.Element | null {\n const _index = index || 0;\n // read the type of operation\n const aliasObj = this.objects[this.info.aliasesMap[id][_index]].common.alias.id;\n if (aliasObj) {\n return (\n {\n e.stopPropagation();\n e.preventDefault();\n const aliasId = this.info.aliasesMap[id][_index];\n // if more than one alias, close the menu\n if (this.info.aliasesMap[id].length > 1) {\n this.setState({ aliasMenu: '' });\n }\n this.onSelect(aliasId);\n setTimeout(() => this.expandAllSelected(() => this.scrollToItem(aliasId)), 100);\n }}\n sx={customStyle || this.styles.aliasAlone}\n >\n \n {typeof aliasObj === 'string' || (aliasObj.read === id && aliasObj.write === id)\n ? '↔'\n : aliasObj.read === id\n ? '→'\n : '←'}\n \n {this.info.aliasesMap[id][_index]}\n \n );\n }\n\n return null;\n }\n\n /**\n * Renders a leaf.\n */\n renderLeaf(\n item: TreeItem,\n isExpanded: boolean | undefined,\n counter: { count: number },\n ): { row: JSX.Element; details: JSX.Element | null } {\n const id = item.data.id;\n counter.count++;\n isExpanded = isExpanded === undefined ? this.state.expanded.includes(id) : isExpanded;\n\n // icon\n let iconFolder;\n const obj = item.data.obj;\n const itemType = obj?.type;\n\n if (\n item.children ||\n itemType === 'folder' ||\n itemType === 'device' ||\n itemType === 'channel' ||\n itemType === 'meta'\n ) {\n iconFolder = isExpanded ? (\n this.toggleExpanded(id)}\n />\n ) : (\n this.toggleExpanded(id)}\n />\n );\n } else if (obj && obj.common && obj.common.write === false && obj.type === 'state') {\n iconFolder = ;\n } else {\n iconFolder = ;\n }\n\n let iconItem = null;\n if (item.data.icon) {\n if (typeof item.data.icon === 'string') {\n if (item.data.icon.length < 3) {\n iconItem = (\n \n {item.data.icon}\n \n ); // utf-8 char\n } else {\n iconItem = (\n \n );\n }\n } else {\n iconItem = item.data.icon;\n }\n }\n\n const common = obj?.common;\n\n const typeImg = (obj?.type && ITEM_IMAGES[obj.type]) ||
    ;\n\n const paddingLeft = this.levelPadding * (item.data.level || 0);\n\n // recalculate rooms and function names if the language changed\n if (item.data.lang !== this.props.lang) {\n const { rooms, per } = findRoomsForObject(this.info, id, this.props.lang);\n item.data.rooms = rooms.join(', ');\n item.data.per = per;\n const { funcs, pef } = findFunctionsForObject(this.info, id, this.props.lang);\n item.data.funcs = funcs.join(', ');\n item.data.pef = pef;\n item.data.lang = this.props.lang;\n }\n\n const checkbox =\n this.props.multiSelect &&\n this.objects[id] &&\n (!this.props.types || this.props.types.includes(this.objects[id].type)) ? (\n \n ) : null;\n\n let valueEditable =\n !this.props.notEditable &&\n itemType === 'state' &&\n (this.state.filter.expertMode || common?.write !== false);\n if (this.props.objectBrowserViewFile && common?.type === 'file') {\n valueEditable = true;\n }\n const enumEditable =\n !this.props.notEditable &&\n this.objects[id] &&\n (this.state.filter.expertMode || itemType === 'state' || itemType === 'channel' || itemType === 'device');\n\n const checkVisibleObjectType =\n this.state.statesView && (itemType === 'state' || itemType === 'channel' || itemType === 'device');\n\n let newValue = '';\n const newValueTitle = [];\n if (checkVisibleObjectType) {\n newValue = this.states[id]?.from;\n if (newValue === undefined) {\n newValue = ' ';\n } else {\n newValue = newValue ? newValue.replace(/^system\\.adapter\\.|^system\\./, '') : '';\n newValueTitle.push(`${this.texts.stateChangedFrom} ${newValue}`);\n }\n if (obj?.user) {\n const user = obj.user.replace('system.user.', '');\n newValue += `/${user}`;\n newValueTitle.push(`${this.texts.stateChangedBy} ${user}`);\n }\n }\n\n if (obj) {\n if (obj.from) {\n newValueTitle.push(\n `${this.texts.objectChangedFrom} ${obj.from.replace(/^system\\.adapter\\.|^system\\./, '')}`,\n );\n }\n if (obj.user) {\n newValueTitle.push(`${this.texts.objectChangedBy} ${obj.user.replace(/^system\\.user\\./, '')}`);\n }\n if (obj.ts) {\n newValueTitle.push(\n `${this.texts.objectChangedByUser} ${Utils.formatDate(new Date(obj.ts), this.props.dateFormat || this.systemConfig.common.dateFormat)}`,\n );\n }\n }\n\n let readWriteAlias = false;\n let alias: JSX.Element | null = null;\n if (id.startsWith('alias.') && common?.alias?.id) {\n readWriteAlias = typeof common.alias.id === 'object';\n if (readWriteAlias) {\n alias = (\n
    \n {common.alias.id.read ? (\n {\n e.stopPropagation();\n e.preventDefault();\n this.onSelect(common.alias.id.read);\n setTimeout(\n () => this.expandAllSelected(() => this.scrollToItem(common.alias.id.read)),\n 100,\n );\n }}\n sx={this.styles.aliasReadWrite}\n >\n ←{common.alias.id.read}\n \n ) : null}\n {common.alias.id.write ? (\n {\n e.stopPropagation();\n e.preventDefault();\n this.onSelect(common.alias.id.write);\n setTimeout(\n () => this.expandAllSelected(() => this.scrollToItem(common.alias.id.write)),\n 100,\n );\n }}\n sx={this.styles.aliasReadWrite}\n >\n →{common.alias.id.write}\n \n ) : null}\n
    \n );\n } else {\n alias = (\n {\n e.stopPropagation();\n e.preventDefault();\n this.onSelect(common.alias.id);\n setTimeout(() => this.expandAllSelected(() => this.scrollToItem(common.alias.id)), 100);\n }}\n sx={this.styles.aliasAlone}\n >\n →{common.alias.id}\n \n );\n }\n } else if (this.info.aliasesMap[id]) {\n // Some alias points to this object. It can be more than one\n if (this.info.aliasesMap[id].length > 1) {\n // Show number of aliases and open a menu by click\n alias = (\n {\n e.stopPropagation();\n e.preventDefault();\n this.setState({ aliasMenu: id });\n }}\n sx={this.styles.aliasAlone}\n >\n {this.props.t('ra_%s links from aliases', this.info.aliasesMap[id].length)}\n \n );\n } else {\n // Show name of alias and open it by click\n alias = this.renderAliasLink(id, 0);\n }\n }\n\n let checkColor = common?.color;\n let invertBackground;\n if (checkColor && !this.state.selected.includes(id)) {\n const background =\n this.props.themeName === 'dark' ? '#1f1f1f' : this.props.themeName === 'blue' ? '#222a2e' : '#FFFFFF';\n const distance = Utils.colorDistance(checkColor, background);\n // console.log(`Distance: ${checkColor} - ${background} = ${distance}`);\n if (distance < 1000) {\n invertBackground = this.props.themeType === 'dark' ? '#9a9a9a' : '#565656';\n }\n }\n let bold = false;\n if (id === '0_userdata') {\n checkColor = COLOR_NAME_USERDATA(this.props.themeType);\n bold = true;\n } else if (id === 'alias') {\n checkColor = COLOR_NAME_ALIAS(this.props.themeType);\n bold = true;\n } else if (id === 'javascript') {\n checkColor = COLOR_NAME_JAVASCRIPT(this.props.themeType);\n bold = true;\n } else if (id === 'system') {\n checkColor = COLOR_NAME_SYSTEM(this.props.themeType);\n bold = true;\n } else if (id === 'system.adapter') {\n checkColor = COLOR_NAME_SYSTEM_ADAPTER(this.props.themeType);\n } else if (!checkColor || this.state.selected.includes(id)) {\n checkColor = 'inherit';\n }\n\n const icons = [];\n\n if (common?.statusStates) {\n const ids: Record = {};\n Object.keys(common.statusStates).forEach(name => {\n let _id = common.statusStates[name];\n if (_id.split('.').length < 3) {\n _id = `${id}.${_id}`;\n }\n ids[name] = _id;\n\n if (!this.states[_id]) {\n if (this.objects[_id]?.type === 'state') {\n if (!this.recordStates.includes(_id)) {\n this.recordStates.push(_id);\n }\n this.states[_id] = { val: null } as ioBroker.State;\n this.subscribe(_id);\n }\n } else if (!this.recordStates.includes(_id)) {\n this.recordStates.push(_id);\n }\n });\n // calculate color\n // errorId has priority\n let colorSet = false;\n if (common.statusStates.errorId && this.states[ids.errorId] && this.states[ids.errorId].val) {\n checkColor = this.props.themeType === 'dark' ? COLOR_NAME_ERROR_DARK : COLOR_NAME_ERROR_LIGHT;\n colorSet = true;\n icons.push(\n ,\n );\n }\n\n if (ids.onlineId && this.states[ids.onlineId]) {\n if (!colorSet) {\n if (this.states[ids.onlineId].val) {\n checkColor =\n this.props.themeType === 'dark' ? COLOR_NAME_CONNECTED_DARK : COLOR_NAME_CONNECTED_LIGHT;\n icons.push(\n ,\n );\n } else {\n checkColor =\n this.props.themeType === 'dark'\n ? COLOR_NAME_DISCONNECTED_DARK\n : COLOR_NAME_DISCONNECTED_LIGHT;\n icons.push(\n ,\n );\n }\n } else if (this.states[ids.onlineId].val) {\n icons.push(\n ,\n );\n } else {\n icons.push(\n ,\n );\n }\n } else if (ids.offlineId && this.states[ids.offlineId]) {\n if (!colorSet) {\n if (this.states[ids.offlineId].val) {\n checkColor =\n this.props.themeType === 'dark'\n ? COLOR_NAME_DISCONNECTED_DARK\n : COLOR_NAME_DISCONNECTED_LIGHT;\n icons.push(\n ,\n );\n } else {\n checkColor =\n this.props.themeType === 'dark' ? COLOR_NAME_CONNECTED_DARK : COLOR_NAME_CONNECTED_LIGHT;\n icons.push(\n ,\n );\n }\n } else if (this.states[ids.offlineId].val) {\n icons.push(\n ,\n );\n } else {\n icons.push(\n ,\n );\n }\n }\n }\n\n const q = checkVisibleObjectType ? Utils.quality2text(this.states[id]?.q || 0).join(', ') : null;\n\n let name: JSX.Element[] | string = item.data?.title || '';\n let useDesc = false;\n if (this.state.showDescription) {\n const oTooltip: string | null = getObjectTooltip(item.data, this.props.lang);\n if (oTooltip) {\n name = [\n \n {name}\n
    ,\n \n {oTooltip}\n ,\n ];\n useDesc = !!oTooltip;\n }\n }\n\n const narrowStyleWithDetails = this.props.width === 'xs' && this.state.focused === id;\n\n const colID = (\n \n \n {checkbox}\n {iconFolder}\n \n \n \n
    {item.data.name}
    \n \n {alias}\n {icons}\n \n
    \n \n {iconItem}\n \n {this.props.width !== 'xs' ? (\n
    \n this.onCopy(e, id)}\n />\n
    \n ) : null}\n \n );\n\n let colName =\n (narrowStyleWithDetails && name) || this.columnsVisibility.name ? (\n \n {name}\n {!narrowStyleWithDetails && item.data?.title ? (\n \n this.onCopy(e, item.data?.title)}\n />\n \n ) : null}\n \n ) : null;\n\n let colMiddle:\n | ({\n el: JSX.Element;\n type:\n | 'filter_type'\n | 'filter_role'\n | 'filter_func'\n | 'filter_room'\n | 'quality'\n | 'from'\n | 'lc'\n | 'ts';\n onClick?: (() => void) | null | undefined;\n } | null)[]\n | null;\n if (!this.state.statesView) {\n colMiddle = [\n (narrowStyleWithDetails && obj?.type) || this.columnsVisibility.type\n ? {\n el: (\n \n {typeImg}\n  \n {obj?.type}\n
    \n ),\n type: 'filter_type',\n }\n : null,\n (narrowStyleWithDetails && common) || this.columnsVisibility.role\n ? {\n el: (\n this.setState({ roleDialog: item.data.id })\n : undefined\n }\n >\n {common?.role}\n \n ),\n type: 'filter_role',\n onClick:\n narrowStyleWithDetails &&\n this.state.filter.expertMode &&\n enumEditable &&\n this.props.objectBrowserEditRole\n ? () => this.setState({ roleDialog: item.data.id })\n : undefined,\n }\n : null,\n (narrowStyleWithDetails && common) || this.columnsVisibility.room\n ? {\n el: (\n {\n const enums = findEnumsForObjectAsIds(\n this.info,\n item.data.id,\n 'roomEnums',\n );\n this.setState({\n enumDialogEnums: enums,\n enumDialog: {\n item,\n type: 'room',\n enumsOriginal: JSON.stringify(enums),\n },\n });\n }\n : undefined\n }\n >\n {item.data.rooms}\n \n ),\n type: 'filter_room',\n onClick:\n narrowStyleWithDetails && enumEditable\n ? () => {\n const enums = findEnumsForObjectAsIds(this.info, item.data.id, 'roomEnums');\n this.setState({\n enumDialogEnums: enums,\n enumDialog: {\n item,\n type: 'room',\n enumsOriginal: JSON.stringify(enums),\n },\n });\n }\n : undefined,\n }\n : null,\n (narrowStyleWithDetails && common) || this.columnsVisibility.func\n ? {\n el: (\n {\n const enums = findEnumsForObjectAsIds(\n this.info,\n item.data.id,\n 'funcEnums',\n );\n this.setState({\n enumDialogEnums: enums,\n enumDialog: {\n item,\n type: 'func',\n enumsOriginal: JSON.stringify(enums),\n },\n });\n }\n : undefined\n }\n >\n {item.data.funcs}\n \n ),\n type: 'filter_func',\n onClick:\n narrowStyleWithDetails && enumEditable\n ? () => {\n const enums = findEnumsForObjectAsIds(this.info, item.data.id, 'funcEnums');\n this.setState({\n enumDialogEnums: enums,\n enumDialog: {\n item,\n type: 'func',\n enumsOriginal: JSON.stringify(enums),\n },\n });\n }\n : undefined,\n }\n : null,\n ];\n } else {\n colMiddle = [\n (narrowStyleWithDetails && checkVisibleObjectType && this.states[id]?.from) ||\n this.columnsVisibility.changedFrom\n ? {\n el: (\n \n {checkVisibleObjectType && this.states[id]?.from ? newValue : null}\n \n ),\n type: 'from',\n }\n : null,\n (narrowStyleWithDetails && q) || this.columnsVisibility.qualityCode\n ? {\n el: (\n \n {q}\n \n ),\n type: 'quality',\n }\n : null,\n (narrowStyleWithDetails && checkVisibleObjectType && this.states[id]?.ts) ||\n this.columnsVisibility.timestamp\n ? {\n el: (\n \n {checkVisibleObjectType && this.states[id]?.ts\n ? Utils.formatDate(\n new Date(this.states[id].ts),\n this.props.dateFormat || this.systemConfig.common.dateFormat,\n )\n : null}\n \n ),\n type: 'ts',\n }\n : null,\n (narrowStyleWithDetails && checkVisibleObjectType && this.states[id]?.lc) ||\n this.columnsVisibility.lastChange\n ? {\n el: (\n \n {checkVisibleObjectType && this.states[id]?.lc\n ? Utils.formatDate(\n new Date(this.states[id].lc),\n this.props.dateFormat || this.systemConfig.common.dateFormat,\n )\n : null}\n \n ),\n type: 'lc',\n }\n : null,\n ];\n }\n\n let colCustom: JSX.Element[] | null =\n this.adapterColumns?.map(it => (\n )[it.id]\n : undefined,\n }}\n key={it.id}\n title={`${it.adapter} => ${it.pathText}`}\n >\n {obj ? this.renderCustomValue(obj, it, item) : null}\n \n )) || null;\n\n const columnValue =\n narrowStyleWithDetails || this.columnsVisibility.val\n ? this.renderColumnValue(id, item, narrowStyleWithDetails)\n : null;\n\n let colValue =\n (narrowStyleWithDetails && columnValue) || this.columnsVisibility.val ? (\n {\n if (!obj || !this.states) {\n // return;\n } else if (common?.type === 'file') {\n this.setState({ viewFileDialog: id });\n } else if (!this.state.filter.expertMode && item.data.button) {\n // in non-expert mode control button directly\n this.props.socket\n .setState(id, true)\n .catch(e => window.alert(`Cannot write state \"${id}\": ${e}`));\n } else if (!this.state.filter.expertMode && item.data.switch) {\n // in non-expert mode control switch directly\n this.props.socket\n .setState(id, !this.states[id].val)\n .catch(e => window.alert(`Cannot write state \"${id}\": ${e}`));\n } else {\n this.edit = {\n val: this.states[id] ? this.states[id].val : '',\n q: this.states[id] ? this.states[id].q || 0 : 0,\n ack: false,\n id,\n };\n this.setState({ updateOpened: true });\n }\n }\n : undefined\n }\n >\n {columnValue}\n \n ) : null;\n\n let colButtons =\n narrowStyleWithDetails || this.columnsVisibility.buttons ? (\n \n {this.renderColumnButtons(id, item)}\n \n ) : null;\n\n let colDetails: JSX.Element | null = null;\n if (this.props.width === 'xs' && this.state.focused === id) {\n colMiddle = colMiddle.filter(a => a);\n let renderedMiddle: (JSX.Element | null)[] | null;\n if (!colMiddle.length) {\n renderedMiddle = null;\n } else {\n renderedMiddle = colMiddle.map(it => {\n if (!it) {\n return null;\n }\n return (\n \n {this.texts[it.type]}:\n {it.el}\n
    \n {it.onClick ? (\n {\n if (it?.onClick) {\n it.onClick();\n }\n }}\n />\n ) : null}\n
    \n );\n });\n }\n if (!colCustom.length) {\n colCustom = null;\n }\n colDetails = (\n \n
    \n
    \n this.onCopy(e, id)}\n />\n
    \n {colName && (\n
    \n {this.texts.name}:\n {colName}\n
    \n {item.data?.title ? (\n this.onCopy(e, item.data?.title)}\n />\n ) : null}\n
    \n )}\n {renderedMiddle}\n {colCustom &&
    {colCustom}
    }\n {this.objects[id]?.type === 'state' && (\n
    \n {this.texts.value}:\n {colValue}\n
    \n {\n const { valText } = formatValue({\n state: this.states[id],\n obj: this.objects[id] as ioBroker.StateObject,\n texts: this.texts,\n dateFormat: this.props.dateFormat || this.systemConfig.common.dateFormat,\n isFloatComma:\n this.props.isFloatComma === undefined\n ? this.systemConfig.common.isFloatComma\n : this.props.isFloatComma,\n });\n this.onCopy(e, valText.v.toString());\n }}\n key=\"cc\"\n />\n
    \n )}\n {colButtons && (\n
    {colButtons}
    \n )}\n \n );\n\n colName = null;\n colMiddle = null;\n colCustom = null;\n colValue = null;\n colButtons = null;\n }\n\n const row = (\n {\n this.onSelect(id);\n let isRightMB;\n if ('which' in e) {\n // Gecko (Firefox), WebKit (Safari/Chrome) & Opera\n isRightMB = e.which === 3;\n } else if ('button' in e) {\n // IE, Opera\n isRightMB = e.button === 2;\n }\n if (isRightMB) {\n this.contextMenu = {\n item,\n ts: Date.now(),\n };\n } else {\n this.contextMenu = null;\n }\n }}\n onDoubleClick={() => {\n if (!item.children) {\n this.onSelect(id, true);\n } else {\n this.toggleExpanded(id);\n }\n }}\n >\n {colID}\n {colName}\n {colMiddle?.map(it => it?.el)}\n {colCustom}\n {colValue}\n {colButtons}\n \n );\n return { row, details: colDetails };\n }\n\n /**\n * Renders an item.\n */\n renderItem(root: TreeItem, isExpanded: boolean | undefined, counter?: { count: number }): JSX.Element[] {\n const items: (JSX.Element | null)[] = [];\n counter = counter || { count: 0 };\n const result = this.renderLeaf(root, isExpanded, counter);\n let leaf: JSX.Element;\n const DragWrapper = this.props.DragWrapper;\n if (this.props.dragEnabled && DragWrapper) {\n if (root.data.sumVisibility) {\n leaf = (\n \n {result.row}\n \n );\n } else {\n // change cursor\n leaf = (\n \n {result.row}\n
    \n );\n }\n } else {\n leaf = result.row;\n }\n if (root.data.id && leaf) {\n items.push(leaf);\n }\n if (result.details) {\n items.push(result.details);\n }\n\n isExpanded = isExpanded === undefined ? binarySearch(this.state.expanded, root.data.id) : isExpanded;\n\n if (!root.data.id || isExpanded) {\n if (!this.state.foldersFirst) {\n if (root.children) {\n items.push(\n root.children.map(item => {\n // do not render too many items in column editor mode\n if (!this.state.columnsSelectorShow || counter.count < 15) {\n if (item.data.sumVisibility) {\n return this.renderItem(item, undefined, counter);\n }\n }\n return null;\n }) as any as JSX.Element,\n );\n }\n } else if (root.children) {\n // first only folder\n items.push(\n root.children.map(item => {\n if (item.children) {\n // do not render too many items in column editor mode\n if (!this.state.columnsSelectorShow || counter.count < 15) {\n if (item.data.sumVisibility) {\n return this.renderItem(item, undefined, counter);\n }\n }\n }\n\n return null;\n }) as any as JSX.Element,\n );\n\n // then items\n items.push(\n root.children.map(item => {\n if (!item.children) {\n // do not render too many items in column editor mode\n if (!this.state.columnsSelectorShow || counter.count < 15) {\n if (item.data.sumVisibility) {\n return this.renderItem(item, undefined, counter);\n }\n }\n }\n return null;\n }) as any as JSX.Element,\n );\n }\n }\n\n return items;\n }\n\n private calculateColumnsVisibility(\n aColumnsAuto?: boolean | null,\n aColumns?: string[] | null,\n aColumnsForAdmin?: Record | null,\n aColumnsWidths?: Record,\n ): void {\n let columnsWidths: Record = aColumnsWidths || this.state.columnsWidths;\n const columnsForAdmin: Record | null =\n aColumnsForAdmin || this.state.columnsForAdmin;\n const columns: string[] = aColumns || this.state.columns || [];\n const columnsAuto: boolean = typeof aColumnsAuto !== 'boolean' ? this.state.columnsAuto : aColumnsAuto;\n\n columnsWidths = JSON.parse(JSON.stringify(columnsWidths));\n Object.keys(columnsWidths).forEach(name => {\n if (columnsWidths[name]) {\n columnsWidths[name] = parseInt(columnsWidths[name] as any as string, 10) || 0;\n }\n });\n\n this.adapterColumns = [];\n const WIDTHS = SCREEN_WIDTHS[this.props.width || 'lg'].widths;\n\n if (columnsAuto) {\n this.columnsVisibility = {\n id: SCREEN_WIDTHS[this.props.width || 'lg'].idWidth,\n name: this.visibleCols.includes('name') ? WIDTHS.name || 0 : 0,\n nameHeader: this.visibleCols.includes('name') ? WIDTHS.name || 0 : 0,\n type: this.visibleCols.includes('type') ? WIDTHS.type || 0 : 0,\n role: this.visibleCols.includes('role') ? WIDTHS.role || 0 : 0,\n room: this.visibleCols.includes('room') ? WIDTHS.room || 0 : 0,\n func: this.visibleCols.includes('func') ? WIDTHS.func || 0 : 0,\n changedFrom: this.visibleCols.includes('changedFrom') ? WIDTHS.changedFrom || 0 : 0,\n qualityCode: this.visibleCols.includes('qualityCode') ? WIDTHS.qualityCode || 0 : 0,\n timestamp: this.visibleCols.includes('timestamp') ? WIDTHS.timestamp || 0 : 0,\n lastChange: this.visibleCols.includes('lastChange') ? WIDTHS.lastChange || 0 : 0,\n val: this.visibleCols.includes('val') ? WIDTHS.val || 0 : 0,\n buttons: this.visibleCols.includes('buttons') ? WIDTHS.buttons || 0 : 0,\n };\n\n // in xs name is not visible\n if (this.columnsVisibility.name && !this.customWidth) {\n let widthSum: number = (this.columnsVisibility.id as number) || 0; // id is always visible\n if (this.state.statesView) {\n widthSum += this.columnsVisibility.changedFrom || 0;\n widthSum += this.columnsVisibility.qualityCode || 0;\n widthSum += this.columnsVisibility.timestamp || 0;\n widthSum += this.columnsVisibility.lastChange || 0;\n } else {\n widthSum += this.columnsVisibility.type || 0;\n widthSum += this.columnsVisibility.role || 0;\n widthSum += this.columnsVisibility.room || 0;\n widthSum += this.columnsVisibility.func || 0;\n }\n widthSum += this.columnsVisibility.val || 0;\n widthSum += this.columnsVisibility.buttons || 0;\n this.columnsVisibility.name = `calc(100% - ${widthSum + 5}px)`;\n this.columnsVisibility.nameHeader = `calc(100% - ${widthSum + 5 + this.state.scrollBarWidth}px)`;\n } else if (!this.customWidth) {\n // Calculate the width of ID\n let widthSum = 0; // id is always visible\n if (this.state.statesView) {\n widthSum += this.columnsVisibility.changedFrom || 0;\n widthSum += this.columnsVisibility.qualityCode || 0;\n widthSum += this.columnsVisibility.timestamp || 0;\n widthSum += this.columnsVisibility.lastChange || 0;\n } else {\n widthSum += this.columnsVisibility.type || 0;\n widthSum += this.columnsVisibility.role || 0;\n widthSum += this.columnsVisibility.room || 0;\n widthSum += this.columnsVisibility.func || 0;\n }\n widthSum += this.columnsVisibility.val || 0;\n widthSum += this.columnsVisibility.buttons || 0;\n this.columnsVisibility.id = `calc(100% - ${widthSum + 5}px)`;\n }\n } else {\n const width = this.props.width || 'lg';\n this.columnsVisibility = {\n id: columnsWidths.id || SCREEN_WIDTHS[width].idWidth,\n name: columns.includes('name')\n ? columnsWidths.name || WIDTHS.name || SCREEN_WIDTHS[width].widths.name || 0\n : 0,\n type: columns.includes('type')\n ? columnsWidths.type || WIDTHS.type || SCREEN_WIDTHS[width].widths.type || 0\n : 0,\n role: columns.includes('role')\n ? columnsWidths.role || WIDTHS.role || SCREEN_WIDTHS[width].widths.role || 0\n : 0,\n room: columns.includes('room')\n ? columnsWidths.room || WIDTHS.room || SCREEN_WIDTHS[width].widths.room || 0\n : 0,\n func: columns.includes('func')\n ? columnsWidths.func || WIDTHS.func || SCREEN_WIDTHS[width].widths.func || 0\n : 0,\n };\n let widthSum: number = this.columnsVisibility.id as number; // id is always visible\n if (this.columnsVisibility.name) {\n widthSum += this.columnsVisibility.type || 0;\n widthSum += this.columnsVisibility.role || 0;\n widthSum += this.columnsVisibility.room || 0;\n widthSum += this.columnsVisibility.func || 0;\n }\n\n if (columnsForAdmin && columns) {\n Object.keys(columnsForAdmin)\n .sort()\n .forEach(adapter =>\n columnsForAdmin[adapter].forEach(column => {\n const id = `_${adapter}_${column.path}`;\n if (columns.includes(id)) {\n const item: AdapterColumn = {\n adapter,\n id: `_${adapter}_${column.path}`,\n name: column.name,\n path: column.path.split('.'),\n pathText: column.path,\n };\n if (column.edit) {\n item.edit = true;\n if (column.type) {\n item.type = column.type as 'number' | 'boolean' | 'string';\n }\n if (column.objTypes) {\n item.objTypes = column.objTypes;\n }\n }\n\n this.adapterColumns.push(item);\n (this.columnsVisibility as Record)[id] =\n columnsWidths[item.id] ||\n column.width ||\n SCREEN_WIDTHS[width].widths.func ||\n SCREEN_WIDTHS.xl.widths.func ||\n 0;\n widthSum += (this.columnsVisibility as Record)[id];\n } else {\n (this.columnsVisibility as Record)[id] = 0;\n }\n }),\n );\n }\n this.adapterColumns.sort((a, b) => (a.id > b.id ? -1 : a.id < b.id ? 1 : 0));\n this.columnsVisibility.val = columns.includes('val')\n ? columnsWidths.val || WIDTHS.val || SCREEN_WIDTHS.xl.widths.val\n : 0;\n\n // do not show buttons if not desired\n if (!this.props.columns || this.props.columns.includes('buttons')) {\n this.columnsVisibility.buttons = columns.includes('buttons')\n ? columnsWidths.buttons || WIDTHS.buttons || SCREEN_WIDTHS.xl.widths.buttons\n : 0;\n widthSum += this.columnsVisibility.buttons || 0;\n }\n\n if (this.columnsVisibility.name && !columnsWidths.name) {\n widthSum += this.columnsVisibility.val || 0;\n this.columnsVisibility.name = `calc(100% - ${widthSum}px)`;\n this.columnsVisibility.nameHeader = `calc(100% - ${widthSum + 5 + this.state.scrollBarWidth}px)`;\n } else {\n const newWidth = Object.keys(this.columnsVisibility).reduce((accumulator: number, name: string) => {\n // do not summarize strings\n if (\n name === 'id' ||\n typeof (this.columnsVisibility as Record)[name] === 'string' ||\n !(this.columnsVisibility as Record)[name]\n ) {\n return accumulator;\n }\n return accumulator + (this.columnsVisibility as Record)[name];\n }, 0);\n this.columnsVisibility.id = `calc(100% - ${newWidth}px)`;\n }\n }\n }\n\n resizerMouseMove = (e: MouseEvent): void => {\n if (this.resizerActiveDiv) {\n let width: number;\n let widthNext: number;\n if (this.resizeLeft) {\n width = this.resizerOldWidth - e.clientX + this.resizerPosition;\n widthNext = this.resizerOldWidthNext + e.clientX - this.resizerPosition;\n } else {\n width = this.resizerOldWidth + e.clientX - this.resizerPosition;\n widthNext = this.resizerOldWidthNext - e.clientX + this.resizerPosition;\n }\n\n if (\n this.resizerActiveName &&\n this.resizerNextName &&\n (!this.resizerMin || width > this.resizerMin) &&\n (!this.resizerNextMin || widthNext > this.resizerNextMin)\n ) {\n this.resizerCurrentWidths[this.resizerActiveName] = width;\n this.resizerCurrentWidths[this.resizerNextName] = widthNext;\n\n this.resizerActiveDiv.style.width = `${width}px`;\n if (this.resizerNextDiv) {\n this.resizerNextDiv.style.width = `${widthNext}px`;\n }\n\n (this.columnsVisibility as Record)[this.resizerActiveName] = width;\n (this.columnsVisibility as Record)[this.resizerNextName] = widthNext;\n if (this.resizerNextName === 'nameHeader') {\n this.columnsVisibility.name = widthNext - this.state.scrollBarWidth;\n this.resizerCurrentWidths.name = widthNext - this.state.scrollBarWidth;\n } else if (this.resizerActiveName === 'nameHeader') {\n this.columnsVisibility.name = width - this.state.scrollBarWidth;\n this.resizerCurrentWidths.name = width - this.state.scrollBarWidth;\n }\n this.customWidth = true;\n if (this.resizeTimeout) {\n clearTimeout(this.resizeTimeout);\n }\n this.resizeTimeout = setTimeout(() => {\n this.resizeTimeout = null;\n this.forceUpdate();\n }, 200);\n }\n }\n };\n\n resizerMouseUp = (): void => {\n this.localStorage.setItem(`${this.props.dialogName || 'App'}.table`, JSON.stringify(this.resizerCurrentWidths));\n this.resizerActiveName = null;\n this.resizerNextName = null;\n this.resizerActiveDiv = null;\n this.resizerNextDiv = null;\n window.removeEventListener('mousemove', this.resizerMouseMove);\n window.removeEventListener('mouseup', this.resizerMouseUp);\n };\n\n resizerMouseDown = (e: React.MouseEvent): void => {\n this.storedWidths =\n this.storedWidths ||\n (JSON.parse(JSON.stringify(SCREEN_WIDTHS[this.props.width || 'lg'])) as ScreenWidthOne);\n\n this.resizerCurrentWidths = this.resizerCurrentWidths || {};\n this.resizerActiveDiv = (e.target as HTMLDivElement).parentNode as HTMLDivElement;\n this.resizerActiveName = this.resizerActiveDiv.dataset.name || null;\n if (this.resizerActiveName) {\n let i = 0;\n if ((e.target as HTMLDivElement).dataset.left === 'true') {\n this.resizeLeft = true;\n this.resizerNextDiv = this.resizerActiveDiv.previousElementSibling as HTMLDivElement;\n let handle: HTMLDivElement | null = this.resizerNextDiv.querySelector('.iob-ob-resize-handler');\n while (this.resizerNextDiv && !handle && i < 10) {\n this.resizerNextDiv = this.resizerNextDiv.previousElementSibling as HTMLDivElement;\n handle = this.resizerNextDiv.querySelector('.iob-ob-resize-handler');\n i++;\n }\n if (handle?.dataset.left !== 'true') {\n this.resizerNextDiv = this.resizerNextDiv.nextElementSibling as HTMLDivElement;\n }\n } else {\n this.resizeLeft = false;\n this.resizerNextDiv = this.resizerActiveDiv.nextElementSibling as HTMLDivElement;\n /* while (this.resizerNextDiv && !this.resizerNextDiv.querySelector('.iob-ob-resize-handler') && i < 10) {\n this.resizerNextDiv = this.resizerNextDiv.nextElementSibling;\n i++;\n } */\n }\n this.resizerNextName = this.resizerNextDiv.dataset.name || null;\n\n this.resizerMin = parseInt(this.resizerActiveDiv.dataset.min, 10) || 0;\n this.resizerNextMin = parseInt(this.resizerNextDiv.dataset.min, 10) || 0;\n\n this.resizerPosition = e.clientX;\n\n this.resizerCurrentWidths[this.resizerActiveName] = this.resizerActiveDiv.offsetWidth;\n this.resizerOldWidth = this.resizerCurrentWidths[this.resizerActiveName];\n\n if (this.resizerNextName) {\n this.resizerCurrentWidths[this.resizerNextName] = this.resizerNextDiv.offsetWidth;\n this.resizerOldWidthNext = this.resizerCurrentWidths[this.resizerNextName];\n }\n\n window.addEventListener('mousemove', this.resizerMouseMove);\n window.addEventListener('mouseup', this.resizerMouseUp);\n }\n };\n\n /**\n * Handle keyboard events for navigation\n */\n navigateKeyPress(event: React.KeyboardEvent): void {\n const selectedId = this.state.selectedNonObject || this.state.selected[0];\n\n if (!selectedId) {\n return;\n }\n\n if (event.code === 'ArrowUp' || event.code === 'ArrowDown') {\n event.preventDefault();\n const ids: string[] = [];\n this.tableRef.current?.childNodes.forEach((node: any) => ids.push((node as HTMLDivElement).id));\n const idx = ids.indexOf(selectedId);\n const newIdx = event.code === 'ArrowDown' ? idx + 1 : idx - 1;\n const newId = ids[newIdx] || selectedId;\n this.onSelect(newId);\n this.scrollToItem(newId);\n }\n\n if (event.code === 'ArrowRight' || event.code === 'ArrowLeft') {\n this.toggleExpanded(selectedId);\n }\n\n if (event.code === 'Delete' && this.root && selectedId) {\n const item = ObjectBrowserClass.getItemFromRoot(this.root, selectedId);\n if (item) {\n const { obj } = item.data;\n if (obj && !obj.common?.dontDelete) {\n this.showDeleteDialog({ id: selectedId, obj, item });\n }\n }\n }\n }\n\n /**\n * Find the id from the root\n *\n * @param root The current root\n * @param id The object id to find\n */\n private static getItemFromRoot(root: TreeItem, id: string): TreeItem | null {\n const idArr = id.split('.');\n let currId = '';\n let _root: TreeItem | null | undefined = root;\n\n for (let i = 0; i < idArr.length; i++) {\n const idEntry = idArr[i];\n currId = currId ? `${currId}.${idEntry}` : idEntry;\n let found = false;\n if (_root.children) {\n for (let j = 0; j < _root.children.length; j++) {\n if (_root.children[j].data.id === currId) {\n _root = _root.children[j];\n found = true;\n break;\n }\n }\n }\n if (!found) {\n return null;\n }\n }\n\n return _root || null;\n }\n\n resizerReset = (): void => {\n this.customWidth = false;\n SCREEN_WIDTHS[this.props.width || 'lg'] = JSON.parse(JSON.stringify(this.storedWidths));\n this.calculateColumnsVisibility();\n this.localStorage.removeItem(`${this.props.dialogName || 'App'}.table`);\n this.forceUpdate();\n };\n\n /**\n * Render the right handle for resizing\n */\n renderHandleRight(): JSX.Element {\n return (\n \n );\n }\n\n private renderHeader(): JSX.Element {\n let filterClearInValue = null;\n\n if (!this.columnsVisibility.buttons && !this.isFilterEmpty()) {\n filterClearInValue = (\n this.clearFilter()}\n style={styles.buttonClearFilter}\n title={this.props.t('ra_Clear filter')}\n size=\"large\"\n >\n \n \n \n );\n }\n\n if (this.props.width === 'xs') {\n return (\n
    \n
    {this.getFilterInput('id')}
    \n
    \n );\n }\n\n return (\n
    \n \n {this.getFilterInput('id')}\n {this.renderHandleRight()}\n
    \n {this.columnsVisibility.name ? (\n \n {this.getFilterInput('name')}\n {this.renderHandleRight()}\n
    \n ) : null}\n {!this.state.statesView && (\n <>\n {this.columnsVisibility.type ? (\n \n {this.getFilterSelectType()}\n {this.renderHandleRight()}\n
    \n ) : null}\n {this.columnsVisibility.role ? (\n \n {this.getFilterSelectRole()}\n {this.renderHandleRight()}\n \n ) : null}\n {this.columnsVisibility.room ? (\n \n {this.getFilterSelectRoom()}\n {this.renderHandleRight()}\n \n ) : null}\n {this.columnsVisibility.func ? (\n \n {this.getFilterSelectFunction()}\n {this.renderHandleRight()}\n \n ) : null}\n \n )}\n {this.state.statesView && (\n <>\n \n {this.props.t('ra_Changed from')}\n {this.renderHandleRight()}\n \n \n {this.props.t('ra_Quality code')}\n {this.renderHandleRight()}\n \n \n {this.props.t('ra_Timestamp')}\n {this.renderHandleRight()}\n \n \n {this.props.t('ra_Last change')}\n {this.renderHandleRight()}\n \n \n )}\n {this.adapterColumns.map(item => (\n )[item.id],\n }}\n title={item.adapter}\n key={item.id}\n data-min={100}\n data-name={item.id}\n >\n {item.name}\n \n ))}\n {this.columnsVisibility.val ? (\n \n {this.props.t('ra_Value')}\n {filterClearInValue}\n \n ) : null}\n {this.columnsVisibility.buttons ? (\n \n {' '}\n {this.getFilterSelectCustoms()}\n \n ) : null}\n \n );\n }\n\n private renderToast(): JSX.Element {\n return (\n this.setState({ toast: '' })}\n onClose={() => this.setState({ toast: '' })}\n message={this.state.toast}\n action={\n this.setState({ toast: '' })}\n >\n \n \n }\n />\n );\n }\n\n /**\n * Called when component is updated.\n */\n componentDidUpdate(): void {\n if (this.tableRef.current) {\n const scrollBarWidth = this.tableRef.current.offsetWidth - this.tableRef.current.clientWidth;\n if (this.state.scrollBarWidth !== scrollBarWidth) {\n setTimeout(() => this.setState({ scrollBarWidth }), 100);\n } else if (this.selectFirst) {\n this.scrollToItem(this.selectFirst);\n }\n }\n }\n\n scrollToItem(id: string): void {\n this.selectFirst = '';\n\n const node = window.document.getElementById(id);\n node?.scrollIntoView({\n behavior: 'auto',\n block: 'center',\n inline: 'center',\n });\n }\n\n private renderCustomDialog(): JSX.Element | null {\n if (this.state.customDialog && this.props.objectCustomDialog) {\n const ObjectCustomDialog = this.props.objectCustomDialog;\n\n return (\n (this.changedIds = [...changedIds])}\n objectIDs={this.state.customDialog}\n allVisibleObjects={!!this.state.customDialogAll}\n expertMode={this.state.filter.expertMode}\n isFloatComma={\n this.props.isFloatComma === undefined\n ? this.systemConfig.common.isFloatComma\n : this.props.isFloatComma\n }\n t={this.props.t}\n lang={this.props.lang}\n socket={this.props.socket}\n themeName={this.props.themeName}\n themeType={this.props.themeType}\n theme={this.props.theme}\n objects={this.objects}\n customsInstances={this.info.customs}\n onClose={() => {\n this.pauseSubscribe(false);\n this.setState({ customDialog: null });\n if (this.changedIds) {\n this.changedIds = null;\n // update all changed IDs\n this.forceUpdate();\n }\n\n this.props.router?.doNavigate('tab-objects');\n }}\n systemConfig={this.systemConfig}\n />\n );\n }\n return null;\n }\n\n private onUpdate(valAck: {\n val: ioBroker.StateValue;\n ack: boolean;\n q: ioBroker.STATE_QUALITY[keyof ioBroker.STATE_QUALITY];\n expire: number | undefined;\n }): void {\n this.props.socket\n .setState(this.edit.id, {\n val: valAck.val,\n ack: valAck.ack,\n q: valAck.q || 0,\n expire: valAck.expire || undefined,\n })\n .catch(e => this.showError(`Cannot write value: ${e}`));\n }\n\n private renderEditObjectDialog(): JSX.Element | null {\n if (!this.state.editObjectDialog || !this.props.objectBrowserEditObject) {\n return null;\n }\n\n const ObjectBrowserEditObject = this.props.objectBrowserEditObject;\n\n return (\n \n this.props.socket\n .setObject(obj._id, obj)\n .then(() =>\n this.setState({ editObjectDialog: obj._id, editObjectAlias: false }, () =>\n this.onSelect(obj._id),\n ),\n )\n .catch(e => this.showError(`Cannot write object: ${e}`))\n }\n onClose={(obj?: ioBroker.AnyObject) => {\n if (obj) {\n let updateAlias: string;\n if (this.state.editObjectDialog.startsWith('alias.')) {\n if (\n JSON.stringify(this.objects[this.state.editObjectDialog].common?.alias) !==\n JSON.stringify((obj as ioBroker.StateObject).common?.alias)\n ) {\n updateAlias = this.state.editObjectDialog;\n }\n }\n\n this.props.socket\n .setObject(obj._id, obj)\n .then(() => {\n if (updateAlias && this.subscribes.includes(updateAlias)) {\n this.unsubscribe(updateAlias);\n setTimeout(() => this.subscribe(updateAlias), 100);\n }\n })\n .catch(e => this.showError(`Cannot write object: ${e}`));\n }\n this.setState({ editObjectDialog: '', editObjectAlias: false });\n }}\n width={this.props.width}\n />\n );\n }\n\n private renderViewObjectFileDialog(): JSX.Element | null {\n if (!this.state.viewFileDialog || !this.props.objectBrowserViewFile) {\n return null;\n }\n const ObjectBrowserViewFile = this.props.objectBrowserViewFile;\n\n return (\n this.setState({ viewFileDialog: '' })}\n />\n );\n }\n\n private renderAliasEditorDialog(): JSX.Element | null {\n if (!this.props.objectBrowserAliasEditor || !this.state.showAliasEditor) {\n return null;\n }\n const ObjectBrowserAliasEditor = this.props.objectBrowserAliasEditor;\n\n return (\n this.setState({ showAliasEditor: '' })}\n onRedirect={(id: string, timeout?: number) =>\n setTimeout(\n () =>\n this.onSelect(id, false, () =>\n this.expandAllSelected(() => {\n this.scrollToItem(id);\n setTimeout(\n () =>\n this.setState({\n editObjectDialog: id,\n showAliasEditor: '',\n editObjectAlias: true,\n }),\n 300,\n );\n }),\n ),\n timeout || 0,\n )\n }\n />\n );\n }\n\n showAddDataPointDialog(id: string, initialType: ioBroker.ObjectType, initialStateType?: ioBroker.CommonType): void {\n this.setState({\n showContextMenu: null,\n modalNewObj: {\n id,\n initialType,\n initialStateType,\n },\n });\n }\n\n /** Renders the aliases list for one state (if more than 2) */\n private renderAliasMenu(): JSX.Element | null {\n if (!this.state.aliasMenu) {\n return null;\n }\n\n return (\n this.setState({ aliasMenu: '' })}\n >\n {this.info.aliasesMap[this.state.aliasMenu].map((aliasId, i) => (\n this.onSelect(aliasId)}\n >\n \n {this.renderAliasLink(this.state.aliasMenu, i, {\n '& .admin-browser-arrow': {\n mr: '8px',\n },\n })}\n \n \n ))}\n \n );\n }\n\n /**\n * Renders the right mouse button context menu\n */\n private renderContextMenu(): JSX.Element | null {\n if (!this.state.showContextMenu) {\n return null;\n }\n const item = this.state.showContextMenu.item;\n const id = item.data.id;\n const items: JSX.Element[] = [];\n // const ctrl = isIOS() ? '⌘' : (this.props.lang === 'de' ? 'Strg+' : 'Ctrl+');\n\n const obj = item.data.obj;\n\n let showACL = '';\n if (this.props.objectEditOfAccessControl && this.state.filter.expertMode) {\n if (!obj) {\n showACL = '---';\n } else {\n const acl = obj.acl ? (obj.type === 'state' ? obj.acl.state : obj.acl.object) : 0;\n const aclSystemConfig =\n obj.acl &&\n (obj.type === 'state'\n ? this.systemConfig.common.defaultNewAcl.state\n : this.systemConfig.common.defaultNewAcl.object);\n showACL = Number.isNaN(Number(acl)) ? Number(aclSystemConfig).toString(16) : Number(acl).toString(16);\n }\n }\n\n const enumEditable =\n !this.props.notEditable &&\n obj &&\n (this.state.filter.expertMode || obj.type === 'state' || obj.type === 'channel' || obj.type === 'device');\n\n const createStateVisible =\n !item.data.obj ||\n item.data.obj.type === 'folder' ||\n item.data.obj.type === 'channel' ||\n item.data.obj.type === 'device' ||\n item.data.id === '0_userdata.0' ||\n item.data.obj.type === 'meta';\n const createChannelVisible =\n !item.data.obj ||\n item.data.obj.type === 'folder' ||\n item.data.obj.type === 'device' ||\n item.data.id === '0_userdata.0' ||\n item.data.obj.type === 'meta';\n const createDeviceVisible =\n !item.data.obj ||\n item.data.obj.type === 'folder' ||\n item.data.id === '0_userdata.0' ||\n item.data.obj.type === 'meta';\n const createFolderVisible =\n !item.data.obj ||\n item.data.obj.type === 'folder' ||\n item.data.id === '0_userdata.0' ||\n item.data.obj.type === 'meta';\n\n const ITEMS: Record = {\n EDIT: {\n key: '0',\n visibility: !!(\n this.props.objectBrowserEditObject &&\n obj &&\n (this.state.filter.expertMode || ObjectBrowserClass.isNonExpertId(id))\n ),\n icon: (\n \n ),\n label: this.texts.editObject,\n onClick: () =>\n this.setState({ editObjectDialog: item.data.id, showContextMenu: null, editObjectAlias: false }),\n },\n EDIT_VALUE: {\n key: '1',\n visibility: !!(\n this.states &&\n !this.props.notEditable &&\n obj &&\n obj.type === 'state' &&\n // @ts-expect-error deprecated from js-controller 6\n obj.common?.type !== 'file' &&\n (this.state.filter.expertMode || obj.common.write !== false)\n ),\n icon: (\n \n ),\n label: this.props.t('ra_Edit value'),\n onClick: () => {\n this.edit = {\n val: this.states[id] ? this.states[id].val : '',\n q: this.states[id] ? this.states[id].q || 0 : 0,\n ack: false,\n id,\n };\n this.setState({ updateOpened: true, showContextMenu: null });\n },\n },\n VIEW: {\n visibility:\n !!this.props.objectBrowserViewFile &&\n obj?.type === 'state' &&\n // @ts-expect-error deprecated from js-controller 6\n obj.common?.type === 'file',\n icon: (\n \n ),\n label: this.props.t('ra_View file'),\n onClick: () => this.setState({ viewFileDialog: obj?._id || '', showContextMenu: null }),\n },\n CUSTOM: {\n key: '2',\n visibility: !(\n this.props.objectCustomDialog &&\n this.info.hasSomeCustoms &&\n obj &&\n obj.type === 'state' &&\n // @ts-expect-error deprecated from js-controller 6\n obj.common?.type !== 'file'\n ),\n icon: (\n \n ),\n style: this.styles.contextMenuCustom,\n label: this.texts.customConfig,\n onClick: () => {\n this.pauseSubscribe(true);\n this.props.router?.doNavigate(null, 'customs', id);\n this.setState({ customDialog: [id], showContextMenu: null });\n },\n },\n ACL: {\n key: '3',\n visibility: !!showACL,\n icon: showACL,\n iconStyle: { fontSize: 'smaller' },\n listItemIconStyle: this.styles.contextMenuACL,\n style: this.styles.contextMenuACL,\n label: this.props.t('ra_Edit ACL'),\n onClick: () =>\n this.setState({\n showContextMenu: null,\n modalEditOfAccess: true,\n modalEditOfAccessObjData: item.data,\n }),\n },\n ROLE: {\n key: '4',\n visibility: !!(this.state.filter.expertMode && enumEditable && this.props.objectBrowserEditRole),\n icon: (\n \n ),\n label: this.props.t('ra_Edit role'),\n onClick: () => this.setState({ roleDialog: item.data.id, showContextMenu: null }),\n },\n FUNCTION: {\n key: '5',\n visibility: !!enumEditable,\n icon: (\n \n ),\n label: this.props.t('ra_Edit function'),\n onClick: () => {\n const enums = findEnumsForObjectAsIds(this.info, item.data.id, 'funcEnums');\n this.setState({\n enumDialogEnums: enums,\n enumDialog: {\n item,\n type: 'func',\n enumsOriginal: JSON.stringify(enums),\n },\n showContextMenu: null,\n });\n },\n },\n ROOM: {\n key: '6',\n visibility: !!enumEditable,\n icon: (\n \n ),\n label: this.props.t('ra_Edit room'),\n onClick: () => {\n const enums = findEnumsForObjectAsIds(this.info, item.data.id, 'roomEnums');\n this.setState({\n enumDialogEnums: enums,\n enumDialog: {\n item,\n type: 'room',\n enumsOriginal: JSON.stringify(enums),\n },\n showContextMenu: null,\n });\n },\n },\n ALIAS: {\n key: '7',\n visibility: !!(\n !this.props.notEditable &&\n this.props.objectBrowserAliasEditor &&\n this.props.objectBrowserEditObject &&\n obj?.type === 'state' &&\n // @ts-expect-error deprecated from js-controller 6\n obj.common?.type !== 'file'\n ),\n icon: (\n \n ),\n label:\n this.info.aliasesMap[item.data.id] || item.data.id.startsWith('alias.0.')\n ? this.props.t('ra_Edit alias')\n : this.props.t('ra_Create alias'),\n onClick: () => {\n if (obj?.common?.alias) {\n this.setState({ showContextMenu: null, editObjectDialog: item.data.id, editObjectAlias: true });\n } else {\n this.setState({ showContextMenu: null, showAliasEditor: item.data.id });\n }\n },\n },\n CREATE: {\n key: '+',\n visibility:\n (item.data.id.startsWith('0_userdata.0') || item.data.id.startsWith('javascript.')) &&\n (createStateVisible || createChannelVisible || createDeviceVisible || createFolderVisible),\n icon: (\n \n ),\n style: styles.contextMenuWithSubMenu,\n label: this.texts.create,\n subMenu: [\n {\n label: this.texts.createBooleanState,\n visibility: createStateVisible,\n icon: ,\n onClick: () => this.showAddDataPointDialog(item.data.id, 'state', 'boolean'),\n },\n {\n label: this.texts.createNumberState,\n visibility: createStateVisible,\n icon: ,\n onClick: () => this.showAddDataPointDialog(item.data.id, 'state', 'number'),\n },\n {\n label: this.texts.createStringState,\n visibility: createStateVisible,\n icon: ,\n onClick: () => this.showAddDataPointDialog(item.data.id, 'state', 'string'),\n },\n {\n label: this.texts.createState,\n visibility: createStateVisible,\n icon: ,\n onClick: () => this.showAddDataPointDialog(item.data.id, 'state'),\n },\n {\n label: this.texts.createChannel,\n visibility: createChannelVisible,\n icon: ,\n onClick: () => this.showAddDataPointDialog(item.data.id, 'channel'),\n },\n {\n label: this.texts.createDevice,\n visibility: createDeviceVisible,\n icon: ,\n onClick: () => this.showAddDataPointDialog(item.data.id, 'device'),\n },\n {\n label: this.texts.createFolder,\n icon: ,\n visibility: createFolderVisible,\n onClick: () => this.showAddDataPointDialog(item.data.id, 'folder'),\n },\n ],\n },\n DELETE: {\n key: 'Delete',\n visibility: !!(\n this.props.onObjectDelete &&\n (item.children?.length || (obj && !obj.common?.dontDelete))\n ),\n icon: (\n \n ),\n style: this.styles.contextMenuDelete,\n label: this.texts.deleteObject,\n onClick: () =>\n this.setState({ showContextMenu: null }, () =>\n this.showDeleteDialog({\n id,\n obj: obj || ({} as ioBroker.Object),\n item,\n }),\n ),\n },\n };\n\n Object.keys(ITEMS).forEach(key => {\n if (ITEMS[key].visibility) {\n if (ITEMS[key].subMenu) {\n items.push(\n ) =>\n this.state.showContextMenu &&\n this.setState({\n showContextMenu: {\n item: this.state.showContextMenu.item,\n position: this.state.showContextMenu.position,\n subItem: key,\n subAnchor: e.target as HTMLLIElement,\n },\n })\n }\n style={ITEMS[key].style}\n >\n \n {ITEMS[key].icon}\n \n \n {ITEMS[key].label}\n ...\n \n
    \n \n
    \n ,\n );\n\n if (this.state.showContextMenu?.subItem === key) {\n items.push(\n {\n if (this.state.showContextMenu) {\n this.setState({\n showContextMenu: {\n item: this.state.showContextMenu.item,\n position: this.state.showContextMenu.position,\n },\n });\n }\n this.contextMenu = null;\n }}\n >\n {ITEMS[key].subMenu?.map(subItem =>\n subItem.visibility ? (\n \n \n {subItem.icon}\n \n {subItem.label}\n \n ) : null,\n )}\n ,\n );\n }\n } else {\n items.push(\n \n \n {ITEMS[key].icon}\n \n {ITEMS[key].label}\n {ITEMS[key].key ? (\n
    \n {`Alt+${ITEMS[key].key === 'Delete' ? this.props.t('ra_Del') : ITEMS[key].key}`}\n
    \n ) : null}\n ,\n );\n }\n }\n });\n\n if (!items.length) {\n setTimeout(() => this.setState({ showContextMenu: null }), 100);\n return null;\n }\n\n return (\n {\n e.preventDefault();\n if (e.altKey) {\n Object.keys(ITEMS).forEach(key => {\n if (e.key === ITEMS[key].key && ITEMS[key].onClick) {\n ITEMS[key].onClick();\n }\n });\n }\n }}\n anchorReference=\"anchorPosition\"\n anchorPosition={this.state.showContextMenu.position}\n onClose={() => {\n this.setState({ showContextMenu: null });\n this.contextMenu = null;\n }}\n >\n {items}\n \n );\n }\n\n private renderEditValueDialog(): JSX.Element | null {\n if (!this.state.updateOpened || !this.props.objectBrowserValue) {\n return null;\n }\n\n if (!this.edit.id) {\n console.error(`Invalid ID for edit: ${JSON.stringify(this.edit)}`);\n return null;\n }\n\n if (!this.objects[this.edit.id]) {\n console.error(`Something went wrong. Possibly the object ${this.edit.id} was deleted.`);\n return null;\n }\n\n const type = this.objects[this.edit.id].common?.type\n ? this.objects[this.edit.id].common.type\n : typeof this.edit.val;\n\n const role = this.objects[this.edit.id].common.role;\n\n const ObjectBrowserValue = this.props.objectBrowserValue;\n\n return (\n {\n this.setState({ updateOpened: false });\n if (res) {\n this.onUpdate(res);\n }\n }}\n width={this.props.width}\n />\n );\n }\n\n /**\n * The rendering method of this component.\n */\n render(): JSX.Element {\n this.recordStates = [];\n if (this.unsubscribeTimer) {\n clearTimeout(this.unsubscribeTimer);\n }\n\n if (this.styleTheme !== this.props.themeType) {\n this.styles = {\n cellIdIconFolder: Utils.getStyle(this.props.theme, styles.cellIdIconFolder),\n cellIdIconDocument: Utils.getStyle(this.props.theme, styles.cellIdIconDocument),\n iconDeviceError: Utils.getStyle(this.props.theme, styles.iconDeviceError),\n iconDeviceConnected: Utils.getStyle(this.props.theme, styles.iconDeviceConnected),\n iconDeviceDisconnected: Utils.getStyle(this.props.theme, styles.iconDeviceDisconnected),\n cellButtonsButtonWithCustoms: Utils.getStyle(this.props.theme, styles.cellButtonsButtonWithCustoms),\n invertedBackground: Utils.getStyle(this.props.theme, styles.invertedBackground),\n invertedBackgroundFlex: Utils.getStyle(this.props.theme, styles.invertedBackgroundFlex),\n contextMenuEdit: Utils.getStyle(this.props.theme, styles.contextMenuEdit),\n contextMenuEditValue: Utils.getStyle(this.props.theme, styles.contextMenuEditValue),\n contextMenuView: Utils.getStyle(this.props.theme, styles.contextMenuView),\n contextMenuCustom: Utils.getStyle(this.props.theme, styles.contextMenuCustom),\n contextMenuACL: Utils.getStyle(this.props.theme, styles.contextMenuACL),\n contextMenuRoom: Utils.getStyle(this.props.theme, styles.contextMenuRoom),\n contextMenuRole: Utils.getStyle(this.props.theme, styles.contextMenuRole),\n contextMenuDelete: Utils.getStyle(this.props.theme, styles.contextMenuDelete),\n filterInput: Utils.getStyle(this.props.theme, styles.headerCellInput, styles.filterInput),\n iconCopy: Utils.getStyle(\n this.props.theme,\n styles.cellButtonsValueButton,\n styles.cellButtonsValueButtonCopy,\n ),\n aliasReadWrite: Utils.getStyle(this.props.theme, styles.cellIdAlias, styles.cellIdAliasReadWrite),\n aliasAlone: Utils.getStyle(this.props.theme, styles.cellIdAlias, styles.cellIdAliasAlone),\n };\n this.styleTheme = this.props.themeType;\n }\n\n // apply filter if changed\n const jsonFilter = JSON.stringify(this.state.filter);\n\n if (this.lastAppliedFilter !== jsonFilter && this.objects && this.root) {\n const counter = { count: 0 };\n\n applyFilter(\n this.root,\n this.state.filter,\n this.props.lang,\n this.objects,\n undefined,\n counter,\n this.props.customFilter,\n this.props.types,\n );\n\n if (counter.count < 500 && !this.state.expandAllVisible) {\n setTimeout(() => this.setState({ expandAllVisible: true }));\n } else if (counter.count >= 500 && this.state.expandAllVisible) {\n setTimeout(() => this.setState({ expandAllVisible: false }));\n }\n\n this.lastAppliedFilter = jsonFilter;\n }\n\n this.unsubscribeTimer = setTimeout(() => {\n this.unsubscribeTimer = null;\n this.checkUnsubscribes();\n }, 200);\n\n if (!this.state.loaded) {\n return ;\n }\n const items = this.root ? this.renderItem(this.root, undefined) : null;\n\n return (\n \n \n {this.getToolbar()}\n \n {this.renderHeader()}\n this.navigateKeyPress(event)}\n >\n {items}\n \n \n {this.renderContextMenu()}\n {this.renderAliasMenu()}\n {this.renderToast()}\n {this.renderColumnsEditCustomDialog()}\n {this.renderColumnsSelectorDialog()}\n {this.renderCustomDialog()}\n {this.renderEditValueDialog()}\n {this.renderEditObjectDialog()}\n {this.renderViewObjectFileDialog()}\n {this.renderAliasEditorDialog()}\n {this.renderEditRoleDialog()}\n {this.renderEnumDialog()}\n {this.renderErrorDialog()}\n {this.renderExportDialog()}\n {this.state.modalNewObj && this.props.modalNewObject && this.props.modalNewObject(this)}\n {this.state.modalEditOfAccess &&\n this.state.modalEditOfAccessObjData &&\n this.props.modalEditOfAccessControl &&\n this.props.modalEditOfAccessControl(this, this.state.modalEditOfAccessObjData)}\n \n );\n }\n}\n\nexport const ObjectBrowser = withWidth()(ObjectBrowserClass);\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\n// Icon copied from https://github.com/FortAwesome/Font-Awesome/blob/0d1f27efb836eb2ab994ba37221849ed64a73e5c/svgs/regular/\nexport const IconAdapter = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 512 512\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n);\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\nexport const IconChannel = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 320 320\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n \n \n \n \n \n);\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\nexport const IconCopy = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 512 512\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n);\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\nexport const IconDevice = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 320 320\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\n// Icon copied from https://github.com/FortAwesome/Font-Awesome/blob/0d1f27efb836eb2ab994ba37221849ed64a73e5c/svgs/regular/\nexport const IconDocument = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n);\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\n// Icon copied from https://github.com/FortAwesome/Font-Awesome/blob/0d1f27efb836eb2ab994ba37221849ed64a73e5c/svgs/regular/\nexport const IconDocumentReadOnly = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 512 512\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n \n);\n", "import React, { type JSX } from 'react';\nimport { type IconProps } from './IconProps';\n\nexport const IconState = (props: IconProps): JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 320 320\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n \n);\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\n// Copyright Apache 2.0 https://raw.githubusercontent.com/material-icons/material-icons/master/svg/filter_alt/baseline.svg\n// https://github.com/material-icons/material-icons/blob/master/LICENSE\nexport const IconClearFilter = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 24 24\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n);\n", "import React from 'react';\n\nimport { Grid2, Paper } from '@mui/material';\n\nconst styles: Record = {\n root: {\n width: '100%',\n height: '100%',\n },\n overflowHidden: {\n overflow: 'hidden',\n },\n container: {\n height: '100%',\n },\n};\n\ninterface TabContainerProps {\n /* The elevation of the tab container. */\n elevation?: number;\n /* Set to 'visible' show the overflow. */\n overflow?: string;\n styles?: {\n root?: React.CSSProperties;\n container?: React.CSSProperties;\n };\n onKeyDown?: (event: React.KeyboardEvent) => void;\n tabIndex?: number;\n /** The content of the component. */\n children: React.ReactNode;\n}\n\nexport function TabContainer(props: TabContainerProps): React.JSX.Element {\n return (\n \n \n {props.children}\n \n \n );\n}\n", "// please do not delete React, as without it other projects could not be compiled: ReferenceError: React is not defined\nimport React from 'react';\nimport { Grid2 } from '@mui/material';\n\nconst styles: Record = {\n root: {\n height: '100%',\n overflow: 'hidden',\n },\n overflowAuto: {\n overflow: 'auto',\n },\n};\n\ninterface TabContentProps {\n /** The content of the component. */\n children: React.JSX.Element | (React.JSX.Element | null | React.JSX.Element[])[];\n /** Overflow behavior */\n overflow?: 'auto';\n style?: React.CSSProperties;\n ref?: React.RefObject;\n}\n\nexport function TabContent(props: TabContentProps): React.JSX.Element {\n return (\n \n {props.children}\n \n );\n}\n", "import React from 'react';\n\nimport { Grid2 } from '@mui/material';\n\ninterface TabHeaderProps {\n children: React.ReactNode;\n}\n\nexport function TabHeader(props: TabHeaderProps): React.JSX.Element {\n return (\n \n {props.children}\n \n );\n}\n", "import React, { Component, type JSX } from 'react';\n\nimport {\n Input,\n Radio,\n FormControlLabel,\n FormGroup,\n Checkbox,\n MenuItem,\n Select,\n TextField,\n Box,\n type Theme,\n} from '@mui/material';\n\nimport { I18n } from '../i18n';\nimport type { IobTheme } from '../types';\nimport { Utils } from './Utils';\n\nconst styles: Record = {\n hr: {\n border: 0,\n borderTop: '1px solid gray',\n },\n scrollWindow: {\n width: '100%',\n overflow: 'auto',\n height: 'calc(100% - 22px)',\n },\n rowDiv: {\n width: '100%',\n },\n modeDiv: {\n width: 200,\n display: 'inline-block',\n verticalAlign: 'top',\n },\n settingsDiv: {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n inputTime: {\n width: 90,\n marginTop: 0,\n marginLeft: 5,\n },\n inputDate: {\n width: 140,\n marginTop: 0,\n marginLeft: 5,\n },\n inputEvery: {\n width: 40,\n marginLeft: 5,\n marginRight: 5,\n },\n inputRadio: {\n padding: '4px 12px',\n verticalAlign: 'top',\n },\n inputGroup: {\n maxWidth: 400,\n display: 'inline-block',\n },\n inputGroupElement: {\n width: 120,\n },\n inputDateDay: {\n width: 60,\n },\n inputDateDayCheck: {\n padding: 4,\n },\n inputSmallCheck: {\n padding: 0,\n },\n rowOnce: {},\n rowDays: (theme: IobTheme) => ({\n background: theme.palette.mode !== 'dark' ? '#ddeaff' : '#4b5057',\n }),\n rowDows: (theme: IobTheme) => ({\n background: theme.palette.mode !== 'dark' ? '#DDFFDD' : '#52646c',\n }),\n rowDates: (theme: IobTheme) => ({\n background: theme.palette.mode !== 'dark' ? '#DDDDFF' : '#747a86',\n }),\n rowWeeks: (theme: IobTheme) => ({\n background: theme.palette.mode !== 'dark' ? '#DDDDFF' : '#717680',\n }),\n rowMonths: (theme: IobTheme) => ({\n background: theme.palette.mode !== 'dark' ? '#DDFFFF' : '#1f5557',\n }),\n rowMonthsDates: (theme: IobTheme) => ({\n background: theme.palette.mode !== 'dark' ? '#EEFFFF' : '#3c5737',\n maxWidth: 600,\n }),\n rowYears: (theme: IobTheme) => ({\n background: theme.palette.mode !== 'dark' ? '#fbffdd' : '#574b33',\n }),\n rowDaysDows: (theme: IobTheme) => ({\n background: theme.palette.mode !== 'dark' ? '#EEEAFF' : '#573544',\n pl: '10px',\n pb: '10px',\n }),\n rowDowsDows: (theme: IobTheme) => ({\n background: theme.palette.mode !== 'dark' ? '#EEFFEE' : '#3d4c54',\n pl: '10px',\n pb: '10px',\n }),\n};\n\nconst WEEKDAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];\nconst MONTHS = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n];\nconst PERIODS = {\n minutes: 'minutes',\n hours: 'hours',\n};\nconst ASTRO = [\n 'sunrise',\n 'sunriseEnd',\n 'goldenHourEnd',\n 'solarNoon',\n 'goldenHour',\n 'sunsetStart',\n 'sunset',\n 'dusk',\n 'nauticalDusk',\n 'night',\n 'nightEnd',\n 'nauticalDawn',\n 'dawn',\n 'nadir',\n];\n\nfunction padding(num: number): string {\n if (num < 10) {\n return `0${num}`;\n }\n return `${num}`;\n}\n\nexport interface ScheduleConfig {\n time: {\n exactTime: boolean;\n start: string;\n end: string;\n mode: string;\n interval: number;\n };\n period: {\n once: string;\n days: number;\n dows: string;\n dates: string;\n weeks: number;\n months: string | number;\n years: number;\n yearMonth: number;\n yearDate: number;\n };\n valid: {\n from: string;\n to?: string;\n };\n}\n\n// interface TextTimeProps {\n// inputRef: React.RefObject;\n// placeholder?: string;\n// }\n\n// function TextTime(props: TextTimeProps) {\n// const { inputRef, ...other } = props;\n//\n// return ;\n// }\n\n// function TextDate(props: TextTimeProps) {\n// const { inputRef, ...other } = props;\n//\n// return ;\n// }\n\nconst DEFAULT: ScheduleConfig = {\n time: {\n exactTime: false,\n\n start: '00:00',\n end: '23:59',\n\n mode: 'hours',\n interval: 1,\n },\n period: {\n once: '',\n days: 1,\n dows: '',\n dates: '',\n weeks: 0,\n months: '',\n\n years: 0,\n yearMonth: 0,\n yearDate: 0,\n },\n valid: {\n from: '',\n to: '',\n },\n};\n\nfunction string2USdate(date: string): string {\n const parts = date.split('.');\n if (parts.length === 3) {\n return `${parts[2]}-${parts[1]}-${parts[0]}`;\n }\n return '';\n}\n\ninterface ScheduleProps {\n schedule: string | ScheduleConfig;\n onChange: (schedule: string, desc?: string) => void;\n theme: IobTheme;\n}\n\ninterface ScheduleState {\n schedule: ScheduleConfig;\n desc: string;\n}\n\nexport class Schedule extends Component {\n private readonly refFrom: React.RefObject;\n\n private readonly refTo: React.RefObject;\n\n private readonly refOnce: React.RefObject;\n\n private timerOnce: ReturnType | null = null;\n\n private timerFrom: ReturnType | null = null;\n\n private timerTo: ReturnType | null = null;\n\n constructor(props: ScheduleProps) {\n super(props);\n let schedule: ScheduleConfig | undefined;\n if (this.props.schedule && typeof this.props.schedule === 'string' && this.props.schedule[0] === '{') {\n try {\n schedule = JSON.parse(this.props.schedule);\n } catch {\n // ignore\n }\n } else if (typeof this.props.schedule === 'object') {\n schedule = this.props.schedule;\n }\n\n if (!schedule || !Object.keys(schedule).length) {\n setTimeout(() => this.onChange(this.state.schedule, true), 200);\n schedule = DEFAULT;\n }\n schedule = { ...DEFAULT, ...schedule };\n schedule.valid.from = schedule.valid.from || Schedule.now2string();\n\n this.refFrom = React.createRef();\n this.refTo = React.createRef();\n this.refOnce = React.createRef();\n\n this.state = {\n schedule,\n desc: Schedule.state2text(schedule),\n };\n\n if (JSON.stringify(schedule) !== this.props.schedule) {\n setTimeout(() => this.props.onChange && this.props.onChange(JSON.stringify(schedule)), 100);\n }\n }\n\n onChange(schedule: ScheduleConfig, force?: boolean): void {\n const isDiff = JSON.stringify(schedule) !== JSON.stringify(this.state.schedule);\n if (force || isDiff) {\n isDiff && this.setState({ schedule, desc: Schedule.state2text(schedule) });\n const copy = JSON.parse(JSON.stringify(schedule));\n if (copy.period.once) {\n const once = copy.period.once;\n delete copy.period;\n copy.period = { once };\n delete copy.valid;\n } else if (copy.period.days) {\n const days = copy.period.days;\n const daysOfWeek = copy.period.dows;\n delete copy.period;\n copy.period = { days };\n if (daysOfWeek && daysOfWeek !== '[]') {\n copy.period.dows = daysOfWeek;\n }\n } else if (copy.period.weeks) {\n const weeks = copy.period.weeks;\n const daysOfWeek = copy.period.dows;\n delete copy.period;\n copy.period = { weeks };\n if (daysOfWeek && daysOfWeek !== '[]') {\n copy.period.dows = daysOfWeek;\n }\n } else if (copy.period.months) {\n const months = copy.period.months;\n const dates = copy.period.dates;\n delete copy.period;\n copy.period = { months };\n if (dates && dates !== '[]') {\n copy.period.dates = dates;\n }\n } else if (copy.period.years) {\n const years = copy.period.years;\n const yearMonth = copy.period.yearMonth;\n const yearDate = copy.period.yearDate;\n delete copy.period;\n copy.period = { years, yearDate };\n if (yearMonth) {\n copy.period.yearMonth = yearMonth;\n }\n }\n\n if (copy.time.exactTime) {\n delete copy.time.end;\n delete copy.time.mode;\n delete copy.time.interval;\n } else {\n delete copy.time.exactTime;\n }\n if (copy.valid) {\n if (!copy.valid.to) {\n delete copy.valid.to;\n }\n if (\n copy.period.days === 1 ||\n copy.period.weeks === 1 ||\n copy.period.months === 1 ||\n copy.period.years === 1\n ) {\n const from = Schedule.string2date(copy.valid.from);\n const today = new Date();\n today.setHours(0);\n today.setMinutes(0);\n today.setSeconds(0);\n today.setMilliseconds(0);\n if (from <= today) {\n delete copy.valid.from;\n }\n }\n if (!copy.valid.from && !copy.valid.to) {\n delete copy.valid;\n }\n }\n\n this.props.onChange && this.props.onChange(JSON.stringify(copy), Schedule.state2text(schedule));\n }\n }\n\n static state2text(schedule: string | ScheduleConfig): string {\n if (typeof schedule === 'string') {\n try {\n schedule = JSON.parse(schedule) as ScheduleConfig;\n } catch {\n return '';\n }\n }\n\n const desc = [];\n const validFrom = Schedule.string2date(schedule.valid.from);\n if (schedule.period.once) {\n // once\n const once = Schedule.string2date(schedule.period.once);\n const now = new Date();\n now.setMilliseconds(0);\n now.setSeconds(0);\n now.setMinutes(0);\n now.setHours(0);\n\n //\n if (once < now) {\n // will be not executed anymore, because start is in the past\n return I18n.t('sch_desc_onceInPast');\n }\n // only once\n desc.push(I18n.t('sch_desc_once_on', schedule.period.once));\n } else if (schedule.period.days) {\n if (schedule.period.days === 1) {\n if (schedule.period.dows) {\n const daysOfWeek = JSON.parse(schedule.period.dows);\n if (daysOfWeek.length === 2 && daysOfWeek[0] === 0 && daysOfWeek[1] === 6) {\n // on weekends\n desc.push(I18n.t('sch_desc_onWeekends'));\n } else if (\n daysOfWeek.length === 5 &&\n daysOfWeek[0] === 1 &&\n daysOfWeek[1] === 2 &&\n daysOfWeek[2] === 3 &&\n daysOfWeek[3] === 4 &&\n daysOfWeek[4] === 5\n ) {\n // on workdays\n desc.push(I18n.t('sch_desc_onWorkdays'));\n } else {\n const tDows = daysOfWeek.map((day: number) => I18n.t(WEEKDAYS[day]));\n if (tDows.length === 1) {\n // on Monday\n desc.push(I18n.t('sch_desc_onWeekday', tDows[0]));\n } else if (tDows.length === 7) {\n // on every day\n desc.push(I18n.t('sch_desc_everyDay'));\n } else {\n const last = tDows.pop();\n // on Monday and Sunday\n desc.push(I18n.t('sch_desc_onWeekdays', tDows.join(', '), last));\n }\n }\n } else {\n desc.push(I18n.t('sch_desc_everyDay'));\n }\n } else {\n desc.push(I18n.t('sch_desc_everyNDay', schedule.period.days.toString()));\n }\n } else if (schedule.period.weeks) {\n if (schedule.period.weeks === 1) {\n desc.push(I18n.t('sch_desc_everyWeek'));\n } else {\n desc.push(I18n.t('sch_desc_everyNWeeks', schedule.period.weeks.toString()));\n }\n\n if (schedule.period.dows) {\n const daysOfWeek = JSON.parse(schedule.period.dows);\n if (daysOfWeek.length === 2 && daysOfWeek[0] === 0 && daysOfWeek[1] === 6) {\n // on weekends\n desc.push(I18n.t('sch_desc_onWeekends'));\n } else if (\n daysOfWeek.length === 5 &&\n daysOfWeek[0] === 1 &&\n daysOfWeek[1] === 2 &&\n daysOfWeek[2] === 3 &&\n daysOfWeek[3] === 4 &&\n daysOfWeek[4] === 5\n ) {\n // on workdays\n desc.push(I18n.t('sch_desc_onWorkdays'));\n } else {\n const tDows = daysOfWeek.map((day: number) => I18n.t(WEEKDAYS[day]));\n if (tDows.length === 1) {\n // on Monday\n desc.push(I18n.t('sch_desc_onWeekday', tDows[0]));\n } else if (tDows.length === 7) {\n // on every day\n desc.push(I18n.t('sch_desc_everyDay'));\n } else {\n const last = tDows.pop();\n // on Monday and Sunday\n desc.push(I18n.t('sch_desc_onWeekdays', tDows.join(', '), last));\n }\n }\n } else {\n return I18n.t('sch_desc_never');\n }\n } else if (schedule.period.months) {\n if (schedule.period.dates) {\n const dates = JSON.parse(schedule.period.dates);\n if (dates.length === 1) {\n // in 1 of month\n desc.push(I18n.t('sch_desc_onDate', dates[0]));\n } else if (dates.length === 31) {\n desc.push(I18n.t('sch_desc_onEveryDate'));\n } else if (!dates.length) {\n return I18n.t('sch_desc_never');\n } else {\n const last = dates.pop();\n // in 1 and 4 of month\n desc.push(I18n.t('sch_desc_onDates', dates.join(', '), last));\n }\n } else {\n desc.push(I18n.t('sch_desc_onEveryDate'));\n }\n\n if (schedule.period.months === 1) {\n desc.push(I18n.t('sch_desc_everyMonth'));\n } else if (typeof schedule.period.months === 'number') {\n desc.push(I18n.t('sch_desc_everyNMonths', schedule.period.months.toString()));\n } else {\n const months = JSON.parse(schedule.period.months);\n const tMonths = months.map((month: number) => I18n.t(MONTHS[month - 1]));\n if (!tMonths.length) {\n // in January\n return I18n.t('sch_desc_never');\n }\n if (tMonths.length === 1) {\n // in January\n desc.push(I18n.t('sch_desc_onMonth', tMonths[0]));\n } else if (tMonths.length === 12) {\n // every month\n desc.push(I18n.t('sch_desc_everyMonth'));\n } else {\n const last = tMonths.pop();\n // in January and May\n desc.push(I18n.t('sch_desc_onMonths', tMonths.join(', '), last));\n }\n }\n } else if (schedule.period.years) {\n if (schedule.period.years === 1) {\n desc.push(I18n.t('sch_desc_everyYear'));\n } else {\n desc.push(I18n.t('sch_desc_everyNYears', schedule.period.years.toString()));\n }\n desc.push(\n I18n.t(\n 'sch_desc_onDate',\n schedule.period.yearDate.toString(),\n schedule.period.yearMonth\n ? I18n.t(MONTHS[schedule.period.yearMonth - 1])\n : I18n.t('sch_desc_everyMonth'),\n ),\n );\n }\n\n // time\n if (schedule.time.exactTime) {\n if (ASTRO.includes(schedule.time.start)) {\n // at sunset\n desc.push(I18n.t('sch_desc_atTime', I18n.t(`sch_astro_${schedule.time.start}`)));\n } else {\n // at HH:MM\n desc.push(I18n.t('sch_desc_atTime', schedule.time.start));\n }\n } else {\n if (schedule.time.mode === PERIODS.minutes) {\n if (schedule.time.interval === 1) {\n // every minute\n desc.push(I18n.t('sch_desc_everyMinute'));\n } else {\n // every N minute\n desc.push(I18n.t('sch_desc_everyNMinutes', schedule.time.interval.toString()));\n }\n } else if (schedule.time.interval === 1) {\n // every minute\n desc.push(I18n.t('sch_desc_everyHour'));\n } else {\n // every N minute\n desc.push(I18n.t('sch_desc_everyNHours', schedule.time.interval.toString()));\n }\n\n const start =\n ASTRO.indexOf(schedule.time.start) !== -1\n ? I18n.t(`sch_astro_${schedule.time.start}`)\n : schedule.time.start;\n const end =\n ASTRO.indexOf(schedule.time.end) !== -1 ? I18n.t(`sch_astro_${schedule.time.end}`) : schedule.time.end;\n if (start !== '00:00' || (end !== '24:00' && end !== '23:59')) {\n // from HH:mm to HH:mm\n desc.push(I18n.t('sch_desc_intervalFromTo', start, end));\n }\n }\n\n if (!schedule.period.once) {\n // valid\n if (validFrom.getTime() > Date.now() && schedule.valid.to) {\n // from XXX to XXXX\n desc.push(I18n.t('sch_desc_validFromTo', schedule.valid.from, schedule.valid.to));\n } else if (validFrom.getTime() > Date.now()) {\n // from XXXX\n desc.push(I18n.t('sch_desc_validFrom', schedule.valid.from));\n } else if (schedule.valid.to) {\n // till XXXX\n desc.push(I18n.t('sch_desc_validTo', schedule.valid.to));\n }\n }\n return desc.join(' ');\n }\n\n getTimePeriodElements(): JSX.Element {\n const schedule = this.state.schedule;\n let wholeDay = false;\n let day = false;\n let night = false;\n let fromTo = true;\n if (schedule.time.start === '00:00' && schedule.time.end === '24:00') {\n wholeDay = true;\n fromTo = false;\n } else if (schedule.time.start === 'sunrise') {\n day = true;\n fromTo = false;\n } else if (schedule.time.start === 'sunset') {\n night = true;\n fromTo = false;\n }\n\n return (\n \n
    \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.exactTime = false;\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_intervalTime')}\n />\n
    \n
    \n
    \n {!schedule.time.exactTime && (\n
    \n
    \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = '00:00';\n _schedule.time.end = '23:59';\n this.onChange(_schedule);\n }}\n />\n }\n label={!fromTo ? I18n.t('sch_fromTo') : ''}\n />\n {fromTo && [\n ({\n '& input[type=\"time\"]::-webkit-calendar-picker-indicator': {\n filter: theme.palette.mode === 'dark' ? 'invert(80%)' : undefined,\n },\n })}\n value={this.state.schedule.time.start}\n // InputProps={{inputComponent: TextTime}}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n slotProps={{\n inputLabel: { shrink: true },\n }}\n label={I18n.t('sch_from')}\n margin=\"normal\"\n />,\n ({\n '& input[type=\"time\"]::-webkit-calendar-picker-indicator': {\n filter: theme.palette.mode === 'dark' ? 'invert(80%)' : undefined,\n },\n })}\n value={this.state.schedule.time.end}\n // InputProps={{inputComponent: TextTime}}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.end = e.target.value;\n this.onChange(_schedule);\n }}\n slotProps={{\n inputLabel: { shrink: true },\n }}\n label={I18n.t('sch_to')}\n margin=\"normal\"\n />,\n ]}\n
    \n
    \n )}\n\n {!schedule.time.exactTime && (\n
    \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = '00:00';\n _schedule.time.end = '24:00';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_wholeDay')}\n />\n
    \n )}\n\n {!schedule.time.exactTime && (\n
    \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = 'sunrise';\n _schedule.time.end = 'sunset';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_astroDay')}\n />\n
    \n )}\n\n {!schedule.time.exactTime && (\n
    \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = 'sunset';\n _schedule.time.end = 'sunrise';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_astroNight')}\n />\n
    \n )}\n
    \n {!schedule.time.exactTime && this.getPeriodSettingsMinutes(fromTo)}\n
    \n \n );\n }\n\n getTimeExactElements(): JSX.Element {\n const isAstro = ASTRO.includes(this.state.schedule.time.start);\n\n return (\n \n
    \n {\n const schedule = JSON.parse(JSON.stringify(this.state.schedule));\n schedule.time.exactTime = true;\n this.onChange(schedule);\n }}\n />\n }\n label={I18n.t('sch_exactTime')}\n />\n
    \n {this.state.schedule.time.exactTime && (\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n >\n \n {I18n.t('sch_specificTime')}\n \n {ASTRO.map(event => (\n \n {I18n.t(`sch_astro_${event}`)}\n \n ))}\n \n )}\n {this.state.schedule.time.exactTime && !isAstro && (\n
    \n ({\n '& input[type=\"time\"]::-webkit-calendar-picker-indicator': {\n filter: theme.palette.mode === 'dark' ? 'invert(80%)' : undefined,\n },\n })}\n onChange={e => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.start = e.target.value;\n this.onChange(_schedule);\n }}\n slotProps={{\n inputLabel: { shrink: true },\n }}\n margin=\"normal\"\n />\n
    \n )}\n \n );\n }\n\n static getDivider(): JSX.Element {\n return
    ;\n }\n\n getPeriodModes(): JSX.Element[] {\n const schedule = this.state.schedule;\n const isOnce =\n !schedule.period.dows &&\n !schedule.period.months &&\n !schedule.period.dates &&\n !schedule.period.years &&\n !schedule.period.days &&\n !schedule.period.weeks;\n\n if (isOnce && !schedule.period.once) {\n schedule.period.once = Schedule.now2string(true);\n }\n\n return [\n // ----- once ---\n \n
    \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.once = _schedule.period.once || Schedule.now2string(true);\n _schedule.period.dows = '';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodOnce')}\n />\n
    \n {isOnce && (\n
    \n {\n this.timerOnce && clearTimeout(this.timerOnce);\n this.timerOnce = null;\n\n if (this.refOnce.current) {\n this.refOnce.current.style.background = '#ff000030';\n }\n this.timerOnce = setTimeout(\n value => {\n this.timerOnce = null;\n if (this.refOnce.current) {\n this.refOnce.current.style.background = '';\n }\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.period.once = `${padding(date.getDate())}.${padding(date.getMonth() + 1)}.${date.getFullYear()}`;\n this.onChange(_schedule);\n }\n },\n 1500,\n e.target.value,\n );\n }}\n slotProps={{\n inputLabel: { shrink: true },\n }}\n label={I18n.t('sch_at')}\n margin=\"normal\"\n />\n
    \n )}\n ,\n\n // ----- days ---\n \n
    \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 1;\n _schedule.period.dows = '';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodDaily')}\n />\n
    \n
    \n {this.getPeriodSettingsDaily()}\n {schedule.period.days ? this.getPeriodSettingsWeekdays() : null}\n
    \n ,\n\n // ----- days of weeks ---\n /*\n !schedule.period.days && (\n
    \n
    \n {\n const schedule = JSON.parse(JSON.stringify(this.state.schedule));\n schedule.period.dows = schedule.period.dows ? '' : '[0,1,2,3,4,5,6]';\n this.onChange(schedule);\n }}/>}\n label={I18n.t('sch_periodWeekdays')} />\n
    \n
    \n {this.getPeriodSettingsWeekdays()}\n
    \n
    ,\n */\n // ----- weeks ---\n \n
    \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = schedule.period.weeks ? 0 : 1;\n _schedule.period.dows = schedule.period.dows || '[0]';\n _schedule.period.months = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodWeekly')}\n />\n
    \n \n
    {this.getPeriodSettingsWeekly()}
    \n \n {this.state.schedule.period.weeks ? this.getPeriodSettingsWeekdays() : null}\n \n \n ,\n\n // ----- months ---\n \n
    \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 1;\n _schedule.period.dows = '';\n _schedule.period.dates = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodMonthly')}\n />\n
    \n
    \n {this.getPeriodSettingsMonthly()}\n {schedule.period.months ? (\n \n \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = _schedule.period.months || 1;\n const dates = [];\n for (let i = 1; i <= 31; i++) {\n dates.push(i);\n }\n _schedule.period.dates =\n _schedule.period.dates || JSON.stringify(dates);\n _schedule.period.dows = '';\n _schedule.period.years = 0;\n _schedule.period.yearDate = 0;\n _schedule.period.yearMonth = 0;\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodDates')}\n />\n \n \n {this.getPeriodSettingsDates()}\n \n \n ) : null}\n
    \n ,\n\n // ----- years ---\n \n
    \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 1;\n _schedule.period.yearDate = 1;\n _schedule.period.yearMonth = 1;\n _schedule.period.dows = '';\n _schedule.period.months = 0;\n _schedule.period.dates = '';\n _schedule.period.weeks = 0;\n _schedule.period.days = 0;\n _schedule.period.once = '';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodYearly')}\n />\n
    \n
    \n
    {this.getPeriodSettingsYearly()}
    \n {!!schedule.period.years && (\n
    \n {I18n.t('sch_on')}\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.yearDate = parseInt(e.target.value, 10);\n if (_schedule.period.yearDate < 1) {\n _schedule.period.yearDate = 31;\n }\n if (_schedule.period.yearDate > 31) {\n _schedule.period.yearDate = 1;\n }\n this.onChange(_schedule);\n }}\n />\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.yearMonth = e.target.value;\n this.onChange(_schedule);\n }}\n >\n \n {I18n.t('sch_yearEveryMonth')}\n \n {MONTHS.map((month, i) => (\n \n {I18n.t(month)}\n \n ))}\n \n
    \n )}\n
    \n ,\n ];\n }\n\n getPeriodSettingsMinutes(fromTo: boolean): JSX.Element {\n return (\n
    \n \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.interval = parseInt(e.target.value, 10);\n this.onChange(_schedule);\n }}\n />\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.time.mode = e.target.value;\n this.onChange(_schedule);\n }}\n >\n {I18n.t('sch_periodMinutes')}\n {I18n.t('sch_periodHours')}\n \n
    \n );\n }\n\n getPeriodSettingsWeekdays(): JSX.Element[] {\n // || this.state.schedule.period.dows === '[1, 2, 3, 4, 5]' || this.state.schedule.period.dows === '[0, 6]'\n const schedule = this.state.schedule;\n const isSpecific =\n schedule.period.dows && schedule.period.dows !== '[1, 2, 3, 4, 5]' && schedule.period.dows !== '[0, 6]';\n return [\n
    \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[1, 2, 3, 4, 5]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodWorkdays')}\n />\n
    ,\n\n
    \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[0, 6]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodWeekend')}\n />\n
    ,\n\n \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dows = '[0, 1, 2, 3, 4, 5, 6]';\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodWeekdays')}\n />\n {isSpecific && (schedule.period.days === 1 || schedule.period.weeks) && (\n \n {[1, 2, 3, 4, 5, 6, 0].map(i => (\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let daysOfWeek: number[];\n try {\n daysOfWeek = JSON.parse(_schedule.period.dows);\n } catch {\n daysOfWeek = [];\n }\n if (e.target.checked && !daysOfWeek.includes(i)) {\n daysOfWeek.push(i);\n } else if (!e.target.checked && daysOfWeek.includes(i)) {\n daysOfWeek.splice(daysOfWeek.indexOf(i), 1);\n }\n daysOfWeek.sort((a: number, b: number) => a - b);\n _schedule.period.dows = JSON.stringify(daysOfWeek);\n if (_schedule.period.days) {\n _schedule.period.days = 1;\n }\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t(WEEKDAYS[i])}\n />\n ))}\n \n )}\n ,\n ];\n }\n\n getPeriodSettingsDaily(): JSX.Element[] | null {\n if (!this.state.schedule.period.days) {\n return null;\n }\n const schedule = this.state.schedule;\n return [\n
    \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 1;\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodEveryDay')}\n />\n
    ,\n
    \n 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = 2;\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodEvery')}\n />\n {schedule.period.days > 1 && [\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.days = parseInt(e.target.value, 10);\n _schedule.period.dows = '';\n this.onChange(_schedule);\n }}\n />,\n \n {I18n.t('sch_periodDay')}\n ,\n ]}\n
    ,\n ];\n }\n\n getPeriodSettingsWeekly(): JSX.Element[] | null {\n if (!this.state.schedule.period.weeks) {\n return null;\n }\n const schedule = this.state.schedule;\n return [\n \n
    \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = 1;\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodEveryWeek')}\n />\n
    \n
    \n 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = 2;\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodEvery')}\n />\n {schedule.period.weeks > 1 && [\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.weeks = parseInt(e.target.value, 10);\n this.onChange(_schedule);\n }}\n />,\n {I18n.t('sch_periodWeek')},\n ]}\n
    \n ,\n ];\n }\n\n getPeriodSettingsDates(): JSX.Element | null {\n if (!this.state.schedule.period.dates) {\n return null;\n }\n const schedule = this.state.schedule;\n\n const dates = [];\n for (let i = 1; i <= 31; i++) {\n dates.push(i);\n }\n\n const parsedDates = JSON.parse(schedule.period.dates);\n\n return (\n \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const _dates = [];\n for (let i = 1; i <= 31; i++) {\n _dates.push(i);\n }\n _schedule.period.dates = JSON.stringify(_dates);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_all')}\n />\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.dates = '[]';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_no_one')}\n />\n {parsedDates.length !== 31 && !!parsedDates.length && (\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const result = [];\n const _parsedDates = JSON.parse(_schedule.period.dates);\n for (let i = 1; i <= 31; i++) {\n if (!_parsedDates.includes(i)) {\n result.push(i);\n }\n }\n result.sort((a, b) => a - b);\n _schedule.period.dates = JSON.stringify(result);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_invert')}\n />\n )}\n
    \n {dates.map(i => (\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let _dates;\n try {\n _dates = JSON.parse(_schedule.period.dates);\n } catch {\n _dates = [];\n }\n if (e.target.checked && !_dates.includes(i)) {\n _dates.push(i);\n } else if (!e.target.checked && _dates.includes(i)) {\n _dates.splice(_dates.indexOf(i), 1);\n }\n _dates.sort((a: number, b: number) => a - b);\n _schedule.period.dates = JSON.stringify(_dates);\n this.onChange(_schedule);\n }}\n />\n }\n label={\n i < 10\n ? [\n \n 0\n ,\n {i},\n ]\n : i\n }\n />\n ))}\n \n );\n }\n\n getPeriodSettingsMonthly(): JSX.Element[] | null {\n if (!this.state.schedule.period.months) {\n return null;\n }\n const schedule = this.state.schedule;\n const parsedMonths = typeof schedule.period.months === 'string' ? JSON.parse(schedule.period.months) : [];\n\n return [\n
    \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 1;\n this.onChange(schedule);\n }}\n />\n }\n label={I18n.t('sch_periodEveryMonth')}\n />\n
    ,\n
    \n 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = 2;\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodEvery')}\n />\n {typeof schedule.period.months === 'number' &&\n schedule.period.months > 1 && [\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = parseInt(e.target.value, 10);\n if (_schedule.period.months < 1) {\n _schedule.period.months = 1;\n }\n this.onChange(_schedule);\n }}\n />,\n {I18n.t('sch_periodMonth')},\n ]}\n
    ,\n \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = '[1,2,3,4,5,6,7,8,9,10,11,12]';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodSpecificMonths')}\n />\n {typeof schedule.period.months === 'string' && (\n \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const months = [];\n for (let i = 1; i <= 12; i++) {\n months.push(i);\n }\n _schedule.period.months = JSON.stringify(months);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_all')}\n />\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.months = '[]';\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_no_one')}\n />\n {parsedMonths.length !== 12 && !!parsedMonths.length && (\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const result = [];\n const _parsedMonths = JSON.parse(_schedule.period.months);\n for (let i = 1; i <= 12; i++) {\n if (!_parsedMonths.includes(i)) {\n result.push(i);\n }\n }\n result.sort((a, b) => a - b);\n _schedule.period.months = JSON.stringify(result);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_invert')}\n />\n )}\n
    \n {MONTHS.map((month, i) => (\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n let months;\n try {\n months = JSON.parse(_schedule.period.months);\n } catch {\n months = [];\n }\n if (e.target.checked && !months.includes(i + 1)) {\n months.push(i + 1);\n } else if (!e.target.checked && months.includes(i + 1)) {\n months.splice(months.indexOf(i + 1), 1);\n }\n months.sort((a: number, b: number) => a - b);\n _schedule.period.months = JSON.stringify(months);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t(month)}\n />\n ))}\n \n )}\n
    ,\n ];\n }\n\n getPeriodSettingsYearly(): JSX.Element[] | null {\n if (!this.state.schedule.period.years) {\n return null;\n }\n const schedule = this.state.schedule;\n return [\n
    \n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 1;\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodEveryYear')}\n />\n
    ,\n
    \n 1}\n onClick={() => {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = 2;\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_periodEvery')}\n />\n {schedule.period.years > 1 && [\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.period.years = parseInt(e.target.value, 10);\n if (_schedule.period.years < 1) {\n _schedule.period.years = 1;\n }\n this.onChange(_schedule);\n }}\n />,\n {I18n.t('sch_periodYear')},\n ]}\n
    ,\n ];\n }\n\n static now2string(isEnd?: boolean): string {\n const d = new Date();\n d.setHours(0);\n d.setMinutes(0);\n d.setSeconds(0);\n d.setMilliseconds(0);\n if (isEnd) {\n d.setDate(d.getDate() + 2);\n d.setMilliseconds(d.getMilliseconds() - 1);\n }\n\n return `${padding(d.getDate())}.${padding(d.getMonth() + 1)}.${padding(d.getFullYear())}`;\n }\n\n static string2date(str: string): Date {\n let parts = str.split('.'); // 31.12.2019\n if (parts.length === 1) {\n parts = str.split('-'); // 2018-12-31\n return new Date(parseInt(parts[0], 10), parseInt(parts[1], 10) - 1, parseInt(parts[2], 10));\n }\n return new Date(parseInt(parts[2], 10), parseInt(parts[1], 10) - 1, parseInt(parts[0], 10));\n }\n\n getValidSettings(): JSX.Element {\n const schedule = this.state.schedule;\n // ----- from ---\n return (\n
    \n
    \n {I18n.t('sch_valid')}\n {I18n.t('sch_validFrom')}\n
    \n
    \n {\n this.timerFrom && clearTimeout(this.timerFrom);\n\n if (this.refFrom.current) {\n this.refFrom.current.style.background = '#ff000030';\n }\n\n this.timerFrom = setTimeout(\n value => {\n this.timerFrom = null;\n if (this.refFrom.current) {\n this.refFrom.current.style.background = '';\n }\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.valid.from = `${padding(date.getDate())}.${padding(date.getMonth() + 1)}.${date.getFullYear()}`;\n this.onChange(_schedule);\n }\n },\n 1500,\n e.target.value,\n );\n }}\n slotProps={{\n inputLabel: { shrink: true },\n }}\n margin=\"normal\"\n />\n {\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n _schedule.valid.to = _schedule.valid.to ? '' : Schedule.now2string(true);\n this.onChange(_schedule);\n }}\n />\n }\n label={I18n.t('sch_validTo')}\n />\n {!!schedule.valid.to && (\n {\n this.timerTo && clearTimeout(this.timerTo);\n\n if (this.refTo.current) {\n this.refTo.current.style.background = '#ff000030';\n }\n this.timerTo = setTimeout(\n value => {\n this.timerTo = null;\n if (this.refTo.current) {\n this.refTo.current.style.background = '';\n }\n const _schedule = JSON.parse(JSON.stringify(this.state.schedule));\n const date = Schedule.string2date(value);\n if (date.toString() !== 'Invalid Date') {\n _schedule.valid.to = `${padding(date.getDate())}.${padding(date.getMonth() + 1)}.${date.getFullYear()}`;\n this.onChange(_schedule);\n }\n },\n 1500,\n e.target.value,\n );\n }}\n slotProps={{\n inputLabel: { shrink: true },\n }}\n margin=\"normal\"\n />\n )}\n
    \n
    \n );\n }\n\n render(): JSX.Element {\n return (\n
    \n
    {this.state.desc}
    \n
    \n
    {I18n.t('sch_time')}
    \n {this.getTimePeriodElements()}\n {this.getTimeExactElements()}\n {Schedule.getDivider()}\n
    {I18n.t('sch_period')}
    \n {this.getPeriodModes()}\n {!this.state.schedule.period.once && Schedule.getDivider()}\n {!this.state.schedule.period.once && this.getValidSettings()}\n
    \n
    \n );\n }\n}\n", "import React, { Component } from 'react';\n\nimport { FormControl, InputLabel, MenuItem, Select } from '@mui/material';\nimport type { InputProps } from '@mui/material/Input';\n\nimport type { ThemeType, Translate } from '../types';\n\nimport { Icon } from './Icon';\nimport { Utils } from './Utils';\nimport { I18n } from '../i18n';\n\nconst styles: Record = {\n different: {\n opacity: 0.5,\n },\n icon: {\n width: 16,\n height: 16,\n marginRight: 8,\n },\n};\n\ninterface SelectWithIconProps {\n t: Translate;\n lang: ioBroker.Languages;\n themeType: ThemeType;\n value?: string;\n onChange: (id: string) => void;\n disabled?: boolean;\n list?: ioBroker.Object[] | Record; // one of \"list\"(Array) or \"options\"(object) is required\n options?: Record; // one of \"list\"(Array) or \"options\"(object) is required\n different?: string | boolean;\n label?: string;\n fullWidth?: boolean;\n className?: string;\n style?: React.CSSProperties;\n removePrefix?: string;\n allowNone?: boolean;\n inputProps?: InputProps['inputProps'];\n dense?: boolean;\n}\n\ninterface TextWithIconItem {\n name: string;\n value: string;\n icon?: string;\n color?: string;\n}\n\ninterface SelectWithIconState {\n list: TextWithIconItem[];\n}\n\nexport class SelectWithIcon extends Component {\n private readonly wordDifferent: string | undefined;\n\n private timeout: ReturnType | null = null;\n\n constructor(props: SelectWithIconProps) {\n super(props);\n\n if (props.different) {\n this.wordDifferent = props.t('ra___different__');\n }\n\n let list: TextWithIconItem[];\n if (Array.isArray(props.list || props.options)) {\n list = ((props.list || props.options) as ioBroker.Object[]).map(obj => ({\n name: Utils.getObjectNameFromObj(obj, props.lang)\n .replace('system.group.', '')\n .replace('system.user.', '')\n .replace('enum.rooms.', '')\n .replace('enum.functions.', ''),\n value: obj._id,\n icon: obj.common?.icon,\n color: obj.common?.color,\n }));\n } else {\n list = Object.values((props.list || props.options) as Record).map(obj => ({\n name: Utils.getObjectNameFromObj(obj, props.lang)\n .replace('system.group.', '')\n .replace('system.user.', '')\n .replace('enum.rooms.', '')\n .replace('enum.functions.', ''),\n value: obj._id,\n icon: obj.common?.icon,\n color: obj.common?.color,\n }));\n }\n\n if (props.different && props.value === props.different) {\n list.unshift({ value: props.different, name: this.wordDifferent || '' });\n }\n\n if (props.allowNone) {\n list.unshift({ value: '', name: I18n.t('ra_none') });\n }\n\n this.state = {\n list,\n };\n }\n\n render(): React.JSX.Element {\n if (this.props.allowNone && !this.state.list.find(obj => obj.value === '')) {\n this.timeout =\n this.timeout ||\n setTimeout(() => {\n this.timeout = null;\n const list = JSON.parse(JSON.stringify(this.state.list));\n list.unshift({ value: '', name: I18n.t('ra_none') });\n this.setState({ list });\n }, 100);\n } else if (!this.props.allowNone && this.state.list.find(obj => obj.value === '')) {\n this.timeout =\n this.timeout ||\n setTimeout(() => {\n this.timeout = null;\n const list = JSON.parse(JSON.stringify(this.state.list));\n const i = this.state.list.findIndex(obj => obj.value === '');\n list.splice(i, 1);\n this.setState({ list });\n }, 100);\n }\n\n const item = this.state.list.find(\n it =>\n it.value === this.props.value ||\n (this.props.removePrefix && it.value.replace(this.props.removePrefix, '') === this.props.value),\n );\n\n const style =\n this.props.value === this.props.different\n ? {}\n : {\n color: item?.color || undefined,\n backgroundColor: Utils.getInvertedColor(item?.color || '', this.props.themeType),\n };\n\n if (this.props.dense && this.props.style) {\n Object.assign(style, this.props.style);\n }\n\n const select = (\n (\n \n {item?.icon ? (\n \n ) : null}\n {item?.name}\n \n )\n }\n sx={{\n '&.MuiSelect-root': this.props.value === this.props.different ? styles.different : {},\n }}\n classes={{\n root: this.props.dense ? this.props.className : '',\n }}\n style={style}\n onChange={el => {\n if (this.props.different && el.target.value !== this.props.different) {\n let pos = null;\n for (let i = 0; i < this.state.list.length; i++) {\n if (this.state.list[i].value === this.props.different) {\n pos = i;\n break;\n }\n }\n if (pos !== null) {\n const list: TextWithIconItem[] = Utils.clone(this.state.list) as TextWithIconItem[];\n list.splice(pos, 1);\n this.setState({ list }, () => this.props.onChange(el.target.value));\n return;\n }\n }\n\n this.props.onChange(\n this.props.removePrefix\n ? el.target.value.replace(this.props.removePrefix, '')\n : el.target.value,\n );\n }}\n >\n {this.state.list.map(el => (\n \n {el.icon ? (\n \n ) : null}\n {el.name}\n \n ))}\n \n );\n\n if (this.props.dense) {\n return select;\n }\n\n return (\n \n {this.props.label}\n {select}\n \n );\n }\n}\n", "/**\n * Copyright 2022-2024, Denis Haev \n *\n * MIT License\n *\n */\nimport React, { Component } from 'react';\n\nimport { Table, Skeleton } from '@mui/material';\n\ninterface TableResizeProps {\n name?: string;\n ready?: boolean;\n stickyHeader?: boolean;\n size?: 'small' | 'medium';\n className?: string;\n sx?: Record;\n style?: React.CSSProperties;\n initialWidths?: (number | 'auto')[];\n minWidths?: number[];\n dblTitle?: string;\n children?: React.ReactNode;\n}\n\nexport class TableResize extends Component {\n private readonly resizerRefTable: React.RefObject;\n\n private resizerActiveIndex: number | null;\n\n private resizerActiveDiv: HTMLDivElement | null;\n\n private resizerCurrentWidths: (number | 'auto')[];\n\n private widthFilled: boolean = false;\n\n private installTimeout: ReturnType | null = null;\n\n private resizerMin: number = 0;\n\n private resizerMinNext: number = 0;\n\n private resizerPosition: number = 0;\n\n private resizerOldWidth: number = 0;\n\n private resizerOldWidthNext: number = 0;\n\n constructor(props: TableResizeProps) {\n super(props);\n this.resizerRefTable = React.createRef();\n this.resizerActiveIndex = null;\n this.resizerActiveDiv = null;\n this.resizerCurrentWidths = [];\n }\n\n componentDidMount(): void {\n this.resizerInstall();\n }\n\n componentWillUnmount(): void {\n this.resizerUninstall();\n }\n\n resizerInstall(): void {\n if (this.resizerRefTable.current && !(this.resizerRefTable.current as any)._installed) {\n (this.resizerRefTable.current as any)._installed = true;\n const ths = this.resizerRefTable.current.querySelectorAll('th');\n\n const widthsStored = ((window as any)._localStorage || window.localStorage).getItem(\n `App.${this.props.name || 'history'}.table`,\n );\n this.widthFilled = false;\n\n if (widthsStored) {\n try {\n this.resizerCurrentWidths = JSON.parse(widthsStored);\n this.widthFilled = true;\n } catch {\n // ignore\n }\n }\n if (this.widthFilled) {\n if (this.resizerCurrentWidths.length !== ths.length) {\n this.resizerCurrentWidths = [];\n this.widthFilled = false;\n } else {\n const tableWidth = this.resizerRefTable.current.offsetWidth;\n let storedWidth: number | null = 0;\n for (let w = 0; w < this.resizerCurrentWidths.length; w++) {\n if (window.isFinite(this.resizerCurrentWidths[w] as number)) {\n storedWidth += this.resizerCurrentWidths[w] as number;\n } else {\n storedWidth = null;\n break;\n }\n }\n if (storedWidth !== null && Math.abs(storedWidth - tableWidth) > 20) {\n this.resizerCurrentWidths = [];\n this.widthFilled = false;\n }\n }\n }\n\n for (let i = 0; i < ths.length; i++) {\n !this.widthFilled && this.resizerCurrentWidths.push(ths[i].offsetWidth);\n\n // last column does need a handle\n if (i < ths.length - 1) {\n const div = window.document.createElement('div');\n div.dataset.index = i.toString();\n div.onmousedown = this.resizerMouseDown;\n div.ondblclick = this.resizerReset;\n div.title = this.props.dblTitle || 'Double click to reset table layout';\n div.className = 'resize-handle';\n ths[i].appendChild(div);\n }\n }\n if (this.widthFilled) {\n this.resizerApplyWidths();\n }\n } else {\n this.installTimeout = setTimeout(() => {\n this.installTimeout = null;\n this.resizerInstall();\n }, 100);\n }\n }\n\n resizerReset = (): void => {\n for (let c = 0; c < this.resizerCurrentWidths.length; c++) {\n this.resizerCurrentWidths[c] = (this.props.initialWidths || [])[c] || 'auto';\n }\n\n ((window as any)._localStorage || window.localStorage).setItem(\n `App.${this.props.name || 'history'}.table`,\n JSON.stringify(this.resizerCurrentWidths),\n );\n this.resizerApplyWidths();\n };\n\n resizerUninstall(): void {\n this.installTimeout && clearTimeout(this.installTimeout);\n this.installTimeout = null;\n\n // resizer\n if (this.resizerRefTable.current && (this.resizerRefTable.current as any)._installed) {\n (this.resizerRefTable.current as any)._installed = false;\n const ths = this.resizerRefTable.current.querySelectorAll('th');\n for (let i = 0; i < ths.length; i++) {\n const div: HTMLDivElement | null = ths[i].querySelector('.resize-handle');\n if (div) {\n div.onmousedown = null;\n div.remove();\n }\n }\n }\n }\n\n resizerApplyWidths(): string | undefined {\n const gridTemplateColumns: string[] = [];\n if (this.resizerCurrentWidths.length) {\n for (let c = 0; c < this.resizerCurrentWidths.length; c++) {\n if (this.resizerCurrentWidths[c]) {\n gridTemplateColumns.push(\n this.resizerCurrentWidths[c] !== 'auto' ? `${this.resizerCurrentWidths[c]}px` : 'auto',\n );\n } else if (this.props.initialWidths && this.props.initialWidths[c]) {\n gridTemplateColumns.push(\n this.props.initialWidths[c] !== 'auto' ? `${this.props.initialWidths[c]}px` : 'auto',\n );\n } else {\n gridTemplateColumns.push('auto');\n }\n }\n } else if (this.props.initialWidths) {\n for (let c = 0; c < this.props.initialWidths.length; c++) {\n if (this.props.initialWidths[c]) {\n gridTemplateColumns.push(\n this.props.initialWidths[c] !== 'auto' ? `${this.props.initialWidths[c]}px` : 'auto',\n );\n } else {\n gridTemplateColumns.push('auto');\n }\n }\n }\n\n if (this.resizerRefTable.current && gridTemplateColumns.length) {\n this.resizerRefTable.current.style.gridTemplateColumns = gridTemplateColumns.join(' ');\n }\n\n return gridTemplateColumns.length ? gridTemplateColumns.join(' ') : undefined;\n }\n\n resizerMouseMove = (e: MouseEvent): void => {\n if (this.resizerActiveDiv && this.resizerActiveIndex !== null) {\n const width = this.resizerOldWidth + e.clientX - this.resizerPosition;\n const widthNext = this.resizerOldWidthNext - e.clientX + this.resizerPosition;\n if (\n (!this.resizerMin || width > this.resizerMin) &&\n (!this.resizerMinNext || widthNext > this.resizerMinNext)\n ) {\n this.resizerCurrentWidths[this.resizerActiveIndex] = width;\n this.resizerCurrentWidths[this.resizerActiveIndex + 1] = widthNext;\n this.resizerApplyWidths();\n }\n }\n };\n\n resizerMouseUp = (): void => {\n ((window as any)._localStorage || window.localStorage).setItem(\n `App.${this.props.name || 'history'}.table`,\n JSON.stringify(this.resizerCurrentWidths),\n );\n\n this.resizerActiveIndex = null;\n this.resizerActiveDiv = null;\n window.removeEventListener('mousemove', this.resizerMouseMove);\n window.removeEventListener('mouseup', this.resizerMouseUp);\n };\n\n resizerMouseDown = (e: MouseEvent): void => {\n if (this.resizerActiveIndex === null || this.resizerActiveIndex === undefined) {\n console.log(`Mouse down ${(e.target as HTMLDivElement)?.dataset.index}`);\n this.resizerActiveIndex = parseInt((e.target as HTMLDivElement)?.dataset.index || '0', 10);\n this.resizerActiveDiv = e.target as HTMLDivElement;\n this.resizerMin = this.props.minWidths ? this.props.minWidths[this.resizerActiveIndex] : 0;\n this.resizerMinNext = this.props.minWidths ? this.props.minWidths[this.resizerActiveIndex + 1] : 0;\n this.resizerPosition = e.clientX;\n let ths;\n if (this.resizerCurrentWidths[this.resizerActiveIndex] === 'auto') {\n ths = this.resizerRefTable.current?.querySelectorAll('th');\n if (ths) {\n this.resizerCurrentWidths[this.resizerActiveIndex] = ths[this.resizerActiveIndex].offsetWidth;\n }\n }\n if (this.resizerCurrentWidths[this.resizerActiveIndex + 1] === 'auto') {\n ths = ths || this.resizerRefTable.current?.querySelectorAll('th');\n if (ths) {\n this.resizerCurrentWidths[this.resizerActiveIndex + 1] =\n ths[this.resizerActiveIndex + 1].offsetWidth;\n }\n }\n\n this.resizerOldWidth = this.resizerCurrentWidths[this.resizerActiveIndex] as number;\n this.resizerOldWidthNext = this.resizerCurrentWidths[this.resizerActiveIndex + 1] as number;\n\n window.addEventListener('mousemove', this.resizerMouseMove);\n window.addEventListener('mouseup', this.resizerMouseUp);\n }\n };\n\n render(): React.JSX.Element {\n if (this.props.ready === false) {\n return ;\n }\n\n const style = { gridTemplateColumns: this.resizerApplyWidths() };\n\n return (\n \n {this.props.children}\n \n );\n }\n}\n", "import React from 'react';\n\nimport { Icon } from './Icon';\nimport { Utils } from './Utils';\nimport type { ThemeType } from '../types';\n\nconst styles: Record = {\n div: {\n borderRadius: 3,\n padding: '0 3px',\n lineHeight: '20px',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n display: 'flex',\n alignItems: 'center',\n },\n icon: {\n width: 16,\n height: 16,\n marginRight: 8,\n verticalAlign: 'middle',\n },\n text: {\n display: 'inline-block',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n};\n\ninterface TextWithIconProps {\n lang: ioBroker.Languages;\n themeType?: ThemeType;\n value: string | Record;\n list?: ioBroker.Object[] | Record;\n options?: Record;\n className?: string;\n style?: React.CSSProperties;\n title?: string;\n removePrefix?: string;\n moreClasses?: {\n root?: string;\n icon?: string;\n text?: string;\n };\n icon?: string;\n color?: string;\n}\n\ninterface TextWithIconItem {\n name: string;\n value: string;\n icon?: string;\n color?: string;\n}\n\nexport function TextWithIcon(props: TextWithIconProps): React.JSX.Element {\n const value = props.value;\n let item: TextWithIconItem;\n const prefix = props.removePrefix || '';\n\n if (typeof value === 'string') {\n const list = props.list || props.options;\n if (list) {\n // if a list is array, then it is list of ioBroker.Object\n if (Array.isArray(list)) {\n const _item: ioBroker.Object = list.find((obj: ioBroker.Object) => obj._id === prefix + value);\n if (_item) {\n item = {\n name: Utils.getObjectNameFromObj(_item, props.lang).replace('system.group.', ''),\n value: _item._id,\n icon: props.icon || _item.common?.icon,\n color: props.color || _item.common?.color,\n };\n } else {\n item = {\n name: value,\n value: prefix + value,\n };\n }\n } else if (list[prefix + value]) {\n // List is object with key-value pairs: {'enum.rooms.1': {common: {name: 'Room 1'}}}\n const obj: ioBroker.Object = list[prefix + value];\n item = {\n name: Utils.getObjectNameFromObj(obj, props.lang).replace('system.group.', ''),\n value: obj._id,\n icon: props.icon || obj.common?.icon,\n color: props.color || obj.common?.color,\n };\n } else {\n // value is a string, ignore list\n item = {\n name: value,\n value: prefix + value,\n icon: props.icon,\n color: props.color,\n };\n }\n } else {\n item = {\n name: value,\n value: prefix + value,\n icon: props.icon,\n color: props.color,\n };\n }\n } else if (!value || typeof value !== 'object') {\n item = {\n name: '',\n value: '',\n icon: props.icon,\n color: props.color,\n };\n } else {\n // Item is an ioBroker.Object\n const obj: ioBroker.Object = value as ioBroker.Object;\n item = {\n name: Utils.getObjectNameFromObj(obj, props.lang)\n .replace('system.group.', '')\n .replace('system.user.', '')\n .replace('enum.rooms.', '')\n .replace('enum.functions.', ''),\n value: obj._id,\n icon: props.icon || obj.common?.icon,\n color: props.color || obj.common?.color,\n };\n }\n\n const style = item?.color\n ? {\n border: `1px solid ${Utils.invertColor(item?.color)}`,\n color: Utils.getInvertedColor(item?.color, props.themeType || 'light', true) || undefined,\n backgroundColor: item?.color,\n }\n : {};\n\n return (\n \n {item?.icon ? (\n \n ) : null}\n \n {item?.name}\n
    \n \n );\n}\n", "import React, { type JSX } from 'react';\n\nimport { IconButton, Tooltip } from '@mui/material';\n\nimport {\n Brightness4 as Brightness4Icon,\n Brightness5 as Brightness5Icon,\n Brightness6 as Brightness6Icon,\n Brightness7 as Brightness7Icon,\n} from '@mui/icons-material';\n\ninterface ToggleThemeMenuProps {\n themeName: 'dark' | 'blue' | 'colored' | 'light';\n toggleTheme: () => void;\n t: (key: string) => string;\n className?: string;\n style?: React.CSSProperties;\n size?: 'small' | 'medium' | 'large';\n}\n\nexport function ToggleThemeMenu({\n themeName,\n toggleTheme,\n t,\n className,\n style,\n size,\n}: ToggleThemeMenuProps): JSX.Element {\n return (\n \n \n toggleTheme()}\n size={size || 'medium'}\n >\n {themeName === 'dark' && }\n {themeName === 'blue' && }\n {themeName === 'colored' && }\n {themeName !== 'dark' && themeName !== 'blue' && themeName !== 'colored' && (\n \n )}\n \n \n \n );\n}\n", "import React, { Component, type JSX } from 'react';\n\nimport { HexColorPicker as ColorPicker } from 'react-colorful';\n\nimport {\n Fab,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n TableSortLabel,\n IconButton,\n Select,\n MenuItem,\n TextField,\n Checkbox,\n Dialog,\n} from '@mui/material';\n\nimport {\n Edit as IconEdit,\n Delete as IconDelete,\n NavigateNext as IconExpand,\n ExpandMore as IconCollapse,\n Check as IconCheck,\n Close as IconClose,\n Add as IconAdd,\n ViewHeadline as IconList,\n Colorize as IconColor,\n} from '@mui/icons-material';\n\nimport type { Connection } from '../Connection';\n\nimport { DialogSelectID } from '../Dialogs/SelectID';\nimport { Utils } from './Utils';\nimport type { IobTheme } from '../types';\n\nfunction getAttr(obj: Record, attr: string | string[], lookup?: Record): any {\n if (typeof attr === 'string') {\n attr = attr.split('.');\n }\n\n if (!obj) {\n return null;\n }\n\n if (attr.length === 1) {\n if (lookup && lookup[obj[attr[0]]]) {\n return lookup[obj[attr[0]]];\n }\n return obj[attr[0]];\n }\n\n const name: string = attr.shift();\n return getAttr(obj[name], attr);\n}\n\nfunction setAttr(obj: Record, attr: string | string[], value: any): void {\n if (typeof attr === 'string') {\n attr = attr.split('.');\n }\n\n if (attr.length === 1) {\n return (obj[attr[0]] = value);\n }\n const name: string = attr.shift();\n if (obj[name] === null || obj[name] === undefined) {\n obj[name] = {};\n }\n return setAttr(obj[name], attr, value);\n}\n\nconst styles: Record = {\n tableContainer: {\n width: '100%',\n height: '100%',\n overflow: 'auto',\n },\n table: {\n width: '100%',\n minWidth: 800,\n maxWidth: 1920,\n },\n cell: {\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 4,\n paddingRight: 4,\n },\n rowMainWithChildren: {},\n rowMainWithoutChildren: {},\n rowNoEdit: {\n opacity: 0.3,\n },\n cellExpand: {\n width: 30,\n },\n cellButton: {\n width: 30,\n },\n cellHeader: {\n fontWeight: 'bold',\n background: (theme: IobTheme) => (theme.palette.mode === 'dark' ? '#888' : '#888'),\n color: (theme: IobTheme) => (theme.palette.mode === 'dark' ? '#EEE' : '#111'),\n height: 48,\n wordBreak: 'break-word',\n whiteSpace: 'pre',\n },\n width_name_nicknames: {\n maxWidth: 150,\n },\n width_ioType: {\n maxWidth: 100,\n },\n width_type: {\n maxWidth: 100,\n },\n width_displayTraits: {\n maxWidth: 100,\n },\n width_roomHint: {\n maxWidth: 100,\n },\n rowSecondary: {\n fontStyle: 'italic',\n },\n cellSecondary: {\n fontSize: 10,\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1,\n },\n fieldEditWithButton: {\n width: 'calc(100% - 33px)',\n display: 'inline-block',\n },\n fieldEdit: {\n width: '100%',\n display: 'inline-block',\n lineHeight: '50px',\n verticalAlign: 'middle',\n },\n fieldButton: {\n width: 30,\n display: 'inline-block',\n },\n colorDialog: {\n overflow: 'hidden',\n padding: 15,\n },\n subText: {\n fontSize: 10,\n fontStyle: 'italic',\n },\n glow: {\n animation: 'glow 0.2s 2 alternate',\n },\n};\n\nfunction descendingComparator(\n a: Record,\n b: Record,\n orderBy: string,\n lookup?: Record,\n): number {\n const _a = getAttr(a, orderBy, lookup) || '';\n const _b = getAttr(b, orderBy, lookup) || '';\n\n if (_b < _a) {\n return -1;\n }\n if (_b > _a) {\n return 1;\n }\n return 0;\n}\n\nfunction getComparator(\n order: 'desc' | 'asc',\n orderBy: string,\n lookup?: Record,\n): (a: Record, b: Record) => number {\n return order === 'desc'\n ? (a, b) => descendingComparator(a, b, orderBy, lookup)\n : (a, b) => -descendingComparator(a, b, orderBy, lookup);\n}\n\nfunction stableSort(\n array: Record[],\n comparator: (a: Record, b: Record) => number,\n): Record[] {\n const stabilizedThis: { e: Record; i: number }[] = array.map((el, index) => ({ e: el, i: index }));\n\n stabilizedThis.sort((a, b) => {\n const order = comparator(a.e, b.e);\n if (order) {\n return order;\n }\n return a.i - b.i;\n });\n\n return stabilizedThis.map(item => item.e);\n}\n\ninterface Column {\n cellStyle?: Record;\n editComponent?: React.FC<{ value: any; rowData: Record; onChange: (newValue: any) => void }>;\n field: string;\n headerStyle?: Record;\n hidden?: boolean;\n lookup?: Record;\n editable?: boolean | 'never';\n title?: string;\n type?: 'string' | 'boolean' | 'numeric' | 'icon' | 'oid' | 'color';\n subField?: string;\n subLookup?: Record;\n subStyle?: Record;\n}\n\ninterface TreeTableProps {\n data: Record[];\n className?: string;\n /** name of table to save settings in localStorage */\n name?: string;\n columns: Column[];\n noSort?: boolean;\n onUpdate?: ((newData: Record, oldData: Record) => void) | ((addNew: true) => void);\n onDelete?: (oldData: Record) => void;\n /** hide add button */\n noAdd?: boolean;\n themeType?: string;\n glowOnChange?: boolean;\n /** only if an oid type is used */\n socket?: Connection;\n /** Shift in pixels for every level */\n levelShift?: number;\n adapterName: string;\n theme: IobTheme;\n}\n\ninterface TreeTableState {\n opened: string[];\n editMode: number | false;\n deleteMode: number | false;\n editData: Record | null;\n order: 'desc' | 'asc';\n update: string[] | null;\n orderBy: string;\n showSelectColor: boolean;\n selectIdValue?: string | null;\n showSelectId?: boolean;\n data?: Record[];\n}\n\nexport class TreeTable extends Component {\n private selectCallback: ((selected: string) => void) | null = null;\n\n private updateTimeout: ReturnType | null = null;\n\n constructor(props: TreeTableProps) {\n super(props);\n\n let opened =\n ((window as any)._localStorage || window.localStorage).getItem(this.props.name || 'iob-table') || '[]';\n try {\n opened = JSON.parse(opened) || [];\n } catch {\n opened = [];\n }\n if (!Array.isArray(opened)) {\n opened = [];\n }\n\n this.state = {\n opened,\n editMode: false,\n deleteMode: false,\n editData: null,\n order: 'asc',\n update: null,\n orderBy: this.props.columns[0].field,\n showSelectColor: false,\n };\n }\n\n static getDerivedStateFromProps(props: TreeTableProps, state: TreeTableState): Partial {\n if (props.glowOnChange) {\n const update: string[] = [];\n let count = 0;\n if (props.data && state.data) {\n props.data.forEach(line => {\n count++;\n const oldLine = state.data?.find(it => it.id === line.id);\n if (oldLine) {\n if (JSON.stringify(oldLine) !== JSON.stringify(line)) {\n update.push(line.id);\n }\n } else {\n update.push(line.id);\n }\n });\n }\n\n if (update.length && update.length !== count) {\n return { data: props.data, update };\n }\n return { data: props.data };\n }\n\n return { data: props.data };\n }\n\n renderCellEdit(item: Record, col: Column): JSX.Element | null {\n let val = getAttr(item, col.field);\n if (Array.isArray(val)) {\n val = val[0];\n }\n\n if (col.lookup) {\n return this.renderCellEditSelect(col, val);\n }\n if (col.editComponent) {\n return this.renderCellEditCustom(col, val, item);\n }\n if (col.type === 'boolean' || (!col.type && typeof val === 'boolean')) {\n return this.renderCellEditBoolean(col, val);\n }\n if (col.type === 'color') {\n return this.renderCellEditColor(col, val);\n }\n if (col.type === 'oid') {\n return this.renderCellEditObjectID(col, val);\n }\n if (col.type === 'numeric') {\n return this.renderCellEditNumber(col, val);\n }\n\n return this.renderCellEditString(col, val);\n }\n\n onChange(col: Column, oldValue: string | number | boolean, newValue: string | number | boolean): void {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (newValue === oldValue) {\n delete editData[col.field];\n } else {\n editData[col.field] = newValue;\n }\n this.setState({ editData });\n }\n\n renderCellEditSelect(col: Column, val: string | number): JSX.Element {\n return (\n this.onChange(col, val, e.target.value)}\n value={(this.state.editData && this.state.editData[col.field]) || val}\n >\n {col.lookup &&\n Object.keys(col.lookup).map((v, i) => (\n \n {col.lookup?.[v]}\n \n ))}\n \n );\n }\n\n renderCellEditString(col: Column, val: string): JSX.Element {\n return (\n this.onChange(col, val, e.target.value)}\n />\n );\n }\n\n renderCellEditNumber(col: Column, val: number): JSX.Element {\n return (\n this.onChange(col, val, e.target.value)}\n />\n );\n }\n\n renderCellEditCustom(col: Column, val: any, item: Record): JSX.Element | null {\n const EditComponent = col.editComponent;\n\n // use new value if exists\n if (this.state.editData && this.state.editData[col.field] !== undefined) {\n val = this.state.editData[col.field];\n item = JSON.parse(JSON.stringify(item));\n item[col.field] = val;\n }\n\n return EditComponent ? (\n this.onChange(col, val, newVal as string | number)}\n />\n ) : null;\n }\n\n renderCellEditBoolean(col: Column, val: boolean): JSX.Element {\n return (\n this.onChange(col, !!val, e.target.checked)}\n inputProps={{ 'aria-label': 'checkbox' }}\n />\n );\n }\n\n renderSelectColorDialog(): JSX.Element {\n return (\n {\n this.selectCallback = null;\n this.setState({ showSelectColor: false });\n }}\n open={this.state.showSelectColor}\n >\n \n this.setState({ selectIdValue: color }, () => {\n if (this.selectCallback) {\n this.selectCallback(color);\n }\n })\n }\n />\n \n );\n }\n\n renderCellEditColor(col: Column, val: string): JSX.Element {\n const _val =\n this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val;\n return (\n
    \n this.onChange(col, !!val, e.target.value)}\n />\n\n {\n this.selectCallback = newColor => this.onChange(col, val, newColor);\n this.setState({ showSelectColor: true, selectIdValue: val });\n }}\n size=\"large\"\n >\n \n \n
    \n );\n }\n\n renderSelectIdDialog(): JSX.Element | null {\n if (this.state.showSelectId && this.props.socket) {\n return (\n this.setState({ showSelectId: false })}\n onOk={(selected: string | string[] | undefined) => {\n this.setState({ showSelectId: false, selectIdValue: null });\n const selectedStr: string | undefined = Array.isArray(selected) ? selected[0] : selected;\n if (selectedStr && this.selectCallback) {\n this.selectCallback && this.selectCallback(selectedStr);\n this.selectCallback = null;\n }\n }}\n />\n );\n }\n\n return null;\n }\n\n renderCellEditObjectID(col: Column, val: string): JSX.Element {\n return (\n
    \n this.onChange(col, val, e.target.value)}\n />\n\n {\n this.selectCallback = selected => this.onChange(col, val, selected);\n this.setState({ showSelectId: true, selectIdValue: val });\n }}\n size=\"large\"\n >\n \n \n
    \n );\n }\n\n static renderCellNonEdit(item: Record, col: Column): JSX.Element | string | number | null {\n let val = getAttr(item, col.field, col.lookup);\n if (Array.isArray(val)) {\n val = val[0];\n }\n\n if (col.type === 'boolean') {\n return (\n \n );\n }\n\n return val;\n }\n\n renderCell(item: Record, col: Column, level: number, i: number): JSX.Element {\n if (this.state.editMode === i && col.editable !== 'never' && col.editable !== false) {\n return (\n \n {this.renderCellEdit(item, col)}\n \n );\n }\n return (\n \n {TreeTable.renderCellNonEdit(item, col)}\n \n );\n }\n\n static renderCellWithSubField(item: Record, col: Column): JSX.Element {\n const main = getAttr(item, col.field, col.lookup);\n if (col.subField) {\n const sub = getAttr(item, col.subField, col.subLookup);\n return (\n
    \n
    {main}
    \n
    {sub}
    \n
    \n );\n }\n return (\n
    \n
    {main}
    \n
    \n );\n }\n\n renderLine(item: Record, level?: number): JSX.Element | JSX.Element[] | null {\n const levelShift = this.props.levelShift === undefined ? 24 : this.props.levelShift;\n\n level = level || 0;\n const i = this.props.data.indexOf(item);\n if (!item) {\n return null;\n }\n if (!level && item.parentId) {\n return null;\n }\n if (level && !item.parentId) {\n return null; // should never happen\n }\n // try to find children\n const opened = this.state.opened.includes(item.id);\n const children = this.props.data.filter(it => it.parentId === item.id);\n\n const row = (\n \n \n {children.length ? (\n {\n const _opened = [...this.state.opened];\n const pos = _opened.indexOf(item.id);\n if (pos === -1) {\n _opened.push(item.id);\n _opened.sort();\n } else {\n _opened.splice(pos, 1);\n }\n\n ((window as any)._localStorage || window.localStorage).setItem(\n this.props.name || 'iob-table',\n JSON.stringify(_opened),\n );\n\n this.setState({ opened: _opened });\n }}\n size=\"small\"\n >\n {opened ? : }\n \n ) : null}\n \n \n {this.props.columns[0].subField\n ? TreeTable.renderCellWithSubField(item, this.props.columns[0])\n : getAttr(item, this.props.columns[0].field, this.props.columns[0].lookup)}\n \n\n {this.props.columns.map((col, ii) =>\n !ii && !col.hidden ? null : this.renderCell(item, col, level, i),\n )}\n\n {this.props.onUpdate ? (\n \n {this.state.editMode === i || this.state.deleteMode === i ? (\n {\n if (this.state.editMode !== false) {\n const newData = JSON.parse(JSON.stringify(item));\n this.state.editData &&\n Object.keys(this.state.editData).forEach(attr =>\n setAttr(newData, attr, this.state.editData?.[attr]),\n );\n this.setState(\n { editMode: false },\n () => this.props.onUpdate && this.props.onUpdate(newData, item),\n );\n } else {\n this.setState(\n { deleteMode: false },\n () => this.props.onDelete && this.props.onDelete(item),\n );\n }\n }}\n size=\"large\"\n >\n \n \n ) : (\n this.setState({ editMode: i, editData: null })}\n size=\"large\"\n >\n \n \n )}\n \n ) : null}\n\n {this.props.onDelete && !this.props.onUpdate ? (\n \n {this.state.deleteMode === i ? (\n \n this.setState(\n { deleteMode: false },\n () => this.props.onDelete && this.props.onDelete(item),\n )\n }\n size=\"large\"\n >\n \n \n ) : null}\n \n ) : null}\n\n {this.props.onUpdate || this.props.onDelete ? (\n \n {this.state.editMode === i || this.state.deleteMode === i ? (\n this.setState({ editMode: false, deleteMode: false })}\n size=\"large\"\n >\n \n \n ) : this.props.onDelete ? (\n this.setState({ deleteMode: i })}\n size=\"large\"\n >\n \n \n ) : null}\n \n ) : null}\n \n );\n\n if (!level && opened) {\n const items: JSX.Element[] = children.map(it => this.renderLine(it, level + 1)) as JSX.Element[];\n items.unshift(row);\n return items;\n }\n return row;\n }\n\n handleRequestSort(property: string): void {\n const isAsc = this.state.orderBy === property && this.state.order === 'asc';\n this.setState({ order: isAsc ? 'desc' : 'asc', orderBy: property });\n }\n\n renderHead(): JSX.Element {\n return (\n \n \n \n \n {this.props.noSort ? null : (\n this.handleRequestSort(this.props.columns[0].field)}\n >\n {this.props.columns[0].title || this.props.columns[0].field}\n {this.state.orderBy === this.props.columns[0].field ? (\n \n {this.state.order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n \n ) : null}\n \n )}\n \n {this.props.columns.map((col, i) =>\n !i && !col.hidden ? null : (\n \n {this.props.noSort ? null : (\n this.handleRequestSort(col.field)}\n >\n {col.title || col.field}\n {this.state.orderBy === col.field ? (\n \n {this.state.order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n \n ) : null}\n \n )}\n \n ),\n )}\n {this.props.onUpdate ? (\n \n {!this.props.noAdd ? (\n \n this.props.onUpdate && (this.props.onUpdate as (addNew: true) => void)(true)\n }\n >\n \n \n ) : null}\n \n ) : null}\n {this.props.onDelete || this.props.onUpdate ? (\n \n ) : null}\n \n \n );\n }\n\n render(): JSX.Element | null {\n const col = this.props.columns.find(_col => _col.field === this.state.orderBy);\n if (col) {\n const lookup = col.lookup;\n const table = stableSort(this.props.data, getComparator(this.state.order, this.state.orderBy, lookup));\n\n if (this.state.update && this.state.update.length) {\n this.updateTimeout && clearTimeout(this.updateTimeout);\n this.updateTimeout = setTimeout(() => {\n this.updateTimeout = null;\n this.setState({ update: null });\n }, 500);\n }\n\n return (\n \n \n {this.renderHead()}\n {table.map(it => this.renderLine(it))}\n \n {this.renderSelectIdDialog()}\n {this.renderSelectColorDialog()}\n \n );\n }\n\n return null;\n }\n}\n/*\nconst columns = [\n {\n title: 'Name of field', // required, else it will be \"field\"\n field: 'fieldIdInData', // required\n editable: false, // or true [default - true]\n cellStyle: { // CSS style - // optional\n maxWidth: '12rem',\n overflow: 'hidden',\n wordBreak: 'break-word'\n },\n lookup: { // optional => edit will be automatically \"SELECT\"\n 'value1': 'text1',\n 'value2': 'text2',\n }\n },\n {\n title: 'Type', // required, else it will be \"field\"\n field: 'myType', // required\n editable: true, // or true [default - true]\n lookup: { // optional => edit will be automatically \"SELECT\"\n 'number': 'Number',\n 'string': 'String',\n 'boolean': 'Boolean',\n },\n type: 'number/string/color/oid/icon/boolean', // oid=ObjectID,icon=base64-icon\n editComponent: props =>\n
    Prefix{
    \n props.onChange(e.target.value)}\n />\n Suffix\n
    ,\n },\n];\n*/\n/* const data = [\n {\n id: 'UniqueID1' // required\n fieldIdInData: 'Name1',\n myType: 'number',\n },\n {\n id: 'UniqueID2' // required\n fieldIdInData: 'Name12',\n myType: 'string',\n },\n];\n */\n\n/*\n// STYLES\nconst styles = theme => ({\n tableDiv: {\n width: '100%',\n overflow: 'hidden',\n height: 'calc(100% - 48px)',\n },\n});\n// renderTable\nrenderTable() {\n return
    \n console.log('Update: ' + JSON.stringify(newData))}\n onDelete={oldData => console.log('Delete: ' + JSON.stringify(oldData))}\n />\n
    ;\n}\n */\n", "/**\n * Copyright 2018-2023 Denis Haev (bluefox) \n *\n * MIT License\n *\n */\n// please do not delete React, as without it other projects could not be compiled: ReferenceError: React is not defined\nimport React, { Component, type JSX } from 'react';\n\nimport { Button, DialogTitle, DialogContent, DialogActions, Dialog } from '@mui/material';\n\nimport { Cancel as IconCancel, Check as IconOk } from '@mui/icons-material';\n\nimport type { Connection } from '../Connection';\n\nimport { I18n } from '../i18n';\nimport {\n ObjectBrowser,\n type ObjectBrowserFilter,\n type ObjectBrowserColumn,\n type ObjectBrowserCustomFilter,\n} from '../Components/ObjectBrowser';\nimport type { IobTheme } from '../types';\n\nexport interface SelectIDFilters {\n id?: string;\n name?: string;\n room?: string;\n func?: string;\n role?: string;\n type?: string;\n custom?: string;\n}\n\ninterface DialogSelectIDProps {\n /** The internal name of the dialog; default: \"default\". Used to store settings in local storage */\n dialogName?: string;\n /** The dialog title; default: Please select object ID... (translated) */\n title?: string;\n /** Set to true to allow the selection of multiple IDs. */\n multiSelect?: boolean;\n /** Show folders before any leaves. */\n foldersFirst?: boolean;\n /** Path prefix for images (default: '.') */\n imagePrefix?: string;\n /** @deprecated same as imagePrefix */\n prefix?: string;\n /** Show the expert button */\n showExpertButton?: boolean;\n /** Force expert mode */\n expertMode?: boolean;\n /** optional ['name', 'type', 'role', 'room', 'func', 'val', 'buttons'] */\n columns?: ObjectBrowserColumn[];\n /** Object types to show; default: 'state' only */\n types?: ioBroker.ObjectType | ioBroker.ObjectType[];\n /** The language. */\n lang?: ioBroker.Languages;\n /** The socket connection. */\n socket: Connection;\n /** Can't objects be edited? (default: true) */\n notEditable?: boolean;\n /** Theme name. */\n themeName?: string;\n /** Theme type: dark or light */\n themeType?: string;\n /** The theme object */\n theme: IobTheme;\n /** The date format for the date columns */\n dateFormat?: string;\n /** Is use comma or point for displaying of float numbers */\n isFloatComma?: boolean;\n /** Custom filter. */\n customFilter?: ObjectBrowserCustomFilter;\n /** The selected IDs. */\n selected?: string | string[];\n /** The ok button text; default: OK (translated) */\n ok?: string;\n /** The cancel button text; default: Cancel (translated) */\n cancel?: string;\n /** Close handler that is always called when the dialog is closed. */\n onClose: () => void;\n /** Handler that is called when the user presses OK. */\n onOk: (selected: string | string[] | undefined, name: string) => void;\n /**\n * Function to filter out all unnecessary objects. Can be string or function.\n * It cannot be used together with \"types\".\n * Example for function: `obj => obj.common?.type === 'boolean'` to show only boolean states\n * In case of string, it must look like `obj.common && obj.common.type === 'boolean'`\n */\n filterFunc?: string | ((obj: ioBroker.Object) => boolean);\n /** predefined filter fields, like {\"id\":\"\",\"name\":\"\",\"room\":\"\",\"func\":\"\",\"role\":\"level\",\"type\":\"\",\"custom\":\"\"} */\n filters?: SelectIDFilters;\n /** Show elements only of this root ID */\n root?: string;\n}\n\ninterface DialogSelectIDState {\n selected: string[];\n name: string;\n}\n\nexport class DialogSelectID extends Component {\n private readonly dialogName: string;\n\n private filters: ObjectBrowserFilter;\n\n private readonly filterFunc?: (obj: ioBroker.Object) => boolean;\n\n constructor(props: DialogSelectIDProps) {\n super(props);\n this.dialogName = this.props.dialogName || 'default';\n this.dialogName = `SelectID.${this.dialogName}`;\n\n const filters: string = ((window as any)._localStorage || window.localStorage).getItem(this.dialogName) || '{}';\n\n try {\n this.filters = JSON.parse(filters);\n } catch {\n this.filters = {};\n }\n\n if (props.filters) {\n this.filters = { ...this.filters, ...(props.filters || {}) };\n }\n\n let selected = this.props.selected || [];\n if (!Array.isArray(selected)) {\n selected = [selected];\n }\n selected = selected.filter(id => id);\n\n if (props.filterFunc) {\n if (typeof props.filterFunc === 'string') {\n try {\n this.filterFunc = new Function('obj', props.filterFunc) as (obj: ioBroker.Object) => boolean;\n } catch {\n console.error(`Cannot parse filter function: \"obj => ${props.filterFunc}\"`);\n this.filterFunc = undefined;\n }\n } else {\n this.filterFunc = props.filterFunc;\n }\n }\n\n this.state = {\n selected,\n name: '',\n };\n }\n\n handleCancel(): void {\n this.props.onClose();\n }\n\n handleOk(): void {\n this.props.onOk(this.props.multiSelect ? this.state.selected : this.state.selected[0] || '', this.state.name);\n this.props.onClose();\n }\n\n render(): JSX.Element {\n let title;\n if (this.state.name || this.state.selected.length) {\n if (this.state.selected.length === 1) {\n title = [\n \n {I18n.t('ra_Selected')}\n  \n ,\n \n {(this.state.name || this.state.selected[0]) +\n (this.state.name ? ` [${this.state.selected[0]}]` : '')}\n ,\n ];\n } else {\n title = [\n \n {I18n.t('ra_Selected')}\n  \n ,\n \n {I18n.t('%s items', this.state.selected.length.toString())}\n ,\n ];\n }\n } else {\n title = this.props.title || I18n.t('ra_Please select object ID...');\n }\n\n return (\n {}}\n maxWidth={false}\n sx={{\n '& .MuiDialog-paper': {\n height: '95%',\n p: '4px',\n width: '100%',\n maxWidth: '100%',\n maxHeight: 'calc(100% - 16px)',\n },\n }}\n fullWidth\n open={!0}\n aria-labelledby=\"ar_dialog_selectid_title\"\n >\n \n {title}\n \n \n {\n this.filters = filterConfig;\n ((window as any)._localStorage || window.localStorage).setItem(\n this.dialogName,\n JSON.stringify(filterConfig),\n );\n }}\n onSelect={(_selected: string | string[], name: string, isDouble?: boolean) => {\n let selected: string[];\n if (!Array.isArray(_selected)) {\n selected = [_selected];\n } else {\n selected = _selected;\n }\n if (JSON.stringify(selected) !== JSON.stringify(this.state.selected)) {\n this.setState({ selected, name }, () => isDouble && this.handleOk());\n } else if (isDouble) {\n this.handleOk();\n }\n }}\n filterFunc={this.filterFunc}\n title=\"\"\n classes={{}}\n />\n \n \n this.handleOk()}\n startIcon={}\n disabled={!this.state.selected.length}\n color=\"primary\"\n >\n {this.props.ok || I18n.t('ra_Ok')}\n \n this.handleCancel()}\n startIcon={}\n >\n {this.props.cancel || I18n.t('ra_Cancel')}\n \n \n \n );\n }\n}\n", "import React, { Component, createRef, type JSX } from 'react';\nimport Dropzone, { type FileRejection } from 'react-dropzone';\nimport { Cropper, type ReactCropperElement } from 'react-cropper';\n\nimport { Menu, MenuItem, Tooltip, IconButton } from '@mui/material';\n\nimport { Close as IconClose, Crop as CropIcon, UploadFileOutlined as UploadIcon } from '@mui/icons-material';\n\nimport { I18n } from '../i18n';\nimport { Icon } from './Icon';\n\n// import 'cropperjs/dist/cropper.css';\nconst cropperStyles = `\n/*!\n * Cropper.js v1.5.12\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2021-06-12T08:00:11.623Z\n */\n\n.cropper-container {\n direction: ltr;\n font-size: 0;\n line-height: 0;\n position: relative;\n -ms-touch-action: none;\n touch-action: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.cropper-container img {\n display: block;\n height: 100%;\n image-orientation: 0deg;\n max-height: none !important;\n max-width: none !important;\n min-height: 0 !important;\n min-width: 0 !important;\n width: 100%;\n}\n\n.cropper-wrap-box,\n.cropper-canvas,\n.cropper-drag-box,\n.cropper-crop-box,\n.cropper-modal {\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.cropper-wrap-box,\n.cropper-canvas {\n overflow: hidden;\n}\n\n.cropper-drag-box {\n background-color: #fff;\n opacity: 0;\n}\n\n.cropper-modal {\n background-color: #000;\n opacity: 0.5;\n}\n\n.cropper-view-box {\n display: block;\n height: 100%;\n outline: 1px solid #39f;\n outline-color: rgba(51, 153, 255, 0.75);\n overflow: hidden;\n width: 100%;\n}\n\n.cropper-dashed {\n border: 0 dashed #eee;\n display: block;\n opacity: 0.5;\n position: absolute;\n}\n\n.cropper-dashed.dashed-h {\n border-bottom-width: 1px;\n border-top-width: 1px;\n height: calc(100% / 3);\n left: 0;\n top: calc(100% / 3);\n width: 100%;\n}\n\n.cropper-dashed.dashed-v {\n border-left-width: 1px;\n border-right-width: 1px;\n height: 100%;\n left: calc(100% / 3);\n top: 0;\n width: calc(100% / 3);\n}\n\n.cropper-center {\n display: block;\n height: 0;\n left: 50%;\n opacity: 0.75;\n position: absolute;\n top: 50%;\n width: 0;\n}\n\n.cropper-center::before,\n.cropper-center::after {\n background-color: #eee;\n content: ' ';\n display: block;\n position: absolute;\n}\n\n.cropper-center::before {\n height: 1px;\n left: -3px;\n top: 0;\n width: 7px;\n}\n\n.cropper-center::after {\n height: 7px;\n left: 0;\n top: -3px;\n width: 1px;\n}\n\n.cropper-face,\n.cropper-line,\n.cropper-point {\n display: block;\n height: 100%;\n opacity: 0.1;\n position: absolute;\n width: 100%;\n}\n\n.cropper-face {\n background-color: #fff;\n left: 0;\n top: 0;\n}\n\n.cropper-line {\n background-color: #39f;\n}\n\n.cropper-line.line-e {\n cursor: ew-resize;\n right: -3px;\n top: 0;\n width: 5px;\n}\n\n.cropper-line.line-n {\n cursor: ns-resize;\n height: 5px;\n left: 0;\n top: -3px;\n}\n\n.cropper-line.line-w {\n cursor: ew-resize;\n left: -3px;\n top: 0;\n width: 5px;\n}\n\n.cropper-line.line-s {\n bottom: -3px;\n cursor: ns-resize;\n height: 5px;\n left: 0;\n}\n\n.cropper-point {\n background-color: #39f;\n height: 5px;\n opacity: 0.75;\n width: 5px;\n}\n\n.cropper-point.point-e {\n cursor: ew-resize;\n margin-top: -3px;\n right: -3px;\n top: 50%;\n}\n\n.cropper-point.point-n {\n cursor: ns-resize;\n left: 50%;\n margin-left: -3px;\n top: -3px;\n}\n\n.cropper-point.point-w {\n cursor: ew-resize;\n left: -3px;\n margin-top: -3px;\n top: 50%;\n}\n\n.cropper-point.point-s {\n bottom: -3px;\n cursor: s-resize;\n left: 50%;\n margin-left: -3px;\n}\n\n.cropper-point.point-ne {\n cursor: nesw-resize;\n right: -3px;\n top: -3px;\n}\n\n.cropper-point.point-nw {\n cursor: nwse-resize;\n left: -3px;\n top: -3px;\n}\n\n.cropper-point.point-sw {\n bottom: -3px;\n cursor: nesw-resize;\n left: -3px;\n}\n\n.cropper-point.point-se {\n bottom: -3px;\n cursor: nwse-resize;\n height: 20px;\n opacity: 1;\n right: -3px;\n width: 20px;\n}\n\n@media (min-width: 768px) {\n .cropper-point.point-se {\n height: 15px;\n width: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .cropper-point.point-se {\n height: 10px;\n width: 10px;\n }\n}\n\n@media (min-width: 1200px) {\n .cropper-point.point-se {\n height: 5px;\n opacity: 0.75;\n width: 5px;\n }\n}\n\n.cropper-point.point-se::before {\n background-color: #39f;\n bottom: -50%;\n content: ' ';\n display: block;\n height: 200%;\n opacity: 0;\n position: absolute;\n right: -50%;\n width: 200%;\n}\n\n.cropper-invisible {\n opacity: 0;\n}\n\n.cropper-bg {\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC');\n}\n\n.cropper-hide {\n display: block;\n height: 0;\n position: absolute;\n width: 0;\n}\n\n.cropper-hidden {\n display: none !important;\n}\n\n.cropper-move {\n cursor: move;\n}\n\n.cropper-crop {\n cursor: crosshair;\n}\n\n.cropper-disabled .cropper-drag-box,\n.cropper-disabled .cropper-face,\n.cropper-disabled .cropper-line,\n.cropper-disabled .cropper-point {\n cursor: not-allowed;\n}\n`;\n\nconst styles: Record = {\n dropZone: {\n width: '100%',\n height: 100,\n position: 'relative',\n },\n dropZoneEmpty: {},\n image: {\n objectFit: 'contain',\n margin: 'auto',\n display: 'flex',\n width: '100%',\n height: '100%',\n },\n\n uploadDiv: {\n position: 'relative',\n width: '100%',\n height: 300,\n opacity: 0.9,\n marginTop: 30,\n cursor: 'pointer',\n outline: 'none',\n },\n uploadDivDragging: {\n opacity: 1,\n background: 'rgba(128,255,128,0.1)',\n },\n\n uploadCenterDiv: {\n margin: 5,\n border: '3px dashed grey',\n borderRadius: 5,\n width: 'calc(100% - 10px)',\n height: 'calc(100% - 10px)',\n position: 'relative',\n display: 'flex',\n },\n uploadCenterIcon: {\n paddingTop: 10,\n width: 48,\n height: 48,\n },\n uploadCenterText: {\n fontSize: 16,\n },\n uploadCenterTextAndIcon: {\n textAlign: 'center',\n position: 'absolute',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n },\n disabledOpacity: {\n opacity: 0.3,\n cursor: 'default',\n },\n buttonRemoveWrapper: {\n position: 'absolute',\n zIndex: 222,\n right: 0,\n },\n buttonCropWrapper: {\n position: 'absolute',\n zIndex: 222,\n right: 0,\n top: 50,\n },\n error: {\n border: '2px solid red',\n boxSizing: 'border-box',\n },\n};\n\ninterface UploadImageProps {\n maxSize?: number;\n disabled?: boolean;\n crop?: boolean;\n error?: boolean;\n onChange: (base64: string) => void | undefined;\n icon: string | null;\n removeIconFunc: () => void | null;\n accept?: Record;\n}\n\ninterface UploadImageState {\n uploadFile: boolean | 'dragging';\n anchorEl: HTMLElement | null;\n cropHandler: boolean;\n}\n\nexport class UploadImage extends Component {\n private readonly cropperRef: React.RefObject;\n\n constructor(props: UploadImageProps) {\n super(props);\n\n this.state = {\n uploadFile: false,\n anchorEl: null,\n cropHandler: false,\n };\n this.cropperRef = createRef();\n\n if (!window.document.getElementById('cropper-style-json-component')) {\n const style = window.document.createElement('style');\n style.setAttribute('id', 'cropper-style-json-component');\n style.innerHTML = cropperStyles;\n window.document.head.appendChild(style);\n }\n }\n\n onDrop(acceptedFiles: File[]): void {\n const onChange = this.props.onChange;\n const maxSize = this.props.maxSize || 10 * 1024;\n\n const file = acceptedFiles[0];\n const reader = new FileReader();\n\n reader.onabort = () => console.log('file reading was aborted');\n reader.onerror = () => console.log('file reading has failed');\n reader.onload = () => {\n if (!file || !file.name) {\n return;\n }\n const parts = file.name?.split('.');\n let ext = parts?.length ? `image/${parts.pop()?.toLowerCase()}` : 'image/jpeg';\n if (ext === 'image/jpg') {\n ext = 'image/jpeg';\n } else if (ext.includes('svg')) {\n ext = 'image/svg+xml';\n }\n if (file.size > maxSize) {\n window.alert(I18n.t('ra_File is too big. Max %sk allowed. Try use SVG.', Math.round(maxSize / 1024)));\n } else {\n const base64 = `data:${ext};base64,${btoa(\n new Uint8Array(reader.result as ArrayBufferLike).reduce(\n (data, byte) => data + String.fromCharCode(byte),\n '',\n ),\n )}`;\n\n if (onChange) {\n onChange(base64);\n } else {\n console.log(base64);\n }\n }\n };\n reader.readAsArrayBuffer(file);\n }\n\n render(): JSX.Element {\n const { disabled, icon, removeIconFunc, error, crop, onChange } = this.props;\n const maxSize = this.props.maxSize || 10 * 1024;\n let accept = this.props.accept || { 'image/*': [] };\n const { uploadFile, anchorEl, cropHandler } = this.state;\n\n // covert '\"image/png\"' to { 'image/*': [] }\n if (typeof accept === 'string') {\n accept = { [accept]: [] };\n } else if (Array.isArray(accept)) {\n const result: Record = {};\n accept.forEach(item => {\n result[item] = [];\n });\n accept = result;\n }\n\n return (\n this.setState({ uploadFile: 'dragging' })}\n onDragLeave={() => this.setState({ uploadFile: true })}\n onDrop={(acceptedFiles: File[], errors: FileRejection[]) => {\n this.setState({ uploadFile: false });\n if (!acceptedFiles.length) {\n window.alert(errors?.[0]?.errors?.[0]?.message || I18n.t('ra_Cannot upload'));\n } else {\n this.onDrop(acceptedFiles);\n }\n }}\n >\n {({ getRootProps, getInputProps }) => (\n \n \n
    \n {!icon ? (\n
    \n \n
    \n {uploadFile === 'dragging'\n ? I18n.t('ra_Drop file here')\n : I18n.t(\n 'ra_Place your files here or click here to open the browse dialog',\n )}\n
    \n
    \n ) : (\n removeIconFunc &&\n !cropHandler && (\n
    \n \n {\n removeIconFunc && removeIconFunc();\n e.stopPropagation();\n }}\n >\n \n \n \n
    \n )\n )}\n {icon && crop && (\n
    \n \n {\n if (!cropHandler) {\n this.setState({ cropHandler: true });\n } else {\n this.setState({ anchorEl: e.currentTarget });\n }\n e.stopPropagation();\n }}\n >\n \n \n \n this.setState({ anchorEl: null })}\n >\n \n this.setState({ anchorEl: null, cropHandler: false }, () => {\n const imageElement = this.cropperRef?.current?.cropper;\n if (imageElement) {\n if (onChange) {\n onChange(imageElement.getCroppedCanvas().toDataURL());\n } else {\n console.log(imageElement.getCroppedCanvas().toDataURL());\n }\n }\n })\n }\n >\n {I18n.t('ra_Save')}\n \n this.setState({ anchorEl: null, cropHandler: false })}>\n {I18n.t('ra_Close')}\n \n \n
    \n )}\n {icon && !cropHandler ? (\n \n ) : null}\n\n {icon && crop && cropHandler ? (\n \n ) : null}\n
    \n \n )}\n \n );\n }\n}\n", "import e,{useRef as r,useEffect as o}from\"react\";import t from\"cropperjs\";var n=function(){return n=Object.assign||function(e){for(var r,o=1,t=arguments.length;o0&&e.zoomTo(s)}(e.currentTarget.cropper,M),w&&w(e)}}));x&&x(e)}return function(){var e,r;null===(r=null===(e=E.current)||void 0===e?void 0:e.cropper)||void 0===r||r.destroy()}}),[E]);var R=function(e){return c.reduce((function(e,r){var o=e,t=r;return o[t],a(o,[\"symbol\"==typeof t?t:t+\"\"])}),e)}(n(n({},j),{crossOrigin:g,src:v,alt:C}));return e.createElement(\"div\",{style:f,className:m},e.createElement(\"img\",n({},R,{style:i,ref:E})))}));export{l as Cropper,l as default};\n", "import React from 'react';\n\nimport {\n InputLabel,\n MenuItem,\n Select,\n TextField,\n FormControl,\n FormControlLabel,\n Checkbox,\n type Theme,\n} from '@mui/material';\n\nimport { convertCronToText } from './cronText';\n\nimport { I18n } from '../../i18n';\n\nconst styles: Record = {\n mainDiv: {\n width: '100%',\n height: '100%',\n overflow: 'auto',\n },\n formControl: {\n margin: 0,\n minWidth: 120,\n },\n formControlMarginRight: {\n marginRight: 5,\n },\n formControlPaddingTop: {\n paddingTop: 6.2,\n },\n};\n\ntype SimpleCronType = 'once' | 'interval' | 'intervalBetween' | 'specific';\nconst PERIODIC = {\n once: 'once',\n interval: 'interval',\n intervalBetween: 'intervalBetween',\n specific: 'specific',\n};\nconst PERIODIC_TYPES = {\n seconds: 'seconds',\n minutes: 'minutes',\n // hours: 'hours',\n};\nconst WEEKDAYS = [\n 'ra_Sunday',\n 'ra_Monday',\n 'ra_Tuesday',\n 'ra_Wednesday',\n 'ra_Thursday',\n 'ra_Friday',\n 'ra_Saturday',\n 'ra_Sunday',\n];\n\nfunction padding(num: number): string {\n if (num < 10) {\n return `0${num}`;\n }\n\n return `${num}`;\n}\nconst DEFAULT_STATE = {\n mode: 'interval',\n interval: {\n period: 1,\n unit: PERIODIC_TYPES.minutes,\n },\n};\n\ninterface SimpleCronProps {\n cronExpression?: string;\n onChange: (cron: string) => void;\n language: ioBroker.Languages;\n}\n\ninterface SimpleCronState {\n extended: boolean;\n cron: string;\n mode: SimpleCronType;\n once: {\n time: string;\n date: string;\n // weekdays?: number[];\n };\n interval: {\n period: number;\n unit: string;\n minutes?: number; // if extended\n hours?: number; // if extended\n };\n intervalBetween: {\n period: number;\n unit: string;\n timeFrom: number;\n timeTo: number;\n weekdays: number[];\n minutes?: number; // if extended\n hours?: number; // if extended\n };\n specific: {\n time: string;\n weekdays: number[];\n };\n}\n\ninterface CronStructure {\n seconds: string | null;\n minutes: string;\n hours: string;\n date: string;\n months: string;\n dow: string;\n}\n\nfunction text2weekdays(text: string): number[] {\n if (text === '*') {\n return [0, 1, 2, 3, 4, 5, 6];\n }\n\n const parts = text.split(',');\n const list: number[] = [];\n parts.forEach(part => {\n const _parts = part.split('-');\n if (_parts.length === 2) {\n const start = parseInt(_parts[0], 10);\n const end = parseInt(_parts[1], 10);\n for (let day = start; day <= end; day++) {\n if (!list.includes(day === 7 ? 0 : day)) {\n list.push(day === 7 ? 0 : day);\n }\n }\n } else {\n if (part === '7') {\n part = '0';\n }\n const numPart = parseInt(part, 10);\n if (!list.includes(numPart)) {\n list.push(numPart);\n }\n }\n });\n list.sort();\n return list;\n}\n\nexport function cron2state(cron: string, force?: boolean): Partial | null {\n cron = cron.replace(/['\"]/g, '').trim();\n const cronParts = cron.split(' ');\n let options: CronStructure;\n let state: Partial | null = null;\n\n if (cronParts.length === 6) {\n options = {\n seconds: cronParts[0] || '*',\n minutes: cronParts[1] || '*',\n hours: cronParts[2] || '*',\n date: cronParts[3] || '*',\n months: cronParts[4] || '*',\n dow: cronParts[5] || '*',\n };\n } else {\n options = {\n seconds: null,\n minutes: cronParts[0] || '*',\n hours: cronParts[1] || '*',\n date: cronParts[2] || '*',\n months: cronParts[3] || '*',\n dow: cronParts[4] || '*',\n };\n }\n\n // * * * * *\n if (\n options.seconds === null &&\n options.minutes === '*' &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*' &&\n (options.dow === '*' || force)\n ) {\n state = {\n mode: 'interval',\n interval: {\n period: 1,\n unit: PERIODIC_TYPES.minutes,\n },\n };\n } // * * * * * *\n\n if (\n options.seconds === '*' &&\n options.minutes === '*' &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*' &&\n (options.dow === '*' || force)\n ) {\n state = {\n mode: 'interval',\n interval: {\n period: 1,\n unit: PERIODIC_TYPES.seconds,\n },\n };\n } else if (\n options.seconds === null &&\n options.minutes.includes('/') &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*' &&\n (options.dow === '*' || force)\n ) {\n // */n * * * *\n state = {\n mode: 'interval',\n interval: {\n period: parseInt(options.minutes.split('/')[1], 10),\n unit: PERIODIC_TYPES.minutes,\n },\n };\n } else if (\n options.seconds !== null &&\n options.seconds.includes('/') &&\n options.minutes === '*' &&\n options.hours === '*' &&\n options.date === '*' &&\n options.months === '*' &&\n (options.dow === '*' || force)\n ) {\n // */n * * * * *\n state = {\n mode: 'interval',\n interval: {\n period: parseInt(options.seconds.split('/')[1], 10),\n unit: PERIODIC_TYPES.seconds,\n },\n };\n } else if (\n options.seconds !== null &&\n options.seconds.includes('/') &&\n options.minutes === '*' &&\n options.hours.includes('-') &&\n options.date === '*' &&\n options.months === '*' &&\n (options.dow === '*' || force)\n ) {\n // */n * 0-23 * * 1-7 or */n * 0-23 * * *\n state = {\n mode: 'intervalBetween',\n intervalBetween: {\n period: parseInt(options.seconds.split('/')[1], 10),\n unit: PERIODIC_TYPES.seconds,\n timeFrom: parseInt(options.hours.split('-')[0], 10),\n timeTo: parseInt(options.hours.split('-')[1], 10),\n weekdays: text2weekdays(options.dow),\n },\n };\n } else if (\n options.seconds === null &&\n options.minutes.includes('/') &&\n options.hours.includes('-') &&\n options.date === '*' &&\n options.months === '*' &&\n (options.dow === '*' || force)\n ) {\n // */n 0-23 * * 1-7 or */n 0-23 * * *\n state = {\n mode: 'intervalBetween',\n intervalBetween: {\n period: parseInt(options.minutes.split('/')[1], 10),\n unit: PERIODIC_TYPES.minutes,\n timeFrom: parseInt(options.hours.split('-')[0], 10),\n timeTo: parseInt(options.hours.split('-')[1], 10),\n weekdays: text2weekdays(options.dow),\n },\n };\n } else if (\n options.seconds === null &&\n parseInt(options.minutes, 10).toString() === options.minutes &&\n parseInt(options.hours, 10).toString() === options.hours &&\n options.date === '*' &&\n options.months === '*' &&\n (options.dow === '*' || force)\n ) {\n // m h * * 1-7 or m h * * *\n state = {\n mode: 'specific',\n specific: {\n time: `${padding(parseInt(options.hours, 10))}:${padding(parseInt(options.minutes, 10))}`,\n weekdays: text2weekdays(options.dow),\n },\n };\n } else if (\n options.seconds === null &&\n parseInt(options.minutes, 10).toString() === options.minutes &&\n parseInt(options.hours, 10).toString() === options.hours &&\n parseInt(options.date, 10).toString() === options.date &&\n parseInt(options.months, 10).toString() === options.months &&\n (options.dow === '*' || force)\n ) {\n // m h d M *\n state = {\n mode: 'once',\n once: {\n time: `${padding(parseInt(options.hours, 10))}:${padding(parseInt(options.minutes, 10))}`,\n date: `${padding(parseInt(options.date, 10))}.${padding(parseInt(options.months, 10))}`,\n },\n };\n }\n\n return state;\n}\n\nexport class SimpleCron extends React.Component {\n constructor(props: SimpleCronProps) {\n super(props);\n let cron =\n typeof props.cronExpression === 'string'\n ? props.cronExpression.replace(/^[\"']/, '').replace(/[\"']\\n?$/, '')\n : '';\n if (cron[0] === '{') {\n cron = '';\n }\n const state = cron2state(cron || '* * * * *', true) || DEFAULT_STATE;\n\n this.state = {\n extended: false,\n cron: SimpleCron.state2cron(state as SimpleCronState),\n mode: 'interval',\n once: {\n time: '00:00',\n date: '',\n },\n interval: {\n period: 1,\n unit: PERIODIC_TYPES.minutes,\n },\n intervalBetween: {\n period: 1,\n unit: PERIODIC_TYPES.minutes,\n timeFrom: 0,\n timeTo: 23,\n weekdays: [0, 1, 2, 3, 4, 5, 6],\n },\n specific: {\n time: '00:00',\n weekdays: [0, 1, 2, 3, 4, 5, 6],\n },\n };\n Object.assign(this.state, state);\n\n if (this.state.cron !== props.cronExpression) {\n setTimeout(() => props.onChange && props.onChange(this.state.cron), 100);\n }\n }\n\n static periodArray2text(list: number[], max: number = 7): string {\n max = max || 7;\n if (list.length === max) {\n return '*';\n }\n const text = [];\n let start = null;\n let end = null;\n if (!list.length) {\n return '_';\n }\n for (let i = 0; i < list.length; i++) {\n if (start === null) {\n start = list[i];\n end = list[i];\n } else if (list[i - 1] + 1 === list[i]) {\n end = list[i];\n } else {\n if (start !== end) {\n text.push(`${start}-${end}`);\n } else {\n text.push(start);\n }\n start = list[i];\n end = list[i];\n }\n }\n if (start !== end) {\n text.push(`${start}-${end}`);\n } else {\n text.push(start);\n }\n return text.join(',');\n }\n\n static text2weekdays(text: string): number[] {\n return text2weekdays(text);\n }\n\n static state2cron(state: Partial): string {\n let cron = '* * * * *';\n if (state.mode === 'interval') {\n const settings = state.interval || {\n period: 1,\n unit: PERIODIC_TYPES.minutes,\n };\n if (settings.period !== undefined && settings.period > 60) {\n settings.period = 60;\n }\n if (settings.period !== undefined && settings.period < 1) {\n settings.period = 1;\n }\n\n if (settings.minutes !== undefined && settings.minutes !== null && settings.minutes > 60) {\n settings.minutes = 60;\n }\n if (settings.minutes !== undefined && settings.minutes !== null && settings.minutes < 1) {\n settings.minutes = 1;\n }\n\n if (settings.hours !== undefined && settings.hours !== null && settings.hours > 24) {\n settings.hours = 24;\n }\n if (settings.hours !== undefined && settings.hours !== null && settings.hours < 1) {\n settings.hours = 1;\n }\n\n if (state.extended) {\n cron = `${settings.minutes !== undefined && settings.minutes !== null && settings.minutes > 1 ? `*/${settings.minutes}` : '*'} ${settings.hours !== undefined && settings.hours !== null && settings.hours > 1 ? `*/${settings.hours}` : '*'} * * *`;\n } else {\n switch (settings.unit) {\n case PERIODIC_TYPES.seconds:\n cron = `${settings.period > 1 ? `*/${settings.period}` : '*'} * * * * *`;\n break;\n case PERIODIC_TYPES.minutes:\n cron = `${settings.period > 1 ? `*/${settings.period}` : '*'} * * * *`;\n break;\n default:\n break;\n }\n }\n } else if (state.mode === 'intervalBetween') {\n const settings = state.intervalBetween || {\n period: 1,\n unit: PERIODIC_TYPES.minutes,\n timeFrom: 0,\n timeTo: 24,\n weekdays: [0, 1, 2, 3, 4, 5, 6],\n };\n let hours;\n settings.timeFrom = settings.timeFrom || 0;\n settings.timeTo = settings.timeTo === undefined ? 24 : settings.timeTo;\n if (settings.timeFrom !== 0 && settings.timeTo === 24) {\n settings.timeTo = 23;\n }\n if (settings.timeFrom === 0 && settings.timeTo === 24) {\n hours = '*';\n } else {\n hours = settings.timeFrom !== settings.timeTo ? `${settings.timeFrom}-${settings.timeTo}` : '*';\n }\n if (settings.period > 60) {\n settings.period = 60;\n }\n if (settings.period < 1) {\n settings.period = 1;\n }\n settings.unit = settings.unit || PERIODIC_TYPES.minutes;\n switch (settings.unit) {\n case PERIODIC_TYPES.seconds:\n cron = `${settings.period > 1 ? `*/${settings.period}` : '*'} * ${hours} * * ${this.periodArray2text(settings.weekdays)}`;\n break;\n case PERIODIC_TYPES.minutes:\n cron = `${settings.period > 1 ? `*/${settings.period}` : '*'} ${hours} * * ${this.periodArray2text(settings.weekdays)}`;\n break;\n default:\n break;\n }\n } else if (state.mode === 'specific') {\n const settings = state.specific || {\n time: '00:00',\n weekdays: [0, 1, 2, 3, 4, 5, 6],\n };\n const parts = (settings.time || '00:00').split(':');\n let minutes = parseInt(parts[1], 10) || 0;\n if (minutes > 59) {\n minutes = 59;\n }\n if (minutes < 0) {\n minutes = 0;\n }\n let hours = parseInt(parts[0], 10) || 0;\n if (hours > 23) {\n hours = 59;\n }\n if (hours < 0) {\n hours = 0;\n }\n\n cron = `${minutes} ${hours} * * ${this.periodArray2text(settings.weekdays || [])}`;\n } else if (state.mode === 'once') {\n const settings = state.once || {\n time: '00:00',\n date: '',\n };\n if (!settings.date) {\n settings.date = `${new Date().getDate()}.${padding(new Date().getMonth() + 1)}`;\n }\n const parts = (settings.time || '00:00').split(':');\n const partsDate = settings.date.split('.');\n let minutes = parseInt(parts[1], 10) || 0;\n if (minutes > 59) {\n minutes = 59;\n }\n if (minutes < 0) {\n minutes = 0;\n }\n let hours = parseInt(parts[0], 10) || 0;\n if (hours > 23) {\n hours = 59;\n }\n if (hours < 0) {\n hours = 0;\n }\n let date = parseInt(partsDate[0], 10) || 1;\n if (date > 31) {\n date = 31;\n }\n if (date < 1) {\n hours = 1;\n }\n let month = parseInt(partsDate[1], 10) || 1;\n if (month > 12) {\n month = 12;\n }\n if (month < 1) {\n month = 1;\n }\n\n cron = `${minutes} ${hours} ${date} ${month} *`;\n }\n return cron;\n }\n\n recalcCron(): void {\n this.onChange(SimpleCron.state2cron(this.state));\n }\n\n getControlsWeekdaysElements(type: 'intervalBetween' | 'specific'): React.JSX.Element {\n const settings = type === 'intervalBetween' ? this.state.intervalBetween : this.state.specific;\n return (\n \n
    {I18n.t('ra_On weekdays')}
    \n {[1, 2, 3, 4, 5, 6, 0].map(day => (\n {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n const pos = _settings.weekdays.indexOf(day);\n if (e.target.checked) {\n if (pos === -1) {\n _settings.weekdays.push(day);\n }\n } else {\n if (pos !== -1) {\n _settings.weekdays.splice(pos, 1);\n }\n }\n _settings.weekdays.sort();\n if (type === 'intervalBetween') {\n this.setState({ intervalBetween: _settings }, () => this.recalcCron());\n } else {\n this.setState({ specific: _settings }, () => this.recalcCron());\n }\n }}\n value={day.toString()}\n />\n }\n label={I18n.t(WEEKDAYS[day])}\n />\n ))}\n \n );\n }\n\n getControlsPeriodElements(type: 'interval' | 'intervalBetween'): React.JSX.Element {\n const settings = type === 'interval' ? this.state.interval : this.state.intervalBetween;\n\n if (this.state.extended) {\n return (\n \n
    {I18n.t('sc_period')}
    \n {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n _settings.minutes = parseInt(e.target.value, 10);\n if (_settings.minutes < 1) {\n _settings.minutes = 1;\n }\n if (type === 'interval') {\n this.setState({ interval: _settings }, () => this.recalcCron());\n } else {\n this.setState({ intervalBetween: _settings }, () => this.recalcCron());\n }\n }}\n slotProps={{\n htmlInput: {\n min: 1,\n max: 60,\n },\n inputLabel: {\n shrink: true,\n },\n }}\n type=\"number\"\n margin=\"normal\"\n />\n {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n _settings.hours = parseInt(e.target.value, 10);\n if (_settings.hours < 1) {\n _settings.hours = 1;\n }\n if (type === 'interval') {\n this.setState({ interval: _settings }, () => this.recalcCron());\n } else {\n this.setState({ intervalBetween: _settings }, () => this.recalcCron());\n }\n }}\n slotProps={{\n htmlInput: {\n min: 1,\n max: 24,\n },\n inputLabel: {\n shrink: true,\n },\n }}\n type=\"number\"\n margin=\"normal\"\n />\n \n );\n }\n\n return (\n \n
    {I18n.t('sc_period')}
    \n {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n _settings.period = parseInt(e.target.value, 10);\n if (_settings.period < 1) {\n _settings.period = 1;\n }\n if (type === 'interval') {\n this.setState({ interval: _settings }, () => this.recalcCron());\n } else {\n this.setState({ intervalBetween: _settings }, () => this.recalcCron());\n }\n }}\n slotProps={{\n htmlInput: {\n min: 1,\n max: 60,\n },\n inputLabel: {\n shrink: true,\n },\n }}\n type=\"number\"\n margin=\"normal\"\n />\n {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n _settings.unit = e.target.value;\n if (type === 'interval') {\n this.setState({ interval: _settings }, () => this.recalcCron());\n } else {\n this.setState({ intervalBetween: _settings }, () => this.recalcCron());\n }\n }}\n >\n {I18n.t('sc_seconds')})\n {I18n.t('sc_minutes')})\n \n \n );\n }\n\n getControlsTime(type: 'once' | 'specific'): React.JSX.Element {\n const settings = type === 'once' ? this.state.once : this.state.specific;\n return (\n \n ({\n '& input[type=\"time\"]::-webkit-calendar-picker-indicator': {\n filter: theme.palette.mode === 'dark' ? 'invert(80%)' : undefined,\n },\n })}\n onChange={e => {\n const _settings = JSON.parse(JSON.stringify(this.state[type]));\n _settings.time = e.target.value;\n if (type === 'once') {\n this.setState({ once: _settings }, () => this.recalcCron());\n } else {\n this.setState({ specific: _settings }, () => this.recalcCron());\n }\n }}\n slotProps={{\n inputLabel: {\n shrink: true,\n },\n }}\n margin=\"normal\"\n />\n \n );\n }\n\n getControlsDate(): React.JSX.Element {\n const settings = this.state.once;\n\n if (!settings.date) {\n const d = new Date();\n settings.date = `${d.getDate()}.${padding(d.getMonth() + 1)}`;\n }\n\n // {I18n.t('sc_at')}\n return (\n \n {\n const _settings = JSON.parse(JSON.stringify(this.state.once));\n _settings.date = e.target.value;\n this.setState({ once: _settings }, () => this.recalcCron());\n }}\n margin=\"normal\"\n />\n \n );\n }\n\n getOnceElements(): React.JSX.Element {\n return (\n
    \n {this.getControlsTime('once')}\n {this.getControlsDate()}\n
    \n );\n }\n\n getIntervalElements(): React.JSX.Element {\n return this.getControlsPeriodElements('interval');\n }\n\n getIntervalBetweenElements(): React.JSX.Element[] {\n const settings = this.state.intervalBetween;\n return [\n this.getControlsPeriodElements('intervalBetween'),\n \n
    {I18n.t('sc_hours')}
    \n \n \n {I18n.t('sc_from')}\n \n {\n const _settings = JSON.parse(JSON.stringify(this.state.intervalBetween));\n _settings.timeFrom = parseInt(e.target.value as string, 10);\n if (_settings.timeTo === 24) {\n _settings.timeTo = 23;\n }\n this.setState({ intervalBetween: _settings }, () => this.recalcCron());\n }}\n >\n {[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23].map(\n hour => (\n \n {`${padding(hour)}:00`}\n \n ),\n )}\n \n \n \n \n {I18n.t('sc_to')}\n \n {\n const _settings = JSON.parse(JSON.stringify(this.state.intervalBetween));\n _settings.timeTo = parseInt(e.target.value as string, 10);\n this.setState({ intervalBetween: _settings }, () => this.recalcCron());\n }}\n >\n {[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23].map(\n hour => (\n \n {`${padding(hour)}:00`}\n \n ),\n )}\n {!settings.timeFrom && 00:00}\n \n \n ,\n this.getControlsWeekdaysElements('intervalBetween'),\n ];\n }\n\n getSpecificTimeElements(): React.JSX.Element[] {\n return [\n \n {this.getControlsTime('specific')}\n ,\n this.getControlsWeekdaysElements('specific'),\n ];\n }\n\n onModeChange(mode: 'once' | 'interval' | 'intervalBetween' | 'specific'): void {\n if (mode !== this.state.mode) {\n this.setState({ mode }, () => this.recalcCron());\n }\n }\n\n onChange(cron: string): void {\n if (cron !== this.state.cron) {\n this.setState({ cron });\n this.props.onChange && this.props.onChange(cron);\n }\n }\n\n render(): React.JSX.Element {\n return (\n
    \n
    \n \n
    \n
    \n {this.state.cron.includes('_')\n ? I18n.t('sc_invalid_cron')\n : convertCronToText(this.state.cron, this.props.language || 'en')}\n
    \n
    \n \n {I18n.t('ra_Repeat')}\n this.onModeChange(e.target.value as SimpleCronType)}\n inputProps={{ name: 'mode', id: 'mode' }}\n >\n {I18n.t('sc_once')}\n {I18n.t('sc_interval')}\n {I18n.t('sc_intervalBetween')}\n {I18n.t('sc_specific')}\n \n \n
    \n {this.state.mode === PERIODIC.once && this.getOnceElements()}\n {this.state.mode === 'interval' && this.getIntervalElements()}\n {this.state.mode === 'intervalBetween' && this.getIntervalBetweenElements()}\n {this.state.mode === 'specific' && this.getSpecificTimeElements()}\n
    \n );\n }\n}\n", "/**\n * Copyright 2021-2024 ioBroker GmbH\n *\n * MIT License\n *\n */\nimport React, { useEffect } from 'react';\nimport { CircularProgress } from '@mui/material';\n\nimport type { ThemeType, ThemeName } from '../../types';\n\n// import './Vendor.css'\nconst vendorStyles = `\n.logo-background-light, .logo-background-colored {\n background: white;\n}\n.logo-background-dark, .logo-background-blue {\n background: black;\n}\n`;\n\ninterface LoaderVendorProps {\n /** The size in pixels of this loader. */\n size?: number;\n /** The chosen theme type. */\n themeType?: ThemeType;\n /** The chosen theme name. */\n themeName?: ThemeName;\n /** Background color */\n backgroundColor?: string;\n /** Background image URL */\n backgroundImage?: string;\n}\n\nexport function LoaderVendor(props: LoaderVendorProps): React.JSX.Element {\n useEffect(() => {\n if (!window.document.getElementById('vendor-iobroker-component')) {\n const style = window.document.createElement('style');\n style.setAttribute('id', 'vendor-iobroker-component');\n style.innerHTML = vendorStyles;\n window.document.head.appendChild(style);\n }\n }, []);\n\n const theme = props.themeType || props.themeName || 'light';\n return (\n \n
    \n \n
    \n
    \n );\n}\n", "/**\n * Copyright 2021-2024 ioBroker GmbH\n *\n * MIT License\n *\n */\nimport React, { useEffect } from 'react';\n\nimport type { ThemeType, ThemeName } from '../../types';\n\n// import './PT.css'\nconst ptStyles = `\n.logo-background-light, .logo-background-colored {\n background: white;\n}\n.logo-background-dark, .logo-background-blue {\n background: black;\n}\n.pt-logo-div {\n position: absolute;\n top: 50%;\n left: 50%;\n -ms-transform: translateX(-50%) translateY(-50%);\n -webkit-transform: translate(-50%,-50%);\n transform: translate(-50%,-50%);\n z-index: 2;\n}\n.pt-logo-border {\n border-style: solid;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n position: absolute;\n}\n.pt-loader-block {\n height: 65px;\n width: 74px;\n border-radius: 15px;\n position: absolute;\n box-sizing: content-box;\n}\n.pt-loader-blue {\n border: 9px solid #0F99DE;\n transform: rotate(5grad);\n left: 93px;\n top: 0;\n animation: spin-blue 5s ease-in-out infinite;\n}\n.pt-loader-green {\n border: 9px solid #88A536;\n transform: rotate(-6grad);\n left: 70px;\n top: 58px;\n animation: spin-green 5s ease-in-out infinite;\n}\n.pt-loader-red {\n border: 9px solid #BD1B24;\n transform: rotate(-15grad);\n left: 24px;\n top: 100px;\n animation: spin-red 5s ease-in-out infinite;\n}\n\n@keyframes spin-blue {\n 0% {\n transform: rotate(5deg);\n }\n 25% {\n transform: rotate(185deg);\n }\n 50% {\n transform: rotate(185deg);\n }\n 75% {\n transform: rotate(185deg);\n }\n 100% {\n transform: rotate(185deg);\n }\n}\n@keyframes spin-green {\n 0% {\n transform: rotate(-6deg);\n }\n 25% {\n transform: rotate(-6deg);\n }\n 50% {\n transform: rotate(174deg);\n }\n 75% {\n transform: rotate(174deg);\n }\n 100% {\n transform: rotate(-6deg);\n }\n}\n@keyframes spin-red {\n 0% {\n transform: rotate(-15deg);\n }\n 25% {\n transform: rotate(-15deg);\n }\n 50% {\n transform: rotate(-15deg);\n }\n 75% {\n transform: rotate(165deg);\n }\n 100% {\n transform: rotate(165deg);\n }\n}\n`;\n\ninterface LoaderPTProps {\n /** The size in pixels of this loader. */\n size?: number;\n /** The chosen theme type. */\n themeType?: ThemeType;\n /** The chosen theme name. */\n themeName?: ThemeName;\n /** Background color */\n backgroundColor?: string;\n /** Background image URL */\n backgroundImage?: string;\n}\n\n/**\n * A loader component with the vendor-specific logo\n *\n * @param props Properties of the loader of type LoaderPTProps\n */\nexport function LoaderPT(props: LoaderPTProps): React.JSX.Element {\n const size = props.size || 200;\n useEffect(() => {\n if (!window.document.getElementById('pt-iobroker-component')) {\n const style = window.document.createElement('style');\n style.setAttribute('id', 'pt-iobroker-component');\n style.innerHTML = ptStyles;\n window.document.head.appendChild(style);\n }\n }, []);\n\n const themeName = props.themeType || props.themeName || 'light';\n return (\n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n );\n}\n", "import React from 'react';\nimport type { ThemeType } from '../../types';\n\ninterface LogoProps {\n themeType?: ThemeType;\n size?: number;\n /** Background color */\n backgroundColor?: string;\n /** Background image URL */\n backgroundImage?: string;\n}\n\n/**\n * Vendor specific loader\n *\n * @param props Properties\n */\nexport function LoaderMV(props: LogoProps): React.JSX.Element {\n const themeType = props.themeType || 'light';\n const size = props.size || 300;\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {[\n 0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180, 195, 210, 225, 240, 255, 270, 285,\n 300, 315, 330, 345,\n ].map(angle => (\n \n ))}\n \n \n \n \n
    \n
    \n );\n}\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\nexport const IconFx = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 95 95\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n);\n", "import React from 'react';\nimport { type IconProps } from './IconProps';\n\nexport const IconLogout = (props: IconProps): React.JSX.Element => (\n props.onClick && props.onClick(e)}\n viewBox=\"0 0 512 512\"\n width={props.width || (props.fontSize === 'small' ? 16 : 20)}\n height={props.height || props.width || (props.fontSize === 'small' ? 16 : 20)}\n className={props.className}\n style={props.style}\n >\n \n \n \n);\n", "import React, { type JSX } from 'react';\n\nimport { Button, DialogTitle, DialogContent, DialogActions, Dialog } from '@mui/material';\n\nimport { Check as IconOk, Cancel as IconCancel, Delete as IconClear } from '@mui/icons-material';\n\nimport { ComplexCron } from '../Components/ComplexCron';\nimport { DialogConfirm } from '../Dialogs/Confirm';\n\nimport { I18n } from '../i18n';\n\n// Generate cron expression\nconst styles: Record = {\n headerID: {\n fontWeight: 'bold',\n fontStyle: 'italic',\n },\n radio: {\n display: 'inline-block',\n },\n dialogPaper: {\n height: 'calc(100% - 96px)',\n },\n};\n\ninterface DialogCronProps {\n onClose: () => void;\n onOk: (cron: string | false) => void;\n title?: string;\n cron?: string;\n cancel?: string;\n ok?: string;\n clear?: string;\n clearButton?: boolean;\n}\n\ninterface DialogCronState {\n cron: string;\n showWarning: '' | 'everySecond' | 'everyMinute';\n}\n\nexport class DialogComplexCron extends React.Component {\n constructor(props: DialogCronProps) {\n super(props);\n let cron;\n if (this.props.cron && typeof this.props.cron === 'string' && this.props.cron.replace(/^[\"']/, '')[0] !== '{') {\n cron = this.props.cron.replace(/['\"]/g, '').trim();\n } else {\n cron = this.props.cron || '{}';\n if (typeof cron === 'string') {\n cron = cron.replace(/^[\"']/, '').replace(/[\"']\\n?$/, '');\n }\n }\n\n this.state = {\n showWarning: '',\n cron,\n };\n }\n\n handleCancel(): void {\n this.props.onClose();\n }\n\n handleOk(ignoreCheck?: boolean): void {\n if (!ignoreCheck) {\n // Check if the CRON will be executed every second or every minute and warn about it\n const cron = ComplexCron.cron2state(this.state.cron);\n if (cron.seconds === '*' || cron.seconds === '*/1') {\n this.setState({ showWarning: 'everySecond' });\n return;\n }\n if (cron.minutes === '*' || cron.minutes === '*/1') {\n this.setState({ showWarning: 'everyMinute' });\n return;\n }\n }\n\n this.props.onOk(this.state.cron);\n this.props.onClose();\n }\n\n renderWarningDialog(): JSX.Element | null {\n if (!this.state.showWarning) {\n return null;\n }\n return (\n \n this.setState({ showWarning: '' }, () => {\n if (ok) {\n this.handleOk(true);\n }\n })\n }\n />\n );\n }\n\n handleClear(): void {\n this.props.onOk(false);\n this.props.onClose();\n }\n\n render(): JSX.Element {\n return (\n {}}\n maxWidth=\"md\"\n fullWidth\n sx={{ '& .MuiDialog-paper': styles.dialogPaper }}\n open={!0}\n aria-labelledby=\"cron-dialog-title\"\n >\n {this.renderWarningDialog()}\n {this.props.title || I18n.t('ra_Define schedule...')}\n \n this.setState({ cron })}\n language={I18n.getLanguage()}\n />\n \n \n {!!this.props.clearButton && (\n this.handleClear()}\n startIcon={}\n >\n {this.props.clear || I18n.t('ra_Clear')}\n \n )}\n this.handleOk()}\n color=\"primary\"\n startIcon={}\n >\n {this.props.ok || I18n.t('ra_Ok')}\n \n this.handleCancel()}\n startIcon={}\n >\n {this.props.cancel || I18n.t('ra_Cancel')}\n \n \n \n );\n }\n}\n", "import React, { type JSX } from 'react';\n\nimport { Button, DialogTitle, DialogContent, DialogActions, Dialog, Radio } from '@mui/material';\n\nimport { Check as IconOk, Cancel as IconCancel } from '@mui/icons-material';\n\nimport { ComplexCron } from '../Components/ComplexCron';\nimport { SimpleCron, cron2state } from '../Components/SimpleCron';\nimport { Schedule } from '../Components/Schedule';\n\nimport { I18n } from '../i18n';\nimport type { IobTheme } from '../types';\n\n// Generate cron expression\n\nconst styles: Record = {\n dialogPaper: {\n height: 'calc(100% - 96px)',\n },\n};\n\ninterface DialogCronProps {\n onClose: () => void;\n onOk: (cron: string) => void;\n title?: string;\n cron?: string;\n cancel?: string;\n ok?: string;\n /** show only simple configuration */\n simple?: boolean;\n /** show only complex configuration */\n complex?: boolean;\n /** do not show wizard */\n noWizard?: boolean;\n theme: IobTheme;\n}\n\ninterface DialogCronState {\n cron: string;\n mode: 'simple' | 'complex' | 'wizard';\n}\n\nexport class DialogCron extends React.Component {\n constructor(props: DialogCronProps) {\n super(props);\n let cron;\n if (this.props.cron && typeof this.props.cron === 'string' && this.props.cron.replace(/^[\"']/, '')[0] !== '{') {\n cron = this.props.cron.replace(/['\"]/g, '').trim();\n } else {\n cron = this.props.cron || '{}';\n if (typeof cron === 'string') {\n cron = cron.replace(/^[\"']/, '').replace(/[\"']\\n?$/, '');\n }\n }\n\n this.state = {\n cron,\n mode: this.props.simple\n ? 'simple'\n : this.props.complex\n ? 'complex'\n : (typeof cron === 'object' || cron[0] === '{') && !this.props.noWizard\n ? 'wizard'\n : cron2state(this.props.cron || '* * * * *')\n ? 'simple'\n : 'complex',\n };\n }\n\n handleCancel(): void {\n this.props.onClose();\n }\n\n handleOk(): void {\n this.props.onOk(this.state.cron);\n this.props.onClose();\n }\n\n setMode(mode: 'simple' | 'complex' | 'wizard'): void {\n this.setState({ mode });\n }\n\n render(): JSX.Element {\n return (\n {}}\n maxWidth=\"md\"\n fullWidth\n sx={{ '& .MuiDialog-paper': styles.dialogPaper }}\n open={!0}\n aria-labelledby=\"cron-dialog-title\"\n >\n {this.props.title || I18n.t('ra_Define schedule...')}\n \n {(this.props.simple && this.props.complex) || (!this.props.simple && !this.props.complex) ? (\n
    \n {!this.props.simple && !this.props.complex && !this.props.noWizard && (\n <>\n this.setMode('wizard')}\n />\n this.setMode('wizard')}\n style={this.state.mode !== 'wizard' ? { color: 'lightgrey' } : {}}\n >\n {I18n.t('sc_wizard')}\n \n \n )}\n\n {((!this.props.simple && !this.props.complex) || this.props.simple) && (\n <>\n this.setMode('simple')}\n />\n this.setMode('simple')}\n style={this.state.mode !== 'simple' ? { color: 'lightgrey' } : {}}\n >\n {I18n.t('sc_simple')}\n \n \n )}\n\n {((!this.props.simple && !this.props.complex) || this.props.complex) && (\n <>\n this.setMode('complex')}\n />\n this.setMode('complex')}\n style={this.state.mode !== 'complex' ? { color: 'lightgrey' } : {}}\n >\n {I18n.t('sc_cron')}\n \n \n )}\n
    \n ) : null}\n\n {this.state.mode === 'simple' && (\n this.setState({ cron })}\n language={I18n.getLanguage()}\n />\n )}\n {this.state.mode === 'wizard' && (\n this.setState({ cron })}\n />\n )}\n {this.state.mode === 'complex' && (\n this.setState({ cron })}\n language={I18n.getLanguage()}\n />\n )}\n
    \n \n this.handleOk()}\n color=\"primary\"\n startIcon={}\n >\n {this.props.ok || I18n.t('ra_Ok')}\n \n this.handleCancel()}\n color=\"grey\"\n startIcon={}\n >\n {this.props.cancel || I18n.t('ra_Cancel')}\n \n \n \n );\n }\n}\n", "/**\n * Copyright 2018-2023 Denis Haev (bluefox) \n *\n * MIT License\n *\n */\n\n// please do not delete React, as without it other projects could not be compiled: ReferenceError: React is not defined\nimport React, { Component, type JSX } from 'react';\n\nimport { Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle } from '@mui/material';\n\nimport { Close as IconClose } from '@mui/icons-material';\n\nimport { I18n } from '../i18n';\n\ninterface DialogMessageProps {\n /* The dialog title; default: Message (translated) */\n title?: string;\n /* The dialog text */\n text: string | React.JSX.Element | React.JSX.Element[];\n /* Close handler. */\n onClose?: () => void;\n /* if the dialog must be fill sized */\n fullWidth?: boolean;\n /* optional icon */\n icon?: React.JSX.Element;\n /* optional ok button text */\n ok?: string;\n}\n\nexport class DialogMessage extends Component {\n handleOk(): void {\n if (this.props.onClose) {\n this.props.onClose();\n }\n }\n\n render(): JSX.Element {\n return (\n this.handleOk()}\n aria-labelledby=\"ar_dialog_message_title\"\n aria-describedby=\"ar_dialog_message_description\"\n >\n {this.props.title || I18n.t('ra_Message')}\n \n \n {this.props.icon || null}\n {this.props.text}\n \n \n \n this.handleOk()}\n color=\"primary\"\n autoFocus\n startIcon={}\n >\n {this.props.ok || I18n.t('ra_Close')}\n \n \n \n );\n }\n}\n", "/*\n * Copyright 2022-2024 Denis Haev (bluefox) \n *\n * MIT License\n *\n */\n// please do not delete React, as without it other projects could not be compiled: ReferenceError: React is not defined\nimport React, { type JSX } from 'react';\n\nimport { Button, DialogTitle, DialogContent, DialogActions, Dialog } from '@mui/material';\n\nimport { Cancel as IconCancel, Check as IconOk } from '@mui/icons-material';\n\nimport type { Connection } from '@iobroker/socket-client';\n\nimport { I18n } from '../i18n';\nimport { FileBrowser } from '../Components/FileBrowser';\nimport type { IobTheme } from '../types';\n\nconst styles: Record = {\n headerID: {\n fontWeight: 'bold',\n fontStyle: 'italic',\n },\n dialog: {\n height: '95%',\n },\n dialogMobile: {\n // it is sx\n padding: '4px',\n width: '100%',\n maxWidth: '100%',\n maxHeight: 'calc(100% - 16px)',\n height: '100%',\n },\n content: {\n height: '100%',\n overflow: 'hidden',\n },\n contentMobile: {\n padding: '8px 4px',\n },\n titleRoot: {\n whiteSpace: 'nowrap',\n width: 'calc(100% - 72px)',\n overflow: 'hidden',\n display: 'inline-block',\n textOverflow: 'ellipsis',\n },\n};\n\ninterface DialogSelectFileProps {\n /** where to store settings in localStorage * @property {string} [title] The dialog title; default: Please select object ID... (translated) */\n dialogName?: string;\n /** The dialog title; default: Please select object ID... (translated) */\n title?: string;\n /** Set to true to allow the selection of multiple IDs. */\n multiSelect?: boolean;\n /** Image prefix. Normally, admin has '../..' and the web has '../' */\n imagePrefix?: string; // Prefix (default: '.')\n /** @deprecated Image prefix */\n prefix?: string;\n /** Show the expert button? */\n showExpertButton?: boolean;\n /** Language */\n lang?: ioBroker.Languages;\n /** Socket class */\n socket: Connection;\n /** Theme name. */\n themeName?: string;\n /** Theme type. */\n themeType?: 'dark' | 'light';\n /** Theme object. */\n theme: IobTheme;\n /** The selected IDs. */\n selected?: string | string[];\n /** The ok button text; default: OK (translated) */\n ok?: string;\n /** The cancel button text; default: Cancel (translated) */\n cancel?: string;\n /** If download of files enabled */\n allowUpload?: boolean;\n /** If download of files enabled */\n allowDownload?: boolean;\n /** If creation of folders enabled */\n allowCreateFolder?: boolean;\n /** If creation of folders enabled */\n allowDelete?: boolean;\n /** if tile view enabled (default true) */\n allowView?: boolean;\n /** Show toolbar (default true) */\n showToolbar?: boolean;\n /** Limit file browser to one specific objectID of type meta and the following path (like vis.0/main) */\n limitPath?: string;\n /** like `['png', 'svg', 'bmp', 'jpg', 'jpeg', 'gif']` */\n filterFiles?: string[];\n /** images, code, txt, audio, video */\n filterByType?: 'images' | 'code' | 'txt';\n /** allow only folder's selection */\n selectOnlyFolders?: boolean;\n /** Close handler that is always called when the dialog is closed. */\n onClose: () => void;\n /** Handler that is called when the user presses OK or by double click. */\n onOk: (selected: string | string[] | undefined) => void;\n /** The styling class names. */\n filters?: Record;\n /** Allow switch views Table<=>Rows */\n showViewTypeButton?: boolean;\n /** If type selector should be shown */\n showTypeSelector?: boolean;\n /** If defined, allow selecting only files from this folder */\n restrictToFolder?: string;\n /** If restrictToFolder defined, allow selecting files outside of this folder */\n allowNonRestricted?: boolean;\n /** force expert mode */\n expertMode?: boolean;\n /** Translate function - optional */\n t?: (text: string, ...args: any[]) => string;\n}\n\ninterface DialogSelectFileState {\n selected: string[];\n}\n\nexport class DialogSelectFile extends React.Component {\n private readonly dialogName: string;\n\n private readonly filters: Record;\n\n constructor(props: DialogSelectFileProps) {\n super(props);\n this.dialogName = this.props.dialogName || 'default';\n this.dialogName = `SelectFile.${this.dialogName}`;\n\n const filters: string = ((window as any)._localStorage || window.localStorage).getItem(this.dialogName) || '{}';\n\n try {\n this.filters = JSON.parse(filters);\n } catch {\n this.filters = {};\n }\n\n if (props.filters) {\n this.filters = { ...this.filters, ...props.filters };\n }\n\n let selected = this.props.selected || [];\n if (typeof selected !== 'object') {\n selected = [selected];\n } else {\n selected = [...selected];\n }\n selected = selected.filter(id => id);\n\n this.state = {\n selected,\n };\n }\n\n handleCancel(): void {\n this.props.onClose();\n }\n\n handleOk(): void {\n this.props.onOk(\n this.props.multiSelect || !Array.isArray(this.state.selected)\n ? this.state.selected\n : this.state.selected[0] || '',\n );\n this.props.onClose();\n }\n\n render(): JSX.Element {\n let title;\n if (this.state.selected.length) {\n if (!Array.isArray(this.state.selected) || this.state.selected.length === 1) {\n title = [\n \n {I18n.t('ra_Selected')}\n  \n ,\n \n {this.state.selected}\n ,\n ];\n } else {\n title = [\n \n {I18n.t('ra_Selected')}\n  \n ,\n \n {I18n.t('%s items', this.state.selected.length)}\n ,\n ];\n }\n } else {\n title = this.props.title || I18n.t('ra_Please select file...');\n }\n\n return (\n {}}\n maxWidth={false}\n sx={{ '& .MuiDialog-paper': { ...styles.dialog, ...styles.dialogMobile } }}\n fullWidth\n open={!0}\n aria-labelledby=\"ar_dialog_selectfile_title\"\n >\n \n {title}\n \n \n {\n this.setState(\n { selected: Array.isArray(selected) ? selected : [selected] },\n () => isDoubleClick && (!this.props.selectOnlyFolders || isFolder) && this.handleOk(),\n );\n }}\n t={this.props.t || I18n.t}\n lang={this.props.lang || I18n.getLanguage()}\n socket={this.props.socket}\n themeType={this.props.themeType}\n themeName={this.props.themeName}\n theme={this.props.theme}\n showExpertButton={this.props.showExpertButton}\n expertMode={this.props.expertMode}\n showTypeSelector={this.props.showTypeSelector}\n />\n \n \n this.handleOk()}\n startIcon={}\n disabled={!this.state.selected.length}\n color=\"primary\"\n >\n {this.props.ok || I18n.t('ra_Ok')}\n \n this.handleCancel()}\n startIcon={}\n >\n {this.props.cancel || I18n.t('ra_Cancel')}\n \n \n \n );\n }\n}\n", "import React, { type JSX } from 'react';\nimport { Button, DialogTitle, DialogContent, DialogActions, Dialog } from '@mui/material';\n\nimport { Check as IconOk, Cancel as IconCancel } from '@mui/icons-material';\n\nimport { SimpleCron } from '../Components/SimpleCron';\n\nimport { I18n } from '../i18n';\n\n// Generates cron expression\n\nconst styles: Record = {\n dialogPaper: {\n height: 'calc(100% - 96px)',\n },\n};\n\ninterface DialogCronProps {\n onClose: () => void;\n onOk: (cron: string) => void;\n title?: string;\n cron?: string;\n cancel?: string;\n ok?: string;\n}\n\ninterface DialogCronState {\n cron: string;\n}\n\nexport class DialogSimpleCron extends React.Component {\n constructor(props: DialogCronProps) {\n super(props);\n\n let cron;\n if (this.props.cron && typeof this.props.cron === 'string' && this.props.cron.replace(/^[\"']/, '')[0] !== '{') {\n cron = this.props.cron.replace(/['\"]/g, '').trim();\n } else {\n cron = this.props.cron || '{}';\n if (typeof cron === 'string') {\n cron = cron.replace(/^[\"']/, '').replace(/[\"']\\n?$/, '');\n }\n }\n\n this.state = {\n cron,\n };\n }\n\n handleCancel(): void {\n this.props.onClose();\n }\n\n handleOk(): void {\n this.props.onOk(this.state.cron);\n this.props.onClose();\n }\n\n render(): JSX.Element {\n return (\n {}}\n maxWidth=\"md\"\n fullWidth\n sx={{ '& .MuiDialog-paper': styles.dialogPaper }}\n open={!0}\n aria-labelledby=\"cron-dialog-title\"\n >\n {this.props.title || I18n.t('ra_Define CRON...')}\n \n this.setState({ cron })}\n language={I18n.getLanguage()}\n />\n \n \n this.handleOk()}\n color=\"primary\"\n startIcon={}\n >\n {this.props.ok || I18n.t('ra_Ok')}\n \n this.handleCancel()}\n color=\"grey\"\n startIcon={}\n >\n {this.props.cancel || I18n.t('ra_Cancel')}\n \n \n \n );\n }\n}\n", "import type {\n NativeData,\n SetStateFunction,\n TriggerObj,\n UsersInGroup,\n ActionNewRowProps,\n RowsSetState,\n TabValueEntries,\n} from '@/types/app';\nimport React from 'react';\nimport { tabValues } from '@/config/entries';\nimport { isTruthy } from './string';\nimport { deepCopy, deleteDoubleEntriesInArray, sortArray } from './Utils';\nimport type { UpdateProps } from '@/types/props-types';\n\nfunction createData(\n element: ActionNewRowProps,\n index: string,\n rowElements: TabValueEntries[],\n): { [key: string]: string } {\n const obj = {};\n rowElements.forEach(entry => {\n obj[entry.name] = element[entry.name] && element[entry.name][index] ? element[entry.name][index] : '';\n });\n return obj;\n}\n\nfunction getRows(\n element: ActionNewRowProps,\n rowElements: TabValueEntries[],\n): { rows: { [key: string]: string }[] | null; trigger: string } {\n if (!element) {\n return { rows: null, trigger: '' };\n }\n\n const rows: { [key: string]: string }[] = [];\n\n let trigger = '';\n if (element.trigger && element.trigger[0]) {\n trigger = element.trigger[0];\n }\n const generateBy = rowElements.find(element => element.elementGetRows !== undefined)?.elementGetRows;\n if (!generateBy) {\n return { rows: null, trigger: '' };\n }\n if (!(element && element[generateBy])) {\n console.error(\n `GenerateBy not found in element, actionUtils.js. Check entries.mjs for ${generateBy} is not a name of an element`,\n );\n }\n\n for (const index in element[generateBy]) {\n const row = createData(element, index, rowElements);\n if (row) {\n rows.push(row);\n }\n }\n return { rows: rows, trigger: trigger };\n}\n\nexport const saveRows = (\n props: { data: { newRow: ActionNewRowProps; tab: { entries: TabValueEntries[] } } },\n setState: SetStateFunction,\n newRow: ActionNewRowProps | [],\n existingRow?: RowsSetState[],\n): void => {\n if (existingRow?.length == 0) {\n const { rows, trigger } = getRows(props.data.newRow, props.data.tab.entries);\n if (!rows) {\n return;\n }\n setState({ trigger, rows });\n return;\n }\n\n const { rows, trigger } = getRows(newRow as ActionNewRowProps, props.data.tab.entries);\n if (!rows) {\n return;\n }\n setState({ trigger, rows });\n};\n\nexport const updateData = (\n { index, val, id }: { id: string; val: string | number | boolean; index: number },\n props: UpdateProps,\n setState: SetStateFunction,\n): void => {\n const newRow = deepCopy(props.data.newRow);\n if (!newRow) {\n return;\n }\n newRow[id][index] = val.toString();\n if (props.callback?.setStateTabActionContent) {\n props.callback.setStateTabActionContent({ newRow: newRow });\n }\n\n saveRows(props, setState, newRow);\n};\n\nexport const updateTrigger = (value: { trigger: string }, props: UpdateProps, setState: SetStateFunction): void => {\n const newRow = deepCopy(props.data.newRow);\n if (!newRow) {\n return;\n }\n newRow.trigger[0] = value.trigger;\n if (props.callback?.setStateTabActionContent) {\n props.callback.setStateTabActionContent({ newRow: newRow });\n }\n saveRows(props, setState, newRow);\n};\n\nexport const addNewRow = (\n index: number,\n props: UpdateProps,\n setState: SetStateFunction,\n cb: SetStateFunction,\n): void => {\n let newRow: ActionNewRowProps | undefined;\n if (index >= 0) {\n newRow = deepCopy(props.data.newRow);\n }\n if (!newRow) {\n return;\n }\n props.data.tab.entries.forEach(element => {\n if (!index && index !== 0 && newRow) {\n newRow[element.name] = [element.val];\n } else if (newRow && element.name !== 'trigger') {\n newRow[element.name].splice(index + 1, 0, element.val);\n }\n });\n cb({ newRow: newRow });\n saveRows(props, setState, newRow);\n};\n\nexport const deleteRow = (index: number, props: UpdateProps, setState: SetStateFunction): void => {\n const newRow = deepCopy(props.data.newRow);\n if (!newRow) {\n return;\n }\n props.data.tab.entries.forEach(element => {\n newRow[element.name].splice(index, 1);\n });\n if (props.callback?.setStateTabActionContent) {\n props.callback.setStateTabActionContent({ newRow: newRow });\n }\n saveRows(props, setState, newRow);\n};\n\nexport const moveItem = (index: number, props: UpdateProps, setState: SetStateFunction, val: number): void => {\n const newRow = deepCopy(props.data.newRow);\n if (!newRow) {\n return;\n }\n props.data.tab.entries.forEach(element => {\n if (element.name !== 'trigger') {\n newRow[element.name].splice(index + val, 0, newRow[element.name].splice(index, 1)[0]);\n }\n });\n if (props.callback?.setStateTabActionContent) {\n props.callback.setStateTabActionContent({ newRow: newRow });\n }\n saveRows(props, setState, newRow);\n};\n\nexport const updateId = (\n selected: string | string[] | undefined,\n props: UpdateProps,\n indexID: number,\n setState: SetStateFunction,\n ID: string,\n): void => {\n const newRow = deepCopy(props.data.newRow);\n if (!newRow) {\n return;\n }\n newRow[ID][indexID] = selected;\n if (props.callback?.setStateTabActionContent) {\n props.callback.setStateTabActionContent({ newRow: newRow });\n }\n saveRows(props, setState, newRow);\n};\nconst disassembleTextToTriggers = (text: string): string[] => {\n const triggerArray: string[] = [];\n let textArray: string[];\n if (text.includes('&&')) {\n textArray = text.split('&&');\n } else {\n textArray = [text];\n }\n if (textArray[0].includes('menu:')) {\n const array = text[0].split(':');\n\n const trigger = array[2];\n if (trigger) {\n triggerArray.push(trigger.trim());\n }\n } else {\n textArray.forEach(element => {\n element.split(',').forEach(word => {\n if (word.trim() != '-') {\n triggerArray.push(word.trim());\n }\n });\n });\n }\n\n return triggerArray;\n};\n\nexport const updateTriggerForSelect = (\n data: NativeData,\n usersInGroup: UsersInGroup,\n activeMenu: string,\n): { usedTrigger: string[]; unUsedTrigger: string[]; triggerObj: TriggerObj } | undefined => {\n const submenu: string[] = [];\n tabValues.forEach(element => {\n if (element.trigger) {\n submenu.push(element.value);\n }\n });\n\n const users = usersInGroup[activeMenu];\n\n let menusToSearchIn: string[] = [];\n\n if (!users) {\n return;\n }\n users.forEach(user => {\n Object.keys(usersInGroup).forEach(group => {\n if (usersInGroup[group].includes(user)) {\n menusToSearchIn.push(group);\n }\n });\n });\n menusToSearchIn = deleteDoubleEntriesInArray(menusToSearchIn);\n\n let usedTrigger: string[] = [];\n let allTrigger: string[] = [];\n const triggerArray: string[] = [];\n const everyTrigger = {};\n\n const triggerObj: TriggerObj = {\n unUsedTrigger: [''],\n everyTrigger: everyTrigger,\n usedTrigger: { nav: {}, action: {} },\n };\n menusToSearchIn.forEach(menu => {\n let triggerInMenu: string[] = [];\n if (!data.nav[menu]) {\n return;\n }\n data.nav[menu].forEach((element, index) => {\n usedTrigger.push(element.call);\n triggerArray.push(element.call);\n const triggerInRow = disassembleTextToTriggers(element.value);\n triggerInMenu = triggerInMenu.concat(triggerInRow);\n allTrigger = allTrigger.concat(triggerInRow);\n\n if (index == data.nav[menu].length - 1) {\n triggerObj.usedTrigger.nav[menu] = [...triggerArray];\n\n triggerObj.everyTrigger[menu] = deleteDoubleEntriesInArray(\n [...triggerInMenu].filter(x => x != '-'),\n ).sort();\n triggerArray.length = 0;\n }\n });\n\n triggerObj.usedTrigger.action[menu] = {};\n const actionTrigger: string[] = [];\n submenu.forEach(sub => {\n if (!data.action[menu][sub]) {\n return;\n }\n data.action[menu][sub].forEach((element, index) => {\n usedTrigger = usedTrigger.concat(element.trigger);\n actionTrigger.push(element.trigger[0]);\n\n if (index == data.action[menu][sub].length - 1) {\n triggerObj.usedTrigger.action[menu][sub] = [...actionTrigger];\n actionTrigger.length = 0;\n }\n });\n });\n });\n\n if (Array.isArray(allTrigger)) {\n allTrigger = deleteDoubleEntriesInArray(allTrigger);\n }\n\n let unUsedTrigger = allTrigger.filter(x => !usedTrigger.includes(x));\n\n if (unUsedTrigger.length > 0) {\n triggerObj.unUsedTrigger = unUsedTrigger;\n }\n unUsedTrigger = sortArray(unUsedTrigger);\n\n return { usedTrigger: usedTrigger, unUsedTrigger: unUsedTrigger, triggerObj: triggerObj };\n};\n\nconst buttonCheck = (): React.ReactElement => {\n return React.createElement(\n 'button',\n { className: 'buttonTrue' },\n React.createElement('span', null, React.createElement('i', { className: 'material-icons' }, 'done')),\n );\n};\n\nconst buttonClose = (): React.ReactElement => {\n return React.createElement(\n 'button',\n { className: 'buttonFalse' },\n React.createElement('span', null, React.createElement('i', { className: 'material-icons' }, 'close')),\n );\n};\n\nexport const getElementIcon = (\n element: string | boolean,\n entry?: TabValueEntries,\n): undefined | React.ReactElement | string => {\n if (!element) {\n return;\n }\n\n if (!entry?.noIcon) {\n if (isTruthy(element)) {\n return buttonCheck();\n }\n if (element === 'false') {\n return buttonClose();\n }\n }\n return element.toString().replace(/&/g, '&');\n};\n\nexport const sortObjectByKey = (usersInGroup: UsersInGroup): UsersInGroup => {\n const newObject = {};\n Object.entries(usersInGroup)\n .sort()\n .forEach(element => {\n newObject[element[0]] = element[1];\n });\n\n return newObject;\n};\n\nexport function updateActiveMenuAndTrigger(\n menu: string,\n setState: SetStateFunction,\n data: NativeData,\n usersInGroup: UsersInGroup,\n): void {\n const result = updateTriggerForSelect(data, usersInGroup, menu);\n if (result) {\n setState({\n unUsedTrigger: result.unUsedTrigger,\n usedTrigger: result.usedTrigger,\n triggerObject: result.triggerObj,\n });\n }\n}\n", "import type { TabValueEntries, TabValues } from '@/types/app';\n\nexport const tabValues: TabValues[] = [\n // Danach noch generateActions anpassen in action.js\n {\n label: 'SetState',\n value: 'set',\n trigger: true, // Wenn Trigger true ist wird hierf\u00FCr UsedTrigger gesucht\n entries: [\n { name: 'trigger', val: '', headline: 'trigger', elementGetRows: 'IDs', required: true },\n { name: 'IDs', val: '', headline: 'ID', width: '20%', required: true },\n { name: 'values', val: '', headline: 'value', width: '10%', required: true, btnCircleAdd: true },\n { name: 'returnText', val: '', headline: 'returnText', width: '40%', required: true, btnCircleAdd: true },\n {\n name: 'ack',\n val: 'false',\n headline: 'Ack',\n title: 'setWithAck',\n checkbox: true,\n width: '3%',\n required: true,\n },\n {\n name: 'confirm',\n val: 'false',\n headline: 'Con',\n title: 'confirmMessage',\n checkbox: true,\n width: '3%',\n required: true,\n },\n {\n name: 'switch_checkbox',\n val: 'false',\n headline: 'Tog',\n title: 'toggle',\n checkbox: true,\n width: '3%',\n required: true,\n },\n {\n name: 'parse_mode',\n val: 'false',\n headline: 'Par',\n title: 'parseMode',\n checkbox: true,\n width: '3%',\n required: true,\n },\n ],\n popupCard: { buttons: { add: true, remove: true, copy: true }, width: '99%', height: '70%' },\n },\n {\n label: 'GetState',\n value: 'get',\n trigger: true,\n entries: [\n { name: 'trigger', val: '', headline: 'trigger', width: '20%', elementGetRows: 'IDs', required: true },\n { name: 'IDs', val: '', headline: 'ID', width: '40%', required: true },\n { name: 'text', val: '', headline: 'text', width: '40%', required: true, btnCircleAdd: true },\n {\n name: 'newline_checkbox',\n val: 'true',\n headline: 'New',\n title: 'newlineCheckbox',\n checkbox: true,\n width: '3%',\n required: true,\n },\n {\n name: 'parse_mode',\n val: 'false',\n headline: 'Par',\n title: 'Parse Mode HTML',\n checkbox: true,\n width: '3%',\n required: true,\n },\n ],\n popupCard: { buttons: { add: true, remove: true, copy: true }, width: '99%', height: '70%' },\n },\n\n {\n label: 'Send Picture',\n value: 'pic',\n trigger: true,\n entries: [\n { name: 'trigger', val: '', headline: 'trigger', width: '20%', elementGetRows: 'IDs', required: true },\n { name: 'IDs', val: '', headline: 'ID', width: '40%', required: true },\n { name: 'fileName', val: '', headline: 'filename', width: '40%', required: true },\n { name: 'picSendDelay', val: '', headline: 'delay', width: '40%', type: 'number', required: true },\n ],\n popupCard: { buttons: { add: true, remove: true }, width: '99%', height: '70%' },\n },\n {\n label: 'Send Location',\n value: 'loc',\n trigger: true,\n entries: [\n { name: 'trigger', val: '', headline: 'trigger', width: '20%', elementGetRows: 'latitude', required: true },\n { name: 'latitude', val: '', headline: 'latitude', width: '20%', search: true, required: true },\n { name: 'longitude', val: '', headline: 'longitude', width: '20%', search: true, required: true },\n {\n name: 'parse_mode',\n val: 'false',\n headline: 'Par',\n title: 'Parse Mode HTML',\n checkbox: true,\n width: '3%',\n required: true,\n },\n ],\n popupCard: { buttons: { add: true, remove: true }, width: '99%', height: '70%' },\n },\n {\n label: 'Events',\n value: 'events',\n trigger: false,\n entries: [\n { name: 'ID', val: '', headline: 'ID', width: '40%', search: true, required: true },\n { name: 'menu', val: '', headline: 'executedMenu', width: '20%', elementGetRows: 'menu', required: true },\n { name: 'condition', val: '', headline: 'conditionMenu', width: '20%', noIcon: true, required: true },\n {\n name: 'ack',\n val: 'false',\n headline: 'Ack',\n title: 'setAck',\n checkbox: true,\n width: '3%',\n required: true,\n },\n ],\n popupCard: { buttons: { add: false, remove: false }, width: '99%', height: '40%' },\n },\n {\n label: 'Echarts',\n value: 'echarts',\n searchRoot: { root: 'echarts', type: ['chart'] }, // Search Root for SelectID\n trigger: true,\n entries: [\n { name: 'trigger', val: '', headline: 'trigger', width: '20%', required: true },\n {\n name: 'preset',\n val: '',\n headline: 'preset',\n width: '40%',\n elementGetRows: 'preset',\n search: true,\n required: true,\n },\n { name: 'background', val: '#FFFFFF', headline: 'background', width: '10%', required: true },\n { name: 'theme', val: 'light', headline: 'theme', width: '10%', required: true },\n { name: 'filename', val: 'echarts-temp-photo.jpg', headline: 'filename', width: '20%', required: true },\n ],\n popupCard: { buttons: { add: true, remove: true }, width: '99%', height: '70%' },\n },\n {\n label: 'Http Request',\n value: 'httpRequest',\n trigger: true,\n entries: [\n { name: 'trigger', val: '', headline: 'trigger', width: '20%', required: true },\n {\n name: 'url',\n val: '',\n headline: 'url',\n width: '20%',\n elementGetRows: 'url',\n search: true,\n required: true,\n },\n { name: 'user', val: '', headline: 'user', width: '20%' },\n { name: 'password', val: '', headline: 'password', password: true, width: '20%' },\n { name: 'filename', val: 'http-request-photo.jpg', headline: 'filename', width: '20%', required: true },\n ],\n popupCard: { buttons: { add: true, remove: true }, width: '99%', height: '70%' },\n },\n];\n// Danach noch generateActions anpassen in action.js\n\nexport const navEntries: TabValueEntries[] = [\n { name: 'call', val: '', headline: 'trigger', width: '25%', editWidth: '98%' },\n { name: 'value', val: '', headline: 'navigation', width: '45%', editWidth: '98%' },\n { name: 'text', val: 'chooseAction', headline: 'text', width: '35%', editWidth: '98%' },\n { name: 'parse_mode', val: 'false', headline: 'Par', title: 'Parse Mode HTML', checkbox: true, width: '10%' },\n];\n", "export function replaceSpaceWithUnderscore(menu: string): string {\n return menu.replace(/ /g, '_');\n}\n\nexport function isTruthy(value: string | number | boolean): boolean {\n return value === '1' || value === 1 || value === true || value === 'true';\n}\n", "export const processUserData = (data: string): { name: string; chatID: string }[] | undefined => {\n try {\n const array: { name: string; chatID: string }[] = [];\n\n const newData = JSON.parse(data);\n Object.keys(newData).forEach(key => {\n const name = newData[key].firstName;\n array.push({ name: name, chatID: key });\n });\n return array;\n } catch (err) {\n console.error(`Error processUserData: ${JSON.stringify(err)}`);\n }\n};\n\nexport const deepCopy = (obj: T): T | undefined => {\n try {\n return JSON.parse(JSON.stringify(obj));\n } catch (err) {\n console.error(`Error deepCopy: ${JSON.stringify(err)}`);\n }\n};\n\nexport const isChecked = (value: string | boolean): boolean => {\n return ['true', true].includes(value);\n};\n\nexport const deleteDoubleEntriesInArray = (arr: T[]): T[] => {\n return arr.filter((item, index) => arr.indexOf(item) === index);\n};\n\nexport const sortArray = (arr: string[]): string[] => {\n arr.sort((a, b) => {\n const lowerCaseA = a.toLowerCase();\n const lowerCaseB = b.toLowerCase();\n\n if (lowerCaseA < lowerCaseB) {\n return -1;\n }\n if (lowerCaseA > lowerCaseB) {\n return 1;\n }\n return 0;\n });\n return arr;\n};\n\nexport const checkObjectOrArray = (obj: object): string => {\n if (typeof obj == 'object' && Array.isArray(obj)) {\n return 'array';\n }\n if (typeof obj == 'object') {\n return 'object';\n }\n return typeof obj;\n};\n", "import type { Dropbox, SetStateFunction } from '@/types/app';\n\nconst drag = { dragStartX: 0, dragStartY: 0, dragEndX: 0, dragEndY: 0 };\n\nexport function onDragStart(event: React.DragEvent | undefined): void {\n if (!event) {\n return;\n }\n drag.dragStartX = event.clientX;\n drag.dragStartY = event.clientY;\n}\n\nexport function onDragEnd(\n event: React.DragEvent | undefined,\n setState: SetStateFunction | undefined,\n): void {\n if (!event) {\n return;\n }\n event.preventDefault();\n drag.dragEndX = event.clientX;\n drag.dragEndY = event.clientY;\n const dropDifferenzY = drag.dragEndY - drag.dragStartY;\n const dropDifferenzX = drag.dragEndX - drag.dragStartX;\n if (setState) {\n setState({ dropDifferenzY: dropDifferenzY, dropDifferenzX: dropDifferenzX });\n }\n}\n\nexport function onDragOver(event: React.DragEvent | undefined): void {\n if (!event) {\n return;\n }\n event.preventDefault();\n}\n\nexport function onDrop(event: React.DragEvent | undefined): void {\n if (!event) {\n return;\n }\n event.preventDefault();\n}\n\nexport function onDrag(event: React.DragEvent | undefined): void {\n if (!event) {\n return;\n }\n event.preventDefault();\n}\n\nexport function onMouseEnter(): void {\n document.querySelectorAll('tr[draggable],span[draggable]').forEach(element => {\n element.classList.add('draggingDropBox');\n });\n}\n\nexport function onMouseLeave(): void {\n document.querySelectorAll('tr[draggable],span[draggable]').forEach(element => {\n (element as HTMLElement).draggable = true;\n element.classList.remove('draggingDropBox');\n });\n}\n\nexport const updatePositionDropBox = (\n newX: Dropbox.newX,\n newY: Dropbox.newY,\n dropboxRef: Dropbox.Ref,\n showDropBox: boolean,\n dropbox: Dropbox.Position,\n): void => {\n if (dropboxRef?.current != null && showDropBox) {\n if (!(newX || newY)) {\n newX = parseInt(dropboxRef.current.style.right.replace('px', ''));\n newY = parseInt(dropboxRef.current.style.top.replace('px', ''));\n }\n const element = document.querySelector('.adapter-container') as HTMLElement;\n const { maxTop, maxRight } = computeMaxPosition(element, dropboxRef);\n\n const { y, x } = calculateNewPosition({ maxTop, maxRight, newX, newY, dropbox });\n\n dropboxRef.current.style.top = `${y}px`;\n dropboxRef.current.style.right = `${x}px`;\n }\n};\nfunction computeMaxPosition(element: HTMLElement, dropboxRef: Dropbox.Ref): { maxTop: number; maxRight: number } {\n return {\n maxTop: element?.offsetHeight - (dropboxRef?.current?.offsetHeight || 0),\n maxRight: element?.offsetWidth - (dropboxRef?.current?.offsetWidth || 0),\n };\n}\n\nfunction calculateNewPosition({\n maxTop,\n maxRight,\n newX,\n newY,\n dropbox,\n}: {\n dropbox: Dropbox.Position;\n newX: Dropbox.newX;\n newY: Dropbox.newY;\n maxTop: number;\n maxRight: number;\n}): { y: number; x: number } {\n if (newY && newX) {\n return { y: adjustYCoordinate(newY, maxTop), x: adjustXCoordinate(newX, maxRight) };\n }\n if (dropbox && dropbox.dropboxRight && dropbox.dropboxTop) {\n return { x: dropbox.dropboxRight, y: dropbox.dropboxTop };\n }\n return { y: 105, x: 5 };\n}\n\nfunction adjustXCoordinate(newX: number, maxRight: number): number {\n if (newX < 1) {\n return 1;\n }\n return newX > maxRight ? maxRight : newX;\n}\n\nfunction adjustYCoordinate(newY: number, maxTop: number): number {\n if (newY < 1) {\n return 1;\n }\n return newY > maxTop ? maxTop : newY;\n}\n", "import type { NativeData, UpdateNativeFunction } from '@/types/app.js';\nimport { deepCopy } from './Utils.js';\n\nconst insertParseModeCheckbox = (data: NativeData): NativeData => {\n const actions = ['set', 'get'];\n Object.keys(data.action).forEach(menu => {\n actions.forEach(action => {\n data.action[menu][action].forEach((_, indexItem) => {\n const element = data.action[menu][action][indexItem];\n\n if (!element.parse_mode) {\n data.action[menu][action][indexItem].parse_mode = ['false'];\n }\n });\n });\n });\n Object.keys(data.nav).forEach(menu => {\n data.nav[menu].forEach((_, indexItem) => {\n const element = data.nav[menu][indexItem];\n\n if (!element.parse_mode) {\n data.nav[menu][indexItem].parse_mode = 'false';\n }\n });\n });\n return data;\n};\n\nconst insertAckCheckbox = (data: NativeData, updateNative: UpdateNativeFunction): void => {\n Object.keys(data.action).forEach(menu => {\n data.action[menu].set.forEach((item, indexItem) => {\n const element = data.action[menu].set[indexItem];\n\n if (!element.ack) {\n data.action[menu].set[indexItem].ack = [];\n } else {\n return;\n }\n element.returnText.map((textItem, textIndex) => {\n let substring = '';\n if (textItem.includes('ack:')) {\n if (textItem.includes('ack:true')) {\n substring = textItem.replace('ack:true', '').replace(' ', ' ');\n data.action[menu].set[indexItem].ack[textIndex] = 'true';\n } else {\n substring = textItem.includes('ack:false')\n ? textItem.replace('ack:false', '').replace(' ', ' ')\n : textItem;\n data.action[menu].set[indexItem].ack[textIndex] = 'false';\n }\n data.action[menu].set[indexItem].returnText[textIndex] = substring;\n return;\n }\n data.action[menu].set[indexItem].ack[textIndex] = 'false';\n });\n });\n });\n\n updateNative('data', data);\n};\n\nexport const insertNewItemsInData = (data: NativeData, updateNative: UpdateNativeFunction): void => {\n if (Object.keys(data).length == 0) {\n return;\n }\n const copyData = deepCopy(data);\n if (!copyData) {\n return;\n }\n insertAckCheckbox(insertParseModeCheckbox(copyData), updateNative);\n};\n\nexport function decomposeText(\n text: string,\n searchValue: string,\n secondValue: string,\n): { startindex: number; endindex: number; substring: string; textWithoutSubstring: string } {\n const startindex = text.indexOf(searchValue);\n const endindex = text.indexOf(secondValue, startindex);\n const substring = text.substring(startindex, endindex + secondValue.length);\n const textWithoutSubstring = text.replace(substring, '').trim();\n return {\n startindex: startindex,\n endindex: endindex,\n substring: substring,\n textWithoutSubstring: textWithoutSubstring,\n };\n}\n", "import type { socket } from '@/types/app';\n\nasync function getUsersFromTelegram(\n socket: socket,\n telegramInstance = 'telegram.0',\n cb: (val: string) => void,\n): Promise {\n try {\n await socket.getState(`${telegramInstance}.communicate.users`).then((state: any) => {\n if (state && state.val) {\n return cb(state.val);\n }\n });\n } catch (err) {\n console.error(`Error get Users vom Telegram: ${JSON.stringify(err)}`);\n }\n}\n\nasync function getAllTelegramInstances(socket: socket, callback: (val: string[]) => void): Promise {\n const IDs: string[] = [];\n try {\n await socket.getObjectViewCustom('system', 'instance', '', '\\u9999').then(objects => {\n Object.keys(objects).forEach(obj => {\n if (isAdapterTelegram(objects, obj)) {\n IDs.push(objects[obj]._id.replace(/^system\\.adapter\\./, ''));\n }\n });\n callback(IDs);\n });\n } catch (err) {\n console.error(`Error getAllTelegramInstance: ${JSON.stringify(err)}`);\n }\n\n function isAdapterTelegram(objects: { [key: string]: { common: { name: string } } }, obj: string): boolean {\n return 'telegram' === objects?.[obj]?.common.name;\n }\n}\n\nconst getIobrokerData = {\n getUsersFromTelegram,\n getAllTelegramInstances,\n};\nexport default getIobrokerData;\n", "import React, { Component } from 'react';\nimport { Grid } from '@mui/material';\nimport HeaderMenu from '@/pages/AppContentHeaderMenu';\nimport HeaderTelegramUsers from '@/pages/AppContentHeaderTelegramUsers';\nimport type { PropsMainActions } from '@/types/app';\n\nclass MainActions extends Component {\n constructor(props: PropsMainActions) {\n super(props);\n this.state = {};\n }\n isSettings(): boolean {\n return this.props.data.state.tab === 'settings';\n }\n\n render(): React.ReactNode {\n return (\n \n {!this.isSettings() ? (\n \n \n \n ) : null}\n \n {!this.isSettings() ? (\n \n ) : null}\n \n \n );\n }\n}\n\nexport default MainActions;\n", "import type { EventButton } from '@/types/event';\nimport React, { Component } from 'react';\nimport Button from '@components/Button';\n\ninterface ButtonExpandProps {\n isOpen: boolean;\n callback: (val: EventButton) => void;\n}\n\nclass ButtonExpand extends Component {\n constructor(props: ButtonExpandProps) {\n super(props);\n this.state = {};\n }\n\n render(): React.ReactNode {\n return (\n \n \n {this.props.isOpen ? 'expand_more' : 'chevron_right'}\n \n \n );\n }\n}\n\nexport default ButtonExpand;\n", "import type { Properties } from 'csstype';\nimport React, { Component } from 'react';\nimport type { ButtonProps } from '@/types/app';\nimport { I18n } from '@iobroker/adapter-react-v5';\n\nclass Button extends Component {\n eventOnclickButton = (event: React.MouseEvent): void => {\n this.props.callback({\n innerText: (event.target as HTMLButtonElement).innerText,\n id: this.props.id,\n value: this.props.callbackValue,\n index: this.props.index,\n event: event,\n });\n };\n\n render(): React.ReactNode {\n const buttonStyle: Properties = {\n backgroundColor: this.props.b_color || '#ddd',\n color: this.props.color || 'black',\n padding: this.props.small === 'true' ? '2px' : this.props.padding ? this.props.padding : '8px 32px',\n textAlign: 'center',\n textDecoration: 'none',\n display: 'inline-block',\n fontSize: this.props.fontSize ? this.props.fontSize : '12px',\n border: this.props.border ? this.props.border : 'none',\n width: this.props.small === 'true' ? '30px' : this.props.width ? this.props.width : '',\n minWidth: this.props.small === 'true' ? '30px' : '60px',\n height: this.props.small === 'true' ? '30px' : this.props.height ? this.props.height : '50px',\n margin: this.props.margin || '0px 0px 0px 0px',\n borderRadius: this.props.round === 'true' ? '50%' : this.props.round ? this.props.round : '0px',\n maxWidth: this.props.maxWidth || '100%',\n verticalAlign: this.props.verticalAlign || 'middle',\n };\n\n return (\n \n {this.props.children}\n \n );\n }\n}\n\nexport default Button;\n", "import ButtonExpand from '@components/btn-Input/btn-expand';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport { Grid } from '@mui/material';\nimport type { PropsHeaderMenu } from '@/types/app';\nimport React, { Component } from 'react';\nimport AppContentHeaderMenuButtons from './AppContentHeaderMenuButtons';\nimport AppContentHeaderMenuList from './AppContentHeaderMenuList';\n\nclass HeaderMenu extends Component {\n eventOnMouse = (event: React.MouseEvent | undefined): void => {\n if (!event) {\n return;\n }\n if (event.type === 'mouseenter') {\n this.props.callback.setStateApp({ showPopupMenuList: true });\n }\n if (event.type === 'mouseleave') {\n this.props.callback.setStateApp({ showPopupMenuList: false });\n }\n };\n\n handleClick = (): void => {\n this.props.callback.setStateApp({ showPopupMenuList: !this.props.data.state.showPopupMenuList });\n };\n\n showList(): boolean {\n return this.props.data.state.showPopupMenuList;\n }\n\n isActiveMenu(): boolean {\n return this.props.data.state.activeMenu != undefined;\n }\n\n render(): React.ReactNode {\n return (\n \n \n \n \n\n {I18n.t('menuList')}\n {this.showList() && this.isActiveMenu() ? (\n \n ) : null}\n \n\n
    \n

    {I18n.t('activeMenu')}

    \n\n \n {this.isActiveMenu() ? this.props.data.state.activeMenu : I18n.t('createMenu')}\n \n
    \n \n \n \n );\n }\n}\n\nexport default HeaderMenu;\n", "import { I18n, Confirm } from '@iobroker/adapter-react-v5';\nimport { Grid } from '@mui/material';\nimport React, { Component } from 'react';\nimport Button from '@components/Button';\nimport Input from '../components/btn-Input/input';\nimport RenameModal from '@components/RenameModal';\nimport type { NativeData, PropsBtnCard, StateBtnCard, UserActiveCheckbox, UsersInGroup } from '@/types/app';\nimport { replaceSpaceWithUnderscore } from '@/lib/string';\nimport { deepCopy } from '@/lib/Utils';\nimport type { EventButton, EventInput } from '@/types/event';\n\nclass BtnCard extends Component {\n constructor(props: PropsBtnCard) {\n super(props);\n this.state = {\n oldMenuName: '',\n newMenuName: '',\n renamedMenuName: '',\n confirmDialog: false,\n renameDialog: false,\n menuNameExists: false,\n isOK: false,\n };\n }\n\n componentDidUpdate(prevProps: Readonly, prevState: Readonly): void {\n if (prevState.oldMenuName !== this.props.data.state.activeMenu) {\n this.setState({\n oldMenuName: this.props.data.state.activeMenu,\n renamedMenuName: this.props.data.state.activeMenu,\n });\n }\n\n if (prevState.newMenuName !== this.state.newMenuName) {\n this.setState({ menuNameExists: this.validateMenuName() });\n }\n\n if (this.state.renamedMenuName) {\n if (prevState.renamedMenuName !== this.state.renamedMenuName) {\n if (this.userChangedMenuName()) {\n this.setState({ isOK: false });\n }\n\n if (!this.props.data.state.native.usersInGroup) {\n return;\n }\n this.setState({ isOK: !this.validateMenuName() });\n }\n }\n }\n\n validateMenuName(): boolean {\n return (\n this.state.renamedMenuName !== '' &&\n !!this.props.data.state.native.usersInGroup?.[this.state.renamedMenuName.replace(/ /g, '_')]\n );\n }\n\n userChangedMenuName(): boolean {\n return this.state.renamedMenuName === this.props.data.state.activeMenu;\n }\n\n addNewMenu = (newMenuName: string, copyMenu: boolean): void => {\n newMenuName = replaceSpaceWithUnderscore(newMenuName);\n let addNewMenu = false;\n const data = deepCopy(this.props.data.state.native.data);\n let userActiveCheckbox = deepCopy(this.props.data.state.native.userActiveCheckbox);\n\n if (!data || !userActiveCheckbox) {\n return;\n }\n\n const usersInGroup = { ...this.props.data.state.native.usersInGroup };\n if (!this.props.data.state.native.data.nav) {\n data.nav = {};\n data.action = {};\n userActiveCheckbox = {};\n addNewMenu = true;\n } else if (newMenuName !== '' && !this.props.data.state.native.data.nav[newMenuName]) {\n if (copyMenu) {\n data.nav[newMenuName] = data.nav[this.state.oldMenuName];\n data.action[newMenuName] = data.action[this.state.oldMenuName];\n userActiveCheckbox[newMenuName] = userActiveCheckbox[this.state.oldMenuName];\n usersInGroup[newMenuName] = usersInGroup[this.state.oldMenuName];\n } else {\n addNewMenu = true;\n }\n } else {\n return;\n }\n if (addNewMenu) {\n data.nav[newMenuName] = [\n {\n call: 'StartSide',\n value: 'Iobroker, Light, Grafana, Weather',\n text: 'chooseAction',\n parse_mode: 'false',\n },\n ];\n data.action[newMenuName] = { get: [], set: [], pic: [], echarts: [], events: [], httpRequest: [] };\n userActiveCheckbox[newMenuName] = false;\n usersInGroup[newMenuName] = [];\n this.setState({ newMenuName: '' });\n }\n\n this.updateNative(data, usersInGroup, userActiveCheckbox);\n\n setTimeout(() => {\n this.props.callback.setStateApp({ activeMenu: newMenuName });\n }, 500);\n };\n\n updateNative(data: NativeData, usersInGroup: UsersInGroup, userActiveCheckbox: UserActiveCheckbox): void {\n this.props.callback.updateNative('data', data, () =>\n this.props.callback.updateNative('usersInGroup', usersInGroup, () =>\n this.props.callback.updateNative('userActiveCheckbox', userActiveCheckbox),\n ),\n );\n }\n\n removeMenu = (menu: string, renameMenu: boolean, newMenu?: string): void => {\n const newObject = deepCopy(this.props.data.state.native.data);\n const copyOfUsersInGroup = deepCopy(this.props.data.state.native.usersInGroup);\n const userActiveCheckbox = deepCopy(this.props.data.state.native.userActiveCheckbox);\n\n if (!copyOfUsersInGroup || !userActiveCheckbox || !newObject) {\n return;\n }\n\n delete newObject.nav[menu];\n delete newObject.action[menu];\n delete userActiveCheckbox[menu];\n delete copyOfUsersInGroup[menu];\n\n this.updateNative(newObject, copyOfUsersInGroup, userActiveCheckbox);\n\n if (renameMenu) {\n this.props.callback.setStateApp({ activeMenu: newMenu });\n return;\n }\n this.setFirstMenuInList(newObject);\n };\n\n openConfirmDialog = (): void => {\n this.setState({ confirmDialog: true });\n };\n\n renameMenu = ({ value }: EventButton): void => {\n if (!value) {\n this.setState({ renameDialog: false });\n return;\n }\n const oldMenuName = this.state.oldMenuName;\n const newMenu = this.state.renamedMenuName;\n if (BtnCard.validateNewMenuName(newMenu, oldMenuName)) {\n return;\n }\n this.addNewMenu(this.state.renamedMenuName, true);\n setTimeout(() => {\n this.removeMenu(oldMenuName, true, newMenu);\n }, 1000);\n this.setState({ renameDialog: false });\n };\n\n static validateNewMenuName(newMenu: string, oldMenuName: string): boolean {\n return newMenu === '' || newMenu == undefined || newMenu === oldMenuName;\n }\n\n openRenameDialog = (): void => {\n this.setState({ renamedMenuName: this.state.oldMenuName });\n this.setState({ renameDialog: true });\n };\n\n buttonAddNewMenuHandler = ({ value }: EventButton): void => {\n this.addNewMenu(value as string, false);\n };\n\n appSetStateHandler = ({ id, value: cbValue }: EventButton): void => {\n this.props.callback.setStateApp({ [id]: cbValue });\n };\n\n private setFirstMenuInList(newObject: NativeData): void {\n const firstMenu = Object.keys(newObject.nav)[0];\n this.props.callback.setStateApp({ activeMenu: firstMenu });\n }\n\n render(): React.ReactNode {\n return (\n <>\n \n this.setState({ newMenuName: val as string })}\n class={this.state.menuNameExists ? 'inUse' : undefined}\n />\n \n\n \n group_add\n {I18n.t('add')}\n \n\n \n delete\n {I18n.t('delete')}\n \n\n \n edit\n {I18n.t('edit')}\n \n\n \n content_copy\n {I18n.t('copy')}\n \n\n \n info\n {I18n.t('overview')}\n \n\n {this.state.confirmDialog ? (\n {\n if (isYes) {\n this.removeMenu(this.state.oldMenuName, false);\n }\n\n this.setState({ confirmDialog: false });\n }}\n />\n ) : null}\n {this.state.renameDialog ? (\n \n ) : null}\n \n );\n }\n}\n\nexport default BtnCard;\n", "import React, { Component } from 'react';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport type { InputProps } from '@/types/app';\nimport type { EventInput } from '@/types/event';\n\nclass Input extends Component {\n onChangeHandler = (event: React.ChangeEvent | undefined): void => {\n const obj: EventInput = { val: event?.target.value, index: this.props.index, id: this.props.id };\n this.props.callback(obj);\n };\n\n render(): React.ReactNode {\n return (\n
    \n \n
    \n );\n }\n}\n\nexport default Input;\n", "import React, { Component } from 'react';\nimport PopupContainer from './popupCards/PopupContainer';\nimport RenameCard from './popupCards/RenameCard';\nimport type { SetStateFunction } from '@/types/app';\nimport type { EventButton } from '@/types/event';\n\ninterface RenameProps {\n title: string;\n rename: (obj: EventButton) => void;\n isOK: boolean;\n value: string;\n setState: SetStateFunction;\n id: string;\n}\n\nclass RenameModal extends Component {\n constructor(props: RenameProps) {\n super(props);\n this.state = {};\n }\n\n render(): React.ReactNode {\n return (\n \n \n \n );\n }\n}\n\nexport default RenameModal;\n", "import React, { Component } from 'react';\nimport Button from '../Button';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport type { Properties } from 'csstype';\nimport type { PropsPopupContainer, StatePopupContainer } from '@/types/app';\n\nclass PopupContainer extends Component {\n constructor(props: PropsPopupContainer) {\n super(props);\n this.state = {\n menuName: this.props.value || '',\n disable: true,\n inUse: false,\n };\n }\n componentDidMount(): void {\n if (this.props.drag) {\n const element = document.querySelector('.DialogBackground') as HTMLElement;\n element.draggable = true;\n }\n }\n //FIXME - css verwenden\n render(): React.ReactNode {\n const DialogContainer: Properties = {\n position: 'absolute',\n top: this.props.top ? this.props.top : '50%',\n left: this.props.left ? this.props.left : '50%',\n right: this.props.right ? this.props.right : '50%',\n transform: 'translate(-50%, -60%)',\n backgroundColor: '#fff',\n width: this.props.width || '400px',\n height: this.props.height || '200px',\n zIndex: '100',\n borderRadius: '4px',\n border: '2px solid #ccc',\n };\n\n return (\n this.props.onDragStart!(event, this.props.setState) : undefined\n }\n onDragEnd={\n this.props.onDragEnd ? event => this.props.onDragEnd!(event, this.props.setState) : undefined\n }\n onDragOver={\n this.props.onDragOver ? event => this.props.onDragOver!(event, this.props.setState) : undefined\n }\n onDrop={this.props.onDrop ? event => this.props.onDrop!(event, this.props.setState) : undefined}\n onDrag={this.props.onDrag ? event => this.props.onDrag!(event, this.props.setState) : undefined}\n onMouseEnter={\n this.props.onMouseEnter ? event => this.props.onMouseEnter!(event, this.props.setState) : undefined\n }\n onMouseLeave={\n this.props.onMouseLeave ? event => this.props.onMouseLeave!(event, this.props.setState) : undefined\n }\n >\n \n
    {this.props.title}
    \n
    \n {this.state.inUse ?

    {I18n.t('Call is already in use!')}

    : null}\n {this.props.children}\n
    \n
    \n {!this.props.closeBtn ? (\n \n {I18n.t(this.props.labelBtnOK ? this.props.labelBtnOK : 'ok')}\n \n ) : null}\n \n {!this.props.closeBtn ? I18n.t('abort') : I18n.t('close')}\n \n
    \n \n \n );\n }\n}\n\nexport default PopupContainer;\n", "import React, { Component } from 'react';\nimport Input from '../btn-Input/input';\nimport type { PropsRenameCard, StateRenameCard } from '@/types/app';\nimport type { EventInput } from '@/types/event';\n\nclass RenameCard extends Component {\n constructor(props: PropsRenameCard) {\n super(props);\n this.state = {};\n }\n\n render(): React.ReactNode {\n return (\n
    \n this.props.callback.setState({ [this.props.id]: val })}\n />\n
    \n );\n }\n}\n\nexport default RenameCard;\n", "import React, { Component } from 'react';\nimport Button from '@components/Button';\nimport type { PropsMenuPopupCard } from '@/types/app';\nimport type { EventButton } from '@/types/event';\n\nclass MenuPopupCard extends Component {\n constructor(props: PropsMenuPopupCard) {\n super(props);\n this.state = {};\n }\n\n componentDidUpdate(prevProps: Readonly): void {\n if (prevProps.usersInGroup !== this.props.usersInGroup) {\n this.menuList = Object.keys(this.props.usersInGroup);\n }\n }\n\n secondCallback = (): void => {\n this.props.callback.setStateApp({ showPopupMenuList: false });\n };\n\n menuList = Object.keys(this.props.usersInGroup);\n\n render(): React.ReactNode {\n return (\n
    \n {this.menuList.map((menu, index) => {\n return (\n {\n this.props.callback.setStateApp({ [id]: innerText });\n this.secondCallback();\n }}\n callbackValue=\"event.target.innerText\"\n >\n {menu}\n \n );\n })}\n
    \n );\n }\n}\nexport default MenuPopupCard;\n", "import type { EventCheckbox } from '@/types/event';\nimport ButtonExpand from '@components/btn-Input/btn-expand';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport { Grid } from '@mui/material';\nimport type { PropsHeaderTelegramUsers, StateHeaderTelegramUsers, UserListWithChatID, UsersInGroup } from '@/types/app';\nimport React, { Component } from 'react';\nimport Checkbox from '../components/btn-Input/checkbox';\nimport AppContentHeaderTelegramUsersUserCard from './AppContentHeaderTelegramUsersUserCard';\nimport AppContentHeaderTelegramUsersErrorMessage from './AppContentHeaderTelegramUsersErrorMessage';\nimport CoverSaveBtn from '@components/CoverSaveBtn';\n\nclass HeaderTelegramUsers extends Component {\n constructor(props: PropsHeaderTelegramUsers) {\n super(props);\n this.state = {\n menuOpen: true,\n errorUserChecked: false,\n menuChecked: false,\n };\n }\n\n componentDidUpdate = (prevProps: Readonly): void => {\n if (prevProps.data.usersInGroup !== this.props.data.usersInGroup) {\n this.checkUserSelection();\n }\n if (prevProps.data.activeMenu !== this.props.data.activeMenu) {\n this.setState({ menuChecked: this.props.data.userActiveCheckbox[this.props.data.activeMenu] });\n }\n };\n\n updateMenuOpen = (): void => {\n this.setState({ menuOpen: !this.state.menuOpen });\n };\n\n menuActiveChecked = (): boolean => {\n return this.props.data.userActiveCheckbox[this.props.data.activeMenu];\n };\n\n clickCheckbox = ({ isChecked }: EventCheckbox): void => {\n if (isChecked) {\n if (!this.checkUserSelection(true)) {\n return;\n }\n } else {\n this.setState({ errorUserChecked: false });\n }\n this.setState({ menuChecked: isChecked });\n this.props.callback.updateNative(`userActiveCheckbox.${this.props.data.activeMenu}`, isChecked);\n };\n\n checkUserSelection = (val?: boolean): boolean => {\n const usersInGroup = this.props.data.usersInGroup;\n if (this.state.menuChecked || val) {\n if (this.isMinOneUserChecked(usersInGroup)) {\n if (\n !HeaderTelegramUsers.checkUsersAreActiveInTelegram(\n usersInGroup[this.props.data.activeMenu],\n this.props.data.state.native?.userListWithChatID,\n )\n ) {\n this.setState({ errorUserChecked: true });\n return false;\n }\n return true;\n }\n }\n return false;\n };\n\n static checkUsersAreActiveInTelegram(activeGroup: string[], userListWithChatID: UserListWithChatID[]): boolean {\n for (const user of activeGroup) {\n if (HeaderTelegramUsers.isUserActiveInTelegram(user, userListWithChatID)) {\n return true;\n }\n }\n return false;\n }\n\n private isMinOneUserChecked(usersInGroup: UsersInGroup): boolean {\n return usersInGroup[this.props.data.activeMenu]?.length > 0;\n }\n\n static isUserActiveInTelegram(user: string, userListWithChatID: UserListWithChatID[]): boolean {\n return userListWithChatID.some(item => item.name === user);\n }\n\n isUserGroupLength(): boolean {\n return Object.keys(this.props.data.usersInGroup).length !== 0;\n }\n\n render(): React.ReactNode {\n return (\n \n \n
    \n {this.isUserGroupLength() ? (\n \n ) : null}\n {this.state.menuOpen && this.isUserGroupLength() ? (\n
    \n
    \n

    \n {I18n.t('telegramUser')} \n {this.state.errorUserChecked ? (\n \n ) : null}\n

    \n {this.props.data.state.native?.userListWithChatID.map((user, key) => {\n return (\n \n );\n })}\n
    \n {this.props.data.state.activeMenu != undefined ? (\n \n ) : null}\n
    \n ) : null}\n
    \n \n {this.state.errorUserChecked ? : null}\n \n );\n }\n}\n\nexport default HeaderTelegramUsers;\n", "import { I18n } from '@iobroker/adapter-react-v5';\nimport React, { Component } from 'react';\nimport type { PropsCheckbox } from '@/types/app';\n\nclass Checkbox extends Component {\n onChangeHandler = (event: React.ChangeEvent): void => {\n this.props.callback({ isChecked: event.target.checked, id: this.props?.id, index: this.props?.index });\n };\n\n render(): React.ReactNode {\n return (\n \n );\n }\n}\n\nexport default Checkbox;\n", "import type { PropsTelegramUserCard, StateTelegramUserCard } from '@/types/app';\nimport React, { Component } from 'react';\nimport Checkbox from '../components/btn-Input/checkbox';\nimport type { EventCheckbox } from '@/types/event';\n\nclass AppContentHeaderTelegramUsersUserCard extends Component {\n constructor(props: PropsTelegramUserCard) {\n super(props);\n this.state = {\n usersInGroup: this.props.data.usersInGroup,\n name: this.props.user.name,\n activeMenu: this.props.data.state.activeMenu,\n };\n }\n\n componentDidUpdate = (): void => {\n if (this.props.data.usersInGroup !== this.state.usersInGroup) {\n this.setState({ usersInGroup: this.props.data.usersInGroup });\n }\n if (this.props.data.state.activeMenu !== this.state.activeMenu) {\n this.setState({ activeMenu: this.props.data.state.activeMenu });\n }\n };\n\n private isUserChecked = (): boolean => {\n if (!this.props.data.usersInGroup || !this.props.data.usersInGroup[this.state.activeMenu]) {\n return false;\n }\n return this.isUserInList();\n };\n\n private isUserInList(): boolean {\n if (!this.state.activeMenu || this.props.data.usersInGroup[this.state.activeMenu].length == 0) {\n return false;\n }\n return this.props.data.usersInGroup[this.state.activeMenu].includes(this.props.user.name);\n }\n\n checkboxClicked = ({ isChecked, id: name }: EventCheckbox): void => {\n if (isChecked) {\n this.props.setState({ errorUserChecked: false });\n }\n const listOfUsers = [...this.props.data.usersInGroup[this.state.activeMenu]];\n if (isChecked && !listOfUsers.includes(name)) {\n listOfUsers.push(name);\n } else {\n const index = listOfUsers.indexOf(name);\n if (index > -1) {\n listOfUsers.splice(index, 1);\n }\n }\n this.props.callback.updateNative(`usersInGroup.${this.state.activeMenu}`, listOfUsers);\n };\n\n render(): React.ReactNode {\n const { name, chatID } = this.props.user;\n return (\n
    \n
    \n

    {name}

    \n \n
    \n

    \n ChatID :{chatID}\n

    \n
    \n );\n }\n}\n\nexport default AppContentHeaderTelegramUsersUserCard;\n", "import { I18n } from '@iobroker/adapter-react-v5';\nimport React, { Component } from 'react';\ninterface AppContentHeaderTelegramUsersErrorMessageProps {\n any?: any;\n}\n\nclass AppContentHeaderTelegramUsersErrorMessage extends Component {\n constructor(props: AppContentHeaderTelegramUsersErrorMessageProps) {\n super(props);\n this.state = {};\n }\n\n static render(): React.ReactNode {\n return {I18n.t('userSelect')};\n }\n}\n\nexport default AppContentHeaderTelegramUsersErrorMessage;\n", "import React, { Component } from 'react';\n/* eslint-disable @typescript-eslint/no-empty-object-type */\ninterface CoverSaveBtnProps {}\nclass CoverSaveBtn extends Component {\n constructor(props: CoverSaveBtnProps) {\n super(props);\n this.state = {};\n }\n /* eslint-disable class-methods-use-this */\n render(): React.ReactNode {\n return
    \n\n \n
  • \n

    {I18n.t('navigationButtons')}

    \n
      \n {this.state.trigger?.everyTrigger[menu].map((trigger, indexTrigger) => {\n return (\n \n \n\n \n {trigger}\n \n \n );\n })}\n
    \n
  • \n
  • {I18n.t('usedTrigger')}
  • \n
  • \n

    nav

    \n
      \n {this.state.trigger?.usedTrigger.nav[menu].map(\n (trigger, indexTrigger) => {\n return (\n \n {this.getColorUsedTriggerNav({\n index: indexUsedTrigger,\n menuCall: menu,\n trigger,\n })?.map((item, i) => (\n \n ))}\n \n {trigger}\n \n \n );\n },\n )}\n
    \n
  • \n\n {this.state.trigger?.usedTrigger.action[menu]\n ? Object.keys(this.state.trigger?.usedTrigger.action[menu]).map(\n (action, index2) => {\n return (\n
  • \n

    {action}

    \n
      \n {(\n this.state.trigger?.usedTrigger.action[menu][\n action\n ] as string[]\n ).map((trigger, index3) => {\n return (\n \n {this.getColorUsedTriggerNav({\n index: indexUsedTrigger,\n menuCall: menu,\n trigger,\n })?.map((item, i) => (\n \n ))}\n \n {trigger}\n \n \n );\n })}\n
    \n
  • \n );\n },\n )\n : null}\n \n \n );\n })}\n \n ) : null}\n \n );\n }\n}\n\nexport default TriggerOverview;\n", "export const colors = [\n 'Aqua',\n // \"Aquamarine\",\n 'Blue',\n 'BlueViolet',\n 'Brown',\n 'BurlyWood',\n 'CadetBlue',\n 'Chartreuse',\n 'Chocolate',\n 'Coral',\n 'CornflowerBlue',\n 'Crimson',\n 'Cyan',\n 'DarkBlue',\n 'DarkCyan',\n 'DarkGoldenRod',\n 'DarkGreen',\n 'DarkKhaki',\n 'DarkMagenta',\n 'DarkOliveGreen',\n 'DarkOrange',\n 'DarkOrchid',\n 'DarkRed',\n 'DarkSalmon',\n 'DarkSeaGreen',\n 'DarkSlateBlue',\n 'DarkSlateGray',\n 'DarkSlateGrey',\n 'DarkTurquoise',\n 'DarkViolet',\n 'DeepPink',\n 'DeepSkyBlue',\n 'DimGray',\n 'DimGrey',\n 'DodgerBlue',\n 'FireBrick',\n 'FloralWhite',\n 'ForestGreen',\n 'Fuchsia',\n 'Gainsboro',\n 'GhostWhite',\n 'Gold',\n 'GoldenRod',\n 'Gray',\n 'Grey',\n 'Green',\n 'GreenYellow',\n 'HoneyDew',\n 'HotPink',\n 'IndianRed',\n 'Indigo',\n 'Ivory',\n 'Khaki',\n 'Lavender',\n 'LavenderBlush',\n 'LawnGreen',\n 'LemonChiffon',\n 'LightBlue',\n 'LightCoral',\n 'LightCyan',\n 'LightGoldenRodYellow',\n 'LightGray',\n 'LightGrey',\n 'LightGreen',\n 'LightPink',\n 'LightSalmon',\n 'LightSeaGreen',\n 'LightSkyBlue',\n 'LightSlateGray',\n 'LightSlateGrey',\n 'LightSteelBlue',\n 'LightYellow',\n 'Lime',\n 'LimeGreen',\n 'Linen',\n 'Magenta',\n 'Maroon',\n 'MediumAquaMarine',\n 'MediumBlue',\n 'MediumOrchid',\n 'MediumPurple',\n 'MediumSeaGreen',\n 'MediumSlateBlue',\n 'MediumSpringGreen',\n 'MediumTurquoise',\n 'MediumVioletRed',\n 'MidnightBlue',\n 'MintCream',\n 'MistyRose',\n 'Moccasin',\n 'NavajoWhite',\n 'Navy',\n 'OldLace',\n 'Olive',\n 'OliveDrab',\n 'Orange',\n 'OrangeRed',\n 'Orchid',\n 'PaleGoldenRod',\n 'PaleGreen',\n 'PaleTurquoise',\n 'PaleVioletRed',\n 'PapayaWhip',\n 'PeachPuff',\n 'Peru',\n 'Pink',\n 'Plum',\n 'PowderBlue',\n 'Purple',\n 'RebeccaPurple',\n 'RosyBrown',\n 'RoyalBlue',\n 'SaddleBrown',\n 'Salmon',\n 'SandyBrown',\n 'SeaGreen',\n 'SeaShell',\n 'Sienna',\n 'Silver',\n 'SkyBlue',\n 'SlateBlue',\n 'SlateGray',\n 'SlateGrey',\n 'Snow',\n 'SpringGreen',\n 'SteelBlue',\n 'Tan',\n 'Teal',\n 'Thistle',\n 'Tomato',\n 'Turquoise',\n 'Violet',\n 'Wheat',\n 'White',\n 'WhiteSmoke',\n 'Yellow',\n 'YellowGreen',\n];\n", "import { I18n } from '@iobroker/adapter-react-v5';\nimport type { PropsSquare, StateSquare } from '@/types/app';\nimport React, { Component } from 'react';\n\nclass Square extends Component {\n constructor(props: PropsSquare) {\n super(props);\n this.state = {\n bColor: '',\n width: 6,\n color: 'black',\n text: '',\n left: '20px',\n fontWeight: 'normal',\n };\n }\n\n getValuesForSquare(): void {\n switch (this.props.color) {\n case 'white':\n if (this.props.trigger == '-') {\n this.setState({ bColor: 'transparent' });\n break;\n }\n this.setState({ bColor: 'white', width: 60, text: 'Not linked', left: '-59px', fontWeight: 'bold' });\n break;\n case 'black':\n this.setState({\n bColor: 'black',\n width: this.props.noText ? 6 : 60,\n color: 'white',\n text: this.props.noText ? '' : 'Unused',\n left: this.props.noText ? '-5px' : '-59px',\n fontWeight: 'bold',\n });\n break;\n\n default:\n if (this.props.trigger != '-') {\n this.setState({ bColor: this.props.color, left: `${-(this.props.position * 10 + 5)}px` });\n } else {\n this.setState({ bColor: 'transparent' });\n }\n break;\n }\n }\n\n componentDidMount(): void {\n this.getValuesForSquare();\n }\n\n componentDidUpdate(prevProps: Readonly): void {\n if (\n this.props.color !== prevProps.color ||\n this.props.trigger !== prevProps.trigger ||\n this.props.position !== prevProps.position\n ) {\n this.getValuesForSquare();\n }\n }\n\n render(): React.ReactNode {\n return (\n
    \n \n {I18n.t(this.state.text)}\n
    \n \n );\n }\n}\n\nexport default Square;\n", "import type { ErrorInfo } from 'react';\n/* eslint-disable no-duplicate-imports */\nimport { Component } from 'react';\n\ninterface State {\n hasError: boolean;\n}\n\ntype ErrorBoundaryProps = any;\n\nclass ErrorBoundary extends Component {\n constructor(props: ErrorBoundaryProps) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError(error: Error): { hasError: boolean } {\n // Aktualisieren Sie den Zustand, sodass der n\u00E4chste Render einen Fallback-UI zeigt\n console.error('ErrorBoundary getDerivedStateFromError:', error);\n return { hasError: true };\n }\n\n static componentDidCatch(error: Error, errorInfo: ErrorInfo): void {\n // Fehlerprotokollierung\n console.error('Error caught by ErrorBoundary:', error, errorInfo);\n }\n\n render(): React.ReactNode {\n // if (this.state.hasError) {\n // \t// Fallback-UI anzeigen\n // \treturn

    Etwas ist schief gelaufen.

    ;\n // }\n\n return this.props.children;\n }\n}\n\nexport default ErrorBoundary;\n", "import { sortObjectByKey, updateActiveMenuAndTrigger } from '@/lib/actionUtils';\nimport { updatePositionDropBox } from '@/lib/movePosition';\nimport { insertNewItemsInData } from '@/lib/newValuesForNewVersion';\nimport getIobrokerData from '@/lib/socket';\nimport AppContent from '@/pages/AppContent';\nimport AppDoubleTriggerInfo from '@/pages/AppDoubleTriggerInfo';\nimport AppDropBox from '@/pages/AppDropBox';\nimport AppHeaderIconBar from '@/pages/AppHeaderIconBar';\nimport AppTriggerOverview from '@/pages/AppTriggerOverview';\nimport ErrorBoundary from '@components/ErrorBoundary';\nimport { AdminConnection, GenericApp } from '@iobroker/adapter-react-v5';\nimport { Grid } from '@mui/material';\nimport type { Dropbox, Native, Nullable, TriggerObject } from '@/types/app.d.ts';\nimport React from 'react';\nimport { getDefaultDropBoxCoordinates } from './lib/dragNDrop';\nimport { getDoubleEntries, getFirstItem as getFirstObjectKey } from './lib/object';\nimport type { TelegramMenuApp } from './types/props-types';\nimport { processUserData } from './lib/Utils';\nimport en from '../i18n/en/translations.json';\nimport de from '../i18n/de/translations.json';\nimport ru from '../i18n/ru/translations.json';\nimport pt from '../i18n/pt/translations.json';\nimport nl from '../i18n/nl/translations.json';\nimport fr from '../i18n/fr/translations.json';\nimport it from '../i18n/it/translations.json';\nimport es from '../i18n/es/translations.json';\nimport pl from '../i18n/pl/translations.json';\nimport uk from '../i18n/uk/translations.json';\nimport zhCN from '../i18n/zh-cn/translations.json';\n\nclass App extends GenericApp {\n dropBoxRef: Dropbox.Ref;\n\n constructor(props: any) {\n const extendedProps: TelegramMenuApp.ExtendedProps = {\n ...props,\n encryptedFields: [],\n Connection: AdminConnection,\n translations: {\n en,\n de,\n ru,\n pt,\n nl,\n fr,\n it,\n es,\n pl,\n uk,\n 'zh-cn': zhCN,\n },\n };\n super(props, extendedProps);\n this.dropBoxRef = React.createRef();\n this.state = {\n ...this.state,\n native: {} as Native,\n tab: 'nav',\n subTab: 'set',\n draggingRowIndex: null,\n activeMenu: '',\n showPopupMenuList: false,\n instances: [],\n popupMenuOpen: false,\n themeName: 'light',\n themeType: 'light',\n unUsedTrigger: [],\n usedTrigger: [],\n triggerObject: {} as TriggerObject,\n showTriggerInfo: false,\n showDropBox: false,\n doubleTrigger: [],\n connectionReady: false,\n dropBoxTop: 105,\n dropBoxRight: 5,\n dropDifferenzX: 0,\n dropDifferenzY: 0,\n copyDataObject: { targetCheckboxes: {}, targetActionName: '' },\n };\n\n this.setState = this.setState.bind(this);\n }\n\n handleResize = (): void => {\n updatePositionDropBox(null, null, this.dropBoxRef, this.state.showDropBox, this.state.native.dropbox);\n };\n\n componentDidMount(): void {\n updatePositionDropBox(this.newX, this.newY, this.dropBoxRef, this.state.showDropBox, this.state.native.dropbox);\n window.addEventListener('resize', this.handleResize);\n }\n\n componentWillUnmount(): void {\n window.removeEventListener('resize', this.handleResize);\n }\n\n newX: Nullable = null;\n newY: Nullable = null;\n async componentDidUpdate(\n prevProps: Readonly,\n prevState: Readonly,\n ): Promise {\n if (prevState.native.instance !== this.state.native.instance && this.state.connectionReady) {\n await this.getUsersFromTelegram();\n }\n if (prevState.native.data !== this.state.native.data || prevState.activeMenu !== this.state.activeMenu) {\n if (this.state.activeMenu && this.state.activeMenu != '') {\n updateActiveMenuAndTrigger(\n this.state.activeMenu,\n this.setState,\n this.state.native.data,\n this.state.native.usersInGroup,\n );\n }\n }\n if (prevState.native.usersInGroup !== this.state.native.usersInGroup) {\n this.updateNativeValue('usersInGroup', sortObjectByKey(this.state.native.usersInGroup));\n }\n if (prevState.usedTrigger !== this.state.usedTrigger) {\n this.setState({ doubleTrigger: getDoubleEntries(this.state.usedTrigger) });\n }\n if (\n prevState.native.dropbox !== this.state.native.dropbox ||\n this.state.showDropBox !== prevState.showDropBox\n ) {\n updatePositionDropBox(\n this.newX,\n this.newY,\n this.dropBoxRef,\n this.state.showDropBox,\n this.state.native.dropbox,\n );\n }\n if (\n prevState.dropDifferenzX !== this.state.dropDifferenzX ||\n prevState.dropDifferenzY !== this.state.dropDifferenzY\n ) {\n const { newX, newY } = getDefaultDropBoxCoordinates(\n this.state.native.dropbox,\n this.state.dropDifferenzX,\n this.state.dropDifferenzY,\n );\n this.newX = newX;\n this.newY = newY;\n const dropbox = { dropboxRight: newX, dropboxTop: newY };\n this.updateNativeValue('dropbox', dropbox);\n updatePositionDropBox(\n this.newX,\n this.newY,\n this.dropBoxRef,\n this.state.showDropBox,\n this.state.native.dropbox,\n );\n }\n }\n\n async onConnectionReady(): Promise {\n insertNewItemsInData(this.state.native.data, this.updateNativeValue.bind(this));\n this.updateNativeValue('usersInGroup', sortObjectByKey(this.state.native.usersInGroup));\n await this.getUsersFromTelegram();\n await getIobrokerData.getAllTelegramInstances(this.socket, (data: string[]) => {\n this.setState({ instances: data });\n });\n const firstMenu = getFirstObjectKey(this.state.native.usersInGroup);\n this.setState({ activeMenu: firstMenu });\n updateActiveMenuAndTrigger(firstMenu, this.setState, this.state.native.data, this.state.native.usersInGroup);\n\n this.setState({ connectionReady: true });\n }\n\n async getUsersFromTelegram(): Promise {\n await getIobrokerData.getUsersFromTelegram(this.socket, this.state.native.instance || 'telegram.0', data => {\n !this.state.native.instance\n ? this.updateNativeValue('instance', 'telegram.0')\n : this.updateNativeValue('userListWithChatID', processUserData(data));\n });\n }\n\n render(): React.ReactElement {\n if (!this.state.loaded) {\n return super.render();\n }\n\n return (\n
    \n \n \n this.setState({ errorText: text.toString() })}\n onLoad={native => this.onLoadConfig(native)}\n instance={this.instance}\n adapterName={this.adapterName}\n changed={this.state.changed}\n onChange={(attr, value, cb) => this.updateNativeValue(attr, value, cb)}\n />\n\n this.updateNativeValue(attr, value, cb),\n }}\n data={{ state: this.state, adapterName: this.adapterName, socket: this.socket }}\n />\n \n {this.state.showDropBox ? (\n this.updateNativeValue(attr, value, cb),\n }}\n />\n ) : null}\n {this.state.showTriggerInfo ? (\n this.updateNativeValue(attr, value, cb),\n }}\n />\n ) : null}\n {this.state.doubleTrigger.length > 0 ? : null}\n {this.renderError()}\n {this.renderToast()}\n {this.renderSaveCloseButtons()}\n \n
    \n );\n }\n}\n\nexport default App;\n", "export const getDoubleEntries = (array: string[]): string[] => {\n const entries = [...array];\n const doubleEntries: string[] = [];\n entries.forEach((element, index) => {\n if (index !== entries.indexOf(element)) {\n if (element != '-') {\n doubleEntries.push(element);\n }\n }\n });\n return doubleEntries;\n};\n\nexport function getFirstItem(obj: { [key: string]: any }): any {\n return Object.keys(obj)[0];\n}\n", "{\r\n \"ID\": \"ID\",\r\n \"IDs\": \"IDs\",\r\n \"abort\": \"Abort\",\r\n \"ack\": \"Ack\",\r\n \"action\": \"Action\",\r\n \"active\": \"Active\",\r\n \"activeMenu\": \"Active Menu:\",\r\n \"add\": \"Add\",\r\n \"addAction\": \"Add new Action\",\r\n \"addMenu\": \"Add new Menu Name\",\r\n \"binding\": \"Bindings: First Var with id then the condition and the text.\",\r\n \"breakpointNewline\": \"Breakpoint for a new line, Only insert this in the Text\",\r\n \"call\": \"Call\",\r\n \"cancel\": \"Cancel\",\r\n \"changeFunction\": \"Changes the value in the return text, in this case from true to on and false to off\",\r\n \"chooseAction\": \"Choose an action\",\r\n \"close\": \"Close\",\r\n \"commonName\": \"Outputs the name of the data point\",\r\n \"condition\": \"Condition\",\r\n \"conditionMenu\": \"Condition to open Menu\",\r\n \"confirm\": \"Confirm\",\r\n \"confirmDelete\": \"All data will be lost. Confirm?\",\r\n \"confirmMessage\": \"Confirm with message\",\r\n \"confirmSet\": \"Attention. The value has only been set but not yet confirmed by the Adapter. You can remove noValue, then the value will displayed. Position && replaced by Value or will be put at the End\",\r\n \"convertsUnixTimestamp\": \"Converts a Unix timestamp to a local time\",\r\n \"copy\": \"Copy\",\r\n \"createMenu\": \"Please create a menu!\",\r\n \"delay\": \"Delay (ms)\",\r\n \"delete\": \"Delete\",\r\n \"directory\": \"Directory\",\r\n \"doubleTrigger\": \"You have double triggers, please remove them!\",\r\n \"edit\": \"Edit\",\r\n \"entryNotFound\": \"Entry not found!\",\r\n \"executedMenu\": \"Executed Menu\",\r\n \"filename\": \"Filename\",\r\n \"hide\": \"Hide\",\r\n \"identification\": \"Identification\",\r\n \"inactive\": \"Inactive\",\r\n \"insertID\": \"To insert an ID, simply insert the block first, select the ID. This will then be automatically inserted in the appropriate place, even if the ID is to be changed. If the code does not recognize the block, the ID is appended to the end.\",\r\n \"instance\": \"Instance\",\r\n \"isSubmenu\": \"This is a Submenu!\",\r\n \"jsonShoppingList\": \"The same as above, but when you click on a button, the item will be deleted,the Key for the Items is `name:`, you can also add `time:`. Important!!! 'shoppinglist' may not be changed.\",\r\n \"jsonTable\": \"!!! To use it, parseMode must not be active !!! Creates a table from a JSON as Text-Table. The first value is one key of the JSON ,behind it is the name of the column. You can use more than two values.The header must be filled in. Don\u00B4t change TextTable.\",\r\n \"latitude\": \"Latitude\",\r\n \"lcTimestamp\": \"LastChange. Converts a Unix timestamp to a local time, the format can be changed, for example to DD.MM.YYYY YY hh:mm:ss:sss\",\r\n \"linkedWith\": \"Is linked with:\",\r\n \"longitude\": \"Longitude\",\r\n \"manuallyValue\": \"This allows you to set a manually value in combination with ID Value, like this: staticValue{id:ID}staticValue\",\r\n \"math\": \"Converts the value, /10 can be replaced\",\r\n \"menu\": \"Menu\",\r\n \"menuBack\": \"When pressed, you jump back to the previous menu\",\r\n \"menuDeleteAll\": \"Generates a button to delete all messages from the bot. The navigation is optional. Simply leave it blank otherwise you can enter a menu that should be called up.\",\r\n \"menuDynamicSwitch\": \"Generates multiply buttons, values can be insert individual. Replace TRIGGER with a unique value. LengthOfRow is optional and can be used to set the number of buttons per row.
    Breaking Change!!!   Please change manually: `[Name1:Value1, Name2:Value2]` to `[Name1|Value1, Name2|Value2]`. Decimal numbers can now also be used as values.\",\r\n \"menuList\": \"Menu list\",\r\n \"menuNumber\": \"The numbers can be completely exchanged. 0-6 indicates the range, and 1 the step size, UNIT is replaced by a unit, but can also be left empty. Replace TRIGGER with a unique value.\",\r\n \"menuPercent\": \"10 can be replaced and indicates the step size 0%, 10%, 20%...! Replace TRIGGER with a unique value. This is used in action SetState. Enter the desired ID. Below value ! insert\",\r\n \"menuSwitch\": \"Generates two buttons, in this case on and off with the respective values true and false. Replace TRIGGER with a unique value.\",\r\n \"menuToCopy\": \"First select the menu to which you want to copy data. Then the line where it should be added. If there is no data yet, click on save and it will be created after querying the new trigger name.\",\r\n \"modifiedSubmenuValue\": \"This allows you to set a modified Submenu Value in combination with a static part , like this: staticValue{value}staticValue\",\r\n \"navigation\": \"Navigation\",\r\n \"navigationButtons\": \"Navigation Buttons\",\r\n \"newlineCheckbox\": \"Newline\",\r\n \"no\": \"No\",\r\n \"noValue\": \"The Value is not specified in the return text\",\r\n \"notifiedByChangeOfAnotherState\": \"If you want to be notified of the change of another data point after you have set the data point in the ID input field. The change will only be shared if it is set with ack:true. It is mandatory to specify a text outside the {}, otherwise it will be added automatically.\",\r\n \"ok\": \"OK\",\r\n \"oneTimeKey\": \"Requests clients to resize the keyboard vertically for optimal fit (e.g., make the keyboard smaller if there are just two rows of buttons). Defaults to false, in which case the custom keyboard is always of the same height as the app's standard keyboard.\",\r\n \"overview\": \"Overview\",\r\n \"parseMode\": \"Parse Mode HTML\",\r\n \"parseModeBold\": \"Text in Parse-Mode is bold\",\r\n \"parseModeCode\": \"Text in Parse-Mode is code\",\r\n \"parseModeItalic\": \"Text in Parse-Mode is italic\",\r\n \"parseModeLink\": \"Text in Parse-Mode is link\",\r\n \"password\": \"Password\",\r\n \"percent\": \"Percent\",\r\n \"picSendDelay\": \"Picture send delay\",\r\n \"placeholderInstance\": \"--Please choose a telegram instance--\",\r\n \"placeholderValue\": \"Placeholder for the value\",\r\n \"reallyDelete\": \"Do you really want to delete this?\",\r\n \"renameMenu\": \"Rename menu name\",\r\n \"returnText\": \"Return text\",\r\n \"save\": \"Save\",\r\n \"select\": \"Select\",\r\n \"selectAMenuDropBox\": \"Select a Menu,select move or copy. Watch out! A user must be active in the selected menu!\",\r\n \"selectTargetMenu\": \"Select a target menu\",\r\n \"sendMenuAfterRestart\": \"Send Menu after Restart\",\r\n \"setAck\": \"Set ack flag\",\r\n \"setDynamicValue\": \"This allows you to write dynamic values \u200B\u200Binto data points. Simply make a call and then you can enter the value in the input field. RequestText: Text to request the value. Type: type of the value(boolean or number). ConfirmText: Text to confirm the value. ID: If you want to confirm from another State, enter the ID here.(This is optional)\",\r\n \"setID\": \"Sets the value of the ID to the val, with ack(confirmed)\",\r\n \"setMenu\": \"Set menu\",\r\n \"setWithAck\": \"Set Value with ack-Flag\",\r\n \"settings\": \"Settings\",\r\n \"startMenus\": \"Start Menus\",\r\n \"startSide\": \"Start side\",\r\n \"statusMenu\": \"Queries the value of the ID and then replaces it with the value, so text can be written around it, it is also possible to use it more than one time in a row. The parameter true is a option to change Value by function change. You have to set it to false if you don\u00B4t change this value, but behind this there is another {status: ... request with change:true.\",\r\n \"submenu\": \"Submenu\",\r\n \"switch\": \"Switch\",\r\n \"switchCheckbox\": \"Switch\",\r\n \"telegramInstance\": \"Telegram Instance\",\r\n \"telegramUser\": \"Users from Telegram\",\r\n \"text\": \"Text\",\r\n \"textNoEntry\": \"Text will be send if no entry was found!\",\r\n \"toggle\": \"Toggle\",\r\n \"trigger\": \"Trigger\",\r\n \"tsTimestamp\": \"TimeStamp. Converts a Unix timestamp to a local time, the format can be changed, for example to DD.MM.YYYY YY hh:mm:ss:sss\",\r\n \"unusedTrigger\": \"Unused Trigger\",\r\n \"url\": \"URL\",\r\n \"usedTrigger\": \"Used Trigger\",\r\n \"user\": \"User\",\r\n \"userList\": \"User List\",\r\n \"userSelect\": \"Please select a user, or deactivate the Menu, bevor you can save!\",\r\n \"value\": \"Value\",\r\n \"valueRound\": \"Rounds the value for example to 2 decimal places\",\r\n \"values\": \"Values\",\r\n \"yes\": \"Yes\"\r\n}\r\n", "{\r\n \"ID\": \"ID\",\r\n \"IDs\": \"ID\",\r\n \"abort\": \"Abbrechen\",\r\n \"ack\": \"Ack\",\r\n \"action\": \"Aktion\",\r\n \"active\": \"Aktiv\",\r\n \"activeMenu\": \"Aktives Men\u00FC:\",\r\n \"add\": \"Hinzuf\u00FCgen\",\r\n \"addAction\": \"Neue Aktion hinzuf\u00FCgen\",\r\n \"addMenu\": \"Neuen Men\u00FCnamen hinzuf\u00FCgen\",\r\n \"binding\": \"Bindungen: Zuerst Var mit ID, dann die Bedingung und der Text.\",\r\n \"breakpointNewline\": \"Haltepunkt f\u00FCr eine neue Zeile. F\u00FCgen Sie diesen nur in den Text ein\",\r\n \"call\": \"Anruf\",\r\n \"cancel\": \"Stornieren\",\r\n \"changeFunction\": \"\u00C4ndert den Wert im R\u00FCckgabetext, in diesem Fall von \u201Etrue\u201C auf \u201Eon\u201C und von \u201Efalse\u201C auf \u201Eoff\u201C.\",\r\n \"chooseAction\": \"W\u00E4hlen Sie eine Aktion\",\r\n \"close\": \"Schlie\u00DFen\",\r\n \"commonName\": \"Gibt den Namen des Datenpunkts aus\",\r\n \"condition\": \"Zustand\",\r\n \"conditionMenu\": \"Bedingung zum \u00D6ffnen des Men\u00FCs\",\r\n \"confirm\": \"Best\u00E4tigen\",\r\n \"confirmDelete\": \"Alle Daten gehen verloren. Best\u00E4tigen?\",\r\n \"confirmMessage\": \"Mit Nachricht best\u00E4tigen\",\r\n \"confirmSet\": \"Aufmerksamkeit. Der Wert wurde vom Adapter nur gesetzt, aber noch nicht best\u00E4tigt. Sie k\u00F6nnen noValue entfernen, dann wird der Wert angezeigt. Position && wird durch Wert ersetzt oder ans Ende gestellt\",\r\n \"convertsUnixTimestamp\": \"Konvertiert einen Unix-Zeitstempel in eine lokale Zeit\",\r\n \"copy\": \"Kopieren\",\r\n \"createMenu\": \"Bitte erstellen Sie ein Men\u00FC!\",\r\n \"delay\": \"Verz\u00F6gerung (ms)\",\r\n \"delete\": \"L\u00F6schen\",\r\n \"directory\": \"Verzeichnis\",\r\n \"doubleTrigger\": \"Sie haben Doppelausl\u00F6ser, bitte entfernen Sie diese!\",\r\n \"edit\": \"Bearbeiten\",\r\n \"entryNotFound\": \"Eintrag nicht gefunden!\",\r\n \"executedMenu\": \"Ausgef\u00FChrtes Men\u00FC\",\r\n \"filename\": \"Dateiname\",\r\n \"hide\": \"Verstecken\",\r\n \"identification\": \"Identifikation\",\r\n \"inactive\": \"Inaktiv\",\r\n \"insertID\": \"Um eine ID einzuf\u00FCgen, f\u00FCgen Sie einfach zuerst den Block ein und w\u00E4hlen Sie die ID aus. Diese wird dann automatisch an der entsprechenden Stelle eingef\u00FCgt, auch wenn die ID ge\u00E4ndert werden soll. Wenn der Code den Block nicht erkennt, wird die ID am Ende angeh\u00E4ngt.\",\r\n \"instance\": \"Beispiel\",\r\n \"isSubmenu\": \"Dies ist ein Untermen\u00FC!\",\r\n \"jsonShoppingList\": \"Das Gleiche wie oben, aber wenn Sie auf eine Schaltfl\u00E4che klicken, wird das Element gel\u00F6scht. Der Schl\u00FCssel f\u00FCr die Elemente ist \u201EName:\u201C, Sie k\u00F6nnen auch \u201EZeit:\u201C hinzuf\u00FCgen. Wichtig!!! 'Einkaufsliste' darf nicht ge\u00E4ndert werden.\",\r\n \"jsonTable\": \"!!! Um es zu verwenden, darf parseMode nicht aktiv sein!!! Erstellt eine Tabelle aus einem JSON als Texttabelle. Der erste Wert ist ein Schl\u00FCssel des JSON, dahinter steht der Name der Spalte. Sie k\u00F6nnen mehr als zwei Werte verwenden. Die Kopfzeile muss ausgef\u00FCllt sein. \u00C4ndern Sie TextTable nicht.\",\r\n \"latitude\": \"Breitengrad\",\r\n \"lcTimestamp\": \"Letzte Bearbeitung. Konvertiert einen Unix-Zeitstempel in eine lokale Zeit. Das Format kann ge\u00E4ndert werden, beispielsweise in TT.MM.JJJJ JJ hh:mm:ss:sss\",\r\n \"linkedWith\": \"Ist verkn\u00FCpft mit:\",\r\n \"longitude\": \"L\u00E4ngengrad\",\r\n \"manuallyValue\": \"Dadurch k\u00F6nnen Sie einen manuellen Wert in Kombination mit dem ID-Wert festlegen, etwa so: staticValue{id:ID}staticValue\",\r\n \"math\": \"Wandelt den Wert um, /10 kann ersetzt werden\",\r\n \"menu\": \"Speisekarte\",\r\n \"menuBack\": \"Beim Dr\u00FCcken springen Sie zur\u00FCck zum vorherigen Men\u00FC\",\r\n \"menuDeleteAll\": \"Erzeugt eine Schaltfl\u00E4che zum L\u00F6schen aller Nachrichten vom Bot. Die Navigation ist optional. Lassen Sie es einfach leer, sonst k\u00F6nnen Sie ein Men\u00FC eingeben, das aufgerufen werden soll.\",\r\n \"menuDynamicSwitch\": \"Erzeugt Multiplikationsschaltfl\u00E4chen, Werte k\u00F6nnen individuell eingegeben werden. Ersetzen Sie TRIGGER durch einen eindeutigen Wert. LengthOfRow ist optional und kann verwendet werden, um die Anzahl der Schaltfl\u00E4chen pro Zeile festzulegen.
    Breaking Change!!! \u00A0 Bitte \u00E4ndern Sie manuell: \u201E[Name1:Wert1, Name2:Wert2]\u201C in \u201E[Name1|Wert1, Name2|Wert2]\u201C. Als Werte k\u00F6nnen nun auch Dezimalzahlen verwendet werden.\",\r\n \"menuList\": \"Men\u00FCliste\",\r\n \"menuNumber\": \"Die Nummern k\u00F6nnen komplett ausgetauscht werden. 0-6 gibt den Bereich und 1 die Schrittweite an, UNIT wird durch eine Einheit ersetzt, kann aber auch leer gelassen werden. Ersetzen Sie TRIGGER durch einen eindeutigen Wert.\",\r\n \"menuPercent\": \"10 ist ersetzbar und gibt die Schrittweite 0%, 10%, 20%... an! Ersetzen Sie TRIGGER durch einen eindeutigen Wert. Dies wird in der Aktion SetState verwendet. Geben Sie die gew\u00FCnschte ID ein. Unter dem Wert! einf\u00FCgen\",\r\n \"menuSwitch\": \"Erzeugt zwei Schaltfl\u00E4chen, in diesem Fall ein und aus, mit den jeweiligen Werten wahr und falsch. Ersetzen Sie TRIGGER durch einen eindeutigen Wert.\",\r\n \"menuToCopy\": \"W\u00E4hlen Sie zun\u00E4chst das Men\u00FC aus, in das Sie Daten kopieren m\u00F6chten. Dann die Zeile, in der es hinzugef\u00FCgt werden soll. Sollten noch keine Daten vorhanden sein, klicken Sie auf Speichern und diese werden nach Abfrage des neuen Triggernamens erstellt.\",\r\n \"modifiedSubmenuValue\": \"Dadurch k\u00F6nnen Sie einen modifizierten Untermen\u00FCwert in Kombination mit einem statischen Teil festlegen, etwa so: staticValue{value}staticValue\",\r\n \"navigation\": \"Navigation\",\r\n \"navigationButtons\": \"Navigationstasten\",\r\n \"newlineCheckbox\": \"Newline\",\r\n \"no\": \"NEIN\",\r\n \"noValue\": \"Der Wert ist im R\u00FCckgabetext nicht angegeben\",\r\n \"notifiedByChangeOfAnotherState\": \"Wenn Sie \u00FCber die \u00C4nderung eines anderen Datenpunkts benachrichtigt werden m\u00F6chten, nachdem Sie den Datenpunkt im Eingabefeld ID festgelegt haben. Die \u00C4nderung wird nur geteilt, wenn sie mit ack:true gesetzt ist. Es ist zwingend erforderlich, einen Text au\u00DFerhalb des {} anzugeben, andernfalls wird er automatisch hinzugef\u00FCgt.\",\r\n \"ok\": \"OK\",\r\n \"oneTimeKey\": \"Fordert Kunden auf, die Gr\u00F6\u00DFe der Tastatur vertikal zu \u00E4ndern, um eine optimale Passform zu erzielen (z. B. die Tastatur kleiner zu machen, wenn nur zwei Tastenreihen vorhanden sind). Der Standardwert ist \u201Efalse\u201C. In diesem Fall hat die benutzerdefinierte Tastatur immer die gleiche H\u00F6he wie die Standardtastatur der App.\",\r\n \"overview\": \"\u00DCberblick\",\r\n \"parseMode\": \"HTML im Analysemodus\",\r\n \"parseModeBold\": \"Text im Parse-Modus ist fett\",\r\n \"parseModeCode\": \"Text im Parse-Modus ist Code\",\r\n \"parseModeItalic\": \"Text im Parse-Modus ist kursiv\",\r\n \"parseModeLink\": \"Text im Parse-Modus ist ein Link\",\r\n \"password\": \"Passwort\",\r\n \"percent\": \"Prozent\",\r\n \"picSendDelay\": \"Verz\u00F6gerung beim Senden von Bildern\",\r\n \"placeholderInstance\": \"--Bitte w\u00E4hlen Sie eine Telegram-Instanz--\",\r\n \"placeholderValue\": \"Platzhalter f\u00FCr den Wert\",\r\n \"reallyDelete\": \"M\u00F6chten Sie das wirklich l\u00F6schen?\",\r\n \"renameMenu\": \"Benennen Sie den Men\u00FCnamen um\",\r\n \"returnText\": \"R\u00FCckgabetext\",\r\n \"save\": \"Speichern\",\r\n \"select\": \"W\u00E4hlen\",\r\n \"selectAMenuDropBox\": \"W\u00E4hlen Sie ein Men\u00FC, w\u00E4hlen Sie \u201EVerschieben\u201C oder \u201EKopieren\u201C. Achtung! Im ausgew\u00E4hlten Men\u00FC muss ein Benutzer aktiv sein!\",\r\n \"selectTargetMenu\": \"W\u00E4hlen Sie ein Zielmen\u00FC aus\",\r\n \"sendMenuAfterRestart\": \"Men\u00FC nach Neustart senden\",\r\n \"setAck\": \"Best\u00E4tigungsflag setzen\",\r\n \"setDynamicValue\": \"Dadurch k\u00F6nnen Sie dynamische Werte in Datenpunkte schreiben. Einfach anrufen und dann den Wert in das Eingabefeld eingeben. RequestText: Text zum Anfordern des Werts. Typ: Typ des Werts (boolescher Wert oder Zahl). Best\u00E4tigungstext: Text zur Best\u00E4tigung des Werts. ID: Wenn Sie aus einem anderen Staat best\u00E4tigen m\u00F6chten, geben Sie hier die ID ein. (Dies ist optional)\",\r\n \"setID\": \"Setzt den Wert der ID auf den Wert, mit ack(best\u00E4tigt)\",\r\n \"setMenu\": \"Men\u00FC\",\r\n \"setWithAck\": \"Wert mit ack-Flag festlegen\",\r\n \"settings\": \"Einstellungen\",\r\n \"startMenus\": \"Startmen\u00FCs\",\r\n \"startSide\": \"Startseite\",\r\n \"statusMenu\": \"Fragt den Wert der ID ab und ersetzt ihn dann durch den Wert, sodass Text um ihn herum geschrieben werden kann. Es ist auch m\u00F6glich, ihn mehrmals hintereinander zu verwenden. Der Parameter true ist eine Option zum \u00C4ndern des Werts durch Funktions\u00E4nderung. Sie m\u00FCssen es auf false setzen, wenn Sie diesen Wert nicht \u00E4ndern, aber dahinter steht eine weitere {status: ...-Anfrage mit change:true.\",\r\n \"submenu\": \"Untermen\u00FC\",\r\n \"switch\": \"Schalten\",\r\n \"switchCheckbox\": \"Schalten\",\r\n \"telegramInstance\": \"Telegram-Instanz\",\r\n \"telegramUser\": \"Benutzer von Telegram\",\r\n \"text\": \"Text\",\r\n \"textNoEntry\": \"Text wird gesendet, wenn kein Eintrag gefunden wurde!\",\r\n \"toggle\": \"Umschalten\",\r\n \"trigger\": \"Ausl\u00F6sen\",\r\n \"tsTimestamp\": \"Zeitstempel. Konvertiert einen Unix-Zeitstempel in eine lokale Zeit. Das Format kann ge\u00E4ndert werden, beispielsweise in TT.MM.JJJJ JJ hh:mm:ss:sss\",\r\n \"unusedTrigger\": \"Unbenutzter Ausl\u00F6ser\",\r\n \"url\": \"URL\",\r\n \"usedTrigger\": \"Benutzter Ausl\u00F6ser\",\r\n \"user\": \"Benutzer\",\r\n \"userList\": \"Benutzerliste\",\r\n \"userSelect\": \"Bitte w\u00E4hlen Sie einen Benutzer aus oder deaktivieren Sie das Men\u00FC, bevor Sie speichern k\u00F6nnen!\",\r\n \"value\": \"Wert\",\r\n \"valueRound\": \"Rundet den Wert beispielsweise auf 2 Dezimalstellen\",\r\n \"values\": \"Werte\",\r\n \"yes\": \"Ja\"\r\n}\r\n", "{\r\n \"ID\": \"\u0418\u0414\u0415\u041D\u0422\u0418\u0424\u0418\u041A\u0410\u0422\u041E\u0420\",\r\n \"IDs\": \"\u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u044B\",\r\n \"abort\": \"\u041F\u0440\u0435\u0440\u0432\u0430\u0442\u044C\",\r\n \"ack\": \"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044E\",\r\n \"action\": \"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435\",\r\n \"active\": \"\u0410\u043A\u0442\u0438\u0432\u043D\u044B\u0439\",\r\n \"activeMenu\": \"\u0410\u043A\u0442\u0438\u0432\u043D\u043E\u0435 \u043C\u0435\u043D\u044E:\",\r\n \"add\": \"\u0414\u043E\u0431\u0430\u0432\u043B\u044F\u0442\u044C\",\r\n \"addAction\": \"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u043E\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\",\r\n \"addMenu\": \"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u043E\u0435 \u0438\u043C\u044F \u043C\u0435\u043D\u044E\",\r\n \"binding\": \"\u041F\u0440\u0438\u0432\u044F\u0437\u043A\u0438: \u0441\u043D\u0430\u0447\u0430\u043B\u0430 Var \u0441 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u043E\u043C, \u0437\u0430\u0442\u0435\u043C \u0443\u0441\u043B\u043E\u0432\u0438\u0435 \u0438 \u0442\u0435\u043A\u0441\u0442.\",\r\n \"breakpointNewline\": \"\u0422\u043E\u0447\u043A\u0430 \u043E\u0441\u0442\u0430\u043D\u043E\u0432\u0430 \u0434\u043B\u044F \u043D\u043E\u0432\u043E\u0439 \u0441\u0442\u0440\u043E\u043A\u0438. \u0412\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0435\u0435 \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u0442\u0435\u043A\u0441\u0442.\",\r\n \"call\": \"\u0412\u044B\u0437\u043E\u0432\",\r\n \"cancel\": \"\u041E\u0442\u043C\u0435\u043D\u0430\",\r\n \"changeFunction\": \"\u0418\u0437\u043C\u0435\u043D\u044F\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043C\u043E\u043C \u0442\u0435\u043A\u0441\u0442\u0435, \u0432 \u0434\u0430\u043D\u043D\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435 \u0441 true \u043D\u0430 on \u0438 \u0441 false \u043D\u0430 off.\",\r\n \"chooseAction\": \"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\",\r\n \"close\": \"\u0417\u0430\u043A\u0440\u044B\u0432\u0430\u0442\u044C\",\r\n \"commonName\": \"\u0412\u044B\u0432\u043E\u0434\u0438\u0442 \u0438\u043C\u044F \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u043D\u044B\u0445\",\r\n \"condition\": \"\u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435\",\r\n \"conditionMenu\": \"\u0423\u0441\u043B\u043E\u0432\u0438\u0435 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u044F \u043C\u0435\u043D\u044E\",\r\n \"confirm\": \"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0442\u044C\",\r\n \"confirmDelete\": \"\u0412\u0441\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 \u0431\u0443\u0434\u0443\u0442 \u043F\u043E\u0442\u0435\u0440\u044F\u043D\u044B. \u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0442\u044C?\",\r\n \"confirmMessage\": \"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435\u043C\",\r\n \"confirmSet\": \"\u0412\u043D\u0438\u043C\u0430\u043D\u0438\u0435. \u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0442\u043E\u043B\u044C\u043A\u043E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E, \u043D\u043E \u0435\u0449\u0435 \u043D\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u043E \u0430\u0434\u0430\u043F\u0442\u0435\u0440\u043E\u043C. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C noValue, \u0442\u043E\u0433\u0434\u0430 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C\u0441\u044F. \u041F\u043E\u0437\u0438\u0446\u0438\u044F && \u0437\u0430\u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C \u0438\u043B\u0438 \u0431\u0443\u0434\u0435\u0442 \u043F\u043E\u043C\u0435\u0449\u0435\u043D\u0430 \u0432 \u043A\u043E\u043D\u0435\u0446\",\r\n \"convertsUnixTimestamp\": \"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E \u043C\u0435\u0442\u043A\u0443 Unix \u0432 \u043C\u0435\u0441\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F.\",\r\n \"copy\": \"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C\",\r\n \"createMenu\": \"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0441\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u043C\u0435\u043D\u044E!\",\r\n \"delay\": \"\u0417\u0430\u0434\u0435\u0440\u0436\u043A\u0430 (\u043C\u0441)\",\r\n \"delete\": \"\u0423\u0434\u0430\u043B\u0438\u0442\u044C\",\r\n \"directory\": \"\u041A\u0430\u0442\u0430\u043B\u043E\u0433\",\r\n \"doubleTrigger\": \"\u0423 \u0432\u0430\u0441 \u0435\u0441\u0442\u044C \u0434\u0432\u043E\u0439\u043D\u044B\u0435 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u044B, \u043F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0443\u0434\u0430\u043B\u0438\u0442\u0435 \u0438\u0445!\",\r\n \"edit\": \"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C\",\r\n \"entryNotFound\": \"\u0417\u0430\u043F\u0438\u0441\u044C \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430!\",\r\n \"executedMenu\": \"\u0412\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u043D\u043E\u0435 \u043C\u0435\u043D\u044E\",\r\n \"filename\": \"\u0418\u043C\u044F \u0444\u0430\u0439\u043B\u0430\",\r\n \"hide\": \"\u0421\u043A\u0440\u044B\u0432\u0430\u0442\u044C\",\r\n \"identification\": \"\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044F\",\r\n \"inactive\": \"\u041D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u044B\u0439\",\r\n \"insertID\": \"\u0427\u0442\u043E\u0431\u044B \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440, \u043F\u0440\u043E\u0441\u0442\u043E \u0441\u043D\u0430\u0447\u0430\u043B\u0430 \u0432\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0431\u043B\u043E\u043A, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440. \u0417\u0430\u0442\u0435\u043C \u043E\u043D \u0431\u0443\u0434\u0435\u0442 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0432\u0441\u0442\u0430\u0432\u043B\u0435\u043D \u0432 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0435\u0435 \u043C\u0435\u0441\u0442\u043E, \u0434\u0430\u0436\u0435 \u0435\u0441\u043B\u0438 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C. \u0415\u0441\u043B\u0438 \u043A\u043E\u0434 \u043D\u0435 \u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u0435\u0442 \u0431\u043B\u043E\u043A, \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0432 \u043A\u043E\u043D\u0435\u0446.\",\r\n \"instance\": \"\u041F\u0440\u0438\u043C\u0435\u0440\",\r\n \"isSubmenu\": \"\u042D\u0442\u043E \u043F\u043E\u0434\u043C\u0435\u043D\u044E!\",\r\n \"jsonShoppingList\": \"\u0422\u043E \u0436\u0435, \u0447\u0442\u043E \u0438 \u0432\u044B\u0448\u0435, \u043D\u043E \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0443 \u044D\u043B\u0435\u043C\u0435\u043D\u0442 \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043B\u0435\u043D. \u041A\u043B\u044E\u0447\u043E\u043C \u0434\u043B\u044F \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F `name:`, \u0432\u044B \u0442\u0430\u043A\u0436\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C `time:`. \u0412\u0430\u0436\u043D\u043E!!! \u00AB\u0421\u043F\u0438\u0441\u043E\u043A \u043F\u043E\u043A\u0443\u043F\u043E\u043A\u00BB \u043D\u0435\u043B\u044C\u0437\u044F \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C.\",\r\n \"jsonTable\": \"!!! \u0427\u0442\u043E\u0431\u044B \u0435\u0433\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C, parseMode \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u043C!!! \u0421\u043E\u0437\u0434\u0430\u0435\u0442 \u0442\u0430\u0431\u043B\u0438\u0446\u0443 \u0438\u0437 JSON \u0432 \u0432\u0438\u0434\u0435 \u0442\u0435\u043A\u0441\u0442\u043E\u0432\u043E\u0439 \u0442\u0430\u0431\u043B\u0438\u0446\u044B. \u041F\u0435\u0440\u0432\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u2014 \u044D\u0442\u043E \u043E\u0434\u0438\u043D \u043A\u043B\u044E\u0447 JSON, \u0437\u0430 \u043D\u0438\u043C \u2014 \u0438\u043C\u044F \u0441\u0442\u043E\u043B\u0431\u0446\u0430. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0431\u043E\u043B\u0435\u0435 \u0434\u0432\u0443\u0445 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439. \u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D. \u041D\u0435 \u043C\u0435\u043D\u044F\u0439\u0442\u0435 TextTable.\",\r\n \"latitude\": \"\u0428\u0438\u0440\u043E\u0442\u0430\",\r\n \"lcTimestamp\": \"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435. \u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E \u043C\u0435\u0442\u043A\u0443 Unix \u0432 \u043C\u0435\u0441\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F, \u0444\u043E\u0440\u043C\u0430\u0442 \u043C\u043E\u0436\u043D\u043E \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u043D\u0430 \u0414\u0414.\u041C\u041C.\u0413\u0413\u0413\u0413 \u0413\u0413 \u0447\u0447:\u043C\u043C:\u0441\u0441:\u0441\u0441\",\r\n \"linkedWith\": \"\u0421\u0432\u044F\u0437\u0430\u043D\u043E \u0441:\",\r\n \"longitude\": \"\u0414\u043E\u043B\u0433\u043E\u0442\u0430\",\r\n \"manuallyValue\": \"\u042D\u0442\u043E \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0432\u0430\u043C \u0432\u0440\u0443\u0447\u043D\u0443\u044E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 \u0441\u043E\u0447\u0435\u0442\u0430\u043D\u0438\u0438 \u0441\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0430, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440: staticValue{id:ID}staticValue.\",\r\n \"math\": \"\u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435, /10 \u043C\u043E\u0436\u043D\u043E \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C\",\r\n \"menu\": \"\u041C\u0435\u043D\u044E\",\r\n \"menuBack\": \"\u041F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u0432\u044B \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0435\u0441\u044C \u0432 \u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u0435 \u043C\u0435\u043D\u044E.\",\r\n \"menuDeleteAll\": \"\u0421\u043E\u0437\u0434\u0430\u0435\u0442 \u043A\u043D\u043E\u043F\u043A\u0443 \u0434\u043B\u044F \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u0432\u0441\u0435\u0445 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439 \u043E\u0442 \u0431\u043E\u0442\u0430. \u041D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F \u043D\u0435 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0439. \u041F\u0440\u043E\u0441\u0442\u043E \u043E\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u044D\u0442\u043E \u043F\u043E\u043B\u0435 \u043F\u0443\u0441\u0442\u044B\u043C, \u0438\u043D\u0430\u0447\u0435 \u0432\u044B \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u043E\u0439\u0442\u0438 \u0432 \u043C\u0435\u043D\u044E, \u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0432\u044B\u0437\u0432\u0430\u0442\u044C.\",\r\n \"menuDynamicSwitch\": \"\u0413\u0435\u043D\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043A\u043D\u043E\u043F\u043A\u0438 \u0443\u043C\u043D\u043E\u0436\u0435\u043D\u0438\u044F, \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u043C\u043E\u0436\u043D\u043E \u0432\u0441\u0442\u0430\u0432\u043B\u044F\u0442\u044C \u0438\u043D\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043B\u044C\u043D\u043E. \u0417\u0430\u043C\u0435\u043D\u0438\u0442\u0435 TRIGGER \u0443\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C. \u0414\u043B\u0438\u043D\u0430OfRow \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0439 \u0438 \u043C\u043E\u0436\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0434\u043B\u044F \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043A\u043D\u043E\u043F\u043E\u043A \u0432 \u0441\u0442\u0440\u043E\u043A\u0435.
    \u041A\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435!!! \u00A0 \u0418\u0437\u043C\u0435\u043D\u0438\u0442\u0435 \u0432\u0440\u0443\u0447\u043D\u0443\u044E: `[Name1:Value1, Name2:Value2]` \u043D\u0430 `[Name1|Value1, Name2|Value2]`. \u0414\u0435\u0441\u044F\u0442\u0438\u0447\u043D\u044B\u0435 \u0447\u0438\u0441\u043B\u0430 \u0442\u0435\u043F\u0435\u0440\u044C \u0442\u0430\u043A\u0436\u0435 \u043C\u043E\u0436\u043D\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0432 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439.\",\r\n \"menuList\": \"\u0421\u043F\u0438\u0441\u043E\u043A \u043C\u0435\u043D\u044E\",\r\n \"menuNumber\": \"\u041D\u043E\u043C\u0435\u0440\u0430 \u043C\u043E\u0436\u043D\u043E \u043F\u043E\u043B\u043D\u043E\u0441\u0442\u044C\u044E \u043F\u043E\u043C\u0435\u043D\u044F\u0442\u044C. 0\u20136 \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D, \u0430 1 \u2014 \u0440\u0430\u0437\u043C\u0435\u0440 \u0448\u0430\u0433\u0430, UNIT \u0437\u0430\u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F \u0435\u0434\u0438\u043D\u0438\u0446\u0435\u0439, \u043D\u043E \u0442\u0430\u043A\u0436\u0435 \u043C\u043E\u0436\u043D\u043E \u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043F\u0443\u0441\u0442\u044B\u043C. \u0417\u0430\u043C\u0435\u043D\u0438\u0442\u0435 TRIGGER \u0443\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C.\",\r\n \"menuPercent\": \"10 \u043C\u043E\u0436\u043D\u043E \u0437\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0438 \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u0440\u0430\u0437\u043C\u0435\u0440 \u0448\u0430\u0433\u0430 0%, 10%, 20%...! \u0417\u0430\u043C\u0435\u043D\u0438\u0442\u0435 TRIGGER \u0443\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C. \u042D\u0442\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438 SetState. \u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0436\u0435\u043B\u0430\u0435\u043C\u044B\u0439 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440. \u041D\u0438\u0436\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F! \u0432\u0441\u0442\u0430\u0432\u043B\u044F\u0442\u044C\",\r\n \"menuSwitch\": \"\u0421\u043E\u0437\u0434\u0430\u0435\u0442 \u0434\u0432\u0435 \u043A\u043D\u043E\u043F\u043A\u0438, \u0432 \u0434\u0430\u043D\u043D\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435 \u00AB\u0432\u043A\u043B\u00BB \u0438 \u00AB\u0432\u044B\u043A\u043B\u00BB \u0441 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u043C\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F\u043C\u0438 true \u0438 false. \u0417\u0430\u043C\u0435\u043D\u0438\u0442\u0435 TRIGGER \u0443\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C.\",\r\n \"menuToCopy\": \"\u0421\u043D\u0430\u0447\u0430\u043B\u0430 \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043C\u0435\u043D\u044E, \u0432 \u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435. \u0417\u0430\u0442\u0435\u043C \u0441\u0442\u0440\u043E\u043A\u0430, \u043A\u0443\u0434\u0430 \u0435\u0433\u043E \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C. \u0415\u0441\u043B\u0438 \u0434\u0430\u043D\u043D\u044B\u0445 \u0435\u0449\u0435 \u043D\u0435\u0442, \u043D\u0430\u0436\u043C\u0438\u0442\u0435 \u00AB\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C\u00BB, \u0438 \u043E\u043D\u0438 \u0431\u0443\u0434\u0443\u0442 \u0441\u043E\u0437\u0434\u0430\u043D\u044B \u043F\u043E\u0441\u043B\u0435 \u0437\u0430\u043F\u0440\u043E\u0441\u0430 \u043D\u043E\u0432\u043E\u0433\u043E \u0438\u043C\u0435\u043D\u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430.\",\r\n \"modifiedSubmenuValue\": \"\u042D\u0442\u043E \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0432\u0430\u043C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u043E\u0434\u043C\u0435\u043D\u044E \u0432 \u0441\u043E\u0447\u0435\u0442\u0430\u043D\u0438\u0438 \u0441\u043E \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0439 \u0447\u0430\u0441\u0442\u044C\u044E, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440: staticValue{value}staticValue\",\r\n \"navigation\": \"\u041D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F\",\r\n \"navigationButtons\": \"\u041A\u043D\u043E\u043F\u043A\u0438 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438\",\r\n \"newlineCheckbox\": \"\u041D\u043E\u0432\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430\",\r\n \"no\": \"\u041D\u0435\u0442\",\r\n \"noValue\": \"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u043E \u0432 \u0442\u0435\u043A\u0441\u0442\u0435 \u0432\u043E\u0437\u0432\u0440\u0430\u0442\u0430\",\r\n \"notifiedByChangeOfAnotherState\": \"\u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043E\u0431 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0438 \u0434\u0440\u0443\u0433\u043E\u0439 \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u043D\u044B\u0445 \u043F\u043E\u0441\u043B\u0435 \u0442\u043E\u0433\u043E, \u043A\u0430\u043A \u0432\u044B \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u043B\u0438 \u0442\u043E\u0447\u043A\u0443 \u0434\u0430\u043D\u043D\u044B\u0445 \u0432 \u043F\u043E\u043B\u0435 \u0432\u0432\u043E\u0434\u0430 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0430. \u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u043E\u043F\u0443\u0431\u043B\u0438\u043A\u043E\u0432\u0430\u043D\u043E \u0442\u043E\u043B\u044C\u043A\u043E \u0432 \u0442\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435, \u0435\u0441\u043B\u0438 \u0434\u043B\u044F \u043D\u0435\u0433\u043E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 ack:true. \u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u0443\u043A\u0430\u0436\u0438\u0442\u0435 \u0442\u0435\u043A\u0441\u0442 \u0437\u0430 \u043F\u0440\u0435\u0434\u0435\u043B\u0430\u043C\u0438 {}, \u0438\u043D\u0430\u0447\u0435 \u043E\u043D \u0431\u0443\u0434\u0435\u0442 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438.\",\r\n \"ok\": \"\u0425\u041E\u0420\u041E\u0428\u041E\",\r\n \"oneTimeKey\": \"\u041F\u0440\u043E\u0441\u0438\u0442 \u043A\u043B\u0438\u0435\u043D\u0442\u043E\u0432 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0440 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B \u043F\u043E \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u0438 \u0434\u043B\u044F \u043E\u043F\u0442\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044F (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0443\u043C\u0435\u043D\u044C\u0448\u0438\u0442\u044C \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0443, \u0435\u0441\u043B\u0438 \u043D\u0430 \u043D\u0435\u0439 \u0432\u0441\u0435\u0433\u043E \u0434\u0432\u0430 \u0440\u044F\u0434\u0430 \u043A\u043D\u043E\u043F\u043E\u043A). \u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 false. \u0412 \u044D\u0442\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0430\u044F \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0430 \u0432\u0441\u0435\u0433\u0434\u0430 \u0438\u043C\u0435\u0435\u0442 \u0442\u0443 \u0436\u0435 \u0432\u044B\u0441\u043E\u0442\u0443, \u0447\u0442\u043E \u0438 \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0430\u044F \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0430 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F.\",\r\n \"overview\": \"\u041E\u0431\u0437\u043E\u0440\",\r\n \"parseMode\": \"\u0420\u0435\u0436\u0438\u043C \u0430\u043D\u0430\u043B\u0438\u0437\u0430 HTML\",\r\n \"parseModeBold\": \"\u0422\u0435\u043A\u0441\u0442 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0430\u043D\u0430\u043B\u0438\u0437\u0430 \u0432\u044B\u0434\u0435\u043B\u0435\u043D \u0436\u0438\u0440\u043D\u044B\u043C \u0448\u0440\u0438\u0444\u0442\u043E\u043C.\",\r\n \"parseModeCode\": \"\u0422\u0435\u043A\u0441\u0442 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0430\u043D\u0430\u043B\u0438\u0437\u0430 \u2014 \u044D\u0442\u043E \u043A\u043E\u0434\",\r\n \"parseModeItalic\": \"\u0422\u0435\u043A\u0441\u0442 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0430\u043D\u0430\u043B\u0438\u0437\u0430 \u0432\u044B\u0434\u0435\u043B\u0435\u043D \u043A\u0443\u0440\u0441\u0438\u0432\u043E\u043C.\",\r\n \"parseModeLink\": \"\u0422\u0435\u043A\u0441\u0442 \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0441\u0438\u043D\u0442\u0430\u043A\u0441\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0430\u043D\u0430\u043B\u0438\u0437\u0430 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0441\u0441\u044B\u043B\u043A\u043E\u0439\",\r\n \"password\": \"\u041F\u0430\u0440\u043E\u043B\u044C\",\r\n \"percent\": \"\u041F\u0440\u043E\u0446\u0435\u043D\u0442\",\r\n \"picSendDelay\": \"\u0417\u0430\u0434\u0435\u0440\u0436\u043A\u0430 \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F\",\r\n \"placeholderInstance\": \"--\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 Telegram--\",\r\n \"placeholderValue\": \"\u0417\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F\",\r\n \"reallyDelete\": \"\u0412\u044B \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u044D\u0442\u043E?\",\r\n \"renameMenu\": \"\u041F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u0442\u044C \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043C\u0435\u043D\u044E\",\r\n \"returnText\": \"\u0412\u043E\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043C\u044B\u0439 \u0442\u0435\u043A\u0441\u0442\",\r\n \"save\": \"\u0421\u043E\u0445\u0440\u0430\u043D\u044F\u0442\u044C\",\r\n \"select\": \"\u0412\u044B\u0431\u0438\u0440\u0430\u0442\u044C\",\r\n \"selectAMenuDropBox\": \"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043C\u0435\u043D\u044E, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u0438\u043B\u0438 \u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435. \u041E\u0441\u0442\u043E\u0440\u043E\u0436\u043D\u043E! \u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u0435\u043D \u0432 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u043C \u043C\u0435\u043D\u044E!\",\r\n \"selectTargetMenu\": \"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0446\u0435\u043B\u0435\u0432\u043E\u0435 \u043C\u0435\u043D\u044E\",\r\n \"sendMenuAfterRestart\": \"\u041C\u0435\u043D\u044E \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438 \u043F\u043E\u0441\u043B\u0435 \u043F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438\",\r\n \"setAck\": \"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0444\u043B\u0430\u0433 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F\",\r\n \"setDynamicValue\": \"\u042D\u0442\u043E \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0437\u0430\u043F\u0438\u0441\u044B\u0432\u0430\u0442\u044C \u0434\u0438\u043D\u0430\u043C\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0432 \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u043D\u044B\u0445. \u041F\u0440\u043E\u0441\u0442\u043E \u043F\u043E\u0437\u0432\u043E\u043D\u0438\u0442\u0435, \u0430 \u0437\u0430\u0442\u0435\u043C \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 \u043F\u043E\u043B\u0435 \u0432\u0432\u043E\u0434\u0430. RequestText: \u0442\u0435\u043A\u0441\u0442 \u0434\u043B\u044F \u0437\u0430\u043F\u0440\u043E\u0441\u0430 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F. \u0422\u0438\u043F: \u0442\u0438\u043F \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F (\u043B\u043E\u0433\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0438\u043B\u0438 \u0447\u0438\u0441\u043B\u043E\u0432\u043E\u0435). ConfirmText: \u0442\u0435\u043A\u0441\u0442 \u0434\u043B\u044F \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F. \u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440: \u0415\u0441\u043B\u0438 \u0432\u044B \u0445\u043E\u0442\u0438\u0442\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C \u0438\u0437 \u0434\u0440\u0443\u0433\u043E\u0433\u043E \u0448\u0442\u0430\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044C \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440. (\u042D\u0442\u043E \u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E).\",\r\n \"setID\": \"\u0423\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0430 val \u0441 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u0435\u043C (\u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u043E).\",\r\n \"setMenu\": \"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043C\u0435\u043D\u044E\",\r\n \"setWithAck\": \"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E ack-Flag\",\r\n \"settings\": \"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438\",\r\n \"startMenus\": \"\u041C\u0435\u043D\u044E \u00AB\u041F\u0443\u0441\u043A\u00BB\",\r\n \"startSide\": \"\u0421\u0442\u0430\u0440\u0442\u043E\u0432\u0430\u044F \u0441\u0442\u043E\u0440\u043E\u043D\u0430\",\r\n \"statusMenu\": \"\u0417\u0430\u043F\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0430, \u0430 \u0437\u0430\u0442\u0435\u043C \u0437\u0430\u043C\u0435\u043D\u044F\u0435\u0442 \u0435\u0433\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435\u043C, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u0432\u043E\u043A\u0440\u0443\u0433 \u043D\u0435\u0433\u043E \u043C\u043E\u0436\u043D\u043E \u043F\u0438\u0441\u0430\u0442\u044C \u0442\u0435\u043A\u0441\u0442, \u0430 \u0442\u0430\u043A\u0436\u0435 \u043C\u043E\u0436\u043D\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0435\u0433\u043E \u0431\u043E\u043B\u0435\u0435 \u043E\u0434\u043D\u043E\u0433\u043E \u0440\u0430\u0437\u0430 \u043F\u043E\u0434\u0440\u044F\u0434. \u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 true \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u0443\u0442\u0435\u043C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0444\u0443\u043D\u043A\u0446\u0438\u0438. \u0412\u0430\u043C \u043F\u0440\u0438\u0434\u0435\u0442\u0441\u044F \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 false, \u0435\u0441\u043B\u0438 \u0432\u044B \u043D\u0435 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u0435 \u044D\u0442\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435, \u043D\u043E \u0437\u0430 \u044D\u0442\u0438\u043C \u0441\u0442\u043E\u0438\u0442 \u0434\u0440\u0443\u0433\u043E\u0439 \u0437\u0430\u043F\u0440\u043E\u0441 {status: ... \u0441 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435\u043C: true.\",\r\n \"submenu\": \"\u041F\u043E\u0434\u043C\u0435\u043D\u044E\",\r\n \"switch\": \"\u0412\u044B\u043A\u043B\u044E\u0447\u0430\u0442\u0435\u043B\u044C\",\r\n \"switchCheckbox\": \"\u0412\u044B\u043A\u043B\u044E\u0447\u0430\u0442\u0435\u043B\u044C\",\r\n \"telegramInstance\": \"\u042D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u0422\u0435\u043B\u0435\u0433\u0440\u0430\u043C\u043C\u044B\",\r\n \"telegramUser\": \"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0438 \u0438\u0437 Telegram\",\r\n \"text\": \"\u0422\u0435\u043A\u0441\u0442\",\r\n \"textNoEntry\": \"\u0422\u0435\u043A\u0441\u0442 \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D, \u0435\u0441\u043B\u0438 \u0437\u0430\u043F\u0438\u0441\u044C \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430!\",\r\n \"toggle\": \"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u044C\",\r\n \"trigger\": \"\u041A\u0443\u0440\u043E\u043A\",\r\n \"tsTimestamp\": \"\u0412\u0440\u0435\u043C\u0435\u043D\u043D\u0430\u044F \u043C\u0435\u0442\u043A\u0430. \u041F\u0440\u0435\u043E\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E \u043C\u0435\u0442\u043A\u0443 Unix \u0432 \u043C\u0435\u0441\u0442\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F, \u0444\u043E\u0440\u043C\u0430\u0442 \u043C\u043E\u0436\u043D\u043E \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u043D\u0430 \u0414\u0414.\u041C\u041C.\u0413\u0413\u0413\u0413 \u0413\u0413 \u0447\u0447:\u043C\u043C:\u0441\u0441:\u0441\u0441\",\r\n \"unusedTrigger\": \"\u041D\u0435\u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\",\r\n \"url\": \"URL-\u0430\u0434\u0440\u0435\u0441\",\r\n \"usedTrigger\": \"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u0439 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\",\r\n \"user\": \"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\",\r\n \"userList\": \"\u0421\u043F\u0438\u0441\u043E\u043A \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u0439\",\r\n \"userSelect\": \"\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F \u0438\u043B\u0438 \u0434\u0435\u0430\u043A\u0442\u0438\u0432\u0438\u0440\u0443\u0439\u0442\u0435 \u043C\u0435\u043D\u044E, \u043F\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043C \u0432\u044B \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C!\",\r\n \"value\": \"\u0426\u0435\u043D\u0438\u0442\u044C\",\r\n \"valueRound\": \"\u041E\u043A\u0440\u0443\u0433\u043B\u044F\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0434\u043E 2 \u0434\u0435\u0441\u044F\u0442\u0438\u0447\u043D\u044B\u0445 \u0437\u043D\u0430\u043A\u043E\u0432.\",\r\n \"values\": \"\u0426\u0435\u043D\u043D\u043E\u0441\u0442\u0438\",\r\n \"yes\": \"\u0414\u0430\"\r\n}\r\n", "{\r\n \"ID\": \"EU IA\",\r\n \"IDs\": \"IDs\",\r\n \"abort\": \"Abortar\",\r\n \"ack\": \"Confirmar\",\r\n \"action\": \"A\u00E7\u00E3o\",\r\n \"active\": \"Ativo\",\r\n \"activeMenu\": \"Menu Ativo:\",\r\n \"add\": \"Adicionar\",\r\n \"addAction\": \"Adicionar nova a\u00E7\u00E3o\",\r\n \"addMenu\": \"Adicionar novo nome de menu\",\r\n \"binding\": \"Vincula\u00E7\u00F5es: primeiro Var com id, depois a condi\u00E7\u00E3o e o texto.\",\r\n \"breakpointNewline\": \"Ponto de interrup\u00E7\u00E3o para uma nova linha, insira apenas isso no texto\",\r\n \"call\": \"Chamar\",\r\n \"cancel\": \"Cancelar\",\r\n \"changeFunction\": \"Altera o valor no texto de retorno, neste caso de verdadeiro para ativado e falso para desativado\",\r\n \"chooseAction\": \"Escolha uma a\u00E7\u00E3o\",\r\n \"close\": \"Fechar\",\r\n \"commonName\": \"Produz o nome do ponto de dados\",\r\n \"condition\": \"Doen\u00E7a\",\r\n \"conditionMenu\": \"Condi\u00E7\u00E3o para abrir Menu\",\r\n \"confirm\": \"Confirmar\",\r\n \"confirmDelete\": \"Todos os dados ser\u00E3o perdidos. Confirmar?\",\r\n \"confirmMessage\": \"Confirme com mensagem\",\r\n \"confirmSet\": \"Aten\u00E7\u00E3o. O valor foi apenas definido, mas ainda n\u00E3o confirmado pelo Adaptador. Voc\u00EA pode remover noValue e o valor ser\u00E1 exibido. Posi\u00E7\u00E3o && substitu\u00EDda por Valor ou ser\u00E1 colocada no final\",\r\n \"convertsUnixTimestamp\": \"Converte um carimbo de data/hora Unix em uma hora local\",\r\n \"copy\": \"C\u00F3pia\",\r\n \"createMenu\": \"Por favor, crie um menu!\",\r\n \"delay\": \"Atraso (ms)\",\r\n \"delete\": \"Excluir\",\r\n \"directory\": \"Diret\u00F3rio\",\r\n \"doubleTrigger\": \"Voc\u00EA tem gatilhos duplos, remova-os!\",\r\n \"edit\": \"Editar\",\r\n \"entryNotFound\": \"Entrada n\u00E3o encontrada!\",\r\n \"executedMenu\": \"Menu Executado\",\r\n \"filename\": \"Nome do arquivo\",\r\n \"hide\": \"Esconder\",\r\n \"identification\": \"Identifica\u00E7\u00E3o\",\r\n \"inactive\": \"Inativo\",\r\n \"insertID\": \"Para inserir um ID, basta inserir primeiro o bloco e selecionar o ID. Este ser\u00E1 ent\u00E3o inserido automaticamente no local apropriado, mesmo que o ID deva ser alterado. Se o c\u00F3digo n\u00E3o reconhecer o bloco, o ID ser\u00E1 anexado ao final.\",\r\n \"instance\": \"Exemplo\",\r\n \"isSubmenu\": \"Este \u00E9 um submenu!\",\r\n \"jsonShoppingList\": \"O mesmo que acima, mas quando voc\u00EA clica em um bot\u00E3o, o item ser\u00E1 exclu\u00EDdo, a chave para os itens \u00E9 `nome:`, voc\u00EA tamb\u00E9m pode adicionar `tempo:`. Importante!!! 'lista de compras' n\u00E3o pode ser alterada.\",\r\n \"jsonTable\": \"!!! Para us\u00E1-lo, parseMode n\u00E3o deve estar ativo!!! Cria uma tabela a partir de um JSON como Text-Table. O primeiro valor \u00E9 uma chave do JSON, atr\u00E1s dele est\u00E1 o nome da coluna. Voc\u00EA pode usar mais de dois valores. O cabe\u00E7alho deve ser preenchido. N\u00E3o altere TextTable.\",\r\n \"latitude\": \"Latitude\",\r\n \"lcTimestamp\": \"\u00DAltima mudan\u00E7a. Converte um carimbo de data/hora Unix em uma hora local, o formato pode ser alterado, por exemplo, para DD.MM.AAAA AA hh:mm:ss:sss\",\r\n \"linkedWith\": \"Est\u00E1 vinculado a:\",\r\n \"longitude\": \"Longitude\",\r\n \"manuallyValue\": \"Isso permite que voc\u00EA defina um valor manualmente em combina\u00E7\u00E3o com o valor do ID, como este: staticValue{id:ID}staticValue\",\r\n \"math\": \"Converte o valor, /10 pode ser substitu\u00EDdo\",\r\n \"menu\": \"Menu\",\r\n \"menuBack\": \"Quando pressionado, voc\u00EA volta ao menu anterior\",\r\n \"menuDeleteAll\": \"Gera um bot\u00E3o para excluir todas as mensagens do bot. A navega\u00E7\u00E3o \u00E9 opcional. Simplesmente deixe em branco, caso contr\u00E1rio voc\u00EA poder\u00E1 entrar em um menu que deve ser acessado.\",\r\n \"menuDynamicSwitch\": \"Gera bot\u00F5es de multiplica\u00E7\u00E3o, os valores podem ser inseridos individualmente. Substitua TRIGGER por um valor exclusivo. LengthOfRow \u00E9 opcional e pode ser usado para definir o n\u00FAmero de bot\u00F5es por linha.
    Altera\u00E7\u00E3o significativa!!! \u00A0 Altere manualmente: `[Nome1:Valor1, Nome2:Valor2]` para `[Nome1|Valor1, Nome2|Valor2]`. Os n\u00FAmeros decimais agora tamb\u00E9m podem ser usados \u200B\u200Bcomo valores.\",\r\n \"menuList\": \"Lista de card\u00E1pios\",\r\n \"menuNumber\": \"Os n\u00FAmeros podem ser totalmente trocados. 0-6 indica o intervalo e 1 o tamanho do passo, UNIT \u00E9 substitu\u00EDdo por uma unidade, mas tamb\u00E9m pode ser deixado em branco. Substitua TRIGGER por um valor exclusivo.\",\r\n \"menuPercent\": \"10 pode ser substitu\u00EDdo e indica o tamanho do passo 0%, 10%, 20%...! Substitua TRIGGER por um valor exclusivo. Isso \u00E9 usado na a\u00E7\u00E3o SetState. Insira o ID desejado. Abaixo do valor! inserir\",\r\n \"menuSwitch\": \"Gera dois bot\u00F5es, neste caso liga e desliga com os respectivos valores verdadeiro e falso. Substitua TRIGGER por um valor exclusivo.\",\r\n \"menuToCopy\": \"Primeiro selecione o menu para o qual deseja copiar os dados. Em seguida, a linha onde deve ser adicionado. Caso ainda n\u00E3o haja dados, clique em salvar e ele ser\u00E1 criado ap\u00F3s consultar o novo nome do trigger.\",\r\n \"modifiedSubmenuValue\": \"Isso permite que voc\u00EA defina um valor de submenu modificado em combina\u00E7\u00E3o com uma parte est\u00E1tica, como esta: staticValue{value}staticValue\",\r\n \"navigation\": \"Navega\u00E7\u00E3o\",\r\n \"navigationButtons\": \"Bot\u00F5es de navega\u00E7\u00E3o\",\r\n \"newlineCheckbox\": \"Nova linha\",\r\n \"no\": \"N\u00E3o\",\r\n \"noValue\": \"O valor n\u00E3o \u00E9 especificado no texto de retorno\",\r\n \"notifiedByChangeOfAnotherState\": \"Se voc\u00EA deseja ser notificado sobre a altera\u00E7\u00E3o de outro ponto de dados depois de definir o ponto de dados no campo de entrada ID. A altera\u00E7\u00E3o s\u00F3 ser\u00E1 compartilhada se estiver definida com ack:true. \u00C9 obrigat\u00F3rio especificar um texto fora do {}, caso contr\u00E1rio ele ser\u00E1 adicionado automaticamente.\",\r\n \"ok\": \"OK\",\r\n \"oneTimeKey\": \"Solicita que os clientes redimensionem o teclado verticalmente para um ajuste ideal (por exemplo, diminuam o tamanho do teclado se houver apenas duas fileiras de bot\u00F5es). O padr\u00E3o \u00E9 falso; nesse caso, o teclado personalizado ter\u00E1 sempre a mesma altura do teclado padr\u00E3o do aplicativo.\",\r\n \"overview\": \"Vis\u00E3o geral\",\r\n \"parseMode\": \"HTML do modo de an\u00E1lise\",\r\n \"parseModeBold\": \"O texto no modo Parse est\u00E1 em negrito\",\r\n \"parseModeCode\": \"Texto no modo Parse \u00E9 c\u00F3digo\",\r\n \"parseModeItalic\": \"O texto no modo Parse est\u00E1 em it\u00E1lico\",\r\n \"parseModeLink\": \"O texto no modo de an\u00E1lise \u00E9 o link\",\r\n \"password\": \"Senha\",\r\n \"percent\": \"Por cento\",\r\n \"picSendDelay\": \"Atraso no envio de imagem\",\r\n \"placeholderInstance\": \"--Por favor, escolha uma inst\u00E2ncia do telegrama--\",\r\n \"placeholderValue\": \"Espa\u00E7o reservado para o valor\",\r\n \"reallyDelete\": \"Voc\u00EA realmente deseja excluir isso?\",\r\n \"renameMenu\": \"Renomear nome do menu\",\r\n \"returnText\": \"Texto de retorno\",\r\n \"save\": \"Salvar\",\r\n \"select\": \"Selecione\",\r\n \"selectAMenuDropBox\": \"Selecione um menu, selecione mover ou copiar. Aten\u00E7\u00E3o! Um usu\u00E1rio deve estar ativo no menu selecionado!\",\r\n \"selectTargetMenu\": \"Selecione um menu de destino\",\r\n \"sendMenuAfterRestart\": \"Enviar menu ap\u00F3s reiniciar\",\r\n \"setAck\": \"Definir sinalizador de confirma\u00E7\u00E3o\",\r\n \"setDynamicValue\": \"Isso permite gravar valores din\u00E2micos em pontos de dados. Basta fazer uma chamada e inserir o valor no campo de entrada. RequestText: Texto para solicitar o valor. Tipo: tipo do valor (booleano ou n\u00FAmero). ConfirmText: Texto para confirmar o valor. ID: Se voc\u00EA deseja confirmar de outro estado, insira o ID aqui.(Isso \u00E9 opcional)\",\r\n \"setID\": \"Define o valor do ID para val, com ack(confirmado)\",\r\n \"setMenu\": \"Definir card\u00E1pio\",\r\n \"setWithAck\": \"Definir valor com ack-Flag\",\r\n \"settings\": \"Configura\u00E7\u00F5es\",\r\n \"startMenus\": \"Menus iniciais\",\r\n \"startSide\": \"Lado inicial\",\r\n \"statusMenu\": \"Consulta o valor do ID e depois o substitui pelo valor, para que possa ser escrito texto ao redor dele, tamb\u00E9m \u00E9 poss\u00EDvel utiliz\u00E1-lo mais de uma vez seguida. O par\u00E2metro true \u00E9 uma op\u00E7\u00E3o para alterar o valor por altera\u00E7\u00E3o da fun\u00E7\u00E3o. Voc\u00EA deve defini-lo como falso se n\u00E3o alterar esse valor, mas por tr\u00E1s disso existe outro {status: ... solicita\u00E7\u00E3o com altera\u00E7\u00E3o: verdadeiro.\",\r\n \"submenu\": \"Submenu\",\r\n \"switch\": \"Trocar\",\r\n \"switchCheckbox\": \"Trocar\",\r\n \"telegramInstance\": \"Inst\u00E2ncia de telegrama\",\r\n \"telegramUser\": \"Usu\u00E1rios do Telegram\",\r\n \"text\": \"Texto\",\r\n \"textNoEntry\": \"O texto ser\u00E1 enviado se nenhuma entrada for encontrada!\",\r\n \"toggle\": \"Alternar\",\r\n \"trigger\": \"Acionar\",\r\n \"tsTimestamp\": \"Carimbo de hora. Converte um carimbo de data/hora Unix em uma hora local, o formato pode ser alterado, por exemplo, para DD.MM.AAAA AA hh:mm:ss:sss\",\r\n \"unusedTrigger\": \"Gatilho n\u00E3o utilizado\",\r\n \"url\": \"URL\",\r\n \"usedTrigger\": \"Gatilho usado\",\r\n \"user\": \"Usu\u00E1rio\",\r\n \"userList\": \"Lista de usu\u00E1rios\",\r\n \"userSelect\": \"Selecione um usu\u00E1rio ou desative o Menu antes de salvar!\",\r\n \"value\": \"Valor\",\r\n \"valueRound\": \"Arredonda o valor, por exemplo, para 2 casas decimais\",\r\n \"values\": \"Valores\",\r\n \"yes\": \"Sim\"\r\n}\r\n", "{\r\n \"ID\": \"Identiteitskaart\",\r\n \"IDs\": \"ID's\",\r\n \"abort\": \"Afbreken\",\r\n \"ack\": \"Ak\",\r\n \"action\": \"Actie\",\r\n \"active\": \"Actief\",\r\n \"activeMenu\": \"Actief menu:\",\r\n \"add\": \"Toevoegen\",\r\n \"addAction\": \"Nieuwe actie toevoegen\",\r\n \"addMenu\": \"Nieuwe menunaam toevoegen\",\r\n \"binding\": \"Bindingen: eerst Var met id, daarna de voorwaarde en de tekst.\",\r\n \"breakpointNewline\": \"Breekpunt voor een nieuwe regel. Voeg dit alleen in de tekst in\",\r\n \"call\": \"Telefoongesprek\",\r\n \"cancel\": \"Annuleren\",\r\n \"changeFunction\": \"Verandert de waarde in de retourtekst, in dit geval van true naar on en false naar off\",\r\n \"chooseAction\": \"Kies een actie\",\r\n \"close\": \"Dichtbij\",\r\n \"commonName\": \"Voert de naam van het gegevenspunt uit\",\r\n \"condition\": \"Voorwaarde\",\r\n \"conditionMenu\": \"Voorwaarde om Menu te openen\",\r\n \"confirm\": \"Bevestigen\",\r\n \"confirmDelete\": \"Alle gegevens gaan verloren. Bevestigen?\",\r\n \"confirmMessage\": \"Bevestig met bericht\",\r\n \"confirmSet\": \"Aandacht. De waarde is alleen ingesteld, maar nog niet bevestigd door de adapter. U kunt noValue verwijderen, waarna de waarde wordt weergegeven. Positie && vervangen door Waarde of wordt aan het Einde gezet\",\r\n \"convertsUnixTimestamp\": \"Converteert een Unix-tijdstempel naar een lokale tijd\",\r\n \"copy\": \"Kopi\u00EBren\",\r\n \"createMenu\": \"Maak alstublieft een menu aan!\",\r\n \"delay\": \"Vertraging (ms)\",\r\n \"delete\": \"Verwijderen\",\r\n \"directory\": \"Directory\",\r\n \"doubleTrigger\": \"U heeft dubbele triggers, verwijder deze alstublieft!\",\r\n \"edit\": \"Bewerking\",\r\n \"entryNotFound\": \"Invoer niet gevonden!\",\r\n \"executedMenu\": \"Uitgevoerd menu\",\r\n \"filename\": \"Bestandsnaam\",\r\n \"hide\": \"Verbergen\",\r\n \"identification\": \"Identificatie\",\r\n \"inactive\": \"Inactief\",\r\n \"insertID\": \"Om een \u200B\u200BID in te voegen, voegt u eenvoudigweg eerst het blok in en selecteert u de ID. Deze wordt dan automatisch op de juiste plaats ingevoegd, ook als de ID moet worden gewijzigd. Als de code het blok niet herkent, wordt de ID aan het einde toegevoegd.\",\r\n \"instance\": \"Aanleg\",\r\n \"isSubmenu\": \"Dit is een submenu!\",\r\n \"jsonShoppingList\": \"Hetzelfde als hierboven, maar wanneer u op een knop klikt, wordt het item verwijderd. De sleutel voor de items is `naam:`, u kunt ook `tijd:` toevoegen. Belangrijk!!! 'boodschappenlijstje' mag niet worden gewijzigd.\",\r\n \"jsonTable\": \"!!! Om het te gebruiken, mag parseMode niet actief zijn !!! Cre\u00EBert een tabel van een JSON als teksttabel. De eerste waarde is \u00E9\u00E9n sleutel van de JSON, daarachter staat de naam van de kolom. U kunt meer dan twee waarden gebruiken. De header moet worden ingevuld. Wijzig de TextTable niet.\",\r\n \"latitude\": \"Breedte\",\r\n \"lcTimestamp\": \"Laatste wijziging. Converteert een Unix-tijdstempel naar een lokale tijd, het formaat kan worden gewijzigd, bijvoorbeeld naar DD.MM.JJJJ JJ uu:mm:ss:sss\",\r\n \"linkedWith\": \"Is gekoppeld aan:\",\r\n \"longitude\": \"Lengte\",\r\n \"manuallyValue\": \"Hiermee kunt u handmatig een waarde instellen in combinatie met ID Value, zoals deze: staticValue{id:ID}staticValue\",\r\n \"math\": \"Converteert de waarde, /10 kan worden vervangen\",\r\n \"menu\": \"Menu\",\r\n \"menuBack\": \"Wanneer u hierop drukt, springt u terug naar het vorige menu\",\r\n \"menuDeleteAll\": \"Genereert een knop om alle berichten van de bot te verwijderen. De navigatie is optioneel. Laat het gewoon leeg, anders komt u in een menu dat moet worden opgeroepen.\",\r\n \"menuDynamicSwitch\": \"Genereert vermenigvuldigingsknoppen, waarden kunnen individueel worden ingevoegd. Vervang TRIGGER door een unieke waarde. LengthOfRow is optioneel en kan worden gebruikt om het aantal knoppen per rij in te stellen.
    Breekbare wijziging!!! \u00A0 Wijzig handmatig: `[Naam1:Waarde1, Naam2:Waarde2]` in `[Naam1|Waarde1, Naam2|Waarde2]`. Decimale getallen kunnen nu ook als waarden worden gebruikt.\",\r\n \"menuList\": \"Menulijst\",\r\n \"menuNumber\": \"De nummers zijn volledig uitwisselbaar. 0-6 geeft het bereik aan, en 1 de stapgrootte, UNIT wordt vervangen door een eenheid, maar kan ook leeg gelaten worden. Vervang TRIGGER door een unieke waarde.\",\r\n \"menuPercent\": \"10 kan vervangen worden en geeft de stapgrootte aan 0%, 10%, 20%...! Vervang TRIGGER door een unieke waarde. Dit wordt gebruikt in actie SetState. Voer het gewenste ID in. Onder de waarde! invoegen\",\r\n \"menuSwitch\": \"Genereert twee knoppen, in dit geval aan en uit met de respectieve waarden waar en onwaar. Vervang TRIGGER door een unieke waarde.\",\r\n \"menuToCopy\": \"Selecteer eerst het menu waarnaar u gegevens wilt kopi\u00EBren. Dan de regel waar het moet worden toegevoegd. Als er nog geen gegevens zijn, klik dan op Opslaan en deze worden aangemaakt na het opvragen van de nieuwe triggernaam.\",\r\n \"modifiedSubmenuValue\": \"Hiermee kunt u een aangepaste submenuwaarde instellen in combinatie met een statisch onderdeel, zoals dit: staticValue{value}staticValue\",\r\n \"navigation\": \"Navigatie\",\r\n \"navigationButtons\": \"Navigatieknoppen\",\r\n \"newlineCheckbox\": \"Nieuwe lijn\",\r\n \"no\": \"Nee\",\r\n \"noValue\": \"De waarde is niet gespecificeerd in de retourtekst\",\r\n \"notifiedByChangeOfAnotherState\": \"Als u op de hoogte wilt worden gesteld van de wijziging van een ander datapunt nadat u het datapunt in het ID-invoerveld hebt ingesteld. De wijziging wordt alleen gedeeld als deze is ingesteld met ack:true. Het is verplicht om een \u200B\u200Btekst buiten de {} op te geven, anders wordt deze automatisch toegevoegd.\",\r\n \"ok\": \"OK\",\r\n \"oneTimeKey\": \"Verzoekt klanten om het toetsenbord verticaal aan te passen voor een optimale pasvorm (maak het toetsenbord bijvoorbeeld kleiner als er slechts twee rijen knoppen zijn). Standaard ingesteld op false, in welk geval het aangepaste toetsenbord altijd dezelfde hoogte heeft als het standaardtoetsenbord van de app.\",\r\n \"overview\": \"Overzicht\",\r\n \"parseMode\": \"Parseermodus HTML\",\r\n \"parseModeBold\": \"Tekst in de parse-modus is vetgedrukt\",\r\n \"parseModeCode\": \"Tekst in de parse-modus is code\",\r\n \"parseModeItalic\": \"Tekst in de parse-modus is cursief\",\r\n \"parseModeLink\": \"Tekst in de parse-modus is een link\",\r\n \"password\": \"Wachtwoord\",\r\n \"percent\": \"Procent\",\r\n \"picSendDelay\": \"Vertraging foto verzenden\",\r\n \"placeholderInstance\": \"--Kies een telegraminstantie--\",\r\n \"placeholderValue\": \"Tijdelijke aanduiding voor de waarde\",\r\n \"reallyDelete\": \"Wil je dit echt verwijderen?\",\r\n \"renameMenu\": \"Hernoem de menunaam\",\r\n \"returnText\": \"Tekst retourneren\",\r\n \"save\": \"Redden\",\r\n \"select\": \"Selecteer\",\r\n \"selectAMenuDropBox\": \"Selecteer een menu, selecteer verplaatsen of kopi\u00EBren. Pas op! Er moet een gebruiker actief zijn in het geselecteerde menu!\",\r\n \"selectTargetMenu\": \"Selecteer een doelmenu\",\r\n \"sendMenuAfterRestart\": \"Menu verzenden na opnieuw opstarten\",\r\n \"setAck\": \"Bevestigingsvlag instellen\",\r\n \"setDynamicValue\": \"Hierdoor kunt u dynamische waarden in datapunten schrijven. U hoeft alleen maar te bellen en vervolgens kunt u de waarde in het invoerveld invoeren. RequestText: tekst om de waarde op te vragen. Type: type waarde (Boolean of getal). BevestigTekst: tekst om de waarde te bevestigen. ID: Als u vanuit een andere staat wilt bevestigen, voert u hier het ID in. (Dit is optioneel)\",\r\n \"setID\": \"Stelt de waarde van de ID in op val, met ack(confirmed)\",\r\n \"setMenu\": \"Menu instellen\",\r\n \"setWithAck\": \"Stel de waarde in met ack-Flag\",\r\n \"settings\": \"Instellingen\",\r\n \"startMenus\": \"Startmenu's\",\r\n \"startSide\": \"Begin kant\",\r\n \"statusMenu\": \"Vraagt \u200B\u200Bde waarde van het ID op en vervangt deze vervolgens door de waarde, zodat er tekst omheen kan worden geschreven, het is ook mogelijk om deze meerdere keren achter elkaar te gebruiken. De parameter true is een optie om de waarde te wijzigen door een functiewijziging. Je moet het op false zetten als je deze waarde niet verandert, maar hierachter zit nog een {status: ... request with change:true.\",\r\n \"submenu\": \"Submenu\",\r\n \"switch\": \"Schakelaar\",\r\n \"switchCheckbox\": \"Schakelaar\",\r\n \"telegramInstance\": \"Telegram-instantie\",\r\n \"telegramUser\": \"Gebruikers van Telegram\",\r\n \"text\": \"Tekst\",\r\n \"textNoEntry\": \"Er wordt een sms verzonden als er geen invoer is gevonden!\",\r\n \"toggle\": \"Schakelaar\",\r\n \"trigger\": \"Trekker\",\r\n \"tsTimestamp\": \"Tijdstempel. Converteert een Unix-tijdstempel naar een lokale tijd, het formaat kan worden gewijzigd, bijvoorbeeld naar DD.MM.JJJJ JJ uu:mm:ss:sss\",\r\n \"unusedTrigger\": \"Ongebruikte trekker\",\r\n \"url\": \"URL\",\r\n \"usedTrigger\": \"Gebruikte trekker\",\r\n \"user\": \"Gebruiker\",\r\n \"userList\": \"Gebruikerslijst\",\r\n \"userSelect\": \"Selecteer een gebruiker of deactiveer het menu voordat u kunt opslaan!\",\r\n \"value\": \"Waarde\",\r\n \"valueRound\": \"Rondt de waarde bijvoorbeeld af op 2 decimalen\",\r\n \"values\": \"Waarden\",\r\n \"yes\": \"Ja\"\r\n}\r\n", "{\r\n \"ID\": \"IDENTIFIANT\",\r\n \"IDs\": \"identifiants\",\r\n \"abort\": \"Avorter\",\r\n \"ack\": \"Acquitter\",\r\n \"action\": \"Action\",\r\n \"active\": \"Actif\",\r\n \"activeMenu\": \"Menu actif\u00A0:\",\r\n \"add\": \"Ajouter\",\r\n \"addAction\": \"Ajouter une nouvelle action\",\r\n \"addMenu\": \"Ajouter un nouveau nom de menu\",\r\n \"binding\": \"Reliures : D'abord Var avec l'identifiant puis la condition et le texte.\",\r\n \"breakpointNewline\": \"Point d'arr\u00EAt pour une nouvelle ligne, ins\u00E9rez-le uniquement dans le texte\",\r\n \"call\": \"Appel\",\r\n \"cancel\": \"Annuler\",\r\n \"changeFunction\": \"Modifie la valeur dans le texte de retour, dans ce cas de true \u00E0 on et false \u00E0 off\",\r\n \"chooseAction\": \"Choisissez une action\",\r\n \"close\": \"Fermer\",\r\n \"commonName\": \"Affiche le nom du point de donn\u00E9es\",\r\n \"condition\": \"Condition\",\r\n \"conditionMenu\": \"Condition pour ouvrir le menu\",\r\n \"confirm\": \"Confirmer\",\r\n \"confirmDelete\": \"Toutes les donn\u00E9es seront perdues. Confirmer?\",\r\n \"confirmMessage\": \"Confirmer par message\",\r\n \"confirmSet\": \"Attention. La valeur a seulement \u00E9t\u00E9 d\u00E9finie mais n'a pas encore \u00E9t\u00E9 confirm\u00E9e par l'adaptateur. Vous pouvez supprimer noValue, la valeur s'affichera alors. Position && remplac\u00E9 par Value ou sera mis \u00E0 la fin\",\r\n \"convertsUnixTimestamp\": \"Convertit un horodatage Unix en heure locale\",\r\n \"copy\": \"Copie\",\r\n \"createMenu\": \"S'il vous pla\u00EEt, cr\u00E9ez un menu\u00A0!\",\r\n \"delay\": \"D\u00E9lai (ms)\",\r\n \"delete\": \"Supprimer\",\r\n \"directory\": \"Annuaire\",\r\n \"doubleTrigger\": \"Vous avez des doubles d\u00E9clencheurs, veuillez les supprimer\u00A0!\",\r\n \"edit\": \"Modifier\",\r\n \"entryNotFound\": \"Entr\u00E9e introuvable\u00A0!\",\r\n \"executedMenu\": \"Menu ex\u00E9cut\u00E9\",\r\n \"filename\": \"Nom de fichier\",\r\n \"hide\": \"Cacher\",\r\n \"identification\": \"Identification\",\r\n \"inactive\": \"Inactif\",\r\n \"insertID\": \"Pour ins\u00E9rer un ID, ins\u00E9rez simplement le bloc en premier, s\u00E9lectionnez l'ID. Celui-ci sera alors automatiquement ins\u00E9r\u00E9 \u00E0 l'endroit appropri\u00E9, m\u00EAme si l'ID doit \u00EAtre modifi\u00E9. Si le code ne reconna\u00EEt pas le bloc, l'ID est ajout\u00E9 \u00E0 la fin.\",\r\n \"instance\": \"Exemple\",\r\n \"isSubmenu\": \"Ceci est un sous-menu\u00A0!\",\r\n \"jsonShoppingList\": \"Comme ci-dessus, mais lorsque vous cliquez sur un bouton, l'\u00E9l\u00E9ment sera supprim\u00E9, la cl\u00E9 des \u00E9l\u00E9ments est \u00AB nom : \u00BB, vous pouvez \u00E9galement ajouter \u00AB heure : \u00BB. Important !!! La \u00AB liste de courses \u00BB ne peut pas \u00EAtre modifi\u00E9e.\",\r\n \"jsonTable\": \"!!! Pour l'utiliser, parseMode ne doit pas \u00EAtre actif !!! Cr\u00E9e une table \u00E0 partir d'un JSON en tant que Text-Table. La premi\u00E8re valeur est une cl\u00E9 du JSON, derri\u00E8re elle se trouve le nom de la colonne. Vous pouvez utiliser plus de deux valeurs. L'en-t\u00EAte doit \u00EAtre renseign\u00E9. Ne modifiez pas TextTable.\",\r\n \"latitude\": \"Latitude\",\r\n \"lcTimestamp\": \"Dernier changement. Convertit un horodatage Unix en heure locale, le format peut \u00EAtre modifi\u00E9, par exemple en DD.MM.YYYY YY hh:mm:ss:sss\",\r\n \"linkedWith\": \"Est li\u00E9 \u00E0 :\",\r\n \"longitude\": \"Longitude\",\r\n \"manuallyValue\": \"Cela vous permet de d\u00E9finir manuellement une valeur en combinaison avec la valeur ID, comme ceci\u00A0: staticValue{id:ID}staticValue\",\r\n \"math\": \"Convertit la valeur, /10 peut \u00EAtre remplac\u00E9\",\r\n \"menu\": \"Menu\",\r\n \"menuBack\": \"Lorsque vous appuyez dessus, vous revenez au menu pr\u00E9c\u00E9dent\",\r\n \"menuDeleteAll\": \"G\u00E9n\u00E8re un bouton pour supprimer tous les messages du bot. La navigation est facultative. Laissez-le simplement vide, sinon vous pourrez acc\u00E9der \u00E0 un menu qui devrait \u00EAtre appel\u00E9.\",\r\n \"menuDynamicSwitch\": \"G\u00E9n\u00E8re des boutons de multiplication, les valeurs peuvent \u00EAtre ins\u00E9r\u00E9es individuellement. Remplacez TRIGGER par une valeur unique. LengthOfRow est facultatif et peut \u00EAtre utilis\u00E9 pour d\u00E9finir le nombre de boutons par ligne.
    Rupture de changement !!! \u00A0 Veuillez remplacer manuellement\u00A0: `[Name1:Value1, Name2:Value2]` par `[Name1|Value1, Name2|Value2]`. Les nombres d\u00E9cimaux peuvent d\u00E9sormais \u00E9galement \u00EAtre utilis\u00E9s comme valeurs.\",\r\n \"menuList\": \"Liste des menus\",\r\n \"menuNumber\": \"Les num\u00E9ros peuvent \u00EAtre enti\u00E8rement \u00E9chang\u00E9s. 0-6 indique la plage et 1 la taille du pas, UNIT est remplac\u00E9 par une unit\u00E9, mais peut \u00E9galement \u00EAtre laiss\u00E9 vide. Remplacez TRIGGER par une valeur unique.\",\r\n \"menuPercent\": \"10 peut \u00EAtre remplac\u00E9 et indique la taille du pas 0%, 10%, 20%...\u00A0! Remplacez TRIGGER par une valeur unique. Ceci est utilis\u00E9 dans l\u2019action SetState. Saisissez l'identifiant souhait\u00E9. En dessous de la valeur ! ins\u00E9rer\",\r\n \"menuSwitch\": \"G\u00E9n\u00E8re deux boutons, en l'occurrence on et off avec les valeurs respectives true et false. Remplacez TRIGGER par une valeur unique.\",\r\n \"menuToCopy\": \"S\u00E9lectionnez d'abord le menu dans lequel vous souhaitez copier les donn\u00E9es. Puis la ligne o\u00F9 il doit \u00EAtre ajout\u00E9. S'il n'y a pas encore de donn\u00E9es, cliquez sur Enregistrer et elles seront cr\u00E9\u00E9es apr\u00E8s avoir interrog\u00E9 le nouveau nom du d\u00E9clencheur.\",\r\n \"modifiedSubmenuValue\": \"Cela vous permet de d\u00E9finir une valeur de sous-menu modifi\u00E9e en combinaison avec une partie statique, comme ceci\u00A0: staticValue{value}staticValue\",\r\n \"navigation\": \"Navigation\",\r\n \"navigationButtons\": \"Boutons de navigation\",\r\n \"newlineCheckbox\": \"Nouvelle ligne\",\r\n \"no\": \"Non\",\r\n \"noValue\": \"La valeur n'est pas sp\u00E9cifi\u00E9e dans le texte de retour\",\r\n \"notifiedByChangeOfAnotherState\": \"Si vous souhaitez \u00EAtre inform\u00E9 du changement d'un autre point de donn\u00E9es apr\u00E8s avoir d\u00E9fini le point de donn\u00E9es dans le champ de saisie ID. La modification ne sera partag\u00E9e que si elle est d\u00E9finie avec ack:true. Il est obligatoire de pr\u00E9ciser un texte en dehors du {}, sinon il sera ajout\u00E9 automatiquement.\",\r\n \"ok\": \"D'ACCORD\",\r\n \"oneTimeKey\": \"Demande aux clients de redimensionner le clavier verticalement pour un ajustement optimal (par exemple, r\u00E9duire la taille du clavier s'il n'y a que deux rang\u00E9es de boutons). La valeur par d\u00E9faut est false, auquel cas le clavier personnalis\u00E9 a toujours la m\u00EAme hauteur que le clavier standard de l'application.\",\r\n \"overview\": \"Aper\u00E7u\",\r\n \"parseMode\": \"HTML en mode analyse\",\r\n \"parseModeBold\": \"Le texte en mode analyse est en gras\",\r\n \"parseModeCode\": \"Le texte en mode analyse est du code\",\r\n \"parseModeItalic\": \"Le texte en mode analyse est en italique\",\r\n \"parseModeLink\": \"Le texte en mode analyse est un lien\",\r\n \"password\": \"Mot de passe\",\r\n \"percent\": \"Pour cent\",\r\n \"picSendDelay\": \"D\u00E9lai d'envoi des photos\",\r\n \"placeholderInstance\": \"--Veuillez choisir une instance de t\u00E9l\u00E9gramme--\",\r\n \"placeholderValue\": \"Espace r\u00E9serv\u00E9 pour la valeur\",\r\n \"reallyDelete\": \"Voulez-vous vraiment supprimer ceci\u00A0?\",\r\n \"renameMenu\": \"Renommer le nom du menu\",\r\n \"returnText\": \"Retourner le texte\",\r\n \"save\": \"Sauvegarder\",\r\n \"select\": \"S\u00E9lectionner\",\r\n \"selectAMenuDropBox\": \"S\u00E9lectionnez un menu, s\u00E9lectionnez d\u00E9placer ou copier. Attention! Un utilisateur doit \u00EAtre actif dans le menu s\u00E9lectionn\u00E9 !\",\r\n \"selectTargetMenu\": \"S\u00E9lectionnez un menu cible\",\r\n \"sendMenuAfterRestart\": \"Envoyer le menu apr\u00E8s le red\u00E9marrage\",\r\n \"setAck\": \"D\u00E9finir le drapeau de r\u00E9ception\",\r\n \"setDynamicValue\": \"Cela vous permet d'\u00E9crire des valeurs dynamiques dans des points de donn\u00E9es. Passez simplement un appel et vous pourrez ensuite saisir la valeur dans le champ de saisie. RequestText\u00A0: texte pour demander la valeur. Type : type de la valeur (bool\u00E9en ou nombre). ConfirmText\u00A0: texte pour confirmer la valeur. ID\u00A0: Si vous souhaitez confirmer depuis un autre \u00C9tat, entrez l'ID ici. (Ceci est facultatif)\",\r\n \"setID\": \"D\u00E9finit la valeur de l'ID sur le val, avec ack (confirm\u00E9)\",\r\n \"setMenu\": \"D\u00E9finir le menu\",\r\n \"setWithAck\": \"D\u00E9finir la valeur avec ack-Flag\",\r\n \"settings\": \"Param\u00E8tres\",\r\n \"startMenus\": \"Menus D\u00E9marrer\",\r\n \"startSide\": \"C\u00F4t\u00E9 d\u00E9part\",\r\n \"statusMenu\": \"Interroge la valeur de l'ID puis la remplace par la valeur, afin que du texte puisse \u00EAtre \u00E9crit autour, il est \u00E9galement possible de l'utiliser plus d'une fois de suite. Le param\u00E8tre true est une option permettant de modifier la valeur par changement de fonction. Vous devez le d\u00E9finir sur false si vous ne modifiez pas cette valeur, mais derri\u00E8re cela se trouve une autre requ\u00EAte {status: ... avec change:true.\",\r\n \"submenu\": \"Sous-menu\",\r\n \"switch\": \"Changer\",\r\n \"switchCheckbox\": \"Changer\",\r\n \"telegramInstance\": \"Instance de t\u00E9l\u00E9gramme\",\r\n \"telegramUser\": \"Utilisateurs de Telegram\",\r\n \"text\": \"Texte\",\r\n \"textNoEntry\": \"Un texte sera envoy\u00E9 si aucune entr\u00E9e n'a \u00E9t\u00E9 trouv\u00E9e\u00A0!\",\r\n \"toggle\": \"Basculer\",\r\n \"trigger\": \"D\u00E9clenchement\",\r\n \"tsTimestamp\": \"Horodatage. Convertit un horodatage Unix en heure locale, le format peut \u00EAtre modifi\u00E9, par exemple en DD.MM.YYYY YY hh:mm:ss:sss\",\r\n \"unusedTrigger\": \"D\u00E9clencheur inutilis\u00E9\",\r\n \"url\": \"URL\",\r\n \"usedTrigger\": \"D\u00E9clencheur utilis\u00E9\",\r\n \"user\": \"Utilisateur\",\r\n \"userList\": \"Liste des utilisateurs\",\r\n \"userSelect\": \"Veuillez s\u00E9lectionner un utilisateur ou d\u00E9sactiver le menu avant de pouvoir enregistrer\u00A0!\",\r\n \"value\": \"Valeur\",\r\n \"valueRound\": \"Arrondit la valeur par exemple \u00E0 2 d\u00E9cimales\",\r\n \"values\": \"Valeurs\",\r\n \"yes\": \"Oui\"\r\n}\r\n", "{\r\n \"ID\": \"ID\",\r\n \"IDs\": \"ID\",\r\n \"abort\": \"Interrompere\",\r\n \"ack\": \"Ac\",\r\n \"action\": \"Azione\",\r\n \"active\": \"Attivo\",\r\n \"activeMenu\": \"Men\u00F9 attivo:\",\r\n \"add\": \"Aggiungere\",\r\n \"addAction\": \"Aggiungi nuova azione\",\r\n \"addMenu\": \"Aggiungi un nuovo nome al menu\",\r\n \"binding\": \"Binding: prima Var con id poi la condizione e il testo.\",\r\n \"breakpointNewline\": \"Punto di interruzione per una nuova riga, inseriscilo solo nel testo\",\r\n \"call\": \"Chiamata\",\r\n \"cancel\": \"Cancellare\",\r\n \"changeFunction\": \"Modifica il valore nel testo restituito, in questo caso da true a on e false a off\",\r\n \"chooseAction\": \"Scegli un'azione\",\r\n \"close\": \"Vicino\",\r\n \"commonName\": \"Restituisce il nome del punto dati\",\r\n \"condition\": \"Condizione\",\r\n \"conditionMenu\": \"Condizione per aprire il menu\",\r\n \"confirm\": \"Confermare\",\r\n \"confirmDelete\": \"Tutti i dati andranno persi. Confermare?\",\r\n \"confirmMessage\": \"Conferma con messaggio\",\r\n \"confirmSet\": \"Attenzione. Il valore \u00E8 stato solo impostato ma non ancora confermato dall'adattatore. Puoi rimuovere noValue, quindi il valore verr\u00E0 visualizzato. Posizione && sostituito da Valore o verr\u00E0 inserito alla fine\",\r\n \"convertsUnixTimestamp\": \"Converte un timestamp Unix in un'ora locale\",\r\n \"copy\": \"Copia\",\r\n \"createMenu\": \"Per favore crea un menu!\",\r\n \"delay\": \"Ritardo (ms)\",\r\n \"delete\": \"Eliminare\",\r\n \"directory\": \"Direttorio\",\r\n \"doubleTrigger\": \"Hai doppi trigger, rimuovili!\",\r\n \"edit\": \"Modificare\",\r\n \"entryNotFound\": \"Voce non trovata!\",\r\n \"executedMenu\": \"Men\u00F9 eseguito\",\r\n \"filename\": \"Nome file\",\r\n \"hide\": \"Nascondere\",\r\n \"identification\": \"Identificazione\",\r\n \"inactive\": \"Inattivo\",\r\n \"insertID\": \"Per inserire un ID \u00E8 sufficiente inserire prima il blocco, selezionare l'ID. Questo verr\u00E0 poi inserito automaticamente nell'apposito posto, anche nel caso in cui si voglia modificare l'ID. Se il codice non riconosce il blocco, l'ID viene aggiunto alla fine.\",\r\n \"instance\": \"Esempio\",\r\n \"isSubmenu\": \"Questo \u00E8 un sottomenu!\",\r\n \"jsonShoppingList\": \"Come sopra, ma quando fai clic su un pulsante, l'elemento verr\u00E0 eliminato, la chiave per gli elementi \u00E8 \\\"nome:\\\", puoi anche aggiungere \\\"ora:\\\". Importante!!! la 'lista della spesa' non pu\u00F2 essere modificata.\",\r\n \"jsonTable\": \"!!! Per usarlo, parseMode non deve essere attivo!!! Crea una tabella da un JSON come tabella di testo. Il primo valore \u00E8 una chiave del JSON, dietro c'\u00E8 il nome della colonna. Puoi utilizzare pi\u00F9 di due valori. L'intestazione deve essere compilata. Non modificare TextTable.\",\r\n \"latitude\": \"Latitudine\",\r\n \"lcTimestamp\": \"Ultimo cambio. Converte un timestamp Unix in un'ora locale, il formato pu\u00F2 essere modificato, ad esempio in GG.MM.AAAA AA hh:mm:ss:sss\",\r\n \"linkedWith\": \"\u00C8 collegato con:\",\r\n \"longitude\": \"Longitudine\",\r\n \"manuallyValue\": \"Ci\u00F2 ti consente di impostare manualmente un valore in combinazione con il valore ID, in questo modo: staticValue{id:ID}staticValue\",\r\n \"math\": \"Converte il valore, /10 pu\u00F2 essere sostituito\",\r\n \"menu\": \"Menu\",\r\n \"menuBack\": \"Quando viene premuto, si torna al menu precedente\",\r\n \"menuDeleteAll\": \"Genera un pulsante per eliminare tutti i messaggi dal bot. La navigazione \u00E8 facoltativa. Basta lasciarlo vuoto altrimenti si accede ad un menu da richiamare.\",\r\n \"menuDynamicSwitch\": \"Genera pulsanti moltiplicativi, i valori possono essere inseriti individualmente. Sostituisci TRIGGER con un valore univoco. LengthOfRow \u00E8 facoltativo e pu\u00F2 essere utilizzato per impostare il numero di pulsanti per riga.
    Modifica rivoluzionaria!!! \u00A0 Modifica manualmente: `[Nome1:Valore1, Nome2:Valore2]` in `[Nome1|Valore1, Nome2|Valore2]`. I numeri decimali ora possono essere utilizzati anche come valori.\",\r\n \"menuList\": \"Elenco dei men\u00F9\",\r\n \"menuNumber\": \"I numeri possono essere completamente scambiati. 0-6 indica l'intervallo e 1 la dimensione del passo, UNIT \u00E8 sostituito da un'unit\u00E0, ma pu\u00F2 anche essere lasciato vuoto. Sostituisci TRIGGER con un valore univoco.\",\r\n \"menuPercent\": \"10 pu\u00F2 essere sostituito e indica la dimensione del passo 0%, 10%, 20%...! Sostituisci TRIGGER con un valore univoco. Viene utilizzato nell'azione SetState. Inserisci l'ID desiderato. Sotto il valore! inserire\",\r\n \"menuSwitch\": \"Genera due pulsanti, in questo caso on e off con i rispettivi valori true e false. Sostituisci TRIGGER con un valore univoco.\",\r\n \"menuToCopy\": \"Seleziona innanzitutto il menu in cui desideri copiare i dati. Quindi la riga in cui dovrebbe essere aggiunto. Se non sono ancora presenti dati, fare clic su Salva e verranno creati dopo aver richiesto il nuovo nome del trigger.\",\r\n \"modifiedSubmenuValue\": \"Ci\u00F2 ti consente di impostare un valore del sottomenu modificato in combinazione con una parte statica, in questo modo: staticValue{value}staticValue\",\r\n \"navigation\": \"Navigazione\",\r\n \"navigationButtons\": \"Pulsanti di navigazione\",\r\n \"newlineCheckbox\": \"Nuova riga\",\r\n \"no\": \"NO\",\r\n \"noValue\": \"Il valore non \u00E8 specificato nel testo restituito\",\r\n \"notifiedByChangeOfAnotherState\": \"Se desideri essere avvisato della modifica di un altro punto dati dopo aver impostato il punto dati nel campo di immissione ID. La modifica verr\u00E0 condivisa solo se \u00E8 impostata con ack:true. \u00C8 obbligatorio specificare un testo fuori dal {}, altrimenti verr\u00E0 aggiunto automaticamente.\",\r\n \"ok\": \"OK\",\r\n \"oneTimeKey\": \"Richiede ai client di ridimensionare la tastiera verticalmente per adattarla in modo ottimale (ad esempio, riduci la tastiera se sono presenti solo due file di pulsanti). Il valore predefinito \u00E8 false, nel qual caso la tastiera personalizzata ha sempre la stessa altezza della tastiera standard dell'app.\",\r\n \"overview\": \"Panoramica\",\r\n \"parseMode\": \"Modalit\u00E0 di analisi HTML\",\r\n \"parseModeBold\": \"Il testo in modalit\u00E0 analisi \u00E8 in grassetto\",\r\n \"parseModeCode\": \"Il testo in modalit\u00E0 Parse \u00E8 codice\",\r\n \"parseModeItalic\": \"Il testo in modalit\u00E0 Parse \u00E8 in corsivo\",\r\n \"parseModeLink\": \"Il testo in modalit\u00E0 Parse \u00E8 link\",\r\n \"password\": \"Password\",\r\n \"percent\": \"Percentuale\",\r\n \"picSendDelay\": \"Ritardo nell'invio dell'immagine\",\r\n \"placeholderInstance\": \"--Scegli un'istanza di Telegram--\",\r\n \"placeholderValue\": \"Segnaposto per il valore\",\r\n \"reallyDelete\": \"Vuoi davvero eliminarlo?\",\r\n \"renameMenu\": \"Rinominare il nome del menu\",\r\n \"returnText\": \"Restituisci il testo\",\r\n \"save\": \"Salva\",\r\n \"select\": \"Selezionare\",\r\n \"selectAMenuDropBox\": \"Seleziona un menu, seleziona sposta o copia. Attento! Un utente deve essere attivo nel menu selezionato!\",\r\n \"selectTargetMenu\": \"Seleziona un menu di destinazione\",\r\n \"sendMenuAfterRestart\": \"Invia menu dopo il riavvio\",\r\n \"setAck\": \"Imposta il flag di riconoscimento\",\r\n \"setDynamicValue\": \"Ci\u00F2 consente di scrivere valori dinamici in punti dati. Basta effettuare una chiamata e quindi inserire il valore nel campo di immissione. RequestText: testo per richiedere il valore. Tipo: tipo del valore (booleano o numerico). confirmText: testo per confermare il valore. ID: se desideri confermare da un altro Stato, inserisci qui l'ID (facoltativo)\",\r\n \"setID\": \"Imposta il valore dell'ID su val, con ack(confirmed)\",\r\n \"setMenu\": \"Menu fisso\",\r\n \"setWithAck\": \"Imposta il valore con ack-Flag\",\r\n \"settings\": \"Impostazioni\",\r\n \"startMenus\": \"Menu di avvio\",\r\n \"startSide\": \"Lato iniziale\",\r\n \"statusMenu\": \"Interroga il valore dell'ID e poi lo sostituisce con il valore, in modo che sia possibile scrivere del testo attorno ad esso, ed \u00E8 anche possibile utilizzarlo pi\u00F9 di una volta di seguito. Il parametro true \u00E8 un'opzione per modificare il valore mediante modifica della funzione. Devi impostarlo su false se non cambi questo valore, ma dietro c'\u00E8 un'altra richiesta {status: ... con change:true.\",\r\n \"submenu\": \"Sottomenu\",\r\n \"switch\": \"Interruttore\",\r\n \"switchCheckbox\": \"Interruttore\",\r\n \"telegramInstance\": \"Istanza di Telegramma\",\r\n \"telegramUser\": \"Utenti di Telegram\",\r\n \"text\": \"Testo\",\r\n \"textNoEntry\": \"Il testo verr\u00E0 inviato se non viene trovata alcuna voce!\",\r\n \"toggle\": \"Attiva/disattiva\",\r\n \"trigger\": \"Grilletto\",\r\n \"tsTimestamp\": \"Timestamp. Converte un timestamp Unix in un'ora locale, il formato pu\u00F2 essere modificato, ad esempio in GG.MM.AAAA AA hh:mm:ss:sss\",\r\n \"unusedTrigger\": \"Grilletto non utilizzato\",\r\n \"url\": \"URL\",\r\n \"usedTrigger\": \"Grilletto usato\",\r\n \"user\": \"Utente\",\r\n \"userList\": \"Elenco utenti\",\r\n \"userSelect\": \"Seleziona un utente o disattiva il menu prima di poter salvare!\",\r\n \"value\": \"Valore\",\r\n \"valueRound\": \"Arrotonda il valore, ad esempio, a 2 cifre decimali\",\r\n \"values\": \"Valori\",\r\n \"yes\": \"S\u00CC\"\r\n}\r\n", "{\r\n \"ID\": \"IDENTIFICACI\u00D3N\",\r\n \"IDs\": \"identificaciones\",\r\n \"abort\": \"Abortar\",\r\n \"ack\": \"Ack\",\r\n \"action\": \"Acci\u00F3n\",\r\n \"active\": \"Activo\",\r\n \"activeMenu\": \"Men\u00FA activo:\",\r\n \"add\": \"Agregar\",\r\n \"addAction\": \"Agregar nueva acci\u00F3n\",\r\n \"addMenu\": \"Agregar nuevo nombre de men\u00FA\",\r\n \"binding\": \"Enlaces: Primero Var con id, luego la condici\u00F3n y el texto.\",\r\n \"breakpointNewline\": \"Punto de interrupci\u00F3n para una nueva l\u00EDnea, solo inserte esto en el texto\",\r\n \"call\": \"Llamar\",\r\n \"cancel\": \"Cancelar\",\r\n \"changeFunction\": \"Cambia el valor en el texto devuelto, en este caso de verdadero a activado y de falso a desactivado.\",\r\n \"chooseAction\": \"Elige una acci\u00F3n\",\r\n \"close\": \"Cerca\",\r\n \"commonName\": \"Muestra el nombre del punto de datos.\",\r\n \"condition\": \"Condici\u00F3n\",\r\n \"conditionMenu\": \"Condici\u00F3n para abrir Men\u00FA\",\r\n \"confirm\": \"Confirmar\",\r\n \"confirmDelete\": \"Todos los datos se perder\u00E1n. \u00BFConfirmar?\",\r\n \"confirmMessage\": \"Confirmar con mensaje\",\r\n \"confirmSet\": \"Atenci\u00F3n. El valor s\u00F3lo ha sido establecido pero a\u00FAn no confirmado por el Adaptador. Puede eliminar noValue, luego se mostrar\u00E1 el valor. Posici\u00F3n && reemplazada por Valor o se pondr\u00E1 al final\",\r\n \"convertsUnixTimestamp\": \"Convierte una marca de tiempo de Unix a una hora local\",\r\n \"copy\": \"Copiar\",\r\n \"createMenu\": \"\u00A1Por favor crea un men\u00FA!\",\r\n \"delay\": \"Retraso (ms)\",\r\n \"delete\": \"Borrar\",\r\n \"directory\": \"Directorio\",\r\n \"doubleTrigger\": \"Tienes activadores dobles, \u00A1elim\u00EDtalos!\",\r\n \"edit\": \"Editar\",\r\n \"entryNotFound\": \"\u00A1Entrada no encontrada!\",\r\n \"executedMenu\": \"Men\u00FA ejecutado\",\r\n \"filename\": \"Nombre del archivo\",\r\n \"hide\": \"Esconder\",\r\n \"identification\": \"Identificaci\u00F3n\",\r\n \"inactive\": \"Inactivo\",\r\n \"insertID\": \"Para insertar una ID, simplemente inserte el bloque primero, seleccione la ID. Este se insertar\u00E1 autom\u00E1ticamente en el lugar apropiado, incluso si se va a cambiar el ID. Si el c\u00F3digo no reconoce el bloque, se a\u00F1ade el ID al final.\",\r\n \"instance\": \"Instancia\",\r\n \"isSubmenu\": \"\u00A1Este es un submen\u00FA!\",\r\n \"jsonShoppingList\": \"Lo mismo que arriba, pero cuando haces clic en un bot\u00F3n, el elemento se eliminar\u00E1. La clave para los elementos es \\\"nombre:\\\", tambi\u00E9n puedes agregar \\\"hora:\\\". \u00A1\u00A1\u00A1Importante!!! La 'lista de compras' no se puede cambiar.\",\r\n \"jsonTable\": \"!!! \u00A1Para usarlo, parseMode no debe estar activo! Crea una tabla a partir de un JSON como Text-Table. El primer valor es una clave del JSON, detr\u00E1s est\u00E1 el nombre de la columna. Puede utilizar m\u00E1s de dos valores. El encabezado debe estar completo. No cambie TextTable.\",\r\n \"latitude\": \"Latitud\",\r\n \"lcTimestamp\": \"\u00DAltimo cambio. Convierte una marca de tiempo de Unix a una hora local; el formato se puede cambiar, por ejemplo a DD.MM.AAAA AA hh:mm:ss:sss\",\r\n \"linkedWith\": \"Est\u00E1 vinculado con:\",\r\n \"longitude\": \"Longitud\",\r\n \"manuallyValue\": \"Esto le permite establecer un valor manualmente en combinaci\u00F3n con el valor de ID, como este: staticValue{id:ID}staticValue\",\r\n \"math\": \"Convierte el valor, /10 se puede reemplazar\",\r\n \"menu\": \"Men\u00FA\",\r\n \"menuBack\": \"Al pulsarlo saltas al men\u00FA anterior.\",\r\n \"menuDeleteAll\": \"Genera un bot\u00F3n para eliminar todos los mensajes del bot. La navegaci\u00F3n es opcional. Simplemente d\u00E9jelo en blanco, de lo contrario podr\u00E1 ingresar a un men\u00FA que deber\u00EDa abrirse.\",\r\n \"menuDynamicSwitch\": \"Genera botones de multiplicar, los valores se pueden insertar individualmente. Reemplace TRIGGER con un valor \u00FAnico. LongitudDeRow es opcional y se puede utilizar para establecer el n\u00FAmero de botones por fila.
    \u00A1\u00A1\u00A1Cambio importante!!! \u00A0 Cambie manualmente: `[Nombre1:Valor1, Nombre2:Valor2]` a `[Nombre1|Valor1, Nombre2|Valor2]`. Ahora tambi\u00E9n se pueden utilizar n\u00FAmeros decimales como valores.\",\r\n \"menuList\": \"Lista de men\u00FA\",\r\n \"menuNumber\": \"Los n\u00FAmeros se pueden intercambiar completamente. 0-6 indica el rango y 1 el tama\u00F1o del paso, UNIT se reemplaza por una unidad, pero tambi\u00E9n se puede dejar vac\u00EDo. Reemplace TRIGGER con un valor \u00FAnico.\",\r\n \"menuPercent\": \"\u00A110 se puede reemplazar e indica el tama\u00F1o del paso 0%, 10%, 20%...! Reemplace TRIGGER con un valor \u00FAnico. Esto se utiliza en la acci\u00F3n SetState. Ingrese la identificaci\u00F3n deseada. \u00A1Por debajo del valor! insertar\",\r\n \"menuSwitch\": \"Genera dos botones, en este caso encendido y apagado con los valores respectivos verdadero y falso. Reemplace TRIGGER con un valor \u00FAnico.\",\r\n \"menuToCopy\": \"Primero seleccione el men\u00FA al que desea copiar los datos. Luego la l\u00EDnea donde se debe agregar. Si a\u00FAn no hay datos, haga clic en guardar y se crear\u00E1 despu\u00E9s de consultar el nuevo nombre del activador.\",\r\n \"modifiedSubmenuValue\": \"Esto le permite establecer un valor de submen\u00FA modificado en combinaci\u00F3n con una parte est\u00E1tica, como esta: staticValue{value}staticValue\",\r\n \"navigation\": \"Navegaci\u00F3n\",\r\n \"navigationButtons\": \"Botones de navegaci\u00F3n\",\r\n \"newlineCheckbox\": \"Nueva l\u00EDnea\",\r\n \"no\": \"No\",\r\n \"noValue\": \"El valor no est\u00E1 especificado en el texto de retorno.\",\r\n \"notifiedByChangeOfAnotherState\": \"Si desea recibir una notificaci\u00F3n sobre el cambio de otro punto de datos despu\u00E9s de haber configurado el punto de datos en el campo de entrada de ID. El cambio solo se compartir\u00E1 si se establece con ack:true. Es obligatorio especificar un texto fuera del {}, de lo contrario se agregar\u00E1 autom\u00E1ticamente.\",\r\n \"ok\": \"DE ACUERDO\",\r\n \"oneTimeKey\": \"Solicita a los clientes que cambien el tama\u00F1o del teclado verticalmente para lograr un ajuste \u00F3ptimo (por ejemplo, reducir el tama\u00F1o del teclado si solo hay dos filas de botones). El valor predeterminado es falso, en cuyo caso el teclado personalizado siempre tiene la misma altura que el teclado est\u00E1ndar de la aplicaci\u00F3n.\",\r\n \"overview\": \"Descripci\u00F3n general\",\r\n \"parseMode\": \"Modo de an\u00E1lisis HTML\",\r\n \"parseModeBold\": \"El texto en modo Parse est\u00E1 en negrita\",\r\n \"parseModeCode\": \"El texto en modo Parse es c\u00F3digo\",\r\n \"parseModeItalic\": \"El texto en modo Parse est\u00E1 en cursiva\",\r\n \"parseModeLink\": \"El texto en modo Parse es un enlace\",\r\n \"password\": \"Contrase\u00F1a\",\r\n \"percent\": \"Por ciento\",\r\n \"picSendDelay\": \"Retraso en env\u00EDo de imagen\",\r\n \"placeholderInstance\": \"--Por favor elija una instancia de telegrama--\",\r\n \"placeholderValue\": \"Marcador de posici\u00F3n para el valor\",\r\n \"reallyDelete\": \"\u00BFRealmente quieres eliminar esto?\",\r\n \"renameMenu\": \"Cambiar el nombre del men\u00FA\",\r\n \"returnText\": \"Texto de retorno\",\r\n \"save\": \"Ahorrar\",\r\n \"select\": \"Seleccionar\",\r\n \"selectAMenuDropBox\": \"Seleccione un men\u00FA, seleccione mover o copiar. \u00A1Cuidado! \u00A1Un usuario debe estar activo en el men\u00FA seleccionado!\",\r\n \"selectTargetMenu\": \"Seleccionar un men\u00FA de destino\",\r\n \"sendMenuAfterRestart\": \"Enviar men\u00FA despu\u00E9s de reiniciar\",\r\n \"setAck\": \"Establecer indicador de confirmaci\u00F3n\",\r\n \"setDynamicValue\": \"Esto le permite escribir valores din\u00E1micos en puntos de datos. Simplemente haga una llamada y luego podr\u00E1 ingresar el valor en el campo de entrada. RequestText: Texto para solicitar el valor. Tipo: tipo del valor (booleano o n\u00FAmero). ConfirmText: Texto para confirmar el valor. DNI: Si deseas confirmar desde otro Estado, ingresa aqu\u00ED el DNI. (Esto es opcional)\",\r\n \"setID\": \"Establece el valor del ID en val, con ack(confirmado)\",\r\n \"setMenu\": \"Men\u00FA fijo\",\r\n \"setWithAck\": \"Establecer valor con ack-Flag\",\r\n \"settings\": \"Ajustes\",\r\n \"startMenus\": \"Men\u00FAs de inicio\",\r\n \"startSide\": \"Lado de inicio\",\r\n \"statusMenu\": \"Consulta el valor del ID y luego lo reemplaza con el valor, para que se pueda escribir texto alrededor de \u00E9l, tambi\u00E9n es posible usarlo m\u00E1s de una vez seguida. El par\u00E1metro verdadero es una opci\u00F3n para cambiar el valor mediante el cambio de funci\u00F3n. Tienes que establecerlo en falso si no cambias este valor, pero detr\u00E1s de esto hay otra solicitud {status: ... con cambio:true.\",\r\n \"submenu\": \"Submen\u00FA\",\r\n \"switch\": \"Cambiar\",\r\n \"switchCheckbox\": \"Cambiar\",\r\n \"telegramInstance\": \"Instancia de telegrama\",\r\n \"telegramUser\": \"Usuarios de Telegram\",\r\n \"text\": \"Texto\",\r\n \"textNoEntry\": \"\u00A1Se enviar\u00E1 un mensaje de texto si no se encontr\u00F3 ninguna entrada!\",\r\n \"toggle\": \"Palanca\",\r\n \"trigger\": \"Desencadenar\",\r\n \"tsTimestamp\": \"Marca de tiempo. Convierte una marca de tiempo de Unix a una hora local; el formato se puede cambiar, por ejemplo a DD.MM.AAAA AA hh:mm:ss:sss\",\r\n \"unusedTrigger\": \"Gatillo no utilizado\",\r\n \"url\": \"URL\",\r\n \"usedTrigger\": \"Gatillo usado\",\r\n \"user\": \"Usuario\",\r\n \"userList\": \"Lista de usuarios\",\r\n \"userSelect\": \"\u00A1Seleccione un usuario o desactive el men\u00FA antes de poder guardar!\",\r\n \"value\": \"Valor\",\r\n \"valueRound\": \"Redondea el valor, por ejemplo, a 2 decimales.\",\r\n \"values\": \"Valores\",\r\n \"yes\": \"S\u00ED\"\r\n}\r\n", "{\r\n \"ID\": \"ID\",\r\n \"IDs\": \"identyfikatory\",\r\n \"abort\": \"Poroni\u0107\",\r\n \"ack\": \"Potwierd\u017A\",\r\n \"action\": \"Dzia\u0142anie\",\r\n \"active\": \"Aktywny\",\r\n \"activeMenu\": \"Aktywne menu:\",\r\n \"add\": \"Doda\u0107\",\r\n \"addAction\": \"Dodaj now\u0105 akcj\u0119\",\r\n \"addMenu\": \"Dodaj now\u0105 nazw\u0119 menu\",\r\n \"binding\": \"Powi\u0105zania: Najpierw Var z identyfikatorem, potem warunek i tekst.\",\r\n \"breakpointNewline\": \"Punkt przerwania nowej linii. Wstaw go tylko w tek\u015Bcie\",\r\n \"call\": \"Dzwoni\u0107\",\r\n \"cancel\": \"Anulowa\u0107\",\r\n \"changeFunction\": \"Zmienia warto\u015B\u0107 w tek\u015Bcie zwracanym, w tym przypadku z true na on i false na off\",\r\n \"chooseAction\": \"Wybierz akcj\u0119\",\r\n \"close\": \"Zamkn\u0105\u0107\",\r\n \"commonName\": \"Wy\u015Bwietla nazw\u0119 punktu danych\",\r\n \"condition\": \"Stan\",\r\n \"conditionMenu\": \"Warunek otwarcia Menu\",\r\n \"confirm\": \"Potwierdza\u0107\",\r\n \"confirmDelete\": \"Wszystkie dane zostan\u0105 utracone. Potwierdza\u0107?\",\r\n \"confirmMessage\": \"Potwierd\u017A komunikatem\",\r\n \"confirmSet\": \"Uwaga. Warto\u015B\u0107 zosta\u0142a ustawiona, ale jeszcze nie potwierdzona przez adapter. Mo\u017Cesz usun\u0105\u0107 noValue, wtedy warto\u015B\u0107 zostanie wy\u015Bwietlona. Pozycja && zostanie zast\u0105piona warto\u015Bci\u0105 lub zostanie umieszczona na ko\u0144cu\",\r\n \"convertsUnixTimestamp\": \"Konwertuje znacznik czasu Uniksa na czas lokalny\",\r\n \"copy\": \"Kopia\",\r\n \"createMenu\": \"Prosz\u0119 stworzy\u0107 menu!\",\r\n \"delay\": \"Op\u00F3\u017Anienie (ms)\",\r\n \"delete\": \"Usuwa\u0107\",\r\n \"directory\": \"Informator\",\r\n \"doubleTrigger\": \"Masz podw\u00F3jne wyzwalacze, usu\u0144 je!\",\r\n \"edit\": \"Redagowa\u0107\",\r\n \"entryNotFound\": \"Nie znaleziono wpisu!\",\r\n \"executedMenu\": \"Wykonane menu\",\r\n \"filename\": \"Nazwa pliku\",\r\n \"hide\": \"Ukrywa\u0107\",\r\n \"identification\": \"Identyfikacja\",\r\n \"inactive\": \"Nieaktywny\",\r\n \"insertID\": \"Aby wstawi\u0107 identyfikator, wystarczy najpierw wstawi\u0107 blok i wybra\u0107 identyfikator. Zostanie on nast\u0119pnie automatycznie wstawiony w odpowiednim miejscu, nawet je\u015Bli identyfikator ma zosta\u0107 zmieniony. Je\u017Celi kod nie rozpoznaje bloku, na ko\u0144cu dodawany jest identyfikator.\",\r\n \"instance\": \"Przyk\u0142ad\",\r\n \"isSubmenu\": \"To jest podmenu!\",\r\n \"jsonShoppingList\": \"To samo co powy\u017Cej, ale kiedy klikniesz przycisk, element zostanie usuni\u0119ty, kluczem do pozycji jest \u201Enazwa:\u201D, mo\u017Cesz tak\u017Ce doda\u0107 \u201Eczas:\u201D. Wa\u017Cne!!! \u201Elisty zakup\u00F3w\u201D nie mo\u017Cna zmienia\u0107.\",\r\n \"jsonTable\": \"!!! Aby z niego skorzysta\u0107, parseMode nie mo\u017Ce by\u0107 aktywny !!! Tworzy tabel\u0119 z JSON jako tabel\u0119 tekstow\u0105. Pierwsza warto\u015B\u0107 to jeden klucz JSON, za ni\u0105 znajduje si\u0119 nazwa kolumny. Mo\u017Cesz u\u017Cy\u0107 wi\u0119cej ni\u017C dw\u00F3ch warto\u015Bci. Nag\u0142\u00F3wek musi by\u0107 wype\u0142niony. Nie zmieniaj TextTable.\",\r\n \"latitude\": \"Szeroko\u015B\u0107\",\r\n \"lcTimestamp\": \"Ostatnia zmiana. Konwertuje znacznik czasu Uniksa na czas lokalny, format mo\u017Cna zmieni\u0107 na przyk\u0142ad na DD.MM.RRRR YY gg:mm:ss:sss\",\r\n \"linkedWith\": \"Jest powi\u0105zany z:\",\r\n \"longitude\": \"D\u0142ugo\u015B\u0107 geograficzna\",\r\n \"manuallyValue\": \"Umo\u017Cliwia to r\u0119czne ustawienie warto\u015Bci w po\u0142\u0105czeniu z warto\u015Bci\u0105 identyfikatora, na przyk\u0142ad: staticValue{id:ID}staticValue\",\r\n \"math\": \"Konwertuje warto\u015B\u0107, /10 mo\u017Cna zast\u0105pi\u0107\",\r\n \"menu\": \"Menu\",\r\n \"menuBack\": \"Po naci\u015Bni\u0119ciu nast\u0119puje powr\u00F3t do poprzedniego menu\",\r\n \"menuDeleteAll\": \"Generuje przycisk umo\u017Cliwiaj\u0105cy usuni\u0119cie wszystkich wiadomo\u015Bci od bota. Nawigacja jest opcjonalna. Po prostu pozostaw to pole puste, w przeciwnym razie mo\u017Cesz wej\u015B\u0107 do menu, kt\u00F3re nale\u017Cy wywo\u0142a\u0107.\",\r\n \"menuDynamicSwitch\": \"Generuje przyciski mno\u017Cenia, warto\u015Bci mo\u017Cna wstawia\u0107 indywidualnie. Zast\u0105p TRIGGER unikaln\u0105 warto\u015Bci\u0105. D\u0142ugo\u015B\u0107OfRow jest opcjonalna i mo\u017Cna jej u\u017Cy\u0107 do ustawienia liczby przycisk\u00F3w w rz\u0119dzie.
    Przerywanie zmiany!!! \u00A0 Zmie\u0144 r\u0119cznie: `[Nazwa1:Warto\u015B\u01071, Nazwa2:Warto\u015B\u01072]` na `[Nazwa1|Warto\u015B\u01071, Nazwa2|Warto\u015B\u01072]`. Liczb dziesi\u0119tnych mo\u017Cna teraz u\u017Cywa\u0107 tak\u017Ce jako warto\u015Bci.\",\r\n \"menuList\": \"Lista menu\",\r\n \"menuNumber\": \"Numery mo\u017Cna ca\u0142kowicie wymienia\u0107. 0-6 oznacza zakres, a 1 wielko\u015B\u0107 kroku. UNIT jest zast\u0119powany przez jednostk\u0119, ale mo\u017Ce te\u017C pozosta\u0107 pusty. Zast\u0105p TRIGGER unikaln\u0105 warto\u015Bci\u0105.\",\r\n \"menuPercent\": \"10 mo\u017Cna wymieni\u0107 i wskazuje wielko\u015B\u0107 kroku 0%, 10%, 20%...! Zast\u0105p TRIGGER unikaln\u0105 warto\u015Bci\u0105. Jest to u\u017Cywane w akcji SetState. Wprowad\u017A \u017C\u0105dany identyfikator. Poni\u017Cej warto\u015Bci! wstawi\u0107\",\r\n \"menuSwitch\": \"Generuje dwa przyciski, w tym przypadku w\u0142\u0105czaj\u0105ce i wy\u0142\u0105czaj\u0105ce z odpowiednimi warto\u015Bciami prawda i fa\u0142sz. Zast\u0105p TRIGGER unikaln\u0105 warto\u015Bci\u0105.\",\r\n \"menuToCopy\": \"Najpierw wybierz menu, do kt\u00F3rego chcesz skopiowa\u0107 dane. Nast\u0119pnie linia, w kt\u00F3rej nale\u017Cy go doda\u0107. Je\u015Bli nie ma jeszcze danych, kliknij Zapisz, a zostan\u0105 one utworzone po zapytaniu o now\u0105 nazw\u0119 wyzwalacza.\",\r\n \"modifiedSubmenuValue\": \"Pozwala to ustawi\u0107 zmodyfikowan\u0105 warto\u015B\u0107 podmenu w po\u0142\u0105czeniu z cz\u0119\u015Bci\u0105 statyczn\u0105, na przyk\u0142ad: staticValue{value}staticValue\",\r\n \"navigation\": \"Nawigacja\",\r\n \"navigationButtons\": \"Przyciski nawigacji\",\r\n \"newlineCheckbox\": \"Nowa linia\",\r\n \"no\": \"NIE\",\r\n \"noValue\": \"Warto\u015B\u0107 nie jest okre\u015Blona w tek\u015Bcie zwracanym\",\r\n \"notifiedByChangeOfAnotherState\": \"Je\u015Bli chcesz otrzyma\u0107 powiadomienie o zmianie innego punktu danych po ustawieniu punktu danych w polu wprowadzania ID. Zmiana zostanie udost\u0119pniona tylko wtedy, gdy zostanie ustawiona opcja ack:true. Obowi\u0105zkowe jest podanie tekstu poza {}, w przeciwnym razie zostanie on dodany automatycznie.\",\r\n \"ok\": \"OK\",\r\n \"oneTimeKey\": \"\u017B\u0105da od klient\u00F3w zmiany rozmiaru klawiatury w pionie w celu zapewnienia optymalnego dopasowania (np. zmniejszenia klawiatury, je\u015Bli s\u0105 tylko dwa rz\u0119dy przycisk\u00F3w). Domy\u015Blnie ustawiona jest warto\u015B\u0107 false. W takim przypadku niestandardowa klawiatura ma zawsze t\u0119 sam\u0105 wysoko\u015B\u0107 co standardowa klawiatura aplikacji.\",\r\n \"overview\": \"Przegl\u0105d\",\r\n \"parseMode\": \"Tryb analizy kodu HTML\",\r\n \"parseModeBold\": \"Tekst w trybie analizy jest pogrubiony\",\r\n \"parseModeCode\": \"Tekst w trybie analizy jest kodem\",\r\n \"parseModeItalic\": \"Tekst w trybie analizy jest kursyw\u0105\",\r\n \"parseModeLink\": \"Tekst w trybie analizy to link\",\r\n \"password\": \"Has\u0142o\",\r\n \"percent\": \"Procent\",\r\n \"picSendDelay\": \"Op\u00F3\u017Anienie wysy\u0142ania zdj\u0119\u0107\",\r\n \"placeholderInstance\": \"--Prosz\u0119 wybra\u0107 instancj\u0119 telegramu--\",\r\n \"placeholderValue\": \"Symbol zast\u0119pczy warto\u015Bci\",\r\n \"reallyDelete\": \"Czy na pewno chcesz to usun\u0105\u0107?\",\r\n \"renameMenu\": \"Zmie\u0144 nazw\u0119 menu\",\r\n \"returnText\": \"Zwr\u00F3\u0107 tekst\",\r\n \"save\": \"Ratowa\u0107\",\r\n \"select\": \"Wybiera\u0107\",\r\n \"selectAMenuDropBox\": \"Wybierz menu, wybierz opcj\u0119 przenie\u015B lub skopiuj. Uwa\u017Caj! U\u017Cytkownik musi by\u0107 aktywny w wybranym menu!\",\r\n \"selectTargetMenu\": \"Wybierz menu docelowe\",\r\n \"sendMenuAfterRestart\": \"Wy\u015Blij menu po ponownym uruchomieniu\",\r\n \"setAck\": \"Ustaw flag\u0119 potwierdzenia\",\r\n \"setDynamicValue\": \"Umo\u017Cliwia to zapisywanie warto\u015Bci dynamicznych w punktach danych. Wystarczy wykona\u0107 po\u0142\u0105czenie, a nast\u0119pnie wprowadzi\u0107 warto\u015B\u0107 w polu wej\u015Bciowym. RequestText: Tekst \u017C\u0105dania warto\u015Bci. Typ: typ warto\u015Bci (logiczna lub liczba). Potwierd\u017ATekst: Tekst potwierdzaj\u0105cy warto\u015B\u0107. ID: Je\u015Bli chcesz potwierdzi\u0107, \u017Ce pochodzisz z innego stanu, wprowad\u017A tutaj identyfikator. (jest to opcjonalne)\",\r\n \"setID\": \"Ustawia warto\u015B\u0107 identyfikatora na val, z potwierdzeniem (potwierdzone)\",\r\n \"setMenu\": \"Ustaw menu\",\r\n \"setWithAck\": \"Ustaw warto\u015B\u0107 za pomoc\u0105 flagi potwierdzenia\",\r\n \"settings\": \"Ustawienia\",\r\n \"startMenus\": \"Menu startowe\",\r\n \"startSide\": \"Strona startowa\",\r\n \"statusMenu\": \"Odpytuje warto\u015B\u0107 identyfikatora, a nast\u0119pnie zast\u0119puje j\u0105 warto\u015Bci\u0105, dzi\u0119ki czemu mo\u017Cna wok\u00F3\u0142 niego napisa\u0107 tekst, mo\u017Cna go r\u00F3wnie\u017C u\u017Cy\u0107 wi\u0119cej ni\u017C raz z rz\u0119du. Parametr true umo\u017Cliwia zmian\u0119 warto\u015Bci poprzez zmian\u0119 funkcji. Je\u015Bli nie zmienisz tej warto\u015Bci, musisz ustawi\u0107 j\u0105 na false, ale za tym kryje si\u0119 kolejne \u017C\u0105danie {status: ... ze zmian\u0105:true.\",\r\n \"submenu\": \"Podmenu\",\r\n \"switch\": \"Prze\u0142\u0105cznik\",\r\n \"switchCheckbox\": \"Prze\u0142\u0105cznik\",\r\n \"telegramInstance\": \"Instancja telegramu\",\r\n \"telegramUser\": \"U\u017Cytkownicy Telegramu\",\r\n \"text\": \"Tekst\",\r\n \"textNoEntry\": \"W przypadku braku wpisu zostanie wys\u0142any SMS!\",\r\n \"toggle\": \"D\u017Awignia kolankowa\",\r\n \"trigger\": \"Spust\",\r\n \"tsTimestamp\": \"Znacznik czasu. Konwertuje znacznik czasu Uniksa na czas lokalny, format mo\u017Cna zmieni\u0107 na przyk\u0142ad na DD.MM.RRRR YY gg:mm:ss:sss\",\r\n \"unusedTrigger\": \"Nieu\u017Cywany wyzwalacz\",\r\n \"url\": \"Adres URL\",\r\n \"usedTrigger\": \"U\u017Cywany spust\",\r\n \"user\": \"U\u017Cytkownik\",\r\n \"userList\": \"Lista u\u017Cytkownik\u00F3w\",\r\n \"userSelect\": \"Wybierz u\u017Cytkownika lub dezaktywuj Menu, aby m\u00F3c zapisa\u0107!\",\r\n \"value\": \"Warto\u015B\u0107\",\r\n \"valueRound\": \"Zaokr\u0105gla warto\u015B\u0107 na przyk\u0142ad do 2 miejsc po przecinku\",\r\n \"values\": \"Warto\u015Bci\",\r\n \"yes\": \"Tak\"\r\n}\r\n", "{\r\n \"ID\": \"ID\",\r\n \"IDs\": \"\u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440\u0438\",\r\n \"abort\": \"\u041F\u0435\u0440\u0435\u0440\u0432\u0430\u0442\u0438\",\r\n \"ack\": \"Ack\",\r\n \"action\": \"\u0414\u0456\u044F\",\r\n \"active\": \"\u0410\u043A\u0442\u0438\u0432\u043D\u0438\u0439\",\r\n \"activeMenu\": \"\u0410\u043A\u0442\u0438\u0432\u043D\u0435 \u043C\u0435\u043D\u044E:\",\r\n \"add\": \"\u0434\u043E\u0434\u0430\u0442\u0438\",\r\n \"addAction\": \"\u0414\u043E\u0434\u0430\u0442\u0438 \u043D\u043E\u0432\u0443 \u0434\u0456\u044E\",\r\n \"addMenu\": \"\u0414\u043E\u0434\u0430\u0439\u0442\u0435 \u043D\u043E\u0432\u0443 \u043D\u0430\u0437\u0432\u0443 \u043C\u0435\u043D\u044E\",\r\n \"binding\": \"\u041F\u0440\u0438\u0432\u2019\u044F\u0437\u043A\u0438: \u0441\u043F\u043E\u0447\u0430\u0442\u043A\u0443 Var \u0437 \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440\u043E\u043C, \u043F\u043E\u0442\u0456\u043C \u0443\u043C\u043E\u0432\u0430 \u0442\u0430 \u0442\u0435\u043A\u0441\u0442.\",\r\n \"breakpointNewline\": \"\u0422\u043E\u0447\u043A\u0430 \u0437\u0443\u043F\u0438\u043D\u0443 \u0434\u043B\u044F \u043D\u043E\u0432\u043E\u0433\u043E \u0440\u044F\u0434\u043A\u0430, \u0432\u0441\u0442\u0430\u0432\u0442\u0435 \u0446\u0435 \u043B\u0438\u0448\u0435 \u0432 \u0442\u0435\u043A\u0441\u0442\",\r\n \"call\": \"\u0422\u0435\u043B\u0435\u0444\u043E\u043D\u0443\u0439\u0442\u0435\",\r\n \"cancel\": \"\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438\",\r\n \"changeFunction\": \"\u0417\u043C\u0456\u043D\u044E\u0454 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 \u0442\u0435\u043A\u0441\u0442\u0456, \u0449\u043E \u043F\u043E\u0432\u0435\u0440\u0442\u0430\u0454\u0442\u044C\u0441\u044F, \u0443 \u0446\u044C\u043E\u043C\u0443 \u0432\u0438\u043F\u0430\u0434\u043A\u0443 \u0437 \u0456\u0441\u0442\u0438\u043D\u043D\u043E\u0433\u043E \u043D\u0430 \u0443\u0432\u0456\u043C\u043A\u043D\u0435\u043D\u0435 \u0442\u0430 \u0437 \u043D\u0435\u043F\u0440\u0430\u0432\u0434\u0438\u0432\u043E\u0433\u043E \u043D\u0430 \u0432\u0438\u043C\u043A\u043D\u0435\u043D\u0435\",\r\n \"chooseAction\": \"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0434\u0456\u044E\",\r\n \"close\": \"\u0417\u0430\u043A\u0440\u0438\u0442\u0438\",\r\n \"commonName\": \"\u0412\u0438\u0432\u043E\u0434\u0438\u0442\u044C \u043D\u0430\u0437\u0432\u0443 \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u0438\u0445\",\r\n \"condition\": \"\u0425\u0432\u043E\u0440\u043E\u0431\u0430\",\r\n \"conditionMenu\": \"\u0423\u043C\u043E\u0432\u0430 \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0442\u044F \u043C\u0435\u043D\u044E\",\r\n \"confirm\": \"\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0438\",\r\n \"confirmDelete\": \"\u0423\u0441\u0456 \u0434\u0430\u043D\u0456 \u0431\u0443\u0434\u0435 \u0432\u0442\u0440\u0430\u0447\u0435\u043D\u043E. \u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0438?\",\r\n \"confirmMessage\": \"\u041F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u044C\u0442\u0435 \u043F\u043E\u0432\u0456\u0434\u043E\u043C\u043B\u0435\u043D\u043D\u044F\u043C\",\r\n \"confirmSet\": \"\u0423\u0432\u0430\u0433\u0430. \u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043B\u0438\u0448\u0435 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E, \u0430\u043B\u0435 \u0449\u0435 \u043D\u0435 \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043D\u043E \u0430\u0434\u0430\u043F\u0442\u0435\u0440\u043E\u043C. \u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u0438\u0434\u0430\u043B\u0438\u0442\u0438 noValue, \u0442\u043E\u0434\u0456 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0437\u0438\u0442\u044C\u0441\u044F. \u041F\u043E\u0437\u0438\u0446\u0456\u044F && \u0437\u0430\u043C\u0456\u043D\u044E\u0454\u0442\u044C\u0441\u044F \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\u043C \u0430\u0431\u043E \u0431\u0443\u0434\u0435 \u0440\u043E\u0437\u043C\u0456\u0449\u0435\u043D\u043E \u0432 \u043A\u0456\u043D\u0446\u0456\",\r\n \"convertsUnixTimestamp\": \"\u041F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u044E\u0454 \u043C\u0456\u0442\u043A\u0443 \u0447\u0430\u0441\u0443 Unix \u043D\u0430 \u043C\u0456\u0441\u0446\u0435\u0432\u0438\u0439 \u0447\u0430\u0441\",\r\n \"copy\": \"\u041A\u043E\u043F\u0456\u044F\",\r\n \"createMenu\": \"\u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0441\u0442\u0432\u043E\u0440\u0456\u0442\u044C \u043C\u0435\u043D\u044E!\",\r\n \"delay\": \"\u0417\u0430\u0442\u0440\u0438\u043C\u043A\u0430 (\u043C\u0441)\",\r\n \"delete\": \"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438\",\r\n \"directory\": \"\u0414\u043E\u0432\u0456\u0434\u043D\u0438\u043A\",\r\n \"doubleTrigger\": \"\u0423 \u0432\u0430\u0441 \u0454 \u043F\u043E\u0434\u0432\u0456\u0439\u043D\u0456 \u0442\u0440\u0438\u0433\u0435\u0440\u0438, \u0431\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0432\u0438\u0434\u0430\u043B\u0456\u0442\u044C \u0457\u0445!\",\r\n \"edit\": \"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438\",\r\n \"entryNotFound\": \"\u0417\u0430\u043F\u0438\u0441 \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E!\",\r\n \"executedMenu\": \"\u0412\u0438\u043A\u043E\u043D\u0430\u043D\u0435 \u043C\u0435\u043D\u044E\",\r\n \"filename\": \"\u0406\u043C'\u044F \u0444\u0430\u0439\u043B\u0443\",\r\n \"hide\": \"\u0421\u0445\u043E\u0432\u0430\u0442\u0438\",\r\n \"identification\": \"\u0406\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0446\u0456\u044F\",\r\n \"inactive\": \"\u041D\u0435\u0430\u043A\u0442\u0438\u0432\u043D\u0438\u0439\",\r\n \"insertID\": \"\u0429\u043E\u0431 \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440, \u043F\u0440\u043E\u0441\u0442\u043E \u0441\u043F\u043E\u0447\u0430\u0442\u043A\u0443 \u0432\u0441\u0442\u0430\u0432\u0442\u0435 \u0431\u043B\u043E\u043A, \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440. \u041F\u043E\u0442\u0456\u043C \u0439\u043E\u0433\u043E \u0431\u0443\u0434\u0435 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E \u0432\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u043E \u0443 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u043D\u0435 \u043C\u0456\u0441\u0446\u0435, \u043D\u0430\u0432\u0456\u0442\u044C \u044F\u043A\u0449\u043E ID \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u043E \u0437\u043C\u0456\u043D\u0438\u0442\u0438. \u042F\u043A\u0449\u043E \u043A\u043E\u0434 \u043D\u0435 \u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u0454 \u0431\u043B\u043E\u043A, \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440 \u0434\u043E\u0434\u0430\u0454\u0442\u044C\u0441\u044F \u0432 \u043A\u0456\u043D\u0446\u0456.\",\r\n \"instance\": \"\u0415\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440\",\r\n \"isSubmenu\": \"\u0426\u0435 \u043F\u0456\u0434\u043C\u0435\u043D\u044E!\",\r\n \"jsonShoppingList\": \"\u0422\u0435 \u0441\u0430\u043C\u0435, \u0449\u043E \u0439 \u0432\u0438\u0449\u0435, \u0430\u043B\u0435 \u043A\u043E\u043B\u0438 \u0432\u0438 \u043D\u0430\u0442\u0438\u0441\u043A\u0430\u0454\u0442\u0435 \u043A\u043D\u043E\u043F\u043A\u0443, \u0435\u043B\u0435\u043C\u0435\u043D\u0442 \u0431\u0443\u0434\u0435 \u0432\u0438\u0434\u0430\u043B\u0435\u043D\u043E, \u043A\u043B\u044E\u0447\u0435\u043C \u0434\u043B\u044F \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432 \u0454 `name:`, \u0432\u0438 \u0442\u0430\u043A\u043E\u0436 \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u043E\u0434\u0430\u0442\u0438 `time:`. \u0412\u0430\u0436\u043B\u0438\u0432\u043E!!! \\\"\u0441\u043F\u0438\u0441\u043E\u043A \u043F\u043E\u043A\u0443\u043F\u043E\u043A\\\" \u043D\u0435 \u043C\u043E\u0436\u043D\u0430 \u0437\u043C\u0456\u043D\u044E\u0432\u0430\u0442\u0438.\",\r\n \"jsonTable\": \"!!! \u0429\u043E\u0431 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0439\u043E\u0433\u043E, parseMode \u043D\u0435 \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0430\u043A\u0442\u0438\u0432\u043D\u0438\u043C !!! \u0421\u0442\u0432\u043E\u0440\u044E\u0454 \u0442\u0430\u0431\u043B\u0438\u0446\u044E \u0437 JSON \u044F\u043A Text-Table. \u041F\u0435\u0440\u0448\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u2013 \u0446\u0435 \u043E\u0434\u0438\u043D \u043A\u043B\u044E\u0447 JSON, \u0430 \u0437\u0430 \u043D\u0438\u043C \u2013 \u043D\u0430\u0437\u0432\u0430 \u0441\u0442\u043E\u0432\u043F\u0446\u044F. \u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u0431\u0456\u043B\u044C\u0448\u0435 \u0434\u0432\u043E\u0445 \u0437\u043D\u0430\u0447\u0435\u043D\u044C. \u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A \u043C\u0430\u0454 \u0431\u0443\u0442\u0438 \u0437\u0430\u043F\u043E\u0432\u043D\u0435\u043D\u0438\u0439. \u041D\u0435 \u0437\u043C\u0456\u043D\u044E\u0439\u0442\u0435 TextTable.\",\r\n \"latitude\": \"\u0428\u0438\u0440\u043E\u0442\u0430\",\r\n \"lcTimestamp\": \"LastChange. \u041F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u044E\u0454 \u043C\u0456\u0442\u043A\u0443 \u0447\u0430\u0441\u0443 Unix \u043D\u0430 \u043C\u0456\u0441\u0446\u0435\u0432\u0438\u0439 \u0447\u0430\u0441, \u0444\u043E\u0440\u043C\u0430\u0442 \u043C\u043E\u0436\u043D\u0430 \u0437\u043C\u0456\u043D\u0438\u0442\u0438, \u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, \u043D\u0430 \u0414\u0414.\u041C\u041C.\u0420\u0420\u0420\u0420 \u0420\u0420 \u0433\u043E\u0434:\u0445\u0445:\u0441\u0441:\u0441\u0441\",\r\n \"linkedWith\": \"\u041F\u043E\u0432'\u044F\u0437\u0430\u043D\u0438\u0439 \u0437:\",\r\n \"longitude\": \"\u0414\u043E\u0432\u0433\u043E\u0442\u0430\",\r\n \"manuallyValue\": \"\u0426\u0435 \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u0454 \u0432\u0440\u0443\u0447\u043D\u0443 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0432 \u043F\u043E\u0454\u0434\u043D\u0430\u043D\u043D\u0456 \u0437\u0456 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\u043C ID, \u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434: staticValue{id:ID}staticValue\",\r\n \"math\": \"\u041F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u044E\u0454 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F, /10 \u043C\u043E\u0436\u043D\u0430 \u0437\u0430\u043C\u0456\u043D\u0438\u0442\u0438\",\r\n \"menu\": \"\u041C\u0435\u043D\u044E\",\r\n \"menuBack\": \"\u041F\u0440\u0438 \u043D\u0430\u0442\u0438\u0441\u043A\u0430\u043D\u043D\u0456 \u0432\u0456\u0434\u0431\u0443\u0432\u0430\u0454\u0442\u044C\u0441\u044F \u043F\u043E\u0432\u0435\u0440\u043D\u0435\u043D\u043D\u044F \u0434\u043E \u043F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u044C\u043E\u0433\u043E \u043C\u0435\u043D\u044E\",\r\n \"menuDeleteAll\": \"\u0413\u0435\u043D\u0435\u0440\u0443\u0454 \u043A\u043D\u043E\u043F\u043A\u0443 \u0434\u043B\u044F \u0432\u0438\u0434\u0430\u043B\u0435\u043D\u043D\u044F \u0432\u0441\u0456\u0445 \u043F\u043E\u0432\u0456\u0434\u043E\u043C\u043B\u0435\u043D\u044C \u0432\u0456\u0434 \u0431\u043E\u0442\u0430. \u041D\u0430\u0432\u0456\u0433\u0430\u0446\u0456\u044F \u043D\u0435\u043E\u0431\u043E\u0432'\u044F\u0437\u043A\u043E\u0432\u0430. \u041F\u0440\u043E\u0441\u0442\u043E \u0437\u0430\u043B\u0438\u0448\u0442\u0435 \u0446\u0435 \u043F\u043E\u043B\u0435 \u043F\u043E\u0440\u043E\u0436\u043D\u0456\u043C, \u0456\u043D\u0430\u043A\u0448\u0435 \u0432\u0438 \u0437\u043C\u043E\u0436\u0435\u0442\u0435 \u0443\u0432\u0456\u0439\u0442\u0438 \u0432 \u043C\u0435\u043D\u044E, \u044F\u043A\u0435 \u0441\u043B\u0456\u0434 \u0432\u0438\u043A\u043B\u0438\u043A\u0430\u0442\u0438.\",\r\n \"menuDynamicSwitch\": \"\u0413\u0435\u043D\u0435\u0440\u0443\u0454 \u043A\u0456\u043B\u044C\u043A\u0430 \u043A\u043D\u043E\u043F\u043E\u043A, \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043C\u043E\u0436\u043D\u0430 \u0432\u0441\u0442\u0430\u0432\u043B\u044F\u0442\u0438 \u043E\u043A\u0440\u0435\u043C\u043E. \u0417\u0430\u043C\u0456\u043D\u0456\u0442\u044C TRIGGER \u043D\u0430 \u0443\u043D\u0456\u043A\u0430\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F. LengthOfRow \u0454 \u043D\u0435\u043E\u0431\u043E\u0432\u2019\u044F\u0437\u043A\u043E\u0432\u0438\u043C \u0456 \u043C\u043E\u0436\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u0434\u043B\u044F \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044F \u043A\u0456\u043B\u044C\u043A\u043E\u0441\u0442\u0456 \u043A\u043D\u043E\u043F\u043E\u043A \u0443 \u0440\u044F\u0434\u043A\u0443.
    \u041A\u0440\u0438\u0442\u043E\u0432\u0430 \u0437\u043C\u0456\u043D\u0430!!! \u00A0 \u0417\u043C\u0456\u043D\u0456\u0442\u044C \u0432\u0440\u0443\u0447\u043D\u0443: `[Name1:Value1, Name2:Value2]` \u043D\u0430 `[Name1|Value1, Name2|Value2]`. \u0414\u0435\u0441\u044F\u0442\u043A\u043E\u0432\u0456 \u0447\u0438\u0441\u043B\u0430 \u0442\u0435\u043F\u0435\u0440 \u0442\u0430\u043A\u043E\u0436 \u043C\u043E\u0436\u043D\u0430 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u044F\u043A \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F.\",\r\n \"menuList\": \"\u0421\u043F\u0438\u0441\u043E\u043A \u043C\u0435\u043D\u044E\",\r\n \"menuNumber\": \"\u041D\u043E\u043C\u0435\u0440\u0438 \u043C\u043E\u0436\u043D\u0430 \u043F\u043E\u0432\u043D\u0456\u0441\u0442\u044E \u043F\u043E\u043C\u0456\u043D\u044F\u0442\u0438. 0-6 \u0432\u043A\u0430\u0437\u0443\u0454 \u043D\u0430 \u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D, \u0430 1 \u2014 \u043D\u0430 \u0440\u043E\u0437\u043C\u0456\u0440 \u043A\u0440\u043E\u043A\u0443, UNIT \u0437\u0430\u043C\u0456\u043D\u044E\u0454\u0442\u044C\u0441\u044F \u043E\u0434\u0438\u043D\u0438\u0446\u0435\u044E, \u0430\u043B\u0435 \u0439\u043E\u0433\u043E \u043C\u043E\u0436\u043D\u0430 \u0437\u0430\u043B\u0438\u0448\u0438\u0442\u0438 \u043F\u0443\u0441\u0442\u0438\u043C. \u0417\u0430\u043C\u0456\u043D\u0456\u0442\u044C TRIGGER \u043D\u0430 \u0443\u043D\u0456\u043A\u0430\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F.\",\r\n \"menuPercent\": \"10 \u043C\u043E\u0436\u043D\u0430 \u0437\u0430\u043C\u0456\u043D\u0438\u0442\u0438 \u0456 \u0432\u043A\u0430\u0437\u0443\u0454 \u043D\u0430 \u0440\u043E\u0437\u043C\u0456\u0440 \u043A\u0440\u043E\u043A\u0443 0%, 10%, 20%...! \u0417\u0430\u043C\u0456\u043D\u0456\u0442\u044C TRIGGER \u043D\u0430 \u0443\u043D\u0456\u043A\u0430\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F. \u0426\u0435 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0454\u0442\u044C\u0441\u044F \u0432 \u0434\u0456\u0457 SetState. \u0412\u0432\u0435\u0434\u0456\u0442\u044C \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u0438\u0439 ID. \u041D\u0438\u0436\u0447\u0435 \u0432\u0430\u0440\u0442\u043E\u0441\u0442\u0456! \u0432\u0441\u0442\u0430\u0432\u043A\u0430\",\r\n \"menuSwitch\": \"\u0421\u0442\u0432\u043E\u0440\u044E\u0454 \u0434\u0432\u0456 \u043A\u043D\u043E\u043F\u043A\u0438, \u0443 \u0446\u044C\u043E\u043C\u0443 \u0432\u0438\u043F\u0430\u0434\u043A\u0443 \u0443\u0432\u0456\u043C\u043A\u043D\u0435\u043D\u043D\u044F \u0442\u0430 \u0432\u0438\u043C\u043A\u043D\u0435\u043D\u043D\u044F \u0437 \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u043D\u0438\u043C\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\u043C\u0438 true \u0442\u0430 false. \u0417\u0430\u043C\u0456\u043D\u0456\u0442\u044C TRIGGER \u043D\u0430 \u0443\u043D\u0456\u043A\u0430\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F.\",\r\n \"menuToCopy\": \"\u0421\u043F\u043E\u0447\u0430\u0442\u043A\u0443 \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043C\u0435\u043D\u044E, \u0434\u043E \u044F\u043A\u043E\u0433\u043E \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u043E \u0441\u043A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438 \u0434\u0430\u043D\u0456. \u041F\u043E\u0442\u0456\u043C \u0440\u044F\u0434\u043E\u043A, \u0434\u0435 \u0439\u043E\u0433\u043E \u0441\u043B\u0456\u0434 \u0434\u043E\u0434\u0430\u0442\u0438. \u042F\u043A\u0449\u043E \u0434\u0430\u043D\u0438\u0445 \u0449\u0435 \u043D\u0435\u043C\u0430\u0454, \u043D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u00AB\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438\u00BB, \u0456 \u0432\u0456\u043D \u0431\u0443\u0434\u0435 \u0441\u0442\u0432\u043E\u0440\u0435\u043D\u0438\u0439 \u043F\u0456\u0441\u043B\u044F \u0437\u0430\u043F\u0438\u0442\u0443 \u043D\u0430 \u043D\u043E\u0432\u0443 \u043D\u0430\u0437\u0432\u0443 \u0442\u0440\u0438\u0433\u0435\u0440\u0430.\",\r\n \"modifiedSubmenuValue\": \"\u0426\u0435 \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u0454 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043C\u043E\u0434\u0438\u0444\u0456\u043A\u043E\u0432\u0430\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043F\u0456\u0434\u043C\u0435\u043D\u044E \u0432 \u043F\u043E\u0454\u0434\u043D\u0430\u043D\u043D\u0456 \u0437\u0456 \u0441\u0442\u0430\u0442\u0438\u0447\u043D\u043E\u044E \u0447\u0430\u0441\u0442\u0438\u043D\u043E\u044E, \u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434: staticValue{value}staticValue\",\r\n \"navigation\": \"\u041D\u0430\u0432\u0456\u0433\u0430\u0446\u0456\u044F\",\r\n \"navigationButtons\": \"\u041A\u043D\u043E\u043F\u043A\u0438 \u043D\u0430\u0432\u0456\u0433\u0430\u0446\u0456\u0457\",\r\n \"newlineCheckbox\": \"\u041D\u043E\u0432\u0438\u0439 \u0440\u044F\u0434\u043E\u043A\",\r\n \"no\": \"\u043D\u0435\u043C\u0430\u0454\",\r\n \"noValue\": \"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043D\u0435 \u0432\u043A\u0430\u0437\u0430\u043D\u043E \u0432 \u0442\u0435\u043A\u0441\u0442\u0456 \u043F\u043E\u0432\u0435\u0440\u043D\u0435\u043D\u043D\u044F\",\r\n \"notifiedByChangeOfAnotherState\": \"\u042F\u043A\u0449\u043E \u0432\u0438 \u0445\u043E\u0447\u0435\u0442\u0435 \u043E\u0442\u0440\u0438\u043C\u0443\u0432\u0430\u0442\u0438 \u0441\u043F\u043E\u0432\u0456\u0449\u0435\u043D\u043D\u044F \u043F\u0440\u043E \u0437\u043C\u0456\u043D\u0443 \u0456\u043D\u0448\u043E\u0457 \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u0438\u0445 \u043F\u0456\u0441\u043B\u044F \u0442\u043E\u0433\u043E, \u044F\u043A \u0432\u0438 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u043B\u0438 \u0442\u043E\u0447\u043A\u0443 \u0434\u0430\u043D\u0438\u0445 \u0443 \u043F\u043E\u043B\u0456 \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440\u0430. \u0417\u043C\u0456\u043D\u0443 \u0431\u0443\u0434\u0435 \u043D\u0430\u0434\u0430\u043D\u043E \u0441\u043F\u0456\u043B\u044C\u043D\u0438\u0439 \u0434\u043E\u0441\u0442\u0443\u043F, \u043B\u0438\u0448\u0435 \u044F\u043A\u0449\u043E \u0434\u043B\u044F \u043D\u0435\u0457 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E ack:true. \u041E\u0431\u043E\u0432\u2019\u044F\u0437\u043A\u043E\u0432\u043E \u0432\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u0442\u0435\u043A\u0441\u0442 \u043F\u043E\u0437\u0430 {}, \u0456\u043D\u0430\u043A\u0448\u0435 \u0432\u0456\u043D \u0431\u0443\u0434\u0435 \u0434\u043E\u0434\u0430\u043D\u043E \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u043D\u043E.\",\r\n \"ok\": \"\u0434\u043E\u0431\u0440\u0435\",\r\n \"oneTimeKey\": \"\u041F\u0440\u043E\u0441\u0438\u0442\u044C \u043A\u043B\u0456\u0454\u043D\u0442\u0456\u0432 \u0437\u043C\u0456\u043D\u0438\u0442\u0438 \u0440\u043E\u0437\u043C\u0456\u0440 \u043A\u043B\u0430\u0432\u0456\u0430\u0442\u0443\u0440\u0438 \u043F\u043E \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u0456 \u0434\u043B\u044F \u043E\u043F\u0442\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u043F\u0440\u0438\u043F\u0430\u0441\u0443\u0432\u0430\u043D\u043D\u044F (\u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, \u0437\u0440\u043E\u0431\u0438\u0442\u0438 \u043A\u043B\u0430\u0432\u0456\u0430\u0442\u0443\u0440\u0443 \u043C\u0435\u043D\u0448\u043E\u044E, \u044F\u043A\u0449\u043E \u0454 \u043B\u0438\u0448\u0435 \u0434\u0432\u0430 \u0440\u044F\u0434\u0438 \u043A\u043D\u043E\u043F\u043E\u043A). \u0417\u0430 \u0437\u0430\u043C\u043E\u0432\u0447\u0443\u0432\u0430\u043D\u043D\u044F\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F false, \u0443 \u0446\u044C\u043E\u043C\u0443 \u0432\u0438\u043F\u0430\u0434\u043A\u0443 \u0441\u043F\u0435\u0446\u0456\u0430\u043B\u044C\u043D\u0430 \u043A\u043B\u0430\u0432\u0456\u0430\u0442\u0443\u0440\u0430 \u0437\u0430\u0432\u0436\u0434\u0438 \u043C\u0430\u0454 \u0442\u0443 \u0441\u0430\u043C\u0443 \u0432\u0438\u0441\u043E\u0442\u0443, \u0449\u043E \u0439 \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0430 \u043A\u043B\u0430\u0432\u0456\u0430\u0442\u0443\u0440\u0430 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u0438.\",\r\n \"overview\": \"\u041E\u0433\u043B\u044F\u0434\",\r\n \"parseMode\": \"\u0420\u0435\u0436\u0438\u043C \u0430\u043D\u0430\u043B\u0456\u0437\u0443 HTML\",\r\n \"parseModeBold\": \"\u0422\u0435\u043A\u0441\u0442 \u0443 \u0440\u0435\u0436\u0438\u043C\u0456 \u0430\u043D\u0430\u043B\u0456\u0437\u0443 \u0432\u0438\u0434\u0456\u043B\u044F\u0454\u0442\u044C\u0441\u044F \u0436\u0438\u0440\u043D\u0438\u043C \u0448\u0440\u0438\u0444\u0442\u043E\u043C\",\r\n \"parseModeCode\": \"\u0422\u0435\u043A\u0441\u0442 \u0443 Parse-Mode \u0454 \u043A\u043E\u0434\u043E\u043C\",\r\n \"parseModeItalic\": \"\u0422\u0435\u043A\u0441\u0442 \u0443 \u0440\u0435\u0436\u0438\u043C\u0456 \u0430\u043D\u0430\u043B\u0456\u0437\u0443 \u0432\u0438\u0434\u0456\u043B\u0435\u043D\u043E \u043A\u0443\u0440\u0441\u0438\u0432\u043E\u043C\",\r\n \"parseModeLink\": \"\u0422\u0435\u043A\u0441\u0442 \u0443 \u0440\u0435\u0436\u0438\u043C\u0456 \u0430\u043D\u0430\u043B\u0456\u0437\u0443 \u0454 \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F\u043C\",\r\n \"password\": \"\u041F\u0430\u0440\u043E\u043B\u044C\",\r\n \"percent\": \"\u0412\u0456\u0434\u0441\u043E\u0442\u043E\u043A\",\r\n \"picSendDelay\": \"\u0417\u0430\u0442\u0440\u0438\u043C\u043A\u0430 \u043D\u0430\u0434\u0441\u0438\u043B\u0430\u043D\u043D\u044F \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F\",\r\n \"placeholderInstance\": \"--\u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0435\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 \u0442\u0435\u043B\u0435\u0433\u0440\u0430\u043C\u0438--\",\r\n \"placeholderValue\": \"\u0417\u0430\u043F\u043E\u0432\u043D\u044E\u0432\u0430\u0447 \u0434\u043B\u044F \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\",\r\n \"reallyDelete\": \"\u0412\u0438 \u0441\u043F\u0440\u0430\u0432\u0434\u0456 \u0445\u043E\u0447\u0435\u0442\u0435 \u0446\u0435 \u0432\u0438\u0434\u0430\u043B\u0438\u0442\u0438?\",\r\n \"renameMenu\": \"\u041F\u0435\u0440\u0435\u0439\u043C\u0435\u043D\u0443\u0432\u0430\u0442\u0438 \u043D\u0430\u0437\u0432\u0443 \u043C\u0435\u043D\u044E\",\r\n \"returnText\": \"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u0438 \u0442\u0435\u043A\u0441\u0442\",\r\n \"save\": \"\u0437\u0431\u0435\u0440\u0435\u0433\u0442\u0438\",\r\n \"select\": \"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C\",\r\n \"selectAMenuDropBox\": \"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043C\u0435\u043D\u044E, \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043F\u0435\u0440\u0435\u043C\u0456\u0441\u0442\u0438\u0442\u0438 \u0430\u0431\u043E \u0441\u043A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438. \u041E\u0431\u0435\u0440\u0435\u0436\u043D\u043E! \u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447 \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0431\u0443\u0442\u0438 \u0430\u043A\u0442\u0438\u0432\u043D\u0438\u043C \u0443 \u0432\u0438\u0431\u0440\u0430\u043D\u043E\u043C\u0443 \u043C\u0435\u043D\u044E!\",\r\n \"selectTargetMenu\": \"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u0446\u0456\u043B\u044C\u043E\u0432\u0435 \u043C\u0435\u043D\u044E\",\r\n \"sendMenuAfterRestart\": \"\u041D\u0430\u0434\u0456\u0441\u043B\u0430\u0442\u0438 \u043C\u0435\u043D\u044E \u043F\u0456\u0441\u043B\u044F \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u043A\u0443\",\r\n \"setAck\": \"\u0412\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043F\u0440\u0430\u043F\u043E\u0440 \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043D\u043D\u044F\",\r\n \"setDynamicValue\": \"\u0426\u0435 \u0434\u043E\u0437\u0432\u043E\u043B\u044F\u0454 \u0437\u0430\u043F\u0438\u0441\u0443\u0432\u0430\u0442\u0438 \u0434\u0438\u043D\u0430\u043C\u0456\u0447\u043D\u0456 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0432 \u0442\u043E\u0447\u043A\u0438 \u0434\u0430\u043D\u0438\u0445. \u041F\u0440\u043E\u0441\u0442\u043E \u0437\u0430\u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0443\u0439\u0442\u0435, \u0430 \u043F\u043E\u0442\u0456\u043C \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u0432\u0435\u0441\u0442\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0432 \u043F\u043E\u043B\u0435 \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u044F. RequestText: \u0442\u0435\u043A\u0441\u0442 \u0434\u043B\u044F \u0437\u0430\u043F\u0438\u0442\u0443 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F. \u0422\u0438\u043F: \u0442\u0438\u043F \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F (\u043B\u043E\u0433\u0456\u0447\u043D\u0435 \u0430\u0431\u043E \u0447\u0438\u0441\u043B\u043E\u0432\u0435). ConfirmText: \u0422\u0435\u043A\u0441\u0442 \u0434\u043B\u044F \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043D\u043D\u044F \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F. ID: \u044F\u043A\u0449\u043E \u0432\u0438 \u0445\u043E\u0447\u0435\u0442\u0435 \u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0438 \u0437 \u0456\u043D\u0448\u043E\u0433\u043E \u0448\u0442\u0430\u0442\u0443, \u0432\u0432\u0435\u0434\u0456\u0442\u044C \u0442\u0443\u0442 \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440. (\u0426\u0435 \u043D\u0435\u043E\u0431\u043E\u0432\u2019\u044F\u0437\u043A\u043E\u0432\u043E)\",\r\n \"setID\": \"\u0412\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u044E\u0454 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440\u0430 \u044F\u043A val \u0437 ack(confirmed)\",\r\n \"setMenu\": \"\u0412\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u043C\u0435\u043D\u044E\",\r\n \"setWithAck\": \"\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0456\u0442\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0437\u0430 \u0434\u043E\u043F\u043E\u043C\u043E\u0433\u043E\u044E ack-Flag\",\r\n \"settings\": \"\u041D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F\",\r\n \"startMenus\": \"\u041C\u0435\u043D\u044E \u00AB\u041F\u0443\u0441\u043A\u00BB.\",\r\n \"startSide\": \"\u0421\u0442\u0430\u0440\u0442\u043E\u0432\u0430 \u0441\u0442\u043E\u0440\u043E\u043D\u0430\",\r\n \"statusMenu\": \"\u0417\u0430\u043F\u0438\u0442\u0443\u0454 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0456\u0434\u0435\u043D\u0442\u0438\u0444\u0456\u043A\u0430\u0442\u043E\u0440\u0430, \u0430 \u043F\u043E\u0442\u0456\u043C \u0437\u0430\u043C\u0456\u043D\u044E\u0454 \u0439\u043E\u0433\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F\u043C, \u0442\u043E\u043C\u0443 \u043D\u0430\u0432\u043A\u043E\u043B\u043E \u043D\u044C\u043E\u0433\u043E \u043C\u043E\u0436\u043D\u0430 \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u0438 \u0442\u0435\u043A\u0441\u0442, \u0439\u043E\u0433\u043E \u0442\u0430\u043A\u043E\u0436 \u043C\u043E\u0436\u043D\u0430 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u043E\u0432\u0443\u0432\u0430\u0442\u0438 \u043A\u0456\u043B\u044C\u043A\u0430 \u0440\u0430\u0437\u0456\u0432 \u043F\u043E\u0441\u043F\u0456\u043B\u044C. \u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 true \u2014 \u0446\u0435 \u043C\u043E\u0436\u043B\u0438\u0432\u0456\u0441\u0442\u044C \u0437\u043C\u0456\u043D\u0438\u0442\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0448\u043B\u044F\u0445\u043E\u043C \u0437\u043C\u0456\u043D\u0438 \u0444\u0443\u043D\u043A\u0446\u0456\u0457. \u0412\u0438 \u043F\u043E\u0432\u0438\u043D\u043D\u0456 \u0432\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F false, \u044F\u043A\u0449\u043E \u0432\u0438 \u043D\u0435 \u0437\u043C\u0456\u043D\u044E\u0454\u0442\u0435 \u0446\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F, \u0430\u043B\u0435 \u0437\u0430 \u0446\u0438\u043C \u0454 \u0456\u043D\u0448\u0438\u0439 {status: ... \u0437\u0430\u043F\u0438\u0442 \u0456\u0437 change:true.\",\r\n \"submenu\": \"\u041F\u0456\u0434\u043C\u0435\u043D\u044E\",\r\n \"switch\": \"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u0447\",\r\n \"switchCheckbox\": \"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u0447\",\r\n \"telegramInstance\": \"\u041F\u0440\u0438\u043C\u0456\u0440\u043D\u0438\u043A Telegram\",\r\n \"telegramUser\": \"\u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0456 \u0437 Telegram\",\r\n \"text\": \"\u0442\u0435\u043A\u0441\u0442\",\r\n \"textNoEntry\": \"\u0422\u0435\u043A\u0441\u0442 \u0431\u0443\u0434\u0435 \u043D\u0430\u0434\u0456\u0441\u043B\u0430\u043D\u043E, \u044F\u043A\u0449\u043E \u0437\u0430\u043F\u0438\u0441 \u043D\u0435 \u0437\u043D\u0430\u0439\u0434\u0435\u043D\u043E!\",\r\n \"toggle\": \"\u041F\u0435\u0440\u0435\u043C\u0438\u043A\u0430\u0447\",\r\n \"trigger\": \"\u0422\u0440\u0438\u0433\u0435\u0440\",\r\n \"tsTimestamp\": \"TimeStamp. \u041F\u0435\u0440\u0435\u0442\u0432\u043E\u0440\u044E\u0454 \u043C\u0456\u0442\u043A\u0443 \u0447\u0430\u0441\u0443 Unix \u043D\u0430 \u043C\u0456\u0441\u0446\u0435\u0432\u0438\u0439 \u0447\u0430\u0441, \u0444\u043E\u0440\u043C\u0430\u0442 \u043C\u043E\u0436\u043D\u0430 \u0437\u043C\u0456\u043D\u0438\u0442\u0438, \u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, \u043D\u0430 \u0414\u0414.\u041C\u041C.\u0420\u0420\u0420\u0420 \u0420\u0420 \u0433\u043E\u0434:\u0445\u0445:\u0441\u0441:\u0441\u0441\",\r\n \"unusedTrigger\": \"\u041D\u0435\u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u0438\u0439 \u0442\u0440\u0438\u0433\u0435\u0440\",\r\n \"url\": \"URL\",\r\n \"usedTrigger\": \"\u0422\u0440\u0438\u0433\u0435\u0440 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u0438\u0439\",\r\n \"user\": \"\u041A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\",\r\n \"userList\": \"\u0421\u043F\u0438\u0441\u043E\u043A \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0456\u0432\",\r\n \"userSelect\": \"\u0411\u0443\u0434\u044C \u043B\u0430\u0441\u043A\u0430, \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C \u043A\u043E\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430 \u0430\u0431\u043E \u0434\u0435\u0430\u043A\u0442\u0438\u0432\u0443\u0439\u0442\u0435 \u043C\u0435\u043D\u044E, \u0431\u043E \u0432\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0437\u0431\u0435\u0440\u0435\u0433\u0442\u0438!\",\r\n \"value\": \"\u0417\u043D\u0430\u0447\u0435\u043D\u043D\u044F\",\r\n \"valueRound\": \"\u041E\u043A\u0440\u0443\u0433\u043B\u044E\u0454 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F, \u043D\u0430\u043F\u0440\u0438\u043A\u043B\u0430\u0434, \u0434\u043E 2 \u0437\u043D\u0430\u043A\u0456\u0432 \u043F\u0456\u0441\u043B\u044F \u043A\u043E\u043C\u0438\",\r\n \"values\": \"\u0426\u0456\u043D\u043D\u043E\u0441\u0442\u0456\",\r\n \"yes\": \"\u0442\u0430\u043A\"\r\n}\r\n", "{\r\n \"ID\": \"ID\",\r\n \"IDs\": \"ID\",\r\n \"abort\": \"\u4E2D\u6B62\",\r\n \"ack\": \"\u786E\u8BA4\",\r\n \"action\": \"\u884C\u52A8\",\r\n \"active\": \"\u79EF\u6781\u7684\",\r\n \"activeMenu\": \"\u6D3B\u52A8\u83DC\u5355\uFF1A\",\r\n \"add\": \"\u6DFB\u52A0\",\r\n \"addAction\": \"\u6DFB\u52A0\u65B0\u52A8\u4F5C\",\r\n \"addMenu\": \"\u6DFB\u52A0\u65B0\u83DC\u5355\u540D\u79F0\",\r\n \"binding\": \"\u7ED1\u5B9A\uFF1A\u9996\u5148\u662F\u5E26\u6709 id \u7684 Var\uFF0C\u7136\u540E\u662F\u6761\u4EF6\u548C\u6587\u672C\u3002\",\r\n \"breakpointNewline\": \"\u65B0\u884C\u7684\u65AD\u70B9\uFF0C\u4EC5\u5C06\u5176\u63D2\u5165\u6587\u672C\u4E2D\",\r\n \"call\": \"\u79F0\u547C\",\r\n \"cancel\": \"\u53D6\u6D88\",\r\n \"changeFunction\": \"\u66F4\u6539\u8FD4\u56DE\u6587\u672C\u4E2D\u7684\u503C\uFF0C\u5728\u672C\u4F8B\u4E2D\u4ECE true \u66F4\u6539\u4E3A on\uFF0C\u5C06 false \u66F4\u6539\u4E3A off\",\r\n \"chooseAction\": \"\u9009\u62E9\u4E00\u4E2A\u52A8\u4F5C\",\r\n \"close\": \"\u5173\u95ED\",\r\n \"commonName\": \"\u8F93\u51FA\u6570\u636E\u70B9\u7684\u540D\u79F0\",\r\n \"condition\": \"\u5065\u5EB7\uFF09\u72B6\u51B5\",\r\n \"conditionMenu\": \"\u6253\u5F00\u83DC\u5355\u7684\u6761\u4EF6\",\r\n \"confirm\": \"\u786E\u8BA4\",\r\n \"confirmDelete\": \"\u6240\u6709\u6570\u636E\u90FD\u5C06\u4E22\u5931\u3002\u786E\u8BA4\uFF1F\",\r\n \"confirmMessage\": \"\u77ED\u4FE1\u786E\u8BA4\",\r\n \"confirmSet\": \"\u6CE8\u610F\u529B\u3002\u8BE5\u503C\u4EC5\u88AB\u8BBE\u7F6E\uFF0C\u4F46\u5C1A\u672A\u88AB\u9002\u914D\u5668\u786E\u8BA4\u3002\u60A8\u53EF\u4EE5\u5220\u9664 noValue\uFF0C\u7136\u540E\u5C06\u663E\u793A\u8BE5\u503C\u3002\u4F4D\u7F6E && \u66FF\u6362\u4E3A Value \u6216\u5C06\u653E\u5728\u672B\u5C3E\",\r\n \"convertsUnixTimestamp\": \"\u5C06 Unix \u65F6\u95F4\u6233\u8F6C\u6362\u4E3A\u672C\u5730\u65F6\u95F4\",\r\n \"copy\": \"\u590D\u5236\",\r\n \"createMenu\": \"\u8BF7\u521B\u5EFA\u4E00\u4E2A\u83DC\u5355\uFF01\",\r\n \"delay\": \"\u5EF6\u8FDF\uFF08\u6BEB\u79D2\uFF09\",\r\n \"delete\": \"\u5220\u9664\",\r\n \"directory\": \"\u76EE\u5F55\",\r\n \"doubleTrigger\": \"\u60A8\u6709\u53CC\u89E6\u53D1\u5668\uFF0C\u8BF7\u5220\u9664\u5B83\u4EEC\uFF01\",\r\n \"edit\": \"\u7F16\u8F91\",\r\n \"entryNotFound\": \"\u672A\u627E\u5230\u6761\u76EE\uFF01\",\r\n \"executedMenu\": \"\u6267\u884C\u83DC\u5355\",\r\n \"filename\": \"\u6587\u4EF6\u540D\",\r\n \"hide\": \"\u9690\u85CF\",\r\n \"identification\": \"\u9274\u522B\",\r\n \"inactive\": \"\u4E0D\u6D3B\u8DC3\",\r\n \"insertID\": \"\u8981\u63D2\u5165 ID\uFF0C\u53EA\u9700\u5148\u63D2\u5165\u5757\uFF0C\u7136\u540E\u9009\u62E9 ID\u3002\u5373\u4F7F\u8981\u66F4\u6539 ID\uFF0C\u4E5F\u4F1A\u81EA\u52A8\u5C06\u5176\u63D2\u5165\u5230\u9002\u5F53\u7684\u4F4D\u7F6E\u3002\u5982\u679C\u4EE3\u7801\u65E0\u6CD5\u8BC6\u522B\u8BE5\u5757\uFF0C\u5219\u5C06 ID \u9644\u52A0\u5230\u672B\u5C3E\u3002\",\r\n \"instance\": \"\u5B9E\u4F8B\",\r\n \"isSubmenu\": \"\u8FD9\u662F\u4E00\u4E2A\u5B50\u83DC\u5355\uFF01\",\r\n \"jsonShoppingList\": \"\u4E0E\u4E0A\u9762\u76F8\u540C\uFF0C\u4F46\u662F\u5F53\u60A8\u5355\u51FB\u6309\u94AE\u65F6\uFF0C\u8BE5\u9879\u76EE\u5C06\u88AB\u5220\u9664\uFF0C\u9879\u76EE\u7684 Key \u662F `name:`\uFF0C\u60A8\u4E5F\u53EF\u4EE5\u6DFB\u52A0 `time:`\u3002 \u91CD\u8981\uFF01\uFF01\uFF01\u201C\u8D2D\u7269\u6E05\u5355\u201D\u53EF\u80FD\u65E0\u6CD5\u66F4\u6539\u3002\",\r\n \"jsonTable\": \"!!!\u8981\u4F7F\u7528\u5B83\uFF0CparseMode \u4E00\u5B9A\u4E0D\u80FD\u5904\u4E8E\u6D3B\u52A8\u72B6\u6001\uFF01\u4ECE JSON \u521B\u5EFA\u4E00\u4E2A\u8868\u4F5C\u4E3A\u6587\u672C\u8868\u3002\u7B2C\u4E00\u4E2A\u503C\u662F JSON \u7684\u4E00\u4E2A\u952E\uFF0C\u540E\u9762\u662F\u5217\u7684\u540D\u79F0\u3002\u60A8\u53EF\u4EE5\u4F7F\u7528\u4E24\u4E2A\u4EE5\u4E0A\u7684\u503C\u3002\u5FC5\u987B\u586B\u5199\u6807\u9898\u3002\u4E0D\u8981\u66F4\u6539 TextTable\u3002\",\r\n \"latitude\": \"\u7EAC\u5EA6\",\r\n \"lcTimestamp\": \"\u6700\u540E\u66F4\u6539\u3002\u5C06 Unix \u65F6\u95F4\u6233\u8F6C\u6362\u4E3A\u672C\u5730\u65F6\u95F4\uFF0C\u683C\u5F0F\u53EF\u4EE5\u66F4\u6539\uFF0C\u4F8B\u5982 DD.MM.YYYY YY hh:mm:ss:sss\",\r\n \"linkedWith\": \"\u4E0E\u4EE5\u4E0B\u94FE\u63A5\uFF1A\",\r\n \"longitude\": \"\u7ECF\u5EA6\",\r\n \"manuallyValue\": \"\u8FD9\u5141\u8BB8\u60A8\u7ED3\u5408 ID \u503C\u624B\u52A8\u8BBE\u7F6E\u503C\uFF0C\u5982\u4E0B\u6240\u793A\uFF1AstaticValue{id:ID}staticValue\",\r\n \"math\": \"\u8F6C\u6362\u6570\u503C\uFF0C/10\u53EF\u4EE5\u66FF\u6362\",\r\n \"menu\": \"\u83DC\u5355\",\r\n \"menuBack\": \"\u5F53\u6309\u4E0B\u65F6\uFF0C\u60A8\u8DF3\u56DE\u5230\u4E0A\u4E00\u4E2A\u83DC\u5355\",\r\n \"menuDeleteAll\": \"\u751F\u6210\u4E00\u4E2A\u6309\u94AE\u4EE5\u5220\u9664\u673A\u5668\u4EBA\u4E2D\u7684\u6240\u6709\u6D88\u606F\u3002\u5BFC\u822A\u662F\u53EF\u9009\u7684\u3002\u53EA\u9700\u5C06\u5176\u7559\u7A7A\uFF0C\u5426\u5219\u60A8\u53EF\u4EE5\u8F93\u5165\u5E94\u8C03\u7528\u7684\u83DC\u5355\u3002\",\r\n \"menuDynamicSwitch\": \"\u751F\u6210\u4E58\u6CD5\u6309\u94AE\uFF0C\u53EF\u4EE5\u5355\u72EC\u63D2\u5165\u503C\u3002\u5C06 TRIGGER \u66FF\u6362\u4E3A\u552F\u4E00\u503C\u3002 LengthOfRow \u662F\u53EF\u9009\u7684\uFF0C\u53EF\u7528\u4E8E\u8BBE\u7F6E\u6BCF\u884C\u7684\u6309\u94AE\u6570\u91CF\u3002
    \u91CD\u5927\u66F4\u6539!!! \u00A0 \u8BF7\u624B\u52A8\u5C06\u201C[Name1:Value1, Name2:Value2]\u201D\u66F4\u6539\u4E3A\u201C[Name1|Value1, Name2|Value2]\u201D\u3002\u5341\u8FDB\u5236\u6570\u73B0\u5728\u4E5F\u53EF\u4EE5\u7528\u4F5C\u503C\u3002\",\r\n \"menuList\": \"\u83DC\u5355\u5217\u8868\",\r\n \"menuNumber\": \"\u53F7\u7801\u53EF\u4EE5\u5B8C\u5168\u4E92\u6362\u3002 0-6\u8868\u793A\u8303\u56F4\uFF0C1\u8868\u793A\u6B65\u957F\uFF0CUNIT\u7528\u5355\u4F4D\u4EE3\u66FF\uFF0C\u4F46\u4E5F\u53EF\u4EE5\u7559\u7A7A\u3002\u5C06 TRIGGER \u66FF\u6362\u4E3A\u552F\u4E00\u503C\u3002\",\r\n \"menuPercent\": \"10\u53EF\u4EE5\u66FF\u6362\uFF0C\u8868\u793A\u6B65\u957F0%\u300110%\u300120%...\uFF01\u5C06 TRIGGER \u66FF\u6362\u4E3A\u552F\u4E00\u503C\u3002\u8FD9\u5728\u64CD\u4F5C SetState \u4E2D\u4F7F\u7528\u3002\u8F93\u5165\u6240\u9700\u7684 ID\u3002\u4F4E\u4E8E\u4EF7\u503C\uFF01\u63D2\u5165\",\r\n \"menuSwitch\": \"\u751F\u6210\u4E24\u4E2A\u6309\u94AE\uFF0C\u5728\u672C\u4F8B\u4E2D\u4E3A\u6253\u5F00\u548C\u5173\u95ED\uFF0C\u5176\u503C\u5206\u522B\u4E3A true \u548C false\u3002\u5C06 TRIGGER \u66FF\u6362\u4E3A\u552F\u4E00\u503C\u3002\",\r\n \"menuToCopy\": \"\u9996\u5148\u9009\u62E9\u8981\u5C06\u6570\u636E\u590D\u5236\u5230\u7684\u83DC\u5355\u3002\u7136\u540E\u662F\u5E94\u8BE5\u6DFB\u52A0\u7684\u884C\u3002\u5982\u679C\u8FD8\u6CA1\u6709\u6570\u636E\uFF0C\u70B9\u51FB\u4FDD\u5B58\uFF0C\u67E5\u8BE2\u65B0\u7684\u89E6\u53D1\u5668\u540D\u79F0\u540E\u5C31\u4F1A\u521B\u5EFA\u3002\",\r\n \"modifiedSubmenuValue\": \"\u8FD9\u5141\u8BB8\u60A8\u7ED3\u5408\u9759\u6001\u90E8\u5206\u8BBE\u7F6E\u4FEE\u6539\u540E\u7684\u5B50\u83DC\u5355\u503C\uFF0C\u5982\u4E0B\u6240\u793A\uFF1AstaticValue{value}staticValue\",\r\n \"navigation\": \"\u5BFC\u822A\",\r\n \"navigationButtons\": \"\u5BFC\u822A\u6309\u94AE\",\r\n \"newlineCheckbox\": \"\u6362\u884C\u7B26\",\r\n \"no\": \"\u4E0D\",\r\n \"noValue\": \"\u8FD4\u56DE\u6587\u672C\u4E2D\u672A\u6307\u5B9A\u503C\",\r\n \"notifiedByChangeOfAnotherState\": \"\u5982\u679C\u60A8\u5728 ID \u8F93\u5165\u5B57\u6BB5\u4E2D\u8BBE\u7F6E\u6570\u636E\u70B9\u540E\u5E0C\u671B\u6536\u5230\u53E6\u4E00\u4E2A\u6570\u636E\u70B9\u66F4\u6539\u7684\u901A\u77E5\u3002\u4EC5\u5F53\u8BBE\u7F6E\u4E86 ack:true \u65F6\uFF0C\u66F4\u6539\u624D\u4F1A\u88AB\u5171\u4EAB\u3002\u5FC5\u987B\u5728 {} \u4E4B\u5916\u6307\u5B9A\u6587\u672C\uFF0C\u5426\u5219\u5C06\u81EA\u52A8\u6DFB\u52A0\u3002\",\r\n \"ok\": \"\u597D\u7684\",\r\n \"oneTimeKey\": \"\u8981\u6C42\u5BA2\u6237\u5782\u76F4\u8C03\u6574\u952E\u76D8\u5927\u5C0F\u4EE5\u83B7\u5F97\u6700\u4F73\u914D\u5408\uFF08\u4F8B\u5982\uFF0C\u5982\u679C\u53EA\u6709\u4E24\u884C\u6309\u94AE\uFF0C\u5219\u7F29\u5C0F\u952E\u76D8\uFF09\u3002\u9ED8\u8BA4\u4E3A false\uFF0C\u5728\u8FD9\u79CD\u60C5\u51B5\u4E0B\uFF0C\u81EA\u5B9A\u4E49\u952E\u76D8\u59CB\u7EC8\u4E0E\u5E94\u7528\u7A0B\u5E8F\u7684\u6807\u51C6\u952E\u76D8\u5177\u6709\u76F8\u540C\u7684\u9AD8\u5EA6\u3002\",\r\n \"overview\": \"\u6982\u8FF0\",\r\n \"parseMode\": \"\u89E3\u6790\u6A21\u5F0F HTML\",\r\n \"parseModeBold\": \"\u89E3\u6790\u6A21\u5F0F\u4E0B\u7684\u6587\u672C\u4E3A\u7C97\u4F53\",\r\n \"parseModeCode\": \"\u89E3\u6790\u6A21\u5F0F\u4E0B\u7684\u6587\u672C\u662F\u4EE3\u7801\",\r\n \"parseModeItalic\": \"\u89E3\u6790\u6A21\u5F0F\u4E0B\u7684\u6587\u672C\u4E3A\u659C\u4F53\",\r\n \"parseModeLink\": \"\u89E3\u6790\u6A21\u5F0F\u4E0B\u7684\u6587\u672C\u662F\u94FE\u63A5\",\r\n \"password\": \"\u5BC6\u7801\",\r\n \"percent\": \"\u767E\u5206\u6BD4\",\r\n \"picSendDelay\": \"\u56FE\u7247\u53D1\u9001\u5EF6\u8FDF\",\r\n \"placeholderInstance\": \"--\u8BF7\u9009\u62E9\u4E00\u4E2A\u7535\u62A5\u5B9E\u4F8B--\",\r\n \"placeholderValue\": \"\u503C\u7684\u5360\u4F4D\u7B26\",\r\n \"reallyDelete\": \"\u60A8\u771F\u7684\u8981\u5220\u9664\u8FD9\u4E2A\u5417\uFF1F\",\r\n \"renameMenu\": \"\u91CD\u547D\u540D\u83DC\u5355\u540D\u79F0\",\r\n \"returnText\": \"\u8FD4\u56DE\u6587\u672C\",\r\n \"save\": \"\u8282\u7701\",\r\n \"select\": \"\u9009\u62E9\",\r\n \"selectAMenuDropBox\": \"\u9009\u62E9\u4E00\u4E2A\u83DC\u5355\uFF0C\u9009\u62E9\u79FB\u52A8\u6216\u590D\u5236\u3002\u5F53\u5FC3\uFF01\u7528\u6237\u5FC5\u987B\u5728\u6240\u9009\u83DC\u5355\u4E2D\u5904\u4E8E\u6D3B\u52A8\u72B6\u6001\uFF01\",\r\n \"selectTargetMenu\": \"\u9009\u62E9\u76EE\u6807\u83DC\u5355\",\r\n \"sendMenuAfterRestart\": \"\u91CD\u542F\u540E\u53D1\u9001\u83DC\u5355\",\r\n \"setAck\": \"\u8BBE\u7F6E\u786E\u8BA4\u6807\u5FD7\",\r\n \"setDynamicValue\": \"\u8FD9\u5141\u8BB8\u60A8\u5C06\u52A8\u6001\u503C\u5199\u5165\u6570\u636E\u70B9\u3002\u53EA\u9700\u62E8\u6253\u7535\u8BDD\uFF0C\u7136\u540E\u60A8\u5C31\u53EF\u4EE5\u5728\u8F93\u5165\u5B57\u6BB5\u4E2D\u8F93\u5165\u503C\u3002 RequestText\uFF1A\u8BF7\u6C42\u503C\u7684\u6587\u672C\u3002\u7C7B\u578B\uFF1A\u503C\u7684\u7C7B\u578B\uFF08\u5E03\u5C14\u503C\u6216\u6570\u5B57\uFF09\u3002\u786E\u8BA4\u6587\u672C\uFF1A\u7528\u4E8E\u786E\u8BA4\u503C\u7684\u6587\u672C\u3002 ID\uFF1A\u5982\u679C\u60A8\u60F3\u4ECE\u5176\u4ED6\u5DDE\u786E\u8BA4\uFF0C\u8BF7\u5728\u6B64\u5904\u8F93\u5165 ID\u3002\uFF08\u8FD9\u662F\u53EF\u9009\u7684\uFF09\",\r\n \"setID\": \"\u5C06ID\u7684\u503C\u8BBE\u7F6E\u4E3Aval\uFF0C\u5E26\u6709ack\uFF08\u5DF2\u786E\u8BA4\uFF09\",\r\n \"setMenu\": \"\u5957\u9910\",\r\n \"setWithAck\": \"\u4F7F\u7528 ack-Flag \u8BBE\u7F6E\u503C\",\r\n \"settings\": \"\u8BBE\u7F6E\",\r\n \"startMenus\": \"\u5F00\u59CB\u83DC\u5355\",\r\n \"startSide\": \"\u8D77\u59CB\u9762\",\r\n \"statusMenu\": \"\u67E5\u8BE2ID\u7684\u503C\uFF0C\u7136\u540E\u5C06\u5176\u66FF\u6362\u4E3A\u503C\uFF0C\u56E0\u6B64\u53EF\u4EE5\u5728\u5176\u5468\u56F4\u5199\u5165\u6587\u672C\uFF0C\u4E5F\u53EF\u4EE5\u8FDE\u7EED\u591A\u6B21\u4F7F\u7528\u5B83\u3002\u53C2\u6570 true \u662F\u901A\u8FC7\u51FD\u6570\u66F4\u6539\u6765\u66F4\u6539\u503C\u7684\u9009\u9879\u3002\u5982\u679C\u60A8\u4E0D\u66F4\u6539\u6B64\u503C\uFF0C\u5219\u5FC5\u987B\u5C06\u5176\u8BBE\u7F6E\u4E3A false\uFF0C\u4F46\u5728\u8FD9\u540E\u9762\u8FD8\u6709\u53E6\u4E00\u4E2A\u5E26\u6709change:true \u7684 {status: ... \u8BF7\u6C42\u3002\",\r\n \"submenu\": \"\u5B50\u83DC\u5355\",\r\n \"switch\": \"\u8F6C\u53D8\",\r\n \"switchCheckbox\": \"\u8F6C\u53D8\",\r\n \"telegramInstance\": \"\u7535\u62A5\u5B9E\u4F8B\",\r\n \"telegramUser\": \"\u6765\u81EA Telegram \u7684\u7528\u6237\",\r\n \"text\": \"\u6587\u672C\",\r\n \"textNoEntry\": \"\u5982\u679C\u672A\u627E\u5230\u6761\u76EE\uFF0C\u5C06\u53D1\u9001\u6587\u672C\uFF01\",\r\n \"toggle\": \"\u5207\u6362\",\r\n \"trigger\": \"\u6273\u673A\",\r\n \"tsTimestamp\": \"\u65F6\u95F4\u6233\u3002\u5C06 Unix \u65F6\u95F4\u6233\u8F6C\u6362\u4E3A\u672C\u5730\u65F6\u95F4\uFF0C\u683C\u5F0F\u53EF\u4EE5\u66F4\u6539\uFF0C\u4F8B\u5982 DD.MM.YYYY YY hh:mm:ss:sss\",\r\n \"unusedTrigger\": \"\u672A\u4F7F\u7528\u7684\u89E6\u53D1\u5668\",\r\n \"url\": \"\u7F51\u5740\",\r\n \"usedTrigger\": \"\u4F7F\u7528\u8FC7\u7684\u89E6\u53D1\u5668\",\r\n \"user\": \"\u7528\u6237\",\r\n \"userList\": \"\u7528\u6237\u5217\u8868\",\r\n \"userSelect\": \"\u8BF7\u9009\u62E9\u4E00\u4E2A\u7528\u6237\uFF0C\u6216\u505C\u7528\u83DC\u5355\uFF0C\u7136\u540E\u624D\u80FD\u4FDD\u5B58\uFF01\",\r\n \"value\": \"\u4EF7\u503C\",\r\n \"valueRound\": \"\u4F8B\u5982\uFF0C\u5C06\u503C\u56DB\u820D\u4E94\u5165\u5230\u5C0F\u6570\u70B9\u540E\u4E24\u4F4D\",\r\n \"values\": \"\u4EF7\u503C\u89C2\",\r\n \"yes\": \"\u662F\u7684\"\r\n}\r\n"], + "mappings": "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,EACA,GAAI,CACF,MAAOA,EACT,EACA,GAAI,CACF,MAAOA,EACT,EACA,QAAS,CACP,MAAOA,EACT,EACA,WAAY,CACV,MAAOA,EACT,EACA,aAAc,CACZ,MAAOA,EACT,EACA,cAAe,CACb,MAAOA,EACT,EACA,YAAa,CACX,MAAOA,EACT,EACA,SAAU,CACR,MAAOA,EACT,EACA,SAAU,CACR,MAAOA,EACT,EACA,cAAe,CACb,MAAOA,EACT,EACA,mBAAoB,CAClB,MAAOA,EACT,EACA,iBAAkB,CAChB,MAAOA,EACT,EACA,aAAc,CACZ,MAAOA,EACT,EACA,kBAAmB,CACjB,MAAOA,EACT,EACA,gBAAiB,CACf,MAAOA,EACT,EACA,EAAG,CACD,MAAOC,EACT,EACA,GAAI,CACF,MAAOA,EACT,EACA,GAAI,CACF,MAAOA,EACT,EACA,GAAI,CACF,MAAOA,EACT,EACA,GAAI,CACF,MAAOA,EACT,EACA,GAAI,CACF,MAAOA,EACT,EACA,GAAI,CACF,MAAOA,EACT,EACA,OAAQ,CACN,MAAOA,EACT,EACA,UAAW,CACT,MAAOA,EACT,EACA,YAAa,CACX,MAAOA,EACT,EACA,aAAc,CACZ,MAAOA,EACT,EACA,WAAY,CACV,MAAOA,EACT,EACA,QAAS,CACP,MAAOA,EACT,EACA,QAAS,CACP,MAAOA,EACT,EACA,aAAc,CACZ,MAAOA,EACT,EACA,kBAAmB,CACjB,MAAOA,EACT,EACA,gBAAiB,CACf,MAAOA,EACT,EACA,YAAa,CACX,MAAOA,EACT,EACA,iBAAkB,CAChB,MAAOA,EACT,EACA,eAAgB,CACd,MAAOA,EACT,EAEA,aAAc,CACZ,YAAa,GACb,UAAWC,IAAU,CACnB,eAAgB,CACd,QAASA,CACX,CACF,EACF,EACA,QAAS,CAAC,EACV,SAAU,CAAC,EACX,aAAc,CAAC,EACf,WAAY,CAAC,EACb,WAAY,CAAC,EAEb,UAAW,CAAC,EACZ,cAAe,CAAC,EAChB,SAAU,CAAC,EACX,eAAgB,CAAC,EACjB,WAAY,CAAC,EACb,aAAc,CAAC,EACf,MAAO,CAAC,EACR,KAAM,CA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,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EA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KAAK,MAAM,KAAK,MAAM,iBAC7B,SAAU,KAAK,MAAM,SACzB,CACJ,CAER,CACJ,EAEOC,GAAQb,GE7Cf,IAAAc,GAAiC,OAKjC,IAAMC,GAAN,cAA+B,YAA8B,CACzD,YAAYC,EAA2B,CACnC,MAAMA,CAAK,CACf,CAEA,QAA0B,CACtB,OACI,GAAAC,QAAA,cAACC,GAAA,CACG,KAAI,GACJ,GAAI,IAEJ,GAAAD,QAAA,cAAC,QAAK,UAAU,iBACZ,GAAAA,QAAA,cAACE,GAAA,CACG,SAAU,KAAK,MAAM,SACrB,OAAQ,KAAK,MAAM,OACnB,OAAQ,KAAK,MAAM,OACnB,QAASC,GAAQ,KAAK,SAAS,CAAE,UAAWA,CAAK,CAAC,EAClD,OAAQ,KAAK,MAAM,OACvB,CACJ,CACJ,CAER,CACJ,EAEOC,GAAQN,GC9Bf,IAAAO,GAAiC,OCEjC,IAAAC,GAAiC,OCF1B,IAAMC,GAAS,CAClB,OAEA,OACA,aACA,QACA,YACA,YACA,aACA,YACA,QACA,iBACA,UACA,OACA,WACA,WACA,gBACA,YACA,YACA,cACA,iBACA,aACA,aACA,UACA,aACA,eACA,gBACA,gBACA,gBACA,gBACA,aACA,WACA,cACA,UACA,UACA,aACA,YACA,cACA,cACA,UACA,YACA,aACA,OACA,YACA,OACA,OACA,QACA,cACA,WACA,UACA,YACA,SACA,QACA,QACA,WACA,gBACA,YACA,eACA,YACA,aACA,YACA,uBACA,YACA,YACA,aACA,YACA,cACA,gBACA,eACA,iBACA,iBACA,iBACA,cACA,OACA,YACA,QACA,UACA,SACA,mBACA,aACA,eACA,eACA,iBACA,kBACA,oBACA,kBACA,kBACA,eACA,YACA,YACA,WACA,cACA,OACA,UACA,QACA,YACA,SACA,YACA,SACA,gBACA,YACA,gBACA,gBACA,aACA,YACA,OACA,OACA,OACA,aACA,SACA,gBACA,YACA,YACA,cACA,SACA,aACA,WACA,WACA,SACA,SACA,UACA,YACA,YACA,YACA,OACA,cACA,YACA,MACA,OACA,UACA,SACA,YACA,SACA,QACA,QACA,aACA,SACA,aACJ,ECxIA,IAAAC,GAAiC,OAE3BC,GAAN,cAAqB,YAAoC,CACrD,YAAYC,EAAoB,CAC5B,MAAMA,CAAK,EACX,KAAK,MAAQ,CACT,OAAQ,GACR,MAAO,EACP,MAAO,QACP,KAAM,GACN,KAAM,OACN,WAAY,QAChB,CACJ,CAEA,oBAA2B,CACvB,OAAQ,KAAK,MAAM,MAAO,CACtB,IAAK,QACD,GAAI,KAAK,MAAM,SAAW,IAAK,CAC3B,KAAK,SAAS,CAAE,OAAQ,aAAc,CAAC,EACvC,KACJ,CACA,KAAK,SAAS,CAAE,OAAQ,QAAS,MAAO,GAAI,KAAM,aAAc,KAAM,QAAS,WAAY,MAAO,CAAC,EACnG,MACJ,IAAK,QACD,KAAK,SAAS,CACV,OAAQ,QACR,MAAO,KAAK,MAAM,OAAS,EAAI,GAC/B,MAAO,QACP,KAAM,KAAK,MAAM,OAAS,GAAK,SAC/B,KAAM,KAAK,MAAM,OAAS,OAAS,QACnC,WAAY,MAChB,CAAC,EACD,MAEJ,QACQ,KAAK,MAAM,SAAW,IACtB,KAAK,SAAS,CAAE,OAAQ,KAAK,MAAM,MAAO,KAAM,GAAG,EAAE,KAAK,MAAM,SAAW,GAAK,EAAE,IAAK,CAAC,EAExF,KAAK,SAAS,CAAE,OAAQ,aAAc,CAAC,EAE3C,KACR,CACJ,CAEA,mBAA0B,CACtB,KAAK,mBAAmB,CAC5B,CAEA,mBAAmBC,EAAwC,EAEnD,KAAK,MAAM,QAAUA,EAAU,OAC/B,KAAK,MAAM,UAAYA,EAAU,SACjC,KAAK,MAAM,WAAaA,EAAU,WAElC,KAAK,mBAAmB,CAEhC,CAEA,QAA0B,CACtB,OACI,GAAAC,QAAA,cAAC,WACG,GAAAA,QAAA,cAAC,OACG,UAAU,aACV,MAAO,CACH,MAAO,GAAG,KAAK,MAAM,KAAK,KAC1B,OAAQ,OACR,gBAAiB,KAAK,MAAM,OAC5B,MAAO,KAAK,MAAM,MAClB,YAAa,MACb,SAAU,WACV,KAAM,KAAK,MAAM,KACjB,QAAS,OACT,WAAY,SACZ,eAAgB,SAChB,WAAY,KAAK,MAAM,UAC3B,GAECC,EAAK,EAAE,KAAK,MAAM,IAAI,CAC3B,CACJ,CAER,CACJ,EAEOC,GAAQL,GF7Ef,IAAMM,GAAN,cAA8B,YAAsD,CAChF,YAAYC,EAA6B,CACrC,MAAMA,CAAK,EASfC,EAAA,qBAAgB,CAAE,KAAM,EAAG,GAC3BA,EAAA,iBAAY,CAAC,GACbA,EAAA,kBAA+D,CAAC,GAChEA,EAAA,iBAAsB,CAAC,GA2JvBA,EAAA,qBAAgB,CAAC,CAAE,IAAAC,CAAI,IAAyB,CAC5C,KAAK,SAAS,CAAE,SAAUA,CAAI,CAAC,EAC/B,KAAK,YAAYA,CAAG,CACxB,GAzKI,KAAK,MAAQ,CACT,UAAW,CAAC,EACZ,QAAS,KACT,SAAU,GACV,QAAS,CAAC,CACd,CACJ,CAOA,8BAA8BC,EAAkF,CAC5G,IAAMC,EAAoB,OAAO,KAAK,KAAK,MAAM,YAAY,EACvDC,EAAgC,CAAC,EACjCC,EAAa,KAAK,MAAM,aAAaH,CAAQ,EACnD,OAAAC,EAAkB,QAAQ,CAACG,EAAMC,IAAU,CACvCF,EAAW,QAAQG,GAAQ,CACnB,KAAK,MAAM,aAAaF,CAAI,EAAE,SAASE,CAAI,GAC3CJ,EAAc,KAAK,CAAE,KAAME,EAAM,MAAOC,CAAM,CAAC,CAEvD,CAAC,CACL,CAAC,EAEM,CAAE,cAAeH,EAAe,kBAAmBD,CAAkB,CAChF,CAEA,eAAeD,EAA0B,CACrC,IAAMC,EAAoB,OAAO,KAAK,KAAK,MAAM,YAAY,EACzDM,EAAa,EACXJ,EAAa,KAAK,MAAM,aAAaH,CAAQ,EACnD,OAAAC,EAAkB,QAAQ,CAACG,EAAMC,IAAU,CACvCF,EAAW,QAAQG,GAAQ,CACnB,KAAK,MAAM,aAAaF,CAAI,EAAE,SAASE,CAAI,GAAKF,GAAQJ,IACxDO,EAAaF,EAErB,CAAC,CACL,CAAC,EACME,CACX,CAEA,uBAAuB,CACnB,SAAAP,EACA,QAAAQ,CACJ,EAIuF,CA9D3F,IAAAC,EAAAC,EA+DQ,KAAK,UAAY,CAAC,EAClB,IAAMC,EAAS,KAAK,8BAA8BX,CAAQ,EACpDE,EAAgBU,GAA2BD,EAAO,aAAa,EACrE,KAAK,WAAa,CAAC,EAEnB,QAAWP,KAAQF,EAKf,GAJK,KAAK,UAAUF,CAAQ,IACxB,KAAK,UAAUA,CAAQ,EAAI,IAI3BS,EAAA,KAAK,MAAM,UAAX,MAAAA,EAAoB,aAAaL,EAAK,SACtCM,EAAA,KAAK,MAAM,UAAX,MAAAA,EAAoB,aAAaN,EAAK,MAAM,SAASI,IAErD,QAASK,EAAM,EAAGA,EAAMF,EAAO,kBAAkB,OAAQE,IACjDF,EAAO,kBAAkBE,CAAG,IAAMT,EAAK,OAClC,KAAK,UAAU,SAASA,EAAK,IAAI,GAClC,KAAK,UAAU,KAAKA,EAAK,IAAI,EAEjC,KAAK,WAAW,KAAK,CAAE,MAAOU,GAAOV,EAAK,KAAK,EAAG,KAAMA,EAAK,KAAM,MAAOS,CAAI,CAAC,EAC3E,KAAK,UAAUb,CAAQ,GAAK,KAAK,WAAW,OAAS,GAAK,GAAK,KAC/D,KAAK,UAAUA,CAAQ,GAAK,KAAK,WAAW,OAAS,GAAK,GAAK,KAMnF,OAAI,KAAK,WAAW,SAAW,EACpB,KAAK,YAEZQ,GAAW,KAAO,KAAK,UAAUR,CAAQ,GAAK,GAC9C,KAAK,UAAUA,CAAQ,EAAI,GACpB,KAAK,UAAUA,CAAQ,EAAI,KAClC,KAAK,UAAUA,CAAQ,EAAI,IAExB,CAAC,CAAE,MAAO,QAAS,KAAM,mBAAoB,MAAO,KAAM,KAAMe,EAAK,EAAE,aAAa,CAAE,CAAC,EAClG,CAEA,oBAAoBV,EAAeD,EAAcI,EAAqC,CArG1F,IAAAC,EAAAC,EAAAM,EAsGQ,IAAMf,EAAoB,OAAO,KAAK,KAAK,MAAM,YAAY,EAGvDC,EAFS,KAAK,8BAA8BE,CAAI,EAEzB,cAEzBa,EAAQ,GACZ,QAAWC,KAAWhB,EAGlB,GAFAe,EAAQC,EAAQ,MAGZT,EAAA,KAAK,MAAM,UAAX,MAAAA,EAAoB,YAAY,IAAIQ,MACpCP,EAAA,KAAK,MAAM,UAAX,MAAAA,EAAoB,YAAY,IAAIO,GAAO,SAAST,KAGpD,QAASK,EAAM,EAAGA,EAAMZ,EAAkB,OAAQY,IAC9C,GAAIZ,EAAkBY,CAAG,IAAMI,EAC3B,YAAK,cAAc,KAAOA,EAEnBH,GAAOD,CAAG,MAKzB,SAAWM,KAAUH,EAAA,KAAK,MAAM,UAAX,YAAAA,EAAoB,YAAY,OAAOC,GACxD,GAAI,KAAK,MAAM,QAAQ,YAAY,OAAOA,CAAK,EAAEE,CAAM,EAAE,SAASX,CAAO,GACrE,QAASK,EAAM,EAAGA,EAAMZ,EAAkB,OAAQY,IAC9C,GAAIZ,EAAkBY,CAAG,IAAMI,EAC3B,YAAK,cAAc,KAAOA,EAEnBH,GAAOD,CAAG,EAQzC,OAAK,KAAK,UAAUT,CAAI,IACpB,KAAK,UAAUA,CAAI,EAAI,GAEvB,KAAK,UAAUA,CAAI,EAAI,KACvB,KAAK,UAAUA,CAAI,EAAI,IAEpB,OACX,CAEA,SAAkB,CACd,OAAO,KAAK,cAAc,IAC9B,CAEA,YAAYA,EAAoB,CAC5B,IAAMO,EAASS,GAAuB,KAAK,MAAM,KAAM,KAAK,MAAM,aAAchB,CAAI,EACpF,KAAK,SAAS,CAAE,QAASiB,GAASV,GAAA,YAAAA,EAAQ,UAAU,CAAE,CAAC,CAC3D,CAEA,YAAmB,CACf,IAAMW,EAAoB,CAAC,EAC3B,QAAWlB,KAAQ,KAAK,MAAM,KAAK,IAC3B,KAAK,MAAM,KAAK,IAAIA,CAAI,EAAE,CAAC,EAAE,MAAQ,KACrCkB,EAAQ,KAAKlB,CAAI,EAGzB,KAAK,SAAS,CAAE,QAASkB,EAAS,SAAUA,EAAQ,CAAC,CAAE,CAAC,EACxD,KAAK,YAAYA,EAAQ,CAAC,CAAC,CAC/B,CAEA,mBAA0B,CACtB,KAAK,WAAW,EAChB,KAAK,SAAS,CAAE,UAAW,KAAK,SAAU,CAAC,CAC/C,CAEA,mBAAmBC,EAA2CC,EAAiD,CACvGA,EAAU,SAAW,KAAK,MAAM,SAChC,KAAK,SAAS,CAAE,UAAW,KAAK,SAAU,CAAC,CAEnD,CAOA,QAA0B,CACtB,OACI,GAAAC,QAAA,iBAAAA,QAAA,cACI,GAAAA,QAAA,cAACC,GAAA,CACG,QAAS,KAAK,MAAM,QACpB,MAAOX,EAAK,EAAE,YAAY,EAC1B,KAAK,WACL,SAAU,KAAK,MAAM,SACrB,GAAG,YACH,SAAU,KAAK,cACnB,EACC,KAAK,MAAM,QACR,GAAAU,QAAA,cAAC,OAAI,UAAU,uBACX,GAAAA,QAAA,cAAC,OAAI,UAAU,kBACX,GAAAA,QAAA,cAAC,SAAGV,EAAK,EAAE,eAAe,CAAE,EAC5B,GAAAU,QAAA,cAAC,UACI,KAAK,MAAM,QAAQ,cAAc,IAAI,CAACjB,EAASH,IAExC,GAAAoB,QAAA,cAAC,OACG,IAAKpB,EACL,MAAO,CAAE,SAAU,UAAW,GAE9B,GAAAoB,QAAA,cAACE,GAAA,CACG,MAAM,QACN,SAAU,EACV,OAAQ,GACZ,EACA,GAAAF,QAAA,cAAC,UAAIjB,CAAQ,CACjB,CAEP,CACL,CACJ,EACC,OAAO,KAAK,KAAK,MAAM,QAAQ,YAAY,MAAM,EAAE,IAAI,CAACJ,EAAMwB,IAAqB,CAzN5G,IAAAnB,EAAAC,EAAAM,EAAAa,EAAAC,EAAAC,EA0N4B,OACI,GAAAN,QAAA,cAAC,OACG,IAAKG,EACL,UAAU,kBAEV,GAAAH,QAAA,cAAC,OACG,YACIhB,EAAA,KAAK,MAAM,UAAX,YAAAA,EAAoB,YAAY,IAAIL,GAAM,KAAM,IAC1C,gBACA,kBAGV,GAAAqB,QAAA,cAAC,OAAI,MAAO,CAAE,QAAS,OAAQ,SAAU,MAAO,GAC5C,GAAAA,QAAA,cAAC,KAAE,UAAU,iCACRf,EAAA,KAAK,MAAM,UAAX,YAAAA,EAAoB,YAAY,IAAIN,GAAM,KAAM,IAC3C,UACA,WACV,EACC,KAAK,MAAM,mBAAmBA,CAAI,EAC/B,GAAAqB,QAAA,cAAC,QAAK,UAAU,oBAAmB,IAAEV,EAAK,EAAE,QAAQ,CAAE,EAEtD,GAAAU,QAAA,cAAC,QAAK,UAAU,sBAAqB,IAAEV,EAAK,EAAE,UAAU,CAAE,CAElE,EACA,GAAAU,QAAA,cAAC,KAAE,UAAU,YACRV,EAAK,EAAE,SAAS,EAAE,KAAGX,CAC1B,CACJ,EACA,GAAAqB,QAAA,cAAC,OACG,UAAU,sBACV,MAAO,CAAE,OAAQ,aAAaX,GAAO,KAAK,eAAeV,CAAI,CAAC,CAAC,EAAG,GAElE,GAAAqB,QAAA,cAAC,KAAE,UAAU,aAAaV,EAAK,EAAE,UAAU,CAAE,EAC5C,KAAK,MAAM,aAAaX,CAAI,EAAE,IAAI,CAACE,EAAM0B,IAC/B,GAAAP,QAAA,cAAC,KAAE,IAAKO,GAAY1B,CAAK,CACnC,CACL,EAEA,GAAAmB,QAAA,cAAC,MACG,IAAKG,EACL,UAAU,cACV,MAAO,CAAE,YAAa,KAAK,MAAM,UAAUxB,CAAI,CAAE,GAEjD,GAAAqB,QAAA,cAAC,UACG,GAAAA,QAAA,cAAC,KAAE,UAAU,UAAUV,EAAK,EAAE,mBAAmB,CAAE,EACnD,GAAAU,QAAA,cAAC,MAAG,UAAU,mBACTT,EAAA,KAAK,MAAM,UAAX,YAAAA,EAAoB,aAAaZ,GAAM,IAAI,CAACI,EAASyB,IAE9C,GAAAR,QAAA,cAAC,OACG,IAAKQ,EACL,MAAO,CAAE,SAAU,UAAW,GAE9B,GAAAR,QAAA,cAACE,GAAA,CACG,SAAU,EACV,MACI,KAAK,oBACDC,EACAxB,EACAI,CACJ,GAAK,GAEb,EAEA,GAAAiB,QAAA,cAAC,MACG,IAAKQ,EACL,MAAO,GAAGlB,EAAK,EAAE,YAAY,CAAC,IAAI,KAAK,QAAQ,CAAC,IAE/CP,CACL,CACJ,EAGZ,CACJ,EACA,GAAAiB,QAAA,cAAC,MAAG,UAAU,UAAUV,EAAK,EAAE,aAAa,CAAE,EAC9C,GAAAU,QAAA,cAAC,UACG,GAAAA,QAAA,cAAC,KAAE,UAAU,mBAAkB,KAAG,EAClC,GAAAA,QAAA,cAAC,WACII,EAAA,KAAK,MAAM,UAAX,YAAAA,EAAoB,YAAY,IAAIzB,GAAM,IACvC,CAACI,EAASyB,IAAiB,CAzS/E,IAAAxB,EA0SwD,OACI,GAAAgB,QAAA,cAAC,OACG,IAAKQ,EACL,MAAO,CAAE,SAAU,UAAW,IAE7BxB,EAAA,KAAK,uBAAuB,CACzB,MAAOmB,EACP,SAAUxB,EACV,QAAAI,CACJ,CAAC,IAJA,YAAAC,EAIG,IAAI,CAACyB,EAAMC,IACX,GAAAV,QAAA,cAACE,GAAA,CACG,IAAKQ,EACL,SAAUA,EACV,MAAOD,EAAK,MACZ,QAAS1B,EACb,GAEJ,GAAAiB,QAAA,cAAC,MACG,UACIQ,GAAgB,GAAKzB,GAAW,IAC1B,gBACAyB,GAAgB,EACd,iBACA,GAEZ,MAAO,GAAGlB,EAAK,EACX,YACJ,CAAC,IAAI,KAAK,UAAU,KAAK,IAAI,CAAC,IAE7BP,CACL,CACJ,CAER,EAER,CACJ,GAECsB,EAAA,KAAK,MAAM,UAAX,MAAAA,EAAoB,YAAY,OAAO1B,GAClC,OAAO,MAAK2B,EAAA,KAAK,MAAM,UAAX,YAAAA,EAAoB,YAAY,OAAO3B,EAAK,EAAE,IACtD,CAACe,EAAQiB,IAAW,CAlVtE,IAAA3B,EAmVsD,OACI,GAAAgB,QAAA,cAAC,MAAG,IAAKW,GACL,GAAAX,QAAA,cAAC,KAAE,UAAU,mBAAmBN,CAAO,EACvC,GAAAM,QAAA,cAAC,YAEOhB,EAAA,KAAK,MAAM,UAAX,YAAAA,EAAoB,YAAY,OAAOL,GACnCe,IAEN,IAAI,CAACX,EAAS6B,IAAW,CA3V7F,IAAA5B,EA4VsE,OACI,GAAAgB,QAAA,cAAC,OACG,IAAKY,EACL,MAAO,CAAE,SAAU,UAAW,IAE7B5B,EAAA,KAAK,uBAAuB,CACzB,MAAOmB,EACP,SAAUxB,EACV,QAAAI,CACJ,CAAC,IAJA,YAAAC,EAIG,IAAI,CAACyB,EAAMC,IACX,GAAAV,QAAA,cAACE,GAAA,CACG,IAAKQ,EACL,SAAUA,EACV,MAAOD,EAAK,MAChB,GAEJ,GAAAT,QAAA,cAAC,MACG,IAAKY,EACL,MAAO,GAAGtB,EAAK,EACX,YACJ,CAAC,IAAI,KAAK,UAAU,KAAK,IAAI,CAAC,IAE7BP,CACL,CACJ,CAER,CAAC,CACL,CACJ,CAER,CACJ,EACA,IACV,CACJ,CAER,CAAC,CACL,EACA,IACR,CAER,CACJ,EAEO8B,GAAQ1C,GDlYf,IAAM2C,GAAN,cAAkC,YAAoC,CAClE,YAAYC,EAAiC,CACzC,MAAMA,CAAK,EACX,KAAK,MAAQ,CAAC,CAClB,CAEA,QAA0B,CACtB,OACI,GAAAC,QAAA,cAACC,GAAA,CACG,MAAM,eACN,MAAM,MACN,OAAO,MACP,IAAI,MACJ,MAAM,iCACN,SAAU,GACV,SAAU,CAAC,CAAE,MAAAC,CAAM,IAAmB,KAAK,MAAM,SAAS,SAAS,CAAE,gBAAiBA,CAAM,CAAC,GAE7F,GAAAF,QAAA,cAACG,GAAA,CACG,aAAc,KAAK,MAAM,MAAM,OAAO,aACtC,mBAAoB,KAAK,MAAM,MAAM,OAAO,mBAC5C,KAAM,KAAK,MAAM,MAAM,OAAO,KAClC,CACJ,CAER,CACJ,EAEOC,GAAQN,GI/Bf,IAAAO,GAA0B,OAQpBC,GAAN,cAA4B,YAAqC,CAC7D,YAAYC,EAA2B,CACnC,MAAMA,CAAK,EACX,KAAK,MAAQ,CAAE,SAAU,EAAM,CACnC,CAEA,OAAO,yBAAyBC,EAAqC,CAEjE,eAAQ,MAAM,0CAA2CA,CAAK,EACvD,CAAE,SAAU,EAAK,CAC5B,CAEA,OAAO,kBAAkBA,EAAcC,EAA4B,CAE/D,QAAQ,MAAM,iCAAkCD,EAAOC,CAAS,CACpE,CAEA,QAA0B,CAMtB,OAAO,KAAK,MAAM,QACtB,CACJ,EAEOC,GAAQJ,GCxBf,IAAAK,GAAkB,OCbX,IAAMC,GAAoBC,GAA8B,CAC3D,IAAMC,EAAU,CAAC,GAAGD,CAAK,EACnBE,EAA0B,CAAC,EACjC,OAAAD,EAAQ,QAAQ,CAACE,EAASC,IAAU,CAC5BA,IAAUH,EAAQ,QAAQE,CAAO,GAC7BA,GAAW,KACXD,EAAc,KAAKC,CAAO,CAGtC,CAAC,EACMD,CACX,EAEO,SAASG,GAAaC,EAAkC,CAC3D,OAAO,OAAO,KAAKA,CAAG,EAAE,CAAC,CAC7B,CCfA,IAAAC,GAAA,CACI,GAAM,KACN,IAAO,MACP,MAAS,QACT,IAAO,MACP,OAAU,SACV,OAAU,SACV,WAAc,eACd,IAAO,MACP,UAAa,iBACb,QAAW,oBACX,QAAW,+DACX,kBAAqB,0DACrB,KAAQ,OACR,OAAU,SACV,eAAkB,sFAClB,aAAgB,mBAChB,MAAS,QACT,WAAc,qCACd,UAAa,YACb,cAAiB,yBACjB,QAAW,UACX,cAAiB,kCACjB,eAAkB,uBAClB,WAAc,8LACd,sBAAyB,4CACzB,KAAQ,OACR,WAAc,wBACd,MAAS,aACT,OAAU,SACV,UAAa,YACb,cAAiB,gDACjB,KAAQ,OACR,cAAiB,mBACjB,aAAgB,gBAChB,SAAY,WACZ,KAAQ,OACR,eAAkB,iBAClB,SAAY,WACZ,SAAY,8OACZ,SAAY,WACZ,UAAa,qBACb,iBAAoB,4MACpB,UAAa,oQACb,SAAY,WACZ,YAAe,8HACf,WAAc,kBACd,UAAa,YACb,cAAiB,kHACjB,KAAQ,0CACR,KAAQ,OACR,SAAY,mDACZ,cAAiB,qKACjB,kBAAqB,kYACrB,SAAY,YACZ,WAAc,sLACd,YAAe,mLACf,WAAc,iIACd,WAAc,mMACd,qBAAwB,+HACxB,WAAc,aACd,kBAAqB,qBACrB,gBAAmB,UACnB,GAAM,KACN,QAAW,gDACX,+BAAkC,iRAClC,GAAM,KACN,WAAc,gQACd,SAAY,WACZ,UAAa,kBACb,cAAiB,6BACjB,cAAiB,6BACjB,gBAAmB,+BACnB,cAAiB,6BACjB,SAAY,WACZ,QAAW,UACX,aAAgB,qBAChB,oBAAuB,wCACvB,iBAAoB,4BACpB,aAAgB,qCAChB,WAAc,mBACd,WAAc,cACd,KAAQ,OACR,OAAU,SACV,mBAAsB,4FACtB,iBAAoB,uBACpB,qBAAwB,0BACxB,OAAU,eACV,gBAAmB,gWACnB,MAAS,2DACT,QAAW,WACX,WAAc,0BACd,SAAY,WACZ,WAAc,cACd,UAAa,aACb,WAAc,0WACd,QAAW,UACX,OAAU,SACV,eAAkB,SAClB,iBAAoB,oBACpB,aAAgB,sBAChB,KAAQ,OACR,YAAe,2CACf,OAAU,SACV,QAAW,UACX,YAAe,6HACf,cAAiB,iBACjB,IAAO,MACP,YAAe,eACf,KAAQ,OACR,SAAY,YACZ,WAAc,oEACd,MAAS,QACT,WAAc,mDACd,OAAU,SACV,IAAO,KACX,ECpHA,IAAAC,GAAA,CACI,GAAM,KACN,IAAO,KACP,MAAS,YACT,IAAO,MACP,OAAU,SACV,OAAU,QACV,WAAc,mBACd,IAAO,gBACP,UAAa,4BACb,QAAW,mCACX,QAAW,iEACX,kBAAqB,6EACrB,KAAQ,QACR,OAAU,aACV,eAAkB,+IAClB,aAAgB,4BAChB,MAAS,eACT,WAAc,qCACd,UAAa,UACb,cAAiB,uCACjB,QAAW,gBACX,cAAiB,4CACjB,eAAkB,8BAClB,WAAc,kNACd,sBAAyB,yDACzB,KAAQ,WACR,WAAc,mCACd,MAAS,sBACT,OAAU,aACV,UAAa,cACb,cAAiB,0DACjB,KAAQ,aACR,cAAiB,0BACjB,aAAgB,0BAChB,SAAY,YACZ,KAAQ,aACR,eAAkB,iBAClB,SAAY,UACZ,SAAY,8RACZ,SAAY,WACZ,UAAa,6BACb,iBAAoB,iSACpB,UAAa,wTACb,SAAY,cACZ,YAAe,+JACf,WAAc,wBACd,UAAa,gBACb,cAAiB,8HACjB,KAAQ,+CACR,KAAQ,cACR,SAAY,gEACZ,cAAiB,wMACjB,kBAAqB,2eACrB,SAAY,eACZ,WAAc,oOACd,YAAe,gOACf,WAAc,2JACd,WAAc,4QACd,qBAAwB,wJACxB,WAAc,aACd,kBAAqB,oBACrB,gBAAmB,UACnB,GAAM,OACN,QAAW,kDACX,+BAAkC,2VAClC,GAAM,KACN,WAAc,0VACd,SAAY,eACZ,UAAa,uBACb,cAAiB,+BACjB,cAAiB,+BACjB,gBAAmB,iCACnB,cAAiB,mCACjB,SAAY,WACZ,QAAW,UACX,aAAgB,yCAChB,oBAAuB,gDACvB,iBAAoB,8BACpB,aAAgB,0CAChB,WAAc,mCACd,WAAc,kBACd,KAAQ,YACR,OAAU,YACV,mBAAsB,gKACtB,iBAAoB,oCACpB,qBAAwB,+BACxB,OAAU,6BACV,gBAAmB,mYACnB,MAAS,4DACT,QAAW,UACX,WAAc,8BACd,SAAY,gBACZ,WAAc,gBACd,UAAa,aACb,WAAc,2ZACd,QAAW,eACX,OAAU,WACV,eAAkB,WAClB,iBAAoB,mBACpB,aAAgB,wBAChB,KAAQ,OACR,YAAe,wDACf,OAAU,aACV,QAAW,cACX,YAAe,wJACf,cAAiB,0BACjB,IAAO,MACP,YAAe,wBACf,KAAQ,WACR,SAAY,gBACZ,WAAc,2GACd,MAAS,OACT,WAAc,sDACd,OAAU,QACV,IAAO,IACX,ECpHA,IAAAC,GAAA,CACI,GAAM,iFACN,IAAO,uFACP,MAAS,mDACT,IAAO,qEACP,OAAU,mDACV,OAAU,mDACV,WAAc,6EACd,IAAO,yDACP,UAAa,mIACb,QAAW,8HACX,QAAW,uTACX,kBAAqB,oTACrB,KAAQ,iCACR,OAAU,uCACV,eAAkB,6WAClB,aAAgB,oGAChB,MAAS,yDACT,WAAc,oIACd,UAAa,yDACb,cAAiB,uHACjB,QAAW,2EACX,cAAiB,qNACjB,eAAkB,kIAClB,WAAc,s8BACd,sBAAyB,kPACzB,KAAQ,+DACR,WAAc,2IACd,MAAS,kEACT,OAAU,6CACV,UAAa,6CACb,cAAiB,yQACjB,KAAQ,iFACR,cAAiB,gGACjB,aAAgB,8FAChB,SAAY,oDACZ,KAAQ,mDACR,eAAkB,iFAClB,SAAY,+DACZ,SAAY,o0CACZ,SAAY,uCACZ,UAAa,iEACb,iBAAoB,o1BACpB,UAAa,mtCACb,SAAY,uCACZ,YAAe,yoBACf,WAAc,qDACd,UAAa,6CACb,cAAiB,iiBACjB,KAAQ,2MACR,KAAQ,2BACR,SAAY,0PACZ,cAAiB,+5BACjB,kBAAqB,wuDACrB,SAAY,gEACZ,WAAc,ozBACd,YAAe,41BACf,WAAc,gmBACd,WAAc,ugCACd,qBAAwB,yjBACxB,WAAc,yDACd,kBAAqB,8FACrB,gBAAmB,sEACnB,GAAM,qBACN,QAAW,wMACX,+BAAkC,qkDAClC,GAAM,uCACN,WAAc,qiDACd,SAAY,iCACZ,UAAa,iFACb,cAAiB,oPACjB,cAAiB,gQACjB,gBAAmB,gTACnB,cAAiB,+SACjB,SAAY,uCACZ,QAAW,6CACX,aAAgB,uKAChB,oBAAuB,qLACvB,iBAAoB,sHACpB,aAAgB,kMAChB,WAAc,2JACd,WAAc,0GACd,KAAQ,yDACR,OAAU,mDACV,mBAAsB,0lBACtB,iBAAoB,uHACpB,qBAAwB,oLACxB,OAAU,uKACV,gBAAmB,2tDACnB,MAAS,mYACT,QAAW,wFACX,WAAc,2KACd,SAAY,yDACZ,WAAc,4DACd,UAAa,oGACb,WAAc,swDACd,QAAW,6CACX,OAAU,qEACV,eAAkB,qEAClB,iBAAoB,sHACpB,aAAgB,iGAChB,KAAQ,iCACR,YAAe,+OACf,OAAU,qEACV,QAAW,iCACX,YAAe,knBACf,cAAiB,8IACjB,IAAO,qCACP,YAAe,sHACf,KAAQ,2EACR,SAAY,sHACZ,WAAc,8dACd,MAAS,uCACT,WAAc,+QACd,OAAU,mDACV,IAAO,cACX,ECpHA,IAAAC,GAAA,CACI,GAAM,QACN,IAAO,MACP,MAAS,UACT,IAAO,YACP,OAAU,aACV,OAAU,QACV,WAAc,cACd,IAAO,YACP,UAAa,4BACb,QAAW,8BACX,QAAW,6EACX,kBAAqB,8EACrB,KAAQ,SACR,OAAU,WACV,eAAkB,oGAClB,aAAgB,yBAChB,MAAS,SACT,WAAc,kCACd,UAAa,YACb,cAAiB,iCACjB,QAAW,YACX,cAAiB,+CACjB,eAAkB,wBAClB,WAAc,yNACd,sBAAyB,0DACzB,KAAQ,WACR,WAAc,2BACd,MAAS,cACT,OAAU,UACV,UAAa,eACb,cAAiB,0CACjB,KAAQ,SACR,cAAiB,6BACjB,aAAgB,iBAChB,SAAY,kBACZ,KAAQ,WACR,eAAkB,sBAClB,SAAY,UACZ,SAAY,uPACZ,SAAY,UACZ,UAAa,wBACb,iBAAoB,qPACpB,UAAa,sSACb,SAAY,WACZ,YAAe,2JACf,WAAc,uBACd,UAAa,YACb,cAAiB,uIACjB,KAAQ,gDACR,KAAQ,OACR,SAAY,qDACZ,cAAiB,uMACjB,kBAAqB,2dACrB,SAAY,wBACZ,WAAc,4NACd,YAAe,2MACf,WAAc,0IACd,WAAc,4NACd,qBAAwB,yJACxB,WAAc,kBACd,kBAAqB,+BACrB,gBAAmB,aACnB,GAAM,SACN,QAAW,uDACX,+BAAkC,6UAClC,GAAM,KACN,WAAc,8SACd,SAAY,iBACZ,UAAa,6BACb,cAAiB,2CACjB,cAAiB,qCACjB,gBAAmB,8CACnB,cAAiB,4CACjB,SAAY,QACZ,QAAW,YACX,aAAgB,4BAChB,oBAAuB,uDACvB,iBAAoB,mCACpB,aAAgB,yCAChB,WAAc,wBACd,WAAc,mBACd,KAAQ,SACR,OAAU,YACV,mBAAsB,mHACtB,iBAAoB,+BACpB,qBAAwB,gCACxB,OAAU,2CACV,gBAAmB,wVACnB,MAAS,qDACT,QAAW,sBACX,WAAc,6BACd,SAAY,sBACZ,WAAc,iBACd,UAAa,eACb,WAAc,kbACd,QAAW,UACX,OAAU,SACV,eAAkB,SAClB,iBAAoB,4BACpB,aAAgB,0BAChB,KAAQ,QACR,YAAe,6DACf,OAAU,WACV,QAAW,UACX,YAAe,sJACf,cAAiB,2BACjB,IAAO,MACP,YAAe,gBACf,KAAQ,aACR,SAAY,uBACZ,WAAc,8DACd,MAAS,QACT,WAAc,wDACd,OAAU,UACV,IAAO,KACX,ECpHA,IAAAC,GAAA,CACI,GAAM,mBACN,IAAO,OACP,MAAS,WACT,IAAO,KACP,OAAU,QACV,OAAU,SACV,WAAc,eACd,IAAO,YACP,UAAa,yBACb,QAAW,4BACX,QAAW,iEACX,kBAAqB,kEACrB,KAAQ,kBACR,OAAU,YACV,eAAkB,yFAClB,aAAgB,iBAChB,MAAS,WACT,WAAc,yCACd,UAAa,aACb,cAAiB,+BACjB,QAAW,aACX,cAAiB,2CACjB,eAAkB,uBAClB,WAAc,kNACd,sBAAyB,wDACzB,KAAQ,cACR,WAAc,iCACd,MAAS,kBACT,OAAU,cACV,UAAa,YACb,cAAiB,wDACjB,KAAQ,YACR,cAAiB,wBACjB,aAAgB,kBAChB,SAAY,eACZ,KAAQ,YACR,eAAkB,gBAClB,SAAY,WACZ,SAAY,4QACZ,SAAY,SACZ,UAAa,sBACb,iBAAoB,2OACpB,UAAa,4SACb,SAAY,UACZ,YAAe,2JACf,WAAc,oBACd,UAAa,SACb,cAAiB,sHACjB,KAAQ,kDACR,KAAQ,OACR,SAAY,+DACZ,cAAiB,yKACjB,kBAAqB,sbACrB,SAAY,YACZ,WAAc,0MACd,YAAe,wMACf,WAAc,qIACd,WAAc,uOACd,qBAAwB,2IACxB,WAAc,YACd,kBAAqB,mBACrB,gBAAmB,cACnB,GAAM,MACN,QAAW,qDACX,+BAAkC,+TAClC,GAAM,KACN,WAAc,yTACd,SAAY,YACZ,UAAa,oBACb,cAAiB,wCACjB,cAAiB,kCACjB,gBAAmB,qCACnB,cAAiB,sCACjB,SAAY,aACZ,QAAW,UACX,aAAgB,4BAChB,oBAAuB,iCACvB,iBAAoB,uCACpB,aAAgB,+BAChB,WAAc,sBACd,WAAc,oBACd,KAAQ,SACR,OAAU,YACV,mBAAsB,iIACtB,iBAAoB,yBACpB,qBAAwB,sCACxB,OAAU,6BACV,gBAAmB,0XACnB,MAAS,0DACT,QAAW,iBACX,WAAc,iCACd,SAAY,eACZ,WAAc,cACd,UAAa,aACb,WAAc,kaACd,QAAW,UACX,OAAU,aACV,eAAkB,aAClB,iBAAoB,qBACpB,aAAgB,0BAChB,KAAQ,QACR,YAAe,6DACf,OAAU,aACV,QAAW,UACX,YAAe,qJACf,cAAiB,sBACjB,IAAO,MACP,YAAe,oBACf,KAAQ,YACR,SAAY,kBACZ,WAAc,yEACd,MAAS,SACT,WAAc,iDACd,OAAU,UACV,IAAO,IACX,ECpHA,IAAAC,GAAA,CACI,GAAM,cACN,IAAO,eACP,MAAS,UACT,IAAO,YACP,OAAU,SACV,OAAU,QACV,WAAc,kBACd,IAAO,UACP,UAAa,8BACb,QAAW,iCACX,QAAW,2EACX,kBAAqB,mFACrB,KAAQ,QACR,OAAU,UACV,eAAkB,2FAClB,aAAgB,wBAChB,MAAS,SACT,WAAc,wCACd,UAAa,YACb,cAAiB,gCACjB,QAAW,YACX,cAAiB,mDACjB,eAAkB,wBAClB,WAAc,2OACd,sBAAyB,+CACzB,KAAQ,QACR,WAAc,4CACd,MAAS,gBACT,OAAU,YACV,UAAa,WACb,cAAiB,qEACjB,KAAQ,WACR,cAAiB,6BACjB,aAAgB,qBAChB,SAAY,iBACZ,KAAQ,SACR,eAAkB,iBAClB,SAAY,UACZ,SAAY,wRACZ,SAAY,UACZ,UAAa,6BACb,iBAAoB,kSACpB,UAAa,4UACb,SAAY,WACZ,YAAe,iJACf,WAAc,oBACd,UAAa,YACb,cAAiB,yIACjB,KAAQ,oDACR,KAAQ,OACR,SAAY,oEACZ,cAAiB,uMACjB,kBAAqB,0gBACrB,SAAY,kBACZ,WAAc,2OACd,YAAe,mPACf,WAAc,4IACd,WAAc,2RACd,qBAAwB,4JACxB,WAAc,aACd,kBAAqB,wBACrB,gBAAmB,iBACnB,GAAM,MACN,QAAW,8DACX,+BAAkC,mVAClC,GAAM,WACN,WAAc,uUACd,SAAY,YACZ,UAAa,uBACb,cAAiB,uCACjB,cAAiB,uCACjB,gBAAmB,2CACnB,cAAiB,uCACjB,SAAY,eACZ,QAAW,YACX,aAAgB,8BAChB,oBAAuB,wDACvB,iBAAoB,sCACpB,aAAgB,2CAChB,WAAc,0BACd,WAAc,qBACd,KAAQ,cACR,OAAU,kBACV,mBAAsB,gJACtB,iBAAoB,gCACpB,qBAAwB,6CACxB,OAAU,wCACV,gBAAmB,waACnB,MAAS,kEACT,QAAW,qBACX,WAAc,qCACd,SAAY,gBACZ,WAAc,oBACd,UAAa,uBACb,WAAc,mbACd,QAAW,YACX,OAAU,UACV,eAAkB,UAClB,iBAAoB,+BACpB,aAAgB,2BAChB,KAAQ,QACR,YAAe,4EACf,OAAU,WACV,QAAW,mBACX,YAAe,yIACf,cAAiB,8BACjB,IAAO,MACP,YAAe,4BACf,KAAQ,cACR,SAAY,yBACZ,WAAc,qGACd,MAAS,SACT,WAAc,qDACd,OAAU,UACV,IAAO,KACX,ECpHA,IAAAC,GAAA,CACI,GAAM,KACN,IAAO,KACP,MAAS,eACT,IAAO,KACP,OAAU,SACV,OAAU,SACV,WAAc,kBACd,IAAO,aACP,UAAa,wBACb,QAAW,iCACX,QAAW,0DACX,kBAAqB,uEACrB,KAAQ,WACR,OAAU,aACV,eAAkB,qFAClB,aAAgB,mBAChB,MAAS,SACT,WAAc,qCACd,UAAa,aACb,cAAiB,gCACjB,QAAW,aACX,cAAiB,2CACjB,eAAkB,yBAClB,WAAc,4NACd,sBAAyB,8CACzB,KAAQ,QACR,WAAc,2BACd,MAAS,eACT,OAAU,YACV,UAAa,aACb,cAAiB,gCACjB,KAAQ,aACR,cAAiB,oBACjB,aAAgB,mBAChB,SAAY,YACZ,KAAQ,aACR,eAAkB,kBAClB,SAAY,WACZ,SAAY,0QACZ,SAAY,UACZ,UAAa,4BACb,iBAAoB,2OACpB,UAAa,8RACb,SAAY,aACZ,YAAe,4IACf,WAAc,sBACd,UAAa,cACb,cAAiB,wIACjB,KAAQ,mDACR,KAAQ,OACR,SAAY,oDACZ,cAAiB,mKACjB,kBAAqB,gdACrB,SAAY,qBACZ,WAAc,+NACd,YAAe,uNACf,WAAc,gIACd,WAAc,uOACd,qBAAwB,0JACxB,WAAc,cACd,kBAAqB,0BACrB,gBAAmB,aACnB,GAAM,KACN,QAAW,sDACX,+BAAkC,ySAClC,GAAM,KACN,WAAc,sTACd,SAAY,aACZ,UAAa,8BACb,cAAiB,oDACjB,cAAiB,4CACjB,gBAAmB,gDACnB,cAAiB,0CACjB,SAAY,WACZ,QAAW,cACX,aAAgB,mCAChB,oBAAuB,oCACvB,iBAAoB,2BACpB,aAAgB,2BAChB,WAAc,8BACd,WAAc,uBACd,KAAQ,QACR,OAAU,cACV,mBAAsB,2GACtB,iBAAoB,oCACpB,qBAAwB,6BACxB,OAAU,oCACV,gBAAmB,sWACnB,MAAS,uDACT,QAAW,aACX,WAAc,iCACd,SAAY,eACZ,WAAc,gBACd,UAAa,gBACb,WAAc,wZACd,QAAW,YACX,OAAU,eACV,eAAkB,eAClB,iBAAoB,wBACpB,aAAgB,qBAChB,KAAQ,QACR,YAAe,8DACf,OAAU,mBACV,QAAW,YACX,YAAe,wIACf,cAAiB,2BACjB,IAAO,MACP,YAAe,kBACf,KAAQ,SACR,SAAY,gBACZ,WAAc,kEACd,MAAS,SACT,WAAc,sDACd,OAAU,SACV,IAAO,OACX,ECpHA,IAAAC,GAAA,CACI,GAAM,oBACN,IAAO,mBACP,MAAS,UACT,IAAO,MACP,OAAU,YACV,OAAU,SACV,WAAc,kBACd,IAAO,UACP,UAAa,0BACb,QAAW,kCACX,QAAW,iEACX,kBAAqB,kFACrB,KAAQ,SACR,OAAU,WACV,eAAkB,uGAClB,aAAgB,sBAChB,MAAS,QACT,WAAc,wCACd,UAAa,eACb,cAAiB,kCACjB,QAAW,YACX,cAAiB,iDACjB,eAAkB,wBAClB,WAAc,oNACd,sBAAyB,yDACzB,KAAQ,SACR,WAAc,iCACd,MAAS,eACT,OAAU,SACV,UAAa,aACb,cAAiB,gDACjB,KAAQ,SACR,cAAiB,6BACjB,aAAgB,oBAChB,SAAY,qBACZ,KAAQ,WACR,eAAkB,oBAClB,SAAY,WACZ,SAAY,qPACZ,SAAY,YACZ,UAAa,6BACb,iBAAoB,8PACpB,UAAa,2RACb,SAAY,UACZ,YAAe,kJACf,WAAc,yBACd,UAAa,WACb,cAAiB,iIACjB,KAAQ,8CACR,KAAQ,UACR,SAAY,0CACZ,cAAiB,qMACjB,kBAAqB,gdACrB,SAAY,mBACZ,WAAc,0NACd,YAAe,yOACf,WAAc,+IACd,WAAc,2NACd,qBAAwB,qJACxB,WAAc,gBACd,kBAAqB,2BACrB,gBAAmB,iBACnB,GAAM,KACN,QAAW,2DACX,+BAAkC,iUAClC,GAAM,aACN,WAAc,qVACd,SAAY,yBACZ,UAAa,2BACb,cAAiB,4CACjB,cAAiB,sCACjB,gBAAmB,4CACnB,cAAiB,sCACjB,SAAY,gBACZ,QAAW,aACX,aAAgB,gCAChB,oBAAuB,iDACvB,iBAAoB,wCACpB,aAAgB,uCAChB,WAAc,gCACd,WAAc,mBACd,KAAQ,UACR,OAAU,cACV,mBAAsB,8HACtB,iBAAoB,oCACpB,qBAAwB,yCACxB,OAAU,0CACV,gBAAmB,wXACnB,MAAS,wDACT,QAAW,eACX,WAAc,gCACd,SAAY,UACZ,WAAc,qBACd,UAAa,iBACb,WAAc,iZACd,QAAW,aACX,OAAU,UACV,eAAkB,UAClB,iBAAoB,yBACpB,aAAgB,uBAChB,KAAQ,QACR,YAAe,8EACf,OAAU,UACV,QAAW,eACX,YAAe,iJACf,cAAiB,uBACjB,IAAO,MACP,YAAe,gBACf,KAAQ,UACR,SAAY,oBACZ,WAAc,2EACd,MAAS,QACT,WAAc,iDACd,OAAU,UACV,IAAO,OACX,ECpHA,IAAAC,GAAA,CACI,GAAM,KACN,IAAO,iBACP,MAAS,eACT,IAAO,iBACP,OAAU,iBACV,OAAU,UACV,WAAc,gBACd,IAAO,aACP,UAAa,6BACb,QAAW,kCACX,QAAW,0EACX,kBAAqB,8DACrB,KAAQ,eACR,OAAU,gBACV,eAAkB,kGAClB,aAAgB,qBAChB,MAAS,oBACT,WAAc,0CACd,UAAa,OACb,cAAiB,wBACjB,QAAW,mBACX,cAAiB,0DACjB,eAAkB,6BAClB,WAAc,uRACd,sBAAyB,mDACzB,KAAQ,QACR,WAAc,kCACd,MAAS,0BACT,OAAU,cACV,UAAa,aACb,cAAiB,6CACjB,KAAQ,iBACR,cAAiB,wBACjB,aAAgB,gBAChB,SAAY,cACZ,KAAQ,eACR,eAAkB,gBAClB,SAAY,aACZ,SAAY,wTACZ,SAAY,gBACZ,UAAa,mBACb,iBAAoB,oRACpB,UAAa,uXACb,SAAY,sBACZ,YAAe,mJACf,WAAc,yBACd,UAAa,sCACb,cAAiB,sKACjB,KAAQ,kEACR,KAAQ,OACR,SAAY,yEACZ,cAAiB,4PACjB,kBAAqB,+jBACrB,SAAY,aACZ,WAAc,0PACd,YAAe,wQACf,WAAc,6MACd,WAAc,+PACd,qBAAwB,uLACxB,WAAc,YACd,kBAAqB,sBACrB,gBAAmB,aACnB,GAAM,MACN,QAAW,qEACX,+BAAkC,4TAClC,GAAM,KACN,WAAc,4XACd,SAAY,gBACZ,UAAa,yBACb,cAAiB,yCACjB,cAAiB,oCACjB,gBAAmB,2CACnB,cAAiB,iCACjB,SAAY,aACZ,QAAW,UACX,aAAgB,oDAChB,oBAAuB,uDACvB,iBAAoB,sCACpB,aAAgB,2CAChB,WAAc,6BACd,WAAc,sBACd,KAAQ,eACR,OAAU,gBACV,mBAAsB,kIACtB,iBAAoB,wBACpB,qBAAwB,4CACxB,OAAU,iCACV,gBAAmB,6eACnB,MAAS,mFACT,QAAW,aACX,WAAc,6DACd,SAAY,aACZ,WAAc,gBACd,UAAa,kBACb,WAAc,8fACd,QAAW,UACX,OAAU,wBACV,eAAkB,wBAClB,iBAAoB,sBACpB,aAAgB,6BAChB,KAAQ,QACR,YAAe,qDACf,OAAU,0BACV,QAAW,QACX,YAAe,kJACf,cAAiB,4BACjB,IAAO,YACP,YAAe,qBACf,KAAQ,kBACR,SAAY,6BACZ,WAAc,yEACd,MAAS,oBACT,WAAc,6EACd,OAAU,gBACV,IAAO,KACX,ECpHA,IAAAC,GAAA,CACI,GAAM,KACN,IAAO,uFACP,MAAS,yDACT,IAAO,MACP,OAAU,qBACV,OAAU,mDACV,WAAc,uEACd,IAAO,uCACP,UAAa,mFACb,QAAW,8HACX,QAAW,6TACX,kBAAqB,qRACrB,KAAQ,qEACR,OAAU,yDACV,eAAkB,0kBAClB,aAAgB,sEAChB,MAAS,6CACT,WAAc,gJACd,UAAa,6CACb,cAAiB,iHACjB,QAAW,qEACX,cAAiB,6LACjB,eAAkB,oJAClB,WAAc,q5BACd,sBAAyB,6MACzB,KAAQ,iCACR,WAAc,sIACd,MAAS,kEACT,OAAU,mDACV,UAAa,mDACb,cAAiB,wPACjB,KAAQ,+DACR,cAAiB,gGACjB,aAAgB,4EAChB,SAAY,qDACZ,KAAQ,6CACR,eAAkB,iFAClB,SAAY,+DACZ,SAAY,srCACZ,SAAY,yDACZ,UAAa,2DACb,iBAAoB,41BACpB,UAAa,unCACb,SAAY,uCACZ,YAAe,ygBACf,WAAc,kEACd,UAAa,6CACb,cAAiB,+aACjB,KAAQ,qMACR,KAAQ,2BACR,SAAY,uUACZ,cAAiB,s1BACjB,kBAAqB,0gDACrB,SAAY,gEACZ,WAAc,8zBACd,YAAe,swBACf,WAAc,6oBACd,WAAc,28BACd,qBAAwB,4iBACxB,WAAc,yDACd,kBAAqB,8FACrB,gBAAmB,gEACnB,GAAM,iCACN,QAAW,oNACX,+BAAkC,o5CAClC,GAAM,iCACN,WAAc,08CACd,SAAY,iCACZ,UAAa,iFACb,cAAiB,2QACjB,cAAiB,yFACjB,gBAAmB,0NACnB,cAAiB,4LACjB,SAAY,uCACZ,QAAW,mDACX,aAAgB,6KAChB,oBAAuB,8NACvB,iBAAoB,mIACpB,aAAgB,8JAChB,WAAc,yIACd,WAAc,wFACd,KAAQ,mDACR,OAAU,mDACV,mBAAsB,8kBACtB,iBAAoB,uHACpB,qBAAwB,oLACxB,OAAU,mLACV,gBAAmB,unDACnB,MAAS,4OACT,QAAW,wFACX,WAAc,6LACd,SAAY,2EACZ,WAAc,6DACd,UAAa,8FACb,WAAc,6oDACd,QAAW,6CACX,OAAU,yDACV,eAAkB,yDAClB,iBAAoB,kEACpB,aAAgB,qFAChB,KAAQ,iCACR,YAAe,yOACf,OAAU,yDACV,QAAW,uCACX,YAAe,wgBACf,cAAiB,4HACjB,IAAO,MACP,YAAe,gHACf,KAAQ,+DACR,SAAY,gHACZ,WAAc,gZACd,MAAS,mDACT,WAAc,yQACd,OAAU,mDACV,IAAO,oBACX,ECpHA,IAAAC,GAAA,CACI,GAAM,KACN,IAAO,KACP,MAAS,eACT,IAAO,eACP,OAAU,eACV,OAAU,qBACV,WAAc,iCACd,IAAO,eACP,UAAa,iCACb,QAAW,6CACX,QAAW,6HACX,kBAAqB,uFACrB,KAAQ,eACR,OAAU,eACV,eAAkB,iKAClB,aAAgB,uCAChB,MAAS,eACT,WAAc,mDACd,UAAa,iCACb,cAAiB,6CACjB,QAAW,eACX,cAAiB,2EACjB,eAAkB,2BAClB,WAAc,0SACd,sBAAyB,2EACzB,KAAQ,eACR,WAAc,mDACd,MAAS,uCACT,OAAU,eACV,UAAa,eACb,cAAiB,iFACjB,KAAQ,eACR,cAAiB,uCACjB,aAAgB,2BAChB,SAAY,qBACZ,KAAQ,eACR,eAAkB,eAClB,SAAY,qBACZ,SAAY,gWACZ,SAAY,eACZ,UAAa,mDACb,iBAAoB,8WACpB,UAAa,0cACb,SAAY,eACZ,YAAe,gMACf,WAAc,uCACd,UAAa,eACb,cAAiB,gJACjB,KAAQ,4DACR,KAAQ,eACR,SAAY,uFACZ,cAAiB,6RACjB,kBAAqB,0iBACrB,SAAY,2BACZ,WAAc,qQACd,YAAe,4RACf,WAAc,8NACd,WAAc,iUACd,qBAAwB,4LACxB,WAAc,eACd,kBAAqB,2BACrB,gBAAmB,qBACnB,GAAM,SACN,QAAW,yDACX,+BAAkC,qZAClC,GAAM,eACN,WAAc,2cACd,SAAY,eACZ,UAAa,gCACb,cAAiB,qEACjB,cAAiB,qEACjB,gBAAmB,qEACnB,cAAiB,qEACjB,SAAY,eACZ,QAAW,qBACX,aAAgB,uCAChB,oBAAuB,6DACvB,iBAAoB,iCACpB,aAAgB,+DAChB,WAAc,6CACd,WAAc,2BACd,KAAQ,eACR,OAAU,eACV,mBAAsB,qNACtB,iBAAoB,uCACpB,qBAAwB,6CACxB,OAAU,uCACV,gBAAmB,mnBACnB,MAAS,+FACT,QAAW,eACX,WAAc,2CACd,SAAY,eACZ,WAAc,2BACd,UAAa,qBACb,WAAc,ikBACd,QAAW,qBACX,OAAU,eACV,eAAkB,eAClB,iBAAoB,2BACpB,aAAgB,2CAChB,KAAQ,eACR,YAAe,uFACf,OAAU,eACV,QAAW,eACX,YAAe,0LACf,cAAiB,6CACjB,IAAO,eACP,YAAe,6CACf,KAAQ,eACR,SAAY,2BACZ,WAAc,iIACd,MAAS,eACT,WAAc,mGACd,OAAU,qBACV,IAAO,cACX,EZtFA,IAAMC,GAAN,cAAkBC,EAA6E,CAG3F,YAAYC,EAAY,CACpB,IAAMC,EAA+C,CACjD,GAAGD,EACH,gBAAiB,CAAC,EAClB,WAAYE,GACZ,aAAc,CACV,GAAAC,GACA,GAAAA,GACA,GAAAA,GACA,GAAAA,GACA,GAAAA,GACA,GAAAA,GACA,GAAAA,GACA,GAAAA,GACA,GAAAA,GACA,GAAAA,GACA,QAASA,EACb,CACJ,EACA,MAAMH,EAAOC,CAAa,EArB9BG,EAAA,mBAoDAA,EAAA,oBAAe,IAAY,CACvBC,GAAsB,KAAM,KAAM,KAAK,WAAY,KAAK,MAAM,YAAa,KAAK,MAAM,OAAO,OAAO,CACxG,GAWAD,EAAA,YAAyB,MACzBA,EAAA,YAAyB,MA5CrB,KAAK,WAAa,GAAAE,QAAM,UAAU,EAClC,KAAK,MAAQ,CACT,GAAG,KAAK,MACR,OAAQ,CAAC,EACT,IAAK,MACL,OAAQ,MACR,iBAAkB,KAClB,WAAY,GACZ,kBAAmB,GACnB,UAAW,CAAC,EACZ,cAAe,GACf,UAAW,QACX,UAAW,QACX,cAAe,CAAC,EAChB,YAAa,CAAC,EACd,cAAe,CAAC,EAChB,gBAAiB,GACjB,YAAa,GACb,cAAe,CAAC,EAChB,gBAAiB,GACjB,WAAY,IACZ,aAAc,EACd,eAAgB,EAChB,eAAgB,EAChB,eAAgB,CAAE,iBAAkB,CAAC,EAAG,iBAAkB,EAAG,CACjE,EAEA,KAAK,SAAW,KAAK,SAAS,KAAK,IAAI,CAC3C,CAMA,mBAA0B,CACtBD,GAAsB,KAAK,KAAM,KAAK,KAAM,KAAK,WAAY,KAAK,MAAM,YAAa,KAAK,MAAM,OAAO,OAAO,EAC9G,OAAO,iBAAiB,SAAU,KAAK,YAAY,CACvD,CAEA,sBAA6B,CACzB,OAAO,oBAAoB,SAAU,KAAK,YAAY,CAC1D,CAIA,MAAM,mBACFE,EACAC,EACa,CAgCb,GA/BIA,EAAU,OAAO,WAAa,KAAK,MAAM,OAAO,UAAY,KAAK,MAAM,iBACvE,MAAM,KAAK,qBAAqB,GAEhCA,EAAU,OAAO,OAAS,KAAK,MAAM,OAAO,MAAQA,EAAU,aAAe,KAAK,MAAM,aACpF,KAAK,MAAM,YAAc,KAAK,MAAM,YAAc,IAClDC,GACI,KAAK,MAAM,WACX,KAAK,SACL,KAAK,MAAM,OAAO,KAClB,KAAK,MAAM,OAAO,YACtB,EAGJD,EAAU,OAAO,eAAiB,KAAK,MAAM,OAAO,cACpD,KAAK,kBAAkB,eAAgBE,GAAgB,KAAK,MAAM,OAAO,YAAY,CAAC,EAEtFF,EAAU,cAAgB,KAAK,MAAM,aACrC,KAAK,SAAS,CAAE,cAAeG,GAAiB,KAAK,MAAM,WAAW,CAAE,CAAC,GAGzEH,EAAU,OAAO,UAAY,KAAK,MAAM,OAAO,SAC/C,KAAK,MAAM,cAAgBA,EAAU,cAErCH,GACI,KAAK,KACL,KAAK,KACL,KAAK,WACL,KAAK,MAAM,YACX,KAAK,MAAM,OAAO,OACtB,EAGAG,EAAU,iBAAmB,KAAK,MAAM,gBACxCA,EAAU,iBAAmB,KAAK,MAAM,eAC1C,CACE,GAAM,CAAE,KAAAI,EAAM,KAAAC,CAAK,EAAIC,GACnB,KAAK,MAAM,OAAO,QAClB,KAAK,MAAM,eACX,KAAK,MAAM,cACf,EACA,KAAK,KAAOF,EACZ,KAAK,KAAOC,EACZ,IAAME,EAAU,CAAE,aAAcH,EAAM,WAAYC,CAAK,EACvD,KAAK,kBAAkB,UAAWE,CAAO,EACzCV,GACI,KAAK,KACL,KAAK,KACL,KAAK,WACL,KAAK,MAAM,YACX,KAAK,MAAM,OAAO,OACtB,CACJ,CACJ,CAEA,MAAM,mBAAmC,CACrCW,GAAqB,KAAK,MAAM,OAAO,KAAM,KAAK,kBAAkB,KAAK,IAAI,CAAC,EAC9E,KAAK,kBAAkB,eAAgBN,GAAgB,KAAK,MAAM,OAAO,YAAY,CAAC,EACtF,MAAM,KAAK,qBAAqB,EAChC,MAAMO,GAAgB,wBAAwB,KAAK,OAASC,GAAmB,CAC3E,KAAK,SAAS,CAAE,UAAWA,CAAK,CAAC,CACrC,CAAC,EACD,IAAMC,EAAYC,GAAkB,KAAK,MAAM,OAAO,YAAY,EAClE,KAAK,SAAS,CAAE,WAAYD,CAAU,CAAC,EACvCV,GAA2BU,EAAW,KAAK,SAAU,KAAK,MAAM,OAAO,KAAM,KAAK,MAAM,OAAO,YAAY,EAE3G,KAAK,SAAS,CAAE,gBAAiB,EAAK,CAAC,CAC3C,CAEA,MAAM,sBAAsC,CACxC,MAAMF,GAAgB,qBAAqB,KAAK,OAAQ,KAAK,MAAM,OAAO,UAAY,aAAcC,GAAQ,CACvG,KAAK,MAAM,OAAO,SAEb,KAAK,kBAAkB,qBAAsBG,GAAgBH,CAAI,CAAC,EADlE,KAAK,kBAAkB,WAAY,YAAY,CAEzD,CAAC,CACL,CAEA,QAA6B,CACzB,OAAK,KAAK,MAAM,OAKZ,GAAAZ,QAAA,cAAC,OAAI,UAAW,oBAAoB,KAAK,MAAM,SAAS,IACpD,GAAAA,QAAA,cAACgB,GAAA,KACG,GAAAhB,QAAA,cAACiB,GAAA,CACG,UAAS,GACT,QAAS,GAET,GAAAjB,QAAA,cAACkB,GAAA,CACG,OAAQ,KAAK,OACb,OAAQ,KAAK,MAAM,OACnB,QAAUC,GAA0B,KAAK,SAAS,CAAE,UAAWA,EAAK,SAAS,CAAE,CAAC,EAChF,OAAQC,GAAU,KAAK,aAAaA,CAAM,EAC1C,SAAU,KAAK,SACf,YAAa,KAAK,YAClB,QAAS,KAAK,MAAM,QACpB,SAAU,CAACC,EAAMC,EAAOC,IAAO,KAAK,kBAAkBF,EAAMC,EAAOC,CAAE,EACzE,EAEA,GAAAvB,QAAA,cAACwB,GAAA,CACG,SAAU,CACN,YAAa,KAAK,SAClB,aAAc,CAACH,EAAMC,EAAOC,IAAO,KAAK,kBAAkBF,EAAMC,EAAOC,CAAE,CAC7E,EACA,KAAM,CAAE,MAAO,KAAK,MAAO,YAAa,KAAK,YAAa,OAAQ,KAAK,MAAO,EAClF,CACJ,EACC,KAAK,MAAM,YACR,GAAAvB,QAAA,cAACyB,GAAA,CACG,KAAM,CAAE,MAAO,KAAK,MAAO,WAAY,KAAK,UAAW,EACvD,SAAU,CACN,YAAa,KAAK,SAClB,aAAc,CAACJ,EAAMC,EAAOC,IAAO,KAAK,kBAAkBF,EAAMC,EAAOC,CAAE,CAC7E,EACJ,EACA,KACH,KAAK,MAAM,gBACR,GAAAvB,QAAA,cAAC0B,GAAA,CACG,MAAO,KAAK,MACZ,SAAU,CACN,SAAU,KAAK,SACf,aAAc,CAACL,EAAMC,EAAOC,IAAO,KAAK,kBAAkBF,EAAMC,EAAOC,CAAE,CAC7E,EACJ,EACA,KACH,KAAK,MAAM,cAAc,OAAS,EAAI,GAAAvB,QAAA,cAAC2B,GAAA,CAAqB,MAAO,KAAK,MAAO,EAAK,KACpF,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,uBAAuB,CACjC,CACJ,EApDO,MAAM,OAAO,CAsD5B,CACJ,EAEOC,GAAQpC,Gv5BtOf,IAAIqC,GAAYC,GAAM,aAAa,EAEnC,SAASC,IAAc,CACnB,GAAAC,QAAS,OACL,GAAAC,QAAA,cAACC,GAAA,CAAc,MAAOC,GAAMN,EAAS,GACjC,GAAAI,QAAA,cAACG,GAAA,CACG,cAAeC,GAAU,CACrBR,GAAYQ,EACZN,GAAM,CACV,EACA,UAAWF,GACf,CACJ,EACA,SAAS,eAAe,MAAM,CAClC,CACJ,CAEAE,GAAM", + "names": ["require_object_assign", "__commonJSMin", "exports", "module", "getOwnPropertySymbols", "hasOwnProperty", "propIsEnumerable", "toObject", "val", "shouldUseNative", "test1", "test2", "i", "order2", "test3", "letter", "err", "target", "source", "from", "to", "symbols", "s", "key", "require_react_production_min", "__commonJSMin", "exports", "l", "n", "p", "q", "r", "t", "u", "v", "w", "x", "y", "a", "z", "b", "c", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "e", "d", "k", "h", "g", "f", "m", "K", "L", "escape", "M", "N", "O", "P", "Q", "R", "S", "T", "require_react", "__commonJSMin", "exports", "module", "require_scheduler_production_min", "__commonJSMin", "exports", "f", "g", "h", "k", "l", "p", "q", "t", "u", "w", "a", "b", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "c", "d", "e", "I", "J", "K", "m", "n", "v", "r", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "require_scheduler", "__commonJSMin", "exports", "module", "require_react_dom_production_min", "__commonJSMin", "exports", "aa", "m", "r", "y", "a", "b", "c", "ba", "ca", "da", "ea", "fa", "ha", "ia", "ja", "ka", "la", "ma", "d", "na", "B", "e", "f", "g", "D", "oa", "pa", "qa", "ra", "sa", "ta", "ua", "wa", "xa", "ya", "za", "Aa", "Ba", "Ca", "Da", "Ea", "Fa", "Ga", "Ha", "Ia", "Ja", "E", "Ka", "La", "Ma", "Na", "Oa", "Pa", "k", "h", "Qa", "Ra", "Sa", "Ta", "Ua", "Va", "Wa", "Xa", "Ya", "Za", "$a", "ab", "bb", "cb", "db", "eb", "fb", "gb", "hb", "ib", "jb", "kb", "lb", "mb", "nb", "ob", "pb", "qb", "rb", "sb", "tb", "ub", "vb", "wb", "xb", "yb", "zb", "Ab", "Bb", "Cb", "Db", "Eb", "Fb", "Gb", "Hb", "Ib", "Jb", "Kb", "Lb", "Mb", "Nb", "Ob", "Pb", "Qb", "Rb", "n", "Sb", "Tb", "Ub", "Vb", "Wb", "Xb", "Yb", "Zb", "$b", "ac", "bc", "cc", "dc", "ec", "fc", "gc", "hc", "ic", "jc", "kc", "lc", "mc", "nc", "oc", "pc", "qc", "rc", "sc", "tc", "uc", "vc", "wc", "xc", "yc", "zc", "Ac", "Bc", "Cc", "Dc", "Ec", "Fc", "Gc", "Hc", "Ic", "Jc", "Kc", "Lc", "Mc", "Nc", "Oc", "Pc", "Qc", "F", "Rc", "Sc", "Tc", "Uc", "Vc", "Wc", "Xc", "Yc", "Zc", "$c", "ad", "bd", "cd", "dd", "ed", "fd", "gd", "hd", "id", "jd", "kd", "ld", "md", "nd", "od", "pd", "qd", "rd", "sd", "td", "ud", "vd", "wd", "xd", "yd", "Ad", "zd", "Bd", "Cd", "Dd", "Ed", "Fd", "Gd", "Hd", "Id", "Jd", "Kd", "Ld", "Md", "Nd", "Od", "Pd", "Qd", "Rd", "Sd", "Td", "Ud", "Vd", "Wd", "Xd", "Yd", "Zd", "$d", "ae", "be", "ce", "de", "ee", "fe", "ge", "he", "ie", "je", "ke", "le", "me", "ne", "oe", "pe", "qe", "re", "se", "te", "ue", "ve", "we", "ye", "ze", "xe", "Ae", "Be", "Ce", "De", "Ee", "Fe", "Ge", "He", "Ie", "Je", "Ke", "Le", "Me", "Ne", "Oe", "Pe", "Qe", "Re", "Se", "Te", "Ue", "Ve", "We", "Xe", "Ye", "Ze", "G", "$e", "af", "bf", "cf", "df", "x", "w", "z", "u", "t", "q", "ef", "ff", "gf", "hf", "J", "K", "Q", "L", "jf", "kf", "lf", "mf", "nf", "of", "pf", "qf", "rf", "sf", "tf", "uf", "vf", "wf", "xf", "yf", "zf", "Af", "Bf", "H", "I", "Cf", "M", "N", "Df", "Ef", "Ff", "Gf", "Hf", "If", "Jf", "Kf", "Lf", "Mf", "Nf", "Of", "Pf", "Qf", "Rf", "Sf", "Tf", "Uf", "Vf", "Wf", "Xf", "Yf", "Zf", "$f", "ag", "bg", "cg", "dg", "O", "eg", "fg", "gg", "hg", "ig", "jg", "kg", "lg", "mg", "ng", "og", "pg", "qg", "rg", "sg", "tg", "ug", "vg", "wg", "xg", "yg", "zg", "Ag", "Bg", "Cg", "A", "p", "C", "Dg", "Eg", "Fg", "Gg", "Kg", "Hg", "Ig", "Jg", "Lg", "Mg", "Ng", "Og", "Pg", "Qg", "Rg", "Sg", "Tg", "Ug", "Vg", "Wg", "Xg", "l", "Yg", "Zg", "$g", "ah", "bh", "ch", "dh", "eh", "fh", "gh", "hh", "P", "ih", "jh", "kh", "lh", "mh", "nh", "oh", "ph", "qh", "rh", "sh", "th", "uh", "vh", "wh", "xh", "R", "S", "T", "yh", "zh", "Ah", "Bh", "Ch", "Dh", "Eh", "Fh", "Gh", "Hh", "Ih", "Jh", "Kh", "Lh", "Mh", "Nh", "U", "Oh", "Ph", "Qh", "Rh", "Sh", "Th", "Uh", "Vh", "Wh", "Xh", "Yh", "Zh", "$h", "ai", "bi", "ci", "di", "ei", "fi", "gi", "hi", "ii", "ji", "ki", "li", "mi", "ni", "oi", "pi", "qi", "ri", "si", "ti", "ui", "vi", "wi", "xi", "yi", "zi", "Ai", "Bi", "Ci", "Di", "Ei", "Fi", "Gi", "V", "Hi", "Ii", "W", "Ji", "Ki", "Li", "Mi", "Ni", "Oi", "Pi", "Qi", "Ri", "Si", "Ti", "Ui", "Vi", "Wi", "Xi", "Yi", "Zi", "$i", "aj", "bj", "cj", "dj", "ej", "fj", "gj", "hj", "ij", "jj", "kj", "lj", "mj", "nj", "oj", "pj", "X", "Y", "qj", "rj", "sj", "tj", "uj", "vj", "wj", "Z", "xj", "yj", "zj", "Aj", "Bj", "Cj", "Dj", "Ej", "Fj", "Gj", "Hj", "Ij", "Jj", "Kj", "Lj", "Mj", "Nj", "Oj", "Pj", "Qj", "Rj", "Sj", "Tj", "Uj", "Vj", "Wj", "Xj", "Yj", "Zj", "va", "ak", "bk", "ck", "dk", "ek", "fk", "gk", "hk", "ik", "jk", "kk", "lk", "mk", "nk", "ok", "pk", "qk", "rk", "sk", "tk", "uk", "vk", "wk", "xk", "yk", "require_react_dom", "__commonJSMin", "exports", "module", "checkDCE", "err", "require_react_is_production_min", "__commonJSMin", "exports", "b", "c", "d", "e", "f", "g", "h", "k", "l", "m", "n", "p", "q", "r", "t", "v", "w", "x", "y", "z", "a", "u", "A", "require_react_is", "__commonJSMin", "exports", "module", "require_hoist_non_react_statics_cjs", "__commonJSMin", "exports", "module", "reactIs", "REACT_STATICS", "KNOWN_STATICS", "FORWARD_REF_STATICS", "MEMO_STATICS", "TYPE_STATICS", "getStatics", "component", "defineProperty", "getOwnPropertyNames", "getOwnPropertySymbols", "getOwnPropertyDescriptor", "getPrototypeOf", "objectPrototype", "hoistNonReactStatics", "targetComponent", "sourceComponent", "blacklist", "inheritedComponent", "keys", "targetStatics", "sourceStatics", "key", "descriptor", "e", "require_ReactPropTypesSecret", "__commonJSMin", "exports", "module", "ReactPropTypesSecret", "require_factoryWithThrowingShims", "__commonJSMin", "exports", "module", "ReactPropTypesSecret", "emptyFunction", "emptyFunctionWithReset", "shim", "props", "propName", "componentName", "location", "propFullName", "secret", "err", "getShim", "ReactPropTypes", "require_prop_types", "__commonJSMin", "exports", "module", "ReactIs", "throwOnDirectAccess", "require_react_jsx_runtime_production_min", "__commonJSMin", "exports", "f", "g", "h", "m", "n", "p", "q", "c", "a", "k", "b", "d", "e", "l", "require_jsx_runtime", "__commonJSMin", "exports", "module", "require_react_is_production_min", "__commonJSMin", "exports", "b", "c", "d", "e", "f", "g", "h", "k", "l", "m", "n", "p", "q", "t", "u", "v", "a", "r", "require_react_is", "__commonJSMin", "exports", "module", "require_freeGlobal", "__commonJSMin", "exports", "module", "freeGlobal", "require_root", "__commonJSMin", "exports", "module", "freeGlobal", "freeSelf", "root", "require_Symbol", "__commonJSMin", "exports", "module", "root", "Symbol", "require_getRawTag", "__commonJSMin", "exports", "module", "Symbol", "objectProto", "hasOwnProperty", "nativeObjectToString", "symToStringTag", "getRawTag", "value", "isOwn", "tag", "unmasked", "e", "result", "require_objectToString", "__commonJSMin", "exports", "module", "objectProto", "nativeObjectToString", "objectToString", "value", "require_baseGetTag", "__commonJSMin", "exports", "module", "Symbol", "getRawTag", "objectToString", "nullTag", "undefinedTag", "symToStringTag", "baseGetTag", "value", "require_isArray", "__commonJSMin", "exports", "module", "isArray", "require_isObjectLike", "__commonJSMin", "exports", "module", "isObjectLike", "value", "require_isString", "__commonJSMin", "exports", "module", "baseGetTag", "isArray", "isObjectLike", "stringTag", "isString", "value", "require_createBaseFor", "__commonJSMin", "exports", "module", "createBaseFor", "fromRight", "object", "iteratee", "keysFunc", "index", "iterable", "props", "length", "key", "require_baseFor", "__commonJSMin", "exports", "module", "createBaseFor", "baseFor", "require_baseTimes", "__commonJSMin", "exports", "module", "baseTimes", "n", "iteratee", "index", "result", "require_baseIsArguments", "__commonJSMin", "exports", "module", "baseGetTag", "isObjectLike", "argsTag", "baseIsArguments", "value", "require_isArguments", "__commonJSMin", "exports", "module", "baseIsArguments", "isObjectLike", "objectProto", "hasOwnProperty", "propertyIsEnumerable", "isArguments", "value", "require_stubFalse", "__commonJSMin", "exports", "module", "stubFalse", "require_isBuffer", "__commonJSMin", "exports", "module", "root", "stubFalse", "freeExports", "freeModule", "moduleExports", "Buffer", "nativeIsBuffer", "isBuffer", "require_isIndex", "__commonJSMin", "exports", "module", "MAX_SAFE_INTEGER", "reIsUint", "isIndex", "value", "length", "type", "require_isLength", "__commonJSMin", "exports", "module", "MAX_SAFE_INTEGER", "isLength", "value", "require_baseIsTypedArray", "__commonJSMin", "exports", "module", "baseGetTag", "isLength", "isObjectLike", "argsTag", "arrayTag", "boolTag", "dateTag", "errorTag", "funcTag", "mapTag", "numberTag", "objectTag", "regexpTag", "setTag", "stringTag", "weakMapTag", "arrayBufferTag", "dataViewTag", "float32Tag", "float64Tag", "int8Tag", "int16Tag", "int32Tag", "uint8Tag", "uint8ClampedTag", "uint16Tag", "uint32Tag", "typedArrayTags", "baseIsTypedArray", "value", "require_baseUnary", "__commonJSMin", "exports", "module", "baseUnary", "func", "value", "require_nodeUtil", "__commonJSMin", "exports", "module", "freeGlobal", "freeExports", "freeModule", "moduleExports", "freeProcess", "nodeUtil", "types", "e", "require_isTypedArray", "__commonJSMin", "exports", "module", "baseIsTypedArray", "baseUnary", "nodeUtil", "nodeIsTypedArray", "isTypedArray", "require_arrayLikeKeys", "__commonJSMin", "exports", "module", "baseTimes", "isArguments", "isArray", "isBuffer", "isIndex", "isTypedArray", "objectProto", "hasOwnProperty", "arrayLikeKeys", "value", "inherited", "isArr", "isArg", "isBuff", "isType", "skipIndexes", "result", "length", "key", "require_isPrototype", "__commonJSMin", "exports", "module", "objectProto", "isPrototype", "value", "Ctor", "proto", "require_overArg", "__commonJSMin", "exports", "module", "overArg", "func", "transform", "arg", "require_nativeKeys", "__commonJSMin", "exports", "module", "overArg", "nativeKeys", "require_baseKeys", "__commonJSMin", "exports", "module", "isPrototype", "nativeKeys", "objectProto", "hasOwnProperty", "baseKeys", "object", "result", "key", "require_isObject", "__commonJSMin", "exports", "module", "isObject", "value", "type", "require_isFunction", "__commonJSMin", "exports", "module", "baseGetTag", "isObject", "asyncTag", "funcTag", "genTag", "proxyTag", "isFunction", "value", "tag", "require_isArrayLike", "__commonJSMin", "exports", "module", "isFunction", "isLength", "isArrayLike", "value", "require_keys", "__commonJSMin", "exports", "module", "arrayLikeKeys", "baseKeys", "isArrayLike", "keys", "object", "require_baseForOwn", "__commonJSMin", "exports", "module", "baseFor", "keys", "baseForOwn", "object", "iteratee", "require_identity", "__commonJSMin", "exports", "module", "identity", "value", "require_castFunction", "__commonJSMin", "exports", "module", "identity", "castFunction", "value", "require_forOwn", "__commonJSMin", "exports", "module", "baseForOwn", "castFunction", "forOwn", "object", "iteratee", "require_getPrototype", "__commonJSMin", "exports", "module", "overArg", "getPrototype", "require_isPlainObject", "__commonJSMin", "exports", "module", "baseGetTag", "getPrototype", "isObjectLike", "objectTag", "funcProto", "objectProto", "funcToString", "hasOwnProperty", "objectCtorString", "isPlainObject", "value", "proto", "Ctor", "require_arrayMap", "__commonJSMin", "exports", "module", "arrayMap", "array", "iteratee", "index", "length", "result", "require_listCacheClear", "__commonJSMin", "exports", "module", "listCacheClear", "require_eq", "__commonJSMin", "exports", "module", "eq", "value", "other", "require_assocIndexOf", "__commonJSMin", "exports", "module", "eq", "assocIndexOf", "array", "key", "length", "require_listCacheDelete", "__commonJSMin", "exports", "module", "assocIndexOf", "arrayProto", "splice", "listCacheDelete", "key", "data", "index", "lastIndex", "require_listCacheGet", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheGet", "key", "data", "index", "require_listCacheHas", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheHas", "key", "require_listCacheSet", "__commonJSMin", "exports", "module", "assocIndexOf", "listCacheSet", "key", "value", "data", "index", "require_ListCache", "__commonJSMin", "exports", "module", "listCacheClear", "listCacheDelete", "listCacheGet", "listCacheHas", "listCacheSet", "ListCache", "entries", "index", "length", "entry", "require_stackClear", "__commonJSMin", "exports", "module", "ListCache", "stackClear", "require_stackDelete", "__commonJSMin", "exports", "module", "stackDelete", "key", "data", "result", "require_stackGet", "__commonJSMin", "exports", "module", "stackGet", "key", "require_stackHas", "__commonJSMin", "exports", "module", "stackHas", "key", "require_coreJsData", "__commonJSMin", "exports", "module", "root", "coreJsData", "require_isMasked", "__commonJSMin", "exports", "module", "coreJsData", "maskSrcKey", "uid", "isMasked", "func", "require_toSource", "__commonJSMin", "exports", "module", "funcProto", "funcToString", "toSource", "func", "e", "require_baseIsNative", "__commonJSMin", "exports", "module", "isFunction", "isMasked", "isObject", "toSource", "reRegExpChar", "reIsHostCtor", "funcProto", "objectProto", "funcToString", "hasOwnProperty", "reIsNative", "baseIsNative", "value", "pattern", "require_getValue", "__commonJSMin", "exports", "module", "getValue", "object", "key", "require_getNative", "__commonJSMin", "exports", "module", "baseIsNative", "getValue", "getNative", "object", "key", "value", "require_Map", "__commonJSMin", "exports", "module", "getNative", "root", "Map", "require_nativeCreate", "__commonJSMin", "exports", "module", "getNative", "nativeCreate", "require_hashClear", "__commonJSMin", "exports", "module", "nativeCreate", "hashClear", "require_hashDelete", "__commonJSMin", "exports", "module", "hashDelete", "key", "result", "require_hashGet", "__commonJSMin", "exports", "module", "nativeCreate", "HASH_UNDEFINED", "objectProto", "hasOwnProperty", "hashGet", "key", "data", "result", "require_hashHas", "__commonJSMin", "exports", "module", "nativeCreate", "objectProto", "hasOwnProperty", "hashHas", "key", "data", "require_hashSet", "__commonJSMin", "exports", "module", "nativeCreate", "HASH_UNDEFINED", "hashSet", "key", "value", "data", "require_Hash", "__commonJSMin", "exports", "module", "hashClear", "hashDelete", "hashGet", "hashHas", "hashSet", "Hash", "entries", "index", "length", "entry", "require_mapCacheClear", "__commonJSMin", "exports", "module", "Hash", "ListCache", "Map", "mapCacheClear", "require_isKeyable", "__commonJSMin", "exports", "module", "isKeyable", "value", "type", "require_getMapData", "__commonJSMin", "exports", "module", "isKeyable", "getMapData", "map", "key", "data", "require_mapCacheDelete", "__commonJSMin", "exports", "module", "getMapData", "mapCacheDelete", "key", "result", "require_mapCacheGet", "__commonJSMin", "exports", "module", "getMapData", "mapCacheGet", "key", "require_mapCacheHas", "__commonJSMin", "exports", "module", "getMapData", "mapCacheHas", "key", "require_mapCacheSet", "__commonJSMin", "exports", "module", "getMapData", "mapCacheSet", "key", "value", "data", "size", "require_MapCache", "__commonJSMin", "exports", "module", "mapCacheClear", "mapCacheDelete", "mapCacheGet", "mapCacheHas", "mapCacheSet", "MapCache", "entries", "index", "length", "entry", "require_stackSet", "__commonJSMin", "exports", "module", "ListCache", "Map", "MapCache", "LARGE_ARRAY_SIZE", "stackSet", "key", "value", "data", "pairs", "require_Stack", "__commonJSMin", "exports", "module", "ListCache", "stackClear", "stackDelete", "stackGet", "stackHas", "stackSet", "Stack", "entries", "data", "require_setCacheAdd", "__commonJSMin", "exports", "module", "HASH_UNDEFINED", "setCacheAdd", "value", "require_setCacheHas", "__commonJSMin", "exports", "module", "setCacheHas", "value", "require_SetCache", "__commonJSMin", "exports", "module", "MapCache", "setCacheAdd", "setCacheHas", "SetCache", "values", "index", "length", "require_arraySome", "__commonJSMin", "exports", "module", "arraySome", "array", "predicate", "index", "length", "require_cacheHas", "__commonJSMin", "exports", "module", "cacheHas", "cache", "key", "require_equalArrays", "__commonJSMin", "exports", "module", "SetCache", "arraySome", "cacheHas", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "equalArrays", "array", "other", "bitmask", "customizer", "equalFunc", "stack", "isPartial", "arrLength", "othLength", "arrStacked", "othStacked", "index", "result", "seen", "arrValue", "othValue", "compared", "othIndex", "require_Uint8Array", "__commonJSMin", "exports", "module", "root", "Uint8Array", "require_mapToArray", "__commonJSMin", "exports", "module", "mapToArray", "map", "index", "result", "value", "key", "require_setToArray", "__commonJSMin", "exports", "module", "setToArray", "set", "index", "result", "value", "require_equalByTag", "__commonJSMin", "exports", "module", "Symbol", "Uint8Array", "eq", "equalArrays", "mapToArray", "setToArray", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "boolTag", "dateTag", "errorTag", "mapTag", "numberTag", "regexpTag", "setTag", "stringTag", "symbolTag", "arrayBufferTag", "dataViewTag", "symbolProto", "symbolValueOf", "equalByTag", "object", "other", "tag", "bitmask", "customizer", "equalFunc", "stack", "convert", "isPartial", "stacked", "result", "require_arrayPush", "__commonJSMin", "exports", "module", "arrayPush", "array", "values", "index", "length", "offset", "require_baseGetAllKeys", "__commonJSMin", "exports", "module", "arrayPush", "isArray", "baseGetAllKeys", "object", "keysFunc", "symbolsFunc", "result", "require_arrayFilter", "__commonJSMin", "exports", "module", "arrayFilter", "array", "predicate", "index", "length", "resIndex", "result", "value", "require_stubArray", "__commonJSMin", "exports", "module", "stubArray", "require_getSymbols", "__commonJSMin", "exports", "module", "arrayFilter", "stubArray", "objectProto", "propertyIsEnumerable", "nativeGetSymbols", "getSymbols", "object", "symbol", "require_getAllKeys", "__commonJSMin", "exports", "module", "baseGetAllKeys", "getSymbols", "keys", "getAllKeys", "object", "require_equalObjects", "__commonJSMin", "exports", "module", "getAllKeys", "COMPARE_PARTIAL_FLAG", "objectProto", "hasOwnProperty", "equalObjects", "object", "other", "bitmask", "customizer", "equalFunc", "stack", "isPartial", "objProps", "objLength", "othProps", "othLength", "index", "key", "objStacked", "othStacked", "result", "skipCtor", "objValue", "othValue", "compared", "objCtor", "othCtor", "require_DataView", "__commonJSMin", "exports", "module", "getNative", "root", "DataView", "require_Promise", "__commonJSMin", "exports", "module", "getNative", "root", "Promise", "require_Set", "__commonJSMin", "exports", "module", "getNative", "root", "Set", "require_WeakMap", "__commonJSMin", "exports", "module", "getNative", "root", "WeakMap", "require_getTag", "__commonJSMin", "exports", "module", "DataView", "Map", "Promise", "Set", "WeakMap", "baseGetTag", "toSource", "mapTag", "objectTag", "promiseTag", "setTag", "weakMapTag", "dataViewTag", "dataViewCtorString", "mapCtorString", "promiseCtorString", "setCtorString", "weakMapCtorString", "getTag", "value", "result", "Ctor", "ctorString", "require_baseIsEqualDeep", "__commonJSMin", "exports", "module", "Stack", "equalArrays", "equalByTag", "equalObjects", "getTag", "isArray", "isBuffer", "isTypedArray", "COMPARE_PARTIAL_FLAG", "argsTag", "arrayTag", "objectTag", "objectProto", "hasOwnProperty", "baseIsEqualDeep", "object", "other", "bitmask", "customizer", "equalFunc", "stack", "objIsArr", "othIsArr", "objTag", "othTag", "objIsObj", "othIsObj", "isSameTag", "objIsWrapped", "othIsWrapped", "objUnwrapped", "othUnwrapped", "require_baseIsEqual", "__commonJSMin", "exports", "module", "baseIsEqualDeep", "isObjectLike", "baseIsEqual", "value", "other", "bitmask", "customizer", "stack", "require_baseIsMatch", "__commonJSMin", "exports", "module", "Stack", "baseIsEqual", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "baseIsMatch", "object", "source", "matchData", "customizer", "index", "length", "noCustomizer", "data", "key", "objValue", "srcValue", "stack", "result", "require_isStrictComparable", "__commonJSMin", "exports", "module", "isObject", "isStrictComparable", "value", "require_getMatchData", "__commonJSMin", "exports", "module", "isStrictComparable", "keys", "getMatchData", "object", "result", "length", "key", "value", "require_matchesStrictComparable", "__commonJSMin", "exports", "module", "matchesStrictComparable", "key", "srcValue", "object", "require_baseMatches", "__commonJSMin", "exports", "module", "baseIsMatch", "getMatchData", "matchesStrictComparable", "baseMatches", "source", "matchData", "object", "require_isSymbol", "__commonJSMin", "exports", "module", "baseGetTag", "isObjectLike", "symbolTag", "isSymbol", "value", "require_isKey", "__commonJSMin", "exports", "module", "isArray", "isSymbol", "reIsDeepProp", "reIsPlainProp", "isKey", "value", "object", "type", "require_memoize", "__commonJSMin", "exports", "module", "MapCache", "FUNC_ERROR_TEXT", "memoize", "func", "resolver", "memoized", "args", "key", "cache", "result", "require_memoizeCapped", "__commonJSMin", "exports", "module", "memoize", "MAX_MEMOIZE_SIZE", "memoizeCapped", "func", "result", "key", "cache", "require_stringToPath", "__commonJSMin", "exports", "module", "memoizeCapped", "rePropName", "reEscapeChar", "stringToPath", "string", "result", "match", "number", "quote", "subString", "require_baseToString", "__commonJSMin", "exports", "module", "Symbol", "arrayMap", "isArray", "isSymbol", "INFINITY", "symbolProto", "symbolToString", "baseToString", "value", "result", "require_toString", "__commonJSMin", "exports", "module", "baseToString", "toString", "value", "require_castPath", "__commonJSMin", "exports", "module", "isArray", "isKey", "stringToPath", "toString", "castPath", "value", "object", "require_toKey", "__commonJSMin", "exports", "module", "isSymbol", "INFINITY", "toKey", "value", "result", "require_baseGet", "__commonJSMin", "exports", "module", "castPath", "toKey", "baseGet", "object", "path", "index", "length", "require_get", "__commonJSMin", "exports", "module", "baseGet", "get", "object", "path", "defaultValue", "result", "require_baseHasIn", "__commonJSMin", "exports", "module", "baseHasIn", "object", "key", "require_hasPath", "__commonJSMin", "exports", "module", "castPath", "isArguments", "isArray", "isIndex", "isLength", "toKey", "hasPath", "object", "path", "hasFunc", "index", "length", "result", "key", "require_hasIn", "__commonJSMin", "exports", "module", "baseHasIn", "hasPath", "hasIn", "object", "path", "require_baseMatchesProperty", "__commonJSMin", "exports", "module", "baseIsEqual", "get", "hasIn", "isKey", "isStrictComparable", "matchesStrictComparable", "toKey", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "baseMatchesProperty", "path", "srcValue", "object", "objValue", "require_baseProperty", "__commonJSMin", "exports", "module", "baseProperty", "key", "object", "require_basePropertyDeep", "__commonJSMin", "exports", "module", "baseGet", "basePropertyDeep", "path", "object", "require_property", "__commonJSMin", "exports", "module", "baseProperty", "basePropertyDeep", "isKey", "toKey", "property", "path", "require_baseIteratee", "__commonJSMin", "exports", "module", "baseMatches", "baseMatchesProperty", "identity", "isArray", "property", "baseIteratee", "value", "require_createBaseEach", "__commonJSMin", "exports", "module", "isArrayLike", "createBaseEach", "eachFunc", "fromRight", "collection", "iteratee", "length", "index", "iterable", "require_baseEach", "__commonJSMin", "exports", "module", "baseForOwn", "createBaseEach", "baseEach", "require_baseMap", "__commonJSMin", "exports", "module", "baseEach", "isArrayLike", "baseMap", "collection", "iteratee", "index", "result", "value", "key", "require_map", "__commonJSMin", "exports", "module", "arrayMap", "baseIteratee", "baseMap", "isArray", "map", "collection", "iteratee", "func", "require_flattenNames", "__commonJSMin", "exports", "_isString2", "_isString3", "_interopRequireDefault", "_forOwn2", "_forOwn3", "_isPlainObject2", "_isPlainObject3", "_map2", "_map3", "obj", "flattenNames", "things", "names", "thing", "name", "value", "key", "require_arrayEach", "__commonJSMin", "exports", "module", "arrayEach", "array", "iteratee", "index", "length", "require_defineProperty", "__commonJSMin", "exports", "module", "getNative", "defineProperty", "func", "e", "require_baseAssignValue", "__commonJSMin", "exports", "module", "defineProperty", "baseAssignValue", "object", "key", "value", "require_assignValue", "__commonJSMin", "exports", "module", "baseAssignValue", "eq", "objectProto", "hasOwnProperty", "assignValue", "object", "key", "value", "objValue", "require_copyObject", "__commonJSMin", "exports", "module", "assignValue", "baseAssignValue", "copyObject", "source", "props", "object", "customizer", "isNew", "index", "length", "key", "newValue", "require_baseAssign", "__commonJSMin", "exports", "module", "copyObject", "keys", "baseAssign", "object", "source", "require_nativeKeysIn", "__commonJSMin", "exports", "module", "nativeKeysIn", "object", "result", "key", "require_baseKeysIn", "__commonJSMin", "exports", "module", "isObject", "isPrototype", "nativeKeysIn", "objectProto", "hasOwnProperty", "baseKeysIn", "object", "isProto", "result", "key", "require_keysIn", "__commonJSMin", "exports", "module", "arrayLikeKeys", "baseKeysIn", "isArrayLike", "keysIn", "object", "require_baseAssignIn", "__commonJSMin", "exports", "module", "copyObject", "keysIn", "baseAssignIn", "object", "source", "require_cloneBuffer", "__commonJSMin", "exports", "module", "root", "freeExports", "freeModule", "moduleExports", "Buffer", "allocUnsafe", "cloneBuffer", "buffer", "isDeep", "length", "result", "require_copyArray", "__commonJSMin", "exports", "module", "copyArray", "source", "array", "index", "length", "require_copySymbols", "__commonJSMin", "exports", "module", "copyObject", "getSymbols", "copySymbols", "source", "object", "require_getSymbolsIn", "__commonJSMin", "exports", "module", "arrayPush", "getPrototype", "getSymbols", "stubArray", "nativeGetSymbols", "getSymbolsIn", "object", "result", "require_copySymbolsIn", "__commonJSMin", "exports", "module", "copyObject", "getSymbolsIn", "copySymbolsIn", "source", "object", "require_getAllKeysIn", "__commonJSMin", "exports", "module", "baseGetAllKeys", "getSymbolsIn", "keysIn", "getAllKeysIn", "object", "require_initCloneArray", "__commonJSMin", "exports", "module", "objectProto", "hasOwnProperty", "initCloneArray", "array", "length", "result", "require_cloneArrayBuffer", "__commonJSMin", "exports", "module", "Uint8Array", "cloneArrayBuffer", "arrayBuffer", "result", "require_cloneDataView", "__commonJSMin", "exports", "module", "cloneArrayBuffer", "cloneDataView", "dataView", "isDeep", "buffer", "require_cloneRegExp", "__commonJSMin", "exports", "module", "reFlags", "cloneRegExp", "regexp", "result", "require_cloneSymbol", "__commonJSMin", "exports", "module", "Symbol", "symbolProto", "symbolValueOf", "cloneSymbol", "symbol", "require_cloneTypedArray", "__commonJSMin", "exports", "module", "cloneArrayBuffer", "cloneTypedArray", "typedArray", "isDeep", "buffer", "require_initCloneByTag", "__commonJSMin", "exports", "module", "cloneArrayBuffer", "cloneDataView", "cloneRegExp", "cloneSymbol", "cloneTypedArray", "boolTag", "dateTag", "mapTag", "numberTag", "regexpTag", "setTag", "stringTag", "symbolTag", "arrayBufferTag", "dataViewTag", "float32Tag", "float64Tag", "int8Tag", "int16Tag", "int32Tag", "uint8Tag", "uint8ClampedTag", "uint16Tag", "uint32Tag", "initCloneByTag", "object", "tag", "isDeep", "Ctor", "require_baseCreate", "__commonJSMin", "exports", "module", "isObject", "objectCreate", "baseCreate", "object", "proto", "result", "require_initCloneObject", "__commonJSMin", "exports", "module", "baseCreate", "getPrototype", "isPrototype", "initCloneObject", "object", "require_baseIsMap", "__commonJSMin", "exports", "module", "getTag", "isObjectLike", "mapTag", "baseIsMap", "value", "require_isMap", "__commonJSMin", "exports", "module", "baseIsMap", "baseUnary", "nodeUtil", "nodeIsMap", "isMap", "require_baseIsSet", "__commonJSMin", "exports", "module", "getTag", "isObjectLike", "setTag", "baseIsSet", "value", "require_isSet", "__commonJSMin", "exports", "module", "baseIsSet", "baseUnary", "nodeUtil", "nodeIsSet", "isSet", "require_baseClone", "__commonJSMin", "exports", "module", "Stack", "arrayEach", "assignValue", "baseAssign", "baseAssignIn", "cloneBuffer", "copyArray", "copySymbols", "copySymbolsIn", "getAllKeys", "getAllKeysIn", "getTag", "initCloneArray", "initCloneByTag", "initCloneObject", "isArray", "isBuffer", "isMap", "isObject", "isSet", "keys", "keysIn", "CLONE_DEEP_FLAG", "CLONE_FLAT_FLAG", "CLONE_SYMBOLS_FLAG", "argsTag", "arrayTag", "boolTag", "dateTag", "errorTag", "funcTag", "genTag", "mapTag", "numberTag", "objectTag", "regexpTag", "setTag", "stringTag", "symbolTag", "weakMapTag", "arrayBufferTag", "dataViewTag", "float32Tag", "float64Tag", "int8Tag", "int16Tag", "int32Tag", "uint8Tag", "uint8ClampedTag", "uint16Tag", "uint32Tag", "cloneableTags", "baseClone", "value", "bitmask", "customizer", "key", "object", "stack", "result", "isDeep", "isFlat", "isFull", "isArr", "tag", "isFunc", "stacked", "subValue", "keysFunc", "props", "require_cloneDeep", "__commonJSMin", "exports", "module", "baseClone", "CLONE_DEEP_FLAG", "CLONE_SYMBOLS_FLAG", "cloneDeep", "value", "require_mergeClasses", "__commonJSMin", "exports", "_forOwn2", "_forOwn3", "_interopRequireDefault", "_cloneDeep2", "_cloneDeep3", "_extends", "target", "i", "source", "key", "obj", "mergeClasses", "classes", "activeNames", "styles", "name", "toMerge", "value", "require_autoprefix", "__commonJSMin", "exports", "_forOwn2", "_forOwn3", "_interopRequireDefault", "_extends", "target", "i", "source", "key", "obj", "transforms", "value", "direction", "name", "otherElementStyles", "otherStyle", "autoprefix", "elements", "prefixed", "styles", "element", "expanded", "transform", "require_hover", "__commonJSMin", "exports", "_extends", "target", "i", "source", "key", "_react", "_react2", "_interopRequireDefault", "obj", "_classCallCheck", "instance", "Constructor", "_possibleConstructorReturn", "self", "call", "_inherits", "subClass", "superClass", "hover", "Component", "Span", "_React$Component", "Hover", "_ref", "_temp", "_this", "_ret", "_len", "args", "_key", "require_active", "__commonJSMin", "exports", "_extends", "target", "i", "source", "key", "_react", "_react2", "_interopRequireDefault", "obj", "_classCallCheck", "instance", "Constructor", "_possibleConstructorReturn", "self", "call", "_inherits", "subClass", "superClass", "active", "Component", "Span", "_React$Component", "Active", "_ref", "_temp", "_this", "_ret", "_len", "args", "_key", "require_loop", "__commonJSMin", "exports", "loopable", "i", "length", "props", "setProp", "name", "value", "require_lib", "__commonJSMin", "exports", "_flattenNames", "_flattenNames2", "_interopRequireDefault", "_mergeClasses", "_mergeClasses2", "_autoprefix", "_autoprefix2", "_hover2", "_hover3", "_active", "_active2", "_loop2", "_loop3", "obj", "ReactCSS", "classes", "_len", "activations", "_key", "activeNames", "merged", "require_UnfoldMoreHorizontalIcon", "__commonJSMin", "exports", "_extends", "target", "i", "source", "key", "_react", "_react2", "_interopRequireDefault", "obj", "_objectWithoutProperties", "keys", "DEFAULT_SIZE", "_ref", "_ref$fill", "fill", "_ref$width", "width", "_ref$height", "height", "_ref$style", "style", "props", "require_CheckIcon", "__commonJSMin", "exports", "_extends", "target", "i", "source", "key", "_react", "_react2", "_interopRequireDefault", "obj", "_objectWithoutProperties", "keys", "DEFAULT_SIZE", "_ref", "_ref$fill", "fill", "_ref$width", "width", "_ref$height", "height", "_ref$style", "style", "props", "require_cronstrue", "__commonJSMin", "exports", "module", "root", "factory", "__webpack_modules__", "__unused_webpack_module", "__webpack_require__", "rangeValidator_1", "CronParser", "expression", "dayOfWeekStartIndexZero", "monthStartIndexZero", "_a", "parsed", "special", "specialExpressions", "i", "arrayElement", "item", "a", "b", "isYearWithNoSecondsPart", "expressionParts", "_this", "t", "dowDigits", "dowDigitsAdjusted", "days", "day", "months", "month", "str", "stepRangeThrough", "parts", "partDescription", "invalidChars", "stringUtilities_1", "cronParser_1", "ExpressionDescriptor", "options", "fallBackLocale", "_b", "_c", "throwExceptionOnParseError", "_d", "verbose", "_e", "_f", "use24HourTimeFormat", "_g", "locale", "_h", "tzOffset", "descripter", "localesLoader", "defaultLocale", "description", "parser", "timeSegment", "dayOfMonthDesc", "monthDesc", "dayOfWeekDesc", "yearDesc", "ex", "secondsExpression", "minuteExpression", "hourExpression", "minuteParts", "hourParts", "secondsDescription", "minutesDescription", "hoursDescription", "s", "e", "atTheHourMatches", "lastAtTheHourMatchIndex", "daysOfWeekNames", "form", "exp", "parsedExp", "hour", "dayOfWeekOfMonthDescription", "dayOfWeekOfMonthNumber", "dayOfWeekNumber", "beginFrom", "domSpecified", "format", "dayOfWeek", "monthNames", "weekDayNumberMatches", "dayNumber", "dayString", "lastDayOffSetMatches", "offSetDays", "allDescription", "getSingleItemDescription", "getIncrementDescriptionFormat", "getRangeDescriptionFormat", "getDescriptionFormat", "doesExpressionContainIncrement", "doesExpressionContainRange", "doesExpressionContainMultipleValues", "segments", "descriptionContent", "isSegmentRangeWithoutIncrement", "currentDescriptionContent", "rangeSegmentDescription", "rangeItemDescription", "rangeExpression", "rangeSegments", "rangeSegment1Description", "rangeSegment2Description", "rangeDescriptionFormat", "secondExpression", "hourOffset", "minuteOffset", "minute", "period", "setPeriodBeforeTime", "second", "useVerboseFormat", "en_1", "enLocaleLoader", "availableLocales", "en", "assert", "value", "message", "RangeValidator", "parse", "dayOfMonth", "StringUtilities", "template", "values", "_i", "substring", "args", "text", "searchStrings", "c", "__webpack_module_cache__", "moduleId", "cachedModule", "__webpack_exports__", "expressionDescriptor_1", "enLocaleLoader_1", "toString", "require_fr", "__commonJSMin", "exports", "module", "root", "factory", "__WEBPACK_EXTERNAL_MODULE__93__", "__webpack_modules__", "__webpack_module_cache__", "__webpack_require__", "moduleId", "cachedModule", "getter", "definition", "key", "obj", "prop", "__webpack_exports__", "cronstrue__WEBPACK_IMPORTED_MODULE_0__", "cronstrue__WEBPACK_IMPORTED_MODULE_0___default", "fr", "require_es", "__commonJSMin", "exports", "module", "root", "factory", "__WEBPACK_EXTERNAL_MODULE__93__", "__webpack_modules__", "__webpack_module_cache__", "__webpack_require__", "moduleId", "cachedModule", "getter", "definition", "key", "obj", "prop", "__webpack_exports__", "cronstrue__WEBPACK_IMPORTED_MODULE_0__", "cronstrue__WEBPACK_IMPORTED_MODULE_0___default", "es", "require_de", "__commonJSMin", "exports", "module", "root", "factory", "__WEBPACK_EXTERNAL_MODULE__93__", "__webpack_modules__", "__webpack_module_cache__", "__webpack_require__", "moduleId", "cachedModule", "getter", "definition", "key", "obj", "prop", "__webpack_exports__", "cronstrue__WEBPACK_IMPORTED_MODULE_0__", "cronstrue__WEBPACK_IMPORTED_MODULE_0___default", "de", "require_it", "__commonJSMin", "exports", "module", "root", "factory", "__WEBPACK_EXTERNAL_MODULE__93__", "__webpack_modules__", "__webpack_module_cache__", "__webpack_require__", "moduleId", "cachedModule", "getter", "definition", "key", "obj", "prop", "__webpack_exports__", "cronstrue__WEBPACK_IMPORTED_MODULE_0__", "cronstrue__WEBPACK_IMPORTED_MODULE_0___default", "it", "require_ru", "__commonJSMin", "exports", "module", "root", "factory", "__WEBPACK_EXTERNAL_MODULE__93__", "__webpack_modules__", "__webpack_module_cache__", "__webpack_require__", "moduleId", "cachedModule", "getter", "definition", "key", "obj", "prop", "__webpack_exports__", "cronstrue__WEBPACK_IMPORTED_MODULE_0__", "cronstrue__WEBPACK_IMPORTED_MODULE_0___default", "getPhraseByNumber", "str", "words", "number", "getPhraseByDayOfWeek", "ru", "s", "require_zh_CN", "__commonJSMin", "exports", "module", "root", "factory", "__WEBPACK_EXTERNAL_MODULE__93__", "__webpack_modules__", "__webpack_module_cache__", "__webpack_require__", "moduleId", "cachedModule", "getter", "definition", "key", "obj", "prop", "__webpack_exports__", "cronstrue__WEBPACK_IMPORTED_MODULE_0__", "cronstrue__WEBPACK_IMPORTED_MODULE_0___default", "zh_CN", "require_uk", "__commonJSMin", "exports", "module", "root", "factory", "__WEBPACK_EXTERNAL_MODULE__93__", "__webpack_modules__", "__webpack_module_cache__", "__webpack_require__", "moduleId", "cachedModule", "getter", "definition", "key", "obj", "prop", "__webpack_exports__", "cronstrue__WEBPACK_IMPORTED_MODULE_0__", "cronstrue__WEBPACK_IMPORTED_MODULE_0___default", "uk", "require_pt_BR", "__commonJSMin", "exports", "module", "root", "factory", "__WEBPACK_EXTERNAL_MODULE__93__", "__webpack_modules__", "__webpack_module_cache__", "__webpack_require__", "moduleId", "cachedModule", "getter", "definition", "key", "obj", "prop", "__webpack_exports__", "cronstrue__WEBPACK_IMPORTED_MODULE_0__", "cronstrue__WEBPACK_IMPORTED_MODULE_0___default", "pt_BR", "s", "day", "require_pl", "__commonJSMin", "exports", "module", "root", "factory", "__WEBPACK_EXTERNAL_MODULE__93__", "__webpack_modules__", "__webpack_module_cache__", "__webpack_require__", "moduleId", "cachedModule", "getter", "definition", "key", "obj", "prop", "__webpack_exports__", "cronstrue__WEBPACK_IMPORTED_MODULE_0__", "cronstrue__WEBPACK_IMPORTED_MODULE_0___default", "pl", "require_es", "__commonJSMin", "exports", "file", "acceptedFiles", "acceptedFilesArray", "fileName", "mimeType", "baseMimeType", "type", "validType", "require_cropper", "__commonJSMin", "exports", "module", "global", "factory", "ownKeys", "e", "r", "t", "o", "_objectSpread2", "_defineProperty", "_toPrimitive", "i", "_toPropertyKey", "_typeof", "_classCallCheck", "instance", "Constructor", "_defineProperties", "target", "props", "descriptor", "_createClass", "protoProps", "staticProps", "obj", "key", "value", "_toConsumableArray", "arr", "_arrayWithoutHoles", "_iterableToArray", "_unsupportedIterableToArray", "_nonIterableSpread", "_arrayLikeToArray", "iter", "minLen", "n", "len", "arr2", "IS_BROWSER", "WINDOW", "IS_TOUCH_DEVICE", "HAS_POINTER_EVENT", "NAMESPACE", "ACTION_ALL", "ACTION_CROP", "ACTION_MOVE", "ACTION_ZOOM", "ACTION_EAST", "ACTION_WEST", "ACTION_SOUTH", "ACTION_NORTH", "ACTION_NORTH_EAST", "ACTION_NORTH_WEST", "ACTION_SOUTH_EAST", "ACTION_SOUTH_WEST", "CLASS_CROP", "CLASS_DISABLED", "CLASS_HIDDEN", "CLASS_HIDE", "CLASS_INVISIBLE", "CLASS_MODAL", "CLASS_MOVE", "DATA_ACTION", "DATA_PREVIEW", "DRAG_MODE_CROP", "DRAG_MODE_MOVE", "DRAG_MODE_NONE", "EVENT_CROP", "EVENT_CROP_END", "EVENT_CROP_MOVE", "EVENT_CROP_START", "EVENT_DBLCLICK", "EVENT_TOUCH_START", "EVENT_TOUCH_MOVE", "EVENT_TOUCH_END", "EVENT_POINTER_DOWN", "EVENT_POINTER_MOVE", "EVENT_POINTER_UP", "EVENT_READY", "EVENT_RESIZE", "EVENT_WHEEL", "EVENT_ZOOM", "MIME_TYPE_JPEG", "REGEXP_ACTIONS", "REGEXP_DATA_URL", "REGEXP_DATA_URL_JPEG", "REGEXP_TAG_NAME", "MIN_CONTAINER_WIDTH", "MIN_CONTAINER_HEIGHT", "DEFAULTS", "TEMPLATE", "isNaN", "isNumber", "isPositiveNumber", "isUndefined", "isObject", "hasOwnProperty", "isPlainObject", "_constructor", "prototype", "error", "isFunction", "slice", "toArray", "forEach", "data", "callback", "assign", "_len", "args", "_key", "arg", "REGEXP_DECIMALS", "normalizeDecimalNumber", "times", "REGEXP_SUFFIX", "setStyle", "element", "styles", "style", "property", "hasClass", "addClass", "elem", "className", "removeClass", "toggleClass", "added", "REGEXP_CAMEL_CASE", "toParamCase", "getData", "name", "setData", "removeData", "REGEXP_SPACES", "onceSupported", "supported", "once", "listener", "options", "removeListener", "type", "handler", "event", "listeners", "addListener", "_handler", "_element$listeners", "_len2", "_key2", "dispatchEvent", "getOffset", "box", "location", "REGEXP_ORIGINS", "isCrossOriginURL", "url", "parts", "addTimestamp", "timestamp", "getTransforms", "_ref", "rotate", "scaleX", "scaleY", "translateX", "translateY", "values", "transform", "getMaxZoomRatio", "pointers", "pointers2", "maxRatio", "pointer", "pointerId", "pointer2", "x1", "y1", "x2", "y2", "z1", "z2", "ratio", "getPointer", "_ref2", "endOnly", "pageX", "pageY", "end", "getPointersCenter", "count", "_ref3", "startX", "startY", "getAdjustedSizes", "_ref4", "aspectRatio", "height", "width", "isValidWidth", "isValidHeight", "adjustedWidth", "getRotatedSizes", "_ref5", "degree", "arc", "sinArc", "cosArc", "newWidth", "newHeight", "getSourceCanvas", "image", "_ref6", "_ref7", "_ref8", "imageAspectRatio", "imageNaturalWidth", "imageNaturalHeight", "_ref6$rotate", "_ref6$scaleX", "_ref6$scaleY", "naturalWidth", "naturalHeight", "_ref8$fillColor", "fillColor", "_ref8$imageSmoothingE", "imageSmoothingEnabled", "_ref8$imageSmoothingQ", "imageSmoothingQuality", "_ref8$maxWidth", "maxWidth", "_ref8$maxHeight", "maxHeight", "_ref8$minWidth", "minWidth", "_ref8$minHeight", "minHeight", "canvas", "context", "maxSizes", "minSizes", "destMaxSizes", "destMinSizes", "destWidth", "destHeight", "params", "param", "fromCharCode", "getStringFromCharCode", "dataView", "start", "length", "str", "REGEXP_DATA_URL_HEAD", "dataURLToArrayBuffer", "dataURL", "base64", "binary", "arrayBuffer", "uint8", "arrayBufferToDataURL", "mimeType", "chunks", "chunkSize", "resetAndGetOrientation", "orientation", "littleEndian", "app1Start", "ifdStart", "offset", "exifIDCode", "tiffOffset", "endianness", "firstIFDOffset", "_length", "_offset", "parseOrientation", "render", "container", "cropper", "containerData", "imageData", "viewMode", "rotated", "canvasWidth", "canvasHeight", "canvasData", "sizeLimited", "positionLimited", "cropBoxData", "cropped", "minCanvasWidth", "minCanvasHeight", "_getAdjustedSizes", "newCanvasLeft", "newCanvasTop", "changed", "transformed", "_getRotatedSizes", "autoCropArea", "limited", "minCropBoxWidth", "minCropBoxHeight", "maxCropBoxWidth", "maxCropBoxHeight", "preview", "crossOrigin", "alt", "previews", "el", "img", "cropBoxWidth", "cropBoxHeight", "left", "top", "originalWidth", "originalHeight", "events", "handlers", "ratioX", "ratioY", "_this", "delta", "buttons", "button", "action", "touch", "change", "right", "bottom", "minLeft", "minTop", "renderable", "range", "check", "side", "p", "methods", "hasSameSize", "offsetX", "offsetY", "_this$canvasData", "x", "y", "_originalEvent", "pivot", "center", "_scaleX", "_scaleY", "rounded", "widthChanged", "heightChanged", "source", "_this$getData", "initialX", "initialY", "initialWidth", "initialHeight", "_options$imageSmoothi", "sourceWidth", "sourceHeight", "srcX", "srcY", "srcWidth", "srcHeight", "dstX", "dstY", "dstWidth", "dstHeight", "scale", "mode", "dragBox", "face", "croppable", "movable", "AnotherCropper", "Cropper", "tagName", "xhr", "clone", "_parseOrientation", "crossOriginUrl", "_this2", "isIOSWebKit", "done", "sizingImage", "body", "template", "cropBox", "parentNode", "import_react", "import_react_dom", "formatMuiErrorMessage", "code", "args", "url", "arg", "identifier_default", "_extends", "n", "e", "t", "r", "React", "memoize", "fn", "cache", "arg", "reactPropsRegex", "isPropValid", "memoize", "prop", "React", "import_react", "isDevelopment", "sheetForTag", "tag", "i", "createStyleElement", "options", "StyleSheet", "_this", "before", "_proto", "nodes", "rule", "sheet", "e", "_tag$parentNode", "MS", "MOZ", "WEBKIT", "COMMENT", "RULESET", "DECLARATION", "IMPORT", "KEYFRAMES", "LAYER", "abs", "from", "assign", "hash", "value", "length", "charat", "trim", "match", "pattern", "replace", "replacement", "indexof", "search", "index", "substr", "begin", "end", "strlen", "sizeof", "append", "array", "combine", "callback", "line", "column", "length", "position", "character", "characters", "node", "value", "root", "parent", "type", "props", "children", "copy", "assign", "char", "prev", "charat", "next", "peek", "caret", "slice", "begin", "end", "substr", "token", "alloc", "strlen", "dealloc", "delimit", "trim", "delimiter", "whitespace", "type", "character", "peek", "next", "token", "escaping", "index", "count", "next", "character", "slice", "caret", "peek", "delimiter", "type", "position", "commenter", "from", "identifier", "token", "compile", "value", "dealloc", "parse", "alloc", "root", "parent", "rule", "rules", "rulesets", "pseudo", "points", "declarations", "index", "offset", "length", "atrule", "property", "previous", "variable", "scanning", "ampersand", "character", "type", "props", "children", "reference", "characters", "next", "charat", "indexof", "replace", "delimit", "whitespace", "escaping", "caret", "peek", "append", "comment", "commenter", "strlen", "declaration", "ruleset", "prev", "from", "identifier", "post", "size", "sizeof", "i", "j", "k", "y", "substr", "abs", "z", "trim", "node", "RULESET", "COMMENT", "char", "DECLARATION", "serialize", "children", "callback", "output", "length", "sizeof", "i", "stringify", "element", "index", "LAYER", "IMPORT", "DECLARATION", "COMMENT", "KEYFRAMES", "RULESET", "strlen", "middleware", "collection", "length", "sizeof", "element", "index", "children", "callback", "output", "rulesheet", "identifierWithPointTracking", "begin", "points", "index", "previous", "character", "peek", "token", "next", "slice", "position", "toRules", "parsed", "delimit", "from", "getRules", "value", "dealloc", "alloc", "fixedElements", "compat", "element", "parent", "isImplicitRule", "rules", "parentRules", "i", "k", "j", "removeLabel", "prefix", "length", "hash", "WEBKIT", "MOZ", "MS", "replace", "strlen", "charat", "indexof", "prefixer", "children", "callback", "DECLARATION", "KEYFRAMES", "serialize", "copy", "RULESET", "combine", "match", "defaultStylisPlugins", "createCache", "options", "key", "ssrStyles", "node", "dataEmotionAttribute", "stylisPlugins", "inserted", "container", "nodesToHydrate", "attrib", "_insert", "omnipresentPlugins", "currentSheet", "finalizingPlugins", "stringify", "rulesheet", "rule", "serializer", "middleware", "stylis", "styles", "compile", "selector", "serialized", "sheet", "shouldCache", "cache", "StyleSheet", "isBrowser", "getRegisteredStyles", "registered", "registeredStyles", "classNames", "rawClassName", "className", "registerStyles", "cache", "serialized", "isStringTag", "insertStyles", "current", "murmur2", "str", "h", "k", "i", "len", "unitlessKeys", "memoize", "fn", "cache", "arg", "isDevelopment", "hyphenateRegex", "animationRegex", "isCustomProperty", "property", "isProcessableValue", "value", "processStyleName", "memoize", "styleName", "processStyleValue", "key", "match", "p1", "p2", "cursor", "unitlessKeys", "noComponentSelectorMessage", "handleInterpolation", "mergedProps", "registered", "interpolation", "componentSelector", "keyframes", "serializedStyles", "next", "styles", "createStringFromObject", "previousCursor", "result", "asString", "cached", "obj", "string", "i", "_i", "interpolated", "labelPattern", "serializeStyles", "args", "stringMode", "strings", "asTemplateStringsArr", "templateStringsArr", "identifierName", "name", "murmur2", "React", "syncFallback", "create", "useInsertionEffect", "useInsertionEffectAlwaysWithSyncFallback", "useInsertionEffectWithLayoutFallback", "EmotionCacheContext", "createCache", "CacheProvider", "withEmotionCache", "func", "props", "ref", "cache", "EmotionCacheContext", "ThemeContext", "hasOwn", "React", "import_hoist_non_react_statics", "Global", "withEmotionCache", "props", "cache", "styles", "serialized", "serializeStyles", "ThemeContext", "sheetRef", "useInsertionEffectWithLayoutFallback", "key", "sheet", "rehydrating", "node", "sheetRefCurrent", "insertStyles", "element", "css", "_len", "args", "_key", "keyframes", "insertable", "name", "testOmitPropsOnStringTag", "isPropValid", "testOmitPropsOnComponent", "key", "getDefaultShouldForwardProp", "tag", "composeShouldForwardProps", "options", "isReal", "shouldForwardProp", "optionsShouldForwardProp", "propName", "isDevelopment", "Insertion", "_ref", "cache", "serialized", "isStringTag", "registerStyles", "useInsertionEffectAlwaysWithSyncFallback", "insertStyles", "createStyled", "baseTag", "identifierName", "targetClassName", "defaultShouldForwardProp", "shouldUseAs", "args", "styles", "len", "i", "Styled", "withEmotionCache", "props", "ref", "FinalTag", "className", "classInterpolations", "mergedProps", "ThemeContext", "getRegisteredStyles", "serializeStyles", "finalShouldForwardProp", "newProps", "_key", "nextTag", "nextOptions", "_extends", "import_react", "tags", "newStyled", "createStyled", "tagName", "React", "import_jsx_runtime", "isEmpty", "obj", "GlobalStyles", "props", "styles", "defaultTheme", "_jsx", "Global", "themeInput", "styled", "tag", "options", "newStyled", "internal_mutateStyles", "processor", "wrapper", "internal_serializeStyles", "styles", "serializeStyles", "React", "React", "isPlainObject", "item", "prototype", "deepClone", "source", "output", "key", "deepmerge", "target", "options", "sortBreakpointsValues", "values", "breakpointsAsArray", "key", "breakpoint1", "breakpoint2", "acc", "obj", "createBreakpoints", "breakpoints", "unit", "step", "other", "sortedValues", "keys", "up", "down", "between", "start", "end", "endIndex", "only", "not", "keyIndex", "sortContainerQueries", "theme", "css", "sorted", "key", "a", "b", "_a", "_b", "regex", "acc", "value", "isCqShorthand", "breakpointKeys", "getContainerQuery", "shorthand", "matches", "containerQuery", "containerName", "cssContainerQueries", "themeInput", "toContainerQuery", "mediaQuery", "name", "attachCq", "node", "args", "result", "containerQueries", "shape", "shape_default", "merge", "acc", "item", "deepmerge", "merge_default", "values", "defaultBreakpoints", "key", "defaultContainerQueries", "containerName", "result", "handleBreakpoints", "props", "propValue", "styleFromPropValue", "theme", "themeBreakpoints", "acc", "item", "index", "breakpoint", "isCqShorthand", "containerKey", "getContainerQuery", "mediaKey", "cssKey", "createEmptyBreakpointObject", "breakpointsInput", "_a", "acc", "key", "breakpointStyleKey", "removeUnusedBreakpoints", "breakpointKeys", "style", "breakpointOutput", "computeBreakpointsBase", "breakpointValues", "themeBreakpoints", "base", "breakpointsKeys", "breakpoint", "i", "resolveBreakpointValues", "customBase", "keys", "previous", "acc", "capitalize", "string", "formatMuiErrorMessage", "getPath", "obj", "path", "checkVars", "val", "acc", "item", "getStyleValue", "themeMapping", "transform", "propValueFinal", "userValue", "value", "style", "options", "prop", "cssProperty", "themeKey", "fn", "props", "propValue", "theme", "handleBreakpoints", "capitalize", "style_default", "memoize", "fn", "cache", "arg", "properties", "directions", "aliases", "getCssProperties", "memoize", "prop", "a", "b", "property", "direction", "dir", "marginKeys", "paddingKeys", "spacingKeys", "createUnaryUnit", "theme", "themeKey", "defaultValue", "propName", "_a", "themeSpacing", "getPath", "val", "abs", "transformed", "createUnarySpacing", "getValue", "transformer", "propValue", "getStyleFromPropValue", "cssProperties", "acc", "cssProperty", "resolveCssProperty", "props", "keys", "styleFromPropValue", "handleBreakpoints", "style", "merge_default", "margin", "padding", "spacing", "createSpacing", "spacingInput", "transform", "createUnarySpacing", "spacing", "argsInput", "argument", "output", "compose", "styles", "handlers", "acc", "style", "prop", "fn", "props", "merge_default", "compose_default", "borderTransform", "value", "createBorderStyle", "prop", "transform", "style_default", "border", "borderTop", "borderRight", "borderBottom", "borderLeft", "borderColor", "borderTopColor", "borderRightColor", "borderBottomColor", "borderLeftColor", "outline", "outlineColor", "borderRadius", "props", "transformer", "createUnaryUnit", "styleFromPropValue", "propValue", "getValue", "handleBreakpoints", "borders", "compose_default", "gap", "props", "transformer", "createUnaryUnit", "styleFromPropValue", "propValue", "getValue", "handleBreakpoints", "columnGap", "rowGap", "gridColumn", "style_default", "gridRow", "gridAutoFlow", "gridAutoColumns", "gridAutoRows", "gridTemplateColumns", "gridTemplateRows", "gridTemplateAreas", "gridArea", "grid", "compose_default", "paletteTransform", "value", "userValue", "color", "style_default", "bgcolor", "backgroundColor", "palette", "compose_default", "sizingTransform", "value", "width", "style_default", "maxWidth", "props", "styleFromPropValue", "propValue", "_a", "_b", "_c", "_d", "_e", "breakpoint", "values", "handleBreakpoints", "minWidth", "height", "maxHeight", "minHeight", "sizeWidth", "sizeHeight", "boxSizing", "sizing", "compose_default", "defaultSxConfig", "borderTransform", "borderRadius", "paletteTransform", "padding", "margin", "value", "gap", "rowGap", "columnGap", "sizingTransform", "maxWidth", "defaultSxConfig_default", "objectsHaveSameKeys", "objects", "allKeys", "keys", "object", "union", "callIfFn", "maybeFn", "arg", "unstable_createStyleFunctionSx", "getThemeValue", "prop", "val", "theme", "config", "props", "options", "cssProperty", "themeKey", "transform", "style", "themeMapping", "getPath", "handleBreakpoints", "propValueFinal", "value", "getStyleValue", "capitalize", "styleFunctionSx", "_a", "sx", "defaultSxConfig_default", "traverse", "sxInput", "sxObject", "emptyBreakpoints", "createEmptyBreakpointObject", "breakpointsKeys", "css", "styleKey", "merge_default", "breakpointsValues", "x", "sortContainerQueries", "removeUnusedBreakpoints", "styleFunctionSx_default", "applyStyles", "key", "styles", "_a", "theme", "selector", "createTheme", "options", "args", "breakpointsInput", "paletteInput", "spacingInput", "shapeInput", "other", "breakpoints", "createBreakpoints", "spacing", "createSpacing", "muiTheme", "deepmerge", "shape_default", "cssContainerQueries", "applyStyles", "acc", "argument", "defaultSxConfig_default", "props", "styleFunctionSx_default", "createTheme_default", "React", "isObjectEmpty", "obj", "useTheme", "defaultTheme", "contextTheme", "ThemeContext", "useThemeWithoutDefault_default", "systemDefaultTheme", "createTheme_default", "useTheme", "defaultTheme", "useThemeWithoutDefault_default", "useTheme_default", "import_jsx_runtime", "GlobalStyles", "styles", "themeId", "defaultTheme", "upperTheme", "useTheme_default", "globalStyles", "_jsx", "GlobalStyles_default", "splitProps", "props", "_a", "_b", "result", "config", "defaultSxConfig_default", "prop", "extendSxProp", "inSx", "other", "systemProps", "otherProps", "finalSx", "args", "isPlainObject", "defaultGenerator", "componentName", "createClassNameGenerator", "generate", "generator", "ClassNameGenerator", "ClassNameGenerator_default", "React", "r", "f", "n", "o", "clsx", "clsx_default", "import_jsx_runtime", "createBox", "options", "themeId", "defaultTheme", "defaultClassName", "generateClassName", "BoxRoot", "styled", "prop", "styleFunctionSx_default", "inProps", "ref", "theme", "useTheme_default", "className", "component", "other", "extendSxProp", "_jsx", "clsx_default", "globalStateClasses", "generateUtilityClass", "componentName", "slot", "globalStatePrefix", "globalStateClass", "ClassNameGenerator_default", "generateUtilityClasses", "componentName", "slots", "globalStatePrefix", "result", "slot", "generateUtilityClass", "preprocessStyles", "input", "variants", "style", "result", "internal_serializeStyles", "variant", "systemDefaultTheme", "createTheme_default", "shouldForwardProp", "prop", "defaultOverridesResolver", "slot", "_props", "styles", "attachTheme", "props", "themeId", "defaultTheme", "isObjectEmpty", "processStyle", "style", "resolvedStyle", "subStyle", "rootStyle", "variants", "otherStyles", "processStyleVariants", "results", "_a", "mergedState", "variantLoop", "i", "variant", "key", "createStyled", "input", "rootShouldForwardProp", "slotShouldForwardProp", "styleAttachTheme", "tag", "inputOptions", "internal_mutateStyles", "styleFunctionSx_default", "componentName", "componentSlot", "inputSkipVariantsResolver", "inputSkipSx", "overridesResolver", "lowercaseFirstLetter", "options", "skipVariantsResolver", "skipSx", "shouldForwardPropOption", "isStringTag", "defaultStyledResolver", "styled", "generateStyledLabel", "transformStyle", "isPlainObject", "serialized", "preprocessStyles", "muiStyledResolver", "expressionsInput", "expressionsHead", "expressionsBody", "expressionsTail", "_b", "styleOverrides", "resolvedStyleOverrides", "slotKey", "theme", "themeVariants", "inputStrings", "placeholdersHead", "placeholdersTail", "outputStrings", "expressions", "Component", "generateStyledLabel", "componentName", "componentSlot", "isObjectEmpty", "object", "_", "isStringTag", "tag", "lowercaseFirstLetter", "string", "styled", "createStyled", "styled_default", "resolveProps", "defaultProps", "props", "output", "key", "propName", "defaultSlotProps", "slotProps", "slotKey", "slotPropName", "getThemeProps", "params", "theme", "name", "props", "resolveProps", "useThemeProps", "props", "name", "defaultTheme", "themeId", "theme", "useTheme_default", "getThemeProps", "React", "React", "useEnhancedEffect", "useEnhancedEffect_default", "useMediaQueryOld", "query", "defaultMatches", "matchMedia", "ssrMatchMedia", "noSsr", "match", "setMatch", "useEnhancedEffect_default", "queryList", "updateMatch", "safeReact", "React", "maybeReactUseSyncExternalStore", "useMediaQueryNew", "getDefaultSnapshot", "getServerSnapshot", "matches", "getSnapshot", "subscribe", "mediaQueryList", "notify", "unstable_createUseMediaQuery", "params", "themeId", "queryInput", "options", "theme", "useThemeWithoutDefault_default", "supportMatchMedia", "getThemeProps", "useMediaQuery", "clamp", "val", "min", "max", "clamp_default", "clampWrapper", "value", "min", "max", "clamp_default", "hexToRgb", "color", "re", "colors", "n", "index", "decomposeColor", "color", "hexToRgb", "marker", "type", "formatMuiErrorMessage", "values", "colorSpace", "value", "colorChannel", "decomposedColor", "val", "idx", "private_safeColorChannel", "warning", "error", "recomposeColor", "n", "i", "hslToRgb", "color", "decomposeColor", "values", "h", "s", "l", "a", "f", "n", "k", "type", "rgb", "recomposeColor", "getLuminance", "val", "getContrastRatio", "foreground", "background", "lumA", "lumB", "alpha", "value", "clampWrapper", "private_safeAlpha", "warning", "error", "darken", "coefficient", "i", "private_safeDarken", "lighten", "private_safeLighten", "emphasize", "private_safeEmphasize", "React", "React", "createChainedFunction", "funcs", "acc", "func", "args", "debounce", "func", "wait", "timeout", "debounced", "args", "later", "React", "isMuiElement", "element", "muiNames", "_a", "_b", "_c", "_d", "ownerDocument", "node", "ownerWindow", "node", "ownerDocument", "setRef", "ref", "value", "React", "globalId", "useGlobalId", "idOverride", "defaultId", "setDefaultId", "id", "safeReact", "maybeReactUseId", "useId", "reactId", "React", "useControlled", "controlled", "defaultProp", "name", "state", "isControlled", "valueState", "setValue", "value", "setValueIfUncontrolled", "newValue", "React", "useEventCallback", "fn", "ref", "useEnhancedEffect_default", "args", "useEventCallback_default", "React", "useForkRef", "refs", "ref", "instance", "setRef", "React", "UNINITIALIZED", "useLazyRef", "init", "initArg", "ref", "React", "EMPTY", "useOnMount", "fn", "Timeout", "_Timeout", "__publicField", "delay", "fn", "useTimeout", "timeout", "useLazyRef", "useOnMount", "isFocusVisible", "element", "error", "getScrollbarSize", "win", "documentWidth", "React", "usePreviousProps", "value", "ref", "usePreviousProps_default", "composeClasses", "slots", "getUtilityClass", "classes", "output", "slotName", "slot", "buffer", "start", "i", "value", "isHostComponent", "element", "isHostComponent_default", "appendOwnerState", "elementType", "otherProps", "ownerState", "isHostComponent_default", "appendOwnerState_default", "extractEventHandlers", "object", "excludeKeys", "result", "prop", "extractEventHandlers_default", "omitEventHandlers", "object", "result", "prop", "omitEventHandlers_default", "mergeSlotProps", "parameters", "getSlotProps", "additionalProps", "externalSlotProps", "externalForwardedProps", "className", "joinedClasses", "clsx_default", "mergedStyle", "props", "eventHandlers", "extractEventHandlers_default", "componentsPropsWithoutEventHandlers", "omitEventHandlers_default", "otherPropsWithoutEventHandlers", "internalSlotProps", "mergeSlotProps_default", "resolveComponentProps", "componentProps", "ownerState", "slotState", "resolveComponentProps_default", "useSlotProps", "parameters", "_a", "elementType", "externalSlotProps", "ownerState", "skipResolvingSlotProps", "other", "resolvedComponentsProps", "resolveComponentProps_default", "mergedProps", "internalRef", "mergeSlotProps_default", "ref", "useForkRef", "appendOwnerState_default", "useSlotProps_default", "React", "getReactElementRef", "element", "_a", "React", "ThemeContext", "ThemeContext_default", "React", "useTheme", "ThemeContext_default", "hasSymbol", "nested_default", "import_jsx_runtime", "mergeOuterLocalTheme", "outerTheme", "localTheme", "ThemeProvider", "props", "children", "useTheme", "theme", "output", "nested_default", "_jsx", "ThemeContext_default", "ThemeProvider_default", "React", "import_jsx_runtime", "RtlContext", "RtlProvider", "value", "props", "_jsx", "useRtl", "RtlProvider_default", "React", "import_jsx_runtime", "PropsContext", "DefaultPropsProvider", "value", "children", "_jsx", "getThemeProps", "params", "theme", "name", "props", "config", "resolveProps", "useDefaultProps", "ctx", "DefaultPropsProvider_default", "import_jsx_runtime", "EMPTY_THEME", "useThemeScoping", "themeId", "upperTheme", "localTheme", "isPrivate", "resolvedTheme", "mergedTheme", "result", "ThemeProvider", "props", "children", "useThemeWithoutDefault_default", "upperPrivateTheme", "useTheme", "engineTheme", "privateTheme", "rtlValue", "_jsx", "ThemeProvider_default", "ThemeContext", "RtlProvider_default", "DefaultPropsProvider_default", "arg", "unstable_memoTheme", "styleFn", "lastValue", "lastTheme", "props", "value", "preprocessStyles", "React", "React", "import_jsx_runtime", "DEFAULT_MODE_STORAGE_KEY", "DEFAULT_COLOR_SCHEME_STORAGE_KEY", "DEFAULT_ATTRIBUTE", "InitColorSchemeScript", "options", "defaultMode", "defaultLightColorScheme", "defaultDarkColorScheme", "modeStorageKey", "colorSchemeStorageKey", "initialAttribute", "colorSchemeNode", "nonce", "setter", "attribute", "selector", "matches", "attr", "value", "_jsx", "React", "getSystemMode", "mode", "processState", "state", "callback", "getColorScheme", "initializeValue", "key", "defaultValue", "value", "e", "useCurrentColorScheme", "options", "defaultMode", "defaultLightColorScheme", "defaultDarkColorScheme", "supportedColorSchemes", "modeStorageKey", "DEFAULT_MODE_STORAGE_KEY", "colorSchemeStorageKey", "DEFAULT_COLOR_SCHEME_STORAGE_KEY", "storageWindow", "noSsr", "joinedColorSchemes", "isMultiSchemes", "setState", "initialMode", "lightColorScheme", "darkColorScheme", "isClient", "setIsClient", "colorScheme", "setMode", "currentState", "newMode", "setColorScheme", "newState", "newLightColorScheme", "newDarkColorScheme", "error", "handleMediaQuery", "event", "systemMode", "mediaListener", "handler", "args", "media", "handleStorage", "import_jsx_runtime", "DISABLE_CSS_TRANSITION", "createCssVarsProvider", "options", "themeId", "defaultTheme", "defaultModeStorageKey", "DEFAULT_MODE_STORAGE_KEY", "defaultColorSchemeStorageKey", "DEFAULT_COLOR_SCHEME_STORAGE_KEY", "designSystemTransitionOnChange", "defaultColorScheme", "resolveTheme", "defaultContext", "ColorSchemeContext", "useColorScheme", "CssVarsProvider", "props", "_a", "_b", "_c", "_d", "_e", "children", "themeProp", "modeStorageKey", "colorSchemeStorageKey", "disableTransitionOnChange", "storageWindow", "documentNode", "colorSchemeNode", "disableNestedContext", "disableStyleSheetGeneration", "initialMode", "noSsr", "hasMounted", "upperTheme", "useTheme", "ctx", "nested", "initialTheme", "scopedTheme", "colorSchemes", "components", "cssVarPrefix", "restThemeProp", "joinedColorSchemes", "k", "allColorSchemes", "defaultLightColorScheme", "defaultDarkColorScheme", "defaultMode", "stateMode", "setMode", "systemMode", "lightColorScheme", "darkColorScheme", "stateColorScheme", "setColorScheme", "useCurrentColorScheme", "mode", "colorScheme", "calculatedColorScheme", "themeVars", "theme", "scheme", "schemeKey", "colorSchemeSelector", "selector", "rule", "matches", "attr", "value", "timer", "css", "contextValue", "shouldGenerateStyleSheet", "element", "_jsxs", "_jsx", "ThemeProvider_default", "GlobalStyles", "params", "InitColorSchemeScript", "createGetCssVar", "prefix", "appendVar", "vars", "value", "field", "fallbacks", "assignNestedKeys", "obj", "keys", "value", "arrayKeys", "temp", "k", "index", "walkObjectDeep", "callback", "shouldSkipPaths", "recurse", "object", "parentKeys", "key", "getCssValue", "prop", "cssVarsParser", "theme", "options", "prefix", "shouldSkipGeneratingVar", "css", "vars", "varsWithDefaults", "cssVar", "resolvedValue", "prepareCssVars", "theme", "parserConfig", "getSelector", "defaultGetSelector", "disableCssColorScheme", "selector", "colorSchemes", "components", "defaultColorScheme", "otherTheme", "rootVars", "rootCss", "rootVarsWithDefaults", "cssVarsParser", "themeVars", "colorSchemesMap", "defaultScheme", "otherColorSchemes", "key", "scheme", "vars", "css", "varsWithDefaults", "deepmerge", "colorScheme", "cssObject", "_a", "_b", "rule", "schemeVars", "stylesheets", "insertStyleSheet", "defaultSchemeVal", "other", "cssColorSheme", "finalCss", "prepareCssVars_default", "createGetColorSchemeSelector", "selector", "colorScheme", "React", "filterBreakpointKeys", "breakpointsKeys", "responsiveKeys", "key", "traverseBreakpoints", "breakpoints", "responsive", "iterator", "smallestBreakpoint", "breakpointValue", "index", "responsiveStyles", "style", "getSelfSpacingVar", "axis", "getParentSpacingVar", "selfColumnsVar", "parentColumnsVar", "generateGridSizeStyles", "theme", "ownerState", "styles", "traverseBreakpoints", "appendStyle", "value", "style", "generateGridOffsetStyles", "generateGridColumnsStyles", "columns", "generateGridRowSpacingStyles", "_a", "spacing", "generateGridColumnSpacingStyles", "generateGridDirectionStyles", "generateGridStyles", "generateSizeClassNames", "size", "classNames", "key", "generateSpacingClassNames", "smallestBreakpoint", "isValidSpacing", "val", "generateDirectionClasses", "direction", "import_jsx_runtime", "defaultTheme", "createTheme_default", "defaultCreateStyledComponent", "styled_default", "props", "styles", "useThemePropsDefault", "useThemeProps", "createGrid", "options", "createStyledComponent", "componentName", "useUtilityClasses", "ownerState", "theme", "container", "direction", "spacing", "wrap", "size", "slots", "generateDirectionClasses", "generateSizeClassNames", "generateSpacingClassNames", "composeClasses", "slot", "generateUtilityClass", "parseResponsiveProp", "propValue", "breakpoints", "shouldUseValue", "parsedProp", "value", "index", "key", "GridRoot", "generateGridColumnsStyles", "generateGridColumnSpacingStyles", "generateGridRowSpacingStyles", "generateGridSizeStyles", "generateGridDirectionStyles", "generateGridStyles", "generateGridOffsetStyles", "Grid", "inProps", "ref", "_a", "_b", "_c", "_d", "_f", "useTheme_default", "themeProps", "extendSxProp", "className", "children", "columnsProp", "component", "sizeProp", "offsetProp", "spacingProp", "rowSpacingProp", "columnSpacingProp", "level", "other", "val", "offset", "columns", "rowSpacing", "columnSpacing", "classes", "_jsx", "clsx_default", "child", "isMuiElement", "common", "common_default", "grey", "grey_default", "purple", "purple_default", "red", "red_default", "orange", "orange_default", "blue", "blue_default", "lightBlue", "lightBlue_default", "green", "green_default", "getLight", "common_default", "light", "getDark", "dark", "addLightOrDark", "intent", "direction", "shade", "tonalOffset", "tonalOffsetLight", "tonalOffsetDark", "lighten", "darken", "getDefaultPrimary", "mode", "blue_default", "getDefaultSecondary", "purple_default", "getDefaultError", "red_default", "getDefaultInfo", "lightBlue_default", "getDefaultSuccess", "green_default", "getDefaultWarning", "orange_default", "createPalette", "palette", "contrastThreshold", "other", "primary", "secondary", "error", "info", "success", "warning", "getContrastText", "background", "getContrastRatio", "augmentColor", "color", "name", "mainShade", "lightShade", "darkShade", "formatMuiErrorMessage", "modeHydrated", "deepmerge", "grey_default", "prepareTypographyVars", "typography", "vars", "entry", "key", "value", "createMixins", "breakpoints", "mixins", "round", "value", "caseAllCaps", "defaultFontFamily", "createTypography", "palette", "typography", "fontFamily", "fontSize", "fontWeightLight", "fontWeightRegular", "fontWeightMedium", "fontWeightBold", "htmlFontSize", "allVariants", "pxToRem2", "other", "coef", "pxToRem", "size", "buildVariant", "fontWeight", "lineHeight", "letterSpacing", "casing", "variants", "deepmerge", "createShadow", "px", "shadows", "shadows_default", "easing", "duration", "formatMs", "milliseconds", "getAutoHeightDuration", "height", "constant", "createTransitions", "inputTransitions", "mergedEasing", "mergedDuration", "props", "options", "durationOption", "easingOption", "delay", "other", "animatedProp", "zIndex", "zIndex_default", "isSerializable", "val", "isPlainObject", "stringifyTheme", "baseTheme", "serializableTheme", "serializeTheme", "object", "array", "index", "key", "value", "createThemeNoVars", "options", "args", "breakpointsInput", "mixinsInput", "spacingInput", "paletteInput", "transitionsInput", "typographyInput", "shapeInput", "other", "formatMuiErrorMessage", "palette", "createPalette", "systemTheme", "createTheme_default", "muiTheme", "deepmerge", "createMixins", "shadows_default", "createTypography", "createTransitions", "zIndex_default", "acc", "argument", "defaultSxConfig_default", "props", "styleFunctionSx_default", "stringifyTheme", "createThemeNoVars_default", "createThemeNoVars", "getOverlayAlpha", "elevation", "alphaValue", "defaultDarkOverlays", "_", "index", "overlay", "getOverlayAlpha", "getOpacity", "mode", "getOverlays", "createColorScheme", "options", "paletteInput", "opacity", "overlays", "rest", "palette", "createPalette", "shouldSkipGeneratingVar", "keys", "_a", "excludeVariablesFromRoot", "cssVarPrefix", "_", "index", "excludeVariablesFromRoot_default", "createGetSelector_default", "theme", "colorScheme", "css", "root", "selector", "rule", "excludedVariables", "excludeVariablesFromRoot_default", "cssVar", "assignNode", "obj", "keys", "k", "setColor", "key", "defaultValue", "toRgb", "color", "hslToRgb", "setColorChannel", "private_safeColorChannel", "getSpacingVal", "spacingInput", "silent", "fn", "error", "createGetCssVar", "cssVarPrefix", "attachColorScheme", "colorSchemes", "scheme", "restTheme", "colorScheme", "mode", "createColorScheme", "palette", "muiTheme", "createThemeNoVars_default", "getOpacity", "getOverlays", "createThemeWithVars", "options", "args", "colorSchemesInput", "defaultColorSchemeInput", "disableCssColorScheme", "shouldSkipGeneratingVar", "selector", "rootSelector", "input", "firstColorScheme", "defaultColorScheme", "getCssVar", "defaultSchemeInput", "builtInLight", "builtInDark", "customColorSchemes", "defaultScheme", "formatMuiErrorMessage", "theme", "prepareTypographyVars", "setCssVarColor", "cssVar", "tokens", "colorToken", "private_safeDarken", "private_safeLighten", "snackbarContentBackground", "private_safeEmphasize", "private_safeAlpha", "colors", "acc", "argument", "deepmerge", "parserConfig", "createGetSelector_default", "vars", "generateThemeVars", "generateStyleSheets", "prepareCssVars_default", "value", "createSpacing", "createUnarySpacing", "createGetColorSchemeSelector", "defaultSxConfig_default", "props", "styleFunctionSx_default", "stringifyTheme", "attachColorScheme", "theme", "scheme", "colorScheme", "createPalette", "createTheme", "options", "args", "palette", "cssVariables", "initialColorSchemes", "initialDefaultColorScheme", "rest", "defaultColorSchemeInput", "defaultScheme", "colorSchemesInput", "createThemeNoVars_default", "paletteOptions", "createThemeWithVars", "React", "defaultTheme", "createTheme", "defaultTheme_default", "useTheme", "theme", "useTheme_default", "defaultTheme_default", "identifier_default", "useThemeProps", "props", "name", "defaultTheme_default", "identifier_default", "slotShouldForwardProp", "prop", "slotShouldForwardProp_default", "rootShouldForwardProp", "prop", "slotShouldForwardProp_default", "rootShouldForwardProp_default", "styled", "createStyled", "identifier_default", "defaultTheme_default", "rootShouldForwardProp_default", "styled_default", "React", "React", "import_jsx_runtime", "ThemeProviderNoVars", "themeInput", "props", "scopedTheme", "identifier_default", "_jsx", "ThemeProvider_default", "React", "React", "import_jsx_runtime", "defaultConfig", "import_jsx_runtime", "InternalCssVarsProvider", "useColorScheme", "deprecatedGetInitColorSchemeScript", "createCssVarsProvider", "identifier_default", "createTheme", "defaultConfig", "theme", "newTheme", "createTypography", "props", "styleFunctionSx_default", "CssVarsProvider", "InternalCssVarsProvider", "import_jsx_runtime", "ThemeProvider", "theme", "props", "_jsx", "ThemeProviderNoVars", "identifier_default", "CssVarsProvider", "step", "toInt", "hex", "rgb", "g", "b", "toHex", "int", "getElevation", "color", "overlayColor", "elevation", "overlay", "getElevations", "elevations", "i", "Theme", "type", "overrides", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "_h", "_i", "_j", "_k", "options", "localOverrides", "orange_default", "grey_default", "theme", "createTheme", "palette", "alpha", "import_react", "createDeferredPromise", "res", "rej", "promise", "resolve", "reject", "getObjectViewResultToArray", "doc", "_a", "item", "val", "normalizeHostId", "host", "objectIdToHostname", "id", "wait", "ms", "resolve", "pattern2RegEx", "pattern", "startsWithWildcard", "endsWithWildcard", "PROGRESS", "ERRORS", "PERMISSION_ERROR", "NOT_CONNECTED", "ADAPTERS", "Connection", "_Connection", "props", "__publicField", "createDeferredPromise", "e", "_a", "_b", "_c", "_d", "error", "resolve", "reject", "i", "wait", "host", "port", "protocol", "path", "parsed", "pos", "parts", "url", "noTimeout", "info", "major", "minor", "patch", "isOk", "isSecure", "cb", "message", "err", "_err", "id", "obj", "state", "messageType", "from", "data", "fileName", "size", "text", "exitCode", "_isOk", "acl", "maxAttempts", "_e", "_f", "_g", "_h", "_i", "args", "binary", "ids", "toSubscribe", "_id", "pattern2RegEx", "base64", "states", "mayBePromise", "toUnsubscribe", "sub", "oldObj", "changed", "sourceInstance", "filePattern", "filePatterns", "f", "pattern", "key", "cacheKey", "forceUpdate", "commandTimeout", "onTimeout", "requireAdmin", "requireFeatures", "executor", "feature", "promise", "timeoutControl", "timeout", "isAll", "k", "res", "val", "ack", "update", "disableProgressUpdate", "list", "isEnable", "isEnabled", "maintenance", "instance", "command", "result", "handler", "_enum", "_res", "start", "end", "type", "design", "objs", "namespace", "files", "byte", "folderName", "oldName", "newName", "cmd", "cmdId", "cmdTimeout", "normalizeHostId", "systemConfig", "objects", "options", "values", "stepIgnore", "sessionId", "version", "serverName", "name", "adapter", "filename", "exists", "_isSecure", "user", "features", "startKey", "endKey", "instances", "instanceObjects", "o", "adapters", "adapterObjects", "doc", "getObjectViewResultToArray", "targetInstance", "callback", "subscribeResult", "subscription", "deleted", "promiseResults", "index", "_messageType", "wasSubscribed", "results", "level", "parseCertificate", "name", "cert", "type", "t", "parseIPAddresses", "host", "_a", "_b", "IPs4", "IPs6", "eth", "iface", "ip", "AdminConnection", "Connection", "props", "options", "update", "resolve", "obj", "linesNumber", "lines", "result", "version", "adminInstance", "reject", "_result", "login", "password", "err", "licenses", "packages", "restart", "files", "adapter", "fileName", "folderName", "oldName", "newName", "doc", "getObjectViewResultToArray", "id", "newId", "groups", "subGroups", "g", "group", "oldGroupId", "newGroupId", "parentGroup", "timeoutMs", "normalizeHostId", "timeout", "data", "ERRORS", "args", "cmdTimeout", "cmd", "cmdId", "objectIdToHostname", "config", "typeOfDiag", "_reject", "user", "ipOrHostName", "plaintext", "ciphertext", "path", "processed", "filename", "category", "notifications", "isStrict", "ratings", "controller", "res", "e", "namespace", "adapterStr", "instances", "adapters", "compactHostsInfo", "systemRepositories", "DEBUG_BUILD", "SDK_VERSION", "GLOBAL_OBJ", "getGlobalSingleton", "name", "creator", "obj", "gbl", "__SENTRY__", "versionedCarrier", "SDK_VERSION", "DEBUG_BUILD", "PREFIX", "CONSOLE_LEVELS", "originalConsoleMethods", "consoleSandbox", "callback", "GLOBAL_OBJ", "console", "wrappedFuncs", "wrappedLevels", "level", "originalConsoleMethod", "makeLogger", "enabled", "logger", "DEBUG_BUILD", "name", "args", "getGlobalSingleton", "UNKNOWN_FUNCTION", "WEBPACK_ERROR_REGEXP", "STRIP_FRAME_REGEXP", "createStackParser", "parsers", "sortedParsers", "a", "b", "p", "stack", "skipFirstLines", "framesToPop", "frames", "lines", "line", "cleanedLine", "parser", "frame", "stripSentryFramesAndReverse", "stackParserFromStackParserOptions", "stackParser", "localStack", "getLastStackFrame", "arr", "defaultFunctionName", "getFunctionName", "fn", "e", "getFramesFromEvent", "event", "exception", "value", "_oO", "handlers", "instrumented", "addHandler", "type", "handler", "maybeInstrument", "type", "instrumentFn", "instrumented", "e", "DEBUG_BUILD", "logger", "triggerHandlers", "data", "typeHandlers", "handlers", "handler", "getFunctionName", "_oldOnErrorHandler", "addGlobalErrorInstrumentationHandler", "handler", "type", "addHandler", "maybeInstrument", "instrumentError", "GLOBAL_OBJ", "msg", "url", "line", "column", "error", "triggerHandlers", "_oldOnUnhandledRejectionHandler", "addGlobalUnhandledRejectionInstrumentationHandler", "handler", "type", "addHandler", "maybeInstrument", "instrumentUnhandledRejection", "GLOBAL_OBJ", "triggerHandlers", "getMainCarrier", "getSentryCarrier", "GLOBAL_OBJ", "carrier", "__SENTRY__", "SDK_VERSION", "objectToString", "isError", "wat", "isInstanceOf", "isBuiltin", "className", "isErrorEvent", "isDOMError", "isDOMException", "isString", "isParameterizedString", "isPrimitive", "isPlainObject", "isEvent", "isElement", "isRegExp", "isThenable", "isSyntheticEvent", "base", "_e", "isVueViewModel", "WINDOW", "GLOBAL_OBJ", "DEFAULT_MAX_STRING_LENGTH", "htmlTreeAsString", "elem", "options", "currentElem", "MAX_TRAVERSE_HEIGHT", "out", "height", "len", "separator", "sepLength", "nextStr", "keyAttrs", "maxStringLength", "_htmlElementAsString", "_oO", "el", "keyAttrPairs", "keyAttr", "keyAttrPair", "className", "isString", "classes", "c", "allowedAttrs", "k", "attr", "getLocationHref", "oO", "getComponentName", "elem", "WINDOW", "currentElem", "MAX_TRAVERSE_HEIGHT", "i", "truncate", "str", "max", "safeJoin", "input", "delimiter", "output", "i", "value", "isVueViewModel", "e", "isMatchingPattern", "pattern", "requireExactStringMatch", "isString", "isRegExp", "stringMatchesSomePattern", "testString", "patterns", "fill", "source", "name", "replacementFactory", "original", "wrapped", "markFunctionWrapped", "e", "DEBUG_BUILD", "logger", "addNonEnumerableProperty", "obj", "value", "o_O", "proto", "getOriginalFunction", "func", "convertToPlainObject", "value", "isError", "getOwnProperties", "isEvent", "newObj", "serializeEventTarget", "isInstanceOf", "target", "isElement", "htmlTreeAsString", "_oO", "obj", "extractedProps", "property", "extractExceptionKeysForMessage", "exception", "maxLength", "keys", "firstKey", "truncate", "includedKeys", "serialized", "dropUndefinedKeys", "inputValue", "_dropUndefinedKeys", "memoizationMap", "isPojo", "memoVal", "returnValue", "key", "item", "input", "isPlainObject", "name", "e2", "ONE_SECOND_IN_MS", "dateTimestampInSeconds", "createUnixTimestampInSecondsFunc", "performance", "GLOBAL_OBJ", "approxStartingTimeOrigin", "timeOrigin", "timestampInSeconds", "_browserPerformanceTimeOriginMode", "browserPerformanceTimeOrigin", "threshold", "performanceNow", "dateNow", "timeOriginDelta", "timeOriginIsReliable", "navigationStart", "navigationStartDelta", "navigationStartIsReliable", "uuid4", "gbl", "GLOBAL_OBJ", "crypto", "getRandomByte", "typedArray", "_", "c", "getFirstException", "event", "getEventDescription", "message", "eventId", "firstException", "addExceptionTypeValue", "value", "type", "exception", "values", "addExceptionMechanism", "newMechanism", "defaultMechanism", "currentMechanism", "mergedData", "checkOrSetAlreadyCaught", "exception", "addNonEnumerableProperty", "err", "States", "RESOLVED", "REJECTED", "resolvedSyncPromise", "value", "SyncPromise", "resolve", "rejectedSyncPromise", "reason", "_", "reject", "_SyncPromise", "executor", "e", "onfulfilled", "onrejected", "result", "val", "onfinally", "isRejected", "state", "isThenable", "cachedHandlers", "handler", "makeSession", "context", "startingTime", "timestampInSeconds", "session", "uuid4", "sessionToJSON", "updateSession", "duration", "closeSession", "status", "dropUndefinedKeys", "generatePropagationContext", "uuid4", "merge", "initialObj", "mergeObj", "levels", "output", "key", "SCOPE_SPAN_FIELD", "_setSpanForScope", "scope", "span", "addNonEnumerableProperty", "_getSpanForScope", "DEFAULT_MAX_BREADCRUMBS", "ScopeClass", "_ScopeClass", "generatePropagationContext", "newScope", "_setSpanForScope", "_getSpanForScope", "client", "lastEventId", "callback", "user", "updateSession", "requestSession", "tags", "key", "value", "extras", "extra", "fingerprint", "level", "name", "context", "session", "captureContext", "scopeToMerge", "scopeInstance", "Scope", "isPlainObject", "contexts", "propagationContext", "breadcrumb", "maxBreadcrumbs", "maxCrumbs", "mergedBreadcrumb", "dateTimestampInSeconds", "breadcrumbs", "attachment", "newData", "merge", "exception", "hint", "eventId", "uuid4", "logger", "syntheticException", "message", "event", "getDefaultCurrentScope", "getGlobalSingleton", "ScopeClass", "getDefaultIsolationScope", "AsyncContextStack", "scope", "isolationScope", "assignedScope", "Scope", "assignedIsolationScope", "callback", "maybePromiseResult", "e", "isThenable", "res", "getAsyncContextStack", "registry", "getMainCarrier", "sentry", "getSentryCarrier", "getDefaultCurrentScope", "getDefaultIsolationScope", "withScope", "withSetScope", "stack", "withIsolationScope", "getStackAsyncContextStrategy", "_isolationScope", "getAsyncContextStrategy", "carrier", "sentry", "getSentryCarrier", "getStackAsyncContextStrategy", "getCurrentScope", "carrier", "getMainCarrier", "getAsyncContextStrategy", "getIsolationScope", "getGlobalScope", "getGlobalSingleton", "ScopeClass", "withScope", "rest", "acs", "scope", "callback", "getClient", "getCurrentScope", "getTraceContextFromScope", "scope", "propagationContext", "traceId", "spanId", "parentSpanId", "dropUndefinedKeys", "METRICS_SPAN_FIELD", "getMetricSummaryJsonForSpan", "span", "storage", "output", "exportKey", "summary", "dropUndefinedKeys", "SEMANTIC_ATTRIBUTE_SENTRY_SOURCE", "SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE", "SEMANTIC_ATTRIBUTE_SENTRY_OP", "SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN", "SENTRY_BAGGAGE_KEY_PREFIX", "SENTRY_BAGGAGE_KEY_PREFIX_REGEX", "baggageHeaderToDynamicSamplingContext", "baggageHeader", "baggageObject", "parseBaggageHeader", "dynamicSamplingContext", "acc", "key", "value", "SENTRY_BAGGAGE_KEY_PREFIX_REGEX", "nonPrefixedKey", "SENTRY_BAGGAGE_KEY_PREFIX", "parseBaggageHeader", "baggageHeader", "isString", "acc", "curr", "currBaggageObject", "baggageHeaderToObject", "key", "value", "baggageEntry", "keyOrValue", "TRACE_FLAG_SAMPLED", "hasShownSpanDropWarning", "spanToTraceContext", "span", "span_id", "trace_id", "parent_span_id", "spanToJSON", "dropUndefinedKeys", "spanTimeInputToSeconds", "input", "ensureTimestampInSeconds", "timestampInSeconds", "timestamp", "spanToJSON", "span", "spanIsSentrySpan", "span_id", "trace_id", "spanIsOpenTelemetrySdkTraceBaseSpan", "attributes", "startTime", "name", "endTime", "parentSpanId", "status", "dropUndefinedKeys", "getStatusMessage", "SEMANTIC_ATTRIBUTE_SENTRY_OP", "SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN", "getMetricSummaryJsonForSpan", "e", "castSpan", "spanIsSampled", "traceFlags", "TRACE_FLAG_SAMPLED", "ROOT_SPAN_FIELD", "getRootSpan", "span", "ROOT_SPAN_FIELD", "showSpanDropWarning", "hasShownSpanDropWarning", "consoleSandbox", "hasTracingEnabled", "maybeOptions", "client", "getClient", "options", "DEFAULT_ENVIRONMENT", "FROZEN_DSC_FIELD", "getDynamicSamplingContextFromClient", "trace_id", "client", "options", "public_key", "dsc", "dropUndefinedKeys", "DEFAULT_ENVIRONMENT", "getDynamicSamplingContextFromScope", "scope", "propagationContext", "getDynamicSamplingContextFromSpan", "span", "getClient", "rootSpan", "getRootSpan", "frozenDsc", "FROZEN_DSC_FIELD", "traceState", "traceStateDsc", "dscOnTraceState", "baggageHeaderToDynamicSamplingContext", "jsonSpan", "spanToJSON", "attributes", "maybeSampleRate", "SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE", "source", "SEMANTIC_ATTRIBUTE_SENTRY_SOURCE", "name", "hasTracingEnabled", "spanIsSampled", "parseSampleRate", "sampleRate", "rate", "DEBUG_BUILD", "logger", "DSN_REGEX", "isValidProtocol", "protocol", "dsnToString", "dsn", "withPassword", "host", "path", "pass", "port", "projectId", "publicKey", "dsnFromString", "str", "match", "consoleSandbox", "lastPath", "split", "projectMatch", "dsnFromComponents", "components", "validateDsn", "DEBUG_BUILD", "component", "logger", "makeDsn", "from", "memoBuilder", "hasWeakSet", "inner", "memoize", "obj", "i", "unmemoize", "normalize", "input", "depth", "maxProperties", "visit", "err", "normalizeToSize", "object", "maxSize", "normalized", "jsonSize", "key", "value", "memo", "memoBuilder", "memoize", "unmemoize", "stringified", "stringifyValue", "remainingDepth", "valueWithToJSON", "jsonValue", "numAdded", "visitable", "convertToPlainObject", "visitKey", "visitValue", "isVueViewModel", "isSyntheticEvent", "getFunctionName", "objName", "getConstructorName", "prototype", "utf8Length", "createEnvelope", "headers", "items", "addItemToEnvelope", "envelope", "newItem", "forEachEnvelopeItem", "callback", "envelopeItems", "envelopeItem", "envelopeItemType", "encodeUTF8", "input", "GLOBAL_OBJ", "serializeEnvelope", "envelope", "envHeaders", "items", "parts", "append", "next", "encodeUTF8", "item", "itemHeaders", "payload", "stringifiedPayload", "e", "normalize", "concatBuffers", "buffers", "totalLength", "acc", "buf", "merged", "offset", "buffer", "createAttachmentEnvelopeItem", "attachment", "buffer", "encodeUTF8", "dropUndefinedKeys", "ITEM_TYPE_TO_DATA_CATEGORY_MAP", "envelopeItemTypeToDataCategory", "type", "getSdkMetadataForEnvelopeHeader", "metadataOrEvent", "name", "version", "createEventEnvelopeHeaders", "event", "sdkInfo", "tunnel", "dsn", "dynamicSamplingContext", "dsnToString", "enhanceEventWithSdkInfo", "event", "sdkInfo", "createSessionEnvelope", "session", "dsn", "metadata", "tunnel", "getSdkMetadataForEnvelopeHeader", "envelopeHeaders", "dsnToString", "envelopeItem", "createEnvelope", "createEventEnvelope", "eventType", "createEventEnvelopeHeaders", "notifyEventProcessors", "processors", "event", "hint", "index", "SyncPromise", "resolve", "reject", "processor", "result", "DEBUG_BUILD", "logger", "isThenable", "final", "parsedStackResults", "lastKeysCount", "cachedFilenameDebugIds", "getFilenameToDebugIdMap", "stackParser", "debugIdMap", "GLOBAL_OBJ", "debugIdKeys", "acc", "stackKey", "result", "parsedStack", "stackFrame", "filename", "debugId", "applyScopeDataToEvent", "event", "data", "fingerprint", "span", "breadcrumbs", "sdkProcessingMetadata", "applyDataToEvent", "applySpanToEvent", "applyFingerprintToEvent", "applyBreadcrumbsToEvent", "applySdkMetadataToEvent", "mergeScopeData", "mergeData", "extra", "tags", "user", "contexts", "level", "eventProcessors", "attachments", "propagationContext", "transactionName", "mergeAndOverwriteScopeData", "merge", "prop", "mergeVal", "cleanedExtra", "dropUndefinedKeys", "cleanedTags", "cleanedUser", "cleanedContexts", "mergedBreadcrumbs", "spanToTraceContext", "getDynamicSamplingContextFromSpan", "rootSpan", "getRootSpan", "spanToJSON", "prepareEvent", "options", "event", "hint", "scope", "client", "isolationScope", "normalizeDepth", "normalizeMaxBreadth", "prepared", "uuid4", "dateTimestampInSeconds", "integrations", "i", "applyClientOptions", "applyIntegrationsMetadata", "applyDebugIds", "finalScope", "getFinalScope", "addExceptionMechanism", "clientEventProcessors", "data", "getGlobalScope", "isolationData", "mergeScopeData", "finalScopeData", "attachments", "applyScopeDataToEvent", "eventProcessors", "notifyEventProcessors", "evt", "applyDebugMeta", "normalizeEvent", "environment", "release", "dist", "maxValueLength", "DEFAULT_ENVIRONMENT", "truncate", "exception", "request", "stackParser", "filenameDebugIdMap", "getFilenameToDebugIdMap", "frame", "e", "images", "filename", "debug_id", "integrationNames", "depth", "maxBreadth", "normalized", "b", "normalize", "span", "captureContext", "Scope", "parseEventHintOrCaptureContext", "hintIsScopeOrFunction", "hintIsScopeContext", "captureContextKeys", "key", "captureException", "exception", "hint", "getCurrentScope", "parseEventHintOrCaptureContext", "captureEvent", "event", "hint", "getCurrentScope", "startSession", "context", "client", "getClient", "isolationScope", "getIsolationScope", "currentScope", "getCurrentScope", "release", "environment", "DEFAULT_ENVIRONMENT", "userAgent", "GLOBAL_OBJ", "session", "makeSession", "currentSession", "updateSession", "endSession", "closeSession", "_sendSessionUpdate", "captureSession", "end", "SENTRY_API_VERSION", "getBaseApiEndpoint", "dsn", "protocol", "port", "_getIngestEndpoint", "_encodedAuth", "sdkInfo", "params", "getEnvelopeEndpointWithUrlEncodedAuth", "tunnel", "installedIntegrations", "filterDuplicates", "integrations", "integrationsByName", "currentInstance", "name", "existingInstance", "getIntegrationsToSetup", "options", "defaultIntegrations", "userIntegrations", "integration", "resolvedUserIntegrations", "finalIntegrations", "debugIndex", "debugInstance", "setupIntegrations", "client", "integrationIndex", "setupIntegration", "afterSetupIntegrations", "DEBUG_BUILD", "logger", "callback", "event", "hint", "processor", "createClientReportEnvelope", "discarded_events", "dsn", "timestamp", "clientReportItem", "dateTimestampInSeconds", "createEnvelope", "SentryError", "message", "logLevel", "ALREADY_SEEN_ERROR", "BaseClient", "options", "makeDsn", "DEBUG_BUILD", "logger", "url", "getEnvelopeEndpointWithUrlEncodedAuth", "undefinedOption", "option", "consoleSandbox", "exception", "hint", "scope", "eventId", "uuid4", "checkOrSetAlreadyCaught", "hintWithEventId", "event", "message", "level", "currentScope", "eventMessage", "isParameterizedString", "promisedEvent", "isPrimitive", "capturedSpanScope", "session", "updateSession", "timeout", "transport", "clientFinished", "transportFlushed", "resolvedSyncPromise", "result", "eventProcessor", "name", "integrationName", "integration", "isAlreadyInstalled", "setupIntegration", "afterSetupIntegrations", "env", "createEventEnvelope", "attachment", "addItemToEnvelope", "createAttachmentEnvelopeItem", "promise", "sendResponse", "createSessionEnvelope", "reason", "category", "eventOrCount", "count", "key", "hook", "callback", "hooks", "cbIndex", "rest", "callbacks", "envelope", "integrations", "setupIntegrations", "crashed", "errored", "exceptions", "ex", "mechanism", "sessionNonTerminal", "SyncPromise", "resolve", "ticked", "tick", "interval", "getCurrentScope", "isolationScope", "getIsolationScope", "prepareEvent", "evt", "getTraceContextFromScope", "dynamicSamplingContext", "getDynamicSamplingContextFromScope", "finalEvent", "sentryError", "sampleRate", "isTransaction", "isTransactionEvent", "isError", "isErrorEvent", "eventType", "beforeSendLabel", "parsedSampleRate", "parseSampleRate", "rejectedSyncPromise", "SentryError", "dataCategory", "capturedSpanIsolationScope", "prepared", "processBeforeSend", "_validateBeforeSendResult", "processedEvent", "spanCount", "spanCountBefore", "spanCountAfter", "droppedSpanCount", "transactionInfo", "source", "value", "outcomes", "quantity", "createClientReportEnvelope", "dsnToString", "beforeSendResult", "invalidValueError", "isThenable", "isPlainObject", "e", "client", "beforeSend", "beforeSendTransaction", "beforeSendSpan", "processedSpans", "span", "processedSpan", "showSpanDropWarning", "initAndBind", "clientClass", "options", "DEBUG_BUILD", "logger", "consoleSandbox", "getCurrentScope", "client", "setCurrentClient", "makePromiseBuffer", "limit", "buffer", "isReady", "remove", "task", "add", "taskProducer", "rejectedSyncPromise", "SentryError", "drain", "timeout", "SyncPromise", "resolve", "reject", "counter", "capturedSetTimeout", "item", "resolvedSyncPromise", "parseRetryAfterHeader", "header", "now", "headerDelay", "headerDate", "disabledUntil", "limits", "dataCategory", "isRateLimited", "updateRateLimits", "statusCode", "headers", "updatedRateLimits", "rateLimitHeader", "retryAfterHeader", "limit", "retryAfter", "categories", "namespaces", "delay", "category", "DEFAULT_TRANSPORT_BUFFER_SIZE", "createTransport", "options", "makeRequest", "buffer", "makePromiseBuffer", "rateLimits", "flush", "timeout", "send", "envelope", "filteredEnvelopeItems", "forEachEnvelopeItem", "item", "type", "dataCategory", "envelopeItemTypeToDataCategory", "isRateLimited", "event", "getEventForEnvelopeItem", "resolvedSyncPromise", "filteredEnvelope", "createEnvelope", "recordEnvelopeLoss", "reason", "requestTask", "serializeEnvelope", "response", "DEBUG_BUILD", "logger", "updateRateLimits", "error", "result", "SentryError", "applySdkMetadata", "options", "name", "names", "source", "metadata", "SDK_VERSION", "DEFAULT_BREADCRUMBS", "addBreadcrumb", "breadcrumb", "hint", "client", "getClient", "isolationScope", "getIsolationScope", "beforeBreadcrumb", "maxBreadcrumbs", "mergedBreadcrumb", "dateTimestampInSeconds", "finalBreadcrumb", "consoleSandbox", "originalFunctionToString", "INTEGRATION_NAME", "SETUP_CLIENTS", "_functionToStringIntegration", "args", "originalFunction", "getOriginalFunction", "context", "getClient", "client", "functionToStringIntegration", "DEFAULT_IGNORE_ERRORS", "INTEGRATION_NAME", "_inboundFiltersIntegration", "options", "event", "_hint", "client", "clientOptions", "mergedOptions", "_mergeOptions", "_shouldDropEvent", "inboundFiltersIntegration", "internalOptions", "_isSentryError", "DEBUG_BUILD", "logger", "getEventDescription", "_isIgnoredError", "_isUselessError", "_isIgnoredTransaction", "_isDeniedUrl", "_getEventFilterUrl", "_isAllowedUrl", "ignoreErrors", "_getPossibleEventMessages", "message", "stringMatchesSomePattern", "ignoreTransactions", "name", "denyUrls", "url", "allowUrls", "possibleMessages", "lastException", "e", "_getLastValidUrl", "frames", "i", "frame", "oO", "value", "applyAggregateErrorsToEvent", "exceptionFromErrorImplementation", "parser", "maxValueLimit", "key", "limit", "event", "hint", "isInstanceOf", "originalException", "truncateAggregateExceptions", "aggregateExceptionsFromError", "error", "prevExceptions", "exception", "exceptionId", "newExceptions", "applyExceptionGroupFieldsForParentException", "newException", "newExceptionId", "applyExceptionGroupFieldsForChildException", "childError", "i", "source", "parentId", "exceptions", "maxValueLength", "truncate", "parseUrl", "url", "match", "query", "fragment", "addConsoleInstrumentationHandler", "handler", "type", "addHandler", "maybeInstrument", "instrumentConsole", "GLOBAL_OBJ", "CONSOLE_LEVELS", "level", "fill", "originalConsoleMethod", "originalConsoleMethods", "args", "triggerHandlers", "log", "severityLevelFromString", "level", "INTEGRATION_NAME", "_dedupeIntegration", "previousEvent", "currentEvent", "_shouldDropEvent", "DEBUG_BUILD", "logger", "_oO", "dedupeIntegration", "_isSameMessageEvent", "_isSameExceptionEvent", "currentMessage", "previousMessage", "_isSameFingerprint", "_isSameStacktrace", "previousException", "_getExceptionFromEvent", "currentException", "currentFrames", "getFramesFromEvent", "previousFrames", "i", "frameA", "frameB", "currentFingerprint", "previousFingerprint", "event", "getBreadcrumbLogLevelFromHttpStatusCode", "statusCode", "WINDOW", "GLOBAL_OBJ", "supportsFetch", "WINDOW", "isNativeFunction", "func", "supportsNativeFetch", "result", "doc", "sandbox", "err", "DEBUG_BUILD", "logger", "addFetchInstrumentationHandler", "handler", "skipNativeFetchCheck", "type", "addHandler", "maybeInstrument", "instrumentFetch", "instrumentFetch", "onFetchResolved", "skipNativeFetchCheck", "supportsNativeFetch", "fill", "GLOBAL_OBJ", "originalFetch", "args", "method", "url", "parseFetchArgs", "handlerData", "timestampInSeconds", "triggerHandlers", "virtualStackTrace", "response", "error", "isError", "addNonEnumerableProperty", "hasProp", "obj", "prop", "getUrlFromResource", "resource", "parseFetchArgs", "fetchArgs", "url", "options", "arg", "getSDKSource", "WINDOW", "GLOBAL_OBJ", "supportsHistory", "chromeVar", "isChromePackagedApp", "hasHistoryApi", "WINDOW", "GLOBAL_OBJ", "ignoreOnError", "shouldIgnoreOnError", "ignoreNextOnError", "wrap", "fn", "options", "before", "wrapper", "getOriginalFunction", "e", "sentryWrapped", "args", "wrappedArguments", "arg", "ex", "withScope", "scope", "event", "addExceptionTypeValue", "addExceptionMechanism", "captureException", "property", "_oO", "markFunctionWrapped", "addNonEnumerableProperty", "DEBUG_BUILD", "exceptionFromError", "stackParser", "ex", "frames", "parseStackFrames", "exception", "extractType", "extractMessage", "eventFromPlainObject", "syntheticException", "isUnhandledRejection", "client", "getClient", "normalizeDepth", "errorFromProp", "getErrorPropertyFromObject", "extra", "normalizeToSize", "event", "isEvent", "getNonErrorObjectExceptionValue", "eventFromError", "stacktrace", "skipLines", "getSkipFirstStackStringLines", "framesToPop", "getPopFirstTopFrames", "e", "reactMinifiedRegexp", "isWebAssemblyException", "name", "message", "eventFromException", "hint", "attachStacktrace", "eventFromUnknownInput", "addExceptionMechanism", "resolvedSyncPromise", "eventFromMessage", "level", "eventFromString", "isErrorEvent", "isDOMError", "isDOMException", "domException", "addExceptionTypeValue", "isError", "isPlainObject", "isParameterizedString", "__sentry_template_string__", "__sentry_template_values__", "keys", "extractExceptionKeysForMessage", "captureType", "getObjectClassName", "obj", "prototype", "prop", "value", "createUserFeedbackEnvelope", "feedback", "metadata", "tunnel", "dsn", "headers", "dsnToString", "item", "createUserFeedbackEnvelopeItem", "createEnvelope", "BrowserClient", "BaseClient", "options", "opts", "sdkSource", "WINDOW", "getSDKSource", "applySdkMetadata", "exception", "hint", "eventFromException", "message", "level", "eventFromMessage", "feedback", "DEBUG_BUILD", "logger", "envelope", "createUserFeedbackEnvelope", "event", "scope", "DEBUG_BUILD", "WINDOW", "GLOBAL_OBJ", "DEBOUNCE_DURATION", "debounceTimerID", "lastCapturedEventType", "lastCapturedEventTargetId", "addClickKeypressInstrumentationHandler", "handler", "type", "addHandler", "maybeInstrument", "instrumentDOM", "WINDOW", "triggerDOMHandler", "triggerHandlers", "globalDOMEventHandler", "makeDOMEventHandler", "target", "proto", "fill", "originalAddEventListener", "listener", "options", "el", "handlers", "handlerForType", "e", "originalRemoveEventListener", "isSimilarToLastCapturedEvent", "event", "shouldSkipDOMEvent", "eventType", "globalListener", "getEventTarget", "addNonEnumerableProperty", "uuid4", "name", "lastHref", "addHistoryInstrumentationHandler", "handler", "type", "addHandler", "maybeInstrument", "instrumentHistory", "supportsHistory", "oldOnPopState", "WINDOW", "args", "to", "from", "triggerHandlers", "_oO", "historyReplacementFunction", "originalHistoryFunction", "url", "fill", "cachedImplementations", "getNativeImplementation", "name", "cached", "impl", "WINDOW", "isNativeFunction", "document", "sandbox", "contentWindow", "e", "DEBUG_BUILD", "logger", "clearCachedImplementation", "SENTRY_XHR_DATA_KEY", "addXhrInstrumentationHandler", "handler", "type", "addHandler", "maybeInstrument", "instrumentXHR", "WINDOW", "xhrproto", "originalOpen", "xhrOpenThisArg", "xhrOpenArgArray", "startTimestamp", "timestampInSeconds", "method", "isString", "url", "parseUrl", "onreadystatechangeHandler", "xhrInfo", "e", "handlerData", "triggerHandlers", "originalOnreadystatechange", "onreadystatechangeThisArg", "onreadystatechangeArgArray", "originalSetRequestHeader", "setRequestHeaderThisArg", "setRequestHeaderArgArray", "header", "value", "originalSend", "sendThisArg", "sendArgArray", "sentryXhrData", "e2", "makeFetchTransport", "options", "nativeFetch", "getNativeImplementation", "pendingBodySize", "pendingCount", "makeRequest", "request", "requestSize", "requestOptions", "clearCachedImplementation", "rejectedSyncPromise", "response", "e", "createTransport", "CHROME_PRIORITY", "GECKO_PRIORITY", "createFrame", "filename", "func", "lineno", "colno", "frame", "UNKNOWN_FUNCTION", "chromeRegexNoFnName", "chromeRegex", "chromeEvalRegex", "chromeStackParserFn", "line", "noFnParts", "col", "parts", "subMatch", "extractSafariExtensionDetails", "chromeStackLineParser", "CHROME_PRIORITY", "geckoREgex", "geckoEvalRegex", "gecko", "geckoStackLineParser", "defaultStackLineParsers", "chromeStackLineParser", "geckoStackLineParser", "defaultStackParser", "createStackParser", "extractSafariExtensionDetails", "func", "filename", "isSafariExtension", "isSafariWebExtension", "UNKNOWN_FUNCTION", "MAX_ALLOWED_STRING_LENGTH", "INTEGRATION_NAME", "_breadcrumbsIntegration", "options", "_options", "client", "addConsoleInstrumentationHandler", "_getConsoleBreadcrumbHandler", "addClickKeypressInstrumentationHandler", "_getDomBreadcrumbHandler", "addXhrInstrumentationHandler", "_getXhrBreadcrumbHandler", "addFetchInstrumentationHandler", "_getFetchBreadcrumbHandler", "addHistoryInstrumentationHandler", "_getHistoryBreadcrumbHandler", "_getSentryBreadcrumbHandler", "breadcrumbsIntegration", "event", "getClient", "addBreadcrumb", "getEventDescription", "dom", "handlerData", "target", "componentName", "keyAttrs", "maxStringLength", "DEBUG_BUILD", "logger", "element", "_isEvent", "htmlTreeAsString", "getComponentName", "e", "breadcrumb", "severityLevelFromString", "safeJoin", "startTimestamp", "endTimestamp", "sentryXhrData", "SENTRY_XHR_DATA_KEY", "method", "url", "status_code", "body", "data", "hint", "level", "getBreadcrumbLogLevelFromHttpStatusCode", "response", "from", "to", "parsedLoc", "parseUrl", "WINDOW", "parsedFrom", "parsedTo", "DEFAULT_EVENT_TARGET", "INTEGRATION_NAME", "_browserApiErrorsIntegration", "options", "_options", "fill", "WINDOW", "_wrapTimeFunction", "_wrapRAF", "_wrapXHR", "eventTargetOption", "_wrapEventTarget", "browserApiErrorsIntegration", "original", "args", "originalCallback", "wrap", "getFunctionName", "callback", "originalSend", "xhr", "prop", "wrapOptions", "originalFunction", "getOriginalFunction", "target", "globalObject", "proto", "eventName", "fn", "err", "originalRemoveEventListener", "wrappedEventHandler", "originalEventHandler", "e", "INTEGRATION_NAME", "_globalHandlersIntegration", "options", "_options", "client", "_installGlobalOnErrorHandler", "globalHandlerLog", "_installGlobalOnUnhandledRejectionHandler", "globalHandlersIntegration", "addGlobalErrorInstrumentationHandler", "data", "stackParser", "attachStacktrace", "getOptions", "getClient", "shouldIgnoreOnError", "msg", "url", "line", "column", "error", "event", "_enhanceEventWithInitialFrame", "eventFromUnknownInput", "captureEvent", "addGlobalUnhandledRejectionInstrumentationHandler", "e", "_getUnhandledRejectionError", "isPrimitive", "_eventFromRejectionWithPrimitive", "e2", "reason", "ev", "ev0", "ev0s", "ev0sf", "colno", "lineno", "filename", "isString", "getLocationHref", "UNKNOWN_FUNCTION", "type", "DEBUG_BUILD", "logger", "httpContextIntegration", "event", "WINDOW", "url", "referrer", "userAgent", "headers", "request", "DEFAULT_KEY", "DEFAULT_LIMIT", "INTEGRATION_NAME", "_linkedErrorsIntegration", "options", "limit", "key", "event", "hint", "client", "applyAggregateErrorsToEvent", "exceptionFromError", "linkedErrorsIntegration", "getDefaultIntegrations", "_options", "inboundFiltersIntegration", "functionToStringIntegration", "browserApiErrorsIntegration", "breadcrumbsIntegration", "globalHandlersIntegration", "linkedErrorsIntegration", "dedupeIntegration", "httpContextIntegration", "applyDefaultOptions", "optionsArg", "defaultOptions", "WINDOW", "shouldShowBrowserExtensionError", "windowWithMaybeExtension", "extensionKey", "extensionObject", "runtimeId", "href", "extensionProtocols", "isDedicatedExtensionPage", "protocol", "isNWjs", "init", "browserOptions", "options", "consoleSandbox", "DEBUG_BUILD", "supportsFetch", "logger", "clientOptions", "stackParserFromStackParserOptions", "defaultStackParser", "getIntegrationsToSetup", "makeFetchTransport", "client", "initAndBind", "BrowserClient", "startSessionTracking", "startSessionTracking", "WINDOW", "DEBUG_BUILD", "logger", "startSession", "captureSession", "addHistoryInstrumentationHandler", "from", "to", "capitalize_default", "capitalize", "createChainedFunction_default", "createChainedFunction", "React", "React", "React", "React", "import_jsx_runtime", "GlobalStyles", "props", "_jsx", "GlobalStyles_default", "defaultTheme_default", "identifier_default", "import_jsx_runtime", "globalCss", "styles", "props", "_jsx", "GlobalStyles_default", "theme", "internal_createExtendSxProp", "extendSxProp", "memoTheme", "unstable_memoTheme", "memoTheme_default", "React", "import_jsx_runtime", "useDefaultProps", "params", "getSvgIconUtilityClass", "slot", "generateUtilityClass", "svgIconClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "color", "fontSize", "classes", "slots", "capitalize_default", "composeClasses", "getSvgIconUtilityClass", "SvgIconRoot", "styled_default", "props", "styles", "memoTheme_default", "theme", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "_h", "_i", "_j", "_k", "_l", "_m", "_n", "_o", "_p", "_q", "_r", "value", "SvgIcon", "inProps", "ref", "useDefaultProps", "children", "className", "component", "htmlColor", "inheritViewBox", "titleAccess", "viewBox", "other", "hasSvgAsChild", "more", "_jsxs", "clsx_default", "_jsx", "SvgIcon_default", "import_jsx_runtime", "createSvgIcon", "path", "displayName", "Component", "props", "ref", "_jsx", "SvgIcon_default", "debounce_default", "debounce", "isMuiElement_default", "isMuiElement", "ownerDocument_default", "ownerDocument", "ownerWindow_default", "ownerWindow", "useEnhancedEffect_default", "useId_default", "useId", "useControlled_default", "useControlled", "useEventCallback_default", "useForkRef_default", "useForkRef", "_objectWithoutPropertiesLoose", "r", "e", "t", "n", "_setPrototypeOf", "t", "e", "_inheritsLoose", "t", "o", "_setPrototypeOf", "import_react", "import_react_dom", "config_default", "import_react", "TransitionGroupContext_default", "React", "forceReflow", "node", "UNMOUNTED", "EXITED", "ENTERING", "ENTERED", "EXITING", "Transition", "_React$Component", "_inheritsLoose", "props", "context", "_this", "parentGroup", "appear", "initialStatus", "_ref", "prevState", "nextIn", "_proto", "prevProps", "nextStatus", "status", "timeout", "exit", "enter", "mounting", "node", "ReactDOM", "forceReflow", "_this2", "appearing", "_ref2", "maybeNode", "maybeAppearing", "timeouts", "enterTimeout", "config_default", "_this3", "nextState", "callback", "_this4", "active", "event", "handler", "doesNotHaveTimeoutOrListener", "_ref3", "maybeNextCallback", "_this$props", "children", "_in", "_mountOnEnter", "_unmountOnExit", "_appear", "_enter", "_exit", "_timeout", "_addEndListener", "_onEnter", "_onEntering", "_onEntered", "_onExit", "_onExiting", "_onExited", "_nodeRef", "childProps", "_objectWithoutPropertiesLoose", "React", "TransitionGroupContext_default", "noop", "Transition_default", "_assertThisInitialized", "import_react", "import_react", "getChildMapping", "children", "mapFn", "mapper", "child", "result", "c", "mergeChildMappings", "prev", "next", "getValueForKey", "key", "nextKeysPending", "pendingKeys", "prevKey", "i", "childMapping", "nextKey", "pendingNextKey", "getProp", "prop", "props", "getInitialChildMapping", "onExited", "getNextChildMapping", "nextProps", "prevChildMapping", "nextChildMapping", "hasPrev", "hasNext", "prevChild", "isLeaving", "values", "obj", "k", "defaultProps", "child", "TransitionGroup", "_React$Component", "_inheritsLoose", "props", "context", "_this", "handleExited", "_assertThisInitialized", "_proto", "nextProps", "_ref", "prevChildMapping", "firstRender", "getInitialChildMapping", "getNextChildMapping", "node", "currentChildMapping", "getChildMapping", "state", "children", "_extends", "_this$props", "Component", "childFactory", "_objectWithoutPropertiesLoose", "contextValue", "React", "TransitionGroupContext_default", "TransitionGroup_default", "reflow", "node", "getTransitionProps", "props", "options", "_a", "_b", "timeout", "easing", "style", "React", "getPaperUtilityClass", "slot", "generateUtilityClass", "paperClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "square", "elevation", "variant", "classes", "slots", "composeClasses", "getPaperUtilityClass", "PaperRoot", "styled_default", "props", "styles", "memoTheme_default", "theme", "Paper", "inProps", "ref", "_a", "useDefaultProps", "useTheme", "className", "component", "other", "_jsx", "clsx_default", "alpha", "getOverlayAlpha", "Paper_default", "useSlot", "name", "parameters", "className", "initialElementType", "ownerState", "externalForwardedProps", "getSlotOwnerState", "internalForwardedProps", "useSlotPropsParams", "rootComponent", "slots", "slotProps", "other", "elementType", "resolvedComponentsProps", "resolveComponentProps_default", "slotComponent", "mergedProps", "internalRef", "mergeSlotProps_default", "ref", "useForkRef", "slotOwnerState", "finalOwnerState", "LeafComponent", "props", "appendOwnerState_default", "propName", "React", "React", "LazyRipple", "_LazyRipple", "__publicField", "ripple", "useLazyRef", "shouldMount", "setShouldMount", "createControlledPromise", "args", "_a", "useLazyRipple", "resolve", "reject", "p", "resolveFn", "rejectFn", "React", "React", "import_jsx_runtime", "Ripple", "props", "className", "classes", "pulsate", "rippleX", "rippleY", "rippleSize", "inProp", "onExited", "timeout", "leaving", "setLeaving", "rippleClassName", "clsx_default", "rippleStyles", "childClassName", "timeoutId", "_jsx", "Ripple_default", "touchRippleClasses", "generateUtilityClasses", "touchRippleClasses_default", "import_jsx_runtime", "DURATION", "DELAY_RIPPLE", "enterKeyframe", "keyframes", "exitKeyframe", "pulsateKeyframe", "TouchRippleRoot", "styled_default", "TouchRippleRipple", "Ripple_default", "touchRippleClasses_default", "theme", "TouchRipple", "inProps", "ref", "props", "useDefaultProps", "centerProp", "classes", "className", "other", "ripples", "setRipples", "nextKey", "rippleCallback", "ignoringMouseDown", "startTimer", "useTimeout", "startTimerCommit", "container", "startCommit", "params", "pulsate", "rippleX", "rippleY", "rippleSize", "cb", "oldRipples", "_jsx", "clsx_default", "start", "event", "options", "center", "fakeElement", "element", "rect", "clientX", "clientY", "sizeX", "sizeY", "stop", "TransitionGroup_default", "TouchRipple_default", "getButtonBaseUtilityClass", "slot", "generateUtilityClass", "buttonBaseClasses", "generateUtilityClasses", "buttonBaseClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "disabled", "focusVisible", "focusVisibleClassName", "classes", "composedClasses", "composeClasses", "getButtonBaseUtilityClass", "ButtonBaseRoot", "styled_default", "props", "styles", "buttonBaseClasses_default", "ButtonBase", "inProps", "ref", "useDefaultProps", "action", "centerRipple", "children", "className", "component", "disableRipple", "disableTouchRipple", "focusRipple", "LinkComponent", "onBlur", "onClick", "onContextMenu", "onDragLeave", "onFocus", "onFocusVisible", "onKeyDown", "onKeyUp", "onMouseDown", "onMouseLeave", "onMouseUp", "onTouchEnd", "onTouchMove", "onTouchStart", "tabIndex", "TouchRippleProps", "touchRippleRef", "type", "other", "buttonRef", "ripple", "useLazyRipple", "handleRippleRef", "useForkRef_default", "setFocusVisible", "enableTouchRipple", "useRippleHandler", "rippleAction", "eventCallback", "skipRippleAction", "useEventCallback_default", "event", "handleMouseDown", "handleContextMenu", "handleDragLeave", "handleMouseUp", "handleMouseLeave", "handleTouchStart", "handleTouchEnd", "handleTouchMove", "handleBlur", "isFocusVisible", "handleFocus", "isNonNativeButton", "button", "handleKeyDown", "handleKeyUp", "ComponentProp", "buttonProps", "handleRef", "_jsxs", "clsx_default", "_jsx", "TouchRipple_default", "ButtonBase_default", "hasCorrectMainProperty", "obj", "checkSimplePaletteColorValues", "additionalPropertiesToCheck", "value", "createSimplePaletteValueFilter", "React", "getIconButtonUtilityClass", "slot", "generateUtilityClass", "iconButtonClasses", "generateUtilityClasses", "iconButtonClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "disabled", "color", "edge", "size", "slots", "capitalize_default", "composeClasses", "getIconButtonUtilityClass", "IconButtonRoot", "styled_default", "ButtonBase_default", "props", "styles", "memoTheme_default", "theme", "alpha", "createSimplePaletteValueFilter", "iconButtonClasses_default", "IconButton", "inProps", "ref", "useDefaultProps", "children", "className", "disableFocusRipple", "other", "_jsx", "clsx_default", "IconButton_default", "React", "getTypographyUtilityClass", "slot", "generateUtilityClass", "typographyClasses", "generateUtilityClasses", "typographyClasses_default", "import_jsx_runtime", "v6Colors", "extendSxProp", "internal_createExtendSxProp", "useUtilityClasses", "ownerState", "align", "gutterBottom", "noWrap", "paragraph", "variant", "classes", "slots", "capitalize_default", "composeClasses", "getTypographyUtilityClass", "TypographyRoot", "styled_default", "props", "styles", "memoTheme_default", "theme", "_a", "value", "createSimplePaletteValueFilter", "color", "defaultVariantMapping", "Typography", "inProps", "ref", "themeProps", "useDefaultProps", "isSxColor", "className", "component", "variantMapping", "other", "Component", "_jsx", "clsx_default", "Typography_default", "React", "getAppBarUtilityClass", "slot", "generateUtilityClass", "appBarClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "color", "position", "classes", "slots", "capitalize_default", "composeClasses", "getAppBarUtilityClass", "joinVars", "var1", "var2", "AppBarRoot", "styled_default", "Paper_default", "props", "styles", "memoTheme_default", "theme", "createSimplePaletteValueFilter", "_a", "_b", "AppBar", "inProps", "ref", "useDefaultProps", "className", "enableColorOnDark", "other", "_jsx", "clsx_default", "AppBar_default", "React", "React", "top", "bottom", "right", "left", "auto", "basePlacements", "start", "end", "clippingParents", "viewport", "popper", "reference", "variationPlacements", "acc", "placement", "placements", "beforeRead", "read", "afterRead", "beforeMain", "main", "afterMain", "beforeWrite", "write", "afterWrite", "modifierPhases", "getNodeName", "element", "getWindow", "node", "ownerDocument", "isElement", "node", "OwnElement", "getWindow", "isHTMLElement", "isShadowRoot", "applyStyles", "_ref", "state", "name", "style", "attributes", "element", "isHTMLElement", "getNodeName", "value", "effect", "_ref2", "initialStyles", "styleProperties", "property", "attribute", "applyStyles_default", "getBasePlacement", "placement", "max", "min", "round", "getUAString", "uaData", "item", "isLayoutViewport", "getUAString", "getBoundingClientRect", "element", "includeScale", "isFixedStrategy", "clientRect", "scaleX", "scaleY", "isHTMLElement", "round", "_ref", "isElement", "getWindow", "visualViewport", "addVisualOffsets", "isLayoutViewport", "x", "y", "width", "height", "getLayoutRect", "element", "clientRect", "getBoundingClientRect", "width", "height", "contains", "parent", "child", "rootNode", "isShadowRoot", "next", "getComputedStyle", "element", "getWindow", "isTableElement", "element", "getNodeName", "getDocumentElement", "element", "isElement", "getParentNode", "element", "getNodeName", "isShadowRoot", "getDocumentElement", "getTrueOffsetParent", "element", "isHTMLElement", "getComputedStyle", "getContainingBlock", "isFirefox", "getUAString", "isIE", "elementCss", "currentNode", "getParentNode", "isShadowRoot", "getNodeName", "css", "getOffsetParent", "window", "getWindow", "offsetParent", "isTableElement", "getMainAxisFromPlacement", "placement", "within", "min", "value", "max", "withinMaxClamp", "v", "getFreshSideObject", "mergePaddingObject", "paddingObject", "getFreshSideObject", "expandToHashMap", "value", "keys", "hashMap", "key", "toPaddingObject", "padding", "state", "mergePaddingObject", "expandToHashMap", "basePlacements", "arrow", "_ref", "_state$modifiersData$", "name", "options", "arrowElement", "popperOffsets", "basePlacement", "getBasePlacement", "axis", "getMainAxisFromPlacement", "isVertical", "left", "right", "len", "paddingObject", "arrowRect", "getLayoutRect", "minProp", "top", "maxProp", "bottom", "endDiff", "startDiff", "arrowOffsetParent", "getOffsetParent", "clientSize", "centerToReference", "min", "max", "center", "offset", "within", "axisProp", "effect", "_ref2", "_options$element", "contains", "arrow_default", "getVariation", "placement", "unsetSides", "roundOffsetsByDPR", "_ref", "win", "x", "y", "dpr", "round", "mapToStyles", "_ref2", "_Object$assign2", "popper", "popperRect", "placement", "variation", "offsets", "position", "gpuAcceleration", "adaptive", "roundOffsets", "isFixed", "_offsets$x", "_offsets$y", "_ref3", "hasX", "hasY", "sideX", "left", "sideY", "top", "offsetParent", "getOffsetParent", "heightProp", "widthProp", "getWindow", "getDocumentElement", "getComputedStyle", "right", "end", "bottom", "offsetY", "offsetX", "commonStyles", "_ref4", "_Object$assign", "computeStyles", "_ref5", "state", "options", "_options$gpuAccelerat", "_options$adaptive", "_options$roundOffsets", "getBasePlacement", "getVariation", "computeStyles_default", "passive", "effect", "_ref", "state", "instance", "options", "_options$scroll", "scroll", "_options$resize", "resize", "window", "getWindow", "scrollParents", "scrollParent", "eventListeners_default", "hash", "getOppositePlacement", "placement", "matched", "hash", "getOppositeVariationPlacement", "placement", "matched", "getWindowScroll", "node", "win", "getWindow", "scrollLeft", "scrollTop", "getWindowScrollBarX", "element", "getBoundingClientRect", "getDocumentElement", "getWindowScroll", "getViewportRect", "element", "strategy", "win", "getWindow", "html", "getDocumentElement", "visualViewport", "width", "height", "x", "y", "layoutViewport", "isLayoutViewport", "getWindowScrollBarX", "getDocumentRect", "element", "_element$ownerDocumen", "html", "getDocumentElement", "winScroll", "getWindowScroll", "body", "width", "max", "height", "x", "getWindowScrollBarX", "y", "getComputedStyle", "isScrollParent", "element", "_getComputedStyle", "getComputedStyle", "overflow", "overflowX", "overflowY", "getScrollParent", "node", "getNodeName", "isHTMLElement", "isScrollParent", "getParentNode", "listScrollParents", "element", "list", "_element$ownerDocumen", "scrollParent", "getScrollParent", "isBody", "win", "getWindow", "target", "isScrollParent", "updatedList", "getParentNode", "rectToClientRect", "rect", "getInnerBoundingClientRect", "element", "strategy", "rect", "getBoundingClientRect", "getClientRectFromMixedType", "clippingParent", "viewport", "rectToClientRect", "getViewportRect", "isElement", "getDocumentRect", "getDocumentElement", "getClippingParents", "clippingParents", "listScrollParents", "getParentNode", "canEscapeClipping", "getComputedStyle", "clipperElement", "isHTMLElement", "getOffsetParent", "contains", "getNodeName", "getClippingRect", "boundary", "rootBoundary", "mainClippingParents", "firstClippingParent", "clippingRect", "accRect", "max", "min", "computeOffsets", "_ref", "reference", "element", "placement", "basePlacement", "getBasePlacement", "variation", "getVariation", "commonX", "commonY", "offsets", "top", "bottom", "right", "left", "mainAxis", "getMainAxisFromPlacement", "len", "start", "end", "detectOverflow", "state", "options", "_options", "_options$placement", "placement", "_options$strategy", "strategy", "_options$boundary", "boundary", "clippingParents", "_options$rootBoundary", "rootBoundary", "viewport", "_options$elementConte", "elementContext", "popper", "_options$altBoundary", "altBoundary", "_options$padding", "padding", "paddingObject", "mergePaddingObject", "expandToHashMap", "basePlacements", "altContext", "reference", "popperRect", "element", "clippingClientRect", "getClippingRect", "isElement", "getDocumentElement", "referenceClientRect", "getBoundingClientRect", "popperOffsets", "computeOffsets", "popperClientRect", "rectToClientRect", "elementClientRect", "overflowOffsets", "offsetData", "offset", "key", "multiply", "right", "bottom", "axis", "top", "computeAutoPlacement", "state", "options", "_options", "placement", "boundary", "rootBoundary", "padding", "flipVariations", "_options$allowedAutoP", "allowedAutoPlacements", "placements", "variation", "getVariation", "variationPlacements", "basePlacements", "allowedPlacements", "overflows", "acc", "detectOverflow", "getBasePlacement", "a", "b", "getExpandedFallbackPlacements", "placement", "getBasePlacement", "auto", "oppositePlacement", "getOppositePlacement", "getOppositeVariationPlacement", "flip", "_ref", "state", "options", "name", "_options$mainAxis", "checkMainAxis", "_options$altAxis", "checkAltAxis", "specifiedFallbackPlacements", "padding", "boundary", "rootBoundary", "altBoundary", "_options$flipVariatio", "flipVariations", "allowedAutoPlacements", "preferredPlacement", "basePlacement", "isBasePlacement", "fallbackPlacements", "placements", "acc", "computeAutoPlacement", "referenceRect", "popperRect", "checksMap", "makeFallbackChecks", "firstFittingPlacement", "i", "_basePlacement", "isStartVariation", "getVariation", "start", "isVertical", "top", "bottom", "len", "overflow", "detectOverflow", "mainVariationSide", "right", "left", "altVariationSide", "checks", "check", "numberOfChecks", "_loop", "_i", "fittingPlacement", "_ret", "flip_default", "getSideOffsets", "overflow", "rect", "preventedOffsets", "isAnySideFullyClipped", "top", "right", "bottom", "left", "side", "hide", "_ref", "state", "name", "referenceRect", "popperRect", "referenceOverflow", "detectOverflow", "popperAltOverflow", "referenceClippingOffsets", "popperEscapeOffsets", "isReferenceHidden", "hasPopperEscaped", "hide_default", "distanceAndSkiddingToXY", "placement", "rects", "offset", "basePlacement", "getBasePlacement", "invertDistance", "left", "top", "_ref", "skidding", "distance", "right", "_ref2", "state", "options", "name", "_options$offset", "data", "placements", "acc", "_data$state$placement", "x", "y", "offset_default", "popperOffsets", "_ref", "state", "name", "computeOffsets", "popperOffsets_default", "getAltAxis", "axis", "preventOverflow", "_ref", "state", "options", "name", "_options$mainAxis", "checkMainAxis", "_options$altAxis", "checkAltAxis", "boundary", "rootBoundary", "altBoundary", "padding", "_options$tether", "tether", "_options$tetherOffset", "tetherOffset", "overflow", "detectOverflow", "basePlacement", "getBasePlacement", "variation", "getVariation", "isBasePlacement", "mainAxis", "getMainAxisFromPlacement", "altAxis", "getAltAxis", "popperOffsets", "referenceRect", "popperRect", "tetherOffsetValue", "normalizedTetherOffsetValue", "offsetModifierState", "data", "_offsetModifierState$", "mainSide", "top", "left", "altSide", "bottom", "right", "len", "offset", "min", "max", "additive", "minLen", "start", "maxLen", "arrowElement", "arrowRect", "getLayoutRect", "arrowPaddingObject", "getFreshSideObject", "arrowPaddingMin", "arrowPaddingMax", "arrowLen", "within", "minOffset", "maxOffset", "arrowOffsetParent", "getOffsetParent", "clientOffset", "offsetModifierValue", "tetherMin", "tetherMax", "preventedOffset", "_offsetModifierState$2", "_mainSide", "_altSide", "_offset", "_len", "_min", "_max", "isOriginSide", "_offsetModifierValue", "_tetherMin", "_tetherMax", "_preventedOffset", "withinMaxClamp", "preventOverflow_default", "getHTMLElementScroll", "element", "getNodeScroll", "node", "getWindow", "isHTMLElement", "getWindowScroll", "getHTMLElementScroll", "isElementScaled", "element", "rect", "scaleX", "round", "scaleY", "getCompositeRect", "elementOrVirtualElement", "offsetParent", "isFixed", "isOffsetParentAnElement", "isHTMLElement", "offsetParentIsScaled", "documentElement", "getDocumentElement", "getBoundingClientRect", "scroll", "offsets", "getNodeName", "isScrollParent", "getNodeScroll", "getWindowScrollBarX", "order", "modifiers", "map", "visited", "result", "modifier", "sort", "requires", "dep", "depModifier", "orderModifiers", "orderedModifiers", "modifierPhases", "acc", "phase", "debounce", "fn", "pending", "resolve", "mergeByName", "modifiers", "merged", "current", "existing", "key", "DEFAULT_OPTIONS", "areValidElements", "_len", "args", "_key", "element", "popperGenerator", "generatorOptions", "_generatorOptions", "_generatorOptions$def", "defaultModifiers", "_generatorOptions$def2", "defaultOptions", "reference", "popper", "options", "state", "effectCleanupFns", "isDestroyed", "instance", "setOptionsAction", "cleanupModifierEffects", "isElement", "listScrollParents", "orderedModifiers", "orderModifiers", "mergeByName", "m", "runModifierEffects", "_state$elements", "getCompositeRect", "getOffsetParent", "getLayoutRect", "modifier", "index", "_state$orderedModifie", "fn", "_state$orderedModifie2", "_options", "name", "debounce", "resolve", "_ref", "_ref$options", "effect", "cleanupFn", "noopFn", "defaultModifiers", "eventListeners_default", "popperOffsets_default", "computeStyles_default", "applyStyles_default", "offset_default", "flip_default", "preventOverflow_default", "arrow_default", "hide_default", "createPopper", "popperGenerator", "React", "ReactDOM", "import_jsx_runtime", "getContainer", "container", "Portal", "props", "forwardedRef", "children", "disablePortal", "mountNode", "setMountNode", "handleRef", "useForkRef", "getReactElementRef", "useEnhancedEffect_default", "setRef", "_jsx", "Portal_default", "getPopperUtilityClass", "slot", "generateUtilityClass", "popperClasses", "generateUtilityClasses", "import_jsx_runtime", "flipPlacement", "placement", "direction", "resolveAnchorEl", "anchorEl", "isHTMLElement", "element", "useUtilityClasses", "ownerState", "classes", "composeClasses", "getPopperUtilityClass", "defaultPopperOptions", "PopperTooltip", "props", "forwardedRef", "_a", "anchorEl", "children", "direction", "disablePortal", "modifiers", "open", "initialPlacement", "popperOptions", "popperRefProp", "slotProps", "slots", "TransitionProps", "ownerStateProp", "other", "tooltipRef", "ownRef", "useForkRef", "popperRef", "handlePopperRef", "handlePopperRefRef", "useEnhancedEffect_default", "rtlPlacement", "flipPlacement", "placement", "setPlacement", "resolvedAnchorElement", "setResolvedAnchorElement", "resolveAnchorEl", "handlePopperUpdate", "data", "popperModifiers", "state", "popper", "createPopper", "childProps", "Root", "rootProps", "useSlotProps_default", "_jsx", "Popper", "containerProp", "keepMounted", "style", "transition", "exited", "setExited", "handleEnter", "handleExited", "container", "resolvedAnchorEl", "isHTMLElement", "ownerDocument", "display", "transitionProps", "Portal_default", "BasePopper_default", "import_jsx_runtime", "PopperRoot", "styled_default", "BasePopper_default", "props", "styles", "Popper", "inProps", "ref", "_a", "isRtl", "useRtl", "useDefaultProps", "anchorEl", "component", "components", "componentsProps", "container", "disablePortal", "keepMounted", "modifiers", "open", "placement", "popperOptions", "popperRef", "transition", "slots", "slotProps", "other", "RootComponent", "otherProps", "_jsx", "Popper_default", "React", "React", "import_jsx_runtime", "getStyleValue", "value", "styles", "isEmpty", "obj", "TextareaAutosize", "props", "forwardedRef", "onChange", "maxRows", "minRows", "style", "other", "isControlled", "inputRef", "handleRef", "useForkRef", "heightRef", "shadowRef", "calculateTextareaStyles", "input", "computedStyle", "ownerWindow", "inputShallow", "boxSizing", "padding", "border", "innerHeight", "singleRowHeight", "outerHeight", "outerHeightStyle", "overflowing", "syncHeight", "textareaStyles", "useEnhancedEffect_default", "handleResize", "rAF", "rAFHandleResize", "debounceHandleResize", "debounce", "containerWindow", "resizeObserver", "_jsxs", "_jsx", "event", "TextareaAutosize_default", "isHostComponent", "element", "isHostComponent_default", "formControlState", "props", "states", "muiFormControl", "acc", "state", "React", "FormControlContext", "FormControlContext_default", "React", "useFormControl", "FormControlContext_default", "hasValue", "value", "isFilled", "obj", "SSR", "isAdornedStart", "getInputBaseUtilityClass", "slot", "generateUtilityClass", "inputBaseClasses", "generateUtilityClasses", "inputBaseClasses_default", "import_jsx_runtime", "_InputGlobalStyles", "rootOverridesResolver", "props", "styles", "ownerState", "capitalize_default", "inputOverridesResolver", "useUtilityClasses", "classes", "color", "disabled", "error", "endAdornment", "focused", "formControl", "fullWidth", "hiddenLabel", "multiline", "readOnly", "size", "startAdornment", "type", "slots", "composeClasses", "getInputBaseUtilityClass", "InputBaseRoot", "styled_default", "memoTheme_default", "theme", "inputBaseClasses_default", "InputBaseInput", "light", "placeholder", "placeholderHidden", "placeholderVisible", "InputGlobalStyles", "globalCss", "InputBase", "inProps", "ref", "_a", "useDefaultProps", "ariaDescribedby", "autoComplete", "autoFocus", "className", "components", "componentsProps", "defaultValue", "disableInjectingGlobalStyles", "id", "inputComponent", "inputPropsProp", "inputRefProp", "margin", "maxRows", "minRows", "name", "onBlur", "onChange", "onClick", "onFocus", "onKeyDown", "onKeyUp", "renderSuffix", "rows", "slotProps", "valueProp", "other", "value", "isControlled", "inputRef", "handleInputRefWarning", "instance", "handleInputRef", "useForkRef_default", "setFocused", "muiFormControl", "useFormControl", "fcs", "formControlState", "onFilled", "onEmpty", "checkDirty", "obj", "isFilled", "useEnhancedEffect_default", "handleFocus", "event", "handleBlur", "handleChange", "args", "element", "formatMuiErrorMessage", "handleClick", "InputComponent", "inputProps", "TextareaAutosize_default", "handleAutoFill", "Root", "rootProps", "Input", "_jsxs", "_jsx", "isHostComponent_default", "clsx_default", "FormControlContext_default", "InputBase_default", "getInputUtilityClass", "slot", "generateUtilityClass", "inputClasses", "inputBaseClasses_default", "generateUtilityClasses", "inputClasses_default", "getOutlinedInputUtilityClass", "slot", "generateUtilityClass", "outlinedInputClasses", "inputBaseClasses_default", "generateUtilityClasses", "outlinedInputClasses_default", "getFilledInputUtilityClass", "slot", "generateUtilityClass", "filledInputClasses", "inputBaseClasses_default", "generateUtilityClasses", "filledInputClasses_default", "React", "import_jsx_runtime", "ArrowDropDown_default", "createSvgIcon", "_jsx", "React", "React", "import_jsx_runtime", "styles", "Fade", "props", "ref", "theme", "useTheme", "defaultTimeout", "addEndListener", "appear", "children", "easing", "inProp", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent", "Transition_default", "other", "enableStrictModeCompat", "nodeRef", "handleRef", "useForkRef_default", "getReactElementRef", "normalizedTransitionCallback", "callback", "maybeIsAppearing", "node", "handleEntering", "handleEnter", "isAppearing", "reflow", "transitionProps", "getTransitionProps", "handleEntered", "handleExiting", "handleExit", "handleExited", "_jsx", "next", "state", "childProps", "Fade_default", "getBackdropUtilityClass", "slot", "generateUtilityClass", "backdropClasses", "generateUtilityClasses", "import_jsx_runtime", "removeOwnerState", "props", "ownerState", "rest", "useUtilityClasses", "classes", "invisible", "composeClasses", "getBackdropUtilityClass", "BackdropRoot", "styled_default", "styles", "Backdrop", "inProps", "ref", "useDefaultProps", "children", "className", "component", "open", "components", "componentsProps", "slotProps", "slots", "TransitionComponentProp", "transitionDuration", "other", "backwardCompatibleSlots", "backwardCompatibleSlotProps", "externalForwardedProps", "RootSlot", "rootProps", "useSlot", "clsx_default", "TransitionSlot", "transitionProps", "Fade_default", "transitionPropsRemoved", "_jsx", "Backdrop_default", "React", "useBadge", "parameters", "badgeContentProp", "invisibleProp", "maxProp", "showZero", "prevProps", "usePreviousProps_default", "invisible", "badgeContent", "max", "displayValue", "useBadge_default", "getBadgeUtilityClass", "slot", "generateUtilityClass", "badgeClasses", "generateUtilityClasses", "badgeClasses_default", "import_jsx_runtime", "RADIUS_STANDARD", "RADIUS_DOT", "useUtilityClasses", "ownerState", "color", "anchorOrigin", "invisible", "overlap", "variant", "classes", "slots", "capitalize_default", "composeClasses", "getBadgeUtilityClass", "BadgeRoot", "styled_default", "props", "styles", "BadgeBadge", "memoTheme_default", "theme", "createSimplePaletteValueFilter", "badgeClasses_default", "getAnchorOrigin", "_a", "_b", "Badge", "inProps", "ref", "_c", "_d", "_e", "_f", "useDefaultProps", "anchorOriginProp", "className", "classesProp", "component", "components", "componentsProps", "children", "overlapProp", "colorProp", "invisibleProp", "maxProp", "badgeContentProp", "slotProps", "showZero", "variantProp", "other", "badgeContent", "invisibleFromHook", "max", "displayValueFromHook", "useBadge_default", "prevProps", "usePreviousProps_default", "anchorOriginPropProp", "displayValue", "RootSlot", "BadgeSlot", "rootSlotProps", "badgeSlotProps", "rootProps", "useSlotProps_default", "clsx_default", "badgeProps", "_jsxs", "_jsx", "Badge_default", "boxClasses", "generateUtilityClasses", "boxClasses_default", "defaultTheme", "createTheme", "Box", "createBox", "identifier_default", "boxClasses_default", "ClassNameGenerator_default", "Box_default", "React", "import_react_is", "React", "React", "import_jsx_runtime", "MoreHoriz_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "BreadcrumbCollapsedButton", "styled_default", "ButtonBase_default", "memoTheme_default", "theme", "emphasize", "BreadcrumbCollapsedIcon", "MoreHoriz_default", "BreadcrumbCollapsed", "props", "slots", "slotProps", "otherProps", "ownerState", "_jsx", "BreadcrumbCollapsed_default", "getBreadcrumbsUtilityClass", "slot", "generateUtilityClass", "breadcrumbsClasses", "generateUtilityClasses", "breadcrumbsClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "composeClasses", "getBreadcrumbsUtilityClass", "BreadcrumbsRoot", "styled_default", "Typography_default", "props", "styles", "breadcrumbsClasses_default", "BreadcrumbsOl", "BreadcrumbsSeparator", "insertSeparators", "items", "className", "separator", "acc", "current", "index", "_jsx", "Breadcrumbs", "inProps", "ref", "useDefaultProps", "children", "component", "slots", "slotProps", "expandText", "itemsAfterCollapse", "itemsBeforeCollapse", "maxItems", "other", "expanded", "setExpanded", "collapsedIconSlotProps", "useSlotProps_default", "listRef", "renderItemsBeforeAndAfter", "allItems", "handleClickExpand", "focusable", "BreadcrumbCollapsed_default", "child", "clsx_default", "Breadcrumbs_default", "React", "getButtonUtilityClass", "slot", "generateUtilityClass", "buttonClasses", "generateUtilityClasses", "buttonClasses_default", "React", "ButtonGroupContext", "ButtonGroupContext_default", "React", "ButtonGroupButtonContext", "ButtonGroupButtonContext_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "color", "disableElevation", "fullWidth", "size", "variant", "classes", "slots", "capitalize_default", "composedClasses", "composeClasses", "getButtonUtilityClass", "commonIconStyles", "ButtonRoot", "styled_default", "ButtonBase_default", "prop", "rootShouldForwardProp_default", "props", "styles", "memoTheme_default", "theme", "inheritContainedBackgroundColor", "inheritContainedHoverBackgroundColor", "buttonClasses_default", "createSimplePaletteValueFilter", "alpha", "ButtonStartIcon", "ButtonEndIcon", "Button", "inProps", "ref", "contextProps", "ButtonGroupContext_default", "buttonGroupButtonContextPositionClassName", "ButtonGroupButtonContext_default", "resolvedProps", "resolveProps", "useDefaultProps", "children", "component", "className", "disabled", "disableFocusRipple", "endIconProp", "focusVisibleClassName", "startIconProp", "type", "other", "startIcon", "_jsx", "endIcon", "positionClassName", "_jsxs", "clsx_default", "Button_default", "React", "React", "getSwitchBaseUtilityClass", "slot", "generateUtilityClass", "switchBaseClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "checked", "disabled", "edge", "slots", "capitalize_default", "composeClasses", "getSwitchBaseUtilityClass", "SwitchBaseRoot", "styled_default", "ButtonBase_default", "SwitchBaseInput", "rootShouldForwardProp_default", "SwitchBase", "props", "ref", "autoFocus", "checkedProp", "checkedIcon", "className", "defaultChecked", "disabledProp", "disableFocusRipple", "icon", "id", "inputProps", "inputRef", "name", "onBlur", "onChange", "onFocus", "readOnly", "required", "tabIndex", "type", "value", "other", "setCheckedState", "useControlled_default", "muiFormControl", "useFormControl", "handleFocus", "event", "handleBlur", "handleInputChange", "newChecked", "hasLabelFor", "_jsxs", "clsx_default", "_jsx", "SwitchBase_default", "React", "import_jsx_runtime", "CheckBoxOutlineBlank_default", "createSvgIcon", "_jsx", "React", "import_jsx_runtime", "CheckBox_default", "createSvgIcon", "_jsx", "React", "import_jsx_runtime", "IndeterminateCheckBox_default", "createSvgIcon", "_jsx", "getCheckboxUtilityClass", "slot", "generateUtilityClass", "checkboxClasses", "generateUtilityClasses", "checkboxClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "indeterminate", "color", "size", "slots", "capitalize_default", "composedClasses", "composeClasses", "getCheckboxUtilityClass", "CheckboxRoot", "styled_default", "SwitchBase_default", "prop", "rootShouldForwardProp_default", "props", "styles", "memoTheme_default", "theme", "alpha", "createSimplePaletteValueFilter", "checkboxClasses_default", "defaultCheckedIcon", "_jsx", "CheckBox_default", "defaultIcon", "CheckBoxOutlineBlank_default", "defaultIndeterminateIcon", "IndeterminateCheckBox_default", "Checkbox", "inProps", "ref", "_a", "_b", "useDefaultProps", "checkedIcon", "iconProp", "indeterminateIconProp", "inputProps", "disableRipple", "className", "other", "icon", "indeterminateIcon", "clsx_default", "Checkbox_default", "React", "getCircularProgressUtilityClass", "slot", "generateUtilityClass", "circularProgressClasses", "generateUtilityClasses", "import_jsx_runtime", "SIZE", "circularRotateKeyframe", "keyframes", "circularDashKeyframe", "rotateAnimation", "css", "dashAnimation", "useUtilityClasses", "ownerState", "classes", "variant", "color", "disableShrink", "slots", "capitalize_default", "composeClasses", "getCircularProgressUtilityClass", "CircularProgressRoot", "styled_default", "props", "styles", "memoTheme_default", "theme", "createSimplePaletteValueFilter", "CircularProgressSVG", "CircularProgressCircle", "CircularProgress", "inProps", "ref", "useDefaultProps", "className", "size", "style", "thickness", "value", "other", "circleStyle", "rootStyle", "rootProps", "circumference", "_jsx", "clsx_default", "CircularProgress_default", "React", "import_jsx_runtime", "mapEventPropToEvent", "eventProp", "clickedRootScrollbar", "event", "doc", "ClickAwayListener", "props", "children", "disableReactTree", "mouseEvent", "onClickAway", "touchEvent", "movedRef", "nodeRef", "activatedRef", "syntheticEventRef", "handleRef", "useForkRef", "getReactElementRef", "handleClickAway", "useEventCallback_default", "insideReactTree", "ownerDocument", "insideDOM", "createHandleSynthetic", "handlerName", "childrenPropsHandler", "childrenProps", "mappedTouchEvent", "handleTouchMove", "mappedMouseEvent", "_jsx", "React", "isOverflowing", "container", "doc", "ownerDocument", "ownerWindow", "ariaHidden", "element", "hide", "getPaddingRight", "isAriaHiddenForbiddenOnElement", "isForbiddenTagName", "isInputHidden", "ariaHiddenSiblings", "mountElement", "currentElement", "elementsToExclude", "blacklist", "isNotExcludedElement", "isNotForbiddenElement", "findIndexOf", "items", "callback", "idx", "item", "index", "handleContainer", "containerInfo", "props", "restoreStyle", "scrollbarSize", "getScrollbarSize", "fixedElements", "scrollContainer", "parent", "containerWindow", "value", "el", "property", "getHiddenSiblings", "hiddenSiblings", "ModalManager", "modal", "modalIndex", "containerIndex", "ariaHiddenState", "nextTop", "React", "React", "import_jsx_runtime", "candidatesSelector", "getTabIndex", "node", "tabindexAttr", "isNonTabbableRadio", "getRadio", "selector", "roving", "isNodeMatchingSelectorFocusable", "defaultGetTabbable", "root", "regularTabNodes", "orderedTabNodes", "i", "nodeTabIndex", "a", "b", "defaultIsEnabled", "FocusTrap", "props", "children", "disableAutoFocus", "disableEnforceFocus", "disableRestoreFocus", "getTabbable", "isEnabled", "open", "ignoreNextEnforceFocus", "sentinelStart", "sentinelEnd", "nodeToRestore", "reactFocusEventTarget", "activated", "rootRef", "handleRef", "useForkRef", "getReactElementRef", "lastKeydown", "doc", "ownerDocument", "loopFocus", "nativeEvent", "contain", "_a", "_b", "rootElement", "tabbable", "isShiftTab", "focusNext", "focusPrevious", "interval", "onFocus", "event", "childrenPropsHandler", "handleFocusSentinel", "_jsxs", "_jsx", "FocusTrap_default", "React", "getContainer", "container", "getHasTransition", "children", "manager", "ModalManager", "useModal", "parameters", "disableEscapeKeyDown", "disableScrollLock", "closeAfterTransition", "onTransitionEnter", "onTransitionExited", "onClose", "open", "rootRef", "modal", "mountNodeRef", "modalRef", "handleRef", "useForkRef", "exited", "setExited", "hasTransition", "ariaHiddenProp", "getDoc", "ownerDocument", "getModal", "handleMounted", "handleOpen", "useEventCallback_default", "resolvedContainer", "isTopModal", "handlePortalRef", "node", "ariaHidden", "handleClose", "createHandleKeyDown", "otherHandlers", "event", "_a", "createHandleBackdropClick", "propsEventHandlers", "extractEventHandlers_default", "externalEventHandlers", "handleEnter", "handleExited", "createChainedFunction", "useModal_default", "getModalUtilityClass", "slot", "generateUtilityClass", "modalClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "open", "exited", "classes", "composeClasses", "getModalUtilityClass", "ModalRoot", "styled_default", "props", "styles", "memoTheme_default", "theme", "ModalBackdrop", "Backdrop_default", "Modal", "inProps", "ref", "useDefaultProps", "BackdropComponent", "BackdropProps", "classesProp", "className", "closeAfterTransition", "children", "container", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "onBackdropClick", "onClose", "onTransitionEnter", "onTransitionExited", "slotProps", "slots", "other", "propsWithDefaults", "getRootProps", "getBackdropProps", "getTransitionProps", "portalRef", "isTopModal", "hasTransition", "useModal_default", "childProps", "onEnter", "onExited", "externalForwardedProps", "RootSlot", "rootProps", "useSlot", "clsx_default", "BackdropSlot", "backdropProps", "otherHandlers", "event", "backdropRef", "useForkRef_default", "_jsx", "Portal_default", "_jsxs", "FocusTrap_default", "Modal_default", "getDialogUtilityClass", "slot", "generateUtilityClass", "dialogClasses", "generateUtilityClasses", "dialogClasses_default", "React", "DialogContext", "DialogContext_default", "import_jsx_runtime", "DialogBackdrop", "styled_default", "Backdrop_default", "props", "styles", "useUtilityClasses", "ownerState", "classes", "scroll", "maxWidth", "fullWidth", "fullScreen", "slots", "capitalize_default", "composeClasses", "getDialogUtilityClass", "DialogRoot", "Modal_default", "DialogContainer", "DialogPaper", "Paper_default", "memoTheme_default", "theme", "dialogClasses_default", "Dialog", "inProps", "ref", "useDefaultProps", "useTheme", "defaultTransitionDuration", "ariaDescribedby", "ariaLabelledbyProp", "ariaModal", "BackdropComponent", "BackdropProps", "children", "className", "disableEscapeKeyDown", "onBackdropClick", "onClick", "onClose", "open", "PaperComponent", "PaperProps", "TransitionComponent", "Fade_default", "transitionDuration", "TransitionProps", "other", "backdropClick", "handleMouseDown", "event", "handleBackdropClick", "ariaLabelledby", "useId", "dialogContextValue", "_jsx", "clsx_default", "DialogContext_default", "Dialog_default", "React", "getDialogActionsUtilityClass", "slot", "generateUtilityClass", "dialogActionsClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "disableSpacing", "composeClasses", "getDialogActionsUtilityClass", "DialogActionsRoot", "styled_default", "props", "styles", "DialogActions", "inProps", "ref", "useDefaultProps", "className", "other", "_jsx", "clsx_default", "DialogActions_default", "React", "getDialogContentUtilityClass", "slot", "generateUtilityClass", "dialogContentClasses", "generateUtilityClasses", "getDialogTitleUtilityClass", "slot", "generateUtilityClass", "dialogTitleClasses", "generateUtilityClasses", "dialogTitleClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "dividers", "composeClasses", "getDialogContentUtilityClass", "DialogContentRoot", "styled_default", "props", "styles", "memoTheme_default", "theme", "dialogTitleClasses_default", "DialogContent", "inProps", "ref", "useDefaultProps", "className", "other", "_jsx", "clsx_default", "DialogContent_default", "React", "getDialogContentTextUtilityClass", "slot", "generateUtilityClass", "dialogContentTextClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "composedClasses", "composeClasses", "getDialogContentTextUtilityClass", "DialogContentTextRoot", "styled_default", "Typography_default", "prop", "rootShouldForwardProp_default", "props", "styles", "DialogContentText", "inProps", "ref", "useDefaultProps", "children", "className", "_jsx", "clsx_default", "DialogContentText_default", "React", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "composeClasses", "getDialogTitleUtilityClass", "DialogTitleRoot", "styled_default", "Typography_default", "props", "styles", "DialogTitle", "inProps", "ref", "useDefaultProps", "className", "idProp", "other", "titleId", "DialogContext_default", "_jsx", "clsx_default", "DialogTitle_default", "dividerClasses", "generateUtilityClasses", "dividerClasses_default", "React", "getFabUtilityClass", "slot", "generateUtilityClass", "fabClasses", "generateUtilityClasses", "fabClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "color", "variant", "classes", "size", "slots", "capitalize_default", "composedClasses", "composeClasses", "getFabUtilityClass", "FabRoot", "styled_default", "ButtonBase_default", "prop", "rootShouldForwardProp_default", "props", "styles", "memoTheme_default", "theme", "_a", "_b", "fabClasses_default", "createSimplePaletteValueFilter", "Fab", "inProps", "ref", "useDefaultProps", "children", "className", "component", "disabled", "disableFocusRipple", "focusVisibleClassName", "other", "_jsx", "clsx_default", "Fab_default", "React", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "disableUnderline", "startAdornment", "endAdornment", "size", "hiddenLabel", "multiline", "slots", "capitalize_default", "composedClasses", "composeClasses", "getFilledInputUtilityClass", "FilledInputRoot", "styled_default", "InputBaseRoot", "prop", "rootShouldForwardProp_default", "props", "styles", "rootOverridesResolver", "memoTheme_default", "theme", "light", "bottomLineColor", "backgroundColor", "hoverBackground", "disabledBackground", "filledInputClasses_default", "createSimplePaletteValueFilter", "color", "_a", "FilledInputInput", "InputBaseInput", "inputOverridesResolver", "FilledInput", "inProps", "ref", "_b", "_c", "_d", "useDefaultProps", "components", "componentsPropsProp", "fullWidth", "inputComponent", "slotProps", "type", "other", "filledInputComponentsProps", "componentsProps", "deepmerge", "RootSlot", "InputSlot", "_jsx", "InputBase_default", "FilledInput_default", "React", "getFormControlUtilityClasses", "slot", "generateUtilityClass", "formControlClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "margin", "fullWidth", "slots", "capitalize_default", "composeClasses", "getFormControlUtilityClasses", "FormControlRoot", "styled_default", "styles", "FormControl", "inProps", "ref", "props", "useDefaultProps", "children", "className", "color", "component", "disabled", "error", "visuallyFocused", "hiddenLabel", "required", "size", "variant", "other", "adornedStart", "setAdornedStart", "initialAdornedStart", "child", "isMuiElement_default", "input", "isAdornedStart", "filled", "setFilled", "initialFilled", "isFilled", "focusedState", "setFocused", "focused", "registerEffect", "registeredInput", "childContext", "_jsx", "FormControlContext_default", "clsx_default", "FormControl_default", "React", "getFormControlLabelUtilityClasses", "slot", "generateUtilityClass", "formControlLabelClasses", "generateUtilityClasses", "formControlLabelClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "disabled", "labelPlacement", "error", "required", "slots", "capitalize_default", "composeClasses", "getFormControlLabelUtilityClasses", "FormControlLabelRoot", "styled_default", "props", "styles", "formControlLabelClasses_default", "memoTheme_default", "theme", "AsteriskComponent", "FormControlLabel", "inProps", "ref", "_a", "useDefaultProps", "checked", "className", "componentsProps", "control", "disabledProp", "disableTypography", "inputRef", "labelProp", "name", "onChange", "requiredProp", "slotProps", "value", "other", "muiFormControl", "useFormControl", "controlProps", "key", "fcs", "formControlState", "externalForwardedProps", "TypographySlot", "typographySlotProps", "useSlot", "Typography_default", "label", "_jsx", "clsx_default", "_jsxs", "FormControlLabel_default", "React", "getFormGroupUtilityClass", "slot", "generateUtilityClass", "formGroupClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "row", "error", "composeClasses", "getFormGroupUtilityClass", "FormGroupRoot", "styled_default", "props", "styles", "FormGroup", "inProps", "ref", "useDefaultProps", "className", "other", "muiFormControl", "useFormControl", "fcs", "formControlState", "_jsx", "clsx_default", "FormGroup_default", "React", "getFormHelperTextUtilityClasses", "slot", "generateUtilityClass", "formHelperTextClasses", "generateUtilityClasses", "formHelperTextClasses_default", "import_jsx_runtime", "_span", "useUtilityClasses", "ownerState", "classes", "contained", "size", "disabled", "error", "filled", "focused", "required", "slots", "capitalize_default", "composeClasses", "getFormHelperTextUtilityClasses", "FormHelperTextRoot", "styled_default", "props", "styles", "memoTheme_default", "theme", "formHelperTextClasses_default", "FormHelperText", "inProps", "ref", "useDefaultProps", "children", "className", "component", "margin", "variant", "other", "muiFormControl", "useFormControl", "fcs", "formControlState", "_jsx", "clsx_default", "FormHelperText_default", "React", "getFormLabelUtilityClasses", "slot", "generateUtilityClass", "formLabelClasses", "generateUtilityClasses", "formLabelClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "color", "focused", "disabled", "error", "filled", "required", "slots", "capitalize_default", "composeClasses", "getFormLabelUtilityClasses", "FormLabelRoot", "styled_default", "styles", "memoTheme_default", "theme", "createSimplePaletteValueFilter", "formLabelClasses_default", "AsteriskComponent", "props", "FormLabel", "inProps", "ref", "useDefaultProps", "children", "className", "component", "other", "muiFormControl", "useFormControl", "fcs", "formControlState", "_jsxs", "clsx_default", "FormLabel_default", "React", "React", "GridContext", "GridContext_default", "getGridUtilityClass", "slot", "generateUtilityClass", "SPACINGS", "DIRECTIONS", "WRAPS", "GRID_SIZES", "gridClasses", "generateUtilityClasses", "spacing", "direction", "wrap", "size", "gridClasses_default", "import_jsx_runtime", "generateGrid", "theme", "ownerState", "size", "globalStyles", "breakpoint", "styles", "columnsBreakpointValues", "resolveBreakpointValues", "columnValue", "width", "more", "themeSpacing", "fullWidth", "generateDirection", "directionValues", "handleBreakpoints", "propValue", "output", "gridClasses_default", "extractZeroValueBreakpointKeys", "breakpoints", "values", "nonZeroKey", "key", "sortedBreakpointKeysByValue", "b", "generateRowGap", "container", "rowSpacing", "rowSpacingValues", "zeroValueBreakpointKeys", "generateColumnGap", "columnSpacing", "columnSpacingValues", "negativeValue", "resolveSpacingStyles", "spacing", "spacingStyles", "value", "GridRoot", "styled_default", "props", "direction", "item", "wrap", "zeroMinWidth", "breakpointsStyles", "resolveSpacingClasses", "classes", "className", "useUtilityClasses", "spacingClasses", "breakpointsClasses", "slots", "composeClasses", "getGridUtilityClass", "Grid", "inProps", "ref", "themeProps", "useDefaultProps", "useTheme", "extendSxProp", "columnsProp", "columnSpacingProp", "component", "rowSpacingProp", "other", "columnsContext", "GridContext_default", "columns", "breakpointsValues", "otherFiltered", "_jsx", "clsx_default", "Grid_default", "Grid2", "createGrid", "styled_default", "props", "styles", "inProps", "useDefaultProps", "Grid2_default", "React", "import_jsx_runtime", "getScale", "value", "styles", "isWebKit154", "Grow", "props", "ref", "addEndListener", "appear", "children", "easing", "inProp", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent", "Transition_default", "other", "timer", "useTimeout", "autoTimeout", "theme", "useTheme", "nodeRef", "handleRef", "useForkRef_default", "getReactElementRef", "normalizedTransitionCallback", "callback", "maybeIsAppearing", "node", "handleEntering", "handleEnter", "isAppearing", "reflow", "transitionDuration", "delay", "transitionTimingFunction", "getTransitionProps", "duration", "handleEntered", "handleExiting", "handleExit", "handleExited", "_jsx", "next", "state", "childProps", "Grow_default", "useMediaQuery", "unstable_createUseMediaQuery", "identifier_default", "useMediaQuery_default", "React", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "disableUnderline", "composedClasses", "composeClasses", "getInputUtilityClass", "InputRoot", "styled_default", "InputBaseRoot", "prop", "rootShouldForwardProp_default", "props", "styles", "rootOverridesResolver", "memoTheme_default", "theme", "bottomLineColor", "inputClasses_default", "createSimplePaletteValueFilter", "color", "InputInput", "InputBaseInput", "inputOverridesResolver", "Input", "inProps", "ref", "_a", "_b", "_c", "_d", "useDefaultProps", "components", "componentsPropsProp", "fullWidth", "inputComponent", "multiline", "slotProps", "slots", "type", "other", "inputComponentsProps", "componentsProps", "deepmerge", "RootSlot", "InputSlot", "_jsx", "InputBase_default", "Input_default", "React", "getInputLabelUtilityClasses", "slot", "generateUtilityClass", "inputLabelClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "formControl", "size", "shrink", "disableAnimation", "variant", "required", "slots", "capitalize_default", "composedClasses", "composeClasses", "getInputLabelUtilityClasses", "InputLabelRoot", "styled_default", "FormLabel_default", "prop", "rootShouldForwardProp_default", "props", "styles", "formLabelClasses_default", "memoTheme_default", "theme", "InputLabel", "inProps", "ref", "useDefaultProps", "margin", "shrinkProp", "className", "other", "muiFormControl", "useFormControl", "fcs", "formControlState", "_jsx", "clsx_default", "InputLabel_default", "React", "getLinearProgressUtilityClass", "slot", "generateUtilityClass", "linearProgressClasses", "generateUtilityClasses", "import_jsx_runtime", "TRANSITION_DURATION", "indeterminate1Keyframe", "keyframes", "indeterminate1Animation", "css", "indeterminate2Keyframe", "indeterminate2Animation", "bufferKeyframe", "bufferAnimation", "useUtilityClasses", "ownerState", "classes", "variant", "color", "slots", "capitalize_default", "composeClasses", "getLinearProgressUtilityClass", "getColorShade", "theme", "lighten", "darken", "LinearProgressRoot", "styled_default", "props", "styles", "memoTheme_default", "createSimplePaletteValueFilter", "LinearProgressDashed", "backgroundColor", "LinearProgressBar1", "LinearProgressBar2", "LinearProgress", "inProps", "ref", "useDefaultProps", "className", "value", "valueBuffer", "other", "isRtl", "useRtl", "rootProps", "inlineStyles", "transform", "_jsxs", "clsx_default", "_jsx", "LinearProgress_default", "React", "React", "ListContext", "ListContext_default", "getListUtilityClass", "slot", "generateUtilityClass", "listClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "disablePadding", "dense", "subheader", "composeClasses", "getListUtilityClass", "ListRoot", "styled_default", "props", "styles", "List", "inProps", "ref", "useDefaultProps", "children", "className", "component", "other", "context", "_jsx", "ListContext_default", "_jsxs", "clsx_default", "List_default", "React", "getListItemUtilityClass", "slot", "generateUtilityClass", "listItemClasses", "generateUtilityClasses", "React", "getListItemButtonUtilityClass", "slot", "generateUtilityClass", "listItemButtonClasses", "generateUtilityClasses", "listItemButtonClasses_default", "import_jsx_runtime", "overridesResolver", "props", "styles", "ownerState", "useUtilityClasses", "alignItems", "classes", "dense", "disabled", "disableGutters", "divider", "selected", "composedClasses", "composeClasses", "getListItemButtonUtilityClass", "ListItemButtonRoot", "styled_default", "ButtonBase_default", "prop", "rootShouldForwardProp_default", "memoTheme_default", "theme", "listItemButtonClasses_default", "alpha", "ListItemButton", "inProps", "ref", "useDefaultProps", "autoFocus", "component", "children", "focusVisibleClassName", "className", "other", "context", "ListContext_default", "childContext", "listItemRef", "useEnhancedEffect_default", "handleRef", "useForkRef_default", "_jsx", "clsx_default", "ListItemButton_default", "React", "getListItemSecondaryActionClassesUtilityClass", "slot", "generateUtilityClass", "listItemSecondaryActionClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "disableGutters", "classes", "composeClasses", "getListItemSecondaryActionClassesUtilityClass", "ListItemSecondaryActionRoot", "styled_default", "props", "styles", "ListItemSecondaryAction", "inProps", "ref", "useDefaultProps", "className", "other", "context", "ListContext_default", "_jsx", "clsx_default", "ListItemSecondaryAction_default", "import_jsx_runtime", "overridesResolver", "props", "styles", "ownerState", "useUtilityClasses", "alignItems", "classes", "dense", "disableGutters", "disablePadding", "divider", "hasSecondaryAction", "composeClasses", "getListItemUtilityClass", "ListItemRoot", "styled_default", "memoTheme_default", "theme", "listItemButtonClasses_default", "ListItemContainer", "ListItem", "inProps", "ref", "useDefaultProps", "childrenProp", "className", "componentProp", "components", "componentsProps", "ContainerComponent", "ContainerClassName", "ContainerProps", "secondaryAction", "slotProps", "slots", "other", "context", "ListContext_default", "childContext", "listItemRef", "children", "isMuiElement_default", "handleRef", "useForkRef_default", "Root", "rootProps", "componentProps", "clsx_default", "Component", "_jsx", "_jsxs", "isHostComponent_default", "ListItemSecondaryAction_default", "ListItem_default", "React", "getListItemIconUtilityClass", "slot", "generateUtilityClass", "listItemIconClasses", "generateUtilityClasses", "listItemIconClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "alignItems", "classes", "composeClasses", "getListItemIconUtilityClass", "ListItemIconRoot", "styled_default", "props", "styles", "memoTheme_default", "theme", "ListItemIcon", "inProps", "ref", "useDefaultProps", "className", "other", "context", "ListContext_default", "_jsx", "clsx_default", "ListItemIcon_default", "React", "getListItemTextUtilityClass", "slot", "generateUtilityClass", "listItemTextClasses", "generateUtilityClasses", "listItemTextClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "inset", "primary", "secondary", "dense", "composeClasses", "getListItemTextUtilityClass", "ListItemTextRoot", "styled_default", "props", "styles", "listItemTextClasses_default", "typographyClasses_default", "ListItemText", "inProps", "ref", "useDefaultProps", "children", "className", "disableTypography", "primaryProp", "primaryTypographyProps", "secondaryProp", "secondaryTypographyProps", "other", "ListContext_default", "Typography_default", "_jsx", "_jsxs", "clsx_default", "ListItemText_default", "React", "import_react_is", "React", "import_react_is", "getScrollbarSize_default", "getScrollbarSize", "import_jsx_runtime", "nextItem", "list", "item", "disableListWrap", "previousItem", "textCriteriaMatches", "nextFocus", "textCriteria", "text", "moveFocus", "currentFocus", "disabledItemsFocusable", "traversalFunction", "wrappedOnce", "nextFocusDisabled", "MenuList", "props", "ref", "actions", "autoFocus", "autoFocusItem", "children", "className", "onKeyDown", "variant", "other", "listRef", "textCriteriaRef", "useEnhancedEffect_default", "containerElement", "direction", "noExplicitWidth", "scrollbarSize", "getScrollbarSize_default", "ownerWindow_default", "handleKeyDown", "event", "key", "ownerDocument_default", "criteria", "lowerKey", "currTime", "keepFocusOnCurrent", "handleRef", "useForkRef_default", "activeItemIndex", "child", "index", "items", "newChildProps", "_jsx", "List_default", "MenuList_default", "React", "getPopoverUtilityClass", "slot", "generateUtilityClass", "popoverClasses", "generateUtilityClasses", "import_jsx_runtime", "getOffsetTop", "rect", "vertical", "offset", "getOffsetLeft", "horizontal", "getTransformOriginValue", "transformOrigin", "n", "resolveAnchorEl", "anchorEl", "useUtilityClasses", "ownerState", "classes", "composeClasses", "getPopoverUtilityClass", "PopoverRoot", "styled_default", "Modal_default", "props", "styles", "PopoverPaper", "Paper_default", "Popover", "inProps", "ref", "_a", "useDefaultProps", "action", "anchorOrigin", "anchorPosition", "anchorReference", "children", "className", "containerProp", "elevation", "marginThreshold", "open", "PaperPropsProp", "slots", "slotProps", "TransitionComponent", "Grow_default", "transitionDurationProp", "onEntering", "TransitionProps", "disableScrollLock", "other", "externalPaperSlotProps", "paperRef", "getAnchorOffset", "resolvedAnchorEl", "anchorRect", "ownerDocument_default", "getTransformOrigin", "elemRect", "getPositioningStyle", "element", "elemTransformOrigin", "anchorOffset", "top", "left", "bottom", "right", "containerWindow", "ownerWindow_default", "heightThreshold", "widthThreshold", "diff", "isPositioned", "setIsPositioned", "setPositioningStyles", "positioning", "handleEntering", "isAppearing", "handleExited", "handleResize", "debounce_default", "transitionDuration", "container", "externalForwardedProps", "PaperSlot", "paperProps", "useSlot", "clsx_default", "RootSlot", "rootSlotPropsProp", "rootProps", "handlePaperRef", "useForkRef_default", "_jsx", "isHostComponent_default", "Popover_default", "getMenuUtilityClass", "slot", "generateUtilityClass", "menuClasses", "generateUtilityClasses", "import_jsx_runtime", "RTL_ORIGIN", "LTR_ORIGIN", "useUtilityClasses", "ownerState", "classes", "composeClasses", "getMenuUtilityClass", "MenuRoot", "styled_default", "Popover_default", "prop", "rootShouldForwardProp_default", "props", "styles", "MenuPaper", "PopoverPaper", "MenuMenuList", "MenuList_default", "Menu", "inProps", "ref", "_a", "_b", "useDefaultProps", "autoFocus", "children", "className", "disableAutoFocusItem", "MenuListProps", "onClose", "open", "PaperProps", "PopoverClasses", "transitionDuration", "onEntering", "TransitionProps", "variant", "slots", "slotProps", "other", "isRtl", "useRtl", "autoFocusItem", "menuListActionsRef", "handleEntering", "element", "isAppearing", "handleListKeyDown", "event", "activeItemIndex", "child", "index", "PaperSlot", "paperExternalSlotProps", "rootSlotProps", "useSlotProps_default", "paperSlotProps", "_jsx", "clsx_default", "Menu_default", "React", "getMenuItemUtilityClass", "slot", "generateUtilityClass", "menuItemClasses", "generateUtilityClasses", "menuItemClasses_default", "import_jsx_runtime", "overridesResolver", "props", "styles", "ownerState", "useUtilityClasses", "disabled", "dense", "divider", "disableGutters", "selected", "classes", "composedClasses", "composeClasses", "getMenuItemUtilityClass", "MenuItemRoot", "styled_default", "ButtonBase_default", "prop", "rootShouldForwardProp_default", "memoTheme_default", "theme", "menuItemClasses_default", "alpha", "dividerClasses_default", "listItemTextClasses_default", "listItemIconClasses_default", "MenuItem", "inProps", "ref", "useDefaultProps", "autoFocus", "component", "focusVisibleClassName", "role", "tabIndexProp", "className", "other", "context", "ListContext_default", "childContext", "menuItemRef", "useEnhancedEffect_default", "handleRef", "useForkRef_default", "tabIndex", "_jsx", "clsx_default", "MenuItem_default", "React", "getNativeSelectUtilityClasses", "slot", "generateUtilityClass", "nativeSelectClasses", "generateUtilityClasses", "nativeSelectClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "variant", "disabled", "multiple", "open", "error", "slots", "capitalize_default", "composeClasses", "getNativeSelectUtilityClasses", "StyledSelectSelect", "styled_default", "theme", "nativeSelectClasses_default", "NativeSelectSelect", "rootShouldForwardProp_default", "props", "styles", "StyledSelectIcon", "NativeSelectIcon", "NativeSelectInput", "ref", "className", "IconComponent", "inputRef", "other", "_jsxs", "_jsx", "clsx_default", "NativeSelectInput_default", "React", "React", "import_jsx_runtime", "_span", "NotchedOutlineRoot", "styled_default", "rootShouldForwardProp_default", "NotchedOutlineLegend", "memoTheme_default", "theme", "ownerState", "NotchedOutline", "props", "children", "classes", "className", "label", "notched", "other", "withLabel", "_jsx", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "composedClasses", "composeClasses", "getOutlinedInputUtilityClass", "OutlinedInputRoot", "styled_default", "InputBaseRoot", "prop", "rootShouldForwardProp_default", "rootOverridesResolver", "memoTheme_default", "theme", "borderColor", "outlinedInputClasses_default", "createSimplePaletteValueFilter", "color", "size", "NotchedOutlineRoot", "NotchedOutline", "props", "styles", "OutlinedInputInput", "InputBaseInput", "inputOverridesResolver", "OutlinedInput", "inProps", "ref", "_a", "_b", "_c", "_d", "_React$Fragment", "useDefaultProps", "components", "fullWidth", "inputComponent", "label", "multiline", "notched", "slots", "type", "other", "muiFormControl", "useFormControl", "fcs", "formControlState", "RootSlot", "InputSlot", "_jsx", "InputBase_default", "state", "_jsxs", "OutlinedInput_default", "React", "React", "React", "import_jsx_runtime", "RadioButtonUnchecked_default", "createSvgIcon", "_jsx", "React", "import_jsx_runtime", "RadioButtonChecked_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "RadioButtonIconRoot", "styled_default", "rootShouldForwardProp_default", "RadioButtonIconBackground", "RadioButtonUnchecked_default", "RadioButtonIconDot", "RadioButtonChecked_default", "memoTheme_default", "theme", "RadioButtonIcon", "props", "checked", "classes", "fontSize", "ownerState", "_jsxs", "_jsx", "RadioButtonIcon_default", "React", "React", "RadioGroupContext", "RadioGroupContext_default", "useRadioGroup", "RadioGroupContext_default", "getRadioUtilityClass", "slot", "generateUtilityClass", "radioClasses", "generateUtilityClasses", "radioClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "color", "size", "slots", "capitalize_default", "composeClasses", "getRadioUtilityClass", "RadioRoot", "styled_default", "SwitchBase_default", "prop", "rootShouldForwardProp_default", "props", "styles", "memoTheme_default", "theme", "radioClasses_default", "alpha", "createSimplePaletteValueFilter", "areEqualValues", "a", "b", "defaultCheckedIcon", "_jsx", "RadioButtonIcon_default", "defaultIcon", "Radio", "inProps", "ref", "_a", "_b", "useDefaultProps", "checkedProp", "checkedIcon", "icon", "nameProp", "onChangeProp", "className", "disabledProp", "disableRipple", "other", "muiFormControl", "useFormControl", "disabled", "radioGroup", "useRadioGroup", "checked", "onChange", "createChainedFunction_default", "name", "clsx_default", "Radio_default", "React", "React", "import_react_is", "getSelectUtilityClasses", "slot", "generateUtilityClass", "selectClasses", "generateUtilityClasses", "selectClasses_default", "import_jsx_runtime", "_span", "SelectSelect", "styled_default", "StyledSelectSelect", "props", "styles", "ownerState", "selectClasses_default", "SelectIcon", "StyledSelectIcon", "capitalize_default", "SelectNativeInput", "prop", "slotShouldForwardProp_default", "areEqualValues", "a", "b", "isEmpty", "display", "useUtilityClasses", "classes", "variant", "disabled", "multiple", "open", "error", "slots", "composeClasses", "getSelectUtilityClasses", "SelectInput", "ref", "_a", "ariaDescribedby", "ariaLabel", "autoFocus", "autoWidth", "children", "className", "defaultOpen", "defaultValue", "displayEmpty", "IconComponent", "inputRefProp", "labelId", "MenuProps", "name", "onBlur", "onChange", "onClose", "onFocus", "onOpen", "openProp", "readOnly", "renderValue", "SelectDisplayProps", "tabIndexProp", "type", "valueProp", "other", "value", "setValueState", "useControlled_default", "openState", "setOpenState", "inputRef", "displayRef", "displayNode", "setDisplayNode", "isOpenControlled", "menuMinWidthState", "setMenuMinWidthState", "handleRef", "useForkRef_default", "handleDisplayRef", "node", "anchorElement", "label", "ownerDocument_default", "handler", "update", "event", "handleMouseDown", "handleClose", "childrenArray", "handleChange", "child", "childItem", "handleItemClick", "newValue", "itemIndex", "nativeEvent", "clonedEvent", "handleKeyDown", "handleBlur", "displaySingle", "displayMultiple", "computeDisplay", "foundMatch", "isFilled", "items", "selected", "formatMuiErrorMessage", "v", "output", "index", "menuMinWidth", "tabIndex", "buttonId", "paperProps", "listboxId", "useId", "_jsxs", "_jsx", "clsx_default", "Menu_default", "SelectInput_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "styledRootConfig", "props", "styles", "prop", "rootShouldForwardProp_default", "StyledInput", "styled_default", "Input_default", "StyledOutlinedInput", "OutlinedInput_default", "StyledFilledInput", "FilledInput_default", "Select", "inProps", "ref", "useDefaultProps", "autoWidth", "children", "classesProp", "className", "defaultOpen", "displayEmpty", "IconComponent", "ArrowDropDown_default", "id", "input", "inputProps", "label", "labelId", "MenuProps", "multiple", "native", "onClose", "onOpen", "open", "renderValue", "SelectDisplayProps", "variantProp", "other", "inputComponent", "NativeSelectInput_default", "SelectInput_default", "muiFormControl", "useFormControl", "fcs", "formControlState", "variant", "root", "restOfClasses", "InputComponent", "_jsx", "inputComponentRef", "useForkRef_default", "getReactElementRef", "deepmerge", "clsx_default", "Select_default", "React", "React", "useSnackbar", "parameters", "autoHideDuration", "disableWindowBlurListener", "onClose", "open", "resumeHideDuration", "timerAutoHide", "useTimeout", "handleKeyDown", "nativeEvent", "handleClose", "useEventCallback_default", "event", "reason", "setAutoHideTimer", "autoHideDurationParam", "handleClickAway", "handlePause", "handleResume", "createHandleBlur", "otherHandlers", "onBlurCallback", "createHandleFocus", "onFocusCallback", "createMouseEnter", "onMouseEnterCallback", "createMouseLeave", "onMouseLeaveCallback", "externalProps", "externalEventHandlers", "extractEventHandlers_default", "useSnackbar_default", "React", "getSnackbarContentUtilityClass", "slot", "generateUtilityClass", "snackbarContentClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "composeClasses", "getSnackbarContentUtilityClass", "SnackbarContentRoot", "styled_default", "Paper_default", "props", "styles", "memoTheme_default", "theme", "emphasis", "backgroundColor", "emphasize", "SnackbarContentMessage", "SnackbarContentAction", "SnackbarContent", "inProps", "ref", "useDefaultProps", "action", "className", "message", "role", "other", "_jsxs", "clsx_default", "_jsx", "SnackbarContent_default", "getSnackbarUtilityClass", "slot", "generateUtilityClass", "snackbarClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "anchorOrigin", "slots", "capitalize_default", "composeClasses", "getSnackbarUtilityClass", "SnackbarRoot", "styled_default", "props", "styles", "memoTheme_default", "theme", "Snackbar", "inProps", "ref", "useDefaultProps", "useTheme", "defaultTransitionDuration", "action", "vertical", "horizontal", "autoHideDuration", "children", "className", "ClickAwayListenerProps", "ContentProps", "disableWindowBlurListener", "message", "onBlur", "onClose", "onFocus", "onMouseEnter", "onMouseLeave", "open", "resumeHideDuration", "TransitionComponent", "Grow_default", "transitionDuration", "onEnter", "onExited", "TransitionProps", "other", "getRootProps", "onClickAway", "useSnackbar_default", "exited", "setExited", "rootProps", "useSlotProps_default", "handleExited", "node", "handleEnter", "isAppearing", "_jsx", "ClickAwayListener", "SnackbarContent_default", "Snackbar_default", "React", "getTooltipUtilityClass", "slot", "generateUtilityClass", "tooltipClasses", "generateUtilityClasses", "tooltipClasses_default", "import_jsx_runtime", "round", "value", "useUtilityClasses", "ownerState", "classes", "disableInteractive", "arrow", "touch", "placement", "slots", "capitalize_default", "composeClasses", "getTooltipUtilityClass", "TooltipPopper", "styled_default", "Popper_default", "props", "styles", "memoTheme_default", "theme", "open", "tooltipClasses_default", "TooltipTooltip", "alpha", "TooltipArrow", "hystersisOpen", "hystersisTimer", "Timeout", "cursorPosition", "composeEventHandler", "handler", "eventHandler", "event", "params", "Tooltip", "inProps", "ref", "_a", "_b", "_c", "props", "useDefaultProps", "arrow", "childrenProp", "classesProp", "components", "componentsProps", "describeChild", "disableFocusListener", "disableHoverListener", "disableInteractiveProp", "disableTouchListener", "enterDelay", "enterNextDelay", "enterTouchDelay", "followCursor", "idProp", "leaveDelay", "leaveTouchDelay", "onClose", "onOpen", "openProp", "placement", "PopperComponentProp", "PopperProps", "slotProps", "slots", "title", "TransitionComponentProp", "TransitionProps", "other", "children", "_jsx", "theme", "useTheme", "isRtl", "useRtl", "childNode", "setChildNode", "arrowRef", "setArrowRef", "ignoreNonTouchEvents", "disableInteractive", "closeTimer", "useTimeout", "enterTimer", "leaveTimer", "touchTimer", "openState", "setOpenState", "useControlled_default", "open", "id", "useId_default", "prevUserSelect", "stopTouchInteraction", "useEventCallback_default", "handleOpen", "hystersisTimer", "hystersisOpen", "handleClose", "handleMouseOver", "handleMouseLeave", "setChildIsFocusVisible", "handleBlur", "isFocusVisible", "handleFocus", "detectTouchStart", "childrenProps", "handleTouchStart", "handleTouchEnd", "handleKeyDown", "nativeEvent", "handleRef", "useForkRef_default", "getReactElementRef", "popperRef", "handleMouseMove", "cursorPosition", "nameOrDescProps", "titleIsString", "clsx_default", "interactiveWrapperListeners", "ownerState", "resolvedPopperProps", "popperOptions", "tooltipModifiers", "classes", "useUtilityClasses", "resolvedTransitionProps", "externalForwardedProps", "PopperSlot", "popperSlotProps", "useSlot", "TooltipPopper", "TransitionSlot", "transitionSlotProps", "Grow_default", "TooltipSlot", "tooltipSlotProps", "TooltipTooltip", "ArrowSlot", "arrowSlotProps", "TooltipArrow", "_jsxs", "Popper_default", "TransitionPropsInner", "Tooltip_default", "React", "getSwitchUtilityClass", "slot", "generateUtilityClass", "switchClasses", "generateUtilityClasses", "switchClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "edge", "size", "color", "checked", "disabled", "slots", "capitalize_default", "composedClasses", "composeClasses", "getSwitchUtilityClass", "SwitchRoot", "styled_default", "props", "styles", "switchClasses_default", "SwitchSwitchBase", "SwitchBase_default", "memoTheme_default", "theme", "alpha", "createSimplePaletteValueFilter", "lighten", "darken", "SwitchTrack", "SwitchThumb", "Switch", "inProps", "ref", "useDefaultProps", "className", "sx", "other", "icon", "_jsx", "_jsxs", "clsx_default", "Switch_default", "React", "getTabUtilityClass", "slot", "generateUtilityClass", "tabClasses", "generateUtilityClasses", "tabClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "textColor", "fullWidth", "wrapped", "icon", "label", "selected", "disabled", "slots", "capitalize_default", "composeClasses", "getTabUtilityClass", "TabRoot", "styled_default", "ButtonBase_default", "props", "styles", "tabClasses_default", "memoTheme_default", "theme", "iconPosition", "Tab", "inProps", "ref", "useDefaultProps", "className", "disableFocusRipple", "iconProp", "indicator", "onChange", "onClick", "onFocus", "selectionFollowsFocus", "value", "other", "clsx_default", "handleClick", "event", "handleFocus", "_jsxs", "Tab_default", "React", "React", "TableContext", "TableContext_default", "getTableUtilityClass", "slot", "generateUtilityClass", "tableClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "stickyHeader", "composeClasses", "getTableUtilityClass", "TableRoot", "styled_default", "props", "styles", "memoTheme_default", "theme", "defaultComponent", "Table", "inProps", "ref", "useDefaultProps", "className", "component", "padding", "size", "other", "table", "_jsx", "TableContext_default", "clsx_default", "Table_default", "React", "React", "Tablelvl2Context", "Tablelvl2Context_default", "getTableBodyUtilityClass", "slot", "generateUtilityClass", "tableBodyClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "composeClasses", "getTableBodyUtilityClass", "TableBodyRoot", "styled_default", "props", "styles", "tablelvl2", "defaultComponent", "TableBody", "inProps", "ref", "useDefaultProps", "className", "component", "other", "_jsx", "Tablelvl2Context_default", "clsx_default", "TableBody_default", "React", "getTableCellUtilityClass", "slot", "generateUtilityClass", "tableCellClasses", "generateUtilityClasses", "tableCellClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "variant", "align", "padding", "size", "stickyHeader", "slots", "capitalize_default", "composeClasses", "getTableCellUtilityClass", "TableCellRoot", "styled_default", "props", "styles", "memoTheme_default", "theme", "lighten", "alpha", "darken", "tableCellClasses_default", "TableCell", "inProps", "ref", "useDefaultProps", "className", "componentProp", "paddingProp", "scopeProp", "sizeProp", "sortDirection", "variantProp", "other", "table", "TableContext_default", "tablelvl2", "Tablelvl2Context_default", "isHeadCell", "component", "scope", "ariaSort", "_jsx", "clsx_default", "TableCell_default", "React", "getTableContainerUtilityClass", "slot", "generateUtilityClass", "tableContainerClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "composeClasses", "getTableContainerUtilityClass", "TableContainerRoot", "styled_default", "props", "styles", "TableContainer", "inProps", "ref", "useDefaultProps", "className", "component", "other", "_jsx", "clsx_default", "TableContainer_default", "React", "getTableHeadUtilityClass", "slot", "generateUtilityClass", "tableHeadClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "composeClasses", "getTableHeadUtilityClass", "TableHeadRoot", "styled_default", "props", "styles", "tablelvl2", "defaultComponent", "TableHead", "inProps", "ref", "useDefaultProps", "className", "component", "other", "_jsx", "Tablelvl2Context_default", "clsx_default", "TableHead_default", "React", "getToolbarUtilityClass", "slot", "generateUtilityClass", "toolbarClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "disableGutters", "variant", "composeClasses", "getToolbarUtilityClass", "ToolbarRoot", "styled_default", "props", "styles", "memoTheme_default", "theme", "Toolbar", "inProps", "ref", "useDefaultProps", "className", "component", "other", "_jsx", "clsx_default", "Toolbar_default", "React", "import_jsx_runtime", "KeyboardArrowLeft_default", "createSvgIcon", "_jsx", "React", "import_jsx_runtime", "KeyboardArrowRight_default", "createSvgIcon", "_jsx", "React", "getTableRowUtilityClass", "slot", "generateUtilityClass", "tableRowClasses", "generateUtilityClasses", "tableRowClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "selected", "hover", "head", "footer", "composeClasses", "getTableRowUtilityClass", "TableRowRoot", "styled_default", "props", "styles", "memoTheme_default", "theme", "tableRowClasses_default", "alpha", "defaultComponent", "TableRow", "inProps", "ref", "useDefaultProps", "className", "component", "other", "tablelvl2", "Tablelvl2Context_default", "_jsx", "clsx_default", "TableRow_default", "React", "import_react_is", "easeInOutSin", "time", "animate", "property", "element", "to", "options", "cb", "ease", "duration", "start", "from", "cancelled", "cancel", "step", "timestamp", "React", "import_jsx_runtime", "styles", "ScrollbarSize", "props", "onChange", "other", "scrollbarHeight", "nodeRef", "setMeasurements", "useEnhancedEffect_default", "handleResize", "debounce_default", "prevHeight", "containerWindow", "ownerWindow_default", "_jsx", "React", "getTabScrollButtonUtilityClass", "slot", "generateUtilityClass", "tabScrollButtonClasses", "generateUtilityClasses", "tabScrollButtonClasses_default", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "orientation", "disabled", "composeClasses", "getTabScrollButtonUtilityClass", "TabScrollButtonRoot", "styled_default", "ButtonBase_default", "props", "styles", "tabScrollButtonClasses_default", "TabScrollButton", "inProps", "ref", "_a", "_b", "useDefaultProps", "className", "slots", "slotProps", "direction", "other", "isRtl", "useRtl", "StartButtonIcon", "KeyboardArrowLeft_default", "EndButtonIcon", "KeyboardArrowRight_default", "startButtonIconProps", "useSlotProps_default", "endButtonIconProps", "_jsx", "clsx_default", "TabScrollButton_default", "getTabsUtilityClass", "slot", "generateUtilityClass", "tabsClasses", "generateUtilityClasses", "tabsClasses_default", "import_jsx_runtime", "nextItem", "list", "item", "previousItem", "moveFocus", "currentFocus", "traversalFunction", "wrappedOnce", "nextFocus", "nextFocusDisabled", "useUtilityClasses", "ownerState", "vertical", "fixed", "hideScrollbar", "scrollableX", "scrollableY", "centered", "scrollButtonsHideMobile", "classes", "composeClasses", "getTabsUtilityClass", "TabsRoot", "styled_default", "props", "styles", "tabsClasses_default", "memoTheme_default", "theme", "TabsScroller", "FlexContainer", "TabsIndicator", "TabsScrollbarSize", "ScrollbarSize", "defaultIndicatorStyle", "Tabs", "inProps", "ref", "props", "useDefaultProps", "theme", "useTheme", "isRtl", "useRtl", "ariaLabel", "ariaLabelledBy", "action", "centered", "childrenProp", "className", "component", "allowScrollButtonsMobile", "indicatorColor", "onChange", "orientation", "ScrollButtonComponent", "TabScrollButton_default", "scrollButtons", "selectionFollowsFocus", "slots", "slotProps", "TabIndicatorProps", "TabScrollButtonProps", "textColor", "value", "variant", "visibleScrollbar", "other", "scrollable", "vertical", "scrollStart", "start", "end", "clientSize", "size", "ownerState", "classes", "useUtilityClasses", "startScrollButtonIconProps", "useSlotProps_default", "endScrollButtonIconProps", "mounted", "setMounted", "indicatorStyle", "setIndicatorStyle", "defaultIndicatorStyle", "displayStartScroll", "setDisplayStartScroll", "displayEndScroll", "setDisplayEndScroll", "updateScrollObserver", "setUpdateScrollObserver", "scrollerStyle", "setScrollerStyle", "valueToIndex", "tabsRef", "tabListRef", "getTabsMeta", "tabsNode", "tabsMeta", "rect", "tabMeta", "children", "tab", "updateIndicatorState", "useEventCallback_default", "startValue", "startIndicator", "newIndicatorStyle", "dStart", "dSize", "scroll", "scrollValue", "animation", "animate", "moveTabsScroll", "delta", "getScrollSize", "containerSize", "totalSize", "i", "handleStartScrollClick", "handleEndScrollClick", "handleScrollbarSizeChange", "scrollbarWidth", "getConditionalElements", "conditionalElements", "_jsx", "TabsScrollbarSize", "clsx_default", "showScrollButtons", "scrollSelectedIntoView", "nextScrollStart", "updateScrollButtonState", "handleResize", "debounce_default", "resizeObserver", "handleMutation", "records", "record", "item", "win", "ownerWindow_default", "mutationObserver", "child", "tabListChildren", "length", "firstTab", "lastTab", "observerOptions", "handleScrollButtonStart", "entries", "firstObserver", "handleScrollButtonEnd", "lastObserver", "indicator", "TabsIndicator", "childIndex", "childValue", "selected", "handleKeyDown", "event", "list", "currentFocus", "ownerDocument_default", "previousItemKey", "nextItemKey", "moveFocus", "previousItem", "nextItem", "_jsxs", "TabsRoot", "TabsScroller", "FlexContainer", "Tabs_default", "React", "getTextFieldUtilityClass", "slot", "generateUtilityClass", "textFieldClasses", "generateUtilityClasses", "import_jsx_runtime", "variantComponent", "Input_default", "FilledInput_default", "OutlinedInput_default", "useUtilityClasses", "ownerState", "classes", "composeClasses", "getTextFieldUtilityClass", "TextFieldRoot", "styled_default", "FormControl_default", "props", "styles", "TextField", "inProps", "ref", "useDefaultProps", "autoComplete", "autoFocus", "children", "className", "color", "defaultValue", "disabled", "error", "FormHelperTextPropsProp", "fullWidth", "helperText", "idOverride", "InputLabelPropsProp", "inputPropsProp", "InputPropsProp", "inputRef", "label", "maxRows", "minRows", "multiline", "name", "onBlur", "onChange", "onFocus", "placeholder", "required", "rows", "select", "SelectPropsProp", "slots", "slotProps", "type", "value", "variant", "other", "id", "useId", "helperTextId", "inputLabelId", "InputComponent", "externalForwardedProps", "inputAdditionalProps", "inputLabelSlotProps", "InputSlot", "inputProps", "useSlot", "InputLabelSlot", "inputLabelProps", "InputLabel_default", "HtmlInputSlot", "htmlInputProps", "FormHelperTextSlot", "formHelperTextProps", "FormHelperText_default", "SelectSlot", "selectProps", "Select_default", "InputElement", "_jsx", "_jsxs", "clsx_default", "TextField_default", "import_jsx_runtime", "Add_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "ArrowBack_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "ArrowRight_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "AudioFile_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "BedroomParent_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Bookmark_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "BookmarkBorder_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "BorderColor_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Brightness6_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Build_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "CalendarToday_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Cancel_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Check_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Close_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Code_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Construction_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "ContentCopy_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "CreateNewFolder_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "DataObject_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Delete_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Description_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Edit_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Error_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "FindInPage_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "FolderOpen_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "FolderSpecial_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "FontDownload_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "FormatItalic_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Help_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Image_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Info_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "InsertDriveFile_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "KeyboardReturn_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Link_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "List_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "ListAlt_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "LooksOne_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "MusicNote_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "PersonOutlined_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Publish_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Refresh_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Router_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Save_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "SaveAlt_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Settings_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "SettingsApplications_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "ShowChart_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "SupervisedUserCircle_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "TextFields_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "VerticalAlignBottom_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "VerticalAlignTop_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Videocam_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "ViewColumn_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "ViewModule_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "Wifi_default", "createSvgIcon", "_jsx", "import_jsx_runtime", "WifiOff_default", "createSvgIcon", "_jsx", "printPrompt", "import_react", "loaderStyles", "Loader", "props", "style", "size", "theme", "React", "import_react", "Router", "_Router", "props", "__publicField", "hash", "parts", "item", "e", "tab", "dialog", "id", "arg", "location", "import_react", "deselectCurrent", "selection", "active", "ranges", "i", "range", "clipboardToIE11Formatting", "defaultMessage", "format", "message", "copyKey", "copy", "text", "options", "reselectPrevious", "mark", "success", "debug", "e", "_a", "_b", "_c", "_d", "_format", "err", "error", "_I18n", "lang", "words", "wordsWithPrefix", "prefix", "key", "_lang", "_words", "wordsOfOneLanguage", "word", "wordsOfOneLang", "_word", "languageDictionary", "e", "translations", "args", "translation", "w", "wordEn", "arg", "filter", "result", "disable", "__publicField", "I18n", "NAMESPACE", "days", "months", "QUALITY_BITS", "SIGNATURES", "_Utils", "name", "item", "word", "seconds", "days_", "hours", "minutes", "secondsStr", "text", "I18n", "objects", "id", "settings", "options", "isDesc", "_a", "textObj", "pos", "obj", "noTrim", "_b", "desc", "forEnumId", "common", "user", "list", "source", "dest", "result", "removed", "defaultEnabling", "s", "style", "React", "icon", "parts", "color", "defaultValue", "r", "g", "b", "rgb", "secs", "angle", "num", "format", "now", "m", "year", "y", "day", "mm", "date", "key", "start", "href", "target", "rel", "title", "states", "instanceId", "noCommon", "custom", "newSmartName", "byON", "smartType", "language", "nnn", "_smartName", "smartName", "empty", "e", "copy", "fileName", "bytes", "units", "u", "themeType", "invert", "invertedColor", "hex", "bw", "alfa", "rs", "gs", "bd", "x", "z", "color1", "color2", "rgb1", "rgb2", "lab1", "lab2", "dltL", "dltA", "dltB", "c1", "c2", "dltC", "dltH", "sc", "sh", "dltLKlsl", "dltCkcsc", "dltHkhsh", "i", "mix", "str", "k", "inputs", "tmp", "themeName", "vendorPrefix", "themes", "newTheme", "query", "part", "attr", "value", "f", "p", "dateObj", "dateFormat", "dd", "d", "h", "url", "header", "body", "lines", "attrs", "line", "pos_", "doc", "json", "el", "quality", "object", "blob", "resolve", "reader", "base64", "signature", "activeRepo", "theme", "args", "attr1", "__publicField", "Utils", "import_react", "styles", "SaveCloseButtons", "React", "props", "__publicField", "newReact", "e", "noTextOnButtons", "buttonStyle", "style", "Toolbar_default", "Fab_default", "Save_default", "I18n", "Close_default", "import_react", "styles", "DialogConfirm", "props", "suppress", "React", "Dialog_default", "event", "reason", "DialogTitle_default", "I18n", "DialogContent_default", "DialogContentText_default", "FormControlLabel_default", "Checkbox_default", "DialogActions_default", "Button_default", "Check_default", "Close_default", "import_react", "DialogError", "React", "Dialog_default", "DialogTitle_default", "I18n", "DialogContent_default", "DialogContentText_default", "DialogActions_default", "Button_default", "Check_default", "en_default", "de_default", "ru_default", "pt_default", "nl_default", "fr_default", "it_default", "es_default", "pl_default", "uk_default", "zh_cn_default", "dictionary", "en_default", "de_default", "ru_default", "pt_default", "nl_default", "fr_default", "it_default", "es_default", "pl_default", "uk_default", "zh_cn_default", "cssStyle", "GenericApp", "_GenericApp", "Router", "props", "settings", "_a", "_b", "ConnectionClass", "Connection", "style", "io", "e", "__publicField", "id", "obj", "I18n", "message", "newThemeName", "Utils", "newTheme", "printPrompt", "query", "args", "t", "b", "parts", "tmp", "location", "themeInstance", "translations", "dictionary", "lang", "progress", "PROGRESS", "waitPromise", "instanceObj", "sentryEnabled", "init", "dedupeIntegration", "uuidObj", "getCurrentScope", "err", "type", "React", "Snackbar_default", "_e", "reason", "SIZES", "width", "key", "name", "Theme", "currentTheme", "_newThemeName", "_expertMode", "themeName", "value", "result", "i", "tab", "index", "attr", "encryptedNative", "instances", "instance", "host", "ips", "ip4", "ip", "ip6", "isClose", "oldObj", "_oldObj", "a", "IconButton_default", "Close_default", "DialogError", "native", "isChanged", "newNative", "errorText", "SaveCloseButtons", "DialogConfirm", "isYes", "attrs", "cb", "changed", "text", "toast", "Loader", "import_react", "import_react", "import_reactcss", "import_react", "import_reactcss", "calculateChange", "e", "hsl", "direction", "initialA", "container", "containerWidth", "containerHeight", "x", "y", "left", "top", "a", "_a", "import_react", "import_reactcss", "checkboardCache", "render", "c1", "c2", "size", "serverCanvas", "canvas", "ctx", "get", "key", "checkboard", "_extends", "target", "i", "source", "key", "Checkboard", "_ref", "white", "grey", "size", "renderers", "borderRadius", "boxShadow", "children", "styles", "reactCSS", "get", "React", "Checkboard_default", "_extends", "target", "i", "source", "key", "_createClass", "defineProperties", "props", "descriptor", "Constructor", "protoProps", "staticProps", "_classCallCheck", "instance", "_possibleConstructorReturn", "self", "call", "_inherits", "subClass", "superClass", "Alpha", "_ref", "_ref2", "_temp", "_this", "_ret", "_len", "args", "_key", "e", "change", "calculateChange", "_this2", "rgb", "styles", "reactCSS", "React", "Checkboard_default", "container", "Alpha_default", "import_react", "import_reactcss", "_createClass", "defineProperties", "target", "props", "i", "descriptor", "Constructor", "protoProps", "staticProps", "_defineProperty", "obj", "key", "value", "_classCallCheck", "instance", "_possibleConstructorReturn", "self", "call", "_inherits", "subClass", "superClass", "DEFAULT_ARROW_OFFSET", "UP_KEY_CODE", "DOWN_KEY_CODE", "VALID_KEY_CODES", "isValidKeyCode", "keyCode", "getNumberValue", "idCounter", "EditableInput", "_ref", "_this", "e", "offset", "updatedValue", "newValue", "prevProps", "prevState", "onChangeValue", "_this2", "styles", "reactCSS", "React", "input", "EditableInput_default", "import_react", "import_reactcss", "calculateChange", "e", "direction", "hsl", "container", "containerWidth", "containerHeight", "x", "y", "left", "top", "h", "percent", "_h", "_percent", "_createClass", "defineProperties", "target", "props", "i", "descriptor", "Constructor", "protoProps", "staticProps", "_classCallCheck", "instance", "_possibleConstructorReturn", "self", "call", "_inherits", "subClass", "superClass", "Hue", "_ref", "_ref2", "_temp", "_this", "_ret", "_len", "args", "_key", "e", "change", "calculateChange", "_this2", "_props$direction", "direction", "styles", "reactCSS", "React", "container", "Hue_default", "import_react", "import_prop_types", "import_reactcss", "listCacheClear", "listCacheClear_default", "eq", "value", "other", "eq_default", "assocIndexOf", "array", "key", "length", "eq_default", "assocIndexOf_default", "arrayProto", "splice", "listCacheDelete", "key", "data", "index", "assocIndexOf_default", "lastIndex", "listCacheDelete_default", "listCacheGet", "key", "data", "index", "assocIndexOf_default", "listCacheGet_default", "listCacheHas", "key", "assocIndexOf_default", "listCacheHas_default", "listCacheSet", "key", "value", "data", "index", "assocIndexOf_default", "listCacheSet_default", "ListCache", "entries", "index", "length", "entry", "listCacheClear_default", "listCacheDelete_default", "listCacheGet_default", "listCacheHas_default", "listCacheSet_default", "ListCache_default", "stackClear", "ListCache_default", "stackClear_default", "stackDelete", "key", "data", "result", "stackDelete_default", "stackGet", "key", "stackGet_default", "stackHas", "key", "stackHas_default", "freeGlobal", "freeGlobal_default", "freeSelf", "root", "freeGlobal_default", "root_default", "Symbol", "root_default", "Symbol_default", "objectProto", "hasOwnProperty", "nativeObjectToString", "symToStringTag", "Symbol_default", "getRawTag", "value", "isOwn", "tag", "unmasked", "e", "result", "getRawTag_default", "objectProto", "nativeObjectToString", "objectToString", "value", "objectToString_default", "nullTag", "undefinedTag", "symToStringTag", "Symbol_default", "baseGetTag", "value", "getRawTag_default", "objectToString_default", "baseGetTag_default", "isObject", "value", "type", "isObject_default", "asyncTag", "funcTag", "genTag", "proxyTag", "isFunction", "value", "isObject_default", "tag", "baseGetTag_default", "isFunction_default", "coreJsData", "root_default", "coreJsData_default", "maskSrcKey", "uid", "coreJsData_default", "isMasked", "func", "isMasked_default", "funcProto", "funcToString", "toSource", "func", "e", "toSource_default", "reRegExpChar", "reIsHostCtor", "funcProto", "objectProto", "funcToString", "hasOwnProperty", "reIsNative", "baseIsNative", "value", "isObject_default", "isMasked_default", "pattern", "isFunction_default", "toSource_default", "baseIsNative_default", "getValue", "object", "key", "getValue_default", "getNative", "object", "key", "value", "getValue_default", "baseIsNative_default", "getNative_default", "Map", "getNative_default", "root_default", "Map_default", "nativeCreate", "getNative_default", "nativeCreate_default", "hashClear", "nativeCreate_default", "hashClear_default", "hashDelete", "key", "result", "hashDelete_default", "HASH_UNDEFINED", "objectProto", "hasOwnProperty", "hashGet", "key", "data", "nativeCreate_default", "result", "hashGet_default", "objectProto", "hasOwnProperty", "hashHas", "key", "data", "nativeCreate_default", "hashHas_default", "HASH_UNDEFINED", "hashSet", "key", "value", "data", "nativeCreate_default", "hashSet_default", "Hash", "entries", "index", "length", "entry", "hashClear_default", "hashDelete_default", "hashGet_default", "hashHas_default", "hashSet_default", "Hash_default", "mapCacheClear", "Hash_default", "Map_default", "ListCache_default", "mapCacheClear_default", "isKeyable", "value", "type", "isKeyable_default", "getMapData", "map", "key", "data", "isKeyable_default", "getMapData_default", "mapCacheDelete", "key", "result", "getMapData_default", "mapCacheDelete_default", "mapCacheGet", "key", "getMapData_default", "mapCacheGet_default", "mapCacheHas", "key", "getMapData_default", "mapCacheHas_default", "mapCacheSet", "key", "value", "data", "getMapData_default", "size", "mapCacheSet_default", "MapCache", "entries", "index", "length", "entry", "mapCacheClear_default", "mapCacheDelete_default", "mapCacheGet_default", "mapCacheHas_default", "mapCacheSet_default", "MapCache_default", "LARGE_ARRAY_SIZE", "stackSet", "key", "value", "data", "ListCache_default", "pairs", "Map_default", "MapCache_default", "stackSet_default", "Stack", "entries", "data", "ListCache_default", "stackClear_default", "stackDelete_default", "stackGet_default", "stackHas_default", "stackSet_default", "Stack_default", "defineProperty", "func", "getNative_default", "e", "defineProperty_default", "baseAssignValue", "object", "key", "value", "defineProperty_default", "baseAssignValue_default", "assignMergeValue", "object", "key", "value", "eq_default", "baseAssignValue_default", "assignMergeValue_default", "createBaseFor", "fromRight", "object", "iteratee", "keysFunc", "index", "iterable", "props", "length", "key", "createBaseFor_default", "baseFor", "createBaseFor_default", "baseFor_default", "freeExports", "freeModule", "moduleExports", "Buffer", "root_default", "allocUnsafe", "cloneBuffer", "buffer", "isDeep", "length", "result", "cloneBuffer_default", "Uint8Array", "root_default", "Uint8Array_default", "cloneArrayBuffer", "arrayBuffer", "result", "Uint8Array_default", "cloneArrayBuffer_default", "cloneTypedArray", "typedArray", "isDeep", "buffer", "cloneArrayBuffer_default", "cloneTypedArray_default", "copyArray", "source", "array", "index", "length", "copyArray_default", "objectCreate", "baseCreate", "object", "proto", "isObject_default", "result", "baseCreate_default", "overArg", "func", "transform", "arg", "overArg_default", "getPrototype", "overArg_default", "getPrototype_default", "objectProto", "isPrototype", "value", "Ctor", "proto", "isPrototype_default", "initCloneObject", "object", "isPrototype_default", "baseCreate_default", "getPrototype_default", "initCloneObject_default", "isObjectLike", "value", "isObjectLike_default", "argsTag", "baseIsArguments", "value", "isObjectLike_default", "baseGetTag_default", "baseIsArguments_default", "objectProto", "hasOwnProperty", "propertyIsEnumerable", "isArguments", "baseIsArguments_default", "value", "isObjectLike_default", "isArguments_default", "isArray", "isArray_default", "MAX_SAFE_INTEGER", "isLength", "value", "isLength_default", "isArrayLike", "value", "isLength_default", "isFunction_default", "isArrayLike_default", "isArrayLikeObject", "value", "isObjectLike_default", "isArrayLike_default", "isArrayLikeObject_default", "stubFalse", "stubFalse_default", "freeExports", "freeModule", "moduleExports", "Buffer", "root_default", "nativeIsBuffer", "isBuffer", "stubFalse_default", "isBuffer_default", "objectTag", "funcProto", "objectProto", "funcToString", "hasOwnProperty", "objectCtorString", "isPlainObject", "value", "isObjectLike_default", "baseGetTag_default", "proto", "getPrototype_default", "Ctor", "isPlainObject_default", "argsTag", "arrayTag", "boolTag", "dateTag", "errorTag", "funcTag", "mapTag", "numberTag", "objectTag", "regexpTag", "setTag", "stringTag", "weakMapTag", "arrayBufferTag", "dataViewTag", "float32Tag", "float64Tag", "int8Tag", "int16Tag", "int32Tag", "uint8Tag", "uint8ClampedTag", "uint16Tag", "uint32Tag", "typedArrayTags", "baseIsTypedArray", "value", "isObjectLike_default", "isLength_default", "baseGetTag_default", "baseIsTypedArray_default", "baseUnary", "func", "value", "baseUnary_default", "freeExports", "freeModule", "moduleExports", "freeProcess", "freeGlobal_default", "nodeUtil", "types", "e", "nodeUtil_default", "nodeIsTypedArray", "nodeUtil_default", "isTypedArray", "baseUnary_default", "baseIsTypedArray_default", "isTypedArray_default", "safeGet", "object", "key", "safeGet_default", "objectProto", "hasOwnProperty", "assignValue", "object", "key", "value", "objValue", "eq_default", "baseAssignValue_default", "assignValue_default", "copyObject", "source", "props", "object", "customizer", "isNew", "index", "length", "key", "newValue", "baseAssignValue_default", "assignValue_default", "copyObject_default", "baseTimes", "n", "iteratee", "index", "result", "baseTimes_default", "MAX_SAFE_INTEGER", "reIsUint", "isIndex", "value", "length", "type", "isIndex_default", "objectProto", "hasOwnProperty", "arrayLikeKeys", "value", "inherited", "isArr", "isArray_default", "isArg", "isArguments_default", "isBuff", "isBuffer_default", "isType", "isTypedArray_default", "skipIndexes", "result", "baseTimes_default", "length", "key", "isIndex_default", "arrayLikeKeys_default", "nativeKeysIn", "object", "result", "key", "nativeKeysIn_default", "objectProto", "hasOwnProperty", "baseKeysIn", "object", "isObject_default", "nativeKeysIn_default", "isProto", "isPrototype_default", "result", "key", "baseKeysIn_default", "keysIn", "object", "isArrayLike_default", "arrayLikeKeys_default", "baseKeysIn_default", "keysIn_default", "toPlainObject", "value", "copyObject_default", "keysIn_default", "toPlainObject_default", "baseMergeDeep", "object", "source", "key", "srcIndex", "mergeFunc", "customizer", "stack", "objValue", "safeGet_default", "srcValue", "stacked", "assignMergeValue_default", "newValue", "isCommon", "isArr", "isArray_default", "isBuff", "isBuffer_default", "isTyped", "isTypedArray_default", "isArrayLikeObject_default", "copyArray_default", "cloneBuffer_default", "cloneTypedArray_default", "isPlainObject_default", "isArguments_default", "toPlainObject_default", "isObject_default", "isFunction_default", "initCloneObject_default", "baseMergeDeep_default", "baseMerge", "object", "source", "srcIndex", "customizer", "stack", "baseFor_default", "srcValue", "key", "Stack_default", "isObject_default", "baseMergeDeep_default", "newValue", "safeGet_default", "assignMergeValue_default", "keysIn_default", "baseMerge_default", "identity", "value", "identity_default", "apply", "func", "thisArg", "args", "apply_default", "nativeMax", "overRest", "func", "start", "transform", "args", "index", "length", "array", "otherArgs", "apply_default", "overRest_default", "constant", "value", "constant_default", "baseSetToString", "defineProperty_default", "func", "string", "constant_default", "identity_default", "baseSetToString_default", "HOT_COUNT", "HOT_SPAN", "nativeNow", "shortOut", "func", "count", "lastCalled", "stamp", "remaining", "shortOut_default", "setToString", "shortOut_default", "baseSetToString_default", "setToString_default", "baseRest", "func", "start", "setToString_default", "overRest_default", "identity_default", "baseRest_default", "isIterateeCall", "value", "index", "object", "isObject_default", "type", "isArrayLike_default", "isIndex_default", "eq_default", "isIterateeCall_default", "createAssigner", "assigner", "baseRest_default", "object", "sources", "index", "length", "customizer", "guard", "isIterateeCall_default", "source", "createAssigner_default", "merge", "createAssigner_default", "object", "source", "srcIndex", "baseMerge_default", "merge_default", "Raised", "_ref", "zDepth", "radius", "background", "children", "_ref$styles", "passedStyles", "styles", "reactCSS", "merge_default", "React", "PropTypes", "Raised_default", "import_react", "import_reactcss", "now", "root_default", "now_default", "reWhitespace", "trimmedEndIndex", "string", "index", "trimmedEndIndex_default", "reTrimStart", "baseTrim", "string", "trimmedEndIndex_default", "baseTrim_default", "symbolTag", "isSymbol", "value", "isObjectLike_default", "baseGetTag_default", "isSymbol_default", "NAN", "reIsBadHex", "reIsBinary", "reIsOctal", "freeParseInt", "toNumber", "value", "isSymbol_default", "isObject_default", "other", "baseTrim_default", "isBinary", "toNumber_default", "FUNC_ERROR_TEXT", "nativeMax", "nativeMin", "debounce", "func", "wait", "options", "lastArgs", "lastThis", "maxWait", "result", "timerId", "lastCallTime", "lastInvokeTime", "leading", "maxing", "trailing", "toNumber_default", "isObject_default", "invokeFunc", "time", "args", "thisArg", "leadingEdge", "timerExpired", "remainingWait", "timeSinceLastCall", "timeSinceLastInvoke", "timeWaiting", "shouldInvoke", "now_default", "trailingEdge", "cancel", "flush", "debounced", "isInvoking", "debounce_default", "FUNC_ERROR_TEXT", "throttle", "func", "wait", "options", "leading", "trailing", "isObject_default", "debounce_default", "throttle_default", "calculateChange", "e", "hsl", "container", "_container$getBoundin", "containerWidth", "containerHeight", "x", "y", "left", "top", "saturation", "bright", "_createClass", "defineProperties", "target", "props", "i", "descriptor", "Constructor", "protoProps", "staticProps", "_classCallCheck", "instance", "_possibleConstructorReturn", "self", "call", "_inherits", "subClass", "superClass", "Saturation", "_ref", "_this", "e", "calculateChange", "renderWindow", "throttle_default", "fn", "data", "container", "_this2", "_ref2", "color", "white", "black", "pointer", "circle", "styles", "reactCSS", "React", "Saturation_default", "import_react", "arrayEach", "array", "iteratee", "index", "length", "arrayEach_default", "nativeKeys", "overArg_default", "nativeKeys_default", "objectProto", "hasOwnProperty", "baseKeys", "object", "isPrototype_default", "nativeKeys_default", "result", "key", "baseKeys_default", "keys", "object", "isArrayLike_default", "arrayLikeKeys_default", "baseKeys_default", "keys_default", "baseForOwn", "object", "iteratee", "baseFor_default", "keys_default", "baseForOwn_default", "createBaseEach", "eachFunc", "fromRight", "collection", "iteratee", "isArrayLike_default", "length", "index", "iterable", "createBaseEach_default", "baseEach", "createBaseEach_default", "baseForOwn_default", "baseEach_default", "castFunction", "value", "identity_default", "castFunction_default", "forEach", "collection", "iteratee", "func", "isArray_default", "arrayEach_default", "baseEach_default", "castFunction_default", "forEach_default", "_typeof", "obj", "trimLeft", "trimRight", "tinycolor", "color", "opts", "rgb", "inputToRGB", "RsRGB", "GsRGB", "BsRGB", "R", "G", "B", "value", "boundAlpha", "hsv", "rgbToHsv", "h", "s", "v", "hsl", "rgbToHsl", "l", "allow3Char", "rgbToHex", "allow4Char", "rgbaToHex", "bound01", "hexNames", "secondColor", "hex8String", "rgbaToArgbHex", "secondHex8String", "gradientType", "format", "formatSet", "formattedString", "hasAlpha", "needsAlphaFormat", "fn", "args", "_lighten", "_brighten", "_darken", "_desaturate", "_saturate", "_greyscale", "_spin", "_analogous", "_complement", "_monochromatic", "_splitcomplement", "polyad", "newColor", "i", "convertToPercentage", "a", "ok", "stringInputToObject", "isValidCSSUnit", "rgbToRgb", "hsvToRgb", "hslToRgb", "r", "g", "b", "max", "min", "d", "hue2rgb", "p", "q", "t", "f", "mod", "hex", "pad2", "convertDecimalToHex", "color1", "color2", "amount", "clamp01", "hue", "number", "result", "step", "results", "slices", "part", "ret", "modification", "rgb1", "rgb2", "rgba", "c1", "c2", "wcag2", "readability", "wcag2Parms", "out", "validateWCAG2Parms", "baseColor", "colorList", "bestColor", "bestScore", "includeFallbackColors", "level", "size", "names", "flip", "o", "flipped", "n", "isOnePointZero", "processPercent", "isPercentage", "val", "parseIntFromHex", "c", "convertHexToDecimal", "matchers", "CSS_INTEGER", "CSS_NUMBER", "CSS_UNIT", "PERMISSIVE_MATCH3", "PERMISSIVE_MATCH4", "named", "match", "parms", "simpleCheckForValidColor", "data", "keysToCheck", "checked", "passed", "forEach_default", "letter", "percentPatt", "toState", "oldHue", "color", "tinycolor", "hsl", "hsv", "rgb", "hex", "transparent", "isValidHex", "lh", "getContrastingColor", "col", "yiq", "isvalidColorString", "string", "type", "stringWithoutDegree", "tinycolor", "_extends", "target", "i", "source", "key", "_createClass", "defineProperties", "props", "descriptor", "Constructor", "protoProps", "staticProps", "_classCallCheck", "instance", "_possibleConstructorReturn", "self", "call", "_inherits", "subClass", "superClass", "ColorWrap", "Picker", "ColorPicker", "_ref", "_this", "data", "event", "isValidColor", "simpleCheckForValidColor", "colors", "toState", "debounce_default", "fn", "optionalEvents", "React", "nextProps", "state", "ColorWrap_default", "import_react", "import_reactcss", "import_react", "_extends", "target", "i", "source", "key", "_createClass", "defineProperties", "props", "descriptor", "Constructor", "protoProps", "staticProps", "_classCallCheck", "instance", "_possibleConstructorReturn", "self", "call", "_inherits", "subClass", "superClass", "handleFocus", "Component", "Span", "_React$Component", "Focus", "_ref", "_temp", "_this", "_ret", "_len", "args", "_key", "React", "_extends", "target", "i", "source", "key", "ENTER", "Swatch", "_ref", "color", "style", "_ref$onClick", "onClick", "onHover", "_ref$title", "title", "children", "focus", "_ref$focusStyle", "focusStyle", "transparent", "styles", "reactCSS", "handleClick", "e", "handleKeyDown", "handleHover", "optionalEvents", "React", "Checkboard_default", "Swatch_default", "handleFocus", "import_react", "import_reactcss", "AlphaPointer", "_ref", "direction", "styles", "reactCSS", "React", "AlphaPointer_default", "_extends", "target", "i", "source", "key", "AlphaPicker", "_ref", "rgb", "hsl", "width", "height", "onChange", "direction", "style", "renderers", "pointer", "_ref$className", "className", "styles", "reactCSS", "React", "Alpha_default", "AlphaPointer_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "import_react", "import_reactcss", "arrayMap", "array", "iteratee", "index", "length", "result", "arrayMap_default", "HASH_UNDEFINED", "setCacheAdd", "value", "setCacheAdd_default", "setCacheHas", "value", "setCacheHas_default", "SetCache", "values", "index", "length", "MapCache_default", "setCacheAdd_default", "setCacheHas_default", "SetCache_default", "arraySome", "array", "predicate", "index", "length", "arraySome_default", "cacheHas", "cache", "key", "cacheHas_default", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "equalArrays", "array", "other", "bitmask", "customizer", "equalFunc", "stack", "isPartial", "arrLength", "othLength", "arrStacked", "othStacked", "index", "result", "seen", "SetCache_default", "arrValue", "othValue", "compared", "arraySome_default", "othIndex", "cacheHas_default", "equalArrays_default", "mapToArray", "map", "index", "result", "value", "key", "mapToArray_default", "setToArray", "set", "index", "result", "value", "setToArray_default", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "boolTag", "dateTag", "errorTag", "mapTag", "numberTag", "regexpTag", "setTag", "stringTag", "symbolTag", "arrayBufferTag", "dataViewTag", "symbolProto", "Symbol_default", "symbolValueOf", "equalByTag", "object", "other", "tag", "bitmask", "customizer", "equalFunc", "stack", "Uint8Array_default", "eq_default", "convert", "mapToArray_default", "isPartial", "setToArray_default", "stacked", "result", "equalArrays_default", "equalByTag_default", "arrayPush", "array", "values", "index", "length", "offset", "arrayPush_default", "baseGetAllKeys", "object", "keysFunc", "symbolsFunc", "result", "isArray_default", "arrayPush_default", "baseGetAllKeys_default", "arrayFilter", "array", "predicate", "index", "length", "resIndex", "result", "value", "arrayFilter_default", "stubArray", "stubArray_default", "objectProto", "propertyIsEnumerable", "nativeGetSymbols", "getSymbols", "object", "arrayFilter_default", "symbol", "stubArray_default", "getSymbols_default", "getAllKeys", "object", "baseGetAllKeys_default", "keys_default", "getSymbols_default", "getAllKeys_default", "COMPARE_PARTIAL_FLAG", "objectProto", "hasOwnProperty", "equalObjects", "object", "other", "bitmask", "customizer", "equalFunc", "stack", "isPartial", "objProps", "getAllKeys_default", "objLength", "othProps", "othLength", "index", "key", "objStacked", "othStacked", "result", "skipCtor", "objValue", "othValue", "compared", "objCtor", "othCtor", "equalObjects_default", "DataView", "getNative_default", "root_default", "DataView_default", "Promise", "getNative_default", "root_default", "Promise_default", "Set", "getNative_default", "root_default", "Set_default", "WeakMap", "getNative_default", "root_default", "WeakMap_default", "mapTag", "objectTag", "promiseTag", "setTag", "weakMapTag", "dataViewTag", "dataViewCtorString", "toSource_default", "DataView_default", "mapCtorString", "Map_default", "promiseCtorString", "Promise_default", "setCtorString", "Set_default", "weakMapCtorString", "WeakMap_default", "getTag", "baseGetTag_default", "value", "result", "Ctor", "ctorString", "getTag_default", "COMPARE_PARTIAL_FLAG", "argsTag", "arrayTag", "objectTag", "objectProto", "hasOwnProperty", "baseIsEqualDeep", "object", "other", "bitmask", "customizer", "equalFunc", "stack", "objIsArr", "isArray_default", "othIsArr", "objTag", "getTag_default", "othTag", "objIsObj", "othIsObj", "isSameTag", "isBuffer_default", "Stack_default", "isTypedArray_default", "equalArrays_default", "equalByTag_default", "objIsWrapped", "othIsWrapped", "objUnwrapped", "othUnwrapped", "equalObjects_default", "baseIsEqualDeep_default", "baseIsEqual", "value", "other", "bitmask", "customizer", "stack", "isObjectLike_default", "baseIsEqualDeep_default", "baseIsEqual_default", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "baseIsMatch", "object", "source", "matchData", "customizer", "index", "length", "noCustomizer", "data", "key", "objValue", "srcValue", "stack", "Stack_default", "result", "baseIsEqual_default", "baseIsMatch_default", "isStrictComparable", "value", "isObject_default", "isStrictComparable_default", "getMatchData", "object", "result", "keys_default", "length", "key", "value", "isStrictComparable_default", "getMatchData_default", "matchesStrictComparable", "key", "srcValue", "object", "matchesStrictComparable_default", "baseMatches", "source", "matchData", "getMatchData_default", "matchesStrictComparable_default", "object", "baseIsMatch_default", "baseMatches_default", "reIsDeepProp", "reIsPlainProp", "isKey", "value", "object", "isArray_default", "type", "isSymbol_default", "isKey_default", "FUNC_ERROR_TEXT", "memoize", "func", "resolver", "memoized", "args", "key", "cache", "result", "MapCache_default", "memoize_default", "MAX_MEMOIZE_SIZE", "memoizeCapped", "func", "result", "memoize_default", "key", "cache", "memoizeCapped_default", "rePropName", "reEscapeChar", "stringToPath", "memoizeCapped_default", "string", "result", "match", "number", "quote", "subString", "stringToPath_default", "INFINITY", "symbolProto", "Symbol_default", "symbolToString", "baseToString", "value", "isArray_default", "arrayMap_default", "isSymbol_default", "result", "baseToString_default", "toString", "value", "baseToString_default", "toString_default", "castPath", "value", "object", "isArray_default", "isKey_default", "stringToPath_default", "toString_default", "castPath_default", "INFINITY", "toKey", "value", "isSymbol_default", "result", "toKey_default", "baseGet", "object", "path", "castPath_default", "index", "length", "toKey_default", "baseGet_default", "get", "object", "path", "defaultValue", "result", "baseGet_default", "get_default", "baseHasIn", "object", "key", "baseHasIn_default", "hasPath", "object", "path", "hasFunc", "castPath_default", "index", "length", "result", "key", "toKey_default", "isLength_default", "isIndex_default", "isArray_default", "isArguments_default", "hasPath_default", "hasIn", "object", "path", "hasPath_default", "baseHasIn_default", "hasIn_default", "COMPARE_PARTIAL_FLAG", "COMPARE_UNORDERED_FLAG", "baseMatchesProperty", "path", "srcValue", "isKey_default", "isStrictComparable_default", "matchesStrictComparable_default", "toKey_default", "object", "objValue", "get_default", "hasIn_default", "baseIsEqual_default", "baseMatchesProperty_default", "baseProperty", "key", "object", "baseProperty_default", "basePropertyDeep", "path", "object", "baseGet_default", "basePropertyDeep_default", "property", "path", "isKey_default", "baseProperty_default", "toKey_default", "basePropertyDeep_default", "property_default", "baseIteratee", "value", "identity_default", "isArray_default", "baseMatchesProperty_default", "baseMatches_default", "property_default", "baseIteratee_default", "baseMap", "collection", "iteratee", "index", "result", "isArrayLike_default", "baseEach_default", "value", "key", "baseMap_default", "map", "collection", "iteratee", "func", "isArray_default", "arrayMap_default", "baseMap_default", "baseIteratee_default", "map_default", "BlockSwatches", "_ref", "colors", "onClick", "onSwatchHover", "styles", "reactCSS", "React", "map_default", "c", "Swatch_default", "BlockSwatches_default", "Block", "_ref", "onChange", "onSwatchHover", "hex", "colors", "width", "triangle", "_ref$styles", "passedStyles", "_ref$className", "className", "transparent", "handleChange", "hexCode", "e", "isValidHex", "styles", "reactCSS", "merge_default", "getContrastingColor", "React", "Checkboard_default", "BlockSwatches_default", "EditableInput_default", "PropTypes", "Block_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "red", "pink", "purple", "deepPurple", "indigo", "blue", "lightBlue", "cyan", "teal", "green", "lightGreen", "lime", "yellow", "amber", "orange", "deepOrange", "brown", "blueGrey", "import_react", "import_reactcss", "CircleSwatch", "_ref", "color", "onClick", "onSwatchHover", "hover", "active", "circleSize", "circleSpacing", "styles", "reactCSS", "React", "Swatch_default", "CircleSwatch_default", "Circle", "_ref", "width", "onChange", "onSwatchHover", "colors", "hex", "circleSize", "_ref$styles", "passedStyles", "circleSpacing", "_ref$className", "className", "styles", "reactCSS", "merge_default", "handleChange", "hexCode", "e", "React", "map_default", "c", "CircleSwatch_default", "PropTypes", "red", "pink", "purple", "deepPurple", "indigo", "blue", "lightBlue", "cyan", "teal", "green", "lightGreen", "lime", "yellow", "amber", "orange", "deepOrange", "brown", "blueGrey", "Circle_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "import_react", "import_reactcss", "isUndefined", "value", "isUndefined_default", "import_UnfoldMoreHorizontalIcon", "_createClass", "defineProperties", "target", "props", "i", "descriptor", "Constructor", "protoProps", "staticProps", "_classCallCheck", "instance", "_possibleConstructorReturn", "self", "call", "_inherits", "subClass", "superClass", "ChromeFields", "_React$Component", "_this", "data", "e", "isValidHex", "isUndefined_default", "_this2", "styles", "reactCSS", "fields", "React", "EditableInput_default", "icon", "UnfoldMoreHorizontalIcon", "nextProps", "state", "ChromeFields_default", "import_react", "import_reactcss", "ChromePointer", "styles", "reactCSS", "React", "ChromePointer_default", "import_react", "import_reactcss", "ChromePointerCircle", "styles", "reactCSS", "React", "ChromePointerCircle_default", "Chrome", "_ref", "width", "onChange", "disableAlpha", "rgb", "hsl", "hsv", "hex", "renderers", "_ref$styles", "passedStyles", "_ref$className", "className", "defaultView", "styles", "reactCSS", "merge_default", "React", "Saturation_default", "ChromePointerCircle_default", "Checkboard_default", "Hue_default", "ChromePointer_default", "Alpha_default", "ChromeFields_default", "PropTypes", "Chrome_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "import_react", "import_reactcss", "CompactColor", "_ref", "color", "_ref$onClick", "onClick", "onSwatchHover", "active", "styles", "reactCSS", "getContrastingColor", "React", "Swatch_default", "CompactColor_default", "import_react", "import_reactcss", "CompactFields", "_ref", "hex", "rgb", "onChange", "styles", "reactCSS", "handleChange", "data", "e", "React", "EditableInput_default", "CompactFields_default", "Compact", "_ref", "onChange", "onSwatchHover", "colors", "hex", "rgb", "_ref$styles", "passedStyles", "_ref$className", "className", "styles", "reactCSS", "merge_default", "handleChange", "data", "e", "isValidHex", "React", "Raised_default", "map_default", "CompactColor_default", "CompactFields_default", "PropTypes", "Compact_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "import_react", "import_reactcss", "GithubSwatch", "_ref", "hover", "color", "onClick", "onSwatchHover", "hoverSwatch", "styles", "reactCSS", "React", "Swatch_default", "GithubSwatch_default", "Github", "_ref", "width", "colors", "onChange", "onSwatchHover", "triangle", "_ref$styles", "passedStyles", "_ref$className", "className", "styles", "reactCSS", "merge_default", "handleChange", "hex", "e", "React", "map_default", "GithubSwatch_default", "PropTypes", "Github_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "import_react", "import_reactcss", "SliderPointer", "_ref", "direction", "styles", "reactCSS", "React", "HuePointer_default", "_extends", "target", "i", "source", "key", "HuePicker", "_ref", "width", "height", "onChange", "hsl", "direction", "pointer", "_ref$styles", "passedStyles", "_ref$className", "className", "styles", "reactCSS", "merge_default", "handleChange", "data", "React", "Hue_default", "PropTypes", "HuePointer_default", "ColorWrap_default", "import_react", "import_reactcss", "Material", "_ref", "onChange", "hex", "rgb", "_ref$styles", "passedStyles", "_ref$className", "className", "styles", "reactCSS", "merge_default", "handleChange", "data", "e", "isValidHex", "React", "Raised_default", "EditableInput_default", "Material_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "import_react", "import_reactcss", "PhotoshopPicker", "_ref", "onChange", "rgb", "hsv", "hex", "styles", "reactCSS", "handleChange", "data", "e", "isValidHex", "React", "EditableInput_default", "PhotoshopFields_default", "import_react", "import_reactcss", "PhotoshopPointerCircle", "_ref", "hsl", "styles", "reactCSS", "React", "PhotoshopPointerCircle_default", "import_react", "import_reactcss", "PhotoshopPointerCircle", "styles", "reactCSS", "React", "PhotoshopPointer_default", "import_react", "import_reactcss", "PhotoshopButton", "_ref", "onClick", "label", "children", "active", "styles", "reactCSS", "React", "PhotoshopButton_default", "import_react", "import_reactcss", "PhotoshopPreviews", "_ref", "rgb", "currentColor", "styles", "reactCSS", "React", "PhotoshopPreviews_default", "_createClass", "defineProperties", "target", "props", "i", "descriptor", "Constructor", "protoProps", "staticProps", "_classCallCheck", "instance", "_possibleConstructorReturn", "self", "call", "_inherits", "subClass", "superClass", "Photoshop", "_React$Component", "_this", "_props", "_props$styles", "passedStyles", "_props$className", "className", "styles", "reactCSS", "merge_default", "React", "Saturation_default", "PhotoshopPointerCircle_default", "Hue_default", "PhotoshopPointer_default", "PhotoshopPreviews_default", "PhotoshopButton_default", "PhotoshopFields_default", "PropTypes", "Photoshop_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "import_react", "import_reactcss", "SketchFields", "_ref", "onChange", "rgb", "hsl", "hex", "disableAlpha", "styles", "reactCSS", "handleChange", "data", "e", "isValidHex", "React", "EditableInput_default", "SketchFields_default", "import_react", "import_prop_types", "import_reactcss", "_extends", "target", "i", "source", "key", "SketchPresetColors", "_ref", "colors", "_ref$onClick", "onClick", "onSwatchHover", "styles", "reactCSS", "handleClick", "hex", "e", "React", "colorObjOrString", "c", "Swatch_default", "PropTypes", "SketchPresetColors_default", "_extends", "target", "i", "source", "key", "Sketch", "_ref", "width", "rgb", "hex", "hsv", "hsl", "onChange", "onSwatchHover", "disableAlpha", "presetColors", "renderers", "_ref$styles", "passedStyles", "_ref$className", "className", "styles", "reactCSS", "merge_default", "React", "Saturation_default", "Hue_default", "Alpha_default", "Checkboard_default", "SketchFields_default", "SketchPresetColors_default", "PropTypes", "Sketch_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "import_react", "import_reactcss", "import_react", "import_reactcss", "SliderSwatch", "_ref", "hsl", "offset", "_ref$onClick", "onClick", "active", "first", "last", "styles", "reactCSS", "handleClick", "e", "React", "SliderSwatch_default", "SliderSwatches", "_ref", "onClick", "hsl", "styles", "reactCSS", "epsilon", "React", "SliderSwatch_default", "SliderSwatches_default", "import_react", "import_reactcss", "SliderPointer", "styles", "reactCSS", "React", "SliderPointer_default", "Slider", "_ref", "hsl", "onChange", "pointer", "_ref$styles", "passedStyles", "_ref$className", "className", "styles", "reactCSS", "merge_default", "React", "Hue_default", "SliderSwatches_default", "PropTypes", "SliderPointer_default", "Slider_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "import_react", "import_reactcss", "import_react", "import_reactcss", "import_CheckIcon", "SwatchesColor", "_ref", "color", "_ref$onClick", "onClick", "onSwatchHover", "first", "last", "active", "styles", "reactCSS", "getContrastingColor", "React", "Swatch_default", "CheckIcon", "SwatchesColor_default", "SwatchesGroup", "_ref", "onClick", "onSwatchHover", "group", "active", "styles", "reactCSS", "React", "map_default", "color", "i", "SwatchesColor_default", "SwatchesGroup_default", "Swatches", "_ref", "width", "height", "onChange", "onSwatchHover", "colors", "hex", "_ref$styles", "passedStyles", "_ref$className", "className", "styles", "reactCSS", "merge_default", "handleChange", "data", "e", "React", "Raised_default", "map_default", "group", "SwatchesGroup_default", "PropTypes", "red", "pink", "purple", "deepPurple", "indigo", "blue", "lightBlue", "cyan", "teal", "green", "lightGreen", "lime", "yellow", "amber", "orange", "deepOrange", "brown", "blueGrey", "Swatches_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "Twitter", "_ref", "onChange", "onSwatchHover", "hex", "colors", "width", "triangle", "_ref$styles", "passedStyles", "_ref$className", "className", "styles", "reactCSS", "merge_default", "handleChange", "hexcode", "e", "isValidHex", "React", "map_default", "c", "i", "Swatch_default", "EditableInput_default", "PropTypes", "Twitter_default", "ColorWrap_default", "import_react", "import_prop_types", "import_reactcss", "import_react", "import_reactcss", "import_prop_types", "GooglePointerCircle", "props", "styles", "reactCSS", "React", "PropTypes", "GooglePointerCircle_default", "import_react", "import_reactcss", "import_prop_types", "GooglePointer", "props", "styles", "reactCSS", "React", "PropTypes", "GooglePointer_default", "import_react", "import_reactcss", "GoogleFields", "_ref", "onChange", "rgb", "hsl", "hex", "hsv", "handleChange", "data", "e", "isValidHex", "values", "isvalidColorString", "_values", "_values2", "hsvValue", "styles", "reactCSS", "rgbValue", "hslValue", "React", "EditableInput_default", "GoogleFields_default", "Google", "_ref", "width", "onChange", "rgb", "hsl", "hsv", "hex", "header", "_ref$styles", "passedStyles", "_ref$className", "className", "styles", "reactCSS", "merge_default", "React", "Saturation_default", "GooglePointerCircle_default", "Hue_default", "GooglePointer_default", "GoogleFields_default", "PropTypes", "Google_default", "ColorWrap_default", "import_react", "import_cronstrue", "import_fr", "import_es", "import_de", "import_it", "import_ru", "import_zh_CN", "import_uk", "import_pt_BR", "import_pl", "convertCronToText", "cron", "lang", "cronstrue", "styles", "WEEKDAYS", "MONTHS", "convertMinusIntoArray", "value", "max", "result", "i", "parts", "p", "items", "iMax", "convertArrayIntoMinus", "newParts", "a", "b", "start", "end", "ComplexCron", "_ComplexCron", "props", "cron", "state", "cronParts", "options", "text", "type", "nums", "pos", "values", "React", "Button_default", "I18n", "every", "everyN", "select", "modes", "valueNumber", "Select_default", "e", "num", "MenuItem_default", "TextField_default", "lang", "convertCronToText", "attr", "tab", "everyMinute", "everySecond", "FormControlLabel_default", "Checkbox_default", "AppBar_default", "Tabs_default", "_active", "_tab", "Tab_default", "import_react", "import_react", "import_react", "import_prop_types", "__awaiter", "thisArg", "_arguments", "P", "generator", "adopt", "value", "resolve", "reject", "fulfilled", "step", "e", "rejected", "result", "COMMON_MIME_TYPES", "toFileWithPath", "file", "path", "h", "f", "withMimeType", "webkitRelativePath", "p", "setObjProp", "name", "ext", "type", "key", "value", "FILES_TO_IGNORE", "fromEvent", "evt", "isObject", "isDataTransfer", "getDataTransferFiles", "isChangeEvt", "getInputFiles", "item", "getFsHandleFiles", "value", "v", "fromList", "file", "toFileWithPath", "handles", "h", "dt", "type", "items", "files", "toFilePromises", "noIgnoredFiles", "flatten", "i", "fromDataTransferItem", "entry", "fromDirEntry", "acc", "_a", "fromEntry", "fromFileEntry", "reader", "resolve", "reject", "entries", "readEntries", "batch", "__awaiter", "err", "fwp", "import_attr_accept", "_toConsumableArray", "arr", "_arrayWithoutHoles", "_iterableToArray", "_unsupportedIterableToArray", "_nonIterableSpread", "iter", "_arrayLikeToArray", "ownKeys", "object", "enumerableOnly", "keys", "symbols", "sym", "_objectSpread", "target", "i", "source", "key", "_defineProperty", "obj", "value", "_slicedToArray", "arr", "i", "_arrayWithHoles", "_iterableToArrayLimit", "_unsupportedIterableToArray", "_nonIterableRest", "o", "minLen", "_arrayLikeToArray", "n", "len", "arr2", "_i", "_arr", "_n", "_d", "_s", "_e", "err", "accepts", "_accepts", "FILE_INVALID_TYPE", "FILE_TOO_LARGE", "FILE_TOO_SMALL", "TOO_MANY_FILES", "getInvalidTypeRejectionErr", "accept", "acceptArr", "msg", "FILE_INVALID_TYPE", "getTooLargeRejectionErr", "maxSize", "FILE_TOO_LARGE", "getTooSmallRejectionErr", "minSize", "FILE_TOO_SMALL", "TOO_MANY_FILES_REJECTION", "TOO_MANY_FILES", "fileAccepted", "file", "isAcceptable", "accepts", "fileMatchSize", "isDefined", "value", "allFilesAccepted", "_ref", "files", "multiple", "maxFiles", "validator", "_fileAccepted", "_fileAccepted2", "_slicedToArray", "accepted", "_fileMatchSize", "_fileMatchSize2", "sizeMatch", "customErrors", "isPropagationStopped", "event", "isEvtWithFiles", "type", "onDocumentDragOver", "event", "isIe", "userAgent", "isEdge", "isIeOrEdge", "composeEventHandlers", "_len", "fns", "_key", "_len2", "args", "_key2", "fn", "isPropagationStopped", "canUseFileSystemAccessAPI", "pickerOptionsFromAccept", "accept", "isDefined", "acceptForPicker", "_ref2", "_ref3", "_slicedToArray", "mimeType", "ext", "ok", "isMIMEType", "isExt", "agg", "_ref4", "_ref5", "_objectSpread", "_defineProperty", "acceptPropAsAcceptAttr", "a", "_ref6", "_ref7", "_toConsumableArray", "v", "isAbort", "isSecurityError", "_excluded", "_excluded2", "_excluded3", "_excluded4", "_toConsumableArray", "arr", "_arrayWithoutHoles", "_iterableToArray", "_unsupportedIterableToArray", "_nonIterableSpread", "iter", "_arrayLikeToArray", "_slicedToArray", "i", "_arrayWithHoles", "_iterableToArrayLimit", "_nonIterableRest", "o", "minLen", "n", "len", "arr2", "_i", "_arr", "_n", "_d", "_s", "_e", "err", "ownKeys", "object", "enumerableOnly", "keys", "symbols", "sym", "_objectSpread", "target", "source", "key", "_defineProperty", "obj", "value", "_objectWithoutProperties", "excluded", "_objectWithoutPropertiesLoose", "sourceSymbolKeys", "sourceKeys", "Dropzone", "_ref", "ref", "children", "params", "_useDropzone", "useDropzone", "open", "props", "React", "defaultProps", "fromEvent", "PropTypes", "es_default", "initialState", "_defaultProps$props", "accept", "disabled", "getFilesFromEvent", "maxSize", "minSize", "multiple", "maxFiles", "onDragEnter", "onDragLeave", "onDragOver", "onDrop", "onDropAccepted", "onDropRejected", "onFileDialogCancel", "onFileDialogOpen", "useFsAccessApi", "autoFocus", "preventDropOnDocument", "noClick", "noKeyboard", "noDrag", "noDragEventsBubbling", "onError", "validator", "acceptAttr", "acceptPropAsAcceptAttr", "pickerTypes", "pickerOptionsFromAccept", "onFileDialogOpenCb", "noop", "onFileDialogCancelCb", "rootRef", "inputRef", "_useReducer", "reducer", "_useReducer2", "state", "dispatch", "isFocused", "isFileDialogActive", "fsAccessApiWorksRef", "canUseFileSystemAccessAPI", "onWindowFocus", "files", "dragTargetsRef", "onDocumentDrop", "event", "onDocumentDragOver", "onErrCb", "e", "onDragEnterCb", "stopPropagation", "isEvtWithFiles", "isPropagationStopped", "fileCount", "isDragAccept", "allFilesAccepted", "isDragReject", "onDragOverCb", "hasFiles", "_unused", "onDragLeaveCb", "targets", "targetIdx", "setFiles", "acceptedFiles", "fileRejections", "file", "_fileAccepted", "fileAccepted", "_fileAccepted2", "accepted", "acceptError", "_fileMatchSize", "fileMatchSize", "_fileMatchSize2", "sizeMatch", "sizeError", "customErrors", "errors", "TOO_MANY_FILES_REJECTION", "onDropCb", "openFileDialog", "opts", "handles", "isAbort", "isSecurityError", "onKeyDownCb", "onFocusCb", "onBlurCb", "onClickCb", "isIeOrEdge", "composeHandler", "fn", "composeKeyboardHandler", "composeDragHandler", "getRootProps", "_ref2", "_ref2$refKey", "refKey", "role", "onKeyDown", "onFocus", "onBlur", "onClick", "rest", "composeEventHandlers", "onInputElementClick", "getInputProps", "_ref3", "_ref3$refKey", "onChange", "inputProps", "action", "import_react", "import_react", "useWidth", "theme", "useTheme", "output", "key", "matches", "useMediaQuery_default", "withWidth", "WrappedComponent", "props", "width", "React", "TextInputFunc", "props", "text", "setText", "React", "error", "setError", "Dialog_default", "DialogTitle_default", "DialogContent_default", "DialogContentText_default", "TextField_default", "e", "_error", "DialogActions_default", "Button_default", "Check_default", "I18n", "Close_default", "DialogTextInput", "withWidth", "import_react", "IconExpert", "props", "React", "e", "import_react", "IconClosed", "props", "React", "e", "import_react", "IconOpen", "props", "React", "e", "import_react", "IconNoIcon", "props", "React", "e", "import_react", "import_react", "React", "styleToObject", "input", "acc", "item", "key", "value", "d", "index", "nextKey", "_$0", "$1", "$2", "nextValue", "randomString", "length", "characters", "result", "noTextChildNodes", "possibleStandardNames", "getReactNode", "node", "options", "level", "rest", "parseName", "parseAttributes", "parseChildren", "nodeText", "_b", "_a", "parentNodeName", "reactKey", "attributes", "nodeClassNames", "childNodeList", "children", "convertFromNode", "nodeName", "actions", "randomKey", "action", "convertFromString", "includeAllNodes", "nodeOnly", "selector", "type", "document", "childNodes", "error", "convert", "import_react", "CACHE_NAME", "CACHE_MAX_RETRIES", "STATUS", "canUseDOM", "isSupportedEnvironment", "supportsInlineSVG", "request", "url", "options", "response", "contentType", "fileType", "d", "sleep", "seconds", "resolve", "div", "svg", "randomCharacter", "character", "randomString", "length", "letters", "charset", "R", "index", "omit", "input", "filter", "output", "key", "CacheStore", "__publicField", "cacheName", "usePersistentCache", "_a", "cache", "error", "callback", "fetchOptions", "_b", "data", "content", "_c", "_d", "retryCount", "value", "keys", "usePrevious", "state", "ref", "getNode", "baseURL", "description", "handleError", "hash", "preProcessor", "title", "uniquifyIDs", "svgText", "processSVG", "node", "convert", "updateSVGAttributes", "originalDesc", "descElement", "originalTitle", "titleElement", "replaceableAttributes", "linkAttributes", "isDataValue", "name", "attributes", "a", "attribute", "match", "r", "cacheStore", "ReactInlineSVG", "props", "cacheRequests", "children", "innerRef", "loader", "onError", "onLoad", "src", "uniqueHash", "setState", "previousState", "nextState", "element", "isCached", "status", "previousProps", "useRef", "isActive", "isInitialized", "handleLoad", "loadedContent", "hasCache", "fetchContent", "responseContent", "getElement", "convertedElement", "getContent", "dataURI", "inlineSrc", "cachedContent", "load", "useEffect", "elementProps", "InlineSVG", "hasCallback", "isReady", "setReady", "React", "import_react", "REMOTE_SERVER", "REMOTE_PREFIX", "Icon", "props", "_a", "_b", "_c", "React", "Box_default", "Utils", "InlineSVG", "src", "e", "import_react", "styles", "EXTENSIONS", "bufferToBase64", "buffer", "isFull", "binary", "bytes", "len", "i", "FileViewerClass", "props", "__publicField", "_id", "_fileName", "size", "ext", "Utils", "parts", "adapter", "name", "data", "fileData", "newState", "e", "React", "TextField_default", "IconNoIcon", "Icon", "Dialog_default", "DialogTitle_default", "IconButton_default", "Brightness6_default", "DialogContent_default", "DialogActions_default", "Button_default", "ContentCopy_default", "Save_default", "Close_default", "FileViewer", "withWidth", "ROW_HEIGHT", "BUTTON_WIDTH", "TILE_HEIGHT", "TILE_WIDTH", "NOT_FOUND", "FILE_TYPE_ICONS", "InsertDriveFile_default", "Image_default", "Code_default", "FontDownload_default", "AudioFile_default", "Videocam_default", "styles", "theme", "Utils", "USER_DATA", "getParentDir", "dir", "parts", "isFile", "path", "ext", "TABLE", "TILE", "sortFolders", "a", "b", "FileBrowserClass", "_FileBrowserClass", "props", "__publicField", "id", "fileName", "size", "key", "pos", "folder", "folders", "e", "array", "backgroundImage", "expandedStr", "expanded", "_a", "viewType", "selected", "currentDir", "i", "state", "el", "error", "timer", "foldersList", "newFoldersNotNull", "cb", "_newFolders", "resolve", "adapter", "relPath", "reject", "level", "files", "item", "folderId", "_checkEmpty", "force", "objs", "_folders", "userData", "obj", "knownError", "file", "err", "_folder", "_e", "EXTENSIONS", "text", "IconEl", "IconOpen", "IconClosed", "padding", "isUserData", "isSpecialData", "iconStyle", "React", "Box_default", "IconButton_default", "Delete_default", "ArrowBack_default", "acl", "access", "accessStr", "Bookmark_default", "BookmarkBorder_default", "Description_default", "MusicNote_default", "IconNoIcon", "Icon", "fileErrors", "Edit_default", "SaveAlt_default", "res", "totalResult", "items", "_item", "CircularProgress_default", "IconType", "isInFolder", "Toolbar_default", "FolderSpecial_default", "IconExpert", "List_default", "ViewModule_default", "FolderOpen_default", "Refresh_default", "CreateNewFolder_default", "Publish_default", "Tooltip_default", "Menu_default", "type", "MyIcon", "MenuItem_default", "ListItemIcon_default", "ListItemText_default", "Brightness6_default", "parentFolder", "DialogTextInput", "name", "parent", "data", "adapterName", "Fab_default", "Close_default", "es_default", "acceptedFiles", "count", "reader", "getRootProps", "getInputProps", "parentId", "deleteItem", "newState", "Dialog_default", "DialogTitle_default", "DialogContent_default", "DialogContentText_default", "DialogActions_default", "Button_default", "FileViewerComponent", "FileViewer", "DialogError", "info", "changed", "it", "result", "p", "Breadcrumbs_default", "part", "Input_default", "KeyboardReturn_default", "LinearProgress_default", "FileBrowser", "withWidth", "import_react", "import_react", "import_react", "import_react", "IconInstance", "props", "React", "e", "import_react", "import_react", "import_react", "getElementFromSource", "src", "svgContainer", "svg", "serializeAttrs", "map", "ret", "prop", "i", "key", "g", "_Image", "props", "_a", "__publicField", "state", "newState", "changed", "len", "inner", "svgProps", "React", "e", "IconNoIcon", "Image", "import_react", "Logo", "_Logo", "React", "__publicField", "evt", "target", "files", "f", "reader", "_a", "contents", "json", "I18n", "err", "fileName", "obj", "el", "result", "input", "Icon", "Fab_default", "win", "Help_default", "VerticalAlignTop_default", "VerticalAlignBottom_default", "import_react", "import_react", "IconAdapter", "props", "React", "e", "import_react", "IconChannel", "props", "React", "e", "import_react", "IconCopy", "props", "React", "e", "import_react", "IconDevice", "props", "React", "e", "import_react", "IconDocument", "props", "React", "e", "import_react", "IconDocumentReadOnly", "props", "React", "e", "import_react", "IconState", "props", "React", "e", "import_react", "IconClearFilter", "props", "React", "e", "import_react", "styles", "TabContainer", "props", "_a", "React", "Paper_default", "Grid2_default", "import_react", "styles", "TabContent", "props", "React", "Grid2_default", "import_react", "TabHeader", "props", "React", "Grid2_default", "ICON_SIZE", "ROW_HEIGHT", "ITEM_LEVEL", "SMALL_BUTTON_SIZE", "COLOR_NAME_USERDATA", "themeType", "COLOR_NAME_ALIAS", "COLOR_NAME_JAVASCRIPT", "COLOR_NAME_SYSTEM", "COLOR_NAME_SYSTEM_ADAPTER", "COLOR_NAME_ERROR_DARK", "COLOR_NAME_ERROR_LIGHT", "COLOR_NAME_CONNECTED_DARK", "COLOR_NAME_CONNECTED_LIGHT", "COLOR_NAME_DISCONNECTED_DARK", "COLOR_NAME_DISCONNECTED_LIGHT", "styles", "theme", "Utils", "ButtonIcon", "props", "React", "walkThroughArray", "object", "iteratee", "copiedObject", "index", "walkThroughObject", "key", "filterObject", "obj", "filterKeys", "excludeTranslations", "result", "value", "isObject", "generateFile", "fileName", "options", "el", "filteredObject", "data", "binarySearch", "list", "find", "_start", "_end", "middle", "getName", "name", "lang", "getSelectIdIconFromObjects", "objects", "id", "imagePrefix", "src", "_id_", "aIcon", "InlineSVG", "common", "cIcon", "instance", "applyFilter", "item", "filters", "context", "counter", "customFilter", "selectedTypes", "_depth", "_a", "_b", "_c", "_d", "_e", "_f", "_g", "_h", "_i", "_j", "filteredOut", "role", "filterOfCustom", "customs", "cst", "_item", "getVisibleItems", "type", "_result", "getSystemIcon", "level", "icon", "Link_default", "DataObject_default", "SettingsApplications_default", "SupervisedUserCircle_default", "PersonOutlined_default", "Router_default", "Wifi_default", "Info_default", "Description_default", "getObjectTooltip", "getIdFieldTooltip", "tooltip", "Box_default", "buildTree", "ids", "a", "b", "currentPathArr", "currentPath", "currentPathLen", "root", "info", "cRoot", "i", "parts", "usedId", "readId", "writeId", "repeat", "curPath", "k", "_cRoot", "u", "move", "aName", "bName", "findNode", "_parts", "_path", "_level", "found", "_id", "findRoomsForObject", "rooms", "room", "ownEnums", "findEnumsForObjectAsIds", "enumName", "funcs", "findFunctionsForObject", "formatValue", "dateFormat", "state", "isFloatComma", "texts", "states", "isCommon", "fileViewer", "v", "parsedDate", "e", "valText", "valFull", "from", "user", "getValueStyle", "prepareSparkData", "values", "time", "nm1", "n", "val", "ITEM_IMAGES", "IconState", "IconChannel", "IconDevice", "IconAdapter", "IconInstance", "ListAlt_default", "ShowChart_default", "Settings_default", "CalendarToday_default", "Code_default", "IconClosed", "SCREEN_WIDTHS", "objectsAlreadyLoaded", "DEFAULT_FILTER", "_NON_EXPERT_NAMESPACES", "_ObjectBrowserClass", "__publicField", "events", "newState", "event", "newInnerState", "filtered", "enumItem", "enums", "objId", "newObj", "oldObj", "t", "acl", "check", "arrayTooltipText", "funcRenderStateObject", "rights", "width", "widthNext", "handle", "lastSelectedItemStr", "lastSelectedItems", "expanded", "expandedStr", "filter", "filterStr", "pos", "customDialog", "location", "selected", "columnsStr", "columns", "columnsWidths", "foldersFirst", "foldersFirstStr", "statesView", "resizerCurrentWidthsStr", "resizerCurrentWidths", "update", "resolve", "Connection", "moreObjects", "filterFunc", "propsTypes", "columnsForAdmin", "node", "e1", "__privateGet", "saveNamespace", "cb", "changed", "path", "isDouble", "pattern", "keys", "count", "start", "Dialog_default", "DialogTitle_default", "DialogContent_default", "DialogContentText_default", "DialogActions_default", "Button_default", "Check_default", "error", "toggleItem", "isLast", "cols", "ListItemButton_default", "Checkbox_default", "ListItemText_default", "FormControlLabel_default", "Switch_default", "List_default", "adapter", "column", "ListItemIcon_default", "Close_default", "instances", "err", "_root", "_partyId", "aColumns", "cColumns", "aliasId", "aliasesIds", "isPause", "_name", "filterRef", "attr", "filterName", "FormControl_default", "Input_default", "IconButton_default", "hasIcons", "Select_default", "MenuItem_default", "newFilter", "Icon", "func", "types", "depth", "objs", "ack", "idDot", "idLen", "IconExpert", "evt", "target", "f", "r", "contents", "json", "len", "allowObjectCreation", "Tooltip_default", "Refresh_default", "ViewColumn_default", "IconOpen", "Badge_default", "LooksOne_default", "TextFields_default", "Add_default", "input", "Publish_default", "Build_default", "text", "Delete_default", "aclSystemConfig", "showEdit", "Edit_default", "now", "nowMs", "sparks", "s", "valFullRx", "narrowStyleWithDetails", "valTextRx", "copyText", "IconCopy", "enumIds", "newArray", "enumId", "promises", "toCheck", "itemEnums", "enumsOriginal", "Fab_default", "labelId", "ListItem_default", "enumDialogEnums", "ObjectBrowserEditRole", "isSave", "customColumnDialog", "TextField_default", "it", "p", "anyObj", "customStyle", "_index", "aliasObj", "isExpanded", "_k", "_l", "_m", "_n", "iconFolder", "itemType", "IconDocumentReadOnly", "IconDocument", "iconItem", "typeImg", "paddingLeft", "per", "pef", "checkbox", "valueEditable", "enumEditable", "checkVisibleObjectType", "newValue", "newValueTitle", "readWriteAlias", "alias", "checkColor", "invertBackground", "background", "bold", "icons", "colorSet", "Error_default", "WifiOff_default", "q", "useDesc", "oTooltip", "colID", "Grid2_default", "colName", "colMiddle", "colCustom", "columnValue", "colValue", "colButtons", "colDetails", "renderedMiddle", "Paper_default", "isRightMB", "items", "leaf", "DragWrapper", "aColumnsAuto", "aColumnsForAdmin", "aColumnsWidths", "columnsAuto", "WIDTHS", "widthSum", "newWidth", "accumulator", "selectedId", "idx", "newIdx", "newId", "idArr", "currId", "idEntry", "j", "filterClearInValue", "IconClearFilter", "Snackbar_default", "scrollBarWidth", "ObjectCustomDialog", "changedIds", "valAck", "ObjectBrowserEditObject", "updateAlias", "ObjectBrowserViewFile", "ObjectBrowserAliasEditor", "timeout", "initialType", "initialStateType", "Menu_default", "showACL", "createStateVisible", "createChannelVisible", "createDeviceVisible", "createFolderVisible", "ITEMS", "FormatItalic_default", "FindInPage_default", "BorderColor_default", "BedroomParent_default", "Construction_default", "CreateNewFolder_default", "ArrowRight_default", "subItem", "ObjectBrowserValue", "res", "jsonFilter", "CircularProgress_default", "TabContainer", "TabHeader", "TabContent", "__privateAdd", "ObjectBrowserClass", "ObjectBrowser", "withWidth", "import_react", "styles", "theme", "WEEKDAYS", "MONTHS", "PERIODS", "ASTRO", "padding", "num", "DEFAULT", "string2USdate", "date", "parts", "Schedule", "_Schedule", "props", "__publicField", "schedule", "e", "React", "force", "isDiff", "copy", "once", "days", "daysOfWeek", "weeks", "months", "dates", "years", "yearMonth", "yearDate", "from", "today", "desc", "validFrom", "now", "I18n", "tDows", "day", "last", "tMonths", "month", "start", "end", "wholeDay", "night", "fromTo", "FormControlLabel_default", "Radio_default", "_schedule", "TextField_default", "isAstro", "Select_default", "MenuItem_default", "event", "isOnce", "value", "Box_default", "Utils", "Checkbox_default", "i", "Input_default", "isSpecific", "FormGroup_default", "a", "b", "parsedDates", "_dates", "result", "_parsedDates", "parsedMonths", "_parsedMonths", "isEnd", "d", "str", "import_react", "import_react", "import_react", "import_react", "import_react", "import_react", "DialogSelectID", "props", "__publicField", "filters", "e", "selected", "id", "title", "React", "I18n", "Dialog_default", "DialogTitle_default", "DialogContent_default", "ObjectBrowser", "filterConfig", "_selected", "name", "isDouble", "DialogActions_default", "Button_default", "Check_default", "Cancel_default", "import_react", "import_react", "import_cropperjs", "n", "r", "o", "t", "a", "c", "i", "l", "e", "s", "u", "p", "d", "v", "f", "m", "g", "y", "b", "h", "O", "T", "z", "C", "w", "j", "M", "E", "R", "import_react", "styles", "PERIODIC", "PERIODIC_TYPES", "WEEKDAYS", "padding", "num", "DEFAULT_STATE", "text2weekdays", "text", "parts", "list", "part", "_parts", "start", "end", "day", "numPart", "cron2state", "cron", "force", "cronParts", "options", "state", "SimpleCron", "_SimpleCron", "React", "props", "max", "i", "settings", "hours", "minutes", "partsDate", "date", "month", "type", "I18n", "FormControlLabel_default", "Checkbox_default", "e", "_settings", "pos", "TextField_default", "Select_default", "MenuItem_default", "FormControl_default", "theme", "d", "InputLabel_default", "hour", "mode", "convertCronToText", "import_react", "import_react", "import_react", "import_react", "import_react", "import_react", "styles", "DialogComplexCron", "React", "props", "cron", "ignoreCheck", "ComplexCron", "DialogConfirm", "I18n", "ok", "Dialog_default", "DialogTitle_default", "DialogContent_default", "DialogActions_default", "Button_default", "Delete_default", "Check_default", "Cancel_default", "import_react", "styles", "DialogCron", "React", "props", "cron", "cron2state", "mode", "Dialog_default", "DialogTitle_default", "I18n", "DialogContent_default", "Radio_default", "SimpleCron", "Schedule", "ComplexCron", "DialogActions_default", "Button_default", "Check_default", "Cancel_default", "import_react", "import_react", "styles", "DialogSelectFile", "React", "props", "__publicField", "filters", "e", "selected", "id", "title", "I18n", "Dialog_default", "DialogTitle_default", "DialogContent_default", "FileBrowser", "isDoubleClick", "isFolder", "DialogActions_default", "Button_default", "Check_default", "Cancel_default", "import_react", "styles", "DialogSimpleCron", "React", "props", "cron", "Dialog_default", "DialogTitle_default", "I18n", "DialogContent_default", "SimpleCron", "DialogActions_default", "Button_default", "Check_default", "Cancel_default", "import_react", "tabValues", "navEntries", "replaceSpaceWithUnderscore", "menu", "isTruthy", "value", "processUserData", "data", "array", "newData", "key", "name", "err", "deepCopy", "obj", "isChecked", "value", "deleteDoubleEntriesInArray", "arr", "item", "index", "sortArray", "a", "b", "lowerCaseA", "lowerCaseB", "createData", "element", "index", "rowElements", "obj", "entry", "getRows", "_a", "rows", "trigger", "generateBy", "row", "saveRows", "props", "setState", "newRow", "existingRow", "updateData", "val", "id", "deepCopy", "updateTrigger", "value", "addNewRow", "cb", "deleteRow", "moveItem", "updateId", "selected", "indexID", "ID", "disassembleTextToTriggers", "text", "triggerArray", "textArray", "word", "updateTriggerForSelect", "data", "usersInGroup", "activeMenu", "submenu", "tabValues", "users", "menusToSearchIn", "user", "group", "deleteDoubleEntriesInArray", "usedTrigger", "allTrigger", "triggerObj", "menu", "triggerInMenu", "triggerInRow", "x", "actionTrigger", "sub", "unUsedTrigger", "sortArray", "buttonCheck", "React", "buttonClose", "getElementIcon", "isTruthy", "sortObjectByKey", "newObject", "updateActiveMenuAndTrigger", "result", "drag", "onDragStart", "event", "onDragEnd", "setState", "dropDifferenzY", "dropDifferenzX", "onDragOver", "onDrop", "onDrag", "onMouseEnter", "element", "onMouseLeave", "updatePositionDropBox", "newX", "newY", "dropboxRef", "showDropBox", "dropbox", "maxTop", "maxRight", "computeMaxPosition", "y", "x", "calculateNewPosition", "_a", "_b", "adjustYCoordinate", "adjustXCoordinate", "insertParseModeCheckbox", "data", "actions", "menu", "action", "_", "indexItem", "insertAckCheckbox", "updateNative", "item", "element", "textItem", "textIndex", "substring", "insertNewItemsInData", "copyData", "deepCopy", "getUsersFromTelegram", "socket", "telegramInstance", "cb", "state", "err", "getAllTelegramInstances", "callback", "IDs", "objects", "obj", "isAdapterTelegram", "_a", "getIobrokerData", "socket_default", "import_react", "import_react", "import_react", "Button", "__publicField", "event", "buttonStyle", "React", "I18n", "Button_default", "ButtonExpand", "props", "React", "Button_default", "btn_expand_default", "import_react", "import_react", "import_react", "Input", "__publicField", "event", "obj", "React", "I18n", "e", "_a", "_b", "input_default", "import_react", "import_react", "PopupContainer", "props", "element", "DialogContainer", "React", "event", "I18n", "Button_default", "PopupContainer_default", "import_react", "RenameCard", "props", "React", "input_default", "val", "RenameCard_default", "RenameModal", "props", "React", "PopupContainer_default", "RenameCard_default", "RenameModal_default", "BtnCard", "_BtnCard", "props", "__publicField", "newMenuName", "copyMenu", "replaceSpaceWithUnderscore", "addNewMenu", "data", "deepCopy", "userActiveCheckbox", "usersInGroup", "menu", "renameMenu", "newMenu", "newObject", "copyOfUsersInGroup", "value", "oldMenuName", "id", "cbValue", "prevProps", "prevState", "_a", "firstMenu", "React", "Grid_default", "input_default", "I18n", "val", "Button_default", "DialogConfirm", "isYes", "RenameModal_default", "AppContentHeaderMenuButtons_default", "import_react", "MenuPopupCard", "props", "__publicField", "prevProps", "React", "menu", "index", "Button_default", "id", "innerText", "AppContentHeaderMenuList_default", "HeaderMenu", "__publicField", "event", "React", "Grid_default", "btn_expand_default", "I18n", "AppContentHeaderMenuList_default", "AppContentHeaderMenuButtons_default", "AppContentHeaderMenu_default", "import_react", "import_react", "Checkbox", "__publicField", "event", "_a", "_b", "React", "I18n", "checkbox_default", "import_react", "AppContentHeaderTelegramUsersUserCard", "props", "__publicField", "isChecked", "name", "listOfUsers", "index", "chatID", "React", "checkbox_default", "AppContentHeaderTelegramUsersUserCard_default", "import_react", "AppContentHeaderTelegramUsersErrorMessage", "props", "React", "I18n", "AppContentHeaderTelegramUsersErrorMessage_default", "import_react", "CoverSaveBtn", "props", "React", "CoverSaveBtn_default", "HeaderTelegramUsers", "_HeaderTelegramUsers", "props", "__publicField", "prevProps", "isChecked", "val", "_a", "usersInGroup", "activeGroup", "userListWithChatID", "user", "item", "React", "Grid_default", "btn_expand_default", "I18n", "AppContentHeaderTelegramUsersErrorMessage_default", "key", "AppContentHeaderTelegramUsersUserCard_default", "checkbox_default", "CoverSaveBtn_default", "AppContentHeaderTelegramUsers_default", "MainActions", "props", "React", "Grid_default", "AppContentHeaderMenu_default", "AppContentHeaderTelegramUsers_default", "AppContentHeader_default", "import_react", "React", "import_jsx_runtime", "Context", "useUniquePrefix", "id", "setId", "TabContext", "props", "children", "value", "idPrefix", "context", "_jsx", "useTabContext", "getPanelId", "getTabId", "React", "import_jsx_runtime", "TabList", "props", "ref", "childrenProp", "other", "context", "useTabContext", "children", "child", "getPanelId", "getTabId", "_jsx", "Tabs_default", "TabList_default", "React", "getTabPanelUtilityClass", "slot", "generateUtilityClass", "tabPanelClasses", "generateUtilityClasses", "import_jsx_runtime", "useUtilityClasses", "ownerState", "classes", "hidden", "composeClasses", "getTabPanelUtilityClass", "TabPanelRoot", "styled_default", "props", "styles", "theme", "TabPanel", "inProps", "ref", "useThemeProps", "children", "className", "value", "keepMounted", "other", "context", "useTabContext", "id", "getPanelId", "tabId", "getTabId", "_jsx", "clsx_default", "TabPanel_default", "import_react", "import_react", "import_react", "BtnSmallAdd", "React", "Button_default", "btn_small_add_default", "import_react", "BtnSmallUp", "React", "Button_default", "btn_small_search_default", "import_react", "Textarea", "__publicField", "event", "React", "I18n", "e", "_a", "_b", "textarea_default", "theme", "Theme", "HelperCard", "props", "__publicField", "selected", "value", "oldId", "id", "React", "TableContainer_default", "Paper_default", "Table_default", "TableHead_default", "TableRow_default", "TableCell_default", "TableBody_default", "row", "index", "I18n", "btn_small_add_default", "btn_small_search_default", "textarea_default", "DialogSelectID", "HelperCard_default", "globalItems", "helperText", "element", "data", "helper_default", "import_react", "BtnCircleAdd", "props", "React", "handleMouseOver", "target", "currentElement", "handleMouseOut", "handleDragStart", "index", "event", "mouseOverNoneDraggable", "setState", "cbVal", "cb", "handleDragOver", "indexRow", "handleDragEnter", "handleStyleDragOver", "dropOver", "dropStart", "handleDragEnd", "setStateApp", "handleDraggable", "getDefaultDropBoxCoordinates", "dropBox", "dropDifferenzX", "dropDifferenzY", "import_react", "AppContentTabActionContentRowEditorTableHead", "_AppContentTabActionContentRowEditorTableHead", "props", "__publicField", "isChecked", "entry", "name", "React", "TableHead_default", "TableRow_default", "TableCell_default", "checkbox_default", "index", "I18n", "AppContentTabActionContentRowEditorTableHead_default", "import_react", "import_react", "BtnSmallRemove", "React", "Button_default", "btn_small_remove_default", "import_react", "AppContentTabActionContentRowEditorButtons", "props", "buttons", "indexRow", "rows", "setStateEditor", "React", "TableCell_default", "btn_small_add_default", "addNewRow", "btn_small_remove_default", "index", "deleteRow", "AppContentTabActionContentRowEditorButtons_default", "import_react", "Select", "__publicField", "event", "React", "I18n", "option", "index", "select_default", "import_react", "import_react", "_AppContentTabActionContentRowEditorCopyModalSelectedValues", "props", "__publicField", "I18n", "isChecked", "index", "copy", "activeMenu", "copyToMenu", "tab", "checkboxesToCopy", "rowIndexToEdit", "newTriggerName", "_a", "addTrigger", "ob", "rowToCopy", "copyData", "deepCopy", "emptyObject", "value", "i", "key", "copyToIndex", "React", "Table_default", "TableHead_default", "TableRow_default", "TableCell_default", "item", "TableBody_default", "row", "checkbox_default", "val", "entry", "menuName", "tabActionName", "rowNumber", "rowParam", "elInRow", "AppContentTabActionContentRowEditorCopyModalSelectedValues", "AppContentTabActionContentRowEditorCopyModalSelectedValues_default", "AppContentTabActionContentRowEditorCopyModal", "props", "__publicField", "val", "_a", "_b", "React", "I18n", "select_default", "AppContentTabActionContentRowEditorCopyModalSelectedValues_default", "AppContentTabActionContentRowEditorCopyModal_default", "import_react", "AppContentTabActionContentRowEditorInputAboveTable", "props", "newRow", "newUnUsedTrigger", "React", "Button_default", "I18n", "select_default", "val", "updateTrigger", "checkbox_default", "isChecked", "AppContentTabActionContentRowEditorHeader_default", "theme", "Theme", "AppContentTabActionContentRowEditor", "props", "__publicField", "obj", "updateData", "index", "moveItem", "name", "_a", "_b", "_c", "isTruthy", "checkboxes", "_", "check", "rows", "checkboxesRowToCopy", "event", "val", "isEmpty", "action", "triggerName", "isOneMenuSelected", "targetCheckboxes", "item", "ref", "value", "saveRows", "prevProps", "prevState", "newRow", "isMinOneCheckboxChecked", "checkbox", "React", "RenameModal_default", "I18n", "AppContentTabActionContentRowEditorHeader_default", "id", "TableContainer_default", "Paper_default", "Table_default", "AppContentTabActionContentRowEditorTableHead_default", "TableBody_default", "row", "indexRow", "TableRow_default", "handleDragStart", "handleDragEnd", "handleDragOver", "handleDragEnter", "handleStyleDragOver", "TableCell_default", "checkbox_default", "e", "handleMouseOver", "handleMouseOut", "input_default", "btn_small_search_default", "entry", "BtnCircleAdd", "isChecked", "AppContentTabActionContentRowEditorButtons_default", "DialogSelectID", "selected", "updateId", "PopupContainer_default", "AppContentTabActionContentRowEditorCopyModal_default", "AppContentTabActionContentRowEditor_default", "import_react", "import_react", "import_react", "BtnSmallEdit", "React", "Button_default", "btn_small_edit_default", "import_react", "BtnSmallUp", "React", "Button_default", "btn_small_up_default", "import_react", "BtnSmallDown", "React", "Button_default", "btn_small_down_default", "ButtonCard", "props", "React", "TableCell_default", "btn_small_add_default", "btn_small_edit_default", "btn_small_up_default", "btn_small_down_default", "btn_small_remove_default", "getUserArray", "data", "card", "subCard", "activeMenu", "index", "dataCopy", "deepCopy", "userArray", "element", "moveItem", "updateNative", "upDown", "newPositionIndex", "deleteRow", "index", "data", "card", "subCard", "activeMenu", "updateNative", "userArray", "dataCopy", "getUserArray", "import_react", "SubTable", "React", "Table_default", "TableBody_default", "element", "index", "TableRow_default", "TableCell_default", "e", "handleMouseOver", "handleMouseOut", "getElementIcon", "AppContentTabActionContentTableSubTable_default", "_TableDndAction", "props", "__publicField", "activeMenu", "native", "action", "elements", "rows", "entry", "index", "event", "currentElement", "moveItem", "data", "setStateTabActionContent", "dataCopy", "deepCopy", "newRow", "entriesOfParentComponent", "element", "obj", "prevProps", "React", "TableBody_default", "row", "TableRow_default", "handleDragStart", "handleDragEnd", "handleDragOver", "handleDragEnter", "handleStyleDragOver", "TableCell_default", "e", "handleMouseOver", "handleMouseOut", "indexEntry", "AppContentTabActionContentTableSubTable_default", "getElementIcon", "ButtonCard", "deleteRow", "tBodies", "tds", "tbody", "offset", "td", "TableDndAction", "AppContentTabActionContentTable_default", "ActionCard", "props", "__publicField", "trigger", "unUsedTrigger", "deepCopy", "index", "saveData", "newRow", "entry", "data", "activeMenu", "_a", "_b", "subCard", "value", "row", "combinedProps", "addNewRow", "prevProps", "prevState", "native", "tab", "inputValuesAreOk", "val", "React", "Button_default", "I18n", "TableContainer_default", "Paper_default", "Table_default", "TableHead_default", "TableRow_default", "TableCell_default", "_", "i", "AppContentTabActionContentTable_default", "PopupContainer_default", "AppContentTabActionContentRowEditor_default", "HelperCard_default", "helper_default", "AppContentTabActionContent_default", "import_react", "TabActionTabs", "props", "__publicField", "event", "newValue", "React", "Box_default", "TabList_default", "tabValues", "tab", "index", "Tab_default", "AppContentTabActionTabsListing_default", "TabAction", "props", "React", "TabContext", "AppContentTabActionTabsListing_default", "tabValues", "tab", "index", "TabPanel_default", "AppContentTabActionContent_default", "AppContentTabAction_default", "import_react", "import_react", "createData", "entriesOfParentComponent", "element", "obj", "entry", "TableDndNav", "props", "__publicField", "event", "index", "currentElement", "moveItem", "native", "activeMenu", "rowToEdit", "nav", "elements", "rows", "prevProps", "React", "TableBody_default", "row", "indexRow", "TableRow_default", "handleDraggable", "handleDragStart", "handleDragEnd", "handleDragOver", "handleDragEnter", "handleStyleDragOver", "indexCell", "TableCell_default", "e", "handleMouseOver", "handleMouseOut", "getElementIcon", "I18n", "ButtonCard", "deleteRow", "AppContentTabNavigationTableBody_default", "import_react", "TabNavHeader", "props", "React", "TableHead_default", "TableRow_default", "entry", "index", "TableCell_default", "I18n", "AppContentTabNavigationTableHeader_default", "import_react", "AppContentTabNavigationTableRowEditorCard", "props", "React", "entry", "i", "input_default", "I18n", "BtnCircleAdd", "checkbox_default", "isChecked", "AppContentTabNavigationTableRowEditorCard_default", "import_react", "TableNavEditRow", "props", "__publicField", "val", "id", "copyNewRow", "deepCopy", "isChecked", "value", "React", "PopupContainer_default", "AppContentTabNavigationTableRowEditorCard_default", "AppContentTabNavigationTableRowEditor_default", "import_react", "TableNavHelper", "props", "__publicField", "value", "React", "PopupContainer_default", "HelperCard_default", "helper_default", "AppContentTabNavigationTableHelper_default", "TabNavigation", "props", "__publicField", "value", "dataCopy", "navUserArray", "index", "obj", "entry", "copyNewRow", "deepCopy", "name", "prevProps", "prevState", "React", "TableContainer_default", "Paper_default", "Table_default", "AppContentTabNavigationTableHeader_default", "AppContentTabNavigationTableBody_default", "AppContentTabNavigationTableRowEditor_default", "AppContentTabNavigationTableHelper_default", "AppContentTabNavigation_default", "import_react", "Settings", "props", "__publicField", "isChecked", "id", "checkbox", "React", "I18n", "Grid_default", "select_default", "val", "input_default", "checkbox_default", "AppContentTabSettings_default", "import_react", "Tabs", "props", "React", "TabPanel_default", "AppContentTabNavigation_default", "navEntries", "AppContentTabAction_default", "AppContentTabSettings_default", "AppContentTab_default", "import_react", "TabListing", "props", "__publicField", "event", "val", "React", "Box_default", "TabList_default", "tab", "Tab_default", "I18n", "AppContentTabsListing_default", "import_react", "AppContent", "props", "React", "Grid_default", "Box_default", "TabContext", "AppContentTabsListing_default", "AppContentHeader_default", "AppContentTab_default", "AppContent_default", "import_react", "DoubleTriggerInfo", "props", "React", "I18n", "element", "index", "AppDoubleTriggerInfo_default", "import_react", "import_react", "_DropBox", "props", "__publicField", "menuList", "_a", "_b", "data", "deepCopy", "rowToWorkWith", "moveOrCopy", "usedTrigger", "updateTriggerForSelect", "items", "val", "event", "value", "prevProps", "prevState", "React", "select_default", "I18n", "Radio_default", "PopupContainer_default", "RenameCard_default", "e", "searchedString", "count", "element", "DropBox", "AppDropBoxContent_default", "MainDropBox", "props", "__publicField", "React", "PopupContainer_default", "onDragStart", "onDragEnd", "onDragOver", "onDrop", "onDrag", "onMouseEnter", "onMouseLeave", "AppDropBoxContent_default", "AppDropBox_default", "import_react", "AppHeaderIconBar", "props", "React", "Grid_default", "Logo", "text", "AppHeaderIconBar_default", "import_react", "import_react", "colors", "import_react", "Square", "props", "prevProps", "React", "I18n", "AppTriggerOverviewContentSquare_default", "TriggerOverview", "props", "__publicField", "val", "menuCall", "arrayUsersInGroup", "menusWithUser", "userInMenu", "menu", "index", "user", "colorIndex", "trigger", "_a", "_b", "result", "deleteDoubleEntriesInArray", "key", "colors", "I18n", "_c", "menu2", "menuObj", "action", "updateTriggerForSelect", "deepCopy", "options", "prevProps", "prevState", "React", "select_default", "AppTriggerOverviewContentSquare_default", "indexUsedTrigger", "_d", "_e", "_f", "indexUser", "indexTrigger", "item", "i", "index2", "index3", "AppTriggerOverviewContent_default", "MainTriggerOverview", "props", "React", "PopupContainer_default", "value", "AppTriggerOverviewContent_default", "AppTriggerOverview_default", "import_react", "ErrorBoundary", "props", "error", "errorInfo", "ErrorBoundary_default", "import_react", "getDoubleEntries", "array", "entries", "doubleEntries", "element", "index", "getFirstItem", "obj", "translations_default", "translations_default", "translations_default", "translations_default", "translations_default", "translations_default", "translations_default", "translations_default", "translations_default", "translations_default", "translations_default", "App", "GenericApp", "props", "extendedProps", "AdminConnection", "translations_default", "__publicField", "updatePositionDropBox", "React", "prevProps", "prevState", "updateActiveMenuAndTrigger", "sortObjectByKey", "getDoubleEntries", "newX", "newY", "getDefaultDropBoxCoordinates", "dropbox", "insertNewItemsInData", "socket_default", "data", "firstMenu", "getFirstItem", "processUserData", "ErrorBoundary_default", "Grid_default", "AppHeaderIconBar_default", "text", "native", "attr", "value", "cb", "AppContent_default", "AppDropBox_default", "AppTriggerOverview_default", "AppDoubleTriggerInfo_default", "app_default", "themeName", "Utils", "build", "ReactDOM", "React", "ThemeProvider", "Theme", "app_default", "_theme"] } diff --git a/package-lock.json b/package-lock.json index fc86e602..c4c261fb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,8 +31,8 @@ "@mui/styled-engine-sc": "^6.1.9", "@mui/styles": "^6.1.9", "@tsconfig/node20": "^20.1.4", - "@types/chai": "^4.3.14", - "@types/chai-as-promised": "^7.1.8", + "@types/chai": "^5.0.1", + "@types/chai-as-promised": "^8.0.1", "@types/glob": "^8.1.0", "@types/mocha": "^10.0.10", "@types/node": "^22.10.1", @@ -40,18 +40,18 @@ "@types/react": "^17.0.80", "@types/react-dom": "^17.0.25", "@types/sinon": "^17.0.3", - "@types/sinon-chai": "^3.2.12", - "chai": "^4.5.0", - "chai-as-promised": "^7.1.1", + "@types/sinon-chai": "^4.0.0", + "chai": "^5.1.2", + "chai-as-promised": "^8.0.1", "fs": "^0.0.1-security", - "inquirer": "^9.2.17", + "inquirer": "^12.1.0", "json5": "^2.2.3", "mocha": "^11.0.1", "proxyquire": "^2.1.3", "react": "^17.0.2", "react-dom": "^17.0.2", "sinon": "^19.0.2", - "sinon-chai": "^3.7.0", + "sinon-chai": "^4.0.0", "styled-components": "^6.1.13", "ts-node": "^10.9.2", "typescript": "~5.7.2" @@ -1254,13 +1254,253 @@ "react": "*" } }, + "node_modules/@inquirer/checkbox": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.0.2.tgz", + "integrity": "sha512-+gznPl8ip8P8HYHYecDtUtdsh1t2jvb+sWCD72GAiZ9m45RqwrLmReDaqdC0umQfamtFXVRoMVJ2/qINKGm9Tg==", + "dev": true, + "dependencies": { + "@inquirer/core": "^10.1.0", + "@inquirer/figures": "^1.0.8", + "@inquirer/type": "^3.0.1", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + } + }, + "node_modules/@inquirer/confirm": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.0.2.tgz", + "integrity": "sha512-KJLUHOaKnNCYzwVbryj3TNBxyZIrr56fR5N45v6K9IPrbT6B7DcudBMfylkV1A8PUdJE15mybkEQyp2/ZUpxUA==", + "dev": true, + "dependencies": { + "@inquirer/core": "^10.1.0", + "@inquirer/type": "^3.0.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + } + }, + "node_modules/@inquirer/core": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.0.tgz", + "integrity": "sha512-I+ETk2AL+yAVbvuKx5AJpQmoaWhpiTFOg/UJb7ZkMAK4blmtG8ATh5ct+T/8xNld0CZG/2UhtkdMwpgvld92XQ==", + "dev": true, + "dependencies": { + "@inquirer/figures": "^1.0.8", + "@inquirer/type": "^3.0.1", + "ansi-escapes": "^4.3.2", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/core/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@inquirer/editor": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.1.0.tgz", + "integrity": "sha512-K1gGWsxEqO23tVdp5MT3H799OZ4ER1za7Dlc8F4um0W7lwSv0KGR/YyrUEyimj0g7dXZd8XknM/5QA2/Uy+TbA==", + "dev": true, + "dependencies": { + "@inquirer/core": "^10.1.0", + "@inquirer/type": "^3.0.1", + "external-editor": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + } + }, + "node_modules/@inquirer/expand": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.2.tgz", + "integrity": "sha512-WdgCX1cUtinz+syKyZdJomovULYlKUWZbVYZzhf+ZeeYf4htAQ3jLymoNs3koIAKfZZl3HUBb819ClCBfyznaw==", + "dev": true, + "dependencies": { + "@inquirer/core": "^10.1.0", + "@inquirer/type": "^3.0.1", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + } + }, "node_modules/@inquirer/figures": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.3.tgz", - "integrity": "sha512-ErXXzENMH5pJt5/ssXV0DfWUZqly8nGzf0UcBV9xTnP+KyffE2mqyxIMBrZ8ijQck2nU0TQm40EQB53YreyWHw==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.8.tgz", + "integrity": "sha512-tKd+jsmhq21AP1LhexC0pPwsCxEhGgAkg28byjJAd+xhmIs8LUX8JbUc3vBf3PhLxWiB5EvyBE5X7JSPAqMAqg==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/input": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.0.2.tgz", + "integrity": "sha512-yCLCraigU085EcdpIVEDgyfGv4vBiE4I+k1qRkc9C5dMjWF42ADMGy1RFU94+eZlz4YlkmFsiyHZy0W1wdhaNg==", + "dev": true, + "dependencies": { + "@inquirer/core": "^10.1.0", + "@inquirer/type": "^3.0.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + } + }, + "node_modules/@inquirer/number": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.2.tgz", + "integrity": "sha512-MKQhYofdUNk7eqJtz52KvM1dH6R93OMrqHduXCvuefKrsiMjHiMwjc3NZw5Imm2nqY7gWd9xdhYrtcHMJQZUxA==", + "dev": true, + "dependencies": { + "@inquirer/core": "^10.1.0", + "@inquirer/type": "^3.0.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + } + }, + "node_modules/@inquirer/password": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.2.tgz", + "integrity": "sha512-tQXGSu7IO07gsYlGy3VgXRVsbOWqFBMbqAUrJSc1PDTQQ5Qdm+QVwkP0OC0jnUZ62D19iPgXOMO+tnWG+HhjNQ==", "dev": true, + "dependencies": { + "@inquirer/core": "^10.1.0", + "@inquirer/type": "^3.0.1", + "ansi-escapes": "^4.3.2" + }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + } + }, + "node_modules/@inquirer/prompts": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.1.0.tgz", + "integrity": "sha512-5U/XiVRH2pp1X6gpNAjWOglMf38/Ys522ncEHIKT1voRUvSj/DQnR22OVxHnwu5S+rCFaUiPQ57JOtMFQayqYA==", + "dev": true, + "dependencies": { + "@inquirer/checkbox": "^4.0.2", + "@inquirer/confirm": "^5.0.2", + "@inquirer/editor": "^4.1.0", + "@inquirer/expand": "^4.0.2", + "@inquirer/input": "^4.0.2", + "@inquirer/number": "^3.0.2", + "@inquirer/password": "^4.0.2", + "@inquirer/rawlist": "^4.0.2", + "@inquirer/search": "^3.0.2", + "@inquirer/select": "^4.0.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + } + }, + "node_modules/@inquirer/rawlist": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.0.2.tgz", + "integrity": "sha512-3XGcskMoVF8H0Dl1S5TSZ3rMPPBWXRcM0VeNVsS4ByWeWjSeb0lPqfnBg6N7T0608I1B2bSVnbi2cwCrmOD1Yw==", + "dev": true, + "dependencies": { + "@inquirer/core": "^10.1.0", + "@inquirer/type": "^3.0.1", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + } + }, + "node_modules/@inquirer/search": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.0.2.tgz", + "integrity": "sha512-Zv4FC7w4dJ13BOJfKRQCICQfShinGjb1bCEIHxTSnjj2telu3+3RHwHubPG9HyD4aix5s+lyAMEK/wSFD75HLA==", + "dev": true, + "dependencies": { + "@inquirer/core": "^10.1.0", + "@inquirer/figures": "^1.0.8", + "@inquirer/type": "^3.0.1", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + } + }, + "node_modules/@inquirer/select": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.0.2.tgz", + "integrity": "sha512-uSWUzaSYAEj0hlzxa1mUB6VqrKaYx0QxGBLZzU4xWFxaSyGaXxsSE4OSOwdU24j0xl8OajgayqFXW0l2bkl2kg==", + "dev": true, + "dependencies": { + "@inquirer/core": "^10.1.0", + "@inquirer/figures": "^1.0.8", + "@inquirer/type": "^3.0.1", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + } + }, + "node_modules/@inquirer/type": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.1.tgz", + "integrity": "sha512-+ksJMIy92sOAiAccGpcKZUc3bYO07cADnscIxHBknEm3uNts3movSmBofc1908BNy5edKscxYeAdaX1NXkHS6A==", + "dev": true, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" } }, "node_modules/@iobroker/adapter-core": { @@ -1645,6 +1885,15 @@ "sinon-chai": "^3.7.0" } }, + "node_modules/@iobroker/testing/node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/@iobroker/testing/node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -1654,6 +1903,48 @@ "balanced-match": "^1.0.0" } }, + "node_modules/@iobroker/testing/node_modules/chai": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", + "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", + "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@iobroker/testing/node_modules/chai-as-promised": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.2.tgz", + "integrity": "sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw==", + "dev": true, + "dependencies": { + "check-error": "^1.0.2" + }, + "peerDependencies": { + "chai": ">= 2.1.2 < 6" + } + }, + "node_modules/@iobroker/testing/node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" + } + }, "node_modules/@iobroker/testing/node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -1665,6 +1956,18 @@ "wrap-ansi": "^7.0.0" } }, + "node_modules/@iobroker/testing/node_modules/deep-eql": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", + "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", + "dev": true, + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/@iobroker/testing/node_modules/fs-extra": { "version": "11.2.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", @@ -1699,6 +2002,15 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/@iobroker/testing/node_modules/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.1" + } + }, "node_modules/@iobroker/testing/node_modules/minimatch": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", @@ -1746,6 +2058,25 @@ "node": ">= 14.0.0" } }, + "node_modules/@iobroker/testing/node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/@iobroker/testing/node_modules/sinon-chai": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-3.7.0.tgz", + "integrity": "sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g==", + "dev": true, + "peerDependencies": { + "chai": "^4.0.0", + "sinon": ">=4.0.0" + } + }, "node_modules/@iobroker/testing/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -1761,6 +2092,15 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/@iobroker/testing/node_modules/type-detect": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/@iobroker/testing/node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -1937,18 +2277,6 @@ "node": ">=v12.0.0" } }, - "node_modules/@ljharb/through": { - "version": "2.3.13", - "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.13.tgz", - "integrity": "sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/@mui/base": { "version": "5.0.0-beta.63", "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.63.tgz", @@ -2680,20 +3008,29 @@ "dev": true }, "node_modules/@types/chai": { - "version": "4.3.16", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.16.tgz", - "integrity": "sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==", - "dev": true + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.0.1.tgz", + "integrity": "sha512-5T8ajsg3M/FOncpLYW7sdOcD6yf4+722sze/tc4KQV0P8Z2rAr3SAuHCIkYmYpt8VbcQlnz8SxlOlPQYefe4cA==", + "dev": true, + "dependencies": { + "@types/deep-eql": "*" + } }, "node_modules/@types/chai-as-promised": { - "version": "7.1.8", - "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.8.tgz", - "integrity": "sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-8.0.1.tgz", + "integrity": "sha512-dAlDhLjJlABwAVYObo9TPWYTRg9NaQM5CXeaeJYcYAkvzUf0JRLIiog88ao2Wqy/20WUnhbbUZcgvngEbJ3YXQ==", "dev": true, "dependencies": { "@types/chai": "*" } }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true + }, "node_modules/@types/estree": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", @@ -2862,9 +3199,9 @@ } }, "node_modules/@types/sinon-chai": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.12.tgz", - "integrity": "sha512-9y0Gflk3b0+NhQZ/oxGtaAJDvRywCa5sIyaVnounqLvmf93yBF4EgIRspePtkMs3Tr844nCclYMlcCNmLCvjuQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-4.0.0.tgz", + "integrity": "sha512-Uar+qk3TmeFsUWCwtqRNqNUE7vf34+MCJiQJR5M2rd4nCbhtE8RgTiHwN/mVwbfCjhmO6DiOel/MgzHkRMJJFg==", "dev": true, "dependencies": { "@types/chai": "*", @@ -3454,12 +3791,12 @@ } }, "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true, "engines": { - "node": "*" + "node": ">=12" } }, "node_modules/async": { @@ -3579,17 +3916,6 @@ "file-uri-to-path": "1.0.0" } }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -3657,30 +3983,6 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", @@ -3711,6 +4013,7 @@ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dev": true, + "peer": true, "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -3789,44 +4092,33 @@ } }, "node_modules/chai": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", - "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.2.tgz", + "integrity": "sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==", "dev": true, "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.1.0" + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=12" } }, "node_modules/chai-as-promised": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.2.tgz", - "integrity": "sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-8.0.1.tgz", + "integrity": "sha512-OIEJtOL8xxJSH8JJWbIoRjybbzR52iFuDHuF8eb+nTPD6tgXLjRqsgnUGqQfFODxYvq5QdirT0pN9dZ0+Gz6rA==", "dev": true, "dependencies": { - "check-error": "^1.0.2" + "check-error": "^2.0.0" }, "peerDependencies": { "chai": ">= 2.1.2 < 6" } }, - "node_modules/chai/node_modules/type-detect": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", - "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -3850,15 +4142,12 @@ "dev": true }, "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true, - "dependencies": { - "get-func-name": "^2.0.2" - }, "engines": { - "node": "*" + "node": ">= 16" } }, "node_modules/chokidar": { @@ -3938,30 +4227,6 @@ "node": ">=0.8.0" } }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/cli-width": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", @@ -4002,15 +4267,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, "node_modules/clsx": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", @@ -4317,13 +4573,10 @@ "dev": true }, "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", "dev": true, - "dependencies": { - "type-detect": "^4.0.0" - }, "engines": { "node": ">=6" } @@ -4334,23 +4587,12 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/define-data-property": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, + "peer": true, "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -4594,6 +4836,7 @@ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "dev": true, + "peer": true, "dependencies": { "get-intrinsic": "^1.2.4" }, @@ -4606,6 +4849,7 @@ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "dev": true, + "peer": true, "engines": { "node": ">= 0.4" } @@ -5759,6 +6003,7 @@ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, + "peer": true, "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2", @@ -5982,6 +6227,7 @@ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dev": true, + "peer": true, "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -6040,6 +6286,7 @@ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, + "peer": true, "dependencies": { "es-define-property": "^1.0.0" }, @@ -6052,6 +6299,7 @@ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "dev": true, + "peer": true, "engines": { "node": ">= 0.4" }, @@ -6064,6 +6312,7 @@ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true, + "peer": true, "engines": { "node": ">= 0.4" }, @@ -6196,26 +6445,6 @@ "node": ">=0.10.0" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/ignore": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", @@ -6284,41 +6513,24 @@ "dev": true }, "node_modules/inquirer": { - "version": "9.2.23", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.23.tgz", - "integrity": "sha512-kod5s+FBPIDM2xiy9fu+6wdU/SkK5le5GS9lh4FEBjBHqiMgD9lLFbCbuqFNAjNL2ZOy9Wd9F694IOzN9pZHBA==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-12.1.0.tgz", + "integrity": "sha512-3/iexk64jn3EF0tjWYfOJi/DNWtcSSwg4ER67cnopO2xlCTUQjFCTMH9NBNQAMO/+dC3sEvKJtGJsqXnCkSsFg==", "dev": true, "dependencies": { - "@inquirer/figures": "^1.0.3", - "@ljharb/through": "^2.3.13", + "@inquirer/core": "^10.1.0", + "@inquirer/prompts": "^7.1.0", + "@inquirer/type": "^3.0.1", "ansi-escapes": "^4.3.2", - "chalk": "^5.3.0", - "cli-cursor": "^3.1.0", - "cli-width": "^4.1.0", - "external-editor": "^3.1.0", - "lodash": "^4.17.21", - "mute-stream": "1.0.0", - "ora": "^5.4.1", + "mute-stream": "^2.0.0", "run-async": "^3.0.0", - "rxjs": "^7.8.1", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^6.2.0" + "rxjs": "^7.8.1" }, "engines": { "node": ">=18" - } - }, - "node_modules/inquirer/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true, - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "@types/node": ">=18" } }, "node_modules/internal-slot": { @@ -6605,15 +6817,6 @@ "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==", "dev": true }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/is-map": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", @@ -7447,13 +7650,10 @@ } }, "node_modules/loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", - "dev": true, - "dependencies": { - "get-func-name": "^2.0.1" - } + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.2.tgz", + "integrity": "sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==", + "dev": true }, "node_modules/lru-cache": { "version": "6.0.0", @@ -7829,12 +8029,12 @@ "dev": true }, "node_modules/mute-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", - "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", "dev": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/nan": { @@ -8107,41 +8307,6 @@ "node": ">= 0.8.0" } }, - "node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -8315,12 +8480,12 @@ } }, "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", "dev": true, "engines": { - "node": "*" + "node": ">= 14.16" } }, "node_modules/pause-stream": { @@ -9087,19 +9252,6 @@ "node": ">= 6" } }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", @@ -9305,6 +9457,7 @@ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, + "peer": true, "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -9419,12 +9572,12 @@ } }, "node_modules/sinon-chai": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-3.7.0.tgz", - "integrity": "sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-4.0.0.tgz", + "integrity": "sha512-cWqO7O2I4XfJDWyWElAQ9D/dtdh5Mo0RHndsfiiYyjWnlPzBJdIvjCVURO4EjyYaC3BjV+ISNXCfTXPXTEIEWA==", "dev": true, "peerDependencies": { - "chai": "^4.0.0", + "chai": "^5.0.0", "sinon": ">=4.0.0" } }, @@ -10370,15 +10523,6 @@ "spdx-license-ids": "^3.0.0" } }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, - "dependencies": { - "defaults": "^1.0.3" - } - }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", @@ -10741,6 +10885,18 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz", + "integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/package.json b/package.json index d3af1db7..2572cab9 100644 --- a/package.json +++ b/package.json @@ -43,8 +43,8 @@ "@mui/styled-engine-sc": "^6.1.9", "@mui/styles": "^6.1.9", "@tsconfig/node20": "^20.1.4", - "@types/chai": "^4.3.14", - "@types/chai-as-promised": "^7.1.8", + "@types/chai": "^5.0.1", + "@types/chai-as-promised": "^8.0.1", "@types/glob": "^8.1.0", "@types/mocha": "^10.0.10", "@types/node": "^22.10.1", @@ -52,18 +52,18 @@ "@types/react": "^17.0.80", "@types/react-dom": "^17.0.25", "@types/sinon": "^17.0.3", - "@types/sinon-chai": "^3.2.12", - "chai": "^4.5.0", - "chai-as-promised": "^7.1.1", + "@types/sinon-chai": "^4.0.0", + "chai": "^5.1.2", + "chai-as-promised": "^8.0.1", "fs": "^0.0.1-security", - "inquirer": "^9.2.17", + "inquirer": "^12.1.0", "json5": "^2.2.3", "mocha": "^11.0.1", "proxyquire": "^2.1.3", "react": "^17.0.2", "react-dom": "^17.0.2", "sinon": "^19.0.2", - "sinon-chai": "^3.7.0", + "sinon-chai": "^4.0.0", "styled-components": "^6.1.13", "ts-node": "^10.9.2", "typescript": "~5.7.2"
    ;\n }\n}\n\nexport default CoverSaveBtn;\n", "import React, { Component } from 'react';\nimport { TabContext, TabPanel } from '@mui/lab';\nimport AppContentTabActionContent from './AppContentTabActionContent';\nimport { tabValues } from '@/config/entries';\nimport AppContentTabActionTabsListing from './AppContentTabActionTabsListing';\nimport type { PropsTabAction, StateTabAction } from '@/types/app';\n\nclass TabAction extends Component {\n constructor(props: PropsTabAction) {\n super(props);\n this.state = {\n value: 'set',\n };\n }\n\n render(): React.ReactNode {\n return (\n \n \n {tabValues.map((tab, index) => (\n \n \n \n ))}\n \n );\n }\n}\n\nexport default TabAction;\n", "'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the d.ts file and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired\n} : void 0;\n\n/**\n * @returns {unknown}\n */\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n if (idPrefix === null) {\n return null;\n }\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n if (idPrefix === null) {\n return null;\n }\n return `${context.idPrefix}-T-${value}`;\n}", "'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from \"../TabContext/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp,\n ...other\n } = props;\n const context = useTabContext();\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, {\n ...other,\n ref: ref,\n value: context.value,\n children: children\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the d.ts file and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;", "'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from \"./tabPanelClasses.js\";\nimport { getPanelId, getTabId, useTabContext } from \"../TabContext/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n hidden\n } = ownerState;\n const slots = {\n root: ['root', hidden && 'hidden']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n const {\n children,\n className,\n value,\n keepMounted = false,\n ...other\n } = props;\n const ownerState = {\n ...props\n };\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, {\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState,\n ...other,\n children: (keepMounted || value === context.value) && children\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the d.ts file and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Always keep the children in the DOM.\n * @default false\n */\n keepMounted: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired\n} : void 0;\nexport default TabPanel;", "import generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root', 'hidden']);\nexport default tabPanelClasses;", "import { deepCopy } from '@/lib/Utils.js';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport { Paper, Table, TableCell, TableContainer, TableHead, TableRow } from '@mui/material';\nimport React, { Component } from 'react';\nimport HelperCard from '@/components/popupCards/HelperCard';\nimport PopupContainer from '@/components/popupCards/PopupContainer';\nimport helperText from '@/config/helper.js';\nimport { addNewRow } from '@/lib/actionUtils.js';\nimport AppContentTabActionContentRowEditor from '@/pages/AppContentTabActionContentRowEditor';\nimport AppContentTabActionContentTable from '@/pages/AppContentTabActionContentTable';\nimport Button from '@components/Button';\nimport type { ActionData, ActionNewRowProps, PropsActionCard, StateActionCard } from '@/types/app';\nimport type { EventButton } from '@/types/event';\nimport type { UpdateProps } from '@/types/props-types';\n\nclass ActionCard extends Component {\n constructor(props: PropsActionCard) {\n super(props);\n this.state = {\n rowPopup: false,\n rowIndexToEdit: 0,\n editRow: false,\n newRow: {} as ActionNewRowProps,\n rowsLength: 0,\n newUnUsedTrigger: this.props.data.state.unUsedTrigger,\n helperText: false,\n helperTextFor: '',\n helperTextForInput: '',\n editedValueFromHelperText: null,\n isOK: false,\n valueForSave: null,\n inputValuesAreOK: true,\n disableInput: false,\n nav: '',\n text: '',\n };\n }\n\n componentDidUpdate(prevProps: Readonly, prevState: Readonly): void {\n const { native, activeMenu } = this.props.data.state;\n if (prevState.editedValueFromHelperText !== this.state.editedValueFromHelperText) {\n if (this.state.editedValueFromHelperText !== null && this.state.editedValueFromHelperText !== undefined) {\n if (this.state.editedValueFromHelperText !== '') {\n this.setState({ isOK: this.checkNewValueIsOK() });\n }\n }\n }\n\n if (prevProps.data !== this.props.data || activeMenu !== prevProps.data.state.activeMenu) {\n this.getLengthOfData(native.data.action, activeMenu);\n }\n\n if (prevState.newRow !== this.state.newRow) {\n this.disableButtonHandler();\n }\n }\n\n checkNewValueIsOK = (): boolean => {\n return !!(\n this.state.editedValueFromHelperText &&\n this.state.editedValueFromHelperText !== '' &&\n this.state.editedValueFromHelperText !== this.state[this.state.helperTextFor]\n );\n };\n\n addEditedTrigger = (trigger: string | null): void => {\n const unUsedTrigger = deepCopy(this.props.data.state.unUsedTrigger);\n if (!unUsedTrigger) {\n return;\n }\n if (trigger) {\n this.setState({ newUnUsedTrigger: [...unUsedTrigger, trigger] });\n return;\n }\n };\n\n private disableButtonHandler(): void {\n const { tab } = this.props.data;\n let inputValuesAreOk = true;\n const row = this.state.newRow;\n\n tab.entries.forEach(entry => {\n if (!entry.checkbox && entry.required) {\n if (!row[entry.name]) {\n row[entry.name] = [''];\n }\n row[entry.name].forEach(val => {\n if (inputValuesAreOk && entry.name === 'values') {\n if (typeof val !== 'string') {\n inputValuesAreOk = false;\n }\n return;\n }\n if (inputValuesAreOk && val == '') {\n inputValuesAreOk = false;\n }\n });\n }\n });\n\n if (this.state.inputValuesAreOK !== inputValuesAreOk) {\n this.setState({ inputValuesAreOK: inputValuesAreOk });\n }\n }\n\n componentDidMount(): void {\n const { native, activeMenu } = this.props.data.state;\n this.resetNewRow();\n this.getLengthOfData(native.data?.action, activeMenu);\n }\n\n openAddRowCard = ({ index }: EventButton): void => {\n this.addEditedTrigger(null);\n this.setState({ rowPopup: true, rowIndexToEdit: index });\n };\n\n eventModalButtonClick = ({ value: saveData }: EventButton): void => {\n if (saveData) {\n this.saveData();\n }\n this.setState({ newUnUsedTrigger: null, rowPopup: false, editRow: false });\n this.resetNewRow();\n };\n\n saveData(): void {\n const { value: subCard } = this.props.data.tab;\n const { native, activeMenu } = this.props.data.state;\n const data = deepCopy(native.data);\n if (!data) {\n return;\n }\n if (!data.action[activeMenu][subCard]) {\n data.action[activeMenu][subCard] = [];\n }\n if (this.state.editRow) {\n data.action[activeMenu][subCard].splice(this.state.rowIndexToEdit, 1, this.state.newRow);\n } else {\n data.action[activeMenu][subCard].splice(this.state.rowIndexToEdit + 1, 0, this.state.newRow);\n }\n\n this.props.callback.updateNative('data', data);\n }\n\n resetNewRow = (): void => {\n const newRow = {} as ActionNewRowProps;\n this.props.data.tab.entries.forEach(entry => {\n newRow[entry.name] = [entry.val || ''];\n });\n this.setState({ newRow: newRow });\n };\n\n getLengthOfData = (data: ActionData, activeMenu: string): void => {\n const { value: subCard } = this.props.data.tab;\n\n if (data?.[activeMenu]?.[subCard]?.length) {\n this.setState({ rowsLength: data[activeMenu][subCard].length });\n return;\n }\n this.setState({ rowsLength: 0 });\n };\n\n openHelperText = (value: { subCard: string; entry: string; index: number }): void => {\n this.setState({ valueForSave: value });\n if (value) {\n this.setState({\n editedValueFromHelperText: this.state.newRow[value.entry][value.index],\n helperTextFor: value.subCard,\n helperTextForInput: value.entry,\n });\n }\n\n this.setState({ helperText: true });\n };\n\n onchangeValueFromHelper = ({ value }: EventButton): void => {\n if (this.state.editedValueFromHelperText === null) {\n this.setState({ editedValueFromHelperText: value as string });\n return;\n }\n this.setState({ editedValueFromHelperText: `${this.state.editedValueFromHelperText} ${value}` });\n };\n\n popupHelperCard = ({ value }: EventButton): void => {\n if (value) {\n const row = deepCopy(this.state.newRow);\n if (!row) {\n return;\n }\n if (!this.state.valueForSave) {\n return;\n }\n row[this.state.valueForSave?.entry][this.state.valueForSave?.index] = this.state.editedValueFromHelperText;\n this.setState({ newRow: row });\n }\n this.setState({ helperText: false, editedValueFromHelperText: null });\n };\n\n addNewRow = ({ index }: EventButton): void => {\n this.setState({ rowPopup: true });\n const combinedProps: UpdateProps = {\n data: {\n newRow: this.state.newRow,\n tab: { entries: this.props.data.tab.entries },\n },\n };\n addNewRow(index, combinedProps, this.props.callback.setStateApp, this.props.callback.setStateApp);\n };\n\n render(): React.ReactNode {\n return (\n <>\n {this.state.rowsLength == 0 ? (\n \n add\n {I18n.t('addAction')}\n \n ) : (\n \n \n \n \n {this.props.data.tab.entries.map((entry, index) => (\n \n \n {I18n.t(entry.headline)}\n \n \n ))}\n {Array(Object.keys(this.props.data.showButtons).length)\n .fill(undefined)\n .map((_, i) => (\n \n ))}\n \n \n \n \n \n )}\n {this.state.rowPopup ? (\n \n \n \n ) : null}\n {this.state.helperText ? (\n \n \n \n ) : null}\n \n );\n }\n}\n\nexport default ActionCard;\n", "import React, { Component } from 'react';\nimport Table from '@mui/material/Table';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableContainer from '@mui/material/TableContainer';\nimport TableHead from '@mui/material/TableHead';\nimport TableRow from '@mui/material/TableRow';\nimport Paper from '@mui/material/Paper';\nimport { I18n, type IobTheme, SelectID, Theme } from '@iobroker/adapter-react-v5';\nimport BtnSmallAdd from '../btn-Input/btn-small-add';\nimport BtnSmallSearch from '../btn-Input/btn-small-search';\nimport Textarea from '../btn-Input/textarea';\nimport type { PropsHelperCard, socket, StateHelperCard } from '@/types/app';\n\nconst theme: IobTheme = Theme('light');\n\nclass HelperCard extends Component {\n constructor(props: PropsHelperCard) {\n super(props);\n this.state = {\n rows: this.props.helper[this.props.val],\n showSelectId: false,\n selectedId: '',\n };\n }\n\n updateId = (selected: string | string[] | undefined): void => {\n const value = this.props.editedValueFromHelperText;\n if (value.includes('ID')) {\n this.props.setState({ editedValueFromHelperText: value.replace('ID', selected as string) });\n return;\n } else if (value.includes(\"'id':'\")) {\n const oldId = value.split(\"'id':'\")[1].split(\"'}\")[0];\n this.props.setState({ editedValueFromHelperText: value.replace(oldId, selected as string) });\n return;\n }\n this.props.setState({ editedValueFromHelperText: `${value} ${selected}` });\n };\n\n openSelectId = (): void => {\n if (this.props.editedValueFromHelperText) {\n if (\n this.props.editedValueFromHelperText.includes(\"'id':'\") &&\n !this.props.editedValueFromHelperText.includes('ID')\n ) {\n const id = this.props.editedValueFromHelperText.split(\"'id':'\")[1].split(\"'}\")[0];\n this.setState({ selectedId: id });\n }\n\n this.setState({ showSelectId: true });\n }\n };\n\n render(): React.ReactNode {\n return (\n <>\n \n \n \n \n Text\n Info\n \n \n \n \n {this.state.rows[this.props.helperTextForInput].map((row, index) => (\n \n \n {row.text}\n \n \n {row.head ?
    : null}\n
    \n \n {row.text ? (\n \n \n \n ) : null}\n \n ))}\n \n \n \n\n {['nav', 'text', 'set', 'get', 'value'].includes(this.props.val) ? (\n \n ) : null}\n \n {this.state.showSelectId ? (\n this.setState({ showSelectId: false })}\n onOk={selected => {\n this.setState({ showSelectId: false });\n this.updateId(selected);\n }}\n />\n ) : null}\n \n );\n }\n}\n\nexport default HelperCard;\n", "import React, { Component } from 'react';\nimport Button from '../Button';\nimport type { ButtonSmallProps } from '@/types/app';\n\nclass BtnSmallAdd extends Component {\n render(): React.ReactNode {\n return (\n \n add\n \n );\n }\n}\n\nexport default BtnSmallAdd;\n", "import React, { Component } from 'react';\nimport Button from '../Button';\nimport type { ButtonSmallProps } from '@/types/app';\n\nclass BtnSmallUp extends Component {\n render(): React.ReactNode {\n return (\n \n search\n \n );\n }\n}\n\nexport default BtnSmallUp;\n", "import React, { Component } from 'react';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport type { PropsTextarea, StateTextarea } from '@/types/app';\n\nclass Textarea extends Component {\n onChangeHandler = (event: React.ChangeEvent | undefined): void => {\n if (!event) {\n return;\n }\n\n this.props.callback({ [this.props.id]: event?.target.value });\n };\n\n render(): React.ReactNode {\n return (\n
    \n \n
    \n );\n }\n}\n\nexport default Textarea;\n", "const globalItems = [\n {\n status: '',\n places: ['text', 'value'],\n data: [\n {\n text: \"{status:'ID':true}\",\n info: 'statusMenu',\n },\n ],\n },\n { newline: '', places: ['text', 'set', 'get'], data: [{ text: '\\\\n', info: 'breakpointNewline' }] },\n {\n parse_Mode: '',\n places: ['text', 'set', 'get'],\n data: [\n { text: ' ', info: 'parseModeBold' },\n { text: ' ', info: 'parseModeItalic' },\n { text: ' ', info: 'parseModeCode' },\n { text: '
    Link', info: 'parseModeLink' },\n ],\n },\n {\n time: '',\n places: ['text', 'get'],\n data: [{ text: '{time}', info: 'convertsUnixTimestamp' }],\n },\n {\n change: '',\n places: ['text', 'set', 'get'],\n data: [\n {\n text: 'change{\"true\":\"an\",\"false\":\"aus\"}',\n info: 'changeFunction',\n },\n ],\n },\n {\n textID: '',\n places: ['text', 'set'],\n data: [\n {\n text: '',\n info: 'insertID',\n },\n ],\n },\n];\nexport interface HelperText {\n nav: {\n value: { text: string; head?: string; info: string }[];\n text: { text: string; info: string }[];\n };\n get: { text: { text: string; info: string }[] };\n set: {\n returnText: { text: string; info: string }[];\n values: { text: string; info: string }[];\n };\n}\nconst helperText: HelperText = {\n // Nav\n nav: {\n value: [\n {\n text: 'menu:percent10:TRIGGER:',\n head: 'Submenu Percent
    ',\n info: 'menuPercent',\n },\n {\n text: 'menu:number0-6-1-UNIT:TRIGGER:',\n head: 'Submenu Number
    ',\n info: 'menuNumber',\n },\n {\n text: 'menu:switch-ein.true-aus.false:TRIGGER:',\n head: 'Submenu Switch
    ',\n info: 'menuSwitch',\n },\n {\n text: 'menu:dynSwitch[Name1|value1, Name2|value2, value3]:TRIGGER:LengthOfRow:',\n head: 'Submenu Dynamic Switch
    ',\n info: 'menuDynamicSwitch',\n },\n {\n text: 'menu:deleteAll:Navigation',\n head: 'Submenu Delete All
    ',\n info: 'menuDeleteAll',\n },\n\n {\n text: 'menu:back',\n info: 'menuBack',\n },\n ],\n text: [\n {\n text: \"{set:'id':'ID',val,ack}\",\n info: 'setID',\n },\n {\n text: \"{time.lc,(DD MM YYYY hh:mm:ss:sss),id:'ID'}\",\n info: 'lcTimestamp',\n },\n {\n text: \"{time.ts,(DD MM YYYY hh:mm:ss:sss),id:'ID'}\",\n info: 'tsTimestamp',\n },\n ],\n },\n get: {\n text: [\n { text: '{math:/10}', info: 'math' },\n\n { text: '{common.name}', info: 'commonName' },\n { text: '&&', info: 'placeholderValue' },\n { text: '{round:2}', info: 'valueRound' },\n {\n text: '{time.lc,(DD MM YYYY hh:mm:ss:sss)}',\n info: 'lcTimeStamp',\n },\n {\n text: '{time.ts,(DD MM YYYY hh:mm:ss:sss)}',\n info: 'tsTimeStamp',\n },\n\n {\n text: '{var1:ID;var2:ID; var1 ==var2 ? \"equal\" : var1 < var2 ? \"var1 is smaller\" : \"var1 is greater\"}',\n info: 'binding',\n },\n {\n text: '{json;[value-1-inJSON:NameTH-Col1,value-2-inJSON:NameTH-Col1];Header;}',\n info: 'jsonTable',\n },\n {\n text: '{json;[name:Name];Header;shoppinglist;}',\n info: 'jsonShoppingList',\n },\n {\n text: '{json;[value-1-inJSON:NameTH-Col1,value-2-inJSON:NameTH-Col1];Header;TextTable;}',\n info: 'jsonTable',\n },\n ],\n },\n set: {\n returnText: [\n { text: '{novalue}', info: 'noValue' },\n { text: '&&', info: 'placeholderValue' },\n {\n text: \"{'id':'ID','text':'Your Text'}\",\n info: 'notifiedByChangeOfAnotherState',\n },\n {\n text: '{confirmSet:The value has been set:noValue}',\n info: 'confirmSet',\n },\n {\n text: '{setDynamicValue:RequestText:Type:ConfirmText:ID:}',\n info: 'setDynamicValue',\n },\n ],\n values: [\n {\n text: '{id:ID}',\n info: 'manuallyValue',\n },\n {\n text: '{value}',\n info: 'modifiedSubmenuValue',\n },\n ],\n },\n};\nglobalItems.forEach(element => {\n element.data.forEach(data => {\n if (element.places.includes('value')) {\n helperText.nav.value.push(data);\n }\n if (element.places.includes('text')) {\n helperText.nav.text.push(data);\n }\n if (element.places.includes('set')) {\n helperText.set.returnText.push(data);\n }\n if (element.places.includes('get')) {\n helperText.get.text.push(data);\n }\n });\n});\nexport default helperText;\n", "import React from 'react';\nimport type { BtnCircleAddTypeProps } from '@/types/props-types';\n\nexport const BtnCircleAdd = (props: BtnCircleAddTypeProps): React.JSX.Element => {\n const clickHandler = (): void => {\n props.callback();\n };\n\n return (\n \n );\n};\n", "import type { Dropbox, SetStateFunction } from '@/types/app';\nexport const handleMouseOver = (e: React.MouseEvent | undefined): void => {\n const target = e?.target as HTMLElement;\n if (target.classList.contains('noneDraggable')) {\n let currentElement: HTMLElement | null = target;\n\n while (currentElement) {\n if (currentElement.tagName === 'TR' && !currentElement.classList.contains('SubTable')) {\n currentElement.draggable = false;\n return;\n }\n currentElement = currentElement.parentElement;\n }\n }\n};\n\nexport const handleMouseOut = (e: React.MouseEvent | undefined): void => {\n const target = e?.target as HTMLElement;\n if (target.classList.contains('noneDraggable') && !target.classList.contains('draggingDropBox')) {\n let currentElement: HTMLElement | null = target;\n while (currentElement) {\n if (currentElement.tagName === 'TR' && !currentElement.classList.contains('SubTable')) {\n currentElement.draggable = true;\n return;\n }\n currentElement = currentElement.parentElement;\n }\n }\n};\n\nexport const handleDragStart = (\n index: number,\n event: React.DragEvent | undefined,\n mouseOverNoneDraggable: boolean,\n setState: SetStateFunction,\n cbVal?: object,\n cb?: (cbVal: object) => void,\n): boolean | undefined => {\n if (mouseOverNoneDraggable && event) {\n const target = event.target as HTMLElement;\n target.style.userSelect = 'text';\n return false;\n }\n setState({ dropStart: index });\n if (cb) {\n cb(cbVal || {});\n }\n};\nexport const handleDragOver = (indexRow: number, event: React.DragEvent): void => {\n event.preventDefault();\n};\n\nexport const handleDragEnter = (index: number, setState: SetStateFunction): void => {\n setState({ dropOver: index });\n};\n\nexport const handleStyleDragOver = (\n index: number,\n dropOver: number,\n dropStart: number,\n): { borderTop?: string; borderBottom?: string } => {\n return dropOver === index && dropStart > index\n ? { borderTop: '2px solid #3399cc' }\n : dropOver === index && dropStart < index\n ? { borderBottom: '2px solid #3399cc' }\n : {};\n};\n\nexport const handleDragEnd = (setState: SetStateFunction, setStateApp?: SetStateFunction): void => {\n setState({ dropStart: 0 });\n setState({ dropOver: 0 });\n if (setStateApp) {\n setStateApp({ draggingRowIndex: null });\n }\n};\n\nexport const handleDraggable = (index: number): 'true' | 'false' => {\n return index === 0 ? 'false' : 'true';\n};\n\nexport function getDefaultDropBoxCoordinates(\n dropBox: Dropbox.Position,\n dropDifferenzX: number,\n dropDifferenzY: number,\n): { newX: number; newY: number } {\n if (dropBox && dropBox.dropboxRight && dropBox.dropboxTop) {\n return { newX: dropBox.dropboxRight - dropDifferenzX, newY: dropBox.dropboxTop + dropDifferenzY };\n }\n return { newX: 5 - dropDifferenzX, newY: 105 + dropDifferenzY };\n}\n", "import { I18n } from '@iobroker/adapter-react-v5';\nimport { TableCell, TableHead, TableRow } from '@mui/material';\nimport type { TabValueEntries } from '@/types/app';\nimport React, { Component } from 'react';\nimport Checkbox from '@/components/btn-Input/checkbox';\nimport type { EventCheckbox } from '@/types/event';\nimport type { PropsActionEditHeader } from '@/types/props-types';\n\nexport interface StateActionEditHeader {\n checkAll: boolean;\n isChecked: boolean;\n}\n\nclass AppContentTabActionContentRowEditorTableHead extends Component {\n constructor(props: PropsActionEditHeader) {\n super(props);\n this.state = {\n checkAll: false,\n isChecked: false,\n };\n }\n clickCheckBox = ({ isChecked }: EventCheckbox): void => {\n this.setState({ isChecked });\n this.props.callback.checkAll(isChecked);\n };\n\n static shouldShowInHeader(entry: TabValueEntries): boolean {\n return entry.name != 'trigger' && entry.name != 'parse_mode';\n }\n static isHeaderForDataCheckbox(name: string): string {\n return ['Con', 'Swi', 'Ack'].includes(name) ? 'table__head_checkbox' : '';\n }\n\n render(): React.ReactNode {\n return (\n \n \n \n \n \n {this.props.tab.entries.map((entry, index) =>\n AppContentTabActionContentRowEditorTableHead.shouldShowInHeader(entry) ? (\n \n \n {I18n.t(entry.headline)}\n \n \n ) : null,\n )}\n {this.props.tab.popupCard.buttons.add ? (\n \n ) : null}\n {this.props.tab.popupCard.buttons.remove ? (\n \n ) : null}\n \n \n );\n }\n}\n\nexport default AppContentTabActionContentRowEditorTableHead;\n", "import { BtnCircleAdd } from '@/components/btn-Input/btn-circle-add';\nimport BtnSmallSearch from '@/components/btn-Input/btn-small-search';\nimport Input from '@/components/btn-Input/input';\nimport { isChecked } from '@/lib/Utils.js';\nimport { moveItem, saveRows, updateData, updateId } from '@/lib/actionUtils.js';\nimport {\n handleDragEnd,\n handleDragEnter,\n handleDragOver,\n handleDragStart,\n handleMouseOut,\n handleMouseOver,\n handleStyleDragOver,\n} from '@/lib/dragNDrop.js';\nimport { isTruthy } from '@/lib/string';\nimport AppContentTabActionContentRowEditorTableHead from '@/pages/AppContentTabActionContentRowEditorTableHead';\nimport RenameModal from '@components/RenameModal';\nimport Checkbox from '@components/btn-Input/checkbox';\nimport PopupContainer from '@components/popupCards/PopupContainer';\nimport { I18n, type IobTheme, SelectID, Theme } from '@iobroker/adapter-react-v5';\nimport { Paper, Table, TableBody, TableCell, TableContainer, TableRow } from '@mui/material';\nimport type { NativeData, PropsRowEditPopupCard, StateRowEditPopupCard } from '@/types/app';\nimport React, { Component } from 'react';\nimport type { EventButton, EventCheckbox } from '@/types/event';\nimport AppContentTabActionContentRowEditorButtons from './AppContentTabActionContentRowEditorButtons';\nimport AppContentTabActionContentRowEditorCopyModal from './AppContentTabActionContentRowEditorCopyModal';\nimport type AppContentTabActionContentRowEditorCopyModalSelectedValues from './AppContentTabActionContentRowEditorCopyModalSelectedValues';\nimport AppContentTabActionContentRowEditorHeader from './AppContentTabActionContentRowEditorHeader';\nimport type { SaveDataObject } from '@/types/props-types';\n\nconst theme: IobTheme = Theme('light');\n\nclass AppContentTabActionContentRowEditor extends Component {\n constructor(props: PropsRowEditPopupCard) {\n super(props);\n this.state = {\n rows: [],\n trigger: '',\n showSelectId: false,\n selectIdValue: '',\n indexID: 0,\n dropStart: 0,\n dropEnd: 0,\n dropOver: 0,\n mouseOverNoneDraggable: false,\n itemForID: '',\n openCopyPopup: false,\n indexOfRowToCopyForModal: 0,\n checkboxes: [],\n isMinOneCheckboxChecked: false,\n copyModalOpen: false,\n copyToMenu: '',\n openRenameModal: false,\n isValueChanged: false,\n triggerName: '',\n renamedTriggerName: '',\n saveData: {\n checkboxesToCopy: [],\n copyToMenu: '',\n activeMenu: '',\n tab: '',\n rowIndexToEdit: 0,\n newTriggerName: '',\n },\n targetCheckboxes: {},\n isValueOk: false,\n };\n }\n componentDidMount(): void {\n saveRows(this.props, this.setState.bind(this), [], this.state.rows);\n this.initCheckboxesForEachRow();\n }\n\n componentDidUpdate(prevProps: Readonly, prevState: Readonly): void {\n const { newRow } = this.props.data;\n if (prevProps.data.newRow !== newRow) {\n saveRows(this.props, this.setState.bind(this), newRow);\n this.initCheckboxesForEachRow();\n }\n if (prevState.checkboxes !== this.state.checkboxes) {\n const isMinOneCheckboxChecked = this.state.checkboxes.some(checkbox => checkbox);\n this.setState({ isMinOneCheckboxChecked });\n }\n if (\n prevState.renamedTriggerName !== this.state.renamedTriggerName &&\n this.state.renamedTriggerName !== this.state.triggerName\n ) {\n this.setState({ isValueChanged: true });\n }\n if (\n prevProps.data.state.copyDataObject.targetCheckboxes !==\n this.props.data.state.copyDataObject.targetCheckboxes ||\n prevProps.data.state.copyDataObject.targetActionName !==\n this.props.data.state.copyDataObject.targetActionName\n ) {\n this.isMinOneItemChecked();\n }\n }\n\n updateData = (obj: { id: string; val: string | number | boolean; index: number }): void => {\n updateData(obj, this.props, this.setState.bind(this));\n };\n\n handleDrop = (index: number): void => {\n if (index !== this.state.dropStart) {\n moveItem(this.state.dropStart, this.props, this.setState.bind(this), index - this.state.dropStart);\n }\n };\n\n disableInput = (name: string, index: number): boolean => {\n return isTruthy(this.state?.rows?.[index]?.switch_checkbox) && name === 'values';\n };\n\n initCheckboxesForEachRow = (): void => {\n const checkboxes: boolean[] = [];\n this.state.rows.forEach((_, index) => {\n checkboxes[index] = false;\n });\n this.setState({ checkboxes: checkboxes });\n };\n\n checkAll = (check: boolean): void => {\n const rows = [...this.state.rows];\n const checkboxesRowToCopy: boolean[] = [];\n rows.forEach((_, index) => {\n checkboxesRowToCopy[index] = check;\n });\n this.setState({ checkboxes: checkboxesRowToCopy });\n };\n\n setCheckbox = (event: EventCheckbox): void => {\n const checkboxes = [...this.state.checkboxes];\n checkboxes[event.index] = event.isChecked;\n this.setState({ checkboxes });\n };\n\n openCopyModal = (): void => {\n this.setState({ openCopyPopup: true });\n };\n\n closeCopyModal = (val: boolean): void => {\n if (val) {\n this.addSelectedDataToSelected();\n }\n this.initCheckboxesForEachRow();\n this.setState({ openCopyPopup: false });\n };\n\n addSelectedDataToSelected = (): void => {\n if (this.functionSave) {\n const obj = this.getSaveData();\n const { isEmpty, action } = this.isActionTabEmpty(obj);\n if (isEmpty) {\n const triggerName = action[obj.activeMenu][obj.tab][obj.rowIndexToEdit].trigger[0];\n this.setState({ openRenameModal: true, triggerName: triggerName, renamedTriggerName: triggerName });\n return;\n }\n this.functionSave.saveData(obj);\n }\n };\n\n getSaveData = (): SaveDataObject => {\n return {\n checkboxesToCopy: this.state.checkboxes,\n copyToMenu: this.state.copyToMenu,\n activeMenu: this.props.data.state.activeMenu,\n tab: this.props.data.tab.value,\n rowIndexToEdit: this.props.data.rowIndexToEdit,\n newTriggerName: '',\n };\n };\n\n isMinOneItemChecked = (): void => {\n const isOneMenuSelected = !!this.props.data.state.copyDataObject.targetActionName;\n const { isEmpty } = this.isActionTabEmpty(this.getSaveData());\n\n if (isEmpty && isOneMenuSelected) {\n this.setState({ isValueOk: true });\n return;\n }\n const targetCheckboxes = this.props.data.state.copyDataObject.targetCheckboxes;\n\n if (!targetCheckboxes || !Object.keys(targetCheckboxes)?.length) {\n this.setState({ isValueOk: false });\n return;\n }\n\n this.setState({\n isValueOk: Object.keys(targetCheckboxes).some(item => targetCheckboxes[item]),\n });\n };\n functionSave: AppContentTabActionContentRowEditorCopyModalSelectedValues | null = null;\n\n setFunctionSave = (ref: AppContentTabActionContentRowEditorCopyModalSelectedValues): void => {\n this.functionSave = ref;\n };\n\n renameMenu = ({ value }: EventButton): void => {\n if (value) {\n if (!this.functionSave) {\n return;\n }\n const obj: SaveDataObject = this.getSaveData();\n obj.newTriggerName = this.state.renamedTriggerName;\n this.functionSave.saveData(obj);\n }\n this.setState({ openRenameModal: false });\n };\n\n private isActionTabEmpty(obj: SaveDataObject): { isEmpty: boolean; action: NativeData['action'] } {\n const action = this.props.data.state.native.data.action;\n const isEmpty = !action[obj.copyToMenu]?.[obj.tab].length;\n return { isEmpty, action };\n }\n\n render(): React.ReactNode {\n return (\n
    \n {this.state.openRenameModal ? (\n \n ) : null}\n \n this.updateData({ id, index, val }),\n openCopyModal: this.openCopyModal.bind(this),\n }}\n data={{\n ...this.props.data,\n isMinOneCheckboxChecked: this.state.isMinOneCheckboxChecked,\n }}\n />\n \n \n \n\n \n {this.state.rows\n ? this.state.rows.map((row, indexRow: number) => (\n this.handleDrop(indexRow)}\n onDragStart={event =>\n handleDragStart(\n indexRow,\n event,\n this.state.mouseOverNoneDraggable,\n this.setState.bind(this),\n )\n }\n onDragEnd={() => handleDragEnd(this.setState.bind(this))}\n onDragOver={event => handleDragOver(indexRow, event)}\n onDragEnter={() => handleDragEnter(indexRow, this.setState.bind(this))}\n onDragLeave={() => handleDragEnter(indexRow, this.setState.bind(this))}\n style={handleStyleDragOver(\n indexRow,\n this.state.dropOver,\n this.state.dropStart,\n )}\n >\n \n \n \n {row.IDs || row.IDs === '' ? (\n \n handleMouseOver(e)}\n onMouseLeave={e => handleMouseOut(e)}\n >\n \n \n this.setState({\n showSelectId: true,\n selectIdValue: row.IDs,\n indexID: indexRow,\n itemForID: 'IDs',\n })\n }\n />\n \n \n \n ) : null}\n {this.props.data.tab.entries.map((entry, i) =>\n !entry.checkbox && entry.name != 'IDs' && entry.name != 'trigger' ? (\n \n \n {entry.btnCircleAdd ? (\n \n this.props.callback.openHelperText({\n index: indexRow,\n entry: entry.name,\n subCard: this.props.data.tab.value,\n })\n }\n />\n ) : null}\n \n {entry.search ? (\n \n this.setState({\n showSelectId: true,\n selectIdValue: row[entry.name],\n indexID: indexRow,\n itemForID: entry.name,\n })\n }\n />\n ) : null}\n \n ) : entry.checkbox && entry.name != 'parse_mode' ? (\n \n \n this.updateData({ id, index, val: isChecked })\n }\n isChecked={isChecked(row[entry.name])}\n obj={true}\n />\n \n ) : null,\n )}\n \n \n ))\n : null}\n \n \n \n {this.state.showSelectId ? (\n this.setState({ showSelectId: false })}\n root={this.props.data.tab.searchRoot?.root}\n types={this.props.data.tab.searchRoot?.type ? this.props.data.tab.searchRoot.type : undefined}\n onOk={selected => {\n this.setState({ showSelectId: false });\n updateId(\n selected,\n this.props,\n this.state.indexID,\n this.setState.bind(this),\n this.state.itemForID,\n );\n }}\n />\n ) : null}\n {this.state.openCopyPopup ? (\n this.closeCopyModal(value as boolean)}\n >\n \n \n ) : null}\n
    \n );\n }\n}\n\nexport default AppContentTabActionContentRowEditor;\n", "import React, { Component } from 'react';\nimport Button from '../Button';\nimport type { ButtonSmallProps } from '@/types/app';\n\nclass BtnSmallRemove extends Component {\n render(): React.ReactNode {\n return (\n \n delete\n \n );\n }\n}\n\nexport default BtnSmallRemove;\n", "import { addNewRow, deleteRow } from '@/lib/actionUtils';\nimport BtnSmallAdd from '@components/btn-Input/btn-small-add';\nimport BtnSmallRemove from '@components/btn-Input/btn-small-remove';\nimport { TableCell } from '@mui/material';\nimport React, { Component } from 'react';\nimport type { AppContentTabActionContentRowEditorButtonsProps } from '@/types/props-types';\nimport type { EventButton } from '@/types/event';\n\ninterface AppContentTabActionContentRowEditorButtonsState {\n openCopyPopup: boolean;\n indexOfRowToCopyForModal: number;\n}\n\nclass AppContentTabActionContentRowEditorButtons extends Component<\n AppContentTabActionContentRowEditorButtonsProps,\n AppContentTabActionContentRowEditorButtonsState\n> {\n constructor(props: AppContentTabActionContentRowEditorButtonsProps) {\n super(props);\n this.state = {\n openCopyPopup: false,\n indexOfRowToCopyForModal: 0,\n };\n }\n\n render(): React.ReactNode {\n const { buttons } = this.props.data.tab.popupCard;\n const { indexRow, rows } = this.props.data;\n const { setStateEditor } = this.props.callback;\n return (\n <>\n {buttons.add ? (\n \n \n addNewRow(\n indexRow,\n this.props,\n setStateEditor,\n this.props.callback.setStateTabActionContent,\n )\n }\n index={indexRow}\n />\n \n ) : null}\n {buttons.remove ? (\n \n deleteRow(index, this.props, setStateEditor)}\n index={indexRow}\n disabled={rows.length == 1 ? 'disabled' : ''}\n />\n \n ) : null}\n \n );\n }\n}\n\nexport default AppContentTabActionContentRowEditorButtons;\n", "import React, { Component } from 'react';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport type { SelectProps } from '@/types/app';\n\nclass Select extends Component {\n onChangeHandler = (event: React.ChangeEvent | undefined): void => {\n if (!event) {\n return;\n }\n this.props.callback({ id: this.props.id, val: event.target.value });\n };\n\n render(): React.ReactNode {\n return (\n \n );\n }\n}\n\nexport default Select;\n", "import Select from '@components/btn-Input/select';\nimport type {\n CallbackFunctionsApp,\n CallbackTabActionContent,\n DataMainContent,\n DataTabActionContent,\n TabActionContentTableProps,\n Echart,\n Events,\n Get,\n HttpRequest,\n Pic,\n Set,\n} from '@/types/app';\nimport React, { Component } from 'react';\nimport AppContentTabActionContentRowEditorCopyModalSelectedValues from './AppContentTabActionContentRowEditorCopyModalSelectedValues';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport type { EventSelect } from '@/types/event';\n\nexport interface PropsRowEditorCopyModal {\n data: DataMainContent & TabActionContentTableProps & DataTabActionContent;\n callback: CallbackFunctionsApp &\n CallbackTabActionContent & {\n openHelperText: (value: any) => void;\n setStateRowEditor: (value: any) => void;\n setFunctionSave: (ref: AppContentTabActionContentRowEditorCopyModalSelectedValues) => void;\n };\n checkboxes: boolean[];\n}\ninterface State {\n selectedMenu: string;\n action: string;\n}\n\nclass AppContentTabActionContentRowEditorCopyModal extends Component {\n constructor(props: PropsRowEditorCopyModal) {\n super(props);\n this.state = {\n selectedMenu: '',\n action: '',\n };\n }\n\n componentDidMount(): void {\n this.setState({ action: this.props.data.tab.value });\n }\n\n getAllMenusWithoutActiveMenu(): string[] {\n return Object.keys(this.props.data.state.native.usersInGroup);\n }\n\n getValuesInSelectedAction(): Get[] | Set[] | Pic[] | HttpRequest[] | Echart[] | Events[] {\n return this.props.data.state.native.data.action?.[this.state.selectedMenu]?.[this.state.action] || [];\n }\n\n updateSelect = ({ val }: EventSelect): void => {\n this.setState({ selectedMenu: val });\n this.props.callback.setStateRowEditor({ copyToMenu: val });\n this.props.callback.setStateApp({ copyDataObject: { targetActionName: val } });\n };\n\n render(): React.ReactNode {\n return (\n
    \n
    \n {I18n.t('activeMenu')}: {this.props.data.state.activeMenu}\n

    {I18n.t('menuToCopy')}

    \n \n
    \n {this.state.action !== '' ? (\n \n ) : null}\n
    \n );\n }\n}\n\nexport default AppContentTabActionContentRowEditorCopyModal;\n", "import { deepCopy } from '@/lib/Utils';\nimport type { EventCheckbox } from '@/types/event';\nimport Checkbox from '@components/btn-Input/checkbox';\nimport { Table, TableBody, TableCell, TableHead, TableRow } from '@mui/material';\nimport type {\n CallbackFunctionsApp,\n Echart,\n Events,\n Get,\n HttpRequest,\n NativeData,\n Pic,\n Set,\n SetStateFunction,\n} from '@/types/app';\nimport React, { Component } from 'react';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport type { SaveDataObject } from '@/types/props-types';\n\ninterface Props {\n value: Get[] | Set[] | Pic[] | HttpRequest[] | Echart[] | Events[] | undefined;\n data: NativeData;\n callback: CallbackFunctionsApp & {\n setStateRowEditor: SetStateFunction;\n setFunctionSave: (ref: AppContentTabActionContentRowEditorCopyModalSelectedValues) => void;\n };\n}\ntype Rows = Get | Set | Pic | HttpRequest | Echart | Events;\n\ninterface State {\n checked: { [key: number]: boolean };\n isOK: boolean;\n}\n\nclass AppContentTabActionContentRowEditorCopyModalSelectedValues extends Component {\n constructor(props: Props) {\n super(props);\n this.state = {\n checked: {},\n isOK: false,\n };\n }\n\n valueMapping = {\n trigger: I18n.t('trigger'),\n values: I18n.t('values'),\n returnText: I18n.t('returnText'),\n ack: I18n.t('ack'),\n confirm: I18n.t('confirm'),\n switch_checkbox: I18n.t('switchCheckbox'),\n parse_mode: I18n.t('parseMode'),\n newline_checkbox: I18n.t('newlineCheckbox'),\n text: I18n.t('text'),\n IDs: I18n.t('ids'),\n url: I18n.t('url'),\n user: I18n.t('user'),\n password: I18n.t('password'),\n filename: I18n.t('filename'),\n delay: I18n.t('delay'),\n ID: I18n.t('id'),\n menu: I18n.t('menu'),\n condition: I18n.t('condition'),\n picSendDelay: I18n.t('picSendDelay'),\n };\n\n checkboxChecked = ({ isChecked, index }: EventCheckbox): void => {\n const copy = { ...this.state.checked };\n copy[index] = isChecked;\n this.setState({ checked: copy });\n this.props.callback.setStateRowEditor({ targetCheckboxes: this.state.checked });\n this.props.callback.setStateApp({ copyDataObject: { targetCheckboxes: copy } });\n };\n\n componentDidMount(): void {\n this.props.callback.setFunctionSave(this);\n }\n /* eslint-disable react/no-unused-class-component-methods */\n saveData = ({\n activeMenu,\n copyToMenu,\n tab,\n checkboxesToCopy,\n rowIndexToEdit,\n newTriggerName,\n }: SaveDataObject): void => {\n const addTrigger = !this.props.data.action[copyToMenu]?.[tab].length;\n const ob: NativeData | undefined = this.copySelectedRowsToMenu({\n addTrigger,\n activeMenu,\n tab,\n rowIndexToEdit,\n checkboxesToCopy,\n copyToMenu,\n newTriggerName,\n });\n if (!ob) {\n return;\n }\n this.props.callback.updateNative('data', ob);\n };\n\n copySelectedRowsToMenu({\n activeMenu,\n tab,\n rowIndexToEdit,\n checkboxesToCopy,\n copyToMenu,\n addTrigger,\n newTriggerName,\n }: {\n addTrigger: boolean;\n activeMenu: string;\n tab: string;\n rowIndexToEdit: number;\n checkboxesToCopy: boolean[];\n copyToMenu: string;\n newTriggerName: string;\n }): NativeData | undefined {\n const rowToCopy: Rows = this.props.data.action[activeMenu][tab][rowIndexToEdit];\n let copyData = deepCopy(this.props.data);\n if (!copyData) {\n return;\n }\n let emptyObject = false;\n if (copyData.action[copyToMenu][tab].length === 0) {\n emptyObject = true;\n }\n checkboxesToCopy.forEach((value, i) => {\n if (value) {\n if (emptyObject) {\n copyData = AppContentTabActionContentRowEditorCopyModalSelectedValues.saveToGlobalObject(\n rowToCopy,\n addTrigger,\n copyData as NativeData,\n copyToMenu,\n tab,\n 0,\n i,\n newTriggerName,\n );\n return copyData;\n }\n Object.keys(this.state.checked).forEach((key, copyToIndex) => {\n if (!this.state.checked[copyToIndex]) {\n return;\n }\n\n copyData = AppContentTabActionContentRowEditorCopyModalSelectedValues.saveToGlobalObject(\n rowToCopy,\n addTrigger,\n copyData as NativeData,\n copyToMenu,\n tab,\n copyToIndex,\n i,\n );\n });\n }\n });\n return copyData;\n }\n\n static saveToGlobalObject = (\n rowToCopy: Rows,\n addTrigger: boolean,\n copyData: NativeData,\n menuName: string,\n tabActionName: string,\n rowNumber: number,\n i: number,\n newTriggerName?: string,\n ): NativeData => {\n Object.keys(rowToCopy).forEach(rowParam => {\n if (rowParam === 'trigger' || rowParam === 'parse_mode') {\n if (addTrigger) {\n copyData = AppContentTabActionContentRowEditorCopyModalSelectedValues.setDataWhenNoTabLength({\n copyData,\n menuName,\n tabActionName,\n rowParam,\n rowToCopy,\n elInRow: 0,\n newTriggerName,\n });\n }\n return;\n }\n if (addTrigger) {\n copyData = AppContentTabActionContentRowEditorCopyModalSelectedValues.setDataWhenNoTabLength({\n copyData,\n menuName,\n tabActionName,\n rowParam,\n rowToCopy,\n elInRow: i,\n newTriggerName: '',\n });\n\n if (!copyData.action[menuName][tabActionName][rowNumber]?.[rowParam]) {\n copyData.action[menuName][tabActionName][rowNumber][rowParam] = [rowToCopy[rowParam][i]];\n return;\n }\n copyData.action[menuName][tabActionName][rowNumber][rowParam].push(rowToCopy[rowParam][i]);\n return;\n }\n copyData.action[menuName][tabActionName][rowNumber][rowParam].push(rowToCopy[rowParam][i]);\n });\n return copyData;\n };\n\n static setDataWhenNoTabLength = ({\n copyData,\n menuName,\n tabActionName,\n rowParam,\n rowToCopy,\n elInRow,\n newTriggerName,\n }: {\n copyData: NativeData;\n menuName: string;\n tabActionName: string;\n rowParam: string;\n rowToCopy: Rows;\n elInRow: number;\n newTriggerName: string | undefined;\n }): NativeData => {\n if (!copyData.action[menuName][tabActionName].length) {\n if (rowParam === 'trigger') {\n copyData.action[menuName][tabActionName].push({ [rowParam]: [newTriggerName] });\n return copyData;\n }\n copyData.action[menuName][tabActionName].push({ [rowParam]: [rowToCopy[rowParam][elInRow]] });\n }\n return copyData;\n };\n\n render(): React.ReactNode {\n return (\n <>\n \n \n \n \n {this.props.value?.[0]\n ? Object.keys(this.props.value[0]).map((item, index) => (\n \n {this.valueMapping[item] || item}\n \n ))\n : null}\n \n \n \n {this.props.value\n ? this.props.value.map((row: Rows, index: number) => (\n \n \n \n \n {Object.keys(row).map((val, i) => (\n \n {typeof row[val] === 'string'\n ? row[val]\n : row[val].map((entry: string | number | boolean, index) => {\n return (\n
    \n \n \n {entry}\n \n \n
    \n );\n })}\n \n ))}\n \n ))\n : null}\n \n \n \n );\n }\n}\n\nexport default AppContentTabActionContentRowEditorCopyModalSelectedValues;\n", "import { updateTrigger } from '@/lib/actionUtils.js';\nimport { isChecked } from '@/lib/Utils.js';\nimport type { EventButton, EventCheckbox, EventSelect } from '@/types/event';\nimport Button from '@components/Button';\nimport Checkbox from '@components/btn-Input/checkbox';\nimport Select from '@components/btn-Input/select';\nimport React, { Component } from 'react';\nimport type {\n CallbackFunctionsApp,\n CallbackTabActionContent,\n DataMainContent,\n DataTabActionContent,\n TabActionContentTableProps,\n} from '@/types/app';\nimport { I18n } from '@iobroker/adapter-react-v5';\n\nexport interface AppContentTabActionContentRowEditorInputAboveTableProps {\n data: DataMainContent & TabActionContentTableProps & DataTabActionContent & { isMinOneCheckboxChecked: boolean };\n\n callback: CallbackFunctionsApp &\n CallbackTabActionContent & { openHelperText: (value: any) => void } & {\n updateData: (obj: EventCheckbox) => void;\n openCopyModal: (obj: EventButton) => void;\n };\n}\n\nclass AppContentTabActionContentRowEditorInputAboveTable extends Component {\n constructor(props: AppContentTabActionContentRowEditorInputAboveTableProps) {\n super(props);\n this.state = {};\n }\n\n render(): React.ReactNode {\n const { newRow, newUnUsedTrigger } = this.props.data;\n return (\n
    \n \n content_copy\n {I18n.t('copy')}\n \n {newRow.trigger ? (\n
    \n \n updateTrigger({ trigger: val }, this.props, this.setState.bind(this))\n }\n callbackValue=\"event.target.value\"\n label=\"Trigger\"\n placeholder=\"Select a Trigger\"\n />\n
    \n ) : null}\n {newRow.parse_mode ? (\n
    \n \n
    \n ) : null}\n
    \n );\n }\n}\n\nexport default AppContentTabActionContentRowEditorInputAboveTable;\n", "import { TableBody, TableCell, TableRow } from '@mui/material';\nimport type { PropsTableDndAction, RowForButton, StateTableDndAction } from '@/types/app.js';\nimport React, { Component } from 'react';\nimport type { DataRowAction, TabValueEntries } from '@/types/app';\nimport { ButtonCard } from '@components/popupCards/buttonCard';\nimport { deepCopy } from '@/lib/Utils';\nimport { getElementIcon } from '@/lib/actionUtils';\nimport { deleteRow, moveItem } from '@/lib/button';\nimport {\n handleDragEnd,\n handleDragEnter,\n handleDragOver,\n handleDragStart,\n handleMouseOut,\n handleMouseOver,\n handleStyleDragOver,\n} from '@/lib/dragNDrop';\nimport type { EventButton } from '@/types/event';\nimport SubTable from './AppContentTabActionContentTableSubTable.js';\n\nclass TableDndAction extends Component {\n constructor(props: PropsTableDndAction) {\n super(props);\n this.state = {\n dropStart: 0,\n dropEnd: 0,\n dropOver: 0,\n rows: [],\n mouseOverNoneDraggable: false,\n };\n }\n\n static createData(entriesOfParentComponent: TabValueEntries[], element: DataRowAction): RowForButton {\n const obj: RowForButton = {} as RowForButton;\n entriesOfParentComponent.forEach(entry => {\n obj[entry.name] = element[entry.name];\n });\n return obj;\n }\n\n getRows = (): void => {\n const { activeMenu, native } = this.props.data.state;\n const action = native.data.action;\n\n if (!action) {\n return;\n }\n const elements = action[activeMenu][this.props.data.tab.value] as DataRowAction[];\n\n const rows: RowForButton[] = [];\n if (elements === undefined) {\n return;\n }\n for (const entry of elements) {\n rows.push(TableDndAction.createData(this.props.data.tab.entries, entry));\n }\n this.setState({ rows: rows });\n };\n\n componentDidUpdate(prevProps: Readonly): void {\n const { activeMenu, native } = this.props.data.state;\n if (prevProps.data.state.activeMenu !== activeMenu) {\n this.getRows();\n TableDndAction.updateHeight();\n }\n if (prevProps.data.state.native.data.action !== native.data.action) {\n this.getRows();\n }\n }\n\n static updateHeight = (): void => {\n // Diese Funktion setzt die H\u00F6he der Tabelle auf die H\u00F6he des dar\u00FCber liegenden Td Tags da es herk\u00F6mmlich anscheinen nicht funktioniert\n const tBodies = Array.from(document.getElementsByClassName('dynamicHeight')) as HTMLTableSectionElement[];\n const tds = Array.from(document.getElementsByClassName('tdWithHeightForSubTable')) as HTMLTableCellElement[];\n // Setzen Sie die H\u00F6he auf 'auto', bevor Sie die H\u00F6he neu berechnen\n tBodies.forEach((tbody: HTMLTableSectionElement) => {\n tbody.style.height = 'auto';\n });\n const offset = 0;\n\n if (tds.length > 0) {\n tds.forEach((td: HTMLTableCellElement, index: number) => {\n if (td && tBodies[index]) {\n if (tBodies[index].offsetHeight < td.offsetHeight) {\n tBodies[index].style.height = `${td.offsetHeight + offset}px`;\n }\n }\n });\n }\n };\n\n componentDidMount(): void {\n this.getRows();\n window.addEventListener('resize', TableDndAction.updateHeight);\n setTimeout(() => {\n TableDndAction.updateHeight();\n }, 100);\n }\n\n static componentWillUnmount(): void {\n window.removeEventListener('resize', TableDndAction.updateHeight);\n }\n\n handleDrop = (index: number, event: React.DragEvent | undefined): void => {\n let currentElement = event?.target as HTMLElement;\n while (currentElement) {\n if (currentElement.tagName === 'TR' && !currentElement.classList.contains('SubTable')) {\n if (currentElement.classList.contains('draggingDropBox')) {\n return;\n }\n }\n currentElement = currentElement.parentElement as HTMLElement;\n }\n if (index !== this.state.dropStart) {\n moveItem({\n index: this.state.dropStart,\n card: this.props.data.card,\n subCard: this.props.data.tab.value,\n upDown: index - this.state.dropStart,\n activeMenu: this.props.data.state.activeMenu,\n data: this.props.data.state.native.data,\n updateNative: this.props.callback.updateNative,\n });\n }\n };\n //TODO\n editRow = ({ index }: EventButton): void => {\n const { activeMenu } = this.props.data.state;\n const { data } = this.props.data.state.native;\n const { setStateTabActionContent } = this.props.callback;\n const dataCopy = deepCopy(data);\n if (!dataCopy) {\n return;\n }\n const newRow = dataCopy[this.props.data.card][activeMenu][this.props.data.tab.value][index];\n console.log(newRow);\n if (newRow.trigger) {\n this.props.callback.addEditedTrigger(newRow.trigger[0]);\n }\n setStateTabActionContent({ newRow: newRow, editRow: true, rowPopup: true, rowIndexToEdit: index });\n };\n\n // deleteRow = (index: number): void => {\n // const { activeMenu } = this.props.data.state;\n // const { updateNative } = this.props.callback;\n // deleteRow({\n // index,\n // activeMenu,\n // card: this.props.data.card,\n // data: this.props.data.state.native.data,\n // updateNative,\n // subCard: this.props.data.tab.value,\n // });\n // };\n\n render(): React.ReactNode {\n return (\n \n {this.state.rows.map((row, index) => (\n this.handleDrop(index, event)}\n onDragStart={event => {\n handleDragStart(\n index,\n event,\n this.state.mouseOverNoneDraggable,\n this.setState.bind(this),\n { draggingRowIndex: index },\n this.props.callback.setStateApp,\n );\n }}\n onDragEnd={() => handleDragEnd(this.setState.bind(this), this.props.callback.setStateApp)}\n onDragOver={event => handleDragOver(index, event)}\n onDragEnter={() => handleDragEnter(index, this.setState.bind(this))}\n style={handleStyleDragOver(index, this.state.dropOver, this.state.dropStart)}\n >\n {row.trigger ? (\n \n handleMouseOver(e)}\n onMouseLeave={e => handleMouseOut(e)}\n >\n {row.trigger}\n \n \n ) : null}\n {this.props.data.tab.entries.map((entry, indexEntry) =>\n entry.name != 'trigger' && entry.name != 'parse_mode' ? (\n \n \n \n ) : null,\n )}\n {row.parse_mode ? (\n \n handleMouseOver(e)}\n onMouseLeave={e => handleMouseOut(e)}\n >\n {getElementIcon(row.parse_mode[0])}\n \n \n ) : null}\n {}}\n moveUp={() => {}}\n deleteRow={({ index }: EventButton) =>\n deleteRow({\n index,\n activeMenu: this.props.data.state.activeMenu,\n card: this.props.data.card,\n subCard: this.props.data.tab.value,\n updateNative: this.props.callback.updateNative,\n data: this.props.data.state.native.data,\n })\n }\n rows={this.state.rows}\n index={index}\n showButtons={this.props.data.showButtons}\n />\n \n ))}\n \n );\n }\n}\n\nexport default TableDndAction;\n", "import React from 'react';\nimport { TableCell } from '@mui/material';\nimport BtnSmallAdd from '../btn-Input/btn-small-add';\nimport BtnSmallEdit from '../btn-Input/btn-small-edit';\nimport BtnSmallUp from '../btn-Input/btn-small-up';\nimport BtnSmallDown from '../btn-Input/btn-small-down';\nimport BtnSmallRemove from '../btn-Input/btn-small-remove';\nimport type { PropsButtonCard } from '@/types/props-types';\n\nexport const ButtonCard = (props: PropsButtonCard): React.JSX.Element => {\n return (\n <>\n {props.showButtons && props.showButtons.add ? (\n \n \n \n ) : null}\n\n {props.showButtons && props.showButtons.edit ? (\n \n \n \n ) : null}\n {props.showButtons && props.showButtons.moveUp ? (\n \n \n \n ) : null}\n {props.showButtons && props.showButtons.moveDown ? (\n \n \n \n ) : null}\n {props.showButtons && props.showButtons.remove ? (\n \n {!props.notShowDelete ? (\n \n ) : null}\n \n ) : null}\n \n );\n};\n", "import React, { Component } from 'react';\nimport Button from '../Button';\nimport type { ButtonSmallProps } from '@/types/app';\n\nclass BtnSmallEdit extends Component {\n render(): React.ReactNode {\n return (\n \n edit\n \n );\n }\n}\n\nexport default BtnSmallEdit;\n", "import React, { Component } from 'react';\nimport Button from '../Button';\nimport type { ButtonSmallProps } from '@/types/app';\n\nclass BtnSmallUp extends Component {\n render(): React.ReactNode {\n return (\n \n arrow_upward\n \n );\n }\n}\n\nexport default BtnSmallUp;\n", "import React, { Component } from 'react';\nimport Button from '../Button';\nimport type { ButtonSmallProps } from '@/types/app';\n\nclass BtnSmallDown extends Component {\n render(): React.ReactNode {\n return (\n \n arrow_downward\n \n );\n }\n}\n\nexport default BtnSmallDown;\n", "import { deepCopy } from '@/lib/Utils';\nimport type { NativeData, UpdateNativeFunction } from '@/types/app';\n\nfunction getUserArray(\n data: NativeData,\n card: string,\n subCard: string | undefined,\n activeMenu: string,\n index: number,\n): {\n userArray: string[];\n element: string;\n dataCopy: NativeData | undefined;\n} {\n const dataCopy = deepCopy(data);\n\n let userArray: string[];\n\n if (subCard) {\n userArray = dataCopy?.[card][activeMenu][subCard];\n } else {\n userArray = dataCopy?.[card][activeMenu];\n }\n\n const element = userArray[index];\n userArray.splice(index, 1);\n return { userArray, element, dataCopy };\n}\n\nexport const moveItem = ({\n index,\n data,\n card,\n subCard,\n activeMenu,\n updateNative,\n upDown,\n newPositionIndex,\n}: {\n newPositionIndex?: number;\n upDown: number;\n updateNative: UpdateNativeFunction;\n activeMenu: string;\n index: number;\n data: NativeData;\n card: string;\n subCard?: string;\n}): void => {\n const { element, userArray, dataCopy } = getUserArray(data, card, subCard, activeMenu, index);\n\n if (upDown) {\n userArray.splice(index + upDown, 0, element);\n }\n if (newPositionIndex) {\n userArray.splice(newPositionIndex, 0, element);\n }\n if (subCard && dataCopy) {\n dataCopy[card][activeMenu][subCard] = userArray;\n } else if (dataCopy) {\n dataCopy[card][activeMenu] = userArray;\n }\n updateNative('data', dataCopy);\n};\n\nexport const moveDown = ({\n index,\n data,\n card,\n subCard,\n activeMenu,\n updateNative,\n upDown,\n}: {\n upDown: number;\n updateNative: UpdateNativeFunction;\n activeMenu: string;\n index: number;\n data: NativeData;\n card: string;\n subCard?: string;\n}): void => {\n const { element, userArray, dataCopy } = getUserArray(data, card, subCard, activeMenu, index);\n userArray.splice(index + upDown, 0, element);\n if (subCard && dataCopy) {\n dataCopy[card][activeMenu][subCard] = userArray;\n } else if (dataCopy) {\n dataCopy[card][activeMenu] = userArray;\n }\n updateNative('data', dataCopy);\n};\n\nexport const moveUp = ({\n index,\n data,\n card,\n subCard,\n activeMenu,\n updateNative,\n}: {\n updateNative: UpdateNativeFunction;\n activeMenu: string;\n index: number;\n data: NativeData;\n card: string;\n subCard?: string;\n}): void => {\n const { element, userArray, dataCopy } = getUserArray(data, card, subCard, activeMenu, index);\n\n userArray.splice(index - 1, 0, element);\n if (subCard && dataCopy) {\n dataCopy[card][activeMenu][subCard] = userArray;\n } else if (dataCopy) {\n dataCopy[card][activeMenu] = userArray;\n }\n updateNative('data', dataCopy);\n};\n\nexport const deleteRow = ({\n index,\n data,\n card,\n subCard,\n activeMenu,\n updateNative,\n}: {\n updateNative: UpdateNativeFunction;\n activeMenu: string;\n index: number;\n data: NativeData;\n card: string;\n subCard?: string;\n}): void => {\n const { userArray, dataCopy } = getUserArray(data, card, subCard, activeMenu, index);\n\n if (subCard && dataCopy) {\n dataCopy[card][activeMenu][subCard] = userArray;\n } else if (dataCopy) {\n dataCopy[card][activeMenu] = userArray;\n }\n updateNative('data', dataCopy);\n};\n", "import React, { Component } from 'react';\nimport { Table, TableBody, TableCell, TableRow } from '@mui/material';\nimport { handleMouseOut, handleMouseOver } from '@/lib/dragNDrop';\nimport { getElementIcon } from '@/lib/actionUtils';\nimport type { PropsSubTable } from '@/types/app.js';\n\nclass SubTable extends Component {\n render(): React.ReactNode {\n return (\n \n \n {this.props.data\n ? this.props.data.map((element, index) => (\n \n \n handleMouseOver(e)}\n onMouseLeave={e => handleMouseOut(e)}\n >\n {this.props.name != 'values'\n ? getElementIcon(element, this.props.entry)\n : element}\n \n \n \n ))\n : null}\n \n
    \n );\n }\n}\n\nexport default SubTable;\n", "import { tabValues } from '@/config/entries';\nimport { TabList } from '@mui/lab';\nimport { Box, Tab } from '@mui/material';\nimport React, { Component } from 'react';\nimport type { CallbackFunctionsApp } from '@/types/app';\ninterface PropsTabActionTabs {\n callback: CallbackFunctionsApp;\n setState: (obj) => void;\n}\n\nclass TabActionTabs extends Component {\n constructor(props: PropsTabActionTabs) {\n super(props);\n this.state = {};\n }\n\n handleChange = (event: React.SyntheticEvent, newValue: string): void => {\n if (this.props.callback.setStateApp) {\n this.props.callback.setStateApp({ subTab: newValue });\n }\n this.props.setState({ value: newValue });\n };\n\n render(): React.ReactNode {\n return (\n \n \n {tabValues.map((tab, index) => {\n return (\n \n );\n })}\n \n \n );\n }\n}\n\nexport default TabActionTabs;\n", "import React, { Component } from 'react';\nimport { Table, TableContainer, Paper } from '@mui/material';\nimport TableNavBody from '@/pages/AppContentTabNavigationTableBody';\nimport TabNavHeader from '@/pages/AppContentTabNavigationTableHeader';\nimport TableNavEditRow from '@/pages/AppContentTabNavigationTableRowEditor';\nimport TableNavHelper from '@/pages/AppContentTabNavigationTableHelper';\n\nimport { deepCopy } from '@/lib/Utils.js';\nimport type { RowsNav, PropsTabNavigation, StateTabNavigation } from '@/types/app';\nimport type { EventButton } from '@/types/event';\n\nclass TabNavigation extends Component {\n constructor(props: PropsTabNavigation) {\n super(props);\n this.state = {\n rowPopup: false,\n rowIndex: 0,\n editRow: false,\n valuesAreOk: false,\n callInUse: false,\n helperTextFor: '',\n editedValueFromHelperText: null,\n isOK: false,\n helperText: false,\n newRow: {} as RowsNav,\n nav: '',\n call: '',\n text: '',\n };\n }\n componentDidUpdate(prevProps: Readonly, prevState: Readonly): void {\n if (prevState.editedValueFromHelperText !== this.state.editedValueFromHelperText) {\n if (this.state.editedValueFromHelperText !== null && this.state.editedValueFromHelperText !== undefined) {\n if (this.state.editedValueFromHelperText !== '') {\n this.setState({ isOK: this.checkNewValueIsOK() });\n }\n }\n }\n if (prevState.newRow !== this.state.newRow) {\n this.checkValueAlreadyUsed();\n }\n }\n\n checkValueAlreadyUsed = (): void => {\n // Row.call darf ab jetzt leer oder auch nur ein - sein um es zu deaktivieren. Das Value darf ab jetzt auch leer sein.\n if (this.state.newRow.text !== '') {\n if (this.state.editRow) {\n this.setState({ valuesAreOk: true });\n } else if (\n this.props.data.state.usedTrigger.includes(this.state.newRow.call) ||\n this.state.newRow.call.startsWith('menu')\n ) {\n this.setState({ valuesAreOk: false });\n } else {\n this.setState({ valuesAreOk: true });\n }\n } else {\n this.setState({ valuesAreOk: false });\n }\n if (this.state.newRow.call !== '') {\n if (this.state.editRow) {\n this.setState({ callInUse: false });\n } else if (\n this.props.data.state.usedTrigger.includes(this.state.newRow.call) ||\n this.state.newRow.call.startsWith('menu')\n ) {\n this.setState({ callInUse: true });\n } else {\n this.setState({ callInUse: false });\n }\n }\n };\n\n checkNewValueIsOK = (): boolean => {\n return (\n this.state.editedValueFromHelperText !== null &&\n this.state.editedValueFromHelperText !== undefined &&\n this.state.editedValueFromHelperText !== '' &&\n this.state.editedValueFromHelperText !== this.state[this.state.helperTextFor]\n );\n };\n\n popupRowCard = ({ value }: EventButton): void => {\n if (!value) {\n this.setState({ rowPopup: false, editRow: false });\n return;\n }\n const dataCopy = JSON.parse(JSON.stringify(this.props.data.state.native.data));\n const navUserArray = dataCopy.nav[this.props.data.state.activeMenu];\n if (this.state.editRow) {\n navUserArray.splice(this.state.rowIndex, 1, this.state.newRow);\n } else {\n navUserArray.splice(this.state.rowIndex + 1, 0, this.state.newRow);\n }\n dataCopy.nav[this.props.data.state.activeMenu] = navUserArray;\n this.props.callback.updateNative('data', dataCopy);\n this.setState({ rowPopup: false, editRow: false });\n };\n\n openAddRowCard = ({ index }: EventButton): void => {\n if (index) {\n this.setState({ rowIndex: index });\n }\n const obj = {} as RowsNav;\n this.props.data.entries.forEach(entry => {\n obj[entry.name] = entry.val;\n });\n this.setState({ newRow: obj, rowPopup: true });\n };\n\n popupHelperCard = ({ value }: EventButton): void => {\n if (value) {\n const copyNewRow = deepCopy(this.state.newRow);\n if (!copyNewRow) {\n return;\n }\n const name = this.state.helperTextFor;\n copyNewRow[name] = this.state.editedValueFromHelperText;\n this.setState({ newRow: copyNewRow });\n }\n this.setState({ helperText: false, editedValueFromHelperText: null });\n };\n render(): React.ReactNode {\n return (\n <>\n \n \n \n \n \n \n {this.state.rowPopup ? (\n \n ) : null}\n {this.state.helperText ? (\n \n ) : null}\n \n );\n }\n}\nexport default TabNavigation;\n", "import { TableBody, TableCell, TableRow } from '@mui/material';\nimport React, { Component } from 'react';\nimport { ButtonCard } from '@/components/popupCards/buttonCard.js';\nimport { getElementIcon } from '@/lib/actionUtils.js';\nimport { deleteRow, moveItem } from '@/lib/button.js';\nimport {\n handleDragEnd,\n handleDragEnter,\n handleDraggable,\n handleDragOver,\n handleDragStart,\n handleMouseOut,\n handleMouseOver,\n handleStyleDragOver,\n} from '@/lib/dragNDrop.js';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport type { NavData, PropsTableDndNav, RowForButton, RowsNav, StateTableDndNav, TabValueEntries } from '@/types/app';\nimport type { EventButton } from '@/types/event';\n\nfunction createData(entriesOfParentComponent: TabValueEntries[], element: RowsNav): RowForButton {\n const obj: RowForButton = {} as RowForButton;\n entriesOfParentComponent.forEach(entry => {\n obj[entry.name] = element[entry.name];\n });\n return obj;\n}\n\nclass TableDndNav extends Component {\n constructor(props: PropsTableDndNav) {\n super(props);\n this.state = {\n dropStart: 0,\n dropEnd: 0,\n dropOver: 0,\n mouseOverNoneDraggable: false,\n rows: [],\n };\n }\n\n getRows(nav: NavData | undefined, activeMenu: string | undefined): void {\n if (!nav || !activeMenu) {\n return;\n }\n\n const elements = nav[activeMenu];\n const rows: RowForButton[] = [];\n if (!elements) {\n return;\n }\n for (const entry of elements) {\n rows.push(createData(this.props.data.entries, entry));\n }\n this.setState({ rows: rows });\n }\n componentDidMount(): void {\n const { native, activeMenu } = this.props.data.state;\n if (native.data.nav) {\n this.getRows(native.data.nav, activeMenu);\n }\n }\n\n componentDidUpdate(prevProps: Readonly): void {\n const { native, activeMenu } = this.props.data.state;\n const { nav } = native.data;\n if (prevProps.data.state.activeMenu !== activeMenu || prevProps.data.state.native.data.nav !== nav) {\n this.getRows(native.data.nav, activeMenu);\n }\n }\n\n handleDrop = (event: React.DragEvent, index: number): void => {\n let currentElement = event.target as HTMLElement;\n while (currentElement) {\n if (currentElement.tagName === 'TR') {\n if (currentElement.classList.contains('draggingDropBox')) {\n return;\n }\n }\n currentElement = currentElement.parentElement as HTMLElement;\n }\n if (index !== this.state.dropStart && index != 0) {\n moveItem({\n index: this.state.dropStart,\n card: this.props.card,\n upDown: index - this.state.dropStart,\n data: this.props.data.state.native.data,\n activeMenu: this.props.data.state.activeMenu,\n updateNative: this.props.callback.updateNative,\n });\n }\n };\n\n editRow = ({ index }: EventButton): void => {\n const { native, activeMenu } = this.props.data.state;\n\n if (native.data.nav && activeMenu) {\n const rowToEdit = native.data.nav[activeMenu][index];\n this.props.setState({ newRow: rowToEdit });\n }\n this.props.setState({ rowPopup: true });\n this.props.setState({ rowIndex: index });\n this.props.setState({ editRow: true });\n };\n\n render(): React.ReactNode {\n return (\n \n {this.state.rows.map((row, indexRow) => (\n this.handleDrop(event, indexRow)}\n onDragStart={event =>\n handleDragStart(\n indexRow,\n event,\n this.state.mouseOverNoneDraggable,\n this.setState.bind(this),\n { draggingRowIndex: indexRow },\n this.props.callback.setStateApp,\n )\n }\n onDragEnd={() => handleDragEnd(this.setState.bind(this), this.props.callback.setStateApp)}\n onDragOver={event => handleDragOver(indexRow, event)}\n onDragEnter={() => handleDragEnter(indexRow, this.setState.bind(this))}\n style={handleStyleDragOver(indexRow, this.state.dropOver, this.state.dropStart)}\n >\n {this.props.data.entries.map((entry, indexCell) => (\n \n handleMouseOver(e)}\n onMouseLeave={indexRow == 0 ? undefined : e => handleMouseOut(e)}\n >\n {getElementIcon(row[entry.name])}{' '}\n \n {indexRow === 0 && (row.call === '' || row.call === '-') ? (\n {I18n.t('isSubmenu')}\n ) : null}\n \n \n \n ))}\n\n {}}\n moveUp={() => {}}\n deleteRow={() =>\n deleteRow({\n index: indexRow,\n card: this.props.card,\n activeMenu: this.props.data.state.activeMenu,\n data: this.props.data.state.native.data,\n updateNative: this.props.callback.setStateApp,\n })\n }\n rows={this.state.rows}\n index={indexRow}\n showButtons={this.props.showButtons}\n notShowDelete={indexRow == 0}\n />\n \n ))}\n \n );\n }\n}\n\nexport default TableDndNav;\n", "import React, { Component } from 'react';\nimport { TableHead, TableCell, TableRow } from '@mui/material';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport type { PropsTableNavHeader } from '@/types/props-types';\n\nclass TabNavHeader extends Component {\n constructor(props: PropsTableNavHeader) {\n super(props);\n this.state = {};\n }\n\n render(): React.ReactNode {\n return (\n \n \n {this.props.entries.map((entry, index) => (\n \n {I18n.t(entry.headline)}\n \n ))}\n\n \n \n \n \n \n );\n }\n}\n\nexport default TabNavHeader;\n", "import React, { Component } from 'react';\nimport Input from '@/components/btn-Input/input';\nimport { BtnCircleAdd } from '@components/btn-Input/btn-circle-add';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport Checkbox from '@/components/btn-Input/checkbox';\nimport { isChecked } from '@/lib/Utils';\nimport type { PropsRowNavCard } from '@/types/app';\n\nclass AppContentTabNavigationTableRowEditorCard extends Component {\n constructor(props: PropsRowNavCard) {\n super(props);\n this.state = {};\n }\n\n render(): React.ReactNode {\n return (\n
    \n {this.props.entries.map((entry, i) =>\n !(entry.name == 'value') && !(entry.name == 'text') && !entry.checkbox ? (\n \n ) : entry.name == 'value' || entry.name == 'text' ? (\n \n this.props.openHelperText(entry.name)} />\n \n ) : (\n \n ),\n )}\n
    \n );\n }\n}\n\nexport default AppContentTabNavigationTableRowEditorCard;\n", "import PopupContainer from '@/components/popupCards/PopupContainer';\nimport AppContentTabNavigationTableRowEditorCard from '@/pages/AppContentTabNavigationTableRowEditorCard';\nimport React, { Component } from 'react';\n\nimport { deepCopy } from '@/lib/Utils.js';\nimport type { ChangeInputNav } from '@/types/app';\nimport type { PropsTableNavEditRow } from '@/types/props-types';\nimport type { EventCheckbox } from '@/types/event';\n\nclass TableNavEditRow extends Component {\n constructor(props: PropsTableNavEditRow) {\n super(props);\n this.state = {};\n }\n\n changeInput = ({ val, id }: ChangeInputNav): void => {\n const copyNewRow = deepCopy(this.props.state.newRow);\n if (!copyNewRow) {\n return;\n }\n if (id) {\n copyNewRow[id] = val.toString();\n }\n this.props.setState({ newRow: copyNewRow });\n };\n changeCheckbox = ({ isChecked, id }: EventCheckbox): void => {\n const copyNewRow = deepCopy(this.props.state.newRow);\n if (!copyNewRow) {\n return;\n }\n if (id) {\n copyNewRow[id] = isChecked.toString();\n }\n this.props.setState({ newRow: copyNewRow });\n };\n\n openHelperText = (value: string): void => {\n if (value) {\n this.props.setState({ editedValueFromHelperText: this.props.state.newRow[value] });\n this.props.setState({ helperTextFor: value });\n }\n\n this.props.setState({ helperText: true });\n };\n\n render(): React.ReactNode {\n return (\n \n \n \n );\n }\n}\n\nexport default TableNavEditRow;\n", "import HelperCard from '@/components/popupCards/HelperCard';\nimport PopupContainer from '@/components/popupCards/PopupContainer';\nimport React, { Component } from 'react';\nimport helperText from '@/config/helper.js';\nimport type { EventButton } from '@/types/event';\nimport type { PropsTableNavHelper } from '@/types/props-types';\n\nclass TableNavHelper extends Component {\n constructor(props: PropsTableNavHelper) {\n super(props);\n this.state = {};\n }\n onchangeValueFromHelper = ({ value }: EventButton): void => {\n if (this.props.state.editedValueFromHelperText === null) {\n this.props.setState({ editedValueFromHelperText: value });\n }\n\n this.props.setState({ editedValueFromHelperText: `${this.props.state.editedValueFromHelperText} ${value}` });\n };\n\n render(): React.ReactNode {\n return (\n \n \n \n );\n }\n}\n\nexport default TableNavHelper;\n", "import React, { Component } from 'react';\nimport Input from '@components/btn-Input/input';\nimport { Grid } from '@mui/material';\nimport Checkbox from '@components/btn-Input/checkbox';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport Select from '@components/btn-Input/select';\nimport type { PropsSettings } from '@/types/app';\nimport type { EventCheckbox, EventInput, EventSelect } from '@/types/event';\n\nclass Settings extends Component {\n constructor(props: PropsSettings) {\n super(props);\n this.state = {\n value: '/opt/iobroker/grafana/',\n options: ['One', 'Two', 'Three'],\n };\n }\n onClickCheckbox = ({ isChecked, id }: EventCheckbox): void => {\n const checkbox = { ...this.props.data.state.native.checkbox };\n checkbox[id] = isChecked;\n this.props.callback.updateNative('checkbox', checkbox);\n };\n\n componentDidMount(): void {\n if (!this.props.data.state.native.checkbox.sendMenuAfterRestart) {\n const checkbox = { ...this.props.data.state.native.checkbox };\n checkbox.sendMenuAfterRestart = true;\n this.props.callback.updateNative('checkbox', checkbox);\n }\n }\n\n render(): React.ReactNode {\n return (\n
    \n

    {I18n.t('settings')}

    \n \n \n this.props.callback.updateNative(id, val)}\n setNative={true}\n />\n \n \n this.props.callback.updateNative(id, val)}\n id=\"textNoEntry\"\n value={this.props.data.state.native.textNoEntry || I18n.t('entryNotFound')}\n />\n \n \n this.props.callback.updateNative(id, val)}\n id=\"tokenGrafana\"\n value={this.props.data.state.native.tokenGrafana || ''}\n />\n \n \n this.props.callback.updateNative(id, val)}\n id=\"directory\"\n value={this.props.data.state.native.directory || '/opt/iobroker/grafana/'}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n );\n }\n}\n\nexport default Settings;\n", "import { navEntries } from '@/config/entries';\nimport TabAction from '@/pages/AppContentTabAction';\nimport TabNavigation from '@/pages/AppContentTabNavigation';\nimport Settings from '@/pages/AppContentTabSettings';\nimport { TabPanel } from '@mui/lab';\nimport React, { Component } from 'react';\nimport type { PropsMainTabs } from '@/types/props-types';\n\nclass Tabs extends Component {\n constructor(props: PropsMainTabs) {\n super(props);\n this.state = {};\n }\n\n render(): React.ReactNode {\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n );\n }\n}\n\nexport default Tabs;\n", "import React, { Component } from 'react';\nimport { Tab, Box } from '@mui/material';\nimport { TabList } from '@mui/lab';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport type { PropsMainTabList, TabListingType } from '@/types/app';\n\nclass TabListing extends Component {\n constructor(props: PropsMainTabList) {\n super(props);\n this.state = {};\n }\n handleChange = (event: React.SyntheticEvent, val: string): void => {\n this.props.callback.setStateApp({ tab: val });\n };\n\n tabs: TabListingType[] = [\n {\n label: 'navigation',\n value: 'nav',\n },\n {\n label: 'action',\n value: 'action',\n },\n {\n label: 'settings',\n value: 'settings',\n },\n ];\n render(): React.ReactNode {\n return (\n \n \n Test\n {this.tabs.map(tab => (\n \n ))}\n \n \n );\n }\n}\n\nexport default TabListing;\n", "import AppContentHeader from '@/pages/AppContentHeader';\nimport AppContentTab from '@/pages/AppContentTab';\nimport AppContentTabsListing from '@/pages/AppContentTabsListing';\nimport { TabContext } from '@mui/lab';\nimport { Box, Grid } from '@mui/material';\nimport type { PropsMainContent } from '@/types/app';\nimport React, { Component } from 'react';\n\nclass AppContent extends Component {\n constructor(props: PropsMainContent) {\n super(props);\n this.state = {};\n }\n\n render(): React.ReactNode {\n return (\n \n \n \n \n \n \n \n \n \n );\n }\n}\n\nexport default AppContent;\n", "import React, { Component } from 'react';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport type { PropsMainDoubleTriggerInfo } from '@/types/app';\n\nclass DoubleTriggerInfo extends Component {\n constructor(props: PropsMainDoubleTriggerInfo) {\n super(props);\n this.state = {};\n }\n\n render(): React.ReactNode {\n return (\n
    \n

    {I18n.t('doubleTrigger')}

    \n {this.props.state.doubleTrigger.map((element, index) => (\n \n {element}\n

    \n ))}\n
    \n );\n }\n}\n\nexport default DoubleTriggerInfo;\n", "import React, { Component } from 'react';\nimport PopupContainer from '@/components/popupCards/PopupContainer';\nimport DropBox from '@/pages/AppDropBoxContent';\nimport { onDragStart, onDragEnd, onDragOver, onDrop, onDrag, onMouseEnter, onMouseLeave } from '@/lib/movePosition';\nimport type { PropsMainDropBox } from '@/types/app';\n\nclass MainDropBox extends Component {\n constructor(props: PropsMainDropBox) {\n super(props);\n this.state = {};\n }\n closeDropBox = (): void => {\n this.props.callback.setStateApp({ showDropBox: false });\n };\n\n render(): React.ReactNode {\n return (\n \n \n \n );\n }\n}\n\nexport default MainDropBox;\n", "import React, { Component } from 'react';\nimport Select from '@/components/btn-Input/select';\nimport { Radio } from '@mui/material';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport { updateTriggerForSelect } from '@/lib/actionUtils';\nimport { deepCopy } from '@/lib/Utils';\nimport PopupContainer from '@/components/popupCards/PopupContainer';\nimport RenameCard from '@/components/popupCards/RenameCard';\nimport type { DataRow, NativeData, PropsDropBox, StateDropBox } from '@/types/app';\nimport type { EventButton, EventSelect } from '@/types/event';\n\nclass DropBox extends Component {\n constructor(props: PropsDropBox) {\n super(props);\n this.state = {\n inDropBox: false,\n menuList: [],\n selectedMenu: '',\n selectedValue: 'move',\n openRenamePopup: false,\n trigger: '',\n newTrigger: '',\n usedTrigger: [],\n rowToWorkWith: {} as DataRow,\n isOK: false,\n oldTrigger: '',\n };\n }\n componentDidMount(): void {\n this.updateMenuList();\n }\n componentDidUpdate(prevProps: Readonly, prevState: Readonly): void {\n if (prevProps.data.state.activeMenu !== this.props.data.state.activeMenu) {\n this.setState({ selectedMenu: '' });\n this.updateMenuList();\n }\n if (prevState.newTrigger !== this.state.newTrigger) {\n if (this.state.usedTrigger) {\n if (\n this.state.usedTrigger.includes(this.state.newTrigger) ||\n this.state.newTrigger === '' ||\n this.state.newTrigger === this.state.oldTrigger\n ) {\n this.setState({ isOK: false });\n } else {\n this.setState({ isOK: true });\n }\n } else {\n this.setState({ isOK: true });\n }\n }\n }\n updateMenuList = (): void => {\n const menuList = Object.keys(this.props.data.state.native.usersInGroup);\n this.setState({ menuList: menuList });\n };\n\n static handleDragOver = (e: React.DragEvent): void => {\n e.preventDefault();\n };\n\n handleOnDrop = (): void => {\n if (this.state.selectedMenu === '') {\n return;\n }\n const data = deepCopy(this.props.data.state.native.data);\n if (!data) {\n return;\n }\n let rowToWorkWith: DataRow = {} as DataRow;\n const moveOrCopy = this.state.selectedValue;\n\n if (this.state.newTrigger === '' && !(this.props.data.state.subTab === 'events')) {\n if (this.props.data.state.tab === 'action') {\n rowToWorkWith =\n this.props.data.state.native.data[this.props.data.state.tab][this.props.data.state.activeMenu][\n this.props.data.state.subTab\n ][this.props.index];\n } else {\n rowToWorkWith =\n this.props.data.state.native.data[this.props.data.state.tab][this.props.data.state.activeMenu][\n this.props.index\n ];\n }\n this.setState({ rowToWorkWith: rowToWorkWith });\n const usedTrigger = updateTriggerForSelect(\n data,\n this.props.data.state.native?.usersInGroup,\n this.state.selectedMenu,\n )?.usedTrigger;\n\n this.setState({ usedTrigger: usedTrigger || [] });\n if (this.props.data.state.tab === 'action' && 'trigger' in rowToWorkWith) {\n if (moveOrCopy === 'copy') {\n if (rowToWorkWith.trigger && usedTrigger?.includes(rowToWorkWith.trigger[0])) {\n this.setState({\n trigger: rowToWorkWith.trigger[0],\n newTrigger: rowToWorkWith.trigger[0],\n openRenamePopup: true,\n oldTrigger: rowToWorkWith.trigger[0],\n });\n }\n } else {\n // Move Item\n const items = DropBox.countItemsInArray(usedTrigger, rowToWorkWith.trigger[0]);\n if (items && items <= 1) {\n this.setState({ trigger: rowToWorkWith.trigger[0], newTrigger: rowToWorkWith.trigger[0] });\n this.move(rowToWorkWith, data);\n } else {\n this.setState({\n trigger: rowToWorkWith.trigger[0],\n newTrigger: rowToWorkWith.trigger[0],\n openRenamePopup: true,\n oldTrigger: rowToWorkWith.trigger[0],\n });\n }\n }\n } else {\n // Navigation\n if (moveOrCopy === 'copy' && 'call' in rowToWorkWith) {\n if (usedTrigger?.includes(rowToWorkWith.call)) {\n this.setState({\n trigger: rowToWorkWith.call,\n newTrigger: rowToWorkWith.call,\n openRenamePopup: true,\n oldTrigger: rowToWorkWith.call,\n });\n }\n } else if ('call' in rowToWorkWith) {\n // Move Item\n const items = DropBox.countItemsInArray(usedTrigger, rowToWorkWith.call);\n if (items && items <= 1) {\n this.setState({ trigger: rowToWorkWith.call, newTrigger: rowToWorkWith.call });\n this.move(rowToWorkWith, data);\n } else {\n this.setState({\n trigger: rowToWorkWith.call,\n newTrigger: rowToWorkWith.call,\n openRenamePopup: true,\n oldTrigger: rowToWorkWith.call,\n });\n }\n }\n }\n } else {\n if (this.props.data.state.subTab === 'events') {\n rowToWorkWith =\n this.props.data.state.native.data[this.props.data.state.tab][this.props.data.state.activeMenu][\n this.props.data.state.subTab\n ][this.props.index];\n } else if (!rowToWorkWith) {\n rowToWorkWith = this.state.rowToWorkWith;\n }\n\n if (moveOrCopy === 'copy') {\n this.copy(rowToWorkWith, data);\n } else {\n this.move(rowToWorkWith, data);\n }\n }\n };\n\n static countItemsInArray = (data: string[] | undefined, searchedString: string): number | undefined => {\n let count = 0;\n if (!data) {\n return;\n }\n data.forEach(element => {\n if (element.trim() === searchedString.trim()) {\n count++;\n }\n });\n\n return count;\n };\n\n move = (rowToWorkWith: DataRow, data: NativeData): void => {\n if (this.props.data.state.tab === 'action' && this.props.data.state.subTab !== 'events') {\n if (this.state.newTrigger !== '' && 'trigger' in rowToWorkWith) {\n rowToWorkWith.trigger[0] = this.state.newTrigger;\n }\n\n // Wenn es das erste Element ist, dann muss das Array erstellt werden\n if (!data[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab]) {\n data[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab] = [];\n }\n\n data[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab].push(rowToWorkWith);\n data[this.props.data.state.tab][this.props.data.state.activeMenu][this.props.data.state.subTab].splice(\n this.props.index,\n 1,\n );\n } else if (this.props.data.state.subTab == 'events') {\n // Events besonders da kein Trigger vorhanden ist\n if (!data[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab]) {\n data[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab] = [];\n }\n data[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab].push(rowToWorkWith);\n data[this.props.data.state.tab][this.props.data.state.activeMenu][this.props.data.state.subTab].splice(\n this.props.index,\n 1,\n );\n } else {\n if (this.state.newTrigger !== '' && 'call' in rowToWorkWith) {\n rowToWorkWith.call = this.state.newTrigger;\n }\n data[this.props.data.state.tab][this.state.selectedMenu].push(rowToWorkWith);\n data[this.props.data.state.tab][this.props.data.state.activeMenu].splice(this.props.index, 1);\n }\n this.props.callback.updateNative('data', data);\n this.setState({ newTrigger: '' });\n };\n copy = (rowToWorkWith: DataRow, data: NativeData): void => {\n if (\n this.props.data.state.tab === 'action' &&\n this.props.data.state.subTab !== 'events' &&\n 'trigger' in rowToWorkWith\n ) {\n rowToWorkWith.trigger[0] = this.state.newTrigger;\n data[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab].push(rowToWorkWith);\n } else if (this.props.data.state.subTab == 'events') {\n data[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab].push(rowToWorkWith);\n } else if ('call' in rowToWorkWith) {\n rowToWorkWith.call = this.state.newTrigger;\n data[this.props.data.state.tab][this.state.selectedMenu].push(rowToWorkWith);\n }\n this.props.callback.updateNative('data', data);\n this.setState({ newTrigger: '' });\n };\n\n handleDrag = (val: boolean): void => {\n this.setState({ inDropBox: val });\n };\n handleChange = (event: React.ChangeEvent): void => {\n this.setState({ selectedValue: event.target.value });\n };\n renameMenu = ({ value }: EventButton): void => {\n if (!value) {\n this.setState({ openRenamePopup: false, newTrigger: '' });\n return;\n }\n if (value) {\n this.setState({ openRenamePopup: false });\n this.handleOnDrop();\n\n return;\n }\n this.setState({ newTrigger: value as string });\n };\n render(): React.ReactNode {\n return (\n
    \n
    \n

    {this.state.isOK}

    \n this.setState({ selectedMenu: val })}\n placeholder={I18n.t('selectTargetMenu')}\n >\n \n \n this.handleOnDrop()}\n onDragOver={(event: React.DragEvent) => DropBox.handleDragOver(event)}\n onDragEnter={() => this.handleDrag(true)}\n onDragLeave={() => this.handleDrag(false)}\n >\n

    Drop here!!!

    \n

    {I18n.t('selectAMenuDropBox')}

    \n
    \n
    \n {this.state.openRenamePopup ? (\n
    \n \n \n \n
    \n ) : null}\n
    \n );\n }\n}\n\nexport default DropBox;\n", "import React, { Component } from 'react';\nimport { Logo } from '@iobroker/adapter-react-v5';\nimport { Grid } from '@mui/material';\nimport type { PropsHeaderIconBar } from '@/types/app';\n\nclass AppHeaderIconBar extends Component {\n constructor(props: PropsHeaderIconBar) {\n super(props);\n }\n\n render(): React.ReactNode {\n return (\n \n
    \n this.setState({ errorText: text })}\n onLoad={this.props.onLoad}\n />\n \n \n );\n }\n}\n\nexport default AppHeaderIconBar;\n", "import React, { Component } from 'react';\nimport PopupContainer from '@/components/popupCards/PopupContainer';\nimport TriggerOverview from '@/pages/AppTriggerOverviewContent';\nimport type { PropsMainTriggerOverview } from '@/types/app';\nimport type { EventButton } from '@/types/event';\n\nclass MainTriggerOverview extends Component {\n constructor(props: PropsMainTriggerOverview) {\n super(props);\n this.state = {};\n }\n\n render(): React.ReactNode {\n return (\n this.props.callback.setState({ showTriggerInfo: value })}\n >\n \n \n );\n }\n}\n\nexport default MainTriggerOverview;\n", "import { I18n } from '@iobroker/adapter-react-v5';\nimport type { MenuWithUser, PropsTriggerOverview, StateTriggerOverview } from '@/types/app.js';\nimport React, { Component } from 'react';\nimport Select from '../components/btn-Input/select.js';\nimport { deepCopy, deleteDoubleEntriesInArray } from '@/lib/Utils';\nimport { updateTriggerForSelect } from '@/lib/actionUtils';\nimport { colors } from '@/lib/color';\nimport Square from './AppTriggerOverviewContentSquare.js';\nimport type { EventSelect } from '@/types/event';\n\nclass TriggerOverview extends Component {\n constructor(props: PropsTriggerOverview) {\n super(props);\n this.state = {\n ulPadding: {},\n trigger: null,\n selected: '',\n options: [],\n };\n }\n\n dataOfIterate = { menu: '' };\n ulPadding = {};\n colorArray: { color: string; menu: string; index: number }[] = [];\n menuArray: string[] = [];\n\n getMenusWithUserOrIndexOfMenu(menuCall: string): { menusWithUser: MenuWithUser[]; arrayUsersInGroup: string[] } {\n const arrayUsersInGroup = Object.keys(this.props.usersInGroup);\n const menusWithUser: MenuWithUser[] = [];\n const userInMenu = this.props.usersInGroup[menuCall];\n arrayUsersInGroup.forEach((menu, index) => {\n userInMenu.forEach(user => {\n if (this.props.usersInGroup[menu].includes(user)) {\n menusWithUser.push({ menu: menu, index: index });\n }\n });\n });\n\n return { menusWithUser: menusWithUser, arrayUsersInGroup: arrayUsersInGroup };\n }\n\n getIndexOfMenu(menuCall: string): number {\n const arrayUsersInGroup = Object.keys(this.props.usersInGroup);\n let colorIndex = 0;\n const userInMenu = this.props.usersInGroup[menuCall];\n arrayUsersInGroup.forEach((menu, index) => {\n userInMenu.forEach(user => {\n if (this.props.usersInGroup[menu].includes(user) && menu == menuCall) {\n colorIndex = index;\n }\n });\n });\n return colorIndex;\n }\n\n getColorUsedTriggerNav({\n menuCall,\n trigger,\n }: {\n index: number;\n menuCall: string;\n trigger: string;\n }): { color: string; menu: string; index: number | null; used?: string }[] | undefined {\n this.menuArray = [];\n const result = this.getMenusWithUserOrIndexOfMenu(menuCall);\n const menusWithUser = deleteDoubleEntriesInArray(result.menusWithUser);\n this.colorArray = [];\n\n for (const menu of menusWithUser) {\n if (!this.ulPadding[menuCall]) {\n this.ulPadding[menuCall] = 0;\n }\n\n if (\n this.state.trigger?.everyTrigger[menu.menu] &&\n this.state.trigger?.everyTrigger[menu.menu].includes(trigger)\n ) {\n for (let key = 0; key < result.arrayUsersInGroup.length; key++) {\n if (result.arrayUsersInGroup[key] === menu.menu) {\n if (!this.menuArray.includes(menu.menu)) {\n this.menuArray.push(menu.menu);\n }\n this.colorArray.push({ color: colors[menu.index], menu: menu.menu, index: key });\n if (this.ulPadding[menuCall] < (this.colorArray.length - 4) * 11 + 15) {\n this.ulPadding[menuCall] = (this.colorArray.length - 4) * 11 + 15;\n }\n }\n }\n }\n }\n if (this.colorArray.length !== 0) {\n return this.colorArray;\n }\n if (trigger == '-' && this.ulPadding[menuCall] != 37) {\n this.ulPadding[menuCall] = 10;\n } else if (this.ulPadding[menuCall] < 37) {\n this.ulPadding[menuCall] = 37;\n }\n return [{ color: 'white', menu: 'Is not assigned ', index: null, used: I18n.t('not created') }];\n }\n\n getColorNavElemente(index: number, menu: string, trigger: string): undefined | string {\n const arrayUsersInGroup = Object.keys(this.props.usersInGroup);\n const result = this.getMenusWithUserOrIndexOfMenu(menu);\n\n const menusWithUser = result.menusWithUser;\n // Jedes Men\u00FC durchlaufen das zu dem User oder den Usern geh\u00F6rt in dem das Item ist\n let menu2 = '';\n for (const menuObj of menusWithUser) {\n menu2 = menuObj.menu;\n // Die Trigger durchlaufen die in dem Men\u00FC in nav sind\n if (\n this.state.trigger?.usedTrigger.nav[menu2] &&\n this.state.trigger?.usedTrigger.nav[menu2].includes(trigger)\n ) {\n // Dann ermitteln welchen key das menu hat\n for (let key = 0; key < arrayUsersInGroup.length; key++) {\n if (arrayUsersInGroup[key] === menu2) {\n this.dataOfIterate.menu = menu2;\n\n return colors[key];\n }\n }\n } else {\n // Wenn es nicht in Nav ist muss es in Action sein, ansonsten ist der Trigger unbenutzt\n for (const action in this.state.trigger?.usedTrigger.action[menu2]) {\n if (this.state.trigger.usedTrigger.action[menu2][action].includes(trigger)) {\n for (let key = 0; key < arrayUsersInGroup.length; key++) {\n if (arrayUsersInGroup[key] === menu2) {\n this.dataOfIterate.menu = menu2;\n\n return colors[key];\n }\n }\n }\n }\n }\n }\n\n if (!this.ulPadding[menu]) {\n this.ulPadding[menu] = 0;\n }\n if (this.ulPadding[menu] < 37) {\n this.ulPadding[menu] = 37;\n }\n return 'black';\n }\n\n getMenu(): string {\n return this.dataOfIterate.menu;\n }\n\n createdData(menu: string): void {\n const result = updateTriggerForSelect(this.props.data, this.props.usersInGroup, menu);\n this.setState({ trigger: deepCopy(result?.triggerObj) });\n }\n\n getOptions(): void {\n const options: string[] = [];\n for (const menu in this.props.data.nav) {\n if (this.props.data.nav[menu][0].call != '-') {\n options.push(menu);\n }\n }\n this.setState({ options: options, selected: options[0] });\n this.createdData(options[0]);\n }\n\n componentDidMount(): void {\n this.getOptions();\n this.setState({ ulPadding: this.ulPadding });\n }\n\n componentDidUpdate(prevProps: Readonly, prevState: Readonly): void {\n if (prevState.trigger != this.state.trigger) {\n this.setState({ ulPadding: this.ulPadding });\n }\n }\n\n updateHandler = ({ val }: EventSelect): void => {\n this.setState({ selected: val });\n this.createdData(val);\n };\n\n render(): React.ReactNode {\n return (\n <>\n \n {this.state.trigger ? (\n
    \n
    \n

    {I18n.t('unusedTrigger')}

    \n
      \n {this.state.trigger.unUsedTrigger.map((trigger, index) => {\n return (\n \n \n
    • {trigger}
    • \n
    \n );\n })}\n \n
    \n {Object.keys(this.state.trigger.usedTrigger.action).map((menu, indexUsedTrigger) => {\n return (\n \n \n
    \n

    \n {this.state.trigger?.usedTrigger.nav[menu][0] == '-'\n ? 'submenu'\n : 'startSide'}\n

    \n {this.props.userActiveCheckbox[menu] ? (\n {I18n.t('Active')}\n ) : (\n {I18n.t('Inactive')}\n )}\n
    \n

    \n {I18n.t('setMenu')}: {menu}\n

    \n
    \n \n

    {I18n.t('userList')}

    \n {this.props.usersInGroup[menu].map((user, indexUser) => {\n return

    {user}

    ;\n })}\n
    ;\n }\n}\n\nexport default CoverSaveBtn;\n", "import React, { Component } from 'react';\nimport { TabContext, TabPanel } from '@mui/lab';\nimport AppContentTabActionContent from './AppContentTabActionContent';\nimport { tabValues } from '@/config/entries';\nimport AppContentTabActionTabsListing from './AppContentTabActionTabsListing';\nimport type { PropsTabAction, StateTabAction } from '@/types/app';\n\nclass TabAction extends Component {\n constructor(props: PropsTabAction) {\n super(props);\n this.state = {\n value: 'set',\n };\n }\n\n render(): React.ReactNode {\n return (\n \n \n {tabValues.map((tab, index) => (\n \n \n \n ))}\n \n );\n }\n}\n\nexport default TabAction;\n", "'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the d.ts file and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired\n} : void 0;\n\n/**\n * @returns {unknown}\n */\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n if (idPrefix === null) {\n return null;\n }\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n if (idPrefix === null) {\n return null;\n }\n return `${context.idPrefix}-T-${value}`;\n}", "'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = useTabContext();\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the d.ts file and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;", "'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props);\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes /* remove-proptypes */ = {\n // \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Warning \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n // \u2502 These PropTypes are generated from the TypeScript type definitions. \u2502\n // \u2502 To update them, edit the d.ts file and run `pnpm proptypes`. \u2502\n // \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;", "import generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;", "import { deepCopy } from '@/lib/Utils.js';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport { Paper, Table, TableCell, TableContainer, TableHead, TableRow } from '@mui/material';\nimport React, { Component } from 'react';\nimport HelperCard from '@/components/popupCards/HelperCard';\nimport PopupContainer from '@/components/popupCards/PopupContainer';\nimport helperText from '@/config/helper.js';\nimport { addNewRow } from '@/lib/actionUtils.js';\nimport AppContentTabActionContentRowEditor from '@/pages/AppContentTabActionContentRowEditor';\nimport AppContentTabActionContentTable from '@/pages/AppContentTabActionContentTable';\nimport Button from '@components/Button';\nimport type { ActionData, ActionNewRowProps, PropsActionCard, StateActionCard } from '@/types/app';\nimport type { EventButton } from '@/types/event';\nimport type { UpdateProps } from '@/types/props-types';\n\nclass ActionCard extends Component {\n constructor(props: PropsActionCard) {\n super(props);\n this.state = {\n rowPopup: false,\n rowIndexToEdit: 0,\n editRow: false,\n newRow: {} as ActionNewRowProps,\n rowsLength: 0,\n newUnUsedTrigger: this.props.data.state.unUsedTrigger,\n helperText: false,\n helperTextFor: '',\n helperTextForInput: '',\n editedValueFromHelperText: null,\n isOK: false,\n valueForSave: null,\n inputValuesAreOK: true,\n disableInput: false,\n nav: '',\n text: '',\n };\n }\n\n componentDidUpdate(prevProps: Readonly, prevState: Readonly): void {\n const { native, activeMenu } = this.props.data.state;\n if (prevState.editedValueFromHelperText !== this.state.editedValueFromHelperText) {\n if (this.state.editedValueFromHelperText !== null && this.state.editedValueFromHelperText !== undefined) {\n if (this.state.editedValueFromHelperText !== '') {\n this.setState({ isOK: this.checkNewValueIsOK() });\n }\n }\n }\n\n if (prevProps.data !== this.props.data || activeMenu !== prevProps.data.state.activeMenu) {\n this.getLengthOfData(native.data.action, activeMenu);\n }\n\n if (prevState.newRow !== this.state.newRow) {\n this.disableButtonHandler();\n }\n }\n\n checkNewValueIsOK = (): boolean => {\n return !!(\n this.state.editedValueFromHelperText &&\n this.state.editedValueFromHelperText !== '' &&\n this.state.editedValueFromHelperText !== this.state[this.state.helperTextFor]\n );\n };\n\n addEditedTrigger = (trigger: string | null): void => {\n const unUsedTrigger = deepCopy(this.props.data.state.unUsedTrigger);\n if (!unUsedTrigger) {\n return;\n }\n if (trigger) {\n this.setState({ newUnUsedTrigger: [...unUsedTrigger, trigger] });\n return;\n }\n };\n\n private disableButtonHandler(): void {\n const { tab } = this.props.data;\n let inputValuesAreOk = true;\n const row = this.state.newRow;\n\n tab.entries.forEach(entry => {\n if (!entry.checkbox && entry.required) {\n if (!row[entry.name]) {\n row[entry.name] = [''];\n }\n row[entry.name].forEach(val => {\n if (inputValuesAreOk && entry.name === 'values') {\n if (typeof val !== 'string') {\n inputValuesAreOk = false;\n }\n return;\n }\n if (inputValuesAreOk && val == '') {\n inputValuesAreOk = false;\n }\n });\n }\n });\n\n if (this.state.inputValuesAreOK !== inputValuesAreOk) {\n this.setState({ inputValuesAreOK: inputValuesAreOk });\n }\n }\n\n componentDidMount(): void {\n const { native, activeMenu } = this.props.data.state;\n this.resetNewRow();\n this.getLengthOfData(native.data?.action, activeMenu);\n }\n\n openAddRowCard = ({ index }: EventButton): void => {\n this.addEditedTrigger(null);\n this.setState({ rowPopup: true, rowIndexToEdit: index });\n };\n\n eventModalButtonClick = ({ value: saveData }: EventButton): void => {\n if (saveData) {\n this.saveData();\n }\n this.setState({ newUnUsedTrigger: null, rowPopup: false, editRow: false });\n this.resetNewRow();\n };\n\n saveData(): void {\n const { value: subCard } = this.props.data.tab;\n const { native, activeMenu } = this.props.data.state;\n const data = deepCopy(native.data);\n if (!data) {\n return;\n }\n if (!data.action[activeMenu][subCard]) {\n data.action[activeMenu][subCard] = [];\n }\n if (this.state.editRow) {\n data.action[activeMenu][subCard].splice(this.state.rowIndexToEdit, 1, this.state.newRow);\n } else {\n data.action[activeMenu][subCard].splice(this.state.rowIndexToEdit + 1, 0, this.state.newRow);\n }\n\n this.props.callback.updateNative('data', data);\n }\n\n resetNewRow = (): void => {\n const newRow = {} as ActionNewRowProps;\n this.props.data.tab.entries.forEach(entry => {\n newRow[entry.name] = [entry.val || ''];\n });\n this.setState({ newRow: newRow });\n };\n\n getLengthOfData = (data: ActionData, activeMenu: string): void => {\n const { value: subCard } = this.props.data.tab;\n\n if (data?.[activeMenu]?.[subCard]?.length) {\n this.setState({ rowsLength: data[activeMenu][subCard].length });\n return;\n }\n this.setState({ rowsLength: 0 });\n };\n\n openHelperText = (value: { subCard: string; entry: string; index: number }): void => {\n this.setState({ valueForSave: value });\n if (value) {\n this.setState({\n editedValueFromHelperText: this.state.newRow[value.entry][value.index],\n helperTextFor: value.subCard,\n helperTextForInput: value.entry,\n });\n }\n\n this.setState({ helperText: true });\n };\n\n onchangeValueFromHelper = ({ value }: EventButton): void => {\n if (this.state.editedValueFromHelperText === null) {\n this.setState({ editedValueFromHelperText: value as string });\n return;\n }\n this.setState({ editedValueFromHelperText: `${this.state.editedValueFromHelperText} ${value}` });\n };\n\n popupHelperCard = ({ value }: EventButton): void => {\n if (value) {\n const row = deepCopy(this.state.newRow);\n if (!row) {\n return;\n }\n if (!this.state.valueForSave) {\n return;\n }\n row[this.state.valueForSave?.entry][this.state.valueForSave?.index] = this.state.editedValueFromHelperText;\n this.setState({ newRow: row });\n }\n this.setState({ helperText: false, editedValueFromHelperText: null });\n };\n\n addNewRow = ({ index }: EventButton): void => {\n this.setState({ rowPopup: true });\n const combinedProps: UpdateProps = {\n data: {\n newRow: this.state.newRow,\n tab: { entries: this.props.data.tab.entries },\n },\n };\n addNewRow(index, combinedProps, this.props.callback.setStateApp, this.props.callback.setStateApp);\n };\n\n render(): React.ReactNode {\n return (\n <>\n {this.state.rowsLength == 0 ? (\n \n add\n {I18n.t('addAction')}\n \n ) : (\n \n \n \n \n {this.props.data.tab.entries.map((entry, index) => (\n \n \n {I18n.t(entry.headline)}\n \n \n ))}\n {Array(Object.keys(this.props.data.showButtons).length)\n .fill(undefined)\n .map((_, i) => (\n \n ))}\n \n \n \n \n \n )}\n {this.state.rowPopup ? (\n \n \n \n ) : null}\n {this.state.helperText ? (\n \n \n \n ) : null}\n \n );\n }\n}\n\nexport default ActionCard;\n", "import React, { Component } from 'react';\nimport Table from '@mui/material/Table';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableContainer from '@mui/material/TableContainer';\nimport TableHead from '@mui/material/TableHead';\nimport TableRow from '@mui/material/TableRow';\nimport Paper from '@mui/material/Paper';\nimport { I18n, type IobTheme, SelectID, Theme } from '@iobroker/adapter-react-v5';\nimport BtnSmallAdd from '../btn-Input/btn-small-add';\nimport BtnSmallSearch from '../btn-Input/btn-small-search';\nimport Textarea from '../btn-Input/textarea';\nimport type { PropsHelperCard, socket, StateHelperCard } from '@/types/app';\n\nconst theme: IobTheme = Theme('light');\n\nclass HelperCard extends Component {\n constructor(props: PropsHelperCard) {\n super(props);\n this.state = {\n rows: this.props.helper[this.props.val],\n showSelectId: false,\n selectedId: '',\n };\n }\n\n updateId = (selected: string | string[] | undefined): void => {\n const value = this.props.editedValueFromHelperText;\n if (value.includes('ID')) {\n this.props.setState({ editedValueFromHelperText: value.replace('ID', selected as string) });\n return;\n } else if (value.includes(\"'id':'\")) {\n const oldId = value.split(\"'id':'\")[1].split(\"'}\")[0];\n this.props.setState({ editedValueFromHelperText: value.replace(oldId, selected as string) });\n return;\n }\n this.props.setState({ editedValueFromHelperText: `${value} ${selected}` });\n };\n\n openSelectId = (): void => {\n if (this.props.editedValueFromHelperText) {\n if (\n this.props.editedValueFromHelperText.includes(\"'id':'\") &&\n !this.props.editedValueFromHelperText.includes('ID')\n ) {\n const id = this.props.editedValueFromHelperText.split(\"'id':'\")[1].split(\"'}\")[0];\n this.setState({ selectedId: id });\n }\n\n this.setState({ showSelectId: true });\n }\n };\n\n render(): React.ReactNode {\n return (\n <>\n \n \n \n \n Text\n Info\n \n \n \n \n {this.state.rows[this.props.helperTextForInput].map((row, index) => (\n \n \n {row.text}\n \n \n {row.head ?
    : null}\n
    \n \n {row.text ? (\n \n \n \n ) : null}\n \n ))}\n \n \n \n\n {['nav', 'text', 'set', 'get', 'value'].includes(this.props.val) ? (\n \n ) : null}\n \n {this.state.showSelectId ? (\n this.setState({ showSelectId: false })}\n onOk={selected => {\n this.setState({ showSelectId: false });\n this.updateId(selected);\n }}\n />\n ) : null}\n \n );\n }\n}\n\nexport default HelperCard;\n", "import React, { Component } from 'react';\nimport Button from '../Button';\nimport type { ButtonSmallProps } from '@/types/app';\n\nclass BtnSmallAdd extends Component {\n render(): React.ReactNode {\n return (\n \n add\n \n );\n }\n}\n\nexport default BtnSmallAdd;\n", "import React, { Component } from 'react';\nimport Button from '../Button';\nimport type { ButtonSmallProps } from '@/types/app';\n\nclass BtnSmallUp extends Component {\n render(): React.ReactNode {\n return (\n \n search\n \n );\n }\n}\n\nexport default BtnSmallUp;\n", "import React, { Component } from 'react';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport type { PropsTextarea, StateTextarea } from '@/types/app';\n\nclass Textarea extends Component {\n onChangeHandler = (event: React.ChangeEvent | undefined): void => {\n if (!event) {\n return;\n }\n\n this.props.callback({ [this.props.id]: event?.target.value });\n };\n\n render(): React.ReactNode {\n return (\n
    \n \n
    \n );\n }\n}\n\nexport default Textarea;\n", "const globalItems = [\n {\n status: '',\n places: ['text', 'value'],\n data: [\n {\n text: \"{status:'ID':true}\",\n info: 'statusMenu',\n },\n ],\n },\n { newline: '', places: ['text', 'set', 'get'], data: [{ text: '\\\\n', info: 'breakpointNewline' }] },\n {\n parse_Mode: '',\n places: ['text', 'set', 'get'],\n data: [\n { text: ' ', info: 'parseModeBold' },\n { text: ' ', info: 'parseModeItalic' },\n { text: ' ', info: 'parseModeCode' },\n { text: '
    Link', info: 'parseModeLink' },\n ],\n },\n {\n time: '',\n places: ['text', 'get'],\n data: [{ text: '{time}', info: 'convertsUnixTimestamp' }],\n },\n {\n change: '',\n places: ['text', 'set', 'get'],\n data: [\n {\n text: 'change{\"true\":\"an\",\"false\":\"aus\"}',\n info: 'changeFunction',\n },\n ],\n },\n {\n textID: '',\n places: ['text', 'set'],\n data: [\n {\n text: '',\n info: 'insertID',\n },\n ],\n },\n];\nexport interface HelperText {\n nav: {\n value: { text: string; head?: string; info: string }[];\n text: { text: string; info: string }[];\n };\n get: { text: { text: string; info: string }[] };\n set: {\n returnText: { text: string; info: string }[];\n values: { text: string; info: string }[];\n };\n}\nconst helperText: HelperText = {\n // Nav\n nav: {\n value: [\n {\n text: 'menu:percent10:TRIGGER:',\n head: 'Submenu Percent
    ',\n info: 'menuPercent',\n },\n {\n text: 'menu:number0-6-1-UNIT:TRIGGER:',\n head: 'Submenu Number
    ',\n info: 'menuNumber',\n },\n {\n text: 'menu:switch-ein.true-aus.false:TRIGGER:',\n head: 'Submenu Switch
    ',\n info: 'menuSwitch',\n },\n {\n text: 'menu:dynSwitch[Name1|value1, Name2|value2, value3]:TRIGGER:LengthOfRow:',\n head: 'Submenu Dynamic Switch
    ',\n info: 'menuDynamicSwitch',\n },\n {\n text: 'menu:deleteAll:Navigation',\n head: 'Submenu Delete All
    ',\n info: 'menuDeleteAll',\n },\n\n {\n text: 'menu:back',\n info: 'menuBack',\n },\n ],\n text: [\n {\n text: \"{set:'id':'ID',val,ack}\",\n info: 'setID',\n },\n {\n text: \"{time.lc,(DD MM YYYY hh:mm:ss:sss),id:'ID'}\",\n info: 'lcTimestamp',\n },\n {\n text: \"{time.ts,(DD MM YYYY hh:mm:ss:sss),id:'ID'}\",\n info: 'tsTimestamp',\n },\n ],\n },\n get: {\n text: [\n { text: '{math:/10}', info: 'math' },\n\n { text: '{common.name}', info: 'commonName' },\n { text: '&&', info: 'placeholderValue' },\n { text: '{round:2}', info: 'valueRound' },\n {\n text: '{time.lc,(DD MM YYYY hh:mm:ss:sss)}',\n info: 'lcTimeStamp',\n },\n {\n text: '{time.ts,(DD MM YYYY hh:mm:ss:sss)}',\n info: 'tsTimeStamp',\n },\n\n {\n text: '{var1:ID;var2:ID; var1 ==var2 ? \"equal\" : var1 < var2 ? \"var1 is smaller\" : \"var1 is greater\"}',\n info: 'binding',\n },\n {\n text: '{json;[value-1-inJSON:NameTH-Col1,value-2-inJSON:NameTH-Col1];Header;}',\n info: 'jsonTable',\n },\n {\n text: '{json;[name:Name];Header;shoppinglist;}',\n info: 'jsonShoppingList',\n },\n {\n text: '{json;[value-1-inJSON:NameTH-Col1,value-2-inJSON:NameTH-Col1];Header;TextTable;}',\n info: 'jsonTable',\n },\n ],\n },\n set: {\n returnText: [\n { text: '{novalue}', info: 'noValue' },\n { text: '&&', info: 'placeholderValue' },\n {\n text: \"{'id':'ID','text':'Your Text'}\",\n info: 'notifiedByChangeOfAnotherState',\n },\n {\n text: '{confirmSet:The value has been set:noValue}',\n info: 'confirmSet',\n },\n {\n text: '{setDynamicValue:RequestText:Type:ConfirmText:ID:}',\n info: 'setDynamicValue',\n },\n ],\n values: [\n {\n text: '{id:ID}',\n info: 'manuallyValue',\n },\n {\n text: '{value}',\n info: 'modifiedSubmenuValue',\n },\n ],\n },\n};\nglobalItems.forEach(element => {\n element.data.forEach(data => {\n if (element.places.includes('value')) {\n helperText.nav.value.push(data);\n }\n if (element.places.includes('text')) {\n helperText.nav.text.push(data);\n }\n if (element.places.includes('set')) {\n helperText.set.returnText.push(data);\n }\n if (element.places.includes('get')) {\n helperText.get.text.push(data);\n }\n });\n});\nexport default helperText;\n", "import React from 'react';\nimport type { BtnCircleAddTypeProps } from '@/types/props-types';\n\nexport const BtnCircleAdd = (props: BtnCircleAddTypeProps): React.JSX.Element => {\n const clickHandler = (): void => {\n props.callback();\n };\n\n return (\n \n );\n};\n", "import type { Dropbox, SetStateFunction } from '@/types/app';\nexport const handleMouseOver = (e: React.MouseEvent | undefined): void => {\n const target = e?.target as HTMLElement;\n if (target.classList.contains('noneDraggable')) {\n let currentElement: HTMLElement | null = target;\n\n while (currentElement) {\n if (currentElement.tagName === 'TR' && !currentElement.classList.contains('SubTable')) {\n currentElement.draggable = false;\n return;\n }\n currentElement = currentElement.parentElement;\n }\n }\n};\n\nexport const handleMouseOut = (e: React.MouseEvent | undefined): void => {\n const target = e?.target as HTMLElement;\n if (target.classList.contains('noneDraggable') && !target.classList.contains('draggingDropBox')) {\n let currentElement: HTMLElement | null = target;\n while (currentElement) {\n if (currentElement.tagName === 'TR' && !currentElement.classList.contains('SubTable')) {\n currentElement.draggable = true;\n return;\n }\n currentElement = currentElement.parentElement;\n }\n }\n};\n\nexport const handleDragStart = (\n index: number,\n event: React.DragEvent | undefined,\n mouseOverNoneDraggable: boolean,\n setState: SetStateFunction,\n cbVal?: object,\n cb?: (cbVal: object) => void,\n): boolean | undefined => {\n if (mouseOverNoneDraggable && event) {\n const target = event.target as HTMLElement;\n target.style.userSelect = 'text';\n return false;\n }\n setState({ dropStart: index });\n if (cb) {\n cb(cbVal || {});\n }\n};\nexport const handleDragOver = (indexRow: number, event: React.DragEvent): void => {\n event.preventDefault();\n};\n\nexport const handleDragEnter = (index: number, setState: SetStateFunction): void => {\n setState({ dropOver: index });\n};\n\nexport const handleStyleDragOver = (\n index: number,\n dropOver: number,\n dropStart: number,\n): { borderTop?: string; borderBottom?: string } => {\n return dropOver === index && dropStart > index\n ? { borderTop: '2px solid #3399cc' }\n : dropOver === index && dropStart < index\n ? { borderBottom: '2px solid #3399cc' }\n : {};\n};\n\nexport const handleDragEnd = (setState: SetStateFunction, setStateApp?: SetStateFunction): void => {\n setState({ dropStart: 0 });\n setState({ dropOver: 0 });\n if (setStateApp) {\n setStateApp({ draggingRowIndex: null });\n }\n};\n\nexport const handleDraggable = (index: number): 'true' | 'false' => {\n return index === 0 ? 'false' : 'true';\n};\n\nexport function getDefaultDropBoxCoordinates(\n dropBox: Dropbox.Position,\n dropDifferenzX: number,\n dropDifferenzY: number,\n): { newX: number; newY: number } {\n if (dropBox && dropBox.dropboxRight && dropBox.dropboxTop) {\n return { newX: dropBox.dropboxRight - dropDifferenzX, newY: dropBox.dropboxTop + dropDifferenzY };\n }\n return { newX: 5 - dropDifferenzX, newY: 105 + dropDifferenzY };\n}\n", "import { I18n } from '@iobroker/adapter-react-v5';\nimport { TableCell, TableHead, TableRow } from '@mui/material';\nimport type { TabValueEntries } from '@/types/app';\nimport React, { Component } from 'react';\nimport Checkbox from '@/components/btn-Input/checkbox';\nimport type { EventCheckbox } from '@/types/event';\nimport type { PropsActionEditHeader } from '@/types/props-types';\n\nexport interface StateActionEditHeader {\n checkAll: boolean;\n isChecked: boolean;\n}\n\nclass AppContentTabActionContentRowEditorTableHead extends Component {\n constructor(props: PropsActionEditHeader) {\n super(props);\n this.state = {\n checkAll: false,\n isChecked: false,\n };\n }\n clickCheckBox = ({ isChecked }: EventCheckbox): void => {\n this.setState({ isChecked });\n this.props.callback.checkAll(isChecked);\n };\n\n static shouldShowInHeader(entry: TabValueEntries): boolean {\n return entry.name != 'trigger' && entry.name != 'parse_mode';\n }\n static isHeaderForDataCheckbox(name: string): string {\n return ['Con', 'Swi', 'Ack'].includes(name) ? 'table__head_checkbox' : '';\n }\n\n render(): React.ReactNode {\n return (\n \n \n \n \n \n {this.props.tab.entries.map((entry, index) =>\n AppContentTabActionContentRowEditorTableHead.shouldShowInHeader(entry) ? (\n \n \n {I18n.t(entry.headline)}\n \n \n ) : null,\n )}\n {this.props.tab.popupCard.buttons.add ? (\n \n ) : null}\n {this.props.tab.popupCard.buttons.remove ? (\n \n ) : null}\n \n \n );\n }\n}\n\nexport default AppContentTabActionContentRowEditorTableHead;\n", "import { BtnCircleAdd } from '@/components/btn-Input/btn-circle-add';\nimport BtnSmallSearch from '@/components/btn-Input/btn-small-search';\nimport Input from '@/components/btn-Input/input';\nimport { isChecked } from '@/lib/Utils.js';\nimport { moveItem, saveRows, updateData, updateId } from '@/lib/actionUtils.js';\nimport {\n handleDragEnd,\n handleDragEnter,\n handleDragOver,\n handleDragStart,\n handleMouseOut,\n handleMouseOver,\n handleStyleDragOver,\n} from '@/lib/dragNDrop.js';\nimport { isTruthy } from '@/lib/string';\nimport AppContentTabActionContentRowEditorTableHead from '@/pages/AppContentTabActionContentRowEditorTableHead';\nimport RenameModal from '@components/RenameModal';\nimport Checkbox from '@components/btn-Input/checkbox';\nimport PopupContainer from '@components/popupCards/PopupContainer';\nimport { I18n, type IobTheme, SelectID, Theme } from '@iobroker/adapter-react-v5';\nimport { Paper, Table, TableBody, TableCell, TableContainer, TableRow } from '@mui/material';\nimport type { NativeData, PropsRowEditPopupCard, StateRowEditPopupCard } from '@/types/app';\nimport React, { Component } from 'react';\nimport type { EventButton, EventCheckbox } from '@/types/event';\nimport AppContentTabActionContentRowEditorButtons from './AppContentTabActionContentRowEditorButtons';\nimport AppContentTabActionContentRowEditorCopyModal from './AppContentTabActionContentRowEditorCopyModal';\nimport type AppContentTabActionContentRowEditorCopyModalSelectedValues from './AppContentTabActionContentRowEditorCopyModalSelectedValues';\nimport AppContentTabActionContentRowEditorHeader from './AppContentTabActionContentRowEditorHeader';\nimport type { SaveDataObject } from '@/types/props-types';\n\nconst theme: IobTheme = Theme('light');\n\nclass AppContentTabActionContentRowEditor extends Component {\n constructor(props: PropsRowEditPopupCard) {\n super(props);\n this.state = {\n rows: [],\n trigger: '',\n showSelectId: false,\n selectIdValue: '',\n indexID: 0,\n dropStart: 0,\n dropEnd: 0,\n dropOver: 0,\n mouseOverNoneDraggable: false,\n itemForID: '',\n openCopyPopup: false,\n indexOfRowToCopyForModal: 0,\n checkboxes: [],\n isMinOneCheckboxChecked: false,\n copyModalOpen: false,\n copyToMenu: '',\n openRenameModal: false,\n isValueChanged: false,\n triggerName: '',\n renamedTriggerName: '',\n saveData: {\n checkboxesToCopy: [],\n copyToMenu: '',\n activeMenu: '',\n tab: '',\n rowIndexToEdit: 0,\n newTriggerName: '',\n },\n targetCheckboxes: {},\n isValueOk: false,\n };\n }\n componentDidMount(): void {\n saveRows(this.props, this.setState.bind(this), [], this.state.rows);\n this.initCheckboxesForEachRow();\n }\n\n componentDidUpdate(prevProps: Readonly, prevState: Readonly): void {\n const { newRow } = this.props.data;\n if (prevProps.data.newRow !== newRow) {\n saveRows(this.props, this.setState.bind(this), newRow);\n this.initCheckboxesForEachRow();\n }\n if (prevState.checkboxes !== this.state.checkboxes) {\n const isMinOneCheckboxChecked = this.state.checkboxes.some(checkbox => checkbox);\n this.setState({ isMinOneCheckboxChecked });\n }\n if (\n prevState.renamedTriggerName !== this.state.renamedTriggerName &&\n this.state.renamedTriggerName !== this.state.triggerName\n ) {\n this.setState({ isValueChanged: true });\n }\n if (\n prevProps.data.state.copyDataObject.targetCheckboxes !==\n this.props.data.state.copyDataObject.targetCheckboxes ||\n prevProps.data.state.copyDataObject.targetActionName !==\n this.props.data.state.copyDataObject.targetActionName\n ) {\n this.isMinOneItemChecked();\n }\n }\n\n updateData = (obj: { id: string; val: string | number | boolean; index: number }): void => {\n updateData(obj, this.props, this.setState.bind(this));\n };\n\n handleDrop = (index: number): void => {\n if (index !== this.state.dropStart) {\n moveItem(this.state.dropStart, this.props, this.setState.bind(this), index - this.state.dropStart);\n }\n };\n\n disableInput = (name: string, index: number): boolean => {\n return isTruthy(this.state?.rows?.[index]?.switch_checkbox) && name === 'values';\n };\n\n initCheckboxesForEachRow = (): void => {\n const checkboxes: boolean[] = [];\n this.state.rows.forEach((_, index) => {\n checkboxes[index] = false;\n });\n this.setState({ checkboxes: checkboxes });\n };\n\n checkAll = (check: boolean): void => {\n const rows = [...this.state.rows];\n const checkboxesRowToCopy: boolean[] = [];\n rows.forEach((_, index) => {\n checkboxesRowToCopy[index] = check;\n });\n this.setState({ checkboxes: checkboxesRowToCopy });\n };\n\n setCheckbox = (event: EventCheckbox): void => {\n const checkboxes = [...this.state.checkboxes];\n checkboxes[event.index] = event.isChecked;\n this.setState({ checkboxes });\n };\n\n openCopyModal = (): void => {\n this.setState({ openCopyPopup: true });\n };\n\n closeCopyModal = (val: boolean): void => {\n if (val) {\n this.addSelectedDataToSelected();\n }\n this.initCheckboxesForEachRow();\n this.setState({ openCopyPopup: false });\n };\n\n addSelectedDataToSelected = (): void => {\n if (this.functionSave) {\n const obj = this.getSaveData();\n const { isEmpty, action } = this.isActionTabEmpty(obj);\n if (isEmpty) {\n const triggerName = action[obj.activeMenu][obj.tab][obj.rowIndexToEdit].trigger[0];\n this.setState({ openRenameModal: true, triggerName: triggerName, renamedTriggerName: triggerName });\n return;\n }\n this.functionSave.saveData(obj);\n }\n };\n\n getSaveData = (): SaveDataObject => {\n return {\n checkboxesToCopy: this.state.checkboxes,\n copyToMenu: this.state.copyToMenu,\n activeMenu: this.props.data.state.activeMenu,\n tab: this.props.data.tab.value,\n rowIndexToEdit: this.props.data.rowIndexToEdit,\n newTriggerName: '',\n };\n };\n\n isMinOneItemChecked = (): void => {\n const isOneMenuSelected = !!this.props.data.state.copyDataObject.targetActionName;\n const { isEmpty } = this.isActionTabEmpty(this.getSaveData());\n\n if (isEmpty && isOneMenuSelected) {\n this.setState({ isValueOk: true });\n return;\n }\n const targetCheckboxes = this.props.data.state.copyDataObject.targetCheckboxes;\n\n if (!targetCheckboxes || !Object.keys(targetCheckboxes)?.length) {\n this.setState({ isValueOk: false });\n return;\n }\n\n this.setState({\n isValueOk: Object.keys(targetCheckboxes).some(item => targetCheckboxes[item]),\n });\n };\n functionSave: AppContentTabActionContentRowEditorCopyModalSelectedValues | null = null;\n\n setFunctionSave = (ref: AppContentTabActionContentRowEditorCopyModalSelectedValues): void => {\n this.functionSave = ref;\n };\n\n renameMenu = ({ value }: EventButton): void => {\n if (value) {\n if (!this.functionSave) {\n return;\n }\n const obj: SaveDataObject = this.getSaveData();\n obj.newTriggerName = this.state.renamedTriggerName;\n this.functionSave.saveData(obj);\n }\n this.setState({ openRenameModal: false });\n };\n\n private isActionTabEmpty(obj: SaveDataObject): { isEmpty: boolean; action: NativeData['action'] } {\n const action = this.props.data.state.native.data.action;\n const isEmpty = !action[obj.copyToMenu]?.[obj.tab].length;\n return { isEmpty, action };\n }\n\n render(): React.ReactNode {\n return (\n
    \n {this.state.openRenameModal ? (\n \n ) : null}\n \n this.updateData({ id, index, val }),\n openCopyModal: this.openCopyModal.bind(this),\n }}\n data={{\n ...this.props.data,\n isMinOneCheckboxChecked: this.state.isMinOneCheckboxChecked,\n }}\n />\n \n \n \n\n \n {this.state.rows\n ? this.state.rows.map((row, indexRow: number) => (\n this.handleDrop(indexRow)}\n onDragStart={event =>\n handleDragStart(\n indexRow,\n event,\n this.state.mouseOverNoneDraggable,\n this.setState.bind(this),\n )\n }\n onDragEnd={() => handleDragEnd(this.setState.bind(this))}\n onDragOver={event => handleDragOver(indexRow, event)}\n onDragEnter={() => handleDragEnter(indexRow, this.setState.bind(this))}\n onDragLeave={() => handleDragEnter(indexRow, this.setState.bind(this))}\n style={handleStyleDragOver(\n indexRow,\n this.state.dropOver,\n this.state.dropStart,\n )}\n >\n \n \n \n {row.IDs || row.IDs === '' ? (\n \n handleMouseOver(e)}\n onMouseLeave={e => handleMouseOut(e)}\n >\n \n \n this.setState({\n showSelectId: true,\n selectIdValue: row.IDs,\n indexID: indexRow,\n itemForID: 'IDs',\n })\n }\n />\n \n \n \n ) : null}\n {this.props.data.tab.entries.map((entry, i) =>\n !entry.checkbox && entry.name != 'IDs' && entry.name != 'trigger' ? (\n \n \n {entry.btnCircleAdd ? (\n \n this.props.callback.openHelperText({\n index: indexRow,\n entry: entry.name,\n subCard: this.props.data.tab.value,\n })\n }\n />\n ) : null}\n \n {entry.search ? (\n \n this.setState({\n showSelectId: true,\n selectIdValue: row[entry.name],\n indexID: indexRow,\n itemForID: entry.name,\n })\n }\n />\n ) : null}\n \n ) : entry.checkbox && entry.name != 'parse_mode' ? (\n \n \n this.updateData({ id, index, val: isChecked })\n }\n isChecked={isChecked(row[entry.name])}\n obj={true}\n />\n \n ) : null,\n )}\n \n \n ))\n : null}\n \n \n \n {this.state.showSelectId ? (\n this.setState({ showSelectId: false })}\n root={this.props.data.tab.searchRoot?.root}\n types={this.props.data.tab.searchRoot?.type ? this.props.data.tab.searchRoot.type : undefined}\n onOk={selected => {\n this.setState({ showSelectId: false });\n updateId(\n selected,\n this.props,\n this.state.indexID,\n this.setState.bind(this),\n this.state.itemForID,\n );\n }}\n />\n ) : null}\n {this.state.openCopyPopup ? (\n this.closeCopyModal(value as boolean)}\n >\n \n \n ) : null}\n
    \n );\n }\n}\n\nexport default AppContentTabActionContentRowEditor;\n", "import React, { Component } from 'react';\nimport Button from '../Button';\nimport type { ButtonSmallProps } from '@/types/app';\n\nclass BtnSmallRemove extends Component {\n render(): React.ReactNode {\n return (\n \n delete\n \n );\n }\n}\n\nexport default BtnSmallRemove;\n", "import { addNewRow, deleteRow } from '@/lib/actionUtils';\nimport BtnSmallAdd from '@components/btn-Input/btn-small-add';\nimport BtnSmallRemove from '@components/btn-Input/btn-small-remove';\nimport { TableCell } from '@mui/material';\nimport React, { Component } from 'react';\nimport type { AppContentTabActionContentRowEditorButtonsProps } from '@/types/props-types';\nimport type { EventButton } from '@/types/event';\n\ninterface AppContentTabActionContentRowEditorButtonsState {\n openCopyPopup: boolean;\n indexOfRowToCopyForModal: number;\n}\n\nclass AppContentTabActionContentRowEditorButtons extends Component<\n AppContentTabActionContentRowEditorButtonsProps,\n AppContentTabActionContentRowEditorButtonsState\n> {\n constructor(props: AppContentTabActionContentRowEditorButtonsProps) {\n super(props);\n this.state = {\n openCopyPopup: false,\n indexOfRowToCopyForModal: 0,\n };\n }\n\n render(): React.ReactNode {\n const { buttons } = this.props.data.tab.popupCard;\n const { indexRow, rows } = this.props.data;\n const { setStateEditor } = this.props.callback;\n return (\n <>\n {buttons.add ? (\n \n \n addNewRow(\n indexRow,\n this.props,\n setStateEditor,\n this.props.callback.setStateTabActionContent,\n )\n }\n index={indexRow}\n />\n \n ) : null}\n {buttons.remove ? (\n \n deleteRow(index, this.props, setStateEditor)}\n index={indexRow}\n disabled={rows.length == 1 ? 'disabled' : ''}\n />\n \n ) : null}\n \n );\n }\n}\n\nexport default AppContentTabActionContentRowEditorButtons;\n", "import React, { Component } from 'react';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport type { SelectProps } from '@/types/app';\n\nclass Select extends Component {\n onChangeHandler = (event: React.ChangeEvent | undefined): void => {\n if (!event) {\n return;\n }\n this.props.callback({ id: this.props.id, val: event.target.value });\n };\n\n render(): React.ReactNode {\n return (\n \n );\n }\n}\n\nexport default Select;\n", "import Select from '@components/btn-Input/select';\nimport type {\n CallbackFunctionsApp,\n CallbackTabActionContent,\n DataMainContent,\n DataTabActionContent,\n TabActionContentTableProps,\n Echart,\n Events,\n Get,\n HttpRequest,\n Pic,\n Set,\n} from '@/types/app';\nimport React, { Component } from 'react';\nimport AppContentTabActionContentRowEditorCopyModalSelectedValues from './AppContentTabActionContentRowEditorCopyModalSelectedValues';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport type { EventSelect } from '@/types/event';\n\nexport interface PropsRowEditorCopyModal {\n data: DataMainContent & TabActionContentTableProps & DataTabActionContent;\n callback: CallbackFunctionsApp &\n CallbackTabActionContent & {\n openHelperText: (value: any) => void;\n setStateRowEditor: (value: any) => void;\n setFunctionSave: (ref: AppContentTabActionContentRowEditorCopyModalSelectedValues) => void;\n };\n checkboxes: boolean[];\n}\ninterface State {\n selectedMenu: string;\n action: string;\n}\n\nclass AppContentTabActionContentRowEditorCopyModal extends Component {\n constructor(props: PropsRowEditorCopyModal) {\n super(props);\n this.state = {\n selectedMenu: '',\n action: '',\n };\n }\n\n componentDidMount(): void {\n this.setState({ action: this.props.data.tab.value });\n }\n\n getAllMenusWithoutActiveMenu(): string[] {\n return Object.keys(this.props.data.state.native.usersInGroup);\n }\n\n getValuesInSelectedAction(): Get[] | Set[] | Pic[] | HttpRequest[] | Echart[] | Events[] {\n return this.props.data.state.native.data.action?.[this.state.selectedMenu]?.[this.state.action] || [];\n }\n\n updateSelect = ({ val }: EventSelect): void => {\n this.setState({ selectedMenu: val });\n this.props.callback.setStateRowEditor({ copyToMenu: val });\n this.props.callback.setStateApp({ copyDataObject: { targetActionName: val } });\n };\n\n render(): React.ReactNode {\n return (\n
    \n
    \n {I18n.t('activeMenu')}: {this.props.data.state.activeMenu}\n

    {I18n.t('menuToCopy')}

    \n \n
    \n {this.state.action !== '' ? (\n \n ) : null}\n
    \n );\n }\n}\n\nexport default AppContentTabActionContentRowEditorCopyModal;\n", "import { deepCopy } from '@/lib/Utils';\nimport type { EventCheckbox } from '@/types/event';\nimport Checkbox from '@components/btn-Input/checkbox';\nimport { Table, TableBody, TableCell, TableHead, TableRow } from '@mui/material';\nimport type {\n CallbackFunctionsApp,\n Echart,\n Events,\n Get,\n HttpRequest,\n NativeData,\n Pic,\n Set,\n SetStateFunction,\n} from '@/types/app';\nimport React, { Component } from 'react';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport type { SaveDataObject } from '@/types/props-types';\n\ninterface Props {\n value: Get[] | Set[] | Pic[] | HttpRequest[] | Echart[] | Events[] | undefined;\n data: NativeData;\n callback: CallbackFunctionsApp & {\n setStateRowEditor: SetStateFunction;\n setFunctionSave: (ref: AppContentTabActionContentRowEditorCopyModalSelectedValues) => void;\n };\n}\ntype Rows = Get | Set | Pic | HttpRequest | Echart | Events;\n\ninterface State {\n checked: { [key: number]: boolean };\n isOK: boolean;\n}\n\nclass AppContentTabActionContentRowEditorCopyModalSelectedValues extends Component {\n constructor(props: Props) {\n super(props);\n this.state = {\n checked: {},\n isOK: false,\n };\n }\n\n valueMapping = {\n trigger: I18n.t('trigger'),\n values: I18n.t('values'),\n returnText: I18n.t('returnText'),\n ack: I18n.t('ack'),\n confirm: I18n.t('confirm'),\n switch_checkbox: I18n.t('switchCheckbox'),\n parse_mode: I18n.t('parseMode'),\n newline_checkbox: I18n.t('newlineCheckbox'),\n text: I18n.t('text'),\n IDs: I18n.t('ids'),\n url: I18n.t('url'),\n user: I18n.t('user'),\n password: I18n.t('password'),\n filename: I18n.t('filename'),\n delay: I18n.t('delay'),\n ID: I18n.t('id'),\n menu: I18n.t('menu'),\n condition: I18n.t('condition'),\n picSendDelay: I18n.t('picSendDelay'),\n };\n\n checkboxChecked = ({ isChecked, index }: EventCheckbox): void => {\n const copy = { ...this.state.checked };\n copy[index] = isChecked;\n this.setState({ checked: copy });\n this.props.callback.setStateRowEditor({ targetCheckboxes: this.state.checked });\n this.props.callback.setStateApp({ copyDataObject: { targetCheckboxes: copy } });\n };\n\n componentDidMount(): void {\n this.props.callback.setFunctionSave(this);\n }\n /* eslint-disable react/no-unused-class-component-methods */\n saveData = ({\n activeMenu,\n copyToMenu,\n tab,\n checkboxesToCopy,\n rowIndexToEdit,\n newTriggerName,\n }: SaveDataObject): void => {\n const addTrigger = !this.props.data.action[copyToMenu]?.[tab].length;\n const ob: NativeData | undefined = this.copySelectedRowsToMenu({\n addTrigger,\n activeMenu,\n tab,\n rowIndexToEdit,\n checkboxesToCopy,\n copyToMenu,\n newTriggerName,\n });\n if (!ob) {\n return;\n }\n this.props.callback.updateNative('data', ob);\n };\n\n copySelectedRowsToMenu({\n activeMenu,\n tab,\n rowIndexToEdit,\n checkboxesToCopy,\n copyToMenu,\n addTrigger,\n newTriggerName,\n }: {\n addTrigger: boolean;\n activeMenu: string;\n tab: string;\n rowIndexToEdit: number;\n checkboxesToCopy: boolean[];\n copyToMenu: string;\n newTriggerName: string;\n }): NativeData | undefined {\n const rowToCopy: Rows = this.props.data.action[activeMenu][tab][rowIndexToEdit];\n let copyData = deepCopy(this.props.data);\n if (!copyData) {\n return;\n }\n let emptyObject = false;\n if (copyData.action[copyToMenu][tab].length === 0) {\n emptyObject = true;\n }\n checkboxesToCopy.forEach((value, i) => {\n if (value) {\n if (emptyObject) {\n copyData = AppContentTabActionContentRowEditorCopyModalSelectedValues.saveToGlobalObject(\n rowToCopy,\n addTrigger,\n copyData as NativeData,\n copyToMenu,\n tab,\n 0,\n i,\n newTriggerName,\n );\n return copyData;\n }\n Object.keys(this.state.checked).forEach((key, copyToIndex) => {\n if (!this.state.checked[copyToIndex]) {\n return;\n }\n\n copyData = AppContentTabActionContentRowEditorCopyModalSelectedValues.saveToGlobalObject(\n rowToCopy,\n addTrigger,\n copyData as NativeData,\n copyToMenu,\n tab,\n copyToIndex,\n i,\n );\n });\n }\n });\n return copyData;\n }\n\n static saveToGlobalObject = (\n rowToCopy: Rows,\n addTrigger: boolean,\n copyData: NativeData,\n menuName: string,\n tabActionName: string,\n rowNumber: number,\n i: number,\n newTriggerName?: string,\n ): NativeData => {\n Object.keys(rowToCopy).forEach(rowParam => {\n if (rowParam === 'trigger' || rowParam === 'parse_mode') {\n if (addTrigger) {\n copyData = AppContentTabActionContentRowEditorCopyModalSelectedValues.setDataWhenNoTabLength({\n copyData,\n menuName,\n tabActionName,\n rowParam,\n rowToCopy,\n elInRow: 0,\n newTriggerName,\n });\n }\n return;\n }\n if (addTrigger) {\n copyData = AppContentTabActionContentRowEditorCopyModalSelectedValues.setDataWhenNoTabLength({\n copyData,\n menuName,\n tabActionName,\n rowParam,\n rowToCopy,\n elInRow: i,\n newTriggerName: '',\n });\n\n if (!copyData.action[menuName][tabActionName][rowNumber]?.[rowParam]) {\n copyData.action[menuName][tabActionName][rowNumber][rowParam] = [rowToCopy[rowParam][i]];\n return;\n }\n copyData.action[menuName][tabActionName][rowNumber][rowParam].push(rowToCopy[rowParam][i]);\n return;\n }\n copyData.action[menuName][tabActionName][rowNumber][rowParam].push(rowToCopy[rowParam][i]);\n });\n return copyData;\n };\n\n static setDataWhenNoTabLength = ({\n copyData,\n menuName,\n tabActionName,\n rowParam,\n rowToCopy,\n elInRow,\n newTriggerName,\n }: {\n copyData: NativeData;\n menuName: string;\n tabActionName: string;\n rowParam: string;\n rowToCopy: Rows;\n elInRow: number;\n newTriggerName: string | undefined;\n }): NativeData => {\n if (!copyData.action[menuName][tabActionName].length) {\n if (rowParam === 'trigger') {\n copyData.action[menuName][tabActionName].push({ [rowParam]: [newTriggerName] });\n return copyData;\n }\n copyData.action[menuName][tabActionName].push({ [rowParam]: [rowToCopy[rowParam][elInRow]] });\n }\n return copyData;\n };\n\n render(): React.ReactNode {\n return (\n <>\n \n \n \n \n {this.props.value?.[0]\n ? Object.keys(this.props.value[0]).map((item, index) => (\n \n {this.valueMapping[item] || item}\n \n ))\n : null}\n \n \n \n {this.props.value\n ? this.props.value.map((row: Rows, index: number) => (\n \n \n \n \n {Object.keys(row).map((val, i) => (\n \n {typeof row[val] === 'string'\n ? row[val]\n : row[val].map((entry: string | number | boolean, index) => {\n return (\n
    \n \n \n {entry}\n \n \n
    \n );\n })}\n \n ))}\n \n ))\n : null}\n \n \n \n );\n }\n}\n\nexport default AppContentTabActionContentRowEditorCopyModalSelectedValues;\n", "import { updateTrigger } from '@/lib/actionUtils.js';\nimport { isChecked } from '@/lib/Utils.js';\nimport type { EventButton, EventCheckbox, EventSelect } from '@/types/event';\nimport Button from '@components/Button';\nimport Checkbox from '@components/btn-Input/checkbox';\nimport Select from '@components/btn-Input/select';\nimport React, { Component } from 'react';\nimport type {\n CallbackFunctionsApp,\n CallbackTabActionContent,\n DataMainContent,\n DataTabActionContent,\n TabActionContentTableProps,\n} from '@/types/app';\nimport { I18n } from '@iobroker/adapter-react-v5';\n\nexport interface AppContentTabActionContentRowEditorInputAboveTableProps {\n data: DataMainContent & TabActionContentTableProps & DataTabActionContent & { isMinOneCheckboxChecked: boolean };\n\n callback: CallbackFunctionsApp &\n CallbackTabActionContent & { openHelperText: (value: any) => void } & {\n updateData: (obj: EventCheckbox) => void;\n openCopyModal: (obj: EventButton) => void;\n };\n}\n\nclass AppContentTabActionContentRowEditorInputAboveTable extends Component {\n constructor(props: AppContentTabActionContentRowEditorInputAboveTableProps) {\n super(props);\n this.state = {};\n }\n\n render(): React.ReactNode {\n const { newRow, newUnUsedTrigger } = this.props.data;\n return (\n
    \n \n content_copy\n {I18n.t('copy')}\n \n {newRow.trigger ? (\n
    \n \n updateTrigger({ trigger: val }, this.props, this.setState.bind(this))\n }\n callbackValue=\"event.target.value\"\n label=\"Trigger\"\n placeholder=\"Select a Trigger\"\n />\n
    \n ) : null}\n {newRow.parse_mode ? (\n
    \n \n
    \n ) : null}\n
    \n );\n }\n}\n\nexport default AppContentTabActionContentRowEditorInputAboveTable;\n", "import { TableBody, TableCell, TableRow } from '@mui/material';\nimport type { PropsTableDndAction, RowForButton, StateTableDndAction } from '@/types/app.js';\nimport React, { Component } from 'react';\nimport type { DataRowAction, TabValueEntries } from '@/types/app';\nimport { ButtonCard } from '@components/popupCards/buttonCard';\nimport { deepCopy } from '@/lib/Utils';\nimport { getElementIcon } from '@/lib/actionUtils';\nimport { deleteRow, moveItem } from '@/lib/button';\nimport {\n handleDragEnd,\n handleDragEnter,\n handleDragOver,\n handleDragStart,\n handleMouseOut,\n handleMouseOver,\n handleStyleDragOver,\n} from '@/lib/dragNDrop';\nimport type { EventButton } from '@/types/event';\nimport SubTable from './AppContentTabActionContentTableSubTable.js';\n\nclass TableDndAction extends Component {\n constructor(props: PropsTableDndAction) {\n super(props);\n this.state = {\n dropStart: 0,\n dropEnd: 0,\n dropOver: 0,\n rows: [],\n mouseOverNoneDraggable: false,\n };\n }\n\n static createData(entriesOfParentComponent: TabValueEntries[], element: DataRowAction): RowForButton {\n const obj: RowForButton = {} as RowForButton;\n entriesOfParentComponent.forEach(entry => {\n obj[entry.name] = element[entry.name];\n });\n return obj;\n }\n\n getRows = (): void => {\n const { activeMenu, native } = this.props.data.state;\n const action = native.data.action;\n\n if (!action) {\n return;\n }\n const elements = action[activeMenu][this.props.data.tab.value] as DataRowAction[];\n\n const rows: RowForButton[] = [];\n if (elements === undefined) {\n return;\n }\n for (const entry of elements) {\n rows.push(TableDndAction.createData(this.props.data.tab.entries, entry));\n }\n this.setState({ rows: rows });\n };\n\n componentDidUpdate(prevProps: Readonly): void {\n const { activeMenu, native } = this.props.data.state;\n if (prevProps.data.state.activeMenu !== activeMenu) {\n this.getRows();\n TableDndAction.updateHeight();\n }\n if (prevProps.data.state.native.data.action !== native.data.action) {\n this.getRows();\n }\n }\n\n static updateHeight = (): void => {\n // Diese Funktion setzt die H\u00F6he der Tabelle auf die H\u00F6he des dar\u00FCber liegenden Td Tags da es herk\u00F6mmlich anscheinen nicht funktioniert\n const tBodies = Array.from(document.getElementsByClassName('dynamicHeight')) as HTMLTableSectionElement[];\n const tds = Array.from(document.getElementsByClassName('tdWithHeightForSubTable')) as HTMLTableCellElement[];\n // Setzen Sie die H\u00F6he auf 'auto', bevor Sie die H\u00F6he neu berechnen\n tBodies.forEach((tbody: HTMLTableSectionElement) => {\n tbody.style.height = 'auto';\n });\n const offset = 0;\n\n if (tds.length > 0) {\n tds.forEach((td: HTMLTableCellElement, index: number) => {\n if (td && tBodies[index]) {\n if (tBodies[index].offsetHeight < td.offsetHeight) {\n tBodies[index].style.height = `${td.offsetHeight + offset}px`;\n }\n }\n });\n }\n };\n\n componentDidMount(): void {\n this.getRows();\n window.addEventListener('resize', TableDndAction.updateHeight);\n setTimeout(() => {\n TableDndAction.updateHeight();\n }, 100);\n }\n\n static componentWillUnmount(): void {\n window.removeEventListener('resize', TableDndAction.updateHeight);\n }\n\n handleDrop = (index: number, event: React.DragEvent | undefined): void => {\n let currentElement = event?.target as HTMLElement;\n while (currentElement) {\n if (currentElement.tagName === 'TR' && !currentElement.classList.contains('SubTable')) {\n if (currentElement.classList.contains('draggingDropBox')) {\n return;\n }\n }\n currentElement = currentElement.parentElement as HTMLElement;\n }\n if (index !== this.state.dropStart) {\n moveItem({\n index: this.state.dropStart,\n card: this.props.data.card,\n subCard: this.props.data.tab.value,\n upDown: index - this.state.dropStart,\n activeMenu: this.props.data.state.activeMenu,\n data: this.props.data.state.native.data,\n updateNative: this.props.callback.updateNative,\n });\n }\n };\n //TODO\n editRow = ({ index }: EventButton): void => {\n const { activeMenu } = this.props.data.state;\n const { data } = this.props.data.state.native;\n const { setStateTabActionContent } = this.props.callback;\n const dataCopy = deepCopy(data);\n if (!dataCopy) {\n return;\n }\n const newRow = dataCopy[this.props.data.card][activeMenu][this.props.data.tab.value][index];\n console.log(newRow);\n if (newRow.trigger) {\n this.props.callback.addEditedTrigger(newRow.trigger[0]);\n }\n setStateTabActionContent({ newRow: newRow, editRow: true, rowPopup: true, rowIndexToEdit: index });\n };\n\n // deleteRow = (index: number): void => {\n // const { activeMenu } = this.props.data.state;\n // const { updateNative } = this.props.callback;\n // deleteRow({\n // index,\n // activeMenu,\n // card: this.props.data.card,\n // data: this.props.data.state.native.data,\n // updateNative,\n // subCard: this.props.data.tab.value,\n // });\n // };\n\n render(): React.ReactNode {\n return (\n \n {this.state.rows.map((row, index) => (\n this.handleDrop(index, event)}\n onDragStart={event => {\n handleDragStart(\n index,\n event,\n this.state.mouseOverNoneDraggable,\n this.setState.bind(this),\n { draggingRowIndex: index },\n this.props.callback.setStateApp,\n );\n }}\n onDragEnd={() => handleDragEnd(this.setState.bind(this), this.props.callback.setStateApp)}\n onDragOver={event => handleDragOver(index, event)}\n onDragEnter={() => handleDragEnter(index, this.setState.bind(this))}\n style={handleStyleDragOver(index, this.state.dropOver, this.state.dropStart)}\n >\n {row.trigger ? (\n \n handleMouseOver(e)}\n onMouseLeave={e => handleMouseOut(e)}\n >\n {row.trigger}\n \n \n ) : null}\n {this.props.data.tab.entries.map((entry, indexEntry) =>\n entry.name != 'trigger' && entry.name != 'parse_mode' ? (\n \n \n \n ) : null,\n )}\n {row.parse_mode ? (\n \n handleMouseOver(e)}\n onMouseLeave={e => handleMouseOut(e)}\n >\n {getElementIcon(row.parse_mode[0])}\n \n \n ) : null}\n {}}\n moveUp={() => {}}\n deleteRow={({ index }: EventButton) =>\n deleteRow({\n index,\n activeMenu: this.props.data.state.activeMenu,\n card: this.props.data.card,\n subCard: this.props.data.tab.value,\n updateNative: this.props.callback.updateNative,\n data: this.props.data.state.native.data,\n })\n }\n rows={this.state.rows}\n index={index}\n showButtons={this.props.data.showButtons}\n />\n \n ))}\n \n );\n }\n}\n\nexport default TableDndAction;\n", "import React from 'react';\nimport { TableCell } from '@mui/material';\nimport BtnSmallAdd from '../btn-Input/btn-small-add';\nimport BtnSmallEdit from '../btn-Input/btn-small-edit';\nimport BtnSmallUp from '../btn-Input/btn-small-up';\nimport BtnSmallDown from '../btn-Input/btn-small-down';\nimport BtnSmallRemove from '../btn-Input/btn-small-remove';\nimport type { PropsButtonCard } from '@/types/props-types';\n\nexport const ButtonCard = (props: PropsButtonCard): React.JSX.Element => {\n return (\n <>\n {props.showButtons && props.showButtons.add ? (\n \n \n \n ) : null}\n\n {props.showButtons && props.showButtons.edit ? (\n \n \n \n ) : null}\n {props.showButtons && props.showButtons.moveUp ? (\n \n \n \n ) : null}\n {props.showButtons && props.showButtons.moveDown ? (\n \n \n \n ) : null}\n {props.showButtons && props.showButtons.remove ? (\n \n {!props.notShowDelete ? (\n \n ) : null}\n \n ) : null}\n \n );\n};\n", "import React, { Component } from 'react';\nimport Button from '../Button';\nimport type { ButtonSmallProps } from '@/types/app';\n\nclass BtnSmallEdit extends Component {\n render(): React.ReactNode {\n return (\n \n edit\n \n );\n }\n}\n\nexport default BtnSmallEdit;\n", "import React, { Component } from 'react';\nimport Button from '../Button';\nimport type { ButtonSmallProps } from '@/types/app';\n\nclass BtnSmallUp extends Component {\n render(): React.ReactNode {\n return (\n \n arrow_upward\n \n );\n }\n}\n\nexport default BtnSmallUp;\n", "import React, { Component } from 'react';\nimport Button from '../Button';\nimport type { ButtonSmallProps } from '@/types/app';\n\nclass BtnSmallDown extends Component {\n render(): React.ReactNode {\n return (\n \n arrow_downward\n \n );\n }\n}\n\nexport default BtnSmallDown;\n", "import { deepCopy } from '@/lib/Utils';\nimport type { NativeData, UpdateNativeFunction } from '@/types/app';\n\nfunction getUserArray(\n data: NativeData,\n card: string,\n subCard: string | undefined,\n activeMenu: string,\n index: number,\n): {\n userArray: string[];\n element: string;\n dataCopy: NativeData | undefined;\n} {\n const dataCopy = deepCopy(data);\n\n let userArray: string[];\n\n if (subCard) {\n userArray = dataCopy?.[card][activeMenu][subCard];\n } else {\n userArray = dataCopy?.[card][activeMenu];\n }\n\n const element = userArray[index];\n userArray.splice(index, 1);\n return { userArray, element, dataCopy };\n}\n\nexport const moveItem = ({\n index,\n data,\n card,\n subCard,\n activeMenu,\n updateNative,\n upDown,\n newPositionIndex,\n}: {\n newPositionIndex?: number;\n upDown: number;\n updateNative: UpdateNativeFunction;\n activeMenu: string;\n index: number;\n data: NativeData;\n card: string;\n subCard?: string;\n}): void => {\n const { element, userArray, dataCopy } = getUserArray(data, card, subCard, activeMenu, index);\n\n if (upDown) {\n userArray.splice(index + upDown, 0, element);\n }\n if (newPositionIndex) {\n userArray.splice(newPositionIndex, 0, element);\n }\n if (subCard && dataCopy) {\n dataCopy[card][activeMenu][subCard] = userArray;\n } else if (dataCopy) {\n dataCopy[card][activeMenu] = userArray;\n }\n updateNative('data', dataCopy);\n};\n\nexport const moveDown = ({\n index,\n data,\n card,\n subCard,\n activeMenu,\n updateNative,\n upDown,\n}: {\n upDown: number;\n updateNative: UpdateNativeFunction;\n activeMenu: string;\n index: number;\n data: NativeData;\n card: string;\n subCard?: string;\n}): void => {\n const { element, userArray, dataCopy } = getUserArray(data, card, subCard, activeMenu, index);\n userArray.splice(index + upDown, 0, element);\n if (subCard && dataCopy) {\n dataCopy[card][activeMenu][subCard] = userArray;\n } else if (dataCopy) {\n dataCopy[card][activeMenu] = userArray;\n }\n updateNative('data', dataCopy);\n};\n\nexport const moveUp = ({\n index,\n data,\n card,\n subCard,\n activeMenu,\n updateNative,\n}: {\n updateNative: UpdateNativeFunction;\n activeMenu: string;\n index: number;\n data: NativeData;\n card: string;\n subCard?: string;\n}): void => {\n const { element, userArray, dataCopy } = getUserArray(data, card, subCard, activeMenu, index);\n\n userArray.splice(index - 1, 0, element);\n if (subCard && dataCopy) {\n dataCopy[card][activeMenu][subCard] = userArray;\n } else if (dataCopy) {\n dataCopy[card][activeMenu] = userArray;\n }\n updateNative('data', dataCopy);\n};\n\nexport const deleteRow = ({\n index,\n data,\n card,\n subCard,\n activeMenu,\n updateNative,\n}: {\n updateNative: UpdateNativeFunction;\n activeMenu: string;\n index: number;\n data: NativeData;\n card: string;\n subCard?: string;\n}): void => {\n const { userArray, dataCopy } = getUserArray(data, card, subCard, activeMenu, index);\n\n if (subCard && dataCopy) {\n dataCopy[card][activeMenu][subCard] = userArray;\n } else if (dataCopy) {\n dataCopy[card][activeMenu] = userArray;\n }\n updateNative('data', dataCopy);\n};\n", "import React, { Component } from 'react';\nimport { Table, TableBody, TableCell, TableRow } from '@mui/material';\nimport { handleMouseOut, handleMouseOver } from '@/lib/dragNDrop';\nimport { getElementIcon } from '@/lib/actionUtils';\nimport type { PropsSubTable } from '@/types/app.js';\n\nclass SubTable extends Component {\n render(): React.ReactNode {\n return (\n \n \n {this.props.data\n ? this.props.data.map((element, index) => (\n \n \n handleMouseOver(e)}\n onMouseLeave={e => handleMouseOut(e)}\n >\n {this.props.name != 'values'\n ? getElementIcon(element, this.props.entry)\n : element}\n \n \n \n ))\n : null}\n \n
    \n );\n }\n}\n\nexport default SubTable;\n", "import { tabValues } from '@/config/entries';\nimport { TabList } from '@mui/lab';\nimport { Box, Tab } from '@mui/material';\nimport React, { Component } from 'react';\nimport type { CallbackFunctionsApp } from '@/types/app';\ninterface PropsTabActionTabs {\n callback: CallbackFunctionsApp;\n setState: (obj) => void;\n}\n\nclass TabActionTabs extends Component {\n constructor(props: PropsTabActionTabs) {\n super(props);\n this.state = {};\n }\n\n handleChange = (event: React.SyntheticEvent, newValue: string): void => {\n if (this.props.callback.setStateApp) {\n this.props.callback.setStateApp({ subTab: newValue });\n }\n this.props.setState({ value: newValue });\n };\n\n render(): React.ReactNode {\n return (\n \n \n {tabValues.map((tab, index) => {\n return (\n \n );\n })}\n \n \n );\n }\n}\n\nexport default TabActionTabs;\n", "import React, { Component } from 'react';\nimport { Table, TableContainer, Paper } from '@mui/material';\nimport TableNavBody from '@/pages/AppContentTabNavigationTableBody';\nimport TabNavHeader from '@/pages/AppContentTabNavigationTableHeader';\nimport TableNavEditRow from '@/pages/AppContentTabNavigationTableRowEditor';\nimport TableNavHelper from '@/pages/AppContentTabNavigationTableHelper';\n\nimport { deepCopy } from '@/lib/Utils.js';\nimport type { RowsNav, PropsTabNavigation, StateTabNavigation } from '@/types/app';\nimport type { EventButton } from '@/types/event';\n\nclass TabNavigation extends Component {\n constructor(props: PropsTabNavigation) {\n super(props);\n this.state = {\n rowPopup: false,\n rowIndex: 0,\n editRow: false,\n valuesAreOk: false,\n callInUse: false,\n helperTextFor: '',\n editedValueFromHelperText: null,\n isOK: false,\n helperText: false,\n newRow: {} as RowsNav,\n nav: '',\n call: '',\n text: '',\n };\n }\n componentDidUpdate(prevProps: Readonly, prevState: Readonly): void {\n if (prevState.editedValueFromHelperText !== this.state.editedValueFromHelperText) {\n if (this.state.editedValueFromHelperText !== null && this.state.editedValueFromHelperText !== undefined) {\n if (this.state.editedValueFromHelperText !== '') {\n this.setState({ isOK: this.checkNewValueIsOK() });\n }\n }\n }\n if (prevState.newRow !== this.state.newRow) {\n this.checkValueAlreadyUsed();\n }\n }\n\n checkValueAlreadyUsed = (): void => {\n // Row.call darf ab jetzt leer oder auch nur ein - sein um es zu deaktivieren. Das Value darf ab jetzt auch leer sein.\n if (this.state.newRow.text !== '') {\n if (this.state.editRow) {\n this.setState({ valuesAreOk: true });\n } else if (\n this.props.data.state.usedTrigger.includes(this.state.newRow.call) ||\n this.state.newRow.call.startsWith('menu')\n ) {\n this.setState({ valuesAreOk: false });\n } else {\n this.setState({ valuesAreOk: true });\n }\n } else {\n this.setState({ valuesAreOk: false });\n }\n if (this.state.newRow.call !== '') {\n if (this.state.editRow) {\n this.setState({ callInUse: false });\n } else if (\n this.props.data.state.usedTrigger.includes(this.state.newRow.call) ||\n this.state.newRow.call.startsWith('menu')\n ) {\n this.setState({ callInUse: true });\n } else {\n this.setState({ callInUse: false });\n }\n }\n };\n\n checkNewValueIsOK = (): boolean => {\n return (\n this.state.editedValueFromHelperText !== null &&\n this.state.editedValueFromHelperText !== undefined &&\n this.state.editedValueFromHelperText !== '' &&\n this.state.editedValueFromHelperText !== this.state[this.state.helperTextFor]\n );\n };\n\n popupRowCard = ({ value }: EventButton): void => {\n if (!value) {\n this.setState({ rowPopup: false, editRow: false });\n return;\n }\n const dataCopy = JSON.parse(JSON.stringify(this.props.data.state.native.data));\n const navUserArray = dataCopy.nav[this.props.data.state.activeMenu];\n if (this.state.editRow) {\n navUserArray.splice(this.state.rowIndex, 1, this.state.newRow);\n } else {\n navUserArray.splice(this.state.rowIndex + 1, 0, this.state.newRow);\n }\n dataCopy.nav[this.props.data.state.activeMenu] = navUserArray;\n this.props.callback.updateNative('data', dataCopy);\n this.setState({ rowPopup: false, editRow: false });\n };\n\n openAddRowCard = ({ index }: EventButton): void => {\n if (index) {\n this.setState({ rowIndex: index });\n }\n const obj = {} as RowsNav;\n this.props.data.entries.forEach(entry => {\n obj[entry.name] = entry.val;\n });\n this.setState({ newRow: obj, rowPopup: true });\n };\n\n popupHelperCard = ({ value }: EventButton): void => {\n if (value) {\n const copyNewRow = deepCopy(this.state.newRow);\n if (!copyNewRow) {\n return;\n }\n const name = this.state.helperTextFor;\n copyNewRow[name] = this.state.editedValueFromHelperText;\n this.setState({ newRow: copyNewRow });\n }\n this.setState({ helperText: false, editedValueFromHelperText: null });\n };\n render(): React.ReactNode {\n return (\n <>\n \n \n \n \n \n \n {this.state.rowPopup ? (\n \n ) : null}\n {this.state.helperText ? (\n \n ) : null}\n \n );\n }\n}\nexport default TabNavigation;\n", "import { TableBody, TableCell, TableRow } from '@mui/material';\nimport React, { Component } from 'react';\nimport { ButtonCard } from '@/components/popupCards/buttonCard.js';\nimport { getElementIcon } from '@/lib/actionUtils.js';\nimport { deleteRow, moveItem } from '@/lib/button.js';\nimport {\n handleDragEnd,\n handleDragEnter,\n handleDraggable,\n handleDragOver,\n handleDragStart,\n handleMouseOut,\n handleMouseOver,\n handleStyleDragOver,\n} from '@/lib/dragNDrop.js';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport type { NavData, PropsTableDndNav, RowForButton, RowsNav, StateTableDndNav, TabValueEntries } from '@/types/app';\nimport type { EventButton } from '@/types/event';\n\nfunction createData(entriesOfParentComponent: TabValueEntries[], element: RowsNav): RowForButton {\n const obj: RowForButton = {} as RowForButton;\n entriesOfParentComponent.forEach(entry => {\n obj[entry.name] = element[entry.name];\n });\n return obj;\n}\n\nclass TableDndNav extends Component {\n constructor(props: PropsTableDndNav) {\n super(props);\n this.state = {\n dropStart: 0,\n dropEnd: 0,\n dropOver: 0,\n mouseOverNoneDraggable: false,\n rows: [],\n };\n }\n\n getRows(nav: NavData | undefined, activeMenu: string | undefined): void {\n if (!nav || !activeMenu) {\n return;\n }\n\n const elements = nav[activeMenu];\n const rows: RowForButton[] = [];\n if (!elements) {\n return;\n }\n for (const entry of elements) {\n rows.push(createData(this.props.data.entries, entry));\n }\n this.setState({ rows: rows });\n }\n componentDidMount(): void {\n const { native, activeMenu } = this.props.data.state;\n if (native.data.nav) {\n this.getRows(native.data.nav, activeMenu);\n }\n }\n\n componentDidUpdate(prevProps: Readonly): void {\n const { native, activeMenu } = this.props.data.state;\n const { nav } = native.data;\n if (prevProps.data.state.activeMenu !== activeMenu || prevProps.data.state.native.data.nav !== nav) {\n this.getRows(native.data.nav, activeMenu);\n }\n }\n\n handleDrop = (event: React.DragEvent, index: number): void => {\n let currentElement = event.target as HTMLElement;\n while (currentElement) {\n if (currentElement.tagName === 'TR') {\n if (currentElement.classList.contains('draggingDropBox')) {\n return;\n }\n }\n currentElement = currentElement.parentElement as HTMLElement;\n }\n if (index !== this.state.dropStart && index != 0) {\n moveItem({\n index: this.state.dropStart,\n card: this.props.card,\n upDown: index - this.state.dropStart,\n data: this.props.data.state.native.data,\n activeMenu: this.props.data.state.activeMenu,\n updateNative: this.props.callback.updateNative,\n });\n }\n };\n\n editRow = ({ index }: EventButton): void => {\n const { native, activeMenu } = this.props.data.state;\n\n if (native.data.nav && activeMenu) {\n const rowToEdit = native.data.nav[activeMenu][index];\n this.props.setState({ newRow: rowToEdit });\n }\n this.props.setState({ rowPopup: true });\n this.props.setState({ rowIndex: index });\n this.props.setState({ editRow: true });\n };\n\n render(): React.ReactNode {\n return (\n \n {this.state.rows.map((row, indexRow) => (\n this.handleDrop(event, indexRow)}\n onDragStart={event =>\n handleDragStart(\n indexRow,\n event,\n this.state.mouseOverNoneDraggable,\n this.setState.bind(this),\n { draggingRowIndex: indexRow },\n this.props.callback.setStateApp,\n )\n }\n onDragEnd={() => handleDragEnd(this.setState.bind(this), this.props.callback.setStateApp)}\n onDragOver={event => handleDragOver(indexRow, event)}\n onDragEnter={() => handleDragEnter(indexRow, this.setState.bind(this))}\n style={handleStyleDragOver(indexRow, this.state.dropOver, this.state.dropStart)}\n >\n {this.props.data.entries.map((entry, indexCell) => (\n \n handleMouseOver(e)}\n onMouseLeave={indexRow == 0 ? undefined : e => handleMouseOut(e)}\n >\n {getElementIcon(row[entry.name])}{' '}\n \n {indexRow === 0 && (row.call === '' || row.call === '-') ? (\n {I18n.t('isSubmenu')}\n ) : null}\n \n \n \n ))}\n\n {}}\n moveUp={() => {}}\n deleteRow={() =>\n deleteRow({\n index: indexRow,\n card: this.props.card,\n activeMenu: this.props.data.state.activeMenu,\n data: this.props.data.state.native.data,\n updateNative: this.props.callback.setStateApp,\n })\n }\n rows={this.state.rows}\n index={indexRow}\n showButtons={this.props.showButtons}\n notShowDelete={indexRow == 0}\n />\n \n ))}\n \n );\n }\n}\n\nexport default TableDndNav;\n", "import React, { Component } from 'react';\nimport { TableHead, TableCell, TableRow } from '@mui/material';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport type { PropsTableNavHeader } from '@/types/props-types';\n\nclass TabNavHeader extends Component {\n constructor(props: PropsTableNavHeader) {\n super(props);\n this.state = {};\n }\n\n render(): React.ReactNode {\n return (\n \n \n {this.props.entries.map((entry, index) => (\n \n {I18n.t(entry.headline)}\n \n ))}\n\n \n \n \n \n \n );\n }\n}\n\nexport default TabNavHeader;\n", "import React, { Component } from 'react';\nimport Input from '@/components/btn-Input/input';\nimport { BtnCircleAdd } from '@components/btn-Input/btn-circle-add';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport Checkbox from '@/components/btn-Input/checkbox';\nimport { isChecked } from '@/lib/Utils';\nimport type { PropsRowNavCard } from '@/types/app';\n\nclass AppContentTabNavigationTableRowEditorCard extends Component {\n constructor(props: PropsRowNavCard) {\n super(props);\n this.state = {};\n }\n\n render(): React.ReactNode {\n return (\n
    \n {this.props.entries.map((entry, i) =>\n !(entry.name == 'value') && !(entry.name == 'text') && !entry.checkbox ? (\n \n ) : entry.name == 'value' || entry.name == 'text' ? (\n \n this.props.openHelperText(entry.name)} />\n \n ) : (\n \n ),\n )}\n
    \n );\n }\n}\n\nexport default AppContentTabNavigationTableRowEditorCard;\n", "import PopupContainer from '@/components/popupCards/PopupContainer';\nimport AppContentTabNavigationTableRowEditorCard from '@/pages/AppContentTabNavigationTableRowEditorCard';\nimport React, { Component } from 'react';\n\nimport { deepCopy } from '@/lib/Utils.js';\nimport type { ChangeInputNav } from '@/types/app';\nimport type { PropsTableNavEditRow } from '@/types/props-types';\nimport type { EventCheckbox } from '@/types/event';\n\nclass TableNavEditRow extends Component {\n constructor(props: PropsTableNavEditRow) {\n super(props);\n this.state = {};\n }\n\n changeInput = ({ val, id }: ChangeInputNav): void => {\n const copyNewRow = deepCopy(this.props.state.newRow);\n if (!copyNewRow) {\n return;\n }\n if (id) {\n copyNewRow[id] = val.toString();\n }\n this.props.setState({ newRow: copyNewRow });\n };\n changeCheckbox = ({ isChecked, id }: EventCheckbox): void => {\n const copyNewRow = deepCopy(this.props.state.newRow);\n if (!copyNewRow) {\n return;\n }\n if (id) {\n copyNewRow[id] = isChecked.toString();\n }\n this.props.setState({ newRow: copyNewRow });\n };\n\n openHelperText = (value: string): void => {\n if (value) {\n this.props.setState({ editedValueFromHelperText: this.props.state.newRow[value] });\n this.props.setState({ helperTextFor: value });\n }\n\n this.props.setState({ helperText: true });\n };\n\n render(): React.ReactNode {\n return (\n \n \n \n );\n }\n}\n\nexport default TableNavEditRow;\n", "import HelperCard from '@/components/popupCards/HelperCard';\nimport PopupContainer from '@/components/popupCards/PopupContainer';\nimport React, { Component } from 'react';\nimport helperText from '@/config/helper.js';\nimport type { EventButton } from '@/types/event';\nimport type { PropsTableNavHelper } from '@/types/props-types';\n\nclass TableNavHelper extends Component {\n constructor(props: PropsTableNavHelper) {\n super(props);\n this.state = {};\n }\n onchangeValueFromHelper = ({ value }: EventButton): void => {\n if (this.props.state.editedValueFromHelperText === null) {\n this.props.setState({ editedValueFromHelperText: value });\n }\n\n this.props.setState({ editedValueFromHelperText: `${this.props.state.editedValueFromHelperText} ${value}` });\n };\n\n render(): React.ReactNode {\n return (\n \n \n \n );\n }\n}\n\nexport default TableNavHelper;\n", "import React, { Component } from 'react';\nimport Input from '@components/btn-Input/input';\nimport { Grid } from '@mui/material';\nimport Checkbox from '@components/btn-Input/checkbox';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport Select from '@components/btn-Input/select';\nimport type { PropsSettings } from '@/types/app';\nimport type { EventCheckbox, EventInput, EventSelect } from '@/types/event';\n\nclass Settings extends Component {\n constructor(props: PropsSettings) {\n super(props);\n this.state = {\n value: '/opt/iobroker/grafana/',\n options: ['One', 'Two', 'Three'],\n };\n }\n onClickCheckbox = ({ isChecked, id }: EventCheckbox): void => {\n const checkbox = { ...this.props.data.state.native.checkbox };\n checkbox[id] = isChecked;\n this.props.callback.updateNative('checkbox', checkbox);\n };\n\n componentDidMount(): void {\n if (!this.props.data.state.native.checkbox.sendMenuAfterRestart) {\n const checkbox = { ...this.props.data.state.native.checkbox };\n checkbox.sendMenuAfterRestart = true;\n this.props.callback.updateNative('checkbox', checkbox);\n }\n }\n\n render(): React.ReactNode {\n return (\n
    \n

    {I18n.t('settings')}

    \n \n \n this.props.callback.updateNative(id, val)}\n setNative={true}\n />\n \n \n this.props.callback.updateNative(id, val)}\n id=\"textNoEntry\"\n value={this.props.data.state.native.textNoEntry || I18n.t('entryNotFound')}\n />\n \n \n this.props.callback.updateNative(id, val)}\n id=\"tokenGrafana\"\n value={this.props.data.state.native.tokenGrafana || ''}\n />\n \n \n this.props.callback.updateNative(id, val)}\n id=\"directory\"\n value={this.props.data.state.native.directory || '/opt/iobroker/grafana/'}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n );\n }\n}\n\nexport default Settings;\n", "import { navEntries } from '@/config/entries';\nimport TabAction from '@/pages/AppContentTabAction';\nimport TabNavigation from '@/pages/AppContentTabNavigation';\nimport Settings from '@/pages/AppContentTabSettings';\nimport { TabPanel } from '@mui/lab';\nimport React, { Component } from 'react';\nimport type { PropsMainTabs } from '@/types/props-types';\n\nclass Tabs extends Component {\n constructor(props: PropsMainTabs) {\n super(props);\n this.state = {};\n }\n\n render(): React.ReactNode {\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n );\n }\n}\n\nexport default Tabs;\n", "import React, { Component } from 'react';\nimport { Tab, Box } from '@mui/material';\nimport { TabList } from '@mui/lab';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport type { PropsMainTabList, TabListingType } from '@/types/app';\n\nclass TabListing extends Component {\n constructor(props: PropsMainTabList) {\n super(props);\n this.state = {};\n }\n handleChange = (event: React.SyntheticEvent, val: string): void => {\n this.props.callback.setStateApp({ tab: val });\n };\n\n tabs: TabListingType[] = [\n {\n label: 'navigation',\n value: 'nav',\n },\n {\n label: 'action',\n value: 'action',\n },\n {\n label: 'settings',\n value: 'settings',\n },\n ];\n render(): React.ReactNode {\n return (\n \n \n Test\n {this.tabs.map(tab => (\n \n ))}\n \n \n );\n }\n}\n\nexport default TabListing;\n", "import AppContentHeader from '@/pages/AppContentHeader';\nimport AppContentTab from '@/pages/AppContentTab';\nimport AppContentTabsListing from '@/pages/AppContentTabsListing';\nimport { TabContext } from '@mui/lab';\nimport { Box, Grid } from '@mui/material';\nimport type { PropsMainContent } from '@/types/app';\nimport React, { Component } from 'react';\n\nclass AppContent extends Component {\n constructor(props: PropsMainContent) {\n super(props);\n this.state = {};\n }\n\n render(): React.ReactNode {\n return (\n \n \n \n \n \n \n \n \n \n );\n }\n}\n\nexport default AppContent;\n", "import React, { Component } from 'react';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport type { PropsMainDoubleTriggerInfo } from '@/types/app';\n\nclass DoubleTriggerInfo extends Component {\n constructor(props: PropsMainDoubleTriggerInfo) {\n super(props);\n this.state = {};\n }\n\n render(): React.ReactNode {\n return (\n
    \n

    {I18n.t('doubleTrigger')}

    \n {this.props.state.doubleTrigger.map((element, index) => (\n \n {element}\n

    \n ))}\n
    \n );\n }\n}\n\nexport default DoubleTriggerInfo;\n", "import React, { Component } from 'react';\nimport PopupContainer from '@/components/popupCards/PopupContainer';\nimport DropBox from '@/pages/AppDropBoxContent';\nimport { onDragStart, onDragEnd, onDragOver, onDrop, onDrag, onMouseEnter, onMouseLeave } from '@/lib/movePosition';\nimport type { PropsMainDropBox } from '@/types/app';\n\nclass MainDropBox extends Component {\n constructor(props: PropsMainDropBox) {\n super(props);\n this.state = {};\n }\n closeDropBox = (): void => {\n this.props.callback.setStateApp({ showDropBox: false });\n };\n\n render(): React.ReactNode {\n return (\n \n \n \n );\n }\n}\n\nexport default MainDropBox;\n", "import React, { Component } from 'react';\nimport Select from '@/components/btn-Input/select';\nimport { Radio } from '@mui/material';\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport { updateTriggerForSelect } from '@/lib/actionUtils';\nimport { deepCopy } from '@/lib/Utils';\nimport PopupContainer from '@/components/popupCards/PopupContainer';\nimport RenameCard from '@/components/popupCards/RenameCard';\nimport type { DataRow, NativeData, PropsDropBox, StateDropBox } from '@/types/app';\nimport type { EventButton, EventSelect } from '@/types/event';\n\nclass DropBox extends Component {\n constructor(props: PropsDropBox) {\n super(props);\n this.state = {\n inDropBox: false,\n menuList: [],\n selectedMenu: '',\n selectedValue: 'move',\n openRenamePopup: false,\n trigger: '',\n newTrigger: '',\n usedTrigger: [],\n rowToWorkWith: {} as DataRow,\n isOK: false,\n oldTrigger: '',\n };\n }\n componentDidMount(): void {\n this.updateMenuList();\n }\n componentDidUpdate(prevProps: Readonly, prevState: Readonly): void {\n if (prevProps.data.state.activeMenu !== this.props.data.state.activeMenu) {\n this.setState({ selectedMenu: '' });\n this.updateMenuList();\n }\n if (prevState.newTrigger !== this.state.newTrigger) {\n if (this.state.usedTrigger) {\n if (\n this.state.usedTrigger.includes(this.state.newTrigger) ||\n this.state.newTrigger === '' ||\n this.state.newTrigger === this.state.oldTrigger\n ) {\n this.setState({ isOK: false });\n } else {\n this.setState({ isOK: true });\n }\n } else {\n this.setState({ isOK: true });\n }\n }\n }\n updateMenuList = (): void => {\n const menuList = Object.keys(this.props.data.state.native.usersInGroup);\n this.setState({ menuList: menuList });\n };\n\n static handleDragOver = (e: React.DragEvent): void => {\n e.preventDefault();\n };\n\n handleOnDrop = (): void => {\n if (this.state.selectedMenu === '') {\n return;\n }\n const data = deepCopy(this.props.data.state.native.data);\n if (!data) {\n return;\n }\n let rowToWorkWith: DataRow = {} as DataRow;\n const moveOrCopy = this.state.selectedValue;\n\n if (this.state.newTrigger === '' && !(this.props.data.state.subTab === 'events')) {\n if (this.props.data.state.tab === 'action') {\n rowToWorkWith =\n this.props.data.state.native.data[this.props.data.state.tab][this.props.data.state.activeMenu][\n this.props.data.state.subTab\n ][this.props.index];\n } else {\n rowToWorkWith =\n this.props.data.state.native.data[this.props.data.state.tab][this.props.data.state.activeMenu][\n this.props.index\n ];\n }\n this.setState({ rowToWorkWith: rowToWorkWith });\n const usedTrigger = updateTriggerForSelect(\n data,\n this.props.data.state.native?.usersInGroup,\n this.state.selectedMenu,\n )?.usedTrigger;\n\n this.setState({ usedTrigger: usedTrigger || [] });\n if (this.props.data.state.tab === 'action' && 'trigger' in rowToWorkWith) {\n if (moveOrCopy === 'copy') {\n if (rowToWorkWith.trigger && usedTrigger?.includes(rowToWorkWith.trigger[0])) {\n this.setState({\n trigger: rowToWorkWith.trigger[0],\n newTrigger: rowToWorkWith.trigger[0],\n openRenamePopup: true,\n oldTrigger: rowToWorkWith.trigger[0],\n });\n }\n } else {\n // Move Item\n const items = DropBox.countItemsInArray(usedTrigger, rowToWorkWith.trigger[0]);\n if (items && items <= 1) {\n this.setState({ trigger: rowToWorkWith.trigger[0], newTrigger: rowToWorkWith.trigger[0] });\n this.move(rowToWorkWith, data);\n } else {\n this.setState({\n trigger: rowToWorkWith.trigger[0],\n newTrigger: rowToWorkWith.trigger[0],\n openRenamePopup: true,\n oldTrigger: rowToWorkWith.trigger[0],\n });\n }\n }\n } else {\n // Navigation\n if (moveOrCopy === 'copy' && 'call' in rowToWorkWith) {\n if (usedTrigger?.includes(rowToWorkWith.call)) {\n this.setState({\n trigger: rowToWorkWith.call,\n newTrigger: rowToWorkWith.call,\n openRenamePopup: true,\n oldTrigger: rowToWorkWith.call,\n });\n }\n } else if ('call' in rowToWorkWith) {\n // Move Item\n const items = DropBox.countItemsInArray(usedTrigger, rowToWorkWith.call);\n if (items && items <= 1) {\n this.setState({ trigger: rowToWorkWith.call, newTrigger: rowToWorkWith.call });\n this.move(rowToWorkWith, data);\n } else {\n this.setState({\n trigger: rowToWorkWith.call,\n newTrigger: rowToWorkWith.call,\n openRenamePopup: true,\n oldTrigger: rowToWorkWith.call,\n });\n }\n }\n }\n } else {\n if (this.props.data.state.subTab === 'events') {\n rowToWorkWith =\n this.props.data.state.native.data[this.props.data.state.tab][this.props.data.state.activeMenu][\n this.props.data.state.subTab\n ][this.props.index];\n } else if (!rowToWorkWith) {\n rowToWorkWith = this.state.rowToWorkWith;\n }\n\n if (moveOrCopy === 'copy') {\n this.copy(rowToWorkWith, data);\n } else {\n this.move(rowToWorkWith, data);\n }\n }\n };\n\n static countItemsInArray = (data: string[] | undefined, searchedString: string): number | undefined => {\n let count = 0;\n if (!data) {\n return;\n }\n data.forEach(element => {\n if (element.trim() === searchedString.trim()) {\n count++;\n }\n });\n\n return count;\n };\n\n move = (rowToWorkWith: DataRow, data: NativeData): void => {\n if (this.props.data.state.tab === 'action' && this.props.data.state.subTab !== 'events') {\n if (this.state.newTrigger !== '' && 'trigger' in rowToWorkWith) {\n rowToWorkWith.trigger[0] = this.state.newTrigger;\n }\n\n // Wenn es das erste Element ist, dann muss das Array erstellt werden\n if (!data[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab]) {\n data[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab] = [];\n }\n\n data[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab].push(rowToWorkWith);\n data[this.props.data.state.tab][this.props.data.state.activeMenu][this.props.data.state.subTab].splice(\n this.props.index,\n 1,\n );\n } else if (this.props.data.state.subTab == 'events') {\n // Events besonders da kein Trigger vorhanden ist\n if (!data[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab]) {\n data[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab] = [];\n }\n data[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab].push(rowToWorkWith);\n data[this.props.data.state.tab][this.props.data.state.activeMenu][this.props.data.state.subTab].splice(\n this.props.index,\n 1,\n );\n } else {\n if (this.state.newTrigger !== '' && 'call' in rowToWorkWith) {\n rowToWorkWith.call = this.state.newTrigger;\n }\n data[this.props.data.state.tab][this.state.selectedMenu].push(rowToWorkWith);\n data[this.props.data.state.tab][this.props.data.state.activeMenu].splice(this.props.index, 1);\n }\n this.props.callback.updateNative('data', data);\n this.setState({ newTrigger: '' });\n };\n copy = (rowToWorkWith: DataRow, data: NativeData): void => {\n if (\n this.props.data.state.tab === 'action' &&\n this.props.data.state.subTab !== 'events' &&\n 'trigger' in rowToWorkWith\n ) {\n rowToWorkWith.trigger[0] = this.state.newTrigger;\n data[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab].push(rowToWorkWith);\n } else if (this.props.data.state.subTab == 'events') {\n data[this.props.data.state.tab][this.state.selectedMenu][this.props.data.state.subTab].push(rowToWorkWith);\n } else if ('call' in rowToWorkWith) {\n rowToWorkWith.call = this.state.newTrigger;\n data[this.props.data.state.tab][this.state.selectedMenu].push(rowToWorkWith);\n }\n this.props.callback.updateNative('data', data);\n this.setState({ newTrigger: '' });\n };\n\n handleDrag = (val: boolean): void => {\n this.setState({ inDropBox: val });\n };\n handleChange = (event: React.ChangeEvent): void => {\n this.setState({ selectedValue: event.target.value });\n };\n renameMenu = ({ value }: EventButton): void => {\n if (!value) {\n this.setState({ openRenamePopup: false, newTrigger: '' });\n return;\n }\n if (value) {\n this.setState({ openRenamePopup: false });\n this.handleOnDrop();\n\n return;\n }\n this.setState({ newTrigger: value as string });\n };\n render(): React.ReactNode {\n return (\n
    \n
    \n

    {this.state.isOK}

    \n this.setState({ selectedMenu: val })}\n placeholder={I18n.t('selectTargetMenu')}\n >\n \n \n this.handleOnDrop()}\n onDragOver={(event: React.DragEvent) => DropBox.handleDragOver(event)}\n onDragEnter={() => this.handleDrag(true)}\n onDragLeave={() => this.handleDrag(false)}\n >\n

    Drop here!!!

    \n

    {I18n.t('selectAMenuDropBox')}

    \n
    \n
    \n {this.state.openRenamePopup ? (\n
    \n \n \n \n
    \n ) : null}\n
    \n );\n }\n}\n\nexport default DropBox;\n", "import React, { Component } from 'react';\nimport { Logo } from '@iobroker/adapter-react-v5';\nimport { Grid } from '@mui/material';\nimport type { PropsHeaderIconBar } from '@/types/app';\n\nclass AppHeaderIconBar extends Component {\n constructor(props: PropsHeaderIconBar) {\n super(props);\n }\n\n render(): React.ReactNode {\n return (\n \n
    \n this.setState({ errorText: text })}\n onLoad={this.props.onLoad}\n />\n \n \n );\n }\n}\n\nexport default AppHeaderIconBar;\n", "import React, { Component } from 'react';\nimport PopupContainer from '@/components/popupCards/PopupContainer';\nimport TriggerOverview from '@/pages/AppTriggerOverviewContent';\nimport type { PropsMainTriggerOverview } from '@/types/app';\nimport type { EventButton } from '@/types/event';\n\nclass MainTriggerOverview extends Component {\n constructor(props: PropsMainTriggerOverview) {\n super(props);\n this.state = {};\n }\n\n render(): React.ReactNode {\n return (\n this.props.callback.setState({ showTriggerInfo: value })}\n >\n \n \n );\n }\n}\n\nexport default MainTriggerOverview;\n", "import { I18n } from '@iobroker/adapter-react-v5';\nimport type { MenuWithUser, PropsTriggerOverview, StateTriggerOverview } from '@/types/app.js';\nimport React, { Component } from 'react';\nimport Select from '../components/btn-Input/select.js';\nimport { deepCopy, deleteDoubleEntriesInArray } from '@/lib/Utils';\nimport { updateTriggerForSelect } from '@/lib/actionUtils';\nimport { colors } from '@/lib/color';\nimport Square from './AppTriggerOverviewContentSquare.js';\nimport type { EventSelect } from '@/types/event';\n\nclass TriggerOverview extends Component {\n constructor(props: PropsTriggerOverview) {\n super(props);\n this.state = {\n ulPadding: {},\n trigger: null,\n selected: '',\n options: [],\n };\n }\n\n dataOfIterate = { menu: '' };\n ulPadding = {};\n colorArray: { color: string; menu: string; index: number }[] = [];\n menuArray: string[] = [];\n\n getMenusWithUserOrIndexOfMenu(menuCall: string): { menusWithUser: MenuWithUser[]; arrayUsersInGroup: string[] } {\n const arrayUsersInGroup = Object.keys(this.props.usersInGroup);\n const menusWithUser: MenuWithUser[] = [];\n const userInMenu = this.props.usersInGroup[menuCall];\n arrayUsersInGroup.forEach((menu, index) => {\n userInMenu.forEach(user => {\n if (this.props.usersInGroup[menu].includes(user)) {\n menusWithUser.push({ menu: menu, index: index });\n }\n });\n });\n\n return { menusWithUser: menusWithUser, arrayUsersInGroup: arrayUsersInGroup };\n }\n\n getIndexOfMenu(menuCall: string): number {\n const arrayUsersInGroup = Object.keys(this.props.usersInGroup);\n let colorIndex = 0;\n const userInMenu = this.props.usersInGroup[menuCall];\n arrayUsersInGroup.forEach((menu, index) => {\n userInMenu.forEach(user => {\n if (this.props.usersInGroup[menu].includes(user) && menu == menuCall) {\n colorIndex = index;\n }\n });\n });\n return colorIndex;\n }\n\n getColorUsedTriggerNav({\n menuCall,\n trigger,\n }: {\n index: number;\n menuCall: string;\n trigger: string;\n }): { color: string; menu: string; index: number | null; used?: string }[] | undefined {\n this.menuArray = [];\n const result = this.getMenusWithUserOrIndexOfMenu(menuCall);\n const menusWithUser = deleteDoubleEntriesInArray(result.menusWithUser);\n this.colorArray = [];\n\n for (const menu of menusWithUser) {\n if (!this.ulPadding[menuCall]) {\n this.ulPadding[menuCall] = 0;\n }\n\n if (\n this.state.trigger?.everyTrigger[menu.menu] &&\n this.state.trigger?.everyTrigger[menu.menu].includes(trigger)\n ) {\n for (let key = 0; key < result.arrayUsersInGroup.length; key++) {\n if (result.arrayUsersInGroup[key] === menu.menu) {\n if (!this.menuArray.includes(menu.menu)) {\n this.menuArray.push(menu.menu);\n }\n this.colorArray.push({ color: colors[menu.index], menu: menu.menu, index: key });\n if (this.ulPadding[menuCall] < (this.colorArray.length - 4) * 11 + 15) {\n this.ulPadding[menuCall] = (this.colorArray.length - 4) * 11 + 15;\n }\n }\n }\n }\n }\n if (this.colorArray.length !== 0) {\n return this.colorArray;\n }\n if (trigger == '-' && this.ulPadding[menuCall] != 37) {\n this.ulPadding[menuCall] = 10;\n } else if (this.ulPadding[menuCall] < 37) {\n this.ulPadding[menuCall] = 37;\n }\n return [{ color: 'white', menu: 'Is not assigned ', index: null, used: I18n.t('not created') }];\n }\n\n getColorNavElemente(index: number, menu: string, trigger: string): undefined | string {\n const arrayUsersInGroup = Object.keys(this.props.usersInGroup);\n const result = this.getMenusWithUserOrIndexOfMenu(menu);\n\n const menusWithUser = result.menusWithUser;\n // Jedes Men\u00FC durchlaufen das zu dem User oder den Usern geh\u00F6rt in dem das Item ist\n let menu2 = '';\n for (const menuObj of menusWithUser) {\n menu2 = menuObj.menu;\n // Die Trigger durchlaufen die in dem Men\u00FC in nav sind\n if (\n this.state.trigger?.usedTrigger.nav[menu2] &&\n this.state.trigger?.usedTrigger.nav[menu2].includes(trigger)\n ) {\n // Dann ermitteln welchen key das menu hat\n for (let key = 0; key < arrayUsersInGroup.length; key++) {\n if (arrayUsersInGroup[key] === menu2) {\n this.dataOfIterate.menu = menu2;\n\n return colors[key];\n }\n }\n } else {\n // Wenn es nicht in Nav ist muss es in Action sein, ansonsten ist der Trigger unbenutzt\n for (const action in this.state.trigger?.usedTrigger.action[menu2]) {\n if (this.state.trigger.usedTrigger.action[menu2][action].includes(trigger)) {\n for (let key = 0; key < arrayUsersInGroup.length; key++) {\n if (arrayUsersInGroup[key] === menu2) {\n this.dataOfIterate.menu = menu2;\n\n return colors[key];\n }\n }\n }\n }\n }\n }\n\n if (!this.ulPadding[menu]) {\n this.ulPadding[menu] = 0;\n }\n if (this.ulPadding[menu] < 37) {\n this.ulPadding[menu] = 37;\n }\n return 'black';\n }\n\n getMenu(): string {\n return this.dataOfIterate.menu;\n }\n\n createdData(menu: string): void {\n const result = updateTriggerForSelect(this.props.data, this.props.usersInGroup, menu);\n this.setState({ trigger: deepCopy(result?.triggerObj) });\n }\n\n getOptions(): void {\n const options: string[] = [];\n for (const menu in this.props.data.nav) {\n if (this.props.data.nav[menu][0].call != '-') {\n options.push(menu);\n }\n }\n this.setState({ options: options, selected: options[0] });\n this.createdData(options[0]);\n }\n\n componentDidMount(): void {\n this.getOptions();\n this.setState({ ulPadding: this.ulPadding });\n }\n\n componentDidUpdate(prevProps: Readonly, prevState: Readonly): void {\n if (prevState.trigger != this.state.trigger) {\n this.setState({ ulPadding: this.ulPadding });\n }\n }\n\n updateHandler = ({ val }: EventSelect): void => {\n this.setState({ selected: val });\n this.createdData(val);\n };\n\n render(): React.ReactNode {\n return (\n <>\n \n {this.state.trigger ? (\n
    \n
    \n

    {I18n.t('unusedTrigger')}

    \n
      \n {this.state.trigger.unUsedTrigger.map((trigger, index) => {\n return (\n \n \n
    • {trigger}
    • \n
    \n );\n })}\n \n
    \n {Object.keys(this.state.trigger.usedTrigger.action).map((menu, indexUsedTrigger) => {\n return (\n \n \n
    \n

    \n {this.state.trigger?.usedTrigger.nav[menu][0] == '-'\n ? 'submenu'\n : 'startSide'}\n

    \n {this.props.userActiveCheckbox[menu] ? (\n {I18n.t('Active')}\n ) : (\n {I18n.t('Inactive')}\n )}\n
    \n

    \n {I18n.t('setMenu')}: {menu}\n

    \n
    \n \n

    {I18n.t('userList')}

    \n {this.props.usersInGroup[menu].map((user, indexUser) => {\n return

    {user}

    ;\n })}\n